Power generation and water treatment

The one we actually ran, on a laboratory testbed nobody built for us

A GE steam turbine, an Emerson boiler and a FESTO water treatment train through a hardware-in-the-loop simulator. 86 tags called P1_FCV01D and P4_HT_PO, and a 50 page manual.

BOILEREmersonSTEAM TURBINEGEGENERATORpower outputHEAT EXCHoutlet pressureWATER TRAINFESTO, pumps A/BHIL SIMdSPACE86 tags named P1_FCV01D, P1_PIT01_HH, P4_HT_POmeanings in a 50 page manual and nowhere else

The HAI testbed: a laboratory boiler, turbine and water treatment train under real industrial controllers, with 86 tags whose meanings live only in a 50 page manual.

What actually goes wrong

This is the only story on the site where the plant is real and we did not build it. The HAI testbed combines a GE steam turbine, an Emerson boiler and a FESTO water treatment train through a hardware-in-the-loop simulator, and the National Security Research Institute published it so that people could test detection methods against it.

We used it for something else: to find out what our compiler does when it meets a plant nobody wrote it for. The answer, with no connector, is nothing at all. It refused all 86 tags. That is the correct behaviour and it is also the number to carry into any conversation that starts with the phrase out of the box.

A connector for that site is about ninety lines: a pattern for the tag shape, a table of what the device letters mean there, and the words its manual uses. Written by reading the manual, in an afternoon. With it, and with the manual treated as the site's paperwork, the compiler places 31 of 86 tags and gets 98% of the quantities right, scored against the units the manual states rather than the text it read.

What it looks like in the data

A real measurement from the laboratory testbed, after the compiler worked out what the tag was.

P1_PIT01 · pressureP1_PIT01day 1day 141.013 to 1.269 barg

heat-exchanger outlet pressure, as the compiler decoded it

How far we have got

the label on this story

measured

Public data, CC BY-SA, reproducible from two curl commands. A testbed is tidier than a works running since 1968, and a CSV is not a live connection.

read next

The numbers, including the ones that missed

The full run, the caveats and the two curl commands that reproduce it are in the repository, in REAL_PLANT_REPORT.md.