Figure 41 depicts the ObjectType for the PubSub group model and its components and the relations to other parts of the model.

image044.png

Figure 41 – PubSubGroupType Overview

This ObjectType is the abstract base type for Objects representing communication groupings for PubSub connections. The PubSubGroupType is formally defined in Table 114.

Table 114 – PubSubGroupType Definition

Attribute

Value

BrowseName

PubSubGroupType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType defined in OPC 10000-5.

HasProperty

Variable

SecurityMode

MessageSecurityMode

PropertyType

Mandatory

HasProperty

Variable

SecurityGroupId

String

PropertyType

Optional

HasProperty

Variable

SecurityKeyServices

EndpointDescription[]

PropertyType

Optional

HasProperty

Variable

MaxNetworkMessageSize

UInt32

PropertyType

Mandatory

HasProperty

Variable

GroupProperties

KeyValuePair[]

PropertyType

Mandatory

HasComponent

Object

Status

PubSubStatusType

Mandatory

The SecurityMode is defined in 6.2.4.2.

The SecurityGroupId is defined in 6.2.4.3. If the SecurityMode is not NONE_1, the Property shall provide the SecurityGroupId. The value of the Property is null or the Property is not present if the SecurityMode is NONE_1.

The SecurityKeyServices parameter is defined in 6.2.4.4. If the SecurityMode is not NONE_1, the Property shall provide the list of Security Key Services for the SecurityGroupId.

The MaxNetworkMessageSize is defined in 6.2.4.5.

The GroupProperties is defined in 6.2.4.6.

The Status Object provides the current operational status of the group. The PubSubStatusType is defined in 9.1.10. The state machine for the status and the relation to other PubSub Objects like PubSubConnection, DataSetWriter and DataSetReader are defined in 6.2.1.

Instances of WriterGroupType contain settings for a group of DataSetWriters. The WriterGroupType is formally defined in Table 115.

Table 115 – WriterGroupType Definition

Attribute

Value

BrowseName

WriterGroupType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of PubSubGroupType defined in 9.1.6.2

HasProperty

Variable

WriterGroupId

UInt16

PropertyType

Mandatory

HasProperty

Variable

PublishingInterval

Duration

PropertyType

Mandatory

HasProperty

Variable

KeepAliveTime

Duration

PropertyType

Mandatory

HasProperty

Variable

Priority

Byte

PropertyType

Mandatory

HasProperty

Variable

LocaleIds

LocaleId[]

PropertyType

Mandatory

HasProperty

Variable

HeaderLayoutUri

String

PropertyType

Mandatory

HasComponent

Object

TransportSettings

WriterGroupTransportType

Optional

HasComponent

Object

MessageSettings

WriterGroupMessageType

Optional

HasDataSetWriter

Object

<DataSetWriterName>

DataSetWriterType

OptionalPlaceholder

HasComponent

Object

Diagnostics

PubSubDiagnostics‌WriterGroupType

Optional

HasComponent

Method

AddDataSetWriter

Defined in 9.1.6.4.

Optional

HasComponent

Method

RemoveDataSetWriter

Defined in 9.1.6.5.

Optional

The WriterGroupId is defined in 6.2.5.1.

The PublishingInterval is defined in 6.2.5.2.

The KeepAliveTime is defined in 6.2.5.3.

The Priority is defined in 6.2.5.4.

The LocaleIds parameter is defined in 6.2.5.5.

The transport protocol mapping specific setting settings are provided in the optional Object TransportSettings. The WriterGroupTransportType is defined in 9.1.6.7. The Object shall be present if the transport protocol mapping requires specific settings.

The message mapping specific setting settings are provided in the optional Object MessageSettings. The WriterGroupMessageType is defined in 9.1.6.8. The Object shall be present if the message mapping defines specific parameters.

The configured DataSetWriterType Objects are added as components to the instance of the group. DataSetWriterType Objects may be configured with product specific configuration tools or through OPC UA Methods AddDataSetWriter and RemoveDataSetWriter. The DataSetWriterType is defined in 9.1.7.1. The ReferenceType HasDataSetWriter is defined in 9.1.6.6.

The Diagnostics Object provides the current diagnostic information for a WriterGroupType Object. The PubSubDiagnosticsWriterGroupType is defined in 9.1.11.9.

This Method is used to add a new DataSetWriterType Object to an instance of the WriterGroup. A successful creation of the DataSetWriter shall also create a Reference from the related PublishedDataSet Object to the created DataSetWriter.

The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.

Signature

AddDataSetWriter (

[in]DataSetWriterDataType Configuration

[out]NodeId DataSetWriterNodeId

);

Argument

Description

Configuration

Configuration parameters for the DataSetWriter. The parameters and the DataSetWriterDataType are defined in 6.2.3.

DataSetWriterNodeId

The NodeId of the new DataSetWriter Object.

Method Result Codes

ResultCode

Description

Bad_InvalidArgument

The Server is not able to apply the name. The name may be too long or may contain invalid character.

Bad_DataSetIdInvalid

The DataSet specified for the DataSetWriter creation is invalid.

Bad_BrowseNameDuplicated

An Object with the name already exists in the group.

Bad_ResourceUnavailable

The Server has not enough resources to add the DataSetWriter.

Bad_UserAccessDenied

The Session user does not have rights to create the DataSetWriter.

This Method is used to remove a DataSetWriter Object from the group. The state of the DataSetWriter is set to Disabled_0 before removing the Object. A successful removal of the DataSetWriter shall also delete the Reference from the related PublishedDataSetType Object to the removed DataSetWriter.

The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.

Signature

RemoveDataSetWriter (

[in]NodeIdDataSetWriterNodeId

);

Argument

Description

DataSetWriterNodeId

NodeId of the DataSetWriter to remove from the group.

Method Result Codes

ResultCode

Description

Bad_NodeIdUnknown

The DataSetWriterNodeId is unknown.

Bad_NodeIdInvalid

The DataSetWriterNodeId is not a NodeId of a DataSetWriter.

Bad_UserAccessDenied

The Session user is not allowed to delete a DataSetWriter.

The HasDataSetWriter ReferenceType is a concrete ReferenceType that can be used directly. It is a subtype of the HasComponent ReferenceType.

The SourceNode of References of this type shall be an instance of the WriterGroupType defined in 9.1.6.3.

The TargetNode of this ReferenceType shall be an instance of the DataSetWriterType defined in 9.1.7.1.

The representation of the HasDataSetWriter ReferenceType in the AddressSpace is specified in Table 116.

Table 116 – HasDataSetWriter ReferenceType

Attributes

Value

BrowseName

HasDataSetWriter

InverseName

IsWriterInGroup

Symmetric

False

IsAbstract

False

References

NodeClass

BrowseName

Comment

Subtype of HasComponent defined in OPC 10000-5.

This ObjectType is the abstract base type for Objects representing transport protocol mapping specific settings for WriterGroups. The WriterGroupTransportType is formally defined in Table 117.

Table 117 – WriterGroupTransportType Definition

Attribute

Value

BrowseName

WriterGroupTransportType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType

HasSubtype

ObjectType

DatagramWriterGroupTransportType

Defined in 9.3.1.2.

HasSubtype

ObjectType

BrokerWriterGroupTransportType

Defined in 9.3.2.2.

This ObjectType is the abstract base type for Objects representing message mapping specific settings for WriterGroups. The WriterGroupMessageType is formally defined in Table 118.

Table 118 – WriterGroupMessageType Definition

Attribute

Value

BrowseName

WriterGroupMessageType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType

HasSubtype

ObjectType

UadpWriterGroupMessageType

Defined in 9.2.1.1.

HasSubtype

ObjectType

JsonWriterGroupMessageType

Defined in 9.2.2.1.

This ObjectType is a concrete type for Objects representing DataSetReader groupings for PubSub connections. The ReaderGroupType is formally defined in Table 114.

Table 119 – ReaderGroupType Definition

Attribute

Value

BrowseName

ReaderGroupType

IsAbstract

False

References

Node Class

BrowseName

Data Type

TypeDefinition

Modelling Rule

Subtype of PubSubGroupType defined in 9.1.6.2

HasDataSetReader

Object

<DataSetReaderName>

DataSetReaderType

OptionalPlaceholder

HasComponent

Object

Diagnostics

PubSubDiagnostics‌ReaderGroupType

Optional

HasComponent

Object

TransportSettings

ReaderGroupTransportType

Optional

HasComponent

Object

MessageSettings

ReaderGroupMessageType

Optional

HasComponent

Method

AddDataSetReader

Defined in 9.1.6.10.

Optional

HasComponent

Method

RemoveDataSetReader

Defined in 9.1.6.11.

Optional

The configured DataSetReaderType Objects are added as components to the instance of the group. DataSetReaderType Objects may be configured with product specific configuration tools or through OPC UA Methods AddDataSetReader and RemoveDataSetReader. The DataSetReaderType is defined in 9.1.8.1. The ReferenceType HasDataSetReader is defined in 9.1.6.12.

The Diagnostics Object provides the current diagnostic information for a ReaderGroupType Object. The PubSubDiagnosticsReaderGroupType is defined in 9.1.11.10.

The transport protocol mapping specific setting settings are provided in the optional Object TransportSettings. The ReaderGroupTransportType is defined in 9.1.6.13. The Object shall be present if the transport protocol mapping defines specific parameters.

The message mapping specific setting settings are provided in the optional Object MessageSettings. The ReaderGroupMessageType is defined in 9.1.6.14. The Object shall be present if the message mapping defines specific parameters.

This Method is used to add a new DataSetReaderType Object to an instance of the ReaderGroup.

The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.

Signature

AddDataSetReader (

[in]DataSetReaderDataType Configuration

[out]NodeId DataSetReaderNodeId

);

Argument

Description

Configuration

Configuration parameters for the DataSetWriter. The parameters and the DataSetReaderDataType are defined in 6.2.8.

DataSetReaderNodeId

The NodeId of the new DataSetReader Object.

Method Result Codes

ResultCode

Description

Bad_InvalidArgument

The Server is not able to apply the name. The name may be too long or may contain invalid characters.

Bad_BrowseNameDuplicated

An Object with the name already exists in the group.

Bad_ResourceUnavailable

The Server does not have enough resources to add the DataSetReader.

Bad_UserAccessDenied

The Session user does not have rights to create the DataSetReader.

This Method is used to remove a DataSetReader Object from the group. The state of the DataSetReader is set to Disabled_0 before the Object is removed.

The Client shall be authorized to modify the configuration for the PubSub functionality when invoking this Method on the Server.

Signature

RemoveDataSetReader (

[in]NodeIdDataSetReaderNodeId

);

Argument

Description

DataSetReaderNodeId

NodeId of the DataSetReader to remove from the group.

Method Result Codes

ResultCode

Description

Bad_NodeIdUnknown

The DataSetReaderNodeId is unknown.

Bad_NodeIdInvalid

The DataSetReaderNodeId is not a NodeId of a DataSetReader.

Bad_UserAccessDenied

The Session user does not have rights to delete the DataSetReader.

The HasDataSetReader ReferenceType is a concrete ReferenceType that can be used directly. It is a subtype of the HasComponent ReferenceType.

The SourceNode of References of this type shall be an instance of the ReaderGroupType defined in 9.1.6.6.

The TargetNode of this ReferenceType shall be an instance of the DataSetReaderType defined in 9.1.8.1.

The representation of the HasDataSetReader ReferenceType in the AddressSpace is specified in Table 120.

Table 120 – HasDataSetReader ReferenceType

Attributes

Value

BrowseName

HasDataSetReader

InverseName

IsReaderInGroup

Symmetric

False

IsAbstract

False

References

NodeClass

BrowseName

Comment

Subtype of HasComponent defined in OPC 10000-5.

This ObjectType is the abstract base type for Objects representing transport protocol mapping specific settings for ReaderGroups. The ReaderGroupTransportType is formally defined in Table 121.

There is currently no transport protocol mapping specific setting defined.

Table 121 – ReaderGroupTransportType Definition

Attribute

Value

BrowseName

ReaderGroupTransportType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType

This ObjectType is the abstract base type for Objects representing message mapping specific settings for ReaderGroups. The ReaderGroupMessageType is formally defined in Table 122.

There is currently no message mapping specific setting defined.

Table 122 – ReaderGroupMessageType Definition

Attribute

Value

BrowseName

ReaderGroupMessageType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseObjectType