Извиняюсь за свой предыдущий глупый вопрос.
В Modbus.lib читают одним блоком в

rBuf: ARRAY[0..511] OF BYTE;
....
Size := DWORD_TO_WORD(SysComRead(ComHandle, ADR(rBuf), SIZEOF(rBuf), 0));

а меня интересует извлечение и буфера по частям