Оптомыша - накапливает погрешность.
А если так: небольшая катушка с тонким тросом, многооборотной пружиной типа как в будильнике, токо помощнее, и энкодером. Тянем за трос - он разматывается, энкодер считает длину. Отпускаем трос - пружина его сматывает. Энкодер абсолютный, чтобы проскальзывания не было. На катушке канавка винтовая, трос через направляющую - чтобы наматывание было равномерным в один слой. Таким образом узнаем положение каретки. На оба гидравлических зажима ставим концевики. Если оба зажима отпущены - считаем постоянно позицию каретки и ее перемещения прибавляем к счетчику длины трубы. Если хотя бы один из зажимов зажат - труба в скважине не движется, движение каретки контроллером анализируем точно так же - считаем обороты катушки, позицию каретки, но к счетчику трубы ее не прибавляем.
По идее система получается мобильная (приехали, прилепили катушку куда-то наверх на станину, конец троса на каретку, два концевика сунули куда-то в пасть гидрозажимам). Ну и точность думаю можно получить на уровне требуемых десятков сантметров.
Ну или придумать какое-то другое средство измерения положения каретки (ну к примеру лазерная рулетка, там вообще 1мм точность, тогда на каретку вообще ничего крепить не надо, хотя и снижается устойчивость против грязюки и суровых мужиков с ломами
, а дальше тот же принцип - труба отпущена - считаем, зажата - не считаем.