OPC UA PubSub Service Limits and Constraints¶
General Rules¶
Publisher¶
PublisherId
in NetworkMessage is used for name field of OPC UA DataModel Asset(core.opcuadatamodel
).
Item | for MindConnect MQTT | for MQTT |
---|---|---|
Minimum character count | 1 | 16 |
Maximum character count | 119 | 128 |
Allowed characters | [a-zA-Z0-9:_-]+ | [a-zA-Z0-9_~-]+ |
ClientId
will be same with PublisherId for MQTT broker or tenantId_publisherId for MindConnect MQTT.
If all requirements are not met, the entire NetworkMessage will be dropped. For further validations, refer to Asset Management service limitations.
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¶
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.
Asset Instance¶
Warning
As OPC UA PubSub specification does not support time zone field, it is not possible to set the time zone field on “Asset”. The time zone field is automatically set as environment's time zone.
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 separated 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 Insights Hub, and those are not created as aspect variables.
- "_time" name of a StructureField will be used as timestamp of that specific data on 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:
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 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 100 |
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 environment)¶
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 environment)¶
Item | Soft Limit |
---|---|
Max number of data packages per sec | 1 |
Max size of data packages | 200KB |
Event Meta Package (per environment)¶
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 environment)¶
Item | Soft Limit |
---|---|
Max number of data packages per sec | 1 |
Max size of data packages | 200KB |