IMC: Comparar bits de entrada con bits de una máscara (S7-300, S7-400) - STEP 7

SCL (S7-300, S7-400)

ft:publication_title
SCL (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
es-ES
IMC: Comparar bits de entrada con bits de una máscara

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*
(W#16#...)

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".