Acceso parcial a variables
La expresión cumple con la norma IEC 61131-3.
Para variables IEC de tipo de datos BYTE, WORD, DWORD o LWORD (tipo de datos ANY, ANY_<tipo> ), es posible el acceso parcial a las variables.
Sintaxis:
<nombre de la variable>. % <tipo parcial> <índice parcial>
Se permite un espacio después del operador de punto (.). No se permiten espacios después del signo de porcentaje (%) y después del tipo parcial.
| <nombre de la variable> | Nombre del  | 
| <tipo parcial> | 
 
 
 
 
 El acceso a los  El acceso a los  | 
| <índice parcial> | De 0 al máximo del índice | 
Para más información, ver:
Uso
El acceso parcial solo se puede utilizar para variables no temporales (variables definidas por el usuario, campos, accesos a matrices o desreferenciación). Esto no está permitido para resultados temporales o literales.
La expresión en sí no es temporal y puede usarse como expresión en REFERENCE TO o como un ADR operador.
// Implementation PartialVarB := GVL.Variable.%B0; PartialVarX := array[idx].%X0; PartialVarW := tempVariable.%W2; PartialVarD := ptr^.%D2; PartialVarB := variable.%W1.%B1
El acceso parcial no es posible en el caso de llamadas a funciones, expresiones de índice, literales o propiedades.
Ejemplo negativo:
FunctionCall().%B0 (1+index).%B0 (DWORD#16#12345678).%B0 Property.%B0
Índice máximo de tipos parciales.
El acceso parcial sólo es posible si la expresión llamada tiene un tipo conforme y el índice parcial es menor o igual que el índice parcial máximo. De lo contrario, se informa de un error del compilador.
| Tipo parcial | Tipo de acceso | Máximo de índice parcial | 
|---|---|---|
| 
 | ||
| 
 | 7 | |
| 
 | 15 | |
| 
 | 31 | |
| 
 | 63 | |
| 
 | ||
| 
 | 0 | |
| 
 | 1 | |
| 
 | 3 | |
| 
 | 7 | |
| 
 | ||
| 
 | No soportado | |
| 
 | 0 | |
| 
 | 1 | |
| 
 | 3 | |
| 
 | ||
| 
 | No soportado | |
| 
 | No soportado | |
| 
 | 0 | |
| 
 | 1 | |
| 
 | ||
| 
 | No soportado | |
| 
 | No soportado | |
| 
 | No soportado | |
| 
 | 0 | 
Expresión con acceso parcial
El tipo de expresión de acceso parcial depende sólo de <tipo parcial> y debe seleccionarse utilizando la siguiente tabla.
| Tipo parcial | Tipo de expresión | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
Direcciones
Se permite crear la dirección a partir de una expresión de acceso parcial de tipo parcial B, W, D, y L.
Es no permitido crear la dirección a partir de una expresión de acceso parcial de tipo parcial X.
Es no permitido asignar una expresión de acceso parcial de tipo BIT a un VAR_INOUT variable.
ADR(var%.B0) referenceVariable REF= var.%W1
Ejemplo negativo:
ADR(var.%X0) ref REF= var.%X0