6 PubSub communication parameters

6.2 Common configuration parameters

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
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 21 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 21 – PubSub component state dependencies
Figure 22 describes the formal state machine with the possible transitions.
Figure 22 – 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.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 |