OPC 10000-3 differentiates between different kinds of Structures. The following conventions explain, how these Structures shall be defined.
The first kind are Structures without optional fields where none of the fields allows subtype (except fields with abstract DataTypes). Its definition is in Table 12.
Table 12 – Structures without optional fields where none of the fields allow subtypes
Name |
Type |
Description |
<someStructure> |
structure |
Subtype of <someParentStructure> defined in … |
SP1 |
0:Byte[] |
Setpoint 1 |
SP2 |
0:Byte[] |
Setpoint 2 |
The second kind are Structures with optional fields where none of the fields allows subtypes (except fields with abstract DataTypes). Its definition is in Table 13.
Structures with fields that are optional have an “Optional” column. Fields that are optional have True set, otherwise False.
Table 13 – Structures with optional fields
Name |
Type |
Description |
Optional |
<someStructure> |
structure |
Subtype of <someParentStructure> defined in … |
|
SP1 |
0:Byte[] |
Setpoint 1 |
False |
Optional Field_1 |
0:String |
Some Text |
True |
The third kind are Structures without optional fields where one or more of the fields allow subtypes. Its definition is in Table 14.
Structures with fields that allow subtypes have an “Allow Subtypes” column. Fields that allow subtypes have True set, otherwise False. Fields with abstract DataTypes can always be subtyped.
Table 14 – Structures where one or more of the fields allow subtypes
Name |
Type |
Description |
AllowSubtypes |
<someStructure> |
structure |
Subtype of <someParentStructure> defined in … |
|
SP1 |
0:Byte[] |
Setpoint 1 |
False |
Allow Subtypes |
0:ByteString |
Some Bytestring |
True |
Fields with abstract DataTypes shall have True in the “Allow Subtypes” column. It is not allowed to add both columns to combine optional fields and fields that allow subtypes in one structure.