Table of Contents

IAxisMovePosition

Namespace
ZEquipment
INTERFACE IAxisMovePosition

This interface is implemented by axes, whose drives support moving the axes to a specific position with a drive-internal profile generator often also known as profile-position-mode.

Methods

IsAtPosition

METHOD IsAtPosition (
 [input] pos : LREAL,
 [input] window : LREAL) : BOOL

Use this method to check if an axis is at a specific location in a given window. Note that some implementation may not use the parameter window, but may rely on a drive internal position-window. In doubt, read the documentation of your axes implementation (i.e. AxisPlcOpenMc).

Inputs

pos LREAL

Position to check for

window LREAL

If an axis uses an explicit position window, this value may be discarded.

Returns

BOOL

MoveAbsoluteAsync

METHOD MoveAbsoluteAsync (
 [input] startToken : ZCore.IStartToken,
 [input] position : LREAL,
 [input] speed : LREAL)

Starts to move the axes to a specific position with a given velocity. The method utilizes the drive's profile generator, which may offer to adjust acceleration, deceleration and jerk as PDOs or SDOs as well. The latter parameters are usually vendor specific and thus are not part of the interface. Use the Parameter property of each specialised axis to adjust said values before calling this method. Calling this method will beforehand automatically trigger the following sequences

  • Unlock the drive if it has been locked before (AxisPlcOpenMc only)
  • Reset any drive errors if there are still errors, which have not been acknowledged yet
  • Write parameters to the drive that have been requested to read or write by using the Parameter property of each specialised axis
  • Enable the drive if it is not enabled yet

Executing this method while the drive is still Busy with another Async command will cause this method to fail. This can be checked by submitting an StartToken as a startToken. Simply pass such an object and Assert it or check for startToken.Error after calling this method.

Inputs

startToken IStartToken

(optional) object to check if the method was executed successfully - may be 0

position LREAL

Position in drive position units, usually millimeter or degree

speed LREAL

Speed in drive speed units, usually millimeter-per-second, or degree-per-second

MoveRelativeAsync

METHOD MoveRelativeAsync (
 [input] startToken : ZCore.IStartToken,
 [input] distance : LREAL,
 [input] speed : LREAL)

Starts to move the axes to a specific distance from its current position with a given velocity. The method utilizes the drive's profile generator, which may offer to adjust acceleration, deceleration and jerk as PDOs or SDOs as well. The latter parameters are usually vendor specific and thus are not part of the interface. Use the Parameter property of each specialised axis to adjust said values before calling this method. Calling this method will beforehand automatically trigger the following sequences

  • Unlock the drive if it has been locked before (AxisPlcOpenMc only)
  • Reset any drive errors if there are still errors, which have not been acknowledged yet
  • Write parameters to the drive that have been requested to read or write by using the Parameter property of each specialised axis
  • Enable the drive if it is not enabled yet

Executing this method while the drive is still Busy with another Async command will cause this method to fail. This can be checked by submitting an StartToken as a startToken. Simply pass such an object and Assert it or check for startToken.Error after calling this method.

Inputs

startToken IStartToken

(optional) object to check if the method was executed successfully - may be 0

distance LREAL

Position in drive position units, usually millimeter or degree

speed LREAL

Speed in drive spped units, usually millimeter-per-second, or degree-per-second