0% ont trouvé ce document utile (0 vote)
62 vues23 pages

API Industrielle

Le document présente les automates programmables industriels, définissant leurs caractéristiques techniques, leur fonctionnement et les langages de programmation associés. Il aborde leur rôle dans les systèmes automatisés, les critères de choix, ainsi que leur architecture matérielle et logicielle. Enfin, il décrit les langages de programmation spécifiques aux API, notamment le langage ST et le langage IL, tout en soulignant l'importance de la norme CEI 1131-3 pour la cohérence des langages.

Transféré par

mounir.ezziki.ca
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
62 vues23 pages

API Industrielle

Le document présente les automates programmables industriels, définissant leurs caractéristiques techniques, leur fonctionnement et les langages de programmation associés. Il aborde leur rôle dans les systèmes automatisés, les critères de choix, ainsi que leur architecture matérielle et logicielle. Enfin, il décrit les langages de programmation spécifiques aux API, notamment le langage ST et le langage IL, tout en soulignant l'importance de la norme CEI 1131-3 pour la cohérence des langages.

Transféré par

mounir.ezziki.ca
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Module : Automate programmable M2_MCIL/ESE/ UNIV.

BBA CHETOUAH Farouk

LES AUTOMATES PROGRAMMABLES


INDUSTRIELS.

Objectif du thème
- Définir les caractéristiques techniques et le fonctionnement de
l'automate et les langages de programmation.

1- Introduction: Banc de contrôle industriel BCI

La technologie câblée souffre d’un certain nombre de limitation :


 Leurs encombrement (poids et volume) ;
 La difficulté de maitriser des problèmes complexes ;
 La complexité de recherche des pannes ;
 Le changement de câblage dans le cas de changement de mode
de fonctionnement du système.

a- Définition

Un système automatisé comporte de nombreux constituants:


- Actionneurs: moteurs, vérins...;
- Pré actionneurs: contacteurs, variateurs de vitesse, distributeurs...;
- Capteurs de tous types: détecteurs, interrupteurs de position, capteurs
numériques...;
- Pupitre de commande;
- Terminaux d’intervention..,
L’automate programmable est au cœur de ce système, en liaison avec ces
nombreux constituants.

D'après la définition de la norme française EN 61131-1 :


« Système électronique fonctionnant de manière numérique, destiné à être
utilisé dans un environnement industriel, qui utilise une mémoire
~1~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

programmable pour le stockage interne des instructions orientées utilisateur


aux fins de mise en œuvre de fonctions spécifiques, telles que des fonctions
de logique, de mise en séquence, de temporisation, de comptage et de calcul
arithmétique, pour commander au moyen d’entrées et de sorties Tout-ou-
Rien ou analogiques divers types de machines ou de processus.
L’automate programmable et ses périphériques associés sont conçus pour
pouvoir facilement s’intégrer à un système d’automatisme industriel et être
facilement utilisés dans toutes leurs fonctions prévues ».

b- Son rôle

— un rôle de commande, élaborant des actions, suivant une algorithmique


appropriée, à partir des informations que lui fournissent des capteurs
(analogiques ou numériques) ;
— un rôle de communication dans le cadre de la production :
• avec des opérateurs humains : c’est le dialogue d’exploitation,
• avec d’autres processeurs, hiérarchiquement :
Supérieurs (calculateur de gestion de production) ou
Égaux (autres automates intervenant dans la même chaîne) ou
Inférieurs (instrumentation intelligente).

2- Critères de choix d’un A.P.I


Le choix d’un A.P.I est fonction de la partie commande à programmer.
On doit tenir compte de plusieurs critères :
- Nombres d’entrées/sorties
- Le temps de traitement.
- La capacité de la mémoire.
- Le nombre d’étapes ou d’instructions.
- Le nombre de compteurs.
- Le nombre de temporisateurs.

3- Constitution et architecture générale d'un A.P.I


Un A.P.I se compose essentiellement de trois grandes parties :
- Le processeur
- La zone mémoire
- Les interfaces entrées/sorties
Ces trois parties sont reliées entre elles par des BUS.

Lorsqu'on fait un programme, on peut choisir un langage évolué (Ladder,


Grafcet, Logigramme).
Les AP ne comprenant que les langages en liste d'instructions, il faut
compiler votre programme avant de la transférer dans l'AP.

~2~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Pour étudier cet équipement connecté à des systèmes réels en milieu


industriel, il nous faut passer en revue l’aspect matériel, l’aspect logiciel:

3.1- Matériel
La structure matérielle interne d’un API est donnée au schéma de la figure 1.

Figure 1 : Architecture d’un API

Nous analyserons chacun des composants qui apparaissent sur ce schéma.

3.1.1- Le processeur

Cœur de l’appareil (cerveau de l’automate); il gère l’ensemble des relations


entre la zone mémoire et les interfaces.
 Lecture des informations d’entrée.
 Exécution des instructions du programme contenue en mémoire.
 Commandes des sorties

L’UC assure au moins les fonctions suivantes:


— opérations logiques sur bits (binary digit) ou sur mots (16 bits).
— temporisation et comptage.

Pour assurer la liaison entre l’UC et les cartes d’entrées/sorties, un réseau,


ou certaines consoles, il faut une carte d’interfaçage: le coupleur.

~3~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

3.1.2- Le module d’entrées/sorties (interface E/S)

Ils assurent le rôle d’interface de la partie commande et de la partie


opérative, où les actionneurs agissent physiquement sur le processus.
Elles sont destinées à :
- Recevoir l’information en provenance du capteur.
- Le signal électrique reçu doit être analysé par l’interface avant d’être
transmis à U.C par le bus.
- Traiter le signal en le mettant en forme, en éliminant les parasites et en
isolant électriquement les signaux logiques des signaux de la P.O par un
coupleur opto-électronique.
Pour ce faire, ils doivent :
- Regrouper des variables de même nature (diminuer complexité et coût ).
- Assurer le dialogue avec l’UC ;
- Traduire les signaux industriels en informations API et avec une
protection de l’UC et un traitement adéquats.
Beaucoup d’automates assurent cet interfaçage par des modules amovibles
comportant un nombre fixé et limité de voies d’un certain type.

Figure 2 : Partie opérative et partie commande

3.1.3- La mémoire (éléments de stockage)

La mémoire est organisée pour :


- Recevoir des informations issues des capteurs d’entrée
- Recevoir des informations générées par le processeur et destinées à la
commande des sorties ( valeur des compteurs, des temporisateurs…)
(mémoires de données).
- Recevoir et conserver les informations établies sous la forme d’un
programme (mémoire programme).
La mémoire vive (RAM) est volatile mais secourue par batterie.
La mémoire morte (ROM) dont l’utilisateur ne peut que lire le contenu:

~4~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

- Programmable une fois (PROM) qui contient le système d’exploitation.


- Reprogrammables plusieurs fois (EPROM).
La capacité de stockage d’une mémoire s’exprime en kilooctets (Ko):
1 Ko = 1024 ´ 8 bits.
La mémoire d'automate est très inférieure à celle de microordinateur.

3.1.4- La liaison (BUS)

Les liaisons s’effectuent :


— avec l’extérieur par des borniers (à visser, à clipser, etc.) sur lesquels
arrivent des câbles transportant le signal électrique ;
— avec l’intérieur par des bus, liaisons parallèles entre les divers éléments,
il peut y avoir plusieurs bus, car on doit transmettre des données, des états,
des adresses.
Les informations présentes sur les bus sont codées, d’où des systèmes
d’encodage et de décodage.
— les liaisons avec d’autres processeurs.

3.1.5- Auxiliaires

Il s’agit principalement :

— de l’alimentation électrique qui a pour rôle de fournir les tensions


continues que nécessitent les composants (5 V, 12 V…) avec de bonnes
performances, notamment face aux microcoupures du réseau.
Sa source d’énergie est parfois du 24 V continu.
Il ne faut pas oublier que les châssis d’extension et les entrées/sorties
déportées doivent aussi disposer d’une alimentation.
Il est parfois nécessaire, pour lutter contre les perturbations électriques,
d’introduire un transformateur d’isolement.
Un onduleur évite les risques de coupure si celles-ci risquent de dépasser
les tolérances admises.

— d’un ventilateur indispensable dans les châssis pour assurer une


température ambiante ( moins de 40 °C).

— du support mécanique. Il peut s’agir d’un rack (structure métallique


accueillant des cartes avec généralement un raccordement arrière),
l’automate se présentant alors sous forme d’un ensemble de cartes, d’une
armoire, d’une grille et des fixations correspondantes;

— d’indicateurs d’état concernant la présence de tension, l’exécution du


programme (mode RUN), la charge de la batterie, le bon fonctionnement des
coupleurs…

~5~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

3.2 Programmation

C’est un des atouts majeurs des API puisqu’elle permet une multitude de
traitements des informations reçues sans toucher à la configuration
matérielle. Certaines modifications peuvent même s’effectuer alors que
l’automate est en marche.
Il faut toutefois comprendre le fonctionnement du processeur, qui impose
certaines contraintes et choisir le langage le plus approprié dans le cadre du
problème à résoudre.

3.2.1 Déroulement du programme

Exemples

1- La taille maximale standard offerte pour les programmes utilisateurs


varie de 6 à 240 Ko pour les ALSPA 80-35.

2- La mémoire RAM du nano-automate TSX07 peut ainsi stocker 1000


lignes de programme en langage « Liste d’instructions », mais 500 en
langage à contacts ; elle peut aussi recevoir 256 mots variables de 16 bits, 64
mots constants, 128 bits internes.

Figure 3 : Ordonnancement des tâches

Il doit assurer en permanence un cycle opératoire qui comporte trois


types de tâches :

— l’acquisition de la valeur des entrées (lecture) ;


— le traitement des données ;
— l’affectation de la valeur des sorties (écriture).

~6~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Le premier et le troisième point s’effectuent par mise en


communication successive de chacune des voies d’entrée ou de sortie
(scrutation).

L’exécution des instructions se fait dans l’ordre de leur rangement dans la


mémoire programme ; l’incrémentation d’un compteur ordinal contenant
initialement l’adresse du début de mémoire permet le passage à l’instruction
suivante, sauf si un « saut avant » permet de se positionner plus loin, à une
adresse plus élevée, en n’exécutant pas un ensemble d’instructions.

Le cas le plus simple est celui où les tâches s’effectuent dans l’ordre indiqué
figure 3, cas a.

D’autres modes de gestion des tâches sont possibles (figure 4, cas b et c ).


Ces procédures posent le problème du synchronisme ou de l’asynchronisme
du fonctionnement de l’automate.

Dans le premier cas, le système est dit synchrone par rapport aux entrées et
aux sorties, ce qui signifie que tous les changements se font en même temps
: pendant le traitement, les E/S conservent la même valeur. Dans les autres
cas, une variable peut prendre différentes valeurs en différents points du
programme. Par contre, ces solutions peuvent raccourcir le temps de réaction
de l’automate à un événement, matérialisé par le changement d’état d’une
variable TOR.

Cela explique des aberrations apparentes telles le fait qu’une équation


fournisse un résultat faux pendant un cycle ou une portion de cycle.
Vis-à-vis de l’extérieur, la référence de cadence n’est pas l’horloge du
processeur, beaucoup trop rapide, mais le temps de scrutation (temps de
cycle).

3.2.2- Langages de programmation

L’une des particularités des API est de se programmer dans des langages
spécifiques adaptés à leur champ d’activités, orientés problème, souvent
tournés prioritairement vers la manipulation de variables TOR ou
numérisées. Les premiers langages étaient inspirés des schémas à contacts
car s’adressant prioritairement à des personnels ayant reçu une formation
d’électriciens. En France, dès le début des années 1980, sont apparus des
langages issus du GRAFCET.
Dans tous les cas régnait la plus grande hétérogénéité entre constructeurs, et
même, chez un même constructeur, entre différentes séries. Le besoin de
cohérence et la percée des outils informatiques (PC) à possibilités
graphiques ont entraîné une évolution qui s’est traduite par la promulgation
de la norme CEI 1131-3 reprise dans la norme française EN 61131-3.
~7~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Celle-ci n’unifie pas les langages, n’assure pas la portabilité d’une machine à
une autre car elle ne définit pas de classes de conformité, mais assure un
minimum de clarté et instaure des règles dans ce domaine. Elle définit le
logiciel suivant trois entités, présentées ci-après dans un ordre ascendant :
— la fonction (par exemple, le ET booléen, la comparaison de valeurs
numériques), à sortie unique ;
— le bloc fonction, composant logiciel réutilisable dans tous les langages
(par exemple, un compteur), qui peut comporter plusieurs sorties ;
— le programme. Elle fixe le mode de représentation des variables, des
constantes numériques, des dates et durées, des fonctions, des commentaires
non exécutables facilitant la lecture du programme, etc. Elle autorise quatre
types de langages, deux littéraux, deux graphiques, ainsi que des « éléments
de schéma » structurant les programmes (c’est à ce niveau qu’apparaît le
GRAFCET).

3.2.3- Mode de programmation

1. Langage ST

Le langage ST (Structured Text) est un langage textuel de haut niveau dédié


aux applications d’automatisation.
Ce langage est principalement utilisé pour décrire les procédures complexes,
difficilement modélisables avec les langages graphiques.
C’est le langage par défaut pour la programmation des actions dans les
étapes et des conditions associées aux transitions du langage
SFC.

Syntaxe
Un programme ST est une suite d’énoncés. Chaque énoncé est terminé par
un point-virgule (« ; »).
Les noms utilisés dans le code source (identificateurs de variables,
constantes, mots clés du langage ...) sont délimités par des séparateurs
passifs ou des séparateurs actifs, qui ont un rôle d’opérateur.
Des commentaires peuvent être librement insérés dans la programmation.
Les types d’énoncés standard sont :
— assignation (variable := expression;) ;
— appel de fonction ;
— appel de bloc fonctionnel ;
— énoncés de sélection (IF, THEN, ELSE, CASE) ;
— énoncés d’itération (FOR, WHILE, REPEAT) ;
— énoncés de contrôle (RETURN, EXIT) ;
— énoncés spéciaux pour le lien avec le langage SFC.

~8~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

2. Langage IL

Le langage IL (Instruction List), est un langage textuel de bas niveau.

Il est particulièrement adapté aux applications de petite taille.


Les instructions opèrent toujours sur un résultat courant (ou registre IL).
L’opérateur indique le type d’opération à effectuer entre le résultat courant
et l’opérande.
Le résultat de l’opération est stocké à son tour dans le résultat courant.

Syntaxe

Un programme IL est une liste d’instructions.


Chaque instruction doit commencer par une nouvelle ligne, et doit contenir
un opérateur, complété éventuellement par des modificateurs et, si c’est
nécessaire pour l’opération, un ou plusieurs opérandes, séparés par des
virgules (’,’).
Une étiquette suivie de deux points (’:’) peut précéder l’instruction.
Si un commentaire est attaché à l’instruction, il doit être le dernier élément
de la ligne.
Des lignes vides peuvent être insérées entre des instructions.
Un commentaire peut être posé sur une ligne sans instruction.

Exemples de lignes d’instruction

Étiquette Opérateur Opérande Commentaire


Début: LD IX1 (* bouton poussoir *)
ANDN MX5 (* commande valide *)
ST QX2 (* lance moteur *)

3. Langage SFC

Le langage SFC (Sequential Function Chart), ou GRAFCET, est un langage


graphique utilisé pour décrire les opérations séquentielles. Le procédé est
représenté comme une suite connue d’étapes (états stables), reliées entre
elles par des transitions.

Une condition booléenne est attachée à chaque transition.

Les actions dans les étapes sont décrites avec les langages ST, IL, LD ou
FBD.

4. Langage FBD
Le langage FBD (Function Block Diagram) est un langage graphique.

~9~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Il permet la construction d’équations complexes à partir des opérateurs


standards, de fonctions ou de blocs fonctionnels.

Format du diagramme FBD


Le diagramme FBD 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 fonctions
élémentaires. Les variables d’entrée et de sortie sont connectées aux boîtes
fonctions par des arcs de liaison. Une sortie d’une boîte peut être connectée
sur une entrée d’une autre boîte.

5. Langage LD
Le langage LD (Ladder Diagram) 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.
Les diagrammes LD sont limités à gauche et à droite par des barres
d’alimentation.

Les composants graphiques élémentaires d’un diagramme LD sont :

Barre d'alimentation à gauche.


Barre d'alimentation à droite.
Arc de liaison horizontal.
Arc de liaison vertical.
Liaisons multiples verticales et horizontales.
Contact associé à une variable.
Relais associé à une variable de sortie ou interne.

~ 10 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

5.1 Barre d’alimentation

Un diagramme LD est limité sur la gauche et la droite par des lignes


verticales appelées respectivement barre d’alimentation à gauche et barre
d’alimentation à droite.

Les symboles du diagramme LD sont reliés entre eux et aux barres


d’alimentation par des arcs de liaisons verticaux ou horizontaux.

Chaque segment de liaison peut prendre l’état booléen FALSE ou TRUE.


L’état d’une liaison est propagé dans toutes ses extrémités à droite. Toute
liaison horizontale connectée à la barre d’alimentation à gauche a l’état
booléen TRUE.

5.2 Liaison multiple

La combinaison de liaisons horizontales et verticales permet la construction


de liaisons multiples. L’état aux extrémités d’une liaison multiple respecte
des règles logiques.

Une liaison multiple à gauche

Combine plusieurs liaisons horizontales connectées à gauche d’une liaison


verticale, et une seule liaison horizontale à droite. L’état de l’extrémité à
droite est le résultat du OU logique entre les états des extrémités à gauche.

Exemple de liaison multiple à gauche

(* État de l’extrémité droite : (v1 OR v2 OR v3) *)

~ 11 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Une liaison multiple à droite

Combine une seule liaison horizontale connectée à gauche d’une liaison


verticale, et plusieurs liaisons horizontales à droite. L’état de l’extrémité à
gauche est propagé dans toutes les extrémités à droite.

Exemple de liaison multiple à droite

(* Équivalence ST *)
output1 := input1;
output2 := input1;

Une liaison multiple à gauche et à droite


Combine plusieurs liaisons horizontales connectées à gauche d’une liaison
verticale, et plusieurs liaisons horizontales à droite. L’état de chacune des
extrémités à droite est le résultat du OU logique entre les états des
extrémités à gauche.

Exemple de liaison multiple à gauche et à droite

(* Équivalence ST *)
output1 := input1 OR input2;
output2 := input1 OR input2;
output3 := input1 OR input2;

5.3 Contacts et relais

Les types de contacts

Suivants peuvent être utilisés dans un diagramme :


— contact direct ;
— contact inversé ;
— contact à détection de front.

~ 12 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Les types de relais

Suivants peuvent être utilisés dans un diagramme :


— relais direct ;
— relais inversé ;
— relais à forçage de type SET ;
— relais à forçage de type RESET ;
— relais à détection de front.

Le nom de la variable

Associée est inscrit au-dessus du symbole graphique :

5.3.1 Contact direct

Un contact direct représente une opération entre l’état d’un arc de liaison et
une variable booléenne.

L’état de la liaison à droite est le résultat du ET logique entre l’état de la


liaison à gauche et la valeur de la variable associée au contact.

Exemples de contacts directs

(* Équivalence ST *)
output1 := input1 AND input2;

5.3.2 Contact inversé

Un contact inversé représente une opération entre l’état d’un arc de liaison et
l’inverse logique d’une variable booléenne.

~ 13 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

L’état de la liaison à droite est le résultat du ET logique entre l’état de la


liaison à gauche et l’INVERSE logique de la valeur de la variable associée
au contact.

Exemples de contacts inversés

(* Équivalence ST *)
output1 := NOT (input1) AND NOT (input2);

5.3.3 Contact à détection de front positif

Un tel contact représente une opération entre l’état d’un arc de liaison et le
passage à l’état TRUE d’une variable booléenne : front montant.

L’état de la liaison à droite prend l’état TRUE quand l’état de la liaison à


gauche est à TRUE et que l’état de la variable associée passe de FALSE à
TRUE. Il prend l’état FALSE dans tous les autres cas.

Exemple de contact à détection de front positif

(* Équivalence ST *)
ouput1 := input1 AND (input2 AND NOT (input2prev));
(* input2prev est la valeur de input2 au cycle précédent *)

5.3.4 Contact à détection de front négatif


Un tel contact représente une opération entre l’état d’un arc de liaison et le
passage à l’état FALSE d’une variable booléenne : front descendant.

L’état de la liaison à droite prend l’état TRUE quand l’état de la liaison à


gauche est à TRUE et que l’état de la variable associée passe de TRUE à
FALSE. Il prend l’état FALSE dans tous les autres cas.

~ 14 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Exemple de contact à détection de front négatif

(* Équivalence ST *)
ouput1 := input1 AND (NOT (input2) AND input2prev);
(* input2prev est la valeur de input2 au cycle précédent *)

5.3.5 Relais direct


Un relais direct permet le forçage d’une sortie booléenne avec l’état d’un arc
de liaison.

La variable associée est forcée à l’état de la liaison à gauche.


L’état de la liaison à gauche est propagé dans la liaison à droite.
La liaison à droite peut être connectée à la barre d’alimentation à droite.
La variable booléenne associée doit être de sortie ou interne.
Le nom de la variable associée peut être le nom du programme édité (pour
les fonctions seulement).
Dans ce cas, le relais représente l’affectation de la valeur renvoyée par la
fonction.

Exemple de relais directs

(* Équivalence ST *)
output1 := input1;
output2 := input1;

5.3.6 Relais inversé

Un relais inversé permet le forçage d’une sortie booléenne avec l’inverse


logique de l’état d’un arc de liaison.

~ 15 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

La variable associée est forcée à l’inverse logique de l’état de la liaison à


gauche. L’état de la liaison à gauche est propagé dans la liaison à droite.
La liaison à droite peut être connectée à la barre d’alimentation à droite.
La variable booléenne associée doit être de sortie ou interne.
Le nom de la variable associée peut être le nom du programme édité (pour
les fonctions seulement).
Dans ce cas, le relais représente l’affectation de la valeur renvoyée par la
fonction.

Exemple de relais inversé

(* Équivalence ST *)
output1 := NOT (input1);
output2 := input1;

5.3.7 Relais à action SET

Un relais à action SET permet le forçage d’une sortie booléenne en fonction


de l’état d’un arc de liaison.

La variable associée est forcée à TRUE quand la liaison à gauche prend


l’état TRUE. La variable garde cette valeur jusqu’à un ordre inverse donné
par un relais de type RESET.
L’état de la liaison à gauche est propagé dans la liaison à droite.
La liaison à droite peut être connectée à la barre d’alimentation à droite.
La variable booléenne associée doit être de sortie ou interne.

5.3.8 Relais à action RESET

Un relais à action RESET permet le forçage d’une sortie booléenne en


fonction de l’état d’un arc de liaison.

La variable associée est forcée à FALSE quand la liaison à gauche prend


l’état TRUE.

~ 16 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

La variable garde cette valeur jusqu’à un ordre inverse donné par un relais
de type SET.
L’état de la liaison à gauche est propagé dans la liaison à droite. La liaison à
droite peut être connectée à la barre d’alimentation à droite.
La variable booléenne associée doit être de sortie ou interne.

Exemple de relais à action SET et RESET

(* Équivalence ST *)
IF input1 THEN
output1 := TRUE;
END_IF;
IF input2 THEN
output1 := FALSE;
END_IF;

5.3.9 Relais à détection de front montant


Un relais positif permet le forçage d’une sortie booléenne en fonction de
l’état d’un arc de liaison.

La variable est forcée à TRUE quand la liaison à gauche passe de l’état


FALSE à l’état TRUE : front montant.
La variable est remise à FALSE dans tous les autres cas.
L’état de la liaison à gauche est propagé dans la liaison à droite.
La liaison à droite peut être connectée à la barre d’alimentation à droite.
La variable booléenne associée doit être de sortie ou interne.

Exemple d’utilisation d’un relais positif

(* Équivalence ST *)
IF (input1 and NOT (input1prev)) THEN
output1 := TRUE;
ELSE

~ 17 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

output1 := FALSE;
END_IF;
(* input1prev est la valeur de input1 au cycle précédent *)

5.3.10 Relais à détection de front descendant

Un relais négatif permet le forçage d’une sortie booléenne en fonction de


l’état d’un arc de liaison.

La variable est forcée à TRUE quand la liaison à gauche passe de l’état


TRUE à l’état FALSE : front descendant.
La variable est remise à FALSE dans tous les autres cas.
L’état de la liaison à gauche est propagé dans la liaison à droite.
La liaison à droite peut être connectée à la barre d’alimentation à droite.
La variable booléenne associée doit être de sortie ou interne.

Exemple d’utilisation d’un relais négatif

(* Équivalence ST *)
IF (NOT(input1) and input1prev) THEN
output1 := TRUE;
ELSE
output1 := FALSE;
END_IF;
(* input1prev est la valeur de input1 au cycle précédent *)

5.4 L’énoncé RETURN


Le symbole RETURN peut être utilisé pour représenter une fin
conditionnelle de l’exécution du programme. Aucune liaison ne doit être
tracée à droite du symbole RETURN.

Si l’état de la liaison à gauche est TRUE, la suite du diagramme LD (lignes


suivantes) n’est pas interprétée.

~ 18 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Exemple d’utilisation du symbole RETURN

(* Équivalence ST *)
If NOT (manual_mode) THEN RETURN; END_IF;
result := (input1 OR input3) AND input2;

5.5 Sauts et étiquettes

Les étiquettes, les sauts conditionnels ou inconditionnels, sont utilisés pour


contrôler l’exécution du diagramme.
Aucune connexion ne peut être réalisée à droite d’un symbole d’étiquette ou
de saut.

>>LAB : saut à l’étiquette de nom « LAB ».


LAB: : définition de l’étiquette « LAB ».

Si la liaison à gauche du symbole de saut prend l’état TRUE, l’exécution du


programme est déroutée après l’étiquette correspondante.

Exemple d’utilisation de saut et d’étiquette

(* Équivalence IL *)
Idn manual_mode
jmpc OTHER
Id input1
st result
jmp END
OTHER: Id input2
st result
END: (* fin de programme *)

~ 19 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

5.6 Blocs

Des boîtes fonctions, ou blocs, peuvent être connectées aux lignes


booléennes.
Il peut s’agir d’opérateurs, de blocs fonctionnels ou de fonctions.
Comme un bloc n’a pas forcément une entrée ou une sortie booléenne, son
insertion dans un diagramme LD peut entraîner l’ajout automatique de
nouveaux paramètres à l’interface.

L’entrée EN

La première entrée de certains opérateurs, blocs fonctionnels ou fonctions,


n’est pas du type booléen et ne peut donc pas être connectée à une ligne LD
booléenne.
Donc, pour ces blocs, une entrée supplémentaire booléenne est ajoutée
comme premier paramètre d’entrée.
Elle porte le nom EN. Dans ce cas, le bloc est exécuté uniquement si l’entrée
EN reçoit un signal TRUE.

Exemple du bloc comparateur

(*Équivalence ST*)
IF etat_ligne THEN
q := (value1 > value2);
ELSE
q := FALSE;
END_IF;
(* la liaison à droite prend l’état de q *)

La sortie ENO
La première sortie de certains opérateurs, blocs fonctionnels ou fonctions,
n’est pas du type booléen, et ne peut donc pas être connectée à une ligne LD
booléenne.
Donc, pour ces blocs, une sortie supplémentaire booléenne est ajoutée
comme premier paramètre de sortie.
Elle porte le nom ENO et prend toujours l’état de la première entrée du bloc.

~ 20 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Exemple du bloc AVERAGE

(* Équivalence ST *)
AVERAGE(etat_ligne, Signal, 100);
OutSignal := [Link];
eno := etat_ligne;
(* la liaison à droite prend l’état de ENO *)

Les paramètres EN et ENO


Dans certains cas, les deux paramètres EN et ENO sont ajoutés.

Exemple d’un opérateur arithmétique

(* Équivalence ST *)
IF etat_ligne THEN
result := (value1 + value2);
END_IF;
eno := etat_ligne;
(* la liaison à droite prend l’état de ENO *)

6- Systèmes d’automatisation

La gamme des nouveaux SIMATIC S7 comprend les systèmes


d’automatisation suivants:

SIMATIC S7-200

Le SIMATIC S7-200 est un micro-automate compact d’entrée de gamme. Il


possède un progiciel qui lui est propre et n’a pu être pris en compte dans la
suite de ce manuel, les propriétés du système S7-200 ne supportant pas une
conversion logicielle des programmes S5 en programmes S7.

~ 21 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

SIMATIC S7-300

Le mini-automate modulaire SIMATIC S7-300 fait encore partie de l’entrée


de gamme.

SIMATIC S7-400

Le SIMATIC S7-400 couvre le milieu, le haut et le très haut de gamme.


Pour faciliter l’orientation, les modules du S7-300 commencent par un 3 et
les modules du S7-400 commencent par un 4.

Figure 4 : Systèmes d’automatisation SIMATIC

Modules S7
Tout comme la gamme des SIMATIC S5 qu’elle vient compléter, la gamme
SIMATIC S7 mise sur la modularité bien éprouvée.
Vous trouvez les types de modules suivants :
• Unités centrales (CPU),
• Modules d’alimentation (PS),
• Coupleurs (IM),
• Processeurs de communication (CP) ; (par exemple pour le raccordement à
PROFIBUS),
• Modules de fonction FM ; (par exemple de comptage, régulation,
positionnement etc.),
• Les modules d’entrées/sorties TOR ou analogiques sont maintenant appelés
des modules de signaux (SM).

~ 22 ~
Module : Automate programmable M2_MCIL/ESE/ UNIV. BBA CHETOUAH Farouk

Caractéristiques techniques des CPU S7-300

7. Conclusion

L’automate est un bon produit, facile à programmer, à connecter, adapté aux


conditions industrielles.
Il ne faut pas vouloir en faire une solution miracle. Dans tous les cas :
— une bonne analyse du problème à résoudre ;
— le respect des règles d’installation ;
— un léger surdimensionnement pour préserver des marges de modification,
sont les conditions d’une implantation réussie, dont la durée de vie dépassera
largement celles habituelles dans le monde informatique, dont l’API est pour
partie issu.

~ 23 ~

Vous aimerez peut-être aussi