Цель - решить проблему с кривым слейвом. Имея готовую "правильную" реализацию Modbus TCP это сделать очень просто - заменить проверку длины ответа (строгое равенство =) на >=.
Со слейва нужно вытаскивать много данных разными запросами, т.е. нужен полноценный Modbus TCP. Слейв просто лепит везде лишний байт, а так отвечает нормально.