Skip to main content

Banderas del SFC

Las banderas SFC son variables generadas implícitamente con nombres predefinidos. Puedes usarlas para influir en el procesamiento de un gráfico SFC. Puedes usarlas, por ejemplo, para mostrar tiempos de espera o reiniciar cadenas de pasos. Además, puedes activar el modo de desplazamiento para activar transiciones. Debes declarar y activar estas variables para acceder a ellas.

Banderas del SFC

Nombre

Tipo de datos

Descripción

SFCInit

BOOL

TRUE: CODESYS Restablece la secuencia al paso inicial. Las demás banderas del SFC también se restablecen (inicialización). Mientras la variable está TRUE El paso inicial permanece activo, pero sus acciones no se ejecutan. Solo cuando se configura SFCInit De nuevo a FALSE ¿El POU se procesa normalmente?

SFCReset

BOOL

Se comporta de manera similar a SFCInit

Sin embargo, CODESYS continúa el procesamiento después de la inicialización del paso inicial. Por ejemplo, en el paso inicial, podría reiniciar inmediatamente el SFCReset bandera a FALSE.

SFCError

BOOL

TRUE Si se produce un tiempo de espera en un gráfico SFC. Si se produce un segundo tiempo de espera en el programa, no se registra a menos que se restablezca previamente la variable. SFCError. La declaración de SFCError es un requisito para que otras variables de bandera funcionen para controlar la secuencia cronológica (Paso de error de SFCE, SFCErrorPOU, SFCQuitError).

SFCEnableLimit

BOOL

Se utiliza específicamente para activar (TRUE ) y desactivando (FALSE ) el control de tiempo de espera en pasos usando SFCError

Si declara y activa esta variable (configuración SFC), debe configurarla en TRUE para SFCError para funcionar. Si no lo hace, se ignoran los tiempos de espera. Esto es útil, por ejemplo, al iniciar o en la operación manual. Si no declara la variable, entonces SFCError funcionará automáticamente.

El requisito es la declaración de SFCError.

SFCErrorStep

STRING

Almacena el nombre del paso que provocó un tiempo de espera, que fue registrado por SFCError

El nombre se conserva hasta que se restablezca el error del paso registrado mediante SFCQuitError (FALSO -> VERDADERO).

El requisito es la declaración de SFCError.

SFCErrorPOU

STRING

Almacena el nombre del bloque en el que se produjo un tiempo de espera y fue registrado por SFCError El nombre se guarda hasta que se restablece el tiempo de espera. SFCQuitError.

El requisito es la declaración de SFCError.

SFCQuitError

BOOL

Mientras esta variable booleana sea TRUE, CODESYS pausa el procesamiento del gráfico SFC y cualquier tiempo de espera, guardado en la variable SFCError, se restablece. Si restablece la variable a FALSE, luego se restablecen todos los tiempos anteriores en los pasos activos.

El requisito es la declaración de SFCError.

SFCPause

BOOL

Mientras esta variable sea TRUE, CODESYS pausa el procesamiento del gráfico SFC.

SFCTrans

BOOL

TRUE cuando una transición está activa

SFCCurrentStep

STRING

Muestra el nombre del paso activo, independientemente del monitoreo del tiempo

En las ramas paralelas, siempre se almacena el nombre del paso de la rama más a la derecha.

,SFCTip

SFCTipMode

BOOL

Controla el "modo jogging" del bloque SFC

Si habilita esta bandera con SFCTipMode=TRUE, entonces puedes activar el siguiente paso solo configurando SFCTip a TRUE. Mientras SFCTipMode está configurado para FALSE Las transiciones también se pueden utilizar para continuar la activación.

,SFCErrorAnalyzation

Contiene como cadena todas las variables que contribuyen al valor total TRUE de SFCError (tiempo de espera en un paso)

SFCError Es necesario activarlo para ello.

SFCErrorAnalyzation utiliza implícitamente la función del POU AnalyzeExpression del Analyzation biblioteca.

,SFCErrorAnalyzationTable

Contiene en una tabla todas las variables que contribuyen al valor total TRUE de SFCError (tiempo de espera en un paso)

SFCError Es necesario activarlo para ello.

SFCErrorAnalyzationTable utiliza implícitamente la función del POU AnaylzeExpressionTable del Analyzation biblioteca.

Generación implícita de indicadores SFC

CODESYS Declara los indicadores SFC automáticamente al activar las opciones correspondientes. Puede configurar esta opción en el Configuración de SFC pestaña del cuadro de diálogo de propiedades para cada POU, o en el SFC Cuadro de diálogo de configuración del proyecto para cada POU SFC en el proyecto.

Sugerencia

Las configuraciones de SFC para los indicadores de SFC de POU individuales son efectivas solo si no ha seleccionado el Utilizar valores predeterminados Opción. Al seleccionar esta opción, se aplican las configuraciones definidas en la configuración del proyecto.

Sugerencia

Los indicadores SFC que declara en el cuadro de diálogo de configuración de SFC solo son visibles en la vista en línea del bloque SFC.

Generación explícita de indicadores SFC

Declaración manual, que era necesaria en CoDeSys V2.3 Ahora solo se requiere habilitar el acceso de escritura desde otro bloque. En este caso, tenga en cuenta que al declarar la bandera en una lista de variables globales, debe desactivarla. Declarar en el cuadro de diálogo de configuración de SFC. Si no lo hace, se declara implícitamente un indicador SFC local que... CODESYS utiliza en lugar de la variable global.

Ejemplos de aplicación para SFCError

ejemplo 2. Ejemplo

Has creado un bloque SFC llamado sfc1, que contiene el s1 paso. Ha definido tiempos de espera en las propiedades del paso. (Consulte "Vista en línea de sfc1 (SFC POU" a continuación.)

Si por alguna razón el s1 el paso permanece activo más tiempo del que sus propiedades de tiempo permiten (tiempo de espera), entonces CODESYS Establece el SFCError bandera para permitir el acceso de la aplicación.

Para permitir el acceso, debe declarar y activar el indicador SFC en la configuración de SFC. Si solo lo ha declarado, el indicador SFC solo se mostrará en la vista en línea de sfc1 en la parte de declaración, pero no tiene ninguna función.

_cds_img_sfc_sfc_flags.png

Ahora se puede referenciar la bandera SFC dentro del POU, por ejemplo en una acción (2) o fuera del bloque (1).

_cds_img_sfc_sfcerror_example.png

Vista en línea del bloque SFC sfc1

_cds_img_sfc_sfcerror_example_online.png

SFCError es TRUE Tan pronto como se produzca un tiempo de espera dentro de sfc2.

Tenga en cuenta que puede utilizar el SFCErrorAnalyzation y SFCErrorAnalyzationTable banderas (Analyzation biblioteca) para determinar los componentes de la expresión que contribuyen al valor TRUE del SFCError.



Acceso a las banderas

Sintaxis para el acceso

Asignas la bandera directamente dentro del POU: <variable name>:=<SFC flag>

ejemplo 3. Ejemplo

checkerror:=SFCerror;



Desde otro POU con nombre POU: <variable name>:=<POU name>.<SFC flag>

ejemplo 4. Ejemplo:

checkerror:=SFC_prog.SFCerror;



Si necesita acceso de escritura desde otro bloque, también debe declarar el indicador SFC explícitamente como una variable VAR_INPUT en el bloque SFC o globalmente en una GVL.

ejemplo 5. Ejemplo

Declaración local

PROGRAM SFC_prog
VAR_INPUT
  SFCinit:BOOL;
END_VAR

Declaración global en una lista de variables globales

VAR_GLOBAL
  SFCinit:BOOL;
END_VAR
PROGRAM PLC_PRG
VAR
  setinit: BOOL;
END_VAR
SFC_prog.SFCinit:=setinit;  //Write access to SFCinit in SFC_prog