This specification defines several building blocks for various use cases in the context of machinery. The specification uses the AddIn concept defined in OPC 10000-3, in order to allow companion specifications and vendors to easily apply individual building blocks.
This is exemplified in Figure 6. On the right side of the figure, you can see ObjectTypes defining specific functionality like Identification. This includes the definition of a default BrowseName. On the left side you see an example of how such a building block is used. This type could use other building blocks as well.
Figure 6 – Concept of Building Blocks
This version of the specification defines
- a building block for Machine Identification and Nameplate (see section 8) defined as AddIn
- capabilities to find all Machines in a Server (see section 9) by defining a standardized entry point
- a building block for component Identification and Nameplate (see section 10) defined as AddIn
- a building block to find all identifiable components of a Machine (see section 11) defined as AddIn
- a building block to represent the state of a MachineryItem (see section 12) defined as AddIn
- a building block to represent the operation mode of a MachineryItem (see section 13) defined as AddIn
- a building block for operation counters (see section 14) defined as AddIn
- a building block for lifetime counters (see section 15) defined as AddIn
The building blocks defined in this specification are typically AddIns that can be applied to Objects or ObjectTypes representing Machines or components of Machines.
The specification intentionally does not define an ObjectType representing a MachineryItem and intentionally leaves it open how the information for the MachineryItem is further structured in addition to the AddIns. This allows a domain-specific organization of the MachineryItem, for example defined in a domain-specific companion specification.
It is to avoid that the Objects and ObjectTypes representing a MachineryItem become a large, hard to understand substructure and it is also to avoid having flat list of all the building blocks. Therefore, this specification defines an organization Object containing the building blocks defined in this specification. This reduces the Nodes on the top-level and thus simplifies accessing the information.
Each Object or ObjectType representing a MachineryItem supporting the AddIns should have an Object of type FolderType or a subtype with the BrowseName “MachineryBuildingBlocks” (using the Namespace of this specification), referenced with HasComponent or a subtype. All AddIns defined in this specification should be applied to this Object, i.e. being referenced with a HasAddIn Reference or a subtype from this Object. Because of the base characteristics of the identification and the relation to its subcomponents, those AddIns should be referenced directly from the Object or ObjectType representing the MachineryItem, and should be referenced in addition by the MachineryBuildingBlocks Object.
In Figure 7, an example is given. The SpecificComponentType supports the Identification AddIn as well as the BuildingBlock1 and BuildingBlock2. All three are referenced from the MachineryBuildingBlocks Object. The Identification AddIn is also referenced directly from the ObjectType, and the other AddIns from some domain-specific Objects to structure the component. The SpecificMachineType supports Identification and those two additional building blocks as well, and contains a Component1 of SpecificComponentType. Thus, the Components AddIn is referenced from the ObjectType directly, as well as from the MachineryBuildingBlocks Object.
Figure 7 – Example of organization of Building Blocks
Table 12 defines, which building blocks shall or may be referenced by the MachineryBuildingBlocks folder.
Table 12 – Usage of MachineryBuildingBlocks
Building Block |
Shall be in MachineryBuildingBlocks folder |
May be in MachineryBuildingBlocks folder |
Machine Identification and Nameplate (see 8) |
- |
X |
Finding all Machines in a Server (see 9) |
- |
- |
Component Identification and Nameplate (see10) |
- |
X |
Finding all Identifiable Components of a Machine (see 11) |
- |
X |
MachineryItemState (see 12) |
X |
- |
MachineryOperationMode (see 13) |
X |
- |
OperationCounters (see 14) |
X |
- |
LifetimeCounters (see 15) |
X |
- |