Переменную mot перенесите из шапки PLC_PRG в GLOBAL_RETAIN.
Переменные, описанные в конфиге в Mobus (slave) имеют статус GLOBAL_RETAIN.
Кроме того, переменная start описана два раза - в конфиге и в шапке ПЛЦ_ПРГ. В шапке - лишняя. Переменные в конфиге имеют статус глобальных.
Не совсем понятен смысл передачи в ИП переменной типа REAL, если в ИП все равно отбрасывается дробная часть. Лично я предпочитаю обменивать по связи только WORD.
И самое главное - при включении питания mot_ctud на выходе CV имеет показания 0. Далее оно присваивается mot. По этому и происходит сброс показаний.
Показания необходимо аккумулировать в другой переменной, к которой прибавляются показания mot_ctud, а её сброс делается независимо от сброса счетчиков.
И вообще, алгоритм счета можно выполнить и без счетчиков из библиотеки, написав свою POU , где моточасы инкриминируются по фронту блинка.
Вот, малость накидал что мог. Это просто для ознакомления принципа.
В данном примере в ретайне сохраняются минуты, часы высчитываются математически. Задание новых моточасов приводит к пересчету счетчика минут. Переменная mot_reset нигде не задается, необходимо исправить.