This ReferenceType can 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 ReferenceType exposes 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 ReferenceType and can be used directly. It is a subtype of HierarchicalReferences.

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

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

The TargetNode of References of this ReferenceType shall be an Object representing the required component used by the SourceNode.

Requires References shall not lead to loops, that is, starting from Node “A” and only following References of ReferenceType Requires or 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