это какойто глюк КДС. на выходе move4 в cou число импульсов есть, просто почемуто не отобразлось, оно дальше в move6 используется
Screenshot_2.png
это какойто глюк КДС. на выходе move4 в cou число импульсов есть, просто почемуто не отобразлось, оно дальше в move6 используется
Screenshot_2.png
Последний раз редактировалось manowar666; 13.05.2020 в 09:56.
Блинк делает на выходе ноль на время TIMELOW, следом единицу на время TIMEHIGH, до тех пор, пока ENABLE в единице.блинк и триггер так понимаю включают разрешение на подсчёт импульсов на одну секунду
R_TRIG выдает один импульс длительностью в один цикл ПЛК в момент изменения входа с нуля в единицу.
И где тут?включают разрешение на подсчёт импульсов на одну секунду
вот както так сделал
Screenshot_5.png
пока считает в "попугаях", но вроде повторяемые результаты, в обороты надо пересчитать
не, чот фигня получилась.
а как можно организовать паузу на ST в несколько миллисекунд?
Триггер ТР, по заднему фронту (через F_TRIG) продолжение работы.
Одна миллисекнудна уверенно отрабатывается? Есть подозрение, что цикл ПЛК несколько больше.
сделал 10мС.
а какой смысл триггер использовать?
вроде без него вышло. тестировал пока только электротвёрткой крутил энкодер, +-1 повторяемость есть
Screenshot_6.png
только непонятка с направлением. в одну сторону кручу скорость 177-178 попугаев, в другую с тойже скоростью - 79-80 попугаев.
мне важна не абсолютная точность в метрах-оборотах, а повторяемость, скорее всего буду через табличку или CASE переводить в аналоговое значение 0-10в
Последний раз редактировалось manowar666; 13.05.2020 в 16:36.
ПЛК160-24.У-М
энкодер Fotek WE-M4T 1 имп/мм, 200 имп/оборот
скорость будет от 0 до 150 м/мин
выходное напряжение пропорционально скорости от 0 до 10 в.
возможно будет нелинейность характеристики скорость/напряжение, но это уже по факту буду смотреть и сравнивать ручным тахометром (в нём есть функция измерения линейной скорости)
Код:VAR enc1:WORD:=0; enc2:WORD:=0; out:WORD:=0; spdRL:REAL; myTON:TON; (*ФБ таймера*) END_VAR --------------- myTON(IN:= NOT myTON.Q, PT:=T#100ms ); (* вызов таймера с самосбросом*) IF myTON.Q THEN enc2:=count_0; IF enc2>=enc1 THEN out:= enc2-enc1; END_IF; END_IF; spdRL:=WORD_TO_REAL(out)*0.60; (*пересчёт под выход m/min*) enc1:=enc2;
Последний раз редактировалось manowar666; 13.05.2020 в 18:13.
Результат тестирования - Скорость прыгает +-1м/мин (возможно изза плохого крепления энкодера, будут переделывать)
При показаниях ручного с колёсиком 80м/мин, в кодесисе отображает 79-81м/мин.
Для моих целе точность нормальная, будет мешать дрожание, загрублю счёт, погасив младшие биты