OPC 10000-3 differentiates between different kinds of Structures. The following conventions explain how these Structures shall be defined.

The first kind is Structures without optional fields, where none of the fields allow subtypes (except fields with abstract DataTypes). This is defined 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 is Structures with optional fields, where none of the fields allow subtypes (except fields with abstract DataTypes). This is defined 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 is Structures without optional fields, where one or more of the fields allow subtypes. This is defined 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 have subtypes.

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