This article provides practical examples for controlling the A6-RS series servo motor via Modbus RTU over RS485. It covers initial wiring, communication setup, and step-by-step command sequences for common operating modes.
1. Initial Connection and Communication Setup
What You Need
-
An A6-RS series servo driver with the motor and power cables connected.
-
One RJ45 Ethernet cable.
-
One RS485-to-USB adapter cable. If you are unsure which adapter to use, we recommend our product: USB to RS422/RS485 Serial Port Converter Adapter Cable (1.5 m).
-
Serial communication software or a controller capable of sending RS485 Modbus commands (e.g., QModMaster, Modbus Poll).
Wiring Instructions
Refer to the RS485 interface pinout in the A6-RS series manual.

Using the T568B RJ45 wiring standard,

select conductors 4, 5, and 8 (blue, blue-white, and brown) from the RJ45 cable and connect them to the RS485-to-USB adapter as follows:
| RJ45 Conductor | RS485 Adapter Terminal |
|---|---|
| 485+ | TXD+ |
| 485− | TXD− |
| GND | GND |

Step-by-Step Procedure
-
Keep one end of the RJ45 cable intact and plug it into the CN3 port on the driver.
-
Cut off the RJ45 connector on the other end. Strip conductors 4, 5, and 8, then solder or crimp them to the RS485-to-USB adapter according to the mapping above.
-
Connect the driver end to CN3 and the USB end to your PC.
-
Power on the driver. Open your serial communication software with the following default settings:
-
Baud rate: 115200
-
Data format: 8N1 (8 data bits, no parity, 1 stop bit)
-
Hardware flow control: None
-
-
Attempt communication with the driver.
⚠️ Important: If you need to retain parameters written via RS485, you must send the following save command before powering off. Otherwise, all parameters will revert to factory defaults after power is removed:
01 06 0A 05 00 01 CRC CRC
If communication fails, please refer to our Troubleshooting Guide.
2. Operating Mode Examples
2.1 Speed Control Mode
| Command | Description |
|---|---|
01 06 00 00 00 01 CRC CRC |
Set control mode to Speed Mode (C00.00 = 1) |
01 06 03 20 00 03 CRC CRC |
Use internal speed command (C03.20 = 3) |
01 06 12 00 00 01 CRC CRC |
Set speed profile to continuous/cyclic operation (C12.00 = 1) |
01 06 12 06 02 58 CRC CRC |
Set running speed to 600 rpm (C12.06 = 600) |
01 10 12 0A 00 02 04 00 64 00 00 CRC CRC |
Set acceleration time to 100 ms (C12.0A = 100) |
01 10 12 0C 00 02 04 00 64 00 00 CRC CRC |
Set deceleration time to 100 ms (C12.0C = 100) |
01 06 04 11 00 01 CRC CRC |
Enable motor and start running (C04.11 = 1) |
01 06 04 11 00 00 CRC CRC |
Emergency stop / disable motor (C04.11 = 0) |
2.2 Multi-Segment Speed Operation
| Command | Description |
|---|---|
01 06 00 00 00 01 CRC CRC |
Set control mode to Speed Mode (C00.00 = 1) |
01 06 03 20 00 03 CRC CRC |
Use internal speed command (C03.20 = 3) |
01 06 12 00 00 01 CRC CRC |
Set speed profile to continuous/cyclic operation (C12.00 = 1) |
01 06 12 01 00 01 CRC CRC |
Set speed profile start group to Group 1 (C12.01 = 1) |
01 06 12 02 00 02 CRC CRC |
Set speed profile end group to Group 2 (C12.02 = 2) |
01 06 12 06 00 64 CRC CRC |
Group 1 speed: 100 rpm (C12.06 = 100) |
01 10 12 08 00 02 04 00 64 00 00 CRC CRC |
Group 1 run time: 15000 ms (C12.08 = 15000) |
01 10 12 0A 00 02 04 00 64 00 00 CRC CRC |
Group 1 acceleration time: 100 ms (C12.0A = 100) |
01 10 12 0C 00 02 04 00 64 00 00 CRC CRC |
Group 1 deceleration time: 100 ms (C12.0C = 100) |
01 06 12 10 00 05 CRC CRC |
Group 2 speed: 5 rpm (C12.10 = 5) |
01 10 12 12 00 02 04 00 64 00 00 CRC CRC |
Group 2 run time: 15000 ms (C12.12 = 15000) |
01 10 12 14 00 02 04 00 64 00 00 CRC CRC |
Group 2 acceleration time: 100 ms (C12.14 = 100) |
01 10 12 16 00 02 04 00 64 00 00 CRC CRC |
Group 2 deceleration time: 100 ms (C12.16 = 100) |
01 06 04 11 00 01 CRC CRC |
Enable motor (C04.11 = 1) |
01 06 04 11 00 00 CRC CRC |
Emergency stop (C04.11 = 0) |
2.3 Absolute Position Move (5000 Pulses)
Default resolution: 10000 pulses per revolution (C00.02 = 10000).
| Command | Description |
|---|---|
01 06 00 00 00 00 CRC CRC |
Set control mode to Position Mode (C00.00 = 0) |
01 06 11 01 00 00 CRC CRC |
Set position command to absolute positioning (C11.01 = 0) |
01 06 03 00 00 02 CRC CRC |
Set position command source to pulse increment (C03.00 = 2) |
01 06 03 0D 00 01 CRC CRC |
Set running speed to 1 rpm (C03.0D = 1) |
01 06 03 0C 13 88 CRC CRC |
Set displacement to 5000 pulses (C03.0C = 5000) |
01 06 04 00 00 22 CRC CRC |
Configure DI1 as pulse-enable input (C04.00 = 34, i.e., 0x22) |
01 06 04 11 00 01 CRC CRC |
Enable motor (C04.11 = 1) |
01 06 04 01 00 01 CRC CRC |
Trigger DI1 (C04.01 = 1) |
01 06 04 11 00 00 CRC CRC |
Emergency stop (C04.11 = 0) |
01 06 04 01 00 00 CRC CRC |
Release DI1 (C04.01 = 0) |
2.4 Multi-Segment Absolute Positioning (Segment 1: 3000 Pulses; Segment 2: 8000 Pulses)
Note: In this mode, both segments are referenced to the origin (position 0). Segment 1 moves to +3000 and Segment 2 moves to +8000 (not relative to the end of Segment 1). For relative positioning, set
C11.01 = 1.
| Command | Description |
|---|---|
01 06 00 00 00 00 CRC CRC |
Set control mode to Position Mode (C00.00 = 0) |
01 06 03 00 00 01 CRC CRC |
Enable multi-segment position command (C03.00 = 1) |
01 06 11 00 00 00 CRC CRC |
Set to single-run mode (C11.00 = 0) |
01 06 11 03 00 01 CRC CRC |
Set position profile start group to Group 1 (C11.03 = 1) |
01 06 11 04 00 02 CRC CRC |
Set position profile end group to Group 2 (C11.04 = 2) |
01 10 11 06 00 02 04 0B B8 00 00 CRC CRC |
Group 1 displacement: 3000 pulses (C11.06 = 3000) |
01 06 11 08 00 05 CRC CRC |
Group 1 speed: 5 rpm (C11.08 = 5) |
01 10 11 0A 00 02 04 00 64 00 00 CRC CRC |
Group 1 acceleration time: 100 ms (C11.0A = 100) |
01 10 11 0C 00 02 04 00 64 00 00 CRC CRC |
Group 1 deceleration time: 100 ms (C11.0C = 100) |
01 10 11 0E 00 02 04 13 88 00 00 CRC CRC |
Group 1 post-run delay: 5000 ms (C11.0E = 5000) |
01 10 11 10 00 02 04 1F 40 00 00 CRC CRC |
Group 2 displacement: 8000 pulses (C11.10 = 8000) |
01 06 11 12 00 01 CRC CRC |
Group 2 speed: 1 rpm (C11.12 = 1) |
01 10 11 14 00 02 04 00 64 00 00 CRC CRC |
Group 2 acceleration time: 100 ms (C11.14 = 100) |
01 10 11 16 00 02 04 00 64 00 00 CRC CRC |
Group 2 deceleration time: 100 ms (C11.16 = 100) |
01 10 11 18 00 02 04 13 88 00 00 CRC CRC |
Group 2 post-run delay: 5000 ms (C11.18 = 5000) |
01 06 04 00 00 13 CRC CRC |
Configure DI1 as position-profile trigger input (C04.00 = 19, i.e., 0x13) |
01 06 04 11 00 01 CRC CRC |
Enable motor (C04.11 = 1) |
01 06 04 01 00 01 CRC CRC |
Trigger DI1 (C04.01 = 1) |
01 06 04 11 00 00 CRC CRC |
Emergency stop (C04.11 = 0) |
01 06 04 01 00 00 CRC CRC |
Release DI1 (C04.01 = 0) |
3. Parameter Address Mapping Rules
-
A6 series register addresses correspond directly to the parameter numbers in the manual—no additional conversion is needed. For example: C00.00 → address
0000; C03.20 → address0320. -
All parameter values in the manual are listed in decimal. In RS485 commands, they must be expressed in hexadecimal.
Data Types and Command Selection
| Data Type | Function Code | Example |
|---|---|---|
| U16 (16-bit unsigned) | 0x06 (Write Single Register) |
01 06 00 00 00 01 CRC CRC (write C00.00 = 1) |
| U32 (32-bit unsigned) | 0x10 (Write Multiple Registers) |
01 10 12 0A 00 02 04 00 64 00 00 CRC CRC (write C12.0A = 100) |
| I16 (16-bit signed) | 0x06 (same format as U16, supports negative values) |
Used for parameters such as speed direction |

U16/U32 Data Type Comparison Table 1

U16/U32 Data Type Comparison Table 2

U32 Data Write Format Description
U16 frame breakdown (01 06 00 00 00 01 CRC CRC):
| Field | Value | Meaning |
|---|---|---|
| Slave address | 01 |
Axis address (default 1 for single-drive testing) |
| Function code | 06 |
Write Single Register (U16) |
| Register address | 00 00 |
Parameter C00.00 |
| Write value | 00 01 |
Decimal 1 → hex 0001 |
| CRC | CRC CRC |
Modbus CRC-16 checksum |
U32 frame breakdown (01 10 12 0A 00 02 04 00 64 00 00 CRC CRC):
| Field | Value | Meaning |
|---|---|---|
| Slave address | 01 |
Axis address |
| Function code | 10 |
Write Multiple Registers (U32) |
| Start register | 12 0A |
Parameter C12.0A |
| Register count | 00 02 |
Two 16-bit registers |
| Byte count | 04 |
4 bytes of data |
| Write value | 00 64 00 00 |
Decimal 100 → hex 00000064 (high word first, low word second, per C0A.06 = 0) |
| CRC | CRC CRC |
Modbus CRC-16 checksum |
4. Quick-Reference Command Table
| Function | Modbus Command |
|---|---|
| Enable motor | 01 06 04 11 00 01 CRC CRC |
| Disable motor | 01 06 04 11 00 00 CRC CRC |
| Restore factory defaults | 01 06 31 02 00 01 CRC CRC |
| Read current motor speed | 01 03 40 01 00 02 CRC CRC (unit: rpm) |
| Read current absolute position | 01 03 40 16 00 02 CRC CRC (unit: pulses) |
| Read current motor torque | 01 03 40 03 00 02 CRC CRC (unit: 0.1%; 100.0% = 1× rated torque) |
| Read driver temperature | 01 03 40 30 00 02 CRC CRC (unit: 0.1 °C) |
✅ Tip: All CRC checksum values must be generated automatically by your serial communication tool. Do not enter them manually. In actual use, replace every
CRC CRCplaceholder with the correctly calculated 2-byte CRC-16 (Modbus) checksum.
