и все же, какая максимальная частота измеряется с помощью дискретного входа плк и подмодуля счетчик? у нас расхождение с показаниями генератора начинается с 3кгц. а в документации написано до 10кгц со скважностью 50%. подключение выполнено с помощью оптронной развязки. может есть ли ограничения на частоту работы оптронных развязок?
для 10 кгц должно выполнятся условия - полный размах сигнала и скважность 1. дополнительная развязка ухудшает характеристики.
к тому же указана максимальная частота, работать на ней нельзя, она приводится для оценки запаса по частоте. он, для нормального функционирования (в зависимости от задачи) должен быть от 2 до 3 раз.
и как вы выставили настройки фильтрации? по прерыванию? иначе максимальная скорость не будет достигнута.
P.s. 10 кгц - частота семплирования - соответственно частота генератора сигнала в 2 раза меньше.
настройки фильтрации стоят в -1. как выставить "по прерыванию"? потом о каком размахе идет речь? там работает на замыкание-размыкание дискретный вход, если я что-то понимаю правильно.
замыкаете вы через оптопару? вы уверены, что оптопара позволяет передать такую частоту? если надо передавать сигнал в 10 кгц, оптопару лучше брать на 100 кгц.
а размах - в зависимости от сопротивления контакта. чем меньшн-тем лучше.
вот сигнал с осциллографа, который снят со входа плк. это 5кгц. на наш взгляд достаточно чистый сигнал. программа на плк выдает 4250 гц, при подсчете за 4 сек.
1. В качестве опорного времени берите отсчеты системного таймера, а не количество циклов. Как мы недавно выяснили, цикл ни разу не 1 мс.
2. Используйте только модуль COUNTER 16 bit - остальные могут лажать.
3. Сбрасывайте счетчик в буфер в каждом цикле.
4. Весь цикл измерения должен быть в одном блоке (если используете SFC)
Да в общем то все так и делаем.
в течении 4х секунд (по системному таймеру) накапливаем кол-во импульсов в переменную. Потом делим это число на разницу во времени между началом сбора и окончанием.
единственно, что MinCycleLength = 50