Instances of the PriorityMappingTableType contains priority mapping information. Figure 5 illustrates the structure of the PriorityMappingTableType.

image008.png

Figure 5 – PriorityMappingTableType

The PriorityMappingTableType is formally defined in Table 46.

Table 46 – PriorityMappingTableType definition

Attribute

Value

BrowseName

PriorityMappingTableType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5

HasProperty

Variable

PriorityMapppingEntries

PriorityMappingEntryType[]

PropertyType

M

HasComponent

Method

AddPriorityMappingEntry

Defined in 5.5.2.3

O

HasComponent

Method

DeletePriorityMappingEntry

Defined in 5.5.2.4

O

Conformance Units

BNM Priority Mapping 2

PriorityMappingEntries represents a list of all instances of PriorityMappingEntryType. For a formal definition see 5.3.2.1. The order of the elements in the array does not have any influence, as elements are indexed via the MappingUri and PriorityLabel.

The combination of QosCategory and PriorityLabel are used as indices into the referenced PriorityMappingTable to look up the priority values. The reference from an IetfBaseNetworkInterface is described in Section 5.5.1. For the sender, the priority values shall be included within the frame, if the according fields are available, i.e., VLAN Tag to use the PCP value and IP header to use the DSCP value. The receiver may use the priority values for internal packet processing.

Note: An example for a simplified PubSub connection is shown in Annex A.2. Within the PubSubConnection, each WriterGroup may contain a QosCategory and DatagramQos structure with a PriorityLabel. For the subscriber side these values are specified on the DataSetReader level.

AddPriorityMappingEntry allows to add an entry to this instance of PriorityMappingTableType.

DeletePriorityMappingEntry allows to delete an entry from this instance of PriorityMappingTableType.

This optional Method allows to add an entry to this instance of PriorityMappingTableType. If the combination of MappingUri and PriorityLabel does not exist yet, the element will be added to the Variable PriorityMappingEntries.

The signature of this Method is specified below. Table 47 and Table 49 specify the Arguments and AddressSpace representation, respectively.

Signature 

AddPriorityMappingEntry(

[in] String MappingUri,

[in] String PriorityLabel,

[in] Byte PriorityValue_PCP,

[in] UInt32 PriorityValue_DSCP

);

Table 47 – AddPriorityMappingEntry Method arguments

Argument

Description

MappingUri

Named identifier of a well-known predefined set of priority labels.

PriorityLabel

Textual representation of the desired transport priority.

PriorityValue_PCP

PriorityValue_PCP shall be a value between 0 and 7.The value 0xFF indicates to omit the PriorityValue_PCP from the entry.

PriorityValue_DSCP

PriorityValue_DSCP shall be a value between 0 and 63.The value 0xFFFFFFFF indicates to omit the PriorityValue_PCP from the entry. 

The possible Method result codes are defined in Table 48.

Table 48 – AddPriorityMappingEntry Method result codes

ResultCode 

Description 

Bad_UserAccessDenied 

The caller is not allowed to add a priority mapping rule. 

Bad_InvalidArgument 

One of the arguments is invalid. 

Bad_IndexRangeInvalid 

A mapping table entry with MappingUri and PriorityLabel already exists. 

Table 49 – AddPriorityMappingEntry Method AddressSpace definition

Attribute 

Value 

BrowseName 

AddPriorityMappingEntry 

References 

Node Class 

BrowseName 

DataType 

TypeDefinition 

Other

HasProperty 

Variable 

InputArguments 

Argument[] 

PropertyType 

 

This optional Method allows to delete an entry from this instance of PriorityMappingTableType.

The signature of this Method is specified below. Table 50 and Table 52 specify the Arguments and AddressSpace representation, respectively.

Signature

DeletePriorityMappingEntry(

[in] String MappingUri,

[in] String PriorityLabel

);

Table 50 – DeletePriorityMappingEntry Method arguments

Argument

Description

MappingUri

Named identifier of a well-known predefined set of priority labels.

PriorityLabel

Textual representation of the desired transport priority.

The possible Method result codes are defined in Table 51.

Table 51 – DeletePriorityMappingEntry Method result codes

ResultCode

Description

Bad_UserAccessDenied

The caller is not allowed to delete the priority mapping rule.

Bad_InvalidState

The state of this ConnectionConfigurationSetType instance is “Processing”.

Bad_BrowseNameInvalid

The BrowseName for the mapping entry is invalid.

Table 52 – DeletePriorityMappingEntry Method AddressSpace definition

Attribute

Value

BrowseName

DeletePriorityMappingEntry

References

Node Class

BrowseName

DataType

TypeDefinition

Other

HasProperty

Variable

InputArguments

Argument[]

PropertyType

M