Думаю, тут неправ modbus.org
А данные я и передаю, так как они хранятся. И никакой перекодировкой не занимаюсь.
Например, стандартный float запихиваю в union:
union {float aFlt; char b[4];} uFlt;
uFlt.aFlt=fWeight;
// и в данных для передачи получаю Большого-большого Индейца
TxData[3]=uFlt.b[3];
TxData[4]=uFlt.b[2];
TxData[5]=uFlt.b[1];
TxData[6]=uFlt.b[0];
А не использовать long/real вообще... Спасибо, но лучше - вы к нам ~(с)
Кстати, в своих приборах я вышел из этой проблемы, сделал настройку Индейца.
Теперь по команде мастера переключаюсь с Большого-большого Индейца на Малого-большого.
Чего и вашему лоджику желаю!
И других успехов в новом году!