Beispiel: Wehrsteuerung mit Timer: Unterschied zwischen den Versionen
Nati (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Ziel ist es ein Entlastungswehr je nach Wasserstand im Bauwerk stufenweise abzusenken bzw. wieder hochzufahren. <br><br> Erreicht im Entlastungsfall die Überf…“) |
Nati (Diskussion | Beiträge) |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
Sinkt der Wasserstand auf 50 cm unter Ausgangs-Wehrhöhe wird das Wehr wieder hochgefahren. <br><br> | Sinkt der Wasserstand auf 50 cm unter Ausgangs-Wehrhöhe wird das Wehr wieder hochgefahren. <br><br> | ||
Um zu verhindern, dass während der benötigten Zeit für das Absenken des Wehrs die Regel für weiteres Absenken gültig wird, wird ein Timer gesetzt der abgelaufen sein muss damit die nächste Wehrstufe angefahren werden kann. Dieses Vorgehen kann bei verschiedensten Steuerungen sinnvoll sein um Schwingungen, durch zu schnell wechselnde Zustandsänderungen, zu verhindern. <br><br> | Um zu verhindern, dass während der benötigten Zeit für das Absenken des Wehrs die Regel für weiteres Absenken gültig wird, wird ein Timer gesetzt der abgelaufen sein muss damit die nächste Wehrstufe angefahren werden kann. Dieses Vorgehen kann bei verschiedensten Steuerungen sinnvoll sein um Schwingungen, durch zu schnell wechselnde Zustandsänderungen, zu verhindern. <br><br> | ||
− | ===Zur Modellierung | + | ===Zur Modellierung=== |
<br> | <br> | ||
<div class="res-img">[[File: Wehrsteuerung_mit_Timer001.png|600px|center]]</div> | <div class="res-img">[[File: Wehrsteuerung_mit_Timer001.png|600px|center]]</div> | ||
Zeile 14: | Zeile 14: | ||
Zum Testen der Steuerung wird als Belastung für das Kanalnetz an Schacht Neu005 eine Flutkurve, Sonderbauwerk Typ 80 modelliert. Der Vorteil einer Flutkurve liegt darin gezielt alle Belastungsstufen durchlaufen zu können und dabei das Steuerungsverhalten zu prüfen. Modellregen, besonders Euler Regen führen durch die abrupt einsetzende Spitzenbelastung dazu dass Steuerzustände bei mittlerer Belastung übersprungen werden, somit nicht geprüft werden können.<br> | Zum Testen der Steuerung wird als Belastung für das Kanalnetz an Schacht Neu005 eine Flutkurve, Sonderbauwerk Typ 80 modelliert. Der Vorteil einer Flutkurve liegt darin gezielt alle Belastungsstufen durchlaufen zu können und dabei das Steuerungsverhalten zu prüfen. Modellregen, besonders Euler Regen führen durch die abrupt einsetzende Spitzenbelastung dazu dass Steuerzustände bei mittlerer Belastung übersprungen werden, somit nicht geprüft werden können.<br> | ||
− | ===Zur Steuerung | + | ===Zur Steuerung=== |
<br> | <br> | ||
− | <div class="res-img">[[File: Wehrsteuerung_mit_Timer003.png| | + | <div class="res-img">[[File: Wehrsteuerung_mit_Timer003.png|800px|center]]</div> |
<br> | <br> | ||
− | |||
===Sensoren=== | ===Sensoren=== | ||
Zeile 57: | Zeile 56: | ||
Achtung: Es handelt sich um den Wasserstand bezogen auf die Schachtsohle nicht um den Wasserspiegel in mNN <br> | Achtung: Es handelt sich um den Wasserstand bezogen auf die Schachtsohle nicht um den Wasserspiegel in mNN <br> | ||
− | ===Zustände | + | ===Zustände=== |
Durch Werteabfragen von Sensoren können Zustände im Kanalnetz abgefragt werden bzw. Modi der Steuerung ermittelt werden. | Durch Werteabfragen von Sensoren können Zustände im Kanalnetz abgefragt werden bzw. Modi der Steuerung ermittelt werden. | ||
<br> | <br> | ||
Zeile 78: | Zeile 77: | ||
Man könnte auch hier wieder ein stufenartiges Hochfahren steuern. <br> | Man könnte auch hier wieder ein stufenartiges Hochfahren steuern. <br> | ||
− | ===Stellgrößen | + | ===Stellgrößen=== |
Hier werden die zu steuernden Bauwerke festgelegt. | Hier werden die zu steuernden Bauwerke festgelegt. | ||
<br> | <br> | ||
Zeile 104: | Zeile 103: | ||
Welcher Stellmodus letztendlich zum Einsatz kommt wird erst in der Regel festgelegt. Im Stellgrößendialog am besten alle 3 Arten definieren. <br> | Welcher Stellmodus letztendlich zum Einsatz kommt wird erst in der Regel festgelegt. Im Stellgrößendialog am besten alle 3 Arten definieren. <br> | ||
− | ===Regeln | + | ===Regeln=== |
Über Regeln werde die Stellgrößen und Variablen auf Grund von Zuständen neu gesetzt. Die vordefinierten Regeln werden von oben nach unten durchlaufen und sind, bezogen auf eine Stellgröße, nach Listeneintrag priorisiert. <br>Weiter oben stehende haben eine höhere Priorität als weiter unten stehende. Mit den Schaltflächen „Nach oben“ bzw. „Nach unten“ kann die Anordnung verändert werden. | Über Regeln werde die Stellgrößen und Variablen auf Grund von Zuständen neu gesetzt. Die vordefinierten Regeln werden von oben nach unten durchlaufen und sind, bezogen auf eine Stellgröße, nach Listeneintrag priorisiert. <br>Weiter oben stehende haben eine höhere Priorität als weiter unten stehende. Mit den Schaltflächen „Nach oben“ bzw. „Nach unten“ kann die Anordnung verändert werden. | ||
<br> | <br> | ||
Zeile 136: | Zeile 135: | ||
<div class="res-img">[[File: Wehrsteuerung_mit_Timer024.png|600px|center]]</div> | <div class="res-img">[[File: Wehrsteuerung_mit_Timer024.png|600px|center]]</div> | ||
<br> | <br> | ||
− | ===Prüfen der Steuerung | + | ===Prüfen der Steuerung=== |
Neben den in ++SYSTEMS standardmässig abrufbaren Ganglinen an Bauwerken liefert ++SYSTEMS ein Script für das open source Programm R mit um aus den Control Protokolldateien PDF Plots zu erstellen. <br><br> | Neben den in ++SYSTEMS standardmässig abrufbaren Ganglinen an Bauwerken liefert ++SYSTEMS ein Script für das open source Programm R mit um aus den Control Protokolldateien PDF Plots zu erstellen. <br><br> | ||
Dazu muss das Programm R installiert werden, zusätzlich Ghostscript und ein PDF Viewer. Zur Installation von R gibt es unter: Auswertung Messstellen mit R – Dokumentation unter wiki.tandler.com eine Anleitung. | Dazu muss das Programm R installiert werden, zusätzlich Ghostscript und ein PDF Viewer. Zur Installation von R gibt es unter: Auswertung Messstellen mit R – Dokumentation unter wiki.tandler.com eine Anleitung. | ||
<br> | <br> | ||
− | <div class="res-img">[[File: Wehrsteuerung_mit_Timer025.png| | + | <div class="res-img">[[File: Wehrsteuerung_mit_Timer025.png|250px|center]]</div> |
<br> | <br> | ||
Diese beiden Dateien liegen nach der Installation ++SYSTEMS im „bin-Ordner“ und werden bei Berechnungsstart DYNA in den Berechnungsordner kopiert. Visualize.R ist das R-Script zum erstellen der PDF Plots. In visualize.bat erfolgt eine Windows Pfaderweiterung um das Programm R sowie Ghostscript und PDF Viewer zu finden um danach das Programm R mit dem Script zu starten. Diese Batchdatei muss, im bin-Verzeichnis, bei anderen Installationspfaden der Zusatzprogramme angepasst werden. | Diese beiden Dateien liegen nach der Installation ++SYSTEMS im „bin-Ordner“ und werden bei Berechnungsstart DYNA in den Berechnungsordner kopiert. Visualize.R ist das R-Script zum erstellen der PDF Plots. In visualize.bat erfolgt eine Windows Pfaderweiterung um das Programm R sowie Ghostscript und PDF Viewer zu finden um danach das Programm R mit dem Script zu starten. Diese Batchdatei muss, im bin-Verzeichnis, bei anderen Installationspfaden der Zusatzprogramme angepasst werden. | ||
Zeile 148: | Zeile 147: | ||
Nach ausführen der Batch Datei entstehen im Ordner der Hydraulikvariante die PDF Plots. | Nach ausführen der Batch Datei entstehen im Ordner der Hydraulikvariante die PDF Plots. | ||
<br> | <br> | ||
− | <div class="res-img">[[File: Wehrsteuerung_mit_Timer027.png| | + | <div class="res-img">[[File: Wehrsteuerung_mit_Timer027.png|250px|center]]</div> |
<br> | <br> | ||
Diese können nun per Doppelklick über den Dateiexplorer geöffnet werden oder im Dialog der Steuerungsvariante per Rechtsklick auf einen Sensor oder eine Stellgröße angezeigt werden. | Diese können nun per Doppelklick über den Dateiexplorer geöffnet werden oder im Dialog der Steuerungsvariante per Rechtsklick auf einen Sensor oder eine Stellgröße angezeigt werden. |
Aktuelle Version vom 28. Juli 2025, 10:56 Uhr
Ziel ist es ein Entlastungswehr je nach Wasserstand im Bauwerk stufenweise abzusenken bzw. wieder hochzufahren.
Erreicht im Entlastungsfall die Überfallhöhe 5 cm wird das Wehr abgesenkt, wird dieser Wasserstand trotz erster Absenkung nicht unterschritten oder wieder erreicht wird auf die nächste Stufe abgesenkt. Das Gleiche erfolgt in einer dritten Stufe.
Sinkt der Wasserstand auf 50 cm unter Ausgangs-Wehrhöhe wird das Wehr wieder hochgefahren.
Um zu verhindern, dass während der benötigten Zeit für das Absenken des Wehrs die Regel für weiteres Absenken gültig wird, wird ein Timer gesetzt der abgelaufen sein muss damit die nächste Wehrstufe angefahren werden kann. Dieses Vorgehen kann bei verschiedensten Steuerungen sinnvoll sein um Schwingungen, durch zu schnell wechselnde Zustandsänderungen, zu verhindern.
Inhaltsverzeichnis
Zur Modellierung
Am Schacht Neu020 wird ein Sonderbauwerk vom Typ 62 definiert
Die Wehrkrone liegt mit 100,32 mNN 2,00 m über Schachtsohle, 31,2 m³ Speichervolumen bis Wehrhöhe, Ablaufdrossel auf 50 l/s
Zum Testen der Steuerung wird als Belastung für das Kanalnetz an Schacht Neu005 eine Flutkurve, Sonderbauwerk Typ 80 modelliert. Der Vorteil einer Flutkurve liegt darin gezielt alle Belastungsstufen durchlaufen zu können und dabei das Steuerungsverhalten zu prüfen. Modellregen, besonders Euler Regen führen durch die abrupt einsetzende Spitzenbelastung dazu dass Steuerzustände bei mittlerer Belastung übersprungen werden, somit nicht geprüft werden können.
Zur Steuerung
Sensoren
Unter Sensoren gibt es Variablen die auf einen Initialwert vorbelegt werden und durch Regeln neu gesetzt werden können.
Hier verwendet um die gerade anstehende Position des Wehres abfragen zu können.
Hier verwendet um den Zeitpunkt an dem das Wehr beginnt sich abzusenken festzuhalten. Diese Variable wird in der Regel zum Absenken des Wehrs mit der aktuellen Simulationszeit belegt.
Hier verwendet um eine Verzögerungszeit in [s] festzulegen bevor eine weiterer Wehrabsenkung erfolgen kann.
Es gibt Kombi-Sensoren, der Wert wird aus 2 Sensoren die über Operatoren verknüpft sind ermittelt.
Hier wird in einem Kombisensor dem Zeitpunkt des Fahrbeginns des Wehres die Verzögerungszeit addiert.
Hier wird vom Zeitpunkt wenn das Wehr beginnt sich abzusenken + die der Zeit bevor eine weitere Absenkregel gültig werden kann die Simulationszeit abgezogen.
Der Sensor 1 liegt also um die Verzögerungszeit, gesehen vom Zeitpunkt des Beginns der Wehrabsenkung, in der Zukunft. Erreicht Sensor 2, die Simulationszeit, diesen Zeitpunkt wird der Stand_Timer (Kombisensor) negativ. Dies wird in den „Zustand“ Timer abgelaufen überführt und in einer Regel zur weiteren Wehrabsenkung abgefragt.
Im Sensor Zeit steht die Zeit in Sekunden seit Simulationsbeginn
Es gibt „normale Sensoren“ bezogen auf einen Schacht, eine Haltung oder eine Regenmessstation wie beispielsweise Wasserstand am Schacht, oder Durchfluss in einer Haltung.
Hier verwendet um am Schacht Neu020 den Wasserstand im Entlastungsbauwerk abfragen zu können.
Achtung: Es handelt sich um den Wasserstand bezogen auf die Schachtsohle nicht um den Wasserspiegel in mNN
Zustände
Durch Werteabfragen von Sensoren können Zustände im Kanalnetz abgefragt werden bzw. Modi der Steuerung ermittelt werden.
Steigt der Wasserspiegel im Entastungsbauwerk auf 2,05m ist der Zustand erreicht an dem das Wehr abgesenkt werden soll.
Unter Wehr_auf_0 bis Wehr_auf_3 wird in der Variablen „Wehrposition[V]“, über die Regel zur Absenkung, die aktuelle Wehrposition gespeichert. Initial steht der Wert auf 0
Um Schwingungen durch zu rasch wechselnde Zustände und dadurch ausgelöste Steuerbefehle zu vermeiden, wurde wie weiter oben beschrieben über Sensoren ein „Timer“ gestartet. Der Zustand „Timer abgelaufen“ gibt bei den Regeln dann eine weitere Absenkungsregel frei.
Sinkt der Wasserstand auf 1,5m kann das Wehr wieder in Ausgangsstellung hochgefahren werden.
Man könnte auch hier wieder ein stufenartiges Hochfahren steuern.
Stellgrößen
Hier werden die zu steuernden Bauwerke festgelegt.
Als gesteuertes Bauwerk hier ein Sonderbauwerk Typ62 an dem die Wehrhöhe stufenweise abgesenkt werden soll.
Bei Art der Steuerung wurde hier „Wehr“ gewählt, möglich wäre auch Schieberstellung, Drosseleinstellung oder Pumpenleistung.
Für den Stellmodus, dem zeitliche Verlauf der Änderung, gibt es 3 mögliche Modi:
Ideal: der neue Wert stellt sich instantan ein
Standard: Es gibt eine Verzögerungszeit und eine Stellgeschwindigkeit
Über die Verzögerungszeit muss ein Zustand eine gewisse Dauer anliegen bevor der Stellvorgang ausgelöst wird. Dies kann verhindern dass kurze Spitzen an den Sensoren Stellvorgänge auslösen.
Sanftanlauf: neben der Stellgeschwindigkeit kann alternativ die Stellzeit gesetzt werden.
Welcher Stellmodus letztendlich zum Einsatz kommt wird erst in der Regel festgelegt. Im Stellgrößendialog am besten alle 3 Arten definieren.
Regeln
Über Regeln werde die Stellgrößen und Variablen auf Grund von Zuständen neu gesetzt. Die vordefinierten Regeln werden von oben nach unten durchlaufen und sind, bezogen auf eine Stellgröße, nach Listeneintrag priorisiert.
Weiter oben stehende haben eine höhere Priorität als weiter unten stehende. Mit den Schaltflächen „Nach oben“ bzw. „Nach unten“ kann die Anordnung verändert werden.
Hier am Beispiel zur Wehrabsenkung, 2. Stufe
WENN: Wehr absenken wahr ist, das Wehr auf Stufe 1 steht und der Timer für die Absenkung von Stufe 0 auf Stufe eins abgelaufen ist
DANN: fahre das Wehr im Stellmodus „Standard“ auf 100,12 mNN
setze die Variable „Wehrposition“ auf 2
setze den Wert dar Variablen „Fahrbeginn_Wehr“ auf die aktuelle Simulationszeit damit über Zustände der Timer neu zu laufen beginnt.
Zum Editieren eines Eintrages einen Doppelklick auf den bestehenden Eintrag
Werte anpassen und mit Hinzufügen wieder in die Liste übernehmen. Hier wird der Wert und der Stellmodus einer Stellgröße festgelegt.
Wird der Dialog der Steuerungsvariante mit OK geschlossen erfolgt eine Konsistenzprüfung.
Es können nur DYNA-Hydraulikvariante mit Control gesteuert werden. Dazu auf dem TAB Transport die gewünschte Steuerungsvariante auswählen. Es ist empfohlen, gerade in der Testphase der Steuerung, die Logdatei zu erstellen. Dabei wird er gesamte Steuerungsverlauf protokolliert und kann nachträglich ausgewertet werden.
Gibt es viele voneinander unabhängige gesteuerte Bauwerke empfiehlt es sich dafür eigene Steuerungsvarianten zu erstellen. Die Regeln sind dann übersichtlicher und leichter zu prüfen.
Über das Erstellen einer einhüllenden Steuerungsvariante können diese zusammengefügt und einer Hydraulikvariante zugewiesen werden. Das Anzeigen der entstandenen Kombivariante sowie ein Export ist hier ebenfalls möglich.
Prüfen der Steuerung
Neben den in ++SYSTEMS standardmässig abrufbaren Ganglinen an Bauwerken liefert ++SYSTEMS ein Script für das open source Programm R mit um aus den Control Protokolldateien PDF Plots zu erstellen.
Dazu muss das Programm R installiert werden, zusätzlich Ghostscript und ein PDF Viewer. Zur Installation von R gibt es unter: Auswertung Messstellen mit R – Dokumentation unter wiki.tandler.com eine Anleitung.
Diese beiden Dateien liegen nach der Installation ++SYSTEMS im „bin-Ordner“ und werden bei Berechnungsstart DYNA in den Berechnungsordner kopiert. Visualize.R ist das R-Script zum erstellen der PDF Plots. In visualize.bat erfolgt eine Windows Pfaderweiterung um das Programm R sowie Ghostscript und PDF Viewer zu finden um danach das Programm R mit dem Script zu starten. Diese Batchdatei muss, im bin-Verzeichnis, bei anderen Installationspfaden der Zusatzprogramme angepasst werden.
Nach ausführen der Batch Datei entstehen im Ordner der Hydraulikvariante die PDF Plots.
Diese können nun per Doppelklick über den Dateiexplorer geöffnet werden oder im Dialog der Steuerungsvariante per Rechtsklick auf einen Sensor oder eine Stellgröße angezeigt werden.