This article explains how to trigger and configure the homing (zero-return) function on the A6-RS series servo motor using Modbus RS485 commands. It covers all relevant parameters (C10.00 – C10.0B), supported homing modes, and a step-by-step command sequence you can follow directly.
1. Parameter Reference
1.1 C10.00 – Homing Trigger Method
| Value | Meaning | Description |
|---|---|---|
| 1 | Communication write | With the servo in position mode and enabled, writing C10.00 from 0 → 1 triggers one homing cycle. After homing completes, you must write C10.00 = 0 first, then write 0 → 1 again to re-trigger. |
| 2 | DI trigger | Assign any DI port's function to 25 (Homing Start Enable) and trigger homing via an external physical switch. |
| 3 | Set current position as origin | Writing C10.00 from 0 → 3 causes the drive to zero the current position without rotating the motor. C10.00 automatically resets to 0 when done. No servo enable is required; the drive only needs to be in position mode. |
RS485 command examples:
Method 1 – Communication write:
01 06 10 00 00 01 (Set C10.00 = 1 → trigger homing)
01 06 10 00 00 00 (Set C10.00 = 0 → reset)
Method 2 – DI trigger (DI3 used as an example):
01 06 04 08 00 19 (Set C04.08 = 25 → assign DI3 function to Homing Start Enable)
01 06 04 09 00 01 (Trigger DI3: set C04.09 = 1)
01 06 04 09 00 00 (Release DI3: set C04.09 = 0)
Important:
- Methods 1 and 2 require the servo to be enabled; otherwise homing will fail.
- Method 3 does not require servo enable or any other parameter setup.
- Method 2 is typically triggered by a physical switch and does not rely solely on RS485 commands.
1.2 C10.01 – Homing Mode Selection
The A6-RS series supports 33 homing modes. Detailed operating logic for each mode is described in the user manual starting from page 96.
RS485 command examples:
01 06 10 01 FF FF FF FF FF FF FF FE (Set C10.01 = -2)
01 06 10 01 FF FF FF FF FF FF FF FF (Set C10.01 = -1)
01 06 10 01 00 01 (Set C10.01 = 1)
...
01 06 10 01 00 23 (Set C10.01 = 35)
1.3 C10.02 – Homing Initial Speed
Some homing modes involve bidirectional travel: an initial (high-speed) phase followed by a final (low-speed) phase.
01 06 10 02 00 C8 (Set C10.02 = 200 → 200 RPM)
1.4 C10.03 – Homing Final Speed
The reverse-travel distance is short, so the final speed should not be set too high.
01 06 10 03 00 0F (Set C10.03 = 15 → 15 RPM)
1.5 C10.04 / C10.06 – Acceleration / Deceleration Time
01 06 10 04 01 F4 (Set C10.04 = 500 → 500 ms acceleration)
01 06 10 06 01 F4 (Set C10.06 = 500 → 500 ms deceleration)
1.6 C10.08 – Homing Timeout
If the homing duration exceeds this value, the drive raises an ALF4.0 alarm. Setting this value too small—especially at low speeds—can prevent homing from completing even when all other parameters are correct.
01 06 10 08 75 30 (Set C10.08 = 30000 → 30 000 ms)
1.7 C10.0A / C10.0B – Homing Position Calibration (Offset)
These parameters define the offset between the mechanical absolute zero (working zero) and the electrical/physical reference point found during homing. Typically the motor first decelerates on a limit switch or sensor, then searches for the encoder Z-phase (index pulse). Because the Z-phase and the mechanical zero may not coincide, an offset is used for calibration. The default value is 0.
01 06 10 0A 00 00 (Set C10.0A = 0 → calibrate by relative position)
01 06 10 0A 00 01 (Set C10.0A = 1 → calibrate by absolute position)
01 06 10 0B XX XX (Set C10.0B = offset value, adjust per your application)
2. Homing via RS485 – Command Examples
2.1 Default DI Port Assignments
| DI Port | Default Function |
|---|---|
| DI1 | Positive limit switch |
| DI2 | Negative limit switch |
| DI8 | Home (origin) switch |
Wiring reference video: https://www.youtube.com/watch?v=P4RseLbtFtA
2.2 Verifying Homing Completion
Read the current position:
01 03 40 16 00 01 (Read U40.16 – motor absolute position)
01 03 10 0B 00 01 (Read C10.0B – mechanical origin offset)
After homing completes, U40.16 should equal C10.0B.
Read the homing-complete signal:
01 03 04 39 00 01 (Return value = 1 → DO5 outputs the homing-complete signal)
2.3 Homing Mode Commands
Mode -2 (Collision with positive mechanical limit)
01 06 10 01 FF FF FF FF FF FF FF FE (Set C10.01 = -2)
01 06 10 00 00 01 (Trigger homing)
Note: Set the initial speed low. The motor will first travel toward and collide with the positive mechanical limit, remain blocked for approximately 2 seconds, then reverse to search for the zero point. The positive-direction torque limit is set via C03.43 (default 300 %, i.e. 3× overload):
01 06 03 43 XX XX
Mode -1 (Collision with negative mechanical limit)
01 06 10 01 FF FF FF FF FF FF FF FF (Set C10.01 = -1)
01 06 10 00 00 01 (Trigger homing)
Note: Same principle as Mode -2, but the motor collides with the negative mechanical limit. The negative-direction torque limit is set via C03.44 (default 300 %):
01 06 03 44 XX XX
Modes 1 – 14
| Mode | Set C10.01 | Trigger Command |
|---|---|---|
| 1 | 01 06 10 01 00 01 |
01 06 10 00 00 01 |
| 2 | 01 06 10 01 00 02 |
01 06 10 00 00 01 |
| 3 | 01 06 10 01 00 03 |
01 06 10 00 00 01 |
| 4 | 01 06 10 01 00 04 |
01 06 10 00 00 01 |
| 5 | 01 06 10 01 00 05 |
01 06 10 00 00 01 |
| 6 | 01 06 10 01 00 06 |
01 06 10 00 00 01 |
| 7 | 01 06 10 01 00 07 |
01 06 10 00 00 01 |
| 8 | 01 06 10 01 00 08 |
01 06 10 00 00 01 |
| 9 | 01 06 10 01 00 09 |
01 06 10 00 00 01 |
| 10 | 01 06 10 01 00 0A |
01 06 10 00 00 01 |
| 11 | 01 06 10 01 00 0B |
01 06 10 00 00 01 |
| 12 | 01 06 10 01 00 0C |
01 06 10 00 00 01 |
| 13 | 01 06 10 01 00 0D |
01 06 10 00 00 01 |
| 14 | 01 06 10 01 00 0E |
01 06 10 00 00 01 |
Modes 17 – 30
The operating logic is identical to Modes 1 – 14. The only difference is that Modes 17 – 30 do not search for the encoder Z-phase signal as the origin. Refer to the user manual (page 96 onward) for the specific switch/sensor requirements of each mode.
Modes 33, 34, 35
| Mode | Set C10.01 | Trigger Command |
|---|---|---|
| 33 | 01 06 10 01 00 21 |
01 06 10 00 00 01 |
| 34 | 01 06 10 01 00 22 |
01 06 10 00 00 01 |
| 35 | 01 06 10 01 00 23 |
01 06 10 00 00 01 |
Note: Mode 35 works the same as C10.00 = 3: the current position is set as the origin and the motor does not rotate.
3. Complete Command Sequence (Example: Homing Mode 7)
01 06 10 01 00 07 (Set homing mode = 7)
01 06 10 02 00 C8 (Set initial speed = 200 RPM)
01 06 10 03 00 0F (Set final speed = 15 RPM)
01 06 10 04 01 F4 (Set acceleration time = 500 ms)
01 06 10 06 01 F4 (Set deceleration time = 500 ms)
01 06 10 08 75 30 (Set homing timeout = 30 000 ms)
01 06 04 11 00 01 (Enable the servo)
01 06 10 00 00 01 (Trigger homing)
After homing completes, verify the result:
01 03 40 16 00 01 (Read U40.16 – absolute position)
01 03 10 0B 00 01 (Read C10.0B – origin offset)
01 03 04 39 00 01 (Read homing-complete signal; expected return = 1)
Once homing succeeds, the drive outputs a homing-complete signal on the DO5 port. Your host controller can monitor this signal to confirm that homing has finished.
4. Important Notes & Safety Warnings
- Servo enable is mandatory for Homing Trigger Methods 1 (communication write) and 2 (DI trigger). Method 3 (set current position as origin) does not require enable.
- Edge-trigger requirement: After triggering homing with C10.00 = 1, you must write C10.00 = 0 before writing C10.00 = 1 again. The homing cycle is triggered on the 0 → 1 rising edge.
- Collision-based modes (-2 and -1): Always set the initial speed low. Excessive speed during mechanical-limit collision can damage the mechanical structure. Also verify the torque-limit parameters C03.43 (positive) and C03.44 (negative), both defaulting to 300 %.
- Homing timeout (C10.08): Set a reasonable value. If it is too small, the drive will raise an ALF4.0 alarm and homing will not complete, even if every other parameter is correct.
- Modes 17 – 30 share the same logic as Modes 1 – 14 but skip the Z-phase search.
- Mode 35 is equivalent to C10.00 = 3: the current position becomes the origin with no motor movement.
- For detailed operating diagrams of each homing mode, please refer to the A6-RS user manual, page 96 onward.