Sie sind auf Seite 1von 25

Prsentation des Langages Automates Programmables

Pierre Duysinx Prof. Henri Lecocq

SIEMENS PLCs Srie S7


CARACTRISTIQUES PRINCIPALES Multiprocesseur bit processor word processor PID processor communication processor Multi langage Liste dInstructions (IL) ou liste dinstructions Blocs Fonctionnels (LOG) ou logigramme Contact (CONT) ou langage contact Mode squentiel Programmation GRAFCET Mode dexcution squentiel

STRUCTURE DES PROGRAMMES ET DES DONNES


Blocs dorganisation Blocs Fonctionnels FB OB 1 Systme dexploitation Fonctions Sequential Function Chartl

FC SFC

FB DB

Cyclique

FC FB FB

DI

Blocs de donnes Blocs dInstance

STRUCTURE DES PROGRAMMES ET DES DONNES


Blocs dorganisation OB LOB1 est examin chaque cycle dautomate. Cest partir de ce bloc que lon fera appels aux diffrents blocs de programmes. LOB100 et lOB101 sont appels au dmarrage chaud et froid uniquement. Ils servent linitialisation des donnes. Fonctions FC Cest dans ces blocs que lon va mettre les instructions excuter. La numrotation est libre (de 0 255). Ces blocs nont pas de mmoire. Blocs de fonctions FB Ces blocs sont des FC paramtrables. On peut passer des donnes en crant des DB dinstance associs un seul FB pour le passage de paramtres. La numrotation est libre (de 0 255) Fonctions systmes SFC, blocs fonctionnels systmes SFB, blocs fonctionnels de communication CFB

STRUCTURE DES PROGRAMMES ET DES DONNES


100 ms clock Tches auxiliaires: Time based functions control loops...

OB 20

OB 100 OB 101

Procdures de Dmarrage chaud Dmarrage froid

OB 80 OB 87

Gestion des erreurs dexcution (run time errors)

STRUCTURE DES PROGRAMMES ET DES DONNES


LES BLOCS DE DONNEES Mots composs de 16 bits (DW) dans lesquels on peut lire et crire des donnes
DB n DW 0 DW 1 DW 2 Mot de 16 bits

Un bloc de donnes ouvert reste valide jusqu ce quun autre bloc de donnes soit appel ou quun bloc de code appelant soit termin avec un BE ou un BEB Dans un programme: AUF DBn L DW5

DW x

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


BIT VARIABLES Input E Output A Flag (mmo interne) M Data D Timer Output T Counter Z BYTE VARIABLES (=8 bits) Input EB Output AB Flag MB Data (left byte) DL (right byte) DR 0.0 127.7 0.0 127.7 0.0 255.7 0.0 255.7 0 127 0 127 0 127 0 127 0 255 0 255 0 255 (#byte . #bit)

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


WORD VARIABLES (= 16 bits) Input EW 0 126 Output AW 0 126 Flag (mmo interne) MW 0 254 Data DW 0 255 DOUBLE WORD VARIABLES (=32 bits) Input ED 0 126 Output AD 0 126 Flag (mmo interne) MD 0 254 Data DD 0 254

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


CONSTANTES Bit Integer unsigned Integer signed Real Hexadecimal (8 bits) (16 bits) Bit pattern ASCII characters Time Constant (S5Time) Time Constant (CPU TIME) Counter Pointer TRUE/FALSE 1/0 B#(0,0) B#(255,255) -32768 +32767 -1.175494 E -38 3.402823 E 38 B#16#0 B#16#FF W#16#0 W#16#FFFF 2#0 2#11111111 11111111 abcd S5T#0ms, S5T2h46m30s T#-24d20h31m23s746ms T#-65535ms T#+65535ms C#0 C#999 P#x.y

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


INSTRUCTIONS LOGIQUES (sur bit variables) Instructions dj disponibles en step 5 U AND ou chargement de laccumulateur du RLG si vide UN AND NOT O OR ON OR NOT U( AND sur expression entre parenthses O( OR sur expression entre parenthses ) fin parenthse S R = SET 1 de loprande (permanente) RESET 0 de loprande (permanente) assignation de loprande la valeur du RLG (1 cycle)

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


INSTRUCTIONS LOGIQUES (sur bit variables) Nouvelles instructions disponibles avec le step 7 CLR mise 0 du RLG SET mise 1 du RLG NOT X XN FN FP ngation du registre logique OU EXCLUSIF (OU NON) EXCLUSIF front montant dune variable front descendant dune variable

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


INSTRUCTIONS DE BASE SUR BYTES, WORDS ET CONSTANTES Travaille sur les accumulateurs arithmtiques (ACCU1, ACCU2) Instructions de chargement AUF Ouverture DB L Chargement: ACCU1 ACCU2, Oprande ACCU1 T Transfert ACCU1 transfr dans oprande Instructions arithmtiques +I/+D/+R Addition: ACCU1 = ACCU2 + ACCU1 -I/-D/-R Soustraction: ACCU1 = ACCU2 - ACCU1 I/D/R Multiplication: ACCU1 = ACCU2 ACCU1 I/D/R Division: ACCU1 = ACCU2 ACCU1 I si integer 16 bits, D si integer 32 bits, R si rels 32 bits

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


INSTRUCTIONS DE COMPARAISON SUR ENTIERS ET REELS Bit accumulateur mis 1 si ==D/ ==I/ ==R ACCU2 = ACCU1 ><D/ ><I/ ><R ACCU2 ACCU1 >D/ >I/ >R ACCU2 > ACCU1 >=D/ >=I/ >=R ACCU2 ACCU1 <D/ <I/ <R ACCU2 < ACCU1 <=D/ <=I/ <=R ACCU2 ACCU1 D pour entier 32 bits, I pour entiers 16 bits, R pour rels 32 bits OPERATIONS COMBINATOIRES SUR MOTS OD/OW OU sur MOT DOUBLE (32 bits) ou MOT (16 bits) UD/UW ET sur MOT DOUBLE (32 bits) ou MOT (16 bits) XOD/XOW OU EXCLUSIF sur MOT DOUBLE ou MOT

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


OPERATION DAPPEL DES BLOCS UC FC/FB Saut inconditionnel, appel du bloc CC FC/FB Saut conditionnel, appel du bloc si bit accumulateur RLG =1 CALL FC/FB/SFC/SFB saut avec transfert de paramtres exemples: call FCn call SFCn call FBn1,DBn2 call SFBn1,DBn2 INSTRUCTIONS DE FIN DE BLOC BE Fin de bloc (requis) BEB Saut conditionnel (si RLG=1) la fin du bloc BEA Saut inconditionnel la fin du bloc

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


OPERATIONS DE SAUT SPA saut (JUMP) inconditionnel SPB saut (JUMP) conditionnel si RLG=1 LOOP boucle de programme

UTILISATION DES TEMPOS (TIMERS) Dpart: U E/A/M L S5T#3S SS Tn SE: dmarrage de la tempo (retard la monte mmorise) Utilisation: U/O/UN/ON Tn Quelques types de tempos: SI, SV, SE, SS, SA

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


TYPES DE TEMPOS (TIMERS) SE: Temporisation sous forme de retard la monte Dmarrage si RLG passe de 0 1 Particularit: arrt de la temporisation si le signal de dpart retombe 0 SS: Temporisation sous forme de retard la monte mmoris Particularit: la tempo continue mme si le signal de dpart retombe 0 SA: Temporisation sous forme de retard la retomb Dmarrage si RLG passe de 1 0 SI: Temporisation sous forme d'impulsion La tempo monte 1 aprs le dpart et redescend aprs le temps imparti SV: Temporisation sous forme d'impulsion prolonge Particularit: la tempo continue mme si le signal de dpart retombe 0

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


MODE DADRESSAGE DIRECT ET INDIRECT Mode direct: L 4 L MW7 Mode indirect: L T L L L U 5 MW2 T[MW2] quivalent P#8.7 MD2 E[MD2] quivalent

T5

U E8.7

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE STEP 7 IL


NOUVEAUX TYPES DE VARIABLES Array: ARRAY[x1..x2,y1..y2,z1..z2] Structure: STRUCT : : END_STRUCT <name-struct.name-var>

EDITEUR DE PROGRAMME STEP 7


PROGRAMME SOUS WINDOWS 95 ARCHITECTURE ARBORESCENTE DU PROJET
niveau 1, le projet: la station connecte et le rseau (MPI) niveau 2, la dfinition de la station: CPU et sa configuration matrielle niveau 3, les diffrents programmes (programmes S7) et la table de connexion pour le rseau niveau 4: sources externes, tables de mnmoniques niveau 5: les blocs de programmes.

PROGRAMMER ON LINE ou OFF LINE PLUSIEURS LANGAGES: IL, CONT, LOG VISUALISATION DYNAMIQUE ET FORCAGE DS VARIABLES DEFINITION DE LA CONFIGURATION MATERIELLE

ALLEN BRADLEY CONTROL LOGIX 5550


CARACTRISTIQUES PRINCIPALES

Processeur
logique de communication

Communications
RS 232 / 422 / 423 DH+ RIO (Remote I/O)

RESEAUX:
ETHERNET TCP/IP (option) DEVICENET

LANGAGES
LD (ladder) SFC (Sequential Function Chart bas sur la norme IEC 1131-3) Function Blocks (FB)

10

ORGANISATION DES PROGRAMMES


Tasks Main tasks Main Programm Programm Tags Main routine_0 Routine_1 Routine_2 ... Unscheduled Programm Programm Tags Main routine_A Routine_B ...

ADRESSAGE DES VARIABLES


LADRESSAGE COMPLET Ladressage se fait en suivant la logique du matriel Par exemple Local: 2:I.Data.11 o 2 = numro du rack de la carte (sur notre matriel 1 = Devicenet, 2 carte dentres, 3 cartes des sorties) I est mis pour entres et O pour sorties Data = donnes 11 = numro du bit (sur notre matriel, 0 31) UTILISATION DE TAGS Il est possible de dfinir des noms qui pointent vers l adresse physique et qui voquent la signification de la variable

11

DEFINITION DES VARIABLES


La dfinition des donnes est ralise dans Controller Tags pour tous les programmes ou bien dans Programme Tags si la dfinition doit tre valable uniquement dans le programme considr. La dmarche de dfinition dune nouvelle variable est assez semblable celle que lon trouve pour les langages de programmation structures des ordinateurs (Pascal , Fortran, C) : dfinition du nom de la variable, de son type et de son champ si cest un tableau. De manire pragmatique, on utilise les lignes des tableaux mis disposition. Les variables qui seront visibles par OPC seront dfinies dans Controller Tags .

TYPE DE DONNEES
BOOL Boolen, cest--dire 1 bit Valeur 0/1 SINT Entier court cod sur 7 bits + S:C (bit de report), soit 1 octet Valeur de -128 +126 INT Entier cod sur 15 bits + S:C (bit de report), soit 2 octets Valeur de -32768 +32767 DINT Entier double cod sur 31 bits + S:C (bit de report), soit 4 octets Valeur de - 2 147 483 648 + 2 147 483 647

12

TYPE DE DONNEES (suite)


REAL Nombre (rel) en virgule flottante cod sur 4 octets Valeurs entre -3,402823E38 -1,1754944E-38 (valeurs ngatives), 0 et 1,175499E-38 3,402823E38 (valeurs positives) REMARQUE
Les types de donnes sont conformes aux types dfinis dans la norme CEI 1131-3

CONVERSIONS
Il est possible de convertir
des SINTs ou des INTs en REALs (sans perte de prcision) des DINTs en REALs (avec ventuelle perte de prcision cause de l exposant du REAL) des REALs en un nombre entier avec arrondi

Il est impossible de convertir partir ou vers le type de donne BOOL

CONCEPT DE TABLEAU
DEFINITION one_d_array two_d_array three_d_array DINT[3] DINT[4,5] DINT[2,3,4]

Les dimensions sont bases sur zro (i.e. les indices commencent zro) par exemple, dans one_d_array one les lments suivants: one_d_array[0], one_d_array[1], one_d_array[2] LA RFRENCE aux lments peut se fait de manire statique par exemple: one_d_array[1] ou de manire dynamique par exemple: MOV la valeur 2 dans la variable position et puis faire one_d_array[position]

13

CONCEPT DE TABLEAU (suite)


ATTENTION! Assurez-vous que tout indice de tableau est dans les limites de dfinition du tableau. Les instructions qui lisent les tableaux produisent un dfaut majeur si lindice dpasse la dimension dclare. BIT DANS UN TABLEAU On peut adresser des bits dans des lments dun tableau laide du . Exemple: one_d_array[0].3 STOCKAGE DES DONNEES DUN TABLEAU pour un tableau deux dimensions, le stockage seffectue ligne par ligne ALLOCATION DE MEMOIRE les bits de poids fort sont placs en premier lieu dans les adresses de la mmoire

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


ADRESSAGE DES VARIABLES Structure ex. les tempos Bit DN T4 : 0.DN (Bit done ) Word PV T4 : 0.PRE Word ACT4 : 0.ACC DIVERS Bit systme

S : 1 / 15

mis 1 lors du premier cycle dautomate

14

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


PRINCIPALES INSTRUCTIONS SUR BITS A A -] [A -] / [A -( )A -(L)-[ONS]-

non A

A=1 A -(U)-

set A

reset A

Valide les sorties quand les entres prcdents linstruction ONS passent de 0 1

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


INSTRUCTIONS DE TYPE RELAIS Test circuit ferm XIC (et) Test circuit ouvert XIO (et pas) Activation de sortie OTE (=) Accrochage de sortie OTL (set) Dcrochage de sortie OTU (reset) Entre immdiate IIN Sortie immdiate IOT INSTRUCTIONS LOGIQUES
ET logique OU logique OU exclusif Complment AND OR XOR NOT

15

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


INSTRUCTIONS DE TEMPORISATION ET DE COMPTAGE Temporisation au travail: TON Temporisation au repos: TOF Temporisation mmoire RTO Compteur CTU Dcompteur CTD Remise zro RES INSTRUCTIONS DE COMPARAISON Comparaison CMP Egalit EQU Diffrence NEQ Supriorit GRT Supriorit ou galit GEQ Infriorit LES Infriorit ou galit LEQ

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


INSTRUCTIONS DE CALCUL Calcul CPT Addition ADD Soustraction SUB Multiplication MUL Division DIV Moyenne AVE Effacement CLR Ngation NEG Racine carre SQR Tri SRT Ecart type STD

16

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


INSTRUCTIONS DE TRANSFERT Transfert dun mot: MOV Transfert masqu MVM INSTRUCTIONS DE CONTROLE DE PROGRAMME Saut JMP Saut au sous-programme JSR Etiquette LBL Retour RET Boucle FOR, NXT, BRK Fin temporaire TND INSTRUCTIONS DE DIALOGUE MODULES INTELLIGENTS Transfert en bloc criture BTW Transfert en bloc lecture BTR INSTRUCTIONS DE COMMUNICATIONS MSG

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


PRINCIPALES INSTRUCTIONS DE PROGRAMMATION Comparaison: Bloc EQU Affectation: Bloc MOV EQUAL source A et source B MOVE source A vers source B TIMER ON DELAY COUNT SEND/RECEIVE MESSAGE

Temporisation: Bloc TON Compteur Bloc CTU

Envoie et Bloc MSG rception de messages:

17

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE LADDER


PRINCIPALES INSTRUCTIONS DE PROGRAMMATION 99 Saut: -(JMP)99 Label: -[LBL]Appel sous routine: Fin de sous routine: Bloc JSR Bloc RET JUMP TO SUBROUTINE RETURN

EDITEUR DE PROGRAMME ROCKWELL SOFTWARE


ATELIER RSLOGIX sous Windows 2000
Programmation RSLOGIX Interface rseau RSLINX Configuration rseau RSNETWORX

PLUSIEURS LANGAGES
Grafcet Ladder diagramm (langage relais)

PROGRAMMER ON LINE ou OFF LINE POINTS MARQUANTS


programmation on line trs performante visualisation dynamique mnmoniques (tags) trs bonne documentation

18

TELEMECANIQUE SCHNEIDER TSX PREMIUM


CARACTRISTIQUES PRINCIPALES Multiprocesseur Processeur principal Processeur de contrle daxe Processeur dinterface avec loprateur Processeur de communication Multi langage Ladder Literal (langage arithmtique et boolen de haut niveau) Mode squentiel Programmation GRAFCET Mode dexcution squentielle

ORGANISATION DES PROGRAMMES


PRIORITY INTERRUPT INTERRUPT DRIVEN TASK HIGH OPTIONAL FAST TASK CLOCK (40 - 80 ms) MASTER TASK PRE-PROC GRAFCET CLOCK (10 - 20 ms)

MANDOTORY

SCHEDULER POST-PROC CLOCK (150 - 500 ms) AUXILIARY TASKS 0 1 2 3 LOW OPTINAL

19

LES VARIABLES DU TSX PREMIUM


ADRESSAGE DES BITS
Bits dentre % IXx.i Bits de sortie %QXx.i Bits internes %MXi Bits systmes %Si Bits extraits de mots ex. %MW10:X5 Bits dtape (prog. GRAFCET) %Xi

(accs en criture)

(accs en criture)

ADRESSAGE DES MOTS


% Symbole M, K ou S = Type d'objet: M = interne, K = constante, S = systme B, W, D ou F = Format : B = octet, W = mots, D = double mots, F = flottants i = Numro

LES VARIABLES DU TSX PREMIUM (suite)


ADRESSAGE DES OBJETS DE MODULES ENTRES/SORTIES DANS DES RACKS Dans les quipements FIPIO, l'adressage des principaux objets bits et mots d'entre/sortie est dfini par les caractres suivants:
% = Symbole I,Q, M ou K = Type dobjet: I = entre, Q = sortie, M = information en lecture-criture, K = information en configuration X, W, D ou F = Format : X = boolen, W = mots, D = double mots, F = flottants xy.i = Adresse du rack (x), position (y) et numro de voie (i) du module TSX-Premium .r = Rang : r=0 127 ou ERR

POUR L'ADRESSAGE TRAVERS LE RSEAU OU LES ENTRES / SORTIES DPORTES Le chemin complet la station est rajout au numro de position (ou rack position) encadr par le sparateur backslash \. Exemple: %I\0.2.1\0.16 bouton rouge sur notre poste balle %Q\0.2.1\0.16.2 lampe rouge correspondante

20

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3 (LITERAL)


INSTRUCTIONS SUR CHAINE DE BITS Bitx[y] Biti[j] Transfert un chane vers une autre chane x = premier bit transfrer [y] = nombre de bits transfrer Bitx[y] word Word Bitx[y] Remarque les bits de poids le plus faible sont toujours aligns

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3 (LITERAL)


SYNTAXE Format ! Phrases LITTERALE (Literal language) 512 charactres maximum Phrase dactions: une ou plusieurs actions seules spares par des ; ! RESET B6 ! B1 . B3 O4,6 ; W4 + W6 W8 Conditions: ! IF Condition THEN Action ; END_IF ! IF Condition THEN Action 1 ELSE Action2 ; END_IF ex: ! IF Condition THEN SET B6 ; END_IF ! IF Condition THEN SET B6 ELSE RESET B4; ; END_IF Structure itrative ! WHILE Condition DO Action

21

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3 (LITERAL)


APPEL AUX SOUS ROUTINES Routine principale MAIN Sous routines SR* Appel aux sous routines CALL SRn Fin de sous routine (retour) RET SAUTS ET LABELS JUMP L{Label de ligne} L{Label de ligne}

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3 (LITERAL)


TEMPORISATIONS Preset de la tempo STOP T1 ; 20 T1,P ; PRESET T1 Dmarrage tempo START T1 Utilisation de la tempo T1,D Bi

22

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3


BIT VARIABLES Input Output Flag (mmo interne) GRAFCET step Data words Common words Ixy,i Oxy,i Bi Xi Wi,j COMi,j,k x le numro du rack: de 0 F y le numro du slot: de 0 F i le numro du bit: de 0 F i = 0 4000 (max) i = 0 127 (max) i, le numro du mot: de 0 64000 (max) j, le numro du bit: de 0 F i, le numro de la station: de 0 F j, le numro du mot: de 0 3 k, le numro du bit: de 0 F

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3 (LITERAL)


WORD VARIABLES (=16 bits) Data Words Wi i = 0 64000 (max) Common Words COMi,j i = numro de la station: de 0 F j = le numro du mot: de 0 3 GRAFCET Xi,V i = numro du step: de 0 127

23

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3 (LITERAL)


INSTRUCTIONS SUR BIT Bit Accs au bit Bit Assignation au Bit SET Bit Set (=mise 1 ) du Bit RESET Reset (=mise 0 ) du Bit RE(Bit) Dtection du front montant du Bit FE(Bit) Dtection du front descendant du Bit NOT Inversion logique du Bit . AND logique + OU logique () Parenthses

REVUE DES PRINCIPALES INSTRUCTIONS DU LANGAGE PL7-3 (LITERAL)


INSTRUCTIONS SUR MOT Word Accs au mot Word Assignation un mot INC Incrmentation du mot DEC Dcrmentation du mot Comparaisons >, >=, <, <=, =, <> Attention: mettre les arguments entre [ ] Oprations arithmtiques +, -, *, / Oprations logiques AND, OR, XOR, CPL (complments)

24

EDITEUR DE PROGRAMME TELEMECANIQUE


ATELIER LOGICIEL XTEL SOUS OS/2
PL7 3 SDBASE logiciel de programmation base de donnes et des mnmoniques

PLUSIEURS LANGAGES: GRFCET ou LANGAGE LITTERAL PROGRAMMER ON LINE ou OFF LINE MODES OPERATOIRES
Configuration: Programme: accder et diter les diffrentes sous routines Constante: Rglage: Donnes: Mise au point: visualisation dynamique des variables Transfert: entre le PC et lautomate

25

Das könnte Ihnen auch gefallen