- new virtual structure: TYPE+"SubTypes" subtypes + sub structure definitions for choices

Example:

BACnetSpecialEvent::= SEQUENCE {

period CHOICE {

calendarEntry [0] BACnetCalendarEntry,

calendarReference [1] BACnetObjectIdentifier

},

listOfTimeValues [2] SEQUENCE OF BACnetTimeValue,

eventPriority [3] Unsigned (1..16)

}

Will be mapped to:

OPC UA Structure: BACnetSpecialEventPeriod (IsUnion = true)

calendarEntry: BACnetCalendarEntry

calendarReference: BACnetObjectIdentifier

OPC UA structure: BACnetSpecialEvent

period : BACnetSpecialEventPeriod

listOfTimeValues : BACnetTimeValue (ValueRank = Array)

eventPriority : UInt32