Trains at a glance
Plant conditions (14 days)
Everything that needs attention right now, in one place - assembled from the same authenticated data every other page reads. An empty tier means exactly that; nothing is hidden to keep the page green.
Every column the collector delivers, in the plant's process order (raw water → pretreatment → UF → SWRO → BWRO → post-treatment → product → chemicals → CIP), with its meaning, unit, block, and the newest valid value exactly as served with its own timestamp. Columns that are the product's mapped signals carry their role and the plant-level freshness verdict. Nothing is hidden: a planned column the data lacks is listed as missing; a column the plan does not know is listed as unplanned. The engineering view adds type, formula and caveats.
Newest valid reading of every mapped signal, exactly as collected from the plant (OPC UA subscription or historian export on the collector box). Each value carries its own timestamp - the page never invents liveness the data does not have.
Every operator-adjustable PLC setpoint on this site, from the control design document: the design value, the last scanned actual PLC value (scan date shown), limits, and the control-logic note. Where the advisory engine has a defensible recommendation it appears in the last column - every other knob honestly shows none.
Every membrane stage on this site, in process order. A stage with no mapped instruments is not shown at all rather than shown empty.
UF · pre-treatment
SWRO · first pass
BWRO · second pass
Second-pass (brackish) RO monitoring: newest values and 14-day trends for each unit, straight from the mapped instruments. Health indexing for BWRO is on the roadmap - this page shows measurements, and says so.
Running hours per machine from its own drive signal. Hours are EXACT only with a declared HMI baseline AND a gap-free record; otherwise they are a FLOOR - time before the record and during any telemetry gap is unknown, not zero, so a baselined unit with gaps is still a floor. Maintenance intervals come from the manufacturer's manual with a citation - machines with no registered items show hours only, never a guessed schedule.
Dual gate per train
Cleaning history
A withheld advisory is the product working: the reason names exactly what the data could not support.
L4 joint allocation: certify every train from the live record, then split the demanded water across trains at the cheapest feasible operating points - under the declared contract and equipment envelopes. Read-only decision support: the result is a proposal for the operator, never a command to the plant.
Chemical dosing monitor: tank levels, dosing-pump status and product-water pH, straight from the mapped instruments. Values carry their own timestamp; a low tank or an out-of-band pH is flagged, nothing is smoothed.
Chemical tank levels
Dosing pumps
Product-water pH
Every number on this dashboard has a stated method behind it. This page is the audit trail for a technical reviewer: what each index is, where its formula comes from, and what the product refuses to compute.