Académique Documents
Professionnel Documents
Culture Documents
programmables industriels
Alessandro GIUA
LSIS UMR-CNRS 6168
Cours 8h
3A - Génie Industriel et Informatique
Polytech' Marseille
2013
Fonctions de régulation :
- réguler la température autour de la consigne
- réguler le pH de la cuve
Fonctions de surveillance :
- débordement de cuve,excès de température, de pH
- dérive du processus de fermentation
Fonctions de production:
- calculer le point d'arrêt de la fermentation...
Fonctions de communication :
- dialogue opérateur (écran IHM)
Automates programmables industriels 14
API - Caractéristiques
• fonctionnement en temps réel : l'échelle de temps est de l'ordre de 1 à 100 ms
• Reconfigurable / Programmable
• Compact
• Modulaire
• Low-cost
• Rack 19”
• Terminal de
programmation
Autres modules
• Communication • Servo-drive
• Mémoire de masse • Encoder
• PID • HMI
• Coprocesseur
O1
I1 … … I32 Espace entrées (I) et sorties (O)
O1
O32 … O32 Ex: I1 = I1.1 …. I1.8 (1 byte)
• Alarme arrêt
• Redondance
Languages Basic
C
Langages Standardisés
Automates programmables industriels 31
API – Lang. de programmation (2)
Textuels
• Liste d’instructions : IL (Instruction List) - Pseudo assembleur
• Texte structuré : ST (Structured Text) - Langage de haut niveau
Graphiques
• Boîtes fonctionnelles : FBD (Function Block Diagram)
- blocs, connectables entre eux, réalisant des opérations
• Langage Ladder : LD (Ladder Diagram) - Schémas électriques
• Sequential function chart : SFC - Proche du langage Grafcet
LD start
ANDN alarm
ST power_on
then power_on
end if
start
power_on
AND
alarm
NOT
X
Bobine inversée (NC: normally closed)
Si alimentée alors la variable booléenne associée est
X=vraie si non alimentée mémorisée à ‘fausse‘ (X=0), sinon elle est mémorisée
à ‘vraie‘ (X=1).
Chronogramme
I1
Représentation équivalente
t
I1 I2 O
1 I2
I1 I2 O
2 t
I1 I2 O t
1
I2
t
I1 I2
2 O
t1 t2 t3 t4
t1 D
I1 vraie I1 memorisée O affectée T = temps de cycle
D = temps de retard
cycle k cycle k+1
Pour XOR: T < D < 2T
T T
Automates programmables industriels 43
LD – Ordre des rungs
I1 I2 X1 Comme dans tous programmes
1 d’ordinateur, l’ordre des instructions
(rung) est fondamental.
X1 I3 O
2 O = I1 and (not I2) and I3
X1 I3 O
1 O= X1 and I3
Valeurs entrées I1 =1
I2 =1
I1 O
1
O = I1 = 1
I2 O
2 O = not I2 = 0
Bien que la variable O soit assignée vraie dans le premier rung, la sortie qui
corresponde à O n’est jamais affectée vraie.
I X O t
1
X
t
X
O
t1 t2 t3 t4
I1 I2 X1
1
Parallélisme if I2=0 and I1=1 then
X2=1
I1 I2 X2 X1=1
2 end if
IS
IR
Démarrage moteur:
t
IS: bouton marche
X
IR: bouton arrêt
t
X: commande moteur (Q=X, Q=not X
Automates programmables industriels 48
LD – Bobines à action set/reset
Bobines qui mémorisent le valeur (set) jusqu’à quand sont mises à zéro
(reset).
X
R X garde le valeur jusqu’à quand la
bobine Reset (Unlatch) est
Bobine à action Reset alimentée et assigne le valeur X=0.
IS
IR
Démarrage moteur:
t
IS: bouton marche
X
t
IR: bouton arrêt
X: commande moteur
Automates programmables industriels 50
LD – Temporisateurs
Un temporisateur (timer) impose un délai prédéterminé entre un front
montant à l’entrée et à la sortie du temporisateur.
T1
T2R
100 t
I2 T2 T2
T2
2 R
t
R-T2
C1
La bobine Reset mets à zéro la variable interne et donc
R
la variable booléenne C1 aussi.
t
I1 C1 O
I2
1
t
I1
C1
2 C1
3 t
I2 C1 C1
O
3 R
t
R-T2
Jump = saut
A Label = étiquette
50 LBL
51
Zone Control Last State (ZCL): même structures mais si I est fausse toutes
bobines entre les deux bobines MCR gardent le valeur précèdent.
Le GRAFCET est dédié à la spécification, alors que SFC est plus appliqué à la
programmation.
Liaison Lien que lie une étape avec une transition ou une transition avec
orientée une étape.
Représentée par un fin trait vertical (et connections horizontales).
Tr2
1 Si l’orientation est du haut vers le bas, aucune flèche est
Tr1 nécessaire.
3
Tr3
2
Automates programmables industriels 62
SFC – Exemple
Étapes
Étape 1 – action: « moteur OFF »
moteur
1 Étape 2 – action: « moteur ON »
OFF
_____
Tr1 start & alarm
Transitions
Tr1 – réceptivité: start & not alarm
moteur
2 Tr2 – réceptivité: alarm
ON
Tr3 - réceptivité: stop
i j Etapes actives
t
Variable booléenne t /Xi / D associé à
t /Xi /D D l’étape i (retarde d’activation de D)
Ex: t /X5 / 3s
t
Xi
t
Variable O = 1 si l’étape i est active
O
O = Xi
t
1 2 1 2 1 2
T1 C1 T2 C2=0 T3 C3=1
3 4 3 4 3 4
1 2 Franchissement de Tr3 1 2
3 4 3 4
start = 0
1 alarm = 0 entrées
_____ stop = 0
Tr1 start & alarm
M=0 sortie
2 M
Aucune transition
franchissable = état stable
Tr2 alarm Tr3 stop On attends le prochain
évènement.
start = 1
1 alarm = 0 entrées
_____ stop = 0
Tr1 start & alarm
M=0 sortie
2 M
Tr1 est franchissable
start = 0
1 alarm = 0 entrées
_____ stop = 0
Tr1 start & alarm
M=1 sortie
2 M
Aucune transition
franchissable = état stable
Tr2 alarm Tr3 stop On attends le prochain
évènement.
start = 0
1 alarm = 0 entrées
_____ stop = 1
Tr1 start & alarm
M=1 sortie
2 M
Tr3 est franchissable
start = 0
1 alarm = 0 entrées
_____ stop = 0
Tr1 start & alarm
M=0 sortie
2 M
Aucune transition
franchissable = état stable
Tr2 alarm Tr3 stop On attends le prochain
évènement.
1 1
_
a&b a&b
a&b
2 2
_
c a&b
c
3 3
4 5
Synchronisation (ou rendez-vous)
d
On peut activer 6 seulement si toutes les deux
6 branches on terminé (4 et 5 actives)
O = Xi i N O t
t
Type N peut être omis. i O
i P O O
t
O = front_montant(Xi) OR front_descendant(Xi)
Variable O = 1 à l’activation ou désactivation de l’étape i
Xi
t
Actions conditionnelles
cond cond
O
O = Xi AND cond
t
Variable O = 1 si étape i est active et cond est vraie
Automates programmables industriels 80
SFC – Actions (3)
Xi
D = 3s t
t
O = Xi AND t /Xi / D
Variable O = 1 si étape i est active avec retard de D O
D = 3s Xi
– Type L (limited) i L O
______
t /Xi /D D
1 1
Cycle k
T2 T2
C2=1 C2=1
3 3
T4 T4
C3=0 C3=0
Mémoriser
les entrées
OUI NO
1re cycle
OUI NO
Ètat stable
Affecter
les sorties
1 1 1
Cycle k Cycle k+1
C1=1
T1 T1 T1
C1 C1 C1
2 O 2 O 2 O
T2 T2 T2
C2=1 C2=1 C2=1
3 3 3
T4 T4 T4
C3=0 C3=0 C3=0
Mémoriser
les entrées
OUI NO
1re cycle
Affecter
les sorties
X1 X2 C1 Tr1
1
1 2
X3 C2 Tr2
2
Tr1
Détermination franchissement transition 3 C1
3
. .
3
. .
. .
Détermination franchissement transition m
m Tr2
C2
Dépend des étapes actives au cycle précédent et du valeur des entrées dans le
cycle en cours. Si la i-me transition est franchissable la variable Tri est vraie dans
le cycle en cours.
Automates programmables industriels 92
3 - Mis à jour de l’état (1)
Franchissement des transitions avec désactivation des étapes en amont et
activation des étapes en aval.
Première partie: on spécifie les étapes en amont qui sont désactivées par
le franchissement de chaque transition
Tr1 X1
1 R 1 2
X2
R
Tr2
X3 Tr1
2 R C1
. . 3
. .
. .
Désactivation étapes en amont transition m Tr2
m C2
4
Automates programmables industriels 93
3 - Mis à jour de l’état (2)
Deuxième partie: on spécifie les étapes en aval qui sont activées par le
franchissement de chaque transition.
Tr1 X3
m+1 S 1 2
Tr2
X4
m+2 S
Tr1
C1
. . 3
. .
. .
Activation étapes en aval transition m Tr2
2m C2
4
Automates programmables industriels 94
4 - Exécution des actions (1)
Exécution des actions associées aux étapes actives (le nombre total de étapes est p).
actions Plusieurs cases possibles.
1 LBL
X1 1
2
X2 O1 2 O1
3
W1
X3 W1 O2
4 3 C O2
X4 O3
5 S 4 S O3
. .
. .
. .
Automates programmables industriels 95
4 - Exécution des actions (2)
Exécution des actions associées aux étapes actives (le nombre total de étapes est m).
. .
. .
. X5 . T 1s
Y2
6
5 D O2
T1
100
X6
7 T2 Tr1
300 6 t/X6/3s
. .
. .
. .