Banderas SFC
Las banderas SFC son variables creadas implícitamente con nombres predefinidos que proporcionan funciones para controlar y diagnosticar diagramas SFC. Estas banderas le permiten activar transiciones de forma selectiva.
Por ejemplo
Detectar tiempos de espera
Restablecer cadenas de pasos
Activar el modo paso a paso
Para acceder a estas variables, se deben declarar y activar las banderas correspondientes.
Nombre | Tipo de datos | Descripción |
|---|---|---|
|
|
|
|
| Se comporta de forma similar a En cambio, después de la inicialización, el paso inicial se sigue ejecutando. Por ejemplo, en el paso inicial puede volver a establecer inmediatamente la bandera |
|
| Pasa a ser Si después del primer tiempo de espera se produce otro en el programa, solo se detecta si la variable La declaración de |
|
| Se utiliza para la activación ( Si declara y activa esta variable (configuración de SFC), también debe establecerla en El requisito es la declaración de |
|
| Almacena el nombre del paso que ha provocado un tiempo de espera registrado por El nombre se conserva hasta que el error de paso registrado se restablece mediante El requisito es la declaración de |
|
| En caso de un tiempo de espera, almacena el nombre de la POU en la que se ha producido un tiempo de espera registrado por El requisito es la declaración de |
|
| Mientras esta variable booleana sea El requisito es la declaración de |
|
| Mientras esta variable sea |
|
| Pasa a ser |
|
| Muestra el nombre del paso activo en ese momento, independientemente de la comprobación de tiempo En el caso de una rama paralela, siempre se almacena el nombre del paso de la rama situada más a la derecha. |
|
|
Si activa el modo paso a paso estableciendo |
| Contiene una cadena de todas las variables que contribuyen al valor total
Para ello, Para obtener información sobre la configuración avanzada del análisis, consulte también: SFC | |
| Contiene una tabla de las variables que contribuyen al valor total
Para ello, Para obtener información sobre la configuración avanzada del análisis, consulte también: SFC |
Generación implícita de banderas SFC
Las banderas SFC se declaran automáticamente si ha activado la opción correspondiente. Puede ajustar esta opción en el diálogo de propiedades Configuración SFC para POU individuales o en el diálogo de configuración del proyecto SFC para todas las POU SFC del proyecto.
Sugerencia
La configuración de SFC de las banderas SFC de POU individuales solo es efectiva si no ha activado la opción Utilizar los valores predeterminados. Si ha activado esta opción, se aplica la configuración definida en la configuración del proyecto.
Sugerencia
Las banderas SFC que ha declarado en el diálogo de configuración de SFC solo son visibles en la vista en línea de la POU SFC.
Sugerencia
En el Propiedades de los elementos SFC puede definir si se debe exportar una definición de símbolo a la configuración de símbolos para una bandera.
Generación explícita de banderas SFC
Una declaración manual, como la que se requería anteriormente en CoDeSys V2.3, solo sigue siendo necesaria si debe haber acceso de escritura a las banderas desde otra POU. Tenga en cuenta lo siguiente al respecto:
Importante
Si las banderas se han declarado en una lista de variables globales, debe desactivar el ajuste Declarar en el diálogo de configuración de SFC. De lo contrario, también se crea implícitamente una bandera SFC local. En ese caso, se utiliza esta bandera en lugar de la variable global.
Ejemplo de aplicación para SFCError
Ha creado una POU SFC denominada sfc1, que contiene un paso s1. Ha definido límites de tiempo en las propiedades del paso.
Si la duración de actividad del paso s1 supera el límite definido en sus propiedades de tiempo, se establece la bandera SFCError. La aplicación puede evaluar esta bandera para reaccionar al tiempo de espera.
Para permitir este acceso, debe activar y declarar la bandera en la configuración de SFC. Si solo la declara, la bandera SFC se muestra en la parte de declaración de la vista en línea de sfc1, pero no funciona.

Ahora puede direccionar la bandera SFC dentro de la POU, por ejemplo en una acción (2), o desde fuera de la POU (1).

Vista en línea de la POU SFC sfc1:

SFCError pasa a ser TRUE en cuanto se produce un tiempo de espera dentro de sfc1.
Puede utilizar las banderas SFCErrorAnalyzation y SFCErrorAnalyzationTable de la biblioteca Analyzation para analizar la causa de un tiempo de espera. Estas banderas le permiten identificar los componentes individuales de la expresión que contribuyen a que SFCError obtenga el valor TRUE.
Acceso a las banderas
Sintaxis para el acceso
Dentro de la POU, asigne la bandera directamente: <variable name> := <sfc flag>
checkerror := SFCError;Desde otra POU con el nombre: <variable name> := <pou name>.<sfc flag>
checkerror := SFC_prog.SFCError;
Si necesita acceso de escritura desde otra POU, también debe declarar explícitamente la bandera SFC como variable VAR_INPUT en la POU SFC o globalmente en una GVL.
Declaración local
PROGRAM SFC_prog
VAR_INPUT
SFCInit : BOOL;
END_VARO declaración global en una lista de variables globales
VAR_GLOBAL
SFCInit : BOOL;
END_VARPROGRAM PLC_PRG
VAR
SetInit : BOOL;
END_VAR
SFC_prog.SFCInit := SetInit; //Write access to SFCInit in SFC_prog