0 ratings0% found this document useful (0 votes) 50 views29 pagesInitiation PL7
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Initiation 4 PL7 (Micro/Junior/Pro)
1 ~Généralités page 2
2—Programation page 2
3— Structure ’un programme monotiche page 4
4 Structure d’un programme multitéches page 5
5 —Le langage a relais LD page 6
5-1 Temporisateur
5-2 Compteur~ décompteur
5-3 Opérations et comparaisons
6~ Le langage Grafeet page 11
7 — Quelques bits systéme dutilisation simple page 14
8—Exemple simple page 15
9—Exemple d’application complete page 18
10 —Le langage littéral structuré ST page 20
11 ~Les blocs de fonctions DEB page 23
12 Utilisation de tableaux page 26
13 — Utilisation de Phorodateur page 27
JB - Initiation & PL7 Micro.Initiation 4 PL7 (Micro/Junior/Pro)
1-GENERALITES.
Ce logiciel est conforme a la norme IEC 1131-3.
1 permet entre autres, d’écrire des applications pour les automates TSX37 et les automates TSXS7. La
version PL7 PRO comporte quelques fonctionnalités supplémentaizes par rapport a PLT Micro et Junior. Dans
les trois cas, plusicurs langages de programmation sont ulilisables
= Le langage graphique & relais LD (appelé aussi langage @ contacts ou "iadéer"), qui utilise des contacts, des
bbobines et des blocs (temporisations, compteurs, etc). LiGriture de caleuls numériques est possible dans des
blocs opérations ;
= Le langage Booléen (IL) sous forme d'une liste instructions qui permet décrire des traitements logiques et
nnutnérigues (ressemble a la programmation d'un micro-contrSleur) ;
~ Le langage litéral structaré (ST) ressemble & un langage d'informatique évolué (Junior/Pr0) ;
~ Legrafeet
Le programme réalisé peut avoir une structure monotiche ou multitiche,
= Structure monotiiche : C'est la structure par défaut, Elle comporte seulement une tiche maitre exéeutée
cycliquement (mode par défaut) ou périodiquement (période fixée par lutilisateur) ;
~ Structure multitaehe : A utiliser quand le processus commandé comporte des priorités. dexécution
différentes Elle comprend ta tiche maitre, la téche rapide (facultative) et une ou plusieurs taches
Gvénementielles. La tiche rapide, exécutée périodiquement, permet deffectuer des traitements courts avec
lune priorité plus élevée que pour la tiche maitre. Lorsquelle est programmée, elle est automatiquement
laneée par le systéme au démarrage, Eile peut étre arrét&e et redémarrée par action sur un bit systéme, Les
tiches événementiclles ne sont pas liées & une période comme les tiches précédemment décrites, Leur
cextcution est décienchée par un appel en provenance de certains modules, Ces taches sont les plus
Prioritaires. Le traitement qu'elle doivent assurer est nécessairement court afin de ne pas perturber V'exécution
‘des autres taches.
Les tiches du programme sont elles méme subdivistes en plusieurs parties appelées sections, et en sous-
programmes, Les sous-programmes peuvent étre appelés & partir de nimporte quelle section de la tiche A
laquelle ils apparticnnent ou depuis d'autres sous-programmes de la méme tache,
Les instructions de PL7-MICRO comprennent des instructions de base (celles que nous utiliserons en T.P.) et
des instructions avancées.
2 -PROGRAMMATION.
Lors de Ja programmation, on peut appeler les variables par leur nom (ex : %6Q2.5) mais il est possible
e leur donner une dénomination appropriée, composée d'une chaine de 32 caraotéres au maximum (ex :
sortie_3). Léditeur de variables permet détablir cette liste dassignation avec un commentaire pour chaque
variable,
Objets adressables.
Dune manitre générale, la lettre X signifie "booléen’, W signifie "mot" et D signifie “double mot’
Bits images des entrées : %IXn.i_ (On peut omettre le X),
Le nombre n est fe numéro de emplacement de la carte dentrée dans le « fond de panier » de automate,
JB - Initiation & PL7 Micro. 2‘est le numéro de la voie dentrée.
cexemples
%IX1.3 voie numéro 3 de la carte dentréesituée a Templacement 1,
961W1 Le mot de 16 bits image des 16 entrées de la carte située & Vemplacement 1
Bits images des sorties : %QXun.i_ (On peut omettre Ie X).
Le nombre n est le numéro de I'emplacement de la carte de sortie dans le « fond de panier » de Pautomate.
‘este numéro de la voie de sorte.
cexemples
%QX3.5 voie numéro 5 de la carte de sorte située & emplacement 3.
‘Les emplacements dans le bac des TSX37 ou 57 sont "demi-format". Leurs positions sont sehématisées ainsi
uc
Les 16 entrées disponibles de lautomate TSX37 utilisé en TP seront : %l1.0,., %I1.15 et les 12 sorties seront
%4Q2.0,.., %Q2-11 (la carte 16 entrées 12 sorties est au premier emplacement).
ts internes : %MUi (de %MO a %M255)
Bits systdme : %Si_ (de %S0 4 %S127)
Bits images des étapes de Grafeet : Xi (de 4X0 %X127)
‘Mots : Il existe des mots intemes destinés & stocker des valeurs en cours de programme, des mots constants,
‘mémorisant des valeurs numériques ou des données alphanumériques, t des mots systéme.
Ces mots sont tmités différemment lors dune reprise secteur, selon Ts configuration de Laatomate,
Exemples de mots
°%MBL octet interne n°1
°%NW3 mot interne n°3
°%MDS mot interne double n°8
Y%MEI2 mot inteme n°12, en format flottant (32 bits)
%KB1 octet constant N°L
°%KW3 mot constant n°3
°%SWIS mot systime 0°15
Les mots sont stockés dans une mémoire RAM différente de celle qui contient les bits (différence avez
Siemens). Le nombre de mots utilisables varie selon la configuration mémoire choisie pour !automate. La RAM
est secourue on cas d’arrét de Malimentation,
Attention aux “recouvrements" qui peuvent avoir lieu en cas de programmation maladroite
JB - Initiation & PLT Micro. 3“MBO ‘6MWO : poids faibles de %MDO
wo 6MWI : poids forts de %MDO
[ MBI
eee “Mine 24MWi se subdivise en deus octets appelés
uwi + %4MB2i et AMBRE (poids fables et poids
: %MB3 forts).
ee vans
awe
ves
vawpa a
vans [
‘BT
Bits extraits de mots : %MWi:Xj
Exemple : %MWO:X12 est le bit n°12 du mot %MWO. Si le mot %MWO a regu un nom alphanumérique sur la
liste d'assignation, par exemple "température", le bit %6MWO:X12 sappellera alors: "température:12"
(Ne pas confondre cette notation avec celle des tableaux ~ voir page 26),
3 - STRUCTURE D'UN PROGRAMME MONOTACHE.
Ici, une seule tiche appelde the maitre (MAST). Le programme comprend un traitement principal
(lui méme subsivisé en sections) et des sous-programmes.
‘Chaque section es programmée comme une enti séparée. Elle peut éte érite en langage LD, IL, ST
04 Graftet, Avant de lécrite, i faut préciser :
~ son nom (24 caractéres maximum) ;
- le langage dans lequel elle est programmé
-latache a laquelle elle appartient;
- une condition dexécution optionnelle (%M, %X, %S, %, %Q
= un commentaire facultatif (250 caractéres);
une protection facultative (en lecture, en lecture/éeritur).
‘Une section est une entité autonome. Les éiquettes de repérage des lignes dinstrction ou des réseaux
de langage & reais, sont propres la section (pas de saut de programme possible vers une autre section).
‘Les sections sont exéoutées dans leur ordre de programmation dans la fenéte dt navigateur
Une section programmée en Grafcet comprend :
= le traitement préliminaire (PRL) éeriten LD, IL ou ST. I est exécuté avant le Grafvet.
- le Grafeet (CHART). Dans les pages Graftet, sont programmécs les réceptvités associges aux
transitions et les actions associges aux étapes.
= le traitement postéieur (POST) écrit en LD, IL ou ST. lest exéeutéaprés Te Grafee.
Les sous-programmes SRi (i de 0 4 253) se programment comme des entités séparées. Les appels aux
sous-programmes s‘effectucnt dans PRL, dans POST, dans les actions associées aux élapes et méme depuis
autres sous-programmes (8 imbrications maximum).
Le eycle d'exécution de Vautomate :
Leutomate état en "RUN", les opérations suivantes Sexécutent dans Tordre, dune fazon cyetique
1) ‘Traitement inteine (bits systtmes, horodateur, requétes en provenance de la console de
programmation).
2) acquisition des entrées,
3) traitement du programme.
IB - Initiation & PLT Micro. 44) mise & jour des sorties.
Ce type de fonctionnement correspond 4 lexécution normale du cycle automate (choix par défaut). Le
chion de garde (réglé 4 250 ms par défaut) vérifie que la durée du eyele ne dépasse pas cette limite (sinon, arrét
immédiat de Yautomate) It existe aussi un autre mode de fonctionnement dit "périodique” . Les traitements ci-
dessus ont alors fieu selon une périodicité choisie par Vuilisateur (1 & 255 ms). Il est possible de connate la
durée du temps de cycle automate (programmation avancée),
4 - STRUCTURE D'UN PROGRAMME MULTITACHE (auelques
sgénéralités.
Cette structure comprend
La tiche maite (MAST) pouvant étre cyclique ov périodiqu. Elle est structurée en sections et peut
conten une section crite en Grafeet.
La tiche rapide (FAST) optionnelle et toujours périodique. Ele est structurée en sections mais ne peut
pas contenir une section écrte en Grafeot.
Les traitements sur événement EVTi, lancés par le systéme d&s lapparition dun événement sur des
entrées définies & Tavance (une seule section doat le nom riest pas modifiable),
La tiche rapide (FAST) est prioritaire sur ta tiche maitre et les traitements sur événement son
Drioritaires sur la the rapide.
Des entrées et sorties devront tre affectées préalablement aux taches maitre et rapide. Des bits systmes
permettent de valider ou d'invalider le fonctionnement de ces différentes taches (%S30, %S31, 96838).
3B - Initiation & PLT Micro, 55-Le langage a relais LD (ou langage & contacts ou « ladder »).
(Ceest Ie langage Ie plus connu car Ie plus ancien. Il se compose d'une suite de "réseaux" exécutés en
séquence par V'automate. Le logiciel PL7-...... utilise un éditeur de langage 4 contact, organisé en pages de 7
lignes et 11 eolonnes.
On y utilise des contacts (entrées), des bobines (sorties), des temporisateurs, des compteurs, des boites
de calculs, etc. Ces éléments graphiques sont reliés entre eux par des connexions horizontales ct verticals.
Chaque réseau porte une étiquette qui a la syntaxe suivante : %Lit (i, de 0 4 999).
‘Une étiquette ne peut étre affectée qu’i un seul réseau au sein d'une méme entité de programme. Liordre des
Etiquettes est queleonque.
Les réseaux sont lus non pas dans Vordre des étiquettes, mais dans V'ordre de leur programmation, et, de
gauche & droite,
(On appelle "zone de tests" 1a partie gauche du schéma (colonnes 1 4 10) od se trouvent les contacts, et
‘on appelle "zone d'actions" Ia partie droite du schéma (colonne 11) oi se trouvent les bobines.
léments de tests:
\ contacts simples droit et inverse
P N contacts de front.
Les deux contacts ci-dessus détectent respectivement les fronts montants (P) et les fronts descendants
(N)- Attention, i leur fonctionnement
~ pour toutes les entrées T.O.R., un front est détecté lorsque l'état du bit a changé entre le cyole n-1 et le cycle n,
cen cours. Ce front reste détecté pendant tout le cycle en cours.
= pour un bit inteme %Mi, Ia détection du front est indépendante du cycle de la tiche. Le front est détecté
lorsque l'état de %Mi a changé entre deux lectures. Ce front reste détecté tant que ce bit %Mi n'est pas scruté en
zone action,
~ne jamais effectuer de SET ou RESET sur un objet dont on teste le front
4 }V}4s} 40}
D> 4 tranobement au ate réseau moot ou ava
Les sauls ne peuvent étre offectués quan scin dune méme entité (programme principal, sous
programme). Ils provoquent Texécution du réseau dont létiquette est demendée st la non scrutation du
programme situé entre la demande de seut et Ie réseau d&signé,
saeE bobine "diése" utilisse pour Ia programmation des réceptivités d'un grafcet.
appel A un sous programme (CALL)
—frer se place A la fin d'un sous programme
Le langage & relais utilise aussi des blocs fonctions standards : temporisateurs, compleurs, monostables,
blocs opérations (voir ci-dessous).
3B ~Initiation & PLT Micro. 6A chaque réseau, on peut essocier un commentaire (222 caractéres alphanumériques au maximum)
encadré par des astérisques. Les commentaires sont mémorisés dans lautomate, et, ce tte, ils consomment de
Js mémoire programme
5-1 Bloc fonction TEMPORISATEUR.
Nom: %TMi_ (63 au maximum pour un TSX37,solon base de temps)
‘Mode : Au choix TON, TOF et TP.
Base de temps : TB (1 ma par défaut, 1s, 100ms, 10ms, 16 temporisateurs au maximum si la base de temps est
10 ms).
‘Valeur courante: %TMiV mot qui croit de 0 & %TMiP sur écoulement du temporisateur, Ce mot peut étre lu,
testé, mais non écrit par programme.
Valeur de présélection : %TMi.P mot qui peut étre lu, testé et écrit par programme. It est mis i Ia valeur 9999
par défaut, La durée ou fe retard élaboré est %6TMiP x TB.
YIN : réglage possible ow non, parla console,
IN : entrée “armement” sur front montant (en TON ou TP) et sur front descendant (en TOF),
Q :sortic du temporisateur. Le bit associé est %STMi:Q.
5-1-1 Utilisation en mode "TON" :
Lors d'un front montant sur Yeatrée IN, le temporisateur est lancé. Sa valeur courante %STMiV eroit de
0 vers %TMI.P d'une unité, & chaque impulsion de 1a base de temps TB. Le bit de sortie %TMi.Q passe 4 état
Togique "1" dés que la valeur courante a atteint ¥6TMiP, puis reste "1" tant que IN reste "1",
Quand entrée IN est 4 "0", le temporisateur est arrété, Si le temporiseteur était en cours dévotutios, il
est stoppé. %TMi-V prend Ia valeur 0.
IN
sation en mode "TOF"
La valeur courante %IMiV prend la valeur 0 sur un front descendant de entrée TN, méme si ce
‘emporisateur est en cours d'évolution. Le temporisateur est lancé par le front descendant sur Venteée IN. La
valeur courante croit vers %TMi.P dune unité & chaque impulsion de 1a base de temps TB. Le bit de sortie
‘ATMEL passe & "1" ds qu'un front montant est détecté sur lentrée IN et retombe a "0" quand la valeur couraate
atteint TMP.
JB - Initiation & PLT Micro. 7IN
IMP,
6TMi.V
SL
Utilisation en mode "TP" (monostable):
Lors dun front montant sur Tentrée IN, le temporisateur est lancé (ill n'est pas déja en cours
dévolution). %TMi.V croit de D vers TMP dlune unité, & chaque impulsion de la base de temps TB. Le bit de
sortic %TMi.Q passe "1" ds que le temporisateur est lancé et retombe & "0" quand la valeur courante a atteint
‘%TMEi.P. Quand l'entrée IN et Ia sortie %STMi.Q sont 4 "0", %TMiLV prend la valeur "0".
a mul
Remarques générales
Une reprise "A froid” (%St
‘moditie pas a valeur courante
Le bit de sortie %TMI.Q ne doit etre testé qu'une seule fois dans le programme.
") remet la valeur courante & 0. Une reprise "i chaud” (9%81=!
5-2 Bloc fonction compteur-décompteur.
Nom : %Ci avee i de 031 pour un TSX 37.
Valeur courante : %Ci.V_ mot inerémenté ou décrémenté en fonction des entrées CU ou CD. Il peut étre Iu et
testé mais non écrit par programme.
Valeur de présélection :%4Ci,P 9999 par défaut. Cz mot peut étre lu, testé et éert par programme,
YIN : présélection réglable ou non par console,
Rz Si R= "1%, %CLY =.
S: Si S="1", CLV = %CLP
CU: Inerémente %Ci.V sur froxt montant
JB - Initiation & PLY Micro, 8CD : Décrémente %6Ci.V sur front montant.
E.: Sortie "débordement” (empty). Le bit associé %C1.E = "1" lo
(Ce bitest mis 4 “1” au moment of Ci.V vaut 9999, Il est remis
1e, en décomptage, %Ci.V passe de 04 9999
sie compteur continue de décompter)
D : Présélection alteinte, Le bit associé %CLD ="1" quand %4CiLV = %CLP.
F : Sortie "débordement” (ful). Le bit associé %Ci-F = "1" lorsque, en comptage, %Ci.V passe de 9999 & 0 (Ce
Dit est mis 4 "I" au moment oli Ci.V vaut 0. Il est remis & "0" si le compteur continue de compte).
Remarque : Quand il y a débordement, en comptage ou en décomptage, le bit systéme %S18 passe 8°"
Fonctionnement en comptage : A Tapparition d'un front montant sur Tentrée de comptage CU, la valeur
‘courante est incrémentée d'une unité. Lorsque cette valeur est égale & la valeur de présélection %Ci.P, le bit de
sortie %CiD (présélection atteinte) associé & la sortie D, passe & Tétat "I". Le bit de sortie %CiLF (débordement
‘comptage) passe & "1" lorsque %Ci.V passe de 9999 & 0. Il est remis "0" si le compteur continue de compte.
Fonctionnement en décomptage : A apparition d'un front montant sur fentrée de décomptage CD, la valeur
courante est décrémentée d'une unité. Le bit de sortie %Ci.E (débordement décomptage) passe & "I" lorsque
%CLV passe de 0 § 9999. Il est remis & "0" si le compteur continue de décompter.
‘Comptage/Décomptage : Pour utiliser simultanément les fonctions de comptage et de décomptage, il faut
commander les deux entrées CU et CD. Ces deux entrées sont scrutées successivement, Si elles sont & "I"
simullanément, la valeur courante reste inchangée,
Remise A zéro : Das ta mise "1" de R, la valeur courante %CLV est forcée & 0. Les sorties %CLE, %CLD ot
CLF sont 4 "0". Lientrée R est prioritaire sur les autres.
Présélection ; Si Tentrée § (présélcction) est A "I" et lentrée RA
"ACIP, et le bit de sortie %CLD prend la valeur
Ja valeur courante %CiLV prend la valeur
Remarque :
En cas de reprise "a froid” (%S0>"
En cas de reprise "a chaud" (%8
"), Ci.V=E
1") ou de passage en mode "STOP", pas
1 SCLE="0", ACLD="0", %CLE="0"
Vincidence sur %CiLV,
5-3 Blocs OPERATIONS ("OPERATE") et COMPARAISONS ("COMPARE"),
‘Traitements numériques sur des nombres entiors : (en zone opérstions).
nL
oMW 10M WOFMWD,
Si%IL.1
1" alors, %MW10 vaudra %MWO-+ %MW2
(On peut écrire des opérations de la forme : OPS:~(OP14OP2)*OP3-OP4
JB - Initiation & PLT Micro, 9Instructions de comparaison : (en zone de test)
(existe également un Bloc de comparaison quelquefois plus simple d'utilisation).
nl 602.3
eMWIO=100 ro.
tt Lt
Si%611.2 = "1" et si %MW10>100 alors %6Q2.3 vant "I"
On peut utiliser> ,
structions d'affectation : (en zone opérations)
ns
eMWI00:=100
VEMWIO%MWI2
Si%I1.3 ~ "1" alors %MWLOO sera égal a 100.
YOMW]LO sera égal & %MW12
(Les opérations d'affectations sont utilisables pour les mots simples, les mots doubles et les tableaux de bits).
Instructions arithmétiques sur les entiers : (cn zone opérations).
MI
INC %MWI00
Ip
1? t
MW 1:=SQRTCAMIWO)
Inctémenter %MW100 sur un front montant de %MI.
‘MW! est la racine carrée de %MWO.
(On peut utiliser : SQRT, INC, DEC, ABS, +, - , * (multiplication), / (division), et REM (teste de la division de
deux opérandes)
Dans te cas od un résultat dépasse les limites
“32768 ou +32767 pour un mot simple
2147483648 ou 42147483647 pour un mot double
le bit systtme %S18 (overflow) est mis & "1". Le résultat est non significatif. La gestion de %$18 se fait par le
programme utilisateur,
3B - Initiation & PLT Micro. 10Instructions logiques : (en zone opérations).
M1
1 oMWO:=%MW10 AND 16#FFOO
MWI=VKWS OR GMWIT
Instructions uilisables : AND (ET bit bid, OR (OU bita bit), KOR (OU EXCLUSIF bit bit), NOT
(complément logique bit & bit).
6 - Le langage Grateet.
Léditeur de langage Grafvet de PL7-.... dispose de tous les symboles nécessaires : Btapes initials et
tapes simples, transitions, choix de séquences ("et" ct "ou”), reavois d'origine et renvois de destination, liisons
oriontées,
Les objets spécifiques ufilisés parle langage Grafeet
“AX: Btape n°, (128 au maximum),
*6Xi-T : Temps dactivité de Tétape n°i en dixitmes de seconds (de 0 & 9999 dixiémes de secondes). A
la désactivation de l'étape, le contema de Xi.T est figé. A lactivation de Métape, Xi.T est remis a 2ér0 puis
incrémenté
Le nombre maximal de transitions est 1024, dont, au plus, 24 simultanées,
Le Grafeet se programme sur 8 pages (mumérotées de 0& 7). haque page Grafts ost constitu de 14
lignes et 11 colonnes Gui déinisset 154 cellules, Dans chaque cellule, lest posible erie un élément
staphique
La premidre ligne permet de sas les revois origne, etl demire line, ls eavois de destination
Les lignes paies (2412) pemettent dcr es apes eles renvois de destination. Las lignes impairs (813)
permettent d'écrire les transitions et les renvois d'origine.
Les és peuvent Gre mumérotées dant un ordre quelcongue, Une page peut comtnirplsieus
graphes,
Commentaires : Dans une page Grafeet, il est possible de saisir un commentaire dans n‘importe quelle
cellule, Le texte du commentaire est encadré par deux astérisques et sa taille maximale est de 64 caraotlres. Ce
commentaire consomme de la mémoire automate
Les actions associées aux étapes du Grafeet.
A chaque étape peuvent étre associes des actions programmables en langage a relais (également en IL
ct en ST). Ces actions ne sont exécutées que si létape & laquelle elles sont associée, est active. PLT a la
particularté do distinguer trois types dactions :
~ Les actions 4 Tactivation ou actions exécutées quand I'tape associte passe de l'état inactif& état actif
= Les actions & la désactivation ou actions exécutées quand l'étape associe passe de 'éat actif tat inactif.
Les actions continues ou actions exécutées quand I'étape associée est active.
Les actions @ activation ou a Ia désactivation sont impulsionnelles et exéeutées sur un seul tour de
cycle automate. Elles sont faites par exemple, pour appeler un sous programme ou pour inerémenter un
compteur, conditionneliement ou non,
4B - Initiation & PLT Micro. u‘Une action continue est mémorisée, Les variables logiques qui ont été positionnées dans un certain état
‘par cette action, le restent quand l'étape correspondance est désactivse. I! convient done de repositionnet ces
variables dans [état convenable, soit au moment de la d8sactivation de Ia présente étape, soit au moment de
activation de létape suivante.
I est possible par exemple, de faire un "SET" dune variable logique & activation dune étape, ct un
"RESET" de la variable & la désactivation de cette méme étape. Ceci peut étre pratique. Attention, en cas de
10
ma
Wi
Liaction 4 ne dure qu'une seconde :
%X4 COMPARE 024
KATO
m
uw
tion & PL7 Micro. 16Commande de a réceptivité temporisée en amont de X4
XI M1
Ts}
LSS
M1 42
HIN Q {
0x8.
XO M1
re}
LR
activation de XI va provoquer la mise 4 "1" de %MI.
24M va commander le temporisation %TMI (durée 60 secondes) méme si X1 est désactivée.
TMI va commander %M2 qui va servir a la programmation de la réceptivité précédant X4,
MI sera remis 4 "0" par XO,
Réceptivités : rites sront progaammées dans Tentité CHART.
entre XO et XI
1.0 r.
entre X1 et X2
611.4 [+ }
entre X2 et X3
pr.2 re
entre X3 et X0
pall.3 a
t
entre X2 et X4
pom. r,
entre X4 et X0
vans fae
JB Initiation & PLT Micro. a9- Exemple d'application.
(On réatise une guirlande avec cing lampes LO, L1, 1.2, L3, LA. La séquence de fonctionnement est : 0
L112 313 914-9 13 9 12 911 0 > L112 4 13 > LA ete, Chagne lampe doit rester
allumée pendant une seconde. Un intervaile dextinction de une demi-seconde existe entre chaque lampe. Ces
cing lampes seront commandées par les cing sorties Q2.0 ... Q2.4. L'entrée 11.0 sera la commande arrét/ marche
générale,
I existe de nombreuses fagon de traiter ce petit probléme. Pour cet exemple, nous allons utiliser un
graftet a deux stapes qui va servir de "séquenceur", L'étape XO sera active pendant une demi-seconde
(extinction) et Péape XI sera active pendant une seconde (allumage). Ce grafeet sera initialisé au moment de la
mise en "RUN" de lautomate.
PRL: x13 sn
im r
1h L
eM
(%6S13 est "1" pendant le premier cycle automate aprés mise en "RUN")
CHART: (11.0 est la commande marche/anre)
“p 4saprés X0et 11.0
el saprés X1
POST : On utilise un comptourldécompteur %CI.
cL
ys13
7 IR: remise & zéro da comptour.
{ R (CU : “inerémentation”,
CD :"dgerémentation”
XI eM %CLY
T cu Comptage si %MI ="1" ct 96X1="1"
‘Décomptage si %lM1 = "0" et %X1= "1"
oD
eM
(Suite du traitement postérieur page suivante)
18‘On utilise cing blocs "COMPARE" :
ext 00.0
%CLV=L { }
sexo vont
ms
XL YQ
wc CI
“XL %Q22
veces C3
"XL %Q2.3
%CLV=A TF
vex eq04
qe ry
CLves Cy
vex
Réceptivité entre XO et X1 =
%6xOTD=5 ee eee
Réceplivité entre XI et XO:
your Py} —
3B - Initiation & PL? Micro, 1910 - Le langage littéral strueturé (ST).
Cest un langage évolué de type algorithmique plutét adapté a la programmation de fonctions
arithmésiques compliquées, & la manipulation de tableaux, a la gestion de messages, etc. .. Il est ongenisé en
"phrases" cles mémes compostes dinstructions et de commentaires (256 caractéres au maximum). Ces
"phrases" peuvent comporter chacune, une étiquette (1000 étiquettes au maximum),
Liediteur permet derive ces "phrases" les unes & la suite des autres avec les possibilités de
modifications, ‘insertions, de copiage et de collage.
Le langage litéral structuré est trés tiche en instructions et en structures de contrdle. On peut citer
quelques exemples de base
Instructions sur bit
application. Exemple : %Q2.0 == %MO (le bit %(2.0 prend la valeur de %MO)
OR, AND, XOR, NOT, SET, RESET.
IRE front montant, Exemple : %Q2.0:-RE %MO (le bit %Q2.0 devient "1" au front montant de %MO0.
FFE front descendant.
‘Comparaisons numériques sur mots, doubles mots et flottants :
<> emt e
I existe également des instructions pour traiter les tableaux de bits, de mots, de doubles mots,
Yarithmstique entiére sur les mots et les douibles mots, Harithmétique sur les flottants, les opérations logiques sur
les mots et les doubles mots, les commandes dexécution de programme et dappels aux sous-programmes,
Vhorodateur, te
Il est possible deffectuer des conversions multiples (binaire, BCD, Gray), et des manipulations de
chanes de caractéres.
Structures de contrite :
IF condition THEN
actions;
END
IF condition! THEN
actionl;
ELSIF condition? THEN
action2;
ELSE
action3;
END IF;
Le nombre de ELSIF es illimité, mais une seule partie ELSE au maximum,
WHILE condition DO
action;
END_WHILE;
Plusieurs WHILE peuvent étre imbriqués
REPEAT
action;
UNTIL condition END_REPEAT;
JB - Initiation & PLT Micro. 20Plusieurs REPEAT peuvent étre imbriqués,
FOR indice := valeur initiale TO valeur finale BO
action;
END_FOR;
Plusieurs FOR peuvent étre imbriqués.
EXIT permet dlanéter lexécution dune boucle WHILE, REPEAT ou FOR et de continuer sur instruction
suivant le mot clef de fin de boucle.
EXEMPLE : On traduit le grafcet de exemple simple (page 16) en langage littéalstructuré
(On renommera les variables pour plus declan
A110, $61.2, 9113, KN. sappelleront; Entée0, Entel ete
%4Q2.0, 9502.1, %Q2.2, 423 sappellront : Sortie, Sori, et.
AM, eM, M2, 4M, 6M Sappellerot: Etaped, Etael, te.
"TMI, 96TM2, %6TMB slappelleront : Tempol, Tempo2, Tempo3.
‘a
b
Action 1 : Q2.1 (clignotant)
pio Action 2: Q2.2
Action 3 : Q2.3 (Ls aprés X3)
1 | Petoat ‘Action +; Q2.4 (durée 1s)
+
> | [aeton2
2 60vX1
3 | [Aston 1 | Psion
+ 3 + 4
JB - Initistion & PLT Micro. 2(initialisation du grafeet par %S13 et par Ventrée n°5*)
IF %$13 OR Entrées THEN
SET Etape0; RESET Etapel; RESET Elspe?; RESET Etape3; RESET Etaped;
END _IF;
(de Tetat 0 a Petat 1°)
IF Fiaped AND EntrécO THEN
SET Btapel; RESET Etaped;
ENDIF;
(rae Vétat 1 a état 2°)
IF Etapel AND Entrécl THEN
SET Etape2; RESET Etapel;
ENDIF;
(Ce Tétat 2 A Métat 3 ou de Tétat 2 & Nétat 4*)
IF Etape2 AND Entrée? AND NOT Tempol.Q THEN
SET Etape3; RESET Etape?;
ELSIF Etepe? AND Tempol.Q AND NOT Entrée? THEN
SET Etape4; RESET Etape2;
END I
(de Vétat 3 4 retat 0%)
IF Btape3 AND Entréc3 THEN
SET Etaped; RESET Ftape3;
END
(de état 4 état 0%)
IF Etapot AND Entrées THEN
SECT Etape0; RESET Etapet;
ENDIF,
(‘temporisation n°1 de 60 secondes*)
IF RE Etapel THEN
START Tempol;
ELSIF Btape3 OR Etape0 THEN
DOWN Tempol;
ENDIF;
(action 14)
Sortiel = Elapel AND %S6;
(action 2*)
Sortie?
(Faction 3°)
IW Etape3 THEN
START Tempo2;
ELSIF NOT Btape3 THEN
DOWN Tempo2;
END_IF;
Sorted
‘empo2.Q AND Etape3;
(action 4*)
Ik Etape4 THEN
START Tempo3;
ELSIF NOT Eiaped THEN
DOWN Tempo3;
ENDIF;
Sortied = NOT Tempo3,Q AND Etaped;
JB = Init(fin du programme)
REMARQUE : Quand on utilise le grafcet, on peut écrire les réceptivités en langage littéral steucturé,
Exemple
110
KH J vanwioPresel) THEN
SET Plein,
ELSE
RESET Plein;
ENDIF,
Application exemple : On va créer deux instances du bloc ci-dessus. Lune s"appelle « compte_vis » et
autre, « compte_ecrou »,
(@6MD10 et 96MDI2 sont placés par un double
droit devant Pentrée correspondante),
JB = Initiation & PLT Micro. 4Compte_vis
11.0
%MDI0. §=——4
Cpt_pieces
EBOOL
Raz
DWORD Lied
Presel a
EBOOL
Compte
%Q3.0
a
DWORD
Total
lL.
%MD12
Compte_ecrou
Cpt_pieces
EBOOL
Raz
DWORD BOOL
Peeiel Plein
EBOOL
Compte
%Q3.1
.
DWORD
Total
IB - Initiation & PLT Micro.
2512 - Utilisation de tableaw
PL7 permet d'effectuer des opérations sur des tableaux de mots et de doubles mots
Exemples
‘%KWL0:5 est un tableau de 5 mots constants de 16 bits, commencant & %KW10 (WKW10, %KW11, %KW12,
WKW13, %KW14),
%MW100:20 tableau de 20 mots de 16 bits commengant & %MW100.
Régles
Les opérations entre tableaux ne s'effectuent que sur des tableaux contenant des objets de méme type.
Si, dans une opération, les tableaux sont de alles différentes, le tableau résultat aura une ‘alle
comrespondant au plus petit des deux tableaux opérandes.
Une opération sur deux tableaux s‘effectue sur chaque élément de méme rang des deux tableaux et le
résultat est transféré dans Iélément de méme rang du tableau résuliat.
Il faudra étre prudent au cours de la programmation, pour ne pas effectuer de recouvrements
involontaires de tableaux (panne difficile a détecter).
Test
Si, lors d'une opération entre éléments, le bit sysiéme %518 est positionné a « 1 », cela signifie que
opération en cours est erronée, mais Popération pour les éléments suivants est effectuée correctement.
Les exomples Slémentaires suivants sont écrits en langage & relais (LD) et en langage littéral stracturé
(LS).
‘%MWO :5 = 100 %MWO 5 ~ 100;
(Les 5 mots %MWO a %MW4 prendront la valeur 100)
3.2
| YMWO:S = %~MWIT
If
(Si%413.2 vaut « 1 », les S mots %MWO a 96MW4 prendront la valeur contenue dans %MW11),
“33
TF RE 94133 THEN
1 | vawo.s = saxwos eM WO 35 = %KWO'S;
ie | ENDIF;
(Lors du front montant de %I3.3, le tableau %K WO 5 va se recopier dans le tableau %SMWO :5)
JB - Initiation & PLT Micro. 26Instructions arithmétiques sur les tableaux (addition : », soustraction =, multiplication : *, division :/)
veut
: IF RE %MI THEN
%MW20:10+100 ‘6M WO :10 := %MW20:10+100
END_IF;
13.3 IF %13.3 THEN
Pspiaiis= samen aaaains il YeMWO :5 2= %*MW20:54%KMI0:5
KH ENDIF;
Instructions logiques & deux opérandes (et, ou et ou exclusif, bit 4 bit: AND, OR, XOR) et un seul opérande
(complément logique bit a bit : NOT).
Texiste de nombeeuses instructions de programmation avancée, assocides aux tableaux (somme des
ements, comparaison élément par élément, recherche d’ un élément dans un tableau, recherche de mini et maxi,
nombre d'oceurrences d'une valeur, décalages circulaires droite et gauche, fonctions de ti, ec.)
13 - Utilisation simple de Phorodateur (it existe d’aures modes d’explitation de
Phorodateur, tilsant es mots 96SW49 4 %SW59 ct%SD18).
‘Les paramétres dates, heures et dures, tlsent des formals spéciawx définis parla norme TECIIS31-3
Durée (format TIME).
Les durées sont exprimées en diximes de secondes, par exemple : 3674.3 pour 1 heure, 1 minute, 14
seconds et 3 dixitmes de seconde.
‘La valeur est code sur 32 bits (un mot double) entre 0 et 4294967295 (plus de 4971 jours).
Date (format DATE).
Ce format code l'année, le mois et le jour sous Ta forme AAAA-MM-II (exemple : 2004-06-25). Ceute
valeur est codge sur 32 bits (un double mot) en tois champs
31 1s 7 0
Année Mois Jour
L’année utilise 4 digits codés en BCD (16 bits), le mois ct je jour, 2 digits codés en BCD de 1990-01-01
2099-12-31. Exemple, on hexadecimal
20h 4h 06h 25h.
Heure du jour (format TOD : « TIME_OF_DAY»).
Ce format code les heures minutes et secondes sous la forme HH :MM :SS (exemple : 23 :12 34). Cette
valeur est codée en BCD sur 32 bits (un double mot) en trois champs
31 23 15 7 0
heures | minutes | secondes | inutilisé
JB - Initiation & PLT Micro. 2Date et heure (format DT : « DATE_AND_TIME »).
Ce format code année, le mois, le jour, l'heure, les minutes et les secondes, sous la forme : AAAA-
MM-J-HH (MM 88 (exer
smple : 2004-06-25-23 :12 :34).
Cette valeur est codée en BCD sur 64 bits (an tableau
de quatre mots de 16 bits).
63 47 39 31 23 15 1
Année Mois Jour | heures sxintes | seconde | inutilisé
Test :
Le bit systéme %SI7 est positionné & « 1 » dans les cas suivants
= Résultat @une opération hors de T'intervalle de valeurs, autorisé ;
| Un paramétre d'entrée n'est pas cobérent avec le format souhaité (DATE, DT ou TOD) ;
© Opération sur le format TOD entrainant un changement de jour 5
= Conflit d’accés a I"horodateu.
Lecture de Phorodateur, (en langage & relais et en langage littéral structure)
M6
i
‘OPERATE
La fonetion RRTC va éerite
Mise a jour de Phorodateur.
RRTC(%MW2 4)
au format DT dans le tableau %MIW2 4.
JF %M6 THEN
RRTC(%MW?2 :4) 5
ENDIF;
(On veut écrire 24 novembre 2004, 17 heures 32 minutes 43 secondes, ati moment du front montant de %M7
MT
P
OPERATE,
L
MEW? :=164300
OPERATE,
AMWS :-1641732
‘OPERATE,
oMW4 = 16#1124
OPERATE,
MWS =16#2004
OPERATE,
3B - Initiation & PLT Micro,
WRTC(%*MW? 4)
IF RE %M7 THEN
‘%oMW2:=16843005
MW: 16H1732;,
oMWA=16H1124;
6M WS:=16H2004;
WRTCOMW2:4):
END_E;Lecture du jour de Ja semaine,
Ceite fonction place dans un mot de 16 bits, le jour de la semaine codé de 1 47 (I : lundi 57 = dimanche)
7
Sa IF %M7 THEN
‘OPERATE 94MWS:-DAY_OF_WEEKO;
MWS :=-DAY_OF_WEEKQ END_IF;
Fonetion « programmateur horaire >.
Cette fonction permet de commander des actions & des horaires et dates, prédefinies ou calculées.
Bile positionne 4 «1» le parametre logique de sortie, si la date et Vheure fournies par Uhorioge
automate aa moment de Pappel de la fonction, apparticnnent la période programmée dans les paramétres
entrée
SCHEDULE (DDEB, DFIN, SEM, HDEB, HFIN, SORTIE)
DDEN : date de début ; DEIN : date de fin; SEM: semaine ; HDEB : heure de début; HFIN : heure de fin;
SORTIE : paramétre logique de sortie («0 » ou « 1»).
DDEB et DFIN sont codés en BCD entre 01-01 et 12-31 (un mot de 16 bits)
SEM utilise fes 7 bits de poids faible dun mot de 16 bits
Bit 6: lund Bit 5: mardi Bit 4 : mereredt Bit3 :jeudi
Bit? : vendredi Bit 1: samedi Bit 0: dimanche
HDEB et HIN, double mot codé en BCD (ype TOD), entre 00 :00 :00 et 23 :59 59
xemple en LD:
OPERATE
‘SCHEDULE (4X WO,%KW 1,%6KW2,%0KD3,%KDS,%M0)
[
‘Auatte exemple en LS : deux plages horaires non continues.
SCHEDULE ( 16#0501,16#103 1,2#0000000001 111 100,16#08300000, 6#12000000,%MO0);,
‘SCHEDULE. ( 16#0501, 16#103 1,2#000000000 i111 100,16#1 4000000, 16#18000000,2M1);,
9400.0 = MO OR MI;
ter SCHEDULE : date de début ler mai ; date de fin : 31 octobre ;lundi & vendredi ; de 8h30 8 12).
2° SCHEDULE : du 1" mai au 31 octobre ;lundi a vendredi ; de 142 18h,
9690.0 vauadra « 1 » au cours de ces deux plages horaires.
‘La plage definie par DDEB et DFIN peut étre «& cheval » sur deux années conséeutives
‘a plage définie par HDEB ct HFIN peut étre « a cheval » sur deux jours conséeutifs.
Le 29 février sera ignoré lors des années non bissextiles.
Sila programmation de ces plages est erronée, %6S17 sera mis « I».
Remarque : Le traitement de la fonction SCHEDULE allonge notablement le temps de cycle. St la
précision n'est pas névessaire, on pourra cadancerI'appe cette fonction, avee %S6 (Is) ou 4S7 (Lenn).
D’ autres fonctions avancées existent
= Tire fa date du demier arrét de automate (avee un code d'erreut)
= ajouter ou retirer une durée 4 une date ou a une heure du jour 5
= calouler P'écart entre deux dates ou entre deux horaires 5
~ — comvertir des dates en chines de caractéres 5
- ete
JB - Initiation a PLT Micro. 29