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

Строка 24: Строка 24:
===Как это работает?===
===Как это работает?===
[[File:register_polling.png|500px|thumb|right|Опрос регистров в Быстром Modbus и стандартном протоколе]]
[[File:register_polling.png|500px|thumb|right|Опрос регистров в Быстром Modbus и стандартном протоколе]]
Мастер каждые 50 мс отправляет в шину широковещательный запрос, который получают все устройства на шине. Если устройство сгенерировало событие оно отправляет ответ содержащий идентификатор события, его тип и дополнительные данные. Если таких устройств несколько, они устраивают арбитраж, в котором побеждает устройство у которого Slave ID меньше. Подробнее про арбитраж на github.
Мастер каждые 50 мс отправляет в шину широковещательный запрос, который получают все устройства на шине. Если устройство сгенерировало событие оно отправляет ответ содержащий идентификатор события, его тип и дополнительные данные. Если таких устройств несколько, они устраивают арбитраж, в котором побеждает устройство у которого Slave ID меньше. Подробнее про арбитраж читайте на [https://github.com/wirenboard/wb-modbus-ext-scanner/blob/main/protocol.md github].


Мастер получает ответ от устройства и отправляет подтверждение, о том что сообщение получено. Только после этого устройство сбросит возникшее событие. Если подтверждения нет, устройство отправит этот же ответ снова при следующем запросе.  
Мастер получает ответ от устройства и отправляет подтверждение, о том что сообщение получено. Только после этого устройство сбросит возникшее событие. Если подтверждения нет, устройство отправит этот же ответ снова при следующем запросе.  
translator, wb_editors
4344

правки