1
Home
vps1_gitea_admin edited this page 2026-03-04 20:16:41 +00:00
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 |
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 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 (MenuManager, configManager)
Technical Requirements
- Node.js >= 18
- Node-RED >= 3.x
- At least one
rotatingMachinechild node configured measurementnode withassetType: "flow"for flow-based control
Testing
node --test test/basic/*.test.js
node --test test/integration/*.test.js
node --test test/edge/*.test.js