The WriterGroupId with DataType UInt16 is an identifier for the WriterGroup and shall be unique across all WriterGroups for a PublisherId. All values, except for 0, are valid. The value 0 is defined as null value.

The WriterGroupId shall be within the range 0x0001 - 0x7FFF for external assignment by configuration tools, and 0x8000 - 0xFFFF for internal assignment like through the Method CloseAndUpdate of the PubSubConfigurationType.

The PublishingInterval with the DataType Duration defines the interval in milliseconds for publishing NetworkMessages and the embedded DataSetMessages created by the related DataSetWriters.

For cyclic PublishedDataSets one DataSet is produced for one PublishedDataSet in a PublishingInterval. If no new DataSet is available in a PublishingInterval, then either the previous DataSetMessage is resent or no DataSetMessage is sent.

In the case non-cyclic PublishedDataSets like Event based DataSets, this may result in zero to many DataSetMessages produced for one PublishedDataSet in a PublishingInterval. All Events that occur between two PublishingIntervals shall be buffered until the next NetworkMessage is sent. If the number of Events exceeds the buffer capability of the DataSetWriter, an Event of type EventQueueOverflowEventType is inserted as last entry into the buffer and all Events that do not fit into the buffer are discarded.

The Duration DataType is a subtype of Double and allows configuration of intervals smaller than a millisecond.

The KeepAliveTime with DataType Duration defines the time in milliseconds until the Publisher sends a keep alive DataSetMessage in the case where no DataSetMessage was sent in this period by a DataSetWriter. The minimum value shall equal the PublishingInterval.

The Priority with DataType Byte defines the relative priority of the WriterGroup to all other WriterGroups across all PubSubConnections of the Publisher.

If more than one WriterGroup needs to be processed, the priority number defines the order of processing. The highest priority is processed first.

The lowest priority is zero and the highest is 255.

The LocaleIds, with DataType LocaleId, defines a list of locale ids in priority order for localized strings for all DataSetWriters in the WriterGroup. The first LocaleId in the list has the highest priority.

If the Publisher sends a localized String, the Publisher shall send the translation with the highest priority that it can. If it does not have a translation for any of the locales identified in this list, then it shall send the String value that it has and include the LocaleId with the String. If no locale id is configured, the Publisher shall use any that it has. See OPC 10000-3 for more detail on LocaleId.

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 empty String is 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 Strings are defined in Annex A.

This Structure DataType is used to represent the configuration parameters for WriterGroups. It is a subtype of PubSubGroupDataType defined in 6.2.5.7.

The WriterGroupDataType is formally defined in Table 34.

Table 34 – WriterGroupDataType structure

Name

Type

Description

Allow Subtypes

WriterGroupDataType

Structure

Subtype of PubSubGroupDataType defined in 6.2.5.7.

WriterGroupId

UInt16

Defined in 6.2.6.1.

PublishingInterval

Duration

Defined in 6.2.6.2.

KeepAliveTime

Duration

Defined in 6.2.6.3.

Priority

Byte

Defined in 6.2.6.4.

LocaleIds

LocaleId[]

Defined in 6.2.6.5.

HeaderLayoutUri

String

Defined in 6.2.6.6.

TransportSettings

WriterGroupTransportDataType

Transport mapping specific WriterGroup parameters. The abstract base type is defined in 6.2.6.7.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

WriterGroupMessageDataType

NetworkMessage mapping specific WriterGroup parameters. The abstract base type is defined in 6.2.6.7.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

DataSetWriters

DataSetWriterDataType[]

The DataSetWriters contained in the WriterGroup. The DataSetWriter parameters are defined in 6.2.4.

The WriterGroupDataType Structure representation in the AddressSpace is defined in Table 35.

Table 35 – WriterGroupDataType definition

Attributes

Value

BrowseName

WriterGroupDataType

IsAbstract

False

References

NodeClass

BrowseName

IsAbstract

Subtype of PubSubGroupDataType defined in 6.2.5.7.

Conformance Units

PubSub Parameters Discovery

This Structure DataType is an abstract base type for transport mapping specific WriterGroup parameters. The abstract DataType does not define fields.

The WriterGroupTransportDataType Structure representation in the AddressSpace is defined in Table 36.

Table 36 – WriterGroupTransportDataType definition

Attributes

Value

BrowseName

WriterGroupTransportDataType

IsAbstract

True

Subtype of Structure defined in OPC 10000-5.

Conformance Units

PubSub Parameters Discovery

This Structure DataType is an abstract base type for message mapping specific WriterGroup parameters. The abstract DataType does not define fields.

The WriterGroupMessageDataType Structure representation in the AddressSpace is defined in Table 37.

Table 37 – WriterGroupMessageDataType definition

Attributes

Value

BrowseName

WriterGroupMessageDataType

IsAbstract

True

Subtype of Structure defined in OPC 10000-5.

Conformance Units

PubSub Parameters Discovery