PubSubConnectionEndpointType is a subtype of the ConnectionEndpointType. It extends the abstract ConnectionEndpointType with behaviour that is specific to the OPC UA PubSub communication model.

The PubSubConnectionEndpointType is illustrated in Figure 30.

image033.png

Figure 30 – PubSubConnectionEndpointType illustration

The PubSubConnectionEndpointType is formally defined in Table 72 and Table 73.

Table 72 – PubSubConnectionEndpointType definition

Attribute

Value

BrowseName

3:PubSubConnectionEndpointType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 3:ConnectionEndpointType

HasComponent

Variable

3:Mode

2:PubSubConnectionEndpointModeEnum

0:BaseDataVariableType

M

ConformanceUnits

UAFX ConnectionEndpoint PubSub

Table 73 – PubSubConnectionEndpointType additional References

SourceBrowsePath

Reference Type

IsForward

TargetBrowsePath

3:ToDataSetReader

True

0:Objects

0:Server

0:PublishSubscribe

0:<PubSubConnection>

0:<ReaderGroup>

0:<DataSetReader>

3:ToDataSetWriter

True

0:Objects

0:Server

0:PublishSubscribe

0:<PubSubConnection>

0:<WriterGroup>

0:<DataSetWriter>

Mode defines the mode of the ConnectionEndpoint with respect to the Connection. The modes are formally defined in the PubSubConnectionEndpointModeEnum defined in Clause 10.37. They shall require the following references:

A PubSubConnectionEndpoint shall have at most one ToDataSetReader and at most one ToDataSetWriter Reference (see 6.2.4.3.9.2).

If present, the ToDataSetReader Reference (see 11.20) shall point to the DataSetReader that this ConnectionEndpoint is associated with. It shall be present if the PubSubConnectionEndpoint references InputVariables or receives a heartbeat. The referenced DataSetReader shall be associated with a SubscribedDataSet having the subtype TargetVariablesType that contains all of the referenced ConnectionEndpoint InputVariables. If no InputVariables are referenced, the referenced DataSetReader shall be associated with a null DataSet (heartbeat).

If present, the ToDataSetWriter Reference (see 11.21) shall point to the DataSetWriter that this ConnectionEndpoint is associated with. It shall be present if the PubSubConnectionEndpoint references OutputVariables or publishes a heartbeat. The referenced DataSetWriter shall be associated with a PublishedDataSet having the subtype PublishedDataItemsType that contains all of the referenced ConnectionEndpoint OutputVariables. If no OutputVariables are referenced, the referenced DataSetWriter shall be associated with a null DataSet to publish the heartbeat.

The Status is determined based on the Status of the referenced DataSetReader and DataSetWriter. If a required Reference (see Mode) to a DataSetReader or DataSetWriter is missing, the Status shall be Initial.

For PubSubConnectionEndpoints with Mode of PublisherSubscriber, the Status shall be determined by the Status of the referenced DataSetReader and DataSetWriter as defined in Figure 31.

image034.png

Figure 31 – Status with Mode of PublisherSubscriber

For PubSubConnectionEndpoints with Mode of Subscriber, the Status shall be determined by the Status of the referenced DataSetReader according to Figure 32.

image035.png

Figure 32 – Status with Mode of Subscriber

For PubSubConnectionEndpoints with Mode of Publisher, the Status shall be determined by the Status of the referenced DataSetWriter according to Figure 33.

image036.png

Figure 33 – Status with Mode of Publisher

For the connection types autonomous publisher and autonomous subscriber (see 5.5.1), RelatedEndpoint Address shall be set to the Server address of the ConnectionEndpoint, the ConnectionEndpoint array shall be set to null or empty, and the ConnectionEndpointName to an empty String.

Annex E provides examples of PubSubConnectionEndpoints for the various types of Connections.