Eine komplexe Steuerung eignet sich vor allem für übergeordnete Bewirtschaftungssyssteme, in denen Pumpen oder Schieber in Abhängigkeit von mehreren Messgrößen geschaltet werden.
Die komplexe Steuerung besteht aus einer Abfolge mehrerer Regeln, welche im Editor Komplexe Steuerung eingegeben werden.
Jede Regel besteht aus einer ID, einer optionalen Beschreibung und der eigentlichen Anweisung (im Editor mit „Defintion“ bezeichnet).
| Feld | Erklärung |
|---|---|
| Regel ID | eindeutige ID der Regel (MUID) |
| Beschreibung | optionale Beschreibung der Regel |
| Definition | 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 Prognose 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 Verleichsoperator 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 |
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 |
Das System 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 OR 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 erfordelich sind. Für den Fall, dass sowohl eine einfache als auch eine komplexe Steuerung auf dasselbe Element zugreift, hat die komplexe Steuerung den Vorrang.