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.

image024.png

Figure 21 – PubSub component state dependencies

Figure 22 describes the formal state machine with the possible transitions.

image025.png

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. 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