Appearance
CoolingTowerFleet
Bench test
Pending — Validation status.
White-label ready cooling-tower fleet (catalog title CoolingTowerFleet; OEM label e.g. COOLFAB SMART TOWER on SERVER attribute white_label). Device type cooling-tower. Profile name Cooling Tower.
Sample On provisions eight towers across Customer A / B / C (MP, Gujarat, Maharashtra — one SITE asset + scoped demo user each) with a physically consistent simulator (wet-bulb peak ~14:00–15:00 IST, per-tower duty cycles, recoverable faults, motor electrics at 70–90% FLC). Sign in as a customer demo user to see shared-dashboard isolation on the same dashboard. Use copies the dashboard, SCADA board, and throttled-notify rule engine without demo devices, generators, demo users, or sample history — create your own customer assets the same way. The fleet map uses lat/long with alarm colouring; the SCADA mimic binds to the Selected cooling tower alias.
SERVER attributes (per tower)
| Attribute | Meaning |
|---|---|
tower_model | Model plate (e.g. COOLFAB SMART TOWER CT-100) |
capacity_tr | Design tons refrigeration |
cells | Cell count |
motor_hp / motor_flc_a / ct_ratio | Fan motor |
design_inlet_c / design_outlet_c / design_flow_m3h | Design thermal |
pipe_dn / basin_depth_m | Hydraulics |
approach_warn_c / approach_crit_c / approach_low_c | Approach high/low limits (°C); low only while motor running |
current_high_fla_pct | Overcurrent trip as % of motor_flc_a (default 90) |
vibration_warn_mm_s / vibration_crit_mm_s | ISO 10816-style bands |
basin_low_pct | Low-basin trip |
maintenance_interval_hours / last_service_date | Service planning |
customer_label / white_label | Tenant / OEM labels |
duty_cycle | always (24 h), two_shift, or day_only |
Telemetry keys
| Key | Unit | Notes |
|---|---|---|
inlet_temp_c / outlet_temp_c | °C | Process water |
range_c | °C | inlet − outlet |
approach_c | °C | outlet − wet bulb |
wet_bulb_c / ambient_temp_c | °C | Site climate |
voltage_r / voltage_y / voltage_b | V | 400–430 band |
current_r / current_y / current_b | A | ~70–90% FLC when ON |
current_fla_pct | % | Max phase current / FLC × 100 |
power_kw / pf / frequency_hz | kW / — / Hz | √3·V·I·PF |
energy_kwh / running_hours | kWh / h | Monotonic while motor_on |
motor_on | bool | Fan / CW pump run |
vibration_mm_s | mm/s | Warn 4.5 / crit 7.1 |
flow_m3h | m³/h | ~0 when motor OFF |
basin_level_pct | % | Makeup / evaporation |
signal_rssi | dBm | Link quality |
sensor_fault | code | PT100 / 4–20 mA fault — inlet omitted (not 999) |
phase_imbalance_pct | % | Max−min phase current / avg |
motor_no_flow | 0/1 | Motor ON with ~0 flow |
latitude / longitude | ° | Fleet map |
Alarms
Profile alarm rules (self-clearing) use DYNAMIC thresholds: stage percentages of SERVER limit attributes (approach_crit_c, approach_low_c, current_high_fla_pct, inlet_high_c, vibration_crit_mm_s, basin_low_pct, maintenance_interval_hours, …) seeded per Sample device. Cover high/low approach, motor overcurrent (FLA %), high inlet, range high/low, vibration, voltage band, low basin, sensor fault, phase imbalance, motor-no-flow, maintenance hours, and offline (NO_UPDATE on signal_rssi).
Low approach and low range use suppressWhen motor_on is_false so they only raise while the motor is running (stopped towers publish range_c = 0). While sensor_fault is active (PT100 open), inlet is omitted from the payload and inlet-high / range-high are suppressed so averages stay clean and the demo shows a clean sensor-fault raise/clear. Energy kWh and running hours are monotonic across Sample restarts. Customer B CT-2 periodically runs a few minutes above 90% FLA so the overcurrent alarm can be shown live.
Sample attaches rule engine Cooling Tower Alarms (throttled email notify for every VALUE alarm) to the Cooling Tower demo profile. Use copies that engine — attach it to your Cooling Tower profile when you want chain-side notify in addition to profile alarms; do not duplicate the same threshold on both without reason.
Dashboard states
| State | Contents |
|---|---|
| Fleet home | Active / inactive / all counts → list states; alarm summary + table; map; SCADA mimic; service due |
| List states | Device table → tower detail |
| Tower detail | SCADA (fan spins on motor_on, basin level), gauges (inlet/outlet/range/approach), motor electrics, vibration / flow / energy / hours trends, device alarms, service due |
Customer tenants see the same states scoped to their devices after Use + binding.
Reports
Sample On creates daily and monthly tower-performance reports (approach_c, range_c, energy_kwh, running_hours) plus daily/monthly alarm-count schedules. After Use, create your own (or clone the pattern):
- Schedule daily or monthly
- Aggregation avg (temps) / leave raw or sum for counters as required
- Format CSV (download or email). PDF: print the CSV/report view or use your document tool — the Reports module ships CSV.
Connectivity
P2 edge gateway Modbus TCP / RTU to VFD + instruments · P3 plant Ethernet · P1 4G DTU for remote sites · P4 OEM cloud if the tower controller already publishes MQTT.
Seed
bash
node backend/scripts/_seed-cooling-tower-fleet-solution.cjs