Home > Store

Advanced Topics in LabWindows/CVI

Register your product to gain access to bonus material or receive a coupon.

Advanced Topics in LabWindows/CVI

eBook (Watermarked)

  • Your Price: $71.99
  • About Watermarked eBooks
  • This PDF will be accessible from your Account page after purchase and requires the free Adobe® Reader® software to read it.

    The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

    Watermarked eBook FAQ

Not for Sale


  • Copyright 2002
  • Dimensions: 7" x 9-1/4"
  • Pages: 464
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-244136-5
  • ISBN-13: 978-0-13-244136-0

Take virtual instrumentation to the next level with high-level programming.

  • High-level programming with LabWindows/CVI
  • Live data display via Internet or intranet sources
  • Programmatic creation and control of GUIs
  • Data acquisition and VXI device communication
  • Graph control, table control, function panels, instrument drivers, and Open GL

Unleash the true power of LabWindows/CVI when you employ the rich features of this programming environment. In this follow-up to his LabWindows CVI Programming for Beginners, Shahid F. Khalid presents the sophisticated techniques that allow experienced users to make the most of this virtual instrumentation powerhouse.

The flexibility of LabWindows/CVI software means that you can build virtual instrumentation using Microsoft Visual Basic and Visual C++ as well as ANSI C. Advanced Topics in LabWindows/CVI focuses on the use of C in an open software architecture. It is a project-oriented guide that will teach you to build applications using the more complex features of this programming environment. Applications include:

  • Live data acquisition via Internet or intranet sources using Data Socket technology
  • GUI controls created and manipulated in real time
  • Advanced features of graph and table controls
  • 3-D data plotting with Open GL
  • Communications with VXI devices using VISA
  • Creating and using function panels and instrument drivers

The material is organized to present information with maximum clarity, keeping the reader in mind. For convenience, each chapter concludes with an explanation of the purpose and prototype of the library functions under discussion. Advanced Topics in LabWindows/CVI will give students and working professionals the tools to build and automate sophisticated virtual instrumentation for a world of applications.

Sample Content

Table of Contents



What Is LabWindows/CVI?

Objectives of This Book.

What You Need to Run CVI.

Conventions Used in This Book.



1. Programmatically Creating the Graphical User Interface.


    Analyzing the Source Code

    main Function

    CreateGUI Function

    RingCB Function

    StartGUICB Function

    SamplesControlCB Function

    DoneGUICB Function

    ClearGraphCB Function

    PlotUniformCB Function

    ExitGUICB Function


    Library Function Prototypes and Definitions

    DeleteGraphPlot Function

    DiscardPanel Function

    NewCtrl Function

    NewPanel Function

    PlotY Function

    RefreshGraph Function

    SetPanelAttribute Function

2. Plotting on Graph Controls.

    Graph Attributes and Cursors

    Manual Zooming and Panning

    Creating Graph Legends

    Plotting Geometric Patterns on Graph Control


    Library Function Prototypes and Definitions

    CreateMetaFont Function

    GetAxisScalingMode Function

    GetGraphCursor Function

    GetGraphCursorIndex Function

    LGCreateLegendControl Function

    LGInsertLegendItemForPlot Function

    LGSetLegendCtrlAttribute Function

    PlotArc Function

    PlotLine Function

    PlotOval Function

    PlotRectangle Function

    PlotText Function

    SetAxisScalingMode Function

3. Using DataSocket.


    Communicating Using DataSocket

    DataSocket Data Files

    Creating a DataSocket Application

    Analyzing the Writer Code

    Analyzing the Reader Code

    DataSocket Applications

    Accessing the DataSocket Server

    DataSocket Server Manager Configurations

    Server Settings

    Permissions Groups

    Predefined Data Items


    Library Function Prototypes and Definitions

    DS_ControlLocalServer Function

    DS_GetAttrValue Function

    DS_GetDataType Function

    DS_GetDataValue Function

    DS_GetLastMessage Function

    DS_GetLibraryErrorString Function

    DS_GetStatus Function

    DS_Open Function

    DS_SetAttrValue Function

    DS_SetDataValue Function

    DS_Update Function

    MakeDir Function

    SetBreakOnLibraryErrors Function

    SetDir Function

4. Table Control.


    Table Control Basics

    Table Control States

    Moving Around in the Table Control

    Resizing Rows and Columns

    Using the System Clipboard

    Table Control Events

    Browsing the Table Control Dialog Windows

    Table Control Project

    Examining the Project Code

    Header and main Function

    Load Data Function

    Selecting Columns to Sort

    Sort Ascending/Descending

    Search Function

    Highlighting/Pasting Rows to Clipboard


    Library Function Prototypes and Definitions

    ClipboardGetTableVals Function

    ClipboardPutTableVals Function

    DeleteTableRows Function

    FillTableCellRange Function

    FileToArray Function

    GetActiveTableCell Function

    GetBitmapFromFile Function

    GetNumTableRows Function

    GetTableCellFromVal Function

    GetTableCellVal Function

    HideBuiltInCtrlMenuItem Function

    InsertTableColumns Function

    InsertTableRows Function

    MakePoint Function

    MakeRect Function

    NewCtrlMenuItem Function

    SetActiveTableCell Function

    SetTableCellAttribute Function

    SetTableCellVal Function

    SetTableCellRangeVals Function

    SetTableCellRangeAttribute Function

    SetTableColumnAttribute Function

    SetTableRowAttribute Function

    ShowBuiltInCtrlMenuItem Function

    SortTableCells Function

5. VXI Communication Using VISA.


    Short History

    Chassis, Modules, and Connectors

    Controlling the VXI System

    Address Space and Configuration Registers

    Device Classes

    Communicating with Message-Based Devices

    Resource Manager

    Basics of Programming with VISA

    VISA Project

    Header and main Function

    Finding System Resources

    Setting Up Communication with the Function Generator

    Configuring the Function Generator


    Library Function Prototypes and Definitions

    AssertSysReset Function

    viAssertUtilSignal Function

    viClose Function

    viFindNext Function

    viFindRsrc Function

    viIn16 Function

    viOpen Function

    viOpenDefaultRM Function

    viOut16 Function

    viRead Function

    viSetAttribute Function

    viStatusDesc Function

    viWrite Function

6. Data Acquisition.


    Data Acquisition Board Architecture

    Signal Conditioning

    Analog Input/Output Parameters

    Range, Gain, and Code Width

    DAQ Designer Tool

    Installing and Setting Up the DAQ Board

    Using the DAQ Channel Wizard

    Hardware Configurations

    Using DAQ Library Functions

    Analog Input

    Analog Output

    Digital Input/Output

    Counter Fundamentals

    Counter Applications

    Event Counting and Timing

    Pulse Generation

    Pulse Measurement

    Frequency Measurement


    Library Function Prototypes and Definitions

    AOClearWaveforms Function

    AOUpdateChannel Function

    AOUpdateChannels Function

    AOGenerateWaveforms Function

    ContinuousPulseGenConfig Function

    CounterEventOrTimeConfig Function

    CounterMeasureFrequency Function

    CounterRead Function

    CounterStart Function

    CounterStop Function

    DelayedPulseGenConfig Function

    DIG_Line_Config Function

    DIG_Prt_Config Function

    GroupByChannel Function

    nidaqAICreateTask Function

    nidaqAIDestroyTask Function

    nidaqAIRead Function

    nidaqAIScanOp Function

    nidaqAISinglePointOp Function

    nidaqAISingleScanOp Function

    nidaqAIStart Function

    nidaqAIStop Function

    nidaqGetErrorString Function

    PulseWidthOrPeriodMeasConfig Function

    ReadFromDigitalLine Function

    ReadFromDigitalPort Function

    WriteToDigitalLine Function

    WriteToDigitalPort Function

7. Creating and Using Function Panels.

    Purpose of a Function Panel

    Creating a Function Tree

    Creating a Function Panel

    Testing the Function Panel Functions

    Function Panel Controls

    Numeric Control

    Slide Control

    Binary Control

    Ring Control

    Global Variable

    Message Control


8. Creating Instrument Drivers.


    Creating an Instrument Driver

    Generating Driver Files Review

    Function Panel File

    Initialize Functions

    Configuration Functions

    Measure Output Functions

    Action/Status Functions

    Utility Functions

    Close Function

    Source File

    Include File

    sub File

    Using the Attribute Editor

    Attribute Editor Controls

    Editing High-Level Instrument Driver Functions

    Deleting High-Level Instrument Driver Functions

    Adding High-Level Instrument Driver Functions

    Creating Instrument Driver Documentation

    Creating the Instrument Driver Text File

    Creating the Instrument Driver Windows Help

    Testing the Instrument Driver


9. Introduction.

    OpenGL Project

    Source Code Analysis

    Header and main Function

    Load Data File

    Setting OpenGL Attributes

    Plotting Data

    Creating a Color Map

    Creating a Color Scale

    Printing the OpenGL Plot

    OpenGL Properties Panel


    Library Function Prototypes and Definitions

    OGLConvertCtrl Function

    OGLDeletePlot Function

    OGLDiscardCtrl Function

    OGLGetCtrlAttribute Function

    OGLGetErrorString Function

    OGLPlot3DUniform Function

    OGLPropertiesPopup Function

    OGLRefreshGraph Function

    OGLSetCtrlAttribute Function

    OGLSetPlotAttribute Function

    OGLSetPlotColorScheme Function

    PlotIntensity Function

    PrintPanel Function

    SetWaitCursor Function



The Author.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership