Про это я в курсе, это описано в документации на прибор МВА8. Указанный Вами код ошибки, как и сам результат измерения, можно считать из прибора, получив "нормальный" ответ от прибора. В терминах протокола Модбас такой ответ называется "positive response" со структурой байт, например для функции 0х03:
- Function code (1 byte),
- Byte count (1 byte),
- Register value (N x 2 byte).
Но в классическом Модбасе существует ещё один вид ответа слейва "Exeption response", про который я и спрашиваю. Его структура для всех функций:
- Error code (1 byte),
- Exeption code (1 byte),
где Error code = Function code | 0x80;
В классической ситуации мастеру может быть возвращено разное количество байт на один и тот же запрос.
У меня свой контроллер (не ОВЕН), для которого я и пишу обмен с овеновскими блоками, почему и потребовались такие тонкости.В принципе, при опросе модулей контроллером сами ошибки связи (например таймаут) выдаются в plc configuration, в переменных last error