An OPC UA server that implements a simple water pump machine simulation.
Water Pump Simulation Server is created using OPC UA for the Water Pump and Qt Quick Water Pump examples.
The OPC UA server runs a simulation of a machine containing two tanks, a water pump, and a valve. Water can be pumped from the first tank into the second tank and then be flushed from the second tank by opening the valve. Both operations have a user-configurable setpoint, allowing control over the amount of water pumped into or flushed from the second tank.
The following nodes exist on the server:
| NodeId | Function |
|---|---|
| ns=2;s=Machine | The folder containing the method and variable nodes for the machine |
| ns=2;s=Machine.State | The state of the machine |
| ns=2;s=Machine.Tank1.PercentFilled | The current fill status of the first tank |
| ns=2;s=Machine.Tank2.PercentFilled | The current fill status of the second tank |
| ns=2;s=Machine.Tank2.TargetPercent | The setpoint for pumping and flushing |
| ns=2;s=Machine.Tank2.ValveState | The state of the valve of the second tank |
| ns=2;s=Machine.Designation | A human readable designation of the machine for display purposes |
| ns=2;s=Machine.Start | Call this method to start the pump |
| ns=2;s=Machine.Stop | Call this method to stop the pump |
| ns=2;s=Machine.FlushTank2 | Call this method to flush tank 2 |
| ns=2;s=Machine.Reset | Call this method to reset the simulation |
All methods return Good in case of success and BadUserAccessDenied if the operation is illegal (for example, trying to start the pump if the first tank is empty).
Files:
See also Qt Quick Water Pump and Water Pump.
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: