Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start of P(ID) controller #323

Closed
2 tasks
SouthEndMusic opened this issue Jun 16, 2023 · 5 comments · Fixed by #329
Closed
2 tasks

Start of P(ID) controller #323

SouthEndMusic opened this issue Jun 16, 2023 · 5 comments · Fixed by #329
Assignees
Labels
control Rule based control of physical layer

Comments

@SouthEndMusic
Copy link
Collaborator

As motivated in #322. First steps:

  • Introduce the PID controller node which for now only supports P
  • Have it control a pump which has associated minimum and maximum flow rates
@SouthEndMusic SouthEndMusic added enhancement control Rule based control of physical layer labels Jun 16, 2023
@SouthEndMusic SouthEndMusic self-assigned this Jun 16, 2023
@github-project-automation github-project-automation bot moved this to To do in Ribasim Jun 16, 2023
@SouthEndMusic SouthEndMusic moved this from To do to 🏗 In progress in Ribasim Jun 16, 2023
@SouthEndMusic SouthEndMusic changed the title Start of PID controller Start of P(ID) controller Jun 16, 2023
@gijsber
Copy link
Contributor

gijsber commented Jun 30, 2023

Example controller settings from Landelijk Sobek model (LSMKRW)
node: PKN_pop_108SASA
Pump capacity 22.5m3/s
Suction side switch on 6.5mNAP, suction side switch off 6.4mNAP
Setpoint is a time series
image

node ZWLM_27
Pump capacity 4.5m3/s
Suction side switch on 17.25mNAP, suction side switch off 17.15mNAP

image

@SouthEndMusic
Copy link
Collaborator Author

Example controller settings from Landelijk Sobek model (LSMKRW) node: PKN_pop_108SASA Pump capacity 22.5m3/s Suction side switch on 6.5mNAP, suction side switch off 6.4mNAP Setpoint is a time series
node ZWLM_27 Pump capacity 4.5m3/s Suction side switch on 17.25mNAP, suction side switch off 17.15mNAP

@gijsber thanks for the data. Do I understand correctly that this is not PID control but discrete control (e.g. the pumps are either on or off), or does the second one interpolate between the values in the table? Does the Sobek model also contain profile data?

At this moment I do not know how to incorporate the deadband (which I assume is the tolerance around the setpoint), I can image that to be a criterion for optimization.

@gijsber
Copy link
Contributor

gijsber commented Jun 30, 2023

@SouthEndMusic I'll have to ask Geert Prinsen for that, but this were the pump-related control types I could identify. they look discrete indeed. and yes, profile data is available. I could check whether the gate or weir controllers have settings that are more PID like. Maybe @visr has been digging into D-RTC more with some example.

For the deadband: this indeed is the lower/upperbound which indicates when the pump is turned on.

@gijsber
Copy link
Contributor

gijsber commented Jun 30, 2023

Maybe this one is useful as well: the user manual of D-RTC Tools: https://usermanual.wiki/Pdf/DRTCUserManual.1356732301.pdf

@gijsber
Copy link
Contributor

gijsber commented Jun 30, 2023

@SouthEndMusic I also have posted a more recent version posted in: n:\Deltabox\Postbox\Gijsbers, Peter\D-Real_Time_Control_User_Manual.pdf (19mb)
Page 71 contains some parameterization including the various K-factors

@visr visr closed this as completed in #329 Jul 6, 2023
visr added a commit that referenced this issue Jul 6, 2023
Fixes #323. This is how far I
got before my vacation.

I also refactored `Connectivity` in Julia so that it now also contains
the control connectivity.

---------

Co-authored-by: Bart de Koning <[email protected]>
Co-authored-by: Martijn Visser <[email protected]>
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Ribasim Jul 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
control Rule based control of physical layer
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants