Example equipment model

This article will give a simple example of our Equipment Model by creating a Water Pump System

Here we define an example equipment model that is used in examples throughout the documentation.

The figure below shows a water pump system where the pump transfers water from the left-side tank (source tank) to the right-side tank (target tank). Furthermore we have defined that the pump turns on when there are more than 900 liters of water inside the source tank and turns off when there are less than 100 liters of water.

water_pump.png

The system consists of two tanks, one pump, and piping.

Equipment models

For the example, we define an abstract equipment model Device. All other models derive from this model either directly or indirectly. We can categorize our equipment as either electrical or mechanical devices. Therefore, we define abstract equipment models Electrical device and Mechanical device. Both of these inherit the Device.

We define three concrete equipment models: Pump, Pipe, and Tank. The pump is considered an electrical device, so Pump inherits the Electrical device abstract equipment model. Pipes and tanks are mechanical devices, so Pipe and Tank inherit the Mechanical device. Since all our concrete equipment models directly inherit either Electrical device or Mechanical device, they all indirectly inherit the Device equipment model.

Model hierarchy

Below we can see the model hierarchy as explained above, where Device is our abstract equipment model and other models derive from this.

Device
├── Electrical device
│   └── Pump
└── Mechanical device
    ├── Pipe
    └── Tank

Model definitions

Next we can define our models attributes and properties.

Model attributes

NameBaseAbstractClass name
Device-YesPath_Device
Electrical deviceDeviceYesPath_Electrical device
Mechanical deviceDeviceYesPath_Mechanical device
PipeMechanical deviceNoPath_Pipe
TankMechanical deviceNoPath_Tank
PumpElectrical deviceNoPath_Pump

Model properties

Device

PropertyData typeUnitHistorizedDescription
Manufacturerstring-NoThe name of the company that produced this device.

Pipe

PropertyData typeUnitHistorizedDescription
Flowdoublem3/sYesHow much water can flow through the pipe per second.
DiameterdoublecmNo
Manufacturerstring-NoInherited from Device

Pump

PropertyData typeUnitHistorizedDescription
Nominal powerdoubleWNoMaximum power for the pump.
PowerdoubleWYesThe power of the pump at the given moment.
Manufacturerstring-NoInherited from Device
Source tankGUID-NoReferences: Tank

The tank the pump is draining from.
Target tankGUID-NoReferences: Tank

The tank the pump is pumping into.
Operational stateint16-YesEnumeration: Binary Text(1),displayed as "Run"/"Stop"

Writing to this property can be used to start and stop the pump.
Power stateint16-YesEnumeration: Binary Text(6), displayed as "On"/"Off"

Whether the pump is currently turned on or off. Notice that it takes a while for the pump to fully stop. Therefore, after the stop signal has been sent to the pump, the is a short period when Power state is "Off" and Power is above zero.

Tank

PropertyData typeUnitHistorizedDescription
LeveldoublemmYesHow high the water surface is from the bottom of the tank.
VolumedoublelNoThe total capacity of the tank.
ContentsVolumedoublelYesThe volume of water in the tank. This is calculated from Level and Diameter.
DiameterdoublemmNoThe diameter of the tank. The tank is a cylinder.
Manufacturerstring-NoInherited from Device

Equipment instances

Then we can look at our Equipment Instances created for our example model. The instance hierarchy will show all the devices in our example model and further down, instance paths will show the full paths for each instance.

Instance hierarchy

Example site
├── Tank area
│   ├── Source tank
│   └── Target tank
├── Pipe
├── Flowback pipe
└── Pump section
    └── Pump

Instance paths

NameFull path
Source tankExample site.Tank area.Source tank
Target tankExample site.Tank area.Target tank
PipeExample site.Pipe
Flowback pipeExample site.Flowback pipe
PumpExample site.Pump section.Pump

Property values

Here is a listing of the property values for all our equipment instances. Historized properties are marked with "-", since their values are constantly changing.

Source tank

PropertyValue
Volume1000
ManufacturerTank company
Diameter1128
Level-
ContentsVolume-

Target tank

PropertyValue
Volume1000
ManufacturerTank company
Diameter1128
Level-
ContentsVolume-

Pump

PropertyValue
Nominal power1000
ManufacturerPumps & Pipes Inc.
Source tankGUID of Source tank
Target tankGUID of Target tank
Power-
Operational state-
Power state-

Pipe

PropertyValue
Diameter20
ManufacturerPumps & Pipes Inc.
Flow-

Flowback pipe

PropertyValue
Diameter10
ManufacturerPumps & Pipes Inc.
Flow-

Example installation:

ExampleWaterTransferSystem.exe creates this model and their instances automatically:

#Requirement: a running RTDB_CVMCServer
ExampleWaterTransferSystem.exe --install -c <RTDB Location>
#Remove the service:
#ExampleWaterTransferSystem.exe --remove -c <RTDB Location>

User can start and stop services in RTDB.INI.

Tutorial

We have created a tutorial of our water pump system that will help you get started. Please find the tutorial here.

Other recommended reading

  • Our Engineering UI may also be used in creating Equipment Models. More information here.
  • Designing a dashboard is easy with our ABB Ability™ History View. More information under designing a dashboard.
  • Dashboard step-by-step tutorial will give you detailed instructions on how to create your own dashboard and widgets.

What’s Next