Professional Documents
Culture Documents
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
The topics covered in this seminar include: An introduction to National Instruments and LabVIEW 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.
Eighty-five percent of Fortune 500 manufacturing companies have adopted NI virtual instrumentation.
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 Desktop PC Laptop PC PDA
High-Speed Digitizer s
Instrument Contr ol
Digital I/O
Counter / Timer s
Machine Vision
Motion Contr ol
A virtual instrument consists of an industry-standard computer or workstation equipped with powerful application software, cost-effective modular hardware such as plug-in boards with appropriate driver software, and the unit under test (UUT) and sensors, all of which work together to perform the functions of traditional instruments. Virtual instrumentation leverages the power of commercially available PC technology such as processors, memory, and I/O to create instrumentation tools. The virtual instrumentation paradigm transformed test, measurement, and automation applications from loosely coupled and often incompatible stand-alone instruments and devices to tightly integrated, high-performance measurement and automation systems. More than just building the equivalent of a traditional instrument around a PC, virtual instrumentation is about redefining what an instrument is and empowering users to build powerful instruments and flexible measurement systems never before possible. As you can see in this slide, by using virtual instrumentation, you can achieve a tightly integrated measurement and automation application that incorporates many kinds of I/O, such as data acquisition, motion control, image acquisition, and distributed I/O. With traditional instrumentation, the integration of a system like this would be costly and time-consuming. Virtual instruments represent a fundamental shift from traditional hardware-centered instrumentation systems to software-centered systems that exploit the computing power, productivity, display, and connectivity capabilities of popular desktop computers and workstations. Although the PC and integrated circuit technology have experienced significant advances in the last two decades, it is software that provides the leverage to build on this powerful hardware foundation to create virtual instruments, providing better ways to innovate and significantly reduce cost. With virtual instruments, engineers and scientists build measurement and automation systems that suit their needs exactly (user-defined) instead of being limited by traditional fixed-function instruments (vendor-defined). Software is the cornerstone of a virtual instrumentation system. Its flexibility, combined with powerful modular hardware solutions, creates the ultimate in user-defined, scalable instrumentation systems. The key factor driving all of this, that makes it easy for all these different types of hardware to communicate together, is the software.
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.
Intuitive graphical programming language designed for engineers and scientists Hundreds of built-in functions for I/O, control, analysis, and data presentation High-level, application-specific development tools and libraries Deployment to desktop, mobile, industrial, and embedded targets
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
The robustness of LabVIEW, combined with its graphical programming environment, ensure that we can quickly complete the application and adapt it to unique customer requirements.
Dirk De Mol, Manager, HoneywellMeasurex describing a LabVIEW measurement and control system for sheet process products with more than 3,000 VIs
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
13%
Visual C++
10%
MATLAB
4%
LabWindows/CVI
4%
Software Used for PC-Based Software Used for PC-Based Software Used for PC-Based Data Acquisition and Instrument Data Acquisition and Instrument Data Acquisition and Instrument Control Control Control
10% 15% 20% 25% 30% 35%
0%
5%
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
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
OSes
LabVIEW
MAC Basic 1980s 1990s
Languages
Java C/C++
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
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
17. Switch to the Front Panel by pressing <Ctrl-E>. 18. Save the VI in the C:\Seminars\HandsOn\LabVIEW\CustomerWork folder by using the File menu and name it Exercise1.vi. Note: Be sure to save this VI, as you will be using it later in the seminar. 19. Run the VI. While running the VI, you can change the Limit value. Also notice that when a data point received from the Simulate Signal VI is greater than the Limit value, the Alarm indicator lights up. 20. While the VI is still running, switch to the Block Diagram by pressing <Ctrl-E>. Enable highlight execution by clicking the light bulb on the tool bar.
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
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. Use with a data acquisition device Choose analog or digital conditioning per channel Good for portable applications with USB or PCMCIA-based DAQ devices Acquisition rates up to 1 MHz Direct connectivity options Three power options (DAQ device, AC, or DC) User interface controls like toggle switches, LEDs
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
Core Polymorphic VIs NI-DAQmx Task and Channel Constants DAQ Assistant
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
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
2. Create a new Blank VI from the LabVIEW splash screen. 3. First we will examine Measurement & Automation Explorer (MAX). MAX allows you to test, troubleshoot, and verify installation of your National Instruments hardware without any programming. To open MAX, select ToolsMeasurement & Automation Explorer from the menu bar in LabVIEW.
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
A configuration window should appear. Make the following selections. Measurement Type: Analog InputVoltage Channel: Dev1ai0 Click Finish
42
10. Another configuration window will appear. Make the following selections and click OK. Task Timing: Acquisition Mode: 1 Sample (On Demand)
43
11. Add the following elements to the block diagram: 12a. Put a Multiply function (Express>>Arithmetic & Comparison >> Numeric) on the block diagram. 12b. Put a Numeric Constant (Express>>Arithmetic & Comparison >> Numeric) on the block diagram. Double click on the numeric constant and change the value to 100. 12c. Right click on the output terminal of the Multiply function and choose Create >> Numeric Indicator. 12. Position and wire the elements to resemble the following:
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.
Click OK when you are finished. 15. Switch to the Block Diagram by pressing <Ctrl-E>. Your Block Diagram should now resemble the following illustration.
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.
27. Save the VI in the C:\Seminars\HandsOn\LabVIEW\CustomerWork folder by using the File menu and name it Exercise2.vi. 28. Run the VI. The temperature sensor (Thermistor) is located on the lower right corner of the Digital Signal Accessory Box. The temperature value should rise when you put your finger on the thermistor. 29. Click the STOP button on the Front Panel. 30. Right-click on the block diagram and select Express Output Write to Measurement File and place it inside the while loop on the block diagram
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.
a. Select the While Loop on the FunctionsExpressExecution Control palette. b. Click and drag a selection rectangle around the two terminals. c. Use the Positioning tool to resize the loop, if necessary. 5. Select the Random Number (0-1) on the FunctionsExpressArithmetic and ComparisonNumeric palette. Alternatively you could use a VI that is gathering data from an external sensor. 6. Wire the block diagram objects as shown in the previous block diagram. 7. Save the VI as Use a Loop.vi because you will use this VI later in the course. 8. Display the front panel by clicking it or by selecting WindowShow Front Panel. 9. Run the VI.
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.
a. Place the Time Delay Express VI located on the FunctionsExpressExecution Control palette. In the dialog box that appears, insert 0.5. This function would make sure that each iteration occurs every half-second (500 ms). b. Divide the millisecond delay by 1000 to get time in seconds. The divide vi is located on FunctionsExpressArithmetic and ComparisonNumeric. Connect the output of the divide function to the Delay Time (s) input of the Time Delay Express VI. This will allow you to adjust the speed of the execution from the pointer slide on the front panel. Save the VI. Run the VI. Try different values for the millisecond delay and run the VI again. Notice how this effects the speed of the number generation and display. Close the VI.
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 SOUR: FUNC SIN; FORM:DATA ASC; Function Sets the simulator to generate a sine wave. Sets the data format to be ASCII
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
28. Save the VI in the C:\Seminars\HandsOn\LabVIEW\CustomerWork folder by using the File menu and name it Exercise3.vi. If it prompts you to save a SubVI, save it as Exercise3code.vi. 29. Run the VI. Notice that the instrument manufacturers name appears in the instrument data and the sine wave and power spectrum data appear on the waveform graph. 30. LabVIEWs analysis functions allow you to reconfigure the parameters and immediately see the effect on the data. Return to your block diagram by pressing Ctrl-E. Double click on the Spectral Measurements Express VI to open its configuration window. In the graph labeled Windowed Input Signal, you should now see your sine wave data acquired instead of a generic sample signal. Modify some of the analysis parameters such as Spectral Measurement and Window. Notice how the Result Preview graphs change accordingly, showing you a preview of the analysis of your actual signal. Press Cancel when you are finished. 31. Close the VI. Do not save any changes. End of Exercise 3
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)
Frequency (Hz)
72
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
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
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
4. Place the Spectral Analysis Express VI (Express>>Signal Analysis>>Spectral Measurements) on your Block Diagram and configure it as in the following image and click OK.
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
8. Switch to the Front Panel by pressing Ctrl-E. 9. Save the VI in the C:\Seminars\HandsOn\LabVIEW\CustomerWork folder by using the File menu and name it Exercise4.vi. 10. Run the VI. 11. Navigate to C:\Seminars\HandsOn\LabVIEW\CustomerWork\report.html. Open the file using Microsoft Internet Explorer. The report will have all of the data you specified in the Report VI. 12. Stop and close the VI and Web browser when you are finished. End of Exercise 4a
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
7. Now click the Run arrow to run your VI. 8. When you are finished, close the VI and web browser. End of Exercise 4b
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
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
Target standard and industrial PDAs, PDAs with phone capabilities, and touch-panel displays
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
Professional Services Feasibility, consulting, and system integration through National Instruments Alliance Program members
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
Advanced User
LabVIEW Advanced I
Certifications
Certified LabVIEW Associate Developer Exam
Save development time and cost Differentiate skills with professional credentials Multiple training formats - Classroom, On-site, Online, Self-Paced
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
Developer
Advanced LabVIEW knowledge and application development experience Project management skills Certified LabVIEW Developer
Associate Developer
Proficiency in navigating LabVIEW environment Some application development experience FREE, pre-certification skills test Certified LabVIEW Associate Developer
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
Schedule a visit with your local field engineer to discuss your application
Visit ni.com/info and enter exuigs for LabVIEW information and resources.
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
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
Interactive environment with 3D visualization Ready-to-run LabVIEW or C code creation Easy trapezoidal or S-curve velocity profile implementation Teach pendant for easy prototyping
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.) Sort data in Excel worksheets E-mail reports Run Visual Basic (VBA) macros in reports Create custom report generation functions
110
Create, drop tables Save records in XML format Execute SQL queries
Immediate, parameterized
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: Insert and select data from databases Create and drop database tables List the tables and columns in a database Accept or reject multiple database operations (transactions) based on user-defined criteria Execute Structured Query Language (SQL) statements Execute stored procedures in a database 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
High-level functions for common database operations Perform online SPC while collecting data or analyzing recorded data Incorporate Web server access control/security
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 *Electronic Business, 2004
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
Interactive environment for data management, visualization, analysis, report generation and task automation
Mine your data to find trends and perform correlations using the DataFinder Build complex reports in a WYSWYG editor, then output to a PDF file Work with datasets that contain over 100 billion data points. Save time by automating common analysis and reporting tasks Find, understand, and work with your data the way that makes most sense to you
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