Sunteți pe pagina 1din 35

CAPITOLUL 1

REGULATOARE NUMERICE CU MICROPROCESOARE

1.1 Noţiuni introductive


În cadrul acestui capitol sunt tratate problemele specifice proiectării [i
realizării regulatoarelor numerice cu microprocesoare în configuraţii
monoprocesor sau multiprocesor.
Proiectarea unui regulator numeric este determinată esenţial de
configuraţia sistemului de conducere în care se integrează, de complexitatea
procesului condus şi de complexitatea sarcinilor ce se cer a fi realizate.
Regulatorul numeric putând opera ca sistem independent pe proces, poate
coopera cu alte regulatoare într-o organizare orizontală sau poate coopera în
cadrul unei structuri ierarhizate-distribuite cu alte regulatoare şi cu nivelul
ierarhic superior. Indiferent de structura de sistem în care se integrează
regulatorul, acesta trebuie să realizeze următoarele funcţii:
 funcţia de achiziţie şi conversia datelor din proces;
 funcţia de memorare a datelor referitoare la evoluţia variabilelor din
proces şi a datelor introduse de operator;
 funcţia de prelucrare a datelor în conformitate cu algoritmii de
reglare şi comandă prestabiliţi;
 funcţia de elaborare a comenzii şi transmiterea acesteia spre
elementele de execuţie;
 funcţia de comunicaţie cu operatorul şi cu nivelul ierarhic superior
sau cu alte regulatoare numerice;
 funcţia de rezervare automată prin memorarea datelor vitale privind
evoluţia sistemului de reglare.
Pornind de la aceste funcţii şi în strânsă corelaţie cu obiectivele reglării,
cu clasa de procese căreia îi este destinat regulatorul şi cu configuraţia de sistem
de conducere în care regulatorul funcţionează, pot fi concepute structuri de
regulatoare numerice monocanal sau multicanal, monoprocesor sau
multiprocesor.
Etapele care trebuie parcurse la proiectarea unui regulator numeric cu
microprocesoare sunt următoarele:
1. Alegerea microprocesorului în jurul căruia se organizează unitatea
centrală de prelucrare.
2. Alegerea structurii optime a regulatorului numeric.
3. Alegerea, dimensionarea şi organizarea memoriilor de date şi de
programe.
4. Proictarea interfeţelor cu procesul pentru achiziţia datelor şi transmiterea
comenzilor.
5. Proictarea sistemului de comunicaţie între modulele hardware ale
regulatorului.

1
6. Proictarea interfeţelor de comunicaţie cu operatorul (sistemul de
introducere şi extragere date) şi cu nivelul ierarhic superior.
7. Proiectarea sistemului de operare (executivul de timp real) şi elaborarea
programelor de aplicaţie.
La proiectarea unui regulator numeric se au în vedere câteva cerinţe
esenţiale pentru atingerea unor performanţe înalte şi compatibilităţi cu clase
largi de procese. Astfel, se urmăreşte realizarea unei înalte flexibilităţi prin
modularizare hardware şi software, înaltă fiabilitate şi configurabilitate.
Performanţele regulatoarelor numerice sunt determinate atât de
performanţele modulelor hardware şi de structura regulatorului, cât şi de
performanţele sistemului de programe de bază şi aplicative.

1.2 Structura hardware a regulatoarelor numerice


1.2.1 Probleme ale alegerii microprocesorului şi proiectarea
unităţii centrale de prelucrare
Criteriile ce trebuie avute în vedere la alegerea microprocesorului, în
vederea proiectării unui regulator numeric sunt: arhitectura internă a
microprocesorului, tehnologia de realizare, lungimea cuvântului, frecvenţa de
lucru, capacitatea memoriei adresate direct, numărul de registre, repertoriul
instrucţiunilor, posibilitatea de dezvoltare de programe şi de compatibilitate cu
limbaj de nivel înalt, facilităţi de operare în configuraţii multiprocesor şi nu în
ultimul rând disponibilitatea.
Microprocesoarele au cunoscut o spectaculoasă evoluţie sub aspect
tehnologic şi corelat cu aceasta sub aspectul performanţelor. Astfel de la primele
microprocesoare de 8 biţi (1974) realizate în tehnologie PMOS au fost realizate
microprocesoare de 16, 32 biţi în tehnologie HMOS şi CHMOS (1987) ce
îmbină viteza înaltă de prelucrare cu cerinţe de consum minim de energie, în
cadrul unor arhitecturi cu magistrală unică de adrese, date şi comenzi sau cu
magistrale separate pentru date şi adrese.

1.2.2 Alegerea structurii optime de regulator numeric


Criteriile care stau la baza alegerii structurii regulatorului sunt
determinate de:
 arhitectura întregului sistem de conducere în care se integrează
regulatorul;
 complexitatea funcţiilor ce urmează a fi implementate în cadrul
regulatorului;
 complexitatea şi dinamica procesului supus conducerii;
 performanţele sistemului de conducere.
Structura regulatorului numeric se compune din module hardware şi
software astfel selectate încât să asigure realizarea funcţiilor acestuia. O
structură standard de regulator numeric este prezentată în figura 1.

2
Fig. 1

Modulele introduse în structura regulatorului permit realizarea funcţiilor


de achiziţie a datelor din proces, de memorare a datelor şi programelor, de
elaborare şi transmitere a comenzilor, de comunicaţie cu operatorul şi cu nivelul
ierarhic superior, de memorare a datelor vitale în scopul realizării funcţiei de
rezervare automată a reglării.
Structura de regulator numeric poate fi de tip monoprocesor sau
multiprocesor sau pot fi realizate structuri de procesoare specializate pentru
reglarea (comanda) în timp real a unor procese tehnologice. La adoptarea
structurii regulatorului se are în vedere faptul că acesta trebuie să aibă o
siguranţă în funcţionare foarte ridicată, o ridicată disponibilitate.
Regulatoarele pot fi destinate controlului unei mărimi din proces
(regulator monocanal) sau pot fi multicanal în cazul în care asigură controlul
mai multor mărimi din proces.
Cele mai uzuale structuri de regulatoare numerice sunt structurile
multiprocesor, destinate conducerii proceselor cu mai multe intrări şi mai multe
ieşiri reprezentînd regulatoare multicanal. Adoptarea structurilor
multimicroprocesor presupune asigurarea suportului hardware şi software ce
facilitează implementarea conceptului de execuţie concurentă reală. Aceasta
necesită segmentarea procesului în sarcini şi utilizarea unui executiv de timp
real pentru a gestiona, controla şi sincroniza diversele sarcini.
Avantajele oferite de structurile de regulatoare multimicroprocesor sunt :
flexibilitate ridicată, sensibilitate redusă la perturbaţii, timpul de execuţie a unei
sarcini este mult mai redus, fiabilitatea sporită (prin redundanţă sau imunitate la
defecte), dezvoltarea modulară a sistemelor, partajarea resurselor (hardware,
programe, date, timp), partajarea funcţională a sarcinilor pe procesoare
specializate, în raport cost / performanţe excelent.
Obţinerea unor configuraţii multiprocesor presupune realizarea mai
multor sarcini dintre care menţionăm:
 defalcarea sarcinilor şi repartiţia acestora pe diferitele procesoare;
 determinarea celor mai eficiente structuri de interconectare a
procesoarelor;

3
 proiectarea unor mecanisme cât mai adecvate pentru translatarea
adreselor logice în adrese fizice;
 gestionarea resurselor şi formarea şirurilor de aşteptare;
 eliminarea interblocărilor care apar când un procesor aşteaptă după
o resursă alocată altuia şi viceversa, nici unul din procesoare
neputându-şi continua execuţia sarcinii până la obţinerea resursei
respective;
 proiectarea unor structuri hardware şi software care să faciliteze
imunitatea la defecte a sistemelor multimicroprocesor.

1.2.3 Alegerea şi dimensionarea interfeţelor de procese


Achiziţia datelor din proces reprezintă una dintre cele mai importante
funcţii ale regulatorului alături de funcţia de elaborare şi transmitere a
comenzilor spre elementele de execuţie. Informaţiile culese din proces şi
transmise spre proces pot fi analogice, logice sau numerice. Aceste semnale
evoluează în mediu industrial puternic perturbat, fiind astfel însoţite de
importante zgomote. Interfeţele de proces sunt incluse în structura regulatorului,
pe când elementele primare, traductoarele şi elementele de execuţie sunt
echipamente de câmp. Pentru a atenua efectele nedorite ale zgomotelor ce
însoţesc semnalele culese din proces ţi transmise regulatorului, se impune
utilizarea transmisiei diferenţiale ecranate de-a lungul întregului traseu precum
şi utilizarea unor filtre corespunzătoare.
Criteriile care stau la baza alegerii şi dimensionării unei interfeţe pentru
achiziţia informaţiilor din proces sunt:
 viteza de achiziţie;
 precizia (rezoluţia) cu care se realizează conversia semnalelor;
 capacitatea de rejectare a semnalelor perturbatoare;
 fiabilitatea;
 consumul de energie.
Numărul de variabile şi tipul acestora determină complexitatea interfeţei.
Structura unei interfeţe pentru achiziţia semnalelor analogice este
prezentată în figura 2.

Fig. 2

4
Prin intermediul elementelor de joncţiune se asigură cuplarea la proces
(traductoare). Prin intermediul acestor elemente de joncţiune se separă interfaţa
de mediul industrial impunându-se utilizarea unor optocuploare performante.
Prelucrarea primară presupune condiţionarea semnalelor culese din câmp prin
filtrări hardware, conversii, atenuări, adaptări de semnal, etc.. Se impune ca
toate aceste operaţii să se realizeze cu o înaltă precizie.
Utilizarea unui singur convertor analog-numeric (soluţie eficientă pentru
procese lente în comparaţie cu soluţiile cu convertor pentru fiecare variabilă din
proces) impune prezenţa multiplexorului analogic. Multiplexorul facilitează
conectarea, cu o frecvenţă fixă în cele mai multe cazuri, convertorului analog-
numeric la fiecare sursă de semnal apriori prelucrat primar. Multiplexoarele
analogice realizate cel mai frecvent cu elemente semiconductoare realizează la
comandă conectarea (prin comutare) a fiecărei ieşiri a blocului de prelucrare
primară la intrarea convertorului analog-numeric. Selectarea punctului dorit are
loc pe baza adresei indicate de regulator sau obţinute prin incrementarea celei
anterioare. Amplificatorul inclus în structura interfeţei permite adaptarea
impedanţelor circuitelor de intrare cu cea a elementului de eşantionare şi
reţinere. Cu ajutorul acestui amplificator se asigură amplificarea semnalelor de
semnal redus în gama (1-1000). În cadrul multor interfeţe factorul de amplificare
este ajustabil în funcţie de nivelul semnalului de intrare. Comanda factorului de
amplificare se poate realiza prin program sau printr-un proces de autoadaptare
(pentru a se obţine utilizarea cu rezoluţie maximă a convertorului analog-
numeric). Elementul de eşantionare-reţinere reprezintă o memorie analogică
păstrând valoarea semnalului de intrare la momentul eşantionării. Utilizarea unui
singur convertor analog-numeric presupune memorarea analogică pe durata
conversiei a semnalului analogic aferent canalului de intrare indicat de către
regulator. Acest semnal trebuie să fie stabil pe durata conversiei analog-
numerice.
Schema de principiu a unui element de eşantionare şi reţinere este
prezentată în figura 3.

Fig. 3

Funcţionarea acestui element are loc în două etape importante: obţinerea


informaţiei prin intermediul comutatorului şi memorarea informaţiei cu ajutorul
condensatorului CM şi a amplificatorului A. Cerinţele de performanţă ce stau la
baza proiectării unui asemenea element sunt: timpul de obţinere şi de memorare
şi precizia de reţinere a informaţiei.

5
Pentru conversia semnalelor sunt utilizate numeroase forme de
convertoare analog-numerice realizate prin integrare, care - în cea mai mare
parte - utilizează în scopul conversiei metoda aproximaţiilor succesive. În acest
scop sunt necesare: un convertor numeric-analogic, un registru ce memorează
valorile ce aproximează succesiv valoarea numerică a semnalului convertit şi o
logică de comandă. Între multe aplicaţii s-au realizat convertoare cu
microprocesoare. Viteza de conversie depinde de rezoluţia necesară, de viteza de
lucru a microprocesorului şi de lungimea cuvântului acestuia. Pentru efectuarea
operaţiei de conversie analog-numerică, microprocesorul transmite un semnal
start conversie. În funcţie de tipul convertorului lent sau rapid, microprocesorul
poate folosi trei metode pentru adresarea convertoarelor.
Prima metodă constă în testarea periodică prin program a unui semnal
care indică starea convertorului.
A doua metodă constă în intrarea microprocesorului într-o stare de
aşteptare, prin bascularea unui bistabil de către semnalul start conversie şi
rebascularea acestuia când operaţia de conversie s-a terminat.
A treia metodă, pentru convertoare analog-numerice rapide, constă în
tratarea convertorului ca o celulă de memorie, operaţie de citire a datelor
efectuându-se direct, fără timpi de aşteptare.
Informaţia discretizată (numerică) referitoare la toate variabilele din
proces este memorată şi prelucrată prin registrele sistemului de către regulator,
fiind introdusă în baza de date a regulatorului. Controlul interfeţei este asigurat
printr-un bloc de comandă care permite selectarea variabilei de convertit, fixarea
funcţiei de eşantionare, modifică factorul de amplificare, controlează începutul
şi sfârşitul conversiei.
Cele mai noi structuri de interfeţe pentru semnale analogice folosesc
structuri integrate de achiziţii cu convertoare pe 12 biţi, 16 biţi şi chiar 24 biţi. În
aceste condiţii se pot realiza viteze de achiziţie de ordinul microsecundelor şi o
precizie foarte ridicată determinată esenţial de convertorul analog-numeric.
Pentru achiziţia semnalelor numerice se pot utiliza interfeţe distincte sau
se pot realiza interfeţe hibride pentru semnale analogice şi numerice.
Numărul semnalelor numerice dintr-un proces variază în limite largi de la
proces la proces. Nivelul acestor semnale este variabil în limite destul de largi 5-
24 Vc.c. În anumite situaţii, semnalele numerice poartă informaţia şi în durata
impulsurilor corespunzătoare, durată care se măsoară prin calibrări cu impulsuri
pe perioadă cunoscută.
Schema de principiu a unei interfeţe de achiziţie a semnalelor numerice
este prezentată în figura 4.

6
Fig. 4 - Schema de principiu a unei interfeţe de achiziţie a semnalelor numerice

Semnalele numerice sosite la elementele de joncţiune suferă o tratare


primară în cadrul elementelor de prelucrare primară asigurându-se adaptarea la
cerinţele multiplexorului MX. Se acceptă ca nivel de intrare în MX nivelul de +5
Vc.c. (pentru “1” logic) şi 0 Vc.c. (pentru “0” logic). O asemenea adaptare
presupune utilizarea unor formatoare de histerezis pentru a se face faţă
eventualelor fluctuaţii ale nivelului semnalelor de intrare.
Pentru izolarea interfeţei de mediul extern se foloseşte cuplarea optică,
realizată prin încapsularea în aceeaşi capsulă a unei diode LED emiţătoare de
lumină infraroşie şi a unui fototranzistor. Cuploarele optice pot fi utilizate cu
succes la realizarea multiplexoarelor de semnale analogice sau numerice.
De regulă, intrările numerice cu un singur bit nu sunt citite izolat, ci în
cuvinte de 8 biţi sau 16 biţi în funcţie de tipul procesorului utilizat. Ca memorie
se pot utiliza registre cu ieşirea de tip tristate, ceea ce facilitează conectarea
simplă la magistrala sistemului. {i în acest caz blocul logic de comandă
controlează multiplexorul şi memoria, selectând informaţiile ce se transferă pe
magistrala sistemului.
Interfeţe de ieşire. Prin intermediul acestor interfeţe se asigură
compatibilitatea regulatorului numeric cu elementele de execuţie. Prin
intermediul acestor interfeţe se pot transmite atât comenzi analogice (semnal
unificat), cât şi comenzi logice (numerice) pentru comanda elementelor de
execuţie de tip pas cu pas.
Interfeţele pentru semnalele analogice permit implementarea comenzilor
elaborate de către regulator, în conformitate cu algoritmul selectat. Utilizarea
elementelor de execuţie analogice impun prezenţa convertorului numeric-
analogic. În structura interfeţei de ieşire analogice apare ca o necesitate prezenţa
unor elemente de memorare analogice pentru a memora comanda sub formă
analogică pe toată durata de timp pentru care aceasta rămâne constantă. Mai
mult, se impune menţinerea comenzii la valoarea anterioară, chiar şi în cazul
defectării regulatorului. Din acest punct de vedere se pot realiza interfeţe cu un
singur convertor numeric-analogic (figura 5) şi interfeţe cu mai multe
convertoare numeric-analogice, câte unul pentru fiecare canal de ieşire (fig. 6).

7
Fig. 5 - Structura interfeţei de ieşire analogice cu un singur
convertor numeric-analogic

Fig. 6 - Structura interfeţei de ieşire analogice cu mai multe


convertoare numeric-analogice

Principalii parametrii ai sistemului de cuplare a regulatorului la elementele de


execuţie analogice sunt: viteza maximă de variaţie a semnalului pe o ieşire,
numărul de biţi transmişi la canal (rezoluţia) şi preţul interfeţei.
Funcţiile interfeţei de ieşire sunt:
-Transmiterea datelor de la regulatorul numeric la interfaţă prin
intermediul blocului de comandă. Datele pot fi transmise paralel, când interfaţa
este inclusă în structura regulatorului, sau serial, în cazul în care interfaţa se află
în câmp lângă elementul de execuţie.
-Memorarea informaţiei pe fiecare canal de conversie numeric-analogică.
Informaţia care este transmisă pentru conversie pe un canal trebuie memorată pe
un interval de timp determinat de două adresări prin program. Memorarea se
poate face cu memorii analogice realizate cu amplificatoare operaţionale şi
condensatoare în regim de memorie. Selectarea fiecărui canal se realizează cu
ajutorul demultiplexorului analogic DMX (figura 5) sau cu ajutorul
demultiplexorului numeric (figura 6). Memoria analogică asigură memorarea cu
precizie limitată pe intervale reduse de timp între două adresări. În cazul
utilizării mai multor convertoare se folosesc memorii tampon pe fiecare canal
(figura 6).

8
-Comutarea informaţiei pe mai multe canale de ieşire analogice, funcţie
realizată prin intermediul demultiplexoarelor. Demultiplexarea se poate realiza
prin metode analogice (figura 5) sau prin metode numerice (figura 6). Alegerea
uneia dintre aceste două variante se face în funcţie de modul cum se realizează
operaţia de memorare a informaţiei pe canalele de ieşire între două momente de
adresare.

Fig. 7 - Interfaţă de ieşire pentru comanda motoarelor pas cu pas

-Reactualizarea informaţiei pe fiecare canal de ieşire, la diferite momente


de timp de adresare. Interfaţa de ieşire poate transmite informaţia pe un canal
analogic prin trei metode: secvenţial, simultan şi aleator. Alegerea uneia dintre
aceste variante depinde de caracteristicile elementelor de execuţie utilizate şi de
modul de rezolvare a problemelor enunţate anterior. Pentru sistemele de reglare
numerică a proceselor tehnologice, având în vedere caracteristicile dinamice ale
proceselor în raport cu fiecare canal de comandă, se alege metoda aleatoare de
adresare prin program.
Pentru comanda motoarelor pas cu pas se poate utiliza o interfaţă de ieşire
care evidenţiază pe lângă demultiplexor, memoriile numerice care au rolul de a
memora informaţia de comandă a fiecărui motor pas cu pas (figura 7).
Interfeţele de proces atât pentru intrări cât şi pentru ieşiri joacă un rol
esenţial în realizarea performanţelor înalte cerute sistemelor numerice de reglare
şi de conducere. În acest sens, progresele obţinute în domeniul microelectronicii,
în domeniul elementelor sensibile şi al traductoarelor inteligente au impus noi
soluţii pentru achiziţia datelor şi transmiterea comenzilor în câmp. Sunt realizate
sisteme distribuite de achiziţie cu un înalt grad de inteligenţă al interfeţelor
incluzând funcţii de filtrare, filtrare adaptivă, liniarizări, testare încadrate în
limite, etc. De asemenea, sunt realizate sisteme de achiziţie cu înaltă fiabilitate
atât prin adoptarea unor soluţii redundante, cât şi prin implementarea unor
mecanisme de votare şi rezervare cu înaltă toleranţă la defecte şi înaltă imunitate
la zgomote.
Utilizarea magistralelor de câmp de tip field-bus permite implementarea
unor protocoale eficiente de comunicaţie ale regulatoarelor (calculatoarelor de
proces) cu elemente din câmp (traductoare, elemente de execuţie, etc.).

9
Marea diversitate de semnale din proces şi cantitatea mare de date ce se
transmite spre sistemele de prelucrare au impus reţelele locale de achiziţie şi
concentratoarele de date care prin implementare, pe lângă viteza ridicată de
achiziţie şi înaltă precizie, asigură o reducere substanţială de cablu de
comunicaţie. O structură de sisteme de achiziţie cu traductoare inteligente şi cu
microcalculator este prezentată în figura 8.

Fig. 8 - Sistem de achiziţie cu traductoare inteligente şi cu microcalculator

La magistrala de câmp se pot interconecta direct traductoare inteligente


sau multiplexoare care asigură achiziţia unui anumit număr de variabile în
proces.

1.2.4 Principii de realizare a interfeţelor cu sistemul de comandă


şi configurare

Comunicaţia regulatorului numeric cu operatorul se poate realiza fie la


nivel local prin blocul de comandă şi configurare, fie la nivelul ierarhic superior
prin intermediul consolei operatorului de proces. În cele ce urmează vor fi
tratate problemele specifice conceperii şi realizării unor interfeţe de comunicaţie
cu blocul de comandă şi configurare. Interfaţa cu BCC va trebui să asigure pe de
o parte compatibilitatea sistemului cu comenzile date de operator prin tastatură,
iar pe de altă parte să permită afişarea informaţiei. Interfeţele de comunicaţie pot
fi realizate cu ajutorul unor automate de stare special concepute pentru
realizarea funcţiilor de comunicaţie sau pot fi realizate în jurul unor
microprocesoare sau microcalculatoare pe o singură plachetă.
În figura 9 se prezintă schema de principiu a unei interfeţe de comunicaţie
cu BCC.

10
Fig. 9 - Interfeţa de comunicaţie cu bloc de comandă şi configurare BCC

O asemenea interfaţă are în configuraţie un bloc de conversie (serie


paralel sau paralel / serie) (BCS / P), o memorie tampon (MT) pentru
memorarea datelor transmise sau recepţionate, un automat de stare (AS) pentru
iniţializarea şi controlul blocurilor componente, o interfaţă programabilă pentru
comanda afişării şi controlul tastelor.
O configuraţie de interfaţă cu BCC organizată în jurul unui
microprocesor este prezentată în figura 10.
În acest al doilea caz, sarcinile automatului de stare sunt prelucrate de unitatea
centrală cu microprocesor care gestionează memoriile de date, programele de
testare şi de comunicaţie cu regulatorul precum şi cu interfaţa programabilă. O
asemenea interfaţă este mult mai flexibilă în ceea ce priveşte complexitatea
funcţiilor preluate şi deosebit de eficientă din punctul de vedere al comunicaţiei
atât cu operatorul, cât şi cu regulatorul prin intermediul magistralei acestuia.
Adoptarea unei soluţii sau alteia depinde de complexitatea funcţiilor
implementate de gradul de utilizare a interfeţei.
Pentru proiectarea interfeţei cu tastatura se impune a fi rezolvate
următoarele probleme:
-se alege principiul de funcţionare: dacă interfaţa este programabilă şi în
continuare funcţionează autonom sau dacă este programabilă dar nu are program
propriu;
-se alege metoda de obţinere a informaţiei: dacă este sau nu o tastă
apăsată; dacă interfaţa elaborează sau nu un semnal de întrerupere;
-se aleg codurile pentru taste, în funcţie de semnificaţia acestora şi de
eventuala adresare directă a memoriei;
-se alege metoda de verificare dacă o tastă este apăsată sau este un semnal
fals, prin verificarea semnalului după un timp prescris de aşteptări;
-se alege criteriul de blocare a semnalelor în cazul când nu poate fi decât o
singură tastă apăsată la un moment dat. Pot fi adoptate diferite structuri de
interfeţe pentru codificarea tastaturii.

11
Fig. 10 - Interfaţă cu BCC organizată în jurul unui microprocesor

Pentru afişarea informaţiei pot fi utilizate mai multe metode. Toate aceste
metode însă trebuie să ofere operatorului cu viteză maximă şi precizie ridicată
informaţii de tipul datelor, adreselor, cuvinte de stare specifice unui ansamblu,
segmente de programe, etc. Pentru comanda interfeţei de afişare numerică se
folosesc subrutine în cadrul programului principal al microsistemului. Cele mai
utilizate interfeţe pentru afişarea informaţiei includ în structura lor circuite
integrate specializate sau memorii intermediare, însoţite de logica necesară
pentru comanda acestora de către microprocesor, atunci când apare necesitatea
schimbării unor valori.

1.2.5 Alegerea şi dimensionarea memoriilor

Pentru realizarea funcţiilor de reglare numerică în timp real, regulatoarele


numerice necesită atât o memorie de programe de tip ROM, cât şi o memorie de
date de tip RAM. În general capacitatea de memorie necesară în sisteme
numerice de conducere (regulatoare numerice) este în marea majoritate a
situaţiilor cu mult sub capacitatea adresabilă de către microprocesorul utilizat.
Memoria de tip “permanent” are o pondere cu mult mai mare decît cea de tip
temporal (RAM).
Alegerea şi dimensionarea memoriilor se realizează ţinând seama de
următorii factori:
-complexitatea sistemelor de programe de aplicaţie şi de sistem;
-dimensiunea bazei de date, complexitatea regulatorului;
-cerinţele impuse medierii pentru memorarea tendinţelor.
Principalele caracteristici ale memoriei ce trebuie avute în vedere la
alegere şi dimensionare sunt: lungimea cuvântului, capacitatea memoriei, timpul
de acces, consumul de energie.

12
Lungimea cuvântului reprezintă numărul de biţi informaţionali la care
se poate avea acces printr-o singură operaţie (implicând adresarea şi comanda
tipului de operaţie - citire sau înscriere). De regulă, memoria utilizată în cadrul
unui regulator numeric are aceeaşi lungime cu cea a cuvântului
microprocesorului (8 biţi, 16 biţi, 32 biţi).
Capacitatea memoriei se exprimă prin numărul de biţi informaţionali pe
care acesta îi poate memora. Capacitatea adresabilă a memoriei se exprimă prin
numărul de cuvinte al memoriei. Astfel, sunt deja realizate memorii de 1 KO, 8
KO, 16 KO, 32 KO, memorii de 1 MO într-un singur chip şi chiar mai mari.
Timpul de acces reprezintă durata scursă între momentul în care s-a dat
o anumită comandă (de exemplu, de citire) şi momentul în care comanda este
executată (datele sunt accesibile pe magistrală). Valorile uzuale ale timpului de
acces variază de la zeci de nanosecunde la sute de nanosecunde.
Consumul de energie. Tehnologia de realizare a memoriilor a evoluat ca
şi tehnologia microprocesoarelor, memoriile făcând parte din categoria
circuitelor integrate pe scară largă şi foarte largă. Astfel, consumul cel mai mic
de energie şi timpul de acces minim se realizează prin apelarea la tehnologii de
tip CHMOS.
Circuitele de memorie RAM au proprietatea că informaţia poate fi citită şi
înscrisă în orice locaţie. Memoria RAM este utilizată pentru organizarea bazei
de date a regulatorului, precum şi pentru memorarea informaţiilor vitale pentru
sistem în cazul în care se urmăreşte realizarea funcţiei de rezervare a
regulatorului. O asemenea memorie este de tip RAM nevolatilă. Pentru
realizarea memoriilor nevolatile se impune utilizarea unor tehnologii ce asigură
consumuri reduse, întrucât acestea necesită surse de alimentare tampon.
Capacitatea memoriilor temporare se determină ţinând seama de dimensiunea
bazei de date ce se organizează în cadrul regulatorului. Regulatoarele numerice
multicanal cu procesoare de 16 biţi dispun de memorii RAM ce nu depăşesc 32
KO.
Memoriile permanente de tip EPROM permit memorarea programelor de
sistem (executiv de tip real), biblioteca de programe de aplicaţie, date
permanente (constante). Capacitatea acestor memorii este determinată de
complexitatea şi numărul algoritmilor implementaţi, de complexitatea sistemului
de operare în timp real. O capacitate de 64 KO este suficientă pentru multe
regulatoare numerice multicanal. Circuitele de memorie RAM şi EPROM se
aleg având în vedere capacitatea şi volumul ocupat, viteza de acces, organizarea
internă precum şi factori de ordin economic.
Memoriile se pot include pe aceeaşi placă cu unitatea centrală sau/şi pot fi
organizate ca module distincte, putându-se organiza ca memorii locale, centrale
sau în ambele moduri. Se impune o organizare cât mai eficientă în vederea unei
adresări cât mai simple.
În general, fiecare unitate centrală trebuie să dispună de o memorie pentru
depunerea unor programe utilizator şi a variabilelor locale, astfel încât să aibă
acces la o instrucţiune sau la o variabilă local independent de magistrala sistem
şi memoria comună.

13
1.3 Programarea regulatoarelor numerice
1.3.1 Noţiuni de programare paralelă
Generalităţi
Dezvoltarea sistemelor moderne de calcul a condus la un aspect important
al activităţii de proiectare a programelor: programarea concurentă (paralelă).
Necesitatea programării paralele provine din:
-timpul scurt de răspuns şi utilizare eficientă a resurselor, ceea ce conduce
la tehnici de specificare a stării sistemului şi a cerinţelor de resurse, în mod
dinamic;
-apariţia unor activităţi concurente între procesorul central şi dispozitivele
periferice, datorită utilizării eficiente a echipamentelor;
-partajarea informaţiilor între programe şi comunicarea între programe,
ceea ce a creat necesitatea specificării sincronizării la nivel software.
Programarea paralelă sau concurentă este activitatea de scriere a unui
program care conţine o serie de părţi necesar a se afla în execuţie în acelaşi
moment. Orice program de conducere a unui proces conţine astfel de părţi
numite în mod uzual taskuri (sau procese). Programul de conducere se
descompune în taskuri, fiecare task constituind în cadrul programului o etapă de
execuţie asincronă cu un conţinut bine delimitat (achiziţie de date, conversii,
calcul şi elaborare comandă, afişarea mărimilor de interes, etc.).
Din punctul de vedere al regulatorului numeric, taskul reprezintă un
program în formă executabilă compus dintr-o succesiune de instrucţiuni
executate secvenţial.
Un sistem care permite execuţia mai multor taskuri paralele se numeşte
sistem multitasking.
Două taskuri se numesc paralele sau concurente dacă prima instrucţiune a
unui task demarează înainte ca ultima instrucţiune a celuilalt task să se încheie.
Pe un regulator numeric monoprocesor execuţia paralelă a taskurilor se va
face intercalat pe principiul distribuirii timpului unităţii centrale între taskuri
(“time slicing”).
Un singur task va fi în execuţie la un moment dat, dar datorită vitezei mari
de lucru a procesorului, precum şi datorită modului de programare se lasă
impresia că taskurile se execută “simultan” ca şi când fiecare task ar beneficia
de un procesor propriu virtual evident ceva mai lent. Spunem în acest caz, că are
loc o execuţie pseudo-paralelă sau o execuţie paralelă logică.
Taskurile componente ale unui program dat sunt de două categorii:
taskuri disjuncte sau independente şi taskuri care interacţionează sau
cooperează. Două sau mai multe taskuri se numesc disjuncte dacă nu schimbă
informaţii între ele sau dacă nu utilizează resurse în comun. În caz contrar, se
spune că ele interacţionează. În cazul unei aplicaţii multitasking avem de-a face
în general cu taskuri care interacţionează. Evoluţia unui program alcătuit numai
din taskuri disjuncte este unică indiferent de ordinea şi de viteza de execuţie a
taskurilor.

14
Un program compus din taskuri care interacţionează nu are în general o
evoluţie unică, ea depinzând de două aspecte:
-de modul şi posibilitatea de planificare a taskurilor pentru execuţie;
-de modul şi posibilitatea de tranziţie a unui task dintr-o stare în alta.
Modelul cel mai general al stărilor taskurilor şi al tranziţiilor acestora,
între stări este dat în figura 11.

15
Taskurile care compun o aplicaţie se pot afla în una din următoarele trei
stări: neinstalat, inactiv, activ. Un task activ poate fi la rândul lui în una din
următoarele substări: blocat, gata de execuţie sau în execuţie. Un singur task şi
numai unul singur se poate afla la un moment dat în execuţie.
Un task neinstalat este un task creat, rezident pe un suport extern sau în
memoria calculatorului, care nu a fost adus încă la cunoştinţa sistemului de
operare al echipamentului (regulatorului). El este făcut cunoscut sistemului prin
operaţia de instalare în urma căreia va trece în starea inactiv.
Un task se află în starea inactiv dacă este instalat, dar nu s-a făcut nici un
apel de intrare a lui în execuţie. Prin instalare se creează şi i se alocă taskului un
vector de stare sau un bloc de control al taskului care reprezintă materializarea
taskului în sistem.
Vectorii de stare ai taskurilor sunt grupaţi într-o tabelă care este folosită de
sistem pentru efectuarea schimbărilor survenite în stările taskurilor pe parcursul
existenţei lor.
Un task poate reveni în starea neinstalat numai din starea inactiv,
dezafectându-i-se vectorul de stare.
Un task pentru care se face o cerere de intrare în execuţie trece în stare activ şi
anume în substarea gata de execuţie, în care el poate concura la acapararea
procesorului şi deci la trecerea în substarea în execuţie. Acest moment nu poate
fi prevăzut cu exactitate de către programator, depinzând de complexitatea
aplicaţiei şi de modul în care se face planificarea taskurilor pentru intrarea în
execuţie. Există două tehnici de bază pentru planificarea spre execuţie a
taskurilor:
-procedeul “round-robin”, prin care taskurile aşezate într-o coadă de
aşteptare sunt executate succesiv fie până la terminarea normală, fie pentru un
interval de timp bine determinat; după ce a fost executat un task este trecut în
coadă şi este lansat în execuţie taskul următor;
-procedeul după priorităţi, prin intermediul căruia fiecărui task îi este
atribuit un număr, prioritatea, iar dintre taskurile gata de execuţie care
concurează pentru controlul procesorului, va fi adus în execuţie taskul cu
prioritatea cea mai mare.
Cel de al doilea procedeu presupune existenţa unui program care să
analizeze stările şi priorităţile taskurilor şi să aducă în execuţie taskul menţionat.
Acest program poartă denumirea de EXECUTIV de tip real, având pe lângă
funcţiile menţionate şi alte funcţii care vor fi arătate în continuare.
Trecerea dintr-o stare în alta a unui task se poate realiza de asemenea în
două moduri:
- prin intermediul întreruperilor soft sau hard, contextul comutării fiind
determinat de nivelul întreruperii şi de subrutina de tratare a acesteia;
- prin apeluri de servicii către EXECUTIV (din taskul aflat în execuţie),
apeluri lansate sub forma unor apeluri de subrutine neîntreruptibile (numite
primitive sau directive) contextul comutării fiind determinat de numele
directivei şi de parametrii acesteia.

16
În urma lansării unei directive dintr-un task, controlul procesorului este
transferat de la task către EXECUTIV, pentru ca acesta să satisfacă imediat
cererea de servicii conţinută în directivă. Din punctul de vedere ale aplicaţiei
distingem două categorii de directive:
-directive pe care EXECUTIVUL le satisface returnând apoi controlul
taskului care a dat directiva (se spune în acest caz că directiva nu declară
“eveniment semnificativ”);
-directive care cer o serie de servicii EXECUTIVULUI, după satisfacerea
cărora, acesta nu mai returnează controlului taskului apelant, ci determină o
nouă replanificare spre execuţie a taskurilor, în sensul că EXECUTIVUL este
determinat să aducă în execuţie nu taskul apelant, ci taskul gata de execuţie cu
prioritatea cea mai mare (se spune în acest caz că directiva a declarat un
“eveniment semnificativ”). Structura generală a unui task executat sub controlul
unui EXECUTIV de timp real este dată în figura 12.

Fig. 12

Evident, un task poate conţine mai multe directive în cadrul secţiunii sale
executate periodic.
Un task aflat în execuţie poate elibera procesorul în una din următoarele
trei situaţii:
-în mod logic sau normal la terminarea secvenţei sale de instrucţiuni
trecând în starea inactiv;
-în mod voluntar trecând în starea gata de execuţie;
-în mod condiţionat de îndeplinirea unui eveniment exterior (care încă nu
a avut loc) sau de trecerea unui anumit interval de timp, cazuri în care va trece în
substarea blocat.
Un task blocat poate fi scos din această stare şi trecut în substarea gata de
execuţie, fie la expirarea intervalului de timp de aşteptare, fie odată cu
îndeplinirea evenimentului specificat.

17
Un task aflat în execuţie poate de asemenea trece în substarea blocat alte
taskuri aflate în substarea de execuţie, după cum poate termina forţat şi trece în
starea inactiv atât taskuri blocate, cât şi pe cele gata de execuţie. Dacă un task
pierde controlul procesului rămânând în starea activ, reluarea execuţiei lui se va
face din punctul în care s-a întrerupt. Dacă el este trecut în starea inactiv,
execuţia lui va fi reluată de la început, indiferent de locul în care a fost
reîntrerupt.
Realizarea eficientă ţi corectă a tranziţiei taskurilor între stări este strâns
corelată de problematica interacţiunii taskurilor care poate fi redusă la trei tipuri
de operaţii: comunicarea, sincronizarea, excluderea mutuală.

1.3.2 Organizarea unui algoritm de reglare numerică în jurul


unui EXECUTIV de timp real
Aşa cum se ştie, un regulator numeric reprezintă unitatea dintre structura
sa hardware (configuraţia) şi software-ul implementat (programele de aplicaţie).
La o aceeaşi configuraţie, maniera de implementare a software-ului de
conducere poate fi abordată din două puncte de vedere:
-realizarea unui regulator numeric “universal” posedând o clasă mare de
algoritmi de conducere, considerată acoperitoare pentru o categorie mare de
procese, aceşti algoritmi formând o bibliotecă de programe rezidentă în memoria
regulatorului; utilizarea pe proces a unui anumit set de algoritmi este rezultatul
unei operaţii destul de laborioase de configurare a echipamentului;
-realizarea unui regulator numeric cu setul de programe de conducere
strict necesar procesului căruia îi este destinat.
Este evident avantajul celui de al doilea mod de abordare, mai ales din
punctul de vedere al eficienţei gestionării resurselor dar reprezintă dezavantajul
necesităţii din partea beneficiarului a unui efort mai mare de proiectare.
Având însă la dispoziţie un EXECUTIV de timp real, efortul de
programare se reduce considerabil. Pentru a ilustra cele menţionate, în cele ce
urmează va fi prezentat modul de organizare a unui algoritm de reglare de tip
PID ()analog discret al legii ( ) având funcţia de transfer:
T i s1T d s1
H R s  K R T i sT x s1
Algoritmul va constitui un task (PID) parte componentă a unui program
de reglare organizat pe taskuri ca în figura 13.

18
Fig. 13

19
Fig. 14

Algoritmul va fi organizat conform schemei bloc din figura 14, care


asigură necesarul de variante şi de regimuri de lucru.
În spatele “comutatoarelor” care apar în schemă, sunt variabile de tip
eveniment, pe care le vom numi flaguri, prin intermediul cărora se poate
modifica foarte uşor atât structura algoritmului, cât şi regimul de lucru.
Modificarea lor se face din taskul COP (Task Consolă Operator de Proces).
Variabila V1 (flagul FLPD) determină dacă referinţa se derivează sau nu;
algoritmul utilizat va fi astfel de tip PID normal sau PID modificat;
-V1 = 0 (FLPD = 1): referinţa r nu intră în blocul PD cu filtrare, astfel că
derivata se aplică numai mărimii măsurate y (componenta PD se află pe calea de
reacţie a buclei, ceea ce conduce la algoritmul PID modificat).
-V1 = 1 (FLPD = 0): blocul PD acţionează asupra erorii  r  y (blocul
PD cu filtrare se află pe calea directă a buclei de reglare).
Variabila V2 (flagul FLACT) determină sensul de variaţie al mărimii de
comandă în funcţie de poziţia normală a elementului de execuţie.
-V2 = 1 (FLACT = 0): comanda creşte o dată cu creşterea erorii;
-V2 = 0 (FLACT = 1): comanda scade la creşterea erorii.
Variabila V4 (flagul FLI) permite alegerea variantei de algoritm de
reglare (cu sau fără componentă integrală, deci algoritm tip PID respectiv tip
PD).
-V4 = 1 (FLI = 0): algoritmul conţine componenta integrală (deci este de
tip PID);

20
-V4 = 0 (FLI = 1): componenta integrală a algoritmului este anulată din
calculul comenzii (algoritmul este de tip PD), dar ea trebuie memorată pentru a
se putea trece fără şocuri de la structura PD la structura PID, în cazul unei
reconfigurări a algoritmului.
Se observă din figura 15 că rezultă relaţia:
U In  U n  U Dn
şi deci la reintroducerea componentei integrale vom avea la ieşirea algoritmului
aceeaşi comandă U n .
U n  U In  U Dn  U n  U Dn  U Dn  U n

În felul acesta, în primul moment de la reconfigurare valoarea comenzii


Un rămâne neschimbată, urmând ca apoi să se manifeste efectul componentei
integrale.
Variabila V5 (flagul FLREG) determină comutarea regimului de lucru de
pe comandă automată (elaborată de algoritm) pe comandă manuală (elaborată
de operator) şi invers.
-V5 = 1 (FLREG = 0): regulatorul numeric este pe regimul “automat”,
mărimea de comandă fiind furnizată de algoritm (comanda manuală este
ignorată);
-V5 = 0 (FLREG = 1): regulatorul numeric se află pe regimul “manual” şi
comanda către elementul de execuţie se transmite de operator de la tastatura
consolei, incrementând sau decrementând cu o valoare fixă, prestabilită mărimea
de comandă; în felul acesta se realizează trecerea fără şocuri de pe regim
automat pe regim manual.
La pornirea sistemului algoritmul trebuie iniţializat pe regimul manual (V5
= 0), operatorul furnizând comanda pentru aducerea procesului în punctul de
funcţionare dorit.
După reglarea mărimii reglate în jurul acestui punct, se trece din taskul
COP pe regimul automat (V5 = 1). Pentru ca trecerea să se facă fără şocuri şi în
acest caz este necesar ca în regim manual să se calculeze valoarea componentei
integrale cu relaţia:
U In  U MAN  U Dn
În felul acesta la trecerea pe automat avem:
în primul moment
U n  U In  U Dn  U MAN  U Dn  U In  U MAN
şi trecerea se face fără şocuri.
Variabila V6 asigură trecerea algoritmului de reglare din regimul cu
referinţă internă (furnizată de operator de la tastatură prin intermediul taskului
COP) la regimul cu referinţă externă (furnizată de un alt algoritm de reglare în
cazul reglării în cascadă). În exemplul dat nu avem prevăzută această
alternativă, fiind vorba de o buclă de reglare simplă şi ca atare ea nu este dublată
de un flag.
Algoritmul foloseşte o tehnică de limitare a componentei integrale
realizată în schemă bloc cu ajutorul variabilei aparente V3, care nu este

21
configurabilă de către operator, ci este “poziţionată” automat, conform schemei,
în funcţie de valoarea mărimii de comandă (deci nici ea nu are un flag asociat).
-V3 = 1 în caz că mărimea de comandă nu este saturată:
U min  U n  U max
-V3 = 0 în cazul saturării superioare sau inferioare a comenzii, situaţie în
care componenta integrală trebuie limitată pentru a nu căpăta valori necontrolate
şi pentru a obţine o desaturare rapidă în cazul schimbării polarităţii erorii.
Componenta integrală este limitată la valoarea:
U In  U max  U Dn sau U In  U min  U Dn
după cum mărimea de comandă este limitată superior sau inferior.
Astfel, mărimea de comandă va fi menţinută la valoarea U min sau U max
până la schimbarea polarităţii erorii:
U n  U Dn  U In  U Dn  U max  U Dn  U max
Configurarea algoritmului în figura 14 este următoarea:
V1 = 1 componenta PD se află pe calea directă;
V2 = 1 mărimea de comandă creşte odată cu creşterea erorii;
V3 = 1 mărimea de comandă nu este saturată;
V4 = 1 componenta integrală este prezentă;
V5 = 1 algoritmul este în regim automat;
V6 = 1 algoritmul lucrează cu referinţă internă.
Organigrama asociată acestui task de reglare este prezentată în figura 15
(a şi b).
Relaţiile de calcul, precum şi coeficienţii algoritmilor numerici, sunt
obţinute prin discretizarea cu ajutorul metodei trapezelor cu pasul T, a legilor de
reglare reprezentate prin funcţii de transfer în schema bloc din figura 14:
2T T
A 1  K R 2T DX T
T2T
A 2  K R 2T X TD
Tx   * T   0,1

2T X T
A3  2T X T

T
B 2T 
Aceşti coeficienţi se calculează în taskul COP în urma introducerii de
către operator a valorilor corespunzătoare pentru KR,TD,TI,T,α şi sunt transferaţi
taskului PID prin intermediul unei zone de date comune utilizând principiul
excluderii mutuale cu ajutorul flagului SEMCOM.
Mărimea T prezintă valoarea intervalului de discretizare a legii continue şi
trebuie să fie egală cu valoarea intervalului de reprogramare în execuţie a
taskului. Acest interval de reprogramare este fixat cu ajutorul unei directive

22
(către EXECUTIV) fie din acest task fie din alt task (în exemplul nostru
programarea este făcută din alt task).
În cadrul organigramei se observă utilizarea şi a altor directive care cer
EXECUTIVULUI executarea unor servicii pentru realizarea corectă a
interacţiunii acestui task cu celelalte taskuri ale buclei de reglare, în vederea
evoluţiei corecte a acestui program.
Astfel întâlnim directivele:
WAIT FLAG, care cere taskului să se blocheze dacă FLAG = 1 şi dacă
FLAG = 0 lasă taskul să se execute în continuare făcând FLAG = 1;
CLEF FLAG - face FLAG = 0;
GETF FLAG - citeşte valoarea flagului FLAG şi întoarce valoarea lui în
bitul de carry CARRY = 1 dacă FLAG = 1
CARRY = 0 dacă FLAG = 0;
EXIT - directivă de terminare a taskului oferind posibilitatea de reluare a
execuţiei acestuia de la început.
Pe lîngă aceste directive mai există şi altele, care pot fi folosite dar care
nu apar în acest program (directive de instalare, activare, terminare forţată,
etc.).
În cazul în care s-ar dori scrierea aceluiaşi program fără să avem la
dispoziţie facilităţile acestui EXECUTIV de timp real, funcţiile acestuia ar trebui
incluse în program, ceea ce ar conduce la mărirea efortului de programare şi la
complicarea substanţială a programului.

23
Fig. 15 a

24
Fig. 15 b

Identificarea on line a sistemelor

25
Fundamente teoretice
Modelul procesului
Modelul matematic estimat al procesului fizic are forma generala:

unde d este intarzierea pura iar A(q-1) si B(q-1) sunt polinoame prime in q-1 de
forma:

Algoritmul de identificare
Principiul de functionare al procedurii de adaptare parametrica in procesul de
identificare este prezentat in figura urmatoare:

Metoda de identificare utilizata in cadrul sistemului este metoda celor mai


mici patrate recursiva (MCMMPR). Ideea acestei metode consta in a minimiza
un criteriu patratic (de eroare):

unde

reprezinta vectorul parametrilor estimati, respectiv vectorul masurarilor.


Dupa o prelucrare corespunzatoare algoritmul este adus intr-o forma
recursiva foarte usor de implementat si realizat:

26
in care semnificatia marimilor care apar in relatiile de mai sus este cunoscuta.
Initializarea algoritmului de identificare
Initializarea algoritmului de identificare presupune atat initializarea vectorilor parametrilor
estimati si masuratorilor cat si a matricii de adaptare a algoritmului. In faza initiala cei doi
vectori au elementele nule iar matricea de adaptare F are urmatoarea forma de matrice
diagonala:

unde GI are valoarea impusa (10, 1000).


In cazul "finisarii" unui model pentru un anumit punct de functionare (intermediar)
initializarea se face in modul urmator: vectorul parametrilor ia valoarea corespunzatoarea
modelului de la care se pleaca, vectorul valorilor masurate ia valori ce ar caracteriza o situatie
de regim stationar a modelului in punctul respectiv de functionare, iar matricea F cu valori
mai mici decat cele initiale pentru GI deoarece nu este facuta o identificare "pornind de la
zero" ci o usoara adaptare a modelului.
Algoritm de Reglare
Algoritmul de reglare este proiectat in forma canonica R-S-T recunoscuta prin flexibilitatea
de implementare numerica a unor algoritmi de reglare clasici si moderni.
Structura algoritmului de comanda R-S-T este:

in care:
u(t) - comanda la momentul t
y(t) - marimea reglata la momentul t
r(t) - referinta la momentul t
e(t) - eroarea de reglare la momentul t
v(t) - marimea perturbatoare la momentul t
Algoritmul de comanda intr-o reprezentare temporala, este de forma:

27
sau echivalent in domeniu discret:

in relatia anterioara R, S, T sunt polinoame in q-1 :

Memoria algoritmului de reglare (numarul termenilor din sumele ce dau


polinoamele R,S,T) dicteaza gradul de complexitate a comenzii iar proiectarea
efectiva a lui u(k) presupune evaluarea polinoamelor R, S, T (gradul si
coeficientii) in functie de modelul procesului reglat si de performantele impuse.
Legea de comanda din relatia de mai sus se calculeaza din performantele impuse sistemului
de reglare, fixate prin polinomul caracteristic P(q-1) asociat sistemului in circuit inchis si
modelul procesului discretizat. Expresia lui P(q-1) este usor de exprimat:
P(q-1)=A(q-1)S(q-1)+B(q-1)R(q-1)
Pentru evaluarea comenzii u(k) exista metode numerice de proiectare in care se specifica
polinomul caracteristic P(q-1) (polii functiei de transfer pentru sistemul in circuit inchis si
modelul procesului). Polinoamele R(q-1) si S(q-1) se calculeaza din ecuatia polinomiala
diofantica mai sus prezentata.
Polinomul T(q-1) se calculeaza din performantele impuse la urmarire.
Alegerea lui T(q-1) se face astfel:

Tipul de comanda ce se poate construi pe baza unei astfel de structuri este


urmatoarea:
 PID numeric
 alocare de poli
 urmarire si reglare cu obiective independente
 urmarire si reglare cu ponderarea intrarii (comenzii)
 comanda adaptiva
 comanda robusta
Sistemul nostru implementeaza metoda alocarii polilor. Vom prezenta pe scurt cateva din
caracteristicile acestui tip de comanda. Aceasta strategie permite calculul unui regulator
numeric R-S-T pentru modele ale procesului stabile si instabile:
- fara restrictie asupra gradelor polinoamelor A si B ale functiei de transfer a procesului.
- fara restrictii asupra intarzierii procesului.
- fara restrictii asupra zerourilor procesului (stabile sau instabile).
Este o metoda care nu simplifica zerourile procesului (acesta este motivul pentru care acestea
pot fi instabile).
Singura restrictie priveste factorii comuni ai polinoamelor A si B care trebuiesc simplificati
inainte de efectuarea calculelor.
Supervizarea sau alegerea algoritmului de reglare cel mai bun
Operatia de supervizare a functionarii unei structuri adaptive multimodel presupune alegerea
algoritmului de reglare cel mai adecvat pentru punctul de functionare in care se gaseste
procesul. Pentru aceasta, este definita o marime intitulata eroare de model, care se calculeaza

28
la fiecare pas de esantionare si care reprezinta diferenta dintre iesirea yi corespunzatoare
modelului Mi si iesirea y a procesului pentru aceeasi valoare u a comenzii aplicate.

Pentru fiecare model Mi s-a calculat cate un regulator sau controller Ci care satisface
obiectivele si performantele impuse.
Criteriul de performanta care este utilizat la selectia modelului care are eroarea
cea mai mica in punctul de functionare curent si implicit prin acesta a
regulatorului cel mai adecvat, este urmatorul:

unde a >0 si b >0 sunt factorii de acordare a criteriului, iar l >0 este factorul de uitare care
asigura limitarea ferestrei de actiune a acestuia asupra eroriide model e i(k).
Alegerea parametrilor a , b and l depinde de caracteristicile sistemului:
 a = 1 si b =0 à pentru sisteme rapide:
 performante bune in detectarea modificarii parametrilor procesului,
 sensibilitate la perturbatii.

 a = 0 si l =0 à pentru sisteme lente


 performante slabe in detectarea modificarii parametrilor procesului,
 performante bune la perturbatiile procesului.
Sistemul este configurat pentru varianta corespunzatoare sistemelor rapide insa exista si
posibilitatea configurarii pentru sisteme lente.
Schimbarea regimului de lucru
Schimbarea regimului de lucru inseamna trecerea dintr-un regim de functionare automat la un
regim manual (de generare a comenzii catre proces) si invers, de la un regim de manual la
unul automat. Trecerea de la regimul automat la cel manual nu pune nici o problema in
conditiile unui proces stabil, ceea ce nu se intampla insa, si in celalalt caz, comutarea manual
automat presupunand unele precautii luate pentru a nu genera socuri ale comenzii. Exista mai
multe modalitati de a face acest transfer fara socuri. Pentru sistemul de fata a fost aleasa
urmatoarea strategie: valorile comanzii manuale sunt transmise prin intermediul variabilei uk
si memoriei algoritmului de reglare, astfel incat daca inaintea comutarii manual/automat se
lasa comanda manuala pe aceeasi valoarea un numar de cuante (perioade de esantionare) mai
mare sau egal cu dimensiunea algoritmului de reglare santem intr-o situatie similara cu cea a
unui regim automat stationar. Aceasta conditie este indeplinita pentru un regulator care
stabilizeaza procesul. Valoarea referintei trebuie fixata foarte aproape ce valorea masurii din
proces u. In caz ca referinta nu se suprapune cu masura situatia este similara cu cea a unui salt
de referinta in regim automat de functionare.
Performantele sistemului in urmarirea referintei si rejectia perturbatiilor
Performantele unui sistem de reglare in urmarirea referintei si rejectia perturbatiilor se refera
in special, la valorea suprareglajului, timpul de stabilizare a raspunsului sistemului precum si
la alti factori ce decurg din acestia (de ex. nervozitatea comenzii regulatorului ce afecteaza
direct timpul de viata al elementului de executie). Structura de reglare adoptata in acest sistem
(R-S-T) ofera avantajul impunerii unor performante diferite in urmarirea referintei si rejectia
perturbatiilor.
Impunerea efectiva a acestora se face in modul urmator: pentru rejectia perturbatiilor se
construieste regulatorul astfel incat polinomul caracteristic al sistemului in bucla inchisa, sa
fie identic cu numitorul unui sistem de ordinul doi discretizat. Acest sistem discret de ordinul
doi se obtine prin evident, discretizarea unui sistem continuu de ordinul doi:

29
a carui proiectare nu pune nici o problema prin impunerea valorilor pentru K, si . Relatiile
dintre valorile suprareglajului s , timpului de stabilizare ts si cele ale lui pentru K,  si  0
sunt urmatoarele:

si
Ecuatia polinomului caracteristic discret rezultata din ecuatia continuua de mai sus, este:

Performantele in urmarirea referintei se pot impune tot printr-o procedura


asemanatoare, plecand de la un sistem de ordinul doi continuu, filtru numeric
rezultat dupa operatia de discretizare avand urmatoarea forma:

Acesta este aplicat referintei sistemului, adevarata referinta a regulatorului fiind


acum referinta filtrata.
Impunerea unor performante diferite in urmarirea referintei si rejectia perturbatiilor este
permisa de aceasta structura de reglare (R-S-T) datorita faptului ca este asigurat un transfer
unitar referita – iesire cel putin in timpul unui regim stationar. Uzual, timpul de stabilizare in
reglare este mai scurt decat cel in urmarire, urmarind astfel un regim stationar cat mai lung.
Referinta filtrata
Asa cun reiese si din partea de prezentare a performantelor in reglare si urmarire, datorita
proprietatii structurii de reglare de a asigura un transfer unitar referinta – iesire (cel putin pe
durata unui regin stationar) regulatorul poate asigura performante diferite de cele de reglare
pentru urmarirea referinte. Acest lucru se realizeaza prin filtrarea numerica a referintei functia
de transfer discreta a acestuia fiind:

unde r(k) reprezinta referinta sistemului iar r*(k) referinta dorita. Filtrarea
referintei este foarte utila, deoarece protejeaza sistemul de socurile provocate de
treptele acesteia si indirect de cele "incasate" de elementele de executie in urma
comenzilor brusce ce rezulta din astfel de trepte de referinta.

Termeni si notiuni folosite


Prelucrare primara a datelor
Prelucrarea primara a datelor presupune o serie de operatii la care sunt supuse datele
achizitionate dintr-un proces in vederea utilizarii in cadrul unui sistem de conducere,
monitorizare etc. Dintre aceste operatii amintim: filtrarea, normarea, liniarizarea, limitarea,
denormarea. Cateva dintre acestea sunt descrise in continuare.
Normarea
Reprezinta operatia de trecere a datelor dintr-un domeniu de lucru in alt domeniu. Termenul
este folosit in aceasta "zona" in special pentru trecerea din domeniul de lucru al placii ce
achizitie (sau al convertorului placii) in domeniul de lucru al utilizatorului.

30
Ex.: Placa de achizitie dispune de un convertor pe 12 biti, drept urmare domeniul de lucru al
placii este [0 – ]=[0 – 4095]. Domeniul de lucru ,in cadrul sistemului soft, este [Linf - Lsup].
Formula de normare a datelor este:

in care yNORM reprezinta valoarea normata a datei iar yCAN este valoarea
citita de la convertorul analog numeric (CAN) al placii sau sistemului de
achizitie.
Denormarea
Reprezinta operatia inversa operatiei de normare. Termenul este folosit in aceasta "zona" in
special pentru trecerea din domeniul de lucru al utilizatorului in domeniul de lucru al placii ce
achizitie (sau al convertorului placii) in.
Ex.: Placa de achizitie dispune de un convertor pe 12 biti, drept urmare domeniul de lucru al
placii este [0 – ]=[0 – 4095]. Domeniul de lucru ,in cadrul sistemului soft, este [Linf - Lsup].
Formula de denormare a datelor este:

in care yNORM reprezinta valoarea normata a datei iar yCNA este valoarea scrisa In registrul
convertorul numeric analog (CNA) al placii sau sistemului de achizitie.
Filtrare numerica
Filtrarea este operatia de eliminare a zgomotelor care insotesc orice proces de masura. Aceste
zgomote se manifesta prin oscilatii mai mult sau mai putin aleatoare a valorilor masuratein
jurul valorii exacte si pot avea cauze diferite de la instabilitatea parametrului masurat (de
exemplu debitul unui fluid este afestat de turbulente) pina la perturbatii electrice induse in
cablurile prin care se realizeaza conectarea traductoarelor la sistemul de achizitie.
Datorita faptului ca aceste zgomote au un spectru de frecventa situat deasupra spectrului de
frecventa al parametrului masurat calea cea mai eficienta de eliminare a zgomotelor este
filtrarea prin filtre de tip trece-jos. Acest proces de filtrare este exemplificat in figura
urmatoare:

Aceasta operatie de filtrare se poate realiza prin filtre electronice care insa sint
destul de costisitoare, cu caracteristici destul de diferite de cele ideale si foarte
putin flexibile (greu de adaptat caracteristicilor particulare ale fiecarui semnal) si
de aceea este foarte indicata realizarea acestora prin module software (filtre
numerice). Aceste filtre prelucreaza informatia in forma esantionata cu o

31
frecventa corespunzatoare (mai mare decit dublul limitei maxime a spectrului
zgomotului). Relatia de calcul a valorii filtrate a unui semnal este:

unde,
K - indicele esantionului curent;
N - ordinul filtrului;
YFK-I - valoarea filtrata la esantionul K-I;
YK-I - valoarea nefiltrata (de intrare) la esantionul K-I
AI , BI - coeficientii filtrului obtinuti prin discretizarea unui filtru continuu cu functia de
transfer ;

Operatia de filtrare numerica consta in trecerea datelor achizitionate prin functia de transfer
(discreta) a unui filtru si eliminarea perturbatiilor sau a unor componente ale acestora. Exista
in practica un numar foarte mare de tipuri de astfel de filtre numerice.
Ex.: filtru numeric de ordinul I are functia de transfer

sau
In alegerea coeficientilor trebuie avuta in vederea amplificarea statica a filtrului care poate
afecta semnalul filtrat.
SPAB – Semnal Pseudo Aleator Binar
Din considerente teoretice, semnalul de proba cu care este excitat procesul trebuie sa fie un
semnal caracterizat de un spectru de frecventa larg si a carui valoare medie si variatie
corespunde unei comenzi care mentine procesul in jurul unui punct de functionare nominal.
Pentru simplitate in practica identificarii, se utilizeaza un semnal pseudo-aleator binar
(SPAB).
Mecanismul de generare a unui astfel se semnal este prezentat in figura de mai jos si are la
baza un registru de deplasare binar care este incarcat serie de o valoare obtinuta printr-o
reactie de tip suma modulo 2 a valorilor continute intr-un set de celule ale registrului. La
fiecare tact informatia continuta in registru se deplaseaza cu o celula, prima celula primind
valoarea pe care o avea reactia inainte de efectuarea deplasarii.

Mecanismul de generare SPAB


Initializand registrul cu valoarea logica ‘1’ in toate celulele, in timpul functionarii (deplasarii
datelor in registru) se obtine pentru oricare dintre celule o evolutie a valorii continute cu
urmatoarele caracteristici:
- este un semnal periodic cu perioada de 2N-1 tacti, unde N este lungimea registrului de
deplasare (in numar de celule);
- frecventele de aparitie ale valorilor logice ‘0’ si ‘1’ sunt aproximativ egale (valoarea ‘0’
apare de 2N-1-1 ori iar valoarea ‘1’ de 2N-1 ori);

32
- spectrul semnalului este uniform in domeniul de frecvente de la 0 la jumatate din frecventa
tactului.
Daca valorilor ‘0’ si ‘1’ dintr-o celula oarecare se asociaza doua valori pentru comanda
procesului astfel incit media si ecartul dintre ele sa corespunda punctului de functionare dorit
se obtine un semnal de proba care intruneste toate caracteristicile necesare.
Pentru efectuarea unui experiment de identificare utilizand un semnal de proba de tip pseudo-
aleator binar este necesara precizarea parametrilor care caracterizeaza acest tip de semnal. Pe
linga valorile comenzilor care se aleg dupa punctul de functionare dorit, trebuiesc indicati doi
parametrii esentiali si anume lungimea registrului si perioada tactului de deplasare.
Prin legatura dintre lungimea registrului si perioada de repetitie a semnalului generat, si
anume PR = 2N se poate deduce ca timpul dupa care comanda generata de un astfel de
mecanism incepe sa se repete este TR = T 2N, unde T este perioada tactului de deplasare.
Pentru ca datele obtinute in urma experimentului sa fie relevante asupra dinamicii procesului,
perioada T se alege astfel incat sa corespunda constantelor de timp existente in proces si
anume sa fie in jurul valorii constantei celei mai mici. Aceasta alegere se face experimental
deoarece nu exista informatie initiala referitoare la constantele de timp (acesta fiind de fapt
scopul identificarii). Valoarea lungimii registrului N se alege de asa natura incat sa asigure o
durata a experimentului suficienta fara a apare fenomenul repetitiei comenzilor. Durata
experimentului se determina tot experimental pentru a asigura un compromis intre cantitatea
de informatie obtinuta care trebuie sa fie suficient de mare si durata efectiva a experimentului
care nu poate fi oricat de mare.
Timp real
Notiunea de timp real presupune desfasurarea operatiilor ce tin de conducerea numerica
respectiv, identificare, calcul comanda, afisare etc. cu respectarea stricta a perioadei de
esantionare, in intervalul unei cuante de timp.
Perioada de esantionare
Reprezinta intervalul intre doua esantionari ale valorilor citite din proces.
Alegerea peroiadei de esantionare se face in functie de tipul procesului si de
constantele de timp ale acestuia. In tabelul urmator sunt date valorile orientative
ale acesteia in secunde, in finctie de tipul procesului:

Performantele (unei) placi de achizitie


Performantele unei placi de achizitie constau in urmatoarele: numarul de AI, AO, DI, DO;
vitezele de achizitie a unui AI si viteza de generare a unei AO; varietatea tipurilor de semnale
ce pot fi cupla direct fara alte adaptari; numarul de biti al convertoarelor analog/numerice si
numeric/analogic; ,gamele de lucru ale semnalelor de intrare/iesire; modurile de accesare a
placii – DMA, intreruperi, interogare;
Caracteristica statica (a unui sistem)

33
Caracteristica statica a unui sistem reprezinta modul de variartie a amplificarii sistemului in
functie de punctele de functionare, sistemul aflandu-se in fiecare din acestea intr-un regim
stationar.
Amplificarea statica
Este definita in general in jurul unui punct de functionare, sistemul aflandu-se in regim
stationar. Numeric, aceasta se poate calcula precand de la modelul matematic al procesului:

calculand apoi, suma coeficientilor de la numarator raportata la suma coeficientilor de la


numitor:

Regim tranzitoriu
Reprezinta starea unui sistem care se "indreapta" de la o stare initiala stabila catre o alta stare
finala stabila. Regimirile tranzitorii sunt generate de schimbarea valorii pentru referinta
sistemului sau la aparitia unei perturbatii persistente sau nepersistemte asupra sistemului.
Regim stationar
Caracterizeaza un sistem ce "sta linistit" pe un palier al referintei un anumit interval de timp
fara modificarea masurii acestuia.
Metoda interpolarii
Interpolarea sau desenarea prin interpolare are ca efect gasirea unor puncte intermediare (ale
graficului) in afara celor date initial astfel incat sa poata fi vizualizata o curba (sau o functie
care descrie o curba) ce trece prin sau printre aceste puncte.
Metoda dreptunghiului
Reprezinta in contextul informatiilor legate de acest sistem, o metoda de aproximare a
procesului de discretizare a unui sistem continuu in scopul obtinerii echivalentului discret.
Formula de aproximarea este data de relatia urmatoare:

Metoda tangentei
Reprezinta in contextul informatiilor legate de acest sistem, o metoda de aproximare a
procesului de discretizare a unui sistem continuu in scopul obtinerii echivalentului continuu.
Formula de aproximarea este data de relatia urmatoare:

Masura
Reprezinta valoarea achizitionata a parametrului din proces in vederea monitorizarii sau
reglarii de catre un sistem de conducere.
Comanda
Reprezinta marimea trimisa in proces, catre un element de executie eventual, in vederea
conducerii acestuia.
Eroare de reglare
Reprezinta diferenta dintre referinta sistemului de reglare si marimea controlata (masura).
Aceasta marime este necesara in calculul comenzii regulatorului si este o caracteristica a
performantei sistemului de reglare.
Eroare integrata
Reprezinta integrala pe un interval de timp infinit sau limitat a variatiei erorii de reglare a
unui sistem. Aceasta marime este folosita in cadrul componentei de supervizare a sistemului.

34
Polii unui sistem
Reprezinta radacinile polinomului caracteristic sau ale polinomului ce descrie numitorul
sistemului. Aceste radacini determina principalele performante in cazul unui sistem ce reglare
conectat in bucla inchisa.
Zerourile unui sistem
Reprezinta radacinile polinomului ce descrie numaratorul functiei de transfer a unui sistem.
Functia de sensibilitate
Functia de sensibilitate (perturbatie - iesire) a unui sistem in bucla inchisa caracterizeaza
modul in care se "vad" in iesirea y perturbatiile p ce actioneaza asupra sistemului. Pentru
structura de reglare R-S-T prezentata in figura de mai jos functia de sensibilitate perturbatie
iesire estede urmatoarea forma:

Aceasta functie reprezinta un indicator foarte important al performantelor unui sistem de


reglare.
Hodograf (loc Nyquist)
Functia de transfer a unui sistem (regulator + proces sau model al procesului) in bucla
deschisa H(s) poate fi reprezentata in planul complex cand w variaza de la 0 la infinit in
modul urmator:

Curba (hodograful) functiei de transfer in acest plan este gradata in frecvente si se numeste
loc de transfer Nyquist.
Margine de modul
Defineste valoarea maxima a modululuifunctiei de sensibilitate perturbatie-iesire deci, si
limitele inferioare pentru rejectia perturbatiilor. Valori tipice dM>0.5 (-6dB), [min:0.4 (-
8dB)].
Margine de amplificare
Masoara cresterea maxim admisa a amplificarii la frecventa la care defazajul este -180. Valori
tipice: dG>=2 (6dB), [min: 1.64dB)];
Margine de intarziere
Intarzierea suplimentara tolerata de sistem in bucla deschisa, ce nu conduce la instabilitatea
sistemului in bucla inchisa.
Margine de faza
Reprezinta faza suplimentara care adaugata la frecventa la care amplificarea sistemului in
bucla deschisa este unitara, pentru a obt. un defazaj de –180 grade. Valori tipice: 30<dF<60.

35

S-ar putea să vă placă și