In this OPC UA Companion Specification there are several subtypes of the 2:FunctionalGroupType and the 2:TopologyElementType defined. Figure 7 shows the general relationships between the PumpType and the FunctionalGroups.
Figure 7 – Pumps & Vacuum Pumps Information Model (General - Structure)
A Pump has several Ports. While most Pumps have inlet and outlet Ports, the number of other Ports may vary. For this reason, the concept of Ports is introduced. Ports can be used to connect other components or systems to the Pump. In this specification, the input and output Ports, as well as the drive Port for the connection of the pump drive are defined. A port is not part of a submodel and therefore a port is modeled as a separate BaseObject and not, like submodels, as a FunctionalGroup. Figure 8 shows how the Port concept was integrated into this OPC UA Companion Specification.
Figure 8 – Pumps & Vacuum Pumps Information Model (Ports - Structure)
In most cases Variables have the TypeDefinition 0:DataItemType or one of its subtypes. The optional Property Definition can be added to a Variable that uses such a TypeDefinition. This allows manufacturers to store a specific definitions for each Variable.
Variables defined in this specification that have the TypeDefinition 0:BaseAnalogType or one of its subtypes, usually have a predefined unit for the 0:EngineeringUnits Property. If no value is specified, the 0:EngineeringUnits Property should not be instantiated, or the Value Attribute shall be Null. To comply with this Companion Specification, the default values specified should be used for the 0:EngineeringUnits Property. The 0:EngineeringUnits should be sensible to the use of the application.
Variables that use the DataType Boolean are modelled with the TypeDefinition 0:TwoStateDiscreteType. Such Variables have the TrueState and FalseState Properties which shall be used for defining the actual states.
Variables that are children of the SupvervisionType or one of its subtypes represent supervision states. Such a supervision state is active if the Boolean value is True (see example 1).
Variables that are not children of SupvervisionType or one of its subtypes provide defined True and False states in their description (see Example 2).
EXAMPLE 1If the Value Attribute of the Variable RotorBlocked (see section 7.12) is True, this means that the rotor of a pump is blocked. If the Value Attribute of this Variable is False, it means that the rotor is not blocked.
EXAMPLE 2The Variable ClockwiseRotation (see section 7.20) provides in the Description Attribute the Value Attributes for the mandatory Properties TrueState and FalseState. Description Attribute: Direction of rotation in which the shaft is seen to be turning in a clockwise direction when viewing the drive end of the shaft. A "True" status means that the rotation of pump is clockwise and a "False" status means that the rotation of pump is anticlockwise.
Where it made sense, the BrowseName of a FunctionalGroup was taken from the recommendation in OPC 10000-100.
A FunctionalGroup that would have no Variables, Objects, or Methods if instantiated shall not be instantiated.