Skip to main content

Variables implícitas

Cada objeto SFC proporciona variables implícitas para supervisar el estado de los pasos y las acciones IEC en tiempo de ejecución. Estas variables implícitas se declaran automáticamente para cada paso y acción IEC.

Las variables implícitas son instancias de estructura del tipo SFCStepType para pasos y tipo SFCActionType Para acciones. Las variables tienen los mismos nombres que sus elementos; por ejemplo, "paso1" es el nombre de la variable para el nombre del paso "paso1". Los miembros de la estructura describen el estado de un paso o acción, o el tiempo transcurrido en un paso activo.

Sugerencia

En el Propiedades del elemento SFC, puedes definir si o no CODESYS Debería exportar una definición de símbolo para esto. bandera a la configuración del símbolo.

Estado de Paso y acción

Importante

Puede usar las variables anteriores para forzar un valor de estado específico para un paso y así activarlo. Sin embargo, tenga en cuenta que esto puede causar un estado inestable en el SFC.

Sintaxis para la declaración de variable implícita:

<step name>:SFCStepType;

_<action name>:SFCActionType;

tabla 2. Las siguientes variables implícitas están disponibles para el estado de acción de paso o IEC:

Paso

<step name>.x

Muestra el estado de activación en el ciclo actual.

Si <step name>.x = TRUE, luego el paso se procesa en el ciclo actual.

<step name>._x

Muestra el estado de activación para el próximo ciclo.

Si <step name>.x = TRUE y <step name>._x = FALSE, entonces el paso se procesa en el ciclo actual. Esto significa que el <step name>._x La variable se copia al comienzo de un ciclo en <step name>.x.

<step name>.t

La bandera t Proporciona el intervalo de tiempo actual desde la activación del paso. Esto aplica solo a los pasos, independientemente de si se ha definido un tiempo mínimo en las propiedades del paso.

Para obtener más información, consulte: Banderas del SFC

<step name>._t

Sólo para uso interno

<POU name>._MetaStep

Punto de entrada para obtener información sobre los elementos ISFC en la lista vinculada cuando se activa la función "MetaStep" (ver a continuación).

Acción de la IEC

_<action name>.x

TRUE cuando se está ejecutando la acción

_<action name>._x

TRUE cuando la acción está activa



Lista enlazada de elementos en el gráfico SFC, variable implícita _MetaStep

Importante

La función "MetaStep" genera mucho código implícito adicional para permitir la vinculación de elementos. Actívela solo si es realmente necesaria.

La variable implícita _MetaStep Identifica el elemento que pertenece al paso inicial (Paso inicial) de un diagrama SFC. Al habilitar la función "MetaStep", se crean variables implícitas adicionales que representan una lista enlazada para los elementos de un diagrama SFC. A partir del paso inicial, todas las transiciones, pasos y saltos están enlazados mediante referencias a otros. ISFCElement objetos (de la IecSfc.library, >= V4.4.0.0). Un ISFCElement Siempre tiene un predecesor, un sucesor, un nombre y el número de elementos en el enlace según la interfaz. Dependiendo del tipo de ISFCElement objeto, se puede implementar una subinterfaz más específica con atributos adicionales.

La variable <POU name>._MetaStep se utiliza como punto de entrada. El IQueryInterface La función se puede utilizar para determinar información sobre los elementos predecesores y sucesores en la lista vinculada de elementos ISFC.

Restricciones En la versión actual de esta función, los nombres de las transiciones dentro de un programa SFC deben ser únicos. De lo contrario, se emite una advertencia y no se generan los datos adicionales de la lista enlazada.

Para habilitar la funcionalidad MetaStep, debe realizar los siguientes pasos:

  1. En el Información del proyecto diálogo, en el Propiedades pestaña, configure el UseMetaStepsEnabled (BOOL) propiedad a True.

  2. En el Propiedades diálogo del objeto, en el Configuración de SFC pestaña, habilitar el uso de la SFCMetaSteps variable para cada objeto SFC que requiere la funcionalidad.

Acceso a variables implícitas

Sintaxis para el acceso

Dentro del POU, asignas la variable implícita directamente:

<variable name>:=<step name>.<implicit variable> o <variable name>:=_<action name>.<implicit variable>

ejemplo 6. Ejemplo

status:=step1._x;



De otro POU con el nombre:  

  • <variable name>:=<POU name>.<step name>.<implicit variable>

  • <variable name>:=<POU name>._<action name><implicit variable>

ejemplo 7. Ejemplo:

status:=SFC_prog.step1._x;



Generación de símbolos

En las propiedades del elemento de un paso o acción, define si CODESYS Debería agregarse una definición de símbolo para el indicador de paso o acción. En el Propiedades Para ver, debe seleccionar los derechos de acceso necesarios en el Símbolo columna.