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
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 onExecute
. While the output isFALSE
, keep calling the function block without a new rising edge ofExecute
. The output is reset toFALSE
on a falling edge ofExecute
.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
orDone
isTRUE
.