In the field of industrial automation, motion controllers are the brain of servo/stepper systems. When old controllers (such as NextMove ESB original, other brands of PCI motion cards or PLCs) need to be replaced due to discontinuation, insufficient performance or malfunction, ABB's NextMove ESB-2 becomes an ideal upgrade choice with its 4-axis servo/4-axis stepper control capability, Mint structured Basic language, rich I/O and CANopen/Baldor CAN fieldbus. However, migrating from the old system to the new platform involves a series of tasks such as hardware installation, wiring, axis parameter configuration, servo ring tuning, and communication settings, and engineers need a practical guide from beginner to proficient.
This article is based on ABB's official technical manual and combines practical replacement experience to systematically review the selection comparison, installation precautions, I/O wiring, shaft type configuration, servo tuning methods, and common troubleshooting of NextMove ESB-2, helping readers smoothly complete the smooth upgrade of the control system.
Comparison of product selection and replacement of old systems
1.1 Model identification and functional differences
NextMove ESB-2 offers multiple sub models, with the main differences being the number of servo axes (3 or 4), serial port type (RS232 or RS485), and step output type (differential or open collector). The model coding rules are as follows: NSB202-501: NSB is a product series, where 202 represents 3 servo axes+4 stepper axes+2 additional encoder inputs, and 501 represents RS232 serial port+differential stepper output.
Model: Servo axis number, Step axis number, Additional encoder input, Serial port, Step output type
NSB202-501 3 4 2 RS232 differential
NSB202-502 3 4 2 RS485 differential
NSB203-501 3 4 2 RS232 collector open circuit
NSB203-502 3 4 2 RS485 collector open circuit
NSB204-501 4 4 1 RS232 differential
NSB204-502 4 4 1 RS485 differential
NSB205-501 4 4 1 RS232 collector open circuit
NSB205-502 4 4 1 RS485 collector open circuit
Key points for replacement selection:
The original system used pulse direction control for stepper motors: if the stepper driver is a differential input (such as RS422), select the differential output model; If it is a single ended co positive/co negative, select the electrode open circuit model.
The original system used RS232 serial port to communicate with HMI or PC, with the 501 suffix selected; If multiple RS485 networks are required, select the 502 suffix.
The original system controls 3 servos and 4 stepper motors, with NSB202/203 selected; If you need 4 servos, choose NSB204/2005.
1.2 Replace the old NextMove ESB
NextMove ESB-2 is a direct replacement for NextMove ESB, with fully compatible mechanical dimensions, mounting hole positions, and connector types. Therefore, cabinets with NextMove ESB can seamlessly replace ESB-2 without modifying the motherboard or rewiring. However, it should be noted that:
The firmware and Mint program of the old ESB can generally run directly on ESB-2, but it is recommended to recompile and download them using Mint WorkBench.
If the old ESB uses RS232 serial port, ESB-2 needs to choose the 501 model; If using RS485, select the 502 model.
Mechanical installation and electrical wiring
2.1 Installation Environment and Dimensions
Working temperature: 0~45 ℃, relative humidity ≤ 80% (below 31 ℃) linearly decreases to 50% (45 ℃).
Installation direction: It must be installed vertically, with the two slots on the metal base facing downwards to facilitate natural convection and heat dissipation.
Maintain a minimum gap of 20mm with adjacent devices, and reserve 70mm at the end for inserting serial port cables.
Dimensions: 245 x 140 x 45mm (length x width x height), weighing approximately 700g.
2.2 Power Supply and Grounding
Power supply: 24V DC (± 20%), typical power consumption of 50W (approximately 2A). It is recommended to use an independent 4A fuse for power supply.
Grounding: The system must be reliably grounded (single point grounding). All signal line shielding layers should be grounded at the controller end and grounded at both ends of the motor cable shielding layer.
ESD protection: Before operation, touch the grounded metal to discharge or wear an anti-static wrist strap.
2.3 Key Wiring Quick Check
Functional connector pins/description
24V power supply X1 1:0V, 2:+24V
Servo analog output (axis 0) X13 1: Demand0 (± 10V), 2: AGND
Encoder feedback (axis 0) X5 1: CHA+, 2: CHB+, 6: CHA -, 7: CHB -, 5: GND, 9:+5V output
Step output (axis 0) X2 differential type: STEP0+, STEP0-, DIR0+, DIR0-; Open collector type: STEP0, DIR0, and common GND
Universal digital input X8/X9/X10, with independent common terminals for each group (CREF0/1/2), configurable for high and low effectiveness
Universal digital outputs X4/X11 DOUT0-7 (total 500mA), DOUT8-11 (total 500mA)
Relay output X12 REL COM, REL NO, REL NC (passive contacts)
CAN bus RJ45 1: CAN+, 2: CAN -, 5: CAN V+(12-24V power supply)
USB programming port USB Type B 1: VBUS, 2: D -, 3: D+, 4: GND
Serial 9-pin female socket RS232: 2: RXD, 3: TXD, 5: GND; RS485: 7:TXA, 8:RXA, 5:GND
Attention: If using the driver enable function of digital output, a certain output (or relay) needs to be assigned to Drive Enable Output in the Digital I/O configuration and enabled in the program through the DRIVE ENABLE command.

Axis configuration and debugging process
3.1 Installing Mint WorkBench and Connecting Controllers
Download Mint WorkBench from the ABB official website (or use OPT-SW-001 CD) and install it on a Windows XP or higher version (32/64 bit) PC.
Connect NextMove ESB-2 to a PC using a USB cable or RS232 serial port cable. When connected via USB for the first time, Windows will automatically install the driver ("USB Motion Controller" will appear in Device Manager).
Start Mint WorkBench, select "Start New Project", scan the serial/USB ports, select NextMove ESB-2, and enter Fine tuning mode.
3.2 Axis Config Wizard
Click on the Axis Config icon in the Toolbox.
For each required axis, select "Servo" or "Stepper" in the Configuration column. The system automatically assigns hardware channels (such as Servo Channel 0 corresponding to Demand0 output); Stepper Channel 0 corresponds to STEP0/DIR0.
Click Finish, and the configuration will be downloaded to the controller. If it prompts' Hardware channel required is in use ', it means that the same channel is occupied by multiple axes. Please check and correct it.
3.3 Setting Scale Factor
Convert encoder counts to user units (such as revolutions, millimeters) through SCALEFACTOR. For example: 1000 line encoder x 4=4000 counts/revolution, set SCALEFACTOR (0)=4000, then the user unit 1=1 revolution. Set each axis separately in the Scale tab of the Parameters window.
3.4 Configuring Driver Enable Output
In the Digital Output tab of the Digital I/O window, drag an output (such as DOUT0 or Relay0) onto the Drive Enable OP axis icon on the right side.
Click Apply to enable the output to be assigned. Afterwards, the driver can be enabled through software or hardware buttons.
3.5 Step Axis Test
Ensure that the drive is powered on and enabled effectively.
Enter JOG (0)=200 (speed 200 user units/second) in the command line of the Edit&Debug window. The motor should rotate.
Enter JOG (0)=-200 in reverse, STOP (0) stops.
3.6 Servo axis testing and tuning
3.6.1 Preliminary testing
Ensure that the encoder feedback is correctly connected and oriented. Enter TORQUE (0)=5 at the command line, the motor should rotate and Velocity should display a positive value. If it is a negative value, the encoder A/B channels need to be swapped or the counting direction needs to be reversed using ENCODEMODE; Or use DACMODE to reverse the output polarity.
Use Fine tuning tools for step response testing.
3.6.2 Gain setting under current (torque) control mode
Suitable for drivers operating in current mode (torque loop). The steps are as follows:
Set the initial value of KDERIV to 1 and gradually increase it until there is resistance (such as 50) when turning the motor by hand.
Set KPROP to 1/4 of KDERIV (e.g. 12.5).
Select Move Type as Step, Distance as 1 turn (or 1000 user units), Duration as 0.15 seconds in the Fine tuning window, and click Go.
Observe the response curve:
Underdamped (overshoot): Increase KDERIV or decrease KPROP.
Overdamping (slow rise): Reduce KDERIV or increase KPROP.
Critical damping (fast and without overshoot): Ideal state.
Add an integral gain KINT (e.g. 0.1) to eliminate steady-state errors, and set KINTLIMIT=5% to limit integral saturation.
3.6.3 Gain setting in speed control mode
Suitable for drivers operating in speed mode. Mainly using speed feedforward KVELFF.
Calculate KVELFF: Measure the speed (rpm) of the motor under the+10V command. Formula:
Quadrature counts per servo loop
=rpm sixty×LOOPTIME(s)×counts/rev
Quadrature counts per servo loop= sixty rpm×LOOPTIME(s)×counts/rev
LOOPTIME defaults to 0.001 seconds. If the speed is 3000rpm and the encoder counts 4000 times per revolution, then the count per servo cycle is 3000/60 × 0.001 × 4000=200. The maximum DAC value of 2048 corresponds to 10V, so KVELF=2048/200 ≈ 10.24.
Set KVELFF as the calculated value and KPROP as 0.1, KDERIV=0。
Select Trapezoid move in Fine tuning, with a distance of 10 revolutions, and click Go. Observe the measured velocity and demand velocity curves. If the measured velocity is too low, increase KVELF, and if it is too high, decrease it.
Fine tune KPROP to reduce tracking error (see position curve).
3.7 Save Configuration
In the Edit&Debug window, use "Program → Generate Mint Startup Block" to generate all configuration parameters as startup blocks and save them as. mnt files. Load and run this file on the next power up to restore the complete configuration.
CAN bus communication configuration
4.1 CANopen mode
Hardware requirements: RJ45 connector, pin 5 needs to be connected to 12-24V (for optocoupler isolation power supply). Both ends of the network must be connected to a 120 Ω terminal resistor.
Software settings: Download CANopen firmware (via Install System File on Mint WorkBench). Set BUSBAUD (1)=500000 (500kbit/s) and BUSSIDE (1)=1 (master station) in Mint. Scan the slave station using NOSCAN and establish a connection through CONNECT.
4.2 Baldor CAN mode
Suitable for connecting ABB's ION series I/O nodes (InputNode8, OutputNode8, ioNode24/24, etc.) and KeypadNode operation panel.
Baldor CAN firmware needs to be downloaded. The node ID and baud rate are set through jumper wires (JP4/JP5 on the node). Use BUSBAUD (2) and NODETYPE commands to identify nodes in Mint.
4.3 Common CAN fault troubleshooting
Possible causes and solutions for the phenomenon
CANopen bus "passive" error count>127. Check for 12-24V power supply, terminal resistance, consistent baud rate for all nodes, and unique node ID
CANopen bus "off" error count>255 as above, and use BUSRESET (1) to reset the bus
Unable to detect a lack of power supply or wiring error at the node. Use an oscilloscope to measure the differential voltage between CAN_S and CAN_L (normal 2.5V ± 1V)

Common troubleshooting checklist
5.1 Controller unable to connect
Possible causes and solutions
The power supply is not connected. Measure the 24V voltage of X1 and check the fuse
USB driver not installed. Check if there is a "USB Motion Controller" in the Device Manager, unplug and point to the driver folder
The serial number is occupied. Close other software (such as serial assistant) and restart Mint WorkBench
Cable error: RS232 requires crossover (2-3 crossover, 5 direct connection)
5.2 Motor not rotating
Possible causes and solutions
Check the Drive Enable Output configuration for ineffective drive enable, and use a digital multimeter to measure if the output point is activated
Analog output/stepper output wiring error. Refer to the wiring diagram for verification
Encoder feedback lost. Use the Mint WorkBench Spy window to view the Encoder value. The manual axis should change
Trigger FOLLERROR to check the FOLLERORFATAL value when the following error is too large. Temporarily disable FOLLERORMODE=0 and enable it again after optimization
5.3 Motor runaway (loss of control)
Reason: The encoder direction is opposite to the polarity of the analog output, forming positive feedback.
Solution: Immediately disconnect the enable or cut off the 24V power supply. Check the ENCODEMODE and DACMODE settings. First, use TORQUE (0)=5 to observe the actual direction of rotation. If the encoder counts in the opposite direction, use ENCODEMODE to swap phase A/B.
5.4 Inaccurate return to zero position
Reason: Fast zeroing speed, limit switch jitter, and failure to use Z-pulse.
Improvement: Set HOMESPEED and HOMECREESPPEED, use HOMEINPUT to specify limit switches, and enable FASTLATCH in conjunction with Z-pulse precise positioning.
Engineering Proposal for Replacing Old Controllers
Hardware compatibility verification: Check the wiring diagram of the old system to confirm that the signal levels match (if the old system is 5V TTL and ESB-2 digital input is 24V, an intermediate relay needs to be added).
Program migration: If the old system uses Mint language, the startup block can be directly ported; If it is for other platforms (such as C language, ladder diagram), the motion logic needs to be rewritten. It can be quickly implemented using Mint's axis commands (MOVER, MOVEA, CAM, FLY, etc.).
Communication protocol conversion: The original system may communicate through Profibus, EtherCAT, etc. ESB-2 supports CANopen and can be converted through a gateway. Or directly use ESB-2's USB/serial port to communicate with the upper computer Modbus RTU.
Spare parts management: When purchasing, choose models with RS485 (suffix 502) for easy networking in the future. Additional procurement of encoder cables (CBL015MF-E3B, etc.) and CAN terminal resistors.
