Интересует программа для ПР200, которая бы позволяла измерять частоту вращения асинхронного двигателя до 3000 об./мин с разрешением 1 об./мин.
К ПР подключаем индуктивный датчик, на вал электродвигателя крепим железку с 20 выступами. Получаем на один оборот 20 импульсов. Тогда за 2 секунды при 3000 об./мин получаем 1000 импульсов (частотой 500 Гц) с длительностью 2 мс (минимальная длительность импульса, воспринимаемая дискретным входом ПР200). В этом случае дискретность по скорости составит 3 об./мин. Для повышения точности в установившемся режиме используем данные последних трех измерений количества импульсов, т.е. их число за 6 с. В результате получим необходимую точность 1 об./мин.

В ПЛК понятно, настроил вход в режим счетчика и фиксируй количество импульсов за период цикла.
А вот с ПР не ясно, как привязаться ко времени цикла выполнения программы. Оно вообще принудительно не устанавливается?! На сколько я понял данное время не фиксировано и зависит от сложности программы, но не меньше 1 мс.
Как реализовать требуемый функционал в ПР?
Применить обратный подход - измерять время, за которое будет достигнуто требуемое количество импульсов, пусть те же 1000 шт., с ограничением по времени в 2 с?