Lucrare 6 Final

13
Laborator BAZELE SISTEMELOR DE ACHIZIŢII DE DATE Lucrarea 6 Lucrarea de laborator 6 DEZVOLTAREA APLICATIILOR SUB LABVIEW I. SCOPUL LUCRĂRII: Scopul acestei lucrări este de a face o introducere în mediul de programare grafică LabVIEW. Se va prezenta conceptul de instrument virtual (VI), cum se creează un instrument virtual şi se vor realiza aplicaţii de instrumentaţie virtuală. II. NOŢIUNI TEORETICE 2. Introducere în mediul LabVIEW Mediul LabVIEW (Laboratory Virtual Instrument Engineering Workbench) este unul dintre primele imbaje de programare grafică ce permite dezvoltarea de aplicaţii de achiziţie de date, devenind un standard în programarea aplicaţiilor de testare, măsurare şi automatizări industriale. LabVIEW permite construirea de instrumente în interiorul computerului PC, cu performanţe şi abilităţi ce nu pot fi atinse de instrumentele clasice. Împreună cu plăcile de intrare-ieşire (I/O), el permite generarea fluxurilor de informaţie digitală sau analogică pentru automatizări şi crearea sau simularea aparaturii de laborator (voltmetre, osciloscoape, analizoare de spectru, generatoare de semnal, etc.). LabVIEW utilizează terminologii, idei şi reprezentări familiare tehnicienilor şi inginerilor, iar programarea aplicaţiilor se face mai mult prin simboluri grafice decât prin instrucţiuni sub formă de text specifice programării clasice. Pentru scrierea programelor în LabVIEW se utilizează limbajul grafic de generaţia a 5-a, numit G. Programarea într-un astfel de limbaj grafic se face prin asamblarea elementelor componente, fiind astfel mai uşor de înţeles şi depanat şi de persoane cu mai puţină experienţă în programare. 77

description

6

Transcript of Lucrare 6 Final

Lucrarea de laborator 1

Laborator BAZELE SISTEMELOR DE ACHIZIII DE DATE Lucrarea 6

Lucrarea de laborator 6

Dezvoltarea aplicatiilor sub LabVIEW

I. Scopul lucrrii:

Scopul acestei lucrri este de a face o introducere n mediul de programare grafic LabVIEW. Se va prezenta conceptul de instrument virtual (VI), cum se creeaz un instrument virtual i se vor realiza aplicaii de instrumentaie virtual.

II. Noiuni teoretice

2. Introducere n mediul LabVIEW

Mediul LabVIEW (Laboratory Virtual Instrument Engineering Workbench) este unul dintre primele imbaje de programare grafic ce permite dezvoltarea de aplicaii de achiziie de date, devenind un standard n programarea aplicaiilor de testare, msurare i automatizri industriale. LabVIEW permite construirea de instrumente n interiorul computerului PC, cu performane i abiliti ce nu pot fi atinse de instrumentele clasice. mpreun cu plcile de intrare-ieire (I/O), el permite generarea fluxurilor de informaie digital sau analogic pentru automatizri i crearea sau simularea aparaturii de laborator (voltmetre, osciloscoape, analizoare de spectru, generatoare de semnal, etc.).

LabVIEW utilizeaz terminologii, idei i reprezentri familiare tehnicienilor i inginerilor, iar programarea aplicaiilor se face mai mult prin simboluri grafice dect prin instruciuni sub form de text specifice programrii clasice. Pentru scrierea programelor n LabVIEW se utilizeaz limbajul grafic de generaia a 5-a, numit G. Programarea ntr-un astfel de limbaj grafic se face prin asamblarea elementelor componente, fiind astfel mai uor de neles i depanat i de persoane cu mai puin experien n programare.

2.1. Concepte de baz n LabVIEW

Orice program LabVIEW este un instrument virtual (VI). Instrumentul virtual (VI) este un modul de program care este reprezentat n form grafic pentru a semna cu un instrument real. Instrumentele virtuale sunt formate din dou pri distincte, dar strns legate: panoul frontal i diagrama bloc: Panoul frontal este panoul de control al instrumentului virtual sau interfaa utilizator a aplicaiei. Prin intermediul panoului frontal se pot stabili valori de intrare i respectiv vizualiza datele. ntruct panoul frontal este asemntor cu cele existente la aparatele reale, intrrile vor fi numite controale iar ieirile indicatoare. Se poate folosi o mare varietate de controale i indicatoare cum ar fi ntreruptoare, comutatoare, butoane, diagrame, grafice i altele, pentru a face panoul frontal uor de identificat i de neles. n figura 2.1 este prezentat un exemplu de panou frontal pentru un instrument virtual destinat msurrii temperaturii.

Diagrama bloc reprezint programul VI i nsoete fiecare panou frontal. Construcia diagramei bloc se face sub forma unei diagrame de flux de date, utiliznd limbajul grafic de programare G. Componentele diagramei bloc, cum ar fi buclele (Loops), structurile Case i funciile aritmetice, reprezint nodurile programului. Aceste componente sunt conectate ntre ele prin fire n diagrama bloc pentru a arta traseul fluxului de date. Diagrama bloc pentru instrumentul virtual destinat msurrii temperaturii este prezentat n figura 2.2.

Figura 2.1 Panou frontal pentru control temperatur n LabVIEW

Figura 2.2 Diagrama bloc pentru control temperatur.Puterea programului LabVIEW const n structura ierarhic a VI-urilor. Odat creat un instrument virtual, va putea fi folosit ca subVI n diagrama bloc a unui VI de nivel mai nalt. Nu exist limite ale numrului de nivele dintr-o astfel de ierarhie. Conectarea unui VI n diagrama bloc a unui alt instrument virtual de nivel mai nalt se face printr-o pictogram/conector. Terminalele conectoare indic unde trebuie legate firele pentru intrrile i ieirile instrumentului reprezentat prin pictograma respectiv.

2.2 Ferestre de lucru n LabVIEW

Programarea n LAbVIEW se face n dou ferestre diferite: interfaa utilizator sau panoul frontal i programul sau diagrama. Cele dou ferestre se activeaz simultan la lansarea programului LabVIEW, una n spatele celeilalte. Trecerea de la o fereastr la alta se face prin executarea unui click cu mouse-ul pe fereastra respectiv sau cu comanda show diagram (show panel) din meniul Windows.

Pentru realizarea aplicaiei dispunem de o multitudine de unelte grupate pe categorii. Imediat sub meniu avem bara de unelte (Tool Bar) care conine cele mai utilizate butoane. Celelalte unelte necesare n faza de dezvoltare a aplicaiei se acceseaz din meniul Windows i sunt: paleta de scule (Tools palete), paleta de control (Controls) i paleta de funcii (Functions). Aceste ultime dou palete se activeaz din ferestrele Panel, respectiv diagram, sau prin click cu tasta dreapt a mouse-ului n interiorul ferestrei respective. n interiorul acestor palete VI-urile i funciile sunt grupate pe categorii funcionale.

Figura 2.3. Paletele cu unelte din LabVIEW 6.1

Tabel 1. Semnificaia instrumentelor din meniul Tools Palette

Selectarea automat a instrumentului Dac este activat, la trecerea cu mouse-ul peste un obiect din ferestrele panel i diagram se selecteaz automat instrumentul corespunztor din paleta de instrumente.

Operare schimb valoarea unui control sau selecteaz textul ntr-un control

Poziionare selecteaz , poziioneaz i redimensioneaz obiecte

Inscripionare editeaz texte i creeaz etichete independente

Cablare leag obiectele ntre ele n cadrul editrii diagramei bloc a programului.

Apelare rapid meniul obiect deschide meniul tip pop-up al unui obiect

Derulare fereastr - deplasare fereastr

ntrerupere seteaz puncte de ntrerupere n VI-uri, funcii, etc.

Testare testeaz valorile intermediare pe conexiuni

Copiaz culoare copiaz culoarea curent

Seteaz culoarea pentru fundal (bckground)

2.3. Cicluri i diagrame

Structurile controleaz fluxul de date dintr-un instrument virtual (VI). LabVIEW dispune de patru structuri de control al programului: ciclul While (While Loop), ciclul For (For Loop), structura de tip Case si structura de tip Sequence. Plasarea unui ciclu n diagrama bloc se face prin selectarea sa din setul Structs&Constants din meniul Functions i ncadrarea zonei care va fi repetat.

Figura 2.4. Structuri de programare n LabVIEW Structura de control Sequence (secven) permite construirea unui ansamblu de subdiagrame numerotate, care sunt executate n ordinea cresctoare a numerelor.

Structura Case structur de selecie cu alternative multiple permite i ea construirea unui ansamblu de subdiagrame numerotate, fiecare subdiagram corespunznd unui caz. n funcie de valoarea legat la terminalul selector, structura va executa un singur caz. Valoarea selectoare poate fi numeric sau Boolean. Dac este Boolean, structura are un caz adevrat (True) i unul Fals (False). Dac este numeric, structura poate avea pn la 231-1 cazuri.

Ciclul For este o structur repetitiv care execut diagrama din interiorul marginilor sale de un numr prestabilit de ori. Ciclul For dispune de dou terminale: terminalul numr de execuii (de intrare) i terminalul contor al iteraiilor (de ieire). Terminalul numr de execuii specific numrul de iteraii pe care trebuie s le efectueze ciclul. Terminalul contor al iteraiilor specific numrul de iteraii care au fost executate pn n momentul de fa. Ciclurile For i While permit folosirea regitrilor de schimb Shift Register, care reprezint variabile locale care transfer valorile de la o iteraie la urmtoarea. Crearea unui registru de schimb se face executnd clic dreapta cu mouse-ul pe marginea din dreapta sau stnga a ciclului i selectnd Add Shift Register din meniul cu comenzi rapide care apare. Registrul de schimb conine o pereche de terminale aezate n opoziie pe marginile din stnga i dreapta ale ciclului. Ciclul While este o structur de repetiie clasic folosit pentru a executa diagrama din interiorul su pn cnd valoarea Boolean trimis terminalului condiional (un terminal de intrare) este Fals. VI-ul verific terminalul condiional la sfritul fiecrei iteraii astfel nct ciclul While va fi executat ntotdeauna cel puin o dat. Terminalul iteraie este un terminal numeric de ieire care conine numrul de iteraii executate de ciclu pn n momentul respectiv.Regitrii de schimb (disponibili pentru ciclurile While i For) sunt variabile locale care transfer valorile de la o iteraie la nceputul urmtoarei. Ei se plaseaz pe conturul structurii astfel: intrarea n stnga (o sgeat descendent) i ieirea n dreapta (o sgeat ascendent). Pentru o execuie corect, punctele de intrare trebuiesc iniializate. Regitrii de schimb se pot configura astfel nct s permit accesul la valorile din iteraiile precedente. Pentru fiecare iteraie ale crei valori se dorete a se revedea, trebuie adugat un nou element la terminalul din stnga al registrului de schimb.Diagramele - sunt indicatoare numerice speciale care afieaz unul sau mai multe puncte. Aceste indicatoare pot fi selectate prin intermediul opiunii Graph din meniul Controls. Diagramele pot afia una sau mai multe curbe. Diagramele au trei moduri de actualizare a imaginii: prin derulare, prin redesenare i prin baleiere. Selectarea modul dorit se poate face prin execuia unui clic dreapta cu mouse-ul pe diagram, selectnd apoi una dintre opiunile meniului Data Operations>Update Mode. (n modul rulare se selecteaz Update Mode din meniul cu comenzi rapid al diagramei).2.4. Analiza sistemelor i a semnalelorLabVIEW este un mediu deosebit pentru analiza semnalelor i a sistemelor. El permite dezvoltarea de programe pentru rezolvarea sistemelor de ecuaii algebrice, fitarea curbelor, integrarea ecuaiilor difereniale ordinare, calcularea derivatelor i a integralelor diverselor funcii, generare i analiz de semnal, calcularea transformatei Fourier discret i filtrarea semnalelor. Pentru aceasta LabVIEW conine un numr mare de instrumente (VI) dedicate pentru rezolvarea ecuaiilor liniare algebrice. Funciile pentru lucrul cu vectori i matrici se gsesc n submeniul Array din paleta de funcii n submeniul Mathematics. LabVIEW ofer posibilitatea lucrului cu iruri i operaii I/O cu fiiere necesare pentru stocarea/citirea datelor. Exist de asemenea un numr mare de funcii i VI-uri pentru aceste operaii, disponibile n submeniurile String i File I/O din paleta de funcii. Un alt capitol la care LabVIEW un numr mare de funcii i Vi-uri dedicate este comunicaia pentru controlul instrumentelor. Exist VI-uri pentru comunicaia serial, GPIB (IEEE 488), VISA. III. Desfurarea lucrriiGenerarea unor programe (VI) simple3.1. Construii un VI care s genereze numere aleatoare a cror valoare variaz ntr-un interval [-A, +A], unde valoarea A poate fi reglat de utilizator, i s le afieze ntr-o diagram cu actualizare de tip redesenare. Pentru generarea numerelor aleatoare se va folosi generatorul de numere aleatoare cuprinse ntre 0 i 1 din LabVIEW. Dac notm cu x aceste numerele aleatoare i cu y numerele din intervalul [-A,+A], atunci numerele y se pot calcula cu relaia: y = 2Ax - A Panoul i schema bloc ale aplicaiei sunt prezentate n figura urmtoare:Figura 3.1 Panoul i diagrama programului pentru generarea numerelor aleatoareIndicaii: se deschide o nou fereastr panou i se salveaz cu numele NumereAleatoare.vi; Se deschide panoul Controls (din Windows / Show Controls Palette), iar din Numeric se va face click pe Simple Horizontal Slide i se poziioneaz pe ecran (se va eticheta: Valoarea lui A); n panoul Controls se selecteaz Graph i apoi Waveform Chart, se poziioneaz pe panou i se denumete: Vizualizare numere aleatoare; Se activeaz fereastra Diagram, iar din meniul Functions / Numeric se aduc pe ecran urmtoarele icon-uri: Random Number, Numeric Constant, Multiply i Substract; Se cableaz schema bloc din fereastra Diagram cu Conect Wire (din Tools Palete) pentru a realiza relaia y = 2Ax A. O conexiune corect este indicat printr-un fir continuu. Dac o conexiune devine punctat nseamn c a aprut o eroare la conectare, iar eroarea respectiv este semnalizat ntr-o fereastr numit Error List; Dup realizarea corect a schemei, din fereastra panou se ruleaz aplicaia, cu ajutorul butonului de rulare . Observaie: programul calculeaz un singur numr aleator la o rulare. Pentru a vedea mai multe numere pe grafic se poate apsa butonul rulare continu . O alt soluie este s se foloseasc o bucl de repetiie n program.3.2. S se modifice programul de la punctul anterior astfel nct la o singur rulare s se genereze 150 de numere aleatoare la un interval de 100ms unul de altul. Programul se va salva cu un alt nume.Figura 3.2 Diagrama modificat a programului pentru generarea numerelor aleatoare3.3. S se salveze VI-ul de la punctul 3.2. ca subVI cu numele Numere aleatoare (-A, A). SubVI/ul va avea ca intrri: Numrul de numere generate (N), Valoarea lui A (A) i perioada de generare (delay). Se va salva ntr-o librrie nou. Indicaie: pentru a crea un subVI, trebuie construite pictograma i conectorii pentru acel subVI. Conectorul reprezint interfaa programabil ctre un VI. Dac se utilizeaz controale sau indicatoare n panoul frontal pentru a schimba date cu subVI-urile, atunci aceste controale i indicatoare necesit terminale n zona conectorului.Pentru realizarea pictogramei trebuie fcui urmtorii pai: click dreapta pe pictograma (icon) din colul din partea dreapt sus a ferestrei panoului sau diagramei i selectarea opiunii Edit Icon; alegerea numrului de culori: 16 sau 256 culori sau alb/negru i desenarea pictogramei folosind instrumentele din partea stng.Pentru realizarea conectorilor trebuie fcui urmtorii pai: selectarea Show Connector din meniul cu comenzi rapide asociat zonei pictogramei; click dreapta pe conector i selectarea Patterns pentru a alege un alt mod de dispunere a terminalelor pentru VI; Asocierea terminalelor la controale i indicatoare se face click pe un terminal al conectorului (terminalul se nnegrete) i apoi se face click pe controlul sau indicatorul panoului frontal la care se dorete asocierea terminalului selectat. n jurul controlului selectat va apare un marcaj; Se repet pasul anterior pentru fiecare control sau indicator care trebuie conectat.3.4. S se creeze un VI care s genereze dou semnale: sinusoidal i cosinusoidal, fiecare semnal fiind format din cte 100 de eantioane ntr-o perioad. Amplitudinea semnalului sinusoidal va fi de 0.5, iar a celui cosinusoidal de 1. Semnalele se vor reprezenta grafic, sub form tabelar, iar valorile eantioanelor se vor scrie ntr-un fiier text pe dou coloane. Panoul i diagrama programului sunt reprezentate n figura 3.3 Figura 3.3 Panoul i diagrama programului pentru salvarea n fiier a dou semnaleIndicaie: se va forma o matrice bidimensional care s conin valorile eantioanelor celor dou funcii iar apoi se va salva ntreaga matrice n fiier folosind VI-ul Write to Spreadsheet File.vi din biblioteca File I/O. 3.5. Construii un VI care s msoare continuu temperatura la intervale de o secund i s o afieze ntr-o diagram cu actualizare prin redesenare. Dac temperatura crete sau scade sub anumite valori prestabilite, VI-ul aprinde nite LED-uri de avertizare pe panoul frontal. Diagrama trebuie s afieze att evoluia temperaturii ct i limitele permise de variaie a acesteia. Ar trebui s putei stabili limitele din panoul frontal. Denumii VI-ul Limite temperatur.vi. 3.5. Modificai VI-ul creat n exerciiul 3.8 pentru a afia valorile maxime si minime ale curbei de variaie a temperaturii. Indicaie: Trebuie s utilizai regitrii de schimb i funcia Max&Min (meniul Comparison). Denumii VI-ul Limite temperatur (max/min).vi.Studierea unor programe propuse cu rol de exemplu3.6. Se vor studia urmtoarele programe n LabVIEW: Control Mixer Process.vi Temperature System Demo.vi generarea si procesarea semnalelor filtru de mediere. Pentru fiecare program se va analiza funcionarea i modul de realizare (diagrama). Se va studia structura ierarhic a acestora, deschiznd fiecare subVI din structura acestora i se va analiza modul n care a fost realizat funcia respectiv. TemS se realizeze un program care s traseze caracteristicile de ncrcare i descrcare ale condensatoarelor. VI-ul va avea panoul frontal din figura 3.4. Figura 3.4. Panoul aplicaiei pentru trasarea caracteristicilor de ncrcare/descrcare a unui condensator. PAGE 85