JEL Tune

Fit a process model to open-loop step test data and get PI or PID settings for Siemens PCS7, Rockwell, Emerson DeltaV, Honeywell Experion or a generic ISA controller. Your data stays in this browser window.

A session file keeps your data, fit window, model and tuning choices so you can pick up where you left off.

1Paste your step test data

Copy three columns straight from Excel or a historian export, or open a CSV file: time, controller output (OP, %), and process variable (PV). Timestamps like 07/10/2026 10:15:30 or plain seconds both work. A header row is fine.

The PV and OP ranges are required to scale the controller gain. Controllers work in % of span, so the gain is calculated as % of OP range per % of PV range. Use the transmitter's calibrated range and the controller's output range as configured in the block (usually 0–100%), not the range the data happened to cover.

Paste data above, or load the example to see how it works.

2Choose the step and fit a model

Drag across the chart to set the fit window. Include a little steady data before the step and let the PV settle afterwards. Double-click the chart to use all the data. Zoom to selection crops the chart to the fit window so you can see the step in detail; drag again inside the zoomed view to refine it.

The best fit is found automatically. To override a value, type it into its box below the chart: that ticks its Manual box, holds it fixed, and refits the values you haven't ticked around it. Untick Manual to let a value be fitted again. Up and down arrow keys nudge a value by 2% (10% with Shift).

Process type
PV (left axis)OP (right axis)Model

3Tune

Controller
Response speed

Controller settings

Standard (non-interacting) form
GAINProportional gain–
TIIntegral time–
TDDerivative time–
SetpointPV (left axis)OP move (right axis)

Simulated on the model from step 2: a setpoint step at the start, then a load disturbance halfway through. Values are relative to the size of the setpoint step.

4Check stability

The real process is never exactly the model. Valves wear, throughput changes the gain, and dead time varies with flow. This checks how far the process can drift from the model before the controller settings make the loop oscillate.

Settings to check
Gain margin
–
Phase margin
–
Delay margin
–
Peak sensitivity Ms
–
Below 2 is the usual target
Assessment
–
UnstableStability limit● Model  ○ Test point

Click or drag on the map to test a process that differs from the model.

SetpointPV, model processPV, changed processOP move (right axis)
How the numbers are worked out

Model fit. Self-regulating loops are fitted with a first-order-plus-dead-time model: process gain K, time constant τ and dead time θ. Integrating loops (most levels) are fitted as an integrator with dead time, K·e−θs/s, where K is the rate of PV change per % of OP. There is no time constant because the PV never settles. Choose "Integrating with lag" when the ramp starts with a curve rather than a sharp corner, for example from a slow valve actuator, a damped transmitter or a surge volume. That model is K·e−θs/(s(τs+1)), with τ the lag. With the plain integrating model, a lag like that is absorbed into a longer dead time. The fit simulates the model using your actual OP record, so it still works if the step wasn't perfectly clean, and it picks the parameters that minimise the squared error against the PV. You can fix any of the values by hand. The remaining ones are then refitted by the same least-squares method with your values held constant. R² shows how well the combined model matches the data, and the tuning is calculated from that model rather than the unconstrained best fit.

Units. All of these control systems scale the error by the PV range and the output by the OP range, so the controller gain is dimensionless (% of output per % of PV span). Enter the transmitter's PV range in step 1 so the gain is calculated on the same basis. Without it, the gain is in engineering units and won't be right for the controller.

PI tuning uses Skogestad's SIMC rules, with the closed-loop time constant λ as the speed setting. For self-regulating loops this is lambda tuning (Kc = τ / K(λ+θ)), except that the integral time is capped at 4(λ+θ) so slow, lag-dominant loops still reject disturbances. For integrating loops, Kc = 1 / K(λ+θ) and TI = 4(λ+θ). For integrating with lag, PI uses the same rule with half the lag added to the dead time (Skogestad's half rule). "Tight" sets λ equal to the (effective) dead time, which SIMC recommends as a fast but robust choice. "Moderate" and "Smooth" double and quadruple it.

PID tuning uses the IMC rules of Rivera, Morari and Skogestad for a first-order-plus-dead-time model. For integrating with lag it uses SIMC in series form: Kc′ = 1 / K(λ+θ), Ti′ = 4(λ+θ) and Td′ = τ, so the derivative cancels the lag. These are then converted to the chosen controller's form. Derivative action only helps much when the dead time or lag is a large share of the response. Plain integrating loops are limited to PI. The simulation applies derivative to the PV through each platform's usual derivative filter.

Controller forms. The tuning is calculated in the ideal (standard, non-interacting) form, output = Kc × (e + 1/Ti ∫e dt + Td de/dt), then converted to the form and units of the chosen control system. Series (interacting) form, output = Kc′(1 + 1/(Ti′s))(1 + Td′s), uses Kc′ = Kc(1+r)/2, Ti′ = Ti(1+r)/2 and Td′ = Ti(1−r)/2, where r = √(1 − 4Td/Ti). It only exists when Ti is at least 4Td, which the IMC PID rules always satisfy. Parallel (independent) form uses Kp = Kc, Ki = Kc/Ti and Kd = Kc·Td. For PI control all three forms give the same numbers apart from units. Times are converted to minutes where the platform uses minutes: Rockwell dependent gains, the PIDE DGain, and Honeywell T1 and T2.

Platform notes. PCS7 APL PIDConL uses the standard form with TI and TD in seconds; its derivative lag is TD ÷ DiffGain (default 5). DeltaV offers Standard and Series forms (check the block's FORM parameter, Series being the usual default), with RESET in seconds per repeat and RATE in seconds. Honeywell's PID has traditionally been interactive, with T1 in minutes per repeat and T2 in minutes; equation A, B or C only changes which terms act on PV, not these values. Rockwell PIDE and the Logix PID instruction each offer dependent (ISA) and independent gains. The derivative filter assumed in the stability check follows each platform's usual default: TD/5 for PCS7 and TD/10 for the others. Always confirm against the block's own help for your firmware version.

Stability check. The loop's frequency response is calculated from the controller settings and the model, including the derivative filter. Gain margin is how many times the process gain could multiply before the loop oscillates continuously. Phase margin and delay margin show the same limit in terms of phase and extra dead time. Ms is the peak of the sensitivity function: it combines both margins into one number and also tells you how much the loop amplifies disturbances near its natural frequency. As rough guides, a gain margin above 2, a phase margin above 45° and an Ms below 1.7 are comfortable for process loops; Ms above 2 is aggressive.

Robustness map. Each point is a hypothetical process with the gain and dead time multiplied by the amounts on the axes. The time constant is held at the model value. The shaded area is where these settings would make the loop unstable. The model sits at 1, 1; its distance from the line is the safety margin. Dead time usually varies more than people expect, so look at how far right you can go.

Checking current settings. Enter the settings exactly as they appear on the controller, in the control system and form chosen in step 3. They're converted back to the ideal form for the analysis. The gain's sign is taken to match the process direction, which assumes the block's direct/reverse action is already set correctly. Everything is judged against the model, so it is only as good as the step test.

Controller cycle time. Every control system runs its PID at a fixed interval: a cyclic interrupt OB in PCS7, the module scan in DeltaV, the task period in Logix. Sampling adds roughly half a cycle of effective dead time, which matters for fast loops such as flow. Enter the cycle time to include it in the stability check and test responses. It isn't included in step 3.

Direction. The sign of the process gain decides the controller action. A negative process gain (PV falls when OP rises) needs the opposite action to a positive one. Check how your block sets direct or reverse action before entering the gain.