The PublisherId is a unique identifier for a Publisher within a Message Oriented Middleware. It can be included in sent NetworkMessage for identification or filtering. The value of the PublisherId is typically shared between PubSubConnections but the assignment of the PublisherId is vendor specific.
The PublisherId parameter is only relevant for the Publisher functionality inside a PubSubConnection. The filter setting on the Subscriber side is contained in the DataSetReader parameters.
Valid DataTypes are UInteger and String. A zero UInteger and a Null or empty String are invalid PublisherIds.
The default PublisherId for datagram transport protocols has a DataType of UInt64. If the default PublisherId is created by the OPC UA Application, it is recommended to set the first 6 bytes with the MAC address of one of the network interfaces and to set the two remaining bytes to the OPC UA Server port of the OPC UA Application.
The default PublisherId for broker based transports equals the PublisherId for datagram transport protocols but the DataType is UInt64 for UADP message mapping and String for JSON message mapping. For the String, the UInt64 value is converted to a String. The PublisherId may be used in message headers, as part of a QueueName or as a client identifier for the broker connection. In these cases the size of the PublisherId and the characters used in the PublisherId may have limitations or impact to the communication performance.
The default PublisherId is used if it is not assigned by a configuration tool.
The TransportProfileUri parameter with DataType String indicates the transport protocol mapping and the message mapping used.
The possible TransportProfileUri values are defined as URI of the transport protocols defined as PubSub transport Facet in OPC 10000-7.
The Address parameter contains the network address information for the communication middleware. The different Structure DataTypes used to represent the Address are defined in 6.2.7.5.3.
The ConnectionProperties parameter is an array of DataType KeyValuePair that specifies additional properties for the configured connection. The KeyValuePair type is defined in OPC 10000-5 and consists of a QualifiedName and a value of BaseDataType.
The mapping of the namespace, name, and value to concrete functionality may be defined by transport protocol mappings or vendor-specific extensions.
The NamespaceIndex of the QualifiedName in the KeyValuePair for properties defined in this document shall be 0. The Name of the QualifiedName is the property name from Table 38. The DataType of the Value in the KeyValuePair shall be the DataType defined in Table 38.
Table 38 formally defines the ConnectionProperties.
Table 38 – ConnectionProperties
Key |
DataType |
Description |
0:SksPullRetryInterval |
Duration |
The interval the PubSub application shall use to retry pulling keys after an error appeared. The PubSub application shall have a default value for the retry interval in the case this value is not configured. |
This Structure DataType is used to represent the configuration parameters for PubSubConnections. The PubSubConnectionDataType is formally defined in Table 39.
Table 39 – PubSubConnectionDataType structure
Name |
Type |
Description |
Allow Subtypes |
PubSubConnectionDataType |
Structure |
|
|
Name |
String |
The name of the PubSubConnection. The name shall be unique across a PubSubConfiguration. It is recommended to use a human readable name. |
|
Enabled |
Boolean |
The enabled state of the PubSubConnection. |
|
PublisherId |
BaseDataType |
Defined in 6.2.7.1. |
|
TransportProfileUri |
String |
Defined in 6.2.7.2. |
|
Address |
NetworkAddressDataType |
Defined in 6.2.7.3. The NetworkAddressDataType is defined in 6.2.7.5.3. |
True |
ConnectionProperties |
KeyValuePair[] |
Defined in 6.2.7.4. |
|
TransportSettings |
ConnectionTransportDataType |
Transport mapping specific PubSubConnection parameters. The abstract base type is defined in 6.2.7.5.2. The concrete subtypes are defined in the subclauses for transport mapping specific parameters. If no concrete subtype is defined for the transport mapping, the field shall be null. |
True |
WriterGroups |
WriterGroupDataType[] |
The WriterGroups contained in the PubSubConnection. The WriterGroup is defined in 6.2.6. |
|
ReaderGroups |
ReaderGroupDataType[] |
The ReaderGroups contained in the PubSubConnection. The ReaderGroup is defined in 6.2.8. |
|
Its representation in the AddressSpace is defined in Table 40.
Table 40 – PubSubConnectionDataType definition
Attributes |
Value |
BrowseName |
PubSubConnectionDataType |
IsAbstract |
False |
Subtype of Structure defined in OPC 10000-5. |
|
Conformance Units |
|
PubSub Parameters Discovery Extended |
This Structure DataType is an abstract base type for transport mapping specific PubSubConnection parameters. The abstract DataType does not define fields.
The ConnectionTransportDataType Structure representation in the AddressSpace is defined in Table 41.
Table 41 – ConnectionTransportDataType definition
Attributes |
Value |
BrowseName |
ConnectionTransportDataType |
IsAbstract |
True |
Subtype of Structure defined in OPC 10000-5. |
|
Conformance Units |
|
PubSub Parameters Discovery Extended |
Subtypes of this abstract Structure DataType are used to represent network address information. The NetworkAddressDataType is formally defined in Table 42.
Table 42 – NetworkAddressDataType structure
Name |
Type |
Description |
NetworkAddressDataType |
Structure |
|
NetworkInterface |
String |
The name of the network interface used for the communication relation. The default value is an empty String. In this case the network interface used is determined by the address provided by the subtypes of this Structure. The name can be an IP address, MAC address or the system specific name of the interface. |
The NetworkAddressDataType Structure representation in the AddressSpace is defined in Table 43.
Table 43 – NetworkAddressDataType definition
Attributes |
Value |
BrowseName |
NetworkAddressDataType |
IsAbstract |
True |
Subtype of Structure defined in OPC 10000-5. |
|
Conformance Units |
|
PubSub Parameters Discovery Extended |
This Structure DataType is used to represent network address information in the form of an URL String. The NetworkAddressUrlDataType is formally defined in Table 44.
Table 44 – NetworkAddressUrlDataType structure
Name |
Type |
Description |
NetworkAddressUrlDataType |
Structure |
Subtype of NetworkAddressDataType defined in 6.2.7.5.3. |
Url |
String |
The address string for the communication relation in the form on an URL String. |
The NetworkAddressUrlDataType Structure representation in the AddressSpace is defined in Table 45.
Table 45 – NetworkAddressUrlDataType definition
Attributes |
Value |
||
BrowseName |
NetworkAddressUrlDataType |
||
IsAbstract |
False |
||
References |
NodeClass |
BrowseName |
IsAbstract |
Subtype of NetworkAddressDataType defined in 6.2.7.5.3. |
|||
Conformance Units |
|||
PubSub Parameters Discovery Extended |