The CommunicationFlowConfigurationType describes the communication-model-specific configuration to be used for an information flow. An information flow consists of the transmission of output data from a ConnectionEndpoint to input data of a ConnectionEndpoint. The CommunicationFlowConfiguration allows a standard Client to adapt communication-model-specific parameters (e.g., destination address or update interval) without having to understand the internals of the CommunicationModelConfiguration. The ConnectionManager reflects the changes of a Client in the related elements in CommunicationModelConfiguration.

CommunicationFlowConfigurations are referenced by ConnectionEndpointConfigurations using the ToOutboundFlow or ToInboundFlow References. Absence or presence of these References reflects the type of Connection in which the particular ConnectionEndpoint(s) are participating, such as bidirectional, unidirectional, unidirectional with heartbeat, autonomous publisher, or autonomous subscriber. For details about possible Connection types, see 5.5.1. Examples of the configuration can be seen in Annex E.

Multiple ConnectionEndpointConfigurations may reference the same CommunicationFlowConfiguration to share the set of configuration items (e.g., address, QoS, interval, or timeout).

The CommunicationFlowConfigurationType is illustrated in Figure 43.

image046.png

Figure 43 – CommunicationFlowConfigurationType illustration

The CommunicationFlowConfigurationType is an abstract type. It is formally defined in Table 93.

Table 93 – CommunicationFlowConfigurationType definition

Attribute

Value

BrowseName

4:CommunicationFlowConfigurationType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

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

0:HasSubtype

ObjectType

4:PubSubCommunicationFlowConfigurationType

Defined in 6.13.3

ConformanceUnits

UAFX ConnectionManager Base

PubSubCommunicationFlowConfigurationType indicates the usage of PubSub as the communication model for the Connections. It is formally defined in 6.13.3.

ClientServerCommunicationFlowConfigurationType may be defined in a future release to indicate the usage of Client Server as the communication model for the Connections.

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.

The ClientServerCommunicationFlowConfigurationType may be defined in a future version of this document.