Machines may organize their components in many different ways. Therefore, it might be challenging to find all components that are part of a Machine.

This building block provides the capability to easily find all identifiable components (providing the Identification Object) of a Machine. Figure 11 gives an overview. Each Machine providing this building block provides the Components Object, which directly references all identifiable components of a Machine.

Note: That does not preclude that a Machine is organizing its components in various other hierarchies as well.

image016.png

Figure 11 – Building Block for Finding all Identifiable Components of a Machine

As a special case, a Machine might contain other Machines as components. In that case, the contained Machine is referenced from the Components Object like any other component, as shown in Figure 12. In addition, the contained Machine is also referenced from the Machines Object directly, as also shown in the Figure.

Note: Consider the example of a Machine MachineA containing a Machine MachineB. Components of the contained MachineB are typically only considered to be components of MachineB, that is, they are typically not directly referenced from the Components Object of the containing MachineA.

Note: It is expected that domain-specific companion specifications using this specification will define what assets of the domain in what usage are considered to be Machines or components of Machines.

image017.png

Figure 12 – Example of a Machine containing a Machine

The MachineComponentsType provides HasComponent References to all identifiable components of a Machine and is formally defined in Table 26.

Table 26 – MachineComponentsType Definition

Attribute

Value

BrowseName

MachineComponentsType

IsAbstract

False

Description

Contains all identifiable components of a machine

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

0:DefaultInstanceBrowseName

0:QualifiedName

0:PropertyType

-

0:HasComponent

Object

<Component>

0:BaseObjectType

OP

Conformance Units

Machinery Find Components of Machines

The <Component > Object has the ModellingRule OptionalPlaceholder and represents the identifiable components of a Machine. As any ObjectType can be used for components, it is of BaseObjectType. As all identifiable components shall contain the Identification Object, <Component> references to that AddIn as defined in Table 27. As a Machine can contain other Machines, it does not reference to the MachineryComponentIdentificationType, but the MachineryItemIdentificationType, which is the abstract supertype of MachineryComponentIdentificationType and MachineIdentificationType.

Table 27 – MachineComponentsType Additional Subcomponents

SourceBrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

<Component>

0:HasAddIn

Object

2:Identification

MachineryItemIdentificationType

M

The InstanceDeclarations of the MachineComponentsType have additional Attribute values defined in Table 28.

Table 28 – MachineComponentsType Attribute Values for Child Nodes

SourceBrowsePath

Value

Description

0:DefaultInstanceBrowseName

Components

The default BrowseName for instances of the type.

<Component>

-

Represents the identifiable components of a machine.