30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
|
|
# Control modes
|
||
|
|
|
||
|
|
Each page describes one `pumpingStation` control mode and how it uses the shared [basin model](../functional-description.md#basin-model) — specifically, how it sets the three control thresholds (`minLevel`, `startLevel`, `maxLevel`) and computes the demand it sends to the MGC.
|
||
|
|
|
||
|
|
The two **safety** thresholds (`dryRunLevel` and `overflowLevel`) are mode-independent and are enforced by the safety layer outside any mode. They never appear in a mode's policy.
|
||
|
|
|
||
|
|
## Template
|
||
|
|
|
||
|
|
Every mode page follows the same structure:
|
||
|
|
|
||
|
|
1. **At a glance** — one sentence + small fact table (inputs, output, status)
|
||
|
|
2. **Diagram** — reference to `../diagrams/modes/<mode>.drawio.svg`
|
||
|
|
3. **Inputs** — what signals the mode reads
|
||
|
|
4. **Threshold policy** — how it sets/adjusts `minLevel`, `startLevel`, `maxLevel`
|
||
|
|
5. **Demand formula** — how it turns inputs into a 0-100 % demand for the MGC
|
||
|
|
6. **Edge cases** — cold start, sensor dropout, interaction with safety layer
|
||
|
|
7. **Related** — links to other modes + functional description
|
||
|
|
|
||
|
|
## Implementation status
|
||
|
|
|
||
|
|
| Mode | Status | Page |
|
||
|
|
|---|---|---|
|
||
|
|
| `levelbased` | ✅ implemented | [levelbased.md](levelbased.md) |
|
||
|
|
| `flowbased` | 🚧 placeholder in code | — |
|
||
|
|
| `pressureBased` | 🚧 placeholder in code | — |
|
||
|
|
| `percentageBased` | 🚧 placeholder in code | — |
|
||
|
|
| `powerBased` | 🚧 placeholder in code | — |
|
||
|
|
| `hybrid` | 🚧 placeholder in code | — |
|
||
|
|
| `manual` | ✅ implemented (Qd topic) | — |
|