если позволяет стойка то
стандартный цикл обмера в теории примерно такой: 1-й замер на быстрой скорости, 2-й замер на медленной скорости, если разница между первым и вторым замером больше какой-то критической (например 0.2мм) то стоп и выдавать ошибку, что замер кривой или преждевременной срабатывание.
у меня сделано даже сложнее. центроискатель висит на лапе на зет и тоже срабатывает при фрезеровке и резких рывках. стоит лазерный датчик расстояния, которым измеряется расстояние до заготовки с точностью 0,3-0,5мм, далее запоминиается высота и G31 до заготовки + 5мм на огромной скорости. проверяется пройденная высота, если вдруг не совпадает с заданой, значит датчик сработал где-то по пути - ошибка. далее по предыдущему алгоритму, 2 замера на большой скорости 5мм и на медленной 0.5мм и сравнение значений. система работает стабильно уже довольно давно, скорость замера 3-4 сек.
иногда вылазит неприятный баг на беспроводном центроискателе, точнее вылазит всегда, главное о нём помить) если вдруг кончился заряд, его можно использовать как проводной, но вот когда он подзарядился и вытащить провод, то зелёный светодиод продолжает гореть, как буд-то всё работает но по факту он не работает и на касания не реагирует