This ObjectType defines a generic model for elements in a device or component topology. Among others, it introduces FunctionalGroups, ParameterSet, and MethodSet. Figure 2 shows the TopologyElementType. It is formally defined in Table 12.
Figure 2 – Components of the TopologyElementType
Table 12 – TopologyElementType definition
Attribute |
Value |
||||
BrowseName |
TopologyElementType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
HasSubtype |
ObjectType |
ComponentType |
Defined in 4.6 |
||
HasSubtype |
ObjectType |
BlockType |
Defined in 4.11 |
||
HasSubtype |
ObjectType |
ConnectionPointType |
Defined in 5.4 |
||
HasComponent |
Object |
<GroupIdentifier> |
|
FunctionalGroupType |
OptionalPlaceholder |
HasComponent |
Object |
Identification |
|
FunctionalGroupType |
Optional |
HasComponent |
Object |
Lock |
|
LockingServicesType |
Optional |
|
|
|
|
|
|
HasComponent |
Object |
ParameterSet |
|
BaseObjectType |
Optional |
HasComponent |
Object |
MethodSet |
|
BaseObjectType |
Optional |
Conformance Units |
|||||
DI Information Model |
The TopologyElementType is abstract. There will be no instances of a TopologyElementType itself, but there will be instances of subtypes of this type. In this specification, the term TopologyElement generically refers to an instance of any ObjectType derived from the TopologyElementType.
FunctionalGroups are an essential aspect introduced by the TopologyElementType. FunctionalGroups are used to structure Nodes like Properties, Parameters and Methods according to their application such as configuration, diagnostics, asset management, condition monitoring and others.
FunctionalGroups are specified in 4.4.
A FunctionalGroup called Identification can be used to organize identification information of this TopologyElement (see 4.4.2). Identification information typically includes the Properties defined by the VendorNameplate or TagNameplate Interfaces and additional application specific information.
TopologyElements may also support LockingServices (defined in 7).
Clients shall use the LockingServices if they need to make a set of changes (for example, several Write operations and Method invocations) and where a consistent state is available only after all of these changes have been performed. The main purpose of locking a TopologyElement is avoiding concurrent modifications.
The lock applies to the complete TopologyElement (including all components such as blocks or modules). Servers may expose a Lock Object on a component TopologyElement to allow independent locking of components, if no lock is applied to the top-level TopologyElement.
If the Online/Offline model is supported (see 6.3), the lock always applies to both the online and the offline version.
ParameterSet and MethodSet are defined as standard containers for systems that have a flat list of Parameters or Methods with unique names. In such cases, the Parameters are components of the “ParameterSet” as a flat list of Parameters. The Methods are kept the same way in the “MethodSet”.
The MethodSet is only available if it includes at least one Method.
The components of the TopologyElementType have additional references as defined in Table 13.
Table 13 – TopologyElementType Additional Subcomponents
Source Path |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
ParameterSet |
HasComponent |
Variable |
<ParameterIdentifier> |
BaseDataType |
BaseDataVariableType |
MandatoryPlaceholder |