Sunteți pe pagina 1din 21

AUTOMATE PROGRAMABILE

1. Introducere Un programator, cunoscut i sub abrevierea PLC (Programmable Logic Controller), reprezint, conform standardului EN 61131-1 (IEC 61131-1), un sistem electronic digital destinat mediului industrial ce include n structura sa o memorie programabil pentru stocarea intern a instruciunilor utilizator care implementeaz funcii specifice (logice, secveniale, de temporizare, numrare sau aritmetice) n vederea controlului diverselor tipuri de maini sau procese industriale prin intermediul intrrilor i ieirilor digitale sau analogice. Conform acestei definiii, un programator reprezint practic un sistem de calcul destinat realizrii aplicaiilor de control specifice mediului industrial. Fa de sistemele de control clasice cu relee, utilizarea programatoarelor ofer o serie de avantaje, printre care se menioneaz: - programare simpl; - posibilitatea modificrii programelor fr a fi necesar intervenia n sistem (reconfigurarea cablajelor); - dimensiuni reduse, pre avantajos i fiabilitate sporit fa de cazul sistemelor cu relee clasice; - ntreinere uoar, realizat cu costuri rezonabile. Iniial, rolul unui programator consta n furnizarea unui semnal de ieire boolean (1 adevrat sau 0 - fals) corespunztor unui set de semnale de intrare de asemenea booleene, pe baza unui program furnizat de ctre utilizator. n timp, funcionalitatea unui asemenea sistem s-a dezvoltat permanent, astfel nct n prezent temporizarea, numrarea, setarea i resetarea memoriei, efectuarea de calcule matematice constituie posibiliti oferite de orice PLC din generaia actual. Interconectarea ntre programatoare sau conectarea unui programator la calculatorul de tip master se realizeaz prin intermediul unor interfee speciale de comunicaii, n general standardizate. Datorit performanelor lor sporite, sistemele PLC avansate pot inclusiv s-i asume rolul calculatorului de tip master. n prezent, programatoarele dispun, pe lng intrri i ieiri binare, i de intrri i ieiri analogice, ca o consecin a numrului crescut de aplicaii industriale ce necesit procesarea analogic a semnalului (msurarea forei, reglarea vitezei, sisteme de poziionare servopneumatice). Totodat, achiziia sau furnizarea de semnale analogice permit compararea acestora cu un set de valori de referin i deci autoreglarea sistemelor deservite de PLC. Structura unui programator este prezentat n figura 1.

Fig.1

Modulul de intrare are rolul de a converti semnalele de intrare n semnale apte de a fi procesate de ctre PLC i de a le transmite unitii centrale de control. Modulul de ieire ndeplinete sarcina invers, respectiv convertirea semnalelor furnizate de programator n semnale de comand pentru actuatorii din sistem. Prelucrarea semnalelor este efectuat de unitatea central de control pe baza programului software nmagazinat n memorie. Programarea unui PLC poate fi realizat n mai multe moduri: - prin intermediul comenzilor scrise n limbajul de programare Statement List (STL), asemntor limbajului de asamblare; - prin intermediul limbajelor de programare dedicate; - prin intermediul limbajelor de programare grafice. n funcie de modul n care unitatea central de control este conectat la modulele de intrare, respectiv ieire, se disting programatoare realizate n structur compact (la care modulul de intrare, unitatea central de control i modulul de ieire sunt dispuse n aceeai carcas) i programatoare cu structur modular. Acestea din urm pot fi configurate individual, n funcie de aplicaia dorit, iar interconectarea poate fi realizat att prin amplasarea n aceeai carcas ct i prin intermediul magistralelor de comunicaii. O soluie promovat n ultimii ani o constituie proiectarea programatorului pe baza tehnologiei circuitelor imprimate dispuse n aceeai carcas standardizat. n toate situaiile, realizarea hardware trebuie s permit utilizarea programatorului n condiii specifice mediului industrial: zgomot, temperaturi nalte, umiditate, fluctuaii ale semnalului de alimentare, ocuri i vibraii. Utilizarea tot mai rspndit a dispozitivelor de tip PLC a condus la necesitatea standardizrii acestora, precum i a dispozitivelor periferice asociate (instrumente de programare i diagnoz, echipament de testare, interfee ommain). n consecin, n anul 1992 a fost elaborat standardul EN 61131 (IEC 61131), care i propune s defineasc i s standardizeze concepia i rolul funcional al unui programator, precum i limbajele de programare asociate.
2

2. Prezentarea programatorului n figura 2 este prezentat un programator FEC (Front End Controller), fabricat de firma FESTO ce are n structura sa: - un procesor: AMD 186 20 MHz (compatibil Intel 80186); - o memorie program: flash 256 kB x 16 bii (>100.000 cicluri citire / scriere); - o memorie de lucru: SRAM 256 kB x 16 biti; - o memorie de date: 32 kB (date permanente 2 kB n memoria flash). Acest echipament are 12 intrri digitale ce formeaz dou grupuri, de 8 respectiv 4 intrri. n interiorul programatorului toate intrrile dintr-un grup sunt conectate la un nod comun: - primele 8 la S0; - ultimele 4 la S1. n exemplul anterior: - senzorii de tip PNP se conecteaz la intrrile din prima grup (deoarece S0 a fost conectat la 0V); - senzorii de tip NPN se conecteaz la intrrile din cea de-a doua grup (deoarece S1 a fost conectat la 24V). Ieirile automatului luat ca exemplu sunt n numr de 8, dispuse n 3 grupuri, fiecare grup fiind conectat la cte un nod comun: C0, C1 i C2. Cele trei noduri pot fi alimentate cu tensiuni diferite, n funcie de aplicaie. La comanda de activare a unei ieiri releul acestuia se nchide, la bornele ieirii fiind disponibili 24 V. Pentru protecia la scurtcircuit a releelor de ieire se pot monta sigurane fuzibile (Ssig) ntre sursele de tensiune i bornele C0, C1 i C2. Tot pentru protecia releelor la sarcini inductive semnificative, se pot monta n paralel cu fiecare releu diode Zener. Aceste msuri au rolul de a prelungi viaa programatorului, dat fiind faptul c releele sunt cele mai sensibile componente ale acestuia. Automatul programabil se poate conectat la un PC printr-un cablu, de cele mai multe ori prin portul serial RS 232. Sistemul de calcul trebuie s aib instalat un pachet de produse software dedicat pentru programarea PLC-urilor. La nivelul sistemului de calcul se scrie programul de lucru, care apoi este transferat n memoria PLC-ului.

S1

S1

..

S3

24V

0V

I0.0

I0.1

I0.2

I0.3

I0.4

I0.5

I0.6

I0.7

S0

I1.0

I1.1

I1.2

I1.3

S1

Ssig AUTOMAT PROGRAMABIL

O0.0

O0.1

O0.2

O0.3

C0

O0.4

O0.5

C1

O0.6

O0.7

C2

220 V

D1

R1

..

Fig.2

3. Prezentarea mediului de programare Mediul de programare folosit este FST - Festo Software Tools; acesta a fost dezvoltat de firma FESTO pentru mai multe tipuri de automate programabile i calculatoare industriale. Principala caracteristic a acestui mediu este prezena unui sistem de meniuri standard pentru toate variantele n care este disponibil. Diferitele variante ale acestui software depind de automatul programabil cruia softul i este destinat. Mediul de programare FST a fost conceput astfel nct s fie instalat pe un sistem de calcul obinuit. Pentru FEC sunt disponibile limbajele de programare Statement List (STL) i Ladder Diagram (LDR).

O noiune pe care o introduce acest mediu de programare este aceea de proiect, care este o unitate de control a programelor; el poate conine unul sau mai multe programe i blocuri de funcii. Pe lng programe, un proiect poate conine o list de alocare i un text cu documentaia proiectului. n consecin, pentru fiecare nou aplicaie de automatizare se impune crearea unui nou proiect. n cele ce urmeaz se vor prezenta principalele elemente ale mediului de programare FST. 3.1. Operanzi Variabilele de programare (operanzii) mediului FST desemneaz locaii de memorie, intrri, ieiri, temporizatoare, numrtoare etc. Aceti operanzi reprezint numele resurselor sistemului i utilizarea lor n cadrul unui program constituie unica modalitate de accesare a acestor resurse. n funcie de dimensiunea lor exist dou tipuri de operanzi: - de un singur bit (SBO single bit operands); - de mai muli bii (MBO multibit operands). Operanzii de un bit pot fi evaluai ca adevrai sau fali i pot fi modificai din 0 n 1 logic sau invers. Evaluarea i modificarea lor se realizeaz cu ajutorul unor instruciuni specifice. n timpul interogrii i modificrii operanzilor de un bit, acetia se ncarc ntr-un registru special de un bit al procesorului, numit Single Bit Accumulator (SBA). Operanzii multibit sunt acele resurse care se pot accesa ntr-un octet (8 bii) sau cuvnt (word, 16 bii) i care reprezint numere ntregi. Ei pot varia n domeniile: - 0...255, pentru un octet; - 0...65535, pentru un cuvnt reprezentat ca un numr ntreg fr semn; - -32767...32767, pentru un cuvnt reprezentat ca numr ntreg cu semn. Valoarea unui asemenea operand poate fi testat prin comparare (>, < etc.) cu valori constante sau cu ali operanzi multibit. n momentul modificrii, operanzii MBO sunt ncrcai ntr-un registru special al procesorului, numit Multi Bit Accumulator (MBA). Intrrile, n numr de 12, au fost grupate n dou cuvinte, adresa unei intrri fiind notat cu litera I, urmat de numrul unui cuvnt i de numrul bitului din structura acestui cuvnt, cele dou numere fiind separate prin punct. La configurarea intrrilor i ieirilor se stabilesc numerele cuvintelor pe care utilizatorul dorete s le foloseasc pentru desemnarea adreselor absolute ale intrrilor i ieirilor automatului programabil. Dac se alege pentru intrare, ca adres a primului cuvnt, numrul 0, atunci n programe intrrile vor fi accesate cu notaiile: I0.0, I0.1, I0.2, I0.3, I0.4, I0.5, I0.6, I0.7, I1.0 I1.1, I1.2, I1.3; cuvintele de intrare pot fi accesate direct cu operanzii IW0, IW1. Ieirile sunt n numr de 8; astfel, alegnd spre exemplu ca adres a cuvntului de ieire numrul 0, n programe ieirile programatorului vor fi accesate cu
5

notaiile: O0.0, O0.1, O0.2, O0.3, O0.4, O0.5, O0.6, O0.7; exist i posibilitatea adresrii tuturor ieirilor (ntregului cuvnt de ieire) prin operandul OW0. Temporizatoarele reprezint tipuri speciale de date constituite din trei operanzi. Pentru cazul programatorului FEC sunt disponibile 256 temporizatoare, numerotate de la 0 255. Referindu-ne la temporizatorul numrul n, acesta poate fi accesat prin urmtorii operanzi: 1. Tn Timer Status, este un operand de un bit care reprezint starea temporizatorului n; el poate fi interogat n orice moment pentru stabilirea strii logice - IF Tn THEN .,; de asemenea el poate fi activat sau dezactivat cu instruciunile SET Tn respectiv RESET Tn; 2. TPn - Timer Preselect, este un operand multibit (16 bii) care reprezint valoarea setat pentru temporizatorul n de utilizator n uniti de timp (o unitate de timp are valoarea de o sutime de secund). Setarea unei valori n TPn se face explicit cu o instruciune de ncrcare, aa cum se arat n exemplul urmtor: LOAD V200 TO TP2. Prin aceast instruciune se ncarc valoarea 200 (2 secunde) n temporizatorul T2. 3. TWn Timer Word, este un operand multibit (16 bii) care reprezint valoarea curent a temporizatorului; la activarea temporizatorului, valoarea TPn se va ncarc automat n TWn; acest numr va fi apoi decrementat la fiecare impuls de ceas; cnd TWn a ajuns la zero timpul programat a expirat. Numrtoarele sunt de asemenea tipuri de date constituite din trei operanzi ce pot fi utilizate pentru nregistrarea n timp a unui numr de evenimente; sunt disponibile tot 256 numrtoare de tip incremental. Cei trei operanzi prin care poate fi accesat un numrtor n sunt: 1. Cn Counter Status este un operand de un bit n care se memoreaz starea numrtorului n; acest operand poate fi interogat n partea condiional a oricrei linii a programului; el poate fi activat sau dezactivat cu instruciunile SET Cn i RESET Cn; 2. CPn Counter Preselect este un operand multibit de un cuvnt n care se ncarc valoarea setat de utilizator; acest operand rmne neschimbat n timpul numrrii; schimbarea valorii lui se efectueaz o singur dat, la iniializare; 3. CWn Counter Word este un operand multibit de un cuvnt n care se gsete valoarea curent a numrtorului n. Incrementarea acestei valori se realizeaz cu instruciunea INC CWn. Toi operanzii descrii mai sus sunt operanzi absolui. Mediul FST permite asocierea unor nume simbolice datelor din memorie, nume simbolice ce reprezint iruri de caractere folosite n timpul programrii pentru a substitui operanzii absolui. n acest fel, programarea aplicaiilor mai complexe se poate
6

realiza mai uor, numele simbolice fiind asociate cu echipamente i aciuni familiare utilizatorului. Numele simbolice se numesc operanzi simbolici i pot fi formate din 9 caractere alfanumerice, la care se adaug caracterul _. Numele simbolice nu trebuie s nceap cu o cifr i nu trebuie s conin spaii libere. Definirea acestor operanzi simbolici se realizeaz n cadrul unei liste de alocare; aceasta poate fi creat nainte de scrierea programului, existnd i posibilitatea de a introduce noi elemente n list n timpul programrii. Principalul avantaj al utilizrii listei de alocare const n scrierea i nelegerea mai rapid a programelor. Un al doilea avantaj se refer la necesitatea reactualizrii unui program n cazul n care s-au efectuat mici modificri n ordinea semnalelor de intrare sau de ieire. Astfel, dac se utilizeaz nume simbolice, programul-surs poate s rmn neschimbat, modificrile fiind operate doar la nivelul listei de alocare. 3.2. Limbajul Ladder Diagram - LDR Ladder Diagram este un limbaj de programare grafic. Un program scris cu acest limbaj este asemntor cu diagrama unui circuit electric de tip american. Avantajele acestui limbaj de programare sunt: - ntruct este un limbaj grafic, este uor de nvat; - programele pot fi scrise i modificate cu uurin. Structura unui program (fig.3) este format din: - ramuri principale - rungs; - ramuri paralele - branches.
Contact ND Ramura principala Contact NI Spira

Ramuri paralele

Partea conditionala

Partea de executie

Fig.3

Fiecare ramur principal are o parte condiional i o parte de execuie. n partea condiional exist uzual unul sau mai multe contacte normal nchise sau normal deschise, n timp ce la nivelul prii condiionale poate exista o bobin coil sau mai multe cuplate n paralel. Fiecare element contact sau bobin
7

necesit cel puin un operand. Dac acesta lipsete, atunci programul va avea erori care vor fi evideniate la compilare. n partea condiional se evalueaz o funcie logic definit de utilizator cu ajutorul contactelor i/sau al casetelor de comparaii logice. Partea de execuie se declaneaz atunci cnd partea condiional a fost evaluat ca fiind adevrat, adic 1 logic. Casetele de comparaie (fig.4) permit comparaii cu rezultat logic (adevrat sau fals) ntre operanzi multibit. Sunt folosite frecvent pentru evaluarea numrtoarelor (fig.5).

Fig.4

Exist 6 tipuri de comparaie: =, >, <, , , <>. La intrrile n caset sunt specificai cei doi operanzi care se compar. Valoarea lor este comparat conform simbolului din caset, iar valoarea de adevr se transmite mai departe n partea condiional.

Fig.5

Contactele sunt asociate intrrilor automatului programabil, unde pot fi conectate diferite echipamente care au dou stri de funcionare, i anume: - contacte ale releelor din sistem; - contactele butoanelor de comand; - contactele limitatoarelor de curs; - contacte ale detectoarelor de mrimi fizice; - contacte ale echipamentelor de protecie din sistem; - ieirile digitale ale unor aparate de msur; - ieirile digitale ale altor automate programabile sau sisteme de comand.
8

Bobinele sunt asociate ieirilor automatului programabil, dar i unor variabile interne (operanzi multibit). n exemplul de figura 6, dac condiia este ndeplinit:

Fig.6

- se realizeaz "Execuie 1" atta timp ct condiia este ndeplinit; - "Execuie 2" este ntrerupt atta timp ct condiia este ndeplinit; - se iniializeaz "Execuie 3"; aceasta rmne activat chiar dac condiia nu mai este ndeplinit; - se ntrerupe "Execuie 4"; acesta rmne n aceast stare chiar dac condiia nu mai este ndeplinit; - se realizeaz incrementarea unui operator multibit cu +1; - se realizeaz decrementarea unui operator multibit cu -1. Observaie: comanda de incrementare se execut doar cnd starea logic a prii condiionale trece din 0" logic n 1 logic, adic numai pe frontul cresctor al semnalului Condiie. La ieirile automatului programabil pot fi conectate echipamente care au dou stri de funcionare, de exemplu: - bobinele releelor din sistemul deservit de automat; - echipamente de semnalizare acustic sau luminoas; - intrrile digitale ale unor aparate de msur, protecie sau comand; - intrrile digitale ale altor automate programabile sau sisteme de comand. Logica de procesare a unui automat programabil este urmtoarea: - programele sunt executate n ordine, ramur dup ramur, de sus n jos; - cnd ramura este simpl fr conexiuni n paralel partea condiional se evalueaz de la stnga la dreapta, dup care se realizeaz partea de execuie;
9

- cnd exist conexiuni de tip SAU n partea condiional (conexiuni n paralel) este realizat mai nti evaluarea acestora; - cnd n partea de execuie exist conexiuni n paralel acestea se execut de sus n jos; - dup executarea programului, acesta se reia. Ramurile principale sunt numerotate n mod automat de ctre mediul de programare. Din acest motiv exist o secven clar de procesare a unui program. nainte de ncrcarea programului n automat programul este translatat n cod main cu ajutorul unui program special numit compilator. Instruciunile cuprinse n ramuri sunt translatate consecutiv, conform numerotrii i a ordinii apariiei n program. Cnd se pornete automatul (cu ntreruptorul RUN/STOP sau prin alimentarea cu tensiune) instruciunile se execut de la prima linie de program. n tabelul 1 sunt prezentate modul n care sunt realizate operaiile de baz n LDR.
Tabelul 1

Funcia logic SI

Realizare

SAU

NEGAIE (n partea condiional) NEGAIE (n partea de execuie) IDENTITATE

SAU EXCLUSIV

10

Operaia NOP

Operaia de memorare (fig.7) este asemntoare cu metoda de automeninere ntlnit n cazul releelor (fig.7c). Este vorba de o memorie de 1 bit. n automatele programabile aceast memorie se realizeaz cu comenzile SET i RESET, cu ajutorul contactelor. Se disting dou tipuri de circuite bistabile corespunztor comportrii ieirii A n cazul n care cele dou semnale S i R sunt simultan 1 logic, i anume: a. cu resetare dominant (fig.7a) oricare ar fi starea intrrii S (0 sau 1 logic) la activarea intrrii R ieirea A va trece obligatoriu n starea 0 logic; b. cu setare dominant (fig.7 b) oricare ar fi starea intrrii R (0 sau 1 logic) la activarea intrrii S ieirea A va trece obligatoriu n starea 1 logic. Comanda de salt apare n partea executiv a programului. Ea ofer posibilitatea de a reduce timpul unui ciclu prin saltul peste instruciunile inutile din program la un moment dat. La urmtorul ciclu aceste instruciuni (peste care s-a efectuat saltul) pot fi executate, dac condiiile concrete din sistem o cer. Se pot programa un numr nelimitat de salturi. O comand de salt (fig.8) se insereaz n partea executiv a unei ramuri i conine o etichet care reprezint destinaia saltului, adic punctul din program de unde se execut urmtoarea instruciune. Eticheta (un ir de maxim 9 caractere alfanumerice, ce ncepe cu o liter) se insereaz la nceputul ramurii de la care se dorete reluarea procesului. Operaia TO este utilizat pentru a transfera valoarea unui operand multibit ctre un operand int. Operaiile viitoare vor fi aplicate operandului int. Spre exemplificare, n figura 9, dac exist intrarea I0.1 valoarea operandului surs CW1 este transferat operandului int aici R1. n figura 10 sunt prezentate toate operaiile binare multibit. Acestea sunt: - operaii logice bit cu bit ntre doi operanzi multibit: AND, OR, EXOR (SAU exclusiv); - schimbarea ntre ei a valorilor octeilor MSB i LSB ai unui operand multibit (16 biti): SWAP; - translatarea tuturor biilor spre stnga sau spre dreapta: SHL sau SHR; - rotirea biilor spre stnga sau dreapta: ROL, ROR;
11

- inversarea bit cu bit al unui operand multibit: INV; - complementul n baz doi al unui operand multibit: CPL; - conversia unui numr din reprezentare binar n reprezentare BCD (Binary Coded Decimal): BID; - conversia unui numr din reprezentare BCD n reprezentare binar: DEB.

a.

b.

c. Fig.7

a.

b. Fig.8

Fig.9

Observaie: primul operand este sursa (asupra lui se exercit funcia), iar al doilea este destinaia (n el se nregistreaz rezultatul operaiei).
12

n figura 11 se folosete operaia de rotire spre stnga cu un bit a coninutului operandului IW1. Rezultatul se nregistreaz n operandul FW3.

Fig.10

Fig.11

Operaiile aritmetice cu doi operanzi multibit sunt posibile numai n partea executiv a unei ramuri (fig.12).

Fig.12

3.3 Limbajul Statement List - STL Un program STL este obinut prin scrierea de instruciuni n modul text. Ca orice limbaj de programare n modul text, acesta folosete un set de cuvinte cheie. Ordinea de scriere i tipul acestora determin structura programului i modul de funcionare al acestuia. Structura unui program STL Pentru scrierea unui program n STL se poate opta pentru una dintre urmtoarele structuri posibile: - program cu pai (STEP program); - program paralel; - program executiv. Primul tip de program este cel mai general, celelalte dou tipuri fiind cazuri particulare obinute prin simplificarea primului.

13

Un program cu pai poate conine pn la 256 pai, delimitai prin instruciunea STEP, urmat (opional) de un numr sau un nume dat de utilizator; acesta permite utilizarea unor instruciuni de salt n cadrul programului. Un pas al programului conine una sau mai multe secvene, o secvena avnd o anumit sintax, ce poate s conin: o clauz condiional format din cuvntul cheie IF urmat de o expresie logic simpl sau complex care se va evalua ca fiind adevrat sau fals; o clauz executiv format din cuvntul cheie THEN urmat de o serie de instruciuni care se vor executa doar n cazul n care partea condiional a fost evaluat ca fiind adevrat; o clauz executiv alternativ format din cuvntul cheie OTHRW.. urmat de un set de instruciuni care se vor executa n cazul n care expresia logic din partea condiional a fost evaluat ca fiind fals; aceast instruciune poate lipsi. Un program cu pai este executat pas cu pas; dac nu exist clauza OTHRW i partea condiional este fals, atunci programul reia instruciunile pasului curent, pn la ndeplinirea ultimei condiii. n prima secven din cadrul unui pas (imediat dup STEP) se poate omite partea condiional i se poate ncepe direct cu THEN, aceasta fiind o secven incomplet. Programul va trece la pasul urmtor numai dac la ultima secven a pasului curent se execut: - fie instruciunile care urmeaz dup THEN (partea condiional este adevrat); - fie pe cele care urmeaz dup OTHERW, dac exist (partea condiional este fals). Dac nu exist OTHERW i partea condiional este fals atunci programul reia instruciunile pasului curent. n acest fel se ateapt ndeplinirea ultimei condiii pentru trecerea la pasul urmtor. Observaie: n ultima secven IF...THEN a pasului curent se stabilete dac programul trece la pasul urmtor sau reia instruciunile pasului curent. Un program paralel const doar n una sau mai multe secvene. ntr-un astfel de program nu exist pai, ntregul program echivalnd cu un pas dintr-un program STEP. Un program paralel este rulat ciclic pn cnd este dezactivat prin comanda RESET Pn (n fiind numrul programului respectiv). Un program executiv este alctuit din instruciuni care se execut n totalitate deoarece nu exist clauz condiional; el nu conine cuvintele cheie STEP, IF si THEN. Instruciuni STL Limbajul STL conine un set de instruciuni care permit scrierea uoar a programelor destinate a controla automatizri simple sau complexe. n tabelul 2
14

sunt prezentate, mpreun cu o scurt descriere, toate instruciunile limbajului STL implementat pe automatele programabile FEC:
Tabelul 2 Nr.crt. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Instruciune AND BID CFM n CPM n CPL DEC DEB EXOR IF INC INV JMP TO xx LOAD xx NOP Semnificaie Execut funcia I logic ntre doi operanzi (de un bit sau multibit). Convertete coninutul acumulatorului multibit din cod binar n cod BCD. ncepe execuia sau iniializeaz un modul funcional (rutin de sistem standard). ncepe execuia unui modul de program (subrutin sau funcie de bibliotec). Complementul lui 2 al acumulatorului multibit (echivalent cu o nmulire cu 1). Decrementeaz un operand sau acumulatorul multibit. Convertete coninutul acumulatorului multibit din cod BCD n cod binar. Execut funcia logic SAU Exclusiv ntre doi operanzi (de un bit sau multibit). Cuvnt cheie ce marcheaz nceputul prii condiionale a unei secvene. Incrementeaz un operand sau acumulatorul multibit. Produce complementul fa de 1 al acumulatorului multibit. Execut un salt la pasul cu numele (sau numrul) xx. ncarc operandul xx de un singur bit (sau multibit) n acumulatorul de un singur bit (sau multibit). Instruciune special, ntotdeauna adevrat n partea condiional. Este utilizat i n partea executiv a unei secvene unde execuia ei nseamn nu face nimic. Execut funcia logic SAU ntre doi operanzi (de un bit sau multibit). Ofer posibilitatea de a continua un program dac partea condiional a unei instruciuni nu este adevrat Program Selection Edit. Reia programul sau pasul de la prima instruciune. Aceast instruciune nu este utilizabil pentru programatorul FEC. Schimb valoarea unui operand de un bit. Valoarea final este ntotdeauna 0 logic. Rotete la stnga cu o poziie toi biii coninui de acumulatorul multibit. Bitul cel mai semnificativ (MSB) devine cel mai puin semnificativ (LSB).

15 16 17

OR OTHRW PSE

18 19

RESET ROL

15

20

ROR

Rotete la dreapta cu o poziie toi biii coninui de acumulatorul multibit. Bitul cel mai puin semnificativ (LSB) devine cel mai semnificativ (MSB). Schimb valoarea unui operand de un bit. Valoarea final este ntotdeauna 1 logic. Execut o interschimbare ntre un operand de un singur bit i acumulatorul de un singur bit (SBA). Translateaz la stnga cu o poziie toi biii coninui de acumulatorul multibit. Bitul cel mai semnificativ (MSB) este pierdut iar cel mai puin semnificativ este resetat la 0 logic. Translateaz la dreapta cu o poziie toi biii coninui de acumulatorul multibit. Bitul cel mai puin semnificativ (LSB) este pierdut iar cel mai semnificativ este resetat la 0 logic. Schimb ntre ei octeii superiori i inferiori ai acumulatorului multibit (MBA). Utilizat mpreun cu instruciunea LOAD pentru a specifica un operand destinaie. Cuvnt cheie ce indic nceputul prii executive a unei instruciuni. Utilizat pentru a furniza parametrii modulelor CFM sau CPM (n cazurile n care acestea cer parametri).

21 22 23

SET SHIFT SHL

24

SHR

25 26 27 28

SWAP TO THEN WITH

4. Prezentarea aplicaiei n cele ce urmeaz este prezentat o aplicaie concret pentru care vor fi realizate programele de lucru n cele dou situaii folosind mediile de programare LDR i STL. Se consider cazul unui sistem de acionare pneumatic pentru care: - n figura 13 este prezentat schema funcional; - n figura 14 diagrama micare faze; - n figura 15 schema electric. Conform diagramei din figura 14 sistemul trebuie s realizeze urmtoarele secvene: - cnd se d comanda de pornire (butonul START sau START_a este apsat), dup un timp t1 presetat, ansamblul mobil al motorului A avanseaz; iniializarea ciclului este condiionat de senzorul de proximitate A0, care trebuie s fie activat (altfel spus, ansamblul mobil trebuie s fie retras); - la activarea senzorului A1 ansamblul mobil rmne un timp t2, prestat, avansat, dup care revine n poziia iniial.

16

1 START_a 0 1 A 0 1 A0 0 1 A1 0 Fig.13 Fig.14 t t t1 A1 t2 A0 t START_a t

Fig.15

17

Condiii suplimentare: - dac iniial a fost apsat butonul START dup un ciclu dus ntors sistemul se oprete i ateapt o nou comand; - dac iniial a fost apsat butonul START_a dup un numr de cicluri, presetat, sistemul se oprete i ateapt o nou comand; 5. Prezentarea programelor de lucru n cele ce urmeaz este prezentat lista de alocare valabil pentru acest Proiect, precum i cele dou programe realizate. Lista de alocare: Operand Simbol O0.0 A_A O0.1 A_R O0.2 O0.3 OW0 I0.0 START I0.1 START_a I0.2 A0 I0.3 A1 P0 FI T0 T1 TON0 TON1 TP0 TP1 TW0 C0 CP0 CW0

Comentariu Comand avans cilindru Comand retragere cilindru

Buton start apasat Ciclu automat Senzor cilindru retras Senzor cilindru avansat

Staionare la captul retras Staionare la captul avansat

Timp ateptare la captul retras Timp ateptare la captul avansat

18

Programul LDR

19

Programul STL

20

21

S-ar putea să vă placă și