Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Solutia de automatizare implementata


Solutia de automatizare implementata


Solutia de automatizare implementata


1 Instalatia si automatul programabil


Scopul acestei lucrari este conducerea procesului neliniar descries in capitolul al doilea al acestei lucrari, doar prin intermediul automatului programabil Control Logix, si al programelor ce vin cu acestea - si anume RSLogix 5000 utilizat ca mediu de programare al automatului RSView program utilizat la implementarea interfetei om - masina. Ambele soft-uri sunt produse de aceeasi firma ca si automatul si anume Rockwell.




Fig 1 Schema bloc a sistemului de automatizare

In Fig 1 apare o reprezentare schematica a sistemului de conducere a procesului neliniar prin intermediul automatului programabil. Dupa ce s-au stabilit marimile de proces (comanda procesului - tensiunea continua aplicata motorului de feon si iesirea procesului - informatia provenita de la traductorul de pozitie) se trece la urmatoarea etapa: conectarea semnalelor de iesire si respectiv comanda la automatul programabil. Acest lucru se realizeaza prin intermediul celor doua module analogice de intrare/iesire cu care este echipat automatul (Fig. 2).

Implementarea algoritmilor de reglare a pozitiei bilei de plastic in tubul perforat se face cu ajutorul programului RSLogix care ruleaza pe un PC obisnuit. Legatura dintre PC si automat se face prin intermediul modulului de EthernetIP - parte componenta a automatului si o placa de retea Ethernet obisnuita cu care vine echipat aproape orice calculator modern.

Fig 2 Instalatia si automatul programabil



2 Identificarea modelelor procesului neliniar


In al doilea capitol al acestei lucrari am prezentat instalatia tehnologica utilizata in proiect precum si procesul neliniar studiat. Pentru a putea identifica corespunzator precum si a controla procesul neliniar am realizat impartirea acestuia pe zone de functionare distincte. Privind cu atentie evolutia caracteristicii statice a acestui proces se pot observa patru zone distincte: pe fiecare dintre cele patru subdomenii, procesul are o comportare care poate fi aproximata ca fiind liniara.

Astfel, in locul unui singur proces neliniar, vom avea de reglat patru subprocese liniare, dupa cum se poate observa si in Fig. 3.

Am considerat ca:

subprocesul 1 reprezinta evolutia bilei in intervalul 0 - 50%   din domeniul marimii de iesire;

subprocesul 2 reprezinta evolutia bilei in intervalul 50% - 80%   din domeniul marimii de iesire;

subprocesul 3 reprezinta evolutia bilei in intervalul 80% - 90% din domeniul marimii de iesire;

subprocesul 4 reprezinta evolutia bilei in intervalul   90% - 100% din domeniul marimii de iesire.

Fig. 3 Cele patru subprocese liniare ale procesului studiat



Pentru a putea identifica corespunzator modelele matematice ale celor patru subprocese am recurs la desfacerea buclei de reactie si aplicarea unor semnale pseudo aleatoare binare (SPAB) cu proprietati caracteristice fiecarei zone de functionare. Aceste semnale se aplica direct comenzii procesului neliniar iar informatiile utile ce se culeg de la traductor reprezinta marimea de iesire a procesului. Cu aceste date precum si cu doua programe ajutatoare - WinPIM si WinREG - se identifica modelele procesului si se incearca gasirea formei potrivite pentru regulatoare.

Sistemul WinPIM este un produs care pune la dispozitia utilizatorului resursele software necesare pentru evaluarea structurilor, calculul parametrilor si validarea modelelor de comanda si/sau perturbatie. Sunt utilizate procedurile de tip recursiv prezentate anterior care prelucreaza datele experimentale achizitionate din proces.

Sistemul WinREG ofera utilizatorului posibilitati de evaluare a unor comenzi numerice, exprimate in forma polinomiala si aplicate in sisteme de reglare automata.

Cele doua programe au o functionare independenta. Mai exact, programul WinREG foloseste modelul procesului determinat anterior cu programul WinPIM pentru calcularea regulatorului procesului in cauza.

Dupa ce s-a stabilit modelul matematic pentru fiecare subproces in parte, se poate trece la calcularea regulatoarelor corespunzatoare. Acest lucru se poate realize, cum am precizat si mai sus, cu ajutorul programului WinREG. Datorita gradului mare al celor doua polinoame B(q-1) si A(q-1) care apar in structura modelelor se obtin regulatoare de tip R-S-T. Implementarea acestei forme de regulatoare cu automatul programabil este foarte costisitoare. In plus, prin utilizarea acestor regulatoare nu se exploateaza resursele care sunt puse la dispozitie de catre programele automatului. Avand in vedere ca in RSLogix este implementata forma de regulator PID de tip incremental, se incearca aproximarea celor patru algoritmi RST cu algoritmi PI incrementali.

Mentionez ca identificarea procesului neliniar, precum si calcularea si implementarea algoritmilor de tip RST a fost realizata prin intermediul unei placi de achizitie intr-o lucrare de diploma anterioara.


3 RSLogix. Solutia alternativa



Pentru implementarea algoritmului de conducere a procesului neliniar am folosit un singur task continuu, care contine programul si rutina principala folosita in limbajul FBD(Fig 4).

Datorita faptului ca acest task se executa continuu, neexistand alte task-uri periodice care sa-l intrerupa, precum si faptul ca modulele analogice ale automatului dispun de CAN si CNA cu timpi de conversie foarte mici putem spune ca avem o perioada de esantionare foarte mica (50 ms) ceea ce apropie de comportarea regulatorului discret de unul continuu.

Fig 4 Taskul continuu


3.1 Proiectarea selectorului



Pentru fiecare subproces in parte se proiecteaza cate un regulator PI incremental.

Cum am aratat in capitolul 4 al acestei lucrari, pentru a putea stii in ce zona de functionare se afla procesul la un anumit moment de timp si ce regulator trebuie activat, este necesara implementarea unui selector. Acesta trebuie sa fie capabil sa identifice una din cele patru zone de functionare ale procesului, in functie de referinta setata de catre operator.

Stiind ca prima zona de functionare reprezinta evolutia procesului intre 0 - din valoarea marimii de iesire, atunci, orice valoare a referintei setata in acest interval ar trebui sa furnizeze selectorului informatia despre zona activata. Pentru implementarea selectorului au fost definite cinci praguri care nu reprezinta altceva decat capetele intervalelor celor patru zone:

prag_min   0%         ;

prag_1  50% ;

prag_2   80% ;

prag_3  90% ;

prag_max 100 %.

Toate cele cinci variabile sunt de tip real, iar valoarea lor in volti reprezinta tensiunea utila data de traductorul de pozitie. Pe langa aceste cinci variabile reale se mai definesc si patru variabile booleene: seg1, seg2, seg3 si seg4. Acestea pot lua doar doua valori 0 sau 1. Fiecare din cele patru marimi caracterizeaza cate o zona de functionare. Spre exemplu, daca trebuie activat regulatorul primului subproces, adica referinta se afla in intervalul zonei cu numarul 1, atunci seg2, seg3 si seg4 vor lua valoarea 0, iar seg1 va deveni 1.

Pentru a putea calcula corect valorile celor patru segmente s-au implementat 8 blocuri care compara referinta cu pragurile intervalelor celor patru zone. Iesirea acestor blocuri este de tip boolean: daca legea de comparatie dintre cele doua marimi de intrare este adevarata, iesirea blocului ia valoarea 1, altfel, ia valoarea 0.

Fig. 5 Exemplu de calcul a variabilei "seg1"


Dupa cum apare si in Fig 5, iesirile blocurilor de comparatie (iesiri care sunt de tip boolean) vor deveni intrari pentru un bloc ce efectueaza operatia SI logic. In final, iesirea acestui bloc va deveni chiar valoarea tag-ului seg1.

Pentru aceeasi valoare a referintei, celelalte variabile, respectiv seg2, seg3 si seg4, au valoarea 0, asa cum se poate observa si in figurile de mai jos.

Fig. 6 Exemplu de calcul a variabilei "seg2"

Fig. 7 Exemplu de calcul a variabilei "seg3"

Fig. 8 Exemplu de calcul a variabilei "seg4"


Pana acum am definit patru variabile booleene care ne indica zona in care se afla procesul la un moment de timp. Mai departe, pentru a implementa si comutatorul - blocul care stabileste parametrii regulatoarelor pentru fiecare zona de functionare in parte - mai avem nevoie de inca o variabila. Aceasta variabila se numeste selector si poate lua patru valori si anume 1, 2, 3 sau 4, in functie de valorile pe care le au la momentul respectiv seg1, seg2, seg3 si seg4.

In Fig 9 este prezentata calcularea variabilei selector, ca fiind rezultatul a patru blocuri de selectie si a trei blocuri de adunare:


Fig 9 Calcularea variabilei "selector"

In incheierea acestui paragraf, se poate afirma ca am reusit sa implementam o variabila ( selector ) care sa ne spuna exact, la orice moment de timp, in ce zona de functionare se afla procesul. Aceasta variabila este folosita in continuare pentru implementarea comutatorului.

3.2 Proiectarea comutatorului



Prin intermediul comutatorului se aleg, in functie de zona in care se afla procesul, parametrii regulatorului activ. Un rol foarte important in proiectarea acestui comutator il are variabila selector, despre care am discutat in paragraful anterior.

Avand patru zone diferite de functionare, ar trebui, in mod normal, sa avem patru regulatoare diferite care sa fie activate de blocul de comutatie. In cazul nostru, problema a fost rezolvat intr-un mod mai simplu : se utilizeaza doua blocuri care indeplinesc functia unor multiplexoare cu patru intrari fiecare, o marime in functie de care se face selectia uneia dintre intrari si o iesire. Marimea de comanda a acestor multiplexoare este variabila selector (Fig 9). Intrarile multiplexoarelor sunt parametrii regulatorului care este activ. Asadar, in loc sa folosim patru regulatoare distincte pe care sa le activam/dezactivam in functie de zona in care se afla procesul, se foloseste doar un singur regulator activ. Acest regulator ramane activ pe tot domeniul de functionare al procesului. Parametrii regulatorului se schimba in functie de zona in care se afla procesul. In acest mod, trecerea de la o portiune de functionare la alta se face lin, fara socuri pentru comanda.

Fig 10 Blocul comutator



3.3 Intarzierea referintei


Deoarece folosim valoarea referintei, care este de tip treapta, oentru implementarea selectorului si mai departe a comutatorului ne vom confrunta cu o noua problema.

Presupunem ca avem un salt de referinta, de la o valoare mica - situata in zona intai, la o valoare mai mare situata in zona a patra. Fiind o referinta de tip treapta, saltul se produce aproape instantaneu, blocurile de selectie si comutatie alegand direct parametrii regulatorului zonei patru, desi procesul nu a avut timpul necesar pentru a ajunge in acea zona. Astfel se activeaza un regulator inadecvat, sistemul putand ajunge in instabilitate. Pentru a rezolva aceasta problema, trebuie sa corelam timpul de raspuns al procesului cu alegerea algoritmului activ. Acest lucru se poate realiza prin introducerea unui element de intarziere de ordinul intai al referintei.

Elementul de intarziere a fost implementat in RSLogix prin intermediul functiei existente "Lead- Lag" (Fig 11). Acest element de intarziere are urmatoarea functie de transfer:

, unde T=0,9

Fig 10 Elementul de intarziere a referintei


Cu ajutorul referintei intarziate se asigura o functionare continua si liniara a procesului. De asemenea, prin intermediul acestui element de intarziere este rezolvata si problema activarii gresite a unui algoritm.

3.4 Filtrarea iesirii


La inceputul capitolului al doilea, am stabilit ca informatia primita de la traductorul de proximitate reprezinta marimea de iesire din proces. Acest traductor ofera la iesirea lui o tensiune continua in functie de cat de departe este corpul studiat de acesta. Cu cat corpul este mai aproape de traductor, cu atat tensiunea se mareste. Principiul de functionare al traductorului se bazeaza pe reflexia undelor infrarosii de catre corp. Aceste unde infrarosii sunt trimise de un LED plasat in partea superioara a traductorului. Tot aici se afla si dioda cu care se capteaza unda reflectata si i se calculeaza unghiul de reflexie. In functie de acest unghi, se poate determina distanta pana la corp. Sensibilitatea determinarii acestui unghi de reflexie poate fi considerata o sursa de perturbatii. O alta sursa de perturbatii poate fi considerata si functionarea neliniara a motorului de feon.

Pentru a mai reduce din efectul acestor perturbatii, am introdus un filtru pe iesire (Fig 12).

Am ales un filtru trece jos care are urmatoarea functie de transfer:

 , unde

Fig 12 Filtru Trece Jos


3.5 Regulatorul PI incremental


Utilizarea unui singur regulator PI (numeric), caruia sa i se schimbe parametrii in functie de zona aleasa de selector a fost posibila deoarece programul RSLogix foloseste algoritmi de reglare de tip PID in forma incrementala (Fig 13).

Acesti algoritmi modifica comanda procesului - marind-o sau micsorand-o astfel incat sa asigure o eroare minima. In acest caz, valoarea erorii este diferenta dintre referinta setata si marimea de iesire. Atat timp cat eroarea este pozitiva, algoritmul incrementeaza comanda. Daca se ajunge la o eroare negativa, adica referinta setata este mai mica decat iesirea procesului, algoritmul in cauza va decrementa comanda, incercand intotdeauna sa pastreze o eroare care sa tinda catre zero. Folosind astfel aceasta forma incrementala a algoritmilor, schimbarea parametrilor acestora nu necesita o restartare a regulatoarelor. In acest fel, se reduc socurile comutarii intre diferitele zone de functionare.

Exista implementate in RSLogix doua forma de algoritmi PID numerci incrementali, si anume:

  • Forma independenta:

unde avem:

u(k) - comanda la pasul k;

KP- amplificarea termenului proportional (adimensional);

KI - amplificarea termenului integral. Se masoara in min-1.

KD- amplificarea termenului derivativ. Se masoara in min.

EK- eroarea la pasul k;

∆t- timpul de esantionare. Se masoara in secunde.


  • Forma dependenta:

unde amplificarea termenului proportional a devenit amplificarea regulatorului.

TI- este constanta de timp integrala. Se masoara in min.

TD - este constanta de timp derivativa. Se masoara in min

KC - amplificarea regulatorului.


Cele doua forme sunt echivalente, fiecare utilizator putand sa aleaga oricare din cele doua forme oentru conducerea proceselor. Se poate constata existenta unei relatii intre parametrii celor doua forme:


In cazul reglarii procesului neliniar, am folosit forma dependenta si regulatorul PI numeric, cu urmatorii parametrii, in functie de subprocesul in care se afla referinta setata:

  • Pentru Zona 1: 

  • Pentru Zona 2:

  • Pentru Zona 3:

  • Pentru Zona 4:


De asemenea, regulatorul poate sa functioneze si in mod manual. Pentru selectarea modului de functionare, s-a implementat un comutator care poate sa treaca regulatorul de pe mod automat pe mod manual si invers, in functie de nevoile operatorilor. Cand este trecut in mod manual, regulatorul nu mai reactioneaza la schimbarea referintei sistemului. In mod manual, comanda este data direct de catre operator prin intermediul unei variabile noi, "com_man". Aceasta variabila reprezinta un procent din valoarea maxima a comenzii admisibile.

Cand este trecut din nou pe modul automat, intrarea comenzii manuale nu mai este activa, devenind activa referinta, iar comanda este calculata automat, in functie de iesirea sistemului si referinta setata.

Fig 13 Regulatorul PI incremental


Ca sa poata fi oprita instalatia de tot, adica motorul de feon sa nu mai primeasca tensiune (sau sa primeasca tensiune nula), s-a mai implementat un intrerupator care sa poata intrerupe tensiunea la bornele motorului de feon (Fig 14). Astfel, cand se doreste oprirea definitiva a instalatiei, se poate actiona butonul on-off.


Fig. 14 Comutatorul de pornit/oprit


4 Interfata Om - Masina. RSView


Pe baza sistemului de conducere a procesului neliniar se proiecteaza o interfata om - masina, care permite operatorilor un control mai bun asupra parametrilor procesului. Intefata om - masina a fost construita cu instrumentele cu care este echipat programul RSView.

Toate datele care reprezinta marimile procesului au fost preluate din memoria automatului. Cu programul RSView s-au "desenat" doar elementele grafice, algoritmul si toate celelalte componente care au fost folosite in calcularea comenzii motorului, fiind implementate cu RSLogix si apoi incarcate in memoria automatului. Astfel se formeaza un fel de baza de date care este reactualizata continuu in memoria automatului. Aceasta baza contine toate elementele necesare rularii corecte a algoritmului de reglare. Elementele bazei de date se numesc si etichete (tag). Prin intermediul unui server de comunicatie, interfata preia informatia necesara din aceasta baza de date si o afiseaza in functie de dorintele operatorului (Fig 15).

Fig 15 Interfata Om-masina asociata sistemului de conducere


Voi face o scurta descriere fiecarei ferestre.


4.1 Fereastra de control


Fig 16 Fereastra de control


Dupa cum se poate observa si din Fig 16, aceasta fereastra de control contine 3 butoane, dintre care doua au o comportare mai speciala.


Butonul ON/OFF reprezinta intrerupatorul de tensiune despre care am vorbit in paragraful anterior. Daca sistemul este oprit - avem tensiune 0 la bornele motorului de feon - butonul apare in culoarea rosie, cu mesajul "OFF". O simpla apasare pe acest buton va porni sistemul, culoarea butonului schimbandu-se in albastru si mesajul in "ON".

Butonul "Manual/Auto" este asemanator cu cel prezentat anterior. Functia lui este de a schimba modul de functionare a regulatorului din manual in automat si invers.


Butonul "Parametrii" deschide o noua fereastra in care se pot schimba toti parametrii celor patru regulatoare precum si cei ai filtrului iesirii si ai elementului de intarziere a referintei. Noua fereastra "Parametrii" arata similar cu cea din Fig 17:


Fig 17 Fereastra cu parametrii


4.2 Setarea referintei

Din aceasta fereastra se poate seta referinta sistemului. Ea este exprimata in procente din domeniul maxim al marimii iesire a procesului.


In prima casuta, se introduce de catre operator valoarea nominala la care se doreste sa ajunga referinta si de asemenea, iesirea procesului. In a doua casuta text, se observa o alta valoare foarte apropiata de valoarea referintei setate de catre operator. Aceasta repezinta valoarea la un moment de timp a referintei intarziate.

4.3 Fereastra de setare a comenzii manuale

Odata tecut regulatorul in modul de functionare manual, valoarea comenzii motorului este data direct de catre operatorul uman. Acest lucru se realizeaza prin intermediul unui scrollbar aflat in fereastra de setare a comenzii manuale. Acesta poate lua valori intre 0 - 100% din domeniul comenzii. Trebuie mentionat ca atat domeniul comenzii, iesirea si referinta trebuie setate din optiunile regulatorului si sa aiba aceleasi unitati de masura. In cazul nostru, reamintim ca atat iesirea cat si comada se masoara in volti( tensiune continua).

Fig 18 Comanda auto-manuala



In Fig 18, apare fereastra de control al comenzii manuale in doua situatii: in partea superioara a figurii avem regulatorul in mod auto, indicatorul fiind de culoare albastra si avand textul "AUTO". Cand regulatorul este trecut in modul manual, acest indicator devine rosu si in interiorul sau apare textul "Manual".


4.4 Zona de functionare in care se afla procesal


O alta portiune din interfata om - masina este dedicata prezentarii zonei de functionare in care se situeaza procesul la un moment de timp. Tot aici se poate vedea clar daca regulatorul este setat pe modul manual sau automat.

In Fig 19(a), este prezentat procesul in a doua zona de functionare, iar in Fig 19(b) este prezentat regulatorul in mod manual.

Fig 19(a)Zona a doua de functionare, modul automat



Fig 19(b)Comanda manuala


4.5 Evolutia sistemului


Un rol important il are si graficul - contruit in timp real - care prezinta performantele sistemului la diferite referinte. Se poate observa ca iesirea urmareste referintele indiferent de zonele in care se afla ele. Pentru a putea urmari mai bine performantele sistemului de reglare a procesului, am atasat in acest proiect mai multe screen-shot-uri cu evolutia sistemului.


In acest paragarf prezint numai cateva exemple:










In graficele de mai sus, codurile culorilor sunt :

rosu = marimea de iesire (informatia de la senzor);

albastru deschis = referinta intarziata;

albastru inchis = referinta de tip treapta;

verde = comanda motorului de feon.


Concluzii


In aceasta lucarea am propus o solutie de reglare mai fina decat cea propusa inainte a pozitiei unei bile intr-un tub perforat utlizand un automat programbil. Pentru proiectarea ei am folosit regulatoare simple de tip PID incremental, pe care le-am implementat cu ajutorul programului RSLogix.

Solutia gasita de reglare s-a bazat pe o metoda experimentala de identificare a parametrilor procesului.

Aceasta solutie este functionala: marimea de iesire urmareste cu performante bune referinta setata si rejecteaza pertrubatiile ce apar in proces.

Prezenta lucrara poate fi folosita si in scop didactic, familiarizand studentul cu noile metode de proiectare si implementare a algoritmilor de reglare in automate programabile de ultima generatie. Echipamentele software care comunica cu aceste automate pot fi si ele folosite ca mijloace didactice in scopul simularii unor procese complexe din industrie.



Obiective urmatoare:

gasirea unei metode mai bune de indentificare a procesului

schimbarea tubului de plastic care a capatat neregularitati ;

inlocuirea motorului de feon pentru reducerea functionarii neuniforme a acestuia.


Bibliografie

"Ingineria reglarii autoamate. Note de curs" - Dumitrache I. ,2005.


"Tehnica reglarii automate" - Dumitrache I., Bucuresti 1978.


"Sisteme numerice pentru conducerea proceselor" - Dumitrache I., Buiu C., Ghica O., Bucuresti 2002.


"Sisteme de conducere a proceselor industriale" - Popescu D., Lupu C., Petrescu C., Editura Printech, Bucuresti, 2004


"Multi Model Adaptive Control System" - Lupu C., Popescu D., Petrescu C., ISAS' 99 Conference, U.S.A., Orlando, 1999.


"Automate programabile" - Margineanu I., Editura Albastra, Cluj-Napoca 2005.


"Automate programabile. Teorie si probleme rezolvate" -Borangiu Th., Editura Printech, Bucuresti 2001


"Automate programbile. Note de curs" - Borangiu Th.,2004


"Senzori si traductoare. Note de curs" - Sgarciu V., 2003


Rockwell Automation

"ControlLogix Analog IO Modules" - user manual, 2003

"ControlLogix System" - user manual, 2004

"Logix5000 Controllers General Instructions"

"Logix5000 Controllers Process Control and Drives Instructions"

"RSView Supervisory Edition" - user's guide vol 1+2






Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate