5 Model ToC Previous Next

5.2 ProgramStateMachineType ToC Previous Next

5.2.5 ProgramStateMachineType effects (Events) ToC Previous Next

5.2.5.1 Overview ToC

The ProgramStateMachineType includes component references to the Effects of each of the Program’s state transitions. These Effects are Events. Each Transition shall have a HasEffect Reference to a ProgramTransitionEventType and can have an AuditProgramTransitionEventType. When the transition occurs, Event notifications of the referenced type are generated for subscribed Clients. The Program Invocation may serve as the EventNotifier for these Events or an owning Object or the Server Object may provide the notifications.

ProgramTransitionEventTypes provide the means for delivering result data and confirming state transitions for subscribed Clients on each defined Program State Transition. The AuditProgramTransitionEventType allows the auditing of changes to the Program’s state in conjunction with Client Method Calls.

5.2.5.2 ProgramTransitionEventType ToC Model

The ProgramTransitionEventType is a subtype of the TransitionEventType. It is used with Programs to acquire intermediate or final results or other data associated with a state transition. A Program can have a unique ProgramTransitionEventType definition for any transition. Each ProgramTransitionEventType specifies the IntermediateResult data specific to the designated state transition on that ProgramStateMachineType. Each transition can yield different intermediate result data. Table 9 specifies the ProgramTransitionEventType.

Table 10 identifies the ProgramTransitionEventTypes that are specified for ProgramStateMachineTypes.

Table 9 – ProgramTransitionEventType

Attribute Value
BrowseName ProgramTransitionEventType
IsAbstract True

Subtype of the base TransitionEventType defined in OPC 10000-5.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasComponent Variable IntermediateResult   BaseDataVariableType Mandatory

TransitionNumber identifies the Program transition that triggered the Event.

FromStateNumber identifies the state before the Program transition.

ToStateNumber identifies the state after the Program transition.

The IntermediateResult is an Object that aggregates a set of Variables whose values are relevant for the Program at the instant of the associated transition. The ObjectType for the IntermediateResult specifies the collection of Variables using a set of HasComponent References.

Table 10 – ProgramTransitionEvents

BrowseName References Target BrowseName Value Target TypeDefinition Notes
Effects                
HaltedToReadyEvent          
  HasProperty TransitionNumber 1 PropertyType  
  HasProperty FromStateNumber 1 PropertyType  
  HasProperty ToStateNumber 2 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
ReadyToRunningEvent          
  HasProperty TransitionNumber 2 PropertyType  
  HasProperty FromStateNumber 2 PropertyType  
  HasProperty ToStateNumber 3 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
RunningToHaltedEvent          
  HasProperty TransitionNumber 3 PropertyType  
  HasProperty FromStateNumber 3 PropertyType  
  HasProperty ToStateNumber 1 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
RunningToReadyEvent          
  HasProperty TransitionNumber 4 PropertyType  
  HasProperty FromStateNumber 3 PropertyType  
  HasProperty ToStateNumber 2 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
RunningToSuspendedEvent          
  HasProperty TransitionNumber 5 PropertyType  
  HasProperty FromStateNumber 3 PropertyType  
  HasProperty ToStateNumber 4 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
SuspendedToRunningEvent          
  HasProperty TransitionNumber 6 PropertyType  
  HasProperty FromStateNumber 4 PropertyType  
  HasProperty ToStateNumber 3 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
SuspendedToHaltedEvent          
  HasProperty TransitionNumber 7 PropertyType  
  HasProperty FromStateNumber 4 PropertyType  
  HasProperty ToStateNumber 1 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
SuspendedToReadyEvent          
  HasProperty TransitionNumber 8 PropertyType  
  HasProperty FromStateNumber 4 PropertyType  
  HasProperty ToStateNumber 2 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional
           
ReadyToHaltedEvent          
  HasProperty TransitionNumber 9 PropertyType  
  HasProperty FromStateNumber 2 PropertyType  
  HasProperty ToStateNumber 1 PropertyType  
  HasComponent IntermediateResults   ObjectType Optional

Previous Next