Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to LabVIEW

Similar presentations


Presentation on theme: "Introduction to LabVIEW"— Presentation transcript:

1 Introduction to LabVIEW
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering

2 Introduction LabVIEW - Laboratory Virtual Instrument Engineering Workbench Product of National Instruments (ni.com)!

3 Why do we use LabVIEW? Allowing “easy” automated data acquisition, instrument control, and industrial automation! Allow people with limited coding experience to write programs develop automated experiments much faster than with conventional programming environments! Another key benefit of LabVIEW over conventional programming environments is the extensive support for accessing instrumentation hardware Writing instrument drivers by hand requires a hardware and operating system expert along with thousands of lines of code

4 LabVIEW Basics LabVIEW relies on graphical symbols rather than textual language to describe programming actions LabVIEW programs are called Virtual Instruments (VIs)! This is because their appearance (like a circuit schematic) and operation imitate actual instruments/circuit blocks! Execution of a program is based on the principle of dataflow, in which functions execute only after receiving the necessary data!

5

6 Usage of LabVIEW Help ! <CTRL>+H, or “Show Context Help” from the Help pull-down menu toggles the Context Help on and off Move the cursor over the Block diagram object you are interested in Make yourself familiar with LabVIEW help!

7 LabVIEW Programs Are Called Virtual Instruments (VIs)
Front Panel Controls = Inputs Indicators = Outputs Block Diagram Accompanying “program” for front panel Components “wired” together LabVIEW programs are called virtual instruments (VIs). Stress that controls equal inputs, indicators equal outputs. Each VI contains three main parts: Front Panel – How the user interacts with the VI. Block Diagram – The code that controls the program. Icon/Connector – Means of connecting a VI to other VIs. The Front Panel is used to interact with the user when the program is running. Users can control the program, change inputs, and see data updated in real time. Stress that controls are used for inputs- adjusting a slide control to set an alarm value, turning a switch on or off, or stopping a program. Indicators are used as outputs. Thermometers, lights, and other indicators indicate values from the program. These may include data, program states, and other information. Every front panel control or indicator has a corresponding terminal on the block diagram. When a VI is run, values from controls flow through the block diagram, where they are used in the functions on the diagram, and the results are passed into other functions or indicators.

8 LabVIEW Front Panel All user interface goes here!
Used to display Controls or Indicators Highly customizable

9 Control? or Indicator? Controls = Inputs from the user = Source Terminals Indicators = Outputs to the user = Destinations

10 LabVIEW Block Diagram Actual program Invisible to user
Read left to right, like a book Where the MAGIC happens!

11 Terminals When you place a control (or indicator) on the FRONT PANEL
LabVIEW automatically creates a corresponding control (or indicator) terminal on the BLOCK DIAGRAM

12 Manipulating Controls and Indicators
Right click on an indicator to Change to control Change format or precision Right click on a control to Change to indicator Change mechanical action (whether to latch open or closed, and what to use as default…)

13 Wiring Connections Wires transport data through the block diagram
Wire color indicates variable type A red “X” means something is wrong!

14 Broken wires If you connect more than one source or no source
at all to a wire, LabVIEW DISAGREES with what you’re doing, and the wire will appear broken

15 Messy vs. Clean Wiring CLEAN: Easy to troubleshoot
MESSY: What is going on?

16 Basic wires used in block diagrams and corresponding types
Each wire has different style or color, depending on the data type that flows through the wire: Scalar 1D array 2D array Color Floating-point number orange Integer number blue Boolean green String pink

17 Running LabVIEW Programs
ALMOST ALWAYS put your program in some sort of loop that can be stopped with a control AVOID using the red “x” to stop your program

18 Insert a boolean control
Controls palette . . . Insert a boolean control (button or switch) Insert a digital indicator or control

19 Add a structure such as for, while, and case statements Add a boolean
Functions palette . . . Add a numeric operator (+,-,…) Add a structure such as for, while, and case statements Add a boolean operator (and, or…) Timing/dialog Comparison File I/O Signal analysis Data Acquisition Mathematical Functions

20 Subpalettes . . .

21 Toolbar . . .

22 Creating a VI Front Panel Window Block Diagram Window Control
Terminals Indicator Terminals When you create an object on the Front Panel, a terminal will be created on the Block Diagram. These terminals give you access to the Front Panel objects from the Block Diagram code. Each terminal contains useful information about the Front Panel object it corresponds to. For example, the color and symbols provide the data type. Double-precision, floating point numbers are represented with orange terminals and the letters DBL. Boolean terminals are green with TF lettering. In general, orange terminals should wire to orange terminals, green to green, and so on. This is not a hard-and-fast rule; LabVIEW will allow a user to connect a blue terminal (integer value) to an orange terminal (fractional value), for example. But in most cases, look for a match in colors. Controls have an arrow on the right side and have a thick border. Indicators have an arrow on the left and a thin border. Logic rules apply to wiring in LabVIEW: Each wire must have one (but only one) source (or control), and each wire may have multiple destinations (or indicators). The program in this slide takes data from A and B and passes the values to both an Add function and a subtract function. The results are displayed on the appropriate indicators.

23 Example 1: Craps From the functions – numeric panel insert a pair of dice From the Controls panel insert a numeric digital indicator (on the front panel) Use the wiring tool to connect the two (in the wiring diagram) and click the “run” button repeatedly. Numbers from 0.00 to 1.00 should be displayed in the front panel

24 Example 1: Craps (continued)
Delete the wire Add a multiplication node and a numeric constant to allow multiplication by 5 Add an addition node and numeric constant to allow addition of 1 Add a mathematical “Round to Nearest” node. Make a second copy of this structure to represent a second die and wire them together through an addition node with an output to a numeric constant This wiring diagram simulates the rolling of 2 dice and their addition to form a number from 2 through 12.

25 Loops For Loops While Loops i terminal counts iteration
Always runs at least once Runs until stop condition is met For Loop For Loops i terminal counts iterations Run according to input N of count terminal Both the While and For Loops are located on the Functions»Structures palette. The For Loop differs from the While Loop in that the For Loop executes a set number of times. A While Loop stops executing the subdiagram only if the value at the conditional terminal exists. While Loops Similar to a Do Loop or a Repeat-Until Loop in text-based programming languages, a While Loop, shown at the top right, executes a subdiagram until a condition is met. The While Loop executes the sub diagram until the conditional terminal, an input terminal, receives a specific Boolean value. The default behavior and appearance of the conditional terminal is Stop If True. When a conditional terminal is Stop If True, the While Loop executes its subdiagram until the conditional terminal receives a TRUE value. The iteration terminal (an output terminal), shown at left, contains the number of completed iterations. The iteration count always starts at zero. During the first iteration, the iteration terminal returns 0. For Loops A For Loop, shown above, executes a subdiagram a set number of times. The value in the count terminal (an input terminal) represented by the N, indicates how many times to repeat the subdiagram. The iteration terminal (an output terminal), shown at left, contains the number of completed iterations. The iteration count always starts at zero. During the first iteration, the iteration terminal returns 0. Introduction to LabVIEW Hands-On 36 ni.com

26 Drawing a Loop 2. Enclose code to be repeated 1. Select the structure
3. Drop or drag additional nodes and then wire Place loops in your diagram by selecting them from the Structures palette of the Functions palette: When selected, the mouse cursor becomes a special pointer that you use to enclose the section of code you want to repeat. Click the mouse button to define the top-left corner, click the mouse button again at the bottom-right corner, and the While Loop boundary is created around the selected code. Drag or drop additional nodes in the While Loop if needed. © National Instruments Corporation 37 Introduction to LabVIEW Hands-On

27 Create SubVI Enclose area to be converted into a subVI.
Select Edit»Create SubVI from the Edit Menu. Creating SubVIs After you build a VI, you can use it in another VI. A VI called from the block diagram of another VI is called a subVI. You can reuse a subVI in other VIs. To create a subVI, you need to build a connector pane and create an icon. A subVI node corresponds to a subroutine call in text-based programming languages. A block diagram that contains several identical subVI nodes calls the same subVI several times. The subVI controls and indicators receive data from and return data to the block diagram of the calling VI. Click the Select a VI icon or text on the Functions palette, navigate to and double-click a VI, and place the VI on a block diagram to create a subVI call to that VI. A subVI input and output terminals and the icon can be easily customized. Follow the instructions below to quickly create a subVI. Creating SubVIs from Sections of a VI Convert a section of a VI into a subVI by using the Positioning tool to select the section of the block diagram you want to reuse and selecting Edit»Create SubVI. An icon for the new subVI replaces the selected section of the block diagram. LabVIEW creates controls and indicators for the new subVI, automatically configures the connector pane based on the number of control and indicator terminals you selected, and wires the subVI to the existing wires. See Help»Search the LabVIEW Help…»SubVIs for more information. © National Instruments Corporation 41 Introduction to LabVIEW Hands-On

28 LabVIEW Functions and SubVIs operate like Functions in other languages
Function Pseudo Code function average (in1, in2, out) { out = (in1 + in2)/2.0; } SubVI Block Diagram Calling Program Pseudo Code main { average (in1, in2, pointavg) } Calling VI Block Diagram A subVI node corresponds to a subroutine call in text-based programming languages. The node is not the subVI itself, just as a subroutine call statement in a program is not the subroutine itself. A block diagram that contains several identical subVI nodes calls the same subVI several times. The modular approach makes applications easier to debug and maintain. The functionality of the subVI does not matter for this example. The important point is the passing of two numeric inputs and one numeric output. Introduction to LabVIEW Hands-On 42 ni.com

29 How Do I Make Decisions in LabVIEW?
Case Structures Select (a) (b) Case Structure The Case Structure has one or more subdiagrams, or cases, exactly one of which executes when the structure executes. The value wired to the selector terminal determines which case to execute and can be boolean, string, integer, or enumerated type. Right-click the structure border to add or delete cases. Use the Labeling tool to enter value(s) in the case selector label and configure the value(s) handled by each case. It is found at Functions»Programming»Structures»Case Structure. Select Returns the value wired to the t input or f input, depending on the value of s. If s is TRUE, this function returns the value wired to t. If s is FALSE, this function returns the value wired to f. The connector pane displays the default data types for this polymorphic function. It is found at Functions»Programming» Comparison»Select. Example a: Boolean input: Simple if-then case. If the Boolean input is TRUE, the true case will execute; otherwise the FALSE case will execute. Example b: Numeric input. The input value determines which box to execute. If out of range of the cases, LabVIEW will choose the default case. Example c: When the Boolean passes a TRUE value to the Select VI, the value 5 is passed to the indicator. When the Boolean passes a FALSE value to the Select VI, 0 is passed to the indicator. (c) © National Instruments Corporation 47 Introduction to LabVIEW Hands-On


Download ppt "Introduction to LabVIEW"

Similar presentations


Ads by Google