MC_MoveVelocity

Functional Description

This function block performs a movement with a specified target velocity.

Library Name and Namespace

Library name: PLCopen MC part 1

Namespace: PLCO

Graphical Representation

G-SE-0068824.1.gif-high.gif

 

 

Inputs

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

MC_Direction

Default value: PositiveDirection

Direction of movement.

Possible values:

oValue PositiveDirection

oValue NegativeDirection

See MC_Direction for a description of the values.

BufferMode

MC_Buffer_Mode

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.

Outputs

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.

Notes

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.

Possible Values of ET_Result

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.

Additional Information

PLCopen State Diagram