65   uuid(4F50AEC2-401A-4BD0-AEA5-4474A7144588),
    68   helpstring(
"IMovement Interface"),
    69   pointer_default(unique)
    99   [id(1), helpstring(
"Method Home")] HRESULT 
Home(
void);
   152   [id(3), helpstring(
"Method Power")] HRESULT 
Power(VARIANT_BOOL value);
   183   [id(4), helpstring(
"Method MoveVelocity")] HRESULT 
MoveVelocity([in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk);
   215   [id(5), helpstring(
"Method MoveAbsolute")] HRESULT 
MoveAbsolute([in] DOUBLE position, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk);
   251   [id(6), helpstring(
"Method MoveRelative")] HRESULT 
MoveRelative([in] DOUBLE distance, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk);
   285   [id(7), helpstring(
"Method MoveAdditive")] HRESULT 
MoveAdditive([in] DOUBLE distance, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk);
   320   [id(8), helpstring(
"Method Stop")] HRESULT 
Stop([in] VARIANT_BOOL stop, [in] DOUBLE deceleration, [in] DOUBLE jerk);
   322 #if defined(WIN32) || defined(WIN64)   323   [id(9), helpstring(
"Method GearIn")] HRESULT 
GearIn([in] AxisRef* masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust);
   359 #if defined(WIN32) || defined(WIN64)   360   [id(10), helpstring(
"Method GearInPos")] HRESULT 
GearInPos([in] AxisRef* masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust, [in] StartMode startMode, [in] SyncDirection syncMode);
   399 #if defined(WIN32) || defined(WIN64)   400   [id(11), helpstring(
"Method FlexProfile")]HRESULT 
FlexProfile([in] AxisRef* masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust, [in] LONG setSelection, [in] VARIANT_BOOL useSwitchingPos, [in] DOUBLE switchingPosition, [in] ProfileStartPoint profileEntry, [in] DOUBLE masterOffset, [in] DOUBLE slaveOffset, [in] SyncType syncMode, [in] DOUBLE syncVelocity, [in] DOUBLE syncAcceleration, [in] ProfileExecutionMode executionMode);
   490   [id(12), helpstring(
"Method Status")]HRESULT 
Status([out, retval] 
struct MotionStatus *motionStatus);
   500   [id(13), helpstring(
"Method Wait")]HRESULT 
Wait(VARIANT timeoutValue);
   513   [id(14), helpstring(
"Method PhasingSlave")] HRESULT 
PhasingSlave([in] DOUBLE phaseShift, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration);
   525   [id(15), helpstring(
"Method PhasingMaster")] HRESULT 
Phasing([in] DOUBLE phaseShift, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration);
   535   [id(16), helpstring(
"Method TorqueControl")]  HRESULT 
TorqueControl([in] DOUBLE torque, [in] DOUBLE torqueRamp);
   551   [id(17), helpstring(
"Method CamIn")] HRESULT 
CamIn([in] AxisRef* masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust, [in] DOUBLE camShaftDistance, [in] SyncDirection syncMode, [in] StartMode startMode, [in] CamTableId camId);
   559   [id(18), helpstring(
"Method SynchronOut")] HRESULT 
SynchronOut();
   604   [id(23), helpstring(
"Method WriteCyclicPosition")] HRESULT 
WriteCyclicPosition([in] DOUBLE cyclicValue);
   613   [id(24), helpstring(
"Method WriteCyclicVelocity")] HRESULT 
WriteCyclicVelocity([in] DOUBLE cyclicValue);
   622   [id(25), helpstring(
"Method WriteCyclicAnalog")] HRESULT 
WriteCyclicAnalog([in] DOUBLE cyclicValue);
   631   [id(26), helpstring(
"Method WriteCyclicTorque")] HRESULT 
WriteCyclicTorque([in] DOUBLE cyclicValue);
 HRESULT SynchronOut()
This function commands a synchronization out to an axis. 
HRESULT GearIn([in] AxisRef *masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust)
This function commands a velocity synchronization to the master. 
HRESULT Stop([in] VARIANT_BOOL stop, [in] DOUBLE deceleration, [in] DOUBLE jerk)
This function stops the axis. The target position is set and the axis will perform a trapezoidal velo...
HRESULT OpenCyclicPositionChannel()
This function opens a cyclic channel to an axis. As soon as the channel is open, you can write cyclic...
HRESULT MoveVelocity([in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk)
This function commands a single axis movement of a single axis. 
HRESULT Home(void)
This function serves to home an axis. Only an axis with incremental encoders can be homed...
HRESULT MoveAbsolute([in] DOUBLE position, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk)
This function defines an absolute position movement of a single axis. 
HRESULT Phasing([in] DOUBLE phaseShift, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration)
The function adjusts the master axis with the specified velocity and acceleration. 
HRESULT Power(VARIANT_BOOL value)
This function commands power to the drive. 
HRESULT SetAbsoluteMeasurement(void)
This function serves to "set absolute measurement" of an axis. Only axes with absolute encoders can b...
HRESULT OpenCyclicVelocityChannel()
This function opens a cyclic channel to an axis. As soon as the channel is open, you can write cyclic...
HRESULT WriteCyclicTorque([in] DOUBLE cyclicValue)
This function commands a cyclic value to an axis. 
HRESULT MoveAdditive([in] DOUBLE distance, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk)
This function commands an additive movement. The additive position is added to the target position an...
HRESULT MoveRelative([in] DOUBLE distance, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration, [in] DOUBLE jerk)
This function commands a relative movement. The relative position is added to the current position an...
HRESULT WriteCyclicVelocity([in] DOUBLE cyclicValue)
This function commands a cyclic value to an axis. 
HRESULT TorqueControl([in] DOUBLE torque, [in] DOUBLE torqueRamp)
The function carries out a specific torque on a axis. 
HRESULT Wait(VARIANT timeoutValue)
This function waits for completion (state DONE or ERROR) of the latest motion command. 
HRESULT WriteCyclicAnalog([in] DOUBLE cyclicValue)
This function commands a cyclic value to an axis. 
HRESULT OpenCyclicAnalogChannel()
This function opens a cyclic channel to an axis. As soon as the channel is open, you can write cyclic...
HRESULT GearInPos([in] AxisRef *masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust, [in] StartMode startMode, [in] SyncDirection syncMode)
This function commands a position synchronization to the master. 
HRESULT Status([out, retval] struct MotionStatus *motionStatus)
This function reads the movement status. It returns information about the last started motion command...
HRESULT FlexProfile([in] AxisRef *masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust, [in] LONG setSelection, [in] VARIANT_BOOL useSwitchingPos, [in] DOUBLE switchingPosition, [in] ProfileStartPoint profileEntry, [in] DOUBLE masterOffset, [in] DOUBLE slaveOffset, [in] SyncType syncMode, [in] DOUBLE syncVelocity, [in] DOUBLE syncAcceleration, [in] ProfileExecutionMode executionMode)
This function commands a synchronization movement to an axis. 
HRESULT WriteCyclicPosition([in] DOUBLE cyclicValue)
This function commands a cyclic value to an axis. 
Definition of the IMovement interface used to access motion commands to move an axis or drive...
HRESULT PhasingSlave([in] DOUBLE phaseShift, [in] DOUBLE velocity, [in] DOUBLE acceleration, [in] DOUBLE deceleration)
The function adjusts the slave axis with the specified velocity and acceleration. ...
HRESULT OpenCyclicTorqueChannel()
This function opens a cyclic channel to an axis. As soon as the channel is open, you can write cyclic...
HRESULT CamIn([in] AxisRef *masterAxis, [in] LONG numerator, [in] LONG denominator, [in] DOUBLE fineadjust, [in] DOUBLE camShaftDistance, [in] SyncDirection syncMode, [in] StartMode startMode, [in] CamTableId camId)
This function commands a synchronization movement to an axis.