Vous êtes sur la page 1sur 18

Les automates programmables industriels

I-Introduction :
Au niveau du marché industriel, les systèmes industriels doivent avoir un fonctionnement
agile et efficace. L’automatisation de ce secteur est indispensable pour pouvoir évaluer et
répondre correctement à la demande.

Les industries cherchent toujours à moderniser leur processus de fonctionnement en intégrant


de nouvelles technologies afin d’optimiser les performances du système ainsi que la
production. De ce fait, les industriels ont recours aux Automates Programmables qui leur
offrent un gain au niveau de la production et au niveau du temps.

II-Principe d’automatisation :
Le système automatisé industriel est l’objet sur lequel s’exercent des activités d’application
industrielle. C’est un système destinée à remplacer l'action de l'être humain qui n'intervient
que dans la programmation et le réglage. Les objectifs poursuivis par une automatisation
peuvent être assez variés :

 Recherche de diminution du coût pour le produit, par réduction des frais de main-
d’œuvre, d’économie de matière, d’économie d’énergie.
 Suppression des travaux dangereux ou pénibles, et amélioration des conditions de
travail par l’ennoblissement des tâches.
 Recherche d’une meilleure qualité du produit, en limitant le facteur humain, et en
multipliant les contrôles automatisés.
 Réalisation d’opérations impossibles à contrôler manuellement ou intellectuellement,
par exemple des assemblages miniatures, des opérations très rapides, des
coordinations complexes.

Tout système automatisé peut se décomposer selon la figure 1:

1
Figure1: Structure d’un système automatisé

 La partie opérative (P.O) : elle a pour rôle d’élaborer une valeur ajoutée propre à la
matière d’œuvre.
 La partie commande (P.C) : elle assure la coordination de la succession des actions sur
la partie opérative.
 La partie dialogue (H/M) : elle constitue une interface Homme Machine permettant le
dialogue entre tous les deux.

→Analyse de la partie opérative:

La partie opérative est composée par trois ensembles :

 Une unité de production qui remplit le rôle de fabrication ou de transformation dans le


processus industriel.
 Des actionneurs apportant de l’énergie à l’unité de production. Cette énergie peut
prendre plusieurs formes : mécanique, électrique, pneumatique, etc.
 Des capteurs qui délivrent des informations de natures divers utilisables par la partie
commande.

→Analyse de la partie commande :

La partie commande est composée par quatre ensembles :

 Des interfaces d’entrée transformant les données issues des capteurs en informations
compatibles avec les spécifications technologiques de l’automate.

2
 Des interfaces de sortie transformant les données élaborées par l’unité de traitement en
informations compatibles avec les spécifications technologiques des pré actionneurs.
 Des pré-actionneurs qui sont primordiales pour le fonctionnement des actionneurs et y
sont directement liés (exemple : un distributeur pour un vérin).
 Une unité de traitement émettant des ordres aux actionneurs en fonction des données
reçues des différents capteurs et du fonctionnement désiré.

→Analyse de la partie dialogue :

La partie dialogue est composée par deux ensembles :

 Des avertisseurs et des visualisations transformant les données issues de l’automate en


données perceptibles par l’homme (sonores ou optiques).
 Des capteurs transformant les ordres fournis par l’homme par action manuelle
(exemple : action sur un bouton-poussoir) en informations exploitables par l’automate.

III-Architecture matérielle des API :

1-Définition :
Un automate programmable industriel (API) est un dispositif électronique, programmable par
un personnel non informaticien et destiné à piloter en ambiance industrielle et en temps
réel des procédés automatiques.

Figure 2 : A.P.I Siemens


2- Domaines d'emploi des automates :

On utilise les API dans tous les secteurs industriels pour la commande des machines
(convoyage, emballage...) ou des chaînes de production (automobile, agroalimentaire ...) ou il

3
peut également assurer des fonctions de régulation de processus (métallurgie, chimie ...).Il est
de plus en plus utilisé dans le domaine du bâtiment (tertiaire et industriel) pour le contrôle du
chauffage, de l'éclairage, de la sécurité ou des alarmes.

3. Aspect extérieur :

Les automates peuvent être de type compact ou modulaire.

De type compact : il intègre le processeur, l'alimentation, les entrées et les 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.

Figure 3 : Structure générale d’un A.P.I

4
4-Structure interne d’un automate :

L’automate programmable industriel se compose de plusieurs parties notamment une unité de


traitement, une mémoire programmable, une horloge et des interfaces d’E/S.

L’ensemble communique à travers un bus et alimenté par une alimentation bien adaptée.

Figure 4 : Structure interne d’un API

 Le processeur :

Le processeur, ou unité centrale (UC), a pour rôle principal le traitement des instructions qui
constituent le programme de fonctionnement de l’application (les fonctions logiques ET, OU,
les fonctions de temporisation, de comptage, de calcul PID, etc..). Mais en dehors de cette
tâche de base, il réalise également d’autres fonctions :

 Gestion des entrées/sorties.

 Surveillance et diagnostic de l’automate par une série de tests lancés à la mise sous
tension ou cycliquement en cours de fonctionnement.

 Dialogue avec le terminal de programmation, aussi bien pour l’écriture et la mise au


point du programme qu’en cours d’exploitation pour des réglages ou des vérifications
des données.

Un ou plusieurs processeurs exécutent ces fonctions grâce à un micro logiciel préprogrammé


dans une mémoire de commande, ou mémoire système. Cette mémoire morte définit les
fonctionnalités de l’automate. Elle n’est pas accessible à l’utilisateur.

5
 La mémoire :

La mémoire d’un automate comporte une zone programme (ou mémoire programmes ou
utilisateurs), une zone données (ou mémoire données) et une zone réservée au moniteur ou
système d’exploitation qui est le logiciel de gestion de l’A.P.I :

 la mémoire programme contient les programmes utilisateurs (à exécuter). Elle est


en technologie RAM sauvegardée par pile ou batterie ou en EPROM ou
actuellement en EEPROM.
 La mémoire données est organisée de façon spécialisée, elle est câblée directement
sur les coupleurs d’entrées/sorties (elle contient les états des capteurs et pré-
actionneurs). Elle est en technologie RAM obligatoirement et généralement
sauvegardée par pile ou batterie.
 Les modules d’entrées/sorties :

Ils assurent le rôle d'interface entre la CPU et le processus, en récupérant les informations sur
l'état de ce dernier et en coordonnant les actions.

Le fonctionnement de l’interface d’entrée (figure 5) peut être résumé comme suit :

Lors de la fermeture du capteur :

 La « Led 1 » signale que l’entrée de l’API est actionnée.

 La « Led D’ » de l’optocoupleur « Opto 1 » s’éclaire.

 Le phototransistor « T’ » de l’optocoupleur « Opto 1 » devient passant.

 La tension Vs=0V.

Donc lors de l’activation d’une entrée de l’automate, l’interface d’entrée envoie un « 0 »

logique à l’unité de traitement et un « 1 » logique lors de l’ouverture du contact du capteur


(entrée non actionnée).

6
Figure5: Principe de fonctionnement de l'interface d'entrée

Le fonctionnement de l’interface de sortie (figure 6) peut être résumé comme suit :

Lors de commande d’une sortie automate :

 L’unité de commande envoi un « 1 » logique (5V).

 « T1 » devient passant, donc la « Led D’ » s’éclaire

 Le photo-transistor « T’ » de l’optocoupleur « Opto1 » devient passant.

 La « Led1 » s’éclaire.

 « T2 » devient passant.

 La bobine « RL1 » devient sous tension et commande la fermeture du contact de la


sortie « Q0.1 ».

 Donc pour commander un API, l’unité de commande doit envoyer :

 Un « 1 » logique pour actionner une sortie API

 Un « 0 » logique pour stopper la commande d’une sortie API

7
Figure 6: Principe de fonctionnement de l'interface de sortie

 Le Bus :

C’est un ensemble de conducteurs qui réalisent la liaison entre les différents éléments de
l’automate. Dans un automate modulaire, il se présente sous forme d’un circuit imprimé situé
au fond du bac et supporte des connecteurs sur lesquels viennent s’enficher les différents
modules : processeur, extension mémoire, interfaces et coupleurs.

Le bus est organisé en plusieurs sous ensembles destinés chacun à véhiculer un type bien
défini d’informations :

 Bus de données.

 Bus d’adresses.

 Bus de distribution des tensions issues du bloc d’alimentation.

 L’alimentation :

Elle a pour rôle de fournir les tensions continues nécessaires aux composants avec
de bonnes performances, notamment face aux microcoupures du réseau électrique
qui constitue la source d’énergie principale. La tension d’alimentation peut être de
5V, 12V ou 24V. D’autres alimentations peuvent être nécessaires pour les châssis
d’extension et pour les modules entrées/sorties. Un onduleur est nécessaire pour
éviter les risques de coupures non tolérées.

8
 Liaisons de communication :

Elles Permettent la communication de l'ensemble des blocs de l'automate et des éventuelles


extensions. Les liaisons s'effectuent :

 Avec l'extérieur par des borniers sur lesquels arrivent des câbles
transportant les signaux électriques.

 Avec l'intérieur par des bus reliant divers éléments, afin d'échanger des
données, des états et des adresses.

5-Traitement du programme automate :


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

Figure 7 : 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.

9
Figure 8 : Lecture 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.

Figure 9 : Exécution du programme

10
 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).

Figure 10 : Ecriture des sorties

 Tâche Automate :

6-Critères de choix et apport d'un automate :


Le choix d’un automate programmable industriel dépend de plusieurs critères. Parmi ces
critères on peut citer :

11
 Le nombre d’entrés / sorties : pour tenir compte de l’évolution de l’application on doit
prévoir un nombre d’entrés / sorties supérieur à celui exigé par l’application.
 Type de processeur : la vitesse du traitement du processeur est un critère d’évaluation
de la complexité de l’application réalisable.
 La capacité mémoire.
 Le prix : le prix d’un automate varie en fonction du constructeur, processeur et du
nombre d’entrés / sorties.

a- Avantage des API :


L’utilisation de l’automate programmable dans le secteur industriel présente plusieurs
avantages. L’automate permet la commande de processus complexe, le câblage nécessaire est
le raccordement des capteurs et des boutons poussoirs aux entrés et les pré- actionneurs aux
sorties. Ainsi un API permet une simplification du câblage ce qui rend le système flexible,
fiable et facile à entretenir. De plus, au cours de son fonctionnement le programme peut être
modifié. Egalement, l’automate offre une possibilité de se connecter à un réseau industriel ce
qui facilite la commande et la maintenance.

b-Inconvénients des API :


En revanche, il existe quelques inconvénients de l’automate. En effet, ils ont un prix cher par
rapport aux autres solutions technologiques. De plus, les modules d’un constructeur
d’automate sont incompatibles avec les modules des autres constructeurs.

V-Langage de programmation pour API :


Les programmes utilisés avec les API peuvent être écrits dans différents formats. Pour que les
ingénieurs ayant peu de connaissances en programmation puissent élaborer des programmes
pour les API, le langage à contacts a été conçu. La plupart des fabricants d’automates ont
adopté cette méthode d’écriture des programmes. Toutefois, puisque chacun a eu tendance à
développer ses propres versions, une norme internationale a été établie pour le langage à
contacts et, par voie de conséquence, pour toutes les méthodes de programmation employées
avec les API.

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 :

12
1 -Le langage LD (Ladder Diagram) :
C’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.

 La fonction ET en utilisant des contacts en série

 La fonction OU en utilisant des contacts en parallèle

2- Le langage IL (Instruction List) :


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

13
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.

 Automates siemens S7300-S7 400 :


 Les opérations combinatoires sur bits utilisent deux chiffres : 1 et 0. Ces
deux chiffres sont à la base du système de numération binaire et sont appelés
chiffres binaires ou bits. Pour les contacts et les bobines, 1 signifie activé ou
excité et 0 signifie désactivé ou désexcité.
 Les opérations de combinaison sur bits évaluent les états de signal 1 et 0 et
les combinent selon la logique booléenne. Le résultat de ces combinaisons
est égal à 1 ou 0. Il s’agit du résultat logique (RLG).
Vous disposez des opérations de base suivantes :

Les opérations suivantes permettent de combiner des parties de séquence combinatoire


figurant entre parenthèses :

Les opérations suivantes mettent fin à une séquence combinatoire :

14
3 -Le langage FBD (Function Block Diagram) :
C’est est un langage graphique. Il permet la construction d'équations complexes à partir des
opérateurs standards, 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 »).

4- Le langage ST (Structured Text) :


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.

5- Le langage SFC (Sequential Function Chart), ou GRAFCET :


C’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.

15
 une transition ne peut pas être suivie d’une autre transition.

VI-Programmation d’automates siemens S7300-S7 400 :


1-Types de variables :

 Zone E : Mémoire image des entrées sur bus locale ou bus de terrain tel que
PROFIBUS
 Zone A : Mémoire image des sorties sur bus locale ou bus de terrain tel que
PROFIBUS
 Zone M : Mémoire utilisateur. Ils sont utilisés comme variables intermédiairesou pour
mémoriser des informations d´un cycle à l´autre.
 Zone L : Mémoire locale, associée à un module de programme. Une plage de
variables locales est associée à chaque bloc programme (OB, FC ou FB). Les variables
peuvent être définies dans la table de déclaration. Le contenu d´une variable locale est
perdu dès que le module programme la contenant a été exécuté entièrement. Les
variables locales s´appellent aussi variables temporaires.
 Zone P : Accès à la périphérie. Les variables de périphérie permettent d´accéder
directement aux cartes d´entrées/sorties. Elles peuvent être utilisées lorsqu´une
information doit être lue ou écrite immédiatement sans attendre la fin de cycle. En
général, on utilise les variables de E et de A dans un programme, ces variables étant
mises à jour une fois par cycle.
 Zone T : Mémoire de temporisateur.
 Zone Z : Mémoire des compteurs.
 Zone DB : Mémoire utilisateur ou système structuré dans des blocs de données.

Symbole Définition Symbole


SIMATIC CEI (Commission
Electrotechnique
Internationale)
E Bits d’entrée I

EB Octet d’entrée IB
EW Mot d’entrée IW
ED Double mot d’entrée ID

16
A Bits de sortie Q

AB Octet de sortie QB
AW Mot de sortie QW
AD Double mot de sortie QD
M Mémoires utilisateurs M
(variables auxiliaires)
T Temporisation T
Z Compteur C
DBX Bit dans un bloc de donnée

2- Adressage des variables :


Les objets E, A, M, DB, PE et PA sont rangés dans des octets (8 bits), on peut accéder à un
BIT, à un OCTET, à un MOT de 16 bits ou à un DOUBLE MOT (32 bits).
Pour accéder à un bit dans une des zones mémoires, il faut préciser son adresse composée
d'un identificateur de zone de mémoire, de l'adresse d'octet et du rang du bit.

Exemple : E 1. 3

 E: identificateur de zone (MIE),


 adresse d'octet : octet 1 (2ème octet de la MIE),
 rang du bit sur l’octet: bit 3 de l'octet (de 0 à 7).

3-Les blocs de code :


a-Les OB (Blocs d’organisation OB 1 à OB 225) :

Un OB est appelé cycliquement par le système d'exploitation et constitue donc l'interface


entre le programme utilisateur et le système d'exploitation. L'OB contient des instructions
d'appels de blocs indiquant a l'unité de commande de 'automate l'ordre dans lequel il doit
traiter les blocs.

b-Les FB : bloc fonctionnel :

Le FB dispose d'une zone de mémoire qui lui est affectée en propre. Il est possible d'affecter
un bloc de données (DB) au FB à l'appel du bloc. Il est possible d'accéder aux données du DB
d'instance via les appels contenus dans le FB. Vous pouvez affecter plusieurs DB à un FB. Il
est possible d´appeler d'autres FB et FC dans un bloc fonctionnel via des instructions d'appels
de blocs.
17
c- FC (fonction) :
Une FC ne possède pas une zone de mémoire propre. Les données locales d'une fonction sont
perdues après l'exécution de la fonction. Il est également possible d'appeler d'autres FB et FC
dans une fonction via des instructions d'appels de blocs.

d-DB (bloc de données) :


Les DB sont utilises pour la mise a disposition d'espace mémoire pour les variables types données. Il
existe deux types de blocs de données. Les DB globaux dans lesquels tous les OB, FB et FC peuvent
lire les données enregistrées ou écrire des données et les DB d'instance qui sont affectés à un FB
donné.

4- Structure d’un programme :


Le programme est écrit dans différents modules, chaque module traitera une fonction de
l'automatisme.
Exemple :
FC 10 Gestion de la table tournante
FC 15 Dépileur de palettes
Etc.

18

Vous aimerez peut-être aussi