Class Velocity

Nested Relationships

Nested Types

Class Documentation

class Velocity

This class contains velocity command functions.

Public Functions

inline Velocity(CoreMotion *f)
bool IsDeviceValid()
WMX3APIFUNC StartVel(VelCommand *pVelCommand)

Start a velocity command.

Start a velocity command.

This function can only command axes in the Velocity command mode. For additional information, see SetAxisCommandMode.

Remark

This function will command the specified axis to accelerate or decelerate to the specified velocity, and then continue moving at the specified velocity. The target velocity may be positive or negative. The axis will move in the reverse direction if the velocity is negative.

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of the motion command. This value must be positive or 0.

If the acceleration (or acceleration time for the TimeAccTrapezoidal, TimeAccSCurve, TimeAccJerkRatio, TimeAccParabolic, TimeAccSin, TimeAccAdvancedS, or ParabolicVelocity profile types) is set to 0, the axis will change to the target velocity in one cycle, ignoring the specified acceleration or deceleration. This special method of specifying the acceleration is only available for this function, and not for other functions that take an acceleration argument.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of the motion command. If the axis is stopped using the Stop API function, it will stop using the deceleration that was specified when calling this function. This value must be positive or 0.

If the deceleration (or deceleration time for the TimeAccTrapezoidal, TimeAccSCurve, TimeAccJerkRatio, TimeAccParabolic, TimeAccSin, or TimeAccAdvancedS profile types) is set to 0, the axis will stop in one cycle when the Stop API function is called. This special method of specifying the deceleration is only available for this function, and not for other functions that take a deceleration argument.

An axis that is already executing a velocity command can be given a new override velocity command using this function.

Parameters:

pVelCommand[in] A pointer to an object of the VelCommand class that contains the velocity command parameters.

WMX3APIFUNC StartVel(TimedVelCommand *pTimedVelCommand)

Start a timed velocity command.

Start a timed velocity command.

This function can only command axes in the Velocity command mode. For additional information, see SetAxisCommandMode.

Remark

This function will command the specified axis to accelerate to the specified velocity, and then continue moving at the specified velocity for the specified amount of time, and then decelerate to a stop.

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of the motion command. This value must be positive or 0.

If the acceleration time is set to 0, the axis will change to the target velocity in one cycle, ignoring the specified acceleration or deceleration. This special method of specifying the acceleration is only available for this function, and not for other functions that take an acceleration argument.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of the motion command. This includes the deceleration rate of the axis when the axis stops after the run time elapses. Also, if the axis is stopped using the Stop API function, it will stop using the deceleration that was specified when calling this function. This value must be positive or 0.

If the deceleration time is set to 0, the axis will stop in one cycle when the run time elapses, or when the Stop API function is called. This special method of specifying the deceleration is only available for this function, and not for other functions that take a deceleration argument.

Only the following ProfileTypes are supported by this function. Specifying any other ProfileType will cause this function to return an error.

An axis that is already executing a velocity command can be given a new override velocity command using this function.

Parameters:

pTimedVelCommand[in] A pointer to an object of the TimedVelCommand class that contains the timed velocity command parameters.

WMX3APIFUNC StartVel(TriggerVelCommand *pVelCommand)

Start a triggered velocity command.

Start a triggered velocity command.

This function can only command axes in the Velocity command mode. For additional information, see SetAxisCommandMode.

Remark

This function will command the specified axis to accelerate or decelerate to the specified velocity, and then continue moving at the specified velocity. The target velocity may be positive or negative. The axis will move in the reverse direction if the velocity is negative.

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of the motion command. This value must be positive or 0.

If the acceleration (or acceleration time for the TimeAccTrapezoidal, TimeAccSCurve, TimeAccJerkRatio, TimeAccParabolic, TimeAccSin, TimeAccAdvancedS, or ParabolicVelocity profile types) is set to 0, the axis will change to the target velocity in one cycle, ignoring the specified acceleration or deceleration. This special method of specifying the acceleration is only available for this function, and not for other functions that take an acceleration argument.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of the motion command. If the axis is stopped using the Stop API function, it will stop using the deceleration that was specified when calling this function. This value must be positive or 0.

If the deceleration (or deceleration time for the TimeAccTrapezoidal, TimeAccSCurve, TimeAccJerkRatio, TimeAccParabolic, TimeAccSin, or TimeAccAdvancedS profile types) is set to 0, the axis will stop in one cycle when the Stop API function is called. This special method of specifying the deceleration is only available for this function, and not for other functions that take a deceleration argument.

An axis that is already executing a velocity command can be given a new override velocity command using this function.

The motion will begin when the specified trigger condition is satisfied.

See also

Trigger Motion

Parameters:

pVelCommand[in] A pointer to an object of the TriggerVelCommand class that contains the triggered velocity command parameters.

WMX3APIFUNC StartVel(TriggerTimedVelCommand *pTimedVelCommand)

Start a triggered timed velocity command.

Start a triggered timed velocity command.

This function can only command axes in the Velocity command mode. For additional information, see SetAxisCommandMode.

Remark

This function will command the specified axis to accelerate to the specified velocity, and then continue moving at the specified velocity for the specified amount of time, and then decelerate to a stop.

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of the motion command. This value must be positive or 0.

If the acceleration time is set to 0, the axis will change to the target velocity in one cycle, ignoring the specified acceleration or deceleration. This special method of specifying the acceleration is only available for this function, and not for other functions that take an acceleration argument.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of the motion command. This includes the deceleration rate of the axis when the axis stops after the run time elapses. Also, if the axis is stopped using the Stop API function, it will stop using the deceleration that was specified when calling this function. This value must be positive or 0.

If the deceleration time is set to 0, the axis will stop in one cycle when the run time elapses, or when the Stop API function is called. This special method of specifying the deceleration is only available for this function, and not for other functions that take a deceleration argument.

Only the following ProfileTypes are supported by this function. Specifying any other ProfileType will cause this function to return an error.

An axis that is already executing a velocity command can be given a new override velocity command using this function.

The motion will begin when the specified trigger condition is satisfied.

See also

Trigger Motion

Parameters:

pTimedVelCommand[in] A pointer to an object of the TriggerTimedVelCommand class that contains the triggered timed velocity command parameters.

WMX3APIFUNC StartVel(VelCommand *pVelCommand, TriggerEvents *pTriggerEvents)

Start a triggered velocity command with multiple trigger events.

Start a triggered velocity command with multiple trigger events.

This function can only command axes in the Velocity command mode. For additional information, see SetAxisCommandMode.

Remark

This function will command the specified axis to accelerate or decelerate to the specified velocity, and then continue moving at the specified velocity. The target velocity may be positive or negative. The axis will move in the reverse direction if the velocity is negative.

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of the motion command. This value must be positive or 0.

If the acceleration (or acceleration time for the TimeAccTrapezoidal, TimeAccSCurve, TimeAccJerkRatio, TimeAccParabolic, TimeAccSin, TimeAccAdvancedS, or ParabolicVelocity profile types) is set to 0, the axis will change to the target velocity in one cycle, ignoring the specified acceleration or deceleration. This special method of specifying the acceleration is only available for this function, and not for other functions that take an acceleration argument.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of the motion command. If the axis is stopped using the Stop API function, it will stop using the deceleration that was specified when calling this function. This value must be positive or 0.

If the deceleration (or deceleration time for the TimeAccTrapezoidal, TimeAccSCurve, TimeAccJerkRatio, TimeAccParabolic, TimeAccSin, or TimeAccAdvancedS profile types) is set to 0, the axis will stop in one cycle when the Stop API function is called. This special method of specifying the deceleration is only available for this function, and not for other functions that take a deceleration argument.

An axis that is already executing a velocity command can be given a new override velocity command using this function.

The motion will begin when the specified multi-event trigger condition is satisfied.

See also

Trigger Events

Parameters:
  • pVelCommand[in] A pointer to an object of the VelCommand class that contains the velocity command parameters.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartVel(TimedVelCommand *pTimedVelCommand, TriggerEvents *pTriggerEvents)

Start a triggered timed velocity command with multiple trigger events.

Start a triggered timed velocity command with multiple trigger events.

This function can only command axes in the Velocity command mode. For additional information, see SetAxisCommandMode.

Remark

This function will command the specified axis to accelerate to the specified velocity, and then continue moving at the specified velocity for the specified amount of time, and then decelerate to a stop.

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of the motion command. This value must be positive or 0.

If the acceleration time is set to 0, the axis will change to the target velocity in one cycle, ignoring the specified acceleration or deceleration. This special method of specifying the acceleration is only available for this function, and not for other functions that take an acceleration argument.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of the motion command. This includes the deceleration rate of the axis when the axis stops after the run time elapses. Also, if the axis is stopped using the Stop API function, it will stop using the deceleration that was specified when calling this function. This value must be positive or 0.

If the deceleration time is set to 0, the axis will stop in one cycle when the run time elapses, or when the Stop API function is called. This special method of specifying the deceleration is only available for this function, and not for other functions that take a deceleration argument.

Only the following ProfileTypes are supported by this function. Specifying any other ProfileType will cause this function to return an error.

An axis that is already executing a velocity command can be given a new override velocity command using this function.

The motion will begin when the specified multi-event trigger condition is satisfied.

See also

Trigger Events

Parameters:
  • pTimedVelCommand[in] A pointer to an object of the TimedVelCommand class that contains the timed velocity command parameters.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartVel(VelCommand *pVelCommand, double maxTrqLimit)

Start a velocity command and set the maximum torque limit.

Start a velocity command and set the maximum torque limit.

This function is an overloaded function of StartVel that also sets the Max Trq Limit parameter. The Max Trq Limit will be fixed to the specified value while this velocity command executes. After the velocity command is stopped or overridden, the Max Trq Limit will remain at the specified value until modified by another function.

Remark

Parameters:
  • pVelCommand[in] A pointer to an object of the VelCommand class that contains the velocity command parameters.

  • maxTrqLimit[in] The maximum torque limit to apply.

WMX3APIFUNC StartVel(TimedVelCommand *pTimedVelCommand, double maxTrqLimit)

Start a timed velocity command and set the maximum torque limit.

Start a timed velocity command and set the maximum torque limit.

This function is an overloaded function of StartVel that also sets the Max Trq Limit parameter. The Max Trq Limit will be fixed to the specified value while this velocity command executes. After the velocity command is stopped or overridden, the Max Trq Limit will remain at the specified value until modified by another function.

Remark

Parameters:
  • pTimedVelCommand[in] A pointer to an object of the TimedVelCommand class that contains the timed velocity command parameters.

  • maxTrqLimit[in] The maximum torque limit to apply.

WMX3APIFUNC StartVel(TriggerVelCommand *pVelCommand, double maxTrqLimit)

Start a triggered velocity command and set the maximum torque limit.

Start a triggered velocity command and set the maximum torque limit.

This function is an overloaded function of StartVel that also sets the Max Trq Limit parameter. The Max Trq Limit will be fixed to the specified value while this velocity command executes. After the velocity command is stopped or overridden, the Max Trq Limit will remain at the specified value until modified by another function.

Remark

Parameters:
  • pVelCommand[in] A pointer to an object of the TriggerVelCommand class that contains the triggered velocity command parameters.

  • maxTrqLimit[in] The maximum torque limit to apply.

WMX3APIFUNC StartVel(TriggerTimedVelCommand *pTimedVelCommand, double maxTrqLimit)

Start a triggered timed velocity command and set the maximum torque limit.

Start a triggered timed velocity command and set the maximum torque limit.

This function is an overloaded function of StartVel that also sets the Max Trq Limit parameter. The Max Trq Limit will be fixed to the specified value while this velocity command executes. After the velocity command is stopped or overridden, the Max Trq Limit will remain at the specified value until modified by another function.

Remark

Parameters:
  • pTimedVelCommand[in] A pointer to an object of the TriggerTimedVelCommand class that contains the triggered timed velocity command parameters.

  • maxTrqLimit[in] The maximum torque limit to apply.

WMX3APIFUNC StartVel(VelCommand *pVelCommand, double maxTrqLimit, TriggerEvents *pTriggerEvents)

Start a triggered velocity command with multiple trigger events and set the maximum torque limit.

Start a triggered velocity command with multiple trigger events and set the maximum torque limit.

This function is an overloaded function of StartVel that also sets the Max Trq Limit parameter. The Max Trq Limit will be fixed to the specified value while this velocity command executes. After the velocity command is stopped or overridden, the Max Trq Limit will remain at the specified value until modified by another function.

Remark

Parameters:
  • pVelCommand[in] A pointer to an object of the VelCommand class that contains the velocity command parameters.

  • maxTrqLimit[in] The maximum torque limit to apply.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartVel(TimedVelCommand *pTimedVelCommand, double maxTrqLimit, TriggerEvents *pTriggerEvents)

Start a triggered timed velocity command with multiple trigger events and set the maximum torque limit.

Start a triggered timed velocity command with multiple trigger events and set the maximum torque limit.

This function is an overloaded function of StartVel that also sets the Max Trq Limit parameter. The Max Trq Limit will be fixed to the specified value while this velocity command executes. After the velocity command is stopped or overridden, the Max Trq Limit will remain at the specified value until modified by another function.

Remark

Parameters:
  • pTimedVelCommand[in] A pointer to an object of the TimedVelCommand class that contains the timed velocity command parameters.

  • maxTrqLimit[in] The maximum torque limit to apply.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartVel(unsigned int numCommands, VelCommand *pVelCommand)

Start velocity commands for multiple axes.

Start velocity commands for multiple axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the VelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

WMX3APIFUNC StartVel(unsigned int numCommands, TimedVelCommand *pTimedVelCommand)

Start timed velocity commands for multiple axes.

Start timed velocity commands for multiple axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTimedVelCommand[in] A pointer to an array of objects of the TimedVelCommand class that contain the parameters of the timed velocity commands. The number of elements in the array must equal numCommands.

WMX3APIFUNC StartVel(unsigned int numCommands, TriggerVelCommand *pVelCommand)

Start triggered velocity commands for multiple axes.

Start triggered velocity commands for multiple axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for each axis when the specified trigger condition for that axis is satisfied.

See also

Trigger Motion

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the TriggerVelCommand class that contain the parameters of the triggered velocity commands. The number of elements in the array must equal numCommands.

WMX3APIFUNC StartVel(unsigned int numCommands, TriggerTimedVelCommand *pTimedVelCommand)

Start triggered timed velocity commands for multiple axes.

Start triggered timed velocity commands for multiple axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for each axis when the specified trigger condition for that axis is satisfied.

See also

Trigger Motion

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTimedVelCommand[in] A pointer to an array of objects of the TriggerTimedVelCommand class that contain the parameters of the triggered timed velocity commands. The number of elements in the array must equal numCommands.

WMX3APIFUNC StartVel(unsigned int numCommands, VelCommand *pVelCommand, TriggerEvents *pTriggerEvents)

Start triggered velocity commands with multiple trigger events for multiple axes.

Start triggered velocity commands with multiple trigger events for multiple axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for all axes when the specified multi-event trigger condition is satisfied.

See also

Trigger Events

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the VelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartVel(unsigned int numCommands, TimedVelCommand *pTimedVelCommand, TriggerEvents *pTriggerEvents)

Start triggered timed velocity commands with multiple trigger events for multiple axes.

Start triggered timed velocity commands with multiple trigger events for multiple axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for all axes when the specified multi-event trigger condition is satisfied.

See also

Trigger Events

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTimedVelCommand[in] A pointer to an array of objects of the TimedVelCommand class that contain the parameters of the timed velocity commands. The number of elements in the array must equal numCommands.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartVel(unsigned int numCommands, VelCommand *pVelCommand, double *pMaxTrqLimit)

Start velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

Start velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the VelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

  • pMaxTrqLimit[in] A pointer to an array of maximum torque limits to apply. Each maximum torque limit will be applied to the axis of the velocity command of the same index.

WMX3APIFUNC StartVel(unsigned int numCommands, TimedVelCommand *pTimedVelCommand, double *pMaxTrqLimit)

Start timed velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

Start timed velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTimedVelCommand[in] A pointer to an array of objects of the TimedVelCommand class that contain the parameters of the timed velocity commands. The number of elements in the array must equal numCommands.

  • pMaxTrqLimit[in] A pointer to an array of maximum torque limits to apply. Each maximum torque limit will be applied to the axis of the velocity command of the same index.

WMX3APIFUNC StartVel(unsigned int numCommands, TriggerVelCommand *pVelCommand, double *pMaxTrqLimit)

Start triggered velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

Start triggered velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for each axis when the specified trigger condition for that axis is satisfied.

See also

Trigger Motion

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the TriggerVelCommand class that contain the parameters of the triggered velocity commands. The number of elements in the array must equal numCommands.

  • pMaxTrqLimit[in] A pointer to an array of maximum torque limits to apply. Each maximum torque limit will be applied to the axis of the velocity command of the same index.

WMX3APIFUNC StartVel(unsigned int numCommands, TriggerTimedVelCommand *pTimedVelCommand, double *pMaxTrqLimit)

Start triggered timed velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

Start triggered timed velocity commands for multiple axes and set the maximum torque limits of the commanded axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for each axis when the specified trigger condition for that axis is satisfied.

See also

Trigger Motion

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTimedVelCommand[in] A pointer to an array of objects of the TriggerTimedVelCommand class that contain the parameters of the triggered timed velocity commands. The number of elements in the array must equal numCommands.

  • pMaxTrqLimit[in] A pointer to an array of maximum torque limits to apply. Each maximum torque limit will be applied to the axis of the velocity command of the same index.

WMX3APIFUNC StartVel(unsigned int numCommands, VelCommand *pVelCommand, double *pMaxTrqLimit, TriggerEvents *pTriggerEvents)

Start triggered velocity commands for multiple axes with multiple trigger events and set the maximum torque limits of the commanded axes.

Start triggered velocity commands for multiple axes with multiple trigger events and set the maximum torque limits of the commanded axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for all axes when the specified multi-event trigger condition is satisfied.

See also

Trigger Events

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the VelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

  • pMaxTrqLimit[in] A pointer to an array of maximum torque limits to apply. Each maximum torque limit will be applied to the axis of the velocity command of the same index.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartVel(unsigned int numCommands, TimedVelCommand *pTimedVelCommand, double *pMaxTrqLimit, TriggerEvents *pTriggerEvents)

Start triggered timed velocity commands for multiple axes with multiple trigger events and set the maximum torque limits of the commanded axes.

Start triggered timed velocity commands for multiple axes with multiple trigger events and set the maximum torque limits of the commanded axes.

This function executes the StartVel API function for multiple axes.

Remark

If the specified arguments are invalid for any of the commanded axes, the motion will be canceled for all axes and the API function will return an error.

The motion will begin for all axes when the specified multi-event trigger condition is satisfied.

See also

Trigger Events

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTimedVelCommand[in] A pointer to an array of objects of the TimedVelCommand class that contain the parameters of the timed velocity commands. The number of elements in the array must equal numCommands.

  • pMaxTrqLimit[in] A pointer to an array of maximum torque limits to apply. Each maximum torque limit will be applied to the axis of the velocity command of the same index.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC Stop(int axis)

Stop the motion of an axis executing a velocity command.

Stop the motion of an axis executing a velocity command.

This function stops the motion of an axis executing a velocity command.

Remark

This function will only stop axes running in Velocity command mode. To stop axes running in Position command mode, use the Stop function. To stop axes running in Torque command mode, use the StopTrq function.

If the commanded axis is in Idle state, this function will return no error.

If the commanded axis is executing a velocity command but the deceleration cannot be obtained, the axis will be stopped using the Quick Stop Dec parameter as the deceleration, as if the ExecQuickStop function was called. This might occur if this function is called during the first cycle of processing a new velocity command or override velocity command.

Parameters:

axis[in] The axis to stop.

WMX3APIFUNC Stop(AxisSelection *pAxisSelection)

Stop the motion of multiple axes executing velocity commands.

Stop the motion of multiple axes executing velocity commands.

This function executes the Stop function for multiple axes.

Remark

If any of the commanded axes are in an invalid state, this function will return an error but the remainder of the commanded axes will be stopped. An axis is in an invalid state if the axis servo is not on, if the axis command mode is not Velocity, or if the axis is receiving or has received a new motion command to be started on the next communication cycle.

Parameters:

pAxisSelection[in] A pointer to an AxisSelection class object that specifies the axes to stop.

WMX3APIFUNC ExecQuickStop(int axis)

Stop the motion of an axis executing a velocity command using the quick stop deceleration system parameter.

Stop the motion of an axis executing a velocity command using the quick stop deceleration system parameter.

This function stops the motion of an axis executing a velocity command.

Remark

This function will only stop axes running in Velocity command mode. To stop axes running in Position command mode, use the ExecQuickStop function. To stop axes running in Torque command mode, use the StopTrq function.

If the commanded axis is in Idle state, this function will return no error.

This function uses the Quick Stop Dec parameter to decelerate the axis to a stop.

Parameters:

axis[in] The axis to stop.

WMX3APIFUNC ExecQuickStop(AxisSelection *pAxisSelection)

Stop the motion of multiple axes executing velocity commands using the quick stop deceleration system parameter.

Stop the motion of multiple axes executing velocity commands using the quick stop deceleration system parameter.

This function executes the ExecQuickStop function for multiple axes.

Remark

If any of the commanded axes are in an invalid state, this function will return an error but the remainder of the commanded axes will be stopped. An axis is in an invalid state if the axis servo is not on, if the axis command mode is not Velocity, or if the axis is receiving or has received a new motion command to be started on the next communication cycle.

This function uses the Quick Stop Dec parameter to decelerate the axis to a stop.

Parameters:

pAxisSelection[in] A pointer to an AxisSelection class object that specifies the axes to stop.

WMX3APIFUNC ExecTimedStop(int axis, double timeMilliseconds)

Stop an axis that is currently in motion in the specified amount of time using a trapezoidal profile.

Stop an axis that is currently in motion in the specified amount of time using a trapezoidal profile.

This function is identical to the Stop function, except the deceleration rate is set so that the axis stops in the specified time, and the motion profile is trapezoidal.

Remark

If the commanded axis is in Idle state, this function will return no error.

Parameters:
  • axis[in] The axis to stop.

  • timeMilliseconds[in] The time in milliseconds to stop the axis in.

WMX3APIFUNC ExecTimedStop(AxisSelection *pAxisSelection, double timeMilliseconds)

Stop multiple axes that are currently in motion in the specified amount of time using a trapezoidal profile.

Stop multiple axes that are currently in motion in the specified amount of time using a trapezoidal profile.

This function executes the ExecTimedStop function for multiple axes. One stop time is specified for all axes.

Remark

If any of the commanded axes are in an invalid state, this function will return an error but the remainder of the commanded axes will be stopped. An axis is in an invalid state if the axis servo is not on, if the axis command mode is not Velocity, or if the axis is receiving or has received a new motion command to be started on the next communication cycle.

Parameters:
  • pAxisSelection[in] A pointer to a AxisSelection class object that specifies the axes to stop.

  • timeMilliseconds[in] The time in milliseconds to stop the axis in.

WMX3APIFUNC ExecTimedStop(unsigned int numCommands, TimeCommand *pTimeCommand)

Stop multiple axes that are currently in motion in the specified amounts of time using a trapezoidal profile.

Stop multiple axes that are currently in motion in the specified amounts of time using a trapezoidal profile.

This function executes the ExecTimedStop function for multiple axes. A separate stop time is specified for each axis.

Remark

If any of the commanded axes are in an invalid state, this function will return an error but the remainder of the commanded axes will be stopped. An axis is in an invalid state if the axis servo is not on, if the axis command mode is not Velocity, or if the axis is receiving or has received a new motion command to be started on the next communication cycle.

Parameters:
  • numCommands[in] The number of stop motions. Each stop motion commands a single axis.

  • pTimeCommand[in] A pointer to an array of objects of the TimeCommand class that contain the parameters of the motion. The number of objects in the array must be equal to numCommands. The timeMilliseconds values specify the time in milliseconds to stop the axis in.

WMX3APIFUNC SetMaxMotorSpeed(int axis, double speed)

Set the maximum motor speed of an axis.

Set the maximum motor speed of an axis.

This function sets the maximum motor speed of an axis. The speed of the axis in either direction during all motions will be limited to this value.

Remark

See the discussion under Max Motor Speed for additional information regarding the parameter set by this function.

Parameters:
  • axis[in] The axis to set the maximum motor speed of.

  • speed[in] The maximum motor speed.

WMX3APIFUNC GetMaxMotorSpeed(int axis, double *pSpeed)

Get the maximum motor speed of an axis.

Get the maximum motor speed of an axis.

This function gets the maximum motor speed of an axis.

Remark

See the discussion under Max Motor Speed for additional information regarding the parameter set by this function.

Parameters:
  • axis[in] The axis to get the maximum motor speed of.

  • pSpeed[out] A pointer to a double that will contain the maximum motor speed.

WMX3APIFUNC OverrideVel(VelCommand *pVelCommand)

Set an override velocity for a single axis that is currently executing a velocity command.

Set an override velocity for a single axis that is currently executing a velocity command.

This function will override just the velocity of the axis. The axis will retain the profile type, acceleration, deceleration, jerk acceleration, jerk deceleration, and all other motion parameters.

Remark

Parameters:

pVelCommand[in] A pointer to an object of the VelCommand class that contains the velocity command parameters.

WMX3APIFUNC OverrideVel(unsigned int numCommands, VelCommand *pVelCommand)

Set override velocities for multiple axes that are currently executing velocity commands.

Set override velocities for multiple axes that are currently executing velocity commands.

This function executes the OverrideVel API function for multiple axes.

Remark

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the VelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

WMX3APIFUNC StartPosToVel(TriggerVelCommand *pTriggerVelCommand)

Start a triggered velocity command for an axis that is currently executing a position command.

Start a triggered velocity command for an axis that is currently executing a position command.

This function will override a position command with a velocity command when the trigger condition is satisfied. The axis command mode will automatically change from Position mode to Velocity mode.

Remark

Like the StartVel function, the acceleration and deceleration (or acceleration time and deceleration time for certain profile types) can be set to 0 for infinite acceleration and deceleration.

This function does not support the SameTimeCompletion, StaggeredTimeCompletion, and StaggeredDistanceCompletion trigger types. Specifying these trigger types will cause the TriggerTypeNotSupported error to be returned.

See also

Command Mode

Parameters:

pTriggerVelCommand[in] A pointer to an object of the TriggerVelCommand class that contains the velocity command parameters.

WMX3APIFUNC StartPosToVel(unsigned int numCommands, TriggerVelCommand *pTriggerVelCommand)

Start triggered velocity commands for multiple axes that are currently executing position commands.

Start triggered velocity commands for multiple axes that are currently executing position commands.

This function executes the StartPosToVel API function for multiple axes.

Remark

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTriggerVelCommand[in] A pointer to an array of objects of the TriggerVelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

WMX3APIFUNC StartPosToVel(VelCommand *pVelCommand, TriggerEvents *pTriggerEvents)

Start a triggered velocity command for an axis that is currently executing a position command. The trigger condition can have multiple trigger events.

Start a triggered velocity command for an axis that is currently executing a position command. The trigger condition can have multiple trigger events.

This function will override a position command with a velocity command when the multiple event trigger condition is satisfied. The axis command mode will automatically change from Position mode to Velocity mode.

Remark

Like the StartVel function, the acceleration and deceleration (or acceleration time and deceleration time for certain profile types) can be set to 0 for infinite acceleration and deceleration.

This function does not support the SameTimeCompletion, StaggeredTimeCompletion, and StaggeredDistanceCompletion trigger types. Specifying these trigger types will cause the TriggerTypeNotSupported error to be returned.

See also

Command Mode

Parameters:
  • pVelCommand[in] A pointer to an object of the VelCommand class that contains the parameters of the velocity command.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartPosToVel(unsigned int numCommands, VelCommand *pVelCommand, TriggerEvents *pTriggerEvents)

Start triggered velocity commands for multiple axes that are currently executing position commands. The trigger conditions can have multiple trigger events.

Start triggered velocity commands for multiple axes that are currently executing position commands. The trigger conditions can have multiple trigger events.

This function executes the StartPosToVel API function for multiple axes. All commanded axes share the same trigger events.

Remark

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the VelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartTrqToVel(TriggerVelCommand *pTriggerVelCommand)

Start a triggered velocity command for an axis that is currently executing a torque command.

Start a triggered velocity command for an axis that is currently executing a torque command.

This function will override a torque command with a velocity command when the trigger condition is satisfied. The axis command mode will automatically change from Torque mode to Velocity mode.

Remark

Like the StartVel function, the acceleration and deceleration (or acceleration time and deceleration time for certain profile types) can be set to 0 for infinite acceleration and deceleration.

This function does not support the SameTimeCompletion, StaggeredTimeCompletion, and StaggeredDistanceCompletion trigger types. Specifying these trigger types will cause the TriggerTypeNotSupported error to be returned.

See also

Command Mode

Parameters:

pTriggerVelCommand[in] A pointer to an object of the TriggerVelCommand class that contains the velocity command parameters.

WMX3APIFUNC StartTrqToVel(unsigned int numCommands, TriggerVelCommand *pTriggerVelCommand)

Start triggered velocity commands for multiple axes that are currently executing torque commands.

Start triggered velocity commands for multiple axes that are currently executing torque commands.

This function executes the StartTrqToVel API function for multiple axes.

Remark

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pTriggerVelCommand[in] A pointer to an array of objects of the TriggerVelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

WMX3APIFUNC StartTrqToVel(VelCommand *pVelCommand, TriggerEvents *pTriggerEvents)

Start a triggered velocity command for an axis that is currently executing a torque command. The trigger condition can have multiple trigger events.

Start a triggered velocity command for an axis that is currently executing a torque command. The trigger condition can have multiple trigger events.

This function will override a torque command with a velocity command when the multiple event trigger condition is satisfied. The axis command mode will automatically change from Torque mode to Velocity mode.

Remark

Like the StartVel function, the acceleration and deceleration (or acceleration time and deceleration time for certain profile types) can be set to 0 for infinite acceleration and deceleration.

This function does not support the SameTimeCompletion, StaggeredTimeCompletion, and StaggeredDistanceCompletion trigger types. Specifying these trigger types will cause the TriggerTypeNotSupported error to be returned.

See also

Command Mode

Parameters:
  • pVelCommand[in] A pointer to an object of the VelCommand class that contains the parameters of the velocity command.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

WMX3APIFUNC StartTrqToVel(unsigned int numCommands, VelCommand *pVelCommand, TriggerEvents *pTriggerEvents)

Start triggered velocity commands for multiple axes that are currently executing torque commands. The trigger conditions can have multiple trigger events.

Start triggered velocity commands for multiple axes that are currently executing torque commands. The trigger conditions can have multiple trigger events.

This function executes the StartTrqToVel API function for multiple axes. All commanded axes share the same trigger events.

Remark

Parameters:
  • numCommands[in] The number of velocity commands. Each command controls a single axis.

  • pVelCommand[in] A pointer to an array of objects of the VelCommand class that contain the parameters of the velocity commands. The number of elements in the array must equal numCommands.

  • pTriggerEvents[in] A pointer to an object of the TriggerEvents class that contains the trigger events.

Public Members

CoreMotion *cmApi
class TimeCommand

This class contains data for a time-based command.

Public Functions

TimeCommand()
TimeCommand(int axis, double timeMilliseconds)

Public Members

int axis

The axis of the motion command.

double timeMilliseconds

The time of the motion command in milliseconds.

class TimedVelCommand

This class contains data for a timed velocity command.

Public Functions

TimedVelCommand()
TimedVelCommand(int axis, double runTimeMilliseconds, Profile profile)

Public Members

int axis

The axis of the motion command.

double runTimeMilliseconds

The run time of the motion command in units of milliseconds.

Profile profile

The profile of the motion command. The velocity value is the target velocity, and can be specified a value between -(2^38-1) = -274877906943 and 2^38-1 = 274877906943.

class TriggerTimedVelCommand

This class contains data for a triggered timed velocity command.

Public Functions

TriggerTimedVelCommand()
TriggerTimedVelCommand(int axis, double runTimeMilliseconds, Profile profile, Trigger trigger)

Public Members

int axis

The axis of the motion command.

double runTimeMilliseconds

The run time of the motion command in units of milliseconds.

Profile profile

The profile of the motion command. The velocity value is the target velocity, and can be specified a value between -(2^38-1) = -274877906943 and 2^38-1 = 274877906943.

Trigger trigger

The trigger condition of the motion command.

class TriggerVelCommand

This class contains data for a triggered velocity command.

Public Functions

TriggerVelCommand()
TriggerVelCommand(int axis, Profile profile, Trigger trigger)

Public Members

int axis

The axis of the motion command.

Profile profile

The profile of the motion command. The velocity value is the target velocity, and can be specified a value between -(2^38-1) = -274877906943 and 2^38-1 = 274877906943.

Trigger trigger

The trigger condition of the motion command.

class VelCommand

This class contains data for a velocity command.

Public Functions

VelCommand()
VelCommand(int axis, Profile profile)

Public Members

int axis

The axis of the motion command.

Profile profile

The profile of the motion command. The velocity value is the target velocity, and can be specified a value between -(2^38-1) = -274877906943 and 2^38-1 = 274877906943.