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 :
% M1

4s/% X5

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
S1 :=rol(16#800BAFFE,2#1010) ; S2 :=ror(16#FFFFB0B0,16#10) ; S3 :=shl(16#800BAFFE,16#A) ; S4 :=shr(16#FFFFB0B0,16) ;

IL
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

IL

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) ;

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=

LD 16#DADAFADA NOT_MASK 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

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 LE DEGRE DE COMPLEXITE

STRUCTURES

REPRESENTATION GRAPHIQUE Dbut, fin, interruption

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


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

Renvoi

CLES SI.ALORSSINON.. REPETERJUSQU A..

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

Traitement

Entre, Sortie

INSTRUCTIONS LIRE, ECRIRE FAIRE.

Prparation

NO ALTERNATIVE Test

DELIMITEURS DEBUT, FIN

SITUATION NOFFRANT QUE DEUX ISSUES POSSIBLES SEXCLUANT MUTUELLEMENT

Commentaire

La structure linaire

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
Test sur 1 bit, en Pascal : Si Bit = 1 alors Opration 1 finsi Opration N

Bit = 1

Opration 1 Bit Opration Opration N

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

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 Opration N Opration Opration 1 Opration 2

Test avec une srie dopration en pascal: Si Condition 1 alors Opration 2 Opration i finsi Cond. 1 Opration 2 Opration 3 Opration i

C. 1 J Label5 Opration Opration Opration i 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 :

Dbut des instructions du Label 5

Cond. 1

Cond. 2 C. 1 C. 1 Opration C.2 Opration Opration 1 Opration 2

Exercice dapplication du ladder N1 Ex1 Ex2


I0,0 est vrai ?
OUI NON

Si 1 <= W0 <= 10
OUI

NON

Si W0=1

NON

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

OUI

Effectuer le calcul W1:=W1*2

Effectuer le calcul W1:=W1*4

SI W1<10
OUI

NON

Mettre W0 2

W1:=W1+10

W2:=W2+10

Ex3
Mise 0 de W0

Ex4
Si I0,0 . I0,1 = 1
OUI NON

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

Si I0,2 = 1
OUI

NON

Si I0,2 = 0
OUI

NON

Si W0>8
OUI

NON

W1:=10

W2:=10 W3:=10

Mise 1 de O0,1

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

Exercice ladder N2

Ex1
I0,0 est vrai ?
OUI NON

Ex2
Si W0 >1 ou W1 >1
OUI NON

Si W1=1
OUI

NON

Si W1<>1
OUI

W0<>1 NON

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

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
OUI

NON

Mettre W0 2

W1:=W1+10

W2:=W2+10

Ex3
Mise 0 de W0

Ex4
Si I0,0 + I0,1 = 1
OUI NON

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

Si I0,2 <> 1
OUI

NON

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

NON

si I0,0 =1
OUI

NON

W1:=10

W2:=10 W3:=10

Mise 1 de O0,1

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

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 1 2 3

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 Dtection bouteille sur contrle de masse Adresse des sorties Commande d'jection aprs contrle de masse Adresse des variables internes Adresse de la valeur du PTT Adresse de la valeur de la masse relle mesure Adresse de la valeur suprieure admissible %MW0 %MW10 %MW1 %Q2.1 %I1.3 %I1.4

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 W1: Type de pice W2: Matire I1,0: Bute Bas Com0,x : A dfinir. Les affectations pour le poste 1 W1: Type de pice. W2: Matire I1,0: Bute Bas Com1,x : A dfinir.

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

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 Esclave vers esclave 19 + 1,2N 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

Vous aimerez peut-être aussi