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
AxisGroupReference to a group of axes
Input
ExecuteBOOLStart the action at rising edge
WaitTimeLREALThe time to wait on the path, in seconds. May not be negative.
Output
DoneBOOLStandstill has been reached
BusyBOOLThe FB is not finished
ActiveBOOLIndicates that the FB has control on the axis
CommandAbortedBOOLCommand is aborted by another command
CommandAcceptedBOOLThe 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 toFALSEon a falling edge ofExecute.ErrorBOOLSignals that an error has occurred within the function block
ErrorIDSMC_ERRORError identification
MovementIdSMC_Movement_IdThe unique identifier of the movement. Valid if
CommandAcceptedorDoneisTRUE.