7/22/2019 Labview pentru incepatori
1/92
ID.01. Introducere n medii grafice
ID.01.01. Lansarea mediului de programare graficLabVIEW
Pentru a lansa mediul de programare graficLabVIEW, efectuai urmtorii pai:
apsaibutonul Start, aflat n coltul stnga-jos al ecranului; dupdeschiderea meniului, prin desfurarea acestuia n sus, deplasaicursorul mouse-ului
deasupra opiuniiPrograms;
ateptaideschiderea unui submeniu, prin desfurare n dreapta i n sus, deplasaicursorulmouse-ului deasupra opiunii National Instruments LabVIEW 6i si apsaibutonul stng al
mouse-ului
LabVIEW poate fi de asemenea lansat i alegnd din meniul Programs opiunea National
Instruments, apoi alegnddin submeniul LabVIEW 6.1opiuneaLabVIEW.
7/22/2019 Labview pentru incepatori
2/92
Duplansare, ateptaipnla apariiaferestrei introductive.
ID.01.02. Deschiderea unei noi aplicaii(Instrument Virtual)
La apariia ferestrei introductive LabVIEW, apsai butonul New VI pentru a deschide o nou
aplicaie(un nou program).
Aplicaiile(programele) realizate n LabVIEWpoarta denumirea de Instrumente Virtuale(n englez,
Virtual Instruments, prescurtat VI). Denumirea provine de la faptul c, n primele sale versiuni,LabVIEW a fost strict dedicat pentru realizarea unor programe de monitorizare a proceselor.
Programele respective nlocuiauo serie de aparate i instrumente electronice - de unde i motto-ul
corporaiei National Instruments: The software is the instrument primind astfel denumirea de
Instrumente Virtuale.
Dupapsareabutonului New VI, se vor deschide cele doua ferestre principale ale unei noi aplicaii
LabVIEW.
7/22/2019 Labview pentru incepatori
3/92
ID.01.03. Ferestrele principale ale unei aplicaii
O aplicaie(program) LabVIEW coninedouferestre principale.
Panoul reprezint interfaa grafic cu utilizatorul, fereastra pe care utilizatorul o va vedeaatunci cndva accesa aplicaiarealizat. Prin intermediul elementelor de pe panou, aplicaia
primetedatele de intrare i afieazapoi datele de ieirece au rezultat n urma rulrii.
Diagrama este fereastra n care programatorul descrie algoritmul dup care aplicaia vaefectua calculele i raionamentelenecesare pentru prelucrarea informaiilor.n majoritatea
cazurilor, dupce programatorul a realizat o aplicaiei a livrat-o unui utilizator, acesta din
urma nu mai are acces la diagrama.
7/22/2019 Labview pentru incepatori
4/92
7/22/2019 Labview pentru incepatori
5/92
ID.02. Interfaa i algoritmul aplicaiei
ID.02.01. Elemente de control i indicatoare
Elementele de controlsunt acele componente ale panoului prin intermediul crorautilizatorul poate
transmite date de intrare ctreprogram.
Elementele indicatoare sunt acele componente ale panoului prin intermediul crora programul
afieazdatele de ieirecalculaten urma rulriisale.
ID.02.02. Paleta de controale
Paleta de controale este o fereastra ce poate apare doar atunci cndse lucreazn cadrul panoului i
coninesub-palete cu elemente de control i indicatoare de diverse tipuri.
Afiareapaletei de controale se poate efectua n doua moduri:
apsnd butonul din dreapta al mouse-ului atunci cnd cursorul acestuia este ntr-o zonalibera panoului;
selectnd, din meniul Windows, comanda Show Controls Palette.
n primul caz, sub-paletele se deschid automat atunci cndcursorul mouse-ului trece pe deasupra lor
iar paleta rmne vizibila doar pnla selectarea unui element.
n al doilea caz, o sub-paleta se deschide (nlocuindpaleta de controale) doar cndse face un click pe
simbolul su. Paleta rmne vizibil i dupselectarea unui element.
7/22/2019 Labview pentru incepatori
6/92
EXERCIIU
n aplicaianoupe care aideschis-o anterior, afiaipaleta de controale prin fiecare din cele dou
moduri indicate mai sus i navigaiprin sub-paletele acesteia.
ID.02.03. Dispunerea elementelor de control i indicatoare pe panou
1. Dispunerea unui element de control sau indicator pe panouncepecu selectarea elementului dorit
din paleta de controale.
2. Dupselectarea elementului, se deplaseaz cursorul mouse-ului pnn poziia de pe panou n
care se doretedispunerea.
Att timp ct cursorul mouse-ului este deplasat pe panou, elementul va fi reprezentat doar prin
conturul su i al etichetei.
Cndse ajunge n poziiadorit, se face click cu unul dintre butoanele mouse-ului.
3. Se realizeazastfel dispunerea elementului pe panou, cu o eticheta implicitcare intr automat n
modul de editare.
Se poatencepeimediat introducerea textului dorit n eticheta.
4. Daca introducerea textului dorit n eticheta nu s-a efectuat imediat dupdispunerea elementului
pe panou i eticheta implicit a ieit din modul de editare, se poate reveni n acest mod prin
selectarea uneltei de editare texte si apoi printr-un click pe eticheta respectiv.
1 2 3 4
EXERCIIU
Din sub-paleta Numeric a paletei de controale, dispunei pe panou un element de tipul Vertical
Pointer Slide i un element de tipul Meter.
7/22/2019 Labview pentru incepatori
7/92
ID.02.04. Paleta de unelte
Paleta de unelteeste o fereastra ce poate apare attn cadrul panoului ct i al diagramei.
Afiareapaletei de controale se poate efectua selectnd, din meniul Windows, comanda Show Tools
Palette.
Cele mai importante unelte din aceasta paleta sunt acelea pentru:
operare, utilizata in panou in special pentru a modifica valorile unor elemente de
control;
selectare (poziionare, dimensionare), utilizat att n panou ct i n diagrama;
editare a textelor (n panou i n diagram);
conectare, utilizata n special n diagram;
afiarea meniurilor proprii;
deplasare a imaginii ntr-o fereastr(scroll);
inserarea de puncte de oprire a rulrii(breakpoint);
inserarea de puncte de prob;
selectarea de culori;
colorare.
Afiarea"temporara" a paletei de uneltentr-o formsimplificatpoate fi efectuatinndapsatatasta Shifti apsndapoi butonul drept al mouse-ului.
Paleta va deveni vizibildoar pnn momentul selectriiuneia dintre uneltele sale.
Activarea opiuniiAutomatic Tool Selection(LED-ul verde al paletei de unelte) conduce laselectarea automat a unei unelte, n funcie de contextul n care se afla aplicaia i depoziiacursorului mouse-uluin raport cu componentele din panou sau diagrama.
7/22/2019 Labview pentru incepatori
8/92
EXERCIII
>>> Cu unealta de selectare, deplasaicele doua elemente dispuse anterior pe panou (clickpe element, apoi deplasaimouse-ul inndbutonul stngapsat)
Observai diferena dintre a face click chiar pe element (acesta se micmpreuna cueticheta sa) i a face click pe eticheta (eticheta se deplaseazn raport cu elementul)
>>> Cu aceeaiunealt, modificaidimensiunile elementelor:
1. Poziionai cursorul mouse-ului pe un colt al elementului, astfel nctn cele patrucolturi ale acestuia saparsimboluri de forma unui echer dublu.
2. Apsaibutonul stngi deplasaimouse-ul inndbutonul apsat. Observaiapariiaunui indicator galben cu dimensiunile elementului.
>>> Selectai ambele elemente trasnd cu mouse-ul un dreptunghi imaginar care s leinclud pe acestea (click ntr-o zon liber a panoului, apoi deplasai mouse-ul inndbutonul apsat: pe ecran va apare un dreptunghi cu linientrerupta)
>>> Selectaiun element, apoi apsai tasta Delete: elementul va fi ters. Pentru a anulacomanda, apsaicombinaiade taste Ctrl + Z (Undo)
>>> Cu unealta de operare, modificaivalorile celor douelemente trgndcu mouse-ul decursorul poteniometruluisau de acul indicatorului.
>>> Cu aceeaiunealtsau cu cea de editare a textelor, modificaivalorile de la capetele descara ale elementelor.
>>> Selectaiunealta de deplasarea imaginii i exersailucrul cu aceasta.
>>> ActivaiopiuneaAutomatic Tool Selectiona paletei de unelte i observaimoduln careuneltele de selectare, de operare i de editare a textelor se activeazatunci cndmouse-uleste deasupra unui element, a cursorului sau acului acestuia sau deasupra scalei sau
etichetei elementului.
>>> Cu opiunea Automatic Tool Selection dezactivat, attn panou ct i n diagram,observaimoduln care sunt selectate diverse unelte atunci cndse apastastele SpacesauTab.
7/22/2019 Labview pentru incepatori
9/92
ID.02.05. Elemente de control si indicatoare pentru valori scalare
Principalele trei tipuri de elemente de control i indicatoare pentru valori scalare sunt:
numerice
booleene(logice) alfanumerice(texte, string, iruri de caractere)
Pentru fiecare din cele trei tipuri principale, paleta de controale coninecate o subpaleta specific, cu
diverse forme de elemente.
EXERCIII
>>> Din subpaleta pentru elemente booleene, introducei pe panou un element de tipul Vertical
Toggle Switchi un element de tipul Round LED
>>> Din subpaleta pentru elemente alfanumerice (String & Path), introduceipe panou un element
de tipul String Controli un element de tipul String Indicator.
>>> Deschideio aplicaienouselectndcomanda New VIdin meniul File(sau apsndcombinaia
de taste Ctrl + N).
Dispunei pe panoul acesteia diverse tipuri de elemente de control si indicatoare pentru valori
numerice i exersaimodificarea valorilor acestora cu unealta de operare.
7/22/2019 Labview pentru incepatori
10/92
nchidei noul program nchiznd panoul acestuia (nchiderea diagramei nu are dect efect de
ascundere a acesteia) i rspunzndNolantrebareaSave changes to "...."?
ID.02.06. Terminalele elementelor
Atunci cnd un element de control sau indicator este dispus n panou, n diagrama este inserat
automat un simbol, numit terminal, ce va reprezenta elementul respectiv n cadrul fluxului de date.
Terminalele elementelor se difereniazprin culoare,n funciede tipul mrimiiscalare:
portocaliupentru valori numerice reale; verdepentru valori booleene; rozpentru valori alfanumerice (string).
De remarcat faptul c:
terminalele elementelor de control au contur gros i o sgeataneagrmicn partea dreapt terminalele elementelor indicatoare au contur subire i o sgeata neagr micn partea
stnga.
EXERCIII
>>> Identificain diagramterminalele elementelor pe care le-aidispus pe panou.
>>>n diagram, folosind unealta de selectare, deplasaiterminalele elementelor ca n figura de mai
sus.
ID.02.07. Paleta de funcii
Paleta de funciieste o fereastrce poate apare doar atunci cndse lucreazn cadrul diagramei i
coninesub-palete cu diverse categorii de funcii, proceduri sau structuri specifice de programare.
Afiareapaletei de funciise poate efectuan doumoduri:
apsnd butonul din dreapta al mouse-ului atunci cnd cursorul acestuia este ntr-o zonlibera diagramei;
7/22/2019 Labview pentru incepatori
11/92
selectnd, din meniul Windows, comanda Show Functions Palette.
n primul caz, sub-paletele se deschid automat atunci cndcursorul mouse-ului trece pe deasupra lor
iar paleta rmnevizibildoar pnla selectarea unei funcii.
n al doilea caz, o sub-paleta se deschide (nlocuindpaleta de funcii) doar cndse face un click pe
simbolul su. Paleta rmnevizibila i dupselectarea unei funcii.
EXERCIIU
n diagrama aplicaiei, afiaipaleta de funcii prin fiecare din cele doumoduri indicate mai sus i
navigaiprin sub-paletele acesteia.
ID.02.08. Fereastra Help
Selectarea, n panou sau n diagrama, din meniul Help, a comenzii Show Context Help, conduce la
deschiderea unei ferestren care sunt afiateautomat informaiiajuttoare.
Deschiderea saunchidereaferestrei Helppot fi comandate i prin apsareacombinaieide taste Ctrl
+ H .
Atunci cndutilizatorul deschide paleta de funciii navigheazprin subpaletele acesteia,n fereastra
Help apar informaii referitoare la funcia corespunztoare simbolului deasupra cruia este
poziionatcursorul mouse-ului.
7/22/2019 Labview pentru incepatori
12/92
De asemenea, dacun simbol de funciea fost deja dispusn diagramiar cursorul mouse-ului este
poziionatdeasupra sa,n fereastra Helpapar informaiireferitoare la funciarespectiv.
EXERCIIU
Exersaideschiderea inchidereaferestrei Helpprin modurile descrise mai sus.
Cu fereastra Help deschis, navigai prin paleta de funcii i observai modul n care informaiile
ajuttoare se modific atunci cnd cursorul mouse-ului trece pe deasupra diverselor simboluri de
funcii.
ID.02.09. Funciipentru valori numerice
Funciilepentru valori numerice sunt grupaten subpaleta Numeric a paletei de funcii.
Se remarc o prim categorie, dedicat funciilor aritmetice simple: adunare (Add), scdere
(Subtract), nmulire (Multiply), mprire (Divide), incrementare (Increment), decrementare
(Decrement), valoare absolut (Absolute Value), rotunjire la cel mai apropiat ntreg (Round To
Nearest), rotunjire la ntregul inferior (Round To -Infinity), rotunjire la ntregulsuperior (Round To
+Infinity), rdcinaptrat(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 Numericse gsetede asemenea elementul Numeric Constant(constantnumeric).
7/22/2019 Labview pentru incepatori
13/92
Atunci cndun astfel de element este dispus n diagram, el captautomat valoarea 0 i intrn
modul de editare, ateptndca utilizatorul sintroducvaloarea numericdorit.
Dac, imediat dupdispunerea n diagram, n loc de a introduce o valoare n element, utilizatorul
efectueaz alt operaie, o alta valoare constantpoate fi specificat utilizndunealta de operare
sau pe cea de editare a textelor.
EXERCIIU
n subpaleta Numeric a paletei de funcii, identificaifunciilearitmetice simple enumerate mai sus.
Pe parcursul navigriin paleta de funcii, urmriidescrierea funciilorn fereastra Help.
ID.02.10. Funciipentru valori booleene
Funciilepentru valori booleene sunt grupate n subpaleta Boolean a paletei de funcii.
Se remarcfunciilelogice simple SI (And), SAU (Or), SAU EXCLUSIV (Exclusive Or), NEGARE (Not), SI
NEGAT (Not And), SAU NEGAT (Not Or), SAU NEGAT EXCLUSIV (Not Exclusive Or) i IMPLICA
(Implies).
Subpaleta coninede asemenea,n partea inferioar, cele douconstante logice: ADEVARAT (True) i
FALS (False).
EXERCIIU
n subpaleta Boolean a paletei de funcii, identificai funciile logice simple i constantele logice
enumerate mai sus.
Pe parcursul navigriin paleta de funcii, urmriidescrierea funciilorn fereastra Help.
ID.02.11. Funciipentru valori alfanumerice (string)
Funciilepentru valori alfanumerice sunt grupate n subpaleta Stringa paletei de funcii.
7/22/2019 Labview pentru incepatori
14/92
Printre cele mai simple se numrcele pentru transformarea caracterelor n majuscule (To Upper
Case) i pentru transformarea caracterelorn minuscule (To Lower Case).
n partea sa inferioar, subpaleta conine un element String Constant pentru introducerea n
diagrama de valori alfanumerice constante.
EXERCIIU
n subpaleta Stringa paletei de funcii, identificaifunciilei constanta alfanumericenumerate mai
sus.
Pe parcursul navigriin paleta de funcii, urmriidescrierea funciilorn fereastra Help.
ID.02.12. Inserarea simbolurilor de funciin diagram
1. Dispunerea unei funciin diagramncepecu selectarea simbolului corespunztordin paleta de
funcii.
2. Dup selectarea simbolului funciei, se deplaseaz cursorul mouse-ului pn n poziia din
diagramn care se doretedispunerea.
Att timp ct cursorul mouse-ului este deplasat, simbolul funciei va fi reprezentat mpreun cu
terminalele corespunztoaredatelor proprii de intrare i de ieire.
3. Dac,n timpul deplasrii, simbolul funcieieste trecut suficient de aproape de un terminal sau de
o zona a fluxului de date la care se poate efectua o legtur, acea legtureste stabilita automat.
Dacsimbolul funcieiestendeprtat,n cursul deplasrii, de zona sau terminalul respectiv, legtura
stabilitautomat dispare.
Dac nu se doreteefectuarea automat a unei legturi, se apas tasta Spacen timp ce butonul
mouse-ului este apsat.
4. Cndsimbolul funcieiajungen poziiadorit, se face click cu unul dintre butoanele mouse-ului.
Dacin acel moment existo legturstabilitautomat, legturarespectivse pstreaz.
7/22/2019 Labview pentru incepatori
15/92
EXERCIIU
Din subpaleta Numerica paletei de funcii, introducein diagram o funcieAddi poziionai-o can
figura, ntre terminalele celor doua elemente numerice.
Introducei de asemenea n diagram un element de tipul Numeric Constant i stabilii-i acestuia
valoarea 2.
Din subpaleta Boolean, introducein diagrama o funcieNoti poziionai-ontre terminalele celor
douelemente booleene.
Din subpaleta String, introducei n diagram o funcie To Upper Case i poziionai-o ntre
terminalele celor douelemente alfanumerice.
Duppoziionareasimbolurilor de funciin diagram, deschideifereastra Helpi afiain aceasta
informaiile referitoare la fiecare funcie prin deplasarea mouse-ului deasupra simbolului
corespunztor.
ID.02.13. Realizarea legturilorn diagram
Realizarea unei legturintre doucomponente ale diagramei se efectueazcu ajutorul uneltei de
conectare.
Ordinea n care se selecteaz cele dou componente (sursa i destinaia) nu este important.Legturapoate fi realizatn orice sens, deoarece mediul de programare va identifica automat sursa
i destinaiapentru a stabili sensul de circulaieal datelor.
7/22/2019 Labview pentru incepatori
16/92
1. Se deplaseazcursorul mouse-ului (unealta de conectare) deasupra primei componente (aceasta
vancepesclipeasc) i se face click. Aciuneaeste echivalentcu prinderea unui captal firului de
componenta respectiv.
Din acest moment, daca mouse-ul este deplasat, pe ecran va aprea imaginea unui fir cu un capt
fixat de prima componenta i cu un captlegat de cursorul mouse-ului.
2. Se deplaseazcursorul mouse-ului deasupra celei de-a doua componente (i aceasta vancepes
clipeasc) i se face click, fixndastfel al doilea captal firului de aceasta componenta.
Obs. 1: Daca, la un moment dat, firul care urmeazmouse-ul are un sens (orar sau trigonometric)
neconvenabil, sensul poate fi schimbat prin apsareatastei blanc (spaiu).
Obs. 2: Daca se doreteca traseul unei legturisfie format din mai multe poriunin unghi drept,
un click intr-un punct din diagrama va fi echivalent cu fixarea firuluin acel punct.
Obs. 3: Daco componenta a diagramei are rol de surspentru un traseu ramificat, se pot efectua
legturicare saibdrept punct de pornire un segment al fluxului de date.
Obs. 4: Daco legturaa fost efectuata corect, ea va fi afiatan culoarea corespunztoaretipului de
date ce vor circula prin zona respectiva a fluxului de date.
Daclegturaeste incorect(conecteazdoucomponente de tipuri diferite), aceasta va fi afiatcu
culoarea neagrintrerupta.
EXERCIIU
7/22/2019 Labview pentru incepatori
17/92
Utilizndunealta de conectare, realizailegturiledin figura alturata.
Observaic, similar terminalelor, legturiledin diagrama au culori ce semnifictipul datelor scalare
corespunztoare (portocaliu pentru numere reale, albastru pentru numere ntregi, verde pentru
valori booleene, roz pentru valori alfanumerice).
Astfel, atunci cnd programul va rula, indicatorul Meter va afia suma dintre valoarea controlului
Slidesi constanta 2, indicatorul Boolean 2va afiavaloarea logicnegata controlului Boolean, iar
indicatorul String 2va afiatextul din controlul Stringtransformatn majuscule.
Deschideifereastra Help, selectaiunealta de conectare i poziionaicursorul mouse-ului deasupra
unei legturiastfelnct aceasta s"clipeasc".
Observaic,n aceastsituaie,n fereastra Helpsunt afiateinformaiireferitoare la tipul de valori
ce circula prin legturarespectiv.
ID.02.14. Fluxul de date
Fluxul de dateeste format din totalitatea legturilorce conecteazdiversele terminale de elemente,
simboluri de funciisau proceduri i structuri de programare din cadrul diagramei.
Rolul fluxului de date este acela de reprezentare grafica a algoritmului dup care aplicaia va
prelucra datele de intrare pentru a calcula valorile de ieire.
Traseele ce formeazfluxul de date pot fi simple, cu o sursa i o destinaie, sau ramificate, cu o surs
i mai multe destinai.
Indiferent de modul sau sensul n care traseele sunt dispuse pe diagrama, "circulaia" datelor n
cadrul fluxului se efectueazdoar de la surse ctredestinaii.
Prin sursse nelege, de exemplu, terminalul unui element de control, simbolul unei constante sau
zona de ieirea unei funciisau proceduri.
Prin destinaiesenelege, de exemplu, terminalul unui element indicator sau zona de intrare a unei
funciisau proceduri.
7/22/2019 Labview pentru incepatori
18/92
ID.02.15. Principalele moduri de rulare a unei aplicaii
Barele de butoane ale panoului i diagramei conino serie de elemente ce permit stabilirea modului
de rulare a unui program.
Apsarea butonului Run va conduce la rularea o singura data a programului. Va fi parcurs ntreg
fluxul de date din diagrama, dupcare programul se va opri.
n timpul rulriiprogramului, butonul Runi schimbforma i se aprinde un buton Abort execution.
Apsareaacestui din urma butonn timpul rulrii va determinantreruperea acesteia.
Apsareabutonului Run Continuouslyva conduce la rularea repetat, froprire, a programului.
Pe parcursul acestui mod de rulare, i schimbforma attbutonul Run Continuouslyct i butonul
Run, i se aprinde de asemenea butonul Abort execution.
7/22/2019 Labview pentru incepatori
19/92
ntreruperea rulrii nu are loc dect la comanda utilizatorului, prin apsarea butonului Abort
execution.
Att pe parcursul rulrii simple ct i pe cel al rulrii continui, utilizatorul are posibilitatea de a
suspenda rularea prin apsarea butonului Pause.
Apsareaacestui butoni schimba forma il transformn butonul Continue, prin a cruiapsarese
comandreluarea unei rulrisuspendate.
Dac, atunci cndrularea este suspendat, se trecen fereastra diagrama, programul semnalizeazprin aprindere intermitentzona ce eran curs de execuieatunci cnds-a comandat suspendarea.
n diagram, atunci cndrularea este suspendat, utilizatorul are posibilitatea de a continua rulareapas cu pas, utilizndsetul de trei butoane din dreapta.
n orice mod de rulare, prin apsareabutonului Highlight Execution, utilizatorul are posibilitatea de a
urmrio animaiece sugereazdeplasarea valorilor prin fluxul de date.
Atunci cndo valoare prsete o componenta a diagramei ce este o sursa a unei legturi, valoarea
respectiva este afiatan diagram.
EXERCIII
7/22/2019 Labview pentru incepatori
20/92
>>>n panoul aplicaieipe care airealizat-o, cu unealta de operare, modificaivaloarea elementului
de control Slide, schimbaipoziiacontrolului Booleani introduceiun text format din minuscule n
controlul String.
ApsaisgeataRunpentru a rula programul.
Schimbaidin nou poziiacontrolului Booleani apsaidin nou sgeataRun.
>>> Apsaibutonul Run Continuouslyi,n timp ce programul ruleazn modul continuu, modificai
valoarea elementului de control Slide, schimbaipoziiacontrolului Booleani modificaitextul din
controlul String.
>>> Apsaibutonul Pause. Rularea programului se va suspenda temporar, aplicaia va trece automat
n diagrama i va indica prin aprindere intermitentlocul din diagraman care programul s-a oprit.
>>> Apsaibutonul Highlight Execution, apoi butonul Step Over. Observaiafiarean diagrama
valorilor de ieiredin funcii.
>>> "Stingei" butonul Continue(cel care avea iniialeticheta Pause). Observaiafiarean diagram
a moduluin care valorile circulpe fluxul de date al programului.
>>> "Stingei" butonul Highlight Execution i ntrerupei rularea continua prin apsarea butonului
Abort execution.
ID.02.16. Salvarea unei aplicaii
Atttimp ctncnu a fost salvat ntr-un fiier, un program are numele Untitledurmat de un numr
de ordine.
Pentru a specifica folder-ul n care programul sfie salvat, precum i numele fiierului, se alege din
meniul FileopiuneaSave As...
n urma selectriicomenzii Save As..., programul deschide o fereastrde dialog n care utilizatorul
poate selecta folder-uln care sa se efectueze salvarea i numele fiierului.
PROGRAMELE REALIZATE IN MEDIUL DE PROGRAMARE GRAFICA LabVIEWSE SALVEAZA IN FISIERE
CU EXTENSIA VI!
7/22/2019 Labview pentru incepatori
21/92
Din momentul n care a fost salvat prima dat, programului i se afieaz numele att in bara
superioara panoului ct in cea a diagramei.
Dac, dupsalvare, programului i se aduc n continuare modificri, lngnumele acestuia apare un
asterisc (*), semnalizndastfel faptul ca versiunea ce a fost salvatnu este cea mai recenta.
Pentru a salva un program care are deja o locaie i un nume stabilite, este suficient s se apese
combinaiade taste Ctrlsi Ssau sse selecteze comanda Savedin meniul File.
Comanda Save As...se poate folosi dacse doretesalvarea unei noi versiuni a fiieruluintr-o nou
locaiesau cu un nou nume.
EXERCIII
>>> Pe discul Dal computerului,n directorul Utilizatori, subdirectorul CCD, creaiun subdirector cu
numele Dvs.
Pentru informaii suplimentare despre aceasta etap, apsaiAICI (Atenie, se va deschide o nou
fereastra Internet Explorer pe care o puteinchideulterior)
>>> Salvaiaplicaiape care airealizat-on subdirectorul propriu !
7/22/2019 Labview pentru incepatori
22/92
Meniuri proprii in panou
Pentru a deschide meniul propriual unui element de control sau indicator, se pozitioneaza cursorul
mouse-ului deasupra elementului si se apasa butonul drept.
Meniul propriu al unui element poate fi de asemenea deschis cu ajutorul uneltei de afisare a
meniurilor proprii.Un meniu propriu contine diverse optiuni prin care pot fi configurate modurile de afisare sau de
functionare ale elementelor de control sau indicatoare.
Indiferent de tipul de valori carora le sunt dedicate (numerice, booleene sau alfanumerice),
elementele de pe panou au in meniurile proprii o serie de optiuni comune:
>>> Visible Items > Label
Afiseaza sau ascunde eticheta elementului. Continutul etichetei poate fi modificat cu unealta de
editare a textelor
>>> Visible Items > Caption
Afiseaza sau ascunde eticheta suplimentara a elementului. Continutul etichetei poate fi de
asemenea modificat cu unealta de editare a textelor
>>> Find Terminal
Trece in diagrama si indica terminalul elementului prin incadrarea acestuia intr-un chenar cu linie
intrerupta animata
>>> Change to Indicator(sau Change to Control)
Schimba tipul elementului din control in indicator sau invers
>>> Description and Tip...
Permite introducerea unei scurte descrieri referitoare la element si a unui text ajutator (Tip) careapare atunci cand cursorul mouse-ului este pozitionat deasupra elementului
>>> Create
Creeaza in diagrama entitati suplimentare, atasate elementului de pe panou (vor fi discutate ulterior)
>>> Replace
Afiseaza paleta de controale, astfel incat utilizatorul poate selecta un element cu care sa il inlocuiasca
pe cel curent
>>> Data Operations
7/22/2019 Labview pentru incepatori
23/92
7/22/2019 Labview pentru incepatori
24/92
Utilizati urmatoarele optiuni din meniul propriu al unui terminal din diagrama: Find Controlsau Find
Indicator, Hide Control (sau Hide Indicator), Change to Constant, Create > Constant, Create >
Controlsi Create > Indicator.
Moduri de reprezentare a valorilor numerice
Meniurile proprii ale elementelor de control sau indicatoare numerice contin o optiune specifica,
Representation, cu ajutorul careia se specifica modul in care valoarea numerica respectiva este
stocata in memorie.
In submeniul Representation, utilizatorul are la dispozitie 12 optiuni:
pe prima linie: optiuni pentru numere reale pe a doua linie: optiuni pentru numere intregi pe a treia linie: optiuni pentru numere naturale pe a patra linie: optiuni pentru numere complexe
Intre diversele optiuni de pe o linie, diferenta consta in numarul de octeti(bytes) alocati in memorie
pentru stocarea valorii respective:
EXT(extended) = numar real cu precizie extinsa (16 octeti) DBL(double) = numar real cu precizie dubla (8 octeti) SGL(single) = numar real cu precizie simpla (4 octeti) I32(long) = numar intreg pe 4 octeti I16(word) = numar intreg pe 2 octeti I8(byte) = numar intreg pe 1 octet U32(unsigned long) = numar natural pe 4 octeti U16(unsigned word) = numar natural pe 2 octeti U8(unsigned byte) = numar natural pe 1 octet CXT(complex extended) = numar complex cu precizie extinsa (32 octeti) CDB(complex double) = numar complex cu precizie dubla (16 octeti) CSG(complex single) = numar complex cu precizie simpla (8 octeti)
7/22/2019 Labview pentru incepatori
25/92
Numarul de octeti alocati pentru stocare se reflecta in intervalul de valori in care poate exista
valoarea respectiva sau in preciziaacesteia:
Reprezentare Interval de variatie Nr. de zecimaleEXT si CXT (-1,19e+4932; -6,48e-4966) si (6,48e-
4966; 1,19e+4932)
15 ... 33, functie de
sistemul de operare
DBL si CDB (-1,79e+308;-4,94e-324) si (4,94e-324;,
1,79e+308)
15
SGL si 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 sau indicator numeric se modifica pentru a
reflecta modul de reprezentare ales.
In cazul in care valoarea numerica este una intreaga sau naturala, terminalul isi modifica de
asemenea culoarea, din portocaliuin albastru.
EXERCITII
>>> Exersati modificarea moduui de reprezentare a unui element de control numeric.
>>> Observati in panou aparitia sau disparitia zecimalelor iar in diagrama modificarea culorii si
textului din interiorul terminalului.
>>> Observati ce se intampla in situatia in care, avand un element de control numeric cu valoare
reala negativa, se schimba modul de reprezentare al acestuia in numar natural.
Meniuri proprii specifice elementelor numerice
Elementele de control sau indicatoare numerice dispun in meniul propriu de doua optiuni specifice:
>>> Data Range...pentru stabilirea unui interval de variatie particular
>>> Format & Precision...pentru specificarea unui mod particular de afisare a valorii
7/22/2019 Labview pentru incepatori
26/92
Selectarea optiunii Data Range...conduce la deschiderea unei ferestre suplimentare.
Daca se dezactiveaza optiunea Use Defaults, utilizatorul poate specifica valorile minima si maxima pe
care le poate lua elementul respectiv, precum si incrementul intre doua valori succesive.
De asemenea, prin optiunea If Value is Out of Range, utilizatorul poate dicta modul de
comportament in cazul in care se incearca introducerea unei valori in afara intervalului stabilit: daca
in locul optiunii Ignore se selecteaza optiunea Coerce, elementul va forta ramanerea valorii intrelimitele impuse.
Fereastra suplimentara Data Rangepermite modificarea si din acest loc a modului de reprezentare a
valorii numerice (Representation).
Selectarea din meniul propriu a optiunii Format & Precisiondeschide o fereastra din care utilizatorul
poate dicta afisarea valorii numerice in format:
>>> zecimal, caz in care se pot specifica numarul de zecimale si notatia (cu virgula mobila, stiintifica,
inginereasca etc.)
>>> timp - data, situatie in care se pot selecta diverse formate de afisare.
In cazul in care se selecteaza formatul timp - data, valoarea elementului va reprezenta numarul desecunde scurse de la data de 1 ianuarie 1904, ora 3:00 AM.
In situatiile in care elementul de control sau indicator numeric are un mod de reprezentare de tipul
numar intreg sau natural, optiunea Format & Precisionpermite suplimentar si afisarea valorilor in
sistem de numeratie hexazecimal, octal sau binar.
7/22/2019 Labview pentru incepatori
27/92
EXERCITII
>>> Dispuneti pe panou un element de control numeric de tipul Horizontal Pointer Slidesi modificati
valorile Minimum, Maximumsi Increment din optiunea Data Range...a meniului propriu.
Incercati apoi sa modificati valoarea elementului de control in afara limitelor impuse si observati
comportamentul elementului.
>>> Dispuneti pe panou un element de control numeric de tipul Digital Controlsi selectati optiunea
Format & Precisiondin meniul propriu al acestuia.
Pentru formatul zecimal, modificati numarul de zecimale si notatia (stiintifica, inginereasca etc) si
observati consecintele.
Selectati apoi formatul timp - datacu diverse formate de afisare si observati consecintele.
Meniuri proprii specifice elementelor cu scala
Elementele de control sau indicatoare numerice cu scala (potentiometre liniare sau circulare,
indicatoare cu ac etc) dispun in meniul propriu de optiuni suplimentare referitoare la modul deafisare:
7/22/2019 Labview pentru incepatori
28/92
>>> optiunea Fill Options permite alegerea modului in care sa se coloreze portiunile elementului
aflate de o parte si de alta a cursorului (colorat deasupra, colorat dedesubt, necolorat etc)
>>> optiunea Scale dispune de o serie de submeniuri proprii pentru pozitionarea uniforma sau
arbitrara a gradatiilor de pe scala (Marker Spacing), pentru stabilirea formatului de afisare a valorilor
de pe scala (Format & Precision...), pentru alegerea variantei de densitate a gradatiilor (Style) si
pentru selectarea unei scale liniare sau logaritmice (Mapping)
EXERCITII
>>> Dispuneti pe panou un element de tipul Vertical Pointer Slide, selectati din optiunea Fill Options
a meniului sau propriu diverse moduri de umplere si observati consecintele.
>>> Pentru acelasi element, afisati scala cu gradatii arbitrare (Marker Spacing), afisati valorile de pe
scala cu o zecimala (Format & Precision), modificati densitatea gradatiilor de pe scala (Scale), apoi
transformati tipul scalei in logaritmic (Mapping).
Meniuri proprii specifice elementelor booleene
Elementele de control booleene dispun in meniul propriu de optiunea suplimentara Mechanical
Action, aceasta permitand stabilirea modului in care elementul se comporta la apasarea butonului
mouse-ului de catre utilizator.
7/22/2019 Labview pentru incepatori
29/92
>>> Switch When Pressed modifica valoarea logica a elementului atunci cand se apasa butonul
mouse-ului, iar valoarea ramane modificata si dupa eliberarea butonului
>>> Switch When Released modifica valoarea logica a elementului atunci cand se elibereaza butonul
mouse-ului (dupa ce in prealabil a fost apasat), iar valoarea ramane modificata si dupa eliberare
>>> Switch Until Released modifica valoarea logica a elementului atunci cand se apasa butonul
mouse-ului, iar dupa eliberarea butonului valoarea elementului redevine cea dinaintea apasarii
>>> Latch When Pressed modifica valoarea logica a elementului atunci cand se apasa butonul
mouse-ului, dar aceasta modificare dureaza doar pana cand valoarea logica este transmisa in
diagrama pe fluxul de date. Imediat ce valoarea elementului a fost transmisa, acesta revine la
valoarea dinaintea apasarii, chiar daca utilizatorul continua sa tina butonul mouse-ului apasat.
>>> Latch When Releasedmodifica valoarea logica a elementului atunci cand se elibereaza butonul
mouse-ului (dupa ce in prealabil a fost apasat), dar aceasta modificare dureaza doar pana cand
valoarea logica este transmisa in diagrama pe fluxul de date. Dupa ce valoarea a fost transmisa,
elementul revine la valoarea initiala.
>>> Latch Until Released modifica valoarea logica a elementului atunci cand se apasa butonul
mouse-ului, iar modificarea se pastreaza atat timp cat utilizatorul tine butonul apasat. Dupa ce
utilizatorul elibereaza butonul, elementul revine la valoarea initiala doar in momentul in care se
realizeaza o transmitere a valorii pe fluxul de date.
EXERCITII
>>> Dispuneti pe panou un element boolean de control de tipul Vertical Toggle Switchsi un element
indicator de tipul Round LED. In diagrama, conectati intre ele terminalele celor doua elemente.
Pentru fiecare optiune Mechanical Option a elementului de control, efectuati o rulare continua
(butonul Run Continuously) si observati modul in care se comporta comutatorul si modul in care
valoarea sa logica este transmisa elementului Round LED.
>>> Dati exemple de situatii in care fiecare optiune ar fi utila (de exemplu, optiunea Latch When
Pressedeste utila atunci cand, in urma apasarii butonului de catre utilizator, se deruleaza o actiune
cu un timp foarte scurt si nu se doreste ca aceasta actiune sa fie repetata chiar daca utilizatorul
intarzie sa ridice degetul de pe butonul mouse-ului).
7/22/2019 Labview pentru incepatori
30/92
Meniuri proprii specifice elementelor alfanumerice
Elementele de control si indicatoare alfanumerice dispun in meniul propriu de patru optiuni
suplimentare referitoare la modul de afisare:
>>> Normal Display: afisare normala a caracterelor
>>> "\" Codes Display: interpretarea caracterelor care urmeaza dupa "\" drept caractere neafisabile
(\n= linie noua, \t= Tab, \s= spatiu s.a.m.d.)
>>> Password Display: afisare tip "parola", in locul fiecarui caracter fiind afisat un asterisc
>>> Hex Display: afisarea codurilor ASCII ale caracterelor
In mod implicit, atunci cand se introduce un text intr-un element de control alfanumeric, elementul
respectiv se comporta in modul urmator:
>>> daca se apasa tasta Enter"mare" (din apropierea tastelor pentru litere), elementul considera ca
se doreste trecerea la linia urmatoare
>>> daca se apasa tasta Enter"mica" (din zona cu taste numerice aflata in partea dreapta a tastaturii)
sau daca se face click cu mouse-ul in afara elementului,, acesta considera ca s-a incheiat introducerea
textului
>>> textul introdus in element nu este transmis ca valoare alfanumerica in fluxul de date decat dupa
confirmarea prin apasarea tastei Enter"mici" a incheierii introducerii sale.
Comportamentul implicit al elementului poate fi modificat prin selectarea optiunilor din partea
inferioara a meniului propriu:
>>> Limit to Single Line: confera ambelor taste Enteracelasi rol, de incheiere a introducerii textului.
In acest mod, nu se mai poate trece la o linie noua prin apasarea tastei Enter"mare", astfel incat
textul nu mai poate fi format decat dintr-o singura linie.
>>> Update Value while Typing: elementul nu mai asteapta confirmarea incheierii introducerii
textului pentru a transmite valoarea alfanumerica in fluxul de date. Valoarea alfanumerica este
transmisa automat, de fiecare data cand textul introdus in element este modificat.
EXERCITII
7/22/2019 Labview pentru incepatori
31/92
>>> Dispuneti pe panou un element alfanumeric de control si experimentati optiunile suplimentare
referitoare la afisare
>>> Activati optiunea Limit to Single Linesi experimentati modul de lucru specific acesteia
>>> Dispuneti pe panou si un element indicator pentru valori alfanumerice.In diagrama, conectati terminalele celor doua elemente. Rulati programul in modul continuu.
Observati ca textul de la elementul de control este transmis elementului indicator doar dupa
apasarea tastei Enter"mare"
Opriti rularea programului, activati optiunea Update Value while Typinga elementului de control si
rulati din nou programul in modul continuu.
Observati ca de aceasta data textul din elementul de control este transmis elementului indicator pe
masura ce este modificat, fara a se mai astepta incheierea introducerii.
Modificarea fontului unor elemente
Pentru a modifica fontulcu care un element este reprezentat, se selecteaza intai elementul respectiv
cu ajutorul uneltei de selectare.
Se deschide apoi meniul de configurare a textelor, aflat in bara de butoane, si se selecteaza din
submeniurile acestuia:
dimensiunea caracterelor (Size) stilul textului (Style) modul de aliniere (Justify) culoarea (Color) tipul de litera (Arial, Times New Romanetc)
Unui element i se poate aplica de asemenea un tip predefinit de font ( Application, System, Dialog
sau Current).
Cele trei tipuri predefinite de fonturi pot fi la randul lor modificate daca se alege una din variantele:
comanda Font Dialog...din meniul de configurare a textelor comanda Options...din meniul Tools, apoi se alege optiunea Fonts
7/22/2019 Labview pentru incepatori
32/92
EXERCITIU
Dispuneti elemente de control si indicatoare pe panoul programului si modificati apoi fonturile cu
care acestea sunt reprezentate.
Ordonarea componentelor panoului si diagramei
In situatia in care se doreste alinierea mai multor elemente de pe panou sau a mai multor
componente ale diagramei, se selecteaza obiectele respective apoi se deschide meniul de alinieresi
se alege varianta dorita:
aliniere dupa o orizontala a limitelor superioare, centrelor sau limitelor inferioare aliniere dupa o verticala a limitelor din stanga, centrelor sau limitelor din dreapta
Distribuirea echidistanta a unor componente se realizeaza de asemenea prin selectarea acestora,
urmata de deschiderea meniului de distribuiresi alegerea uneia din variantele:
distribuire pe verticala, cu echidistanta considerata intre diverse limite superioare sauinferioare ale elementelor
distribuire pe orizontala, cu echidistanta considerata intre diverse limite din stanga sau dindreapta ale elementelor
Atunci cand mai multe elemente sunt suprapuse, alegerea din meniul de ordonarea unei optiuni are
drept urmare schimbarea pozitiei "in adancime" a elementelor selectate: Move Forward = un pas
7/22/2019 Labview pentru incepatori
33/92
inainte, Move Backward = un pas inapoi, Move To Front= trecere in planul cel mai apropiat, Move
To Back = trecere in planul cel mai indepartat.
Selectarea mai multor componente si alegerea optiunii Groupare drept efect selectarea intregului
grup atunci cand una dintre componente este selectata ("desfiintarea" grupului se realizeaza cu
optiunea Ungroup).
Selectarea uneia sau mai multor componente si alegerea optiunii Locknu mai permite deplasarea
sau modificarea dimensiunilor componentelor respective (anularea efectului se realizeaza cu
optiunea Unlock).
EXERCITIU
Dispuneti elemente de control si indicatoare pe panoul programului si exersati diverse variante de
aliniere si distribuire.
Suprapuneti unele dintre elemente si exersati optiunile de schimbare a pozitiei "in adancime"
Exersati optiunile de grupare a mai multor elemente si de blocare a mutarii si dimensionarii
Modificarea scalei sau cursorului unor componente
Daca se pozitioneaza cursorul mouse-ului deasupra unei limite a scaleiunui element de control sau
indicator de tipul unui potentiometru circular (Knobsau Dial), se apasa butonul stang al mouse-ului
si se deplaseaza mouse-ul tinand butonul apasat, efectul obtinut este acela de modificare aunghiului la centrupe care scala este dispusa.
Atunci cand cursorul mouse-ului este pozitionat nu deasupra unei limite ci deasupra unei gradatii
intermediarede pe scala, efectul obtinut este acela de rotire a scalei in jurul centruluielementului.
Daca se pozitioneaza cursorul mouse-ului in apropierea mijlocului scaleiunui element de controlsau indicator de tip Meter, iar dupa aparitia la mijlocul scalei a doua simboluri + se apasa butonul
7/22/2019 Labview pentru incepatori
34/92
stang al mouse-ului si se deplaseaza mouse-ul tinand butonul apasat, efectul obtinut este acela de
modificare a latimii benzii colorate(rampa) a scalei.
Cursorul unui element de control sau indicator de tip potentiometru poate fi dimensionat daca se
pozitioneaza cursorul mouse-ului deasupra unuia din colturile sale, iar dupa aparitia la colturi a unor
simboluri "echer" se apasa butonul stang al mouse-ului si se deplaseaza mouse-ul tinand butonul
apasat.
EXERCITIU
Dispuneti pe panoul programului elemente de control si indicatoare de genul celor mentionate mai
sus si exersati asupra lor modificarile de design prezentate.
Variabile locale
Selectarea, din meniul Createal unui element de control sau indicator, a optiunii LocalVariable, va
conduce la introducerea in diagrama a unei entitati suplimentare, numita variabilalocala.
O variabila locala reprezinta o instantaa elementului corespunzator: o dubluraa acelui element.
Daca, la un moment dat, un element isi modifica valoarea, toate variabilele sale locale, indiferent de
locul in care sunt dispuse in diagrama, capata valoarea corespunzatoare.
Variabilele locale sunt utilizate in situatia in care este complicat (sau imposibil) sa se efectueze o
legatura direct la terminalul unui element (de exemplu, atunci cand legatura ar trebui efectuata de-a
lungul unei zone intinse din diagrama, zone in care sunt deja multe componente).
Pentru un element pot fi create mai multe variabile locale.
7/22/2019 Labview pentru incepatori
35/92
Initial o variabila locala este o dublura a elementului din al carui meniu propriu a fost creata, numele
acelui element fiind inscris in simbolul variabilei. Terminalul variabilei locale are culoarea
corespunzatoare tipului de date pe care le manipuleaza.
Elementul pe care variabila locala il reprezinta poate fi schimbat.
Pentru aceasta, din meniul propriu al variabilei locale, optiunea Select Item, se selecteaza numele
noului element pe care variabila locala il va reprezenta.
In mod implicit, atunci cand este creata, indiferent ca elementul pe care il reprezinta este unul de
control sau indicator, o variabila locala este un elementindicator(contur subtire).
In aceasta situatie, valoarea care ajunge la variabila locala este automat capatata de elementul pe
care il reprezinta (aceasta este si o modalitate de a schimba prin program valorile elementelor de
control).
Daca, din meniul propriu al variabilei locale, se selecteaza optiunea ChangeToRead, variabila locala
devine elementdecontrol(contur ingrosat). In aceasta situatie, variabila locala va genera valoarea
elementului pe care il reprezinta.
EXERCITIU
In panoul unei aplicatii, dispuneti un element boolean de control de tipul Vertical Toggle Switch,
unul de tipul Slide Switchsi un indicator boolean Round LED.
Creati o variabila locala a elementului Vertical Toggle Switch.In diagrama, conectati terminalul elementului Slide Switchatat la terminalul elementului Round LED
cat si la variabila locala a elementului Vertical Toggle Switch.
Rulati programul cu optiunea Run Continuously, actionati comutatorul Slide Switch, observati si
explicati comportamentul elementului VerticalToggle Switch.
Noduri de proprietati
Selectarea, din meniul Createal unui element de control sau indicator, a optiunii Property Node, va
conduce la introducerea in diagrama a unei entitati suplimentare, numita nod de proprietati.
7/22/2019 Labview pentru incepatori
36/92
Nodul de proprietati al unui element reprezinta o componenta prin intermediul careia, in timpul
executiei programului, pot fi determinate (in sens de "citire") sau modificate automat (scrise)
anumite proprietati ale elementului respectiv.
In mod implicit, atunci cand este creat, un nod de proprietati citestestarea logica (afisat sau ascuns)
a vizibilitatiielementului pe care il reprezinta.
Deschizand meniul propriu al nodului de proprietati, optiunea Properties, se poate selecta
proprietatea pe care nodul o reprezinta.
Printre cele mai des utilizate proprietati se numara:
>>> Position: pozitia elementului pe panou, exprimata in pixeli pe orizontala si pe verticala
>>> Bounds: dimensiunile elementului, exprimate in pixeli
>>> Visible: daca aceasta proprietate are valoarea False, elementul nu mai este afisat in panou (desi
continua sa existe si are terminal in diagrama)
>>> Disabled: valoarea 0 semnifica faptul ca utilizatorul poate actiona acel element, valoarea 1 faptul
ca elementul nu poate fi actionat (este dezactivat), valoarea 2 faptul ca elementul este dezactivat si
afisat in culori "sterse"
7/22/2019 Labview pentru incepatori
37/92
>>> Blinking: atunci cand aceasta proprietate are valoarea True, elementul este afisat "clipind"
>>> Label: proprietati de formatare a textului din eticheta
Un nod de proprietati poate fi trecut din starea implicita de citirein starea de scriere, prin selectarea
optiunii ChangeToWritedin meniul sau propriu.In starea de scriere, un nod de proprietati poate primi valori care vor modifica proprietatile
elementului corespunzator.
Un nod de proprietati poate fi dimensionat, pentru a gestiona mai multe proprietati ale elementului
pe care il reprezinta.
Atunci cand contine mai multe proprietati, acestea pot fi in mod independent de scriere sau de citire.
Elementul reprezentat de catre un nod de proprietati poate fi schimbat prin selectarea din meniul
propriu al nodului a optiunii Link To, similar optiunii Select Itemdin cazul variabilelor locale.
In diagrama pot exista mai multe noduri de proprietati ale aceluiasi element.
EXERCITII
>>> Dispuneti in panoul unei noi aplicatii un element de control boolean de tipul Vertical Toggle
Switchsi un element de control numeric. Creati un nod de proprietati al elementului numeric, treceti
nodul respectiv in starea de scriere si conectati la el terminalul elementului boolean. Rulati
programul cu optiunea Run Continuously, actionati comutatorul boolean, observati si explicati
efectul.
>>> In aceeasi aplicatie, dispuneti pe panou un element de tipul String Control, creati un nod de
proprietati pentru acesta, treceti nodul respectiv in starea de scriere, selectati pentru el proprietatea
Disabledsi legati la nod terminalul elementului de control numeric.
Rulati programul cu optiunea Run Continuously si actionati comutatorul boolean astfel incat
elementul de control numeric sa fie vizibil. Introduceti in elementul numeric valoarea 0si introduceti
un text in elementul String.
Introduceti in elementul numeric valoarea 1si incercati sa modificati textul din elementul String.
Introduceti in elementul numeric valoarea 2, observati si explicati efectul
TEMA
1. Construiti un program pentru determinarea solutiilor unei ecuatii de gradul al doilea.
Pentru afisarea radacinilor, programul va dispune de doua perechi de indicatoare numerice separate:
una cu mod de reprezentare real, cealalta cu mod de reprezentare complex.
Fiecare din cele doua perechi de elemente indicatoare va fi vizibila sau nu, in functie de natura
radacinilor ecuatiei.
7/22/2019 Labview pentru incepatori
38/92
2. Construiti un program in care utilizatorul sa poata alege, prin intermediul unui comutator boolean,
tipul de ecuatie pe care doreste sa o rezolve: de gradul I sau de gradul al II-lea.
Elementul de control numeric de la care se va introduce coeficientul lui x2 va fi vizibil doar in cazul
ecuatiei de gradul al II-lea.
In cazul ecuatiei de gradul I, elementul respectiv va deveni invizibil si va capata valoarea 0.
3. In aceleasi conditii ca la tema nr. 2, atunci cand se opteaza pentru rezolvarea unei ecuatii de gradul
I, elementul de control numeric pentru coeficientul lui x2 sa capete valoarea 0, sa fie dezactivat
(utilizatorul sa nu mai poata modifica valoarea) si sa fie afisat in culori sterse.
4. Sa se realizeze un program pentru determinarea solutiilor unei ecuatii de gradul al doilea in care
elementele de control pentru introducerea coeficientilor ecuatiei sa aiba valoarea implicita NaN.
In cazul in care utilizatorul nu introduce o valoare numerica in unul din elementele respective,
elementul sa clipeasca pentru a semnaliza eroarea.
5. Sa se realizeze un program in care, prin intermediul a doua elemente de control numerice (unVertical Pointer Slide si un Horizontal Pointer Slide), utilizatorul sa poata specifica pozitia in panou a
unui element indicator Round LED.
7/22/2019 Labview pentru incepatori
39/92
ID.03. Structuri de programare i funcii uzuale
Inserarea in diagrama a structurilor de programare
Structurile de programaresunt componente ale diagramei ale caror simboluri se gasesc in subpaleta
Structuresa paletei de functii.
In diagrama, o structura de programare urmeaza sa contina o serie de terminale de elemente,
simboluri de functii si valori constante ce vor forma un flux de date in interiorul structurii.
Daca, in momentul in care structura este aleasa din subpaleta Structures, o parte din elementele pe
care urmeaza sa le contina se afla deja dispuse in diagrama, chenarul structurii poate fi trasat in jurul
componentelor respective (dupa selectarea din subpaleta, se apasa butonul stang al mouse-ului in
unul din colturile viitorului chenar si se deplaseaza mouse-ul tinand butonul apasat: pe masura ce
mouse-ul este deplasat, se traseaza automat un contur cu linie intrerupta, contur ce va fi inlocuit de
catre structura in momentul eliberarii butonului mouse-ului)
Dupa dispunerea in diagrama, conturul structurii poate fi deplasat sau dimensionat. Atunci cand o
structura este deplasata, toate elementele din interiorul sau se deplaseaza odata cu ea.
Elemente din afara structurii pot fi mutate in interiorul acesteia, iar elemente din interior pot fi
mutate in afara structurii.
Daca, prin dimensionare sau deplasare, o structura ajunge sa se suprapuna cu alte elemente din
diagrama, acestea nu vor fi inclusein structura.
EXERCITIU
Exersati inserarea unei structuri oarecare (de exemplu Sequence) in diagrama, trasand de la inceput
chenarul sau in jurul unui grup de elemente.
Mutati elemente din structura in afara sa si aduceti elemente din exterior in interiorul structurii.
Deplasati si dimensionati structura.
Structura secventiala (Sequence)
Atunci cand dispune de mai multe ferestre, fiecare dintre acestea cu propriul flux de date, o structura
Sequenceexecuta in ordine ferestrele respective.
De exemplu, in figurile de mai jos sunt reprezentate doua ferestre ale unei structuri Sequence.
Structura va executa intai fereastra cu indicele 0, trimitandu-se valoarea de la elementul de control
7/22/2019 Labview pentru incepatori
40/92
Slide la elementul indicator Meter, apoi va executa fereastra 1ce are ca efect transmiterea valorii
booleene intre cele doua elemente.
Atunci cand este dispusa in diagrama, o structura Sequencecontine o singura fereastra, aceasta fiind
totodata si fereastra curenta (vizibila).
Deschizand meniul propriu al structurii si alegand una din optiunile Add Frame Aftersau Add Frame
Before, se poate adauga o fereastra dupa sau inaintea celei curente.
Daca o structura Sequencecontine mai mult de o fereastra, atunci ferestrele primesc indici(numere
de ordine) incepand cu 0, iar pe latura superioara a conturului structurii apare un selector prin
intermediul caruia se poate trece de la o fereastra la alta.
Trecerea la o alta fereastra se poate realiza fie prin intermediul celor doua sageti de la capetele
selectorului, fie apasand pe sageata din partea dreapta (indreptata in jos) si selectand indicele
ferestrei dorite din lista care se desfasoara.
La un moment dat, este vizibil doar fluxul din fereastra curenta a unei structuri Sequence.
Se poate crea o dublura a ferestrei curente, selectand din meniul propriu al structurii optiunea
Duplicate Frame.
Fereastra curenta poate fi stearsa, cu optiunea Delete This Frame.
Atunci cand o structura Sequence contine cel putin doua ferestre, ordinea acestora poate fi
schimbata: se modifica indicele ferestrei curente, selectand optiunea Make This Frame, apoi noul
indice.
7/22/2019 Labview pentru incepatori
41/92
7/22/2019 Labview pentru incepatori
42/92
Atunci cand este dispusa in diagrama, o structura Casecontine doua ferestre (Truesi False), fiecare
dintre acestea cu propriul flux de date.
Pe conturul structurii se afla dispus un terminal selector(de culoare verde, continand semnul
intrebarii).
Structura Caseva executa doar una din cele doua ferestre, in functie de valoarea booleana (Truesau
False) conectata la terminalul sau selector.
Daca la terminalul selector al unei structuri Case, in locul unei valori booleene, se conecteaza o
valoare numerica (numar intreg sau natural), numele ferestrelor se vor modifica automat din Truesi
Falsein 0si 1.
Structura va executa fereastra al carei nume va coincide cu valoarea numerica ce ajunge la terminalul
sau selector.
In aceasta situatie, are sens ca structura Casesa contina mai mult de doua ferestre.
Deoarece structura Casenu va putea contine atatea ferestre cate valori numerice pot ajunge la
terminalul sau selector, una dintre ferestre trebuie declarata drept fereastra implicita (Default).
Fereastra implicita va fi executata atunci cand valorii ajunse la terminalul selector nu ii corespunde
nici un nume de fereastra.
Un nume de fereastra poate contine si descrierea unei multimi de valori, de genul 2..5, 7..9,
intelegand prin aceasta ca fereastra respectiva va fi executata daca la terminalul selector ajunge una
din valorile 2, 3, 4, 5, 7, 8 sau 9.
O valoare nu poate exista in numele mai multor ferestre (ar exista o incertitudine privind fereastra ce
trebuie executata).
Daca la terminalul selector al unei structuri Casese conecteaza o valoare alfanumerica, atunci
numele ferestrelor vor trebui sa fie de tipul string(se modifica utilizand unealta de editare texte).
Si in aceasta situatie trebuie sa existe o fereastra implicita.
Se pot de asemenea defini multimi de valori (de genul "A".."F"), cu conditia evitarii dublurilor.
7/22/2019 Labview pentru incepatori
43/92
O valoare introdusa din exterior intr-o structura Case este accesibila in orice fereastra a acesteia.
Daca dintr-o fereastra a unei structuri Casese scoate o valoare in exterior, pe conturul structurii
apare un terminal de iesirede culoare alba, semn ca diagrama contine o eroare.
Atunci cand o structura Caseare pe contur un terminal de iesire, la acesta trebuie definite legaturi
din toate ferestrele structurii. In caz contrar, se spune ca iesirea din structura nu este complet
definita.
Atunci cand iesirea este complet definita, terminalul de iesire se umple cu culoarea reprezentand
tipul de date conectate (pentru a fi corect definita, la o iesire trebuie sa ajunga acelasi tip de datedin
toate ferestrele structurii).
EXERCITII
>>> Introduceti in diagrama o structura Casela al carei terminal selector conectati terminalul unui
element de control boolean.
In functie de valoarea elementului de control boolean, la terminalul unui element indicator de tip
String din afara structurii, trimiteti textul ADEVARATsau FALS.
>>> Introduceti in diagrama o structura Casela al carei terminal selector conectati terminalul unui
element de control numeric pentru valori naturale.
In functie de valoarea elementului de control numeric, la terminalul unui element indicator de tip
String din afara structurii, trimiteti textul CIFRAPARA, CIFRAIMPARAsau NUMAR.
>>> Introduceti in diagrama o structura Case la al carei terminal selector conectati terminalul unuielement de control alfanumeric.
In functie de primul caracter din elementul de control, la terminalul unui element indicator de tip
String din afara structurii, trimiteti textul PRIMA PARTE(pentru primul caracter de la A la M), A
DOUA PARTE(pentru primul caracter de la N la Z) sau NU INCEPE CU LITERA.
Structura repetitiva cu numar fix de iteratii (bucla For)
O bucla Forexecuta de un numar fixat de ori portiunea de diagrama pe care o contine.
O executie a portiunii interne de diagrama poarta numele de iteratie.
7/22/2019 Labview pentru incepatori
44/92
7/22/2019 Labview pentru incepatori
45/92
In starea Stop If True bucla While isi va incheia executia atunci cand la terminalul de continuare
ajunge valoarea logica True.
In coltul stanga - jos, bucla Whiledispune de un terminal numarator (notat cu i) care genereaza o
valoare naturala reprezentand indicele iteratiei curente(aflate in curs de executie). Indicii iteratiilor
sunt numerotati incepand cu valoarea 0.
EXERCITIU
Introduceti in diagrama o bucla While.
Conectati terminalul unui element de control boolean de tipul Stop Button la terminalul de
continuare al buclei si terminalul unui element indicator numeric la terminalul numarator al buclei.
Treceti terminalul de continuare al buclei in starea Stop If True.
Introduceti in bucla o functie de asteptare, astfel incat fiecare iteratie a buclei sa se efectueze in
interval de o secunda.
Rulati programul si urmariti in panou modificarea indicelui iteratiei curente.
Apasati butonul STOPpentru a incheia executia buclei While
7/22/2019 Labview pentru incepatori
46/92
ID.04. Fiiere i rapoarte
Meniuri pentru elemente ListBox, Table si Ring
Meniul List & Table al paletei de controale contine elemente de tipurile Listbox, Multicolumn Listbox
si Table.
Meniul Ring & Enum contine elemente de tipurile Text Ring, Menu Ring, Enum, Picture Ring si Text
& Pict Ring.
EXERCITIU
>>> Dispuneti in panou cate un element din fiecare din tipurile enumerate mai sus.
Tipul de date
Caracteristica principala a elementelor de tip List sau Ringeste aceea ca, desi in panou utilizatorul
are la dispozitie o lista de elemente text, valorile corespunzatoare din diagrama sunt numerice.
Aceasta se observa in primul rand din faptul ca toate elementele (cu exceptia celor de tipurile Table
sau Enum) au terminale ce semnifica numere intregi (I32) sau naturale (U16).
7/22/2019 Labview pentru incepatori
47/92
De exemplu, valoarea numerica a unui element de tipul Listbox este reprezentata de indicele
(numarul de ordine) textului selectat de catre utilizator (prima linie de text are indicele 0).
Definirea itemilor unui element ListBox
Itemii unui element Listboxreprezinta liniile de text din interiorul acestuia.
Modalitatea cea mai simpla de a defini acesti itemi, valabila insa doar atunci cand programul nu
ruleaza, este de a-i introduce cu ajutorul uneltei de editare a textelor.
Fiecare item trebuie introdus pe o linie separata, modalitatea de introducere fiind similara celei de la
elementele alfanumerice:
7/22/2019 Labview pentru incepatori
48/92
7/22/2019 Labview pentru incepatori
49/92
Atunci cand exista mai multe variante de selectie (nici unul, unul sau mai multi itemi), pentru a
selecta sau deselectaun item se face click pe acesta tinand apasata tasta Shift.
Daca un element Listboxeste in modul de selectie 0 or 1 Itemsi nu are nici un item selectat, valoarea
corespunzatoare a elementului este -1.
Daca sunt selectati mai multi itemi ai unui Listbox, atunci acesta nu mai este reprezentat de o valoare
scalara ci de un Arrayce contine indicii itemilor selectati.
Daca un element Listboxeste in modul de selectie 0 or More Itemssi nu are nici un item selectat,
atunci el este reprezentat de un Array vid.
EXERCITIU
>>> Dispuneti un element Listboxpe panou si stabiliti modul de selectare 0 or More Items.
Dispuneti de asemenea pe panou un element indicator Array in care sa fie afisati indicii itemilor
selectati.
Exersati diverse variante de selectare: nici un item, un item, mai multi itemi.
7/22/2019 Labview pentru incepatori
50/92
ID.05. Dialog, controlul aplicaiei i sincronizare
Registri de transfer in structuri repetitive
Registrii de transfersunt componente ale structurilor repetitive ce pot fi utilizate pentru transferul
unor valori intre doua sau mai multe iteratii succesiveale structurii.
Pentru a adauga un registru de transfer unei structuri repetitive (bucla Forsau While), se selecteaza
optiunea Add Shift Registerdin meniul propriu al structurii.
Un registru de transfer contine doua terminale(stang si drept) dispuse pe conturul structurii.
O valoare conectata la terminalul drept al registrului va "apare" in terminalul stang la iteratia
urmatoare.
Cu alte cuvinte, terminalul stang introduce in iteratia curenta valoarea ce a fost transmisa la
terminalul drept in iteratia anterioara.
La executarea primei iteratii a unei bucle, nu exista inca nici un transfer efectuat de catre registru
intre cele doua terminale ale sale. Terminalul stang al registrului nu a fost inca "alimentat" cu o
valoare din iteratia precedenta.
Pentru a se putea efectua extragerea unei valori din terminalul stang la prima iteratie, se conecteaza
la acest terminal o valoare din exteriorul buclei. Se spune ca registrul de transfer se initializeaza.
Terminalul stang al unui registru de transfer poate fi dimensionat, capatand astfel mai multe
componente.
Intr-o astfel de situatie, valoarea transferata din iteratia anterioara se afla in componenta superioara.
De sus in jos, fiecare componenta contine cate o valoare provenita dintr-o iteratie mai indepartata.
7/22/2019 Labview pentru incepatori
51/92
Dupa executarea ultimei iteratii a buclei, din terminalul drept al registrului se poate extrage ultima
valoare transferata acestuia.
O structura repetitiva poate contine mai multi registri de transfer, fiecare cu una sau mai multe
componente ale terminalului stang si fiecare transferand intre iteratii valori de diverse tipuri.
EXERCITIU
Introduceti in diagrama o bucla Whilesi adaugati-i acesteia doi registri de transfer.
Prin primul dintre registri transferati o valoare numerica aleatoare X, iar prin cel de-al doilea o
valoare booleana, obtinuta ca rezultat al evaluarii expresiei X > 0,5. Initializati cei doi registri de
transfer cu valori corespunzatoare.
Dispuneti pe panou elemente indicatoare pentru afisarea valorilor din iteratia curenta si din cea
precedenta, precum si un buton la a carui apasare executia buclei Whilesa se incheie. Introduceti in
bucla While o functie care sa determine o asteptare de trei secunde la fiecare iteratie.
Apasati butonul Run, apoi treceti in diagrama, apasati butonul Highlight Executionsi urmariti modul
in care valorile sunt transferate intre iteratii.
TEMA
1. Sa se realizeze un program care sa aprinda un LED pentru trei secunde, sa-l stinga pentru o
secunda, apoi sa repete ciclul pna la apasarea de catre utilizator a unui buton STOP.
2. Construiti un program care sa simuleze functionarea unui semafor, aprinzand succesiv cate un LED
rosu, galben sau verde.
LED-urile rosu si verde vor sta aprinse cate 10 secunde, LED-ul galben va sta aprins doua secunde.
Programul va rula pana la apasarea de catre utilizator a unui buton STOP.
3. Realizati un program care sa simuleze functionarea unui semafor cu buton pentru pietoni.
Culoarea verde (pentru autovehicule) va fi aprinsa continuu. Atunci cand utilizatorul apasa un buton,
se aprinde pentru trei secunde culoarea galbena, se aprinde apoi pentru 10 secunde culoarea rosie si
se revine in final la culoarea verde.
Dupa un astfel de ciclu declansat de catre un pieton, o alta eventuala apasare pe buton nu este luata
in considerare mai devreme de doua minute de la revenirea la culoarea verde.
4. Modificati programul de la problema anterioara, folosind o variabila locala a unei structuri
Sequence, astfel incat, daca pietonul apasa din nou butonul cat timp este aprinsa culoarea galbena,
apasarea sa fie considerata drept anulare si semaforul sa revina imediat la culoarea verde.
7/22/2019 Labview pentru incepatori
52/92
O alta eventuala apasare pe buton nu este luata in considerare mai devreme de un minut de la
comanda de anulare.
5. Completati cele doua programe anterioare prin adaugarea luminilor pentru pietoni.
6. Sa se realizeze un program care sa numere descrescator de la 20 la zero, la interval de o secunda.
7. Sa se realizeze un program care sa numere crescator, din unu n unu, la interval de o secunda,
pna cnd utilizatorul apasa un buton STOP.
8. Sa se realizeze un program care, n momentul n care utilizatorul introduce o valoare numerica mai
mare dect cinci, saaprinda un LEDsi sa se opreasca.
9. Sa se realizeze un program care sa genereze continuu numere aleatoare, la interval de 0,5
secunde, pna cnd valoarea generata x ndeplineste conditia x > 0,97.
10. Sa se realizeze un program care sa afiseze, in milisecunde, timpul scurs intre apasarile de catreutilizator a doua butoane.
11. Sa se realizeze un program care sa afiseze succesiv primele 10 numere pare, la intervale de doua
secunde.
12. Sa se realizeze un program care sa determine daca un numar specificat de catre utilizator este
numar prim.
13. Sa se realizeze un program pentru descompunerea unui numar natural par, strict mai mare decat
2, intr-o suma de doua numere prime.
14. Realizati un program care sa genereze valori numerice aleatoare pana in momentul in care obtine
in trei iteratii consecutive valori mai mari sau egale cu o limita Ximpusa de catre utilizator.
15. Sa se realizeze un program care sa permita introducerea de catre utilizator a unor valori numerice
reale a si b, sa astepte apasarea unui buton OK si apoi sa aprinda un LED daca este ndeplinita
conditia a < b.
16. Realizati un program care sa efectueze urmatoarele:
- sa afiseze doua numere naturale, generate aleator intre 1 si 10;- sa astepte pana in momentul in care utilizatorul, dupa ce a introdus intr-un element de
control valoarea produsului celor doua numere, apasa un buton OK;
- sa compare valoarea introdusa de catre utilizator cu produsul calculat al celor doua numerealeatoare si sa aprinda un LED daca raspunsul a fost corect;
- daca raspunsul a fost incorect, sa afiseze valoarea corecta;- sa afiseze timpul necesar utilizatorului pentru a da raspunsul;- sa afiseze numarul total de intrebari, procentajul raspunsurilor corecte si timpul mediu de
raspuns;
- sa ruleze pana la apasarea de catre utilizator a unui buton STOP.
7/22/2019 Labview pentru incepatori
53/92
ID.06. Reprezentri graficeElemente pentru reprezentari grafice
Mediul de programare LabVIEW dispune, in meniul Graph al paletei de controale, de o serie de
elemente pentru reprezentari grafice.
Cele mai utilizate sunt cele aflate pe prima linie a meniului Graph: elementele Waveform Chart
(numit pe scurt Chart), WaveformGraph(numit pe scurt Graph) si XYGraph.
Diferentele intre cele trei elemente sunt reprezentate de modurile in care acestora li se transmit
coordonatele punctelor prin care va fi trasat graficul.
EXERCITII
>>> Dispuneti pe panoul unei aplicatii un element Waveform Chart, unul Waveform Graphsi unul XY
Graph.
>>> Modificati atat dimensiunile elementelor cat si dimensiunile zonelor lor de afisare (zonele
interioare de culoare neagra)
>>> Cu unealta de operare, modificati valorile de la capetele scalelor
>>> Cu unealta de editare a textelor, modificati numele (etichetele) scalelor
Elementul Waveform Chart
Unui element de tip Chart i se pot trimite in mod succesiv, punct cu punct, valorile ordonatelorpunctelor pe care sa le traseze grafic.
In figura de mai jos, bucla While executa cate o iteratie la fiecare trei secunde (datorita functiei Wait
(ms)). La fiecare iteratie, functia Random Number (0-1) trimite cate o valoare aleatoare la elementul
Chart.
7/22/2019 Labview pentru incepatori
54/92
Un element de tip Chart considera valorile succesive pe care le primeste drept ordonate ale
punctelor de pe grafic.
Abscisele punctelor sunt considerate automat crescatoare din unitate in unitate (0 pentru prima
valoare primita, 1 pentru a doua s.a.m.d.).
Atunci cand primeste o noua valoare, un element Charttraseaza un segment de dreapta din punctul
cel mai recent (ultimul de pe grafic) pana in punctul determinat de noua valoare primita.
Un element Chart accepta nu numai valori trimise punct cu punct (scalare) ci si siruri de valori
(Array).
Atunci cand primeste un sir de valori (considerate de asemenea tot ordonate ale punctelor), un
element Chartadauga la sfarsitul graficului deja existent nu un singur punct ci un numar de puncte
egal cu numarul de valori din sirul primit.
In figura de mai jos, la fiecare iteratie a buclei While(la fiecare trei secunde), bucla Forgenereaza un
sir (Array) de sapte valori aleatoare, sir ce este trimis elementului Chart.
La fiecare trei secunde, la graficul din elementul Chartsunt adaugate astfel inca sapte puncte.
7/22/2019 Labview pentru incepatori
55/92
7/22/2019 Labview pentru incepatori
56/92
Elementele de tip Graphpermit insa, suplimentar, definirea abscisei primului punct si a distantei pe
orizontala dintre doua puncte succesive. In aceasta situatie, valorile x0 si x se introduc (printr-o
functie Bundle) intr-un Clusterimpreuna cu sirul de valori ce reprezinta ordonatele punctelor, iar la
terminalul elementului Graphse conecteaza iesirea functiei Bundle(figura de mai jos).
Daca un element Graphprimeste o matrice de valori numerice (Arraycu doua dimensiuni), atunci el
va trasa simultan un numar de grafice egal cu numarul de linii ale matricei.
In situatia in care se traseaza mai multe grafice si se doresc definirea abscisei x0a primului punct si a
distantei xpe orizontala dintre doua puncte succesive, marimile respective vor fi aceleasi pentru
toate graficele. In functia Bundle, la cea de a treia intrare se conecteaza matricea de valori.
EXERCITIU
>>> Construiti diagramele din figurile de mai sus si verificati modul de functionare.
Elementul XY Graph
Un element de tip XY Graphaccepta la intrare un Clusterformat din doua siruri (Array) de valori.
Primul sir reprezinta abscisele iar cel de-al doilea ordonatele punctelor de pe grafic. Evident, cele
doua siruri trebuie sa contina acelasi numar de valori.
Atunci cand se primeste o astfel de structura de date, graficul anterior este sters.
In figura alaturata este prezentat un program pentru trasarea graficului functiei sinus intre 0 si 2
prin 101 puncte.
Stabilind ca punctele vor fi la distante egale pe orizontala, se determina intai distanta xpe abscisa
dintre doua puncte succesive, impartind la 100 intervalul de trasare, de lungime 2 .
7/22/2019 Labview pentru incepatori
57/92
Intr-o bucla For cu numarul de iteratii egal cu numarul de puncte se determina la fiecare iteratie
abscisa unui punct si se calculeaza ordonata.
La iesirea din bucla For, sirurile de valori xisi yisunt grupate intr-un cluster (cu functia Bundle), iar
acesta este trimis la terminalul elementului XYGraph.
Daca se doreste trasarea simultana a mai multor grafice:
se construieste pentru fiecare grafic cate un Clusterformat din doua Array-uri (unul pentruabscisele si altul pentru ordonatele punctelor);
iesirile functiilor Bundlese conecteaza la o functie Build Array; iesirea functiei Build Arrayse conecteaza la terminalul elementului XY Graph.
EXERCITIU
Construiti diagramele din figurile de mai sus si verificati modul de functionare.
7/22/2019 Labview pentru incepatori
58/92
ID.07. Funcii matematice avansate
Definirea tipului de date al unui Array
Spre deosebire de elementele scalare, care reprezentau o singura valoare, de un anumit tip (numeric,
boolean, alfanumeric), elementele vectoriale (Array) pot contine, intr-o maniera ordonata, mai
multe valori de acelasi tip.
Pentru a fi dispus in panou, un element de tipul Arrayse selecteaza din meniul Array&Clusteral
paletei de elemente.
Atunci cand un element de tipul Arrayse dispune pe panou, tipul datelor pe care acesta le va contine
nu este inca definit. Se spune ca elementul de tip Arrayeste vid.
Terminalul din diagrama al elementului este de culoare neagra. Sageata Run este sparta, semn ca
programul este incomplet si nu poate fi rulat.
Pentru a defini tipul de date, in elementul de tip Arraytrebuie introdus un element de control sau
indicator scalar de tipul dorit (numeric, boolean sau alfanumeric).
Elementul scalar ce urmeaza a fi introdus in Arraypoate exista deja pe panou sau poate fi selectat la
momentul respectiv din paleta de elemente.
Cand elementul scalar este adus deasupra elementului Array, inainte de a se elibera butonul stang al
mouse-ului, conturul elementului Arrayeste marcat cu o linie intrerupta (Array-ul sesizeaza ca i se vaintroduce un element scalar).
7/22/2019 Labview pentru incepatori
59/92
La eliberarea butonului mouse-ului, elementul scalar apare in interiorul elementului Array, acesta din
urma modificandu-si corespunzator dimensiunile. In diagrama, terminalul elementului scalar dispare,
iar terminalul elementului Array capata culoarea, textul si grosimea de chenar corespunzatoare
datelor pe care le va manipula.
EXERCITIU
Dispuneti pe panoul unei aplicatii:
- un Arraycu valori numerice;- un Arraycu valori booleene;- un Arraycu valori alfanumerice.
Transformati cele trei Array-uri din elemente de control in elemente indicatoare.
Definirea valorilor si a numarului de valori vizibile
Atunci cand este dispus in panou si ii este definit tipul de date, un element de tip Arrayafiseaza la un
moment dat o singura valoare.
Pentru a modifica numarul de valori afisate, se pozitioneaza intai cursorul mouse-ului pe un colt al
elementului Array, astfel incat pe colturile acestuia sa apara patru simboluri "echer" .
7/22/2019 Labview pentru incepatori
60/92
La aparitia celor patru simboluri "echer", se apasa butonul stang al mouse-ului si, tinandu-l apasat, se
deplaseaza mouse-ul astfel incat sa se redimensioneze conturul elementului Array.
Pe masura ce mouse-ul este deplasat, conturul redimensionat al elementului Arrayeste marcat cu
linie intrerupta.
Atunci cand conturul a fost redimensionat astfel incat sa poata cuprinde numarul dorit de valori, se
elibereaza butonul mouse-ului si elementul Arrayeste afisat redimensionat.
Redimensionarea conturului se poate efectua atat pe verticala cat si pe orizontala.
In partea sa stanga, un element de tip Arraydispune de un index.
Indexulunui element Arrayindica numarul de ordineal valorii afisate in pozitia superioara (indicelevalorii). Indicele primei valori dintr-un Arrayeste 0.
Imediat dupa ce i se defineste tipul de date, un Arraynu contine nici o valoare (este vid). Faptul este
semnalizat prin afisarea "opaca" a elementelor pe care Array-ul le contine.
Atunci cand se defineste o valoare din Array, aceasta este afisata normal.
Daca, la un moment dat, utilizatorul defineste o valoare si exista valori cu indici mai mici inca
nedefinite, acestea vor capata automat o valoare implicita, in functie de tip.
Cand se modifica valoarea indexului unui Array, valorile acestuia se deplaseaza astfel incat in pozitia
superioara sa fie afisata valoarea cu indexul selectat.
Daca, in urma acestei deplasari, unele valori nu mai sunt vizibile, faptul nu echivaleaza cu stergerea
acestora: valorile continua sa existe in cadrul Array-ului si pot fi vizualizate prin modificarea
corespunzatoare a indexului.
7/22/2019 Labview pentru incepatori
61/92
EXERCITIU
Modificati numerele de valori vizibile ale celor trei Array-uri create in exercitiul anterior.
Transformati Array-urile in elemente de control (daca este cazul) si definiti valori in cadrul acestora.
Modificati indexul fiecarui Arraysi observati modul in care valorile se deplaseaza.
Definirea numarului de dimensiuni
In mod implicit, atunci cand este creat, un Arrayare o singura dimensiune, putand fi descris drept o
matrice coloana.
Numarul de dimensiuni ale unui Arraypoate fi modificat prin dimensionarea indexului acestuia: se
pozitioneaza cursorul mouse-ului pe un colt al indexului, astfel incat pe colturile acestuia sa apara
patru simboluri "echer", se apasa butonul mouse-ului si se deplaseaza mouse-ul tinand butonul
apasat, pana cand indexul capata dimensiunea dorita.
Daca un Arrayare mai mult de o dimensiune, se poate stabili afisarea mai multor linii si mai multor
coloane.
Terminalul unui element Array se caracterizeaza prin prezenta unor paranteze drepte a caror
grosime este proportionala cu numarul de dimensiuni.
Atunci cand se realizeaza legaturi in diagrama, conexiunile pe care circula un Arraycu o dimensiune
sunt mai groase decat cele pe care circula valori scalare.
Pentru Array-urile cu doua sau mai multe dimensiuni, conexiunile sunt reprezentate cu linie dubla.
Spatiul intermediar al liniei duble este cu atat mai mare cu cat numarul de dimensiuni ale Array-ului
este mai mare.
7/22/2019 Labview pentru incepatori
62/92
EXERCITIU
Mariti numerele de dimensiuni ale Array-urilor create in exercitiile anterioare si afisati mai multe linii
si mai multe coloane.
Observati ca, atunci cand un Array cu o dimensiune este transformat in unul cu doua dimensiuni
(matrice), valorile existente initial in Arraysunt distribuite pe prima linie a matricei.Observati comportamentul unei matrici la introducerea unei valori anterior nedefinite.
Modificati indexurile unei matrici si observati modul de deplasare a valorilor.
Construirea Array-urilor in diagrama
Construirea Array-urilor in diagrama
Atunci cand este necesara existenta in diagrama a unei constante Array, aceasta poate fi selectata
din meniul cu functii pentru valori vectoriale (Array) al paletei de functii.
La dispunerea sa in diagrama, similar elementelor Arrayde pe panou, o astfel de constanta nu are
definit tipul de date pe care le va contine.
Definirea tipului de date se realizeaza prin introducerea in chenarul constantei Array a unei
constante de tipul dorit (numeric, boolean sau alfanumeric).
7/22/2019 Labview pentru incepatori
63/92
O constanta Array permite aceleasi operatii de definire a numarului de valori vizibile sau de
modificare a numarului de dimensiuni ca si elementele Arraydin panou.
Pentru a obtine in mod dinamic (programatic), in diagrama, structuri de valori de tipul Array, pot fi
utilizate o serie de functii specifice.
Functia Initialize Array genereaza un Array cu una sau mai multe dimensiuni, continand aceeasivaloare (conectata la intrarea element) in toate pozitiile.
Numarul de valori de-a lungul unei dimensiuni se specifica la intrarea dimensionsizea functiei.
Atunci cand este dispusa in diagrama, functia are o singura intrare dimension size, generand astfel
un Arraycu o singura dimensiune. Daca se doreste generarea unui Arraycu mai multe dimensiuni,
simbolul functiei poate fi dimensionat.
Daca la una dintre intrarile dimension size se conecteaza valoarea 0, sau daca toate intrarile
respective sunt neconectate, functia va genera un Arrayvid.
Functia Build Array concateneaza la un Array una sau mai multe elemente cu un numar de
dimensiuni imediat inferior (adauga valori scalare la un Arraycu o dimensiune, adauga linii la matrici
s.a.m.d.).
Atunci cand este dispusa in diagrama, functia are o singura intrare. Numarul dorit de intrari se obtine
prin dimensionarea simbolului functiei.
Daca la toate intrarile functiei sunt legate elemente cu acelasi numar de dimensiuni, functia poate
opera in doua moduri, dupa cum optiunea Concatenate Inputsdin meniul sau propriu este sau nu
activata:
- daca optiunea este activata, functia va concatena intrarile si va obtine un Arraycu un numarde dimensiuni egal cu al intrarilor (optiunea nu este valabila daca toate intrarile sunt scalare);
- daca optiunea nu este activata, functia va obtine un Array cu un numar de dimensiuniimediat superior celui al intrarilor (Arraycu o dimensiune din valori scalare, matrice din linii
s.a.m.d.).
Functia Interleave 1D Array construieste un Array cu o singura dimensiune prin intreteserea mai
multor Array-uri avand de asemenea o singura dimensiune.
Array-ul rezultat este format prin preluarea alternativa a cate unei valori din fiecare Arrayde intrare.
La dispunerea in diagrama, functia contine doar doua intrari, dar numarul acestora poate fi modificat
prin dimensionarea simbolului.
7/22/2019 Labview pentru incepatori
64/92
7/22/2019 Labview pentru incepatori
65/92
Conectarea de valori atat la indicele liniei cat si la cel al coloanei va determina extragerea din matrice
a