CATEGORII DOCUMENTE |
Aeronautica | Comunicatii | Electronica electricitate | Merceologie | Tehnica mecanica |
REPREZENTAREA CU RELEE
A VARIABILELOR LOGICE
Relee
Releul electromagnetic este format dintr-un solenoid (vezi figura 2.1) care, atunci cand este alimentat cu tensiune, actioneaza cu o forta asupra unei armaturi mobile schimband starea contactelor (contactele normal inchise se deschid iar cele normal deschise se inchid).[1,7,8]
Contactele se afla in starea "normala" atunci cand bobina releului nu este alimentata cu tensiune.
Un releu are o parte din contacte normal inchise (lasa curentul sa treaca) si altele normal deschise, fara legatura galvanica unul cu altul.
Tensiunea de alimentare a bobinei releului este de valoare mica (nepericuloasa pentru om) 5 V, 12 V sau 24 V.
Butoanele sunt actionate manual (spre deosebire de relee), starea complementara celei normale mentinandu-se cat timp butonul este apasat.
Starea contactului unui releu se mentine cat timp este alimentata cu tensiune bobina releului.
Contactele releului se pot afla in circuite de tensiune mare si pot comuta curenti de valori mai mari sau mai mici in functie de constructia acestora. Spre exemplu contactele unui releu suporta curenti de ordinul a 20 mA, iar contactele altui releu pot comuta curenti de pana la 5 A. Exista relele care au contacte pentru curenti mici si contacte ("de forta") pentru curenti de valori mari.
De fapt, aparatul care are rolul de a comuta, prin inchiderea si deschiderea circuitului pe baza unei comenzi (de natura electrica), curenti de valori mari se numeste contactor (care poate fi electromagnetic sau static).
In aceeasi ordine de idei aparatul care inchide si deschide circuite electrice care nu sunt parcurse de curent se numeste separator. El are rolul de a specifica faptul ca circuitul este sub tensiune sau nu.
De regula, un circuit electric care sufera dese interventii (spre exemplu pentru a fi reconditionat) se cupleaza la sursa de energie prin intermediul unui separator urmat de un contactor. Pornirea - oprirea masinii (circuitului) se face cu contactorul. In caz de interventii la instalatia electrica se opreste masina cu contactorul si apoi se deschide circuitul prin actionarea separatorului.
D.p.d.v. constructiv diferenta esentiala dintre contactor si separator este prezenta camerei de stingere a arcului electric la contactor. La deconectarea curentilor mari intre ploturi (elementele contactorului prin care circula curentul) apare un arc electric, care nu trebuie sa se extinda in afara - se intrerupe in interiorul camerei.
In figura 2.2 sunt prezentate simbolurile folosite pentru contactele releului, ND - normal deschise si NI - normal inchise.
Comanda unui releu consta, in cazul releelor electromagnetice in conectarea bobinei acestuia la sursa de alimentare sau in conectarea tensiunii de comanda in cazul releelor electronice.
In cazul releului electromagnetic (din figura 2.1) comanda se face prin inchiderea comutatorului din circuitul bobinei releului, iar in cazul releului electronic (cu optotriac din figura 2.3) comanda se face prin actionarea intrerupatorului din circuitul de alimentare al LED-ului.
Prin conventie un contact inchis reprezinta starea "1" logic (permite circulatia curentului) iar un contact deschis reprezinta starea "0" logic (intrerupe circulatia curentului).
Tinand seama de aceasta conventie cu contacte ale releelor pot fi realizate orice functii logice, in figurile 2.4,,2.6 fiind prezentate cateva implementari.
In figura 2.4 avem un circuit SAU realizat cu releele CRA si CRB, a caror contacte sunt notate respectiv A si B. Circuitul SAU are rolul de a comuta in zero iesirea numai daca toate intrarile sunt in zero.
L si L2 sunt liniile de alimentare ale becului, L1 fiind faza iar L2 nulul retelei de alimentare cu energie electrica.
Iesirea circuitului numita OUT este considerata in starea "1" logic daca becul se aprinde. Becul stins semnifica zero la iesirea circuitului logic.
Se constata ca becul lumineaza daca oricare din contacte este inchis (sau amandoua) fiind conectat la sursa de alimentare. Se stinge daca ambele contacte sunt deschise, adica nici un releu nu este sub tensiune (a se intelege - bobina a releului).
In figura 2.5 este prezentat circuitul SI cu doua intrari. Becul lumineaza (este in starea "1" logic) daca ambele contacte A si B sunt inchise, realizand astfel conectarea becului la liniile de alimentare cu energie electrica.
Pentru a realiza o negatie (un circuit NU ) se foloseste un contact normal inchis al releului, ca in figura 2.6.
Fig. 2.6.
Becul este aprins numai daca releul nu este alimentat cu tensiune, contactul A ramanand in starea normala (inchis).
Pe langa releele "normale", prezentate mai sus, exista o clasa de relee care indeplinesc functii de protectie specifice si o alta clasa care actioneaza avand drept variabila de intrare atat comanda cat si timpul, motiv pentru care se numesc relee de timp.
Releele de protectie au in componenta un senzor (traductor) al unei marimi supravegheate, un detector de valoare impusa (pentru marimea urmarita) si un releu normal.
In conditiile in care marimea monitorizata iese din domeniul impus bobina releului este alimentata si contactele releului initiaza o actiune specifica (spre exemplu semnalizeaza depasirea limitelor).
Principalele relee de protectie sunt:
relee maximale de curent, declanseaza daca curentul intr-un circuit depaseste valoarea impusa;
relee minimale de tensiune, actioneaza daca tensiunea monitorizata scade sub valoarea impusa;
relee maximale de tensiune, actioneaza daca tensiunea monitorizata depaseste valoarea impusa;
relee de temperatura, actioneaza cand temperatura incintei monitorizate scade sub o valoare (in cazul cuptoarelor) sau creste peste o valoare impusa;
relee de timp.
Releele de timp sunt de doua tipuri
cu temporizare la conectare - contactele releului isi schimba starea dupa un timp prestabilit masurat din momentul cand bobina releului a fost alimentata cu energie;
cu temporizare la deconectare - contactele releului raman in starea in care au fost un interval de timp prestabilit dupa ce bobina releului a fost deconectata de la sursa de energie.
In figura 2.7 sunt prezentate contactele a doua relee de timp
a) contactul normal deschis se inchide la 5 secunde dupa alimentarea bobinei,
b) contactul care este inchis pe durata alimentarii bobinei, se deschide la 5 secunde dupa ce bobina nu mai este alimentata cu energie.
Releele pot fi utilizate in diferite scopuri (semnalizare, protectie, conditionare, reglare a marimilor, s.a.) in continuare fiind prezentate cateva aplicatii.
Exemplul 1. Circuitul 'watchdog'
In aplicatiile industriale sistemele de conducere trebuie sa functioneze continuu iar in caz de defect al sistemului sa intre in functiune sistemele de protectie.
Circuitul 'watchdog' semnaleaza oprirea programului rulat pe calculatorul de proces prin inchiderea unui contact, vezi figura 2.8.
Instructiunile programului se executa sincronizat cu o frecventa de tact. Daca programul s-a oprit, frecventa de sincronizare a instructiunilor nu va mai fi prezenta (lipseste tensiunea cu frecventa de sincronizare).
Bobina releului este alimentata din tensiunea de sincronizare (impulsurile din figura 2.8) dupa redresare si filtrare. Daca programul s-a oprit lipseste tensiunea de alimentare a releului si contactul releului se inchide semnalizand starea sistemului sau alimentand circuitele de protectie.
Exemplul 2. Circuitul de control al functionarii unui cuptor
Circuitele de autorizare sunt circuite care permit declansarea unui proces in situatia cand sunt indeplinite conditiile impuse de siguranta procesului sau de modul de functionare al acestuia.
In figura 2.9 este prezentat circuitul de control al pornirii unui cuptor.
Cuptorul porneste daca sunt indeplinite cele patru conditii si anume:
presiunea gazului de ardere este in limitele admise (contactele relelor de presiune maxima si minima sunt inchise, respectiv LM si Lm);
ventilatorul care furnizeaza aerul de amestec este pornit (releul de debit al aerului Lf este inchis);
cosul de evacuare a gazelor arse nu este obturat (releul de pe cosul de ardere Lc este inchis).
Releele fiind in serie, alimentarea bobinei releului CR1 se face numai daca toate sunt inchise. Contactul normal deschis CR1 se inchide si becul verde semnaleaza pornirea corecta. Contactul normal inchis se deschide si becul rosu se stinge.
Exemplul 3. Circuitul de pornire al unui motor de c.a.
In figura 2.10 este prezentata schema de forta pentru schimbarea sensului de rotire al unui motor de curent alternativ trifazat.
Pentru a inversa sensul de rotatie al unui motor se impune schimbarea sensului de rotatie al campului magnetic invartitor produs de infasurarile statorice ale masinii. Dupa cum se stie rotatia campului magnetic se produce in sensul succesiunii fazelor tensiunii de alimentare a circuitului statoric ( R - S - T) . Pentru a schimba sensul de rotatie al rotorului (antrenat in miscare de rotatie de campul magnetic invartitor) este suficient sa se schimbe ordinea alimentarii cu tensiune a doua din infasurarile statorice.
Pentru sensul direct ( in sensul de rotatie al acelor ceasornicului) fazele R, S, T sunt conectate la infasurarile statorice notate cu 1, 2, 3
( 1-R, 2-S, 3-T) de catre contactele releului M1 , iar pentru rotirea in sens invers releul M2 conecteaza infasurarile motorului 1-R, 3-S, 2-T (faza 2 a fost inversata cu faza 3).
Schema de comanda este prezentata in figura 2.11.
Constatam ca fiecare bobina de releu are in serie un contact normal inchis al celuilalt releu (M2a cu M1 si M1a cu M2 ). Contactul serie se numeste contact de interblocare si are rolul de a nu permite alimentarea cu tensiune a celuilalt releu cand unul este sub tensiune. Previne astfel manevrele gresite de conectare inversa a alimentarii motorului cand acesta se afla in miscare de rotatie (operatorul apasa gresit butonul de inversare a sensului).
Conectarea releului de schimbare a sensului se impune sa se faca numai dupa ce motorul s-a oprit.
Se impune aceasta conditie pentru a nu solicita nici sarcina mecanica nici infasurarile masinii - daca rotorul masinii are un sens de rotatie si campul magnetic invartitor alt sens cresc solicitarile mecanice, creste valoarea curentului prin infasurari si creste temperatura infasurarii.
Contactele M1b, M2b, aflate in paralel cu butoanele de sens se numesc contacte de automentinere.
Butoanele de sens conecteaza alimentarea pe bobina releului cat timp sunt apasate, dupa care circuitul se deschide si bobina releului este scoasa de sub tensiune (iar acesta modifica contactele la starea normala si motorul, daca a pornit se opreste). In schimb, daca exista contact de automentinere, la apasarea butonului se alimenteaza bobina releului si aceasta inchide contactul de automentinere. Dupa ce butonul nu mai este apasat, curentul bobinei se inchide prin contactul de automentinere (M1 se alimenteaza prin M1b, iar M2 se alimenteaza prin M2b ).
Releul RT este un releu de temperatura care, daca temperatura infasurarilor motorului a depasit limita admisa, se deschide si intrerupe alimentarea cu tensiune a releelor, ceea ce conduce la taierea alimentarii motorului si la oprirea acestuia.
Pentru oprirea motorului se apasa butonul "stop" care scoate de sub tensiune ambele relee.
Despre PLC
Controlerul PLC (Programmable Logic Controller) este un sistem, care a aparut initial din necesitatea de a inlocui functia logica realizata cu releele electromagnetice cu un ansamblu de contactoare statice comandate de un program memorat capabil sa efectueze conexiunile care erau realizate de releele electromagnetice. Necesitatea se refera la cresterea fiabilitatii, la centralizarea sistemului de comanda, la standardizarea si modularizarea echipamentelor pentru inlaturarea rapida a defectelor.
Primul PLC a aparut in 1968 (realizat de firma "Bedford Associates") si indeplinea numai functia de control prin program a instalatiilor industriale.
Intre timp controlerele PLC au fost dotate cu noi functii, pe langa cele destinate controlului functionarii instalatiilor industriale, dintre care cea mai importanta este functia de reglare.
Reglarea se refera la posibilitatea sistemului de a elabora comenzi prin intermediul carora un proces sa isi mentina starea de functionare impusa indiferent de perturbatiile care actioneaza (pentru a scoate sistemul din starea data).
Majoritatea producatorilor (ABB, Allen-Bradley, GE-Fanuc, Hitachi, Honeywell, LG Industrial Systems, Mitsubishi, Motorola, Omron, Rockwell Automation, Schneider Automation, Siemens, Toshiba, Yokogawa) de echipamente PLC au implementat functia de reglare dupa abatere prin algoritmi PID [4,8,9]. In literatura de specialitate se afirma ca numai 10% din buclele de reglare nu sunt realizate cu regulatoare de tipul PID, ceea ce inseamna ca sistemele PLC dotate cu functia de reglare PID acopera 90% din necesitatile de reglare ale industriei.
Comenzile sunt elaborate pe baza masurarii unor variabile ale procesului, ceea ce inseamna ca sistemul este prevazut cu intrari analogice si cu intrari numerice (de la 4 la 40 intrari, in functie de pret).
In cele mai multe cazuri intrarile analogice accepta semnal de intrare standardizat (spre exemplu tensiuni din domeniul 0,.., 1 V , 0,.., 5 V, -10,.., +10 V sau curenti din domeniul 2,.., 10 mA, 4,.., 20 mA) dar uneori intrarile sunt specializate pentru un anumit tip de traductor (spre exemplu are intrari pentru masurarea temperaturii cu termorezistenta, sau pentru masurarea temperaturii cu termocuplu). Specializarea implica dotarea intrarii cu blocuri functionale (spre exemplu amplificatoare sau atenuatoare de semnal) care sa adapteze valorile semnalului furnizat de traductor la domeniile standardizate, acceptate de controler.
Spre exemplu, un termocuplu furnizeaza tensiuni de ordinul mV care vor fi amplificate de adaptor, pentru a se incadra intr-unul din domeniile tensiunilor de intrare standardizate ( de regula in domeniul 0,.., 5 V)
Intrarile pot fi stari contact sau nivele de tensiune de diferite valori cu variatie lenta sau rapida in timp(spre exemplu exista domenii de 12 Vcc , 24 Vcc, 5 Vcc, 100-120 Vac, 200-240 Vac, s.a.).
Observam ca, fata de controlerele de inceput, controlerele actuale au pe langa intrari de tip contact (de releu) atat intrari cat si iesiri analogice. O parte din intrarile analogice sunt folosite pentru a prelua semnale de la traductoare in scopul controlului si protectiei instalatiei si o mica parte pentru a implementa functia de reglare a unor parametri (spre exemplu debit, temperatura, nivel s.a.).
De remarcat faptul ca tipul intrarii si domeniul valorilor semnalului de intrare pot fi stabilite prin program, la initializarea controlerului.
Comenzile, care reprezinta iesiri ale controlerului, pot fi
numerice - de tipul stari ale unui contact (de releu) ;
analogice - un semnal de tensiune sau curent, cu domeniul precizat de necesitatile procesului.
Domeniul iesirilor analogice se stabileste prin program, iar in cazul sistemelor ieftine este fixat la un domeniu ( spre exemplu 0,.., 5 V), de catre producatorul echipamentului.
Iesirile pot fi stari contact sau nivele de tensiune de diferite valori (spre exemplu 24 Vcc, 5 Vcc, 100-120 Vac, 230 Vac, s.a.), adoptate asa fel incat sa aiba suficienta energie pentru actionarea unui element de executie.
Elementele de executie sunt dispozitive care pot modifica controlat fluxul de materie sau fluxul de energie intr-un proces.
Drept elemente de executie uzuale sunt motoare electrice, masini hidraulice, masini termice, contactoare statice, dispozitive mecanice s.a.
Pentru prelucrarea numerica (de catre microprocesorul controlerului) a marimilor analogice, dupa adaptarea domeniului semnalul de intrare (in sensul ca semnalul de la intrarea analogica este convertit - amplificat sau atenuat - intr-un semnal care sa se incadreze in domeniul intrarii convertorului analog - numeric CAN) acesta este transformat intr-un semnal numeric de catre CAN.
Pe langa intrarile si iesirile accesibile din exterior (conectate la procesul industrial) controlerul are implementate:
relee interne, care sunt folosite pentru efectuarea unor operatii logice (releele interne se intalnesc uneori sub numele de markeri, flaguri);
relee de timp, care permit initierea unor activitati la momente de timp prestabilite;
numaratoare (care numara spre exemplu de cate ori s-a modificat o intrare si genereaza un semnal cand numaratorul a ajuns la o valoare prestabilita), registrii si memorii;
oscilatoare, care permit sincronizarea in timp a unor activitati;
comparatoare, care permit compararea a doua semnale si evidentierea egalitatii sau inegalitatii acestora;
sisteme de intrerupere a unui program si comutarea pe o alta secventa in cazul unor evenimente deosebite (spre exemplu in caz de defect al sistemului, in caz de nefunctionare a unui traductor s.a.).
O alta functie este functia de comunicare a controlerului PLC cu alte echipamente (spre exemplu cu un microprocesor, cu un calculator, cu un sistem de conducere centralizata, s.a.).
Fiecare producator de echipamente PLC ofera un protocol de comunicare, prin intermediul caruia doua (sau mai multe) PLC se inteleg si pot schimba date intre ele. Necazul este ca rareori doua PLC ale unor producatori diferiti pot comunica intre ele, datorita faptului ca au protocoale de comunicatie diferite.
Nota: Prin termenul de protocol de comunicatie se intelege o specificatie a modului de codate a mesajelor schimbate intre doua entitati. De fapt nu se refera numai la codarea datelor ci si la modul in care decurge dialogul. Spre exemplu:
E1 trimite catre E2 o cerere de conectare (connect request),
E2 catre E1 un raspuns la cerere prin care accepta conectarea,
in continuare se transfera date de la E1 la E2 si invers,
dupa ce E1 a terminat de transferat datele trimite catre E2 o cerere pentru eliberarea conexiunii (disconnect request),
E2 trimite o confirmare (disconnect confirmation) si legatura este eliberata, canalul de comunicatie putand fi utilizat de alte echipamente.
Comunicarea se poate face prin interfete standardizate (spre exemplu Ethernet, RS232, RS485), care permit integrarea PLC intr-o retea industriala, sau chiar poate fi conectat la reteaua Internet. Uneori comunicarea poate fi wireless pe baza standardului IEEE 802.3.
Nota: Termenul de interfata standardizata se refera la o specificatie care precizeaza atat la mediul fizic (modul de legare intre ele a echipamentelor, spre exemplu prin 3 fire, prin 8 conductori s.a.), nivelele semnalelor, la viteza de transfer cat si la protocolul de comunicatie dintre echipamente (care transmite primul, cum raspunde celalalt si in ce ordine se transmit datele, cate date, ce semnificatie au semnalele vehiculate le liniile de conectare, s.a.).
Cea mai simpla interfata este RS232 care are avantajul ca poate fi conectata atat la PLC cat si la orice calculator care dispune de un port serial. Dezavantajele interfetei RS232 se refera la viteza de transfer de maximum 19,2 kbps si la distanta mica dintre echipamente ( de maximum 15 m).
Datorita faptului ca echipamentele lucreaza in timp real, comunicarea trebuie sa decurga in deplina siguranta, fara erori si cu intarzieri cat mai mici. Din acest motiv se adopta protocoale de comunicatie elaborate de diferite firme.
Spre exemplu protocolul MAP al firmei General Motors este folosit in U.S.A. iar in Europa sunt folosite Profibus (cu posibilitatea de transmisie pana la 1,2 km, rata de transfer de 9,6,.., 500 kbps, pentru maximum 32 statii) , Modbus Plus (cu posibilitatea de transmisie pana la 450 m, rata de transfer de 1 Mbps la care se pot conecta maximum 32 statii) , FIP Bus. [5]
Functia de diagnoza a controlerului se refera la capacitatea acestuia de a-si testa corecta functionalitate, de a elabora rapoarte la intervale de timp impuse, de a genera semnale de alarmare sau atentionare la sesizarea unei anomalii.
Functia de diagnoza poate fi implementata prin program si extinsa pentru testarea functionarii corecte a echipamentelor conectate la intrarile si la iesirile sistemului. Pe langa testarea hrdware-ului sistemului, sistemele evoluate au posibilitatea de a verifica functionarea corecta a ansamblului de programe (soft-ul sistemului) prin rularea controlata a unor programe de autotestare, in sensul ca se genereaza intrari impuse si se verifica corectitudinea comenzilor.
O alta clasa de programe de diagnoza au drept scop ajustarea parametrilor fizici ai sistemelor de masura in scopul compensarii erorilor.
Spre exemplu, datorita temperaturii mediului ambiant, parametrii adaptorului se modifica (fara voia noastra). In aceste conditii semnalul numeric, corespunzator marimii masurate va fi mai mic sau mai mare decat cel real. Controlerul genereaza la intrare un semnal care conduce la o valoare numerica cunoscuta. Daca se obtine alta valoare controlerul modifica factorul de amplificare al adaptorului pentru a obtine valoarea numerica corecta. Aceasta caracteristica a sistemului de a-si modifica parametrii de functionare sau structura interna in scopul micsorarii efectului perturbatiilor se numeste adaptabilitate.
Elaborarea programului pentru controler se face pe un calculator oarecare utilizand:
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 instructiuni specifice;
pe baza descrierii schemelor logice intr-un limbaj de programare (spre exemplu in C) acceptat de controler.
pe baza unor limbaje standardizate pentru controlere, de cele mai multe ori folosindu-se specificatiile IEC 1131.
Pentru programe simple sau pentru modificarea unui program existent in memoria PLC se poate folosi interfata locala a controlerului.
Introducerea programului pentru controler, in memoria acestuia, se face prin intermediul unui conector, cu care este prevazut sistemul PLC ( de regula interfata asigura un transfer serial al datelor, fiind de tipul RS232 sau USB). Prin intermediul conectorului elementul de programare (un laptop, un calculator sau un circuit specializat de programare) are acces la o magistrala a controlerului.
Limbajele folosite de controlere nu au fost inca standardizate, fiecare producator folosind alte instructiuni, care de fapt au acelasi scop - de implementare, prin intermediul controlerului, a unor functii logice.
Controlerele mai performante accepta instructiuni in limbaje evoluate, spre exemplu in limbajul C.
Sunt sperante de unificare a limbajelor de programare a PLC prin intermediul standardului IEC 1131 elaborat de Comisia Internationala de Electrotehnica IEC ( International Electrotechnical Commision) - vezi paragraful urmator. De fapt producatorii de echipamente PLC nu au renuntat in totalitate la sistemul propriu de programare ci au introdus suplimentar posibilitatea programarii pe baza specificatiilor standardului mentionat. Aceasta facilitate este indicata prin compatibilitatea echipamentului cu standardul (IEC 1131 compliant).
Nu trebuie confundata functia de comunicare cu functia de programare a controlerului. Cele doua sunt separate atat fizic (pentru ca sa se evite reprogramarea accidentala a controlerului) cat si functional.
Pentru programarea PLC si testarea functionalitatii exista
soft-uri dedicate (CAD) puse la dispozitie de producatorii de echipamente. Spre exemplu "PicoSoft" cu ajutorul caruia se pot desena schemele si se poate simula functionarea este pus la dispozitie gratuit (pentru platforme Windows) de firma Allen-Bradley. Poate fi descarcat de la adresa [3
Tabelul 1.
TABEL COMPARATIV AL CARACTERISTICILOR UNITATILOR CENTRALE PLC |
||||
COD |
IC697CPX772 |
IC697CPX782 |
IC697CPX928 |
IC697CPX935 |
INTRAR/IESIRI NUMERICE |
2k |
12k |
12k |
12k |
INTRAR/IESIRI ANALOGICE |
8k |
8k |
8k |
8k |
MEMORIA DISPONIBILA APLICATIEI UTILIZATOR |
512k |
1 M |
6 M |
1 M (Fast memory) |
TIMPUL DE EXECUTIA A OPERATIILOR LOGICE |
0.4ms/k |
0.4ms/k |
0.4ms/k |
0.4ms/k |
INDEX AL PERFORMANTEI | ||||
PROCESOR |
486DX4 |
486DX4 |
486DX4 |
486DX4 |
FRECVENTA ROCESORULUI |
96MHz |
96MHz |
96MHz |
96MHz |
ARITMETICA IN VIRGULA MOBILA |
DA |
DA |
DA |
DA |
In tabelul 1 sunt prezentate caracteristicile unitatilor centrale de prelucrare numerica din componenta unor PLC iar in tabelul 2 sunt prezentate comparativ performantele PLC produse de patru firme reprezentative. S-au marcat cu stelute facilitatile oferite de producator privind caracteristicile ( scazuta *, medie **, ridicata ***).[4]
Tabelul 2.
Firma |
ABB |
Siemens |
Allan Bradley |
GE Fanuc |
Includerea in setul de instructiuni a functiilor trigonometrice | ||||
Includerea blocurilor PID | ||||
Posibilitatea includerii de subrutine parametrizate | ||||
Structuri predefinite in C pentru utilizatori | ||||
Software compatibil cu actualele sisteme de operare | ||||
Comunicatii prin cablu | ||||
Furnizare piese de schimb (service) | ||||
Compatibilitate cu noile CPU | ||||
Extensibilitate | ||||
Programare cu laptop standard | ||||
Detectare si raportate defecte |
In figura 2.12 este prezentat aspectul exterior al unui PLC.
Exemplul 1. Semnalizarea starii unui circuit electric
Circuitul din figura 2.13 are rolul de a semnaliza luminos (cu LED-ul) starea alimentarii sarcinii de curent alternativ, notata cu R.
Precizam, de la bun inceput, ca situatia prezentata nu va fi niciodata intalnita in practica, datorita unor inconveniente printre care faptul ca nu revine in starea initiala fara o comanda externa (vezi finalul logicii de comanda).
Rezistorul R este alimentat cu ~220 Vca de la sursa AC daca bobina releului C este sub tensiune.
Circuitul de comanda are doua butoane fara revenire (odata apasate raman asa) unul notat cu P - pentru pornire si unul notat cu O - pentru oprire.
Daca P este apasat sa alimenteaza bobina releului B, contactul acestuia se inchide si bobina releului C va fi conectata la sursa de c.c. notata VCC. Contactul releului C se inchide si sarcina este alimentata iar LED - ul se aprinde indicand prezenta tensiunii in circuitul de forta (de c.a.).
Daca O este apasat sa alimenteaza bobina releului A, contactul acestuia se inchide si bobina releului C va fi deconectata la sursa de c.c. Contactul releului C se deschide si sarcina este scoasa de sub tensiune iar LED-ul se stinge indicand faptul ca sarcina nu este alimentata.
Pentru a aduce circuitul in starea initiala se impune a debloca cele doua butoane.
Constatam ca toata logica de comanda, inclusiv releele sunt implementate de catre PLC. In exteriorul acestuia se afla numai butoanele care constituie intrari ale PLC si sarcina, conectata la una din iesirile controlerului.
Exemplul 2. Transferul programului in memoria unui PLC
In figura 2.14 la PLC s-au conectat la intrari 3 contacte ale unor marimi din proces, iar la o iesire s-a conectat un bec.
PLC- ul prezentat are 6 intrari (notate cu X) , 6 iesiri (notate cu Y) , doua borne de alimentare L1 , L2 si un conector pentru programare (Programming).
Fig. 2.14.
Contactele conectate la PLC pot avea orice nume, in schimb in cadrul programului se vor folosi numai numele portilor (ale bornelor PLC) la care este conectat contactul. Observam ca in cadrul schemei de programare (din partea de jos a figurii ) apar notatiile portilor inscrise pe PLC (X1,X2, X3 pentru contactele de intrare si Y1 pentru becul conectat la iesire).
Se impune a face o distinctie clara intre elementele fizice conectate la PLC si elementele din programul controlerului asociate acestor (elemente fizice), cu toate ca pot avea aceeasi denumire.
In cazul figurii 2.14 programul din memoria controlerului (exprimat prin schema din partea de jos a figurii) contine contactul notat X1(element de programare) care este asociat elementului fizic conectat la prima borna de intrare a PLC si care element fizic se poate numi tot X1 sau altfel (spre exemplu START). De fapt elementul de programare X1 are alocat un registru (o zona de memorie) in care se pastreaza valoarea (ON sau OFF). Programul va prelua starea contactului din registrul asociat (si tot acolo va face actualizarea starii).
Executia programului controlerului
Programul controlerului se executa secvential spre deosebire de circuitele cu relee unde actiunea contactelor este asincrona (apare la orice moment de timp si rezultatul se obtine imediat ce s-a schimbat starea unui contact).
Dupa incheierea programului acesta este reluat ciclic, de la inceput. Durata unui ciclu poate fi in domeniul 1,, 100 ms.
Etapele oricarui program sunt evidentiate in continuare.
A. Selftest
Controlerul efectueaza o diagnosticare a starii sistemului si in cazul functionarii corespunzatoare trece la etapa de preluare a marimilor conectate la intrarile PLC - ului.
B. Actualizarea starii intrarilor
Secventialitatea inseamna ca la momente discrete de timp controlerul executa o actiune de testare a unui contact sau intrare analogica, apoi al altui contact s.a.m.d., pana cand efectueaza actualizarea starii tuturor elementelor conectate la intrarile controlerului . De fapt actualizarea consta in memorarea starii intrarilor intr-o memorie RAM.
B. Analiza circuitului si actualizarea in memorie a starii iesirilor
In faza urmatoare analizeaza prima ramura a circuitului, calculeaza rezultatele si modifica in memorie starea iesirilor.
Trece la analiza urmatoarei ramuri de circuit s.a.m.d. pana la sfarsitul schemei. Acesta este ordinea impusa in care se testeaza si se calculeaza rezultatele actiunii contactelor.
Ordinea impusa este:
- se incepe din coltul stanga sus al diagramei,
- se parcurge prima ramura de la stanga la dreapta si se memoreaza rezultatul (adica starea iesirilor din ramura respectiva),
- se trece la urmatoarea ramura in josul schemei, pana la sfarsit.
De retinut faptul ca se memoreaza, imediat ce se face calculul, starea iesirilor circuitului (din simplul motiv ca starea memorata va fi utilizata in restul calculelor, pe ramurile care urmeaza).
Nota: Exista posibilitatea, ca in calculele care se executa, sa se foloseasca date ale intrarilor neactualizate, prin specificarea explicita a acestei obtiuni. S-a prevazut aceasta posibilitate pentru a folosi in calcule date considerate sigure sau date care se esantioneaza la intervale mai mari de timp.
C. Actualizarea starii iesirilor PLC
In aceasta ultima etapa se face actualizarea iesirilor propriu-zise de la bornele controlerului PLC, dupa care se reia programul de la punctul A.
Rezulta ca pe parcursul analizei schemei (a derularii programului ) starea unei iesiri se poate modifica de mai multe ori, daca logica schemei o impune.
Aceasta modalitate de parcurgere a schemei determina necesitatea de a nu schimba ordinea in care sunt pozitionate ramurile circuitului, pentru ca exista probabilitatea ca sa se obtina alte rezultate. Daca un contact conditioneaza functionarea altuia, prin schimbarea pozitiei se poate ca sa fie testat mai intai contactul al doilea - rezulta ca primul contact nu va mai conditiona functionarea celui de al doilea (la testarea celui de al doilea contact se va lua in considerare starea neactualizata , veche, din memorie a primului contact). Se impune concluzia ca o ramura de circuit nu poate conditiona functionarea unei ramuri din amonte (microprocesorul nu se intoarce sa reanalizeze ramurile deja parcurse).
Exemplul 3. Realizarea unui generator de oscilatii dreptunghiulare
Actualizarea starii intrarilor la momente discrete de timp, in ordinea precizata, permite realizarea unui oscilator cu un singur releu si un contact al acestuia, ca in figura 2.15.
La prima testare C1 este inchis si PLC alimenteaza bobina releului C1care va fi in starea ON notata cu H. Bobina fiind alimentata contactul C1 se deschide.
C1=H in intervalul de timp dintre testari, notat cu Ta.
A doua testare gaseste C1 deschis si PLC taie alimentarea bobinei releului C1 care va fi in starea OFF, altfel scris C1=L. Contactul C1 se inchide.
C1=L in intervalul de timp dintre testari, Ta.
Fig. 2.15.
La a treia testare C1 este inchis si PLC alimenteaza bobina C1= H. Bobina fiind alimentata contactul C1 se deschide.
C1=H in intervalul de timp dintre testari, Ta.
A patra testare gaseste C1 deschis si PLC taie alimentarea si C1=L. Contactul C1 se inchide.
C1=L in intervalul de timp dintre testari, Ta.
S.a.m.d.
Constatam ca starea bobinei BC1 se modifica la fiecare testare, obtinand astfel o forma de unda dreptunghiulara de perioada 2Ta si factor de umplere de 50%.
Din punctul de vedere al programarii, contactul C1 reprezinta o intrare pentru PLC iar bobina CR1 reprezinta o iesire a controlerului. Se justifica aceasta afirmatie prin faptul ca intrarea C1 determina starea bobinei CR1 (alimentata sau nealimentata).
Intrarile PLC sunt prezente in instructiunile conditionale ale programului iar iesirile PLC sunt instructiunile care stabilesc starea iesirilor.
Structurile PLC pot implementa functii de memorare si prelucrare matematica avansata a datelor (functii statistice, functii trigonometrice, derivare, integrare, s.a.).
Structura hadware a unui PLC
Din punct de vedere hardware, o instalatie complexa poate contine mai multe PLC de sine statatoare sau grupate intr-un rack, cu o singura sursa de alimentare si cu bus de comunicatie intre ele si cu exteriorul, vezi figura 2.16.
Uneori exista mai multe rack-uri locale, in apropierea instalatiei, care comunica cu un sistem centralizat de conducere si supraveghere.
Costul sistemelor PLC fiind in continua scadere, exista tendinta de a implementa cate un PLC sau un grup de PLC - uri pentru fiecare element din sistem (masina, instalatie, s.a.) care sa preia functiile locale de supraveghere si conducere si sa comunice cu sistemul centralizat prin intermediul unei magistrale de comunicatie. Se poate vorbi, in aceasta situatie de sisteme de conducere distribuite pentru ca functia de conducere nu mai este centralizata (o parte din decizii se iau la nivel local).
Orice controler PLC, indiferent de producator, are urmatoarele componente (vezi figura 2.17):
sursa de alimentare cu energie electrica interna sau externa, care poate fi de c.a. (120 V sau 220 V) sau de c.c. ( 24 V);
unitate centrala de prelucrare CPU (Central Processing Unit);
memorii de tipul RAM si memorii de tipul ROM (de obicei sunt reinscriptibile electric, adica sunt EEPROM), blocul MEMORY din figura;
sistemul de preluare a semnalelor din proces IMPUT;
sistemul comenzilor catre proces OUTPUT;
o interfata pentru programarea PLC, care poate fi integrata in sistemul intrarilor;
una sau mai multe interfete pentru comunicarea cu alte echipamente (o magistrala de comunicatie cu exteriorul), care poate fi integrata de blocurile I/O.
un sistem de afisare (display si LED - uri) a starilor controlerului .
Fig. 2.17.
Intrarile si iesirile sistemului sunt o parte digitale (DISCRETE si REGISTER) si altele (mai putine) analogice (ANALOG).
Semnalul analogic de la intrare este convertit in semnal numeric prin intermediul unui CAN convertor analog - numeric la iesirea caruia se obtine o valoare pe 8, 10 sau 12 biti in functie de rezolutia convertorului.
O caracteristica importanta a sistemului intrarilor analogice ( conditionata de CAN) este viteza de conversie, exprimata prin timpul dintre momentul aplicarii semnalului analogic si momentul de timp la care este disponibil semnalul digital corespunzator valorii analogice de la intrare. Daca semnalele analogice din proces sunt rapid variabile in timp se impune ca PLC sa dispuna de un CAN performant, cu timp de conversie mic (spre exemplu de ordinul ).
Pentru ca traductoarele conectate la intrarile analogice au diferite domenii de variatie a semnalului se impune prezenta unui adaptor (inainte de CAN) care sa 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, adica la domeniul 0,,5V.
Semnalele digitale de intrare, provenind de la traductoare, pot avea diferite nivele de tensiune alocate cifrei zero logic si cifrei unu logic. Controlerul lucreaza cu o singura reprezentare a semnalelor digitale, motiv pentru care in structura PLC sunt prezente, la fiecare intrare adaptoare de semnal digital. In figura 2.18 este prezentata o schema a adaptorului pentru reprezentari in c.c. a semnalelor digitale din proces.
In figura 2.19 este prezentata o schema a adaptorului pentru reprezentari in c.a. a semnalelor digitale din proces.
Constatam ca in ambele scheme se foloseste optocuplarea in scopul separarii semnalelor din proces de controlerul sistemului, pentru protectia acestuia.
In cadrul schemei din figura 2.18 diodele D1 si D2 au rolul de limitare a semnalului de la intrare.
Scheme din figura 2.19 primeste la intrare semnal de c.a. care este redresat de puntea de diode PD, filtrat de grupul R1,R,C si limitat ca valoare de dioda Zener Dz.
Semnalele digitale de iesire, sunt furnizate procesului prin intermediul unui adaptor cu functia de a converti semnalul digital furnizat de CPU in semnal compatibil cu elementul de executie care va fi conectat la respectiva iesire.
Exista elemente de executie la care PLC le furnizeaza un curent, ceea ce inseamna ca elementul de executie se conecteaza intre borna de iesire a PLC si masa (sourcing output
Exista elemente de executie care dispun de o sursa proprie de alimentare si se vor conecta intre borna de iesire a PLC si sursa proprie (sinking output
Elementele numerice de executie lucreaza unele cu semnale de intrare de c.c. iar altele cu semnale de intrare de c.a.
Spre exemplu in figura 2.20 este prezentata o iesire a PLC care furnizeaza semnale digitale de c.c. echipamentului conectat la respectiva iesire.
In figura 2.21 este prezentat adaptorul pentru o iesire cu semnal digital in curent alternativ.
Semnalele analogice de comanda (de la iesirile PLC) se obtin prin convertirea semnalului digital intr-un semnal analogic cu ajutorul unui circuit electronic CNA numit convertor numeric - analogic.
Elemente de programare a PLC
Elaborarea programului de functionare al unui PLC se face prin intermediul unor instructiuni de programare specifice fiecarui producator de echipamente sau prin intermediul unor limbaje de programare a PLC impuse de standardul IEC 1131 ( International Electrotechnical Commision).
In continuare vor fi prezentate principalele elemente de programare definite de IEC 1131, care standard datorita diferitelor revizuiri este cunoscut si sub numele IEC 61131.
Standardul nu se refera numai la programarea PLC, fiind un manual de definire a sistemelor cu logica programabila. Se compune din mai multe sectiuni, si anume:
informatii generale (1);
echipamente si testarea acestora (2);
limbaje de programare, contine o descriere a instructiunilor si informatii privind standardele de programare (3);
indicatii pentru utilizarea sistemelor PLC (4);
tehnici de comunicare (5);
control prin logica fuzzy (6).
De fapt SFC organizeaza subprogramele, scrise in celelalte limbaje, ca sa formeze structura programului controlerului.
In cadrul celei de a treia sectiuni sunt definite diferite modele (limbaje) de programare, si 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 instructiuni, similare celor din limbajul BASIC
clasic de programare;
SFC (Sequential Function Charts) - este o metoda grafica, specificand fluxul de date prin blocuri functionale, in care se inscriu instructiuni ale unui alt limbaj de programare.
Tabelul 3.
Numele |
Tipul |
Numarul bitilor |
Domeniul |
BOOL |
boolean |
0 to 1 |
|
SINT |
short integer |
-128 to 127 |
|
INT |
intreg |
-32768 to 32767 |
|
DINT |
double integer |
-2.1e-9 to 2.1e9 |
|
LINT |
long integer |
-9.2e19 to 9.2e19 |
|
USINT |
unsigned short integer |
0 to 255 |
|
UINT |
unsigned integer |
0 to 65536 |
|
UDINT |
unsigned double integer |
0 to 4.3e9 |
|
ULINT |
unsigned long integer |
0 to 1.8e20 |
|
REAL |
nr. real | ||
LREAL |
long reals | ||
TIME |
durata |
nespecificat | |
DATE |
data |
nespecificat | |
TIME_OF_DAY, TOD |
timp |
nespecificat | |
DATE_AND_TIME, DT |
data si timp |
nespecificat | |
STRING |
sir |
variabil | |
BYTE |
8 bits | ||
WORD |
16 bits | ||
DWORD |
32 bits | ||
LWORD |
64 bits |
In cadrul tabelului 3 sunt prezentate tipurile de date acceptate de PLC care pot fi folosite in cadrul programelor.
Inainte de a prezenta elementele principale ale celor cinci limbaje de programare se impun cateva consideratii privind abordarea programarii controlerelor.
Secventialitatea executiei instructiunilor conduce la foarte multe stari succesive ale automatului si o proiectare necorespunzatoare determina stari nedorite ale sistemului, ceea ce conduce la un efort considerabil pentru depanarea programelor. O proiectare necorespunzatoare imparte bugetul de timp necesar implementarii astfel : 10% stabilirea temei, 10% conceptie, 30% scrierea programului (softul), 40% testare si depanare, 10% elaborarea documentatiei.
O programare structurata determina un sistem fiabil, care poate fi cu usurinta completat (upgrade) si care, de altfel, scurteaza si timpul necesar implementarii. Se afirma [10]ca o crestere la 30% a timpului alocat conceptiei (structurarii) va micsora timpul alocat scrierii programului la 10% si va scadea timpul necesar depanarii la 10% (iata o economie de 30%, adica o scadere a timpului necesar implementarii automatului).
In figura 2.22 este prezentat modul orientativ de structurare si indicatii privind limbajul care ar trebui adoptat pentru sistemele secventiale.
Limbajul IL (Instruction List) poate fi considerat similar limbajului de asamblare folosit de microprocesoare. Sunt putine tipuri de controlere care mai pot fi programate prin intermediul listelor de instructiuni (limbajul IL) si tendinta este de a nu mai fi utilizat. Cauza principala este faptul ca celelalte limbaje sunt mai usor de implementat.
Limbajul ST Structured Text de text structurat este similar limbajelor de nivel inalt C si Visual Basic.
Exista un program principal (intre PROGRAM si END_PROGRAM) care apeleaza functii sau subrutine.
In primele linii se declara tipul variabilelor intr-un bloc (care se incheie la END_VAR). Blocul incepe cu una din combinatiile specificate in tabelul 4.
Tabelul 4.
Declaratia |
Descriere |
VAR |
Inceputul blocului de declarare a variabilelor (in general) |
END_VAR |
Sfarsitul blocului de declarare a variabilelor |
VAR_INPUT |
Declararea variabilelor ce se vor transfera unei functii |
VAR_OUTPUT |
Declararea variabilelor ce se vor transfera dintr-o functie |
VAR_IN_OUT |
Declararea variabilelor ce se vor transfera intre functie si pp atat ca intrare cat si ca iesire |
VAR_EXTERNAL |
Variabile externe |
VAR_GLOBAL |
Variabile globale |
VAR_ACCESS |
VAR_INPUT, VAR_OUTPUT si VAR_IN_OUT declara variabile care vor fi argumente ale unor functii - prin intermediul respectivelor variabile se transfera date intre program si functiile pe care le apeleaza.
Exemple de declaratii 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
In tabelul 5 sunt precizate cuvintele cheie asociate variabilelor, prin intermediul carora se fac precizari asupra proprietatilor acestora.
Tabelul 5.
Declaratia |
Descriere |
RETAIN |
Variabila isi mentine valoarea si dupa intreruperea alimentarii PLC |
CONSTANT |
Valoare constanta ce nu poate fi modificata |
AT |
Specifica locatia de memorie ce se aloca vatiabilei |
OF |
Pecizeaza tipul variabilei (INT, BOOL,) |
Functiile sunt incadrate de cuvintele cheie FUNCTION nume_functie si END_FUNCTION.
In tabelul 6 sunt prezentati operatorii aritmetici si operatorii logici, incepand cu cel mai prioritar.
Tabelul 6.
Operatori aritmetici si logici |
Descriere |
> |
Mai mare |
>= |
Mai mare si egal |
Egal |
|
<= |
Mai mic si egal |
< |
Mai mic |
<> |
Diferit |
AND(A,B) |
SI |
OR(A,B) |
SAU |
XOR(A,B) |
SAU EXCLUSIV |
NOT(A) |
NU |
NU |
In cadrul tabelului 7 sunt prezentate structurile de control a secventialitatii programului (de fapt cele care modifica executia secventiala a programului).
Tabelul 7.
Instructiunile |
Descriere |
IF-THEN-ELSIF-ELSE- END_IF; |
IF |
CASE-valoare:-ELSE-END_CASE; |
CASE |
FOR-TO-BY-DO- END_FOR; |
FOR |
WHILE-DO- END_WHILE; |
WHILE |
Exemplu pentru IF:
Daca bitul 02 al intrarii I:000 (I:000/02) este OFF bitul 1 al iesirii O:001 (O:001/01) se seteaza ON, iar daca 02 al intrarii I:000 ON nu modifica 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:
In functie de valoarea variabilei N7:0 unul sau mai multi biti ai portului de iesire O:000 se modifica. Se seteaza ON unul din bitii 00,,03 iar daca N7:0 este mai mare ca 3 se seteaza toti bitii 04,,07 in OFF.
CASE N7:0 OF
O:000/00 := 1;
O:000/01 := 1;
O:000/02 := 1;
O:000/03 := 1;
ELSE
O:000 := 0;
END_CASE;
Exemplu de bucla FOR:
Pentru domeniul 0,,4 al variabilei N7:0 se aduna 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 bucla.
N7:0 := 0;
REPEAT
N7:0 := N7:0 + 1;
UNTIL N7:0 >= 10
END_REPEAT;
Exemplu de bucla 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
I:= 0;
REPEAT
I:=I+1;
UNTIL I>= 10;
END_REPEAT
END_PROGRAM
Exemplu de functie 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 iesirii*)
END IF
END_FUNCTION_BLOCK
Instructiuni speciale:
IIN(); Se face reimprospatarea valorii de intrare imediat
(immediate input update);
EMPTY Variabila neinitializata.
Limbajul ST are implementate principalele functii matematice, spre exemplu:
ABS(A) - valoarea absoluta;
SQR(A) - radicalul de ordin doi;
LN(A) - logaritmul natural;
LOG(A) - logaritmul in baza zece;
EXP(A) - exponentiala;
SIN(A), COS(A), TAN(A) - functii trigonometrice directe;
ASN(A), ACS(A), ATN(A) - functii trigonometrice inverse;
XPY(A,B) sau A**B - ridicarea la putere;
MAX(A,B) - furnizeaza valoarea maxima a celor doua;
Pe langa functiile matematice standardul IEC1131 implementeaza o serie de functii pentru siruri de caractere:
CONCAT(A,B,) - concatenarea sirurilor (de caractere);
DELETE(IN:=A, L:=n, P:=m) - sterge n caractere din sirul A incepand cu pozitia m;
FIND( IN1:=A, IN2:=B) - cauta sirul B in sirul A si furnizeaza pozitia unde incepe sirul B in cadrul sirului A;
INSERT( IN1:=A, IN2:=B, P:=C) insereaza sirul B in sirul A incepand cu pozitia C;
LEN(A) - furnizeaza lungimea sirului A;
LEFT(IN:=A, L:=n) - furnizeaza n caractere din cadrul sirului A, incepand din partea stanga a sirului;
O alta serie de functii rezolva problema setarilor sistemelor PLC, spre exemplu setarea numaratoarelor se face cu functiile:
CTD, CTU, CTUD
Astfel :
CTD(CD:=A, LD:=B, PV:=C) - seteaza nu numarator care isi scade valoarea registrului A (care initial este setat la valoarea B prin functia LD - load preset) cat timp A<= C;
CTU(CU:=A, R:=B, PV:=C) - seteaza nu numarator care isi creste valoarea registrului A (care initial este setat la valoarea B prin functia R - reset) cat timp A>= C;
TON (IN:=A, PT:=B) - seteaza in ON un circuit de temporizare;
TOF (IN:=A, PT:=B) - seteaza in OFF un circuit de temporizare;
RS(A,B) - stabileste intrarile A si B pentru un bistabil de tipul RS;
Sistemul are functii pentru manipularea bitilor din cadrul unui cuvant, spre exemplu:
SHL(IN:=A, N:=m) - deplaseaza catre stanga m biti din A;
SHR(IN:=A, N:=m) - deplaseaza catre dreapta m biti din A;
ROR(IN:=A, N:=m) - roteste catre dreapta m biti din A ;
ROL(IN:=A, N:=m) - roteste catre stanga m biti din A ;
De remarcat faptul ca limbajul ST permite apelarea de subprograme scrise in alte limbaje.
Limbajul SFC (Sequential Function Charts , spre deosebire de celelalte limbaje, permite ca mai multe procese sa fie active in acelasi moment de timp. De fapt programele activeaza concurential in sensul ca se straduie sa acapareze resursele sistemului, mai exact sa preia din timpul de lucru al controlerului.
Limbajul mai este cunoscut sub numele Grafcet sau IEC 848.
Principalele elemente ale grafurilor SFC sunt prezentate in figurile 2.22,,2.27.
Prin intermediul liniilor se indica trecerea de la un pas la altul, adica tranzitia automatului dintr-o stare in alta.
Simbolul din figura 2.22 specifica o instructiune conditionala (de tipul IF sau WAIT) indicand faptul ca se va trece la pasul urmator cand conditia este indeplinita.
Prin intermediul blocurilor (a dreptunghiurilor) se indica starea circuitului. Spre exemplu simbolul din figura 2.23 indica prima stare a circuitului.
De regula o stare ( un pas al circuitului) are asociata o actiune, vezi figura 2.24.
Un macropas contine un numar de instructiuni, cu simbolul in figura 2.25. De regula blocul este asociat subrutinelor si functiilor.
In figura 2.26 este prezentat simbolul pentru selectia unei cai. Programul va urma numai una din cele doua cai.
In figura 2.27 este prezentat blocul care semnifica doua ramuri simultane ( este vorba de un circuit SI).
In figura 2.28 este prezentat un exemplu de aplicare a metodei SFC pentru un sistem care are drept scop deblocarea (descuierea) a doua usi. Prima usa se deschide daca sunt introdusi corect 3 digiti, iar a doua se deschide daca sunt introdusi corect 2 digiti. Daca unul din digiti este incorect usa ramane blocata (se da o noua comanda de inchidere, cu toate ca usa este deja blocata).
Limbajul FBD (Function Block Diagram)
FBF pag 500 cap 21
Cap 10 ladder + 15.1. pag 368 va fi primul
1. *** https://www.allaboutcircuits.com, Lesson in electric circuits, Vol. I,.,VII, 2003;
Introduction to Programmable Logic Controllers, 2005;
3. *** https://www.ab.com/plclogic/;
Revista de Politica si Scientologie, ISSN -1582-1218, 2005;
AEG, PLC Communications in a Process Control System, 2002;
J.R. Hackworth, F.D. Hackworth, Programmable Logic Controllers, Prentice Hall, 2004;
7.
8. S. Larionescu, Algotitmi de reglare PID, UTCB 2003;
9. S. Larionescu, D. Popescu, Regulator numeric PID, UTCB 2003;
10. Hugh Jack, Automating Manufacturing Systems with PLC,
Vers. 4.9, Grand Valley State University, Michigan, USA, 2007;
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 6122
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved