Sunteți pe pagina 1din 149

LABVIEW 7

1. Introducere
Instrumentaia virtual reprezint ceea ce era acum un deceniu
lantul de msurare, la care s-a nlocuit partea de instrumente fizice cu
instrumente virtuale. Un instrument virtual este compus dintr-o parte
hardware (n principal un convertor analogic digital) si o parte software
care permite configurarea instrumentului dup dorinta utilizatorului.
Cu putin timp n urm, utilizatorul si configura instrumentul fizic
cu ajutorul butoanelor si potentiometrelor, fcea conexiunile dintre
instrument si aparatele de nregistrare pe hrtie sau electronice si trebuia
s le aib pe toate n acelasi loc pentru a le supraveghea si a le manevra.
Acum, utilizatorul introduce o plac de achizitie date n computer
si cu ajutorul soft-ului de programare grafic si configureaz
instrumentul de msurare si n plus poate crea si cte inregistratoare
grafice doreste. Toat partea fizic a lantului de msurare aflndu-se pe o
plac controlat de microprocesorul computerului, utilizatorului nu-i
rmne dect s se conecteze la traductoarele specifice mrimii de
msurat si s stie s manevreze un mouse. Reprezentarea instrumentelor
fizice se face pe monitorul computerului cu ajutorul elementelor grafice
existente n biblioteca limbajului de programare grafic.
Exist dou posibiliti de a lucra cu instrumentatie virtual:
- doresti s-ti creezi singur instrumentele necesare si atunci
trebuie s cunosti limbajul de programare grafic si s dispui de acesta
(necesarul de timp minim pentru nvtare ar fi de 30 de ore);
- doresti s fii numai utilizator de instrumentatie virtual, si atunci
trebuie s-ti cumperi de la un dezvoltator de aplicatii un program
executabil ce va face numai ceea ce ti doresti.
Avantajele instrumentatiei virtuale se deduc si din cele spuse mai
sus:
- ocup un spatiu mic (practic un computer si un monitor);
- poate fi cu elemente distribuite (pot msura n mai multe locuri
odat);
- datele se pot transmite prin internet (laboratorul de msurare se
poate afla ntr-un anume loc iar analiza rezultatelor se poate face n cu
totul alt parte);
- instrumentele nu mai ocup un spatiu fizic (o magazie) ci sunt
stocate n memoria computerului;
- flexibilitate maxim privind configurarea instrumentelor
(oricnd se poate sterge un instrument din memorie si se poate face altul,
INSTRUMENTAIA VIRTUAL 8
se pot aduga elemente de comand sau indicatoare, canale sau
memorie);
- dispar practic problemele legate de murdrirea comutatoarelor
sau imperfectiunea conexiunilor;
- dispar sau se micsoreaz mult erorile de offset sau de calibrare;
- costurile privind achizitia de aparate si intretinerea lor se reduc
foarte mult, tinnd cont c o singur plac multifunctional de achizitie
date mpreun cu softul aferent poate nlocui o multime de alte
instrumente fizice dedicate;
- interfata grafic foarte prietenoas cu utilizatorul;
- timpul relativ mic de nvtare a limbajului de programare
grafic;
- multimea de instrumente virtuale gata construite pentru a
msura, a face analiza semnalului, a-l prelucra si a-l transmite oriunde
doreste utilizatorul.
Un sistem de achiziie date (sau de msurare) este format, n
principal, din traductoare, conditionatoare de semnal, plci de achizitie
date, software si computer.
Laboratorul urmreste prezentarea conceptului de instrumentatie
virtual, caracteristicile mediului LabVIEW si structura unui instrument
virtual.
Dup realizarea panoului frontal al IV, trebuie implementat
functionalitatea programului; se construieste diagrama bloc, care
reprezint codul sursa al instrumentului (arat CUM? se rezolv
problema). Pentru realizarea diagramei bloc, se utilizeaz limbajul grafic
G.
Sunt prezentate elemente de baz care trebuie cunoscute pentru ca
studentii s realizeze si s utilizeze instrumente virtuale.
1.1. Prezentarea opiunilor meniului afiat la lansarea
LabVIEW
Mediul LabVIEW se lanseaz fcnd dublu-clic cu butonul din
stnga al mouse-lui pe pictograma asociat programului (aflat pe
desktop-ul sistemului Windows) sau alegnd cu mouse-ul meniul
Start/ Programs/ National Instruments LabVIEW / LabVIEW
Pe ecranul calculatorului apare meniul prezentat n figura 1.1.
LABVIEW 9
Fig. 1.1. Meniul afisat dup lansarea mediului LabVIEW
Semnificatia butoanelor din fereastra ilustrat n figura 1.1 se
prezint n continuare:
IV Nou' (New VI):
Se creeaz un IV nou.
Deschide un IV` (Open VI) :
Se deschide un IV existent.
Utilitarul de realizare a unei solutii' ( Solution
Wizard):
Se lanseaz un utilitar, care permite realizarea n mod interactiv a
unei aplicatii personalizate pentru achizitia de date sau instrumentale.
Cutare exemple `( Search Examples):
Se lanseaz un utilitar, care permite consultarea de exemple
distribuite de firma NI odat cu mediul LabVIEW.
ndrumtor LabVIEW ` ( LabVIEW Tutorial):
Se lanseaz un program demonstrativ de nvtare (tutorial) despre
LabVIEW, care foloseste optional placa de sunet. Programul
demonstrativ trebuie s fie instalat anterior (ocup n jur de 40 MB) sau
s existe CD-ul original pozitionat n unitate.
Ieire` ( Exit ):
Se prseste mediul LabVIEW.
Actiuni care trebuie realizate:
Se indentific actiunile realizate de butoanele din dreapta
ferestrei (fig. 1.1), afisate la lansarea mediului
LabVIEW.
Se alege optiunea New VI pentru creerea unui IV nou.
Se observ c pentru noul IV au fost deschise dou ferestre,
suprapuse una peste cealalt, asemenea a dou file de carte. Prima
INSTRUMENTAIA VIRTUAL 10
fereastr este Fereastra Panoului Frontal al IV; sub aceast fereastr se
gseste Fereastra Diagramei Bloc a IV.
Se trece din Fereastra Panoului Frontal n Fereastra
Diagramei Bloc, selectnd cu mouse-ul din meniul
orizontal Windows/Show Diagram.
Din Fereastra Diagramei Bloc se va reveni napoi n
Fereastra Panoului Frontal alegnd din meniul orizontal
Windows/Show Panel.
Fiind activat Fereastra Panoului Frontal, se allege
File/Close pentru nchiderea IV.
1.2. Consultarea exemplelor instalate
n continuare se prezint modalitatea de consultare a exemplelor
instalate odat cu mediul LabVIEW.
Consultarea exemplelor constituie principala surs de nvtare a
diferitelor tehnici de programare n LabVIEW si de utilizare a diferitelor
tipuri de obiecte si functii:
Dup lansarea mediului LabVIEW, se obtine pe ecranul
calculatorului meniul din figura 1.1. Se alege optiunea Caut
exemple (Search Examples).
Se prezint o fereastr meniu, n care optiunile (de tip text)
sunt grupate pe diferite subiecte. Se vor nota n caiete
principalele grupe de subiecte disponibile.
Din sectiunea Demonstratii (Demonstrations) se alege
optiunea Controlul Procesului (Process Control).
Exemplele disponibile apar grupate pe vertical. n coloana din
stnga este afisat denumirea IV, iar n partea dreapt o scurt descriere a
exemplului. Prin selectarea cu mouse-ul a denumirii unui exemplu (afisat
n prima coloan), se va declansa deschiderea IV pentru consultare.
nainte s se selecteze cu mouse-ul avnd denumirea
Controlul Procesului de Amestecare (Control Mixer
Process), se va nota n caiete explicatia din coloana dreapt.
Dup consultarea Ferestrei Panoului Frontal se trece n
Fereastra Diagramei Bloc alegnd Windows/Show
Diagram. Se revine n Fereastra Panoului Frontal prin
Windows/Show Panel.
Se nchide exemplul, alegnd din meniul orizontal
File/Close.
LABVIEW 11
Dup revenirea n meniul afisat de LabVIEW (fig.1.1), se
poate alege din nou optiunea Caut exemple (Search
Examples), pentru a deschide alte exemple.
Observaie:
Nu se vor salva modificrile (voite/involuntare) realizate n
timpul consultrii exemplelor oferite de biblioteca LabVIEW.
Exemplele trebuie pstrate n varianta original, oferite de firma NI.
1.3. Rolul i componena barei cu unelte din fereastra
panoului frontal
Pe marginea unui exemplu de IV se va prezenta n continuare
rolul si componenta barei cu unelte din fereastra panoului frontal.
Se citesc si se retin elementele din sectiunea care urmeaz si care
prezint elemente din bar cu unelte ale ferestrei panoului frontal.
Fereastra Panoului Frontal si ale Diagramei Bloc din IV posed
fiecare cte o bar orizontal cu unelte. Aceste bare cu unelte sunt
implementare prin intermediul unor butoane, liste derulante sau
indicatoare de stare, utilizate prin editarea, trasarea si executia IV. O
parte din optiunile celor dou bare cu unelte sunt comune si anume cele
dispuse n partea dreapt a barei.
Prin butonul Rulare IV (fig.1.2.a) se lanseaz n executie
(comanda Run) programul curent.
n figura 1.2 se prezint cele dou variante sub care poate aprea
butonul Run n timpul executiei IV: cazul 1.2 a reflect situatia n care IV
este modulul principal al aplicatiei (apeleaz alte IV), iar cazul 1.2.b
corespunde situatiei n care IV este executat de ctre IV apelant.
Elementul din figura 1.2.a se modific n cel redat de figura 1.2.c n
momentul aparitiei unor erori (cel mai adesea prezente n diagrama bloc),
datorit crora IV nu poate fi compilat. Pentru consultarea surselor de
eroare, se apas cu butonul stng al mouse-ului pe butonul din figura 1.2c
(simboliznd o sgeat frnt`); se afiseaz o list vertical continnd
sursele de eroare, care se pot inspecta si localiza n diagrama bloc.
a b c d e f g h
Fig. 1.2. Bara cu unelte din fereastra panoului frontal
INSTRUMENTAIA VIRTUAL 12
Pentru rularea continu (se reia la infinit executia programului
dup terminare) a IV se va actiona asupra elementului Rulare Continu
a IV` din figura 1.2.b.
Oprirea executiei (indiferent de starea de executie curent) unui
IV se face prin butonul de Oprire a Rulrii IV` (fig. 1.2.c). Este o
metod practicat de utilizator pentru oprirea neconditionat a rulrii
unui IV (care se execut cu afisarea panoului frontal).
Observaie:
Dac se pozitioneaz cursorul mouse-ului deasupra oricrui
element din bara cu unelte, se afiseaz n dreptul cursorului mouse-ului
un mesaj (tool tip text), care informeaz despre denumirea uneltei.
Tinnd cont de observatia anterioar, s se retin n caiete
utilizarea recomandat, obtinut pentru restul elementelor din bara
orizontal cu unelte a ferestrei panoului frontal (fig. 1.2.d-h).
Se lanseaz mediul LabVIEW si din meniul prezentat n figura
1.4 se alege optiunea `Caut Exemple` (Search Examples).
Se localizeaz IV denumit Rdcina Ptrat (Square Root),
din sectiunea Fundamentals/Structures;se noteaz explicatia din
partea dreapt a numelui exemplului si se selecteaz cu mouse-ul pentru
deschidere.
Exemplul selectat este deschis n LabVIEW pentru consultare.
Se va observa pentru diferite date de intrare ale controlului cu
identificator Numr(Number) rezultatul afisat de indicator Valoarea
Rdcinii Ptrate(Square Root Value).
1.4. Prezentarea elementelor din bara cu unelte din fereastra
diagramei bloc
Se porneste mediul LabVIEW si se deschide IV denumit
Rdcin Ptrat (Square Root) din sectiunea
Fundamentals/Structures.
Se retine c atunci cnd un IV existent este prezentat automat
doar fereastra care retine realizarea panoului frontal; utilizatorul va trebui
s solicite explicit afisarea diagramei bloc, pentru consultarea
implementrii functionalittii IV. n situatia crerii unui IV nou, sunt
afisate automat ambele ferestre: panoul frontal si diagrama bloc.
Se trece n fereastra care retine implementarea functionalittii
instrumentului: se selecteaz din bara cu meniuri optiunea Ferestre/
Afieaz Diagrama Bloc (Windows/Show Diagram).
LABVIEW 13
Se retin elementele care apar n bara cu unelte din fereastra
diagramei bloc, prezentat n figura 1.7.
Actionnd asupra butonului din figura 1.3, e, se
activeaz/inactiveaz regimul de rulare a IV cu afisarea fluxului datelor.
Dac butonul afiseaz imaginea unui bec emitnd lumin, atunci pe
parcursul rulrii IV se poate urmri ordinea de executare a componentelor
diagramei bloc (este inhibat si facilitatea de executie paralel a unor sub
IV).
a b c d e f g h i j k l
Fig. 1.3. Bara cu unelte din fereastra diagramei bloc
Trasarea interactiv (programul asteapt ca utilizatorul s indice
executia urmtoarei instructiuni) a executiei IV se face utiliznd
elementele din figura 1.3.f-h.
Utiliznd butonul din figura 1.3,f se execut urmtoarea
instructiune a IV , dup care se asteapt o nou interactiune din partea
utilizatorului; n cazul n care instructiunea curent corespunde apelului
unui sub IV (procedur), atunci se va executa prima instructiune din IV
apelat. Pentru o trasare a executiei unui IV pe blocuri de instructiuni
(toate instructiunile apartinnd unui bloc vor fi executate simultan), se va
utiliza butonul din figura 1.3.g; dac instructiunea urmtoare este un apel
de sub IV, atunci se va executa ntreg programul apelat. Revenirea din
blocul apelat n cel apelat se face la apsarea butonului ilustrat n figura
1.3.h.
n timpul rulrii unui IV (rulare cu afisarea fuxului datelor), se
poate declansa de ctre utilizator o ntrerupere temporar(nelimitat ca
perioad) a executiei programului prin butonul de Generare Pauz
(fig. 1.3.d); continuarea executiei IV se face apsnd din nou.
n fereastra diagramei bloc a IV Rdcin Ptrat se urmreste
fluxul datelor. Se apas butonul din figura 1.3.e pentru a urmri fluxul
datelor (imaginea unui bec emitnd lumin). Se utilizeaz butonul de
rulare a IV (fig. 1.3.a) si se observ modul n care se execut
instructiunile care implementeaz functionalitatea IV. Se repet rularea
IV.
INSTRUMENTAIA VIRTUAL 14
n timpul rulrii IV, fiind activat modul de afisare a fluxului
datelor, se exerseaz utilizarea Butonului de ntrerupere temporar si de
reluare a executiei programului.
Se inactiveaz modul de afisare a fluxului datelor de rulare. Se
nchide IV Rdcina Ptrat.
1.5. Prezentarea i utilizarea meniurilor contextuale
n meniul de programare LabVIEW, aproape fiecare obiect
folosit la realizarea unui IV are asociat un meniu continnd optiuni, prin
care se pot realiza operatii de actualizare a unor proprietti (vizuale sau
comportamentale) asociate; acestea sunt meniurile pop-up, numite si
meniuri contextuale.
Optiunile care apar ntr-un meniu contextual sau dependente de
tipul obiectului:
- panoul frontal;
- diagrama bloc;
- obiecte din panoul frontal (controale, indicatoare, etichete
libere);
- functii din diagrama bloc;
- apeluri de IV.
Se selecteaz si pstreaz cursorul mouse-ului deasupra unui
obiect (prezent n panoul frontal sau diagrama bloc); afisarea meniului
contextual asociat se face apsnd butonul din dreapta mouse-ului. Prin
dotarea editoarelor cu meniuri contextuale (pop-up), ntr-un meniu grafic
de programare (Windows), se ofer o metod rapid de acces la
comenzile obisnuite.
Se porneste mediul LabVIEW si se alege deschiderea unui IV
nou. n fereastra Panoului Frontal al noului IV se pozitioneaz cursorul
mouse-ului n interiorul acestuia.
Apsnd butonul din dreapta al mouse-ului se afiseaz meniul
contextual asociat panoului frontal; se retine c prin aceast metod se
afiseaz la pozitia cursorului mouse-ului caseta cu colectia disponibil de
controale si indicatoare, din care se alege obiectul de interfat dorit,
pentru a fi plasat n panoul frontal.
Observaie: Nu este necesar s se permit afisarea n permanent,
pe ecran a casetei cu obiecte pentru realizarea panoului frontal, din
motive de economisire a spatiului util, de lucru; cnd este nevoie, se
apeleaz meniul contextual asociat ferestrei panoului frontal, continnd
caseta cu controale si indicatoare.
LABVIEW 15
Se selecteaz printr-un clic cu butonul stng al mouse-ului
pictograma care simbolizeaz un control numeric digital din caseta de
controale si indicatoare, meniul Numeric/Digital Control. Obiectul de
tip control va fi plasat pe suprafata panoului frontal si la pozitia
cursorului mouse-ului printr-un nou clic cu butonul stnga. Dup ce
controlul numeric cu afisare digital a fost plasat pe suprafata panoului
frontal, se observ c n partea superioar a chenarului controlului este
afisat un mic dreptunghi nnegrit, de dimensiunea unei litere.
Se introduce de la tastatur textul ControlNr1 , reprezentnd
identificatorul asociat obiectului (eticheta proprie sau owned label), dup
care se apas pe butonul afisat n bara cu unelte din fereastra panoului
frontal. Se afiseaz meniul contextual asociat controlului ControlNr1
si se retine denumirea optiunilor posibile (fig. 1.4).
Fig. 1.4. Meniul contextual asociat unui control numeric
1.6. Prezentarea barei orizontale cu meniuri
Avnd mediul LabVIEWdeschis, se concentreaz atentia asupra
meniului orizontal, afisat n partea superioar a ferestrei panoului frontal
(figura 1.5).
Fig. 1.5. Bara cu meniuri din LabVIEW
Bara orizontal cu meniuri contine optiuni pentru realizarea unor
actiuni obisnuite (gestionare fisiere, editare), implementate n majoritatea
INSTRUMENTAIA VIRTUAL 16
aplicatiilor Windows, dar si optiuni specifice mediului LabVIEW. n
continuare se prezint cele mai importante optiuni, utilizatorii fiind
invitati s identifice locul optiunilor n bara cu meniuri si s se
familiarizeze cu acestea pe parcursul exercitiilor.
n momentul selectrii, prin butonul stnga al mouse-ului, a unei
optiuni din bara orizontal cu meniuri (fig. 1.5), apare un subdomeniu
derulant, continnd mai multe optiuni dispuse pe vertical.
Prin selectarea optiunii Fisier (File) se permite utilizatorului
realizarea unor actiuni (ncrcare, salvare, compilare) de gestionare a
fisierelor, care gzduiesc IV-le. Submeniul derulant, afisat n momentul
selectrii acestei optiuni, este evidentiat n figura 1.6.
Fig. 1.6 Submeniul derulant Fisier
Se prezint n continuare semnificatia optiunilor din submeniul
Fisier (File):
Se declanseaz operatia de creare a unui IV nou (fig. 1.6.a).
Se deschide un IV existent (fig. 1.6.b).
Se nchide fereastra curent (fig.1.6.c). Dac actiunea se declanseaz
din fereastra panoului frontal, atunci se nchide fisierul, care retine
implementarea IV.
a
b
c
d
e
f
g
h
i
LABVIEW 17
Se realizeaz salvarea modificrilor realizate asupra IV (fig. 1.6.d).
Se permite salvarea IV(deschis n editare) sub un alt nume de fisier si
eventual n alt director si pe o alt unitate de disc (fig.1.6.e).
Se realizeaz o dublur a IV si permite salvarea ntr-un fisier sub un
alt nume (fig.1.6.f).
Se ofer optiuni pentru tiprirea programului (fig.1.6.g): panou
frontal, diagrama bloc, pictograma asociat, IV-le apelate s.a.
Tiprirea programului se poate face la imprimant sau ntr-un fisier
(format HTML sau RTF).
Se apeleaz un editor specializat (fig. 1.6.h), care permite realizarea
de operatii de stergere a IV dintr-un fisier bibliotec (LLB) si
indicarea modulului principal din bibliotec (se afiseaz la nceputul
listei numerelor de IV din bibliotec).
Se realizeaz conversia tuturor IV dintr-un fisier bibliotec la
versiunea curent a mediului LabVIEW (figura 1.6.i).
Realizarea tipririi IV ntr-un fisier reprezint o modalitate foarte
util de arhivare, independent de versiunea mediului LabVIEW utilizat.
Parcurgnd fisierul documentatie al IV se poate reface programul, efortul
de reintroducere fiind neglijabil n comparatie cu siguranta pstrrii
codului surs al aplicatiei.
Optiunea de Editare (Edit) din meniul bar orizontal pune la
dispozitia dezvoltatorului programului cteva operatii, care pot fi folosite
n crearea sau modificarea panoului frontal si a diagramei bloc.
Figura 1.7 prezint optiunile subdomeniului derulant Editare.
Semnificatia celor mai importante optiuni din subdomeniul
derulant Editare se prezint n continuare:
Se anuleaz efectele ultimei operatii de editare (fig. 1.7.a);
Se reface ultima operatie de editare (fig. 1.7.b);
Se copiaz obiectele selectate n memoria temporar clipboard si apoi
se elimin din instrumentul virtual (fig. 1.7.c);
Se copiaz obiectele selectate n memoria temporar clipboard
(fig.1.7.d);
Continutul memoriei temporare clipboard se insereaz n fereastra
curent (fig. 1.7.e);
Se sterg obiectele selectate (se obtine acelasi efect, dac se apas
tasta <Delete>, fig. 1.7.f);
Se elimin toate firele care realizeaz conexiuni eronate (fig. 1.7.g);
INSTRUMENTAIA VIRTUAL 18
Se permite schimbarea de ctre utilizator a ordinii de parcurgere (la
rulare) a obiectelor din panoul frontal (fig. 1.7.h);
Se genereaz pentru obiectele selectate din diagrama bloc un nou IV:
pictograma asociat noului IV nlocuieste obiectele selectate (fig.
1.7.i);
Se selecteaz o aranjare personalizat a elementelor, care apar n
casetele cu controale si indicatoare, respectiv cu functii si IV (fig.
1.7.j);
Se personalizeaz casetele cu controale si indicatoare, respectiv cu
functii si IV (fig. 1.7.k).
Fig. 1.7 Submeniul derulant Editare
n LabVIEW versiunea 5.0.1, se ofer implicit posibilitatea
anulrii efectelor ultimelor 8 operatii de editare, realizate asupra oricror
IV deschise. Numrul de anulri a efectelor actiunilor de modificare
poate varia ntre 0 si 99; prin stabilirea acestui numr la o valoare prea
mare, se reduce dimensiunea memoriei disponibile, de lucru, firma
National Instruments recomandnd evitarea utilizrii valorii 0, care
a-
b-
c-
d-
e-
f-
g-
h-
i-
j-
k-
LABVIEW 19
poate determina blocarea sistemului. Accesul la aceast valoare se face
prin meniul Edit / Preferences, optiunea Block Diagram.
Mediul LabVIEW permite utilizatorilor crearea unor aranjri
personalizate ale elementelor componente din casetele cu controale,
respectiv functii; odat personalizat, dispunerea se salveaz sub un
nume sugestiv (atribuit de utilizator) si se selecteaz ulterior pentru
utilizare (Edit/Select Palette Set). n mod implicit sunt definite un
numr de patru aranjamente:
1. elemente de baz (basic);
2. implicit toate (default);
3. elemente care vizeaz achizitia de date (daq_view);
4. elemente pentru realizarea msurtorilor (t&m_view).
Pentru o anumit configuratie a casetei cu controale, respectiv cu
functii, se poate opta ntre afisarea elementelor componente sub forma
unor pictograme-grafice sau text (Edit / Select Palette Set/ Display
Style).
Lansarea editorului, care permite personalizarea casetelor cu
controale si functii, se face selectnd din meniul bar optiunea Edit /
Edit Control & Function Palettes. Pentru aranjarea existent sau
pentru crearea uneia noi (optiunea new setup din meniul derulant),
se permite rearanjarea continutului, stergerea sau inserarea de noi
elemente, dup care se opteaz pentru salvarea modificrilor realizate
(Save Changes). Accesul la operatiile de editare este dat de optiunile
meniurilor contextuale, apelate la apsarea butonului dreapta al mouse-
ului, pozitionat deasupra obiectelor sau casetei.
Observaie:
Dac se utilizeaz LabVIEWversiunea 5.0.1, se va verifica dac
n caseta cu functii sunt disponibile intrrile pentru instrumentele
virtuale: Resize Panel .vi, Release Instrument.vi, Open Panel.vi,
Run Instrument.vi, si Write File+ (string).vi, Read File+
(string).vi, n caz contrar, se realizeaz dou intrri noi n caseta cu
functii, pentru accesarea direct a instrumentelor virtuale destinate
controlului IV si pentru operatii cu fisiere. Se poate ntmpla ca, n urma
instalrii programului LabVIEW, fisierele bibliotec cu IV s existe pe
harddisk, iar caseta cu functii s nu contin intrri pentru toate IV.
Dup ce se porneste editorul pentru personalizarea casetei cu
functii (Edit/Edit Control & Function Palettes), se insereaz
INSTRUMENTAIA VIRTUAL 20
succesiv dou submeniuri (din meniul contextual se alege
Insert/Submenusi se selecteaz Link to a library) astfel:
Se introduce numele submeniului VI Control si se
indic sursa:
\labview\vi.lib\utility\victl.llb
Se introduce numele submeniului File si se indic sursa:
.\labview\vi.lib\utility\file.llb
Meniul LabVIEWse instaleaz implicit n directorul
c:\Program Files\ National Instruments`.
n final, se salveaz modificrile; se verific utilizarea
aranjamentului casetei cu functii, care contine cele dou submeniuri
adugate anterior (Edit/Select Palette Set/Display Style).
Obtinerea de informatii suplimentare, referitoare la IV si subIV
apelate, se face prin optiunea Proiect(Project) din meniul bar prezentat
n figura 1.8.
Fig. 1.8. Submeniul derulant Proiect cu optiuni aditionale pentru IV
Semnificatia optiunilor submeniului Proiect` se prezint n
continuare:
a-
b-
c-
d-
LABVIEW 21
Se lanseaz utilitare pentru consultarea canalelor sau selectarea
unei solutii privind achizitia de date (DAQ, fig. 1.8.a).
Se lanseaz un utilitar pentru gestionarea IV si a bibliotecilor
.LLB de instrumente virtuale (fig. 1.8.b). Se ofer posibilitatea
realizrii unor operatii de copiere, redenumire, stergere a unui IV
sau bibliotec .LLB, creare bibliotec .LLB sau director nou,
expandarea ntr-un subdirector a continutului bibliotecii LLB n
fisiere fizice de instrumente virtuale, conversia continutului unui
subdirector (continnd fisiere IV) ntr-un fisier bibliotec LLB.
Se afiseaz arborele de apel cu IV pentru modulul curent
(exemplul din figura 1.10), vzut ca modul principal (fig. 1.8.c).
Se afiseaz pictogramele IV apelate din modulul curent (fig.
1.8.d).
Pentru accesarea ferestrelor deschise si a casetelor, utilizatorului i
se pune la dispozitie meniul Ferestre (Windows), cu optiunile
prezentate n figura 1.9.
Fig. 1.9. Submeniul derulant Ferestre pentru accesarea ferestrelor
Semnificatia optiunilor din submeniul derulant Ferestre se
prezint n cele ce urmeaz:
Se realizeaz trecerea ntre fereastra Panoului Frontal si
fereastra Diagramei Bloc (fig. 1.9.a).
Se afiseaz o fereastr, n care se introduce descrierea IV
curent (fig. 1.9.b).
a-
b-
c-
d-
INSTRUMENTAIA VIRTUAL 22
Se afiseaz /ascunde caseta cu controale si indicatoare din
fereastra Panoului Frontal sau caseta cu functii si IV din fereastra
Diagramei Bloc (fig. 1.9.c).
Se afiseaz / ascunde caseta cu unelte generale (fig. 1.9.d).
Obtinerea de informatii descriptive despre obiectele panoului
frontal sau diagramei bloc a IV, lansarea utilitarului de asistare (help) sau
consultarea versiunii mediului LabVIEW utilizat se face prin meniul de
Asistare` (Help) din bara cu meniuri.
Fig. 1.10. Optiunile de asistare ale submeniului Asistare
Prezentarea optiunilor submeniului Asistare se prezint n
continuare :
Se afiseaz/ ascunde fereastra de asistent (fig. 1.10.a);
Se deschide uilitarul de asistent (fig. 1.10.b);
Se lanseaz programul de prezentare al mediului LabVIEW
(tutorial), care trebuie s fie instalat pe hard disc sau s existe n
unitatea de CD-ROM discul original (fig. 1.10.c);
Se lanseaz un utilitar,care permite utilizatorului consultarea
interactiv a exemplelor din mediul LabVIEW, grupate pe 5
sectiuni (fig. 1.10.d).
Studentii vor localiza n meniul bar optiunile prezentate anterior,
recitind din laborator semnificatia acestora.
a-
b-
c-
d-
LABVIEW 23
1.7. Prezentarea casetei cu unelte generale
Caseta cu unelte generale cuprinde instrumentele folosite de
utilizator la crearea, editarea sau trasarea executiei instrumentelor
virtuale. Afisarea / ascunderea casetei cu unelte generale se face prin
optiunea Ferestre/ Afieaz Caseta cu Unelte` (Windows /Show Tools
Palette) din bara cu meniuri. Caseta cu unelte generale se prezint n
figura 1.11, n care s-a definit un sistem de identificare matricial a
uneltelor.
O alt metod de afisare a casetei cu unelte generale se bazeaz
pe comportarea contextual: se pozitioneaz cursorul mouse-lui n
interiorul ferestrei Panou Frontal sau Diagram Bloc si se apas
simultan tasta Shift si butonul din dreapta mouse-lui.
Se exerseaz cele dou metode de afisare a casetei cu unelte
generale prezentate (din bara cu meniuri si acceleratori).
1 2 3
Fig. 1.11. Caseta cu unelte generale
Semnificatia elementelor casetei cu unelte generale este
urmtoarea:
Unealta pentru operare (fig. 1.11.a1)
Prin intermediul uneltei se manevreaz mai ales valorile
elementelor panoului frontal; Se foloseste mai rar n diagrama bloc, la
stabilirea valorii constantelor (exemplu : constanta universal true- false,
tablou de constante).
Unealta de editare (fig. 1.11.a2).
Se realizeaz: selectare, mutare, redimensionare obiect.
Unealta de etichetare (fig. 1.11.a3).
Permite introducerea de la tastatur a textului.
Unealta de interconectare (fig. 1.11.b1).
Se foloseste n fereastra diagramei bloc, pentru a realiza legturile
ntre noduri (elemente de executie). Firele definesc fluxul datelor. n
a-
b-
c-
d-
INSTRUMENTAIA VIRTUAL 24
panoul frontal se realizeaz corespondentele ntre controale / indicatoare
si terminalele conectorului.
Unealta de defilare (fig. 1.11.b2).
Se realizeaz defilarea continutului ecranului, fr a folosi barele
de defilare ale ferestrei.
Unealta prin care se insereaz n diagrama bloc un punct
de ntrerupere a executiei IV , pe unul dintre fire (pe un fir se
accept un singur punct de ntrerupere) sau noduri.
Se foloseste n scopul depanrii programului (fig. 1.11.c1).
Unealta sond (fig. 1.11.c2).
Se defineste o fereastr n care se afiseaz valoarea transmis pe
un fir de legtur (n faza de executie a IV). Se utilizeaz diagrama bloc,
mai ales pentru depanarea programului.
Se preia culoarea obiectului asupra cruia se execut clic
cu butonul stnga al mouse-lui (fig. 1.11.c3).
Unealta de colorare (fig. 1.11.d).
Se foloseste mai ales la realizarea panoului frontal, permitnd
stabilirea culorii pentru prim planul si de fundalul obiectelor.
Se creeaz un IV nou prin optiunea File/ New din bara cu
meniuri. n continuare se rmne n fereastra panou frontal.
Se afiseaz caseta cu controale si indicatoare, dac nu este
vizibil.
Metoda 1: Din meniul bar orizontal se alege Windows/ Show
Controls Palette.
Metoda 2: Prin meniuri contextuale, cursorul mouse-lui pozitionat
n interiorul Ferestrei Panou Frontal, se apas butonul stng al mouse-
lui.
Se selecteaz un control numeric digital (Numeric/Digital
Control) si printr-un clic cu butonul din stnga al mouse-lui acesta va fi
pozitionat pe suprafata panou frontal al noului IV. Se tasteaz Numr 1`
pentru eticheta proprie a controlului.
Se selecteaz unealta de editare. Se pozitioneaz cursorul mouse-
lui (de exemplu) deasupra coltului dreapta-jos a csutei valoare a
controlului numeric digital Numr 1`; se observ cum cursorul mouse-
lui va lua forma unui coltar, indicnd posibilitatea redimensionrii
obiectului. Pentru redimensionare, se tine apsat butonul stng al mouse-
lui si se realizeaz miscarea mouse-lui n directia nainte sau napoi,
functie de redimensionarea dorit (micsorare sau mrire); se va elibera
butonul stng al mouse-lui n momentul obtinerii efectului de
LABVIEW 25
redimensionare dorit. n general, redimensionarea poate s se fac
combinat: pe vertical si orizontal.
Se retine n fereastra panoului frontal, la fiecare apsare a tastei
<Spacebar>, se realizeaz comutarea ntre unealta de editare si cea de
operare. Se exerseaz de cteva ori schimbarea uneltei curente prin
apsarea tastei <Spacebar>.
Se trece n fereastra diagramei bloc. Se retine c, la fiecare
apsare a tastei <Spacebar>, se realizeaz comutarea ntre unealta de
editare si cea de interconectare. Se exerseaz de cteva ori schimbarea
uneltei curente, prin apsarea tastei <Spacebar>.Se revine n fereastra
panoului frontal.
La fiecare apsare a tastei <Tab>, se parcurge circular lista
uneltelor: operare-editare-etichetare-colorare.S se tasteze aceast
posibilitate.
Se pozitioneaz unealta de operare deasupra csutei valoare a
controlului.
Se retine modificarea aspectului cursorului mouse-ului ntr-o
bar vertical de dimensiunea unei litere, indicnd c pentru acel obiect
se poate declansa operatia de editare a valorii retinute.
Pentru declansarea actiunii de editare, se face clic stnga cu
mouse-ul n interiorul csutei valoare; cu tastele <Delete> si
<Backspace>, se pot sterge cifrele afisate n control si se poate introduce
de la tastatur o valoare numeric real. Apsnd tasta <Enter> sau
butonul din bara cu meniuri, pe care este afisat textul Enter`, noua
valoare va fi atribuit controlului.
Se exerseaz utilizarea uneltelor disponibile de colorare. Se retine
c prin realizarea unei interfete ncrcate de culoare se deranjeaz si
distrage atentia operatorului uman; n acelasi timp, se ngreuneaz
activitatea plcii video la fiecare remprosptare a ecranului.
1.8. Metode de asistare n LabVIEW
Mediul LabVIEW ofer dezvoltatorilor de programe dou metode
de asistent, care pot fi utilizate pe parcursul dezvoltrii unui IV:
fereastra (Help Window) si utilitarul (Online Help) de asistent.
Afisarea/ascunderea ferestrei de asisten se poate face prin
dou metode: se alege optiunea HelpShow Help din bara cu meniuri
sau apsnd concomitent Ctrl/H.
Fereastra de asistent se utilizeaz n cazurile urmtoare:
INSTRUMENTAIA VIRTUAL 26
La afisarea descrierii pentru obiectele din panoul frontal si
diagrama bloc;
La consultarea casetei cu functii (n fereastra diagramei
bloc), se prezint semntura si o descriere de utilizare (eventual si
a parametrilor formali) a componentei, deasupra creia se afl
cursorul mouse-lui;
n diagrama bloc, terminalul conectorului IV, asupra
cruia se opreste unealta de interconectare, este evidentiat prin
afisare intermitent n fereastra de asistent; metoda de asistare
este utilizat frecvent n realizarea conexiunilor la nodurile
(functii, subIV) dotate cu mai multe terminale, pentru selectarea
exact a parametrilor asteptati;
n diagrama bloc se permite afisarea structurii de dat,
folosit pentru valoarea care se transfer ntre dou noduri, pe o
legtur existent: se opreste unealta de interconectare deasupra
legturii; se reaminteste faptul, c nodul reprezint elementul de
executie din limbajul G.
Se ncepe un nou IV si se trece n diagrama bloc asociat. Se
activeaz afisarea casetei cu functii (Windows/Show Functions Palette)
din bara cu meniuri si fereastra de asistent (se exerseaz ambele metode
prezentate).
Se consult si se retin descrierile (afisate n fereastra de asistent)
operatorilor din caseta cu functii, grupati pe urmtoarele tipuri:
- numeric (Numeric);
- boolean (Boolean);
- tablou (Array);
- relationali (Comparison).
Utilitarul de asisten prezint o descriere detaliat a obiectelor
disponibile pentru realizarea diagramei bloc; se lanseaz din bara cu
meniuri, dac se selecteaz "Help/Online Reference" sau din fereastra
de asistent (fig. 1.17.c). Utilitarul de asistent din LabVIEW este
asemntor cu a altor aplicatii realizate pentru platforma Windows; acest
lucru l face usor de ntrebuintat.
Se lanseaz utilitarul de asistent prin ambele variante prezentate.
Studentii se familiarizeaz cu posibilittile de regsire a informatiei
disponibile.
LABVIEW 27
2. Controale i indicatoare
Scopul acestui capitol este de a prezenta elementele disponibile
pentru realizarea panoului frontal IV.
2.1. Consideraii teoretice
Un program realizat n LabVIEWare trei prti componente:
- panoul frontal;
- diagrama bloc;
- semntura (pictograma si conectorul).
Panoul frontal al unui IV reprezint interfata cu utilizatorul.
Operatorul indic de la tastatur sau mouse datele de intrare ale
programului prin interactiune asupra elementelor grafice de interfat,
numite controale. n urma prelucrrilor datelor de intrare, rezultatele sunt
afisate spre consultare prin intermediul indicatoarelor.
Un IV comunic cu alte IV prin intermediul controalelor
(parametrii formali de intrare pentru modul) si indicatoarelor (parametrii
formali de iesire n acel moment IV este folosit ca subrutin (subIV) .
2.2 Tipuri de controale i indicatoare
Sunt disponibile controale si indicatoare pentru majoritatea
tipurilor de date: numeric, sir de caractere, boolean, tabel ,tablou, grupare
de date, grafic, s.a. Pentru un anumit tip de date sunt disponibile mai
multe variante de controale si indicatoare, utilizatorul putnd s opteze
pentru cea mai sugestiv realizare.
n etapa construirii panoului frontal, utilizatorul alege pe rnd
elemente de interfat necesare din caseta cu controale i indicatoare si
le aseaz n interiorul ferestrei panou frontal. Afisarea casetei cu
controale (dac nu este vizibil) se poate face prin dou metode:
1. din bara cu meniuri se alege Ferestre/Afiseaza Caseta cu
Controale`(Windows/ Show Controls Palette);
sau
2. se pozitioneaz cursorul mouse-ului n interiorul ferestrei
panoului frontal si se apeleaz meniul contextual.
Recomandare:
De cele mai multe ori se lucreaz sub mediul Windows , spatiul
de lucru pe ecran este redus (mai ales n cazul folosirii unui monitor cu
diagonala de 14 inch) datorit prezentei ferestrelor auxiliare cu unelte
/componente de interfat, care nsotesc majoritatea aplicatiilor cu caracter
INSTRUMENTAIA VIRTUAL 28
grafic. Pentru a avea o viziune ct mai cuprinztoare asupra panoului
frontal al IV, se recomand inhibarea afisrii ferestrelor suplimentare;
majoritatea casetelor auxiliare se pot nchide putnd fi apelate prin
meniuri contextuale (afisare temporar prin selectarea unei componente
de interfat sau optiuni asociate unei actiuni).
Dac cursorul mouse-ului este "purtat" peste caseta cu controale,
se afiseaz automat denumirea grupului de componente n titlul ferestrei
gazd. Afisarea continutului unui anumit grup este declansat la
realizarea unui clic stnga al mouse-lui pe pictograma corespunztoare.
Dup identificarea grupului, se alege varianta dorit a elementului de
interfat (control/indicator); preluarea componentei din caseta cu
controale se face prin clic stnga pe pictograma asociat, dup care se
elibereaz butonul mouse-ului. Cursorul mouse-ului va lua forma unei
mini, care retine componenta selectat; plasarea componentei pe
suprafata panoului frontal se va face la pozitia curent a cursorului
mouse-ului, n urma unui clic stnga.
1 2 3
Fig.2.1. Caseta cu elemente de control si indicatoare
Semnificatia elementelor din caseta cu controale si indicatoare se
prezint n continuare n legtur cu fig. 2.1, unde s-a adoptat un sistem
de identificare matricial:
- componente numerice (fig. 2.1.a1);
- componente booleene (fig. 2.1.a2);
- componente sir de caractere si tabel (fig. 2.1.a3);
a-
b-
c-
d-
LABVIEW 29
- liste cu optiuni (fig. 2.1.b1): list circular / inel (Text
Ring), meniuri derulante ( Menu Ring, Dialog Ring),
cutie list (Listbox);
- tablou si grupare de date (fig. 2.1.b2);
- reprezentri grafice (fig. 2.1.b3);
- cale de fisier (fig. 2.1.c1);
- elemente decorative (fig. 2.1.c2);
- componente utilizator (fig. 2.1.c3);
- componente pentru suport ActiveX (fig. 2.1.d1);
- optiune pentru selectarea unui control stocat ntr-un fisier
(se permite consultarea structurii de directoare,
(fig.2.1.d2).
Imediat dup plasarea controlului /indicatorului pe suprafata
panoului frontal se recomand indicarea unei etichete proprii (owned
label), care reprezint identificatorul obiectului n codul surs al
programului (diagrama bloc a IV).
Stabilirea valorilor pentru optiunile aditionale elementului de
interfat, care se pot referi la afisarea unor elemente descriptive
suplimentare, selectarea comportrii mecanice (controale booleene), tipul
de reprezentare folosit, domeniul valorilor posibile (minim, maxim,
valoare implicit) si numrul de zecimale semnificative, se face prin
intermediul meniului contextual asociat controlului sau indicatorului,
ilustrat n figura 2.2.
Optiunile aceluiasi meniu contextual permit si conversia
controlului n identificator sau invers, localizarea terminalului asociat n
diagrama bloc (codul surs al programului), crearea n diagrama bloc de
elemente (noduri) pentru controlul propriettilor asociate, stabilirea unui
comentariu care s descrie semnificatia si rolul variabilei, asocierea
elementului de interfat a unei combinatii de taste utilizate pe post de
accelerator (key navigation), folosit la rularea IV.
Prin intermediul nodurilor proprietate, asociate controalelor bar,
indicatoarelor, programatorul modific (actiune transparent
utilizatorului aplicatiei) din codul surs al programului (diagrama bloc)
atributele fizice ale obiectelor de interfat din panoul frontal: vizibilitatea
(visible), dezactivarea (disabled), pozitia (x,y) n panoul frontal, culoarea
s.a. Majoritatea optiunilor, ilustrate n meniul contextual (figura 2.2), se
regsesc si la celelalte tipuri de controale si indicatoare.
INSTRUMENTAIA VIRTUAL 30
Fig. 2.2 Meniu contextual asociat unui control numeric
Programatorii pot specifica pentru controalele din panoul frontal
taste acceleratori, prin care acestea s fie selectate la executia
programului: se foloseste optiunea "Key Navigation" din meniul
contextual asociat elementului de interfat. Controlul pentru care s-a
apsat combinatia de taste (la rularea IV) devine obiect curent de editare.
ntr-un panou frontal nu pot exista dou controale, care s
utilizeze aceeasi combinatie de taste acceleratori. Pentru indicatoare nu
se pot asocia acceleratori; acestia nu sunt obiecte de interfat destinate
actualizrii valorilor retinute.
Asocierea unei taste accelerator pentru selectarea controlului (la
executia IV) este utilizat mai ales pentru butoanele de comand,
elemente de interfat cu dou stri (true sau false, corespunztor apsat
sau neapsat). Prin utilizarea acceleratorului unui buton de comand, se
produce acelasi efect obtinut la apsarea cu mouse-ul pe acel control.
Se recomand utilizarea acceleratorilor pentru controale tip buton
mai ales n aplicatiile utilizate pentru supravegherea unor fenomene, care
se desfsoar rapid n timp, trebuind achizitionate valori la intervale
scurte de timp. n acest caz, este important s nu apar un eveniment, a
crui tratare din partea unittii centrale de prelucrare (UCP) a
calculatorului (pe care se realizeaz monitorizarea ) s duc, de exemplu,
la pierderea unor valori critice ale fenomenului analizat sau la aparitia
unor probleme neasteptate n functionarea IV.
Un eveniment posibil (aprut la rularea aplicatiei) ar putea fi
cauzat si de miscarea mouse-ului pe suprafata panoului frontal al IV ,
ducnd la ocuparea UCP cu tratarea acestei ntreruperi, care ar putea fi
fatal pentru analiza procesului. De aceea, pentru aplicatiile n care
timpul UCR este critic, se recomand deconectarea fizic a mouse-ului
LABVIEW 31
din sistemul calculatorului; interactiunea utilizatorului cu aplicatia se va
face prin acceleratorii (tastatura calculatorului) asociati controalelor
prezente n panourile frontale.
Fiecare control si indicator plasat n panoul frontal primeste
automat un numr de ordine (ordinea din panoul frontal). Primul element
are numrul de ordine 0, al doilea are asociat valoarea 1 s.a.m.d.
Numrul de ordine din panoul frontal al controalelor se poate modifica
interactiv prin optiunea "Edit/Panel Order" din bara cu meniuri,
determinnd afisarea valorii numerice curente n stnga fiecrui element.
Parcurgerea controalelor (la executia IV) n ordinea cresctoare a
numrului de ordine din panoul frontal se face prin apsarea tastei
<Tab>; revenirea pe un control anterior se face prin apsarea simultan a
tastelor <Shift> si <Tab>.
2.3. Controale i indicatoare de tip numeric
Transmiterea valorilor numerice spre program sau afisarea
rezultatelor numerice se face prin intermediul controalelor si
indicatoarelor numerice. Exist mai multe realizri ale componentelor de
interfat, corespunztoare tipului de dat numeric. Fiind activ fereastra
panoului frontal, pentru consultarea colectiei de componente numerice se
va afisa caseta cu controale (dac nu este vizibil): din bara cu meniuri se
alege "Ferestre /Afieaz Caseta cu Controale" (Windows/Show
Controls Palette), sau se apeleaz meniul contextual pentru obiectul
fereastra panou frontal (clic dreapta); din caseta cu controale se
selecteaz grupul "Numeric", care va afisa colectia cu variantele de
realizare a elementelor de interfat corespunztoare tipului numeric,
aspect redat n figura 2.3.
Colectia de controale si indicatoare numerice retine urmtoarele
variante de realizare:
- digital;
- cursor orientat vertical (vertical slide) sau orizontal
(horizontal slide);
- rezervor (tank);
- termometru (thermometer);
- buton rotitor (knob);
- buton disc de telefon (dial);
- cadran aparat de msur (meter);
- kilometraj (gauge).
INSTRUMENTAIA VIRTUAL 32
Fig. 2.3 Variante ale componentelor de interfata pentru tipul numeric de date
Controalele numerice digitale sunt preferate pentru simplitatea
realizrii grafice, prevenind posibile confuzii de folosire a aplicatiei de
ctre operatorul uman. n general, interfetele se recomand s fie ct mai
simple si n realizarea lor s se foloseasc cele mai sugestive componente
vizuale. Controalele si indicatoarele numerice digitale afiseaz rezultatele
unor prelucrri matematice. Controalele si indicatoarele numerice
digitale se recomand a fi utilizate la implementarea interfetei IV
(parametrii de intrare si de iesire), care vor fi folosite ca si subrutine
auxiliare, utilizatorul ne-interactionnd cu panoul frontal al acestora.
Introducerea valorilor ntr-un control numeric digital se face cu
unealta de operare si actionnd prin una din metodele urmtoare:
1. Se face clic stnga deasupra chenarului controlului, pentru a plasa
cursorul n cmpul de editare si se introduce noua valoare de la
tastatur sau se folosesc sgetile de pe claviatur.
2. Se folosesc butoanele (dispuse pe vertical n partea stng a
cmpului de editare) de incrementare sau decrementare. n
interiorul cmpului de editare se pot folosi tastele <Delete> si
<Backspace>,pentru stergerea caracterului din dreapta, respectiv
stnga, cursorului.
ncheierea operatiei de editare se face apsnd tasta <Enter>, sau
butonul etichetat Enter` (afisat n stnga barei cu unelte), sau realiznd
un clic stnga cu mouse-ul n exteriorul controlului.
LABVIEW 33
Pentru un control numeric, plasat n panoul frontal, se pot stabili
suplimentar unele proprietti prin meniul contextual asociat:
- valoarea curent afisat este stabilit implicit (Data
Operations/ Make Current Value Default);
- asocierea unui accelerator (Key Navigation);
- formatul de reprezentare (Representation): se poate alege
unul din cele 12 tipuri disponibile, redate n fig. 2.5;
- domeniul valorilor posibile, incrementul (Data Range)
folosit;
- stabilirea formatului de afisare (numeric, dat
calendaristic) si a numrului de zecimale utilizate n afisare
(Format & Precision).
0 1 2
Fig. 2.4. Formate de reprezentare disponibile din meniul contextual
Semnificatia formatelor de reprezentare din figura 2.4 se prezint
n continuare:
- real, precizie extins (96 biti, fig. 2.4, a0);
- real, dubl precizie (64 biti, fig. 2.4, a1)
- real, simpl precizie (32 biti, fig. 2.4, a2);
- ntreg cu semn, dublu cuvnt (32 biti, fig. 2.4, b0);
- ntreg cu semn, cuvnt (16 biti, fig. 2.4, b1);
- ntreg cu semn, octet (8 biti, fig. 2.4, b2) ;
- ntreg fr semn, dublu cuvnt (32 biti, fig. 2.4, c0);
- ntreg fr semn, cuvnt (16 biti, fig. 2.4, c1);
- ntreg fr semn, octet (8 biti, fig. 2.4, c2);
- precizie extins numere complexe (96 biti, fig. 2.4, d0);
a-
b-
c-
d-
INSTRUMENTAIA VIRTUAL 34
- dubl precizie (64 biti) numere complexe (fig. 2.4, d1);
- simpl precizie (32 biti), numere complexe (fig. 2.4, d2).
Numrul de zecimale stabilite pentru un control numeric este
folosit la afisarea valorii numerice si nu influenteaz precizia cu care se
opereaz; precizia depinde de formatul de reprezentare selectat.
Cadranul grafic este n permanent vizibil pentru o component,
vizibilitatea afisajului numeric digital fiind optional. Prezentare valorii
retinute de componenta de interfat prin afisajul numeric digital se face
prin optiunea "Show / Digital Display", din meniul contextual asociat.
Componenta de intefat poate fi schimbat din control n
indicatorsi invers, prin optiunea "Change to Indicator", respectiv
"Change to Control", din meniul contextual.
Introducerea (la editarea sau rularea IV ) valorii numerice pentru
un control se face cu unealta de operare prin:
- afisajul numeric digital
sau
- prin miscarea acului indicator (cu mouse-ul).
Pentru o component cu cadran grafic se pot stabili, ca si la cele
digitale, urmtoarele: accelerator, format reprezentare, domeniul valorilor
permise, numrul de zecimale. Prin meniul contextual se pot stabili n
plus optiuni referitoare la formatul scalei (Scale) si nlocuirea valorilor
numerice de pe scal cu etichete sugestive (Text Scale), ca n figura 2.5.
Semnificatiile optiunilor din figura 2.5 sunt urmtoarele:
- optiuni pentru distribuirea (Uniform/Arbitrar)
marcajelor (fig. 2.5.a1);
- stabilirea numrului de zecimale si reprezentarea (fig.
2.5.a2);
- optiuni pentru afisarea marcajelor si valorilor (fig. 2.5.a3);
- tipul de scal (Linear/Logaritmic, fig. 2.5.a4);
- valorile de pe scal sunt nlocuite prin etichete sugestive
(fig. 2.5.b).
Pe scala unui control /indicator cu cadran grafic se pot defini (n
faza de editare a IV) etichete sugestive (figura 2.6) prin selectarea
optiunii "Etichete Text" (Text Labels), a meniului contextual din fig. 2.6,
b. O etichet este un sir de caractere (indicat de utilizator), creia i este
asociat automat (de mediul LabVIEW) o valoare ntreag pozitiv.
ncheierea procesului de introducere a etichetelor se face:
- apsnd tasta <Enter> din partea dreapt a tastaturii (zona
tastelor numerice)
LABVIEW 35
sau
- selectnd cu mouse-ul butonul de comand <Enter> din
bara cu unelte (afisat n partea stng).
Fig. 2.5. Optiuni pentru formatul scalei si etichete la controale/ indicatoare cu
cadran grafic
Prima etichet de pe scal are asociat valoarea 0; ultimei etichete
i corespunde o valoare dat de numrul de etichete minus valoare 1.
Fig. 2.6. Un control numeric tip rezervor cu etichete pe scal
a-
b-
-1
-2
-3
-4
INSTRUMENTAIA VIRTUAL 36
2.4. Controale i indicatoare de tip boolean
Componentele de interfat ale panoului frontal, apartinnd tipului
boolean au dou valori posibile, corespunznd strii de adevrat (True)
sau fals (False). Valoarea logic fals este valoarea initial: componenta
boolean a fost preluat din caseta de controale/indicatoare si plasat pe
suprafata panoului frontal.
Exist mai multe realizri grafice de controale de tip boolean:
butoane, care pot fi apsate, comutatoare, ntreruptoare, butoane radio.
Indicatoarele booleene sunt reprezentri vizuale ale valorii logice si
simuleaz leduri, realizate sub diferite forme (rotunde, ptrate).
Fig. 2.7. Controale/indicatoare apartinnd tipului boolean
Colectia componentelor de interfat, apartinnd tipului boolean
sunt disponibile din caseta de controale, grupate sub titlul Boolean
(figura 2.7).
n etapa construirii panoului frontal, se poate verifica comportarea
unui control sau indicator boolean, dac se selecteaz unealta si se
actioneaz cu butonul stnga al mouse-ului; la fiecare apsare a mouse-
ului, componenta de interfat de tip boolean va trece n stare
complementar.
Prin intermediul optiunilor meniului contextual, asociat obiectului
de tip boolean, se stabilesc valorile unor proprietti suplimentare sau se
realizeaz actiuni specifice:
LABVIEW 37
schimbarea n control/indicator;
afisarea/ascunderea etichetei proprii (owned label) si a
etichetei corespunztoare strii logice (boolean text) pe
suprafata componentei;
stabilirea valorii implicite;
crearea unui nod proprietate n diagrama bloc;
stabilirea comportrii mecanice (doar pentru controale).
Optiunile meniului contextual sunt ilustrate n figura 2.8.
Fiecare control/indicator boolean poate fi redimensionat prin
unealta de editare si colorat prin unealta de colorare.
Pentru fiecare control sau indicator din panoul frontal, se
recomand indicarea unei etichete proprii, care este identificatorul
(numele) asociat variabilei si folosit n diagrama bloc (codul
programului).
De cele mai multe ori, nu este necesar afisarea acesteia n panoul
frontal (putnd deruta utilizatorul final al aplicatiei), ascunderea fcndu-
se prin meniul contextual, optiunea Show/Label (neselectat).
Majoritatea controalelor/indicatoarelor se gsesc n starea
corespunztoare valorii logice fals, dup ce au fost preluate din casta
controale si asezate pe suprafata panoului frontal.
Unele componente de interfat afiseaz unul din cuvintele
urmtoare:
nchide (off), anuleaz (cancel) sau oprete (stop), pentru
starea logic fals;
deschide (on) sau n-regul (ok), pentru starea logic
adevrat, pe suprafata grafic, evidentiind valoarea logic
corespunztoare strii curente.
Eticheta corespunztoare strii poate fi modificat prin unealta
etichetare; pentru stabilirea etichetei celeilalte stri, se trece mai nti
componenta n starea logic complementar (cu unealta de operare).
O metod de a verifica starea curent a unui control/indicator
boolean, care nu afiseaz implicit eticheta strii este de a o vizualiza prin
optiunea Show/ Boolean Text din meniul contextual ( fig. 2.8.a).
Semnificatia optiunilor din meniul contextual asociat unei
componente booleene (fig. 2.8) se prezint n continuare:
se vizualizeaz informatii suplimentare (eticheta proprie si
eticheta strii, fig.2.8.a);
submeniul ,Actiuni asupra datei` (Data Operations, fig. 2.8.b);
INSTRUMENTAIA VIRTUAL 38
Fig. 2.8. Meniul contextual asociat unei componente booleene
se stabileste valoarea implicit ( fig.2.8.b1);
submeniul pentru stabilirea comportamentului mecanic al
controlului boolean ( fig. 2.8.c);
comportare mecanic ,comut la apsare` (switch when
pressed, fig.2.8.d1);
comportare mecanic ,comut la eliberare` (switch when
released, fig.2.8.d2);
comportare mecanic ,comut nainte de eliberare` (switch
until released, fig.2.8.d3);
comportare mecanic ,:vorete la apsare` (latch when
pressed, fig.2.8.e1);
comportare mecanic ,:vorete la eliberare` (latch when
released, fig.2.8.e2);
comportare mecanic ,:vorete nainte de eliberare` (latch
until released, fig.2.8.e3).
n momentul selectrii optiunii Stabileste Valoarea Curent
Implicit( Make Current Value Default, fig. 2.8.b1) se va stabili
pentru componenta selectat starea/valoarea-logic curent ca
stare/valoare implicit.
LABVIEW 39
Pictograma asociat comportrii mecanice evidentiaz grafic, n
timp, succesiunea operatiilor: actiunea utilizatorului cu mouse-ul asupra
controlului (litera M), noua valoare a controlului (litera V), momentul
prelurii valorii controlului de ctre diagrama bloc (literele RD).
Semnificatia comportrii mecanice pentru controalele booleene
este dup cum urmeaz:
,Comut la apsare` (fig.2.8.d1)
La fiecare apsare a butonului mouse-ului se modific
starea/valoarea controlului(comportare similar ntreruptorului de
lumin). Valoarea controlului nu este afectat de preluarea valorii n
diagrama bloc.
,Comut la eliberare`(fig.2.8.d2)
Valoarea controlului se modific dup eliberarea butonului
mouse-ului. Controlul rmne n noua stare pn la urmtoarea
interactiune a utilizatorului. Valoarea controlului nu este afectat de
preluarea valorii de diagrama bloc.
,Comut nainte de eliberare`(fig.2.8.d3)
Valoarea controlului se modific la apsare si se retine pn la
eliberarea butonului mouse-ului; la eliberare, controlul revine la
valoarea/starea anterioar interactiunii. Valoarea controlului nu este
afectat de preluarea valorii de diagrama bloc.
,Zvorete la apsare`( fig.2.8.e1)
La apsare, se modific valoarea; noua valoare este retinut
pn cnd este preluat de diagrama bloc. Dup preluarea valorii,
controlul revine la valoarea anterioar interactiunii.
Zvorete la eliberare`( fig.2.8.e2)
Valoarea controlului se modific dup eliberarea butonului
mouse-ului. Dup preluarea valorii de diagrama bloc, controlul revine la
valoarea anterioar a interactiunii.
,Zvorete nainte de eliberare`( fig.2.8.e3)
Valoarea controlului se modific la apsare. Controlul revine la
valoarea anterioar, dac survine unul din elementele:
- diagrama bloc a preluat valoarea
sau
- s-a eliberat butonul mouse-ului.
Se recomand comportare mecanic ,:vorete la apsare`
controalelor booleene, care s declanseze o singur dat o operatie, la
fiecare apsare (exemplu: tiprirea unor date, trecerea n alt ecran,
prsirea ecranului curent).
INSTRUMENTAIA VIRTUAL 40
Pentru un control boolean, pentru care s-a indicat o comportare
mecanic din clasa zvorre, nu se mai pot defini variabile locale n
diagrama bloc. Prin variabil local se poate ntelege utilizarea sub alt
nume a variabilei, cu care este pus n corespondent; n limbajul Pascal
sau C, ar echivala cu o variabil de tip pointer, asociate unei variabile.
Fiecrui element de interfat din panoul frontal i corespunde o variabil
terminal n diagrama bloc;prin variabila local se adaug n diagrama
bloc nc o variabil-terminal, prin care programatorul are acces la
valoarea controlului/indicatorului printe, pentru inspectare sau
actualizare.
2.5. Controale i indicatoare tip ir de caractere
Componentele de interfat tip sir de caractere pentru
citirea/afisarea mrimilor apartinnd acestui tip de dat.
n etapa construirii panoului frontal, se introduce o valoare pentru
un control/indicator sir de caractere prin unealta de etichetare sau de
operare; valoarea actualizat este asociat componentei n urma apsrii
butonului <Enter>, afisat n bara orizontal cu meniuri sau a tastei
<Enter> din partea dreapt a tastaturii (zona tastelor numerice).
Dac se apas tasta <Enter> atunci se va forta trecerea la un rnd
nou; valoarea (textul) afisat ntr-o component sir de caractere se poate
ntinde pe mai multe linii (ltimea cadrului).
Cnd se editeaz continutul componentei si cursorul ajunge n
dreptul limitei dreapta a spatiului de editare a controlului/indicatorului, se
trece automat la o linie nou; la un moment dat este vizibil o singur
linie alfanumeric.
Un control/indicator sir de caractere poate fi redimensionat prin
unealta de editare.
Dac valoarea unui control/indicator se ntinde pe mai multe linii, se
poate afisa bara de defilare (scroll bar) a continutului, prin optiunea
meniului contextual ,Afieaz / Bara derulare (Show / Scroolbar).
Optiunea este disponibil att pentru controale ct si pentru indicatoare;
pentru a avea succes la aceast optiune va trebuie anterior, mrit
suficient dimensiunea vertical (nltimea final s fie minim triplul
nltimii unei singure linii de text) a componentei (cu unealta de editare)
pentru a asigura si afisarea elementului de control bar de derulare. Dac
nu se mreste suficient nltimea componentei, atunci optiunea din
meniul contextual nu va fi disponibil.
LABVIEW 41
Valoarea componentei se poate declara valoare-implicit dac se
selecteaz din meniul contextual optiunea ,Actiuni asupra datei /
Stabilete Valoarea Curent Implicit` (Data Operations / Make
Current Value Default).
Componenta selectat poate fi colorat prin unealta de colorare.
Pentru caracterele utilizate la afisare se poate indica suplimentar:
utilizarea unui anumit tip de caractere (font); dimensiunea si colorarea
caracterelor, ncadrarea orizontal a continutului alfanumeric (stnga,
centrat, dreapta), optiuni disponibile prin intermediul barei cu unelte.
Meniul contextual, asociat unui control tip sir de caractere
(etichetat Parola), este prezentat n figura 2.9, prin care utilizatorului
aplicatiei i se cere introducerea unei parole de acces; verificarea
corectitudinii parolei introduse se face n urma apsrii butonului de
control, etichetat VERIFIC pentru care s-a definit tasta accelerator
<F7>.
Caracterele introduse n controlul Parola sunt protejate, fiind
afisate prin caractere*. Continutul controlului este restrictionat la o
singur linie, care ns poate depsi ltimea vizibil componentei; n
figura 2.9, b optiunea Limiteaz la o singur linieeste selectat
utilizatorul neputnd introduce caracterul linie nou prin apsarea tastei
<Enter> n continutul sirului de caractere.
O alt component de interfat care faciliteaz
introducerea/afisarea datelor tip sir de caractere este tabelul, redat n
figura 2.9.
Ca structur de date, un tabel este un tablou bidimensional
(matrice), cu elemente (celule) sir de caractere. Elementele sunt grupate
pe linii, putnd exista mai multe linii. O anumit celul a tabelului se va
gsi la intersectia dintre linia si coloana corespunztoare.
Un tabel poate fi control (permite actualizarea datelor continute n
celule) sau indicator (afisarea valorilor nu permite actualizarea datelor).
Pentru o component de interfat tabel, se permite accesul prin
intermediul meniului contextual, asociat la eticheta proprie, afisarea
indexului liniei si coloanei, afisarea barei vertical/orizontal de derulare,
afisarea titlului pentru fiecare linie (Row Headers) si a capului de tabel
(Column Headers) si definirea unei taste accelerator. Redimensionarea
tabelului si a celulelor se face prin unealta de editare.
Numrul de ordine pentru linii/coloane ncepe de la valoarea zero.
INSTRUMENTAIA VIRTUAL 42
Introducerea valorilor n etapa construirii panoului frontal, ntr-o
component tabel (pentru capul de tabel, titlul de linie, celule), se face
prin unealta de operare sau de etichetare.
Fig. 2.9. Meniul contextual al unui control sir se caractere: a optiunea pentru
protejarea afisrii sirului de caractere; b optiunea selectat interzice
introducerea caracterului linie nou la apsare tastei <Enter>
Pentru a se ajunge la o anumit celul (la executia IV), se indic
numrul liniei si coloanei prin controalele din figura 2.9, a si b.
Componentele index de coloan si linie indic pozitia n tabel pentru
celula afisat curent n coltul stnga sus a zonei, n care este prezentat
continutul tabelului.
2.6. Controale i indicatoare tip tablou i grupare de date
Tabloul (Array) este o structur de date compus, cu elemente
apartinnd aceluiasi tip: numeric, boolean, sir de caractere, cale de fisier
(path), identificator unic (refnum), grupare de date (cluster). Se spune c
tabloul este o structur omogen de date. Elementele detin n cadrul
structurii compuse o pozitie bine determinat; accesul la o anumit celul
se face prin indexare.
Pentru un tablou cu N-elemente, primul element se gseste la
pozitia 0, iar ultimul element din tablou la pozitia N-1. Un tablou poate
avea mai multe dimensiuni;numrul maxim de elemente/dimensiune este
LABVIEW 43
2
31
-1. Dimensiunea unui tablou este supus dimensiunii memoriei
disponibile. Pentru fiecare dimensiune a unui tablou se foloseste un
index.
n limbajul G, elementele unui tablou nu pot fi la rndul lor
tablouri.;se pot defini tablouri cu mai multe dimensiuni. Elementele unui
tablou pot fi de tip grupare de date, care s contin elemente tip tablou,
cu elemente de tip grupare de date s.a.
Programarea n mediul LabVIEWncurajeaz folosirea structurii
de date tablou, prin puternice functii puse la dispozitia dezvoltatorului de
IV.
Pentru crearea n panoul frontal a unui control/indicator de tip
tablou, se selecteaz din caseta cu controale, grupul ,Tablou & Grupare
de Date` (Array & Cluster), un obiect ,Tablou` (Array) asa cum se
indic n figura 2.10.
Dup plasarea obiectului de interfat tip tablou la locul dorit, pe
suprafata panoului frontal, se va indica eticheta proprie a variabilei
(identificatorul variabilei tip tablou);acest lucru este semnalizat
utilizatorului prin prezenta unui dreptunghi nnegrit, de dimensiunile unui
caracter, plasat n partea superioar, stng a chenarului componentei.
S-a definit o variabil tip tablou, pentru care urmeaz s se indice
tipul elementelor. Numai variabila tip tablou singur nu poate fi folosit,
neavnd asociat vreo semnificatie de control sau indicator; se spune
despre o variabil tip tablou c este indicator sau control dup tipul
elementelor.
Este logic s se deduc concluzia: elementele unui tablou sunt
toate controale sau toate indicatoare.
Dintre tipurile de date permise pentru elementele tabloului se
alege o component din caseta cu controale si indicatoare; componenta
selectat se pozitioneaz cu mouse-ul deasupra variabilei tip Tablou .
Interiorul chenarului variabilei tip Tablou va fi afisat hasurat,
indicnd faptul c pentru variabila tablou se va indica tipul elementelor;
printr-un clic stnga cu mouse-ul, se ncheie definirea tipului elementelor
tabloului.
Pentru componenta tablou sunt afisate dou csute: sua
indicelui, din partea stng si sua valoare, n partea dreapt; ntr-o
csut valoare se afiseaz valoarea elementului tabloului de pe pozitia
prezentat n csuta indice. Cu unealta de editare se poate mri
dimensiunea csutei valoare: se trage de coltul din dreapta-jos al csutei
pe directia orizontal, nspre dreapta sau pe directia vertical, n jos.
INSTRUMENTAIA VIRTUAL 44
Dac se mreste dimensiunea csutei valoare, se afiseaz simultan mai
multe elemente ale tabloului: dispunerea este pe orizontal sau pe
vertical. Pentru modificarea orientrii elementelor tabloului trebuie s se
reduc numrul de celule afisate la una singur, dup care s se
redimensioneze csuta valoare n directia dorit. Celulele elementelor, al
cror continut este umbrit, indic faptul c nu sunt definite.
Fig. 2.10. Localizarea variabilei tip Tablou n caseta cu controale
Variabila tablou definit anterior are o singur dimensiune.
Stabilirea dimensiunilor suplimentare pentru un tablou se face astfel:
se mreste (pe directia vertical n jos) cu unealta de
editare csuta indicelui
sau
se selecteaz optiunea Adaug o dimensiune (Add
Dimension) din meniul contextual, asociat variabilei tablou.
Reducerea dimensiunilor unui tablou se realizeaz:
micsornd (pe directia vertical n sus), cu unealta de
editare, csuta indicelui
sau
selectnd optiunea Elimin o Dimensiune (Remove
Dimension) din meniul contextual asociat variabilei tablou.
Optiunea Elimin o Dimensiune din meniul contextual asociat
variabilei tablou este accesibil doar dac tabloul are minim 2
dimensiuni.
Pentru un tablou cu mai multe dimensiuni, csutele indice sunt
dispuse pe vertical.
LABVIEW 45
Pentru un tablou cu mai multe dimensiuni (matrice), se poate mri zona
valorilor att pe orizontal, ct si pe vertical: se obtine o afisare
matricial a elementelor. Elementul afisat n celula stnga sus a matricei
de vizualizare a valorilor se gseste n tablou, la pozitia indicat de
valorile afisate ale indicilor.
Redimensionarea csutei valoare a componentei elementului de
tablou este imposibil, dup ce a fost plasat n interiorul chenarului
variabilei tablou; pentru redimensionare (vizualizarea mai multor cifre)
se procedeaz astfel: componenta se scoate n exteriorul variabilei tablou,
se aduce cu unealta de editare (Positioning Tool) la dimensiunea dorit,
iar n final se plaseaz n interiorul chenarului componentei tablou.
O grupare de date (Cluster) este o structur compus de date.
Nu este obligatoriu ca elementele componente s apartin aceluiasi tip,
spre deosebire de limitarea apartenentei unice a tipului la elementele unui
tablou (Array). Se spune c gruparea de date este o structur eterogen.
Structura grupare de date din limbajul G este implementat n
limbajul C prin tipul structur (struct), iar n Pascal prin tipul nregistrare
(record).
Elementele componente ale unei grupri de date pot apartine
oricrui tip valid de dat, din limbajul grafic G.
2.7. Controale i indicatoare pentru reprezentri grafice
Prin intermediul acestor componente de interfat, plasate n
panoul frontal, se permite vizualizarea reprezentrilor grafice.
Indicatoarele primesc valorile numerice, necesare realizrii
reprezentrii grafice, n urma prelucrrilor din diagrama bloc.
Controalele se utilizeaz n locul indicatoarelor, dac valorile
necesare realizrii reprezentrii grafice sunt primite ca parametri de
intrare pentru IV curent, folosit drept subrutin (subIV).
Nu se permite utilizatorului s realizeze o reprezentare grafic
interactionnd direct asupra unui control.
Componentele de interfat, dedicate reprezentrilor grafice, se
mpart n doua categorii generale:
diagram (chart);
grafic (graph).
Diagramele sunt reprezentri grafice ale unei mrimi, care se
modific pe o perioad de timp.
INSTRUMENTAIA VIRTUAL 46
Exemplu:
Diagrama evolutiei temperaturii pentru o durat specificat de
timp.
Graficele reprezint variatia a dou mrimi: y n functie de x.
Diagrama, spre deosebire de Grafic, pstreaz punctele
reprezentate anterior, permitnd vizualizarea variatiei n timp a
procesului; noile puncte sunt afisate n continuarea celor vechi.
Reprezentarea punctelor curente n Grafic se face dup stergerea
reprezentrii anterioare.
Fig. 2.11. Componente de interfat pentru reprezentri grafice:
a1 diagram und; a2 - grafic und; a3 - grafic XY; b1 - diagram
intensitate; b2 - grafic intensitate
Sunt disponibile 5 tipuri de componente de interfat pentru
vizualizarea reprezentrii grafice:
1. diagrame und (waveform charts);
2. grafice und (waveform graphs);
3. grafice XY (XY graphs);
4. diagrame intensitate (intensity charts);
5. grafice intensitate (intensity graphs).
Componentele dedicate vizualizrii reprezentrilor grafice se
gsesc n casta cu controale si indicatoare, grupul ,Grafice` (Graphs),
conform figurii 2.11.
LABVIEW 47
Diagrama und
Este o component de interfat, dedicat afisrii uneia sau mai
multor reprezentri grafice simultan, pentru care se urmreste variatia n
timp.
n figura 2.12 se indic elementele suplimentare de interfat,
asociate unei componente tip diagram und, n care se reprezint grafic
variatia unei mrimi n timp. Se permite redimensionarea componentei
prin unealta de editare.
Fig.2.12. Elementele componentei Diagram und:
a - identificatorul; b - axa ordonatelor (mrimea); c - axa absciselor (numrul de
puncte);d - caseta cu unelte grafice; e - bara de defilare; f - legenda
Caseta cu unelte grafice retine elementele, care se pot folosi de
ctre utilizator n faza de executie a IV, prin care se realizeaz operatii de
scalare si de stabilire a unor optiuni asociate reprezentrii. Bara de
defilare permite inspectarea reprezentrii punctelor afisate anterior.
Legenda permite descrierea fiecrei reprezentri, stabilirea culorii,
indicarea punctelor pe reprezentare, stilul de marcare al punctelor, tipul
liniei utilizate s.a. Afisajul numeric indic ultima valoare reprezentat
grafic.
Afisarea/ascunderea elementelor aditionale de interfat asociate
componentei se face prin meniul contextual asociat, fapt redat n figura
2.13.
Pentru stabilirea limitelor domeniului pentru una din abscise (n
cazul reprezentrii Diagramei und este vorba doar de ordonate), se
selecteaz unealta de etichetare; se face clic stnga cu mouse-ul deasupra
INSTRUMENTAIA VIRTUAL 48
etichetei numerice, de pe scal, care se doreste a se modifica. Dup
vizualizarea cursorului de editare, se editeaz cu tastatura valoarea afisat
si se finalizeaz apsnd tasta <Enter> sau selectnd cu mouse-ul
butonul din bara orizontal cu unelte, pe care este afisat textul Enter.
Fig.2.13. Meniul contextual asociat componentei tip Diagram und:
a - identificatorul asociat; b - legenda; c - caseta cu unelte grafice;
d - afisaj numeric; e - bara de defilare; f - abscisa; g - ordonata;
h - afisarea una sub alta, pe vertical, a reprezentrilor; i - stabilirea numrului
de puncte de retinut
Punctele curente (noi) de afisat sunt reprezentate n continuarea
celor existente; numrul punctelor retinute si reprezentate anterior este
stabilit prin optiunea ,Dimensiunea Istorie a Diagramei` (Chart
History Length, fig. 2.13.i). Valorile punctelor reprezentate anterior sunt
retinute ntr-o memorie temporar (buffer), a crei dimensiune este
stabilit prin aceast optiune; n momentul atingerii limitei maxime, se
renunt la vechile puncte retinute. Inspectarea punctelor anterioare,
retinute n memoria temporar, se face prin bara de defilare orizontal
(se merge napoi la axa timpului).
n cazul reprezentrilor multiple (n aceeasi component), se pot
stabili pentru fiecare reprezentare n parte eticheta descriptiv,
LABVIEW 49
caracteristicile stilului liniei, culoarea, tipul punctelor s.a. Accesul la
aceste optiuni se face prin meniul contextual, asociat fiecrei etichete
indicate n Legend, ca in figura 2.14
Fig. 2.14. Meniul contextual asociat Legendei unei reprezentri:
a - selectare tip reprezentare (6 tipuri); b - tipuri de marcare puncte; c - tipuri de
linii; d - grosimea liniei; e - utilizare bare; f - tipuri de umplere a zonelor fat de
axe; g - tip trasare linie ntre puncte; h - culoare reprezentare
Dac elementul Legend nu este vizibil, acesta se va selecta
pentru afisarea optiunii, din meniul contextual asociat componentei tip
Diagram und (fig. 2.13.b). Implicit, Legenda afiseaz doar intrarea
pentru o singur reprezentare; pentru prezentarea descrierii tuturor
reprezentrilor, se trage cu unealta de editare (pe directia n jos) coltul
inferior (stng sau drept) al casetei Legendei. Cu unealta de etichetare se
poate modifica descrierea asociat fiecrei reprezentri. Se pozitioneaz
unealta de editare deasupra descrierii unei reprezentri si se apeleaz
meniul contextual, prin care se stabilesc optiunile folosite la realizarea
fiecrei reprezentri n parte. (fig. 2.14).
O parte din elementele si optiunile prezentate si asociate
reprezentrii Diagram und se regsesc si la celelalte 4 tipuri de
componente.
Pentru o component tip Diagram und, se poate stabili
suplimentar modalitatea de mprosptare a datelor: optiunea ,Mod de
Actualizare` (Update Mode), submeniul ,Actiuni asupra datei` (Data
Operations), din meniul contextual asociat, redat n figura 2.15.
INSTRUMENTAIA VIRTUAL 50
Fig.2.15. Meniul contextual cu optiuni asupra datelor:
a - stergerea reprezentrilor; b1 - diagram tip panglic;
b2 - diagram tip domeniu; b3 - diagram tip baleiere
Comportarea celor trei moduri de actualizare a noilor puncte ntr-
o reprezentare diagram und este dup cum urmeaz:
Diagrama tip panglic (strip chart, fig. 2.15.b1):
Noile puncte se afiseaz n partea dreapt a celor existente, n
timp ce vechile puncte sunt retrase spre stnga.
Diagrama tip domeniu (scope chart, fig. 2.15.b2):
Noile puncte se afiseaz n partea dreapt a celor existente. n
momentul n care reprezentarea atinge marginea din dreapta a
zonei de vizualizare, reprezentarea atinge marginea din dreapta a
zonei de vizualizare, reprezentarea este stears si renceput din
marginea din stnga.
Diagrama tip baleiere (sweep chart, fig. 2.15.b3):
Noile puncte se afiseaz n partea dreapt a celor existente. La
atingerea marginii din dreapta a zonei de vizualizare,
reprezentarea nu este stears; noile puncte sunt afisate ncepnd
din partea stng, peste cele vechi (existente). Punctele noi,
afisate sunt indicate de o linie vertical, care baleiaz zona de
vizualizare.
LABVIEW 51
Graficul und
Se utilizeaz pentru reprezentarea functiilor de o variabil, avnd
punctele distribuite uniform pe axa absciselor. Acesta se aseamn cu
Diagrama und; se permite realizarea uneia sau mai multor reprezentri
simultan.
Graficul XY
Este componenta cea mai general, care permite realizarea
reprezentrilor grafice ale functiilor de dou variabile x si y.
n figura 2.16 se arat un exemplu de utilizare a componentei Grafic XY.
ntr-o component Grafic XY se pot realiza una sau mai multe
reprezentri simultan.
Fig. 2.16. Reprezentri utiliznd o component Grafic XY
Diagrama intensitate
Permite reprezentarea grafic a valorilor numerice prin
intermediul unor dreptunghiuri pline, colorate. Valorile numerice (pot fi
reale) sunt retinute ntr-o structur tip matrice (tablou ce dou
dimensiuni); elementele matricei reprezint codurile culorilor de umplere
a zonelor dreptunghiulare. Codurile culorilor sunt preluate dint-o
structur, care retine corespondenta cod culoare.
n figura 2.17 este redat un exemplu de reprezentare grafic, care
foloseste Diagrama intensitate.
Valoarea n de la indicii de linie i si de coloan j din matrice se
reprezint grafic printr-un dreptunghi de culoarea avnd codul asociat n,
la coordonatele: abscis i si ordonat j. toate dreptunghiurile afisate la o
INSTRUMENTAIA VIRTUAL 52
valoare x a abscisei (dispuse pe aceeasi vertical) corespund valorilor din
matrice de pe linia i, unde i = x.
Fig. 2.17. Reprezentarea prin Diagrama intensitate:
a-valoarea reprezentat grafic; b-scala cu codurile culorilor
Continutul matricei cu valori reprezentate este dat n figura 2.18.
Stabilirea culorilor si a codurilor culorilor se poate face interactiv
sau prin program (se utilizeaz propriettile asociate obiectelor).
Stabilirea codificrii cod-culoare n mod interactiv se face prin
modificarea culorii etichetei numerice de pe scala vertical cu codurile
culorilor (care este codul numeric al culorii): dup selectarea scalei, se
alege din meniul contextual asociat optiunea ,Adugare a unui cod`
(Add Marker); se selecteaz eticheta pentru care se doreste modificarea
culorii si din meniul contextual asociat se alege optiunea ,Culoarea
codului` (Marker Color). Se pot utiliza maxim 256 culori; aceast
valoare maxim este influentat si de tipul plcii video, precum si de
numrul culorilor folosite curent n Windows.
Observatiile de la reprezentarea prin Diagram und sunt valabile
si aici.
Graficul intensitate are o comportare asemntoare ,Diagramei
intensitate`; deosebirea const n faptul c la ,Graficul intensitate`, n
10.10 0 0 0
0 50.5 0 0
0 0 0 98.08
Fig. 2.18. Matricea de valori
LABVIEW 53
momentul afisrii noilor puncte, se sterg prima dat reprezentrile
anterioare.
2.8. Aplicatii personale
1. Explorarea coninutului casetei cu componente de interfa
Algoritmul este urmtorul:
1. Se porneste mediul LabVIEW si se alege optiunea de creare a
unui IV nou.
2. Se observ c sunt deschise simultan dou ferestre (afisate
suprapuse) corespunztoare (Fereastra Panoului Frontal si Fereastra
Diagramei Bloc) noului IV; fereastra panoului frontal este ntotdeauna
complet vizibil.
3. Dac caseta cu controale este vizibil/ascuns atunci se va exersa
modalitatea de ascundere/afisare a acesteia selectnd optiunea ,Afieaz
Caseta cu Controale` (Show Controls Pallete) din bara orizontal cu
meniuri ,Ferestre` (Windows). n continuare, se va afisa caseta cu
controale.
4. Se va retine si exersa posibilitatea plasrii casetei cu controale
oriunde pe suprafata de lucru: se pozitioneaz cursorul mouse-ului
deasupra titlului casetei cu controale (bara orizontal n care este afisat
textul Controls), se tine apsat butonul din stnga al mouse-ului n
momentul atingerii pozitiei dorite.
5. Caseta cu controale fiind afisat, se va retine posibilitatea de
ascundere a casetei, dac se selecteaz cu butonul stng al mouse-ului
butonul de nchidere a ferestrei (coltul dreapta sus), asociate casetei. Se
reaminteste c n mediul Windows, fiecrei aplicatii i este asociat o
fereastr; n acea fereastr se execut aplicatia; dac se nchide fereastra
asociat aplicatiei, atunci este nchis si aplicatia. Se ascunde caseta cu
componente de interfat, nchiznd fereastra n care este afisat caseta.
6. Se exerseaz afisarea temporar a casetei cu controale la pozitia
curent a cursorului mouse-ului: se apeleaz meniul contextual asociat
suprafetei panoului frontal.
7. Se afiseaz caseta cu controale. Se poart cursorul mouse-ului
deasupra grupelor de componente existente; se identific si se retin n
caiete denumirile grupelor disponibile. Pentru fiecare grup se
inspecteaz cu atentie (fr grab) principalele variante de realizare ale
elementelor de interfat.
INSTRUMENTAIA VIRTUAL 54
8. Se nchide IV fr a-l salva: n fereastra panou frontal se apas
simultan tastele <Ctrl> si <W>.
2. Consultarea grupului de componente tip numeric
Algoritmul este urmtorul:
1. Se porneste mediul LabVIEW. Se alege optiunea de creare a
unui IV nou.
2. n fereastra panoului frontal se afiseaz caseta cu controale.
3. Pentru grupul de componente numerice se localizeaz si se retin
variantele disponibile: se plimb pe rnd cursorul mouse-ului peste
pictogramele asociate componentelor numerice si se retine descrierea
afisat.
4. Se nchide IV fr a-l salva: din fereastra panou frontal se alege
optiunea ,nchide` din submeniul ,Fiier` din bara cu meniuri
(File/Close).
3. Consultarea grupului de componente tip boolean
Algoritmul este urmtorul:
1. Se porneste mediul LabVIEW. Se alege optiunea de creare e
unui IV nou.
2. n fereastra panoului frontal se afiseaz caseta cu controale.
3. Pentru grupul de componente booleene se localizeaz si se retin
variantele disponibile: se plimb pe rnd cursorul mouse-ului peste
pictogramele asociate componentelor numerice si se retine descrierea
afisat.
4. Se aleg pe rnd diferite variante de realizare si se plaseaz n
panoul frontal; se redimensioneaz si se coloreaz obiectele. Pentru
fiecare component de interfat apartinnd tipului boolean se defineste
identificatorul si se asociaz taste acceleratori (pentru controale). Se
alege rularea continu a IV (butonul ,Rulare Continu a IV` fig.
1.5.b); se interactioneaz asupra controalelor booleene att cu mouse-ul
ct si prin tastele accelerator definite. Se opreste executia programului
prin butonul ,Oprirea Rulrii` (fig.1.5.c).
5. Se nchide IV fr a-l salva: din fereastra panou frontal se alege
optiunea ,nchide` din submeniul `Fiier`, din bara cu meniuri
(File/Close).
4. Consultarea grupului de componente tip ir de caractere
Algoritmul este urmtorul:
LABVIEW 55
1. Se localizeaz grupul de componente tip sir de caractere n caseta
cu controale.
2. Se retine descrierea elementelor componente.
5. Tehnici de personalizare a componentei tabel
S se retin modalittile, prin care se pot redimensiona obiecte de
interfat de tip tabel, liniile si coloanele, precum si actiunile prin care se
pot selecta valorile retinute n celule.
Pentru a ajunge la pagina de asistent, care trateaz aceste
subiecte, se parcurg pasii urmtori:
1. Se porneste utilitarul de asistent (din bara cu meniuri
Help/Online Reference).
2. Din sectiunea ,Privire general` (Overview) se alege prima
optiune ,Siruri i Fiiere de Intrare/Ieire` (Strings and File I/O).
3. Se alege penultima optiune ,Controale i Indicatoare tip Sir`
(String Controls and Indicators).
4. Se alege optiunea ,Tabele` (Tables).
6. Consultarea grupului de componente tip tablou i grupare de date
Algoritmul este urmtorul:
1. Se localizeaz grupul de componente tip tablou si grupare de date
n caseta cu controale.
2. Se retine descrierea elementelor componente.
7. Deschiderea unor aplicaii la tipul tablou
Algoritmul este urmtorul:
1. Se exerseaz tehnicile de editare (redimensionare) asupra IV
referitoare la tablouri din biblioteca de exemple ARRAYS.LLB, care se
gseste la urmtoarea cale pe hard disk: C:\Program Files\National
Instruments\labVIEW\examples\general\arrays.llb (dac LabVIEW a
fost instalat pe discul C:, n directorul implicit)
Nu se salveaz eventualele modificri pentru exemplele consultate,
pentru pstrarea versiunii originale!
2. Se alege optiunea de deschidere a unui IV existent ,Deschidere
Fiier` (Open) din submeniul derulant ,Fiier` (File), din bara
orizontalcu meniuri. Se afiseaz o fereastr de dialog, n care utilizatorul
trebuie s indice fisierul pentru retinerea IV cutat .
Fereastra de dialog prezint implicit continutul directorului, n care este
instalat mediul LabVIEW:
INSTRUMENTAIA VIRTUAL 56
C:\Program Files\National Instruments\labVIEW
3. Se deschide succesiv subdirectorul ,Exemple` (Examples),
,Generale` (General): se selecteaz numele subdirectorului si
Se face dublu clic cu butonul stng al mouse-ului
sau
Se alege butonul ,Deschide` (Open) aflat n partea
inferioar dreapt a ferestrei dialog.
4. Se selecteaz cu mouse-ul denumirea fisierului bibliotec (contine
mai multe IV) ARRAYS.LLB. Pentru afisarea continutului bibliotecii,
Se face dublu clic cu butonul stng al mouse-ului
sau
Se alege butonul ,Deschide` (Open) aflat n partea
inferioar dreapt a ferestrei dialog.
5. Se selecteaz cu mouse-ul IV Building Arrays.vi (se observ
extensia vi) si se deschide exemplul n LabVIEW:
Se face dublu clic cu butonul stng al mouse-ului
sau
Se alege butonul ,De acord` (OK) aflat n partea
inferioar, dreapt a ferestrei dialog.
6. Se utilizeaz redimensionri, mutri si colorri ale elementelor
panoului frontal. Se execut exemplul deschis.
7. Se deschid si alte exemple din biblioteca ARRAYS.LLB.
8. Consultarea grupului de componente pentru reprezentri grafice
Algoritmul este urmtorul:
1. Se localizeaz grupul de componente pentru reprezentri grafice
n caseta cu controale.
2. Se retine descrierea elementelor componente.
9. Deschiderea unor IV existente, referitoare la reprezentri grafice
Exemplul 1:
1. S se deschid prin optiunea ,Fiier/Deschide`(File/Open) IV:
.\examples\general\graphs\charts.llb\CHARTS.vi
2. S se lanseze n executie; s se observe realizarea reprezentrilor.
S se opreasc rularea IV prin butonul cu eticheta STOP. Se nchide
exemplul.
Exemplul 2:
LABVIEW 57
1. S se deschid IV: .\examples\general\graphs\gengraphs.llb\GRAPH
WAVEFORM ARRAY.vi
2. S se lanseze n executie. Se nchide exemplul.
Exemplul 3:
1. S se deschid IV:.\examples\general\graphs\gengraphs.llb\XY
GRAPH.vi
2. S se lanseze n executie. Se nchide exemplul.
Exemplul 4:
1. S se deschid IV:
.\examples\general\graphs\gengraphs.llb\BOUNCING CUBE.vi
2. S se lanseze n executie; s se modifice pe rnd valoarea unor
parametri si s se observe influenta asupra balansrii cubului n spatiu. Se
nchide exemplul.
10. Deschiderea unor IV existente, care reflect utilizarea
componentelor tip boolean
Exemplul 1:
1) S se deschid prin optiunea ,Fiier/Deschide` (File/Open)
IV:.\examples\general\controls\booleans.llb\Mechanical Action of
Booleans.vi
2) S se lanseze n executie. Acest exemplu urmreste clarificarea
comportrii mecanice a butoanelor. S se actioneze pe rnd asupra
butoanelor si s se retin rezultatele obtinute n functie de comportarea
asociat fiecrui control. Se nchide exemplul.
3. Meniuri proprii
Meniurile proprii ale elementelor de control sau indicatoare
numerice contin o optiune specific, Representation, cu ajutorul creia
se specific modul n care valoarea numeric respectiv este stocat n
memorie.
n submeniul Representation, utilizatorul are la dispozitie 12
optiuni (fig.3.1):
>>> pe prima linie: optiuni pentru numere reale,
>>> pe a doua linie: optiuni pentru numere ntregi,
>>>pe a treia linie: optiuni pentru numere naturale,
>>> pe a patra linie: optiuni pentru numere complexe.
INSTRUMENTAIA VIRTUAL 58
Fig. 3.1. Submeniul Representation
ntre diversele optiuni de pe o linie, diferenta const n numrul
de octei (bytes) alocati n memorie pentru stocarea valorii respective:
EXT (extended) = numr real cu precizie extins (16 octeti),
DBL (double) = numr real cu precizie dubl (8 octeti),
SGL (single) = numr real cu precizie simpl (4 octeti),
I32 (long) = numr ntreg pe 4 octeti,
I16 (word) = numr ntreg pe 2 octeti,
I8 (byte) = numr ntreg pe 1 octet,
U32 (unsigned long) = numr natural pe 4 octeti,
U16 (unsigned word) = numr natural pe 2 octeti,
U8 (unsigned byte) = numr natural pe 1 octet,
CXT (complex extended) = numr complex cu precizie extins
(32 octeti),
CDB (complex double) = numr complex cu precizie dubl (16
octeti),
CSG (complex single) = numr complex cu precizie simpl (8
octeti).
LABVIEW 59
Numrul de octeti alocati pentru stocare se reflect n intervalul de
valori n care poate exista valoarea respectiv sau n precizia acesteia:
Reprezentare Interval de variatie Nr. de zecimale
EXT si CXT
(-1,19e+4932; -6,48e-4966) si (6,48e-
4966; 1,19e+4932)
15 ... 33, functie de
sistemul de operare
DBL si CDB
(-1,79e+308; -4,94e-324) si (4,94e-324;,
1,79e+308)
15
SGL si CSG
(-3,40e+38; -1,.40e-45) si (1,40e-45;,
3,40e+38)
6
I32 -2.147.483.648 ... 2.147.483.647 -
I16 -32.768 ... 32.767 -
I8 -128 ... 127 -
U32 0 ... 4.294.967.295 -
U16 0 ... 65.535 -
U8 0 ... 255 -
Textul din interiorul terminalului unui element de control sau
indicator numeric se modific pentru a reflecta modul de reprezentare
ales.
n cazul n care valoarea numeric este una ntreag sau natural,
terminalul si modific de asemenea culoarea, din portocaliu n albastru
EXERCIII
Exersati modificarea modului de reprezentare a unui element de
control numeric.
Observati n panou aparitia sau disparitia zecimalelor iar n
diagrama modificarea culorii si textului din interiorul terminalului.
Observati ce se ntmpl n situatia n care, avnd un element de
control numeric cu valoare real negativ, se schimb modul de
reprezentare al acestuia n numr natural.
INSTRUMENTAIA VIRTUAL 60
3.1. Meniuri proprii specifice elementelor numerice
Elementele de control sau indicatoare numerice dispun n meniul
propriu de dou optiuni specifice (fig. 3.2):
Data Range... pentru stabilirea unui interval de variatie
particular.
Format & Precision... pentru specificarea unui mod particular
de afisare a valorii.
Selectarea optiunii Data Range... conduce la deschiderea unei
ferestre suplimentare.
Dac se dezactiveaz optiunea Use Defaults, utilizatorul poate
specifica valorile minim si maxim pe care le poate lua elementul
respectiv, precum si incrementul ntre dou valori succesive.
De asemenea, prin optiunea If Value is Out of Range, utilizatorul
poate dicta modul de comportament n cazul n care se ncearc
introducerea unei valori n afara intervalului stabilit: dac n locul
optiunii Ignore se selecteaz optiunea Coerce, elementul va forta
rmnerea valorii ntre limitele impuse.
Fig. 3.2 Optiuni specifice in meniul propriu
Fereastra suplimentar Data Range permite modificarea si din
acest loc a modului de reprezentare a valorii numerice (Representation).
Selectarea din meniul propriu a optiunii Format & Precision
deschide o fereastr din care utilizatorul poate dicta afisarea valorii
numerice n format (fig. 3.3a):
LABVIEW 61
zecimal, caz n care se pot specifica numrul de zecimale si
notatia (cu virgula mobil, stiintific, inginereasc etc.)
timp - dat, situatie n care se pot selecta diverse formate de
afisare.
n cazul n care se selecteaz formatul timp - dat, valoarea
elementului va reprezenta numrul de secunde scurse de la data de 1
ianuarie 1904, ora 3:00 AM. n situatiile n care elementul de control sau
indicator numeric are un mod de reprezentare de tipul numr ntreg sau
natural, optiunea Format & Precision permite suplimentar si afisarea
valorilor n sistem de numeratie hexazecimal, octal sau binary (fig. 3.3b).
a
Fig. 3.3. Fereastr pentru afisarea valorii numerice
b
INSTRUMENTAIA VIRTUAL 62
EXERCIII
Dispuneti pe panou un element de control numeric de tipul
Horizontal Pointer Slide si modificati valorile Minimum, Maximum si
Increment din optiunea Data Range... a meniului propriu.
ncercati apoi s modificati valoarea elementului de control n
afara limitelor impuse si observati comportamentul elementului.
Dispuneti pe panou un element de control numeric de tipul
Digital Control si selectati optiunea Format & Precision din meniul
propriu al acestuia.
Pentru formatul zecimal, modificati numrul de zecimale si
notatia (stiintific, inginereasc etc) si observati consecintele.
Selectati apoi formatul timp - dat cu diverse formate de afisare
si observati consecintele.
3.2 Meniuri proprii specifice elementelor cu scal
Elementele de control sau indicatoare numerice cu scal
(potentiometre liniare sau circulare, indicatoare cu ac etc) dispun n
meniul propriu de optiuni suplimentare referitoare la modul de afisare
(fig. 3.4):
Fig. 3.4 Optiuni suplimentare
optiunea Fill Options
permite alegerea modului n care s
se coloreze portiunile elementului
aflate de o parte si de alta a
cursorului (colorat deasupra, colorat
dedesubt, necolorat etc),
optiunea Scale dispune de o
serie de submeniuri proprii pentru
pozitionarea uniform sau arbitrar a
gradatiilor de pe scal (Marker
Spacing 4), pentru stabilirea
formatului de afisare a valorilor de
pe scal (Format & Precision...), pentru alegerea variantei de
LABVIEW 63
densitate a gradatiilor (Style) si pentru selectarea unei scale
liniare sau logaritmice (Mapping).
EXERCIII
Dispuneti pe panou un element de tipul Vertical Pointer Slide,
selectati din optiunea Fill Options a meniului sau propriu diverse moduri
de umplere si observati consecintele.
Pentru acelasi element, afisati scala cu gradatii arbitrare (Marker
Spacing), afisati valorile de pe scal cu o zecimal (Format &
Precision), modificati densitatea gradatiilor de pe scal (Scale), apoi
transformati tipul scalei n logaritmic (Mapping).
3.3 Meniuri proprii specifice elementelor booleene
Elementele de control booleene dispun n meniul propriu de
optiunea suplimentar Mechanical Action, aceasta permitnd stabilirea
modului n care elementul se comport la apsarea butonului mouse-ului
de ctre utilizator (fig. 3.5).
Switch When Pressed modific valoarea logic a elementului
atunci cnd se apas butonul mouse-ului, iar valoarea rmne
modificat si dup eliberarea butonului,
Switch When Released modific valoarea logic a elementului
atunci cnd se elibereaz butonul mouse-ului (dup ce n
prealabil a fost apsat), iar valoarea rmne modificat si dup
eliberare,
Switch Until Released modific valoarea logic a elementului
atunci cnd se apas butonul mouse-ului, iar dup eliberarea
butonului valoarea elementului redevine cea dinaintea apsrii,
Latch When Pressed modific valoarea logic a elementului
atunci cnd se apas butonul mouse-ului, dar aceast modificare
dureaz doar pn cnd valoarea logic este transmis n
diagram pe fluxul de date. Imediat ce valoarea elementului a
fost transmis, acesta revine la valoarea dinaintea apsrii, chiar
dac utilizatorul continu s tin butonul mouse-ului apsat.
Latch When Released modific valoarea logic a elementului
atunci cnd se elibereaz butonul mouse-ului (dup ce n
prealabil a fost apsat), dar aceast modificare dureaz doar
pn cnd valoarea logic este transmis n diagram pe fluxul
INSTRUMENTAIA VIRTUAL 64
de date. Dup ce valoarea a fost transmis, elementul revine la
valoarea initial.
Latch Until Released modific valoarea logica a elementului
atunci cnd se apas butonul mouse-ului, iar modificarea se
pstreaz att timp ct utilizatorul tine butonul apsat. Dup ce
utilizatorul elibereaz butonul, elementul revine la valoarea
initial doar n momentul n care se realizeaz o transmitere a
valorii pe fluxul de date.
Fig. 3.5. Optiuni suplimentare
EXERCIII
Dispuneti pe panou un element boolean de control de tipul
Vertical Toggle Switch si un element indicator de tipul Round LED. n
diagram, conectati ntre ele terminalele celor dou elemente.
Pentru fiecare optiune Mechanical Option a elementului de
control, efectuati o rulare continu (butonul Run Continuously) si
observati modul n care se comport comutatorul si modul n care
valoarea sa logic este transmis elementului Round LED.
Dati exemple de situatii n care fiecare optiune ar fi util (de
exemplu, optiunea Latch When Pressed este util atunci cnd, n urma
apsrii butonului de ctre utilizator, se deruleaz o actiune cu un timp
LABVIEW 65
foarte scurt si nu se doreste ca aceast actiune s fie repetat chiar dac
utilizatorul ntrzie s ridice degetul de pe butonul mouse-ului).
3.4 Meniul propriu al elementelor de tip Cluster
Submeniul Autosizing din meniul propriu al unui element de tipul
Cluster permite (fig. 3.6):
modificarea dimensiunilor chenarului, astfel nct acesta
s se "muleze" pe multimea de elemente din interior (optiunea
Size to Fit),
alinierea pe orizontal sau pe vertical a elementelor din
interiorul chenarului.
Elementele de diverse tipuri din interiorul unui Cluster sunt o
multime ordonat. Ordinea elementelor este cea n care acestea au fost
introduse n elementul Cluster.
Optiunea Reorder Controls In Cluster... permite modificarea
indicilor elementelor (numerelor de ordine).
La selectarea acestei optiuni, panoul aplicatiei devine negru iar
programul asteapt ca utilizatorul s indice succesiv, prin click-uri cu
mouse-ul, elementele cu indicii 0, 1, 2 s.a.m.d.
Fig. 3.6 Optiuni suplimentare
INSTRUMENTAIA VIRTUAL 66
Indicele pe care l va cpta elementul pe care se va efectua
urmtorul click este mentionat n dreptul textului Click to set to (initial
0). Lng fiecare element sunt afisati cte doi indici.
Indicele avut de element inainte de nceperea modificrilor este
scris cu negru pe fond alb. Indicele modificat este scris cu alb pe fond
negru.
Validarea modificrilor se efectueaz prin apsarea butonului
OK.
Anularea modificrilor indicilor si revenirea la situatia anterioar
se efectueaz prin apsarea butonului marcat cu X (fig. 3.7).
Fig. 3.7. Anularea modificarilor indicilor
3.5. Ordonarea componentelor
n situatia n care se doreste alinierea mai multor elemente de pe
panou sau a mai multor componente ale diagramei, se selecteaz
obiectele respective apoi se deschide meniul de aliniere si se alege
varianta dorit (fig.3.8):
aliniere dup o orizontal a limitelor superioare, centrelor sau
limitelor inferioare,
aliniere dup o vertical a limitelor din stnga, centrelor sau
limitelor din dreapta.
Atunci cnd mai multe elemente sunt suprapuse, alegerea din
meniul de ordonare a unei optiuni are drept urmare schimbarea pozitiei
"n adncime" a elementelor selectate: Move Forward = un pas nainte,
Move Backward = un pas napoi, Move To Front = trecere n planul cel
mai apropiat, Move To Back = trecere n planul cel mai ndeprtat.
Selectarea mai multor componente si alegerea optiunii Group are
drept efect selectarea ntregului grup atunci cnd una dintre componente
LABVIEW 67
este selectat ("desfiintarea" grupului se realizeaz cu optiunea
Ungroup).
Selectarea uneia sau mai multor componente si alegerea optiunii
Lock nu mai permite deplasarea sau modificarea dimensiunilor
componentelor respective (anularea efectului se realizeaz cu optiunea
Unlock).
Fig. 3.8 Meniul de aliniere
EXERCIIU
Dispuneti elemente de control si indicatoare pe panoul
programului si exersati diverse variante de aliniere si distribuire.
Suprapuneti unele dintre elemente si exersati optiunile de
schimbare a pozitiei "n adncime".
Exersati optiunile de grupare a mai multor elemente si de blocare
a mutrii si dimensionrii.
INSTRUMENTAIA VIRTUAL 68
3.6 Meniuri pentru elemente ListBox, Table i Ring
Meniul List & Table al paletei de controale contine elemente de
tipurile Listbox, Multicolumn Listbox si Table (fig. 3.9a).
Meniul Ring & Enum contine elemente de tipurile Text Ring,
Menu Ring, Enum, Picture Ring si Text & Pict Ring (fig. 3.9b)
Caracteristica principal a elementelor de tip List sau Ring este
aceea c, desi n panou utilizatorul are la dispozitie o list de elemente
text, valorile corespunztoare din diagram sunt numerice.
a b
Fig. 3.9. Meniuri pentru elemente ListBox, Table si Ring
Fig. 3.10
LABVIEW 69
Fig. 3.11
Aceasta se observ n primul rnd din faptul c toate elementele
(cu exceptia celor de tipurile Table sau Enum) au terminale ce semnific
numere ntregi (I32) sau naturale (U16) (fig. 3.10).
De exemplu, valoarea numeric a unui element de tipul Listbox
este reprezentat de indicele (numrul de ordine) textului selectat de
ctre utilizator (prima linie de text are indicele 0) (fig. 3.11).
Definirea itemilor unui element ListBox
Itemii unui element Listbox reprezint liniile de text din
interiorul acestuia (fig. 3.12).
Modalitatea cea mai simpl de a defini acesti itemi, valabil ns
doar atunci cnd programul nu ruleaz, este de a-i introduce cu
ajutorul uneltei de editare a textelor.
Fiecare item trebuie introdus pe o linie separat, modalitatea de
introducere fiind similar celei de la elementele alfanumerice:
dac se apas tasta Enter "mare" (din apropierea tastelor
pentru litere), se trece la linia urmtoare,
Fig. 3.12 Itemii unui element Listbox
INSTRUMENTAIA VIRTUAL 70
dac se apas tasta Enter "mic" (din zona cu taste
numerice aflat n partea dreapt a tastaturii) sau dac se face
click cu mouse-ul n afara elementului se consider c s-a ncheiat
introducerea itemilor.
Textul format de itemii unui element Listbox poate fi editat
ulterior pentru modificare, stergere sau inserare.
Dac se doreste editarea itemilor unui Listbox n timpul rulrii
programului, se procedeaz astfel:
se creeaz un nod de proprieti al elementului Listbox,
se selecteaz pentru nodul respectiv proprietatea
ItemNames,
din meniul propriu al nodului se selecteaz optiunea
Change To Write,
se conecteaz la nod un Array de valori String ce vor
reprezenta itemii elementului Listbox.
EXERCIII
Dispuneti n panou un element de tipul Listbox si introduceti, cu
unealta de editare texte, ctiva itemi ai acestuia.
Realizati un program n care itemii unui element Listbox s fie
generati n timpul rulrii.
Selecii multiple
Din meniul propriu al unui element de tipul Listbox, optiunea
Selection Mode, poate fi specificat numrul de itemi ce pot fi selectati
simultan (fig. 3.13).
Atunci cnd exist mai multe variante de selectie (nici unul, unul
sau mai multi itemi), pentru a selecta sau deselecta un item se face
click pe acesta innd apsat tasta Shift.
Dac un element Listbox este n modul de selectie 0 or 1 Item si
nu are nici un item selectat, valoarea corespunztoare a elementului este -
1.
Dac sunt selectati mai multi itemi ai unui Listbox, atunci acesta
nu mai este reprezentat de o valoare scalar ci de un Array ce contine
indicii itemilor selectati.
Dac un element Listbox este n modul de selectie 0 or More
Items si nu are nici un item selectat, atunci el este reprezentat de un
Array vid.
LABVIEW 71
Fig. 3.13 Selectii multiple
EXERCIIU
Dispuneti un element Listbox pe panou si stabiliti modul de
selectare 0 or More Items.
Dispuneti de asemenea pe panou un element indicator Array n
care s fie afisati indicii itemilor selectati.
Exersati diverse variante de selectare: nici un item, un item, mai
multi itemi.
INSTRUMENTAIA VIRTUAL 72
3.7 Variabile locale
Selectarea, din meniul Create al unui element de control sau
indicator, a optiunii Local Variable, va conduce la introducerea n
diagrama a unei entitti suplimentare, numit variabila local (fig.3.14).
Fig. 3.14. Variabile locale
O variabil local reprezint o instan a elementului
corespunztor: o dublur a acelui element.
Dac, la un moment dat, un element si modific valoarea, toate
variabilele sale locale, indiferent de locul n care sunt dispuse n
diagram, capt valoarea corespunztoare.
Variabilele locale sunt utilizate n situatia n care este complicat
(sau imposibil) s se efectueze o legtur direct la terminalul unui
element (de exemplu, atunci cnd legtura ar trebui efectuat de-a lungul
unei zone ntinse din diagram, zone n care sunt deja multe
componente). Un element poate avea mai multe variabile locale.
Initial o variabila local este o dublur a elementului din al crui
meniu propriu a fost creat, numele acelui element fiind nscris n
simbolul variabilei. Terminalul variabilei locale are culoarea
corespunztoare tipului de date pe care le manipuleaz.
Elementul pe care variabila local l reprezint poate fi schimbat.
Pentru aceasta, din meniul propriu al variabilei locale, optiunea Select
LABVIEW 73
Item, se selecteaz numele noului element pe care variabila local l va
reprezenta (fig. 3.15).
Fig. 3.15
n mod implicit, atunci cnd este creat, indiferent ca elementul
pe care l reprezint este unul de control sau indicator, o variabil local
este un element indicator (contur subtire).
n aceast situatie, valoarea care ajunge la variabila local este
automat cptat de elementul pe care l reprezint (aceasta este si o
modalitate de a schimba prin program valorile elementelor de control).
Dac, din meniul propriu al variabilei locale, se selecteaz
optiunea Change To Read, variabila local devine element de control
(contur ngrosat). n aceast situatie, variabila local va genera valoarea
elementului pe care l reprezint.
INSTRUMENTAIA VIRTUAL 74
EXERCIIU
n panoul unei aplicatii, dispuneti un element boolean de control
de tipul Vertical Toggle Switch, unul de tipul Slide Switch si un
indicator boolean Round LED.
Creati o variabil local a elementului Vertical Toggle Switch.
n diagram, conectati terminalul elementului Slide Switch att la
terminalul elementului Round LED ct si la variabila local a
elementului Vertical Toggle Switch.
Rulati programul cu optiunea Run Continuously, actionati
comutatorul Slide Switch, observati si explicati comportamentul
elementului Vertical Toggle Switch.
3.8. Noduri de proprieti
Selectarea, din meniul Create al unui element de control sau
indicator, a optiunii Property Node, va conduce la introducerea n
diagram a unei entitti suplimentare, numit nod de proprieti (fig.
3.16).
Nodul de proprietti al unui element reprezint o component prin
intermediul creia, n timpul executiei programului, pot fi determinate (n
sens de "citire") sau modificate automat (scrise) anumite proprietti ale
elementului respectiv.
n mod implicit, atunci cnd este creat, un nod de proprietti
citete starea logic (afisat sau ascuns) a vizibilitii elementului pe care
l reprezint.
Deschiznd meniul propriu al nodului de proprietti, optiunea
Properties, se poate selecta proprietatea pe care nodul o reprezint.
Printre cele mai des utilizate proprietti se numar:
Position: pozitia elementului pe panou, exprimat n
pixeli pe orizontal si pe vertical;
Bounds: dimensiunile elementului, exprimate n pixeli;
Visible: daca aceasta proprietate are valoarea False,
elementul nu mai este afisat in panou (desi continua sa existe si
are terminal in diagrama)
Disabled: valoarea 0 semnific faptul c utilizatorul poate
actiona acel element, valoarea 1 faptul c elementul nu poate fi
actionat (este dezactivat), valoarea 2 faptul c elementul este
dezactivat si afisat n culori "sterse",
LABVIEW 75
Blinking: atunci cnd aceast proprietate are valoarea
True, elementul este afisat "clipind",
Label: proprietti de formatare a textului din etichet.
Fig. 3.16. Noduri de proprietti
Un nod de proprietti poate fi trecut din starea implicit de citire
n starea de scriere, prin selectarea optiunii Change To Write din
meniul sau propriu. n starea de scriere, un nod de proprietti poate primi
valori care vor modifica propriettile elementului corespunztor.
INSTRUMENTAIA VIRTUAL 76
Un nod de proprietti poate fi dimensionat, pentru a gestiona mai
multe proprietti ale elementului pe care l reprezint.
Atunci cnd contine mai multe proprietti, acestea pot fi n mod
independent de scriere sau de citire. Elementul reprezentat de ctre un
nod de proprietti poate fi schimbat prin selectarea din meniul propriu al
nodului a optiunii Link To, similar optiunii Select Item din cazul
variabilelor locale. n diagram pot exista mai multe noduri de proprietti
ale aceluiasi element.
EXERCIII
Dispuneti n panoul unei noi aplicatii un element de control
boolean de tipul Vertical Toggle Switch si un element de control
numeric.
Creati un nod de proprietti al elementului numeric, treceti nodul
respectiv n starea de scriere si conectati la el terminalul elementului
boolean. Rulati programul cu optiunea Run Continuously, actionati
comutatorul boolean, observati si explicati efectul.
n aceeasi aplicatie, dispuneti pe panou un element de tipul String
Control, creati un nod de proprietti pentru acesta, treceti nodul
respectiv n starea de scriere, selectati pentru el proprietatea Disabled si
legati la nod terminalul elementului de control numeric.
Rulati programul cu optiunea Run Continuously si actionati
comutatorul boolean astfel nct elementul de control numeric s fie
vizibil. Introduceti n elementul numeric valoarea 0 si introduceti un text
n elementul String.
Introduceti n elementul numeric valoarea 1 si ncercati s
modificati textul din elementul String. Introduceti n elementul numeric
valoarea 2, observati si explicati efectul.
TEMA
1. Construiti un program pentru determinarea solutiilor unei
ecuatii de gradul al doilea. Pentru afisarea rdcinilor, programul va
dispune de dou perechi de indicatoare numerice separate: una cu mod de
reprezentare real, cealalt cu mod de reprezentare complex. Fiecare din
cele dou perechi de elemente indicatoare va fi vizibil sau nu, n functie
de natura rdcinilor ecuatiei.
2. Construiti un program n care utilizatorul s poat alege, prin
intermediul unui comutator boolean, tipul de ecuatie pe care doreste s o
rezolve: de gradul I sau de gradul al II-lea.
LABVIEW 77
Elementul de control numeric de la care se va introduce
coeficientul lui x
2
va fi vizibil doar n cazul ecuatiei de gradul al II-lea. n
cazul ecuatiei de gradul I, elementul respectiv va deveni invizibil si va
cpta valoarea 0.
3. n aceleasi conditii ca la tema nr. 2, atunci cnd se opteaz
pentru rezolvarea unei ecuatii de gradul I, elementul de control numeric
pentru coeficientul lui x
2
s capete valoarea 0, s fie dezactivat
(utilizatorul s nu mai poat modifica valoarea) si s fie afisat n culori
sterse.
4. S se realizeze un program pentru determinarea solutiilor unei
ecuatii de gradul al doilea n care elementele de control pentru
introducerea coeficientilor ecuatiei s aib valoarea implicit NaN. n
cazul n care utilizatorul nu introduce o valoare numeric n unul din
elementele respective, elementul s clipeasc pentru a semnaliza eroarea.
5. S se realizeze un program n care, prin intermediul a dou
elemente de control numerice (un Vertical Pointer Slide si un
Horizontal Pointer Slide), utilizatorul s poat specifica pozitia n
panou a unui element indicator Round LED.
4. Functii
Dup realizarea panoului frontal al IV, trebuie implementat
functionalitatea programului: se construieste diagrama bloc, care
reprezint codul surs al instrumentului (arata CUM ? se rezolv
problema).
Pentru realizarea diagramei bloc, se utilizeaz limbajul grafic G,
limbaj de generatia a cincea; programatorul (persoana care realizeaz
diagrama bloc) selecteaz si asambleaz componente grafice de executie,
care definesc functionalitatea IV.
Sunt prezentate elementele de baz ale limbajului G, care
trebuiesc cunoscute nainte de a ncepe realizarea unui IV.
4.1. Consideraii teoretice
Pentru realizarea codului surs al IV nu se scriu linii de text
reprezentnd instructiuni (respectnd o sintax rigid si de multe ori
anevoioas); se aleg elemnte de executie, care se plaseaz n diagrama
bloc si se realizeaz legturi ntre acestea, pentru definirea fluxului
datelor.
Elementele utilizate la realizarea diagramei bloc sunt clasificate
n trei grupe generale:
INSTRUMENTAIA VIRTUAL 78
1. noduri;
2. terminale;
3. fire.
Nodurile
Sunt elementele de executie din limbajul G, ale unui IV. Nodurile
din limbajul G corespund operatorilor, functiile predefinite,
instructiunilor, subrutinelor realizate de utilizator din limbajele
coventionale de programare strcturat.
Exist sapte tipuri de noduri:
fuctii predefinite;
subrutine (subIV oferite de firma NI sau utilizator);
instructiuni pentru controlul executiei programelor
(numite structuri);
formule de calcul;
noduri proprietate;
variabile locale si globale;
componente care permit apelul procedurilor scrise n
limbajul C sau Pascal (numite Code Interface Nodes-
CINs).
Un nod se execut doar n momentul, n care exist valori
disponibile pentru toti parametrii de intrare; datele-rezultat sunt furnizate
simultan (pe toate iesirile) n exterior, doar dup ce toate operatiile din
corpul nodului s-au realizat.
Observaie:
Pentru un nod se respect, n general, urmtoarea conventie:
parametrii de intrare se definesc n partea stng a
chenarului nodului;
parametrii de iesire se regsesc n partea dreapt.
Respectarea conventiei plasrii parametrilor unui nod faciliteaz
citirea diagramei bloc, conform creia fluxul datelor este din partea
stang spre partea dreapt.
Nodurile sunt disponibile (mai putin nodurile proprietate asociate
obiectelor din panoul frontal) prin caseta cu funcii i IV, prezentat n
figura 4.1. Afisarea casetei cu functii si IV(dac nu este vizibil) se
poate face prin doua metode:
din bara cu meniuri se alege Windows/Show Functions
Palette(Ferestre/Afiseaz Caseta cu Functii);
LABVIEW 79
avnd cursorul mouse-ului pozitionat n interiorul ferestrei
diagramei bloc se apeleaz meniul contextual.
Dac se poart cursorul mouse-ului peste caseta cu functii si IV,se
afiseaz automat denumirea grupului curent de componente. Afisarea
continutului unui anumit grup este declansat la realizarea unui clic la
stnga al mouse-ului pe pictograma corespunztoare.
Dup identificarea grupului, se alege nodul dorit si se plaseaz la
locul preconizat, n diagrama bloc.
Elementele casei cu functii si IV (fig. 4.1) se prezint n
continuare:
instructiuni pentru controlul executiei
programelor,formula de calcul,variabila local si global
(fig.4.1.a1);
functii aritmetice, trigonometrice, logaritmice, complexe,
de conversie, constant numeric cu valoare stabilit de
utilizator, constante numerice universale (fig. 4.1.a2);
functii logice si constanta universala adevrat/fals
(fig.4.1.a3)
fuctii si constante pentru tipul sir de caractere (fig.4.1.b1);
functiile tipului tablou si constanta tablou (fig.4.1.b2);
functiile tipului grupare de date (cluster) si constanta
grupare de date (fig. 4.1.b3);
fuctii de comparare (fig. 4.1.c1);
functii pentru dat calendaristic si timp,functii pentru
afisarea mesajelor utilizator, IV pentru tratarea erorilor
(fig.4.1.c2);
functii si IV pentru gestionarea fisierelor (fig. 4.1.c3);
IV pentru achizitia de date (fig. 4.1.d3);
IV pentru analiza datelor (fig. 4.1.e1); IV utilizate n
exemplele de simulare (fig. 4.1.e2);
functie pentru apelul functiilor DLL, functie pentru apelul
procedurilor scrise n alte limbaje ,functii si IV pentru
manevrarea datelor (fig. 4.1.e3);
IV realizate de utilizator si salvate n directorul
...\LabVIEW\USER.LIB(fig. 4.1.f2);
functii si IV pentru controlul aplicatiilor (fig. 4.1.f3);
permite inserarea apelului unui IV existent n diagrama
bloc a IV apelant (fig. 4.1.g2);
INSTRUMENTAIA VIRTUAL 80
IV pentru pachetul (G Math) aditional de matematic
(fig. 4.1.g3);
Fig. 4.1. Caseta cu functii si IV
Funciile predefinite realizeaz operatii elementare n limbajul
G: calcule, obtinerea unor informatii despre timp/dat/fisiere, conversia
datelor. Functiile nu sunt IV, nu posed panou frontal si diagram bloc,
astfel:
se afiseaz fereastra de asistent (Help/Help Window);
se afiseaz caseta cu functii si IV (dac era ascuns);
se deschide grupul care retine componenta cutat si se
pozitioneaz cursorul mouse-ului deasupra pictogramei
asociate.
Fereastra de asistent va afisa utilizatorului numele
functiei,semntura (pictograma si tipul parametrilor de intrare/iesire) si
descrierea functiei.
Unele functii au numrul parametrilor de intrare/iesire
variabil:pentru utilizarea functiei, trebuie s se indice explicit numrul
necesar de parametri (dup ce pictograma functiei a fost plasat n
diagrama bloc)se face n felul urmtor:
LABVIEW 81
se redimensioneaz pictograma asociat functiei pn n
momentul,n care se obtine numrul dorit de intrri/iesiri
(cu unealta de editare),
sau
se selecteaz din meniul contextual asociat
intrrilor/iesirilor pictogramei functiei: optiunea Adaug
Intrare(Add Intput).
Exemple:
functia Combinare Aritmetic (Compound
Arithmetic),din grupul Numeric;
functia Concatenare Siruri de Caractere (Concatenate
Strings),din grupul String;
functia ,Grupare (Bundle),din grupul Cluster;
functia ntretesere Tablouri 1D (Interleave 1D
Arrays), din grupul Array sau
optiunea Adaug Iesire (Add Output).
Exemple:
functiaDegrupare(Unbundle),din grupul Cluster
functia mprtire Elemente Tablou 1D(inversia functiei
de ntretesere, Decimate 1D Array),din grupul Array.
4.2. Funcii pentru valori numerice
Functiile pentru valori numerice sunt grupate n subpaleta
Numeric a paletei de functii (fig. 4.2).
Se remarc o prim categorie, dedicat functiilor aritmetice
simple: adunare (Add), scdere (Subtract), nmultire (Multiply),
mprtire (Divide), incrementare (Increment), decrementare
(Decrement), valoare absolut (Absolute Value), rotunjire la cel mai
apropiat ntreg (Round To Nearest), rotunjire la ntregul inferior
(Round To -Infinity), rotunjire la ntregul superior (Round To
+Infinity), rdcina ptrat (Square Root), schimbare de semn (Negate),
produsul dintre o valoare x si o putere a lui 2 (Scale By Power Of 2),
inversare (Reciprocal).
n subpaleta Numeric se gseste de asemenea elementul
Numeric Constant (constanta numeric).
INSTRUMENTAIA VIRTUAL 82
Atunci cnd un astfel de element este dispus n diagram, el
capt automat valoarea 0 si intr n modul de editare, asteptnd ca
utilizatorul s introduc valoarea numeric dorit.
Dac, imediat dup dispunerea n diagram, n loc de a introduce
o valoare n element, utilizatorul efectueaz alt operatie, o alt valoare
constant poate fi specificat utiliznd unealta de operare sau pe cea de
editare a textelor.
Fig. 4.2 Functii pentru valori numerice
EXERCIIU
n subpaleta Numeric a paletei de functii, identificati functiile
aritmetice simple enumerate mai sus. Pe parcursul navigrii n paleta de
functii, urmriti descrierea functiilor n fereastra Help.
4.3. Funcii pentru valori boolene
Functiile pentru valori booleene sunt grupate n subpaleta
Boolean a paletei de funcii (fig. 4.3). Se remarc functiile logice simple
SI (And), SAU (Or), SAU EXCLUSIV (Exclusive Or), NEGARE
(Not), SI NEGAT (Not And), SAU NEGAT (Not Or), SAU NEGAT
EXCLUSIV (Not Exclusive Or) si IMPLICA (Implies).
Subpaleta contine de asemenea, n partea inferioar, cele dou
constante logice: ADEVARAT (True) si FALS (False).
LABVIEW 83
Fig. 4.3. Functii pentru valori boolene
EXERCIIU
n subpaleta Boolean a paletei de functii, identificati functiile
logice simple si constantele logice enumerate mai sus. Pe parcursul
navigrii n paleta de functii, urmriti descrierea functiilor n fereastra
Help.
4.4. Funcii pentru valori alfanumerice (string)
Functiile pentru valori alfanumerice sunt grupate n subpaleta
String a paletei de funcii (fig. 4.4).
Printre cele mai simple se numr cele pentru transformarea
caracterelor n majuscule (To Upper Case) si pentru transformarea
caracterelor n minuscule (To Lower Case).
n partea sa inferioar, subpaleta contine un element String
Constant pentru introducerea n diagrama de valori alfanumerice
constante.
EXERCIIU
n subpaleta String a paletei de functii, identificati functiile si
constanta alfanumeric enumerate mai sus. Pe parcursul navigrii n
paleta de functii, urmriti descrierea functiilor n fereastra Help.
INSTRUMENTAIA VIRTUAL 84
Fig. 4.4 Functii pentru valori alfanumerice
4.5. Inserarea simbolurilor de funcii n diagrama
1. Dispunerea unei functii n diagram ncepe cu selectarea
simbolului corespunztor din paleta de funcii.
2. Dup selectarea simbolului functiei, se deplaseaz cursorul
mouse-ului pn n pozitia din diagram n care se doreste dispunerea.
Att timp ct cursorul mouse-ului este deplasat, simbolul functiei
va fi reprezentat mpreun cu terminalele corespunztoare datelor proprii
de intrare si de iesire.
3. Dac, n timpul deplasrii, simbolul functiei este trecut
suficient de aproape de un terminal sau de o zon a fluxului de date la
care se poate efectua o legtur, acea legtur este stabilit automat.
Dac simbolul functiei este ndeprtat, n cursul deplasrii, de
zona sau terminalul respectiv, legtura stabilit automat dispare.
Dac nu se doreste efectuarea automat a unei legturi, se apas
tasta Space n timp ce butonul mouse-ului este apsat.
4. Cnd simbolul functiei ajunge n pozitia dorit, se face click cu
unul dintre butoanele mouse-ului.
Dac n acel moment exist o legtur stabilit automat, legtura
respectiv se pstreaz.
LABVIEW 85
Fig. 4.5. Inserarea simbolurilor de functii n diagrama
EXERCIIU
Din subpaleta Numeric a paletei de functii, introduceti n
diagram o functie Add si pozitionati-o ca n figur (fig. 4.6), ntre
terminalele celor dou elemente numerice.
Introduceti de asemenea n diagram un element de tipul
Numeric Constant si stabiliti-i acestuia valoarea 2.
Din subpaleta Boolean, introduceti n diagrama o functie Not si
pozitionati-o ntre terminalele celor dou elemente booleene.
Din subpaleta String, introduceti n diagrama o functie To Upper
Case si pozitionati-o ntre terminalele celor dou elemente alfanumerice.
Dup pozitionarea simbolurilor de functii n diagrama, deschideti
fereastra Help si afisati n aceast informatiile referitoare la fiecare
functie prin deplasarea mouse-ului deasupra simbolului.
4.6. Realizarea legturilor n diagram
Realizarea unei legturi ntre dou componente ale diagramei se
efectueaz cu ajutorul uneltei de conectare (fig. 4.7).
Fig. 4.6
INSTRUMENTAIA VIRTUAL 86
Ordinea n care se selecteaz cele dou componente (sursa si
destinatia) nu este important.
Legtura poate fi realizat n orice sens, deoarece mediul de
programare va identifica automat sursa si destinatia pentru a stabili
sensul de circulatie al datelor.
1. Se deplaseaz cursorul mouse-ului (unealta de conectare)
deasupra primei componente (aceasta va ncepe s clipeasc) si se face
click. Actiunea este echivalent cu prinderea unui capt al firului de
componenta respectiv.
Din acest moment, dac mouse-ul este deplasat, pe ecran va apare
imaginea unui fir cu un capt fixat de prima component si cu un capt
legat de cursorul mouse-ului.
2. Se deplaseaz cursorul mouse-ului deasupra celei de-a doua
componente (si aceasta va ncepe s clipeasc) si se face click, fixnd
astfel al doilea capt al firului de aceasta component.
Fig. 4.7 Realizarea legturilor n diagram
LABVIEW 87
Observaii
1. Dac, la un moment dat, firul care urmeaz mouse-ul are un
sens (orar sau trigonometric) neconvenabil, sensul poate fi schimbat prin
apsarea tastei blanc (spatiu).
2. Dac se doreste ca traseul unei legturi s fie format din mai
multe portiuni n unghi drept, un click ntr-un punct din diagram va fi
echivalent cu fixarea firului n acel punct.
3. Dac o component a diagramei are rol de surs pentru un
traseu ramificat, se pot efectua legturi care s aib drept punct de
pornire un segment al fluxului de date.
4. Dac o legtura a fost efectuat corect, ea va fi afisat n
culoarea corespunztoare tipului de date ce vor circula prin zona
respectiv a fluxului de date.
Dac legtura este incorect (conecteaz dou componente de
tipuri diferite), aceasta va fi afisat cu culoarea neagr si ntrerupt.
EXERCIIU
Utiliznd unealta de conectare, realizati legturile din figura de
mai jos.
Observati c, similar terminalelor, legturile din diagram au
culori ce semnfic tipul datelor scalare corespunztoare (portocaliu
pentru numere reale, albastru pentru numere ntregi, verde pentru valori
booleene, roz pentru valori alfanumerice).
INSTRUMENTAIA VIRTUAL 88
Astfel, atunci cnd programul va rula, indicatorul Meter va afisa
suma dintre valoarea controlului Slide si constanta 2, indicatorul
Boolean 2 va afisa valoarea logic negat a controlului Boolean, iar
indicatorul String 2 va afisa textul din controlul String transformat n
majuscule.
Deschideti fereastra Help, selectati unealta de conectare si
pozitionati cursorul mouse-ului deasupra unei legturi astfel nct aceasta
s "clipeasc". Observati c, n aceast situatie, n fereastra Help sunt
afisate informatii referitoare la tipul de valori ce circul prin legtura
respectiv.
4.7. Fluxul de date
Fluxul de date este format din totalitatea legturilor ce
conecteaz diversele terminale de elemente, simboluri de functii sau
proceduri si structuri de programare din cadrul diagramei.
Rolul fluxului de date este acela de reprezentare grafic a
algoritmului dup care aplicatia va prelucra datele de intrare pentru a
calcula valorile de ieire.
Traseele ce formeaz fluxul de date pot fi simple, cu o surs si o
destinatie, sau ramificate, cu o surs si mai multe destinatii.
Datele de intrare sunt acele valori (informatii) pe care un
program le primeste dintr-o surs oarecare.
Datele de intrare pot fi:
introduse de ctre utilizator prin intermediul tastturii sau al
mouse-ului;
extrase chiar de ctre program din fisiere de date aflate pe diverse
suporturi de memorie (hard-disk, discheta, CD etc.);
LABVIEW 89
primite prin intermediul diverselor echipamente (placa de sunet,
camera video, placa de retea, placa de achizitie de date etc.);
extrase de ctre program din memorie, dac au fost stocate n
aceasta de ctre alte programe.
Datele de ieire reprezint valorile pe care programul le
genereaz ca urmare a executrii instructiunilor sale si le transmite
utilizatorului.
Transmiterea datelor de iesire se poate efectua:
prin afisarea acestora pe monitor;
prin salvarea n fisiere de date ce vor fi ulterior accesate de ctre
utilizator sau de ctre alte programe;
prin stocarea n memorie pentru a fi utilizate de alte programe;
prin intermediul altor echipamente
Traseele ce formeaz fluxul de date pot fi simple, cu o surs si o
destinatie, sau ramificate, cu o surs si mai multe destinatii. Indiferent de
modul sau sensul n care traseele sunt dispuse pe diagram, "circulatia"
datelor n cadrul fluxului se efectueaz doar de la surse ctre destinaii.
Prin surs se ntelege, de exemplu, terminalul unui element de
control, simbolul unei constante sau zona de iesire a unei functii sau
proceduri.
Prin destinaie se ntelege, de exemplu, terminalul unui element
indicator sau zona de intrare a unei functii sau proceduri.
n orice mod de rulare (Run, Run Continously), prin apsarea
butonului Highlight Execution, utilizatorul are posibilitatea de a urmri
o animatie ce sugereaz deplasarea valorilor prin fluxul de date. Atunci
cnd o valoare parseste o component a diagramei ce este o surs a unei
legturi, valoarea respectiv este afisat n diagram (fig.4.8).
Fig.4.8. Fluxul de date
INSTRUMENTAIA VIRTUAL 90
EXERCITII
1. n panoul aplicatiei pe care ati realizat-o mai sus, cu unealta de
operare, modificati valoarea elementului de control Slide, schimbati
pozitia controlului Boolean si introduceti un text format din minuscule n
controlul String. Apsati sgeata Run pentru a rula programul.
Schimbati din nou pozitia controlului Boolean si apsati din nou sgeata
Run.
2. Apsati butonul Run Continuously si, n timp ce programul
ruleaza n modul continuu, modificati valoarea elementului de control
Slide, schimbati pozitia controlului Boolean si modificati textul dn
controlul String.
3. Apsati butonul Pause. Rularea programului se va suspenda
temporar, aplicatia va trece automat n diagram si va indica prin
aprindere intermitent locul din diagram n care programul s-a oprit.
4. Apsati butonul Highlight Execution, apoi butonul Step Over.
Observati afisarea n diagram a valorilor de iesire din functii.
5. "Stingeti" butonul Continue (cel care avea initial eticheta
Pause). Observati afisarea n diagram a modului n care valorile circul
pe fluxul de date al programului.
LABVIEW 91
6. "Stingeti" butonul Highlight Execution si ntrerupeti rularea
continu prin apsarea butonului Abort execution.
4.8. Salvarea unei aplicaii
Att timp ct nc nu a fost salvat ntr-un fisier, un program are
numele Untitled urmat de un numr de ordine. Pentru a specifica folder-
ul n care programul s fie salvat, precum si numele fisierului, se alege
din meniul File optiunea Save As... n urma selectrii comenzii Save
As..., programul deschide o fereastr de dialog n care utilizatorul poate
selecta folder-ul n care s se efectueze salvarea si numele fisierului (fig.
4.9).
Programele realizate n mediul de programare grafic
LabVIEW se salveaz n fiiere cu extensia VI !
Fig. 4.9. Salvarea unei aplicatii
Din momentul n care a fost salvat prima dat, programului i se
afiseaz numele att n bara superioar a panoului ct si n cea a
diagramei. Dac, dup salvare, programului i se aduc n continuare
modificri, lng numele acestuia apare un asterisc (*), semnaliznd
astfel faptul c versiunea ce a fost salvat nu este cea mai recent.
Comanda Save As... se poate folosi dac se doreste salvarea unei
noi versiuni a fisierului ntr-o nou locatie sau cu un nou nume.
EXERCIII
1. Pe discul D al computerului, n directorul Utilizatori,
subdirectorul CCD, creati un subdirector cu numele vostru.
INSTRUMENTAIA VIRTUAL 92
2. Salvati aplicatia pe care ati realizat-o n subdirectorul propriu.
TEM
1. Realizati un program pentru calculul ariei si perimetrului unui
cerc, n functie de valoarea razei introdus de ctre utilizator.
2. Realizati un program pentru calculul ariei si perimetrului unei
elipse, n functie de valorile introduse de ctre utilizator pentru cele dou
semiaxe.
3. Realizati un program care s exemplifice utilizarea diverselor
functii booleene.
4. Realizati un program pentru rezolvarea ecuatiei de gradul al
doilea.
4.9. Funcii pentru valori scalare
Funcii pentru valori numerice
Pe lng functiile aritmetice simple descrise n lectia anterioar,
subpaleta Numeric a paletei de functii contine, n zona sa principal, si
urmtoarele functii:
Quotient & Remainder calculeaz ctul si restul mprtirii
valorii conectate la intrarea X la valoarea conectat la intrarea Y.
Compound Aritmetic (disponibil si n subpaleta Boolean a
paletei de functii) permite efectuarea operatiilor de adunare (Add) sau
nmultire (Multiply), sau a operatiilor logice SI (AND), SAU (OR) sau
SAU EXCLUSIV (XOR), asupra unui numr variabil de valori de
intrare.
Numrul de intrri este stabilit de ctre utilizator prin
"dimensionarea" simbolului functiei astfel:
- se plaseaz cursorul mouse-ului la mijlocul uneia din laturile
orizontale ale simbolului, astfel nct pe laturile de sus si de jos s apar
cte un cerculet,
LABVIEW 93
-se apas butonul stng al mouse-ului i se deplaseaz mouse-ul
tinnd butonul apsat,
- pe msur ce mouse-ul este deplasat, simbolul functiei si
modific dimensiunile, modificndu-se astfel numrul de intrri,
- cnd numrul de intrri n functie este cel dorit, se elibereaz
butonul mouse-ului.
Pentru a selecta operatia efectuat de ctre functie (adunare,
nmultire etc)(fig.4.10):
- se apas butonul drept al mouse-ului pentru a deschide meniul
propriu al functiei,
- se deschide submeniul Change Mode,
- se selecteaz operatia dorit,
Fig. 4.10. Selectarea operatiei efectuate de ctre functie
Random Number (0-1) este o functie ce nu posed intrri, rolul
su fiind de a genera o valoare real aleatoare n intervalul (0,1).
Subpaleta Numeric a paletei de functii contine de asemenea o
serie de subpalete dedicate unor categorii particulare de functii:
>>>subpaleta Conversion, continnd printre altele:
INSTRUMENTAIA VIRTUAL 94
- 12 functii pentru schimbarea modului de reprezentare a unei
valori numerice.
- functia Boolean To (0,1) (disponibil si n subpaleta Boolean a
paletei de functii), care transform o valoare logic (True sau
False) ntr-o valoare numeric (1 respectiv 0).
>>> subpaleta Trigonometric, continnd majoritatea functiilor
trigonometrice,
>>> subpaleta Logarithmic, continnd functii exponentiale si
logaritmice,
>>> subpaleta Complex, continnd functii asociate numerelor
complexe.
Subpaleta Addiional Numeric Constants a paletei de functii
contine valori constante des utilizate n trigonometrie si n lucrul cu
functii exponentiale sau logaritmice, precum si constante utilizate n
fizic (fig.4.11,fig.4.12)
Fig.4.11. Subpaleta Addiional Numeric Constants
EXERCIIU
n zona principal a paletei de functii si n subpaletele dedicate
ale acesteia, identificati functiile si constantele enumerate mai sus.
Construiti un program care s afiseze ctul si restul mprtirii a
dou numere naturale introduse de ctre utilizator.
LABVIEW 95
Funcii uzuale pentru valori alfanumerice
>>> Functia String Length determin numrul de caractere dintr-
o valoare alfanumeric (text). Sunt luate n considerare si caracterele
neafisabile (spatiu, Tab, sfrsit de linie etc). Numrul de caractere de la
iesirea functiei este exprimat ca un ntreg pe patru octeti.
>> Functia Concatenate Strings posed un numr de intrri ce
poate fi modificat de ctre utilizator prin dimensionarea simbolului
functiei. La iesirea sa, functia genereaz o valoare alfanumeric obtinut
prin concatenarea textelor de la intrrile sale, n ordinea de sus n jos.
>>> Functia String Subset extrage, din textul conectat la intrarea
string, o portiune de length caractere ncepnd de la caracterul aflat la
pozitia offset inclusiv (pentru primul caracter se consider offset = 0).
Dac la intrarea offset a functiei nu este introdus nici o valoare,
functia consider c extragerea se va efectua ncepnd cu primul caracter
(valoarea implicit 0 a intrrii offset).
Fig.4.12. Subpaleta Addiional Numeric Constants
INSTRUMENTAIA VIRTUAL 96
Dac la intrarea length nu este introdus nici o valoare, functia
consider c extragerea se va efectua pn la ultimul caracter inclusiv.
>>> Functia Replace Substring sterge o portiune din textul
conectat la intrarea string si introduce n locul respectiv textul conectat la
intrarea substring.
Portiunea nlocuit ncepe de la caracterul aflat pe pozitia offset
inclusiv si contine length caractere.
Intrarea offset are valoarea implicit 0, iar intrarea length are o
valoare implicit egal cu numrul de caractere legat la intrarea
substring.
Dac la intrarea substring nu se leag nicio valoare (textul de
inserat este vid), functia efectueaz de fapt o stergere a unei portiuni, iar
dac la intrarea length se leag valoarea 0 (textul de sters este vid)
functia efectueaz de fapt o inserare a unei portiuni.
>>> Functia Search and Replace String caut textul search
string n textul conectat la intrarea string, iar atunci cnd l gseste l
nlocuieste cu textul conectat la intrarea replace string. Cutarea are loc
ncepnd de la pozitia offset a textului string.
Dac la intrarea offset nu se conecteaza nici o valoare, cutarea
are loc ncepnd cu prima pozitie.
Dac la intrarea replace string nu se conecteaz nicio valoare,
atunci functia efectueaz de fapt o stergere (nlocuire cu text vid).
Dac la intrarea replace all? nu se conecteaz nicio valoare,
atunci functia se opreste dup prima aparitie a textului search string.
Dac la aceast intrare se conecteaz o valoare logic True,
atunci functia efectueaz nlocuiri pentru toate aparitiile textului search
string.
LABVIEW 97
Functia genereaz textul rezultat n urma nlocuirii la iesirea
result string, iar la iesirea offset past replacement genereaz o valoare
indicnd pozitia caracterului aflat imediat dup ultimul caracter nlocuit.
EXERCIIU
Pentru fiecare dintre functiile prezentate mai sus, construiti cte
un program care s exemplifice modul de utilizare a functiei.
De exemplu, pentru functia String Length, panoul programului
va contine un element de control pentru valori alfanumerice, n care
utilizatorul va introduce un text, si un element indicator pentru valori
numerice, n care programul va afisa numrul de caractere ale textului
introdus.
Funcii adiionale pentru valori alfanumerice
Subpaleta Additional String Functions a paletei String contine
o serie de functii uzuale pentru lucrul cu valori alfanumerice (fig.4.13):
Fig.4.13. Subpaleta Additional String Functions
>>> Functia Search/Split String caut textul conectat la intrarea
search string/char n textul conectat la intrarea string.
INSTRUMENTAIA VIRTUAL 98
Cutarea se efectueaz ncepnd cu pozitia offset.
Dac textul cutat este gsit, functia divide textul initial n dou
prti:
- partea dinainte de textul cutat (substring before match),
- textul cutat urmat de restul textului n care s-a fcut cutarea
(match + rest of string).
Functia genereaz la iesirea offset of match pozitia n care a fost
gsit textul cutat.
Dac textul cutat nu a fost gsit, iesirea substring before match
contine tot textul legat la intrarea string, iar iesirea offset of match are
valoarea -1.
>>> Functia Pick Line selecteaz din textul multi-line string, ce
contine mai multe linii, pe cea cu indicele line index si adaug linia
respectiv la textul conectat la intrarea string.
Dac la intrarea string nu a fost conectat nicio valoare, rezultatul
este chiar linia cu indicele specificat.
>>> Functia Match True/False String verific dac unul din
textele true string sau false string coincide cu nceputul textului
conectat la intrarea string.
n caz afirmativ, functia genereaz la iesirea output string restul
textului de la intrarea string, iar la iesirea selection o valoare booleana
corespunztoare intrrii care a coincis (True pentru true string si False
pentru false string).
Dac ambele texte coincid, functia consider textul true string.
Dac nici un text nu coincide, iesirea selection are valoarea False
iar iesirea output string contine ntreg textul string.
>>> Functia Rotate String efectueaz o permutare circular a
caracterelor textului conectat la intrarea string, mutnd primul caracter
pe ultima pozitie.
LABVIEW 99
>>> Functia Reverse String inverseaz ordinea caracerelor
textului conectat la intrarea string
>>>Functia Append True/False String concateneaz la textul
conectat la intrarea string unul din textele conectate la intrrile true
string sau false string, n functie de valoarea booleana conectat la
intrarea selector.
Subpaleta String/Number Conversion a paletei String contine
functii pentru conversia valorilor alfanumerice n valori numerice sau
pentru efectuarea operatiei inverse (Fig.4.14).
Fig.4.14. Subpaleta String/Number Conversion
Dintre acestea, cele mai des utilizate sunt:
>>> Functia Number To Decimal String transform numrul
ntreg de la intrarea number ntr-un text de cel putin width caractere.
Dac numrul de la intrarea functiei nu este ntreg, el este
trunchiat.
Dac intrarea width nu este legat, numrul de caractere ale
textului va fi egal cu numrul de cifre ale intregului.
INSTRUMENTAIA VIRTUAL 100
>>> Functia Decimal String To Number transform ntr-o
valoare numeric ntreaga portiunea din textul string ncepnd de la
pozitia offset inclusiv (implicit de la pozitia 0).
Modul de reprezentare al valorii de la iesirea number este identic
cu cel al valorii numerice ntregi conectate la intrarea default (implicit
ntreg pe 32 de biti).
Iesirea offset past number are semnificatia pozitiei primului
caracter din string dup portiunea care a fost transformat n valoare
numeric.
Subpaleta String/Number Conversion contine de asemenea
functii pentru transformarea textelor din si n numere n baza de
numeratie 16 sau 8 sau n formatul exponential, fractional sau ingineresc.
EXERCIIU
Pentru fiecare dintre functiile prezentate mai sus, construiti cte
un program care s exemplifice modul de utilizare a functiei.
De exemplu, pentru functia Reverse String, panoul programului
va contine un element de control pentru valori alfanumerice n care
utilizatorul va introduce un text si un element indicator, de asemenea
pentru valori alfanumerice, la care programul va afisa textul inversat.
Funcii pentru comparaii
Functiile pentru efectuarea comparatiilor sunt grupate n
subpaleta Comparison a paletei de functii.
Caracteristic acestor functii este faptul c, dac datele de intrare
pot fi de diverse tipuri (numerice, booleene, alfanumerice etc), datele de
iesire sunt la majoritatea acestor functii valori logice (booleene).
Conteaz de asemenea ordinea n care datele de intrare sunt legate
la terminalul functiei (la intrarea de sus sau la cea de jos).
n cazul functiei Greater? de exemplu, iesirea va avea valoarea
True dac valoarea de la intrarea de sus este mai mare dect valoarea de
la intrarea de jos si va avea valoarea False n caz contrar.
Pe lng functiile de comparare a dou mrimi sau de comparare
a unei mrimi cu valoarea nul, subpaleta Comparison contine
urmtoarele:
LABVIEW 101
Fig.4.15. Functii pentru comparatii
>>> Functia Select genereaz la iesire valoarea de la intrarea t
(True) dac valoarea logic de la intrarea s este True, respectiv valoarea
de la intrarea f (False) dac valoarea logic de la intrarea s este False.
Valorile de la intrrile t si f pot fi att numerice ct si alfanumerice.
>>> Functia Max & Min genereaz la iesirea max cea mai mare
dintre valorile x si y, respectiv la iesirea min pe cea mai mic dintre
acestea.
>>> Functia In Range and Coerce verific dac valoarea de la
intrarea x este cuprins ntre valorile de la intrrile lower limit (limita
inferioar) si upper limit (limita superioar).
INSTRUMENTAIA VIRTUAL 102
Valoarea logic reprezentnd rezultatul verificrii este generat la
iesirea In Range?
n mod implicit, intervalul de ncadrare este nchis la stnga si
deschis la dreapta.
nchiderea sau deschiderea intervalului la extremittile sale poate
fi configurat de ctre utilizator din meniul propriu al functiei, activnd
sau dezactivnd optiunile Include upper limit si Include lower limit.
Rezultatul "fortrii" valorii x n intervalul prescris este generat la
iesirea coerced(x).
>>> Functia Decimal Digit? genereaz o valoare logic True n
situatia n care caracterul de la intrarea sa este o cifr ntre 0 si 9 si
genereaz o valoare False n caz contrar.
Subpaleta Comparison contine de asemenea functii pentru a
verifica dac un caracter este cifr n baza de numeratie 16, cifr n baza
de numeratie 8, caracter tipribil sau caracter netipribil.
Funcii pentru lucrul cu valori dat - timp i de dialog
Functiile pentru lucrul cu valori dat - timp si functiile de dialog
se gsesc n meniul Time & Dialog al paletei de functii (fig.4.16)
Fig.4.16.Functiile din meniul Time & Dialog
LABVIEW 103
Printre cele mai utilizate functii din aceast categorie se numr:
>>> Tick Count (ms): determin numrul de milisecunde indicat
de ceasul intern al computerului (considerat de la momentul la care
calculatorul a fost pornit).
>>> Wait (ms): ntrerupe executia programului pentru intervalul
de timp specificat.
>>> Format Date/Time String: transform o valoare numeric
reprezentnd un numr de secunde ntr-un text.
Numrul de secunde este considerat a fi scurs ncepnd cu data de
1 ianuarie 1904, ora 12.00. La intrarea time format string a functiei se
poate specifica formatul n care textul rezultat s fie construit.
>>>Get Date/Time String: transform o valoare numeric
reprezentnd un numr de secunde n dou texte, unul reprezentnd data
si cellalt timpul.
La intrarea date format se poate lega una din valorile 0, 1 sau 2,
reprezentnd formatele scurt, lung sau abreviat pentru dat. Dac
numrul de secunde nu este conectat, se consider numrul de secunde al
ceasului intern al computerului. Iesirea text ce reprezint timpul poate
INSTRUMENTAIA VIRTUAL 104
contine sau nu secunde, n functie de valoarea intrrii booleene want
seconds?
>>> Get Date/Time In Seconds: determin numrul de secunde
scurs ncepnd cu data de 1 ianuarie 1904, ora 12.00, pn la data si
timpul curente ale calculatorului.
>>> One Button Dialog: determin aparitia unei ferestre de
dialog, continnd un text specificat prin program, fereastra ce asteapt
apsarea de ctre utilizator a unui buton (numele butonului poate fi si el
configurat).
>>> Two Button Dialog: determin aparitia unei ferestre de
dialog, continnd un text specificat prin program, fereastra ce asteapt
apsarea de ctre utilizator a unuia din cele dou butoane disponibile
(numele butoanelor pot fi de asemenea configurate).
Functia genereaz o valoare booleana True dac utilizatorul a
apsat butonul din stnga sau False dac a fost apsat butonul din
dreapta.
EXERCITII
Pentru fiecare dintre functiile prezentate mai sus, construiti cte
un program care s exemplifice modul de utilizare a functiei.
De exemplu, pentru functia Select, panoul programului va contine
un element de control boolean, dou elemente de control alfanumerice si
un indicator alfanumeric. Programul va afisa la elementul indicator una
LABVIEW 105
din valorile de la cele dou controale alfanumerice, n functie de valoarea
True sau False a elementului Boolean.
De exemplu, pentru functia Tick Count (ms), realizati un
program care s afiseze numrul de secunde scurse de la pornirea
calculatorului.
TEM
1. Construiti un program care s genereze un numr aleator ntr-
un interval ale crui limite minim si maxim sunt specificate de ctre
utilizator.
2. Realizati un program n care utilizatorul s dispun de patru
elemente de control booleene sub form de LED-uri. Considernd c cele
patru LED-uri reprezint cifrele binare ale unui numr n baza de
numeratie 2, programul s afiseze numrul respectiv n baza 10.
3. Construiti un program n care utilizatorul s introduc
lungimea unui vector si unghiul acestuia cu orizontala (n grade), iar
programul s afiseze lungimile proiectiilor vectorului pe cele dou axe de
coordonate.
4. Construiti un program n care utilizatorul s introduc
lungimile si unghiurile cu orizontala (n grade) pentru doi vectori, iar
programul s afiseze lungimea vectorului rezultnt, unghiul fcut de
acesta cu orizontala si lungimile proiectiilor sale pe cele dou axe.
5. ntr-un text, s se nlocuiasc toate spatiile (blanc) cu liniut de
subliniere (underscore).
6. Fiind dat un cuvnt, s se transforme acesta astfel nct prima
liter s fie majuscula si restul literelor s fie minuscule.
7. Fiind dat un text, s se verifice faptul c toate caracterele din
cadrul acestuia sunt minuscule.
8. S se compare dou valori numerice a si b si s se aprind cte
un LED pentru fiecare din situatiile a < b, a = b si a > b.
9. S se verifice dac dou texte contin aceleasi caractere, n
aceeasi ordine, indiferent de tipul de litere (minuscule sau majuscule).
10. Fiind dat un text ce reprezint un nume si un prenume
separate printr-un spatiu, s se obtin din acesta un text continnd cele
dou intiale, fiecare urmat de cte un punct.
11. Fiind dat un text, s se determine numrul de caractere din
acesta diferite de spatiu (blanc).
12. Fiind dat un text, s se verifice faptul c acesta nu contine
spatii libere.
INSTRUMENTAIA VIRTUAL 106
13. Fiind dat un text ce reprezint un nume si un prenume
separate printr-un spatiu, s se separe n dou texte, unul reprezentnd
numele si unul prenumele.
14. Fiind dat un text ce nu contine spatii, s se verifice dac
acesta contine ntre sase si opt caractere.
15. S se realizeze un program care s aprind un LED atunci
cnd utilizatorul introduce o valoare mai mare dect 5.
16. S se realizeze un program care, n functie de pozitia unui
comutator boolean, s calculeze fie suma fie produsul a dou valori
numerice introduse de ctre utilizator.
17. Fiind date dou valori numerice reale a si b, s se calculeze
suma dintre dublul valorii mai mari si triplul valorii mai mici.
18. Fiind dat un text ce reprezint o propozitie, s se verifice
faptul c punctul (.) apare o singur dat, la sfrsitul acesteia.
19. S se afiseze, n elemente indicatoare distincte, numerele de
ore, minute si secunde scurse de la pornirea calculatorului.
20. S se afiseze, n elemente indicatoare distincte, numerele de
zile, ore, minute si secunde scurse de la 1 ianuarie 1904, ora 12.00.
21. S se afiseze, n diverse formate, un text reprezentnd data si
timpul curente ale calculatorului.
22. S se realizeze un program n care utilizatorul s introduc
trei valori numerice (a, b si c) ordonate cresctor. n functie de cum
valorile respective au fost introduse corect (ordonate cresctor) sau nu,
programul s afiseze o fereastr de dialog cu textul RASPUNS
CORECT sau RASPUNS INCORECT.
23. S se realizeze un program care s aprind sau nu un indicator
Round LED, n functie de rspunsul DA sau NU pe care utilizatorul l d
la aparitia unei ferestre de dialog cu intrebarea Aprindem becul ?
4.10 Funcii pentru valori vectoriale (Array)
Definirea valorilor i a numrului de valori vizibile
Atunci cnd este dispus n panou si i este definit tipul de date, un
element de tip Array afiseaz la un moment dat o singur valoare.
Pentru a modifica numrul de valori afisate, se pozitioneaz nti
cursorul mouse-ului pe un colt al elementului Array, astfel nct pe
colturile acestuia s apar patru simboluri "echer".
LABVIEW 107
La aparitia celor patru simboluri "echer", se apas butonul stng
al mouse-ului si, tinndu-l apsat, se deplaseaz mouse-ul astfel nct s
se redimensioneze conturul elementului Array.
Pe msur ce mouse-ul este deplasat, conturul redimensionat al
elementului Array este marcat cu linie ntrerupt (fig.4.17).
Fig.4.17. Functii pentru valori vectoriale (Array)
Atunci cnd conturul a fost redimensionat astfel nct s poat
cuprinde numrul dorit de valori, se elibereaz butonul mouse-ului si
elementul Array este afisat redimensionat.
Redimensionarea conturului se poate efectua att pe vertical ct
si pe orizontal.
n partea sa stng, un element de tip Array dispune de un index.
Indexul unui element Array indic numrul de ordine al valorii
afisate n pozitia superioar (indicele valorii). Indicele primei valori
dintr-un Array este 0.
Imediat dup ce i se defineste tipul de date, un Array nu contine
nici o valoare (este vid). Faptul este semnalizat prin afisarea "opac" a
elementelor pe care Array-ul le contine.
Atunci cnd se defineste o valoare din Array, aceasta este afisat
normal.
Dac, la un moment dat, utilizatorul defineste o valoare si exist
valori cu indici mai mici nc nedefinite, acestea vor cpta automat o
valoare implicit, n functie de tip.
Cnd se modific valoarea indexului unui Array, valorile
acestuia se deplaseaz astfel nct n pozitia superioar s fie afisat
valoarea cu indexul selectat.
Dac, n urma acestei deplasri, unele valori nu mai sunt vizibile,
faptul nu echivaleaz cu stergerea acestora: valorile continu s existe n
cadrul Array-ului si pot fi vizualizate prin modificarea corespunztoare a
indexului.
INSTRUMENTAIA VIRTUAL 108
EXERCIIU
Modificati numerele de valori vizibile ale celor trei Array-uri
create n exercitiul anterior.
Transformati Array-urile n elemente de control (dac este cazul)
si definiti valori n cadrul acestora.
Modificati indexul fiecrui Array si observati modul n care
valorile se deplaseaz.
Definirea numrului de dimensiuni
n mod implicit, atunci cnd este creat, un Array are o singur
dimensiune, putnd fi descris drept o matrice coloan (fig.4.18).
Fig.4.18. Definirea numrului de dimensiuni
Numrul de dimensiuni ale unui Array poate fi modificat prin
dimensionarea indexului acestuia: se pozitioneaz cursorul mouse-ului pe
LABVIEW 109
un colt al indexului, astfel nct pe colturile acestuia s apar patru
simboluri "echer", se apas butonul mouse-ului si se deplaseaz mouse-
ul tinnd butonul apsat, pn cnd indexul capt dimensiunea dorit.
Dac un Array are mai mult de o dimensiune, se poate stabili
afisarea mai multor linii si mai multor coloane.
Terminalul unui element Array se caracterizeaz prin prezenta
unor paranteze drepte a cror grosime este proportional cu numrul de
dimensiuni.
Atunci cnd se realizeaz legturi n diagram, conexiunile pe
care circul un Array cu o dimensiune sunt mai groase dect cele pe care
circul valori scalare.
Pentru Array-urile cu dou sau mai multe dimensiuni,
conexiunile sunt reprezentate cu linie dubl.
Spatiul intermediar al liniei duble este cu att mai mare cu ct
numrul de dimensiuni ale Array-ului este mai mare.
EXERCIIU
Mriti numerele de dimensiuni ale Array-urilor create n
exercitiile anterioare si afisati mai multe linii si mai multe coloane.
Observati c, atunci cnd un Array cu o dimensiune este
transformat n unul cu dou dimensiuni (matrice), valorile existente
initial n Array sunt distribuite pe prima linie a matricei.
Observati comportamentul unei matrici la introducerea unei valori
anterior nedefinite.
Modificati indexurile unei matrici si observati modul de deplsare
a valorilor.
Construirea Array-urilor n diagram
Atunci cnd este necesar existenta n diagram a unei constante
Array, aceasta poate fi selectat din meniul cu functii pentru valori
vectoriale (Array) al paletei de functii (fig.4.19).
INSTRUMENTAIA VIRTUAL 110
La dispunerea sa n diagram, similar elementelor Array de pe
panou, o astfel de constant nu are definit tipul de date pe care le va
contine.
Fig.4.19. Construirea Array-urilor n diagram
Definirea tipului de date se realizeaz prin introducerea n
chenarul constantei Array a unei constante de tipul dorit (numeric,
boolean sau alfanumeric).
O constant Array permite aceleasi operatii de definire a
numrului de valori vizibile sau de modificare a numrului de dimensiuni
ca si elementele Array din panou.
LABVIEW 111
Pentru a obtine n mod dinamic (programatic), n diagram,
structuri de valori de tipul Array, pot fi utilizate o serie de functii
specifice.
Functia Initialize Array genereaz un Array cu una sau mai
multe dimensiuni, continnd aceeasi valoare (conectat la intrarea
element) n toate pozitiile.
Numrul de valori de-a lungul unei dimensiuni se specific la
intrarea dimension size a functiei.
Atunci cnd este dispus n diagram, functia are o singur intrare
dimension size, genernd astfel un Array cu o singur dimensiune. Dac
se doreste generarea unui Array cu mai multe dimensiuni, simbolul
functiei poate fi dimensionat.
Dac la una dintre intrrile dimension size se conecteaz valoarea
0, sau dac toate intrrile respective sunt neconectate, functia va genera
un Array vid.
Functia Build Array concateneaz la un Array una sau mai
multe elemente cu un numr de dimensiuni imediat inferior (adaug
INSTRUMENTAIA VIRTUAL 112
valori scalare la un Array cu o dimensiune, adaug linii la matrici
s.a.m.d.).
Atunci cnd este dispus n diagram, functia are o singur
intrare. Numrul dorit de intrri se obtine prin dimensionarea simbolului
functiei.
Dac la toate intrrile functiei sunt legate elemente cu acelasi
numr de dimensiuni, functia poate opera n dou moduri, dup cum
optiunea Concatenate Inputs din meniul sau propriu este sau nu
activat:
- dac optiunea este activat, functia va concatena intrrile si va
obtine un Array cu un numr de dimensiuni egal cu al intrrilor
(optiunea nu este valabil dac toate intrrile sunt scalare);
- dac optiunea nu este activat, functia va obtine un Array cu un
numr de dimensiuni imediat superior celui al intrrilor (Array cu o
dimensiune din valori scalare, matrice din linii s.a.m.d.).
Functia Interleave 1D Array construieste un Array cu o singur
dimensiune prin intreteserea mai multor Array-uri avnd de asemenea o
singur dimensiune. Array-ul rezultat este format prin preluarea
alternativ a cte unei valori din fiecare Array de intrare.
La dispunerea n diagram, functia contine doar dou intrri, dar
numrul acestora poate fi modificat prin dimensionarea simbolului.
EXERCIIU
Inserati n diagram o constant Array de valori numerice, cu o
dimensiune, continnd primele cinci numere naturale.
Initializati un Array cu o dimensiune, continnd de zece ori
valoarea 7.
Construiti o matrice care s contin pe prima linie rezultatul
concatenrii celor dou Array-uri de mai sus, iar pe a doua linie
rezultatul intreteserii valorilor acestora.
Explicati de ce ultimele cinci valori de pe a doua linie a matricei
sunt nule.
Elementele Array i structurile repetitive
Atunci cnd, n diagram, un Array este conectat la o structur
repetitiv For, bucla respectiv va prelua, la fiecare iteratie a sa, doar
cte o valoare din Array. Valoarea preluat la o iteratie este cea cu
indicele din Array egal cu indicele iteratiei buclei.
LABVIEW 113
Fig.4.20. Elementele Array si structurile repetitive
n aceasta situatie, nu mai este necesar conectarea unei valori la
terminalul N al buclei. Aceasta va executa attea iteratii cte valori sunt
n Array-ul de intrare.
Dac se conecteaz totusi o valoare la terminalul N, bucla For va
executa un numr de iteratii egal cu minimul dintre acea valoare si
numrul de valori din Array.
Dac, din interiorul unei bucle For, o valoare scalar este
conectat la conturul acesteia, atunci cnd bucla si ncheie ultima
iteratie, valorile scalare ajunse pe contur n toate iteratiile vor prsi
bucla grupate ntr-un Array.
Comportamentul buclei la intrarea unui Array poate fi modificat:
dac, din meniul propriu al componentei de pe conturul buclei, se alege
optiunea Disable Indexing, la fiecare iteratie a buclei va fi preluat ntreg
Array-ul de intrare.
n acest caz, este necesar ca o valoare s fie conectat la
terminalul N al buclei.
INSTRUMENTAIA VIRTUAL 114
Dac se alege optiunea Disable Indexing pentru o componenta de
pe contur la care sunt conectate valori din interiorul buclei, din acea
component, dup ncheierea ultimei iteratii, va parsi bucla doar
valoarea din ultima iteratie. Valorile ce au ajuns pe contur n toate
celelalte iteratii vor fi pierdute.
Considerentele de mai sus sunt valabile pentru Array-uri de orice
dimensiune:
dintr-o matrice, se poate prelua la fiecare iteratie a buclei
fie cte o linie, fie intreaga matrice;
dac un Array unidimensional din interiorul buclei este
conectat pe conturul acesteia, la ncheierea ultimei iteratii
componenta buclei va genera fie o matrice, fie doar Array-ul
primit n ultima iteratie.
Modurile n care un Array se poate comporta la intrarea sau la
iesirea dintr-o structur repetitiv sunt valabile si n cazul buclelor
While, cu deosebirea c, n cazul acestora, comportamentul implicit este
inversat:
n mod implicit, o bucl While va prelua la fiecare iteratie
ntreg Array-ul de intrare. Doar n cazul n care componentei de
pe contur i se selecteaz, din meniul propriu, optiunea Enable
Indexing, bucla While va prelua cte o valoare la fiecare iteratie.
n mod implicit, dac o valoare din interiorul unei bucle
While se conecteaz la conturul acesteia, componenta de pe
contur va genera, dup ncheierea executiei buclei, doar valoarea
primit n ultima iteratie.
Doar dac se selecteaz optiunea Enable Indexing a componentei
de pe contur, aceasta va genera, dup ncheierea ultimei iteratii, un
Array cuprinznd valorile primite n cadrul tuturor iteratiilor.
Alte funcii pentru elemente Array
Functiile aritmetice si logice pentru valori scalare, precum si cele
pentru valori alfanumerice, permit conectarea de Array-uri continnd
valori de tipurile corespunztoare.
Se pot astfel realiza:
operatii aritmetice asupra valorilor dintr-un Array
(rdcina ptrat, functii trigonometrice etc.), ntre un Array si o
valoare scalar sau ntre dou Array-uri;
operatii logice ntre un Array si o valoare boolean sau
ntre dou Array-uri cu valori booleene;
LABVIEW 115
operatii asupra Array-urilor de valori alfanumerice.
Fig.4.21. Alte functii pentru elemente Array
Functiile Add Array Elements si Multiply Array Elements
determin suma, respectiv produsul valorilor numerice dintr-un Array.
Functiile And Array Elements si Or Array Elements
efectueaz operatiile logice SI, respectiv SAU, asupra tuturor valorilor
booleene dintr-un Array, obtinnd o valoare boolean scalar.
Atunci cnd au drept operanzi un Array si o valoare scalar sau
dou Array-uri, functiile de comparatie genereaz un Array de valori
booleene, compararea fiind efectuat valoare cu valoare.
Dac, din meniul propriu al functiei de comparatie, se alege
optiunea Compare Aggregates, functia va genera o valoare boolean
scalar.
INSTRUMENTAIA VIRTUAL 116
De exemplu, dac se compar dou Array-uri de valori numerice
cu functia Equal? n starea Compare Aggregates, functia va genera
valoarea True doar dac este ndeplinit conditia de egalitate ntre toate
perechile de valori aflate pe aceleasi pozitii n cele dou Array-uri.
Functia Number To Boolean Array, aflat n meniul pentru
functii booleene, transform un numr natural ntr-un Array de valori
booleene, efectund de fapt transformarea din baza 10 n baza 2.
Bitul cel mai putin semnificativ este reprezentat n Array de
valoarea cu indicele 0. De exemplu, valoarea 6=0+2
1
+2
2
este
transformat ntr-un Array cu trei valori booleene: (False, True, True).
Functia Boolean Array To Number realizeaz transformarea
invers, dintr-un Array de valori booleene ntr-un numr natural.
TEM
1. S se calculeze diferenta dintre valorile maxim si minim dintr-
un Array de valori numerice.
2. S se verifice prin aprinderea unui LED dac valoarea minim
dintr-un Array de valori numerice apare naintea valorii maxime.
3. S se ordoneze descresctor un Array de valori numerice.
4. S se calculeze suma dintre primul si ultimul element ale unui
Array de valori numerice.
5. S se calculeze media elementelor rmase dup eliminarea
valorilor minim si maxim dintr-un Array de valori numerice.
6. S se realizeze un program pentru generarea unui Array de 50 de
numere aleatoare cuprinse ntre N1 si N2 (N1 si N2 specificate de ctre
utilizator).
7. S se realizeze un program pentru generarea unui Array de 50 de
valori booleene aleatoare, astfel nct probabilitatea de aparitie a valorii
logice True s fie 0,7.
LABVIEW 117
4.11 Funcii pentru elemente de tip Cluster
Functiile specifice elementelor de tipul Cluster sunt grupate n
meniul cu acelasi nume al paletei de functii (fig.4.22).
Fig.4.22. Functii pentru elemente de tip Cluster
Functia Unbundle permite separarea elementelor unui Cluster.
Atunci cnd o functie Unbundle este dispus n diagram, ea posed
dou iesiri si poate fi dimensionat.
Cnd se realizeaz o legtur ntre terminalul unui Cluster si o
functie Unbundle, functia se dimensioneaz automat, corespunztor
numrului de elemente din Cluster. Iesirile functiei capt culori si
inscriptii corespunztoare elementelor componente. Iesirea din pozitia
superioar corespunde elementului cu indicele 0, cea imediat de sub ea
elementului cu indicele 1 s.a.m.d.
F
U
INSTRUMENTAIA VIRTUAL 118
Functia Bundle grupeaz mai multe valori (elemente) ntr-o
structur de tip Cluster. n mod implicit functia posed dou intrri dar
poate fi dimensionat.
Dac la intrarea cluster a functiei Bundle nu se conecteaz nimic,
atunci la toate intrrile sale trebuie s existe conexiuni, pentru a defini
complet structura elementului Cluster rezultant.
Dac la intrarea cluster se conecteaz o structur de date,
simbolul functiei Bundle se dimensioneaz automat, iar intrrile sale
capt culori si inscriptii conform structurii de date conectate.
n aceast situatie, nu mai este necesar ca la toate intrrile functiei
s fie conectate valori.
Functia nu mai creeaz o nou structur ci nlocuieste, n structura
legat la intrarea cluster, eventualele valori conectate la unele din
intrrile sale.
Dac elementele din interiorul unui Cluster posed etichete
(label), separarea acestora se poate efectua si cu ajutorul functiei
Unbundle By Name.
Atunci cnd la intrarea sa se conecteaz un Cluster, iesirile
functiei Unbundle By Name capt nume ce corespund etichetelor
componentelor elementului Cluster.
Dac functia are mai putine intrri dect numrul elementelor din
Cluster, numele sunt atribuite n ordinea elementelor.
Simbolul functiei Unbundle By Name poate fi dimensionat.
Numele atribuit unei iesiri (si implicit elementul din Cluster ce se
obtine la iesirea respectiv) poate fi modificat (fig.4.23):
facnd click cu unealta de operare pe iesirea respectiv,
apoi selectnd numele dorit din meniul care se deschide;
deschiznd meniul propriu al functiei (click cu butonul
drept al mouse-ului) si selectnd numele dorit din submeniul
Select Item.
LABVIEW 119
Functia Build Cluster Array preia un numr de elemente de tip
Array (simbolul functiei poate fi dimensionat), introduce fiecare Array
ntr-un Cluster si combin toate aceste elemente Cluster ntr-un element
Array rezultant.
Toate elementele Array de la intrare trebuie s fie de acelasi tip.
Functia Index & Bundle Cluster Array creeaz un Array de
elemente Cluster.
Elementul Cluster cu indicele i contine valorile cu indicii i din
elementele Array de la intrare.
Elementele Array de la intrare pot fi de tipuri diferite.
Functia Cluster To Array dispune elementele dintr-un Cluster
ntr-un Array.
Elementele din Cluster trebuie s fie de acelasi tip.
Functia Array To Cluster dispune valori dintr-un Array ntr-un
Cluster.
Fig.4.23.Modificarea numelui atribuit unei iesiri
INSTRUMENTAIA VIRTUAL 120
Numrul de elemente din Cluster se stabileste selectnd, din
meniul propriu al functiei, optiunea Cluster Size... (implicit 9).
Dac n elementul Array se afl mai multe valori dect numrul
de elemente din Cluster, atunci vor fi preluate doar o parte dintre acestea
si anume primele.
4.12. Elemente i funcii de tip Picture
Pentru a dispune pe panoul aplicatiei un element de tip
Picture.ctl, acesta poate fi selectat din meniul de controale, submeniul
Graph, submeniul Ctls (fig.4.24).
Functiile pentru lucrul cu elemente de tip Picture.ctl sunt dispuse
n meniul de functii. Un element de tip Picture reprezint o matrice de
pixeli, fiecare pixel fiind definit prin coordonatele sale X si Y.
Originea sistemului de coordonate se afl n coltul stnga-sus al
figurii. Axa X are sensul pozitiv spre dreapta, iar axa Y are sensul pozitiv
n jos.Graphics & Sound, submeniul Picture Functions.
LABVIEW 121
Fig.4.24. Elemente si functii de tip Picture
Utilizarea functiilor de tip Picture
Functiile pentru lucrul cu elemente de tip Picture.ctl efectueaz
operatii asupra unei figuri n general n sensul de adugare a unui
element geometric n figur.
n imaginea de mai jos se pleac de la o constanta Empty Picture
(figura vid).
n prima etap, utiliznd functia Move Pen.vi, se deplaseaz un
creion imaginar n punctul de coordonate (50, 50) al figurii. Functia
Move Pen.vi nu adaug nimic la figur.
Cu ajutorul functiei Draw Line.vi, n figura preluat de la functia
Move Pen.vi este trasat un segment de culoare rosie. Functie Draw
Line.vi consider c punctul de plecare al segmentului este punctul n
care se afl creionul imaginar, fiind necesar ca functiei s i se specifice
doar punctul final al segmentului, n acest caz punctul de coordonate
(120, 140).
INSTRUMENTAIA VIRTUAL 122
n figura preluat de la iesirea functiei Draw Line.vi, cu ajutorul
functiei Draw Circle by Radius.vi, este trasat un cerc plin (vezi
constanta True) de culoare albastr, cu centrul n punctul de coordonate
(200, 200) si de raza 20. Figura obtinut la iesirea functiei Draw Circle
by Radius.vi este transferat elementului de tip Picture.ctl, rezultatul
fiind afisarea figurii.
TEMA
1. Construiti diagrama din figura de mai sus si verificati modul de
functionare.
2. S se realizeze un program pentru trasarea graficului unei
parabole.
3. S se realizeze un program pentru trasarea graficului unui cerc.
4. S se realizeze un program pentru trasarea graficului unei elipse.
LABVIEW 123
5. S se realizeze un program pentru simularea comportamentului
unui resort elastic.
6. S se realizeze un program pentru simularea comportamentului
unui resort elastic, utiliznd elemente Picture.
5. Structuri de programare
5.1. Inserarea structurilor n diagram
Structurile de programare sunt componente ale diagramei ale
cror simboluri se gsesc n subpaleta Structures a paletei de functii
(fig.5.1).
n diagram, o structur de programare urmeaz s contin o serie
de terminale de elemente, simboluri de functii si valori constante ce vor
forma un flux de date n interiorul structurii.
Fig.5.1. Structurile de programare
Dac, n momentul n care structura este aleas din subpaleta
Structures, o parte din elementele pe care urmeaz s le contin se afl
deja dispuse n diagram, chenarul structurii poate fi trasat n jurul
componentelor respective (dup selectarea din subpalet, se apas
butonul stng al mouse-ului n unul din colturile viitorului chenar si se
deplaseaz mouse-ul tinnd butonul apsat: pe msur ce mouse-ul este
deplasat, se traseaz automat un contur cu linie ntrerupt, contur ce va fi
nlocuit de ctre structur n momentul eliberrii butonului mouse-ului).
INSTRUMENTAIA VIRTUAL 124
Dup dispunerea n diagram, conturul structurii poate fi deplasat
sau dimensionat. Atunci cnd o structur este deplasat, toate elementele
din interiorul sau se deplaseaz odat cu ea.
Elemente din afara structurii pot fi mutate n interiorul acesteia,
iar elemente din interior pot fi mutate n afara structurii.
Dac, prin dimensionare sau deplasare, o structura ajunge sa se
suprapuna cu alte elemente din diagrama, acestea nu vor fi incluse in
structura.
EXERCIIU
Exersati inserarea unei structuri oarecare (de exemplu Sequence)
n diagram, trasnd de la nceput chenarul sau n jurul unui grup de
elemente.
Mutati elemente din structur n afara sa si aduceti elemente din
exterior n interiorul structurii.
Deplasati si dimensionati structura.
5.2. Structura secvenial (Sequence)
Atunci cnd dispune de mai multe ferestre, fiecare dintre acestea
cu propriul flux de date, o structur Sequence execut n ordine ferestrele
respective.
De exemplu, n figurile de mai jos sunt reprezentate dou ferestre
ale unei structuri Sequence.
Structura va executa nti fereastra cu indicele 0, trimitndu-se
valoarea de la elementul de control Slide la elementul indicator Meter,
apoi va executa fereastra 1 ce are ca efect transmiterea valorii booleene
ntre cele dou elemente.
Fig.5.2. Structura secvential (Sequence)
Atunci cnd este dispus n diagram, o structur Sequence
contine o singur fereastr, aceasta fiind totodat si fereastra curent
(vizibil). Deschiznd meniul propriu al structurii si alegnd una din
optiunile Add Frame After sau Add Frame Before, se poate aduga o
fereastr dup sau naintea celei curente.
LABVIEW 125
Trecerea la o alt fereastr se poate realiza fie prin intermediul
celor dou sgeti de la capetele selectorului, fie apsnd pe sgeata din
partea dreapt (ndreptat n jos) si selectand indicele ferestrei dorite din
lista care se desfsoar. La un moment dat, este vizibil doar fluxul din
fereastra curent a unei structuri Sequence.
Se poate crea o dublur a ferestrei curente, selectnd din meniul
propriu al structurii optiunea Duplicate Frame. Fereastra curent poate
fi stears, cu optiunea Delete This Frame. Atunci cnd o structur
Sequence contine cel putin dou ferestre, ordinea acestora poate fi
INSTRUMENTAIA VIRTUAL 126
schimbat: se modific indicele ferestrei curente, selectnd optiunea
Make This Frame, apoi noul indice.
Atunci cand se doreste transferul unei valori intre doua ferestre
ale unei structuri Sequence, prin selectarea optiunii Add Sequence
Local se dispune pe conturul structurii o variabila locala a acesteia (sub
forma unui patrat galben).
Dac, n una din ferestrele structurii, se conecteaz o valoare la
variabila local, fereastra respectiv devine fereastr surs pentru acea
variabil. n acea fereastr, simbolul variabilei locale contine o fereastr
indreptat spre exteriorul structurii. n ferestrele anterioare ferestrei
surs, simbolul variabilei locale devine hasurat, semn c valoarea
variabilei locale nu este accesibil n acele ferestre.
n ferestrele de dup fereastra surs, simbolul variabilei locale va
contine o sgeat ndreptat spre interiorul structurii. n aceste ferestre,
valoarea transferat prin intermediul variabilei locale poate fi utilizat n
fluxul de date. O structur Sequence poate dispune de mai multe
variabile locale.
ntr-o structur Sequence pot fi utilizate valori provenite din
fluxul de date exterior. O valoare introdus din exterior ntr-o structur
Sequence va putea fi utilizat n oricare dintre ferestrele structurii.
Dac, ntr-o anumit fereastr, se face o legtur din structura
Sequence n exteriorul acesteia, la iesirea respectiv (ptratul de pe
contur) nu va mai putea fi legata o alt valoare din alt fereastr (ar exista
o incertitudine privind valoarea care iese din structur).
LABVIEW 127
Indiferent de indicele ferestrei n care s-a facut o legtur spre
exterior, valoarea va prasi iesirea de pe conturul structurii Sequence
doar dup executarea ultimei ferestre.
EXERCIIU
Introduceti n diagram o structur Sequence cu patru ferestre.
Pornind de la un element de control numeric al crui terminal este
exterior structurii, calculati n ferestre succesive dublul, ptratul, rdcin
ptrat si inversa (1/x) valorii numerice respective.
Valoarea calculat n fiecare fereastr a structurii va fi afisat
ntr-un element indicator separat.
Adugati structurii o a cincea fereastr si, utiliznd variabile
locale, calculati si afisati n aceast ultim fereastr suma valorilor
calculate n ferestrele anterioare.
5.3. Structura cauzal (Case)
Atunci cnd este dispus n diagram, o structur Case contine
dou ferestre (True si False), fiecare dintre acestea cu propriul flux de
date. Pe conturul structurii se afl dispus un terminal selector (de
culoare verde, continnd semnul intrebrii) (fig.5.3).
Fig.5.3. Structura cauzal (Case)
Structura Case va executa doar una din cele dou ferestre, n
functie de valoarea booleana (True sau False) conectat la terminalul sau
selector.
Dac la terminalul selector al unei structuri Case, n locul unei
valori booleene, se conecteaz o valoare numeric (numr ntreg sau
natural), numele ferestrelor se vor modifica automat din True si False n
0 i 1.
Structura va executa fereastra al crei nume va coincide cu
valoarea numeric ce ajunge la terminal sau selector.
INSTRUMENTAIA VIRTUAL 128
n aceast situatie, are sens ca structura Case s contin mai mult
de dou ferestre.
Deoarece structura Case nu va putea contine attea ferestre cte
valori numerice pot ajunge la terminalul sau selector, una dintre ferestre
trebuie declarat drept fereastra implicit (Default). Fereastra implicit
va fi executat atunci cnd valorii ajunse la terminalul selector nu i
corespunde nici un nume de fereastr. Un nume de fereastr poate
contine si descrierea unei multimi de valori, de genul 2..5, 7..9,
intelegnd prin aceasta ca fereastr respectiv va fi executat dac la
terminalul selector ajunge una din valorile 2, 3, 4, 5, 7, 8 sau 9.
O valoare nu poate exista n numele mai multor ferestre (ar exista
o incertitudine privind fereastra ce trebuie executat).
Dac la terminalul selector al unei structuri Case se conecteaz o
valoare alfanumeric, atunci numele ferestrelor vor trebui s fie de tipul
string (se modific utiliznd unealta de editare texte). Si n aceast
situatie trebuie s existe o fereastr implicit.
Se pot de asemenea defini multimi de valori (de genul "A".."F"),
cu conditia evitrii dublurilor.
O valoare introdus din exterior ntr-o structur Case este
accesibil n orice fereastr a acesteia.
LABVIEW 129
Dac dintr-o fereastr a unei structuri Case se scoate o valoare n
exterior, pe conturul structurii apare un terminal de ieire de culoare
alb, semn c diagrama contine o eroare.
Atunci cnd o structur Case are pe contur un terminal de iesire,
la acesta trebuie definite legturi din toate ferestrele structurii. n caz
contrar, se spune c iesirea din structur nu este complet definit.
Atunci cnd iesirea este complet definit, terminalul de iesire se
umple cu culoarea reprezentnd tipul de date conectate (pentru a fi corect
definit, la o iesire trebuie s ajung acelai tip de date din toate
ferestrele structurii).
EXERCIII
1. Introduceti n diagram o structur Case la al crei terminal
selector conectati terminalul unui element de control boolean. n functtie
de valoarea elementului de control boolean, la terminalul unui element
indicator de tip String din afara structurii, trimiteti textul ADEVARAT
sau FALS.
2. Introduceti n diagram o structur Case la al crei terminal
selector conectati terminalul unui element de control numeric pentru
valori naturale. n functie de valoarea elementului de control numeric, la
terminalul unui element indicator de tip String din afara structurii,
trimiteti textul CIFRA PARA, CIFRA IMPARA sau NUMAR.
3. Introduceti n diagram o structur Case la al crei terminal
selector conectati terminalul unui element de control alfanumeric.
n functie de primul caracter din elementul de control, la
terminalul unui element indicator de tip String din afara structurii,
trimiteti textul PRIMA PARTE (pentru primul caracter de la A la M), A
DOUA PARTE (pentru primul caracter de la N la Z) sau NU INCEPE
CU LITERA.
INSTRUMENTAIA VIRTUAL 130
5.4. Structura repetitiv cu numr fix de iteraii (bucla For)
O bucl For executa de un numr fixat de ori portiunea de
diagram pe care o contine (fig.5.4). O executie a portiunii interne de
diagram poart numele de iteraie.
Fig.5.4. Bucla For
O bucl For dispune n coltul stnga - sus de un terminal (notat
cu N), la care trebuie legat o valoare care s specifice numrul de iteratii
pe care bucla urmeaz s le execute.
n interiorul buclei se afl un terminal numtor (notat cu i)
care genereaz o valoare natural reprezentnd indicele iteraiei curente
(aflate n curs de executie). Indicii iteratiilor sunt numerotati ncepnd cu
valoarea 0, astfel nct ultima iteratie executat de ctre bucla For va
avea indicele N-1.
EXERCIIU
Introduceti n diagram o bucl For.
Conectati terminalul unui element de control numeric la
terminalul N al buclei si terminalul unui element indicator numeric la
terminalul numrtor al buclei. Introduceti n bucl o functie de asteptare,
astfel nct fiecare iteratie a buclei s se efectueze n interval de dou
secunde.
Rulati programul si urmriti n panou modificarea indicelui
iteratiei curente.
5.5. Structura repetitiv cu condiie de terminare (bucla
While)
O bucl While execut portiunea de diagram pe care o contine
pn cnd la terminalul de continuare (aflat n coltul dreapta-jos)
apare o anumit valoare boolean (fig.5.5).
LABVIEW 131
Atunci cnd o bucl While este dispus n diagram, terminalul
su de continuare se afl n starea implicit Continue If True. Bucla va
continua s execute iteratii succesive att timp ct la terminalul su de
continuare ajunge o valoare logic True. Dac la terminalul de
continuare ajunge o valoare logic False, bucla While nu mai trece la
urmtoarea iteratie ci si ncheie execuia.
Fig.5.5. Bucla While
Starea implicit a terminalului de continuare poate fi modificat.
Terminalul poate fi trecut n starea Stop If True fie cu unealta de
operare, fie apsnd butonul drept al mouse-ului si selectnd starea din
meniul propriu.
n starea Stop If True bucla While si va ncheia executia atunci
cnd la terminalul de continuare ajunge valoarea logic True.
n coltul stnga - jos, bucla While dispune de un terminal
numtor (notat cu i) care genereaz o valoare natural reprezentnd
indicele iteraiei curente (aflate n curs de executie). Indicii iteratiilor
sunt numerotati ncepnd cu valoarea 0.
EXERCIIU
Introduceti n diagram o bucl While.
INSTRUMENTAIA VIRTUAL 132
Conectati terminalul unui element de control boolean de tipul
Stop Button la terminalul de continuare al buclei si terminalul unui
element indicator numeric la terminalul numrtor al buclei. Treceti
terminalul de continuare al buclei n starea Stop If True. Introduceti n
bucl o functie de asteptare, astfel nct fiecare iteratie a buclei s se
efectueze n interval de o secund.
Rulati programul si urmriti n panou modificarea indicelui
iteratiei curente. Apsati butonul STOP pentru a ncheia executia buclei
While.
5.6. Regitri de transfer n structuri repetitive
Registrii de transfer sunt componente ale structurilor repetitive
ce pot fi utilizate pentru transferul unor valori ntre dou sau mai
multe iteraii succesive ale structurii. Pentru a aduga un registru de
transfer unei structuri repetitive (bucla For sau While), se selecteaz
optiunea Add Shift Register din meniul propriu al structurii (fig.5.6).
Un registru de transfer contine dou terminale (stng si drept)
dispuse pe conturul structurii. O valoare conectat la terminalul drept al
registrului va "apare" n terminalul stng la iteratia urmtoare.
Cu alte cuvinte, terminalul stng introduce n iteratia curent
valoarea ce a fost transmis la terminalul drept n iteratia anterioar.
La executarea primei iteratii a unei bucle, nu exist nc nici un
transfer efectuat de ctre registru ntre cele dou terminale ale sale.
Terminalul stng al registrului nu a fost nc "alimentat" cu o
valoare din iteratia precedent. Pentru a se putea efectua extragerea unei
valori din terminalul stng la prima iteratie, se conecteaz la acest
terminal o valoare din exteriorul buclei. Se spune c registrul de transfer
se iniializeaz.
Terminalul stng al unui registru de transfer poate fi
dimensionat, cptnd astfel mai multe componente. ntr-o astfel de
situatie, valoarea transferat din iteratia anterioar se afl n componenta
superioar.
De sus n jos, fiecare component contine cte o valoare provenit
dintr-o iteratie mai ndeprtat. Dup executarea ultimei iteratii a buclei,
din terminalul drept al registrului se poate extrage ultima valoare
transferat acestuia.
O structur repetitiv poate contine mai multi registri de transfer,
fiecare cu una sau mai multe componente ale terminalului stng si fiecare
transfernd ntre iteratii valori de diverse tipuri.
LABVIEW 133
Fig.5.6. Registri de transfer n structuri repetitive
EXERCIIU
Introduceti n diagram o bucl While si adugati-i acesteia doi
registri de transfer.
Prin primul dintre registrii transferati o valoare numeric
aleatoare X, iar prin cel de-al doilea o valoare boolean, obtinut ca
rezultat al evalurii expresiei X > 0,5. Initializati cei doi registri de
transfer cu valori corespunztoare.
Dispuneti pe panou elemente indicatoare pentru afisarea valorilor
din iteratia curent si din cea precedent, precum si un buton la a crui
apsare executia buclei While s se ncheie. Introduceti n bucla While o
functie care s determine o asteptare de trei secunde la fiecare iteratie.
Apsati butonul Run, apoi treceti n diagram, apsati butonul
Highlight Execution si urmriti modul n care valorile sunt transferate
ntre iteratii.
INSTRUMENTAIA VIRTUAL 134
TEM
1. S se realizeze un program care s aprind un LED pentru trei
secunde, s-l sting pentru o secund, apoi s repete ciclul pn la
apsarea de ctre utilizator a unui buton STOP.
2. Construiti un program care s simuleze functionarea unui
semafor, aprinznd succesiv cte un LED rosu, galben sau verde.
3. LED-urile rosu si verde vor sta aprinse cte 10 secunde, LED-ul
galben va sta aprins dou secunde. Programul va rula pn la apsarea de
ctre utilizator a unui buton STOP.
4. S se realizeze un program care s numere descresctor de la 20
la zero, la interval de o secund.
5. S se realizeze un program care s numere cresctor, din unu n
unu, la interval de o secund, pn cnd utilizatorul apas un buton
STOP.
6. S se realizeze un program care, n momentul n care utilizatorul
introduce o valoare numeric mai mare dect cinci, s aprind un LED si
s se opreasc.
7. S se realizeze un program care s genereze continuu numere
aleatoare, la interval de 0,5 secunde, pn cnd valoarea generat x
ndeplineste conditia x > 0,97.
8. S se realizeze un program care s afiseze, n milisecunde, timpul
scurs ntre apsrile de ctre utilizator a dou butoane.
9. S se realizeze un program care s permit introducerea de ctre
utilizator a unor valori numerice reale a si b, s astepte apsarea unui
buton OK si apoi s aprind un LED dac este ndeplinit conditia a < b.
10. Realizati un program care s efectueze urmtoarele:
- s afiseze dou numere naturale, generate aleator ntre 1 si 10;
- s astepte pn n momentul n care utilizatorul, dup ce a
introdus intr-un element de control valoarea produsului celor dou
numere, apasa un buton OK;
- s compare valoarea introdus de ctre utilizator cu produsul
calculat al celor dou numere aleatoare si s aprind un LED dac
rspunsul a fost corect;
- dac rspunsul a fost incorect, s afiseze valoarea corect;
- s afiseze timpul necesar utilizatorului pentru a da raspunsul;
- s afiseze numrul total de ntrebri, procentajul rspunsurilor
corecte si timpul mediu de rspuns;
- s ruleze pn la apsarea de ctre utilizator a unui buton STOP.
LABVIEW 135
6. Elementul Waveform Chart
Unui element de tip Chart i se pot trimite n mod succesiv, punct
cu punct, valorile ordonatelor punctelor pe care s le traseze grafic. n
figura alturat, bucla While execut cte o iteratie la fiecare trei secunde
(datorit functiei Wait (ms)). La fiecare iteratie, functia Random
Number (0-1) trimite cte o valoare aleatoare la elementul Chart.
Fig.6.1. Elementul Waveform Chart
Un element de tip Chart consider valorile succesive pe care le
primeste drept ordonate ale punctelor de pe grafic (fig.6.1). Abscisele
punctelor sunt considerate automat cresctoare din unitate n unitate (0
pentru prima valoare primit, 1 pentru a doua s.a.m.d.).
INSTRUMENTAIA VIRTUAL 136
Atunci cnd primeste o nou valoare, un element Chart traseaz
un segment de dreapt din punctul cel mai recent (ultimul de pe grafic)
pn n punctul determinat de nou valoare primit.
Un element Chart accept nu numai valori trimise punct cu punct
(scalare) ci si siruri de valori (Array).
Atunci cnd primeste un sir de valori (considerate de asemenea
tot ordonate ale punctelor), un element Chart adaug la sfrsitul
graficului deja existent nu un singur punct ci un numr de puncte egal cu
numrul de valori din sirul primit.
n figura de mai jos, la fiecare iteratie a buclei While (la fiecare
trei secunde), bucla For genereaz un sir (Array) de sapte valori
aleatoare, sir ce este trimis elementului Chart.
La fiecare trei secunde, la graficul din elementul Chart sunt
adaugate astfel nc sapte puncte.
Dac un element Chart primeste o matrice de valori numerice
(Array cu dou dimensiuni), atunci el va trasa simultan un numr de
grafice egal cu numrul de linii ale matricei.
EXERCIIU
Construiti diagramele din figurile de mai sus si verificati modul
de functionare.
7. Elementul Waveform Graph
Un element de tip Graph nu accept valori individuale (scalare)
ci numai siruri (Array) de valori.
Spre deosebire de elementele Chart, atunci cnd primeste un sir
de valori, elementul Graph sterge graficul pe care l afisase anterior si
afiseaz doar graficul format din noile puncte primite.
LABVIEW 137
Graficul din figura 7.1 se va schimba la fiecare trei secunde.
Valorile afisate anterior se vor pierde.
Un element de tip Graph consider de asemenea valorile
succesive pe care le primeste drept ordonate ale punctelor de pe grafic. n
modul implicit, abscisele punctelor sunt considerate automat cresctoare
din unitate n unitate (0 pentru prima valoare primit, 1 pentru a doua
s.a.m.d.).
Fig.7.1. Elementul Waveform Graph
INSTRUMENTAIA VIRTUAL 138
Elementele de tip Graph permit ns, suplimentar, definirea
abscisei primului punct si a distantei pe orizontala dintre dou puncte
succesive.
n aceast situatie, valorile x
0
si Dx se introduc (printr-o functie
Bundle) ntr-un Cluster mpreun cu sirul de valori ce reprezint
ordonatele punctelor, iar la terminalul elementului Graph se conecteaz
iesirea functiei Bundle (figura de mai jos).
Dac un element Graph primeste o matrice de valori numerice
(Array cu dou dimensiuni), atunci el va trasa simultan un numr de
grafice egal cu numrul de linii ale matricei.
n situatia n care se traseaz mai multe grafice si se doresc
definirea abscisei x
0
a primului punct si a distantei Dx pe orizontala
dintre dou puncte succesive, mrimile respective vor fi aceleasi pentru
toate graficele. n functia Bundle, la cea de a treia intrare se conecteaz
matricea de valori.
EXERCIIU
Construiti diagramele din figurile de mai sus si verificati modul
de functionare.
8. Elementul XY Graph
Un element de tip XY Graph accept la intrare un Cluster
format din dou siruri (Array) de valori (fig.8.1). Primul sir reprezint
abscisele iar cel de-al doilea ordonatele punctelor de pe grafic. Evident,
cele dou siruri trebuie s contin acelasi numr de valori.
LABVIEW 139
Atunci cnd se primeste o astfel de structur de date, graficul
anterior este sters.
n figura de mai jos este prezentat un program pentru trasarea
graficului functiei sinus ntre 0 si 2a prin 101 puncte.
Fig.8.1. Elementul XY Graph
Stabilind c punctele vor fi la distante egale pe orizontal, se
determin nti distanta dx pe abscisa dintre dou puncte succesive,
mprtind la 100 intervalul de trasare, de lungime 2p.
ntr-o bucl For cu numrul de iteratii egal cu numrul de puncte
se determin la fiecare iteratie abscisa unui punct cu relatia si
se calculeaz ordonata .
La iesirea din bucla For, sirurile de valori x
i
si y
i
sunt grupate
ntr-un cluster (cu functia Bundle), iar acesta este trimis la terminalul
elementului XY Graph.
INSTRUMENTAIA VIRTUAL 140
Dac se doreste trasarea simultan a mai multor grafice:
se construieste pentru fiecare grafic cte un Cluster
format din dou Array-uri (unul pentru abscisele si altul pentru
ordonatele punctelor);
iesirile functiilor Bundle se conecteaz la o functie Build
Array;
iesirea functiei Build Array se conecteaz la terminalul
elementului XY Graph.
EXERCIIU
Construiti diagramele din figurile de mai sus si verificati modul
de functionare.
Opiuni specifice elementelor pentru reprezentri grafice
n meniul propriu al elementelor pentru reprezentri grafice,
submeniul Visible Items contine o serie de optiuni pentru afisarea unor
componente specifice (fig.8.2).
LABVIEW 141
Optiunea Plot Legend afiseaz o legend ce poate fi pozitionat
independent sau dimensionat pentru a avea un numr de pozitii egal cu
numrul de grafice reprezentate.
Numele graficelor (initial Plot 0, Plot 1 s.a.m.d.) pot fi modificate
cu ajutorul uneltei de editare a textelor.
Apsnd butonul drept al mouse-ului atunci cnd cursorul este
pozitionat deasupra unui grafic din legend, se deschide un meniu
propriu din care pot fi configurate optiuni de afisare ale graficului
respectiv: culoare, tip si grosime de linie etc.
Fig.8.2. Optiuni specifice
Optiunea Scale Legend afiseaz o component ce permite
configurarea modului n care sunt afisate scalele elementului de
reprezentare grafic: eticheta scalei, format si precizie de reprezentare,
vizibilitatea scalei sau a etichetei acesteia, culoarea caroiajului.
Pentru fiecare scal sunt disponibile:
un buton (notat cu X sau Y) la a crui apsare se
realizeaz o autoscalare pe directia respective,
un buton (marcat cu un lact) care, atunci cnd este
apsat, mentine continuu autoscalarea pe directia
corespunztoare.
Optiunea Graph Palette afiseaz o component cu unelte ce
permit:
INSTRUMENTAIA VIRTUAL 142
deplasarea graficelor n interiorul elementului (butonul cu
manuta),
deschiderea unui submeniu cu unelte pentru mrire sau
micsorare static pe diverse directii sau dinamic.
Optiunile X Scale si Y Scale din meniul propriu permit
configurarea unor parametri ai modului de afisare a scalelor.
LABVIEW 143
TEMA
1. Realizati un program n care, ntr-un element de tip Chart, s fie
trasate dou grafice cu valori aleatoare (unul ntre 0 si 1, cellalt
ntre 2 si 3).
2. Afisati componentele Plot Legend, Scale Legend si Graph
Palette ale elementului de tip Chart.
3. Modificati modurile n care sunt afisate cele dou grafice
(culoare, tip si grosime de linie, stilul punctelor).
4. Afisati graficele sub form de histograme.
5. Modificati modul de interpolare al graficelor.
6. Umpleti zona de sub un grafic sau zona dintre cele dou grafice.
7. Modificati etichetele scalelor.
8. Autoscalati graficul pe axa Y.
9. Modificati formatul si precizia de reprezentare a valorilor de pe
cele dou scale.
10. Afisati un caroiaj rosu.
11. Exersati lucrul cu uneltele de mrire sau micsorare a imaginii din
componenta Graph Palette.
12. Exersati configurarea unor parametri ai modului de afisare a
scalelor (optiunile X Scale si Y Scale din meniul propriu al
elementului de tip Chart).
Optiuni specifice elementelor de tip Chart
n submeniul Visible Items al elementelor de tip Chart exist
cteva optiuni specifice acestor elemente (fig.8.3).
Optiunea Digital Display conduce la afisarea unui numr de
elemente indicatoare pentru valori numerice egal cu numrul de pozitii
ale legendei. Valoarea afisat de ctre fiecare element indicator este cea a
ultimului punct de pe graficul corespunztor.
Optiunea Scrollbar conduce la afisarea unei bare de defilare ce
permite deplasarea pe directie orizontal a graficelor afisate.
Selectarea din meniul propriu al elementului Chart a optiunii
Transpose Array realizeaz transpunerea matricei de valori, astfel nct
nu se mai traseaz cte un grafic pentru fiecare linie ci cte unul pentru
fiecare coloan.
n cazul afisrii mai multor grafice, optiunea Stack Plots mparte
zona de afisare n mai multe portiuni distincte, cte una pentru fiecare
grafic, cu scale separate pe axa Y.
INSTRUMENTAIA VIRTUAL 144
Optiunea Chart History Length...permite s se stabileasc
numrul de valori ce pot fi stocate n "memoria intern" a elementului
Chart (implicit 1024).
Fig.8.3. Optiuni specifice elementelor de tip Chart
LABVIEW 145
Dac unui element Chart i se trimit mai multe valori dect acest
numr, valorile cele mai vechi se pierd si nu mai sunt vizibile la o
eventual "defilare" a graficului.
EXERCIII
Pentru elementul de tip Chart din exercitiul anterior:
afisati display-urile digitale si bara de defilare;
defilati graficul cu ajutorul barei;
mprtiti zona de afisare a elementului Chart n dou
portiuni distincte.
Opiuni specifice elementelor de tip Graph i XY Graph
n submeniul Visible Items al elementelor de tip Waveform
Graph sau XY Graph, optiunea Cursor Legend determin afisarea unei
componente prin intermediul creia utilizatorul poate afisa si manipula
unul sau mai multe cursoare (fig.8.4).
Componenta Cursor Legend este format dintr-o lista de
cursoare si un element pentru comanda deplasrii cursorului.
Fig.8.4. Optiuni specifice
n lista de cursoare (initial cu dou linii vide), fiecrei linii i
corespunde un cursor. Lista poate fi dimensionat.
Pentru a aduga un nou cursor, este suficient s se introduc un
nume al acestuia sau s se apese oricare din cele trei butoane de pe linia
corespunztoare.
INSTRUMENTAIA VIRTUAL 146
O linie corespunztoare unui cursor contine, n partea sa stng,
un element pentru numele cursorului si dou elemente pentru
coordonatele X si Y ale acestuia.
n partea sa dreapt, fiecare linie corespunztoare unui cursor
contine trei butoane:
un buton pentru activarea elementului de comand a
deplasrii: dac acest buton are LED-ul propiu aprins, atunci
cursorul poate fi deplasat apsnd pe unul din cele patru butoane
romboidale ale elementului pentru comanda deplasrii cursorului.
Daca LED-ul butonului este stins, elementul de comand nu este
activ.
un buton pentru configurarea caracteristicilor cursorului
(culoare, stil, form punctului central, stilul si grosimea firelor
reticulare s.a.m.d.)
un buton prin care se activeaz sau nu posibilitatea de
deplasare a cursorului cu unealta de operare (Allow Drag), se
"leag" cursorul de un anumit grafic (Lock to plot) sau de
punctele acestuia (Snap to point) sau se las cursorul liber (Free).
Pentru a sterge un cursor sau a insera un nou cursor ntr-o anumit
pozitie, din meniul propriu al paletei de cursoare, submeniul Data
Operations, se aleg optiunile Delete Element sau Insert Element
Before.
Dac un cursor are optiunea Allow Drag activat, el va putea fi
deplasat cu unealta de operare dac butonul din stnga al componentei
Graph Palette este activat (are LED-ul aprins). Deplasarea se poate
efectua fie "trgnd" de punctul central al cursorului, fie de unul dintre
firele reticulare.
LABVIEW 147
Elementele pentru nume si coordonate, precum si butoanele, pot
fi dimensionate. Elementele pentru nume si coordonate posed meniuri
proprii individuale.
EXERCIII
1. Realizati un program n care, ntr-un element de tip Waveform
Graph, s fie trasate dou grafice cu valori aleatoare (unul ntre 0 si 1,
cellalt ntre 2 si 3).
2. Afisati lista de cursoare si definiti un cursor.
3. Modificati caracteristicile cursorului (culoare, stil, form
punctului central, stilul si grosimea firelor reticulare s.a.m.d.)
4. Deplasati cursorul cu ajutorul elementului de comand a
deplasrii, nti n starea liber, apoi "legat" de unul dintre grafice.
5. Deplasati cursorul cu unealta de operare, "trgnd" de intersectia
firelor reticulare, nti n starea liber, apoi "legat" de unul dintre grafice.
6. Afisati coordonatele X si Y ale cursorului cu o singur zecimal.
INSTRUMENTAIA VIRTUAL 148
Aplicatii
1. Simularea unui subsistem de control al unui
manipulator industrial
Manipulatorul real este echipat cu un traductor pentru msurarea
n coordonate absolute a pozitiei sale pe directie orizontal.
n deplasarea pe directie vertical, un manipulator trece pe lng
patru senzori de pozitie, dintre care doi sunt dispusi la capetele cursei
respective.
Fiecare manipulator dispune de asemenea de doi senzori de
coliziune montati pe extremittile sale si de un senzor pentru sesizarea
faptului c n baia de tratare deasupra creia se afl manipulatorul se
gseste deja o sarj.
Aplicatia const din dou instrumente virtuale, rulnd pe
computere diferite, fiecare echipat cu cte o plac multifunctional
pentru achizitie de date.
Main.vi contine panoul de comand prin software a
manipulatorului (accesibil utilizatorului).
Simulator.vi reprezint panoul de comand hardware si afiseaz
parametrii de stare si de pozitie ai manipulatorului simulat.
LABVIEW 149
2. Simularea sistemului de automatizare al unui cuptor de
tratament termic.
Sistemul prezentat este un sistem de monitorizare si control
automat al temperaturii realizat cu PC (CNIV 2004- Ioan Lita, Ion
Bogdan Cioc, Rodica Mihaela Teodorescu, Universitatea din Pitesti,
Catedra de Electronic si Calculatoare, Email: lita@upit.ro).
Reglarea automat a temperaturii este realizat de calculator prin
intermediul aplicatiei software, care ndeplineste si functia de regulator
automat tripozitional.
Schema bloc a sistemului este prezentat n figura de mai jos.
INSTRUMENTAIA VIRTUAL 150
Pentru msurarea temperaturii n puncte situate la distant fat de
calculatorul de proces, se foloseste un modul de achizitie de date
independent I-7012F, situat aproape de locul n care se face msurarea.
Modulul I-7012F contine un convertor analog-numeric pe 16 biti,
are 1 intrare analogical diferential, o intrare digital si dou iesiri
digitale, iar comunicatia se realizeaz pe o interfat RS-485 ce asigur o
vitez de comunicare de pn la 115,2 Kbps.
Partea soft a aplicatiei este realizat n LabVIEW 6.1 si permite
monitorizarea temperaturii ntr-o incint prin msurarea temperaturii
curente, reprezentarea grafic a evolutiei temperaturii din incint
respective si salvarea datelor ntr-un fisier pe harddisk.
LABVIEW 151
Valoarea temperaturii msurate este comparat continuu cu dou
limite prestabilite, iar n cazul depsirii acestor limite se comand
pornirea unor instalatii de rcire sau de nclzire.
Limitele respective sunt stabilite de ctre operator prin
intermediul interfetei aplicatiei si se pot modifica oricnd n timpul
executiei programului. Dac temperatura se ncadreaz ntre limitele
stabilite, cele dou semnale de comand sunt inactive, ceea ce nseamn
c nici una din instalatii nu este pornit.
n momentul n care nivelul temperaturii nu se mai ncadreaz n
limitele impuse, se activeaz una din cele dou iesiri digitale ale plcii.
Controlul iesirilor digitale precum si a citirii valorii aplicate la intrarea
analogic a plcii se face prin trimiterea unor cuvinte de comand n
format sir de caractere. Comunicarea si controlul modulului I-7012F se
face cu ajutorul subinstrumentului virtual I-7012, care este prezentat mai
jos. Aceste cuvinte de comand (sir de caractere) ncep cu un caracter
special ce identific tipul de comand, care este urmat de adresa
modulului si de comanda propriu-zis.
INSTRUMENTAIA VIRTUAL 152
3. Achiziia i nregistrarea datelor pentru msurarea
momentelor de frecare i de frnare n rulmenii testai la gripare.
Panoul frontal si panoul diagram sunt prezentate mai jos:
LABVIEW 153
4. Determinarea experimental a constantei elastice a unui
resort. Medoda echilibrului.
Pentru determinartea constantei elastice a unui resort au fost
proiectate aplicatii ce prezint metode experimentale diferite.
1. Aceast aplicatie propune metoda echilibrului, utilizatorul
msurand deformarea resortului pentru corpuri de mase diferite.
Valorile obtinute se introduc n tablourile datelor experimentale,
graficul aplicatiei afisnd att punctele experimentale, ct si curba ce
descrie dependenta deformrii resortului de valoarea fortei deformatoare
(prelucrarea apeleaz metoda celor mai mici ptrate).
Utilizatorul va folosi cursorul diagramei pentru a determina panta
dreptei, apoi va introduce formula de calcul prin care se determin
valoarea constantei elastice a resortului. Sectiunea Demo prezint curba
teoretic, precum si solutia problemei propuse.
2. Aplicatia prezint dou metode experimentale pentru
determinarea constantei elastice a unui resort.
Utilizatorul va scoate sistemul din configuratia de echilibru si va
determina experimental perioada oscilatiilor:
pentru prima metod propus aceast valoare va fi determinat din
graficul y(t).
pentru cea de a doua metod se va msura timpul necesar
efecturii unui anumit numr de oscilatii.
INSTRUMENTAIA VIRTUAL 154
Folosind apoi expresia perioadei oscilatorului armonic se va
calcula valoarea constantei elastice a resortului.
LABVIEW 155
BIBLIOGRAFIE
1. Bujoreanu, C., Drgan, B., Monitoring and diagnostic aspects
concerning bearings scuffing failure, Bul. IPI, tom LII(LVI), fasc.
6A, seria Constructii de Masini, p.103-108, ISSN 1011-2855, 2006
2. Bujoreanu, C., Cretu, Sp., Drgan, B., Data acquisition and signal
processing in scuffing failure of ball bearings, Revista de
Mecatronica, nr.4, Proc. of COMEFIM 7, p.205-210, 2004
3. Chen, M. H. .a. Active control of gear vibration using specially
configured sensors and actuators , Mater. Struct. 9, p.342350, 2000
4. Cottet, F., Ciobanu, O., Bazele Programarii in LabVIEW, Ed.
Matrix Rom Bucuresti, 1998
5. Drgan, B., Achizitia i procesarea semnalului vibroacustic, Ed.
Politehnium Iasi, 2004
6. Maier, V., Maier, C.D., LabVIEW in Calitatea Energiei Electrice,
Editura Albastra Cluj-Napoca, 2000
7. Stefanescu, C., Cupcea, N., Sisteme inteligente de masura i control,
Editura Albastra Cluj-Napoca, 2002
8. ***LabVIEW- Data Acquisition/Course Manual/Users Guide, vol.I-
IV, april 1994 Edition.
9. ***LabVIEW, The Measurement and Automation, Catalog, 2004
10. ***LabVIEW - Graphical Programming for Instrumentation,
National Instruments, 1996.
11. www.ni.com
12. www.ctnam.pub.ro/clublv.htm
13. www.ctnam.pub.ro/~savu

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