5.2.3.3 ProgramStateMachineType transitions

ProgramStateMachineType Transitions are instances of the TransitionType defined in OPC 10000-16 which also includes the definitions of the ToState, FromState, HasCause, and HasEffect references used. Table 7 specifies the transitions defined for the ProgramStateMachineType. Each transition is assigned a unique TransitionNumber defined in Table 6.

Table 7 – ProgramStateMachineType Additional References
SourceBrowsePathReference TypeIs ForwardTargetBrowsePath
HaltedToReadyToStateTrueReady
FromStateTrueHalted
HasCauseTrueReset
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
ReadyToRunningToStateTrueRunning
FromStateTrueReady
HasCauseTrueStart
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
RunningToHaltedToStateTrueHalted
FromStateTrueRunning
HasCauseTrueHalt
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
RunningToReadyToStateTrueReady
FromStateTrueRunning
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
RunningToSuspendedToStateTrueRunning
FromStateTrueSuspended
HasCauseTrueSuspend
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
SuspendedToRunningToStateTrueRunning
FromStateTrueSuspended
HasCauseTrueResume
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
SuspendedToHaltedToStateTrueHalted
FromStateTrueSuspended
HasCauseTrueHalt
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
SuspendedToReadyToStateTrueReady
FromStateTrueSuspended
HasCauseTrueReset
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType
ReadyToHaltedToStateTrueHalted
FromStateTrueReady
HasCauseTrueHalt
HasEffectTrueProgramTransitionEventType
HasEffectTrueAuditProgramTransitionEventType

The HaltedToReady transition specifies the transition from the Halted to Ready states. It may be caused by the Reset Method.

The ReadyToRunning transition specifies the transition from the Ready to Running states. It is caused by the Start Method.

The RunningToHalted transition specifies the transition from the Running to Halted states. It is caused by the Halt Method.

The RunningToReady transition specifies the transition from the Running to Ready states. The RunningToSuspended transition specifies the Transition from the Running to Suspended states. It is caused by the Suspend Method.

The SuspendedToRunning transition specifies the transition from the Suspended to Running states. It is caused by the Resume Method.

The SuspendedToHalted transition specifies the transition from the Suspended to Halted states. It is caused by the Halt Method.

The SuspendedToReady transition specifies the transition from the Suspended to Ready states. It is caused internally.

The ReadyToHalted transition specifies the transition from the Ready to Halted states. It is caused by the Halt Method.

Two HasEffect References are specified for each Program transition. These effects are Events of ProgramTransitionEventType and AuditProgramTransitionEventType defined in 5.2.5. The ProgramTransitionEventType notifies Clients of the Program transition and conveys result data. The AuditProgramTransitionEventType is used to audit transitions that result from Program Control Methods.

Figure 6 – ProgramStateMachineType causes and effects