Cours PA_API
Programmation Avancée des
Automates Programmables
Industriels
Master1 A.I.I
Enseignant: Mer Bennila Nour-Eddine
Université Saad Dahleb Blida 1
I-Les automates programmables industriels.
I-1 Introduction
• Un automate programmable industriel (API) est une forme
particulière de contrôleur à microprocesseur qui utilise une
mémoire programmable pour stocker les instructions et qui
implémente différentes fonctions, qu’elles soient logiques, de
séquencement, de temporisation, de comptage ou arithmétiques,
pour commander les machines et les processus.
• Il est conçu pour être exploité par des ingénieurs, dont les
connaissances en informatique et langages de programmation
peuvent être limitées.
I-Les automates programmables industriels.
I-1 Introduction
I-Les automates programmables industriels.
I-1 Introduction
I-Les automates programmables industriels.
I-1 Introduction
• De manière générale, un API est structuré autour de plusieurs
éléments de base que sont l’unité de traitement, la mémoire,
l’unité d’alimentation, les interfaces d’entrées-sorties, l’interface
de communication et le périphérique de programmation.
I-Les automates programmables industriels.
I-1 Introduction
• Les dispositifs d’entrées-sorties peuvent être classés en trois
catégories, selon qu’ils produisent des signaux discrets,
numériques ou analogiques.
I-Les automates programmables industriels.
I-2 Unité d’entées-sorties
• L’unité d’entrées-sorties (E/S) d’un API apporte le circuit d’interface
entre le système et le monde extérieur.
• Chaque point d’entrée-sortie dispose d’une adresse unique, que le
CPU peut utiliser.
• L’isolation électrique avec le monde extérieur est généralement
réalisée par des photocoupleurs (également appelés optocoupleurs).
• Un API élaboré peut ainsi accéder à des entrées dont les signaux
numériques/discrets (c’est-à-dire tout ou rien) utilisent des tensions
de 5 V, 24 V, 110 V et 240 V.
I-Les automates programmables industriels.
I-2 Unité d’entées-sorties
• Les sorties sont de type relais, transistor ou triac :
Avec le type relais , le signal issu d’une sortie de l’API est utilisé
pour déclencher un relais et peut activer des courants de quelques
ampères dans le circuit externe.
Avec le type transistor , la sortie se fonde sur un transistor pour
commuter le courant dans le circuit externe. L’opération de
commutation est donc extrêmement rapide. Les sorties de ce type
sont adaptées uniquement à la commutation d’un courant continu.
Avec le type triac , et des photocoupleurs pour l’isolation, les
sorties peuvent servir à contrôler les charges externes connectées à
une alimentation en courant alternatif.
I-Les automates programmables industriels.
I-3 Fourniture et absorption de courant
• Les termes fourniture ( sourcing ) et absorption ( sinking ) décrivent
la manière dont les appareils à courant continu sont connectés à un
API:
Dans le cas de la fourniture, en supposant le sens conventionnel
du courant du plus (+) vers le moins (-), un dispositif d’entrée reçoit
le courant à partir du module d’entrée. Autrement dit, le module
d’entrée est une source de courant et le fournit au dispositif
d’entrée.
I-Les automates programmables industriels.
I-3 Fourniture et absorption de courant
Dans le cas de l’absorption, un dispositif d’entrée fournit le courant
au module d’entrée. Autrement dit, le module d’entrée reçoit et
absorbe le courant.
Si le courant va du module de sortie vers une charge de sortie, le
module de sortie fournit le courant. En revanche, si le courant va de
la charge de sortie vers le module de sortie, celui-ci absorbe le
courant.
I-Les automates programmables industriels.
I-4 Les systèmes API
• Les systèmes API sont principalement disponibles sous deux
formes: en boîtier unique et en version modulaire/rack .
I-Les automates programmables industriels.
I-5 Programmer les 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.
• Les langages de programmation définis par la norme CEI 61131-3
sont le langage à contacts (LAD, Ladder Diagram ), les listes
d’instructions (IL, Instruction List ), les graphes de fonction
séquentielle (SFC, Sequential Function Charts ), le texte structuré (ST,
Structured Text ) et les diagrammes de schémas fonctionnels (FBD,
Function Block Diagram ).
• Une unité de programmation peut être un appareil portatif, un
terminal de bureau ou un ordinateur.
I-Les automates programmables industriels.
I-5 Programmer les API
• Les fabricants d’API proposent des outils de développement pour
leurs API. Par exemple:
Mitsubishi fournit MELSOFT et sa suite logicielle iQ Works ou GX
Works.
Rockwell Automation fournit RSLogix pour les API PLC-5 d’Allen-
Bradley.
Siemens propose son environnement de développement nommé
SIMATIC STEP 7 et sa suite logicielle TIA PORTAL.
Omron a son tour propose CX-développer intégré dans la suite
logicielle CX-ONE
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
• Un API fonctionne en continu, exécutant son programme et
réagissant aux signaux d’entrée. Cette boucle de fonctionnement est
appelée cycle .
• Au début de chaque cycle du programme, le CPU scrute toute les
entrées et copie leur état aux adresses correspondantes dans la
RAM. Pendant l’exécution du programme, les données d’entrées
enregistrées sont lues à partir de la RAM et les opérations logiques
sont réalisées. Les signaux de sortie résultants sont stockés dans la
zone de mémoire réservée aux entrées-sorties. À la fin de chaque
cycle du programme, toutes les sorties sont transférées depuis la
RAM vers les canaux de sorties appropriés. Les sorties conservent
ensuite leur état jusqu’à la prochaine actualisation. Cette solution
est appelée copie en masse des E/S . Le fonctionnement de l’API
peut se résumer de la manière suivante :
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
Tout fois on peut résumer le cycle de scrutation d’un API comme
suit:
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
Incidence sur la prise en compte des entrèes
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
Incidence sur l’activation des sorties.
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
Incidence sur le délai de réaction.
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
Méthode de programmation des sorties.
Soit le grafcet suivant :
I-Les automates programmables industriels.
I-6 Cycle de fonctionnement des API
La bonne solution consiste à programmer l’équation logique de
chaque sortie :
S11 = X3 + X4
S12 = X3
%X3
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
• L’API doit être en mesure d’identifier chaque entrée et chaque
sortie. Pour cela, il alloue des adresses à chacune d’elles. Dans le cas
de l’API de Mitsubishi, nous avons des entrées avec les adresses
X400, X401, X402, etc., et des sorties avec des adresses Y430, Y431,
Y432, etc. La lettre X désigne donc une entrée, tandis que la lettre Y
désigne une sortie. Toshiba utilise un système comparable.
• Pour les API plus importants, qui disposent de plusieurs racks de
canaux d’entrées et de sorties, chaque rack est numéroté. Dans le cas
du modèle PLC-5 d’Allen- Bradley, le rack qui contient le processeur
reçoit le numéro 0, tandis que les autres racks possèdent les adresses
1, 2, 3, etc. Chaque rack peut avoir plusieurs modules, chacun gérant
plusieurs entrées et/ou sorties. Les adresses ont ainsi le format:
I:012/03, elle correspond à une entrée sur
le rack 01, le module 2 et le port 03.
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
• Pour le modèle SIMATIC S7 de Siemens, les entrées et les sorties sont regroupées
par huit. Chaque groupe est un octet et chaque entrée ou sortie d’un groupe est un
bit.
L’adresse I0.1 correspond donc à
une entrée sur le bit 1 de l’octet 0,
et Q2.0, à une sortie sur le bit 0 de l’octet2
• MODICON utilise un modèle légèrement différent à celui d’Allen-Bradley.
Exemple:
%I0.4.0 : Entrée Physique de la Rack 0, du module 4 et du port 0
%Q0.6.1: Sortie Physique de la Rack 0, du module 6 et du port 1.
• Le format d’adressage utilisé par les automates d’Omron
dépend de la capacité d’entrées-sorties
physiques de l’API.
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
Exemple:
Pour un API de 40 points (40 Entrées-Sorties Physiques) 20 Entrées
et 20 Sorties. Les adresses des entrées physiques vont de
000.00 à 000.15 et de 001.00 à 001.03 (soit un totale de 20 points (bits))
Les adresses des sorties physiques vont de 100.00 à 100.15 et
de 101.00 à 101.03 (soit un totale de 20 points).
Les autres adresses hors de ces plages (donnés ci-dessus) sont
considérées comme Mémento (adresses internes).
Donc vous pouvez déduire les adresses d’Entrées-Sorties physique
et des Mémentos pour un API d’Omron qui dispose de 500 points,
dont 300 points pour les Entrées physiques et 200 points pour
les Sorties physiques.
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
Exemple 2 Modicon
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
Exemple 1 d’Allen-Bradley ControlLogix
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
Exemple 2 d’Allen-Bradley ControlLogix.
Développer un programme pour un API Controllogix d’Allen-Bradley
pour allumer une lampe PL2, la lampe s’allume par l’interrupteurSS1 a condition
que le bouton poussoir PB5 et le fin de course LS7 soient ouvert.
Assignation des entrées-sorties :
• PL2 ----- Connectée au module de sortie châssis local, module 7, port 13.
• SSI ------ Connectée au module d’entrée châssis Remote 1, module 2, port 4.
• PB5------ Connectée au module d’entrée châssis Remote 2, module 1, port 8.
• LS7 ------ Connectée au module d’entrée châssis Remote 2, module 5, port 7.
Adressage :
• PL2 : Local :7 :O.Data.13
• SSI : REM_1 :2 :I.Data.4
• PB5 : REM_2 :1 :I.Data.8
• PL2 : REM_2 :5 :I.Data.7.
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
Exemple 3 d’Allen-Bradley PLC-5 et SLC-500
I-Les automates programmables industriels.
I-7 Adresses des entrées-sorties
Exemple 4 Siemens SIMATIC S7
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
• La programmation des API se fonde très souvent sur les schémas à
contacts . Pour le tracé d’un schéma à contacts, on doit respecter les
conventions suivantes:
Les lignes verticales du schéma représentent les barres
d’alimentation, entre lesquelles des circuits sont connectés. Le flux
du courant part de la ligne verticale de gauche et traverse une ligne
horizontale.
Chaque ligne horizontale définit une opération du processus de
commande. Les lignes sont lue de gauche à droite. La procédure de
parcours de toutes les lignes du programme est appelée cycle . La
dernière ligne peut être indiquée par un bloc qui contient le mot END
ou RET, pour retour, car le programme reprend au début.
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
Chaque ligne doit commencer par une ou plusieurs entrées et doit
se terminer par au moins une sortie.
Les dispositifs électriques sont représentés dans leur condition
normale. Ainsi, un interrupteur qui est normalement ouvert jusqu’à
ce qu’un objet le ferme est représenté ouvert sur le schéma à
contacts. Un interrupteur normalement fermé est représenté fermé.
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
Les entrées et les sorties sont toutes identifiées par leur adresse,
dont le format dépend du fabricant de l’API. Il s’agit de l’adresse de
l’entrée ou de la sortie dans la mémoire de l’API .
I0.0
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
a) Programmation des fonctions logiques
Porte logique ET (A.B = S)
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
a) Programmation des fonctions logiques
Porte logique OU (A + B = S)
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
a) Programmation des fonctions logiques
Porte logique NON (Ā = S)
Porte logique NON-ET ������� � + ����
(𝑨𝑨. 𝑩𝑩 = 𝑺𝑺 = 𝑨𝑨 𝑩𝑩)
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
b) Verrouillage.
• Parfois il est nécessaire de maintenir
la sortie alimentée même lorsque
l’entrée disparaît. C’est par exemple
le cas d’un moteur démarré par l’appui
sur un bouton-poussoir.
• Exemple
II-Programmation des API.
II-1 Langage à contacts et diagrammes de schémas
fonctionnels
II-1-1 Langage à contacts LD (LADDER)
b) Sorties multiples.
• Plusieurs sorties
peuvent être
Connectées à un
contact.
• Exemple
II-1-2 Diagrammes de schémas fonctionnels
(FBD, Function Block Diagram )
• Un FBD est utilisé pour les programmes d’API décrits sous forme de blocs graphiques.
Il s’agit d’un langage graphique pour représenter les signaux et les données passant au
travers de blocs, qui sont des éléments logiciels réutilisables. Un bloc fonctionnel est
une instruction du programme qui, lorsqu’elle est exécutée, produit une ou plusieurs
valeurs de sortie.
• Exemple 1
(a) Compteur CTU (a)
produit une sortie sur
Q lorsque le nombre Q
d’impulsions sur
l’entrée CU a atteint CV
la valeur fixée par PV.
(b)
(b) Bloc défini par
l’utilisateur Il peut
être réutilisé ensuite
dans d’autres blocs
fonctionnels.
II-1-2 Diagrammes de schémas fonctionnels
(FBD, Function Block Diagram )
• Exemple 2 (Les portes logiques)
II-1-2 Diagrammes de schémas fonctionnels
(FBD, Function Block Diagram )
• Exemple 2 (Les portes logiques)
II-1-2 Diagrammes de schémas fonctionnels
(FBD, Function Block Diagram )
• Exemple 2 (Les portes logiques)
II-1-2 Diagrammes de schémas fonctionnels
(FBD, Function Block Diagram )
• Exemple 2 (Les portes logiques)
II-1-2 Diagrammes de schémas fonctionnels
(FBD, Function Block Diagram )
• Exemple 2 (Les portes logiques)
II-1-2 Diagrammes de schémas fonctionnels
(FBD, Function Block Diagram )
• Exemple 3
Une vanne doit être actionnée pour soulever une charge lorsqu’une pompe est en
fonctionnement et lorsque l’interrupteur de levage ou lorsqu’un interrupteur indiquant
que la charge n’est pas encore soulevée et qu’elle se trouve en bas de son guide de
levage est actionné.
II-1-3 Exercices d’applications
Exercice d’application 1
1 4
4
ouverts sont en série ?
Solution : 1– B, 2 -- D, 3 – C, 4 -- A.
II-1-3 Exercices d’applications
Exercice d’application 2
Solution: D
II-1-3 Exercices d’applications
Exercice d’application 3
• La Figure ci-dessous montre un diagramme de schémas fonctionnels. Quel est le
schéma à contacts équivalent ?
Solution : A
II-Programmation des API.
II-2 Programmation IL, SFC et ST
II-2-1 Listes d’instructions (IL, Instruction Lists )
• Les listes d’instructions constituent une méthode de programmation que l’on peut
comparer à la saisie d’un schéma à contacts sous forme d’un texte. Un programme écrit
selon cette méthode est constitué d’une suite d’instructions, chacune placée sur une
nouvelle ligne. Chaque instruction est constituée d’un opérateur suivi d’un ou plusieurs
opérandes.
• Exemples.
LD A (Elle indique le chargement de l’opérande A ; LD est l’opérateur utilisé
pour effectuer un chargement).
OUT Q (Elle indique qu’une sortie doit être produite sur Q).
• Des codes mnémoniques sont utilisés pour les opérateurs, chaque code correspondant
à un opérateur (élément d’un schéma à contacts). Ces codes diffèrent d’un fabricant à
l’autre.
II-2-1 Listes d’instructions (IL, Instruction Lists )
• Le Tableau ci-dessous recense quelques codes utilisés par les fabricants.
II-2-1 Listes d’instructions (IL, Instruction Lists )
• Exemples 1 ( Programmation des portes logiques)
II-2-1 Listes d’instructions (IL, Instruction Lists )
• Exemples 1 ( Programmation des portes logiques)
A(
A I0.0
AN I0.1
)
O(
AN I0.0
A I0.1
)
= Q2.0
II-2-1 Listes d’instructions (IL, Instruction Lists )
• Exemples 1 ( Programmation des portes logiques)
II-Programmation des API.
II-2 Programmation IL, SFC et ST
II-2-2 Graphes de fonction séquentielle
(SFC, Sequential Function Chart )
• Le terme graphe de fonction séquentielle (SFC) correspond à une
représentation graphique du fonctionnement d’un système afin de révéler
l’enchaînement des événements qui conduisent à ce fonctionnement. C’est
une variante du GRAFCET.
II-2-2 Graphes de fonction séquentielle
(SFC, Sequential Function Chart )
Exemple 1
II-2-2 Graphes de fonction séquentielle
(SFC, Sequential Function Chart )
Exemple 2
II-2-2 Graphes de fonction séquentielle
(SFC, Sequential Function Chart )
a) Qualificatifs utilisés avec
les actions
Les actions peuvent être
précédés de qualificatifs qui
précisent les conditions de
l’action. Le Tableau ci-
contre recense les
qualificatifs d’action définis
par la norme CEI 61131.
Exemple d’une action
limitée a 5s si l’étape
associé est active
II-Programmation des API.
II-2 Programmation IL, SFC et ST
II-2-3 Texte structuré (ST, Structured Text )
• Le texte structuré est un langage de programmation qui
ressemble énormément au langage Pascal. Les programmes sont
écrits sous forme d’une suite d’instructions séparées par des
points-virgules. Il s’agit d’instructions prédéfinies et de sous-
routines qui permettent de modifier des variables, celles-ci étant
des valeurs définies, des valeurs mémorisées de manière interne
ou des entrées et des sorties.
• Exemples : Lampe := InterrupteurA OR InterrupteurB;
La lampe est allumée par l’interrupteur A ou par
l’interrupteur B.
Marche := Vapeur AND Pompe;
La mise en marche se produit lorsque le détecteur
de vapeur et la pompe sont actifs.
II-2-3 Texte structuré (ST, Structured Text )
Le tableau ci-dessous recense quelques opérateurs utilisés dans un texte
structuré.
II-2-3 Texte structuré (ST, Structured Text )
a) Instructions conditionnelles.
La combinaison IF ... THEN ... ELSE est utilisée pour exécuter des instructions
sélectionnées lorsque certaines conditions se réalisent .
Exemples.
IF temp_fluide THEN : si la variable de température du fluide est active, c’est-à-dire
à 1, les actions qui viennent après cette ligne dans le programme sont exécutées.
IF NOT temp_fluide THEN : si la variable de température du fluide n’est pas à 1, les
actions qui viennent après cette ligne dans le programme sont effectuées.
IF (Fin_de_course1 AND Piece_presente) THEN
Porte1 := Ouvert;
Porte2 := Ferme;
ELSE
Porte1 := Ferme;
Porte2 := Ouvert;
END_IF;
IF (I:000/00 = 1) THEN
O:001/00 := 1;
ELSE
O:000/01 := 0;
END_IF;
II-2-3 Texte structuré (ST, Structured Text )
a) Instructions conditionnelles.
L’instruction CASE est utilisée pour exécuter des instructions lorsqu’une valeur
entière particulière est rencontrée, sinon d’autres instructions sont exécutées.
Exemples.
CASE (Temperature) OF
0 ... 40: Interrupteur_four := Marche;
40 ... 100: Interrupteur_four := Arret;
ELSE
Interrupteur_four := Arret;
END_CASE;
CASE Configuration_vitesse OF
1: vitesse := 5;
2: vitesse := 10;
3: vitesse := 15; ventilo1 := Marche;
4: vitesse := 20; ventilo2 := Marche;
ELSE
vitesse := 0; defaut_vitesse := TRUE;
END_CASE;
II-2-3 Texte structuré (ST, Structured Text )
b) Instructions d’itération
Ces instructions permettent de répéter une ou plusieurs instructions un certain nombre de
fois, en fonction de l’état d’une autre variable.
La boucle FOR ... DO permet de répéter une suite d’instructions en fonction de la valeur d’une
variable d’itération entière.
Exemple.
FOR Entree := 10 TO 0 BY -1
DO
Sortie := Entree;
END_FOR;
La boucle WHILE ... DO permet d’exécuter une ou plusieurs instructions tant qu’une
expression booléenne reste vraie.
Exemple.
SortieQ := 0;
WHILE EntreeA AND EntreeB
DO SortieQ := SortieQ + 1;
END_WHILE;
La boucle REPEAT ... UNTIL permet d’exécuter une suite d’instructions et de la répéter tant
qu’une expression booléenne reste vraie.
Exemple.
SortieQ := 0
REPEAT
SortieQ := SortieQ + 1;
UNTIL (Entree1 = Arret) OR (SortieQ > 5)
END_REPEAT;
II-2-3 Texte structuré (ST, Structured Text )
c) Écriture des programmes.
Les programmes doivent commencer par définir les types qui représentent les données :
Exemple.
TYPE Moteur: (Arrete, EnFonction);
END_TYPE;
TYPE Vanne: (Ouverte, Fermee);
END_TYPE;
TYPE Pression: REAL; (*La pression est une valeur analogique*)
END_TYPE;
Ensuite viennent les variables, c’est-à-dire les signaux issus des capteurs et les signaux de
sortie qui seront utilisés dans le programme :
Exemple.
VAR_IN (*Entrées*)
Defaut_Pompe: BOOL; (*Le défaut de fonctionnement de la pompe*)
END_VAR; (*est une variable booléenne. *)
VAR_OUT (*Sorties*)
Vitesse_Moteur: REAL;
END_VAR;
VAR_IN
Valeur: INT; (*La valeur est un entier*)
END_VAR;
VAR
Entree1 AT %IX100; (*Entree1 correspond au bit mémoire de l’entrée 100*)
END_VAR;
II-2-3 Texte structuré (ST, Structured Text )
c) Écriture des programmes.
Des valeurs initiales doivent être données aux variables :
Exemple.
VAR
Temp: REAL = 100; (*La valeur initiale est un nombre analogique 100*)
END_VAR;
Ce n’est qu’alors que vous pouvez ajouter les instructions.
Exemple.
FUNCTION_BLOCK TEST_VOLTAGE
VAR_INPUT
VOLTS1, VOLTS2, VOLTS3
END_VAR
VAR_OUTPUT
SURTENSION: BOOL;
END_VAR
IF VOLTS1 > 12 THEN
SURTENSION := TRUE; RETURN;
END_IF;
IF VOLTS2 > 12 THEN
SURTENSION := TRUE; RETURN;
END_IF;
IF VOLTS3 > 12 THEN
SURTENSION := TRUE;
END_IF;
END_FUNCTION_BLOCK;
II-2-3 Texte structuré (ST, Structured Text )
d) Comparaison avec le langage à contacts.
Exemple 1.
a)
b)
Exemple 2.
(a)
(b)
(c)
II-2-4 Exercices d’applications
Exercice d’application 1
Solution: A
II-2-4 Exercices d’applications
Exercice d’application 2
Solution: A
II-2-4 Exercices d’applications
Exercice d’application 3
(b)
(a)
(a)
X2.X3
X2.X3 X2.X3
Solution: B
(b)
II-2-4 Exercices d’applications
Exercice d’application 4
Indiquez si chacune des affirmations
suivantes est vraie (V) ou fausse (F). Pour
le graphe de fonction séquentielle donné
à la Figure ci-contre, la sortie Y2 se
produit si la sortie Y1 s’est produite et si :
(i) les conditions X2 et X3 sont toutes
deux validées ;
(ii) uniquement la condition X2
est validée.
Parmi les propositions suivantes,
laquelle décrit correctement ces deux
affirmations ?
A. (i) V (ii) V
B. (i) V (ii) F
C. (i) F (ii) V
D. (i) F (ii) F
Solution: A
II-2-4 Exercices d’applications
Exercice d’application 5
Indiquez si chacune des affirmations
suivantes est vraie (V) ou fausse (F).
Pour le graphe de fonction
séquentielle donné à la Figure ci-
contre, la sortie Y4 se produit si la
sortie Y2 s’est produite et si :
(i) la sortie Y3 s’est produite ;
(ii) la condition X4 est validée.
Parmi les propositions suivantes,
laquelle décrit correctement ces
deux affirmations ?
A. (i) V (ii) V
B. (i) V (ii) F
C. (i) F (ii) V
D. (i) F (ii) F
Solution: C
II-2-4 Exercices d’applications
Exercice d’application 6 Solution 6
Écrivez un programme en texte WHILE NOT (Interrupteur_Niveau1 AND Vanne_Vidange)
Vanne1 := 1;
structuré pour le processus suivant : END_WHILE;
un réservoir se remplit lorsque la
vanne 1 est ouverte, tant qu’un
interrupteur de niveau 1 n’est pas
activé et que la vanne de vidange est
fermée.
Exercice d’application 7 Solution 7
Écrivez un programme en texte CASE Parametre_Temperature OF
Interrupteur_Four := 1;
structuré pour fixer, à l’aide 1 : temp := 40;
d’interrupteurs, la température 2 : temp := 50;
3 : temp := 60; Ventilo1 := 1;
d’une enceinte aux valeurs 40, 50, 60 4 : temp := 70; Ventilo2 := 1;
et 70, et mettre en marche le ELSE
Interrupteur_Four := 0;
ventilateur 1 lorsque la température END_CASE;
est égale à 60 et le ventilateur 2,
lorsqu’elle est égale à 70.
II-Programmation des API.
II-3 Mise à un et mise à zéro des relais internes et
externes
• Dans les API, certains éléments sont utilisés pour conserver des données, c’est-à- dire
des bits, et se comportent comme des relais, capables d’être allumés ou éteints et
d’allumer ou d’éteindre d’autres dispositifs.
• Les fabricants d’API proposent également une fonction de mise à un et de mise à zéro
d’un relais interne. L’instruction de mise à un provoque l’enclenche- ment du relais, c’est-
à-dire son verrouillage. Il reste dans cet état jusqu’à ce que l’instruction de mise à zéro
soit reçue et provoque son déclenchement, c’est-à-dire son déverrouillage. Le terme
bascule est souvent employé pour décrire ce fonctionnement.
Exemples.
II-Programmation des API.
II-3 Mise à un et mise à zéro des relais internes et
externes
Exemples.
• Pour un API d’Allen-Bradley, les termes
utilisés sont verrouillage et
déverrouillage.
• Les symboles des bobines
d’enclenchement et de déclenchement sont
souvent combinés dans un symbole unique.
II-Programmation des API.
II-3 Mise à un et mise à zéro des relais internes et
externes
Exemples.
II-Programmation des API.
II-3 Mise à un et mise à zéro des relais internes et
externes
Exemples.
II-Programmation des API.
II-3 Mise à un et mise à zéro des relais internes et
externes
Exemples.
II-Programmation des API.
II-4 Les Temporisateurs
• Pour nombre de tâches de commandes, il est nécessaire de contrôler le temps.
• C’est pourquoi les API disposent de temporisateurs intégrés.
• Les temporisateurs comptent les secondes ou les fractions de seconde en utilisant
l’horloge interne du CPU.
• Les fabricants d’API ne s’accordent pas sur la programmation des temporisateurs ni sur
la manière de les considérer.
• Une approche classique consiste à les voir comme des relais avec des bobines dont
l’excitation conduit à la fermeture ou à l’ouverture des contacts après une durée
déterminée (Figure a).
• D’autres fabricants voient le temporisateur comme un bloc de retard qui, lorsqu’il est
inséré dans une ligne, retarde les signaux d’entrée avant qu’ils n’atteignent la sortie
(Figure b).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
• Dans les API, vous trouverez plusieurs variantes de temporisateurs : à l’enclenchement,
au déclenchement et à impulsion.
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur à l’enclenchement.
(b)
(a) - Mitsubishi
(b) - Siemens
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur à l’enclenchement.
(c)
(c) – Allen-Bradly
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples
de temporisateur
à l’enclenchement.
(c) – Allen-Bradly
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur à l’enclenchement (Version Allen-Bradley).
Exemples de temporisateur
à l’enclenchement
(Version Allen-Bradley).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur à l’enclenchement (Version OMRON).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples
de temporisateur à
l’enclenchement.
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur à l’enclenchement.
Temporisateur cyclique Marche-Arrét
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur au déclenchement (Version Allen-Bradley).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur au déclenchement (Version Allen-Bradley).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur au déclenchement (Version Allen-Bradley).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur au déclenchement (Version Allen-Bradley).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur au déclenchement (Version Siemens).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de temporisateur a impulsion (Version Siemens).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de Temporisateurs rémanents (Version Allen-Bradley).
• Certains API disposent également de temporisateurs rémanents. Un
temporisateur rémanent (RTO), tel que celui d’Allen-Bradley, peut être démarré
et arrêté sans remettre à zéro la valeur cumulée. Il fonctionne de la même
manière qu’un temporisateur TON, excepté que l’accumulateur n’est pas
réinitialisé lorsque l’entrée d’activation du temporisateur est à 0 et continue à
augmenter dès qu’elle est à 1. Lorsque l’accumulateur atteint la valeur de
présélection, le bit de temporisation en cours « TT » passe à 0 et le bit de fin de
temporisation « DN », à 1. Il reste dans cet état jusqu’à la réception d’une
instruction de remise à zéro.
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de Temporisateurs rémanents (Version Allen-Bradley).
Exemples de Temporisateurs rémanents (Version Allen-Bradley).
Exemples de Temporisateurs rémanents (Version Allen-Bradley).
II-Programmation des API.
II-4 Les Temporisateurs
II-4-1 Types de temporisateurs
Exemples de Temporisateurs rémanents (Version Siemens).
II-Programmation des API.
II-4 Les Compteurs
• Dans les API, les compteurs sont disponibles sous forme d’éléments intégrés et
permettent de compter le nombre d’occurrences des signaux d’entrée. Cela peut servir
à compter, par exemple, des articles lorsqu’ils passent sur une bande transporteuse, le
nombre de révolutions d’un axe ou le nombre de personnes qui passent par une porte.
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
• Un compteur est initialisé à une valeur de présélection et, lorsque ce nombre
d’impulsions d’entrée a été reçu, il actionne ses contacts. Les contacts normalement
ouverts sont fermés, les contacts normalement fermés sont ouverts.
• Il existe deux types de compteurs : les compteurs dégressifs et les compteurs
progressifs. Un compteur dégressif , ou compteur décrémental, décompte à partir de la
valeur présélectionnée jusqu’à zéro.
• Un compteur progressif , ou compteur incrémental, compte à partir de zéro jusqu’à
la valeur présélectionnée.
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
Exemples de Compteurs (Version Allen-Bradley).
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
Exemples de Compteurs (Version Allen-Bradley).
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
Exemples de Compteurs (Version Allen-Bradley).
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
Exemples de Compteurs (Version Allen-Bradley).
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
Exemples de Compteurs (Version Siemens).
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
Exemples de Compteurs (Version Siemens).
II-Programmation des API.
II-5 Les Compteurs
II-5-1 Types de compteurs
Exemples de Compteurs (Version Mitsubishi).