This ReferenceTypecan 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 ReferenceTypeallows 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 ReferenceTypeand can be used directly. It is a subtype of NonHierarchicalReferences.

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

The SourceNodeof Referencesof this ReferenceTypeshall be an Objector ObjectTyperepresenting a component that utilizes the TargetNodein order to work.

The TargetNodeof Referencesof this ReferenceTypeshall be an Objector 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