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.
| Name | Value | Description |
|---|---|---|
| Disabled | 0 | The PubSub component is configured but currently disabled. |
| Paused | 1 | The PubSub component is enabled but currently paused by a parent component. The parent component is either Disabled or Paused. |
| Operational | 2 | The PubSub component is operational. |
| Error | 3 | The PubSub component is in an error state. |
| PreOperational | 4 | The 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.

Table 2 formally defines the transitions of the state machine.
| Source State | Target State | Trigger Description |
| Disabled | Paused | The component was successfully enabled but the parent component is in the state Disabled or Paused. |
| Disabled | PreOperational | The component was successfully enabled. |
| Paused | Disabled | The component was successfully disabled. |
| Paused | PreOperational | The state of the parent component changed to Operational. |
| PreOperational | Operational | 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. |
| PreOperational | Disabled | The component was successfully disabled. |
| PreOperational | Paused | The state of the parent component changed to Disabled or Paused. |
| PreOperational | Error | There is a pending error situation for the related PubSub component. |
| Operational | Disabled | The component was successfully disabled. |
| Operational | Paused | The state of the parent component changed to Disabled or Paused. |
| Operational | Error | There is a pending error situation for the related PubSub component. |
| Error | Disabled | The component was successfully disabled. |
| Error | Paused | The state of the parent component changed to Disabled or Paused. |
| Error | Operational | The error situation was resolved for the related PubSub component. |
| Error | PreOperational | The error situation was resolved for the related PubSub component. |
The PubSubState representation in the AddressSpace is defined in Table 3.
| Attribute | Value | ||||
| BrowseName | PubSubState | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Others |
|---|---|---|---|---|---|
| Subtype of Enumeration defined in OPC 10000-5 | |||||
| HasProperty | Variable | EnumStrings | LocalizedText [] | PropertyType | |
| Conformance Units | |||||
|---|---|---|---|---|---|
| PubSub Model Base |