Nota
Si el límite inferior del ARRAY de destino 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.
De esta forma es posible descomponer palabras de estado, además de leer y cambiar el estado
de los diferentes bits mediante el índice, por ejemplo. El uso de GATHER permite recomponer los
bits en una secuencia.
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 ARRAY de origen tiene menos elementos de los especificados en el parámetro COUNT_IN.
• El índice del ARRAY de destino no empieza en un límite de BYTE, WORD o DWORD. En este
caso no se escriben resultados en el ARRAY of BOOL.
• El ARRAY[*] of BOOL, STRUCT o tipo de datos PLC no proporciona el número necesario de
elementos.
– CPU S7-1500: en este caso se descomponen y escriben todas las secuencias de bits
– CPU S7-1200: no hay ninguna operación de copia.
Controlador programable S7-1200
Manual de sistema, V4.5 05/2021, A5E02486683-AO
posibles en el ARRAY of BOOL, el STRUCT anónimo o el tipo de datos PLC. Las secuencias
de bits restantes ya no se tienen en cuenta.
Instrucciones básicas
8.6 Transferencia
271