Tektronix Using Keithley DriverLINX with KPCMCIA Analog Input Boards (1.5MB) User manual

Keithley KPCMCIA AI/AO Series
Using DriverLINX with Your
Hardware
SCIENTIFIC SOFTWARE TOOLS, INC. SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RELATED TO THE USE OF THIS PRODUCT. THIS PRODUCT IS NOT DESIGNED WITH COMPONENTS OF A LEVEL OF RELIABILITY SUITABLE FOR USE IN LIFE SUPPORT OR CRITICAL APPLICATIONS.
This document may not, in whole or in part, be copied, photocopied, reproduced, translated or reduced to any electronic medium or machine readable form without prior written consent from Scientific Software Tools, Inc.
Keithley KPCMCIA AI/AO Series: Using DriverLINX with Your Hardware Copyright 1998, 2001, Scientific Software Tools, Inc.
All rights reserved. SST 13-1101-1
DriverLINX, SSTNET, and LabOBJX are registered trademarks and DriverLINX/VB is a trademark of Scientific Software Tools, Inc. MetraByte and KPCMCIA are trademarks of Keithley Instruments, Inc. Microsoft and Windows are registered trademarks and Visual C++ and Visual Basic are trademarks of Microsoft Corporation. Borland is a registered trademark and Borland C++ and Delphi are trademarks of Borland International, Inc. All other brand and product names are trademarks or registered trademarks of their respective companies.
2
Contents
Preface 5
Software License and Software Disclaimer of Warranty............................................................5
About DriverLINX.....................................................................................................................7
About This User’s Guide...........................................................................................................7
Conventions Used in This Manual.............................................................................................8
Configuring the KPCMCIA AI/AO Series 9
Introduction................................................................................................................................9
Configure DriverLINX Device Dialog.......................................................................................9
Using the KPCMCIA AI/AO Series with DriverLINX 19
Introduction..............................................................................................................................19
DriverLINX Hardware Model for KPCMCIA AI/AO Series ..................................................19
Connecting Signals to the KPCMCIA AI/AO Series...............................................................24
Device Subsystem....................................................................................................................26
Analog Input Subsystem ..........................................................................................................27
Device Subsystem Page.............................................................................................11
Analog Input Subsystem Page ...................................................................................14
Analog Output Subsystem Page.................................................................................15
Digital Input Subsystem Page....................................................................................16
Digital Output Subsystem Page .................................................................................17
Counter/Timer Subsystem Page .................................................................................18
DriverLINX Subsystems............................................................................................19
DriverLINX Modes ...................................................................................................20
DriverLINX Operations and Events..........................................................................21
Logical Channels.......................................................................................................23
Buffers.......................................................................................................................23
Analog Input Subsystem Signals................................................................................24
Analog Output Subsystem Signals.............................................................................24
Digital Input Subsystem Signals................................................................................25
Digital Output Subsystem Signals..............................................................................25
Counter/Timer Subsystem Signals.............................................................................25
Device Modes............................................................................................................26
Device Operations .....................................................................................................26
Analog Input Modes..................................................................................................27
Analog Input Operations............................................................................................27
Analog Input Timing Events......................................................................................27
Analog Input Start Events..........................................................................................34
Analog Input Stop Events..........................................................................................37
Analog Input Channels...............................................................................................39
Analog Input Expansion Channels.............................................................................42
Analog Input Buffers .................................................................................................44
Keithley KPCMCIA AI/AO Series Contents 3
Analog Input Data Coding.........................................................................................44
Analog Input Messages..............................................................................................46
Analog Output Subsystem........................................................................................................47
Analog Output Modes................................................................................................47
Analog Output Operations.........................................................................................47
Analog Output Timing Events...................................................................................47
Analog Output Start Events ....................................................................................... 50
Analog Output Stop Events........................................................................................51
Analog Output Channels............................................................................................51
Analog Output Buffers...............................................................................................54
Analog Output Data Coding.......................................................................................55
Analog Output Messages ...........................................................................................55
Digital Input Subsystem...........................................................................................................56
Digital Input Modes...................................................................................................56
Digital Input Operations.............................................................................................56
Digital Input Timing Events.......................................................................................56
Digital Input Start Events...........................................................................................58
Digital Input Stop Events...........................................................................................58
Digital Input Channels...............................................................................................59
Digital Input Buffers..................................................................................................60
Digital Input Messages...............................................................................................61
Digital Output Subsystem.........................................................................................................62
Digital Output Modes ................................................................................................62
Digital Output Operations..........................................................................................62
Digital Output Timing Events....................................................................................62
Digital Output Start Events........................................................................................64
Digital Output Stop Events........................................................................................64
Digital Output Channels.............................................................................................65
Digital Output Buffers...............................................................................................66
Digital Output Messages............................................................................................67
Counter/Timer Subsystem........................................................................................................68
Uninstalling DriverLINX 73
How do I uninstall DriverLINX? .............................................................................................73
Troubleshooting 79
Solving Problems.....................................................................................................................79
Solving Problems Installing Drivers..........................................................................79
Solving Problems Configuring the Drivers................................................................79
Solving Problems Loading Drivers............................................................................79
Generating a DriverLINX Configuration Report......................................................................83
What is in the Report?................................................................................................83
How do I Generate the Report?..................................................................................83
Glossary of Terms 84
4 Contents Keithley KPCMCIA AI/AO Series
Preface
Software License and Software Disclaimer of Warranty
This is a legal document whic h is an agreement between you, the Licensee, and Scientific Software Tools, Inc. By opening this sealed diskette package, Licensee agrees to bec ome bound by the terms of this Agreement, which include the S oftware License and Software Disclaimer of Warranty.
This Agreement constit utes the complete Agreement between Licensee and Scient ific Software Tools, Inc. If Licensee does not agree to the terms of this Agreement, do not open the dis kette package. Promptly return the unopened diskette package and the other items (including written materials , binders or other containers, and hardware, if any) that are part of this product to S cientific Software Tools, Inc. for a full refund. No ref unds will be given for products that have opened disk packages or missing components.
Licensing Agreement
Copyright. The software and doc umentation is owned by Scient ific Software Tools, Inc. and is prot ected by both United States
copyright laws and int ernational treaty provisions. Scient ific Software Tools, Inc. authoriz es the original purchaser only (Licensee) to either (a) make one copy of t he software solely for backup or archival purposes, or (b) transf er the software to a si ngle hard disk only. The written materials acc om panying the software may not be duplicated or copied for any reason.
Trade Secret. Licensee understands and agrees that the sof tware is the propriet ary and confident ial property of Scientifi c Software Tools, Inc. and a valuable t rade secret. Li censee agrees to us e the software only for the intended us e under this License, and shall not disclose the soft ware or i t s contents to any third part y.
Copy Restrictions. The Licensee may not modify or trans late the program or related documentation without the prior written consent of Scientific Software Tools, Inc. All modifications, adapt ations, and me rged portions of the s oftware const itute the s oftware
licensed to t he Licensee, and the terms and conditions of this agreement apply to same. Licens ee may not distribut e copies, inc luding electronic transfer of c opies, of the modif ied, adapted or m erged software or ac company ing written m aterials to others. Licensee agrees not to reverse engineer, decompil e or di sassemble any part of the s of tware.
Unauthorized copying of the soft ware, including sof tware that has been m odified, merged, or i ncluded with other s oftware, or of t he written materials is ex pressly forbidden. Licens ee may not rent, transfer or leas e the software to any third parties. Licens ee agrees to
take all reasonable steps to protect Scientific Software Tools’ software from theft, disclosure or use contrary to the terms of the Licens e.
License. Scientific S oftware Tools, I nc. grants t he Licensee only a non-exclusiv e right to use the serialized copy of the software on a single terminal connected t o a single computer. The Licens ee may not network the s oftware or use it on more t han one computer or computer terminal at the s ame time.
Term. This Lic ense is effective until terminated. This License will terminate automatic ally without notice from Scientific Software Tools, Inc. if Lic ensee fail s to com ply wit h any term or c ondition of this Licens e. The Licensee agrees upon such termination to ret urn or destroy the written materi als and all copies of t he software. The Licensee may terminate the agreement by ret urning or destroying the program and documentation and all copies thereof.
Keithley KPCMCIA AI/AO Series Preface 5
Limited Warranty
Scientific Software Tools, I nc. warrants that the software will perform subs tantially in acc ordance with the written mat erials and that the program disk, instructi onal manuals and reference mat erials are free from defec ts in materials and workmanship under normal us e for 90 days from the date of receipt. All express or im pl i ed warranties of the software and related materials are limited to 90 days.
Except as specif icall y set f orth herein, t he soft ware and accompany ing writt en materials (includi ng instruc tions f or use) are provided
“as is” without warranty of any kind. Further, Sc ientific Soft ware Tools, Inc. does not warrant , guarantee, or make any represe ntations regarding the use, or the results of t he use, of the s of tware or writ ten mat erial s in terms of correct ness , acc uracy , reliabil ity, currentness, or otherwise. The entire risk as to the results and perform ance of the software is as sumed by Licensee and not by Scienti fic Software Tools, Inc. or its distributors, agents or employees.
EXCEPT AS SET F ORTH HE REI N, THE RE ARE NO OTHER WARRANT IE S, EI THER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE, THE ACCOMPANYING WRITTEN MATERIALS, AND ANY ACCOMP ANYING HARDWARE.
Remedy. Scientific S oftware Tools’ ent ire liabilit y and the Licens ee’s ex clus ive remedy shall be, at Sc ientific Sof tware Tools’ opt ion,
either (a) return of the price paid or (b) repair or replac ement of the software or accompanying m aterials. In the event of a defect in material or workmans hip, the item may be returned wit hin the warranty period to Scientific S oftware Tools for a replacement without charge, provided the licensee previously s ent in the limited warranty regis tration card to Scientif ic Software Tools, Inc ., or can furnish proof of the purchase of the program. This remedy is void if failure has resulted from accident, abuse, or misapplication. Any replacement will be warranted for the remainder of the original warranty period.
NEITHER SCIENTIFIC SOFTWARE TOOLS, INC. NOR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, SALE OR DELI VERY OF THIS PRODUCT S HALL BE LIABLE FOR ANY DIRE CT, INDIRECT, CONSEQUENTI AL, OR INCIDENTAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING OUT OF T HE USE OF OR THE INABI LITY TO USE SUCH PRODUCT EVEN IF SCIENTIFIC SOFTWARE TOOLS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR LIMITATI ONS ON DURATION OF AN IMPLIED WARRANTY, THE ABOVE LIM ITATIONS MAY NOT APPLY TO LICENSEE.
This agreement is governed by the laws of the Commonwealth of Pennsylvania.
6 Preface Keithley KPCMCIA AI/AO Series
About DriverLINX
Welcome to DriverLINX for Microsoft Windows, the high-performance real­time data-acquisition device drivers for Windows application development.
DriverLINX is a language- and hardware-indepe ndent applic ation programming
interface designed to support hardware manufacturers’ high-speed analog, digital, and counter/timer data-acquisition boards in Windows. DriverLINX is a multi-user and multitasking data-acquisition resource manager providing more than 100 services for foreground and background data acquisition tasks.
Included with your DriverLINX package are the following items:
The DriverLINX API DLLs and drivers supporting your data-
acquisition hardware
Learn DriverLINX, an interactive learning and demonstration program
for DriverLINX that includes a Digital Storage Oscilloscope
Source code for the sample programs
The DriverLINX Application Programming Interface files for your
compiler
DriverLINX On-line Help System
DriverLINX Analog I/O Programming Guide
DriverLINX Technical Reference Manual
Supplemental Documentation on DriverLINX and your data acquisition
hardware
About This User’s Guide
The purpose of this manual is to help you quickly learn how to configure and use t he
hardware features of Keithley’s KPCMCIA AI/AO Series cards with DriverLINX.
For help insta l ling and configuring your hardware and DriverLINX,
please see the manual that accompanied your hardware.
For more information on the DriverLINX API, please see the
DriverLINX Technical Reference Manual.
For additional help programming your board, please examine the source
code examples on the Distribution Disks.
This manual contains the following chapters: Configuring the KPCMCIA AI/AO Series Shows how to configure the KP CMCIA AI/AO Series using the Configure
DriverLINX Device dialog box. Using the KPCMCIA AI/AO Series with DriverLINX Shows how to set up DriverLINX with the Edit Service Request dialog box to use
KPCMCIA AI/AO Series hardware features.
Keithley KPCMCIA AI/AO Series Preface 7
Conventions Used in This Manual
The following notational conventions are used in this manual:
Itemized lists are identified by a round bullet (•).
Numbered lists indicate a step-by-step procedure.
DriverLINX Application Programming Interface and Windows macro
and function names are set in bold when mentioned in the text.
DriverLINX indicates the exported function name of the device driver
DLL while DriverLINX indicates the product as a whole.
DriverLINX Application Programming Interface identifiers, menu
items, and Dialog Box names are italicized when mentioned in the text.
Italics are used for emphasis.
Source code and data structure examples are displayed in Courier
typeface and bounded by a box with a single line.
Code
Tables of information are bounded by a box with a double line.
Tables
Concept
Important concepts and notes are printed in the left margin.
8 Preface Keithley KPCMCIA AI/AO Series
Configuring the KPCMCIA AI/AO Series
Introduction
This manual explains the steps and special features that apply to installing and
configuring Keithley’s KPCMCIA AI/AO Series cards. Installing and configuring DriverLINX for the Keithley KPCMCIA AI/AO Series
cards requires three steps:
1. To install your KPCMCIA AI/AO hardware, read and follow the
instructions in the hardware manual.
2. To install DriverLINX, follow the general procedure outlined in the
“Read Me First” material on the installation CD.
3. To configure DriverLINX, use the DriverLINX Configuration Panel.
Also see “Configure DriverLINX Device Dialog” on page 9 for configuration options specific to a Keithley KPCMCIA AI/AO Series model.
Configure DriverLINX Device Dialog
DriverLINX uses a standardized configuration protocol for all data-acquisition hardware. Even though Windows 95/98/Me automatically selects the hardware base address and interrupt channel for the KPCMCIA AI/AO Series, you must still follow the configuration process to assign a DriverLINX Logical Device number to a specific KPCMCIA AI/AO Series model in your computer.
When you activate the S
DriverLINX displays the Configure DriverLINX Device dialog. The following sections describe your choices for configuring DriverLINX to work with a Keithley KPCMCIA AI/AO Series mode l.
etup… button in the DriverLINX Configuration Panel,
Keithley KPCMCIA AI/AO Series Configuring the KPCMCIA AI/AO Series 9
10 Configuring the KPCMCIA AI/AO Series Keithley KPCMCIA AI/AO Series
Device Subsystem Page
Note: The Configure DriverLINX Device dialog appears differently under different versions of Windows.
Use the Device subsystem page to tell DriverLINX the model name, address and, optionally, the expansion accessories connected to your KPCMCIA AI/AO Series card.
Vendor
Windows 95/98/Me/2000
The Vendor property displays “Keithley Instruments, Inc.”. It is a read-only property.
Device
The Device property designates the Logical Device you are configuring. It is a read­only property. To change it, first save (OK) or quit (Cancel) the current configuration. Then select or create a new Logical Device using the DriverLINX Configuration Panel.
Model
The Model property selects the hardware model of the card you’re configuring. All cards in this series support differential analog input with half the number of
single-ended channels. The AIAO cards support two 12-bit analog output channels. All cards support four digital input and four digital output channels.
For Windows 95/98/Me/2000, Model is a read-only property—DriverLINX selects the next unconfigured card. To configure a different card, first save (OK) the current configuration. Then insert the appropriate card and select or create a new Logical Device using the DriverLINX Configuration Panel.
Keithley KPCMCIA AI/AO Series Configuring the KPCMCIA AI/AO Series 11
Windows NT
For Windows NT, select one of the following models:
Model Resolution AI Channels AO Channels
KPCMCIA-12AI 12 bits 16 KPCMCIA-12AIH 12 bits 16 KPCMCIA-12AIAO 12 bits 8 2 KPCMCIA-12AIAOH 12 bits 8 2 KPCMCIA-16AI 16 bits 16 KPCMCIA-16AIAO 16 bits 8 2
Address
Windows 95/98/Me/2000
Windows NT
Windows automatically selects an appropriate address and ignores this property.
The A
ddress property selects the I/O port address for the card. The default address used by DriverLINX is 768 decimal or 0x300 hex. If you have another peripheral card at the same address, you will have to select a free range of 8 or 16 addresses (depending on the model).
Detect
The Detect property enables and disables DriverLINX’s hardware detection and testing algorithms. For maximum system reliability, always leave this check box marked.
Calibrate
The Calibrate property enables and disables hardware auto-calibration. For best accuracy, always leave this check box marked.
Special…
The Special… button displays the following dialog box of KPCMCIA AI/AO­specific confi guration options:
12 Configuring the KPCMCIA AI/AO Series Keithley KPCMCIA AI/AO Series
This dialog allows you to configure an EXP-1600 multiplexer for use with the
KPCMCIA’s analog input channels. Note: Using an EXP-1600 multiplexer requires configuring the base channels as
single-ended.
Enable expansion mode Enable expansion mode to allow the KPCMCIA hardware to use an EXP-
1600 multiplexer. Note: you can disable expansion mode without losing existing gain settings.
Enable static configuration Static configuration allows you to record the gain selections for each EXP-
1600 attached to an analog input channel. DriverLINX can then use this information to correctly convert A/D codes to volts. With static configuration disabled, you must perform gain correct ion in your application. Whereas, with static configuration enabled, DriverLINX will check that you have specified a valid total gain for each channel in your service request and apply the total gain when converting data for your application.
For example, if the card’s base gain settings are 1,2,4,8 and an attached
multiplexer has gain of 100, then the valid selections for total gain on the corresponding channels are 100,200,400,800
EXP-1600 Static Configuration DriverLINX records gain selections for an EXP-1600 attached to each base
channel. Select an EXP-1600 in the list to change its gain using the Gain and Factor sliders.
Gain For the highlighted EXP-1600 in the list, record the setting of the Gain-set
DIP switch S4.
Factor For the highlighted EXP-1600 in the list, record the position of the Gain-
multiplier slide switch S2.
Keithley KPCMCIA AI/AO Series Configuring the KPCMCIA AI/AO Series 13
Analog Input Subsystem Page
Use the Analog Input subsystem page to tell DriverLINX if you’ll be using single­ended or differential input connections.
Channels
The Channels property allows you to select either single-ended or differential analog input connections.
For 16 channel models, select either “16 single-ended” or “8
differential” channels.
Windows 95/98/Me/2000
Windows NT
For 8 channel models, select either “8 single-ended” or “4 differential”
channels.
Range
The full-scale maximum analog input range for the KPCMCIA AI/AO Series is fully software programmable. DriverLINX disables this property.
Interrupt
For Windows 95/98/Me/2000, the operating system automatically determines the interrupt channel for the KPCMCIA AI/AO Series card. DriverLINX disables this property.
For Windows NT, select a free interrupt request level to support interrupt mode transfers. Valid IRQ levels are: 1 - 15.
DMA level
The KPCMCIA AI/AO Series does not use system DMA channels. DriverLINX disables this property.
14 Configuring the KPCMCIA AI/AO Series Keithley KPCMCIA AI/AO Series
Analog Output Subsystem Page
Use the Analog Output subsystem page to change the default D/A initialization voltages.
Channels
The Channels property allows you to select either D/A Logical Channel (0 or 1) for individual configuration of its initialization voltage.
Range
The full-scale analog output range for the KPCMCIA AI/AO Series is fixed at ±5 volts. DriverLINX disables this property.
Interrupt
The KPCMCIA AI/AO Series uses the same interrupt for analog output as for analog input. Go to the Analog Input page to set it. DriverLINX disables this property and displays it as blank.
DMA level
The KPCMCIA AI/AO Series does not use system DMA channels. DriverLINX disables this property.
Volts
The Volts property allows you to specify a custom output voltage for each DAC that
DriverLINX uses when it initializes the hardware. DriverLINX’s default initialization value is zero volts. DriverLINX ignores this property unless you also check the
In
itialize property.
Initialize
Checking the Initialize check box instructs DriverLINX to use the Volts property, rather than the default value, for analog output initialization. The KPCMCIA AI/AO Series does not support this feature.
Keithley KPCMCIA AI/AO Series Configuring the KPCMCIA AI/AO Series 15
For the KPCMCIA AI/AO Series, there are no configurable options for the Digital Input subsystem.
Calibrate
The Calibrate property enables and disables hardware auto-calibration. DriverLINX
disables this property as the KPCMCIA AI/AO Series DACs don’t support auto­calibration.
Digital Input Subsystem Page
Channels
The Channels property allows you to select a Logical Channel for configuration or viewing the channel’s range. The KPCMCIA AI/AO Series digital input channels have fixed confi gurations.
DriverLINX defines the following Logical Channels for the KPCMCIA AI/AO Series digital inputs:
Logical Channel DriverLINX Function KPCMCIA AI/AO Series
External Connector
0 Standard Digital Input Digital input lines (DI 0 … DI 3) 1 External Clock DI 2 / ExtClk 2 External Trigger, External
Clock
DI 0 / Ext. Trigger
Range
The Range property specifies the supported digital input range for the selected Logical Channel. This is a read-only property.
Interrupt
The KPCMCIA AI/AO Series uses the same interrupt for digital input as for analog input. Go to the Analog Input page to set it. DriverLINX disables this property and displays it as blank.
16 Configuring the KPCMCIA AI/AO Series Keithley KPCMCIA AI/AO Series
DMA level
The KPCMCIA AI/AO Series does not use system DMA channels. DriverLINX disables this property and displays it as blank.
Configuration Setup
The Configuration Setup property specifies the hardware configuration of the digital I/O ports. The KPCMCIA AI/AO Series has a fixed digital I/O configuration. Therefore, DriverLINX disables this field.
Initialize
Checking the Initialize check box instructs DriverLINX to use the Configuration S
etup property to configure the digital I/O ports. The KPCMCIA AI/AO Series has a
fixed digital I/O configuration. Therefore, DriverLINX disables this field.
Digital Output Subsystem Page
Use the Digital Output subsystem page to change the default digital output port initialization values.
Channels
The Channels property allows you to select a Logical Channel for initialization or
viewing the channel’s range. KPCMCIA AI/AO Series cards only have a single digital output channel.
Range
The Range property specifies the supported digital output range for the selected Logical Channel. This is a read-only property.
Interrupt
The KPCMCIA AI/AO Series uses the same interrupt for digital output as for analog input. Go to the Analog Input page to set it. DriverLINX disables this property and displays it as blank.
Keithley KPCMCIA AI/AO Series Configuring the KPCMCIA AI/AO Series 17
DMA level
The KPCMCIA AI/AO Series does not use system DMA channels. DriverLINX disables this property and displays it as blank.
Initialization Value
The Initialization Value property specifies the digital output value DriverLINX will write to the selected Logical Channel on hardware initialization. DriverLINX only writes this value if you enable the In the hardware-defined initialization values if the In For the KPCMCIA AI/AO Series, the default digital output value is zero.
itialize check box. By default, DriverLINX uses
itialize check box is not checked.
Initialize
Checking the Initialize check box instructs DriverLINX to use the Initialization V
alue property, rather than the default value, for digital output port initialization.
Dec
This check box converts the Initialization Value property to decimal.
Hex
This check box converts the Initialization Value property to hexadecimal.
For the KPCMCIA AI/AO Series, there are no configurable options on the Counter/Timer subsystem page.
Counter/Timer Subsystem Page
Resolution
The Resolution property specifies the clock frequency of the master oscillator. All models have a 5 MHz clock source for pacing analog input. Models 12AIAO, 12AIAOH and 16AIAO also have a 1 MHz clock source for pacing analog output.
Interrupt
The KPCMCIA AI/AO Series does not support interrupts from counter/timers. DriverLINX disables this property and displays it as blank.
18 Configuring the KPCMCIA AI/AO Series Keithley KPCMCIA AI/AO Series
Using the KPCMCIA AI/AO Series with DriverLINX
Introduction
This chapter shows you how to set up and use KPCMCIA AI/AO Series hardware features with DriverLINX. The descriptions here use the Edit Service Request dialogs
for language and API independe nce. For the correct syntax with the language you’re using, please see the DriverLINX Technical Reference Manuals. For DriverLINX examples in your programming language, please see the source code examples in the subdirectories of your DriverLINX installation directory or on the original Distribution Media.
DriverLINX Hardware Model for KPCMCIA AI/AO Series
By design DriverLINX provides a portable, hardware-independent API for data­acquisition boards while still allowing applications to access unique or proprietary hardware features of specific products. To achieve this goal, DriverLINX maps a hardware-independent, or abstract, data-acquisition model onto KPCMCIA AI/AO Series hardware capabilities.
The following sections describe how DriverLINX implements KPCMCIA AI/AO Series hardware features as Subsystems, Modes, Operations, Events, Logical Channels, Buffers, and Messages.
DriverLINX Subsystems
The KPCMCIA AI/AO Series supports all six of DriverLINX’s subsystems:
1. Device—refers to a KPCMCIA AI/AO model as a whole.
2. Analog Input—refers to the analog input channels, clocks, and control
signals, such as Ext. Trigger, ExtClk, etc.
3. Analog Output—refers to the analog output channels, clocks, and
control signals.
4. Digital Input—refers to the 4-bit digital input port as well as 1-bit
digital input (TTL) control signals, such as Ext. Trigger, etc.
Keithley KPCMCIA AI/AO Series Using the KPCMCIA AI/AO Series with DriverLINX 19
5. Digital Output—refers to the 4-bit digital output port.
6. Counter/Timer—refers to the Analog Input and Analog Output
subsystem-specific internal clock channels as well as a software­implemented system timer.
DriverLINX Modes
Applications use modes in Service Requests to advise DriverLINX on their preferred hardware data transfer technique. The DriverLINX modes fall into two general classes:
Foreground or synchronous modes. The calling application doesn’t
regain control until DriverLINX completes the Service Request. DriverLINX supports this mode for simple, single value I/O operations or software housekeeping functions that DriverLINX can complete without a significant delay.
Background or asynchronous modes. The calling application regains
control as soon as DriverLINX initiates the task. The calling application must synchronize with the data-acquisition task using status polling or DriverLINX’s messages (preferred). DriverLINX supports this mode for buffered data transfers or for commands that require a significant time to complete.
DriverLINX supports three of the four modes with the KPCMCIA AI/AO Series for its commands (Service Requests).
Polled Mode—This is a foreground or synchronous op eration.
DriverLINX supports this mode for simple, single-value I/O operations that the data-acquisition card can complete without significant delay.
Interrupt Mode—T his is a background or asynchronous op eration.
DriverLINX transfers data between the computer’s memory and the data-acquisition card using hardware interrupts and programmed I/O transfers.
DMA Mode—This is a backgro und or asynchronous o peration.
DriverLINX transfers data between the computer’s memory and the data-acquisition card using memory bus transfers. The KPCMCIA AI/AO Series does not support this transfer mode.
Other Mode—This i s a foreground o r synchronous opera tion.
DriverLINX supports this mode for initialization, configuration, calibration, data conversion, and timebase operations.
20 • Using the KPCMCIA AI/AO Series with DriverLINX Keithley KPCMCIA AI/AO Series
The following table summarizes the data acquisition modes that DriverLINX supports for each subsystem with the Keithley KPCMCIA AI/AO Series.
Subsystem Polled Interrupt DMA Other
Analog Input Analog Output Digital Input Digital Output Counter/Timer Device
KPCMCIA AI/AO Series Supported DriverLINX Modes
*
Models KPCMCIA-12AIAO, 12AIAOH and 16AIAO only.
¥ ¥ ¥
*
¥* ¥
¥ ¥ ¥ ¥ ¥ ¥ ¥
*
¥
¥ ¥
DriverLINX Operations and Events
Applications construct DriverLINX data-acquisition tasks by combining a small number of DriverLINX operations and events in many possible ways. The following table summarizes the operations and events that DriverLINX supports for the Keithley KPCMCIA AI/AO Series. Latter sections for each DriverLINX subsystem will describe the operations and events in more detail.
Note: All subsystems allow the MESSAGE operation and the Analog I/O subsystems allow the CONVERT operation, which are not shown in the table. DriverLINX allows any Mode setting for these operations.
Keithley KPCMCIA AI/AO Series Using the KPCMCIA AI/AO Series with DriverLINX 21
Subsystem Operation Events
Mode Timing Start Stop
Analog Input
Polled Start null, rate null, cmd null, TC Interrupt Start, Stop,
Status
Other Initialize
Analog Output*
Polled Start null null, cmd null, TC Interrupt Start, Stop,
Status
Other Initialize
Digital Input
Polled Start null null, cmd null, TC Interrupt Start, Stop,
Status
Other Initialize
Digital Output
Polled Start null null, cmd null, TC Interrupt Start, Stop,
Status
Other Initialize
rate, dig cmd, dig, ana* cmd, TC, ana*
rate cmd cmd, TC
rate cmd cmd, TC
rate cmd cmd, TC
Counter/Timer
Polled* Start rate null, cmd null, TC Other Initialize
Device
Other Initialize,
Configure, Capabilities
*
Models KPCMCIA-12AIAO, 12AIAOH and 16AIAO only.
Allowed Operations and Events for KPCMCIA AI/AO Series Subsystems and Modes
The following list explains the Event abbreviations in the preceding table:
null—Null or None Event when a Service Request doesn’t require an
event
cmd—Command Event when DriverLINX starts or stops a task on
software command
TC—Terminal Count Event when DriverLINX processes all data
buffers once
rate—Rate Event specifies how DriverLINX paces or clocks data
transfer
22 Using the KPCMCIA AI/AO Series with DriverLINX Keithley KPCMCIA AI/AO Series
dig—Digital Event specifies a trigger, clock, or other control signal to
pace, start, or stop a task
ana—Analog Event specifies an analog input signal to pace, start, or
stop a task
Logical Channels
DriverLINX designates the individually addressable hardware channels for each subsystem as “Logical Channels”. Generally, the zero-based Logical Channel numbering sequence c losely follows the hardware channel numbering scheme.
In some cases, however, DriverLINX assigns Logical Channel numbers to hardware features that users don’t commonly think of as “channels”. For instance, DriverLINX commonly models external hardware clock input lines, external hardware trigger input lines, and external interrupt inputs as 1-bit digital Logical Channels. In other cases, DriverLINX models subsystem-specific features, such as internal pacer clocks, as members of a more general purpose set of counter/timer channels.
For how DriverLINX assigns Logical Channel numbers, see the notes for each supported subsystem.
Buffers
Applications usually use data buffers to exchange data between the application and the data-acquisition hardware. When using data buffers, please observe the following points about DriverLINX’s data buffers:
DriverLINX supports data-acquisition tasks with 1 to 255 data buffers
per task.
DriverLINX imposes no size limits on a single buffer, although the
operating system or some hardware products may have size restrictions.
User applications must allow DriverLINX to allocate all data buffers to
guarantee application portability to different hardware and operating systems and to insure that the hardware can physically access the buffer memory.
User applications usually don’t have concurrent or immediate access to
the in-use data buffer while DriverLINX is executing a data-acquisition task.
Keithley KPCMCIA AI/AO Series Using the KPCMCIA AI/AO Series with DriverLINX 23
Connecting Signals to the KPCMCIA AI/AO Series
The Keithley hardware manual describes the data and control signals for the KPCMCIA AI/AO Series and the connector pinouts for these signals. This section summarizes how DriverLINX logically numbers the I/O data signals and how DriverLINX uses several of these control signals for external clock, trigger, and gating inputs.
Analog Input Subsystem Signals
The Analog Input subsystem has 4, 8 or 16 analog input single-ended or differential signal connections depending on the model and configura t ion of your KPCMCIA AI/AO card. DriverLINX maps these signals to Logical Channels as shown in the following table:
Number of A/D Channels
4 Differential CH0+/CH0- – CH3+/CH3- 0–3 8 Differential CH0+/CH0- – CH7+/CH7- 0–7 8 Single-ended CH0 – CH7 0–7 16 Single-ended CH0 – CH15 0–15
How DriverLINX maps analog input hardware channels to Logical Channels
The Analog Input subsystem supports a dedicated internal pacer clock that DriverLINX designates as Logical Channel 0 of the Counter/Timer subsystem.
The Analog Input subsystem also has several control signals that DriverLINX uses as external clocks, gates, and triggers as shown in the following table:
Connector Name DriverLINX Usage
DI 0 / Ext. Trigger External trigger / External pacer clock DI 2 / ExtClk External pacer clock
How DriverLINX uses analog input control signals
Connector Name Logical Channels
Analog Output Subsystem Signals
The KPCMCIA-12AIAO, 12AIAOH, and 16AIAO models have two 12-bit analog output DACs. DriverLINX maps these signals to Logical Channels as shown in the following table:
Number of D/A Channels
2 D/A CH0 – D/A CH1 0 – 1
How DriverLINX maps analog output hardware channels to Logical Channels
24 • Using the KPCMCIA AI/AO Series with DriverLINX Keithley KPCMCIA AI/AO Series
Connector Name Logical Channels
The Analog Output subsystem supports a dedicated internal pacer clock that DriverLINX designates as Logical Channel 1 of the Counter/Timer subsystem.
Digital Input Subsystem Signals
The Digital Input subsystem has one 4-bit digital input port and several control inputs which DriverLINX models as 1-bit logical digital input ports. DriverLINX maps these signals to Logical Channels as shown in the following table:
Port Connector Name Logical Channels
4-bit digital input DI 0 – DI 3 0 external clock DI 2 / ExtClk 1 external trigger/ external clock
How DriverLINX maps digital input hardware channels to Logical Channels
The Digital Input subsystem doesn’t support a dedicated internal pacer clock, but DriverLINX uses a system timer clock for low-frequency digital input pacing. DriverLINX designates the system clock as Logical Channel 2 of the Counter/Timer subsystem.
DI 0 / Ext. Trigger 2
Digital Output Subsystem Signals
The Digital Output subsystem has one 4-bit digital output port. DriverLINX maps these signals to Logical Channels as shown in the following table:
Port Connector Name Logical Channels
4-bit digital output DO 0 – DO 3 0
How DriverLINX maps digital output hardware channels to Logical Channels
The Digital Output subsystem doesn’t support a dedicated internal pacer clock, but DriverLINX uses a system timer clock for low-frequency digital output pacing. DriverLINX designates the system clock as Logical Channel 2 of the Counter/Timer subsystem.
Counter/Timer Subsystem Signals
The Counter/Timer subsystem has several internal hardware and system timers. All models in the KPCMCIA AI/AO Series have a 24-bit timer for analog input. Models KPCMCIA-12AIAO, 12AIAOH and 16AIAO also have a 16-bit timer for analog output or event counting tasks. DriverLINX provides a system timer using software for digital input/output. DriverLINX maps these timers to Logical Channels as shown in the following table:
Keithley KPCMCIA AI/AO Series Using the KPCMCIA AI/AO Series with DriverLINX 25
Timer Connector Name Logical Channels
Analog input timer DI 0 / Ext. Trigger,
Analog output timer DI 0 / Ext. Trigger,
System timer none 2
How DriverLINX maps counter/timer hardware channels to Logical Channels
Applications generally cannot use these timers independently from their associated analog input/output subsystem. On AIAO models only, the analog output timer can be used for simple 16-bit continuous counting, when not in use for pace analog
output. See “Counter/Timer Subsystem” on page 68 for details.
Device Subsystem
The following sections describe how DriverLINX implements Device Subsystem features for the KPCMCIA AI/AO Series.
Device Modes
The Device Subsystem only supports DriverLINX’s Other mode for all operations.
0
DI 2 / ExtClk, ExtGate
1
DI 2 / ExtClk, ExtGate
If another process is using the same data-acquisition card, DriverLINX will prevent Device Initialization from interfering with another process’s data-acquisition tasks.
Device Operations
The KPCMCIA AI/AO Series Device Subsystem supports the following DriverLINX operations:
Initialize—DriverLINX aborts all data-acquisition tasks for every
subsystem controlled by the current process. DriverLINX then performs an initialization for each supported subsystem.
Configure—DriverLINX displays the Configure DriverLINX Device
dialog for the current Logical Device. Please use the DriverLINX Configuration Panel rather than this operation to configure DriverLINX.
Capabilities—DriverLINX provides hardware-specific and
configuration information in the form of a Logical Device Descriptor database.
26 • Using the KPCMCIA AI/AO Series with DriverLINX Keithley KPCMCIA AI/AO Series
Loading...
+ 60 hidden pages