In the upgrading and transformation of automation equipment, the motion control card serves as the core execution unit, and its selection, wiring, and programming directly determine the system performance. The PCI-8132 launched by ADLINK is a two axis servo/stepper motion control card based on a 32-bit PCI bus. It uses a dedicated ASIC (PCL5023) to achieve complex motion control such as trapezoidal/S-shaped acceleration and deceleration, two axis linear/arc interpolation, zeroing, and handwheel following. The maximum output frequency is 2.4Mpps, and it supports incremental encoder feedback, 16 isolated digital I/O, and hardware position comparison trigger output. Although this model has gradually been discontinued, it is still widely deployed in a large number of in use devices. Mastering its installation, signal definition, motion mode programming, and interrupt/comparison function applications is of great practical significance for maintenance engineers and system integrators. This article is based on the official user manual, providing a set of system operation instructions from hardware installation, I/O connection, motion mode, function library calling to typical servo wiring.
Product Overview and Open Box Inspection
PCI-8132 is a half size PCI card suitable for industrial PCs. Its main features include:
2-axis stepper/directional pulse output, maximum 2.4Mpps, supports OUT/DIR or CW/CCW modes.
28 bit encoder feedback counter per axis (range 0~268435455 or ± 134217728).
Mechanical sensor interfaces such as origin (ORG), positive and negative limit (PEL/MEL), deceleration point (PSD/MSD), etc.
Servo drive interface: Alarm (ALM), In Place (INP), Deviation Counter Reset (ERC), Servo Enable (SVON), Drive Ready (RDY).
16 channels of optoelectronic isolated digital output (current injection), 16 channels of isolated digital input (5-24V).
Handwheel pulse input (PA/PB, supports 1 ×/2 ×/4 × AB phase or CW/CCW).
The synchronous start/stop signal (STA/STP) supports simultaneous start and stop of multiple cards and axes.
On board hardware position comparator, capable of generating trigger pulses (CMP1/CMP2) for visual aerial photography or shearing.
Provide Motion Creator Windows debugging tool, as well as C/C++/VB function library under DOS/Windows 95/98/NT/2000/XP, supporting up to 12 cards (24 axes).
The unboxing includes a PCI-8132 card, user manual, ADLINK CD, and a+24V power input cable (CN1). Please confirm electrostatic protection before installation to avoid damaging sensitive components.
Hardware installation and jumper switch setting
1. PCI slot and plug and play
PCI-8132 supports plug and play, and the system BIOS automatically assigns I/O base addresses and IRQs without the need for manual settings. Simply insert it into any PCI slot and secure the baffle. If there is a startup exception or interrupt conflict, it is usually caused by an ISA device resource conflict, and the PCI/ISA resource allocation in the BIOS needs to be checked.
2. External power supply (CN1)
A+24V external power supply must be provided for isolating the I/O circuit power supply. CN1 is a 2-pin terminal block:
1 pin: EXGND
2 legs: EX+24V (± 5%, 500mA max)
The onboard voltage regulator generates+5V for internal and external output use (such as encoder power supply). It is recommended to use AWG22~28 wires for wiring, with a bare length of 10mm.
3. Pulse output type jumper (J1~J4)
The OUT and DIR signals of each axis can be selected through jumper to drive differential lines (default) or output with open collector:
J1 (OUT1), J2 (DIR1), J3 (OUT2), J4 (DIR2): Short circuit 1-2 is differential, 2-3 is open circuit.
When the output is open circuit, OUT - and DIR - are signal lines, with a current not exceeding 20mA. An external resistor should be connected to EX+5V (capacity 500mA).
4. Type of limit switch and comparison of output polarity (S1)
S1 DIP switch:
Bit1/2: EL (PEL/MEL) switch types corresponding to axis 1 and axis 2 respectively, OFF (default)=normally open (contact A), ON=normally closed (contact B).
Bit3/4: Set the effective levels of CMP1 and CMP2 trigger outputs respectively, OFF (default)=output high level (100 μ s pulse) when the comparison condition is met, ON=low level effective.
It is necessary to set the limit signal correctly according to the actual switch type on site, otherwise the limit signal will not be triggered properly.

Detailed explanation and wiring points of main connector CN2 signal
CN2 is a 100 pin SCSI connector that integrates all axis I/O and digital I/O. The following are the key signal groups and their wiring precautions.
1. Pulse output (OUT ±, DIR ±)
Differential output can be directly connected to servo drives that support differential input, such as Panasonic and Yaskawa. If the driver is an optocoupler receiver, open circuit mode can be selected and a current limiting resistor can be connected in series. The default OUT/DIR mode (pulse+direction) can also be changed to CW/CCW dual pulse mode through software.
2. Encoder feedback (EA ±, EB ±, EZ ±)
Differential input requires a voltage of ≥ 3.5V and a driving capability of ≥ 6mA. It can be connected to the frequency division output of an encoder or driver. For encoders with open collector output, an external pull-up resistor is required (not added at+5V, 1.8k Ω for+12V, 4.3k Ω for+24V), and ensure common ground.
3. Limit/deceleration/origin signals (PEL/MEL, PSD/MSD, ORG)
These inputs are all optically isolated and require an external 24V switch (normally open or normally closed, set through S1 and software logic). There is an internal filtering circuit to prevent high-frequency interference. Attention: The deceleration point (SD) decelerates in advance during high-speed motion to prevent collision with the limit. The function can be enabled/disabled through software.
4. Servo interfaces (INP, ALM, ERC, SVON, RDY)
INP: Driver in place signal, can be set to wait for this signal before determining motion completion.
ALM: Alarm signal, can be set to immediately stop or decelerate to stop, and trigger an interrupt.
ERC: The deviation counter is reset to zero and automatically outputs a 10ms pulse (software disabled) when the limit is triggered, zeroing is completed, an alarm is triggered, or an emergency stop occurs.
SVON: Universal output, typically used to enable drivers.
RDY: Universal input, capable of detecting drive readiness status.
The above signals are all optocoupler isolated, please pay attention to polarity when connecting (detailed circuit diagram provided in the manual).
5. Universal digital I/O (DO0~DO15, DI0~DI15)
DO is open collector output (TD62083), with a maximum current of 500mA per channel (123mA at 50% duty cycle), requiring external load and pull-up power supply (up to 50V).
DI is an optocoupler input with a built-in 4.7k Ω resistor, suitable for 5-24V DC, with a maximum input current of ± 50mA.
6. Handwheel pulse input (PA ±, PB ±)
Supports AB phase (1 ×/2 ×/4 ×) or CW/CCW mode, which can be configured through software for manual follow-up control. If the output of the handwheel is not 5V or the distance is far, it is recommended to add isolation or differential drive.
7. Synchronous start/stop (CN3)
CN3 is a 6-pin pin set, which includes STA (start) and STP (stop) signals. It is a bidirectional leakage signal and can be cascaded with multiple cards. The software can achieve simultaneous start stop of multiple axes by calling functions such as _8132ustart_mave_all(), or it can be driven by external switches. When wiring, please note that the+5V and GND of CN3 come from the PCI bus.
Sports mode and core function
The motion control of PCI-8132 is completed by ASIC PCL5023, and the PC only needs to issue instructions. The following are common patterns and corresponding functions (C language, Windows DLL)。
1. Initialization and Configuration
_813_2Initial() or _813_2InitialA(): Scan all PCI-8132 cards and return the number of cards and IRQ/base address.
_8132uset_pls_outmode (axis, mode): Set the pulse output mode, 0=OUT/DIR, 1=CW/CCW.
_8132uset_pls_iptmode (axis, mode): Set the encoder input mode, where 0-2 is 1 ×/2 ×/4 × AB phase, and 3=CW/CCW.
_8132uset_cnt_strc (axis, src): Counter source, 0=command pulse, 1=external encoder.
2. Continuous speed motion
_8132uv_mave (axis, stru-vel, max-vel, Tacc): Trapezoidal acceleration to constant speed.
_8132usv-move (...): S curve acceleration.
_8132uv_change (axis, max-vel, Tacc): Variable speed during operation (only applicable to continuous mode).
_8132uv_stop (axis, Tdec): Decelerate and stop.
3. Point motion (trapezoidal/S-shaped curve)
Trapezoidal absolute/relative: _8132ua_mave/_8132ur_mave (waiting for completion), _8132ustart_2 move/_8132ustart_r_move (returning immediately).
Asymmetric trapezoid: _8132uta_move/_8132ut_move (acceleration and deceleration times can be set separately).
S-curve: _8132us_mave/_8132urs_mave/_8132utas_move (including linear acceleration segment and S-segment time).
_8132umotion-done (axis): Query the motion status (return 0=in motion, 1=completed, 2-5=stopped at limit/origin/alarm, etc.).
4. Two axis interpolation
First, map the two axes using _8132umap_axes (2, axes_array), and then set the composite velocity and acceleration using _8132uset_move_cpeed (str, max) and _8132uset_move_caccel (Tacc).
_8132umove_xy (cardNo, x, y) performs absolute line interpolation (waiting for completion), and 8132ustart_mave_xy is non blocking.
After interpolation is completed, call _8132urecover_xy (cardNo) to restore the single axis mode, otherwise the subsequent single axis motion will be abnormal.
5. Zero Return Mode
_8132uset_home_comfig (axis, home_made, org-logic, org_1atch, ez-logic) configuration:
Home_rode=0: Only ORG stops (high-speed)
Home_rode=1: Wait for EZ (index) to stop (high-speed) after ORG is triggered
Home_rode=2: After triggering ORG, slow down to the starting speed and wait for EZ to stop
_8132uhome_mave (axis, svel, mvel, accel) returns to zero, with the direction determined by the velocity sign.
6. Handwheel Follow
_8132_set_manu_iptmode(axis, ipt_mode, op_mode): Set up handwheel input mode and independent/shared mode (one handwheel controls two axes simultaneously).
_8132uset_manu_oxis (cardNo, manu_oxis): Select which axis is controlled by the handwheel.
_813_2umans_move (axis, max-vel): Enable handwheel mode to limit maximum speed.
You must call _8132uv_stop (axis, Tdec) to exit this mode.
7. Hardware location comparison
_8132.Set_CmpMode (axis, mode): Comparison condition (0=increment greater than, 1=equal to, 2=decrement less than).
_8132.Set_CmpData (axis, value): Set a single comparison point.
_813_2Build_Cmp_Table (axis, table, size): Create a comparison table of up to 1024 points.
_8132.Set_Cmp_Table (axis, enable): Enable the comparison table. During motion, whenever the actual position matches a point in the table, the CMP pin outputs a 100 μ s pulse and can trigger an interrupt.
Used for aerial photography (visual triggering) or aerial cutting (synchronous cutting).

Interruption and multi card synchronization
1. Interrupt source setting
_The bit definitions of 8132uset_int_factor (axis, int_factor) include: limit (bit0), deceleration (bit1), alarm (bit2), stop signal (bit3), zero return completion (bit5), preset motion completion (bit6), interpolation completion (bit7), variable speed stop (bit13), encoder error (bit14), start signal (bit15), acceleration completion (bit16), deceleration start (bit17), RDY valid (bit23), etc.
Under Windows, by creating an event handle and using _8132.INT-Enable (cardNo,&hEvent) and WaitForSingleObject to respond to interrupts in a separate thread. In DOS, it is necessary to write ISR (fixed function names such as _8132uisr0) and pay attention to interrupt sharing.
2. Multi card synchronization
Multiple cards are cascaded with STA/STP through CN3, and the software call _8132ustart_mave_all (len, axes, pos, str-vel, max-vel, Tacc) can make all axes start in the same control cycle. Cooperate with _8132uwait_for'all (len, axes) to wait for all completion.
Debugging tool Motion Creator
Running Motion Creator on Windows can automatically recognize installed PCI-8132 cards, display base address and IRQ. Users can configure pulse mode, encoder source, limit logic, zero return mode, interrupt factor, etc. in the "Axis Configuration" window and save them as an "8132.cfg" file. Then, in the "Axis Operation" window, real-time monitoring of position (command/actual/error), I/O status (green/red/black), and manual execution of continuous motion, point motion, zeroing, and handwheel testing greatly facilitate on-site debugging and parameter tuning.
Typical wiring with servo drives (using Panasonic as an example)
Pulse output: OUT1+/OUT1- connected to driver PULS+/PULS -, DIR1+/DIR1- connected to SIGN+/SIGN -, default differential mode.
Encoder feedback: The driver encoder divides the output frequency (such as A+/A -, etc.) and connects it to EA+/EA -, etc. It is necessary to confirm that the voltage meets the requirements.
Control signal:
SVON is connected to the driver to enable input (such as/S-ON).
ERC (Open Set) requires a bias counter connected to the driver through a transistor conversion circuit to clear the input (CL+/CL -), as the driver side may be a line driven input.
ALM and INP are respectively connected to the driver alarm output and the in place output (pay attention to polarity).
Limit/origin switch: Use 24V normally open contacts to connect PEL/MEL/ORG, and connect the common terminal to EXGND.
Universal I/O can be used to control peripheral relays or read button status.
After the wiring is completed, first test the single axis forward and reverse, limit stop, and zero return in Motion Creator, confirm that there are no errors, and then write the application program.
Common troubleshooting
Possible causes and countermeasures of the phenomenon
The system cannot recognize the card. Check if the PCI slot is in good contact; Slot replacement test; Confirm that PCI resources are not disabled in BIOS
The motor does not rotate, but the software does not report an error. Check if the pulse output mode (OUT/DIR vs CW/CCW) matches the driver; Check differential/open circuit jumpers; Measure for voltage changes between OUT ±
Encoder feedback reading error check whether the EA/EB wiring is reversed; Confirm that set_cnt_strc is set to external; Confirm that pls_iptmode is consistent with the actual encoder type (AB phase 1 ×/2 ×/4 ×)
After triggering the limit switch, if it cannot move in reverse, check if the limit switch type (normally open/normally closed) is consistent with the S1 setting; Check if the limit signal is locked, software clearing or reverse movement is required
Check the polarity of ORG and EZ logic for inconsistent return to zero position; If using home_made=1 or 2, ensure that the ORG signal remains valid until EZ arrives (latch=1 can be set)
The interpolation motion is not coordinated, and it has been confirmed that map_oxes has been called, and the synthesis speed/acceleration settings are reasonable; Check the two axis motion ratio and resolution ratio set_cove_ratio
Check the PA/PB wiring and type (AB phase or CW/CCW) for ineffective handwheel control; Confirm that manu_mave has been called and v_stop has not been called to exit; Check the maximum speed limit
Interrupt unresponsive. Check event handle and thread under Windows; Confirm the correct installation of interrupt vectors under DOS; Check if the interrupt factor setting and IRQ are occupied by other devices
