Точность счета Adam-4080 |
Ответить |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 359 |
Опубликовано: 18 Январь 2006 08:58 |
Возникла необходимость точного определения временного интервала длиной около 90 сек. Решил воспользоваться имеющимся Adam-4080 в режиме счетчика импульсов. На счетные TTL-входа подаю сигналы частотой 1 кГц из двух источников: самодельного кварцованного генератора (кварц 5 МГц через цепочку делителей) и эталонного промышленного генератора. Разрешением на счет управляю от концевика установки (счет по сигналу низкого уровня). Проблема в следующем: при многократном прогоне разброс показаний счетчиков достигает 0.2-0.4 сек. (по одному и тому же счетчику), а работающий параллельно Овеновский СИ8 даёт разброс 0.05-0.1 сек (но в нем нет последовательного интерфейса). Возникает впечатление, что схема разрешения на счет 4080 работает с неравномерной задержкой. В режиме частотомера 4080 выдаёт совершенно стабильные показания частоты генераторов. Может ли изменить использование опто-изолированных входов 4080? |
|
Участник Присоединился: 04 Июнь 2003 Online Status: Offline Публикации: 76 |
|
Классическая ошибка при попытке использовать 4080 как счетчик импульсов (особенно быстрых, с высокой частотой)! 4080 считает без ошибок и схема разрешения на счет тоже ведет себя корректно (на АДАМы имеется российский сертификат средств измерения)! Однако, нигде не регламентируются времена передачи значений из внутреннего счетного буфера на линию (в сеть)! Т.е. процесс счета начинается по разрешающему сигналу (задержка там оч маленькая, т.к. 4080 может работать с весьма высокими для промышленности частотами), внутренний счетчик считает и складывает в свой внутренний счетный буфер, а вот запрос на получение подсчитанных значений (по сети), перекладка из счетного буфера в буфер передачи данных и время начала передачи этих значений по сети - процесс абсолютно скрытый от пользователя и никоим образом не может быть детерминирован!!!!!! Отсюда и получаются ошибки счета!!!! Кстати, разброс ~0.2сек коррелирует с указанной максимально быстрой скоростью опроса АДАМов ~0.1сек (т.е. не более 10 раз в секунду)! Однако, уже была попытка показать, что если источник сигналов (генератор импульсов) и потребитель подсчитанных АДАМом значений это одно и то же устройство и процессы генерации и запросы по сети оно порождает синхронно, то ошибки получаться не будет! Для доказательства этого был выбран S7-224, у него есть "быстрые" выходы, коммуникационный порт 485 и контроль времени цикла (минимальный цикл 1мсек), что позволяет экспериментировать с частотами сигналов 500-999Гц и 4080. Основной цикл программы запускал встроенный генератор на выработку сигналов, через определенные промежутки (например 1 раз в секунду) по прерыванию генерировался сетевой запрос к АДАМу, сразу же считывалось значение из АДАМа, вычислялась разница между предыдущим и текущим значениями (то, что АДАМ успел за время между запросами насчитать) и тут же эта разница отправлялась через 485-й во внешний мир (на гипертерминал, для визуального контроля). В цикле также контролировалось максимальное время его выполнения (процессор шустрый, поэтому цикл не превышал 1 миллисек.). В результате такой стенд показал, что ошибка подсчитанных импульсов не превышала 1-2-х для частоты 1000Гц! |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 359 |
|
Из вышесказанного следует, что через какое то время после окончания отчсета модуль всё же должен выдавать "правильное" кол-во принятых импульсов, но и через минуту простоя кол-во принятых импульсов не меняется. |
|
Участник Присоединился: 04 Июнь 2003 Online Status: Offline Публикации: 76 |
|
Да, Вы правильно заметили, что по окончании(!) отсчета модуль должен давать правильное значение принятых импульсов! Однако, стенд для утверждения этого тезиса мне видится чрезвычайно тривиальным(!) - кнопка на счетном входе (для исключения "дребезга" параллельно желательно наличие хотя бы конденсатора), вручную щелкаете ей известное колво раз (например 10) и через 1 сек (или более, ну уж совсем для чистоты эксперимента) даете команду на считывание значений. Если АДАМ покажет другое количество, то либо что-то в Вашей схеме сделано неправильно, либо ... (как в известной истории - придется есть собственную шляпу). Вам видится другой вариант тестового стенда? Поделитесь знанием.
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 359 |
|
Я с Вами не спорю, я верю Вашим данным по точности прибора и пытаюсь разобраться из за чего у меня происходят расхождения. Я попробовал подавать сигнал на оптоизолированные входа и результат вроде бы получился приемлемым, на 90 сек. разброс составил не более 0.06 сек. Наберу статистику и тогда будет видно. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 23 Июнь 2003 Категория: Russian Federation Online Status: Offline Публикации: 172 |
|
Пример с S7-224 мне понравился, такое можно создать от любви к искусству.. |
|
С наилучшими пожеланиями,
Сергей Покорный |
|
Участник Присоединился: 04 Июнь 2003 Online Status: Offline Публикации: 76 |
|
Да, для удовольствия души можно и не такое изобрести. Искусство в любом профессиональном применении украшает. Однако, все это лирика, а вот то, что периодически кто-то наступает на старые грабли это удручает. Помнится, не очень давно (где-то с год назад), был такой грустный пример - люди решили сильно сэкономить (4080 ведь не дорогой!) и сделали систему (самостоятельно) на корабле для "парковки", т.е. для причаливания (система позиционирования). Так вот, на скорости подхода корабля к причалу из-за вот этой самой ошибки считывания значений погрешность составляла +-20метров, понятное дело кораблику ... Мда-а, а ведь таких решений можно избежать, ну почему бы не привлечь профессионалов имеюших опыт в реализации таких решений (и вообще в автоматизации различных процессов), почему обязательно надо самостоятельно шишек набить (народ в форуме взбудоражить) чтобы понять такие простые вещи?! |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 359 |
|
1. На ошибках учатся. 2. Не ошибается только тот, кто ничего не делает. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 359 |
|
Проведя ряд экспериментов, добился точночти отсчета времени с использованием Adam-4080 не хуже 0.01 сек на выдержке до 100 сек. Для этого пришлось подать счетные импульсы на оптоизолированный вход. Изначально они подавались на TTL-вход и был задействован цифровой фильтр, именно его работой я объясняю плавающий результат счета. Так что 4080 вполне можно использовать как счетчик времени с точночтью не хуже 0.01 сек. |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |