Training Course Details: LabWindows™/CVI™ Core 2

Publish Date: May 02, 2018 | 0 Ratings | 0.00 out of 5 | Print


This page describes the LabWindows™/CVI™ Core 2 training course offered through NI Training and Certification.

Register online at or contact us in one of the following ways

  • call: (800) 433-3488
  • fax: (512) 683-9300
  • email:
Outside North America, contact your local NI Office. Worldwide Contact Info:

Table of Contents

  1. Course Overview
  2. LabWindows/CVI Core 2 Course Outline
  3. Suggested Next Steps

1. Course Overview

As a follow-up to the LabWindows/CVI Core 1 course, the LabWindows/CVI Core 2 course is ideal for new and intermediate
users. After attending the course, you can design applications that use network communication, DLLs, and ActiveX. You
will learn how to create powerful user interfaces using menus and toolbars. You will be able to take full advantage of the
PC with your application by learning how to program a multithreaded application.

  • Classroom: Two (2) Days
  • Online: Three (3) 4-hour sessions, plus homework
  • New and intermediate LabWindows/CVI users and users preparing to develop applications
  • LabWindows/CVI Core 1 course attendees
  • Users and technical managers evaluating LabWindows/CVI in purchasing decisions
  • Users pursuing the Certified LabWindows/CVI Developer (CCVID) certification
  • LabWindows/CVI Core 1 course or equivalent experience
NI Products Used During the Course
  • LabWindows/CVI Full Development System Version 2015
  • LabWindows/CVI Execution Profiler Toolkit
  • GPIB interface and cable (optional)
  • NI Instrument Simulator (optional)

After attending this course you will be able to:

  • Create toolbars and menus for user interfaces
  • Use ActiveX within the LabWindows/CVI environment 
  • Compile your modules as DLLs you can use with other applications
  • Use LabWindows/CVI to access DLLs
  • Develop efficient multithreaded applications
  • Develop applications that can communicate with the Internet
  • Decrease development time using debugging features 
  • Optimize execution speed with the Execution Profiler Toolkit

Return to course details.

Back to Top

2. LabWindows/CVI Core 2 Course Outline

Lesson Overview Topics
Review of Core 1 Concepts This short lesson reviews important concepts from the LabWindows/CVI Core 1 course.
  • Operation of the callback function model in LabWindows/CVI
  • Operating system messaging and LabWindows/CVI
  • Structure and use of instrument drivers
User Interface Programming This lesson describes additional user interface features that are in LabWindows/CVI and uses the features in hands-on exercises.
  • Changing the appearance and function of user interface objects
  • Creating custom menus with the menu editor
  • Programmatically controlling complex menus
  • Adding table controls to your user interfaces
  • Using a tree control to display hierarchical data
  • Displaying complex multi-dimensional data in an intensity graph 
  • Adding predefined custom controls such as toolbars, path controls, progress bars, color pickers, and combo boxes to your user interfaces
Interoperability and Network Communication This lesson describes technologies for implementing interoperability and network communication, including .NET, ActiveX, network variables, TCP and UDP.
  • Interacting with .NET assemblies using LabWindows/CVI
  • ActiveX technologies and using LabWindows/CVI as an automation client to control external applications
  • Building applications that can pass data over the network using network variables
  • Using TCP/IP for complex Internet communication
  • Using UDP to broadcast data
Creating and Using Dynamic Link Libraries (DLLs) This lesson describes techniques to create and use Dynamic Link Libraries (DLLs).
  • Developing code that is modular and reusable
  • Compiling your modules as a DLL so other applications can take advantage of your development
  • How to easily debug your DLLs
Multithreading and Windows SDK Functions This lesson teaches advanced programming techniques in LabWindows/CVI. You will learn how to create a multithreaded application and use thread safe queues to safely pass data between threads. You also learn to use the Windows SDK  functions to add flexibility to your LabWindows/CVI applications.
  • Building efficient multithreaded applications
  • How LabWindows/CVI uses threads
  • Using thread safe queues to safely transport information between threads
  • How to protect critical sections in your threads
  • Using the Windows SDK functions to expand the functionality of LabWindows/CVI
  • Additional features in LabWindows/CVI to improve code performance
LabWindows/CVI Toolkits and Modules This lesson teaches powerful features to further decrease your development time and costs.
  • Using the LabWindows/CVI Execution Profiler Toolkit to identify bottlenecks and inefficient code and optimize run-time performance
  • Additional LabWindows/CVI toolkits and modules


Return to course details.

Back to Top

3. Suggested Next Steps

  • Developing Test Programs Using TestStand course
  • Architecting Test Systems Using TestStand course
  • Instrument Driver Development course (for developing IVI-compliant instrument drivers)
  • Certified LabWindows/CVI Developer (CCVID) certification

Return to course details.

The mark LabWindows is used under a license from Microsoft Corporation.

Back to Top

Bookmark & Share


Rate this document

Answered Your Question?
Yes No