Sandvik Coromant · real-time UI

Comparing a cut with a good one, while it happens

A live view that streams machining data against a known-good reference curve, so an operator sees a deviation during the cut instead of in the report afterwards.

now ring buffer live vs reference reference continues

The problem

Operators could compare a cut against a known-good reference, but only after it had finished. By then the part was already made.

The hard part was time

Streaming the data was easy. Lining two clocks up was not: the live stream and the recorded reference drift apart, start at slightly different moments, and arrive in bursts.

  • A C# circular buffer holds the live window. I wrote unit tests first, mainly to understand exactly how it behaved at the wrap-around.
  • I tried pull-based collection, measured it, and went back to push-based.
  • Timestamp alignment and drift compensation came from drawing debugging grids over both signals until the misalignment was visible.
  • Pan and zoom on mouse and touch, pause and resume, and audio and visual cues so an operator doesn't have to stare at the screen.

Where it went

It shipped as a beta feature, gained live tiles from the fault detector, and was later merged with the replay view into one shared time-series module, which meant breaking a very large canvas class into parts that could be tested on their own.