Тогда просто добавьте таймаут.
Он не должен повлиять сильно на скорость обмена - если пришел полный кадр Modbus, то он не будет ждать заданное время.