The NetworkMessage flags used with the discovery announcement messages shall use the following bit values.

The setting of the flags ensures a known value for the first three bytes plus the PublisherId in the NetworkMessage, except for the Chunk bit 0 in ExtendedFlags2. The actual security settings for the NetworkMessage are indicated by the SecurityHeader.

The encoding of the discovery announcement header structure is specified in Table 151.

Table 151 – Discovery announcement header structure

Name

Type

Description

AnnouncementType

Byte

The following types of discovery announcement messages are defined.

0Reserved

1Publisher Endpoints message (see 7.2.2.6.4.3)

2DataSetMetaData message (see 7.2.2.6.4.4)

3DataSetWriter configuration message (see 7.2.2.6.4.5)

4PubSubConnection configuration message (see 7.2.2.6.4.6)

5 OPC UA Application information message (see 7.2.2.6.4.7)

SequenceNumber

UInt16

Sequence number, incremented by exactly one, for each discovery announcement sent in the scope of a PublisherId.

The encoding of the available Endpoints of a Publisher is specified in Table 152.

Table 152 – Publisher Endpoints announcement message structure

Name

Type

Description

Endpoints

EndpointDescription[]

The OPC UA Server Endpoints of the Publisher. The EndpointDescription is defined in OPC 10000-4.

The field is encoded as Array with number of elements encoded as Int32 value.

statusCode

StatusCode

Status code indicating the capability of the Publisher to provide Endpoints.

The encoding of the DataSet metadata message structure is specified in Table 153. It contains the current layout and DataSetMetaData for the DataSet.

The ConfigurationVersion in the DataSetMessage header shall match the ConfigurationVersion in the DataSetMetaData.

The Publisher shall send this message without a corresponding discovery probe if the DataSetMetaData changed for the DataSet.

Table 153 – DataSetMetaData announcement message structure

Name

Type

Description

DataSetWriterId

UInt16

DataSetWriterId of the DataSet described with the MetaData.

MetaData

DataSetMetaDataType

The current DataSet metadata for the DataSet related to the DataSetWriterId. The DataSetMetaDataType is defined in 6.2.3.2.2.

statusCode

StatusCode

Status code indicating the capability of the Publisher to provide MetaData for the DataSetWriterId.

The encoding of the DataSetWriter configuration data message structure is specified in Table 154. It contains the current configuration of the WriterGroup and the DataSetWriter for the DataSet.

The Publisher shall send this message without a corresponding discovery probe if the configuration of the WriterGroup changed.

Table 154 – DataSetWriter configuration announcement message structure

Name

Type

Description

DataSetWriterIds

UInt16[]

DataSetWriterIds contained in the configuration information.

The field is encoded as Array with number of elements encoded as Int32 value.

DataSetWriterConfig

WriterGroupDataType

The current WriterGroup and DataSetWriter settings for the DataSet related to the DataSetWriterId. The WriterGroupDataType is defined in 6.2.6.7.

The field DataSetWriters of the WriterGroupDataType shall contain only the entry for the requested or changed DataSetWriters in the WriterGroup.

The configuration properties shall not be included in the WriterGroupDataType and DataSetWriterDataType.

statusCodes

StatusCode[]

Status codes indicating the capability of the Publisher to provide configuration information for the DataSetWriterIds. The size of the array shall match the size of the DataSetWriterIds array.

The encoding of the PubSubConnection configuration announcement message structure is specified in Table 155. It contains an array of PubSubConnections configured in the OPC UA Application.

Table 155 – PubSubConnection configuration announcement message structure

Name

Type

Description

PubSubConnections

PubSubConnectionDataType []

PubSubConnections configured for the OPC UA Application.

The PubSubConnectionDataType is defined in 6.2.7.5.1.

The ReaderGroup lists in PubSubConnectionDataType shall be empty.

The WriterGroup list shall be contained, if the IncludeWriterGroups is true in the PubSubConnection information probe message.

The DataSetWriter lists in the WriterGroups shall be contained, if the IncludeDataSetWriters is true in the PubSubConnection information probe message.

The configuration properties shall not be included in the PubSubConnectionDataType, WriterGroupDataType and DataSetWriterDataType.

The encoding of the OPC UA Application information announcement message structure is specified in Table 156.

Table 156 – OPC UA Application information announcement message structure

Name

Type

Description

ApplicationInformationType

UInt16

The following types of application information are defined.

0Reserved

1Application description (see Table 157)

The encoding of the OPC UA Application description message fields for ApplicationInformationType 1 is specified in Table 157. It contains the ApplicationDescription and the capabilities.

Table 157 – ApplicationInformationType application description fields

Name

Type

Description

ApplicationDescription

ApplicationDescription

ApplicationDescription for the OPC UA Application. The ApplicationDescription DataType is defined in OPC 10000-4.

capabilities

String[]

The list of capability identifiers for the application. The allowed capability identifiers are defined in OPC 10000-12.