Vous êtes sur la page 1sur 22

Ladder et instructions automates

Ladder et instructions automates............................................................................................ 1


Les instructions automates ..................................................................................................... 2
Comparaison....................................................................................................................... 2
Oprations sur Mots ........................................................................................................... 3
Oprations arithmtiques.................................................................................................... 3
Oprations sur chanes de bits............................................................................................ 3
Dcalage circulaire ou non circulaire logique.................................................................... 4
Oprations logiques............................................................................................................ 6
Transcodage ....................................................................................................................... 6
Les fonctions standards une seule variable numrique (rel)......................................... 6
Exercices associs .............................................................................................................. 7
Le Ladder ................................................................................................................................... 8
Lalgorithme....................................................................................................................... 8
Structure itrative ............................................................................................................... 9
Les tests ................................................................................................................................ 10
Exercice dapplication du ladder N1 .................................................................................. 12
Exercice ladder N2 ......................................................................................................... 13
Exercice Ladder : Positionnement laide dun codeur incrmental............................... 14
Exercice............................................................................................................................ 14
Programmation ladder dun conversion Gray binaire .......................................................... 15
Acquisition de 4 roues codeuses branchs sur les mmes entres ....................................... 16
Extrait BTS sujet 2000 ......................................................................................................... 17
Pile Fifo Lifo ........................................................................................................................ 18
Communication rseaux entre 2 TSX 47 ............................................................................. 19
Performance du rseau automate : Unitelway sur TSX ....................................................... 21

Les instructions automates


Comparaison
La comparaison est situe dans la zone de test. (Comme le contact ouvert et ferm)
La sortie est 1 lorsque la comparaison est vraie.

sur TSX17 : (PL7-2)

Pour rappel la comparaison sur un bit, c'est forcement un contact. (Mme un bit extrait d'un
mot)

Equivalence Tsx17 : X1, I1,0 et B1


Equivalence Mitsubishi : , X1, Y1, M1
Exercice :
1)Action conditionnelle
Ecrire en ladder laction suivante :
4s/%X5

%M1

C %Q2.2

CS Mise 1 de %Q2.3

2) Ecriture dun front montant sur TSX Micro et TSX 17


Ecrire en ladder lincrmentation du mot %MW1 lors de lapparition de %I1.0

Dessiner le chronogramme des variables %I1.0, %M1 et donner lvolution du mot %MW1

Oprations sur Mots


Mot ou mot index ou valeur immdiate vers mot ou mot index
Table de mots vers table de mots
%Mw10 est mis 0

%MW10 prend la valeur de %MW11


Le mot %MWxx prend la valeur de
%MW12 avec xx=1+%Mw20
Les mots de %MW20 %MW24
prennent la valeur des mots de
%MW10 %MW15
Lcriture sur TSX17 est la suivante,

Rappel : Pour la sortie analogique N0 du module en position 1, que lon veut mettre 10 volt
on a :
1000 -> OW1,0

(%qw1.0 := 10000 sur tsx micro)

Oprations arithmtiques
Ces instructions sont: +, -, *, /, REM (pour le reste d'une division)..
L'opration est ralise dans un bloc OPERAT.
La valeur a atteindre du compteur 5 sera de
%KW12 +1,
Addition,

Multiplication

Formule complexe.

Sur TSX17,

Oprations sur chanes de bits


Transfert d'une chane de bits dans une autre

Transfert d'une chane de bits dans un mot

Transfert d'un mot dans une chane de bits


W1 -> B0[16]

Les 16 bits du mot W1 sont transfrs dans les bits B0 B16 (Le bit de poids faible de W1
dans B0)
Transfert d'une valeur immdiate dans une chane de bits

Rgle: Le nombre de bits transfrer identiques aux nombres de bits destinataires.

Dcalage circulaire ou non circulaire logique


L'opration de dcalage consiste dplacer les bits contenus dans un mot d'un certain nombre
de position vers la droite ou vers la gauche.
Tsx Micro (ci contre)
le dcalage logique :
SHL(op2,i) dcalage
logique gauche de i
positions.
SHR(op2,i) dcalage
logique droite de i
positions.
Le dcalage circulaire
ROL(op2.i) dcalage circulaire gauche de i positions
ROR(op2.i) dcalage circulaire droite de i positions

Exemple sur un registre 8 bits

Ces 3 bits son


perdus

Dcalage
bits gauc

3 nou
bits 0

FDB

ST

IL

S1 :=rol(16#800BAFFE,2#1010)
;
S2 :=ror(16#FFFFB0B0,16#10) ;
S3 :=shl(16#800BAFFE,16#A) ;
S4 :=shr(16#FFFFB0B0,16) ;

LD 16#800BAFFE
ROL 2#1010
ST S1
LD 16#FFFFB0B0
ROR 16#10
ST S2
LD 16#800BAFFE
SHL 16#A
ST S3

S1=
S2=
S3=
S4=

LD 16#FFFFB0B0
SHR 16
ST S4

Oprations logiques
Les oprations logiques sont raliss bits par bits.
AND, OR, XOR (ou exclusif), CPL (Complment)

Ce sont des oprations de


masquages bit bit entre 2
entiers.

Utilisation Principale Le MASQUE dune partie dun mot.


W1 (1100 1100 1101 1011) AND W2 (0000 0000 1111 1111) W3 (0000 0000 1101 1011)
A retenir:

ET Forage 1 (pour le bit 0, masque 0000 0000 0000 0001)


OU Forage 0 (pour le bit 0, masque 1111 1111 1111 1110)

FDB

ST

S1 :=AND_MASK(16#FFFFCAFE,16#0000D
0D0) ;
S2 :=OR_MASK(16#FFFF0000,16#CAFED0
D0) ;
S3 :=XOR_MASK(16#FFFFFFFF,16#DADAF
ADA) ;
S4 :=NOT_MASK(16#DADAFADA) ;

IL

LD
16#FFFFCAFE
AND_MASK 16#0000D0D0
ST
S1
LD
16#FFFF0000
OR_MASK 16#CAFED0D0
ST
S2

LD
16#FFFFFFFF
XOR_MASK 16#DADAFADA
ST
S3

S1=
S2=
S3=
S4=

Transcodage
BIN: Transcodage BCD vers binaire
BCD: Transcodage binaire vers BCD
ATB: Transcodage ASCII vers binaire
BTA: Transcodage binaire vers ASCII

Les fonctions standards une seule variable numrique (rel)


Fonctions mathmatiques

Fonctions trigonomtriques

LD
16#DADAFADA
NOT_MASK S4

ABS

Valeur absolue x

SQRT Racine carre x


EXPT Exponentiation y x et x est entier !
LOG Logarithme log( x )

Sortie dans l'intervalle [-1.0 ,+1.0]


COS Cosinus
SIN Sinus
TAN Tangente
Entre dans l'intervalle [-1.0 ,+1.0]
Sortie dans l'intervalle [0.0, PI]
ACOS Arc cosinus
ASIN Arc sinus
ATAN Arc tangente

FBD

ST

IL

Valeur1:=expt(sqrt(
abs(-1.0E1)),5);

LD -1.0E1
ABS
SQRT
EXPT 5
ST Valeur1

Valeur1 =

Exercices associs
Masque
Multiplication et division par multiple de 2
Dcalage sur 32 bits
Addition sur 32 bits avec SY17 dbordement (65536) (SY18 bit de signe)
Roues codeuses
Passage du Binaire lHexadcimal, au code Gray
Le gray est utilis pour les capteurs absolus, pour passer dune ligne lautre on ne peut
changer quun bit la fois
Dc Hex Bin Gray Dc Hex Bin Gray
0
0
0000 0000 8
8
1000 1100
1
1
0001 0001 9
9
1001 1101
2
2
0010 0011 10 A
1010 1111
3
3
0011 0010 11 B
1011 1110
4
4
0100 0110 12 C
1100 1010
5
5
0101 0111 13 D
1101 1011
6
6
0110 0101 14 E
1110 1001
7
7
0111 0100 15 F
1111 1000
Un chiffre Hexadcimal quivaut 4 bits binaires, pour convertir du binaire en hexadcimal il
faut associer les bits 4 par 4
Soit:
0101 0011 0001 1000
Donne:
5
3
1
8

Le Ladder
Lalgorithme
Quest-ce que cest ?
Un algorithme est un ensemble de rgles opratoires rigoureuses ordonnant un processeur
particulier dexcuter, dans un ordre dtermin, un nombre fini d oprations lmentaires
pour rsoudre tous les problmes d un type donn (NF Z 61-100)
Un algorithme peut tre reprsent :
- soit littralement grce au langage algorithmique
- soit graphiquement laide de l algorigramme (ou organigramme)
L ALGORITHME

REPRESENTATION
LITTERALE
LES MOTS

CLES
SI.ALORSSINON..
REPETERJUSQU A..

LE DEGRE DE
COMPLEXITE

LE NOMBRE DE SOUS
RESEAUX DONNE LE
DEGRE DE COMPLEXITE
DE L ALGORITHME

INSTRUCTIONS

STRUCTURES

Dbut, fin,
interruption
LINEAIRE

La structure linaire

Traitement

ITERATIVES

Entre, Sortie

REPETITION DE L EXECUTION
D UN TRAITEMENT.
REPETER.JUSQU A..
REPETERTANT QUE
POUR..A...REPETER...

Prparation

NO
ALTERNATIVE

DEBUT, FIN

Renvoi

SUITE D ACTIONS A
EXECUTER
SUCCESSIVEMENT DANS
L ORDRE DE L ENNONCE.

LIRE, ECRIRE
FAIRE.

DELIMITEURS

REPRESENTATION
GRAPHIQUE

SITUATION NOFFRANT QUE


DEUX ISSUES POSSIBLES
SEXCLUANT MUTUELLEMENT

Test

Commentaire

REPRESENTATION
LITTERALE
- dbut
- instruction 1
- instruction 2

- instruction N
- fin

Structure itrative
REPRESENTATION
LITTERALE
- dbut
- rpter
- instruction 1

- instruction N
- jusqu condition vraie
- fin

Les tests

Bit = 1

Test sur 1 bit, en Pascal :


Si Bit = 1 alors Opration 1 finsi
Opration N
Opration 1
Bit
Opration

Opration N

Opration
en Ladder :
Test sur des mots, en Pascal :
Si W1=W2 alors Opration 1 finsi
Opration N

W1 = W2

en Ladder :
Opration 1
W1=W2

Opration 1
Opration N
Opration N

Test avec 2 oprations, en Pascal :


Si Condition 1 alors Opration 1 sinon Opration 2 finsi
Cond. 1
En Ladder :
C. 1
Opration
C. 1

Opration 1

Opration
Opration N
Opration

Opration 2

Test avec une srie dopration en pascal:


Si Condition 1 alors Opration 2 Opration i finsi
Cond. 1

C. 1
J Label5

Opration 2
Opration 3

Opration i

Opration
Opration
Opration i

Dbut des
instructions du
Label 5

Dbut du Label 5
En ladder:
Plusieurs Test les uns la suite des autres en pascal :
Si Condition 1
alors
Si Condition 2 alors Opration 1 finsi
Sinon
Opration 2
Finsi
En Ladder :

Cond. 1

Cond. 2
C. 1

Opration 1

C.2
Opration

C. 1
Opration

Opration 2

Exercice dapplication du ladder N1


Ex1
Ex2
I0,0 est vrai ?

NON

Si
1 <= W0 <= 10

OUI

Si W0=1

NON

OUI

W0:=W0+10
Mise 1 de O0,0
Mise 0 de O0,1

NON

OUI

Effectuer le calcul
W1:=W1*2

Effectuer le calcul
W1:=W1*4

SI W1<10

NON

OUI

Mettre W0 2

W1:=W1+10

Ex3

W2:=W2+10

Ex4
Mise 0 de W0

Si I0,0 . I0,1 = 1

NON

OUI

Incrmentrer W0 de 1
Dcaler de 1 bit vers la
gauche W1

Si I0,2 = 1

NON

Si I0,2 = 0

OUI

Si W0>8

OUI

NON

OUI

W2:=10

W1:=10

W3:=10

Mise 1 des 8 bits


de poids faible de W1

Transfert des bits I0,0


I0,15 dans W99

Ex5
Raliser l'algorithme, ainsi que le programme ladder qui met 0 la
zone mmoire allant de W10 W49

Mise 1 de O0,1

NON

Exercice ladder N2

Ex1

Ex2
I0,0 est vrai ?

NON

Si W0 >1
ou W1 >1

OUI

NON

OUI

NON

Si W1=1

Si W1<>1

OUI

W0<>1
NON

W0:=W0+10
Recopier la valeur
de B0 dans I0,0

OUI

Effectuer un dcalage
de 1 bit gauche de W1.
Rsultat dans W2

Effectuer un dcalage
de 1 bit droite de W2.
Rsultat dans W1

SI W1 est pair

NON

OUI

W1:=W1+10

Mettre W0 2

W2:=W2+10

Ex4

Ex3
Mise 0 de W0

Si I0,0 + I0,1 = 1

NON

OUI

Incrmenter W0
Inverser le bit B0
Si BO=1 mettre I0,0 1

Si I0,2 <> 1

NON

NON

Si I0,2 = 0 et I0,3=1

OUI

si I0,0 =1

OUI

NON

W2:=10

W1:=10

OUI

W3:=10

Mise 0 des 8 bits


de poids faible de W1

Transfert des bits I0,0


I0,7 dans W1

Ex5
Raliser le programme ladder qui met les mots pair 0 et les mots
impairs 1 , la zone de mot ira de W0 W99.
donc W0=0, W1=1, W2=0, W3=1

Mise 1 de O0,1

Exercice Ladder : Positionnement laide dun codeur incrmental


On dsire raliser le programme ladder de calcul de positionnement.
Nous avons un codeur incrmental 1024 points mont sur laxe dune poulie dont la
dveloppe (primtre) est de 150mm.
Cette poulie entrane un chariot qui se dplace sur une glissire.
Loprateur a entr la position obtenir dans le mot %MW0 qui est en mm.
La position du chariot est contenu dans le mot double %ID3.0 qui correspond la carte de
comptage, sur laquelle on a branch le codeur.
Raliser le programme permettant de calculer %MW1 et %MW2

Sortir Vrin A
Calculer %MW1 et %MW2
Vrin A sorti

Mouvement Rapide
jusqu' la position %MW0-100mm
%ID3.0 > %MW1

Mouvement lent
jusqu' %MW0
%ID3.0>%MW2

Exercice
Voir feuille correction TP pl7 micro
Calcul de base. Si %M1=1 alors %MW1:=1 et %MW2:=%MW1*%MW1
Calcul avec un test pour utiliser le thorme de Morgan Si %M2=1 ou %M3=1 alors
%MW3:=%MW2 sinon %MW3:=-%MW2
SI %M4=1 alors mettre la table mmoire %MW50 %MW59 la valeur 5, avec comme mot
index %MW5

Exercice sur lhystrsis

Programmation ladder dun conversion Gray binaire


Objectif: Convertir la valeur Gray contenue dans le mot MGB en binaire dans le mot MBB.
A partir du texte raliser le programme automate pour TSX Micro.
Lgendes

MGB: Mots 16 bits en Gray (donne entrante)


MBB: Mots binaire (donne sortante, rsultat)
AUX G: Mot permettant d'isoler un bit Gray
AUX B: Mot destin calculer le bit binaire

Initialisation Mettre 0 les variables MBB, AUX G, AUX B, I.


Corps principale
Tant que I <> 16 alors

Dcaler MBB de 1 bit gauche


Recopier le bit MGB de poids fort(bit F) dans le bit de poids faible de AUX G (bit 0)
Dcaler MGB d'un bit vers la gauche
MBB := AUX B XOR AUX B
AUX G :=0
I :=I+1

Fin de tant que.


Rsultat : MBB contient la valeur binaire.

Acquisition de 4 roues codeuses branchs sur les mmes entres


Raliser le programme ladder correspondant lorganigramme ci dessous.
Pour information : %MW0 correspond un compteur, %MW2 la somme des 4 roues
codeuses.
Ce programme de la faon ou il est crit ne peut fonctionner, pouvez vous en donner la
raison ?
Dbut
Initialisation
%MW0 :=0
%MW1 := 0
%MW2 :=0

Mise 1 de la sortie %Q2..%.%mw0 (Lindice %MW0 doit tre remplacer


par la valeur fixe du compteur :0 1 2 ou 3, attention on ne peut crire dans lautomate
%Q2.%MW0)

Acquisition des Entres %I1.0 %I1.3 dans le mot


%MW1 (Utiliser linstruction %MW1 :Xj)
Mise 0 de la sortie %Q2.%mw0 (Soit %Q2.0 puis %Q.2.1 . %Q2.3)
Addition de la valeur %MW1 %MW2
Incrmenter %MW0

%MW0 >= 4

Fin

Entres API %I1.X


Sorties API %Q2.X
COM 0

Extrait BTS sujet 2000


Le poste permet de contrler la conformit de la masse de gaz aprs le remplissage.
On tolre + ou- 50kg par rapport la masse totale thorique (PTT)
La valeur traite par l'automate correspond la masse en kg multiplie par 100.
L'algorithme suivant dcrit ce sous programme de contrle de masse:

Question: En fonction de l'adressage des entres, des sorties et des variables internes propos
crire le sous programme correspondant l'algorigramme, en langage ladder normalis
(norme CEI 1131-3).
Adresse des entres
Dtection bouteille sortie carrousel

%I1.3

Dtection bouteille sur contrle de masse

%I1.4

Adresse des sorties


Commande d'jection aprs contrle de masse

%Q2.1

Adresse des variables internes


Adresse de la valeur du PTT

%MW0

Adresse de la valeur de la masse relle mesure

%MW10

Adresse de la valeur suprieure admissible

%MW1

Adresse de la valeur infrieure admissible


%MW2
Complment: Le & quitte %I1.4 a t ajout au sujet d'origine.

Pile Fifo Lifo


File dattente (premier entr, premier sorti) ou ou pile FIFO (First in, First out)
FIFO, La premiere information entre est la premire tre
dstocke. Lorsquune demande de stockage est prise en compte le
contenu du mot dentre Ri,I pralablement charg est stock au
plus haut de la file. Lorsquune demande de destockage est prise en
compte le mot dinformation le plus bas de la file est rang dans le
mot de sortie Ri,O.
LIFO, la dernire information entre est la premire tre
dstocke. Lorsquune demande de stockage est prise en compte
(front montant sur lentre I), le contenu du mot dentre Ri,I
pralablement charg, est stock au plus haut de la pile (fig A).
Lorsquune demande de destockage est prise en compte (front sur
lentre O) le mot dinformation le plus haut (dernire information
entre) est range dans le mot RI,O (fig B puis fig C).
Application concrte
Un tapis 1 amne des pices dont le type est cod 16 bits, les pices
arrivent suivant la cadence de la machine qui diffre suivant les
pices (prsence dune nouvelle pice lorsque pp est actif). Idem
pour le tapis 2, qui rcupre ces pices la condition que la
machine 2 soit disponible (information: demande).
Un bras manipulateur assure le stockage des pices en les empilants
les unes sur les autres.
Il sagit ici de raliser le programme qui va
stocker les informations.

Affectati
on:

W0 contient le type de la pice arrivant sur le tapis


1.
W1 contient le type de la pice allant sur le tapis 2.

Raliser le traitement post des tapes X11 et X21.

Communication rseaux entre 2 TSX 47


Utilisation des mots Comi,0
Le tapis tourne en continu, une bute est prsente chaque poste qui est command par
chaqu'un des automates. Lorsque le poste 1 a fini son usinage il autorise le poste central lui
faire parvenir la prochaine pice ainsi que les informations qui lui sont ncessaires.

Poste central: ( gauche sur le schma)

Lecture des informations de la pice.


Usinage de Type 0
Transmissions de 2 informations: Type de pice (5 pices possible) et de la matire de
la pice usiner (Aluminium, Plastique, acier)

Poste 1:

Usinage de type 1, correspondant aux informations reu du poste central en fonction


du type de pice et de la matire pour le choix des conditions de coupe.
Transmissions d'1 information de pice vacuer vers le poste central..

Ecrire en ladder pour chacun des postes le programme concernant le rseau.

Rappel: Chaque automate dispose de 4 mots 16 bits COM i,0 COM i,3. (i tant le numro
de l'automate sur le rseau).
Note: Attention X16 n'appartient au grafcet N2.

L'autorisation de transfert de pice doit tre inhib une fois la pice transfre.
Les affectations pour le poste 0

Les affectations pour le poste 1

W1: Type de pice

W1: Type de pice.

W2: Matire

W2: Matire

O1,0: Descente Bute (monostable) O1,0: Descente bute (mono)


I1,0: Bute Bas

I1,0: Bute Bas

Com0,x : A dfinir.

Com1,x : A dfinir.

Performance du rseau automate : Unitelway sur TSX


On se propose de calculer le temps maximum de transmission des informations sur le rseau
de communication de type matre esclave huit stations.
Le bus propos supporte le service Uni-TE qui est le langage commun entre les constituants.
Il permet l'accs aux variables et paramtres des divers quipements. La taille des messages
est limite 32 Octets.

Sachant que les temps de cycle moyens de traitement (asynchrone) des divers automates sont
respectivement:
pour l'automate (ou quipement) matre H: TC8=80ms
pour les automates (quipements) esclaves A et B: TC1=50ms et TC2=35ms
Calculer les valeurs mini et maxi du temps de rponse T ( Temps de raction un vnement
"e") pour les vnements suivants:
Un venement apparu sur la PO de l'automate A et inuisant une action "s" sur la PO
associ l'API B (T=dure entre l'apparition de "e" et l'mission de "s"). On appuiera
son estimation partir d'un schma.
Un vnement, qui, apparu sur la PO de l'automate A, ncessite une coordination et un
traitement sur l'API H, avant d'autoriser une action "s" sur la PO de A. L aussi on
appuiera le calcul d'un schma.
FICHE Constructeur
Le tps de cycle du bus UNI TELWAY est li au nbr d'quipement scruts (adresses liaison),
au dbit binaire, au temps de retournement de chaque quipement, au nombre, la longueur et
la nature des messages.
TCB: Tps de cycle bus, correspond au temps sparant deux
interrogations d'un mme quipement.
La droite donne le tps de cycle en fonction du nbr d'esclaves 9600
bps.
Le tableau suivant indique les temps ajouter (en ms) pour
connatre la vritable valeur du TCB en fonction du trafic (N=nbr de
caractres utiles):
Matre vers
24 + 1,2 N
esclave
Esclave vers
matre

19 + 1,2N

Esclave vers
esclave

44 + 2,3N

Le tps de rponse d'application dans une


architecture d'automatisme distribue ne dpend
pas que du systme de communication, il dpend
aussi:
du tps de traitement des quipements metteur et
destinataire du message

de l'asynchronisme entre les cycles bus et units de traitement.


TCB: Tps de cycle bus
TC1: Tps de cycle quipement 1
TC2: Tps de cycle quipement 2