[an error occurred while processing this directive]
|
MODBUS Application Protocol Specification V1.1a June 4, 2004
порядок чтения регистров такой:
соответствует ли код функции? если нет - ошибка 01;
количество запрошенных регистров не менее 1 и не более 125? если нет - ошибка 03;
стартовый адрес + количество регистров ОК? если нет - ошибка 2;
чтение регистров, если не успешно - ошибка 04
то же и для записи, и для битовых регистров. Логично предположить что если мы читаем из несуществующего регистра, то должна быть ошибка 04 (как и при записи), но с битовыми регистрами такого не происходит, т.к. их может быть меньше 16, а несуществующие (или просто дырки) забиваются нулями. В любом случае мы пришли к выводу, что подобная реализация более безопасна, не говоря уже о простоте.
Если найдете четкие рекомендации по этому поводу (а не слухи через пятые уши) то пожалуйста сообщите