Skip to main content

Variables implicites

Chaque objet SFC fournit des variables implicites permettant de surveiller l'état des étapes et des actions IEC lors de l'exécution. Ces variables implicites sont automatiquement déclarées pour chaque étape et chaque action IEC.

Les variables implicites sont des instances de structure du type SFCStepType pour les étapes et le type SFCActionType Pour les actions. Les variables portent les mêmes noms que leurs éléments, par exemple « étape1 » pour le nom de l'étape « étape1 ». Les membres de la structure décrivent l'état d'une étape, d'une action ou le temps écoulé dans une étape active.

Astuce

Dans le Propriétés des éléments SFC, vous pouvez définir si oui ou non CODESYS devrait exporter une définition de symbole pour cela drapeau à la configuration du symbole.

Statut des Étape et des actions

Important

Vous pouvez utiliser les variables ci-dessus pour forcer une valeur d'état spécifique pour une étape afin de l'activer. Cependant, cela peut entraîner un état instable dans le SFC.

Syntaxe pour la déclaration de variable implicite :

<step name>:SFCStepType;

_<action name>:SFCActionType;

Tableau 2. Les variables implicites suivantes sont disponibles pour l'état de l'étape ou de l'action IEC :

Étape

<step name>.x

Affiche l'état d'activation dans le cycle en cours

Si <step name>.x = TRUE, puis l'étape est traitée dans le cycle en cours.

<step name>._x

Affiche l'état d'activation pour le cycle suivant

Si <step name>.x = TRUE et <step name>._x = FALSE, l'étape est alors traitée dans le cycle en cours. Cela signifie que <step name>._x la variable est copiée au début d'un cycle dans <step name>.x.

<step name>.t

Le drapeau t Affiche la durée actuelle depuis l'activation de l'étape. Ceci s'applique uniquement aux étapes, qu'une durée minimale ait été définie ou non dans leurs propriétés.

Pour plus d'informations, voir : Drapeaux SFC

<step name>._t

Pour usage interne uniquement

<POU name>._MetaStep

Point d'entrée permettant d'obtenir des informations sur les éléments ISFC dans la liste chaînée lorsque la fonctionnalité « MetaStep » est activée (voir ci-dessous).

Action de la CEI

_<action name>.x

TRUE lorsque l'action est en cours d'exécution

_<action name>._x

TRUE lorsque l'action est active



Liste chaînée d'éléments dans le diagramme SFC, variable implicite _MetaStep

Important

La fonctionnalité « MetaStep » génère beaucoup de code implicite supplémentaire pour permettre la liaison des éléments. Ne l'activez que si cela est réellement nécessaire.

La variable implicite _MetaStep Identifie l'élément appartenant à l'étape initiale (Étape initiale) d'un graphe SFC. Lorsque la fonctionnalité « MetaStep » est activée, des variables implicites supplémentaires sont créées, représentant une liste chaînée des éléments d'un graphe SFC. À partir de l'étape initiale, toutes les transitions, étapes et sauts sont liés par des références à d'autres. ISFCElement objets (de la IecSfc.library, >= V4.4.0.0). Un ISFCElement possède toujours un prédécesseur, un successeur, un nom et le nombre d'éléments dans la liaison selon l'interface. Selon le type de ISFCElement objet, une sous-interface plus spécifique avec des attributs supplémentaires peut être implémentée.

La variable <POU name>._MetaStep est utilisé comme point d'entrée. Le IQueryInterface La fonction peut être utilisée pour déterminer les informations sur les éléments prédécesseurs et successeurs dans la liste chaînée des éléments ISFC.

Restrictions Dans la version actuelle de la fonctionnalité, les noms des transitions au sein d'un programme SFC doivent être uniques. Dans le cas contraire, un avertissement est émis et les données supplémentaires de la liste chaînée ne sont pas générées.

Pour activer la fonctionnalité MetaStep, vous devez effectuer les étapes suivantes :

  1. Dans le Informations sur le projet dialogue, sur le Propriétés onglet, définissez le UseMetaStepsEnabled (BOOL) propriété à True.

  2. Dans le Propriétés dialogue de l'objet, sur le Paramètres SFC onglet, activer l'utilisation du SFCMetaSteps variable pour chaque objet SFC qui nécessite la fonctionnalité.

Accès aux variables implicites

Syntaxe d'accès

Dans le POU, vous attribuez directement la variable implicite :

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

Exemple 6. Exemple

status:=step1._x;



D'un autre POU avec le nom :  

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

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

Exemple 7. Exemple:

status:=SFC_prog.step1._x;



Génération de symboles

Dans les propriétés d'élément d'une étape ou d'une action, vous définissez si CODESYS devrait ajouter une définition de symbole pour l'indicateur d'étape ou d'action. Dans le Propriétés vue, vous devez sélectionner les droits d'accès nécessaires dans le Symbole colonne.