Menüpunkt: EPANET > Zeitschritte und Steuerung > Komplexe Steuerung
Handbuch: MIKE URBAN Water Distribution User Guide, section 1.4.2 Rule Based Controls
Letzte Änderung mit MIKE URBAN Version 2012, Service Pack 2
Die Elemente sind zu finden in der Tabelle mw_Rule.
Eine komplexe Steuerung eignet sich vor allem für übergeordnete Bewirtschaftungssysteme, in denen Pumpen oder Schieber in Abhängigkeit von mehreren Messgrößen geschaltet werden.
Die komplexe Steuerung besteht aus einer Abfolge mehrerer Regeln. Jede Regel besteht aus einer ID, einer optionalen Beschreibung und der eigentlichen Anweisung (im Editor mit "Definition" bezeichnet).
Feld | Erklärung |
---|---|
Regel ID (MUID) | eindeutige ID der Regel (MUID) |
Beschreibung (Description) | optionale Beschreibung der Regel |
Definition (Condition) | eigentlicher Regeltext |
Schaltflächen | |
Neu | fügt einen neuen Datensatz ein |
Löschen | löscht ausgewählte Datensätze |
Befehle | |
…Mit Attributen auswählen | öffnet Dialogfeld zum Auswählen mit Attributen |
…In die Zwischenablage kopieren | kopiert ausgewählte Datensätze in die Zwischenablage (TAB-getrennt) |
…XML-Bericht erstellen | erstellt einen XML-Bericht mit allen Datensätzen |
Schließen | schließt den Editor |
IF bedingung_1 OR bedingung_2 AND bedingung_3 OR bedingung_4 [...] THEN aktion_1 AND aktion_2 [...] ELSE aktion_3 AND aktion_4 [...] PRIORITY prioritaet
Eine Regel testet also eine oder mehrere Bedingungen und führt dann eine oder mehrere Aktionen aus. Falls erforderlich, werden widersprüchliche Regeln durch Prioritäten untereinander gereiht.
Nur die Ausdrücke IF
und THEN
sind unbedingt erforderlich. ELSE
und PRIORITY
sind optional.
Beispiel 1 schließt Pumpe 335 und öffnet den Bypass 330, wenn der Wasserspiegel im Behälter 19,1 m überschreitet, und kehrt die Wirkung um, wenn der Wasserspiegel unter 17,1 m sinkt.
IF TANK 1 LEVEL > 3.5 THEN PUMP 335 STATUS IS CLOSED AND PIPE 330 STATUS IS OPEN
IF TANK 1 LEVEL < 1.0 THEN PUMP 335 STATUS IS OPEN AND PIPE 330 STATUS IS CLOSED
Beispiel 2 verändert den auf einem Behälterwasserspiegel beruhenden Einschaltpunkt der Pumpe 335 je nach Tageszeit.
IF SYSTEM CLOCKTIME >= 8 AM AND SYSTEM CLOCKTIME < 6 PM AND TANK 1 LEVEL BELOW 0.8 THEN PUMP 335 STATUS IS OPEN
IF SYSTEM CLOCKTIME >= 6 PM OR SYSTEM CLOCKTIME < 8 AM AND TANK 1 LEVEL BELOW 1.2 THEN PUMP 335 STATUS IS OPEN
Beispiel 3
Vielfach aktivieren Wassermeister die Pumpen zum Füllen eines Behälters, wenn sie den Eindruck gewinnen, dass der hohe Verbrauch den Behälter vorzeitig leeren könnte. MIKE URBAN kann dieses Betriebsverhalten in der Simulation berücksichtigen.
Der Wert DRAINTIME
extrapoliert die Geschwindigkeit, mit der sich Behälter 1 pro Zeitschritt leert. Fällt die Zeit, bis der Behälter voraussichtlich leer ist, unter 2 Stunden, schaltet sich Pumpe 335 ein.
DRAINTIME
wirkt parallel zum normalen Einschaltpunkt, das zuerst erfüllte Kriterium startet die Pumpe.
IF TANK 1 DRAINTIME < 2.0 OR TANK 1 LEVEL BELOW 1.0 THEN PUMP 335 STATUS IS OPEN
Syntax:
Element ID Attribut Vergleichsoperator Wert
Einige Beispiele für Bedingungen:
JUNCTION 23 PRESSURE > 20 | der Druck in Knoten 23 ist größer als 20 |
TANK T200 FILLTIME BELOW 3.5 | die Zeit bis zum Füllen des Behälters T200 sinkt unter 3,5 h |
LINK 44 STATUS IS OPEN | Rohr 44 ist offen |
SYSTEM DEMAND >= 1500 | der Gesamtbedarf ist größer oder gleich 1500 |
SYSTEM CLOCKTIME = 7:30 AM | die Tageszeit erreicht 7:30 |
Beachten Sie, dass Sie immer nur ein Attribut mit einem Wert vergleichen können, nicht aber zwei Attribute untereinander. Bedingungen wie IF JUNCTION 1 HEAD > JUNCTION 2 HEAD oder wie IF TANK 3 LEVEL > TANK 4 LEVEL lassen sich mit MIKE URBAN nicht realisieren.
Elemente werden immer gefolgt von der ID
(entspricht der MUID). Weil diese ID im Zuge der hydraulischen Berechnung in GROSSBUCHSTABEN umgewandelt wird, müssen die MUIDs der Behälter, Rohre etc. in den entsprechenden Editoren ebenfalls in GROSSBUCHSTABEN definiert sein.
Bei SYSTEM
ist keine ID
anzugeben.
Folgende punktförmigen Elemente sind verfügbar: JUNCTION
(Knoten), RESERVOIR
(Reservoir), TANK
(Behälter). Alternativ kann man auch das allgemeine NODE
verwenden.
Folgende linienförmigen Elemente sind verfügbar: PIPE
(Rohr), PUMP
(Pumpe) und VALVE
(Ventil). Alternativ kann man auch das allgemeine LINK
verwenden.
Schließlich gibt es noch das Element SYSTEM
.
Mit Knoten können folgende Attribute verwendet werden:
DEMAND | Wasserbedarf |
HEAD | Wasserspiegel |
PRESSURE | Wasserdruck |
Mit Behältern können folgende Attribute verwendet werden:
LEVEL | Wassertiefe |
FILLTIME | geschätzte Zeit, bis Behälter voll ist |
DRAINTIME | geschätzte Zeit, bis Behälter leer ist (siehe Beispiel 3 oben) |
Mit Leitungen, Pumpen und Ventilen können folgende Attribute verwendet werden:
FLOW | Durchfluss |
STATUS | OPEN, CLOSED, oder ACTIVE |
SETTING | relative Pumpendrehzahl oder Ventilstellung |
SYSTEM verwendet folgende Attribute:
DEMAND | Bedarf im gesamten Netz |
TIME | Zeit seit Simulationsstart |
CLOCKTIME | 24h-Uhrzeit mit angehängtem AM und PM |
= | gleich |
<> | ungleich |
< | kleiner als, auch BELOW möglich |
> | größer als, auch ABOVE möglich |
<= | kleiner gleich |
>= | größer gleich |
IS | nur mit OPEN und CLOSED |
Syntax:
Element ID STATUS
IS
Wert
Element ID SETTING
IS
Wert
Folgende linienförmigen Elemente sind verfügbar: PIPE
(Rohr), PUMP
(Pumpe) und VALVE
(Ventil). Alternativ kann man auch das allgemeine LINK
verwenden.
Die Elemente werden immer gefolgt von der ID.
STATUS
IS
wird gefolgt von OPEN
oder CLOSED
und schließt bzw. öffnet das Element.
SETTING
IS
funktioniert nur mit Pumpen und Ventilen und setzt die relative Pumpendrehzahl bzw. ein Ventilstellwert fest.
Einige Beispiele für Aktionen:
LINK 23 STATUS IS CLOSED | Schließe Leitung 23 |
PUMP P100 SETTING IS 1.5 | Setze die relative Drehzahl der Pumpe P100 auf 1.5 |
VALVE 123 SETTING IS 90 | Setze die Einstellung von Ventil 123 auf 90 |
Beachten Sie, dass Sie die Pumpendrehzahl und den Stellwert eines Ventils neu festlegen müssen, wenn Sie die Pumpe bzw. das Ventil von geschlossen auf offen setzen (außer die Pumpe soll mit Drehzahl 1.0 laufen und das Ventil soll ganz offen sein).
Beispiel 4 öffnet Ventil 23 und setzt die Einstellung des Ventils auf 6, wenn der Wasserspiegel im Behälter 23 unter 3.5 fällt.
IF TANK 3 LEVEL BELOW 3.5 THEN VALVE 23 STATUS IS OPEN AND VALVE 23 SETTING IS 6
1. Die Anzahl der Regeln in einem Projekt ist nicht beschränkt.
2. Innerhalb einer Regel sind beliebig viele Kombinationen von AND
und OR
erlaubt.
3. Wenn innerhalb einer Regel OR
und AND
gemischt werden, ist OR
stärker als AND
. Will man eine Aktion d setzen, wenn (a oder b) und c wahr sind, hat die Anweisung die Form
IF a OR b AND c THEN d
Will man eine Aktion d setzen, wenn a oder (b und c) wahr sind, muss man die Aktion in zwei Regeln abrufen:
IF a THEN d
IF b AND c THEN d
4. PRIORITY
gibt an, welche Regel verwendet werden soll, wenn zwei oder mehr Regeln widersprüchliche Aktionen auf ein bestimmtes Element auslösen. Eine größere Zahl bedeutet eine höhere Priorität. Eine Regel ohne Priorität ist immer schwächer als eine Regel mit Priorität. Haben zwei Regeln die gleiche Priorität, wird die Regel angewandt, die in der Abfolge früher gereiht ist.
5. Innerhalb eines Modells dürfen einfache Steuerungen und komplexe Steuerungen nebeneinander verwendet werden, beispielsweise wenn für die einen Pumpen einfache Steuerungen ausreichen, für andere Pumpen hingegen komplexe Steuerungen erforderlich sind. Für den Fall, dass sowohl eine einfache als auch eine komplexe Steuerung auf dasselbe Element zugreift, hat die komplexe Steuerung den Vorrang.