Add "Home"

2026-03-04 20:16:41 +00:00
commit 1bc362641d

109
Home.md Normal file

@@ -0,0 +1,109 @@
# rotatingMachine
Custom Node-RED node for modeling and controlling individual rotating equipment: pumps, compressors, and blowers.
## Overview
| Property | Value |
|----------|-------|
| **Version** | 1.0.3 |
| **Category** | Process Control |
| **Inputs** | 1 |
| **Outputs** | 3 (process / dbase / parent) |
| **Part of** | [EVOLV](https://gitea.wbd-rd.nl/RnD/EVOLV) |
## Purpose
The `rotatingMachine` node represents a single piece of rotating equipment (pump, compressor, or blower). It models:
- **Speed control** with static or dynamic setpoints
- **Startup/shutdown sequences** with warmup and cooldown phases
- **Pump curve interpolation** for flow, pressure, and power relationships
- **State management** (off, starting, running, stopping, cooldown)
## Configuration
### Control
| Field | Description | Default |
|-------|-------------|---------|
| `speed` | Speed setpoint | - |
| Movement mode | `staticspeed` (fixed) or `dynspeed` (variable) | staticspeed |
| `startup` | Time to reach operating speed (s) | - |
| `warmup` | Warmup hold time after startup (s) | - |
| `shutdown` | Time to ramp down (s) | - |
| `cooldown` | Cooldown hold time after shutdown (s) | - |
### Curve Units
| Field | Description | Default |
|-------|-------------|---------|
| `curvePressureUnit` | Pressure unit for curves | mbar |
| `curveFlowUnit` | Flow unit for curves | - |
| `curvePowerUnit` | Power unit for curves | kW |
| `curveControlUnit` | Control signal unit | % |
### Asset Identification
| Field | Description |
|-------|-------------|
| `uuid` | Unique asset identifier |
| `supplier` | Equipment manufacturer |
| `category` | Equipment category |
| `assetType` | Asset type classification |
| `model` | Equipment model |
### Logging
| Field | Description | Default |
|-------|-------------|---------|
| `enableLog` | Enable node logging | false |
| `logLevel` | Log verbosity level | - |
## Inputs and Outputs
### Input (Port 0)
Accepts `msg.payload` with control commands:
- Speed setpoints
- Start/stop commands
- Configuration updates
### Output Port 0 - Process Data
Current machine state including:
- Operating speed, flow, pressure, power
- Machine state (off/starting/running/stopping/cooldown)
- Calculated efficiency
### Output Port 1 - InfluxDB Telemetry
Time-series data formatted for InfluxDB ingestion.
### Output Port 2 - Registration
Parent-child communication messages for registration with `machineGroupControl` or `pumpingStation`.
## Parent Nodes
This node can be a child of:
- **[machineGroupControl](https://gitea.wbd-rd.nl/RnD/machineGroupControl)** - For coordinated group operation
- **[pumpingStation](https://gitea.wbd-rd.nl/RnD/pumpingStation)** - For hydraulic optimization context
## Dependencies
- [generalFunctions](https://gitea.wbd-rd.nl/RnD/generalFunctions) (MenuManager, configManager, asset utilities)
## Technical Requirements
- Node.js >= 18
- Node-RED >= 3.x
- Parent EVOLV package installed
## Testing
```bash
node --test test/basic/*.test.js
node --test test/integration/*.test.js
node --test test/edge/*.test.js
```