wb_editors
559
правок
N.kulikov (обсуждение | вклад) |
|||
Строка 270: | Строка 270: | ||
<!--T:48--> | <!--T:48--> | ||
В случае ограниченных вычислительных ресурсов для вычисления контрольной суммы существует функция, использующая табличные значения (также приведена в спецификации). | В случае ограниченных вычислительных ресурсов для вычисления контрольной суммы существует функция, использующая табличные значения (также приведена в спецификации). | ||
== Расширение протокола Modbus Wirenboard == | |||
Мы производим устройства которые работают по стандартному протоколу Modbus RTU. Но протокол очень старый и имеет некоторые недостатки. Ниже описаны некоторые полезные изменения в работе с шиной, которые мы добавили в наши устройства. | |||
=== Настраиваемое время задержки ответа устройством === | |||
Некоторые старые мастер устройства могут после отправки запроса продолжать удерживать приемопередатчик в режиме отправки некоторое время. Это может стать проблемой если подчиненное устройство будет отвечать по стандарту через 3.5 символа после конца кадра запроса. В таком случае через регистр 113 можно настроить время в миллисекундах через которое подчиненное устройство будет отправлять ответ чтобы мастер гарантированно перевел приемопередатчик в режим приема. | |||
=== Стопбиты === | |||
Устройства всегда ожидают от мастера 1 стопбит и отправляют ответ с 2мя. Благодаря этому невозможно неправильно настроить стопбиты на мастере и на устройсвте. Передача ответов боллее надежная даже если мастер ожидает 1 стопбит. Настройка стопбитов в устройстве (регистр 112) игнорируется. | |||
=== Режим сплошного чтения регистров === | |||
Часто на устройствах регистры расположены с зазором который не позволяет читать все необходимые регистры подряд одной командой. Мы добавили режим сплошного чтения который активируется записью 1 в регистр 114. При активации можно запрашивать любой регион который укладывается по длине в ограничения команды чтения. Устройство не будет отвечать ошибку и вернет пакет со значением регистров. Регистры которые не существуют в карте будут читаться как 0xFFFE. | |||
</translate> | </translate> |