În timpul lucrului, programatorul
are deseori nevoie de informaţii privind sintaxa de utilizare a elementelor
din diagrama bloc, iar LabVIEW i le oferă într-un mod foarte intuitiv,
prin intermediul meniului Help contextual.
Astfel, selectarea din meniul Help
a comenzii Show Context Help conduce la deschiderea unei ferestre în care sunt
afişate un minim de informaţii referitoare la funcţia corespunzătoare
simbolului deasupra căruia este poziţionat cursorul mouse-ului. De
asemenea, atunci când utilizatorul deschide paleta de funcţii şi
navighează prin subpaletele acesteia, în fereastra Context Help apar
aceste informaţii (Figura 1).
Fig. 1. Afişarea de
informaţii referitoare la un element din Paleta de funcţii
Dacă un simbol de
funcţie a fost deja dispus în diagramă iar cursorul mouse-ului este
poziţionat deasupra acestuia, în fereastra Context Help apar informaţii
referitoare la funcţia respectivă (Figura 2).
Fig. 2. Afişarea
informaţiilor referitoare la un simbol de funcţie
Se recomandă utilizatorilor,
care vin prima oară în contact cu mediul de programare LabVIEW, să
navigheze prin întreaga structură a paletei de funcţii, având fereastra
Context Help deschisă şi să observe modul în care informaţiile
afişate se modifică atunci când cursorul mouse-ului trece pe deasupra
diverselor simboluri de funcţii.
Paleta de funcţii conţine
numeroase funcţii grupate pe categorii, în subpalete, dintre care cele mai
importante şi des utilizate, în lucrul curent, sunt: Numeric, Boolean,
String, Array, Comparison, Mathematics etc.
În subpaleta Numeric
se află funcţiile pentru valori numerice în care se remarcă o
primă categorie, dedicată funcţiilor aritmetice simple: adunare
(Add), scădere (Subtract), înmulţire (Multiply), împărţire
(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), generator de numere aleatoare între 0 şi 1 (Random
Number 0-1), rădăcina pătrată (Square Root), compunere
aritmetică (Compound Arithmetic), schimbare de semn (Negate), produsul
dintre o valoare x şi o putere a lui 2 (Scale By Power Of 2), inversare (Reciprocal)
etc., aşa cum se observă în Figura 3.
Fig. 3. Funcţiile
grupate în subpaleta Numeric
De asemenea, tot în subpaleta Numeric
se află elementul Numeric Constant (constantă numerică), care,
la momentul inserării în diagramă, capătă implicit valoarea
0 şi intră în modul de editare, invitând utilizatorul să
introducă valoarea numerică dorită.
Dintre funcţiile
pentru valori booleene, grupate în subpaleta Boolean (Figura 4), se
remarcă funcţiile logice simple Şi (And), Sau (Or), Sau Exclusiv
(Exclusive Or), Negare (Not), Şi Negat (Not And), Sau Negat (Not Or), Sau Negat
Exclusiv (Not Exclusive Or), Implică (Implies) etc. Subpaleta Boolean conţine
şi cele două constante logice: Adevărat (True) şi Fals (False).
Fig. 4. Funcţiile
grupate în subpaleta Boolean
Funcţiile pentru
valorile alfanumerice sunt grupate în subpaleta String (Figura 5) a paletei de funcţii. Mai frecvent utilizate
sunt cele pentru transformarea caracterelor în majuscule (To Upper Case),
pentru transformarea caracterelor în minuscule (To Lower Case), de calculare a
lungimii unui şir de caractere (String Length), de compunere a unui
şir din două şiruri distincte (Concatenate String), de
identificare şi înlocuire a unui şir în cadrul altuia (Search and
Replace String) etc.
Fig. 5. Funcţiile
grupate în subpaleta String
De asemenea, subpaleta
String conţine un element String Constant utilizat pentru introducerea în
diagramă a valorilor alfanumerice constante.
În LabVIEW,
programarea unui instrument virtual are ca punct de pornire dispunerea în
diagrama bloc a funcţiilor şi elementelor necesare rezolvării
unei probleme şi se continuă prin realizarea legăturilor între
acestea şi stabilirea fluxului de date.
Dispunerea unei funcţii în diagramă începe cu
selectarea simbolului corespunzător din paleta de funcţii, apoi se
deplasează cursorul mouse-ului până în poziţia din diagramă
în care se doreşte plasarea sa. Atât timp cât este deplasat cu mouse-ul,
simbolul funcţiei va fi reprezentat împreună cu terminalele corespunzătoare
datelor proprii de intrare şi de iesire. Dacă în timpul deplasării
simbolul funcţiei trece suficient de aproape de un terminal sau de o zonă
a fluxului de date la care se poate efectua o legătură, la eliberarea
butonului mouse-ului, aceasta este stabilită automat.
Fig. 6. Dispunerea
unei funcţii în diagramă
Realizarea unei legături între două componente ale
diagramei se efectuează cu ajutorul uneltei de conectare (Connect Wire). Ordinea
în care se selectează cele două componente (sursa şi destinaţia)
nu este importantă, legătura putând fi realizată în orice sens,
deoarece mediul de programare LabVIEW identifică automat sursa şi
destinaţia, stabilind sensul de circulaţie al datelor.
Se deplasează cursorul
mouse-ului, transformat în unealta de conectare, deasupra primei componente care
începe să clipească şi se face click, stabilind primul
capăt al legăturii. Din acest moment, dacă mouse-ul este
deplasat, pe ecran va apare, în timp real, imaginea unui fir cu un capăt
fixat de prima componentă şi cu un capăt legat de cursorul
mouse-ului (Figura 7).
Se deplasează cursorul
mouse-ului deasupra celei de-a doua componente care începe, la rândul său,
să clipească şi se face click, fixând, astfel, al doilea capăt
al firului de această componentă.
Fig. 7. Realizarea
legăturilor între componente
În cazul unei legături
efectuate corect, aceasta va fi afişată în culoarea corespunzătoare
tipului de date ce vor circula prin zona respectivă a fluxului de date. În
caz contrar, când legătura este incorectă, aceasta va fi afişată
cu culoarea neagră şi întreruptă.
Fluxul de date este format din
totalitatea legăturilor ce conectează diversele terminale de
elemente, simboluri de funcţii sau proceduri şi structuri de
programare din cadrul diagramei. Fluxul de date reprezintă
grafic algoritmul (Figura 8) după care aplicaţia prelucrează datele de intrare pentru a le
calcula pe cele de ieşire. Traseele ce formează fluxul de date pot fi
simple (o sursă şi o destinaţie) sau ramificate (o sursă şi
mai multe destinaţii).
Fig. 8. Traseele
fluxului de date
Indiferent de modul
sau sensul în care traseele sunt dispuse pe diagramă, circulaţia
datelor în cadrul fluxului se efectuează numai de la surse către
destinaţii.
Prin sursă
se înţelege, spre exemplu, terminalul unui element de control, simbolul
unei constante sau zona de ieşire a unei funcţii sau proceduri. O destinaţie
poate fi terminalul unui element indicator sau zona de intrare a unei funcţii
sau proceduri.
Odată ce programarea
instrumentului virtual a fost încheiată, acesta poate fi rulat, atât
pentru depistarea eventualelor erori, cât, mai ales, pentru a-l utiliza în
conformitate cu scopul pentru care a fost realizat.
Pe barele de butoane ale panoului şi
diagramei se află o serie de elemente (Figura 9) ce stabilesc modul de
rulare al unui program.
Fig. 9. Elementele de rulare ale programului
Apăsarea butonului Run
conduce la rularea o singură dată a programului, fiind parcurs întreg
fluxul de date din diagramă, apoi programul se va opri. În timpul rulării,
butonul Run îşi schimbă aspectul şi se aprinde un buton roşu,
Abort execution, iar apăsarea sa va determina întreruperea rulării
programului. Apăsarea butonului Run Continuously conduce la rularea
repetată, fără oprire, a programului. Întreruperea rulării continue
are loc numai la comanda utilizatorului, prin apăsarea butonului Abort
execution. Indiferent de modul de rulare, utilizatorul are posibilitatea de a o
suspenda prin apăsarea butonului Pause. În plus, în orice mod de rulare,
prin apăsarea butonului Highlight Execution, utilizatorul va urmări o
animaţie ce sugerează deplasarea valorilor prin fluxul de date.
În momentul în care o valoare părăseşte
o componentă a diagramei ce este o sursă a unei legături,
valoarea respectivă va fi afişată în diagramă.