CURS Programare PLC PDF
CURS Programare PLC PDF
CURS Programare PLC PDF
Fig. 2.1. Contactele se afl n starea normal atunci cnd bobina releului nu este alimentat cu tensiune. Un releu are o parte din contacte normal nchise (las curentul s treac) i altele normal deschise, fr legtur galvanic unul cu altul. Tensiunea de alimentare a bobinei releului este de valoare mic (nepericuloas pentru om) 5 V, 12 V sau 24 V.
45
Butoanele sunt acionate manual (spre deosebire de relee), starea complementar celei normale meninndu-se ct timp butonul este apsat. Starea contactului unui releu se menine ct timp este alimentat cu tensiune bobina releului. Contactele releului se pot afla n circuite de tensiune mare i pot comuta cureni de valori mai mari sau mai mici n funcie de construcia acestora. Spre exemplu contactele unui releu suport cureni de ordinul a 20 mA, iar contactele altui releu pot comuta cureni de pn la 5 A. Exist relele care au contacte pentru cureni mici i contacte (de for) pentru cureni de valori mari. De fapt, aparatul care are rolul de a comuta, prin nchiderea i deschiderea circuitului pe baza unei comenzi (de natur electric), cureni de valori mari se numete contactor (care poate fi electromagnetic sau static). n aceeai ordine de idei aparatul care nchide i deschide circuite electrice care nu sunt parcurse de curent se numete separator. El are rolul de a specifica faptul c circuitul este sub tensiune sau nu. De regul, un circuit electric care sufer dese intervenii (spre exemplu pentru a fi recondiionat) se cupleaz la sursa de energie prin intermediul unui separator urmat de un contactor. Pornirea oprirea mainii (circuitului) se face cu contactorul. n caz de intervenii la instalaia electric se oprete maina cu contactorul i apoi se deschide circuitul prin acionarea separatorului. D.p.d.v. constructiv diferena esenial dintre contactor i separator este prezena camerei de stingere a arcului electric la contactor. La deconectarea curenilor mari ntre ploturi (elementele contactorului prin care circul curentul) apare un arc electric, care nu trebuie s se extind n afar - se ntrerupe n interiorul camerei.
Fig. 2.2. 46
n figura 2.2 sunt prezentate simbolurile folosite pentru contactele releului, ND normal deschise i NI normal nchise. Comanda unui releu const, n cazul releelor electromagnetice n conectarea bobinei acestuia la sursa de alimentare sau n conectarea tensiunii de comand n cazul releelor electronice. n cazul releului electromagnetic (din figura 2.1) comanda se face prin nchiderea comutatorului din circuitul bobinei releului, iar n cazul releului electronic (cu optotriac din figura 2.3) comanda se face prin acionarea ntreruptorului din circuitul de alimentare al LEDului. [22]
Fig. 2.3. Prin convenie un contact nchis reprezint starea 1 logic (permite circulaia curentului) iar un contact deschis reprezint starea 0 logic (ntrerupe circulaia curentului). innd seam de aceast convenie cu contacte ale releelor pot fi realizate orice funcii logice, n figurile 2.4,...,2.6 fiind prezentate cteva implementri. n figura 2.4 avem un circuit SAU realizat cu releele CRA i CRB, a cror contacte sunt notate respectiv A i B. Circuitul SAU are rolul de a comuta n zero ieirea numai dac toate intrrile sunt n zero. L1 i L2 sunt liniile de alimentare ale becului, L1 fiind faza iar L2 nulul reelei de alimentare cu energie electric. Ieirea circuitului numit OUT este considerat n starea 1 logic dac becul se aprinde. Becul stins semnific 0 logic la ieirea circuitului logic. Se constat c becul lumineaz dac oricare din contacte este nchis (sau amndou) fiind conectat la sursa de alimentare. Se stinge dac ambele contacte sunt deschise, adic nici un releu nu este sub tensiune (a se nelege bobin a releului).
47
Fig. 2.4. n figura 2.5 este prezentat circuitul I cu dou intrri. Becul lumineaz (este n starea 1 logic) dac ambele contacte A i B sunt nchise, realiznd astfel conectarea becului la liniile de alimentare cu energie electric. [23]
Fig. 2.5.
Pentru a realiza o negaie (un circuit NU ) se folosete un contact normal nchis al releului, ca n figura 2.6.
48
Fig. 2.6. Becul este aprins numai dac releul nu este alimentat cu tensiune, contactul A rmnnd n starea normal (nchis). Pe lng releele normale, prezentate mai sus, exist o clas de relee care ndeplinesc funcii de protecie specifice i o alt clas care acioneaz avnd drept variabil de intrare att comanda ct i timpul, motiv pentru care se numesc relee de timp. Releele de protecie au n componen un senzor (traductor) al unei mrimi supravegheate, un detector de valoare impus (pentru mrimea urmrit) i un releu normal. n condiiile n care mrimea monitorizat iese din domeniul impus bobina releului este alimentat i contactele releului iniiaz o aciune specific (spre exemplu semnalizeaz depirea limitelor). Principalele relee de protecie sunt: - relee maximale de curent, declaneaz dac curentul ntr-un circuit depete valoarea impus; - relee minimale de tensiune, acioneaz dac tensiunea monitorizat scade sub valoarea impus; - relee maximale de tensiune, acioneaz dac tensiunea monitorizat depete valoarea impus; - relee de temperatur, acioneaz cnd temperatura incintei monitorizate scade sub o valoare (n cazul cuptoarelor) sau crete peste o valoare impus; - relee de timp. Releele de timp sunt de dou tipuri - cu temporizare la conectare contactele releului i schimb starea dup un timp prestabilit msurat din momentul cnd bobina releului a fost alimentat cu energie; 49
- cu temporizare la deconectare - contactele releului rmn n starea n care au fost un interval de timp prestabilit dup ce bobina releului a fost deconectat de la sursa de energie. n figura 2.7 sunt prezentate contactele a dou relee de timp a) contactul normal deschis se nchide la 5 secunde dup alimentarea bobinei, b) contactul care este nchis pe durata alimentrii bobinei, se deschide la 5 secunde dup ce bobina nu mai este alimentat cu energie.
a) Fig. 2.7.
b)
Releele pot fi utilizate n diferite scopuri (semnalizare, protecie, condiionare, reglare a mrimilor, .a.) n continuare fiind prezentate cteva aplicaii. Exemplul 1. Circuitul "watchdog" n aplicaiile industriale sistemele de conducere trebuie s funcioneze continuu, iar n caz de defect al sistemului s intre n funciune sistemele de protecie.
Fig. 2.8.
50
Circuitul "watchdog" semnaleaz oprirea programului rulat, pe calculatorul de proces prin nchiderea unui contact, vezi figura 2.8. Instruciunile programului se execut sincronizat cu o frecven de tact. Dac programul s-a oprit, frecvena de sincronizare a instruciunilor nu va mai fi prezent (lipsete tensiunea cu frecvena de sincronizare). Bobina releului este alimentat din tensiunea de sincronizare (impulsurile din figura 2.8) dup redresare i filtrare. Dac programul s-a oprit lipsete tensiunea de alimentare a releului i contactul releului se nchide semnaliznd starea sistemului sau alimentnd circuitele de protecie. Exemplul 2. Circuitul de control al funcionrii unui cuptor Circuitele de autorizare sunt circuite care permit declanarea unui proces, n situaia cnd sunt ndeplinite condiiile impuse de sigurana procesului sau de modul de funcionare al acestuia. n figura 2.9 este prezentat circuitul de control al pornirii unui cuptor.
Fig. 2.9. Cuptorul pornete dac sunt ndeplinite cele patru condiii i anume: - presiunea gazului de ardere este ntre limitele admise (contactele relelor de presiune maxim i minim sunt nchise, respectiv LM i Lm); - ventilatorul care furnizeaz aerul de amestec este pornit (releul de debit al aerului Lf este nchis); 51
- coul de evacuare a gazelor arse nu este obturat (releul de pe coul de ardere Lc este nchis). Releele fiind n serie, alimentarea bobinei releului CR1 se face numai dac toate sunt nchise. Contactul normal deschis CR1 se nchide i becul verde semnaleaz pornirea corect. Contactul normal nchis se deschide i becul rou se stinge. Exemplul 3. Circuitul de pornire al unui motor de c.a. n figura 2.10 este prezentat schema de for pentru schimbarea sensului de rotire al unui motor de curent alternativ trifazat.
Fig. 2.10. Pentru a inversa sensul de rotaie al unui motor se impune schimbarea sensului de rotaie al cmpului magnetic nvrtitor produs de nfurrile statorice ale mainii. Dup cum se tie rotaia cmpului magnetic se produce n sensul succesiunii fazelor tensiunii de alimentare a circuitului statoric ( R S T) . Pentru a schimba sensul de rotaie al rotorului (antrenat n micare de rotaie de cmpul magnetic nvrtitor) este suficient s se schimbe ordinea alimentrii cu tensiune a dou din nfurrile statorice. Pentru sensul direct ( n sensul de rotaie al acelor ceasornicului) fazele R, S, T sunt conectate la nfurrile statorice notate cu 1, 2, 3
52
( astfel 1-R, 2-S, 3-T) de ctre contactele releului M1 , iar pentru rotirea n sens invers releul M2 conecteaz nfurrile motorului astfel 1-R, 3-S, 2-T (faza 2 a fost inversat cu faza 3). Schema de comand este prezentat n figura 2.11.
Fig. 2.11. Constatm c fiecare bobin de releu are, n serie, un contact normal nchis al celuilalt releu (M2a cu M1 i M1a cu M2 ). Contactul serie se numete contact de interblocare i are rolul de a nu permite alimentarea cu tensiune a celuilalt releu (cnd unul dintre ele este sub tensiune). Previne astfel manevrele greite de conectare invers a alimentrii motorului cnd acesta se afl n micare de rotaie (operatorul apas greit butonul de inversare a sensului). Conectarea releului de schimbare a sensului se impune s se fac numai dup ce motorul s-a oprit. Se impune aceast condiie, pentru a nu solicita nici sarcina mecanic, dar nici nfurrile mainii dac rotorul mainii are un sens de rotaie i cmpul magnetic nvrtitor alt sens, cresc solicitrile mecanice, crete valoarea curentului prin nfurri i crete temperatura nfurrii. Contactele M1b, M2b, aflate, n paralel, cu butoanele de sens se numesc contacte de automeninere. Butoanele de sens conecteaz alimentarea pe bobina releului, ct timp sunt apsate, dup care circuitul se deschide i bobina releului este 53
scoas de sub tensiune (iar acesta modific contactele la starea normal i motorul, dac a pornit se oprete). n schimb, dac exist contact de automeninere, la apsarea butonului se alimenteaz bobina releului i aceasta nchide contactul de automeninere. Dup ce butonul nu mai este apsat, curentul bobinei se nchide prin contactul de automeninere (M1 se alimenteaz prin M1b, iar M2 se alimenteaz prin M2b ). Releul RT este un releu de temperatur care, dac temperatura nfurrilor motorului a depit limita admis, se deschide i ntrerupe alimentarea cu tensiune a releelor, ceea ce conduce la tierea alimentrii motorului i la oprirea acestuia. Pentru oprirea motorului se apas butonul stop care scoate de sub tensiune ambele relee.
realizate cu regulatoare de tipul PID, ceea ce nseamn c sistemele PLC dotate cu funcia de reglare PID acoper 90% din necesitile de reglare ale industriei. Comenzile sunt elaborate pe baza msurrii unor variabile ale procesului, ceea ce nseamn c sistemul este prevzut cu intrri analogice i cu intrri numerice (de la 4 la 40 intrri, n funcie de pre). n cele mai multe cazuri intrrile analogice accept semnal de intrare standardizat (spre exemplu tensiuni din domeniul 0,.., 1 V , 0,.., 5 V, -10,.., +10 V sau cureni din domeniul 2,.., 10 mA, 4,.., 20 mA) dar uneori intrrile sunt specializate pentru un anumit tip de traductor (spre exemplu are intrri pentru msurarea temperaturii cu o termorezisten sau pentru msurarea temperaturii cu un termocuplu). Specializarea implic dotarea intrrii cu blocuri funcionale (spre exemplu amplificatoare sau atenuatoare de semnal) care s adapteze valorile semnalului furnizat de traductor la domeniile standardizate, acceptate de controler. Spre exemplu, un termocuplu furnizeaz tensiuni de ordinul mV care vor fi amplificate de adaptor, pentru a se ncadra ntr-unul din domeniile tensiunilor de intrare standardizate ( de regul n domeniul 0,.., 5 V) Intrrile pot fi stri contact sau nivele de tensiune de diferite valori cu variaie lent sau rapid n timp(spre exemplu exist domenii de 12 Vcc , 24 Vcc, 5 Vcc, 100-120 Vac, 200-240 Vac, .a.). Observm c, fa de controlerele de nceput, controlerele actuale au pe lng intrri de tip contact (de releu) att intrri ct i ieiri analogice. O parte din intrrile analogice sunt folosite pentru a prelua semnale de la traductoare n scopul controlului i proteciei instalaiei i o mic parte pentru a implementa funcia de reglare a unor parametri (spre exemplu debit, temperatur, nivel .a.). De remarcat faptul c tipul intrrii i domeniul valorilor semnalului de intrare pot fi stabilite prin program, la iniializarea controlerului. Comenzile, care reprezint ieiri ale controlerului, pot fi - numerice de tipul stri ale unui contact (de releu) ; - analogice un semnal de tensiune sau curent, cu domeniul precizat de necesitile procesului. Domeniul ieirilor analogice se stabilete prin program, iar n cazul sistemelor ieftine este fixat la un domeniu ( spre exemplu 0,.., 5 V), de ctre productorul echipamentului. 55
Ieirile pot fi stri contact sau nivele de tensiune de diferite valori (spre exemplu 24 Vcc, 5 Vcc, 100-120 Vac, 230 Vac, .a.), adoptate n aa fel nct s aib suficient energie pentru acionarea unui element de execuie. Elementele de execuie sunt dispozitive care pot modifica controlat, fluxul de materie sau fluxul de energie ntr-un proces. Drept elemente de execuie uzuale sunt motoare electrice, maini hidraulice, maini termice, contactoare statice, dispozitive mecanice .a. Pentru prelucrarea numeric (de ctre microprocesorul controlerului) a mrimilor analogice, dup adaptarea domeniului semnalul de intrare (n sensul c semnalul de la intrarea analogic este convertit amplificat sau atenuat ntr-un semnal care s se ncadreze n domeniul intrrii convertorului analog numeric CAN) acesta este transformat ntr-un semnal numeric de ctre CAN. Pe lng intrrile i ieirile accesibile din exterior (conectate la procesul industrial) controlerul are implementate: relee interne, care sunt folosite pentru efectuarea unor operaii logice (releele interne se ntlnesc uneori sub numele de markeri, flaguri); relee de timp, care permit iniierea unor activiti la momente de timp prestabilite; numrtoare (care numr spre exemplu de cte ori s-a modificat o intrare i genereaz un semnal cnd numrtorul a ajuns la o valoare prestabilit), regitrii i memorii; oscilatoare, care permit sincronizarea n timp a unor activiti; comparatoare, care permit compararea a dou semnale i evidenierea egalitii sau inegalitii acestora; sisteme de ntrerupere a unui program i comutarea pe o alt secven n cazul unor evenimente deosebite (spre exemplu n caz de defect al sistemului, n caz de nefuncionare a unui traductor .a.). O alt funcie este funcia de comunicare a controlerului PLC cu alte echipamente (spre exemplu cu un microprocesor, cu un calculator, cu un sistem de conducere centralizat, .a.). Fiecare productor de echipamente PLC ofer un protocol de comunicare, prin intermediul cruia dou (sau mai multe) PLC se neleg i pot schimba date ntre ele. Necazul este c rareori dou PLC
56
ale unor productori diferii pot comunica ntre ele, datorit faptului c au protocoale de comunicaie diferite. Not: Prin termenul de protocol de comunicaie se nelege o specificaie a modului de codare a mesajelor schimbate ntre dou entiti. De fapt nu se refer numai la codarea datelor, ci i la modul n care decurge dialogul. Spre exemplu: - E1 trimite ctre E2 o cerere de conectare (connect request), - E2 ctre E1 un rspuns la cerere prin care accept conectarea, - n continuare se transfer date de la E1 la E2 i invers, - dup ce E1 a terminat de transferat datele trimite ctre E2 o cerere pentru eliberarea conexiunii (disconnect request), - E2 trimite o confirmare (disconnect confirmation) i legtura este eliberat, canalul de comunicaie putnd fi utilizat de alte echipamente. Comunicarea se poate face prin interfee standardizate (spre exemplu Ethernet, RS232, RS485), care permit integrarea PLC ntr-o reea industrial sau chiar poate fi conectat la reeaua Internet. Uneori comunicarea poate fi wireless pe baza standardului IEEE 802.3. Not: Termenul de interfa standardizat se refer la o specificaie care precizeaz att la mediul fizic (modul de legare ntre ele a echipamentelor, spre exemplu prin 3 fire, prin 8 conductori .a.), nivelele semnalelor, viteza de transfer ct i protocolul de comunicaie dintre echipamente (care transmite primul, cum rspunde cellalt i n ce ordine se transmit datele, cte date, ce semnificaie au semnalele vehiculate pe liniile de conectare, .a.). Cea mai simpl interfa este RS232 care are avantajul c poate fi conectat att la PLC ct i la orice calculator care dispune de un port serial. Dezavantajele interfeei RS232 se refer la viteza de transfer de maximum 19,2 kbps i la distana mic dintre echipamente ( de maximum 15 m). Datorit faptului c echipamentele lucreaz n timp real, comunicarea trebuie s decurg n deplin siguran, fr erori i cu ntrzieri ct mai mici. Din acest motiv se adopt protocoale de comunicaie elaborate de diferite firme. Spre exemplu protocolul MAP al firmei General Motors este folosit n U.S.A. iar n Europa sunt folosite Profibus (cu posibilitatea de transmisie pn la 1,2 km, rat de transfer de 9,6,.., 500 kbps, pentru maximum 32 staii) , Modbus Plus (cu posibilitatea de transmisie pn la 450 m, rat de transfer de 1 Mbps la care se pot conecta maximum 32 staii) , FIP Bus, .a. [5] 57
Funcia de diagnoz a controler-ului se refer la capacitatea acestuia de a-i testa corecta funcionalitate, de a elabora rapoarte la intervale de timp impuse, de a genera semnale de alarmare sau atenionare la sesizarea unei anomalii. Funcia de diagnoz poate fi implementat prin program i extins pentru testarea funcionrii corecte a echipamentelor conectate la intrrile i la ieirile sistemului. Pe lng testarea hardware-ului sistemului, sistemele evoluate au posibilitatea de a verifica funcionarea corect a ansamblului de programe (soft-ul sistemului) prin rularea controlat a unor programe de autotestare, n sensul c se genereaz intrri impuse i se verific corectitudinea comenzilor. O alt clas de programe de diagnoz au drept scop ajustarea parametrilor fizici ai sistemelor de msur n scopul compensrii erorilor. Spre exemplu, datorit temperaturii mediului ambiant, parametrii adaptorului se modific (fr voia noastr). n aceste condiii semnalul numeric, corespunztor mrimii msurate va fi mai mic sau mai mare dect cel real. Controlerul genereaz la intrare un semnal care conduce la o valoare numeric cunoscut. Dac se obine alt valoare, controlerul modific factorul de amplificare al adaptorului pentru a obine valoarea numeric corect. Aceast caracteristic a sistemului de a-i modifica parametrii de funcionare sau structura intern n scopul micorrii efectului perturbaiilor se numete adaptabilitate. Elaborarea programului pentru controler se face pe un calculator oarecare utiliznd: - scheme de conexiuni (leadder logic diagram), similare celor din figurile 2.9, 2.11; - pe baza descrierii schemelor logice cu ajutorul unui program specific controlerului, folosind instruciuni specifice; - pe baza descrierii schemelor logice ntr-un limbaj de programare (spre exemplu n C) acceptat de controler; - pe baza unor limbaje standardizate pentru controlere, de cele mai multe ori folosindu-se specificaiile IEC 1131. Pentru programe simple sau pentru modificarea unui program existent n memoria PLC se poate folosi interfaa local a controlerului. Introducerea programului pentru controler, n memoria acestuia, se face prin intermediul unui conector, cu care este prevzut sistemul PLC ( de regul interfaa asigur un transfer serial al datelor, fiind de tipul RS232 sau USB - Universal Serial Bus ). Prin intermediul conectorului elementul de programare (un laptop, un calculator sau un circuit specializat de programare) are acces la o magistral. 58
Limbajele folosite de controlere nu au fost nc standardizate, fiecare productor folosind alte instruciuni, care de fapt au acelai scop de implementare, prin intermediul controlerului, a unor funcii logice. Controlerele mai performante accept instruciuni n limbaje evoluate, spre exemplu n limbajul C. Sunt sperane de unificare a limbajelor de programare a PLC prin intermediul standardului IEC 1131 elaborat de Comisia Internaional de Electrotehnic IEC ( International Electrotechnical Commision) vezi paragraful urmtor. De fapt productorii de echipamente PLC nu au renunat n totalitate la sistemul propriu de programare, ci au introdus suplimentar posibilitatea programrii pe baza specificaiilor standardului menionat. Aceast facilitate este indicat prin compatibilitatea echipamentului cu standardul (IEC 1131 compliant). Nu trebuie confundat funcia de comunicare cu funcia de programare a controlerului. Cele dou sunt separate att fizic (pentru ca s se evite reprogramarea accidental a controlerului) ct i funcional. Pentru programarea PLC i testarea funcionalitii exist soft-uri dedicate (CAD) puse la dispoziie de productorii de echipamente. Spre exemplu PicoSoft cu ajutorul cruia se pot desena schemele i se poate simula funcionarea este pus la dispoziie gratuit (pentru platforme Windows) de firma Allen-Bradley. Poate fi descrcat de la adresa [25]. Tabelul 1.
TABEL COMPARATIV AL CARACTERISTICILOR UNITATILOR CENTRALE PLC
COD IC697CPX772 INTRARI/IESIRI NUMERICE 2k INTRAR/IESIRI 8k ANALOGICE MEMORIA DISPONIBILA 512k APLICATIEI UTILIZATOR TIMPUL DE EXECUTIE A 0.4ms/k OPERATIILOR LOGICE INDEX AL 6.0 PERFORMANTEI PROCESOR 486DX4 FRECVENTA 96MHz PROCESORULUI ARITMETICA IN VIRGULA DA MOBILA IC697CPX782 IC697CPX928 IC697CPX935
59
n tabelul 1 sunt prezentate caracteristicile unitilor centrale de prelucrare numeric din componena unor PLC iar n tabelul 2 sunt prezentate comparativ performanele PLC produse de patru firme reprezentative. S-au marcat cu stelue facilitile oferite de productor privind caracteristicile ( sczut *, medie **, ridicat ***).[26]
Tabelul 2.
Firma Includerea in setul de instruciuni a funciilor trigonometrice Includerea blocurilor PID Posibilitatea includerii de subrutine parametrizate Structuri predefinite in C pentru utilizatori Software compatibil cu actualele sisteme de operare Comunicaii prin cablu Furnizare piese de schimb (service) Compatibilitate cu noile CPU Extensibilitate Programare cu laptop standard Detectare si raportate defecte ABB ** *** * ** ** *** ** *** ** * Siemens * *** * ** ** *** ** *** ** * Allan Bradley *** *** ** *** *** *** ** ** ** ** ** GE Fanuc *** *** *** ** *** *** ** *** ** *** ***
Fig. 2.12. 60
Exemplul 1. Semnalizarea strii unui circuit electric Circuitul din figura 2.13 are rolul de a semnaliza luminos (cu un LED) starea alimentrii sarcinii de curent alternativ, notat cu R.
Fig. 2.13. Precizm, de la bun nceput, c situaia prezentat nu va fi niciodat ntlnit n practic, datorit unor inconveniente printre care faptul c nu revine n starea iniial fr o comand extern (vezi finalul logicii de comand). Rezistorul R este alimentat cu ~220 Vca de la sursa AC dac bobina releului C este sub tensiune. Circuitul de comand are dou butoane fr revenire (odat apsate rmn aa) unul notat cu P pentru pornire i unul notat cu O pentru oprire. Dac P este apsat se alimenteaz bobina releului B, contactul acestuia se nchide i bobina releului C va fi conectat la sursa de c.c. notat VCC. Contactul releului C se nchide i sarcina este alimentat iar LED - ul se aprinde indicnd prezena tensiunii n circuitul de for (de c.a.). 61
Dac O este apsat se alimenteaz bobina releului A, contactul acestuia se nchide i bobina releului C va fi deconectat la sursa de c.c. Contactul releului C se deschide i sarcina este scoas de sub tensiune; iar LED-ul se stinge indicnd faptul c sarcina nu este alimentat. Pentru a aduce circuitul n starea iniial se impune a debloca cele dou butoane. Constatm c toat logica de comand, inclusiv releele sunt implementate de ctre PLC. n exteriorul acestuia se afl numai butoanele care constituie intrri ale PLC i sarcina, conectat la una din ieirile controlerului. Exemplul 2. Transferul programului n memoria unui PLC n figura 2.14 la PLC s-au conectat la intrri 3 contacte ale unor mrimi din proces, iar la o ieire s-a conectat un bec. PLC- ul prezentat are 6 intrri (notate cu X) , 6 ieiri (notate cu Y) , dou borne de alimentare L1 , L2 i un conector pentru programare (Programming).
Fig. 2.14. Contactele conectate la PLC pot avea orice nume, n schimb n cadrul programului se vor folosi numai numele porilor (ale bornelor PLC) la care este conectat contactul. Observm c n cadrul schemei 62
de programare (din partea de jos a figurii ) apar notaiile porilor nscrise pe PLC (X1,X2, X3 pentru contactele de intrare i Y1 pentru becul conectat la ieire). Se impune a face o distincie clar ntre elementele fizice conectate la PLC i elementele din programul controler-ului asociate acestor elemente fizice, cu toate c pot avea aceeai denumire. n cazul figurii 2.14 programul din memoria controlerului (exprimat prin schema din partea de jos a figurii) conine contactul notat X1(element de programare) care este asociat elementului fizic conectat la prima born de intrare a PLC i care ca element fizic se poate numi tot X1 sau altfel (spre exemplu START). De fapt, elementul de programare X1 are alocat un registru (o zon de memorie) n care se pstreaz valoarea ON sau OFF. Programul va prelua starea contactului din registrul asociat (i tot acolo va face actualizarea strii). Execuia programului controlerului Programul controlerului se execut secvenial spre deosebire de circuitele cu relee unde aciunea contactelor este asincron (apare la orice moment de timp i rezultatul se obine imediat ce s-a schimbat starea unui contact). Dup ncheierea programului acesta este reluat ciclic, de la nceput. Durata unui ciclu poate fi n domeniul 1,..., 100 ms. Etapele oricrui program sunt evideniate n continuare. A. Selftest Controlerul efectueaz o diagnosticare a strii sistemului i n cazul funcionrii corespunztoare trece la etapa de preluare a mrimilor conectate la intrrile PLC ului. B. Actualizarea strii intrrilor Secvenialitatea nseamn c la momente discrete de timp controlerul execut o aciune de testare a unui contact sau intrare analogic, apoi al altui contact .a.m.d., pn cnd efectueaz actualizarea strii tuturor elementelor conectate la intrrile controlerului . De fapt, actualizarea const n memorarea strii intrrilor ntr-o memorie RAM. B. Analiza circuitului i actualizarea n memorie a strii ieirilor n faza urmtoare analizeaz prima ramur a circuitului, calculeaz rezultatele i modific n memorie starea ieirilor. 63
Trece la analiza urmtoarei ramuri de circuit .a.m.d. pn la sfritul schemei. Acesta este ordinea impus n care se testeaz i se calculeaz rezultatele aciunii contactelor. Ordinea impus este: - se ncepe din colul stnga sus al diagramei, - se parcurge prima ramur de la stnga la dreapta i se memoreaz rezultatul (adic starea ieirilor din ramura respectiv), - se trece la urmtoarea ramur n josul schemei, pn la sfrit. De reinut faptul c se memoreaz, imediat ce se face calculul, starea ieirilor circuitului (din simplul motiv c starea memorat va fi utilizat n restul calculelor, pe ramurile care urmeaz). Not: Exist posibilitatea, ca n calculele care se execut, s se foloseasc date ale intrrilor neactualizate, prin specificarea explicit a acestei opiuni. S-a prevzut aceast posibilitate pentru a folosi n calcule date considerate sigure sau date care se eantioneaz la intervale mai mari de timp. C. Actualizarea strii ieirilor PLC n aceast ultim etap se face actualizarea ieirilor propriu-zise de la bornele controlerului PLC, dup care se reia programul de la punctul A. Rezult c pe parcursul analizei schemei (a derulrii programului ) starea unei ieiri se poate modifica de mai multe ori, dac logica schemei o impune. Aceast modalitate de parcurgere a schemei determin necesitatea de a nu schimba ordinea n care sunt poziionate ramurile circuitului, pentru c exist probabilitatea ca s se obin alte rezultate. Dac un contact condiioneaz funcionarea altuia, prin schimbarea poziiei se poate ca s fie testat mai nti contactul al doilea rezult c primul contact nu va mai condiiona funcionarea celui de al doilea (la testarea celui de al doilea contact se va lua n considerare starea neactualizat , veche, din memorie a primului contact). Se impune concluzia c o ramur de circuit nu poate condiiona funcionarea unei ramuri din amonte (microprocesorul nu se ntoarce s reanalizeze ramurile deja parcurse). Exemplul 3. Realizarea dreptunghiulare unui generator de oscilaii
Actualizarea strii intrrilor la momente discrete de timp, n ordinea precizat, permite realizarea unui oscilator cu un singur releu i un contact al acestuia, ca n figura 2.15. 64
La prima testare C1 este nchis i PLC alimenteaz bobina releului C1care va fi n starea ON notat cu H. Bobina fiind alimentat contactul C1 se deschide. C1=H n intervalul de timp dintre testri, notat cu Ta. A doua testare gsete C1 deschis i PLC taie alimentarea bobinei releului C1 care va fi n starea OFF, altfel scris C1=L. Contactul C1 se nchide. C1=L n intervalul de timp dintre testri, Ta. C1 C1
L1
L2
Fig. 2.15. La a treia testare C1 este nchis i PLC alimenteaz bobina C1= H. Bobina fiind alimentat contactul C1 se deschide. C1=H n intervalul de timp dintre testri, Ta. A patra testare gsete C1 deschis i PLC taie alimentarea i C1=L. Contactul C1 se nchide. C1=L n intervalul de timp dintre testri, Ta. .a.m.d. Constatm c starea bobinei BC1 se modific la fiecare testare, obinnd astfel o form de und dreptunghiular de perioad 2Ta i factor de umplere de 50%. Din punctul de vedere al programrii, contactul C1 reprezint o intrare pentru PLC iar bobina CR1 reprezint o ieire a controlerului. Se justific aceast afirmaie prin faptul c intrarea C1 determin starea bobinei CR1 (alimentat sau nealimentat). Intrrile PLC sunt prezente n instruciunile condiionale ale programului iar ieirile PLC sunt instruciunile care stabilesc starea ieirilor. Structurile PLC pot implementa funcii de memorare i prelucrare matematic avansat a datelor (funcii statistice, funcii trigonometrice, derivare, integrare, .a.). 65
Structura hadware a unui PLC Din punct de vedere hardware, o instalaie complex poate conine mai multe PLC de sine stttoare sau grupate ntr-un rack, cu o singur surs de alimentare i cu un bus de comunicaie ntre ele i cu exteriorul, vezi figura 2.16.
Fig. 2.15 Fig. 2.16. Uneori exist mai multe rack-uri locale, n apropierea instalaiei, care comunic cu un sistem centralizat de conducere i supraveghere. Costul sistemelor PLC fiind n continu scdere, exist tendina de a implementa cte un PLC sau un grup de PLC - uri pentru fiecare element din sistem (main, instalaie, .a.) care s preia funciile locale de supraveghere i conducere i s comunice cu sistemul centralizat prin intermediul unei magistrale de comunicaie. Se poate vorbi, n aceast situaie de sisteme de conducere distribuite pentru c funcia de conducere nu mai este centralizat (o parte din decizii se iau la nivel local). Orice controler PLC, indiferent de productor, are urmtoarele componente (vezi figura 2.17): - surs de alimentare cu energie electric intern sau extern, care poate fi de c.a. (120 V sau 220 V) sau de c.c. ( 24 V); - unitate central de prelucrare CPU (Central Processing Unit);
66
- memorii de tipul RAM i memorii de tipul ROM (de obicei sunt reinscriptibile electric, adic sunt EEPROM), blocul MEMORY din figur; - sistemul de preluare a semnalelor din proces INPUT; - sistemul comenzilor ctre proces OUTPUT; - o interfa pentru programarea PLC, care poate fi integrat n sistemul intrrilor; - una sau mai multe interfee pentru comunicarea cu alte echipamente (o magistral de comunicaie cu exteriorul), care poate fi integrat de blocurile I/O. - un sistem de afiare (display i LED - uri) a strilor controlerului .
Fig. 2.17. Intrrile i ieirile sistemului sunt o parte digitale (DISCRETE i REGISTER) i altele (mai puine) analogice (ANALOG). Semnalul analogic de la intrare este convertit n semnal numeric prin intermediul unui CAN convertor analog numeric la ieirea cruia se obine o valoare pe 8, 10 sau 12 bii n funcie de rezoluia convertorului. O caracteristic important a sistemului intrrilor analogice ( condiionat de CAN) este viteza de conversie, exprimat prin timpul dintre momentul aplicrii semnalului analogic i momentul de timp la care este disponibil semnalul digital corespunztor valorii analogice de la intrare. Dac semnalele analogice din proces sunt rapid variabile n timp se impune ca PLC s dispun de un CAN performant, cu timp de conversie mic (spre exemplu de ordinul s ). Pentru c traductoarele conectate la intrrile analogice au diferite domenii de variaie a semnalului se impune prezena unui adaptor 67
(nainte de CAN) care s modifice domeniul semnalului pentru a fi compatibil cu domeniul acceptat de CAN. Spre exemplu domeniile -10V,...,+10V; 0,...,10V; 0,..., 100mV; 2,...,10mA; 4,...,20mA trebuie convertite la domeniul acceptat de CAN, adic la domeniul 0,...,5V. Semnalele digitale de intrare, provenind de la traductoare, pot avea diferite nivele de tensiune alocate cifrei zero logic i cifrei unu logic. Controlerul lucreaz cu o singur reprezentare a semnalelor digitale, motiv pentru care n structura PLC sunt prezente, la fiecare intrare adaptoare de semnal digital. n figura 2.18 este prezentat o schem a adaptorului pentru reprezentri n c.c. a semnalelor digitale din proces.
Fig. 2.18. n figura 2.19 este prezentat o schem a adaptorului pentru reprezentri n c.a. a semnalelor digitale din proces.
Fig. 2.19. 68
Constatm c n ambele scheme se folosete optocuplarea n scopul separrii semnalelor din proces de controlerul sistemului, pentru protecia acestuia. n cadrul schemei din figura 2.18 diodele D1 i D2 au rolul de limitare a semnalului de la intrare. Scheme din figura 2.19 primete la intrare semnal de c.a. care este redresat de puntea de diode PD, filtrat de grupul R1,R,C i limitat ca valoare de dioda Zener Dz. Semnalele digitale de ieire, sunt furnizate procesului prin intermediul unui adaptor cu funcia de a converti semnalul digital furnizat de CPU n semnal compatibil cu elementul de execuie care va fi conectat la respectiva ieire. Exist elemente de execuie la care PLC le furnizeaz un curent, ceea ce nseamn c elementul de execuie se conecteaz ntre borna de ieire a PLC i mas (sourcing output). Exist elemente de execuie care dispun de o surs proprie de alimentare i se vor conecta ntre borna de ieire a PLC i sursa proprie (sinking output). Elementele numerice de execuie lucreaz unele cu semnale de intrare de c.c. iar altele cu semnale de intrare de c.a. [15] Spre exemplu n figura 2.20 este prezentat o ieire a PLC care furnizeaz semnale digitale de c.c. echipamentului conectat la respectiva ieire.
Fig. 2.20. n figura 2.21 este prezentat adaptorul pentru o ieire cu semnal digital n curent alternativ. 69
Fig. 2.21.
Semnalele analogice de comand (de la ieirile PLC) se obin prin convertirea semnalului digital ntr-un semnal analogic cu ajutorul unui circuit electronic CNA numit convertor numeric analogic.
70
n cadrul celei de a treia seciuni sunt definite diferite modele (limbaje) de programare, i anume: LD (Ladder Diagram) limbaj grafic, pe baza schemelor (diagramelor) cu contacte; FBD (Function Block Diagram) limbaj grafic, pe baza schemelor bloc (scheme logice); IL (Instruction List) limbaj text, pe baza listelor de mnemonici; ST (Structured Text) limbaj text pe baza unui set de instruciuni, similare celor din limbajul BASIC clasic de programare; SFC (Sequential Function Charts) este o metod grafic, specificnd fluxul de date prin blocuri funcionale, in care se nscriu instruciuni ale unui alt limbaj de programare. [17,27] Tabelul 3.
Numele BOOL SINT INT DINT LINT USINT Tipul boolean short integer ntreg double integer long integer unsigned short integer UINT unsigned integer UDINT unsigned double integer ULINT unsigned long integer REAL nr. real LREAL long reals TIME durat DATE dat TIME_OF_DAY, TOD timp DATE_AND_TIME, DT dat i timp STRING ir BYTE 8 bits WORD 16 bits DWORD 32 bits LWORD 64 bits Numrul biilor 1 8 16 32 64 8 16 32 64 32 64 nespecificat nespecificat nespecificat nespecificat variabil 8 16 32 64 Domeniul 0 to 1 -128 la 127 -32768 la 32767 -2.1e-9 la 2.1e9 -9.2e19 la 9.2e19 0 la 255 0 la 65536 0 la 4.3e9 0 la 1.8e20 -
71
n cadrul tabelului 3 sunt prezentate tipurile de date acceptate de PLC care pot fi folosite n cadrul programelor. nainte de a prezenta elementele principale ale celor cinci limbaje de programare se impun cteva consideraii privind abordarea programrii controlerelor. Secvenialitatea execuiei instruciunilor conduce la foarte multe stri succesive ale automatului i o proiectare necorespunztoare determin stri nedorite ale sistemului, ceea ce conduce la un efort considerabil pentru depanarea programelor. O proiectare necorespunztoare mparte bugetul de timp necesar implementrii astfel : 10% stabilirea temei, 10% concepie, 30% scrierea programului (softul), 40% testare i depanare, 10% elaborarea documentaiei. O programare structurat determin un sistem fiabil, care poate fi cu uurin completat (upgrade) i care, de altfel, scurteaz i timpul necesar implementrii. Se afirm [10]c o cretere la 30% a timpului alocat concepiei (structurrii) va micora timpul alocat scrierii programului la 10% i va scdea timpul necesar depanrii la 10% (iat o economie de 30%, adic o scdere a timpului necesar implementrii automatului). n figura 2.21 este prezentat modul orientativ de structurare i indicaii privind limbajul care ar trebui adoptat pentru sistemele secveniale.
Fig. 2.21. Limbajul IL (Instruction List), poate fi considerat similar limbajului de asamblare folosit de microprocesoare. Sunt puine tipuri 72
de controlere care mai pot fi programate prin intermediul listelor de instruciuni (limbajul IL) i tendina este de a nu mai fi utilizat. Cauza principal este faptul c celelalte limbaje sunt mai uor de implementat. Limbajul ST(Structured Text) de text structurat este similar limbajelor de nivel nalt C i Visual Basic. Exist un program principal (ntre PROGRAM i END_PROGRAM) care apeleaz funcii sau subrutine. n primele linii se declar tipul variabilelor ntr-un bloc (care se ncheie la END_VAR). Blocul ncepe cu una din combinaiile specificate n tabelul 4. Tabelul 4. Declaratia
VAR END_VAR VAR_INPUT VAR_OUTPUT VAR_IN_OUT
Descriere
nceputul blocului de declarare a variabilelor (n general) Sfritul blocului de declarare a variabilelor Declararea variabilelor ce se vor transfera unei funcii Declararea variabilelor ce se vor transfera dintr-o funcie Declararea variabilelor ce se vor transfera ntre funcie i program apelant, att ca intrare ct i ca ieire Variabile externe Variabile globale Variabile de acces
VAR_INPUT, VAR_OUTPUT i VAR_IN_OUT declar variabile care vor fi argumente ale unor funcii prin intermediul respectivelor variabile se transfer date ntre program i funciile pe care le apeleaz. Exemple de declaraii pentru variabile: VAR A, B, C : INT ; END_VAR VAR A : STRING[10] ; END_VAR VAR A : STRING[10] := mama; END_VAR VAR A : BOOL; END_VAR VAR CONSTANT A : REAL := 6.12345 ; END_VAR VAR RETAIN A : ARRAY[1..5,1..6] OF INT; END_VAR 73
n tabelul 5 sunt precizate cuvintele cheie asociate variabilelor, prin intermediul crora se fac precizri asupra proprietilor acestora. Tabelul 5. Declaratia
RETAIN CONSTANT AT OF
Descriere
Variabila i menine valoarea i dup ntreruperea alimentrii PLC Valoare constant ce nu poate fi modificat Specific locaia de memorie ce se aloc vatiabilei Pecizeaz tipul variabilei (INT, BOOL,...)
Funciile sunt ncadrate de cuvintele cheie FUNCTION nume_funcie i END_FUNCTION. n tabelul 6 sunt prezentai operatorii aritmetici i operatorii logici, ncepnd cu cel mai prioritar. Tabelul 6. Operatori aritmetici i logici
> >= = <= < <> AND(A,B) OR(A,B) XOR(A,B) NOT(A) !
Descriere
Mai mare Mai mare i egal Egal Mai mic i egal Mai mic Diferit I SAU SAU EXCLUSIV NU NU
n cadrul tabelului 7 sunt prezentate structurile de control a secvenialitii programului (de fapt cele care modific execuia secvenial a programului).
74
Tabelul 7. Instruciunile
IF-THEN-ELSIF-ELSEEND_IF; CASE-valoare:-ELSE-END_CASE; FOR-TO-BY-DOEND_FOR; WHILE-DOEND_WHILE;
Descriere
IF CASE FOR WHILE
Exemplu pentru IF: Dac bitul 02 al intrrii I:000 (I:000/02) este OFF bitul 1 al ieirii O:001 (O:001/01) se seteaz ON, iar dac 02 al intrrii I:000 ON nu modific nimic. IF (I:000/02 = 0) THEN O:001/01 := 1; END_IF; Exemplu pentru IF complet: IF (I:000/00 = 1) THEN O:001/00 := 1; ELSIF (I:000/01 = 1 AND T4:0/DN = 1) THEN O:001/00 := 1; ELSE O:001/01 := 1; END_IF; Exemplu pentru CASE: n funcie de valoarea variabilei N7:0 unul sau mai muli bii ai portului de ieire O:000 se modific. Se seteaz ON unul din biii 00,...,03 iar dac N7:0 este mai mare ca 3 se seteaz toi biii 04,...,07 n OFF. CASE N7:0 OF 0: O:000/00 := 1; 1: O:000/01 := 1; 2: 75
Exemplu de bucl FOR: Pentru domeniul 0,...,4 al variabilei N7:0 se adun la variabila F8:10 valorile F8:[ 0],..., F8:[4]. F8:10 := 0; FOR (N7:0 := 0 TO 4) DO F8:10 := F8:10 + F8:[N7:0]; END_FOR; Alt mod de a realiza o bucl. N7:0 := 0; REPEAT N7:0 := N7:0 + 1; UNTIL N7:0 >= 10 END_REPEAT; Exemplu de bucl WHILE: Vezi exemplul pentru FOR. F8:10 := 0; N7:0 := 1; WHILE (N7:0 < 5) DO F8:10 := F8:10 + F8:[N7:0]; N7:0 := N7:0 + 1; END_WHILE; Exemplu de program principal: PROGRAM MAIN VAR I: INT; END_VAR 76
I:= 0; REPEAT I:=I+1; UNTIL I>= 10; END_REPEAT END_PROGRAM Exemplu de funcie pentru un bistabil RS: FUNCTION_BLOCK SR (*Bistabilul RS*) VAR_INPUT S: BOOL; R: BOOL; END_VAR VAR_OUTPUT Q: BOOL; END_VAR IF S OR R THEN Q: = S; ELSE (*nu se modifica starea ieirii*) END_IF END_FUNCTION_BLOCK Instruciuni speciale: IIN(); Se face remprosptarea valorii de intrare imediat (immediate input update); EMPTY Variabil neiniializat.
Limbajul ST are implementate principalele funcii matematice, spre exemplu: ABS(A) valoarea absolut; SQR(A) radicalul de ordin doi; LN(A) logaritmul natural; LOG(A) logaritmul n baza zece; EXP(A) exponeniala; SIN(A), COS(A), TAN(A) funcii trigonometrice directe; ASN(A), ACS(A), ATN(A) funcii trigonometrice inverse; XPY(A,B) sau A**B ridicarea la putere; 77
Pe lng funciile matematice standardul IEC1131 implementeaz o serie de funcii pentru iruri de caractere: CONCAT(A,B,...) concatenarea irurilor (de caractere); DELETE(IN:=A, L:=n, P:=m) terge n caractere din irul A ncepnd cu poziia m; FIND( IN1:=A, IN2:=B) caut irul B n irul A i furnizeaz poziia unde ncepe irul B n cadrul irului A; INSERT( IN1:=A, IN2:=B, P:=C) nsereaz irul B n irul A ncepnd cu poziia C; LEN(A) furnizeaz lungimea irului A; LEFT(IN:=A, L:=n) furnizeaz n caractere din cadrul irului A, ncepnd din partea stng a irului; O alt serie de funcii rezolv problema setrilor sistemelor din cadrul PLC, spre exemplu setarea numrtoarelor se face cu funciile: CTD, CTU, CTUD. Astfel : CTD(CD:=A, LD:=B, PV:=C) seteaz nu numrtor care i scade valoarea registrului A (care iniial este setat la valoarea B prin funcia LD - load preset) ct timp A<= C; CTU(CU:=A, R:=B, PV:=C) seteaz nu numrtor care i crete valoarea registrului A (care iniial este setat la valoarea B prin funcia R - reset) ct timp A>= C; TON (IN:=A, PT:=B) - seteaz n ON un circuit de temporizare; TOF (IN:=A, PT:=B) - seteaz n OFF un circuit de temporizare; RS(A,B) - stabilete intrrile A i B pentru un bistabil de tipul RS; Sistemul are funcii pentru manipularea biilor din cadrul unui cuvnt, spre exemplu: SHL(IN:=A, N:=m) - deplaseaz ctre stnga m bii din A; SHR(IN:=A, N:=m) - deplaseaz ctre dreapta m bii din A; ROR(IN:=A, N:=m) - rotete ctre dreapta m bii din A ; ROL(IN:=A, N:=m) - rotete ctre stnga m bii din A ;
78
De remarcat faptul c limbajul ST permite apelarea de subprograme scrise n alte limbaje. Limbajul SFC (Sequential Function Charts) , spre deosebire de celelalte limbaje, permite ca mai multe procese s fie active n acelai moment de timp. De fapt programele se activeaz concurenial n sensul c se strduie s acapareze resursele sistemului, mai exact s preia din timpul de lucru al controlerului. Limbajul mai este cunoscut sub numele Grafcet sau IEC 848. Principalele elemente ale grafurilor SFC sunt prezentate n figurile 2.22,...,2.27. Prin intermediul liniilor se indic trecerea de la un pas la altul, adic tranziia automatului dintr-o stare n alta.
Fig. 2.22.
Fig. 2.23.
Simbolul din figura 2.22 specific o instruciune condiional (de tipul IF sau WAIT) indicnd faptul c se va trece la pasul urmtor cnd condiia este ndeplinit. Prin intermediul blocurilor (a dreptunghiurilor) se indic starea circuitului. Spre exemplu simbolul din figura 2.23 indic prima stare a circuitului. De regul o stare ( un pas al circuitului) are asociat o aciune, vezi figura 2.24.
Stare (pas)
Aciune
Fig. 2.24. 79
Un macropas conine un numr de instruciuni, cu simbolul n figura 2.25. De regul blocul este asociat subrutinelor i funciilor.
Fig. 2.25. n figura 2.26 este prezentat simbolul pentru selecia unei ci. Programul va urma numai una din cele dou ci.
Fig. 2.26.
Fig. 2.27. 80
n figura 2.27 este prezentat blocul care semnific dou ramuri simultane ( este vorba de un circuit I).
Fig. 2.28. n figura 2.28 este prezentat un exemplu de aplicare a metodei SFC pentru un sistem care are drept scop deblocarea (descuierea) a dou ui. Prima u se deschide dac sunt introdui corect 3 digii, iar a doua se deschide dac sunt introdui corect 2 digii. Daca unul din digii este incorect ua rmne blocat (se d o nou comand de nchidere, cu toate c ua este deja blocat).
Limbajul FBD (Function Block Diagram) Principiul pe baza cruia a fost implementat limbajul FBD const n transferul datelor de la intrri ctre ieiri prin intermediul 81
blocurilor funcionale. De fapt limbajul foreaz programatorul s evidenieze transferul datelor prin sistem. Spre exemplu n figura 2.29 ieirea O:000/01 este activ dac la intrarea A avem o valoare mai mic dect la intrarea B (B=N7:2), unde intrarea A este determinat de variabilele N7:0 i N7:1prin relaia A = sin( N 7 : 0) * la ( N 7 : 1) .
Fig. 2.29. Blocurile funcionale ale limbajului FBD au un corespondent n instruciuni scrise n limbajul ST(Structured Text). Spre exemplu blocul din figura 2.30 este implementat n ST cu instruciunea
O := LIM ( MN := A, IN := B, MX := C ) .
Fig. 2.30. Exist blocuri funcionale definite (bistabili, timere, .a.), n cadrul unor biblioteci, dar pot fi definite noi blocuri funcionale. Dup definirea blocului funcional acesta poate cpta oricte instanieri n cadrul sistemului (folosind numele asociat blocului). Blocul divide din figura 2.31 permite implementarea funciei de mprire a dou valori c = a / b . n prealabil se face o verificare pentru eliminarea erorii de mprire la o valoare nul, caz n care ieirea se aduce la zero.
82
Fig. 2.31. Blocul funcional este de fapt o unitate care conine un set de instruciuni care efectueaz diferite prelucrri ale variabilelor de intrare pentru a genera valori ale variabilei de ieire. De notat c se pot folosi, n cadrul prelucrrii li variabile interne. Instruciunile (programul) cu care se implementeaz blocul funcional divide sunt:
FUNCTION_BLOCK divide VAR_INPUT a: INT; b: INT; END_VAR VAR_OUTPUT c: INT; END_VAR IF b <> 0 THEN c := a / b; ELSE c := 0; END_IF; END_FUNCTION_BLOCK
Implementarea blocurilor funcionale se poate face n oricare din limbajele definite de standardul IEC 1131. Blocurile pot fi prevzute cu intrri de autorizare EN care dac sunt inactive blocheaz funcionarea circuitului. Conectarea ieirii unui bloc la intrarea altuia se face prin unirea, cu o linie, a celor dou elemente. Salturile condiionate sau necondiionate se fac spre punctele etichetate (LABEL a, etc.). Dac exist mai multe reele de blocuri fiecrei reele i este asociat un numr i ordinea execuiei se face n ordinea cresctoare a numerelor asociate. 83
Sistemul permite implementarea subrutinelor din care revenirea poare fi condiionat sau necondiionat, vezi figura 2.32 [11].
Fig. 2.33. Exist blocuri pentru conversia valorilor din BCD n numere ntregi i invers, pentru conversia valorilor din numere ntregi n numere reale, pentru rotunjire sau pentru trunchere.
84
Limbajul LD (Ladder Diagram) ntr-o traducere aproximativ LD reprezint diagrame n scar. Explicaia const n faptul c diagrama are pe laterale alimentarea cu energie L1 i L2 (n care L1 este faza firul cald, iar L2 este masa) ntre care se gsesc reele electrice (rnduri , linii) conectate n paralel. Rndurile au n componen temporizatoare, numrtoare, contacte normal nchise sau normal deschise - de intrare i bobine ale unor relee sau elemente de execuie - de ieire (vezi figurile 2.11, 2.13, 2.14). Execuia i actualizarea se face de jos n sus i pe linie de la stnga la dreapta (un exemplu se afl n figura 2.15) fiecare linie fiind numerotat pentru ca execuia s se fac conform numrului de ordine. n cadrul diagramelor pot fi intercalate blocuri funcionale. Figura 2.34 prezint simbolizarea contactului normal deschis (IN001) i a contactului normal nchis (IN002, IN003 )
IN001 a)
IN002
IN003
b)
Fig. 2.34. Elementele de ieire sunt bobinele (OUT001, OUT002) i bobinele negate (OUT003).
OUT 001
OUT 002
OUT 003
a)
b)
Fig. 2.35. Temporizatoarele sunt elemente care modeleaz funcionarea releelor de timp i a contactelor temporizate. Temporizatoarele, a cror reprezentare se afl n figura 2.36, permit realizarea unei aciuni ntrziate cu un anumit interval de timp ce poate fi programat. 85
Validare
Baza de timp
Iniializare
Valoarea prestabilit
Fig. 2.36. Iniializarea pornete temporizarea. Baza de timp stabilete valoarea cu care se incrementeaz timpul (0,01s; 0,1s sau 1s). Numrul de cuante de timp la care se termin temporizarea este specificat prin program. n figura 2.37 este prezentat un numrtor.
Numrare Ieire Nr. numrtor
Fig. 2.37. Pentru desenarea schemelor cu contacte (Ladder Diagram) se folosesc editoare puse la dispoziie, de obicei, de ctre firmele productoare de echipamente PLC. Exemple de editoare J-Ladder [31], DELMIA Automation LL1 [32], ISaGRAF, TRiLOGY [33], .a.
86
Num ber 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
Description PLC book PLC website PLC tutorial Quick PLC description PLC History Online Encyclopedia PLC online Forum Course example Course example Course example Course example Course example PLC simulation software PLC simulation software Mitsubishi Toshiba Siemens Sprecher & Schuh Allen Bradley PLC book PLC application website Verification of PLC Applications PLC Applications PLC help thread PLC Tutorial site PLC Tutorial site PLC info and tutorial Modicon PLC history PLC primer PLC information PLC example Siemens PLC primer AB Pico Solutions Applications examples TSX PLC manual BORS oil application
Link/info http://claymore.engineer.gvsu.edu/~jackh/books/plcs http://www.plcs.net/ http://www.plcs.net/chapters/whatis1.htm http://support.automationdirect.com/docs/whatisaplc.html http://www.softplc.com/history.php http://en.wikipedia.org/wiki/Programmable_logic_controller http://www.plctalk.net/qanda/ http://claymore.engineer.gvsu.edu/~jackh/eod/egr450.html http://www.pueblocc.edu/tec/auto_023.htm http://www.cede.psu.edu/StudentGuide/EET220.htm http://www.tech.mtu.edu/courses/eet3370/EET3370%20Class%20 Schedule%202.htm http://www.utexas.edu/cee/petex/training/courses/iplc.html http://www.tri-plc.com/trilogi.htm http://www.ab.com/plclogic/pico/picosoft.html http://www.meau.com/eprise/main/sites/public/PRODUCTS/default http://www.tic.toshiba.com/productgroups.php?family=PLCs https://pia.khe.siemens.com/index.asp?Nr=2140 http://www.ssusa.cc/pages/mainpg/prodmainall.html http://www.ab.com/plclogic/ Programmable Logic Controllers An Introduction Third Edition W. Bolton 2003 Newnes Publications http://www.fbk.com/control-instrumentation/plctran.asp?menu=3 http://wwwhome.cs.utwente.nl/~mader/DEMOS/IPA2001.ppt http://www.entertron.com/application.htm http://www.plctalk.net/qanda/showthread.php?s=&threadid=12235 http://www.freestudy.co.uk/plc.htm http://www.mikroelektronika.co.yu/english/product/books/PLCbook /plcbook.htm http://www.mrplc.com/kb/ http://www.modicon.com/Default.htm http://www.barn.org/FILES/historyofplc.html http://www.industrialtext.com/freestuff.htm http://www.control.com/links_page#PLCs%20and%20related%20q uestions. http://www.htservices.com/Tutorials/plc_tutorial_2.htm http://www.sea.siemens.com/step/templates/lesson.mason?plcs:1: 2:1 http://www.ab.com/plclogic/pico/picosolutions.html http://public.modicon.com/nRepository/index.nsf/aa_getdocs?Ope nAgent&prod=nanocus http://www.modicon.com/nRepository/index.nsf/aa_getdocs?Open Agent&prod=nanopro# http://www.modicon.com/85256AE8006D78AB/all/AFB0118DEA9
87
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
PLC overview PLC intro RTU vs PLC Ladder Logic Ideas Ladder Logic editor Ladder Logic examples PLC tutorial site Intro to IEC 61131 IEC 61131-3 FAQ Thread on PLC Scan time Seamans on scan time PLC operation Info on Grafcet PLC failure info Programmable Logic Controllers Third Edition picture of industrial mixer PicoSoft
9C0AC85256BFA004F60F3!OpenDocument http://www.mavrinac.com/technical/howto_plc_programming_for_b eginners.txt http://www.canadu.com/hjhtml/plcs1-4.html http://www.tetragenics.com/Articles/RTUvsPLC.htm http://xtronics.com/toshiba/Ladder_logic.htm http://home.scarlet.be/~dc11cd/dciplc.html http://www.ibiblio.org/obp/electricCircuits/Digital/DIGI_6.html http://www.plcman.co.uk/ http://www.plcopen.org/TC1/intro_iec_61131-8.htm http://www.holobloc.com/stds/iec/sc65bwg7tf3/html/faq.htm http://www.plctalk.net/qanda/showthread.php?t=8220&highlight=sc an+cycle+time http://www.sea.siemens.com/step/templates/lesson.mason?plcs:7: 1:1 www.crakker.com/PLC_Primer.PDF http://www.lurpa.enscachan.fr/grafcet/generalites/presentation_uk.html http://www.processwest.ca/Past_Issues.htm?ID=354 W. Bolton Linacre House, Jordan Hill Oxford 2003 http://www.monoequip.com/images/Equipment/ind_cake_mixer.jpg http://www.ab.com/plclogic/pico/PicoSoftWeb6L.exe http://www.meau.com/eprise/main/sites/public/DOWNLOADS/search_results?SType=0&DocType=035&SessionNum=&UserID= &Division=00015&Opt1=Yes&submit1=Search&Family=00015200 10&Series=000152001020030 http://web.mit.edu/cjoye/www/ebay/RelayTimer/ http://www.icc-gb.com/lc4h.html http://www.controltech.cz/images/clanky/image30.jpg http://searchnetworking.techtarget.com/WhatIs/images/optoisol.gif http://www.drives.co.uk/news/worldnews/news_worldnews352.htm http://customer.honeywell.com/Honeywell/CatalogNavigator.aspx? Definition=Product&Catalog=Homes&Category=DP2030_10180& Product=DP2030B5011&ChannelID={2EB2F178-20ED-44E097FB-CCFB4218DD64}#LiteratureDownload http://www.mstores.umich.edu/catalog/grainger/electrical/relays/rel ay_sockets/2A584.html http://www.mstores.umich.edu/catalog/grainger/electrical/relays/ti me_delay_relays/5YZ86.html http://www.metalwebnews.com/howto/phase-converter/phaseconverter.html http://www.iu.hio.no/~georgm/pls/doc/s7kop__b.pdf http://www.phase-a-matic.com/PDF/RPL-2005-C.pdf http://www.kwandong.ac.kr/~sylee/cadcam_s/chap5Plc.ppt
GX-Developer picture of relay timer picture of relay counter picture of box PLC picture of optoisolator plc shipment article Honeywell contactor Price on start relay/mounting $20 Price on timed relay$48-$70 3 phase power converter example ladder logic manual 3 phase converter data sheet PLC presentation
62 63 64 65 66 67
88