The problem
Tuning PID control loops in a plant traditionally means proprietary software: Windows-only, licensed per seat, often tied to a hardware dongle, and locked to one vendor’s control system. The tuning data it produces is frequently trapped in a format only that tool can read.
What we built
bhtune is a Cargo workspace of small, single-purpose crates. The core tuning engine — a Modified Relay Feedback Test state machine and the tuning mathematics — is pure logic with no I/O and no clock reads, which makes it deterministic and fully replayable under test.
The backend layer abstracts tag I/O behind a trait, with implementations for OPC DA, an in-process process simulator, and a golden-trace replay backend used for regression validation. One binary serves both a scriptable CLI and an embedded React web GUI on the same engine.
Where it stands
Every run — samples, results, and calculated constants — lands in a plain SQLite database with no encryption or licence gating. Tuned constants are written back to live equipment only after explicit confirmation, with a rollback path. Every dependency is open source, enforced in CI with cargo deny.
bhtune targets Yokogawa CentumVP, Honeywell Experion, Schneider Modicon, and Allen-Bradley PlantPAx, with more addable through templates.