2011-2012_introducere in mediul de program are labview

Upload: stefanvnv

Post on 06-Apr-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    1/97

    Capitolul 1 MEDIUL DE PROGRAMARE LabVIEW

    Introducere

    1.1 Notiuni introductive .................................................................7

    1.1.1 Lansarea mediului de programare graficaLabVIEW...71.1.2 Deschiderea unei noi aplicatii....81.1.3 Ferestrele principale ale unei aplicatii..9

    1.1.4 Elemente de control si indicatoare...10

    1.1.5 Paleta de controale...10

    1.1.6 Dispunerea elementelor pe panou....111.1.7 Paleta de unelte....12

    1.1.8 Elemente de control si indicatoare pentru valori scalare.14

    1.1.9 Terminalele elementelor......151.1.10 Paleta de functii...16

    1.1.11 Fereastra Help......17

    1.1.12 Functii pentru valori numerice.181.1.13 Functii pentru valori booleene.19

    1.1.14 Functii pentru valori alfanumerice (string)..19

    1.1.15 Inserarea simbolurilor de functii in diagrama......20

    1.1.16 Realizarea legaturilor in diagrama...21

    1.1.17 Fluxul de date......221.1.18 Principalele moduri de rulare a unei aplicatii..........................................23

    1.1.19 Salvarea unei aplicatii..24

    1.2 Functii pentru valori scalare

    1.2.1 Functii pentru valori numerice.271.2.2 Functii uzuale pentru valori alfanumerice....30

    1.2.3 Functii aditionale pentru valori alfanumerice...311.2.4 Functii pentru comparatii..33

    1.2.5 Functii pentru lucrul cu valori data-timp si de dialog...............................35

    1.3 Meniuri proprii si designul elementelor1.3.1 Meniuri proprii in panou...39

    1.3.2 Meniui proprii in diagrama.......................................................................40

    1.3.3 Moduri de reprezentare a valorilor numerice............................................411.3.4 Meniuri proprii specifice elementelor numerice.......................................43

    1.3.5 Meniuri proprii specifice elementelor cu scala.........................................45

    1.3.6 Meniuri proprii specifice elementelor booleene......461.3.7 Meniuri proprii specifice elementelor alfanumerice.471.3.8 Modificarea fontului unor elemente......48

    1.3.9 Ordonarea elementelor panoului si a diagramei49

    1.3.10 Modificarea scalei sau cursorului unor componente.................................501.3.11 Variabile locale..51

    1.3.12 Noduri de proprietati.....53

    1

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    2/97

    1.4 Structuri de programare1.4.1 Inserarea in diagrama a structurilor de programare

    1.4.2 Structura secventiala (Sequence)

    1.4.3 Structura cauzala (Case)

    1.4.4 Structura repetitiva cu numar fix de iteratii (bucla For)1.4.5 Structura repetitiva cu conditie de terminare (bucla While)

    1.4.6 Registri de transfer in structuri repetitive

    1.5 Functii pentru valori vectoriale (Array)1.5.1 Definirea tipului de date al unui Array1.5.2 Definirea valorilor si a numarului de valori vizibile

    1.5.3 Definirea numarului de dimensiuni

    1.5.4 Construirea Array-urilor in diagrama

    1.5.5 Functii informative1.5.6 Functii de ordonare

    1.5.7 Functii de modificare1.5.8 Elementele Array si structurile repetitive1.5.9 Alte functii pentru elemente Array

    1.6 Date de tip Cluster

    1.6.1 Elemente de tip Cluster1.6.2 Meniul propriu al elementelor de tip Cluster1.6.3 Functii pentru elemente de tip Cluster (1)

    1.6.4 Functii pentru elemente de tip Cluster (2)

    1.7 Reprezentari grafice

    1.7.1 Elemente pentru reprezentari grafice1.7.2 Elementul Waveform Chart1.7.3 Elementul Waveform Graph

    1.7.4 Elementul XY Graph1.7.5 Optiuni specifice elementelor pentru reprezentari grafice

    1.7.6 Optiuni specifice elementelor de tip Chart

    1.7.7 Optiuni specifice elementelor de tip Graph si XY Graph1.7.8 Elemente si functii de tip Picture1.7.9 Utilizarea functiilor de tip Picture

    1.8 Elemente ListBox, Table si Ring

    1.8.1 Meniuri pentru elemente ListBox, Table si Ring1.8.2 Tipul de date

    1.8.3 Definirea itemilor unui element Listbox1.8.4 Selectii multiple

    2

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    3/97

    1.1 Notiuni introductive

    1.1.1 Lansarea mediului de programare graficaLabVIEWPentru a lansa mediul de programare grafica LabVIEW, efectuati urmatorii pasi:

    LabVIEW poate fi de asemenea lansat si alegand din meniul Programs optiunea National

    Instruments, apoi alegand din submeniul LabVIEW 6.1 optiunea LabVIEW.

    3

    apasati butonul Start,

    aflat in coltul stanga-jos

    al ecranului;

    dupa deschiderea

    meniului, prin

    desfasurarea acestuia insus, deplasati cursorul

    mouse-ului deasupra

    optiunii Programs;

    asteptati deschiderea

    unui submeniu, prindesfasurare in dreapta si

    in sus, deplasaticursorul mouse-ului

    deasupra optiunii

    National Instruments

    LabVIEW 6i si apasati

    butonul stang al mouse-

    ului.

    Figura 1

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    4/97

    Figura 2

    Dupa lansare, asteptati pana la aparitia ferestrei introductive.

    Figura 3

    1.1.2 Deschiderea unei noi aplicatiiAplicatiile (programele) realizate in LabVIEW poarta denumirea de Instrumente

    Virtuale (in engleza, Virtual Instruments, prescurtat VI). Denumirea provine de la faptul ca,

    in primele sale versiuni, LabVIEW a fost strict dedicat pentru realizarea unor programe de

    monitorizare a proceselor. Programele respective inlocuiau o serie de aparate si instrumenteelectronice - de unde si motto-ul corporatiei National Instruments: The software is theinstrument primind astfel denumirea de Instrumente Virtuale

    La aparitia ferestrei introductive LabVIEW, apasati butonul New VI pentru a deschide

    o noua aplicatie (figura3). Dupa apasarea butonului New VI, se vor deschide cele doua

    ferestre principale ale unei noi aplicatii LabVIEW.

    4

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    5/97

    Figura 4

    1.1.3 Ferestrele principale ale unei aplicatiiO aplicatie (program) LabVIEW contine doua ferestre principale, fereatra panou si

    fereastra diagrama.Panoul reprezinta interfata grafica cu utilizatorul, fereastra pe care utilizatorul o va vedea

    atunci cand va accesa aplicatia realizata. Prin intermediulelementelorde pe panou, aplicatia primestedatele de intrare si afiseaza apoi datele de iesire ce au rezultat in urma rularii.

    Figura5

    Diagrama este fereastra in care programatorul descrie algoritmuldupa care aplicatia va efectua calculele si rationamentele necesare pentruprelucrarea informatiilor. In majoritatea cazurilor, dupa ce programatorul arealizat o aplicatie si a livrat-o unui utilizator, acesta din urma nu mai areacces la diagrama

    5

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    6/97

    Figura 6

    1.1.4 Elemente de control si indicatoareElementele de control sunt acele componente ale panoului prin intermediul carora

    utilizatorul poate transmite date de intrare catre program.

    Elementele indicatoare sunt acele componente ale panoului prin intermediul caroraprogramul afiseaza datele de iesire calculate in urma rularii sale.

    1.1.5 Paleta de controalePaleta de controale este o fereastra ce poate apare doar atunci cand se lucreaza in cadrul

    panoului si contine sub-palete cu elemente de control si indicatoare de diverse tipuri.

    Afisarea paletei de controale se poate efectua in doua moduri:

    apasand butonul din dreapta al mouse-ului atunci cand cursorul acestuia este intr-ozona libera a panoului;

    selectand, din meniul Windows, comanda Show Controls Palette

    Figura 7

    In primul caz, sub-paletele se deschid automat atunci cand cursorul mouse-ului trece pe

    deasupra lor iar paleta ramane vizibila doar pana la selectarea unui element. In al doilea caz, o

    sub-paleta se deschide (inlocuind paleta de controale) doar cand se face un click pe simbolul

    sau. Paleta ramane vizibila si dupa selectarea unui element.

    6

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    7/97

    Figura 8

    1.1.6 Dispunerea elementelor pe panou

    1. Dispunerea unui element de control sau indicator pe panou incepe cu selectarea

    elementului dorit din paleta de controale.

    2. Dupa selectarea elementului, se deplaseaza cursorul mouse-ului pana in pozitia de pe panouin care se doreste dispunerea. Atat timp cat cursorul mouse-ului este deplasat pe panou,

    elementul va fi reprezentat doar prin conturul sau si al etichetei.

    Cand se ajunge in pozitia dorita, se face click cu unul dintre butoanele mouse-ului.

    3. Se realizeaza astfel dispunerea elementului pe panou, cu o eticheta implicita care intra

    automat in modul de editare. Se poate incepe imediat introducerea textului dorit in eticheta.

    4. Daca introducerea textului dorit in eticheta nu s-a efectuat imediat dupa dispunerea

    elementului pe panou si eticheta implicita a iesit din modul de editare, se poate reveni in acestmod prin selectarea uneltei de editare texte si apoi printr-un click pe eticheta respectiva.

    Figura 9

    EXERCITIU

    Din sub-paleta Numeric a paletei de controale, dispuneti pe panou un element de tipul

    Vertical Pointer Slide si un element de tipul Meter.

    7

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    8/97

    Figura 10

    1.1.7 Paleta de uneltePaleta de unelte este o fereastra ce poate apare atat in cadrul panoului cat si al

    diagramei.

    Afisarea paletei de controale se poate efectua selectand, din meniul Windows, comanda ShowTools Palette.

    Cele mai importante unelte din aceasta paleta sunt acelea pentru:

    Figura 11

    Afisarea "temporara" a paletei de unelte intr-o forma simplificata poate fi efectuatatinand apasata tasta Shift si apasand apoi butonul drept al mouse-ului.

    Paleta va deveni vizibila doar pana in momentul selectarii uneia dintre uneltele sale.

    8

    Activarea optiunii Automatic Tool Selection (LED-ul verde al

    paletei de unelte) conduce la selectarea automata a unei unelte, in

    functie de contextul in care se afla aplicatia si de pozitia cursoruluimouse-ului in raport cu componentele din panou sau diagrama.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    9/97

    EXERCITII

    Cu unealta de selectare, deplasati cele doua elemente dispuse anterior pe panou (click pe element, apoi deplasati mouse-ul tinand butonul stang apasat)

    Observati diferenta dintre a face click chiar pe element (acesta se misca impreuna cueticheta sa) si a face click pe eticheta (eticheta se deplaseaza in raport cu elementul)

    Cu aceeasi unealta, modificati dimensiunile elementelor:

    1. Pozitionati cursorul mouse-ului pe un colt al elementului, astfel incat in cele patrucolturi ale acestuia sa apara simboluri de forma unui echer dublu

    2. Apasati butonul stang si deplasati mouse-ul tinand butonul apasat. Observati aparitia

    unui indicator galben cu dimensiunile elementului.

    Figura 12

    Selectati ambele elemente trasand cu mouse-ul un dreptunghi imaginar care sa le

    includa pe acestea (click intr-o zona libera a panoului, apoi deplasati mouse-ul tinandbutonul apasat: pe ecran va apare un dreptunghi cu linie intrerupta)

    Selectati un element, apoi apasati tasta Delete: elementul va fi sters. Pentru a anula

    comanda, apasati combinatia de taste Ctrl + Z (Undo)

    Cu unealta de operare, modificati valorile celor doua elemente tragand cu mouse-ul

    de cursorul potentiometrului sau de acul indicatorului.

    Cu aceeasi unealta sau cu cea de editare a textelor, modificati valorile de la capetele

    de scara ale elementelor.

    Selectati unealta de deplasare a imaginii si exersati lucrul cu aceasta.

    Activati optiunea Automatic Tool Selection a paletei de uneltesi observati modul in

    care uneltele de selectare, de operare si de editare a textelor se activeaza atunci cand

    mouse-ul este deasupra unui element, a cursorului sau acului acestuia sau deasuprascalei sau etichetei elementului.

    Cu optiunea Automatic Tool Selection dezactivata, atat in panou cat si in diagrama,observati modul in care sunt selectate diverse unelte atunci cand se apasa tastele Spacesau Tab.

    9

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    10/97

    1.1.8 Elemente de control si indicatoare pentru valori scalare

    Principalele trei tipuri de elemente de control si indicatoare pentru valori scalaresunt:

    umerice

    booleene(logice)

    alfanumerice (texte, string, siruri de caractere)Pentru fiecare din cele trei tipuri principale, paleta de controale contine cate o

    subpaleta specifica, cu diverse forme de elemente.

    Figura13

    10

    EXERCITII

    Din subpaleta pentru elemente booleene,

    introduceti pe panou un element de tipul

    Vertical Toggle Switch si un element detipul Round LED

    Din subpaleta pentru elemente alfanumerice

    (String & Path), introduceti pe panou unelement de tipul String Control si un

    element de tipul String Indicator.

    Deschideti o aplicatie noua selectandcomanda New VI din meniul File (sauapasand combinatia de taste Ctrl + N).

    Dispuneti pe panoul acesteia diverse tipuri de

    elemente de control si indicatoare pentruvalori numerice si exersati modificarea

    valorilor acestora cu unealta de operare.

    Inchideti noul program inchizand panoulacestuia (inchiderea diagramei nu are decat

    efect de ascundere a acesteia) si raspunzand

    No la intrebarea Save changes to "...." ?

    Figura 14

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    11/97

    1.1.9 Terminalele elementelor

    Atunci cand un element de control sau indicator este dispus in panou, in diagramaeste inserat automat un simbol, numit terminal, ce va reprezenta elementul respectiv in

    cadrul fluxului de date. Terminalele elementelor se diferentiaza prin culoare, in functie de tipulmarimii scalare:

    portocaliu pentru valori numerice reale

    verde pentru valori booleene

    roz pentru valori alfanumerice (string)

    De remarcat faptul ca:

    terminalele elementelor de control au contur gros si o sageata neagra mica inpartea dreapta

    terminalele elementelor indicatoare au contur subtire si o sageata neagra micain partea stanga

    Figura 16

    EXERCITII

    Identificati in diagrama terminalele elementelor pe care le-ati dispus pe panou.

    In diagrama, folosind unealta de selectare, deplasati terminalele elementelor ca in

    figura de mai sus.

    11

    Figura 15

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    12/97

    1.1.10 Paleta de functii

    Paleta de functii este o fereastra ce poate apare doar atunci cand se lucreaza in cadrul

    diagramei si contine sub-palete cu diverse categorii de functii, proceduri sau structuri

    specifice de programare. Afisarea paletei de functii se poate efectua in doua moduri:

    apasand butonul din dreapta al mouse-ului atunci cand cursorul acestuia este intr-ozona libera a diagramei;

    selectand, din meniul Windows, comanda Show Functions Palette.

    Figura 17 Figura 18

    In primul caz, sub-paletele se deschid automat atunci cand cursorul mouse-ului trece pe

    deasupra lor iar paleta ramane vizibila doar pana la selectarea unei functii

    In al doilea caz, o sub-paleta se deschide (inlocuind paleta de functii) doar cand se face

    un click pe simbolul sau. Paleta ramane vizibila si dupa selectarea unei functii.

    EXERCITIU

    In diagrama aplicatiei, afisati paleta de functii prin fiecare din cele doua moduri

    indicate mai sus si navigati prin sub-paletele acesteia.

    12

    http://www.labsmn.pub.ro/Academic/labview/L1/3%20Ferestre%20principale.htm#diagramahttp://www.labsmn.pub.ro/Academic/labview/L1/3%20Ferestre%20principale.htm#diagrama
  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    13/97

    1.1.11 Fereastra Help

    Selectarea, in panou sau in diagrama, din meniul Help, a comenzii Show Context

    Help, conduce la deschiderea unei ferestre in care sunt afisate automat informatii ajutatoare.Deschiderea sau inchiderea ferestrei Help pot fi comandate si prin apasarea combinatiei de

    taste Ctrl + H

    Atunci cand utilizatorul deschide paleta de functii si navigheaza prin subpaleteleacesteia, in fereastra Help apar informatii referitoare la functia corespunzatoare simbolului

    deasupra caruia este pozitionat cursorul mouse-ului.

    Figura 19 Figura 20

    De asemenea, daca un simbol de functie a fost deja dispus in diagrama iar cursorul

    mouse-ului este pozitionat deasupra sa, in fereastra Help apar informatii referitoare la functia

    respectiva.

    Figura 21

    13

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    14/97

    EXERCITIU

    Exersati deschiderea si inchiderea ferestrei Help prin modurile descrise mai sus. Cufereastra Help deschisa, navigati prin paleta de functii si observati modul in care informatiile

    ajutatoare se modifica atunci cand cursorul mouse-ului trece pe deasupra diverselor simboluri

    de functii.

    1.1.12 Functii pentru valori numerice

    Functiile pentru valori numerice sunt grupate in subpaleta Numeric a paletei defunctii Se remarca o prima categorie, dedicata functiilor aritmetice simple: adunare ( Add),

    scadere (Subtract), inmultire (Multiply), impartire (Divide), incrementare (Increment),

    decrementare (Decrement), valoare absoluta (Absolute Value), rotunjire la cel mai apropiatintreg (Round To Nearest), rotunjire la intregul inferior (Round To -Infinity), rotunjire la

    intregul superior (Round To +Infinity), radacina patrata (Square Root), schimbare de semn(Negate), produsul dintre o valoare x si o putere a lui 2 (Scale By Power Of 2), inversare

    (Reciprocal).

    In subpaleta Numeric se gaseste de asemenea elementul Numeric Constant

    (constanta numerica). Atunci cand un astfel de element este dispus in diagrama, el capataautomat valoarea 0 si intra in modul de editare, asteptand ca utilizatorul sa introduca valoarea

    numerica dorita. Daca, imediat dupa dispunerea in diagrama, in loc de a introduce o valoare in

    element, utilizatorul efectueaza alta operatie, o alta valoare constanta poate fi specificata

    utilizand unealta de operare sau pe cea de editare a textelor.

    14

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    15/97

    Figura 22

    EXERCITIU

    In subpaleta Numeric a paletei de functii, identificati functiile aritmetice simpleenumerate mai sus. Pe parcursul navigarii in paleta de functii, urmariti descrierea functiilor in

    fereastra Help.

    1.1.13 Functii pentru valori booleene

    Figura23

    EXERCITIU

    1.1.14 Functii pentru valori alfanumerice (string)

    15

    Functiile pentru valori booleene sunt

    grupate in subpaleta Boolean a paletei defunctii. Se remarca functiile logice 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) siIMPLICA (Implies). Subpaleta contine de

    asemenea, in partea inferioara, cele doua

    constante logice: ADEVARAT (True) siFALS (False).

    In subpaleta Boolean a paletei de

    functii, identificati functiile logice simple siconstantele logice enumerate mai sus. Pe

    parcursul navigarii in paleta de functii,

    urmariti descrierea functiilor in fereastra

    Help. Functii pentru valori alfanumerice

    (string) Functiile pentru valori alfanumericesunt grupate in subpaleta String a paletei de

    functii. Printre cele mai simple se numaracele pentru transformarea caracterelor in

    majuscule (To Upper Case) si pentru

    transformarea caracterelor in minuscule (To

    Lower Case). In partea sa inferioara,

    subpaleta contine un element String

    Constant pentru introducerea in diagramade valori alfanumerice constante.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    16/97

    EXERCITIU

    In subpaleta String a paletei de functii, identificati functiile si constanta alfanumerica

    enumerate mai sus. Pe parcursul navigarii in paleta de functii, urmariti descrierea functiilor infereastra Help.

    1.1.15 Inserarea simbolurilor de functii in diagrama

    Daca, in timpul deplasarii, simbolul functiei este trecut suficient de aproape de unterminal sau de o zona a fluxului de date la care se poate efectua o legatura, acea legatura este

    stabilita automat. Daca simbolul functiei este indepartat, in cursul deplasarii, de zona sau

    terminalul respectiv, legatura stabilita automat dispare. Daca nu se doreste efectuarea automataa unei legaturi, se apasa tasta Space in timp ce butonul mouse-ului este apasat.

    16

    Figura 24

    Dispunerea unei functii in diagrama incepe cu

    selectarea simbolului corespunzator din paleta de functii.Dupa selectarea simbolului functiei, se deplaseaza cursorul

    mouse-ului pana in pozitia din diagrama in care se doreste

    dispunerea.Atat timp cat cursorul mouse-ului este deplasat, simbolul

    functiei va fi reprezentat impreuna cu terminalele

    corespunzatoare datelor proprii de intrare si de iesire

    Figura 25

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    17/97

    .

    EXERCITIU

    Din subpaleta Numeric a paletei de functii, introduceti in diagrama o functie Add si pozitionati-o ca in figura, intre terminalele celor doua elemente numerice.

    Introduceti de asemenea in diagrama un element de tipul Numeric Constant si

    stabiliti-i acestuia valoarea 2.

    Din subpaleta Boolean, introduceti in diagrama o functie Not si pozitionati-o intreterminalele celor doua elemente booleene.

    Din subpaleta String, introduceti in diagrama o functie To Upper Case si pozitionati-o

    intre terminalele celor doua elemente alfanumerice.

    Dupa pozitionarea simbolurilor de functii in diagrama, deschideti fereastra Help siafisati in aceasta informatiile referitoare la fiecare functie prin deplasarea mouse-ului

    deasupra simbolului corespunzator.

    1.1.16 Realizarea legaturilor in diagrama

    Figura 26

    Figura 27

    Figura 28

    17

    Cand simbolul functiei ajunge in pozitia dorita, se face

    click cu unul dintre butoanele mouse-ului. Daca in acel momentexista o legatura stabilita automat,legatura respectiva se

    pastreaza.

    1. Se deplaseaza cursorul mouse-ului (unealta de conectare)deasupra primei componente (aceasta va incepe sa clipeasca) si

    se face click. Actiunea este echivalenta cu prinderea unui capat

    al firului de componenta respectiva.Din acest moment, daca mouse-ul este deplasat, pe ecran va

    apare imaginea unui fir cu un capat fixat de prima componenta

    si cu un capat legat de cursorul mouse-ului.

    Realizarea unei legaturi intre doua componente

    ale diagramei se efectueaza cu ajutorul uneltei de

    conectare. Ordinea in care se selecteaza cele douacomponente (sursa si destinatia) nu este importanta.

    Legatura poate fi realizata in orice sens, deoarecemediul de programare va identifica automat sursa sidestinatia pentru a stabili sensul de circulatie al datelor.

    2. Se deplaseaza cursorul mouse-ului deasupra celei de-a douacomponente (si aceasta va incepe sa clipeasca) si se face click,

    fixand astfel al doilea capat al firului de aceasta componenta.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    18/97

    Figura 29

    Figura 30

    Figura 31

    Figura 32

    EXERCITII

    1.1.17 Fluxul de date

    18

    Obs. 1: Daca, la un moment dat, firul care urmeaza mouse-ul are

    un sens (orar sau trigonometric) neconvenabil, sensul poate fischimbat prin apasarea tastei blanc (spatiu).

    Obs. 2: Daca se doreste ca traseul unei legaturi sa fie format dinmai multe portiuni in unghi drept, un click intr-un punct din

    diagrama va fi echivalent cu fixarea firului in acel punct.

    Obs. 3: Daca o componenta a diagramei are rol de sursa pentruun traseu ramificat, se pot efectua legaturi care sa aiba drept

    punct de pornire un segment al fluxului de date.

    Obs. 4: Daca o legatura a fost efectuata corect, ea va fi afisata inculoarea corespunzatoare tipului de date ce vor circula prin zona

    respectiva a fluxului de date.

    Daca legatura este incorecta (conecteaza doua componente detipuri diferite), aceasta va fi afisata cu culoarea neagra si

    intrerupta.

    Utilizand unealta de conectare, realizati legaturile din

    figura. alaturata. Observati ca, similar terminalelor,

    legaturile din diagrama au culori ce semnficia tipul

    datelor scalare corespunzatoare (portocaliu pentrunumere reale, albastru pentru numere intregi, verde

    pentru valori booleene, roz pentru valori alfanumerice).

    Astfel, atunci cand programul va rula, indicatorul

    Meter va afisa suma dintre valoarea controlului Slidesi constanta 2, indicatorul Boolean 2 va afisa valoarea

    logica negata a controlului Boolean, iar indicatorul

    String 2 va afisa textul din controlul Stringtransformat in majuscule.

    Deschideti fereastra Help, selectati unealta deconectare si pozitionati cursorul mouse-ului deasupra

    unei legaturi astfel incat aceasta sa "clipeasca".Observati ca, in aceasta situatie, in fereastra Help sunt

    afisate informatii referitoare la tipul de valori ce circulaprin legatura respectiva

    Figura 33

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    19/97

    Fluxul de date este format din totalitatea legaturilor ce conecteaza diversele terminale

    de elemente, simboluri de functii sau proceduri si structuri de programare din cadrul

    diagramei. Rolul fluxului de date este acela de reprezentare grafica a algoritmului dupa

    care aplicatia va prelucra datele de intrare pentru a calcula valorile de iesire. Traseele ce

    formeaza fluxul de date pot fi simple, cu o sursa si o destinatie, sau ramificate, cu o sursa si

    mai multe destinatii.

    1.1.18 Principalele moduri de rulare a unei aplicatii

    Barele de butoane ale panoului si diagramei contin o serie de elemente ce permit stabilirea

    modului de rulare a unui program.

    Figura 35

    19

    Indiferent de modul sau sensul in

    care traseele sunt dispuse pediagrama, "circulatia" datelor in

    cadrul fluxului se efectueaza doar

    de la surse catre destinatii.

    Prin sursa se intelege, de

    exemplu, terminalul unui element

    de control, simbolul uneiconstante sau zona de iesire a

    unei functii sau proceduri.

    Prin destinatie se intelege, deexemplu, terminalul unui elementindicator sau zona de intrare a

    unei functii sau proceduri.

    Figura 34

    Apasarea butonului Run va conduce la rularea o singura

    data a programului. Va fi parcurs intreg fluxul de date din

    diagrama, dupa care programul se va opri.

    In timpul rularii programului, butonul Run isi schimba forma si seaprinde un buton Abort execution.

    Apasarea acestui din urma buton in timpul rularii va determina

    intreruperea acesteia.

    Apasarea butonului Run Continuously va conduce la

    rularea repetata, fara oprire, a programului. Pe parcursul acestui

    mod de rulare, isi schimba forma atat butonul Run Continuouslycat si butonul Run, si se aprinde de asemenea butonul Abortexecution. Intreruperea rularii nu are loc decat la comanda

    utilizatorului, prin apasarea butonului Abort execution.Atat pe parcursul rularii simple cat si pe cel al rularii

    continui, utilizatorul are posibilitatea de a suspenda rularea prin

    apasarea butonului Pause. Apasarea acestui buton ii schimbaforma si il transforma in butonul Continue, prin a carui apasare se

    comanda reluarea unei rulari suspendate.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    20/97

    Figura 36

    Figura 37

    .

    Figura 38

    .

    Figura 39

    Figura 40

    EXERCITII

    In panoul aplicatiei pe care ati realizat-o, cu unealta de operare, modificati valoarea

    elementului de control Slide, schimbati pozitia controlului Boolean si introduceti un text

    format din minuscule in controlul String. Apasati sageata Run pentru a rula programul.

    Schimbati din nou pozitia controlului Boolean si apasati din nou sageata Run.

    Apasati butonul Run Continuously si, in timp ce programul ruleaza in modul

    continuu, modificati valoarea elementului de control Slide, schimbati pozitia

    controlului Boolean si modificati textul dn controlul String.

    Apasati butonul Pause. Rularea programului se va suspenda temporar, aplicatia va

    trece automat in diagrama si va indica prin aprindere intermitenta locul din diagrama in

    care programul s-a oprit.

    20

    Daca, atunci cand rularea este suspendata, se trece in

    fereastra diagrama, programul semnalizeaza prin aprindereintermitenta zona ce era in curs de executie atunci cand s-a

    comandat suspendarea

    In diagrama, atunci cand rularea este suspendata,

    utilizatorul are posibilitatea de a continua rularea pas cu pas,

    utilizand setul de trei butoane din dreapta.

    In orice mod de rulare, prin apasarea butonului Highlight

    Execution, utilizatorul are posibilitatea de a urmari o animatie cesugereaza deplasarea valorilor prin fluxul de date.

    Atunci cand o valoare paraseste o componenta a diagramei ce esteo sursa a unei legaturi, valoarea respectiva este afisata in diagrama.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    21/97

    Apasati butonul Highlight Execution, apoi butonul Step Over. Observati afisarea in

    diagrama a valorilor de iesire din functii.

    "Stingeti" butonul Continue (cel care avea initial eticheta Pause). Observati afisarea in

    diagrama a modului in care valorile circula pe fluxul de date al programului.

    "Stingeti" butonul Highlight Execution si intrerupeti rularea continua prin apasarea

    butonului Abort execution.

    1.1.19 Salvarea unei aplicatii

    Figura 42

    21

    Atat timp cat inca nu a fost salvat intr-unfisier, un program are numele Untitled urmat de

    un numar de ordine. Pentru a specifica folder-ul in

    care programul sa fie salvat, precum si numele

    fisierului, se alege din meniul File optiunea Save

    As...

    Figura 41

    In urma selectarii

    comenzii Save As...,

    programul deschide o fereastra

    de dialog in care utilizatorulpoate selecta folder-ul in care

    sa se efectueze salvarea si

    numele fisierului.

    PROGRAMELE

    REALIZATE IN MEDIUL

    DE PROGRAMARE

    GRAFICA LabVIEW SE

    SALVEAZA IN FISIERE

    CU EXTENSIA VI !

    Din momentul in care a fost salvat prima data,

    programului i se afiseaza numele atat in bara superioara

    a panoului cat si in cea a diagramei.

    Daca, dupa salvare, programului i se aduc in continuaremodificari, langa numele acestuia apare un asterisc (*),

    semnalizand astfel faptul ca versiunea ce a fost salvata

    nu este cea mai recenta

    Pentru a salva un program care are deja o locatie si un

    nume stabilite, este suficient sa se apese combinatia de

    taste Ctrl si S sau sa se selecteze comanda Save din

    meniul File.

    Comanda Save As... se poate folosi daca se doreste

    salvarea unei noi versiuni a fisierului intr-o noua locatiesau cu un nou nume.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    22/97

    EXERCITII

    Pe discul D al computerului, in directorul Utilizatori, subdirectorul CCD, creati unsubdirector cu numele Dvs. Pentru informatii suplimentare despre aceasta etapa, apasati AICI(Atentie, se va deschide o noua fereastra Internet Explorer pe care o puteti inchide ulterior)

    Salvati aplicatia pe care ati realizat-o in subdirectorul propriu !

    TEMA

    1. Realizati un program pentru calculul ariei si perimetrului unui cerc, in functie de valoarearazei introdusa de catre utilizator

    2. Realizati un program pentru calculul ariei si perimetrului unei elipse, in functie de valorile

    introduse de catre utilizator pentru cele doua semiaxe

    3. Realizati un program care sa exemplifice utilizarea diverselor functii booleene

    4. Realizati un program pentru rezolvarea ecuatiei de gradul al doilea

    5. Realizati un program pentru calculul inaltimii maxime si al distantei parcurse pe orizontala

    in cazul aruncarii oblice

    22

    Figura 43

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    23/97

    1.2 Functii pentru valori scalare1.2.1 Functii pentru valori numerice

    Pe langa functiile aritmetice simple descrise in lectia anterioara, subpaleta Numeric a

    paletei de functii contine, in zona sa principala, si urmatoarele functii:

    23

    Quotient & Remainder calculeaza

    catul si restul impartirii valorii conectate laintrarea X la valoarea conectata la intrarea Y

    Figura 44

    Compound Aritmetic (disponibila si in

    subpaleta Boolean a paletei de functii) permiteefectuarea operatiilor de adunare (Add) sau inmultire(Multiply), sau a operatiilor logice SI (AND), SAU(OR) sau SAU EXCLUSIV (XOR), asupra unui

    numar variabil de valori de intrare.Numarul de intrari este stabilit de catre utilizator prin

    "dimensionarea" simbolului functiei astfel:

    se plaseaza cursorul mouse-ului la mijloculuneia din laturile orizontale ale simbolului,

    astfel incat pe laturile de sus si de jos sa apara

    cate un cerculet

    se apasa butonul stang al mouse-ului si sedeplaseaza mouse-ul tinand butonul apasat

    pe masura ce mouse-ul este deplasat, simbolulfunctiei isi modifica dimensiunile, modificandu-

    se astfel numarul de intrari

    cand numarul de intrari in functie este cel dorit,

    se elibereaza butonul mouse-ului.Pentru a selecta operatia efectuata de catre

    functie (adunare, inmultire etc)

    se apasa butonul drept al mouse-ului pentru adeschide meniul propriu al functiei

    se deschide submeniul Change Mode se selecteaza operatia dorita

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    24/97

    Figura 46

    - subpaleta Trigonometric, continand majoritatea functiilor trigonometrice

    - subpaleta Logarithmic, continand functii exponentiale si logaritmice

    24

    Figura 45

    Random Number (0-1) este o functie ce nu poseda intrari,

    rolul sau fiind de a genera o valoare reala aleatoare in intervalul (0,1)

    Subpaleta Numeric a paletei de functii contine de asemenea o serie de subpalete dedicate

    unor categorii particulare de functii:subpaleta Conversion, continand printre altele:

    - 12 functii pentru schimbarea modului de reprezentare a unei valori numerice

    functia Boolean To (0,1) (disponibila si in subpaleta

    Boolean a paletei de functii), care transforma o valoare logica (True sau False) intr-ovaloare numerica (1 respectiv 0)

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    25/97

    Figura 47 Figura 48

    - subpaleta Complex, continand functii asociate numerelor complexe

    - Subpaleta Additional Numeric Constants a paletei de functii contine valori constante

    des utilizate in trigonometrie si in lucrul cu functii exponentiale sau logaritmice,precum si constante utilizate in fsica

    25

    Figura 49

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    26/97

    Figura 50

    EXERCITIU

    In zona principala a paletei de functii si in subpaletele dedicate ale acesteia, identificatifunctiile si constantele enumerate mai sus.

    Construiti un program care sa afiseze catul si restul impartirii a doua numere naturale

    introduse de catre utilizator.

    1.2.2 Functii uzuale pentru valori alfanumerice

    Portiunea inlocuita incepe de la caracterul aflat pe pozitia offset inclusiv si contine lengthcaractere. Intrarea offset are valoarea implicita 0, iar intrarea length are o valoare implicita

    egala cu numarul de caractere legat la intrarea substring. Daca la intrarea substring nu seleaga nici o valoare (textul de inserat este vid), functia efectueaza de fapt o stergere a unei

    26

    Functia String Length determina numarul de caractere dintr-

    o valoare alfanumerica (text). Sunt luate in considerare si caracterele

    neafisabile (spatiu, Tab, sfarsit de linie etc). Numarul de caractere de

    la iesirea functiei este exprimat ca un intreg pe patru octet

    Functia Concatenate Strings poseda un numar de

    intrari ce poate fi modificat de catre utilizator prin

    dimensionarea simbolului functiei. La iesirea sa, functia

    genereaza o valoare alfanumerica obtinuta princoncatenarea textelor de la intrarile sale, in ordinea de sus

    in jos.

    Functia Replace Substring sterge oportiune din textul conectat la intrarea string

    si introduce in locul respectiv textul conectatla intrarea substring.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    27/97

    portiuni, iar daca la intrarea length se leaga valoarea 0 (textul de sters este vid) functia

    efectueaza de fapt o inserare a unei portiuni.

    Cautarea are loc incepand de la pozitia offset a textului string. Daca la intrarea offsetnu se conecteaza nici o valoare, cautarea are loc incepand cu prima pozitie. Daca la intrarea

    replace string nu se conecteaza nici o valoare, atunci functia efectueaza de fapt o stergere(inlocuire cu text vid). Daca la intrarea replace all? nu se conecteaza nici o valoare, atunci

    functia se opreste dupa prima aparitie a textului search string. Daca la aceasta intrare se

    conecteaza o valoare logica True, atunci functia efectueaza inlocuiri pentru toate aparitiiletextului search string. Functia genereaza textul rezultat in urma inlocuirii la iesirea resultstring, iar la iesirea offset past replacement genereaza o valoare indicand pozitia caracterului

    aflat imediat dupa ultimul caracter inlocuit.

    EXERCITIU

    Pentru fiecare dintre functiile prezentate mai sus, construiti cate un program care sa

    exemplifice modul de utilizare a functiei. De exemplu, pentru functia String Length, panoulprogramului va contine un element de control pentru valori alfanumerice, in care utilizatorul

    va introduce un text, si un element indicator pentru valori numerice, in care programul va afisa

    numarul de caractere ale textului introdus.

    1.2.3 Functii aditionale pentru valori alfanumerice

    27

    Functia Search and Replace Stringcauta textul search string in textul conectat

    la intrarea string, iar atunci cand il gaseste ilinlocuieste cu textul conectat la intrarea

    replace string.

    Subpaleta Additional String Functions a

    paletei String ( figura51) contine o serie de functii

    uzuale pentru lucrul cu valori alfanumerice

    Functia Search/Split String cauta textul

    conectat la intrarea search string/char in textul

    conectat la intrarea string. Cautarea se efectueazaincapand cu pozitia offset.

    Daca textul cautat este gasit, functia divide textul

    initial in doua parti:- partea dinainte de textul cautat (substring before

    match)

    - textul cautat urmat de restul textului in care s-a

    facut cautarea (match + rest of string) Figura 51

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    28/97

    Functia genereaza la iesirea offset of match pozitia in care a fost gasit textul cautat.Daca textul cautat nu a fost gasit, iesirea substring before match contine tot textul legat la

    intrarea string, iar iesirea offset of match are valoarea -1.

    Daca la intrarea string nu a fost conectata nici o valoare, rezultatul este chiar linia cu indicele

    specificat.

    In caz afirmativ, functia genereaza la iesirea output string restul textului de la intrarea string,iar la iesirea selection o valoare booleana corespunzatoare intrarii care a coincis (True pentru

    true string si False pentru false string). Daca ambele texte coincid, functia considera textul

    true string. Daca nici un text nu coincide, iesirea selection are valoarea False iar iesirea

    output string contine intreg textul string

    28

    Functia Pick Line selecteaza din textulmulti-line string, ce contine mai multe linii, pe ceacu indicele line index si adauga linia respectiva la

    textul conectat la intrarea string.

    Functia Match True/False String verifica

    daca unul din textele true string sau false string

    coincide cu inceputul textului conectat la intrarea

    string.

    Functia Rotate String efectueaza o

    permutare circulara a caracterelor textului conectat

    la intrarea string, mutand primul caracter pe ultimapozitie.

    Functia Reverse String inverseazaordinea caracerelor textului conectat la intrarea

    string

    Functia Append True/False Stringconcateneaza la textul conectat la intrarea stringunul din textele conectate la intrarile true string

    sau false string, in functie de valoarea booleanaconectata la intrarea selector.

    Subpaleta String/Number Conversion a

    paletei String contine functii pentru conversia

    valorilor alfanumerice in valori numerice saupentru efectuarea operatiei inverse. Dintre acestea,

    cele mai des utilizate sunt:Functia Number To Decimal Stringtransforma numarul intreg de la intrarea numberintr-un text de cel putin width caractere. Daca

    numarul de la intrarea functiei nu este intreg, eleste trunchiat. Daca intrarea width nu este legata,

    numarul de caractere ale textului va fi egal cu

    numarul de cifre ale intregului.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    29/97

    Modul de reprezentare al valorii de la iesirea number este identic cu cel al valorii

    numerice intregi conectate la intrarea default (implicit intreg pe 32 de biti).Iesirea offset past number are semnificatia pozitiei primului caracter din string dupa

    portiunea care a fost transformata in valoare numerica.

    Subpaleta String/Number Conversion contine de asemenea functii pentrutransformarea textelor din si in numere in baza de numeratie 16 sau 8 sau in formatul

    exponential, fractional sau ingineresc.

    EXERCITIU

    Pentru fiecare dintre functiile prezentate mai sus, construiti cate un program care sa

    exemplifice modul de utilizare a functiei. De exemplu, pentru functia Reverse String, panoulprogramului va contine un element de control pentru valori alfanumerice in care utilizatorul va

    introduce un text si un element indicator, de asemenea pentru valori alfanumerice, la care

    programul va afisa textul inversat.

    1.2.4 Functii pentru comparatiiFunctiile pentru efectuarea comparatiilor sunt grupate in subpaleta Comparison a

    paletei de functii.

    29

    Figura 52

    Functia Decimal String To Numbertransforma intr-o valoare numerica intreaga

    portiunea din textul string incepand de la pozitia

    offset inclusiv (implicit de la pozitia 0)..

    In cazul functiei Greater? de exemplu,

    iesirea va avea valoarea True daca

    valoarea de la intrarea de sus este mai maredecat valoarea de la intrarea de jos si va

    avea valoarea False in caz contrar.

    Caracteristic acestor functii este faptul ca, daca datelede intrare pot fi de diverse tipuri (numerice, booleene,

    alfanumerice etc), datele de iesire sunt la majoritatea acestor

    functii valori logice (booleene). Conteaza de asemeneaordinea in care datele de intrare sunt legate la terminalul

    functiei (la intrarea de sus sau la cea de jos).

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    30/97

    Figura 53

    Pe langa functiile de comparare a doua marimi sau de comparare a unei marimi cu

    valoarea nula, subpaleta Comparison contine urmatoarele:

    Subpaleta Comparison contine de asemenea functii pentru a verifica daca un caracter

    este cifra in baza de numeratie 16, cifra in baza de numeratie 8, caracter tiparibil sau caracter

    netiparibil.

    30

    Functia Select genereaza la iesire valoarea de la

    intrarea t (True) daca valoarea logica de la intrarea s

    este True, respectiv valoarea de la intrarea f (False)daca valoarea logica de la intrarea s este False. Valorile

    de la intrarile t si f pot fi atat numerice cat si

    alfanumerice.Functia Max & Min genereaza la iesirea maxcea mai mare dintre valorile x si y, respectiv la iesirea

    min pe cea mai mica dintre acestea.

    Functia In Range and Coerce verifica daca

    valoarea de la intrarea x este cuprinsa intre valorile de

    la intrarile lower limit (limita inferioara) si upper

    limit (limita superioara). Valoarea logica reprezentand

    rezultatul verificarii este generata la iesirea In Range?

    n mod implicit, intervalul de incadrare este inchis la

    stanga si deschis la dreapta.Inchiderea sau deschiderea intervalului la extremitatile

    sale poate fi configurata de catre utilizator din meniul

    propriu al functiei, activand sau dezactivand optiunile

    Include upper limit si Include lower limit.

    Rezultatul "fortarii" valorii x in intervalul prescris este

    generat la iesirea coerced(x).Figura 54

    Functia Decimal Digit? genereaza o valoarelogica True in situatia in care caracterul de la intrarea sa

    este o cifra intre 0 si 9 si genereaza o valoare False in

    caz contrar.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    31/97

    EXERCITIU

    Pentru fiecare dintre functiile prezentate mai sus, construiti cate un program care saexemplifice modul de utilizare a functiei. De exemplu, pentru functia Select, panoul

    programului va contine un element de control boolean, doua elemente de control alfanumerice

    si un indicator alfanumeric. Programul va afisa la elementul indicator una din valorile de lacele doua controale alfanumerice, in functie de valoarea True sau False a elementuluiboolean.

    1.2.5 Functii pentru lucrul cu valori data - timp si de dialog

    31

    Functiile pentru lcurul cu valori data

    - timp si functiile de dialog se gasesc in

    meniul Time & Dialog al paletei de functii.

    Printre cele mai utilizate functii din aceastacategorie se numara:

    Tick Count (ms): determinanumarul de milisecunde indicat de ceasulintern al computerului (considerat de la

    momentul la care calculatorul a fost pornit)

    Wait (ms): intrerupe executia

    programului pentru intervalul de timpspecificat

    Format Date/Time String:

    transforma o valoare numerica reprezentandun numar de secunde intr-un text.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    32/97

    Numarul de secunde este considerat a fi scurs incepand cu data de 1 ianuarie 1904, ora

    12.00. La intrarea time format string a functiei se poate specifica formatul in care textul

    rezultat sa fie construit.

    La intrarea date format se poate lega una din valorile 0, 1 sau 2, reprezentandformatele scurt, lung sau abreviat pentru data. Daca numarul de secunde nu este conectat, se

    considera numarul de secunde al ceasului intern al computerului.

    Ieisrea text ce reprezinta timpul poate contine sau nu secunde, in functie de valoarea intrariibooleene want seconds?

    Functia genereaza o valoare booleana True daca utilizatorul a apasat butonul din stanga sau

    False daca a fost apasat butonul din dreapta.

    EXERCITII

    Pentru fiecare dintre functiile prezentate mai sus, construiti cate un program care saexemplifice modul de utilizare a functiei. De exemplu, pentru functia Tick Count (ms),

    realizati un program care sa afiseze numarul de secunde scurse de la pornirea calculatorului.

    TEMA

    1. Construiti un program care sa genereze un numar aleator intr-un interval ale carui limiteminima si maxima sunt specificate de catre utilizator

    32

    Figura 55

    Get Date/Time String: transforma o

    valoare numerica reprezentand un numar desecunde in doua texte, unul reprezentand data

    si celalalt timpul.

    Get Date/Time In Seconds: determina

    numarul de secunde scurs incepand cu data de1 ianuarie 1904, ora 12.00, pana la data sitimpul curente ale calculatorului.

    One Button Dialog: determina aparitia

    unei ferestre de dialog, continand un textspecificat prin program, fereastra ce asteapta

    apasarea de catre utilizator a unui buton (numele

    butonului poate fi de asemenea configurat).

    Two Button Dialog: determina aparitia uneiferestre de dialog, continand un text specificat prin program, fereastra ce asteapta apasarea de catre

    utilizator a unuia din cele doua butoane

    disponibile (numele butoanelor pot fi de asemenea

    configurate).

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    33/97

    2. Realizati un program in care utilizatorul sa dispuna de patru elemente de control booleene

    sub forma de LED-uri.Considerand ca cele patru LED-uri reprezinta cifrele binare ale unui numar in baza de

    numeratie 2, programul sa afiseze numarul respectiv in baza 10.

    3. Construiti un program in care utilizatorul sa introduca lungimea unui vector si unghiulacestuia cu orizontala (in grade), iar programul sa afiseze lungimile proiectiilor vectorului pecele doua axe de coordonate.

    4. Construiti un program in care utilizatorul sa introduca lungimile si unghiurile cu orizontala

    (in grade) pentru doi vectori, iar programul sa afiseze lungimea vectorului rezultant, unghiul

    facut de acesta cu orizontala si lungimile proiectiilor sale pe cele doua axe.

    5. Realizati un program pentru adunarea, scaderea, inmultirea si impartirea a doua numere

    complexe.

    6. Intr-un text, sa se inlocuiasca toate spatiile (blanc) cu liniuta de subliniere (underscore)

    7. Fiind dat un cuvant, sa se transforme acesta astfel incat prima litera sa fie majuscula si restul

    literelor sa fie minuscule.

    8. Fiind dat un text, sa se verifice faptul ca toate caracterele din cadrul acestuia sunt

    minuscule.

    9. Sa se compare doua valori numerice a si b si sa se aprinda cate un LED pentru fiecare din

    situatiile a < b, a = b si a > b.

    10. Sa se verifice daca doua texte contin aceleasi caractere, in aceeasi ordine, indiferent detipul de litere (minuscule sau majuscule)

    11. Fiind dat un text ce reprezinta un nume si un prenume separate printr-un spatiu, sa se

    obtina din acesta un text continand cele doua intiale, fiecare urmata de cate un punct.

    12. Fiind dat un text, sa se determine numarul de caractere din acesta diferite de spatiu (blanc)

    13. Fiind dat un text, sa se verifice faptul ca acesta nu contine spatii libere

    14. Fiind dat un text ce reprezinta un nume si un prenume separate printr-un spatiu, sa se

    separe in doua texte, unul reprezentand numele si unul prenumele

    15. Fiind dat un text ce nu contine spatii, sa se verifice daca acesta contine intre sase si opt

    caractere.

    16. Sa se realizeze un program care sa aprinda un LED atunci cand utilizatorul introduce o

    valoare mai mare decat 5.

    33

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    34/97

    17. Sa se realizeze un program care, in functie de pozitia unui comutator boolean, sa calculeze

    fie suma fie produsul a doua valori numerice introduse de catre utilizator.

    18. Fiind date doua valori numerice reale a si b, sa se calculeze suma dintre dublul valorii mai

    mari si triplul valorii mai mici.

    19. Fiind dat un text ce reprezinta o propozitie, sa se verifice faptul ca punctul (.) apare o

    singura data, la sfarsitul acesteia.

    20. Sa se afiseze, in elemente indicatoare distincte, numerele de ore, minute si secunde scursede la pornirea calculatorului.

    21. Sa se afiseze, in elemente indicatoare distincte, numerele de zile, ore, minute si secunde

    scurse de la 1 ianuarie 1904, ora 12.00.

    22. Sa se afiseze, in diverse formate, un text reprezentand data si timpul curente ale

    calculatorului.

    23. Sa se realizeze un program in care utilizatorul sa introduca trei valori numerice (a, b si c)

    ordonate crescator.

    In functie de cum valorile respective au fost introduse corect (ordonate crescator) sau nu,programul sa afiseze o fereastra de dialog cu textul RASPUNS CORECT sau RASPUNSINCORECT.

    24. Sa se realizeze un program care sa aprinda sau nu un indicatorRound LED, in functie de

    raspunsul DA sau NU pe care utilizatorul il da la aparitia unei ferestre de dialog cu intrebarea

    Aprindem becul ?

    34

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    35/97

    1.3 Meniuri proprii in panou

    1.3.1 Meniuri proprii in panou

    Visible Items4Label - Afiseaza sau ascunde eticheta elementului. Continutul etichetei

    poate fi modificat cu unealta de editare a textelor

    Visible Items4Caption - Afiseaza sau ascunde eticheta suplimentara a elementului.Continutul etichetei poate fi de asemenea modificat cu unealta de editare a textelor

    35

    Pentru a deschide meniul propriu al unui

    element de control sau indicator, se pozitioneaza

    cursorul mouse-ului deasupra elementului si se apasabutonul 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 lesunt dedicate (numerice, booleene sau alfanumerice),

    elementele de pe panou au in meniurile proprii o

    serie de optiuni comune:

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    36/97

    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) care apare atunci cand cursorul mouse-ului este pozitionatdeasupra elementului

    Create4 - Creeaza in diagrama entitati suplimentare, atasate elementului de pe panou(vor fi discutate ulterior)

    Replace4 - Afiseaza paleta de controale, astfel incat utilizatorul poate selecta un

    element cu care sa il inlocuiasca pe cel current

    Data Operations4 - Permite stabilirea valorii implicite a elementului (Make CurrentValue Default), reinitializarea unui element la valoarea sa implicita (Reinitialize to

    Default Value) sau operatii de copiere a valorii elementului (Cut, Copy, Paste)

    Advanced4 - Modalitati de configurare avansata a elementelor (vor fi discutate inlectii ulterioare)

    EXERCITIU

    Exersati activarea urmatoarelor optiuni din meniul propriu al unui element de pepanou: Visible Items4Label, Find Terminal, Change to Indicator, Change to Control,

    Description and Tip..., Replace

    1.3.2 Meniuri proprii in diagrama

    Pe langa optiunea Change to Indicator (sau Change to Control) este adaugata sioptiunea Change to Constant, efectul acesteia fiind de inlocuire a elementului de

    36

    Atunci cand se deschide meniul

    propriu al unui terminal din diagrama, acestacontine aproape aceleasi optiuni ca si meniul

    elementului corespunzator de pe panou, cu

    urmatoarele deosebiri:

    Optiunea Find Terminal a elementuluide pe panou este inlocuita cu optiunea

    Find Control sau Find Indicator

    Apare optiunea suplimentara Hide

    Control (sau Hide Indicator). Efectul

    acesteia este ascunderea elementuluicorespunzator de pe panou

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    37/97

    control sau indicator cu o constanta (constantele pot exista doar in diagrama, astfel

    incat elementul de control sau indicator dispare de pe panou)

    In submeniul Createapar optiunile suplimentare Constant, Control siIndicator, efectul acestora fiind de adaugare (in diagrama sau in panou, dupa caz)a unei constante sau a unui element de control sau indicator de acelasi tip cuelementul al carui meniu propriu a fost deschis.

    EXERCITIU

    Utilizati urmatoarele optiuni din meniul propriu al unui terminal din diagrama: Find

    Control sau Find Indicator, Hide Control (sau Hide Indicator), Change to Constant,

    Create4Constant, Create4Control si Create4Indicator.

    1.3.3 Moduri de reprezentare a valorilor numerice

    37

    Meniurile proprii ale elementelor

    de control sau indicatoare numerice contino optiune specifica, Representation, cu

    ajutorul careia se specifica modul in care

    valoarea numerica respectiva este stocatain 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 pentrunumere complexe

    Intre diversele optiuni de pe o linie,

    diferenta consta in numarul de octeti

    (bytes) alocati in memorie pentrustocarea valorii respective:

    Figura 58

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    38/97

    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 octet

    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)

    Numarul de octeti alocati pentru stocare se reflecta in intervalul de valori in care poate

    exista valoarea respectiva sau in precizia acesteia:

    38

    Textul din interiorul

    terminalului unui element de

    control sau indicator numeric semodifica pentru a reflecta modul

    de reprezentare ales. In cazul in

    care valoarea numerica este una

    intreaga sau naturala, terminalulisi modifica de asemenea

    culoarea, din portocaliu in

    albastru.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    39/97

    EXERCITII

    Exersati modificarea moduui de reprezentare a unui element de control numeric.

    Observati in panou aparitia sau disparitia zecimalelor iar in diagrama modificareaculorii 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.

    1.3.4 Meniuri proprii specifice elementelor numerice

    39

    Elementele de control sau indicatoare numerice

    dispun in meniul propriu de doua optiunispecifice:

    >>> Data Range... pentru stabilirea unui interval

    de variatie particular >>> Format & Precision... pentru specificarea

    unui mod particular de afisare a valorii

    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.Figura 60

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    40/97

    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 intervaluluistabilit: daca in locul optiunii Ignore se selecteaza optiunea Coerce, elementul va forta

    ramanerea valorii intre limitele impuse. Fereastra suplimentara Data Range permite

    modificarea si din acest loc a modului de reprezentare a valorii numerice (Representation).

    Selectarea din meniul propriu a optiunii Format & Precision deschide 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 reprezentanumarul de secunde 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 reprezentarede tipul numar intreg sau natural, optiunea Format & Precision permite suplimentar si

    afisarea valorilor in sistem de numeratie hexazecimal, octal sau binar.

    40

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    41/97

    EXERCITII

    Dispuneti pe panou un element de control numeric de tipul Horizontal Pointer Slide

    si modificati valorile Minimum, Maximum si 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 Control si selectatioptiunea Format & Precision din meniul propriu al acestuia. Pentru formatul zecimal,

    modificati numarul de zecimale si notatia (stiintifica, inginereasca etc) si observati

    consecintele. Selectati apoi formatul timp - data cu diverse formate de afisare siobservati consecintele.

    1.3.5 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 de afisare:

    41

    Figura 62

    Figura 63

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    42/97

    optiunea Fill Options4 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 Scale4 dispune de o serie de submeniuri proprii pentru pozitionarea uniforma

    sau arbitrara a gradatiilor de pe scala (Marker Spacing 4), pentru stabilirea formatului

    de afisare a valorilor de pe scala (Format & Precision...), pentru alegerea variantei dedensitate a gradatiilor (Style 4) si pentru selectarea unei scale liniare sau logaritmice

    (Mapping 4)

    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 densitateagradatiilor de pe scala (Scale), apoi transformati tipul scalei in logaritmic (Mapping).

    1.3.6 Meniuri proprii specifice elementelor booleene

    42

    Figura 64 Figura 65

    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.

    Switch When Pressed modifica valoarealogica a elementului atunci cand se apasa

    butonul mouse-ului, iar valoarea ramane

    modificata si dupa eliberarea butonului

    Switch When Released modifica valoarealogica a elementului atunci cand se

    elibereaza butonul mouse-ului (dupa ce inprealabil a fost apasat), iar valoarea ramane

    modificata si dupa eliberare

    Figura 66

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    43/97

    Switch Until Released modifica valoarea logica a elementului atunci cand se apasa

    butonul mouse-ului, iar dupa eliberarea butonului valoarea elementului redevine ceadinaintea 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 fosttransmisa, acesta revine la valoarea dinaintea apasarii, chiar daca utilizatorul continua

    sa tina butonul mouse-ului apasat.

    Latch When Released modifica valoarea logica a elementului atunci cand seelibereaza 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 initialadoar in momentul in care se realizeaza o transmitere a valorii pe fluxul de date.

    EXERCITII

    1 Dispuneti pe panou un element boolean de control de tipul Vertical Toggle Switch si

    un element indicator de tipul Round LED. In diagrama, conectati intre ele terminalelecelor 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 transmisaelementului Round LED.

    2 Dati exemple de situatii in care fiecare optiune ar fi utila (de exemplu, optiunea LatchWhen Pressed este 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 fierepetata chiar daca utilizatorul intarzie sa ridice degetul de pe butonul mouse-ului).

    1.3.7 Meniuri proprii specifice elementelor alfanumerice

    43

    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 asterisk

    Hex Display: afisarea codurilor ASCII alecaracterelor

    In mod implicit, atunci cand se introduce un text intr-

    un element de control alfanumeric, elementul respectivse comporta in modul urmator:

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    44/97

    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 cas-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 dinpartea inferioara a meniului propriu:

    Limit to Single Line: confera ambelor taste Enter acelasi rol, de incheiere a

    introducerii textului. In acest mod, nu se mai poate trece la o linie noua prin apasareatastei 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

    1 Dispuneti pe panou un element alfanumeric de control si experimentati optiunilesuplimentare referitoare la afisare

    2 Activati optiunea Limit to Single Line si experimentati modul de lucru specific

    acesteia3 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 elementuluiindicator doar dupa apasarea tastei Enter "mare" Opriti rularea programului, activati

    optiunea Update Value while Typing a 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 maiastepta incheierea introducerii.

    1.3.8 Modificarea fontului unor elemente

    44

    Figura 67

    Pentru a modifica fontul cu care un

    element este reprezentat, se selecteazaintai 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

    Roman etc)

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    45/97

    EXERCITIU

    Dispuneti elemente de control si indicatoare pe panoul programului si modificati apoi

    fonturile cu care acestea sunt reprezentate.

    1.3.9 Ordonarea elementelor panoului si a diagramei

    45

    Figura 68

    Unui element i se poate aplica deasemenea un tip predefinit de font

    (Application, System, Dialog sau

    Current). Cele trei tipuri predefinitede fonturi pot fi la randul lormodificate daca se alege una din

    variantele:

    comanda Font Dialog... dinmeniul de configurare a

    textelor

    comanda Options... din meniul

    Tools, apoi se alege optiunea

    Fonts

    Figura 69

    In situatia in care se doreste alinierea mai

    multor elemente de pe panou sau a mai multor

    componente ale diagramei, se selecteazaobiectele respective apoi se deschide meniul

    de aliniere si 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

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    46/97

    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

    46

    Figura 70

    Distribuirea echidistanta a unor

    componente se realizeaza de asemenea prin

    selectarea acestora, urmata de deschidereameniului de distribuire si alegerea uneia din

    variantele:

    distribuire pe verticala, cu echidistantaconsiderata intre diverse limite

    superioare sau inferioare ale

    elementelor

    distribuire pe orizontala, cuechidistanta considerata intre diverse

    limite din stanga sau din dreapta ale

    elementelor

    Figura 71

    Atunci cand mai multe elemente sunt

    suprapuse, alegerea din meniul de ordonare

    a unei optiuni are drept urmare schimbareapozitiei "in adancime" a elementelor selectate:

    Move Forward = un pas inainte, Move

    Backward = un pas inapoi, Move To Front =trecere in planul cel mai apropiat, Move ToBack= trecere in planul cel mai indepartat

    Figura 72

    Selectarea mai multor componente si

    alegerea optiunii Group are drept efectselectarea intregului grup atunci cand una

    dintre componente este selectata

    ("desfiintarea" grupului se realizeaza cuoptiunea Ungroup). Selectarea uneia sau

    mai multor componente si alegerea optiunii

    Lock nu mai permite deplasarea sau

    modificarea dimensiunilor componentelor

    respective (anularea efectului se realizeazacu optiunea Unlock) Figura 73

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    47/97

    schimbare a pozitiei "in adancime" Exersati optiunile de grupare a mai multor elemente si de

    blocare a mutarii si dimensionarii

    1.3.9 Modificarea scalei sau cursorului

    Atunci cand cursorul mouse-ului este pozitionat nu deasupra unei limite ci deasupra

    unei gradatii intermediare de pe scala, efectul obtinut este acela de rotire a scalei in jurulcentrului elementului.

    EXERCITIU

    Dispuneti pe panoul programului elemente de control si indicatoare de genul celor

    mentionate mai sus si exersati asupra lor modificarile de design prezentate.

    47

    Daca se pozitioneaza cursorul mouse-ului deasupra unei limite a scalei unui

    element de control sau indicator de tipul unui

    potentiometru circular (Knob sau Dial), seapasa butonul stang al mouse-ului si se

    deplaseaza mouse-ul tinand butonul apasat,

    efectul obtinut este acela de modificare a

    unghiului la centru pe care scala estedispusa.

    Figura 74

    Daca se pozitioneaza cursorul mouse-

    ului in apropierea mijlocului scalei unui

    element de control sau indicator de tip Meter,

    iar dupa aparitia la mijlocul scalei a douasimboluri + se apasa butonul 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.

    Figura 75

    Cursorul unui element de control sauindicator 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.

    Figura 76

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    48/97

    1.3.10 Variabile locale

    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.

    48

    Selectarea, din meniul Create al unui

    element de control sau indicator, a optiunii

    Local Variable, va conduce la introducerea in

    diagrama a unei entitati suplimentare, numitavariabila locala.

    O variabila locala reprezinta o instanta

    a elementului corespunzator: o dublura aacelui element. Daca, la un moment dat, un

    element isi modifica valoarea, toate variabilele

    sale locale, indiferent de locul in care suntdispuse in diagrama, capata valoarea

    corespunzatoare. Figura 77

    Initial o variabila locala este o dublura

    a elementului din al carui meniu propriu a

    fost creata, numele acelui element fiindinscris 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.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    49/97

    Daca, din meniul propriu al variabilei locale, se selecteaza optiunea Change To Read,variabila locala devine element de control (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 Switch si un indicator boolean Round LED.Creati o variabila locala a elementului Vertical Toggle Switch.

    In diagrama, conectati terminalul elementului Slide Switch atat 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 Vertical Toggle Switch.

    1.3.11 Noduri de proprietati

    Selectarea, din meniul Create al unui element de control sau indicator, a optiunii

    Property Node, va conduce la introducerea in diagrama a unei entitati suplimentare, numita

    nod de proprietati.

    49

    Figura 78

    In mod implicit, atunci cand este

    creata, indiferent ca elementul pe care ilreprezinta este unul de control sau indicator,

    o variabila locala este un element indicator

    (contur subtire). In aceasta situatie, valoareacare 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 decontrol).

    Figura 79

    Nodul de proprietati al unuielement reprezinta o componenta prin

    intermediul careia, in timpul executiei

    programului, pot fi determinate (insens de "citire") sau modificate

    automat (scrise) anumite proprietati ale

    elementului respectiv.

    In mod implicit, atunci cand

    este creat, un nod de proprietati

    citeste starea 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 oreprezinta. Printre cele mai des

    utilizate proprietati se numara:

    Position: pozitia elementului pe

    panou, exprimata in pixeli peorizontala si pe verticala

    Bounds: dimensiunile

    elementului, exprimate in pixeli

    Visible: daca aceasta

    proprietate are valoarea False,

    elementul nu mai este afisat inpanou (desi continua sa existe

    si are terminal in diagrama)

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    50/97

    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"

    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 citire in starea de scriere, prinselectarea optiunii Change To Write din 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 Item din cazul variabilelor locale. In diagrama pot exista mai multe noduri deproprietati ale aceluiasi element.

    EXERCITII

    1 Dispuneti in panoul unei noi aplicatii un element de control boolean de tipul Vertical

    Toggle Switch si un element de control numeric. Creati un nod de proprietati alelementului numeric, treceti nodul respectiv in starea de scriere si conectati la el

    50

    Figura 80

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    51/97

    terminalul elementului boolean. Rulati programul cu optiunea Run Continuously,

    actionati comutatorul boolean, observati si explicati efectul.2 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 Disabled si 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 0 si introduceti un text in elementul String. Introduceti inelementul numeric valoarea 1 si 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.

    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.

    51

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    52/97

    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 fiedezactivat (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 implicitaNaN.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

    (un Vertical Pointer Slide si un Horizontal Pointer Slide), utilizatorul sa poata specificapozitia in panou a unui element indicatorRound LED.

    1.4 Structuri de programare

    1.4.1 Inserarea structurilor in diagrama

    52

    Structurile de programare suntcomponente ale diagramei ale caror simboluri se

    gasesc in subpaleta Structures a paletei de

    functii. In diagrama, o structura de programare

    urmeaza sa contina o serie de terminale deelemente, simboluri de functii si valori constante

    ce vor forma un flux de date in interiorul

    structurii. Daca, in momentul in care structuraeste aleasa din subpaleta Structures, o parte din

    elementele pe care urmeaza sa le contina se afla

    deja dispuse in diagrama, chenarul structuriipoate 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 butonulapasat: 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)

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    53/97

    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 incluse in structura.

    EXERCITIU

    Exersati inserarea unei structuri oarecare (de exemplu Sequence) indiagrama, trasand de la inceput chenarul sau in jurul unui grup deelemente. Mutati elemente din structura in afara sa si aduceti elemente dinexterior in interiorul structurii. Deplasati si dimensionati structura.

    1.4.2 Structura secventiala (Sequence)

    53

    Figura 81

    Atunci cand dispune de mai multe ferestre, fiecare

    dintre acestea cu propriul flux de date, o structura

    Sequence executa in ordine ferestrele respective.

    De exemplu, in figurile de mai jos sunt reprezentate doua

    ferestre ale unei structuri Sequence. Structura va executaintai fereastra cu indicele 0, trimitandu-se valoarea de laelementul de control Slide la elementul indicator Meter,

    apoi va executa fereastra 1 ce are ca efect transmiterea

    valorii booleene intre cele doua elemente.

    Atunci cand este dispusa in diagrama, o structura

    Sequence contine o singura fereastra, aceasta fiindtotodata si fereastra curenta (vizibila).

    Deschizand meniul propriu al structurii si alegand una din

    optiunile Add Frame After sau Add Frame Before, sepoate adauga o fereastra dupa sau inaintea celei curente.

    Daca o structura Sequence contine mai mult de o

    fereastra, atunci ferestrele primesc indici (numere de

    ordine) incepand cu 0, iar pe latura superioara a conturuluistructurii apare un selector prin intermediul caruia se

    poate trece de la o fereastra la alta.

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview

    54/97

    Daca, in una din ferestrele structurii, se conecteaza o valoare la variabila locala,

    fereastra respectiva devine fereastra sursa pentru acea variabila. In acea fereastra, simbolulvariabilei locale contine o fereastra indreptata spre exteriorul structurii. In ferestrele anterioare

    ferestrei sursa, simbolul variabilei locale devine hasurat, semn ca valoarea variabilei locale nu

    este accesibila in acele ferestre.

    54

    Figura 82

    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 injos) 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, cuoptiunea Delete This Frame. Atunci cand o structura

    Sequence contine cel putin doua ferestre, ordinea

    acestora poate fi schimbata: se modifica indiceleferestrei curente, selectand optiunea Make This Frame,

    apoi noul indice. Atunci cand se doreste transferul unei

    valori intre doua ferestre ale unei structuri Sequence,

    prin selectarea optiunii Add Sequence Local se dispunepe conturul structurii o variabila locala a acesteia (sub

    forma unui patrat galben).Figura 83

  • 8/3/2019 2011-2012_Introducere in Mediul de Program Are Labview