MC_MoveVelocity

MC_MoveVelocity 1:

This function block commands an endless movement with a specified velocity.

Syntax

Definition:

FUNCTION_BLOCK MC_MoveVelocity
VAR_IN_OUT
    Axis           : Reference To AXIS_REF;
END_VAR
VAR_INPUT
    Execute        : BOOL;
    Velocity       : LREAL;
    Acceleration   : LREAL;
    Deceleration   : LREAL;
    Jerk           : LREAL;
    BufferMode     : EBufferMode;
END_VAR
VAR_OUTPUT
    InVelocity     : BOOL;
    Busy           : BOOL;
    Active         : BOOL;
    CommandAborted : BOOL;
    Error          : BOOL;
    ErrorId        : UDINT;
END_VAR

MC_MoveVelocity 2: Inputs

Name

Type

Default

Description

Execute

BOOL

 

Trigger the command with rising edge.

Velocity

LREAL

#Invalid

Commanded velocity ([PosUnit]/s, the sign of this parameter determines the direction of movement).

Acceleration

LREAL

#Default

Maximum acceleration ([PosUnit]/s^2, positive)

Deceleration

LREAL

#Default

Maximum deceleration ([PosUnit]/s^2, positive)

Jerk

LREAL

#Default

Maximum jerk ([PosUnit]/s^3, positive)

BufferMode

EBufferMode

Aborting

Chronological sequence of the command

MC_MoveVelocity 3: In/Outputs

Name

Type

Description

Axis

Reference To AXIS_REF

Reference to the axis

MC_MoveVelocity 4: Outputs

Name

Type

Description

InVelocity

BOOL

Commanded velocity reached

Busy

BOOL

Function block is not finished and new output values are to be expected.

Active

BOOL

Function block has active control on the axis.

CommandAborted

BOOL

Command is aborted by another command.

Error

BOOL

Error occurred within function block.

ErrorId

UDINT

Error identifier

Further information

The function block MC_MoveVelocity is used to start an endless travel with a specified velocity and direction. As soon as the specified constant velocity is reached, the InVelocity output is set, and the function block has completed its operation. The function block does not perform any further monitoring of the motion. If the command is aborted during the acceleration phase, the CommandAborted output or, in the event of an error, the Error output is set.

The motion can be paused using MC_Halt and MC_Stop, or it can be canceled by another motion command.

If a motion command with the input BufferMode = Tc3_Mc3Base.EBufferMode.Aborting is applied to a coupled slave axis, this causes the axis to be automatically decoupled, followed by the execution of the command.

Note on the migration from NC2 to MC3

Unlike the NC2 function block of the same name, the MC3 function block MC_MoveVelocity has a signed Velocity input. The sign indicates the direction of motion.

Possible error codes

For this function block, the following values, among others, are possible for the ErrorId output:

Error(Hex)

Error(Dec)

Error type

Description

0x813c

33084

Parameter

BufferMode is invalid. The BufferMode passed to the function block is unknown or not supported by the command (some commands accept only Aborting, others only Buffered).

0x8145

33093

Function Block

Mapping of cyclic interface between NC and PLC is missing (e.g., AXIS_REF, AXES_GROUP_REF, ...). A reference used by the function block (e.g., to an axis, group, mover or other motion object) is not linked to the corresponding NC object, or its cyclic mapping is incomplete.

0x8146

33094

Function Block

Invalid velocity value. The velocity was not set or the entered value is invalid.

0x8151

33105

State

Command is not allowed in current axis state. If the axis has no controller enable, is in error or has been added to a group, some commands are not permitted.

0x819a

33178

NC Programming

Direction-dependent feed enable is missing. The execution of this command is not possible because of a missing direction-dependent feed enable.

0x819b

33179

NC Programming

Controller enable is missing. The controller enable of the axis was withdrawn during a movement. The dynamics of the setpoint did not correspond to zero dynamics.

0x81a9

33193

Parameter

Invalid acceleration value. The supplied acceleration value is invalid (e.g. not a finite number, negative or outside the permitted range).

0x81aa

33194

Parameter

Invalid deceleration value. The supplied deceleration value is invalid (e.g. not a finite number, negative or outside the permitted range).

0x81ab

33195

Parameter

Invalid jerk value. The jerk value used for the motion is invalid (e.g., negative, zero, or outside the permitted range of the mover or axis).

An overview of all NC error codes can be found here:

Version information

  • TwinCAT Standard >= v3.1.4026.23.1
  • TF5500 MC3 Base >= v4.0.6