Можете запомнить начальную и прибавить фиксированную величину, как досчитало, включаете отрыв Вложение 83734
Посмотрите пример, как сделано там, каждый цикл, конечное становится начальным и считается по новой.
Примерно так
Вид для печати
Можете запомнить начальную и прибавить фиксированную величину, как досчитало, включаете отрыв Вложение 83734
Посмотрите пример, как сделано там, каждый цикл, конечное становится начальным и считается по новой.
Примерно так
Т.е. формировать короткий импульс каждый раз когда энкодер отсчитает заданное количество шагов?
Вложение 83736
Да. Вы правы! Из-за того что программа может считать текущее значение энкодера, когда он уже проскочил позицию отрыва, то следующая метка должна отсчитываться от предыдущей метки, а не от текущей позиции энкодера.
Вложение 83737
Но и здесь есть подводный камень. Если произойдет переполнение метки и её значение будет очень маленьким?
Например, равным 0. Тогда чтобы сформировался фронт на входе RTRIG1 программа должна зафиксировать его значение строго на 0.
И если при чтении энкодера программа, при каждом его переполнении, будет его проскакивать, то формирование импульсов прекратится.
Надо ловить переполнение метки, а также ловить переполнение энкодера и сравнивать их, только когда оба прошли переполнение.
Вложение 83738
Спасибо за подсказки.
Вложение 83739
Спасибо Всем за помощь!
Проект закончил все заработало добавил еще СП307 для внесения размера листа и общей работы ламинатора.
Из-за надписей, у вас уехали за рамки размеры поля программы.
А так же сравнение происходит на больше, а надо на больше или равно. Будет уходить размер листа.