Sunteți pe pagina 1din 156

1

INTRODUCERE

1-6

1.1 Definiţii şi clasificări

 

1-6

1.2 Elementele unui SCTR

1-7

1.3 Tipuri de SCTR

1-13

 

1.3.1 Sisteme bazate pe ceas

1-14

1.3.2 Sisteme bazate pe evenimente (senzori)

1-14

1.3.3 Sisteme

interactive

1-14

1.3.4 Definirea SCTR

1-14

1.4

Clasificarea programelor

1-15

1.4.1 Programele secvenţiale

1-15

1.4.2 Programe

multitasking

1-15

1.4.3 Programe

timp - real

1-16

1.5

Concluzii

1-16

2 SCTR PENTRU CONTROLUL PROCESELOR INDUSTRIALE

2-17

2.1 Tipuri de procese

 

2-17

2.2 Operaţii realizate de către sistemele pentru controlul proceselor

2-17

 

2.2.1 Controlul secvenţial al proceselor

2-17

2.2.2 Controlul în buclă (Direct Digital Control)

2-18

2.2.3 Supervizarea proceselor

2-20

2.2.4 Interfaţa om-maşină

2-22

2.2.5 Responsabilităţile inginerului de sistem

2-22

2.3

Structuri de sisteme pentru controlul proceselor industriale

2-23

2.3.1 Sisteme de control centralizate

2-23

2.3.2 Sisteme

ierarhizate

2-24

2.3.3 Sisteme

distribuite

2-26

2.3.4 Piramida automatizării

2-28

3 STRUCTURA ECHIPAMENTELOR UTILIZATE IN SCTR

3-29

3.1

Structura hardware generală a calculatorului de proces

3-29

3.1.1 Unitatea centrală

3-31

3.1.2 Dispozitive de comunicaţie

3-31

3.1.3 Dispozitive de proces

3-31

3.1.4 Dispozitivele

standard ale calculatorului

3-31

3.1.5 Dispozitivele operatorului de proces

3-32

3.1.6 Ceasul timp - real (Real Time Clock)

3-32

3.2 Semnale preluate/transmise de SCTR din/către lumea reală

3-32

3.3 Blocurile funcţionale ale unui SADC

3-33

1-2

3.3.1

Conectarea dispozitivelor de I/E la calculatorul gazdă

3-33

 

3.3.1.1 Dispozitive pe magistrala internă

3-34

3.3.1.2 Dispozitive pe magistrala externă

3-34

3.3.2

Semnale din proces, traductoare şi condiţionarea semnalelor

3-35

3.3.2.1 Tipuri

de semnale

 

3-36

3.3.2.2 Traductoare şi senzori

3-37

3.3.2.2.1

Exemple de traductoare

3-37

3.3.3

Condiţionarea semnalelor

3-41

3.3.3.1 Circuit tampon de intrare

3-41

3.3.3.2 Conversia curent – tensiune

3-42

3.3.3.3 Scalarea semnalelor analogice

3-43

3.3.3.4 Filtrarea

 

3-43

3.3.3.5 Izolare analogică

3-46

3.3.3.6 Protecţie la supratensiune

3-47

3.3.3.7 Scalarea intrărilor/ieşirilor numerice

3-47

3.3.3.8 Izolarea numerică

 

3-48

3.3.3.9 Detectarea contactelor

3-48

3.3.3.10 Comanda releelor

3-49

3.3.4

Subsistemele de intrare/ieşire ale SADC

3-49

3.3.4.1

Subsistemul de intrări analogice

3-49

3.3.4.1.1 Convertoare analog numerice (CAN)

3-50

3.3.4.1.2 Amplificarea

 

3-51

3.3.4.1.3 Multiplexarea analogică

3-51

3.3.4.1.4 Circuitele de eşantionare şi memorare (S/H)

3-52

3.3.4.1.5 Multiplexarea în timp

3-52

3.3.4.1.6 Timpul de conversie

3-52

3.3.4.1.7 Conectarea canalelor analogice la multiplexor

3-53

3.3.4.1.8 Scalarea intrărilor analogice

3-55

3.3.4.2 Subsistemul

de

ieşiri analogice

3-55

3.3.4.3 Subsistemul de intrări-ieşiri numerice

3-56

3.3.4.4 Subsistemul de intrări-ieşiri de numărare

3-56

4

PROGRAMAREA DISPOZITIVELOR I/E ÎN APLICAŢII TIMP - REAL

4-57

4.1

Tehnici de comunicare cu dispozitivele de intrare/ieşire

4-57

4.1.1 Polling

Metoda

 

4-57

4.1.2 întreruperilor externe

Metoda

4-58

4.1.3 Intrări/iEşiri buffer-ate

Metoda

4-58

4.1.4 Alegerea strategiei optime

4-58

1-3

4.2

Programarea utilizând întreruperile

4-60

 

4.2.1 Prezentarea sistemului de întreruperi la PC

4-60

4.2.2 Plasarea I8259 în spaţiul de I/E la PC

4-62

4.2.3 Detalii de programare utilizând întreruperile la PC cu SO DOS

4-63

4.2.4 Exemple de utilizare a întreruperilor

4-67

4.3

Dispozitive pentru generarea bazei de timp şi numărarea de evenimente

4-72

4.3.1 Dispozitivul mumărător/periodizator I8254

4-72

4.3.2 Utilizarea I8254 pentru numărarea de evenimente

4-75

4.3.3 Utilizarea lui I8254 pentru generarea de întreruperi

4-76

4.3.4 Exemplu de utilizare a dispozitivului I8254 pentru generarea bazei de timp

4-79

4.3.5 Reprogramarea ceasului sistem

4-82

4.4

Exemplu de sistem de achiziţie de date

4-84

4.4.1 ADA 2100 - date generale şi prezentarea resurselor

4-84

4.4.2 Generalităţi

 

4-86

4.4.3 Setarea adresei de bază

4-86

4.4.4 Harta I/E pentru ADA 2100

4-86

4.4.5 Modul de configurare al modulului

4-88

4.4.6 Descriere la nivel de schemă bloc

4-88

 

4.4.6.1 Lanţul de conversie analog-numerică

4-88

4.4.6.2 Realizarea unei citiri A/N

 

4-89

4.4.6.3 Circuitele de conversie numeric-analogică

4-89

4.4.6.4 Interfaţa paralelă programabilă (PPI - I8255)

4-90

4.4.6.5 PIT numărător/periodizator

programabil (I8254)

4-90

 

4.4.7 Prezentarea comutatoarelor şi a programatoarelor hardware

4-90

4.4.8 Proceduri de calibrare

 

4-93

4.4.9 Conectarea modulului la proces

4-95

4.4.10 Programe de test

 

4-95

4.4.11 Programarea modulului ADA 2100

4-95

5

SISTEME DE OPERARE TIMP - REAL MULTITASKING

5-101

5.1 Introducere

 

5-101

5.2 Gestiunea task-urilor în aplicaţii timp - real

5-103

5.2.1 Tranziţia stărilor şi descriptori de task

5-104

5.2.2 Descriptori de task

 

5-105

5.2.3 Dispecerizarea şi planificarea task-urilor

5-106

5.2.4 Niveluri de prioritate

 

5-106

 

5.2.4.1 Nivelul

întreruperilor

5-108

5.2.4.2 Nivelul

de ceas

5-108

1-4

5.2.4.2.1 Task-uri

periodice

5-109

5.2.4.2.2 Task-uri

întârziate

5-113

5.2.4.3

Nivelul de bază

5-113

5.2.5 Apelul la

dispecer

5-114

5.2.6 Exemplu de gestiune a task-urilor: SOTRM REX

5-116

5.2.6.1 Stările

task-urilor

5-116

5.2.6.2 Directivele implicate în tranziţia stărilor

5-117

5.2.6.3 Descriptori de task

5-118

5.2.6.4 Dispecerul

5-119

5.2.6.5 Planificatorul

5-121

6 ALGORITMI DE PLANIFICARE A TASK-URILOR ÎN SCTR CU CONSTRÂNGERI DE TIMP

RIGIDE

6-125

6.1 Noţiuni introductive

6-125

6.2 Algoritmul de planificare RM

6-128

6.2.1 Prezentarea algoritmului

6-128

6.2.2 Extinderea algoritmului de planificare RM pentru includerea task-urilor sporadice

6-134

6.2.3 Algoritmul de planificare RM în prezenţa supraîncărcării ocazionale

6-135

6.2.4 Generalizarea algoritmului de planificare RM

6-137

6.2.5 întreruperilor

Considerarea

6-139

6.2.6 sincronizării task-urilor

Considerarea

6-141

6.3 Algoritmul de planificare EDF

6-144

6.4 Analiza comparativă a algoritmilor RM şi EDF

6-146

6.4.1 Supraîncărcarea

execuţiei

6-146

6.4.2 Supraîncărcarea de planificare

6-147

6.5

Studiu de caz: algoritm mixt de planificare RM-EDF

6-148

6.5.1 Analiza performanţelor

algoritmului

6-148

6.5.2 Testul de planificabilitate

6-149

6.5.3 Localizarea Tx

6-150

7 COMUNICAŢIA TIMP - REAL

7-151

7.1 Introducere

7-151

7.2 Protocoale de comunicaţie timp - real

7-152

7.3 Protocoale bazate pe timpul limită

7-152

7.3.1 Constrângeri

aferente nodurilor

7-153

7.3.2 Instabilitatea

întârzierii

7-156

8 BIBLIOGRAFIE

8-157

1-5

1

INTRODUCERE

1.1 Definiţii şi clasificări

Aplicaţii ale sistemelor de calcul timp - real (SCTR) sunt întâlnite în toate domeniile de activitate. Cea mai mare parte dintre aceste aplicaţii se referă la sisteme informatice de supraveghere şi control în industrie (la nivel de utilaje, instalaţii, linii tehnologice, secţii, întreprinderi şi platforme industriale), în transport şi telecomunicaţii, în distribuţia energiei electrice, în automatizarea experimentărilor ştiinţifice, în activităţi de management, servicii etc.

În prezent, pot fi întâlnite pretutindeni echipamente, instalaţii, produse de larg consum etc. care au înglobate aplicaţii timp - real. În [Tur99] se arată modul de împărţire a pieţei comerciale de microprocesoare în anul 1999:

mai puţin de 1% din lumea microprocesoarelor erau utilizate în sisteme cu întrebuinţare generală. Peste 99% dintre microprocesoare erau utilizate în aplicaţii timp-real. Acestea sunt omniprezente, de la telefoanele celulare, pagere, cuptoare cu microunde până la sisteme complexe de control trafic aerian, telecomunicaţii, utilităţi publice, conducerea proceselor industriale, multimedia etc.

Structura hardware şi software-ul de bază şi aplicativ prezintă trăsături specifice pentru SCTR, ceea ce face ca aceste sisteme să fie o categorie distinctă între sistemele de prelucrare a datelor.

Într-un sistem de calcul timp - real, esenţial este intervalul de timp dintre momentul introducerii datelor şi momentul obţinerii şi interpretării rezultatelor. Într-un sistem de prelucrare clasic, nu sunt impuse constrângeri pe fluxul introducere date – prelucrare date - obţinere rezultate pe când în SCTR timpul de răspuns este esenţial. Acesta este unul dintre motivele pentru care trebuie aplicate tehnici speciale pentru introducerea datelor, prelucrare şi vizualizare, respectiv aplicare a rezultatelor.

Privind dintr-un cadru mai larg, SCTR fac parte din categoria sistemelor de calcul ON LINE – în care datele de intrare sunt introduse direct de la locul unde sunt produse iar rezultatele sunt transmise direct la locul de utilizare. Datele fie sunt introduse de la terminale de către operatori umani, fie provin de la traductoare ori senzori amplasaţi în mediul extern. Rezultatele sunt transmise la ieşire la terminale pentru vizualizare de către operatorul uman sau la elemente de execuţie.

SCTR este un sistem de calcul care preia suficient de rapid datele de intrare, efectuează prelucrările necesare într-un interval de timp suficient de scurt şi transmite rezultatele la ieşire suficient de rapid pentru a mai influenţa desfăşurarea fenomenului la care se referă datele.

Timpul de răspuns al unui SCTR este timpul necesar pentru a genera o informaţie de reacţie la datele introduse.

Timpul de răspuns este o valoare absolută care diferă în funcţie de cerinţele aplicaţiei timp - real:

sisteme de recunoaştere a vocii – [100ns – 10 ms];

simulator de zbor –[1us-10us];

simulare de procese şi controlul reţelelor - [10us-100us];

control în telemetrie şi analize seismice - [100us=1ms];

controllere pentru roboţi – [1ms-10ms];

sisteme pentru controlul proceselor şi automatizări industriale – [100us-100ms];

diagnosticare medicală automată şi laboratoare automate – [10ms – 100ms];

1-6

sisteme pentru detectare şi alarmare incendiu – [ 100ms-1s];

sistem rezervări locuri – [2s-3s];

În funcţie de domeniul de utilizare există mai multe tipuri de sisteme de calcul ON LINE, care înglobează şi sistemele de calcul timp - real:

Sisteme pentru controlul şi supravegherea proceselor.

Sisteme

conversaţionale

care

presupun

lucrul

interactiv

de

la

terminal,

introducere de comenzi (date, programe etc.) şi răspuns imediat la acestea.

Sisteme tranzacţionale – care sunt interactive de la terminal, dar numărul şi tipul de mesaje şi comenzi este limitat pentru a spori viteza de răspuns. Rezultatele se afişează în formate prestabilite la proiectarea aplicaţiei. Comenzile şi mesajele fixe se numesc tranzacţii. Exemple:

sisteme bancare, rezervare de locuri, conducere de procese în regim ghid operator.

Sisteme timp - real încorporate (Embedded Real Time Systems). Aceste sisteme fac parte integrantă dintr-un sistem tehnic ori tehnologic mai general. Exemple: un sistem pentru conducerea unui robot pe o linie de fabricaţie a unui produs, sistem de control al zborului în aviaţie, sisteme de control autovehicule.

În ceea ce priveşte SCTR, în literatura de specialitate există mai multe scheme de clasificare:

Din punct de vedere al timpului de răspuns: pot fi systems (STR)

Hard Real-Time systems (HRT) sau Soft Real-Time

HRT = cu constrângeri de timp dure; ieşirile trebuie produse în limite de timp (deadlines) specificate, în caz contrar va apărea defect de sistem (Exemple: Sisteme de control al zborului, Sisteme de control trafic aerian, Roboti, Sisteme de control autovehicule )

SRT = cu constrângeri de timp flexibile; deadline-urile pot fi pierdute ocazional fără a se

considera că sistemul este defect (Exemple: sisteme de comunicaţie care utilizează protocoale cu „time out”, Sisteme „casier automat”, Sisteme de rezervare a locurilor, Sisteme pentru

controlul proceselor proiectate să tolereze întârzieri

)

Din punct de vedere al deschiderii:

SCTR proprietar, care depind de caracteristicile sistemului de operare proprietar, arhitectura hard şi setul de instrucţiuni al calculatorului; costurile cu dezvoltările soft şi portarea spre alte platforme sunt foarte mari la aceste sisteme.

SCTR deschise, care se bazează pe standarde industriale pentru microprocesoare, sisteme de operare timp - real, protocoale de comunicaţie, magistrale de interfaţare; costul sistemelor este mai mic, datorită disponibilităţii pachetelor de programe, uşurinţei de integrare şi utilizare, independenţa de platforme hard proprietar, etc.

Din punct de vedere al arhitecturii:

SCTR centralizate, în care procesoarele sunt localizate într-un singur nod din sistem iar timpul de comunicare între procese este neglijabil în raport cu timpul lor de execuţie; un sistem multiprocesor cu memorie partajată este un exemplu de sistem centralizat.

SCTR distribuite, în care procesoarele sunt distribuite în diverse locuri din sistem iar timpul de comunicare între procesele de pe diferite procesoare nu este neglijabil comparativ cu timpul lor de execuţie; un exemplu de astfel de sistem este o reţea locală de calculatoare.

1.2 Elementele unui SCTR

Se va considera ca exemplu o instalaţie pentru încălzirea aerului [Stu88] (figura 1.2-1).

Un ventilator suflă aer către un element de încălzire, dirijarea făcându-se printr-o conductă. La ieşirea din aceasta este amplasat un termistor care formează un braţ al unui circuit punte de măsură. Ieşirea amplificată a

1-7

acestui circuit este proporţională cu temperatura şi este o tensiune continuă în domeniul 0 măsurată în punctul B.

Valoarea curentului electric prin elementul de încălzire poate fi modificată printr-o unitate de control

tiristorizată. Comanda acestei unităţi se face cu o tensiune continuă în domeniul 0

10 V care poate fi

10V

în punctul A. Debitul

Element de încălzire Motor on/off flux aer termistor Sens rotaţie Control motor Unitate tiristorizată Total
Element de încălzire
Motor on/off
flux aer
termistor
Sens rotaţie
Control
motor
Unitate tiristorizată
Total
deschis
motor
Ventilator
Potenţiometru
"Poziţie curentă
obturator"
Obturator
aspiraţie aer
Total
închis
obturator" Obturator aspiraţie aer Total închis Control intrare aer Punte de m ă sur ă alimentare

Control intrare aer

aspiraţie aer Total închis Control intrare aer Punte de m ă sur ă alimentare A Măsurare

Punte de măsură

alimentare A Măsurare ieşire manual automat Panou operator Control element de încălzire Man LED stare
alimentare
A
Măsurare ieşire
manual
automat
Panou operator
Control
element de
încălzire
Man
LED stare
LED-uri stare (vent.
P/O, obt.
închis/deschis)
elem.
încălzire
ON/OFF
Control manual
Control
încălzire
manual
aspiraţie aer
LED Auto/Man

Temperatura masurată Semnal de la 0 la 10V

LED Auto/Man Temperatura masurat ă Semnal de la 0 la 10V Fig. 1.2-1 Monitorizarea ş i
LED Auto/Man Temperatura masurat ă Semnal de la 0 la 10V Fig. 1.2-1 Monitorizarea ş i
LED Auto/Man Temperatura masurat ă Semnal de la 0 la 10V Fig. 1.2-1 Monitorizarea ş i

Fig. 1.2-1 Monitorizarea şi controlul unei instalaţii de încălzire aer

1-8

aerului poate fi modificat prin intermediul unui obturator care este acţionat de un motor reversibil. Motorul lucrează la o viteză constantă iar pornirea sau oprirea sa poate fi comandată de un semnal numeric (0 sau 1) – aplicat la circuitul de control al motorului. Tot la acest circuit de control se aplică un semnal numeric pentru a comanda sensul de rotaţie. La obturator este ataşat un potenţiometru de pe care se poate culege o tensiune proporţională cu poziţia obturatorului iar poziţiile „total închis” sau „total deschis” ale acestuia sunt detectate cu două contacte. Operatorul are la dispoziţie un panou de la care controlul instalaţiei poate fi comutat pe Automat sau Manual. În modul de lucru Manual curentul de pe elementul de încălzire şi poziţia obturatorului (aspiraţie aer) pot fi modificate folosind două potenţiometre. Există de asemenea comutatoare pentru a opera asupra ventilatorului şi elementului de încălzire. Led-urile de pe panou indică ventilator pornit/oprit, element de încălzire oprit/oprit, obturator total deschis sau total închis şi stare de funcţionare (Automat sau Manual). În modul de lucru Automat prin controlul potenţiometrelor poate fi ajustată temperatura elementului de încălzire şi poziţia obturatorului.

Controlul acestui proces simplu cu ajutorul calculatorului necesită monitorizare (urmărirea stărilor şi valorilor), calcule în conformitate cu algoritmul de control şi acţionare.

În figura 1.2-2 se prezintă o schemă a sistemului de conducere cu calculator a instalaţiei de încălzire aer:

Monitorizarea presupune obţinerea informaţiilor despre starea curentă a procesului. În exemplul prezentat aceasta se realizează prin intermediul semnalelor analogice precum temperatura aerului şi poziţia obturatorului, prin intrările numerice de la poziţiile extreme ale obturatorului precum şi prin semnale de

CALCULATOR Intrări numerice CAN CNA Ieşiri numerice Spre panou Total operator inchis Total Direcţie On/off
CALCULATOR
Intrări numerice
CAN
CNA
Ieşiri numerice
Spre panou
Total
operator
inchis
Total
Direcţie
On/off
deschis
Intrare de la
puntea de
măsură
Poziţie
Circuit de
Control motor
obturator
încălzire
Panou operator
MAN / AUTO
Element de
încălzire
Termistor
Ventilator
motor

Fig. 1.2-2

Sistem de conducere cu calculator a instalaţiei de încălzire aer

stare – modul de lucru, motor pornit, încălzitor pornit etc

Calculele sunt necesare pentru reglarea permanentă a temperaturii elementului de încălzire în corelaţie cu temperatura aerului la ieşire. Reglarea se poate face în funcţie de temperatura dorită prin intermediul obturatorului şi prin elementul de încălzire. Calculele se referă şi la rezolvarea unor situaţii conflictuale (interblocări):

1-9

încălzirea rezistenţei nu se poate face dacă ventilatorul este oprit;

comanda

automată

nu

se

poate

face

dacă

operatorul

a

trecut

în

mod

de

lucru manual iar comanda manuală nu se poate face dacă modul de lucru este automat.

Acţionarea presupune:

furnizarea unei tensiuni pentru controlul elementului de încălzire în conformitate cu temperatura necesară la ieşire;

comanda ieşirilor numerice pentru START/STOP motor, direcţia de rotire;

aprinderea ori stingerea ledurilor de la panou.

Programele (task-urile) de acţionare şi monitorizare programează dispozitive de interfaţă precum convertor analog-numeric (CAN), convertor numeric-analogic (CAN), intrări numerice şi ieşiri numerice.

Schema generală este prezentată în figura 1.2-3:

CALCULATOR Dispozitive I / O standard
CALCULATOR
Dispozitive I / O
standard
în figura 1.2-3: CALCULATOR Dispozitive I / O standard Dispozitive de intrare din proces Dispozitive de
în figura 1.2-3: CALCULATOR Dispozitive I / O standard Dispozitive de intrare din proces Dispozitive de

Dispozitive de

intrare din

proces

Dispozitive de ieşire spre proces

INTERFEŢE CU PROCESUL

de ie ş ire spre proces INTERFE Ţ E CU PROCESUL PROCES Fig. 1.2-3 Sistem generalizat
de ie ş ire spre proces INTERFE Ţ E CU PROCESUL PROCES Fig. 1.2-3 Sistem generalizat

PROCES

Fig. 1.2-3

Sistem generalizat de conducere

procese Fiecare dintre tipurile de dispozitive necesită soft care să opereze asupra lor. Ne vom referi la acest soft în continuare ca task-uri de intrare/ieşire (I/E). În figura 1.2-4 se prezintă un sistem de control cu calculatorul care include interfeţe hard şi soft:

1-10

Dispozitivele de intrare şi softul aferent furnizează informaţii pentru a crea o imagine internă a intrărilor din

CALCULATOR

Taskuri de control

intern ă a intr ă rilor din CALCULATOR Taskuri de control Imaginea intern ă a procesului
intern ă a intr ă rilor din CALCULATOR Taskuri de control Imaginea intern ă a procesului
intern ă a intr ă rilor din CALCULATOR Taskuri de control Imaginea intern ă a procesului

Imaginea

internă a

procesului

Imaginea

intrării

Imaginea ieşirii

Taskuri de intrare

Taskuri de ieşire

Dispozitive de ieşire spre proces

Dispozitive de intrare din proces

PROCES

Fig. 1.2-4 Sistem de control generalizat care prezintă interfeţe hard şi soft

proces. Imaginea intrării este formată din eşantioane prelevate din semnalele din proces astfel încât fenomenul de la intrare să poate fi reconstituit fără distorsiuni. Ea este un instantaneu al stării procesului care trebuie actualizat:

periodic (ciclic), la intervale de timp stabilite pre-execuţie sau

sporadic, la modificarea stării unor mărimi discrete sau la modificarea valorii unor mărimi continue în afara unui interval admisibil.

Imaginea ieşirii reprezintă valori rezultate în urma aplicării algoritmului de calcul. Aceasta este actualizată periodic de către task-urile de control, intervalul de timp aferent perioadei fiind suficient de mic pentru a actualiza corect imaginea ieșirii. Task-urile de ieşire transferă datele din imaginea ieșirii către proces, sincronizat cu task-urile de control, acționând asupra acestuia astfel încât comportamentul său să corespundă imaginii ieșirii.

1-11

Acest model simplu de sistem de control descris împarte task-urile de realizat în trei grupe:

task-uri de intrare in proces;

task-uri de ieşire spre proces;

task-uri de control.

Comunicarea cu operatorul este tratată în schemă ca parte a task-urilor de I/E. În multe aplicaţii comunicaţia reprezintă şi altceva decât achiziţie de date de la traductoare şi senzori ori acţionarea de comutatoare, valve etc. Sistemele de control pot fi distribuite pe mai multe calculatoare nu toate situate în acelaşi loc şi trebuie asigurată comunicaţia între acestea. Prin urmare, modelul prezentat anterior poate fi extins pentru a include şi task-urile de comunicaţie (figura 1.2-5).

1-12

DISPLAY Tastatură Imprimantă Reţea comunicaţie INTERFEŢE
DISPLAY
Tastatură
Imprimantă
Reţea comunicaţie
INTERFEŢE

Taskuri control

Taskuri comunicaţie

Taskuri control Taskuri comunica ţ ie Imaginea intr ă rii Imaginea ie ş irii Taskuri de
Taskuri control Taskuri comunica ţ ie Imaginea intr ă rii Imaginea ie ş irii Taskuri de

Imaginea intrării

Imaginea ieşirii

Taskuri control Taskuri comunica ţ ie Imaginea intr ă rii Imaginea ie ş irii Taskuri de

Taskuri de intrare

Taskuri control Taskuri comunica ţ ie Imaginea intr ă rii Imaginea ie ş irii Taskuri de

Taskuri de ieşire

Dispozitive de intrare din proces

Dispozitive de ieşire spre proces

de intrare din proces Dispozitive de ie ş ire spre proces PROCES Fig. 1.2-5 Sistem de
de intrare din proces Dispozitive de ie ş ire spre proces PROCES Fig. 1.2-5 Sistem de

PROCES

Fig. 1.2-5 Sistem de control generalizat, cu taskuri de comunicaţie

1.3 Tipuri de SCTR

Task-urile de intrare, ieşire şi comunicaţie au o trăsătură comună: sunt conectate prin dispozitive hardware la procese care sunt externe calculatorului. Acestea au o evoluţie proprie în timp, iar calculatorul operează în timp real dacă acţiunile pe care le realizează sunt în concordanţă cu timpul de desfăşurare al proceselor externe. Relaţia poate fi definită în termeni referitori la timpul care s-a scurs sau la momentul actual din cursul unei zile în care caz se spune despre sisteme că sunt bazate pe ceas. De asemenea, relaţia se poate defini în termeni referitori la evenimente, cum ar fi, de exemplu, închiderea unui contactor, în care caz se spune despre sisteme că sunt bazate pe evenimente. Există de asemenea o a treia categorie, cea a sistemelor interactive în care relaţia dintre acţiunile din calculator şi întregul sistem este definită în termeni mult mai largi. În aceste sisteme este esenţial ca setul de acţiuni din calculator să se realizeze într-un interval de timp predeterminat. Majoritatea task- urilor de comunicare fac parte din această categorie.

1-13

Task-urile de control, deşi nu sunt direct conectate la evenimente externe, trebuie să opereze de asemenea în timp real, rezultatele calculelor trebuind să respecte limite de timp impuse.

1.3.1 Sisteme bazate pe ceas

Aceste sisteme operează pe baza unor constante de timp ale procesului; valorile acestora pot fi de exemplu de ordinul orelor, pentru procese chimice sau de ordinul milisecundelor pentru aparatura de bord a avioanelor. Pentru controlul în buclă, rata de actualizare a imaginii procesului (prelevarea de eşantioane din proces) este dependentă de constantele de timp ale procesului controlat; cu cât constanta de timp este mai mică, frecvenţa de eşantionare este mai mare. Sistemul utilizat pentru control trebuie sincronizat cu timpul real sau cu timpul natural şi trebuie să fie capabil să realizeze operaţiile de măsurare, control şi acţionare periodic, intervalul de timp asociat cu perioada fiind dependent de constantele de timp ale procesului.

Sincronizarea se obţine de obicei prin adăugarea la SCTR a unui ceas denumit în mod uzual ceas timp - real (Real-Time Clock –RTC). O ieşire de la RTC se utilizează ca şi comandă pentru întreruperea operaţiilor curente ale calculatorului la intervale de timp fixate. Ca răspuns la întreruperi, sistemul planifică şi lansează în execuţie task-uri de intrare, ieşire, sau control. Task-urile pot fi grupate pentru controlarea diferitelor părţi ale procesului, pentru care constantele de timp pot fi diferite. Planificarea execuţiei task-urilor se face periodic, în funcţie de aceste constante. Cea mai mică perioadă de execuţie care poate fi planificată este egală cu rezoluţia RTC; prin numărarea întreruperilor de ceas trebuie să poată fi calculate cu precizie perioadele de lansare a tuturor task- urilor.

În mod frecvent întreruperea de la ceas este utilizată şi pentru a calcula data şi timpul (ceas şi calendar). Multe sisteme dau impresia că sunt bazate pe ceas deoarece afişează data şi ora. Acest lucru nu este relevant. Pentru ca un sistem să fie un SCTR bazat pe ceas el trebuie să se sincronizeze cu procese externe calculatorului.

1.3.2 Sisteme bazate pe evenimente (senzori)

În unele sisteme acţiunile sunt declanşate nu la anumite intervale de timp, ci ca reacţie la evenimente externe. Exemplu: pornirea unei instalaţii de încălzire ca urmare a scăderii temperaturii sub o anumită valoare.

Sistemele bazate pe evenimente sunt în multe situaţii utilizate pentru indicarea unor condiţii de semnalizare preventivă sau alarmare şi pentru startarea acţiunilor necesare de întreprins în astfel de situaţii. Exemple: oprirea încălzirii unui cazan la depăşirea pragului de alarmare asociat presiunii, declanşarea alarmei şi a instalaţiei de stins incendiu la detectarea prezenţei fumului sau la creşterea temperaturii etc.

În mod uzual, pentru sistemele bazate pe evenimente în specificaţii se include şi cerinţa referitoare la timpii de răspuns la evenimente. Astfel de sisteme utilizează de regulă întreruperile externe pentru a informa sistemul de calcul de apariţia evenimentului; în sistemele simple se utilizează de multe ori polling-ul – citirea periodică a senzorilor - pentru a detecta apariţia evenimentelor.

1.3.3 Sisteme interactive

Acoperă o gamă largă de aplicaţii precum rezervări de locuri, automate bancare etc.

Cerinţele timp - real sunt în mod uzual exprimate în termeni referitori la timpul mediu de răspuns care să nu depăşească un anumit interval (de exemplu timpul mediu de răspuns pentru un bancomat nu trebuie să depăşească 10 secunde). Răspunsul este determinat de starea internă a elementului de prelucrare, nu de procese externe acestuia.

1.3.4 Definirea SCTR

Termenul timp - real se poate aplica la sisteme în care:

1. Ordinea calculelor este determinată de trecerea timpului ori de evenimente externe calculatorului.

1-14

2.

Rezultatele obţinute depind de valoarea variabilei timp.

Cel mai frecvent sunt evocate în literatura de specialitate două categorii de sisteme:

sistemele care pot avea un timp mediu de execuţie care este mai mic decât un interval maxim specificat - constrângerile de timp real sunt „flexibile” (Soft Real Time Systems sau SRT)

prelucrările trebuie terminate într-un interval maxim de timp pentru fiecare situaţie în parte (sistemul trebuie să se mişte rapid) - constrângerile de timp real sunt „rigide” (Hard Real Time Systems sau HRT )

A doua categorie impune constrângeri mult mai severe asupra performanţei sistemului decât prima categorie. Din această categorie fac parte aşa numitele sisteme încorporate (“Embedded Systems”) în care sistemul constituie parte integrantă a unei maşini sau instalaţii.

1.4 Clasificarea programelor

Studii experimentale arată clar că anumite tipuri de programe, în particular acelea care realizează operaţii timp - real, sunt mult mai dificil de realizat decât programele obişnuite. Tehnicile de lucru pentru verificarea corectitudinii programelor sunt date şi de diferenţele între diferitele tipuri de programe.

Lucrări teoretice referitoare la tehnicile pentru demonstrarea corectitudinii unui program au permis identificarea a 3 tipuri de programe:

secvenţiale;

multitasking;

timp - real.

1.4.1 Programele secvenţiale

Acţiunile sunt strict ordonate ca o secvenţă în timp. Comportarea unui program depinde numai de efectele instrucţiunilor individuale şi de ordinea lor. Timpul necesar pentru o anumită prelucrare este mereu acelaşi. Pentru testare se porneşte de la următoarele premise:

1. O instrucţiune practic defineşte o acţiune fixă (statică) în sistem;

2. Oricare dintre acţiunile programului produc secvenţe statice de evenimente.

1.4.2 Programe multitasking

Diferă de cele secvenţiale prin aceea că operaţiile care trebuie realizate operațiile care trebuie realizate nu sunt

executate neapărat ca o secnvență continuă în timp

program poate fi construit dintr-un număr de părţi numite „procese” sau „task”-uri care:

Mai mult, operaţiile se pot desfăşura concurent. Astfel, un

luate separat, sunt compuse din secvenţe de instrucţiuni;

se execută concurent cu alte task-uri;

comunică cu alte task-uri prin memorie partajată, semnale de sincronizare, mesaje, cutii poştale

Testarea presupune aceleaşi premise ca la programele secvenţiale, cu unele deosebiri:

Task-urile pot fi testate separat numai dacă variabilele fiecărui task sunt distincte. Dacă variabilele sunt partajate, posibila concurenţă la resurse poate suspenda execuţia până la eliberarea acestora;

Cerinţele de sincronizare cu alte task-uri fac ca timpul de execuţie a secvenţei de instrucţiuni pentru fiecare task să nu poată fi determinat cu precizie de către procedurile de validare - timpul de execuţie a task-urilor depinde şi de modul de execuţie a procedurilor de sincronizareș

1-15

Prioritatea de lansare în execuție: timpul de executie al task-ului este influențat și de intervalul de timp în care execuția sa este suspendată atunci când procesorul execută alte task-uri cu prioritate mai mare.

1.4.3 Programe timp - real

Un program timp - real diferă de tipurile anterioare de programe prin aceea că pe lângă faptul că acţiunile sale nu sunt disjuncte în timp, secvenţa acţiunilor sale nu este determinată doar de proiectant, ci și de evenimentele din mediul exterior. Acestea sunt declanşate de condiţii din afara calculatorului şi nu pot fi făcute să respecte, de exemplu, regulile de sincronizare dintre task-uri!

Un program timp - real poate fi împărţit în task-uri, dar comutarea dintre acestea nu aşteaptă neapărat după un semnal intern de sincronizare, deoarece ceea ce se întâmplă în mediul extern nu poate fi întârziat. În programul timp - real, în contrast cu celelalte tipuri de programe, timpul actual asociat cu o acţiune este un factor esenţial în procesul de validare. Mijloacele de determinare a corectitudinii execuţiei diferă fundamental de mijloacele asociate programelor secvenţiale sau multitasking.

Multe limbaje de programare folosite uzual nu posedă mecanisme pentru realizarea aplicaţiilor timp - real, iar programatorul trebuie să şi le creeze singur. De asemenea, instrumentele de testare utilizate în mod curent pentru validarea programelor nu funcţionează corect în aplicaţii timp - real. Chiar dacă există limbaje de programare pentru aplicaţii timp - real, acestea sunt elaborate pentru anumite tipuri de maşini/sisteme de operare, portarea pe alte platforme hard/soft necesitând eforturi nu tocmai neglijabile. Aceasta determină un cost al aplicaţiei mult mai ridicat, iar în multe situații lipsa unor mijloace de dezvoltare și testare accesibile este în contrast evident cu necesitatea unor aplicaţii fiabile.

Au fost realizate sisteme de operare de TR, dar datorită efortului mare necesar pentru realizarea lor şi a pieţei relativ limitate, acestea au fost completate şi cu module specifice sistemelor de operare de uz general; exemple de SOTR timp - real : QNX, LYNX, VxWorks, RT Linux, eCOS.

Uneori, se obişnuieşte ca pentru aplicaţii timp - real să fie realizate de proiectanţii de aplicaţii executive de timp real dedicate, care implementează algoritmi de planificare şi sincronizare proiectați în funcţie de aplicaţie.

1.5

Concluzii

În acest capitol au fost prezentate elemente introductive referitoare la SCTR. Acestea sunt o categorie distinctă de sisteme de calcul. Pentru dezvoltarea aplicaţiilor timp - real, proiectanţii acestora trebuie să aibă cunoştinţe despre:

procesul sau domeniul căruia i se adresează aplicaţia;

senzori şi elemente de execuţie;

structura şi performanţele elementelor de prelucrare;

tehnici de interfaţare cu lumea reală;

sistemul de comunicaţii de date;

sisteme de operare timp-real şi algoritmi de planificare;

proiectare software;

limbaje de programare;

proiectarea algoritmilor de control;

algoritmi de prelucrare a semnalelor.

1-16

2 SCTR PENTRU CONTROLUL PROCESELOR INDUSTRIALE

2.1 Tipuri de procese

În funcţie de modul în care sunt efectuate prelucrările, procesele industriale sau de laborator pot fi de tipul:

pe loturi (batch processes);

continue;

de laborator (sau de test);

Termenul de prelucrare în loturi este utilizat pentru descrierea proceselor în care o secvenţă de operaţii determină producerea unor serii rezultate şi în care secvenţa este apoi repetată pentru producerea unor alte serii de rezultate. Astfel de prelucrări se întâlnesc de exemplu în sistemele de proces care controlează laminoare. Între două lansări în producţie ale unui lot se modifică datele despre produs dar secvenţa de operaţii rămâne practic aceeaşi. Caracteristica proceselor pe loturi este timpul necesar pregătirii pentru producţie. Acesta se numeşte timp de setup şi în multe sisteme de acest gen este important raportul dintre timpul de setup şi timpul de operare efectivă.

Termenul continuu este folosit pentru procesele în care producţia este menţinută pentru o lungă perioadă de timp fără întreruperi (luni sau chiar ani). Caracteristicile produselor care trebuie obţinute în sistemele continue se schimbă din mers (exemplu: producţia de energie electrică).

Termenul de sisteme de laborator se referă la acele procese care în mod curent sunt controlate de către operator. Acestea constau în utilizarea calculatorului pentru a controla experimente complexe sau echipamente complexe supuse testării. Exemplu: standuri pentru încercarea traductoarelor, standuri pentru testarea motoarelor electrice, experimente în medicină, etc.

Indiferent de tipul procesului controlat, calculatorul de proces execută una sau mai multe dintre operaţiile:

controlul secvenţial al proceselor;

controlul în buclă;

supervizarea proceselor;

interfaţa om-maşină.

înregistrarea datelor;

analiza datelor.

2.2 Operaţii realizate de către sistemele pentru controlul proceselor

2.2.1 Controlul secvenţial al proceselor

Deşi controlul secvenţial apare în cea mai mare parte a proceselor, el este totuşi predominant la procesele de producţie pe loturi. Controlul secvenţial este utilizat mai mult în procesele în care operaţiile se referă la amestecul unor materii prime în anumite condiţii impuse. Pe lângă controlul secvenţial, calculatorul realizează frecvent şi controlul continuu în buclă închisă pentru reglarea unor parametri precum temperatura, presiunea, nivelul, debitul etc.

2-17

2.2.2

Controlul în buclă (Direct Digital Control)

În astfel de sisteme calculatorul este interfaţat cu procesul ca în figura 2.2.2-1:

Intrări x
Intrări
x

Supraveghere cu calculator şi/sau umană

Val.de referinţă

Val. măsurate

r
r
ş i/sau uman ă Val.de referin ţă Val. m ă surate r Calculator de proces (controller)
Calculator de proces (controller) m Proces condus
Calculator
de
proces
(controller)
m
Proces condus
r Calculator de proces (controller) m Proces condus Fig. 2.2.2-1 Control în bucl ă închis ă

Fig. 2.2.2-1 Control în buclă închisă

Ieşiri

y

În aceste sisteme calculatorul este o componentă critică şi trebuie luate măsuri pentru a garanta ca în cazul unei proaste funcţionări a acestuia procesul va rămâne într-o stare stabilă.

Algoritmii de control utilizaţi depind de aplicaţie. Cei mai folosiţi sunt algoritmii care pleacă de la algoritmul analogic de control cu 3 termeni (proporţional+integral+derivativ - PID). Ecuaţia în domeniul timpului pentru controller-ul PID ideal este [Stu88]:

( )

m t

=

K

c

( )

e t

+

1

T

i

e t dt

( )

+

T

d

)

de t

(

dt

(1)

unde e(t)=r(t)-y(t), cu y(t) – variabila măsurată la ieşire, r(t) - variabila de referinţă (set-point), e(t) - eroarea. K c este factorul de amplificare global al controller-ului, T i este constanta de timp de integrare iar T d constanta de timp a acţiunii derivative. Acest algoritm poate fi exprimat şi în alte forme. De exemplu, acţiunea derivativă este în mod frecvent neutilizată sau uneori de/dt este înlocuit prin dy/dt pentru a evita diferenţierea variabilei de referinţă etc.

Algoritmul poate fi implementat soft utilizând o ecuaţie echivalentă pentru (1). Astfel, dacă intervalul de eşantionare pentru calcule este T secunde, atunci pot fi utilizate aproximările

2-18

de

dk

|

k

=

e

k

e

k 1

T

si

e t dt

( )

=

n

k

= 0

e T

k

Ecuaţia de control devine în acest caz

m

n

= K

c


T

d

e

n

e

n

1

1

+

e

n

+

T T

i

Dacă se fac înlocuirile

K

p

= K

c

K

i

= K

c

K

d

= K

c

T

T

i

T

d

T

n

e T

k = 0

k

(2)

ecuaţia (2) poate fi exprimată ca un algoritm de forma

s

m

n

n

=

=

s

n

1

K

p

+

e

n

e

n

+

K s

i

n

+

K

d

(

e

n

e

n 1

)

(3)

unde s n este suma erorilor.

Algoritmul PID nu este singurul algoritm pentru control în buclă, dar este cel mai utilizat, datorită simplităţii şi a faptului că este adecvat pentru peste 90% dintre problemele de control.

Un controller simplu PID utilizând algoritmul dat de ecuaţiile 3 poate fi programat în C astfel:

2-19

#

define KPVAL

1.0

#

define KIVAL

0.8

#

define KDVAL

0.3

#define FALSE

0

#define TRUE

1

float s, kp, ki, kd, en, enold, mn; unsigned char stop;

extern float can(void);/*funcţie care achizitioneaza de la convertorul analog numeric, calculeaza si returneaza valoarea erorii e; este dependenta de hardware utilizat.*/ extern void cna(float mn);/* funcţie care primeste la intrare corectia

transmite la

(valoarea

de

actionare)

si

o

void task_PID(void){

convertorul numeric - analogic*/

stop = FALSE; s = 0.0; kp = KPVAL; ki = KIVAL; kd = KDVAL; enold = can(); /* bucla de control*/ while (!stop){ en = can(); /* adc returnraza valoarea erorii actuale*/ s = s+en;/* suma pentru integrala*/ mn = kp*en + ki*s + kd * (en - enold); cna(mn); enold = en;

}

}

Poziţionarea variabilei stop pentru oprirea task-ului se face din exterior, de exemplu ca urmare a acţiunii operatorului.

Acest exemplu este o abordare simplificată referitoare la implementarea algoritmului. O serie de alţi factori, precum ieşirea parametrilor din limite, rata de eşantionare pentru achiziţia datelor, cadenţa în care sunt acționate ieşirile, filtrările intrărilor etc., trebuie luaţi în considerare. De asemenea, în algoritm nu se ţine cont de cerinţa obligatorie ca variabila de control mn să fie calculată sincronizat cu „timpul real”. Astfel, rata de eşantionare - vezi formula (2) – depinde de viteza de calcul a echipamentului pe care rulează programul. Pentru o operare corectă, este nevoie de mijloace de fixare a intervalului de timp pentru calcul la valoarea T. Acest lucru se face prin metode care vor fi prezentate ulterior.

2.2.3 Supervizarea proceselor

Utilizarea calculatorului pentru controlul proceselor a dus la diversificarea tipurilor de activităţi care se pot realiza, deoarece sistemele cu calculator pot să controleze operaţiile unei instalaţii şi în paralel să furnizeze informaţii pentru ingineri sau manageri în diverse moduri, prin intermediul interfeţei om-maşină.

Un exemplu de instalaţie care se pretează la supervizarea cu ajutorul calculatorului este prezentată în figura

2.2.3-1.

2-20

Furnizare materie primă Abur
Furnizare
materie
primă
Abur
TP TP
TP
TP
Furnizare materie primă Abur TP TP Recirculare solutie Vaporizatoare Produs concentrat Traductor presiune
Furnizare materie primă Abur TP TP Recirculare solutie Vaporizatoare Produs concentrat Traductor presiune
Furnizare materie primă Abur TP TP Recirculare solutie Vaporizatoare Produs concentrat Traductor presiune

Recirculare

solutie

Vaporizatoare

Produs

concentrat

Recirculare solutie Vaporizatoare Produs concentrat Traductor presiune Fig. 2.2.3-1 Supervizarea unei instala ţ

Traductor

presiune

Fig. 2.2.3-1 Supervizarea unei instalaţii de vaporizare (reproducere din

[Stu88])

2-21

În acest proces, două vaporizatoare sunt interconectate şi în fiecare se introduce o soluţie care prin evaporarea

apei trebuie să îşi mărească concentraţia în substanţă utilă. Încălzirea se face la primul vaporizator cu abur care este furnizat printr-un schimbător de căldură conectat la acesta, iar la al doilea vaporizator se utilizează aburul rezultat din primul vaporizator. Pentru a realiza o evaporare maximă, presiunea în vaporizatoare trebuie să fie cât mai mare posibil, respectând însă măsurile de siguranţă în exploatare. Totuşi, este necesară o coordonare între cele două vaporizatoare: dacă primul funcţionează la capacitatea maximă, poate furniza atât de mult abur încât să depăşească limitele de siguranţă pentru al doilea. O schemă de supervizare pentru acest proces va fi proiectată să opereze asupra celor două instalaţii astfel încât să obţină rezultatele cele mai bune, în condiţii de siguranţă.

Algoritmii de supervizare vizează ansamblul procesului şi se execută în timp real, în paralel cu operaţiunile

curente din proces. Cele mai multe dintre aplicaţiile de supervizare a proceselor permit inginerilor şi operatorilor

să cunoască stările instalaţiilor şi să intervină în timp real. În unele sisteme complexe sunt implemenţati la acest

nivel şi algoritmi de control destinaţi optimizării. Complexitatea lor depinde de tipul procesului: este o mare

diferenţă de exemplu între procesul de evaporare prezentat mai sus şi supervizarea procesului într-o centrală electrică nucleară.

2.2.4 Interfaţa om-maşină

Foarte importante în SCTR pentru controlul proceselor sunt facilităţile furnizate operatorilor de proces, inginerilor şi managerilor.

Un operator de proces trebuie să aibă la dispoziţie mijloace simple şi clare pentru intervenţia în instalaţii sau echipamente. El trebuie să poată schimba valorile variabilelor de referinţă, să fie informat rapid despre condiţiile de alarmare, să poată acţiona asupra elementelor de execuţie direct de la dispozitivul de intrare.

Operatorii utilizează console dedicate, care au de obicei o tastatură specială, unul sau mai multe monitoare şi

imprimantă. Pe monitoare se prezintă funcţionarea instalaţiilor prin intermediul schemelor sinoptice, sunt afişate evenimentele legate de proces şi de funcţionarea sistemului, se prezintă informaţii despre modul de funcţionare

al

buclelor de reglare etc.

O

mare parte din eforturile de proiectare şi programare este dedicată dezvoltării de aplicaţii destinate operării cu

mare uşurinţă şi prezentării cât mai sugestive a informaţiilor (prin scheme sinoptice, instrumente vizuale etc).

2.2.5 Responsabilităţile inginerului de sistem

Inginerul de sistem are ca responsabilitate configurarea aplicaţiei pentru a controla procesul, pentru a oferi operatorilor informaţiile necesare şi pentru a crea şi actualiza în timp real baze de date cu informaţii necesare analizei ulterioare, cu evenimentele care au apărut în instalaţii etc.

Cu alte cuvinte, inginerul responsabil de sistem trebuie să aibă posibilitatea:

să definească modul de achiziţie de date şi de acţiune în proces;

să seteze constantele pentru scanare, filtrare, limite de alarmare şi acţionare etc.;

să definească buclele de reglare, eventual modul de cascadare a controller-elor destinate reglării şi de conectare cu alte elemente din schema de control;

să poată să regleze modul de achiziţie şi control prin selectarea amplificărilor celor mai potrivite;

să definească şi să programeze procedurile de control necesare pentru operarea automată;

să determine şi să implementeze schemele de supraveghere.

2-22

Software-ul trebuie să pună la dispoziţia inginerului mijloacele necesare pentru a face aceste lucruri. În acest scop, au fost realizate medii de dezvoltare a aplicaţiilor de proces precum: WinCC, Monitor PRO, Genesys, InTouch, SL/GMS, PVSS II, ActivWare, MicroSCADA etc.

2.3 Structuri de sisteme pentru controlul proceselor industriale

2.3.1 Sisteme de control centralizate

Odată cu reducerea costurilor calculatoarelor s-a extins utilizarea sistemelor de control cu calculator.

Primele sisteme (anii 1960

îndeplini toate funcţiile unui proces. Acesta era conectat la un set de interfeţe cu procesul. Semnalele de la traductoare în astfel de sisteme sunt aduse într-un singur loc (o cameră) pentru a fi conectate la interfeţe.

constau dintr-un singur calculator cu o capacitate suficientă pentru a

1970)

Dezavantajul unei astfel de soluţii, pe lângă consumul mare de cabluri, este că defectarea calculatorului afectează întregul sistem. Implementarea buclelor de control în sistemele centralizate pune probleme legate de disponibilitatea calculatorului central – nefuncţionarea acestuia era echivalentă cu blocarea întregului proces. În anii '70 s-a trecut la implementarea buclelor de reglare cu regulatoare analogice, care primeau valorile de setpoint de la calculatorul central. În cazul defectării calculatorului, regulatoarele continuau funcţionarea în regim de lucru local.

În anii '70-80, ca urmare a scăderii preţului calculatoarelor, pentru creşterea toleranţei la defecte în aplicaţiile industriale critice erau frecvent utilizate sisteme de calculatoare duble ( figura 2.3.1-1).

utilizate sisteme de calculatoare duble ( figura 2.3.1-1). Periferice standard Management Calculator A Calculator B

Periferice standard

de calculatoare duble ( figura 2.3.1-1). Periferice standard Management Calculator A Calculator B Comutator Interfe
de calculatoare duble ( figura 2.3.1-1). Periferice standard Management Calculator A Calculator B Comutator Interfe
de calculatoare duble ( figura 2.3.1-1). Periferice standard Management Calculator A Calculator B Comutator Interfe

Management

Calculator A

Calculator B

Comutator Interfe ţ e
Comutator Interfe ţ e

Comutator

Comutator Interfe ţ e

Interfeţe

Comutator Interfe ţ e

Proces

Calculator A Calculator B Comutator Interfe ţ e Proces Bloc de control Fig. 2.3.1-1 Sistem cu

Bloc de control

B Comutator Interfe ţ e Proces Bloc de control Fig. 2.3.1-1 Sistem cu calculatoar dublu Comutarea

Fig. 2.3.1-1 Sistem cu calculatoar dublu

Comutarea între cele două calculatoare poate fi manuală sau automată. Când este necesară comutarea automată comutatorul devine o componentă critică. De asemenea, programarea şi problemele de testare şi control sunt foarte complicate.

2-23

2.3.2

Sisteme ierarhizate

Au o largă răspândire în domeniile unde se iau decizii centralizat. Într-un sistem ierarhizat o celulă este implicată în luarea deciziei în felul următor (Fig. 2.3.2-1):

   
 
Informaţii
Informaţii
 
Comenzi
Comenzi

Nivel superior

 
 

Constrângeri

Constrângeri Luarea deciziei Constrângeri

Luarea deciziei

Constrângeri Luarea deciziei Constrângeri

Constrângeri

Informaţii

Informa ţ ii Informa ţ ii
Informa ţ ii Informa ţ ii

Informaţii

 
   
   
 
 

Informaţii

 

Comenzi

Nivel inferior

 

(provenite de la nivelul inferor)

   

Acelaşi

nivel

Fig. 2.3.2-1 Funcţia de fabricare ierarhică a deciziilor

Fiecare element de decizie presupune recepţionarea unor comenzi de la nivelul superior şi transmiterea informaţiilor înapoi la acest nivel. Pe baza informaţiei recepţionate de la elementele de pe nivelul inferior precum şi pe baza corecţiilor sau constrângerilor impuse de elementele de pe acelaşi nivel se transmit comenzi la elementele de pe nivel inferior.

O structură ierarhică cu mai multe celule poate fi asimilată cu o piramidă ca în figura 2.3.2-2:

fi asimilat ă cu o piramid ă ca în figura 2.3.2-2: Fig. 2.3.2-2 Structura ierarhic ă
fi asimilat ă cu o piramid ă ca în figura 2.3.2-2: Fig. 2.3.2-2 Structura ierarhic ă

Fig. 2.3.2-2 Structura ierarhică de luare a deciziilor

La baza piramidei este necesar un timp de răspuns mic, de ordinul msec sau sec. Pe măsură ce se avansează spre vârful piramidei timpul de răspuns creşte.

2-24

Un exemplu tipic de sistem ierarhizat este sistemul de producţie automată a unor loturi de produse (figura

2.3.2-3).

Acest sistem are 3 niveluri pe care le vom denumi:

manager;

supervizor;

• unitate de control. Manager Gestionare resurse Planificare producţie Evaluare Supervizor Elaborare reţete
• unitate de control.
Manager
Gestionare resurse
Planificare producţie
Evaluare
Supervizor
Elaborare reţete
Secvenţe de operaţii
Coordonare
Magistrala de date
Unitate de control
Unitate de control
PROCES

Fig. 2.3.2-3 Prelucrarea în loturi utilizând un sistem ierarhic

Se utilizează calculatoare separate pentru funcţiile de manageri, supervizori şi pentru controlul procesului.

La nivelul de manager funcţiile principale sunt:

gestiunea resurselor;

programarea producţiei;

2-25

evaluarea producţiei.

Informaţiile referitoare la programarea producţiei sunt transferate la nivelul supervizor. Acest nivel are implementate reţetele de producţie şi secvenţele de operaţii pentru obţinerea produselor. Informaţiile despre proces se încarcă la iniţiativa supervizorului în unităţile de control care execută operaţiile individuale. În timpul execuţiei, supervizorul va primi informaţii despre modul de derulare a fiecărui proces şi va rezolva orice conflict în disputa asupra resurselor; de asemenea informează managerul despre rezultat.

La nivelul inferior, unităţile de control sunt responsabile de operaţiile de proces (închiderea – deschiderea de vane, comutatoare, control de temperaturi, viteze, debite, monitorizarea alarmelor) şi de informarea nivelului supervizor despre proces.

Cele mai multe sisteme ierarhizate necesită reţele de calculatoare distribuite, în practică cel mai des întâlnite sisteme de proces fiind cele distribuite (fizic şi logic) şi ierarhizate (în procesul de luare a deciziilor).

2.3.3 Sisteme distribuite

Caracteristicile unui sistem distribuit sunt:

fiecare unitate poate executa task-uri similare cu celelalte unităţi de calcul;

în caz de defectare a unei unităţi, atributele acesteia pot fi realizate de altă unitate.

În sistemele distribuite, munca e divizată şi executată de mai multe calculatoare. Aceasta implică dificultăţi în realizarea modulelor hard şi a pachetelor soft pentru că task-urile trebuie alocate mai multor procesoare, care partajează sau nu anumite resurse.

În realitate, cele mai multe sisteme moderne utilizează structuri distribuite şi ierarhizate. În acestea, task-urile de măsură, acţionare, control în buclă, comunicare cu operatorul, supervizare etc. sunt distribuite între mai multe calculatoare. Acestea sunt interconectate printr-un canal de comunicare de mare viteză (FIELDBUS sau LAN), de-a lungul căruia calculatoarele sunt interconectate într-o structură ierarhică de comandă (figura 2.3.3-1).

Sistemele distribuite şi ierarhizate au următoarele avantaje:

Capacitatea de calcul creşte prin partajarea task-urilor între diferite procesoare. De exemplu, la nivelul 1 se pot face mult mai bine filtrări, scalări, măsurări, acţionări, nu pentru că acestea sunt operaţii foarte complicate, ci mai ales pentru că se aplică unui număr mare de mărimi. De asemenea, calculele complicate pentru control în buclă se fac de către procesoare separate, crescând viteza de lucru şi fiabilitatea. Nivelul 2 preia datele şi trimite concluziile prin intermediul mediului de comunicaţie.

Sistemul este mai flexibil decât cu un singur procesor; se pot face mai uşor modificări prin adăugarea de noi module. De asemenea, se pot utiliza standardizările specifice comunicaţiilor de date în reţea.

Defectarea unui modul nu afectează întreg sistemul. Pentru izolarea defecţiunii se poate trece uşor în alt mod de lucru (manual de exemplu) apoi se face înlocuirea.

Se pot face uşor modificări hard şi soft deoarece este mai uşor să modifici un singur modul decât întreg sistemul.

Calea de comunicare serială permite ca echipamentele să fie distribuite pe o arie geografică mai mare, nemaifiind astfel necesare cabluri care să aducă semnalele într-o singură încăpere.

2-26

Microcomputer Microcomputer Microcomputer Microcomputer
Microcomputer
Microcomputer
Microcomputer
Microcomputer

Controller

Controller
Controller

Controller

Controller
Controller

Nivel 6

Management

Nivel 5

Supervizor

Nivel 4

Comunicaţie

operator

Nivel 3

Control secvenţial al proceselor

Nivel 2

Control în buclă

Nivel 1

Achiziţie/acţionare

Controller

Controller
Controller
în bucl ă Nivel 1 Achizi ţ ie/ac ţ ionare Controller PROCES Fig. 2.3.2-1 Sistem distribuit
în bucl ă Nivel 1 Achizi ţ ie/ac ţ ionare Controller PROCES Fig. 2.3.2-1 Sistem distribuit
în bucl ă Nivel 1 Achizi ţ ie/ac ţ ionare Controller PROCES Fig. 2.3.2-1 Sistem distribuit

PROCES

Fig. 2.3.2-1 Sistem distribuit şi ierarhizat

2-27

2.3.4 Piramida automatizării

SCTR distribuite şi ierarhizate înlocuiesc tot mai frecvent sistemele clasice de automatizare. Nivelurile ierarhice de automatizare pot fi reprezentare prin piramida automatizării (figura 2.3.4-1).

Volum de Sincronizare Timp real date f. mare NU Management Lent (min sau ore) mare
Volum de
Sincronizare
Timp real
date
f. mare
NU
Management
Lent (min sau ore)
mare
NU
Supervizare
mediu
NU
mare
Celula
de
bază
mediu
DA/NU
Control procese
mic
DA
Achiziție date și
acționare
msec
Nivel ierarhic
Nivel ierarhic

Fig. 2.3.4-1 Piramida automatizării

Parametrii luaţi în considerare sunt: nivelul ierarhic, cerinţele timp - real, volumul de date gestionat de elementele de prelucrare şi cerinţele de sincronizare.

2-28

3

STRUCTURA ECHIPAMENTELOR UTILIZATE IN SCTR

3.1 Structura hardware generală a calculatorului de proces

Deşi cele mai multe calculatoare pot fi utilizate pentru aplicaţii timp - real, nu toate sunt adaptate pentru a răspunde cerinţelor acestora. Cerinţele se referă în mod uzual la necesitatea ataşării la calculator a unor dispozitive care să permită comunicarea în timp real cu mediul exterior şi cu utilizatorii.

Pentru calculatoarele dotate cu dispozitivele necesare în aplicaţiile timp - real pentru controlul proceselor se foloseşte în mod curent denumirea de calculatoare de proces. O caracteristică a acestora este concepţia

modulară: ele permit adăugarea la elementul de prelucrare a unor module externe, în particular dispozitive specializate de intrare/ieşire. Dispozitivele tipice de interfaţare ale unui calculator sunt prezentate în figura 3.1-

1

3-29

1
1

Memorie

UC

4
4

Interfeţe de Intrare/iEşire

Dispozitive

standard

HDD

6
6

Întreruperi, RTC

3
3

în

Streamer
Streamer

P

R

O

C

E

S

In

Out

Semnale

numerice

Imprimantă
Imprimantă

Display,

tastatură

In