Skip to main content

Variables implicites

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

Les variables implicites sont des instances de structure de type SFCStepType pour les étapes ou SFCActionType pour les actions. Le nom de la variable correspond au nom de l'élément associé, par exemple step1 pour une étape portant le nom d'étape step1. Les composants de la structure fournissent des informations sur l'état actuel d'une étape ou d'une action, ainsi que sur le temps déjà écoulé pendant une étape active.

État de l'étape et de l'action

Important

Vous pouvez utiliser les variables ci-dessus pour forcer une valeur d'état spécifique pour une étape afin d'activer une étape. Notez toutefois que cela peut entraîner un état incohérent ou non contrôlé du diagramme SFC.

Syntaxe de la déclaration des variables implicites :

<step name> : SFCStepType;
_<action name> : SFCActionType;TRUE
Tableau 1. Les variables implicites suivantes sont disponibles pour l'état des étapes ou des actions IEC :

Étape

<step name>.x

Indique l'état de l'étape dans le cycle en cours.

Pour <step name>.x = TRUE, l'étape est exécutée dans le cycle en cours.

<step name>._x

Indique l'état de l'étape pour le cycle suivant.

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

<step name>.t

Variable qui fournit le laps de temps écoulé depuis l'activation de l'étape.

Cette information n'est disponible que pour les étapes. Le temps est enregistré indépendamment du fait qu'un temps minimal soit défini ou non dans les propriétés de l'étape.

Pour plus d'informations, voir : Indicateurs SFC

<step name>._t

Variable utilisée uniquement à des fins internes.

<pou name>._MetaStep

Point d'entrée permettant d'obtenir des informations sur les éléments ISFC de la liste chaînée lorsque la fonctionnalité _MetaStep est activée.



Action IEC

_<action name>.x

Indique l'état de l'action dans le cycle en cours.

TRUE : l'action est exécutée dans le cycle en cours.

_<action name>._x

TRUE : l'action est activée.

Variable implicite : _MetaStep

Variable pour la liste chaînée des éléments programmés dans le POU SFC

Important

La fonctionnalité _MetaStep génère beaucoup de code implicite supplémentaire pour réaliser la liaison des éléments. N'activez cette fonctionnalité que si elle est réellement nécessaire.

La variable implicite _MetaStep identifie l'élément appartenant à l'étape initiale d'un diagramme SFC. Lorsque la fonctionnalité _MetaStep est activée, des variables implicites supplémentaires sont créées, ce qui produit une liste chaînée des éléments d'un diagramme SFC. À partir de l'étape initiale, toutes les transitions, étapes et sauts sont liés par des références à d'autres objets ISFCElement (de la IecSfc.library, >= V4.4.0.0).

Chaque ISFCElement possède les éléments suivants, selon l'interface

  • Prédécesseur

  • Successeur

  • Noms

  • Nombre d'éléments dans la chaîne

Selon le type d'objet ISFCElement, une sous-interface plus spécifique dotée d'attributs supplémentaires peut être implémentée.

La variable <pou name>._MetaStep est utilisée comme point d'entrée. La fonction IQueryInterface peut être utilisée pour déterminer des 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 opérations suivantes :

  1. Dans la boîte de dialogue Informations sur le projet, dans l'onglet Propriétés, définissez la propriété booléenne UseMetaStepsEnabled sur TRUE.

  2. Pour chaque objet SFC qui nécessite cette fonctionnalité, activez l'utilisation de la variable SFCMetaSteps dans l'onglet Paramètres SFC de la boîte de dialogue Propriétés correspondante.

Accès aux variables implicites

Syntaxe d'accès

Dans le POU, vous affectez directement la variable implicite :

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

Exemple 5. Exemple
status := step1._x;


À partir d'un autre POU avec chemin d'instance :

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

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

Exemple 6. Exemple :
status := SFC_prog.step1._x;


Génération de symboles

Dans les propriétés d'une étape ou d'une action, vous pouvez indiquer si une définition de symbole est ajoutée pour l'indicateur d'étape ou d'action correspondant. Pour cela, activez les droits d'accès souhaités dans la colonne Symbole de la vue Propriétés.