This ReferenceType can be used to expose the relation between a component to other components, that the component needs in order to work. In contrast to the Requires ReferenceType, this non-hierarchical ReferenceType allows loops, e.g. both components need each other in order to work. In that case, there would be two References, the first one pointing from one component to the other, and the second one vice versa. For example, a fan in a PC needs the power supply in order to work and the power supply needs the cooling from the fan, that it is not overheating. An example of a non-looping usage is that a robot utilizes a vision system in order to get the position where to grab something.

The Utilizes is a concrete ReferenceType and can be used directly. It is a subtype of NonHierarchicalReferences.

The semantic of this ReferenceType is to relate a component to other components that are needed by the component in order to work.

The SourceNode of References of this ReferenceType shall be an Object or ObjectType representing a component that utilizes the TargetNode in order to work.

The TargetNode of References of this ReferenceType shall be an Object or ObjectType representing the required component.

Requires is formally defined in Table 4.

Table 4 – Utilizes Definition

Attributes

Value

BrowseName

Utilizes

InverseName

IsUtilizedBy

Symmetric

FALSE

IsAbstract

FALSE

References

NodeClass

BrowseName

Comment

Subtype of NonHierarchicalReferences defined in OPC 10000-5

Conformance Units

Base Info Utilizes