SMC_GroupWait (FB)

FUNCTION_BLOCK FINAL SMC_GroupWait

This Function Block enables programmed waiting on the path, that is, in between of two other movements. It is not possible to blend into or from waiting. The waiting time starts right after the previously commanded movement has finished.

The waiting time between the two surrounding movements will be exactly the configured time. This means that the effective waiting time between two movements could even be reduced by an SMC_GroupWait. An example are buffered movements: Normally, buffered movements always start at the beginning of a bus cycle. But if a buffered movement follows an SMC_GroupWait, it will start immediatly after the waiting time, instead of at the beginning of the next cycle.

If a waiting command follows a tracking movement, the axis group will track the endpoint of the preceding movement for the specified time.

If the axes are not in standstill, but not controlled by the axis group, and waiting is commanded, the axis group will report the error SMC_AXIS_GROUP_IDLE_WAIT_AXES_MOVING.

As set-values are updated once per bus cycle, waiting times different from a multiple of the bus cycle time will just appear as a smoother start-up of the subsequent movement.

Due to technical reasons, the waiting time can increase by up to one cycle in the following cases: - non-tracking -> waiting -> tracking - tracking -> waiting -> non-tracking - tracking -> waiting -> PTP-tracking

InOut:

Scope

Name

Type

Comment

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Reference to a group of axes

Input

Execute

BOOL

Start the action at rising edge

WaitTime

LREAL

The time to wait on the path, in seconds. May not be negative.

Output

Done

BOOL

Standstill has been reached

Busy

BOOL

The FB is not finished

Active

BOOL

Indicates that the FB has control on the axis

CommandAborted

BOOL

Command is aborted by another command

CommandAccepted

BOOL

The command has been accepted by the axis group. If the output becomes TRUE, the function block instance can be used to command the next movement with a new rising edge on Execute. While the output is FALSE, keep calling the function block without a new rising edge of Execute. The output is reset to FALSE on a falling edge of Execute.

Error

BOOL

Signals that an error has occurred within the function block

ErrorID

SMC_ERROR

Error identification

MovementId

SMC_Movement_Id

The unique identifier of the movement. Valid if CommandAccepted or Done is TRUE.