Home / DC Solutions / Technical Manuals / Chiller Plant

Technical Manual · Cooling Plant

Chiller Plant — P&ID Methodology & Engineering Basis

Full engineering methodology for the chiller-plant SCADA HMI: ISA P&ID symbol conventions, primary/secondary chilled-water loop design, lead-lag chiller sequencing, CHW flow derivation, and the display/status engine anchored to js/conv-engine.js. This is an honest account — the page is a partial-calc display engine, not a full thermo-hydraulic simulation.

Engine conv-engine.js v1.0.0 Basis ISA 5.1 / ASHRAE 90.4 CHW Basis 7.2 / 14.8 °C Plant Config 2/3 Lead-Lag
▶ Open the live Chiller Plant HMI

01 Purpose & engineering basis

The chiller-plant page is an operator-grade SCADA HMI mimic — an ISA-style P&ID rendered in the browser. Its job is to show plant topology (primary/secondary loops, chiller train positions, pump duty/standby), real-time status (run/fault, lead-lag state, flow animation), and setpoint annotations (CHWS supply temperature, differential-pressure setpoints, N+1 headroom).

What the page is not: it is not a thermo-hydraulic simulator. Equipment-level values (pump speed %, valve %, per-loop flow splits) are display/status fields from the conv-engine CHW basis, not back-calculated from independent hydraulic models. The one heavy derivation is total plant CHW flow, which is computed from the IT load and the canonical delta-T — all other displayed numbers are consistent descendants of that single basis.

Governing standard for P&ID symbology is ISA 5.1 Instrumentation Symbols and Identification. Chiller envelope is bounded by ASHRAE 90.4 / ASHRAE TC9.9 recommended CHW supply range 6–9 °C. Single-source engineering basis is locked in js/conv-engine.js (see §3 below).

02 Inputs — mode toggles & locked CHW basis

The page has no free-form calculator inputs. Instead it exposes mode toggles and reads a locked CHW basis from conv-engine.js. All displayed numbers descend deterministically from these inputs — no random values, no per-page hardcoded constants that contradict the basis.

Input / ToggleValue / RangeTypeNotes
CHWS temperature7.2 °CLocked basisPrimary chilled-water supply. Conv-engine MODEL.cooling.chws_c. Source: doc-09 line 15.
CHWR temperature14.8 °CLocked basisPrimary chilled-water return. Conv-engine MODEL.cooling.chwr_c. Source: doc-09 line 15.
IT load1,850 kWLocked basisSite IT load from MODEL.site.it_load_kw. Cooling-kW term in flow equation.
Secondary loop SP18.8 °CLocked basisRule 5: this is the secondary (condenser-side) loop setpoint — NEVER labelled "CHWS SP". See §3 terminology note.
Lead-lag modeAUTO / MANUALMode toggleAUTO: engine picks lead chiller by run-hours. MANUAL: operator selects.
View detail levelOVERVIEW / DETAIL / ENGINEERINGMode toggleControls label density on the P&ID. OVERVIEW shows only major status; ENGINEERING reveals all sensor annotations.
Chillers running / installed2 / 3Locked basisFrom MODEL.cooling.chillers_running / chillers_total. Determines N+1 headroom display.
Terminology Rule 5: 18.8 °C is the secondary loop setpoint (condenser-water / warm-water side), not the CHWS setpoint. The CHWS setpoint is 7.0–7.2 °C. Mislabelling 18.8 °C as "CHWS SP" was the original doc-04 engineering conflict — do not reintroduce it. Any label on the P&ID for this value must read "Secondary Loop SP" or "CW Supply SP" depending on the loop segment shown.

03 Calculation methodology

Three real derivations power the page: CHW delta-T, total plant CHW flow, and chiller input power. Everything else is status/display logic driven by those three numbers. Function names map one-to-one to js/conv-engine.js.

CHW delta-T

ΔT = CHWR − CHWS = 14.8 − 7.2 = 7.6 K In chwDeltaT(m). Source: MODEL.cooling.chwr_c − MODEL.cooling.chws_c. Anchors every flow and heat-transfer calculation on this page.conv-engine.js · doc-09 line 83

Total plant CHW flow

Q̇ = IT_load / (c_p × ΔT) Q̇ = 1850 / (4.186 × 7.6) = 58.1 L/s In chwFlowLps(m). c_p = 4.186 kJ/(kg·K) for water. The IT load (1,850 kW) is the cooling-kW term — per doc-09 worked example (line 84). heat-rejection including UPS losses (~1,927 kW) is also exposed for N+1 headroom checks but is NOT the canonical flow-derivation term.conv-engine.js · doc-09 lines 81–85

Per-loop flow split

Flow_per_loop = Q̇_total / n_loops Example (4 loops): 58.1 / 4 = 14.5 L/s per loop Display-only derivation — the page shows even split as the nominal state. Real plants balance by valve position and pump speed; those per-loop values are status annotations, not calculated from a hydraulic model.doc-09 lines 86–93 · doc-04 §Cooling Calculation

Chiller input power (kW/ton sanity check)

P_chiller = Q̇_cooling / COP At COP 4.5: 1850 / 4.5 = 411 kW compressor input kW/ton = 3.517 / COP = 3.517 / 4.5 = 0.78 kW/ton Used for the Plant Capacity Panel "Plant kW/ton" KPI. COP 4.5 is the ASHRAE 90.4 benchmark reference for the operating conditions shown. Actual COP varies with condenser water temperature and part-load ratio; this is a steady-state display benchmark, not a live transient calculation.ASHRAE 90.4 · doc-09 lines 39–45

Lead-lag sequencing logic

Lead chiller: lowest cumulative run-hours (auto mode) Lag start: CHWS actual > CHWS SP + 0.5 K for t > 120 s Lag stop: Q̇_demand < 0.60 × Q̇_lead_rated for t > 300 s These thresholds are illustrative display-engine constants — the page animates the state machine. A real chiller plant controller would implement these in the PLC/DCS ladder; the HMI only reads back the RUN/STANDBY status bits.doc-04 §Lead-Lag · ASHRAE TC9.9 Table 3

N+1 cooling headroom

Available capacity = chillers_running × Q̇_rated_per_chiller N+1 margin = available − Q̇_demand Example (2×1200 kW running, demand 1850 kW): 2400 − 1850 = 550 kW headroom Display KPI for the Plant Capacity Panel. N+1 is satisfied when available > demand AND at least one chiller is in standby. Margin below 200 kW triggers a WARN colour transition (amber) on the panel; negative = ALARM (fault-red).doc-04 §Plant Capacity Panel

04 ISA P&ID symbol conventions

The HMI follows ISA 5.1 tagging and symbol conventions. Equipment tags visible on the page map to the table below. Alarm colour hierarchy is strictly enforced — see the note on colour discipline.

ISA Tag PrefixInstrument TypeDisplay LocationExample Tag
TTTemperature TransmitterCHWS/CHWR headers, loop supply/returnTT-101 CHWS header
FTFlow TransmitterPrimary header, per-loop risersFT-201 primary header
PTPressure TransmitterPump discharge/suction, differential across coilPT-301 pump-A discharge
DPDifferential PressureAcross strainer, across chiller bundleDPT-401 strainer
MVMotor-operated ValveChiller isolation, bypassMV-501 chiller-1 isolation
CVControl ValveBypass, secondary-loop modulatingCV-601 DP bypass
PPumpPrimary CHW pumps, condenser water pumpsP-701A/B duty/standby
CHChillerChiller train blocksCH-1/CH-2/CH-3 lead/lag/standby
Alarm colour hierarchy (non-negotiable): Normal flow animation uses muted teal (#5da095 / --chwr). Standby equipment uses neutral grey (--ok). Warning conditions (N+1 margin low, pump near-trip) use signal amber (--warn). Fault/trip/alarm conditions use fault-red (--alarm). Instrument-cyan (--mn-accent) is reserved for page chrome only and must NEVER appear on a flow line or equipment symbol that can carry an alarm state — it would erase the alarm's visual signal. This is the same rule that governs all 34 manual pages.

05 Primary / secondary loop architecture

The chiller plant uses a decoupled primary/secondary (P/S) design. The primary loop circulates through the chiller bundles at a constant low flow; the secondary loop modulates to match the data-hall cooling demand. A hydraulic decoupling bridge (bypass header) absorbs any flow mismatch.

ParameterPrimary LoopSecondary Loop
Supply temperature7.2 °C (CHWS)7.2 °C at coil inlet (same water, decoupled flow)
Return temperature14.8 °C (CHWR)14.8 °C at coil outlet (same ΔT at design load)
Flow regimeConstant-flow (primary pumps run at fixed speed)Variable-flow (VFD pumps track DP setpoint)
DP setpointN/A (constant speed)Secondary pump DP SP (operator-configurable)
Bypass / decouplerShared — absorbs primary/secondary flow mismatchShared — bypass flow direction reverses under low-load
Pump tagsP-701A/B (duty/standby)P-801A/B (VFD, duty/standby)
HMI animationMuted teal flow arrows, constant velocityFlow arrow velocity scales with VFD speed display
Secondary loop SP (18.8 °C — Rule 5): The 18.8 °C setpoint visible on older versions of the page referred to a secondary (warm-water or condenser-water) circuit that was NOT the primary CHW loop. Per the doc-04 conflict resolution, this value is retained as the Secondary Loop SP annotation only — it is never labelled CHWS SP, which must remain 7.0–7.2 °C. If 18.8 °C does not appear on the visible HMI in the current build, that is intentional (it belongs to a condenser-water annotation that may not be rendered in the default view layer).

06 Worked example — 58.1 L/s derivation

This is the canonical CHW flow derivation that the page's Plant Capacity Panel and flow annotations are anchored to. Numbers reproduce conv-engine.js output exactly.

  1. CHW delta-T: ΔT = CHWR − CHWS = 14.8 − 7.2 = 7.6 K
  2. Cooling-kW term: IT load = 1,850 kW (canonical basis, MODEL.site.it_load_kw)
  3. CHW flow: Q̇ = 1850 / (4.186 × 7.6) = 1850 / 31.81 = 58.1 L/s
  4. Per-loop average (4 loops): 58.1 / 4 = 14.5 L/s per loop — consistent with the ~17–19 L/s per-loop readings at near-design load shown on-screen
  5. Available plant capacity (2 chillers × 1,200 kW rated): 2,400 kW
  6. N+1 cooling headroom: 2,400 − 1,850 = 550 kW → displayed as green on the Plant Capacity Panel
  7. Chiller compressor input (COP 4.5 reference): 1,850 / 4.5 = 411 kW → Plant kW/ton = 3.517 / 4.5 = 0.78 kW/ton
Honesty note: Steps 4–7 are display benchmarks derived from the locked basis, not measured or simulated from independent hydraulic/thermodynamic models. The page's purpose is SCADA HMI visualisation — the genuine engineering rigour is in the CHW basis derivation (steps 1–3) and the N+1 headroom logic. Equipment-level annotations (pump speed, valve %, VFD current) are display-only status fields.

07 References & standards

08 Assumptions & limitations

The HMI assumes a well-balanced, decoupled primary/secondary plant operating at steady-state design load. Transient effects (chiller pull-down time, pump start-up inrush, glycol correction to c_p) are not modelled. COP 4.5 is a reference benchmark — actual COP depends on condenser water temperature, part-load ratio, and compressor staging; the live HMI does not update COP from a transient model.

Flow-velocity animation on the P&ID is a visual cue proportional to the displayed flow value; it is not derived from a hydraulic resistance network. Pipe diameters and friction factors are not modelled. Equipment-level display values (valve %, VFD speed %, run hours) are status-field annotations consistent with the engineering basis — they are not back-calculated from independent models and must be treated as illustrative display parameters in any off-page engineering analysis.

This page and its methodology are an engineering education and visualisation aid. Final plant design, setpoint commissioning, and N+1 validation must be performed by qualified mechanical/controls engineers against the actual installed equipment and as-built P&IDs.

▶ Open the live Chiller Plant HMI