Sunteți pe pagina 1din 17

LUCRAREA NR.

Prezentarea limbajului de programare grafică LabVIEW

1. Introducere

LabVIEW este un program de dezvoltare a aplicaţiilor


asemănător cu C sau BASIC. Totuşi LabVIEW este diferit de acestea
printr-un aspect important. Astfel, dacă celelalte sisteme de
programare utilizează limbaje bazate pe text pentru a crea liniile de
cod, LabVIEW utilizează un limbaj de programare grafic pentru a
crea programe, sub formă de scheme bloc (diagrame bloc).
LabVIEW, la fel ca C sau BASIC, este un sistem de
programare general ce conţine biblioteci extensive de funcţii şi
subrutine pentru programarea oricărui task. Pe lângă acestea,
LabVIEW conţine şi biblioteci specifice aplicaţiilor pentru achiziţii de
date, GPIB şi controlul instrumentelor seriale, precum şi analiza,
prezentarea şi memorarea datelor.
LabVIEW include de asemenea şi facilităţi pentru dezvoltarea
programelor convenţionale; astfel, se pot insera puncte de stop, se
poate anima execuţia unui program pentru a vedea cum datele parcurg
programul, sau, pentru uşurarea depanării acestuia, programul se poate
executa în regim pas cu pas.

Programele LabVIEW se numesc Instrumente Virtuale


(Virtual Instruments) - VI-uri, deoarece modul de prezentare al
acestora (design-ul) precum şi modul de funcţionare imită
instrumentele actuale. Totuşi acestea sunt identice cu funcţiile din
limbajele de programare convenţionale. VI-urile au o interfaţă
interactivă cu utilizatorul, un cod sursă echivalent şi acceptă parametri
de la VI-uri de nivel superior. Sintetic, cele trei facilităţi importante
ale VI-ului sunt:
- Interfaţa interactivă cu utilizatorul a VI-ului este numită
Panou Frontal (Front Panel) deoarece simulează panourile frontale
ale instrumentele reale. Panoul frontal poate conţine butoane,

7
potenţiometre, grafice şi alte tipuri de mărimi de control şi de indicare.
Datele de intrare se introduc folosind mouse-ul şi tastatura
calculatorului, iar vizualizarea rezultatelor se face pe ecranul
computerului.
- VI-ul (instrumentul virtual) - primeşte instrucţiunile necesare
rulării programului din diagrama bloc în care a fost editat în modul
grafic de programare. Diagrama bloc reprezintă soluţia grafică pentru
problema programării. Diagrama bloc este de asemenea codul sursă
pentru VI.
- VI-urile sunt ierarhice şi modulare. Se pot utiliza ca programe
de nivel înalt sau ca subprograme sau subrutine apelate de alte
programe sau subprograme. Un VI utilizat în alt VI se numeşte subVI.
Simbolul şi conectorii unui VI lucrează ca o listă de parametri grafici;
rezultă că VI-uri de nivel mai înalt pot transmite date unui subVI şi
invers.

Cu aceste facilităţi, LabVIEW promovează şi aderă la


conceptul de programare modulară. Se poate împărţi o aplicaţie
complexă într-o serie de taskuri care, la rândul lor, pot fi reîmpărţite în
serie de funcţii sau module, până când o aplicaţie importantă devine o
mulţime de taskuri simple. Pentru fiecare astfel de funcţie (subtask) se
construieşte câte un VI şi apoi acestea se combină într-o nouă
diagramă bloc pentru a realiza un task mai mare (un modul de
program). În final VI-ul de la nivelul cel mai înalt va conţine o
colecţie de sub-VI-uri ce reprezintă în fapt funcţiile aplicaţiei.
Deoarece fiecare subVI se poate executa separat de restul
aplicaţiei, depanarea întregii aplicaţii se face mult mai uşor. În plus,
multe dintre subVI-urile de la nivelele inferioare pot fi folosite şi în
alte aplicaţii, aşa că se pot dezvolta seturi specializate de subVI-uri ce
vor fi utilizate în aplicaţiile ce se doresc a fi realizate.
Trebuie precizat că versiunile recente ale LabVIEW sunt
proiectate pe baza principiilor programării orientate pe obiecte.

2. Structura unui program LabVIEW

Ca structură, LabVIEW este compus din mai multe module,


unele dintre ele fiind opţionale. Elementele care pot fi selecţionate la
instalare sunt:

8
- Main Application - fişierele pentru execuţia programului LabVIEW;
- VI Libraries - colecţiile de instrumente virtuale predefinite (built-in).
Acestea se grupează în:
- GPIB - fişiere pentru prelucrarea în paralel a transmisiilor de
date;
- Data Acquisition - fişiere pentru tratarea achiziţiei de date;
- Base Analysis - fişierele funcţiilor disponibile;
- Serial - fişiere pentru prelucrarea în serial a transmisiilor de
date;
- Network - fişiere pentru transmisii de date în reţea;
- Tutorial - manual de învăţare a programului LabVIEW;
- Utilities - bibliotecă de utilitare;
- Examples - exemple de utilizare a funcţiilor din biblioteci;

O aplicaţie LabVIEW poate fi descrisă sumar ca fiind compusă


din două părţi distincte (fiecăreia alocându-i-se o fereastră distinctă),
legate între ele:
- o fereastră care afişează panoul cu instrumente virtuale
(Panel) necesare aplicaţiei şi care are extensia .vi
- o fereastră care afişează programul propriu-zis al aplicaţiei
(Diagram), realizată sub forma unei diagrame a fluxului de date
(asemănătoare unei scheme bloc) cu simboluri şi legături între
simboluri şi care are în plus şi extensia Diagram şi este legată cauzal
de fereastra Panel.
Oricărui instrument virtual i se alocă aceste două ferestre
distincte aparent, dar de fapt strâns corelate între ele.

2.1. Fereastra panoului cu instrumente (Panel)

În această fereastră sunt introduse diferite reprezentări grafice


(butoane, indicatoare cu cursor, comutatoare, display-uri) care
formează o interfaţă interactivă pentru reglaje şi observaţii. Interfaţa
prezintă în cazul unei aplicaţii variabilele de intrare şi de ieşire
necesare. După cum se observă din Fig. 1, fereastra Panel are o
structură clasică pentru aplicaţiile sub Windows şi anume: o bară
pentru titlu (pentru a identifica aplicaţia), o bară de meniuri accesibile
prin intermediul mouse-lui sau de la tastatură şi o bară de comenzi
care ajută la execuţia propriu-zisă a programului LabVIEW. Simbolul
grafic de identificare este util în cazul în care vom introduce aplicaţia

9
construită de noi într-o bibliotecă de funcţii ce pot fi apelate ulterior
de alte programe.
Fereastra-panou poate fi realizată înaintea programului
propriu-zis (Diagram). Prin reprezentarea formelor instrumentelor în
fereastra panoului, programul LabVIEW permite o continuitate şi o
adaptare uşoară a utilizatorilor de instrumentaţie de măsură şi control.
În funcţie de aplicaţie, se pot controla instrumente independente
(osciloscop, voltmetru etc.) sau plăci de achiziţii de date. Programul
LabVIEW permite de asemenea crearea unor interfeţe standard. În
momentul în care suntem într-o fereastră-panou, alăturat se ataşează
un meniu de control numit Controls. De aici putem accesa cu butonul
mouse-ului (butonul stâng) diferite instrumente ce se pot insera
ulterior tot cu ajutorul mouse-ului în fereastra-panou.

Fig. 1. Fereastra-panou (Panel) din LabVIEW

În acest mod orice aplicaţie LabVIEW va avea o înfăţişare


asemănătoare cu un aparat de măsură şi control mai mult sau mai
puţin complex. Pentru a nu ocupa prea mult spaţiu pe ecran, meniul
Controls poate fi anulat iar dacă avem nevoie de el îl putem activa cu
butonul drept al mouse-ului în orice zonă liberă a ferestrei-panou.

10
2.2. Fereastra program (Diagram)
Fereastra programului propriu-zis conţine funcţiile
instrumentului virtual (adică programul în sine). Programarea unei
aplicaţii în LabVIEW se face pe principiul fluxului de date. Programul
LabVIEW este bazat pe limbajul grafic G. Simbolurile grafice (icons)
utilizate în program sunt legate ca într-o schemă bloc. Dacă pentru
programarea unei aplicaţii într-un limbaj oarecare era necesară
convertirea acesteia într-un cod propriu limbajului ales, în cazul
LabVIEW schema bloc (diagrama) constituie chiar programul
aplicaţiei. Fiind sub forma unor imagini grafice, programul LabVIEW
este uşor de adaptat şi de înţeles dacă reprezentarea grafică păstrează o
dimensiune acceptabilă. În momentul în care suntem într-o fereastră-
program, alăturat se ataşează un meniu numit Functions. De aici
putem accesa cu butonul stâng al mouse-ului diferite funcţii ce se pot
insera ulterior tot cu ajutorul mouse-ului în fereastra-program.

Fig. 2. Fereastra-program (Diagram) din LabWIEW

Pentru a nu ocupa prea mult spaţiu pe ecran, meniul Functions


poate fi anulat iar dacă avem nevoie de el îl putem activa cu butonul
drept al mouse-ului în orice zonă liberă a ferestrei-program. Fereastra-
panou este fereastra principală iar cea program este subordonată.
Aceasta înseamnă că putem vizualiza numai fereastra-panou (fără cea

11
program) dar nu şi invers. Ferestrele programului LabVIEW pot
apărea pe rând sau simultan pe ecranul monitorului. Totdeauna, la
pornirea sesiunii de lucru, apare o fereastră activă de tip panou (Panel)
căreia, dacă nu i se dă un nume, apare înregistrată ca Untitled 1.
Pentru a lucra simultan cu ambele ferestre se poate da o comandă din
meniul Windows de forma Tile Up and Down sau Tile Left and Right.
Afişarea simultană a celor două ferestre nu înseamnă că ele sunt active
simultan. La un moment dat avem o singură fereastră activă.
Ansamblul celor două ferestre constituie instrumentul virtual VI
(Virtual Instrument).
Pentru o mai bună înţelegere şi pentru micşorarea
dimensiunilor diagramelor este recomandată programarea modulară
care se bazează pe utilizarea unor module de program. Dacă o parte a
unei aplicaţii este realizată şi testată, ea poate constitui un modul cu
funcţii bine definite în fereastra-panou şi fereastra-diagramă.
Constituirea de module se face pe principiul încapsulării,
fiecare modul având variabile proprii de intrare şi de ieşire. O aplicaţie
LabVIEW este de fapt un modul de program care poate fi executat sau
poate fi inclus într-o altă aplicaţie.

3. Meniuri şi instrumente de lucru

Pentru a realiza o aplicaţie LabVIEW este necesară


cunoaşterea meniurilor principale oferite de ferestrele active. Fie că
discutăm despre fereastra Panel fie despre fereastra Diagram, bara
orizontală de meniuri are o structură identică. În Fig. 3 se prezintă
configuraţia primelor trei meniuri, iar în Fig. 4 celelalte trei meniuri.
Sub-meniurile File şi Edit au o structură asemănătoare celor
corespunzătoare din alte aplicaţii Windows, motiv pentru care nu vom
insista asupra lor. Utilizarea celorlalte meniuri se va prezenta în
aplicaţii ale căror VI-uri vor fi construite ulterior.
Meniul Help este deosebit de util pentru realizarea aplicaţiilor
LabVIEW şi trebuie consultat ori de câte ori este necesar. Informaţii
despre orice obiect al unei diagrame se pot obţine prin accesarea
meniului aparent (pop-up) cu butonul din dreapta al mouse-ului,
acţiune prin care submeniul Online Reference se va poziţiona pe
informaţia corespunzătoare obiectului accesat.
Informaţii complete despre LabVIEW se pot obţine prin
consultarea manualului de utilizare [14], alte lucrări utile fiind [4], [6].

12
Cu ajutorul acestor meniuri generale şi cu ajutorul meniurilor
specifice fiecărei ferestre se pot construi uşor aplicaţii de automatică
deosebit de complexe. După cum am menţionat, fereastra Panel are la
dispoziţie meniul Controls, iar fereastra Diagram are la dispoziţie
meniul specific Functions. Ele pot gestiona în comun un meniu de
instrumente, numit Tools (Fig. 5 şi Fig. 6). Structura acestor meniuri
(Tools, Controls, Functions) este prezentată în Fig. 7, 8 şi 9.

Fig. 3. Meniurile File, Edit şi Operate din bara de meniuri

Fig. 4. Meniurile Project, Windows şi Help din bara de meniuri

13
Fig. 5. Construcţia Fig. 6. Structura meniurilor
unei aplicaţii folosite în programarea grafică

Fig. 7. Structura meniului Tools

14
Fig. 8. Structura principală a meniului Controls

Fig. 9. Structura meniului Functions

15
În Fig. 10 sunt prezentate barele de comenzi din fereastra
Panel şi din fereastra Diagram. Instrumentele de lucru din bara de
comenzi sunt reprezentate prin simboluri grafice. Majoritatea acestor
simboluri reprezintă comenzi care se utilizează în faza de execuţie a
unei aplicaţii sau a unor funcţii LabVIEW.

Fig. 10. Instrumentele de lucru din barele de comenzi

4. Un exemplu simplu de programare în LabVIEW

Descrierea exemplului

Exemplul următor evidenţiază câteva aspecte ale programării


în LabVIEW.
Exemplul urmăreşte implementarea unei formule matematice
simple, de forma:
y = a*exp(x) + b*ln(x)
unde a, b şi x sunt numere reale.
Prin urmare, scopul programului este calculul şi afişarea lui y.

16
Realizarea aplicaţiei
Pentru realizarea aplicaţiei se parcurg trei etape:
- realizarea ferestrei-panou (Panel) - interfaţa utilizator
- realizarea programului propriu-zis (fereastra diagramă)
- executarea programului
Aceste etape se pot întrepătrunde pe parcursul realizării
programului.
Un prim pas posibil în realizarea ferestrei panou este
atribuirea unui titlu aplicaţiei respective. Pentru aceasta se utilizează
instrumentul de editare text (Edit Text) din meniul Tools. Cu ajutorul
instrumentului de poziţionare de tip săgeată din acelaşi meniu
(Position/Size/Select) textul editat se poate poziţiona şi/sau deplasa
(Fig. 11).
Atributele textului pot fi modificate cu uşurinţă din bara de
comenzi.
Pentru salvarea aplicaţiei se foloseşte meniul File.
Programului i se atribuie un nume, care va avea extensia .vi (de
exemplu Expresie.vi). Concomitent cu panoul se creează automat şi
fereastra diagramă asociată Expresie.vi Diagram. Salvarea
programului trebuie repetată după construirea finală a aplicaţiei.

Fig. 11.

17
În continuare, în fereastra panou, se pot introduce perifericele
de intrare şi ieşire (aşa-numitele controale şi indicatoare, care
reprezintă terminalele interactive de intrare şi ieşire).
Pentru aceasta se utilizează meniurile Controls şi Tools.
Pentru această aplicaţie, pe panou pot fi poziţionate următoarele
intrări:
- două controale de tip Digital Control din fereastra Numeric a
meniului Controls care să furnizeze numerele reale a şi b;
- un control de tip potenţiometru orizontal (Simple Horizontal
Slide) din aceeaşi fereastră, corespunzător intrării x.
Pentru poziţionare se foloseşte indicatorul de poziţionare din
meniul Tools. Pentru a denumi (eticheta) aceste obiecte se utilizează
etichete asociate (direct la poziţionare sau cu ajutorul mouse-ului - clic
pe butonul drept şi apoi meniul Show/Label) (Fig. 12).
Pentru introducerea unui obiect care să afişeze mărimea de
ieşire y se poate utiliza de exemplu un indicator de tip potenţiometru
Vertical Fill Slide - tot din fereastra Numeric a meniului Controls
(pentru aceasta după selectare şi poziţionare trebuie convertit controlul
în indicator cu ajutorul mouse-ului - clic pe butonul drept şi apoi
Change to Indicator) (Fig. 13).

Fig. 12.

18
Fig. 13.
Trebuie remarcat faptul că obiectele de intrare şi ieşire, odată
create în fereastra panou, vor apare şi în fereastra diagramă într-o
formă simbolică pentru a fi conectate între ele într-o fază ulterioară.
Simbolurile grafice de tip numeric, de intrare şi de ieşire, plasate în
fereastra diagramă au un aspect relativ apropiat. Pentru diferenţierea
lor trebuie observat că un obiect de intrare numeric (Control) are
marginea exterioară mai groasă în timp ce un obiect de ieşire numeric
(Indicator) are marginea exterioară subţire (Fig. 14).

Fig. 14.

19
După cum am amintit, este utilă etichetarea obiectelor, mai
ales în aplicaţiile cu un număr mare de obiecte de intrare şi ieşire.
Modificarea dimensiunii elementelor grafice se face direct,
scriind pe gradaţiile acestora (cu ajutorul indicatorului de operare din
meniul Tools). După poziţionarea şi dimensionarea obiectelor,
fereastra panou are forma din Fig. 15.

Fig. 15.

Urmează introducerea operatorilor şi funcţiilor în fereastra


diagramă. Pentru aceasta se utilizează meniul Functions asociat
ferestrei Diagram.
Pentru implementarea expresiei de calcul a lui y trebuie
utilizate două funcţii de multiplicare şi o funcţie de adunare din
meniul Numeric al meniului Functions precum şi două funcţii
matematice: exp şi ln din submeniul Logarithmic al aceluiaşi meniu
Numeric. Simbolurile grafice corespunzătoare operatorilor şi funcţiilor
pot fi poziţionate în fereastra diagramă astfel încât să poată fi realizat
cât mai uşor programul cerut (Fig. 16).
În această fază, elementele care aparţin programului, şi anume
variabilele de intrare şi de ieşire, operatorii şi funcţiile nu sunt legate
între ele, ceea ce înseamnă că executarea programului nu este posibilă,
iar în bara de comenzi săgeata de execuţie (Run) apare ruptă.
În continuare se poate trece la ultima fază a editării
programului: cablarea.

20
Fig. 16.

Pentru realizarea cablării se foloseşte instrumentul de cablare


Connect Wire din meniul Tools. Elementele programului sunt
conectate conform diagramei fluxului de date corespunzător aplicaţiei.
Legăturile corect realizate vor apare cu linie continuă iar cele
incorecte sau în curs de realizare cu linie întreruptă (Fig. 17).
După terminarea cablării se pot introduce comentarii pentru a
creşte claritatea programului (diagramei) realizat. În Fig. 18 este
prezentată fereastra diagramă editată complet.
Urmează ultima fază şi anume execuţia aplicaţiei realizate.
Aplicaţia se execută prin intermediul ferestrei panou sau diagramă cu
ajutorul instrumentului de execuţie (Run). Dacă există erori de
programare acestea sunt explicate utilizatorului prin intermediul unei
ferestre de erori. Erorile sunt clasificate şi pot fi localizate în schema
din fereastra diagramă. Dacă nu sunt erori de programare atunci
rezultatul calculat pentru expresia matematică va fi afişat cu ajutorul
indicatorului din fereastra panou. În Fig. 19 este prezentată fereastra
panou cu rezultatul y pentru valori neadmisibile pentru intrare
(programul funcţionează dar sunt eronate datele de intrare) iar în Fig.
20 fereastra panou pentru un exemplu corect de calcul.

21
Fig. 17.

Fig. 18.

22
Fig. 19.

Fig. 20.

23

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