The ProgramStateMachineTypeincludes component references to the Effects of each of the Program’sstate transitions. These EffectsareEvents. EachTransitionshall have a HasEffect Referenceto a ProgramTransitionEventType and can have anAuditProgramTransitionEventType. When the transition occurs, Eventnotifications of the referenced type are generated for subscribed Clients.The Program Invocationmay serve as the EventNotifierfor these Eventsor an owning Objector the Server Object may provide the notifications.
ProgramTransitionEventTypes provide the means for delivering result data and confirming state transitions for subscribed Clientson each definedProgram State Transition.The AuditProgramTransitionEventTypeallows the auditing of changes to the Program’s state in conjunction with Client Method Calls.
TheProgramTransitionEventTypeis a subtype of the TransitionEventType. It is used with Programsto acquire intermediate or final results or other data associated with a state transition. A Programcan have a unique ProgramTransitionEventTypedefinition for any transition. Each ProgramTransitionEventTypespecifies the IntermediateResultdata specific to the designated state transition on that ProgramStateMachineType. Each transition can yield different intermediate result data. Table 9specifies the ProgramTransitionEventType.
Table 9identifies the ProgramTransitionEventTypesthat are specified for ProgramStateMachineTypes.
Table 9– ProgramTransitionEventType
Attribute |
Value |
||||
BrowseName |
ProgramTransitionEventType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the base TransitionEventTypedefined in OPC 10000-16. |
|||||
HasComponent |
Variable |
IntermediateResult |
BaseDataType |
BaseDataVariableType |
Mandatory |
Conformance Units |
|||||
Program Basic |
TransitionNumberidentifies the Programtransition that triggered the Event.
FromStateNumberidentifies the state before the Programtransition.
ToStateNumberidentifies the state after the Programtransition.
The IntermediateResultis an Objectthat aggregates a set of Variableswhose values are relevant for the Programat the instant of the associated transition. The ObjectTypefor the IntermediateResultspecifies the collection of Variablesusing a set of HasComponent References.