Using the confirm_fail parameter
Control modules containing SFCs (both in an SFC control module and within a phase's state logic) have a Boolean parameter called CONFIRM_FAIL. This parameter exists for the action, for the step, and for the SFC. If any action within the step has CONFIRM_FAIL=True, then the step will have its CONFIRM_FAIL=True. Likewise, if any step within an SFC has CONFIRM_FAIL=True, then the SFC will have its CONFIRM_FAIL=True.
If you choose to Add a Confirm to an Action, you need to configure the transition or termination that follows that step with an expression that allows for the confirmation in the preceding step to complete. Otherwise, the transition or termination expression can evaluate to True before the action is confirmed and the SFC would proceed to the next step. By putting an expression (in the transition/termination) that verifies the confirmation in the step action is complete before continuing, the SFC will proceed as expected.
An example of a typical expression is as follows:
('STEP_NAME/PENDING_CONFIRMS.CV' = 0) AND ('STEP_NAME/CONFIRM_FAIL' = FALSE)'The above example allows all of that step's actions having a confirm to be validated as being successful before proceeding on to the next step.
You can also notify the operator with an alarm if an SFC fails to confirm an action. Otherwise, the SFC does not proceed and the plant control sequence may be halted. Configure an alarm that is generated if the SFC's CONFIRM_FAIL parameter becomes True.