AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
REPUBLIQUE DE GUINEE
Travail-Justice-Solidarité
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR DE LA RECHERCHE
SCIENTIFIQUE ET DE L’INNOVATION
SUPPORT DE COURS SUR LA
PROGRAMMATION DES API
Durée :2 HEURES
Responsable des Cours : M. KABA Moussa Tel : 666 05 22 50 / 662 00 39 39
Professeur Chargé du cours : Mr. Moussa KABA 1
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
INSTITUT POLYTECHNIQUE / GENIE INFO ET GIM EXPOSEES EN AUTOMATISME
INDUSTRIEL
Responsable des Cours : M. KABA Moussa Tel : 666 05 22 50 / 662 00 39 39
GROUPE 5 : LICENCE 3
THEME : La Programmation des API
• 6.1. Mise en équations des GRAFCET
• 6.1.1. Mémoire d’étape
• 6.1.2. Initialisation de la séquence
• 6.2. Langages de programmation des API
• 6.2.1. Le langage LADER (LD)
• 6.2.2. Adressage des entrées/sorties
Durée : 1 Heures.
Professeur Chargé du cours : Mr. Moussa KABA 2
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
Introduction à la Programmation des API
Les Automates Programmables Industriels (API), ou Programmable Logic
Controllers (PLC) en anglais, sont des dispositifs électroniques numériques
utilisés pour automatiser des processus industriels. Leur rôle principal est
de contrôler des machines ou des systèmes en exécutant un programme
enregistré en mémoire qui lit des entrées, effectue des opérations logiques
et arithmétiques, et pilote des sorties. Ils sont essentiels dans des secteurs
variés tels que la fabrication, l'énergie, les transports et la robotique,
permettant une flexibilité, une fiabilité et une précision accrues des
opérations.
La programmation structurée des API est d'une importance capitale pour
garantir la maintenabilité, la lisibilité et l'efficacité des programmes. Une
approche structurée permet de décomposer des problèmes complexes en
modules plus petits et gérables, facilitant ainsi le débogage et les
modifications ultérieures. Cela contribue également à réduire les erreurs et
à améliorer la robustesse du système.
Pour assurer l'interopérabilité et la qualité des programmes, il est crucial de
se référer aux normes internationales, notamment la norme IEC 61131-3,
qui définit les langages de programmation des API. Les bonnes pratiques
incluent l'utilisation de commentaires clairs, la nomination significative des
variables, la réutilisation de code, et la documentation rigoureuse des
projets.
Mise en Équations des GRAFCET : Mémoire d’Étape
La traduction d'un GRAFCET (Graphe Fonctionnel de Commande Étapes
Transitions) en équations logiques est une étape fondamentale pour
implémenter l'automatisme sur un API. Cette méthode permet de
transformer la représentation graphique et séquentielle du processus en un
ensemble d'expressions booléennes compréhensibles par l'automate. Le
Professeur Chargé du cours : Mr. Moussa KABA 3
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
GRAFCET, par sa clarté et sa rigueur, offre un cadre idéal pour cette
conversion.
Chaque étape du GRAFCET est représentée par une variable d'étape
binaire, souvent notée Xn (où n est le numéro de l'étape). Lorsque l'étape
Xn est active, sa variable associée prend la valeur logique 1 (VRAI) ; sinon,
elle prend la valeur 0 (FAUX). Par exemple, si l'étape X1 est en cours
d'exécution, alors X1 = 1. Cette variable d'étape constitue la "mémoire" de
l'état actuel du système.
La mise en équations repose sur la définition de la règle d'évolution du
GRAFCET :
• Règle d'activation : Une étape est activée si son (ses) étape(s)
précédente(s) est (sont) active(s) et si la (les) transition(s) associée(s)
est (sont) validée(s).
• Règle de désactivation : Une étape est désactivée dès que la
transition qui lui succède est franchie.
Ces règles se traduisent en équations logiques qui décrivent l'état futur de
chaque étape en fonction de l'état actuel des étapes et des conditions de
transition. Par exemple, l'équation d'activation d'une étape Xn peut être
formulée comme : Xn (nouvel état) = (Xn-1 AND Condition de transition) OR
(Xn AND NOT Condition de désactivation). Ces équations forment la base
du programme de l'API.
Initialisation de la Séquence GRAFCET
L'initialisation correcte d'une séquence GRAFCET est un aspect critique
pour garantir le bon fonctionnement et la fiabilité d'un système automatisé.
Une séquence mal initialisée peut entraîner des comportements imprévus,
des dysfonctionnements, voire des situations dangereuses. L'objectif est
de placer le système dans un état connu et stable avant le début de toute
opération.
Il existe plusieurs méthodes d'initialisation, adaptées à différents scénarios
:
Professeur Chargé du cours : Mr. Moussa KABA 4
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
• Initialisation manuelle : Elle est déclenchée par un opérateur,
généralement via un bouton poussoir "RESET" ou "START". Cela
permet un contrôle humain sur le démarrage de la séquence.
• Initialisation automatique : Le système s'initialise automatiquement
lors de la mise sous tension de l'API ou après un cycle complet. Cette
méthode est utilisée lorsque le démarrage ne nécessite pas
d'intervention.
• Initialisation conditionnelle : La séquence s'initialise uniquement si
certaines conditions de sécurité ou de positionnement sont remplies
(par exemple, toutes les pièces sont en place, les capots sont
fermés).
Pour un GRAFCET simple, l'initialisation consiste souvent à activer l'étape
initiale (généralement notée X0 ou X1) et à désactiver toutes les autres
étapes. Par exemple, au démarrage, on peut forcer X0 = 1 et X1 = X2 = X3 =
0. En termes de programmation, cela implique l'utilisation de bits de
mémoire spécifiques ou de blocs de fonctions dédiés à l'initialisation. Ces
bits de mémoire stockent l'état initial désiré et sont mis à jour lors du
démarrage ou du réarmement du système.
Langages de Programmation des API : Introduction
La norme internationale IEC 61131-3 définit les langages de programmation
standards pour les API, offrant ainsi une interopérabilité et une facilité
d'apprentissage pour les ingénieurs et techniciens. Cette norme propose
cinq langages principaux, chacun ayant ses propres avantages et domaines
d'application privilégiés :
• Ladder Diagram (LD) :
• Function Block Diagram (FBD) : Langage graphique utilisant des
blocs fonctionnels prédéfinis (portes logiques, compteurs,
temporisateurs, etc.).
Professeur Chargé du cours : Mr. Moussa KABA 5
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
• Structured Text (ST) : Langage textuel de haut niveau, similaire au
Pascal, permettant des algorithmes complexes et des calculs
arithmétiques.
• Instruction List (IL) : Langage textuel de bas niveau, proche de
l'assembleur, rarement utilisé aujourd'hui pour les nouveaux
développements.
• Sequential Function Chart (SFC) : Langage graphique pour la
description des séquences (équivalent du GRAFCET).
Le choix du langage dépend de la complexité de l'application, des
préférences de l'entreprise, des compétences de l'équipe de
programmation et du type d'API utilisé. Pour les séquences simples, LD ou
FBD sont souvent préférés. Pour les algorithmes complexes ou les calculs,
ST est plus adapté.
Quelle que soit le langage choisi, la documentation et les commentaires
dans le code sont absolument essentiels. Des programmes bien
commentés sont plus faciles à comprendre, à déboguer et à maintenir, ce
qui est crucial dans un environnement industriel où les modifications sont
fréquentes et où la continuité de service est primordiale.
Le Langage LADDER (LD) : Principes de Base
Le langage Ladder Diagram (LD), ou langage à contacts, est l'un des
langages de programmation les plus répandus et les plus anciens pour les
API. Sa popularité vient de sa représentation graphique intuitive, qui
ressemble aux schémas électriques à relais, le rendant familier aux
électriciens et aux techniciens en automatisation.
La structure du langage Ladder est basée sur des "lignes de réseau" ou
"rungs", qui sont lues de gauche à droite. Chaque ligne de réseau
Professeur Chargé du cours : Mr. Moussa KABA 6
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
commence par une série de contacts (conditions) et se termine par une ou
plusieurs bobines (actions/sorties). Le principe est que l'état de la bobine
dépend de l'état des contacts qui la précèdent : si le "courant" passe à
travers tous les contacts, la bobine est activée.
Les éléments fondamentaux du Ladder incluent :
• Contacts :
o Normalement Ouvert (NO) : Permet le passage du courant si
l'entrée ou la variable associée est active (état 1). Représente
une opération logique AND lorsqu'il est en série.
o Normalement Fermé (NF) : Bloque le passage du courant si
l'entrée ou la variable associée est active (état 1). Représente
une opération logique NOT.
• Bobines : Représentent les sorties physiques de l'API ou les variables
internes. Une bobine est activée (mise à 1) si le chemin qui la
précède est vrai.
Le Ladder permet également de réaliser des fonctions plus complexes
grâce à des blocs fonctionnels dédiés, tels que :
• Temporisateurs :
o TON (Timer On Delay) : Active une sortie après un délai
déterminé une fois que son entrée est vraie.
o TOF (Timer Off Delay) : Maintient une sortie active pendant un
délai déterminé après que son entrée est devenue fausse.
Professeur Chargé du cours : Mr. Moussa KABA 7
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
• Compteurs :
o CTU (Count Up) : Incrémente un compteur à chaque impulsion
sur son entrée.
o CTD (Count Down) : Décrémente un compteur à chaque
impulsion sur son entrée.
Ces éléments permettent de construire des logiques de contrôle très
élaborées pour diverses applications industrielles.
Adressage des Entrées/Sorties (I/O)
L'adressage des entrées/sorties (I/O) est un aspect fondamental de la
programmation des API, car il établit le lien entre le programme logiciel et le
monde physique des capteurs et des actionneurs. Sans un adressage
correct, l'API ne peut ni lire les informations de l'environnement, ni
contrôler les équipements.
Chaque API possède ses propres conventions d'adressage, qui peuvent
varier légèrement d'un fabricant à l'autre (Siemens, Rockwell, Schneider
Electric, etc.). Cependant, la plupart des systèmes utilisent une structure
hiérarchique pour identifier de manière unique chaque point d'E/S.
On distingue généralement deux types d'adressage :
• Adressage physique : Il fait référence à l'emplacement physique de
l'entrée ou de la sortie sur le module I/O de l'API. Il se compose
Professeur Chargé du cours : Mr. Moussa KABA 8
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
souvent d'un préfixe indiquant le type (entrée ou sortie), du numéro
du module, et du numéro du bit ou de la voie. Par exemple :
o %I0.0 : Indique l'entrée (I) du module 0, bit 0.
o %Q0.0 : Indique la sortie (Q) du module 0, bit 0.
o %M0 : Représente un bit de mémoire interne (M), utilisé pour
des variables temporaires ou des états internes du programme.
• Adressage symbolique : Il utilise des noms descriptifs et faciles à
comprendre, attribués par le programmeur. Par exemple, au lieu
d'utiliser %I0.0, on pourrait utiliser "Capteur_Presence_Piece". Ceci
rend le programme beaucoup plus lisible et maintenable. Une table
de correspondance est alors utilisée pour lier ces noms symboliques
aux adresses physiques.
L'utilisation de tables de correspondance est une bonne pratique
essentielle. Elles permettent de centraliser toutes les informations
d'adressage, facilitant la modification des configurations matérielles sans
avoir à modifier chaque occurrence de l'adresse physique dans le
programme. Elles sont cruciales pour la documentation et le dépannage
des systèmes automatisés.
Conclusion et Perspectives
En résumé, la programmation des Automates Programmables Industriels
est au cœur de l'automatisation moderne. Nous avons exploré les principes
fondamentaux du GRAFCET, en particulier la mise en équations des étapes
et l'importance cruciale d'une initialisation correcte pour la fiabilité des
systèmes. Nous avons également passé en revue les principaux langages
de programmation définis par la norme IEC 61131-3, en nous attardant sur
le langage Ladder (LD), sa structure et ses éléments de base comme les
contacts, les bobines, les temporisateurs et les compteurs. Enfin, nous
avons souligné l'importance de l'adressage des entrées/sorties, qu'il soit
Professeur Chargé du cours : Mr. Moussa KABA 9
AUTOMATISME INDUSTRIEL
Exposé Sur La Programmation Des API
physique ou symbolique, pour établir la connexion entre le logiciel et le
matériel.
La validation et la simulation des programmes d'API sont des étapes
indispensables avant le déploiement sur des systèmes réels. Elles
permettent de détecter les erreurs logiques, de tester les différents
scénarios et d'assurer le comportement attendu du système sans risquer
d'endommager les équipements ou de compromettre la sécurité. Des
outils de simulation avancés sont de plus en plus intégrés aux
environnements de développement des API.
L'automatisation industrielle est un domaine en constante évolution. Les
langages de programmation des API continuent de s'enrichir, intégrant
davantage de fonctionnalités orientées objet, de connectivité (Industrie 4.0,
IoT industriel) et d'outils de diagnostic avancés. Les défis de
l'automatisation moderne incluent la cybersécurité des systèmes
industriels, l'intégration de l'intelligence artificielle et de l'apprentissage
automatique pour des contrôles plus adaptatifs et prédictifs, ainsi que la
nécessité de compétences multidisciplinaires pour les ingénieurs et
techniciens.
Professeur Chargé du cours : Mr. Moussa KABA 10