D.5.1 Introducere

D.5.2 Câteva concepte cheie

D.5.3 Lucrul cu LabVIEW

LabVIEW sau Laboratory Virtual Engineering Workbench este un produs al corporației National Instruments. Este un mediu de dezvoltare software pentru achiziție de date, controlul instrumentelor, achiziție de imagini, controlul mișcării și prezentare. LabVIEW este un mediu grafic compatibil, care permite utilizatorului să creeze grafic programe prin pictograme legate similar cu crearea unei diagrame de flux (flowchart). Spre deosebire de limbaje de programare bazate pe text, unde instrucțiunile determină execuția programului, LabVIEW folosește programarea fluxului de date unde fluxul de date determină ordinea de execuție.

* Pentru detalii, consultați Manualul de utilizare LabVIEW Glosar și Ghid de referință pentru programare G, care sunt disponibile online la http://www.ni.com/pdf/manuals/320999b.pdf și http://www.ni.com/pdf/manuals/321296b.pdf, respectiv.

D.5.1 Introducere

Programele LabVIEW, numite instrumente virtuale (VI-uri), utilizează pictograme (icon) pentru a reprezenta subrutinele. Este similar cu codurile de diagramă de flux. Mediul de dezvoltare LabVIEW utilizează limbajul grafic de programare G.

D.5.2 Câteva concepte cheie

Diagrama bloc: o diagramă bloc este o descriere sau o reprezentare pictorială a unui program sau algoritm. Într-un program G, diagrama bloc constă din pictograme executabile numite noduri și fire care transportă date între noduri.

Programare G: G este un limbaj comod de programare a fluxului de date pe care se bazează LabVIEW. G simplifică calculul științific, monitorizarea și controlul proceselor și aplicațiile de testare și măsurare.

Control: controlul este un obiect de pe panoul frontal, cum ar fi un potențiometru, un push-buton sau disc pentru introducerea datelor la un VI în mod interactiv sau prin programare.

Terminal de control: terminalul controlului este conectat la un control de pe panoul frontal, prin care datele de intrare de la panoul frontal trec la diagrama bloc.

Panou frontal: Panoul frontal este o interfață interactivă cu utilizatorul a unui VI. Aspectul panoului frontal imită instrumente fizice, cum ar fi osciloscoape și multimetre.

Indicator: Indicatorul este un obiect al panoului frontal care afișează ieșirea, cum ar fi un grafic sau comutarea ON a unui LED.

Waveform chart : Un grafic al formei de undă este un indicator care trasează punctele de date la un anumit ritm.

While loop: Bucla While este o structură de buclă care repetă o secțiune de cod până la îndeplinirea unei condiții date. Este comparabilă cu o buclă Do sau cu Repeat-Until în limbajele de programare convenționale.

Wire: Firul este o cale de date între noduri.

D.5.3 Lucrul cu LabVIEW

Ca sistem centrat pe software, LabVIEW se află într-un computer desktop, laptop sau PXI ca o aplicație unde acționează ca un set de VI-uri care oferă funcționalitatea instrumentelor hardware tradiționale, cum ar fi osciloscopul. Comparând instrumentele fizice cu funcții fixe, VI-urile LabVIEW sunt flexibile și pot fi reconfigurate cu ușurință în diferite aplicații. Este capabil să interfațeze cu diverse dispozitive hardware, cum ar fi GPIB, module de achiziție de date, I/O distribuite, achiziție de imagini și control de mișcare, făcându-l o soluție modulară. Această utilitate este prezentată în figura D.6.

FIGURA D.6 Soluția modulară a lui LabVIEW

Un VI conține următoarele trei părți:

• Panoul frontal - un utilizator interacționează cu VI-ul prin panoul frontal
• Schema bloc - codul care controlează programul
• Icon/conector - mijloace de conectare a unui VI la alte VI-uri

D.5.3.1 Panoul frontal

La lansarea LabVIEW, veți putea să creați sau să deschideți un VI existent în care poate fi proiectat aspectul interfeței grafice cu utilizatorul-GUI. Figura D.7 prezintă panoul frontal al exemplului de control simplu alarm slide (alarmsld.lib) inclus în suita de exemple LabVIEW. Aceasta este prima fază în dezvoltarea unui VI. Butoanele, indicatoarele, I/O și dialogurile sunt plasate în mod adecvat. Aceste componente de control sunt selectate din „controls palette”, care conține o listă de biblioteci pre-construite sau componente personalizate de utilizator.

O componentă este selectată din paleta de comenzi făcând clic-stânga cu mouse-ul pe pictograma controlului particular și poate fi plasată pe panoul frontal făcând clic-stânga din nou. Apoi componenta poate fi redimensionată, reformată sau mutată în orice poziție dorită. O proprietate a componentelor, cum ar fi vizibilitatea, formatul, precizia, etichetele, gama de date sau acțiunea poate fi modificată făcând clic-dreapta, cu cursorul plasat oriunde pe componenta selectată, pentru a deschide meniul pop-up.

D.5.3.2 Diagrame bloc

După proiectarea GUI în panoul frontal, VI-ul trebuie programat grafic prin fereastra diagramei bloc pentru a implementa funcționalitatea dorită a VI-ului. Fereastra diagramei bloc poate fi adusă la vedere făcând clic pe meniul „Window” și selectând „Show Diagram”. Pentru fiecare componentă de control creată pe panoul frontal, există un terminal corespunzător creat automat în fereastra diagramei bloc. Figura D.8 prezintă diagrama bloc pentru exemplul de control alarm slide furnizat cu LabVIEW.

FIGURA D.7 Panoul frontal al exemplului de control alarm slide

FIGURA D.8 Schema bloc a exemplului de control alarm slide

Terminalul este etichetat automat conform tipului de date al fiecărui control. De exemplu, butonul STOP are un terminal etichetat TF, care este un tip boolean. Indicatorul de nivel vertical are un terminal de tip DBL, care indică un număr cu dublă precizie. Alte controale comune cu un terminal DBL includ diverse indicatoare numerici, glisoare și grafice.

LabVIEW utilizează limbajul de programare G pentru a implementa funcționalitatea unui VI. Oferă o bibliotecă extinsă de structuri condiționale și bucle de bază, operatori matematici, operatori booleani, operatori de comparație și instrumente de analiză și condiționare mai avansate furnizate prin paleta de funcții. O funcție poate fi plasată pe fereastra diagramei bloc similar cu modul în care o componentă de control este plasată pe panoul frontal. În funcție de fluxul necesar de execuție, acestea sunt conectate împreună folosind instrumentul de conectare Wire din paleta de unelte. Pentru a conecta două terminale împreună, faceți mai întâi clic pe pictograma sârmei de conectare din paleta de instrumente, apoi mutați cursorul la punctul de intrare/ieșire (hotspot) al unui terminal, faceți clic-stânga pentru a realiza conexiunea, apoi mutați cursorul pe hotspot-ul de ieșire/intrare al celuilalt terminal și faceți clic din nou pentru a finaliza conexiunea. Componenta de control corespunzătoare de pe panoul frontal poate fi selectată făcând dublu-clic pe blocul terminal.

Fluxul general de execuție este achiziționarea mai întâi a datelor, apoi analizarea urmată de prezentarea rezultatelor. Terminalele și componentele funcționale sunt conectate astfel încât datele să curgă de la surse (de exemplu, achiziția de date) la ieșire (de exemplu, prezentare). LabVIEW își execută codul de programare G în modul fluxului de date, executând o pictogramă pe măsură ce datele devin disponibile la ea prin intermediul firelor de conectare.

Terminalul zarurilor este un generator de numere aleatoriu, iar ieșirea sa este înmulțită cu o constantă folosind operatorul multiplicator (a se vedea figura D.8). Rezultatul înmulțirii este conectat la intrarea alarm slide, care va apărea ca nivel în indicatorul vertical de pe panoul frontal în timpul executării VI-ului. Caseta gri care înconjoară terminalele este bucla While în care tot fluxul din caseta gri va rula continuu până când bucla este terminată de butonul STOP cu terminalul boolean corespunzător. Când terminalul STOP este true (adevărat), bucla de timp se termină la citirea unui false prin intermediul operatorului NOT. Terminalul de așteptare (pictograma ceas) controlează viteza buclei While. Intrarea terminalului de așteptare este dată în milisecunde. În figură, bucla rulează la un interval de 1 s, deoarece o constantă de 1000 este conectată la terminalul de așteptare. Pentru a rula VI-ul clic-stânga pe icon-ul săgeată din partea de sus sau faceți clic pe „Operate” și apoi selectați „Run”. Nu este necesară nicio compilare.

Rețineți comanda de eliminare a sârmei rupte găsită în meniul derulant Edit. Această comandă curăță diagrama bloc de orice conectare nedorită sau incompletă. Fereastra pop-up de depanare care apare atunci când este executat un VI eronat este foarte utilă pentru depanarea VI-ului. Făcând dublu-clic pe subiectele din lista de erori va evidenția automat zonele problematice, firele sau terminalele din diagramă.

D.5.3.3 Paleta de instrumente (Tools)

LabVIEW are trei palete principale flotante pentru crearea VI-urilor. Ele sunt paleta de instrumente, paleta de controale și paleta de funcții. Paleta de instrumente, prezentată în figura D.9, este paleta de editare generală cu instrumente pentru editarea componentelor din panoul frontal și diagrama bloc, modificând poziția, forma și dimensiunea componentelor, etichetarea, conectarea terminalelor în panoul diagramei bloc, depanând și colorând. Când manipulați panoul frontal și panoul diagramei bloc, rețineți ce pictogramă de instrument este selectată. De exemplu, valorile unui control sau terminal nu pot fi selectate sau editate atunci când este selectată pictograma de poziționare.




Operare valoare
Conectați Firul Setați/ștergeți punctul de întrerupere
Setează culoarea


Poziționare/dimensiune/selectare



Editează text
Fereastra de derulare
Meniu de comenzi rapide pentru obiecte
Prinde culoare

FIGURA D.9 Paleta de instrumente LabVIEW

D.5.3.4 Paleta de controale (Controls)

Figura D.10 prezintă paleta de controale, care conține controale pre-construite și definite de utilizator pentru a crea o interfață grafică de utilizator. Această paletă va fi disponibilă atunci când este selectat panoul frontal. Dacă nu apare, faceți clic pe meniul derulant „Window” și selectați opțiunea „Show Controls Palette”. Figura prezintă grupul principal de componente de nivel superior disponibile în biblioteca sa pre-construită. Făcând clic pe pictogramele corespunzătoare de nivel superior, vor apărea subpaletele controalelor și indicatoarelor disponibile. Pentru a reveni la pictogramele de nivel superior, faceți clic pe pictograma săgeată sus din stânga-sus a paletei de comenzi.




Nivel anterior

Numeric
Array și cluster

Inel și enumerare

Comenzi de dialog

Decorațiuni

Boolean





Șir și cale
Lista și tabel
Grafic
I/O
Refnum
Comenzi clasice
ActiveX
Comenzi utilizator
Selectați un control

FIGURA D.10 Paleta de comenzi LabVIEW

D.5.3.5 Paleta de funcții (Functions)

Când este selectat panoul diagrama bloc, paleta de funcții este prezentată ca în figura D.11, permițându-vă să programați VI-ul. Paleta de funcții conține o bibliotecă completă de operațiuni necesare pentru dezvoltarea funcționalității VI-ului. Similar cu paleta de controale, pictogramele de nivel superior arată gruparea diferitelor sub-funcții disponibile pentru programator. Câteva grupuri utilizate frecvent sunt indicate mai jos.

Structures: Pictograma structurilor constă din secvențe obișnuite ale limbajului de programare, declarații condiționale și bucle condiționale. Aceste structuri sunt sub formă de casete în care terminalele din casetele sunt executate atunci când sunt invocate declarațiile sau buclele. În plus, există un formula node în care pot fi incluse formule bazate pe text personalizate dacă preferați ecuațiile tradiționale bazate pe text. Există, de asemenea, noduri de declarație a variabilei în care pot fi declarate variabile locale și globale.

Numeric: operatorii elementari, cum ar fi însumarea, scăderea, înmulțirea, împărțirea și puterea, sunt grupate sub acest icon.

Boolean: Acest icon conține operatorii booleani necesari pentru manipularea logică.

Array: Gruparea constă în instrumente pentru manipularea șirurilor.

Comparison: sub acest icon se găsesc operatori pentru comparație numerică, care furnizează rezultate booleane.

Analyze: acest icon conține instrumente de analiză mai avansate, cum ar fi spectrul FFT, spectrul de putere, filtre, declanșarea și generarea formei de undă.

Mathematics: Instrumentele pentru manipularea matematică, cum ar fi analiza matematică, statistica și probabilitatea, algebra liniară, optimizarea și funcții numerice se găsesc sub acest icon.



Nivel anterior

Structura
Șir
Comparație
Achiziție de date
I/O instrument
Comunicație
Tutorial
Selectare VI

Numeric




Boolean
Matrice
Cluster (grup)
Timp și dialogul
Fișier I/O
Formă de undă
Analiză
Mișcare și viziune
Matematică
Controlul aplicației
Grafice și sunet
Generarea de rapoarte
Avansat
Biblioteci utilizator

FIGURA D.11 Paleta de funcții