LabVIEW Core 1
TOPICS
ni.com/training
What You Need to Get Started
LabVIEW Core 1 Course Manual
LabVIEW Core 1 Exercise Manual
LabVIEW Core 1 Course CD
Multifunction DAQ device
BNC-2120, wires, and cable
GPIB interface
NI Instrument Simulator and power supply
GPIB cables
Computer running
LabVIEW 2012 or later
and Windows XP or later
ni.com/training
File Locations
The course installer places the course files in the following
location:
Exercises LabVIEW
Root Directory <or>
Solutions Core 1
ni.com/training
Instructional Methods
Demonstration
s
Concept
Quizzes
Exercise
Development
Lecture Topic Exercise
ni.com/training
Getting the Most out of this Course
Ask questions!
Experiment with hands-on exercises to understand the
methods used
Explore solutions
Implementations explore a possible solutionyou may find
a better one
ni.com/training
New User Experienced User Advanced User
LabVIEW Core 1 LabVIEW Core 3 Managing Software
Engineering in LabVIEW
LabVIEW Core 2
Advanced Architectures
LabVIEW Connectivity
in LabVIEW
Object-Oriented Design
and Programming in LabVIEW
LabVIEW Performance
Certifications
Certified LV Associate Certified LabVIEW Certified LabVIEW
Developer Exam Developer Exam Architect Exam
Other Courses
LabVIEW Real-Time 1 LabVIEW Instrument Control LabVIEW FPGA
LabVIEW Real-Time 2 LabVIEW Modular Instruments DAQ & Signal Conditioning
ni.com/training
Course Learning Map
Lesson 1 Lesson 4 Lesson 7
Developing Modular Using Sequential and State
Navigating LabVIEW
Applications Machine Algorithms
Lesson 2 Lesson 5 Lesson 8
Troubleshooting & Creating and Leveraging Solving Dataflow Challenges
Debugging VIs Data Structures with Variables
Lesson 3 Lesson 6
Managing File and Hardware
Implementing a VI
Resources
ni.com/training
Course Goals
This course prepares you to do the following:
Solve problems using LabVIEW
Develop, debug, and test LabVIEW VIs
Use modular programming practices
Select, create, and leverage common data structures
Use data acquisition and instrument control in LabVIEW
applications
Effectively use a state-machine architecture
ni.com/training
Lesson 1
Navigating LabVIEW
TOPICS
A. What Is LabVIEW? F. Searching for Controls, VIs
B. Project Explorer and Functions
C. Parts of a VI G. Selecting a Tool
D. Front Panel H. Dataflow
E. Block Diagram I. Building a Simple VI
ni.com/training
A. What Is LabVIEW?
ni.com/training
What Is LabVIEW?
A graphical programming environment used to develop
sophisticated measurement, test, and control systems.
LabVIEW:
Interfaces with wide
variety of hardware
Scales across different
targets and OSs
Provides built-in
analysis libraries
ni.com/training
LabVIEW Language Characteristics
ni.com/training
B. Project Explorer
Project Explorer Window
Files Types
Project Folders
ni.com/training
Project Explorer
Find, access, and organize
project files
Prevent, detect, and resolve
incorrect links
Deploy or download files to
targets
Manage code for build options
Executables, installers, and zip files
Integrate with source code
control providers
ni.com/training
LabVIEW Files
Common LabVIEW file
extensions:
LabVIEW project .lvproj
Virtual instrument (VI) .vi
Custom control .ctl
ni.com/training
Adding Folders to a Project
Virtual folder
Organizes project items and
does not represent files on disk
Auto-populating folder
Adds a directory on disk to the
project
LabVIEW continuously
monitors and updates the
folder according to changes
made in the project and on disk
ni.com/training
C. Parts of a VI
Front Panel
Block Diagram
Icon
Connector Pane
ni.com/training
Parts of a VI
VIs have 3 main components:
Icon/Connector pane
Block diagram
Front panel
ni.com/training
Parts of a VI Front Panel
You build the front
panel with
controls (inputs) and
indicators (outputs).
ni.com/training
Parts of a VI Block Diagram
Front panel objects
appear as terminals
on the block diagram.
ni.com/training
Parts of a VI Icon/Connector Pane
Icons and connector panes are necessary to use a VI as a subVI.
A subVI is a VI that appears on the block diagram of another VI.
A subVI is similar to a subroutine or function in a text-based
programming language.
ni.com/training
Using the Project Explorer and Starting a VI
Open an existing project.
Identify the parts of a VI.
Create a new project.
Add and remove files and folders.
Create a new VI.
DEMONSTRATION
D. Front Panel
Controls and Indicators
Object Styles
Object Types
Boolean
Numeric
String
ni.com/training
Front Panel
ni.com/training
Controls and Indicators
Controls Indicators
Input devices Output devices
Knobs, buttons, slides Graphs, LEDs
Supply data to the block Display data the block diagram
diagram acquires or generates
ni.com/training
Front Panel Object Styles
ni.com/training
Numeric Controls and Indicators
The numeric data in a control or indicator can represent
numbers of various types, such as integer or floating-point.
Numeric control
Increment/Decrement buttons
Numeric indicator
ni.com/training
Boolean Controls and Indicators
The Boolean data type represents data that has only two
options, such as True/False or On/Off.
Use Boolean controls and indicators to enter and display
Boolean (TRUE/FALSE) values.
Boolean objects simulate switches, push buttons, and LEDs.
Boolean Boolean
control indicator
ni.com/training
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.
ni.com/training
E. Block Diagram
Terminals
Nodes
Wires
Context Help
ni.com/training
Block Diagram
ni.com/training
Block Diagram
Block diagram items:
Terminals
Constants
Nodes
Functions
SubVIs
Structures
Wires
Free labels
ni.com/training
Terminals
Same label name
ni.com/training
Terminals for Front Panel Objects
Terminals are:
Entry and exit ports that exchange information between the
front panel and block diagram.
Analogous to parameters in text-based programming
languages.
Double-click a terminal to locate the corresponding front
panel object.
ni.com/training
View Terminals as Icons
By default, View as Icon option
enabled.
Deselect View as Icon for a more
compact view.
ni.com/training
Nodes
Nodes are objects on the block diagram that have inputs
and/or outputs and perform operations when a VI runs.
Nodes
ni.com/training
Function Nodes
Functions are:
Fundamental operating elements of LabVIEW.
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 subVIs.
ni.com/training
SubVI Nodes
SubVIs :
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 subVI on a block
diagram.
When you double-click a subVI, the front panel and block
diagram open.
Any VI has the potential to be used as a subVI.
ni.com/training
Express VIs
Express VIs:
Are a special type of subVI.
Require minimal wiring because you configure them
with dialog boxes.
Save each configuration as a subVI.
Icons for Express VIs appear on the block diagram
as icons surrounded by a blue field.
ni.com/training
Node View Options
ni.com/training
Wires
Wires transfer data between block diagram objects.
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.
Floating-point Integer String Boolean
Scalar
1-D Array
2-D Array
ni.com/training
Context Help
Displays basic information
about wires and nodes when
you move the cursor over an
object.
Can be shown or hidden in
the following ways.
Select HelpShow Context
Help from the LabVIEW menu.
Press <Ctrl-H>.
Click the following button on the
toolbar:
ni.com/training
LabVIEW Help
Contains detailed descriptions and instructions for most
palettes, menus, tools, VIs, and functions.
Can be accessed by:
Selecting Help
LabVIEW Help from the
menu.
Clicking the Detailed help
link in the
Context Help window.
Right-clicking an object
and selecting Help from
the shortcut menu.
ni.com/training
Examples
LabVIEW includes
hundreds of example
VIs.
Use NI Example Finder
to browse and search
installed examples.
Select HelpFind
Examples in the menu.
Click the example buttons in LabVIEW Help topics.
ni.com/training
Group Exercise 1-1
Concept: Exploring a VI
Identify the parts of an existing VI.
GOAL
Group Exercise 1-1
Concept: Exploring a VI
What are constants and when should you use them?
What are free labels and when should you use them?
DISCUSSION
F. Searching for Controls, VIs, and
Functions
Palettes
Quick Drop
NI Global Search
ni.com/training
Searching for Controls, VIs, and Functions
Ways to find controls, VIs, and functions:
Search or navigate the palettes.
Controls palette
Functions palette
Search by name of object.
Quick Drop dialog box
Search palettes, LabVIEW Help, and ni.com.
Search text box in toolbar
ni.com/training
Controls Palette
Contains the controls and
indicators you use to create
the front panel.
Navigate the subpalettes or
use the Search button to
search the Controls palette.
ni.com/training
Functions Palette
Contains the VIs, functions,
and constants you use to
create the block diagram.
Navigate the subpalettes or
use the Search button to
search the Functions palette.
ni.com/training
Searching with Quick Drop
Lets you quickly find controls,
functions, VIs, and other
items by name.
Press the <Ctrl-Space> keys
to display the Quick Drop
dialog box.
ni.com/training
Global Search
Use the Search bar in the top right of the front panel and block
diagram windows to search palettes, LabVIEW Help, and
ni.com.
ni.com/training
Search for Controls, VIs, and Functions
Configure palettes to customize visible palettes.
Search and navigate the palettes.
Search for help using global search.
Use Quick Drop to search by name.
DEMONSTRATION
Exercise 1-2
Concept: Locating Controls, Functions, and VIs
Learn to use the palettes and search for controls, functions
and VIs.
GOAL
Exercise 1-2
Concept: Locating Controls, Functions, and VIs
Why would you want to add a function to the Favorites
category in the Functions palette?
Why would you use the Quick Drop dialog box instead of the
Search button on the Controls and Functions palettes?
DISCUSSION
G. Selecting a Tool
Selecting a Tool
Block Diagram Clean-Up
ni.com/training
Selecting a Tool
A tool is a special operating mode of the
mouse cursor.
Create, modify, and debug VIs using the
tools provided by LabVIEW.
By default, LabVIEW automatically selects
tools based on the context of the cursor.
If you need more control, use the Tools
palette to select a specific tool.
Select ViewTools Palette to open the
Tools palette.
ni.com/training
Wiring Tips
Press <Ctrl-B> to delete all broken wires.
Right-click and select Clean Up Wire to reroute the wire.
ni.com/training
Wiring Tips Clean Up Diagram
Use the Clean Up Diagram tool to reroute multiple wires and
objects and to improve readability.
1. Select a section of your block diagram.
2. Click the Clean Up Diagram button on the block diagram
toolbar.
ni.com/training
Cloning and Moving Items
Clone an object in LabVIEW using the following steps:
1. Select the Positioning tool.
2. Press the <Ctrl> key while clicking an object.
3. Drag the copy to new location.
Move an object using the following steps:
1. Select the Positioning tool.
2. Click and drag the object to new location.
Note: Avoid cutting and pasting objects as this can impact related items.
For example, cutting and pasting a block diagram terminal also moves the
front panel object.
ni.com/training
Selecting, Editing, Resizing and Wiring
Select item to move, copy, or delete
Edit text
Resize an object
Wire terminals and nodes
DEMONSTRATION
Exercise 1-3
Concept: Selecting a Tool
Gain experience using the Automatic Tool Selection to select
which tool to use.
GOAL
Exercise 1-3
Concept: Selecting A Tool
How do you enable automatic tool selection?
DISCUSSION
H. Dataflow
ni.com/training
Dataflow
LabVIEW follows a dataflow model for running VIs.
A node executes only when data are available at all of its
required input terminals.
A node supplies data to the output terminals only when the
node finishes execution.
ni.com/training
Dataflow Quiz
Which node executes first?
a) Add
b) Subtract
c) Random Number
d) Divide
e) Sine
ni.com/training
Dataflow Quiz Answers
No single correct answer.
Which node executes first?
a) Add Possibly
b) Subtract Definitely not
c) Random Number Possibly
d) Divide Possibly
e) Sine Definitely not
ni.com/training
Group Exercise 1-4
Concept: Dataflow
Identify dataflow execution order in the following block
diagrams.
GOAL
Group Exercise 1-4
Concept: Dataflow
Which node executes first? Last?
Where are the data dependencies?
DISCUSSION
Group Exercise 1-4
Concept: Dataflow
Which Express VI executes last?
DISCUSSION
Group Exercise 1-4
Concept: Dataflow
Which Express VI executes last?
DISCUSSION
Group Exercise 1-4
Concept: Dataflow
Which Tone Measurement
executes last?
DISCUSSION
I. Building a Simple VI
ni.com/training
Building a Simple VI
ni.com/training
Acquire Express VIs
DAQ Assistant Express VI
Instrument I/O Assistant Express VI
Simulate Signal Express VI
Read from Measurement File Express VI
ni.com/training
Analyze Express VIs
Amplitude and Level Measurements Express VI
Statistics Express VI
Spectral Measurements Express VI
Tone Measurements Express VI
Filter Express VI
ni.com/training
Present Express VIs and Indicators
Display Message Express VI
Play Waveform Express VI
Report Express VI
Write Measurement File Express VI
DIAdem Report Express VI
ni.com/training
Building and Running a VI
1. Place Express VI on the block diagram.
2. Configure the dialog box that opens.
3. Wire Express VIs together.
4. Save and run the VI.
The Run button appears broken when the VI you
are creating or editing contains errors.
ni.com/training
Exercise 1-5, Part A Group Exercise
Simple Acquire, Analyze, and Present Design
Scenario:
Acquire a sine waveform 0.1 seconds.
Determine the average value of the waveform.
Log the data.
Display the data to a graph.
GOAL
Exercise 1-5, Part A Group Exercise
Simple Acquire, Analyze, and Present Design
DISCUSSION
Exercise 1-5, Part A Group Exercise
Simple Acquire, Analyze, and Present Design
Which Express VI would you use for following tasks?
Acquiring a sine wave from a data acquisition device
Determining the average value
Logging data to a file
Displaying data to a graph
Displaying average value
DISCUSSION
Exercise 1-5, Part B
Simple Acquire, Analyze, and Present VI
Create a simple VI that acquires data, analyzes data, and
presents the results.
GOAL
Exercise 1-5
Simple Acquire, Analyze, and Present VI
How do you determine the file path of the generated text file?
DISCUSSION
SummaryQuiz
1. Which function executes first:
Add or Subtract?
a) Add
b) Subtract
c) Unknown
ni.com/training
SummaryQuiz Answer
1. Which function executes first:
Add or Subtract?
a) Add
b) Subtract
c) Unknown
ni.com/training
SummaryQuiz
2. Which function executes first:
Sine or Divide?
a) Sine
b) Divide
c) Unknown
ni.com/training
SummaryQuiz Answer
2. Which function executes first:
Sine or Divide?
a) Sine
b) Divide
c) Unknown
ni.com/training
SummaryQuiz
3. Which of the following
functions executes first:
Random Number, Add or
Divide?
a) Random Number
b) Divide
c) Add
d) Unknown
ni.com/training
SummaryQuiz Answer
3. Which of the following
functions executes first:
Random Number, Add or
Divide?
a) Random Number
b) Divide
c) Add
d) Unknown
ni.com/training
SummaryQuiz
4. Which of the following
functions executes last:
Random Number, Subtract or
Add?
a) Random Number
b) Subtract
c) Add
d) Unknown
ni.com/training
SummaryQuiz Answer
4. Which of the following
functions executes last:
Random Number, Subtract or
Add?
a) Random Number
b) Subtract
c) Add
d) Unknown
ni.com/training
SummaryQuiz
5. What are the three parts of a VI?
a) Front panel
b) Block diagram
c) Project
d) Icon/Connector pane
ni.com/training
SummaryQuiz Answer
5. What are the three parts of a VI?
a) Front panel
b) Block diagram
c) Project
d) Icon/Connector pane
ni.com/training