Sunteți pe pagina 1din 18

Achiziiia si procesarea datelor Laborator 4 .

Lucrarea de laborator 4

MEDIUL DE PROGRAMARE LABVIEW

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 simple de instrumentaie virtual.

NOIUNI TEORETICE

1. Introducere n mediul LabVIEW

Mediul LabVIEW (Laboratory Virtual Instrument Engineering Workbench) dezvoltat de


National Instruments este unul dintre primele limbaje de programare grafic ce permite realizarea
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 prin intermediul unor fire, fiind astfel mai uor de neles i
depanat i de persoane cu mai puin experien n programare.
Codului grafic al aplicaiei descris n diagrama bloc n LabVIEW este executat prin conversia
acestuia ntr-un cod main optimizat, prin intermediul unui compilator grafic. De fiecare dat cnd
o aplicaie creat anterior este deschis n LaBVIEW, codul surs grafic al aplicaiei este disponibil,
el putnd fi analizat i eventual modificat foarte uor. La fiecare comand de rulare a programului
se realizeaz o nou compilare a codului.
Tehnica programrii grafice, bazate pe fluxul de date, permite execuia paralel i
multitasking a diferitelor pri ale codului unui program. Limbajele de programare clasice bazate pe
instruciuni de tip text sunt prin construcie secveniale, instruciunile fiind executate n ordinea n
care au fost scrise. Un alt avantaj al programrii grafice in LabVIEW, bazat pe modularitatea i
ierarhizarea aplicaiilor, este posibilitatea testrii individuale a modulelor i reutilizarea codului.
LabVIEW ruleaz pe o gam foarte larg de platforme hardware: Windows, Sun, Macintosh
i SPARC stations.

1.1 Concepte de baz n LabVIEW

Orice program LabVIEW este numit instrument virtual (VI Virtual Instrument).
Instrumentul virtual (VI) n LabVIEW este un modul de program a crui form grafic de
prezentare (interfa) este asemntoare cu un instrument real i realizeaz funciile acestuia.

Instrumentele virtuale sunt formate din dou pri distincte, dar strns legate ntre ele: panoul
frontal i diagrama bloc:

1
Introducere in mediul de programare LabVIEW Lucrarea 1

- 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 sunt 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 6.1
este prezentat un exemplu de panou frontal pentru un instrument virtual destinat msurrii
temperaturii.
- Diagrama bloc reprezint codul surs al instrumentului virtual 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, controalele i indicatoarele, reprezint
nodurile programului. Aceste componente sunt conectate ntre ele prin fire n diagrama
bloc pentru a arta traseul fluxului de date. Un bloc de instruciuni se execut doar cnd la
toate intrrile sunt disponibile date; rezultatele sunt furnizate n exteriorul blocului doar
dup execuia tuturor instruciunilor din cadrul acestuia. Diagrama bloc pentru un
instrument virtual destinat msurrii temperaturii este prezentat n figura 1.2.

Avantajul programului LabVIEW const n structura ierarhic a VI-urilor. Odat creat un


instrument virtual, va putea fi folosit ca subinstrument virtual (subVI) n diagrama bloc a unui VI
de nivel mai nalt. Nu exist limite ale numrului de nivele dintr-o astfel de ierarhie arborescent.
De aceea, atunci cnd se proiecteaz i implementeaz un VI trebuie s se in cont de natura
modular a acestuia: s poat fi utilizat att ca program principal ct i ca subrutin n componena
altui VI.
Denumirea subVI-urilor apelate de aplicaia pentru msurarea temperaturii prezentat
anterior, precum i structura ierarhic a acesteia (figura 1.3) se pot vedea accesnd meniul Browse
Show VI Hierarchy.

Figura 1.1 Panou frontal al unui IV pentru msurarea temperaturii

2
Achiziiia si procesarea datelor Laborator 4 .

Figura 1.2 Diagrama bloc a instrumentului virtual pentru msurarea temperaturii.

Figura 1.3 Structura ierarhic a instrumentului virtual pentru msurarea temperaturii.

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.

1.2 Ferestre de lucru n LabVIEW

Programarea n LabVIEW se face n dou ferestre diferite: interfaa utilizator sau panoul
frontal i diagrama sau codul sur. 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
Window.
Pentru realizarea aplicaiei dispunem de o multitudine de unelte, funcii de bibliotec i
subinstrumente virtuale. 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
Window 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.

3
Introducere in mediul de programare LabVIEW Lucrarea 1

Figura 1.4 Paletele cu unelte din LabVIEW

Tabelul 1.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 prin fire.
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 (probe) testeaz valorile intermediare pe conexiuni
Copiaz culoare copiaz culoarea curent

Seteaz culoarea pentru obiecte i fundal (background)

4
Achiziiia si procesarea datelor Laborator 4 .

1.3. Instruciuni de control i tipuri de date

1.3.1 Structuri
Fluxul de date dintr-un instrument virtual (VI) este controlat cu ajutorul structurilor.
LabVIEW dispune de opt tipuri de structuri de control al programului: structura repetitiv While
(While Loop), structura repetitiv For (For Loop), structura pentru selecie multipl Case,
structurile secveniale Stacked Sequence i Flat Sequence i structura eveniment Event, structura
Bucla temporizata (Timed Loop), Formula Node, si MathScript Node. Plasarea unei structuri n
diagrama bloc se face prin selectarea sa din setul Structs&Constants din meniul Functions i
ncadrarea zonei care va fi repetat. Toate instruciunile care se repet vor fi plasate n interiorul
structurii.

Figura 1.5. Structuri de programare n LabVIEW 8.6.

Structura de control Sequence (secven) permite construirea unui ansamblu de cadre


(frame) numerotate, care sunt executate secvenial, n ordinea cresctoare a numerelor. Ea

5
Introducere in mediul de programare LabVIEW Lucrarea 1

este folosit atunci cnd ordinea de execuie a anumitor instruciuni trebuie precizat clar.
Exist dou structuri de tip secven: stacked sequence secven ale crei cadre sunt
suprapuse i flat sequence secven cu cadrele reprezentate unul lng altul. n cazul
secvenei cu cadrele suprapuse, datele sunt transmise de la un cadru la altul prin utilizarea
unor regitri numii sequence local.
Structura Case structur de selecie cu alternative multiple, echivalenta instructiunilor
decizionale if si case din limbajul C, permite i ea construirea unui ansamblu de cadre
numerotate, fiecare cadru 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 <<N>> (de intrare) i terminalul contor al iteraiilor <<i>> (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 identic cu condiia de oprire. Aceast condiie poate fi setat: stop if true sau
continue if true. n cazul structurii While, numrul de repetri nu este cunoscut n
momentul construciei VI-ului i poate s varieze, pentru acelai VI, de la o rulare la alta.
VI-ul verific terminalul condiional la sfritul fiecrei iteraii astfel nct ciclul While va
fi executat ntotdeauna cel puin o dat. Terminalul iteraie <<i>> este un terminal
numeric de ieire care conine numrul de iteraii executate de ciclu pn n momentul
respectiv.
Structura Event (eveniment) este o structur care poate avea una sau mai multe
subdiagrame, corespunztoare cazurilor care trebuie executate la apariia unui eveniment n
panoul frontal al aplicaiei. Intrarea time out specific timpul n ms pe ct structura trebuie
s atepte apariia evenimentului. Valoarea implicit este -1 ceea ce nseamn c ateapt
la infinit (fr time out).
Structura Timed Loop (Bucla temporizata) executa instructiunile pe care le contine in
timpul specificat. Se utilizeaza in aplicatii in care controlul timpului de executie al
instructiunilor este foarte important.
Structura Formula Node executa instructiuni matematice si expresii definite in format
similar limbajului C.
Structura MathScript Node - executa scripturi scrise cu sintaxa similara limbajului
Matlab

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

6
Achiziiia si procesarea datelor Laborator 4 .

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, de tip grafic, utilizate pentru afiarea unuia
sau mai multor puncte. Cu ajutorul acestor indicatoare se pot reprezenta evoluia formelor de und
n timp (waveform chart), grafice de tip XY, sau imagini 3D. Ele pot fi selectate prin intermediul
opiunii Graph din meniul Controls. Diagramele pot afia una sau mai multe curbe simultan.
Modul de desenare a graficelor este destul de variat, utilizatorul putnd s aleag forma i culoarea
de reprezentare a punctelor, modul de interpolare, etc. Diagramele permit trei moduri de actualizare
a imaginii: prin derulare (strip chart), prin redesenare (scope chart) i prin baleiere (sweep chart).
Selectarea modului 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).

1.3.2. Tipuri de date


LabVIEW permite operarea cu diverse tipuri de date (ntreg, ntreg fr semn, real, complex,
caracter, boolean, etc.). Reprezentarea acestora n cadrul codului grafic se face difereniat, prin
nume i culori diferite, pentru o mai uoar nelegere a programului. Tipurile de date sunt
prezentate n figura 1.6.
Transferul datelor ntre nodurile diagramei bloc sau ntre panoul frontal i diagrama bloc se
realizeaz prin intermediul terminalelor. Acestea sunt reprezentate printr-o pictogram prin care se
specific:
tipul componentei (un control are chenarul pictogramei mai gros dect al unui indicator);
tipul datelor, reprezentat prin culori diferite: ntreg albastru; real, complex portocaliu;
boolean, cale de fiier verde; ir de caractere roz; grupare de date cu elemente tip
numeric maro;
reprezentarea/precizia datelor, realizat prin caractere alfanumerice afiate n interiorul
pictogramei;
structur compus tip tablou; pictograma tabloului afieaz ntre paranteze ptrate tipul
elementelor.

Tipuri de date Reprezentare date n Reprezentare date n


meniul contextual diagrama bloc
byte

ntreg cu semn word

long

unsigned byte

ntreg fr semn unsigned word

unsigned long

Real single precision

double precision

7
Introducere in mediul de programare LabVIEW Lucrarea 1

extended precision

complex single

Complex complex double

complex extended

Boolean
Figura 1.6. Tipuri de date i reprezentarea acestora

Datele pot fi vehiculate intre functiile si subinstrumentele (subVI) care intra in componenta
unui instrument virtual in mai multe formate:
- scalar,
- array vector unidimensional (1D array),
- matrice sau vector multidimensional (2D array),
- cluster - structura de date care poate sa contina variabile multiple de acelasi tip sau diferite;
- waveform structura de date specifica utilizata in aplicatii de achizitie si procesare de
semnale, care contine valorile masurare, data si ora la care au fost achizitionate, timpul
initial t 0 de incepere a achizitiei, perioada dintre doua esantionane dt (esantionare uniforma),
informatii despre semnale.

Firele de legtur ntre componente sunt specifice tipului de date vehiculate, si difera prin
culoare i grosime (figura 1.7), pentru o mai usoara intelegere a functionarii aplicatiei software:

Figura 1.7. Exemple de reprezentare a firelor

LabVIEW permite gruparea mai multor date de acelai tip sau diferite ntr-o structur de tip
cluster, folosind funcia Bundle. Operaia invers, de extragere a datelor dintr-un cluster, se

8
Achiziiia si procesarea datelor Laborator 4 .

numete Unbundle. Aceste funcii se gsesc n librria Cluster. Un exemplu de utilizare a datelor
de tip cluster este pentru reprezentarea pe acelai grafic a mai multor variabile indexate.

Func ii de reprezentare grafic


Orice instrument virtual, asemenea instrumentelor clasice, necesit o component de afiare
grafic n diverse formate afiare valori numerice n casete, tabele sau liste; afiare mesaje text;
afiare grafice diverse (grafice evoluie mrimi, grafice de tip intensitate, grafice de tip 3D, etc.);
afiare indicatoare analogice, indicatoare luminoase.
De asemenea, exist diverse tipuri de controale de tip numeric, boolean, text, etc. pentru
controlul IV, cu grafic asemntoare cu butoanele aparatelor clasice.
Paleta de indicatoare i controale standard n mediul LabVIEW este prezentat n figurile 1.8
i 1.9.

Indicatoare si controale grafice:

Figura 1.8. Funcii de reprezentare grafic

Controale i indicatoare numerice:

Controale i indicatoare booleene:

Figura 1.9. Principalele funcii de introducere i afiare date n interfaa cu utilizatorul


9
Introducere in mediul de programare LabVIEW Lucrarea 1

Alte faciliti de afiare i control (Tabele i liste, Casete text i Cale fiier pe harddisk,
butoane tip selecie din list, afiare/introducere vectori i matrici, etc.) sunt prezentate n figura
1.10.

Figura 1.10. Alte faciliti de introducere i afiare date n interfaa cu utilizatorul.

1.4. Analiza sistemelor i a semnalelor

LabVIEW 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 librrii pentru rezolvarea ecuaiilor liniare
algebrice. Funciile pentru lucrul cu vectori i matrici se gsesc n submeniul Array din paleta de
funcii i n submeniul Mathematics.

Scrierea/salvarea n fiiere i operaii cu iruri de caractere


LabVIEW ofer posibilitatea lucrului cu iruri de caractere i operaii I/O cu fiiere, necesare
pentru stocarea/citirea datelor. Funciile i VI-urile pentru aceste operaii sunt disponibile n
librriile String i File I/O din paleta de funcii (figura 1.11).

Figura 1.11 Funciile pentru lucrul cu iruri de caractere i cu fiiere.

Pentru scriere/citirea datelor pe harddisk se pot folosi funciile simple de lucru cu fiiere sau
VI-uri care pot scrie/citi toate componentele unui vector sau ir de caractere.

10
Achiziiia si procesarea datelor Laborator 4 .

Scrierea datelor dintr-un vector/matrice ntr-un fiier text pe harddisk, pe linie sau coloan, se
poate face folosind VI-ul Write to SpreadSheet File.vi din librria File I/O. Datele de intrare de tip
numere reale single-precision dintr-un vector (unidimensional sau multidimensional) se aplic pe
intrrile 1D sau 2D, sunt convertite ntr-un ir de caractere cu formatul specificat (formatul default
este %.3f - numere reale cu 3 cifre dup virgul), iar apoi sunt salvate n fiierul specificat pe
intrarea file path. Dac nu se specific nici un fiier, la rulare se va deschide o fereastr de tip Open
File pentru a alege fiierul dorit. Fiierul poate fi deschis ca nou sau pentru adugare dup ultima
nregistrare, opiune accesibil pe intrarea append to file?. Implicit, fiierul se va deschide ca nou.
Datele pot fi scrise n fiier pe linie (transpose? - false) sau pe coloane (transpose? - true), fiind
delimitate de caracterul specificat pe intrarea delimiter (implicit, caracterul delimitator este Tab).
Dup salvarea datelor, fiierul este nchis.
Operaia invers de extragere ntr-un vector/matrice a datelor dintr-un fiier se face cu VI-ul
Read From Spreadsheet File.vi
Observaie: intrrile care au specificate valori implicite pot fi lsate neconectate; n acest caz
valoarea lor va fi cea implicit (default).

Figura 1.12 VI-uri pentru salvarea vectorilor i a irurilor de caractere n fiiere, cu


reprezentarea i semnificaia conectorilor.

Pentru salvarea irurilor de caractere ntr-un fiier se poate folosi VI-ul Write Characters To
File.vi, care opereaz n mod asemntor.
Pentru lucrul cu iruri de caractere (string) exist diverse faciliti, disponibile n librria
String, cum ar fi funcii pentru cutare ntr-un ir, concatenare iruri, conversie din string n alte
formate i invers, etc.
Un alt capitol la care LabVIEW ofer un numr mare de funcii i VI-uri dedicate este
comunicaia pentru controlul instrumentelor i comunicaia ntre aplicaii. Fiind orientat n special
pentru realizarea de aplicaii de msurare i automatizare, n bibliotecile sale exist funcii i VI-uri
pentru comunicaia cu echipamentele hardware pe principalele tipuri de interfee: VISA, VXI/PXI,
RS-232, RS-485, GPIB (IEEE 488), PCI, USB, Fireware, Ethernet, Driver de instrument.
Funciile pentru controlul instrumentelor i pentru comunicaie sunt grupate n librriile
Communication i Instrument I/O. Pentru plcile de achiziie de date interne produse de National
Instruments exist drivere care se instaleaz separat (NiDAQ drives). Cnd sunt instalate i
driverele, funciile pentru controlul plcilor de achiziie sunt grupate n librria NI Measurement.
LabVIEW ofer de asemenea faciliti pentru realizarea de aplicaii distribuite, la care
comunicaia se poate realiza prin reeaua de calculatoare folosind protocol TCP/IP, sau prin
internet. n acest sens exist disponibile n librriile sale mecanisme i funcii pentru comunicaia pe
reea (TCP/IP, UDP), tehnologii precum .NET, Active X, SMTP Email, VI Server sau DataSocket
Technology.

11
Introducere in mediul de programare LabVIEW Lucrarea 1

Exemplu implementare algoritm in C si LabVIEW pentru generarea a 150 numere aleatoare


in intervalul [-A, A].

ALGORITM:

Program LabVIEW:

12
Achiziiia si procesarea datelor Laborator 4 .

1.5. DESFURAREA LUCRRII - APLICAII

A. Generarea unor programe (VI) simple -

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 1.13

Figura 1.13 Panoul i diagrama programului pentru generarea numerelor aleatoare.


Indicaii:
o se deschide o nou fereastr panou i se salveaz cu numele NumereAleatoare.vi;

13
Introducere in mediul de programare LabVIEW Lucrarea 1

o 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);
o n panoul Controls se selecteaz Graph i apoi Waveform Chart, se poziioneaz pe
panou i se denumete: Vizualizare numere aleatoare;
o Se activeaz fereastra Diagram, iar din meniul Functions / Numeric se aduc pe ecran
urmtoarele icon-uri: Random Number, Numeric Constant, Multiply i Substract;
o 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;
o 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.

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 1.14).

Figura 1.14 Diagrama modificat a programului pentru generarea numerelor aleatoare

3. S se salveze VI-ul de la punctul 2 ca subVI cu numele Numere aleatoare (-A, A).


SubVI/ul va avea ca intrri: Numrul de numere generate (N), Valoarea lui A i perioada de
generare (delay). Se va salva ntr-o librrie nou. Indicatorul de reprezentare grafic a numerelor
aleatoare se va scoate n exteriorul buclei For. Rulai aplicaia i observai diferena fa de punctul
2.
Justificai i explicai funcionarea aplicaiei n ambele cazuri i desenai organigrama liogica
de funcionare n cele doua situaii.

14
Achiziiia si procesarea datelor Laborator 4 .

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.

Lucrul cu vectori i cu fiiere


4. S se scrie un program care s genereze un vector real cu 50 de componente aleatoare cu
valori ntre -20 i 20. Pentru generarea valorilor aleatoare va fi folosit subVI-ul creat la punctul 2.
Componentele vectorului se vor afia pe un grafic i vor fi salvate pe coloan ntr-un fiier text pe
harddisk
5. S se realizeze un program care s genereze doi vectori coloan cu cte 10 componente
reale, introduse de la tastatur din panoul frontal. Se vor calcula i afia maximul i minimul din
fiecare vector, i se vor ordona cresctor cei doi vectori. Componentele celor doi vectori sortai vor
fi apoi afiate pe acelai grafic i se vor salva ntr-un fiier tip text pe harddisk. Tot n acelai fiier
se va salva i forma iniial a celor doi vectori.
6. 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 1.15.

15
Introducere in mediul de programare LabVIEW Lucrarea 1

Figura 1.15 Panoul i diagrama programului pentru salvarea n fiier a dou semnale
Indicaie: 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.
7. Construii un VI care s simuleze msurarea continu a temperaturii 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.
Pe grafic vor fi afiate att evoluia temperaturii ct i limitele permise de variaie a acesteia.
Limitele se vor stabili din panoul frontal i vor putea fi modificate n timpul rulrii programului, cu
ajutorul unui control Knob. Programul va rula continuu, pn la apsarea unui buton de pe panoul
frontal, iar temperatura curent se va afia numeric i sub form de termometru. Simularea
msurrii temperaturii se va face cu ajutorul unui buton Horizontal Pointer Slide situat n panoul
frontal. Denumii VI-ul Simulare monitorizare temperatur.vi.
Indicaie:
- pentru msurarea repetat pn la apsarea unui buton se va folosi o bucl While;
- pentru afiarea datelor pe grafic se va folosi gruparea datelor de tip cluster
- o variant de realizare a aplicaiei este urmtoarea: (figura 1.16)

16
Achiziiia si procesarea datelor Laborator 4 .

Figura 1.16 Panoul i diagrama VI-ului pentru simularea monitorizrii temperaturii

8. Modificai VI-ul creat la exerciiul 7 pentru putea s salveze ntr-un fiier text pe harddisk,
n ordine, urmtorii parametri: data i ora efecturii msurtorii, temperatura msurat, limita
minim impus, limita maxim impusa, dac se ncadreaz sau nu n domeniul impus.

Indicaie:
- pentru aflarea datei i orei la care s-a preluat eantionul se va folosi funcia Get
Date/Time String din librria Time & Dialog;
- se va face conversia datelor din cluster n string;
- se va compune irul cu datele care trebuie salvate pe o linie n fiier, n ordinea
specificat folosind funcii de operare cu iruri;
- se va scrie n fiier folosind funcii specializate sau VI-ul Write Characters To File.vi.

17
Introducere in mediul de programare LabVIEW Lucrarea 1

Studierea unor programe propuse cu rol de exemplu


9. Se vor studia urmtoarele programe demonstrative 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. Ierarhia VI-ului se poate vizualiza accesnd meniul
Browse > Show VI Hierarchy

Tem
1. S se realizeze un program LabVIEW care s rezolve ecuaiile de ordinul 1 i 2.
Coeficienii se introduc de la tastatur, iar programul va calcula rdcinile ecuaiei. Se va
trasa graficul funciei de gradul 2 .
2. S se realizeze un program care s traseze caracteristicile de ncrcare i descrcare ale
unui condensatoarelor dintr-un circuit RC. VI-ul va reprezenta grafic tensiunea i curentul
prin condensator n funcie de timp, va calcula i reprezenta constanta de timp a
circuitului, precum i curentul prin condensator n funcie de tensiunea de la bornele
acestuia. Pentru simulare, la bornele circuitului se va aplica o ramp de tensiune cu
valoarea E reglabil. Momentul aplicrii tensiunii (nchiderea comutatorului care
realizeaz cuplarea circuitului RC la sursa de tensiune E ) va putea fi stabilit de utilizator,
prin apsarea unui buton n panoul frontal. Tot din panou se vor putea introduce valorile
rezistorului i al condensatorului.

Observaie: Referatul va fi scris pe calculator i va conine aplicaiile propuse la punctele


desfurarea lucrrii i tem. Pentru fiecare aplicaie se va prezenta diagrama bloc i panoul
frontal, captat n timpul rulrii, cu reprezentarea grafic a semnalelor, precum i o scurt descriere a
modului de realizare i observaii.
De asemenea, pentru fiecare program se va prezenta organigrama corespunztoare.

18

S-ar putea să vă placă și