Можете запомнить начальную и прибавить фиксированную величину, как досчитало, включаете отрыв 1 Энкодер 2.jpg
Посмотрите пример, как сделано там, каждый цикл, конечное становится начальным и считается по новой.
Примерно так
Можете запомнить начальную и прибавить фиксированную величину, как досчитало, включаете отрыв 1 Энкодер 2.jpg
Посмотрите пример, как сделано там, каждый цикл, конечное становится начальным и считается по новой.
Примерно так
Последний раз редактировалось kondor3000; 12.05.2025 в 19:02.
Т.е. формировать короткий импульс каждый раз когда энкодер отсчитает заданное количество шагов?
Owen.jpg
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Да. Вы правы! Из-за того что программа может считать текущее значение энкодера, когда он уже проскочил позицию отрыва, то следующая метка должна отсчитываться от предыдущей метки, а не от текущей позиции энкодера.
Owen.jpg
Но и здесь есть подводный камень. Если произойдет переполнение метки и её значение будет очень маленьким?
Например, равным 0. Тогда чтобы сформировался фронт на входе RTRIG1 программа должна зафиксировать его значение строго на 0.
И если при чтении энкодера программа, при каждом его переполнении, будет его проскакивать, то формирование импульсов прекратится.
Надо ловить переполнение метки, а также ловить переполнение энкодера и сравнивать их, только когда оба прошли переполнение.
Owen1.jpg
Спасибо за подсказки.
Owen2.jpg
Последний раз редактировалось EFrol; 13.05.2025 в 09:08.
Спасибо Всем за помощь!
Проект закончил все заработало добавил еще СП307 для внесения размера листа и общей работы ламинатора.
Из-за надписей, у вас уехали за рамки размеры поля программы.
А так же сравнение происходит на больше, а надо на больше или равно. Будет уходить размер листа.