Watching live values only gets you so far. In CODESYS, you can set a breakpoint on a line and the controller halts there, mid-scan. You can then single-step the logic and inspect every variable, as you would in a software debugger. Click in the gutter to set a breakpoint, then step through this fill-control routine.
Click a line's gutter to set a breakpoint (red dot). Press ▶ Run to BP to halt execution on that line. The controller is paused, so you can ⏭ Step through the routine and watch the variables on the right change as each statement runs.
⚠️ Breakpoints halt the real controller. They are fine on a test bench but dangerous on live machinery, where the halted task stops updating its outputs. What the outputs do then depends on the device and fieldbus; on many systems they hold their last state while the machine keeps moving. On running plant, use the non-intrusive Trace recorder instead: it samples chosen variables at the task rate and plots them like a scope, without ever stopping the scan.
👁️ Inline monitoring shows live values beside the code and variables while you are online. Use it for routine monitoring.
🔴 Breakpoints & stepping let you halt on a line, step into, over or out of a call, and inspect the call stack. Use these on the test bench.
📈 Trace samples variables at the task rate and plots them. You can capture a glitch too fast to see without stopping the controller.
✊ Write & force let you prepare a value and write it once, or force it to stay set. The device log also records events and errors.
A line is in production and you must capture a fast intermittent glitch without stopping it. Which tool?