REPUBLIQUE DU CAMEROUN
UNIVERSITE DE NGAOUNDERE
Ecole de Génie Chimique et des Industries Minérales (EGCIM)
Ngaoundéré - Cameroun
Automates Programmables
Industriels (GCI4127/GME4127)
Niveau 4, Parcours :
➢ Génie Contrôle et Instrumentation (GCI)
➢ Génie ElectroMécanique (GEME)
Par M. Abraham DANDOUSSOU, MC
Chapitre 2 : Introduction à la programmation des
API 2.1. Les langages de programmation
2.1.1. Le langage à contacts (LD)
2.1.2. Le langage GRAFCET (SFC)
2.1.3. Le langage liste d’instructions (IL)
2.1.4. Le langage texte structuré (ST)
2.1.5. Le langage diagramme de schémas fonctionnels (FBD)
2.2. Instructions basiques du langage LD
2.2.1. Conventions du langage LD
2.2.2. Différentes instructions
2.3. Relais internes
2.4. Etudes de cas
2.4.1. Implémentation des fonctions logiques
2.4.2. Auto-maintient ou verrouillage
Chapitre 2 : Introduction à la programmation des
API
❑ Objectif : Programmer un API en langages à contacts en utilisant des
instructions simples.
• Programmer les fonctions logiques de base;
• Programmer des applications simples de base;
2.1. Les langages de programmation
❑ Ils sont définis par la norme CEI61131 – 3. Cette norme présente cinq
(5) langages de programmation possibles des API :
• Langage à contacts (Ladder Diagram, LD)
• Langage Graphes de fonctions séquentielles (Sequential
Function Chart, SFC)
• Langage Liste d’instructions (Instruction List, IL)
• Langage Texte structuré (Structured Text, ST)
• Langage Diagrammes de schémas fonctionnels (Function Block
Diagram, FBD)
2.1.1. Langage à contacts (Ladder, LD)
❑ Il utilise des symboles de contacts. Il est le plus utilisé et est
disponible pour tous les API.
2.1.2. Langage SFC
❑ Il est basé sur l’implémentation directe des GRAFCET. Il n’est pas
disponible pour tous les API.
2.1.3. Langage IL
❑ Il est basé sur l’utilisation des mnémoniques, spécifiques à chaque
fabricant d’API. Il est disponible pour pratiquement tous les API.
2.1.4. Langage ST
❑ Le texte structuré (ST) est un langage de programmation qui
ressemble énormément au langage Pascal. Les programmes sont
écrits sous forme d’une suite d’instructions séparées par des points-
virgules.
2.1.5. Langage FBD
❑ Un diagramme de schémas fonctionnels (FBD, Function Block
Diagram) est utilisé pour les programmes d’API décrits sous forme
de blocs graphiques. Il s agit d’un langage graphique pour
représenter les signaux et les données passant au travers de
blocs, qui sont des éléments logiciels réutilisables.
2.2. Instructions basiques du langage LD
2.2.1. Conventions du langage LD
❑ Le langage LD respecte un certain nombre de conventions (règles)
incontournables :
• Règle N°1: Les lignes verticales du schéma représentent les barres
d’alimentation, entre lesquelles des circuits sont connectés. Le flux du
courant part de la ligne verticale de gauche et traverse une ligne
horizontale.
• Règle N°2: Chaque ligne horizontale définit une opération du
processus de commande.
• Règle N°3: Chaque ligne doit commencer par une ou plusieurs entrées
et doit se terminer par au moins une sortie. Le terme entrée correspond
à une action de commande, comme fermer les contacts d’un
interrupteur utilisé en entrée; le terme sortie correspond à un dispositif,
comme un moteur, connecté à la sortie d’un API.
2.2.1. Conventions du langage LD
• Règle N°4: Un même dispositif peut apparaître sur plusieurs lignes du
schéma. Par exemple, un relais peut commuter un ou plusieurs
systèmes. Les mêmes lettres et/ou numéros sont utilisés comme
libellés du dispositif dans chaque cas.
• Règle N°5: Les entrées et les sorties sont toutes identifiées par leur
adresse, dont le format dépend du fabricant de l’API. Il s’agit de
l’adresse de l’entrée ou de la sortie dans la mémoire de l’API.
• Règle N°6: En cas de plusieurs sorties dans une même ligne
horizontale, celles-ci doivent être connectées en parallèle. Excepté
les gros API d’AB.
2.2.1. Conventions du langage LD
Barre d’alimentation Barre d’alimentation
gauche Flux du courant droite
Réseau 1
Lire l’état de toutes les entrées
et stocker en mémoire
Réseau 2
Lire les entrées en mémoires
Réseau 3 et exécuter le programme, en
stockant les sorties
résultantes en mémoire
Affecter toutes les sorties
Réseau N
2.2.2. Différentes Instructions du langage LD
❑ Le contact normalement ouvert ou suiveur
❑ Le contact normalement fermé ou inverseur
❑ La bobine de sortie normale et la bobine de sortie inversée
❑ La sortie à verrouillage (set ou latch)
SIEMENS ou SCHNEIDER Allen Bradley
S L
R U
2.3. Relais internes
❑ Ils sont utilisés pour conserver des données (bits) qui n’affectent pas
directement les sorties de l’API.
❑ C’est l’équivalent des relais auxiliaires en logique câblée.
2.3. Relais internes
❑ Pour les API de Siemens, les relais internes sont définis par une
adresse %Mx.y, x = 0,1, 2, …, 15,… et y = 0 à 7
Exemple : %M0.0, %M5.7, %M10.5, etc.
❑ Pour les API de Schneider, les relais internes sont définis par une
adresse %Mi, i = 0,1, 2, ….
Exemple : %M0, %M5, %M10, etc.
❑ Pour les API d’Allen-Bradley, ils sont définis par l’adresse B3:i/x, x = 0,
1, 2, …,15 (pour les micro) ou une étiquette sans adresse
Internal_Relay (pour les gros).
Exemple : B3:0/0, B3:0/5, B3:0/14, etc.
2.4. Etudes de cas
2.4.1. Implémentation des fonctions logiques
❑ Fonction NON : réalisée tout simplement par un seul inverseur,
contrôlant une ou plusieurs sorties.
❑ Fonction ET : réalisée en connectant en série plusieurs entrées,
contrôlant une ou plusieurs sorties.
❑ Fonction OU : réalisée en connectant en parallèle plusieurs entrées,
contrôlant une ou plusieurs sorties.
Exercice 1: Soit les circuits logiques ci-dessous. On désire les implémenter en
utilisant l’API est de type AC/DC/Relay de SIEMENS.
TAF: 1.) Réaliser le schéma de câblage de l’API.
2.) Ecrire le programme en langage à contacts.
B-)
A-)
C-)
Exercice 2: Un système, contrôlé par interrupteurs (S1, S2, S3 et S4), dispose de
trois lampes AC (L1, L2 et L3). Le cahier de charges est présenté ci-après sous-
forme d’une table de vérité. L’API est de type M221 de Schneider.
TAF: 1.) Réaliser le schéma de câblage de l’API.
2.) Ecrire le programme en langage à contacts.
S1 S2 S3 S4 L1 L2 L3
0 0 0 0 0 1 0
0 0 0 1 1 0 0
0 0 1 0 0 0 0
0 0 1 1 1 0 1
0 1 0 0 0 1 0
0 1 0 1 0 1 0
0 1 1 0 0 0 1
0 1 1 1 0 0 0
1 0 0 0 0 0 0
1 0 0 1 1 0 1
1 0 1 0 0 0 0
1 0 1 1 0 0 0
1 1 0 0 0 0 1
1 1 0 1 0 0 1
1 1 1 0 0 0 0
1 1 1 1 1 0 1
2.4.2. Auto-maintient ou verrouillage
❑ 1ère Méthode : Utiliser une entrée associée à la sortie contrôlée,
comme dans le cas de la logique câblée.
❑ 2ème Méthode : Utiliser la sortie à verrouillage (set ou latch).
S R
L U
Exercice 3: Analysez le système à API ci-après en complétant le diagramme.
❑ Schéma de câblage de l’API
❑ Programme en LD
❑ Diagramme de fonctionnement
Exercice 4: Démarrage un sens de marche d’un MAS, avec les voyants vert
(marche) et rouge (arrêt). L’API est de type MicroLogix 1100 d’AB. Les méthodes
utilisées sont :
a-) 01 BP NO (marche) et 01 PB NF (arrêt).
b-) 01 BP NF (marche) et 01 PB NO (arrêt).
c-) 01 BP NO (marche) et 01 PB NO (arrêt).
d-) 01 BP NF (marche) et 01 PB NF (arrêt).
TAF: 1.) Réaliser les schémas de puissance et de câblage de l’API.
2.) Ecrire le programme en langage à contacts, pour chaque méthode.
3.) Analyser le risque de chacune des méthodes utilisées.
Exercice 5: Démarrage manuel deux sens de marche d’un MAS, avec les trois
voyants vert (marche avant), bleu (marche arrière) et rouge (arrêt). L’API est de
type CompactLogix d’AB.
TAF: 1.) Réaliser les schémas de puissance et de câblage de l’API.
2.) Ecrire le programme en langage à contacts.
Exercice 6: Commande d’un réservoir
Un API M221 (AC/DC/Rly) de Schneider est utilisé pour contrôler le
fonctionnement d’un réservoir devant contenir une solution chimique.
• S1 et S2 sont des capteurs
discrets (0 : solution en dessous,
1 : solution au-dessus).
• V1 et V2 sont des électrovannes.
• START et STOP sont des BP NO
et NF respectivement.
• Des voyants Vert et Rouge sont
associés pour la marche et l’arrêt
respectivement.
Le fonctionnement est le suivant :
❖ Initialement, tout est à l’arrêt et le réservoir est vide, avec le voyant rouge
allumé.
❖ Un appui sur le BP NO met le système en marche, avec le voyant vert allumé.
Ainsi, V1 s’ouvre pour remplir le réservoir. Une fois que la solution atteint le
niveau S2, V1 se ferme et V2 s’ouvre pour évacuer la solution vers une autre
phase. Lorsque le niveau atteint S1, V2 se ferme et V1 s’ouvre pour encore
remplir le réservoir. Ainsi de suite.
❖ Un appui sur le BP NF arrête le système. Il faudra appuyer sur le BP NO pour
le relancer quelque soit le niveau de solution dans le réservoir.
TAF :
1) Schéma de câblage de l’API.
2) Programme en langage à contacts (LD).
NB : Les électrovannes sont contrôlées par des bobines de 24 VDC et les voyants
sont de 220 VAC.
Exercice 7:
Le vérin à double effet ci-dessous est utilisé pour déplacer une pièce d’un point A
vers un point B. La pièce est détectée en A par un contact fin de course NO et en B
par autre un contact fin de course NO.
❖ Initialement, aucune pièce n’est présente et le vérin est rentré.
❖ Un opérateur place une pièce en A, puis appuie sur un BP NO pour faire sortir le
vérin afin de déplacer la pièce en B.
❖ Une fois en B, le vérin doit rentrer. Et une nouvelle pièce est placée en A.
❖ Mais, le cycle ne peut reprendre que si l’on a retiré la pièce arrivée en B.
❖ En cas d’urgence, il faut appuyer sur un coup de poing pour tout arrêter.
TAF :
1) Schéma de câblage de l’API S7-1200 de Siemens.
2) Programme en langage à contacts ((LD).
Exercice 8: Utiliser un API de Siemens : Schéma et Programme en LD.
N L1
S1
S2 KA1 KM
KM KA1 KM KA2 KA2
KA2 KA1
KA1 KA2 KM H
Exercice 9: Utiliser un API de ControlLogix d’AB. On considère les
électrovannes ci-après dont les distributeurs sont bistables de 24 VDC.
Les capteurs fin de course NO A+, A-, B+ et B- permettent de détecter la
position du piston (droite ou gauche).
Le cycle de fonctionnement est donné ci-dessous.
TAF:
1-) Schéma de câblage de l’API.
2-) Programme en LD.
Exercice 10 : Un système chariot-vérin doit effectuer le trajet ci-après :
B – C – D- C – E – F – E – B – A – B Le chariot se déplace
horizontalement grâce à un MAS triphasé. Les mouvements verticaux
sont assurés par un vérin double effet solidaire au chariot. La présence
du chariot en B, C et E est détectée par trois fins de course S1, S2 et S3
respectivement. La fin de sortie et la fin de retour du vérin sont
détectées par deux fins de course S4 et S5 respectivement.
Ce système est mis en marche par un BP NO S0 et à l’arrêt par un BO
NF S0’. Utiliser un API M221 de Schneider.
B C E
A D F
FIN