Pour insérer les éléments graphiques utilisés pour la programmation dans la fenêtre de l'éditeur SFC, exécutez les commandes du menu SFC.
Pour plus d'informations sur l'utilisation de l'éditeur, voir la description présentée dans le chapitre Utilisation de l'éditeur SFC
Les éléments suivants sont disponibles et décrits dans le présent chapitre :
osaut
Pour insérer une étape ou une transition, exécutez la commande Etape ou Transition dans Outils. Les étapes et les transitions peuvent également être insérées en combinaison, via la commande Insérer une transition d'étape () ou Insérer une transition d'étape après (
) de la barre d'outils.
Une étape est représentée par un module qui contient principalement un nom d'étape généré automatiquement. Elle est connectée à la transition précédente et à la suivante par une ligne. Le cadre du module de la première étape d'un SFC (étape initiale) est constitué d'une ligne double.
La transition est représentée par un petit rectangle. Son nom par défaut est Trans<n>, où n correspond à un numéro d'ordre.
Exemple d'étape et de transition suivante :
Exemple d'étape initiale et de transition suivante :
Vous pouvez modifier les noms d'étape et de transition en ligne.
Les noms d'étape doivent être uniques dans le cadre du POU parent. Cette consigne est à prendre en considération notamment lors de l'utilisation d'actions programmées en SFC. Si elle n'est pas respectée, une erreur est détectée pendant le processus de compilation.
Vous pouvez transformer chaque étape en étape initiale à l'aide de la commande Etape initiale ou en activant la propriété d'étape correspondante. Une étape initiale est exécutée en premier lorsque le POU IL est appelé.
Chaque étape est définie par des propriétés.
Après avoir inséré une étape, associez les actions à effectuer lorsque l'étape est active (traitée) ; voir ci-dessous pour plus d'informations sur les actions.
Recommandations relatives aux transitions
Une transition doit fournir la condition à laquelle l'étape suivante doit être activée lorsque la valeur de la condition est TRUE. Une condition de transition doit donc avoir la valeur TRUE ou FALSE.
Une condition de transition peut être définie de deux manières :
Type de définition |
Type de condition |
Description |
---|---|---|
directe |
en ligne |
Remplacez le nom de transition par défaut par l'un des éléments suivants : ovariable booléenne oadresse booléenne oconstante booléenne oinstruction donnant un résultat booléen (exemple : (i<100) AND b). Vous ne pouvez pas indiquer de programmes, de blocs fonctionnels ni d'affectations ici. |
utilisation d'une transition ou d'un objet de propriété distinct |
utilisations multiples |
Remplacez le nom de transition par défaut par le nom d'une transition ( Un objet tel qu'une transition en ligne peut contenir les éléments suivants : ovariable booléenne oadresse oconstante oinstruction oplusieurs instructions avec code arbitraire |
NOTE : Si une transition produit plusieurs instructions, affectez l'expression voulue à une variable de transition.
NOTE : Les transitions constituées d'une transition ou d'un objet de propriété sont identifiées par un petit triangle situé dans l'angle supérieur droit du rectangle.
Objet de transition (transition à utilisations multiples) :
Exemples de transitions :
1 Conditions de transition saisies directement
2 Transition condition_xy programmée en ST
Les conditions à utilisations multiples (transitions ou propriétés) sont identifiées par un triangle :
Contrairement aux versions précédentes de EcoStruxure Machine Expert, un appel de transition est géré comme un appel de méthode. Il est saisi avec la syntaxe suivante :
<nom de transition>:=<condition de transition>;
Exemple : trans1:= (a=100);
ou simplement
<condition de transition>;
Exemple : a=100;
Vous trouverez également un exemple (condition_xy) dans la figure Exemples de transitions.
Une action peut contenir une série d'instructions écrite dans l'un des langages de programmation valides. Elle est affectée à une étape et, en mode en ligne, elle est traitée selon la séquence de traitement définie.
Chaque action à utiliser dans les étapes du SFC doit être disponible en tant que POU valide dans le POU SFC ou le projet ().
Les noms d'étape doivent être uniques dans le cadre du POU parent. Une action ne peut pas contenir une étape portant le même nom que l'étape à laquelle elle est affectée. Si cette consigne n'est pas respectée, une erreur est détectée pendant le processus de compilation.
Exemple d'action écrite en ST
Les actions d'étape conformes à IEC et les actions d'extension IEC sont décrites dans les paragraphes qui suivent.
Action d'étape conforme à IEC (action IEC)
Il s'agit d'une action conforme à la norme IEC61131-3, traitée selon le qualificatif associé lorsque l'étape est activée, puis de nouveau lorsqu'elle est désactivée. Si plusieurs actions sont affectées à une étape, la liste d'actions est exécutée de haut en bas.
oDifférents qualificatifs peuvent être utilisés pour les actions d'étape IEC, contrairement aux actions d'étape standard.
oChaque action d'étape IEC est fournie avec un drapeau de contrôle, ce qui n'est pas le cas des actions standard. Cela évite qu'une action soit exécutée plusieurs fois simultanément, même si elle est appelée par une autre étape. Cela ne s'applique pas aux actions d'étape standard.
oUne action d'étape IEC est représentée par un module en deux parties relié à la droite de l'étape via une ligne de connexion. A gauche se trouve le qualificatif de l'action et à droite, son nom. Les deux peuvent être modifiés en ligne.
oLes actions d'étape IEC sont associées à une étape à l'aide de la commande Insérer une association d'actions. Vous pouvez associer une ou plusieurs actions à une étape. La position de la nouvelle action dépend de la position actuelle du curseur et de la commande. Les actions doivent être disponibles dans le projet et être insérées avec un nom d'action unique (par exemple, plc_prg.a1).
Liste d'actions d'étape conformes à IEC associée à une étape :
Pour chaque module d'action, la première colonne contient le qualificatif et la seconde, le nom de l'action.
Ces actions étendent la norme IEC. Elles doivent être disponibles en tant qu'objets sous l'objet SFC. Sélectionnez des noms d'action uniques. Leur définition figure dans les propriétés de l'étape.
Le tableau suivant répertorie les actions d'extension IEC :
Type d'action |
Traitement |
Association |
Représentation |
---|---|---|---|
Etape activée |
Ce type d'action est traité dès l'activation de l'étape, avant l'action Etape active. |
L'action est associée à une étape via une entrée dans le champ Etape activée des propriétés de l'étape. |
Elle est identifiée par un E dans l'angle inférieur gauche du module d'étape correspondant. |
Etape active |
Ce type d'action est traité dès l'activation de l'étape, après le traitement d'une éventuelle action Etape activée. Toutefois, contrairement à une action d'étape IEC (voir ci-dessus), elle n'est pas réexécutée lorsqu'elle est désactivée et aucun qualificatif ne peut lui être affecté. |
L'action est associée à une étape via une entrée dans le champ Etape active des propriétés de l'étape. |
Elle est identifiée par un petit triangle dans l'angle supérieur droit du module d'étape correspondant. |
Etape désactivée |
Une action de sortie est exécutée après la désactivation de l'étape. Cependant, cette exécution n'a pas lieu au cours du même cycle, mais au début du suivant. |
L'action est associée à une étape via une entrée dans le champ Etape désactivée des propriétés de l'étape. |
Elle est identifiée par un X dans l'angle inférieur droit du module d'étape correspondant. |
Actions d'extension IEC
Exemple : différences entre actions d'étapes conformes à IEC et actions d'extension
La principale différence entre les actions d'étape et les actions IEC associées au qualificatif N réside dans le fait que l'action IEC est exécutée au moins deux fois, la première lors de l'activation de l'étape et la seconde, lors de sa désactivation. Voir l'exemple suivant.
L'action Action_AS1 est associée à l'étape AS1 en tant qu'action d'étape (gauche) ou en tant qu'action IEC portant le qualificatif N (droite). Etant donné que dans les deux cas, deux transitions sont utilisées, deux cycles du contrôleur sont nécessaires pour atteindre l'étape initiale, en supposant qu'une variable iCounter soit incrémentée dans Action_AS1. Après la réactivation de l'étape Init, iCounter prend la valeur 1 (exemple de gauche). Dans l'exemple de droite, iCounter a la valeur 2 car l'action IEC a été exécutée deux fois, en raison de la désactivation de AS1.
Pour plus d'informations sur les qualificatifs, reportez-vous à la liste des qualificatifs disponibles.
Contrairement aux actions IEC, les actions d'étape peuvent être intégrées de façon à ne pouvoir être appelées que depuis l'étape correspondante. La copie de l'étape entraîne la création automatique d'objets d'action et la duplication du code d'implémentation. Sélectionnez le mode de duplication des actions d'étape (Copier référence ou Copier implémentation) dans la boîte de dialogue qui s'affiche la première fois que vous insérez une action dans l'étape. Par la suite, vous pourrez sélectionner ce mode en activant l'option Dupliquer ou copier dans la boîte de dialogue Propriétés d'élément. L'option Méthode d'insertion par défaut peut également être configurée globalement dans la boîte de dialogue Outils > Options > Editeur SFC.
La ligne de traitement d'un diagramme fonctionnel en séquence (SFC) peut être divisée en deux lignes (branchements) ou plus. Les branchements parallèles sont traités simultanément. Dans le cas des branchements alternatifs, un seul est traité, selon la condition de transition précédente. Chaque branchement d'un diagramme est précédé d'une ligne horizontale double (parallèle) ou simple (alternatif) et se termine par cette ligne ou par un saut.
Un branchement parallèle doit commencer et se terminer par une étape. Les branchements parallèles peuvent contenir des branchements alternatifs ou d'autres branchements parallèles.
La zone contenant des branchements est précédée et suivie de lignes horizontales doubles.
Traitement en mode en ligne : si la transition précédente (t2 dans l'exemple de gauche) a la valeur TRUE, les premières étapes de tous les branchements parallèles sont activées (Step11 et Step21). Les branchements individuels sont traités parallèlement les uns aux autres avant que la transition suivante (t3) soit reconnue.
Pour insérer un branchement parallèle, sélectionnez une étape et exécutez la commande Insérer un branchement à droite.
Vous pouvez convertir les branchements parallèles en branchements alternatifs, et inversement, à l'aide des commandes Parallèle ou Alternatif.
Une étiquette de branchement est ajoutée automatiquement sur la ligne horizontale précédant le branchement Branch<n> (où n représente un numéro d'ordre, à partir de 0). Vous pouvez spécifier cette étiquette lors de la définition d'une destination de saut.
La zone contenant des branchements est précédée et suivie de lignes horizontales simples.
Un branchement alternatif doit commencer et se terminer par une transition. Les branchements alternatifs peuvent contenir des branchements parallèles et d'autres branchements alternatifs.
Si l'étape qui précède la ligne de début du branchement alternatif est active, la première transition de chaque branchement alternatif est évaluée de gauche à droite. La première transition en partant de la gauche dont la condition de transition a la valeur TRUE est ouverte et les étapes suivantes sont activées.
Pour insérer des branchements alternatifs, sélectionnez une transition et exécutez la commande Insérer un branchement à droite .
Vous pouvez convertir les branchements parallèles en branchements alternatifs, et inversement, à l'aide des commandes Parallèle ou Alternatif.
Un saut est représenté par une ligne de connexion verticale, ainsi qu'une flèche horizontale et le nom de la destination du saut. Il définit l'étape suivante à traiter dès que la transition précédente a la valeur TRUE. Vous pouvez utiliser des sauts pour éviter que les lignes de traitement se croisent ou remontent.
A part le saut par défaut situé à la fin du diagramme, un saut ne peut être utilisé qu'à la fin d'un branchement. Pour insérer un saut, sélectionnez la dernière transition du branchement et exécutez la commande Insérer un saut.
Le destination du saut est spécifiée par la chaîne de texte associée, qui peut être modifiée. Il peut s'agir d'un nom d'étape ou de l'étiquette d'un branchement parallèle.
Vue principale de l'éditeur SFC
Vue de l'éditeur de macro pour Macro1
Une macro est représentée par un module encadré en gras contenant le nom de la macro. Elle contient une partie du diagramme SFC, qui n'est donc pas visible directement dans la vue principale de l'éditeur. Le flux de processus n'est pas influencé par l'utilisation de macros ; il s'agit simplement d'un moyen de masquer certaines parties du programme, par exemple pour simplifier l'affichage. Pour insérer un module de macro, exécutez la commande Insérer une macro après. Le nom de la macro peut être modifié.
Pour ouvrir l'éditeur de macro, double-cliquez sur le module de la macro ou exécutez la commande Afficher la macro. Vous pouvez effectuer la modification dans l'éditeur comme dans la vue principale de l'éditeur et accéder à la section voulue du diagramme SFC. Pour sortir, exécutez la commande Quitter la macro.
La ligne de titre de l'éditeur de macro contient le chemin d'accès de la macro dans l'exemple SFC actuel :