 Edition SFC

Le langage SFC est utilisé pour décrire les opérations d'un procédé séquentiel. Il met en oeuvre une représentation graphique des différents états du procédé, et des conditions qui permettent de passer d'un état à un autre. Les programmes SFC sont saisis à l'aide de l'éditeur graphique SFC d'ISaGRAF. Le SFC est un langage de haut niveau. Les autres langages sont généralement utilisés pour décrire les actions dans les étapes, et les conditions attachées aux transitions. L'éditeur graphique SFC d'ISaGRAF permet la saisie de programmes SFC complets. Il combine des fonctions graphiques et textuelles pour la saisie du graphe SFC, et des actions et conditions correspondantes.

Le langage SFC

Saisie des schémas SFC

Correction des schémas

Saisie du niveau 2

Insérer un symbole de variable

Insérer un bloc d'action Pulse

Insérer un bloc d'action Non mémorisé

Nouveaux qualificatifs P0 et P1

Actions booléennes

Actions SFC

Transitions écrites en ST

Transitions écrites en Quick LD

Commandes du menu "Outils"

Utilisation de la gallerie SFC

Appel des autres outils ISaGRAF

Autres commandes du menu "Fichier"

Mise à jour de l'agenda

Sélection d'une variable dans le dictionnaire


Le langage SFC

Le langage SFC décrit des comportements séquentiels. Il divise le procédé en un nombre d'étapes connues (situations stables), séparées par des transitions. Référez-vous au manuel de référence des langages d'ISaGRAF pour plus d'informations sur le langage SFC.

Divergences et convergences

Renvoi à une étape

Macro-étapes

Les symboles d'un graphe SFC sont reliés par des liaisons orientées. L'orientation par défaut est du haut vers le bas. Voici les composants graphiques utilisés pour la construction d'un graphe SFC:

Etape initiale

Etape

Transition

Renvoi à une étape

Macro-étape

Etape de début d'une macro

Etape de fin d'une macro

La programmation SFC se décompose en deux niveaux. Le niveau 1 montre le graphe, les numéros de référence et les commentaires attachés aux étapes et aux transitions. Le niveau 2 est la programmation en ST ou IL des actions dans les étapes et des conditions attachées aux transitions. Les actions et conditions peuvent appeler des sous-programmes écrits dans d'autres langages (FBD, LD, ST ou IL). Voici un exemple de programmation de niveau 1 et de niveau 2:

Le niveau 2 d'une étape est entré à l'aide d'un éditeur de textes. Il contient des blocs d'action écrits en ST ou IL. Le niveau 2 d'une transition peut être saisi soit en langage texte IL ou ST, soit avec l'éditeur Qquick LD (schéma à contacts).


Divergences et convergences

Les divergences et les convergences sont utilisées pour représenter des liaisons multiples entre les étapes et les transitions. Les divergences et convergences simples représentent plusieurs possibilités (inclusives) dans l'exécution du procédé.

Les divergences doubles représentent des procédés parallèles.


Renvoi à une étape

L'éditeur SFC ne visualise que les liaisons tracées du haut vers le bas. Un renvoi à une étape peut être utilisé pour représenter un renvoi vers une partie antérieure du graphe. Par exemple :

Un renvoi à une transition est interdit, et doit être explicitement représenté comme une convergence double.


Macro-étapes

Une macro-étape est la représentation sous la forme d'un symbole unique d'un groupe unique et connexe d'étapes et de transitions. Le corps d'une macro-étape commence par une étape de début et se termine par une étape de fin.

La représentation de la macro-étape doit être décrite dans le même programme SFC. Le symbole de la macro-étape et son étape de début doivent avoir le même numéro de référence. Le corps d'une macro-étape peut contenir le symbole d'une autre macro-étape.


Saisie des schémas SFC

Pour entrer un graphe SFC, l'utilisateur doit poser les composants significatifs du schéma. Toutes les lignes de connexion horizontales et verticales sont tracées automatiquement par l'éditeur. Pour insérer un symbole SFC, il faut déplacer la sélection sur l'emplacement désiré et sélectionner le type de symbole dans la barre d'outils. Le nouveau symbole est inséré à la position courante. Les touches de fonctions suivantes peuvent aussi être utilisées:

Insérer une étape initiale

Insérer une étape

Insérer une transition

Insérer un saut vers une étape

 	Insérer une divergence ou convergence OU / Ajouter des branches

 	Insérer une divergence ou convergence ET / Ajouter des branches

Insérer une macro-étape

 	Insérer une étape de début ou de fin dans le corps d'une macro-étape

(Le symbole " [image] " indique une combinaison combination avec la touche SHIFT)

La grille d'édition montre les cellules de la matrice d'édition graphique. Une option de l'éditeur permet de montrer ou de cacher la grille pendant l'édition du graphe. La grille est très utile pendant l'insertion des composants graphiques et la désignation de parties du schéma.

L'éditeur graphique SFC montre toujours la position courante dans la matrice. La cellule sélectionnée est marquée en gris. Le petit rectangle au coin bas / droite de la sélection permet redimensionner librement les cellules de la matrice. Il permet également de changer la proportion X/Y des cellules:


   	Créer une divergence ou une convergence

Les divergences et les convergences sont toujours tracées de la gauche vers la droite. Pour tracer une divergence ou une convergence, il faut d'abord poser ses branches à gauche. Le choix d'un de ces boutons dans la barre d'outils permet de choisir le type de divergence (simple ou double).


   	Ajouter des branches aux divergences

Les positions de départ et d'arrivée de chaque branche auxiliaire doivent être posées en utilisant ces boutons dans la barre d'outils. Les coins à droite ont le même style (simple ou double) que le coin principal à gauche. Vous ne pouvez pas poser les coins auxiliaires tant que le coin à gauche n'est pas défini.


Insérer une macro-étape

Utilisez ce bouton dans la barre d'outil pour poser le symbole d'une macro-étape dans le graphe principal. Le corps de la macro-étape doit être décrit dans le même programme SFC.


 	Corps d'une macro-étape

Les macro-étapes doivent être entrées dans le même programme que le graphe principal. Une macro-étape doit commencer par une étape de début et terminer par une étape de fin. Le graphe décrivant l'implémentation de la macro doit être connexe. L'étape de début de la macro doit avoir le même numéro de référence que le symbole de la macro-étape dans le graphe principal.


Correction des schémas

Utilisez la souris ou le clavier (flèches combinées avec SHIFT) pour sélectionner un rectangle de la matrice. Ensuite, utilisez les commandes du menu "Edition" pour le manipuler.

  	Couper / coller / supprimer

Déplacer des éléments

Renuméroter les étapes et les transitions

Accéder à une étape ou une transition

Chercher et remplacer des textes


  	Couper / coller / supprimer

Les commandes suivantes du menu "Edition" peuvent être utilisées quand le bouton "sélection" (flèche) est sélectionné dans la barre d'outils:

Couper	Envoie le bloc sélectionné dans le presse papier SFC

Copier	Copie le bloc sélectionné dans le presse papier SFC

Effacer	Efface le bloc sélectionné

La commande "Edition / Coller" copie le contenu du presse papier SFC dans le schéma. Les commandes Copier / Coller manipulent le niveau 1 et le niveau 2 du SFC. Il est également possible de copier des portions d'un graphe SFC depuis un programme vers un autre.


 	Déplacer des éléments

Quand des éléments SFC sont sélectionnés dans le graphe, vous pouvez les déplacer en glissant la sélection avec la souris. Cette commande ne peut pas être réalisée avec le clavier. Pendant le déplacement, la position d'origine est hachurée dans le schéma.

La zone de destination choisie doit être vide. Le déplacement d'objets ne permet pas l'insertion des symboles sélectionnés dans une branche du graphe.


Renuméroter les étapes et les transitions

Chaque étape ou transition est identifiée par un numéro logique dans le graphe SFC. La commande "Edition / Renuméroter" permet d'affecter automatiquement tous les numéros de référence pour le graphe édité. Quand un numéro d'étape est changé, tous les renvois ayant cette étape pour destination sont également mis à jour avec le nouveau numéro de l'étape. (ceci est également appliqué aux macro-étapes et étapes de début)


Accéder à une étape ou une transition

La commande "Edition / Atteindre" permet d'accéder directement à une étape ou une transition du schéma. La position de déroulement de la fenêtre d'édition est automatiquement mise à jour pour que l'étape ou la transition soit visible.


Chercher et remplacer des textes

La commande "Edition / Chercher remplacer" permet de chercher et de remplacer des textes dans la programmation de niveau 2 de l'ensemble du programmes (toutes les étapes et toutes les transitions). La boîte de dialogue Chercher/Remplacer est utilisée pour saisir le texte cherché, et ouvrir le texte ou schéma de niveau 2 où le texte est trouvé.


Saisie du niveau 2

Pour entrer le programme de niveau 2, il suffit de cliquer deux fois sur le symbole d'une étape ou d'une transition. Le programme de niveau 2 apparaît sur la droite de la fenêtre SFC. La ligne de séparation entre les zônes d'édition SFC et niveau 2 peut être déplacée.

Il est possible d'éditer deux programmes de niveau 2 en même temps. Les commandes suivantes sont disponible avec la souris, le clavier, ou depuis le menu "Edition:

Clavier	Souris	Menu "Edition"

Ouvrir dans la même fenêtre	Entrée	Double Clic	Editer le niveau 2

Ouvrir dans une fenêtre séparée	Ctrl+Entrée	Ctrl + Double Clic	Niveau 2 dans une autre fenêtre

Quand deux programmes de niveau 2 sont visibles, la séparation entre les deux zônes peut être déplacée. Le bouton sur la droite de la ligne de titre d'une zône de niveau 2 permet de fermer la fanêtre correspondante.

Le langage par défaut pour la programmation de niveau 2 est le ST (Texte Structuré). Pour les transitions, le langage de programmation pour le niveau 2 peut également être le Quick LD. Utilisez le bouton "ST/LD" dans la barre de titre du niveau 2 pour changer le langage de programmation. Cette commande n'est disponible que lorsque le programme de niveau 2 est vide.

Un champ de saisie d'une ligne de texte apparaît au sommet de la fenêtre de niveau 2. Il permet la saisie d'un texte de description court pour l'étape ou la transition. Ce texte est affiché sous la forme d'un commentaire IEC dans la fenêtre principale du SFC. Il est repris par les commandes telles que "Atteindre" ou pour la génération du dossier pour l'auto-documentation des étapes et transitions SFC.

La commande "Options / Rafraichir" pour mettre à jour dans la fenêtre SFC principale les programmes de niveau 2 en cours de modification dans les autres fenêtres.

Insérer un symbole de variable

Insérer un bloc d'action Pulse

Insérer un bloc d'action Non mémorisé

 	Nouveaux qualificatifs P0 et P1

Actions booléennes

Actions SFC

Transitions écrites en ST

Transitions écrites en Quick LD


Insérer un symbole de variable

Lors de la programmation en langage littéral, pressez ce bouton pour sélectionner un symbole de variable à insérer à la position courante du curseur. Lors de la programmation en Quick LD, pressez sur ce bouton pour sélectionner la variable à attacher au symbole (contact, relais ou paramètre de bloc) sélectionné.


Insérer un bloc d'action Pulse

Lors de la programmation du niveau 2 d'une étape, pressez ce bouton pour insérer un bloc d'action "Pulse" à la position courante du curseur. Voici le format d'un bloc d'action "Pulse":

Action (P) :

énoncés ST;

...

End_Action;

Les actions "Pulse" sont exécutées une seule fois quand l'étape devient active. Référez-vous au manuel de référence des langages ISaGRAF pour plus de détails sur la programmation SFC.


Insérer un bloc d'action Non mémorisé

Lors de la programmation du niveau 2 d'une étape, pressez ce bouton pour insérer un bloc d'action "Non mémorisé" à la position courante du curseur. Voici le format d'un bloc d'action "Non mémorisé":

Action (N) :

énoncés ST;

...

End_Action;

Les actions "Non mémorisées" sont exécutées à chaque cycle pendant que l'étape devient active. Référez-vous au manuel de référence des langages ISaGRAF pour plus de détails sur la programmation SFC.


 	Nouveaux qualificatifs P0 et P1

ISaGRAF supporte les nouveaux qualificateurs d'action P0 et P1. Lors de la programmation du niveau 2 d'une étape, pressez ce bouton pour insérer un bloc d'action P0 ou P1 à la position courante du curseur. Voici le format d'un tel bloc d'action:

Action (P0) :	Action (P1) :

énoncés ST;	énoncés ST;

...	...

End_Action;	End_Action;

Les actions P1 sont exécutées une seule fois quand l'étape devient active (même comportement que les actions "Pulse"). Les actions P0 sont exécutées une seule fois quand l'étape devient inactive. Référez-vous au manuel de référence des langages ISaGRAF pour plus de détails sur la programmation SFC.


Actions booléennes

D'autres structures syntaxiques permettent de forcer directement une variable booléenne en fonction de l'activité de l'étape. Ces actions établissement une relation entre le signal d'activité de l'étape et une variable booléenne interne ou de sortie. Voici les syntaxes disponibles pour les actions booléennees:

<variable_boo> (N);	copie le signal d'activité de l'étape dans la variable

<variable_boo>;	même effet (l'attribut N est optionnel)

/ <variable_boo>;	copie l'inverse logique du signal d'activité de l'étape dans la variable

D'autres types d'actions consistent à forcer la variable (à faux ou à vrai) quand l'étape devient active. Voici la syntaxe de ces actions :

<variable_boo> (S);	force la variable à TRUE quand le signal d'activité de l'étape prend l'état TRUE

<variable_boo> (R);	force la variable à FALSE quand le signal d'activité de l'étape prend l'état TRUE


Actions SFC

Une action SFC est une séquence fille SFC, lancée ou tuée selon les évolutions du signal d'activité de l'étape. Une action SFC peut être décrite avec les qualificatifs d'action N (Non mémorisée), S (Set), ou R (Reset). Voici la syntaxe des actions SFC :

<programme_fils> (N);	lance la séquence fille quand l'étape devient active, et la tue lorsque l'étape redevient inactive

<programme_fils>;	même effet (l'attribut N est optionnel)

<programme_fils> (S);	lance la séquence fille quand l'étape devient active - rien n'est fait lorsque l'étape redevient inactive

<programme_fils> (R);	tue la séquence fille quand l'étape devient active - rien n'est fait lorsque l'étape redevient inactive

La séquence SFC spécifiée dans l'action doit être un programme SFC fils du programme en cours d'édition.


Transitions écrites en ST

Le niveau 2 d'une transition est une expression booléenne. En langage ST, il suffit d'exprimer la condition selon la syntaxe du ST. Optionnellement, la condition peut être terminée par un point-virgule.


Transitions écrites en Quick LD

Il est possible d'utiliser l'éditeur Quick LD pour la programmation du niveau 2 d'une transition. Dans ce cas, le diagramme ne comporte qu'une échelle, dont l'unique bobine de relais représente la transition. Le nom de la transition n'est pas répété dans le diagramme. Voici un exemple de transition programmée avec l'éditeur Quick LD.

Lors de la programmation en Quick LD, utilisez les flèches du clavier pour déplacer le curseur dans la grille du diagramme, et utilisez les touches suivantres pour insérer les symboles LD:

F2:	insère un contact après le symbole sélectionné / commence une échelle

F3:	insère un contact avant le symbole sélectionné

F4:	insère un contact en parallèle avec le symbole sélectionné

F6:	insère un bloc après le symbole sélectionné

F7:	insère un bloc avant le symbole sélectionné

F8:	insère un bloc en parallèle avec le symbole sélectionné

Vous pouvez également cliquer sur les symboles correspondant dans la barre de touches fonctions affichée au bas de la fenêtre d'édition du niveau 2.

Frappez la touche ENTREE pour associer un symbole de variable au contact sélectionné, choisir un type de bloc (opération), ou connecter une variable en entrée ou en sortie d'un bloc. Vous pouvez également cliquer deux fois sur un symbole graphique pour sélectionner la variable associée;

Frappez CONTRÔLE + BARRE D'ESPACE pour changer le type du contact sélectionné (direct, inversé). Référez-vous au manuel d'utilisation de l'éditeur Quick LD pour plus de détails sur ses possibilités.


Appel des autres outils ISaGRAF

Vérifier (compiler) le programme

 	Simuler ou tester l'application

Editer le dictionnaire de variables


Vérifier (compiler) le programme

La commande "Fichier / Vérifier" lance le générateur de code d'ISaGRAF pour vérifier la syntaxe du programme en cours d'édition. Dans le cas d'un programme SFC, les informations de niveau 1 et de niveau 2 sont vérifiées. Quand la vérification est terminée, fermez la fenêtre du générateur de code pour reprendre votre travail d'édition du programme ouvert.

La commande "Options / Options de compilation" permet de sélectionner les options pour la génération et l'optimisation du code de l'application. Référez-vous au manuel d'utilisation du générateur de code d'ISaGRAF pour plus de détails sur les options de compilation et leur signification.


 	Simuler ou tester l'application

Les commandes "Fichier / Simuler" et "Fichier / Tester" lancent le debugger graphique d'ISaGRAF en mode simulation ou en mode réel connecté à l'automate, et ré-ouvre le programme édité en mode mise au point. Dans ce mode, il n'est plus possible de modifier le contenu du programme.


Editer le dictionnaire de variables

La commande "Fichier / Dictionnaire" lance l'édition du dictionnaire de variables de l'application. Le dictionnaire permet également de définir les mots équivalents (alias). Les déclarations de portée locale sont toujours relatives au programme édité.


Autres commandes du menu "Fichier"

Les commandes suivantes sont disponibles dans le menu "Fichier" des éditeurs de programme:

Ouvrir un autre programme

Imprimer le programme


Ouvrir un autre programme

La fonction "Fichier / Ouvrir" permet de fermer le programme en cours d'édition et de lancer l'édition d'un autre programme du projet. Cette fonction ne peut pas être utilisée pour lancer l'édition d'un programme décrit avec un autre langage que le programme ouvert. Le nouveau programme vient remplacer le programme actuel dans la fenêtre d'édition.


Imprimer le programme

La commande "Fichier / Imprimer" imprime le contenu du programme édité sur l'imprimante. Cette commande lance le générateur de dossier d'ISaGRAF pour l'impression du programme édité.

Pour les programmes graphiques (SFC, FBD et Quick LD) la commande "Edition / Copier image" copie l'image du programme édité sous forme de "metafile" dans le presse papier de Windows. Il peut ainsi être copié dans d'autres applications telles que des traitements de textes. Pour les programmes SFC, seules les informations du niveau 1 sont copiées dans l'image (graphe, références et commentaires).


Mise à jour de l'agenda

Un fichier est attaché à chaque programme, et peut accueillir les notes et remarques relatives à sa programmation. Utilisez la commande "Fichier / Agenda" pour accéder à l'édition de ce fichier.

Quand l'option "Mise à jour du fichier agenda" est choisie, la fenêtre de saisie des annotations pour l'agenda est automatiquement ouverte à chaque sauvegarde des modifications apportées au programme. Ceci permet de créer facilement une trace des évolutions de chaque programme pendant le développement et la maintenance d'une application. Notez que cette option est commune pour tous les programmes (de tout langage) du projet. Pressez le bouton OK pour enregistrer dans la fichier agenda les notes saisies, ainsi que la date courante.


Sélection d'une variable dans le dictionnaire

 Pendant l'édition des programmes litéraux (ST ou IL) la commande "Edition / Insérer variable" permet de sélectionner une variable dont le symbole doit être inséré à la position courante du curseur. Pendant l'édition des programmes graphiques LD ou FBD, la sélection de variable est requise pour l'association aux contacts, relais, paramètres de blocs et champs "variables" des diagrammes FBD. Dans tous les cas, la boîte de dialogue de sélection de variable est utilisée.

Le champ "Portée" permet de sélectionner la portée des variables à lister (globales ou locales). La boîte de sélection de droite permet de choisir un type de variable. Les boutons graphiques à côté de cette boîte permettent de choisir les types les plus utilisés:

Booléen

Entier / réel

Temporisation

Message

Pour sélectionner une variable, cliquez sur son nom dans la liste. Son nom est alors affiché en tête de liste. Pressez alors le bouton "OK" pour confirmer sa sélection. Vous pouvez également cliquer deux fois dans la liste pour sélectionner une variable, ou entrer manuellement son symbole sans utiliser la liste.


Commandes du menu "Outils" menu

Les commandes suivantes sont disponibles dans le menu "Outils". Elles permettent l'affichage d'informations dans une fenêtre au bas de la fenêtre d'édition SFC:

Erreurs de compilation	affiche dans la fenêtre d'information les erreurs détectées lors de la dernière vérification du programme

Chercher dans les étapes/trans	affiche dans la fenêtre d'information les occurrences d'un texte trouvées dans l'ensemble des étapes et des transitions du programme

Cacher la liste	ferme la fenêtre d'information

Quand des messages d'erreur ou des occurrences sont listées dans la fenêtre d'information, cliquez deux fois sur une ligne pour ouvrir le programme de niveau 2 correspondant à l'emplacement indiqué.


Utilisation de la gallerie SFC

L'éditeur SFC d'ISaGRAF gère une gallerie d'objets SFC: c'est une collection de structures graphiques SFC pouvant être insérées dans tout nouveau graphe. Les éléments de la gallerie SFC peuvent optionnellement embarquer les programmes de niveau 2 associés aux étapes et transitions. Utilisez les commandes suivantes du menu "Outils":

Copier dans la gallerie	copie les éléments sélectionnés dans un nouvel élément de la gallerie

Copier depuis la gallerie	copie le contenu d'un élément de la gallerie à l'emplacement sélectionné

Lors de la copie vers la gallerie SFC (création d'un nouvel élément de la gallerie), vous pouvez demander d'embarquer les programmes de niveau 2 des étapes et transitions sélectionnées.