MC_MoveVelocity
The
MC_MoveVelocity
function block commands the axis to follow a user specified velocity.
Parameters
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B | Axis | AXIS_REF | Logical axis reference. This value can be located on the Configuration tab in the Hardware Configuration (logical axis number). | |
| VAR_INPUT | ||||
| B | Execute | BOOL | Upon the rising edge of the Execute input, all other inputs are read and the function block becomes operational. If an input needs to be modified, the value will have to be changed and the Execute input will have to be re-triggered. | FALSE |
| E | Velocity | LREAL | Absolute value of the velocity in user units/second. | LREAL#0.0 |
| E | Acceleration | LREAL | Value of the acceleration in user units/second^2 (acceleration is applicable with same sign of torque and velocity) | LREAL#0.0 |
| E | Deceleration | LREAL | Value of the deceleration in user units/second^2 (deceleration is applicable with opposite signs of torque and velocity.) | LREAL#0.0 |
| E | Jerk | LREAL | Not supported; reserved for future use. Value of the jerk in [user units / second^3]. | LREAL#0.0 |
| E | Direction | MC_Direction |
Specifies the direction of motion. Allowable modes are positive_direction, shortest_way, negative_direction, current_direction.
MC_Direction#Positive_Direction MC_Direction#Shortest_Way MC_Direction#Negative_Direction MC_Direction#Current_Direction |
MC_Direction#Positive_Direction |
| E | BufferMode | MC_BufferMode | Only
MC_BufferMode#Aborting is supported when the previously executed move is
MC_MoveVelocity. Other values for
MC_BufferMode
willremain buffered and never execute. May be buffered to execute after a positioning-based move (such as MC_MoveRelative, MC_MoveAbsolute, MC_GearIn, Y_CamIn, Y_CamScale, Y_CamShift, MC_GearInPos, MC_Step*, Y_CamIn) using the other buffer modes. MC_BufferMode#Buffered MC_BufferMode#BlendingLow MC_BufferMode#BlendingPrevious MC_BufferMode#BlendingNext MC_BufferMode#BlendingHigh |
MC_BufferMode#Aborting |
| VAR_OUTPUT | ||||
| B | InVelocity | BOOL | Set high when the axis first reaches the specified velocity (function is complete). If the function is re executed with a new velocity, the output will go low again until new requested velocity is reached. It will go low too when an MC_Stop block is executed. If using the Jog function block from the PLCopen Toolbox, this output will go low when both the Forward and Reverse inputs are low. | |
| E | Busy | BOOL | For function blocks with Execute input, the Busy output is set to TRUE upon the rising edge of the Execute, and set to FALSE when Done, CommandAborted or Error outputs becomes TRUE. In the case of a function block with an Enable input, Busy indicates that the function block is operating, but may not be ready to provide valid outputs. | |
| E | Active | BOOL | The Active output is set to TRUE when the function block takes control of an operation. When commands are buffered, and a queue is generated, only one function block can be active at a time. For non buffered commands, Active and Busy could be the same. | |
| E | CommandAborted | BOOL | The CommandAborted output is set to TRUE if the operation performed by the instance of the function block is aborted by another command. | |
| B | Error | BOOL | The Error output is set to TRUE if an error has occurred during the operation of the function block. The output is cleared when the Execute or Enable input becomes FALSE. | |
| E | ErrorID | UINT | The ErrorID output provides the identifier of the error when there is an active error in the function block execution. The output is cleared when the Execute or Enable input becomes FALSE. | |
Notes
- To stop motion, use MC_Stop
- The output 'InVelocity' will be reset when the block is aborted by another block or at the falling edge of 'Execute'.
- In combination with MC_MoveSuperImposed, the output 'InVelocity' stays TRUE once the velocity setpoint of the axis has reached the commanded velocity.
-
VFDs with PROFINET or EtherCAT option card
- Jerk is not supported.
- Direction: Only Positive_Direction and Negative_Direction are supported.
- BufferMode: Only Aborting is supported.
- Max of 10 Commands (Stop or Velocity) can be stored in the Command buffer at one time
- VFDs with Modbus RTU connection:
-
Axis_REF: Logical
axis number and driver type have to be defined
-
Jerk is not supported.
-
Direction: Only Positive_Direction, Negative_Direction and Current_Direction
are supported.
-
BufferMode: Only Aborting and Buffered are supported.
-
Note: The InVelocity output is refreshed along with the status of the axis.
-
Max of 10 Commands (Stop or Velocity) can be stored in the Command buffer at one time
-
Further details of the communication management to Yaskawa Drives and Generic Devices are described here:
Modbus RTU Communication Details for Drives and generic Modbus Devices
Related Function Blocks
MC_Stop: Stops an axis in motion by bringing the axis to a standstill state.
Error Description
See the
Function Block ErrorID List
Example
Instance of
MC_MoveVelocity
commanding Servo Axis 1 to a velocity of 10.0 with an acceleration of 40.0.
The LogicAnalyzer timing trace for the above example is shown below:
MC_MoveVelocity's outputs when MC_Stop is triggered for the axis is shown below: