Documente Academic
Documente Profesional
Documente Cultură
O analiză intensă a
măsurării este realizată
în mediul de dezvoltare
LabVIEW.
Prezentare cu LabVIEW
LabVIEW include următoarele
instrumente utilizate pentru
prezentarea datelor:
• On your machine — Graphs, Charts,
Tables, Gauges, Meters, Tanks, 3D
Controls, Picture Control, 3D Graphs
Prezentarea cu (Windows Only), Report Generation
(Windows Only)
LabVIEW poate • Over the Internet — Web Publishing
fi facuta pe PC Tools, Datasocket (Windows Only),
sau printr-o TCP/IP, VI Server, Remote Panels,
Email
reţea.
LabVIEW Everywhere
Sensor
Embedded
(FPGA)
Handheld
Wireless
Networked I/O
PC Boards
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 = Intrări
• Indicatoare = Ieşiri
Diagrama Bloc
• “Program” ce însoţeşte
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 conţine 3 părţi principale:
1. Panoul Frontal – permite interacţionarea 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 intrările şi poate urmării
updatarea datelor în timp real.
•Fiecare control sau indicator al panoului frontal are un terminal corespunzător în
diagrama bloc. Când un VI rulează, valorile controalelor trec în diagrama bloc,
unde sunt utilizate în funcţionarea diagramei, iar rezultatele sunt trecute în alte
funcţii sau indicatoare.
B. Mediul LabVIEW
Creating a new VI
To open a blank VI
• Select File»New VI
• Click the arrow on the
New button and
select Blank VI
Control
Boolean Legenda
Graficului
Indicator
Grafic
Plot Legenda
Legend Scalei
Diagrama Bloc (DB) a VI-
ului
Uneltele
DB Funcţia
Divide
SubVI
Terminalul
Grafic
Fire
de date
Controls Palette
Contains the most commonly used controls
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 construiește cu controale (intrări)
și cu indicatoare (ieșiri)
Indicato
r
Etichete Numeri
c
Butoane pentru
incrementare Control
Control Indicator Numeric
Boolean Boolean
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
Wires Nodes
VI-uri Express, VI-uri Standard și
Funcţii
• VI-uri Expres : VI-uri interactive cu pagină dialog configurabilă, ce permite
utilizatorului modificarea funcționalității VI-ului expres.
• VI-uri Standard : VI-uri modularizate realizate prin fire de legătură. Au PF și
DB
• Funcţii: elemente fundamentale de operare în LabVIEW; Nu au PF sau DB
Funcţie
VI Expres VI Standard
Elementele utilizate la realizarea
diagramei
•Terminale
bloc
•Fire
•Noduri
Terminalele reprezintă „porţi” prin intermediul cărora se realizează
transferul datelor:
-între panoul frontal şi diagrama bloc (bidirectional);
-între nodurile diagramei bloc (unidirectional).
Există două tipuri de terminale :
-terminale sursă;
-terminale destinaţie.
Firele, definesc şi reprezintă grafic, fluxul datelor (între noduri se
realizează schimbul de informaţii) în diagrama bloc. Fluxul datelor
este de la terminalele sursă spre terminalele destinaţie. Firele
codifică prin culoare şi stilul liniei tipul datelor transmise;
poziţionand unealta de interconectare deasupra unui fir, care
realizează o legătură validă, se obţine în fereastra de asistenţă
descrierea tipului de dată care se transmite pe acea cale.
Nodurile sunt elemente de execuţie din programul G. Ele corespund
operatorilor, funcţiilor predefinite, instrucţiunilor şi subrutinelor
realizate de utilizator din limbajele de programere bazate pe text.
Există patru tipuri de noduri:
-funcţii
-subIV
-codul interfeţei nodurilor (CIN)
-structuri
Funcţiile sunt elemente constructive ale nodurilor care cresc
performanţa operaţiilor elementare: de exemplu adunarea numerelor.
SubIV sunt instrumente virtuale create anterior şi care se introduc în
diagrama bloc a altor instrumente.
CIN reprezintă interfaţa 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
Expanded Node
• Function Generator VI
• Same VI, viewed three different ways
• Yellow field designates a standard VI
• Blue field designates an Express VI
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
Legături
(fire) în DB
Albastru
Dynamic
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
Items»Terminals
View the terminal connections to a
function
Moduri de ralizare de legături – DB
Wiring “Hot Spot” Click To Select Wires
•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 fără 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ă
•Număr 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
•Număr complex în virgulă mobilă:
– Numărul complex în virgulă mobilă are o reprezentare echivalentă ca
și numerele reale în virgulă mobilă. Singura diferență este că
numărul 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.
•Câteva dintre multele aplicații 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 fișier ASCII, trebuie mai întâi convertite
numerele numerice în stringuri.
−Cutii de dialog, pentru diferitele atenționări ale utilizatorului.
•Există următoarele tipuri de elemente de tip string:
−Control String
−Indicator String
−Funcții String
Date Booleene
•Datele Booleene sunt date de tip logic. Acestea au două valori:
ADEVĂRAT și FALS. Datele Booleene sunt reprezentate prin două
stări 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 funcții logice. Există
șase moduri de operare al acestora.
1.Switch when pressed (Comută când este apăsat)
2.Switch when released (Comută când este eliberat)
3.Switch until released (Comută până când este eliberat)
4.Latch when pressed (Închide când este apăsat)
5.Latch when released (Închide când este eliberat)
6.Latch until released (Închide până când este eliberat)
Change state on a button press.
Remain there until another button
Switch When Pressedpress.
Change state on a button release.
Remain there until another button
Switch When Released
release.
Change state on a button press.
Change back when the button is
Switch Until Released
released.
Change state on a button press.
Latch When Pressed Change back when the control is read
by LabVIEW.
Latch When ReleasedChange state on a button release.
Change back when the control is read
by LabVIEW.
Latch Until Released
Change state on a button press.
Change back when released and read
by LabVIEW.
E. Programarea fluxului de date
• DB este executată în
funcţie de fluxul de date
• Nodurile alimentează cu
date toate terminalele
de ieşire
Exercise: Express Filter VI
Objective: Explore the data flow of an example VI.
F. LabVIEW Documentation:
Context
•To display theHelp
Context Help window, select
Help»Show 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
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
SUBIECTE
A. SubVI-uri
B. Panoul Icoană și Conector
C. Utilizarea SubVI-urilor
D. Crearea unui SubVI dintr-o secțiune a unui VI
A. Ierarhia LabVIEW
SubVI
SubVI-uri
•După construirea unui VI şi crearea icoanei şi
conectorului său, acesta poate fi utilizat într-
un alt VI. Un VI dintr-un alt VI se numeste
subVI. Un subVI corespunde unei subrutine
într-un limbaj de programare pe bază de text.
• Avantaje
– Modular
– Uşor de reparat
– Nu trebuie recreat codul
– Necesită mai puţină memorie
Function Pseudo Code Calling Program Pseudo
function average (in1, in2, Code
out) main
{ {
out = (in1 + in2)/2.0; 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 preferințele utilizatorului, nemodificându-se funcționalitatea subVI-ului
B. Icoana şi Conectorul
Fiecare VI afişază o icoană în colţul din dreapta sus a PF şi a DB. O icoană este o reprezentare
grafică a unui VI. Ea poate conţine text, imagini sau combinaţii de ambele. Icoana identifică subVI-ul
dintr-o DB a unui VI.
ICOANA
Terminale
• O icoană reprezintă un VI într-o altă DB
(Execută diagrama
Terminal din interiorul buclei)
iterație
While Condition is TRUE
Terminal condiționare
Selectarea condițiilor buclei
•Clic dreapta în terminalul condiționare pentru definirea opririi buclei
•Pe marginile buclei se pot crea regiștri de deplasare care transferă datele de la o
iterație la următoarea
Terminalul de numărare
(terminal de intrare)
Terminal iterație
(terminal de ieșire)
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.
Output = 5 Output = 5
Output = 5 Output = 5
Uninitialized Shift Registers &
Feedback Nodes
Output = 4 Output = 8
Output = 4 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 colecţie de elemente ale datelor care sunt toate de acelaşi tip.
• Un tablou are una sau mai multe dimensiuni şi până la 2^31 – 1 de elemente pe dimensiune, sau cât permite memoria.
• Tablourile, în LabVIEW, pot fi de orice tip: numerice, Booleane, tip cale, stringuri, unde, și tip clustere (exceptând şiruri,
tabele sau grafice).
• Se poate accesa fiecare element al tabloului prin index-ul său. Index-ul este în gama (0, N-1) unde N este numărul
elementelor din tablou. Tabloul unidimensional (1D) arătat mai jos ilustrează această structură. De notat că primul
element are index-ul 0, al doilea element are index-ul 1, etc..
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
Appending an element
Concatenate Inputs
Extracting an Element
Extracting a Row
• Functiile aritmetice si logice pentru valori scalare, precum si cele pentru valori alfanumerice, permit conectarea
de Array-uri 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ă capabilităţile funcţiilor din LabView (de ex. adunare,
înmulţire, împărţire) de a accepta la intrare date cu dimensiuni şi reprezentări
diferite. Funcţiile aritmetice care posedă aceste proprietăţi se numesc funcţii
polimorfice.
• Un exemplu clasic pentru această proprietate este poliformismul funcţiei
adiţionale scalar – scalar, scalar – matrice și matrice-matrice de dimensiuni
diferite.
Combina Rezultat
ția ul
Scalar+Scala Scalar
r
Array
Array+scalar
Array
Array+Array
Array
Array+Array
Exerciții
1. Să se creeze un VI cu 6 intrări booleane (opțional) și care să
returneze numărul primei intrări adevărate (opțional).
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.
•Exerciții (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 Controls»Array & 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 auto-indexing in While Loops.
• Polymorphism is the ability of a function to adjust to
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 legătură 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 ieșire) chiar dacă acesta
transportă multiple valori de diferite date, clusterele reduc firele și numărul 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 2. Place objects inside the
Cluster shell shell
from the Array &
Cluster
subpalette
134
Creating Cluster Constants
1. Select
Cluster
Constant shell
from the Cluster
subpalette
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 ieșirea
subVI-urilor.
Clusterele reduc astfel
numărul de fire într-o
diagramă.
137
B. Funcții Cluster
• Aceste funcții se găsesc în subpaleta Cluster, Class
& Variant a paletei Functions>>Programming
Funcţia Bundle
• Grupează mai multe componente, realizând un
grup, sau înlocuieşte una sau mai multe
componente ale unui grup existent.
• Gruparea elementelor se realizează în ordinea acestora în cadrul grupului. Prima componentă conectată la funcţia Bundle este componenta cu index-ul
0, urmează componenta cu index-ul 1, s.a.m.d. Numărul de intrări poate fi modificat fie prin selectarea Add Input din meniul contextual al intrării fie
utilizând unealta de poziţionare / redimensionare din caseta Tools.
•O altă exemplificare a utilităţii funcţiei Bundle este
prezentată în figura de mai jos.
•Constanta numerică (setată la valoarea 0) defineşte punctul
de origine real iar prin controlul numeric se impune valoarea
de incrementare. Funcţia Bundle reuneşte datele numerice
permiţând reprezentarea grafică.
•Funcţia 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 funcţiei.
•În cadrul aplicaţiei de mai jos, funcţia bundle permite
înlocuirea valorii numerice corespunzatoare controlului Knob
şi respectiv a controlului Numeric 2, cu valorile numerice
corespunzătoare controalelor knob_input, respectiv Numeric
2_input.
Funcţia Bundle by Name
• Funcţia Bundle by Name este folosită doar pentru înlocuirea unei componente dintr-un
grup existent. Modul de lucru este asemănător cu cel prezentat anterior. Cluster-ul existent
se conectează la intrarea specificată a funcţiei (input cluster). În ordinea logică a
construcţiei se introduce controlul care va înlocui o componentă. Componenta de înlocuit
se va identifica după numele reprezentat prin eticheta asociată. Numărul posibilităţilor de
înlocuire se pot vizualiza din meniul contextual al intrării funcţiei prin selectarea opţiunii
Select Item.
Funcțiile Unbundle și Unbundle by
Name
•Descompunerea (degruparea) grupurilor (clusterelor) în componente, se realizează
cu ajutorul a două funcţii, 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 Controls»Array & Cluster palette
include the components
• Error cluster contains
of information shownthe 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.
TOPICS
A. Waveform Charts
B. Waveform and XY Graphs
C. Intensity Plots
Înregistratoare (Grafice)
•Înregistratoarele sunt indicatoare
numerice speciale care afişează
una sau mai multe curbe. Acestea
se găsesc î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)
Graph Palette
Scale Legend
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
e the Context Help window with charts and graphs
C. Intensity Plots and Graphs
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.
• 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 alăturată se prezintă o structură secvenţială 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 utilizării structurii secvenţiale stivă este prezentată în
figura de mai jos
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) afișabile sau neafișabile (spațiu, tab, e.t.c.)
• Utilizări – afișarea mesajelor, controlul instrumentelor, fișiere I/O
• Controalele/indicatoarele string se găsesc în subpaleta Controls» »Text Control or Text
Indicator
Moduri de afișare a stringurilor
• Normal display • \ code display
• De asemenea, subpaleta
String conţine un element
String Constant utilizat
pentru introducerea în
diagramă a valorilor
alfanumerice constante.
Funcţia String Length determină numărul de caractere dintr-o valoare
•
alfanumerică. Sunt luate în considerare şi caracterele neafişabile (spaţiu, Tab,
sfârşit de linie etc). Numărul de caractere de la ieşirea funcţiei este exprimat ca
un număr întreg pe patru octeţi.
3. Se va realiza un VI care să exemplifice modul de creare a unui tabel în care fiecare coloană corespunde unei variabile diferite
C. Fișiere Intrare/Ieșire (I/O)
Operaţiile cu fişiere de intrare / ieşire (I/O) au
ca scop principal stocarea datelor pe un
suport şi preluarea datelor dintr-un fişier
Principalele operații ce pot fi realizate sunt:
• Deschidere si închidere fisiere de date;
• Citirea datelor din fișiere si scrierea datelor
în fisiere;
• Mutarea si redenumirea fisierelor si
directorilor;
• Crearea de directori și fișiere, specificați în
controlul cale;
• Scrierea de stringuri, numere, vectori și
clustere în fișiere.
Fișierele pot fi binare, text sau tabel.
Scrierea/Citirea în fișierele de măsurare
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.
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
Fișier I/O
Deschide/ Citește
Crează/ Închide Verifică
și/sau
Înlocuiește Fișier Erorile
Scrie în Fișier
Fișier
varea (Scrierea) datelor într-un
er
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 măsurarea sau generarea semnalelor
fizice din (în) lumea reală. Inainte ca un sistem bazat pe computer să poată măsura 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
condiţionarea semnalului trebuie să condiţioneze semnalele înainte ca placa DAQ
plug-in să le convertească în informaţie digitală. In final, software-ul controlează
sistemul DAQ – achiziţionând datele brute, analizînd datele şi prezentând rezultatele.
•Schema simplificată a unui sistem computerizat de monitorizare şi control, cuprinzând
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 informaţie conţinută î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 condiţionatoarele de semnal sunt de natură
analogică, pe când semnalele schimbate între computer şi convertoarele din cadrul plăcii
de achiziţie de date sunt de natură digitală.
•În sistemele computerizate de măsurare şi control, computerul are nu numai rolul de
prelucrare a informaţiilor obţinute ci şi pe acelea de afişare a acestora pentru uzul
utilizatorului şi stocare în vederea consultării ulterioare.
Exemplu de achiziţie a undelor sonore
Un exemplu de sistem de achiziţie 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 măsurare a temperaturii
4400Ohm
Resistor Laptop
+12V supply USB
LabVIEW
RTD NI 6008
VI
Cadrul general al
software-ului de măsurare
• 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.
Se pot realiza
următoarele tipuri
de măsurări:
•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 măsurare disponibile în
această aplicație sunt: tensiune,
temperatură, efort (forță), curent
rezistență sau frecvență.
• Fiecare tip de măsurare are
propriile caracteristici, cum ar fi
valoarea rezistenței pentru
măsurarea curentului sau
parametrii mărcii tensometrice
pentru măsurarea efortului (forței)
Analog Input Task Timing and
Triggering
Configures the number
of samples and sample
rate for the task
Measurement Averaging VI
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
Measurement File.
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
Voltage Output VI
DAQ device.
F. Counters
A counter is a digital timing device
Typical uses of a counter:
• Event counting Gate Output
• Frequency measurement
Count Register
• Period measurement
• Position measurement Source
• Pulse generation
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
How does a counter work?
Source
Gate
Count (Output)2 4 6
Digital Example VI
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.