MC_GroupHalt

MC_GroupHalt 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_GroupHalt 2:

MC_GroupHalt 3:

MC_GroupHalt 4:

The MC_GroupHalt function block stops a group with a defined deceleration ramp. Unlike "MC_GroupStop", the group is not locked for further motion commands. Therefore, the group can be restarted by another command during the deceleration ramp or after stopping.

WARNING

Possible delayed axis stop

If Standby Gap Control is active with a CA group and the gap is also less than the minimum, the gap is first extended before the axes can be stopped with an MC_GroupHalt.

  • Make sure that you actually need the behavior of Standby Gap Control; if not, consider disabling it (default setting).
  • Use an MC_GroupStop instead of an MC_GroupHalt if the axes need to be stopped without a delay.

Notice

MC_GroupHalt not implemented for MC group with pick-and-place

The MC_GroupHalt function block is only implemented for the MC Group Coordinated Motion and for PTP movements with Collision Avoidance (CA group). When used with another group type, the command is rejected.

MC_GroupHalt 5:

Applies to the MC_Group: MC_GroupHalt cancels the active coordinate transformation and deletes all jobs in the queue.

MC_GroupHalt 6: Inputs

VAR_INPUT
    Execute               : BOOL;
    Deceleration          : MC_LREAL := MC_DEFAULT;
    Jerk                  : MC_LREAL := MC_DEFAULT;
END_VAR

Name

Type

Description

Execute

BOOL

The command is triggered by a rising edge at this input.

Deceleration

MC_LREAL

[mm/s²]. The deceleration can be programmed as a scalar value (≥1), or "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.

Jerk

MC_LREAL

[mm/s³]. The jerk can be programmed as a scalar value (≥100), or "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. MC_IGNORE executes the command with unlimited jerk.

MC_GroupHalt 7: Inputs/outputs

VAR_IN_OUT
   AxesGroup             : AXES_GROUP_REF;
END_VAR

Name

Type

Description

AxesGroup

AXES_GROUP_REF

Reference to a group of axes (see Cyclic Group Interface).

MC_GroupHalt 8: Outputs

VAR_OUTPUT
    Done                  : BOOL;
    Busy                  : BOOL;
    Active                : BOOL;
    CommandAborted        : BOOL;
    Error                 : BOOL;
    ErrorId               : UDINT;
END_VAR

Name

Type

Description

Done

BOOL

Becomes TRUE when the group has been stopped and has come to a standstill. Once the group has come to a standstill, the group state becomes GroupStandby (see State diagrams).

Busy

BOOL

This output becomes TRUE when the command is started with Execute and remains so as long as the function block executes the command. If Busy becomes FALSE again, the function block is ready for a new command. At the same time one of the outputs Done, CommandAborted (if available) or Error is set.

Active

BOOL

Active indicates that the command is being executed. If the command was in the queue, it becomes active as soon as an executed command is completed.

CommandAborted

BOOL

This output becomes TRUE if the command was interrupted by another command.

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

TwinCAT V3.1.4018.26

TF5400 Advanced Motion Pack V3.1.1.17

PC or CX (x64)

Tc3_McCoordinatedMotion, Tc2_MC2