[Chapitre 4]
[La programmation des API]
CHAPITRE 4 : LA PROGRAMMATION DES API
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 :
ETAPE X
Encl : Etat logique de l’Etape(s) précédente(s). Réceptivité
RAZ : Etat logique de l’Etape(s) suivante(s)
Page 48
[Chapitre 4]
[La programmation des API]
1
2
3
4
X1
Encl : X4.C1
RAZ : X2
C1.C4.DCY
Encl : X1.C1.C4.DCY
RO
X2
RAZ : X3
Encl : X2.C3
RAZ : X4
Encl : X3.C2
RAZ : X1
DE
X3
MO
X4
C3
C2
C1
Les équations des mémoires étape déterminée précédemment nous donnent le
schéma de câblage électrique suivant :
X1
X2
X3
X4
C1
X2
X1
X1
C1
C4
DCY
X3
X2
X2
C3
X4
X3
ETAPE 1
ETAPE 2
ETAPE 3
Page 49
[Chapitre 4]
[La programmation des API]
X4
C2
X2
X1
X2
X3
X4
X4
RO
DE
MO
ETAPE 4
Publicité
ROTATION
DESCENTE
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
X4
C1
X2
X1
X1
ETAPE 1
Page 50
[Chapitre 4]
[La programmation des API]
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
X2
X1
ETAPE 1
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 51
[Chapitre 4]
[La programmation des API]
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 ETAPE 1 ETAPE 2 ETAPE 3 ETAPE 4 C1 C2 C3 C4 DCY RO DE MO
Type de données Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool
Adresse M0.1 M0.2 M0.3 M0.4 I0.0 I0.1 I0.2 I0.3 I0.4 Q0.0 Q0.1 Q0.2
Tableau 1 : table de variables mnémoniques
Etape 1 de type logique (Bool) affecté à la mémoire M0.1
Le capteur C1 est de type logique et affecté à l’adresse I0.0
La sortie DE est de type logique et affecté à l’adresse Q0.0
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.
Publicité
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 52
[Chapitre 4]
[La programmation des API]
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 53
[Chapitre 4]
[La programmation des API]
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 54
[Chapitre 4]
[La programmation des API]
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.
Forçage manuelle de remise à zéro par RAZ.
Activation de l’étape 1 et désactivation de l’étape 4
Activation de l’étape 2 et désactivation de l’étape 1
Page 55
[Chapitre 4]
[La programmation des API]
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 56
[Chapitre 4]
[La programmation des API]
Schéma :
S1
S2
24V
M
P1
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
%I 0.0
Entrées
24V
API
Sorties
%I 0.1
%Q 0.0
M
Interrupteur S1
Interrupteur S2
La Lampe P1 doit s’allumer quand les deux interrupteurs S1 et S2 sont fermés.
Publicité
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 57
[Chapitre 4]
[La programmation des API]
Entrées de l'opération ET. Il est possible de prévoir plus de deux entrées.
%I 0.0
%I 0.1
&
%Q 0.0
=
Sortie concernée par l'affectation.
Représentation graphique de l'opération logique ET.
Affectation des résultats de l'opération 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
S2
24V
24V
P1
M
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 58
[Chapitre 4]
[La programmation des API]
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.
Entrées
%I 0.0
%I 0.1
24V
24V
M
API
Sorties
%Q 0.0
Opérateur OU dans LOG
Interrupteur S1
Interrupteur S2
La lampe P1 doit s’allumer quand l'interrupteur S1 ou l'interrupteur S2 est fermé.
Dans le logigramme LOG, l’opérateur OU est programmé par le symbole ci-dessous et est représenté de la manière suivante :
l'opération
Entrées de OU. Il est possible de prévoir plus de deux entrées.
Sortie concernée par l'affectation.
%I 0.0
%I 0.1
>
%Q 0.0
=
Représentation de graphique l’opération logique OU.
Affectation des résultats de l'opération logique.
Page 59
[Chapitre 4]
[La programmation des API]
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 :
de
l' Entrées opération ET qui doit être inversée (négation).
Représentation graphique l'opération Négation.
de logique
%I 0.0
%I 0.1
&
%Q 0.0
=
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 60