Sunteți pe pagina 1din 12

Mediul de programare LabVIEW Proiectele acestui mediu au fost iniiate n anul 1983.

Trei ani mai trziu el nsemna pionieratul ntro nou abordare a instrumentaiei, depunnd bazele instrumentaiei virtuale. Combinnd unele periferice performante cu facilitile de calcul, afiare i conectivitate ale calculatoarelor Macintosh, foarte populare, acest sistem centrat n jurul unui software de aplicaie oferea funciile unui instrument dedicat, deosebit de performant, la un pre redus. Flexibilitatea total n configuraie i mecanismul matematic deosebit de puternic au fost argumente puternice n favoarea acestui soft specializat. Este o abordare revoluionar a ingineriei software: este un mediu de programare grafic. Ofer flexibilitatea unui limbaj de programare puternic, fr ca utilizatorul s scrie mcar un rnd de cod-program. Ofer avantajele semnificative ale unui mediu multitasking, putnd rula simultan mai multe instrumente virtuale sau instane ale acestora. Fluxul de date schiat n diagrama funcional specific implicit i operaiile ce se execut simultan. Avnd un design modular, exist posibilitatea ca orice instrument virtual deja creat s poat deveni o component a alteia. Compilatorul integrat genereaz un cod executabil optimizat, pe 32 de bii, cu viteza de rulare comparabil cu un program C/C++ compilat. LabVIEW este un mediu de programare utilizat mai ales pentru realizarea msurtorilor si monitorizarea unor procese automatizate. Mediul LabVIEW conine mai multe biblioteci de funcii predefinite pentru achiziia, prelucrarea, afiarea i transmiterea datelor. Programele realizate n LabVIEW se numesc instrumente virtuale (Visual Instruments - VIs), la baza acestora stnd conceptele de modularizare i ierarhizare arborescent. Cnd se proiecteaz i se implementeaz un IV, trebuie s se in cont de natura modular a acestuia : s poat fi utilizat att ca program principal ct i ca subrutin n componena unui alt IV. Un IV folosit la realizarea unui alt IV se numete sub IV, avnd rolul unei subrutine. Prin crearea i utilizarea de sub IV la realizarea altor IV, utilizatorul definete ierarhii de IV. Bibliotecile aferente conin funcii-sistem puternice, axate pe urmtoarele domenii: - achiziie de date i control ( drivere pentru dispozitive I/O i automate programabile, regulatoare numerice, dispozitive de nregistrare /vizualizare) - control dispozitive ( GPIB, VXI,RS-232,CAMAC) - analiz de date (evaluri statistice, elemente de algebr liniar, funcii de calcul pentru domeniul timp i frecven, filtre numerice) etc. Mediul LabVIEW ofer dezvoltatorilor de programe dou metode de asisten, care pot fi utilizate pe parcursul dezvoltrii unui IV : fereastra (Help Windows) i utilitarul (Online Help) de asisten. Fereastra de asisten se utilizeaz n cazurile urmtoare : la afiarea descrierii pentru obiectele din Panoul frontal i diagrama bloc; la consultarea casetei cu funcii, se prezint semntur i o descriere de utilizare; n diagrama bloc, terminalul conductorului IV, asupra cruia se folosete unealta de interconectare, este evideniat prin afiare intermitent n fereastra de asisten ; metoda de asistare este utilizat frecvent n realizarea conexiunilor la nodurile dotate cu mai multe terminale, pentru selectarea exact a parametrilor ateptai ; n diagrama bloc se permite afiarea structurii de date, folosit pentru valoarea care se transfera ntre acele noduri, pe o legtur existent; se oprete unealta de interconectare deasupra legturii ; se reamintete faptul, c nodul reprezint elementul de execuie din limbajul G. III.3.1. Structura unui program Programele realizate n mediul LabVIEW se numesc instrumente virtuale (IV). Un IV are trei pri componente: Panoul frontal;

Diagrama bloc; Pictograma si conectorul

Panoul Frontal Panoul Frontal definete interfaa grafic cu utilizatorul sau ceea ce va vedea utilizatorul pe ecranul calculatorului. Obiectele grafice de interfa disponibile pentru realizarea panoului frontal se mpart n controale si indicatoare. Prin intermediul controalelor, utilizatorul introduce sau actualizeaz valorile datelor de intrare (obiecte de tip Get); indicatoarele sunt folosite pentru a se afia rezultatele prelucrrilor (obiectelor de tip Say). Dac IV se privete ca sub IV (deci ca subrutin), atunci controalele corespund parametrilor formali de intrare, iar indicatoarele sunt parametri formali de ieire. Mediul LabView ofer dezvoltatorului de aplicaii o colecie de obiecte predefinite pentru proiectarea panoului frontal : butoane, comutatoare, cursoare, obiecte pentru reprezentri grafice, rezervoare s.a. Tipuri de controale i indicatoare Sunt disponibile controale i indicatoare pentru majoritatea tipurilor de date: numeric, ir de caractere, boolean, tabel, tablou, grupare de date, grafic, s.a. Pentru un anumit tip de date sunt disponibile mai multe variante de controale i indicatoare, utilizatorul putnd s opteze pentru cea mai sugestiv realizare. n etapa construirii panoului frontal, utilizatorul alege pe rnd elementele de interfa necesare din caseta de controale i indicatoare i le aeaz n interiorul panoului frontal. Procedura este prezentat i n figura de mai jos:

Fig. Elementele panoului forntal Semnificaia elementelor din caseta cu controale i indicatoare se prezint n continuare. Acestea sunt: Componente numerice; Componente booleene; Componente ir de caractere i tabel; Lista cu opiuni: lista circular / inel, meniuri derulante, cutie list; Tablou i grupare de date; Reprezentri grafice; Cale de fiier; Elemente decorative; Componente utilizator; Componente pentru suport ActiveX; Opiuni pentru selectarea unui control stocat ntr-un fiier. A. Controale i indicatoare de tip numeric Transmiterea valorilor numerice spre program sau afiarea rezultatelor numerice se face prin intermediul controalelor i indicatoarelor numerice. Exist mai mute reprezentri ale componentelor de interfa, corespunztoare tipului de dat numeric. Exist mai multe reprezentri ale componentelor de interfa, corespunztoare tipului de dat numeric. Din caseta cu controale se selecteaz grupul Numeric, care va afia colecia cu variantele de realizare a elementelor de interfa corespunztoare tipului numeric. Fig. Controale si indicatoare de tip numeric

Colecia de controale i indicatoare numerice reine urmtoarele variante de realizare: Digitale; Cursor orientat vertical sau orizontal; Rezervor (tank); Termometru; Buton rotitor (knob); Buton disc de telefon (dial); Cadran aparat de msur (meter); Chilometraj (gauge); B. Controale i indicatoare de tip Boolean Componentele de interfa, ale panoului frontal, aparinnd tipului boolean, au doua valori posibile, corespunznd strii de adevrat (True) sau fals (False). Valoarea logic fals este valoare iniial: componenta boolean a fost preluat din caseta de controale i indicatoare i plasat pe suprafaa panoului frontal.

Fig. Controale si indicatoare de tip boolean Exist mai multe reprezentri grafice de controale de tip boolean: butoane care pot fi apsate, comutatoare, ntreruptoare, butoane radio. Indicatoarele booleene sunt reprezentri vizuale ale valorii logice i simuleaz leduri, realizate sub diferite forme. Unele componente de interfa afieaz unul din cuvintele urmtoare: - nchide (off), anuleaz (cancel), sau oprete (stop), pentru starea logica fals; - deschide (on) sau n-regula (ok), pentru starea logic adevrat. C. Controale i indicatoare de tip ir de caractere Comportamentele de interfa tip ir de caractere permit citirea /afiarea mrimilor aparinnd acestui tip de dat. n etapa construirii panoului frontal, se introduce o valoare pentru un control ir de caractere prin unealta de etichetare sau de operare. D. Controale si indicatoare tip tablou si grupare de date

Tablou (Array) este o structura de date compus, cu elemente aparinnd aceluiai tip: numeric, boolean, ir de caractere, cale de fiier (path), identificator unic (refnum) grupare de date (cluster). Se spune ca tabloul este o structur omogene de date. Elementele dein n cadrul structurii compuse o poziie bine determinat; accesul la o celul se face prin indexare. Pentru un tablou cu N elemente, primul element se gsete la poziia 0, iar ultimul element din tablou la poziia N-1. Un tablou poate avea mai multe dimensiuni; numrul maxim de elemente /dimensiuni este 231 1. Fig. Tablou uni- multi dimensional

Pentru crearea n panoul frontal a unui control / indicator de tip tablou, se selecteaz din csua cu controale (Array & Cluster), un obiect Tablou aa cum se indica n fig.:

Fig. Array & Cluster Dup plasarea obiectului de interfa tip tablou la irul dorit, pe suprafaa panoului frontal, se va indica eticheta proprie a variabilei. Astfel s-a definit o variabil de tip tablou, pentru care urmeaz s se indice tipul elementelor. Numai variabila tip tablou singur nu poate fi folosit, neavnd asociat vreo semnificaie de control sau indicator; se spune despre o variabil de tip tablou c este indicator sau control dup tipul elementelor. Pentru componenta tablou sunt afiate dou csue: csua indicelui, din partea stng i csua valoare din partea dreapta; ntr-o csu valoare se afieaz valoarea elementului tabloului de pe poziia prezentat n csua indice. O grupare de date (Cluster) este o structur compus de date. Nu este obligatoriu ca elementele componente s aparin aceluiai tip, spre deosebire de limitarea apartenenei unice a tipului la elementele unui tablou (Array).

Fig. Clustere Prin operaia de grupare programatorul are acces simultan la toate elementele coninute ntro variant de tip grup, spre deosebire de tablouri unde prin indexare se obine accesul la un singur element. Fiecare element dintr-o structur de tip grupare de date are asociat un numr de ordine. Numrul de ordine asociat elementelor grupului este actualizat automat n momentul realizrii operaiilor de adugare sau eliminare elemente. E. Controale i indicatoare pentru reprezentri grafice Prin intermediul acestor componente de interfa plasate n panoul frontal, se permite vizualizarea reprezentrilor grafice. Indicatoarele primesc valori numerice necesare realizrii reprezentrii grafice, n urma prelucrrii din diagrama bloc. Controalele se utilizeaz n locul indicatoarelor dac valorile necesare realizrii reprezentrii grafice sunt primite ca parametri de intrare pentru IV curent, folosit drept subrutina (sub IV). Nu se permite utilizatorului s realizeze o reprezentare grafica interacionnd direct asupra unui control. Caseta cu unelte grafice reine elementele, care se pot folosi de ctre utilizator n faza de execuie a IV, prin care se realizeaz operaii de scalare i de stabilire a unor opiuni asociate reprezentrii. Componentele de interfa, dedicate reprezentrilor grafice, se mpart n doua categorii generale: Diagrama (chart); Grafic (graph). Diagramele sunt reprezentri grafice ale unei mrimi, care se modifica pe o perioad de timp. Graficele reprezint variaia a doua mrimi: y in funcie de x. Diagrama spre deosebire de grafic pstreaz punctele reprezentate anterior, permind vizualizarea variaiei n timp a procesului; noile puncte sunt afiate n continuarea celor vechi. Reprezentarea punctelor curente n grafic se face dup tergerea reprezentrii anterioare. Sunt disponibile 5 tipuri de componente de interfa pentru vizualizarea reprezentrii grafice: 1. diagrama unda (waveform charts); 2. grafice unda (waveform graphs); 3. grafice XY (XY graphs); 4. diagrame intensitate (intensity charts); 5. grafice intensitate (intensity graphs). 1.Diagrama unda

Este o component de interfa dedicat afirii uneia sau mai multor reprezentri grafice simultan, pentru care se urmrete variaia n timp. 2.Graficele unda Se utilizeaz pentru reprezentarea funciilor de o variabila, avnd punctele distribuite uniform pe axa absciselor. Aceasta se aseamn cu diagrama undelor; se permite realizarea uneia sau mai multor reprezentri simultane. 3.Graficul XY Este componenta cea mai general, care permite realizarea reprezentrilor grafice ale funciilor de dou variabile X i Y. De asemenea se pot realiza una sau mai multe reprezentri simultane. 4.Diagrama intensitate Permite reprezentarea grafic a valorilor numerice prin intermediul unor dreptunghiuri pline, colorate. Valorile numerice sunt reinute ntr-o structur tip matrice; elementele matricii reprezint codurile culorilor de umplere a zonelor dreptunghiulare. Codurile culorilor sunt preluate dintr-o structur care reine corespondena cod-culoare. 5.Graficul intensitate Are o comportare asemntoare diagramei intensitate, deosebirea consta n faptul c la graficul intensitate, n momentul afirii noilor puncte, se terg prima data reprezentrile anterioare.

Diagrama Bloc Prii din interfaa grafic cu utilizatorul, dat de panoul frontal, i corespunde diagrama bloc, care reine codul programului i definete funcionalitatea IV. Elementele utilizate la realizarea diagramei bloc sunt clasificate n trei grupe generale: 1. noduri; 2. terminale; 3. fire. 1. Nodurile sunt elemente de execuie din limbajul G, ale unui IV. Nodurile din limbajul G corespund operatorilor, funciilor predefinite, instruciunilor, subrutinelor realizate de utilizator din limbajele convenionale de programare structurat. Exista apte tipuri de noduri: Funcii predefinite; Subrutine; Instruciuni pentru controlul execuiei programelor; Formule de calcul; Noduri proprietate; Variabile locale i globale; Un nod se execut doar n momentul, n care exist valori disponibile pentru toi parametrii de intrare; date-rezultat sunt furnizate simultan n exterior, doar dup ce toate operaiile din corpul nodului s-au realizat. 2. Terminalele reprezint pori prin intermediul crora se realizeaz transferul datelor: - ntre Panoul Frontal i Diagrama Bloc (bidirecional); - ntre nodurile Diagramei Bloc (unidirecional).

Terminalele se regsesc n diagrama IV i au asociat o reprezentare grafic sugestiv. Exista 4 tipuri de terminale: - asociate controalelor i indicatoarelor din panoul frontal; - asociate nodurilor; - constante; - particulare instruciunilor pentru controlul execuiei programelor. Cele 4 tipuri se grupeaz n : - terminale surs; - terminale destinaie. 3. Firele, definesc i reprezint grafic fluxul datelor (ntre noduri se realizeaz schimbul de informaii) n diagrama bloc. Fluxul datelor este de la terminalele sursa spre terminalele destinaie. Fiecare tip de dat este codificat cu ajutorul culorilor dup cum se observ i n figura de mai jos :

A treia componenta unui IV este pictograma si conectorul. Prin stabilirea pictogramei i conectorului, acel instrument virtual va putea fi folosit ca i subrutin n diagrama bloc a altui IV. III.3.2. Instruciuni pentru controlul execuiei programelor Instruciunile pentru controlul execuiei programelor mbuntesc posibilitatea de realizare a funcionalitii IV. Exist 4 instruciuni pentru controlul execuiei programelor: instruciunea secvenial (Sequence); instruciunea de selecie (Case); instruciunea repetitiv (For Loop); instruciunea repetitiv Do - While (While Loop); Fiecrei instruciuni de control i este asociat o reprezentare grafic distinctiv, pe baza creia poate fi recunoscut vizual n diagrama bloc a IV. Blocul operaiilor care definesc corpul instruciunii constituie subdiagrama. A. Instruciunea repetitiva Do While Reluarea execuiei corpului instruciunii repetitive Do-While este condiionat de valoarea logic a expresiei de oprire: pentru valoarea logic Adevrat se reia execuia subdiagramei structurii iar pentru valoarea logica Fals are loc ncheierea instruciunii. Instruciunea Do-While din limbajul G este echivalenta cu instruciunea do-while din limbajul C, cu sintaxa: Do

<instruciune> while( <expresie_logic>); Instruciunea Do-While este o structur repetitiv, cu test final; corpul instruciunii se execut cel puin o dat i se repet, ct timp valoarea <expresiei_logice> este Adevrat (True). Prin intermediul registrelor de transfer se permite furnizarea rezultatelor ntre iteraii succesive ale instruciunii repetitive. Auto-indexarea nu se aplic implicit pentru un tunel (intrare ieire) de pe structura Do-While: programatorul trebuie s indice explicit pentru fiecare tunel, dac se dorete utilizarea auto-indexrii. Numrul de repetri ale corpului nodului Do-While este controlat, n primul rnd de valoarea logica (Adevrat) a expresiei de oprire i mai puin de dimensiunea unui tablou furnizat diagramei printr-un tunel de intrare, care folosete autoindexarea. Dup parcurgerea tuturor elementelor tabloului, valoarea implicit asociat tipului elementului de tablou se va transfera corpului buclei, n toate iteraiile urmtoare, astfel: Dac tipul elementului de tablou este real, atunci valoarea implicit este 0.00E+0; Dac tipul elementului de tablou este un numr ntreg sau natural, valoarea implicit este 0. Principalele elemente ale unei structuri Do-While sunt: - terminalul expresiei de ieire; - terminalul contor de ciclu pentru instruciunea Do-While (terminalul iteraii); - butonul de prsire a subIV curent i revenire n IV apelant. Fig. Structura repetitiv Do-While

B. Instruciunea repetitiv For Instruciunea repetitiv For asigur reluarea instruciunilor, care alctuiesc corpul ciclului de un numr de ori. Stabilirea valorii numrului de iteraii se poate face prin doua metode: - se furnizeaz o valoare printr-o legtur la terminalul N; - dimensiunea tabloului transferat instruciunii For printr-un tunel de intrare (care permite auto-indexarea) este atribuit numrului de ciclri.

Fig. Structura repetitiv For Logica instruciunii For este redata n limbajul Pascal astfel: For contor := To N-1 Do <instruciune>; Valoarea iteraiei curente este dat de terminalul contor. Dup prima iteraie valoarea terminalului este 0, dup a doua iteraie este 1,... pentru iteraia N este N-1. Transferul elementelor unui tablou (aflat n exteriorul structurii repetitive) n interiorul subdiagramei instruciunii For se face printr-un tunel de intrare, situat pe chenarul buclei. Tunelul de intrare permite implicit i auto-indexarea n cazul instruciunii For: elementele subdiagramei sunt furnizate pe rnd subdiagramei, cte unul la fiecare iteraie, ncepnd cu primul element (de indice 0); dimensiunea tabloului d valoarea numrului de cicluri. C. Instruciunea de selecie CASE Instruciunea condiional sau de selecie multipl permite executarea unei instruciuni (poate fi compus) din mai multe alternative, pe baza valorii unei singure expresii, numit expresie selector. Instruciunea cuprinde dou sau mai multe subdiagrame: fiecare subdiagram corespunde unei alternative /caz. Instruciunile condiionale i de selecie multipl sunt realizate n limbajul G prin instruciunea CASE. Este vorba de dou instruciuni reunite ntr-una singur, selecia fcndu-se dup tipul expresiei selector: - tipul boolean selecteaz instruciunea condiional (echivalenta cu IF-THEN-ELSE din limbajele de programare bazate pe text); - tipul numeric sau ir de caractere selecteaz instruciunea de selecie multipl (echivalenta cu Case sau Swich din limbajele de programare bazate pe text) Se prezint n continuare sintaxa instruciunilor din limbajul Pascal echivalente instruciunii de selecie din limbajul G. Sintaxa instruciunii condiionale n limbajul Pascal este: IF <expresie logica> THEN <instruciune 1> ELSE <instruciune 2>; (alternativa opional) Sintaxa instruciunii de selecie multipl n limbajul Pascal este: CASE <expresie selector> OF CASE <val 1> :<instruciune 1>; CASE <val 2> :<instruciune 2>; ................. CASE <val n> :<instruciune n>; ELSE <instruciune implicita> (alternativa opional) END; unde: <expresie selector> - este expresia selector de tip ordinal pentru a se obine o mulime numrabil de valori, dup care s se realizeze selecia instruciunii.; <val i> - este eticheta CASE, de acelai tip cu tipul expresiei selector; <instruciune i> - reprezint instruciunea care se execut dac valoarea expresiei selector coincide cu valoarea <val i> a etichetei CASE; <instruciune implicit> - este instruciunea, care dac este prezent, se execut dac valoarea expresiei selector nu este egal cu nici o etichet CASE; n cazul n care expresia selector este de tip numeric ntreg, atunci pentru etichetele CASE se pot indica urmtoarele valori: - lista de valori scalare: -11, 0, 2, 4, 6; - interval -10..10;

- interval limita superior: ..1; - interval limita inferior: 10..; - combinaia celor anterioare. Daca expresia selector este de tip ir de caractere: - valorile etichetelor CASE sunt afiate ntre ghilimele (VAL 1); - introducerea valorilor etichetelor nu este obligatorie s se fac ntre ghilimele (doar daca eticheta conine caracterele virgul sau expresia ..); D. Instructiunea secventiala Instruciunea secvenial permite programatorului s impun ordinea de execuie a anumitor subdiagrame, ntre care nu exista dependena datelor; de exemplu naintea subdiagramei de prelucrare a datelor este necesar s se execute subdiagrama, care realizeaz iniializarea /salvarea mediului curent de lucru. Corpul instruciunii secveniale este format din una sau mai multe subdiagrame; fiecare subdiagram este reinut de un cadru. Cadrele sunt dispuse unul sub celalalt, la un moment dat fiind afiat coninutul unui singur cadru. Ordinea de execuie a subdiagramelor reinute de instruciunea secvenial este dat de numrul de ordine al cadrului; primul cadru are valoarea 0, al doilea are valoarea 1, al treilea cadru are valoarea 2 i aa mai departe. Numrul de ordine al subdiagramei curente este afiat n partea superioara a chenarului instruciunii. Semnificaia elementelor din diagrama bloc a IV se prezint n continuare: - numrul subdiagramei curente; - control pentru trecerea la subdiagrama anterioar; - lista derulant coninnd numerele cadrelor; - terminalul tip tunel de intrare; - terminalul de ieire local al secvenei; - terminalul de intrare local al secvenei; Trecerea de la o subdiagram la alta se face prin elementele de control aflate n partea superioar i central a cadrului instruciunii. III.3.3. Bara de unelte Ferestrele Panoului frontal i ale Diagramei bloc din IV posed fiecare cte o bar orizontal cu unelte. Aceste bare cu unelte sunt implementate prin intermediul unor butoane, liste derulante sau indicatoare de stare, utilizate pentru editarea, trasarea i execuia unui IV. O parte din opiunile celor dou bare cu unelte sunt comune i anume cele dispuse n partea dreapt a barei.

Bara de unelte
a b c d e f g h

Indicator de atentionare Enter

Butoanele suplimentare care apar in bara de unelte in cadrul Diagramei Bloc

Semnificaia butoanelor este urmtoarea : a rulare IV b - rulare continua unui IV c Oprirea rulrii unui IV d pauz n rularea unui IV e - front control f - h - butoane utilizate pentru ordonarea i configurare i regim de rulare cu afiarea fluxurilor j l trasare interactiv (programul ateapt ca utilizatorul s indice execuia urmtoarei instruciuni) O alta componenta importanta a interfeei acestui program este caseta de unelte generale. Aceasta cuprinde instrumente pentru crearea, editarea sau trasarea execuiei instrumentelor virtuale. Afiarea / ascunderea casetei cu unelte generale se face prin opiunea Windows / Show Tool Palette .

Semnificaia elementelor casetei cu unelte generale este urmtoare: unealta de operare se manevreaz mai ales valorile din elementele panoului frontal unealta de editare selectare, mutare, redimensionare obiect unealta de etichetare permite introducerea de la tastatur a textului unealta de interconectare realizeaz legturile ntre noduri (elemente de execuie) n fereastra Diagrama Bloc unealta de defilare unealta care permite inserarea n cadrul diagramei bloc a unui punct de ntrerupere a execuiei unui IV unealta sonda se afieaz o fereastra n care se afieaz valoarea transmis pe un fir de legtur unealta de colorare