Descripción
La instrucción "Comparar bits de entrada con bits de una máscara" compara el estado lógico de hasta 16 bits de entrada programados (IN_BIT0 a IN_BIT15) con el bit correspondiente de una máscara. Es posible programar como máximo 16 pasos con máscaras. El valor del parámetro IN_BIT0 se compara con el valor de la máscara CMP_VAL[x,0], siendo "x" el número del paso. El número del paso de la máscara utilizada para la comparación se define en el parámetro CMP_STEP. De esta misma manera se comparan todos los valores programados. Los bits de entrada no programados o los bits no programados de la máscara tienen el estado lógico predeterminado FALSE.
Si se encuentra una correspondencia al realizar la comparación, el estado lógico del parámetro OUT se pone a "1". De lo contrario, el parámetro OUT se pone a "0".
Si el valor del parámetro CMP_STEP es mayor que 15, no se ejecuta la instrucción. En el parámetro ERR_CODE se emite un mensaje de error.
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".
Parámetros
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. |
|
CMP_STEP |
Input |
BYTE |
I, Q, M, D, L, P |
Número de paso de la máscara con la que se compara. |
|
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. |
|
ERR_CODE |
Output |
WORD |
I, Q, M, D, L, P |
Información de error |
|
CMP_VAL |
Static |
ARRAY OF BOOL |
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 |
|
000A |
El valor del parámetro CMP_STEP 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". |
|