Master your Minecraft

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to
for a chance to win.
Privacy Policy

Tour our stores

    Recently Viewed clear list

    Interviews | October 28, 2014

    Jill Owens: IMG Miriam Toews: The Interview

    Some people are compelled by a restlessness from within; others are shaped by the unwieldy forces around them. In Miriam Toews's poignant new novel... Continue »


On Order

New Trade Paper
Currently out of stock.
Add to Wishlist
available for shipping or prepaid pickup only
Qty Store Section
- Local Warehouse Software Engineering- General

Advanced Topics in Labwindows/CVI with CDROM (National Instruments Virtual Instrumentation)


Advanced Topics in Labwindows/CVI with CDROM (National Instruments Virtual Instrumentation) Cover

ISBN13: 9780130892294
ISBN10: 0130892297
All Product Details


Synopses & Reviews

Publisher Comments:

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.

Book News Annotation:

Focusing on the use of C in an open software architecture, this intermediate-level guide presents techniques for using the advanced features of LabWindows/CVI. Applications include data acquisition, graph and table controls, 3D data plotting, communications with VXI devices, and creating function panels and instrument drivers. A companion CD-ROM includes an evaluation version of LabWindows/CVI 6.0 and all the projects in the book. Khalid is a software engineer.
Annotation c. Book News, Inc., Portland, OR (

About the Author

Shahid F. Khalid has over 30 years of experience in software engineering. At Boeing he is presently working on the design and implementation of the Next Generation Automatic Test Equipment using LabWindows/CVI. In the past he has used LabWindows/CVI to test embedded software for the engine control unit on Delta IV rockets, to create applications for laser beam alignment, and to control and diagnose automatic test equipment. He is the author of LabWindows/CVI Programming for Beginners (0-13-016512-3), also published by Pearson PTR.

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.

What Our Readers Are Saying

Add a comment for a chance to win!
Average customer rating based on 1 comment:

ganesh9, November 3, 2006 (view all comments by ganesh9)
it is avery good product to read
Was this comment helpful? | Yes | No

Product Details

Laney, Jeff
Laney, Jeff
Foreword by:
Laney, Jeff
Laney, Jeff
Khalid, Shahid F.
Prentice Hall PTR
Upper Saddle River, NJ
Engineering - Electrical & Electronic
Data processing
Operating Systems - General
Programming - Software Development
Engineering instruments
Computer programming
Engineering / Electrical
Software Development & Engineering - General
Engineering instruments -- Data processing.
Software Engineering-General
Edition Description:
Trade paper
National Instruments virtual instrumentation series
Series Volume:
Publication Date:
November 2001
Grade Level:
Professional and scholarly
24 cm. +

Related Subjects

Computers and Internet » Operating Systems » General
Computers and Internet » Software Engineering » General
Reference » Science Reference » Technology
Science and Mathematics » Electricity » General Electricity

Advanced Topics in Labwindows/CVI with CDROM (National Instruments Virtual Instrumentation) New Trade Paper
0 stars - 0 reviews
$99.25 Backorder
Product details 464 pages Prentice Hall PTR - English 9780130892294 Reviews:
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at