This function block performs a movement with a specified target velocity.
Library name: PLCopen MC part 1
Namespace: PLCO
Input |
Data type |
Description |
---|---|---|
Axis |
Axis_Ref |
Reference to the axis for which the function block is to be executed. |
Execute |
BOOL |
Value range: FALSE, TRUE. Default value: FALSE. A rising edge of the input Execute starts the function block. The function block continues execution and the output Busy is set to TRUE. This function block can be restarted while it is executed. The target values are overwritten by the new values at the point in time the rising edge occurs. |
Velocity |
LREAL |
Value range: -2147483648...2147483647 Default value: 0 Target velocity in user-defined units. Negative values for the target velocity invert the direction of the movement. |
Acceleration |
LREAL |
Value range: Any positive LREAL value Default value: 0 Acceleration in user-defined units. The value at this input is used to reach the specified target velocity (acceleration or deceleration). |
Jerk |
LREAL |
Value range: Any positive LREAL value and zero oPositive values: Jerk limit (in units/s3) (maximum jerk with which the acceleration is modified). oZero: Jerk limit disabled. The acceleration instantaneously jumps from zero to maximum acceleration (infinite jerk). Default value: 0 |
Direction |
Default value: PositiveDirection Direction of movement. Possible values: oValue PositiveDirection oValue NegativeDirection See MC_Direction for a description of the values. |
|
BufferMode |
Default value: Aborting Buffer mode. Possible values: oValue Aborting oValue Buffered oValue BlendingLow oValue BlendingPrevious oValue BlendingNext oValue BlendingHigh See MC_Buffer_Mode for a description of the values. |
Output |
Data type |
Description |
---|---|---|
InVelocity |
BOOL |
Value range: FALSE, TRUE. Default value: FALSE. oFALSE: Target value not reached. oTRUE: Target value reached. |
Busy |
BOOL |
Value range: FALSE, TRUE. Default value: FALSE. oFALSE: Function block is not being executed. oTRUE: Function block is being executed. NOTE: The output Busy remains TRUE even when the target velocity has been reached or Execute becomes FALSE. The output Busy is set to FALSE as soon as another function block such as MC_Stop is executed. |
Active |
BOOL |
Value range: FALSE, TRUE. Default value: FALSE. oFALSE: The function block does not control the movement of the axis. oTRUE: The function block controls the movement of the axis. |
CommandAborted |
BOOL |
Value range: FALSE, TRUE. Default value: FALSE. oFALSE: Execution has not been aborted. oTRUE: Execution has been aborted by another function block. |
Error |
BOOL |
Value range: FALSE, TRUE. Default value: FALSE. oFALSE: Function block is being executed, no error has been detected during execution. oTRUE: An error has been detected in the execution of the function block. |
ErrorID |
ET_Result |
This enumeration provides diagnostics information. |
The output Busy remains TRUE even if the target velocity has been reached or the input Execute is set to FALSE. The output Busy is set to FALSE as soon as another function block such as MC_Stop is executed.
If you use MC_MoveVelocity to move an axis continously in the same direction, define this axis as modulo axis. Refer to Movement Range and Position Calculation With Floating-Point Numbers for additional information.
ErrorId |
Cause |
Corrective |
---|---|---|
AccelerationOutOfRange |
The value at the input Acceleration is less than or equal to zero. |
Supply a positive value (greater than zero) at the input Acceleration. |
AxisInErrorStop |
Function block cannot be executed because an axis error has been detected and the axis is in operating state ErrorStop. |
Verify that the axis is not in the operating state ErrorStop when attempting to start a new function block. |
AxisInvalid |
No axis is specified for the input Axis or specified axis does not support the required function. For MC_Touchprobe and MC_AbortTrigger: Specified axis does not support capture. |
Connect the axis for which the function block is to be executed to the input Axis. For MC_Touchprobe and MC_AbortTrigger: Use an axis that supports capture. |
AxisIsDisabled |
Function block cannot be executed because the axis is the operating state Disabled. |
Verify that the axis is not in the operating state Disabled when attempting to start a new function block. |
AxisIsStopping |
Function block cannot be executed because an MC_Stop function block is active and the axis is in the operating state Stopping. |
Verify that the axis is not in the operating state Stopping when attempting to start a new function block. |
DirectionInvalid |
The value at the input Direction is invalid. |
Only use the following elements of MC_Direction: oFor MC_MoveAbsolute: oPositiveDirection oNegativeDirection oShortestWay oFor MC_MoveVelocity: oPositiveDirection oNegativeDirection |
IfMotionCommandNotSupported |
The connected axis does not support all of the required functions. |
Verify that the connected axis implements the IF_MotionCommand interface of the MotionInterface library. |
JerkOutOfRange |
The value at the input Jerk is less than zero. |
Use a positive value or zero at the input Jerk. |
NoBusCommunication |
The fieldbus is not in the state Operational (Sercos: phase 4). |
Verify that the fieldbus is in the state Operational (Sercos: phase 4) at the rising edge of the input Execute and during the execution. |
Ok |
Status message |
- |
OutOfMemory |
Insufficient memory for movement command. |
Reduce the memory required by your application. |
UnexpectedReturnValue |
Indeterminable return value from system. |
Contact your Schneider Electric representative. |