Always Learning

Advanced Topics in LabWindows/CVI
Shahid F. KhalidAgoura Hills, California

ISBN-10: 0130892297
ISBN-13:  9780130892294

Publisher:  Prentice Hall
Copyright:  2002
Format:  Paper; 464 pp
Published:  11/01/2001
Status: Instock


Customers outside the U.S., click here.


Print this content

In this section:


Description

This book will be targeted towards the audience who are already familiar with the rudimentary functions of LabWindows/CVI and like to have a better handle on this subject. The book enables its readers to use LabWindows/CVI to create more complex projects by using the advance features.


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.



Back to top

Print this content

In this section:


Author Bios

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.


Backcover Copy

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.

Back to top

Print this content

This product is a member of the following series. Click on the series name to see the full list of products in the series.

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top