Professional Documents
Culture Documents
LV Hands On
LV Hands On
ASEAN Offices
Email: asean@ni.com
Website: ni.com/asean
Singapore
Tel: (65) 6226 5886 Fax: (65) 6226 5887
TollFree: 1800-226 5886
Malaysia
Tel: (603) 2148 7710 Fax: (603) 2148 0710
TollFree: 1800-887710
Thailand
Tel: (662) 278 6777 Fax: (662) 278 6778
TollFree: 1800-345 555
Welcome to the LabVIEW Hands-On Seminar. This seminar introduces you to building measurement and
automation applications using graphical development. Through hands-on exercises, you learn the concept of
graphical programming and how you can use it to build powerful instrumentation and data acquisition systems.
In some exercises, you build LabVIEW virtual instruments (VIs). In other exercises, you run completed
LabVIEW VIs. All of the examples demonstrate the power and flexibility of the LabVIEW graphical
development paradigm.
By the end of this seminar, you learn that no matter what measurement you need to make, LabVIEW provides
a solution.
For your convenience, you can find the slides, exercise, solutions, and work directories referenced in the
seminar in the following directories on the computers provided:
C:/Seminars/HandsOn/LabVIEW/Slide Presentation
C:/Seminars/HandsOn/LabVIEW/Solutions
C:/Seminars/HandsOn/LabVIEW/CustomerWork
Agenda
Introduction to National Instruments and
LabVIEW Graphical Development
Acquire with LabVIEW
Data Acquisition
Instrument Control
Modular Instrumentation
Data acquisition and how LabVIEW can communicate with the family of National Instruments products to solve your
measurement needs
Instrument control and how LabVIEW can communicate with your other instruments using established technologies
such as GPIB, serial, and TCP/IP
Modular instrumentation and how LabVIEW can communicate with the family of NI instruments to solve your high
performance measurement needs.
How to expand the capabilities of your LabVIEW programs beyond acquiring data using the analysis and
presentation tools in LabVIEW
The appendices contain more detailed descriptions of LabVIEW, and additional topics describe some of the features built
into LabVIEW.
Headquartered in Austin, Texas, NI has more than 3,400 employees and direct operations in 40 countries. In 2004, NI
sold products to more than 25,000 different companies in more than 90 countries around the world.
Along with the multitude of measurement and automation tools that we offer, NI recognizes more than 600 members in
our National Instruments Alliance Partner Program (a network of independent consultants and integrators) ready to assist
you in assembling and implementing an NI measurement and automation solution. These Alliance Partners represent
domain expertise in many fields including aerospace, automotive, electronics, communications, and semiconductor.
For more than 27 years, National Instruments has revolutionized the way engineers and scientists work by delivering
virtual instrumentation solutions built on rapidly advancing commercial technologies, including industry-standard
computers and the Internet. The National Instruments brand and strong Web presence connects engineers and
industries around the world.
NI increases productivity for customers worldwide by delivering easy-to-integrate software, such as the NI LabVIEW
graphical development environment, and modular hardware, such as PXI modules for data acquisition and
instrumentation.
In 2004, National Instruments revenue totaled $514 million, up from $426 million in 2003, marking the companys 27 th
year of growth in its 28-year history.
For the past six consecutive years, Fortune Magazine has named NI one of the 100 Best Companies to Work For in
America.
Our diversity across geographies, customers, industries, and products has proven a key factor in our long track record of
consistent growth. In 2004, we sold products in more than 90 countries, our top 100 customers represented only 35
percent of our business, and no industry represented more than 10 percent of our total revenue.
Virtual Instrumentation
Lets first take a look at Virtual Instrumentation. For over 20 years, we have been driving Virtual
Instrumentation - an integrated combination of Software and Hardware. We combine commercial off-the-shelf
hardware components with easy-to-use software to let scientists and engineers build their own virtual
instruments for measurement and automation.
The software component of Virtual Instrumentation empowers users to build a wide variety of systems while
the hardware leverages off-the-shelf components to deliver highly accurate, modular systems. Its not just
flexible software and modular hardware alone, the two have to be tightly integrated in order to expand the
reach of system design and other applications to more people virtual instrumentation does just that.
Virtual Instrumentation today is expanding into many areas. As you may or may not know, our solutions are
extremely broad-based, virtual instrumentation serves:
95% of Fortune 500, over 200,000 customers
More than 25,000 companies in more than 90 countries
No industry makes up more than 10% of our revenue
Virtual instrumentation is expanding. The areas of test, control and design are of primary focus. The
advantages of virtual instrumentation are playing leveraged to speed developments in these areas.
So this is where virtual instrumentation comes in. Virtual instrumentation is a technology that has been widely
adopted in the testing areas. Today, NI is expanding the use of this technology to the control and design
sectors as well. The benefits that have been accelerating test development is now beginning to be leveraged
to accelerated control and design.
Let us now take a closer look at the components of a virtual instrument.
Virtual Instrumentation
PXI Modular Instrumentation
High-Speed
Digitizer s
High-Resolution
Multifunction
Dynamic
Digitizer s and DMMs
DAQ
Signal Acquisition
Instrument
Contr ol
Digital I/O
Desktop PC
Counter /
Timer s
Machine
Vision
Laptop PC
Motion
Contr ol
PDA
Signal Conditioning
and Switching
SignalExpress
VI Logger
Vision Builder AI
LabVIEW
Graphical Development
The challenges that system developers face today lead to the need for an integrated software framework. This framework
decreases the complexities of integrating multiple measurement devices into a single system by providing standard interfaces
to all I/O devices, and provides development tools to rapidly configure, build, deploy, maintain, and modify high-performance,
low-cost measurement and control solutions. This integrated software framework provides seamless connectivity to the everevolving enterprise management systems on which an organization standardizes. Through this framework, an organization
delivers products to market faster, achieves greater product quality, and lowers development and production costs.
System Management Software plays an important role in the Measurement and Automation Software Framework. These
tools, such as NI TestStand and NI DIAdem, are invaluable in large, integrated systems. Two common system management
environments include those for managing large amounts of data, as well as those that manage large test systems. In both
cases, it is important that the tools used for these systems tightly integrate with the Application Development Environments
(ADEs) and Measurement and Control Services Software. As with ADEs, off-the-shelf commercial system management tools
can save organizations countless hours compared to systems designed and maintained in-house. In addition, these
environments must integrate well with other systems in the organization, including databases and Manufacturing Execution
Systems (MESs).
The layer between the System Management Software and the Measurement Control Services is what we discuss today. In
particular, we cover the LabVIEW graphical development environment, with which users can assemble user interfaces and
high-level functions for data acquisition and control, signal processing and analysis, and visualization. With LabVIEW,
developers can quickly design high-performance measurement and automation applications that incorporate numerous I/O
devices. Additional application development software provided by
NI are LabWindows/CVI and Measurement Studio, both text-based offerings for programming measurement and automation
applications.
The Measurement and Control Services Software plays a critical role in delivering the key benefits of a modular computer and
networked-based measurement system. The components of this softwarehardware drivers, flexible high-level application
programming interfaces (APIs), and a configuration managermust all integrate within the ADEs to attain maximum system
performance and development productivity. The specific tasks of the Measurement and Control Services Software include
integration of measurement devices, as well as local and distributed configuration and programming of the measurement
devices.
Because LabVIEW provides this high-level view of your system, it becomes an idea platform for many types of applications.
The LabVIEW Platform is larger than any one version or any one release. This broad-based graphical
development platform for Design, Control, and Test addresses embedded design and prototyping, industrial
measurement and control and automated test and measurement platforms. The LabVIEW platform provides
specific tools and models to solve specific applications ranging from filter design to NVH to ATE and can target
any number of platforms from the desktop to embedded devices with an intuitive, powerful graphical
paradigm.
LabVIEW provides a number of benefits to scientists and engineers who are building test, measurement, and control
systems.
1. For nearly 20 years, the popularity of LabVIEW for beginner and experienced programmers in so many different
engineering applications and industries can be attributed to the software's intuitive graphical programming language
used for automating measurement and control systems. The LabVIEW graphical dataflow language and block diagram
approach naturally represent the flow of your data and intuitively map user interface controls to your data, so you can
easily view and modify your data or control inputs.
2. LabVIEW provides literally hundreds of built-in functions for acquiring, analyzing, and presenting your data. Whether
your are performing simple data acquisition or more advanced control systems, LabVIEW has all the tools you need to
quickly develop your software solutions.
3. LabVIEW users typically develop programs with a patented dataflow programming model that provides an intuitive
interface to build design, control, and test applications. However, NI LabVIEW has evolved over the last 20 years to offer
additional application-appropriate development tools that supplement this core dataflow language to speed code
generation and help you better visualize your system. Each of these tools, or programming models, seamlessly
integrates into the core LabVIEW programming environment to provide best-in-class solutions for addressing specific
types of applications such as event-driven programming; state diagram development; and dynamic, continuous time
systems.
4. Using LabVIEW, you have a unique ability to develop once and deploy to a wide variety of computing targets for
maximum flexibility in system design. With targets ranging from the desktop PC down to an arbitrary 32-bit
microprocessor, the LabVIEW graphical development platform provides the optimal combination of rapid development
and flexible deployment.
In this seminar, we will be focusing in the first two key benefits: the concept of graphical programming and how you can
use LabVIEW to easily acquire, analyze, and present your data.
So lets go ahead and start looking at the LabVIEW environment.
10
A LabVIEW program, also referred to as a VI (Virtual Instrument), consists of two windows: the Front Panel and the Block
Diagram.
The Front Panel is where you create the user interface for your VI. You build a Front Panel by dragging and dropping
controls and indicators from the Controls Palette. Each palette icon represents a subpalette, which contains the controls
and indicators you place on the Front Panel. The controls and indicators are configurable and enable you to create
professional graphical interfaces. All of these objects were designed specifically for measurement applications. A control
is a Front Panel object that the user manipulates to interact with the VI. Simple examples of controls include buttons,
slides, dials, and text boxes. An indicator is a Front Panel object that displays data to the user. Examples of indicators
are graphs, thermometers, and gauges. When you place a control or indicator on the Front Panel, a corresponding
terminal is placed on the Block Diagram. This is explained in more detail on the next page.
The Block Diagram is the brain of your VIit is the home for your code. In this window, you use the Functions Palette to
create your measurement application code. Each palette icon represents a subpalette, which contains VIs and functions
that you place on the Block Diagram and wire together to create your code. A complete Block Diagram has a similar
appearance to a flowchart.
The subpalettes provide everything you need in terms of the constructs and functions found in any programming
language as well as functions that are unique to LabVIEW. These palettes, specifically designed for measurement and
automation applications, truly differentiate LabVIEW from more traditional text-based programming languages, giving you
the efficiency necessary to rapidly and easily develop your applications. With your productivity in mind, many templates,
design patterns, and frameworks are available for typical applications to give you a head-start on development to ensure
that you never have to start from scratch.
Express VIs are designed to streamline your application development. There are over 40 Express VIs included in
LabVIEW that enable you to create complete measurement programs in seconds. These VIs were created for the most
frequently built applications with your productivity and efficiency needs in mind. The power you have with Express VIs is
found in the property pages for each that you can individually customize simply by double-clicking them. This will
significantly reduce the number of objects on your Block Diagram and the time needed to add additional functionality.
Additionally, hundreds of Standard VIs are available from the All Functions Palette, making LabVIEW a complete
programming language.
11
NI LabVIEW EnvironmentDataflow
Each node (subVI or function) executes once all its inputs become
available
Parallel execution inherent in graphical nature
Multithreaded execution for improved performance and system
resource management
LabVIEW is a dataflow programming language. This means that data flows from a data source to one or more sinks and
propagates through the program. Unlike text-based development software, LabVIEW, because of its dataflow capability,
is not sequential and can execute multiple operations in parallel easily using an intuitive diagram representation. For
example, as you can see in this slide, the functions that plot the waveform, compute the basic averaged DC-RMS value,
and convert the waveform to a spreadsheet file all execute in parallel.
LabVIEW is a multithreaded programming environment, meaning that multiple operations can occur simultaneously
without interfering with each other. Additionally, our redesigned NI-DAQmx data acquisition driver software also allows
you to perform multithreaded measurements.
12
Modularity
Modular design
Hierarchal system with subVIs
Reusable building blocks similar
to subroutines
Now you have seen how easily you can create a functional NI LabVIEW VI. While this type of simple VI may suit many of
your applications, you will often need to build more complex programs to automate your measurement tasks. For
example, perhaps the VI we just created is just a small part of our overall applicationwe can easily reuse the VI as a
subroutine in another VI. When we use VIs in this manner, we call them subVIs. The graphical architecture of LabVIEW
lends itself well to modular programming techniques, which are essential for optimal application designs.
13
32%
13%
Visual C++
10%
MATLAB
4%
LabWindows/CVI
4%
0%
Software
SoftwareUsed
Usedfor
forPC-Based
PC-Based
Software
Used
for
PC-Based
Data
DataAcquisition
Acquisitionand
andInstrument
Instrument
Data
Acquisition
and
Instrument
Control
Control
Control
5%
10%
15%
20%
25%
30%
35%
Source: Survey of 400 US readers from T&M World, EDN, Design News, and R&D magazines, Q1 2004
LabVIEW is not a new programming language. It is backed by almost 20 years of continuous innovation, and our
customers benefit from the expertise this experience brings. These 20 years of innovation also have created a worldwide
network of users who have created thousands of VIs, hundreds of user groups, and a major presence in the world of
measurement and automation. As you can see here, today LabVIEW is the overwhelming leader in application software
used in PC-based data acquisition and instrument control.
14
Communication Protocols
IEEE 1394
Ethernet
RS-232
CAN
GPIB
TCP/IP
RS-485
DeviceNet
BlueTooth
USB
Other
OS Support
Microsoft Windows
Apple Macintosh
Linux
LabVIEW takes full advantage of current and emerging commercial technologies such as operating systems,
communications buses, and major technology changes such as .NET. Additionally, LabVIEW is a multiplatform
programming language, which means you can take the LabVIEW source code you have written on one platform and
reuse it on any of the other supported platforms. The application you develop runs without any modifications. The only
exception is if your LabVIEW code contains operating system-specific calls that only execute on a given platform.
15
Technologies
OCX
ActiveX
COM
.NET
UNIX (Solaris/Linux)
Languages
OSes
LabVIEW
Windows
MAC
Java
C/C++
Basic
1980s
1990s
2000s
While new commercial software technologies evolve, your applications should not become obselete. Not only does
LabVIEW adopt new technologies so that you can utilize them, but it also maintains compatibility with those technologies
over time. As programming languages, operating systems, and communication technologies change, you can be sure
that LabVIEW will continue to support them and save you the hassle of rewriting code that just needs to keep working.
16
Now take a look at LabVIEW. To launch the software, double-click the LabVIEW shortcut on the quick launch toolbar.
17
Functions Palette
Controls Palette
1. If you have not already done so, click the LabVIEW icon on your quick launch toolbar.
18
Once you launch LabVIEW, a splash screen like the following appears.
2. Click VI from Template to open the New Dialog Box. Notice the different categories on the left of
the window that correspond to the types of tasks from which you can choose. You can select Blank
VI to start from scratch. There also are Template VIs to use as a starting point for building your
application. Projects and Other Files are more advanced components and will not be described in
detail. To get more information on any of the listings in the New Dialog Box, click the Help button in
the lower right corner of the window.
19
3. Select VIFrom TemplateTutorial (Getting Started) Generate and Display and click OK.
Two windows appear. The gray window is the Front Panel, and the white one is the Block Diagram. The
Front Panel contains the parts of your VI used for presenting information, whereas the Block Diagram
contains the code that controls the functionality of the VI. You can toggle between the two windows by
selecting WindowShow Block Diagram or WindowShow Front Panel. You can also switch between
the windows by pressing <Ctrl-E> on the keyboard.
20
4. Examine the Front Panel and Block Diagram of this template VI. The Front Panel contains a
Waveform Chart and a STOP button as shown in the following figure.
The Block Diagram contains a Simulate Signal VI, which is currently configured to simulate a sine
wave and plot it to the chart.
21
5. Switch back to the Front Panel by pressing <Ctrl-E>. Since the Run button (the white arrow in the
top left corner) is solid, you can run this VI as it is. Click the Run button and examine the operation
of the VI. When you are finished, click the STOP button on the Front Panel to stop running the VI.
Note: As you will see later in the exercise, when the Run button in the upper left corner of both the
Front Panel and the Block Diagram changes from a solid white arrow, to a broken gray arrow, this
new icon indicates that the VI is currently not executable.
6. Now we can add some functionality to this basic VI. We will modify the VI to flash an alarm
whenever the signal value is above a certain level. Open the Controls palette (if it is not open
already) by right-clicking the Front Panel window. A small pushpin icon in the upper left corner of
this palette appears. Click this pushpin to force the palette to remain on your screen.
7. Click the Numeric Controls palette, and select a Vertical Pointer Slide to be placed on the Front
Panel. To do this, click the Vertical Pointer Slide and drag it to the Front Panel. Click once to
place it.
22
8. Click the Express menu item on the Controls palette to return to the Express Controls Palette. Click
the LEDs subpalette, and place a Round LED on the Front Panel.
9. Right-click the Vertical Pointer Slide and select Properties. A property page will appear. Examine
the different properties that you can modify. Make the following changes on the Appearance tab and
click OK to apply the changes.
Label: Limit
Slider 1: Check Show digital display(s)
23
10. Right-click the Round LED labeled Boolean, and select Properties. Examine the different properties
that can be modified. On the Appearance tab, change the label from Boolean to Alarm. Click OK to
apply your change. Move the objects on the Front Panel so it resembles the following.
11. Switch to the Block Diagram by pressing <Ctrl-E>. Double-click the Simulate Signal Express VI to
bring up its properties window. Examine the different properties you can modify. Change the
Amplitude of the signal to 10. Click OK to apply this change and to close the properties window.
24
12. Bring up the functions palette by right-clicking the Block Diagram. Select Arithmetic &
ComparisonComparison and place the Comparison Express VI on the diagram.
25
When you place the Comparison Express VI on the Block Diagram, a dialog box appears that lets you
configure what type of comparison you will be doing. Make the following selections, then click OK
to apply these changes and to close the dialog box.
Compare Condition: Greater
Comparison Inputs: Compare to second input
26
13. You can connect Controls, Functions, and Indicators on the Block Diagram by pointing to an object
and clicking it when the cursor changes to a spool of wire. You can then move the cursor to the object
you want to connect it to and click again. Connect the Limit control to the Alarm indicator.
Note: The Run button in the upper left corner of both the Front Panel and the Block Diagram has
changed from a solid white arrow, to a broken gray arrow. This new icon indicates that the VI is
currently not executable. If you click the Run button when it is solid and white, it runs the VI.
Clicking it when it is broken and gray brings up a dialog box that will help you debug the VI.
14. Click the Run button now. The resulting dialog box shows that, in this case, the error results from
connecting terminals of two different types. Since the Limit control is a Numeric type and the Alarm
indicator is a Boolean type, we cannot wire these two terminals together. Highlight the error by
clicking it, and then click Show Error. LabVIEW will highlight the location of the error.
15. Notice that the wire between Limit and Alarm is dashed and a red is displayed on it.
To delete this broken wire, press <Ctrl-B>. This keyboard shortcut removes all broken wires from the
Block Diagram.
16. Make your Block Diagram resemble the following image by completing the following steps.
a. Wire the Limit control to the Operand 2 input of the Comparison function.
b. Connect the wire between the Simulate Signals block and the Waveform Graph to the
Operand 1 input of the Comparison block.
c. Wire the Result output of the Comparison block to the Alarm indicator.
27
This will allow you to see the flow of data through your program.
21. When you are finished, stop the VI by clicking the Stop button on the Front Panel.
End of Exercise 1
28
29
With LabVIEW, you can get up and running quickly to acquire and generate signals from plug-in boards, USB devices,
and Ethernet-based systems. The data acquisition functionality includes features such as automatic configuration and
test panels for verifying operations found in Measurement & Automation Explorer (MAX), as well as built-in channel
configuration for scaling raw data and naming. LabVIEW gives you the ability to easily perform high-speed, waveform,
single-shot, and continuous acquisition and generation, as well as accurate and fast single-point analog and digital I/O.
Additionally, you can perform high-speed digital pattern generation and acquisition and counter and timer I/O for pulse
generation, event counting, duration measurements, and more.
These I/O capabilities, combined with special datatypes and measurement analysis VIs, are specifically designed to
obtain the data or measurement you need from your physical sensors as quickly and as easily as possible.
30
DAQ Devices
cPCI/PXI
PCI
PCIe
USB
Compact
Flash
Ethernet,
Serial,
Wireless,
Fieldbus
Scalability is one of the most important benefits of National Instruments software and hardware.
No matter what type of application you develop, NI makes a solution for you. You can use National Instruments
measurement devices with a wide range of platforms and buses. This is especially significant if, for example, you
currently use a rack mount industrial computer or PXI system and plan to port the data acquisition application to a laptop.
With National Instruments software and hardware, your application migrates with the hardware. This preserves your
investment in the applications you develop today, whether you develop them with LabVIEW, Measurement Studio, Visual
C++, or Visual Basic. You always have a forward migration path for your application with National Instruments products.
31
PCMCIA DAQCard
Shielded Cable
This slide shows the equipment used in this seminar that accompanies each laptop computer on your desks today. We
will not go into detail of the exact hardware specifications. If you would like to know more specifics on the hardware, we
also offer a DAQ Hands-On Seminar.
The sensors we see today, a strain gauge and a thermocouple, are used to convert physical phenomena into
measurable signals. NI also offers a variety of signal conditioning hardware. The SCC (Signal Conditioning Carrier) offers
low channel-count/low-cost front-end signal conditioning to provide sensor-specific signal conditioning per channel.
SCXI (Signal Conditioning eXtensions for Instruments) is the premiere front-end signal conditioning hardware used with a
data acquisition device for high-channel-count and high-performance signal conditioning. You can choose analog or
digital conditioning per module with programmable settings per channel (for most modules), acquisition rates up to 333
kHz, expandable to 3,072 channels, direct connectivity options, rugged design, and shielded architecture.
32
There are three ways to perform analog input or any other data acquisition task in LabVIEW:
The DAQ Assistant is a wizard-like interface that walks you through the steps of creating a data acquisition task.
Using it, you can create an entire data acquisition operation without programming. It is most useful for simple
operations.
You can use the DAQ Assistant to generate lower-level LabVIEW code, so that you can start with a basic
framework that works and modify it to fit your exact application.
The NI-DAQmx API (application programming interface) offers the most flexibility for programming any data
acquisition application. It is a set of VIs that you can use to access all of the capabilities of your data acquisition
hardware. With these VIs, you can choose between hardware or software timed operations, implement advanced
triggering and synchronization schemes and more.
All three of these methods will be demonstrated during the seminar.
NI M Series devices are ideal for numerous analog input operations, offering up to 18 bits of analog input resolution, up
to 1.25 MS/s input rates, and the ability to synchronize multiple I/O types (for example, analog input and analog output)
to the same clock. M Series devices also include
NI PGIA 2 amplifiers, which are optimized for speed (NI 625X), accuracy (NI 628X), and cost
(NI 622X). These custom instrumentation amplifiers provide optimum accuracy and settling times for your application. NIMCal, included with all M Series devices, is a revolutionary calibration algorithm that allows you to calibrate analog input
at all ranges, improving accuracy by up to 5x.
33
Property Nodes
DAQ Assistant
Advanced Utility
Functions
The next exercise will require you to understand some basics of the NI-DAQmx application programming
interface (API).
NI-DAQmx VIs are organized in LabVIEW under the NI Measurements palette. Here, you can access all of the
polymorphic VIs for analog, digital, and counter reads and writes. You also can retrieve the DAQ Assistant
from this location.
The NI-DAQmx programming interface makes it simpler to develop even complex data acquisition applications
by providing identical functions and VIs for all types of operations. For example, rather than using a Digital
Read function to read data from digital lines and an Analog Read function to read analog data, you use the
same function for both. Functions like these, known as polymorphic functions, take on different characteristics
based on their input values. The combination of functions into one simple interface results in a flatter learning
curve for you, not only for one device but also for an entire family of devices. Rather than learning four
different ways to program the four types of operations (analog input, analog output, digital I/O, and
counter/timer) available on National Instruments DAQ devices, you can now learn one way and reuse that
knowledge to program the others.
34
Task and
channel
creation
Simulated DAQmx
devices
Device
configuration
and connection
management
Signal connection
diagrams
In the past, signal types inside of the program were defined by system developers during development using various
connections, transducer equations, and unit conversions. LabVIEW uses Measurement & Automation Explorer (MAX),
which greatly simplifies these tasks by providing access to all your National Instruments DAQ, GPIB, IMAQ, IVI, Motion,
VISA, and VXI devices in a single location. With MAX, you can configure your NI software and hardware; add new
channels, interfaces, and virtual instruments; execute system diagnostics; and view devices and instruments connected
to your system independent of your application development.
The ability to simulate devices has been a highly requested feature of NI-DAQmx. Users want the ability to work on their
code on systems that dont necessarily have the hardware present (download it to their laptop to take their work with
them, etc). NI-DAQmx simulation simulates the NI-DAQmx hardware it does not simulate their full system. Therefore,
you cannot currently customize the fake data that is returned from the simulated device. For example, analog input tasks
will always return a sine wave with noise. The frequency of the sine wave will change with the speed of the acquisition
though.
Note that inside of the driver, we call the exact same code for simulated devices as we do for real devices. Therefore, if
a device doesnt support a particular feature such as analog triggering, you will get an error if you try to enable analog
triggering a simulated device of that same type. This enables you to start developing your application before you have
the hardware..
If you have tasks that have been created for a simulated device and want to switch them to use a real device, you have
several different options. Select the simulated device in MAX and choose to delete it. A dialog will pop up giving you the
option to retarget the tasks and channels that use this device to another device. You can choose this option or just
delete the simulated device and rename your actual device to be what the simulated device was. All of the tasks and
channels that use the simulated devices name will now point to the actual device.
35
Now take a look at LabVIEW. To launch the software, double-click the LabVIEW shortcut on the quick launch toolbar.
36
37
4. Double-click the icon on the left labeled Devices and Interfaces. This category contains all of the
different devices and interfaces with which you can currently communicate. Your device list should
resemble the following screen.
5. Click NI-DAQmx Devices. You will see a Data Acquisition (DAQ) card listed. If you do not see a
DAQ card, select ViewRefresh to have MAX search for the devices installed on your computer.
Right-click the DAQ card and select Test Panels. This will bring up a window that will allow you to
perform the different data acquisition tasks that are available on your board.
6. Make sure that you have connected the sinewave output of the DAQ Signal Accessory to Analog
Input 1. Change the frequency range to 100Hz-10kHz and turn the frequency adjust knob all the way
counter clock wise. Click the Analog Input tab. Under Channel Name, be sure Dev1/ai1 is selected.
Under mode, select Continuous. Make sure the Rate is set to 1000 Hz and Samples to Read 100.
Click the Start button.
38
7. You should see a sine wave. This shows the ability to use MAX as a troubleshooting and testing tool
before you begin programming to ensure your hardware is set up properly.
8. Click Stop on the Test Panel when you are finished. Close the Test Panel window and
Measurement & Automation Explorer and return to the LabVIEW Block Diagram.
39
9. Right-click the Block Diagram to bring up the functions palette. Place a While Loop on your Block
Diagram by selecting ExpressExecution ControlWhile Loop.
40
9. Place a DAQ Assistant Express VI inside your While Loop. This is located in the Input subpalette of
the Functions palette.
41
42
10. Another configuration window will appear. Make the following selections and click OK.
Task Timing: Acquisition Mode: 1 Sample (On Demand)
43
44
13. Rather than displaying our data in a numeric indicator, we want to display our temperature readings in
a thermometer indicator. To do this, go to the Front Panel by pressing <Ctrl-E>. Right-click the graph
indicator and select Replace. The Controls palette will appear. Select ExpressNumeric Indicators
Thermometer. The thermometer indicator should now appear instead of the graph indicator.
14. Modify the thermometer indicator by right-clicking it and selecting Properties. On the Appearance
Tab, change the Label to Temperature.
45
On the Scale tab, change the Minimum to 20 and the Maximum to 30.
46
16. To perform analysis on your data, select the Statistics Express VI from the Express>>Signal
Analysis subpalette of the Functions palette and place it on your Block Diagram.
47
A properties window will appear. Make the following selections and click OK.
Statistical Calculations: Arithmetic Mean
Extreme Values: Maximum, Minimum
17. Currently you are collecting one temperature reading each time the while loop executes. To calculate
the average, maximum, and minimum of 100 measurements, place the Collector Express VI, located
on the FunctionsExpressSignal Manipulation palette, on the Block Diagram. This Express VI
creates an internal buffer to store the individual data points. When the maximum number of inputs is
collected, the Express VI discards the oldest points and adds the newest points.
48
18. In the Configure Collector dialog box that appears, set the Maximum number of samples to 100.
Click the OK button to close the dialog box.
19. Place the Time Delay Express VI, located on the FunctionsExpressExecution Control palette, on
the Block Diagram. In the Configure Time Delay dialog box that appears, type 0.5 and click OK to
close the dialog box. This will cause the loop to execute every 500 ms.
20. Make your Block Diagram resemble the following by completing the following steps.
a. Wire the data output of the multiply VI to the Signals input of the Collector VI.
b. Wire the Collected Signals output of the Collector VI to the Signals input of the Statistics VI.
c. Right-click the Arithmetic Mean output of the Statistics VI and select CreateNumeric
Indicator. This will create a numeric indicator on the Front Panel that will display the Arithmetic
mean. Repeat this step for both the Maximum and Minimum outputs of the Statistics VI.
49
21. Switch to the Front Panel and rearrange your controls and indicators to resemble the following.
50
22. Add a waveform chart to the front panel. Right click on the front panel and select the Waveform
Chart under ExpressGraph IndicatorsChart and put in on the front panel.
23. Switch to the block. Right click on the block diagram and select the Merge Signals under
ExpressSignal Manipulation. Once you drop it to the block diagram, resize the Merge Signals to
merge 3 signals.
51
25. Switch to the front panel by pressing <CTRL-E>, right-click on the Chart and make sure AutoScale Y
is unchecked. Change the Y scale of the chart to a minimum of 25 and maximum of 30.
52
26. Run the VI. The front panel should look something like the following.
53
31. A configuration window will appear. Enter the following parameters and click OK.
54
33. Run the VI momentarily and Stop it. Browse to the path that you have set earlier and open the file
with a spreadsheet program (eg. Microsoft Excel).
34. Save your VI.
End of Exercise 2a
55
Front Panel
1. Open a new VI.
2. Build the following front panel.
a. Select the horizontal pointer slide on the ControlsNumeric Controls palette and place
it on the front panel. You will use the slide to change the software timing.
b. Type millisecond delay inside the label and click outside the label or click the
Enter button on the toolbar, shown at left.
c. Place a Stop Button from the ControlsButtons palette.
d. Select a waveform chart on the ControlsGraph Indicators palette and place it on the
front panel. The waveform chart will display the data in real time.
e. Type Value History inside the label and click outside the label or click the Enter
button.
National Instruments Corporation
LabVIEW Graphical Development Hands-On Seminar
56
f.
The waveform chart legend labels the plot Plot 0. Use the Labeling tool to triple-click
Plot 0 in the chart legend, type Value, and click outside the label or click the Enter
button to relabel the legend.
g. The random number generator generates numbers between 0 and 1, in a classroom setting
you could replace this with a data acquisition VI. Use the Labeling tool to double-click
10.0 in the y-axis, type 1, and click outside the label or click the Enter button to
rescale the chart.
h. Change 10.0 in the y-axis to 0.
i. Label the y-axis Value and the x-axis Time (sec).
Block Diagram
3. Select WindowShow Diagram to display the block diagram.
4. Enclose the two terminals in a While Loop, as shown in the following block diagram.
57
The section of the block diagram within the While Loop border executes until the specified
condition is TRUE. For example, while the STOP button is not pressed, the VI returns a new
number and displays it on the waveform chart.
10. Click the STOP button to stop the acquisition. The condition is FALSE, and the loop stops
executing.
11. Format and customize the X and Y scales of the waveform chart.
a. Right-click the chart and select Properties from the shortcut menu. The following
dialog box appears.
b. Click the Scale tab and select different styles for the y-axis. You also can select
different mapping modes, grid options, scaling factors, and formats and precisions.
Notice that these will update interactively on the waveform chart
c. Select the options you desire and click the OK button.
12. Right-click the waveform chart and select Data OperationsClear Chart from the shortcut
menu to clear the display buffer and reset the waveform chart. If the VI is running, you can
select Clear Chart from the shortcut menu.
58
Adding Timing
When this VI runs, the While Loop executes as quickly as possible. Complete the following steps to take
data at certain intervals, such as once every half-second, as shown in the following block diagram.
13.
14.
15.
16.
End of Exercise
59
Now take a look at LabVIEW. To launch the software, double-click the LabVIEW shortcut on the quick launch toolbar.
60
61
Place the Instrument I/O Assistant on your block diagram. A window like the one below will
appear.
4. Check MAX to find the address of the GPIB instrument provided by the instructor. From the drop
down menu labeled Select an instrument, select GPIB0::<pa>::INSTR. (Where pa is the primary
address of your instrument.) If this listing does not show up, press the Refresh instrument list
button.
Next, we will use a Query and Parse step to write a command to the instrument and read the
instrument response at once. The following steps show you how to query an instrument.
62
5. Click the Add Step button below the Step Sequence window, and select Query and Parse from the
list that appears.
6. The Enter a command edit box allows you to enter the command you want to send to the instrument,
or use the drop-down listbox to select a command you entered previously. In this case, we will type in
the *idn? command.
This is a common command that most instruments understand. It queries the instrument for
information about its manufacturer and instrument type. Refer to the documentation for the
instrument for more information about valid instrument commands.
7. Click the Run this step button to send the command to the instrument and read the instrument
response.
63
8. When you use a Query and Parse step to read data from an instrument, the response appears in the
response window as shown below.
9. Instrument I/O Assistant can automatically parse the entire data set for you, or you can parse the data
manually. The response window displays data in binary form, ASCII form, or binary form and ASCII
form together. In this case, we will choose to view the data in ASCII only format using no separators.
To do this, use the View type drop-down listbox to select the form in which to display data in the
response window. Then delete the comma in the Separator(s) field to change the separator to
<none>, as shown below.
64
10. Next, click on the Auto parse button to parse the data so that it returns the readable characters. You
will notice that it will create a data token that can be read as an output string in your VI. Rename the
token Instrument Data. Your window should now appear similar to the following.
11. Click the Add Step button above the Step Sequence window, and select Write from the list that
appears. This will simply write a command to the instrument.
12. In the Enter a command edit box, enter the following series of commands: SOUR: FUNC SIN;
FORM:DATA ASC;.
65
This command string sets the format in which to send the data from the simulator to the computer.
The functionality of each parameter is listed below.
Command
Function
FORM:DATA ASC;
13. Click the Run this step button to send the command to the instrument.
14. Click the Add Step button and select Query and Parse. In the Enter a command edit box, enter the
command SENS:DATA?. This will return the waveform data from the instrument.
15. Click the Run this step button to send the command to the instrument and to read the response back.
16. Press the Auto parse button. Doing so will create a data token. Rename the data Token Sine Wave
by selecting that data token and typing in Sine Wave into the Token name entry.
17. Now your settings should resemble the following.
18. On the left window pane, notice that there are 2 tokens that are created from the Query and Parse of
SENS:DATA?. Right click on token and unselect the Make This Data Item an Output. This step
is performed to customize the connector that will be generated by the Instrument I/O Assistant
66
19. Click OK to close the configuration window and wait a few moments as the Instrument I/O
Assistant configures itself. Your block diagram should now look like the following image.
20. Right click on the Instrument Data output and select Create>>Indicator. This will create a string
indicator on the front panel that will allow you to view the instrument response.
21. Right click on the Sine Wave output and select CreateGraph Indicator. This will create a graph on
the front panel that will display the sine wave data.
67
22. Now we will perform some analysis on the data. Right click on the block diagram to bring up the
Functions Palette. Go to Signal AnalysisSpectral Measurements, and place the VI on your block
diagram.
23. A window should appear. Make the following selections and press OK to apply the changes.
Spectral Measurement: Power Spectrum
Result: Linear
Window: None
24. Wire the Sine Wave output of the Instrument I/O Assistant to the Signals input of the Spectral
Measurements VI.
68
25. Right click on the Power Spectrum output of the Spectral Measurements VI and select
CreateGraph Indicator.
26. Your block diagram should now resemble the following figure:
27. Switch to the front panel by pressing Ctrl-E. Resize the string and graph indicators to resemble the
following:
69
70
NI Modular Instrumentation is the combination of compact, high performance hardware, flexible software, and integrated
timing and synchronization resources. Modular Instrument hardware uses the latest commercial technologies, including
ADC, DACs, FPGAs, and PC busses to provide high resolution and throughput for measurements from 7 digit DC to 2.7
GHz. LabVIEW includes built-in software based measurements and sophisticated analysis routines for us with these high
performance instruments. Using Modular Instrumentation, engineers in test and design can create user-defined
measurement systems to meet their unique application requirements by choosing the appropriate hardware modules and
creating custom measurements with LabVIEW. Systems built with modular instrumentation deliver greater flexibility,
accuracy, throughput and synchronization than traditional systems. NI's modular instrument hardware includes:
High-speed digitizers
Function and arbitrary waveform generators
Digital waveform generator/analyzers
Digital Multimeters (DMMs)
RF Measurements
Audio/Video acquisition and generation devices
Switching
In addition, NI's modular instruments integrate with NI's other products, including machine motion and vision, data
acquisition, and more.
71
Accuracy (Bits)
24
22
20
18
16
14
12
10
8
6
1
10
100
1K
10K
100K
1M
Frequency (Hz)
10M
100M
1G
10G
100G
Traditional Instruments
NI before NI 5922
NI after NI 5922
72
Audio Analyzers
Multim eters
RF
Signal Generators
Up to 400 Mb/s
Switching
73
The three main components of most measurement and automation applications are acquiring, analyzing, and presenting
data. Now that we have looked at how to acquire our data in LabVIEW, lets see what possibilities exist from there.
74
Signal synthesis
Curve fitting and interpolation
FFT-based frequency analysis
Mathematics
Probability and statistics
Time- and frequency-domain analysis
Digital signal processing
Waveform alignment and resampling
Much more
Often, raw data is not the information ultimately sought after in a measurement and automation application. As such,
powerful and easy-to-use analysis functionality is a must for your software application. LabVIEW provides more than 450
built-in comprehensive tools designed specifically for extracting useful information from any set of acquired data and for
analyzing measurements and processing signals. LabVIEW offers functions that you can easily incorporate into your
programs in order to perform inline analysis and to add decision-making capabilities to your applications. Available
functions include mathematics libraries, with linear algebra functions based on the industry-standard LAPACK/BLAS
algorithms, advanced signal processing tools, and measurement analysis functions, such as FFT and power spectrum,
signal generation, digital filters, and curve fitting. There are 12 Analysis Express VIs for even more ease of use in your
analysis needs. In this seminar we will not cover these analysis functions in depth. For more information, visit
ni.com/analysis.
In addition, National Instruments offers a series of toolsets that extend the analysis capabilities of LabVIEW for more
specialized applications, such as sound and vibration analysis, order analysis, and digital signal processing. By building
analysis capabilities directly into your application, you eliminate the need for performing post-acquisition analysis and
obtain results quickly.
75
Report Generation
Documentation Tools
HTML reports for the Web
Microsoft Word and Excel reports
Interactive report generation with NI DIAdem
TCP/IP
BlueTooth
OPC
SQL database connectivity
XML data format
Presentation of your data encompasses several different areas of functionalityvisualization, report generation, and data
management and connectivity. LabVIEW includes a wide array of visualization tools to make your data presentation
attractive and simple to create. Some of these tools include charting and graphing utilities, and built-in 2D and 3D
visualization tools. Attributes of your presentation such as color, font size, and graph type can be instantly reconfigured,
and you can even rotate, zoom, and pan your graphs at run-time. Additionally, it is now possible to view and control your
VIs over the Internet using a tool called Remote Panels, which we will discuss in more detail on the following slide.
In terms of report generation, National Instruments offers several options, including documentation-generation tools,
HTML reports, programmatic generation of Microsoft Word and Excel reports, and interactive report generation with NI
DIAdem.
Finally, we must consider data management and connectivity. NI DIAdem offers data management and offline analysis
for large data sets, tools such as the Database Connectivity Toolset allow you to connect to third-party databases, and
standard File I/O makes saving your data easier than ever. In terms of connectivity, LabVIEW offers simple ways to
incorporate ActiveX software, dynamic link libraries (DLLs), and shared libraries from other tools. In addition, you can
share LabVIEW code as a DLL, built executable, or using ActiveX.
LabVIEW also offers a full range of options for communications and data standards, such as TCP/IP, BlueTooth, OPC,
SQL database connectivity, and XML data formats.
76
Remote Panels
Control NI LabVIEW VIs through a standard Web browser
Easy setupno programming
required
Internet
LabVIEW Environment
Web Browser
One of the most exciting presentation and data-sharing tools is Remote Panels. Using this feature, you can remotely
control LabVIEW from any standard Web browseranywhere in the worldwithout programming. You can remotely
control an application situated in a hazardous environment or monitor and adjust your application while away from the
office. Simply embed your VI Front Panel in a standard Web browser with one menu selection.
77
Once you have finished developing your application, it is likely that youll have to distribute it to one or more
computers that do not have the LabVIEW development environment installed. This requires the Application
Builder
The Application Builder changes result in it being more useful, as well as being able to create new outputs like
source distributions and .zip files. Application Builder can now create installers that bundle an executable and
necessary hardware drivers.
To make the migration path smoother, you can import .bld files created in previous versions of LabVIEW into
LabVIEW 8, which will create the necessary project for you.
*Be sure to include information such as applications that may use the 'enable debug' feature
Mike: For app builder it isn't "version tracking" ... it's just giving the exe a version for the OS.
Mike: When talking about dynamic VIs you probably don't need to spend that much time on it, just mention it.
When you set it up I start to get the impression that we are going to address dynamic VIs all the time but then
you sort of seem to back track. Very minor issue.
Mike: When we talk about the installer we introduce it as "include additional installs" It's not any install it's just
NI installers. We should just say, include drivers with your installer ... it's clearer.
what exactly does it mean to have debugging selected? It builds an EXE with the diagrams included? You
run the VI from inside the environment?
78
Now take a look at LabVIEW. To launch the software, double-click the LabVIEW shortcut on the quick launch toolbar.
79
80
5. Connect the Sine with Uniform output of the Simulate Signal Express VI to the Signals input of the
Spectral Measurements Express VI as shown here:
81
6. To report this data, select the Report Express VI from the Output subpalette of the Functions palette
and place it on your Block Diagram.
A properties window will appear. Configure the Report VI according to the following figure and click
OK.
82
7. Wire the output of the DAQ Simulate Signal Express VI and the Spectral Measurement Express VI to
the inputs of the Report Express VI as demonstrated here:
83
84
3. Next, select your VI from the VI name ring and then click Next.
85
4. The next window allows us to configure the text that is displayed on the web page. Fill in the fields as
shown here and click Next.
5. LabVIEW will now generate the HTML page which displays your application over the web. In the
next window, you are prompted to save this page. Click Save to Disk. LabVIEW then provides the
URL for your new page. Click Connect and LabVIEW will launch your new web page.
6. To control the VI through your web browser, right-click on the Front Panel image and select Request
Control of VI.
86
87
LabVIEW Everywhere
88
LabVIEW Everywhere
The vision of LabVIEW is to scale from development on workstations and PCs to ever more embedded targets from
rugged toaster-sized boxes to embedded systems on chips. NIs vision is that with one development tool you will be able
to design from desktop to embedded, simply varying your target based on application timing, size, ruggedness,
portability, and other requirements, without having to learn an entirely new development process. In doing so, the
LabVIEW vision also needs to encompass better management of distributed, networked systems. As the targets for
LabVIEW become more varied and embedded, you will need to be able to more easily distribute and communicate
between various LabVIEW code pieces in your system. For example, you may have a PC running a LabVIEW application
that communicates to a real-time system that also is running LabVIEW. That system, in turn, integrates with a LabVIEW
program running on an FPGA within the real-time system. All of that delivers high performance, but you also need an
easy-to-use development environment to be able to understand clearly what is happening at a system level.
89
E
Oc mba
to r go
be ed
r3r u
d
, 2 n til
00
5
LabVIEW 8
Real-Time Module
LabVIEW 8
DSC Module
LabVIEW 8
FPGA Module
LabVIEW 8
PDA Module
We have talked a lot about the LabVIEW family today Id like to give you a snapshot of the products that are releasing
on October 3 rd, 2005.
We are of course releasing the upgrade to the core development environment LabVIEW 8, in addition to the four
targeting modules: Real-Time, Datalogging and Supervisory Control (DSC), FPGA, and PDA.
LabVIEW 8 is now also localized fully in Korean and Chinese as we extend the reach of distributed intelligence into
different application spaces as well as geographies.
90
LabVIEW Real-Time extends LabVIEW graphical programming to create applications with deterministic, real-time
performance. You can develop and debug your application using familiar LabVIEW graphical programming on a
Windows PC, and then download that time-critical code to run embedded on RT Series hardware. Through LabVIEW
Real-Time, National Instruments is extending the simplicity of LabVIEW graphical programming for widespread
development and deployment of real-time applications without requiring in-depth knowledge of real-time techniques.
91
92
93
Personal digital assistants (PDAs) have gained widespread use and satisfy an increasing demand for reducing
equipment size while increasing system mobility and modularity. Take advantage of the benefits of this
technology by using National Instruments LabVIEW PDA Module. By adding the LabVIEW PDA Module to
LabVIEW development systems, you can run VIs on Palm OS, Microsoft Windows Mobile for Pocket PC, and
select Windows CE OS devices. Target standard and industrial PDAs, PDAs with phone capabilities, and
touch-panel displays. With the LabVIEW PDA Module engineers and scientists can build many applications
including field test systems, remote control and monitoring systems, and portable data acquisition systems.
By porting DAQmx technology to the PDA, we are able to achieve multi-channel acquisition, timing & triggering
enhancements, and a faster sampling rate up to 250kS/s. Additionally, we are adding support for PCMCIA
DMM boards to give engineers the ability to create fully customized DMM applications:
94
Project-Based Development
Navigate an entire LabVIEW application
Add new and existing LabVIEW source VIs
Organize files like external code, documents, data
files and more
Store LabVIEW Application Builder settings
Interface with source code control software
Manage Real-Time, FPGA and PDA targets
Because LabVIEW enables you to easily target your distributed devices, the size and complexity of LabVIEW
applications has grown over the years. To assist in the management of these large software systems,
LabVIEW 8 introduces project-based LabVIEW development with the LabVIEW Project. Using the Project
Explorer, you can easily navigate your entire application: sets of VIs and libraries, external code such as DLLs
and ActiveX controls. You can even create new files from within the Project Explorer.
You can also store your build specifications within the LabVIEW project. For instance, if you create a test build
and release build of your applications, you can easily store this information in the project and have access to
each build at all times. You can even interface with your source code control software from within the
LabVIEW project environment. This greatly simplified the complexities of team-based development.
Additionally, you can now easily manage your real-time, FPGA, and PDA targets from the Project Explorer. In
the past, users had to reopen LabVIEW to work with each individual target. In order to view the files located on
your targets, you had to connect over the network and access files on the remote machine. Now all of this
information is can be visually managed through this simple interface.
95
To further extend the functionality of LabVIEW, National Instruments and hundreds of third-party vendors have created
specialized toolkits. Toolkits are libraries of functions, virtual instruments, interactive wizards, examples, utilities, and
documentation that fully integrate into your LabVIEW development environment and applications. These functions are
designed and optimized for specific needs, ranging from advanced analysis and signal processing algorithms, to
communicating with databases and programs such as Microsoft Excel.
There are currently over 50 add-on toolkits for LabVIEW from National Instruments. Each toolkit is designed to address a
specific application or technology. For a complete listing of NI toolkits, visit ni.com/toolkits.
Additionally, there are literally hundreds of LabVIEW add-ons available from third-party vendors. Regardless of what type
of application you are building, there is likely a toolkit available that will help you develop your program quicker and
easier. For a complete list of all LabVIEW add-ons, visit the LabVIEW Tools Exchange at ni.com/labviewtools.
96
You have seen the fundamentals of developing applications in LabVIEW. You can do much more with LabVIEW. This
seminar manual contains Appendix A, LabVIEW Product Offering, which describes the family of toolsets that complement
LabVIEW and expand the types of applications you can create.
97
When you buy a copy of LabVIEW, youre also joining a worldwide community of users who work together
every day to make one another more successful. The NI Discussion Forums currently have more than 50,000
members who are answering each others questions and sharing best practices. This is an invaluable resource
when you are getting started with LabVIEW and also provides an excellent place to work with experts as you
become more familiar with the LabVIEW environment.
There are also more than 100 LabVIEW User Groups located around the world. These groups of LabVIEW
users meet regularly to share their LabVIEW expertise and help their local community of users to improve their
skills. This is a very active community who work together to share presentations and best practices for helping
their User Groups succeed. To locate a User Group near you, visit LabVIEW Zone for a list of all LabVIEW
User Groups.
As mentioned earlier, many third-party organizations develop LabVIEW toolkits. Quite often, these toolkits are
available from individuals who solved a particular application and want to share their expertise with the entire
LabVIEW Community. For a complete listing of available LabVIEW add-ons, visit ni.com/labviewtools.
Finally, there are literally thousands of example program, tutorials, and application notes available from
LabVIEW Zone. LabVIEW Zone is your portal to the LabVIEW Community and gets you in touch with the
worldwide community of users. If you are just starting to use LabVIEW, you will find very helpful tutorials and
application notes to help you get started. As you continue to develop your skills, LabVIEW Zone can get you in
touch with other users of your skill level.
98
ni.com/services
We designed NI services and support to meet your needs through the application lifecyclefrom planning and
development through deployment and ongoing maintenanceand tailored for customer requirements in research,
design, validation, and manufacturing. Whether you want to develop your own solution or outsource the development of
your solution, NI and its partners can deliver the level of service you need for successful implementation.
Technical Support: Web resourcesKnowledgeBase, application notes, instrument drivers, LabVIEW Zone developer
support communityni.com/support; e-mail and phone technical support from applications engineers worldwide
through the Standard Service Program; Premier Support for expedited technical support from senior applications
engineers
Software Maintenance Services:
LabVIEW Standard Service Program (SSP): Software upgrades, one-on-one technical support via phone and
email, and 10% training discount for one yearni.com/ssp.
NI Developer Suite: Subscription program includes Standard Service for a bundle of our most popular software
products. Each quarter you receive a new set of CDs with the most recent software version for each product in the
suite. You also receive one-on-one technical support and 10% training discount for one year ni.com/suite.
Professional Services: Our Professional Services Team is comprised of NI applications engineers, NI Consulting
Services, and a worldwide Alliance Program (a network of more than 600 independent consultants and integrators). For
those customers with in-house resources and expertise, our standard services and support ensure that your application
gets up and running quickly and efficiently. If you require the expertise or the resources, we offer services ranging from
basic startup assistance and collaborative development with your engineers, to turnkey, system integration, and
maintenance of your systemni.com/alliance.
99
Experienced User
Courses
Begin
Here
Core Courses
LabVIEW
LabVIEW
Basics II
Basics I
Certifications
Certified LabVIEW Associate
Developer Exam
Advanced User
LabVIEW Advanced I
LabVIEW
Intermediate I
LabVIEW
Intermediate II
ni.com/training
With the LabVIEW Skill Development Plan, NI offers a sequence of LabVIEW courses and certifications to ensure your
success with LabVIEW and gain recognition for your technical expertise.
The LabVIEW Skill Development Plan consists of:
Basics and Advanced courses for new and experienced users
Basics courses focus on teaching the LabVIEW environment to get you started quickly, while Intermediate and
Advanced courses teach programming techniques and large application design to optimize your use of LabVIEW.
Core courses are recommended training to maximize your productivity gains.
NI courses are organized in a modular series, so you can choose the courses that offer the right level of skills for you to
develop your applications.
As you develop your skills, NI offers different levels of LabVIEW certifications for you to recognize and gain credibility for
your technical expertise. The Associate Developer, Developer, and Architect levels of product-based certifications
identify individuals with basic, advanced, and expert knowledge in using LabVIEW.
With NI training and certification, you can:
Get your application right the first time and save a considerable amount of development time and cost
Choose the training format that best meets your needs - instructor-led classroom, online or onsite along with self-paced
formats.
Differentiate skills with professional credentials for career growth
For detailed course descriptions, a schedule of courses in your area, or to register, please call or visit
www.ni.com/training.
100
ni.com/training
Certified
LabVIEW
Architect
Developer
Advanced LabVIEW knowledge and
application development experience
Project management skills
Associate Developer
Proficiency in navigating LabVIEW
environment
Some application
development experience
FREE, pre-certification
skills test
Nowadays, more and more companies and hiring managers are requesting for LabVIEW expertise in their job interviews.
The LabVIEW Certification Program is built on a series of professional exams. LabVIEW Certifications are used to
validate LabVIEW expertise and skills for employment opportunities and for project bids.
The Certified LabVIEW Associate Developer is the first-step for LabVIEW certification and it demonstrates a strong
foundation in using LabVIEW and the LabVIEW environment. As students, your Certified LabVIEW Associate Developer
certification differentiates your LabVIEW skill for employment opportunities and also gets you recognition for your
LabVIEW expertise. The CLAD is a 1-hour multiple choice exam conducted at Pearson VUE testing centers around the
country. The exam covers multiple topics on the LabVIEW environment including dataflow concepts, programming
structures, Advanced file I/O techniques, Modular programming practices, VI object properties and control references.
Thinking about getting your CLAD certification, take the free online LabVIEW Fundamentals Exam as a sample precertification skills test.
The Certified LabVIEW Developer and Architect are professional certifications that validate Advanced LabVIEW
knowledge and application development experience. Additionally, the Architect certification also demonstrates skills in
leading project teams and large application development experience. These exams are 4-hour practical exams
conducted by National Instruments.
101
102
Questions or Comments?
ni.com/labview
Thank you for coming to the LabVIEW Hands-On Seminar. We hope that you have learned why LabVIEW is the best tool
for acquiring, analyzing, and presenting your data. The easy-to-navigate environment and powerful programming tools
make LabVIEW the ideal solution for creating test, measurement, and control applications. Visit us on the Web at
ni.com/labview for more examples and product information.
103
LabVIEW is an industry-standard software development package for test, measurement, and control applications. You
can use it for applications from design validation to manufacturing test. LabVIEW can be extended through toolkits and
modules to address the needs of engineers working on many different applications. LabVIEW functionality includes realtime control, data logging and supervisory control, sound and vibration, motion and vision, as well as add-on toolsets.
104
The LabVIEW Base Package includes all of the tools you need to develop a complete data acquisition or instrument
control application with basic data analysis.
The LabVIEW Full Development System adds advanced measurement analysis libraries, report generation, custom
graphics and animation, MATLAB script integration, Web publishing, 3D plots, and the ability to call external code as
DLLs and shared libraries to the Base Package.
The LabVIEW Professional Development System facilitates the development of sophisticated, high-end systems for
developers working in teams, users developing large suites of VIs, or programmers needing to adhere to stringent quality
standards.
The Standard Service Program (SSP), when ordered with LabVIEW, is an annually renewed maintenance service that
provides you with automatic updates, one-on-one technical support, and discounts on training courses and materials.
For more information, visit ni.com/labview.
105
NI Developer Suite is a subscription program that includes the software tools you need to build a complete measurement
system. Featuring LabVIEW, LabWindows/CVI, and Measurement Studio, NI Developer Suite puts the latest powerful,
industry-standard software at your fingertips to make measurements, analyze and present results. You have the tools
you need, when you need them, for building successful measurement and automation applications faster and more costeffectively than ever before.
In addition, your purchase of NI Developer Suite includes one year of Standard Service. You will receive quarterly
updates with the latest versions of your application software. You can access NI Applications Engineers via phone and email to get answers to your technical support questions. Renew your annual subscription to Standard Service to continue
receiving these benefits without interruption. For more information about the NI Developer Suite, visit ni.com/suite.
106
The National Instruments LabVIEW Datalogging & Supervisory Control Module is the ideal software tool for easily
designing and maintaining distributed monitoring and control systems.
With this module, engineers can easily connect to their I/O, including LabVIEW Real-Time Module targets and OPC
devices. From system overview to node execution, this module delivers built-in development tools to successfully log
data, alarms and events; trend data and batches across time; and efficiently extract data from the networked database
with standard SQL/ODBC queries.
Version 7.0 of this module delivers an improved development experience for distributed monitoring and control systems,
increased flexibility in searching and extracting data and enhanced reliability and protection for data logging applications.
Engineers also can protect their processes with the built-in security tools.
107
Enhance images
Check for presence
Locate features
Identify parts
Measure objects
The NI Vision Development Module is a suite of software tools that offers high-level interactive software as well
as low-level image processing functions. The Module includes Vision Assistant, an interactive prototyping tool
that accelerates your development, and the Vision libraries, a collection of over 200 image processing and
analysis functions. These tools work together for fast application development for industrial and scientific
imaging applications
Vision Assistant is easy-to-use inspection software that does not require programming yet is scalable to
programming environments such as LabVIEW, Visual Basic, C, and C++. Vision Assistant is ideal for
applications where fast time to market and low cost of ownership is a must. With Vision Assistant software you
can quickly setup and benchmark an imaging strategy using over hundreds of image processing and analysis
functions.
Enhance Images: Filter noise, remove distortion, apply real world units. In the image, were measuring the
wrench in mm, not pixels
Check for Presence: Simplest vision inspection. iS everything there? Results in a P/F result.
Locate features: Usually with a pattern match. Often times to find a fiducial in order to build a coordinate
system. Results in a location and rotation angle
Identify Parts: Reading text, tracking bar codes, classifying objects for sorting. Returns text usually.
Measure objects: Distance, radius, size, area. Usually returns a numerical value.
108
NI Motion Assistant
Additionally, LabVIEW offers you the flexibility of incorporating motion control into your application. To facilitate this
process, National Instruments offers a complete selection of motion control software, controllers, and power drives
that quickly and seamlessly integrate into your automated test and machine control systems. The reduced
development time, easy connectivity, and integrated solutions combine to make you even more successful.
The NI Motion Assistant is a flexible and easy-to-use development tool for building and prototyping motion
applications. Similar to the Vision Builder, the Motion Assistant can also convert your motion prototype to LabVIEW
code. The NI SoftMotion Controller for CANopen and IEEE 1394 enables you to program intelligent drives with
LabVIEW for your distributed motion control applications.
NI SoftMotion Development Module for LabVIEW is for machine builders and OEMs creating custom motion
controllers for better machine performance and for researchers implementing advanced control design algorithms
for motion control. The module includes functions for trajectory generation, spline interpolation, position and velocity
PID control and encoder implementation. Using the NI SoftMotion development module you can create your custom
motion controller in software.
109
The LabVIEW Report Generation Toolkit for Microsoft Office is a library of flexible, easy-to-use VIs for programmatically
creating and editing Microsoft Word and Excel reports from LabVIEW. The Toolkit supplies powerful functions to quickly
create professional reports, giving you the flexibility you need to manage every facet of your presentation, from content to
layout and appearance.
With this toolkit, you can:
Create and edit reports containing text, tables, graphs, and pictures
Create reports from templates using Word bookmarks or Excel named ranges as placeholders
Set report formatting (headers, footers, page numbers, fonts, borders, colors, text alignment, etc.)
E-mail reports
110
The LabVIEW Database Connectivity Toolset is a set of high-level tools for accessing local and remote databases from
LabVIEW. It incorporates the latest technologies, such as Microsoft ActiveX Data Objects (ADO) to deliver high-speed
performance with low memory overhead.
With the Database Connectivity Toolset, you can:
Select information in a database and save it to a file in Extensible Markup Language (XML) format
The Database Connectivity Toolset readily connects to popular databases such as Microsoft Access, SQL Server, and
Oracle. It also can connect to other databases if you install the appropriate
ADO-compliant OLE DB provider or ODBC driver from Microsoft or the database vendor.
The Database Connectivity Toolset is part of the Enterprise Connectivity Toolset.
111
As your business grows, you need enterprise connectivity tools to track the progress of your product as it moves from
research and development to production, test, and deployment. The NI LabVIEW Enterprise Connectivity Toolset
provides integrated tools for database operations and SPC, and Internet-enabling technologies that give you the access
and networking you need for your business operation. The components of the Enterprise Connectivity Toolset are also
available separately in the Database Connectivity Toolset, the SPC Toolkit, and the Internet Toolkit. Engineers and
scientists often need to perform important functions such as conducting research, publishing conclusions, displaying data
on the Web, archiving source code versions, and scheduling for test development teams. With the LabVIEW Enterprise
Connectivity Toolset, you can easily incorporate these and many other important capabilities into your LabVIEW
applications.
112
Fuzzy Logic
Control strategies
Decision making
To quickly develop automated control applications, the PID Control Toolset provides sophisticated control algorithms for
PID and fuzzy logic control. The PID tools implement a wide range of PID algorithms and feature autotuning and gain
scheduling to improve system performance. For nonlinear or highly complex systems, the fuzzy logic tools accelerate
development by implementing control strategies through simple linguistic rules. You can also use the tools for decision
making, such as pattern recognition or fault diagnosis.
113
Now that we have seen the vast analysis capabilities built into LabVIEW, lets take a look at some of the specialized
analysis you can perform with the LabVIEW Add-on Toolsets. The Signal Processing Toolset provides powerful tools for
Joint Time-Frequency Analysis (JTFA), digital filter design, super-resolution spectral analysis, and wavelet/filter bank
design.
With the JTFA portion of the toolset you can simultaneously examine the time and frequency domain representations of a
signal. Quickly design lowpass, highpass, bandpass, and bandstop FIR and IIR filters interactively and output filter
coefficients for use in LabVIEW and other applications. Super-resolution spectral analysis provides a model-based
alternative to the FFT and delivers estimates of amplitude, phase, damping factor, and frequency of the damped
sinusoidal components of a signal.
The wavelet and filter bank design component decompose a signal into multiple bands, representing the signal in terms
of varying time and scales through a bank of filters. This decomposition facilitates extraction of signal features, noise
reduction, and other operations.
114
The Sound and Vibration Toolset extends the functionality of LabVIEW to handle system calibration, frequency analysis,
transient analysis, sound level measurements, and fractional-octave analysis, providing you with a customizable software
foundation for your sound and vibration applications. Sound and vibration analysis often begins with signal acquisition
using microphones, accelerometers, displacement probes, or tachometers.
Following the acquisition, you can associate the incoming signal with characteristics such as sensor sensitivity, an
engineering unit, or a dB reference. The built-in fractional-octave analysis and sound level measurement routines also
feature averaging, allowing you to perform fractional-octave analysis with any number of bands at several different
bandwidths. Octave and sound level measurement functions offer tools for linear averaging, exponential averaging, and
peak hold. Exponential averaged measurements provide arbitrary, standard, slow, fast, and impulse time constants.
115
Order analysis is a tool for examining dynamic signals generated by mechanical systems that include rotating or
reciprocating components. As with frequency-domain analysis, you can think of order analysis as a signal scalpel that
can dissect sound, vibration, and other dynamic signals into components that relate to physical elements of mechanical
systems. Unlike the power spectrum and other frequency-domain analysis standards, order analysis works even when
the signal source undergoes rotational speed variations.
The LabVIEW Order Analysis Toolset gives the power to create applications for order tracking, order extraction, and
tachometer signal processing. The toolset employs Gabor Order Tracking, a patent-pending algorithm based on the
ideas of Joint Time-Frequency Analysis (JTFA).
116
Eliminates programming of
common test executive tasks
Reuse test code from in any language
Simplifies updates and long-term maintenance
14 of the top 15 electronics
manufacturers* use NI
TestStand
Open Language Interface
National Instruments TestStand is a ready-to-run test management environment for organizing, controlling,
and executing your automated prototype, validation, and manufacturing test systems. Quickly build your test
sequences with NI TestStand by incorporating tests written in LabVIEW, LabWindows/CVI, Visual C/C++,
Visual Basic .NET, and C#. Built on a high-speed, multithreaded execution engine, TestStand delivers the
performance to meet your most rigorous test throughput requirements.
TestStand is also completely customizable, so you can modify it to match your specific needs, including
customizing the operator interface, generating custom reports, and modifying sequence execution
requirements. Using TestStand, you can focus your engineering efforts on unique test requirements, while
TestStand manages the common sequencing, execution, and reporting tasks for you.
117
NI DIAdem
Coming Soon
DIAdem DataFinder
DIAdem in an engineering-focused tool for interactive visual and mathematical data analysis and report
generation with powerful tools for data management,
Engineering-focused DIAdem was designed for scientists and engineers, you wont find tools to help you
figure present return on investment, rather your will find functions and graphs that will help you analyze and
report your engineering data.
Visual analysis, or the ability to visually inspect data in an environment designed for data investigation, we
will see exactly what we mean by this in the demo, and
Report Generation, communicating results via reports is a key step in any engineering process. We will see
how DIAdem can improve your reporting thought use of consistent report templates and common reporting
mechanisms. When you have consistent reports, it is easy for everyone to understand what is going on with
the data, also as an engineer you need to be spending time looking at the results, not doing spreadsheet
gymnastics to plot your data, we will see how DIAdem allows you to efficiently handle your data.
DIAdem in not a programming tool, you do not need to do any programming to analyze or your report your
data, however there is an automation interface that allows you to fully automate your analysis process, saving
you time and money. We will briefly touch on this later in the presentation.
118