Vous êtes sur la page 1sur 54

AUTOMATIQUE

3A
Automates: notions et
langages de programmation
L3 PROMO 2021
Par Tychique Nzalalemba

TYCHIQUE NZALALEMBA 1
Introduction
1. Historique
Les automates programmables industriels sont apparus à la fin des années soixante, à la
demande de l'industrie automobile américaine (GM), qui réclamait plus d'adaptabilité de leurs
systèmes de commande. Les coûts de l'électronique permettant alors de remplacer
avantageusement les technologies actuelles.
Avant : utilisation de relais électromagnétiques et de systèmes pneumatiques pour la réalisation
des parties commandes
⇒logique câblée
Inconvénients : cher, pas de flexibilité, pas de communication possible
Solution : utilisation de systèmes à base de microprocesseurs permettant une modification aisée
des systèmes automatisés
⇒logique programmée
Les ordinateurs de l'époque étant chers et non adaptés aux contraintes du monde industriel, les
automates devaient permettre de répondre aux attentes de l'industrie.

TYCHIQUE NZALALEMBA 2
Introduction
2. Définition
L'Automate Programmable Industriel (API) est un appareil électronique
programmable, adapté à l'environnement industriel, qui réalise des fonctions
d'automatisme pour assurer la commande de préactionneurs et d'actionneurs à
partir d'informations logique, analogique ou numérique.
Le même type d’automate peut être utilisé pour différentes applications, la
différence s’effectue avec le programme installé dans celui-ci. Pour réaliser ces
programmes on utilise différents langages en fonction de l’automate, de
l’utilisateur et du concepteur.
L’ API traduit le langage de programmation en langage compréhensible
directement par le microprocesseur. Ce langage est propre à chaque
constructeur, il est lié au matériel mis en œuvre.

TYCHIQUE NZALALEMBA 3
Introduction
3. Structure d’un système automatisé
Tout système automatisé peut se décomposer selon le schéma ci-dessous :

TYCHIQUE NZALALEMBA 4
Introduction
3. Structure d’un système automatisé

Partie opérative :
Elle agit sur la matière d’œuvre afin de lui donner sa valeur ajoutée.
Les actionneurs (moteurs, vérins) agissent sur la partie mécanique du système qui agit à son tour
sur la matière d’œuvre.
Les capteurs/détecteurs permettent d’acquérir les divers états du système.
Partie commande :
Elle donne les ordres de fonctionnement à la partie opérative. Les préactionneurs permettent de
commander les actionneurs ; ils assurent le transfert d’énergie entre la source de puissance (réseau
électrique, pneumatique …) et les actionneurs.
Exemple: contacteur, distributeur…
Ces préactionneurs sont commandés à leur tour par le bloc traitement des informations. Celui-ci
reçoit les consignes du pupitre de commande (opérateur) et les informations de la partie opérative
transmises par les capteurs/détecteurs. En fonction de ces consignes et de son programme de
gestion des tâches (implanté dans un automate programmable ou réalisé par des relais (on parle de
logique câblée), elle va commander les préactionneurs et renvoyer des informations au pupitre de
signalisation ou à d'autres systèmes de commande et/ou de supervision en utilisant un réseau et
un protocole de communication.

TYCHIQUE NZALALEMBA 5
Introduction
3. Structure d’un système automatisé

Poste de contrôle :
Composé des pupitres de commande et de signalisation, il permet à l’opérateur
de commander le système (marche, arrêt, départ cycle …).
Il permet également de visualiser les différents états du système à l’aide de
voyants, de terminal de dialogue ou d’interface homme-machine (IHM).

TYCHIQUE NZALALEMBA 6
Introduction
4. Nature des informations traitées par l'automate

Les informations peuvent être de type :

Tout ou rien (T.O.R.) : l'information ne peut prendre que deux états (vrai/faux, 0
ou 1 …). C'est le type d'information délivrée par un détecteur, un bouton
poussoir, etc.

Analogique : l'information est continue et peut prendre une valeur comprise


dans une plage bien déterminée. C'est le type d'information délivrée par un
capteur (pression, température …)

Numérique : l'information est contenue dans des mots codés sous forme binaire
ou bien hexadécimale. C'est le type d'information délivrée par un ordinateur ou
un module intelligent.

TYCHIQUE NZALALEMBA 7
Architecture des Automates
1. Aspect extérieur

Les automates peuvent être de type compact ou modulaire.


De type compact, on distinguera les modules de programmation (LOGO de
Siemens, ZELIO de Schneider, MILLENIUM de Crouzet ...) des microautomates. Il
intègre le processeur, l'alimentation, les entrées etles sorties. Selon les modèles et
les fabricants, il pourra réaliser certaines fonctions supplémentaires (comptage
rapide, E/S analogiques ...) et recevoir des extensions en nombre limité.
Ces automates, de fonctionnement simple, sont généralement destinés à la
commande de petits automatismes.
De type modulaire, le processeur, l'alimentation et les interfaces d'entrées/sorties
résident dans des unités séparées (modules) et sont fixées sur un ou plusieurs
racks contenant le "fond de panier" (bus plus connecteurs).
Ces automates sont intégrés dans les automatismes complexes où puissance,
capacité de traitement et flexibilité sont nécessaires.

TYCHIQUE NZALALEMBA 8
Architecture des Automates
1. Aspect extérieur

TYCHIQUE NZALALEMBA 9
Architecture des Automates
1. Aspect extérieur

TYCHIQUE NZALALEMBA 10
Architecture des Automates
2. Structure interne

TYCHIQUE NZALALEMBA 11
Architecture des Automates
2. Structure interne

Module d'alimentation: il assure la distribution d'énergie aux différents modules.


Unité centrale: à base de microprocesseur, elle réalise toutes les fonctions logiques,
arithmétiques et de traitement numérique (transfert, comptage, temporisation ...).
Le bus interne: il permet la communication de l'ensemble des blocs de l'automate et
des éventuelles extensions.
Mémoires: Elles permettent de stocker le système d'exploitation (ROM ou PROM), le
programme (EEPROM) et les données système lors du fonctionnement (RAM). Cette
dernière est généralement secourue par pile ou batterie. On peut, en règle générale,
augmenter la capacité mémoire par adjonction de barrettes mémoires type PCMCIA.
Interfaces d'entrées/sorties :
 Interface d'entrée: elle permet de recevoir les informations du Système Automatisé de
Production (S.A.P.) ou du pupitre et de mettre en forme (filtrage, ...) ce signal tout en l'isolant
électriquement (optocouplage).
 Interface de sortie: elle permet de commander les divers préactionneurs et éléments de
signalisation du S.A.P. tout en assurant l'isolement électrique.

TYCHIQUE NZALALEMBA 12
Architecture des Automates
3. Fonctions réalisées

Les automates compacts permettent de commander des sorties en T.O.R et gèrent parfois des
fonctions de comptage et de traitement analogique.

Les automates modulaires permettent de réaliser de nombreuses autres fonctions grâce à des
modules intelligents que l'on dispose sur un ou plusieurs racks. Ces modules ont l'avantage de
ne pas surcharger le travail de la CPU car ils disposent bien souvent de leur propre processeur.

Les Cartes d'entrées/sorties : Au nombre de 4, 8, 16 ou 32, elles peuvent aussi bien réaliser
des fonctions d'entrées, de sorties ou les deux.
Ce sont les plus utilisées et les tensions disponibles sont normalisées (24, 48, 110 ou 230V
continu ou alternatif ...).
Les voies peuvent être indépendantes ou posséder des "communs".
Les cartes d'entrées permettent de recueillir l'information des capteurs, boutons ... qui lui sont
raccordés et de la matérialiser par un bit image de l'état du capteur.
Les cartes de sorties offrent deux types de technologies: les sorties à relais électromagnétiques
(bobine plus contact) et les sorties statiques (à base de transistors ou de triacs).

TYCHIQUE NZALALEMBA 13
Architecture des Automates
3. Fonctions réalisées

Les cartes de comptage rapide: elles permettent d'acquérir des informations de fréquences élevées
incompatibles avec le temps de traitement de l'automate.
Exemple: signal issu d'un codeur de position.

Les cartes de commande d'axe: Elles permettent d'assurer le positionnement avec précision d'élément
mécanique selon un ou plusieurs axes. La carte permet par exemple de piloter un servomoteur et de
recevoir les informations de positionnement par un codeur. L'asservissement de position pouvant être
réalisé en boucle fermée.

Les cartes d'entrées/sorties analogiques: Elles permettent de réaliser l'acquisition d'un signal analogique
et sa conversion numérique (CAN) indispensable pour assurer un traitement par le microprocesseur. La
fonction inverse (sortie analogique) est également réalisée. Les grandeurs analogiques sont normalisées :
0-10V ou 4-20mA.

Autres cartes:
◦ Cartes de régulation PID
◦ Cartes de pesage
◦ Cartes de communication (Ethernet,...)
◦ Cartes d'entrées/sorties déportées

TYCHIQUE NZALALEMBA 14
Architecture des Automates
4. Traitement du programme Automate

Tous les automates fonctionnent selon le même mode opératoire :

TYCHIQUE NZALALEMBA 15
Architecture des Automates
4. Traitement du programme Automate

Traitement interne: L'automate effectue des opérations de contrôle et met à jour certains paramètres systèmes
(détection des passages en RUN / STOP, mises à jour des valeurs de l'horodateur, ...).
Lecture des entrées: L'automate lit les entrées (de façon synchrone) et les recopie dans la mémoire image des
entrées.
Exécution du programme: L'automate exécute le programme instruction par instruction et écrit les sorties dans la
mémoire image des sorties.
Ecriture des sorties: L'automate bascule les différentes sorties (de façon synchrone) aux positions définies dans la
mémoire image des sorties.
Ces quatre opérations sont effectuées continuellement par l'automate (fonctionnement cyclique).
On appelle scrutation, l'ensemble des quatre opérations réalisées par l'automate et le temps de scrutation est le
temps mis par l'automate pour traiter la même partie de programme. Ce temps est de l'ordre de la dizaine de
millisecondes pour les applications standards.
Le temps de réponse total (TRT)est le temps qui s'écoule entre le changement d'état d'une entrée et le
changement d'état de la sortie correspondante :

TYCHIQUE NZALALEMBA 16
Programmation des Automates
1. Programmation

Elle s’effectue au moyen d’ un terminal de programmation qui permet également la


mise en service ainsi que le réglage des variables internes.
Ce terminal de programmation peut être utilisé:
En mode local : Préparation du programme en bureau d’étude. Ou relié à l’ API afin
de transférer le programme et de réaliser la mise en service.

Le programme est défini comme un “ensemble logique de tous les éléments et


constructions des langages de programmation nécessaires pour le traitement
des données requis pour contrôler une machine ou un processus au moyen
d’une configuration d’automate programmable”.

TYCHIQUE NZALALEMBA 17
Programmation des Automates
2. Lecture du programme

En fonctionnement, le microprocesseur de l’API lit en permanence le programme et exécute les


instructions les unes à la suite des autres. L’ensemble de ces tâches réalisées par le
microprocesseur s’appelle une scrutation.

Une sortie spécifique de l’automate qui change d’état lorsqu’une défaillance de l’automate survient
permet de couper le circuit d’arrêt d’ urgence du système, cette sortie de sécurité est appelée chien
de garde.

La lecture du programme est conditionnée par la fonction RUN/STOP de l’ API. (Marche/Arrêt).

Reprise à froid
Reprise de la configuration d'AP et de son programme d'application après que toutes les
données dynamiques (variables telles qu'image E/S, mémoires internes, temporisateurs,
compteurs, etc. et contextes du programme) aient été ramenées à un état prédéterminé. Une
reprise à froid peut être automatique (par exemple après une coupure de courant, une perte
d'information dans la ou les parties dynamiques de la ou des mémoires, etc.) ou manuelle (par
exemple bouton de réinitialisation, etc.).

TYCHIQUE NZALALEMBA 18
Programmation des Automates
2. Lecture du programme

Reprise immédiate
Reprise après une coupure d'alimentation intervenant pendant le laps de
temps maximal fonction du processus alloué à la configuration d'AP pour rétablir
son fonctionnement comme s'il n'y avait pas eu de coupure d'alimentation.
Toutes les informations d'E/S et toutes les autres données dynamiques ainsi que
le contexte du programme d'application sont restaurée ou demeurent inchangés.

Reprise à chaud
Reprise après une coupure d'alimentation avec un ensemble de données
dynamiques prédéterminé et programmé par l'utilisateur et un contexte
programme d'application prédéterminé par le système. Une reprise à chaud se
caractérise par une signalisation d'état ou tout autre moyen apparenté mis à la
disposition du programme d'application indiquant que l'interruption
d'alimentation de la configuration d'AP à été détectée en mode RUN.

TYCHIQUE NZALALEMBA 19
Programmation des Automates
3. Repérage des entrées et des sorties

Un opérande indique l’objet sur lequel s’effectue l’opération. Il est composé en deux
parties :
- son type par exemple I pour les entrées, Q pour les sorties
- son adresse géographique sur l’automate (sa position) par exemple 0.5
0 étant le numéro du module, 5 étant la voie/position sur le module; ainsi chaque entrée
ou sortie à une adresse sur l’automate.

Le repérage ou adressage, c’est le repère correspondant à l’emplacement de chaque


entrée et sortie. Ainsi c’est l’adresse en mémoire où est stockée l’image de son état 0 ou 1:
cela permet d’utiliser plusieurs fois l’entrée ou la sortie dans le programme.

Pour un automate ayant 8 entrées et 8 sorties, les entrées et sorties seront repérées aux
adresses suivantes:
Entrées: I0,0 ; I0,1 ; I0,2 ; I0,3; I0,4 ; I0,5 ; I0,6 ; I0,7
Sorties: Q1,0 ; Q1,1 ; Q1,2 ; Q1,3; Q1,4 ; Q1,5 ; Q1,6 ; Q1,7

TYCHIQUE NZALALEMBA 20
Programmation des Automates
4. Langages de programmation

La norme 61131.3 spécifie la syntaxe et la sémantique d’une série unifiée de


langages pour automate programmable. Elle se compose de cinq langages classés
en trois familles:
Langages LITTERAUX
o Langage IL : liste d’instructions
o Langage ST : littéral structuré
Langages GRAPHIQUES
o Langage LD : langage à contacts (Ladder)
o Langage FBD : diagramme fonctionnel — logigramme
Langage SFC
o Diagramme fonctionnel en séquence — GRAFCET

TYCHIQUE NZALALEMBA 21
Programmation des Automates
4. Langages de programmation
Les représentations des données, dans les divers langages de programmation d’automates programmables, doivent
se composer de libellés numériques, de cordons de caractères et de libelles de datation.
Libellés numériques;
Libellés entiers -----> -12 ; 0 ; +986 ; 123
Libellés réels ------> -12,0 ; 0,0 ; 0,45623 ; 3,1416 ; 1,34E-1,2

Libellés de cordons de caractères;


Séquence de zéro à plusieurs caractères précédée et terminée par une apostrophe (‘),’A’

Libellés de datation: nécessité de distinguer deux types de données temporelles:


Relative à la durée pour la mesure et le contrôle du temps écoulé, TIME #10s
Relative à l’heure du jour pour l’expression d’une date, DATE # 2000-10-28

Identificateurs
Un identificateur est un cordon de lettres de chiffres et de caractères de soulignement qui doit commencer par une lettre
ou par un caractère de soulignement. Les identificateurs ne doivent pas comporter de caractères d'espaces intercalaires
(SP). Exemple : Cs_tpav, dcy

Commentaires
Les commentaires de l’utilisateur doivent être respectivement délimités, à leur début et à leur fin, par la combinaison de
caractères spéciaux « (*» et « *) ».
Exemple : dcy : (* bouton poussoir départ cycle *)

TYCHIQUE NZALALEMBA 22
Programmation
des Automates
4. Langages de programmation

Les données
Les données élémentaires
Elles définissent le mot clé relatif
à chaque type de données, le
nombre de bits, la plage des
valeurs relative à chaque type de
données.

TYCHIQUE NZALALEMBA 23
Programmation
des Automates
4. Langages de programmation

Les données
Les données génériques
Rassemblement de données élémentaires d’une même famille, la hiérarchie des types de données génériques est
donnée dans le tableau ci-dessous. Elles sont identifiées par le préfixe “ANY”

TYCHIQUE NZALALEMBA 24
Programmation des Automates
4. Langages de programmation

Les données
Les données dérivées
Les données dérivées sont celles spécifiées par l’utilisateur ou le
fabricant et sont déclarées à l’aide de la construction littérale:
TYPE
END_TYPE

TYCHIQUE NZALALEMBA 25
Programmation des Automates
4. Langages de programmation

Les variables
Les variables fournissent un moyen pour identifier des objets de données dont
le contenu peut varier, comme par exemple les données associées aux
entrées/sorties.

Variable à un élément
Une variable à un seul élément est définie comme une variable qui
représente une valeur mono élément. La représentation d’une variable à un
seul élément est assurée par le symbole “ % ” combiné avec un préfixe
d’emplacement et un préfixe de taille.

Variable à plusieurs éléments


Les variables à plusieurs éléments sont des tableaux et des structures. Les
indices sont mis entre crochets [ ] et séparés par des virgules.
ARRAY [1…10 , 1… 8]  tableau 2 dimensions à 80 éléments

TYCHIQUE NZALALEMBA 26
Programmation des Automates
4. Langages de programmation

Les variables
Déclaration de variable
Chaque unité d’organisation de programme doit comporter une partie déclaration qui spécifie le type (et
l’emplacement si possible ) des variables utilisées dans le module logiciel. Cette déclaration se fait sous
forme littérale en utilisant des mots clés (VAR … END_VAR ) ou sous une forme graphique. Les valeurs
initiales peuvent être données dans la déclaration.

TYCHIQUE NZALALEMBA 27
Programmation des Automates
4.a. Langage IL (Liste d’Instructions)

Langage à liste d’instructions (IL) est composé d’une suite d’instructions. Chaque
instruction doit débuter une nouvelle ligne de programme et doit contenir un
opérateur suivi d’une ou plusieurs opérandes. L’instruction peut être précédée
d’une étiquette d’identification avec (:). S’il y a présence d’un commentaire il doit
constituer le dernier élément de la ligne.

TYCHIQUE NZALALEMBA 28
TYCHIQUE NZALALEMBA 29
Programmation des Automates
4.b. Langage littéral structuré ST

Le langage littéral structuré est constitué d’expressions. Une expression est une
construction syntaxique qui, lorsqu’elle est évaluée, fournit une valeur correspondante à
l’un des types de données définies. Les expressions sont composées d’opérateurs et
d’opérandes libellés conformément à la norme. Les opérateurs booléens du langage ST
sont ressemblant aux précédents, on retrouve: AND, OR, XOR, et NOT pour la complémentation.

TYCHIQUE NZALALEMBA 30
TYCHIQUE NZALALEMBA 31
TYCHIQUE NZALALEMBA 32
Programmation des Automates
4.c. Langage FBD (langage en Blocs Fonctionnels)

Langage graphique ou des fonctions sont représentées par des rectangles avec
les entrées à gauche et les sorties à droites. Les blocs sont programmés
(bibliothèque) ou programmables. Le langage FBD est un langage graphique
de programmation (type logigramme) compatible avec la norme CEI 617-12.

TYCHIQUE NZALALEMBA 33
Programmation des Automates
4.c. Langage FBD (langage en Blocs Fonctionnels)

TYCHIQUE NZALALEMBA 34
Programmation des Automates
4.d. Langage à contacts LD (Ladder)

Le langage à contacts permet la programmation à l’aide de symboles


graphiques. Ces symboles sont organisés en réseau reliés à gauche et à droite à
des barres d’alimentation. Langage graphique est adapté aux électriciens. Il
utilise les symboles tels que : contacts, relais et blocs fonctionnels et s'organise
en réseaux (labels).

TYCHIQUE NZALALEMBA 35
Programmation des Automates
4.d. Langage à contacts LD (Ladder)

TYCHIQUE NZALALEMBA 36
Programmation des Automates
4.e. Langage GRAFCET (SFC : Sequential
Function Chart)

Le GRAFCET, langage de spécification, est


utilisé par certains constructeurs
d'automate (Schneider, Siemens, etc.)
pour la programmation. Parfois associé à
un langage de programmation, il permet
une programmation aisée des systèmes
séquentiels tout en facilitant la mise au
point des programmes ainsi que le
dépannage des systèmes. On peut
également traduire un grafcet en langage
en contacts et l'implanter sur tout type
d'automate.
Acronyme de GRAphe Fonctionnel de
Commande d’Étape-Transition.

TYCHIQUE NZALALEMBA 37
Programmation des Automates
4.e. Langage GRAFCET (SFC : Sequential Function Chart)

Exemple:
Commande d'un chariot de transfert.
Un chariot motorisé transfère des produit du poste A au poste B
sur demande de l'opérateur par un bouton poussoir "marche".
Le retour du poste B vers A se fait après une temporisation
d'attente en B de 10mn (temps de déchargement).
Grafcet de fonctionnement.

TYCHIQUE NZALALEMBA 38
Programmation des Automates
4.e. Langage GRAFCET (SFC : Sequential Function Chart)

Solution:

TYCHIQUE NZALALEMBA 39
TYCHIQUE NZALALEMBA 40
TYCHIQUE NZALALEMBA 41
Programmation des Automates
4.e. Langage GRAFCET (SFC : Sequential Function Chart)
Le GRAFCET est représenté selon deux niveaux de représentation:
Grafcet PO (Niveau 1): Spécifications fonctionnelles Grafcet PC (Niveau 2): Spécifications technologiques

TYCHIQUE NZALALEMBA 42
Câblage des Automates
1. Alimentation de l’Automate

L'automate est alimenté généralement par le réseau monophasé 230V ; 50 Hz


mais d'autres alimentations sont possibles (110V etc ...).
La protection sera de type magnéto-thermique (voir les caractéristiques de
l'automate et les préconisations du constructeur).
Il est souhaitable d'asservir l'alimentation de l'automate par un circuit de
commande spécifique (contacteur KM1).
De même, les sorties seront asservies au circuit de commande et alimentées
après validation du chien de garde.

TYCHIQUE NZALALEMBA 43
TYCHIQUE NZALALEMBA 44
Câblage des Automates
2. Alimentation des entrées de l’Automate

L'automate est pourvu généralement d'une alimentation pour les capteurs/détecteurs (attention au
type de logique utilisée: logique positive ou négative).
Les entrées sont connectées au OV (commun) de cette alimentation.
Les informations des capteurs/détecteurs sont traitées par les interfaces d'entrées.

TYCHIQUE NZALALEMBA 45
Câblage des Automates
3. Alimentation des sorties de l’Automate

Les interfaces de sorties permettent d'alimenter les divers préactionneurs. Il est


souhaitable d'équiper chaque préactionneur à base de relais de circuits RC (non
représentés).

TYCHIQUE NZALALEMBA 46
EXERCICES
TYCHIQUE NZALALEMBA 47
Exercice 1
Traduisez le schéma ci-dessous en fonction des données en langage PL 7
listes d’instructions:

TYCHIQUE NZALALEMBA 48
Résolution 1

TYCHIQUE NZALALEMBA 49
Exercice 2
A partir du programme Ladder ci-dessous déterminer la liste
d’instruction

TYCHIQUE NZALALEMBA 50
Résolution 2

TYCHIQUE NZALALEMBA 51
Exercice 3
A partir de la liste d’instruction ci-dessous déterminer le programme
Ladder:

TYCHIQUE NZALALEMBA 52
Résolution 3

TYCHIQUE NZALALEMBA 53
Exercice 4
A) Ecrire l’équation de la sortie S4 en fonction des entrées a, b, c et d:

B) A partir de l’équation finale de S4 obtenue, determiner le programme


Ladder correspondant

TYCHIQUE NZALALEMBA 54

Vous aimerez peut-être aussi