так забитый буфер это один из вариантов. а модбас.lib не рулит портом, а пользуется им как дыркой куда не глядя пихает/берет данные. Рулите дыркой - Вы. И как - никто не знает. Проекта - нет.Если бы буфер был забит - была бы дискотека на индикаторе RX.
Что касается забитости буфера, да и вообще, раз уж влезли в модбас.lib, то никто же не мешает поставить программную ловушку ошибки типа:
Код:... X:= SysComWrite(ComHandle, ADR(DataBuf), DataSize, 0); (*X - DINT*) if X <> DataSize then какой-то флажок поднять; (*а в основном коде по этому флажку посмотреть X. Если <= 0 проблемы с портом. Его кто-то закрыл? Если <> 0 - забит буфер*) end_if Read := (*SysComWrite(ComHandle, ADR(DataBuf), DataSize, 0)*) X = DataSize; ...




Ответить с цитированием