DS402 Drive Based Homing

What is DS402 Drive Based Homing?

Drive-based homing uses preloaded methods available on your drive. This allows for homing to be performed entirely in the drive without network latencies producing more accurate results. Drive-based homing is the recommended homing strategy.

DS402 is a set of profile specifications that standardize the functional behavior of controllers for servo drives, frequency inverters, and stepper motors.

It is important to follow your drive’s specific instructions on how to home. Most drive’s include documentation on homing procedures, limit switch configuration, etc.

DS402 Drive Based Homing with RapidCode

The following figure shows the relationship between the input objects and the output objects in the Homing Mode. You can specify the speeds, acceleration rate, and homing method. You can also use home offset to offset zero in the user coordinate system from the home position.

STEPS

Configure

Using the NetworkNode.ServiceChannelWrite(index, subindex, byteSize, value) method from the Axis class, you can configure the following options:

Home Offset – Optional as it is normally zero.

Index

0x607C

Subindex

0x0

byteSize

4

Home Method

Index

0x6098

Subindex

0x0

byteSize

1

Home Speed (when searching switch)

Index

0x6099

Subindex

0x1

byteSize

4

Home Speed (when searching zero)

Index

0x6099

Subindex

0x2

byteSize

4

Home Acceleration

Index

0x609A

Subindex

0x0

byteSize

4

Change Mode of Operation to 6 - Homing Mode

Index

0x6060

Subindex

0x0

byteSize

1

Value

6

Ready Axis

Abort() - Disable the Axis.

ClearFaults() - Clear any Faults.

AmpEnableSet() - Enable the axis to trigger the home start.

NetworkOutputOverrideSet() - Take Control of the associated Axis’s Control Word.

Ensure people and objects are clear of motion.

Home

Start Homing by setting bit 4 of the Control Word to 1. (Control Word from 15 -> 31).

NetworkOutputValueSet() - Set values to the Axis to Start Homing.

Evaluate Homing Success

You can monitor the Status Word to determine if/when homing is complete

Status Word bit 10 = 1(HIGH), if Homing is Complete..

Status Word bit 12 = 1(HIGH), if Homing Target was attained.

Status Word bit 13 = 1(HIGH), if there was a Homing error.

Clean Up

AmpEnableSet() - Disable the Axis.

ClearFaults() - Clear any Faults.

NetworkOutputOverrideSet() - Disable Output Override.

Restore the mode of operation to the control mode you want to run in.

modeOfOpIndex = 0x6060 // Mode of Operation (DS402 Standard)
modeOfOpSubindex = 0x0 // Subindex
modeOfOpByteSize = 1 // INTEGER8 (1 byte)
modeOfOpValueToDEFAULT = 8 // Hex value to determine Mode (8 = Cyclic synchronous position mode)
ServiceChannelWrite(modeOfOpIndex, modeOfOpSubindex, modeOfOpByteSize, modeOfOpValueToDEFAULT);

Drive Based DS402 Homing with RapidSetup

RapidSetup also allows you to home your DS402 Ethercat Drive.

New Rapid Setup
Old Rapid Setup
New Rapid Setup

New RapidSetup

Home Method: A combobox which lists the DS402 Home Methods. Not all methods may be supported by a drive.

Speed to Switch: The initial speed used to find the Home Switch.

Speed to Zero: The second speed used to find the Index or Edge.

Acceleration: Acceleration used during Homing.

Home Offset: Any post Discovery Offset which you’d like used in the process.

* Units are in Drive Units rather than User Units.

Old Rapid Setup

Old RapidSetup

Value: 2 - Homing with the positive limit switch and index pulse.

Drive Based DS402 Homing Methods

WARNING:

Drive Based Homing uses functions defined in firmware by the drive manufacturer. Below are diagrams of the DS402 standard but exact implementation by the manufacturer may differ.

The DS402 Standard
The DS402 Standard

(1) NegativeLimitSwitch RightIndex (2) PositiveLimitSwitch LeftIndex

(3) PositiveHome LeftIndex (4) PositiveHome RightIndex

(5) NegativeHome RightIndex (6) NegativeHome LeftIndex

(7) RisingHome LeftIndex PositiveStart (8) RisingHome RightIndex PositiveStart

(9) FallingHome LeftIndex PositiveStart (10) FallingHome RightIndex PositiveStart

(11) FallingHome RightIndex NegativeStart (12) FallingHome LeftIndex NegativeStart

(13) RisingHome RightIndex NegativeStart (14) RisingHome LeftIndex NegativeStart

(17) NegativeLimitSwitch (18) PositiveLimitSwitch

(19) PositiveHome NegativeMomentum (20)PositiveHome PositiveMomentum

(21) NegativeHome PositiveMomentum (22) NegativeHome NegativeMomentum

(23) RisingHome NegativeMomentum PositiveStart (24) RisingHome PositiveMomentum PositiveStart

(25) FallingHome NegativeMomentum PositiveStart (26) FallingHome PositiveMomentum PositiveStart

(27) FallingHome PositiveMomentum NegativeStart (28) FallingHome NegativeMomentum NegativeStart

(29) RisingHome PositiveMomentum NegativeStart (30) RisingHome NegativeMomentum NegativeStart

(33) Negative Index (34) Positive Index

(35) Current Position

(36) Negative Hard Stop (37) Positive Hard Stop

Drive Based Homing Sample App (C#)