HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This EPUB will be accessible from your Account page after purchase.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Take virtual instrumentation to the next level with high-level programming.
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:
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.
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.