COURS API et Réseau industriel
PARTIE 3: Programmation des APIs
Préparé par Zoubaida Mejri 1
1- Adressages des entrées et des sortie d’un API
2
1- Adressages des entrées et des sortie d’un API
3
1- Adressages des entrées et des sortie d’un API
• pour l’automate Mitsubishi, nous pourrions avoir des entrées avec les adresses X400, X401, X402, etc., et des
sorties avec adresses Y430, Y431, Y432, etc., le symbole X indiquant une entrée et le symbole Y une sortie.
• Pour les automates composés de plusieurs racks, les racks sont numérotés. avec le PLC-5 Allen-Bradley, le rack contenant le
processeur reçoit le numéro 0 et les adresses des autres racks sont numérotées 1, 2, 3, etc. Chaque rack peut avoir un certain nombre de
cartes et chacune contient un certain nombre d’entrées et /ou de sorties.
• Pour Siemens SIMATIC S7, les entrées et les sorties sont réparties en groupes de huit. Chacun de ces groupes est
appelé un octet et chaque entrée ou sortie d’un groupe de huit est appelée bit. Les entrées et les sorties ont donc
leurs adresses en nombre d’octets et de bits, ce qui donne un numéro de module suivi d’un numéro de terminal, et
un point (.) Séparant les deux numéros.
4
1- Adressages des entrées et des sortie d’un API (TIA PORTAL)
5
1- Adressages des entrées et des sortie d’un API (TIA PORTAL)
6
1- Adressages des entrées et des sortie d’un API (TIA PORTAL)
7
1- Adressages des entrées et des sortie d’un API (TIA PORTAL)
8
2- Langages de programmation
Les langages de programmation utilisés pour les automates programmables évoluent
depuis la création des APIs à la fin des années 1960.
Dans ce contexte, la commission internationale d’électrotechnique (CIE) définit cinq
langages de programmation des au tomates programmables (IEC 61131-3), celles-ci
consistent en deux langages textuels, (IL :liste d’instructions) et (ST :texte structuré),
et trois langages graphiques, (LD : schéma à contacts), (FBD : schéma fonctionnel)et
(SFC :Sequential Function Chart) sont définis pour structurer l’organisation interne des
programmes et des blocs fonctionnels.
9
10
2- Langages de programmation
Présentation du langage LADDER
Les fonctions principales d’un programme Ladder sont de contrôler les sorties et d’effectuer des opérations fonctionnelles en fonction des
conditions d’entrée
11
2- Langages de programmation
Présentation du langage LADDER (TIA PORTAL)
12
2- Langages de programmation
Présentation du langage LADDER (TIA PORTAL)
13
2- Langages de programmation
Présentation du langage FBD
Le diagramme FBD (FunctionBlock Diagram) décrit une fonction entre des variables d’entrée et des variables de sortie. Une
fonction est décrite comme un réseau de blocs élémentaires. Les variables d’entrée et de sortie sont connectées aux blocs par
des arcs de lien. Une sortie d’un bloc peut aussi être connectée sur une entrée d’un autre bloc.
Présentation du langage FBD (TIA PORTAL)
14
2- Langages de programmation
Présentation du langage IL
Le langage de programmation textuelle LIST permet de créer des programmes d’application à un niveau proche du matériel
et en optimisant le temps d’exécution et la place en mémoire.
15
3- Les fonctions logiques
Fonction logique AND
16
3- Les fonctions logiques
Fonction logique OR
17
3- Les fonctions logiques
Fonction logique NOT
18
3- Les fonctions logiques
Fonction logique NAND
19
3- Les fonctions logiques
Fonction logique NOR
20
3- Les fonctions logiques
Fonction logique XOR
21
4- Fonction mémorisation (Latching)
Il existe souvent des situations dans lesquelles il est nécessaire de maintenir une sortie sous tension, quelque soit l’état de l’entrée. Un
exemple simple d’une telle situation dans le cas de démarrage du moteur, en appuyant sur un bouton-poussoir marche (start). Bien que le
contact du bouton poussoir ne reste pas fermé, le moteur doit continuer à fonctionner jusqu’à l’appui sur le bouton-poussoir d’arrêt
(stop).
On appel le contacte Q1.0
l’auto-maintien
Exemple d’application de la fonction Latching: un exemple réel, du programme sous API Siemens S7 , d’un démarrage direct d’un
moteur avec des lampes de signalisation d’état du moteur (Marche, Arrêt).
22
4- Fonction Temporisation
Dans de nombreuses applications de contrôle à base d’automates programmables, il est nécessaire de contrôler le temps. Par
exemple, un moteur doit fonctionner pendant un intervalle de temps particulier ou peut être allumé après un certain intervalle
de temps...etc. Les automates programmables ont donc des minuteries en tant que périphériques intégrés. Les minuteries
comptent les secondes ou fractions de seconde en utilisant l’horloge interne du processeur.
ON-Delay Timer : Temporisateur travail
Si l’entrée IN est activée le temporisateur TON va déclencher la temporisation pendant le temps alloué TV, après ce
temps, le TON va activer la sortie OUT.
23
4- Fonction Temporisation
Exemple d’application du timer TON: La figure montre une application de temporisateur de type TON dans trois
langages de programmation Ladder, FBD et LIST. Dans cet exemple, si on appuyer sur le bouton start dont l’adresse I0.0,
le moteur (Q1.2) ne démarre qu’après 5 seconde.
SD T
Sur TIA PORTAL
24
4- Fonction Temporisation
OFF-Delay Timer : Temporisateur repos
Un temporisateur de type TOF (minuterie à retard d’excitation ) fournit une action retardée. Si la ligne de commande n’a
pas de continuité, le temporisateur commence à compter les intervalles de temps jusqu’à ce que la valeur de temps cumulé
soit égale à la valeur préréglée TV.
Une fois l’entrée IN est désactivée le temporisateur TOF va déclencher la temporisation pondant le temps alloué TV,
après ce temps, le TOF va désactiver la sortie OUT.
25
4- Fonction Temporisation
OFF-Delay Timer : Temporisateur repos
Dans cet exemple on veut assurer le refroidissement d’un moteur pendant son état de marche, et même après son arrêt,
dans ce cas là, le processus de refroidissement va continue à marché après l’arrêt du moteur pendant 5 minutes.
SF T
Sur TIA PORTAL
26
4- Fonction Temporisation
Temporisateur d’impulsion (Puls TIMER)
Ce type de temporisation est utilisé pour produire une sortie de durée fixe à partir d’une entrée. La figure montre le
diagramme d’échelle pour ce type de temporisateur qui donnera une sortie de out 1 pour une durée fixe prédéterminée de
temps quand il y a une entrée a 1, après cette temporisation la sortie devient 1.
27
4- Fonction Temporisation
Temporisateur d’impulsion (Puls TIMER)
Dans cet exemple, un moteur de lancement d’un turbo-générateur, démarre avec le lancement de la sequence par l’ordre
(entrée I0.0), ce moteur reste active (Q1.1) pendant 3 minutes et relâche le turbo-générateur, après cette temporisation,
même si l’entrée I0.0 reste active, la sortie Q1.1 reste désactivée.
SP T
28
5-Fonction de Comptage
Les compteurs sont fournis en tant qu’éléments intégrés dans les automates et permettent de compter le nombre
d’occurrences de signaux d’entrées. Par exemple pour compter le nombre des bouteilles produites ou bien combien de
bouteilles sont passées par le convoyeur ou peut-être le nombre de personnes passant par une porte. Généralement dans les
API on trouve deux types des fonctions de comptage, le compteur et le décompteur.
Compteurs (Up-counter CTU)
Le fonctionnement de ce type de compteur (CTU) est d’ajouter un nombre, chaque fois qu’un événement se produit, ce
compteur incrément à un, à la fin il active la sortie.
29
5-Fonction de Comptage
Compteurs (Up-counter CTU)
La figure représente le programme de comptage du nombre des bouteilles produites d’une chaine de production, à la sortie
de la chaine il y a un capteur de détection de bouteilles (I0.0), une fois le nombre atteint 6, le compteur donne l’ordre pour
emballer ces 6 bouteilles (Q1.0).
Sur TIA PORTAL
30
5-Fonction de Comptage
Compteurs (Up-counter CTD)
Le fonctionnement du décompteur (CTD) est de diminuer un nombre, chaque fois qu’un événement se produit, ce
décompteur décrémente à un, à la fin il active la sortie.
31
5-Fonction de Comptage
Exemple d’application de décompteur CTD
Dans certaines applications on a besoin de répéter une séquence plusieurs fois, par la suite il continu la séquence, dans ce
cas là on exploite le fonctionnement du décompteur CTD. La figure montre un tel exemple où la séquence est répétée 5 fois
(I0.0), à la fin le décompteur active la sortie qui représente la réceptivité pour la prochaine étape.
Sur TIA PORTAL
32
6- Fonction de régulation
La fonction de régulation est une action indispensable dans les automates programmables afin de contrôler les processus
industriels, par exemple la régulation de la température d’une chaudière, la régulation de niveau dans un bac de
stockage...etc. Généralement dans les APIs, il existe deux types de régulateurs, des régulateurs TOR et des régulateurs PID.
Régulation TOR (on-off): le contrôleur est essentiellement considéré comme un interrupteur qui fournit un signal de sortie
marche/arrêt selon la valeur de l’erreur
Exemple d’application de la régulation on-off La structure de ces types de contrôleurs est assez simple du point de vue
program mation sur l’API, tout simplement il suffit d’utiliser des comparateurs afin de réguler le paramètre physique.
Dans cet exemple on veut contrôler la température d’un four électrique industriel, à une consigne de 500˚C
Le rôle du premier comparateur est de
comparer la valeur mesurée de la
température (I2.0) avec la référence de
500˚C, si elle est inférieur de cette
référence le comparateur va activer la
sortie Q1.0, qui représente une résistance
chauffante. Si la température mesurée est
supérieur par rapport à la référence, le
deuxième comparateur va activer la sortie
Q1.1 qui représente la ventilation. On
note que les deux comparateur ne
fonctionnes pas au même temps.
33
6- Fonction de régulation
Régulation PID
Les automates programmables sont capables d’effectuer un contrôle analogique à l’aide de l’algorithme PID à travers
l’utilisation des blocs fonctionnels basés sur les actions, dérivé intégral et proportionnel (PID). L’utilisateur spécifie certains
paramètres associés à l’algorithme pour contrôler le processus correctement.
• EN: Permet d’activer ou désactiver le régulateur PID;
• AUTO: Permet de sélectionner le mode automatique ou le mode
manuel du régulateur;
• PV: La mesure du processus;
• SP: La consigne (référence);
• Kp: L’action proportionnel;
• Ti : L’action intégral;
• Kp: L’action dérivée;
• CYCLE : Permet de définir le fonctionnement cyclique du
régulateur par rapport au programme principal;
• OUT: L’action de correction du régulateur PID.
34
6- Fonction de régulation
Exemple d’application du régulateur PID
Le but de cet exemple est d’implémenter un régulateur de type PID dans un API, dans ce cas là, la figure présente le schéma
de régulation du niveau d’un bac de stockage :
35
6- Fonction de régulation
Exemple d’application du régulateur PID
36