0% ont trouvé ce document utile (0 vote)
311 vues46 pages

Programmation des Automates Industriels

Ce document décrit la structure d'un système automatisé industriel et les composants clés d'un automate programmable industriel. Il explique également les différents langages de programmation pouvant être utilisés pour la programmation d'applications d'automatisme selon la norme IEC 1131-3.

Transféré par

Merazga Ammar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
311 vues46 pages

Programmation des Automates Industriels

Ce document décrit la structure d'un système automatisé industriel et les composants clés d'un automate programmable industriel. Il explique également les différents langages de programmation pouvant être utilisés pour la programmation d'applications d'automatisme selon la norme IEC 1131-3.

Transféré par

Merazga Ammar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Automate Programmable

industriel
1 Introduction
L’automate programmable au cœur du
système automatisé de production
1.1 Structure d’un système automatisé

Energie Energie

Réseau
Autres automates
Supervision Commande Pré-
Actionneurs
actionneurs

Automate
Interface Programmable
Homme-
Machine Informations Interface
Capteurs

Utilisateur
Partie commande Partie opérative
1.1 Structure d’un système automatisé

Energie Actionneurs
Energie

Actionneur
Autres électrique :
systèmes
Commande Pré-
Moteur
Actionneurs
actionneurs

Actionneur
Partie
Interface Commande
pneumatique
Homme-
Machine ou hydraulique :
Informations Interface
vérin Capteurs

Utilisateur
Partie commande Partie opérative
1.1 Structure d’un système automatisé

Energie Energie
Pré-actionneurs

Variateur de vitesse
Autres
systèmes
pour moteur
Commande Pré-
Actionneurs
actionneurs

Partie
Interface Commande
Homme- Distributeur électropneumatique
Machine InformationsInterface
ou électrohydraulique
Capteurs

Utilisateur
Partie commande Partie opérative
1.1 Structure d’un système automatisé

Energie Capteurs Energie

Autres
systèmes Commande Pré-
Détecteur
Actionneurs
actionneurs
Détecteur inductif Détecteur optique de contact
Partie
Commande
Interface
Homme-
Machine Informations Interface
Capteurs

Codeur optique
Utilisateur (position arbre moteur) Caméra
Partie commande Partie opérative
1.1 Structure d’un système automatisé

Energie Energie
Interface Homme-Machine

Autres
systèmes Commande Pré-
Actionneurs
actionneurs

Boutons et voyants
Partie
Interface Commande
Homme-
Machine Informations Interface
Ecran tactile Capteurs

Utilisateur
Partie commande Partie opérative
1.1 Structure d’un système automatisé

Qui peut concurrencer l’automate ?

Peu d’éléments à produire


On recherche :
- Un faible coût de développement
- Un développement rapide et aisé
Automate Programmable Industriel

Beaucoup d’éléments à produire (ex : ABS d’une voiture)


On recherche :
- Un faible coût unitaire du composant
Microcontrôleur
1.2 L’automate programmable
Entrées/Sorties logiques
Entrée/Sorties analogiques
Sorties PWM
Commande d’axe
Extensions Compteurs rapides
Régulation
Communication (CAN, Ethernet…)

Sorties logiques
Sorties logiques Actionneurs
Variables internes
IHM
Unité Entrées logiques Capteurs
Entrées logiques Centrale

Version « compacte »
développement

PC
1.2 L’automate programmable
Extensions déportées
Entrées/Sorties logiques
Entrées/Sorties analogiques
Sorties PWM
Commande d’axe
Compteurs rapides
Coupleur réseau (CAN, Ethernet…)
Régulation
Variables internes
Sorties logiques
Sorties logiques Actionneurs

IHM Unité
Centrale Entrées logiques Capteurs
Entrées logiques

Version « réseau de terrain »

développement

PC
1.3 Problématiques combinatoires et séquentielles

qSelon le cahier des charges, les habitudes, les


contraintes de développement et de mise au
point, les taches sont programmées de façon
combinatoire ou séquentielle
1.3 Problématiques combinatoires et séquentielles

Exemples combinatoires

q Le voyant s’allume si le capteur d’usure est à 1 ou si la


pièce a été utilisée 1000 fois
q Le compteur s’incrémente à chaque cycle de production
q Les conditions de démarrage sont réunies si le capot est
fermé et le bain d’huile à la bonne température
q L’alimentation est coupée une présence est détectée dan le
champ opératoire
1.3 Problématiques combinatoires et séquentielles

Exemple séquentiel

q Suite à un ordre de marche, le vérin sort. Quand le noyau


est totalement sorti, il faut attendre 10s. Ensuite, le vérin
rentre. Quand le noyau est totalement rentré, on attend un
nouvel ordre de marche.
qLes systèmes séquentiels sont généralement décrits par un
grafcet
2 Les langages de programmation
• La norme IEC 1131-3 définit entre autres
choses, cinq langages qui peuvent être utilisés
pour la programmation d’applications
d’automatisme. Les cinq langages sont :
- SFC « Sequential Function Char »
- FB « function block diagram »
- ST « Structured Text »
- LD « ladder diagram »
- IL « instruction list»
2.1 Les différents langages
• 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 ;
• FBD (« function block diagram », ou schéma 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 ;
• LD (« ladder diagram », ou schéma à relais) : langage
graphique dédié à la programmation d’équations
booléennes (true/false), très utilisé malgré qu’il soit
très bas niveau;
2.1 Les différents langages

• 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 ;
• 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.
2.2 Architecture d’un projet
Omron
• Un projet est composé de configurations.
– Une configuration: plate-forme
matérielle composée d’une ou plusieurs
ressources.
• Une ressource représente un cycle
automate, divisée en plusieurs unités
de programmation appelées POUs
(program organization unit).
• Les POUs sont organisés en une
architecture hiérarchisée. Les
programmes peuvent être décrits
avec les langages graphiques ou
textuels SFC, FBD, LD, ST ou IL.
Les POUs peuvent être des
programmes, des fonctions ou des blocs fonctionnels.
2.3 les Variables

• Les variables peuvent être locales à un POU


Une variable locale ne peut être utilisée que par
un seul POU.
• Les variables peuvent être globales elles
peuvent alors être utilisées par tous les POUs
d’une ressource.
2.3 les Variables
2.3 les Variables
• Une variable représentée directement peut être
utilisée dans les programmes pour accéder à une voie
d’E/S (entrée/sortie). L’identificateur d’une telle
variable commence toujours par le caractère « % »
2.3 Table des entrées/sorties et mémoire interne
En fonction de sa puissance, un API possède

Des signaux d’entrées/sorties physiques


qDes entrées logiques (accessibles bit/bit ou par mot)
qDes sorties logiques (accessibles bit/bit ou par mot)
qDes entrées analogiques
qDes sorties PWM
qDes entrées de comptage
q…..

De la mémoire interne pour le stockage de données


(transition, étapes, calculs intermédiaires…)
qBits ou mots « système » (ex First_Cycle)
qBits ou mots réservés pour certains périphériques (ex FinTimer)
qBits ou mots utilisables pour les données, mémorisés ou non
suite à une coupure d’alimentation.
2.3 Table des entrées/sorties et mémoire interne

La Table des symboles permet d’associer à chaque symbole


un emplacement physique ou en mémoire.

Sortie 1 bit

Bit interne
Mot interne

Entrée 1 bit
2.4 Le langage FDB
- Le langage FBD (function block diagram) est un
langage graphique.
Il permet la construction d’équations complexes à
partir des opérateurs standards, de fonctions ou de
blocs fonctionnels.
2.4 Langage FDB

- Les Blocs Fonctionnels sont des POUs avec


plusieurs paramètres d'entrée et de sortie.
- L’instanciation est possible. Il est possible de
créer plusieurs instances (copies) nommées d’un blocs.
Intérêt sur des taches répétitives, exemple:
Programmation d’un bloc fonctionnel réalisant le
démarrage étoile/triangle d’une MAS pour piloter 10
moteurs.
-Les blocs fonctionnels peuvent être programmé en ST,
LD, IL.
-Un bloc fonctionnel peut appeler un autre bloc (pas
toujours possible)
2.4 Le langage Strucured Text 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.
2.5 Langage ST:

Les types d’énoncés du langage ST sont :


— assignation ;
— sélection IF-THEN-ELSIF-ELSE ;
— énoncé RETURN ;
— sélection CASE ;
— itération WHILE ;
— itération REPEAT ;
— itération FOR ;
— énoncé EXIT.
2.5 Langage ST:
Enoncé IF-THEN-ELSIF-ELSE :
2.5 Langage ST:
Enoncé Return : termine l’exécution du programme
2.5 Langage ST:
Enoncé CASE :
2.5 Langage ST:
Enoncé WHILE :

Enoncé REPEAT : énoncé d’itération avec test d’itération en fin de boucle.


2.5 Langage ST:
Enoncé FOR :

Enoncé EXIT : quitte une boucle d’itération FOR, WHILE ou REPEAT


2.6 Le langage LADDER

Diagramme à contacts, utilisé pour programmer des


éléments combinatoires

« ET » «OU»
Vcc
GND a b S

Relais Bobine de sortie


Normalement ouvert

c
Relais normalement fermé

S = a . (/b + c)
2.6 Le langage LADDER

a b S

Un réseau

q On utilise un réseau par calcul


q Une section est un ensemble de réseaux
q Pour structurer le programme, on l’organise en sections
2.6 Le langage LADDER
2.6 Le langage LADDER
2.7 traduction du SFC en ST

Exemple q Pour chaque transition on définit une variable interne TOR

t20_21 t21_22 t22_20

20 Chacune vaut 1 si la transition est vrai, 0 sinon

bp2m + bp2d
q Pour chaque étape on définit une variable interne TOR

21 X20 X21 X22

Chacune vaut 1 si l’étape est active, 0 sinon


dp2

22 n=2 q Entrées physiques : bpm2m, bp2d, dp2 (TOR)

Variable interne : n (entier)


1
2.7 traduction du SFC en ST

Modèle en trois parties, partie 1 : les transitions

(* Ceci est un commentaire *)


(* Transitions *) Affectation :=

t20_21 := X20 AND (bp2m OR bp2d) ;


Opérateurs
NOT, AND, OR
t21_22 := X21 AND dp2 ;

t22_20 := X22 ;
2.7 traduction du SFC en ST

Modèle en trois parties, partie 2 : les étapes

(* Etapes *)

(* Activation *)

IF %S13 OR t22_20 THEN X20 :=TRUE ; END_IF;

IF t20_21 THEN X21 :=TRUE; END_IF;

IF t21_22 THEN X22 :=TRUE; END_IF;


2.7 traduction du SFC en ST

Modèle en trois parties, partie 2 : les étapes

(* Etapes *)

(* Désactivation *)

IF t20_21 THEN X20:=FALSE; END_IF;

IF t21_22 OR %S13 THEN X21:=FALSE; END_IF;

IF T22_20 OR %S13 THEN X22 :=FALSE; END_IF;


2.7 traduction du SFC en ST

Modèle en trois parties, partie 3 : les sorties

(* Sorties *)

IF X22 THEN N:=2; END_IF;

Pour une sortie TOR : IF X22 THEN S:= TRUE;


3 Structure interne d’un automate

Process

Lecture des Mise à jour


Entrées des Sorties
3.1 Structure interne d’un automate
PC registre = mémoire tampon

Communication Données et Périphériques


Mémoire internes
programme (Timers/Compteurs)

Energie
électrique
Alimentation
Interface Interface
d’entrées de sortie

Registre d’entrées

Registre de sortie
Optocoupleurs

Transistors/relais
Optocoupleurs
ENTREES CPU SORTIES
Entrées Sorties
3.2 Le cycle de Process
l’automate

Lecture des Mise à jour


!
Le contenu du
Entrées Des Sorties registre change
pendant le cycle
Mémoire
programme
Interface et données Interface
d’Entrée de Sortie

Registre de sortie
Registre d’entrée

Transistors/relais
Optocoupleurs

Optocoupleurs
ENTREES Entrées Central Unit Sorties
SORTIES
3.2 Le cycle de l’automate
Registre Registre

Entrées Sorties

IMAGE

IMAGE
CPU
(µP)

lecture des
entrées
t t+Δt
mise à jour
des sorties

exécution des
t
instructions Temps de cycle

Sorties(t+Δt) = fonction( Entrées(t) , Sorties(t) )

Ordre de grandeur du temps de cycle : entre 1 et 100 ms


3.2 Durée de vie des entrées
le tapis tourne doucement
lecture des
entrées
mise à jour
des sorties
exécution des t
instructions

entrée de l’automate mise à jour de l’état des leds


issue du capteur
tin
prise en compte de la présence de la pièce t
changement d’état de l’entrée,
capteur pour
présence d’une pièce
compter les pièces
passant sur le tapis
Leds affichant le
nombre de pièces
passées
3.2 Durée de vie des entrées
le tapis tourne plus vite.
lecture des
entrées
mise à jour
des sorties
exécution des t
instructions
mise à jour de
l’état des leds
entrée de l’automate
issue du capteur
tin tin tin

t
changement
d’état de l’entrée, prise en prise en prise en
présence d’une Lecompte
compte de la passage
de de la deuxième
compte de
pièce présence pièce n’a pasdeété
de l’absence pris endecompte
l’absence
la pièce pièce pièce

Vous aimerez peut-être aussi