Skip to content

OPC UA PubSub Service Limits and Constraints

General Rules

Publisher

PublisherId in NetworkMessage is used for name field of OPC UA DataModel Asset.

  • Only String format is supported.
  • publisherId must be same with clientId used in MQTT connection.
  • The minimum character count is 1 and max character count is 128.
  • Allowed characters for publisherId: [a-zA-Z0-9_~-]+

For further validation, refer Asset Management service.

Types

StructureDefinition in NetworkMessage is used as AssetType/EventType.

  • KeyValuePairs in NetworkMessage are used as AssetType Variables or Fields of EventType.

For further validation, refer Asset Management/Event Management services.

StructureField in NetworkMessage is used for Variable of AssetType or Field of EventType.

  • Specific fields such as _time and <variable>_qc are not created as Variable of AssetType.
    • _time is used for timestamp of timeseries.
    • <variable>_qc is used for quality code of specified variable.
  • Specific field such as timestamp is not created as Field of EventType, it exists by default.

For further validation, refer Asset Management/Event Management services.

Validation of String Inputs

The maximum length of each string in a NetworkMessage is 255, unless any other specification is informed. If any String value in a NetworkMessage exceeds the maximum limit, the whole NetworkMessage will be dropped.

Specific String Validations

Publisher Id:

  • This field is used for the name field of OPC UA Data Model assets (core.opcuadatamodel).
  • Only String value is supported.
  • Minimum character count is 1 and maximum character count is 128.
  • Allowed characters for publisher id: [a-zA-Z0-9_~-]+

If all requirements are not met, the entire NetworkMessage will be dropped. For further validations, refer Asset Management service limitations.

StructureDefinition Name

  • This field is used for name field of Asset Types/Event Types. For further validations, refer AssetManagement limitations.

Additional Usage

  • This field is also additionally used for the name field of Aspect Type in format of <name>Fields.

Aspect Type And Aspect Name

  • Aspect Type Name: Same field of Structure Definition Name is used for "Name" field of Aspect Types.
  • Minimum character count is 1 and maximum character count is 128. Pattern: [a-zA-Z0-9_]+
  • Aspect Name: Same field of Structure Definition Name is used for "Name" field of Aspect.
  • Minimum character count is 1 and maximum character count is 64. Pattern: [a-zA-Z0-9_]+

If it does not meet the requirement, the entire NetworkMessage will be dropped.

Warning

Some additional fields are added while creating Aspect Types, which may cause an error in AssetManagement.

StructureField and EnumField Name

  • This field is used for name field of Variables.
  • Minimum character count is 1 and maximum character count is 64. Pattern: [a-zA-Z_][a-zA-Z0-9_]*

If it does not meet the requirement, the entire NetworkMessage will be dropped.

Warning

The validation of the pattern needs to be checked at service level to ensure that it is aligned with the documentation.

FieldMetaData Name

  • This field is used for name field of Assets. Hierarchy asset names are seperated by '\' and '/' from this field. Each part after splitting process must meet the below requirements;
  • Minimum character count is 1 and maximum character count is 128. Pattern: [^\/\]*

If it does not meet the requirement, the entire NetworkMessage will be dropped.

Warning

The validation of the pattern needs to be checked for Hierarchy Asset existence in the name field.

FieldMetaData - Properties Name

  • This field is used for Static Variables of Asset Type (e.g. unit, prefix...).
  • Minimum character count is 1 and maximum character count is 64. Pattern: [a-zA-Z_][a-zA-Z0-9_]*

If it does not meet the requirement, the entire NetworkMessage will be dropped.

Warning

The validation of the pattern needs to be checked at service level to ensure that it is aligned with the documentation.

NodeId

  • According to the OPC UA Part6 1.04.17 spec, NodeId field has various encoding values, in which "Four Byte" type is supported.
  • Any other type than "Four Byte", NodeId causes the entire NetworkMessage to be dropped.

StructureFields[]

  • DataType of StructureField must meet the below requirements:
    • Namespace shall be equal to OPC UA Reserved namespace. Other namespaces are considered as EnumDataType by default,and the value is always processed as a "String" value.
    • Value shall be equal to one of limited BuiltinType (Only 1 to 14 is allowed)
  • Some specific names of StructureField have special meaning in Mindsphere, and those are not created as aspect variables.
    • "_time" name of a StructureField will be used as timestamp of that specific data on Mindsphere IoT.
    • If a name ends with "_qc", for instance "variable_qc", it means that it is a quality code value of "variable'.

FieldMetaData[]

  • Maximum of 800 fields are supported in a MetaData.
  • Name

    • Name of this field must be unique within publisher.
    • All characters are allowed including slash (/) and backslash ().
    • Slash and backslash characters represents hierarchy at field name.
    • Field name is split by slash or/and backslash characters.
    • OPC UA Data Type (core.opcuadatatype) assets are created and latest part of the fields' name is used for asset name.
    • OPC UA Hierarchy Type assets are created for hierarchy parts of the field name.
    • Field name cannot start and end with slash or backslash.
    • Field name Regex: [\\/][\\/]{0,1}[^\\/]$
    • Maximum characters count is 128 for all field name parts.
    • Field name includes maximum of 2 hierarchy assets (3 level).

    Example:

    Field name: hierarchyPart1/hierarchyPart2/dataFieldName

    Created Assets:

1
2
3
hierarchyPart1 : OPC UA Hierarchy Type
    hierarchyPart2 : OPC UA Hierarchy Type
      dataFieldName : OPC UA Data Type

EnumDataTypes

  • EnumDataTypes can be encoded by the system, but their values are not used. Instead, if any structureField of a structuredDataType uses custom NodeId values, it will be considered as Enum data type and it is always processed as a "STRING" value.

Properties

  • Even though properties are additional attributes of FieldMetaData objects, they are considered as additional attributes of StructureDescription objects. If a new asset type is going to be created based on StructureDescription, the system will search to find a first FieldMetaData object that contains Properties. The values of the properties will be used as variables of asset type that is going to be created.
    • For example, A StructureDescription describes a custom object type as "SPS". A FieldMetaData describes a custom object instance as "SPS1" with properties as "unit" and "prefix.". These two values will be used in creating a new asset type on MindSphere named "SPS". This means that all other SPS custom object instances are subjected to this structure.
  • The maximum limit of possible value of properties is limited to only two values.

ChunkedNetworkMessagePayload

  • Chunk bundle identifiers are: PublisherId, DataSetWriterId and MessageSequenceNumber.
  • If any chunk message has different totalSize value than other chunk messages, the chunked NetworkMessage will be dropped.
  • If all chunk bundles are not completed, after one day all uploaded chunk bundles are dropped.
  • Maximum number of chunks of a chunkset cannot exceed 20.

Limitations

OPC UA PubSub Limits

Item Soft Limit
Max number of Publisher per Tenant According to your agent quota but not more than 50
Max number of DataSetWriterId per Publisher 3
Max number of ConfigurationVersion per DataSetWriterId 1
Max size of NetworkMessage 20KB
Max size of Chunk NetworkMessage 20KB
Max size of Chunk bundle 200 KB
Max number of of Chunk NetworkMessage 30
Max duration time of Chunk packages 1 hour

TimeSeries Meta Package (per tenant)

Item Soft Limit
Max number of meta packages per min 1
Max size of meta packages 200KB
Max number of StructureDefinition 25
Max number of Field per MetaData 30
Max number of StructureDefinition Field Count 50
Total max number of Field per Publisher 50
Max number of KeyValuePairs 128
Max number of hierarchy level 3

TimeSeries Data Package (per tenant)

Item Soft Limit
Max number of data packages per sec 1
Max size of data packages 200KB

Event Meta Package (per tenant)

Item Soft Limit
Max number of meta packages per min 1
Max size of meta packages 200KB
Max number of StructureDefinition 10
Max number of Field per MetaData 50
Total max number ofField per Publisher 50
Max number of hierarchy level 3

Event Data Package (per tenant)

Item Soft Limit
Max number of data packages per sec 1
Max size of data packages 200KB

Any questions left?

Ask the community


Except where otherwise noted, content on this site is licensed under the MindSphere Development License Agreement.