Descripción
La instrucción "Barrido de matriz" compara el estado lógico de hasta 16 bits de entrada programados (IN_BIT0 a IN_BIT15) con los bits correspondientes de las máscaras de comparación de cada paso. La ejecución empieza por el paso 1 y continúa hasta el último paso programado (LAST) o hasta que se encuentre una correspondencia. El bit de entrada del parámetro IN_BIT0 se compara con el valor de la máscara CMP_VAL[x,0], siendo "x" el número de paso. De esta misma manera se comparan todos los valores programados. Si se encuentra una correspondencia, el estado lógico del parámetro OUT se pone a "1" y el número de paso se escribe con la máscara correspondiente en el parámetro OUT_STEP. Los bits de entrada no programados o los bits no programados de la máscara tienen el estado lógico predeterminado FALSE. Si varios pasos tienen una máscara equivalente, se indica solo la primera correspondencia encontrada en el parámetro OUT_STEP. Si no se encuentra ninguna correspondencia, el estado lógico del parámetro OUT se pone a "0". En este caso, el valor del parámetro OUT_STEP excede en "1" el valor del parámetro LAST.
Al insertar la instrucción en el programa, el cuadro de diálogo "Opciones de llamada" se abre automáticamente; en él se puede determinar si los parámetros de bloque de la instrucción se depositan en un bloque de datos propio (instancia individual) o bien como variable local (multiinstancia) en la interfaz del bloque. Si crea un bloque de datos propio, lo encontrará en el árbol del proyecto, en la carpeta "Recursos de programa", en "Bloques de programa > Bloques de sistema". Encontrará más información al respecto en "Consulte también".
Sintaxis
La tabla siguiente muestra los parámetros de la instrucción:
|
Parámetro |
Declaración |
Tipo de datos |
Área de memoria |
Descripción |
|---|---|---|---|---|
|
IN_BIT0 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 0 se compara con el bit 0 de la máscara. |
|
IN_BIT1 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 1 se compara con el bit 1 de la máscara. |
|
IN_BIT2 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 2 se compara con el bit 2 de la máscara. |
|
IN_BIT3 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 3 se compara con el bit 3 de la máscara. |
|
IN_BIT4 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 4 se compara con el bit 4 de la máscara. |
|
IN_BIT5 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 5 se compara con el bit 5 de la máscara. |
|
IN_BIT6 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 6 se compara con el bit 6 de la máscara. |
|
IN_BIT7 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 7 se compara con el bit 7 de la máscara. |
|
IN_BIT8 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 8 se compara con el bit 8 de la máscara. |
|
IN_BIT9 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 9 se compara con el bit 9 de la máscara. |
|
IN_BIT10 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 10 se compara con el bit 10 de la máscara. |
|
IN_BIT11 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 11 se compara con el bit 11 de la máscara. |
|
IN_BIT12 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 12 se compara con el bit 12 de la máscara. |
|
IN_BIT13 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 13 se compara con el bit 13 de la máscara. |
|
IN_BIT14 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 14 se compara con el bit 14 de la máscara. |
|
IN_BIT15 |
Input |
BOOL |
I, Q, M, D, L |
El bit de entrada 15 se compara con el bit 15 de la máscara. |
|
OUT |
Output |
BOOL |
I, Q, M, D, L |
El estado lógico "1" indica que se ha encontrado una correspondencia. El estado lógico "0" indica que no se ha encontrado ninguna correspondencia. |
|
OUT_STEP |
Output |
BYTE |
I, Q, M, D, L, P |
Contiene el número de paso con la máscara correspondiente o el número de paso que excede en "1" el valor del parámetro LAST, si no se ha encontrado ninguna correspondencia. |
|
ERR_CODE |
Output |
WORD |
I, Q, M, D, L, P |
Información de error |
|
LAST |
Static |
BYTE |
I, Q, M, D, L, P |
Indica el número del último paso en que se tiene que buscar una máscara correspondiente. |
|
CMP_VAL |
Static |
ARRAY OF WORD |
I, Q, M, D, L |
Máscaras de comparación [0 a 15, 0 a 15]: El primer número del índice es el número del paso y, el segundo, el número de bit de la máscara. |
Encontrará más información sobre los tipos de datos válidos en "Consulte también".
Los parámetros estáticos no son visibles al efectuar la llamada de la instrucción en el programa. Estos se almacenan en la instancia de la instrucción.
Parámetro ERR_CODE
La tabla siguiente muestra el significado de los valores del parámetro ERR_CODE:
|
Código de error* |
Explicación |
|---|---|
|
0000 |
Ningún error |
|
000E |
El valor del parámetro LAST es mayor que 15. |
|
*En el editor de programas, los códigos de error se pueden representar como valores enteros o hexadecimales. Encontrará más información sobre el cambio de los formatos de visualización en "Consulte también". |
|