Перейти к содержанию

Навигация

Modbus: различия между версиями

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

правка