MC_MoveDirectPreparation

MC_MoveDirectPreparation 1:

TF5410
TwinCAT 3 Motion Collision Avoidance

TF5420
TwinCAT 3 Motion Pick-and-Place

 

MC Group with Pick-and-Place

MC Group Coordinated Motion

MC_MoveDirectPreparation 2:

MC_MoveDirectPreparation 3:

MC_MoveDirectPreparation 4:

The function block MC_MoveDirectPreparation adds a move in direct mode to the table of segments in the PathData structure. After creating a table, it can be executed via MC_MovePath. The function block MC_MoveDirectPreparation can be called several times per cycle. A maximum of 30 entries are allowed per PathData table.

MC_MoveDirectPreparation 5: Inputs

VAR_INPUT
    Position                 : POINTER TO LREAL;
    PositionCount            : UDINT;
    Velocity                 : MC_LREAL := MC_INVALID;
    Acceleration             : MC_LREAL := MC_DEFAULT;
    Deceleration             : MC_LREAL := MC_DEFAULT;
    Jerk                     : MC_LREAL := MC_DEFAULT;
    BufferMode               : MC_BUFFER_MODE := mcAborting;
    TransitionMode           : MC_TRANSITION_MODE := mcTransModeNone;
    TransitionParameter      : POINTER TO LREAL;
    TransitionParameterCount : UDINT;
    InvokeId                 : UDINT;
    DynamicConstraints       : REFERENCE TO IPlcDynamicConstraint := 0;
END_VAR

Name

Type

Description

Position

POINTER TO LREAL

Pointer to an array [1..PositionCount] of the target position vector

PositionCount

UDINT

Dimension of the position vector. Must match the number of axes in the axis convention (see MC Group Coordinated Motion).

Velocity

MC_LREAL

The maximum velocity for the programmed segment. The velocity does not always have to be reached. The velocity must be set >0.

Acceleration

MC_LREAL

Maximum path acceleration for the programmed segment.
Special input values can be used:

  • MC_DEFAULT executes the command with default axis values.
  • MC_MAXIMUM executes the command with the maximum axis values. The acceleration must be set ≥1.

Deceleration

MC_LREAL

Maximum path deceleration for the programmed segment.
Special input values can be used:

  • MC_DEFAULT executes the command with default axis values.
  • MC_MAXIMUM executes the command with the maximum axis values. The deceleration must be set ≥1.

Jerk

MC_LREAL

Path jerk for the programmed segment.
Special input values can be used.

  • MC_DEFAULT executes the command with default axis values. The jerk must be set ≥100.
  • MC_MAXIMUM = 100 * MC_DEFAULT

BufferMode

MC_BUFFER_MODE

Defines how successive motion commands are to be processed.

Transition Mode

MC_TRANSITION_MODE

Defines the blending mode.

TransitionParameter

POINTER TO LREAL

Pointer to array [1..TransitionParameterCount] of blending parameters. Transition parameters define the blending from the last programmed position.

TransitionParameterCount

UDINT

Number of blending parameters

InvokeId

UDINT

Segment ID for analysis purposes

DynamicConstraints

REFERENCE TO IPlcDynamicConstraint

Optional input to further restrict the permitted values for speed, acceleration, deceleration, or jerk during movement.

Notice Reference assignment:

<InstanceOfMC_MoveLinearAbsolutePreparation>.DynamicConstraints REF= <InstanceOfIPlcDynamicConstraint>;

MC_MoveDirectPreparation 6: / MC_MoveDirectPreparation 7: Inputs/Outputs

VAR_IN_OUT
    PathData                 : MC_PATH_DATA_REF;
END_VAR

Name

Type

Description

PathData

MC_PATH_DATA_REF

Table containing the segments of a path. The table is written by MC_Move…Preparation and executed by MC_MovePath (see MC_PATH_DATA_REF).

MC_MoveDirectPreparation 8: Outputs

VAR_OUTPUT
    Error                    : BOOL;
    ErrorId                  : UDINT;
END_VAR

Name

Type

Description

Error

BOOL

This output becomes TRUE if an error has occurred during command execution.

ErrorId

UDINT

Contains the command-specific error code of the last executed command. Details of the error code can be found in the ADS error documentation or in the NC error documentation (error codes 0x4nnn and 0x8nnn).

Requirements

Development environment

Target platform

PLC libraries
to include

TF5400 Advanced Motion Pack V3.4.45

PC or CX (x64)

Tc3_McCoordinatedMotion, Tc2_MC2