NuDAQ PCI-6308 User Manual

NuDAQ
PCI-6308 Series
Isolated Analog Output Board
User’s Guide
@Copyright 1999~2000 ADLINK Technology Inc. All Rights Reserved.
Manual Rev. 1.10: April 10, 2000 The information in this document is subj ect to change without prior
notice in order to improve reliability, design and function and does not represent a commitment on the part of the manufacturer.
In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability
to use the product or documentation, even if advised of the possibility of such damages.
This document contains proprietary information protected by copyright. All rights are reserved. No part of this m anual may be reproduced by
any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.
Trademarks NuDAQ, DAQBench are registered trademarks of ADLINK Technology
Inc. Other product names mentioned herein are used for identification
purposes only and may be trademarks and/or registered trademarks of their respective companies.
Getting service from ADLINK
Customer Satisfaction is always the most important thing for ADLINK
Tech Inc. If you need any help or service, please contact us and get it.
ADLINK Technology Inc.
Web Site http://www.Adlink.com.tw Sales & Service service@Adlink.com.tw Technical NuDAQ nudaq@Adlink.com.tw Support NuDAM nudam@Adlink.com.tw NuIPC nuipc@Adlink.com.tw NuPRO nupro@Adlink.com.tw Software sw@Adlink.com.tw AMB amb@Adlink.com.tw TEL +886-2-82265877 FAX +886-2-82265717 Address 9F, No. 166, Jian Yi Road, Chungho City, Taipei, 235 Taiwan, R.O.C.
Please inform or FAX us of your detailed information for a prompt,
satisfactory and constant service.
Detailed Company Information
Company/Organization Contact Person E -mail Address Address Country TEL FAX Web Site
Questions
Product Model
¨OS: ¨Computer Brand:
Environment to Use
¨M/B: ¨CPU: ¨Chipset: ¨Bios: ¨Video Card: ¨Network Interface Card: ¨Other:
Challenge Description
Suggestions for ADLINK
Contents • i
Table of Contents
How to Use This Guide ..............................................iii
Chapter 1 Introduction...............................................1
1.1 Features............................................................................. 2
1.2 Applications....................................................................... 2
1.3 Specifications..................................................................... 2
1.4 Software Supporting........................................................... 4
1.4.1
Programming Library.....................................................................5
1.4.2
PCIS-LVIEW: LabVIEW® Driver...................................................5
1.4.3
PCIS-VEE: HP-VEE Driver .............................................................5
1.4.4
DAQBenchTM: ActiveX Controls..................................................5
1.4.5
DASYLabTM PRO.............................................................................6
1.4.6
PCIS-DDE: DDE Server and InTouchTM....................................6
1.4.7
PCIS-ISG: ISaGRAFTM driver........................................................6
1.4.8
PCIS-ICL: InControlTM Driver.......................................................6
1.4.9
PCIS-OPC: OPC Server.................................................................6
Chapter 2 Installation................................................7
2.1 What You Have ................................................................... 7
2.2 Unpacking .......................................................................... 8
2.3 PCI-6308V Layout............................................................... 9
2.4 Hardware Installation Outline ...........................................10
2.4.1
Hardware configuration ..............................................................10
2.4.2
PCI slot selection..........................................................................10
2.4.3
Installation Procedures...............................................................10
2.5 Device Installation for Windows Systems.........................10
2.6 Connector Pin Assignment ............................................... 11
2.7 Jumper Setting.................................................................11
2.8 Termination Board Connection ........................................13
Chapter 3 Registers Format .....................................14
3.1 PCI PnP Registers............................................................14
3.2 I/O Address Map ............................................................... 15
3.2 DA Output Register ..........................................................15
ii • Contents
3.3 Digital Output Register .....................................................16
3.4 Digital Input Ports.............................................................16
Chapter 4 Operation Theorem.................................17
4.1 Voltage Output .................................................................17
4.1.1 Voltage Output Range Selection....................................................17
4.1.2 DA data format .....................................................................................17
4.2 Analog Output Status Register.........................................18
4.3 Current Output and Range Control ................................... 19
4.4 Isolated Digital Output......................................................19
4.5 Isolated Digital Input.........................................................20
Chapter 5 C/C++ Library...........................................21
5.1 Libraries Installation ........................................................ 21
5.2 Programming Guide .........................................................21
5.2.1
Naming Convention......................................................................22
5.2.2
Data Types......................................................................................22
5.3 _6308_Initial.....................................................................23
5.4 _6308_Software_Reset.....................................................23
5.5 _6308_DA ......................................................................... 24
5.6 _6308_DA_0_3 .................................................................25
5.7 _6308_DA_4_7 .................................................................26
5.8 _6308_Get_DA_Status ..................................................... 26
5.9 _6308_DI ..........................................................................27
5.10 _6308_DO ........................................................................27
5.11 _6308_I2V_Control ........................................................... 28
Product Warranty/Service.........................................29
How to Use This Guide • iii
How to Use This Guide
This manual is designed to help you use the PCI-6308. It describes how to modify and control various functions on the PCI-6308 card to meet your requirements. It is divided into three chapters:
Chapter 1, "Introduction", gives an overview of the product
features, applications, and specifications.
Chapter 2, "Installation", describes how to install the PCI-6308.
The layout of PCI-6308 is shown, the connectors specifications, and the notes for installation are described.
Chapter 3, "Register Format", describes details on-board register
format. It is very useful to understand the lowest level of controlling the boards.
Chapter 4, "Operation Theorem", describes more details about the
operation of versatile functions, including DIO and DA systems.
Chapter 5, "C /C++ Library", describes the functions in the DOS
C/C++ Library and Windows 95 DLL.
Chapter 6, "Software Utility", describes how to run the utility
program included in the software CD.
Introduction • 1
1
Introduction
The PCI-6308 series products are isolated analog output cards. The PCI-6308 series includes three cards:
PCI-6308V: Isolated 8-CH voltage output card
PCI-6308A: Isolated 8-CH voltage and current output card
PCI-6304V: Isolated 4-CH voltage output card
The PCI-6308V is hig h-performance, 12-bit analog output boards with PCI interface. The PCI-6308V provide 8-CH identical voltage output channels, each of channel has: (1) bipolar ±10V voltage outputs; (2) unipolar 0~+10V voltage output; and (3) unipolar 0 to user defined voltage output. The DA chip is the DAC-4814AP that is a state-of-the-
art, fully monotonic, digital to analog converter. This device employs ultra-stable nichrome (NiCr) thin-film resistors to provide monotonicity, low distortion, and low differential linearity error over long period of time.
The PCI-6304V is for large quantity OEM only. It is fully compatible with PCI-6308V, but with four voltage-output channels only. The
functionality, software interface and detail operation of PCI-6304V is exactly the sam e as PCI-6308V. Therefore, there will have no more description about PCI -6304V in this manual.
The PCI -6308A is the combination of PCI-6308V with an 8-CH current output extended board called EXP -8A. The EXP-8A board includes 8
precision voltage-to-current converters/transmitters, which convert voltage output of PCI-6308V to current source output. The EXP -8A is piggy back on the PCI -6308V. Therefore, the PCI-6308A provides not only voltage output but also current output. The total number of analog
output channel is still 8.
2 • Introduction
1.1 Features
l 32-bit PCI-Bus, Plug and Play, complies with PCI local bus
specification Rev 2.1
l 8-CH 12-bit voltage output l Fully isolation protection from PC power to external device l 2500Vrms isolation voltage l Unipolar or bipolar voltage output range l Current output available on PCI -6308A, l On board DC-to-DC converter provide voltage and current source l 4 Isolated digital input channels l 4 Isolated digital output channels
1.2 Applications
l Industrial Process Control l Pressure / Temperature Transmitter l Current Source for Testing Equipment l Servo Control
1.3 Specifications
Voltage Output
l Numbers of channel:
8 channel for PCI -6308V and PCI-6308A
l Converter: DAC4814AP or equivalent l Conversion type: Monolithic multiplying l Resolution: 12-bit no missing code (11-bit guarantee) l Voltage output range: (jumper selectable)
q Bipolar: ±10V q Unipolar: 0~10V q User defined unipolar: 0~ user defined voltage.
l Voltage output driving capability: ± 5mA min. l Settling time: 16 µ second (-10V to +10V) l DA update time: 90 µ second for four channels simultaneously l Gain error: ± 0.2 % (max, without trimming, with internal 10.0V
reference voltage)
Introduction • 3
l Differential Linearity Error: ± 0.002 % Full Scale Range l Data Transfer: Programmed I/O l Isolation voltage: 2500Vrms (photo isolation PC9D10) l Output initial status: 0V (after RESET or POWER-ON)
Current Output
l Numbers of channel:
8 channel for PCI -6308A
l Current output range: (software programmable)
q 0~20mA, 4~20mA, 5~25mA.
l Voltage to current converter: B.B. XTR110 or equivalent l Settling time: 17 µ second (0~20mA) l Slew rate: 1.3mA / µs l Non-linearity: ± 0.01 % of Span l Span error: 0.3% of initial Span l Output resistance: 10 Ohms maximum l Output initial status: 0mA (after RESET or POWER-ON)
Digital Input
l Numbers of digital input channel: 4 isolated input channel l Photo isolator: PC814 or equivalent l Isolation voltage: 5000Vrms l Input voltage: up to 34Vdc
qLogic “L”: 0~3.0V qLogic “H”: 3.2~34V
l Input resist ance: 4.7KΩ @ 0.5W
Digital Output
l Numbers of digital output channel: 4 isolated output channel l Photo isolator: PC817 or equivalent l Isolation voltage: 5000Vrms l Output type: Photo-coupler transistors, open collector up to 35Vdc l Sink current: 50mA maximum
4 • Introduction
Power Supply source
l +15V output (Pin #7 on CN1):
q200mA maximu m (for PCI-6308V) q20mA maximum (for PCI-6308A, all current output channel is
25mA)
l - 15V output (Pin #25 on CN1):
q200mA maximum (for PCI -6308V) q200mA maximum (for PCI-6308A, all current output channel is
25mA)
General Specifications
l Operating temperature: 0° ~ 55°C l Storage temperature: -20° ~ 80°C l Humidity: 5 ~95% non-condensing l Connector: 37-pin D-sub connector (female) l Bus interface: 32-bit slave PCI bus l Power consumption:
qPCI-6308V: +5VDC @ 220mA typical +12VDC @ 175mA typical qPCI-6308A: +5VDC @ 220mA typical
+12VDC @ 250mA typical
or +12VDC @ 530mA (when all current output
channels are 25mA)
l PCB Dimension: Half -sized 172 mm x 105 mm
1.4 Software Supporting
ADLink provides versatile software drivers and packages for users’ different approach to built-up a system. We not only provide programming library such as DLL for many Windows systems, but also
provide drivers for many software package such as LabVIEW®, HP VEETM, DASYLabTM, InTouchTM, InControlTM, ISaGRAFTM, and so on.
All the software options are included in the ADLink CD. The non-free software drivers are protected with serial licensed code. Without the
software serial number, you can still install them and run the demo version for two hours for demonstration purpose. Please contact with your dealer to purchase the formal license serial code.
Introduction • 5
1.4.1 Programming Library
For customers who are writing their own programs, we provide function libraries for many different operating systems, including:
u DOS Library: Borland C/C++ and Microsoft C++, the functions
descriptions are included in this user’s guide.
u Windows 95 DLL: For VB, VC++, Delphi, BC5, the functions
descriptions are included in this user’s guide.
u PCIS-DASK: Include device drivers and DLL for Windows 98,
Windows NT and Windows 2000. DLL is binary compatible across Windows 98, Windows NT and Windows 2000. That
means all applications developed with PCIS-DASK are compatible across Windows 98, Windows NT and Windows
2000. The developing environment can be VB, VC++, Delphi, BC5, or any Windows programming language that allows calls to
a DLL. The user’s guide and function reference manual of PCIS­DASK are in the CD. Please refer the PDF manual files under
\\Manual_PDF\Software\PCIS-DASK The above software drivers are shipped with the board. Please refer to the “Software Installation Guide” to install these drivers.
1.4.2 PCIS-LVIEW: LabVIEW® Driver
PCIS-LVIEW contains the VIs, which are used to interface with NI’s LabVIEW® software package. The PCIS-LVIEW supports Windows
95/98/NT/2000. The LabVIEW® drivers are free shipped with the board. You can install and use them without license. For detail
information about PCIS-LVIEW, please refer to the user’s guide in the CD. (\\Manual_PDF\Software\PCIS-LVIEW)
1.4.3 PCIS-VEE: HP -VEE Driver
The PCIS-VEE includes the user objects, which are used to interface with HP VEE software package. PCIS-VEE supports Windows 95/98/NT. The HP-VEE drivers are free shipped with the board. You can install and use them without license. For detail information about
PCIS-VEE, please refer to the user’s guide in the CD. (\\Manual_PDF\Software\PCIS-VEE)
1.4.4 DAQBenchTM: ActiveX Controls
We suggest the customers who are familiar with ActiveX controls and VB/VC++ programming use the DAQBenchTM ActiveX Control components library for developing applications. The DAQBenchTM is designed under Windows NT/98. For more detailed information about DAQBench, please refer to the user’s guide in the CD.
(\\Manual_PDF\Software\DAQBench\DAQBench Manual.PDF)
6 • Introduction
1.4.5 DASYLabTM PRO
DASYLab is an easy-to-use software package, which provides easy­setup instrument functions such as FFT analysis. Please contact us to get DASYLab PRO, which include DASYLab and ADLink hardware
drivers.
1.4.6 PCIS-DDE: DDE Server and InTouchTM
DDE stands for Dynamic Data Exchange specifications. The PCIS­DDE includes the PCI cards’ DDE server. The PCIS-DDE server is included in the ADLINK CD. It needs license. The DDE server can be used conjunction with any DDE client under Windows NT.
1.4.7 PCIS-ISG: ISaGRAFTM driver
The ISaGRAF WorkBench is an IEC1131-3 SoftPLC control program development environment. The PCIS-ISG includes ADLink products’ target drivers for ISaGRAF under Windows NT environment. The
PCIS-ISG is included in the ADLINK CD. It needs license.
1.4.8 PCIS-ICL: InControlTM Driver
PCIS-ICL is the InControl driver which support the Windows NT. The PCIS-ICL is included in the ADLINK CD. It needs license.
1.4.9 PCIS-OPC: OPC Server
PCIS-OPC is an OPC Server, which can link with the OPC clients. There are many software packages on the market can provide the OPC clients now. The PCIS-OPC supports the Windows NT. It needs license.
Installation • 7
2
Installation
This chapter describes how to install the PCI-6308. Please follow the follow steps to install the PCI -6308 family products.
Check what you have (section 2.1) Unpacking (section 2.2) Check the PCB and jumper location(section 2.3) Install the hardware and setup and jumpers (section 2.4, 2.7) Install the software drivers and run utility to test (section 2.5) Cabling with external devices (section 2.6, 2.8)
2.1 What You Have
In addition to this User's Manual, the package includes the following items:
l PCI-6308V (or PCI -6308A) Board l ADLINK CD l Software Installation Guide
If any of these items is missing or damaged, contact the dealer from whom you purchased the product. Save the shipping materials and
carton in case you want to ship or store the product in the future.
8 • Installation
2.2 Unpacking
Your PCI-6308 series card contains sensitive electronic components that can be easily damaged by static electricity.
The card should be done on a grounded anti-static mat. The operator should be wearing an anti-static wristband, grounded at the same point as the anti-static mat.
Inspect the card module carton for obvious damage. Shipping and handling may cause damage to your module. Be sure there are no
shipping and handing damages on the module before processing. After opening the card module carton, exact the system module and
place it only on a grounded anti-static surface component side up.
Note: DO NOT APPLY POWER TO THE CARD IF IT HAS BEEN
DAMAGED.
You are now ready to install your PCI-6308 series card.
Installation • 9
2.3 PCI-6308V Layout
Figure 2.1 PCI-6308V Layout
10 • Installation
2.4 Hardware Installation Outline
2.4.1 Hardware configuration
The PCI cards (or CompactPCI cards) are equipped with plug and play PCI controller, it can requests base addresses and interrupt according to PCI standard. The system BIOS will install the system resource based
on the PCI cards’ configuration registers and system parameters (which are set by system BIOS). Interrupt assignment and memory usage (I/O port locations) of the PCI cards can be assigned by system BIOS only. These system resource assignment is done on a board -by-board basis. It is not suggested to assign the system resource by any other methods.
2.4.2 PCI slot selection
The PCI card can be inserted to any PCI slot without any configuration for system resource.
2.4.3 Installation Proce dures
1. Turn off your computer
2. Turn off all accessories (printer, modem, monitor, etc.) connected to your computer.
3. Remove the cover from your computer.
4. Setup jumpers on the PCI or CompactPCI card.
5. Select a 32-bit PCI slot. PCI slot are short than ISA or EISA slots, and are usually white or ivory.
6. Before handling the PCI cards, discharge any static buildup on your body by touching the metal case of the computer. Hold the edge and do not touch the components.
7. Position the board into the PCI slot you selected.
8. Secure the card in place at the rear panel of the system.
2.5 Device Installation for Windows Systems
Once Windows 95/98/2000 has started, the Plug and Play function of Windows system will find the new NuDAQ/NuIPC cards. If this is the first time to install NuDAQ/NuIPC cards in your Windows system, you will be
informed to input the device information source. Please refer to the “Software Installation Guide” for the steps of installing the device.
Installation • 11
2.6 Connector Pin Assignment
The pin assignment of PCI -6308V/6308A/6304V are shown in Figure 2.2
DI3 DI2 DI1 DI0
GND
ExtVref
+15V
A.GND
(A6)
V6
A.GND
(A4) V4
A.GND
(A2)
V2
A.GND
(A0)
V0
(1) (2) (3) (4) (5) (6) (7) (8) (9)
(10)
(11)
(12) (13) (14) (15) (16) (17) (18) (19)
DO3 DO2 DO1 DO0 GND
-15V A.GND (A7) V7 A.GND (A5) V5 A.GND (A3) V3 A.GND (A1) V1
(20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37)
Figure 2.2 Pin Assignment of CN1 connector
Legend:
Vn : the voltage output of channel n for PCI -6308V/6308A, n=0~7 for PCI -6304V, n=0~4 An : the current output of channel n An is used for PCI -6308A only, n=0~7
ExtVref: external reference voltage for voltage output AGND : Ground of analog output channels and +/-15V
-15V : -15V voltage output +15V: +15V voltage output
DIx : Digital input channel x DOx : Digital Output channel x
GND : Isolated ground of digital input and output
2.7 Jumper Setting
12 • Installation
The PCI -6308‘s voltage output channels can be configured as different voltage range. Each output channel and its corresponding jumpers are
listed as follow.
Channel
NO.
Corresponding Jumper
For output mode
(Unipolar/Bipolar)
Corresponding Jumper
For reference voltage
sources (external/internal)
CH0 JP1 JP9 JP11 CH1 JP2 JP9 JP11 CH2 JP3 JP9 JP11 CH3 JP4 JP9 JP11 CH4 JP5 JP10 JP12 CH5 JP6 JP10 JP12 CH6 JP7 JP10 JP12 CH7 JP8 JP10 JP12
The output range is dependent on D/A converter's reference voltage source and output mode (Bipolar or Unipolar). The JP11 and JP12 are used to set reference voltage sources comes internally or externally. The external reference voltage input (ExtVref) is on the connector CN1.
The JP1~8 and JP9/10 set the output mode to be unipolar or bipolar. The different output ranges of output CH0 are shown as the following
table. The settings for reminder channels(CH1 ~ CH7) should follow the same rules as CH0. The example setting of CH0 is shown the Table 2.1.
Output Range JP1 JP9 JP11
-10V to +10V Bipolar
(Default)
0V to +10V
Unipolar
0V to ExtRef
Voltage
Unipolar
Table 2.1 Example setting of CH0
1 2
3
1 2
3
1 2
3
1 2
3
1 2 3
1 2 3
1 2
3
1 2
3
1 2 3
Installation • 13
2.8 Termination Board Connection
The PCI-6308 is equipped with the DB-37 connector. The available termination boards include:
l ACLD-9137: A general purposed 37-pin screw terminal. The ACLD-
9137 is with male DB-37 connector, which is used to directly attach on the PCI -6308.
l ACLD-9188: A general purposed 37-pin screw terminal, which
equipped with heavy-duty screw terminal
l DIN-37D: A general purposed 37-pin screw terminal with DIN-socket,
which provide the easily installation socket. DIN-37D is shipped with a 37-pin cable
14 • Registers Format
3
Registers Format
The detailed descriptions of the registers format are specified in this chapter. This information is quite useful for the programmers who wish
to handle the card by low-level programming. However, we suggest user have to understand more about the PCI interface then start any low-level programming. In addition, the contents of this chapter can help users understand how to use software driver to manipulate this card.
3.1 PCI PnP Registers
This PCI card functions as a 32 -bit PCI target device to any master on the PCI bus. There are three types of registers: PCI Configuration Registers (PCR), Local Configuration Registers (LCR) and PCI-6308 registers.
The PCR, which is compliant to the PCI-bus specifications, is initialized and controlled by the plug & play (PnP) PCI BIOS. User‘s can study the
PCI BIOS specification to understand the operation of the PCR. Please contact with PCISIG to acquire the specifications of the PCI interface.
The PCI bus controller PCI-9050 is provided by PLX technology Inc. (www.plxtech.com). For more detailed information of LCR, please visit
PLX technology’s web site to download relative information. It is not necessary for users to understand the details of the LCR if you use the software library. The PCI PnP BIOS assigns the base address of the LCR. The assigned address is located at offset 14h of PCR.
The PCI-6308 registers are shown in the next section. The base address, which is also assigned by the PCI PnP BIOS, is located at
offset 18h of PCR. Therefore, users can read the 18h of PCR to know the base address by using the BIOS function call.
Please do not try to modify the base address and interrupt which assigned by the PCI PnP BIOS, it may cause resource confliction in
your system.
Registes Format • 15
3.2 I/O Address Map
Most of the PCI -6308 registers are 16 bits. The users can access these registers by 16 bits I/O instructions. The following table shows the
registers map, including descriptions and their offset addresses relative to the base address.
I/O Address Write Read
Base + 00h DA Channel #3 value DA Sent Status Base + 02h DA Channel #2 value -­Base + 04h DA Channel #1 value -­Base + 06h DA Channel #0 value -­Base + 08h DA Channel #7 value -­Base + 0Ah DA Channel #6 value -­Base + 0Ch DA Channel #5 value -­Base + 0Eh DA Channel #4 value -­Base + 10h ~3Eh Reserved Base + 40h Digital Input Digital Output
Table 3.1 I/O Address Map
3.2 DA Output Register
There are 8 analog output channels on PCI-6308. Every channel is with 12-bit.
Address: BASE + 00(hex) ~ BASE+ 0E(hex) Attribute: write only Data Format:
Bit 7 6 5 4 3 2 1 0
BASE+0 DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0
Bit 15 14 13 12 11 10 9 8
BASE+1 -- -- -- -- DA11 DA10 DA9 DA8
16 • Registers Format
3.3 Digital Output Register
D0~D3 is the digital output signal written to output channel. D4~D7 don’t care.
Address: BASE + 40(hex) Attribute: write only Data Format:
Bit 7 6 5 4 3 2 1 0
BASE+20 X X X X DO3 DO2 DO1 DO0
3.4 Digital Input Ports
D4~D7 is digital input signal from CN1. D0~D3 is read back signal from digital output channel.
Address: BASE + 40(hex) Attribute: read only Data Format:
Bit 7 6 5 4 3 2 1 0
BASE+20 DI3 DI2 DI1 DI0 DO3 DO2 DO1 DO0
Operation Theorem • 17
4
Operation Theorem
In this chapter, the detail operation theorem of PCI-6308V and PCI­6308A is described. Before programming or applying the PCI-6308
cards to your applications, please go through this chapter to understand the features of the functions.
4.1 Voltage Output
There are 8 voltage output channels for PCI-6308V and 6308A. For voltage output operation, you have to understand:
1. How to set the voltage output range.
2. The DA data format.
4.1.1 Voltage Output Range Selection
The DA converters used on the PCI-6308 are Burr-Brown DAC4814AP. This DAC is 12 bits resolution with bipolar or unipolar output. The voltage output range is jumper selectable by JP1~JP8. Please refer to section 2.7 for detail of the jumper setting. The selectable range is +/-10V, 0~+10V and 0V ~ user defined voltage.
The user-defined voltage is input from the DB-37 connector’s pin #6.
4.1.2 DA data format
The DA data format is 12 -bits unsigned value for all channels, that is, the value is in binary format. The digital value range from 0(0X000) to +4095(0xFFF) is corresponding to full span of the output range, which is setting by jumper. Table 4.1 shows the relation between the digital value and the analog output voltage.
18 • Operation Theorem
When the applications use smaller voltage range, the PCI -6308 can still be applied. For example, if the application voltage range is uni-
polar 0~5V, the user just need to set jumper to external reference mode, supply 5V from CN1 connector.
For +/-10V mode:
Digital Value HEX value Output Voltage
4095 0xFFF +9.99969V 2048 0x800 0.00000V
0 0x000 -10.00000V
For 0~+10V mode:
Digital Value HEX value Output Voltage
4095 0xFFF +9.99969V 2048 0x800 5.00000V
0 0x000 0.00000V
For 0V ~ Vuser mode:
Digital Value HEX value Output Voltage
4095 0xFFF +Vuser 2048 0x800 +Vuser/2
0 0x000 0.00000V
Table 4.1 DA Voltage Output Format
The following table shows the address of every analog output ports relative to the base address. Note that the base address is assigned
by the PCI BIOS. The current output control of the PCI-6308A is described in Section 4.3.
4.2 Analog Output Status Register
The DAC is with series bus hence it takes times to send digital value out. The data transfer time for every DA data write takes 16µs, therefore the software driver must wait for 16µs before send another data to any analog output port. While the DA value is sending, the Data_Send bit is ‘H’. The software driver should check this bit before write any data to output port. This register is read only.
Base D16~D1 D0
0x00 X Data_Send
Operation Theorem • 19
4.3 Current Output and Range Control
The current output is implemented by a precision voltage-to-current converter XTR110. The current output channel n (An) is control by
the voltage of channel n (Vn). The block diagram of the current output channels is shown in Fig 4.1.
XTR110
50 Ohm
On Board +15V
Vn
An
External Load (Resister RL = 250 Ohm typical)
A.GND
Io
Current Output Range Control
Figure 4.1 Current output circuit
The PCI-6308A provides an on board +15V power supply. Each current output channel is a current source, which is controlled by the voltage of the corresponding voltage output channel. For example, voltage output channel 3 control the current source channel 3.
The output current range is programmable. All the 8 current channels on PCI-6308A are controlled by current range control register. There
are three kinds of output current range. Refer to the following table and Section 5.2.9 for programming the current range by _6308_I2V_Control function.
Mode
Input Voltage
Range
Output Current
Range
0 0~10V 0~20 mA 1 0~10V 5~25 mA 2 -- -­3 0~10V 4~20 mA
4.4 Isolated Digital Output
20 • Operation Theorem
The isolated digital output circuits are as following. The output is open collector type. The isolation voltage between the isolated output and
the host power signals is 5000 Vrms.
4.5 Isolated Digital Input
The isolated digital input circuits are as following. The input is equipped with current -limit resistor. The input voltage could up to 34V.
The isolation voltage between the isolated input and the host power signals is 5000 Vrms.
Photo
Coupler
GND
DOn ( n=1~4)
GND
Din (n=1~4)
2.4KΩ
1/2W
C/C++ Library • 21
5
C/C++ Library
This chapter describes the software library for operating this card. Only the functions in DOS library and Windows 95 DLL are described.
Please refer to the PCIS-DASK function reference manual, which included in ADLINK CD, for the descriptions of the Windows 98/NT/2000 DLL functions.
The function prototypes and some useful constants are defined in the header files LIB directory (DOS) and INCLUDE directory (Windows
95). For Windows 95 DLL, the developing environment can be Visual Basic 4.0 or above, Visual C/C++ 4.0 or above, Borland C++ 5.0 or above, Borland Delphi 2.x (32-bit) or above, or any Windows
programming language that allows calls to a DLL. It provides the C/C++, VB, and Delphi include files.
5.1 Libraries Installation
Please refer to the “Software Installation Guide” for the detail information about how to install the software libraries for DOS, or
Windows 95 DLL, or PCIS-DASK for Windows 98/NT/2000. The device drivers and DLL functions of Windows 98/NT/2000 are
included in the PCIS-DASK. Please refer the PCIS-DASK user’s guide and function reference, which included in the ADLINK CD, for detailed
programming information.
5.2 Programming Guide
22 • C/C++ Library
5.2.1 Naming Convention
There are 7 function calls provided by the C Language Library. All the functions of PCI-6308 are covered in this library. Its capabilities include D/A conversion, Digital Input and Output, etc.
The functions of PCI-6308 software driver are using full-names to represent the functions' real meaning. The naming convention rules are:
In DOS Environment: _{hardware_model}_{action_name}. e.g.
_6308_Initial()
.
All functions in PCI -6308 driver are with 6308 as {hardware_model}. But they can be used by PCI -6308V, PCI-6308A.
In order to recognize the difference between DOS library and Windows 95 library, a capital "W" is put on the head of each function name of the Windows 95 DLL driver. e.g.
W_6308_Initial()
.
5.2.2 Data Types
We defined some data type in Pci_6308.h (DOS) and Acl_pci.h (Windows 95). These data types are used by PCI-6308/6216 library.
We suggest you to use these data types in your application programs. The following table shows the data type names and their range.
Type Name Description Range
U8 8-bit ASCII character 0 to 255
I16 16-bit signed integer -32768 to 32767
U16 16-bit unsigned integer 0 to 65535
I32 32-bit signed integer -2147483648 to 2147483647
U32 32-bit single-precision
floating-point
0 to 4294967295
F32 32-bit single-precision
floating-point
3.402823E38 to 3.402823E38
F64 64-bit double-precision
floating-point
-1.797683134862315E308 to
1.797683134862315E309
Boolean Boolean logic v alue TRUE, FALSE
C/C++ Library • 23
5.3 _6308_Initial
@ Description
This function is used to initialize PCI 6308. Every PCI_6308 has to be initialized by this function before calling other functions.
@ Syntax
C/C++ (DOS)
U16 _6308_Initial (U16 *existCards, PCI_INFO *pciInfo)
C/C++ (Windows 95)
U16 W_6308_Initial (U16 *existCards, PCI_INFO *pciInfo)
Visual Basic (Windows 95)
W_6308_Initial (existCards As Integer, pciInfo As
PCI_INFO) As Integer
@ Argument
existCards: number of existing PCI-6308 cards info: relative information of the PCI-6308 cards
@ Return Code
ERR_NoError ERR_BoardNoInit ERR_PCIBiosNotExist
5.4 _6308_Software_Reset
@ Description
This function is used to reset the I/O port configuration. Note that this function can not re-start the PCI bus and all the hardware
setting won’t be change either.
@ Syntax
C/C++ (DOS)
void _6308_Software_Reset (U16 cardNo)
C/C++ (Windows 95)
void W_6308_Software_Reset (U16 cardNo)
Visual Basic (Windows 95)
W_6308_Software_Reset (ByVal cardNo As Integer)
@ Argument
cardNo: the card number of PCI-6308 card
@ Return Code
ERR_NoError
24 • C/C++ Library
5.5 _6308_DA
@ Description
This function is used to write data to D/A converters. There are 8 Digital-to-Analog conversion channels on the PCI-6308. respectively. The resolution of each channel is 12 bits without sign; i.e. the digital value range from 0 (0x000) to +4095 (0xFFF). Please refer to section
4.1.2 for details of DA data format.
@ Syntax
C/C++ (DOS)
U16 _6308_DA (U16 cardNo, U16 chn, I16 DAData)
C/C++ (Windows 95)
U16 W_6308_DA (U16 cardNo, U16 chn, I16 DAData)
Visual Basic (Windows 95)
W_6308_DA (ByVal cardNo As Integer, ByVal chn As
Integer, ByVal DAData As Integer) As Integer
@ Argument
cardNo: The card number of PCI-6308 card Chn: D/A channel number DAData: D/A data value
@ Return Code
ERR_NoError
C/C++ Library • 25
5.6 _6308_DA_0_3
@Description
This function is used to simultaneously write data to D/A converters of channel 0 to channel 3. The resolution of each channel is 12 bits without sign; i.e. the digital value range from 0 to 4095. Please refer to section 4.1.2 for details of DA data format.
@Syntax
c/c++ (DOS)
U16 _6308_DA_0_3(U16 cardNo, I16 DA0_Data, I16
DA1_Data, I16 DA2_Data, I16 DA3_Data)
c/c++ (Windows 95)
U16 W_6308_DA_0_3(U16 cardNo, I16 DA0_Data, I16
DA1_Data, I16 DA2_Data, I16 DA3_Data)
Visual Basic (Windows 95)
W_6308_DA_0_3( ByVal cardNo As Integer , ByVal DA0_Data
As Integer , ByVal DA0_Data As
Integer , ByVal DA2_Data As Integer , ByVal DA3_Data As Integer )
@Argument
cardNo: The card number of PCI-6308 card DA0_Data: Channel 0 D/A data value DA1_Data: Channel 1 D/A data value DA2_Data: Channel 2 D/A data value DA3_Data: Channel 3 D/A data value
@Return Code
ERR_NoError
26 • C/C++ Library
5.7 _6308_DA_4_7
@Description
This function is used to simultaneously write data to D/A converters of channel 4 to channel 7. The resolution of each channel is 12 bits without sign; i.e. the digital value range from 0 to 4095. Please refer to section 4.1.2 for details of DA data format.
@Syntax
c/c++ (DOS)
U16 _6308_DA_4_7(U16 cardNo, I16 DA4_Data, I16
DA5_Data, I16 DA6_Data, I16 DA7_Data)
c/c++ (Windows 95)
U16 W_6308_DA_4_7(U16 cardNo, I16 DA4_Data, I16
DA5_Data, I16 DA6_Data, I16 DA7_Data)
Visual Basic (Windows 95)
W_6308_DA_4_7( ByVal cardNo As Integer , ByVal DA4_Data
As Integer , ByVal DA5_Data As Integer , ByVal DA6_Data As Integer , ByVal DA7_Data As Integer )
@Argument
cardNo: The card number of PCI-6308 card DA4_Data: Channel 4 D/A data value DA5_Data: Channel 5 D/A data value DA6_Data: Channel 6 D/A data value DA7_Data: Channel 7 D/A data value
@Return Code
ERR_NoError
5.8 _6308_Get_DA_Status
@ Description
This function is used to check the DA data sending status. Because the data transfer time for every DA data takes 16.0 µs, the software driver must wait for 16.0 µs before sending another
data to any analog output port. This function should be called before writing any data to output port. While the DA value is sending, the returned value is “1”, otherwise the returned value is “0”.
@ Syntax
C/C++ (DOS)
U16 W_6308_Get_DA_Status (U16 cardNo)
C/C++ Library • 27
C/C++ (Windows 95)
U16 W_6308_Get_DA_Status (U16 cardNo)
Visual Basic (Windows 95)
W_6308_Get_DA_Status (ByVal cardNo As Integer) As
Integer
@ Argument
cardNo: The card number of PCI-6308 cards
@ Return Code
0 (low): no DA value is sending 1 (high): the DA value is sending
5.9 _6308_DI
@ Description
This function is used to read data from digital input ports. There are 4 digital input channels on PCI -6308. The retrieved value is
stored in DIData. Note that
@ Syntax
C/C++ (DOS)
U16 _6308_DI (U16 cardNo, U16 *DIData)
C/C++ (Windows 95)
U16 W_6308_DI (U16 cardNo, U16 *DIData)
Visual Basic (Windows 95)
W_6308_DI (ByVal cardNo As Integer, DIData As Integer)
As Integer
@ Argument
cardNo: the card number of PCI-6308 cards DIData: the value read from digital input port
@ Return Code
ERR_NoError
5.10 _6308_DO
@ Description
This function is used to write data to digital output ports. There are 4 digital output channels on PCI-6308, i.e. the output value ranges
from 0 to 15.
@ Syntax
C/C++ (DOS)
28 • C/C++ Library
U16 _6308_DO (U16 cardNo, U16 DOData)
C/C++ (Windows 95)
U16 W_6308_DO (U16 cardNo, U16 DOData)
Visual Basic (Windows 95)
W_6308_DO (ByVal cardNo As Integer, ByVal DOData As
Integer) As Integer
@ Argument
cardNo: the card number of PCI-6308 cards DOData: the value written to digital output port
@ Return Code
ERR_NoError
5.11 _6308_I2V_Control
@ Description
This function is used to set PCI-6308A voltage-to-current mode control. There are three modes of range for PCI-6308A. Please refer to section 3.3 for the detailed description of voltage to current conversion. The three voltage-to-current modes are:
Mode
Input Voltage
Range
Output Current
Range
I_0to20mA 0~10V 0~20 mA I_4to20mA 0~10V 4~20 mA I_5to25mA 0~10V 5~25 mA
@ Syntax
C/C++ (DOS)
U16 _6308_I2V_Control (U16 cardNo, U16 ctrl)
C/C++ (Windows 95)
U16 W_6308_I2V_Control (U16 cardNo, U16 ctrl)
Visual Basic (Windows 95)
W_6308_I2V_Control (ByVal cardNo As Integer, ByVal ctrl
As Integer) As Integer
@ Argument
cardNo: the card number of PCI-6308A cards ctrl: the voltage-to-current mode, the valid
modes are shown in the above table. The constants are defined in Pci_6308.h (DOS) and Acl_pci.h (Windows 95).
@ Return Code
ERR_NoError
Product Warranty/Service • 29
Product Warranty/Service
Seller warrants that equipment furnished will be free form defects in material and workmanship for a period of one year from the confirmed date of purchase of the original buyer and that upon written notice of any such defect, Seller will, at its option, repair or replace the defective item under the terms of this warranty, subject to the provisions and
specific exclusions listed herein. This warranty shall not apply to equipment that has been previously
repaired or altered outside our plant in any way as to, in the judgment of the manufacturer, affect its reliability. Nor will it apply if the
equipment has been used in a manner exceeding its specifications or if the serial number has been removed.
Seller does not assume any liability for consequential damages as a result from our products uses, and in any event our liability shall not
exceed the original selling price of the equipment. The equipment warranty shall constitute the sole and exclusive
remedy of any Buyer of Seller equipment and the sole and exclusive liability of the Seller, its successors or assigns, in connection with
equipment purchased and in lieu of all other warranties expressed implied or statutory, including, but not limited to, any implied warranty of merchant ability or fitness and all other obligations or liabilities of seller, its successors or assigns.
The equipment must be returned postage-prepaid. Package it securely and insure it. You will be charged for parts and labor if you lack proof of date of purchase, or if the warranty period is expired.
Loading...