Instrucciones básicas
8.6 Transferencia
Nota
ARRAY of BOOL multidimensional
Si el ARRAY es un ARRAY of BOOL multidimensional, los bits de relleno de las dimensiones
contenidas también se cuentan aunque no se hayan declarado explícitamente.
Ejemplo 1: un ARRAY[1..10,0..4,1..2] of BOOL se trata como un ARRAY[1..10,0..4,1..8] of BOOL
o como un ARRAY[0..399] of BOOL.
Ejemplo 2: en el parámetro OUT se interconecta un ARRAY[0..5] of WORD (sourceArrayWord[2]).
El parámetro COUNT_IN tiene el valor "3". En el parámetro IN se interconecta un
ARRAY[0..1,0..5,0..7] of BOOL (destinationArrayBool[0,0,0]). Tanto el array del parámetro IN
como el del parámetro OUT tienen un tamaño de 96 bits. Se recomponen 48 bits individuales del
ARRAY of BOOL.
Nota
Si el límite inferior del ARRAY de origen no es "0", tenga en cuenta lo siguiente:
Por motivos de rendimiento, el índice debe empezar siempre en un límite de BYTE, WORD o
DWORD. Esto significa que el índice debe calcularse empezando por el límite inferior del ARRAY.
La fórmula siguiente se usa como base de cálculo:
Índices válidos = límite inferior de ARRAY + n(número de secuencias de bits) x número de bits de
las secuencias de bits deseadas
Para un ARRAY[-2..45] of BOOL y la secuencia de bits WORD, el cálculo es el siguiente:
• Índice válido (-2) = -2 + 0 × 16
• Índice válido (14) = -2 + 1 × 16
• Índice válido (30) = -2 + 2 × 16
Encontrará un ejemplo más adelante.
Nota
Disponibilidad de la instrucción
La instrucción puede utilizarse con una CPU de la serie S7-1200 a partir de la versión de
firmware > 4.2 y, con una CPU de la serie S7-1500, a partir de la versión de firmware 2.1.
La salida de habilitación ENO devuelve el estado lógico "0" si se cumple una de las siguientes
condiciones:
• La entrada de habilitación EN tiene el estado lógico "0".
• El índice del ARRAY de origen no empieza en un límite de BYTE, WORD o DWORD. En este caso
no se escriben resultados en el ARRAY of <secuencia de bits>.
• El ARRAY[*] of <secuencia de bits> no proporciona el número necesario de elementos.
– CPU S7-1500: en este caso se recomponen y escriben todas las secuencias de bits posibles
– CPU S7-1200: no hay ninguna operación de copia.
280
en el ARRAY of <secuencia de bits>. Los bits restantes dejan de tenerse en cuenta.
Controlador programable S7-1200
Manual de sistema, V4.5 05/2021, A5E02486683-AO