The PubSubStateis used to expose and control the operation of a PubSubcomponent. 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 Disabledor Paused.

Operational

2

The PubSub component is operational.

Error

3

The PubSub component is in an error state.

PreOperational

4

The PubSubcomponent is enabled but currently in the process to execute the steps necessary to enter the Operationalstate.

Figure 21depicts the PubSubcomponents that have a PubSubstate and their parent-child relationship. State changes of children are based on changes of the parent state. The root of the hierarchy is the PublishSubscribecomponent.

image024.png

Figure 21– PubSub component state dependencies

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

image025.png

Figure 22– PubSubState state machine

Table 2formally 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 Operationalstate. These steps include setup of network communication and security keys.

If the PubSub component is a DataSetReader, the state shall change to Operationalafter the first key frame or event DataSetMessagewas received.

PreOperational

Disabled

The component was successfully disabled.

PreOperational

Paused

The state of the parent component changed to Disabledor Paused.

PreOperational

Error

There is a pending error situation for the related PubSubcomponent.

Operational

Disabled

The component was successfully disabled.

Operational

Paused

The state of the parent component changed to Disabledor Paused.

Operational

Error

There is a pending error situation for the related PubSubcomponent.

Error

Disabled

The component was successfully disabled.

Error

Paused

The state of the parent component changed to Disabledor Paused.

Error

Operational

The error situation was resolved for the related PubSubcomponent.

Error

PreOperational

The error situation was resolved for the related PubSubcomponent.

The PubSubStaterepresentation in the AddressSpaceis 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