ADLINK Technology PCI-8136 User Manual

Add to My manuals
84 Pages

advertisement

ADLINK Technology PCI-8136 User Manual | Manualzz

PCI-8136

General Purpose

Multi-Function

I/O Card

User’s Manual

Manual Rev. 2.00

Revision Date: July 5, 2007

Part No: 50-11120-1010

Advance Technologies; Automate the World.

Copyright 2007 ADLINK TECHNOLOGY INC.

All Rights Reserved.

The information in this document is subject 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 manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.

Trademarks

NuDAQ, NuIPC, DAQBench are registered trademarks of ADLINK

TECHNOLOGY INC.

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 top priority for ADLINK Technology Inc.

Please contact us should you require any service or assistance.

Web Site:

Sales & Service:

TEL:

FAX:

Address:

ADLINK TECHNOLOGY INC.

http://www.adlinktech.com

[email protected]

+886-2-82265877

+886-2-82265717

9F, No. 166, Jian Yi Road, Chungho City,

Taipei, 235 Taiwan

Please email or FAX this completed service form for prompt and satisfactory service.

Company Information

Company/Organization

Contact Person

E-mail Address

Address

Country

TEL

Web Site

FAX:

Product Information

Product Model

Environment

OS:

M/B: CPU:

Chipset: BIOS:

Please give a detailed description of the problem(s):

Table of Contents

Table of Contents..................................................................... i

List of Tables.......................................................................... iii

List of Figures ........................................................................ iv

1 Introduction ........................................................................ 1

1.1

Features............................................................................... 2

1.2

Specifications....................................................................... 2

1.3

Software Support ................................................................. 4

2 Installation .......................................................................... 5

2.1

What You Have.................................................................... 5

2.2

Outline Drawing ................................................................... 6

2.3

Hardware Installation ........................................................... 7

Hardware configuration ................................................... 7

PCI slot selection ............................................................ 7

Installation Procedures ................................................... 7

Troubleshooting .............................................................. 7

2.4

Software Installation ............................................................ 8

2.5

CN1: Main Connector .......................................................... 8

2.6

CN2: External Power Input ............................................... 10

2.7

CN3 Pin Assignments: DB25 Connector ........................... 11

2.8

CN4 Pin Assignments: DB9 Connector ............................. 11

3 Signal Connections.......................................................... 13

3.1

Analog Input....................................................................... 14

3.2

Analog Output.................................................................... 16

3.3

Digital Input........................................................................ 17

3.4

Digital Output ..................................................................... 19

3.5

Pulse Input (Encoder Counter) .......................................... 21

3.6

Pulse Output (Pulse Generator) ........................................ 25

3.7

VCC Pin ............................................................................. 26

4 Operation Theory ............................................................. 27

4.1

AD Conversion and Preloaded Trigger.............................. 28

ADC .............................................................................. 28

Voltage Compare .......................................................... 28

Table of Contents i

4.2

DA Conversion................................................................... 29

DA Output by Trigger Source ....................................... 29

4.3

DIO .................................................................................... 30

Digital Input ................................................................... 30

Digital Output ................................................................ 31

4.4

Pulse Input and Position Compare .................................... 32

Pulse Input .................................................................... 32

Encoder Counter Value Capture (latch) ........................ 33

Encoder Counter Value Compare ................................. 34

4.5

Pulse Output ...................................................................... 35

4.6

Interrupt Control ................................................................. 37

5 Function Library................................................................ 41

5.1

List of Functions................................................................. 42

5.2

Initialization ........................................................................ 44

5.3

System Parameters ........................................................... 46

5.4

Digital I/O ........................................................................... 48

5.5

Analog I/O .......................................................................... 50

5.6

Pulse I/O ............................................................................ 55

5.7

Interrupt ............................................................................. 60

6 Appendix............................................................................ 65

6.1

Auto Calibration Utility........................................................ 65

6.2

Analog Output Error Test ................................................... 71

Warranty Policy ..................................................................... 75 ii Table of Contents

List of Tables

Table 2-1: CN1: Main Connector ............................................... 8

Table 2-2: CN2: External Power Input .................................... 10

Table 4-1: _8136_S_Get_Int_Status ....................................... 38

List of Tables iii

List of Figures

Figure 2-1: PCB Layout of the PCI-8136 ..................................... 6

Figure 3-1: Analog input circuit .................................................. 15

Figure 3-2: Analog output circuit ................................................ 16

Figure 3-3: Digital input circuit.................................................... 17

Figure 3-4: Digital output circuit ................................................. 19

Figure 3-5: Pulse input (encoder counter) circuit ....................... 22

Figure 3-6: Connection to line driver output ............................... 23

Figure 3-7: Connect to open collector output ............................. 24

Figure 3-8: Pulse output (pulse generator) circuit ...................... 26 iv List of Figures

1 Introduction

The PCI-8136 is a multi function DAQ card with 6-CH AD for signal measurement, and 6-CH 16-bit DA for precise voltage output.

It also has six-channels 32-bit differential encoder counters and six pulse train generators, both supporting three kinds of differential pulse types: Out/Dir, A/B phase, CW/CCW. The PCI-8136 has

17 NPN type digital input channels and 6 open collector type digital output. All digital I/O are photo coupler isolated. The PCI-8136 also has a 24-bit programmable timer for users to generate a constant timer interval.

The PCI-8136 provides Windows DLL for users to easily develop their own applications. It supports Windows 95/98/NT/2000/XP/

Vista platform. The development environment for Windows is compatible with Visual Basic, Visual Basic .Net, Visual C++, Visual

C++.Net, C++ Builder, and Delphi. Since this is a PCI 32-bit interface card, the PCI-8136 will only support Borland C++ 3.1 in a

DOS environment.

Introduction 1

2

1.1

Features

The PCI-8136 provides ADPIO functions for users. The ADPIO stands for Analog/Digital/Pulse Input/Output. The following list summarizes the main features of the PCI-8136.

X

X

X

X

X

X

X

X

X

X

X

X

32-bit PCI-bus, plug and play

6 channels 16-bit analog output

6 channels analog input

19 channels isolated digital input

7 channels open collector digital output

Programmable interrupt sources

6 differential types 32-bit encoder counters

6 differential type pulse generators

One 24-bit programmable timer

Software supports maximum up to 4 cards

Function library for DOS and Windows 95/98/NT/2000/XP/

Vista

Compact, half size PCB

1.2

Specifications

Analog Input

X

X

X

X

6 differential input channels

Input range:

Z Voltage: ±10 V

Z Current: ±20 mA (manually soldering 124ohms resistor)

Input impedance:

Z

Z

10

12

Ohms || 100pF (voltage mode)

124Ohms (current mode)

Sampling rate: 133 kHz multiplexing

Introduction

Analog Output

X

X

X

X

X

6 output channels

Output range: bipolar, ±10V

16-bit DAC resolution, 14-bit accuracy guaranteed

Settling time: 2 µ second

Voltage output drive: 5 mA max.

Digital Input

X

X

X

X

X

19 input channels for NPN type sensor

Input impedance: 4.7 K Ohms

Max. Current: 20 mA

Isolated voltage: 2500 V

RMS

Throughput: 10 kHz (0.1 ms)

Digital Output

X

X

X

X

X

7 Output channels

Output type: Darlington transistor with open collector type

(ULN2003A)

Sink current:

Z 90 mA/Ch (typical)

Z 150 mA/Ch (max.)

Z 500 mA/total

Isolated voltage 2500 V

RMS

Throughput 10 kHz (0.1 ms)

Pulse Input (Encoder Counter)

X

X

X

X

X

6 differential input channels

32-bit counter for AB-phase, CW/CCW, Pulse/Direction modes

2500 V

RMS

optical isolation

Maximum pulse input frequency: 2 MHz

32-bit encoder counter comparison

Introduction 3

4

Pulse Output (Pulse Generator)

X

X

X

6 output channels with differential line drivers

Pulse command type: CW/CCW, Pulse/Direction, A/B

Phase

Maximum pulse rate: 500 kHz with 1µ second pulse width.

Timer

X

X

One 24-bit programmable timer

Base clock: 33 MHz from PCI bus

General Specifications

X

X

X

X

X

X

Connectors:

Z 100-pin SCSI-type connector

Z DB25 female connector

Z DB9 male connector

Operating Temperature: 0

°

C - 50

°

C

Storage Temperature: -20 ° C - 80 ° C

Humidity: 5 - 85%, non-condensing

Power Consumption:

Z

Z

Slot power supply(input): +5V DC ± 5%, 900mA max.

External power supply(input): +24V DC ± 5%, 500mA max.

Z External power supply(output): +5V DC ± 5%, 500mA, max.

Dimension: 164mm(L) X 98.4mm(H)

1.3

Software Support

For the customers who are writing their own programs, we provide a programming library for Borland C/C++ 3.1 under DOS and DLL for Windows 95/98/NT/2000/XP/Vista. These function libraries are shipped with the board.

Introduction

2 Installation

This chapter describes how to install the PCI-8136 hardware and software correctly. Please follow the following steps.

X

X

X

X

X

Check what you have (section 2.1)

Check the PCB (section 2.2)

Install the hardware (section 2.3)

Install the software driver (section 2.4)

Understand the connectors' pin assignments (the rest of the sections) and wiring the connections

2.1

What You Have

In addition to this User's Guide, the package includes the following items:

X

X

X

X

PCI-8136 General Purpose Multi-I/O Card

DB9 and DB25 Bracket

External power cable for CN1

ADLINK All-in-one Compact Disc

If any item is missing or damaged, contact the dealer from whom you pur¬chased the product. Save the shipping materials and carton in case you want to ship or store the product in the future.

Installation 5

2.2

Outline Drawing

6

Figure 2-1: PCB Layout of the PCI-8136

CN1: Main Connector

CN2: External Power Input

CN3: DB25 Connector for analog input/output and remote I/O

CN4: DB9 Connector for remote I/O

Note: Remote I/O function is reserved for special requests

Installation

2.3

Hardware Installation

2.3.1

Hardware configuration

The PCI-8136 has a plug and play PCI controller on board. The memory usage (I/O port locations) of the PCI card is assigned by system BIOS. The address assignment is done on a board-byboard basis for all PCI cards in the system.

2.3.2

PCI slot selection

Your computer will probably have both PCI and ISA slots. Do not force the PCI card into a PC/AT slot. The PCI-8136 can be used in any PCI slot.

2.3.3

Installation Procedures

1. Read through this manual, and setup the jumper according to your application

2. Turn off your computer, Turn off all accessories (printer, modem, monitor, etc.) connected to computer.

3. Remove the cover from your computer.

4. Select a 32-bit PCI expansion slot. PCI slots are shorter than ISA or EISA slots and are usually white or ivory.

5. Before handling the PCI-8136, discharge any static buildup on your body by touching the metal case of the computer. Hold the edge and do not touch the components.

6. Position the board into the PCI slot you selected.

7. Secure the card in place at the rear panel of the system unit using screw removed from the slot.

2.3.4

Troubleshooting

If your system won't boot or if you experience erratic operation with your PCI board in place, it's likely caused by an interrupt conflict (perhaps because you incorrectly described the ISA setup). In general, the solution, once you determine it is not a simple over-

Installation 7

8 sight, is to consult the BIOS documentation that comes with your system.

2.4

Software Installation

Please refer to the Software Installation Guide.

2.5

CN1: Main Connector

The CN1 is the major connector for the Digital I/O, Pulse IO and

Analog output signals.

No. Name I/O Function No Name I/O Function

21

22

23

24

17

18

19

20

25

26

13

14

15

16

9

10

11

12

3

4

1

2

AGND SG

DAC0 O

DAC1

DAC2

O

O

Analog ground

Analog output, (0)

Analog output, (1)

Analog output, (2)

51 AGND SG

52 DAC3 O

53 DAC4

54 DAC5

O

O

7

8

5 VCC+5V O

6 COM+ P

+5V from 24V

+24V Input for Digital I/O

55

56

COM-

COM-

PG

PG

COM+

COM+

P

P

+24V Input for Digital I/O

+24V Input for Digital I/O

57

58

DI18

DO6

I

O

DI00

DI06

DI07

DO0

DI02

DI10

DI11

DO2

I

I

I

O

I

I

I

O

Digital Input 00

Digital Input 06

Digital Input 07

Digital Output 00

Digital Input 02

Digital Input 10

Digital Input 11

Digital Output 02

59

60

61

62

63

64

65

66

DI01

DI08

DI09

DO1

DI03

DI12

DI13

DO3

I

O

I

I

I

I

I

O

DI04

DI14

DI15

DO4

EA0+

EA0-

EB0+

EB0-

EZ0+

EZ0-

I

O

I

I Digital Input 04

Digital Input 14

Digital Input 15

Digital Output 04

I Encoder A-phase (+), (0) 71

I Encoder A-phase (-), (0) 72

I Encoder B-phase (+), (0) 73

I Encoder B-phase (-), (0) 74

67

68

69

70

I Encoder Z-phase (+), (0) 75

I Encoder Z-phase (-), (0) 76

DI05

DI16

DI17

DO5

EA1+

EA1-

EB1+

EB1-

EZ1+

EZ1-

Analog ground

Analog output, (2)

Analog output, (3)

Analog output, (4)

+24V Ground

+24V Ground

Digital Input 18

Digital Output 06

Digital Input 01

Digital Input 08

Digital Input 09

Digital Output 01

Digital Input 03

Digital Input 12

Digital Input 13

Digital Output 03

I

O

I

I Digital Input 05

Digital Input 16

Digital Input 17

Digital Output 05

I Encoder A-phase (+), (1)

I Encoder A-phase (-), (1)

I Encoder B-phase (+), (1)

I Encoder B-phase (-), (1)

I Encoder Z-phase (+), (1)

I Encoder Z-phase (-), (1)

Table 2-1: CN1: Main Connector

Installation

No. Name I/O

36

37

38

39

32

33

34

35

27

28

29

30

31

44

45

46

47

48

49

50

40

41

42

43

Function No Name I/O Function

EA2+

EA2-

EB2+

EB2-

EZ2+

I

I Encoder A-phase (+), (2) 77

Encoder A-phase (-),(2) 78

I Encoder B-phase (+),(2) 79

I Encoder B-phase (-),(2) 80

I Encoder Z-phase (+),(2) 81

EA3+

EA3-

EB3+

EB3-

EZ3+

I Encoder A-phase (+), (3)

I Encoder A-phase (-), (3)

I Encoder B-phase (+), (3)

I Encoder B-phase (-), (3)

I Encoder Z-phase (+), (3)

EZ2-

EA4+

EA4-

EB4+

I Encoder Z-phase (-),(2) 82

I Encoder A-phase (+),(4) 83

I Encoder A-phase (-),(4) 84

I Encoder B-phase (+),(4) 85

EZ3-

EA5+

EA5-

EB5+

I Encoder Z-phase (-), (3)

I Encoder A-phase (+),(5)

I Encoder A-phase (-),(5)

I Encoder B-phase (+),(5)

EB4-

EZ4+

EZ4I

OUT0+ O

I Encoder B-phase (-),(4) 86

I Encoder Z-phase (+),(4) 87

Encoder Z-phase (-),(4)

Pulse signal (+),(0)

88

89

EB5-

EZ5+

EZ5-

OUT1+

I

O

I Encoder B-phase (-),(5)

I Encoder Z-phase (+),(5)

Encoder Z-phase (-),(5)

Pulse signal (+), (1)

OUT0-

DIR0+

DIR0O

OUT2+ O

O

O

OUT2-

DIR2+

DIR2O

OUT4+ O

OUT4O

DIR4+

DIR4-

O

O

O

O

Pulse signal (-),(0)

Dir. signal (+),(0)

Dir. Signal (-),(0)

Pulse signal (+), (2)

Pulse signal (-),(2)

Dir. signal (+), (2)

Dir. signal (-), (2)

Pulse signal (+),(4)

Pulse signal (-),(4)

Dir. signal (+),(4)

Dir. Signal (-),(4)

90 OUT1O

91 DIR1+ O

92 DIR1O

93 OUT3+ O

94 OUT3O

95 DIR3+ O

96 DIR3O

97 OUT5+ O

98 OUT5O

99 DIR5+ O

100 DIR5O

Pulse signal (-), (1)

Dir. Signal (+), (1)

Dir. Signal (-), (1)

Pulse signal (+),(3)

Pulse signal (-),(3)

Dir. signal (+),(3)

Dir. signal (-),(3)

Pulse signal (+),5

Pulse signal (-),(5)

Dir. signal (+),(5)

Dir. Signal (-),(5)

Table 2-1: CN1: Main Connector

Installation 9

2.6

CN2: External Power Input

CN1 Pin No Name

1

2

EXGND

Description

Grounds of the external power.

EX+24V External power supply of +24V DC

±

5%

Cable Color

Black

Red

Table 2-2: CN2: External Power Input

Notes:

1. CN2 is a plug-in terminal connector with no screw.

2. Be sure to use the external power supply. The +24V DC is used by external input/output signal circuit.

3. Wires for connection to CN2

Z Solid wire: Ï•

0.32 mm to Ï•

0.65 mm (AWG28 to AWG22)

Z

Z

Twisted wire: 0.08 mm

2

to 0.32 mm

2

(AWG28 to

AWG22)

Naked wire length: 10 mm standard

4. The EX+24V is shorted inside PCI-8136 with COM+ in

CN1 (No. 6,7,8).

5. The EXGND is shorted inside PCI-8136 with COM- in

CN1 (No. 55,56).

10 Installation

2.7

CN3 Pin Assignments: DB25 Connector

The signals on CN3 are for Analog input and remote serial IO.

Note1: The DAC1-3 pins are the same with those on CN1

Note2: The Remote Serial IO #2 is reserved.

2.8

CN4 Pin Assignments: DB9 Connector

The signals on CN4 are for remote serial IO#1.

Note: The Remote Serial IO #1 is reserved.

Installation 11

12 Installation

3 Signal Connections

The signal connections of all the I/O signals are described in this chapter. Please refer to the contents of this chapter before wiring the cable between the PCI-8136 and IO Device.

This chapter contains the following sections:

Section 3.1 Analog Inputs

Section 3.2 Analog Outputs

Section 3.3 Digital Inputs

Section 3.4 Digital Outputs

Section 3.5 Pulse Inputs

Section 3.6 Pulse Outputs

Section 3.7 VCC Pin

Signal Connections 13

14

3.1

Analog Input

The PCI-8136 provides 6 A/D converter channels. The analog source is selectable for each channel to be ±10V DC (Default) or

±20 mA automatically.

To avoid ground loops and get more accuracy measurement of A/

D conversion, it is quite important to understand the signal source type. The PCI-8136 provides differential input modes that consist of two inputs per channel.

Signal PIN Connector Function

ADC0+ 20 CN3 (DB25) ADC channel 0 (+)

ADC07 CN3 (DB25) ADC channel 0 (-)

ADC1+ 21 CN3 (DB25) ADC channel 1 (+)

ADC18 CN3 (DB25) ADC channel 1 (-)

ADC2+ 22 CN3 (DB25) ADC channel 2 (+)

ADC29 CN3 (DB25) ADC channel 2 (-)

ADC3+ 23 CN3 (DB25) ADC channel 3 (+)

ADC310 CN3 (DB25) ADC channel 3 (-)

ADC4+ 24 CN3 (DB25) ADC channel 4 (+)

ADC411 CN3 (DB25) ADC channel 4 (-)

ADC5+ 25 CN3 (DB25) ADC channel 5 (+)

ADC512 CN3 (DB25) ADC channel 5 (-)

A differential source means the ends of the signal are not grounded. To avoid the danger of high voltage between the local ground of signal and the ground of the PC system, a shorted

Signal Connections

ground path must be connected. Figure 3.1.2 shows the connection of differential analog input sources.

Figure 3-1: Analog input circuit

Signal Connections 15

3.2

Analog Output

The PCI-8136 provides 6 16-bit Digital-to-Analog converter channels. The output voltage ranged from -10 V to +10V. To make correct connection, please refer to following figure:

16

Figure 3-2: Analog output circuit

The Analog outputs are all single ended with common ground

'AGND'. The following is the pin assignment information for DAC.

Signal PIN Connector Function

DAC0 2 CN1 (SCSI II – 100 Pin) DAC Channel 0

DAC1 3 CN1 (SCSI II – 100 Pin) DAC Channel 1

DAC2 4 CN1 (SCSI II – 100 Pin) DAC Channel 2

DAC3 52 CN1 (SCSI II – 100 Pin) DAC Channel 3

DAC4 53 CN1 (SCSI II – 100 Pin) DAC Channel 4

DAC5 54 CN1 (SCSI II – 100 Pin) DAC Channel 5

AGND 1 CN1 (SCSI II – 100 Pin) Analog Ground

AGND 51 CN1 (SCSI II – 100 Pin) Analog Ground

AGND 5 CN3 (DB25) Analog Ground

AGND 13

DAC0 18

DAC1 19

DAC2 6

CN3 (DB25)

CN3 (DB25)

CN3 (DB25)

CN3 (DB25)

Analog Ground

DAC Channel 0

DAC Channel 1

DAC Channel 2

Signal Connections

3.3

Digital Input

The PCI-8136 provides 19 digital inputs with 2500V rms isolation.

The system recognizes a logical '1' when no current goes from

COM+ to DIf, and, Logical '0' is returned when current goes from

COM+ to DIf. The max current passing trough DIf must be less than 20mA.

Here is the input circuit of digital input channels.

Figure 3-3: Digital input circuit

Example of input wiring:

Signal Connections 17

18

The following is the pin assignment information for digital input.

Signal PIN Connector Function

DI00 9 CN1 (SCSI II – 100 Pin) Digital Input Ch. 00

DI01 59 CN1 (SCSI II – 100 Pin) Digital Input Ch. 01

DI02 13 CN1 (SCSI II – 100 Pin) Digital Input Ch. 02

DI03 63 CN1 (SCSI II – 100 Pin) Digital Input Ch. 03

DI04 17 CN1 (SCSI II – 100 Pin) Digital Input Ch. 04

DI05 67 CN1 (SCSI II – 100 Pin) Digital Input Ch. 05

DI06 10 CN1 (SCSI II – 100 Pin) Digital Input Ch. 06

DI07 11 CN1 (SCSI II – 100 Pin) Digital Input Ch. 07

DI08 60 CN1 (SCSI II – 100 Pin) Digital Input Ch. 08

DI09 61 CN1 (SCSI II – 100 Pin) Digital Input Ch. 09

DI10 14 CN1 (SCSI II – 100 Pin) Digital Input Ch. 10

DI11 15 CN1 (SCSI II – 100 Pin) Digital Input Ch. 11

DI12 64 CN1 (SCSI II – 100 Pin) Digital Input Ch. 12

DI13 65 CN1 (SCSI II – 100 Pin) Digital Input Ch. 13

DI14 18 CN1 (SCSI II – 100 Pin) Digital Input Ch. 14

DI15 19 CN1 (SCSI II – 100 Pin) Digital Input Ch. 15

DI16 68 CN1 (SCSI II – 100 Pin) Digital Input Ch. 16

DI17 69 CN1 (SCSI II – 100 Pin) Digital Input Ch. 17

DI18 57 CN1 (SCSI II – 100 Pin) Digital Input Ch. 18

COM55 CN1 (SCSI II – 100 Pin) DIO Common Ground

COM56 CN1 (SCSI II – 100 Pin) DIO Common Ground

Signal Connections

3.4

Digital Output

The PCI-8136 provides 7 open collector outputs with 2500 V rms isolation. The maximum output switching frequency is 10 kHz, when the continuous output supply current is subject to 500mA/ total, 90mA/CH(typical), and 150mA/CH(max). In power-on state, the system issues a logical '0'.

Here is the output circuit of digital output channels.

Figure 3-4: Digital output circuit

Example of output wiring:

When output is set to “HIGH”, current goes from COM+ to

COM-

When output is set to “LOW”, the resistance value between

DO Ï•

and COM- becomes extremely large, so that no current was drawn from COM+.

The following is the pin assignment information for Digital Output.

Signal PIN Connector Function

COM+ 6 CN1 (SCSI II – 100 Pin) EXT +24V for Digital Output

COM+ 7 CN1 (SCSI II – 100 Pin) EXT +24V for Digital Output

COM+ 8 CN1 (SCSI II – 100 Pin) EXT +24V for Digital Output

DO0 12 CN1 (SCSI II – 100 Pin) Digital Output CH.0

DO1 62 CN1 (SCSI II – 100 Pin)

DO2 16 CN1 (SCSI II – 100 Pin)

Digital Output CH.1

Digital Output CH.2

DO3 66 CN1 (SCSI II – 100 Pin)

DO4 20 CN1 (SCSI II – 100 Pin)

DO5 70 CN1 (SCSI II – 100 Pin)

DO6 58 CN1 (SCSI II – 100 Pin)

Digital Output CH.3

Digital Output CH.4

Digital Output CH.5

Digital Output CH.6

Signal Connections 19

Signal PIN Connector

COM55 CN1 (SCSI II – 100 Pin)

COM56 CN1 (SCSI II – 100 Pin)

Function

DIO Common Ground

DIO Common Ground

20 Signal Connections

3.5

Pulse Input (Encoder Counter)

The PCI-8136 provides 6 differential pulse inputs with 2500V rms isolation. The pulse mode is software programmable to be ABphase, CW/CCW, or Pulse/Direction, and the counter speed goes up to 2 MHz. The relative signal names, and pin numbers are shown in the following tables.

Signal PIN Connector Function

EA0+ 21 CN1 (SCSI II – 100 Pin) Encoder CH.0 A-Phase (+)

EA022 CN1 (SCSI II – 100 Pin) Encoder CH.0 A-Phase (-)

EB0+ 23 CN1 (SCSI II – 100 Pin) Encoder CH.0 B-Phase (+)

EB024 CN1 (SCSI II – 100 Pin) Encoder CH.0 B-Phase (-)

EZ0+ 25 CN1 (SCSI II – 100 Pin) Encoder CH.0 Z-Phase (+)

EZ026 CN1 (SCSI II – 100 Pin) Encoder CH.0 Z-Phase (-)

EA1+ 71 CN1 (SCSI II – 100 Pin) Encoder CH.1 A-Phase (+)

EA172 CN1 (SCSI II – 100 Pin) Encoder CH.1 A-Phase (-)

EB1+ 73 CN1 (SCSI II – 100 Pin) Encoder CH.1 B-Phase (+)

EB174 CN1 (SCSI II – 100 Pin) Encoder CH.1 B-Phase (-)

EZ1+ 75 CN1 (SCSI II – 100 Pin) Encoder CH.1 Z-Phase (+)

EZ176 CN1 (SCSI II – 100 Pin) Encoder CH.1 Z-Phase (-)

EA2+ 27 CN1 (SCSI II – 100 Pin) Encoder CH.2 A-Phase (+)

EA228 CN1 (SCSI II – 100 Pin) Encoder CH.2 A-Phase (-)

EB2+ 29 CN1 (SCSI II – 100 Pin) Encoder CH.2 B-Phase (+)

EB230 CN1 (SCSI II – 100 Pin) Encoder CH.2 B-Phase (-)

EZ2+ 31 CN1 (SCSI II – 100 Pin) Encoder CH.2 Z-Phase (+)

EZ232 CN1 (SCSI II – 100 Pin) Encoder CH.2 Z-Phase (-)

EA3+ 77 CN1 (SCSI II – 100 Pin) Encoder CH.3 A-Phase (+)

EA378 CN1 (SCSI II – 100 Pin) Encoder CH.3 A-Phase (-)

EB3+ 79 CN1 (SCSI II – 100 Pin) Encoder CH.3 B-Phase (+)

EB380 CN1 (SCSI II – 100 Pin) Encoder CH.3 B-Phase (-)

EZ3+ 81 CN1 (SCSI II – 100 Pin) Encoder CH.3 Z-Phase (+)

EZ382 CN1 (SCSI II – 100 Pin) Encoder CH.3 Z-Phase (-)

EA4+ 33 CN1 (SCSI II – 100 Pin) Encoder CH.4 A-Phase (+)

EA434 CN1 (SCSI II – 100 Pin) Encoder CH.4 A-Phase (-)

Signal Connections 21

22

Signal PIN Connector Function

EB4+ 35 CN1 (SCSI II – 100 Pin) Encoder CH.4 B-Phase (+)

EB436 CN1 (SCSI II – 100 Pin) Encoder CH.4 B-Phase (-)

EZ4+ 37 CN1 (SCSI II – 100 Pin) Encoder CH.4 Z-Phase (+)

EZ438 CN1 (SCSI II – 100 Pin) Encoder CH.4 Z-Phase (-)

EA5+ 83 CN1 (SCSI II – 100 Pin) Encoder CH.5 A-Phase (+)

EA584 CN1 (SCSI II – 100 Pin) Encoder CH.5 A-Phase (-)

EB5+ 85 CN1 (SCSI II – 100 Pin) Encoder CH.5 B-Phase (+)

EB586 CN1 (SCSI II – 100 Pin) Encoder CH.5 B-Phase (-)

EZ5+ 87 CN1 (SCSI II – 100 Pin) Encoder CH.5 Z-Phase (+)

EZ588 CN1 (SCSI II – 100 Pin) Encoder CH.5 Z-Phase (-)

The input circuits of the EA, EB, EZ signals are shown as follows.

Figure 3-5: Pulse input (encoder counter) circuit

Note: The voltage across every differential pair of encoder input signals (EA+, EA-), (EB+, EB-) and (EZ+, EZ-) should be at least 3.5V or higher. Therefore, you have to take care of the driving capability when connecting with the encoder feedback or motor driver feedback.

Here are two examples of connecting the input signals with the external circuits. The input circuits can connect to the encoder or motor driver, which are equipped with: (1) a differential line driver or (2) open collector output.

Signal Connections

Connection to Line Driver Output

To drive the PCI-8136 encoder input, the driver output must provide at least 3.5V across the differential pairs with at least 6 mA driving capability. The ground level of the two sides must be tight together too.

Figure 3-6: Connection to line driver output

Connection to Open Collector Output

To connect with open collector output, an external power supply is necessary. Some motor drivers also provide the power source.

The connection between PCI-8136, encoder, and the power supply is shown in the following diagram. Please note that the external current limit resistor R is necessary to protect the PCI-8136 input circuit. The following table lists the suggested resistor value according to the encoder power supply.

Encoder Power(VDD) External Resistor R

+5V

+12V

+24V

0

Ω

(None)

1.8k

Ω

4.3k

Ω

Signal Connections 23

Figure 3-7: Connect to open collector output

24 Signal Connections

3.6

Pulse Output (Pulse Generator)

The PCI-8136 provides 6 differential pulse output channels. The pulse mode is software programmable to be Pulse/Direction, CW/

CCW, or AB-phase, and the output frequency goes up to 500 KHz.

The operations of pulse output channels are quite straightforward.

Call library functions to set pulse mode, send pulse at constant frequency, and stop pulse. Please refer to chapter 5 for detail function descriptions.

The relative signal names, and pin numbers are shown in the following tables.

Signal PIN Connector

OUT1+ 39 CN1 (SCSI II – 100 Pin)

OUT140 CN1 (SCSI II – 100 Pin)

DIR1+ 41 CN1 (SCSI II – 100 Pin)

DIR142 CN1 (SCSI II – 100 Pin)

OUT2+ 89 CN1 (SCSI II – 100 Pin)

OUT290 CN1 (SCSI II – 100 Pin)

DIR2+ 91 CN1 (SCSI II – 100 Pin)

DIR292 CN1 (SCSI II – 100 Pin)

OUT3+ 43 CN1 (SCSI II – 100 Pin)

OUT344 CN1 (SCSI II – 100 Pin)

DIR3+ 45 CN1 (SCSI II – 100 Pin)

DIR346 CN1 (SCSI II – 100 Pin)

OUT4+ 83 CN1 (SCSI II – 100 Pin)

OUT484 CN1 (SCSI II – 100 Pin)

DIR4+ 85 CN1 (SCSI II – 100 Pin)

DIR486 CN1 (SCSI II – 100 Pin)

OUT5+ 47 CN1 (SCSI II – 100 Pin)

OUT548 CN1 (SCSI II – 100 Pin)

DIR5+ 49 CN1 (SCSI II – 100 Pin)

DIR550 CN1 (SCSI II – 100 Pin)

OUT6+ 97 CN1 (SCSI II – 100 Pin)

OUT698 CN1 (SCSI II – 100 Pin)

DIR6+ 99 CN1 (SCSI II – 100 Pin)

DIR6100 CN1 (SCSI II – 100 Pin)

Function

CH.1 Pulse Signal (+)

CH.1 Pulse Signal (-)

CH.1 Direction Signal (+)

CH.1 Direction Signal (-)

CH.2 Pulse Signal (+)

CH.2 Pulse Signal (-)

CH.2 Direction Signal (+)

CH.2 Direction Signal (-)

CH.3 Pulse Signal (+)

CH.3 Pulse Signal (-)

CH.3 Direction Signal (+)

CH.3 Direction Signal (-)

CH.4 Pulse Signal (+)

CH.4 Pulse Signal (-)

CH.4 Direction Signal (+)

CH.4 Direction Signal (-)

CH.5 Pulse Signal (+)

CH.5 Pulse Signal (-)

CH.5 Direction Signal (+)

CH.5 Direction Signal (-)

CH.6 Pulse Signal (+)

CH.6 Pulse Signal (-)

CH.6 Direction Signal (+)

CH.6 Direction Signal (-)

Signal Connections 25

Here is the circuit of PCI-8136 pulse output (pulse generator) channels.

Figure 3-8: Pulse output (pulse generator) circuit

3.7

VCC Pin

There is one pin named VCC+5V on Pin5 of CN1. This voltage source is from external 24V. Please don't use this voltage source on any device which is connected to PCI-8136's isolation I/Os. If not, the grounds will be connected at both of the isolative sides and the noise will be introduced from this loop. So the isolation will be meaningless. The VCC's ground is the same with AGND inside the board.

26 Signal Connections

4 Operation Theory

This chapter describes the detail operation of the PCI-8136 card.

Contents of the following sections are as following.

X

X

X

X

X

X

Section 4.1: AD Conversion and Preloaded Trigger

Section 4.2: DA Conversion

Section 4.3: DIO

Section 4.4: Pulse Input and Position Compare

Section 4.5: Pulse Output

Section 4.6:Interrupt Control

Please refer to the following architecture diagram of PCI-8136

ADC: Please refer to Section 4.1: AD Conversion and Preloaded

Trigger.

DAC: Please refer to Section 4.2: DA Conversion.

DIO: Please refer to Section 4.3: DIO.

ENC: Please refer to Section 4.4: Pulse Input and Position Compare.

Operation Theory 27

28

4.1

AD Conversion and Preloaded Trigger

4.1.1

ADC

The PCI-8136 provides 6 differential ADC channels. Each channel consists of two inputs. One for a (+) signal and the other for a (-) signal. The input signal may have a voltage range from –10 ~

+10V or current range from –20mA ~ 20mA. The following figure show the A (voltage or current) to D (value read) converting table.

The zero voltage or current is at value 2000.

Related functions:

_8136_A_Initial (): please refer to section 5.5

_8136_A_Read_Value (), _8136_A_Read_Volt (): please refer to section 5.5

4.1.2

Voltage Compare

The voltage compare function allows users to set a compare value by software function. When one ADC signal reaches the pre-set value, an interrupt will be generated for corresponding channel.

Relative functions:

_8136_A_Set_Compare_Value (),

_8136_A_Set_Compare_Volt (),

_8136_S_Set_Int_Factor () : please refer to section 5,7

Operation Theory

4.2

DA Conversion

The PCI-8136 has a 6 channel 16-bit, bipolar (±10V DC) digital to analog converter. The D (value assigned) to A (voltage output) converting chart is showed bellow.

4.2.1

DA Output by Trigger Source

PCI-8136 allows users to set a pre-load value for each DAC channel. The value will be sent once any trigger condition for this channel occurs. The trigger source could be from encoder counter comparators or ADCs by setting the trigger map in the software functions. Users can set every channel's trigger sources independently. The compare method could be set in Set_Int_Factor() function.

Related functions:

_8136_A_Initial () : please refer to section 5.5

_8136_A_Write_Value (), _8136_A_Write_Volt (),

_8136_A_Output_Control (): please refer to section 5.5

_8136_A_Set_Preload_Volt (), _8136_A_Set_Trigger (),

_8136_A_Set_Trigger_Map (): please refer to section 5.5

_8136_S_Set_Int_Factor (): please refer to section 5,7

Operation Theory 29

4.3

DIO

4.3.1

Digital Input

The PCI-8136 provides 19 digital input channels with 2500Vrms isolation. The DI channel is logically “HIGH” when no current goes from COM+ to DIf, and, Logically “LOW” when current goes from

COM+ to DIf. The max current passing through DIf must be less than 20mA.

30

Related functions:

_8136_D_Input (), _8136_D_InputA (): please refer to section

5.4

Operation Theory

4.3.2

Digital Output

The PCI-8136 provides 7 open collector output channels with

2500Vrms isolation. Please carefully refer to section 3.4 for the circuit wiring.

DO COM+

ULN2003

DOut

DOx

PhotoCouple

Isolation

DGND

EXGND

Inside PCI-8136

Related functions:

_8136_D_Output (), _8136_D_OutputA (): please refer to section 5.4

Operation Theory 31

4.4

Pulse Input and Position Compare

4.4.1

Pulse Input

The PCI-8136 has 6 32-bit pulse input channels for encoder counter. It can accept 3 kinds of pulse signal:

1. Plus and minus pulse inputs (CW/CCW mode)

2. 90°phase difference signals(AB phase mode)

3. Pulse and direction inputs (Pulse/DIR).

90° phase difference signals may be selected to be multiplied by a factor of 1, 2, or 4x AB phase mode is the most commonly used for incremental encoder input. For example, if a rotary encoder has

2000 pulses per phase (A or B phase), then the value read from the counter will be 8000 pulses per turn These input modes can be selected by software function calls.

Plus and minus pulses input mode(CW/CCW Mode)

In this mode, pulse from EA causes the counter to count up, whereas EB causes the counter to count down.

32 Operation Theory

90° phase difference signals Input Mode(AB phase Mode)

In this mode, the EA signal is 90° phase leading or lagging in comparison to the EB signal. Where “lead” or “lag' of phase difference between two signals is caused by the turning direction of motors.

The up/down counter counts up when the phase of EA signal leads the phase of EB signal.

The following diagram shows the waveform.

Pulse and direction input (Pulse/DIR)

In this mode, the high / low status of EB will cause the counter value to increase or decrease (Direction), whereas the high/low status of EA will cause the count number to increase or decrease

(Pulse).

4.4.2

Encoder Counter Value Capture (latch)

The EZ (index signal) of each pulse input channel doesn't affect counter value. It can capture (latch) the current counter value by proper setting, and generate an interrupt signal when receiving a rising edge. The counter value capture function is very useful to sensing the position of a moving object.

Operation Theory 33

Related functions:

_8136_P_Initial (): please refer to section 5.6

_8136_P_Set_Input_Type (), _8136_P_Read (),

_8136_P_Clear (), _8136_P_Set_Index_Latch (),

_8136_P_Read_Index (), _8136_P_Read_Latch_Value (): please refer to section 5.6

4.4.3

Encoder Counter Value Compare

The PCI-8136 provides a position compare function for all six pulse input channels. Once the counter value is reached the preset compare value, an interrupt signal will be generated immediately. This function can effectively reduce the overhead of CPU's polling for current position.

Related functions:

_8136_S_Set_Int_Factor (): please refer to section 5,7

_8136_P_Set_Compare_Value (): please refer to section 5.6

34 Operation Theory

4.5

Pulse Output

The PCI-8136 provides 6 pulse output channels. They are used to send out constant-frequency pulse trains. When changing the output frequency of any channel, there is at most 265ms time delay.

There are also 3 kinds of pulse outputs: (1). plus and minus pulse inputs (CW/CCW mode); (2) pulse and direction input(Pulse/DIR);

(3). 90° phase difference signals(AB phase mode);

Pulse and direction input(Pulse/DIR)

In this mode, the high / low status of DIR defines the plus / negative direction, whereas OUT generates the pulse train.

Plus and minus pulses input mode(CW/CCW Mode)

In this mode, plus frequency (plus direction) goes on OUT, whereas negative frequency (negative direction) is generated from

DIR.

Operation Theory 35

90° phase difference signals input mode(AB phase Mode)

In this mode, the OUT signal is 90° phase leading or lagging in comparison with DIR signal. Where “lead” or “lag' of phase difference between two signals is caused by the direction of pulse train.

Related functions:

_8136_P_Initial (): please refer to section 5.6

_8136_P_Set_Output_Type (), _8136_P_Send (),

_8136_P_Stop (), _8136_P_Change_Speed (): please refer to section 5.6

36 Operation Theory

4.6

Interrupt Control

The PCI-8136 can generate an INT signal to the host PC according to 7 of factors, refer to _8136_S_Set_Int_factor () function for more details. Type 0 to type 2 are local digital Input interrupts.

The following table represents the interrupt setting for local digital

Input:

_8136_S_Set_Int_factor(Cardno, ChannelNo,

Int_Factor)

Channel

Channel 0 1 2 3 4 5

Int. factor bit(type)

0

1

2

3

4

5

6

DI 6/7 DI 8/9 DI 10/11 DI 12/13 DI 14/15 DI 16/17

DI 18 -

DI 00 DI 01 DI 02

EZ1 EZ2 EZ3

DI 03

EZ4

DI 04

EZ5

DI 05

EZ6

CMP1 CMP2 CMP3 CMP4 CMP5 CMP6

Timer -

ADC1 ADC2 ADC3 ADC4 ADC5 ADC6

Note: Once the first row of interrupt factor is set, both of the digit channels' interrupt are enabled. The interrupt comes when any one of the two digital channels' are triggered.

EZ is index signal , CMP is position compare true, Timer is card's internal timer, ADC is analog compare true.

For each channel number, the interrupt can be set according to above table.

Since interruptions can not be handled with a Windows System, the PCI-8136 has a Windows message system to handle interruptions. This card uses events to notice the user's program if an interruption is coming. Users can create a thread to retreive the interrupt events and then use _8136_S_Get_Int_Status () to get the interrupt status. The status bits for each axis is in the following table:

Operation Theory 37

38

_8136_S_Get_Int_Status(Cardno, AxisNo, Status)

Bits Description

0 Digital Input pin 6/8/10/12/14/16 interrupt

1 Digital Input pin 7/9/11/13/15/17 interrupt

2 Digital Input pin 18 interrupt

3 Digital Input pin 0~5 interrupt

4 Index signal interrupt

5 Position counter compare interrupt

6 Internal timer interrupt

7 Analog compared interrupt

Table 4-1: _8136_S_Get_Int_Status

Use Thread to deal with Interrupt under Windows NT/95

In order to detect the interrupt signal from PCI-8136 under Windows NT/95, users must create a thread routine first. Then use

APIs provided by PCI-8136 to get the interrupt signal. Each card has 7 events for these interrupts. Event 0 ~ 5 stands for channel

0~5 and event 6 stands for timer interrupt and alarm interrupt. The sample program is as follows:

Situation : Assume that we have one card and want to receive

Timer interrupt.

Steps :

1. Define a Global Value to deal with interrupt event

HANDLE hEvent[7]; volatile bool ThreadOn;

2. In Initializing Section (you must Initialize PCI-8136 properly first), set interrupt types and enable an event for each axis.

_8136_S_Set_Int_Factor(0,0, 0x40);

_8136_S_INT_Control(0,1);

_8136_INT_Enable(0,&hEvent[0]);

Note: For each card, you must assign a 7-events-array in

_8136_INT_Enable function.

Operation Theory

3. Define a Global Function (Thread Body). Use WaitForSingleObject() or WaitForMultipleObjects() to wait events.

Remember to reset this event after you get the event.

UINT IntThreadProc(LPVOID pParam)

{

U32 IntSts; while(ThreadOn==TRUE)

{

::WaitForSingleObject(hEvent[6],INFINITE);

_8136_S_Get_Int_status(0,0,&IntSts);

::ResetEvent(hEvent[6]);

} return 0;

}

4. Start the thread( Use a boolean value to control the thread's life )

ThreadOn=TRUE;

AfxBeginThread(IntThreadProc,GetSafeHwnd(),THREA

D_PRIORITY_NORMAL);

5. Before exiting the program, remember to let the thread go to end naturally.

ThreadOn=FALSE;

Note: If users need to deal interrupt under VB6.0. Please refer to section 5.7 for details.

We suggest user creates a thread and uses WaitForSingleObject () for each event in order to guarantee proper performance.

Operation Theory 39

40 Operation Theory

5 Function Library

This chapter describes the supporting software for PCI-8136 cards. User can use these functions to develop application programs in Visual Basic, Visual Basic .Net, Visual C++, Visual

C++.Net, C++ Builder, and Delphi language.

The function prototypes and some common data types are decelerated in PCI-8136.H. These data types are used by PCI-8136 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

U8

I16

U16

I32

U32

F32

F64

Description

8-bit ASCII character

16-bit signed integer

16-bit unsigned integer

32-bit signed long integer

32-bit unsigned long integer

32-bit single-precision floating-point

64-bit double-precision floating-point

Range

0 to 255

-32768 to 32767

0 to 65535

-2147483648 to 2147483647

0 to 4294967295

-3.402823E38 to 3.402823E38

-1.797683134862315E308

to 1.797683134862315E309

TRUE, FALSE Boolean Boolean logic value

The functions of PCI-8136's software drivers use full-names to represent the functions' real meaning. The naming convention rules are:

In a C Environment:

_{hardware_model}_{action_name}. e.g. _8136_Initial ().

In order to recognize the difference between C/C++ library and

Visual Basic library, A capital "B" is put on the head of each function name of the Visual Basic function. e.g. B_8136_Initial ()

Function Library 41

42

5.1

List of Functions

Initialization

_8136_Initial

_8136_S_Close

Interface card initialization

Interface card close

_8136_S_Get_IRQ_Channel Get card's IRQ

_8136_S_Get_Base_Addr

System Parameters

Get card's base address

Set Timer click count _8136_S_Set_Timer_Value

Digital I/O

_8136_D_Output

_8136_D_Input

_8136_D_OutputA

_8136_D_InputA

Analog I/O

_8136_A_Initial

Digital output for one bit

Digital input for one bit

Digital Output for all bits once

Digital Input for all bits once

Analog I/O initialization

_8136_A_Set_Source

_8136_A_Write_Value

_8136_A_Write_Volt

_8136_A_Read_Value

_8136_A_Read_Volt

_8136_A_Output_Control

_8136_A_Set_Trigger

_8136_A_Set_Trigger_Map

Output DAC in voltage

Input from ADC in value

Input from ADC in voltage

Start or stop DAC output

Set DAC output by trigger

Select DAC trigger source

_8136_A_Set_Preload_Volt Set DAC trigger output voltage

_8136_A_Set_Compare_Value Set ADC compare value

_8136_A_Set_Compare_Volt Set ADC compare voltage

_8136_A_Output_Control

Pulse I/O

_8136_P_Initial

_8136_P_Set_Output_Type

Set pulse output mode

Pulse I/O initialization

_8136_P_Set_Input_Type

_8136_P_Read

Set pulse input mode

Read encoder counter

Section 5.2

Section 5.3

Section 5.4

Section 5.5

Section 5.6

Function Library

_8136_P_Clear

_8136_P_Send

_8136_P_Stop

Clear encoder counter

Send a constant pulse train

Stop pulse train

_8136_P_Change_Speed

_8136_P_Read_Index

Change pulse train frequency

Read index value

_8136_P_Set_Index_Latch Set index latch type

_8136_P_Read_Latch_Value Read a latched encoder data

_8136_P_Set_Compare_Value Set a encoder compare data

_8136_P_Get_Stock_Count

_8136_P_Set_Input_Logic

Interrupt

_8136_INT_Enable

_8136_INT_Disable

_8136_S_Set_Int_Factor

_8136_S_INT_Control

_8136_S_Get_Int_Status

Set interrupt event handler

Remove int. event handler

Set interrupt factor

Enable/disable interrupt

Get Int. status

Section 5.7

Function Library 43

44

5.2

Initialization

@ Name

_8136_Initial – Software Initialize for PCI-8136

_8136_S_Close – Software release for PCI-8136

_8136_S_Get_IRQ_Channel - Get card's IRQ

_8136_S_Get_Base_Addr - Get card's base address

@ Description

_8136_Initial :

This function is used to initialize PCI-8136 card. User must use this function before any operation in the program. This function will tell the number of cards it finds.

_8136_S_Close :

This function is used to close PCI-8136 card. It releases the resources declared by the driver. User must use this function before the program ends.

_8136_S_Get_IRQ_Channel :

Although PCI-8136 is a PCI interface card, this function can be used to get the IRQ channel which is assigned by PCI BIOS. This value has no meaning when operating this card. It is only a part of

PCI-8136's information

_8136_S_Get_Base_Addr

Although PCI-8136 is a PCI interface card, user can use this function to get the I/O Base Address which is assigned by PCI BIOS.

This value has no meaning when operating this card. It is only a part of PCI-8136's information

@ Syntax

C/C++ (DOS, Windows 95/98/NT/2000)

I16 _8136_Initial(I16 *existCards);

I16 _8136_S_Close(I16 CardNo); void _8136_S_Get_IRQ_Channel(I16 cardNo, U16

*irq_no ) void _8136_S_Get_Base_Addr(I16 cardNo, U16

*base_addr )

Function Library

Visual Basic 5.0 or higher

B_8136_Initial (existCards As Integer) As Integer

B_8136_S_Close (ByVal CardNo As Integer) As

Integer

B_8136_S_Get_IRQ_Channel(ByVal cardNo As Integer, irq_no As Integer)

B_8136_S_Get_Base_Addr(ByVal cardNo As Integer, base_addr As Integer )

@ Arguments

CardNo : card number designated to set (Range 0 - 3)

*existCards : a return value to indicate how many cards are found

Irq_no : IRQ channel for this card, return value

Base_addr : Base Address for this card, return value

@ Return Code

ERR_RangeError

ERR_PCIBiosNotExist

ERR_NoError

Function Library 45

46

5.3

System Parameters

@ Name

_8136_A_Set_DAC_Clk - Set DAC clock divider

_8136_A_Set_ADC_Clk -Set ADC clock divider

_8136_S_Set_Timer_Value - Set Timer click count

_8136_P_Set_Enc_Filter - Set encoder filter clock

@ Description

_8136_A_Set_DAC_Clk

There are 6 serial type DA channels in PCI-8136. This function is for settles the DAC transmission clock. Assign a clock divider number to change the DAC transmission rate. The maximum transmission clock is about 8.33 Mhz and the minimum is about

65Khz.

_8136_A_Set_ADC_Clk

There are 6 serial type AD channels in PCI-8136. This function settles the ADC transmission clock. Assign a clock divider number to change the DAC transmission rate. The maximum transmission clock is about 8.33 Mhz and the minimum is about 65 Khz.

_8136_S_Set_Timer_Value

There is a 24-bits counter in PCI-8136. This function settles the counter value and receives a fixed interrupt interval from this timer when the counting is finished. The timer clock rate is 33.3 Mhz. If user set the timer value to be 333000 then the interrupt interval will be 10ms.

_8136_P_Set_Enc_Filter

The encoder counter base clock is 33.3 Mhz. This function settles the encoder counter filter to fit the pulse rate from users. The maximum value for this filter is 127 and it means user's input pulse rate is smaller than 260 Khz.

Function Library

@ Syntax

C/C++ (DOS, Windows 95/98/NT/2000)

I16 _8136_A_Set_DAC_Clk(I16 CardNo, I16

Clk_Divider)

I16 _8136_A_Set_ADC_Clk(I16 CardNo, I16

Clk_Divider)

I16 _8136_S_Set_Timer_Value(I16 CardNo,U32

TimerValue)

I16 _8136_P_Set_Enc_Filter(I16 CardNo,I16 Filter)

Visual Basic 5.0 or higher

B_8136_A_Set_DAC_Clk(ByVal CardNo As Integer,

ByVal Clk_Divider As Integer) As Integer

B_8136_A_Set_ADC_Clk(ByVal CardNo As Integer,

ByVal Clk_Divider As Integer ) As Integer

B_8136_S_Set_Timer_Value(ByVal CardNo As Integer

, ByVal TimerValue As Long ) As Integer

B_8136_P_Set_Enc_Filter(ByVal CardNo As Integer,

ByVal Filter As Integer) As Integer

@ Arguments

CardNo : card number designated to set (Range 0-3)

Clk_Divider : Set transmission clock divider ( Range 0-127 )

TimerValue : Set timer value (Range: 28 bits)

Filter : Set Filter sample clock divider (Range 0-127)

@ Return Code

ERR_RangeError

ERR_NoError

Function Library 47

48

5.4

Digital I/O

@ Name

_8136_D_Output - Digital output for one bit

_8136_D_Input - Digital input for one bit

_8136_D_OutputA - Digital Output for all bits once

_8136_D_InputA - Digital Input for all bits once

@ Description

_8136_D_Output :

There are 7 open collector output channels in PCI-8136. This function controls these output bits by setting them on or off. This function can set each channel individually. Please refer to the pin assignment for bit numbers.

_8136_D_Input

There are 19 open isolated digital input channels in PCI-8136.

This function retrieves these input bits by setting them on or off.

This function can get each channel individually. Please refer to the pin assignment for bit numbers.

_8136_D_OutputA

There are 7 open collector output channels in PCI-8136. This function controls these output bits by setting them on or off. This function can set all output channels on/off by a value once. Each bit of this value represents the actual output bit. Please refer to the pin assignment for bit numbers.

_8136_D_InputA

There are 19 open isolated digital input channels in PCI-8136.

This function retrieves these input bits by setting them on or off.

This function can retrieve all input channels' status once. Each bit of this value represents the actual input channel. Please refer to the pin assignment for bit numbers.

Function Library

@ Syntax

C/C++ (DOS, Windows 95/98/NT/2000)

U16 _8136_D_Output( I16 CardNo , I16 Channel ,

I16 Control );

U16 _8136_D_Input( I16 CardNo , I16 Channel ,

I16* Control );

U16 _8136_D_OutputA( I16 CardNo , I16 Value );

U16 _8136_D_InputA( I16 CardNo , I32 *Value );

Visual Basic 5.0 or higher

B_8136_D_Output(ByVal CardNo As Integer, ByVal

Channe As Integer, ByVal Control As Integer)

As Integer

B_8136_D_Input(ByVal CardNo As Integer, ByVal

Channel As Integer, Control As Integer) As

Integer

B_8136_D_OutputA (ByVal CardNo As Integer, ByVal

Value As Integer) As Integer

B_8136_D_InputA(ByVal CardNo As Integer, Value As

Long) As Integer

@ Argument

CardNo : card number designated to set (Range 0 - 3)

Channel : channel number designated to set (Range 0 - 6)

Control : control value for the designated channel (Range 0 - 1)

Value : control value for all digital output (Range 0 - 0x7f )

Control : return value for designated channel (Range 0 - 1)

Value : return value for all digital input (Range 0 - 0x7ffff)

@ Return Code

ERR_RangeError

ERR_NoError

Function Library 49

50

5.5

Analog I/O

@ Name

_8136_A_Initial – Initialize ADC/DAC functions for PCI-8136

_8136_A_Write_Value - Output DAC in value

_8136_A_Write_Volt - Output DAC in voltage

_8136_A_Read_Value - Input from ADC in value

_8136_A_Read_Volt - Input from ADC in voltage

_8136_A_Output_Control - Start or stop DAC output

_8136_A_Set_Trigger - Set DAC output by trigger

_8136_A_Set_Trigger_Map - Select DAC trigger source

_8136_A_Set_Preload_Volt - Set DAC trigger output voltage

_8136_A_Set_Compare_Value - Set ADC compare value

_8136_A_Set_Compare_Volt - Set ADC compare voltage

@ Description

_8136_A_Initial :

This function enables serial ADC and DAC functions and sets the transmission clock divider. Tthis function must be used before using Analog IO.

_8136_A_Write_Value

This function generates a DC value from DAC channel. The DA converter resolution is 16-bits. The mapping value for 0 volt is

0x0000 , +10 volt is 0x7fff and –10 volt is 0x8000. There are six channels in one card. All channels are free to run individually.

_8136_A_Write_Volt

This function is for generating a DC value from DAC channel. The

DA converter resolution is 16-bits. A voltage value can be assigned to this function directly. The voltage value range is–10.0

to +10.0. There are six channels in one card. All channels are free to run individually.

Function Library

_8136_A_Read_Value

This function reads a digital value from ADC channel. . A word can be read from this function. The mapping value for 0V is 2000,

+10V is 4000 and –10V is 0. There are six channels in one card.

All channels are free to run individually.

_8136_A_Read_Volt

This function reads a voltage value from ADC channel. A voltage value can be read from this function directly. The range of the read-back voltage value is for –10.0V to +10.0V. There are six channels in one card. All channels are free to run individually.

_8136_A_Output_Control

This function will stop the outputting of any voltage from DA channel, and will immediately close DA channel. It can be open again by this function too.

_8136_A_Set_Trigger

This function enables/disables DA channel output by trigger source. The trigger source would be ADC comparator interrupt or encoder counter comparator interrupt.

_8136_A_Set_Trigger_Map

This function assigns each channel's trigger source. The trigger source is selected by one parameter. Each bit of this parameter represents one kind of trigger source. Bit 0-5 means trigger source is from encoder counter channel 0-5 and bit 8-13 means trigger source is from ADC channel 0-5. Set 1 is for enabling and 0 is for disabling.

_8136_A_Set_Preload_Volt

Once user set the DAC trigger function, the preload voltage must be set . When the trigger is active, the DAC channel will output this preload value.

_8136_A_Set_Compare_Value

This function is for DAC trigger output or simply for generating

ADC comparator interrupt. When user wants to output a preload voltage which is triggered by ADC level, the trigger level must be set by this function. The range is from 0 to 4000.

Function Library 51

52

_8136_A_Set_Compare_Volt

This function is for DAC trigger output or simply for generating

ADC comparator interrupt. When user wants to output a preload voltage which is triggered by ADC level, the trigger level must be set by this function. The trigger level is set by ADC voltage with a range from –10.0 to 10.0.

@ Syntax

C/C++ (DOS, Windows 95/98/NT/2000)

I16 _8136_A_Initial(I16 CardNo)

I16 _8136_A_Write_Value(I16 CardNo, I16 Channel,

I16 Value)

I16 _8136_A_Write_Volt(I16 CardNo, I16 Channel,

F64 Volt)

I16 _8136_A_Read_Value(I16 CardNo, I16 Channel,

I16 *Value)

I16 _8136_A_Read_Volt(I16 CardNo, I16 Channel,

F32 *Volt)

I16 _8136_A_Output_Control(I16 CardNo, I16

Channel, I16 Control)

I16 _8136_A_Set_Compare_Value(I16 CardNo, I16

Channel, I16 Value)

I16 _8136_A_Set_Compare_Volt(I16 CardNo, I16

Channel, F64 Volt)

I16 _8136_A_Set_Trigger_Map(I16 CardNo, I16

Channel, I16 Source)

I16 _8136_A_Set_Trigger(I16 CardNo, I16 Channel,

I16 Control)

I16 _8136_A_Set_Preload_Volt(I16 CardNo, I16

Channel, F64 Volt)

Visual Basic 5.0 or higher

B_8136_A_Initial (ByVal CardNo As Integer) As

Integer

B_8136_A_Write_Value (ByVal CardNo As Integer,

ByVal Channel As Integer, ByVal Value As

Integer) As Integer

B_8136_A_Write_Volt (ByVal CardNo As Integer,

ByVal Channel As Integer, ByVal Volt As

Single) As Integer

Function Library

B_8136_A_Read_Value Lib (ByVal CardNo As Integer,

ByVal Channel As Integer, Value As Integer)

As Integer

B_8136_A_Read_Volt (ByVal CardNo As Integer,

ByVal Channel As Integer, Volt As Double) As

Integer

B_8136_A_Output_Control (ByVal CardNo As Integer,

ByVal Channel As Integer, ByVal Control As

Integer) As Integer

B_8136_A_Set_Compare_Value(ByVal CardNo As

Integer, ByVal Channel As Integer, ByVal

Value As Integer) As Integer

B_8136_A_Set_Compare_Volt (ByVal CardNo As

Integer, ByVal Channel As Integer, ByVal

Volt As Double) As Integer

B_8136_A_Output_Control (ByVal CardNo As Integer,

ByVal Channel As Integer, ByVal Control As

Integer) As Integer

B_8136_A_Set_Trigger_Map(ByVal CardNo As

Integer,ByVal Channel As Integer, ByVal

Source As Integer) As Integer

B_8136_A_Set_Trigger(ByVal CardNo As Integer,

ByVal Channel As Integer, ByVal Control As

Integer) As Integer

B_8136_A_Set_Preload_Volt(ByVal CardNo As

Integer, ByVal Channel As Integer, ByVal

Volt As Double) As Integer

@ Argument

CardNo : card number designated to set (Range 0 - 3)

Channel : channel number designated to set (Range 0 - 5)

Value : the output value for DAC channel (Range –32768 to

+32767)

Volt : the output voltage for DAC channel (Range –10.0 - +10.0)

Value : the input value for ADC channel (Range 0 - 4000)

Volt : the input voltage for ADC channel (Range –10.0 - +10.0)

Control : enable or disable trigger ( 1 for enable/0 for disable )

Source : Set DAC trigger source

Function Library 53

Value 0-5 is for encoder 0-5

Value 8-13 is for ADC channel 0-5

@ Return Code

ERR_RangeError

ERR_NoError

54 Function Library

5.6

Pulse I/O

@ Name

_8136_P_Initial – Initialize pulse output engine and encoder counter

_8136_P_Set_Output_Type - Set pulse output mode

_8136_P_Set_Input_Type - Set pulse input mode

_8136_P_Read - Read encoder counter

_8136_P_Clear - Clear encoder counter

_8136_P_Send - Send a constant pulse train

_8136_P_Stop - Stop pulse train

_8136_P_Change_Speed - Change pulse train frequency

_8136_P_Read_Index - Read index value

_8136_P_Set_Index_Latch - Set index latch type

_8136_P_Read_Latch_Value - Read a latched encoder data

_8136_P_Set_Compare_Value - Set a encoder compare data

@ Description

_8136_P_Initial :

This function is for setting the encoder counter's clockand enabling pulse output functions. Tthis function must be used to enable pulse input and output.

_8136_P_Set_Output_Type :

There are 3 pulse output types in PCI-8136. This function is for configuring pulse output type by a value. Write a value 0 for pulse/ direction type. Write a value 1 for CW/CCW type. Write a value 2 for A/B phase type.

_8136_P_Set_Input_Type

There are 3 encoder counter input types in PCI-8136. This function is for configuring encoder counter input type. Write a value 0 for A/B phase type. Write a value 1 for CW/CCW type. Write a value 2 for pulse/direction type. When setting A/B phase type, the multiplier value must be assigned by this function.

Function Library 55

56

_8136_P_Read

This function reads the 32-bits encoder counter value immediately.

There are six encoder counters in one card. Assign the channel value 0-5 to read the encoder counter individually. There are three internal counters for receiving pulse output commands. When pulse output channel 0-2 is working, their output value will send to both CN1 and the internal feedback counter. These three command feedback counters are at channel 6-8. If the channel parameter of this function is assigned as the above three channels, it will read the command value at the same time.

_8136_P_Clear

This function clears the encoder counter value to zero immediately.

_8136_P_Send

This function sends a fixed frequency pulse train of each channel.

It will output a pre-configured pulse format which is set by

P_Set_Output_Type ().

_8136_P_Stop

This function stops the output pulse for each channel.

_8136_P_Change_Speed

This function changes the output pulse frequency on line.

_8136_P_Read_Index

There are 6 index signal inputs in one PCI-8136. This function is for checking the index status on or off. Each bit of this status value represents an index status.

_8136_P_Set_Index_Latch

The index signal is also a trigger source for latching the respective encoder counter value. There are two modes for this latch. Set 0 to be first trigger latch and set 1 to be last trigger latch. First trigger latch means only trigger once and last trigger latch means latch every time if index signal comes.

Function Library

_8136_P_Read_Latch_Value :

Once the encoder counter is latched, this function can retrieve the counter value at latched moment. It will not be clear until next index latched signal is coming.

_8136_P_Set_Compare_Value

There are 6 encoder counters in PCI-8136. Each encoder can set a compare value individually. This compare value is also a 32-bits value.

@ Syntax

C/C++ (DOS, Windows 95/98/NT/2000)

I16 _8136_P_Initial(I16 CardNo);

I16 _8136_P_Set_Output_Type(I16 CardNo, I16

ChannelNo, I16 PulseFmt);

I16 _8136_P_Set_Input_Type(I16 CardNo, I16 EncNo,

I16 EncFmt, I16 Mul);

I16 _8136_P_Read(I16 CardNo, I16 EncNo, I32

*EncData);

I16 _8136_P_Send(I16 CardNo,I16 ChannelNo,F64

FrqL);

I16 _8136_P_Stop(I16 CardNo,I16 ChannelNo);

I16 _8136_P_Clear(I16 CardNo, I16 EncNo);

I16 _8136_P_Set_Compare_Value(I16 CardNo,I16

EncNo, I32 CompValue);

I16 _8136_P_Read_Latch_Value(I16 CardNo, I16

EncNo, I32 *Value)

I16 _8136_P_Set_Index_Latch(I16 CardNo, I16

WhichIndex, I16 Type);

I16 _8136_P_Read_Index(I16 CardNo, I16 AxisNo,

I16 *Index);

I16 _8136_P_Change_Speed(I16 CardNo,I16

AxisNo,F32 Frq);

Visual Basic 5.0 or higher

B_8136_P_Initial (ByVal CardNo As Integer) As

Integer

B_8136_P_Initial (ByVal CardNo As Integer) As

Integer

Function Library 57

58

B_8136_P_Set_Output_Type (ByVal CardNo As

Integer, ByVal AxisNo As Integer, ByVal

PulseFmt As Integer) As Integer

B_8136_P_Set_Input_Type (ByVal CardNo As Integer,

ByVal EncNo As Integer, ByVal EncFmt As

Integer, ByVal Mul As Integer) As Integer

B_8136_P_Read (ByVal CardNo As Integer, ByVal

EncNo As Integer, EncData As Long) As

Integer

B_8136_P_Send (ByVal CardNo As Integer, ByVal

AxisNo As Integer, ByVal FrqL As Double) As

Integer

B_8136_P_Stop (ByVal CardNo As Integer, ByVal

AxisNo As Integer) As Integer

B_8136_P_Clear (ByVal CardNo As Integer, ByVal

EncNo As Integer) As Integer

B_8136_P_Set_Compare_Value (ByVal CardNo As

Integer, ByVal EncNo As Integer, ByVal

CompValue As Long) As Integer

B_8136_P_Read_Latch_Value(ByVal CardNo As

Integer, ByVal EncNo As Integer, Value As

Long) As Integer

B_8136_P_Set_Index_Latch (ByVal CardNo As

Integer, ByVal WhichIndex As Integer, ByVal

LatchType As Integer) As Integer

B_8136_P_Read_Index (ByVal CardNo As Integer,

ByVal AxisNo As Integer, Index As Integer)

As Integer

B_8136_P_Change_Speed (ByVal CardNo As Integer,

ByVal AxisNo As Integer, ByVal Frq As

Single) As Integer

@ Argument

CardNo : card number designated to set (Range 0 - 3)

ChannelNo : channel number designated to set (Range 0 - 5)

EncNo : encoder channel number designated to set (Range 0 - 5)

PulseFmt : Output pulse format

0 = Pulse/Direction

1 = CW/CCW

Function Library

2 = A/B Phase

EncFmt : Input pulse format:

0 = A/B Phase

1 = CW/CCW

2 = Pulse/Direction

Mul : for A_B type's mutiplier

0 = 0X A_B Phase

1 = 1X A_B Phase

2 = 2X A_B Phase

3 = 4X A_B Phase

EncData : read back encoder data

FrqL : Pulse output frequency (Range 0-500k Hz)

CompValue : Encoder Compare Value

*Index : Index Status (0 or 1)

Type : two trigger latch mode: 0 for first trigger, 1 for last trigger

WhichIndex : select index no. (0-5)

Frq : Pulse output frequency for change (Range 0-500kHz)

@ Return Code

ERR_RangeError

ERR_PCIBiosNotExist

ERR_NoError

Function Library 59

60

5.7

Interrupt

@ Name

_8136_INT_Enable - Set interrupt event handler(WINDOWS ONLY)

_8136_INT_Disable - Remove int. event handler(WINDOWS ONLY)

_8136_S_Set_Int_Factor - Set interrupt factor

_8136_S_INT_Control - Enable/disable interrupt

_8136_S_Get_Int_Status - Get Int. status

_8136_Callback_Function - Set a call back function for int

@ Description

_8136_INT_Enable

This function is only for Windows system. It allocates interrupt events in Windows system for passing message to application from kernel.

_8136_INT_Disable

This function is only for Windows system. It clear event resources which is allocated by INT_Enable() function.

_8136_S_Set_Int_Factor

This function settles the interrupt source for each channel. Every channel has 6 types of interrupt that can be set. It includes four digital input interrupt, index interrupt, encoder compare interrupt, timer interrupt, and voltage compare interrupt.

_8136_S_INT_Control

This function controls the hardware interrupt pin. The interrupt won't come if this function hasn't been used.

_8136_S_Get_Int_Status

This function must be used to check the interrupt types. There are

6 types of interrupt at one interrupt event. Sometimes two inpterrupts will come at once, it is important that each interrupt is checked individually in order to prevent the loss of any interrupt events.

Function Library

_8136_Callback_Function

This function can set a user-defined function to be an ISR. When one interrupt comes, this user-defined function will wake up. This function should be dealt with carefully, and not too much time should be spent on it.

@ Syntax

C/C++ (DOS, Windows 95/98/NT/2000)

U16_8136_INT_Enable(I16 CardNo, HANDLE *phEvent);

(Windows Only)

U16 _8136_INT_Disable(I16 CardNo); (Windows

Only) void _8136_S_INT_Control(I16 CardNo, U16 intFlag

)

U16 _8136_S_Set_Int_Factor(I16 CardNo, I16

ChannelNo, U16 IntFactor,OptionType)

U16 _S_Get_Int_Status(I16 CardNo,I16 AxisNo,U16

*IntStatus) void _8136_Callback_Function(I16 CardNo,void

*callbackAddr(I16 AxisNo, U16 IntSts))

Visual Basic 5.0 or higher

B_8136_INT_Enable (ByVal card_number As Integer, phEvent As Long) As Integer

B_8136_INT_Disable (ByVal card_number As Integer)

As Integer

B_8136_S_INT_Control (ByVal CardNo As Integer,

ByVal intFlag As Integer)

B_8136_S_Set_Int_Factor (ByVal CardNo As Integer,

ByVal AxisNo As Integer, ByVal IntFactor As

Integer, ByVal OptionType As Integer) As

Integer

B_8136_S_Get_Int_Status (ByVal CardNo As Integer,

ByVal AxisNo As Integer, IntStatus As Long)

As Integer

B_8136_Callback_Function (ByVal CardNo As

Integer, ByVal lpCallBackProc As Long) As

Integer

Function Library 61

62

@ Arguments

CardNo : card number designated to set (Range 0 - 3)

ChannelNo : channel number designated to set (Range 0 - 5)

*phEvent : event handler array contains 7 handler for each card in Windows interrupt system

*existCards : a return value to indicate how many cards are found intFlag : enable or disable interrupt signal (Range 0-1) intFactor : enable or disable interrupt for each type in each bit: bit0: Limit switch on bit1: Emergency stop on bit2: Home switch on bit3: Index signal on bit4: Encoder value compared bit5: Timer interrupt bit6: ADC pre-load value reached

*IntStatus : Read the interrupt status of one axis. To adjudge which interrupt is coming.

bit0: Positive Limit switch on bit1: Minus Limit switch on bit2: Emergency stop on bit3: Home switch on bit4: Index signal on bit5: Encoder value compared bit6: Timer interrupt bit7: ADC pre-load value reached

OptionType : Set ADC compare direction

1 = Rising Direction

2 = Falling Driection

Function Library

3 = Both Direction

*callbackAddr(I16 AxisNo, U16 IntSts) : function pointer type

@ Return Code

ERR_RangeError

ERR_NoError

Function Library 63

64 Function Library

6 Appendix

6.1

Auto Calibration Utility

1. Execute the utility under c:\program file\adlink\pci-

8136\utility.

2. Connect all AD channel to ground.

3. It will remind you when you press “Tune AD” button.

Appendix 65

4. After a minute a message will show that the adjustment is complete.

5. Connect all DA channels to AD channels one by one then press “Tune DA” button.

66

6. It will remind you to connect the AD channel to DA chan-

Appendix

nel one by one.

7. After a minute a messge will show that the adjustment is complete.

8. Please use multimeter to do measure and adjust.

Appendix 67

9. Use the 4 buttons outlined below to do fine adjustments.

Please use “Channel” item box to change DA channel.

68 Appendix

10.Please press “Save All Channel” to save parameter.

11. You will be asked if you would like to save the adjustment value. 11.

Appendix 69

12.A save finish window will appear.

13.Press “Exit” button to exit utility.

70 Appendix

6.2

Analog Output Error Test

This appendix is a reference for error values and their analog output. The error value depends on your card.

Channel 0

Channel 1

Appendix 71

Channel 2

Channel 3

72 Appendix

Channel 4

Channel 5

Appendix 73

74 Appendix

Warranty Policy

Thank you for choosing ADLINK. To understand your rights and enjoy all the after-sales services we offer, please read the following carefully.

1. Before using ADLINK’s products please read the user manual and follow the instructions exactly. When sending in damaged products for repair, please attach an RMA application form which can be downloaded from: http:// rma.adlinktech.com/policy/.

2. All ADLINK products come with a limited two-year warranty, one year for products bought in China:

X

X

X

X

X

The warranty period starts on the day the product is shipped from ADLINK’s factory.

Peripherals and third-party products not manufactured by ADLINK will be covered by the original manufacturers' warranty.

For products containing storage devices (hard drives, flash cards, etc.), please back up your data before sending them for repair. ADLINK is not responsible for any loss of data.

Please ensure the use of properly licensed software with our systems. ADLINK does not condone the use of pirated software and will not service systems using such software. ADLINK will not be held legally responsible for products shipped with unlicensed software installed by the user.

For general repairs, please do not include peripheral accessories. If peripherals need to be included, be certain to specify which items you sent on the RMA Request

& Confirmation Form. ADLINK is not responsible for items not listed on the RMA Request & Confirmation

Form.

Warranty Policy 75

76

3. Our repair service is not covered by ADLINK's guarantee in the following situations:

X

X

X

X

X

X

X

X

X

Damage caused by not following instructions in the

User's Manual.

Damage caused by carelessness on the user's part during product transportation.

Damage caused by fire, earthquakes, floods, lightening, pollution, other acts of God, and/or incorrect usage of voltage transformers.

Damage caused by unsuitable storage environments

(i.e. high temperatures, high humidity, or volatile chemicals).

Damage caused by leakage of battery fluid during or after change of batteries by customer/user.

Damage from improper repair by unauthorized ADLINK technicians.

Products with altered and/or damaged serial numbers are not entitled to our service.

This warranty is not transferable or extendible.

Other categories not protected under our warranty.

4. Customers are responsible for shipping costs to transport damaged products to our company or sales office.

5. To ensure the speed and quality of product repair, please download an RMA application form from our company website: http://rma.adlinktech.com/policy. Damaged products with attached RMA forms receive priority.

If you have any further questions, please email our FAE staff: [email protected].

Warranty Policy

advertisement

Related manuals