Vote utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 
Pin It

Définition et structure d'un automate programmable

Selon la norme NFC 63-850 : un automate programmable c'est un « Appareil électronique qui comporte une mémoire programmable par un utilisateur automaticien (et non informaticien) à l’aide d’un langage adapté, pour le stockage interne des instructions composant les fonctions d’automatisme comme par exemple :

  • Logique séquentielle et combinatoire ;
  • Temporisation, comptage, décomptage, comparaison ;
  • Calcul arithmétique ;
  • Réglage, asservissement, régulation, etc,

pour commander, mesurer et contrôler au moyen d’entrées et de sorties (logiques, numériques ou analogiques) différentes sortes de machines ou de processus, en environnement industriel. »

Il est utilisé pour les machines destinées aux applications telles que le packaging secondaire, la manutention, l'imprimerie, l'agro-alimentaire, les machines à bois, etc...

 

Exemple d'automate programmable

 

Structure des automates programmables :

 

 

schéma de structure d'un automate programmable

 

l'unité centrale représente le cœur de la machine, et comprend le/les processeur(s) et la mémoire. Elle commande l'interprétation et l'exécution des instructions programmes. Les instructions sont effectuées les unes après les autres, séquencées par une horloge. Exemple: Si deux actions doivent être simultanées, l'API les traite successivement.

Langages de programmation pour API: Norme IEC 1131-3

La norme IEC 1131-3 définit cinq langages qui peuvent être utilisés pour la programmation des automates programmables industriels. Ces cinq langages sont :

  • LD (« Ladder Diagram », ou schéma à relais): ce langage graphique est essentiellement dédié à la programmation d’équations booléennes (vraie/faux).

  • IL (« Instruction List », ou liste d’instructions): ce langage textuel de bas niveau est un langage à une instruction par ligne. Il peut être comparé au langage assembleur.

  • FBD (« Function Block Diagram », ou schéma par blocs): ce langage permet de programmer graphiquement à l’aide de blocs, représentant des variables, des opérateurs ou des fonctions. Il permet de manipuler tous les types de variables.

  • SFC (« Sequential Function Char »): issu du langage GRAFCET, ce langage, de haut niveau, permet la programmation aisée de tous les procédés séquentiels.

  • ST («Structured Text » ou texte structuré): ce langage est un langage textuel de haut niveau. Il permet la programmation de tout type d’algorithme plus ou moins complexe.

Objets communs

Toute expression, constante ou variable, utilisée dans un programme doit être caractérisée par un type, les types de base sont :

  • BOOL (Booléen) : ce type donne la valeur « Vraie » ou « Faux » qui sont équivalent à « 1 » ou « 0 »).

  • DINT  (Entier) : c’est un nombre entre -2147483647 et +2147483647. Il est exprimé dans l’une des bases suivantes : décimale, hexadécimale, octale ou binaire.

  • REAL (Réel) il prend 1 bit de signe +23 bits de mantisse +8 bits d’exposant compris entre -37 et +37.

  • TIME (Temporisation) : c’est une valeur strictement positive et commence par T# ou TIME#.

  • STRING (Chaîne) : elle doit être précédée et suivie par une apostrophe, et ne doit jamais excéder 255 caractères). Le caractère spécial (‘$’) est utilisée pour insérer des caractères non imprimables.

Langage LD

Le langage LD (ladder diagram) est une représentation graphique d’équations booléennes combinant des contacts (en entrée) et des relais (en sortie). Il permet la manipulation de données booléennes, à l’aide de symboles graphiques organisés dans un diagramme comme les éléments d’un schéma électrique à contacts. Les diagrammes LD sont limités à gauche et à droite par des barres d’alimentation.

Langage IL

Le langage IL (instruction list), est un langage textuel de bas niveau. Il est particulièrement adapté aux applications de petite taille. Les instructions opèrent toujours sur un résultat courant (ou registre IL). L’opérateur indique le type d’opération à effectuer entre le résultat courant et l’opérande. Le résultat de l’opération est stocké à son tour dans le résultat courant.

Un programme IL est une liste d’instructions. Chaque instruction doit commencer par une nouvelle ligne, et doit contenir un opérateur, complété éventuellement par des modificateurs et, si c’est nécessaire pour l’opération, un ou plusieurs opérandes, séparés par des virgules (’,’). Une étiquette suivie de deux points (’:’) peut précéder l’instruction. Si un commentaire est attaché à l’instruction, il doit être le dernier élément de la ligne. Des lignes vides peuvent être insérées entre des instructions. Un commentaire peut être posé sur une ligne sans instruction.

Langage FBD

Le langage FBD (function block diagram) est un langage graphique. Il permet la construction d'équations complexes à partir des opérateurs standard, de fonctions ou de blocs fonctionnels.

Les principales fonctions sont :

  • l’énonce RETURN (peut apparaître comme une sortie du diagramme, si liaison connectée prend l’état booléen TRUE, la fin du diagramme n’est pas interprétée.

  • Les étiquettes et les sauts conditionnels sont utilisés pour contrôler l’exécution du diagramme. Aucune connexion ne peut être réalisée à droite d’un symbole d’étiquette ou de saut.

  • saut à une étiquette (le nom de l’étiquette est « LAB »).

Si la liaison à gauche du symbole de saut prend l’état booléen TRUE, l’exécution du programme est déroutée après l’étiquette correspondante.

L’inversion booléenne est représentée par un petit cercle.

Langage SFC

Le langage SFC (Sequential Function Chart), ou GRAFCET, est un langage graphique utilisé pour décrire les opérations séquentielles. Le procédé est représenté comme une suite connue d’étapes (états stables), reliées entre elles par des transitions, une condition booléenne est attachée à chaque transition. Les actions dans les étapes sont décrites avec les langages ST, IL, LD ou FBD.

Les principales règles graphiques sont :

  • un programme SFC doit contenir au moins une étape initiale.

  • une étape ne peut pas être suivie d’une autre étape.

  • une transition ne peut pas être suivi d’une autre transition.

Les composants de base (symboles graphiques) du graphique SFC sont :

  • étapes et étapes initiales.

  • Transitions.

  • liaisons orientées.

  • renvoi à une étape.

Les différents types d’action sont :

  • action booléenne (Elle est forcée à chaque fois que le signal d’activité de l’étape change d’état.)

  • action impulsionnelle programmée en ST, LD ou IL (c’est une liste d’instructions ST, IL ou LD, exécutée à chaque cycle pendant toute la durée d’activité de l’étape).

  • action normale programmée en ST, LD ou IL ;

  • action 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. Elle peut être décrite avec les qualificatifs d’action N (non mémorisée), S (set), ou R (reset).)

Plusieurs actions (de même type ou de types différents) peuvent être décrites dans la même étape. Un appel de fonctions ou de blocs fonctionnels permet d’intégrer des traitements décrits dans d’autres langages (FBD, LD, ST ou IL).

Langage ST

Le langage ST (Structured Text) est un langage textuel de haut niveau dédié aux applications d’automatisation. Ce langage est principalement utilisé pour décrire les procédures complexes, difficilement modélisables avec les langages graphiques. C’est le langage par défaut pour la programmation des actions dans les étapes et des conditions associées aux transitions du langage SFC.

Un programme ST est une suite d’énoncés. Chaque énoncé est terminé par un point virgule (« ; »). Les noms utilisés dans le code source (identificateurs de variables, constantes, mots clés du langage...) sont délimités par des séparateurs passifs ou des séparateurs actifs, qui ont un rôle d’opérateur. Des commentaires peuvent être librement insérés dans la programmation.

Les types d’énoncés standard sont :

  • assignation (variable := expression;) ;

  • appel de fonction ;

  • appel de bloc fonctionnel ;

  • énoncés de sélection (IF, THEN, ELSE, CASE) ;

  • énoncés d’itération (FOR, WHILE, REPEAT) ;

  • énoncés de contrôle (RETURN, EXIT) ;

  • opérateurs booléens (NOT, AND, OR, XOR) ;

  • énoncés spéciaux pour le lien avec le langage SFC.

Il est recommandé de respecter les règles suivantes quand on utilise les séparateurs passifs, pour assurer une bonne lisibilité du code source :

  • ne pas écrire plusieurs énoncés sur la même ligne ;

  • utiliser les tabulations pour indenter les structures de contrôle ;

  • insérer des commentaires.

 

 


Pin It