Add "Home"
114
Home.md
Normal file
114
Home.md
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# pumpingStation
|
||||||
|
|
||||||
|
Custom Node-RED node for multi-pump station management with hydraulic optimization and multiple control strategies.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
| Property | Value |
|
||||||
|
|----------|-------|
|
||||||
|
| **Version** | 1.0.0 |
|
||||||
|
| **Category** | Process Control |
|
||||||
|
| **Inputs** | 1 |
|
||||||
|
| **Outputs** | 3 (process / dbase / parent) |
|
||||||
|
| **Part of** | [EVOLV](https://gitea.wbd-rd.nl/RnD/EVOLV) |
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
The `pumpingStation` node manages a collection of `rotatingMachine` child nodes as a complete pumping station. It provides:
|
||||||
|
|
||||||
|
- **Basin hydraulics modeling** with volume, height, and overflow calculations
|
||||||
|
- **Multiple control modes**: manual, level-based, and flow-based
|
||||||
|
- **Safety protections**: dry-run protection and overfill protection
|
||||||
|
- **PID flow control** with configurable gains and rate limiting
|
||||||
|
- **Simulator mode** for testing without physical equipment
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Basin Geometry
|
||||||
|
|
||||||
|
| Field | Unit | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `basinVolume` | m3 | Total basin volume |
|
||||||
|
| `basinHeight` | m | Basin height |
|
||||||
|
| `heightInlet` | m | Inlet height reference |
|
||||||
|
| `heightOutlet` | m | Outlet height reference |
|
||||||
|
| `heightOverflow` | m | Overflow threshold height |
|
||||||
|
| `refHeight` | m | Reference height datum |
|
||||||
|
| `basinBottomRef` | m | Basin bottom reference |
|
||||||
|
|
||||||
|
### Safety
|
||||||
|
|
||||||
|
| Field | Description | Default |
|
||||||
|
|-------|-------------|---------|
|
||||||
|
| `enableDryRunProtection` | Prevent pump damage from dry running | - |
|
||||||
|
| `dryRunThresholdPercent` | Level % below which pumps stop | - |
|
||||||
|
| `enableOverfillProtection` | Prevent basin overflow | - |
|
||||||
|
| `overfillThresholdPercent` | Level % above which alarm triggers | - |
|
||||||
|
|
||||||
|
### Control Modes
|
||||||
|
|
||||||
|
#### Manual Mode
|
||||||
|
Direct operator control of individual pumps.
|
||||||
|
|
||||||
|
#### Level-Based Control
|
||||||
|
|
||||||
|
| Field | Unit | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| `startLevel` | m | Level at which pumps start |
|
||||||
|
| `stopLevel` | m | Level at which pumps stop |
|
||||||
|
| `minFlowLevel` | m | Minimum flow threshold level |
|
||||||
|
| `maxFlowLevel` | m | Maximum flow threshold level |
|
||||||
|
|
||||||
|
#### Flow-Based Control (PID)
|
||||||
|
|
||||||
|
| Field | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| `flowSetpoint` | Target flow rate |
|
||||||
|
| `flowDeadband` | Acceptable deviation from setpoint |
|
||||||
|
| `Kp` | Proportional gain |
|
||||||
|
| `Ki` | Integral gain |
|
||||||
|
| `Kd` | Derivative gain |
|
||||||
|
| Derivative filter | Low-pass filter on D term |
|
||||||
|
| Rate limits | Max rate of change for control output |
|
||||||
|
|
||||||
|
## Child Nodes
|
||||||
|
|
||||||
|
This node manages **[rotatingMachine](https://gitea.wbd-rd.nl/RnD/rotatingMachine)** children. Pumps register themselves via Port 2 messages.
|
||||||
|
|
||||||
|
**Important:** Measurement nodes with `assetType: "flow"` (not `"flow-electromagnetic"`) are required for flow-based control to work correctly.
|
||||||
|
|
||||||
|
## Inputs and Outputs
|
||||||
|
|
||||||
|
### Input (Port 0)
|
||||||
|
- Level measurements
|
||||||
|
- Flow measurements
|
||||||
|
- Control mode changes
|
||||||
|
- Setpoint updates
|
||||||
|
|
||||||
|
### Output Port 0 - Process Data
|
||||||
|
Station state including basin level, total flow, active pump count, control mode.
|
||||||
|
|
||||||
|
### Output Port 1 - InfluxDB Telemetry
|
||||||
|
Time-series data for all station parameters.
|
||||||
|
|
||||||
|
### Output Port 2 - Registration
|
||||||
|
Parent communication and child discovery messages.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- [generalFunctions](https://gitea.wbd-rd.nl/RnD/generalFunctions) (MenuManager, configManager)
|
||||||
|
|
||||||
|
## Technical Requirements
|
||||||
|
|
||||||
|
- Node.js >= 18
|
||||||
|
- Node-RED >= 3.x
|
||||||
|
- At least one `rotatingMachine` child node configured
|
||||||
|
- `measurement` node with `assetType: "flow"` for flow-based control
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
```bash
|
||||||
|
node --test test/basic/*.test.js
|
||||||
|
node --test test/integration/*.test.js
|
||||||
|
node --test test/edge/*.test.js
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user