PDA

Просмотр полной версии : ПР200 + датчик = тахометр



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

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

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


Это один способ. А можно железку с одним выступом и мерять время между импульсами.

Павел Братковский
06.11.2015, 05:50
Тогда за 2 секунды при 3000 об./мин получаем 1000 импульсов (частотой 500 Гц) с длительностью 2 мс (минимальная длительность импульса, воспринимаемая дискретным входом ПР200)

здесь надо экспериментировать, про результаты напишите....макрос частотомер примените, на форуме куча была, если надо могу скинуть..

sea
06.11.2015, 12:39
Это один способ. А можно железку с одним выступом и мерять время между импульсами.

Можно. Тогда получим при 3000 об./мин должно быть время между сигналами на входе 20 мс. Я так понимаю дискретность измерения по времени будет равна периоду цикла. Пусть будет минимальное время 1 мс. Тогда +/- 1 мс будет давать разрешение около 143 об./мин = 3000-1/((20+1)/1000)*60. А хочется точнее 1 об./мин при скоростях 3000 об./мин (максимум 5 об./мин, но пока стремимся к идеалу).
Все упирается в точность измерений.

sea
06.11.2015, 12:40
здесь надо экспериментировать, про результаты напишите....макрос частотомер примените, на форуме куча была, если надо могу скинуть..

Гляну, уже скачивал, кажется.

Мордорец
06.11.2015, 12:53
Можно. Тогда получим при 3000 об./мин должно быть время между сигналами на входе 20 мс. Я так понимаю дискретность измерения по времени будет равна периоду цикла. Пусть будет минимальное время 1 мс. Тогда +/- 1 мс будет давать разрешение около 143 об./мин = 3000-1/((20+1)/1000)*60. А хочется точнее 1 об./мин при скоростях 3000 об./мин (максимум 5 об./мин, но пока стремимся к идеалу).
Все упирается в точность измерений.
20 мс это за один оборот. А если это будет не один оборот, а суммарное время за n оборотов?
А еще можно вообще посчитать количество импульсов за минуту и получить необходимый результат с высокой точностью.
Тут еще вопрос насколько Вам быстро нужно измерять. Сокращаете время измерения теряете точность, повышаете точность теряете скорость работы системы. Компромисс где то посередине.

sea
06.11.2015, 12:59
Есть способ сконфигурировать вход ПР в режим счетчика импульсов?
Как определить время цикла выполнения программы в ПР без наличия самого "железа"?

rwg
06.11.2015, 13:02
Фильтруйте количество пришедших за цикл работы ПР импульсов (время цикла =1 мс, частота следования импульсов не более 500 Гц, на вход за цикл может прийти 0 или 1 импульс). Подбором параметров фильтра (частота среза и порядок) можете добиться любой (в разумных пределах) стабильности показаний при постоянной скорости вращения и почти любой (в ещё более разумных пределах) скорости перестройки показаний при изменении частоты вращения.

sea
06.11.2015, 13:12
20 мс это за один оборот. А если это будет не один оборот, а суммарное время за n оборотов?
А еще можно вообще посчитать количество импульсов за минуту и получить необходимый результат с высокой точностью.
Тут еще вопрос насколько Вам быстро нужно измерять.

Так данный подход по сути и описан в начале. Поэтому отталкиваясь от точности измерений прикидываю время измерения. На данный момент получается 6 с. Хотелось бы повысить быстродействие до 1 с. Может кто какой-нибудь алгоритм предложит...

sea
06.11.2015, 13:20
Фильтруйте количество пришедших за цикл работы ПР импульсов (время цикла =1 мс, частота следования импульсов не более 500 Гц, на вход за цикл может прийти 0 или 1 импульс). Подбором параметров фильтра (частота среза и порядок) можете добиться любой (в разумных пределах) стабильности показаний при постоянной скорости вращения и почти любой (в ещё более разумных пределах) скорости перестройки показаний при изменении частоты вращения.

Подробнее можно?! Если есть какая-нибудь реализация, скиньте, чтобы можно было поковыряться.

rwg
06.11.2015, 14:55
Подробнее можно?! Если есть какая-нибудь реализация, скиньте, чтобы можно было поковыряться.
Реализация была на AVR, измерение резонансной частоты трубы. Частота менялась примерно 280-320 Гц, Измерялась с дискретностью 0,01Гц, задержка измерения 0,5 сек. Но очень давно.

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

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

Сформировать сигнал достижения той или иной скорости можно с помощью таймеров по периоду следования импульсов для наибольшего быстродействия! А пускать пыль в глаза в ущерб функциональности не очень правильно!

sea
07.11.2015, 08:06
Сформировать сигнал достижения той или иной скорости можно с помощью таймеров по периоду следования импульсов для наибольшего быстродействия! А пускать пыль в глаза в ущерб функциональности не очень правильно!

Это сколько тогда таймеров нужно? Если не сложно приведите пример небольшой.
Второе предложение не понял. Что вы имеете ввиду?

sea
07.11.2015, 08:14
здесь надо экспериментировать, про результаты напишите....макрос частотомер примените, на форуме куча была, если надо могу скинуть..

Скиньте макрос ОЛ, пожалуйста.

Павел Братковский
07.11.2015, 10:58
Скиньте макрос ОЛ, пожалуйста.

это не то что, я собирался бы скинуть, но все наработки на работе, это все что есть дома, в понедельник нормальный скину если понадобится.....пароль для макроса 0426
20703

sea
07.11.2015, 16:41
это не то что, я собирался бы скинуть, но все наработки на работе, это все что есть дома, в понедельник нормальный скину если понадобится.....пароль для макроса 0426
20703

Спасибо, будем ждать.
А пароль от макроса?

Сергей0308
07.11.2015, 17:49
Это сколько тогда таймеров нужно? Если не сложно приведите пример небольшой.
Второе предложение не понял. Что вы имеете ввиду?

Делал тахометр на СИ8 для переключения двухскоростного двигателя(1500/3000), так мне одного сигнала хватило(1400 об/мин) для переключения в обе стороны! Вам для чего это нужно, хоть бы задачу обрисовали в общих чертах, если только для отображения, то и делайте как вздумается, всё равно ни на что не влияет!

sea
07.11.2015, 19:50
Лабораторный стенд для исследования характеристик асинхронного двигателя (нагрузочных диаграмм и др.). Просто для данного стенда оптимально ПР200. Время измерений не критично, но все же, а вот точность нужно повыше.

Сергей0308
07.11.2015, 20:10
Так Вам гораздо проще! Можно увеличивать время(период) измерения для достижения необходимой точности, и уменьшать, для большего быстродействия!

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

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

Ошибочка закралась. Выступов 10, а не 20.

Сергей0308
07.11.2015, 20:37
Ошибочка закралась. Выступов 10, а не 20.

Хорошо, что не 100! Мне кажется конструкция упростится если оставить только один выступ! Энное количество выступов, если их равномерно распределить, могут увеличить быстродействие в энное количество раз, при 3000 об/мин 10 выступов увеличат быстродействие с 20 до 2 мс, а для Вас это не критично, так зачем такие сложности???

sea
07.11.2015, 20:52
Хорошо, что не 100! Мне кажется конструкция упростится если оставить только один выступ! Энное количество выступов, если их равномерно распределить, могут увеличить быстродействие в энное количество раз, при 3000 об/мин 10 выступов увеличат быстродействие с 20 до 2 мс, а для Вас это не критично, так зачем такие сложности???

Есть стенд с оптическими датчиками скорости вращения (два для определения направления вращения). Так вот в диске 110 отверстий. На нем можно при переходных процессах (разгон, торможение) измерять скорость.
Исходя из возможностей ПР200 больше 10 выступов делать нет смысла. Меньше выступов - ниже точность при том же времени измерения.

Сергей0308
07.11.2015, 21:53
Есть стенд с оптическими датчиками скорости вращения (два для определения направления вращения). Так вот в диске 110 отверстий. На нем можно при переходных процессах (разгон, торможение) измерять скорость.
Исходя из возможностей ПР200 больше 10 выступов делать нет смысла. Меньше выступов - ниже точность при том же времени измерения.

Тогда у Вас ничего не будет работать! При 3000 об/мин и 110 выступах, длительность импульса в идеальном случае при меандре менее 0,1 мс, берите что-то более быстрое ПР200, посмотрите СИ8, ТХ01 или контроллер! Ну закрыли Вы 100 отверстий, от этого оставшиеся больше не стали?!! Да и если купили такой диск, надо реализовать его потенциал(возможности), иначе нет смысла в затраченных на него средствах!

rwg
08.11.2015, 01:27
Ошибочка закралась. Выступов 10, а не 20.

ПР измеряет один раз в 1 мсек. Значит длительность "0" и длительность "1" должны быть НЕ МЕНЕЕ 1 мсек каждого. Если отключена фильтрация, с фильтрацией больше. Значит при скважности 0,5 минимальный период следования импульсов 2 мсек, то есть максимальная частота 500 Гц, то есть максимум 10 выступов, и угол сектора выступа равен углу сектора впадины, и время включения и выключения индуктивного датчика одинаковые. Хорошо бы для устойчивой работы уменьшить количество импульсов или поставить на входе счётный триггер для уменьшения их количества в 2 раза, для получения максимальной частоты 250 Гц.

sea
08.11.2015, 02:22
Тогда у Вас ничего не будет работать! При 3000 об/мин и 110 выступах, длительность импульса в идеальном случае при меандре менее 0,1 мс, берите что-то более быстрое ПР200, посмотрите СИ8, ТХ01 или контроллер! Ну закрыли Вы 100 отверстий, от этого оставшиеся больше не стали?!! Да и если купили такой диск, надо реализовать его потенциал(возможности), иначе нет смысла в затраченных на него средствах!

Внимательнее читайте. Это на другом имеющемся стенде, работающем, диск с 110 отв. Данный диск использовать не предполагается.

sea
08.11.2015, 02:29
ПР измеряет один раз в 1 мсек. Значит длительность "0" и длительность "1" должны быть НЕ МЕНЕЕ 1 мсек каждого. Если отключена фильтрация, с фильтрацией больше. Значит при скважности 0,5 минимальный период следования импульсов 2 мсек, то есть максимальная частота 500 Гц, то есть максимум 10 выступов, и угол сектора выступа равен углу сектора впадины, и время включения и выключения индуктивного датчика одинаковые. Хорошо бы для устойчивой работы уменьшить количество импульсов или поставить на входе счётный триггер для уменьшения их количества в 2 раза, для получения максимальной частоты 250 Гц.

Да, все так. И скорее всего реально 5 выступов придется использовать.

Павел Братковский
08.11.2015, 06:25
Спасибо, будем ждать.
А пароль от макроса?

пароль в 15 посту не канает?

rwg
08.11.2015, 08:14
Sea, недостаток метода прямого подсчёта количества импульсов - слишком редкое обновление показаний. У Вас получается не чаще раза в 10 секунд. При фильтрации количества импульсов за 1 мсек (или пришёл, или нет, расчёт вероятности прихода очередного импульса) стабильность показаний выше, а реакция на изменение частоты быстрее.

sea
08.11.2015, 09:01
пароль в 15 посту не канает?

Да, все подходит. Что-то не сразу заметил

sea
08.11.2015, 09:31
Sea, недостаток метода прямого подсчёта количества импульсов - слишком редкое обновление показаний. У Вас получается не чаще раза в 10 секунд. При фильтрации количества импульсов за 1 мсек (или пришёл, или нет, расчёт вероятности прихода очередного импульса) стабильность показаний выше, а реакция на изменение частоты быстрее.

На 3000 об./мин обновление данных будет происходить через 1 с, с последующим уточнением измерений за 6 последних измерений. Реально задержка измерения получается до 6 с при 3000 об./мин и уже 3 с для 1500 об./мин.
На счет фильтрации не совсем понимаю, как реализовать это. Поэтому без конкретного примера в ОЛ не разберусь.

Павел Братковский
08.11.2015, 20:06
На счет фильтрации не совсем понимаю, как реализовать это.

не совсем понимаю, для чего вам это надо, но как я понял на железяку будет срабатывать индукционный датчик, если так то по моему нахрен там не нужен фильтр, что там фильтровать? о что я выложил, это реально работающий кусок проекта, правда у меня измерения обновляются 1 раз в 20сек.......


Хотелось бы повысить быстродействие до 1 с.

в моем примере в блинке поставьте 0,5 и 0,5 секунд, полученный результат умнож на 2, точность захромает, но время измерения будет раз в 0,5 сек....а для чего вы это делаете не поделитись?

Сергей0308
08.11.2015, 21:45
Без претензий на совершенство вот Вам мой вариант! Данные как бы всегда готовы и обновляются каждую мс и дополнительный выход с периодом обновления 4 с(при 3000 об/мин и 5 выступах)!
20712
Можно хоть по фронту каждого импульса в стек писать или как-то по другому "извратится"! Хотя и так максимально возможная погрешность при периоде обновления 4 секунды, должна быть менее 1 об/мин , при условии что частота вращения стабильна! Тут уже не важно количество выступов, можно уменьшить их количество до одного, от этого ничего не изменится, не считая упрощения конструкции!

sea
08.11.2015, 23:11
не совсем понимаю, для чего вам это надо, но как я понял на железяку будет срабатывать индукционный датчик, если так то по моему нахрен там не нужен фильтр, что там фильтровать? о что я выложил, это реально работающий кусок проекта, правда у меня измерения обновляются 1 раз в 20сек.......

в моем примере в блинке поставьте 0,5 и 0,5 секунд, полученный результат умнож на 2, точность захромает, но время измерения будет раз в 0,5 сек....а для чего вы это делаете не поделитись?

Я так понимаю, имеется ввиду фильтр не от помех и прочего, а в смысле пришел или нет новый сигнал от датчика в текущий цикл. В зависимости от этого корректируются показания измерения. А может и не так...

Учебный лабораторный стенд, для чего писал выше. Хочется, чтобы показания обновлялись пару раз в секунду, в тоже время и точность сохранить нужно.

Спасибо за пример, буду пробовать.

sea
08.11.2015, 23:18
Без претензий на совершенство вот Вам мой вариант! Данные как бы всегда готовы и обновляются каждую мс и дополнительный выход с периодом обновления 4 с(при 3000 об/мин и 5 выступах)!
20712
Можно хоть по фронту каждого импульса в стек писать или как-то по другому "извратится"! Хотя и так максимально возможная погрешность при периоде обновления 4 секунды, должна быть менее 1 об/мин , при условии что частота вращения стабильна! Тут уже не важно количество выступов, можно уменьшить их количество до одного, от этого ничего не изменится, не считая упрощения конструкции!

Спасибо, буду разбираться.
А как себя будет вести блок BLINK1 с 0,5 мс? Минимальное время цикла для ПР200 1 мс.

Сергей0308
08.11.2015, 23:26
Спасибо, буду разбираться.
А как себя будет вести блок BLINK1 с 0,5 мс? Минимальное время цикла для ПР200 1 мс.

В симуляторе хорошо себя ведёт, в железе не знаю, наверно производитель предусмотрел, чтобы некорректные значения не вводились, они же не дураки! И всегда можно сделать вот так:
20721
Можно ещё для уменьшения возможной погрешности генератор импульсов синхронизировать с помощью импульса сброса и сделать так, чтобы при его запуске первый импульс на выходе появлялся через 1 мс, а не через 0,5 мс, как сейчас!

Сергей0308
09.11.2015, 06:40
Спасибо, буду разбираться.
А как себя будет вести блок BLINK1 с 0,5 мс? Минимальное время цикла для ПР200 1 мс.

Попробовал ввести 100 и 10 мкс, спокойно вводятся и в симуляторе работают! Я не то, что не сторонник подобных экспериментов, а явный противник, всё должно быть расписано от и до! А то скоро сколько будет 2 + 2 будем выяснять экспериментальным путём, но здесь наверно без экспериментов не обойтись! А так не плохо было бы, если нормально работало хотя бы со 100 мкс, но тогда погрешность измерения будет слишком для Вас маленькой при периоде опроса в 1с, меньше чем Вы хотели в 5/3 раза!

rovki
09.11.2015, 08:54
Ставьте хоть 0,000000000000001 в симуляторе,все равно минимум в железе будет 1мс.

Сергей0308
09.11.2015, 09:02
Ставьте хоть 0,000000000000001 в симуляторе,все равно минимум в железе будет 1мс.

Получается период следования импульсов на выходе меньше 2 мс, нельзя сделать???

rwg
09.11.2015, 11:27
Получается период следования импульсов на выходе меньше 2 мс, нельзя сделать???

2мс - это теоретический предел для скважности 0,5. При скважности 0,49 есть риск пропуска импульсов.

rovki
09.11.2015, 12:22
это два цикла ПР ,формируется пауза ,а потом импульс в генераторе ...

Сергей0308
09.11.2015, 12:41
это два цикла ПР ,формируется пауза ,а потом импульс в генераторе ...

Так там цикл не фиксированный! Если цикл будет 4 мс, то что же и генератор импульсов, период в 8 мс будет давать???

sea
09.11.2015, 18:56
Так там цикл не фиксированный! Если цикл будет 4 мс, то что же и генератор импульсов, период в 8 мс будет давать???

Этот вопрос уже поднимал. Что, получается необходимо еще программно определять время цикла ПР?!
И как это проще реализовать?

Сергей0308
09.11.2015, 19:09
Этот вопрос уже поднимал. Что, получается необходимо еще программно определять время цикла ПР?!
И как это проще реализовать?

Что тут не понятного, после того как напишите всю программу, посмотрите в ОЛ среднее время цикла, и если оно окажется больше ваших уставок, выкинете(или кому подарите) ПР и купите что-то более быстрое, например ТХ01, с минимальным временем импульса 10 мкс, только и всего!

sea
09.11.2015, 21:46
Так где смотреть в ОЛ?! Симулятор к железу не привязан, вроде как (пока реле нет).

На ПР200 не только функции тахометра возлагаются. Через RS-485 1 опрос МЭ110-224.1М, подключение 3 термопар, по мелочи дискретные входы-выходы (кнопки, лампы, контакторы), через RS-485 2 связь с ПК.

Можно, конечно, ТХ01 с аналоговым выходом подкинуть, но мы стремимся снизить затраты.

Сергей0308
09.11.2015, 22:07
Когда прибор подключите, тогда и посмотрите!

Сергей0308
09.11.2015, 22:12
Так где смотреть в ОЛ?! Симулятор к железу не привязан, вроде как (пока реле нет).

На ПР200 не только функции тахометра возлагаются. Через RS-485 1 опрос МЭ110-224.1М, подключение 3 термопар, по мелочи дискретные входы-выходы (кнопки, лампы, контакторы), через RS-485 2 связь с ПК.

Можно, конечно, ТХ01 с аналоговым выходом подкинуть, но мы стремимся снизить затраты.

Да логично всё у вас, только возможности прибора не безграничны и не следует от него что-то добиваться, сверх его возможностей!

stanislau
08.12.2018, 11:37
Всем привет. Делаю что-то типа реле контроля минимальной скорости. Частота вращения контролируемых механизмов плавает, передача от привода к ведомому валу/механизму, как правило, клиноременная. Исходя из этого, подсчитывать количество импульсов от индуктивного датчика в течении длительного времени (даже 10с) не могу - при большой нагрузке ремни передачи начинают подгорать при проскальзывании. Пока получается такая программа. На стенде из АД и ПЧ улавливаются изменения скорости вращения при изменении частоты на 1 Гц. Но, что будет если время цикла будет не 1мс, а 10мс?

Сергей0308
08.12.2018, 14:04
Всем привет. Делаю что-то типа реле контроля минимальной скорости. Частота вращения контролируемых механизмов плавает, передача от привода к ведомому валу/механизму, как правило, клиноременная. Исходя из этого, подсчитывать количество импульсов от индуктивного датчика в течении длительного времени (даже 10с) не могу - при большой нагрузке ремни передачи начинают подгорать при проскальзывании. Пока получается такая программа. На стенде из АД и ПЧ улавливаются изменения скорости вращения при изменении частоты на 1 Гц. Но, что будет если время цикла будет не 1мс, а 10мс?

Вы программу приведите, хотя бы её часть, что касается тахометра и куда индуктивный датчик подключен(на какой вход), а вашу картинку не знаю как оценить по достоинству, я даже теряюсь в догадках, на какой вход датчик подключен, и деление на два наверно лучше сделать уже после преобразования типов данных и ещё вопрос: что мешает считать количество импульсов, например за 4 секунды и переводить в об/мин? Почему нельзя начальные позиции обозначить, например: механизм делает один полный оборот примерно за 100 лет, если не выключать во время перекуров!

petera
08.12.2018, 16:43
Всем привет. Делаю что-то типа реле контроля минимальной скорости.

Все выкинуть и сделать Датчик импульсов--> вход ПР--> операнд НЕ --> таймер TON.
И все! Время таймера = 60/минимум оборот.в минуту

ЗЫ
Триггер защелку фиксации мин скорости и элемент разрешения фиксации мин скорости между входом таймера и инверсным сигналом датчика добавить по вкусу

stanislau
08.12.2018, 19:23
Прикрепил программу. Это только сам способ определения оборотов. Механизмы с разной скоростью вращения от 50 и выше оборотов в минуту (до 500 где-то). Если считать количество оборотов за 4с, то как определить количество об/мин, если за это время получилось не целое количество оборотов вала?

petera
08.12.2018, 21:01
Прикрепил программу. Это только сам способ определения оборотов. Механизмы с разной скоростью вращения от 50 и выше оборотов в минуту (до 500 где-то). Если считать количество оборотов за 4с, то как определить количество об/мин, если за это время получилось не целое количество оборотов вала?

количество об/мин = (количество оборотов за 4с) х 15

Сергей0308
08.12.2018, 21:45
Прикрепил программу. Это только сам способ определения оборотов. Механизмы с разной скоростью вращения от 50 и выше оборотов в минуту (до 500 где-то). Если считать количество оборотов за 4с, то как определить количество об/мин, если за это время получилось не целое количество оборотов вала?

Можно измерять время четырёх оборотов, тогда точность измерения вырастет в 4 раза по сравнению с одним оборотом!

stanislau
08.12.2018, 22:55
Хорошо. Буду на стенде проверять. А какое у Вас в сложных проектах в среднем получалось время цикла? На какое время можно ориентироваться, какая средняя температура по больнице:) ?

Сергей0308
08.12.2018, 23:24
Хорошо. Буду на стенде проверять. А какое у Вас в сложных проектах в среднем получалось время цикла? На какое время можно ориентироваться, какая средняя температура по больнице:) ?

Я специально никогда не смотрел, только когда немного совершенствую и перезаливаю смотрю время цикла перед перезаливкой и тут же забываю, если не ошибаюсь на реальных проектах менее 5 мс, а так с дури можно любой цикл сделать, помню от одного макроса цикл становился 37 мс:

40302

stanislau
16.02.2020, 13:23
Макрос реле контроля скорости РКС_Д. Сделал для контроля скорости различных механизмов. При заклинивании, проскальзывании ремней, лент и т.д. для исключения возможности возгорания оборудование необходимо его отключить. Собственно макрос этим и занимается.
I1 Вход - разрешение работы макроса. Для работы значение=0, для отключения=1. Переменную желательно не энергонезависимую, для безопасности. Иначе может так получится, что для ремонта макрос будет отключен, так когда-нибудь и забудется. А так при отключении и включении питания на ПР макрос автоматически включится.
I2 Датчик. Вход для сигнала датчика. Любой с дискретным выходным сигналом.
I3 Бл/Ст. Этот вход определяет схему включения выходного реле ПР. Если контакты включены в цепь блокировочных контактов пускателя, то переменная Бл/Ст=0. Если контакты включены, например, после теплового реле, то переменная Бл/Ст=1. Переменную желательно сделать энергонезависимой.
I4 Сброс аварий. Тут все понятно.
I5 Пуск. Сигнал запуска контролируемого оборудования. Можно взять с кнопки "Пуск". А лучше с блокировочного контакта пускателя, поскольку к ПР все равно необходимо проложить двужильный кабель.
I6 Пауза. Это время в мс за которое должен придти очередной импульс датчика от контролируемого оборудования. Переменную желательно сделать энергонезависимой.
I7 Запуск. На некотором оборудовании могут быть установлены плавные пуски, частотные преобразователи. Поэтому для не срабатывания макроса на время разгона в мс предусмотрен таймер. Переменную желательно сделать энергонезависимой.

Q1 Выход. Ну, тут вроде понятно.
Q2 Авария. Выдает импульс аварийного срабатывания.
Q3 Статус. Для индикации состояния оборудования. Например: 0 - "С" стоп; 1 -"Р" работа; 2 - "З" запуск; 3 - "А" авария. На экране ПР мне так удобней выводить.

Работу проверял на стенде. Схема - не реверсивный магнитный пускатель с включением контактов ПР в блокировочную цепь пускателя. Двигатель подключен через ПЧ. На валу двигателя закреплен лепесток из жести. Проверял и на заклинивание лепестка на против датчика, и на заклинивание после датчика, и на снижение скорости вращения. Все отрабатывается как надо. Индикация состояния ИМ работает.

Сергей0308
16.02.2020, 19:51
Не очень понятно назначение первого и третьего входов, в пускателях есть дополнительные контакты, когда он включается подаётся сигнал работа, всё! В ПЧ аналогично, выходное реле программируется на работу!

Короче пока как-то так намалевал:

47355

В процессе можно и что-то поправить!

47357

stanislau
16.02.2020, 22:54
По порядку.
XOR нужен для работы ртриггера. Поскольку сигнал пуск постоянный и он должен запускать таймер тофф, то на входе ртриг будет все время единица. Вследствие чего сигнал от датчика не будет перезапускать тоф1. Вы нажмите пуск, а затем щелкайте по входу датчика - сразу станет понятно.
Вход 1 нужен для отключения макроса. Например во время ремонта. Просто не будет щелкать выходное реле, выдаваться аварийные сигналы.
Вход 3 определяет схему включения выходного реле ПР. Если переменная бл/ст=0, то выходное реле нормально разомкнутое, включается в блокировочную цепь пускателя. Нажимаем кнопку "пуск"-включается магнитный пускатель-от него приходит сигнал на вход I5-включается выходное реле ПР-пускатель подблокируется своими контактами включенными последовательно с контактами реле ПР. Авария в этом случае сбрасывается при следующем включении оборудования. Бл/ст=1-выходное реле ПР нормально замкнутое, включается перед контактами теплового реле. При снижении скорости, заклинивании и т.д. этот контакт размыкается. Сброс аварии в такой схеме включения только в ручную на экране ПР. Это для некоторых передовиков производства которые нажимают кнопку пуск и всовывают в нее спичку для фиксации:(
Схемы с разным включением обязательное условие. Есть цеха в которых более-менее автоматизирован производственный процесс. Там оборудование пускается групповыми пусками. Если в технологической цепи аварийно остановится хоть одна технологическая единица, то останавливается вся линия. Тут персонал не сможет заниматься втыкиванием спичек в кнопки, так как в кнопочных постах по месту работает только кнопка стоп. Пуск в РП отключен тумблером "местный/автомат". А есть цеха где оборудование не связано между собой в технологические линии. Вот там при аварии надо разрывать электрически цепь так, чтобы персонал сделать ни чего не мог.
Сергей, посмотрел Ваш макрос. Мой попроще будет :) Еще выход Вых_Ав должен быть импульсом.

Сергей0308
17.02.2020, 00:07
По порядку.
XOR нужен для работы ртриггера. Поскольку сигнал пуск постоянный и он должен запускать таймер тофф, то на входе ртриг будет все время единица. Вследствие чего сигнал от датчика не будет перезапускать тоф1. Вы нажмите пуск, а затем щелкайте по входу датчика - сразу станет понятно.
Вход 1 нужен для отключения макроса. Например во время ремонта. Просто не будет щелкать выходное реле, выдаваться аварийные сигналы.
Вход 3 определяет схему включения выходного реле ПР. Если переменная бл/ст=0, то выходное реле нормально разомкнутое, включается в блокировочную цепь пускателя. Нажимаем кнопку "пуск"-включается магнитный пускатель-от него приходит сигнал на вход I5-включается выходное реле ПР-пускатель подблокируется своими контактами включенными последовательно с контактами реле ПР. Авария в этом случае сбрасывается при следующем включении оборудования. Бл/ст=1-выходное реле ПР нормально замкнутое, включается перед контактами теплового реле. При снижении скорости, заклинивании и т.д. этот контакт размыкается. Сброс аварии в такой схеме включения только в ручную на экране ПР. Это для некоторых передовиков производства которые нажимают кнопку пуск и всовывают в нее спичку для фиксации:(
Схемы с разным включением обязательное условие. Есть цеха в которых более-менее автоматизирован производственный процесс. Там оборудование пускается групповыми пусками. Если в технологической цепи аварийно остановится хоть одна технологическая единица, то останавливается вся линия. Тут персонал не сможет заниматься втыкиванием спичек в кнопки, так как в кнопочных постах по месту работает только кнопка стоп. Пуск в РП отключен тумблером "местный/автомат". А есть цеха где оборудование не связано между собой в технологические линии. Вот там при аварии надо разрывать электрически цепь так, чтобы персонал сделать ни чего не мог.
Сергей, посмотрел Ваш макрос. Мой попроще будет :) Еще выход Вых_Ав должен быть импульсом.

Если не надо "намертво" блокировать при аварии, можно сделать аварию на 5 секунд:

47362

И для чего выход аварии должен кратковременно срабатывать, есть какие-то разумные объяснения этому?
И зачем статус выводить, тем более когда авария кратковременно срабатывает? И они же ловятся последующим макросом с выводом на экран!
Ну и если Вам нужна разная логика работы выхода, нельзя ли(не лучше ли) для этого использовать два разных выхода?
Короче, я как-то так это вижу:

47363

В последующих макросах аварии фиксируются, там лучше и выбирать необходимый режим работы выхода, а то что у Вас получается в макросе РКС авария фиксируется(в одном из режимов работы) и в последующих макросах авария тоже фиксируется, мне кажется дублирование лучше убрать, ну и соответственно проще станет!
И заметили, в моём макросе 10 функций и ФБ, в вашем более 20, тем не менее Вы утверждаете что у Вас проще, я конечно не математик по специальности, но что-то мне ваши подсчёты не нравятся!

И посмотрел для чего Вы меняете режим работы выхода, в принципе это не надо, достаточно подключить выход ПР последовательно с контактом самоблокировки пускателя, но Вы вероятно хотите сэкономить на контактах, для этого требуется как минимум 2 контакта, один(замыкающийся) для самоблокировки пускателя, другой(любой, замыкающийся или размыкающийся), для подачи сигнала включения пускателя(сигнал "работа"), интересная экономия(лучше так не делать, например залипнет кнопка пуск, авария не сработает и все старания коту под хвост!), я правильно понимаю вашу логику? Тогда можно эти сигналы объединить в ПР по "И"! Про режим аварии уже писал, можно RS-триггер заменить импульсом включения заданной длительности и можно отдельные выходы использовать для этой цели, вроде всё!
И я так и не смог до конца понять для чего первый вход, но ранее выкладывал проект, где можно было включить-отключить любую из аварий(на 1-ом экране), чтобы она не действовала:

47364

47365

47366

Так вот подобные настройки можно сделать не только для включения-выключения аварий, но и для режима работы и режима фиксации-не фиксации выходов ПР при аварии, надеюсь понятно написал?!

stanislau
17.02.2020, 12:13
Ни чего я не у кого не копировал:( Не будет ртриг получать сигнал от датчика так как с пуска после включения пускателя постоянно будет приходить единица. Для того ксор и используется. Вход пуск - состояние пускателя.

Если не надо "намертво" блокировать при аварии
Надо и так и так. Это обязательно. Для этого предусмотрены разные схемы включения. Я наверно нарисую, а то так можно еще долго объяснять.

для этого использовать два разных выхода?
И потом ходить с ноутбуком и перепрошивать каждый раз.

в моём макросе 10 функций и ФБ, в вашем более 20
У меня при 20 функциях меньше ФБ и меньше расход ОЗУ, одна операция сложения. Следовательно я делаю вывод, что мой макрос "легче". Еще надо учесть, что их будет 24.

stanislau
17.02.2020, 13:42
Я просто хотел пуском тоже запускать тоф1. Но Вы правы - разницы ни какой в принципе. С заменой ртриг на не+и. Я так сделал для выдачи аварийного импульса. Но так увеличивается потребление ПЗУ. Тут тоже самое. Или избавится от ФБ для ПР лучше?

stanislau
17.02.2020, 13:46
Вот еще две схемы. Может так будет понятней.

stanislau
18.02.2020, 09:46
Провел эксперимент. Создал две одинаковых программы. Отличия есть только в макросе РКС_Д. В одном макросе вместо ртриггеров установлен и+не+ линия задержки, во втором ртриггеры остались. Первая программа по потреблению: фб 83,переменные 621, пзу 28712, озу 7184. После прошивки пр посмотрел сразу время цикла - 7мс. Полазил по настройкам, архиву аварий, время цикла - 8мс, держится стабильно. Вторая программа по потреблению: фб 131,переменные 525, пзу 27416, озу 7088. После прошивки пр посмотрел сразу время цикла - 6мс. Полазил по настройкам, архиву аварий, время цикла - 7мс, держится стабильно. Мне кажется, чем меньше используется переменных, пзу, озу, тем лучше. Даже если при этом израсходуется больше фб.

capzap
18.02.2020, 12:43
Продолжим, теперь OR с обратной связью перед ТР1 зачем? Опять же, как только ПУСК пропадёт таймер перестанет работать и соответственно ни какого влияния на RS уже не будет начиная с текущего цикла и все последующие

nickbeljaev
18.02.2020, 14:24
Господа все эти разговоры про точное измерение частоты вращения довольно забавны. Во первых, с какого перепуга TON или BLINK отмеряют ТОЧНЫЕ интервалы времени?! Они их отмеряют так: уставка + (случайное число от 0 до МАСИМАЛЬНОГО времени цикла), то есть тон с уставкой 10мс при времени цикла 10 мс будет давать интервалы от 10 до 20 мс то есть погрешность 100%, даже если уставка будет 10с при времени цикла 10мс это уже 1/10% непредсказуемой погрешности в то время как 1 оборот от 3000 это 1/30% как бы надо же понимать разницу в числах! То есть при задаче различать 1 оборот на 3000 и времени цикла 10мс придется интервал измерения брать НЕ МЕНЬШЕ 60с! Ситуацию мог поправить системный микросекундный таймер, но у Овена с ним непонятный затык случился, а без него любые разговоры о точности малых временных отрезков не имеют смысла.

Ревака Юрий
18.02.2020, 15:11
Господа все эти разговоры про точное измерение частоты вращения довольно забавны. Во первых, с какого перепуга TON или BLINK отмеряют ТОЧНЫЕ интервалы времени?! Они их отмеряют так: уставка + (случайное число от 0 до МАСИМАЛЬНОГО времени цикла), то есть тон с уставкой 10мс при времени цикла 10 мс будет давать интервалы от 10 до 20 мс то есть погрешность 100%, даже если уставка будет 10с при времени цикла 10мс это уже 1/10% непредсказуемой погрешности в то время как 1 оборот от 3000 это 1/30% как бы надо же понимать разницу в числах! То есть при задаче различать 1 оборот на 3000 и времени цикла 10мс придется интервал измерения брать НЕ МЕНЬШЕ 60с! Ситуацию мог поправить системный микросекундный таймер, но у Овена с ним непонятный затык случился, а без него любые разговоры о точности малых временных отрезков не имеют смысла.

Стоп, нужно уточнить, но таймеры вроде как отрабатывали по прерыванию, сейчас точно не подскажу, нужно уточнить.

capzap
18.02.2020, 15:26
Стоп, нужно уточнить, но таймеры вроде как отрабатывали по прерыванию, сейчас точно не подскажу, нужно уточнить.

не теряйте попусту время, его идея фикс, добавить микросекундный счетчик, он обещал постоянно писать такие посты. Интересен будет этап, когда он начнет предлагать еще что нибудь поменять получив такой счетчик и при цикле в 10мс станет обрабатывать последовательность микросекунд {0, 10135,20768,30512,40333,...}

stanislau
18.02.2020, 21:41
Capzar, эта цепь блокирует пуск при срабатывании аварии. Такой режим нужен для ручного сброса аварий когда используется схема включение №2 из #61. Немного переделал. Принцип тот же.
Юрий, проверьте почту!

capzap
18.02.2020, 21:47
ок, как считаете на скрине это нормальная ситуация?

Сергей0308
18.02.2020, 22:21
Вот еще две схемы. Может так будет понятней.

Интересно, Вы сами-то смотрели эти схемы, так вот согласно вашим схемам(а не потому, что я так вижу или хочу), второй режим работы выхода и не нужен, достаточно режим когда выход ПР размыкается при аварии, про режим фиксации(не фиксации) аварии я не говорю(когда дальнейшая работа возможна только после сброса аварии), надеюсь, понятно написал?!

stanislau
18.02.2020, 23:12
capzap, да, нормально. Как я вижу, сработал триггер, выход выключился, выдан импульс на выход Q2, статус показывает аварию. Блокировки пуска не произошло так как бл/ст=0. Соответствует первой схеме включения. Запускать можно без сброса аварии.
Сергей, я Вас не понял. Вот второй режим работы - как тепловое реле, включение такое же. Только срабатывает не на перегрузку по току, а на снижение скорости. И сброс только ручной, как на тепловом реле. И контакт НЗ как у теплового.
Вы хотите сказать, как я понимаю, что первый режим работы неправильный? В чем смысл, если после аварии оборудование можно запустить без сброса? Так?

Сергей0308
18.02.2020, 23:42
capzap, да, нормально. Как я вижу, сработал триггер, выход выключился, выдан импульс на выход Q2, статус показывает аварию. Блокировки пуска не произошло так как бл/ст=0. Соответствует первой схеме включения. Запускать можно без сброса аварии.
Сергей, я Вас не понял. Вот второй режим работы - как тепловое реле, включение такое же. Только срабатывает не на перегрузку по току, а на снижение скорости. И сброс только ручной, как на тепловом реле. И контакт НЗ как у теплового.
Вы хотите сказать, как я понимаю, что первый режим работы неправильный? В чем смысл, если после аварии оборудование можно запустить без сброса? Так?

Вы свою схему видели, первую картинку, что слева, так вот для неё Вы сделали режим работы выхода когда до включения пускателя и подачи сигнала включения пускателя на 5-ый вход ПР, выход ПР(Q1) разомкнут, замыкается после прихода сигнала включения пускателя на 5-ый вход, а фиксировать или не фиксировать аварию это дело хозяйское, как кому хочется, короче, для этой схемы, что Вы выложили и 100 лет не нужен такой режим работы выхода, тогда и делать его не надо, я об этом писал, ещё вчера!

stanislau
19.02.2020, 00:13
Кажется,я понял о чем Вы. Я не хочу переделывать действующие схемы. Это около 20 пускателей. И везде контакт РКС расположен в блоковой цепи пускателя. Мне чтобы перенести его к тепловому реле необходимо остановить цех на несколько дней. Это вообще нереально. Я Вам завтра в лс скину фото того РП. Для этого первая схема и сделана.

Сергей0308
19.02.2020, 00:27
Кажется,я понял о чем Вы. Я не хочу переделывать действующие схемы. Это около 20 пускателей. И везде контакт РКС расположен в блоковой цепи пускателя. Мне чтобы перенести его к тепловому реле необходимо остановить цех на несколько дней. Это вообще нереально. Я Вам завтра в лс скину фото того РП. Для этого первая схема и сделана.

В третий, уже со счёта сбился, или уже четвёртый раз сообщаю, что я как раз и говорю об этой схеме, когда контакты выходного реле включены последовательно с контактами самоблокировки пускателя, как раз где Вы не переделывали, в такой схеме не нужен такой режим работы, что я описал в преведущем посте и достаточно чтобы контакты были замкнуты и размыкались при аварии, ну Вы даёте, Вы хоть схему посмотрите! Нужно там иметь разомкнутый контакт выходного реле ПР перед включением пускателя?

Такой(ваш) режим работы нужен только когда контакты выходного реле ПР подключены параллейно кнопке "Пуск" и не подключены последовательно с контактом самоблокировки пускателя, как у Вас на схеме, надеюсь понятно?!

nickbeljaev
19.02.2020, 01:01
Стоп, нужно уточнить, но таймеры вроде как отрабатывали по прерыванию, сейчас точно не подскажу, нужно уточнить.

Да уж Юрий, уточните пожалуйста!

Ревака Юрий
19.02.2020, 11:07
Да уж Юрий, уточните пожалуйста!

Уточнил, да похоже что все таки не получится измерять быстрее чем время цикла.

stanislau
19.02.2020, 11:39
Сергей, а задавать автоматический или ручной сброс аварии Вы как хотите? Через энергонезависимую переменную?

Сергей0308
19.02.2020, 11:50
Сергей, а задавать автоматический или ручной сброс аварии Вы как хотите? Через энергонезависимую переменную?

При чём здесь, как я хочу? Я никак не хочу! Если Вам надо чтобы при ручном сбросе при выключении-включении(перезагрузке) ПР авария не сбрасывалась - ставите энергонезависимость, всё!

stanislau
19.02.2020, 13:13
Так в чем тогда разница? У меня через переменную бл/ст реализован и выбор схемы включения, и выбор авт/ручн сброс аварии. И в блок я не хочу нз контакт ставить. Нет у меня желания сидеть в рп неделями, разбираясь задействованы ли блокировочные контакты пускателя, не выкорочены ли они где-нибудь на промежуточном клемнике, смотреть, что там сначала идет: блок-контакт пускателя или ркс (если использовать нз контакт в блоке еще и идикация на пульте может гореть постоянно). Мне не жалко пары логических элементов для того чтобы всего этого избежать.

Сергей0308
19.02.2020, 13:45
Так в чем тогда разница? У меня через переменную бл/ст реализован и выбор схемы включения, и выбор авт/ручн сброс аварии. И в блок я не хочу нз контакт ставить. Нет у меня желания сидеть в рп неделями, разбираясь задействованы ли блокировочные контакты пускателя, не выкорочены ли они где-нибудь на промежуточном клемнике, смотреть, что там сначала идет: блок-контакт пускателя или ркс (если использовать нз контакт в блоке еще и идикация на пульте может гореть постоянно). Мне не жалко пары логических элементов для того чтобы всего этого избежать.

Мне кажется, что два лишних элемента даже не ФБ, а функции никакого значительного вклада в общую картину не сделают, даже если умножить на 24!

nickbeljaev
19.02.2020, 15:51
Уточнил, да похоже что все таки не получится измерять быстрее чем время цикла.

Юрий, благодарю, но дело не в "быстрее", фиг с ней со скоростью, проблема в точности, при любых уставках ТОНа к нему прицепом идет от 0 до времени цикла, и при чем каждый раз по разному, это порождает техническую проблему измерения скорости (как именно эта проблема порождается выше я разбирал). Поэтому все таки нужен микросекундный таймер, с ним измерение скорости намного быстрее и точнее будут. Доведите плз. это до авторов системы.

stanislau
19.02.2020, 21:05
Мне кажется, что два лишних элемента даже не ФБ, а функции никакого значительного вклада в общую картину не сделают, даже если умножить на 24!
Это Вы пор какие? Гляньте ЛС.

stanislau
19.02.2020, 21:14
И, да. Можно с помощью ПР нормально измерять обороты. Я сравнивал с имеющимся прибором - измерителем количества оборотов и разница не превышала 2-3 оборота. Конечно прибор не прецизионный, но до 1200 об/мин я проверял. Главное чтобы уставки тона были больше времени цикла. nickbeljaev Вы вообще какую точность от пр хотите получить? Вы пробовали измерять обороты? С чем сравнивали? Какая разница получилась?

nickbeljaev
27.02.2020, 13:00
И, да. Можно с помощью ПР нормально измерять обороты. Я сравнивал с имеющимся прибором - измерителем количества оборотов и разница не превышала 2-3 оборота. Конечно прибор не прецизионный, но до 1200 об/мин я проверял. Главное чтобы уставки тона были больше времени цикла. nickbeljaev Вы вообще какую точность от пр хотите получить? Вы пробовали измерять обороты? С чем сравнивали? Какая разница получилась?

Мне приходилось по разному обороты измерять, иногда выгодно померить период нескольких оборотов и поделить некоторую константу на этот период, но этот путь для ПР годится, только если N очень большое, так как измерение малых промежутков времени с помощью тона несет в себе абсолютную погрешность равную наибольшему времени цикла. Иногда надо знать скорость "сразу", тогда приходится мерить период каждого оборота, этот путь для ПР200 годится только при очень медленном вращении из-за строго циклового характера выполнения. Иногда выгодно посчитать количество оборотов за фиксированное время, но опять таки это время для ПР должно быть существенным, что бы прибавка циклового времени к тону не была относительно большой. Все эти способы имеют НЕ ПОСТОЯННУЮ погрешность, которая зависит как от частоты оборотов так и от способа измерения временных промежутков. Добавление системной переменной с микросекундами, могло бы решить проблему точного измерения малых промежутков времени. Что касается точности по данному посту то тут кто то заказывал 1/3000, что является трудным, так как для получения данной точности период измерения должен быть не менее 60с по моей оценке. То есть результат получить можно, но средний за прошлую минуту. Я исходил из времени цикла 10мс, таким образом точность измерения одной минуты составит 1/6000 без учета погрешности кварца, что должно с высокой вероятностью дать нам запрашиваемую точность 1/3000 по частоте вращения.