Elemento SFC: Acción
Símbolo:
Una acción incluye una o más declaraciones en uno de los lenguajes de implementación válidos. Puede asignar una acción a una Paso y Transición.
Las acciones que utiliza en los pasos de SFC deben crearse como POU en el proyecto.

Excepción: En el caso de las acciones IEC, que se añaden a un paso como asociación de acciones, también se puede especificar una variable booleana en lugar de un objeto de acción. El valor de estas variables se alterna entre FALSE
y TRUE
cada vez que se ejecuta la "acción".
Importante
Debe definir nombres de paso únicos dentro del ámbito de la POU principal. Una acción escrita en SFC no debe contener un paso con un nombre idéntico al del paso al que está asignada.
Existen "acciones IEC" y "acciones escalonadas".
Acciones de la IEC
Las acciones IEC cumplen con la norma IEC 61131-3. Se ejecutan según sus calificadores.
Las acciones IEC se ejecutan dos veces: la primera al activar el paso y la segunda al desactivarlo. Si se asignan varias acciones a un paso, la lista de acciones se procesa de arriba a abajo.
Cada cuadro de acción incluye el calificador en la primera columna y el nombre de la acción en la segunda. Ambos se pueden editar directamente.

Importante
Cuando la misma variable booleana global está asociada como una acción IEC en diferentes POU de SFC, puede producirse una sobrescritura no deseada.
A diferencia de las acciones de pasos, puedes utilizar diferentes calificadores Para acciones IEC. Además, cada acción IEC cuenta con un indicador de control. Esto dirige CODESYS Ejecutar una acción solo una vez en cualquier momento, incluso si la acción es llamada por otro paso simultáneamente. Esto no se puede garantizar para acciones de paso.
Haces clic
para asignar acciones IEC a un paso.Acciones Paso
Las acciones de Paso son acciones que puedes utilizar para ampliar el estándar IEC.
Acción de entrada:
CODESYS ejecuta esta acción después de que se activa el paso y antes de que se ejecute la acción principal.
Se hace referencia a una nueva acción, o a una acción creada debajo del objeto SFC, desde un paso mediante el Acción de entrada propiedad del elemento (2) También puede agregar una nueva acción al paso mediante el Agregar acción de entrada Comando. La acción de entrada está marcada con un
E
en la esquina inferior izquierda del cuadro de paso.Acción principal:
CODESYS Ejecuta esta acción cuando el paso está activo y ya se han procesado las acciones de entrada. Sin embargo, a diferencia de las acciones IEC (véase más arriba), estas acciones de paso no se ejecutan una segunda vez cuando el paso se desactiva. Además, no se pueden usar calificadores.
Para agregar una acción existente a un paso, utilice el Acción principal Propiedad del elemento (1). Puede crear y añadir una nueva acción haciendo clic en el elemento de paso. Una acción principal se marca con un triángulo relleno en la esquina superior derecha del cuadro de paso.
Acción de salida:
CODESYS Ejecuta esta acción una vez al desactivar el paso. Sin embargo, tenga en cuenta que la acción de salida no se ejecuta en el mismo ciclo, sino al inicio del siguiente.
Se hace referencia a una nueva acción, o a una acción creada debajo del objeto SFC, desde un paso mediante el Acción de salida Propiedad del elemento (3). También puede agregar una nueva acción al paso mediante la Insertar Acción de salida comando. La acción de salida está marcada con un
X
en la esquina inferior derecha del cuadro de paso.

Diferencia entre acciones IEC y acciones escalonadas
La principal diferencia entre las acciones de paso y las acciones IEC con calificador N es que una acción IEC siempre se ejecuta dos veces: al activar y desactivar el paso. Véase el siguiente ejemplo:

Has adjuntado el Action_SFC1
acción a la SFC1
Paso como acción de paso (izquierda) y como acción IEC con calificador N (derecha). Dado que se activan dos transiciones en cada caso, el tiempo para alcanzar el paso inicial es de dos ciclos de PLC. Esto es así siempre que iCounter
La variable de contador se inicializó en 0 y luego se incrementó en el Action_SFC1
acción. Después de la Init
el paso se reactiva, iCounter
En el ejemplo de la izquierda, se devuelve un valor de 1. En el ejemplo de la derecha, se devuelve un valor de 2 porque la acción IEC se ejecuta una segunda vez debido a la desactivación de SFC1
.
Otra diferencia: Las acciones de Paso pueden ser pseudoincrustadas. En este caso, solo se pueden llamar desde el paso relacionado. Si copia este paso, CODESYS Crea automáticamente nuevos objetos de acción y copia el código de implementación correspondiente. Se define si una acción de paso está "incrustada" o no, ya sea al insertar la primera acción en el paso o posteriormente. Duplicar al copiar Propiedad del elemento. En general, este comportamiento también se puede predefinir en las opciones de SFC.
Además, para las acciones IEC, se puede especificar una variable booleana en lugar de un objeto de acción. Esto no es posible para las acciones de paso.