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