Informatica industriala Sisteme distribuite de control Solutii distribuite
Informatica industriala Sisteme distribuite de control
Solutii distribuite in aplicatii de control n In viziune clasica: n n sistem de control = sistem centralizat argumente: n n n cooordonare si control unitar determinism si predictibilitate lant ierarhizat al responsabilitatilor n Intr-o viziune mai noua: n n sistem de control = sistem complex, cu multe functionalitati indeplinite in regim autonom, prea complexe pentru o solutie “monolit” argumente: n natura distribuita a procesului controlat si implicit a elementelor de automatizare fiabilitate sporita si toleranta la defecte (prin solutii redondante) posibilitati de comunicare si control de la distanta, inclusiv prin internet
Caracteristicile unui sistem distribuit de control n Tipuri de distributie: distributia echipamentelor n distributia datelor n distributia controlului (a programelor) n Sistem distribuit v. s. Sistem paralel (multiprocesor) n sistem paralel = corelatie stransa intre componente atat la nivel fizic cat si la nivel logic n fizic: magistrala, memorie, resurse comune pentru procesoare; timp de comunicatie neglijabil n logic: solutioneaza in paralel o anumita problema sistem distribuit = corelare stransa la nivel logic dar relaxata la nivel fizic n n n fizic: conexiune prin retea (timp de comunicatie comparabil cu timpul de procesare a datelor) logic: sistemul rezolva a problema comuna (legatura stransa intre componentele logice ale aplicatiei) Sisteme distribuite v. s. Retele de calculatoare n la retele lipseste obiectivul/celul comun n la sisteme distribuite: un obiectiv comun (ex: controlul unei fabrici)
Functii specifice ale unui sistem distribuit de control n Mecanism uniform, unitar şi transparent de acces la resursele sistemului n n identificarea univoca (fara ambiguitati a elementelor sistemului) – prin identificator unic (ex: adresa MAC, IP, URL, URI, etc. ) accesul (logic) la resurse prin nume simbolice n n utilizarea unor standarde/protocoale de comunicatie specifice pentru anumite dispozitive: n nivelul 8 (utilizator) la retelele industriale, cu “profile” definite pentru fiecare categorie de echipamente (ex: motoare, senzori, etc. ) accesul trebuie sa mascheze redondanta datelor sau intarzierile si erorile de comunicatie reconfigurarea automata a sistemului in cazul inlocuirii unor componente defecte n n ex: “temperatura cuptor 1” in loc de adresa fizica not+adresa registru in cadrul nodului asigura transferul transparent al unor functii de la un nod defect la unul nou mai usor de inteles pentru operatorul uman a se vedea mecanismul de inlocuire a nodurilor la protocolul ASi Solutie posibila: implementarea conceptului de “Dispozitiv virtual de control” n modalitate uniforma de acces la resurse indiferent de natura acestora sau de pozitia lor in sistem
Functii specifice ale unui sistem distribuit de control n Mecanisme de sincronizare n necesar pentru cooperarea intre componentele sistemului: n n controlul accesului la resurse partajate imprimarea unor dependenţe între taskuri (inclusiv de ordonare intre taskuri) armonizarea unor actiuni concurente mecanisme clasice de sincronizare: n n clasice: cutii poştale, indicatoare de condiţie, zone critice, monitor, etc referinta la un ceas de timp global: prin sincronizarea ceasurilor locale § necesar pentru ordonarea evenimentelor § stabilirea relatiilor de cauzalitate intre evenimente (care a fost cauza si care a fost efectul) § stabilirea ordinii de accesare a unor resurse partajate (ex: FCFS – primul sosit primul servit)
Functii specifice ale unui sistem distribuit de control n Mecanisme de replicare n necesar pentru: n n cresterea fiabilitatii prin replicarea componentelor critice cresterea vitezei de acces la date prin replicarea acestora in mai multe puncte n Administrarea evenimentelor n sistemele de control sunt prin excelenta sisteme “reactive” care raspund la diverse evenimente (ex: avertizari, avarii, etc. ) n n n administrarea globala a evenimentelor este mult mai complexa in cazul sistemelor distribuite (fenomenul de relativitate, datorat vitezei limitate de transmisie a mesajelor) solutie posibila: server de evenimente modelarea conceptului de eveniment: n atribute: nume, conditia de generare, conditia de stergere, lista taskurilor care trebuie atentionate, lista taskurilor care trebuie activate, etc.
Functii specifice ale unui sistem distribuit de control n Achiziţia periodică a unor parametri de proces si generarea de comenzi n n majoritatea functiilor de control au un caracter ciclic trebuie sa se respecte perioada de achizitie si de generare, altfel erori de calcul n Reprezentare grafica a sistemului n vizualizarea parametrilor de proces: numeric si grafic n vizualizarea schemei logice a procesului n posibilitatea de a transmite comenzi specifice de catre operatorul uman n vizualizarea evolutiei in timp a unor parametri de proces si a evenimentelor
Structurarea datelor de proces n moduri de structurare: pe baza poziţiei fizice ocupate în sistem (ex. : aparţin de un anumit dispozitiv sau echipament), n pe baza unor criterii de funcţionalitate (ex. : parametrii unei bucle de reglaj să constituie o structură unică), n pe bază de importanţă sau priorităţi n pe baza nivelului ierarhic de control de care aparţin (ex. : nivelul buclei de reglaj, nivelul coordonării procesului sau nivelul administrativ) n tipuri de date din punct de vedere a persistentei datelor: n date privind starea curenta a procesului (imaginea de moment a procesului): au o valabilitate limitata in timp n n n se va specifica momentele in care se face achizitia si durata de valabilitate a datelor date privind evolutia procesului: “date logate”
Implementarea unei aplicatii de control complexe n Solutia monolitica n fiecare componenta are o functie bine definita si ocupa o anumita pozitie ierarhica n avantaje: asigura o vedere generala si unitara asupra sistemului n dezavantaje: n fiabilitate redusa, defectarea unei componente duce la oprirea sistemului n proiectare dificila: trebuie sa se tina cont de toate aspectele pe care le implica sistemul n Solutia distribuita: n aplicatia = set de componente autonome care indeplinesc diferite functionalitati ale sistemului; n avantaje: n fiabilitate marita: oprirea/defectarea unei componente nu implica oprirea celorlalte componente; pot fi construite simplu scheme redondante si tolerante la defecte n scalabilitate: pot fi adaugate noi componente fara modificarea componentelor existente n dezavantaje: n aplicatia trebuie descompusa in componente autonome care lucreaza in regim concurent/paralel
Model conceptual al unui sistem distribuit de control bazat pe servicii n Specificatii: n tipurile de servicii necesare într-un sistem de control n modul de interacţiune a serviciilor n facilităţile oferite de fiecare serviciu (interfaţa serviciului) n modul de implementare a serviciilor n Principii constructive: n gruparea funcţiilor de control în entităţi - astfel încât fiecare entitate să poată să fie dezvoltată ca o aplicaţie autonomă; n reducerea fluxului de informaţii între entităţi - cu scopul de a reduce timpul consumat pentru schimbul de date şi pentru a simplifica interfaţa dintre entităţi n reducerea traficului în reţea - prin structurarea şi amplasarea corespunzătoare a datele n replicarea datelor - pentru creşterea eficienţei şi reducerea timpului de reacţie n reducerea numărului de nivele ierarhice, pentru a minimiza timpul de reacţie al sistemului
Model conceptual al unui sistem distribuit de control bazat pe servicii n Principii constructive: n n n evitarea implementării unor funcţii de control echivalente în mai mult de o entitate – pentru evitarea inconsistenţei şi a situaţiilor ambigue fiecare serviciu (entitate de control) va include mecanisme de identificare a componentelor distribuite ale serviciului respectiv şi de reconfigurare dinamică a serviciului se va asigura un mecanism special (simplificat) de acces la dispozitivele cu resurse limitate fiecare serviciu va asigura un nivel de fiabilitate, impus de natura funcţiilor implementate serviciile trebuie să includă mecanisme explicite de administrare a informaţiilor de timp se va utiliza un mecanism unitar de acces la diferitele tipuri de servicii
Modelul arhitectural al unui serviciu distribuit de control Nod de reţea Aplicaţie Serviciul x Alte servicii Interfaţa de reţea Serviciul x Alte servicii . . . . Interfaţa de reţea Executiv Aplicaţie Interfaţa de reţea. . Noduri cu resurse limitate Executiv Aplicaţie
Modelul arhitectural al unui serviciu distribuit de control n Principii de functionare: n n n Un serviciu este suma serviciilor locale de acelaşi tip implementate la nivelul fiecărui nod de reţea. Un serviciu local interacţionează cu celelalte servicii în vederea îndeplinirii funcţiilor specifice de control. O aplicaţie de control dezvoltată deasupra serviciilor de control interacţionează direct cu serviciul local în vederea obţinerii funcţiei dorite. Dacă aplicaţia solicită accesul la o resursă dintr-un alt nod al reţelei atunci solicitarea este rezolvată de serviciul local, prin dialog cu serviciul echivalent din nodul unde se află resursa. Din considerente de eficienţă şi timp de execuţie, în anumite cazuri aplicaţia poate să ia legătura direct cu serviciul local al nodului vizat. Anumite dispozitive a căror resurse computaţionale nu permit implementarea locală a tuturor serviciilor, vor fi integrate în sistem prin intermediul unor noduri de administrare (noduri “proxi”). n n Această soluţie este adecvată în multe aplicaţii de control, unde un dispozitiv de complexitate medie (ex. : regulator, controlor logic programabil) poate să gestioneze un set de elemente mai simple de automatizare (senzori şi elemente de execuţie). Între nodul proxi şi nodurile simple va exista un protocol de comunicaţie simplificat, mai uşor de implementat într-un microsistem minimal. Nodul proxi va gestiona toate resursele nodurilor simple care i-au fost ataşate.
Modelul arhitectural al unui serviciu distribuit de control n Definirea serviciilor de control: n serviciul de timp n serviciul de replicare n serviciul de gestiune a resurselor n serviciul de gestiune a evenimentelor n serviciul de planificare a taskurilor n serviciul de configurare şi alocare a sarcinilor n set de componente grafice pentru interfaţa utilizator
Modelul arhitectural al unui serviciu distribuit de control Aplicaţia de control Componente grafice Gestiunea evenimentelor Serviciul de timp Serviciul de configurare Gestiunea resurselor Serviciul de planificare Serviciul de replicare Interfaţa de reţea (nivelele 1 -4) Structura ierarhică a serviciilor de control la nivelul unui nod de reţea
Serviciul de timp n n functia principala – asigurarea unei referinte unice de timp pentru intregul sistem necesara pentru: n n n sincronizarea componentelor lansarea unor taskuri periodice stabilirea relatiilor de cauzalitate intre evenimente n mecanisme de sincronizare a ceasurilor locale: n solutie centralizata - algoritmul lui Christian n server central de timp care răspunde aplicaţiilor client care solicită o referinţă de timp n se tine cont de timpul mediu de transmisie a mesajului de sincronizare; se calculeaza si precizia de sincronizare n solutie distribuita – se genereaza o referinta de timp ca o medie a ceasurilor locale n n n periodic se genereaza cereri de resincronizare mai fiabil decat varianta centralizata la aplicatiile de control: ajustarea ceasului local se va face treptat (in cuante de ajustare adaptate preciziei de calcul a agoritmului de reglaj) si niciodata nu se va da ceasul inapoi; altfel erorile de calcul pot genera comenzi gresite (ex: la regulator cu factor derivativ)
Serviciul de replicare functia principala: evidenta resurselor replicate si asigurarea consistentei acestora n necesitatea: n n n pentru a asigura toleranta la defecte prin multiplicarea elementelor critice pentru a inbunatati timpul de acces la anumite resurse n ce se replica: n resurse fizice: senzori, elemente de calcul, elemente de stocare n servicii de control: serviciu de gestiune a evenimentelor, serviciu de acces la date, etc. n serviciul este responsabil pentru: n n identificarea dispozitivelor conectate în sistem identificarea resurselor de care dispune fiecare dispozitiv al sistemului configurarea şi alocarea sarcinilor detecţia defectelor şi mascarea acestora prin reconfigurarea sistemului
Serviciul de gestiune a resurselor functia de baza: de a asigura un acces uniform, unitar şi transparent la resursele distribuite ale sistemului n serviciul este responsabil pentru: n n n n n determinarea componentelor sistemului şi a configuraţiei acestora (dispozitive fizice, componente program, etc. ) determinarea parametrilor de proces disponibili achiziţia şi stocarea periodică a valorilor parametrilor de proces transmisia periodică de comenzi către elementele de execuţie citirea şi scrierea aleatoare a unor parametri, la solicitarea expresă a aplicaţiei de control marcarea datelor achiziţionate cu o referinţă de timp şi verificarea perisabilităţii datelor menţinerea unei baze de date cu imaginea curentă a procesului controlat înregistrarea evoluţiei unor parametrii de proces, specificaţi de aplicaţia de control Model conceptual bazat pe ideea de “Dispozitiv virtual de control” n n n promovat de standardul MMS (Manufacturing Message Specification) dispozitiv virtual de control = obiect care grupează un set de resurse, organizate sub forma mai multor liste. Fiecare listă grupează resurse de un anumit tip (ex: variabile de proces, proceduri, evenimente). un dispozitiv virtual modelează un dispozitiv real şi grupează resursele acestuia. există posibilitatea grupării unor resurse în raport de funcţionalitatea pe care o îndeplinesc în sistem.
Serviciul de gestiune a evenimentelor n functii de baza: n detectarea evenimentelor n notificarea unor componente privind aparitia unor evenimente n inregistrarea evenimentelor n lansarea de taskuri ca reactie la un anumit eveniment n serviciul va gestiona numai evenimentele care au fost definite in prealabil !!! n definirea unui eveniment: n n o expresie logică alcătuită din variabile de proces şi constante, care, dacă este adevărată determină apariţia unui eveniment un anumit comportament privind marcarea apariţiei, păstrarea şi ştergerea evenimentului o listă de taskuri care trebuie notificate la apariţia evenimentului o listă de taskuri care trebuie activate în urma apariţiei unui evenimen n detectia evenimentelor: n pe baza de intreruperi si rutine de tratare a intreruperilor n modul special de verificare periodica a conditiilor de activare n prin receptia unui mesaj care indica un anumit eveniment
Serviciul de planificare a taskurilor n functia de baza: lansarea în execuţie a taskurilor unei aplicatii, cu respectarea restrictiilor de diferite tipuri (de timp, de sincronizare, de ordonare, etc. ) n strategii de planificare (a se vedea cursul anterior): fara prioritati: FCFS, RR n cu prioritati: n n n in functie de importanta in functie de restrictiile de timp: RM, EDF, SLF
Serviciul de configurare şi alocare a sarcinilor n functia de baza: configurarea sistemului de control in regim dinamic n rolul: adaptarea unei configuratii generice la particularitatile unui proces tehnologic n ce se configureaza: n n n numarul si tipul dispozitivelor conectate in sistem functia fiecarei componente parametrii asociati dispozitivelor fizice limite admisibile si limite de avertizare/avarie scheme de inlocuire automata a dispozitivelor defecte tipurile de evenimente acceptate in sistem frecventa de achizitie a datelor n alocarea sarcinilor tine cont de: n disponibilitatea componentelor de a indeplini o anumita functie n gradul de incarcare a dispozitivelor n restrictiile de timp impuse
Set de componente grafice pentru interfaţa utilizator n functii de baza: n n n Tipuri de elemente grafice: n n n n vizualizarea grafica a datelor transmiterea de comenzi ale operatorului uman obiect grafic simplu – obiect care nu se conectează la o variabilă de proces, are doar rolul de a sugera imaginea reală a unei componente de proces (ex. : cabluri de legătură, conducte, rezervoare, etc. ) variabilă digitală de intrare – obiect care reprezintă starea unui senzor bipoziţional variabilă digitală de ieşire – obiect care reprezintă starea unui element de execuţie bipoziţional variabilă analogică de intrare – obiect care reprezintă un senzor analogic variabilă analogică de ieşire – obiect care reprezintă un element de execuţie controlat printr -un semnal analogic grafic – obiect care reprezintă evoluţia în timp a unei variabile de proces atributele unui obiect grafic: n n n n o listă de imagini – care simbolizează o componentă fizică de proces, în mai multe stări o referinţă către o variabilă de proces – a cărei valoare sau stare se vizualizează o valoare de afişare – care păstrează valoarea afişată o variabilă de stare – care indică dacă obiectul este vizibil sau nu o referinţă către o funcţie de vizualizare – care generează imaginea obiectului grafic o referinţă către o funcţie de conversie – care transformă valoarea variabilei de proces într -o valoare de afişare o referinţă către o funcţie de modificare a valorii variabilei de proces alte atribute şi funcţii specifice pentru diferite tipuri de obiecte
Ce se urmareste prin modelul distribuit propus? n fiabilitate ridicată – prin caracterul distribuit al serviciilor n scalabilitate – prin posibilitatea adăugării de noi servicii pe lângă n n cele existente, fără modificarea celor existente reconfigurabilitate dinamică – prin identificarea automată şi periodică a configuraţiei de sistem şi realocarea dinamică a sarcinilor în cazul unor defecţiuni toleranţă la defecte – prin existenţa unor componente redondante şi prin reconfigurarea automată a sistemului în caz de defect timp de reacţie mai scurt – prin distribuirea “inteligenţei” şi a responsabilităţii decizionale transparenţa comunicaţiei în reţea – prin funcţii de acces la resursele distribuite oferite de serverul local
- Slides: 23