Overtravel Conditions
The PLCopen and Pipe Network motion engines can respond to overtravel conditions from the AKD and AKD2G drive family.
- As a safety feature, AKD and AKD2G drives ignore motion commands once an overtravel is detected in the direction of a hardware limit switch.
- The PLCopen or Pipe Network motion engine applies a stop action to axes when these overtravel conditions occur.
- While DS-402 Status word bit #11 (Internal Limit Active) is on, the controller follows the actual position of an axis.
- This prevents a sudden position jump when the drive resumes following the controller demand position.
Notes
Generation 1 AKD drives require setting a fieldbus parameter to enable this behavior.
- The default behavior of the motion engine can be modified by setting these Axis Boolean parameters:
- Pipe Network = ML_AXIS_PARAM_IGNORE_DRIVE_LIM_STATUS
- PLCopen = MC_AXIS_PARAM_IGNORE_DRIVE_LIM_STATUS
- When this parameter is set to TRUE, the motion engine:
- Ignores the DS-402 Status word bit #11 from the drive.
- Allows the application to take the appropriate action.
- See Configuring Generation 1 AKD Drives.
- By default, the motion engines attempts to stop axes connected to drives that are not part of the AKD or AKD2G family instead of the letting the drives do so.
- If a drive overrides the controller demand input when DS-402 Status word bit #11 is active, these Axis Boolean parameters need to be set to TRUE:
- Pipe Network = ML_AXIS_PARAM_DRIVE_OVERRIDE_ON_LIMIT_ACTIVE
- PLCopen = MC_AXIS_PARAM_DRIVE_OVERRIDE_ON_LIMIT_ACTIVE
- If a drive overrides the controller demand input when DS-402 Status word bit #11 is active, these Axis Boolean parameters need to be set to TRUE:
Configuring Generation 1 AKD Drives
When using generation 1 AKD drives, bit # 14 of the parameter FBUS.PARAM05 must be set high to allow KAS-IDE to respond to the hardware limit switches.
- See FBUS.PARAM1 TO FBUS.PARAM10.
- If FBUS.PARAM05 originally had a value of 0 (zero), typing
FBUS.PARAM05 16384
turns on bit # 14. - Remember to save your drive parameters to flash memory once bit # 14 is set, otherwise the behavior turns off once the drive is power cycled.
Coordinated Motion Behavior
An axis that is part of an axes group issues an emergency stop on the axes group when it experiences an overtravel condition.
- All axes remain enabled under servo control once the emergency stop action completes.
- This action puts the axes group into an error state.
To recover from this state:
- Call MC_GrpReset on the axes group
- Check the states of the I/O points configured for the positive and negative limit switches on the drives associated with the axes to figure out which axis and which limit switch cause the error.
- Command motion in the direction opposite to what was previously commanded.
Pipe Network Behavior
A Pipe Network axis issues a stop action on the axis when it experiences an overtravel condition.
- This is similar to calling MLAxisStop.
- bit #11 of MLAxisStatus is set and the axis remains enabled under servo control once the emergency stop action completes.
- The axis no longer accepts pipe positions.
- The pipe the axis is connected to continues functioning as before and any master will continue generating new positions.
- The axis which experienced overtravel simply no longer responds to new pipe positions.
To recover from this state, call MLAxisReAlign to realign the axis with the pipe.
See Restarting Motion with Pipe Network.
-
-
If a hardware limit flag is being triggered at the program startup by a Pipe Network axis, MLAxisReAlign may need to be called immediately before motion occurs.
In this case, the distance to travel should be at least as long as the maximum distance the hardware limit flag can remain active.
PLCopen Behavior
A PLCopen axis issues an emergency stop of the axis when it experiences an overtravel condition.
- The axis remains enabled under servo control once the emergency stop action completes.
- This action puts the axis into the ErrorStop state.
- See PLCopen State Machine.
To recover from this state:
- Call MC_ResetError on the axis.
- Command motion in the direction opposite to what was previously commanded.
If you are uncertain about which direction the axis was traveling in, check the states of the I/O points configured for the positive and negative limit switches on the drive.