This ReferenceTypecan be used to expose the relation between a component to other components, that the component requires in order to work. In contrast to the HasComponent ReferenceType, the related components are not considered to be subcomponents of the component. In contrast to the Utilizes ReferenceType, this hierarchical ReferenceTypeexposes a non-looping hierarchy of dependencies.

For example, it can be used to relate an axis of a motion device to its required powertrains or a software component to other software components required to execute the software component, like for example libraries.

The Requires is a concrete ReferenceTypeand can be used directly. It is a subtype of HierarchicalReferences.

The semantic of this ReferenceTypeis to relate a component to other components it requires in order to work.

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

The TargetNodeof Referencesof this ReferenceTypeshall be an Objectrepresenting the required component used by the SourceNode.

Requires Referencesshall not lead to loops, that is, starting from Node “A” and only following References of ReferenceType Requiresor subtypes it shall never be possible to return to “A”. But it is allowed that following the References there may be more than one path leading to another Node “B”.

Requires is formally defined in Table 5.

Table 5– Requires Definition

Attributes

Value

BrowseName

Requires

InverseName

IsRequiredBy

Symmetric

FALSE

IsAbstract

FALSE

References

NodeClass

BrowseName

Comment

Subtype of HierarchicalReferences defined in OPC 10000-5

Conformance Units

Base Info Requires