Advanced Topics in LabWindows/CVI

Advanced Topics in LabWindows/CVI

5 (1 rating by Goodreads)
By (author) 

List price: US$90.00

Currently unavailable

We can notify you when this item is back in stock

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks

Description

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.
show more

Product details

  • Mixed media product | 464 pages
  • 177.8 x 228.6 x 20.32mm | 771.1g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • w. numerous figs.
  • 0130892297
  • 9780130892294
  • 1,777,582

Back cover 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.
show more

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.
show more

About Shahid F. Khalid

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.
show more

Rating details

1 ratings
5 out of 5 stars
5 100% (1)
4 0% (0)
3 0% (0)
2 0% (0)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X