In industrial automation production lines, ADLINK AMP-204C (4-axis) and AMP-208C (8-axis) DSP pulse motion control cards are widely used in servo/stepper drive systems due to their high-performance trajectory planning and rich I/O interfaces. However, from hardware installation to motion parameter tuning, engineers often encounter tricky problems such as card recognition failure, motor unresponsive, position deviation, and emergency stop triggering errors. This article combines common scenarios in homework sites and provides a systematic methodology for troubleshooting and optimization, with AMP-204C/208C as the core, to help technicians quickly locate the root cause and restore normal equipment operation.
The 'invisible killer' during the hardware installation phase
1.1 PCI bus recognition exception
Phenomenon: After inserting the PCI slot, the AMP-204C/208C device cannot be found in Windows Device Manager or an exclamation mark is displayed.
Key points of investigation:
Slot compatibility: This card complies with the PCI Rev. 2.2 specification and supports 3.3V and 5V PCI voltages, but some industrial computers only support specific slots. Suggest replacing with a white 32-bit PCI slot and ensuring full insertion.
BIOS IRQ allocation: Card IRQ is automatically allocated by the PCI controller. If the PCI IRQ in the motherboard BIOS is manually locked, the "Auto" mode needs to be restored.
Driver installation sequence: It is necessary to install the accompanying WDM driver (supporting XP/7 32/64 bits) first, and then insert the hardware. If the order is reversed, the driver needs to be uninstalled and reinstalled in safe mode.
Static electricity protection: Wear a grounding wristband before operation, otherwise it may damage the DSP or FPGA chip, resulting in inability to enumerate.
Official manual prompt: Section 2.3.3 lists potential reasons for "card not displayed", including incorrect driver installation or NET Framework 3.5 is missing - MotionCreatorPro2 relies on this framework, and if it is not installed, the software cannot be opened.
1.2 Terminal board DIN-825-GP4 power supply missing
Phenomenon: After the motor is powered on, there is no action, and the I/O status indicator lights in MotionCreatorPro2 are all dark, but the software can be turned on.
Root cause: The isolation circuits of AMP-204C/208C are all arranged on the terminal board DIN-825-GP4, which requires an independent 24Vdc external power supply (connected to the J5 terminal). If 24V is not connected or the polarity is reversed, all optocouplers will not work, and even if the card is normal, there will be no output/input signal.
Verification method: Measure the voltage between pins 1-2 (24V+) and 3-4 (GND) of J5, and check the onboard power indicator light (if any). Section 2.8 of the manual emphasizes that DICOM (Digital Input Common) should be connected to 24V+, and DOCOM (Digital Output Common) should be connected to 24V -, otherwise the I/O logic will be confused.
Matching Trap in Signal Connection
The soul of a motion control card lies in the precise transmission of pulse commands and feedback, and wiring errors or mismatched levels are the primary reasons for the motor running or not moving.
2.1 Incompatibility between pulse output form and driver
AMP-204C/208C supports two pulse formats, OUT/DIR and CW/CCW, and can be switched through the axis parameter PRA-PULSE.OUT (0x81). If the driver is set to "pulse+direction" and the card is set to "CW/CCW", the motor will only rotate in one direction or experience severe shaking.
On site rapid diagnosis:
Measure pins 6 (OUT+) and 24 (DIR+) of the CMPx connector with an oscilloscope and observe for any pulses.
If the output frequency is normal but the motor does not rotate, check the driver parameters (such as electronic gear ratio, pulse input mode).
For Open Collector input drivers, it is necessary to pull a resistor (typical value 2.2k Ω~4.7k Ω to 5V) on the signal line, otherwise the driving current will be insufficient. Section 3.1 of the manual clearly states a warning: The maximum charging current of the controller Line Driver chip (26LS31) is 20mA and must not exceed the limit, otherwise the output stage will be damaged.
2.2 Encoder feedback signal disorder
AMP-204C/208C supports up to 8 differential encoding inputs (EA ±, EB ±, EZ ±), with a maximum input frequency of 20MHz (4x AB mode). Common feedback anomalies include:
The counting direction of the position is opposite: the axis parameter PRA-INCODER_DIR (0x85) can reverse the counting direction, but it needs to be consistent with the actual rotation direction of the motor.
Feedback value of 0 or jump: Check if the encoder cable shielding layer is single ended grounded and if the differential line is twisted in pairs. Section 3.2 of the manual states that the maximum input current of receiver 26LS32 is also 20mA. If it is mistakenly connected to a non differential signal or long-distance transmission (>10 meters), it is easy to introduce noise.
Z-phase (EZ) loss: If the EZ signal is not correctly connected during the zeroing process, it will cause Home Mode 0/1 to fail to complete. Use an oscilloscope to confirm whether the EZ pulse occurs during each rotation of the motor.
2.3 Emergency stop and limit switch logic inversion
This card provides hardware EMG (P1-A pin 51) and PEL/MEL (positive/negative limit) inputs. The effective logic levels of these signals can be inverted through axis parameters (such as PRA-EL_LOGIC, PRA-EMG_LOGIC). If a normally closed (NC) switch is used on site and the parameter is set to "non inverting" (default 0), the signal will be low when the switch is closed, and the card will be considered as triggering protection, resulting in all movements being prohibited.
Response measures:
On the I/O monitoring page of MotionCreatorPro2, check the status lights of EMG, PEL, and MEL. Normally, they should be "OFF" (not triggered).
If the light is always on, first check the wiring of the external switch, then adjust the corresponding logic parameters (0 → 1 or 1 → 0) and save them to the EEPROM (call APS_save_eep after using APS_set_axis_param).
Section 4.10.1 of the manual provides a detailed explanation that the rear axle stop code triggered by EMG is 1 (STOP_EMG), which can be read through APS_get-stop_comde.

The 'gray area' of sports parameter configuration
After the hardware connection is correct, fine-tuning the software parameters is the key to determining the motion performance, especially in terms of unit conversion, acceleration and deceleration curves, and zeroing methods.
3.1 Pulse equivalent setting error leads to position deviation
The axis parameter PRA-UNIT_SACTOR (0x86) defines the user coordinate distance corresponding to one rotation of the motor. If the calculation is incorrect, the actual distance of point-to-point (PTP) movement will deviate significantly from the set value. Section 4.2.2 of the manual provides the formula:
text
Unit Factor = (Encoder Resolution / Pitch) × (N/M)
For example, if the encoder has 10000 pulses per revolution, the screw pitch is 10mm, the user unit is μ m, and the reduction ratio is 2:1, then the factor=10000/(10 × 1000) × 2=2.
Common mistake: Ignoring reduction ratio or confusing units (mm vs μ m). It is recommended to first set the current position to zero using APS_det_position, then issue an absolute position command, measure the displacement with a dial gauge, and reverse calculate the factor for correction.
3.2 Excessive acceleration and deceleration time causing overshoot or driver alarm
The parameters of T-shaped or S-shaped curves (ACC, DEC, VS, VM, VE) need to be matched with the load inertia. If the acceleration is set too high (such as>10 ^ 7 unit/s ²), the motor may experience a sudden increase in current during startup, and the driver may report overcurrent (ALM). Section 4.2.3 of the manual emphasizes that when the movement distance is insufficient, the controller will automatically reduce the maximum speed (VM) to maintain acceleration, but the acceleration upper limit still needs to be set reasonably.
Debugging technique: First use the JOG function (continuous mode) to jog at low speed (such as 100 pulse/s), confirm that the motor runs smoothly, and then gradually increase VM and ACC. If there is a "step loss", the driver output current needs to be increased or the ACC needs to be reduced.
3.3 Improper selection of zeroing mode
This card supports three return to zero modes (Home Mode=0/1/2), based on ORG signal, limit signal (EL), or single EZ signal. The most common problem on site is "the position is one fixed value away from the mechanical origin after zeroing is completed" - this is usually due to the failure to set PRA_SHIFT (offset) or EZ alignment to enable PRA_SHIFT, which is not enabled correctly. Manual figures 4-10 to 4-12 provide detailed demonstrations of the stopping edge under different combinations. Engineers need to select the corresponding PRA_COME DIR (direction) based on the actual sensor installation position (normally open/normally closed, along the triggering direction).
Quick check: manually push to the physical origin, read the current command position, and set the value as the offset (negative value) to compensate.
Hidden faults in communication between software and upper computer
4.1 The motion command cannot be executed but there are no errors reported
Possible reasons:
The axis is in an 'abnormal stop' (ASTP=1) state, such as previously triggered by ALM or EMG but not cleared. APS_clear_stop needs to be called to clear the stop code.
The servo ON signal (SVON) was not output, resulting in the driver not being enabled. Check the axis parameters PRA_SVON_LOGIC and hardware wiring (CMPx pin 1).
The software limit (SPEL/SMEL) has been triggered, but the coordinates have exceeded the limit value. You need to manually move the axis back to the safe zone (via JOG or manually modify the command position) before resetting SPEL_EN/SMEL_EN.
4.2 MotionCreatorPro2 is unable to capture curves
The sampling function depends on the correct signal source settings (such as SAMP_SRC_CMD-POS, SAMP_SRC_FBK-POS). If "Feedback speed" is selected but the encoder is not connected, the curve will be zero. In addition, the sampling period is set to 1ms by default. If higher resolution is required, the control period can be adjusted (through APS_det_controll_cycle), but attention should be paid to the DSP load rate (recommended in the manual to be below 70%).
Understanding and resetting of security protection mechanisms
5.1 Recovery process after triggering hardware protection
When EMG, ALM, PEL/MEL are triggered, the axis will immediately stop (immediate stop or deceleration stop is set by PRA_CL_MODE). Recovery steps:
Eliminate external faults (such as releasing the emergency stop button, clearing the servo alarm).
Call APS_clear_stop (axis_id) to clear the stopped state.
Re execute zeroing or absolute positioning (as coordinates may be lost at the moment of stopping).
If you need to turn off SVON before turning it back on, you can use APS_det_servo_on.
5.2 Mistriggering of Software Watchdog
Watchdogs are used to monitor whether the upper computer program is in a "dead loop". Once the timeout occurs, the card will automatically execute preset actions (Servo off, DO off, PWM off). If there are frequent breakpoints or single step execution during the debugging process, the watchdog is prone to timeout, resulting in unexpected shutdown. Temporary solution: Increase the watchdog timeout period (e.g. 1000ms) or temporarily disable it (APSw_dt_start (0)), and wait for the program to stabilize before enabling it.
Comprehensive troubleshooting flowchart
For the high-frequency problem of "motor not turning", it is recommended to check in the following order:
Is the 24V terminal board functioning properly and is the card power indicator light (if any) on.
PCI recognition ->Whether the device manager is visible and whether the driver version is correct.
Is the logic of I/O status → EMG/PEL/MEL/ALM correct (no trigger).
SVON output → Measure whether CMPx pin 1 enables the voltage level to ground.
Pulse output → Measure OUT+and DIR+with an oscilloscope to confirm frequency and direction changes.
Encoder feedback → manually rotate the motor shaft to check if the position counter changes.
Is the unit factor, acceleration and deceleration, and maximum speed reasonable for axis parameters.
Motion command ->Use APS_ptp or JOG to test and check if the return value is ERR_CoError.
Maintenance and replacement suggestions
Although AMP-204C/208C is not a discontinued model, if hardware damage occurs on site (such as I/O chip burnout), it is recommended to replace the entire card or terminal board first. After replacement, it is necessary to read the EEPROM parameters from the original card (using APS_get-eep series API) and write them to the new card to avoid reconfiguring hundreds of parameters. At the same time, pay attention to whether the firmware version of the new card is consistent - the manual Revision 2.00 was released in 2014. If using the new firmware, some parameter addresses may change, and official technical support should be consulted.
