Setpoint jump detector

Stop the axes when a setpoint jumps further in one cycle than any real motion would.

The setpoint jump detector catches a setpoint that jumps, for example a wrong target or a link that suddenly delivers another value. It watches how far the axis setpoint moves in one cycle, before and after the limiter, and takes the larger of the two.

It works on all axes at once, so it does not use windowDetectorsEnable: each axis has its own detector at root/AxesControl/axesSetpointJumpDetectors/windowDetectorNN.

What Details
Unit rad or m per cycle
At low or high Warning WA_SETPOINT_JUMP (210)
At tooLow or tooHigh The axes make a smooth stop and the application forces a disengage, FD_SETPOINT_JUMP (309)
Paused While the axis runs open loop, for example while it is referenced
Standard robot configuration Enabled; low, high at -0.02, 0.02; tooLow, tooHigh at -0.05, 0.05

To choose the levels, work out the largest step a real move makes: the highest velocity times the cycle time. Set high a little above it and tooHigh well above it, and the negative levels the same.