Home > Store > Engineering > General Engineering & Hardware

Advanced Topics in LabWindows/CVI

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

Advanced Topics in LabWindows/CVI

Best Value Purchase

Book + eBook Bundle

  • Your Price: $101.70
  • List Price: $161.99
  • About Adobe DRM eBooks
  • This eBook requires the free Adobe® Digital Editions software.

    Before downloading this DRM-encrypted PDF, be sure to:


    • Install the free Adobe Digital Editions software on your machine. Adobe Digital Editions only works on Macintosh and Windows, and requires the Adobe Flash Player. Please see the official system requirements.
    • Authorize your copy of Adobe Digital Editions using your Adobe ID (select AdobeID as the eBook vendor). If you don't already have an Adobe ID, you can create one here.

More Purchase Options

Book

  • Your Price: $76.50
  • List Price: $90.00
  • Usually ships in 24 hours.

eBook (Adobe DRM)

  • Your Price: $61.19
  • List Price: $71.99
  • About Adobe DRM eBooks
  • This eBook requires the free Adobe® Digital Editions software.

    Before downloading this DRM-encrypted PDF, be sure to:


    • Install the free Adobe Digital Editions software on your machine. Adobe Digital Editions only works on Macintosh and Windows, and requires the Adobe Flash Player. Please see the official system requirements.
    • Authorize your copy of Adobe Digital Editions using your Adobe ID (select AdobeID as the eBook vendor). If you don't already have an Adobe ID, you can create one here.

Description

  • Copyright 2002
  • Dimensions: K
  • Pages: 464
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-089229-7
  • ISBN-13: 978-0-13-089229-4
  • eBook (Adobe DRM)
  • 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

Tables.

Illustrations.

What Is LabWindows/CVI?

Objectives of This Book.

What You Need to Run CVI.

Conventions Used in This Book.

Acknowledgments.

Foreword.

1. Programmatically Creating the Graphical User Interface.

    Introduction

    Analyzing the Source Code

    main Function

    CreateGUI Function

    RingCB Function

    StartGUICB Function

    SamplesControlCB Function

    DoneGUICB Function

    ClearGraphCB Function

    PlotUniformCB Function

    ExitGUICB Function

    Summary

    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

    Summary

    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.

    Introduction

    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

    Summary

    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.

    Introduction

    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

    Summary

    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.

    Introduction

    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

    Summary

    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.

    Introduction

    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

    Summary

    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

    Summary

8. Creating Instrument Drivers.

    Introduction

    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

    Summary

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

    Summary

    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

Bibliography.

Index.

The Author.

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership