Просмотр полной версии : Переполнение счетчика импульсов. ПЛК 210 + энкодер
DolomanN
30.08.2025, 19:46
Добрый день. ПЛК210-03-cs . в проекте необходимо использовать энкодер для расчета текущего положения продукта на ленте.
в codesys 3.5 проблема в том, что привязанную ко входу переменную энкодера невозможно обнулить, она всегда прибавляет импульсы. Возник вопрос: при переполнении переменной, привязанной ко входу энкодера, она начнет показывать значение с обратного конца ( -4294967295 и будет идти на уменьшение при вращении)?
обнуляется этот счетчик входа только при перезагрузке ПЛК. Есть ли способ как-то сбрасывать счетчик программно?
Просто заведите свою переменную которую меняйте на изменение той переменной. И всё.
А со своей делайте что хотите - обнуляйте, умножайте и т.п.
она начнет показывать значение с обратного конца
Да.
при переполнении переменной ...-4294967295
Только для этого числа нужно 33 бита. "Обратный конец" для знакового 32-битного это 16#80000000. Даже не парит сколько это в десятичном виде. Если хотите то -(2^31)
и будет идти на уменьшение при вращении)
Направление всегда правильное если рассматривать знаковую разницу между текущим и предыдущим значениями. Даже если само значение беззнаковое.
kondor3000
30.08.2025, 21:40
Не будет переполнения, смотри скрин 85493
4294967295 + 10= 9
9-10= 4294967295
В обратную переменная будет уменьшаться
DolomanN
Овен почему-то не хочет делать программный сброс АВ-энкодеров аж со времен старой версии ПЛК110. Тайна сия мраком покрыта.
Можно использовать ABZ-энкодер, а на Z подать импульс с какого-нибудь FDO.
Ересь, конечно, но хоть какой-то выход.
DolomanN
31.08.2025, 20:34
речь идет про вход. пока к нему привязана переменная, она всегда будет принимать значение fdi энкодера и записать ей 0 не получится, сразу перезапишется на актуальное значение для входа
DolomanN
31.08.2025, 20:35
ось z обнуляет текущее количество импульсов?
DolomanN
ось z обнуляет текущее количество импульсов?
Не ось, а вход для фазы Z энкодера. Эта фаза - нулевая метка, один импульс на оборот энкодера. Если речь идет об обычном инкрементальном энкодере.
Да, при использовании модуля ABZ в конфиге ПЛК, единица на этом входе обнуляет счетчик энкодера.
DolomanN
18.09.2025, 16:52
85812 85813
добрались таки руки опытным путем протестировать. на контроллере плк210-03-cs данная фича не работает.
подключил ab энкодер, в качестве оси z использовал сигнал с плк. при триггере z, растет только счетчик оборотов. счетчик импульсов не сбрасывается
DolomanN
Единица на Z должна сбрасывать счетчик импульсов. Если это не так, то вопрос в техподдержку Овена. Ибо в во всех других контроллерах логика ABZ работает именно так.
А на самом энкодере есть фаза Z?
МихаилГл
19.09.2025, 06:53
А в настройках там есть такое, что это abz энкодер?
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot