ICyclicActionProvider.CyclicAction (METH)¶
METHOD CyclicAction
The CyclicAction is running until either xComplete
is TRUE
or iErrorID
≠ 0 (Zero).
If xComplete
is TRUE
or iErrorID
≠ 0 (Zero) the state STATE.CLEANING is reached.
With itfTimingController
≠ 0 (Zero) it is possible to check the current invocation time (see: ITimingController.ControllerCheckTiming).
Function blocks with a udiTimeLimit
input variable (see: IETrigTl, IETrigATl, IETrigTlTo, IETrigATlTo, ILConTl, ILConTlTo, ILConTlC) should be implement in such a way that the current
invocation is exited when the consumed time for this invocation has exceeded the settings from udiTimeLimit.
Example
REPEAT
// working to reach the ready condition
// ⇒ xComplete := TRUE
// if the maximum invocation time is reached
// ⇒ xTimeLimit := TRUE
// if the maximum operating time is reached
// ⇒ xTimeOut := TRUE
// if an error condition is reached
// ⇒ set iErrorID to a value other than 0 (Zero)
itfTimingController.ControllerCheckTiming(
xTimeOut=>xTimeOut,
xTimeLimit=>xTimeLimit
);
xComplete := TRUE;
iErrorID := ERROR.NO_ERROR;
UNTIL xComplete OR
xTimeOut OR xTimeLimit OR
iErrorID <> ERROR.NO_ERROR
END_REPEAT
- InOut:
Scope
Name
Type
Input
itfTimingController
Output
xComplete
BOOL
iErrorID
INT