Automate programabile
1
ing. Luncan Radu
Automate programabile 1. No Noiuni introductive
Automatele programabile mai sunt prescurtate şi PLC-uri (Programmable Logic Controller). Automatul programabil (PLC) este un aparat electronic care controleaz ă regimurile de func ionare ale maşinilor şi proceselor. PLC-ul recep ionează semnale prin intermediul intr ărilor sale, le prelucreaz ă după un program şi transmite semnale la ie şirile sale. Altfel spus, rolul automatului programabil (AP) este de a transmite semnalul (tensiunea) de comand ă la bornele unui element de execu ie (releu) în funcie de prescrip iile din program. AP-ul va fi intrercalat între borna de 24V şi 0V a sursei de alimentare a releului (fig.1.a). Programul se realizeaz ă cu ajutorul unui soft de programare; prin program se pot comanda intr ările şi ieşirile după dorină, se pot măsura timpi şi efectua opera ii de calcul. Caracteristicile principale ale unui automat programabil sunt num ărul maxim de intr ări/ieşiri, capacitatea memoriei şi viteza de calcul. Un automat programabil con ine în structura sa un microprocesor, care prelucreaz ă datele primite de la senzori cu ajutorul unui program şi transmite semnale electrice de comand ă la relee care comand ă electrovalve distribuitoare. Programul se scrie pe calculator într-un limbaj specific programatorului, apoi programul este transferat în memoria automatului prin intermediul unei interfe e de comunicare serial ă RS232. Dacă se doreşte modificarea unor parametrii ai produsului, se fac modific ări în program, acesta se înregistrează în programator şi se reporneşte agregatul. Forma automatelor programabile difer ă de la firmă la firmă. În figura 1 sunt prezentate automatele firmelor Festo (fig.b) şi Moeller (fig.c). Automatele din figur ă sunt preparate pentru scopuri didactice. Auomatele propriu-zise sunt cele notate cu 1, iar pe cutia 2 sunt montate bornele de alimentare, bornele de intare şi ie şire, conectorii pentru legarea cu calculatorul, butoane de reglaj, butoane de comutare etc 2
1 a
b
Fig.1
c
2. Automatul programabil FEC 2.1. No Noiuni introductive Automatul programabil FEC (Front End Controller), a fost conceput de firma FESTO pentru aplica ii de automatizare. Automatul programabil FEC poate fi utilizat pentru înlocuirea panourilor de comand ă cu relee tradiionale şi reprezintă un sistem de comand ă ideal pentru aplica ii care necesit ă un număr limitat de puncte de control (intr ări/ieşiri). Astfel, se poate utiliza pentru aplica ii de control, m ăsurare, reglare, monitorizare, şi comunicaie, în
domenii industriale foarte diverse, cum ar fi: reglarea presiunii, debitelor, temperaturii, nivelului etc. 2.2. Schema electrică electrică
În figura 2 este prezentată schema electric ă unui automat programabil al firmei FESTO. Intrările pot fi senzori de proximitate, limitatoare de curs ă, butoane de pornire-oprire.
Automate programabile 2 ing. Luncan Radu Ieşirile sunt bobine de relee, elemente semnalizare (acustice, optice). Intr ările formează două grupuri de 8 respectiv 4 intr ări. În interiorul automatului toate intr ările dintr-un grup sunt conectate la un nod comun: S0 pentru primele 8, S1 la ultimele 4.
Fig.2
Ieşirile automatului sunt în num ăr de 8. Ca şi la intr ări, există grupuri de ie şiri care sunt conectate la acelaşi nod, în interiorul FEC-ului. Astfel exist ă 3 grupuri: primele 4 ie şiri formează primul grup, urm ătoarele 2 al doilea, iar ultimele 2 ie şiri reprezintă cel de-al treilea grup. Nota ia nodurilor: C0, Cl şi C2. În schema posturilor de lucru cele trei noduri sunt alimentate din exterior cu 24 V c.c. La comanda de activare a unei ieşiri, releul acesteia se închide, la borna ie şirii fiind transmis ă tesiunea de 24 V. Observa ii:
Cele trei noduri C0, Cl şi C2 pot fi alimentate cu tensiuni diferite, func ie de nevoile de comand ă ale utilizatorului. De exemplu: C0 cu 12 V C.C., Cl cu 110 V c.a. iar C2 cu 220 V c.a.; 2.3. Caracteristici hardware. Unitatea central ă a automatului programabil FEC este un microprocesor AM186 care func ionează la 20 MHz. Microprocesorul con ine, printre altele, trei componente importante: unitatea aritmetica - logica (UAL) în care se execut ă toate instruc iunile de logic ă booleana şi operaiile
aritmetice; un acumulator în care se depoziteaz ă rezultatul furnizat de UAL; regiştri de lucru, care reprezint ă o memorie locală la care microprocesorul are un acces mai rapid decât la memoria obi şnuită. FEC-ul funcionează cu două tipuri de memorie: un modul de memorie nevolatilă "Flash" (ine locul harddisk-ului obi şnuit în calculatoarele personale) cu rolul de a memora programele surs ă, pe cele compilate, fi şierele cu sistemul de operare şi un număr de date importante ale aplica iei pentru cazul c ăderilor accidentale de tensiune. un modul de memorie RAM, este o memorie de lucru în care se p ăstrează variabile şi alte date ce î şi schimbă frecvent coninutul. Pentru programarea aplica iilor de automatizare se poate alege între dou ă medii de programare: mediul FST (Festo Software Tools) şi FEC (Front End Controler) este rulat ca aplica ie MS-DOS şi suportă limbajele de programare STL (Statement List) şi Ladder Diagram (LDR), care sunt un standard în programarea automatelor programabile.
Automate programabile 3 ing. Luncan Radu Mediul FEC DOS-SPC care oferă posibilitatea program ării aplicaiilor de automatizare cu limbaje de nivel înalt (Pascal, C, Basic, etc)
2.4. Structura unui program STL.
Pentru scrierea unui program în limbajul STL ( Statement List-limbaj de instruc iuni) se poate alege între trei structuri posibile: 1) program cu paşi (STEP program); 2) program paralel; 3) program executiv. Primul tip de program este cel mai general exemplu. Urm ătoarele două sunt cazuri particulare ob inute prin simplificarea celui dintâi. Programarea automatelor programabile de tip FESTO în limbajul statement list' (stl). La programarea în limbajul STL, programele sunt realizate prin scrierea de instruc iuni în modul text. Ca orice limbaj de programare în mod text, limbajul STL foloseşte un set de cuvinte cheie. Ordinea de scriere a instruc iunilor şi tipul acestora determin ă structura programului şi modul de func ionare al programului. In tabelul 1 sunt cuprinse instruc iunile mai des folosite ale limbajului de programare FST. "
Tabelul 1 Instruciune
Semnificaie
1
AND
Execută funcia SI logic între doi operanzi (de un bit sau multibit)
2
DEC
Decrementeaz ă un operand sau acumulatorul multibit
3
IF
Cuvânt cheie ce marchează începutul pării condiionale a unei sentin e
4
INC
Incrementează un operand sau acumulatorul multibit
5
JMP TO xx
Execută un salt la pasul cu numele (sau num ărul): xx
6
LOAD xx
7
NOP
Încărca operandul xx de un singur bit sau multibit în acumulatorul de un singur bit sau multibit Instruciune specială, întotdeauna adev ărată în partea condiională. Este utilizat ă şi în partea executivă a unei sentine unde execu ia ei înseamn ă: „nu face nimic!”
8
OR
9
OTHRW
10 11 12
RESET SET TO
Oferă posibilitatea de a continua un program dac ă partea condiională a unei instruciuni nu este adevărată. Schimbă valoarea unui operand de un bit. Valoarea final ă este totdeauna 0 logic. Schimbă valoarea unui operand de un bit. Valoarea final ă este totdeauna 1 logic. Utilizată cu instruciunea LOAD pentru a specifica un operand destina ie
13
THEN
Indică începutul par ii executive a unei instruc iuni
Execută funcia logica SAU între doi operanzi (de un bit sau multibit)
Orice program lucreaz ă cu operanzi şi operatori. Operanzii sunt identificatori ai sistemului (intr ări, ieşiri, temporizatoare, num ărătoare, etc) şi reprezint ă numele acestor resurse. În cadrul unui program utilizarea acestor operanzi este singurul mod de accesare a resurselor pe care le reprezintă. În funcie de dimensiunea lor, exista dou ă tipuri de operanzi: operanzi de un singur bit ( SBO - single bit operands); operanzi de mai mul i bii (MBO - multibit operands) - în general 16 bi i care formeaz ă un cuvânt (word). Operanzii de un bit SBO pot fi evaluai ca adevărai sau falşi (1 sau 0 logic). De asemenea, ei pot fi modifica i din 0 logic în 1 logic sau invers. Operanzii multibit MBO sunt acele resurse care se pot accesa într-un octet (8 bi i) sau cuvânt (word, 16 bi i) şi care
Automate programabile
4
ing. Luncan Radu
reprezintă numere întregi. Ei pot lua valori în domeniile: 0….255, pentru un octet (8 bi i); 0….65535, pentru un cuvânt (16 bi i) reprezentat ca num ăr întreg far ă semn; -32767…32767, pentru un cuvânt (16 bi i) reprezentat ca întreg cu semn. Valoarea operanzilor MBO poate fi testat ă prin comparare (<, >, =, etc) cu valori constante sau cu al i operanzi multibit. Instruc iuni STL permit modificarea con inutului unui operand MBO prin: scrierea în ace ştia a unor valori constante sau a valorilor altor operanzi MBO; incrementarea (adunarea cu o unitate a valorii operandului); decrementarea (sc ăderea cu o unitate a valorii sale); manipulare a valorii MBO prin intermediul operatorilor multibit aritmetici sau a celor logici. Operatori sunt acele simboluri care apar pe lâng ă operanzi, modificând sau folosind valoarea numeric ă sau logică a acestora. De exemplu simbolul '+' este operatorul de adunare şi se aplic ă între doi operanzi multibit, rezultatul fiind suma celor doi operanzi. Exista operatori care se aplic ă operanzilor de un singur bit şi operatori care se aplica operanzilor multibit.
Structura unui program cu pa şi Un program cu paşi poate con ine până la 255 de pa şi. Paşii programului sunt delimita i de instruciunea STEP, urmat ă (opional) de un nume sau un număr dat de utilizator. Următorul pas începe la următoarea instruc iune STEP. Numărul sau numele pasului este folosit pentru claritatea programului şi pentru instruc iuni de salt la pasul de
interes din oricare parte a programului. Un pas al programului cuprinde una sau mai multe sentine. O sentină este definită prin instruciunile IF-THEN-OTHRW.
O sentină complet ă conine: o condiie formată din cuvântul cheie IF ... urmat de o expresie logic ă simplă sau complexă care se va evalua ca fiind adevărată sau falsă. În expresia logică pot apărea operanzi SBO, operatori de compara ie cu operanzi MBO, alte instruciuni. o parte executiv ă formată din cuvântul cheie THEN ... urmat de un set de instruc iuni care se vor executa numai în cazul în care condi ia este adevărată; o parte executiv ă alternativă format ă din cuvântul cheie OTHRW . .. urmat de un set de instruc iuni care se vor executa dac ă expresia logică din partea condiională IF este falsă. Instruciunea OTHRW poate să lipsească. Toate instruc iunile din partea executiv ă, THEN, se execută numai dacă expresia logică care urmeaz ă după cuvântul cheie IF, este adevărată. Partea executivă cuprinde toate instruc iunile care urmeaz ă după cuvântul cheie THEN THEN OTHRW şi până la întâlnirea unei unuia din cuvintele cheie IF, STEP sau OTHRW. NU DA Conditia În figura 3 este prezentat ă schema logică a instruciunii IF-THENIF OTHRW, dacă condiia este adevărată atunci se execută secven a S1, iar dacă condiia este falsă atunci se execut ă secven a S2. S1 S2
Fig. 3 3. Aplicaie practică
3.1.Competene
Scrierea programului Efectuarea şi verificarea func ionării circuitului pneumatic şi a circuitului electric 3.2. Cerine
Comanda unui cilindru cu dublu efect, care trebuie s ă execute o mi şcare continu ă alternativ ă cu un timp de pauză la capătul fiecărei curse cu ajutorul unui autoamt programbil FESTO. În acest caz programul trebuie s ă conină relee de timp (temporizatoare). Etapele programării sunt: Alocarea listei În tabelul 1 este prezentat ă lista de aloc ări pentru intrările şi ieşirile AP: buton de pornire, senzori, relee şi teporizatoare. Vom atribuii elementelor din list ă următorii identificatorii:
Automate programabile
5
ing. Luncan Radu
Tabel 1 Element de comand ă Buton pornire Senzor S1 Senzor S2 Releu K1 Releu K2 Releu de timp 1 Releu de timp 2 Coninutul temporizatorului T1 Coninutul temporizatorului T2
Intrări I0.0 I0.1 I0.2 -
Ieşiri O0.0 O0.1 -
Temporizatoare
T1 T2 TP1 TP2
Cilindrul va fi comandat cu un distribuitor 5/2 bistabili cu solenoid, iar capetele de curs ă vor fi sesizate cu senzori magnetici sau limitatoare de curs ă. Observaie. Pentru fiecare releu de timp sunt necesari doi operanzi, unul pentru numele releului T1 şi T2 şi al doilea pentru coninutul temporizatorului TP1 şi TP2 (valoarea care se înscrie în temporizator). Pentru scrierea programului se va folosi limbajul STL al automatelor FESTO (folosind mediul de programare FSTFesto Software Tools) Scrierea programului
se face din meniul Program, opiunea New, unde rezultă caseta New program.
STEP 1
IF THEN LOAD TO LOAD TO
N
I0.0
‘dacă butonul P/O nu este activat
V100 TP1 V500 TP2
‘încarcă valoarea 500 (aproximativ 5 sec) ‘în temporizatorul T 1 ‘încarcă valoarea 100 (aproximativ 1 sec) ‘în temporizatorul T 2
STEP 2
IF AND THEN SET SET RESET
I0.0 I0.1 O0.0 T1 O0.1
‘dacă se apasă butonul P/O ‘şi senzorul S1 este închis (pistonul este retras) ‘atunci releul K1este activat, pistonul se extinde ‘se activează temporizatorul T1 ‘releul K2 este dezactivat
STEP 3
IF
I0.2 AND N T1 THEN RESET O0.0 SET O0.1 SET T2
‘dacă S2 este închis ‘şi temporizatorul T1 a terminat temporizarea ‘atunci releul K1 este dezactivat ‘releul K2 este activat, pistonul se retrage ‘se activeaz ă temporizatorul T2
STEP 4
IF N THEN JMP
T2 ‘dacă temporizatorul T2 a terminat temporizarea TO 2 ‘atunci programul revine la pasul 2
Observaie. Dacă se doreşte doar un singu ciclu, atunci ultima instruc iunea va lipsi.
Salvarea şi compliarea programului. Introducerea programului în AP (automatul alimentat la 24V, se conecteaz ă între calculator şi automat interfaa de comunicare serial ă RS232) (fig. 4). Se execută circuitul de foră (fig. 5) şi circuitul de comand ă (fig. 6, 1- automat programabil, 2- cutie cu relee).
Automate programabile
6
ing. Luncan Radu
Fig.5
Fig.6
1
2
3
4
5
6
8 7 1-automat, 2- cutie butoane, 3- cutie relee, 4-cilindru cu dublu efect, 5- senzor magnetic, 6- distribuitor 5/2 cu electrovalve, 7- sursa de tensiune 24V c.c, 8- program Bibliografie. Luncan R, Acionări pneumatice în mecatronic ă şi automate programabile clasa a XII-a, Editura
Imprimeriei de Vest, Oradea, 2008