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.

image005.png

Figure 2 – Components of the TopologyElementType

Table 12 – TopologyElementType definition

Attribute

Value

BrowseName

TopologyElementType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5

0:HasSubtype

ObjectType

ComponentType

Defined in 4.6

0:HasSubtype

ObjectType

BlockType

Defined in 4.11

0:HasSubtype

ObjectType

ConnectionPointType

Defined in 5.4

0:HasComponent

Object

<GroupIdentifier>

FunctionalGroupType

OP

0:HasComponent

Object

Identification

FunctionalGroupType

O

0:HasComponent

Object

Lock

LockingServicesType

O

0:HasComponent

Object

ParameterSet

0:BaseObjectType

O

0:HasComponent

Object

MethodSet

0:BaseObjectType

O

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

Other

ParameterSet

0:HasComponent

Variable

<ParameterIdentifier>

0:BaseDataType

0:BaseDataVariableType

MP