You are on page 1of 61

F.

Diagrama Bloc
• Diagrama Bloc (DB) reprezintă programul
propriu-zis dezvoltat în mediul LabVIEW şi
conţine codul sursă al instrumentului virtual.
• O DB conţine următoarele elemente:
- terminale
- noduri
- fire de legătură
- structuri

Figure 2.15. Example of a Block Diagram and Corresponding Front Panel

• Terminalele sunt porturi de intrare-ieşire ce fac
legătura dintre PF şi DB.
• Ele sunt corespondentele obiectelor de pe PF şi
se reprezintă pe DB printr-un simbol care este în
concordanţă cu tipul de dată vehiculată de
obiect.

Terminale Same label name .

iar cele cu conturul subţire corespund indicatoarelor de pe PF. Mutarea unui terminal pe DB nu conduce la mutarea obiectului corespunzător de pe PF.• Terminalele pot fi şterse de pe DB doar odată cu obiectul de pe PF. . • Terminalele cu conturul îngroşat corespund controalelor.

View Terminals as Icons • By default. • Deselect View as Icon for a more compact view. . View as Icon option enabled.

subVIs and functions also have terminals shown at left. Because terminals represent the inputs and outputs of your VI.15 belong to four front panel controls and indicators.• The terminals in Figure 2. . For example. To display the terminals of the function on the block diagram. the connector panes of the Add and Subtract functions have three node terminals. right-click the function node and select Visible Items»Terminals from the shortcut menu.

indicators. Indicators.Controls. Consider the implementation of the algorithm for the area of a triangle: . and constants behave as inputs and outputs of the block diagram algorithm. and Constants • Controls.

Figure 2. Area of a Triangle Front Panel .16.

17.Figure 2. Area of a Triangle Block Diagram with Icon Terminal View .

Figure 2. Area of a Triangle Block Diagram without Icon Terminal View .18.

Noduri în DB • Nodurile sunt obiecte de pe DB care sunt caracterizate de un număr de intrări/ieşiri şi care execută diverse operaţii şi funcţii în timpul rulării IV-ului. subVI-uri sau structuri. . • Nodurile pot fi funcții. funcţiilor şi subrutinelor din limbajele de programare bazate pe text. • Nodurile sunt analoage instrucţiunilor.

Noduri Noduri 13 .

• Structurile sunt elemente pentru controlul proceselor. • O structură este reprezentată printr-un dreptunghi a cărui dimensiune poate fi modificată.case) din limbajele de programare clasice. . bucla For și bucla While. • Structurile din LabView sunt echivalentul grafic al instrucţiunilor de ciclare (for. while) şi de decizie (if. cum ar fi structura Case.

but do have connector panes. – Functions do not open like VIs and subVIs. – Double-clicking a function only selects the function. . • Do not have front panels or block diagrams. • Has a pale yellow background on its icon. Noduri Funcție – Functions are: • Fundamental operating elements of LabVIEW.

. • Use the icon from the upper-right corner of the front panel as the icon that appears when you place the subVI on a block diagram. the front panel and block diagram open. – When you double-click a subVI. • Have front panels and block diagrams. – Any VI has the potential to be used as a subVI. SubVI Nodes – SubVIs : • Are VIs that you use on the block diagram of another VI.

This is the icon that appears when you place the VI on a block diagram as a subVI. possibly subVIs. icons. The front panel includes controls and indicators. When you double-click a subVI on the block diagram. its front panel window appears. and other LabVIEW objects. The block diagram includes wires. functions. • The upper right corner of the front panel window and block diagram window displays the icon for the VI. .• Any VI has the potential to be used as a subVI.

. • LabVIEW uses colored icons to distinguish between Express VIs and other VIs on the block diagram. Icons for Express VIs appear on the block diagram as icons surrounded by a blue field whereas subVI icons have a yellow field. Use Express VIs for common measurement tasks.• SubVIs also can be Express VIs. Express VIs are nodes that require minimal wiring because you configure them with dialog boxes. You can save the configuration of an Express VI as a subVI.

• Require minimal wiring because you configure them with dialog boxes. • Save each configuration as a subVI. Express VIs – Express VIs: • Are a special type of subVI. 19 . – Icons for Express VIs appear on the block diagram as icons surrounded by a blue field.

Expandable nodes appear as icons surrounded by a colored field.Expandable Nodes versus Icons • You can display VIs and Express VIs as icons or as expandable nodes. By default. • Use icons if you want to conserve space on the block diagram. right-click the subVI or Express VI and remove the checkmark next to the View As Icon shortcut menu item. SubVIs appear with a yellow field. and Express VIs appear as expandable nodes. • To display a subVI or Express VI as an expandable node. . and Express VIs appear with a blue field. subVIs appear as icons on the block diagram. Use expandable nodes to make wiring easier and to aid in documenting block diagrams.

19. expandable node . Icon vs.Figure 2.

Firele au diferite culori. Un fir rupt. Un fir cu două surse de date este un fir rupt. stiluri şi grosimi ce depind de tipurile de date vehiculate. dar oricât de mulţi receptori. • In figura următoare sunt prezentate principalele tipuri de fire ce vehiculează date într-un IV.Firele de legătură • Transferă datele între obiectele de pe DB. se reprezintă printr-o linie întreruptă. . Fiecare fir are o singură sursă de date. ce nu poate transporta date.

.

• Informaţia vehiculată în VI-urile construite în LabVIEW se prezintă sub forma unei largi varietăţi de tipuri de date. • Cele mai importante sunt datele numerice. dar şi alte tipuri cum ar fi booleenele. • Mai jos sunt date tipurile de date numerice precum şi celelalte tipuri de date care sunt în mod obişnuit utilizate în construcţia VI-urilor. şirurile de caractere sau clusterele sunt de asemenea foarte utilizate. .

Tipuri de date cu firele de legătură corespunzătoare. în LabVIEW .

waveform şi cluster. căi de fişiere. Se poate selecta din subpaleta Array&Cluster. – Cluster (Grupuri): Un Cluster grupează elemente de date de tipuri diferite. Dimensiunile sunt repezentate de lungimea.• Definitii – Array (Tablou): Un Array grupează date de acelaşi tip şi este alcătuit din elemente şi dimensiune. Elementele sunt reprezentate de datele ce alcătuiesc tabloul. la fel ca un mănunchi de fire dintr-un cablu telefonic. boolean. Un tablou se poate construi din date de tip numeric. înălţimea sau adâncimea tabloului. string. . în care fiecare fir din cablu reprezintă un element diferit al grupului (cluster-ului).

noduri. structuri şi subIV-uri cu ajutorul cărora se construieşte programul în LabVIEW. • In cel de-al doilea mod. paleta poate fi fixată ca fereastră pe ecran prin mouse stânga pe pioneza din stânga sus a acestei ferestre.Paleta de funcţii • Paleta de funcţii este o fereastră ce se deschide doar de pe DB. . Aceasta conţine operatori. funcţii. Accesarea paletei de funcţii se face în modurile următoare: • View – Show Functions Palette • MD pe DL. Altfel. paleta se închide după realizarea unui mouse stânga oriunde pe DB.

20. Functions Palette . Figure 2. To view or hide categories. and select or deselect the Change Visible Palettes option. click the Customize button on the palette.

Celelalte sunt biblioteci care pot fi apelate de către utilizator la construirea de aplicaţii dedicate. care se expandează în mod implicit. • De exemplu. Cele mai utilizate sunt cele din subpaleta Programming. dacă se realizează un VI necesar procesării unor semnale achiziţionate în prealabil.• Funcţiile pe paletă sunt grupate după destinaţia lor. . se utilizează funcţii din subpaleta Signal Processing.

avem la dispoziţie biblioteca Mathematics. la fel ca orice terminal). . Meniul shortcut al funcţiilor • Fiecare funcţie are disponibil un meniu shortcut. cu ajutorul căruia se stabilesc o serie de parametri. se poate apela helpul mare. • Multe din aceste subpalete nu sunt populate cu funcţii. Adăugarea de biblioteci acestor subpalete se face prin instalarea toolkit-urilor dedicate puse la dispoziţie de National Instruments.• Dacă este necesar un aparat matematic complex. se pot face descrieri ale funcţiei sau se pot stabili punct de întrerupere în vederea depanării programului. se pot vizualiza etichete (funcţia poate fi etichetată. se pot vizualiza exemple.

prin care se permite utilizatorului înlocuirea funcţiei cu o alta prin deschiderea automată a paletei de funcţii. O opţiune comună mai este Replace. mai există o serie de opţiuni specifice fiecărei funcţii.• Aceste opţiuni sunt comune tuturor funcţiilor. . prin opţiunile: • Visible Items • Help • Examples • Description and Tip… • Set Breakpoint • Pe lângă acestea. în prima parte a meniului.

.Bara cu unelte în DB • În figura de mai jos sunt prezentate comenzile barei de meniuri a diagramei bloc.

.lansează programul în mod continuu ca şi în limbajul de programare C cu ajutorul buclei While.• Semnificaţiile comenzii barei de meniuri sunt prezentate în cele ce urmează:  Run – lansează programul.  Run Continuously .  High light execution (Execuție animată) – comandă foarte utilă care permite vizualizarea fluxurilor de informaţii în blocurile diagramei în timpul execuţiei programului.  Abort execution – opreşte programul.

 Step over – rulează programul nod cu nod fără însă a intra în detaliile de execuţie ale buclei.  Finish Block Diagram .  Step in – rulează programul treptat revenind la fiecare buclă în parte.opreşte execuţia. Retain Wires – atunci când este activat cablurile (wires) păstrează o copie a ultimei valori în cazul în care programul este oprit. .

search for the function or VI using the Search button. click the Search button on the Functions palette toolbar and start typing Random Number in the text box at the top of the palette. LabVIEW lists all matching items that either start with or contain the text you typed. . if you want to find the Random Number function. G. For example. VI-urilor și Funcțiilor • Until you are familiar with the location of VIs and functions. Căutarea Controalelor.

Right-click the object on the palette and select Add Item to Favorites.• You can click one of the search results and drag it to the block diagram. you can add it to your Favorites category. as shown in Figure 2. • If the object is one you need to use frequently.22. Double-click the search result to highlight its location on the palette. . as shown in Figure 2.21.

22.21.Figure 2. Adding an Item to the Favorites Palette Category of a Palette . Searching for an Object in the Functions Figure 2.

. • Pentru afișarea cutiei de dialog Quick Drop se va selecta View»Quick Drop.• Similar cu butonul Search. Apoi se va tipării numele obiectului dorit a se adăuga în DB sau în PF. LabVIEW va afișa rezultatul căutării în Name Match List. se poate utiliza cutia de dialog Quick Drop pentru a găsi după nume. diferitele obiecte și apoi plasarea lor in DB sau în PF.

Figure 2.23. Searching for an Object in the Quick Drop Dialog Box

Apelarea helpului în LabVIEW
• LabVIEW prezintă un puternic sistem de helpuri
prin care utilizatorul este ghidat şi îndrumat în
activitatea de programare.
• In plus, utilizatorul are la dispoziţie un număr
mare de exemple, grupate pe categorii de
aplicaţii, în care sunt exemplificate diverse situaţii
de operare a unor funcţii şi în care se pot găsi de
multe ori soluţii tehnice.
• Atât helpurile, cât şi exemplele, sunt disponibile
în meniul principal Help, accesabil atât de pe PF
cât şi pe DB.

• De remarcat faptul că National Instruments pune la
dispoziţie o bibliotecă a utilizatorilor accesibilă pe
Internet denumită LabVIEW Zone, în care
dezvoltatorii de instrumente virtuale pot găsi soluţii la
problemele lor, dar pot oferi ei înşişi soluţii prin
posibilitatea de a posta în această bibliotecă propriile
VI-uri.
• Local, există două tipuri de helpuri ale programului:
 un help sumar, apelabil din meniul principal Help –
Show Context Help, prin care se deschide o
fereastră permanentă în care se afişează informaţii
sumare despre funcţia de pe DB sau obiectul de pe
PF.

opţiunea Help. . Aici se dau informaţii mai detaliate privind funcţia. specific doar funcţiilor de pe DB. helpul mic furnizează informaţii despre funcţiile din paleta de funcţii la simpla accesare a acestora cu mouse-ul. Informaţia este afişată doar la suprapunerea prompterului mouse-ului peste acel obiect sau funcţie (fără a se face clic). De asemenea.  Un help detaliat. Help-ul detaliat se mai poate deschide şi apăsând pe linkul Detailed help din help-ul sumar. apelabil din meniul shortcut al funcţiei (mouse dreapta pe funcţie). inclusiv exemple sau aplicaţii.

după conceptul „flux controlat”. C/C++. Java. sunt executate secvenţial.). bazate pe instrucţiuni text (Visual Basic. Fluxul datelor • Programele scrise în limbaje procedurale. H. etc. în care instrucţiunile se execută într-o ordine prestabilită prin program. .

. • Chiar în interiorul unui VI programul lucrează multitasking. după care funcţionează LabVIEW. în sensul că se pot executa mai multe funcţii în acelaşi timp. în care datele şi efectuarea funcţiilor şi a nodurilor se realizează în paralel. cu condiţia ca acestea să aibă toate datele disponibile la intrare.• Limbajul G. foloseşte tehnica „fluxului de date” (data flow).

. un nod care are disponibile datele la toate intrările. • Un model al conceptului „data flow” este ilustrat în figura următoare. dacă ieşirea unui nod reprezintă intrare pentru alt nod.• După acest concept. în cazul programării procedurale şi al programării în LabVIEW. este efectuat indiferent de starea celorlalte noduri. pot rula în acelaşi timp mai multe VI-uri. In figură se prezintă modul în care se realizează funcţiile f şi g. cel de-al doilea nod va trebui să aştepte până ce este efectuat cel dinainte. Aşadar. Evident însă. ambele de variabile A şi B.

.

• De remarcat că funcţia g se efectuează abia după efectuarea funcţiei f.B). ducând la pierdere de timp. apoi funcţia g(A. . E posibil însă ca datele B să fie disponibile înaintea datelor A. apoi cele B. după care se efectuează funcţia f(A.B). apoi le citeşte pe cele B. Programul aşteaptă întâi datele A.• In cazul Programării clasice întâi se citesc datele A. deşi datele de intrare sunt disponibile pentru ambele funcţii.

fiecare dată fiind citită de îndată ce este disponibilă. .• In cazul programării în LabVIEW. nu există o prioritate între intrările A şi B. de îndată ce datele de intrare sunt disponibile. • Mai mult. funcţiile f şi g se efectuează independent una de cealaltă.

memoria se eliberează. esenţială în aplicaţiile în care operaţiile trebuie să se succeadă cu viteză (ex. In felul acesta se realizează şi o economie importantă de resurse. . După ce datele cu care s-a lucrat nu mai sunt necesare.• In felul acesta se obţine o economie substanţială de timp. doar pentru datele care sunt în lucru. • Alocarea şi managementul memoriei se face automat de către program.: achiziţii de semnale de frecvenţă ridicată şi prelucrarea concomitentă a informaţiei).

consider a block diagram that adds two numbers and then subtracts 50.• For a dataflow programming example. Figure 2. not because the objects are placed in that order. as shown in Figure 2.00 from the result of the addition. but because the Subtract function can not execute until the Add function finishes executing and passes the data to the Subtract function. In this case. the block diagram executes from left to right. Remember that a node executes only when data are available at all of its input terminals and supplies data to the output terminals only when the node finishes execution.24.24. Dataflow Programming Example .

Random Number. such as error clusters. Dataflow Example for Multiple Code Segments . use other programming methods.25. and the Random Number function has no inputs. consider which code segment would execute first —the Add. In a situation where one code segment must execute before another.25.• In Figure 2. Figure 2. to force the order of execution. or Divide function. and no data dependency exists between the functions. You cannot know because inputs to the Add and Divide functions are available at the same time.

you can complete the entire VI using very few objects on the block diagram. you learn about some Express VIs that acquire. Realizarea unui VI simplu • Most LabVIEW VIs have three main tasks—acquiring some sort of data.27. as shown in Figure 1. and presenting the result. and present data. . In this section. Then you learn to createa simple VI that uses these three tasks. analyze. analyzing the acquired data. frequently used operations. I. Express VIs are designed specifically for completing common. When each of these parts are simple.

Acquire. the Express VIs are grouped together in the Express category. and Present Example Front Panel Window and Block Diagram Window . Express VIs use the dynamic data type to pass data between Express VIs.On the Functions palette.27. Analyze. Figure 1.

Acquire • Express VIs used for the Acquire task include the following: DAQ Assistant. Simulate Signal • The Simulate Signal Express VI generates simulated data such as a sine wave. You must use this Express VI frequently throughout this course. Simulate Signal. usually from a GPIB or serial interface. . Instrument I/O Assistant • The Instrument I/O Assistant acquires instrument control data. DAQ Assistant • The DAQ Assistant acquires data through a data acquisition device. and Read from Measurement File. Instrument I/O Assistant.

c. minimum peak. Statistics. maximum peak. and so on. Tone Measurements. It specifically reads LVM or TDM file formats. This Express VI does not read ASCII files. Read From Measurement File • The Read From Measurement File Express VI reads a file that was created using the Write To Measurement File Express VI. Amplitude and Level Measurements • The Amplitude and Level Measurements Express VI performs voltage measurements on a signal. e. Analyze • Express VIs used for the Analyze task include the following—Amplitude and Level Measurements. . These include DC. rms.t. peak to peak.

sum. Inverse Chebyshev.This includes mean. and Bessel. Filter • The Filter Express VI processes a signal through filters and windows. . Windows used include Butterworth. Spectral Measurements • The Spectral Measurements Express VI performs spectral measurement on a waveform. and extreme values. Chebyshev. standard deviation. Tone Measurements • The Tone Measurements Express VI searches for a single tone with the highest frequency or highest amplitude. and Smoothing. It also finds the frequency and amplitude of a single tone. Lowpass.Statistics • The Statistics Express VI calculates statistical data from a waveform. such as magnitude and power spectral density. Filters used include the following: Highpass. Bandpass. Bandstop. Elliptical.

Present • Present results by using Express VIs that perform a function. the Build Text Express VI. Common Express VIs include the Write to Measurement File Express VI. the DAQ Assistant. and the Instrument I/O Assistant. and the XY Graph. The most commonly used indicators for this task include the Waveform Chart. the DAQ Assistant and the Instrument I/O Assistant provide output data from the computer to the DAQ device or an external instrument. such as the Write to Measurement File Express VI. the Waveform Graph. In this case. . or indicators that present data on the front panel window. Write to Measurement File • The Write to Measurement File Express VI writes a file in LVM or TDMS file format.

click the Run button on the toolbar to execute the VI. the Run button icon changes to the figure shown at left. usually for displaying on the front panel window or exporting to a file or instrument. . After the execution completes. you can run theVI. Build Text • The Build Text Express VI creates text. Running a VI • After you configure the Express VIs and wire them together. When you finish creating your VI. and the front panel indicators contain data. the Run button icon changes back to its original state. • While the VI is running.

Press the broken run button to access the Error list window. The Error list window lists each error and describes the problem.Run Button Errors • If a VI does not run. it is a broken. the VI is broken and cannot run. or a wire is broken. • If the button still appears broken when you finish wiring the block diagram. . • Generally. You can double-click an error to go directly to the error. VI. this means that a required input is not wired. or nonexecutable. The Run button appears broken when the VI you are creating or editing contains errors.

Unknown .28 to answer the following quiz questions. Subtract c. Sine b. Which function executes first: Add or Subtract? a. Which function executes first: Sine or Divide? a. Unknown 2. Divide c. Dataflow Questions 1.• Refer to Figure 1.28. Add b. Figure 1.

Project b. Random Number b.3. Block diagram window d. Subtract c. What are the parts of a VI? a. Unknown 4. Subtract or Add? a. Icon/connector pane . Which function executes last: Random. Which function executes first? a. Divide c. Add d. Add d. Random Number b. Unknown 5. Front panel window c.