-
измерение длины и скорости
добрый день!
задча состоит в том ,чтобы мерить длину рулонных материалов,а также поддерживать постоянную линейную скорость перемотки рулона.
для этого применяем энкодер с числом меток на оборот 500.
В плк150 организуем модуль encoder ,но вот проблема ,максимальное число в нем 65000!!! Какбыть если на 1 оборот датчика приходится примерно 200 мм а длину нужно мерить около километра???
-
может и не оптимально, но я бы сделал так:
при достижении счетчика энкодера, например значения 1000, я бы обнулял его и инкрементировал промежуточную переменную.
результат бы получал: результат = (("промежуточная переменная" * 1000) + счетчик энкодера).
-
Ограничение в 65535 импульсов только на время между циклами (цикл ~ 1мс). В каждом проходе вам следует скидывать накопленное значение в переменную, ибо считывание этой переменной одновременно ее обнуляет.
А дальше, уже с этой переменной, делайте что хотите ))))
-
Правильное решение, только переменная не скидывается, а надо вычитать предидущее и тек. значение. Будьте внимательны с вычитанием при переходе через ноль.
-
получилось!примерно так ,как предложил AVIT только пришлось придумывать схему выделения оборота в - и в+ и соответствно вычитать или прибавлять полный оборот . НО самое интересное в том ,что если бы регистр encoder в конфиге был бы DWORD не нужно было бы ломать голову!!!
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума