Sunteți pe pagina 1din 10

LUCRAREA NR.

Descrierea ferestrei Diagram. Meniul Functions

1. Fereastra program (Diagram)

Fereastra Diagram a unui Instrument Virtual (VI) este de fapt


programul propriu-zis al aplicaţiei. Într-o fereastră diagramă se
construiesc diagramele bloc ale VI. Diagramele bloc sunt compuse din
noduri, terminale şi conexiuni (fire de legătură). Nodurile sunt
elementele de execuţie ale programului (operatori, funcţii, structuri).
Ele sunt analoage declaraţiilor de variabile, operatorilor, funcţiilor şi
subrutinelor din limbajele de programare convenţionale. Pentru
afişarea terminalelor, pentru o funcţie sau un VI, se selectează
opţiunea Show Terminals din meniul aparent al simbolului. Firele de
legătură sunt căile între intrări şi ieşiri.
După plasarea simbolurilor controalelor şi indicatoarelor pe
panoul frontal, în fereastra diagramă vom avea imaginile acestor
controale/indicatoare sub forma unor cadre (cu chenar îngroşat pentru
controale şi cu chenar subţire pentru indicatoare) în care este trecut
tipul datelor respective. Scrierea efectivă a unui program LabVIEW
constă în introducerea operatorilor, funcţiilor şi structurilor în
fereastra diagramă şi construirea fluxului de date de la intrare la
ieşire prin conexiuni corespunzătoare.
Modul de realizare a diagramei este familiar specialiştilor în
automatică deoarece se aseamănă foarte mult cu modul în care se
realizează o schemă bloc. Nodurile au rolul blocurilor componente ale
schemei şi se aleg din meniul Functions. Legăturile de date specifice
aplicaţiei se realizează folosind instrumentul de cablare Connect Wire
din meniul Tools.

Terminale
LabVIEW conţine multe tipuri de terminale. În general, un
terminal este orice punct căruia i se poate ataşa un fir. LabVIEW are
terminale pentru controale şi indicatoare, terminale pentru noduri,
terminale pentru constante şi terminale speciale pentru structuri.

63
Terminalele care furnizează date, cum sunt terminalele controalelor
din panoul frontal, terminalele de ieşire ale nodurilor şi constantele,
sunt numite şi terminale sursă. Celelalte sunt numite şi terminale
destinaţie deoarece recepţionează date.
Valorile sunt introduse în controalele din panoul frontal şi
când se execută VI-ul terminalele controalelor trec aceste valori
diagramei bloc.
Când VI-ul termină execuţia, datele de ieşire trec din
diagrama bloc în panoul frontal prin intermediul terminalelor
indicatorilor.
Deoarece un terminal aparţine controlului sau indicatorului
corespunzător, acesta nu poate fi copiat sau şters. LabVIEW creează
sau şterge în mod automat terminalele când este creat sau şters un
control sau un indicator de pe panoul frontal. Constantele sunt
terminale din diagrama bloc ce furnizează valori direct diagramei
bloc. Valoarea unei constante poate fi setată înaintea execuţiei
programului, dar nu poate fi modificată în timpul rulării programului.
Constantele universale au valori fixe. Aceste constante sunt accesibile
din meniul Functions.

Funcţii
Funcţiile sunt noduri elementare construite în LabVIEW ce
execută operaţii elementare cum ar fi adunarea numerelor, operaţii
intrare-ieşire şi prelucrarea şirurilor. Funcţiile din LabVIEW nu au
panou frontal sau diagramă bloc. La compilare ele generează inline un
cod maşină.
Când, din meniul Functions, este selectată o funcţie, în
diagramă apare simbolul ei. Pentru a vedea cum trebuie conectată
funcţia respectivă se poate utiliza help-ul, sau, din meniul aparent se
selectează opţiunea Show Terminals pentru a vedea cu exactitate unde
sunt localizate terminalele.
Anumite funcţii pentru tablouri şi grupuri au număr variabil
de terminale. Numărul de terminale poate fi modificat prin
redimensionarea simbolului corespunzător folosind instrumentul de
redimensionare.
Numărul de terminale poate fi modificat folosind şi comenzile
Add şi Remove ale meniului aparent al terminalelor.
În paragraful 2 va fi prezentată in extenso lista funcţiilor din
meniul Functions.

64
Noduri de tip SubVI
Dacă se proiectează simbolul şi conectorii pentru un VI,
acesta poate fi apelat ca un SubVI în diagrama altui VI. Atât simbolul
cât şi conectorii unui VI se pot prezenta în aceeaşi manieră ca şi
pentru funcţii. Un SubVI este similar unei subrutine. O diagramă bloc
care conţine câteva noduri SubVI identice apelează acest SubVI de
câteva ori.
SubVI-urile combină avantajele subrutinelor şi VI-urilor,
separând task-urile şi împărţind problemele complexe în unităţi
simple. Un VI nu poate fi folosit iterativ, adică un VI nu poate fi
propriul lui SubVI.
Dacă un terminal nu este conectat, SubVI-ul utilizează
valoarea implicită pentru controlul respectiv, aşa cum a fost definit
când a fost creat acel VI. Orice modificare într-un SubVI afectează
doar versiunea prezentă în memorie până la salvare programului.

Structuri (de programare)


În timpul programării, anumite seturi de instrucţiuni trebuie
repetate de un anumit număr de ori sau până la îndeplinirea unei
anumite condiţii. LabVIEW conţine 4 noduri speciale numite structuri
care sunt utilizate în astfel de situaţii.
Fiecare structură are un domeniu distinct, ce poate fi
redimensionată şi în interiorul căruia sunt cuprinse instrucţiunile ce se
execută după regulile specifice structurii respective. De exemplu,
diagrama cuprinsă în interiorul unei structuri de tip buclă FOR se
execută de un anumit număr de ori.
Din acest motiv, diagrama din interiorul unei structuri se
numeşte subdiagramă. În afara buclei FOR, LabVIEW are structuri de
tip buclă WHILE care repetă execuţia unei subdiagrame până când o
condiţie devine falsă, structuri CASE care au subdiagrame multiple din
care dacă se îndeplineşte o anumită condiţie se execută numai una şi
structuri de tip SEQUENCE (secvenţă) care execută instrucţiunile într-
o anumită ordine. Deoarece structurile sunt noduri, ele au terminale
care le conectează la alte noduri. De regulă, terminalele ce vehiculează
date către şi dinspre structuri se numesc tuneluri.
Toate aceste tipuri de structuri vot fi prezentate şi studiate
într-o lucrare viitoare.

65
2. Meniul Functions
Meniul Functions permite accesul la operatorii, funcţiile şi
structurile de calcul necesare ferestrei Diagram. Meniul Functions
permite utilizarea unor VI existente sau crearea unor VI-uri noi.
Meniul Functions (Fig. 1) are următoarele submeniuri:
- Structures – structuri de programare
- Numeric – funcţii aritmetice
- Boolean – funcţii booleene
- String – funcţii pentru şiruri de caractere
- Array – funcţii pentru prelucrarea tablourilor (vectori,
matrice)
- Cluster – funcţii pentru prelucrarea grupurilor
- Comparison – funcţii de comparaţie
- Time & Dialog – controlul dialogurilor şi al timpilor
- File I/O – controlul fişierelor
- Communication – funcţii de comunicaţii de date
- Instrument I/O – instrumente intrare/ieşire
- Data Acquisition – achiziţii de date
- Analysis – analiza şi prelucrarea semnalelor
- Tutorial - exemple de aplicaţii
- Advanced – programare avansată
- Instrument Drivers – instrumente LabVIEW avansate
- User Libraries – biblioteci utilizator
- Select a VI – selectare VI

Fig. 1. Meniul Functions

66
Câteva dintre aceste submeniuri şi funcţiile corespunzătoare
vor fi discutate în continuare.
Structurile de programare pot fi selectate din submeniul
Structures. Aceste structuri au fost enumerate în primul paragraf şi vor
fi tratate detaliat ulterior. În Fig. 2 sunt prezentate simbolurile grafice
din submeniul Structures.
În submeniul Numeric (Fig. 3) sunt grupate mai multe funcţii
aritmetice, plus 5 submeniuri de funcţii (Conversion, Trigonometric,
Logarithmic, Complex, Additional Numeric Constants).

Fig. 2. Submeniul Structures

Fig. 3. Submeniul Numeric

67
Semnificaţiile simbolurilor grafice din submeniul Numeric
sunt prezentate în Tabelul 1.

Tabelul 1.
Sumă (sumator) Valoare absolută

Diferenţă Rotunjire la cel mai


apropiat întreg
Produs Rotunjire la -infinit

Împărţire Rotunjire la + infinit

Cât / Rest Numere aleatoare între 0


şi 1
Conversie de date Funcţii logaritmice

Incrementare cu 1 Radical

Decrementare cu 1 Negare (x cu minus)

Însumează elementele Scalare cu 2n


unei matrice
Înmulţeşte elementele Funcţia semn (signum)
unei matrice
Operaţii compuse Inversul numărului

Funcţii trigonometrice Funcţii cu numere


complexe
Constantă numerică Constantă "semnal"
Enumerare Constante numerice
adiţionale

În submeniul Boolean sunt plasate simbolurile grafice pentru


funcţiile booleene, atât pentru variabile scalare cât şi pentru prelucrări
de tip tablou: And, Or, Not, Or, Exclusive Or, Implies, And Array
Elements etc. (Fig. 4).

68
Fig. 4. Submeniul Boolean

Submeniul String conţine simbolurile corespunzătoare


funcţiilor pentru şiruri de caractere (Fig. 5). Acest submeniu conţine şi
două submeniuri suplimentare: Additional String to Number Functions
şi Conversion.

Fig. 5. Submeniul String

69
Un submeniu des utilizat în programarea sub LabVIEW este
Array care conţine funcţii pentru prelucrarea tablourilor. Elementele
acestui meniu sunt funcţii de prelucrare a structurilor de date de tip
tablou: vectori, matrice şi tablouri multidimensionale.

Fig. 6. Submeniul Array


Meniul Cluster conţine funcţii pentru prelucrarea grupurilor,
precum şi elemente de realizare a conversiilor tablou/grup şi
grup/tablou (care apar de altfel şi în submeniul Array).

Fig. 7. Submeniul Cluster

70
Meniul Comparison are în componenţă funcţii de comparaţie
(Fig. 8).

Fig. 8.

Fig. 9. Submeniul Data Acquisition

71
Din submeniurile meniului Functions mai prezentăm aici
submeniul Data Acquisition (Fig. 9), cu funcţii utile pentru achiziţia
de date care vor fi tratate pe larg într-o lucrare ulterioară, şi submeniul
Analysis, cu o serie de funcţii de analiză şi prelucrare a semnalelor
(Fig. 10).

Fig. 10. Meniul Analysis cu diverse submeniuri


3. Temă de laborator
3.1. Să se baleieze meniul Functions al ferestrei Diagram.
3.2. Să se utilizeze submeniul Numeric pentru elaborarea unui
program LabVIEW care să calculeze expresia
y = a*sin(x1) + b*cos(π*x1) – ln(10)*exp(x1+x2)
3.3. Să se utilizeze submeniul Boolean pentru evaluarea
următoarelor expresii booleene:
D = ( A∧ B )∨( B ∧C ) ; D = ( A xor B ) ∧ ( B ∨ C )
unde A, B, C pot lua toate combinaţiile posibile.
3.4. Să se introducă un şir de caractere format din trei cuvinte
care va fi descompus în cuvinte şi să se afişeze aceste cuvinte pe
panoul frontal (se va utiliza submeniul String).
3.5. Să se conceapă programe simple care operează cu tablouri
şi grupuri (submeniurile Array şi Cluster).

72

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