Sunteți pe pagina 1din 243

1.

INTRODUCERE N INSTRUMENTAIA VIRTUAL


Ca si n cazul calculatoarelor si al sistemelor de operare, ideea instrumentatiei
virtuale s-a nascut n mintea unui tanar (James Trouchard), pe cand era
doctorand la University of Texas, in Austin USA, iar Hewlett-Packard introducea
pe piata un computer nou ce putea culege date din masuratorile efectuate cu
instrumente ale aceleasi firme.
Trouchard a avut ideea ca in locul unui instrument gata facut, ce costa destul de
mult, sa realizeze instrumente pe care chiar utilizatorii sa le poata ansambla in
propriul calculator folosind o placa si un software. Asa s-a nascut
Instrumentatia Virtuala si odata cu ea Compania National Instruments pe care
James Trouchard a fondat-o in 1976. Solutia propusa de Trouchard permite
astazi multor firme sa depaseaca cu usurinta decalaje tehnice i tehnologice,
pentru eliminarea crora ar fi necesare investiii uriae. Exist un singur
obstacol: creatorul, dar i utilizatorul unui instrument virtual, nu mai poate fi
inginerul sau muncitorul anilor trecui.

Instrumentele virtuale sunt combinaii de elemente hardware i/sau software, utilizate


cu un PC, care au funcionaliti similare instrumentelor tradiionale, clasice, de sine
stttoare.
Pe panoul frontal al unui instrument virtual, se vor gsi butoane, comutatoare, ecrane,
afisaje digitale, indicatoare grafice, e.t.c. cu acelasi aspect ca al instrumentelor clasice .
Un instrument virtual este compus deci, dintr-o parte hardware si o parte software care
permite configurarea instrumentului dupa dorinta utilizatorului.
Prin termenul de Instrumentaie Virtual se nelege utilizarea unui computer, dotat cu
echipamente periferice de intrare i ieire specializate, pentru a simula caracteristicile i
funcionarea unui instrument sau sistem de msurare, de testare sau de nregistrare a
datelor.
Instrumentele virtuale fac uz de traductoare si senzori pentru a intra n contact cu
mrimea fizic msurat, de eventuale sisteme de condiionare a semnalelor, precum i
de circuite pentru conversia analog - digital.
Diferena n raport cu sistemele de msurare "clasice" este aceea c de aceasta dat
toate funciunile de prelucrare i analiz a valorilor msurate, de stocare a acestor
informaii i de transmitere a lor ctre utilizatorul uman sunt realizate de ctre computer i
nu de ctre aparatura dedicat.
Aplicaiile software nlocuiesc astfel componente estimate a reprezenta 80% din circuitele
unui aparat de msurare sau testare specializat "clasic".

Software-ul care realizeaz aceste funciuni posed n majoritatea cazurilor o interfa


grafic avnd acelai aspect ca i cel al panoului frontal al unui aparat de msurare.
Acesta este motivul pentru care aplicaiile respective sunt numite Instrumente Virtuale.
In sistemele de msurare computerizate cu instrumente virtuale, natura mrimilor fizice
msurate dicteaz doar configuraia componentelor de genul traductoarelor i n unele
cazuri a condiionatoarelor de semnal. In aval de acestea, dup convertorul analog digital, informaia referitoare la valoarea mrimii msurate este procesata doar prin
intermediul componentelor software.
Dac, de exemplu, un semnal de tip tensiune electric necesit att vizualizarea
variaiei n timp ct i determinarea spectrului de frecvene, utilizarea instrumentaiei
virtuale permite folosirea aceluiai sistem de msurare. Se nlocuiete doar aplicaia de
prelucrare a semnalului sau se construiete o aplicaie care s afieze simultan, ntr-o
fereastra unic, ambele informaii necesare. Mai mult, acelai sistem de msurare, dar
cu o aplicaie software diferita, poate fi utilizat ca voltmetru, ca instrument de stocare a
datelor sau ca sistem de avertizare.
Apariia instrumentelor virtuale a permis astfel ca mai multe aparate de msurare sau
testare specializate sa poat fi nlocuite printr-o singur configuraie hardware de
sistem de msurare computerizat, completat apoi cu diverse aplicaii software.

De aici deriv unele dintre avantajele utilizrii Instrumentaiei Virtuale:


- flexibilitatea sporit a configuraiilor sistemelor de msurare;
- fiabilitatea crescut a componentelor;
- precizia crescut a prelucrrii informaiei;
- capacitatea de a efectua prelucrri de mai mare complexitate;
- costul mult redus n raport cu aparatele clasice.
Aplicaiile instrumentaiei virtuale nu se rezum doar la msurarea de mrimi fizice
analogice. Rezidente n sisteme computerizate, instrumentele virtuale pot fi folosite
drept generatoare de semnale analogice, pot manipula bidirecional semnale digitale i
pot efectua operaiuni de numrare/cronometrare sau de generare de trenuri de
impulsuri.
Instrumentele virtuale pot transforma un computer n "centrul de comand" al unei
reele de zeci de aparate de msura capabile sa comunice prin protocolul GPIB. Seturi
de instrumente virtuale specializate pot efectua funcii de comand a motoarelor pas cu
pas sau operaii evoluate de prelucrare i analiz a imaginilor sau sunetelor.
Sistemele de instrumentaie virtual nu se rezum astfel doar la a nlocui aparatele de
msurare utilizate n aplicaiile din laboratoarele de cercetare sau didactice, ci devin
unelte complexe i puternice de monitorizare i control ale proceselor industriale.

Un sistem de instrumentaie virtual nu trebuie neles ca fiind majoritar rezident ntr-un


computer. In laboratoarele de cercetare se utilizeaz ndeosebi plci multifuncionale
de achiziie de date montate n PC-uri, coninnd multiplexoare i convertoare A/D i
D/A. Sistemele de achiziie "Real Time" i ndeplinesc funciunile i n timpul
"cderilor" sistemului de operare sau al resetrilor computerului gazd.
In multe categorii de sisteme distribuite, multiplexoarele i convertoarele au "migrat"
din computer n zona condiionatoarelor de semnal, nsoite de o interfa serial.
Computerul gestioneaz astfel o reea de puncte de msurare, mult mai numeroase
dect ar fi permis varianta sub forma analogic.
Sistemele dedicate uzului industrial, din gama PXI, utilizeaz computere de proces
(controllere), avnd configuraii i caracteristici de funcionare specifice i dispunnd de
o ntreag gam de posibiliti de comunicaie ce includ protocoalele serial, Ethernet,
SCSI, GPIB (IEEE 488), PCMCIA, CAN i DeviceNet.
Facilitile oferite de hardware-ul de achiziie de date i control de proces nu ar putea fi
puse n valoare fr existena unui software adecvat. n acest sens se folosete mediul
LabVIEW (LABoratory Virtual Instrument Engineering Workbench) un mediu de
programare bazat pe limbajul de programare grafic G, produs de Firma National
Instruments (NI).

Avantajul folosirii mediului de programare grafica LabVIEW n instrumentaia virtual const n


abordarea n mediu unitar a dezvoltrii aplicaiilor pentru configuraii hardware diverse i
protocoale de comunicaie dedicate interaciunii cu procese (ncepnd de la cele mai simple pana
la procese industriale de mare complexitate).
Funciunile mediului de programare grafic LabVIEW de transmitere a informaiei prin intermediul
diverselor protocoale de comunicaie specifice Internet-ului vor face posibil un salt calitativ n
dezvoltarea utilizatorilor spre folosirea de laboratoare virtuale i spre monitorizarea i comanda la
distan a proceselor.
n concluzie, se poate aprecia c Instrumentaia Virtual are, datorit flexibilitii i versatilitii
sale, un potenial imens pentru cei ce lucreaz n domeniul educaiei, tiinei i tehnologiei,
indiferent de gradul lor de specializare sau de nivelul de calificare. Instrumentele i aparatele vor
deveni din ce n ce mai ieftine i mai performante, software-ul va putea fi dezvoltat n mas, chiar
de ctre programatori neprofesioniti, iar aplicaiile realizate vor avea un grad mare de
accesibilitate datorit facilitilor de comunicaie existente.
Astzi, utilizatorul introduce o placa de achizitie date in computer si cu ajutorul soft-ului de
programare grafica isi configureaza instrumentul de masurare si in plus poate crea si cate
inregistratoare grafice doreste. Toata partea fizica a lantului de masurare aflandu-se pe o placa
controlata de microprocesorul computerului, utilizatorului nu-i ramane decat sa se conecteze la
traductoarele specifice marimii de masurat si sa stie sa manevreze un mouse. Reprezentarea
instrumentelor fizice se face pe monitorul computerului cu ajutorul elementelor grafice existente in
biblioteca limbajului de programare grafica.

Din punct de vedere al domeniului de utilizare, sistemele de instrumentaie virtual pot fi


clasificate n:
sisteme pentru testare i msurri;
sisteme de control automat al proceselor;
sisteme pentru efectuarea de cercetri tiinifice.
Din punct de vedere al modului n care poate funciona un instrument virtual exist dou variante:
modul de lucru live, n care se configureaz fizic echipamentul de msurare, cuplat la sistemul
de calcul i care achiziioneaz date din procesul studiat, urmat de procesul de analiz,
interpretare i afiare a rezultatelor;
modul de lucru not live (simulare), n care se poate doar simula funcionarea echipamentului
de msurare asupra eantioanelor unor semnale generate prin mijloace software.
Exista doua posibilitati de a lucra cu instrumentatia virtuala:
doresti sa-ti creezi singur instrumentele necesare si atunci trebuie sa cunosti limbajul de
programare grafica si sa dispui de acesta (necesarul de timp minim pentru invatare ar fi de 30
de ore);
doresti sa fii numai utilizator de instrumentatie virtuala, si atunci trebuie sa-ti cumperi de la un
dezvoltator de aplicatii un program executabil ce va face numai ceea ce iti doresti.

Avantajele instrumentatiei virtuale fa de instrumentele tradiionale:


ocupa un spatiu mic (practic un computer si un monitor);
poate fi cu elemente distribuite (pot masura in mai multe locuri odata);
datele se pot transmite prin internet (laboratorul de masurare se poate afla intr-un anume loc iar analiza
rezultatelor se poate face in cu totul alta parte);
instrumentele nu mai ocupa un spatiu fizic (o magazie) ci sunt stocate in memoria computerului;
flexibilitate maxima privind configurarea instrumentelor (oricand se poate sterge un instrument din memorie si
se poate face altul, se pot adauga elemente de comanda sau indicatoare, canale sau memorie);
dispar practic problemele legate de murdarirea comutatoarelor sau imperfectiunea conexiunilor;
costurile privind achizitia de aparate si intretinerea lor se reduc foarte mult, tinand cont ca o singura placa
multifunctionala de achizitie date, impreuna cu softul aferent poate inlocui o multime de alte instrumente fizice
dedicate;
interfata grafica foarte prietenoasa cu utilizatorul;
timpul relativ mic de invatare a limbajului de programare grafica;
multimea de instrumente virtuale gata construite pentru a masura, a face analiza semnalului, a-l prelucra si al transmite oriunde doreste utilizatorul;

Instrumentaie Virtual cu LabVIEW


Laboratory Virtual Instruments
Engineering Workbench

LabView este un limbaj de programare grafic (limbaj G) care folosete diagrame bloc n loc de
linii de text pentru a crea aplicaii.
Este destinat n special, construirii de aplicaii pentru controlul i achiziia de date, analiza
acestora i prezentarea rezultatelor
LabView a fost dezvoltat de firma National Instruments, prima variant a programului aprnd n
anul 1986. n prezent s-a ajuns la versiunea a 8-a a programului. Denumirea sa provine dintr-o
prescurtare din limba englez: Laboratory Virtual Instruments Engineering Workbench.
Noutatea adus de LabView, comparativ cu limbajele de programare clasice (Pascal,
C,C++,BorlandC++), este rapiditatea programrii datorit introducerii unei interfee grafice mai
intuitive.
Mediile de programare grafic nltur necesitatea cunoaterii unui limbaj de programare. n
locul descrierii algoritmului de calcul sub forma unui set de instruciuni n format text, ntr-un
mediu de programare grafic algoritmul este descris desenndu-l sub forma unei scheme
logice (organigram, diagram). Dispare astfel necesitatea memorrii unor nume de instruciuni
i a unor reguli complicate de sintax, iar riscul de apariie a erorilor de programare scade
drastic. Modul n care algoritmul este descris este astfel mult mai intuitiv, un program putnd fi
neles mult mai uor i de ctre ali programatori dect cel care l-a conceput.
LabVIEW este cel mai rspndit i mai evoluat mediu de programare grafic.

Dei LabVIEW este un instrument foarte puternic de simulare, acesta este cel mai adesea
folosite pentru achiziia, analiza i prezentarea datelor de la diferite surse externe, coninnd n
librria sa, multe instrumente virtuale special dedicate acestui scop.
De exemplu LabVIEW poate comanda plci de achiziie pug-in sau pe USB pentru achiziia sau
generarea semnalelor analogice i numerice.
S-ar putea utiliza plcile DAQ i LabVIEW pentru a monitoriza temperatura, trimite semnalele de
la un sistem extern, sau determinarea frecvenei unui semnal necunoscut.
LabView permite achiziia semnalelor de la o varietate de echipamente. Se pot achiziiona date
de la instrumente GPIB, seriale, Ethernet, PXI i VXI, folosind driverele incluse. Exist
posibilitatea comunicrii cu mai mult de 1400 instrumente aparinnd a 150 de productori,
folosind driverele de comunicaie LabView. Programul ofer performan i portabilitate ridicate.
Driverele de comunicaie simplific controlul instrumentelor i timpul de dezvolatare a noi
aplicaii, eliminnd necesitatea de a nva protocoale de programare pentru fiecare instrument
n parte. Multe drivere folosesc Visual Instrument Software Architecture (VISA) pentru a
comunica cu o gam de bus-uri de comunicaie, cum ar fi GPIB sau serial, folosind acelai cod
LabView. Indiferent pe ce tip de bus este instrumentul, driverele VISA preiau controlul
protocoalelor de comunicare respective.

Achiziie, Analiz i Prezentare


Aproape toate aplicaiile de msurare, testare i control, pot fi mprite n 3 mari
componente: capacitatea de achiziie, analiz i prezentare a datelor. LabVIEW
este cel mai puternic i mai simplu instrument pentru achiziia, analiza i
prezentarea datelor din lumea real.

Achiziia cu LabVIEW

LabVIEW este strns


integrat cu toate
componentele hardware
NI, i n plus se poate
conecta la mii de
dispozitive I/O de la alte
sute de furnizori.

LabVIEW poate achiziiona date utiliznd


urmtoarele dispozitive i multe altele:
GPIB, Serial, Ethernet, VXI, PXI Instruments
Data Acquisition (DAQ)
PCI eXtensions for Instrumentation (PXI)
Image Acquisition (IMAQ)
Motion Control
Real-Time (RT) PXI
PLC
PDA
Instrumente modulare

Tipuri de magistrale de proces, pentru interconectarea


instrumentelor programabile, cu un sistem de calcul
GPIB (General Purpose Interface Bus - magistral de interfaare de uz general) este
specializat pentru comunicaie cu instrumente programabile. Este standardul cel mai
utilizat pentru controlul instrumentelor programabile de catre sistemele de calcul. Rolul
dispozitivelor GPIB poate fi de a trimite mesaje, de a primi mesaje si/sau de a monitoriza
comunicatiile pe retea. Este disponibil pentru diverse platforme (PC, IBM, MacIntosh,
etc.) i ofer o rat de transfer de 1 Mbyte/secund. Protocolul de comunicaie este
specificat de standardul industrial IEEE-488 (protocol pe 8 bii, comenzi tip ASCII,
maximum 14 instrumente aflate la cel mult 20m). O dezvoltare ulterioar, HS-488, a
crescut rata de transfer la 8 Mbytes/secund;
RS-232, RS-422, RS-485 sunt utilizate n special la sisteme personale de calcul. Sunt
destinate comunicaiilor seriale sincrone/asincrone ntre instrumente, oferind o imunitate
ridicat la zgomotul din mediul industrial. Dezavantajul major este rata de transfer redus
(sute de kbits/secund). Protocolul de comunicare poate fi ASCII sau un protocol special
al instrumentelor ce se interconecteaz. Ceea ce le difereniaz este distana de
interconexiune (de la 15m la RS-232, la 1200m la RS-485), care este mrit prin
amplificri suplimentare pe intrri/ieiri. Interfaa RS-485 permite legturi multi-punct
(daisychain), deci economii importante de cablu;

SCXI (Signal Conditioning eXtensions for Instruments): reprezint o platform de nalt


performan pentru condiionarea sau direcionarea semnalelor din sistemele de
msurare sau automatizare. Utilizat pentru msurri directe sau prin intermediul
senzorilor, pentru generarea de semnale n tensiune sau curent, pentru manipularea
semnalelor digitale sau pentru direcionarea unor semnale, gama de produse SCXI
ofer o platform unic, integrat, ce satisface toate necesitile. Un sistem SCXI const
din module multicanal de condiionare instalate n unul sau mai multe asiuri. asiul
(sau unul dintre asiurile sistemului) este conectat la o plac de achiziie de date.
Aceste module, montate sub form de rack (dulap cu sertare de conexiuni modulare),
sunt utilizate deci, la condiionarea semnalului. La intrare, se admit semnale provenite
de la traductoare, cum ar fi: termocupluri, termistoare, mrci tensometrice etc, iar la
ieire se obin semnale permit efectuarea analogice (cureni sau tensiuni) sau semnale
numerice. Se utilizeaz module de filtrare, liniarizare, izolare galvanic, ieiri de putere,
etc.; Condiionatoarele de semnal SCXI au un design integrat care simplific instalarea
i configurarea maximiznd performanele. Modulele SCXI msurrilor cu o gam larg
de senzori i tipuri de semnale, permind o palet larg de combinaii pentru formarea
unui sistem de msurare.

PXI (extensie PCI pentru instrumentatie): PXI reprezinta o platforma pentru sisteme de masurare si
automatizare, bazata pe PC. Instrumentatia modulara PXI profita de avantajele magistralei de mare
viteza PCI (Peripheral Component Interconnect), care reprezinta standardul de facto ce dirijeaza
proiectarea in domeniul calculatoarelor PC, atat ca hardware cat si ca software. In consecinta, utilizatorii
de PXI pot sa beneficieze de toate avantajele PCI in cadrul uneri arhitecturi ce adauga caracteristici
mecanice, electrice si de software, potrivite pentru aplicatiile de masura, achizitie de date si automatizari
industriale. Bazat in intregime pe un stadard industrial deschis, instrumentatia modulara PXI reprezinta o
solutie eficace, deoarece combina arhitectura electrica de mare viteza a PCI cu o carcasa industriala de
nalta fiabilitate, functii de sincronizare si temporizare incorporate si deplina interoperabilitate cu
CompactPCI. Dimensiunea redusa a sistemului PXI este ideala pentru o larga varietate de aplicatii
portabile, cu montare pe birou sau in rack, pentru testare, masuratori, culegere de date si automatizari
industriale.
n sistemul PXI exista asiuri (cu 4, 8 sau 18 sloturi), controlere, placi de achizitie de date, placi de achizitie
de date in timp real, surse de semnal, module I/O digitale, placi de achizitie de semnal dinamic,
numaratoare/ temporizatoare de 32 biti, instrumente dedicate, comutatoare, placi de achizitie si prelucrare
de imagine, placi de control al miscarii, interfete de comunicare seriale, CAN, DeviceNet, Ethernet, GPIB,
etc.
VXI (VME eXtension for Instrumentation, unde VME reprezint VESA Module Eurocard) reprezint un
standard de instrumentaie ale crui baze au fost puse nc din 1987 i are ca obiectiv creterea
interoperabilitii diverselor instrumente. Structura sa modular permite o integrare att din punct de
vedere electronic, ct i mecanic, conferindu-i denumirea de standard pentru instrument pe cartel.
Specificaiile VXI grupeaz norma IEEE-488 i norma VME, prima remarcndu-se prin compatibilitatea
ntre constructori diferii, iar cea de-a doua prin rapiditate.

Plcii GPIB ale firmei NI

Sistem GPIB tipic

Analiz cu LabVIEW

O analiz intens a
msurrii este realizat n
mediul de dezvoltare
LabVIEW.

LabVIEW include urmtoarele instrumente cu


ajutorul crora pot fi analizate datele:
Mai mult de 400 de funcii de analiza msurrii
pentru: Ecuatii Diferentiale, Optimizare, Curbe,
Calcul, Algebra Liniara, Statistic, etc.
12 noi VI-uri Express special proiectate pentru
analiza msurrii, inclusiv filtrare i analiz
spectral.
VI-uri pentru procesarea semnalelor (Filtrare,
Ferestruire, Analiz Armonic, Analiz spectral,
e.t.c.).

Prezentare cu LabVIEW
LabVIEW include urmtoarele
instrumente utilizate pentru
prezentarea datelor:
Prezentarea cu
LabVIEW poate fi
facuta pe PC sau
printr-o reea.

On your machine Graphs, Charts,


Tables, Gauges, Meters, Tanks, 3D
Controls, Picture Control, 3D Graphs
(Windows Only), Report Generation
(Windows Only)
Over the Internet Web Publishing
Tools, Datasocket (Windows Only),
TCP/IP, VI Server, Remote Panels, Email

LabVIEW Everywhere
Sensor
Embedded
(FPGA)
Handheld
Wireless
Networked I/O
PC Boards
Industrial Computer (PXI)
Tektronix Open Windows
Oscilloscopes
PC, Mac, Linux, Sun
Workstation

Fapte istorice
1983 ncepe proiectul LabVIEW
1986 LabVIEW pentru Macintosh
1990 LabVIEW 2.0 i 2 brevete
1992 LabVIEW pentru Windows i Sun
1993 LAbVIEW 3.0
1994 LabVIEW pentru Windows NT i 2 noi brevete
1995- 2000 LabVIEW pentru Windows 95/98, LabVIEW 5.0
2001 LabVIEW 6i pentru Windows 2000/NT/ME
2003 LabVIEW 7.0 pentru Windows XP
2006 - LabVIEW 8.0 pentru Windows XP
2009- LabVIEW 2009 pentru Windows 7

2. Introducere n LabVIEW
SUBIECTE
A. LabVIEW
B. Mediul LabVIEW
C. Panoul Frontal
D. Diagrama Bloc
E. Programarea Fluxului de Date
F. LabVIEW Help
G. Depanarea unui VI

A. Instrumente Virtuale (VI)


Panou Frontal
Controale = Intrri
Indicatoare = Ieiri

Diagrama Bloc
Program ce nsoete
panoul frontal
Componentele sunt legate
mpreun

Aplicatiile (programele) realizate in LabVIEW poarta denumirea de Instrumente


Virtuale (n 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 instrumente electronice - de unde si motto-ul corporatiei National
Instruments: The software is the instrument primind astfel denumirea de
Instrumente Virtuale.
Fiecare VI conine 3 pri principale:
1. Panoul Frontal permite interacionarea utilizatorului cu VI-ul.
2. Diagrama Bloc Codul care controleaz programul.
3. Icoana/Conectorul Mijloc de conectare a VI-ului cu alte VI-uri.
Utilizatorul poate controla programul, poate modica intrrile i poate urmrii updatarea
datelor n timp real.
Fiecare control sau indicator al panoului frontal are un terminal corespunztor n
diagrama bloc. Cnd un VI ruleaz, valorile controalelor trec n diagrama bloc, unde
sunt utilizate n funcionarea diagramei, iar rezultatele sunt trecute n alte funcii sau
indicatoare.

B. Mediul LabVIEW

Creating a new VI
To open a blank VI
Select FileNew VI
Click the arrow on the New
button and select Blank VI
To open the New dialog box
Select FileNew
Click the New button

Panoul Frontal (PF) al VI-ului


Uneltele (PF)

Control
Boolean

Icoan

Legenda
Graficului

Indicator
Grafic
Plot
Legend

Legenda
Scalei

Diagrama Bloc (DB) a VI-ului


Uneltele
DB

Funcia
Divide

SubVI
Terminalul
Grafic
Fire
de date

Structur
While Loop

Constant
Numeric

Funcia
Timing

Terminalul
Control Boolean

Front Panel and Block Diagram Toolbars


Run button

Font ring

Continuous Run button

Alignment ring

Abort button

Distribution ring

Pause/Continue button

Resize ring

Warning indicator
Enter button
Broken Run button

Reorder ring
Additional Buttons on the Block
Context Help Button
Diagram Toolbar
Execution Highlighting button
Step Into button
Step Over button
Step Out button

Tools Palette
LabVIEW automatically selects the tool needed
Available on the front panel and the block diagram

A tool is a special operating mode of the mouse cursor


Use the tools to operate and modify front panel and
block diagram objects
To show the tools palette, select
WindowShow Tools Palette

Front Panel Controls Palette

Controls Palette
Contains the most commonly used controls

All Controls Palette


Shows all controls

Block Diagram Functions Palette

Functions Palette
Contains the Express VIs (interactive VIs with
configurable dialog page) and the most commonly used
functions

All Functions Palette


Shows all functions

Searching for Controls, VIs, and Functions


Press the search button to
perform text searches of the
palettes
Click and drag an item from
the search window to the
block diagram or
double-click an item to
open the owning palette

Shortcut Menus for Front Panel Objects


Right-click the digital display to
access its shortcut menu
Right-click the label to access
its shortcut menu

C. Crearea unui Panou Frontal


Panoul Frontal se construiete cu controale (intrri)
i cu indicatoare (ieiri)

Etichete
Butoane pentru
incrementare

Control
Boolean

Indicator
Boolean

Indicator
Numeric

Control
Numeric

Shortcut Menus for Front Panel Objects


Right-click the digital display to
access its shortcut menu
Right-click the label to access
its shortcut menu

Property Page
Right-click a control or
indicator on the front panel
and select Properties from
the shortcut menu to
access the property dialog
box for that object

D. Crearea unei Diagrame Bloc


Panou Frontal

Diagrama Bloc
Control
Terminals

Indicator
Terminals

Wires

Nodes

VI-uri Express, VI-uri Standard i Funcii


VI-uri Expres : VI-uri interactive cu pagin dialog configurabil, ce permite utilizatorului modificarea
funcionalitii VI-ului expres.
VI-uri Standard : VI-uri modularizate realizate prin fire de legtur. Au PF i DB
Funcii: elemente fundamentale de operare n LabVIEW; Nu au PF sau DB

Funcie

VI Expres

VI Standard

Elementele utilizate la realizarea diagramei bloc


Terminale
Fire
Noduri
Terminalele reprezint pori prin intermediul crora se realizeaz transferul datelor:
-ntre panoul frontal i diagrama bloc (bidirectional);
-ntre nodurile diagramei bloc (unidirectional).
Exist dou tipuri de terminale :
-terminale surs;
-terminale destinaie.
Firele, definesc i reprezint grafic, fluxul datelor (ntre noduri se realizeaz schimbul
de informaii) n diagrama bloc. Fluxul datelor este de la terminalele surs spre
terminalele destinaie. Firele codific prin culoare i stilul liniei tipul datelor
transmise; poziionand unealta de interconectare deasupra unui fir, care realizeaz
o legtur valid, se obine n fereastra de asisten descrierea tipului de dat care
se transmite pe acea cale.

Nodurile sunt elemente de execuie din programul G. Ele corespund operatorilor,


funciilor predefinite, instruciunilor i subrutinelor realizate de utilizator din
limbajele de programere bazate pe text. Exist patru tipuri de noduri:
-funcii
-subIV
-codul interfeei nodurilor (CIN)
-structuri
Funciile sunt elemente constructive ale nodurilor care cresc performana
operaiilor elementare: de exemplu adunarea numerelor.
SubIV sunt instrumente virtuale create anterior i care se introduc n diagrama
bloc a altor instrumente.
CIN reprezint interfaa dintre diagrama bloc i codurile scrise n limbajul C.
Structurile sunt elemente de control ale programului. Ele controleaz transferul
datelor n interiorul instrumentului virtual.

Block Diagram Nodes


Icon

Expandable Node

Function Generator VI
Same VI, viewed three different ways
Yellow field designates a standard VI
Blue field designates an Express VI

Expanded Node

Block Diagram Terminals


Terminals are entry and exit ports that
exchange information between the
panel and diagram
Terminals are analogous to parameters
and constants in text-based
programming languages
Right-click and toggle View As Icon to
change the icon view

Legturi (fire) n DB

Dynamic

Albastru

Wiring Techniques

Hot Spot

Automatic Wiring
Use Context Help Window when wiring
Right-click wire and select Clean Up Wire
Tip Strips
Automatic wire routing
Right-click terminals
and select Visible
ItemsTerminals
View the terminal connections to a function

Moduri de ralizare de legturi DB


Wiring Hot Spot

Use Automatic
Wire Routing

Click To Select Wires

Clean Up Wiring

Exercise: Acquiring a Signal VI


Objective: Explore the LabVIEW environment by creating a VI
that generates a signal and displays it on the front panel.

Tipuri de date n LabVIEW


Date numerice:
ntregi
Numere n virgul mobil

Date tip string (caractere alfanumerice)


Date Booleene
Date tip forme de und

Date numerice ntregi


Meniurile proprii ale elementelor de control sau indicatoare numerice contin o optiune specifica,
Representation, cu ajutorul careia se specifica modul in care valoarea numerica respectiva este stocata in
memorie.

ntregi cu semn
32-bit (I32): de la -2,147,483,648 to 2,147,483,647
16-bit (I16): de la -32,768 to 32,767
8-bit (I8): de la -128 to 127

ntregi fr semn
32-bit (U32): de la 0 to 4,294,967,295
16-bit (U16): de la 0 to 65,536
8-bit (U8): de la 0 to 256

Date numerice n virgul mobil


Numr real n virgul mobil:
Precizie extins [EXT]: 1.19e+4932 to 1.19e+4932
Dubl precizie [DBL]: 1.79e+308 to 1.79e+308
Simpl precizie [SGL]: 3.40e+38 to 3.40e+38
Numr complex n virgul mobil:
Numrul complex n virgul mobil are o reprezentare echivalent
ca i numerele reale n virgul mobil. Singura diferen este c
numrul complex are o parte real i una imaginar.
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)

Date de tip string


Un string este o secven de caractere ASCII.
Cteva dintre multele aplicaii ale stringurilor sunt:
Creare unui simplu mesaj text.
Trecerea datelor numerice prin instrumente ca i caractere string i apoi convertirea
stringurilor n numere numerice.
nmagazinarea datelor numerice pe disc. Pentru memorarea numerelor numerice ntr-un
fiier ASCII, trebuie mai nti convertite numerele numerice n stringuri.
Cutii de dialog, pentru diferitele atenionri ale utilizatorului.

Exist urmtoarele tipuri de elemente de tip string:


Control String
Indicator String
Funcii String

Date Booleene
Datele Booleene sunt date de tip logic. Acestea au dou valori: ADEVRAT i
FALS. Datele Booleene sunt reprezentate prin dou stri ON i OFF.
Un control Boolean din panoul frontal al unui VI este fie un buton fie un
comutator (switch). Un indicator Boolean din panoul frontal al unui VI este un
LED.
Butoanele Booleene au asociate mai multe funcii logice. Exist ase moduri de
operare al acestora.
1. Switch when pressed (Comut cnd este apsat)
2. Switch when released (Comut cnd este eliberat)
3. Switch until released (Comut pn cnd este eliberat)
4. Latch when pressed (nchide cnd este apsat)
5. Latch when released (nchide cnd este eliberat)
6. Latch until released (nchide pn cnd este eliberat)

Switch When Pressed


Switch When Released
Switch Until Released
Latch When Pressed
Latch When Released
Latch Until Released

Change state on a button press. Remain there until


another button press.
Change state on a button release. Remain there
until another button release.
Change state on a button press. Change back
when the button is released.

Change state on a button press. Change back


when the control is read by LabVIEW.
Change state on a button release. Change back
when the control is read by LabVIEW.

Change state on a button press. Change back


when released and read by LabVIEW.

E. Programarea fluxului de date


DB este executat n funcie de
fluxul de date
Nodurile sunt executate cnd
datele sunt disponibile la toate
intrrile terminalelor
Nodurile alimenteaz cu date toate
terminalele de ieire

Exercise: Express Filter VI


Objective: Explore the data flow of an example VI.

F. LabVIEW Documentation: Context Help


To display the Context Help window, select
HelpShow Context Help, press the <Ctrl-H> keys, or press the
Show Context Help Window button in the toolbar
Move cursor over object
to display help
Connections:
Required bold
Recommended normal
Optional - dimmed
Simple/Detailed Context Help

Lock Help

More Help

LabVIEW Help
Click the More Help button in the Context Help window
Select HelpVI, Function, & How-To Help
Click the sentence Click here for more help in the Context Help
window.
Contains detailed descriptions of most palettes, menus, tools,
VIs, and functions, step-by-step instructions for using LabVIEW
features, links to the LabVIEW Tutorial, PDF versions of all the
LabVIEW manuals and Application Notes, and technical support
resources.

Exerciiu: Convert C n F

Exerciiu: Generarea unui semnal i afiarea datelor ntr-un tabel


Obiectiv: To build a VI that generates a signal, reduces the number of samples in the signal,
and displays the resulting data in a table on the front panel.

G. Tehnici de reparare
Gsirea erorilor
Clic n butonul Run ntrerupt
Fereastra va arta erorile aprute

Sublinierea execuiei
Clic n butonul Execution Highlighting; fluxul de
date este animat utiliznd baloane. Valorile sunt
afiate pe fire.

Probe
Clic-dreapta pe un fir pentru afiarea probei i a
datelor ce curg prin seciunea respectiv de fir.
Se poate de asemenea selecta unealta Probe din
paleta cu unelte, iar apoi se va da clic pe fir

Debugging Techniques
Breakpoints
Right-click on wire and select Set Breakpoint; pause
execution at the breakpoint.

Conditional Probe
Combination of a breakpoint and a probe. Right-click on
wire and select custom probe.

Debugging Techniques
Step Into, Over, and Out buttons for Single Stepping
Click on Step Into button to enable single stepping
Once Single Stepping has begun, the button steps
into nodes
Click on Step Over button to enable single stepping
or to step over nodes
Click on Step Out button to step out of nodes

Summary
Virtual instruments (VIs) have three main parts the front panel, the block diagram,
and the icon and connector pane
The front panel is the user interface of a LabVIEW program and the block diagram is
the executable code
The block diagram contains the graphical source code composed of nodes,
terminals, and wires
Use Express VIs, standard VIs and functions on the block diagram to create your
measurement code. For the most common requirements, use Express VIs with
interactive configuration dialogs to define your application.
Floating Palettes: Tools Palette, Controls Palette (only when Front Panel Window is
active), and Functions Palette (only when Block Diagram Window is active)
There are help utilities including the Context Help Window and LabVIEW Help

Summary
Place controls (inputs) and indicators (outputs) in the front panel window
Use the Operating tool to manipulate panel objects. Use the Positioning tool to select,
move, and resize panel objects. Use the Wiring tool to connect diagram objects
Control terminals have thicker borders than indicator terminals
All front panel objects have property pages and shortcut menus
Wiring is the mechanism to control dataflow and produce LabVIEW programs
Broken Run arrow means a nonexecutable VI
Various debugging tools and options available such as setting probes and breakpoints,
execution highlighting, and single stepping

Tips
Common keyboard shortcuts
Windows
<Ctrl-R>
<Ctrl-F>
<Ctrl-H>
<Ctrl-B>
<Ctrl-W>
<Ctrl-E>

Sun
<-R>
<-F>
<-H>
<-B>
<-W>
<-E>

Linux
<M-R>
<M-F>
<M-H>
<M-B>
<M-W>
<M-E>

MacOS
<z-R>
<z-F>
<z-H>
<z-B>
<z-W>
<z-E>

Run a VI
Find object
Activate Context Help window
Remove all broken wires
Close the active window
Toggle btwn Diagram/Panel Window

Access Tools Palette with <shift>-right-click


Increment/Decrement faster using <shift> key

ToolsOptions selection set preferences in LabVIEW


VI Properties (File menu)

3. Programare Modular

SUBIECTE
A. SubVI-uri
B. Panoul Icoan i Conector
C. Utilizarea SubVI-urilor
D. Crearea unui SubVI dintr-o seciune a unui VI

A. Ierarhia LabVIEW

SubVI

SubVI-uri
Dup construirea unui VI i crearea icoanei i conectorului
su, acesta poate fi utilizat ntr-un alt VI. Un VI dintr-un alt VI
se numeste subVI. Un subVI corespunde unei subrutine ntrun limbaj de programare pe baz de text.
Avantaje
Modular
Uor de reparat
Nu trebuie recreat codul
Necesit mai puin memorie

Function Pseudo Code

Calling Program Pseudo Code

function average (in1, in2,


out)
{
out = (in1 + in2)/2.0;
}

main
{
average (point1, point2,
pointavg)
}

SubVI Block Diagram

Calling VI Block Diagram

Nodurile n DB

SubVI-urile din DB se pot vedea ca icoane sau ca noduri expandabile. Cele dou moduri, depind de preferinele
utilizatorului, nemodificndu-se funcionalitatea subVI-ului

B. Icoana i Conectorul
Fiecare VI afiaz o icoan n colul din dreapta sus a PF i a DB. O icoan este o reprezentare
grafic a unui VI. Ea poate conine text, imagini sau combinaii de ambele. Icoana identific subVI-ul
dintr-o DB a unui VI.

ICOANA

Terminale

O icoan reprezint un VI ntr-o alt DB


Un conector arat terminalele disponibile pentru transferul
de date

CONECTOR
Sunt mai multe modele de conectori. Printr-un clic-dreapta n conector se poate selecta
modelul din meniul Patterns. Se pot atribui controalelor i indicatoarelor din PF,
terminalelor conectorului.

Pai pentru crearea unui SubVI


Crearea Icoanei
Crearea Conectorului
Asignarea terminalelor
Salvarea VI-ului
Inserarea VI-ului ntr-un VI de nivel superior

SubVI Example Calculating Slope


A VI within another VI is called a subVI
To use a VI as a subVI, create an icon and a connector pane after building the
front panel and block diagram

Crearea Icoanei
Icon: graphical representation of a VI
Clic-dreapta n icoana DB sau a PF i selectare Edit Icon
Default Icon

Create a custom icon

Crearea Conectorului
Clic dreapta n panoul icoan (doar n PF)

Asignarea Terminalelor

C. Inserarea subVI-ului ntr-un VI de nivel superior


Accesarea subVI-ului
Functions >>All Functions >> Select a VI
Sau
Tragerea icoanei cu mousul n DB dorit

Exercise: Thermometer VI
Objective: To build a VI using the Convert C to F subVI to
read a temperature from the DAQ Signal Accessory in
Celsius or Fahrenheit.
The sensor returns a voltage proportional to temperature.
For example, if the temperature is 23 C, the sensor output
voltage is 0.23 V. The sensor is connected to Channel 0 of
Device 1. Device 1 is the DAQ device. On some systems,
the DAQ device may have another device number.

D. Opiuni de creare a subVI-urilor


Crearea unui subVI dintr-o seciune a unui VI

Se ngrdete aria dorit a fi convertit n subVI


Select Create SubVI from the Edit Menu

Summary

VIs can be used as subVIs after you make the icon and connector
Icon created using Icon Editor
Connector defined by choosing number of terminals
Load subVIs using the Select a VI option in the All Functions palette or
dragging the icon onto a new diagram
Online help for subVIs using the Show Context Help option
Descriptions document functionality
Use Create SubVI feature to easily modularize the block diagram

4. Bucle de control i regitri de transfer


A. Bucla While
B. Bucla For
C. Regitri de transfer

A. Bucla While
Similar comportarii unei bucle Do sau o bucl Repeat-Until (=repeta pana
cand) n cadrul limbajelor de programare bazate pe text, o bucl While execut
o subdiagram pn cnd este ntlnit o condiie.

1. Selectare bucl While

2. nlnuirea codului a fi repetat

3. Adugarea de noduri suplimentare i apoi realizarea legturilor


Do

Terminal
iteraie

(Execut diagrama
din interiorul buclei)
While Condition is TRUE

Terminal condiionare

Selectarea condiiilor buclei


Clic dreapta n terminalul condiionare pentru definirea opririi buclei
Pe marginile buclei se pot crea regitri de deplasare care transfer datele
de la o iteraie la urmtoarea

Terminal iteraie

Terminal condiionare

Structure Tunnels
Tunnels feed data into and out of structures.
The tunnel is a block that appears on the border; the color of the
block is related to the data type wired to the tunnel.
When a tunnel passes data into a loop, the loop executes
only after data arrive at the
tunnel.
Data pass out of a loop after
the loop terminates.

Exemple de bucle While


n diagrama bloc din figur, bucla
While este executat pn cnd
ieirea funciei de multiplicare este mai
mare sau egal cu 5, iar controlul
Enable este Adevrat (True). Funcia
I (AND) returneaz la ieire valoarea
True doar dac cele dou intrri sunt
True. Altfel ieirea este False.

VI-ul din figura de mai jos genereaz numere aleatoare, pn


cnd numrul generat corespunde cu numrul specificat.
Terminalul iteratie nregistreaz numrul de numere aleatoare
generate, pn cnd apare numrul specificat.

Urmtorul VI, va simula aruncarea a dou zaruri i va determina numrul de


aruncri necesare pn cele dou zaruri corespund.

B. Bucla For
O bucl For execut o subdiagram de un numr de ori, numr specificat de
terminalul de numrare N.

Plasai bucla For n DB selectnd-o din paleta Structs & Constants aflat n meniul Functions.
O bucl For este un element redimensionabil.
Ea execut diagrama din interiorul su de un numr predeterminat de ori.
Bucla For are dou terminale: terminalul de numrare N (un terminal de intrare) i terminalul
de iterare i (un terminal de ieire). Terminalul de numrare arat de cte ori se execut bucla.
Terminalul de iteraie arat de cte ori a fost executat bucla.
Pe marginile buclei se pot crea regitri de deplasare care transfer datele de la o iteraie la
urmtoarea

Terminalul de numrare
(terminal de intrare)
Terminal iteraie
(terminal de ieire)

Timing Functions
Wait Until Next ms Multiple

Wait (ms)

Time Delay

Numeric Conversion
Numerics default to double-precision (8 bytes) or long integer
(4 bytes)
LabVIEW automatically converts to different representations
For Loop count terminal always converts to a long integer
Gray coercion dot on terminal indicates conversion

Numeric Conversion
LabVIEW chooses the representation that uses more bits.
If the number of bits is the same,
LabVIEW chooses unsigned over signed.
To choose the representation,
right-click on the terminal and
select Representation.
When LabVIEW converts floating-point numerics to integers, it
rounds to the nearest integer. LabVIEW rounds x.5 to the nearest
even integer.
For example, LabVIEW rounds 2.5 to 2 and 3.5 to 4.

Exercise: Timed Temperature VI


Objective: To read a temperature once every second for one minute.

C. Regitrii de transfer
Registrii de transfer sunt componente ale structurilor repetitive ce pot fi
utilizate pentru transferul unor valori intre doua sau mai multe iteratii
succesive ale structurii.
Pentru a adauga un registru de transfer unei structuri repetitive (bucla For
sau While), se selecteaza optiunea Add Shift Register din meniul propriu
al structurii.
Un registru de transfer contine doua terminale (stang si drept) dispuse pe
conturul structurii.
O valoare conectata la terminalul drept al registrului va "apare" in
terminalul stang la iteratia urmatoare. Cu alte cuvinte, terminalul stang
introduce in iteratia curenta valoarea ce a fost transmisa la terminalul drept
in iteratia anterioara.
La executarea primei iteratii a unei bucle, nu exista inca nici un transfer
efectuat de catre registru intre cele doua terminale ale sale. Terminalul
stang al registrului nu a fost inca "alimentat" cu o valoare din iteratia
precedenta. Pentru a se putea efectua extragerea unei valori din terminalul
stang la prima iteratie, se conecteaza la acest terminal o valoare din
exteriorul buclei. Se spune ca registrul de transfer se initializeaza.

Terminalul stang al unui registru de transfer


poate fi dimensionat, capatand astfel mai multe
componente. Intr-o astfel de situatie, valoarea
transferata din iteratia anterioara se afla in
componenta superioara. De sus in jos, fiecare
componenta contine cate o valoare provenita
dintr-o iteratie mai indepartata.
Dupa executarea ultimei iteratii a buclei, din
terminalul drept al registrului se poate extrage
ultima valoare transferata acestuia.
O structura repetitiva poate contine mai multi
registri de transfer, fiecare cu una sau mai multe
componente ale terminalului stang si fiecare
transferand intre iteratii valori de diverse tipuri.

VI-ul din figura de mai jos folosete registrii de deplasare si o bucla For, pentru
a accesa valorile din repetarile anterioare. Indicatorul X(i) afiseaza valoarea
curenta, indicatorul X(i-1) afiseaza valoarea penultimei iteratii, indicatorul X(i-2)
afiseaza o valoare cu doua iteratii in urma, si asa mai departe.

VI-ul din figura de mai jos folosete registrii de deplasare si o bucla While, ce
simuleaz un semafor

Feedback Nodes
Appears automatically in a For Loop or While Loop if you
wire the output of a subVI, function, or group of subVIs and
functions to the input of that same VI, function, or group.
Stores data when the loop completes an iteration, sends
that value to the next iteration of the loop, and transfers any
data type

Feedback Node
Wire from output to input to
automatically create a feedback
node
<OR>
Place a feedback node from the
FunctionsStructures palette

Initialized Shift Registers & Feedback Nodes

Output = 5

Output = 5

Run Once

VI stops execution

Output = 5

Run Again

Output = 5

Uninitialized Shift Registers & Feedback Nodes

Output = 4

Run Once

VI stops execution

Output = 4

Output = 8

Run Again

Output = 8

Exercise: Accessing Previous Data


Objective: To observe the use of shift registers and feedback nodes to hold
data from previous iterations of a For Loop.

Revise the shift register to display the last three iterations of the For Loop data, as shown in the
following block diagram.

Summary
Two structures to repeat execution: While Loop and For Loop
Loop timing controlled using Wait Until Next ms Multiple function, the
Wait (ms) function, or the Time Delay Express VI.
Coercion dots appear where LabVIEW coerces a numeric representation
of one terminal to match the numeric representation of another terminal
Feedback nodes and shift registers transfer data values from one
iteration to the next
Use shift registers only when more than one past iteration is needed

5. Tablouri (Arrays)

TOPICS
Introduction to Arrays
Auto Indexing Arrays
Array Functions
Polymorphism

Spre deosebire de elementele scalare, care reprezentau o singura valoare, de un anumit tip
(numeric, boolean, alfanumeric), elementele vectoriale (Array) pot contine, intr-o maniera
ordonata, mai multe valori de acelasi tip.
Un tablou este o colecie de elemente ale datelor care sunt toate de acelai tip.
Un tablou are una sau mai multe dimensiuni i pn la 2^31 1 de elemente pe dimensiune,
sau ct permite memoria.
Tablourile, n LabVIEW, pot fi de orice tip: numerice, Booleane, tip cale, stringuri, unde, i tip
clustere (exceptnd iruri, tabele sau grafice).
Se poate accesa fiecare element al tabloului prin index-ul su. Index-ul este n gama (0, N-1)
unde N este numrul elementelor din tablou. Tabloul unidimensional (1D) artat mai jos
ilustreaz aceast structur. De notat c primul element are index-ul 0, al doilea element are
index-ul 1, etc..

Un tablou bidimensional (2D) necesit doi indici


pentru localizarea unui element, un indice
coloan i un indice linie, amndoi pornind de la
zero.

Controale i indicatoare Tablou (Array)


Se va selecta Array din subpaleta Controls >> All
Controls >> Array and Cluster
Atunci cand un element de tipul Array se
dispune pe panou, tipul datelor pe care acesta le
va contine nu este inca definit. Se spune ca
elementul de tip Array este vid.
Terminalul din diagrama bloc al elementului este
de culoare neagra. Sageata Run este sparta, semn
ca programul este incomplet si nu poate fi rulat.
Pentru a defini tipul de date, in elementul de tip
Array trebuie introdus un element de control sau
indicator scalar de tipul dorit (numeric, boolean,
alfanumeric, e.t.c.).
Elementul scalar ce urmeaza a fi introdus in
Array poate exista deja pe panou sau poate fi
selectat la momentul respectiv din paleta de
elemente.

Modul de plasare a unui obiect de date (Control


Numeric n cazul acesta) ntr-un tablou
EXERCITIU
Dispuneti pe panoul unei aplicatii:
- un Array cu valori numerice;
- un Array cu valori booleene;
- un Array cu valori alfanumerice.
Transformati cele trei Array-uri din
elemente de control in elemente
indicatoare.

In mod implicit, atunci cand este creat, un Array are o singura dimensiune, putand fi descris
drept o matrice coloana.
Numarul de dimensiuni ale unui Array poate fi modificat prin dimensionarea indexului acestuia
Daca un Array are mai mult de o dimensiune, se poate stabili afisarea mai multor linii si mai
multor coloane.
Terminalul unui element Array se caracterizeaza prin prezenta unor paranteze drepte a caror
grosime este proportionala cu numarul de dimensiuni.
Atunci cand se realizeaza legaturi in diagrama, conexiunile pe care circula un Array cu o
dimensiune sunt mai groase decat cele pe care circula valori scalare.
Pentru Array-urile cu doua sau mai multe dimensiuni, conexiunile sunt reprezentate cu linie
dubla. Spatiul intermediar al liniei duble este cu atat mai mare cu cat numarul de dimensiuni ale
Array-ului este mai mare.

EXERCITIU
Modificati numerele de valori vizibile ale celor trei Array-uri create in exercitiul
anterior.
Transformati Array-urile in elemente de control (daca este cazul) si definiti valori
in cadrul acestora.
Modificati indexul fiecarui Array si observati modul in care valorile se deplaseaza.

Atunci cand este necesara existenta in diagrama a unei constante Array,


aceasta poate fi selectata din meniul cu functii pentru valori vectoriale (Array) al
paletei de functii.
La dispunerea sa in diagrama, similar elementelor Array de pe panou, o astfel
de constanta nu are definit tipul de date pe care le va contine.
Definirea tipului de date se realizeaza prin introducerea in chenarul constantei
Array a unei constante de tipul dorit (numeric, boolean sau alfanumeric).
O constanta Array permite aceleasi operatii de definire a numarului de valori
vizibile sau de modificare a numarului de dimensiuni ca si elementele Array din
panou.

Creating Array Constants


1. Select Array Constant
shell from the Array
subpalette

2. Place the data object in the array shell

Crearea i utilizarea Tablourilor


Auto-Indexarea
buclele acumuleaz
array-urile la marginile
lor.
n mod implicit, buclele
For sunt auto-indexate,
n timp ce buclele While,
nu.

Crearea Tablourilor cu ajutorul Buclelor


Buclele acumuleaz tablourile la
marginile lor
Auto Indexarea poate fi eliminat
Se pot utiliza dou Bucle For, una n
interiorul celeilalte, pentru crearea unui
Array 2D.
Bucla For exterioar creaz elementele
rnduri, iar Bucla For interioar creaz
elementele coloan.

Auto-Index Input
An array input can be
used to set the For
Loop count terminal
Number of elements
in the array equals
the count terminal
input
Run arrow not
broken

Funcii Array
Pentru a obtine in
mod dinamic
(programatic),
structuri de
valori de tipul
Array, pot fi
utilizate o serie
de functii
specifice.

C. Common Array Functions

Array Size
Functia Dimensiune Tablou (Array Size), returneaza numarul de elemente ale fiecarei
dimensiuni ale tabloului de intrare.

Initialize Array
Functia Initializeaza tablou (Initialize Array), realizeaza initializarea elementelor unui tablou cu
N dimensiuni cu o valoare indicata.

Array Subset

Functia Subtablou (Array Subset), returneaza un numar specificat din


elementele unui tablou, ncepand de la un indice.

The Build Array Function


Appending an element

Concatenate Inputs

Building a higher dimension array

default

The Index Array Function


Extracting an Element

Extracting a Row

Extracting an Element of a Row

Modurile in care un Array se poate comporta la intrarea sau la iesirea dintr-o structura repetitiva sunt valabile si in cazul
buclelor While, cu deosebirea ca, in cazul acestora, comportamentul implicit este inversat:
-in mod implicit, o bucla While va prelua la fiecare iteratie intreg Array-ul de intrare. Doar in cazul in care
componentei de pe contur i se selecteaza, din meniul propriu, optiunea Enable Indexing, bucla While va prelua cate o
valoare la fiecare iteratie.
-in mod implicit, daca o valoare din interiorul unei bucle While se conecteaza la conturul acesteia, componenta
de pe contur va genera, dupa incheierea executiei buclei, doar valoarea primita in ultima iteratie.
Doar daca se selecteaza optiunea Enable Indexing a componentei de pe contur, aceasta va genera, dupa incheierea
ultimei iteratii, un Array cuprinzand valorile primite in cadrul tuturor iteratiilor.
Functiile aritmetice si logice pentru valori scalare, precum si cele pentru valori alfanumerice, permit conectarea de Arrayuri continand valori de tipurile corespunzatoare.
Se pot astfel realiza:
- operatii aritmetice asupra valorilor dintr-un Array (radacina patrata, functii trigonometrice etc.), intre un Array
si o valoare scalara sau intre doua Array-uri;
- operatii logice intre un Array si o valoare booleana sau intre doua Array-uri cu valori booleene;
-operatii asupra Array-urilor de valori alfanumerice.

Functiile Add Array Elements si Multiply Array Elements determina suma,


respectiv produsul valorilor numerice dintr-un Array.
Functiile And Array Elements si Or Array Elements efectueaza operatiile
logice SI, respectiv SAU, asupra tuturor valorilor booleene dintr-un Array,
obtinand o valoare booleana scalara. Atunci cand au drept operanzi un Array
si o valoare scalara sau doua Array-uri, functiile de comparatie genereaza un
Array de valori booleene, compararea fiind efectuata valoare cu valoare.
Daca, din meniul propriu al functiei de comparatie, se alege optiunea Compare
Aggregates, functia va genera o valoare booleana scalara.
De exemplu, daca se compara doua Array-uri de valori numerice cu functia
Equal? in starea Compare Aggregates, functia va genera valoarea True doar
daca este indeplinita conditia de egalitate intre toate perechile de valori aflate
pe aceleasi pozitii in cele doua Array-uri.
Functia Number To Boolean Array, aflata in meniul pentru functii booleene,
transforma un numar natural intr-un Array de valori booleene, efectuand de fapt
transformarea din baza 10 in baza 2.
Bitul cel mai putin semnificativ este reprezentat in Array de valoarea cu indicele
0. De exemplu, valoarea 6=0+21+22 este transformata intr-un Array cu trei
valori booleene: (False, True, True).
Functia Boolean Array To Number realizeaza transformarea inversa, dintr-un
Array de valori booleene intr-un numar natural.

D. Polimorfism

Poliformismul reprezint capabilitile funciilor din LabView (de ex. adunare, nmulire, mprire)
de a accepta la intrare date cu dimensiuni i reprezentri diferite. Funciile aritmetice care posed
aceste proprieti se numesc funcii polimorfice.
Un exemplu clasic pentru aceast proprietate este poliformismul funciei adiionale scalar scalar,
scalar matrice i matrice-matrice de dimensiuni diferite.
Combinaia
Scalar+Scalar

Array+scalar

Array+Array

Array+Array

Rezultatul
Scalar

Array

Array

Array

Exerciii
1. S se creeze un VI cu 6 intrri booleane (opional) i care s returneze numrul primei intrri
adevrate (opional).

2. S se creeze un VI care s genereze un tablou (array) cu 10 elemente aleatoare i care s


scaleze aray-ul realizat, iar apoi s extrag ultimele 4 elemente din array-ul scalat.

Exerciii (continuare)

Summary
Arrays group data elements of the same type. You can build arrays of numeric,
Boolean, path, string, waveform, and cluster data types.
The array index is zero-based, which means it is in the range 0 to n 1, where
n is the number of elements in the array.
To create an array control or indicator, select an Array on the ControlsArray
& Cluster palette, place it on the front panel, and drag a control or indicator
into the array shell.
If you wire an array to a For Loop or While Loop input tunnel, you can read
and process every element in that array by enabling auto-indexing.
By default, LabVIEW enables auto-indexing in For Loops and disables autoindexing in While Loops.
Polymorphism is the ability of a function to adjust to input data of different data
structures.

6. Clustere

TOPICS
A. Introduction to Clusters
B. Cluster Functions
C. Error Clusters

A. Clustere (Grupuri)
Sunt structuri de date care grupeaz datele mpreun
Datele pot fi de tipuri diferite (numerice, Booleene, stringuri, e.t.c.)

Elementele trebuie s fie, fie toate controale, fie toate indicatoare


Analog cu o legtur de fire dintr-un cablu
Fiecare fir din cablu reprezint un element al clusterului
Deoarece un cluster are un singur fir (de intrare sau de ieire) chiar dac acesta transport multiple valori
de diferite date, clusterele reduc firele i numrul de terminale conector pe care un subVI le necesit.
Figura de mai jos ilustreaz conceptul de grupare, respectiv degrupare, a elementelor de date ntr-un
cluster.

Cluster Controls and Indicators


1. Select a Cluster shell
from the Array &
Cluster subpalette

134

2. Place objects inside the shell

Creating Cluster Constants


1. Select Cluster
Constant shell from the
Cluster subpalette

2. Place objects in the Cluster shell

Cluster Order
Elements have a logical order (start with 0)
To change order, right-click the border and select Reorder Controls in
Cluster...

136

Utilizarea Clusterelor pentru transferul datelor n SubVI-uri


Unul dintre avantajele clusterelor este
acela c acestea pot fi utilizate pentru
gruparea datelor la intrarea i
respectiv ieirea subVI-urilor.
Clusterele reduc astfel numrul de fire
ntr-o diagram.

137

B. Funcii Cluster
Aceste funcii se gsesc n subpaleta Cluster, Class & Variant a paletei
Functions>>Programming

Funcia Bundle
Grupeaz mai multe componente, realiznd un grup, sau
nlocuiete una sau mai multe componente ale unui grup existent.
Gruparea elementelor se realizeaz n ordinea acestora n cadrul grupului. Prima component conectat
la funcia Bundle este componenta cu index-ul 0, urmeaz componenta cu index-ul 1, s.a.m.d. Numrul
de intrri poate fi modificat fie prin selectarea Add Input din meniul contextual al intrrii fie utiliznd
unealta de poziionare / redimensionare din caseta Tools.

O alt exemplificare a utilitii funciei Bundle este prezentat n figura de mai


jos.
Constanta numeric (setat la valoarea 0) definete punctul de origine real iar
prin controlul numeric se impune valoarea de incrementare. Funcia Bundle
reunete datele numerice permind reprezentarea grafic.

Funcia Bundle poate fi utilizat i pentru nlocuirea unor componente ale unui
grup (cluster) deja existent. n acest caz, grupul trebuie conectat la intrarea
cluster a funciei.
n cadrul aplicaiei de mai jos, funcia bundle permite nlocuirea valorii numerice
corespunzatoare controlului Knob i respectiv a controlului Numeric 2, cu
valorile numerice corespunztoare controalelor knob_input, respectiv Numeric
2_input.

Funcia Bundle by Name


Funcia Bundle by Name este folosit doar pentru nlocuirea unei componente dintr-un grup existent.
Modul de lucru este asemntor cu cel prezentat anterior. Cluster-ul existent se conecteaz la intrarea
specificat a funciei (input cluster). n ordinea logic a construciei se introduce controlul care va nlocui o
component. Componenta de nlocuit se va identifica dup numele reprezentat prin eticheta asociat.
Numrul posibilitilor de nlocuire se pot vizualiza din meniul contextual al intrrii funciei prin selectarea
opiunii Select Item.

Funciile Unbundle i Unbundle by Name


Descompunerea (degruparea) grupurilor (clusterelor) n componente, se
realizeaz cu ajutorul a dou funcii, Unbundle i Unbundle by Name.

C. Error Clusters
Use the error in and error out clusters in each VI you use or build to handle errors in the VI.
The error clusters located on the ControlsArray & Cluster palette include the components
of information shown
Error cluster contains the following information:
Boolean to report whether error occurred
Integer to report a specific error code
String to give information about the error

Error Cluster Details


Status is a Boolean value that reports TRUE if
an error occurred. Most VIs, functions, and
structures that accept Boolean data also
recognize this parameter.
Code is a signed 32-bit integer that identifies the
error numerically. A non-zero error code coupled
with a status of FALSE signals a warning rather
than a fatal error.
Source is a string that identifies where the error
occurred.

Error Handling with Clusters


You can make error handling decisions on the block diagram
Error handling in LabVIEW follows the dataflow model. Just as data flow through a VI, so can error
information
Wire the error information from the beginning of the VI to the end
Error information is passed from one subVI to the next
If an error occurs in one subVI, all subsequent subVIs are not executed in the usual manner
Error Clusters contain all error conditions
Automatic Error Handling

Error Cluster

Simple Error Handler


Use the Simple Error Handler to handle the error at the end of the
execution flow.
The Simple Error Handler is located on the FunctionsAll
FunctionsTime and Dialog palette. Wire the error cluster to the Error In
(no error) input.

Using While Loops for Error Handling


You can wire an error cluster to the conditional terminal of a While Loop
to stop the iteration of the While Loop.

Only the TRUE or FALSE value of the status parameter of the error
cluster is passed to the terminal.
When an error occurs, the
While Loop stops.

Exercise 6 Error Clusters & Handling

Summary
Clusters group data elements of mixed types. A cluster cannot contain a
mixture of controls and indicators.
To create a cluster control or indicator, select a cluster on the ControlsArray
& Cluster palette, place it on the front panel, and drag controls or indicators
into the cluster shell.
Use the Cluster functions located on the FunctionsAll FunctionsCluster
palette to create and manipulate clusters.
Error checking tells you why and where errors occur.
The error cluster reports the status, code and source of the error.
Use the error cluster controls and indicators to create error inputs and outputs
in subVIs.

7. Afiarea datelor

TOPICS
A. Waveform Charts
B. Waveform and XY Graphs
C. Intensity Plots

nregistratoare (Grafice)
nregistratoarele sunt indicatoare numerice
speciale care afieaz una sau mai multe curbe.
Acestea se gsesc n paleta Graph Idicators a
meniului Controls.
Sunt disponibile 3 tipuri de componente de interfata pentru vizualizarea reprezentarii grafice:
-diagrama unda (waveform charts);
-grafice unda (waveform graphs);
-grafice XY (XY graphs);
Diagrama unda: Este o componeta de interfata dedicata afisarii uneia sau mai multor reprezentari grafice
simultan, pentru care se urmareste variatia in timp.
Graficele unda: Se utilizeaza pentru reprezentarea functiilor de o variabila (de forma y=f(x)), avand
punctele distribuite uniform pe axa absciselor. Aceasta se aseamana cu diagrama und. Permite realizarea
uneia sau mai multor reprezentari simultane.
Graficul XY: Este componenta cea mai generala, care permite realizarea reprezentarilor grafice ale
functiilor de doua variabile X si Y. Deasemenea se pot realiza una sau mai multe reprezentari simultane.

Wiring to Charts
Single-Plot Chart

Multiple-Plot Chart

Personalizarea graficelor

B. Graphs
Selected from the Graph subpalette
Waveform Graph Plot an array of numbers against their indices
XY Graph Plot one array against another
Plot Legend
(point and line
styles)

Scale Legend

Graph Palette

Single-Plot Waveform Graphs


Uniform X axis
Initial X = 0.0
Delta X = 1.0

Uniform X axis
you specify point
spacing

Multiple-Plot Waveform Graphs


Each row is a
separate plot:
Initial X = 0
Delta X = 1

Each row is a
separate plot:
Bundle specifies
point spacing of the
X axis

XY Graphs
Non-uniform X axis
Separate X and Y arrays
define data points

Chart and Graph Use Summary


Use the Context Help window with charts and graphs

C. Intensity Plots and Graphs

Useful in displaying terrain, temperature patterns, spectrum analysis, and image


processing
Data type is a 2D array of numbers; each number represents a color
Use these options to set and display color mapping scheme
Cursor also adds a third dimension

Exemple:
Se va realiza un VI care s genereze un numr aleator la o rat specificat de
utilizator i afiarea rezultatelor pe un grafic (Waveform Chart) pn cnd este
oprit de utilizator. Se va salva salva VI-ul cu numele While_Graph.vi

Se va modifica While_Graph pentru a calcula i afia media ultimelor trei


msurri. Se va salva salva VI-ul cu numele While_Graph_Average.vi

Urmtorul exemplu arat construcia funciei trigonometrice sinus


cu ajutorul buclei For, i afiarea rezultatului pe un Grafic und.

Summary
The waveform chart is a special numeric indicator that displays one or more plots.
Waveform graphs and XY graphs display data from arrays.
Right-click a waveform chart or graph or its components to set attributes of the chart
and its plots.
You can display more than one plot on a graph using the Build Array function and the
Bundle function for charts and XY graphs. The graph becomes a multiplot graph when
you wire the array of outputs to the terminal.
When you wire data to charts and graphs, use the Context Help window to determine
how to wire them.
You can use intensity charts and graphs to plot three-dimensional data. The third
dimension is represented by different colors corresponding to a color mapping that you
define. Intensity charts and graphs are commonly used in conjunction with spectrum
analysis, temperature display, and image processing.

8. Luarea deciziilor ntr-un VI i structura

secvenial (Sequence)

TOPICS
A. Decision making with the Select function
B. Case Structures
C. Formula Nodes
D. Structura Sequence

A. Simple Decision: Select Function


If Temp Scale is TRUE, pass top input;
If temp scale is FALSE, pass bottom input.

If the decision to be made is more complex than a Select function can


execute, a Case Structure may be what is required.

B. Case Structures
Structura de selectie Case - contine multiple subdiagrame, numai
una din acestea executandu-se depinznd de valoarea de intrare
transmis structurii.

Atunci cand este dispusa in diagrama, o structura Case contine doua ferestre
(True si False), fiecare dintre acestea cu propriul flux de date.
Pe conturul structurii se afla dispus un terminal selector (de culoare verde,
continand semnul intrebarii).
Structura Case va executa doar una din cele doua ferestre, in functie de valoarea
booleana (True sau False) conectata la terminalul sau selector.
Daca la terminalul selector al unei structuri Case, in locul unei valori booleene, se
conecteaza o valoare numerica (numar intreg sau natural), numele ferestrelor se
vor modifica automat din True si False in 0 si 1.
Structura va executa fereastra al carei nume va coincide cu valoarea numerica ce
ajunge la terminalul sau selector. In aceasta situatie, are sens ca structura Case sa
contina mai mult de doua ferestre.
Deoarece structura Case nu va putea contine atatea ferestre cate valori numerice
pot ajunge la terminalul sau selector, una dintre ferestre trebuie declarata drept
fereastra implicita (Default). Fereastra implicita va fi executata atunci cand valorii
ajunse la terminalul selector nu ii corespunde nici un nume de fereastra.
Un nume de fereastra poate contine si descrierea unei multimi de valori, de genul
2..5, 7..9, intelegand prin aceasta ca fereastra respectiva va fi executata daca la
terminalul selector ajunge una din valorile 2, 3, 4, 5, 7, 8 sau 9.
O valoare nu poate exista in numele mai multor ferestre (ar exista o incertitudine
privind fereastra ce trebuie executata).

Boolean Case Structure Example:


If Temp Scale is TRUE, execute True case;
If temp scale is FALSE, execute False case.

Boolean and Numeric Cases

Wire all possible outputs of the case structure

String, Enum, and Error Cases


String Case

Enum Case

Error Case

Acest VI utilizeaz o structur Case pentru


calculul rdcinii ptrate a unui numr dat i
verificarea dac numrul respectiv este
negativ. Dac este negativ, VI-ul va returna
valoarea -99999.0 n Indicatorul Digital i va
afia un mesaj de eroare, mesaj aflat ntr-o
Constant String.

C. Formula Node

In the Structures subpalette


Implement complicated equations
Variables created at border
Variable names are case sensitive
Each statement must terminate with a semicolon (;)
Context Help Window shows available functions

Note semicolon

Exerciiu: S se realizeze VI-ul din figura de mai jos

D. Structura secvenial (Sequence)


O structur secvenial conine una sau mai multe subdiagrame sau cadre (frame)
care se execut n ordine secvenial.
Exist dou secvene structurale: structur secvenial plat (Flat Sequence
Structure) i structur secvenial stivuit (Stacked Sequence Structure).
Structura secvenial plat se utilizeaz pentru a asigura execuia unei
subdiagrame nainte sau dup o alt subdiagram. Adugarea unei noi structuri
secveniale se obine prin click - dreapta pe chenarul structurii i apelarea facilitii
dorite din meniul contextual. Un clik dreapta pe bara orizontal a chenarului ofer
dou faciliti: introducerea unei structuri secveniale n fa (Add Frame Before)
sau introducerea unei structuri dup (Add Frame After). Un click dreapta pe bara
vertical a chenarului ofer doar una din cele dou posibiliti: pe bara stng
permite Add Frame Before iar pe bara dreapt permite Add Frame After. Un clickdreapta pe o bar vertical a chenarului pentru o structur secvenial intermediar
ofer facilitatea Insert Frame.

Structurile secveniale plate se execut de la stnga la dreapta cnd toate


datele legate la cadru sunt disponibile. Se recomand structura secvenial
plat pentru a evita secvenele locale i pentru o documentare mai bun a
diagramei bloc.
n primul cadru se realizeaz operaia de multiplicare a valorii controlui introdus
n panoul frontal iar rezultatul este transferat spre cadrul 2. n cadrul 2 i 3 se
execut alte dou operaii matematice care se bazeaz pe rezultatul anterior.
Condiionarea privind succesiunea operaiilor i o ordonare clar a diagramei sa soluionat astfel prin structura secvenial plat.

Atunci cand este dispusa in diagrama, o structura Sequence


stiv, contine o singura fereastra, aceasta fiind totodata si
fereastra curenta (vizibila). Deschizand meniul propriu al
structurii si alegand una din optiunile Add Frame After sau
Add Frame Before, se poate adauga o fereastra dupa sau
inaintea celei curente.
Daca o structura Sequence stiv contine mai mult de o
fereastra, atunci ferestrele primesc indici (numere de ordine)
incepand cu 0, iar pe latura superioara a conturului structurii
apare un selector prin intermediul caruia se poate trece de la
o fereastra la alta.
Atunci cand o structura Sequence stiv contine cel putin
doua ferestre, ordinea acestora poate fi schimbata: se
modifica indicele ferestrei 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 dispune pe conturul structurii o variabila locala a acesteia
(sub forma unui patrat galben).
Daca, in una din ferestrele structurii, se conecteaza o valoare la variabila locala, fereastra respectiva
devine fereastra sursa pentru acea variabila. In acea fereastra, simbolul variabilei 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.

In ferestrele de dupa fereastra sursa, simbolul variabilei locale va contine o sageata indreptata spre
interiorul structurii. In aceste ferestre, valoarea transferata prin intermediul variabilei locale poate fi utilizata
in fluxul de date. O structura Sequence poate dispune de mai multe variabile locale.
Intr-o structura Sequence pot fi utilizate valori provenite din fluxul de date exterior. O valoare introdusa din
exterior intr-o structura Sequence va putea fi utilizata in oricare dintre ferestrele structurii. Daca, intr-o
anumita fereastra, se face o legatura din structura Sequence in exteriorul acesteia, la iesirea respectiva
(patratul de pe contur) nu va mai putea fi legata o alta valoare din alta fereastra (ar exista o incertitudine
privind
valoarea
care
iese
din
structura).
Indiferent de indicele ferestrei in care s-a facut o legatura spre exterior, valoarea va parasi iesirea de pe
conturul structurii Sequence doar dupa executarea ultimei ferestre.

n figura alturat se prezint o structur secvenial stiv format din 3 cadre (0, 1, 2)
cadrul activ n figura prezentat fiind cadrul 1.
n fiecare cadru se pot introduce nodurile existente sau edita altele noi. Diagrama care
trebuie execut prima se introduce n cadrul 0, diagrama care trebuie executat a doua
n cadrul 1 s.a.m.d.
O exemplificare a utilizrii structurii secveniale stiv este prezentat n figura de mai jos

a)

b)

c)

Exemplu de structur secvenial stiv:


a cadru 0; b cadru 1; c cadru 2
In primul cadru se realizeaz conform schemei logice
impuse o operaie de multiplicare iar rezultatul este
vizualizat prin indicatorul Numeric 2 i utilizat att n
cadrul 2 ct i n cadrul 3. Acest lucru este posibil prin
crearea secvenei locale apelnd din meniul contextual
pentru click dreapta pe conturul vertical al cadrului.
Secvena local devine activ dup conectarea unui fir
la aceasta. Starea activ este semnalizat prin apariia
unei sgei n interiorul semnului alocat secvenei. Pe
acelai principiu rezultatul operaiei matematice din
cadrul 2 este posibil s fie utilizat n cadrul 3 (dar nu i
n cadrul 1, fluxul datelor fiind doar spre cadrele de
ordin superior).

Summary
The Select function is used to choose between two inputs dependant
on a boolean input.
A Case structure has two or more cases. Only one case is visible at a time, and
the structure executes only one case at a time.
If the case selector terminal is Boolean, the structure has a TRUE
case and a FALSE case. If the selector terminal is an integer, string,
or enumerated type value, the structure can have up to 2311 cases.
Inputs are available to all cases, but cases do not need to use each
input. If at least one output tunnel is not defined, all output tunnels on
the structure appear as white squares.
Formula Nodes are useful for complicated equations and for using
existing text-based code. A semicolon (;) must terminate each statement.

9. Stringuri i Fiiere I/O (Intrare/Ieire)

TOPICS
A. String controls and indicators
B. String functions
C. File I/O operations
D. High-level File I/O VIs
E. Low-level File I/O VIs
F. Format text files for use in spreadsheets

A. Controale i Indicatoare String (ir de caractere)


Un rol aparte intre controalele/indicatoarele din mediul LabView il joac cele pentru lucrul cu
sir de caractere si tabele. Componentele din aceast categorie permit citirea/afisarea acestui
tip de date.
Un string este o secven de caractere (ASCII) afiabile sau neafiabile (spaiu, tab, e.t.c.)
Utilizri afiarea mesajelor, controlul instrumentelor, fiiere I/O
Controalele/indicatoarele string se gsesc n subpaleta Controls Text Control or Text
Indicator

Moduri de afiare a stringurilor


Normal display

\ code display

Password display

Hex display

B. Funcii String
Funciile pentru valorile alfanumerice sunt grupate n subpaleta String a paletei de funcii.
Mai frecvent utilizate sunt cele pentru transformarea caracterelor n majuscule (To Upper
Case), pentru transformarea caracterelor n minuscule (To Lower Case), de calculare a
lungimii unui ir de caractere (String Length), de compunere a unui ir din dou iruri
distincte (Concatenate String), de identificare i nlocuire a unui ir n cadrul altuia (Search
and Replace String) etc.
De asemenea, subpaleta
String conine un element
String Constant utilizat
pentru introducerea n
diagram a valorilor
alfanumerice constante.

Funcia String Length determin numrul de


caractere dintr-o valoare alfanumeric. Sunt luate n
considerare i caracterele neafiabile (spaiu, Tab,
sfrit de linie etc). Numrul de caractere de la
ieirea funciei este exprimat ca un numr ntreg pe
patru octei.
Funcia Concatenate Strings posed un numr de
intrri ce poate fi modificat de ctre utilizator prin
dimensionarea simbolului funciei (n mod asemntor
cu Compound Arithmetic). La ieirea sa, funcia
genereaz o valoare alfanumeric obinut prin
concatenarea textelor de la intrrile sale, n ordinea de
sus n jos.

Funcia String Subset extrage, din textul conectat la intrarea String, o poriune
de Length caractere ncepnd de la caracterul aflat la poziia Offset inclusiv
(pentru primul caracter se consider offset = 0). Dac la intrarea Offset a funciei
nu este introdus nici o valoare, funcia consider c extragerea se va efectua
ncepnd cu primul caracter (valoarea implicit 0 a intrrii offset). Dac la intrarea
Length nu este introdus nici o valoare, funcia consider c extragerea se va
efectua pn la ultimul caracter inclusiv.

Funcia Replace Substring terge o poriune din textul conectat la intrarea


String i introduce n locul respectiv textul conectat la intrarea Substring.
Poriunea nlocuit ncepe de la caracterul aflat pe poziia Offset inclusiv i
conine Length caractere. Intrarea Offset are valoarea implicit 0, iar intrarea
Length are o valoare implicit egal cu numrul de caractere legat la intrarea
Substring. Dac la intrarea Substring nu se leag nici o valoare, funcia
efectueaz o tergere a unei poriuni, iar dac la intrarea Length se leag
valoarea 0 funcia efectueaz, de fapt, o inserare a unei poriuni.

Funcia Search and Replace String caut textul Search String n textul conectat la intrarea
String, iar cnd l gsete, l nlocuiete cu textul conectat la intrarea Replace String. Cutarea
are loc ncepnd de la poziia Offset a textului String. Dac la intrarea Offset nu se conecteaz
nici o valoare, cutarea are loc ncepnd cu prima poziie. Dac la intrarea Replace String nu se
conecteaz nici o valoare, atunci funcia efectueaz o tergere (nlocuire cu text vid). Dac la
intrarea Replace All nu se conecteaz nici o valoare, atunci funcia se oprete dup prima
apariie a textului Search String. Dac la aceast intrare se conecteaz o valoare logic de tip
True, funcia efectueaz nlocuiri pentru toate apariiile textului Search String. Funcia genereaz
textul rezultat n urma nlocuirii la ieirea Result String, iar la ieirea Offset Past Replacement
genereaz o valoare indicnd poziia caracterului aflat imediat dup ultimul caracter nlocuit.

Funcia Search/Split String caut textul conectat la intrarea Search String/char


n textul conectat la intrarea String. Cutarea se efectueaz ncepnd cu poziia
Offset. Dac textul cutat este gsit, funcia mparte textul iniial n dou pri,
astfel: partea dinaintea textului cutat (Substring Before Match) i textul cutat
urmat de restul textului n care s-a fcut cutarea (Match + Rest Of String).
Funcia genereaz la ieirea Offset Of Match poziia n care a fost gsit textul
cutat. Dac textul cutat nu a fost gsit, ieirea Substring Before Match conine
tot textul legat la intrarea String, iar ieirea Offset Of Match are valoarea -1.

Funcia Format Into String convertete numere ntr-un ir de caractere


(1.281.2800). Aceast funcie nu este folosit doar pentru conversia datelor
numerice n date string. Mai pot fi convertite n stringuri urmtoarele elemente:
ci de fiiere, enumerri, date Booleene. De exemplu, utiliznd formatul %s un
Boolean va fi convertit n "FALSE" sau "TRUE." Utiliznd formatul %d, Booleanul
va fi convertit n "0" sau "1." Similar, utiliznd formatul %s, un Enum va fi
convertit n textul su. Utiliznd formatul %d, Enum va fi convertit n valoarea sa
ntreag.

Converting Numerics to Strings


The Build String Express VI
concatenates an input string. If
the inputs are not a string, the
inputs are converted to a string
based on the configuration of the
Express VI. The Build String
Express VI is available in the
FunctionsOutput palette.

Converting Strings to Numerics


Scan From String: Converts the input string containing valid numeric
characters to individual numbers. Format string can specify multiple outputs with
differing data types (numeric, Boolean, etc.). The function can be stretched out
to add more output terminals.

Exerciii
1. S se realizeze un VI care s converteasc un numr i un control slide (Trailer) ntr-un string i
care s concateneze acest string cu un alt string (Header) astfel nct s rezulte un singur string de
ieire. VI-ul va determina de asemenea lungimea stringului de ieire.

2. S se realizeze un VI care s converteasc un numr ntr-un string i care s concateneze acest string cu alte stringuri astfel nct s rezulte
un singur string de ieire. VI-ul va determina de asemenea lungimea stringului de ieire.

3. Se va realiza un VI care s exemplifice modul de creare a unui tabel n care fiecare coloan corespunde unei variabile diferite

C. Fiiere Intrare/Ieire (I/O)


Operaiile cu fiiere de intrare / ieire (I/O) au ca scop
principal stocarea datelor pe un suport i preluarea
datelor dintr-un fiier
Principalele operaii ce pot fi realizate sunt:
Deschidere si nchidere fisiere de date;
Citirea datelor din fiiere si scrierea datelor n fisiere;
Mutarea si redenumirea fisierelor si directorilor;
Crearea de directori i fiiere, specificai n controlul
cale;
Scrierea de stringuri, numere, vectori i clustere n
fiiere.
Fiierele pot fi binare, text sau tabel.
Scrierea/Citirea n fiierele de msurare LabVIEW au
extensia lvm (*.lvm)

There are 4 levels of file I/O hierarchy: High-Level Utility File VIs,
Intermediate File I/O functions, Advanced File I/O and Express VIs
functions.

Four Hierarchy Levels:


High-level File VIs
Intermediate File VIs and Functions

Advanced File Functions subpalette


Express VIs

The high-level VIs handle all lower level functions transparently and provide a
simplified means of error handling. If an error occurs, a dialog box appears
showing the error.
The Intermediate File I/O functions provide substantially more flexibility while
still handling the lowest level of functionality for you. You can handle 80-90%
of file I/O operations at this level. Encourage students to use the Intermediate
File I/O functions for their applications
The Advanced File I/O functions manage all file I/O operations explicitly but are
the most complex.
This is a great place to explain the difference between VIs and Functions.
Functions are manilla/yellow, are the lowest level calls LabVIEW can make, and
you do not have access to their block diagram or source code. VIs included in
the functions palette have white backgrounds and if you look at their block
diagrams you will see they are composed of functions.

D. High-level File I/O VIs


Write to Spreadsheet File
Read from Spreadsheet File
Write Characters to File
Read Characters from File

Read Lines from File

E. Model de program pentru un Fiier I/O


Deschide/
Creaz/
nlocuiete
Fiier

Citete
i/sau
Scrie n Fiier

nchide
Fiier

Verific
Erorile

area (Scrierea) datelor ntr-un fiier

Deschide/Creaz/nlocuiete, deschide fiierul existent test1.dat i genereaz


fiierul identificator refnum i clusterul error, care este un mnunchi de date ce
conine informaii referitoare la erorile posibile.
Write File scrie datele
Close File nchide fiierul
Simple Error Handler verific erorile

Exemplu de scriere ntr-un fiier


Open/Create/Replace opens the existing file TEST1.DAT and
generates refnum and error cluster
Write File writes the data
Close File closes the file
Simple Error Handler checks for errors

tirea datelor dintr-un fiier

Open/Create/Replace opens the file


Read File reads the specified number of bytes from the file

Close File closes the file


Simple Error Handler checks for errors

F. Formarea stringurilor tabelare


Tabelele sunt unelte foarte utile pentru manipularea i analiza datelor
Exist mai multe formate pentru datele tabelare. Cel mai ntlnit este formatul
delimitat prin tab:
Coloanele sunt separate prin caracterul tab
Rndurile sunt separate prin caracterul end-of-line (enter)
Tabelele sunt uor de realizat utiliznd VI-urile fiiere I/O din LabVIEW, cel mai
utilizat fiind Format into File
Format Into File convertete orice
numr ntr-un string i insereaz
caracterele tab si end-of-line. Ieirea
este un string n format tab delimitat
compatibil cu multe programe tabelare.

earea fiierelor tabelare

Tab

End of Line

Funcii Expres pentru lucru cu Fiire I/O


n figura de mai jos se exemplific utilizarea funciei de scriere a datelor ntr-un fiier (Write To Measurement File). Se remarc
construcia fiierului de date cu precizrile referitoare la data simulrii, numrul de eantioane etc.

LabVIEW Measurement
Writer_Version
Reader_Version
Separator
Decimal_Separator
Multi_Headings
X_Columns
Time_Pref
Operator
Date
Time
***End_of_Header***
Channels
Samples
Date
Time
X_Dimension
X0
Delta_X
***End_of_Header***
X_Value

2
2
Tab
,
Yes
No
Relative
Mihai
2009/04/27
11:01:18,363543

1
100
2009/04/27
11:01:18,363543
Time
0,0000000000000000E+0
0,001000
Sine
0,000000
0,063418
0,126580
0,189233
0,251123
0,312003
0,371627
0,429755
0,486152
0,540593
0,592857
0,642734
0,690024
0,734536
0,776090

Comment

Exemplificarea citirii unui fiier de msurtori test_2.lvm i vizaualizarea informaiei acetuia este
prezentat n figura de mai jos.

Exerciiu: S se realizeze VI-ul de mai jos, care stocheaz datele ntr-un


fiier i care afiaz valoarea medie, maxim i minim a acestor date

10. Achiziia datelor


TOPICS
A. Overview and Configuration
B. Data Acquisition in LabVIEW
C. Analog Input
D. Data Logging
E. Analog Output
F. Counters
G. Digital I/O

A. Overview and Configuration

Sarcina fundamental a unui sistem DAQ este msurarea sau generarea


semnalelor fizice din (n) lumea real. Inainte ca un sistem bazat pe computer s
poat msura un semnal fizic, un senzor sau un traductor trebuie s converteasc
semnalul fizic ntr-un semnal electric cum este tensiunea sau curentul. Adesea,
placa DAQ plug-in este considerat a fi ntregul sistem DAQ; dar, placa este numai
una din componentele sistemului. Spre deosebire de majoritatea instrumentelor
independente, uneori nu se pot conecta semnalele direct la o plac DAQ plug-in.
Un accesoriu pentru condiionarea semnalului trebuie s condiioneze semnalele
nainte ca placa DAQ plug-in s le converteasc n informaie digital. In final,
software-ul controleaz sistemul DAQ achiziionnd datele brute, analiznd datele
i prezentnd rezultatele.
Schema simplificat a unui sistem computerizat de monitorizare i control,
cuprinznd componentele sale principale, este prezentat n figura de mai jos.
Trebuie remarcat faptul c dac ntre procesul monitorizat i traductor, respectiv
elementul de comand i procesul monitorizat, are loc un transfer de energie ce
poate lua diverse forme (mecanic, termic, electromagnetic etc.), n restul
sistemului exist un transfer de informaie coninut n semnale de natur electric.

Traductoarele sondeaza lumea reala, culeg semnale analogice (ex:


sunete, radiatii luminoase, etc.) si le transforma n semnale electrice pe
care le va prelua placa de achizitie. Exemple de astfel de traductoare:
microfoane, fotorezistente, celule fotovoltaice, termocupluri, etc.
n majoritatea situatiilor se utilizeaza sisteme de conditionare a semnalui
(filtre, amplificatoare) care asigura compatibilitatea semnalului electric cu
placa de achizitie si realizeaza, n unele situatii, o prelucrare primara a
semnalului.

Placa de achizitie are rolul de a asigura conversia semnalului analogic primit de la


traductor sau de la un sistem de conditionare a semnalui, n semnal digital. Ea poate
ndeplini si alte functii, precum generarea de semnale analogice, comunicatii digitale,
numarare (cronometrare) prin primirea si transmiterea de semnale sub forma de impulsuri.
Semnalele electrice ce intr sau ies din condiionatoarele de semnal sunt de natur
analogic, pe cnd semnalele schimbate ntre computer i convertoarele din cadrul plcii
de achiziie de date sunt de natur digital.
n sistemele computerizate de msurare i control, computerul are nu numai rolul de
prelucrare a informaiilor obinute ci i pe acelea de afiare a acestora pentru uzul
utilizatorului i stocare n vederea consultrii ulterioare.

Exemplu de achiziie a undelor sonore


Un exemplu de sistem de achiziie ce are ca senzor un microfon este prezentat mai jos. Microfonul
nregistraza vibratiile sonore emise de un diapazon, pe care le transforma n tensiune electrica
variabila. Aceasta este transmisa placii de achizitie care o va converti n cod binar. Sub aceasta
forma semnalul poate fi nregistrat, analizat si prezentat sub diferite forme pe monitorul
computerului.

Exemplu de conversie a semnalului digital n unde sonore


Placa de achizitie poate efectua si conversia semnalului binar n semnal analogic care sa fie
preluat n acest caz de boxele care l vor transforma din nou n vibratii sonore.

Exemplu de msurare a temperaturii

4400Ohm
Resistor

Laptop

+12V supply

USB
LabVIEW
RTD

NI 6008
VI

Traductorul/Senzorul este o termorezisten de platin (RTD)


Condiionarea de semnal este realizat cu ajutorul unei surse de
alimentare de 12V i o rezisten fix de 4400.
Unitatea de achiziie este o plac pe USB NI 6008

Plcile de achiziie National Instruments, includ drivere NI-DAQ, care sunt o


colecie de VI-uri, utilizate pentru configurarea, achiziia datelor de la placa de
achiziie, precum i trimiterea datelor de la aceasta.
NI-DAQ 7.0 conine dou drivere NI-DAQ - NI-DAQ tradiional i NI-DAQmx
fiecare cu Interfa de Programare Aplicaie (API) proprie, precum si configurare
hardware i software diferite.
NI-DAQmx este cea mai nou versiune de driver NI-DAQ, practic singura
versiune utilizat astzi. Acest driver, are noi VI-uri (fa de driverul tradiional),
noi funcii i unelte de dezvoltare pentru controlul plcilor de msurare.
Avantajul important al acestui nou driver l constituie VI-ul DAQ Assistant utilizat
pentru configurarea canalelor i a aplicaiilor de msurare.
Att NI-DAQ tradiional ct i NI-DAQmx suport diferite seturi de dispozitive

NI-DAQ conine:
NI-DAQ traditional
NI-DAQmx

Cadrul general al
software-ului de msurare

Odat cu instalarea lui LabVIEW, are loc i instalarea instrumentului software al firmei
National Instruments Measurement & Automation Explorer (MAX), care ajut la
instalarea i testarea echipamentelor hardware produse de firma National Instruments.
Acest program instaleaz i monitoriuzeaz orice echipament al firmei National
Instruments, care a fost conectat la calculator.

Measurement & Automation


Explorer (MAX),

n figura de mai jos se pot oberva posibilitiile oferite de acest component software: se
poate efectua un autotest (Self-Test) pentru a vedea dac echipamentul selectat
funcioneaz bine, un test de verificare (Test Panels), se poate crea o activitate (Create
Task) care se poate include n program, se poate vedea configuraia pinilor (Device
Pinouts), proprietiile placii (Properties).

Se poate efectua un test n care se pot regla i testa mai multe elemente. Acest test se numete
Test Panels. Un asemenea test este prezentat n figura de mai jos. n acest test se pot testa
intrarile analogice la care trebuie menionat valoarea maxim i minim a intervalului de msurare,
frecvena (Rate) i numrul de eantioane (Samples To Read), ieirile analogice, linii digitale I/O,
numrtoarele (counter/timer).

n figura alturat este artat modul


de creare a unei activiti (task),
selectnd opiunea Create Task.
n acest configurator trebuie setat
valoarea maxim i minim a
semnalului msurat, driverul
DAQmx amplificnd sau atenund
automat semnalul pentru o
rezoluie ct mai bun a
convertorului analog-numeric,
astfel nct msurarea ce va fi
efectuat va fi mult mai sensibil
pe domeniul selectat. Mai trebuie
de asemenea specificat
configurarea intrrilor analogice
(Terminal Configuration), unde
exist mai multe posibiliti. Se va
ncheia definirea task-ului prin
atribuirea unui nume. Toate
activitile pe care le definii se vor
regsi n lista Data
Neighborhood\NI-DAQmx Tasks.

B. Achiziia datelor n LabVIEW


VI-urile pentru achiziia de date n LabVIEW se afl
n subpaleta DAQmx - Data Acqusition a subpaletei
Measurement I/O, a paletei Functions. Subpaleta
DAQmx - Data Acqusition conine toate VI-urile
necesare pentru realizarea operaiilor I/O analogice,
I/O digitale i a operaiilor de contorizare/numrare.
Se pot configura activitile (task-urile) pentru a se
obine o sumedenie de funcii specifice utiliznd
Nodurile Proprietate aflate n aceiai subpalet.
Multe aplicaii, care nu necesit sincronizri i timinguri importante pot fi obinute cu ajutorul VI-ului DAQ
Assistant Express. Acest VI permite o uoar
configurare a plcii de achiziie. La plasarea lui DAQ
Assistant Expres, n diagrama bloc, apare i o cutie
dialog unde sunt configurate diferitele obiecte locale
pentru realizarea funciilor specifice de msurare.

NI-DAQmx pentru achiziia de date


Set de VI-uri utilizate pentru realizarea
operaiilor de I/O anlogice, I/O digitale i a
celor de numrare.
VI-ul Express, DAQ Assistant
Programare rapid i uoar a placilor DAQ
Creaz o aplicaie (task) local
Multe aplicaii pot utiliza VI-ul Expres DAQ
Assistant

Tipuri de aplicaii de achiziie de date cu NI-DAQmx


Atunci cnd este plasat VI-ul Express DAQ Assistant n diagrama bloc, apare o cutie de dialog
n care se configureaz aplicaia (task-ul) pentru realizarea funciei de msurare specific. Prin
crearea acestei aplicaii locale se va specifica exact tipul de msurare care va avea loc.

Se pot realiza urmtoarele


tipuri de msurri:
Analog Input
Analog Output
Counter Input
Counter Output
Digital I/O

C. Intrare analogic
Intrarea analogic este utilizat
pentru realizarea conversiilor
analog-digitale (A/D)
Tipurile de msurare disponibile
n aceast aplicaie sunt:
tensiune, temperatur, efort
(for), curent rezisten sau
frecven.
Fiecare tip de msurare are
propriile caracteristici, cum ar fi
valoarea rezistenei pentru
msurarea curentului sau
parametrii mrcii tensometrice
pentru msurarea efortului
(forei)

Analog Input Task Timing and Triggering


Configures the number of
samples and sample rate for
the task

Configures the start and reference


triggers for the task

Atunci cnd se realizeaz o aplicaie de intrare analogic, aceasta poate fi setat s achiziioneze 1
Eantion, n Eantioane sau o achiziionare Continu.
Achiziia 1 Eantion
Achiziia unui singur eantion este o operaie la cerere. Cu alte cuvinte, NI-DAQmx achiziioneaz o
valoare la o intrare a canalului i imediat returneaz valoarea. Aceast operaie nu necesit sincronizare
hardware. De exemplu, dac se monitorizeaz periodic nivelul de fluid ntr-un rezervor, vor trebui
achiziionate un singur punct de date. Traductorul conectat la rezervor va produce o tensiune
reprezentnd nivelul fluidului, la un singur canal al dispozitivului de msurare iniiind un singur punct de
achiziie.
Achiziia n Eantioane
O modalitate de a achiziiona eantioane multiple de la unul sau mai multe canale, const n achiziia de
eantioane singulare n mod repetat. Totui, achiziionnd un singur eantion de date, de la unul sau
mai multe canale, de mai multe ori, este ineficient i consum timp. Mai mult dect att, va lipsi
controlul asupra timpului dintre fiecare eantion sau canal. n locul acestei metode de achiziie se poate
utiliza sincronizarea hardware, care utilizeaz un buffer n memoria computerului, pentru a achiziiona
date mult mai eficient. Din punct de vedere al programrii, va trebui inclus n program o funcie de
sincronizare i va trebui specificat rata de eantionare i modul de eantionare. Ca i n alte funcii, vom
avea posibilitatea s achiziionm eantioane multiple de la un singur canal sau de la mai multe canale.
n acest caz, am putea monitoriza att nivelul de fluid n rezervor ct i temperatura. Vom avea nevoie
de dou traductoare conectate la doua canale ale plcii.
Achiziia Continu
Utilizat atunci cnd se dorete vizualizarea unui proces.

Exerciiul 10.1: VI-ul Voltmetru

OBJECTIVE

Obiectiv: Achiziia unui semnal analogic utiliznd placa de achiziie NI USB


6008.
Se vor completa paii de mai jos pentru realizarea unui VI care s msoare
tensiunea conectat la canalul ai0 al plcii de achiziie
1. Se deschide un VI gol i se va realiza panoul frontal din figur

2. Se va realiza diagrama bloc din figur

a. Plasai VI-ul
Place the DAQ Assistant Express VI located on the Functions Input palette, on the block diagram.
Configure this VI to read an analog input channel and return the voltage.
Select Analog InputVoltage for the measurement to make.
Select Dev1ai0 for the physical channel.
Click the Finish button.
The Analog Input Voltage Task dialog box appears. Configure the Task Timing to Acquire 1 Sample.
Click the OK button to close the Analog Input Voltage Task
Configuration dialog box. This saves the settings specified for the task in the DAQ Assistant Express VI.
b. Place the Wait Until Next ms Multiple function, located on the FunctionsAll FunctionsTime & Dialog
palette, on the block diagram. Right-click the input and select Create Constant from the shortcut menu.
Type 100 in the constant to cause the loop to execute every 100 ms.
c. Place the Unbundle by Name function, located on the FunctionsAll FunctionsCluster palette, on the
block diagram. Use this function to access the status from the error cluster.
d. Place the Or function, located on the FunctionsArithmetic&ComparisonExpress Boolean palette,
on the block diagram. This function stops the loop if an error occurs or the user clicks the power switch on
the front panel.
3. Save the VI as Voltmeter.vi in the C:\Exercises\LabVIEW Basics I directory. You will use this VI later in
the course.
4. Display the front panel and run the VI.

Exercise 9.3
Measurement Averaging VI

OBJECTIVE

Time to complete: 15 min.

Page 9-18

To reduce noise in analog measurement by averaging.

D. Data Logging
It is often necessary to permanently store data that is acquired from
the DAQ device
LabVIEW includes the ability to read and write a LabVIEW
Measurement File
LabVIEW Measurement File is an ASCII text file

Exercise 9.4
Simple Data Logger VI

OBJECTIVE

Time to complete: 15 min.

Learn to use a LabVIEW Measurement File.

Page 9-20

E. Analog Output

Analog Output task is


specific to the
generation type

Analog Output Task Timing and Triggering


Configures the number of
samples and sample rate for
the task

Configures the start and reference


triggers for the task

Exercise 9.5
Voltage Output VI

OBJECTIVE

Time to complete: 15 min.

Page 9-25

To output an analog voltage using the DAQ device.

F. Counters
A counter is a digital timing device
Typical uses of a counter:
Event counting
Frequency measurement
Period measurement
Position measurement
Pulse generation

Gate

Output
Count Register

Source

Count register Stores the current count of the counter


Source Input that causes the counter to increment each time it toggles
Gate Input that is used to enable or disable the function of the counter
Output Signal that generates pulses or a series of pulses

How does a counter work?

Source

Gate

Count (Output)

* Counter set to event counting on a rising edge.

Exercise 9.6
Simple Event Counting VI

OBJECTIVE

Time to complete: 15 min.

To create a simple event counting VI.

Page 9-29

G. Digital Input and Output


Digital I/O can read
from or write to a
line or an entire
digital port
A digital port is a
collection of digital
lines

Exercise 9.7
Digital Example VI
Time to complete: 15 min.

Page 9-32

OBJECTIVE

To control the digital I/O lines on the DAQ device.

Summary
MAX is the primary configuration and testing utility that is available
for the DAQ device.
The DAQ Assistant is used to configure the DAQ device and
perform data acquisition.
Most application can use the DAQ Assistant. For applications that
require advanced timing and synchronization use the VIs that come
with NI-DAQmx.
The DAQ Assistant can perform Analog Input, Analog Output,
Digital I/O, and Counter operations.

S-ar putea să vă placă și