Omega Products EN-EIC-325-PCI Installation Manual

omega.com
e-mail: info@omega.com
For latest product manuals:
omegamanual.info
EN-EIC-325-PCI
Four Axis PCI Encoder
Interface Card
Shop online at
Servicing North America:
U.S.A.: One Omega Drive, P.O. Box 4047
ISO 9001 Certified Stamford, CT 06907-0047
TEL: (203) 359-1660 FAX: (203) 359-7700 e-mail: info@omega.com
Canada: 976 Bergar
Laval (Quebec) H7L 5A1, Canada TEL: (514) 856-6928 FAX: (514) 856-6886 e-mail: info@omega.ca
For immediate technical or application assistance:
U.S.A. and Canada: Sales Service: 1-800-826-6342/1-800-TC-OMEGA
®
Customer Service: 1-800-622-2378/1-800-622-BEST
®
Engineering Service: 1-800-872-9436/1-800-USA-WHEN
®
Mexico: En Espan˜ ol: (001) 203-359-7803
e-mail: espanol@omega.com FAX: (001) 203-359-7807 info@omega.com.mx
Servicing Europe:
Czech Republic: Frystatska 184, 733 01 Karviná, Czech Republic
TEL: +420 (0)59 6311899 FAX: +420 (0)59 6311114
Toll Free: 0800-1-66342 e-mail: info@omegashop.cz
Germany/Austria: Daimlerstrasse 26, D-75392 Deckenpfronn, Germany
TEL: +49 (0)7056 9398-0 FAX: +49 (0)7056 9398-29 Toll Free in Germany: 0800 639 7678 e-mail: info@omega.de
United Kingdom: One Omega Drive, River Bend Technology Centre
ISO 9002 Certified Northbank, Irlam, Manchester
M44 5BD United Kingdom TEL: +44 (0)161 777 6611 FAX: +44 (0)161 777 6622 Toll Free in United Kingdom: 0800-488-488 e-mail: sales@omega.co.uk
OMEGAnet®Online Service Internet e-mail
omega.com info@omega.com
It is the policy of OMEGA Engineering, Inc. to comply with all worldwide safety and EMC/EMI regulations that apply. OMEGA is constantly pursuing certification of its products to the European New Approach Directives. OMEGA will add the CE mark to every appropriate device upon certification.
The information contained in this document is believed to be correct, but OMEGA accepts no liability for any errors it contains, and reserves the right to alter specifications without notice. WARNING: These products are not designed for use in, and should not be used for, human applications.
FOUR AXIS ENCODER INTERFACE CARD
M
M
M
O
O
O
D
D
D
E
E
E
L
L
L
Version 2.01,
Oct.
2003
1
TABLE of CONTENTS
Section Page
1
GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1
ENCODER INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.1
IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.2
SOFTWARE OUTPUTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.3
SOFTWARE INPUTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2
CARD’S HARDWARE I/O . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.1
HARDWARE INPUTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.2
HARDWARE OUTPUTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.
CARD’S HARDWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1
DATA BUS and ADDRESS BUS . . . . . . . . . . . . . . . . . . . . . .
4
2.2
PIN LAY-OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
3.
SOFTWARE INTERFACE WITH THE CARD . . . . . . . . .
7
3.1
INSTALLATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.1.1
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.1.2
VB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.1.3
VC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.1.4
CPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.1.5
More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.2
INTRODUCTION TO THE FUNCTIONS . . . . . . . . . . . . . . .
13
3.3
CARD LEVEL FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.4
CHIP LEVEL FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.4.1
ACTIVE CHIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.4.2
I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3.5
ENCODER LEVEL FUNCTIONS . . . . . . . . . . . . . . . . . . . . . .
17
3.5.1
RESOLUTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.5.2
INDEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.5.3
SETPOINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.5.4
EVENT SIGNAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
3.5.5
POSITION COUNTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.6
ARGUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
APPENDIX A
SPECIFICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
APPENDIX B
DRAWINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
APPENDIX C
CARD INSTALLATION . . . . . . . . .. . . . . . . . . . . . . . . . . . . .
30
APPENDIX D
PRODUCT DEVELOPMENT . . . . . . . . . . . . . . . . . . . . . . . .
39
2
1. GENERAL DESCRIPTION
The EN-EIC-325-PCI handles four axes of user's encoders. Each user's encoder is directly attached to the Encoder Interface on the card.
The EN-EIC-325-PCI includes eleven logical inputs, and three general outputs.
The EN-EIC-325-PCI is I/O mapped.
1.1. ENCODER INTERFACE
Note: Each of the registers IPC, XPC and SPR, mentioned below, represents an unsigned integer 24 bit number ranging from 0 to 16777215. In case the user needs also negative values, he should refer to 16777215 as –1 and so on, thus changing the range 0 – 16777215 to –8388608 – +8388607
Each Encoder Interface includes the following elements:
1.1.1. IPC
The IPC (Internal Position Counter) is updated continuously according to the input from user's encoders. The updating of the IPC is affected by the Clock Resolution, that may be set to 1, 2 or 4 Clocks/Cycle.
1.1.2. SOFTWARE OUTPUTS
a. The XPC (eXternal Position Counter) is a latch counter being equalized
to the IPC upon user's request – either via PC’s software, or by a hardware (real-time) input.
b. "Event Signal" – produced when a pre-defined condition is met.
This software Event Signal is supplied also in the hardware outputs as described in section 1.2.2 / ii. The user may select one of the following as the pre-defined condition that becomes the trigger of the event:
IPC = SPR Each Encoder Interface includes an SPR (Set Point Register) being adjustable by the user. In case the user selects this condition, an event occurs when IPC = SPR.
IPC Overflow In case the user selects this condition, an event occurs when there's overflow in the IPC, that is, IPC changes from 16777215 to 0, or vice versa.
Index In case the user selects this condition, an event occurs when an index (marker) signal arrives from user's encoder.
3
1.1.3. SOFTWARE INPUTS
a. Data Request to request an XPC update.
For example, upon Data Request on the A axis, the following operation is done: XPC
A
IPC
A
Notes:
1. Data Request may be applied on a single axis, or (all at once) on:
axes pair (A+B or C+D), or all four axes.
2. Besides this
software Data Request, there is also a hardware (real-time)
Data Request applied on all four axes, as described in section 1.2.1 / ii.
b. Reset to clear the IPC.
For example, upon Reset on the A axis, the following operation is done: IPC
A
0 Note: Reset may be applied on a single axis, or (all at once) on an axes pair (A+B or C+D).
1.2. CARD'S HARDWARE I/O
1.2.1. HARDWARE INPUTS
i. Inputs #1–#10: Ten general inputs (reflected by software outputs). ii. Input #11: Data Request to request all XPC’s update: Upon this hardware Data Request, the following operations are done (all at once): XPC
A
IPC A ; XPC B⇐ IPC B ; XPC C⇐ IPC C ; XPC D⇐ IPC D .
In other words – this Data Request is a hardware real-time equivalent to the software
function RequestPositionCounter (CardHandle, Encoder4, OutputsMirror
)
(this is function #26 in section 3.5.5.) .) The minimal pulse width should be 20 ns; the ‘snapshot’ is produced when the pulse goes low
.
1.2.2. HARDWARE OUTPUTS
a. Three general outputs (reflecting software inputs). b. Four outputs of the Event Signals, as described in section 1.1.2 / ii. The user
may define these outputs to be held until he sends an explicit "Clear" request.
2. CARD'S HARDWARE
The EN-EIC-325-PCI uses the PCI bus of the PC.
2.1. DATA BUS and ADDRESS BUS
* The Data bus is 32 bits connected to the PCI. * The Address bus is 32 bits (I/O access only, on lower 1MB mode). * The Address access space is 16 bytes, located from Base Address to
Base Address
+ 15. The Base Address is allocated by the system each PC
power-up. * Bus controls – see the PCI standard version 2.1.
4
2.2. PIN LAY-OUT
The drawings of the input/output connections are in Appendix B.
Encoder Inputs
Function
D-Type
44 pin No.
Vcc
31
Index+
17
GND
2
Index–
32
Sine– / Phase A–
18
Sine+ / Phase A+
3
Cosine+ / Phase B+
33
Encoder A
Cosine– / Phase B–
4
GND
20
Vcc
5
Index+
35
Sine+ / Phase A+
21
Index–
6
Sine– / Phase A–
36
Cosine– / Phase B–
22
Encoder B
Cosine+ / Phase B+
7
Vcc
23
GND
38
Index–
24
Index+
9
Sine+ / Phase A+
39
Cosine+ / Phase B+
25
Sine– / Phase A–
10
Encoder C
Cosine– / Phase B–
40
Vcc
41
Index+
27
GND
12
Index–
42
Sine– / Phase A–
28
Sine+ / Phase A+
13
Cosine+ / Phase B+
43
Encoder D
Cosine– / Phase B–
14
GND
30
Notes:
1. Total max. current 0.7A.
2. The inputs can be sine (sine and cosine) or square (phases A and B).
3. For single ended inputs use the ‘–’ input only. The two non-connected wires per each encoder (Sine+ and Cosine+ should be floating, not grounded.
4. All the five GND pins (2, 20, 38, 12 and 30) are shortened. They appear five times to make the wiring easier.
5
Logical Inputs
Function
D-Type
44 pin No.
Input #2
16
Input #1
1
Input #3
19
Input #4
34
Input #5
37
Input #11
8
Input #7
26
Input #6
11
Input #8
29
Input #9
44
Input #10
15
GND
30
ENCODERS' EVENT SIGNALS AND GENERAL OUTPUTS
Function
D-Type
9 pin No.
VExt+
1
Encoder A
6
Encoder B
2
Encoder C
7
Event Signal
Encoder D
3
Output #1
8
Output #2
4
General Output
Output #3
9
VExt–
5
Notes:
1. Max. (consumed) current 15 mA + outputs drained current.
2. +/– VExt = 5–24 V.
6
3. SOFTWARE INTERFACE WITH THE CARD
3.1. INSTALLATION
The main files and folders of the software package are as follows:
Win95_98
Install.exe WRTdevN.VxD (Ten files: N=0,...,9) ImsEncPci.ocx
VB VC
WinNT
WinRT.sys ImsEic325-PCINT4.reg
Win2K
EIC325_P.sys ImsEic325-PCIWDM.inf
WinXP
EIC325_P.sys ImsEic325-PCIWDM.inf
OCX for WinNT/2K/XP
ImsEncPci.ocx
VB
VC ReadMe.txt EncPciConst.h
EncPciBasicTest
DLL for WinNT/2K/XP
EIC325PCI.dll EIC325PCI.lib
VB
VC ReadMe.txt EncPciConst.h EncPciFunctions.h
EncPciBasicTest
CPP More
Copy these folders (you may skip the irrelevant items) under some new folder on your hard disk, say ‘C:\ImsEnc325-PCI’.
7
The VB folders
The VB folders include an illustration program, which is
essential for any user, not only the VB programmer. For any
environment you are using – refer to the relevant VB folder.
Note: If Visual Basic is NOT installed on your computer, then before running the (VB produced) program EncPciTest.exe (recommended), please verify that:
1. Your
WinSysPath folder includes the following two files: * Richtx32.ocx * Riched32.dll
2. The Richtx32.ocx file is registered. It should be, as it is self-registering. However, if a manual registering is still required, apply: Start, Run, ‘Regsvr32
WinSysPath\Richtx32.ocx’
WinSysPath is:
If needed, you’ll find the above two files in the software package.
8
3.1.1. Windows
The various Windows folders supply the files required for the driver installation. The Win95/98 driver includes an ActiveX control. The WinNT/2K/XP drivers include two options: an ActiveX control and a DLL. The DLL uses the popular ‘stdcall’ calling convention recognizable by VB, VC, Delphi etc. The ActiveX control and the DLL are implemented by a WinRT-based solution. They may be installed even if your system already includes WinRT-based solutions, provided that the total number of solutions won't exceed 10 (Win95/98) or 32 (WinNT/2K/XP).
??
After performing the driver installation relevant to your Windows
(95/98/NT/2K/XP) you may proceed to the
card installation (see appendix C).
Win95/98
Refer to the Win95_98 folder.
Run the "Install.exe" program, which automatically copies the required
files and updates the registry:
The file ImsEncPci.ocx is copied to \Windows\System.
If the folder \Windows\System\Vmm32 doesn't exist, it's created.
The required WinRT file (usually WRTdev0.VxD) is copied to
\Windows\System\Vmm32.
The registry information is updated.
Proceed to the card installation (see appendix C).
WinNT
Refer to the WinNT folder.
Copy the WinRT.sys file into the \Winnt\System32\Drivers folder.
Execute the ImsEic325-PCINT4.reg file by a double-click.
Perform the ‘ActiveX Control’ and/or the ‘DLL’ steps under
‘WinNT/2K/XP’.
Proceed to the card installation (see appendix C).
Win2K
Refer to the Win2K folder.
Perform the ‘ActiveX Control’ and/or the ‘DLL’ steps under
‘WinNT/2K/XP’.
Proceed to the card installation (see appendix C).
(Note: The .sys and .inf files will be used in the ‘card installation’ stage.)
WinXP
Refer to the WinXP folder.
Perform the ‘ActiveX Control’ and/or the ‘DLL’ steps under
‘WinNT/2K/XP’.
Proceed to the card installation (see appendix C).
(Note: The .sys and .inf files will be used in the ‘card installation’ stage.)
9
WinNT/2K/XP
ActiveX Control Copy the .ocx file from your ‘OCX for WinNT_2K_XP’ folder to your
WinSysPath folder and register it by Start, Run,
'regsvr32
WinSysPath\ImsEncPci.ocx'.
DLL Copy the .dll file from your ‘DLL for WinNT_2K_XP’ folder to your
WinSysPath folder.
WinSysPath is:
10
3.1.2. VB
Select the ‘VB’ folder that corresponds to your driver installation (section
3.1.1). You'll find here a full illustration in VB 5.0 (named "EncPciTest") that
demonstrates how to use the various functions to communicate with the card. There are two versions: one using the ActiveX control, the other using the DLL. The DLL-based version includes an Eic325PciDll.bas file that contains the Declare’s of all the DLL functions. There are no such Declare’s in the ActiveX control-based version, as the definitions are included in the control itself. At application start the Active property is set to 1, and in the end to 0. The EncPciTest program illustrates all the functions available. It's recommended for any user, not only the VB programmer, to run it. Most of the program is straightforward. Here are some highlights to explain the non­trivial aspects:
To check primary communication with the card, use the "LEDs" frame.
The two LEDs on the card should follow your selection.
By definition, the program intends to illustrate the basic functions in
order to instruct the programmer code his application. However, to get some better feeling, there's the "Loop" mode that "Clicks" cyclically:
In the Position Counter frame:
ALL in the Req. (=Request) column
A, B, C, D in the Read column
In the I/O frame:
Read in the Chip #1 square
Read in the Chip #2 square
The Active Chip frame:
The required chip is selected automatically upon running any operation. The significance of explicit chip selection by this frame is first to illustrate this operation to the programmer and second to determine on which chip the "Test Active Chip", if clicked, would operate.
The I/O frame is a bit confusing:
The Hardware General Inputs are reflected by the card in its
software OUTPUTS.
The Voltage Failure card's software output allows the user to check
if there is a short-circuit between the output voltage source and the encoders (the thermal resettable fuse in the card will resume normal operation after the short is ended). Voltage Failure = 1 indicates a short, and the user should be instructed in this case to detach the 44 pin connector, then re-check.
The EventFlags appear in two separate outputs:
Software Outputs
Hardware Outputs
Clicking "Read" reads card's software outputs of the –
Hardware General Inputs
Voltage Failure
Software EventFlags
11
Loading...
+ 30 hidden pages