The parameterPublisherIddefines the Publisherto receive NetworkMessagesfrom.

If the value is null, the parameter shall be ignored and all received NetworkMessagespass the PublisherIdfilter.

Valid DataTypesare UIntegerand String.

The parameterWriterGroupId with DataType UInt16defines the identifier of the corresponding WriterGroup.

The default value 0 is defined as null value, and means this parameter shall be ignored.

The parameterDataSetWriterIdwith DataType UInt16 defines the DataSetselected in the Publisherfor the DataSetReader.

If the value is 0 (null), the parameter shall be ignored and all received DataSetMessagespass the DataSetWriterIdfilter.

The parameterDataSetMetaDataprovides the information necessary to decode DataSetMessagesfrom the Publisher. If the DataSetMetaDatachanges in the Publisherand the MajorVersionwas changed, the DataSetReaderneeds an update of the DataSetMetaDatafor further operation. If the update cannot be retrieved in the duration of the MessageReceiveTimeout, the Stateof the DataSetReadershall change to Error. The related PublishedDataSetis defined in 0. The DataSetMetaDataTypeis defined in 6.2.3.2.2. The options for retrieving the update of the DataSetMetaDataare described in 5.2.3.

If the DataSetMetaDatacontains an empty fields array, the DataSetReaderis configured to receive heartbeat DataSetMessages. For heartbeat DataSetMessagesthe majorVersionand minorVersionin the configurationVersionshall always be 0 in the configuration and in the DataSetMessages.

The parameterDataSetFieldContentMaskwith DataType DataSetFieldContentMaskindicates the fields of a DataValueincluded in the DataSetMessages.

The DataSetFieldContentMaskDataType is defined in 6.2.4.2.

The parameterMessageReceiveTimeoutis the maximum acceptable time between two DataSetMessages. The time starts when the state of the DataSetReaderchanges to Operational. If there is no new DataSetMessagereceived within this period, the DataSetReader Stateshall be changed to Erroruntil the next DataSetMessageis received. The DataSetMessagesthat reset the period include keep-alive and heartbeat messages. ADataSetMessageis considered new if the sequence number increments or if a new keep-alive message is received. If no sequence number is contained in the DataSetMessage, each received DataSetMessageis considered new.

The MessageReceiveTimeoutis related to the Publisherside parameters PublishingInterval, KeepAliveTimeand KeyFrameCount.

The KeyFrameCountwith DataType UInt32is the multiplier of the PublishingIntervalthat defines the maximum number of times the PublishingIntervalexpires before a key frame message, with all field values, is received.

For DataSetsthat provide cyclic updates, the value shall be greater than or equal to 1. For non-cyclic DataSets,like PublishedEvents,that provide event based DataSets, the value shall be 0.

The HeaderLayoutUri, with DataType String, defines the selection of a well defined configuration for a subset of the PubSub communication parameters. The affected subset is defined by the header layout.

A null or emptyStringis defined as no layout selected.

If a layout is selected, all affected parameters shall be set to the values defined for the layout.

Available layouts and the corresponding URI Stringsare defined in Annex A.

The parameter is defined in 6.2.5.2.

This parameter overwrites the corresponding setting on the ReaderGroupif the value is not INVALID.

The parameter is defined in 6.2.5.3.

The parameter shall be null if the SecurityModeis INVALID.

The parameter is defined in 6.2.5.4.

The parameter shall be null if the SecurityModeis INVALID.

The parameter is only used to overwrite the SecurityKeyServicesparameter of the ReaderGroupif the SKS is different for the DataSetReader.

The DataSetReaderPropertiesparameter is an array of DataType KeyValuePairthat specifies additional properties for the configured DataSetReader. The KeyValuePair DataTypeis defined in OPC 10000-5and consists of a QualifiedNameand a value of BaseDataType.

The mapping of the name and value to concrete functionality may be defined by transport protocol mappings, future versions of this document or vendor-specific extensions.

This Structure DataTypeis used to represent the DataSetReaderparameters. The DataSetReaderDataTypeis formally defined in Table 49.

Table 49– DataSetReaderDataType structure

Name

Type

Description

Allow Subtypes

DataSetReaderDataType

Structure

Name

String

The name of the DataSetReader. The name shall be unique across a ReaderGroup.

It is recommended to use a human readable name.

Enabled

Boolean

The enabled state of the DataSetReader.

PublisherId

BaseDataType

Defined in 6.2.9.1.

WriterGroupId

UInt16

Defined in 6.2.9.2.

DataSetWriterId

UInt16

Defined in 6.2.9.3.

DataSetMetaData

DataSetMetaDataType

Defined in 6.2.9.4.

If the DataSetReaderDataTypeis provided as part of a create or update operation and the subscribedDataSet contains a StandaloneSubscribedDataSetRefDataType, this field shall be null and shall be replaced with the DataSetMetaDataTypecontained in the referenced StandaloneSubscribedDataSetDataType.

DataSetField‌ContentMask

DataSetField‌ContentMask

Defined in 6.2.9.5.

MessageReceiveTimeout

Duration

Defined in 6.2.9.6.

KeyFrameCount

UInt32

Defined in 6.2.9.7.

HeaderLayoutUri

String

Defined in 6.2.9.8.

SecurityMode

MessageSecurityMode

Defined in 6.2.9.9.

SecurityGroupId

String

Defined in 6.2.9.10.

SecurityKeyServices

EndpointDescription[]

Defined in 6.2.9.11.

DataSetReaderProperties

KeyValuePair[]

Defined in 6.2.9.12.

TransportSettings

DataSetReaderTransportDataType

Transport-specific DataSetReader parameters. The abstract base type is defined in 6.2.9.13.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

MessageSettings

DataSetReaderMessageDataType

DataSetMessage mapping specific DataSetReader parameters. The abstract base type is defined in 6.2.9.13.3. The concrete subtypes are defined in the subclauses for message mapping specific parameters.

If no concrete subtype is defined for the message mapping, the field shall be null.

True

SubscribedDataSet

SubscribedDataSetDataType

The SubscribedDataSet specific parameters. The abstract base type and the concrete subtypes are defined in 6.2.10.

If the DataSetReaderis configured to receive heartbeat DataSetMessages, the field shall be null.

The StandaloneSubscribedDataSetDataTypesubtype shall not be used in this structure field.

True

Its representation in the AddressSpace is defined in Table 50.

Table 50– DataSetReaderDataType definition

Attributes

Value

BrowseName

DataSetReaderDataType

IsAbstract

False

Subtype of Structure defined in OPC 10000-5.

Conformance Units

PubSub Parameters Discovery Extended

This Structure DataTypeis an abstract base type for transport-specific DataSetReaderparameters. The DataSetReaderTransportDataTypeis formally defined in Table 51.

Table 51– DataSetReaderTransportDataType structure

Name

Type

Description

DataSetReaderTransportDataType

Structure

The DataSetReaderTransportDataType Structurerepresentation in the AddressSpaceis defined in Table 52.

Table 52– DataSetReaderTransportDataType definition

Attributes

Value

BrowseName

DataSetReaderTransportDataType

IsAbstract

True

Subtype of Structure defined in OPC 10000-5.

Conformance Units

PubSub Parameters Discovery Extended

This Structure DataTypeis an abstract base type for message mapping specific DataSetReaderparameters. The DataSetReaderMessageDataTypeis formally defined in Table 53.

Table 53– DataSetReaderMessageDataType structure

Name

Type

Description

DataSetReaderMessageDataType

Structure

The DataSetReaderMessageDataType Structurerepresentation in the AddressSpaceis defined in Table 54.

Table 54– DataSetReaderMessageDataType definition

Attributes

Value

BrowseName

DataSetReaderMessageDataType

IsAbstract

True

Subtype of Structure defined in OPC 10000-5.

Conformance Units

PubSub Parameters Discovery Extended