The OPC 10000-100 specification is an extension of the overall OPC Unified Architecture specification series and defines the information model associated with Devices. The model is intended to provide a unified view of Devices irrespective of the underlying Device protocols. Controllers are physical or logical Devices and the Devices model is therefore used as base for the IEC 61131-3 information model.

The Devices information model specifies different ObjectTypes and procedures used to represent Devices and related components like the communication infrastructure in an OPC UA Address Space. The main use cases are Device configuration and diagnostic, but it allows a general and standardized way for any kind of application to access Device related information. The following examples illustrate the concepts used in this specification. See OPC 10000-100 for the complete definition of the Devices information model.

Figure 7 shows an example for a temperature controller represented as Device Object. The component ParameterSet contains all Variables describing the Device. The component MethodSet contains all Methods provided by the Device. Both components are inherited from the TopologyElementType which is the root Object type of the Device Object type hierarchy. Objects of the type FunctionalGroupType are used to group the Parameters and Methods of the Device into logical groups. The FunctionalGroupType and the grouping concept are defined in OPC 10000-100 but the groups are Device type specific i.e. the groups ProcessData and Configuration are defined by the TemperatureControllerType in this example.


Figure 7 – OPC UA Devices Example

Another OPC 10000-100 concept used in this specification is described in Figure 8. The ConfigurableObjectType is used to provide a way to group subcomponents of a Device and to indicate which types of subcomponents can be instantiated. The allowed types are referenced from the SupportedTypes folder. This information can be used by configuration clients to allow a user to select the type to instantiate as subcomponent of the Device.


Figure 8 – OPC UA Devices Example

The SupportedTypes Folder can contain different subsets of ObjectTypes for different instances of the ModularControlerType depending on their current configuration since the list contains only types that can be instantiated for the current configuration. The example expects that only one CPU can be used in the ModularControlerType and this CPU is already configured. The SupportedTypes Folder on the ModularControlerType contains all possible types including CPU types that can be used in the ModularControlerType.