CHAPITRE 4 : LANGAGES DE PROGRAMMATION DES API
PARTIE I ?§/ LE GRAFCET
Dans cette partie, on étudiera un outil de modélisation graphique : le GRAFCET
(GRAphe Fonctionnel de Commande Etape/Transition). C’est un outil graphique de
description des comportements d’un système logique. Il est fréquemment utilisé pour
la mise en œuvre des automates programmables industriels (API).
I- conventions et règles :
Le GRAFCET est un outil de représentation graphique permettant de représenter le
cahier des charges d'un automatisme. Cette représentation est normalisée : Norme
Française NF C 03-190.
Le fonctionnement d'un système automatisé peut être représenté graphiquement
par un ensemble :
D'étapes auxquelles sont associées des actions.
De transitions auxquelles sont associées des réceptivités.
Des liaisons orientées entre les étapes et les transitions.
I-1 Principe de base
Des ETAPES
Auxquelles sont associées des
actions 2
Des TRANSITIONS
Auxquelles sont associées des réceptivités
(conditions d’évolutions) Réceptivité
Des LIAISONS ORIENTEES
Qui relient les étapes aux transitions et les
3
transitions aux étapes
Page 1
I-2 Actions associées à l’étape :
On précise pour chaque étape, à l'intérieur d'un rectangle, les actions à
effectuer lorsque l'étape est active.
SPECIFICATIONS FONCTIONNELLES SPECIFICATIONS TECHNOLOGIQUES
2 Pousser la pièce 2 Y+
3 Déplacer le pièce 3 KM
GRAFCET de 1er niveau GRAFCET de 2ème niveau
NIVEAU UTILISATEUR NIVEAU CONCEPTEUR
Le GRAFCET de 1er niveau permet une description qui présume ni des choix
technologiques de la partie opérative (capteur, pré-actionneurs, actionneurs), ni de
la partie commande. C’est un outil de dialogue entre l’utilisateur et le concepteur.
I-3 transition :
Une transition indique la possibilité d'évolution d'une étape à l'étape suivante.
A chaque transition, on associe une ou plusieurs conditions logiques qui traduisent la
notion de réceptivité.
S1.S2 Condition logique de réceptivité
La réceptivité est une fonction combinatoire d'informations telles que :
Etats de capteurs.
Page 2
Action de boutons-poussoirs par l'opérateur.
Action d'un temporisateur, d'un compteur.
Etat actif ou inactif d'autres étapes.
Comparaison d’une valeur analogique
5 7 11
T < 300°C C=10 d
6 8 12
Température < 300°C Valeur de la Réceptivité vraie au front
consigne D’un montant de la variable d
compteur =10 (Passage de 0 à 1)
I.4 Liaisons orientées
Les liaisons indiquent les voies d'évolution du GRAFCET. Dans le cas général, les
liaisons qui se font du haut vers le bas ne comportent pas de flèches. Dans les autres
cas, il faut utiliser des flèches.
I.5 Les règles d’évolution
La normalisation
France NF C03-190 (juin 82)
INTERNATIONAL CEI 848 (Décembre 88)
Définit cinq règles d’évolution
Règle 1 : (Situation initiale)
La situation initiale caractérise le comportement initial de la partie commande vis-à-
vis de la partie opérative et correspond aux étapes actives au début du
fonctionnement.
10
Page 3
Règle 2 : (Franchissement d’une transition)
Une transition est validée lorsque toutes les étapes immédiatement précédentes sont
actives. Le franchissement ne peut produire :
Que lorsque cette transition est validée
Et que la réceptivité associée est vraie
5 5
r=0 ou 1 r=0
6 6
Transition non validée Transition validée
Règle 3 : (Evolution des étapes actives)
Le franchissement d’une transition provoque simultanément :
L’activation de toutes les étapes immédiatement suivantes reliées à
cette transition.
La désactivation de toutes les étapes immédiatement précédentes
reliées à cette transition.
5 5
r= 1 r
6 6
Franchissable Franchie
Règle 4 : (Evolution simultanées)
Plusieurs transitions simultanément franchissables sont simultanément
franchies.
Cette règle de franchissement permet notamment de décomposer un GRAFCET en
plusieurs diagrammes indépendants tout en assurant de façon rigoureuse leur
interconnexion.
Page 4
4 11
h.X11 h.X4
5 12
Règle 5 : (Activation et désactivation simultanées)
Si au cours du fonctionnement de l’automatisme une même étape doit être
simultanément activée et désactivée, elle reste active.
II- Notions de séquence:
II-1 actions aux ETAPES :
II-1-1 actions continues
Une action est dite continue lorsque la durée de cette action correspond à la
durée d’activation de l’étape. Plusieurs actions continues peuvent être associées à
une même étape.
10 ROTATION DGV
II-1-2 actions conditionnelles
L’exécution de l’action est soumise à une condition logique notée à coté
d’un trait vertical au-dessus de l’action.
fh
A l’étape 10, la montée est
10 MONTEE effectuée tant que l’on n’a
pas atteint le fin de course fh
Page 5
II-1-3 actions mémorisées
Lorsqu’une action doit être maintenue pendant plusieurs étapes, il suffit
d’utiliser les symboles S (Set) et R (Reset) ou de la répéter dans toutes les étapes
concernées.
15 S MOTEUR 15 MOTEUR
a a
16 16 MOTEUR
b b
17 R MOTEUR 17
c c
II-1-4 durée d’activité d’étape
Pour maintenir une étape active et ses actions associées pendant un certain
temps (t= 15S), il suffit d’utiliser le signal binaire de sortie de l’opérateur à retard
comme réceptivité.
15 MALAXAGE
15 S / X10
16 VIDANGE
II-1-5 actions retardées ou limitées
Page 6
L’action peut être retardée, c’est à dire que la condition d’assignation n’est
vraie qu’après une durée D depuis l’activation de l’étape. Comme elle peut être
limitée dans le temps, C’est à dire que la condition d’assignation n’est vraie que
pendant une durée L depuis l’activation de l’étape.
L’action VERIN A est retardée de 5 secondes et l’action REMPLISSAGE est
limitée à 8 secondes à partir de l’activation de l’étape 12.
15 D VERIN A D=5s
L REMPLISSAGE
L=8s
16
Exemple :
On se propose de d écrire un GRAFCET d’une machine de poinçonnage des
tôles à commande automatisé par un API
Comme le montre la figure suivante :
DE
Vérin poinçon
MO
Capteur C1
Capteur C2
Plateau C3 C4
RO
Emplacement Vérin Rotation plateau
des tôles
Page 7
Cette machine permet uniquement de poinçonner des tôles de forme
circulaire le chargement et le déchargement s’effectue manuellement. Le
démarrage de la machine se fait par un bouton poussoir DCY.
Le vérin rotation plateau VR est de type simple effet permet de tourner le
plateau d’un quart de rotation par la sortie de son tige. Le recule de la tige n’à
aucun effet de rotation. Le vérin poinçon VP permet de poinçonner la pièce se
trouvant à l’emplacement ‘ P ‘ par la sortie de son tige.
Cahier de charge de la machine :
Le système se trouvant en position initiale, l’appui sur le bouton de « départ
cycle » ordonne la rotation du plateau
Une fois la rotation achevée, descente du poinçon.
Une fois le poinçon en position basse, remontée du poinçon
Une fois le poinçon revenu en position haute, attente d’un nouveau « départ
cycle ».
Les GRAFCET respectivement de niveau 1 et niveau 2 conformément au
cahier de charge sont représentés à la figure suivante
Page 8
1 ATTENTE 1
Conditions initiales et
C1.C4.DCY
départ cycle
2 RTATION PLATEAU 2 RO
Rotation terminée C3
3 DESCENTE POINCON 3 DE
Poinçon en bas C2
4 MONTEE POINCON 4 MO
Poinçon en haut C1
GRAFCET 1er NIVEAU GRAFCET 2ème NIVEAU
II-2 sélection de séquences :
Une sélection de séquence est un choix d’évolution entre une ou plusieurs
séquences possibles à partir d’une ou plusieurs étapes.
Il est impérative de ne sélectionner qu’une seule évolution et ceci en utilisant
des conditions logiques exclusives.
Cette exclusivité peut être
Soit d’ordre physique (incompatibilité mécanique ou temporelle)
Soit d’ordre logique dans l’écriture des réceptivités.
II-2-1 Début de sélection (divergence en OU):
Page 9
14 Sur l’exemple, l’étape 14 14
se trouvant active et la
réceptivité « f » étant
r=0 f=1 vrais, l’évolution r f
s’effectue vers l’étape
15.1 15.2 15.2 15.1 15.2
APRES
AVANT
II-2-2 Fin de sélection (convergence en OU):
Lorsque l’étape 20.2 est
20.1 20.2 20.1 20.2
active et la réceptivité
« c » est vrais « c=1 »,
h=0 c=1 h c
l’évolution s’effectue vers
l’étape 21.
21 21
AVANT APRES
II-2-3 Saut d’étape et reprise de séquence
Un saut d’étape permet de sauter une ou plusieurs étapes lorsque les actions
associées à ces étapes deviennent inutiles (ex: perçage avec ou sans débourrage).
Un renvoi de séquence permet d’effectuer plusieurs fois une même séquence
tant qu’une condition n’est pas réalisée (ex : remplissage d’un produit).
L’exemple suivant résume les principes de saut d’étapes et de renvoi de séquence.
Page 10
15
b Renvoi de
a séquence
16 18
Saut d’étape
e c d
17 19
h
f
g
20
II-3 séquences simultanées :
Les séquences simultanées permettent à partir d’une ou plusieurs étapes
d’évoluer vers plusieurs séquences simultanément.
II-3-1 divergence en ET :
Deux ou plusieurs
12
12 séquences peuvent être
simultanément activées
a=1 a
à partir de la même
transition.
Les deux traits parallèles 13.1
13.1 13.2 13.2
mettent en évidence
l’activation simultanée
des étapes 13.1 et 13.2 à
AVANT partir de la réceptivité APRES
a=1, lorsque l’étape 12
est active.
Page 11
II-3-2 convergence en ET :
La convergence (ou
10.1 10.2 10.1 10.2
jonction) entre plusieurs
branches parallèles ne
pourra s’effectuer que
e=1 lorsque toutes les e=1
séquences seront
11 terminées (étapes 10.1 et 11
10.2 actives) et la
AVANT réceptivité commune APRET
vraie (e=1).
II-4 extension des représentations (Macro-étapes) :
Une macro-étape est une représentation unique d’un ensemble d’étapes et
de transitions.
Le concept de macro-étape permet :
Lors de l’analyse, de ne pas surcharger la représentation de délais
(représentation structurée)
Lors de l’exploitation, une meilleure compréhension du
fonctionnement.
1.1
15
x
(1) a
1.2
M1 y
(2) b
1.3
16 Z
c 1.4
Page 12
L’expansion de la macro-étape commence par une seule étape d’entrée et
finit par une seule étape de sortie. Le franchissement de la transition amont (1) de la
macro-étape active l’étape d’entrée (1.1). L’étape de sortie (1.4) valide la transition
aval de la macro-étape (2) et désactivée lorsque cette transition est franchie.
Exemple :
On considère une machine de production des pièces pliées et poinçonnées
décrite ci-dessous avec chargement et déchargement automatique :
Vérin 3 Vérin 4
Vérin 1
Vérin 2
Le système est commandé par deux boutons poussoirs respectivement le
départ cycle (DCY) et arrêt (RAZ) composé par deux postes:
Poste de pliage par descente et monté de la tige vérin 1
Poste de poinçonnage par descente et monté de la tige vérin 2
Poste d’évacuation puis remplissage de pièces assurées par deux vérins (vérin 3
et vérin 4).
Cahier de charge de la machine :
Le système se trouvant en position initiale, l’appui sur le bouton de « départ
cycle » ordonne simultanément l’évacuation puis remplissage ; le pliage et le
poinçonnage des pièces se trouvant sur le plateau.
Page 13
Une fois les trois actions terminées. Le système ordonne la rotation du plateau
et le système recommence le même cycle jusqu’à l’arrêt.
Une fois le poinçon revenu en position haute, attente d’un nouveau « départ
cycle ».
Les GRAFCET globale et des macros étapes de niveau 1 conformément au cahier
de charge sont représentés aux figures suivantes.
GRAFCET globale de fonctionnement :
0 Repos
DCY. Condition initiale
1 Rotation.plt
Rotation terminée
2 Poste 1 3 Poste 2 4 Évacuation
Poste vide
5 Alim
Pièce pliée Pièce poinçonnée Plateau chargé
8 7 6
Arrêt Arrêt
Page 14
GRAFCET relatif à la macro étape Poste 1 :
2.1 DESCENTE TIGE V1
2 Poste 1 Presse en bas
2.2 MONTEE TIGE V1
GRAFCET relatif à la macro étape Poste 2 :
3.1 DESCENTE TIGE V2
3 Poste 2 Poinçon en bas
3.2 MONTEE TIGE V2
Page 15
PARTIE II Mise en équations des GRAFCET:
I- Mise en équations des GRAFCET:
Malheureusement, ce ne sont pas tous les automates qui se programment en
GRAFCET directement. Mais, généralement ils peuvent être programmés en « diagramme
échelle » (ou LADDER).
Il faut donc pouvoir transformer le GRAFCET qui est la meilleure approche qui existe
pour traiter les systèmes séquentiels en « diagramme échelle » qui est le langage le plus
utilisé par les automates.
I-1 Mémoire d’étape :
Afin de respecter les règles d’évolution du GRAFCET, chaque étape peut être
matérialisée par une mémoire du type marche prioritaire possédant une structure de la
forme :
Les termes d’enclenchement et de remise à zéro sont définis de la manière
suivante :
Encl : Etat logique de l’Etape(s) précédente(s).
Réceptivité
ETAPE X
RAZ : Etat logique de l’Etape(s) suivante(s)
Page 16
Encl : X4.C1
1 X1
RAZ : X2
C1.C4.DCY
Encl : X1.C1.C4.DCY
2 RO X2
RAZ : X3
C3
Encl : X2.C3
3 DE X3
RAZ : X4
C2
Encl : X3.C2
4 MO X4
RAZ : X1
C1
Les équations des mémoires étape déterminée précédemment nous donnent le
schéma de câblage électrique suivant :
X1
X4 C1
ETAPE 1
X2 X1
X2
X1 C1 C4 DCY
ETAPE 2
X3 X2
X3
X2 C3
ETAPE 3
X4 X3
Page 17
X4
X4 C2
ETAPE 4
X2 X1
X2 ROTATION
RO
X3
DE DESCENTE
X4
MO MONTEE
Pour établir la commande de chaque sortie, il suffit de considérer la ou les étapes
durant lesquelles la sortie doit être enclenchée. Ainsi :
La sortie RO a lieu durant l’ETAPE 2 d’où RO = X2
La sortie DE a lieu durant l’ETAPE 3 d’où DE = X3
La sortie MO a lieu durant l’ETAPE 4 d’où MO = X4
I-2 Initialisation de la séquence :
Nous remarquons sur le schéma précédent qu’à la mise sous tension, toutes les
mémoires se trouvant ici à l’état repos, aucune évolution n’est possible.
Il est donc impératif d’initialiser la séquence en venant enclencher la mémoire X1
matérialisant l’étape initiale de notre GRAFCET. Ceci est obtenu :
Soit en utilisant un contact d’initialisation ou un contact de passage
commandé lors de la mise sous tension de l’automatisme, comme le montre le
schéma suivant :
Init
X1
X4 C1
ETAPE 1
X2 X1
Page 18
Soit en testant l’état repos de toutes les mémoires d’étape suivantes, pour
venir alors systématiquement enclencher la mémoire X1 , comme le montre le
schéma suivant :
X2 X3 X4
X1
X4 C1
ETAPE 1
X2 X1
II- Langages de programmation des API:
Les langages de programmation des API sont de natures diverses étant donné la
diversité, des utilisateurs pouvant les utiliser.
II-1 Le langage LADER (LD) :
Le langage des API d’origine américaine utilise le symbolisme classique des schémas
à relais accompagné de blocs graphiques préprogrammés pour réaliser des fonctions
d’automatisme (calculs, temporisation, compteur,…..).
C'est une suite de réseaux qui seront parcourus séquentiellement. Les entrées sont
représentées par des interrupteurs -| |- ou -|/|- si entrée inversée, les sorties par des
bobines -( )- ou des bascules -(S)- -(R)-.Il y a également d’autre opérations :
l'inverseur -|NOT|-,
l'attente d'un front montant -(P)- ou descendant -(N)-.
Les sorties sont obligatoirement à droite du réseau On doit évidemment identifier nos E/S,
soit directement par leur code (Ia.b / Qa.b), ou avec leur libellé en clair défini dans la table
des mnémoniques.
On relie les éléments en série pour la fonction ET, en parallèle pour le OU. On peut utiliser
des bits internes (peuvent servir en bobines et interrupteurs), comme on utilise dans une
calculatrice une mémoire pour stocker un résultat intermédiaire (Ma.b). On peut aussi
introduire des éléments plus complexes, en particulier les opérations sur bits comme par
exemple une bascule SR (priorité déclenchement), RS (priorité enclenchement), POS et
Page 19
NEG pour la détection de fronts... on trouvera d'autres fonctions utiles, les compteurs, les
temporisateurs et le registre à décalage.
On peut également utiliser des fonctions plus complexes (calculs sur mots par exemple)
II-2 Adressage des entrées/sorties
La déclaration d'une entrée ou sortie donnée à l'intérieur d'un programme s'appelle
l'adressage. Les entrées et sorties des API sont la plupart du temps regroupées en groupes
de huit sur des modules d'entrées ou de sorties numériques. Cette unité de huit est appelée
octet. Chaque groupe reçoit un numéro que l'on appelle l'adresse d'octet.
Afin de permettre l'adressage d'une entrée ou sortie à l'intérieur d'un octet, chaque octet
est divisé en huit bits. Ces derniers sont numérotés de 0 à 7. On obtient ainsi l'adresse du
bit..L'API représenté ici a les octets d'entrée 0 et 1 ainsi que les octets de sortie 0 et 1.
Nom Type de données Adresse
ETAPE 1 Bool M0.1 Etape 1 de type logique (Bool) affecté
ETAPE 2 Bool M0.2 à la mémoire M0.1
ETAPE 3 Bool M0.3
ETAPE 4 Bool M0.4
C1 Bool I0.0 Le capteur C1 est de type logique et
C2 Bool I0.1 affecté à l’adresse I0.0
C3 Bool I0.2
C4 Bool I0.3
DCY Bool I0.4
RO Bool Q0.0
DE Bool Q0.1 La sortie DE est de type logique et
MO Bool Q0.2 affecté à l’adresse Q0.0
Tableau 1 : table de variables mnémoniques
Par exemple, pour adresser la 5ème entrée du DCY en partant de la gauche, on définit
l’adresse suivante :
I0.4 I indique une adresse de type entrée, 0, l’adresse d’octet et 4, l’adresse
de bit. Les adresses d’octet et de bit sont toujours séparées par un point.
Pour adresser la 3ème sortie, par exemple, on définit l’adresse suivante :
Q0.2 Q indique une adresse de type Sortie, 0, l’adresse d’octet et 2, l’adresse
Page 20
de bit. Les adresses d’octet et de bit sont toujours séparées par un point.
Remarque : L’adresse du bit de la dixième sortie est un 1 car la numérotation commence à
zéro.
Exemple:
Dans l’exemple précédent et suivant la table mnémonique d’affectation le
programme en LADER de la première étape est :
Initialisation système
X4 .C1
X2 .X1
Et ainsi pour l’étape 2 est :
X1.C1.C4.DCY
X3 .X2
Page 21
L’étape 3 :
X2 .C3
X4 .X3
L’étape 4 :
X4 .C2
X2 .X1
Pour la programmation des sorties
R0 : est actionné uniquement à l’étape 2
Page 22
DE : est actionné uniquement à l’étape 3
MO : est actionné uniquement à l’étape 4
Le programme peut étre simplifier si en utilisant les bobines Set/ Reset ou les bascules SR ou
RS et en tenant compte des cinq régles du GRAFCET.
Activation de l’étape 1 et
désactivation de l’étape 4
Forçage manuelle de remise à zéro par RAZ.
Activation de l’étape 2 et
désactivation de l’étape 1
Page 23
Activation de l’étape 3 et
désactivation de l’étape 2
Activation de l’étape 4 et
désactivation de l’étape 3
II-2 Le langage LOG (Logigramme) :
Les opérations logiques servent à définir des conditions pour l'activation d'une sortie.
Elles peuvent être créées dans le programme de l'API dans les langages de
programmation Schéma des circuits LADER (LD) ou Logigramme (LOG).
Il existe de nombreuses opérations logiques pouvant être mises en œuvre dans des
programmes API.
L'opération ET et l'opération OU, ainsi que la NEGATION d'une entrée sont les opérations les
plus fréquemment utilisées et seront expliquées ici à l'appui d'un exemple.
II-2-1 Opération ET
Exemple d’une opération ET :
Une lampe doit s’allumer quand les deux interrupteurs sont fermés simultanément.
Page 24
Schéma :
S1 S2
24V
P1
M
Explication :
La lampe s’allume uniquement quand les deux interrupteurs sont fermés.
C’est-à-dire, quand S1 ET S2 sont fermés, alors la lampe P1 est allumée.
Câblage de l’API :
Pour appliquer cette opération au programme de l’API, les deux commutateurs doivent
être connectés aux entrées de l’API. Ici, S1 est relié à l’entrée I 0.0 et S2 à l’entrée I 0.1.
De plus, la lampe P1 doit être connectée à une sortie, par exemple Q 0.0.
24V
Interrupteur S1
%I 0.0
Entrées 24V
Interrupteur S2
%I 0.1
M La Lampe P1 doit
API
Sorties s’allumer quand les
%Q 0.0 deux interrupteurs
S1 et S2 sont
fermés.
Opérateur ET dans LOG :
Dans le logigramme LOG, l’opérateur ET est programmé par le symbole ci-dessous et est
représenté de la manière suivante :
Page 25
Entrées de
l'opération ET.
Il est possible de
prévoir plus de Sortie
deux entrées. concernée par
l'affectation.
%I 0.0 %Q 0.0
&
%I 0.1 =
Affectation des
Représentation
résultats de
graphique de
l'opération
l'opération logique ET.
logique.
II-2-2 Opération OU
Exemple d’une opération OU :
Une lampe doit s’allumer si au moins un des deux interrupteurs est fermé.
Schéma :
S1
24V
S2
24V
P1
Explication :
La lampe s’allume à partir du moment où un des deux interrupteurs est fermé.
C’est-à-dire, quand S1 OU S2 est fermé, alors la lampe P1 est allumée.
Page 26
Câblage de l’API :
Pour appliquer cette opération au programme de l’API, les deux commutateurs doivent
être connectés aux entrées de l’API. Ici, S1 est relié à l’entrée E 0.0 et S2 à l’entrée E 0.1.
De plus, la lampe P1 doit être connectée à une sortie, par exemple A 0.0.
24V
Interrupteur S1
%I 0.0
Entrées 24V
Interrupteur S2
%I 0.1
M La lampe P1 doit
Sorties s’allumer quand
API
%Q 0.0 l'interrupteur S1 ou
l'interrupteur S2 est
fermé.
Opérateur OU dans LOG
Dans le logigramme LOG, l’opérateur OU est programmé par le symbole ci-dessous et est
représenté de la manière suivante :
Entrées de l'opération
OU. Sortie concernée par
Il est possible de prévoir l'affectation.
plus de deux entrées.
%I 0.0 %Q 0.0
>
%I 0.1
=
Représentation Affectation des résultats
graphique de de l'opération logique.
l’opération logique OU.
Page 27
II-2-3 Négation
Il est souvent nécessaire dans les opérations logiques d'interroger l'état d'un contact pour
savoir : dans le cas d'un contact à fermeture si celui-ci n'a pas été activé, ou dans le cas
d'un contact à ouverture s'il a été activé, et donc pour savoir si la tension est appliquée à
la sortie ou non.
Ceci peut être réalisé par la programmation d'une négation à l'entrée de l'opération ET ou
OU.
Dans le logigramme LOG, la négation de l’entrée (ou inversion) sur un opérateur ET est
programmé de la façon suivante :
Entrées de l' Représentation
opération ET qui doit graphique de
être inversée l'opération logique
(négation). Négation.
%I 0.0 %Q
& 0.0
%I 0.1 =
Ceci signifie qu’une tension est appliquée à la sortie %Q 0.0 uniquement si %I 0.0 est à 0 et
%I 0.1 est à 1.
Page 28