5_lab_final_

149
LABVIEW 7 1. Introducere InstrumentaĠia virtuală reprezintă ceea ce era acum un deceniu lanĠul de măsurare, la care s-a înlocuit partea de instrumente fizice cu instrumente virtuale. Un instrument virtual este compus dintr-o parte hardware (în principal un convertor analogic digital) úi o parte software care permite configurarea instrumentului după dorinĠa utilizatorului. Cu puĠin timp în urmă, utilizatorul îúi configura instrumentul fizic cu ajutorul butoanelor úi potenĠiometrelor, făcea conexiunile dintre instrument úi aparatele de înregistrare pe hârtie sau electronice úi trebuia le aibă pe toate în acelaúi loc pentru a le supraveghea úi a le manevra. Acum, utilizatorul introduce o placă de achiziĠie date în computer úi cu ajutorul soft-ului de programare grafică îúi configurează instrumentul de măsurare úi în plus poate crea úi câte inregistratoare grafice doreúte. Toată partea fizică a lanĠului de măsurare aflându-se pe o placă controlată de microprocesorul computerului, utilizatorului nu-i mâne decât să se conecteze la traductoarele specifice mărimii de surat úi săútie să manevreze un mouse. Reprezentarea instrumentelor fizice se face pe monitorul computerului cu ajutorul elementelor grafice existente în biblioteca limbajului de programare grafică. Există două posibilităĠi de a lucra cu instrumentaĠie virtuală: - doreúti săĠ i creezi singur instrumentele necesare úi atunci trebuie să cunoúti limbajul de programare graficăúi s ă dispui de acesta (necesarul de timp minim pentru învăĠare ar fi de 30 de ore); - doreúti să fii numai utilizator de instrumentaĠie virtuală, úi atunci trebuie săĠi cumperi de la un dezvoltator de aplicaĠii un program executabil ce va face numai ceea ce îĠi doreúti. Avantajele instrumentaĠiei virtuale se deduc úi din cele spuse mai sus: - ocupă un spaĠiu mic (practic un computer úi un monitor); - poate fi cu elemente distribuite (pot măsura în mai multe locuri odată); - datele se pot transmite prin internet (laboratorul de măsurare se poate afla într-un anume loc iar analiza rezultatelor se poate face în cu totul altă parte); - instrumentele nu mai ocupă un spaĠiu fizic (o magazie) ci sunt stocate în memoria computerului; - flexibilitate maximă privind configurarea instrumentelor (oricând se poate úterge un instrument din memorie úi se poate face altul,

Upload: zdeniel2006

Post on 05-Dec-2014

38 views

Category:

Documents


3 download

DESCRIPTION

labview

TRANSCRIPT

LABVIEW 7

1. Introducere

Instrumenta ia virtual reprezint ceea ce era acum un deceniulan ul de m surare, la care s-a înlocuit partea de instrumente fizice cuinstrumente virtuale. Un instrument virtual este compus dintr-o partehardware (în principal un convertor analogic digital) i o parte softwarecare permite configurarea instrumentului dup dorin a utilizatorului.

Cu pu in timp în urm , utilizatorul î i configura instrumentul fiziccu ajutorul butoanelor i poten iometrelor, f cea conexiunile dintreinstrument i aparatele de înregistrare pe hârtie sau electronice i trebuia

le aib pe toate în acela i loc pentru a le supraveghea i a le manevra.Acum, utilizatorul introduce o plac de achizi ie date în computer

i cu ajutorul soft-ului de programare grafic î i configureazinstrumentul de m surare i în plus poate crea i câte inregistratoaregrafice dore te. Toat partea fizic a lan ului de m surare aflându-se pe oplac controlat de microprocesorul computerului, utilizatorului nu-i

mâne decât s se conecteze la traductoarele specifice m rimii desurat i s tie s manevreze un mouse. Reprezentarea instrumentelor

fizice se face pe monitorul computerului cu ajutorul elementelor graficeexistente în biblioteca limbajului de programare grafic .

Exist dou posibilit i de a lucra cu instrumenta ie virtual :- dore ti s i creezi singur instrumentele necesare i atunci

trebuie s cuno ti limbajul de programare grafic i s dispui de acesta(necesarul de timp minim pentru înv are ar fi de 30 de ore);

- dore ti s fii numai utilizator de instrumenta ie virtual , i atuncitrebuie s i cumperi de la un dezvoltator de aplica ii un programexecutabil ce va face numai ceea ce î i dore ti.

Avantajele instrumenta iei virtuale se deduc i din cele spuse maisus:

- ocup un spa iu mic (practic un computer i un monitor);- poate fi cu elemente distribuite (pot m sura în mai multe locuri

odat );- datele se pot transmite prin internet (laboratorul de m surare se

poate afla într-un anume loc iar analiza rezultatelor se poate face în cutotul alt parte);

- instrumentele nu mai ocup un spa iu fizic (o magazie) ci suntstocate în memoria computerului;

- flexibilitate maxim privind configurarea instrumentelor(oricând se poate terge un instrument din memorie i se poate face altul,

INSTRUMENTA IA VIRTUAL8

se pot ad uga elemente de comand sau indicatoare, canale saumemorie);

- dispar practic problemele legate de murd rirea comutatoarelorsau imperfec iunea conexiunilor;

- dispar sau se mic oreaz mult erorile de offset sau de calibrare;- costurile privind achizi ia de aparate i intre inerea lor se reduc

foarte mult, inând cont c o singur plac multifunc ional de achizi iedate împreun cu softul aferent poate înlocui o mul ime de alteinstrumente fizice dedicate;

- interfa a grafic foarte prietenoas cu utilizatorul;- timpul relativ mic de înv are a limbajului de programare

grafic ;- mul imea de instrumente virtuale gata construite pentru a

sura, a face analiza semnalului, a-l prelucra i a-l transmite oriundedore te utilizatorul.

Un sistem de achizi ie date (sau de m surare) este format, înprincipal, din traductoare, condi ionatoare de semnal, pl ci de achizi iedate, software i computer.

Laboratorul urm re te prezentarea conceptului de instrumenta ievirtual , caracteristicile mediului LabVIEW i structura unui instrumentvirtual.

Dup realizarea panoului frontal al IV, trebuie implementatfunc ionalitatea programului; se construie te diagrama bloc, carereprezint codul sursa al instrumentului (arat CUM? se rezolvproblema). Pentru realizarea diagramei bloc, se utilizeaz limbajul graficG.

Sunt prezentate elemente de baz care trebuie cunoscute pentru castuden ii s realizeze i s utilizeze instrumente virtuale.

1.1. Prezentarea op iunilor meniului afi at la lansareaLabVIEWMediul LabVIEW se lanseaz f când dublu-clic cu butonul din

stânga al mouse-lui pe pictograma asociat programului (aflat pedesktop-ul sistemului Windows) sau alegând cu mouse-ul meniul

“Start/ Programs/ National Instruments LabVIEW / LabVIEW”

Pe ecranul calculatorului apare meniul prezentat în figura 1.1.

LABVIEW 9

Fig. 1.1. Meniul afi at dup lansarea mediului LabVIEW

Semnifica ia butoanelor din fereastra ilustrat în figura 1.1 seprezint în continuare:

• “IV Nou (New VI):Se creeaz un IV nou.

• “Deschide un IV (Open VI) :Se deschide un IV existent.

• ”Utilitarul de realizare a unei solu ii ( SolutionWizard):

Se lanseaz un utilitar, care permite realizarea în mod interactiv aunei aplica ii personalizate pentru achizi ia de date sau instrumentale.

• “ utare exemple ( Search Examples):Se lanseaz un utilitar, care permite consultarea de exemple

distribuite de firma NI odat cu mediul LabVIEW.• ” Îndrum tor LabVIEW ( LabVIEW Tutorial):

Se lanseaz un program demonstrativ de înv are (tutorial) despreLabVIEW, care folose te op ional placa de sunet. Programuldemonstrativ trebuie s fie instalat anterior (ocup în jur de 40 MB) sau

existe CD-ul original pozi ionat în unitate.• ” Ie ire ( Exit ):

Se p se te mediul LabVIEW.Ac iuni care trebuie realizate:

• Se indentific ac iunile realizate de butoanele din dreaptaferestrei (fig. 1.1), afi ate la lansarea mediuluiLabVIEW.

• Se alege op iunea “New VI” pentru creerea unui IV nou.Se observ c pentru noul IV au fost deschise dou ferestre,

suprapuse una peste cealalt , asemenea a dou file de carte. Prima

INSTRUMENTA IA VIRTUAL10

fereastr este Fereastra Panoului Frontal al IV; sub aceast fereastr sese te Fereastra Diagramei Bloc a IV.

• Se trece din Fereastra Panoului Frontal în FereastraDiagramei Bloc, selectând cu mouse-ul din meniulorizontal “ Windows/Show Diagram”.

• Din Fereastra Diagramei Bloc se va reveni înapoi înFereastra Panoului Frontal alegând din meniul orizontal“Windows/Show Panel”.

• Fiind activat Fereastra Panoului Frontal, se allege“File/Close” pentru închiderea IV.

1.2. Consultarea exemplelor instalate

În continuare se prezint modalitatea de consultare a exemplelorinstalate odat cu mediul LabVIEW.

Consultarea exemplelor constituie principala surs de înv are adiferitelor tehnici de programare în LabVIEW i de utilizare a diferitelortipuri de obiecte i func ii:

• Dup lansarea mediului LabVIEW, se ob ine pe ecranulcalculatorului meniul din figura 1.1. Se alege op iunea “Cautexemple” (Search Examples).

• Se prezint o fereastr meniu, în care op iunile (de tip text)sunt grupate pe diferite subiecte. Se vor nota în caieteprincipalele grupe de subiecte disponibile.

• Din sec iunea “Demonstra ii” (Demonstrations) se alegeop iunea “Controlul Procesului“ (Process Control).

Exemplele disponibile apar grupate pe vertical . În coloana dinstânga este afi at denumirea IV, iar în partea dreapt o scurt descriere aexemplului. Prin selectarea cu mouse-ul a denumirii unui exemplu (afi atîn prima coloan ), se va declan a deschiderea IV pentru consultare.

• Înainte s se selecteze cu mouse-ul având denumirea“Controlul Procesului de Amestecare” (Control MixerProcess), se va nota în caiete explica ia din coloana dreapt .

• Dup consultarea Ferestrei Panoului Frontal se trece înFereastra Diagramei Bloc alegând “Windows/ShowDiagram”. Se revine în Fereastra Panoului Frontal prin“Windows/Show Panel”.

• Se închide exemplul, alegând din meniul orizontal”File/Close”.

LABVIEW 11

• Dup revenirea în meniul afi at de LabVIEW (fig.1.1), sepoate alege din nou op iunea “Caut exemple” (SearchExamples), pentru a deschide alte exemple.

Observa ie:Nu se vor salva modific rile (voite/involuntare) realizate în

timpul consult rii exemplelor oferite de biblioteca LabVIEW.Exemplele trebuie p strate în varianta original , oferite de firma NI.

1.3. Rolul i componen a barei cu unelte din fereastrapanoului frontalPe marginea unui exemplu de IV se va prezenta în continuare

rolul i componen a barei cu unelte din fereastra panoului frontal.Se citesc i se re in elementele din sec iunea care urmeaz i care

prezint elemente din bar cu unelte ale ferestrei panoului frontal.Fereastra Panoului Frontal i ale Diagramei Bloc din IV posed

fiecare câte o bar orizontal cu unelte. Aceste bare cu unelte suntimplementare prin intermediul unor butoane, liste derulante sauindicatoare de stare, utilizate prin editarea, trasarea i execu ia IV. Oparte din op iunile celor dou bare cu unelte sunt comune i anume celedispuse în partea dreapt a barei.

Prin butonul “Rulare IV” (fig.1.2.a) se lanseaz în execu ie(comanda Run) programul curent.

În figura 1.2 se prezint cele dou variante sub care poate ap reabutonul Run în timpul execu iei IV: cazul 1.2 a reflect situa ia în care IVeste modulul principal al aplica iei (apeleaz alte IV), iar cazul 1.2.bcorespunde situa iei în care IV este executat de c tre IV apelant.Elementul din figura 1.2.a se modific în cel redat de figura 1.2.c înmomentul apari iei unor erori (cel mai adesea prezente în diagrama bloc),datorit c rora IV nu poate fi compilat. Pentru consultarea surselor deeroare, se apas cu butonul stâng al mouse-ului pe butonul din figura 1.2c(simbolizând o “ geat frânt ); se afi eaz o list vertical con inândsursele de eroare, care se pot inspecta i localiza în diagrama bloc.

a b c d e f g hFig. 1.2. Bara cu unelte din fereastra panoului frontal

INSTRUMENTA IA VIRTUAL12

Pentru rularea continu (se reia la infinit execu ia programuluidup terminare) a IV se va ac iona asupra elementului ”Rulare Continua IV din figura 1.2.b.

Oprirea execu iei (indiferent de starea de execu ie curent ) unuiIV se face prin butonul de ”Oprire a Rul rii IV (fig. 1.2.c). Este ometod practicat de utilizator pentru oprirea necondi ionat a rul riiunui IV (care se execut cu afi area panoului frontal).

Observa ie:

Dac se pozi ioneaz cursorul mouse-ului deasupra oric ruielement din bara cu unelte, se afi eaz în dreptul cursorului mouse-uluiun mesaj (tool tip text), care informeaz despre denumirea uneltei.

inând cont de observa ia anterioar , s se re in în caieteutilizarea recomandat , ob inut pentru restul elementelor din baraorizontal cu unelte a ferestrei panoului frontal (fig. 1.2.d-h).

Se lanseaz mediul LabVIEW i din meniul prezentat în figura1.4 se alege op iunea Caut Exemple (Search Examples).

Se localizeaz IV denumit “ cina P trat “ (Square Root),din sec iunea “Fundamentals/Structures”;se noteaz explica ia dinpartea dreapt a numelui exemplului i se selecteaz cu mouse-ul pentrudeschidere.

Exemplul selectat este deschis în LabVIEW pentru consultare.Se va observa pentru diferite date de intrare ale controlului cuidentificator “Num r”(Number) rezultatul afi at de indicator “Valoarea

cinii P trate”(Square Root Value).

1.4. Prezentarea elementelor din bara cu unelte din fereastradiagramei blocSe porne te mediul LabVIEW i se deschide IV denumit

“R cin P trat ” (Square Root) din sec iunea“Fundamentals/Structures”.

Se re ine c atunci când un IV existent este prezentat automatdoar fereastra care re ine realizarea panoului frontal; utilizatorul va trebui

solicite explicit afi area diagramei bloc, pentru consultareaimplement rii func ionalit ii IV. În situa ia cre rii unui IV nou, suntafi ate automat ambele ferestre: panoul frontal i diagrama bloc.

Se trece în fereastra care re ine implementarea func ionalit iiinstrumentului: se selecteaz din bara cu meniuri op iunea “Ferestre/Afi eaz Diagrama Bloc” (Windows/Show Diagram).

LABVIEW 13

Se re in elementele care apar în bara cu unelte din fereastradiagramei bloc, prezentat în figura 1.7.

Ac ionând asupra butonului din figura 1.3, e, seactiveaz /inactiveaz regimul de rulare a IV cu afi area fluxului datelor.Dac butonul afi eaz imaginea unui “bec emi ând lumin ”, atunci peparcursul rul rii IV se poate urm ri ordinea de executare a componentelordiagramei bloc (este inhibat i facilitatea de execu ie paralel a unor subIV).

a b c d e f g h i j k l

Fig. 1.3. Bara cu unelte din fereastra diagramei bloc

Trasarea interactiv (programul a teapt ca utilizatorul s indiceexecu ia urm toarei instruc iuni) a execu iei IV se face utilizândelementele din figura 1.3.f-h.

Utilizând butonul din figura 1.3,f se execut urm toareainstruc iune a IV , dup care se a teapt o nou interac iune din parteautilizatorului; în cazul în care instruc iunea curent corespunde apeluluiunui sub IV (procedur ), atunci se va executa prima instruc iune din IVapelat. Pentru o trasare a execu iei unui IV pe blocuri de instruc iuni(toate instruc iunile apar inând unui bloc vor fi executate simultan), se vautiliza butonul din figura 1.3.g; dac instruc iunea urm toare este un apelde sub IV, atunci se va executa întreg programul apelat. Revenirea dinblocul apelat în cel apelat se face la ap sarea butonului ilustrat în figura1.3.h.

În timpul rul rii unui IV (rulare cu afi area fuxului datelor), sepoate declan a de c tre utilizator o întrerupere temporar (nelimitat caperioad ) a execu iei programului prin butonul de “Generare Pauz“(fig. 1.3.d); continuarea execu iei IV se face ap sând din nou.

În fereastra diagramei bloc a IV “R cin P trat ” se urm re tefluxul datelor. Se apas butonul din figura 1.3.e pentru a urm ri fluxuldatelor (imaginea unui “bec emi ând lumin ”). Se utilizeaz butonul derulare a IV (fig. 1.3.a) i se observ modul în care se execut“instruc iunile” care implementeaz func ionalitatea IV. Se repet rulareaIV.

INSTRUMENTA IA VIRTUAL14

În timpul rul rii IV, fiind activat modul de afi are a fluxuluidatelor, se exerseaz utilizarea Butonului de întrerupere temporar i dereluare a execu iei programului.

Se inactiveaz modul de afi are a fluxului datelor de rulare. Seînchide IV “R cina P trat “.

1.5. Prezentarea i utilizarea meniurilor contextualeÎn meniul de programare LabVIEW, aproape fiecare obiect

folosit la realizarea unui IV are asociat un meniu con inând op iuni, princare se pot realiza opera ii de actualizare a unor propriet i (vizuale saucomportamentale) asociate; acestea sunt meniurile pop-up, numite imeniuri contextuale.

Op iunile care apar într-un meniu contextual sau dependente detipul obiectului:

- panoul frontal;- diagrama bloc;- obiecte din panoul frontal (controale, indicatoare, etichete

libere);- func ii din diagrama bloc;- apeluri de IV.

Se selecteaz i p streaz cursorul mouse-ului deasupra unuiobiect (prezent în panoul frontal sau diagrama bloc); afi area meniuluicontextual asociat se face ap sând butonul din dreapta mouse-ului. Prindotarea editoarelor cu meniuri contextuale (pop-up), într-un meniu graficde programare (Windows), se ofer o metod rapid de acces lacomenzile obi nuite.

Se porne te mediul LabVIEW i se alege deschiderea unui IVnou. În fereastra Panoului Frontal al noului IV se pozi ioneaz cursorulmouse-ului în interiorul acestuia.

Ap sând butonul din dreapta al mouse-ului se afi eaz meniulcontextual asociat panoului frontal; se re ine c prin aceast metod seafi eaz la pozi ia cursorului mouse-ului caseta cu colec ia disponibil decontroale i indicatoare, din care se alege obiectul de interfa dorit,pentru a fi plasat în panoul frontal.

Observa ie: Nu este necesar s se permit afi area în permanen ,pe ecran a casetei cu obiecte pentru realizarea panoului frontal, dinmotive de economisire a spa iului util, de lucru; când este nevoie, seapeleaz meniul contextual asociat ferestrei panoului frontal, con inândcaseta cu controale i indicatoare.

LABVIEW 15

Se selecteaz printr-un clic cu butonul stâng al mouse-uluipictograma care simbolizeaz un control numeric digital din caseta decontroale i indicatoare, meniul “Numeric/Digital Control”. Obiectul detip control va fi plasat pe suprafa a panoului frontal i la pozi iacursorului mouse-ului printr-un nou clic cu butonul stânga. Dup cecontrolul numeric cu afi are digital a fost plasat pe suprafa a panouluifrontal, se observ c în partea superioar a chenarului controlului esteafi at un mic dreptunghi înnegrit, de dimensiunea unei litere.

Se introduce de la tastatur textul “ControlNr1” , reprezentândidentificatorul asociat obiectului (eticheta proprie sau owned label), dupcare se apas pe butonul afi at în bara cu unelte din fereastra panouluifrontal. Se afi eaz meniul contextual asociat controlului “ControlNr1”i se re ine denumirea op iunilor posibile (fig. 1.4).

Fig. 1.4. Meniul contextual asociat unui control numeric

1.6. Prezentarea barei orizontale cu meniuriAvând mediul LabVIEW deschis, se concentreaz aten ia asupra

meniului orizontal, afi at în partea superioar a ferestrei panoului frontal(figura 1.5).

Fig. 1.5. Bara cu meniuri din LabVIEW

Bara orizontal cu meniuri con ine op iuni pentru realizarea unorac iuni obi nuite (gestionare fi iere, editare), implementate în majoritatea

INSTRUMENTA IA VIRTUAL16

aplica iilor Windows, dar i op iuni specifice mediului LabVIEW. Încontinuare se prezint cele mai importante op iuni, utilizatorii fiindinvita i s identifice locul op iunilor în bara cu meniuri i s sefamiliarizeze cu acestea pe parcursul exerci iilor.

În momentul select rii, prin butonul stânga al mouse-ului, a uneiop iuni din bara orizontal cu meniuri (fig. 1.5), apare un subdomeniuderulant, con inând mai multe op iuni dispuse pe vertical .

Prin selectarea op iunii “Fi ier” (File) se permite utilizatoruluirealizarea unor ac iuni (înc rcare, salvare, compilare) de gestionare afi ierelor, care g zduiesc IV-le. Submeniul derulant, afi at în momentulselect rii acestei op iuni, este eviden iat în figura 1.6.

Fig. 1.6 Submeniul derulant „Fisier”

Se prezint în continuare semnifica ia op iunilor din submeniul“Fi ier“ (File):• Se declan eaz opera ia de creare a unui IV nou (fig. 1.6.a).• Se deschide un IV existent (fig. 1.6.b).• Se închide fereastra curent (fig.1.6.c). Dac ac iunea se declan eaz

din fereastra panoului frontal, atunci se închide fi ierul, care re ineimplementarea IV.

abc

def

g

h

i

LABVIEW 17

• Se realizeaz salvarea modific rilor realizate asupra IV (fig. 1.6.d).• Se permite salvarea IV(deschis în editare) sub un alt nume de fi ier i

eventual în alt director i pe o alt unitate de disc (fig.1.6.e).• Se realizeaz o dublur a IV i permite salvarea într-un fi ier sub un

alt nume (fig.1.6.f).• Se ofer op iuni pentru tip rirea programului (fig.1.6.g): panou

frontal, diagrama bloc, pictograma asociat , IV-le apelate .a.Tip rirea programului se poate face la imprimant sau într-un fi ier(format HTML sau RTF).

• Se apeleaz un editor specializat (fig. 1.6.h), care permite realizareade opera ii de tergere a IV dintr-un fi ier bibliotec (LLB) iindicarea modulului principal din bibliotec (se afi eaz la începutullistei numerelor de IV din bibliotec ).

• Se realizeaz conversia tuturor IV dintr-un fi ier bibliotec laversiunea curent a mediului LabVIEW (figura 1.6.i).

Realizarea tip ririi IV într-un fi ier reprezint o modalitate foarteutil de arhivare, independent de versiunea mediului LabVIEW utilizat.Parcurgând fi ierul documenta ie al IV se poate reface programul, efortulde reintroducere fiind neglijabil în compara ie cu siguran a p str riicodului surs al aplica iei.

Op iunea de “Editare” (Edit) din meniul bar orizontal pune ladispozi ia dezvoltatorului programului câteva opera ii, care pot fi folositeîn crearea sau modificarea panoului frontal i a diagramei bloc.

Figura 1.7 prezint op iunile subdomeniului derulant “Editare”.Semnifica ia celor mai importante op iuni din subdomeniul

derulant “Editare” se prezint în continuare:• Se anuleaz efectele ultimei opera ii de editare (fig. 1.7.a);• Se reface ultima opera ie de editare (fig. 1.7.b);• Se copiaz obiectele selectate în memoria temporar clipboard i apoi

se elimin din instrumentul virtual (fig. 1.7.c);• Se copiaz obiectele selectate n memoria temporar clipboard

(fig.1.7.d);• Con inutul memoriei temporare clipboard se insereaz în fereastra

curent (fig. 1.7.e);• Se terg obiectele selectate (se ob ine acela i efect, dac se apas

tasta <Delete>, fig. 1.7.f);• Se elimin toate firele care realizeaz conexiuni eronate (fig. 1.7.g);

INSTRUMENTA IA VIRTUAL18

• Se permite schimbarea de c tre utilizator a ordinii de parcurgere (larulare) a obiectelor din panoul frontal (fig. 1.7.h);

• Se genereaz pentru obiectele selectate din diagrama bloc un nou IV:pictograma asociat noului IV înlocuie te obiectele selectate (fig.1.7.i);

• Se selecteaz o aranjare personalizat a elementelor, care apar încasetele cu controale i indicatoare, respectiv cu func ii i IV (fig.1.7.j);

• Se personalizeaz casetele cu controale i indicatoare, respectiv cufunc ii i IV (fig. 1.7.k).

Fig. 1.7 Submeniul derulant „Editare”

În LabVIEW versiunea 5.0.1, se ofer implicit posibilitateaanul rii efectelor ultimelor 8 opera ii de editare, realizate asupra oric rorIV deschise. Num rul de anul ri a efectelor ac iunilor de modificarepoate varia între 0 i 99; prin stabilirea acestui num r la o valoare preamare, se reduce dimensiunea memoriei disponibile, de lucru, firmaNational Instruments recomandând evitarea utiliz rii valorii 0, care

a-b-

c-d-e-f-

g-h-

i-

j-k-

LABVIEW 19

poate determina blocarea sistemului. Accesul la aceast valoare se faceprin meniul “Edit / Preferences”, op iunea “Block Diagram”.

Mediul LabVIEW permite utilizatorilor crearea unor aranj ripersonalizate ale elementelor componente din casetele cu controale,respectiv func ii; odat personalizat , dispunerea se salveaz sub unnume sugestiv (atribuit de utilizator) i se selecteaz ulterior pentruutilizare (Edit/Select Palette Set). În mod implicit sunt definite unnum r de patru aranjamente:

1. elemente de baz (basic);2. implicit toate (default);3. elemente care vizeaz achizi ia de date (daq_view);4. elemente pentru realizarea m sur torilor (t&m_view).

Pentru o anumit configura ie a casetei cu controale, respectiv cufunc ii, se poate opta între afi area elementelor componente sub formaunor pictograme-grafice sau text (Edit / Select Palette Set/ DisplayStyle).

Lansarea editorului, care permite personalizarea casetelor cucontroale i func ii, se face selectând din meniul bar op iunea “Edit /Edit Control & Function Palettes…”. Pentru aranjarea existent saupentru crearea uneia noi (op iunea “new setup…” din meniul derulant),se permite rearanjarea con inutului, tergerea sau inserarea de noielemente, dup care se opteaz pentru salvarea modific rilor realizate(Save Changes). Accesul la opera iile de editare este dat de op iunilemeniurilor contextuale, apelate la ap sarea butonului dreapta al mouse-ului, pozi ionat deasupra obiectelor sau casetei.

Observa ie:Dac se utilizeaz LabVIEW versiunea 5.0.1, se va verifica dac

în caseta cu func ii sunt disponibile intr rile pentru instrumentelevirtuale: “Resize Panel .vi”, „Release Instrument.vi”, „Open Panel.vi”,„Run Instrument.vi”, … i “Write File+ (string).vi”, „Read File+(string).vi”, … În caz contrar, se realizeaz dou intr ri noi în caseta cufunc ii, pentru accesarea direct a instrumentelor virtuale destinatecontrolului IV i pentru opera ii cu fi iere. Se poate întâmpla ca, în urmainstal rii programului LabVIEW, fi ierele bibliotec cu IV s existe peharddisk, iar caseta cu func ii s nu con in intr ri pentru toate IV.

Dup ce se porne te editorul pentru personalizarea casetei cufunctii (“Edit/Edit Control & Function Palettes…”), se insereaz

INSTRUMENTA IA VIRTUAL20

succesiv dou submeniuri (din meniul contextual se alege“Insert/Submenu…” i se selecteaz “Link to a library”) astfel:

• Se introduce numele submeniului “VI Control” i seindic sursa:

…\labview\vi.lib\utility\victl.llb• Se introduce numele submeniului “File” i se indic sursa:

\labview\vi.lib\utility\file.llb• Meniul LabVIEW se instaleaz implicit în directorul

“c:\Program Files\ National Instruments .În final, se salveaz modific rile; se verific utilizarea

aranjamentului casetei cu func ii, care con ine cele dou submeniuriad ugate anterior (Edit/Select Palette Set/Display Style).

Ob inerea de informa ii suplimentare, referitoare la IV i subIVapelate, se face prin op iunea “Proiect’(Project) din meniul bar prezentatîn figura 1.8.

Fig. 1.8. Submeniul derulant „Proiect” cu op iuni adi ionale pentru IV

Semnifica ia op iunilor submeniului “Proiect se prezint încontinuare:

a-b-

c-

d-

LABVIEW 21

• Se lanseaz utilitare pentru consultarea canalelor sau selectareaunei solu ii privind achizi ia de date (DAQ, fig. 1.8.a).

• Se lanseaz un utilitar pentru gestionarea IV i a bibliotecilor.LLB de instrumente virtuale (fig. 1.8.b). Se ofer posibilitatearealiz rii unor opera ii de copiere, redenumire, tergere a unui IVsau bibliotec .LLB, creare bibliotec .LLB sau director nou,expandarea într-un subdirector a con inutului bibliotecii LLB înfi iere fizice de instrumente virtuale, conversia con inutului unuisubdirector (con inând fi iere IV) într-un fi ier bibliotec LLB.

• Se afi eaz arborele de apel cu IV pentru modulul curent(exemplul din figura 1.10), v zut ca modul principal (fig. 1.8.c).

• Se afi eaz pictogramele IV apelate din modulul curent (fig.1.8.d).

Pentru accesarea ferestrelor deschise i a casetelor, utilizatorului ise pune la dispozi ie meniul “Ferestre” (Windows), cu op iunileprezentate în figura 1.9.

Fig. 1.9. Submeniul derulant “Ferestre “ pentru accesarea ferestrelor

Semnifica ia op iunilor din submeniul derulant “Ferestre” seprezint în cele ce urmeaz :

• Se realizeaz trecerea între fereastra Panoului Frontal ifereastra Diagramei Bloc (fig. 1.9.a).• Se afi eaz o fereastr , în care se introduce descrierea IVcurent (fig. 1.9.b).

a-b-

c-d-

INSTRUMENTA IA VIRTUAL22

• Se afi eaz /ascunde caseta cu controale i indicatoare dinfereastra Panoului Frontal sau caseta cu func ii i IV din fereastraDiagramei Bloc (fig. 1.9.c).• Se afi eaz / ascunde caseta cu unelte generale (fig. 1.9.d).Ob inerea de informa ii descriptive despre obiectele panoului

frontal sau diagramei bloc a IV, lansarea utilitarului de asistare (help) sauconsultarea versiunii mediului LabVIEW utilizat se face prin meniul de“Asistare (Help) din bara cu meniuri.

Fig. 1.10. Op iunile de asistare ale submeniului “Asistare”

Prezentarea op iunilor submeniului “Asistare” se prezint încontinuare :

• Se afi eaz / ascunde fereastra de asisten (fig. 1.10.a);• Se deschide uilitarul de asisten (fig. 1.10.b);• Se lanseaz programul de prezentare al mediului LabVIEW(tutorial), care trebuie s fie instalat pe hard disc sau s existe înunitatea de CD-ROM discul original (fig. 1.10.c);• Se lanseaz un utilitar,care permite utilizatorului consultareainteractiv a exemplelor din mediul LabVIEW, grupate pe 5sec iuni (fig. 1.10.d).Studentii vor localiza în meniul bar op iunile prezentate anterior,

recitind din laborator semnifica ia acestora.

a-

b-

c-

d-

LABVIEW 23

1.7. Prezentarea casetei cu unelte generaleCaseta cu unelte generale cuprinde instrumentele folosite de

utilizator la crearea, editarea sau trasarea execu iei instrumentelorvirtuale. Afi area / ascunderea casetei cu unelte generale se face prinop iunea “ Ferestre/ Afi eaz Caseta cu Unelte (Windows /Show ToolsPalette) din bara cu meniuri. Caseta cu unelte generale se prezint înfigura 1.11, în care s-a definit un sistem de identificare matricial auneltelor.

O alt metod de afi are a casetei cu unelte generale se bazeazpe comportarea contextual : se pozi ioneaz cursorul mouse-lui îninteriorul ferestrei Panou Frontal sau Diagram Bloc i se apassimultan tasta Shift i butonul din dreapta mouse-lui.

Se exerseaz cele dou metode de afi are a casetei cu uneltegenerale prezentate (din bara cu meniuri i acceleratori).

1 2 3

Fig. 1.11. Caseta cu unelte generale

Semnifica ia elementelor casetei cu unelte generale esteurm toarea:

• Unealta pentru operare (fig. 1.11.a1)Prin intermediul uneltei se manevreaz mai ales valorile

elementelor panoului frontal; Se folose te mai rar în diagrama bloc, lastabilirea valorii constantelor (exemplu : constanta universal true- false,tablou de constante).

• Unealta de editare (fig. 1.11.a2).Se realizeaz : selectare, mutare, redimensionare obiect.• Unealta de etichetare (fig. 1.11.a3).Permite introducerea de la tastatur a textului.• Unealta de interconectare (fig. 1.11.b1).Se folose te în fereastra diagramei bloc, pentru a realiza leg turile

între noduri (elemente de execu ie). Firele definesc fluxul datelor. În

a-b-

c-

d-

INSTRUMENTA IA VIRTUAL24

panoul frontal se realizeaz coresponden ele între controale / indicatoarei terminalele conectorului.

• Unealta de defilare (fig. 1.11.b2).Se realizeaz defilarea con inutului ecranului, f a folosi barele

de defilare ale ferestrei.• Unealta prin care se insereaz în diagrama bloc un punctde întrerupere a execu iei IV , pe unul dintre fire (pe un fir seaccept un singur punct de întrerupere) sau noduri.Se folose te în scopul depan rii programului (fig. 1.11.c1).• Unealta sond (fig. 1.11.c2).Se define te o fereastr în care se afi eaz valoarea transmis pe

un fir de leg tur (în faza de execu ie a IV). Se utilizeaz diagrama bloc,mai ales pentru depanarea programului.

• Se preia culoarea obiectului asupra c ruia se execut cliccu butonul stânga al mouse-lui (fig. 1.11.c3).• Unealta de colorare (fig. 1.11.d).Se folose te mai ales la realizarea panoului frontal, permi ând

stabilirea culorii pentru prim planul i de fundalul obiectelor.Se creeaz un IV nou prin op iunea “File/ New“ din bara cu

meniuri. În continuare se r mâne în fereastra panou frontal.Se afi eaz caseta cu controale i indicatoare, dac nu este

vizibil .Metoda 1: Din meniul bar orizontal se alege “ Windows/ Show

Controls Palette”.Metoda 2: Prin meniuri contextuale, cursorul mouse-lui pozi ionat

în interiorul Ferestrei Panou Frontal, se apas butonul stâng al mouse-lui.

Se selecteaz un control numeric digital (Numeric/DigitalControl) i printr-un clic cu butonul din stânga al mouse-lui acesta va fipozi ionat pe suprafa a panou frontal al noului IV. Se tasteaz ”Num r 1pentru eticheta proprie a controlului.

Se selecteaz unealta de editare. Se pozi ioneaz cursorul mouse-lui (de exemplu) deasupra col ului dreapta-jos a c su ei valoare acontrolului numeric digital ”Num r 1 ; se observ cum cursorul mouse-lui va lua forma unui col ar, indicând posibilitatea redimension riiobiectului. Pentru redimensionare, se ine ap sat butonul stâng al mouse-lui i se realizeaz mi carea mouse-lui în direc ia înainte sau înapoi,func ie de redimensionarea dorit (mic orare sau m rire); se va eliberabutonul stâng al mouse-lui în momentul ob inerii efectului de

LABVIEW 25

redimensionare dorit. În general, redimensionarea poate s se faccombinat: pe vertical i orizontal .

Se re ine în fereastra panoului frontal, la fiecare ap sare a tastei<Spacebar>, se realizeaz comutarea între unealta de editare i cea deoperare. Se exerseaz de câteva ori schimbarea uneltei curente prinap sarea tastei <Spacebar>.

Se trece în fereastra diagramei bloc. Se re ine c , la fiecareap sare a tastei <Spacebar>, se realizeaz comutarea între unealta deeditare i cea de interconectare. Se exerseaz de câteva ori schimbareauneltei curente, prin ap sarea tastei <Spacebar>.Se revine în fereastrapanoului frontal.

La fiecare ap sare a tastei <Tab>, se parcurge circular listauneltelor: operare-editare-etichetare-colorare.S se tasteze aceastposibilitate.

Se pozi ioneaz unealta de operare deasupra c su ei valoare acontrolului.

Se re ine modificarea aspectului cursorului mouse-ului într-obar vertical de dimensiunea unei litere, indicând c pentru acel obiectse poate declan a opera ia de editare a valorii re inute.

Pentru declan area ac iunii de editare, se face clic stânga cumouse-ul în interiorul c su ei valoare; cu tastele <Delete> i<Backspace>, se pot terge cifrele afi ate în control i se poate introducede la tastatur o valoare numeric real . Ap sând tasta <Enter> saubutonul din bara cu meniuri, pe care este afi at textul ”Enter , nouavaloare va fi atribuit controlului.

Se exerseaz utilizarea uneltelor disponibile de colorare. Se re ine prin realizarea unei interfe e înc rcate de culoare se deranjeaz i

distrage aten ia operatorului uman; în acela i timp, se îngreuneazactivitatea pl cii video la fiecare reîmprosp tare a ecranului.

1.8. Metode de asistare în LabVIEWMediul LabVIEW ofer dezvoltatorilor de programe dou metode

de asisten , care pot fi utilizate pe parcursul dezvolt rii unui IV:fereastra (Help Window) i utilitarul (Online Help) de asisten .

Afi area/ascunderea ferestrei de asisten se poate face prindou metode: se alege op iunea ”Help Show Help din bara cu meniurisau ap sând concomitent Ctrl/H.

Fereastra de asisten se utilizeaz în cazurile urm toare:

INSTRUMENTA IA VIRTUAL26

• La afi area descrierii pentru obiectele din panoul frontal idiagrama bloc;• La consultarea casetei cu func ii (în fereastra diagrameibloc), se prezint semn tura i o descriere de utilizare (eventual ia parametrilor formali) a componentei, deasupra c reia se aflcursorul mouse-lui;• În diagrama bloc, terminalul conectorului IV, asupra

ruia se opre te unealta de interconectare, este eviden iat prinafi are intermitent în fereastra de asisten ; metoda de asistareeste utilizat frecvent în realizarea conexiunilor la nodurile(func ii, subIV) dotate cu mai multe terminale, pentru selectareaexact a parametrilor a tepta i;• În diagrama bloc se permite afi area structurii de dat ,folosit pentru valoarea care se transfer între dou noduri, pe oleg tur existent : se opre te unealta de interconectare deasupraleg turii; se reaminte te faptul, c nodul reprezint elementul deexecu ie din limbajul G.Se începe un nou IV i se trece în diagrama bloc asociat . Se

activeaz afi area casetei cu func ii (Windows/Show Functions Palette)din bara cu meniuri i fereastra de asisten (se exerseaz ambele metodeprezentate).

Se consult i se re in descrierile (afi ate în fereastra de asisten )operatorilor din caseta cu func ii, grupa i pe urm toarele tipuri:

- numeric (Numeric);- boolean (Boolean);- tablou (Array);- relationali (Comparison).

Utilitarul de asisten prezint o descriere detaliat a obiectelordisponibile pentru realizarea diagramei bloc; se lanseaz din bara cumeniuri, dac se selecteaz "Help/Online Reference…" sau din fereastrade asisten (fig. 1.17.c). Utilitarul de asisten din LabVIEW esteasem tor cu a altor aplica ii realizate pentru platforma Windows; acestlucru îl face u or de întrebuin at.

Se lanseaz utilitarul de asisten prin ambele variante prezentate.Studentii se familiarizeaz cu posibilit ile de reg sire a informa ieidisponibile.

LABVIEW 27

2. Controale i indicatoareScopul acestui capitol este de a prezenta elementele disponibile

pentru realizarea panoului frontal IV.

2.1. Considera ii teoretice Un program realizat în LabVIEW are trei p i componente:

- panoul frontal;- diagrama bloc;- semn tura (pictograma i conectorul).

Panoul frontal al unui IV reprezint interfa a cu utilizatorul.Operatorul indic de la tastatur sau mouse datele de intrare aleprogramului prin interac iune asupra elementelor grafice de interfa ,numite controale. În urma prelucr rilor datelor de intrare, rezultatele suntafi ate spre consultare prin intermediul indicatoarelor. Un IV comunic cu alte IV prin intermediul controalelor(parametrii formali de intrare pentru modul) i indicatoarelor (parametriiformali de ie ire în acel moment IV este folosit ca subrutin (subIV) .

2.2 Tipuri de controale i indicatoareSunt disponibile controale i indicatoare pentru majoritatea

tipurilor de date: numeric, ir de caractere, boolean, tabel ,tablou, gruparede date, grafic, .a. Pentru un anumit tip de date sunt disponibile maimulte variante de controale i indicatoare, utilizatorul putând s optezepentru cea mai sugestiv realizare.

În etapa construirii panoului frontal, utilizatorul alege pe rândelemente de interfa necesare din caseta cu controale i indicatoare ile a eaz în interiorul ferestrei panou frontal. Afi area casetei cucontroale (dac nu este vizibil ) se poate face prin dou metode:

1. din bara cu meniuri se alege “Ferestre/Afiseaza Caseta cuControale (Windows/ Show Controls Palette);sau

2. se pozi ioneaz cursorul mouse-ului în interiorul ferestreipanoului frontal i se apeleaz meniul contextual.

Recomandare:De cele mai multe ori se lucreaz sub mediul Windows , spa iul

de lucru pe ecran este redus (mai ales în cazul folosirii unui monitor cudiagonala de 14 inch) datorit prezen ei ferestrelor auxiliare cu unelte/componente de interfa , care înso esc majoritatea aplica iilor cu caracter

INSTRUMENTA IA VIRTUAL28

grafic. Pentru a avea o viziune cât mai cuprinz toare asupra panouluifrontal al IV, se recomand inhibarea afi rii ferestrelor suplimentare;majoritatea casetelor auxiliare se pot închide putând fi apelate prinmeniuri contextuale (afi are temporar prin selectarea unei componentede interfa sau op iuni asociate unei ac iuni).

Dac cursorul mouse-ului este "purtat" peste caseta cu controale,se afi eaz automat denumirea grupului de componente în titlul ferestreigazd . Afi area con inutului unui anumit grup este declan at larealizarea unui clic stânga al mouse-lui pe pictograma corespunz toare.Dup identificarea grupului, se alege varianta dorit a elementului deinterfa (control/indicator); preluarea componentei din caseta cucontroale se face prin clic stânga pe pictograma asociat , dup care seelibereaz butonul mouse-ului. Cursorul mouse-ului va lua forma uneimâini, care re ine componenta selectat ; plasarea componentei pesuprafa a panoului frontal se va face la pozi ia curent a cursoruluimouse-ului, în urma unui clic stânga.

1 2 3

Fig.2.1. Caseta cu elemente de control si indicatoare

Semnifica ia elementelor din caseta cu controale i indicatoare seprezint în continuare în leg tur cu fig. 2.1, unde s-a adoptat un sistemde identificare matricial:

- componente numerice (fig. 2.1.a1);- componente booleene (fig. 2.1.a2);- componente ir de caractere i tabel (fig. 2.1.a3);

a-

b-

c-

d-

LABVIEW 29

- liste cu op iuni (fig. 2.1.b1): list circular / inel (TextRing), meniuri derulante ( Menu Ring, Dialog Ring),cutie list (Listbox);

- tablou i grupare de date (fig. 2.1.b2);- reprezent ri grafice (fig. 2.1.b3);- cale de fi ier (fig. 2.1.c1);- elemente decorative (fig. 2.1.c2);- componente utilizator (fig. 2.1.c3);- componente pentru suport ActiveX (fig. 2.1.d1);- op iune pentru selectarea unui control stocat într-un fi ier

(se permite consultarea structurii de directoare,(fig.2.1.d2).

Imediat dup plasarea controlului /indicatorului pe suprafa apanoului frontal se recomand indicarea unei etichete proprii (ownedlabel), care reprezint identificatorul obiectului în codul surs alprogramului (diagrama bloc a IV).

Stabilirea valorilor pentru op iunile adi ionale elementului deinterfa , care se pot referi la afi area unor elemente descriptivesuplimentare, selectarea comport rii mecanice (controale booleene), tipulde reprezentare folosit, domeniul valorilor posibile (minim, maxim,valoare implicit ) i num rul de zecimale semnificative, se face prinintermediul meniului contextual asociat controlului sau indicatorului,ilustrat în figura 2.2.

Op iunile aceluia i meniu contextual permit i conversiacontrolului în identificator sau invers, localizarea terminalului asociat îndiagrama bloc (codul surs al programului), crearea în diagrama bloc deelemente (noduri) pentru controlul propriet ilor asociate, stabilirea unuicomentariu care s descrie semnifica ia i rolul variabilei, asociereaelementului de interfa a unei combina ii de taste utilizate pe post deaccelerator (key navigation), folosit la rularea IV.

Prin intermediul nodurilor proprietate, asociate controalelor bar ,indicatoarelor, programatorul modific (ac iune transparentutilizatorului aplica iei) din codul surs al programului (diagrama bloc)atributele fizice ale obiectelor de interfa din panoul frontal: vizibilitatea(visible), dezactivarea (disabled), pozi ia (x,y) în panoul frontal, culoarea.a. Majoritatea op iunilor, ilustrate în meniul contextual (figura 2.2), se

reg sesc i la celelalte tipuri de controale i indicatoare.

INSTRUMENTA IA VIRTUAL30

Fig. 2.2 Meniu contextual asociat unui control numeric

Programatorii pot specifica pentru controalele din panoul frontaltaste acceleratori, prin care acestea s fie selectate la execu iaprogramului: se folose te op iunea "Key Navigation…" din meniulcontextual asociat elementului de interfa . Controlul pentru care s-aap sat combina ia de taste (la rularea IV) devine obiect curent de editare.

Într-un panou frontal nu pot exista dou controale, care sutilizeze aceea i combina ie de taste acceleratori. Pentru indicatoare nuse pot asocia acceleratori; ace tia nu sunt obiecte de interfa destinateactualiz rii valorilor re inute.

Asocierea unei taste accelerator pentru selectarea controlului (laexecu ia IV) este utilizat mai ales pentru butoanele de comand ,elemente de interfa cu dou st ri (true sau false, corespunz tor ap satsau neap sat). Prin utilizarea acceleratorului unui buton de comand , seproduce acela i efect ob inut la ap sarea cu mouse-ul pe acel control.

Se recomand utilizarea acceleratorilor pentru controale tip butonmai ales în aplica iile utilizate pentru supravegherea unor fenomene, carese desf oar rapid în timp, trebuind achizi ionate valori la intervalescurte de timp. În acest caz, este important s nu apar un eveniment, a

rui tratare din partea unit ii centrale de prelucrare (UCP) acalculatorului (pe care se realizeaz monitorizarea ) s duc , de exemplu,la pierderea unor valori critice ale fenomenului analizat sau la apari iaunor probleme nea teptate în func ionarea IV.

Un eveniment posibil (ap rut la rularea aplica iei) ar putea ficauzat i de mi carea mouse-ului pe suprafa a panoului frontal al IV ,ducând la ocuparea UCP cu tratarea acestei întreruperi, care ar putea fifatal pentru analiza procesului. De aceea, pentru aplica iile în caretimpul UCR este critic, se recomand deconectarea fizic a mouse-ului

LABVIEW 31

din sistemul calculatorului; interac iunea utilizatorului cu aplica ia se vaface prin acceleratorii (tastatura calculatorului) asocia i controalelorprezente în panourile frontale.

Fiecare control i indicator plasat în panoul frontal prime teautomat un num r de ordine (ordinea din panoul frontal). Primul elementare num rul de ordine 0, al doilea are asociat valoarea 1 .a.m.d.Num rul de ordine din panoul frontal al controalelor se poate modificainteractiv prin op iunea "Edit/Panel Order…" din bara cu meniuri,determinând afi area valorii numerice curente în stânga fiec rui element.

Parcurgerea controalelor (la execu ia IV) în ordinea cresc toare anum rului de ordine din panoul frontal se face prin ap sarea tastei<Tab>; revenirea pe un control anterior se face prin ap sarea simultan atastelor <Shift> i <Tab>.

2.3. Controale i indicatoare de tip numericTransmiterea valorilor numerice spre program sau afi area

rezultatelor numerice se face prin intermediul controalelor iindicatoarelor numerice. Exist mai multe realiz ri ale componentelor deinterfa , corespunz toare tipului de dat numeric. Fiind activ fereastrapanoului frontal, pentru consultarea colec iei de componente numerice seva afi a caseta cu controale (dac nu este vizibil ): din bara cu meniuri sealege "Ferestre /Afi eaz Caseta cu Controale" (Windows/ShowControls Palette), sau se apeleaz meniul contextual pentru obiectulfereastra panou frontal (clic dreapta); din caseta cu controale seselecteaz grupul "Numeric", care va afi a colec ia cu variantele derealizare a elementelor de interfa corespunz toare tipului numeric,aspect redat în figura 2.3.

Colec ia de controale i indicatoare numerice re ine urm toarelevariante de realizare:

- digital;- cursor orientat vertical (vertical slide) sau orizontal

(horizontal slide);- rezervor (tank);- termometru (thermometer);- buton rotitor (knob);- buton disc de telefon (dial);- cadran aparat de m sur (meter);- kilometraj (gauge).

INSTRUMENTA IA VIRTUAL32

Fig. 2.3 Variante ale componentelor de interfata pentru tipul numeric de date

Controalele numerice digitale sunt preferate pentru simplitatearealiz rii grafice, prevenind posibile confuzii de folosire a aplica iei de

tre operatorul uman. În general, interfe ele se recomand s fie cât maisimple i în realizarea lor s se foloseasc cele mai sugestive componentevizuale. Controalele i indicatoarele numerice digitale afi eaz rezultateleunor prelucr ri matematice. Controalele i indicatoarele numericedigitale se recomand a fi utilizate la implementarea interfe ei IV(parametrii de intrare i de ie ire), care vor fi folosite ca i subrutineauxiliare, utilizatorul ne-interac ionând cu panoul frontal al acestora.

Introducerea valorilor într-un control numeric digital se face cuunealta de operare i ac ionând prin una din metodele urm toare:

1. Se face clic stânga deasupra chenarului controlului, pentru a plasacursorul în câmpul de editare i se introduce noua valoare de latastatur sau se folosesc s ge ile de pe claviatur .

2. Se folosesc butoanele (dispuse pe vertical în partea stâng acâmpului de editare) de incrementare sau decrementare. Îninteriorul câmpului de editare se pot folosi tastele <Delete> i<Backspace>,pentru tergerea caracterului din dreapta, respectivstânga, cursorului.Încheierea opera iei de editare se face ap sând tasta <Enter>, sau

butonul etichetat ”Enter (afi at în stânga barei cu unelte), sau realizândun clic stânga cu mouse-ul în exteriorul controlului.

LABVIEW 33

Pentru un control numeric, plasat în panoul frontal, se pot stabilisuplimentar unele propriet i prin meniul contextual asociat:

- valoarea curent afi at este stabilit implicit (DataOperations/ Make Current Value Default);- asocierea unui accelerator (Key Navigation);- formatul de reprezentare (Representation): se poate alegeunul din cele 12 tipuri disponibile, redate în fig. 2.5;- domeniul valorilor posibile, incrementul (Data Range…)folosit;- stabilirea formatului de afi are (numeric, datcalendaristic ) i a num rului de zecimale utilizate în afi are(Format & Precision…).

0 1 2Fig. 2.4. Formate de reprezentare disponibile din meniul contextual

Semnifica ia formatelor de reprezentare din figura 2.4 se prezintîn continuare:

- real, precizie extins (96 bi i, fig. 2.4, a0);- real, dubl precizie (64 bi i, fig. 2.4, a1)- real, simpl precizie (32 bi i, fig. 2.4, a2);- întreg cu semn, dublu cuvânt (32 bi i, fig. 2.4, b0);- întreg cu semn, cuvânt (16 bi i, fig. 2.4, b1);- întreg cu semn, octet (8 bi i, fig. 2.4, b2) ;- întreg f semn, dublu cuvânt (32 bi i, fig. 2.4, c0);- întreg f semn, cuvânt (16 bi i, fig. 2.4, c1);- întreg f semn, octet (8 bi i, fig. 2.4, c2);- precizie extins numere complexe (96 bi i, fig. 2.4, d0);

a-

b-

c-

d-

INSTRUMENTA IA VIRTUAL34

- dubl precizie (64 bi i) numere complexe (fig. 2.4, d1);- simpl precizie (32 bi i), numere complexe (fig. 2.4, d2).

Num rul de zecimale stabilite pentru un control numeric estefolosit la afi area valorii numerice i nu influen eaz precizia cu care seopereaz ; precizia depinde de formatul de reprezentare selectat.

Cadranul grafic este în permanen vizibil pentru o component ,vizibilitatea afi ajului numeric digital fiind op ional . Prezentare valoriire inute de componenta de interfa prin afi ajul numeric digital se faceprin op iunea "Show / Digital Display", din meniul contextual asociat.

Componenta de intefa poate fi schimbat din control înindicator i invers, prin op iunea "Change to Indicator", respectiv"Change to Control", din meniul contextual.

Introducerea (la editarea sau rularea IV ) valorii numerice pentruun control se face cu unealta de operare prin:

- afi ajul numeric digitalsau

- prin mi carea acului indicator (cu mouse-ul).Pentru o component cu cadran grafic se pot stabili, ca i la cele

digitale, urm toarele: accelerator, format reprezentare, domeniul valorilorpermise, num rul de zecimale. Prin meniul contextual se pot stabili înplus op iuni referitoare la formatul scalei (Scale) i înlocuirea valorilornumerice de pe scal cu etichete sugestive (Text Scale), ca în figura 2.5.

Semnifica iile op iunilor din figura 2.5 sunt urm toarele:- op iuni pentru distribuirea (Uniform /Arbitrar )

marcajelor (fig. 2.5.a1);- stabilirea num rului de zecimale i reprezentarea (fig.

2.5.a2);- op iuni pentru afi area marcajelor i valorilor (fig. 2.5.a3);- tipul de scal (Linear/Logaritmic, fig. 2.5.a4);- valorile de pe scal sunt înlocuite prin etichete sugestive

(fig. 2.5.b).Pe scala unui control /indicator cu cadran grafic se pot defini (în

faza de editare a IV) etichete sugestive (figura 2.6) prin selectareaop iunii "Etichete Text" (Text Labels), a meniului contextual din fig. 2.6,b. O etichet este un ir de caractere (indicat de utilizator), c reia îi esteasociat automat (de mediul LabVIEW) o valoare întreag pozitiv .

Încheierea procesului de introducere a etichetelor se face:- ap sând tasta <Enter> din partea dreapt a tastaturii (zona

tastelor numerice)

LABVIEW 35

sau- selectând cu mouse-ul butonul de comand <Enter> din

bara cu unelte (afi at în partea stâng ).

Fig. 2.5. Op iuni pentru formatul scalei i etichete la controale/ indicatoare cucadran grafic

Prima etichet de pe scal are asociat valoarea 0; ultimei eticheteîi corespunde o valoare dat de num rul de etichete minus valoare 1.

Fig. 2.6. Un control numeric tip rezervor cu etichete pe scal

a-

b--1

-2-3-4

INSTRUMENTA IA VIRTUAL36

2.4. Controale i indicatoare de tip booleanComponentele de interfa ale panoului frontal, apar inând tipului

boolean au dou valori posibile, corespunzând st rii de adev rat (True)sau fals (False). Valoarea logic fals este valoarea ini ial : componentaboolean a fost preluat din caseta de controale/indicatoare i plasat pesuprafa a panoului frontal.

Exist mai multe realiz ri grafice de controale de tip boolean:butoane, care pot fi ap sate, comutatoare, întrerup toare, butoane radio.Indicatoarele booleene sunt reprezent ri vizuale ale valorii logice isimuleaz leduri, realizate sub diferite forme (rotunde, p trate).

Fig. 2.7. Controale/indicatoare apar inând tipului boolean

Colec ia componentelor de interfa , apar inând tipului booleansunt disponibile din caseta de controale, grupate sub titlul Boolean(figura 2.7).

În etapa construirii panoului frontal, se poate verifica comportareaunui control sau indicator boolean, dac se selecteaz unealta i seac ioneaz cu butonul stânga al mouse-ului; la fiecare ap sare a mouse-ului, componenta de interfa de tip boolean va trece în starecomplementar .

Prin intermediul op iunilor meniului contextual, asociat obiectuluide tip boolean, se stabilesc valorile unor propriet i suplimentare sau serealizeaz ac iuni specifice:

LABVIEW 37

• schimbarea în control/indicator;• afi area/ascunderea etichetei proprii (owned label) i a

etichetei corespunz toare st rii logice (boolean text) pesuprafa a componentei;

• stabilirea valorii implicite;• crearea unui nod proprietate în diagrama bloc;• stabilirea comport rii mecanice (doar pentru controale).Op iunile meniului contextual sunt ilustrate în figura 2.8.Fiecare control/indicator boolean poate fi redimensionat prin

unealta de editare i colorat prin unealta de colorare.Pentru fiecare control sau indicator din panoul frontal, se

recomand indicarea unei etichete proprii, care este identificatorul(numele) asociat variabilei i folosit în diagrama bloc (codulprogramului).

De cele mai multe ori, nu este necesar afi area acesteia în panoulfrontal (putând deruta utilizatorul final al aplica iei), ascunderea f cându-se prin meniul contextual, op iunea „Show/Label” (neselectat ).

Majoritatea controalelor/indicatoarelor se g sesc în stareacorespunz toare valorii logice fals, dup ce au fost preluate din castacontroale i a ezate pe suprafa a panoului frontal.

Unele componente de interfa afi eaz unul din cuvinteleurm toare:

§ închide (off), anuleaz (cancel) sau opre te (stop), pentrustarea logic fals;

§ deschide (on) sau în-regul (ok), pentru starea logicadev rat, pe suprafa a grafic , eviden iind valoarea logiccorespunz toare st rii curente.

Eticheta corespunz toare st rii poate fi modificat prin unealtaetichetare; pentru stabilirea etichetei celeilalte st ri, se trece mai întâicomponenta în starea logic complementar (cu unealta de operare). O metod de a verifica starea curent a unui control/indicatorboolean, care nu afi eaz implicit eticheta st rii este de a o vizualiza prinop iunea „Show/ Boolean Text” din meniul contextual ( fig. 2.8.a).

Semnifica ia op iunilor din meniul contextual asociat uneicomponente booleene (fig. 2.8) se prezint în continuare:

• se vizualizeaz informa ii suplimentare (eticheta proprie ieticheta st rii, fig.2.8.a);

• submeniul Ac iuni asupra datei (Data Operations, fig. 2.8.b);

INSTRUMENTA IA VIRTUAL38

Fig. 2.8. Meniul contextual asociat unei componente booleene

• se stabile te valoarea implicit ( fig.2.8.b1);• submeniul pentru stabilirea comportamentului mecanic al

controlului boolean ( fig. 2.8.c);• comportare mecanic comut la ap sare (switch when

pressed, fig.2.8.d1);• comportare mecanic comut la eliberare (switch when

released, fig.2.8.d2);• comportare mecanic comut înainte de eliberare (switch

until released, fig.2.8.d3);• comportare mecanic vore te la ap sare (latch when

pressed, fig.2.8.e1);• comportare mecanic vore te la eliberare (latch when

released, fig.2.8.e2);• comportare mecanic vore te înainte de eliberare (latch

until released, fig.2.8.e3).În momentul select rii op iunii „ Stabile te Valoarea Curent

Implicit ”( Make Current Value Default, fig. 2.8.b1) se va stabilipentru componenta selectat starea/valoarea-logic curent castare/valoare implicit .

LABVIEW 39

Pictograma asociat comport rii mecanice eviden iaz grafic, întimp, succesiunea opera iilor: ac iunea utilizatorului cu mouse-ul asupracontrolului (litera M), noua valoare a controlului (litera V), momentulprelu rii valorii controlului de c tre diagrama bloc (literele RD).

Semnifica ia comport rii mecanice pentru controalele booleeneeste dup cum urmeaz :

• Comut la ap sare (fig.2.8.d1) La fiecare ap sare a butonului mouse-ului se modificstarea/valoarea controlului(comportare similar întrerup torului delumin ). Valoarea controlului nu este afectat de preluarea valorii îndiagrama bloc.

• Comut la eliberare (fig.2.8.d2)Valoarea controlului se modific dup eliberarea butonului

mouse-ului. Controlul r mâne în noua stare pân la urm toareainterac iune a utilizatorului. Valoarea controlului nu este afectat depreluarea valorii de diagrama bloc.

• Comut înainte de eliberare (fig.2.8.d3)Valoarea controlului se modific la ap sare i se re ine pân la

eliberarea butonului mouse-ului; la eliberare, controlul revine lavaloarea/starea anterioar interac iunii. Valoarea controlului nu esteafectat de preluarea valorii de diagrama bloc.

• vore te la ap sare ( fig.2.8.e1)La ap sare, se modific valoarea; noua valoare este re inut

pân când este preluat de diagrama bloc. Dup preluarea valorii,controlul revine la valoarea anterioar interac iunii.

• vore te la eliberare ( fig.2.8.e2)Valoarea controlului se modific dup eliberarea butonului

mouse-ului. Dup preluarea valorii de diagrama bloc, controlul revine lavaloarea anterioar a interac iunii.

• vore te înainte de eliberare ( fig.2.8.e3)Valoarea controlului se modific la ap sare. Controlul revine la

valoarea anterioar , dac survine unul din elementele:- diagrama bloc a preluat valoareasau- s-a eliberat butonul mouse-ului.

Se recomand comportare mecanic vore te la ap sarecontroalelor booleene, care s declan eze o singur dat o opera ie, lafiecare ap sare (exemplu: tip rirea unor date, trecerea în alt ecran,

sirea ecranului curent).

INSTRUMENTA IA VIRTUAL40

Pentru un control boolean, pentru care s-a indicat o comportaremecanic din clasa „z vorâre”, nu se mai pot defini variabile locale îndiagrama bloc. Prin variabil local se poate în elege utilizarea sub altnume a variabilei, cu care este pus în coresponden ; în limbajul Pascalsau C, ar echivala cu o variabil de tip pointer, asociate unei variabile.Fiec rui element de interfa din panoul frontal îi corespunde o variabilterminal în diagrama bloc;prin variabila local se adaug în diagramabloc înc o variabil -terminal, prin care programatorul are acces lavaloarea controlului/indicatorului p rinte, pentru inspectare sauactualizare.

2.5. Controale i indicatoare tip ir de caractereComponentele de interfa tip ir de caractere pentru

citirea/afi area m rimilor apar inând acestui tip de dat .În etapa construirii panoului frontal, se introduce o valoare pentru

un control/indicator ir de caractere prin unealta de etichetare sau deoperare; valoarea actualizat este asociat componentei în urma ap riibutonului <Enter>, afi at în bara orizontal cu meniuri sau a tastei<Enter> din partea dreapt a tastaturii (zona tastelor numerice).

Dac se apas tasta <Enter> atunci se va for a trecerea la un rândnou; valoarea (textul) afi at într-o component ir de caractere se poateîntinde pe mai multe linii (l imea cadrului).

Când se editeaz con inutul componentei i cursorul ajunge îndreptul limitei dreapta a spa iului de editare a controlului/indicatorului, setrece automat la o linie nou ; la un moment dat este vizibil o singurlinie alfanumeric .

Un control/indicator ir de caractere poate fi redimensionat prinunealta de editare.Dac valoarea unui control/indicator se întinde pe mai multe linii, sepoate afi a bara de defilare (scroll bar) a con inutului, prin op iuneameniului contextual Afi eaz / Bara derulare” (Show / Scroolbar).Op iunea este disponibil atât pentru controale cât i pentru indicatoare;pentru a avea succes la aceast op iune va trebuie anterior, m ritsuficient dimensiunea vertical (în imea final s fie minim triplulîn imii unei singure linii de text) a componentei (cu unealta de editare)pentru a asigura i afi area elementului de control bar de derulare. Dacnu se m re te suficient în imea componentei, atunci op iunea dinmeniul contextual nu va fi disponibil .

LABVIEW 41

Valoarea componentei se poate declara valoare-implicit dac seselecteaz din meniul contextual op iunea Ac iuni asupra datei /Stabile te Valoarea Curent Implicit (Data Operations / MakeCurrent Value Default).

Componenta selectat poate fi colorat prin unealta de colorare.Pentru caracterele utilizate la afi are se poate indica suplimentar:utilizarea unui anumit tip de caractere (font); dimensiunea i colorareacaracterelor, încadrarea orizontal a con inutului alfanumeric (stânga,centrat, dreapta), op iuni disponibile prin intermediul barei cu unelte.

Meniul contextual, asociat unui control tip ir de caractere(etichetat „Parola”), este prezentat în figura 2.9, prin care utilizatoruluiaplica iei i se cere introducerea unei parole de acces; verificareacorectitudinii parolei introduse se face în urma ap rii butonului decontrol, etichetat „VERIFIC ” pentru care s-a definit tasta accelerator<F7>.

Caracterele introduse în controlul „Parola” sunt protejate, fiindafi ate prin caractere”*”. Con inutul controlului este restric ionat la osingur linie, care îns poate dep i l imea vizibil componentei; înfigura 2.9, b op iunea „Limiteaz la o singur linie”este selectat –utilizatorul neputând introduce caracterul linie nou prin ap sarea tastei<Enter> în con inutul irului de caractere.

O alt component de interfa care faciliteazintroducerea/afi area datelor tip ir de caractere este tabelul, redat înfigura 2.9.

Ca structur de date, un tabel este un tablou bidimensional(matrice), cu elemente (celule) ir de caractere. Elementele sunt grupatepe linii, putând exista mai multe linii. O anumit celul a tabelului se va

si la intersec ia dintre linia i coloana corespunz toare.Un tabel poate fi control (permite actualizarea datelor con inute în

celule) sau indicator (afi area valorilor nu permite actualizarea datelor).Pentru o component de interfa tabel, se permite accesul prin

intermediul meniului contextual, asociat la eticheta proprie, afi areaindexului liniei i coloanei, afi area barei vertical /orizontal de derulare,afi area titlului pentru fiecare linie (Row Headers) i a capului de tabel(Column Headers) i definirea unei taste accelerator. Redimensionareatabelului i a celulelor se face prin unealta de editare.

Num rul de ordine pentru linii/coloane începe de la valoarea zero.

INSTRUMENTA IA VIRTUAL42

Introducerea valorilor în etapa construirii panoului frontal, într-ocomponent tabel (pentru capul de tabel, titlul de linie, celule), se faceprin unealta de operare sau de etichetare.

Fig. 2.9. Meniul contextual al unui control ir se caractere: a – op iunea pentruprotejarea afi rii irului de caractere; b – op iunea selectat interzice

introducerea caracterului linie nou la ap sare tastei <Enter>

Pentru a se ajunge la o anumit celul (la execu ia IV), se indicnum rul liniei i coloanei prin controalele din figura 2.9, a i b.Componentele index de coloan i linie indic pozi ia în tabel pentrucelula afi at curent în col ul stânga sus a zonei, în care este prezentatcon inutul tabelului.

2.6. Controale i indicatoare tip tablou i grupare de dateTabloul (Array) este o structur de date compus , cu elemente

apar inând aceluia i tip: numeric, boolean, ir de caractere, cale de fi ier(path), identificator unic (refnum), grupare de date (cluster). Se spune ctabloul este o structur omogen de date. Elementele de in în cadrulstructurii compuse o pozi ie bine determinat ; accesul la o anumit celulse face prin indexare.

Pentru un tablou cu N-elemente, primul element se g se te lapozi ia 0, iar ultimul element din tablou la pozi ia N-1. Un tablou poateavea mai multe dimensiuni;num rul maxim de elemente/dimensiune este

LABVIEW 43

231-1. Dimensiunea unui tablou este supus dimensiunii memorieidisponibile. Pentru fiecare dimensiune a unui tablou se folose te unindex.

În limbajul G, elementele unui tablou nu pot fi la rândul lortablouri.;se pot defini tablouri cu mai multe dimensiuni. Elementele unuitablou pot fi de tip grupare de date, care s con in elemente tip tablou,cu elemente de tip grupare de date .a.

Programarea în mediul LabVIEW încurajeaz folosirea structuriide date tablou, prin puternice func ii puse la dispozi ia dezvoltatorului deIV.

Pentru crearea în panoul frontal a unui control/indicator de tiptablou, se selecteaz din caseta cu controale, grupul Tablou & Gruparede Date (Array & Cluster), un obiect Tablou (Array) a a cum seindic în figura 2.10.

Dup plasarea obiectului de interfa tip tablou la locul dorit, pesuprafa a panoului frontal, se va indica eticheta proprie a variabilei(identificatorul variabilei tip tablou);acest lucru este semnalizatutilizatorului prin prezen a unui dreptunghi înnegrit, de dimensiunile unuicaracter, plasat în partea superioar , stâng a chenarului componentei.

S-a definit o variabil tip tablou, pentru care urmeaz s se indicetipul elementelor. Numai variabila tip tablou singur nu poate fi folosit ,neavând asociat vreo semnifica ie de control sau indicator; se spunedespre o variabil tip tablou c este indicator sau control dup tipulelementelor.

Este logic s se deduc concluzia: elementele unui tablou sunttoate controale sau toate indicatoare.

Dintre tipurile de date permise pentru elementele tabloului sealege o component din caseta cu controale i indicatoare; componentaselectat se pozi ioneaz cu mouse-ul deasupra variabilei tip Tablou .

Interiorul chenarului variabilei tip Tablou va fi afi at ha urat,indicând faptul c pentru variabila tablou se va indica tipul elementelor;printr-un clic stânga cu mouse-ul, se încheie definirea tipului elementelortabloului.

Pentru componenta tablou sunt afi ate dou c su e: su aindicelui, din partea stâng i su a valoare, în partea dreapt ; într-o

su valoare se afi eaz valoarea elementului tabloului de pe pozi iaprezentat în c su a indice. Cu unealta de editare se poate m ridimensiunea c su ei valoare: se trage de col ul din dreapta-jos al c su eipe direc ia orizontal , înspre dreapta sau pe direc ia vertical , în jos.

INSTRUMENTA IA VIRTUAL44

Dac se m re te dimensiunea c su ei valoare, se afi eaz simultan maimulte elemente ale tabloului: dispunerea este pe orizontal sau pevertical . Pentru modificarea orient rii elementelor tabloului trebuie s sereduc num rul de celule afi ate la una singur , dup care s seredimensioneze c su a valoare în direc ia dorit . Celulele elementelor, al

ror con inut este umbrit, indic faptul c nu sunt definite.

Fig. 2.10. Localizarea variabilei tip Tablou în caseta cu controale

Variabila tablou definit anterior are o singur dimensiune.Stabilirea dimensiunilor suplimentare pentru un tablou se face astfel:

§ se m re te (pe direc ia vertical în jos) cu unealta deeditare c su a indicelui

sau§ se selecteaz op iunea „Adaug o dimensiune” (AddDimension) din meniul contextual, asociat variabilei tablou.

Reducerea dimensiunilor unui tablou se realizeaz :§ mic orând (pe direc ia vertical în sus), cu unealta deeditare, c su a indicelui

sau§ selectând op iunea „Elimin o Dimensiune” (RemoveDimension) din meniul contextual asociat variabilei tablou.

Op iunea „Elimin o Dimensiune” din meniul contextual asociatvariabilei tablou este accesibil doar dac tabloul are minim 2dimensiuni.

Pentru un tablou cu mai multe dimensiuni, c su ele indice suntdispuse pe vertical .

LABVIEW 45

Pentru un tablou cu mai multe dimensiuni (matrice), se poate m ri zonavalorilor atât pe orizontal , cât i pe vertical : se ob ine o afi arematricial a elementelor. Elementul afi at în celula stânga sus a matriceide vizualizare a valorilor se g se te în tablou, la pozi ia indicat devalorile afi ate ale indicilor.

Redimensionarea c su ei valoare a componentei elementului detablou este imposibil , dup ce a fost plasat în interiorul chenaruluivariabilei tablou; pentru redimensionare (vizualizarea mai multor cifre)se procedeaz astfel: componenta se scoate în exteriorul variabilei tablou,se aduce cu unealta de editare (Positioning Tool) la dimensiunea dorit ,iar în final se plaseaz în interiorul chenarului componentei tablou.

O grupare de date (Cluster) este o structur compus de date.Nu este obligatoriu ca elementele componente s apar in aceluia i tip,spre deosebire de limitarea apartenen ei unice a tipului la elementele unuitablou (Array). Se spune c gruparea de date este o structur eterogen .

Structura grupare de date din limbajul G este implementat înlimbajul C prin tipul structur (struct), iar în Pascal prin tipul înregistrare(record).

Elementele componente ale unei grup ri de date pot apar ineoric rui tip valid de dat , din limbajul grafic G.

2.7. Controale i indicatoare pentru reprezent ri graficePrin intermediul acestor componente de interfa , plasate în

panoul frontal, se permite vizualizarea reprezent rilor grafice.Indicatoarele primesc valorile numerice, necesare realiz rii

reprezent rii grafice, în urma prelucr rilor din diagrama bloc.Controalele se utilizeaz în locul indicatoarelor, dac valorile

necesare realiz rii reprezent rii grafice sunt primite ca parametri deintrare pentru IV curent, folosit drept subrutin (subIV).

Nu se permite utilizatorului s realizeze o reprezentare graficinterac ionând direct asupra unui control.

Componentele de interfa , dedicate reprezent rilor grafice, seîmpart în doua categorii generale:

§ diagram (chart);§ grafic (graph).Diagramele sunt reprezent ri grafice ale unei m rimi, care se

modific pe o perioad de timp.

INSTRUMENTA IA VIRTUAL46

Exemplu:Diagrama evolu iei temperaturii pentru o durat specificat de

timp.Graficele reprezint varia ia a dou m rimi: y în func ie de x.Diagrama, spre deosebire de Grafic, p streaz punctele

reprezentate anterior, permi ând vizualizarea varia iei în timp aprocesului; noile puncte sunt afi ate în continuarea celor vechi.Reprezentarea punctelor curente în Grafic se face dup tergereareprezent rii anterioare.

Fig. 2.11. Componente de interfa pentru reprezent ri grafice:a1 – diagram und ; a2 - grafic und ; a3 - grafic XY; b1 - diagram

intensitate; b2 - grafic intensitate

Sunt disponibile 5 tipuri de componente de interfa pentruvizualizarea reprezent rii grafice:

1. diagrame und (waveform charts);2. grafice und (waveform graphs);3. grafice XY (XY graphs);4. diagrame intensitate (intensity charts);5. grafice intensitate (intensity graphs).Componentele dedicate vizualiz rii reprezent rilor grafice se

sesc în casta cu controale i indicatoare, grupul Grafice (Graphs),conform figurii 2.11.

LABVIEW 47

Diagrama undEste o component de interfa , dedicat afi rii uneia sau mai

multor reprezent ri grafice simultan, pentru care se urm re te varia ia întimp.

În figura 2.12 se indic elementele suplimentare de interfa ,asociate unei componente tip diagram und , în care se reprezint graficvaria ia unei m rimi în timp. Se permite redimensionarea componenteiprin unealta de editare.

Fig.2.12. Elementele componentei Diagram und :a - identificatorul; b - axa ordonatelor (m rimea); c - axa absciselor (num rul de

puncte);d - caseta cu unelte grafice; e - bara de defilare; f - legenda

Caseta cu unelte grafice re ine elementele, care se pot folosi detre utilizator în faza de execu ie a IV, prin care se realizeaz opera ii de

scalare i de stabilire a unor op iuni asociate reprezent rii. Bara dedefilare permite inspectarea reprezent rii punctelor afi ate anterior.Legenda permite descrierea fiec rei reprezent ri, stabilirea culorii,indicarea punctelor pe reprezentare, stilul de marcare al punctelor, tipulliniei utilizate .a. Afi ajul numeric indic ultima valoare reprezentatgrafic.

Afi area/ascunderea elementelor adi ionale de interfa asociatecomponentei se face prin meniul contextual asociat, fapt redat în figura2.13.

Pentru stabilirea limitelor domeniului pentru una din abscise (încazul reprezent rii Diagramei und este vorba doar de ordonate), seselecteaz unealta de etichetare; se face clic stânga cu mouse-ul deasupra

INSTRUMENTA IA VIRTUAL48

etichetei numerice, de pe scal , care se dore te a se modifica. Dupvizualizarea cursorului de editare, se editeaz cu tastatura valoarea afi ati se finalizeaz ap sând tasta <Enter> sau selectând cu mouse-ul

butonul din bara orizontal cu unelte, pe care este afi at textul „Enter”.

Fig.2.13. Meniul contextual asociat componentei tip Diagram und :a - identificatorul asociat; b - legenda; c - caseta cu unelte grafice;

d - afi aj numeric; e - bara de defilare; f - abscisa; g - ordonata;h - afi area una sub alta, pe vertical , a reprezent rilor; i - stabilirea num rului

de puncte de re inut

Punctele curente (noi) de afi at sunt reprezentate în continuareacelor existente; num rul punctelor re inute i reprezentate anterior estestabilit prin op iunea Dimensiunea Istorie a Diagramei (ChartHistory Length, fig. 2.13.i). Valorile punctelor reprezentate anterior suntre inute într-o memorie temporar (buffer), a c rei dimensiune estestabilit prin aceast op iune; în momentul atingerii limitei maxime, serenun la vechile puncte re inute. Inspectarea punctelor anterioare,re inute în memoria temporar , se face prin bara de defilare orizontal(„se merge” înapoi la axa timpului).

În cazul reprezent rilor multiple (în aceea i component ), se potstabili pentru fiecare reprezentare în parte eticheta descriptiv ,

LABVIEW 49

caracteristicile stilului liniei, culoarea, tipul punctelor .a. Accesul laaceste op iuni se face prin meniul contextual, asociat fiec rei eticheteindicate în Legend , ca in figura 2.14

Fig. 2.14. Meniul contextual asociat Legendei unei reprezent ri:a - selectare tip reprezentare (6 tipuri); b - tipuri de marcare puncte; c - tipuri delinii; d - grosimea liniei; e - utilizare bare; f - tipuri de umplere a zonelor fa de

axe; g - tip trasare linie între puncte; h - culoare reprezentare

Dac elementul Legend nu este vizibil, acesta se va selectapentru afi area op iunii, din meniul contextual asociat componentei tipDiagram und (fig. 2.13.b). Implicit, Legenda afi eaz doar intrareapentru o singur reprezentare; pentru prezentarea descrierii tuturorreprezent rilor, se trage cu unealta de editare (pe direc ia în jos) col ulinferior (stâng sau drept) al casetei Legendei. Cu unealta de etichetare sepoate modifica descrierea asociat fiec rei reprezent ri. Se pozi ioneazunealta de editare deasupra descrierii unei reprezent ri i se apeleazmeniul contextual, prin care se stabilesc op iunile folosite la realizareafiec rei reprezent ri în parte. (fig. 2.14). O parte din elementele i op iunile prezentate i asociatereprezent rii Diagram und se reg sesc i la celelalte 4 tipuri decomponente.

Pentru o component tip Diagram und , se poate stabilisuplimentar modalitatea de împrosp tare a datelor: op iunea Mod deActualizare (Update Mode), submeniul Ac iuni asupra datei (DataOperations), din meniul contextual asociat, redat în figura 2.15.

INSTRUMENTA IA VIRTUAL50

Fig.2.15. Meniul contextual cu op iuni asupra datelor:a - tergerea reprezent rilor; b1 - diagram tip panglic ;b2 - diagram tip domeniu; b3 - diagram tip baleiere

Comportarea celor trei moduri de actualizare a noilor puncte într-o reprezentare diagram und este dup cum urmeaz :

§ Diagrama tip panglic (strip chart, fig. 2.15.b1):Noile puncte se afi eaz în partea dreapt a celor existente, întimp ce vechile puncte sunt retrase spre stânga.§ Diagrama tip domeniu (scope chart, fig. 2.15.b2):Noile puncte se afi eaz în partea dreapt a celor existente. Înmomentul în care reprezentarea atinge marginea din dreapta azonei de vizualizare, reprezentarea atinge marginea din dreapta azonei de vizualizare, reprezentarea este tears i reînceput dinmarginea din stânga.§ Diagrama tip baleiere (sweep chart, fig. 2.15.b3):Noile puncte se afi eaz în partea dreapt a celor existente. Laatingerea marginii din dreapta a zonei de vizualizare,reprezentarea nu este tears ; noile puncte sunt afi ate începânddin partea stâng , peste cele vechi (existente). Punctele noi,afi ate sunt indicate de o linie vertical , care baleiaz zona devizualizare.

LABVIEW 51

Graficul undSe utilizeaz pentru reprezentarea func iilor de o variabil , având

punctele distribuite uniform pe axa absciselor. Acesta se aseam cuDiagrama und ; se permite realizarea uneia sau mai multor reprezent risimultan.

Graficul XYEste componenta cea mai general , care permite realizarea

reprezent rilor grafice ale func iilor de dou variabile x i y.În figura 2.16 se arat un exemplu de utilizare a componentei Grafic XY.Într-o component Grafic XY se pot realiza una sau mai multereprezent ri simultan.

Fig. 2.16. Reprezent ri utilizând o component Grafic XY

Diagrama intensitatePermite reprezentarea grafic a valorilor numerice prin

intermediul unor dreptunghiuri pline, colorate. Valorile numerice (pot fireale) sunt re inute într-o structur tip matrice (tablou ce doudimensiuni); elementele matricei reprezint codurile culorilor de umplerea zonelor dreptunghiulare. Codurile culorilor sunt preluate dint-ostructur , care re ine coresponden a cod culoare.

În figura 2.17 este redat un exemplu de reprezentare grafic , carefolose te Diagrama intensitate.

Valoarea n de la indicii de linie i i de coloan j din matrice sereprezint grafic printr-un dreptunghi de culoarea având codul asociat n,la coordonatele: abscis i i ordonat j. toate dreptunghiurile afi ate la o

INSTRUMENTA IA VIRTUAL52

valoare x a abscisei (dispuse pe aceea i vertical ) corespund valorilor dinmatrice de pe linia i, unde i = x.

Fig. 2.17. Reprezentarea prin Diagrama intensitate:a-valoarea reprezentat grafic; b-scala cu codurile culorilor

Con inutul matricei cu valori reprezentate este dat în figura 2.18.

Stabilirea culorilor i a codurilor culorilor se poate face interactivsau prin program (se utilizeaz propriet ile asociate obiectelor).

Stabilirea codific rii cod-culoare în mod interactiv se face prinmodificarea culorii etichetei numerice de pe scala vertical cu codurileculorilor (care este codul numeric al culorii): dup selectarea scalei, sealege din meniul contextual asociat op iunea Ad ugare a unui cod(Add Marker); se selecteaz eticheta pentru care se dore te modificareaculorii i din meniul contextual asociat se alege op iunea Culoareacodului (Marker Color). Se pot utiliza maxim 256 culori; aceastvaloare maxim este influen at i de tipul pl cii video, precum i denum rul culorilor folosite curent în Windows.

Observa iile de la reprezentarea prin Diagram und sunt valabilei aici.

Graficul intensitate are o comportare asem toare Diagrameiintensitate ; deosebirea const în faptul c la Graficul intensitate , în

10.10 0 0 00 50.5 0 00 0 0 98.08

Fig. 2.18. Matricea de valori

LABVIEW 53

momentul afi rii noilor puncte, se terg prima dat reprezent rileanterioare.

2.8. Aplicatii personale1. Explorarea con inutului casetei cu componente de interfaAlgoritmul este urm torul:1. Se porne te mediul LabVIEW i se alege op iunea de creare aunui IV nou.2. Se observ c sunt deschise simultan dou ferestre (afi atesuprapuse) corespunz toare (Fereastra Panoului Frontal i FereastraDiagramei Bloc) noului IV; fereastra panoului frontal este întotdeaunacomplet vizibil .3. Dac caseta cu controale este vizibil /ascuns atunci se va exersamodalitatea de ascundere/afi are a acesteia selectând op iunea Afi eazCaseta cu Controale (Show Controls Pallete) din bara orizontal cumeniuri Ferestre (Windows). În continuare, se va afi a caseta cucontroale.4. Se va re ine i exersa posibilitatea plas rii casetei cu controaleoriunde pe suprafa a de lucru: se pozi ioneaz cursorul mouse-uluideasupra titlului casetei cu controale (bara orizontal în care este afi attextul „Controls”), se ine ap sat butonul din stânga al mouse-ului înmomentul atingerii pozi iei dorite.5. Caseta cu controale fiind afi at , se va re ine posibilitatea deascundere a casetei, dac se selecteaz cu butonul stâng al mouse-uluibutonul de închidere a ferestrei (col ul dreapta sus), asociate casetei. Sereaminte te c în mediul Windows, fiec rei aplica ii îi este asociat ofereastr ; în acea fereastr se execut aplica ia; dac se închide fereastraasociat aplica iei, atunci este închis i aplica ia. Se ascunde caseta cucomponente de interfa , închizând fereastra în care este afi at caseta.6. Se exerseaz afi area temporar a casetei cu controale la pozi iacurent a cursorului mouse-ului: se apeleaz meniul contextual asociatsuprafe ei panoului frontal.7. Se afi eaz caseta cu controale. Se poart cursorul mouse-uluideasupra grupelor de componente existente; se identific i se re in încaiete denumirile grupelor disponibile. Pentru fiecare grup seinspecteaz cu aten ie (f grab ) principalele variante de realizare aleelementelor de interfa .

INSTRUMENTA IA VIRTUAL54

8. Se închide IV f a-l salva: în fereastra panou frontal se apassimultan tastele <Ctrl> i <W>.

2. Consultarea grupului de componente tip numericAlgoritmul este urm torul:1. Se porne te mediul LabVIEW. Se alege op iunea de creare aunui IV nou.2. În fereastra panoului frontal se afi eaz caseta cu controale.3. Pentru grupul de componente numerice se localizeaz i se re invariantele disponibile: se plimb pe rând cursorul mouse-ului pestepictogramele asociate componentelor numerice i se re ine descriereaafi at .4. Se închide IV f a-l salva: din fereastra panou frontal se alegeop iunea Închide din submeniul Fi ier din bara cu meniuri(File/Close).

3. Consultarea grupului de componente tip booleanAlgoritmul este urm torul:1. Se porne te mediul LabVIEW. Se alege op iunea de creare eunui IV nou.2. În fereastra panoului frontal se afi eaz caseta cu controale.3. Pentru grupul de componente booleene se localizeaz i se re invariantele disponibile: se plimb pe rând cursorul mouse-ului pestepictogramele asociate componentelor numerice i se re ine descriereaafi at .4. Se aleg pe rând diferite variante de realizare i se plaseaz înpanoul frontal; se redimensioneaz i se coloreaz obiectele. Pentrufiecare component de interfa apar inând tipului boolean se define teidentificatorul i se asociaz taste acceleratori (pentru controale). Sealege rularea continu a IV (butonul Rulare Continu a IV – fig.1.5.b); se interac ioneaz asupra controalelor booleene atât cu mouse-ulcât i prin tastele accelerator definite. Se opre te execu ia programuluiprin butonul Oprirea Rul rii (fig.1.5.c).5. Se închide IV f a-l salva: din fereastra panou frontal se alegeop iunea Închide din submeniul Fi ier , din bara cu meniuri(File/Close).

4. Consultarea grupului de componente tip ir de caractereAlgoritmul este urm torul:

LABVIEW 55

1. Se localizeaz grupul de componente tip ir de caractere în casetacu controale.2. Se re ine descrierea elementelor componente.

5. Tehnici de personalizare a componentei tabel se re in modalit ile, prin care se pot redimensiona obiecte de

interfa de tip tabel, liniile i coloanele, precum i ac iunile prin care sepot selecta valorile re inute în celule.

Pentru a ajunge la pagina de asisten , care trateaz acestesubiecte, se parcurg pa ii urm tori:1. Se porne te utilitarul de asisten (din bara cu meniuri„Help/Online Reference”).2. Din sec iunea Privire general (Overview) se alege primaop iune iruri i Fi iere de Intrare/Ie ire (Strings and File I/O).3. Se alege penultima op iune Controale i Indicatoare tip ir(String Controls and Indicators).4. Se alege op iunea Tabele (Tables).

6. Consultarea grupului de componente tip tablou i grupare de dateAlgoritmul este urm torul:1. Se localizeaz grupul de componente tip tablou i grupare de dateîn caseta cu controale.2. Se re ine descrierea elementelor componente.

7. Deschiderea unor aplica ii la tipul tablouAlgoritmul este urm torul:1. Se exerseaz tehnicile de editare (redimensionare) asupra IVreferitoare la tablouri din biblioteca de exemple ARRAYS.LLB, care se

se te la urm toarea cale pe hard disk: C:\Program Files\NationalInstruments\labVIEW\examples\general\arrays.llb (dac LabVIEW afost instalat pe discul C:, în directorul implicit)Nu se salveaz eventualele modific ri pentru exemplele consultate,pentru p strarea versiunii originale!2. Se alege op iunea de deschidere a unui IV existent DeschidereFi ier (Open) din submeniul derulant Fi ier (File), din baraorizontal cu meniuri. Se afi eaz o fereastr de dialog, în care utilizatorultrebuie s indice fi ierul pentru re inerea IV c utat .Fereastra de dialog prezint implicit con inutul directorului, în care esteinstalat mediul LabVIEW:

INSTRUMENTA IA VIRTUAL56

C:\Program Files\National Instruments\labVIEW3. Se deschide succesiv subdirectorul Exemple (Examples),

Generale (General): se selecteaz numele subdirectorului i§ Se face dublu clic cu butonul stâng al mouse-ului

sau§ Se alege butonul Deschide (Open) aflat în parteainferioar dreapt a ferestrei dialog.

4. Se selecteaz cu mouse-ul denumirea fi ierului bibliotec (con inemai multe IV) ARRAYS.LLB. Pentru afi area con inutului bibliotecii,

§ Se face dublu clic cu butonul stâng al mouse-uluisau

§ Se alege butonul Deschide (Open) aflat în parteainferioar dreapt a ferestrei dialog.

5. Se selecteaz cu mouse-ul IV „Building Arrays.vi” (se observextensia „vi”) i se deschide exemplul în LabVIEW:

§ Se face dublu clic cu butonul stâng al mouse-uluisau

§ Se alege butonul De acord (OK) aflat în parteainferioar , dreapt a ferestrei dialog.

6. Se utilizeaz redimension ri, mut ri i color ri ale elementelorpanoului frontal. Se execut exemplul deschis.7. Se deschid i alte exemple din biblioteca „ARRAYS.LLB”.

8. Consultarea grupului de componente pentru reprezent ri graficeAlgoritmul este urm torul:1. Se localizeaz grupul de componente pentru reprezent ri graficeîn caseta cu controale.2. Se re ine descrierea elementelor componente.

9. Deschiderea unor IV existente, referitoare la reprezent ri grafice

Exemplul 1:1. se deschid prin op iunea Fi ier/Deschide (File/Open) IV:

\examples\general\graphs\charts.llb\CHARTS.vi2. se lanseze în execu ie; s se observe realizarea reprezent rilor.

se opreasc rularea IV prin butonul cu eticheta „STOP”. Se închideexemplul.

Exemplul 2:

LABVIEW 57

1. S se deschid IV: \examples\general\graphs\gengraphs.llb\GRAPHWAVEFORM ARRAY.vi2. S se lanseze în execu ie. Se închide exemplul.

Exemplul 3:1. se deschid IV: \examples\general\graphs\gengraphs.llb\XYGRAPH.vi2. se lanseze în execu ie. Se închide exemplul.

Exemplul 4:

1. se deschid IV:\examples\general\graphs\gengraphs.llb\BOUNCING CUBE.vi

2. se lanseze în execu ie; s se modifice pe rând valoarea unorparametri i s se observe influen a asupra balans rii cubului în spa iu. Seînchide exemplul.

10. Deschiderea unor IV existente, care reflect utilizareacomponentelor tip boolean

Exemplul 1:1) se deschid prin op iunea Fi ier/Deschide (File/Open)IV: \examples\general\controls\booleans.llb\Mechanical Action ofBooleans.vi2) se lanseze în execu ie. Acest exemplu urm re te clarificareacomport rii mecanice a butoanelor. S se ac ioneze pe rând asuprabutoanelor i s se re in rezultatele ob inute în func ie de comportareaasociat fiec rui control. Se închide exemplul.

3. Meniuri proprii

Meniurile proprii ale elementelor de control sau indicatoarenumerice con in o op iune specific , Representation, cu ajutorul c reiase specific modul în care valoarea numeric respectiv este stocat înmemorie.

În submeniul Representation, utilizatorul are la dispozi ie 12op iuni (fig.3.1):

>>> pe prima linie: op iuni pentru numere reale,>>> pe a doua linie: op iuni pentru numere întregi,>>>pe a treia linie: op iuni pentru numere naturale,>>> pe a patra linie: op iuni pentru numere complexe.

INSTRUMENTA IA VIRTUAL58

Fig. 3.1. Submeniul Representation

Între diversele op iuni de pe o linie, diferen a const în num rulde octe i (bytes) aloca i în memorie pentru stocarea valorii respective:

EXT (extended) = num r real cu precizie extins (16 octe i),DBL (double) = num r real cu precizie dubl (8 octe i),SGL (single) = num r real cu precizie simpl (4 octe i),I32 (long) = num r întreg pe 4 octe i,I16 (word) = num r întreg pe 2 octe i,I8 (byte) = num r întreg pe 1 octet,U32 (unsigned long) = num r natural pe 4 octe i,U16 (unsigned word) = num r natural pe 2 octe i,U8 (unsigned byte) = num r natural pe 1 octet,CXT (complex extended) = num r complex cu precizie extins

(32 octe i),CDB (complex double) = num r complex cu precizie dubl (16

octe i),CSG (complex single) = num r complex cu precizie simpl (8

octe i).

LABVIEW 59

Num rul de octe i aloca i pentru stocare se reflect în intervalul devalori în care poate exista valoarea respectiv sau în precizia acesteia:

Reprezentare Interval de variatie Nr. de zecimale

EXT i CXT (-1,19e+4932; -6,48e-4966) si (6,48e-4966; 1,19e+4932)

15 ... 33, functie desistemul de operare

DBL i CDB (-1,79e+308; -4,94e-324) si (4,94e-324;,1,79e+308) 15

SGL i CSG (-3,40e+38; -1,.40e-45) si (1,40e-45;,3,40e+38) 6

I32 -2.147.483.648 ... 2.147.483.647 -I16 -32.768 ... 32.767 -I8 -128 ... 127 -U32 0 ... 4.294.967.295 -U16 0 ... 65.535 -U8 0 ... 255 -

Textul din interiorul terminalului unui element de control sauindicator numeric se modific pentru a reflecta modul de reprezentareales.

În cazul în care valoarea numeric este una întreag sau natural ,terminalul î i modific de asemenea culoarea, din portocaliu în albastru

EXERCI IIExersa i modificarea modului de reprezentare a unui element de

control numeric.Observa i în panou apari ia sau dispari ia zecimalelor iar în

diagrama modificarea culorii i textului din interiorul terminalului.Observa i ce se întâmpl în situa ia în care, având un element de

control numeric cu valoare real negativ , se schimb modul dereprezentare al acestuia în num r natural.

INSTRUMENTA IA VIRTUAL60

3.1. Meniuri proprii specifice elementelor numericeElementele de control sau indicatoare numerice dispun în meniul

propriu de dou op iuni specifice (fig. 3.2):• Data Range... pentru stabilirea unui interval de varia ie

particular.• Format & Precision... pentru specificarea unui mod particular

de afi are a valorii.Selectarea op iunii Data Range... conduce la deschiderea unei

ferestre suplimentare.Dac se dezactiveaz op iunea Use Defaults, utilizatorul poate

specifica valorile minim i maxim pe care le poate lua elementulrespectiv, precum i incrementul între dou valori succesive.

De asemenea, prin op iunea If Value is Out of Range, utilizatorulpoate dicta modul de comportament în cazul în care se încearcintroducerea unei valori în afara intervalului stabilit: dac în loculop iunii Ignore se selecteaz op iunea Coerce, elementul va for a

mânerea valorii între limitele impuse.

Fig. 3.2 Optiuni specifice in meniul propriu

Fereastra suplimentar Data Range permite modificarea i dinacest loc a modului de reprezentare a valorii numerice (Representation).

Selectarea din meniul propriu a op iunii Format & Precisiondeschide o fereastr din care utilizatorul poate dicta afi area valoriinumerice în format (fig. 3.3a):

LABVIEW 61

• zecimal, caz în care se pot specifica num rul de zecimale inota ia (cu virgula mobil , tiin ific , inginereasc etc.)

• timp - dat , situa ie în care se pot selecta diverse formate deafi are.În cazul în care se selecteaz formatul timp - dat , valoarea

elementului va reprezenta num rul de secunde scurse de la data de 1ianuarie 1904, ora 3:00 AM. În situa iile în care elementul de control sauindicator numeric are un mod de reprezentare de tipul num r întreg saunatural, op iunea Format & Precision permite suplimentar i afi areavalorilor în sistem de numera ie hexazecimal, octal sau binary (fig. 3.3b).

a

Fig. 3.3. Fereastr pentru afi area valorii numerice

b

INSTRUMENTA IA VIRTUAL62

EXERCI IIDispune i pe panou un element de control numeric de tipul

Horizontal Pointer Slide i modifica i valorile Minimum, Maximum iIncrement din op iunea Data Range... a meniului propriu.

Încerca i apoi s modifica i valoarea elementului de control înafara limitelor impuse i observa i comportamentul elementului.

Dispune i pe panou un element de control numeric de tipulDigital Control i selecta i op iunea Format & Precision din meniulpropriu al acestuia.

Pentru formatul zecimal, modifica i num rul de zecimale inota ia ( tiin ific , inginereasc etc) i observa i consecin ele.

Selecta i apoi formatul timp - dat cu diverse formate de afi arei observa i consecin ele.

3.2 Meniuri proprii specifice elementelor cu scalElementele de control sau indicatoare numerice cu scal

(poten iometre liniare sau circulare, indicatoare cu ac etc) dispun înmeniul propriu de op iuni suplimentare referitoare la modul de afi are(fig. 3.4):

Fig. 3.4 Optiuni suplimentare

• op iunea Fill Optionspermite alegerea modului în care sse coloreze por iunile elementuluiaflate de o parte i de alta acursorului (colorat deasupra, coloratdedesubt, necolorat etc),• op iunea Scale dispune de oserie de submeniuri proprii pentrupozi ionarea uniform sau arbitrar agrada iilor de pe scal (MarkerSpacing 4), pentru stabilireaformatului de afi are a valorilor depe scal (Format & Precision...), pentru alegerea varian ei de

LABVIEW 63

densitate a grada iilor (Style) i pentru selectarea unei scaleliniare sau logaritmice (Mapping).

EXERCI IIDispune i pe panou un element de tipul Vertical Pointer Slide,

selecta i din op iunea Fill Options a meniului sau propriu diverse moduride umplere i observa i consecin ele.

Pentru acela i element, afi i scala cu grada ii arbitrare (MarkerSpacing), afi i valorile de pe scal cu o zecimal (Format &Precision), modifica i densitatea grada iilor de pe scal (Scale), apoitransforma i tipul scalei în logaritmic (Mapping).

3.3 Meniuri proprii specifice elementelor booleeneElementele de control booleene dispun în meniul propriu de

op iunea suplimentar Mechanical Action, aceasta permi ând stabilireamodului în care elementul se comport la ap sarea butonului mouse-uluide c tre utilizator (fig. 3.5).

• Switch When Pressed modific valoarea logic a elementuluiatunci când se apas butonul mouse-ului, iar valoarea r mânemodificat i dup eliberarea butonului,

• Switch When Released modific valoarea logic a elementuluiatunci când se elibereaz butonul mouse-ului (dup ce înprealabil a fost ap sat), iar valoarea r mâne modificat i dupeliberare,

• Switch Until Released modific valoarea logic a elementuluiatunci când se apas butonul mouse-ului, iar dup eliberareabutonului valoarea elementului redevine cea dinaintea ap rii,

• Latch When Pressed modific valoarea logic a elementuluiatunci când se apas butonul mouse-ului, dar aceast modificaredureaz doar pân când valoarea logic este transmis îndiagram pe fluxul de date. Imediat ce valoarea elementului afost transmis , acesta revine la valoarea dinaintea ap rii, chiardac utilizatorul continu s in butonul mouse-ului ap sat.

• Latch When Released modific valoarea logic a elementuluiatunci când se elibereaz butonul mouse-ului (dup ce înprealabil a fost ap sat), dar aceast modificare dureaz doarpân când valoarea logic este transmis în diagram pe fluxul

INSTRUMENTA IA VIRTUAL64

de date. Dup ce valoarea a fost transmis , elementul revine lavaloarea ini ial .

• Latch Until Released modific valoarea logica a elementuluiatunci când se apas butonul mouse-ului, iar modificarea se

streaz atât timp cât utilizatorul ine butonul ap sat. Dup ceutilizatorul elibereaz butonul, elementul revine la valoareaini ial doar în momentul în care se realizeaz o transmitere avalorii pe fluxul de date.

Fig. 3.5. Optiuni suplimentare

EXERCI IIDispune i pe panou un element boolean de control de tipul

Vertical Toggle Switch i un element indicator de tipul Round LED. Îndiagram , conecta i între ele terminalele celor dou elemente.

Pentru fiecare op iune Mechanical Option a elementului decontrol, efectua i o rulare continu (butonul Run Continuously) iobserva i modul în care se comport comutatorul i modul în carevaloarea sa logic este transmis elementului Round LED.

Da i exemple de situa ii în care fiecare op iune ar fi util (deexemplu, op iunea Latch When Pressed este util atunci când, în urmaap rii butonului de c tre utilizator, se deruleaz o ac iune cu un timp

LABVIEW 65

foarte scurt i nu se dore te ca aceast ac iune s fie repetat chiar dacutilizatorul întârzie s ridice degetul de pe butonul mouse-ului).

3.4 Meniul propriu al elementelor de tip ClusterSubmeniul Autosizing din meniul propriu al unui element de tipul

Cluster permite (fig. 3.6):• modificarea dimensiunilor chenarului, astfel încât acesta

se "muleze" pe mul imea de elemente din interior (op iuneaSize to Fit),• alinierea pe orizontal sau pe vertical a elementelor dininteriorul chenarului.Elementele de diverse tipuri din interiorul unui Cluster sunt o

mul ime ordonat . Ordinea elementelor este cea în care acestea au fostintroduse în elementul Cluster.

Op iunea Reorder Controls In Cluster... permite modificareaindicilor elementelor (numerelor de ordine).

La selectarea acestei op iuni, panoul aplica iei devine negru iarprogramul asteapt ca utilizatorul s indice succesiv, prin click-uri cumouse-ul, elementele cu indicii 0, 1, 2 s.a.m.d.

Fig. 3.6 Optiuni suplimentare

INSTRUMENTA IA VIRTUAL66

Indicele pe care îl va c ta elementul pe care se va efectuaurm torul click este men ionat în dreptul textului Click to set to (ini ial0). Lâng fiecare element sunt afi i câte doi indici.

Indicele avut de element inainte de începerea modific rilor estescris cu negru pe fond alb. Indicele modificat este scris cu alb pe fondnegru.

Validarea modific rilor se efectueaz prin ap sarea butonuluiOK.

Anularea modific rilor indicilor i revenirea la situa ia anterioarse efectueaz prin ap sarea butonului marcat cu X (fig. 3.7).

Fig. 3.7. Anularea modificarilor indicilor

3.5. Ordonarea componentelor

În situa ia în care se dore te alinierea mai multor elemente de pepanou sau a mai multor componente ale diagramei, se selecteazobiectele respective apoi se deschide meniul de aliniere i se alegevarianta dorit (fig.3.8):

• aliniere dup o orizontal a limitelor superioare, centrelor saulimitelor inferioare,

• aliniere dup o vertical a limitelor din stânga, centrelor saulimitelor din dreapta.

Atunci când mai multe elemente sunt suprapuse, alegerea dinmeniul de ordonare a unei op iuni are drept urmare schimbarea pozi iei"în adâncime" a elementelor selectate: Move Forward = un pas înainte,Move Backward = un pas înapoi, Move To Front = trecere în planul celmai apropiat, Move To Back = trecere în planul cel mai îndep rtat.

Selectarea mai multor componente i alegerea op iunii Group aredrept efect selectarea întregului grup atunci când una dintre componente

LABVIEW 67

este selectat ("desfiin area" grupului se realizeaz cu op iuneaUngroup).

Selectarea uneia sau mai multor componente i alegerea op iuniiLock nu mai permite deplasarea sau modificarea dimensiunilorcomponentelor respective (anularea efectului se realizeaz cu op iuneaUnlock).

Fig. 3.8 Meniul de aliniere

EXERCI IUDispune i elemente de control i indicatoare pe panoul

programului i exersa i diverse variante de aliniere i distribuire.Suprapune i unele dintre elemente i exersa i op iunile de

schimbare a pozi iei "în adâncime".Exersa i op iunile de grupare a mai multor elemente i de blocare

a mut rii i dimension rii.

INSTRUMENTA IA VIRTUAL68

3.6 Meniuri pentru elemente ListBox, Table i RingMeniul List & Table al paletei de controale contine elemente de

tipurile Listbox, Multicolumn Listbox i Table (fig. 3.9a).Meniul Ring & Enum con ine elemente de tipurile Text Ring,

Menu Ring, Enum, Picture Ring i Text & Pict Ring (fig. 3.9b)

Caracteristica principal a elementelor de tip List sau Ring esteaceea c , de i în panou utilizatorul are la dispozi ie o list de elementetext, valorile corespunz toare din diagram sunt numerice.

a b

Fig. 3.9. Meniuri pentru elemente ListBox, Table i Ring

Fig. 3.10

LABVIEW 69

Fig. 3.11

Aceasta se observ în primul rând din faptul c toate elementele(cu excep ia celor de tipurile Table sau Enum) au terminale ce semnificnumere întregi (I32) sau naturale (U16) (fig. 3.10).

De exemplu, valoarea numeric a unui element de tipul Listboxeste reprezentat de indicele (num rul de ordine) textului selectat de

tre utilizator (prima linie de text are indicele 0) (fig. 3.11).

Definirea itemilor unui element ListBoxItemii unui element Listbox reprezint liniile de text din

interiorul acestuia (fig. 3.12).Modalitatea cea mai simpl de a defini ace ti itemi, valabil îns

doar atunci când programul nu ruleaz , este de a-i introduce cuajutorul uneltei de editare a textelor.

Fiecare item trebuie introdus pe o linie separat , modalitatea deintroducere fiind similar celei de la elementele alfanumerice:

• dac se apas tasta Enter "mare" (din apropierea tastelorpentru litere), se trece la linia urm toare,

Fig. 3.12 Itemii unui element Listbox

INSTRUMENTA IA VIRTUAL70

• dac se apas tasta Enter "mic " (din zona cu tastenumerice aflat în partea dreapt a tastaturii) sau dac se faceclick cu mouse-ul în afara elementului se consider c s-a încheiatintroducerea itemilor.Textul format de itemii unui element Listbox poate fi editat

ulterior pentru modificare, stergere sau inserare.Dac se dore te editarea itemilor unui Listbox în timpul rul rii

programului, se procedeaz astfel:• se creeaz un nod de propriet i al elementului Listbox,• se selecteaz pentru nodul respectiv proprietateaItemNames,• din meniul propriu al nodului se selecteaz op iuneaChange To Write,• se conecteaz la nod un Array de valori String ce vorreprezenta itemii elementului Listbox.

EXERCI IIDispune i în panou un element de tipul Listbox i introduce i, cu

unealta de editare texte, câ iva itemi ai acestuia.Realiza i un program în care itemii unui element Listbox s fie

genera i în timpul rul rii.

Selec ii multipleDin meniul propriu al unui element de tipul Listbox, op iunea

Selection Mode, poate fi specificat num rul de itemi ce pot fi selecta isimultan (fig. 3.13).

Atunci când exist mai multe variante de selec ie (nici unul, unulsau mai mul i itemi), pentru a selecta sau deselecta un item se faceclick pe acesta inând ap sat tasta Shift.

Dac un element Listbox este în modul de selec ie 0 or 1 Item inu are nici un item selectat, valoarea corespunz toare a elementului este -1.

Dac sunt selecta i mai mul i itemi ai unui Listbox, atunci acestanu mai este reprezentat de o valoare scalar ci de un Array ce con ineindicii itemilor selecta i.

Dac un element Listbox este în modul de selec ie 0 or MoreItems i nu are nici un item selectat, atunci el este reprezentat de unArray vid.

LABVIEW 71

Fig. 3.13 Selectii multiple

EXERCI IUDispune i un element Listbox pe panou i stabili i modul de

selectare 0 or More Items.Dispune i de asemenea pe panou un element indicator Array în

care s fie afi i indicii itemilor selecta i.Exersa i diverse variante de selectare: nici un item, un item, mai

mul i itemi.

INSTRUMENTA IA VIRTUAL72

3.7 Variabile localeSelectarea, din meniul Create al unui element de control sau

indicator, a op iunii Local Variable, va conduce la introducerea îndiagrama a unei entit i suplimentare, numit variabila local (fig.3.14).

Fig. 3.14. Variabile locale

O variabil local reprezint o instan a elementuluicorespunz tor: o dublur a acelui element.

Dac , la un moment dat, un element î i modific valoarea, toatevariabilele sale locale, indiferent de locul în care sunt dispuse îndiagram , cap valoarea corespunz toare.

Variabilele locale sunt utilizate în situa ia în care este complicat(sau imposibil) s se efectueze o leg tur direct la terminalul unuielement (de exemplu, atunci când leg tura ar trebui efectuat de-a lungulunei zone întinse din diagram , zone în care sunt deja multecomponente). Un element poate avea mai multe variabile locale.

Ini ial o variabila local este o dublur a elementului din al c ruimeniu propriu a fost creat , numele acelui element fiind înscris însimbolul variabilei. Terminalul variabilei locale are culoareacorespunz toare tipului de date pe care le manipuleaz .

Elementul pe care variabila local îl reprezint poate fi schimbat.Pentru aceasta, din meniul propriu al variabilei locale, op iunea Select

LABVIEW 73

Item, se selecteaz numele noului element pe care variabila local îl vareprezenta (fig. 3.15).

Fig. 3.15

În mod implicit, atunci când este creat , indiferent ca elementulpe care îl reprezint este unul de control sau indicator, o variabil localeste un element indicator (contur sub ire).

În aceast situa ie, valoarea care ajunge la variabila local esteautomat c tat de elementul pe care îl reprezint (aceasta este i omodalitate de a schimba prin program valorile elementelor de control).

Dac , din meniul propriu al variabilei locale, se selecteazop iunea Change To Read, variabila local devine element de control(contur îngro at). În aceast situa ie, variabila local va genera valoareaelementului pe care îl reprezint .

INSTRUMENTA IA VIRTUAL74

EXERCI IU

În panoul unei aplica ii, dispune i un element boolean de controlde tipul Vertical Toggle Switch, unul de tipul Slide Switch i unindicator boolean Round LED.

Crea i o variabil local a elementului Vertical Toggle Switch.În diagram , conecta i terminalul elementului Slide Switch atât laterminalul elementului Round LED cât i la variabila local aelementului Vertical Toggle Switch.

Rula i programul cu op iunea Run Continuously, ac iona icomutatorul Slide Switch, observa i i explica i comportamentulelementului Vertical Toggle Switch.

3.8. Noduri de propriet iSelectarea, din meniul Create al unui element de control sau

indicator, a op iunii Property Node, va conduce la introducerea îndiagram a unei entit i suplimentare, numit nod de propriet i (fig.3.16).

Nodul de propriet i al unui element reprezint o component prinintermediul c reia, în timpul execu iei programului, pot fi determinate (însens de "citire") sau modificate automat (scrise) anumite propriet i aleelementului respectiv.

În mod implicit, atunci când este creat, un nod de propriet icite te starea logic (afi at sau ascuns) a vizibilit ii elementului pe careîl reprezint .

Deschizând meniul propriu al nodului de propriet i, op iuneaProperties, se poate selecta proprietatea pe care nodul o reprezint .

Printre cele mai des utilizate propriet i se numar :• Position: pozi ia elementului pe panou, exprimat înpixeli pe orizontal i pe vertical ;• Bounds: dimensiunile elementului, exprimate în pixeli;• Visible: daca aceasta proprietate are valoarea False,elementul nu mai este afisat in panou (desi continua sa existe siare terminal in diagrama)• Disabled: valoarea 0 semnific faptul c utilizatorul poateac iona acel element, valoarea 1 faptul c elementul nu poate fiac ionat (este dezactivat), valoarea 2 faptul c elementul estedezactivat i afi at în culori " terse",

LABVIEW 75

• Blinking: atunci când aceast proprietate are valoareaTrue, elementul este afi at "clipind",• Label: propriet i de formatare a textului din etichet .

Fig. 3.16. Noduri de propriet i

Un nod de propriet i poate fi trecut din starea implicit de citireîn starea de scriere, prin selectarea op iunii Change To Write dinmeniul sau propriu. În starea de scriere, un nod de propriet i poate primivalori care vor modifica propriet ile elementului corespunz tor.

INSTRUMENTA IA VIRTUAL76

Un nod de propriet i poate fi dimensionat, pentru a gestiona maimulte propriet i ale elementului pe care îl reprezint .

Atunci când con ine mai multe propriet i, acestea pot fi în modindependent de scriere sau de citire. Elementul reprezentat de c tre unnod de propriet i poate fi schimbat prin selectarea din meniul propriu alnodului a op iunii Link To, similar op iunii Select Item din cazulvariabilelor locale. În diagram pot exista mai multe noduri de propriet iale aceluia i element.

EXERCI IIDispune i în panoul unei noi aplica ii un element de control

boolean de tipul Vertical Toggle Switch i un element de controlnumeric.

Crea i un nod de propriet i al elementului numeric, trece i nodulrespectiv în starea de scriere i conecta i la el terminalul elementuluiboolean. Rula i programul cu op iunea Run Continuously, ac iona icomutatorul boolean, observa i i explica i efectul.

În aceea i aplica ie, dispune i pe panou un element de tipul StringControl, crea i un nod de propriet i pentru acesta, trece i nodulrespectiv în starea de scriere, selecta i pentru el proprietatea Disabled ilega i la nod terminalul elementului de control numeric.

Rula i programul cu op iunea Run Continuously i ac iona icomutatorul boolean astfel încât elementul de control numeric s fievizibil. Introduce i în elementul numeric valoarea 0 i introduce i un textîn elementul String.

Introduce i în elementul numeric valoarea 1 i încerca i smodifica i textul din elementul String. Introduce i în elementul numericvaloarea 2, observa i i explica i efectul.

TEMA

1. Construi i un program pentru determinarea solu iilor uneiecua ii de gradul al doilea. Pentru afi area r cinilor, programul vadispune de dou perechi de indicatoare numerice separate: una cu mod dereprezentare real, cealalt cu mod de reprezentare complex. Fiecare dincele dou perechi de elemente indicatoare va fi vizibil sau nu, în func iede natura r cinilor ecua iei.

2. Construi i un program în care utilizatorul s poat alege, prinintermediul unui comutator boolean, tipul de ecua ie pe care dore te s orezolve: de gradul I sau de gradul al II-lea.

LABVIEW 77

Elementul de control numeric de la care se va introducecoeficientul lui x2 va fi vizibil doar în cazul ecua iei de gradul al II-lea. Încazul ecua iei de gradul I, elementul respectiv va deveni invizibil i va

ta valoarea 0.3. În acelea i condi ii ca la tema nr. 2, atunci când se opteaz

pentru rezolvarea unei ecua ii de gradul I, elementul de control numericpentru coeficientul lui x2 s capete valoarea 0, s fie dezactivat(utilizatorul s nu mai poat modifica valoarea) i s fie afi at în culoriterse.

4. S se realizeze un program pentru determinarea solu iilor uneiecua ii de gradul al doilea în care elementele de control pentruintroducerea coeficien ilor ecua iei s aib valoarea implicit NaN. Încazul în care utilizatorul nu introduce o valoare numeric în unul dinelementele respective, elementul s clipeasc pentru a semnaliza eroarea.

5. S se realizeze un program în care, prin intermediul a douelemente de control numerice (un Vertical Pointer Slide i unHorizontal Pointer Slide), utilizatorul s poat specifica pozi ia înpanou a unui element indicator Round LED.

4. FunctiiDup realizarea panoului frontal al IV, trebuie implementat

func ionalitatea programului: se construie te diagrama bloc, carereprezint codul surs al instrumentului (arata ”CUM ?” se rezolvproblema).

Pentru realizarea diagramei bloc, se utilizeaz limbajul grafic G,limbaj de genera ia a cincea; programatorul (persoana care realizeazdiagrama bloc) selecteaz i asambleaz componente grafice de execu ie,care definesc func ionalitatea IV.

Sunt prezentate elementele de baz ale limbajului G, caretrebuiesc cunoscute înainte de a începe realizarea unui IV.

4.1. Considera ii teoreticePentru realizarea codului surs al IV nu se scriu linii de text

reprezentând instruc iuni (respectând o sintax rigid i de multe orianevoioas ); se aleg elemnte de execu ie, care se plaseaz în diagramabloc i se realizeaz leg turi între acestea, pentru definirea fluxuluidatelor.

Elementele utilizate la realizarea diagramei bloc sunt clasificateîn trei grupe generale:

INSTRUMENTA IA VIRTUAL78

1. noduri;2. terminale;3. fire.

NodurileSunt elementele de execu ie din limbajul G, ale unui IV. Nodurile

din limbajul G corespund operatorilor, func iile predefinite,instruc iunilor, subrutinelor realizate de utilizator – din limbajelecoven ionale de programare strcturat .

Exist apte tipuri de noduri:• fuc ii predefinite;• subrutine (subIV oferite de firma NI sau utilizator);• instruc iuni pentru controlul execu iei programelor

(numite structuri);• formule de calcul;• noduri proprietate;• variabile locale i globale;• componente care permit apelul procedurilor scrise în

limbajul C sau Pascal (numite „Code Interface Nodes”-CINs).

Un nod se execut doar în momentul, în care exist valoridisponibile pentru to i parametrii de intrare; datele-rezultat sunt furnizatesimultan (pe toate ie irile) în exterior, doar dup ce toate opera iile dincorpul nodului s-au realizat.

Observa ie:Pentru un nod se respect , în general, urm toarea conven ie:

• parametrii de intrare se definesc în partea stâng achenarului nodului;

• parametrii de ie ire se reg sesc în partea dreapt .Respectarea conven iei plas rii parametrilor unui nod faciliteaz

„citirea” diagramei bloc, conform c reia fluxul datelor este din parteastang spre partea dreapt .

Nodurile sunt disponibile (mai pu in nodurile proprietate asociateobiectelor din panoul frontal) prin caseta cu func ii i IV, prezentat înfigura 4.1. Afi area casetei cu func ii i IV(dac nu este vizibil ) sepoate face prin doua metode:

• din bara cu meniuri se alege „Windows/Show FunctionsPalette”(Ferestre/Afi eaz Caseta cu Func ii);

LABVIEW 79

• având cursorul mouse-ului pozi ionat în interiorul ferestreidiagramei bloc se apeleaz meniul contextual.

Dac se poart cursorul mouse-ului peste caseta cu func ii i IV,seafi eaz automat denumirea grupului curent de componente. Afi areacon inutului unui anumit grup este declan at la realizarea unui clic lastânga al mouse-ului pe pictograma corespunz toare.

Dup identificarea grupului, se alege nodul dorit i se plaseaz lalocul preconizat, în diagrama bloc.

Elementele casei cu func ii i IV (fig. 4.1) se prezint încontinuare:

• instruc iuni pentru controlul execu ieiprogramelor,formula de calcul,variabila local i global(fig.4.1.a1);

• func ii aritmetice, trigonometrice, logaritmice, complexe,de conversie, constant numeric cu valoare stabilit deutilizator, constante numerice universale (fig. 4.1.a2);

• func ii logice i constanta universala adev rat/fals(fig.4.1.a3)

• fuc ii i constante pentru tipul ir de caractere (fig.4.1.b1);• func iile tipului tablou i constanta tablou (fig.4.1.b2);• func iile tipului grupare de date (cluster) i constanta

grupare de date (fig. 4.1.b3);• fuc ii de comparare (fig. 4.1.c1);• func ii pentru dat calendaristic i timp,func ii pentru

afi area mesajelor utilizator, IV pentru tratarea erorilor(fig.4.1.c2);

• func ii i IV pentru gestionarea fi ierelor (fig. 4.1.c3);• IV pentru achizi ia de date (fig. 4.1.d3);• IV pentru analiza datelor (fig. 4.1.e1); IV utilizate în

exemplele de simulare (fig. 4.1.e2);• func ie pentru apelul func iilor DLL, func ie pentru apelul

procedurilor scrise în alte limbaje ,func ii i IV pentrumanevrarea datelor (fig. 4.1.e3);

• IV realizate de utilizator i salvate în directorul„...\LabVIEW\USER.LIB”(fig. 4.1.f2);

• func ii i IV pentru controlul aplica iilor (fig. 4.1.f3);• permite inserarea apelului unui IV existent în diagrama

bloc a IV apelant (fig. 4.1.g2);

INSTRUMENTA IA VIRTUAL80

• IV pentru pachetul („G Math”) adi ional de matematic(fig. 4.1.g3);

Fig. 4.1. Caseta cu func ii i IV

Func iile predefinite realizeaz opera ii elementare în limbajulG: calcule, ob inerea unor informa ii despre timp/dat /fi iere, conversiadatelor. Func iile nu sunt IV, nu posed panou frontal i diagram bloc,astfel:

• se afi eaz fereastra de asisten (Help/Help Window);• se afi eaz caseta cu func ii i IV (dac era ascuns );• se deschide grupul care re ine componenta c utat i se

pozi ioneaz cursorul mouse-ului deasupra pictogrameiasociate.

Fereastra de asisten va afi a utilizatorului numelefunc iei,semn tura (pictograma i tipul parametrilor de intrare/iesire) idescrierea func iei.

Unele func ii au num rul parametrilor de intrare/ie irevariabil:pentru utilizarea func iei, trebuie s se indice explicit num rulnecesar de parametri (dup ce pictograma func iei a fost plasat îndiagrama bloc)se face în felul urm tor:

LABVIEW 81

• se redimensioneaz pictograma asociat func iei pân înmomentul,în care se ob ine num rul dorit de intr ri/ie iri(cu unealta de editare),

sau• se selecteaz din meniul contextual asociat

intr rilor/ie irilor pictogramei func iei: op iunea „AdaugIntrare”(Add Intput).

Exemple:• func ia „Combinare Aritmetic ” (Compound

Arithmetic),din grupul „Numeric”;• func ia „Concatenare iruri de Caractere” (Concatenate

Strings),din grupul „String”;• func ia Grupare” (Bundle),din grupul „Cluster”;• func ia „Între esere Tablouri 1D” (Interleave 1D

Arrays), din grupul „Array” sau• op iunea „Adaug Ie ire” (Add Output).

Exemple:• func ia”Degrupare”(Unbundle),din grupul „Cluster”• func ia „Împ ire Elemente Tablou 1D”(inversia func iei

de între esere, Decimate 1D Array),din grupul „Array”.

4.2. Func ii pentru valori numericeFunc iile pentru valori numerice sunt grupate în subpaleta

Numeric a paletei de functii (fig. 4.2).Se remarc o prim categorie, dedicat func iilor aritmetice

simple: adunare (Add), sc dere (Subtract), înmul ire (Multiply),împ ire (Divide), incrementare (Increment), decrementare(Decrement), valoare absolut (Absolute Value), rotunjire la cel maiapropiat întreg (Round To Nearest), rotunjire la întregul inferior(Round To -Infinity), rotunjire la întregul superior (Round To+Infinity), r cina p trat (Square Root), schimbare de semn (Negate),produsul dintre o valoare x i o putere a lui 2 (Scale By Power Of 2),inversare (Reciprocal).

În subpaleta Numeric se g se te de asemenea elementulNumeric Constant (constanta numeric ).

INSTRUMENTA IA VIRTUAL82

Atunci când un astfel de element este dispus în diagram , elcap automat valoarea 0 i intr în modul de editare, a teptând cautilizatorul s introduc valoarea numeric dorit .

Dac , imediat dup dispunerea în diagram , în loc de a introduceo valoare în element, utilizatorul efectueaz alt opera ie, o alt valoareconstant poate fi specificat utilizând unealta de operare sau pe cea deeditare a textelor.

Fig. 4.2 Functii pentru valori numerice

EXERCI IUÎn subpaleta Numeric a paletei de func ii, identifica i func iile

aritmetice simple enumerate mai sus. Pe parcursul navig rii în paleta defunc ii, urm ri i descrierea func iilor în fereastra Help.

4.3. Func ii pentru valori booleneFunc iile pentru valori booleene sunt grupate în subpaleta

Boolean a paletei de func ii (fig. 4.3). Se remarc func iile logice simpleSI (And), SAU (Or), SAU EXCLUSIV (Exclusive Or), NEGARE(Not), SI NEGAT (Not And), SAU NEGAT (Not Or), SAU NEGATEXCLUSIV (Not Exclusive Or) i IMPLICA (Implies).

Subpaleta con ine de asemenea, în partea inferioar , cele douconstante logice: ADEVARAT (True) i FALS (False).

LABVIEW 83

Fig. 4.3. Functii pentru valori boolene

EXERCI IUÎn subpaleta Boolean a paletei de func ii, identifica i func iile

logice simple i constantele logice enumerate mai sus. Pe parcursulnavig rii în paleta de func ii, urm ri i descrierea func iilor în fereastraHelp.

4.4. Func ii pentru valori alfanumerice (string)Func iile pentru valori alfanumerice sunt grupate în subpaleta

String a paletei de func ii (fig. 4.4).Printre cele mai simple se num cele pentru transformarea

caracterelor în majuscule (To Upper Case) i pentru transformareacaracterelor în minuscule (To Lower Case).

În partea sa inferioar , subpaleta con ine un element StringConstant pentru introducerea în diagrama de valori alfanumericeconstante.

EXERCI IUÎn subpaleta String a paletei de func ii, identifica i func iile i

constanta alfanumeric enumerate mai sus. Pe parcursul navig rii înpaleta de func ii, urm ri i descrierea func iilor în fereastra Help.

INSTRUMENTA IA VIRTUAL84

Fig. 4.4 Functii pentru valori alfanumerice

4.5. Inserarea simbolurilor de func ii în diagrama1. Dispunerea unei func ii în diagram începe cu selectarea

simbolului corespunz tor din paleta de func ii.2. Dup selectarea simbolului func iei, se deplaseaz cursorul

mouse-ului pân în pozi ia din diagram în care se dore te dispunerea.Atât timp cât cursorul mouse-ului este deplasat, simbolul func iei

va fi reprezentat împreun cu terminalele corespunz toare datelor propriide intrare i de ie ire.

3. Dac , în timpul deplas rii, simbolul func iei este trecutsuficient de aproape de un terminal sau de o zon a fluxului de date lacare se poate efectua o leg tur , acea leg tur este stabilit automat.

Dac simbolul func iei este îndep rtat, în cursul deplas rii, dezona sau terminalul respectiv, leg tura stabilit automat dispare.

Dac nu se dore te efectuarea automat a unei leg turi, se apastasta Space în timp ce butonul mouse-ului este ap sat.

4. Când simbolul func iei ajunge în pozi ia dorit , se face click cuunul dintre butoanele mouse-ului.

Dac în acel moment exist o leg tur stabilit automat, leg turarespectiv se p streaz .

LABVIEW 85

Fig. 4.5. Inserarea simbolurilor de func ii în diagrama

EXERCI IUDin subpaleta Numeric a paletei de func ii, introduce i în

diagram o func ie Add i pozi iona i-o ca în figur (fig. 4.6), întreterminalele celor dou elemente numerice.

Introduce i de asemenea în diagram un element de tipulNumeric Constant i stabili i-i acestuia valoarea 2.

Din subpaleta Boolean, introduce i în diagrama o func ie Not ipozi iona i-o între terminalele celor dou elemente booleene.

Din subpaleta String, introduce i în diagrama o func ie To UpperCase i pozi iona i-o între terminalele celor dou elemente alfanumerice.

Dup pozi ionarea simbolurilor de func ii în diagrama, deschide ifereastra Help i afi i în aceast informa iile referitoare la fiecarefunc ie prin deplasarea mouse-ului deasupra simbolului.

4.6. Realizarea leg turilor în diagramRealizarea unei leg turi între dou componente ale diagramei se

efectueaz cu ajutorul uneltei de conectare (fig. 4.7).

Fig. 4.6

INSTRUMENTA IA VIRTUAL86

Ordinea în care se selecteaz cele dou componente (sursa idestina ia) nu este important .

Leg tura poate fi realizat în orice sens, deoarece mediul deprogramare va identifica automat sursa i destina ia pentru a stabilisensul de circula ie al datelor.

1. Se deplaseaz cursorul mouse-ului (unealta de conectare)deasupra primei componente (aceasta va începe s clipeasc ) i se faceclick. Ac iunea este echivalent cu prinderea unui cap t al firului decomponenta respectiv .

Din acest moment, dac mouse-ul este deplasat, pe ecran va apareimaginea unui fir cu un cap t fixat de prima component i cu un cap tlegat de cursorul mouse-ului.

2. Se deplaseaz cursorul mouse-ului deasupra celei de-a douacomponente ( i aceasta va începe s clipeasc ) i se face click, fixândastfel al doilea cap t al firului de aceasta component .

Fig. 4.7 Realizarea leg turilor în diagram

LABVIEW 87

Observa ii1. Dac , la un moment dat, firul care urmeaz mouse-ul are un

sens (orar sau trigonometric) neconvenabil, sensul poate fi schimbat prinap sarea tastei blanc (spa iu).

2. Dac se dore te ca traseul unei leg turi s fie format din maimulte por iuni în unghi drept, un click într-un punct din diagram va fiechivalent cu fixarea firului în acel punct.

3. Dac o component a diagramei are rol de surs pentru untraseu ramificat, se pot efectua leg turi care s aib drept punct depornire un segment al fluxului de date.

4. Dac o leg tura a fost efectuat corect, ea va fi afi at înculoarea corespunz toare tipului de date ce vor circula prin zonarespectiv a fluxului de date.

Dac leg tura este incorect (conecteaz dou componente detipuri diferite), aceasta va fi afi at cu culoarea neagr i întrerupt .

EXERCI IUUtilizând unealta de conectare, realiza i leg turile din figura de

mai jos.Observa i c , similar terminalelor, leg turile din diagram au

culori ce semnfic tipul datelor scalare corespunz toare (portocaliupentru numere reale, albastru pentru numere întregi, verde pentru valoribooleene, roz pentru valori alfanumerice).

INSTRUMENTA IA VIRTUAL88

Astfel, atunci când programul va rula, indicatorul Meter va afi asuma dintre valoarea controlului Slide i constanta 2, indicatorulBoolean 2 va afi a valoarea logic negat a controlului Boolean, iarindicatorul String 2 va afi a textul din controlul String transformat înmajuscule.

Deschide i fereastra Help, selecta i unealta de conectare ipozi iona i cursorul mouse-ului deasupra unei leg turi astfel încât aceasta

"clipeasc ". Observa i c , în aceast situa ie, în fereastra Help suntafi ate informa ii referitoare la tipul de valori ce circul prin leg turarespectiv .

4.7. Fluxul de dateFluxul de date este format din totalitatea leg turilor ce

conecteaz diversele terminale de elemente, simboluri de func ii sauproceduri i structuri de programare din cadrul diagramei.

Rolul fluxului de date este acela de reprezentare grafic aalgoritmului dup care aplica ia va prelucra datele de intrare pentru acalcula valorile de ie ire.

Traseele ce formeaz fluxul de date pot fi simple, cu o surs i odestina ie, sau ramificate, cu o surs i mai multe destina ii.

Datele de intrare sunt acele valori (informa ii) pe care unprogram le prime te dintr-o surs oarecare.

Datele de intrare pot fi:• introduse de c tre utilizator prin intermediul tast turii sau al

mouse-ului;• extrase chiar de c tre program din fi iere de date aflate pe diverse

suporturi de memorie (hard-disk, discheta, CD etc.);

LABVIEW 89

• primite prin intermediul diverselor echipamente (placa de sunet,camera video, placa de re ea, placa de achizi ie de date etc.);

• extrase de c tre program din memorie, dac au fost stocate înaceasta de c tre alte programe.Datele de ie ire reprezint valorile pe care programul le

genereaz ca urmare a execut rii instruc iunilor sale i le transmiteutilizatorului.

Transmiterea datelor de ie ire se poate efectua:• prin afi area acestora pe monitor;• prin salvarea în fi iere de date ce vor fi ulterior accesate de c tre

utilizator sau de c tre alte programe;• prin stocarea în memorie pentru a fi utilizate de alte programe;• prin intermediul altor echipamente

Traseele ce formeaz fluxul de date pot fi simple, cu o surs i odestina ie, sau ramificate, cu o surs i mai multe destina ii. Indiferent demodul sau sensul în care traseele sunt dispuse pe diagram , "circula ia"datelor în cadrul fluxului se efectueaz doar de la surse c tre destina ii.

Prin surs se în elege, de exemplu, terminalul unui element decontrol, simbolul unei constante sau zona de ie ire a unei func ii sauproceduri.

Prin destina ie se în elege, de exemplu, terminalul unui elementindicator sau zona de intrare a unei func ii sau proceduri.

În orice mod de rulare (Run, Run Continously), prin ap sareabutonului Highlight Execution, utilizatorul are posibilitatea de a urm rio anima ie ce sugereaz deplasarea valorilor prin fluxul de date. Atuncicând o valoare par se te o component a diagramei ce este o surs a uneileg turi, valoarea respectiv este afi at în diagram (fig.4.8).

Fig.4.8. Fluxul de date

INSTRUMENTA IA VIRTUAL90

EXERCITII1. În panoul aplica iei pe care a i realizat-o mai sus, cu unealta de

operare, modifica i valoarea elementului de control Slide, schimba ipozi ia controlului Boolean i introduce i un text format din minuscule încontrolul String. Ap sa i s geata Run pentru a rula programul.Schimba i din nou pozi ia controlului Boolean i ap sa i din nou s geataRun.

2. Ap sa i butonul Run Continuously i, în timp ce programulruleaza în modul continuu, modifica i valoarea elementului de controlSlide, schimba i pozi ia controlului Boolean i modifica i textul dncontrolul String.

3. Ap sa i butonul Pause. Rularea programului se va suspendatemporar, aplica ia va trece automat în diagram i va indica prinaprindere intermitent locul din diagram în care programul s-a oprit.

4. Ap sa i butonul Highlight Execution, apoi butonul Step Over.Observa i afi area în diagram a valorilor de ie ire din func ii.

5. "Stinge i" butonul Continue (cel care avea ini ial etichetaPause). Observa i afi area în diagram a modului în care valorile circulpe fluxul de date al programului.

LABVIEW 91

6. "Stinge i" butonul Highlight Execution i întrerupe i rulareacontinu prin ap sarea butonului Abort execution.

4.8. Salvarea unei aplica iiAtât timp cât înc nu a fost salvat într-un fi ier, un program are

numele Untitled urmat de un num r de ordine. Pentru a specifica folder-ul în care programul s fie salvat, precum i numele fi ierului, se alegedin meniul File op iunea Save As... În urma select rii comenzii SaveAs..., programul deschide o fereastr de dialog în care utilizatorul poateselecta folder-ul în care s se efectueze salvarea i numele fi ierului (fig.4.9).

Programele realizate în mediul de programare graficLabVIEW se salveaz în fi iere cu extensia VI !

Fig. 4.9. Salvarea unei aplica ii

Din momentul în care a fost salvat prima dat , programului i seafi eaz numele atât în bara superioar a panoului cât i în cea adiagramei. Dac , dup salvare, programului i se aduc în continuaremodific ri, lâng numele acestuia apare un asterisc (*), semnalizândastfel faptul c versiunea ce a fost salvat nu este cea mai recent .

Comanda Save As... se poate folosi dac se dore te salvarea uneinoi versiuni a fi ierului într-o nou loca ie sau cu un nou nume.

EXERCI II1. Pe discul D al computerului, în directorul Utilizatori,

subdirectorul CCD, crea i un subdirector cu numele vostru.

INSTRUMENTA IA VIRTUAL92

2. Salva i aplica ia pe care a i realizat-o în subdirectorul propriu.

TEM1. Realiza i un program pentru calculul ariei i perimetrului unui

cerc, în func ie de valoarea razei introdus de c tre utilizator.2. Realiza i un program pentru calculul ariei i perimetrului unei

elipse, în func ie de valorile introduse de c tre utilizator pentru cele dousemiaxe.

3. Realiza i un program care s exemplifice utilizarea diverselorfunc ii booleene.

4. Realiza i un program pentru rezolvarea ecua iei de gradul aldoilea.

4.9. Func ii pentru valori scalare

Func ii pentru valori numericePe lâng func iile aritmetice simple descrise în lec ia anterioar ,

subpaleta Numeric a paletei de func ii con ine, în zona sa principal , iurm toarele func ii:

Quotient & Remainder calculeaz câtul i restul împ iriivalorii conectate la intrarea X la valoarea conectat la intrarea Y.

Compound Aritmetic (disponibil i în subpaleta Boolean apaletei de func ii) permite efectuarea opera iilor de adunare (Add) sauînmul ire (Multiply), sau a opera iilor logice SI (AND), SAU (OR) sauSAU EXCLUSIV (XOR), asupra unui num r variabil de valori deintrare.

Num rul de intr ri este stabilit de c tre utilizator prin"dimensionarea" simbolului func iei astfel:

- se plaseaz cursorul mouse-ului la mijlocul uneia din laturileorizontale ale simbolului, astfel încât pe laturile de sus i de jos s apar

te un cercule ,

LABVIEW 93

-se apas butonul stâng al mouse-ului i se deplaseaz mouse-ulinând butonul ap sat,

- pe m sur ce mouse-ul este deplasat, simbolul func iei î imodific dimensiunile, modificându-se astfel num rul de intr ri,

- când num rul de intr ri în func ie este cel dorit, se elibereazbutonul mouse-ului.

Pentru a selecta opera ia efectuat de c tre func ie (adunare,înmul ire etc)(fig.4.10):

- se apas butonul drept al mouse-ului pentru a deschide meniulpropriu al func iei,

- se deschide submeniul Change Mode,- se selecteaz opera ia dorit ,

Fig. 4.10. Selectarea opera iei efectuate de c tre func ie

Random Number (0-1) este o func ie ce nu posed intr ri, rolulu fiind de a genera o valoare real aleatoare în intervalul (0,1).

Subpaleta Numeric a paletei de func ii con ine de asemenea oserie de subpalete dedicate unor categorii particulare de func ii:

>>>subpaleta Conversion, con inând printre altele:

INSTRUMENTA IA VIRTUAL94

- 12 func ii pentru schimbarea modului de reprezentare a uneivalori numerice.

- func ia Boolean To (0,1) (disponibil i în subpaleta Boolean apaletei de func ii), care transform o valoare logic (True sauFalse) într-o valoare numeric (1 respectiv 0).

>>> subpaleta Trigonometric, con inând majoritatea func iilortrigonometrice,

>>> subpaleta Logarithmic, con inând func ii exponen iale ilogaritmice,

>>> subpaleta Complex, con inând func ii asociate numerelorcomplexe.

Subpaleta Addi ional Numeric Constants a paletei de func iicon ine valori constante des utilizate în trigonometrie i în lucrul cufunc ii exponen iale sau logaritmice, precum i constante utilizate înfizic (fig.4.11,fig.4.12)

Fig.4.11. Subpaleta Addi ional Numeric Constants

EXERCI IUÎn zona principal a paletei de func ii i în subpaletele dedicate

ale acesteia, identifica i func iile i constantele enumerate mai sus.Construi i un program care s afi eze câtul i restul împ irii a

dou numere naturale introduse de c tre utilizator.

LABVIEW 95

Func ii uzuale pentru valori alfanumerice>>> Func ia String Length determin num rul de caractere dintr-

o valoare alfanumeric (text). Sunt luate în considerare i caractereleneafisabile (spa iu, Tab, sfâr it de linie etc). Num rul de caractere de laie irea func iei este exprimat ca un întreg pe patru octe i.

>> Func ia Concatenate Strings posed un num r de intr ri cepoate fi modificat de c tre utilizator prin dimensionarea simboluluifunc iei. La ie irea sa, func ia genereaz o valoare alfanumeric ob inutprin concatenarea textelor de la intr rile sale, în ordinea de sus în jos.

>>> Func ia String Subset extrage, din textul conectat la intrareastring, o por iune de length caractere începând de la caracterul aflat lapozi ia offset inclusiv (pentru primul caracter se consider offset = 0).

Dac la intrarea offset a func iei nu este introdus nici o valoare,func ia consider c extragerea se va efectua începând cu primul caracter(valoarea implicit 0 a intr rii offset).

Fig.4.12. Subpaleta Addi ional Numeric Constants

INSTRUMENTA IA VIRTUAL96

Dac la intrarea length nu este introdus nici o valoare, func iaconsider c extragerea se va efectua pân la ultimul caracter inclusiv.

>>> Func ia Replace Substring sterge o por iune din textulconectat la intrarea string i introduce în locul respectiv textul conectat laintrarea substring.

Por iunea înlocuit începe de la caracterul aflat pe pozi ia offsetinclusiv i con ine length caractere.

Intrarea offset are valoarea implicit 0, iar intrarea length are ovaloare implicit egal cu num rul de caractere legat la intrareasubstring.

Dac la intrarea substring nu se leag nicio valoare (textul deinserat este vid), func ia efectueaz de fapt o tergere a unei por iuni, iardac la intrarea length se leag valoarea 0 (textul de ters este vid)func ia efectueaz de fapt o inserare a unei portiuni.

>>> Func ia Search and Replace String caut textul searchstring în textul conectat la intrarea string, iar atunci când îl g se te îlînlocuie te cu textul conectat la intrarea replace string. C utarea are locîncepând de la pozi ia offset a textului string.

Dac la intrarea offset nu se conecteaza nici o valoare, c utareaare loc începând cu prima pozi ie.

Dac la intrarea replace string nu se conecteaz nicio valoare,atunci func ia efectueaz de fapt o tergere (înlocuire cu text vid).

Dac la intrarea replace all? nu se conecteaz nicio valoare,atunci func ia se opre te dup prima apari ie a textului search string.

Dac la aceast intrare se conecteaz o valoare logic True,atunci func ia efectueaz înlocuiri pentru toate apari iile textului searchstring.

LABVIEW 97

Func ia genereaz textul rezultat în urma înlocuirii la ie irearesult string, iar la ie irea offset past replacement genereaz o valoareindicând pozi ia caracterului aflat imediat dup ultimul caracter înlocuit.

EXERCI IUPentru fiecare dintre func iile prezentate mai sus, construi i câte

un program care s exemplifice modul de utilizare a func iei.De exemplu, pentru func ia String Length, panoul programului

va con ine un element de control pentru valori alfanumerice, în careutilizatorul va introduce un text, i un element indicator pentru valorinumerice, în care programul va afi a num rul de caractere ale textuluiintrodus.

Func ii adi ionale pentru valori alfanumericeSubpaleta Additional String Functions a paletei String con ine

o serie de func ii uzuale pentru lucrul cu valori alfanumerice (fig.4.13):

Fig.4.13. Subpaleta Additional String Functions

>>> Func ia Search/Split String caut textul conectat la intrareasearch string/char în textul conectat la intrarea string.

INSTRUMENTA IA VIRTUAL98

utarea se efectueaz începând cu pozi ia offset.Dac textul c utat este g sit, func ia divide textul ini ial în dou

i:- partea dinainte de textul c utat (substring before match),- textul c utat urmat de restul textului în care s-a f cut c utarea(match + rest of string).Func ia genereaz la ie irea offset of match pozi ia în care a fost

sit textul c utat.Dac textul c utat nu a fost g sit, ie irea substring before match

con ine tot textul legat la intrarea string, iar ie irea offset of match arevaloarea -1.

>>> Func ia Pick Line selecteaz din textul multi-line string, cecon ine mai multe linii, pe cea cu indicele line index i adaug liniarespectiv la textul conectat la intrarea string.

Dac la intrarea string nu a fost conectat nicio valoare, rezultatuleste chiar linia cu indicele specificat.

>>> Func ia Match True/False String verific dac unul dintextele true string sau false string coincide cu începutul textuluiconectat la intrarea string.

În caz afirmativ, func ia genereaz la ie irea output string restultextului de la intrarea string, iar la ie irea selection o valoare booleanacorespunz toare intr rii care a coincis (True pentru true string i Falsepentru false string).

Dac ambele texte coincid, func ia consider textul true string.Dac nici un text nu coincide, ie irea selection are valoarea False

iar ie irea output string con ine întreg textul string.>>> Func ia Rotate String efectueaz o permutare circular a

caracterelor textului conectat la intrarea string, mutând primul caracterpe ultima pozi ie.

LABVIEW 99

>>> Func ia Reverse String inverseaz ordinea caracerelortextului conectat la intrarea string

>>>Func ia Append True/False String concateneaz la textulconectat la intrarea string unul din textele conectate la intr rile truestring sau false string, în func ie de valoarea booleana conectat laintrarea selector.

Subpaleta String/Number Conversion a paletei String con inefunc ii pentru conversia valorilor alfanumerice în valori numerice saupentru efectuarea opera iei inverse (Fig.4.14).

Fig.4.14. Subpaleta String/Number ConversionDintre acestea, cele mai des utilizate sunt:>>> Func ia Number To Decimal String transform num rul

întreg de la intrarea number într-un text de cel pu in width caractere.Dac num rul de la intrarea func iei nu este întreg, el este

trunchiat.Dac intrarea width nu este legat , num rul de caractere ale

textului va fi egal cu num rul de cifre ale intregului.

INSTRUMENTA IA VIRTUAL100

>>> Func ia Decimal String To Number transform într-ovaloare numeric întreaga por iunea din textul string începând de lapozi ia offset inclusiv (implicit de la pozi ia 0).

Modul de reprezentare al valorii de la ie irea number este identiccu cel al valorii numerice întregi conectate la intrarea default (implicitîntreg pe 32 de bi i).

Ie irea offset past number are semnifica ia pozi iei primuluicaracter din string dup por iunea care a fost transformat în valoarenumeric .

Subpaleta String/Number Conversion con ine de asemeneafunc ii pentru transformarea textelor din i în numere în baza denumera ie 16 sau 8 sau în formatul exponen ial, frac ional sau ingineresc.

EXERCI IUPentru fiecare dintre func iile prezentate mai sus, construi i câte

un program care s exemplifice modul de utilizare a func iei.De exemplu, pentru func ia Reverse String, panoul programului

va con ine un element de control pentru valori alfanumerice în careutilizatorul va introduce un text i un element indicator, de asemeneapentru valori alfanumerice, la care programul va afi a textul inversat.

Func ii pentru compara iiFunc iile pentru efectuarea compara iilor sunt grupate în

subpaleta Comparison a paletei de func ii.Caracteristic acestor func ii este faptul c , dac datele de intrare

pot fi de diverse tipuri (numerice, booleene, alfanumerice etc), datele deie ire sunt la majoritatea acestor func ii valori logice (booleene).

Conteaz de asemenea ordinea în care datele de intrare sunt legatela terminalul func iei (la intrarea de sus sau la cea de jos).

În cazul func iei Greater? de exemplu, ie irea va avea valoareaTrue dac valoarea de la intrarea de sus este mai mare decât valoarea dela intrarea de jos i va avea valoarea False în caz contrar.

Pe lâng func iile de comparare a dou m rimi sau de compararea unei m rimi cu valoarea nul , subpaleta Comparison con ineurm toarele:

LABVIEW 101

Fig.4.15. Func ii pentru compara ii

>>> Func ia Select genereaz la ie ire valoarea de la intrarea t(True) dac valoarea logic de la intrarea s este True, respectiv valoareade la intrarea f (False) dac valoarea logic de la intrarea s este False.Valorile de la intr rile t i f pot fi atât numerice cât i alfanumerice.

>>> Func ia Max & Min genereaz la ie irea max cea mai maredintre valorile x i y, respectiv la ie irea min pe cea mai mic dintreacestea.

>>> Func ia In Range and Coerce verific dac valoarea de laintrarea x este cuprins între valorile de la intr rile lower limit (limitainferioar ) i upper limit (limita superioar ).

INSTRUMENTA IA VIRTUAL102

Valoarea logic reprezentând rezultatul verific rii este generat laie irea In Range?

În mod implicit, intervalul de încadrare este închis la stânga ideschis la dreapta.

Închiderea sau deschiderea intervalului la extremit ile sale poatefi configurat de c tre utilizator din meniul propriu al func iei, activândsau dezactivând op iunile Include upper limit i Include lower limit.

Rezultatul "for rii" valorii x în intervalul prescris este generat laie irea coerced(x).

>>> Func ia Decimal Digit? genereaz o valoare logic True însitua ia în care caracterul de la intrarea sa este o cifr între 0 i 9 igenereaz o valoare False în caz contrar.

Subpaleta Comparison con ine de asemenea func ii pentru averifica dac un caracter este cifr în baza de numera ie 16, cifr în bazade numera ie 8, caracter tip ribil sau caracter netip ribil.

Func ii pentru lucrul cu valori dat - timp i de dialogFunc iile pentru lucrul cu valori dat - timp i func iile de dialog

se g sesc în meniul Time & Dialog al paletei de func ii (fig.4.16)

Fig.4.16.Func iile din meniul Time & Dialog

LABVIEW 103

Printre cele mai utilizate func ii din aceast categorie se num :>>> Tick Count (ms): determin num rul de milisecunde indicat

de ceasul intern al computerului (considerat de la momentul la carecalculatorul a fost pornit).

>>> Wait (ms): întrerupe execu ia programului pentru intervalulde timp specificat.

>>> Format Date/Time String: transform o valoare numericreprezentând un num r de secunde într-un text.

Num rul de secunde este considerat a fi scurs începând cu data de1 ianuarie 1904, ora 12.00. La intrarea time format string a func iei sepoate specifica formatul în care textul rezultat s fie construit.

>>>Get Date/Time String: transform o valoare numericreprezentând un num r de secunde în dou texte, unul reprezentând datai cel lalt timpul.

La intrarea date format se poate lega una din valorile 0, 1 sau 2,reprezentând formatele scurt, lung sau abreviat pentru dat . Dacnum rul de secunde nu este conectat, se consider num rul de secunde alceasului intern al computerului. Ie irea text ce reprezint timpul poate

INSTRUMENTA IA VIRTUAL104

con ine sau nu secunde, în func ie de valoarea intr rii booleene wantseconds?

>>> Get Date/Time In Seconds: determin num rul de secundescurs începând cu data de 1 ianuarie 1904, ora 12.00, pân la data itimpul curente ale calculatorului.

>>> One Button Dialog: determin apari ia unei ferestre dedialog, con inând un text specificat prin program, fereastra ce a teaptap sarea de c tre utilizator a unui buton (numele butonului poate fi i elconfigurat).

>>> Two Button Dialog: determin apari ia unei ferestre dedialog, con inând un text specificat prin program, fereastra ce a teaptap sarea de c tre utilizator a unuia din cele dou butoane disponibile(numele butoanelor pot fi de asemenea configurate).

Func ia genereaz o valoare booleana True dac utilizatorul aap sat butonul din stânga sau False dac a fost ap sat butonul dindreapta.

EXERCITIIPentru fiecare dintre func iile prezentate mai sus, construi i câte

un program care s exemplifice modul de utilizare a func iei.De exemplu, pentru func ia Select, panoul programului va con ine

un element de control boolean, dou elemente de control alfanumerice iun indicator alfanumeric. Programul va afi a la elementul indicator una

LABVIEW 105

din valorile de la cele dou controale alfanumerice, în func ie de valoareaTrue sau False a elementului Boolean.

De exemplu, pentru func ia Tick Count (ms), realiza i unprogram care s afi eze num rul de secunde scurse de la pornireacalculatorului.

TEM1. Construi i un program care s genereze un num r aleator într-

un interval ale c rui limite minim i maxim sunt specificate de c treutilizator.

2. Realiza i un program în care utilizatorul s dispun de patruelemente de control booleene sub form de LED-uri. Considerând c celepatru LED-uri reprezint cifrele binare ale unui num r în baza denumera ie 2, programul s afi eze num rul respectiv în baza 10.

3. Construi i un program în care utilizatorul s introduclungimea unui vector i unghiul acestuia cu orizontala (în grade), iarprogramul s afi eze lungimile proiec iilor vectorului pe cele dou axe decoordonate.

4. Construi i un program în care utilizatorul s introduclungimile i unghiurile cu orizontala (în grade) pentru doi vectori, iarprogramul s afi eze lungimea vectorului rezultânt, unghiul f cut deacesta cu orizontala i lungimile proiec iilor sale pe cele dou axe.

5. Într-un text, s se înlocuiasc toate spa iile (blanc) cu liniu desubliniere (underscore).

6. Fiind dat un cuvânt, s se transforme acesta astfel încât primaliter s fie majuscula i restul literelor s fie minuscule.

7. Fiind dat un text, s se verifice faptul c toate caracterele dincadrul acestuia sunt minuscule.

8. S se compare dou valori numerice a i b i s se aprind câteun LED pentru fiecare din situa iile a < b, a = b i a > b.

9. S se verifice dac dou texte con in acelea i caractere, înaceea i ordine, indiferent de tipul de litere (minuscule sau majuscule).

10. Fiind dat un text ce reprezint un nume i un prenumeseparate printr-un spa iu, s se ob in din acesta un text con inând celedou intiale, fiecare urmat de câte un punct.

11. Fiind dat un text, s se determine num rul de caractere dinacesta diferite de spa iu (blanc).

12. Fiind dat un text, s se verifice faptul c acesta nu con inespa ii libere.

INSTRUMENTA IA VIRTUAL106

13. Fiind dat un text ce reprezint un nume i un prenumeseparate printr-un spa iu, s se separe în dou texte, unul reprezentândnumele i unul prenumele.

14. Fiind dat un text ce nu con ine spa ii, s se verifice dacacesta con ine între ase i opt caractere.

15. S se realizeze un program care s aprind un LED atuncicând utilizatorul introduce o valoare mai mare decât 5.

16. S se realizeze un program care, în func ie de pozi ia unuicomutator boolean, s calculeze fie suma fie produsul a dou valorinumerice introduse de c tre utilizator.

17. Fiind date dou valori numerice reale a i b, s se calculezesuma dintre dublul valorii mai mari i triplul valorii mai mici.

18. Fiind dat un text ce reprezint o propozi ie, s se verificefaptul c punctul (.) apare o singur dat , la sfâr itul acesteia.

19. S se afi eze, în elemente indicatoare distincte, numerele deore, minute i secunde scurse de la pornirea calculatorului.

20. S se afi eze, în elemente indicatoare distincte, numerele dezile, ore, minute i secunde scurse de la 1 ianuarie 1904, ora 12.00.

21. S se afi eze, în diverse formate, un text reprezentând data itimpul curente ale calculatorului.

22. S se realizeze un program în care utilizatorul s introductrei valori numerice (a, b i c) ordonate cresc tor. În func ie de cumvalorile respective au fost introduse corect (ordonate cresc tor) sau nu,programul s afi eze o fereastr de dialog cu textul RASPUNSCORECT sau RASPUNS INCORECT.

23. S se realizeze un program care s aprind sau nu un indicatorRound LED, în func ie de r spunsul DA sau NU pe care utilizatorul îl dla apari ia unei ferestre de dialog cu intrebarea Aprindem becul ?

4.10 Func ii pentru valori vectoriale (Array)

Definirea valorilor i a num rului de valori vizibileAtunci când este dispus în panou i îi este definit tipul de date, un

element de tip Array afi eaz la un moment dat o singur valoare.Pentru a modifica num rul de valori afi ate, se pozi ioneaz întâi

cursorul mouse-ului pe un col al elementului Array, astfel încât pecol urile acestuia s apar patru simboluri "echer".

LABVIEW 107

La apari ia celor patru simboluri "echer", se apas butonul stângal mouse-ului i, inându-l ap sat, se deplaseaz mouse-ul astfel încât sse redimensioneze conturul elementului Array.

Pe m sur ce mouse-ul este deplasat, conturul redimensionat alelementului Array este marcat cu linie întrerupt (fig.4.17).

Fig.4.17. Func ii pentru valori vectoriale (Array)

Atunci când conturul a fost redimensionat astfel încât s poatcuprinde num rul dorit de valori, se elibereaz butonul mouse-ului ielementul Array este afi at redimensionat.

Redimensionarea conturului se poate efectua atât pe vertical câti pe orizontal .

În partea sa stâng , un element de tip Array dispune de un index.Indexul unui element Array indic num rul de ordine al valorii

afi ate în pozi ia superioar (indicele valorii). Indicele primei valoridintr-un Array este 0.

Imediat dup ce i se define te tipul de date, un Array nu con inenici o valoare (este vid). Faptul este semnalizat prin afi area "opac " aelementelor pe care Array-ul le con ine.

Atunci când se define te o valoare din Array, aceasta este afi atnormal.

Dac , la un moment dat, utilizatorul define te o valoare i existvalori cu indici mai mici înc nedefinite, acestea vor c ta automat ovaloare implicit , în func ie de tip.

Când se modific valoarea indexului unui Array, valorileacestuia se deplaseaz astfel încât în pozi ia superioar s fie afi atvaloarea cu indexul selectat.

Dac , în urma acestei deplas ri, unele valori nu mai sunt vizibile,faptul nu echivaleaz cu tergerea acestora: valorile continu s existe încadrul Array-ului i pot fi vizualizate prin modificarea corespunz toare aindexului.

INSTRUMENTA IA VIRTUAL108

EXERCI IUModifica i numerele de valori vizibile ale celor trei Array-uri

create în exerci iul anterior.Transforma i Array-urile în elemente de control (dac este cazul)

i defini i valori în cadrul acestora.Modifica i indexul fiec rui Array i observa i modul în care

valorile se deplaseaz .

Definirea num rului de dimensiuniÎn mod implicit, atunci când este creat, un Array are o singur

dimensiune, putând fi descris drept o matrice coloan (fig.4.18).

Fig.4.18. Definirea num rului de dimensiuni

Num rul de dimensiuni ale unui Array poate fi modificat prindimensionarea indexului acestuia: se pozi ioneaz cursorul mouse-ului pe

LABVIEW 109

un col al indexului, astfel încât pe col urile acestuia s apar patrusimboluri "echer", se apas butonul mouse-ului i se deplaseaz mouse-ul inând butonul ap sat, pân când indexul cap dimensiunea dorit .

Dac un Array are mai mult de o dimensiune, se poate stabiliafi area mai multor linii i mai multor coloane.

Terminalul unui element Array se caracterizeaz prin prezen aunor paranteze drepte a c ror grosime este propor ional cu num rul dedimensiuni.

Atunci când se realizeaz leg turi în diagram , conexiunile pecare circul un Array cu o dimensiune sunt mai groase decât cele pe carecircul valori scalare.

Pentru Array-urile cu dou sau mai multe dimensiuni,conexiunile sunt reprezentate cu linie dubl .

Spa iul intermediar al liniei duble este cu atât mai mare cu câtnum rul de dimensiuni ale Array-ului este mai mare.

EXERCI IUri i numerele de dimensiuni ale Array-urilor create în

exerci iile anterioare i afi i mai multe linii i mai multe coloane.Observa i c , atunci când un Array cu o dimensiune este

transformat în unul cu dou dimensiuni (matrice), valorile existenteini ial în Array sunt distribuite pe prima linie a matricei.

Observa i comportamentul unei matrici la introducerea unei valorianterior nedefinite.

Modifica i indexurile unei matrici i observa i modul de depl sarea valorilor.

Construirea Array-urilor în diagramAtunci când este necesar existen a în diagram a unei constante

Array, aceasta poate fi selectat din meniul cu func ii pentru valorivectoriale (Array) al paletei de func ii (fig.4.19).

INSTRUMENTA IA VIRTUAL110

La dispunerea sa în diagram , similar elementelor Array de pepanou, o astfel de constant nu are definit tipul de date pe care le vacon ine.

Fig.4.19. Construirea Array-urilor în diagram

Definirea tipului de date se realizeaz prin introducerea închenarul constantei Array a unei constante de tipul dorit (numeric,boolean sau alfanumeric).

O constant Array permite acelea i opera ii de definire anum rului de valori vizibile sau de modificare a num rului de dimensiunica i elementele Array din panou.

LABVIEW 111

Pentru a ob ine în mod dinamic (programatic), în diagram ,structuri de valori de tipul Array, pot fi utilizate o serie de func iispecifice.

Func ia Initialize Array genereaz un Array cu una sau maimulte dimensiuni, con inând aceea i valoare (conectat la intrareaelement) în toate pozi iile.

Num rul de valori de-a lungul unei dimensiuni se specific laintrarea dimension size a func iei.

Atunci când este dispus în diagram , func ia are o singur intraredimension size, generând astfel un Array cu o singur dimensiune. Dacse dore te generarea unui Array cu mai multe dimensiuni, simbolulfunc iei poate fi dimensionat.

Dac la una dintre intr rile dimension size se conecteaz valoarea0, sau dac toate intr rile respective sunt neconectate, func ia va generaun Array vid.

Func ia Build Array concateneaz la un Array una sau maimulte elemente cu un num r de dimensiuni imediat inferior (adaug

INSTRUMENTA IA VIRTUAL112

valori scalare la un Array cu o dimensiune, adaug linii la matricis.a.m.d.).

Atunci când este dispus în diagram , func ia are o singurintrare. Num rul dorit de intr ri se ob ine prin dimensionarea simboluluifunc iei.

Dac la toate intr rile func iei sunt legate elemente cu acela inum r de dimensiuni, func ia poate opera în dou moduri, dup cumop iunea Concatenate Inputs din meniul sau propriu este sau nuactivat :

- dac op iunea este activat , func ia va concatena intr rile i vaob ine un Array cu un num r de dimensiuni egal cu al intr rilor(op iunea nu este valabil dac toate intr rile sunt scalare);

- dac op iunea nu este activat , func ia va ob ine un Array cu unnum r de dimensiuni imediat superior celui al intr rilor (Array cu odimensiune din valori scalare, matrice din linii s.a.m.d.).

Func ia Interleave 1D Array construie te un Array cu o singurdimensiune prin intreteserea mai multor Array-uri având de asemenea osingur dimensiune. Array-ul rezultat este format prin preluareaalternativ a câte unei valori din fiecare Array de intrare.

La dispunerea în diagram , func ia con ine doar dou intr ri, darnum rul acestora poate fi modificat prin dimensionarea simbolului.

EXERCI IUInsera i în diagram o constant Array de valori numerice, cu o

dimensiune, con inând primele cinci numere naturale.Ini ializa i un Array cu o dimensiune, con inând de zece ori

valoarea 7.Construi i o matrice care s con in pe prima linie rezultatul

concaten rii celor dou Array-uri de mai sus, iar pe a doua linierezultatul intreteserii valorilor acestora.

Explica i de ce ultimele cinci valori de pe a doua linie a matriceisunt nule.

Elementele Array i structurile repetitiveAtunci când, în diagram , un Array este conectat la o structur

repetitiv For, bucla respectiv va prelua, la fiecare itera ie a sa, doarcâte o valoare din Array. Valoarea preluat la o itera ie este cea cuindicele din Array egal cu indicele itera iei buclei.

LABVIEW 113

Fig.4.20. Elementele Array i structurile repetitive

În aceasta situa ie, nu mai este necesar conectarea unei valori laterminalul N al buclei. Aceasta va executa atâtea itera ii câte valori suntîn Array-ul de intrare.

Dac se conecteaz totu i o valoare la terminalul N, bucla For vaexecuta un num r de itera ii egal cu minimul dintre acea valoare inum rul de valori din Array.

Dac , din interiorul unei bucle For, o valoare scalar esteconectat la conturul acesteia, atunci când bucla î i încheie ultimaitera ie, valorile scalare ajunse pe contur în toate itera iile vor p sibucla grupate într-un Array.

Comportamentul buclei la intrarea unui Array poate fi modificat:dac , din meniul propriu al componentei de pe conturul buclei, se alegeop iunea Disable Indexing, la fiecare itera ie a buclei va fi preluat întregArray-ul de intrare.

În acest caz, este necesar ca o valoare s fie conectat laterminalul N al buclei.

INSTRUMENTA IA VIRTUAL114

Dac se alege op iunea Disable Indexing pentru o componenta depe contur la care sunt conectate valori din interiorul buclei, din aceacomponent , dup încheierea ultimei itera ii, va par si bucla doarvaloarea din ultima itera ie. Valorile ce au ajuns pe contur în toatecelelalte itera ii vor fi pierdute.

Considerentele de mai sus sunt valabile pentru Array-uri de oricedimensiune:

• dintr-o matrice, se poate prelua la fiecare itera ie a bucleifie câte o linie, fie intreaga matrice;• dac un Array unidimensional din interiorul buclei esteconectat pe conturul acesteia, la încheierea ultimei itera iicomponenta buclei va genera fie o matrice, fie doar Array-ulprimit în ultima itera ie.

Modurile în care un Array se poate comporta la intrarea sau laie irea dintr-o structur repetitiv sunt valabile i în cazul buclelorWhile, cu deosebirea c , în cazul acestora, comportamentul implicit esteinversat:

• în mod implicit, o bucl While va prelua la fiecare itera ieîntreg Array-ul de intrare. Doar în cazul în care componentei depe contur i se selecteaz , din meniul propriu, op iunea EnableIndexing, bucla While va prelua câte o valoare la fiecare itera ie.• în mod implicit, dac o valoare din interiorul unei bucleWhile se conecteaz la conturul acesteia, componenta de pecontur va genera, dup încheierea execu iei buclei, doar valoareaprimit în ultima itera ie.Doar dac se selecteaz op iunea Enable Indexing a componentei

de pe contur, aceasta va genera, dup încheierea ultimei itera ii, unArray cuprinzând valorile primite în cadrul tuturor itera iilor.

Alte func ii pentru elemente ArrayFunc iile aritmetice i logice pentru valori scalare, precum i cele

pentru valori alfanumerice, permit conectarea de Array-uri con inândvalori de tipurile corespunz toare.

Se pot astfel realiza:• opera ii aritmetice asupra valorilor dintr-un Array(r cina p trat , func ii trigonometrice etc.), între un Array i ovaloare scalar sau între dou Array-uri;• opera ii logice între un Array i o valoare boolean sauîntre dou Array-uri cu valori booleene;

LABVIEW 115

• opera ii asupra Array-urilor de valori alfanumerice.

Fig.4.21. Alte func ii pentru elemente Array

Func iile Add Array Elements i Multiply Array Elementsdetermin suma, respectiv produsul valorilor numerice dintr-un Array.

Func iile And Array Elements i Or Array Elementsefectueaz opera iile logice SI, respectiv SAU, asupra tuturor valorilorbooleene dintr-un Array, ob inând o valoare boolean scalar .

Atunci când au drept operanzi un Array i o valoare scalar saudou Array-uri, func iile de compara ie genereaz un Array de valoribooleene, compararea fiind efectuat valoare cu valoare.

Dac , din meniul propriu al func iei de compara ie, se alegeop iunea Compare Aggregates, func ia va genera o valoare booleanscalar .

INSTRUMENTA IA VIRTUAL116

De exemplu, dac se compar dou Array-uri de valori numericecu func ia Equal? în starea Compare Aggregates, func ia va generavaloarea True doar dac este îndeplinit condi ia de egalitate între toateperechile de valori aflate pe acelea i pozi ii în cele dou Array-uri.

Func ia Number To Boolean Array, aflat în meniul pentrufunc ii booleene, transform un num r natural într-un Array de valoribooleene, efectuând de fapt transformarea din baza 10 în baza 2.

Bitul cel mai pu in semnificativ este reprezentat în Array devaloarea cu indicele 0. De exemplu, valoarea 6=0+21+22 estetransformat într-un Array cu trei valori booleene: (False, True, True).

Func ia Boolean Array To Number realizeaz transformareainvers , dintr-un Array de valori booleene într-un num r natural.

TEM1. se calculeze diferen a dintre valorile maxim i minim dintr-un Array de valori numerice.2. se verifice prin aprinderea unui LED dac valoarea minimdintr-un Array de valori numerice apare înaintea valorii maxime.3. se ordoneze descresc tor un Array de valori numerice.4. se calculeze suma dintre primul i ultimul element ale unuiArray de valori numerice.5. se calculeze media elementelor r mase dup eliminareavalorilor minim i maxim dintr-un Array de valori numerice.6. se realizeze un program pentru generarea unui Array de 50 denumere aleatoare cuprinse între N1 si N2 (N1 si N2 specificate de c treutilizator).7. se realizeze un program pentru generarea unui Array de 50 devalori booleene aleatoare, astfel încât probabilitatea de apari ie a valoriilogice True s fie 0,7.

LABVIEW 117

4.11 Func ii pentru elemente de tip ClusterFunc iile specifice elementelor de tipul Cluster sunt grupate în

meniul cu acela i nume al paletei de func ii (fig.4.22).

Fig.4.22. Func ii pentru elemente de tip Cluster

Func ia Unbundle permite separarea elementelor unui Cluster.Atunci când o func ie Unbundle este dispus în diagram , ea poseddou ie iri i poate fi dimensionat .

Când se realizeaz o leg tur între terminalul unui Cluster i ofunc ie Unbundle, func ia se dimensioneaz automat, corespunz tornum rului de elemente din Cluster. Ie irile func iei cap culori iinscrip ii corespunz toare elementelor componente. Ie irea din pozi iasuperioar corespunde elementului cu indicele 0, cea imediat de sub eaelementului cu indicele 1 s.a.m.d.

FU

INSTRUMENTA IA VIRTUAL118

Func ia Bundle grupeaz mai multe valori (elemente) într-ostructur de tip Cluster. În mod implicit func ia posed dou intr ri darpoate fi dimensionat .

Dac la intrarea cluster a func iei Bundle nu se conecteaz nimic,atunci la toate intr rile sale trebuie s existe conexiuni, pentru a definicomplet structura elementului Cluster rezultant.

Dac la intrarea cluster se conecteaz o structur de date,simbolul func iei Bundle se dimensioneaz automat, iar intr rile salecap culori i inscrip ii conform structurii de date conectate.

În aceast situa ie, nu mai este necesar ca la toate intr rile func iei fie conectate valori.

Func ia nu mai creeaz o nou structur ci înlocuie te, în structuralegat la intrarea cluster, eventualele valori conectate la unele dinintr rile sale.

Dac elementele din interiorul unui Cluster posed etichete(label), separarea acestora se poate efectua i cu ajutorul func ieiUnbundle By Name.

Atunci când la intrarea sa se conecteaz un Cluster, ie irilefunc iei Unbundle By Name cap nume ce corespund etichetelorcomponentelor elementului Cluster.

Dac func ia are mai pu ine intr ri decât num rul elementelor dinCluster, numele sunt atribuite în ordinea elementelor.

Simbolul func iei Unbundle By Name poate fi dimensionat.Numele atribuit unei ie iri ( i implicit elementul din Cluster ce se

ob ine la ie irea respectiv ) poate fi modificat (fig.4.23):• facând click cu unealta de operare pe ie irea respectiv ,apoi selectând numele dorit din meniul care se deschide;• deschizând meniul propriu al func iei (click cu butonuldrept al mouse-ului) i selectând numele dorit din submeniulSelect Item.

LABVIEW 119

Func ia Build Cluster Array preia un num r de elemente de tipArray (simbolul func iei poate fi dimensionat), introduce fiecare Arrayîntr-un Cluster i combin toate aceste elemente Cluster într-un elementArray rezultant.

Toate elementele Array de la intrare trebuie s fie de acela i tip.Func ia Index & Bundle Cluster Array creeaz un Array de

elemente Cluster.Elementul Cluster cu indicele i con ine valorile cu indicii i din

elementele Array de la intrare.Elementele Array de la intrare pot fi de tipuri diferite.Func ia Cluster To Array dispune elementele dintr-un Cluster

într-un Array.Elementele din Cluster trebuie s fie de acela i tip.Func ia Array To Cluster dispune valori dintr-un Array într-un

Cluster.

Fig.4.23.Modificarea numelui atribuit unei ie iri

INSTRUMENTA IA VIRTUAL120

Num rul de elemente din Cluster se stabile te selectând, dinmeniul propriu al func iei, op iunea Cluster Size... (implicit 9).

Dac în elementul Array se afl mai multe valori decât num rulde elemente din Cluster, atunci vor fi preluate doar o parte dintre acesteai anume primele.

4.12. Elemente i func ii de tip PicturePentru a dispune pe panoul aplica iei un element de tip

Picture.ctl, acesta poate fi selectat din meniul de controale, submeniulGraph, submeniul Ctls (fig.4.24).

Func iile pentru lucrul cu elemente de tip Picture.ctl sunt dispuseîn meniul de func ii. Un element de tip Picture reprezint o matrice depixeli, fiecare pixel fiind definit prin coordonatele sale X si Y.

Originea sistemului de coordonate se afl în col ul stânga-sus alfigurii. Axa X are sensul pozitiv spre dreapta, iar axa Y are sensul pozitivîn jos.Graphics & Sound, submeniul Picture Functions.

LABVIEW 121

Fig.4.24. Elemente i func ii de tip Picture

Utilizarea functiilor de tip PictureFunc iile pentru lucrul cu elemente de tip Picture.ctl efectueaz

opera ii asupra unei figuri în general în sensul de ad ugare a unuielement geometric în figur .

În imaginea de mai jos se pleac de la o constanta Empty Picture(figura vid ).

În prima etap , utilizând func ia Move Pen.vi, se deplaseaz uncreion imaginar în punctul de coordonate (50, 50) al figurii. Func iaMove Pen.vi nu adaug nimic la figur .

Cu ajutorul func iei Draw Line.vi, în figura preluat de la func iaMove Pen.vi este trasat un segment de culoare ro ie. Func ie DrawLine.vi consider c punctul de plecare al segmentului este punctul încare se afl creionul imaginar, fiind necesar ca func iei s i se specificedoar punctul final al segmentului, în acest caz punctul de coordonate(120, 140).

INSTRUMENTA IA VIRTUAL122

În figura preluat de la ie irea func iei Draw Line.vi, cu ajutorulfunc iei Draw Circle by Radius.vi, este trasat un cerc plin (veziconstanta True) de culoare albastr , cu centrul în punctul de coordonate(200, 200) i de raza 20. Figura ob inut la ie irea func iei Draw Circleby Radius.vi este transferat elementului de tip Picture.ctl, rezultatulfiind afi area figurii.

TEMA1. Construi i diagrama din figura de mai sus i verifica i modul defunc ionare.2. se realizeze un program pentru trasarea graficului uneiparabole.3. se realizeze un program pentru trasarea graficului unui cerc.4. se realizeze un program pentru trasarea graficului unei elipse.

LABVIEW 123

5. se realizeze un program pentru simularea comportamentuluiunui resort elastic.6. se realizeze un program pentru simularea comportamentuluiunui resort elastic, utilizând elemente Picture.

5. Structuri de programare

5.1. Inserarea structurilor în diagramStructurile de programare sunt componente ale diagramei ale

ror simboluri se g sesc în subpaleta Structures a paletei de func ii(fig.5.1).

În diagram , o structur de programare urmeaz s con in o seriede terminale de elemente, simboluri de func ii i valori constante ce vorforma un flux de date în interiorul structurii.

Fig.5.1. Structurile de programare

Dac , în momentul în care structura este aleas din subpaletaStructures, o parte din elementele pe care urmeaz s le con in se afldeja dispuse în diagram , chenarul structurii poate fi trasat în jurulcomponentelor respective (dup selectarea din subpalet , se apasbutonul stâng al mouse-ului în unul din colturile viitorului chenar i sedeplaseaz mouse-ul inând butonul ap sat: pe m sur ce mouse-ul estedeplasat, se traseaz automat un contur cu linie întrerupt , contur ce va fiînlocuit de c tre structur în momentul eliber rii butonului mouse-ului).

INSTRUMENTA IA VIRTUAL124

Dup dispunerea în diagram , conturul structurii poate fi deplasatsau dimensionat. Atunci când o structur este deplasat , toate elementeledin interiorul sau se deplaseaz odat cu ea.

Elemente din afara structurii pot fi mutate în interiorul acesteia,iar elemente din interior pot fi mutate în afara structurii.

Dac , prin dimensionare sau deplasare, o structura ajunge sa sesuprapuna cu alte elemente din diagrama, acestea nu vor fi incluse instructura.

EXERCI IUExersa i inserarea unei structuri oarecare (de exemplu Sequence)

în diagram , trasând de la început chenarul sau în jurul unui grup deelemente.

Muta i elemente din structur în afara sa i aduce i elemente dinexterior în interiorul structurii.

Deplasa i i dimensiona i structura.

5.2. Structura secven ial (Sequence)Atunci când dispune de mai multe ferestre, fiecare dintre acestea

cu propriul flux de date, o structur Sequence execut în ordine ferestrelerespective.

De exemplu, în figurile de mai jos sunt reprezentate dou ferestreale unei structuri Sequence.

Structura va executa întâi fereastra cu indicele 0, trimi ându-sevaloarea de la elementul de control Slide la elementul indicator Meter,apoi va executa fereastra 1 ce are ca efect transmiterea valorii booleeneîntre cele dou elemente.

Fig.5.2. Structura secven ial (Sequence)

Atunci când este dispus în diagram , o structur Sequencecon ine o singur fereastr , aceasta fiind totodat i fereastra curent(vizibil ). Deschizând meniul propriu al structurii i alegând una dinop iunile Add Frame After sau Add Frame Before, se poate ad uga ofereastr dup sau înaintea celei curente.

LABVIEW 125

Trecerea la o alt fereastr se poate realiza fie prin intermediulcelor dou s ge i de la capetele selectorului, fie ap sând pe s geata dinpartea dreapt (îndreptat în jos) i selectand indicele ferestrei dorite dinlista care se desf oar . La un moment dat, este vizibil doar fluxul dinfereastra curent a unei structuri Sequence.

Se poate crea o dublur a ferestrei curente, selectând din meniulpropriu al structurii op iunea Duplicate Frame. Fereastra curent poatefi tears , cu op iunea Delete This Frame. Atunci când o structurSequence con ine cel pu in dou ferestre, ordinea acestora poate fi

INSTRUMENTA IA VIRTUAL126

schimbat : se modific indicele ferestrei curente, selectând op iuneaMake This Frame, apoi noul indice.

Atunci cand se doreste transferul unei valori intre doua ferestreale unei structuri Sequence, prin selectarea optiunii Add SequenceLocal se dispune pe conturul structurii o variabila locala a acesteia (subforma unui patrat galben).

Dac , în una din ferestrele structurii, se conecteaz o valoare lavariabila local , fereastra respectiv devine fereastr surs pentru aceavariabil . În acea fereastr , simbolul variabilei locale con ine o fereastrindreptat spre exteriorul structurii. În ferestrele anterioare ferestreisurs , simbolul variabilei locale devine ha urat, semn c valoareavariabilei locale nu este accesibil în acele ferestre.

În ferestrele de dup fereastra surs , simbolul variabilei locale vacon ine o s geat îndreptat spre interiorul structurii. În aceste ferestre,valoarea transferat prin intermediul variabilei locale poate fi utilizat înfluxul de date. O structur Sequence poate dispune de mai multevariabile locale.

Într-o structur Sequence pot fi utilizate valori provenite dinfluxul de date exterior. O valoare introdus din exterior într-o structurSequence va putea fi utilizat în oricare dintre ferestrele structurii.

Dac , într-o anumit fereastr , se face o leg tur din structuraSequence în exteriorul acesteia, la ie irea respectiv (p tratul de pecontur) nu va mai putea fi legata o alt valoare din alt fereastr (ar existao incertitudine privind valoarea care iese din structur ).

LABVIEW 127

Indiferent de indicele ferestrei în care s-a facut o leg tur spreexterior, valoarea va p rasi ie irea de pe conturul structurii Sequencedoar dup executarea ultimei ferestre.

EXERCI IUIntroduce i în diagram o structur Sequence cu patru ferestre.Pornind de la un element de control numeric al c rui terminal este

exterior structurii, calcula i în ferestre succesive dublul, p tratul, r cintrat i inversa (1/x) valorii numerice respective.

Valoarea calculat în fiecare fereastr a structurii va fi afi atîntr-un element indicator separat.

Ad uga i structurii o a cincea fereastr i, utilizând variabilelocale, calcula i i afi i în aceast ultim fereastr suma valorilorcalculate în ferestrele anterioare.

5.3. Structura cauzal (Case)Atunci când este dispus în diagram , o structur Case con ine

dou ferestre (True si False), fiecare dintre acestea cu propriul flux dedate. Pe conturul structurii se afl dispus un terminal selector (deculoare verde, con inând semnul intreb rii) (fig.5.3).

Fig.5.3. Structura cauzal (Case)

Structura Case va executa doar una din cele dou ferestre, înfunc ie de valoarea booleana (True sau False) conectat la terminalul sauselector.

Dac la terminalul selector al unei structuri Case, în locul uneivalori booleene, se conecteaz o valoare numeric (num r întreg saunatural), numele ferestrelor se vor modifica automat din True i False în0 i 1.

Structura va executa fereastra al c rei nume va coincide cuvaloarea numeric ce ajunge la terminal sau selector.

INSTRUMENTA IA VIRTUAL128

În aceast situa ie, are sens ca structura Case s con in mai multde dou ferestre.

Deoarece structura Case nu va putea con ine atâtea ferestre câtevalori numerice pot ajunge la terminalul sau selector, una dintre ferestretrebuie declarat drept fereastra implicit (Default). Fereastra implicitva fi executat atunci când valorii ajunse la terminalul selector nu îicorespunde nici un nume de fereastr . Un nume de fereastr poatecon ine i descrierea unei mul imi de valori, de genul 2..5, 7..9,intelegând prin aceasta ca fereastr respectiv va fi executat dac laterminalul selector ajunge una din valorile 2, 3, 4, 5, 7, 8 sau 9.

O valoare nu poate exista în numele mai multor ferestre (ar existao incertitudine privind fereastra ce trebuie executat ).

Dac la terminalul selector al unei structuri Case se conecteaz ovaloare alfanumeric , atunci numele ferestrelor vor trebui s fie de tipulstring (se modific utilizând unealta de editare texte). i în aceastsitua ie trebuie s existe o fereastr implicit .

Se pot de asemenea defini mul imi de valori (de genul "A".."F"),cu condi ia evit rii dublurilor.

O valoare introdus din exterior într-o structur Case esteaccesibil în orice fereastr a acesteia.

LABVIEW 129

Dac dintr-o fereastr a unei structuri Case se scoate o valoare înexterior, pe conturul structurii apare un terminal de ie ire de culoarealb , semn c diagrama con ine o eroare.

Atunci când o structur Case are pe contur un terminal de ie ire,la acesta trebuie definite leg turi din toate ferestrele structurii. În cazcontrar, se spune c ie irea din structur nu este complet definit .

Atunci când ie irea este complet definit , terminalul de ie ire seumple cu culoarea reprezentând tipul de date conectate (pentru a fi corectdefinit , la o ie ire trebuie s ajung acela i tip de date din toateferestrele structurii).

EXERCI II1. Introduce i în diagram o structur Case la al c rei terminal

selector conecta i terminalul unui element de control boolean. În func iede valoarea elementului de control boolean, la terminalul unui elementindicator de tip String din afara structurii, trimite i textul ADEVARATsau FALS.

2. Introduce i în diagram o structur Case la al c rei terminalselector conecta i terminalul unui element de control numeric pentruvalori naturale. În func ie de valoarea elementului de control numeric, laterminalul unui element indicator de tip String din afara structurii,trimite i textul CIFRA PARA, CIFRA IMPARA sau NUMAR.

3. Introduce i în diagram o structur Case la al c rei terminalselector conecta i terminalul unui element de control alfanumeric.

În func ie de primul caracter din elementul de control, laterminalul unui element indicator de tip String din afara structurii,trimite i textul PRIMA PARTE (pentru primul caracter de la A la M), ADOUA PARTE (pentru primul caracter de la N la Z) sau NU INCEPECU LITERA.

INSTRUMENTA IA VIRTUAL130

5.4. Structura repetitiv cu num r fix de itera ii (bucla For)O bucl For executa de un num r fixat de ori por iunea de

diagram pe care o con ine (fig.5.4). O execu ie a por iunii interne dediagram poart numele de itera ie.

Fig.5.4. Bucla For

O bucl For dispune în col ul stânga - sus de un terminal (notatcu N), la care trebuie legat o valoare care s specifice num rul de itera iipe care bucla urmeaz s le execute.

În interiorul buclei se afl un terminal num tor (notat cu i)care genereaz o valoare natural reprezentând indicele itera iei curente(aflate în curs de execu ie). Indicii itera iilor sunt numerota i începând cuvaloarea 0, astfel încât ultima itera ie executat de c tre bucla For vaavea indicele N-1.

EXERCI IU

Introduce i în diagram o bucl For.Conecta i terminalul unui element de control numeric la

terminalul N al buclei i terminalul unui element indicator numeric laterminalul num tor al buclei. Introduce i în bucl o func ie de a teptare,astfel încât fiecare itera ie a buclei s se efectueze în interval de dousecunde.

Rula i programul i urm ri i în panou modificarea indiceluiitera iei curente.

5.5. Structura repetitiv cu condi ie de terminare (buclaWhile)O bucl While execut por iunea de diagram pe care o con ine

pân când la terminalul de continuare (aflat în col ul dreapta-jos)apare o anumit valoare boolean (fig.5.5).

LABVIEW 131

Atunci când o bucl While este dispus în diagram , terminalulu de continuare se afl în starea implicit Continue If True. Bucla va

continua s execute itera ii succesive atât timp cât la terminalul s u decontinuare ajunge o valoare logic True. Dac la terminalul decontinuare ajunge o valoare logic False, bucla While nu mai trece laurm toarea itera ie ci î i încheie execu ia.

Fig.5.5. Bucla WhileStarea implicit a terminalului de continuare poate fi modificat .

Terminalul poate fi trecut în starea Stop If True fie cu unealta deoperare, fie ap sând butonul drept al mouse-ului i selectând starea dinmeniul propriu.

În starea Stop If True bucla While î i va încheia execu ia atuncicând la terminalul de continuare ajunge valoarea logic True.

În col ul stânga - jos, bucla While dispune de un terminalnum tor (notat cu i) care genereaz o valoare natural reprezentândindicele itera iei curente (aflate în curs de execu ie). Indicii itera iilorsunt numerota i începând cu valoarea 0.

EXERCI IUIntroduce i în diagram o bucl While.

INSTRUMENTA IA VIRTUAL132

Conecta i terminalul unui element de control boolean de tipulStop Button la terminalul de continuare al buclei i terminalul unuielement indicator numeric la terminalul num tor al buclei. Trece iterminalul de continuare al buclei în starea Stop If True. Introduce i înbucl o func ie de a teptare, astfel încât fiecare itera ie a buclei s seefectueze în interval de o secund .

Rula i programul i urm ri i în panou modificarea indiceluiitera iei curente. Ap sa i butonul STOP pentru a încheia execu ia bucleiWhile.

5.6. Regi tri de transfer în structuri repetitiveRegistrii de transfer sunt componente ale structurilor repetitive

ce pot fi utilizate pentru transferul unor valori între dou sau maimulte itera ii succesive ale structurii. Pentru a ad uga un registru detransfer unei structuri repetitive (bucla For sau While), se selecteazop iunea Add Shift Register din meniul propriu al structurii (fig.5.6).

Un registru de transfer con ine dou terminale (stâng i drept)dispuse pe conturul structurii. O valoare conectat la terminalul drept alregistrului va "apare" în terminalul stâng la itera ia urm toare.

Cu alte cuvinte, terminalul stâng introduce în itera ia curentvaloarea ce a fost transmis la terminalul drept în itera ia anterioar .

La executarea primei itera ii a unei bucle, nu exist înc nici untransfer efectuat de c tre registru între cele dou terminale ale sale.

Terminalul stâng al registrului nu a fost înc "alimentat" cu ovaloare din itera ia precedent . Pentru a se putea efectua extragerea uneivalori din terminalul stâng la prima itera ie, se conecteaz la acestterminal o valoare din exteriorul buclei. Se spune c registrul de transferse ini ializeaz .

Terminalul stâng al unui registru de transfer poate fidimensionat, c tând astfel mai multe componente. Într-o astfel desitua ie, valoarea transferat din itera ia anterioar se afl în componentasuperioar .

De sus în jos, fiecare component con ine câte o valoare provenitdintr-o itera ie mai îndep rtat . Dup executarea ultimei itera ii a buclei,din terminalul drept al registrului se poate extrage ultima valoaretransferat acestuia.

O structur repetitiv poate con ine mai mul i regi tri de transfer,fiecare cu una sau mai multe componente ale terminalului stâng i fiecaretransferând între itera ii valori de diverse tipuri.

LABVIEW 133

Fig.5.6. Regi tri de transfer în structuri repetitive

EXERCI IUIntroduce i în diagram o bucl While i ad uga i-i acesteia doi

regi tri de transfer.Prin primul dintre regi trii transfera i o valoare numeric

aleatoare X, iar prin cel de-al doilea o valoare boolean , ob inut carezultat al evalu rii expresiei X > 0,5. Ini ializa i cei doi regi tri detransfer cu valori corespunz toare.

Dispune i pe panou elemente indicatoare pentru afi area valorilordin itera ia curent i din cea precedent , precum i un buton la a c ruiap sare execu ia buclei While s se încheie. Introduce i în bucla While ofunc ie care s determine o a teptare de trei secunde la fiecare itera ie.

Ap sa i butonul Run, apoi trece i în diagram , ap sa i butonulHighlight Execution i urm ri i modul în care valorile sunt transferateîntre itera ii.

INSTRUMENTA IA VIRTUAL134

TEM1. se realizeze un program care s aprind un LED pentru treisecunde, s -l sting pentru o secund , apoi s repete ciclul pân laap sarea de c tre utilizator a unui buton STOP.2. Construi i un program care s simuleze func ionarea unuisemafor, aprinzând succesiv câte un LED rosu, galben sau verde.3. LED-urile ro u i verde vor sta aprinse câte 10 secunde, LED-ulgalben va sta aprins dou secunde. Programul va rula pân la ap sarea de

tre utilizator a unui buton STOP.4. se realizeze un program care s numere descresc tor de la 20la zero, la interval de o secund .5. se realizeze un program care s numere cresc tor, din unu înunu, la interval de o secund , pân când utilizatorul apas un butonSTOP.6. se realizeze un program care, în momentul în care utilizatorulintroduce o valoare numeric mai mare decât cinci, s aprind un LED i

se opreasc .7. se realizeze un program care s genereze continuu numerealeatoare, la interval de 0,5 secunde, pân când valoarea generat xîndepline te condi ia x > 0,97.8. se realizeze un program care s afi eze, în milisecunde, timpulscurs între ap rile de c tre utilizator a dou butoane.9. se realizeze un program care s permit introducerea de c treutilizator a unor valori numerice reale a i b, s a tepte ap sarea unuibuton OK i apoi s aprind un LED dac este îndeplinit condi ia a < b.10. Realiza i un program care s efectueze urm toarele:

- afi eze dou numere naturale, generate aleator între 1 i 10;- a tepte pân în momentul în care utilizatorul, dup ce aintrodus intr-un element de control valoarea produsului celor dounumere, apasa un buton OK;- compare valoarea introdus de c tre utilizator cu produsulcalculat al celor dou numere aleatoare i s aprind un LED dac

spunsul a fost corect;- dac r spunsul a fost incorect, s afi eze valoarea corect ;- afi eze timpul necesar utilizatorului pentru a da raspunsul;- afi eze num rul total de întreb ri, procentajul r spunsurilorcorecte i timpul mediu de r spuns;- ruleze pân la ap sarea de c tre utilizator a unui buton STOP.

LABVIEW 135

6. Elementul Waveform ChartUnui element de tip Chart i se pot trimite în mod succesiv, punct

cu punct, valorile ordonatelor punctelor pe care s le traseze grafic. Înfigura al turat , bucla While execut câte o itera ie la fiecare trei secunde(datorit func iei Wait (ms)). La fiecare itera ie, func ia RandomNumber (0-1) trimite câte o valoare aleatoare la elementul Chart.

Fig.6.1. Elementul Waveform Chart

Un element de tip Chart consider valorile succesive pe care leprime te drept ordonate ale punctelor de pe grafic (fig.6.1). Absciselepunctelor sunt considerate automat cresc toare din unitate în unitate (0pentru prima valoare primit , 1 pentru a doua s.a.m.d.).

INSTRUMENTA IA VIRTUAL136

Atunci când prime te o nou valoare, un element Chart traseazun segment de dreapt din punctul cel mai recent (ultimul de pe grafic)pân în punctul determinat de nou valoare primit .

Un element Chart accept nu numai valori trimise punct cu punct(scalare) ci i iruri de valori (Array).

Atunci când prime te un ir de valori (considerate de asemeneatot ordonate ale punctelor), un element Chart adaug la sfâr itulgraficului deja existent nu un singur punct ci un num r de puncte egal cunum rul de valori din irul primit.

În figura de mai jos, la fiecare itera ie a buclei While (la fiecaretrei secunde), bucla For genereaz un ir (Array) de apte valorialeatoare, ir ce este trimis elementului Chart.

La fiecare trei secunde, la graficul din elementul Chart suntadaugate astfel înc apte puncte.

Dac un element Chart prime te o matrice de valori numerice(Array cu dou dimensiuni), atunci el va trasa simultan un num r degrafice egal cu num rul de linii ale matricei.

EXERCI IUConstrui i diagramele din figurile de mai sus i verifica i modul

de func ionare.

7. Elementul Waveform GraphUn element de tip Graph nu accept valori individuale (scalare)

ci numai iruri (Array) de valori.Spre deosebire de elementele Chart, atunci când prime te un ir

de valori, elementul Graph terge graficul pe care îl afi ase anterior iafi eaz doar graficul format din noile puncte primite.

LABVIEW 137

Graficul din figura 7.1 se va schimba la fiecare trei secunde.Valorile afi ate anterior se vor pierde.

Un element de tip Graph consider de asemenea valorilesuccesive pe care le prime te drept ordonate ale punctelor de pe grafic. Înmodul implicit, abscisele punctelor sunt considerate automat cresc toaredin unitate în unitate (0 pentru prima valoare primit , 1 pentru a douas.a.m.d.).

Fig.7.1. Elementul Waveform Graph

INSTRUMENTA IA VIRTUAL138

Elementele de tip Graph permit îns , suplimentar, definireaabscisei primului punct i a distan ei pe orizontala dintre dou punctesuccesive.

În aceast situa ie, valorile x0 si Dx se introduc (printr-o func ieBundle) într-un Cluster împreun cu irul de valori ce reprezintordonatele punctelor, iar la terminalul elementului Graph se conecteazie irea func iei Bundle (figura de mai jos).

Dac un element Graph prime te o matrice de valori numerice(Array cu dou dimensiuni), atunci el va trasa simultan un num r degrafice egal cu num rul de linii ale matricei.

În situa ia în care se traseaz mai multe grafice i se dorescdefinirea abscisei x0 a primului punct i a distan ei Dx pe orizontaladintre dou puncte succesive, m rimile respective vor fi acelea i pentrutoate graficele. În func ia Bundle, la cea de a treia intrare se conecteazmatricea de valori.

EXERCI IUConstrui i diagramele din figurile de mai sus i verifica i modul

de func ionare.

8. Elementul XY GraphUn element de tip XY Graph accept la intrare un Cluster

format din dou iruri (Array) de valori (fig.8.1). Primul ir reprezintabscisele iar cel de-al doilea ordonatele punctelor de pe grafic. Evident,cele dou iruri trebuie s con in acela i num r de valori.

LABVIEW 139

Atunci când se prime te o astfel de structur de date, graficulanterior este ters.

În figura de mai jos este prezentat un program pentru trasareagraficului func iei sinus între 0 si 2 prin 101 puncte.

Fig.8.1. Elementul XY Graph

Stabilind c punctele vor fi la distan e egale pe orizontal , sedetermin întâi distan a dx pe abscisa dintre dou puncte succesive,împ ind la 100 intervalul de trasare, de lungime 2p.

Într-o bucl For cu num rul de itera ii egal cu num rul de punctese determin la fiecare itera ie abscisa unui punct cu rela ia ise calculeaz ordonata .

La ie irea din bucla For, sirurile de valori xi si yi sunt grupateîntr-un cluster (cu func ia Bundle), iar acesta este trimis la terminalulelementului XY Graph.

INSTRUMENTA IA VIRTUAL140

Dac se dore te trasarea simultan a mai multor grafice:• se construie te pentru fiecare grafic câte un Clusterformat din dou Array-uri (unul pentru abscisele i altul pentruordonatele punctelor);• ie irile func iilor Bundle se conecteaz la o func ie BuildArray;• ie irea func iei Build Array se conecteaz la terminalulelementului XY Graph.

EXERCI IUConstrui i diagramele din figurile de mai sus i verifica i modul

de func ionare.

Op iuni specifice elementelor pentru reprezent ri graficeÎn meniul propriu al elementelor pentru reprezent ri grafice,

submeniul Visible Items con ine o serie de op iuni pentru afi area unorcomponente specifice (fig.8.2).

LABVIEW 141

Op iunea Plot Legend afi eaz o legend ce poate fi pozi ionatindependent sau dimensionat pentru a avea un num r de pozi ii egal cunum rul de grafice reprezentate.

Numele graficelor (ini ial Plot 0, Plot 1 s.a.m.d.) pot fi modificatecu ajutorul uneltei de editare a textelor.

Ap sând butonul drept al mouse-ului atunci când cursorul estepozi ionat deasupra unui grafic din legend , se deschide un meniupropriu din care pot fi configurate op iuni de afi are ale graficuluirespectiv: culoare, tip i grosime de linie etc.

Fig.8.2. Op iuni specifice

Op iunea Scale Legend afi eaz o component ce permiteconfigurarea modului în care sunt afi ate scalele elementului dereprezentare grafic : eticheta scalei, format i precizie de reprezentare,vizibilitatea scalei sau a etichetei acesteia, culoarea caroiajului.

Pentru fiecare scal sunt disponibile:• un buton (notat cu X sau Y) la a c rui ap sare serealizeaz o autoscalare pe direc ia respective,• un buton (marcat cu un lac t) care, atunci când esteap sat, men ine continuu autoscalarea pe direc iacorespunz toare.Op iunea Graph Palette afi eaz o component cu unelte ce

permit:

INSTRUMENTA IA VIRTUAL142

• deplasarea graficelor în interiorul elementului (butonul cumanuta),• deschiderea unui submeniu cu unelte pentru m rire saumic orare static pe diverse direc ii sau dinamic .Op iunile X Scale i Y Scale din meniul propriu permit

configurarea unor parametri ai modului de afi are a scalelor.

LABVIEW 143

TEMA1. Realiza i un program în care, într-un element de tip Chart, s fie

trasate dou grafice cu valori aleatoare (unul între 0 i 1, cel laltîntre 2 i 3).

2. Afi i componentele Plot Legend, Scale Legend i GraphPalette ale elementului de tip Chart.

3. Modifica i modurile în care sunt afi ate cele dou grafice(culoare, tip i grosime de linie, stilul punctelor).

4. Afi i graficele sub form de histograme.5. Modifica i modul de interpolare al graficelor.6. Umple i zona de sub un grafic sau zona dintre cele dou grafice.7. Modifica i etichetele scalelor.8. Autoscala i graficul pe axa Y.9. Modifica i formatul i precizia de reprezentare a valorilor de pe

cele dou scale.10. Afi i un caroiaj ro u.11. Exersa i lucrul cu uneltele de m rire sau mic orare a imaginii din

componenta Graph Palette.12. Exersa i configurarea unor parametri ai modului de afi are a

scalelor (op iunile X Scale i Y Scale din meniul propriu alelementului de tip Chart).

Optiuni specifice elementelor de tip ChartÎn submeniul Visible Items al elementelor de tip Chart exist

câteva op iuni specifice acestor elemente (fig.8.3).Op iunea Digital Display conduce la afi area unui num r de

elemente indicatoare pentru valori numerice egal cu num rul de pozi iiale legendei. Valoarea afi at de c tre fiecare element indicator este cea aultimului punct de pe graficul corespunz tor.

Op iunea Scrollbar conduce la afi area unei bare de defilare cepermite deplasarea pe direc ie orizontal a graficelor afi ate.

Selectarea din meniul propriu al elementului Chart a op iuniiTranspose Array realizeaz transpunerea matricei de valori, astfel încâtnu se mai traseaz câte un grafic pentru fiecare linie ci câte unul pentrufiecare coloan .

În cazul afi rii mai multor grafice, op iunea Stack Plots împartezona de afi are în mai multe por iuni distincte, câte una pentru fiecaregrafic, cu scale separate pe axa Y.

INSTRUMENTA IA VIRTUAL144

Op iunea Chart History Length...permite s se stabileascnum rul de valori ce pot fi stocate în "memoria intern " a elementuluiChart (implicit 1024).

Fig.8.3. Optiuni specifice elementelor de tip Chart

LABVIEW 145

Dac unui element Chart i se trimit mai multe valori decât acestnum r, valorile cele mai vechi se pierd i nu mai sunt vizibile la oeventual "defilare" a graficului.

EXERCI IIPentru elementul de tip Chart din exercitiul anterior:

• afi i display-urile digitale i bara de defilare;• defila i graficul cu ajutorul barei;• împ i zona de afi are a elementului Chart în doupor iuni distincte.

Op iuni specifice elementelor de tip Graph i XY GraphÎn submeniul Visible Items al elementelor de tip Waveform

Graph sau XY Graph, op iunea Cursor Legend determin afi area uneicomponente prin intermediul c reia utilizatorul poate afi a i manipulaunul sau mai multe cursoare (fig.8.4).

Componenta Cursor Legend este format dintr-o lista decursoare i un element pentru comanda deplas rii cursorului.

Fig.8.4. Op iuni specifice

În lista de cursoare (ini ial cu dou linii vide), fiec rei linii îicorespunde un cursor. Lista poate fi dimensionat .

Pentru a ad uga un nou cursor, este suficient s se introduc unnume al acestuia sau s se apese oricare din cele trei butoane de pe liniacorespunz toare.

INSTRUMENTA IA VIRTUAL146

O linie corespunz toare unui cursor con ine, în partea sa stâng ,un element pentru numele cursorului i dou elemente pentrucoordonatele X i Y ale acestuia.

În partea sa dreapt , fiecare linie corespunz toare unui cursorcon ine trei butoane:

• un buton pentru activarea elementului de comand adeplas rii: dac acest buton are LED-ul propiu aprins, atuncicursorul poate fi deplasat ap sând pe unul din cele patru butoaneromboidale ale elementului pentru comanda deplas rii cursorului.Daca LED-ul butonului este stins, elementul de comand nu esteactiv.• un buton pentru configurarea caracteristicilor cursorului(culoare, stil, form punctului central, stilul i grosimea firelorreticulare s.a.m.d.)• un buton prin care se activeaz sau nu posibilitatea dedeplasare a cursorului cu unealta de operare (Allow Drag), se"leag " cursorul de un anumit grafic (Lock to plot) sau depunctele acestuia (Snap to point) sau se las cursorul liber (Free).

Pentru a terge un cursor sau a insera un nou cursor într-o anumitpozi ie, din meniul propriu al paletei de cursoare, submeniul DataOperations, se aleg op iunile Delete Element sau Insert ElementBefore.

Dac un cursor are op iunea Allow Drag activat , el va putea fideplasat cu unealta de operare dac butonul din stânga al componenteiGraph Palette este activat (are LED-ul aprins). Deplasarea se poateefectua fie "tr gând" de punctul central al cursorului, fie de unul dintrefirele reticulare.

LABVIEW 147

Elementele pentru nume i coordonate, precum i butoanele, potfi dimensionate. Elementele pentru nume i coordonate posed meniuriproprii individuale.

EXERCI II1. Realiza i un program în care, într-un element de tip WaveformGraph, s fie trasate dou grafice cu valori aleatoare (unul între 0 i 1,cel lalt între 2 i 3).2. Afi i lista de cursoare i defini i un cursor.3. Modifica i caracteristicile cursorului (culoare, stil, formpunctului central, stilul i grosimea firelor reticulare s.a.m.d.)4. Deplasa i cursorul cu ajutorul elementului de comand adeplas rii, întâi în starea liber, apoi "legat" de unul dintre grafice.5. Deplasa i cursorul cu unealta de operare, "tr gând" de intersec iafirelor reticulare, întâi în starea liber, apoi "legat" de unul dintre grafice.6. Afi i coordonatele X i Y ale cursorului cu o singur zecimal .

INSTRUMENTA IA VIRTUAL148

Aplicatii1. Simularea unui subsistem de control al unuimanipulator industrialManipulatorul real este echipat cu un traductor pentru m surarea

în coordonate absolute a pozi iei sale pe direc ie orizontal .În deplasarea pe direc ie vertical , un manipulator trece pe lâng

patru senzori de pozi ie, dintre care doi sunt dispu i la capetele curseirespective.

Fiecare manipulator dispune de asemenea de doi senzori decoliziune monta i pe extremit ile sale i de un senzor pentru sesizareafaptului c în baia de tratare deasupra c reia se afl manipulatorul se

se te deja o arj .Aplica ia const din dou instrumente virtuale, rulând pe

computere diferite, fiecare echipat cu câte o plac multifunc ionalpentru achizi ie de date.

Main.vi con ine panoul de comand prin software amanipulatorului (accesibil utilizatorului).

Simulator.vi reprezint panoul de comand hardware i afi eazparametrii de stare i de pozi ie ai manipulatorului simulat.

LABVIEW 149

2. Simularea sistemului de automatizare al unui cuptor detratament termic.

Sistemul prezentat este un sistem de monitorizare i controlautomat al temperaturii realizat cu PC (CNIV 2004- Ioan Lita, IonBogdan Cioc, Rodica Mihaela Teodorescu, Universitatea din Pite ti,Catedra de Electronic i Calculatoare, Email: [email protected]).

Reglarea automat a temperaturii este realizat de calculator prinintermediul aplica iei software, care îndepline te i func ia de regulatorautomat tripozi ional.

Schema bloc a sistemului este prezentat în figura de mai jos.

INSTRUMENTA IA VIRTUAL150

Pentru m surarea temperaturii în puncte situate la distan fa decalculatorul de proces, se folose te un modul de achizi ie de dateindependent I-7012F, situat aproape de locul în care se face m surarea.

Modulul I-7012F con ine un convertor analog-numeric pe 16 bi i,are 1 intrare analogical diferen ial , o intrare digital i dou ie iridigitale, iar comunica ia se realizeaz pe o interfa RS-485 ce asigur ovitez de comunicare de pân la 115,2 Kbps.

Partea soft a aplica iei este realizat în LabVIEW 6.1 i permitemonitorizarea temperaturii într-o incint prin m surarea temperaturiicurente, reprezentarea grafic a evolu iei temperaturii din incintrespective i salvarea datelor într-un fi ier pe harddisk.

LABVIEW 151

Valoarea temperaturii m surate este comparat continuu cu doulimite prestabilite, iar în cazul dep irii acestor limite se comandpornirea unor instala ii de r cire sau de înc lzire.

Limitele respective sunt stabilite de c tre operator prinintermediul interfe ei aplica iei i se pot modifica oricând în timpulexecu iei programului. Dac temperatura se încadreaz între limitelestabilite, cele dou semnale de comand sunt inactive, ceea ce înseamn

nici una din instala ii nu este pornit .În momentul în care nivelul temperaturii nu se mai încadreaz în

limitele impuse, se activeaz una din cele dou ie iri digitale ale pl cii.

Controlul ie irilor digitale precum i a citirii valorii aplicate la intrareaanalogic a pl cii se face prin trimiterea unor cuvinte de comand înformat ir de caractere. Comunicarea i controlul modulului I-7012F seface cu ajutorul subinstrumentului virtual I-7012, care este prezentat maijos. Aceste cuvinte de comand ( ir de caractere) încep cu un caracterspecial ce identific tipul de comand , care este urmat de adresamodulului i de comanda propriu-zis .

INSTRUMENTA IA VIRTUAL152

3. Achizi ia i înregistrarea datelor pentru m surareamomentelor de frecare i de frânare în rulmen ii testa i la gripare.Panoul frontal i panoul diagram sunt prezentate mai jos:

LABVIEW 153

4. Determinarea experimental a constantei elastice a unuiresort. Medoda echilibrului.

Pentru determinartea constantei elastice a unui resort au fostproiectate aplica ii ce prezint metode experimentale diferite.

1. Aceast aplica ie propune metoda echilibrului, utilizatorulsurand deformarea resortului pentru corpuri de mase diferite.

Valorile ob inute se introduc în tablourile datelor experimentale,graficul aplica iei afi ând atât punctele experimentale, cât i curba cedescrie dependen a deform rii resortului de valoarea for ei deformatoare(prelucrarea apeleaz metoda celor mai mici p trate).

Utilizatorul va folosi cursorul diagramei pentru a determina pantadreptei, apoi va introduce formula de calcul prin care se determinvaloarea constantei elastice a resortului. Sec iunea Demo prezint curbateoretic , precum i solu ia problemei propuse.

2. Aplica ia prezint dou metode experimentale pentrudeterminarea constantei elastice a unui resort.

Utilizatorul va scoate sistemul din configura ia de echilibru i vadetermina experimental perioada oscila iilor:

• pentru prima metod propus aceast valoare va fi determinat dingraficul y(t).

• pentru cea de a doua metod se va m sura timpul necesarefectu rii unui anumit num r de oscila ii.

INSTRUMENTA IA VIRTUAL154

Folosind apoi expresia perioadei oscilatorului armonic se vacalcula valoarea constantei elastice a resortului.

LABVIEW 155

BIBLIOGRAFIE

1. Bujoreanu, C., Dr gan, B., Monitoring and diagnostic aspects

concerning bearings scuffing failure, Bul. IPI, tom LII(LVI), fasc.

6A, seria Constructii de Ma ini, p.103-108, ISSN 1011-2855, 2006

2. Bujoreanu, C., Cretu, Sp., Dr gan, B., Data acquisition and signal

processing in scuffing failure of ball bearings, Revista de

Mecatronica, nr.4, Proc. of COMEFIM 7, p.205-210, 2004

3. Chen, M. H. .a. Active control of gear vibration using specially

configured sensors and actuators , Mater. Struct. 9, p.342–350, 2000

4. Cottet, F., Ciobanu, O., Bazele Programarii in LabVIEW, Ed.

Matrix Rom Bucuresti, 1998

5. Dr gan, B., Achizitia i procesarea semnalului vibroacustic, Ed.

Politehnium Iasi, 2004

6. Maier, V., Maier, C.D., LabVIEW in Calitatea Energiei Electrice,

Editura Albastra Cluj-Napoca, 2000

7. Stefanescu, C., Cupcea, N., Sisteme inteligente de masura i control,

Editura Albastra Cluj-Napoca, 2002

8. ***LabVIEW- Data Acquisition/Course Manual/Users Guide, vol.I-

IV, april 1994 Edition.

9. ***LabVIEW, The Measurement and Automation, Catalog, 2004

10. ***LabVIEW - Graphical Programming for Instrumentation,

National Instruments, 1996.

11. www.ni.com

12. www.ctnam.pub.ro/clublv.htm

13. www.ctnam.pub.ro/~savu