Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and...

53
Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such as oscilloscopes and digital multimeters. 1 Virtual Instrument (VI) – A LabVIEW program

Transcript of Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and...

Page 1: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

A. Virtual Instruments (VIs)

The appearance and operation of VIs imitate physical instruments, such as oscilloscopes and digital multimeters.

1

Virtual Instrument (VI) – A LabVIEW program

Page 2: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Parts of a VI

LabVIEW VIs contain three main components:1. Front Panel 2. Block Diagram 3. Icon/Connector Pane

2

Page 3: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Parts of a VI – Front Panel

You build the front panel with controls (inputs) and indicators (outputs)

3

Front Panel – User interface for the VI

Page 4: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Parts of a VI – Block Diagram

Front panel objects appear as terminals on the block diagram

4

Block Diagram – Contains the graphical source code

Page 5: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Parts of a VI – Icon/Connector Pane

• Icon: graphical representation of a VI• Connector Pane: map of the inputs and outputs of a VI• Icons and connector panes are necessary to use a VI as

a subVI− A subVI is a VI that is inside of another VI− Similar to a function in a text-based programming

language Icon Connector Pane

5

Page 6: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Controls Palette

• Contains the controls and indicators you use to create the front panel

• Access from the front panel by selecting View»Controls Palette

6

Page 7: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Controls & Indicators

• Controls− Knobs, push buttons, dials, and other input devices− Simulate instrument input devices and supply data to the block

diagram of the VI• Indicators

− Graphs, LEDs, and other displays− Simulate instrument output devices and display data the block

diagram acquires or generates

7

Page 8: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Numeric Controls/Indicators

The numeric data type can represent numbers of various types, such as integer or real

8

Numeric Indicator

Numeric Control

Increment/Decrement Buttons

Page 9: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Boolean Controls/Indicators

• The Boolean data type represents data that only has two parts, such as True and False or On and Off• Use Boolean controls and indicators to enter and display

Boolean (True or False) values• Boolean objects simulate switches, push buttons, and LEDs

9

BooleanControl

BooleanIndicator

Page 10: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Strings

• The string data type is a sequence of ASCII characters • Use string controls to receive text from the user such as a

password or user name• Use string indicators to display text to the user

10

Page 11: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Shortcut Menus

• All LabVIEW objects have associated shortcut menus

• As you create a VI, use the shortcut menu items to change the look or behavior of front panel and block diagram objects

• To access the shortcut menu, right-click the object

11

Page 12: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Property Dialog Box

• Right-click a front panel object and select Properties to display

• The options available on the property dialog box are similar to the options available on the shortcut menu for that object

12

Page 13: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

E. Front Panel – Configure Multiple Objects

• Select multiple objects to simultaneously configure shared properties

13

Page 14: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

Configuring Your LabVIEW Environment

• Functions Palette− Tack the Functions palette and select Customize»Change

Visible Categories then click Select All

• Controls Palette− Tack the Controls palette and select Customize»Change

Visible Categories then click Select All

Page 15: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

PraticeReplicate the following front panel

Page 16: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram

Block diagram objects include the following:

• Terminals• SubVIs• Functions• Constants• Structures• Wires

16

Page 17: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – Terminals

• Terminals are:− Block diagram appearance of front panel objects− Entry and exit ports that exchange information between the

front panel and block diagram− Analogous to parameters and constants in text-based

programming languages• Change the view type of a terminal by toggling the View as

Icon selection from the context menu

17

Page 18: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram Terminals

18

Page 19: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. LabVIEW Data Types – Terminals

Terminals visually communicate information about the data type represented

Page 20: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – Wires

• Transfer data between block diagram objects through wires• Wires are different colors, styles, and thicknesses,

depending on their data types• A broken wire appears as a dashed

black line with a red X in the middle

20

Scalar1D Array2D Array

DBL Numeric Integer Numeric String

Page 21: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – Nodes

• Objects on the block diagram that have inputs and/or outputs and perform operations when a VI runs• Analogous to statements, operators, functions, and

subroutines in text-based programming languages• Nodes can be functions, subVIs, or structures

21

Nodes

Page 22: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

H. Selecting A Tool

• Create, modify, and debug VIs using the tools provided by LabVIEW• A tool is a special operating mode of the

mouse cursor• The operating mode of the cursor corresponds to the icon of

the tool selected• When using the Automatic Tool Selection, LabVIEW

chooses which tool to select based on the current location of the mouse

22

Page 23: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

PracticeLook and the block diagram of the previous practice and add the following nodes: •Add•Multiply•Random number•Greater than•Less than•Get date/time in secondsThen use wires to connect all the elements of the block diagram leaving no terminal unconnected.

Target:Simulate a given temperature value,

add a random noise of given amplitude,then light up an alert when such a

temperature is greater than setpoint and another if is less than setpoint .

Page 24: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

Practice solution

Page 25: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – Function Nodes

• Fundamental operating elements of LabVIEW• Do not have front panels or block diagrams, but do have

connector panes• Double-clicking a function only selects the function – does

not open it like a VI• Has a pale yellow background on its icon

25

Page 26: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – SubVI Nodes

• SubVI: VIs that you build to use inside of another VI• Any VI has the potential to be used as a subVI• When you double-click a subVI on the block diagram, you

can view the front panel and block diagram of the subVI− The upper right corner of the front panel and block diagram

displays the icon for the current VI− This is the icon that appears when you place the VI on a block

diagram as a subVI

26

Page 27: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – Wires

• Transfer data between block diagram objects through wires• Wires are different colors, styles, and thicknesses,

depending on their data types• A broken wire appears as a dashed

black line with a red X in the middle

27

Scalar1D Array2D Array

DBL Numeric Integer Numeric String

Page 28: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. LabVIEW Data Types – Terminals

Terminals visually communicate information about the data type represented

Page 29: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. LabVIEW Data Types – Numerics

• The numeric data type represents numbers of various types• To change the representation

of a numeric, right-click the control, indicator, or constant, and select Representationfrom the shortcut menu

Page 30: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. LabVIEW Data Types – Boolean

• Behavior of Boolean controls is specified by the mechanical action• In LabVIEW, the Boolean

data type is represented with the color green

Page 31: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

Mechanical Action of Booleans

Use the Mechanical Action of Booleans VI located in the NI Example Finder to learn about the different switch and latch actions.

Page 32: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Data Types – String

• A sequence of displayable or non-displayable ASCII characters• On the front panel, strings appear as tables,

text entry boxes, and labels• Change the display type from the short-cut

menu: Normal, ‘\’ Codes, Password and Hex• Edit and manipulate strings with the String functions on the

block diagram• In LabVIEW, the string data type is represented with the color

pink

Page 33: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Data Types – Enum

An enum represents a pair of values, a string and a numeric, where the enum can be one of a defined list of values

Page 34: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Data Types – Enum

• Enum: enumerated control, constant, or indicator• Enums are useful because it is easier

to manipulate numbers than strings on the block diagram

Page 35: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

B. Data Types – Dynamic

• Stores the information generated or acquired by an Express VI• Non-Express VIs do not accept the dynamic data type

− To use a built-in VI or function to analyze or process the dynamic data type, you must convert the data type

− Numeric, waveform, or Boolean data indicators or inputs automatically convert the dynamic data type when wired

• In LabVIEW, the dynamic data type is represented with the color dark blue

Page 36: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – Wiring Tips

• Press <Ctrl>-B to delete all broken wires• Right-click and select Clean Up Wire to reroute the wire

36

Page 37: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

F. Block Diagram – Wiring Tips

Use the Clean Up Diagram tool to reroute multiple wires and objects to improve readability

1. Select a section of your block diagram2. Click the Clean Up Diagram button on the block diagram

toolbar

37

Page 38: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Dataflow

LabVIEW follows a dataflow model for running VIs• A node executes only when data are available at all of its

input terminals• A node supplies data to the output terminals only when the

node finishes execution

38

Page 39: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Dataflow – Quiz

Which node executes first? a) Addb) Subtractc) Random Numberd) Divide e) Sine

39

Page 40: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Dataflow – Quiz Answers

NO CORRECT ANSWER

Which node executes first? a) Add – possiblyb) Subtract – definitely notc) Random Number – possiblyd) Divide – possiblye) Sine – definitely not

40

Page 41: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

Summary—Quiz

1. Which function executes first: Add or Subtract?a) Addb) Subtractc) Unknown

41

Page 42: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

Summary—Quiz Answer

1. Which function executes first: Add or Subtract?a) Addb) Subtractc) Unknown

42

Page 43: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures

• Have two or more subdiagrams or cases• Execute and displays only one case at a time• An input value determines which subdiagram to execute• Similar to case statements or if...then...else

statements in text-based programming languages

Page 44: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures

• Case Selector Label: contains the name of the current case and decrement and increment buttons on each side

• Selector Terminal: Wire an input value, or selector, to determine which case executes

Page 45: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

Practice

Add to the previous practice a button in order to update the string label ONLY if the button is pressed. Then run.Change its mechanical action and run again.Create a enum control with items “Heating”, “Cooling”, “Conditioning” and use its values to turn on label “too hot” only, label “too cold” only, or both, according to the case selected.Make the string indicator display “Hi there!” if the user inputs “Hello”, or the same input string if otherwise.

Page 46: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures – Default Case

• You can specify a default case for the Case structure− If you specified cases for 1, 2,

and 3, but you get an input of 4, the Case structure executes the default case

• Right-click the Case structure border to add, duplicate, remove, or rearrange cases and to select a default case

Page 47: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures – Input & Output Tunnels

You can create multiple input and output tunnels• Inputs are available to all cases if needed• You must define each output tunnel for each case

Page 48: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures – Use Default if Unwired

Default values are:

Avoid using the Use Default If Unwired option on Case structure tunnels• Adds a level of complexity to your code• Complicates debugging your code

Data Type Default Value

Numeric 0

Boolean FALSE

String Empty

Page 49: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures – Boolean

Boolean input creates two cases: True and False

Page 50: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures – Integer

• Add a case for each integer as necessary• Integers without a defined case use the default case

Page 51: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures – String

• Add a case for each string as necessary• Strings without a defined case use the default case

Page 52: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures – Enum

• Gives users a list of items from which to select• The case selector displays a case for each item in the

enumerated type control

Page 53: Gruppo di Misure Meccaniche e Termiche UNIBS - DIMI A. Virtual Instruments (VIs) The appearance and operation of VIs imitate physical instruments, such.

Gruppo di Misure Meccaniche e TermicheUNIBS - DIMI

I. Case Structures - Error Checking and Error Handling Use Case Structures inside VIs to execute the code if there is no error and skip the code if there is an error