Как задать отрицательную логику входа и фильтр в PMP20?
Логика каждого входа задаётся отдельным системным flash-регистром: диапазон с SFD138 по SFD201 описывает признак входа для точек от I00 до I77. Значение 0 означает положительную логику, любое другое — отрицательную.
Что даёт инверсия на уровне контроллера. Нормально замкнутый контакт в программе перестаёт требовать инверсии в каждой цепи: вход объявляется отрицательным один раз, и дальше логика читается прямо. Это особенно удобно с цепями безопасности, где почти все контакты нормально замкнуты, и с датчиками, у которых нужный режим выхода недоступен.
Обратная сторона — расхождение между схемой и программой. Инвертированный вход выглядит в мониторе включённым при разомкнутом контакте, и наладчик, не знающий про настройку, потратит время. Поэтому инверсию либо применяют системно для всей группы сигналов, либо не применяют вовсе.
Рядом лежит вторая настройка входов — время фильтрации входных импульсов в регистре SFD0. Фильтр подавляет дребезг контактов и наводки, но той же величиной ограничивает минимальную длительность сигнала, который контроллер вообще заметит. Увеличивать его имеет смысл при работе с механическими контактами в помехонасыщенной среде, уменьшать — при работе с быстрыми датчиками.
Важное ограничение: короткие импульсы фильтром не поймать в принципе. Для сигналов с частотой выше 25 Гц руководство прямо отправляет к высокоскоростному счётчику, а для реакции быстрее цикла сканирования — к входам внешних прерываний.
Обе настройки — системные flash-регистры и вступают в силу только после выключения и включения питания контроллера.
Прикреплённая документация
Георгий Жуков
Ведущий инженер