Componentes de texto estructurado: Instrucciones

Las instrucciones de texto estructurado también pueden ser instrucciones. Una instrucción de texto estructurado se ejecuta cada vez que se escanea. Una instrucción de texto estructurado dentro de una construcción se ejecuta cada vez que las condiciones de la construcción son verdaderas. Si las condiciones de la construcción son falsas, no se escanean las instrucciones dentro de la construcción. No hay condición de renglón ni transición de estado que desencadene la ejecución.
Esto es distinto a las instrucciones del bloque de funciones que usan EnableIn para desencadenar la ejecución. Las instrucciones de texto estructurado se ejecutan como si EnableIn siempre estuviese establecido.
Esto también es distinto de las instrucciones de diagrama de escalera que usan condición de entrada de renglón para desencadenar la ejecución. Algunas instrucciones de diagrama de escalera solo se ejecutan cuando el valor de la condición de entrada de renglón cambia de falso a verdadero. Se trata de las instrucciones de diagrama de escalera de transición. En el texto estructurado, las instrucciones se ejecutarán al escanearse, salvo que precondicione la ejecución del texto estructurado.
Por ejemplo, la instrucción ABL es una instrucción de transición en el diagrama de escalera. En este ejemplo, la instrucción ABL solo se ejecuta en un escaneado cuando tag_xic pasa de tener su valor borrado a establecido. La instrucción ABL no se ejecuta cuando el valor de tag_xic se mantiene establecido o se borra.
RSL5K_Structured Text Instructions_v31
En el texto estructurado, si escribe este ejemplo como:
IF tag_xic THEN ABL(0,serial_control);
END_IF;
La instrucción ABL se ejecutará cada escaneado en el que tag_xic esté establecido, no solo cuando pase de tener su valor borrado a establecido.
Si quiere que la instrucción ABL solo se ejecute cuando tag_xic pase de tener su valor borrado a establecido, debe condicionar la instrucciones de texto estructurado. Utilice un impulso para desencadenar la ejecución.
osri_1.InputBit := tag_xic;
OSRI(osri_1);
IF (osri_1.OutputBit) THEN
ABL(0,serial_control);
END_IF;
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal