Automatele Programabile

CUPRINS

Introducere

Instalatia si procesul neliniar

2.1 Descrierea instalatiei

2.2 Procesul neliniar

2.3 Identificarea proceselor

2.3.1 Tehnici recursive, principiul adaptarii parametrice

2.3.2 Algoritm de identificare de tip gradient

2.3.3 Algoritm de identificare de tipul celor mai mici patrate, Recursiv (CMMPR)

2.3.4 Validarea modelelor

Algoritmi de reglare PID numerici

3.1 Introducere7

3.2 Algoritmi PID de pozitie si incrementali

3.3 Algoritm PID cu filtrarea actiunii derivative

3.4 Algoritmul PID modificat

3.5 Alegerea perioadei de esantionare

Proiectarea comenzii multimodel

4.1 Introducere

4.2 Algoritmul de proiectare a comenzii

4.2.1 Determinarea numarului de modele

4.2.2 Proiectarea selectorului

4.2.3. Proiectarea comutatorului

Automatul programabil

5.1 Introducere

5.2 O scurta istorie a automatelor programbile

5.3 Automatul programbil Control Logix de la Rockwell

5.3.1 Unitatea centrala de procesare

5.3.2 Modulele de intrare/iesire

5.3.3 Modulul de comunicatie Ethernet IP (Ethernet Industrial Protocol)

5.3.4 Carcasa inteligenta – backplane

Limbajele de programare ale automatului

6.1 Introducere

6.2 RSLogix 5000 si RSLinx

6.3 Limbajul FBD (Function Block Diagram)7

6.4 Interfata Om-Masina

Solutia de automatizare implementata

7.1 Instalatia si automatul programabil

7.2 Identificarea modelelor procesului neliniar

7.3 RSLogix. Solutia alternativa

7.3.1 Proiectarea selectorului

7.3.2 Proiectarea comutatorului

7.3.3 Intarzierea referintei

7.3.4 Filtrarea iesirii

7.3.5 Regulatorul PI incremental

7.4 Interfata Om – Masina. RSView3

7.4.1 Fereastra de control

7.4.2 Setarea referintei

7.4.3 Fereastra de setare a comenzii manuale

7.4.4 Zona de functionare in care se afla procesal7

7.4.5 Evolutia sistemului

Introducere

Odata cu progresul tehnicii, calculatoarele au devenit elemente esentiale pentru implementarea sistemelor de reglare automata. Utilizarea acestora sau a sistemelor cu microprocesor are multe avantaje. Multe probleme legate de implementarea analogica, asa cum sunt cele legate de precizia componentelor utilizate, pot fi evitate utilizand un calculator. Este, de asemenea, posibil sa se realizeze calcule mult mai complicate, cum ar fi iteratiile sau solutiile unui sistem de ecuatii, cu ajutorul unui calculator. Toate operatiile neliniare si, de asemenea, multe operatii liniare, utilizand echipamente analogice, sunt supuse erorilor, in timp ce aceleasi calcule pot fi executate precis cu ajutorul unui calculator. In plus, functii de alarma, pornire sau inchidere a echipamentelor sunt foarte usor de implementat pe un calculator. In cele din urma, este posibil, fara multa dificultate sa se implementeze si o buna interfata grafica pentru utilizatorul final.

Tot din aceasta categorie a sistemelor cu microprocesor fac parte si automatele programabile. In ultimii ani, acestea au reusit sa se impuna ca principalele echipamente de calcul utilizate la conducerea proceselor industriale. Principala caracteristica a automatelor programabile este modularitatea: sub conducerea unui microprocesor se gasesc module pentru marimile analogice sau digitale, module pentru marimile de intrare sau iesire din proces, module de comunicatie cu alte retele industriale. Un alt avantaj a acestor automate programabile este prezenta unor limbaje de programare – in care se pot proiecta si implementa cu usurinta algoritmii de reglare pentru procese – precum si posibilitatea construirii unei interfete grafice (interfata om – masina) care permite supravegherea mult mai usoara a marimilor procesului de catre operatori.

In aceasta lucrare mi-am propus sa realizez un algoritm care sa regleze mai fin pozitia pe verticala a unei bile de plastic aflata intr-un tub perforat. Bila este propulsata de un curent de aer produs de un ventilator (motorul unui feon) ce se situeaza in partea inferiora a tubului. Pozitia curenta a bilei este furnizata de un traductor de pozitie cu infrarosii plasat in capatul opus al tubului. Instalatia descrisa mai sus “ascunde” un proces cu o caracteristica statica neliniara a iesirii in functie de comanda data. Aceasta lucrare a mai fost realizata, insa noutatea la lucrarea mea este faptul ca am realizat o reglare mai fina folosind algoritmii de reglare implementati cu ajutorul unui automat programabil ControlLogix. Conducerea procesului s-a dorit a fi realizata cu regulatoare numerice simple incercand astfel o exploatare maxima a resurselor hardware si software ale automatului (automat ce exista in dotarea laboratorului Rockwell din cadrul facultatii). De asemenea pentru o mai buna supraveghere a evolutiei marimilor procesului s-a realizat si o interfata om – masina. Implementarea algoritmului de regalare a fost facuta in RSLogix – mediul de programare al automatului, iar interfata grafica in RSView. O descriere detaliata a automatului se va face in capitolul 5 iar a programelor utilizate in capitolul 6.

Aceasta lucrare poate fi folosita si in scop didactic, familiarizand utilizatorii cu dezvolatarea programelor de conducere a proceselor prin intermediul automatului programabil.

Instalatia si procesul neliniar

In introducerea acestei lucrari am amintit pe scurt partile compenente ale instalatie si faptul ca procesul ce sta in spatele ei este neliniar. In aceast capitol voi relua cele doua subiecte incercand sa le detaliez pe fiecare in parte.

2.1 Descrierea instalatiei

Instalatia studiata este compusa dintr-un feon montat la capatul inferior al unui tub perforat. In acest tub este introdusa o minge de plastic care isi poate modifica pozitia pe verticala in functie de intesitatea curentului de aer produs de motorul feonului. Domeniul in care aceasta minge se poate deplasa este de aproximativ un metru. Debitul de aer se poate controla in functie de tensiunea aplicata motorolui feonului. Acesta se comanda cu o tensiune cotiunua reglabila in intervalul de 1,5 – 6,5 volti.

Pozitia curenta a bilei este furnizata de un traductor de proximitate cu radiatii infrarosii montat in partea superioara a tubului de plastic. Traductorul este un dispozitiv optoelectronic produs de firma Sharp (GP2Y0A02YK). Acesta face citiri continue si raporteaza distanta analogic. Interfata are 3 fire (alimentare, masa si iesire analogica) si are nevoie de un conector JST care se livreaza cu senzorul. Are un domeniu de detectie situat intre 20 si 150 cm, un timp de raspuns mediu de 39 ms si functioneaza cu un curent de 33 mA. Pentru o buna functioanare, acest traductor trebuie alimentat cu o tensiune continua, VCC situata in domeniul dde 4,5 – 5,5 V, producand o tensiune de iesire V0 cuprinsa in intervalul 0,5 – 2,5 V. Aceasta tensiune de iesire variaza in functie de distanta fata de tarductor la care se afla obiectul investigat.

Tabelul 2.1 Caracteristici de functionare

Tabelul 2.2 Caracteristici electro-optice

Figura 2.1 Traductorul de pozitie Sharp GP2Y0A02YK

Figura 2.2 Diagrama bloc a senzorului

Principalele dezavantaje ale acestui traductor sunt : caratcteristica statica neliniara a tensiunii de iesire in functie de distanata la care se afla obiectul investigat precum si de faptul ca informatia utila (tensiunea de iesire) este foarte sensibila la vibratiile produse de motorul feonului precum si de variatia pozitie bilei de plastic ce pluteste pe curentii de aer. De aceea s-a impus necesitatea filtrarii acestei tensiuni.

Fig. 2.3 Tensiunea de iesire in raport cu distanta pana la opbiectul detectat

Din acest sumar al componentelor, se pot desprinde elementele prinicipale ale acestui sistem de automatizare:

Elementul de executie: – feonul care reproduce comanda elaborata de la automatul programabil (comanda in cazul nostru – tensiune continua) si care actioneaza prin organul de reglare (existent in proces) asupra fluxului de energie (in cazul nostru a debitului de aer pe care pluteste mingea de plastic).

Traductorul: – traductorul de distanta cu infrarosii Sharp GP2Y0A02YK

Marimea de comanda: – tensiunea aplicata motorului de feon;

Marimea de iesire a procesului: – tensiunea data de traductor.

Fig. 2.4 Instalatia tehnologica

2.2 Procesul neliniar

Dupa ce s-au stabilit marimile de proces se trece la stabilirea unei dependente a iesirii in functie de comanda sistemului, adica incercarea trasarii unei caracteristici statice. Caracteristica statica reprezinta dependenta marimilor de iesire ale proceselor de marimile de care actioneaza la intrarea acestora in regim stationar, adica in regimul in care derivatele in raport cu timpul ale acestor marimi sunt nule. Pentru un proces cu o iesire si o intrare caracteristica statica se poate exprima printr-o relatie de forma:

Daca procesul este considerat liniar, atunci caracteristica statica poate fi reprezentata sub forma ecuatiei unei drepte:

in care coeficinetii ao si a1 sunt constante.

Se porneste cu stabilirea unei comenzi initiale pentru care bila de plastic sa pluteasca la o distanta minima, distanta sesizabila de traductorul de proximitate. Se obtine o tensiune minima aplicata motorului de feon de 1,5 V. La aceasta comanda initiala se noteaza iesirea minima a procesului si anume y0 = 0,6 V. Se trece la pasul urmator, marind comanda cu increment de 0,1V si se citeste noua valoare ce o furnizeaza senzorul. Se considera valorea maxima a comenzii o tensiune de 6,5 V pentru care se obtine o tensiune de iesire de 2,3 V. Se reprezinta aceste valori pe un grafic si astfel se obtine carcateristica statica a procesului. Dupa cum se observa si din grafic aceasta caracteristica nu este liniara (Fig 2.4).

Conducerea unui astfel de proces puternic neliniar se poate realiza prin divizarea acestuia in mai multe subprocese care pot fi considerate liniare si reglarea lor ca un tot unitar.

In functie de forma graficului evolutiei iesirii in raport cu comanda, se pot stabili mai multe zone de functionare a procesului. O zona de functionare reprezinta un interval pe care evolutia procesului poate sa fie aproximata ca fiind liniara. Astfel, o inflexiune in caracateristica mai sus amintita este interpretata ca o “granita” intre doua zone. Pentru o mai buna intelegere a acestui procedeu se poate considera ca fiecare din subprocesele in care este divizat procesul initial reprezinta o zona de functionare. Asadar, desi avem un singur proces de reglat, vom regla practic subprocesele care il compun. Problema care trebuie rezolvata acum este de a regla corespunzator toate subprocesele fara socuri de comanda in momentul comutarii de la un proces la altul, astfel incat ansamblul sa functioneze ca si cum ar fi condus de un singur regulator pe intreg domeniul de evolutie.

Fig. 2.5 Caracteristica statica neliniara a procesului

2.3 Identificarea proceselor

Cunoasterea cat mai exacta a functionarii proceselor tehnologice, atat in regim stationar cat si in regim tranzitoriu, constituie o etapa esentiala in proiectarea si realizarea sistemelor automate. Determinarea algoritmului de reglare sau de conducere automata in cazul unor procese complexe necesita cunoasterea cat mai exacta a caracteristicilor instalatiilor tehnologice, a influentei diverselor marimi de intrare si perturbatoare asupra iesirii acestora. Gradul de complexitate al dispozitivelor de automatizare este determinat de cantitatea de informatie apriorica cunoscuta despre proces si, evident, de criteriile de performanta impuse sistemului automat. In cazul unor procese simple, la care se poate usor stabili o relatie functionala intre iesirea si intrarea acestora precum si intre iesire si marimile perturbatoare, algoritmul de reglarea se poate determina in concordanta cu aceste relatii si cu respectarea criteriilor de performanta ce asigura buna desfasurare a proceselor.

Forma cea mai evoluata de exprimare a caracteristicilor functionale ale unui proces, forma care include atat aspecte calitative cat si cantitative, o constituie modellexiune in caracateristica mai sus amintita este interpretata ca o “granita” intre doua zone. Pentru o mai buna intelegere a acestui procedeu se poate considera ca fiecare din subprocesele in care este divizat procesul initial reprezinta o zona de functionare. Asadar, desi avem un singur proces de reglat, vom regla practic subprocesele care il compun. Problema care trebuie rezolvata acum este de a regla corespunzator toate subprocesele fara socuri de comanda in momentul comutarii de la un proces la altul, astfel incat ansamblul sa functioneze ca si cum ar fi condus de un singur regulator pe intreg domeniul de evolutie.

Fig. 2.5 Caracteristica statica neliniara a procesului

2.3 Identificarea proceselor

Cunoasterea cat mai exacta a functionarii proceselor tehnologice, atat in regim stationar cat si in regim tranzitoriu, constituie o etapa esentiala in proiectarea si realizarea sistemelor automate. Determinarea algoritmului de reglare sau de conducere automata in cazul unor procese complexe necesita cunoasterea cat mai exacta a caracteristicilor instalatiilor tehnologice, a influentei diverselor marimi de intrare si perturbatoare asupra iesirii acestora. Gradul de complexitate al dispozitivelor de automatizare este determinat de cantitatea de informatie apriorica cunoscuta despre proces si, evident, de criteriile de performanta impuse sistemului automat. In cazul unor procese simple, la care se poate usor stabili o relatie functionala intre iesirea si intrarea acestora precum si intre iesire si marimile perturbatoare, algoritmul de reglarea se poate determina in concordanta cu aceste relatii si cu respectarea criteriilor de performanta ce asigura buna desfasurare a proceselor.

Forma cea mai evoluata de exprimare a caracteristicilor functionale ale unui proces, forma care include atat aspecte calitative cat si cantitative, o constituie modelul matematic al acesteia.

Ansamblul de metode si procedee prin care se urmareste obtinerea unor modele matematice cat mai reprezentative pentru procesele investigate constituie un domeniu al automaticii si poarta denumirea de idetificarea proceselor.

Vom prezenta in continuare diferite metode de evaluare a unui model matematic de comanda prin tehnici de identificare recursiva. Avand la dispozitie o colectie de date experimentale, putem evalua o structura si calcula parametrii modelului, care exprima comportamentul procesului identificat. Sunt tratate cele mai reprezentative metode si anume metoda Gradientului si metoda celor mai mici patrate pentru identificarea in bucla deschisa si inchisa. Sunt date aici ideile de baza ale principiului de adaptare parametrica pentru un algoritm de identificare recursiva.

Apoi, este dezvoltat suportul teoretic pentru diferitele metode propuse, performantele si limitele lor, precum si mijloacele statistice de validare ale modelelor identificate.

2.3.1 Tehnici recursive, principiul adaptarii parametrice

Posibilitatile recente oferite de calculul numeric permit dezvoltarea si implementarea algoritmilor de estimare automata a parametrilor modelelor discrete ale proceselor. Identificarea modelelor parametrice prin tehnici recursive de prelucrare a unor date experimentale, ofera numeroase avantaje raportat la alte proceduri de identificare cunoscute.

Algoritmi de identificare performanti, avand o formulare recursiva adaptata calcului numeric au fost dezvoltati in ultima perioada.

Faptul ca aceste metode de identificare pot sa opereze cu semnale foarte slabe de excitatie constitue o calitate apreciata in practica, ceea ce permite si extensia lor la proceduri de identificare in bucla inchisa. Principiul de estimare a parametrilor modelului discret este ilustrat in figura 2.6

Fig.2.6 Principiul de adaptare parametrica pentru estimarea modelului

Un model parametric esantionat este implantat pe un calculator. Diferenta intre iesirea procesului la momentul t, y(t) si iesirea prezisa prin modelul , numita eroare de predictie, este folosita de algoritmul de adaptare parametrica, care la fiecare moment de esantionare va modifica parametrii modelului pentru a minimiza aceasta eroare. Intrarea u(t) folosita in operatiunea de identificare ca semnal de proba, este in general o secventa binara pseudoaleatoare de un nivel scazut, generata de calculator (succesiune de impulsuri rectangulare de durata variabila aleatoriu). O data modelul identificat, o validare obiectiva poate fi facuta prin teste statistice efectuate asupra erorii de predictie ∑(t) si iesirii prezise . Testul de validare permite pentru un proces dat, sa se aleaga cel mai bun algoritm, respectiv cel mai bun model ca structura pentru estimarea parametrilor.

In sfarsit, calculand si reprezentind grafic raspunsul in timp si raspunsul frecvential al modelului discret, se poate reveni usor la reprezentarea si studiul comportamentului modelului echivalent continuu.

Aceasta abordare moderna de identificare elimina toate defectele metodelor clasice si ofera in plus alte posibilitati noi, cum ar fi: urmarirea variatiilor parametriilor procesului in timp real permitand o reajustare a algoritmilor de reglare in timpul functionarii sistemului, identificarea modelelor de perturbatie, validarea rezultatelor operatiunii de identificare, etc.

Unul dintre elementele cheie pentru punerea in aplicare a acestei abordari pentru identificarea modelelor proceselor, este algoritmul de adaptare parametrica (AAP), care ajusteaza parametrii modelului de predictie plecand de la informatiile primite din proces, la fiecare pas de esantionare. Acest algoritm are o structura recursiva, adica noua valoare a parametrilor se obtine din valoarea precedenta la care se adauga un termen de corectie care va depinde de ultimele masuratori.

Se calculeaza in esenta in mod repetitiv, vectorul estimatiilor ale carui componente sunt deci parametrii modelului necunoscut, care trebuie sa fie identificati. Algoritmul de adaptare parametrica are structura urmatoare:

Vectorul care contine marimile masurate la intrarea si iesirea procesului, se numeste vectorul observatiilor.

Reamintim ca exista algoritmi nerecursivi de identificare parametrica, care trateaza in bloc fisierele de date I/O obtinute pe o perioada de timp. Raportat la aceste tehnici, identificarea recursiva ofera avantajele urmatoare: obtinerea unei estimari a modelului pe masura ce procesul evolueaza, o compresie importanta de date, deoarece algoritmii recursivi nu trateaza in fiecare moment decat o pereche I/O, necesitatea unei memorii si a unei puteri de calcul sensibil mai reduse, posibilitatea realizarii unei identificari in bucla inchisa, posibilitatea de evaluare a parametrilor sistemelor variabile in timp.

Paragraful urmator este dedicat prezentarii algoritmilor de identificare bazati pe mecanismul de adaptare parametrica.

2.3.2 Algoritm de identificare de tip gradient

Algoritmul de adaptare parametrica functioneaza in acest caz, bazat pe calculul gradientului unui criteriu patratic, exprimat in functie de eroarea de predictie si are ca obiectiv minimizarea acestui criteriu.

Consideram un proces cu parametri necunoscuti. Modelul discretizat al procesului, in reprezentare polinomiala, se scrie:

, ∀t∈N (2.1)

cu:

A(q-1)=1+a1q-1+ …. +anA q-nA

B(q-1)=b1q-1+ …. +bnB q-nB

care este redat si sub forma:

(2.2)

unde:

, (2.3)

este vectorul parametriilor procesului si

(2.4)

este vectorul masuratorilor (observatiilor).

Modelul de predictie ajustabil a priori este dat de expresia:

,∀t∈N, (2.5)

unde:

(2.6)

este vectorul estimatiilor modelului.

Definim o eroare de predictie a priori,

(2.7)

si o eroare de predictie a posteriori,

(2.8)

Cautam un algoritm de adaptare parametrica recursiv si cu memorie. Structura unui asemenea algoritm este urmatoarea:

(2.9)

Termenul de corectie f(*) depinde doar de informatiile disponibile cel mult la momentul t+1 (ultima masuratoare y(t+1), parametrii si eventual de un numar finit de informatii la momentele t, t-1, t-2,…t-n). Trebuie minimalizata la fiecare pas, functia criteriu J, dupa relatia:

(2.10)

Solutia se obtine printr-o procedura iterativa de tip gradient.

Algoritmul de adaptare parametrica corespunzator va avea forma:

(2.11)

unde F=〈I, 〈 > 0, este amplificarea de adaptare matriciala (I – matrice diagonala unitara) si este gradientul criteriului din ecuatia (2.10) raportat la .

Din ecuatia (2.10), se obtine :

(2.12)

Avem:

(2.13)

si deci:

(2.14)

Introducand ecuatia (2.14) in ecuatia (2.12), algoritmul de adaptare parametrica din (2.11) devine:

(2.15)

Doua alegeri sunt posibile pentru F:

F=〈I, 〈>0;.

sau,

F>0 (matrice pozitiv definita).

Algoritmul de adaptare parametrica dat in ecuatia (2.15) prezinta riscuri de oscilatie daca amplificarea de adaptare (respectiv 〈) este mare. Pentru a evita aceasta problema de instabilitate, folosim aceeasi abordare a gradientului, dar consideram un algoritm care foloseste un criteriu exprimat in functie de eroarea de predictie a posteriori:

(2.16)

Obtinem deci:

(2.17)

Din ecuatiile (2.5) si (2.8) avem:

(2.18)

si respectiv,

(2.19)

Din ecuatiile (2.19) si (2.17), algoritmul de adaptare parametrica exprimat prin relatia (2.11) devine:

(2.20)

Acest algoritm depinde de , care este o functie de . Pentru a putea justifica noua valoare de performanta a acestui algoritm, trebuie exprimat in functie de .

Ecuatia (2.18) se poate rescrie:

(2.21)

Primii doi termeni ai membrului drept corespund lui si din ecuatia (2.20), avem:

,

ceea ce permite rescrierea ecuatiei (2.21) sub forma :

(2.22)

din care obtinem relatia dorita intre si :

(2.23)

si algoritmul ecuatiei (2.20) devine:

(2.24)

Acesta este un algoritm stabil pentru o matrice de amplificare F pozitiv- definita.

Impartirea prin ca in (2.20), introduce un efect de normare, care are ca rezultat imediat reducerea sensibilitatii algoritmului fata de eroarea si vectorul .

2.3.3 Algoritm de identificare de tipul celor mai mici patrate, Recursiv (CMMPR)

Folosind algoritmul gradientului, minimizam la fiecare pas patratul erorii de predictie, adica ne deplasam dupa cea mai rapida directie de descrestere a criteriului J din (2.16) cu un pas dependent de F. Minimizarea luila fiecare pas, nu presupune neaparat minimizarea unui criteriu de forma:

(2.25)

intr-un interval de timp de t pasi.

In vecinatatea solutiei optime, daca amplificarea algoritmului (lungimea pasului de avans) nu este convenabila, putem avea oscilatii in jurul punctului de minim. Pe de alta parte, pentru a avea o viteza buna de convergenta, atunci cand algoritmul lucreaza in faza initiala de cautare, departe de optim, ar fi de preferat sa avem o amplificare mare de adaptare. Algoritmul celor mai mici patrate recursiv asigura in fapt un profil de variatie a amplificarii de adaptare, astfel incat pe masura ce algoritmul de minimizare avanseaza, amplificarea (pasul de avans) scade in mod progresiv.

Consideram aceleasi ecuatii pentru proces, modelul de predictie si erorile de predictie folosite in algoritmul gradientului.

Scopul este de a gasi un algoritm recursiv de forma ecuatiei (2.9), folosind o matrice a amplificarii de adaptare F, ajustabila. Acest tip de algoritm minimizeaza criteriul de mai jos:

(2.26)

Intr-o prima etapa, este vorba despre estimarea vectorului parametrilor la momentul t, pentru a minimiza suma patratelor abaterilor intre proces si modelul de predictie intr-un interval de timp corespunzator unui numar de t masuratori. Valoarea lui care minimizeaza criteriul (2.26) se obtine cautand valoarea care anuleaza , astfel:

(2.27)

Din ecuatia (2.27) se obtine:

[ (2.28)

Multiplicand la stanga cei doi termeni ai acestei ecuatii cu cantitatea , rezulta:

(2.29)

sau:

(2.30)

Acest algoritm de estimare nu este recursiv. Pentru a obtine o varianta recursiva, consideram si estimatia

(2.31)

(2.32)

Incercam o exprimare in functie de :

(2.33)

Din ecuatia (3.31), avem:

(2.34)

Tinand cont de ecuatiile (3.29) si (3.31), ecuatia (3.34) se poate scrie:

(2.35)

Multiplicand la stanga cu F (t+1), rezulta:

, ∀t∈N* (2.36)

Algoritmul de estimare CMMPR din ecuatia (2.36) are o forma similara algoritmului gradientului dat in ecuatia (2.15), cu diferenta ca matricea de amplificare F este acum variabila in timp, pentru faptul ca ea depinde de masuratori (corecteaza automat directia gradientului si lungimea pasului de avans). Ramane de gasit o formula recursiva pentru F(t+1) plecand de la formula recursiva pentru F-1(t+1) data in ecuatia (2.32). Aceasta se obtine folosind lema de inversiune matriciala cunoscuta, care pentru o matrice F patratica, de dimensiune (nxn) si un vector de dimensiune n, conduce la relatia:

(2.37)

Obtinem din ecuatiile (2.32) si (2.37), rezultatul:

, ∀t∈N* (2.38)

si regrupand relatiile obtinute anterior, dam o prima formulare a algoritmului de adaptare parametrica AAP pentru metoda celor mai mici patrate recursiva CMMPR:

∀t∈N; (2.39)

, ∀t∈N; (2.40)

(2.41)

O forma echivalenta de exprimare a acestui algoritm se obtine introducand expresia lui F(t+1) data ecuatia (2.40), in ecuatia (2.39). Obtinem astfel:

(2.42)

Dar, din ecuatiile (2.7) si (2.8) avem:

(2.43)

adica relatia intre eroarea de predictie a posteriori si eroarea de predictie a priori. Folosind aceasta relatie in ecuatia (2.42) obtinem o exprimare finala a algoritmului de adaptare parametrica in conformitate cu metoda celor mai mici patrate recursiva:

, ∀t∈N; (2.44)

(2.45)

, ∀t∈N*; (2.46)

(2.47)

In practica, demaram algoritmul la t=0, punand:

, 0<<<1, (2.48)

O valoare tipica pentru  este =0.001 (si deci amplificarea initiala, GI = 1000). Putem sa constatam pe expresia [F(t+1)]-1 data de ecuatia (2.32), ca amplificarea de adaptare F, in acest caz, descreste in timp. O analiza riguroasa (pornind de la teoria de stabilitate a algoritmului) demonstreaza ca pentru toate initializarile cu matricea F(0) definite pozitiv, (F(0)>0),

Algoritmul celor mai mici patrate recursiv CMMPR, este deci un algoritm de identificare cu amplificare de adaptare descrescatoare (pas de avans descrescator, ceea ce ii confera stabilitate in procesul de minimizare). Aceasta observatie se vede foarte clar daca consideram estimarea unui singur parametru. In acest caz F(t+1) si sunt scalari, iar relatia (2.46) devine:

Algoritmul celor mai mici patrate recursiv acorda de fapt din ce in ce mai putina greutate noilor erori de predictie, deci noilor masuratori.

In consecinta, acest tip de variatie descrescatoare a amplificarii de adaptare nu va conveni pentru estimarea parametrilor variabili in timp. Trebuie sa fie considerate astfel si alte profile de variatie pentru amplificarea de adaptare.

2.3.4 Validarea modelelor

Vom discuta despre validarea modelelor identificate cu ajutorul metodelor de identificare de tipul CMMCR, bazate pe „albirea” erorii de predictie.

Daca urmatoarele conditii sunt verificate:

Structura „model+perturbatie” aleasa este corecta, adica reprezentativa pentru procesul de identificat;

Metoda de identificare este potrivita pentru structura propusa;

Gradele polinoamelor A(q-1), B(q-1), C(q-1) si valoarea lui d (intarzierea pura) au fost corect specificate,

atunci eroarea de predictietinde asimtotic spre un zgomot alb, ceea ce implica:

Ideea de baza pentru testul de albire a erorii de predictie este urmatoarea; in mod normal, modelul identificat trebuie sa reproduca iesirea ideala (fara perturbatii) a procesului.

Cum iesirea masurata a procesului real este suma intre iesirea ideala si perturbatia de tip zgomot alb, atunci eroarea de predictie care este diferenta intre iesirea perturbata a procesului si iesirea modelului, ramane egala cu perturbatia, deci eroarea va fi intotdeauna un zgomot alb.

Metoda de validare pune in practica acest principiu. Aceasta contine mai multe etape:

Construirea unui fisier I/O pentru modelul identificat (folosind aceeasi secventa ca pentru proces).

Construirea unui fisier de erori de predictie pentru modelul identificat (minim 100 de date).

Test de „albire” pentru secventa de erori de predictie.

Fie secventa centrata a erorilor de predictie reziduale (valorile centrate = valorile masurate – valorile medii). Calculam :

; ;

; ;∀I=1,2,…,imax,

unde imax=max(nA,nB+d) si RN(i) sunt estimatiile functiei de autocorelatie (normate).

Daca secventele erorilor de predictie reziduale sunt perfect albite (situatie teoretica) si numarul de esantioane este destul de mare, atunci obtinem RN(0)=1; RN(i)=0.

In situatia reala aceste conditii teoretice nu sunt satisfacute, adica RN(i) nu sunt nule, deoarece pe de o parte, contine erori reziduale de structura (efecte nelineare, zgomot negausian), si pe de alta parte, numarul de esantioane este finit. Trebuie de asemenea sa amintim ca se cauta identificarea unor modele simple, cu putini parametrii (realizari minimale).

Recomandam varianta criteriului practic de validare (test extensiv asupra aplicatiilor practice), cu conditiile:

;

unde N este numarul de esantioane considerate.

Acest test a fost definit tinand cont ca pentru o secventa de zgomot alb, RN(i), () tinde asimtotic spre o distributie gausiana cu valorile medii nule si o dispersie .

Intervalul de incredere considerat in acest caz corespunde nivelului de semnificatie de 3% pentru testul ipotetic de distributie gausiana.

De fapt, daca RN(i) se supune unei distributii gausiene (0,), exista numai o probabilitate de 1,5% careia RN(i) ii este superioara la sau careia RN(i) ii este inferioara la -. In consecinta daca o valoare calculata de RN(i) este la exteriorul intervalului de incredere, ipoteza ca si sunt independente trebuie sa fie indepartata, adica nu este o secventa de zgomot alb.

Pentru simplificare se poate considera ca o valoare numerica practica pentru criteriul de validare, valoarea:

|RN(i)|≤0.15.

Un criteriu de validare bine verificat, indica posibilitatea simplificarii modelului.

La o complexitate egala a modelelor, alegem modelul dat prin metoda care conduce la |RN(i)| cele mai mici.

Trebuie notat de asemenea ca o validare completa a modelului, dupa validarea facuta utilizand secventa de I/O de la identificare, se face utilizand o secventa de I/O achizitionata din proces, diferita de cea care a servit pentru identificare.

Exista un alt aspect al validarii care trebuie considerat. Daca nivelul erorilor de predictie reziduala este foarte slab raportat la nivelul de iesire (de exemplu, mai mult de 60 dB), testul de validare al albirii erorii reziduale pierde din semnificatia sa. Aceasta pe de o parte, pentru ca nivelul de zgomot este atat de mic incat efectul asupra CMMCR este neglijabil si pe de alta parte, pentru ca zgomotul rezidual poate sa contina in acest caz o componenta semnificativa care nu este gausiana (de exemplu zgomotul provocat de propagarea erorii de rotunjire).

Aceasta situatie apare, de exemplu la identificarea pornind de la fisiere de date I/O utilizate in simulari ale modelelor fara zgomot.

Algoritmi de reglare PID numerici

Introducere

Sistemele moderene de conducere a proceselor presupun implementarea strategiilor (algoritmilor) de conducere pe cale numerica.

In acest capitol sunt prezentate particularitatile algoritmilor de reglare implementati pe cale numerica in acest proiect si de asemenea se prezinta clasa algoritmilor conventionali de reglare de tip PID, precum si problemele discretizarii si implementarii acestora pe cale numerica.

Conducerea numerica a unui proces continuu presupune prezenta elementelor de interfata, care asigura conversia semnalelor continue in semnale numerice (CAN) si, in mod corespunzator, conversia comenzii numerice in comanda continua (CAN), dupa cum se arata in figura 3.1.

Figura 3.1

Operatia de conversia a marimii continue y(t) intr-o marime numerica yk presupune esantionarea marimii y(t) cu o perioada de esantionare T si atasarea la fiecare valoare y*(t) a unui numar intreg de cuante. Astfel, fiecarei aplitudini y*(t), esantionata cu perioada T din funcatia continua y(t), i se asociaza o marime numerica yk = y(kT).

Variabila yk este denumita variabila discreta, iar precizia de cunatizare (conversie) este data de lungimea cuvantului cu care opereaza convertorul analog – numeric. Un convertor cu 10 biti lungimea cuvantului are o rezolutie de 0.1%.

Comanda numerica elaborata de regulatorul numeric este transmisa la momente discrete de timp spre proces prin intermediul convertorului numeric – analogic. Convertorul CNA are rolul de a transforma marimile numerice in marimi analogice compatibile cu intrarea elementelor de executie. Conversia se poate realiza folosind diferite metode de aproximare (extrapolare) a comenzii intre momentele discrete de timp. Cea mai utilizata metoda de aproximare este metoda cu extrapolator de ordin zero – comanda se mentine constanta intre doua momente discrete de timp. De asemenea mai exista si metoda de aproximare cu extrapolator de ordinul intai, unde comanda variaza liniar intre doua momente discrete de timp.

In practica, cea mai utilizata metoda de aproximare a comenzii intre doua momente discrete de timp este mentinerea constanta a acesteia pe parcursul unei perioade de discretizare:

Comanda uk este calculata pe baza referintei in forma discreta rk si a iesirii in forma discreta (numerica) yk. Este usor de remarcat faptul ca iesirea convertorului numeric – analogic este cvasicontinua.

Pentru obtinerea ecuatiilor cu diferente pentru diversi algoritmi continui de reglare descrisi prin ecuatii diferentiale sau functii de transfer, pot fi folosite mai multe metode de discretizare.

Cele mai utilizate metode de discretizare a algoritmilor continui sunt: metoda dreptunghiurilor si metoda trapezelor. Pentru a ilustra cele doua metode, consideram integrala:

a carei aproximare numerica poate fi obtinuta sub forma:

in cazul aproximarii prin metoda dreptunghiurilor si sub forma:

in cazul utilizarii metodei trapezelor.

Daca aplicam transformata Z ecuatiilor de mai sus, obtinem cu usurinta functia de transafer a unui integrator numeric sub forma:

respectiv:

Acelas rezultat se obtine daca aproximam folosind diferite metode:

sau:

sau:

Ecuatiile cu diferente pentru algoritmii PID de reglare se pot obtine, fie direct din ecuatiile diferentiale, fie din functiile de transfer HR(s) , unde variabila s se inlocuieste cu aproximarea in Z a acesteia.

La alegerea metodei de discretizare a algoritmilor PID, se iau in consideratie precizia de aproximare a algoritmului continuu, complexitatea relatiilor de calcul ale parametrilor algoritmului si capacitatea de structurare a algoritmului in vederea implementarii cu o felxibilitate ridicata.

Este usor de observat ca metoda trapezelor aproximeaza mai precis integrala si are avantajul ca semiplanul stang al planului s este transformat in interiorul cercului unitar. Utilizarea metodei Euler de aproximare poate conduce la instabilitate: un sistem continuu stabil poate fi transformat intr-un sistem discret instabil. Aproximarea pe baza diferentei inapoi asigura totdeauna conservarea stabilitatii sistemului dupa transformare.

Algoritmi PID de pozitie si incrementali

Algoritmul PID ideal este descris de ecuatia:

Folosind metoda dreptunghiurilor pentru aporximarea integralei in relatia (3.1) obtinem:

sau:

De remarcat este faptul ca, in ambele cazuri, pentru a obtine comanda la pasul curent, este necesara cunoasterea componentei Ik-1 , deci algoritmul trebuie initializat. Astfel cele doua relatii (3.2a) si (3.2b) pot fi puse si sub forma:

respectiv

Algoritmul in forma (3.3) sau (3.2) este cunoscut sub denumirea de algoritm PID de pozitie. Pentru a elimina neajunsul algoritmului de pozitie, care trebuie initializat, vom obtine comanda sub forma incrementala, pornind de la relatia:

Daca din relatia (3.3a) scadem relatia (3.4), se obtine:

De remarcat este faptul ca, in acest caz, algoritmul nu mai trebuie initializat, comanda se genereaza sub forma unui increment:

iar amplitudinea incrementului poate fi controlata prin valorile parametrilor KR , Ti, Td si T (perioada de esantionare). Algoritmul descris prin (3.6) este cunoscut sub denumirea de algoritm PID incremental.

Daca facem urmatoarele notatii:

algoritmul PID incremental se mai poate scrie sub forma:

Algoritmul PID incremental poate fi descris si prin functia de transfer:

unde z-1 = e-sT. Modelul (3.8) se obtine imediat daca se aplica transformata Z ecuatiei cu diferente (3.7), care poate fi pusa si sub forma:

unde q-1 este operatorul de intarziere (q-1εk = εk-1).

Acelas rezultat se obtine si daca in functia de transfer :

se introduce susbstitutia:

Am ales sa prezint in aceasta lucrare algoritmul de reglare PID numeric de tip incremental impreuna cu toate avantajele sale doarece un astfel de regulator numeric este implementat si in proiectul meu cu ajutorul programului RSLogix.

Insa pe langa cele doua forme mai exista si alte tipuri de forme de regulatoare numerice de tip PID cum ar fi algoritm PID modificat sau cu filtrare.

3.3 Algoritm PID cu filtrarea actiunii derivative

Intr-o configuratie clasica de reglare, regulatorul PID continuu cu filtraj pe actiunea derivativa, este definit prin functia de transfer traditionala:

(3.9)

Notam prin: KIR – castigul sau amplificarea regulatorului, Ti, Td IR* — constante pentru actiunea integrala, respectiv derivativa, N IN* – constanta de filtraj. Intrarea in algoritmul de comanda este eroarea de reglare, adica diferenta dintre marimea de referinta si marimea de iesire reglata, iar marimea de la iesirea din regulator este comanda numerica u(k).

Sa notam ca algoritmul PID descris prin relatia (3.9) se aplica cu cele mai bune rezultate pentru procese reprezentate prin modele de ordinul unu si doi fara, si cu timp mort, avand limitare la timpul mort (inferior unei perioade de esantionare).

Regulatorul PID numeric este obtinut prin discretizarea algoritmului PID continuu, folosind spre exemplu urmatoarea relatie aproximativa:

unde h este perioda de esantionare.

Obtinem atunci functia de transfer discreta :

(3.10)

Din relatia (3.10), se obtine imediat expresia functiei de transfer in operatorul de intarziere q-1:

(3.11)

unde:

3.12

Este posibila exprimarea algoritmului PID sub forma canonica RST prin polinoame de ordinul doi cu restrictia T=R, dupa cum urmeaza :

(3.13)

Remarcam faptul ca regulatorul numeric este caracterizat prin 4 parametri: r0, r1, r2 si s1, ce urmeaza sa fie evaluati in faza de proiectare. Schema sistemului in bucla inchisa este reprezentata in Figura 3.2, iar functia de transfer in acest caz se scrie ca mai jos:

Figura 3.2: Sistem de reglare cu comanda PID exprimata in forma canonica RST.

Sa notam ca factorul (1-q-1) exprima efectul de integrare (numerica), iar factorul (1 + s1q-1) exprima efectul de filtrare (numerica).

Performantele sistemului pot fi specificate, in conformitate cu metoda alocarii polilor pentru sistemul in bucla inchisa, printr-o distributie de poli dorita, introdusa prin polinomul caracteristic al sistemului P(q-1), cu exprimarea urmatoare:

(3.14)

In practica, se alege P(q-1) un polinom de ordinul doi (cu coeficienti cunoscuti, respectiv radacini impuse) sugerat de existenta unei solutii pentru ecuatia polinomiala din (3.14), deci avem:

Acesta reprezinta, echivalentul discretizat al unui model continuu de ordinul doi, in reprezentare standard.

Rezulta ca, pentru calculul parametrilor regulatorului PID trebuie rezolvata urmatoarea ecuatie polinomiala:

Se pot face urmatoarele comentarii :

Produsul B(q-1)R(q-1) defineste zerourile sistemului in bucla inchisa. Regulatorul PID nu simplifica deci zerourile procesului si atunci algoritmul PID poate fi folosit si pentru reglarea proceselor avind un model cu zerouri instabile;

Regulatorul PID introduce zerouri suplementare prin factorul R(q-1), care depinde de A(q-1), B(q-1) si P(q-1) si care pot afecta performantele tranzitorii ale sistemului.

3.4 Algoritmul PID modificat

Regulatorul PID in versiune ameliorata este un PID numeric care nu introduce zerouri suplimentare, contrar cu cazul precedent.

Pentru a obtine efectul scontat, functia de transfer dorita in bucla inchisa se impune de la inceput, sub forma:

(3.15)

unde B(q-1) reprezinta zerourile procesului care raman neafectate, P(q-1) defineste polii alocati pentru sistemul in bucla inchisa si factorul P(1)/B(1) este introdus pentru a asigura un cistig static unitar de la marimea de intrare (referinta) la iesirea sistemului. Polinomul P(q-1) verifica de asemenea identitatea (3.14).

Pentru a putea ajunge la structura numerica ilustrata de Figura 3.2, impunem conditia naturala ca perechea S(q-1) si R(q-1) sa fie obtinuta din ecuatia (3.13).

Functia de transfer a sistemului in bucla inchisa se identifica cu cea impusa prin relatia (3.15).

3.16

Rezulta imediat, exprimarea polinomului T(q-1):

(3.17)

deoarece S(1) = 0 si atunci, P(l) = B(1)R(1).

Regulatorul PID versiunea ameliorata, contine polinoamele S(q-1) si R(q-1) identice cu cele ale algoritmului PID precedent, singura diferenta este ca T(q-1) =R(l) (o constanta), in loc de T(q-1) = R(q-1) (un polinom de gradul doi).

In acest caz, se pastreaza castigul static unitar al sistemului in bucla inchisa fara sa introducem efectul zerourilor prin R(q-1).

3.5 Alegerea perioadei de esantionare

Algoritmii de reglare obtinuti prin discretizarea algoritmilor continui au, in general, performante inferioare ca urmare a aproximarii componentelor integrala si derivativa si, evident, ca urmare a pierderii de informatie in procesul de esantionare si cuantizare. Pentru alegerea perioadei de discretizare, sunt recomandate, cel mai adesea pe baza experientei, relatii ce definesc raportul intre T (perioada de esantionare) si Ti, respectiv T si Td. Regulatoarele numerice industriale destinate reglarii unui numar redus de marimi din proces folosesc o perioada de discretizare fixata de oridnul a 100 ms. O alegere a perioadei T in jur de (75 – 150) ms determina o comportare cvasicontinua a algoritmului de reglare. In acest caz, pot fi extinse metodele de acordare cunoscute din domeniul sistemelor de reglare continue.

Este de remarcat faptul ca valori foarte mici ale perioadei T (frecvente mari de esantioanare) asigura o buna aproximare a algoritmului de reglare, insa costurile interfetei de proces sunt ridicate, numarul buclelor de reglare realizate cu un singur regulator este redus, iar complexitatea algoritmilor implementati este limitata.

In cazul in care T este prea mare, pierderea de informatie in procesul de esantionare determina o precizie redusa in comportarea sistemului de reglare, perturbatiile putand determina aparitia oscilatiilor intre momentele de esantionare.

Principalii factori ce trebuie luati in consideratie la alegerea perioadei de discretizare sunt:

Performantele dorite pentru sistemul de reglare;

Dinamica procesului si spectrul de frecventa al perturbatiilor;

Particularitatiile elementului de executie si ale traductoarelor;

Complexitatea algoritmilor si costul pentru fiecare bucla de reglare.

Este usor de observat ca alegerea perioadei de esantionare T presupune o analiza atenta a mai multor factori, al caror efect este cel mai adesea contradictoriu. In cazul sistemelor de reglare cu regulatoare numerice, sunt prezentate in literatura de specialitate recomandari privind alegerea perioadei T pentru diferite tipuri de procese si diferite spectre de frecventa ce caracterizeaza pertubatiile.

Dintre aceste recomandari amintim si noi cateva dintre ele:

T ≈ (0.1 … 0.3) Ti pentru regulatoarele PI;

T ≈ (0.3 … 1) τ sau T ≈ (0.1 … 0.3) To pentru regulatoarele PI acordate pe baza metodei Ziegler – Nicholas si procese cu timp mort;

T ≈ (1/6 … 1/15) tt , unde tt reprezinta durata regimului tranzitoriu.

Cerintele de performanta impuse la urmarirea referintei si rejectia perturbatiilor sunt factori determinanti la alegerea perioadei T. Cunoasterea a priori a performantelor elementelor de executie si ale traductoarelor, precum si cunoasterea calsei de perturbatii ce actioneaza asupra procesului reprezinta cerinte primare pentru o alegere corespunzatoare a perioadei T.

Proiectarea comenzii multimodel

4.1 Introducere

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

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

Similar Posts