[an error occurred while processing this directive]
возможно это имеет место в каком-то конкретном устройстве. Я же открываю спецификацию OpenModbus
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено koyodza 25 июля 2006 г. 16:27
В ответ на: "Если подчиненный дает нормальный ответ, код функции в ответе повторяет код функции в запросе. В байтах данных содержится затребованная информация. Если имеет место ошибка, то код функции модифицируется, и в байтах данных передается причина ошибки. " отправлено Megajohn 25 июля 2006 г. 16:13

MODBUS Application Protocol Specification V1.1a June 4, 2004
порядок чтения регистров такой:

соответствует ли код функции? если нет - ошибка 01;
количество запрошенных регистров не менее 1 и не более 125? если нет - ошибка 03;
стартовый адрес + количество регистров ОК? если нет - ошибка 2;
чтение регистров, если не успешно - ошибка 04

то же и для записи, и для битовых регистров. Логично предположить что если мы читаем из несуществующего регистра, то должна быть ошибка 04 (как и при записи), но с битовыми регистрами такого не происходит, т.к. их может быть меньше 16, а несуществующие (или просто дырки) забиваются нулями. В любом случае мы пришли к выводу, что подобная реализация более безопасна, не говоря уже о простоте.

Если найдете четкие рекомендации по этому поводу (а не слухи через пятые уши) то пожалуйста сообщите

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание