Programmation SFC JP Viskovic/Omron France La Norme IEC 61131-3 En mars 1993, l'IEC* à définit la 3ème partie de la norme 61131 qui spécifie la syntaxe, la sémantique et la représentation des langages de programmation devant être utilisés pour les A.P.I En autorisant l’utilisation du diagramme fonctionnel en séquence, elle permet de donner aux programmes une structure proche de la spécification GRAFCET. *: International Electro-technical Commission JP Viskovic/Omron France Historique du GRAFCET Graphe Fonctionnel de Commande Etapes - Transitions 1975: le groupe de travail « Systèmes Logiques » de l’AFCET, décida de créer une commission "Normalisation de la représentation du cahier des charges d’un automatisme logique". 1977: les résultats de ces travaux firent l’objet, d’une part, d’un rapport interne à l ’AFCET, et d’autre part, d’une publication officielle dans la revue " Automatique et Informatique Industrielle" en décembre 1977, date que la communauté considère aujourd’hui comme correspondant à la date de naissance effective du GRAFCET. Le GRAFCET a eu 30 ans d'existence en 2007 JP Viskovic/Omron France Historique du GRAFCET Graphe Fonctionnel de Commande Etapes - Transitions 1982: le GRAFCET fit l’objet d’une Norme AFNOR(réf NF C03-190) 1988: le GRAFCET devient une norme internationale sous le nom de "Sequential Function Chart" (SFC) CEI/IEC 60848) 1993: la norme IEC 1131-3 permet de valider cinq langages de programmation d’API dont le SFC (inspiré du GRAFCET) JP Viskovic/Omron France Langages IEC 61131-3 LD - IL - SFC - ST - FBD - JP Viskovic/Omron France Ladder Diagram Instruction List Sequential Function Chart Structured text Function Block Diagram Quel langage choisir ? Texte Structuré Calculs mathématiques Instructions répétitives Traitements de chaînes caractères Ladder Diagram Logique combinatoire Fonctions dédiées (celles non disponibles en ST) Traitements rapides (optimisation du temps de cycle) Instruction List Allégement d'affichage Saisie rapide et non verbeuse Sequentiel Fonction Chart JP Viskovic/Omron France Nombre important de séquences Imbrication complexe des séquences (GEMMA, etc.) Surveillance précise de l’ensemble des états Clarté (programmation symbolique) La mise en oeuvre JP Viskovic/Omron France Cx-P Version 7.2 Depuis la version 7.2 de Cx-Programmer, l'éditeur propose désormais le langage SFC JP Viskovic/Omron France Élaboration du Séquentiel Étape initiale Étape Transition Divergence en OU Étape appelant un Macro-Étape (Réceptivité unique) (Réceptivité unique) JP Viskovic/Omron France Divergence en ET (simultanée) Actions et transitions Actions et transitions peuvent être écrites de la manière suivante Expression en LADDER Expression en ST Expression Booléenne Variable Booléenne JP Viskovic/Omron France Ces qualificatifs d’actions n’existaient pas en GRAFCET N S Action Normal Set R Reset D Delay SD Set Delay DS Delay Set SL Set Limit L Limit P Pulse P1 P0 JP Viskovic/Omron France Qualificatifs d’actions Rising Pulse Falling Pulse Description Étape active Action exécutée durant l'activation Action Action exécutée jusqu'au Reset Action Reset Action Reset L'action est exécutée après le délai Délai Idem D et au delà de l'étape Action Délai Idem D mais pas au delà de l'étape Action Délai Délai Action limitée par le délai Action Délai Action limitée par le délai et l'étape Action limitée par 1 ou 2 cycles API Action exécutée au front montant Action exécutée au front descendant Action 1 ou 2 cycles Action (suivant la fonction Final Scan) Action Action Actions Une ou plusieurs actions peuvent être associées à une étape Étape Actions associées Type d'action Commentaire Valeur de Tempo JP Viskovic/Omron France Nom de l'action Statut d’une action Chaque action dispose de 2 drapeaux de statut visible depuis un autre programme SFC (synchronisation). drapeau Q drapeau A Action Q A(*) Normal Normal Description Drapeau d'état de l'action. A ON durant toute la durée de l'action Drapeau d'état de l'action. A ON durant toute la durée puis une fois de plus, après la désactivation de l’étape MonAction MonAction.Q MonAction.A (*) Ce drapeau n’est disponible que si l’option de balayage final a été validée, il permet d’initialiser des variables à posteriori (voir page suivante). JP Viskovic/Omron France Le balayage final Expression incluse dans l’action Step 1 Action 1 Trans1 = 1 0 Step 2 (*) La bobine 102.00 doit être remise à zéro ! Action 2 Step 1 Action 1 Étape (drapeau X) Action (drapeau A ou Q) Action (drapeau A) Trans1 Action 2 étape Lorsque le balayage final est sélectionné (par défaut), l’action est exécutée une fois de plus après la désactivation de l’étape (voir chronogramme Action 1). Ceci permet de calculer une dernière fois les expressions (en LD) incluses, de manière à positionner les résultats (bobines par ex.) en tenant compte de cette désactivation (*). JP Viskovic/Omron France Le balayage final Cette fonctionnalité est directement issue de la norme IEC61131-3 Pour accéder à cette option, il faut d'abord autoriser son affichage depuis le menu Option puis dans les propriétés du Programme SFC, cocher l'option ci-dessous. JP Viskovic/Omron France Ordre d’exécution des actions Les actions contenant une variable booléenne sont prioritaires face aux expressions écrites en LADDER ou ST. L’ordre dans lequel les actions sont saisies est respecté au moment de l’exécution. 3 4 1 2 JP Viskovic/Omron France Etape Chaque étape dispose d’un drapeau de statut et d’un registre de temps d’activité Step1.X Étape activée.X Step2.X Step3.X Étape activée.T Step5.X JP Viskovic/Omron France Step4.X Drapeau de statut d'étape Ce bit indique l’état actif ou inactif de l’étape : Le drapeau d'étape active est accessible depuis : le même programme : Un autre programme: Hors d'une Macro-Étape : Hors d'une Macro-Étape et depuis un autre programme: JP Viskovic/Omron France étape.X Programme.étape.X Macro-Étape.étape.X Programme.Macro-Étape.étape.X Registre de temps d’activité Cette valeur T représente le temps écoulé depuis le début d’activation de l'étape : Cette valeur de tempo est accessible depuis : le même programme : Un autre programme: Hors d'une Macro-Étape : Hors d'une Macro-Étape et depuis un autre programme: JP Viskovic/Omron France étape.T Programme.étape.T Macro-Étape.étape.T Programme.Macro-Étape.étape.T Base de temps Cette base de temps est accessible par un click droit sur l'étape 100ms (1 à 65535 x 0,1s) Seconde (1s à 65535s) JP Viskovic/Omron France Instructions SFC Instructions de gestion d'étape SA activation d'étape Etape2.X SE désactivation d'étape Etape2.X Etape2.T TSR lecture de la tempo d'étape TSW écriture de la tempo d'étape Etape2.T JP Viskovic/Omron France Instruction SFC SFCPauseReset effectue pause durant l'exécution de la tâche SFC. Toutes les sorties sont remises à zéro. SFCPauseResetNone effectue une pause durant l'exécution de la tâche SFC. Toutes les sorties sont conservées dans l'état. SFCOFF interrompt l'exécution d'un tâche SFC. SFCON relance l'exécution d'un programme terminé ou en pause JP Viskovic/Omron France Les Subtilités JP Viskovic/Omron France Le cas SET/RESET PROSCRIT Étape_1 Étape_2 N ActionS SET 1.02 Étape_3 N ActionR RESET 1.02 CORRECT Étape_1 Étape_2 N Étape_3 Le GRAFCET permet de s'affranchir de la gestion des bascules SET/RESET. Ainsi, le statut activé/désactivé d'une étape peut être répercuté directement sur la bobine. 1.02 Balayage final Par ailleurs, lorsque qu'une sortie doit restée activée durant plusieurs étapes, la règle est d'actionner cette sortie dans chacune des étapes. JP Viskovic/Omron France Duplications Programmes Prog_A Étape_1 Étape_2 N Action OUT 1.02 N Action OUT 1.02 Prog_B Étape_1 Étape_2 Prog_Commun Prog_A.Etape_2.X Prog_B.Etape_2.X JP Viskovic/Omron France OUT 1.02 Pour éviter que deux programmes GRAFCET simultanés inter-agissent sur la même bobine, il est fortement conseillé de les activer depuis un programme commun en combinant les drapeaux d'étapes des programmes respectifs. Comparaison programmes Valable également sur la partie SFC JP Viskovic/Omron France Options d'affichages JP Viskovic/Omron France Aperçu Principal Macro-étape JP Viskovic/Omron France Exercices • Tour de chauffe, saisissez ce SFC simuler et comparez avec les exercices en LD et ST JP Viskovic/Omron France Actionneur Arrêt Marche Compteur1 Compteur2 BOOL BOOL BOOL UINT UINT 102.00 2.01 2.00 D1000 D1001 Exercices • Un peu plus complexe, saisissez ce SFC et la suite… JP Viskovic/Omron France Exercices • … la suite, les transitions Transition3 JP Viskovic/Omron France Exercices • … la suite, les actions, les adresses. Simulez. Actionneur Actionneur2 TR_1 TR_2 Flag01 Flag02 JP Viskovic/Omron France BOOL BOOL BOOL BOOL BOOL BOOL W0.00 W0.01 W1.00 W1.01 W100.03 W100.04