SETI: Activar área por bytes (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
SETI: Activar área por bytes

Descripción

La instrucción "Activar área por bytes" pone a "1" el estado lógico de los bits de un área definida de bytes. El punto inicial del área se define en el parámetro S_BYTE. El tamaño del área se define indicando el número de bits que deben activarse en el parámetro N de la instrucción.

Nota

El valor del parámetro N debe ser un múltiplo de 8 (p. ej. 8, 16, 24, etc.).

El puntero indicado en el parámetro S_BYTE debe señalar al área de memoria de la periferia externa (P). Puesto que al área de memoria "P" se accede en formato de byte, palabra y palabra doble, el puntero del parámetro S_BYTE debe señalar a un operando equivalente a un valor límite de byte. Por tanto, el número de bit del puntero debe ser "0".

Nota

El estado lógico de los bits correspondientes en la memoria imagen de proceso de las salidas (Q) se pone a "0".

La llamada de la instrucción "Activar área por bytes" no tiene efecto alguno si se cumple una de las condiciones siguientes:

  • El puntero del parámetro S_BYTE no señala al área de memoria de la periferia externa (P).

  • El puntero del parámetro S_BYTE señala a un operando que no equivale a ningún valor límite de byte.

  • El valor del parámetro N no es un múltiplo de 8.

Parámetro

La tabla siguiente muestra los parámetros de la instrucción:

Parámetros

Declaración

Tipo de datos

Área de memoria

Descripción

S_BYTE

Input

POINTER

P

Señala al primer byte del área cuyos bits se activan.

En el direccionamiento indirecto por registro interárea, el puntero debe indicarse en formato de palabra doble.

N

Input

INT

I, Q, M, D, L, P

Tamaño del área que debe activarse

El área se indica mediante el número de bits como múltiplo de 8 (p. ej. 8, 16, 24, etc.).

Ejemplo

El siguiente ejemplo muestra el funcionamiento de la instrucción:

SCL Copia el código de programa siguiente en el portapapeles.

SETI(S_BYTE := byte_array[100],

     N := 16);

En el ejemplo, la instrucción activa 2 bytes (16 bits) en el área de 100.0 a 101.7 del área por bytes.