Upcoming SlideShare
×

# Curs Sctr2009

3,732 views

Published on

Materia de curs pt RTCS.

2 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
3,732
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
85
0
Likes
2
Embeds 0
No embeds

No notes for slide

### Curs Sctr2009

1. 1. SISTEME DE CALCUL TIMP - REAL Mircea Grosu Facultatea de Automatică, Calculatoare şi Electronică Catedra Ingineria Calculatoarelor şi Comunica iilor 1-1
2. 2. 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. 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 Metoda Polling .......................................................................................................................... 4-57 4.1.2 Metoda întreruperilor externe .................................................................................................... 4-58 4.1.3 Metoda Intrări/iEşiri buffer-ate .................................................................................................. 4-58 4.1.4 Alegerea strategiei optime ......................................................................................................... 4-58 1-3
4. 4. 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. 5. 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 Considerarea întreruperilor ...................................................................................................... 6-139 6.2.6 Considerarea sincronizării task-urilor ...................................................................................... 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
6. 6. 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
7. 7. • 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 Hard Real-Time systems (HRT) sau Soft Real-Time systems (STR) 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
8. 8. acestui circuit este propor ională cu temperatura şi este o tensiune continuă în domeniul 0..10 V care poate fi 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..10V în punctul A. Debitul Element de încălzire termistor Motor on/off flux aer Sens rota ie Control motor Unitate tiristorizată Total deschis Punte de măsură motor Ventilator Poten iometru Temperatura masurată Semnal "Pozi ie curentă alimentare de la 0 la 10V obturator" Obturator A aspira ie aer Măsurare ieşire Total manual închis automat Panou operator Control intrare aer Control element de încălzire Man LED stare LED-uri stare (vent. elem. P/O, obt. încălzire închis/deschis) ON/OFF Control Control manual încălzire manual aspira ie aer LED Auto/Man Fig. 1.2-1 Monitorizarea şi controlul unei instala ii de încălzire aer 1-8
9. 9. 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 deschis Intrare de la Pozi ie Circuit de Control motor puntea de obturator încălzire măsură 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
10. 10. • î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 Dispozitive de Dispozitive intrare din de ieşire spre INTERFE E CU PROCESUL proces proces 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
11. 11. Dispozitivele de intrare şi softul aferent furnizează informa ii pentru a crea o imagine internă a intrărilor din CALCULATOR Imaginea Taskuri de control internă a procesului Imaginea Imaginea ieşirii intrării Taskuri de intrare Taskuri de ieşire Dispozitive de intrare Dispozitive de ieşire spre din proces 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
12. 12. 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
13. 13. DISPLAY Tastatură Imprimantă Re ea comunica ie INTERFE E Taskuri control Taskuri comunica ie Imaginea intrării Imaginea ieşirii Taskuri de intrare Taskuri de ieşire Dispozitive de intrare Dispozitive de ieşire spre din proces proces 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
14. 14. 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
15. 15. 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.. Mai mult, opera iile se pot desfăşura concurent. Astfel, un program poate fi construit dintr-un număr de păr i numite „procese” sau „task”-uri care: • 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
16. 16. • 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
17. 17. 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
18. 18. 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: Supraveghere cu calculator şi/sau umană Val.de referin ă Val. măsurate r Calculator de proces (controller) m Proces condus Ieşiri Intrări y x Fig. 2.2.2-1 Control în buclă închisă Î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]:  1 de(t )  m(t ) = K c e(t ) + ∫ e(t )dt + Td  (1)  Ti dt  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. Kc este factorul de amplificare global al controller-ului, Ti este constanta de timp de integrare iar Td 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
19. 19. de e − ek −1 n |k = k si ∫ e(t ) dt = ∑ e k T dk T k =0 Ecua ia de control devine în acest caz  e − en −1 1 n  mn = K c Td n T + en + Ti ∑ e T  (2) k  k =0  Dacă se fac înlocuirile K p = Kc T Ki = Kc Ti Td Kd = Kc T ecua ia (2) poate fi exprimată ca un algoritm de forma s n = s n −1 + en (3) mn = K p en + K i s n + K d (en − en −1 ) unde sn 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
20. 20. … # 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 (valoarea de actionare) si o transmite la convertorul numeric - analogic*/ void task_PID(void){ … 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
21. 21. Furnizare materie primă Abur TP TP Traductor presiune Recirculare solutie Vaporizatoare Produs concentrat Fig. 2.2.3-1 Supervizarea unei instala ii de vaporizare (reproducere din [Stu88]) 2-21
22. 22. Î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
23. 23. 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...1970) constau dintr-un singur calculator cu o capacitate suficientă pentru a î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. 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). Periferice standard Management Calculator A Calculator B Comutator Bloc de control Interfe e Proces 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
24. 24. 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 Comenzi Nivel superior Constrângeri Constrângeri Acelaşi nivel Luarea deciziei Informa ii Informa ii Informa ii Comenzi Nivel inferior (provenite de la nivelul inferor) 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: 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
25. 25. 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 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
26. 26. • 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
27. 27. • Nivel 6 Management Nivel 5 Microcomputer Supervizor Nivel 4 Microcomputer Comunica ie operator Nivel 3 Microcomputer Control secven ial al proceselor Nivel 2 Microcomputer Control în buclă Nivel 1 Controller Controller Controller Achizi ie/ac ionare PROCES Fig. 2.3.2-1 Sistem distribuit şi ierarhizat 2-27
28. 28. 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 NU Supervizare mediu NU mare Celula de bază mediu DA/NU Control procese mic DA Achizi ie date și msec ac ionare 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
29. 29. 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
30. 30. 1 4 Memorie UC Dispozitive Interfe e de Intrare/iEşire standard 6 Întreruperi, RTC HDD 3 Streamer In Semnale Imprimantă numerice Out Display, tastatură In Semnale în impulsuri 5 Dispozitive operator Out proces P CAN Panou R operator O C CNA Display E S Canale de telemetrie Alarmare Dispozitive de proces Imprimantă 2 Dispozitive de comunica ii Fig. 3.1-1 Dispozitive de interfa are tipice 3-30
31. 31. 3.1.1 Unitatea centrală Unită i centrale similare cu ale sistemelor de uz general (de ex. PC cu 80x86), de cele mai multe ori în construc ie industrială, sunt utilizate frecvent în calculatoarele de proces. În sistemele încorporate sau în sistemele distribuite pentru controlul proceselor sunt disponibile echipamente numite PLC (Programable Logic Controller) sau RTU (Remote Terminal Unit). Astfel de echipamente sunt produse de firme precum SIEMENS, SCHNEIDER Electric, GENERAL ELECTRIC FANUC, ABB s.a. Unită ile centrale ale acestor echipamente sunt realizate cu microprocesoare de diverse tipuri: procesoare de uz general - 80x86, Motorola 68xxx (16/32 bi i); controllere programabile (calculatoare într-un singur cip) - 8051, 8048, HC11, 80C552 (8 bi i); 80C166 (16 bi i) etc. 3.1.2 Dispozitive de comunica ie Dispozitivele de comunica ie interfa ează calculatorul de proces cu mediile de comunica ie în re ele industriale sau în re ele de uz general. Există o mare varietate de dispozitive şi medii de comunica ie, selectate în func ie de aplica ie, condi ii tehnice existente, cerin e de performan ă etc.: • dispozitive pentru comunica ie serială RS232, RS485, RS422; • dispozitive pentru comunica ie în LAN; • dispozitive de comunica ie prin microunde; • dispozitive de comunica ie în infraroşu, etc. 3.1.3 Dispozitive de proces Dispozitivele de proces sunt de diverse tipuri, în func ie de mărimile achizi ionate ori comandate. Aceste dispozitive tratează: • I/E numerice – valori binare (0 sau 1 logic) pentru fiecare semnal. Se referă la mărimi de genul pornire/oprire, deschidere/închidere etc. • I/E analogice – interfe e care primesc sau generează semnale analogice continue în curent sau tensiune. Valorile de curent sau tensiune se convertesc în/din unită i inginereşti prin module soft care in cont de rela ia dintre domeniul semnalului de I/E în/din calculator şi domeniul mărimii fizice. Semnalele analogice de intrare provin de la senzori sau traductoare iar cele de ieşire se aplică la elemente de ac ionare, instrumente de măsură analogice etc. • I/E în impulsuri – o serie de instrumente de măsură (contoare de energie, integratoare de debit etc.) oferă la ieşire impulsuri propor ionale cu mărimile măsurate. De asemenea, unele elemente de execu ie (motoare pas cu pas) necesită comanda în impulsuri. Calculatorul trebuie să dispună în aceste cazuri de interfe e de numărare a impulsurilor şi respectiv de comandă în impulsuri. • Canale de telemetrie – se utilizează pentru conectarea unor instrumente specializate pentru măsură şi control, aflate la distan ă. În func ie de locul de amplasare, dispozitivele de interfa are cu procesul pot fi pe magistrala internă (PLUG- IN) sau pe magistrala externă (conectate la calculator prin intermediul re elelor de comunica ie serială sau interfe elor paralele). 3.1.4 Dispozitivele standard ale calculatorului Calculatoarele de proces în multe cazuri au în configurare şi dispozitive standard uzuale precum discuri, benzi, display, tastatură, mouse etc. 3-31
32. 32. 3.1.5 Dispozitivele operatorului de proces Operatorul de proces poate utiliza chiar dispozitivele calculatorului. În unele situa ii se utilizează însă console speciale ale operatorului de proces care con in dispozitive de afişare (de obicei display color de mari dimensiuni), de comandă în proces (panouri de comandă), de alarmare (HUPA), respectiv pentru listarea unor jurnale de evenimente (imprimante de panou). 3.1.6 Ceasul timp - real (Real Time Clock) RTC este un dispozitiv auxiliar, vital pentru SCTR. În func ie de tipul aplica iei, RTC poate fi un ceas electronic, un ceas generat soft sau un simplu generator de impulsuri cu frecven a precis controlată care dă întreruperi la intervale de timp programabile. Orice SCTR utilizează RTC pentru a genera întreruperi la anumite intervale de timp (de exemplu la PC de aproximativ 18,2 ori pe secundă). În sistemele în care timpul este foarte important se utilizează ceasuri digitale care generează întreruperi la anumite frecven e, pot între ine automat data şi ora, alimentarea făcându-se de la o sursă de alimentare auxiliară. În SCTR, RTC este folosit pentru: între inere dată şi oră, stabilire intervale de eşantioane a procesului, intervale de comunica ii, timeout, memorare date pe disc, afişare pe display a curbelor y(t), elaborare de rapoarte la imprimantă etc.. Uzual, întreruperea de la RTC este folosită şi de către sistemul de operare timp - real pentru planificarea şi dispecerizarea task-urilor. 3.2 Semnale preluate/transmise de SCTR din/către lumea reală În mod uzual, calculatorul de proces con ine dispozitive pentru 3 tipuri de semnale în tensiune: analogice, numerice şi în impulsuri. Semnalele analogice se deosebesc de celelalte prin aceea că amplitudinea lor variază în timp, iar cele numerice sau în impulsuri pot lua numai valori 0 şi 1. Distinc ia între semnalele numerice şi cele în impulsuri constă în modul de tratare a informa iei şi în tipul interfe elor hard utilizate pentru achizi ie. Unui semnal numeric ataşat unui canal i se asociază un bit la nivelul interfe ei de achizi ie. Starea de 0 sau 1 a semnalelor numerice este memorată static într-un bit sau într-o grupă de bi i care se schimbă în func ie de evolu ia semnalului din lumea reală. Semnalele în impulsuri sunt memorate sub forma unui număr de tranzi ii care au apărut pe semnalul de intrare sau care trebuie generate la ieşire într-un interval de timp dat. Semnalele analogice sunt transformate în reprezentare numerică prin intermediul CAN (Convertor Analog Numeric). Semnalele analogice de ieşire sunt generate pornind de la valorile numerice prin intermediul CNA (Convertor Numeric Analog). Cele mai multe interfe e de proces acceptă la intrare semnale în domenii unificate de curent sau tensiune: • ~0 V pentru 0 logic şi ~5V pentru 1 logic la semnalele numerice sau în impulsuri; • intrare în curent continuu 4-20mA (uneori şi 2 –10 mA, 0 – 10 mA ) sau în tensiune continuă 0 –10 V, 0-5V, +/-10V, +/-5 V pentru semnalele analogice. Semnalele unificate în curen i sau tensiune au amplitudini suficiente pentru interfe ele din calculator. Uneori însă, traductoarele sau senzorii oferă la ieşire semnale care nu sunt în curent sau tensiune sau semnale în curent sau tensiune care nu se încadrează în domeniile unificate. Din acest motiv, sunt necesare module de 3-32
33. 33. condi ionare semnale care adaptează semnalele la cerin ele interfe ei din calculator. Acest fel de module sunt utilizate de asemenea şi pentru izolarea calculatorului fa ă de tensiunile înalte, pentru filtrarea zgomotelor etc. Semnalele numerice sau analogice de ieşire sunt oferite de interfe ele de ieşire din calculator în domeniile unificate de curent sau tensiune specificate mai sus. În paragraful următor sunt prezentate detalii referitoare la blocurile func ionale care efectuează transformarea semnalelor din mediul extern în format recunoscut de către calculator şi respectiv transformă datele din format calculator în semnale către mediul extern. Pentru sistemele care con in astfel de blocuri func ionale, interconectate între ele şi cu calculatorul, se va utiliza în continuare denumirea de Sistem de Achizi ie de Date şi Control (SADC). 3.3 Blocurile func ionale ale unui SADC Schema bloc şi func iile generale ale unui SADC sunt sintetizate în figura 3.3-1 Dispozitive de Mediul Intrare pentru extern Traductoare Condi ionare conversie semnale Analiza Afişare, semnale în format acceptat înregistrare Senzori de calculator Decizii Dispozitive de iEşire pentru conversie date către proces Mediul exterrn Elemente de execu ie Fig. 3.3-1 Sistem de achizi ie de date şi control – schema bloc 3.3.1 Conectarea dispozitivelor de I/E la calculatorul gazdă O parte importantă a oricărui SADC este calculatorul gazdă (host computer). Există multe tipuri de dispozitive (numite uneori „module”) specializate pentru achizi ie de date şi control, care se pot conecta la calculatorul gazdă în unul dintre următoarele moduri: • direct pe magistralele de date/adrese/comenzi ale calculatorului - conectare pe magistrala internă sau PLUG-IN; • prin intermediul canalelor de comunica ie seriale sau paralele - conectare pe magistrala externă. 3-33
34. 34. În continuare, termenul „sistem” va fi utilizat în diverse moduri: un sistem poate include tot ceea ce este necesar pentru achizi ie de date şi control, inclusiv calculatorul gazdă; de asemenea, termenul sistem poate fi utilizat şi pentru descrierea unor dispozitive sau subansamble ale unui astfel de sistem, cu toate că acestea ar putea fi denumite mai corect subsisteme. 3.3.1.1 Dispozitive pe magistrala internă Principalele avantaje ale conectării directe pe magistrala calculatorului gazdă (de exemplu la PC) sunt: • viteza mare de achizi ie şi comandă; • costul scăzut; • dimensiuni mai mici. La aceste sisteme costul este mai redus pentru că nu mai este nevoie de incinte şi surse de alimentare separate, alimentarea făcându-se din sursa internă a calculatorului gazdă. Vitezele mari se ob in datorită eliminării protocolului de comunica ie şi a căilor de comunica ie care fac ca transmisia datelor să fie lentă. Exemplu: Rata de achizi ie a unui SADC folosind interfa a RS 232 la viteza de 9600 bauds este limitată la zeci de eşantioane / sec. În contrast, SADC ce con in dispozitive pe magistrala internă pot achizi iona sute de mii de eşantioane pe secundă. În figura 3.3.1.1-1 se prezintă schema bloc simplificată a unui sistem cu dispozitive pe magistrala internă. SADC pe magistrala internă con in dispozitive (module) de interfa are ce se conectează direct pe sloturile Dispozitive ADC + calculator gazdă BUS µC Proces Dispozitive (PC) I/E mag. internă Fig. 3.3.1.1-1 Sistem ADC pe magistrală internă disponibile din calculator. Mai mult, există sisteme ce permit ca un singur modul să conecteze la calculator mai multe tipuri de semnale de I/E, în mod selectiv. Sistemele moderne includ procesoare de semnal şi oferă func ii de achizi ie, prelucrare primară a datelor, transmisii de date etc. În unele aplica ii un calculator ce dispune de suficiente resurse poate con ine module de achizi ie pe magistrala internă şi în acelaşi timp poate fi conectat prin canale de comunica ie seriale sau paralele cu alte SADC sau calculatoare gazdă. Acelaşi calculator, pe care se execută software de bază şi de aplica ie adecvate, poate executa concurent func ii de achizi ie, control, analiza datelor, grafică, etc. 3.3.1.2 Dispozitive pe magistrala externă Acestea sunt de obicei echipamente inteligente, capabile să îndeplinească sarcini de achizi ie de date şi control şi sarcini de comunica ie. La nivel fizic, comunica ia este realizată prin interfe e standardizate cablate (RS 232, RS 422, RS 485, IEEE 802.3, IEE 488 (GPIB)...) sau wireless (microunde, infraroşu...) Dispozitivele inteligente pe magistrala externă sunt la rândul lor SADC-uri cu module conectate pe magistrala internă sau externă. 3-34
35. 35. Exemple de dispozitive conectate pe magistrala externă: • calculatoare de proces cu UC compatibilă IBM PC (cunoscute sub denumirea „IPC” – Industrial PC); • echipamente PLC sau RTU cu UC realizate cu microcontrollere (precum cele din familia I80C51, 80C166, MOTOROLA 68000, ZILOG 180) sau microprocesoare de uz general; • traductoare/senzori şi elemente de execu ie inteligente, realizate cu microcontrollere sau procesoare de semnal. Dispozitiv I/E pe mag. externă RS 232 Dispoziti RS 422 ve I/E pe Proces mag. µC Calculator internă gazdă RS 485 IEEE 488 LAN Fig. 3.3.1.2-1 – SADC cu dispozitive pe magistrala externă În figura 3.3.1.2-1 se prezintă schema bloc a sistemelor conectate pe magistrala externă: Posibilitatea de a avea la distan ă SADC permite realizarea unor SCTR distribuite. Re elele care interconectează mai multe dispozitive pe magistrala externă şi calculatoare gazdă se numesc re ele industriale. Pentru re elele industriale cablate, în literatura de specialitate se mai utilizează şi denumirea de fieldbus (magistrala/bus de teren). Exemplu de re ea industrială: SADC-urile din sta iile de transformare ale unei companii sunt conectate prin fieldbus-uri RS485 la un dispecerat energetic amplasat în clădirea administrativă. Aceasta permite ca prin intermediul unor calculatoare gazdă din re eaua locală de la dispecerat să fie efectuate activită i de monitorizare/calcule/ac ionare şi supervizare a întregului proces de gestiune energetică. Avantaje ale conectării pe magistrala externă: • teoretic se poate configura orice sistem, oricât de mare ar fi distribuirea sa în spa iu; • SADC pot fi la mare distan ă fa ă de calculatorul gazdă (sute de m, km...), permi ând astfel amplasarea în apropierea zonei în care se găsesc senzorii şi elementele de execu ie; • SADC degrevează calculatorul gazdă de sarcinile specifice de achizi ie de date şi control; • SADC se poate conecta la orice tip de calculator care dispune de interfe e de comunica ie corespunzătoare. 3.3.2 Semnale din proces, traductoare şi condi ionarea semnalelor Deoarece semnalele din lumea reală sunt de o foarte mare diversitate, sunt necesare dispozitive care să simplifice tratarea acestora de către dispozitivele de conversie în/din format numeric acceptat de către calculator. Acest lucru se realizează prin intermediul traductoarelor (senzori), elementelor de execu ie si circuitelor de condi ionare semnale. 3-35