6.2.1 PubSubState state machine

The PubSubState is used to expose and control the operation of a PubSub component. It is an enumeration of the possible states. The enumeration values are described in Table 1.

Table 1 – PubSubState values
NameValueDescription
Disabled0The PubSub component is configured but currently disabled.
Paused1The PubSub component is enabled but currently paused by a parent component. The parent component is either Disabled or Paused.
Operational2The PubSub component is operational.
Error3The PubSub component is in an error state.
PreOperational4The PubSub component is enabled but currently in the process to execute the steps necessary to enter the Operational state.

Figure 22 depicts the PubSub components that have a PubSub state and their parent-child relationship. State changes of children are based on changes of the parent state. The root of the hierarchy is the PublishSubscribe component.

Figure 22 – PubSub component state dependencies

Table 2 formally defines the transitions of the state machine.

Table 2 – PubSubState state machine
Source State Target State Trigger Description
DisabledPausedThe component was successfully enabled but the parent component is in the state Disabled or Paused.
DisabledPreOperationalThe component was successfully enabled.
PausedDisabledThe component was successfully disabled.
PausedPreOperationalThe state of the parent component changed to Operational.
PreOperationalOperational

The component completed the steps necessary to enter the Operational state. These steps include setup of network communication and security keys.

If the PubSub component is a DataSetReader, the state shall change to Operational after the first key frame or event DataSetMessage was received.

PreOperationalDisabledThe component was successfully disabled.
PreOperationalPausedThe state of the parent component changed to Disabled or Paused.
PreOperationalErrorThere is a pending error situation for the related PubSub component.
OperationalDisabledThe component was successfully disabled.
OperationalPausedThe state of the parent component changed to Disabled or Paused.
OperationalErrorThere is a pending error situation for the related PubSub component.
ErrorDisabledThe component was successfully disabled.
ErrorPausedThe state of the parent component changed to Disabled or Paused.
ErrorOperationalThe error situation was resolved for the related PubSub component.
ErrorPreOperationalThe error situation was resolved for the related PubSub component.

The PubSubState representation in the AddressSpace is defined in Table 3.

Table 3 – PubSubState definition
Attribute Value
BrowseNamePubSubState
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Others
Subtype of Enumeration defined in OPC 10000-5
HasPropertyVariableEnumStringsLocalizedText []PropertyType
Conformance Units
PubSub Model Base