Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice
Acasa » referate » informatica » calculatoare
Prezentarea generala a programului LabView

Prezentarea generala a programului LabView


Prezentarea generala a programului LabView

Notiuni teoretice

LabView este pachetul software lider mondial in achizitia, prelucrarea, stocarea si afisarea datelor, cat si in domeniul controlului de proces. Programele dezvoltate in LABVIEW se numesc "Virtual Instruments" (VI's). Un VI's se executa pornind de la conceptul de programare a fluxului de date. Acesta inseamna ca, ca executia unui bloc sau a unei componente este dependenta de fluxul de date, sau mai exact un bloc se executa atunci cand datele sunt disponibile la toate terminalele de intrare definite pentru acest bloc. Date de iesire din bloc sunt apoi trimise la toate celelalte blocuri conectate la acesta. Programare bazata pe controlul fluxului de date permite ca mai multe operatiuni sa fie efectuate in paralel, executia unui bloc fiind determinata de fluxul de date si nu de catre o secventa de linii de cod.



Intrumente virtuale

Un VI are doua componente majore: panoul frontal (PF) si Diagrama Bloc (DB). PF ofera interfata grafica dintre program si utilizator, iar DB incorporeaza elementele grafice de cod. Cand un VI este instantiat intr-un bloc pe diagrama altui VI, se spune ca a fost utilizat ca subVI. VI-urile LabVIEW sunt modulare, ceea ce inseamna ca orice VI sau subVI poate fi rulat individul.

Panoul Frontal si Diagrama block

PF contine interfata cu utilizatorul pentru un VI definit in DB. Intrarile unui VI, sunt
reprezentat de controale: butoane, intrerupatoare, etc. Rezultate unui VI, sunt reprezentate de indicatori: grafice, LED-uri. Pe parcursul executiei unui VI pe PF controalele sunt folosite pentru a dirija executia, iar rezultatele sunt afisate in indicatoare.

O DB contine pictograme, noduri, fire si structuri. Terminalele cu pictograme sunt interfete care asigura schimbul de date intre PF si DB. Ele corespund indicatorilor sau controalelor care apar pe PF. Ori de cate ori un control sau un indicator este plasat pe un PF, un terminal cu o pictograma se adauga in DB. Un nod reprezinta un obiect care are conectori de intrare si/sau iesire si indeplineste o anumita functie. SubVI-urile si functiile sunt exemple de noduri. Firele stabilesc fluxului de date intr-o DB. Structurile de control sunt utilizate pentru a introduce in fluxul unui program iteratii si / sau executii conditionate. Figura 1-1 prezinta un PF si DB aferenta.

Fig 1.1 Panoul frontal PF si diagrama bloc DB

Pictograma si conectorul

Pictograma este o reprezentare grafica a unui VI . Ea apare in coltul din dreapta sus a ferestrelor DB sau PF. Cand un VI, este inserat intr-o DB ca subVI, pictograma sa este
afisata.

Conectorul defineste intrarile (controalele) si iesirile (indicatori) a unui VI. Numarul de intrari si iesirile pot fi schimbat folosind diferite modele conector prezentate in panoul
modele. In Figura 1-1, pictograma este afisata in partea din dreapta sus a DB si
conectorul corespunzator, care are doua intrari si o iesire, este afisat in aceeasi pozitie pe PF.

Mediul de programare grafica

Paleta de functii

Paleta de functii, prezentata in Figura 1-2, ofera diverse functii sau blocuri utilizate pentru a construi un VI. Aceasta paleta pote fi afisata prin efectuarea unui clic dreapta intr-o zona libera a DB. Retineti ca aceasta paleta pot fi afisata numai in DB.

Paleta de control

Paleta de control, este prezentata in Figura 1-2b, contine controale si indicatore pentru PF. Aceasta paleta poate fi afisata prin efectuarea unui clic dreapta pe o zona libera a PF. Retineti ca aceasta paleta pote fi afisata numai in PF.

Paleta de unelte

Instrumente din aceasta paleta sunt utilizate pentru a schimba diverse moduri de functionare ale cursorul mouse-ului in timpul construirii sau depanarii unui VI. Instrumentele din paleta de unelte precum si explicatiile pentru cele mai frecvent utilizate dintre acesta sunt prezentate in Figura 1-3.

Fiecare instrument este utilizat pentru o sarcina specifica. De exemplu, instrumentul de conectare este utilizat la trasarea legaturilor (firelor) in DB. In cazul in care Selectarea Automata a Uneltelor este activata, facand clic pe Automatic Tool Butonul de selectie, LabVIEW selecteaza cel mai "bun" instrument pe baza pozitiei curente a cursorului.

a

b

Fig 1.2  a) Paleta de functii; b) Paleta de control

Pictograma

Functie

Selectarea Automata a Uneltelor

Operare

Pozitionare

Editare text

Conectare

Proba

Fig 1.3  Paleta de unelte

Crearea unui Panou Frontal

In general constructia unui VI este un dute-vino intre PF si DB, interfata: intrarile, iesirile si diverse elemente estetice sunt plasate pe PF, iar blocurile de procesare si structurile pe DB.

Controale si indicatoare

Interfara intre VI si utilizator este definita folosind controale si indicatoare. Marimile de intrare sunt definite prin controale, iar cele marimile de iesire prin indicatoare. Principalele tipuri de controale si indicatoare sunt prezentate in Fig 1-4.

Meniu controale si indicatoare


String si path

Logic - boolean

Array si Cluster

Numeric

Fig 1-4. Controale si indicatoare

Alinierea, distribuirea si reordonarea obiectelor.

La plasarea unui control sau indicator pe PF o pictograma echivalenta apare in DB; in procesul de constructie al DB utilizatorul de multe ori creaza elemente ce au un echivalent pe PF si sunt plasate automat pe acesta. Toata acesta automatizare nu tine cont de o ordonare a PF sau DB ce poate avea efecte benefice la usurinta citirii datele pe PF sau a generarii legaturilor din DB. Bara de instrumente a PF si a DB, ofera optiuni de aliniere, ordonare si redistribuire obiecte pe PF. In mod normal, dupa ce a controalelor si indicatori sunt plasate pe un PF, aceste optiuni sunt utilizate pentru a ordona PF si DB. Aceste butoane sunt prezentate in Fig 1-5.

Aliniaza

Distribuie

Reordoneaza

Fig 1-5 Elemente de aliniere, distribuire si reordonare

Construirea unei diagrame bloc

O diagrama bloc este contine terminale (corespunzand indicatoarelor si controalelor definite pe PF), functii, structuri, alte subVI-uri si fire de legatura. In continure vom trece in revista pe rand aceste elemente si modul de creare si utilizare al acestora.

Terminale

Obiecte de pe PF sunt afisate ca pictograme in DB. Aceste elemente ale diagramei bloc se numesc terminale. O pictograma a unui terminal prezinta o intrare sau o iesire, precum si tipul datele sale. Figura 1-6 prezinta doua pictograme de terminale: un control si un indicatoar numeric in dubla precizie .

Fig. 1.5 Exemplu de pictograma a unui terminal

Fire

Fire asigura transferul de date de la un nod la altul in DB. Pe baza tipului datelor a sursa culoarea si grosimea firului de conectare se schimba. Fire pentru tipuri de date cel mai des utilizate in LabVIEW sunt prezentate in Figura 1-6. Pe langa aceste exista alte tipuri specifice de date. Pentru exemplu datele de tip waveform, care corespund cu datele de iesire dintr-o VI generator de forme de unda.

Tipul de fir

Scalar

1D Array

2D Array

Culoare

Numeric

Portocalii

(real)

Albastru (intreg)

Boolean

Verde

String

Roz

Fig. 1-6 Tipuri de fire

Structuri

O structura este reprezentata de o fereastra grafica ce separa o sectiune de cod ce este repetat sau executat conditional in functie de tipul structurii. Structurile cele mai des utilizate in Labview sunt "For Loop", "While Loop" si "Case".

Strutura "For Loop" este echivalentul instructiuni "for" din programare. Acesta structura este utilizata pentru a efectua un numar precis de iteratii. Asa cum este ilustrat in Figura 1-7a, o fereastra delimiteaza structura. Terminal reprezinta numarul de iteratii pe care le executa structura. Acesta este setat prin legarea cu un fir din exteriorul buclei. Terminal de iteratie , contine iteratia curenta la care se alfa structura si este intotdeauna initializat de la zero.

Strutura "While Loop", prezentata in figura 1-7b, permite efecturea de iteratii pana la indeplinirea unei conditii. Terminalul de conditie decide continurea () sau oprirea ()buclei in functie de indeplinirea unei conditii. Modificarea tipului de blucla ("continue if true" or "stop if true") se face prin efecturea unui clic dreaptea pe acest terminal. Alegerea acestei conditii trebuie facuta cu grija pentru a evita crearea unei bucle infinite. La fel ca la bucla for, terminalul de iteratie contine iteratia curenta a structurii.

Structura de tip "Case", prezentata in Fig 1-7c, permite executarea a diverse versiuni de cod in functie de valoarea terminalului de selectie . In afara de tipul boolean (care este implicit), terminalul de selectie mai poate fi intreg, string sau orice tip enumerat. Datele legate la acest terminal din exteriorul structurii determina care dintre versiunile de cod continute in ferestrele structurii Case vor fi executate. Selectorul structurii () arata versiunea de cod asociata unei anumite valori de selectie.

a

b

c

Fig. 1-7 Structuri: a) Foor Loop; b) While Loop; c) Case

Cazurile prezentate in selector pot fi adaugate sau sterse dupa necesitate, fiecarui caz fiindu-i asociata o fereastra distincta in interiorul structurii. La legarea de fire la conectoare in interiorul structurii Case porturi sunt create pe mariginea structurii ce au culoarea tipurilor de date aferente. Pentru a permite executarea structurii porturile corespunzatoare iesirilor din structura trebuie sa fie conectate la un terminal sau o functie in interiorul tuturor ferestrelor corespunzatoare cazurilor structurii.

Desfasurarea lucrarii

Afisati diferenta intre doua numere

Plasati pe panoul frontal doua controale si un indicator de tip numeric.

Pe Diagrama vor aparea echivalentele acestora. Observati diferentele intre reprezentarea indicatoarelor si controalelor. Din menul de functii numerice selectati functia de scadere si folosind cursorul corespunzator legati controalele la intrarile functiei si indicatorul de iesirea acesteia. Folosind combinatia de taste CTRL+H vizualizati helpul pentru functiile folosite si indicatii privind conectarea acestora.

In Labview culoarea obiectelor de pe diagrama indica tiplu datelor: . Pentru a schimba tipul unui control sau indicator numeric actionati cu butonul din dreapta al mouse-ului si din optiunea representaton selectati tipul dorit:

Schimbati tipul unui control si al indicatorului de pe diagrama curenta in intreg. Observati pe diagrama punctele aparute pe intrarea pe indicator si primitiva de diferenta. Acestea indica efectuarea unei conversii de date in punctul respectiv.

Implementati intr-un nou .vi expresia curent tensiune a unei jonctiuni

unde I0 este de ordinul 10-10, n intre 1 si 2 si Vth 0.025V. Pentru a modifica numarul de zecimale exacte al controalelor si indicatoarelor de pe panoul frontal actionati butonul din dreapta al mouse-ului si selectati optionea Format & Precison.

Creati un nou vi. Pe Diagrama din meniul de Functii->Structuri selectati structura Case si desenati aceasta structura precum in figura de mai jos:

Aceasta structura evalueaza datele de intrare in terminalul de selectie de caz si efectuaza codul din fereastra corespunzatoare cazului valid. Utilizind acesta structura realizati un VI ce foloseste un control de tip boolean pentru a realiza suma sau diferenta a doua numere. Pentru aceasta definiti doua controale si un indicator numeric si un control boolean. Pe diagrama legati controlul bolean de selectorul structuri case si in cele doua ferestre ale acesteia folositi primitivele de adunare si scadere. Observati ca la legarea de date de intrare si iesire intr-un case pe marginea acestuia apar porturi. Pentru a asigura o functionarea structurii indiferent de valoarea selectorului un port de iesire dintr-o strucutra case trebuie sa aiba date valide in oricare dintre cazurile definite. Daca acest lucru nu se intampla programul va returna eroare si portul va arata precum in CAZ-ul 1 din figura de mai jos. In CAZ-ul 2 toate porturile sunt conecate corect si programul poate rula. (In cazul porturilor de intrare nu este necesara folosirea acestora in toate cazurile definite.)

Stergeti contolul boolean de pe panoul frontal si inlocuti-l cu unul numeric te tip natural. Observati ca numele cazurile structuri case s-a schimbat o data cu schimbarea tipului de date foosite pentru selectie. Actionand butonul din dreapta al mouse-ului adaugati mai multe cazuri pentru structura case pentru a extinde functionalitatea programului pentru alte operatii decat cea de adunare si scadere. Observati ca unul din cazuri este marcat ca Defaul. Cand tipul selectorul permite un numar mare de valori posibile, cazul marcat ca Defaul este cel executat in cazul in care valoarea pe care o ia selectorul nu este definita explicit in structura case. O asemena strucutura nu va rula daca nu este definit un caz ca fiind default si oricare dntre cazuri poate fi cazul default prin selectarea acestui caz, actionarea butonului dreapta al mouse-ului pe marginea structurii case si alegerea optiunii "Make This The Default Case". Modificati VI-ul astfel incat structura CASE sa realizeze in functie de valoarea terminalului de selectie urmatoarele operatii:

  • 1 - sum
  • 2 - diferenta
  • 4 - radical primului control numeric
  • inmultire
  • 6 - patratul celui de-al doilea control numeric
  • orice alta valoare - media aritmetica

Pe un nou VI pe diagrama desenati o structura de tip FOR LOOP. Aceasta bucla executa N iteratii folosind un contor de la 0 la N-1.

Pe o asemenea structura se pot definii registre cu shiftare (shift register). Aceste registre de dimensiune reglabila se comporta ca niste stive de tip First-In-First-Out si permit accesul in cadrul iteratiei curente la date introduse in registrul in cadrul iteratiilor anterioare. Pentru a definii un shift register actionati butonul dreapta al mouse-ului pe una dintre lateralele structurii FOR si alegeti optiunea "Add shift Register". Dimesiunea registrul se poate schimba prin actionarea butonului din dreapta al mouse-ului pe un registru si alegea optiunii "Add Element". Pentru a putea avea acces la datele dintr-un registru si la iteratia 0 orice registru toate elemente registrulu trebuie initializate.

Realizati un .vi ce calculeaza elementul N din sirul lui Fibonacci pentru N>1: F(N)=F(N-1)+F(N-2) si F(0)=0, F(1)=1., folosind o structura FOR LOOP cu un registru de siftare de dimensiune 2.

Realizati pe acelasi VI calcului lui F(N) folosind o structura WHILE LOOP, folosind acelas control N ca si structura FOR LOOP si comparati rezultatele.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.