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.
Figure 22 – PubSub component state dependencies
Figure 23 describes the formal state machine with the possible transitions.
Figure 23 – PubSubState state machine
Table 2 formally defines the transitions of the state machine.
Table 2 – PubSubState 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.
Table 3 – PubSubState definition
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 |