INTERFACE ILConTl EXTENDS ILCon, ITimeLimited, ITimingControlled
In order to build a function block with a LConTl behaviour, its action provider has to be decorated with this interface. This will determine the state machine which then forces the function block to the appropriate LConTl behaviour.
See Decorators for more information about the concept.
A state chart for function blocks with LConTl behaviour
⇒ StartAction is running, until xComplete is TRUE, xBusy ⇒ TRUE
⇒ CyclicAction is running until xComplete is TRUE
⇒ CleanupAction is running. At its end the ExitAction is probably executed one time.
After a Ready Condition as input, only the output states
Done (xComplete is TRUE) or Error (eErrorID ≠ ERROR.NO_ERROR) are possible.
After a Error Condition as input, only the output state
Error (eErrorID ≠ ERROR.NO_ERROR) is possible.
After a Abort Condition as input, only the output states
Resetting or Error (eErrorID ≠ ERROR.NO_ERROR) are possible.
(xBusy is still TRUE!)
xDone ⇒ TRUE, xBusy ⇒ FALSE
xError ⇒ TRUE, eErrorID ≠ ERROR.NO_ERROR, xBusy ⇒ FALSE
⇒ ResetAction is running, until xComplete is TRUE.
After that:
- the outputs xDone and xError will be set to FALSE.
- The output eErrorID will be set to ERROR.NO_ERROR.