How a tuning session goes
Start to finish on a loop that behaves. The unhappy paths – noisy data, a loop that will not fit, a controller that will not take the write – are the ones the program spends its effort on, because the happy path barely needs a tool.
1. Connect or load
Point Flintloop at the loop (Modbus, OPC UA, ASCII) or load a capture you already have. For a live link it watches PV and OUT and waits; for a capture it asks which column is which and where the step is.
2. Make a step
Put the loop in manual and move the output a known amount, or let the program bump the setpoint if you have told it that is safe. Keep the move small enough to stay in the linear region and large enough to clear the noise – Flintloop shows the measured noise band so you can judge it.
3. Read the fit
When the response settles, a FOPDT model is fitted and drawn over the data with the residual as a percentage. If the curve does not lie on the data, stop: the loop is nonlinear, integrating, or still moving, and gains from a bad fit will be worse than what you have.
4. Choose a rule and a target
Pick lambda/IMC and dial the closed-loop time constant, or the damped rule for a calmer response. Flintloop computes gains and immediately shows the gain and phase margin against your target of 2.0 and 45° by default.
5. Write back and verify
Flintloop maps each gain to a register or node in the controller's own convention, shows exactly what it will send, writes it, and reads it back. A value that did not take is reported, not assumed. On a read-only target you copy the three numbers in by hand.