REPUBLIQUE DU CAMEROUN
UNIVERSITE DE NGAOUNDERE
Ecole de Génie Chimique et des Industries Minérales (EGCIM)
Ngaoundéré - Cameroun
Automates Programmables
Industriels (GCI4127/GME4127)
Niveau 4, Parcours :
➢ Génie Contrôle et Instrumentation (GCI)
➢ Génie ElectroMécanique (GEME)
Par M. Abraham DANDOUSSOU, MC
Chapitre 3 : Programmation des Temporisations
et des Compteurs
3.1. Les Temporisations
3.1.1. Temporisateurs à relais
3.1.2. Temporisateurs des API
[Link]. API de Siemens
[Link]. API de Schneider
[Link]. API d’Allen--Bradley
3.1.3. Types de temporisateurs
[Link]. Instruction de temporisation TON
[Link]. Instruction de temporisation TOF
[Link]. Instruction de temporisation à impulsion
[Link]. Instruction de temporisation rémanente
3.2. Les Compteurs et les Décompteurs
3.2.1. API de Siemens
3.2.2. API de Schneider
3.2.3. API d’Allen--Bradley
Chapitre 3 : Programmation des Temporisations
et des Compteurs
❑ Objectif : Utiliser les instructions de temporisation et de comptage.
• Configurer une instruction de temporisation;
• Configurer une instruction de comptage.
3.1. Les Temporisations
3.1.1. Les Temporisateurs à Relais
❑ Ils sont encore appelés des temporisateurs mécaniques
KM KM
• Inconvénients : Encombrants, faible durée de temporisations, etc.
3.1.2. Tempo des API
❑ Les API utilisent une temporisation logicielle. Les instructions sont
soit sous forme d’une simple sortie, soit sous forme d’un bloc
fonctionnel.
Sortie (s)
Entrée (s)
TON
❑ Un temporisateur est caractérisé par :
• Son adresse qui dépend des fabricants.
• Son type : TON, TOF, TP, etc.
• Sa base de temps : d, h, m, s, ou ms.
• Son mode de paramétrage.
[Link]. API de Siemens
❑ Pour les API de Siemens (S7 – xxx), on a :
• Les deux formes sont disponibles : Simple sortie ou bloc fonctionnel
[Link]. API de Siemens
❑ Pour les API de Siemens (S7 – xxx), on a :
• Le temporisateur est défini comme un bloc fonctionnel de donnée dont
le format d’adresse est : %DBi, avec i = 1, 2, …, 59999. Toutefois, il
faut spécifier son étiquette par : “IEC_Timer_x_DB_i” (x et i entiers).
• La durée de la temporisation PT est définie par :
T#ad_bh_cm_es_fms. Avec la valeur max. de a qui est de 24.
- 24d_20h_31m_23s_648ms <= Tempo <= 24d_20h_31m_23s_647ms
• La sortie Q : logique (0 ou 1 selon le type de tempo). Elle est utilisée
pour contrôler un contact associé ayant l’adresse :
“IEC_Timer_x_DB_i”.Q
• La sortie ET : sauvegarde la valeur du contenu de l’accumulateur.
[Link]. API de Schneider
❑ Pour les API de Schneider (Twido, Modicon, …), on a :
• Seuls les blocs fonctionnels sont disponibles.
[Link]. API de Schneider
❑ Pour les API de Schneider (Twido, Modicon, …), on a :
• Seuls les blocs fonctionnels sont disponibles.
[Link]. API de Schneider
❑ Pour les API de Schneider (Twido, Modicon, …), on a :
• Le temporisateur est défini comme un bloc fonctionnel de donnée dont
le format d’adresse est : %TMi, avec i = 0, 1, 2, …, 254.
• Les bases de temps disponibles sont : 1 min, 1 s, 100 ms, 10 ms et 1
ms, avec un multiplicateur entier (Preset) de 0 à 9999.
Tempo : 1 jour
* Pour une BT de : 1 min, PR = 24x60 = 1440
* Pour une BT de : 1 s, PR = 24x60x60 = 86400 (Impossible)
• La sortie Q : logique (0 ou 1 selon le type de tempo). Elle est utilisée
pour contrôler un contact associé ayant l’adresse : %TMi.Q
[Link]. API d’Allen-Bradley
❑ Pour les API d’AB (MicroLogix, CompactLogix, SoftLogix …), on a :
• Seuls les blocs fonctionnels sont disponibles.
• Le temporisateur des micro-API (MicroLogix, etc.) a pour format
d’adresse : T4:i, avec i = 0, 1, 2, …, 255.
[Link]. API d’Allen-Bradley
• Le temporisateur des gros API (ControlLogix, SoftLogix, etc.) a pour
format d’adresse : une étiquette associée à un temporisateur.
[Link]. API d’Allen-Bradley
❑ Pour les API d’AB (MicroLogix, CompactLogix, SoftLogix …), on a :
• Les bases de temps disponibles sont : 1 s, 0,1 s et 0,001 s, avec un
multiplicateur entier (Preset) de 0 à 32767.
• Les bases de temps disponibles sont : 1 s, 0,1 s et 0,001 s, avec un
multiplicateur entier (Preset) de 0 à 32767.
• Il y a trois sorties logiques :
o La sortie DN (DoNe bit) qui change d’état à la fin de la temporisation.
Le contact associé porte l’adresse T4:i/DN ou [Link].
o La sortie EN (ENable bit) qui est à l’état 1 lorsqu’il y a continuité à
l’entrée. Le contact associé porte l’adresse T4:i/EN ou [Link].
o La sortie TT (Timer Timing bit) qui est à l’état 1 lorsque la
temporisation commence. Le contact associé porte l’adresse T4:i/TT
ou [Link].
3.1.3. Types de Temporisateurs
[Link]. Temporisateurs à l’enclenchement (TON)
❑ Ces temporisateurs comptent le temps lorsque leur condition d’entrée
est vraie (continuité en entrée).
❑ Initialement, leur sortie principale (Q ou DN) est basse (logique 0). Au
terme de la temporisation, celle-ci bascule à l’état haut (logique 1) et y
demeure tant que la condition d’entrée reste vraie.
❑ Pour les réinitialiser, il faut tout simplement mettre la condition
d’entrée à 0.
[Link]. Temporisateurs à l’enclenchement (TON)
[Link]. Temporisateurs à l’enclenchement (TON)
[Link]. Temporisateurs au déclenchement (TOF)
❑ Ces temporisateurs décomptent le temps lorsque leur condition
d’entrée est fausse (discontinuité en entrée). Toutefois, ils
commencent à fonctionner pour la première fois (mise en marche de
l’API) après un basculement en entrée.
❑ Initialement, leur sortie (Q) est haute (logique 1). Au terme de la
temporisation, celle-ci bascule à l’état bas (logique 0) et y demeure
tant que la condition d’entrée reste vraie.
❑ Pour les réinitialiser, il faut tout simplement mettre la condition
d’entrée à 1.
[Link]. Temporisateurs au déclenchement (TOF)
[Link]. Temporisateurs au déclenchement (TOF)
[Link]. Temporisateurs à impulsion (TP)
❑ Ces temporisateurs décomptent le temps lorsque leur condition
d’entrée est vraie (continuité en entrée), pour une première fois. La
temporisation continue même si la condition d’entrée change.
❑ Pendant la temporisation, il met sa sortie à l’état haut (logique 1). A la
fin de la temporisation, sa sortie bascule à l’état bas (logique 0).
❑ Il est réinitialisé lorsque, au terme de la tempo, la condition d’entrée
est mise à 0.
[Link]. Temporisateurs à impulsion (TP)
[Link]. Temporisateurs à impulsion (TP)
[Link]. Temporisateurs rémanents (RTO)
❑ Ils fonctionnent exactement comme les TON. Mais, ils conservent le
contenu de leur accumulateur même si la condition d’entrée devient
fausse pendant la tempo. Une fois la condition redevenue vraie, la
tempo reprend.
❑ Pendant la temporisation, la sortie est à 0. Elle bascule à 1 au terme
de la tempo.
❑ Ils sont réinitialisés lorsque qu’il y a continuité sur leur entrée R
(Siemens) ou continuité dans le rung contenant la sortie RES (AB
avec la même adresse).
[Link]. Temporisateurs rémanents (RTO)
[Link]. Temporisateurs rémanents (RTO)
Exercice 1: Réaliser une lampe clignotante avec un API MicroLogix d’AB.
Initialement, avec l’interrupteur ouvert, la lampe est éteinte.
Une fois que l’on ferme l’interrupteur la lampe clignote (allumée pendant 1
s, puis éteinte pendant 1 s, ainsi de suite).
Exercice 2: Repenser l’exercice 5 du Chapitre 2 en éliminant les capteurs
S1 et S2 afin de diminuer le coût.
• S1 et S2 sont des capteurs
discrets (0 : solution en dessous,
1 : solution au-dessus).
• V1 et V2 sont des électrovannes.
• START et STOP sont des BP NO
et NF respectivement.
• Des voyants Vert et Rouge sont
associés pour la marche et l’arrêt
respectivement.
Le fonctionnement est le suivant :
❖ Initialement, tout est à l’arrêt et le réservoir est vide, avec le voyant rouge
allumé.
❖ Un appui sur le BP NO met le système en marche, avec le voyant vert allumé.
Ainsi, V1 s’ouvre pour remplir le réservoir. Une fois que la solution atteint le
niveau S2, V1 se ferme et V2 s’ouvre pour évacuer la solution vers une autre
phase. Lorsque le niveau atteint S1, V2 se ferme et V1 s’ouvre pour encore
remplir le réservoir. Ainsi de suite.
❖ Un appui sur le BP NF arrête le système. Il faudra appuyer sur le BP NO pour
le relancer quelque soit le niveau de solution dans le réservoir.
TAF :
1) Schéma de câblage de l’API.
2) Programme en langage à contacts (LD).
NB : Les électrovannes sont contrôlées par des bobines de 24 VDC et les voyants
sont de 220 VAC.
Exercice 3: Soit le système ci-après.
❖ Initialement, il est à l’arrêt.
❖ Un appuie sur le BP NO Start, le solénoïde A est alimenté et ouvre
une vanne pour remplir le réservoir. Pendant ce temps, le capteur de
niveau (Empty switch) se ferme.
❖ Dès que le réservoir est plein, le capteur (Full switch) se ferme et
coupe l’alimentation du solénoïde A pour fermer la vanne.
❖ Ainsi, le moteur de l’agitateur démarre automatiquement et tourne
pendant 3 min pour mélanger le liquide.
❖ Dès que le moteur de l’agitateur s’arrête, le solénoïde B est alimenté
pour ouvrir la vanne de vidange du réservoir. Une fois que le réservoir
est vide, la vanne se referme.
❖ Il faut encore appuyer le Sart pour reprendre le cycle.
❖ Un appui sur le BP NF Stop arrête tout le système.
A-) Schéma câblage de l’API AC/DC/Rly de Siemens.
B-) Ecrire le programme en langage LD.
Exercice 4: Utiliser un API de Siemens pour implémenter le système décris
par le GRAFCET ci-après.
La mise en marche est faite à travers un
BP NO et l’arrêt par un BP NF
Exercice 5: Consigne : Ecrire le programme en langage LD de l’API
CompactLogix 1100 d’AB.
Exercice 6: Avec un API MicroLogix 1100 d’AB.
1-) Donner les états des lampes lorsque:
a-) l’API est mis sous tension et S1 ouvert.
b-) on ferme juste S1.
c-) 5 s après avoir fermé S1.
d-) S1 vient juste de s’ouvrir.
e-) 5 s après avoir ouvert S1.
2-) Ecrire le programme en langage LD.
3.2. Compteurs et Décompteurs
❑ Les API utilisent des compteurs logiciels. Les instructions se présente
sous forme d’un bloc fonctionnel.
Sortie (s)
Entrée (s)
❑ Un compteur est caractérisé par :
• Son adresse qui dépend des fabricants.
• Son type : CTU, CTD, ou CTUD.
• Son mode de paramétrage.
3.2.1. API de Siemens
❑ Pour les API de Siemens (S7 – xxx), on a :
• Le compteur est défini comme un bloc fonctionnel de donnée dont le
format d’adresse est : %DBi, avec i = 1, 2, …, 59999. Toutefois, il faut
spécifier son étiquette par : “IEC_Counter_x_DB_i”.
3.2.1. API de Siemens PV = 3
3.2.1. API de Siemens PV = 3
3.2.1. API de Siemens PV = 4
3.2.2. API de Schneider
❑ Pour les API de Schneider (Modicon, Twido, etc.), on a :
• Le compteur est défini comme un bloc fonctionnel de donnée dont le
format d’adresse est : %Ci, avec i = 0, 1, 2, …, 254.
3.2.3. API d’Allen-Bradley
❑ Pour les API d’AB, on a :
• Le compteur est défini comme un bloc fonctionnel de donnée dont le
format d’adresse est : C5:i, avec i = 0, 1, 2, …, 255 (MicroLogix)
3.2.3. API d’Allen-Bradley
❑ Pour les API d’AB, on a :
• Le compteur est défini comme un bloc fonctionnel de donnée dont le
format d’adresse est : Etiquette (ControlLogix)
Exercice 8
Un parking municipal est géré par un API. Il dispose d’une entrée contrôlée
par une barrière électrique et d’une sortie permanemment ouverte. Deux
capteurs fin de course NO sont installés à l’entrée et à la sortie pour
détecter l’entrée ou la sortie d’un véhicule. La barrière de l’entrée est
contrôlée par un solénoïde. Lorsque celui-ci est alimenté, il ferme la
barrière. La capacité du parking est de 50 véhicules. La barrière est ouverte
lorsqu’il y a moins de 50 véhicules dans le parking, avec une grande lampe
verte qui reste allumée à l’entrée. Celle-ci se ferme automatiquement dès
que 50 véhicules sont dénombrés dans le parking, avec une grande lampe
rouge qui reste allumée à l’entrée.
A-) Réaliser le schéma câblage de l’API.
B-) Ecrire le programme en langage LD, pour un API de Schneider, pour un
API MicroLogix d’AB et pour un API SiftLogix d’AB.
Exercice 9
Write a ControlLogix program, complete with tags, for an Up/Down counter
used to keep track of cars entering and exiting a parking lot. The program
requirements for this application can be summarized as follows:
❖ The parking lot holds 30 vehicles.
❖ There is an entrance vehicle sensor and an exit vehicle sensor.
❖ When the parking lot is full a Lot Full sign is illuminated.
❖ Whenever a car exits the lot, a Caution Red Light is activated for 5s to
warn pedestrians.
FIN