A Modular Deviceis represented by a (subtype of) ComponentTypethat is composed of a top-Deviceand a set of subdevices (modules). The top-Deviceoften is the head module with the program logic but a large part of the functionality depends on the used subdevices. The supported subdevices may be restricted by the Modular Device. Figure 57shows the general structure of Modular Devices.
The modules (subdevices) of Modular Devicesare aggregated in the SubDevices Object. It is of the ConfigurableObjectType, which includes the SupportedTypesfolder. The SupportedTypesfolder for SubDevicesis used to maintain the set modules that can be added to the Modular Device. Modules are not in the DeviceSet Object.
Depending on the actual configuration, Modular Deviceinstances might already have a set of pre-configured subdevices. Furthermore, the SupportedTypesfolder might only refer to a subset of all possible subdevices for the Modular Device. In Figure 57the modules C and D have already been instantiated. In this example, only one instance of these types is allowed and the SupportedTypesfolder therefore does not reference these types anymore. See clause 9.2.1for the complete definition of the ConfigurableObjectType.
Subdevices may themselves be Modular Devices.