The PubSubCommunicationFlowConfigurationType defines the PubSub- specific communication configuration (see OPC 10000-14).

For examples of PubSubCommunicationFlowConfigurationType, see Annex E.

The PubSubCommunicationFlowConfigurationType is illustrated in Figure 44.

image047.png

Figure 44 – PubSubCommunicationFlowConfigurationType illustration

The PubSubCommunicationFlowConfigurationType is formally defined in Table 94.

The PubSubCommunicationFlowConfigurationType contains the configuration needed for both the publishing and subscribing of an information flow. In terms of this model, the information flow can be linked with ConnectionEndpointConfiguration Objects to explicitly indicate Publisher and Subscriber(s) of the information flow. The linkage is provided by ToOutboundFlow and ToInboundFlow References (defined in 11.23 and 11.24; see 6.8.2 for additional description). There are, in general, two types of information flows: 1 to 1 (unicast) or 1 to N (multicast), which imply the following relations:

  • Unicast

Publishing ConnectionEndpointConfiguration, if specified, references the PubSubCommunicationFlowConfiguration Object using the ToOutboundFlow Reference.

Subscribing ConnectionEndpointConfiguration, if specified, shall reference the single instance of the <SubscriberConfiguration> using the ToInboundFlow Reference.

  • Multicast

Publishing ConnectionEndpointConfiguration, if specified, references the PubSubCommunicationFlowConfiguration Object using the ToOutboundFlow Reference.

Subscribing ConnectionEndpointConfigurations, if specified, shall reference the <SubscriberConfiguration > Objects using the ToInboundFlow Reference. There can be as many <SubscriberConfiguration > Objects as there are Subscribers, in which case each ConnectionEndpointConfiguration references its corresponding configuration. <SubscriberConfiguration > Objects may be shared by the ConnectionEndpointConfiguration Objects.

The referenced SubscriberConfiguration does not replicate information that is contained in its parent object, but the parent information is required to establish the Connection.

For the usage of SelectionLists, see 6.8.1.

Table 94 – PubSubCommunicationFlowConfigurationType definition

Attribute

Value

BrowseName

4:PubSubCommunicationFlowConfigurationType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 4:CommunicationFlowConfigurationType

0:HasComponent

Variable

4:Address

0:NetworkAddressDataType

0:SelectionListType

O

0:HasComponent

Variable

4:TransportProfileUri

0:String

0:SelectionListType

O

0:HasComponent

Variable

4:HeaderLayoutUri

0:String

0:SelectionListType

O

0:HasComponent

Variable

4:PublishingInterval

0:Duration

0:SelectionListType

O

0:HasComponent

Variable

4:Qos

4:CommunicationFlowQosDataType

0:SelectionListType

O

0:HasComponent

Variable

4:SecurityMode

0:MessageSecurityMode

0:SelectionListType

O

0:HasComponent

Variable

4:SecurityGroupId

0:String

0:SelectionListType

O

0:HasComponent

Object

4:<SubscriberConfiguration>

4:SubscriberConfigurationType

OP

ConformanceUnits

UAFX ConnectionManager PubSubCommunicationFlowConfiguration

The optional Address specifies the destination network address to be used for transmission of NetworkMessages by the Publisher of the information flow. This is an abstract type, and a concrete subtype shall be used. For the usage of Address, see OPC 10000-14 Clause “PubSub mappings”, Subclause “Transport protocol mappings”. The configuration is invalid if Address is omitted here and in <SubscriberConfiguration >.

The optional TransportProfileUri specifies the transport protocol mapping and the message mapping to be used. If TransportProfileUri is omitted, the default transport protocol for the Address shall be used. For the definition of TransportProfileUri, see OPC 10000-14.

The optional HeaderLayoutUri specifies the UADP header formats for both NetworkMessages and DataSetMessages. If HeaderLayoutUri is omitted, a fixed layout for periodic data shall be used (http://opcfoundation.org/UA/PubSub-Layouts/UADP-Periodic-Fixed). For the definition of HeaderLayoutUri, see OPC 10000-14.

The optional PublishingInterval specifies the interval to be used for publishing NetworkMessages. For the definition of PublishingInterval, see OPC 10000-14.

The optional Qos specifies the Quality of Service to be used for the information flow. For the definition of CommunicationFlowQosDataType, see 10.12. Qos ReceiveQos may be overridden by a <SubscriberConfiguration > (see 6.13.3.3).

SecurityMode specifies the security mode to be used for the information flow. For the definition of SecurityMode, see OPC 10000-14.

SecurityGroupId specifies the security group to be used for the information flow. For the definition of SecurityGroupId, see OPC 10000-14.

The optional <SubscriberConfiguration> represents instances of SubscriberConfigurationType. It defines the configuration for Subscriber(s) of the information flow. <SubscriberConfiguration> is omitted for an autonomous publisher.

The SubscriberConfigurationType is formally defined in Table 95. It describes the Subscriber specific information for the Subscriber of an information flow. The configuration of the Subscriber requires additional information from the parent object, which applies to all Subscribers.

Table 95 – SubscriberConfigurationType definition

Attribute

Value

BrowseName

4:SubscriberConfigurationType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5

0:HasComponent

Variable

4:Address

0:NetworkAddressDataType

0:SelectionListType

O

0:HasComponent

Variable

4:MessageReceiveTimeout

0:Duration

0:SelectionListType

M

0:HasComponent

Variable

4:ReceiveQos

0:ReceiveQosDataType[]

0:SelectionListType

O

ConformanceUnits

UAFX ConnectionManager PubSubCommunicationFlowConfiguration

The optional Address specifies the network address to be used for the reception of NetworkMessages at the Subscriber of the information flow. This is an abstract type, and a concrete subtype shall be used. For the usage of Address, see OPC 10000-14 Clause “PubSub mappings”, Subclause “Transport protocol mappings”. If Address is omitted and the parent Object contains a multicast network address, the Address of the parent Object shall be used for the Subscriber. If Address is omitted and the parent Object contains a unicast network address, the default reception address with the default port shall be used (e.g., “opc.udp://localhost”; for details, see OPC 10000-14). The configuration is invalid if Address is omitted here and in the parent Object.

The MessageReceiveTimeout specifies the maximum acceptable time between DataSetMessages. Received by the Subscriber. For the definition of MessageReceiveTimeout, see OPC 10000-14.

The optional ReceiveQos specifies the Quality of Service to be used for the Subscriber of the information flow. It shall only be present if Qos is present in the parent Object. If present, ReceiveQos will override Qos ReceiveQos of the parent Object. For the definition of ReceiveQos, see OPC 10000-14.