Skip to main content

Variables implícitas

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

Las variables implícitas son instancias de estructura del tipo SFCStepType para pasos o SFCActionType para acciones. El nombre de la variable corresponde al nombre del elemento asociado, por ejemplo, step1 para un paso con el nombre de paso step1. Los componentes de la estructura proporcionan información sobre el estado actual de un paso o una acción, así como sobre el tiempo ya transcurrido durante un paso activo.

Estado de paso y acción

Importante

Puede utilizar las variables anteriores para forzar un valor de estado específico para un paso con el fin de activar un paso. No obstante, tenga en cuenta que esto puede provocar un estado incoherente o no controlado del diagrama SFC.

Sintaxis para la declaración de variables implícitas:

<step name> : SFCStepType;
_<action name> : SFCActionType;TRUE
tabla 1. Para el estado de los pasos o de las acciones IEC están disponibles las siguientes variables implícitas:

Paso

<step name>.x

Muestra el estado del paso en el ciclo actual.

Con <step name>.x = TRUE, el paso se ejecuta en el ciclo actual.

<step name>._x

Muestra el estado del paso para el ciclo siguiente.

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

<step name>.t

Variable que proporciona el intervalo de tiempo transcurrido desde que se activó el paso.

Esta información solo está disponible para pasos. El tiempo se registra independientemente de si se ha definido un tiempo mínimo en las propiedades del paso.

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

<step name>._t

Variable que solo se utiliza para fines internos.

<pou name>._MetaStep

Punto de entrada para obtener información sobre los elementos ISFC de la lista enlazada cuando la función _MetaStep está activada.



Acción IEC

_<action name>.x

Muestra el estado de la acción en el ciclo actual.

TRUE: La acción se ejecuta en el ciclo actual.

_<action name>._x

TRUE: La acción está activada.

Variable implícita: _MetaStep

Variable para la lista enlazada de elementos programados en la POU SFC

Importante

La función _MetaStep genera mucho código implícito adicional para implementar el enlace de los elementos. Active la función solo si es realmente necesaria.

La variable implícita _MetaStep identifica el elemento que pertenece al paso inicial de un diagrama SFC. Cuando la función _MetaStep está activada, se crean variables implícitas adicionales, lo que da lugar a 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 objetos ISFCElement (de la IecSfc.library, >= V4.4.0.0).

Cada ISFCElement posee lo siguiente, según la interfaz

  • Predecesor

  • Sucesor

  • Nombres

  • Número de elementos de la cadena

Según el tipo de objeto ISFCElement, puede implementarse una subinterfaz más específica con atributos adicionales.

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

Restricciones: En la versión actual de la 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 activar la funcionalidad _MetaStep, debe realizar los pasos siguientes:

  1. En el diálogo Información del proyecto, en la pestaña Propiedades, establezca la propiedad booleana UseMetaStepsEnabled en TRUE.

  2. Para cada objeto SFC que requiera la funcionalidad, active el uso de la variable SFCMetaSteps en la pestaña Configuración SFC del diálogo Propiedades correspondiente.

Acceso a variables implícitas

Sintaxis para el acceso

Dentro de la POU, asigne la variable implícita directamente:

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

ejemplo 5. Ejemplo
status := step1._x;


Desde otro módulo mediante una ruta de instancia:

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

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

ejemplo 6. Ejemplo:
status := SFC_prog.step1._x;


Generación de símbolos

En las propiedades de un paso o una acción puede especificar si se agrega una definición de símbolo para la bandera de paso o de acción correspondiente. Para ello, active los derechos de acceso deseados en la columna Símbolo de la vista Propiedades.