Вход

Просмотр полной версии : Отрицательные значения на энкодере



Artem2928a
08.11.2024, 11:16
Владею плк160, энкодер на 600p/r, если значение уходит ниже нуля, то счет начинается от 600 и идет на понижение, возможно ли сделать так , чтобы ниже нуля значение выставлялось от -1 и до -600?

kondor3000
08.11.2024, 13:28
Владею плк160, энкодер на 600p/r, если значение уходит ниже нуля, то счет начинается от 600 и идет на понижение, возможно ли сделать так , чтобы ниже нуля значение выставлялось от -1 и до -600?

(600-599)*-1= -1 или
-600+598=-2

Dimensy
09.11.2024, 13:20
А зачем вам отрицательные числа? Вы так пытаетесь позиционироваться или реверс отслеживать?
Ну и, переменная отвечающая за энкодер имеет тип word, а это 65 тыс. Вы там, что по модулю на 600 делите?

Artem2928a
18.11.2024, 14:23
Мне нужно ,чтобы вал по окончании работы вставал в изначальное положение, так как после отключения питания вал еще прокручивается, то каким то образом играть со временем(временем его возвращения в изначальную точку) не имеет смысла, в
конечном итоге через пару дней он все равно будет в совершенно другом месте, поэтому я решил использовать энкодер, -600 0 600, по мне так вполне себе логично.

Сергей0308
18.11.2024, 14:56
Мне нужно ,чтобы вал по окончании работы вставал в изначальное положение, так как после отключения питания вал еще прокручивается, то каким то образом играть со временем(временем его возвращения в изначальную точку) не имеет смысла, в
конечном итоге через пару дней он все равно будет в совершенно другом месте, поэтому я решил использовать энкодер, -600 0 600, по мне так вполне себе логично.

Можно установить знаковый тип данных, например INT, тогда вместо диапазона 0 - 65535 будет отображаться диапазон "-32768" - 32767.
И, если у вас механизм вращается с выключенным питанием, то позиционирование с инкрементным эндодером непременно нарушится, мне кажется, это ненормально и если это поправить нельзя, впору думать об абсолютном энкодере, если хотите, чтобы позиционирование не сбивалось при вращении механизма с отключенным питанием. Или чтобы по концевику выставлялось исходное(начальное) положение!

Artem2928a
20.11.2024, 16:27
Вал прокручивается, когда с двигателя снимается питание, плк и энкодер все еще будут в работе, поэтому до момента их отключения позиционирование будет работать. Другой вопрос ,как вы и сказали , после повторного включения позиционирование нуля сбивается, но на просторах форума я нашел информацию, что можно присвоить нулю значение RETAIN и использовать оператор MOVE.

IVM
20.11.2024, 21:58
Вал прокручивается, когда с двигателя снимается питание, плк и энкодер все еще будут в работе, поэтому до момента их отключения позиционирование будет работать. Другой вопрос ,как вы и сказали , после повторного включения позиционирование нуля сбивается, но на просторах форума я нашел информацию, что можно присвоить нулю значение RETAIN и использовать оператор MOVE.

Поставь абсолютный энкодер и не будет никаких проблем.