Vous êtes sur la page 1sur 50

 

                    

Chapitre 1

Le GRAFCET 
Chapitre 1 Le GRAFCET

Le GRAFCET 

1.1 Introduction
Le Grafcet, Inventé en 1977 en France par l’AFCET (Association Française pour la
Cybernétique Économique et Technique) est l’abréviation de l’expression «Graphe Fonctionnel
de Commande Etape/Transition». Il permet de décrire tous les comportements attendus d’un
automatisme de commande face aux événements ou aux informations issues d’un processus
automatisé. En d’autres termes, c’est un modèle graphique de représentation du cahier des
charges d’un automatisme logique.
Le GRAFCET est diffusé par l’ADEPA (Agence Nationale pour le Développement de la
Productique Appliquée à l'industrie).
1.2 Mise en situation
Le développement des ateliers flexibles et la robotisation ont imposé un outil graphique simple
qui permet, à partir d’un cahier de charges bien définit, de résoudre un problème
d’automatisation et d’établir le cycle de fonctionnement du processus, cet outil est le Grafcet.
Le Grafcet répond particulièrement bien aux besoins de l’industrie dans les automatismes
séquentiels dont la décomposition en étapes est possible. Il nous permet non seulement
d’analyser le problème posé mais, également de concevoir une solution programmable quel que
soit la technologie de l’automate. Cet outil se base sur une représentation graphique très
détaillée du système et ceci, avant de faire sa synthèse.
Notre choix s’est porté sur cet outil car c’est un langage clair, strict permettant de décrire un
fonctionnement sans ambiguïté.
1.2.1 Normalisation
- NFC (Norme français de l’électricité) : La présente norme s'applique à tout système logique
de commande d'automatisme industriel quelle que soit la complexité ou la technologie utilisée
(électrique, électronique câblée ou programmée, mécanique, pneumatique, etc.). Le diagramme
fonctionnel «Grafcet» décrit tout système dont les évolutions peuvent s'exprimer
séquentiellement, c'est à dire dont la décomposition en étapes est possible. Le Grafcet peut être
aussi utilisé pour la description de processus combinatoire lorsqu'il permet de donner, de
l'automatisme de commande, une description séquentielle plus facilement analysable et
compréhensible.
La présente norme a entré en vigueur depuis 19 juin 1982 sous le nom NFC 03-190 de 1982, et
depuis le Comité Electrotechnique International : CEI / IEC 848 (1988), CEI : IEC 1131.3 (mars
1993).
Il existe une documentation et symboles graphiques, diagramme fonctionnel "Grafcet" éditée
par l'Union Technique de l'Electricité, UTE C03-190 novembre 1990.
1.2.2 Domaine d’application
Le diagramme fonctionnel est indépendant des techniques séquentielles “tout ou rien”,
pneumatique, électrique ou électronique, câblées ou programmées, pouvant être utilisées pour
 
Enseignant : Ridha MAHJOUB 2 
 

 
Chapitre 1 Le GRAFCET

réaliser l’automatisme de commande. Mais l’utilisation de séquenceurs, d’une part, et


d’automates à instructions d’étapes d’autre part, permet une transcription directe du diagramme
fonctionnel.
Cette représentation graphique concise et facile à lire est aisément compréhensible par toute
personne en relation avec le système automatisé, du concepteur à l’utilisateur sans oublier
l’agent de maintenance.
Utilisé industriellement, le Grafcet est aussi enseigné dans les options techniques et
l’enseignement supérieur.
Noter bien :
- Le Grafcet ne s'attarde qu'au fonctionnement normal de l'automatisme et ne prend pas en
compte les divers modes de marche et d'arrêt, de même que les défaillances ;
- Le GEMMA nous introduira à ces modes ultérieurement.
1.3 Niveaux de Grafcet
Le langage Grafcet comporte deux niveaux, dont voici les caractéristiques.

Niveau 1 (spécification) :
- Ne traite que le comportement logique de l’application ;
- Ignore les contraintes spécifiques des capteurs et des actionneurs ;
- Les actions et les réceptivités sont décrites par des phrases.

Niveau 2 (réalisation) :
- Décrit le fonctionnement réel de l’automatisme ;
- Tient en compte la technologie des capteurs et des actionneurs ;
- Les actions et les réceptivités sont données par des équations logiques sur des signaux réels.
Vu les avantages que nous apporte le Grafcet niveau 2, nous allons l’utiliser pour la
modélisation de nos futurs processus.
1.4 Eléments de base d’un Grafcet
Le Grafcet est une succession de transitions, il est composé de (voir Figure 1.1):
- Etape initiale : représente une étape qui est active au début du fonctionnement, elle se
différencie des autres étapes en doublant les côtés du carré ; 
- Etape : à laquelle sont associées des actions, chaque étape est représentée par un carré repéré
numériquement ; 
- Transition : à laquelle est associée une Réceptivité, la transition est représentée par un trait
horizontal ; 
- Réceptivité : les conditions de réceptivité sont inscrites à droite de la transition ; 
- Action : elles sont décrites littéralement ou symboliquement à l’intérieur d’un ou de plusieurs
rectangles reliés par un trait à la partie droite de l’étape ; 
- Liaisons orientées : reliant les étapes aux transitions et les transitions aux étapes. Ces liaisons
seront fléchées que lorsqu’elles ne respectent pas le sens de parcours général du haut vers le
bas. Elles indiquent le sens du parcours. 
 
Enseignant : Ridha MAHJOUB 3 
 

 
Chapitre 1 Le GRAFCET

 
 
Figure 1.1 - Eléments de base d’un Grafcet 

1.5 Règles d’évolutions d’un Grafcet


Règle 1 : Etape initiale 
L’étape initiale est représentée par un double carré et elle est toujours activée
inconditionnellement. Dans un Grafcet on peut avoir plusieurs étapes initiales.
Règle 2 : Condition d’activation d’une étape
Le passage de l’étape n à l’étape n+1 est soumis à deux conditions : 
L’étape n doit être active ET la transition correspondante doit être validée.
Règle 3 : Activations simultanées
On a trois étapes en parallèle simultanée et une transition (a+bc) avec deux autres étapes
simultanée 15 et 16 (voir Figure 1.2). Il faut que les étapes 23,14 et 7 soient actives (la
transition est franchissable) ET que la transition (a+b.c) soit vraie (la transition est franchie)
pour qu’on puisse activer les étapes 15 et 16. Si l’une des trois étapes n’est pas active, on ne
peut pas passer à l’étape suivante. On doit avoir les 3 étapes actives et la condition (a+b.c=1).
Règle 4 : La convergence et divergence en OU
Cette règle est très importante et très utilisé dans les processus industriels notamment les
ascenseurs.
- La divergence en OU :
Le passage de l’étape 11 à l’étape 12 est conditionné par la transition x et le passage de 11 à
13 est conditionner par la transition y (voir Figure 1.3). Si x=1 et y=0, on passe de l’étape 11 à
l’étape 12 et si x=0 et y=1, on passe de l’étape 11 à l’étape 13 ; 

 
Enseignant : Ridha MAHJOUB 4 
 

 
Chapitre 1 Le GRAFCET

 
 
Figure 1.2 - Actions simultanées

 
Figure 1.3 - Divergence en OU 
- La convergence en OU :
On a deux étapes qui sont déjà actives et deux transitions, le passage de l’étape 17 à l’étape
19 est conditionné par c et le passage de l’étape 18 à l’étape 19 est conditionné par d (voir
Figure 2.4).
Après une divergence en OU, on trouve une convergence en OU. Le nombre de branches peut
être supérieur à 2.

 
Figure 1.4 - Convergence en OU 
Règle 5 : Une seule étape doit être activée
 
Enseignant : Ridha MAHJOUB 5 
 

 
Chapitre 1 Le GRAFCET

Dans une divergence en OU, une seule branche doit être exécuté (voir Figure 1.5):
- Si a est validée on passe de l’étape 1 à l’étape 2 ;
- Si b est validée on passer de l’étape 1 à l’étape 3.

 
Figure 1.5 - Une seule étape doit être activée
Règle 6 : Actions simultanées
C’est à dire plusieurs étapes vont être exécutées en parallèle (par exemple des moteurs, des
vérins, des lampes etc. fonctionnent en même temps).

 
 

Figure 1.6 - Actions simultanées 


Dans ce cas la transition est réalisée par une fin de course fc (voir Figure 1.6). 
Le passage de l’étape 1 aux étapes 2 et 3 se fait par la fin de course fc=1 Et des étapes 2 et 3
à l’étape 1 aussi par fc=1. 

Règle 7 : Passerelle entre Grafcets 


Si on a un cahier des charges complexe, pour simplifier le Grafcet on peut le diviser en
plusieurs Grafcets où chacune gère une partie mais la condition doit être communicante c’est
à dire on peut appeler un Grafcet à partir d’un autre.
La Figure 1.7 montre une communication bidirectionnelle entre les deux Grafcets et la
transition X6 représente l’étape 6 du Grafcet à droite. Le passage de l’étape 1 a l’étape 2 est
conditionné par l’activation est la validation de l’étape 6, si l’étape 6 est validé et la transition
X6 est validé on peut passer de l’étape 1 a l’étape 2. 
De même le passage de l’étape 4 à l’étape 5 est conditionné par la validation de l’étape X1
du Grafcet à gauche et le départ du cycle dcy.
Règle 8 : Reprise d’étapes et saut en avant 
- Reprise d’étapes : La reprise d’étapes permet de recommencer plusieurs fois si nécessaire
une même séquence comme le montre la Figure 1.8. 
- Saut en avant : Le saut d’étapes est une sélection de séquence permettant de sauter plusieurs
étapes en fonction des conditions d’évolution comme est représenté à la Figure 1.9. 
 

 
Enseignant : Ridha MAHJOUB 6 
 

 
Chapitre 1 Le GRAFCET

 
Figure 1.7 - Communication bidirectionnelle. 

 
Figure 1.8 - Reprise d’étapes 
 

 
Figure 1.9 - Saut en avant

1.6 Grafcets de taches et Sous-programmes


Un sous-programme est un Grafcet indépendant dont l'exécution et le déroulement sont
synchronisés à un Grafcet principal.
Lorsqu'une tache doit être réalisée plusieurs fois dans un cycle, la description de cette tache
sous la forme d'un Grafcet indépendant permet de simplifier l'analyse et de simplifier la
programmation. Ce Grafcet indépendant est un sous-programme lancé par le programme qui
correspond au Grafcet principal. 

 
Enseignant : Ridha MAHJOUB 7 
 

 
Chapitre 1 Le GRAFCET

Dans l'exemple de la Figure 1.10, la tâche dosage (GT1) est exécutée 2 fois dans le cycle et le
Grafcet dosage décrit cette tâche. Le lancement de cette tâche dosage est réalisée par l'activation
de l'étape X2 ou l'activation de l'étape X5. 
Lorsque la tâche est terminée, une information d'état (fin de tache) est retournée au Grafcet
principal qui peut alors évoluer. Il est souhaitable de terminer le Grafcet de la tache par la
vérification que l'étape de lancement du Grafcet principal est bien désactivée avant de le
boucler.

 
Figure 1.10 - Grafcet de taches 

1.7 Macros étapes


Une macro-étape, répétée autant de fois que nécessaire, est introduite dans le graphe principal
à la place de la séquence répétitive. Cette séquence est décrite au voisinage immédiat du graphe.
La macro-représentation répond aux besoins d'approche progressive et structurée des
applications industrielles complexes (voir Figure 1.11).

Figure 1.11 - Macro étape

 
Enseignant : Ridha MAHJOUB 8 
 

 
Chapitre 1 Le GRAFCET

Par rapport à la réalisation programmée, l’étape 10 correspond à un saut vers le sous-


programme (appel du sous-programme ME1) et son activité est matérialisée par le pointeur
programme principal. 
Cependant, la programmation ne sera pas exactement conforme à cette description car, en
général, le test S3 est incorporé dans le sous-programme.
1.8 Graphe auxiliaire
Les étapes 2 et 4 sont des étapes d'appel du graphe de séquence répétitive et provoquent
l'activation de l’étape 10 par franchissement de la transition (1), réceptive à l'activité de ces
étapes (X2 ou X4) comme le montre la Figure 1.12.
L’étape 13 est l'étape de retour au graphe principal.

Figure 1.12 - Graphe auxiliaire 

 
Figure 1.13 - Graphe auxiliaire, concepts de transitions source et puits

 
Enseignant : Ridha MAHJOUB 9 
 

 
Chapitre 1 Le GRAFCET

Il existe d’autres descriptions fonctionnelles possibles : exemple utilisant les concepts de


transitions source et puits avec franchissements simultanés de transitions (*) (voir Figure 1.13).
En conclusion, il existe de multiples représentations fonctionnelles possibles pour décrire
l’utilisation d'une même ressource dans une séquence, à des instants différents.
Le problème peut être beaucoup plus complexe dans certains cas (appel de sous-programmes
paramétrés ou multiplexés, la gestion d’appels multiples, etc.).
1.9 Forçage
Le forçage est une action continue, notée dans un double cadre, qui agit sur le graphe Gi,
hiérarchiquement inférieur ou "esclave" en configurant ce Grafcet, depuis n'importe quelle
situation, dans un état donné.
L'activation de l'étape 10 du Grafcet G1 force le grafcet G2 à son étape 21 (forcée à 1), les
autres étapes du grafcet G2 sont désactivées (forcées à 0) comme le montre la Figure 1.16.

 
Figure 1.16 – Action de forçage

1.10 Grafcet d’un point de vue de la partie opérative (P.O)


Le Grafcet d’un point de vue de la partie opérative décrit en terme clair ou par symbole les
actions et les réceptivités en tenant compte de la technologie choisie.
La technologie concerne les éléments de la partie opérative ainsi que le type d’informations
reçues (ordres) ou envoyées (comptes rendus).
C’est en général la description de l’automatisme seul, c’est à dire l’enchaînement des actions et
des transitions permettant de contrôler le procédé. Lorsque l’on aborde l’analyse et la
description d’un système, on ne sait pas quelle technologie sera retenue pour les actionneurs,
les capteurs et la commande. On décrira dans ce Grafcet les actions et les évènements en termes
généraux. Ce graphe décrit le fonctionnement global du système. Il traduit le cahier des charges
sans préjugé de la technologie adoptée. Il permet de dialoguer avec des personnes non
spécialistes (fournisseurs, décideurs...) son écriture, en langage clair, permettant sa
compréhension par tout le monde.

 
Enseignant : Ridha MAHJOUB 10 
 

 
Chapitre 1 Le GRAFCET

1.11 Grafcet d’un point de vue de la partie commande (P.C)


Le Grafcet d’un point de vue de la partie commande décrit les échanges de la partie commande
avec la partie opérative et le dialogue avec l’opérateur, en tenant compte des choix
technologiques des pré-actionneurs et des capteurs.
Dans ce type de Grafcet on spécifie le type des informations reçues (ordres) et envoyées
(comptes rendus). L'observateur de ce point de vue étant un spécialiste de la partie opérative, la
partie commande ne l'intéresse que par ses effets.
1.12 Grafcet de point de vue système (procédé et processus)
Description faite par un observateur se situant d'un point de vue externe au SAP.
Le point de vue système décrit le comportement du système vis à vis du produit.
Le procédé est l’ensemble des fonctions successives exécutées sur un même produit au cours
de sa fabrication.
Le processus est l’organisation du procédé. C’est la succession des fonctions simultanées
réalisées sur tous les produits présents dans le système automatisé.
Le Grafcet du point de vue système permet le dialogue entre le client et le concepteur pour la
spécification du système automatisé.
1.13 Interprétation algébrique
Les règles d’évolution du Grafcet sont le point de départ des équations logiques décrivant la
navigation entre les étapes de fonctionnement.
1ére règle : une transition est, soit validée soit non validée.  
Elle est validée lorsque toutes les étapes immédiatement précédentes sont actives. Elle ne peut
être franchie que : 
Lorsqu’elle est validée ET que la réceptivité associée à la transition est VRAIE.  
La traduction de cette règle donne la condition d’activation de l’étape n :

CA Xn Xn‐1.tn.
2ème règle : le franchissement d’une transition entraîne l’activation de toutes les étapes
immédiatement suivantes et la désactivation de toutes les étapes immédiatement précédentes. 
La traduction de cette règle donne la condition de désactivation de l’étape n :

CD Xn Xn.tn 1 Init Xn 1 Init


Si la CA et la CD de l’étape n sont faux, l’étape n reste dans son état. C’est ce qu’on appelle
l’effet mémoire (de la logique séquentielle). C’est à dire que l’état de Xn à l’instant t+δt dépend
de l’état précédent à l’instant t de Xn.
D’après ces trois points précédents, il est possible d’écrire la table de vérité de l’activité de
l’étape n d’un Grafcet : Xn

 
Enseignant : Ridha MAHJOUB 11 
 

 
Chapitre 1 Le GRAFCET

Tableau 1.1 - Table de vérité de l’étape Xn

Xn(t)  CA(Xn)  CD(Xn)  Xn(t+δt)  Remarques


0 0 0 0 L’étape Xn reste inactive (effet mémoire)
0 0 1 0 L’étape Xn reste inactive
0 1 0 1 Activation de l’étape Xn
0 1 1 1 Activation ET Désactivation : Activation de Xn
1 0 0 1 L’étape reste Active (effet mémoire)
1 0 1 0 Désactivation de l’étape Xn
1 1 0 1 L’étape reste Active
1 1 1 1 Activation ET Désactivation : Activation de Xn

La table de Karnaugh associé est présentée par le Tableau 1.2.


Tableau 1.2 - Table Karnaugh de l’étape Xn

CA(Xn).CD(Xn)  00 01 11 10
0 0 0 1 1
Xn 
1 1 0 1 1

D’où l’équation de Xn : 

Xn CA Xn . Xn Ce qui donne que : Xn . . .



Ou encore et l’expression de l’équation de transfert généralisée d’une étape quelconque d’un
Grafcet est la suivante :
Xn . . .







 

 
Enseignant : Ridha MAHJOUB 12 
 

 
 

                  

Chapitre 2

Méthodes de 
programmation des 
automates programmables 
industriels 

 
 
Chapitre 2 Méthodes de programmation des API

Méthodes de programmation des automates 
programmables industriels 

2.1 Introduction
L'Automate Programmable Industriel (API) est un appareil électronique programmable, adapté
à l'environnement industriel, qui réalise des fonctions d'automatisme pour assurer la commande
de pré-actionneurs et d'actionneurs à partir d'informations logique, analogique ou numérique.
Le même type d’automate programmable industriel peut être utilisé pour différentes
applications, la différence s’effectue avec le programme installé dans celui-ci. Pour réaliser ces
programmes on utilise différents langages en fonction de l’automate, de l’utilisateur et du
concepteur.
Avant : utilisation de relais électromagnétiques et de systèmes pneumatiques pour la
réalisation des parties commandes  Logique câblée.
Inconvénients : cher, pas de flexibilité, pas de communication possible.
Solution : utilisation de systèmes à base de microprocesseurs permettant une modification
aisée des systèmes automatisés  Logique programmée.
2.2 Principaux types de données élémentaires
Dans les systèmes automatisés, la notion de bit, octet (byte), mot (word) ou double mot (double
word) est souvent utilisée. Il est donc nécessaire de connaître la signification de ces termes.
Bit : Un bit correspond à une position ou un caractère binaire. Il s’agit de la plus petite unité
en matière d’information et elle n’admet que l’un des deux états suivants : "0" ou "1".
Plusieurs bits peuvent être regroupés sous la forme d’unités plus importantes.
Octet (ou byte) : un byte est une unité de 8 bits. Il est utilisé par exemple pour regrouper les
états logiques de 8 entrées ou de 8 sorties (voir Figure 2.1).

Figure 2.1 – Signification de la répartition des zones mémoires

 
Enseignant : Ridha MAHJOUB 2 
 
Chapitre 2 Méthodes de programmation des API

Mot (ou word) : un word se compose de 2 bytes, soit 16 bits. Un mot permet de regrouper
16 entrées ou 16 sorties.
Double mot (ou double word) : un double word comporte 2 mots, ou 4 bytes, ou 32 bits. Un
double mot est la plus grande unité qu’un automate soit capable de traiter à l’exception de
quelques API qui traites le mot long (64 bits).

En résumé :
- 1 Byte = 8 bits ;
- 1 Word = 2 Bytes = 16 bits ;
- 1 Double word = 2 word = 4 Bytes = 32 bits (voir Tableau 2.1).
Tableau 2.1 - Table de types de données élémentaires
Type de Description Taille ou Etendue
Données nombre de bits
BOOL Booléen (bit) 1  0 ou 1
BYTE Cordon de 8 bits 8 Pas d’étendue
WORD Cordon de caractères de longueur 16 16 numérique pour
DWORD Cordon de caractères de longueur 32 32 ce type de
LWORD Cordon de caractères de longueur 64 64 données
INT Entier signé n=16 -2 à + (2n+1 – 1)
n-1

UINT Entier non signé n=16 0 à (2n – 1)


REAL Nombre réel 32 Virgule flottante
STRING Cordon de caractères Encadré par deux apostrophes
TIME Durée Dépend de l’application concernée
 
2.3 Représentation des variables
Une variable permet d’identifier des objets de données dont le contenu peut varier (données
associes aux entrées, aux sorties ou aux emplacements mémoire de l’API).
Le Tableau 2.2 permet de représenter symboliquement une variable. La variable débute par le
symbole %.
Tableau 2.2 - Représentations symboliques des variables

Préfixe Signification
I  Input : Emplacement d’une entrée automate
Q  Output : Emplacement d’une sortie automate
M  Emplacement de mémento ou mémoire interne
X  Taille d’un seul bit
B  Taille d’un byte ou octet
W  Taille d’un word : mot de 16 bits
D  Taille d’un double word : mot double de 32 bits
L  Taille d’un Mot long : mot de 64 bits
 
Enseignant : Ridha MAHJOUB 3 
 
Chapitre 2 Méthodes de programmation des API

2.4 Affectation des Adresses dans les zones mémoires


- Bits internes : M0.0 à M255.7 dépendants des mots suivants ;
- Octets internes : ensemble de 8 bits MBi ;
- Mots internes : ensemble de 16 bits MWi ;
- Mots doubles : ensemble de 32 bits MDi.
Selon la marque de l’automate programmable (référence constructeur) nous pouvons affecter
les entrées/sorties et aussi les étapes comme le montre le tableau 2.3.
Tableau 2.3 - Représentations symboliques des variables

API Siemens API Siemens API Omron


S7-1200/1500  S7-300/400  CQM1 - CPU21

IB0 : I0.0…I0.7  EBO : E0.0…E0.7 000.0X : 000.00…000.07


Entrées
IB1 : I1.0…I1.7  EB1 : E1.0…E1.7  000.1X : 000.10…000.17 
QB0 : Q0.0…Q0.7 AB0 : A0.0…A0.7 100.0X : 100.00…100.07
Sorties
QB1 : Q1.0…Q1.7 AB1 : A1.0…A1.7  100.1X : 100.10…100.17 
MB0 : M0.0…M0.7 MB0 : M0.0…M0.7 240.0X : 240.00…240.07
Etapes
MB1 : M1.0…M1.7  MB1 : M1.0…M1.7  240.1X : 240.10…240.17 

Exemple :
- %IW125 : Emplacement du mot d’entrée à l’adresse 125 ;
- %QB17 : Emplacement de l’octet de sortie à l’adresse 17 ;
- %MD48 : Emplacement du mot mémoire double à l’adresse 48.
Le Tableau 2.4 propose plusieurs modes de répartition de la zone mémoire allant de M0.0 à
M6.7. Cette répartition est faite selon les besoins et en faisons attention aux chevauchements.
Tableau 2.4 - Représentations symboliques des variables

M6.0..M6.7 M5.0..M5.7 M4.0..M4.7 M3.0..M3.7 M2.0..M2.7 M1.0..M1.7 M0.0..M0.7


MB6 MB5 MB4 MB3 MB2 MB1 MB0
MW5 MW3 MB2 MW0
MB6 MW4 MW2 MW0
MW5 MB4 MD0

Exemple de repérage des entrées et des sorties :


Le repérage ou adressage, c’est le repère correspondant à l’emplacement de chaque entrée et
sortie ainsi son adresse en mémoire où est stocké l’image de son état 0 ou 1, cela permet
d’utiliser plusieurs fois l’entrée ou la sortie dans le programme.
Un automate programmable ayant 8 entrées et 8 sorties, pouvant occuper les adresses suivantes:
- Entrées : I0.0 ; I0.1 ; I0.2 ; I0.3 ; I0.4 ; I0.5 ; I0.6 ; I0.7 ;
- Sorties : Q1.0 ; Q1.1 ; Q1.2 ; Q1.3 ; Q1.4 ; Q1.5 ; Q1.6 ; Q1.7.

 
Enseignant : Ridha MAHJOUB 4 
 
Chapitre 2 Méthodes de programmation des API

2.5 Adressage absolu et symbolique


Dans un programme, on a le choix d’un adressage absolu, symbolique ou bien les deux à la fois.

3.5.1 Adressage absolu


L’adressage absolu revient à utiliser les adresses physiques de l’automate c’est-à-dire les
adresses réelles (voir Figure 2.2).

Figure 2.2 – Exemple d’adressage absolu

2.5.2 Adressage symbolique


Pour donner de la clarté au programme, on utilise l’adressage symbolique. Cela revient à
substituer chaque adresse physique par une adresse symbolique qui représente au mieux la
fonction comme est montré à la Figure 2.3.

Figure 2.3 – Exemple d’adressage symbolique

2.6 Câblage des entrées / sorties d'un automate programmable


2.6.1 Alimentation de l'automate
L'automate programmable est alimenté généralement par le réseau monophasé 230V/50 Hz
mais d'autres alimentations sont possibles (110V par exemple).
La protection sera de type magnétothermique (voir les caractéristiques de l'automate et les
préconisations du constructeur). Il est souhaitable d'asservir l'alimentation de l'automate par un
circuit de commande spécifique (contacteur KM).
2.6.2 Alimentation des entrées de l'automate
L'automate est pourvu généralement d'une alimentation pour les capteurs/détecteurs (attention
au type de la logique utilisée : logique positive ou négative).
Les entrées sont connectées à 24V (borne commune des entrées). Les informations des
capteurs/détecteurs sont traitées par les interfaces d'entrées comme est présenté à la Figure 2.2.

 
Enseignant : Ridha MAHJOUB 5 
 
Chapitre 2 Méthodes de programmation des API

Figure 2.4 – Câblage des entrées de l’automate


2.6.3 Alimentation des sorties de l'automate :
Les interfaces des sorties permettent d'alimenter les divers pré-actionneurs. Il est souhaitable
d'équiper chaque pré-actionneur par un relais d’isolation (non représentés à la Figure 2.3).

Figure 2.5 – Câblage des sorties de l’automate

2.7 Principe de programmation des API


Chaque automate se programmant via une console de programmation propriétaire ou par un
ordinateur équipé du logiciel constructeur spécifique.
Un programme d’un automate est constitué d’une suite d’instructions, chaque instruction se
compose des éléments suivants :
Un numéro de ligne ou une adresse permettant de retrouver une instruction dans le
programme ;
Un code d’opération indiquant le type d’opérateur à exécuter (opération ET (code AND) ;
opération OU (code OR) ;
Un opérande indiquant l’objet sur lequel s’effectue l’opération, il est composé en deux
parties :
- Son type par exemple I pour les entrées et Q pour les sorties ;

 
Enseignant : Ridha MAHJOUB 6 
 
Chapitre 2 Méthodes de programmation des API

- Son adresse géographique sur l’automate (sa position) par exemple 0.5 : 0 étant le numéro
du module et 5 étant la voie sur le module.
Tous les automates programmables fonctionnent selon le même mode opératoire comme le
montre la Figure 2.4.
On appelle scrutation l'ensemble des quatre opérations réalisées par l'automate et le temps de
scrutation est le temps mis par l'automate pour traiter la même partie de programme. Ce temps
est de l'ordre de la dizaine de millisecondes pour les applications standards.

Figure 2.6 – Mode opératoire de fonctionnement d’un automate programmable


Traitement interne : L'automate effectue des opérations de contrôle et met à jour certains
paramètres systèmes (détection des passages en RUN / STOP, mises à jour des valeurs de
l'horodateur, ...).
Lecture des entrées : L'automate lit les entrées (de façon synchrone) et les recopie dans la
mémoire image des entrées.
Exécution du programme : L'automate exécute le programme instruction par instruction
et écrit les sorties dans la mémoire image des sorties.
Ecriture des sorties : L'automate bascule les différentes sorties (de façon synchrone) aux
positions définies dans la mémoire image des sorties.
Ces quatre opérations sont effectuées continuellement par l'automate (fonctionnement
cyclique).

2.8 Eléments communs aux différents langages


La structuration d’un programme peut être éditée grâce aux trois types de modules suivants :
Fonction : Module ayant plusieurs entrées possibles, une seule variable de sortie et pas de
mémoire interne.
Bloc fonctionnel : Module ayant plusieurs variables d’entrée et de sortie possibles et une
mémoire interne.
Programme : Module construit à l’aide de fonctions et de blocs fonctionnels etc.
L’organisation interne d’un programme peut faire intervenir un diagramme fonctionnel de
séquence SFC. Les principales fonctions communes à tous les langages de programmation de
l’automate programmable sont :

 
Enseignant : Ridha MAHJOUB 7 
 
Chapitre 2 Méthodes de programmation des API

La fonction de conversion de types : REAL / INT, cette fonction permet la conversion d’une
variable d’entrée du type réel en une variable de sortie du type entier.
La fonction numérique : SQRT, cette fonction permet de calculer la racine carrée d’une
variable d’entrée.
Fonctions cordons de bits : SHL, cette fonction permet le décalage à gauche de N bits d’une
variable d’entrée et le remplissage de zéros à droite.
Fonctions logiques : AND, cette fonction réalise le ET Booléen.
Fonctions de sélection et de comparaison :
- MAX : cette fonction permet de déterminer la valeur maximale entre trois variables d’entrée ;
- SEL : cette fonction permet de sélectionner une des deux variables d’entrée suivant la
variable G ;
- GT : cette fonction réalise la comparaison de supériorité entre deux variables d’entrée
(IN1>IN2).

2.9 Langages de programmation des API


La norme CEI 61131-3 est destinée à la réglementer les aspects de la programmation des API.
Cette norme des langages de programmation des automates programmables permet de les
classer suivant trois catégories données par le Tableau 2.5.
Tableau 2.5 - Table de vérité de l’activité de l’étape n

Langages littéraux Langages graphiques Langage des systèmes


séquentiels
Langage IL (Instruction List)  Langage LD (Ladder Diag)  Diagramme SFC
Langage ST (Structured Text)  Langage FBD (Function (Sequential Function
Bloc Diag)  Chart) 
 
2.9.1 Langage IL (Instruction List ou langage à liste d’instructions)
Comme son nom l’indique ce programme, très peu utilisé par les automaticiens, est constitué
d’une suite d’instructions (voir Tableau 2.6) respectant le format suivant :
Etiquette Opérateur Opérande(s) Commentaire
(Non obligatoire) (Non obligatoire)
Ce langage est proche du langage de programmation d’un microprocesseur : l’assembleur.
Tableau 2.6 – Instruction du langage Liste

Etiquette Opérateur Opérande(s) Commentaire


Début : AND (
OR %I0.0 Bp marche (NO)
OR %Q4.0 Electrovanne
)
AND %I0.1 Bp arrêt (NF)
AND N %I0.2 Niveau haut (NO)
ST %Q4.0 Affectation électrovanne
 
 
 
Enseignant : Ridha MAHJOUB 8 
 
Chapitre 2 Méthodes de programmation des API

2.9.1.1 Programmation List d’un API OMRON


- Le mot de passe de la console : Il faut tourner la clé vers la position Program puis saisir les
instructions suivantes : MONTR / CLR / MONTR / CLR.
- L’exécution d’un schéma se fait toujours de gauche à droite.
- Pour contrôler le fonctionnement d’un programme il suffit de positionner la clé vers la
position Monitor puis taper CLR et défiler la flèche ↓.
Programmation d’une temporisation : il s’agit de traduire les réseaux à contacts donnée
par la Figure 2.7, en programme List destiné à un API de type OMRON. il

Figure 2.7 – Réseaux à contacts d’une temporisation


On propose le programme de la temporisation précédente en langage List :

LD 000.01 WR
OUT TIM 01 WR
# 50 WR
LD TIM 01 WR
OUT 100.05 WR
END. «FUNC 01 WR»

 Pour changer la valeur du timer il suffit de tourner la clé vers la position Program, taper
CLEAR puis pointer la flèche ↓ vers time pour changer le temps. Taper SHIFT + CONT et
donner la nouvelle valeur et finalement taper WR.
 Pour voir si les modifications sont validées ou non il faut tourner la clé vers RUN et vérifier
le résultat de fonctionnement sur la maquette de l’automate.
Programmation de la fonction OU EXCLUSIF : il s’agit de traduire le réseau à contacts
suivant, en programme List destiné à un API de type OMRON.

 
Enseignant : Ridha MAHJOUB 9 
 
Chapitre 2 Méthodes de programmation des API

La fonction OU EXCLUSIF est un cas de programmation d'instruction en bloc logique en, effet
le schéma à relais correspondant peut être subdivisé en blocs logique. L'instruction ORLD
permet de définir la condition qui relie le premier au second bloc, dans ce cas les deux blocs
sont reliés avec une condition OU.
LD 000.01 WR
AND NOT 000.02 WR
LD NOT 000.01 WR
AND 000.02 WR
OR LD WR
OUT 100.01 WR
END.
Application 1 :
Ecrire le programme List équivalent au schéma à contacts suivant :

Solution de l’application 1 :
LD 000.01 WR
OR NOT 000.03 WR
LD NOT 000.02 WR
OR 000.04 WR
AND LD WR
OUT 100.01 WR
END.
Application 2 :
Ecrire le programme List du schéma à contacts suivant :

Solution de l’application 2 :
Pour facilite le programme on peut utiliser l’instruction AND LD comme suit :

 
Enseignant : Ridha MAHJOUB 10 
 
Chapitre 2 Méthodes de programmation des API

LD 000.01 WR
OR NOT 000.03 WR
LD NOT 000.02 WR
OR 000.04 WR
AND LD WR
LD NOT 000.05 WR
OR 000.06 WR
AND LD WR
OUT 100.01 WR
END.
Application 3 :
Ecrire le programme List équivalent au schéma à contacts suivant :

Q1 : Décomposer le schéma en blocs logiques.


Q2 : Ecrire le code mnémonique équivalent en langage List.
Solution de l’application 3 :
Q1 :

Q2:
LD 000.01 WR
AND NOT 000.02 WR

 
Enseignant : Ridha MAHJOUB 11 
 
Chapitre 2 Méthodes de programmation des API

LD NOT 000.01 WR
AND 000.03 WR
OR LD WR
LD 000.06 WR
AND 000.05 WR
OR LD WR
LD NOT 000.03 WR
OR 000.09 WR
AND LD WR
LD NOT 000.04 WR
AND LD WR
OUT 100.06 WR
END.
2.9.2 Langage ST (Structured Text ou langage littéral structuré)
Ce langage, peu utilisé par les automaticiens, est composé d’expressions littérales constituées
d’opérateurs et d’opérandes et d’énoncés. Ce langage est proche d’un langage informatique
comme le PASCAL. Il utilise les instructions comme if, then, else (si, alors, sinon ...).
Exemple 1 : Commande d’une électrovanne
%L1 (« commande électrovanne »)
IF (%I0.0 OR %Q4.0) AND %I0.1 AND_NOT %I0.2 THEN SET %Q4.0
END_IF;
Exemple 2 : Issu d’un programme de démonstration «Machine de dosage et de mélange d’un
produits» par le logiciel PL7 de Schneider.
Le contenu de ce bloc écrit en langage ST est le suivant :
(*** Routine de Simulation d'un procédé de 1er ordre pour Sortie PID ***)
IF Trs THEN
Sortie : = Tri ;
ELSE
Te : = INT_TO_REAL(%SW0) /1000.0 ;
Sortie : = (Filtrage/(Filtrage+Te)) *Sortie+(Gain*Te) /(Filtrage+Te) *Entree ;
END_IF ;
Avec :
%SW0 : Période de scrutation de la tâche maître. Permet de modifier la période de la tâche
maître définie en configuration, par le programme utilisateur ou par le terminal. La période est
exprimée en ms (1  255ms). %SW0=0 en fonctionnement cyclique.
 
Exemple 3 : La simulation d’un retard écrit en langage ST est le suivant :
Nb := REAL_TO_INT(1000.0*Retard/INT_TO_REAL(%SW0));
IF (Nb>=999) THEN
Nb := 999;
END_IF;
IF Trs THEN
 
Enseignant : Ridha MAHJOUB 12 
 
Chapitre 2 Méthodes de programmation des API

Memoire :=Tri;
Sortie := Tri;
Pos := 0;
ELSE
Sortie := Memoire[Pos];
Memoire[Pos]:= Entree;
Pos := Pos +1;
IF (Pos>= Nb) THEN
Pos := 0;
END_IF;
2.9.3 Langage FBD (Function Bloc Diagram) ou langage en blocs fonctionnels
C’est un langage graphique utilisé par les automaticiens où les blocs, sont programmés
(bibliothèque) ou programmables, sont représentées par des rectangles avec les entrées à gauche
et les sorties à droites. Ce langage se compose de réseaux de blocs fonctionnels qui sont
connectés entre eux par des lignes, le flux des signaux se faisant de la sortie d’une fonction vers
l’entrée de la fonction raccordée.
Exemples de blocs fonctionnels standards :
Bloc fonctionnel compteurs ;
Bloc fonctionnel temporisateurs ;
Bloc fonctionnel régulateur PID…
Application : Description du compteur SFB 2
- CU : Entrée de comptage, lorsque l’état logique de l’entrée CU passe de l’état 0 à
l’état 1 (front montant), le compteur est incrémenté de 1.
- CD : Entrée de décomptage, lorsque l’état logique de l’entrée CD passe de l’état 0
à l’état 1 (front montant), le compteur est décrément de 1.
- R : Entrée reset, lorsque l’état logique de l’entrée R passe de l’état 0 à l’état 1, la
valeur du compteur est forcée à 0 quelle que soit l’état de l’entrée CU.
- PV : Réglage de la valeur du compteur. (dans l’exemple ci-dessus 10).
- LD : Entrée «chargé», lorsque l’état logique de l’entrée LD passe de l’état 0 à l’état
1, la valeur du compteur (CV) est forcée à la valeur réglée à l’entrée PV quelle que
soit l’état de l’entrée CD.
- QD : La sortie Q, est à l’état logique 1 si la valeur de comptage actuelle (CV) est
égale ou inférieur à 0. (CV≤0).
- CV : MW101 dans l’exemple, mot de mémento pour l’affichage de la valeur du
compteur ou l’utilisation de la valeur du compteur ailleurs dans le programme.
Attention de ne pas réutiliser les bits de mémoire M101.0 à M102.7 pour autre
chose dans le programme.
- QU : La sortie Q, est à l’état logique 1 si la valeur de comptage actuelle (CV) est
égale ou supérieure à la valeur allouée à l’entrée PV (CV≥PV).

 
Enseignant : Ridha MAHJOUB 13 
 
Chapitre 2 Méthodes de programmation des API

Figure 2.8 – Compteur CTUD (SFB 2)

2.9.4 Langage à contacts (LD : ladder diagram)


Langage graphique, le plus utilisé, développé pour les électriciens. Il utilise les symboles tels
que : contacts, relais et blocs fonctionnels et s'organise en réseaux (labels). Ce langage est une
représentation graphique d’équations booléennes combinant des contacts (en entrée) et des
relais (en sortie). Il permet la manipulation de données booléennes, à l’aide de symboles
graphiques organisés dans un diagramme comme les éléments d’un schéma électrique à
contacts.
Des composants graphiques élémentaires d’un diagramme à contacts sont présentés au Tableau
3.7.
Tableau 2.7 – Instruction du langage Liste

Variable d'entrée ou contact à fermeture


┤├ (I0.2 entrées automate, M1.2 bit
mémoire interne, etc.)

┤∕├ Variable d'entrée complémentée ou


contact à ouverture

-( )- Variable de sortie (Q0.2 sorties


automate, M1.3 bit mémoire interne,
etc.)
-(S)- Sortie mise à 1 mémorisée (S = set)
-(R)- Sortie remise à 0 mémorisée (R = reset)
┤P├ Un front montant
 
2.9.4.1 Les principes des schémas à relais
Un schéma à relais comporte une ligne et des branchements. La ligne de gauche est la ligne de
bus et les lignes de branchements sont les lignes d'instructions ou lignes secondaires. Deux
 
Enseignant : Ridha MAHJOUB 14 
 
Chapitre 2 Méthodes de programmation des API

lignes d'instructions sont reliées par au moins une condition. L’exécution d'un schéma se fait
toujours de gauche à droite.
Les conditions (contacts) sont représentées par deux lignes verticales ou encore par deux lignes
verticales traversées par une diagonale. Dans le premier cas la condition est initialement ouverte
elle est transcrite par une mnémonique tel que (LD, AND, OR) ; dans le second cas c'est une
condition initialement fermée (fermé au repos) elle est transcrite par une mnémonique du type
(LDNOT, ORNOT, ANDNOT).
‐ La ligne de départ verticale placée à l’extrémité gauche du réseau est le point de départ de ce
dernier.
‐ Les lignes verticales parallèles à celle-ci sont des lignes représentant des sous routines par
rapport à la ligne principale.
‐ Les conditions sont représentées par deux lignes verticales.
‐ La terminologie fondamentale : en schéma à relais à chaque condition est attribuée un bit ce
bit est à (un) lorsque la condition est vraie, la condition est alors en position ON. Une condition
initialement fermée est initialement en position OFF, elle passera en position ON avec un état
complémentaire à celui d’une condition initialement ouverte.
‐ Les conditions d’exécution : dans un schéma à relais l’exécution d'une instruction se fait à
partir du moment où la combinaison des conditions qui la précède est vraie.
‐ Les bits d’opérande : bit d’entrée/sortie ; drapeau (bit d'état) ; bit de travail ; temporisateur ou
compteur.
‐ Blocs logiques et blocs d’instruction : le bloc logique un groupe d’instructions qui génère un
résultat logique. La décomposition d’un programme en plusieurs blocs logiques simplifie la
synthèse et le test des applications. Un bloc d'instruction comprend toutes les instructions
reliées entre elles dans un même schéma.
2.9.5 Programmation à l'aide du GRAFCET (SFC : Sequential Function Chart)
Le GRAFCET, langage de spécification, est utilisé par certains constructeurs d'automate
(Schneider, Siemens) pour la programmation. Parfois associé à un langage de programmation,
il permet une programmation aisée des systèmes séquentiels tout en facilitant la mise au point
des programmes ainsi que le dépannage des systèmes (voir Figure 2.9).
On peut également traduire un Grafcet en langage à contacts et l'implanter sur tout type
d'automate.

Figure 2.9 – Tranche d’un Grafcet généralisé


 
Enseignant : Ridha MAHJOUB 15 
 
Chapitre 2 Méthodes de programmation des API

2.10 Méthode de traduction des équations de transferts en langage LADDER


Cette méthode de programmation des automates programmables industriels repose
essentiellement sur les équations de transferts déterminés à partir d’un Grafcet de
fonctionnement. Pour se fixer les idées, on présente une tranche d’un Grafcet généralisé (voir
Figure 2.10) à partir duquel on détermine les équations de transferts des étapes Xi et Xi+1.

 
Figure 2.10 – Tranche d’un Grafcet généralisé
Les équations de transfert du Grafcet de fonctionnement seront traduites en réseaux d’étapes et
d’actions.
- ∗ ∗  

- ∗ ∗  

La traduction de ses équations par la méthode des équations de transferts donne le résultat de
la Figure 2.11.

 
Figure 2.11 – Méthode de traduction des équations de transferts

2.11 Méthode du séquenceur électronique


 
Enseignant : Ridha MAHJOUB 16 
 
Chapitre 2 Méthodes de programmation des API

Cette méthode est basée essentiellement sur l’exploitation des fonctions mise à 1 mémorisée et
remise à 0 mémorisée (Set/Reset) et leurs fonctions de maintien qui sont :
- Set : La fonction de mise à 1 logique (Set to One) ;
- Reset : La fonction de remise à 0 (Reset to Zero).
Pour l’application de cette méthode, les étapes de la Figure 2.10 seront traduites par les réseaux
de la Figure 2.12.

Figure 2.12 – Méthode du séquenceur électronique

2.12 Critères de choix d'un automate


Le choix d'un automate programmable est en premier lieu le choix d'une société ou d'un groupe
et les contacts commerciaux et les expériences vécues sont déjà un point de départ.
Les grandes sociétés privilégieront deux fabricants pour faire jouer la concurrence et pouvoir
se retourner en cas de perte de vitesse de l'une d'entre elles.
Le personnel de maintenance doit toutefois être formé sur ce matériel et une trop grande
diversité de matériel peut avoir de graves répercussions. Un automate programmable utilisant
des langages de programmation de type Grafcet est également préférable pour assurer les mises
au point et les dépannages dans les meilleures conditions.
La possession d'un logiciel de programmation est aussi source d'économies. Des outils
permettant une simulation des programmes sont également souhaitables.
Il faut ensuite quantifier les besoins :
Nombre d'entrées/sorties : le nombre des modules peut avoir une incidence sur le nombre de
racks dès que le nombre d'entrées/sorties nécessaires devient élevé.
Type du processeur : la taille mémoire, la vitesse de traitement et les fonctions spéciales
offertes par le processeur permettront le choix dans la gamme souvent très étendue.
Fonctions ou modules spéciaux : certaines cartes (commande d'axe, pesage, etc.) permettront
de soulager le processeur et devront offrir les caractéristiques souhaitées (résolution, etc.).
Fonctions de communication : l'automate programmable doit pouvoir communiquer avec les
autres systèmes de commande (API, OP, PC, etc.) et offrir des possibilités de communication
avec des standards normalisés (Profibus, Profinet, Modbus, etc.).

2.13 Signalisations dans un automate programmable


On considère la CPU d’un automate programmable Simatic S7-1200 comme un exemple
concret d’un API récent. La CPU de cet API fournit les indicateurs d'état suivants:
 
Enseignant : Ridha MAHJOUB 17 
 
Chapitre 2 Méthodes de programmation des API

STOP/RUN
- Jaune continu indique l'état ARRET ;
- Vert continu indique l'état MARCHE ;
- Vert et jaune clignotant en alternance indiquent que la CPU est à l'état MISE EN
ROUTE.
ERROR
- Rouge clignotant indique une erreur, telle qu'une erreur interne dans la CPU, une
erreur avec la carte mémoire ou une erreur de configuration (modules non
concordants) ;
- Rouge continu signale un matériel défectueux ;
- Toutes les DEL clignotent si la défaillance est détectée dans le Firmware.
La LED MAINT (Maintenance) clignote dès que vous insérez une carte mémoire. La
CPU passe alors à l'état ARRET. Une fois que la CPU est passée à l'état ARRET,
exécuter l'une des actions suivantes pour déclencher l'évaluation de la carte mémoire :
- Faire passer la CPU à l'état MARCHE ;
- Effectuer un effacement général (MRES) ;
- Mettre la CPU hors tension puis sous tension.
La CPU fournit également deux LEDs qui indiquent l'état de la communication. Ouvrez le cache
du bornier inférieur pour les voir :
Link (vert) s'allume pour signaler qu'une connexion a été établie avec succès.
Rx/Tx (jaune) s'allume pour signaler une activité de transmission est en cours.
La CPU et chaque module d'entrées/sorties TOR fournissent une LED I/O Channel pour
chacune des entrées et sorties. La LED I/O Channel (verte) s'allume ou s'éteint pour indiquer
l'état de l'entrée ou de la sortie correspondante (Voir Tableau 2.8).
Tableau 2.8 – Indicateurs d’état de la CPU d’un API Simatic S7-1200

STOP/RUN ERROR MAINT


Description Jaune/Vert Rouge Jaune
Hors tension Éteint Éteint Éteint
Démarrage, auto-test ou Clignotant Éteint
actualisation du firmware Jaune vert en alternance -
État ARRET Allumé (jaune) - -
État MARCHE Allumé (vert) - -
Enlever la carte mémoire Allumé (jaune) - Clignotant
Erreur Allumé Clignotant -
Soit jaune soit vert
Maintenance requise
- E/S forcées Allumé
- Remplacer la pile (si le - Allumé
Soit jaune soit vert
Battery Board est installé)
Matériel défectueux Allumé (jaune) Allumé Eteint
Test des LEDs ou firmware Clignotant
CPU défectueux (jaune vert en alternance) Clignotant Clignotant
 
Enseignant : Ridha MAHJOUB 18 
 
Chapitre 2 Méthodes de programmation des API

Version de configuration de
la CPU inconnue ou Allumé (jaune) Clignotant Clignotant
incompatible

2.14 Sécurité des systèmes automatisés


Les systèmes automatisés sont, par nature, source de nombreux dangers (tensions utilisées,
déplacements mécaniques, jets de matière sous pression, etc.).
La défaillance d'un automate programmable pouvant avoir de graves répercussions en matière
de sécurité, les normes interdisent la gestion des arrêts d'urgence par l'automate programmable ;
celle-ci doit être réalisée en technologie câblée.
Placé au cœur du système automatisé, l'automate se doit d'être un élément fiable car :
Un dysfonctionnement de celui-ci pourrait avoir de graves répercussions sur la sécurité des
personnes.
Les coûts de réparation de l'outil de production sont généralement très élevés.
Un arrêt de la production peut avoir de lourdes conséquences sur le plan financier.
Aussi, l'automate programmable fait l'objet de nombreuses dispositions pour assurer la sécurité :
Contraintes extérieures : l'automate programmable est conçu pour supporter les différentes
contraintes du monde industriel et a fait l'objet de nombreux tests normalisés (tenue aux
vibrations, CEM, etc.).
Coupures d'alimentation : l'automate programmable est conçu pour supporter les coupures
d'alimentation et permet, par programme, d'assurer un fonctionnement correct lors de la
réalimentation (reprises à froid ou à chaud).
Mode RUN/STOP : seul un technicien peut mettre en marche ou arrêter un automate
programmable et la remise en marche se fait par une procédure d'initialisation (programmée).
Contrôles cycliques :
‐ Procédures d'autocontrôle des mémoires, de l'horloge, de la batterie, de la tension
d'alimentation et des entrées/sorties.
‐ Vérification du temps de scrutation à chaque cycle appelée Watch-Dog (chien de garde)
et enclenchement d'une procédure d'alarme en cas de dépassement de celui-ci (réglé par
l'utilisateur).
Visualisation : les automates offrent un écran de visualisation où l'on peut voir l'évolution
des entrées/sorties. 

 
Enseignant : Ridha MAHJOUB 19 
 
 

 
 

                

Chapitre 3

Gestion des modes de 
fonctionnement d’un S.A.P

 
 
Chapitre 3 Gestion des modes de fonctionnement d’un S.A.P

Gestion des modes de fonctionnement d’un S.A.P 
 
3.1 Fonction d’une partie commande
D'une manière générale il est possible d'effectuer une partition de la Partie Commande en trois
fonctions principales (présentes régulièrement dans les PC) et des fonctions complémentaires
liées à la complexité du système.
Fonction de commande : c'est la fonction essentielle, celle pour laquelle est construite la
Partie Commande. Elle consiste à élaborer les ordres de commande des pré-actionneurs pour
obtenir le comportement désiré de la Partie Opérative, à partir des informations issues de cette
PO et des consignes de l'opérateur. Cette fonction de Commande intègre les modes de
production normale, mais aussi les modes de marches, défaillance, etc.
Fonction de conduite : sous cette fonction l'on regroupe trois niveaux de besoins pour la
conduite du système automatisé.
- Un besoin de Flexibilité ;
- Un besoin de complexité ;
- Un besoin de coordination ou synchronisation des SPO.
Fonction de surveillance : cette fonction est liée à l'apparition éventuelle de défauts ou de
défaillance tant sur la Partie Opérative que sur la Partie Commande, que sur leurs alimentations
et interfaces. Elle correspond aux fonctions d'alarme et de sécurité.
- La fonction alarme implique l'observation des grandeurs significatives du système, puis un
traitement pour aboutir sur des moyens de visualisation pour faciliter la communication
avec l'opérateur.
- La fonction sécurité consiste à émettre des consignes ou des commandes vers des
actionneurs spécifiques, ou vers d'autres niveaux de commandes.
Fonction d’optimisation : cette fonction permet l'introduction de données et de contraintes
économiques dans la commande. Il s'agit, à partie d'objectif de productions et de données
techniques, d'élaborer le modèle de fonctionnement le mieux adapté à l'état actuel du système.
Fonction de gestion : il s'agit, à partir des résultats du modèle optimisé, des informations
issues du système, d'élaborer l'ensemble des documents techniques, administratifs, comptables
et financiers, etc. nécessaires à la bonne intégration du système dans le fonctionnement global
de l'entreprise.
Fonction de communication : cette fonction permet de prendre en compte l'intervention de
l'homme dans la conduite du système automatisé mais aussi dans l'ensemble des fonctions de
commande, de surveillance, de gestion et d’optimisation.
3.2 Structure d’une partie commande
Le Grafcet permet de modéliser des commandes dont toutes les entrées sont des variables d'états
de type binaire (0 ou 1). Si toute la partie commande d'une application n'est pas modélisable
par un Grafcet, il importe de formaliser les limites et la communication avec les autres modèles
de la commande.

 
Enseignant : Ridha MAHJOUB 2 
 
Chapitre 3 Gestion des modes de fonctionnement d’un S.A.P

3.2.1 La PC fait appel à des fonctions Grafcet


La structure et les différents modules sont décrits dans un ou plusieurs langages, d'autres
modules sont en Grafcet. Le Grafcet de niveau module est appelé par la structure de commande
par échanges des Entrées/Sorties booléennes (voir Figure 3.1).

Figure 3.1 – Structure d’une PC


3.2.2 Un Grafcet structure la partie commande
La structure est décrite en Grafcet et les différents modules sont décrits soit en Grafcet soit dans
un autre langage. Dans ce cas la partie principale de la commande est modélisée par un Grafcet
global structuré qui communique par échange des Entrées/Sorties avec d'autres sous parties
commandes modélisée avec d'autres formalismes (voir Figure 3.2).

Figure 3.2 – Modélisation d’une PC


3.2.3 Le Grafcet convient pour modéliser toute la partie commande
La structure et les différents modules sont décrits en Grafcet. Dans ce cas, l'ensemble de la
commande est modélisé par un Grafcet global structuré en Grafcet partiels :
- Soit hiérarchiquement, par des ordres de forçage et des variables d'étapes ;
- Soit sans hiérarchie formelle, uniquement par échange de variable d'étapes.
La commande directe de la partie opérative est assurée par un certain nombre d'automatismes
locaux, formant ainsi une partition du système en un certain nombre de sous-systèmes, constitué
chacun d'une sous-partie opérative et d'une Partie commande locale. Cette partition en sous-
système résulte de contraintes :
- De localisation physique des sous parties opératives ;
- De fractionnement des investissements ;
- Technologiques, etc.

 
Enseignant : Ridha MAHJOUB 3 
 
Chapitre 3 Gestion des modes de fonctionnement d’un S.A.P

Pour effectuer une partition fonctionnelle de la partie commande, il faut respecter l'architecture
de la partie opérative, architecture fonctionnelle vis à vis de l'élaboration de la valeur ajoutée.
3.3 Hiérarchisation des fonctions
Les fonctions d'une Partie Commande peuvent être classées par niveaux d'interventions de la
PC sur la PO.
Les trois fonctions principales, commande, conduite, sécurité, peuvent être organisées, au
niveau de la structure interne de la PC, en niveau hiérarchisées. Ce type de structure conduit
généralement à un Grafcet Global à trois niveaux, et donc composé d’au moins trois grafcets
partiels (voir Figure 3.3).
Niveau de sécurité : regroupe les conditions d’arrêt de sécurité ainsi que la surveillance du
point délicat du procédé.
Niveau de conduite : gère les modes de marches et d’arrêts, hors sécurité.
Niveau de commande : gère le cycle de production du système dans les conditions de
marches normales.

Sytème en Mode de sécurité


GFS

Sécur_/OK Sécur_OK Sécur_/OK

Conduite du système
GFC

sel_manu sel_auto

Production en Mode
Production en Mode Manuel
Automatique
...
GFP_Manu GFP_Auto

Figure 3.3 – Organisation structurelle d’un programme d’automatisation

3.4 Représentation du niveau de surveillance


La fonction surveillance doit garantir la sécurité des personnes et des biens et assurer la
disponibilité maximale de l'installation. Les événements associés à ce niveau sont du type
aléatoire (défaut, coupure énergie, AU, etc.) et peuvent survenir dans n'importe quel mode de
fonctionnement.

 
Enseignant : Ridha MAHJOUB 4 
 
Chapitre 3 Gestion des modes de fonctionnement d’un S.A.P

Le niveau surveillance est hiérarchiquement supérieur aux deux autres, il émettra donc des
ordres de forçage vers les niveaux inférieurs mais aussi des ordres directs vers la PO :
- Les sécurités de première urgence seront assurées par une logique câblée ;
- Les sécurités d'urgence inférieure seront traitées par la logique programmée (API).
Dans la majorité des cas d'arrêt de sécurité, la difficulté principale est le traitement de la reprise
après arrêt, ceci pouvant amener le concepteur à la mise en œuvre de grafcet spéciaux de reprise
après un arrêt. La norme EN 1131-1 défini trois types de reprise.
3.4.1 Reprise à froid
Reprise de la configuration de l'API et de son programme d'application après que toutes les
données dynamiques (variables telles qu'image E/S, mémoires internes, temporisateurs,
compteurs, etc. et contextes du programme) aient été ramenées à un état prédéterminé. Une
reprise à froid peut être automatique (par exemple après une coupure de courant, une perte
d'information dans la ou les parties dynamiques de la ou des mémoires, etc.) ou manuelle (par
exemple bouton de réinitialisation, etc.).
3.4.2 Reprise immédiate
Reprise après une coupure d'alimentation intervenant pendant le laps de temps maximal
fonction du processus alloué à la configuration d'un API pour rétablir son fonctionnement
comme s'il n'y avait pas eu de coupure d'alimentation. Toutes les informations des E/S et toutes
les autres données dynamiques ainsi que le contexte du programme d'application sont restaurée
ou demeurent inchangés. L'aptitude à la reprise immédiate nécessite une horloge temps réel ou
un temporisateur alimenté séparément pour déterminer le temps écoulé depuis la détection de
la coupure d'alimentation et un moyen accessible à l'utilisateur pour programmer la durée
maximale allouée en fonction du processus.
3.4.3 Reprise à chaud
Reprise après une coupure d'alimentation, avec un ensemble de données dynamiques
prédéterminé et programmé par l'utilisateur et un contexte programme d'application
prédéterminé par le système. Une reprise à chaud se caractérise par une signalisation d'état ou
tout autre moyen apparenté mis à la disposition du programme d'application indiquant que
l'interruption d'alimentation de la configuration d'API a été détectée en mode RUN.
La sécurité est une composante de la sûreté d'un système automatisé L'obtention d'un niveau de
disponibilité élevé peut être incompatible avec la sécurité, c'est pourquoi la sûreté doit être
analysée globalement pour aboutir au meilleur compromis. La sécurité doit être envisagée sous
le double aspect de l'analyse des risques (gravité et probabilité d'apparition) et de la
réglementation en vigueur.
3.4.4 Actions de sécurité
Après la détection d’une défaillance la PC peut être chargée d'actions de sécurité de différents
types :
- Alarme et signalisation : commande de voyants, gyrophares, sirène, éditions de messages
ou/et d'historique de défaits ;
- Commande directe d'actionneurs : généralement des interdictions absolues et directe de
mouvements (équation des sorties) ;
 
Enseignant : Ridha MAHJOUB 5 
 
Chapitre 3 Gestion des modes de fonctionnement d’un S.A.P

- Evolution du système : la PC provoque des changements d'états du système vers un arrêt,


une marche dégradée ou une marche de sécurité.
La représentation du niveau de surveillance comportera au minimum un Grafcet de sécurité
(GFS) mais souvent associé à un ou plusieurs Grafcet de surveillance (GFSUR).
3.5 Traitement d'un arrêt d’urgence
Deux solutions peuvent être proposées :
- Sans séquence d’urgence : le système arrête son évolution ;
- Avec séquence d’urgence : l’apparition d’un arrêt d’urgence déclenche une procédure
particulière.
3.5.1 Arrêt sans séquence d'urgence
Figeage de l’automatisme : on suppose dans ce cas que le terme «AU» est un facteur implicite
dans toutes les réceptivités. Dès l’occurrence de l’arrêt d’urgence, aucune réceptivité ne peut
prendre la valeur logique 1 : la situation ne peut pas évoluer. La disparition de l’arrêt d’urgence
autorise à nouveau l’évolution du cycle (voir Figure 3.4).

 
Figure 3.4 - Traitement d'un arrêt figé
3.5.2 Arrêt avec séquence d’urgence
On sait qu'un des intérêts du Grafcet est d’indiquer à chaque situation que les seules
circonstances qui la font évoluer. L’arrêt d’urgence devant toujours faire évoluer la situation de
la partie commande, on devrait, en toute rigueur, la faire apparaître à chaque étape du Grafcet.
Dès que le cas traité devient un peu important, le Grafcet devient complétement illisible. Il en
découle qu’il est malaisé de considérer l’arrêt d’urgence comme une information d’entrée
comme les autres. De plus, C’est contraire à l’esprit même de l’urgence accordant à cet arrêt
une sorte de «super priorité». Pourtant il est intéressant (mais ce n’est pas toujours possible) de
pouvoir formaliser le comportement attendu d’un système lors de l’apparition de l’information
«AU» (voir Figure 3.5).
 
Enseignant : Ridha MAHJOUB 6 
 
Chapitre 3 Gestion des modes de fonctionnement d’un S.A.P

 
Figure 3.5 - Traitement d'arrêt d'urgence séquentiel 

3.6 Grafcet de production normale


Grafcet décrivant le fonctionnement normal de production du système. Il peut faire appel à des
Grafcets de tâches ou de procédures. Le dialogue entre les Grafcets est réalisé par les variables
Xi (voir Figure 3.6).

Il décrira le cycle de la Partie Opérative (un ou plusieurs Grafcets) pour produire la valeur
ajoutée. Dans le cas où un rectangle état fait appel à une procédure complexe, elle sera réalisée
par un Grafcet de procédure.

Figure 3.6 - Exemple de Grafcets de production

3.7 Grafcet de conduite


C’est le Grafcet qui gère tous les modes marches et d'arrêts normaux. IL peut faire appel à des
Grafcets spécifiques (initialisation, préparation, clôture...). Le dialogue entre les Grafcets est
réalisé généralement par les variables internes d’étapes Xi (voir Figure 3.7).
Un état (à ne pas confondre avec une étape) est un mode de fonctionnement (mode de marche
ou d'arrêt) que peut prendre une machine.

 
Enseignant : Ridha MAHJOUB 7 
 
Chapitre 3 Gestion des modes de fonctionnement d’un S.A.P

 
Figure 3.7 - Grafcet de conduite

3.8 Grafcet de sécurité


C’est le Grafcet qui gère les procédures de défaillance. Il est Hiérarchiquement supérieur à tous
les autres grafcets. Cette hiérarchie est réalisée par des ordres de Forçage (voir Figure 3.8).
Un état (à ne pas confondre avec une étape) est un mode de fonctionnement (mode de marche
ou d'arrêt) que peut prendre une machine. Afin de concevoir des machines robustes et fiables,
il faut recenser les états de fonctionnement de cette machine.

 
Figure 3.8 - Grafcet de sécurité

 
Enseignant : Ridha MAHJOUB 8 
 
 

 
 
 

                    

Chapitre 4

Traitement des grandeurs 
analogiques par un API 
 

 
 
Chapitre 4 Traitement des grandeurs analogiques par un API

Traitement des grandeurs analogiques par un API 

4.1 Introduction
Toutes les grandeurs physiques (tension, température, pression, positionnement, vitesse,
etc.) sont des grandeurs analogiques. Afin de pouvoir traiter ces grandeurs dans un API, il
est nécessaire de :
Convertir la grandeur physique en une grandeur analogique électrique ;
Convertir la grandeur analogique électrique en une grandeur numérique.

L'objectif du traitement des grandeurs analogiques par un API est, à partir des principes de base
de la technique analogique, des caractéristiques des modules d'entrées et de sorties analogiques.
4.2 Les signaux analogiques et binaires
Les signaux binaires ne peuvent prendre que deux états logiques : l'état logique 1 (tension
présente) et l'état logique 0 (aucune tension n’est présente). Dans la technique d'automatisation,
des signaux non seulement binaires mais aussi analogiques doivent souvent être lus, traités et
transmis. Contrairement aux signaux binaires, les signaux analogiques peuvent prendre toutes
les valeurs contenues dans une plage définie.
4.3 Les entrées analogiques
Par opposition aux entrées digitales ou logiques, une entrée analogique permet de recueillir un
signal électrique variable pouvant prendre une infinité de valeurs s'étendant sur une plage
définie. La valeur d'une entrée analogique change continuellement dans le temps en fonction
de la grandeur physique mesurée par le capteur.
- Les signaux de type tension : Les signaux de type tension sont générés par certains types de
capteurs analogiques. Les plages d'opération les plus courantes sont de 0 à 5 V/DC et de 0 à 10
V/DC.
- Les signaux de type courant : Le signal 420 mA est devenu le signal de courant standard
dans l'industrie, des fois on peut aussi rencontrer des capteurs de type 020 mA.
- Les signaux de type résistance : Les signaux de type résistance sont dans la plupart du temps
utilisés avec les capteurs de température comme les thermocouples.
Pour réaliser la conversion de la grandeur physique vers le signal électrique, il suffit d’effectuer
une règle de trois :

signal électrique max  grandeur physique


Signal électrique 
grandeurphysique max

 
Enseignant : Ridha MAHJOUB 2 
 
Chapitre 4 Traitement des grandeurs analogiques par un API

Exemple N°1 : Capteur de température pouvant mesurer des températures entre 0 et 500°C.

Signal analogique électrique équivalent


Température 0..10 VDC 0..20 mA 4..20 mA
0°C 0 VDC 0 mA 4 mA
250°C 5 VDC 10 mA 12 mA
500°C 10 VDC 20 mA 20 mA
300°C 6 VDC 12 mA 13,6 mA

Exemple N°2 : Moteur triphasé dont la vitesse varie de 0 à 4000 tr/min.

Signal analogique électrique équivalent


Vitesse 0..10 VDC 0..20 mA 4..20 mA
0 tr/min. 0 VDC 0 mA 4 mA
2000 tr/min 5 VDC 10 mA 12 mA
4000 tr/min 10 VDC 20 mA 20 mA
2500 tr/min 6,25 VDC 12,5 mA 14 mA

4.4 Les sorties analogiques


A la différence des entrées analogiques, les sorties analogiques sont des signaux variables.
Ces signaux sont générés par l'automate (module de sortie analogique) agissent sur des pré-
actionneurs analogiques. Par exemple, une sortie analogique peut permettre de contrôler un
variateur de vitesse ou encore une électrovanne proportionnelle. Comme pour les entrées
analogiques, les types de signaux les plus fréquents sont les des signaux de type tension, courant
et résistance.
4.5 Adressage des variables analogiques
Les valeurs analogiques sont lues ou écrites par l’API comme informations de mots. L'accès à
ces mots s'effectue par exemple avec les opérandes :
‐ %IW 64 : mot d'entrée analogique 64 ;
‐ %QW 64 : mot de sortie analogique 64.
L'adressage des valeurs d'entrée et des valeurs de sortie dépend de l'adressage dans la vue des
appareils. La Figure 4.1 montre la configuration matérielle d’un automate programmable
Simatic S7-1500 comportant des modules d’entrées/sorties analogiques.

 
Enseignant : Ridha MAHJOUB 3 
 
Chapitre 4 Traitement des grandeurs analogiques par un API

PS CPU DI16 DO16 AI8 AO4

Figure 4.1 - Exemple d’adressage


Cet automate programmable comporte huit (8) entrées analogies, l’adresse de la première entrée
analogique serait dans ce cas %IW64 et celle de la huitième entrée analogique est %IW78.
Comme elle comporte quatre (4) sorties analogiques, l'adresse de la première sortie analogique
serait dans ce cas est %QW64 et celle de la quatrième sortie analogique est %QW70.
4.6 Normalisation des valeurs analogiques
Si une valeur d'entrée analogique est présente en tant que valeur numérisée dans une plage
bipolaire 27648 (voit Tableau 4.1 et Figure 4.2), elle doit habituellement être normalisée pour
que les valeurs numériques correspondent à des valeurs physiques du processus. La sortie
analogique est également réalisée par la transmission d'une valeur normée qui doit être ensuite
mise à l’échelle à la valeur de la sortie bipolaire 27648 comme est montré au Tableau 4.1.
Tableau 4.1 – Traitement des grandeurs analogiques par un API

Les entrées
Entrée tension 27648

10
Entrée courant 27648

20
Les sorties
Sortie tension 10

27648
Sortie courant 20

27648

Pour adapter le signal analogique on utilise la conversion normalisation et mise à l’échelle,


deux fonctions prédéfinies par le logiciel Step7.

 
Figure 4.2 – Plage nominale de valeurs analogiques/valeurs numérisées
 
Enseignant : Ridha MAHJOUB 4 
 
Chapitre 4 Traitement des grandeurs analogiques par un API

Le bloc fonctionnel «NORM_X» permet de normaliser la valeur de la variable à l'entrée


VALUE en la reproduisant sur une échelle linéaire. On définit, avec les paramètres MIN et
MAX, les limites d'une plage de valeurs qui est reflétée sur l'échelle. Le résultat est calculé en
fonction de la position de la valeur à normaliser dans cette plage et il est stocké sous forme de
nombre réel à virgule flottante à la sortie OUT (voir Figure 4.3).
‐ Quand la valeur à normaliser est égale à la valeur à l'entrée MIN, la sortie OUT fournit la
valeur 0.0.
‐ Quand la valeur à normaliser est égale à la valeur à l'entrée MAX, la sortie OUT fournit la
valeur 1.0.
 

Figure 4.3 – Bloc fonctionnel NORM_X

L'instruction de normalisation utilise l'équation suivante :


(VALUE – MIN)
OUT 
(MAX – MIN)
La sortie de validation ENO fournit l'état logique 0 quand l'une des conditions suivantes est
vraie :
- L'entrée de validation EN fournit l'état logique 0 ;
- La valeur à l'entrée MIN est supérieure ou égale à la valeur à l'entrée MAX ;
- La valeur d'un nombre à virgule flottante indiqué se trouve en dehors de la plage des nombres
normalisés selon IEEE-754 ;
- La valeur à l'entrée VALUE est le résultat d'une opération de calcul non valide (NaN : not a
number).
4.7 Mise à l'échelle du résultat d’une conversion
L'instruction de mise à l'échelle permet de mettre à l'échelle la valeur résultante d’une opération
de conversion en la reproduisant sur une plage de valeurs spécifiée. Lors de l'exécution de
l'instruction «SCALE_X» prédéfinies par le logiciel Step7, le nombre à virgule flottante à
l'entrée VALUE est mis à l'échelle à la plage des valeurs qui ont été définie par les paramètres
MIN et MAX. Le résultat de la mise à l'échelle est un nombre entier qui est stocké à la sortie
OUT comme est montré à la Figure 4.4.

 
Enseignant : Ridha MAHJOUB 5 
 
Chapitre 4 Traitement des grandeurs analogiques par un API

 
Figure 4.4 – Bloc fonctionnel SCALE_X

Le bloc fonctionnel «SCALE_X» utilise l'équation suivante :

OUT [VALUE ∗ (MAX – MIN)] + MIN


La sortie de validation ENO fournit l'état logique 0 quand l'une des conditions suivantes est
vraie :
- L'entrée de validation EN fournit l'état logique 0 ;
- La valeur à l'entrée MIN est supérieure ou égale à la valeur à l'entrée MAX ;
- La valeur d'un nombre à virgule flottante indiqué se trouve en dehors de la plage des nombres
normalisés selon IEEE-754 ;
- Un débordement se produit ;
- La valeur à l'entrée VALUE est le résultat d'une opération de calcul non valide (NaN : not a
number).
Application 1 : Mesure de vitesse
La vitesse d’une machine tournante doit être enregistré dans une plage par le billet d’un
transducteur de mesure permettant le passage de l’intervalle [5001500] tr/min à une plage de
tension de [010] V.
Pour une vitesse mesurée de 865 tr/min, quelle est la valeur de la tension transmise par le
transducteur de mesure. En déduire le contenu numérique dans le registre Reg10.
Solution de l’application 1 :
La caractéristique de la réponse du transducteur est présentée par la figure suivante :

 
Enseignant : Ridha MAHJOUB 6 
 
Chapitre 4 Traitement des grandeurs analogiques par un API

Cette caractéristique est décrite par l'équation suivante :

U K.(N – N0)

On a : U= 0V lorsque N = 500 tr/min et U= 10V lorsque N = 1500 tr/min, d’où :


10
10
1500 500

‐ Pour : N = 500 tr/min  10 ∗ 500 500 0 ;


‐ Pour : N = 1500 tr/min  10 ∗ 1500 500 10 .

D’où alors : N = 865 tr/min  10 ∗ 865 500 3.65 .

Cette grandeur analogique sera traitée par l’entrée analogique de l’API pour qu’elle soit lue
puis convertie en une information numérique (Conversion analogique numérique) cela signifie
que la valeur de la tension et de 3.65V sera stockée en tant qu’information numérique dans le
registré d’entrée Reg10.
27648 27648
∗U ∗ 3.65 10091
10 10
Application 2 : contrôle de niveau de citerne
Le niveau d’un liquide dans une citerne est convertir en une tension allant de [0+10V] par un
capteur au quel est associé un transducteur de mesure.
Le transducteur est connecté à la première entrée analogique du Simatic S7-1200 au niveau du
quel le signal analogique doit être converti, normalisé et mis à l’échelle.
Proposer un programme Step7 qui répond aux conditions suivantes :
‐ 0V correspond à un niveau de 100 litres et +10V correspond à un niveau de 1000 litres ;
‐ Le niveau maximum permissible est 990 litres et le niveau minimum permissible est 110
litres.
Solution de l’application 2 :
Les variables locales nécessaires pour cette application sont :

Adresses Variables Types Commentaires


%IW64 niveau_citerne_EA Entier Niveau de la citerne
%Q0.0 citerne_max Booléen Signalisation
niveau > 990 litres
%Q0.1 citerne_min Booléen Signalisation
niveau <110 litres

Il est particulièrement important que les types de données correctes soient utilisés, puisque dans
la suite du programme, ils doivent être compatibles avec les fonctions de conversion utilisées.  
Après avoir déclaré les variables locales on écrit le programme en l’adressage symbolique des
variables. 

 
Enseignant : Ridha MAHJOUB 7 
 
Chapitre 4 Traitement des grandeurs analogiques par un API

 
Enseignant : Ridha MAHJOUB 8 
 
 

Vous aimerez peut-être aussi