1 Control Asistat de Calculator Aplicarea Microcontrolerelor pentru controlul proceselor © N icolae Secrieru, 2010.

Презентация:



Advertisements
Похожие презентации
REUNIUNEA PROFESORILOR DIN 24 AUGUST 2009 CATEDRA ŞTIINŢELE DESPRE NATURĂ Conducător – Metodist, Caun Svetlana Dmitri.
Advertisements

Calculatorul - coleg de bancă. DISPOZITIVE PERIFERICE DISPOZITIVE PERIFERICE DE INTRARE.
DEZINFECŢIA / STERILIZAREA. DEZINFECŢIA Dezinfecţia este procesul prin care sunt distruse cele mai multe, sau toate microorganismele patogene (în proporţie.
Conf. Univ. - Șoitu Marcela. Principiile Reanimării l Schimbările fiziologice ce au loc în organismul nou- născutului l Etapele Reanimării l Factori de.
EUTANASIA Noţiune Eutanasie - provine din limba greaca veche (eu - buna, thanatos - moarte) filozoful englez Francis Bacon il utiliza cu sensul de moarte.
Responsabilitatea juridică a personalului medical Universitatea de Stat de Medicină şi Farmacie Nicolae Testemiţanu Catedra Medicina Legală Responsabilitatea.
Seminarul Teologic Veniamin Costachi Mănăstirea Neamţ septembrie 2011.
Legea ocrotirii sănătăţii (nr.411- XIII din ) Universitatea de Stat de Medicină şi Farmacie Nicolae Testemiţanu Catedra Medicina Legală Legea.
1 Control Asistat de Calculator Aplicarea Microcontrolerelor pentru controlul proceselor © N icolae Secrieru, 2010.
Транксрипт:

1 Control Asistat de Calculator Aplicarea Microcontrolerelor pentru controlul proceselor © N icolae Secrieru, 2010

2 Arhitectura microcontrolerelor (1)

3 Microcontroler Fujitsu pe 16 biti Microcontroler tip RISC pe 16 bit, cu memorie RAM si ROM extinsa, o gama larga de interfete.

4 Microcontroler Fujitsu şi Renesas pe 8 biti Microcontrolere pe 8 biti, cu memorie RAM si ROM restransa, o gama mica de interfete.

5 Arhitectura microcontrolerului tip MSP430 al firmei Texas Instruments

6 Arhitectura microcontrolerelor pe 32 bit ARM7/9

7 Structura modulară computer monoprocesor de bord tip РС-104

8 Construcţia modulară computer monoprocesor de bord tip РС-104

9 Structură multiprocessor a unui computer de bord (1)

10 Structură multiprocessor a computerului de bord al unui satelit (2)

11 Structură Multiprocessor a computerului de bord al microsatelitului SATUM

12 Construcţia computerului de bord multiprocesor

13 Conducerea proceselor cu calculatorul (2)

14 Proces fizic + tehnologie Ansamblul procesului controlat Ce caracterizează un proces Interfaţa de proces Traductori, actuatori, semnale unificate Blocul de achiziţie şi comenzi

15 Ce înseamnă să conducem un proces Un proces este o activitate într-un sistem. remember! Sistemul + procesul = o unitate funcţională Sistemul este suportul fizic pe care are loc procesul A conduce un proces înseamnă să-i controlăm intenţional funcţionarea Sistem: o porţiune din realitatea obiectivă delimitabilă pe criterii funcţionale Sistemele sunt ierarhizate: sisteme de ordin inferior (subsisteme) în sisteme de ordin superior

16 Ansamblul procesului controlat Proces fizic Stări ale sistemului Comenzi Interfaţă de proces Calculator gazdă Sistem controlat funcţional Tehnologie pentru control Informaţie Date

17 Caracteristicile unui proces Procesul posedă funcţionalitate şi în absenţa controlului. El este caracterizat prin: – stări, materializate prin valori ale mărimilor fizice implicate în proces – puncte de intervenţie asupra procesului prin care procesului i se pot da comenzi Funcţionalitatea procesului, în absenţa controlului, poate fi diferită de ceea ce dorim noi de la proces.

18 Interfaţa de proces condiţio- nări de semnal traductori actuatori bloc de achiziţie şi comenzi semnale unificate proces fizic real Microcontroler sau calculator gazdă Lumea fizică reală - procesul controlat Microcontroler/Calculator gazda - entitatea inteligentă capabilă să controleze procesul în mod intenţional

19 Traductori, actuatori, semnale unificate Traductori – dispozitive care transformă mărimi fizice care reflectă stări ale procesului în mărimi electrice Actuatori – dispozitive care transformă mărimi electrice în mărimi fizice capabile să influenţeze, să acţioneze asupra procesului Condiţionarea semnalelor – aducerea la semnale unificate (standard) – aducerea mărimilor electrice furnizate de traductori în limite standard acceptabile de blocul de achiziţie şi comenzi – aducerea marimilor electrice standard generate de blocul de achiziţie şi comenzi în parametri acceptaţi de actuatori

20 Exemple de condiţionare Achizitie: Termocuplul: mV => V; Puntea tensometrică: – mV => V Traductorul de rotaţie: impulsuri optice => 0/5 V impulsuri TTL Actionare Frâna electrodinamică: imp/sec TTL => N Avertizare optică: 5 V nivel 1 TTL => 20 mA curent în LED Încălzitor de lichid: V => W în spira de încălzire Notă: de regulă condiţionarea semnalului este inclusă în construcţia traductorului/actuatorului

21 Blocul de achiziţie şi actionare (comenzi) Ce face blocul de achiziţie şi comenzi? Achiziţionează informaţie despre starea procesului prin măsurarea unor parametri din proces prezenţi la intrarea blocului sub forma semnalelor (unificate) furnizate de traductori. Emite comenzi sub forma unor semnale (unificate) pe baza cărora actuatorii influenţează starea sau evoluţia stării procesului

22 Blocul de achiziţie şi actionare (comenzi) Ce face blocul de achiziţie şi comenzi? Transmite informaţia despre starea procesului către calculatorul gazdă Recepţionează deciziile calculatorului gazdă şi implementează comenzile către proces în vederea aplicării deciziilor Note: Blocul de achiziţie şi comenzi se comportă ca un periferic al calculatorului gazdă

23 Reacţia informaţională în proces Bucla de reglaj a procesului Entitatea care guvernează controlul Rezidenţa programului de control al procesului

24 Bucla de reglaj a procesului Pe ce bază emite comenzi blocul de achiziţie şi comenzi? Pe baza interpretării stărilor, şi în consecinţă, a elaborării unor decizii intenţionale şi anticipative despre felul cum va trebui să se comporte procesul mai departe, ce stări va trebui procesul să manifeste. Se crează astfel o buclă de reglaj a procesului care, iterativ, prin măsurări de stare, decizii, comenzi pentru controlul funcţionarii procesului. 1.stare 3.decizie 2.achiziţie 4.comandă

25 Cine guvernează controlul procesului ? Procesul are stări... Procesul acceptă comenzi... Unde este inteligenţa care evaluează starea şi decide comanda? În algoritmul de control al procesului elaborat şi parametrat de operator, algoritm care se concretizează în programul de aplicaţie pentru controlul procesului.

26 Cine execută programul ? In cadrul unui model tehnologic de control al procesului ca cel descris de noi, programul poate fi implementat: – în blocul de achiziţie şi comenzi (în subsistemul de control) care poate avea inteligenţă incorporată (microcontroller + program) – în calculatorul gazdă care preia informaţie de la blocul de achiziţie şi comenzi şi îi transmite instrucţiuni pentru efectuarea comenzilor (acţiuni asupra procesului) – în amblele, prin implementarea unor programe care-şi partajează sarcinile

27 Achiziţionarea stării (stărilor) procesului Analiza stărilor şi elaborarea deciziilor Emiterea comenzilor către proces Extragerea şi exploatarea informaţiei Ce este, deci, controlul unui proces

28 În mod general, controlul procesului este posibil prin intervenţia oricărei entităţi capabile de decizii intenţionale şi anticipative care are la dispoziţie mijloace de: evaluare a procesului; mijloace de acţiune asupra procesului. De exemplu: o persoană care controlează umplerea unei sticle cu apă de la robinet Un exemplu simplu !?

29 În situaţii în care: – procesul este complicat – are mulţi parametri – fenomenele sunt rapide – cantitatea de informaţie este mare – este necesară o prelucrare intensivă a unui volum mare de date – datele trebuie arhivate în beneficiul urmăririi istoriei evoluţiei procesului soluţia este automatizarea controlului procesului Dar dacă situaţia este mai complicată !?

30 Sunt, şi au fost utilizate mai multe metode. La stadiul actual al tehnologiei cea mai evidentă soluţie de automatizare a controlului procesului este utilizarea unui calculator şi a perifericelor sale care: efectuează măsurători asupra procesului acţionează asupra procesului conform unui plan conceput de om Cum facem să automatizăm?

31 Măsurări şi acţiuni asistate de calculator (3)

32 Achiziţionarea stărilor din proces Ce fel de stări are procesul Problema măsurării şi implicaţia mărimii timp Cum asimilează calculatorul stările procesului Măsurarea stărilor cu expresie analogică Măsurarea stărilor cu expresie logică Stări exprimate prin număr de evenimente Cazul frecvenţei

33 Stări (semnale) analogice Stări cu semnificaţie cantitativă prezentate de semnale analogice – în cazul stărilor analogice semnalele furnizate de traductori urmăresc, în evoluţia valorii, evoluţia parametrului măsurat; – semnalul de la traductor este analog în evoluţie cu parametrul măsurat Pentru măsurarea parametrului din proces este suficient să măsurăm semnalul de la traductor

34 Stări (semnale) logice Stări cu semnificaţie calitativă prezentate de semnale logice – stările cu semnificaţie calitativă (starea este sau nu este) sunt transformate de traductori în semnale logice cu două valori cu semnificaţia adevarat/fals, da/nu, 0/1; – stările logice se mai numesc si binare deoarece iau două valori – urmărirea unei stări logice echivalează cu extragerea din proces a unei cantităţi de informaţie de 1 bit

35 Configuraţia stărilor logice La un moment dat, procesul este caracterizat de un set (configuraţie) de stări logice ale mai multor parametri – configuraţia semnalelor logice care reproduc configuraţia stărilor se numeşte cuvânt de stare – cuvântul de stare de fapt un număr binar format din atâţia biţi câte stări se urmăresc – cuvântul de stare este fotografia stărilor calitative ale procesului la un moment dat

36 Stări (semnale) cu semnificaţie câte? Stări cu semnificaţie de număr sunt prezentate de semnale logice numai că, în cazul acesta, este important numărul acestor stări elementare – căte stări de un anumit fel (0 sau 1) se află la un moment dat? – de câte ori un parametru este într-o anumită stare (0 sau 1) într-un interval de timp

37 Numărare Numărarea este înregistrarea numărului de stări de acelaşi tip (0 sau1) ale unui parametru calitativ, într-un interval de timp – numărarea este asociată cu numărul de evenimente; – numărul de evenimente are sens numai raportat la un interval de timp Numărarea se face cu numărătoare de semnale logice

38 Rata (frecvenţa) de producere Dacă evenimentul este repetitiv şi timpul de numărare fixat se evaluează rata (frecvenţa) de producere a evenimentului – repetitiv în sensul de rată constantă trebuie înţeles în mod relativ; – numărarea şi evaluarea ratei pot fi echivalente sau foarte diferite ca semnificaţie, funcţie de contextul procesului Rata (frecvenţa) în contextul de aici nu trebuie confundate cu frecvenţa în sensul fenomenelor armonice

39 Dinamica procesului. Timpul In discuţia despre evaluarea diferitelor tipuri de parametri fenomenul variabilităţii în timp a fost subînţeles Funcţie de tipul de parametru achiziţionat dinamica procesului are semnificaţii şi ridică probleme specifice care vor fi reluate unde este cazul Timpul este un parametru important care nu este parametru al procesului dar care este implicat în funcţionarea procesului

40 Timpul. Ceasul de timp real Timpul sincronizează procesul cu restul lumii Timpul este un parametru de raportare al procesului la alte procese, inclusiv la observatorul procesului sau la cel care controlează procesul Timpul trebuie măsurat şi gestionat în controlul de proces In controlul de proces avem nevoie de un ceas de timp real

41 Procese controlate în timp real Pentru a controla un proces trebuie să sesizăm schimbările din proces Pentru a controla un proces trebuie să reacţionăm la schimbări prin comenzi Reuşim să facem acest lucru numai dacă ciclul implicat în bucla de reglaj este scurt în raport cu viteza aşteptată pentru modificarea stărilor procesului – Dacă dacă este respectată condiţia de mai sus avem un sistem de control de proces în timp real – Noţiunea de control în timp real este relativă la natura procesului

42 Cum asimilează calculatorul stările Calculatorul este, prin excelenţă, un dispozitiv care percepe informaţia de intrare sub formă de valori numerice, elaborează deciziile prin calcul şi emite comenzi sub forma de valori numerice Rolul interfeţei de proces este să medieze schimbul de informaţie între proces şi calculator sub formă de semnale (pe partea procesului fizic) şi sub formă de numere (pe partea calculatorului) In interfaţa de proces are loc conversia numerică specifică fiecarui parametru

43 Puţină aritmetică binară Numerele vehiculate în dialogul cu calculatorul sunt exprimate în format binar – formatul familiar (baza 10) a n *10 n + a n-1 *10 n a 1 * a 0 *10 0 – formatul binar (baza 2) b n *2 n + b n-1 *2 n b 1 *2 1 + b 0 *2 0 doisprezece = 1* *10 0 = 1* * * *2 0 doisprezece = =

44 Limitările notării poziţionale Numărul de semne distincte necesare pentru a scrie un număr în baza m este m În calculator nu putem folosi decât baza 2 din restricţii tehnologice. Semnele 0 cu semnificaţia de mulţime vidă şi 1 cu semnificaţia de mulţime cu un element. adică cele două stări ale circuitelor electronice care alcătuiesc calculatorul Valoarea maximă exprimabilă în notare poziţională cu m poziţii în baza n este n m – 1 În format binar, un număr cu 8 poziţii poate reţine 2 8 –1 valori distincte

45 Limbajul (codul) calculatorului Cu calculatorul vorbim în numere exprimate în baza 2 Fiecare poziţie în scrierea în baza 2 are două valori posibile 0 sau 1 0 sau 1, adevărat sau fals, este sau nu este sunt tocmai valoarea de 1 bit Cu calculatorul vorbim in BIŢI Numărul are 8 biţi, reprezintă valoarea

46 Biţi şi byte bit-ul MSBLSB – – valori întregi 0..15; în exemplu: bit-ul MSBLSB – – valori întregi ; în exemplu: – poziţia bit-ului este rangul în notarea poziţională în baza 2; adică puterea la care se ridică 2; – MSB most significant bit – LSB least significant bit – BYTE număr binar (în baza 2) cu lungime fixă 8 biti

47 Numere întregi şi semne – – valori întregi (implicit pozitiv) – – valori întregi (cu semn) etc.... – exprimarea întregilor pozitivi este naturală – exprimarea întregilor cu semn este codificată –MSB reţine, codificat, semnul –complement faţă de 1 (offset binary) –complement faţă de 2 (twos complement) 70 MSBLSB – – valori întregi (implicit pozitiv) – – valori întregi (cu semn) 70 LSB 158 MSB

48 Numere reale: mantisa şi exponent Notare exponenţială: mantisa * baza exp În zecimal - notaţia ştiinţifică: – * = – * 10 5 = semnul îl poartă mantisa regula economică: – mantisa < 1 dar nu < (adică nu < decât baza -1 ) – înseamnă: la mantisă, cifra întregilor = 0, prima cifră după. (punctul sau virgulazecimală) diferită de 0! regula uniformităţii: – mantisa şi exponentul în format cu lungime fixă

49 Aceeaşi regulă merge şi în binar (baza 2)! Notare exponenţială: +/- mantisa * baza exp Numere reale se exprimă prin – mantisa: ca un întreg cu semn (numai partea de după virgulă), cu lungime fixă, de ex. 3 bytes – exponent: ca un întreg cu semn, cu lungime fixă, de ex. 1 byte Exemplu: 70 MSBLSB MSB în total 4 bytes sau 32 biţi care pot reţine numere cu semn în domeniul: (+/-) 3.4 * * 10 38

50 De ce regula uniformităţii cu alte cuvinte: – de ce lungime fixă? – de ce lungime egală cu multiplu de bytes? deoarece, în calculator, numerele sunt prelucrate şi memorate în unităţi, calupuri de 1 sau mai mulţi bytes. De ce?... din multe motive printre care: istoria dezvoltării tehnicii de calcul un anumit compromis între economie şi complexitate

51 De ce aritmetică binară De ce folosim aritmetică binară în contextul măsurării asistate de calculator?! – rezultatul măsurătorii din proces trebuie să-l prezentăm în forma inteligibilă de către calculator; – pentru aceasta trebuie să înţelegem noi ce îi dăm calculatorului şi care sunt limitările – performanţa măsurătorii (rezoluţie, precizie, acurateţe) este strâns corelată cu biţii şi baiţii (sorry!.. bytes)

52 Revenim la achiziţia parametrilor Achiziţia parametrilor se reduce la: – achiziţia de semnale analogice – achiziţia de semnale logice – numărare Să vedem cum se face !

53 Adaptarea (condiţionarea) semnalului de intrare Achiziţie: semnal cu semnificaţie analogică +/-10V Domeniu de variaţie continuă standard Lumea reală. Mărimi fizice ADC Procesor Digital Date in format numeric Interfaţa analogică de intrare Traductor Transformare din mărime fizică oarecare in mărime electrică (semnal) Conversie analog numerică (digitală) Interpretare şi decizie Tensiune sau curent comenzi pentru parametri de achiziţie

54 Achiziţie: semnal cu semnificaţie logică Adaptarea (condiţionarea) semnalului de intrare Transformare din mărime fizică oarecare in mărime electrică (semnal) Achiziţionare valori logice 0 sau 1 Interpretare şi decizie 0 sau 5 V Domeniu de variaţie binar standard Lumea reală. Mărimi fizice I/(O) Procesor Digital Date in format numeric Interfaţa logică de intrare Traductor Tensiune sau curent comenzi pentru parametri de achiziţie

55 Achiziţie: semnal cu semnificaţie număr/rată 0 şi 5 V Domeniu de variaţie binar standard Lumea reală. Mărimi fizice Numărător Procesor Digital Date in format numeric Interfaţa logică de intrare Adaptarea (condiţionarea) semnalului de intrare Traductor Transformare din mărime fizică oarecare in mărime electrică (semnal) Achiziţionare secvenţială valori logice 0 şi 1 Interpretare şi decizie Tensiune sau curent comenzi pentru parametri de achiziţie

56 Măsurarea stărilor analogice Conversia analog-digitala (ADC) Parametri caracteristici ai ADC Surse de eroare ale ACD Probleme legate de dinamica stărilor Evaluarea globală a acurateţii măsurătorii

57 Inportanţa măsurării stărilor analogice Importanţa particulară: – sunt cele mai rafinate măsurători din proces – sunt cele mai scumpe măsurători şi trebuiesc bine înţelese pentru optimizarea raportului necesitate/preţ Importanţa generală în contextul controlului de proces – înţelegerea noţiunilor implicate este hotărâtoare pentru controlul procesului cu calculatorul (şi nu numai!) – noţiunile implicate sunt folosite şi în măsurarea stărilor logice (de orice natură) – noţiunile implicate sunt folosite şi în generarea comenzilor către proces

58 Ce măsurăm şi cum +/-10V Proces real. Mărimi fizice ADC Procesor Digital Interfaţa analogică de intrare Traductor ParametruSemnal analogic unificat Exprimarea numerică a valorii semnalului, deci a parametrului III

59 Factorul de conversie (gain) - faza I Presupunem un parametru: forţă Presupunem un traductor: punte tensometrică Presupunem o condiţionare a semnalului care realizează o corespondenţă forţă - tensiune de forma: U (V) = k * F (dN) o lege liniară de conversie a mărimii forţei în tensiune Cum arată aceasta grafic?

60 Factorul de conversie (gain) U ( V ) F ( dN) valoare parametru valoare citită valoarea citită este interpretată ca valoare a forţei după regula: U (v) = k * F (dN) k este factorul de conversie

61 Obţinerea exprimării numerice - faza II Trebuie să obţinem o conversie analog - numerică (digitală) Remarci importante: – semnalul variază continuu (analogic) – exprimarea numerică este discretă (cuantificată) înseamnă că trebuie să atribuim valori numerice discrete unei mărimi care ia valori continui înseamnă că trebuie să împărţim domeniul de variaţie al mărimii analogice în cât mai multe intervale egale şi să atribuim tuturor valorilor continui dintr-un interval una şi aceeaşi valoare numerică

62 Conversia Analog Numerică: principiu U( V )= k * F(dN) N = 16 (n=4)

63 Factorul de conversie al ADC Adică, trebuie să obţinem o ecuaţie de conversie de forma: V (valoare numerică) = N * v min unde: N aparţine mulţimii {0,1,2,3,... 2 n -1} şi, în consecinţă: F (valoare numerică) = N * F min unde: F min = v min /k Am obţinut valoarea forţei ca o exprimare numerică discretă Valoarea măsurată a forţei este un număr întreg de cuante F min

64 Cuvinte cheie în conversia AD Rezoluţie: v min, F min (lărgimea intervalului) N max = număr de intervale = 2 n Dacă avem de exemplu: – n =10 – k =10 -1 V/dN (10V pe domeniul de măsură de 100dN) obţinem: – Nmax = 1024 – vmin = 10V/1024 = 0.98 mV – Fmin = vmin/k = dN şi spunem că măsurăm forţa în domeniul dN cu rezoluţie de 10 biţi

65 Rezoluţie Rezoluţia = Puterea de separare cea mai mică valoare măsurabilă prin care poate fi caracterizat semnalul (unitatea digitală) Este definită de convertorul analog digital (ADC) şi exprimată în: – biţi: n biţi = 1 parte din 2 n (ex:12 biţi = 1 parte din 4096)

66 Diferite rezoluţii ADC Procente 6.25% 0.39% 0.098% 0.025% % Biţi Canale Părţi din domeniu 1 din 16 1 din din din din Părţi din 10V 625 mV 3.9 mV 0.98 mV 0.25 mV mV – rezoluţie joasă, rapid, economic, 1 byte – rezoluţie medie, relativ rapid, nu prea scump, 2 bytes Rezoluţia este o măsură a fineţei cu care se poate măsura un parametru de proces

67 Exemplu de structura interna ADC Structura unui ADC pe 14-Bit (MSP430)

68 Sensibilitatea măsurătorii Sensibilitate = Cea mai mică valoare cea mai mică valoare măsurabilă efectiv Este definită de convertorul analog digital (ADC), traductor şi circuitele de condiţionare şi exprimată în: – biţi: n biţi = 1 parte din 2 n (ex:12 biţi = 1 parte din 4096) – valoare minimă detectabilă a mărimii de măsurat (forţă, temperatură, deplasare)

69 Sensibilitatea absolută/relativă Sensibilitate absolută = Cea mai mică valoare care poate fi detectată deasupra valorii zero Sensibilitate relativă = Cea mai mică schimbare de valoare care poate fi detectată

70 Sensibilitatea digitală Sensibilitatea este o măsură a gradului de detectabilitate a mărimii respective sau a schimbărilor care pot surveni în evoluţia mărimii respective (parametru de proces) EVIDENT !!! sensibilitatea, la nivelul rezultatului conversiei analog digitale, nu poate fi mai fină decât rezoluţia ADC Dar mai grosieră?

71 Exactitatea măsurătorii Exactitate = concordanţa între valoarea măsurată şi valoarea măsurată de un instrument standard, certificat metrologic Exactitatea este o măsură a gradului de încredere în măsurătoarea efectuată asupra parametrului de proces Exactitatea nu poate fi decât absolută !

72 Repetabilitatea măsurătorii Repetabilitate = concordanţa între rezultatele succesive obţinute prin măsurarea unui parametru de proces, cu acelaşi instrument de măsură, presupunând că valoarea parametrului rămâne constantă Repetabilitatea este o măsură a stabilităţii pe termen scurt sau pe termen lung a instrumentului de măsură Repetabilitatea nu poate fi decât relativă !

73 Rezoluţie, Exactitate, Repetabilitate înaltă înaltă înaltă înaltă joasă înaltă joasă joasă înaltă joasă joasă joasă Rezoluţie Exactitate Repetabilitate o privire intuitivă !

74 Conversia Analog Digitală. Cazul ideal N este mare Rezoluţie mare >10 biţi U ( V ) N ( valori ) (de ex: 4096) 010 Valoare reală Valoare măsurată coincidenţă în limitele rezoluţiei ideal

75 Erori sistematice ale ADC Erorile sistematice de măsurătoare provin din imperfecţiuni constructive şi principiale ale traductorilor, circuitelor de condiţionare sau ale circuitelor care implementează principiul conversiei analog digitale: – Eroarea de nelinearitate integrală (gain offset) – Eroarea de nelinearitate diferenţială – Eroarea de nul (offset)

76 Nelinearitatea integrală Nelinearitate Integrală U ( V ) N ( valori ) (de ex: 4096) 010 Valoare reală Valoare măsurată eroare

77 Sursa nelinearităţii integrale circuitele de condiţionare a semnalului au un factor de conversie k inconstant nu avem concordanţă între k şi lărgimea intervalului elementar al conversiei analog digitale (prea multe sau prea putine intervale) aceasta se traduce în următoarea situaţie: – avem un convertor analog digital de 12 biţi (4096 intervale) destinat măsurătorii temperaturii în domeniul o C – valoarea 50 o C corespunde valorii numerice 2050 (în loc de 2047 (!) cât ar trebui să fie jumătatea domeniului)

78 Nelinearitatea diferenţială Nelinearitate Diferenţială U ( V ) N ( valori ) (de ex: 4096) 010 Valoare reală Valoare măsurată eroare

79 Sursa nelinearităţii diferenţiale convertorul analog digital are intervalele elementare neuniforme ca lărgime

80 Eroarea de nul Eroare de nul (Offset) U ( V ) N ( canale ) (de ex: 4096) 010 Valoare reală Valoare măsurată eroare

81 Sursa erorii de nul circuitele de condiţionare prezintă o valoare reziduală continuă, constantă, la intrarea convertorului analog digital

82 Aspecte economice Convertorul analog digital şi circuitele de condiţionare aferente măsurării stărilor analogice sunt cele mai scumpe dintr-un sistem de măsură al unui control de proces Trebuie economie! – Multiplexăm canalele de conversie analog digitale – Cunoscând exact aplicaţia şi pretenţiile reale de măsură nu căutăm caracteristici superioare de care nu avem nevoie

83 Multiplexarea canalelor Traductor + condiţionare Lumea reală. Mărimi fizice ADC Procesor Digital n Parametri Semnale analogice unificate Exprimarea numerică a valorii semnalelor, deci a parametrilor (prelevate pe rând) Traductor + condiţionare

84 Analiza performanţă/preţ pentru ADC Trebuie sa facem economie de canale de măsură analogice şi economie la performante! - nu masurăm parametri de care nu este neaparată nevoie; - nu supra-măsurăm (economie de preformanţe); rezoluţia mare, timpul de conversie mic şi simultaneitatea de prelevare, sensibilitatea, acurateţea şi exactitatea mare, linearitatea (integrală şi diferenţială).... sunt scumpe! Soluţia: analiza la sânge a necesităţilor aplicaţiei şi compromis realist între performanţe şi preţ

85 Dinamica măsurării mărimilor analogice Eşantionare, prelevare Teorema eşantionrii Descompunerea armonică a semnalelor Dinamica indusă de ACD Dinamica multiplexării canalelor Eroarea de nesimultaneitate

86 Valoarea mărimilor analogice variază în timp; Măsurarea se face discret; Se prelevează valori la anumite momente de timp t i Te = t i+1 - t i ; perioada de eşantionare; fe = 1/Te ; rata de eşantionare. Eşantionare, prelevare valoare

87 Rata de eşantionare t P 0 titi t i+1 tjtj t j+1

88 Intuiţia ne sugerează că, pentru sesizarea unor variaţii mai fine, mai rapide, a mărimii măsurate, este bine să eşantionăm cât mai fin adică: Te, implică, fe ! Dar cât, pentru că.... costă!; Cum trebuie să fie rata de eşantionare ?

89 Problemă: Cât de des trebuie să eşantionăm pentru a obţine o serie de valori care să reproducă, rezonabil de fidel, variaţia în timp a semnalului (parametrului măsurat)? Răspuns: Perioada de eşantionare trebuie să respecte teorema eşantionării (Nyquist) rata minimă de eşantionare 1/Te > 2 * fmax Dar ce este fmax ? Teorema eşantionării (Nyquist)

90 Dacă presupunem f(t): o funcţie periodică, de perioadă T 0 cu f 0 =1/T 0 numită frecvenţa fundamentală, atunci: f(t) = A 0 /2 + Re{ A n e jn t } cu n = 1... unde: A 0 este amplitudinea componentei de frecvenţă f 0, A n este amplitudinea componentei de frecvenţă f n ; Putem spune, simplificat: un semnal periodic, poate fi reprezentat prin (sau este) suprapunerea unei serii de semnale armonice, de frecvenţă din ce în ce mai mare, cu amplitudine din ce în ce mai mică (descompunere în serie Fourier) Descompunerea semnalelor periodice

91 Fără să intrăm în subtilităţi matematice afirmăm: Dacă semnalul nu este periodic, prin trecere la limită, suma de mai înainte se transformă în integrală iar seria discretă de componente se transformă într-un spectru continuu de frecvenţe din ce în ce mai mari, cu amplitudine (contribuţie) din ce în ce mai mică: De la o anumită componentă încolo (frecvenţe mai mari), putem neglija contribuţia acestora la reconstituirea semnalului original, în limitele unei fidelităţi acceptabile. Şi dacă semnalul nu este periodic ?

92 Ca să măsurăm corect un semnal oarecare, este suficient să ne asigurăm că îi măsurăm corect cea mai mare frecvenţă, pe care o considerăm încă semnificativă (în limitele unei erori previzibile). Adică să prelevăm, prin eşantionare, corect, această ultimă componentă de frecvenţă fmax deoarece, componentele de frecvenţă inferioară sunt oricum eşantionate mai fidel, adică mai des. Această fmax, este cea din teorema eşantionării: fe min = 2 * fmax Reformulăm teorema eşantionării (reformulată)

93 O privire intuitivă: fantome (aliases).. deci totul se reduce la eşantionarea corectă a unui semnal armonic. Cum putem greşi la eşantionare? asta măsurăm (fe prea mică) asta ni se pare că măsurăm şi...

94 Care este contribuţia ADC ? Caracteristici dinamice ale ADC: – Ta - apertura intervalul de timp în care ADC-ul se uită la semnal – Tc - timpul de conversie intervalul de timp în care are loc efectiv conversia analog numerică – Te - intervalul (perioada de eşantionare) intervalul de timp după care se poate iniţia o nouă conversie analog numerică (are semnificaţia şi importanţa de mai înainte, dar, aici ne referim la perioada de eşantionare impusă de ADC; este influenţată de timpul necesar ADC-ului de a furniza rezultatul mai departe - de ex.: procesorului digital)

95 Limitările dinamice induc erori iniţierea conversiei apertura timpul de conversie terminarea transferului datelor de aici încolo putem iniţia o nouă conversie asta credem că măsurăm în tot acest timp semnalul variază t P

96 De fapt, ce măsurăm ?! t P fără precauţii speciale: probabil o medie cu Sample-and-Hold (SaH) valoarea de la inceput apertura

97 Dinamica achiziţiei multiplexate Exemplu: Eşantionare cu frecvenţa de 1kHz a 4 canale multiplexate folosind un ADC cu Tc = 0.01 ms

98 Eroarea de nesimultaneitate

99 Acurateţea globală a măsurătorii O măsurătoare este bună funcţie de pretenţiile aplicaţiei şi cuprinde estimarea contribuţiei ponderate a factorilor de eroare de mai jos: Acurateţea asupra valorii mărimii: – rezoluţie, sensibilitate, exactitate, repetabilitate – liniaritate (integrală, diferenţială) – eroare de nul Acurateţea asupra evoluţiei (dinamicii) mărimii: – rată de eşantionare – eroare de nesimultaneitate (sincronizarea valorilor)

100 Măsurarea stărilor logice Semnificaţia măsurării stărilor logice Pragul de sesizare Utilizarea stărilor logice pentru controlul de proces Configuraţia stărilor logice Dinamica stărilor logice Intreruperi Măsurători prin numărare Dinamica măsurătorilor prin numărare

101 Stările logice se măsoară ? Remember: Stări cu semnificaţie calitativă sunt vehiculate de semnale logice. Stările cu semnificaţie calitativă (starea este sau nu este) sunt transformate în valori binare cu semnificaţia adevarat/fals, da/nu, 0/1; Stările logice se măsoară? DA! Determinarea stării logice este echivalentă şi, în cele mai multe cazuri este o conversie analog digitală cu rezoluţia de 1 (un) bit! Să vedem!

102 Un canal logic Proces real. Mărimi fizice Procesor Digital Interfaţa analogică de intrare Traductor Parametru cu semnificaţie calitativă Exprimarea logică a existenţei stării Comparator prag (comandat) aceste componente pot constituti, pur şi simplu, traductorul 0/ 1 prag (fixat prin construcţie)sau

103 Factorul de conversie T ( o C) prag Alarmă (valoare logică 0/1) valoarea citită este interpretată ca stare după regula: Alarma = k * T ( o C) k = 0 dacă T < prag k = 1 dacă T > prag 40 0O.K. alarmă

104 Aşa să fie ?! Nu vă lăsaţi înşelaţi! Întotdeauna este aşa ! – la un sensor de capăt de cursă pragul este stabilit prin mărimea forţei de apăsare ! – la un sensor de proximitate pragul este stabilit prin efect termic ! – la un sensor de presiune pragul este stabilit prin constantă elastică ! – la un sensor de acces în arie pragul este stabilit prin nivel luminos ! – etc., etc.

105 Ce facem cu stările logice ?... le constatăm în sensul că se ia cunoştinţă de aceste stări pentru a afla starea sistemului (procesului) şi a se elabora decizii în consecinţă... le numărăm în sensul că modificarea unei stări este asociată cu un eveniment care are loc în proces: – câte evenimente de un anumit tip au loc în timp ce... – câte evenimente de un anumit tip au loc între două evenimente de un alt tip – câte evenimente de un anumit tip au loc în unitatea de timp

106 Configuraţia stărilor stările individuale (1 bit) ansamblul stărilor cuvânt de stare (n biţi) Lumea reală. Mărimi fizice 1 bit Procesor Digital Traductor + condiţionare 1 bit Traductor + condiţionare cuvânt de stare 0111 s3s3 s2s2 s1s1 s0s0 MSBLSB 10XX s7s7 s6s6 s5s5 s4s4 cuvântul de stare: intreg de 8 biţi (sau multiplu) rangul este asociat logic cu starea s i X - unele stări pot fi nedefinite

107 Dinamica stărilor o configuraţie a stărilor este fotografia stării procesului la momentul achiziţionării cuvântului de stare de către procesorul digital succesiunea stărilor la momente diferite reconstituie dinamica de stare a procesului intervalul de timp la care se achiziţionează cuvântul de stare este perioada de eşantionare a stărilor – stările se pot achiziţiona periodic sau, doar la nevoie

108 Întreruperi Anumite stări din proces pot avea o semnificaţie privilegiată în logica aplicaţiei de control a procesului. Ca urmare: – schimbarea stării nu este supravegheată prin eşantionare – schimbarea stării declaşează o reacţie specială a aplicaţiei care este forţată să-şi întrerupă cursul normal pentru a lua o decizie, sau a declanşa o acţiune imediată, ca urmare a modificării stării respective

109 Numărarea stărilor Numărarea stărilor poate avea următoarele semnificaţii: – câte schimbări de stare au loc într-un interval definit – reflectă o mărime cantitativă măsurată –aceasta este o variantă a cazului anterior care echivalează cu o conversie analog digitală (cazul tipic: TIRO) – de câte ori se schimbă starea în unitatea de timp (frecvenţă/rată) Lumea reală. Mărimi fizice numărător Procesor Digital Traductor + condiţionare

110 Numărarea ca măsurătoare cantitativă Numărătorul conţine un număr proporţional cu deplasarea X x senzor de lumină numărător TIRO

111 Dinamica măsurării prin numărare Numărătorul conţine un număr proporţional cu deplasarea X, deci se comportă ca un ADC Rata de citire a numărătorului este echivalentă cu o rată de eşantionare a unei mărimi cu semnificaţie cantitativa, (deplasarea) care variază în timp Cazul este echivalent cu eşantionarea unei mărimi analogice

112 Măsurători de rată/frecvenţă Dacă numărătorul numără evenimente repetitiv/periodice şi intervalul la care se citeşte numărătorul este constant şi cunoscut, se poate calcula: rata = număr de evenimente / timp Evenimentele pot fi asociate cu un moment caracteristic unui fenomen armonic (de ex: valoarea maximă) În acest caz: rata = frecvenţa

113 Conducerea proceselor cu calculatorul (4)

114 Acţionări (emiterea comenzilor) către proces Comenzi analogice Comenzi logice Dinamica comenzii Comenzile trebuiesc elaborate

115 Comenzi către proces A comanda un proces înseamnă a avea abilitatea de a modifica parametrii procesului (cel puţin, unii) Rămâne valabilă distincţia privitoare la parametri: – analogici, cu semnificaţie cantitativă; – logici, cu semnificaţie calitativă;

116 Comenzi înseamnă semnale Comanda parametrilor se reduce la: – emiterea de semnale (comenzi) analogice – emiterea de semnale (comenzi) logice Să vedem cum se face !

117 Adaptarea (condiţionarea) semnalului de ieşire Comandă: semnal cu semnificaţie analogică +/-10V Domeniu de variaţie continuă standard Proces real. Mărimi fizice DAC Procesor Digital Date in format numeric Interfaţa analogică de ieşire Actuator Transformare din mărime electrică in mărime fizică oarecare (acţiune) Conversie numeric (digital) analogică Decizie şi acţiune Tensiune sau curent comenzi pentru parametri de acţiune

118 Transformare din mărime electrică in mărime fizică oarecare (acţiune) Comandă: semnal cu semnificaţie logică 0 sau 5 V Domeniu de variaţie binar standard Proces real. Mărimi fizice (I)/O Procesor Digital Date in format numeric Interfaţa logică de ieşire Adaptarea (condiţionarea) semnalului de ieşire Actuator Emiterea de valori logice 0 sau 1 Interpretare şi decizie Tensiune sau curent comenzi pentru parametri de acţiune

119 Comenzi analogice Comenzi analogice tip DAC Erori ale conversiei de tip DAC Dinamica comenzilor analogice de tip DAC Comenzi analogice tip timp/frecvenţă Erori ale conversiei tip timp/frecvenţă Evaluarea globală a acurateţii comenzii Domeniul de aplicabilitate a tipurilor de comenzi

120 Comenzi de tip DAC Parametrul analogic trebuie comandat prin semnal analogic elaborat de convertorul digital analogic (DAC) De ex: temperatura, în incinta în care are loc procesul, se comandă prin puterea injectată într-un fierbător DAC reconstituie o variaţie continuă a parametrului (semnalului de comandă) prin valori discrete comandate numeric

121 Ce face, de fapt, DAC-ul ? Răspuns: o operaţie INVERSĂ conversiei analog digitale care a fost utilizată la achiziţia semnalelor (parametrilor) analogici – avem un factor de conversie ! – avem eşantioane ! – variaţia semnalului-comandă se descrie prin descompunere armonică !

122 Adică... cum ?! +/-10V Proces real. Mărimi fizice DAC Procesor Digital Interfaţa analogică de ieşire Actuator ParametruSemnal analogic unificat Exprimarea numerică a valorii semnalului, deci a parametrului I II

123 Factorul de conversie al DAC T( o C) N = 16 (n=4) T (valoare analogică) = N * T min

124 Erori ale conversiei DAC Aceleaşi ca şi la ADC: – Eroarea de nelinearitate integrală (gain offset) – Eroarea de nelinearitate diferenţială – Eroarea de nul (offset)

125 Dinamica conversiei DAC Actualizare (refresh) – inversul eşantionării evoluţia parametrului se reconstituie din eşantioane ale comenzii Teorema eşantionării rămâne valabilă ! Limitări impuse de DAC – timpul de transfer din calculator în DAC – Tc = timpul de conversie al DAC – Ts = timpul de stabilire a valorii

126 Reconstituirea parametrului t T 0 titi t i+1 tjtj t j+1 Reconstituirea se face printr-o histogramă au loc actualizări a valorii ZOOM

127 Reconstituirea parametrului (zoom) iniţierea comenzii timpul de stabilire timpul de conversie terminarea transferului datelor vechea valoare t T noua valoare noua valoare este efectivă de la iniţierea comenzii pînă la actualizarea valorii

128 Principiul comenzii timp/frecvenţă V t t aceeaşi valoare medie ondulaţie diferită – – frecvenţă diferită – – acelaşi factor de umplere R C

129 Modulare în frecvenţă – – frecvenţă diferită – – durata impulsului fixă – – factor de umplere diferit V t valoare medie diferită t R C

130 Modulare în durată - PWM V t t valoare medie diferită – – frecvenţă fixă – – durata impulsului diferită – – factor de umplere diferit R C

131 Comanda timp/frecvenţă are probleme ! Comenzile analogice timp/frecvenţă sunt afectate principial de erori dinamice: – precizia valorii şi dinamica stabilirii comenzii depinde de intervalul în care variază frecvenţa (modulaţie în frecvenţă) – precizia valorii şi dinamica stabilirii comenzii depinde de frecvenţa utilizată (modulaţie în durată) – ondulaţia comenzii analogice generate poate induce o instabilitate în comandă;

132 Acurateţea globală a comenzii analogice O măsurătoare este bună funcţie de pretenţiile aplicaţiei şi cuprinde estimarea contribuţiei ponderate a factorilor de eroare de mai jos: Acurateţea asupra valorii mărimii: – rezoluţie, liniaritate (integrală, diferenţială), eroare de nul (pentru DAC) – frecvenţă (pentru modulaţia în frecvenţă şi durată) Acurateţea asupra evoluţiei (dinamicii) mărimii: – rată de actualizare a valorii - inversul eşantionării, timpul de stabilire (pentru DAC) – frecvenţă (pentru modulaţia în frecvenţă şi durată)

133 Ce metodă folosim... şi când ? Comanda tip DAC este recomandabilă când se comandă un parametru cu inerţie mică şi se doreşte o comandă cât mai netedă – comanda frecvenţei de acord la un receptor radio Comanda tip timp-frecvenţă este recomandabilă când se comandă un parametru cu inerţie intrinsecă mare şi se poate conta pe o netezire inerţială a comenzii – comanda vitezei unui motor – comanda unei frâne electromagnetice – comanda unui încălzitor Decidem, după necesităţi sau după posibilităţi

134 Comenzi logice Dinamica comenzilor logice

135 Configuraţia comenzilor logice comenzi individuale (1 bit) ansamblul comenzilor cuvânt de comandă (n biţi) Proces real. Mărimi fizice 1 bit Procesor Digital Actuator + condiţionare 1 bit Actuator + condiţionare cuvânt de comandă 00X1 c3c3 c2c2 c1c1 c0c0 MSBLSBX011 c7c7 c6c6 c5c5 c4c4 cuvântul de comandă: întreg de 8 biţi (sau multiplu) rangul este asociat logic cu comanda c i stările pot fi comandate individual X - unele comenzi pot fi neutilizate

136 Dinamica comenzilor logice o configuraţie a comenzilor este fotografia stării dorite, pentru unii parametri ai procesului, la momentul emiterii cuvântului de comandă de către procesorul digital succesiunea comenzilor logice, la momente diferite, reconstituie dinamica de modificare comandată a stărilor procesului intervalul de timp la care se emite cuvântul de comandă este perioada de actualizare a stărilor – stările se pot actualiza periodic sau, doar la nevoie

137 Comenzile trebuiesc elaborate Controlăm procesul achiziţionând stări Controlăm procesul emiţând comenzi Comenzile se elaborează pe baza informaţiei achiziţionate din proces Elaborarea comenzilor se face după un plan (algoritm) care constituie logica aplicaţiei Acest plan este PROGRAMUL implementat în procesorul digital (oricare ar fi acela)

138 Conducerea proceselor cu calculatorul (5)

139 Canal de comunicaţie informaţională Canal (de comunicaţie) Emiţător de semnal Codi- ficator Decodi- ficator Receptor de semnal Emiţător de informaţie Receptor de informaţie Canal (de transmitere a informaţiei) Canalul de comunicaţie transmite semnale materiale, mărimi fizice cărora li se asociază o semnificaţie; Canalul de transmitere a informaţiei transmite semnificaţie; Canalul de transmiterea informaţiei are ca suport material canalul de comunicaţie. Diferenţa constă în punct de vedere.

140 Canal informaţional Flux informaţional interferent T 0 + t T0T0 Ambianţa informaţională Ia, Ha Canal informaţional Ii, HiIe, He Flux informaţional I prin canal EmiţătorReceptor Flux informaţional principal Abordarea informaţională este mai generală şi pune în evidenţă caracteristici informaţionale ale canalului: – permeabilitatea; – imunitatea; – viteza de transfer (diferită de cea realizabilă prin canal de comunicaţie.

141 Schema portului serial UART (MPS430)

142 Canal de comunicare tip RS-485 (1) Conexiunea interfeţei RS-485 la portul UART. Semnalele balansate a reţelei de comunicare tip RS-485

143 Canal de comunicare tip RS-485 (2) Toate dispozitivele sunt conectate în mod egal la o singură pereche de fire răsucite: Ieşirile directe (A) la un singur fir şi cele inverse (B) - la altul. La capetele de linie se setează aşa zise "Terminator" - rezistenţe, cu o valoare nominală egală cu impedanţa caracteristică a liniei Zv = 120 Ohm. Interfaţa RS-485 permite uşor de modificat şi reconfigurat componenţa sistemului – adăugarea sau excluderea unui transceiver RS-485 nu duce la necesitatea modificări altor transceiver RS-485. Modul de conectare a interfeţelor tip RS-485.

144 Canal de comunicare CAN (Controller Array Network) Modul de conectare a interfeţelor tip CAN. Frame-ul datelor în cadrul CAN.

145 Model OSI de comunicare Nivelele OSI necesare pentru realizarea funcţiilor de comunicare

146 Moduri de realizare a comunicaţiei Modul SRD Master – Slave prezintă o succesiune de comenzi transmise, date recepţionate şi confirmări

147 Protocol de comunicare AntetCorpul mesajului Suma de control 4 bytes0 – 250 bytes2 bytes Adr_destAdr_sursaCOMLEN 1 byte Structura antetului mesajului. Structura mesajului pentru protocolul de comunicare. Antetul mesajului este alcătuit din 4 byte, care include: – – adresa staţiei destinatare, căreia îi este adresat mesajul; – – adresa staţiei sursă, care transmite mesajul; – – modul de comunicare şi codul comenzii ce trebuie executată, indică în care mod trebuie prelucrat mesajul ; – – numărul de simboluri (byte), care indică lungimea câmpului de date.

148 Algoritmi interactiune Master-Slave

149 Conducerea proceselor cu calculatorul (6)(6)

150 Programul de comandă Planul după care se controlează procesul Cine face programul Cine execută programul Ce este o aplicaţie

151 Algoritmul de control a procesului Planul de desfăşurare a evenimentelor în sistem după dorinţa utilizatorului: – strategia de achiziţie a informaţiei din sistem – strategia de aplicare a comenzilor Identificarea necesităţilor de decizie Identificarea modalităţilor de acţiune Stabilirea metodologiei de prelucrare a informaţiei şi de elaborare a deciziilor

152 Cine face programul ? Este nerelevant cine face programul – utilizatorul sistemului controlat ? – o untitate diferită, specializată în programare ? Este relevant cui foloseşte programul – EVIDENT!.. utilizatorului sistemului controlat – utilizatorul înţelege şi ştie ce vrea să facă – utilizatorul elaborează, pentru sine sau pentru terţi, specificaţia programului de control

153 Cine execută programul ? Programul este executat de un automat programabil, asimilat în discuţia anterioară cu procesorul digital Procesorul digital poate fi, după tipul şi gradul de complexitate a controlului, fie: – un microcontrolor, microprocesor sau DSP, incluse în interfaţa de proces – un calculator PC, calculator industrial, PDA, etc., denumit în general, calculator gazdă – o combinaţie ierarhică a celor de mai sus

154 Ce este aplicaţia ? Aplicaţia este ansamblul de echipamente (hardware) şi programe (software) care lucrează în cooperare pentru: – conducerea (controlul) procesului – exploatarea informaţiei din proces, conform cu necesităţile utilizatorului

155 Exploatarea informaţiei din aplicaţie Extragerea informaţiei vizuale Prelucrarea off-line şi arhivarea informaţiei Exploatarea globală a aplicaţiei Interacţiunea aplicaţiei cu utilizatorul Parametrare

156 Extragerea informaţiei vizuale Poate fi necesar ca informaţii culese din proces, sau rezultate ale unor prelucrări, să fie vizualizate: – grafic – alfa-numeric – simbolic în folosul unui operator care face sau nu face parte din proces: – în timpul desfăşurării controlului procesului – în afara desfăşurării controlului procesului

157 Folosirea off-line a informaţiei Informaţia din proces nu este, de regulă, vizuală Informaţia vizuală este, de regulă, rezultatul unei prelucrări Totalul informaţiei culeasă din proces poate fi memorată şi utilizată, în totalitate sau parţial, pentru: – prelucrări ulterioare, planificate sau nu; – arhivare în scopul reconstituirii istoriei sau reprelucrării.

158 Interacţiunea aplicaţiei cu utilizatorul Utilizatorul foloseşte aplicaţia Pentru a o folosi trebuie să interacţioneze cu aceasta: – o supraveghează; – o modifică pe parcurs; – îi stabileşte diferite regimuri de lucru; Pentru ca utilizatorul să poată interacţiona cu aplicaţia, aceasta trebuie să fie parametrabilă

159 Parametrarea (configurarea) aplicaţiei O aplicaţie este parametrabilă pentru a fi flexibilă – în scopul intervenţiei asupra derulării (on-line) – în scopul de a o folosi în aplicaţii similare care alcătuiesc o clasă de aplicaţii (off-line) Parametrarea poate fi efectuată: – în timpul derulării aplicaţiei (on-line) – de la o sesiune de lucru la alta (off-line) Parametrabilitatea se pate referi la hard sau la soft Este preferabilă parametrabilitatea soft

160 Sisteme avansate de control a proceselor (7)(7)

161 Sisteme avansate de măsură şi control Măsurătoare vs control Caracteristicile sistemelor avansate Strategii de implementare hard Strategii de implementare soft Mai multe despre timp real Instrumentaţie virtuală Concluzii

162 Măsurăm sau controlăm ? măsurătoare: extragere de informaţie din proces; control: acţiune asupra procesului funcţie de ceea ce s-a măsurat: – control, modificare, în timp real (on-line); – control, modificare, pe termen lung (off-line) Note: – on şi off – line nu se exclud; pot coexista! – asupra timpului real vom reveni!

163 Caracteristicile sistemelor avansate versatilitate (mai multe clase de aplicaţii); parametrabilitate (mai multe aplicaţii în cadrul unei clase sau mai multe situaţii în cadrul unei aplicaţii); interactivitate cu operatorul; putere mare de calcul/decizie (on-line); putere mare de stocare, arhivare (off-line);

164 Strategii de implementare hard Magistrale de instrumentaţie Adaptoare specializate în calculator Periferice specializate pentru calculator Structuri integrate achiziţie, comanda, decizie, interacţiune (actionare)

165 Magistrale de instrumentaţie (comunicare) Serial CAN, RS-485,, GPIB, IEEE-488

166 Adaptoare specializate în calculator ISA, PCI, PCMCIA PCI sau ISA PCMCIA

167 Periferice specializate pentru calculator UART, I2C, USB, LPT ACTOReX ATRACTOR SIMON 3D

168 Sau... combinaţii GPIB PCI SIMON 3D serial RS232 ACTOReX DVM USB

169 De exemplu: ERGOSIM (nou) ATRACTOR ERGOSIM (hard) ERGOSIM (soft)

170 Strategii de implementare soft Relaţia master/slave Periferice inteligente şi control ierarhizat Timp real Firmware pe interfaţa de proces Sistemul de operare pe calculatorul gazdă Interacţia aplicaţiei cu sistemul de operare

171 Structura software recepţionarea directivelor gazdei şi asigurarea comunicaţiei nivelul comenzilor soft pentru resursele blocului (metode) driver de interfaţă calculatorul gazdă aplicaţie sistem de operare pe calculatorul gazdă interfaţa de proces FIRMWARE SOFT pt. INTERFAŢĂ DRIVER + ActiveX SOFT pt. APLICAŢIE Către proces Către utilizator

172 Cine este comandantul Calculatorul gazdă (pe el rulează aplicaţia) atunci avem un master (calculatorul gazdă, şi un sau mai multe slave (interfaţa de proces); Dar dacă interfaţa de proces este inteligentă şi poate prelua sarcini de control la nivel local ? atunci avem un control ierarhizat bazat pe coordonarea calculatorului gazdă şi autonomie a interfeţei de proces pentru executarea anumitor sarcini Dar dacă interfaţa de este foarte inteligentă ? atunci nu are nevoie de calculator gazdă şi rulează singură aplicaţia - este master!

173 Controlul ierarhizat vs timp real Alegerea soluţiei, între cele două extreme ale relaţiei master/slave sumarizate în slide-ul precedent, este strâns legată de noţiunea de control în timp real Deci... din nou despre timp real

174 Timp real 1.stare 3.decizie 2.achiziţie 4.comandă Noţiunea de timp real este relativă la viteza de desfăşurare a procesului şi viteza necesară de răspuns a controlului pentru a se putea modifica parametrii procesului în timp util. Nu toate răspunsurile trebuie să fie în timp real

175 Să analizăm bucla de reglaj ! 1.stare3.decizie2.achiziţie4.comandă t achiziţie = t măsură + t transmisie t decizie = t prelucrare + t decizie t comandă = t transmisie + t acţionare t reacţie = t achiziţie + t decizie + t comandă Condiţia de timp real este atunci când: t reacţie < timpul necesar de răspuns Buclele de reglaj sunt multiple Buclele de reglaj sunt imbricate să analizăm un exemplu simplu !

176 Interfaţa de proces este inteligentă stare (t n ) achiziţie prelucrare stare (t n+1 ) prelucraredecizie comandă date proces prelucrare Interfaţă de achiziţie şi actionare calculator gazdă B1 B2 transmisie Microcontroler

177 Interfaţa de proces nu este inteligentă stare (t n ) achiziţie prelucrare stare (t n+1 ) prelucraredecizie comandă date proces prelucrare interfaţă de achiziţie calculator gazdă B1 B2 transmisie

178 Timpul de reacţie În exemplul de mai sus: – B1 este o buclă critică, se parcurge frecvent – B2 este o buclă ocazională Cu ce se pierde timp: – cu transmisia datelor între interfaţă si gazdă – cu prelucrarea, decizia, stocarea – cu interacţia cu operatorul uman Varianta cu interfaţă inteligentă este mai rapidă. Face economie de comunicaţie.

179 Control jos sau sus ? Control jos înseamnă control aproape de proces - în interfaţa de proces Control sus înseamnă control departe de proces - în calculatorul gazdă Buclele de reglaj critice, frecvente, care necesită timp de răspuns scurt este bine să fie mutate jos Rezultatul: scăderea timpului de răspuns global a controlului de proces

180 Control în interfaţa de proces Control jos implică, în general: – resurse de memorie, putere de calcul, capacitate de stocare, interacţiune cu operatorul (în general) mici; – viteză de reacţie mare, chiar pentru procesoare relativ lente, deoarece... – programare în asamblare sau C (firmware) – pe microprocesoare, microcontroloare, DSP (caz de mare performanţă)

181 Control în calculatorul gazdă Control sus implică, în general: – resurse de memorie, putere de calcul, capacitate de stocare, interacţiune cu operatorul (în general) mari; – programare în C++, Java, medii Vizual, medii complexe şi performante de dezvoltare de aplicaţii – viteză de reacţie mică, chiar pentru calculatoare rapide, deoarece... – toată activitatea depinde de comunicaţie – toată activitatea este mediată de sistemul de operare

182 Sisteme de operare pe Calculator gazda DOS: – simplu, acces uşor şi controlat la resurse, control bun asupra sincronăzării aplicaţiilor (timing), sărac în medii de dezvoltare, şi.... nu mai este la modă (adică standard) Linux – relativ simplu, acces uşor şi controlat la resurse, control bun asupra sincronizării aplicaţiilor (timing), relativ sărac în medii de dezvoltare; deşi nu este agreat, este atât de performant şi ieftin încât, uneori, este inevitabil Windows – complex, acces dificil la resurse, nu există control asupra sincronăzării aplicaţiilor (timing), extrem de bogat în medii de dezvoltare, la modă, standard şi... scump

183 Sisteme de operare (comparaţie) răspuns în timp Comoditate: – – interacţie bună cu utilizatorul – – medii de dezvoltare performante (OOL) – – facilităţi pentru aplicaţii avansate (reţea, Internet, etc.) DOS Linux Windows Comoditate solutii Linux şi Windows pot fi mixate

184 Windows este un standard de facto Avantaje multiple: – interacţiune bună cu operatorul – medii de dezvoltare aplicaţii bogate – posibilitate de incorporare a aplicaţiilor existente (EMBEDDED applications) – extrem de popular Dezavantaje: – control slab la resurse (evitat - pe cât posibil - prin tehnologia ActiveX) – control inexistent asupra timing-ului (inevitabil)

185 servicii în restaurante, garaje, administraţie; servicii cu interfaţă umană, etc. aplicaţii INCS, controlul temperaturii, automatizări de securitate în arie, etc. aplicaţii INCS (1kHz), standuri de testare, linii de producţie, procese industriale, etc. aplicaţii INCS (50-500kHz-?), evaluare şi control în timp real (cu condiţia utilizări sistemelor DSP şi RISC) Windows vs timp real Avantaje Windows Interfaţă utilizator confortabilă Multitasking Funcţii de reţea Standardizare Minute: Secunde: Millisecunde: Microsecunde: Dezavantaje Windows Timing imprecis Stabilitatea programului negarantată Lipsa facilităţilor de timp real (întreruperi) Nu se pot utiliza periferice simple

186 Instrumentaţie virtuală Conceptul instrumentaţie virtuală Medii de dezvoltare de aplicaţii Exemple Facilităţi de incorporare (embedded applications) Aplicaţii de reţea (networking) Aplicaţii pe suport web (Internet)

187 Conceptul instrumentaţie virtuală Posibilitatea de a construi şi utiliza un echipament condus de calculator care se comportă, virtualmente, ca un echipament construit din elemente hard (ca un aparat). Echipamentul, în sine, este foarte real ! Utilizatorul vede, prin interfaţa de utlizator, un echipament virtual care permite: – comanda facilă prin interfeţe umane (mouse, tastatură) – vizualizarea, prelucrarea şi stocarea datelor, doar prin comenzi ale unui panou virtual – parametrarea prin acelaşi panou virtual

188 Facilităţile instrumentaţiei virtuale Posibilitatea de a construi, pe baza aceluiaşi set de echipamente hard, diferite echipamente virtuale, schimbând numai aplicaţia care rulează pe calculator Posibilitatea de a vedea şi utiliza un echipament aflate la distanţă ca şi cum te-ai afla lângă el Pentru a profita de aceste facilităţi, aplicaţiile trebuie dezvoltate

189 Medii de dezvoltare de aplicaţii Aplicaţii specializate – TestPoint (Keithley) – LabView (National Instruments) – DriverLINX, ExceLINX, VisualSCOPE... sau medii de dezvoltare normale OOL: – Visual C++, VB,.Net, etc.

190 Interfaţa utilizator pentru dezvoltare

191 Simon 3D

192 Simon 3D (Embedded Excel)

193 Exemplu de aplicaţie în reţea locală ERGOSIM (hard) ERGOSIM (soft-reţea) ERGOSIM (hard) ERGOSIM (hard) Intranet

194 Sistemului de comandă pe reţea locală

195 Exemplu de aplicaţie de control prin web Server (undeva) e-ACTOReXSIMON 3D Profesorul in Franta Laborator la UTM Antrenorul vede aplicaţia care se derulează la Chisinau Internet

196 Sistemului de comandă conecta la Internet

197 Asta vede profesorul prin Internet

198 Proiectarea aplicaţiei sistemului de comandă (8)(8)

199 Structura integrală a aplicaţiei Se elaborează structura ierarhică a întregii aplicaţii a sistemului de comandă

200 Structura unei componente a aplicaţiei Se elaborează structura detaliată a fiecărei componente şi se specifică toate interacţiunile cu celelalte componente

201 Diagrama de stări a componentelor Pentru fiecare componentă se elaborează diagrama de stări, care trebuie să reflecte procesul controlat.

202 Realizarea aplicaţiei sistemului de comandă (1) Se creează un proiect comun pentru toată aplicaţia, ce include modulele de program pentru fiecare componentă a aplicaţiei.

203 Realizarea aplicaţiei sistemului de comandă (2) Se obţine programul final al aplicaţiei prin compilarea proiectului şi fuzionarea tuturor componentelor şi librăriilor.

204 Realizarea aplicaţiei sistemului de comandă (3) Se înscrie programul final în memoria ROM al microcontroler- ului sau a mostrei de elaborare.

205 Realizarea aplicaţiei sistemului de comandă (4) Se verifică programul final înscris în memoria ROM a mostrei de elaborare.

206 Fiabilitatea aplicaţiei sistemului de comandă Execută oare programul tot aceea ce mi-am dorit ?

207 Verificarea aplicaţiei prin simulare Se verifică programul computerului de bord cu modele de reţele Petri.

208 Exemple de control asistat de calculator (9)(9)

209 Exemplu de aplicatie microcontrolere (1) Realizare Case intelegente pe reţele de microcontrolere

210 Exemplu de aplicatie microcontrolere (2) Sistem de comanda pe calculatoare şi microcontrolere distribuite pentru o centrală termică autonomă (Aeroportul Chişinău)

211 Exemplu de aplicatie microcontrolere (3) Control electronic al alimentarii cu gaz si aprindere a amestecului pentru fiecare cilindru ale unui motor cu 12 cilindri de de 9MW putere

212 Exemplu de aplicatie microcontrolere (4) Sistem de comanda pe calculatoare şi microcontrolere distribuite pentru o staţie electrică autonomă (staţia de pompare Apa- Canal din Vadu- lui-Vodă)

Componente electronice ale sistemului SDMC-103 petru troleibuse Exemplu de aplicatie microcontrolere (5a)

Componente constructive Exemplu de aplicatie microcontrolere (5b)

Troleibuzul după modernizare Exemplu de aplicatie microcontrolere (5c) Troleibuzul până la modernizare

Unitate SDMC-103 instalată pe diferite modele de troleibuze Exemplu de aplicatie microcontrolere (5d)

Modele de troleibuze utilate cu SDMC-103 Exemplu de aplicatie microcontrolere (5e)

Laboratorul pentru testarea SDMC

219 Concluzii Tendinţe actuale Optimizarea soluţiei Analiza CPRS

220 adaptarea strategiei hard şi soft la aplicaţie echilibru între interacţiunea locală/centrală utilizarea tehnologiilor de programare OOL utilizarea tehnologiilor de programare Visual utilizarea tehnologiilor de reţea utilizarea tehnologiilor web Tendinţe actuale de implementare

221 Optimizarea funcţie de aplicaţie – evaluarea corectă a pretenţiei timp real vs non-timp real – analiza costurilor – analiza capacităţii de implementare a aplicaţiei – analiza capacităţii de utilizare a aplicaţiei Nu toate canalele sau buclele de control trebuie să fie de timp real – hibridarea hardware-ului – utilizarea strategiei adecvate pentru aplicaţie (control distribuit, ierarhizarea controlului, etc.) Soluţia optimă

222 Analiza CPRS Factorul CPRS (Critical Performance RequirementS) Indentificarea corectă a componentelor CPRS – Ce doriţi să măsuraţi? Ce doriţi să acţionaţi? – Care sunt necesităţile de precizie, exactitate şi repetabilitate? – Cât de rapid este procesul controlat? Este de timp real? – Câte canale de măsură/acţiune sunt necesare? Sunt ele Multiplexabile? – Ce prelucrări de date sunt necesare? – Care este orizontul de timp pentru implementarea sistemului? – Care este plafonul bugetului pentru sistemul respectiv? – Este necesară multiplicarea? Câte exemplare se produc?

Mulţumesc pentru răbdare!