translator, wb_editors
4544
правки
Matveevrj (обсуждение | вклад) |
Matveevrj (обсуждение | вклад) |
||
Строка 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]. | ||
Мастер получает ответ от устройства и отправляет подтверждение, о том что сообщение получено. Только после этого устройство сбросит возникшее событие. Если подтверждения нет, устройство отправит этот же ответ снова при следующем запросе. | Мастер получает ответ от устройства и отправляет подтверждение, о том что сообщение получено. Только после этого устройство сбросит возникшее событие. Если подтверждения нет, устройство отправит этот же ответ снова при следующем запросе. |