Не обошлось в этой теме без упоминания о дребезге контактов. Я право не знаю, решали ли проблему дребезга на программном уровне на самом контроллере. Алгоритм сканирования по входу не сильно сложный: опрос состояния потенциала на входе ожидание на входе "1", возврат если "0", ожидание "0" если "1", передача управление и возврат. Время опроса по "0" и по "1" зависит количества циклов в программе на выполнение сканирования и тактовой частоты контроллера. На аппаратном уровне имеются
пример использования "RC" цепочки, которая устраняет помеху вызванную дребезгом контактов, вводя задержку импульсных сигналов.
При недостаточной длительности и амплитуде импульсов, конденсатор просто не успевает зарядиться и соответственно электронный ключ реализованный на оптической развязки или транзисторах и т.п., просто не сработает из-за недостаточного для открытия на ключе напряжения срабатывания
Все это конечно вводит определенные коррективы в работу станка, я о времени задержки на выполнение команды с момента срабатывания датчика до поступления импульсного сигнала на вход котроллера. Иногда приходится чем то жертвовать.
В готовом индуктивном датчике, схема с ключом реализована в самом корпусе датчика и стоит заметить, что основная часть действующих в индуктивных датчиках реализована на схемах с генераторами импульсов, что в значительной мере улучшает чувствительность и избирательность датчика. Полностью разбирать схему индуктивного датчика пока не станем, просто верим на слово. Для некоторых объясню, что длительность импульсов помехи при дребезге контактов столь низка и при небольших потенциалах радиоэлементов "RC" цепочек задержка полезного сигнала может составлять миллисекунды а то и меньше, что сильно не повлияет на работу станка.
Рассмотренные выше примеры в настоящем комментарии справедливы для работы датчика по положительному потенциалу, то есть при замыкании контактов. Более надежны относительно помехи от дребезга датчики с разрывом контактов, но лучше конечно на выходе датчика при таком решении ставить электронный ключ только по одной простой причине, что вход контроллера может понять обрыв провода или пропажу контакта на разъеме, что часто бывает как остановку по команде датчика, а не как аварию. И мало того, вход остается без потенциала в воздухе. Этот факт может стать причиной остановки в работе станка. В промышленном оборудовании принято подавать на вход контроллеров отрицательный потенциал. имеется в виду "Корпус", "Общий провод". То есть в данном случае мы замыкаем отрицательную шину питания со входом. Провод у нас не висит в воздухе (на котором имеется потенциал от самого контроллера и тем самым восприимчивый к любым наводкам как антенна) а сидит четко на минусе. В данном случае возможно на аппаратном уровне собрать схему аварийной сигнализации при обрыве провода или поломки датчика. При плохой облужке проводов припаиваемых к выводам датчиков или разъемов может сохраняться окисленная пленка на проводнике. Зачастую бывает сложно проверить наличие контактов с помощью тестора. То есть при постоянном потенциале место пайки может прозваниваться, а импульсный сигнал может не проходить. ( к сведению: Зачастую окисление контактов под пайкой являются причиной выхода из строя импульсных источников питания)
Хочу также предложить еще одно решение связанное с инверсией сигналов от датчиков. На схеме в качестве электронного ключа - "Триггер Шмитта". Данное схемное решение также может пригодиться в отдельных случаях