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
