Class PMAxisVelocity

Nested Relationships

Nested Types

Class Documentation

class PMAxisVelocity

This class contains PV mode velocity command functions for PM motion.

Public Functions

inline PMAxisVelocity(PMMotion *f)
bool IsDeviceValid()
WMX3APIFUNC StartVel(int axis)

Start a PV mode velocity command.

Start a PV mode velocity command.

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

Remark

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of motion command.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of motion command.

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

The velocity profile must be first set with the SetVelProfile function.

Parameters:

axis[in] The axis to command.

WMX3APIFUNC StartVel(int axis, long maxTrqLimit)

Start a PV mode velocity command.

Start a PV mode velocity command.

This function is an overloaded function of StartVel that also sets the max torque limit. After the velocity command is stopped or overridden, the max torque limit will remain at the specified value until modified by another function.

Remark

The velocity profile must be first set with the SetVelProfile function.

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

  • maxTrqLimit[in] The maximum torque limit to apply, in units of 0.1%.

WMX3APIFUNC StartVel(VelCommand *pVelCommand)

Start a PV mode velocity command.

Start a PV mode velocity command.

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.

Remark

The acceleration determines the rate at which the speed of the axis will increase, regardless of the direction of motion command.

The deceleration determines the rate at which the speed of the axis will decrease, regardless of the direction of motion command.

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(VelCommand *pVelCommand, long maxTrqLimit)

Start a PV mode velocity command and set the maximum torque limit.

Start a PV mode velocity command and set the maximum torque limit.

This function is an overloaded function of StartVel that also sets the max torque limit. After the velocity command is stopped or overridden, the max torque limit will remain at the specified value until modified by another function.

Remark

For EtherCAT

When using EtherCAT, this function sets the value of object 0x6072 (Max Torque Limit). To change the max torque limit, overwrite this object.

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, in units of 0.1%.

WMX3APIFUNC StartVel(unsigned int numCommands, VelCommand *pVelCommand)

Start PV mode velocity commands for multiple axes.

Start PV mode velocity commands for multiple axes.

This function executes the StartVel 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 StartVel(unsigned int numCommands, VelCommand *pVelCommand, long *maxTrqLimits)

Start PV mode velocity commands for multiple axes.

Start PV mode velocity commands for multiple axes.

This function is an overloaded function of StartVel that also sets the max torque limit. After the velocity command is stopped or overridden, the max torque limit will remain at the specified value until modified by another function.

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.

  • maxTrqLimits[in] The maximum torque limits to apply, in units of 0.1%.

WMX3APIFUNC Stop(int axis)

Stop the motion of an axis executing a PV mode velocity command.

Stop the motion of an axis executing a PV mode velocity command.

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

Remark

For EtherCAT

This function sends a halt signal to the servo. PP, HM, PV, and TQ mode motion will be halted.

Parameters:

axis[in] The axis to stop.

WMX3APIFUNC Stop(AxisSelection *pAxisSelection)

Stop the motion of multiple axes executing PV mode velocity commands.

Stop the motion of multiple axes executing PV mode velocity commands.

This function executes the Stop function for multiple axes.

Remark

Parameters:

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

Public Members

PMMotion *pmApi
class VelCommand

This class contains data for a velocity command.

Public Functions

VelCommand()
VelCommand(int axis, long vel, long acc, long dec = 0)

Public Members

int axis

The axis of the motion command.

long vel

The velocity of the motion command, in pulses per second.

long acc

The acceleration of the motion command, in pulses per second^2.

long dec

The deceleration of the motion command, in pulses per second^2.