LabVIEW Basics I: Introduction Course

Similar documents
LabVIEW Core 1. What You Need To Get Started. File Locations. The course installer places the course files in the following location: ni.

ni.com/training Quizzes LabVIEW Core 1 ni.com/training Courses Skills learned: LabVIEW environment Certifications Skills tested: LabVIEW environment

Certified LabVIEW Associate Developer Examination

Certified LabVIEW Associate Developer Examination

Certified LabVIEW Associate Developer Exam. Test Booklet

ni.com Preparing for the CLAD Exam

Virtual Instrumentation With LabVIEW

Data Acquisition Laboratory

CLAD Sample Exam 03. C. A control that output a cluster of the controls / indicators on the tabs.

LabView programming 練習

CLAD Exam Preparation Guide using LabVIEW NXG

Analytical Instrumentation

Virtual Instrumentation With LabVIEW

Hands-On Introduction to. LabVIEW. for Scientists and Engineers. Second Edition. John Essick. Reed College OXFORD UNIVERSITY PRESS

Analytical Instrumentation

Dept. of Electrical, Computer and Biomedical Engineering. Data Acquisition Systems and the NI LabVIEW environment

Engineering Project-I. Module 1: Familiarization of LabVIEW and the Vernier Toolkit

Advanced NI-DAQmx Programming Techniques with LabVIEW

LabVIEW programming II

LabVIEW Graphical Programming

Labview for Everyone (National Instruments Virtual Instrumentation Series) Jeffrey Travis

LabVIEW programming II

BE/EE189 Design and Construction of Biodevices Lecture 5. BE/EE189 Design and Construction of Biodevices - Caltech

Certification Overview

Tasks and Objectives: Certified LabVIEW Architect

Today. 4/5/11 Physics 262 Lecture 10 Questions about Exams Homework. Lab: Continue project. Lecture. Review your exams and review practice exam again.

Measurement & Automation Explorer (MAX) View and control your devices and software

Customer Education Course Catalog

Figure 3.174: Illustration of the code of the event f USB that plots an USB camera frame if the typed frame is under the acceptable limits (case 0)

Hardware: Acquiring Data and Communicating with Instruments

Datalogging in LabVIEW

ni.com Using OOP in Measurement Systems

Data Acquisition in LabVIEW

Acquiring Data from Sensors and Instruments Using MATLAB

C Series Analog Output Modules

NI-DAQmx Basic Course NITS John Shannon

Hands-On Seminar. Evaluate CompactDAQ and LabVIEW for Your Application 09/05/2017. ni.com

PHY 351/651 LABORATORY 1 Introduction to LabVIEW

ME 224: EXPERIMENTAL ENGINEERING. Lecture 2

Designing Real-Time Control Applications Using LabVIEW and CompactRIO. Developer Days 2009

Introduction to LabVIEW and NI Hardware Platform

Syllabus: Mechatronics and Engineering 3

CLAD_80.questions.

LabVIEW TM Basics I Introduction Course Manual

PC-based data acquisition I

Foundational Design Patterns for Moving Beyond One Loop

LabVIEW Graphical Development Hands-On Seminar

LabVIEW TM Core 1 Course Manual

Lesson 1 Introduction to LabVIEW. TOPICS LabVIEW Environment Front Panel Block Diagram Dataflow Programming LabVIEW Help and Manuals Debugging a VI

LabVIEW Certification Overview

A Step Into the Future of Data Measurement. Focus on Tests and Measurements. Let idaq Do the Rest.

Hands-on Lab 2: LabVIEW NI-DAQ Basics 2

Bitter, Rick et al "Drivers" LabVIEW Advanced Programming Techinques Boca Raton: CRC Press LLC,2001

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.

Open. Powerful. Application Builder for Test & Measurement Systems.

Answers to Frequently Asked Questions about NI-DAQmx and Traditional NI-DAQ (Legacy)

1. Learn about LabView software and its different components

ni.com What s New in 2013

Low Cost Data Acquisition Setup for Electrical Machines Laboratory. Ciprian Sorandaru, Sorin Musuroi

LabVIEW: A Teaching Tool for the Engineering Courses

Computerized Measurement systems

Install the Software and Hardware

NI LabView READ THIS DOCUMENT CAREFULLY AND FOLLOW THE INSTRIUCTIONS IN THE EXERCISES

An Overview of LabVIEW Design Patterns

Certified LabVIEW Associate Developer Exam. Test Booklet

B. Including the Event Structure within a loop. C. Configuring a Timeout case within the Event Structure

LabVIEW Real-Time Module Release Notes

Certified LabVIEW Architect Recertification Exam Test Booklet

Gas Burner and Furnace Tester

Software-Defined Test Fundamentals. Understanding the Architecture of Modular, High-Performance Test Systems

NI-DAQmx: Reduce Development Time and Improve Performance

Introduction to LabVIEW Exercise-1

16-Bit A/D Converter (ENOB=14.1) 16-bit D/A. 16-bit D/A. Digital I/O (8/8) Counter/Timer (2)

Developing Measurement and Control Applications with the LabVIEW FPGA Pioneer System

LabVIEW Basics II Course Manual

DT MS/s High-Speed, Isolated Simultaneous USB Data Acquisition Module. Overview. Key Features. Bandwidth of the DT9862

Basics II Course Manual. LabVIEW TM. LabVIEW Basics II Course Manual. Course Software Version 5.1 February 1999 Edition Part Number F-01

EKT 314/4 LABORATORIES SHEET

The Concept of Sample Rate. Digitized amplitude and time

A variety of ECONseries modules provide economical yet flexible solutions. Waveform Generation

LABVIEW PROFESSIONAL DEVELOPMENT SYSTEM

Overview DT Measure Foundry is a drag-anddrop test and measurement application builder designed to give you top performance

Using LabVIEW in Instrumentation and Control Course

PHYS 5061 Lab 1: Introduction to LabVIEW

Introduction to LabVIEW

Data Communication in LabVIEW

Low-Cost Multifunction DAQ for USB

Prerequisites Using Microsoft Windows 10

Building a Next Generation Data Logging System

VIBBOX. 32, 48, or 64-Channel Sound & Vibration Solution Expansion to 256 Channels. Key Feature of Each VIBbox: Table 1. Key Features of VIBbox Models

INTRODUCTION TO LABVIEW

A+ Certification. Course Description. Course Objectives. 9300; 5 Days, Instructor-led

Strain and Force Measurement

8th WSEAS International Conference on APPLIED INFORMATICS AND COMMUNICATIONS (AIC 08) Rhodes, Greece, August 20-22, 2008

High-Accuracy M Series Multifunction DAQ 18-Bit, up to 625 ks/s, up to 32 Analog Inputs

VIBbox 64-Channel Sound & Vibration Solution

What s New in Data Acquisition

Small rectangles (and sometimes squares like this

Virtual Instruments with LabVIEW

OPC and Real-Time Systems. in LabVIEW

Transcription:

www.ni.com/training LabVIEW Basics I Page 1 of 4 LabVIEW Basics I: Introduction Course Overview The LabVIEW Basics I course prepares you to develop test and measurement, data acquisition, instrument control, data logging, and measurement analysis applications using LabVIEW. At the end of LabVIEW Basics I, you can create applications that acquire, process, display, and store real-world data. This course is the fastest way to become productive with LabVIEW. The hands-on format of the course enables you to apply skills learned in the course to your application. Duration Three Days Audience New users and users preparing to develop applications using LabVIEW, or NI Developer Suite Users and technical managers evaluating LabVIEW or NI Developer Suite in purchasing decisions Users pursuing the Certified LabVIEW Developer certification Prerequisites Experience with Microsoft Windows Experience writing algorithms in the form of flowcharts or block diagrams NI Products Used During the Course LabVIEW Professional Development System Version 7 E-Series DAQ board IEEE 488.2 (GPIB) board DAQ Signal Accessory NI Instrument Simulator REGISTRATION Register online at ni.com/training or call (800) 433-3488 Fax: (512) 683-9300 info@ni.com Outside North America, contact your local NI office. Worldwide Contact Info: ni.com/global NI can also hold this class onsite at your facility. Ordering Information 910013-xx -01 NI Corporate or Branch, -11 Regional, -21 Onsite After attending this course you will be able to: Use LabVIEW to create data acquisition, analysis, and display applications Use Express VIs to get started with your application quickly Create user interfaces with strip charts, graphs and buttons Use the programming structures and data types that exist in LabVIEW Use various editing and debugging techniques Create and save your own VIs so you can use them as subvis Save your data in files Create applications that use plug-in data acquisition (DAQ) boards Create applications that use GPIB and serial port instruments Suggested Next Courses LabVIEW Basics II: Development LabVIEW Advanced: Performance and Communication Data Acquisition and Signal Conditioning LabVIEW Instrument Control

www.ni.com/training LabVIEW Basics I Page 2 of 4 LabVIEW Basics I: Introduction Course Outline Day 1 Introduction to LabVIEW This lesson introduces the LabVIEW environment. In this lesson, you will develop a complete simulated signal acquisition application using Express VIs which will enable you to fully explore the environment. Topics include: The LabVIEW environment including windows, menus, and tools The LabVIEW front panel and block diagram Understanding the dataflow programming model of LabVIEW Using the LabVIEW help features include the Context Help, the LabVIEW Help and the LabVIEW manuals Debugging techniques available in LabVIEW Modular Programming This lesson introduces modular programming in LabVIEW. In LabVIEW, when a VI is used within another VI, it is called a subvi. You will learn how to build the icon and connector pane of a VI so that it can be used as a subvi. Topics include Basics of modular programming with subvis Creating an icon and connector pane Using a VI as a subvi Creating subvis from sections of another VI Repetition and Loops This lesson introduces the While Loop and the For Loop structures, along with functions commonly used with these structures, including the shift register and the Feedback Node. Structures are graphical representations of the loops and case statements of text-based programming languages. Use structures in the block diagram to repeat blocks of code and to execute code conditionally or in a specific order. Topics include: Using a While Loop Using a For Loop Accessing the data from previous loop iterations using shift registers and Feedback Nodes Arrays This lesson describes how to use arrays to group data elements of the same type. Array techniques are important when you work with a collection of similar data or when you perform repetitive computations. Arrays are ideal for storing data you collect from waveforms or data generated in loops. Topics include: Understanding arrays Creating arrays with loops Using the array functions How polymorphism applies to various LabVIEW functions

www.ni.com/training LabVIEW Basics I Page 3 of 4 Day 2 Clusters This lesson describes how to use clusters to group data elements of mixed data types. You will learn when it is appropriate to use a cluster rather than an array to group data together. In the second part of this lesson, you will learn the foundations of error handling in LabVIEW VIs. Topics include: Understanding clusters Utilizing the cluster functions Error clusters Plotting Data This lesson describes how to display data on waveform charts, waveform graphs, XY graphs, and intensity graphs. You will learn which type of graph to use for different types of data and how to set the properties for graphs. Topics include: Using waveform charts to display data Using waveform and XY graphs to display data Intensity graphs Decision Making in a VI This lesson introduces methods for making simple and complex decisions in a VI. These methods allow you to choose a course of action dependant on the result of a previous action. Topics include: Simple decision making with the Select function Using case structures for more complex decision making Using the formula node to perform text-based programming, such as an if-then statement Strings and File I/O This lesson describes the string and file I/O capabilities of LabVIEW. Strings group sequences of ASCII characters arrays of ASCII characters. File I/O operations pass data to and from files. Topics include: Creating string controls and indicators Using several string functions File I/O operations Using the high-level File I/O VIs Using low-level File I/O VIs Formatting text files for use in spreadsheets

www.ni.com/training LabVIEW Basics I Page 4 of 4 Day 3 Data Acquisition and Waveforms This lesson describes how to use plug-in data acquisition (DAQ) devices in LabVIEW. You will learn how to write a VI that communicates with DAQ devices. You will also learn how to log data to file. Topics include: Plug-in DAQ devices Data acquisition in LabVIEW Performing analog input Storing acquired data and average and log the acquired data to disk Performing analog output Counters Digital I/O Instrument Control This lesson describes how you can use LabVIEW to control and acquire data from external GPIB and serial port instruments. You learn how to use VISA, LabVIEW Plug & Play instrument drivers, and the Instrument I/O Assistant to perform instrument I/O. Topics include: Instrument control GPIB communication and configuration Using the Instrument I/O Assistant VISA LabVIEW instrument drivers Using instrument driver VIs to communicate with an instrument Serial communication Waveform transfers VI Customization This lesson describes how to configure the appearance and behavior of VIs and the LabVIEW environment. Topics include: Configuring the appearance of the front panel Opening subvi front panels when a VI runs Using and assigning keyboard shortcuts Editing VIs with custom VI properties Customizing palette views

www.ni.com/training LabVIEW Basics II Page 1 of 3 LabVIEW Basics II: Development Course Overview The LabVIEW Basics II course prepares you to design complete, stand-alone applications in LabVIEW. This course is a logical extension of the LabVIEW Basics I course and is aimed at making the student successful in creating applications for research, engineering, and testing environments. This course covers proper design techniques, implementation of complete LabVIEW solutions, DataSocket technology, advanced file I/O, networked environments, and error handling. Duration Two Days Audience New LabVIEW or NI Developer Suite users and users preparing to develop applications LabVIEW Basics I course attendees Users and technical managers evaluating LabVIEW or NI Developer Suite in purchasing decisions LabVIEW users pursuing the Certified LabVIEW Developer certification Prerequisites Experience with Microsoft Windows. LabVIEW Basics I: Introduction course or equivalent experience NI Products Used During the Course LabVIEW Professional Development System Version 7 E-Series DAQ board DAQ Signal Accessory REGISTRATION Register online at ni.com/training or call (800) 433-3488 Fax: (512) 683-9300 info@ni.com Outside North America, contact your local NI office. Worldwide Contact Info: ni.com/global NI can also hold this class onsite at your facility. Part Number 910017-xx -01 NI Corporate or Branch, -11 Regional, -21 Onsite After attending this course you will be able to: Design and implement stand-alone applications using LabVIEW Create logical, re-usable applications that conform to accepted programming design standards Take advantage of network technologies for data exchange Create applications that have a professional look and feel Create customized file input/output formats to match your data Suggested Next Courses LabVIEW Advanced: Performance and Communication Data Acquisition and Signal Conditioning LabVIEW Instrument Control

www.ni.com/training LabVIEW Basics II Page 2 of 3 LabVIEW Basics II: Development Course Outline Day 1 Planning LabVIEW Applications This lesson describes some of the issues involved when developing LabVIEW applications, including the design process, the organization of subvi components, and the process of combining those components to create a complete application. This lesson also describes common LabVIEW programming architectures along with some tools to help you build VIs. Topics include: Design process overview and implementing large LabVIEW applications Choosing the right programming architecture for your application Creating menus with Boolean clusters Creating VIs from templates VI Design Techniques This lesson describes good techniques for designing and building VIs. The techniques discussed include an overview of user interface design issues, good block diagram construction and wiring techniques, error handling, and an overview of LabVIEW run-time menus. All these techniques are important as you design and build more involved and complex VIs. Topics include Basics of user interface design Good programming techniques when creating modular, reusable block diagrams Using proper documentation conventions Implementing error handling in LabVIEW Learning how to organize development files in an easy to use hierarchy Using Sequence Structures to control program execution Learning how to develop an application that uses Run-Time Menus Object Properties This lesson describes the use of object properties to modify front panel objects. Properties you can modify include color, size, position, behavior, and more. The first part of the lesson focuses on properties for simple front panel objects. The second part of the lesson describes properties associated with graphs and charts. Finally, this lesson describes control references and their advantages in modifying properties from subvis. Topics include: Programmatically controlling the user interface with property nodes Customizing charts and graphs with property nodes Using control references to change properties from subvis Using Type Definitions to create data types that can be easily modified and reused

www.ni.com/training LabVIEW Basics II Page 3 of 3 Day 2 Local and Global Variables This lesson describes techniques for passing data without the use of wires. This concept is powerful and must be used carefully in VIs. The first section of this lesson discusses data management. Local variables are then introduced, followed by global variables. The end of the lesson describes when variables should and should not be used in VIs. Topics include: Implementing local and global variables to pass data within a VI and between VIs Understanding when variables are appropriate for use in a VI Advanced File I/O Techniques In the LabVIEW Basics I course you learned the fundamentals of file I/O. This lesson describes advanced file I/O techniques. For example, one data format may have advantages over a different data format for your application. In addition, you may need to optimize the speed of your file I/O operations. Both the data format and the structure of your file I/O routines affect speed, so careful planning may be required. This lesson provides the in-depth understanding required for effective, flexible file I/O operations. Topics include: Understanding byte stream file types Storing data in binary file formats Retrieving data in a random access file format Creating your own file formats with Datalog type file input/output Project Management This lesson describes some of the issues involved when building larger LabVIEW projects, including the design process, the organization of subvi components, and the process of creating a complete application. Topics include: Assembling your LabVIEW application Using the project management features built into LabVIEW Remote Data Management This lesson describes the capabilities built into LabVIEW that allow you to easily work with networks. You can pass data between LabVIEW VIs on interconnected computers, and control VIs running on one computer from another computer. LabVIEW provides the high-level tools needed to make these interconnections so you can acquire, analyze, and present data from anywhere in your business. Topics include: Transferring data over networks using DataSocket technology Using the LabVIEW Web Server to display information remotely Viewing and controlling a running LabVIEW application remotely from LabVIEW and a Web browser

www.ni.com/training Data Acquisiton Course Page 1 of 4 Data Acquisition and Signal Conditioning Course Overview Using LabVIEW, plug-in DAQ boards, and SCXI signal conditioning hardware, the Data Acquisition and Signal Conditioning course teaches you the fundamentals of PC-based data acquisition and signal conditioning. During the course, you get hands-on experience with installing and configuring data acquisition hardware and learn to use data acquisition software functions to build your application. Although LabVIEW is the application software used during the class, non-labview users using the NI-DAQmx API will also benefit by learning about analog input, triggering, signal conditioning, signal processing, analog output, digital I/O, and counters. Duration Three Days Audience Developers and users using, LabVIEW, NI Developer Suite, DAQ and/or signal conditioning to create data acquisition and control applications Developers using NI-DAQmx API (with C or Visual Basic) to create DAQ applications Users new to PC-based data acquisition and signal conditioning Prerequisites LabVIEW Basics I and II courses, or equivalent experience NI Products Used During the Course LabVIEW Professional Development System Version 7 NI-DAQmx, E-Series multifunction DAQ board SCXI-1000, SCXI-1520, SCXI-1125, SCXI-1141 DAQ Signal Accessory REGISTRATION Register online at ni.com/training or call (800) 433-3488 Fax: (512) 683-9300 info@ni.com Outside North America, contact your local NI office. Worldwide Contact Info: ni.com/global NI can also hold this class onsite at your facility. Ordering Information 910010-xx -01 NI Corporate or Branch, -11 Regional, -21 Onsite After attending this course you will be able to: Develop integrated, high performance data acquisition systems that produce accurate measurements Properly connect transducers such as thermocouples and strain gauges to your measurement hardware Have an advanced understanding of LabVIEW DAQ VIs and the NI-DAQmx API Eliminate measurement errors due to under sampling and signal grounding techniques Start your measurements using hardware and software triggering Use signal processing to improve quality of acquired signals Make pulse, frequency, and position measurements using counters Generate single and continuous waveforms Suggested Next Courses LabVIEW Advanced: Performance and Communication LabVIEW Advanced Application Development LabVIEW Real-Time Systems Using PXI

www.ni.com/training Data Acquisiton Course Page 2 of 4 Data Acquisition and Signal Conditioning Course Outline Day 1 Overview of Transducers, Signals, and Signal Conditioning This lesson introduces the basics of data acquisition (DAQ). You will learn how to identify the correct sensor for your measurements that can transform the physical phenomenon into a stable, appropriate electrical signal. Topics include: Components of a typical data acquisition system Typical transducers used in data acquisition Types of signals produced by transducers How to measure the digital state, digital rate, level, shape, and frequency of a signal Overview of signal conditioning Data Acquisition Hardware and Software In this lesson, you will learn how to choose the appropriate sampling rate, grounding mode, and LabVIEW VIs to implement an efficient, safe, and powerful data acquisition system. Topics include: How to determine the best sampling rate, resolution, and gain for a measurement system Issues with grounding a measurement system to a transducer Differential, referenced single-ended, and non-referenced single ended grounding modes Advantages and disadvantages to all grounding modes, and when to use the modes How the National Instruments NI-DAQmx driver integrates with hardware Overview of NI-DAQmx VIs and Property Nodes NI-DAQmx task state model Triggering Overview In this lesson, you will develop a data acquisition application that can use a signal to start, stop or pause the data acquisition system. Topics include: Starting an acquisition using triggering Starting an acquisition with a digital signal Triggering off of an analog signal Testing and configuring trigger with the DAQ Assistant Analog Input In this lesson, you will develop a LabVIEW application that performs analog input. You will learn how to determine the most appropriate sampling rate to prevent both aliasing and buffer overflow, and whether or not an application should be written to perform single point or continuous analog input data acquisition. Topics include: Acquiring voltage signals using analog input Observe the affects of aliasing on your signal How anti-aliasing filters can improve your measurements Single point analog input Advantages of multi-sample buffered analog input Continuous acquisition analog input to continuously sample a voltage

www.ni.com/training Data Acquisiton Course Page 3 of 4 Day 2 Signal Conditioning In this lesson, you will learn how to select the appropriate signal conditioning method such as amplification, attenuation, and or filtering, so that can precisely measure a low voltage signal which contains noise, or unwanted frequencies. Topics include: Overview of signal conditioning Configuring an actual signal conditioning system Capabilities of signal conditioning Hardware filtering Benefits of isolation Transducer conditioning with thermocouples Configuring a strain gauge and measuring strain Signal Processing In this lesson, you will learn how to use signal processing on acquired signals to determine the frequencies present in the signal, filter unwanted frequencies, and isolate wanted frequencies to improve signal quality. Topics include: Signal processing (windows and digital filters) to improve the quality of acquired signals How to use the Fast Fourier Transform (FFT) and Power Spectrum Analysis tools to detect frequency components in a measured signal Different types of digital filters and how to easily configure them Advantages of digital filters over analog filters Analog Output In this lesson, you will learn how to perform single-point voltage output or multiple point waveform generation for circuit testing, automotive component testing, audio signal generation, or stimulus for vibration testing applications. Topics include: How a data acquisition system can generate output voltages Generating voltages that can be used in applications where excitation is needed for a unit under test Buffered analog output to generate waveforms

www.ni.com/training Data Acquisiton Course Page 4 of 4 Day 3 Digital I/O In this lesson, you learn to use digital I/O in an application such as on/off sensing of contacts, discrete machine control, signal switching, interfacing computers to external equipment, or testing digital communication devices. Topics include: Digital input and output to acquire a digital state LabVIEW advanced features for performing digital I/O Counters In this lesson, you learn the most appropriate counter/timer operation to create a wide variety of measurement solutions including measuring a number of time-related quantities, counting events or totalizing, and monitoring position with quadrature encoders. Topics include: Architecture of National Instruments counters On-board counters to perform digital pulse generation Pulse measurement using counters to accurately determine digital timing Measuring the frequency of digital signals using counters Using a quadrature encoder to determine position with a counter Synchronization In this lesson, you learn how to synchronize a measurement task given a complex data acquisition application where a number of operations need to be started at the same time, on multiple DAQ devices need to be synchronized. Topics include: NI-DAQmx task state model Using explicit state transitions to gain finer control of the driver Single device synchronization to simultaneously start and synchronize multiple functions on the DAQ device Synchronizing multiple functions on multiple DAQ devices

www.ni.com/training LabVIEW Advanced Page 1 of 4 LabVIEW Advanced: Performance and Communication Course Overview The LabVIEW Advanced: Performance and Communication course prepares you to understand how the performance of a VI can be affected by items such as multithreading, programming style, and variable use. This course also teaches you various communication methods used by LabVIEW. The LabVIEW Advanced course is part of a series of courses designed to build your proficiency with LabVIEW and help you prepare for exams to become an NI Certified LabVIEW Developer and NI Certified LabVIEW Architect. REGISTRATION Register online at ni.com/training or call (800) 433-3488 Fax: (512) 683-9300 info@ni.com Outside North America, contact your local NI office. Worldwide Contact Info: ni.com/global NI can also hold this class onsite at your facility. Ordering Information 910514-xx -01 NI Corporate or Branch, -11 Regional, -21 Onsite Duration Three Days Audience LabVIEW Basics I and II attendees Users evaluating different communication methods for use in LabVIEW Users wanting the maximize the performance of their LabVIEW applications Users pursuing the Certified LabVIEW Developer or Architect certification Prerequisites LabVIEW Basics I or II courses, or equivalent LabVIEW experience NI Products Used During the Course LabVIEW Professional Development System Version 7 After attending this course you will be able to: Understand how multithreading and priorities work in LabVIEW and how to optimize multithreaded tasks in VIs Understand performance and memory issues, including how the following VI elements use memory: Implement good programming style to create efficient VIs Utilize advanced data management and synchronization techniques Choose an appropriate communication technique for your VI Use LabVIEW with ActiveX and.net Use event programming in LabVIEW Use DLLs with LabVIEW Suggested Next Courses LabVIEW Advanced Application Development Data Acquisition and Signal Conditioning LabVIEW Instrument Control

www.ni.com/training LabVIEW Advanced Page 2 of 4 LabVIEW Advanced: Performance and Communication Course Outline Day 1 Improving Performance This lesson describes how to maximize VI performance, including how to improve run-time speed and memory use. This lesson also describes some common errors and provides hints for where to begin looking when a program does not behave as expected. Topics include: Understanding multitasking, multithreading, and multiprocessing Using threads and priorities to manage performance Multithreading issues Monitoring VI performance Reducing execution time Understanding and optimizing memory use Data Management and Synchronization This lesson introduces methods for data management and synchronization of tasks. You will learn which method is appropriate for a given situation. Topics include: Data management with local and global variables Data management with notifiers and queues Resolving race conditions with functional globals Synchronization of tasks using globals, occurrences, semaphores, rendezvous, notifiers, and queues TCP/IP This lesson describes the different protocols and methods that LabVIEW supports for transferring data to and from other applications, including TCP/IP and how you can use the LabVIEW TCP VI and functions to communicate with applications on other computers connected across a network. This lesson also introduces the client/server model which is the basis for most communication protocols. Topics include: About communication protocols such as TCP/IP Client/Server programming model Using the TCP/IP VIs and functions

www.ni.com/training LabVIEW Advanced Page 3 of 4 Day 2 DataSocket This lesson describes the built-in DataSocket capabilities of LabVIEW. DataSocket is a programming tool that enables you to read, write, and share data between applications and/or different data sources and targets across a network. Topics include: Understanding DataSocket VIs and functions Managing client connections and setting up security using the DataSocket Manager Using attributes to send multiple data types on the same data items Using front panel DataSocket to read and write data directly to the DataSocket Using DataSocket for bi-directional communication Creating DataSocket VIs that read and write data from multiple sources, such as files and OPC servers VI Server This lesson describes VI Server, which is a mechanism for controlling LabVIEW VIs and applications programmatically. It also allows you to control VIs and applications remotely over a TCP/IP network. Topics include: Understanding VI Server and relevant object-oriented terminology The VI Server programming model Using VI Server VIs and functions Implementing remote communication using VI Server Dynamically calling and loading VIs Understanding and using strictly typed and weakly typed VI references Windows Communication Platforms ActiveX technology provides a standard model for interapplication communication that different programming languages can implement on different platforms. LabVIEW supports ActiveX automation and container technologies. This lesson describes ActiveX technology, which enhances the interactions between LabVIEW and other ActiveX-enabled applications, such as Excel. This lesson also introduces the Windows.NET communication platform. Topics include: The history of Windows communication platforms ActiveX features in LabVIEW Using LabVIEW as an ActiveX automation client Using ActiveX containers to display ActiveX controls and embedded documents on the front panel Using LabVIEW as an ActiveX automation server LabVIEW and.net

www.ni.com/training LabVIEW Advanced Page 4 of 4 Day 3 Event Programming LabVIEW is a dataflow programming environment where the flow of data determines the execution order of block diagram elements. However, it is sometimes useful for specific code to execute when some action, or event, occurs. This lesson describes event programming in LabVIEW. You will learn to implement static, dynamic, user and ActiveX events. Topics include: About event-driven programming Programming with statically registered user interface events Programming with dynamically registered events Programmatically generating an event (user event) Avoiding common event structure mistakes About ActiveX events Shared Libraries (DLL s) A shared library is a library of executable functions or data that can be used by a Windows application. This lesson describes shared library and Dynamic Link Library (DLL) concepts and how you can use and create shared libraries/dlls with LabVIEW. Topics include: About shared libraries (DLLs) Accessing shared libraries in LabVIEW Debugging Call Library Function errors Creating shared libraries (DLLs) with LabVIEW About thread-safe DLLs Building shared libraries on UNIX and Macintosh