Sunteți pe pagina 1din 10

LUCRAREA NR.......

Prezentarea mediului de dezvoltare a aplicaţiilor de achiziţie a datelor LABVIEW.

1. Obiectivul lucrării:

Familiarizarea studenţilor cu o serie de concepte şi tehnici noi de programare a aplicaţiilor de


achiziţie a datelor şi de control al instrumentaţiei "inteligente". Deprinderea studenţlor cu modul
de realizare a aplicaţiilor din acest domeniu folosind mediul de dezvoltare LABVIEW.

2. Consideraţii teoretice

Prezentarea mediului de programare LabVIEW

LABVIEW reprezintă un mediu integrat şi deschis de dezvoltare a aplicaţiilor din domeniul


achiziţiei de date şi de control al instrumentaţiei inteligente. El integrează într-un singur mediu de
dezvoltare o serie de instrumente software şi module soft (cum ar fi driverele soft pentru o gamă
largă de instrumente), ce uşurează foarte mult dezvoltarea aplicaţiilor din acest domeniu, conduce la
obţinerea de programe de înaltă calitate, uşor de modificat şi întreţinut. Pachetul de programe
LABVIEW conţine rutine pentru achiziţia de date, procesare digitală a semnalelor , calcule
statistice precum şi facilităţi pentru prezentarea datelor, cum ar fi de exemplu cele pentru realizarea
interfeţelor grafice cu utilizatorul (GUI) . Aceste rutine pot fi folosite direct în programele de
aplicaţii, uşurând astfel mult efortul de programare şi facilitând obţinerea de programe de calitate.
El este un mediu de dezvoltare deschis deoarece permite utilizatorului să-şi introducă propriile
drivere soft sau propriile rutine de achiziţie, procesare digitală sau de prezentare a informaţiei.

LABVIEW a introdus o serie de concepte şi tehnici noi în realizarea de aplicaţii de achiziţie a


datelor şi control al instrumentaţiei inteligente, pe care vom încerca să le reliefăm în cele ce
urmează.

Programarea grafică

LABVIEW reprezintă o alternativă grafică la programarea bazată pe text. Programarea


grafică reprezintă o metodă inovatoare de programare ce constă în asamblarea grafică a modulelor
de program denumite instrumente virtuale. Denumirea de instrument virtual IV provine de la
încercarea de a emula soft instrumentele reale, dar în LABVIEW orice program, reprezentat sub
formă grafică ca o schemă bloc, este denumit tot instrument virtual. Subrutinelor din limbajele
clasice de programare le corespund sub-IV-uri (sub instrumente virtuale). Programarea în
LabVIEW constă în desenarea de scheme bloc, prin asamblarea diferitelor instrumente virtuale
(module). Interfaţa cu utilizatorul se realizează prin intermediul panoului frontal,(Frot Panel FP)
care, în cazul simulării unui instrument real, poate fi foarte asemănator cu panoul frontal al
instrumentului respectiv şi oferă utilizatorului posibilitatea unui control grafic interactiv al
sistemului. Utilizarea reprezentării grafice ca paradigmă de programare oferă avantaje
remarcabile. Astfel, schemele bloc ce formează programele LABVIEW sunt uşor de construit, de
modificat şi de întreţinut. În plus, aceste programe sunt uşor de citit, partea de documentare a lor
reducându-se la minim. Ca urmare, LABVIEW poate fi folosit cu succes pentru realizarea de
aplicaţii de achiziţie de date sau de control de instrumentaţie şi de inginerii electronişti cu foarte
puţină experienţă în programare. Reducerea semnificativă a efortului de programare nu înseamnă în
mod necesar şi reducerea performanţelor ce se pot obţine cu acest mediu de programare. Ca urmare,
programatorii cu experienţă pot folosi LabVIEW pentru aplicaţii performante de achiziţie a datelor
şi de control instrumentaţie.
Utilizarea schemelor bloc în proiectare este familiară majorităţii inginerilor electronişti.
LabVIEW oferă posibilitatea de a genera cod plecând direct de la aceste diagrame. Acest lucru este
realizat de către compilatorul grafic, compilator ce realizează şi optimizarea codului astfel obţinut,
obţinându-se performanţe de viteză comparabile cu a programelor scrise direct în limbajul C.
LabVIEW facilitează realizarea de programe cu o structură modulară şi ierarhică, în
sensul că permite utilizarea instrumentelor virtuale ca sub IV-uri în schema bloc a altor instrumente
virtuale. Astfel, se pot realiza şi testa pe rând, în mod interactiv, diferitele blocuri din structura
sistemului de test informatizat, după care acestea se pot utiliza ca noduri în diagrama nivelului
ierarhic superior al sistemului de masură. Astfel, un sub IV poate fi apelat din schema bloc a altui
IV ierarhic superior prin crearea unei icoane şi a unui conector pentru acel sub IV. Prin crearea
unei icoane pentru un sub IV, se pot ascunde o serie de detalii de implementare, ceea ce facilitează
lucrul cu sisteme de complexitate ridicată.
Obs. Se poate păstra accesul la valorile intermediare asociate unui anumit sub-IV prin
intermediul panoului frontal al acestuia.

Modelul de execuţie Data-Flow

Majoritatea aplicaţiilor din natură sunt aplicaţii concurente, caracterizate prin execuţia
concurentă a mai multor operaţii. Modul de execuţie secvenţial a fost impus de modelul
computaţional von Neumann, dar el nu reflectă nici pe de parte realitatea.
Spre deosebire de majoritatea limbajelor de programare clasice, bazate pe text, LabVIEW
foloseşte un model de execuţie concurent, modelul Data Flow. Ca urmare, LabVIEW permite
execuţia concurentă a aplicaţiilor sub forma forma timeshearing, fiind un sistem multitasking,
permiţând execuţia concurentă a mai multor căi dintr-un program, a mai multor instrumente
virtuale sau a mai multor aplicaţii. Funcţiile (ce apar în diagrama BD (block Diagram) sub formă de
icoane) precum şi structurile de control ale programului ( bucle For, structura de Secvenţiere, etc.)
sunt denumite generic în LabVIEW noduri. Un nod îşi începe execuţia de îndată ce are disponibile
toate datele de intrare. El va produce date de ieşire pentru toate nodurile cu care este conectat. Acest
model de execuţie de tip data-driven, în care ordinea de execuţie a operaţiilor (de activare a
nodurilor) este determinată de disponibilitatea datelor este cunoscut sub denumirea de modelul
data flow.

Modelul data-flow (data-driven)

Modelul data-flow declanşează execuţia tuturor operaţiilor din graful data-flow ce ar putea fi
executate la un moment dat (au toate datele de intrare disponibile).

Principiul ce stă la baza modelului data-flow este ilustrat in fig.1.


Se consideră evaluarea expresiei:

c=(a-3)*2+b/5 cu: a=2 si b=10

Aşa cum resultă din analiza fig. 1


modelul data-flow (data-driven) se
caracterizează prin:

-absenţa "variabilelor" în sens von


Neumann, adica a locaţiilor de memorie
Fig.1 a căror conţinut poate fi reactualizat de
un număr oarecare de ori;
-datele nu mai circulă de la o
instrucţiune la alta prin intermediul unor variabile comune din memorie (variabile temporare) ci
fluxul de date circulă direct de la o instrucţiune la alta.
-execuţia (activarea) unei instrucţiuni se face de îndată ce are disponibile toate datele de intrare
necesare. Ca urmare, nu mai există necesitatea existenţei unui mecanism de control central al
execuţiei. În felul acesta, poate fi exploatat întreg potenţial de concurenţă dintr-o aplicaţie data.

Obs: Se poate face observaţia că s-ar putea irosi resurse şi cu paralelismul ce nu este util pentru
obţinerea rezultatului final. Modelul data-flow nu poate distinge între paralelismul util şi cel ce nu
contribuie la obţinerea mai rapidă a rezultatului (paralelismul redundant). Modelul reducţionist
lucrează numai cu paralelismul util. În schimb, apar probleme în execuţia eficientă a acestui model.

Concepte fundamentale şi terminologia de bază

LabVIEW poate fi folosit la emularea soft a instrumentelor reale. De aici provine şi


denumirea de instrument virtual pentru un program realizat cu LabVIEW. În cele ce urmează vom
înţelege însă prin instrument virtual orice program sub formă de schemă bloc realizată folosind
limbajul de programare grafică LabVIEW.
Un instrument virtual IV constă dintr-un:
-panou frontal (Front Panel FP)
-o schema bloc (Block Diagram BD)
-un conector Si o icoană

În Fig.1 se prezintã cele douã ferestre folosite în realizarea unui instrument virtual.
Fig.1. Ferestrele specifice unui instrument virtual

În meniul panoului frontal avem nişte butoane care corespund urmãtoarelor comenzi principale :
-Run –care lanseazã în execuţie programul
-Continously Run – care permite execuţia continuã a programului
-Abort – care opreşte execuţia programului
-Pause – ce opreşte temporar execuţia programului
Pentru realizarea unui IV se foloseşte paleta de unelte din Fig.2. Pentru afişarea acestei palete se
merge în meniul principal şi se alege calea : View-> Tools Palette.

Fig.2. Paleta cu unelte


a1 – unelta de operare
a2 – unelta de selectare
a3 – unealta de etichetare
b1- unealta de interconectare
b2 – editor de proprietãţi
b3 – unealta de defilare
c1 – unealta de oprire a execuţiei
c2 – unealta de vizualizãrii a datelor
c3 – unealta de colorare

"Panoul frontal" FP reprezintă interfaţa grafică cu utilizatorul GUI, prin intermediul căreia
utilizatorul furnizează datele de intrare, controlînd modul de lucru al sistemului simulat, şi
vizualizează rezultatele furnizate de sistemul de masură informatizat. Pe panoul frontal FP apar
poziţionate "controalele" şi "indicatoarele".

Controlul instrumentului virtual se face prin intermediul unor "controale" prin care se furnizează
date de intrare prin comutarea unui comutator, deplasarea unui cursor, răsucirea unui buton, sau pur
şi simplu prin intermediul tastaturii. Controalele apar poziţionate pe panoul frontal aşa cum apar
poziţionate butoanele, cursoarele, potenţiometrele sau comutatoarele pe panoul frontal al unui
instrument real. Afişarea rezultatelor se face prin intermediul "indicatoarelor". În LabVIEW, avem
o gamă largă de astfel de elemete de afişare cum ar fi: elemente de afişare grafice, analogice,
numerice,etc.
Fiecărui control sau indicator de pe panoul frontal îi corespunde în schema bloc BD câte un
terminal, ce reprezintă un punct din sistem prin care se comunică cu exteriorul (având o
semnifica_ie similară porturilor de la microsisteme).

Obs.1.Un terminal nu poate fi adăugat sau şters de pe diagramă: el apare sau dispare odată cu
adăugarea sau ştergerea unui control sau indicator de pe panoul frontal.
2.Datorită caracterului modular şi ierarhic al mediului de dezvoltare LabVIEW, avem o ierarhie
şi de panouri frontale, fiecare sub IV având propriul panou frontal. În timpul execuţiei unui
program LabVIEW se pot deschide panourile frontale ale sub IV-urilor putând astfel vizualiza o
serie de rezultate intermediare, ceea ce este foarte util în faza de testare şi depanare a sistemului
automat de test.

Panoul frontal FP al unui IV poate fi asemănator într-o masură mai mare sau mai mică cu panoul
frontal al instrumentului real emulat dar se recomandă ca modul de interacţiune cu utilizatorul să fie
similar cu cel al instrumentului real, astfel încât utilizarea instrumentului virtual să fie cel puţin la
fel de uşuară ca şi cea a instrumentului real iar utilizatorul familiarizat cu instrumentul real să-l
poată recunoaşte cu uşurinţă şi să-l poată utiliza imediat.

Obs. De obicei panourile frontale pentru IV-urile ce emulează instrumente reale se obţin prin
scanare şi procesare grafică, astfel încât acestea seamănă bine cu cele reale iar butoanele au aceeaşi
poziţie şi aceleaşi funcţii. Vor rămâne însă doar acele elemente folosite la comanda de la distanţă a
instrumentului virtual.

Interfaţã graficã cu utilizatorul se realizeazã într-o fereastrã separatã folosind ca elemente


terminalele ce apar într-o fereastã separatã aşa cum se poate vedea în figura 3.
Prin intermediul terminalelor se introduc sau se extrag date in/din program. Aceste terminale sunt
de douã feluri: controalele şi indicatorii aşa cum se poate vedea din Fig.3.
Fig.3. Terminalele limbajului de programare graficã PG

Terminalele limbajului de programare graficã PG sunt prezentate în Fig.3. Acestea sunt:

a1- controle pentru introducerea datelor numerice


a2- controale pentru introducerea datelor booleene
a3- controale pentru introducerea şirurilor de caractere
b1- indicatoare pentru afişarea datelor numerice
b2- indicatoare pentru afişarea datelor booleene
b3- indicatoare pentru afişarea şirurilor de caractere
b4- indicatoare pentru afişarea formelor de undã şi a graficelor

Diagrama (schema bloc) BD reprezintă codul sursă al unui instrument virtual IV scris cu
ajutorul elementelor specifice limbajului de programare grafică. Scrierea unui program LabVIEW
pentru un IV constă în desenarea unei astfel de schemă bloc prin conectarea nodurilor şi a
terminalelor prin intermediul unor "fire".

Elementele utilizate pentru desenarea diagramei bloc sunt urmãtoarele:

-nodurile, ce sunt elementele funcţionale ale programului

-terminalele, prin care se introduc sau se extrag date din program şi care sunt plasate
automat în diagrama bloc în momentul în care acestea sunt plasate pe panoul frontal

-firele, care reprezintã elementele de legãturã între elementele funcţionale si prin care
circulã datele in program. Ele definesc fluxul de date din program.

Terminalele corespund controalelor şi indicatorilor de pe panoul frontal şi reprezintă puncte de


comunicare cu exteriorul. Nodurile reprezintă blocurile funcţionale şi structurile de control dintr-un
program LabVIEW. Ele sunt echivalentul instrucţiunilor din limbajele de programare clasice.
Blocurile funcţionale includ funcţii aritmetice, funcţii I/E sau instrumente virtuale complexe.

Nodurile sunt disponibile în meniul cu funcţii. Elementele meniului cu funcţii sunt prezentate
în Fig.2.

Fig.4. Meniul cu funcţii

Elementele din meniu sunt:

a1- funcţii pentru introducerea datelor sau semnalelor în program

a2- drivere pentru diverse instrumente

a3- funcţii pentru analiza de semnal

a4- funcţii pentru manipularea semnalelor

b1- structurile de control ale limbajului

b2- funcţii aritmetice şi de comparaţie

În Fig.3 se prezintã meniul de funcţii desfãşurat.


Fig.5. Meniul de funcţii desfãşurat

Structurile de control sunt similare celor din limbajele de programare clasice ( structuri FOR,
WHILE, CASE,etc.). Structura secvenţiala, ce impune o anumită ordine de execuţie a nodurilor)
este puţin deosebită de cea clasică în sensul ca ordinea de execuţie a nodurilor este dată de numărul
asociat acelui nod şi nu de ordinea în care apar acestea în text (care în acest caz nici nu există).
Aceste structuri apar în diagramă sub formă de chenar (border) ce încercuieşte "icoanele" nodurilor
a căror execuţie o controlează.

"Firele" ce conectează nodurile din diagramă reprezintă căile de date pe care circulă_ datele între
diversele blocuri funcţionale. Tipul(dimensiunea, culoarea) acestor fire depinde de tipul datelor ce
circul_ prin aceste "fire". Astfel, pentru scalari se folosesc "fire" subţiri iar pentru vectori şi matrici
se utilizează "fire" groase.

În editarea diagramei alte instrumente virtuale IV pot fi utilizate ca sub IV-uri. În acest caz, IV-ul va
fi reprezentat printr-o icoană ce reprezintă identificatorul IV-ului respectiv şi printr-un conector ce
este utilizat pentru conectarea terminalelor sub-IV- ului respectiv. Terminalele vor fi colorate
diferit în funcţie de tipul datei ce "circulă" prin acel terminal.
Obs. Un sub-IV corespunde unui subprogram din limbajele clasice de programare, icoana
corespunzând numelui subprogramului iar conectorulul listei de parametri, fiecare terminal(
control sau indicator) corespunzând unui parametru de intrare sau de ieşire.
Prin crearea unei icoane pentru un instrument virtual şi folosirea ei în diagrama altor IV-uri se
favorizează metoda top-down de proiectare obţinându-se programe cu structură modulară şi
ierarhică. De asemenea, prin utilizarea icoanelor pentru sub-IV-uri se pot "ascunde" o serie de
detalii referitoare la structura acestora păstrându-se însă accesul la panoul frontal al IV-ului, putând
astfel vizualiza în execuţie o serie de rezultate intermediare, ceea ce facilitează testarea şi depanarea
sistemului de măsură informatizat.

Realizarea sau simularea unui sistem deachiziţie folosind mediul integrat LabVIEW

În simularea sau realizarea unui sistem de achiziţie trebuie parcurse urmãtoarele etape:
-realizarea driverului de instrument
-construcţia instrumentelor virtuale ce simulează instrumentele reale ce intervin în sistem
-realizarea aplicaţiei ce utilizează instrumentele virtuale respective

Driverul de instrument DI ,reprezintă o colecţie de sub-IV-uri, ce realizează diferitele


funcţii ale instrumentului virtual respectiv, care emulează din punct de vedere funcţional
instrumentul real respectiv. Aceste drivere de instrument sunt grupate în biblioteci de DI-uri.
Biblioteca de DI-uri din LabVIEW conţine peste 150 de drivere pentru instrumente interfaţabile cu
magistralele de instrumentaţie GPIB, VXI sau CAMAC sau prin interfaţa serială RS-232. De
asemenea, conţine funcţii pentru achiziţia de date utilizând plăci de achiziţie ce se conectează direct
(plug-in) pe magistalele standard ale microcalculatoarelor cum ar fi: EISA, Micro Channel (PS/2),
IBM PC, etc. Aceste drivere de instrument constau în funcţii de nivel înalt prin intermediul cărora
se pot controla instrumentele respective.

Obs. Driverul de instrument reprezintă elementul critic şi care poate determina în mod esenţial
timpul de punere la punct şi deci şi costul unui sistem de măsură informatizat.

Driverele de instrument permit utilizatorului construirea de instrumente virtuale proprii. Conceptul


de instrument virtual permite utilizatorului definirea funcţională a propriilor instrumente sau plăci
de achiziţie. Se poate observa aici caracterul de sistem deschis al mediului de programare integrat
LabVIEW, utilizatorul având posibilitatea de a construi propriile biblioteci cu propriile drivere de
instrument şi cu propriile rutine de analiză şi prezentare a rezultatelor.

Instrumentele virtuale pentru controlul instrumentelor reale reprezintă aplicaţia ce permite accesul
la funcţiile respectivului instrument real. El este implementat folosind sub-IV-urile din Driverul de
Instrument ce simulează funcţiile instrumentului real. LabVIEW are o biblioteca ce conţine IV-uri
peste 260 de instrumente interfaţabile cu magistralele de instrumentaţie GPIB şi VXI sau prin
interfaţa serială RS-232. Majoritatea fabricanţilor de instrumente furnizează în prezent nu numai
plăci de interfaţa standard GPIB sau VXI ci şi drivere soft pentru instrumentele fabricate de aceştia.

Obs. Instrumentele virtuale VI permit extinderea software a posibilităţilor instrumentelor


reale, ce pot fi astfel folosite într-un mod mai eficient şi flexibil, cuplarea acestor instrumente de
măsură la un sistem de calcul extinzând într-un mod nelimitat capabilităţile acestora.

Un instrument virtual se poate afla într-una din urmãtoarele faze:


-faza de editare (construcţie, inspecţie sau modificare) a unui IV. În aceastã fazã se editează
panoul frontal FP şi diagrama BD instrumentului virtual
-faza de execuţie (rulare) în care se foloseşte panoul frontal al IV-ului pentru controlul
funcţionării acestuia şi pentru vizualizarea rezultatelor
-faza de depanare, în care se utilizează panourile frontale ale sub-IV-urilor pentru a urmări
anumite rezultate intermediare

3. Desfãşurarea lucrãrii

1. Se va deschide mediul Labview şi se vor urmãri facilitãţile oferite de meniul principal


2. Se vor urmãri butoanele şi comenzile din cele douã ferestre ale unui IV şi se vor consemna
observaţiile în referat
3. Se va consulta caseta cu unelte şi vor reţine şi consemna în referat rolul fiecãrei unelte în
parte
4. Se va consulta caseta cu controale şi se vor testa principalele controale şi indicatoare
prezente în casetã
5. Se va deschide un exemplu existent în Help->Find Examples, se ruleazã programul şi se
consemneazã observaţiile în referat
6. Se va realiza un IV corespunzãtor exemplului prezentat în paragraful care se referã la
modelul data-flow. Se activeazã modul de lucru debuging şi se observã caracteristicile
modului concurent de execuţie data-flow
7. Se realizeazã un IV simplu în care se urmãreşte nivelul de lichid dintr-un rezervor şi se
semnalizeazã când acesta depãşeşte o anumitã valoare sau scade sub anumitã valoare

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