F Diagrama Bloc Diagrama Bloc DB reprezint programul

  • Slides: 61
Download presentation
F. Diagrama Bloc • Diagrama Bloc (DB) reprezintă programul propriu-zis dezvoltat în mediul Lab.

F. Diagrama Bloc • Diagrama Bloc (DB) reprezintă programul propriu-zis dezvoltat în mediul Lab. VIEW ş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

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.

• 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

Terminale Same label name

 • Terminalele pot fi şterse de pe DB doar odată cu obiectul de

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

View Terminals as Icons • By default, View as Icon option enabled. • Deselect

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

 • The terminals in Figure 2. 15 belong to four front panel controls

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

Controls, Indicators, and Constants • Controls, indicators, and constants behave as inputs and outputs

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

Figure 2. 16. Area of a Triangle Front Panel

Figure 2. 16. Area of a Triangle Front Panel

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

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

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

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

Noduri în DB • Nodurile sunt obiecte de pe DB care sunt caracterizate de

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. • Nodurile sunt analoage instrucţiunilor, funcţiilor şi subrutinelor din limbajele de programare bazate pe text. • Nodurile pot fi funcții, sub. VI-uri sau structuri.

Noduri 13

Noduri 13

 • Structurile sunt elemente pentru controlul proceselor, cum ar fi structura Case, bucla

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

Noduri Funcție – Functions are: • Fundamental operating elements of Lab. VIEW. • Do

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

Sub. VI Nodes – Sub. VIs : • Are VIs that you use on

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

 • Any VI has the potential to be used as a sub. VI.

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

 • Sub. VIs also can be Express VIs are nodes that require minimal

• Sub. VIs also can be Express VIs are nodes that require minimal wiring because you configure them with dialog boxes. Use Express VIs for common measurement tasks. You can save the configuration of an Express VI as a sub. VI. • Lab. VIEW 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 sub. VI icons have a yellow field.

Express VIs – Express VIs: • Are a special type of sub. VI. •

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

Expandable Nodes versus Icons • You can display VIs and Express VIs as icons

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

Figure 2. 19. Icon vs. expandable node

Figure 2. 19. Icon vs. expandable node

Firele de legătură • Transferă datele între obiectele de pe DB. Fiecare fir are

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

 • Informaţia vehiculată în VI-urile construite în Lab. VIEW se prezintă sub forma

• Informaţia vehiculată în VI-urile construite în Lab. VIEW 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, şirurile de caractere sau clusterele sunt de asemenea foarte utilizate. • 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.

Tipuri de date cu firele de legătură corespunzătoare, în Lab. VIEW

Tipuri de date cu firele de legătură corespunzătoare, în Lab. VIEW

 • Definitii – Array (Tablou): Un Array grupează date de acelaşi tip şi

• 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. Dimensiunile sunt repezentate de lungimea, înălţimea sau adâncimea tabloului. Un tablou se poate construi din date de tip numeric, boolean, căi de fişiere, string, waveform şi cluster. Se poate selecta din subpaleta Array&Cluster. – Cluster (Grupuri): Un Cluster grupează elemente de date de tipuri diferite, la fel ca un mănunchi de fire dintr-un cablu telefonic, în care fiecare fir din cablu reprezintă un element diferit al grupului (cluster-ului).

Paleta de funcţii • Paleta de funcţii este o fereastră ce se deschide doar

Paleta de funcţii • Paleta de funcţii este o fereastră ce se deschide doar de pe DB. Aceasta conţine operatori, funcţii, noduri, structuri şi sub. IV-uri cu ajutorul cărora se construieşte programul în Lab. VIEW. Accesarea paletei de funcţii se face în modurile următoare: • View – Show Functions Palette • MD pe DL. • 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. Altfel, paleta se închide după realizarea unui mouse stânga oriunde pe DB.

To view or hide categories, click the Customize button on the palette, and select

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

 • Funcţiile pe paletă sunt grupate după destinaţia lor. Cele mai utilizate sunt

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

 • Dacă este necesar un aparat matematic complex, avem la dispoziţie biblioteca Mathematics.

• Dacă este necesar un aparat matematic complex, avem la dispoziţie biblioteca Mathematics. • 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. Meniul shortcut al funcţiilor • Fiecare funcţie are disponibil un meniu shortcut, cu ajutorul căruia se stabilesc o serie de parametri, se pot vizualiza etichete (funcţia poate fi etichetată, la fel ca orice terminal), se poate apela helpul mare, se pot vizualiza exemple, se pot face descrieri ale funcţiei sau se pot stabili punct de întrerupere în vederea depanării programului.

 • Aceste opţiuni sunt comune tuturor funcţiilor, în prima parte a meniului, prin

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

Bara cu unelte în DB • În figura de mai jos sunt prezentate comenzile

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

 • Semnificaţiile comenzii barei de meniuri sunt prezentate în cele ce urmează: Ø

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

Ø Retain Wires – atunci când este activat cablurile (wires) păstrează o copie a

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

G. Căutarea Controalelor, VI-urilor și Funcțiilor • Until you are familiar with the location

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

 • You can click one of the search results and drag it to

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

Figure 2. 21. Searching for an Object in the Functions Palette Figure 2. 22.

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

 • Similar cu butonul Search, se poate utiliza cutia de dialog Quick Drop

• Similar cu butonul Search, 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. • Pentru afișarea cutiei de dialog Quick Drop se va selecta View» Quick Drop. Apoi se va tipării numele obiectului dorit a se adăuga în DB sau în PF. Lab. VIEW va afișa rezultatul căutării în Name Match List.

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

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

Apelarea helpului în Lab. VIEW • Lab. VIEW prezintă un puternic sistem de helpuri

Apelarea helpului în Lab. VIEW • Lab. VIEW 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

• De remarcat faptul că National Instruments pune la dispoziţie o bibliotecă a utilizatorilor accesibilă pe Internet denumită Lab. VIEW 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.

Informaţia este afişată doar la suprapunerea prompterului mouse-ului peste acel obiect sau funcţie (fără

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, helpul mic furnizează informaţii despre funcţiile din paleta de funcţii la simpla accesare a acestora cu mouse-ul. Ø Un help detaliat, specific doar funcţiilor de pe DB, apelabil din meniul shortcut al funcţiei (mouse dreapta pe funcţie), opţiunea Help-ul detaliat se mai poate deschide şi apăsând pe linkul Detailed help din help-ul sumar. Aici se dau informaţii mai detaliate privind funcţia, inclusiv exemple sau aplicaţii.

H. Fluxul datelor • Programele scrise în limbaje procedurale, bazate pe instrucţiuni text (Visual

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

 • Limbajul G, după care funcţionează Lab. VIEW, foloseşte tehnica „fluxului de date”

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

 • După acest concept, pot rula în acelaşi timp mai multe VI-uri. Aşadar,

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

 • In cazul Programării clasice întâi se citesc datele A, apoi cele B,

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

 • In cazul programării în Lab. VIEW, nu există o prioritate între intrările

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

 • In felul acesta se obţine o economie substanţială de timp, esenţială în

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

 • For a dataflow programming example, consider a block diagram that adds two

• For a dataflow programming example, consider a block diagram that adds two numbers and then subtracts 50. 00 from the result of the addition, as shown in Figure 2. 24. In this case, the block diagram executes from left to right, not because the objects are placed in that order, but because the Subtract function can not execute until the Add function finishes executing and passes the data to the Subtract function. 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. Figure 2. 24. Dataflow Programming Example

 • In Figure 2. 25, consider which code segment would execute first —the

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

I. Realizarea unui VI simplu • Most Lab. VIEW VIs have three main tasks—acquiring

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

On the Functions palette, the Express VIs are grouped together in the Express category.

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

Acquire • Express VIs used for the Acquire task include the following: DAQ Assistant,

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

Read From Measurement File • The Read From Measurement File Express VI reads a

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. It specifically reads LVM or TDM file formats. This Express VI does not read ASCII files. Analyze • Express VIs used for the Analyze task include the following—Amplitude and Level Measurements, Statistics, Tone Measurements, and so on. Amplitude and Level Measurements • The Amplitude and Level Measurements Express VI performs voltage measurements on a signal. These include DC, rms, maximum peak, minimum peak, peak to peak, e. t. c.

Statistics • The Statistics Express VI calculates statistical data from a waveform. This includes

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

Present • Present results by using Express VIs that perform a function, such as

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

Build Text • The Build Text Express VI creates text, usually for displaying on

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

Run Button Errors • If a VI does not run, it is a broken,

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

 • Refer to Figure 1. 28 to answer the following quiz questions. Figure

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

3. Which function executes first? a. Random Number b. Divide c. Add d. Unknown

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