equinor / iec63131

Other
8 stars 8 forks source link

Add SequenceFlowTimeout attributes #100

Closed AlexTxen closed 2 months ago

AlexTxen commented 2 months ago

Added additional SequenceFlowTimeout attributes for timeout behaviour descriptions

Erik0x42 commented 2 months ago

Is this change intended to be global? Any changes that are intended to be global must be targeted onto main branch, otherwise stakeholders will not realize that the change is relevant for them to review. Adding a change that is known at the time to be global-destined to a branch that is project/site specific, thereby delaying alignment with all stakeholders, is risky and the project/site must take the entire risk for later disagreements/dissent by other stakeholders.

IEC PAS 63131:2017 does not cover overall timeout as a concept (not configuration of it, and not potential actions from it). To have "Action"="Jump" for timeout from a regular step is trivial and unproblematic, but should be treated as distinct from the overall timeout. To have "Action"="Jump" for timeout from the Start element is non-trivial and would require injection of X additional transitions in the implementation (where X=number of steps).

Unless/until IEC 63131 explicitly requires Jump as a possible action for overall timeout, then as long as InterfaceClass "SequenceFlowTimeout" is common and shared between step timeout and overall timeout, the jump action should be removed from "SequenceFlowTimeout" and from "Start.SequenceFlowTimeout" (and kept on the step timeout only): image