Доброго времени суток. Очень надеюсь на помощь или хотя бы свежую мысль.
Судя по поиску, эта тема уже весьма замылена, но решения своей проблемы я там так и не нашел.

Итак. Имеем связку: ПЛК 110-32, ПЧВ Дельта, мотор+редуктор (асинхронник на 1500 об/мин + понижающий редуктор 1/40), энкодер инкрементальный 360 имп/об (опять же от Дельты), который закреплен на валу редуктора через металлическую муфту.
Мотор-редуктор приводит в действие цепную передачу с "неким", жестко закрепленным на цепи, предметом.

При выполнении программы предмет опускается вниз (до датчика индуктивности "ноль"), обнуляется значение энкодера, задаются пределы движения "предмета" (верхняя и нижняя уставки, к примеру 500 и 100) и "предмет" начинает движение туда-обратно по этим уставкам.

Проблема. При 30-50 проходов туда-обратно фактический проход "предмета" осуществляется уже по значениям ~470 и 70. То есть уставки как будто "съехали" на одинаковую величину. Причем значения на входе модуля энкодера продолжают меняться в изначально заданных пределах.

Уже не знаю на что думать. Цепь натянута жестко, люфта практически нет, можно даже сказать, что совсем нет, но не буду так категоричен. В своей программе ошибки исключил, так как смотрел в первую очередь на показания, приходящие на вход модуля. Судя по заданным условиям не должно быть пропусков импульсов.

В общем-то задача состоит не в очень точном позиционировании конечного элемента, а поддержании заданных уставок с допустимой погрешностью (несколько миллиметров вполне сойдет) в течении нескольких десятков циклов прохода "туда-обратно" без повторного обнуления энкодера в процессе работы. (циклов через 60-70 обнулится уже будет можно).
Вот вроде бы и все. Заранее прошу прощения, если имеются ошибки в оформлении темы. Буду рад любым ответам.
С уважением, Александр.