Simulationsserver für Wasserpumpen
Ein OPC-UA-Server, der eine einfache Simulation einer Wasserpumpe implementiert.
Der Wasserpumpen-Simulationsserver wird mithilfe von OPC UA für die Beispiele „Water Pump “ und „Qt Quick “ erstellt.
Die Simulation
Der OPC-UA-Server führt eine Simulation einer Maschine durch, die aus zwei Tanks, einer Wasserpumpe und einem Ventil besteht. Wasser kann aus dem ersten Tank in den zweiten Tank gepumpt und anschließend durch Öffnen des Ventils aus dem zweiten Tank abgelassen werden. Beide Vorgänge verfügen über einen vom Benutzer konfigurierbaren Sollwert, wodurch die Wassermenge gesteuert werden kann, die in den zweiten Tank gepumpt oder aus diesem abgelassen wird.
Auf dem Server sind folgende Knoten vorhanden:
| Knoten-ID | Funktion |
|---|---|
| ns=2;s=Machine | Der Ordner, der die Methoden- und Variablenknoten für die Maschine enthält |
| ns=2;s=Machine.State | Der Zustand der Maschine |
| ns=2;s=Machine.Tank1.PercentFilled | Der aktuelle Füllstand des ersten Tanks |
| ns=2;s=Machine.Tank2.PercentFilled | Der aktuelle Füllstand des zweiten Tanks |
| ns=2;s=Machine.Tank2.TargetPercent | Der Sollwert für das Pumpen und Spülen |
| ns=2;s=Machine.Tank2.ValveState | Der Zustand des Ventils des zweiten Tanks |
| ns=2;s=Machine.Designation | Eine für Menschen lesbare Bezeichnung der Maschine zu Anzeigezwecken |
| ns=2;s=Machine.Start | Rufen Sie diese Methode auf, um die Pumpe zu starten |
| ns=2;s=Machine.Stop | Rufen Sie diese Methode auf, um die Pumpe anzuhalten |
| ns=2;s=Machine.FlushTank2 | Rufen Sie diese Methode auf, um Tank 2 zu spülen |
| ns=2;s=Machine.Reset | Rufen Sie diese Methode auf, um die Simulation zurückzusetzen |
Alle Methoden geben bei Erfolg „ Good “ zurück und „ BadUserAccessDenied “, wenn die Operation unzulässig ist (z. B. beim Versuch, die Pumpe zu starten, wenn der erste Tank leer ist).
Siehe auch „Qt Quick Water Pump “ und „Water Pump“.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.