Быстрый Modbus от Wirenboard
Открытое расширение протокола Modbus-RTU, разработанное компанией Wirenboard.
Суть, кратко
Решает одну из основных проблем традиционного Modbus - медленную доставку сообщений до мастера, т.к. необходимо опросить все состояния всех устройств явно и от всех дождаться ответа.
В быстром Modbus реализован "оптовый" опрос всех устройств на шине и если произошли какие-то события - то они сразу сообщаются мастеру. Опрос происходит раз в 50мс, в подавляющем большинстве случаев за это время мастер и узнаёт о событии.
На случай большого количества событий предусмаотрена возможность приоретизации, чтобы важные события отправлялись в первую очередь.
Описание протокола
Протокол публично описан:
- на сайте компании - общие принципы и настройки в оборудовании Wirenboard.
- на github- подробное описание протокола на уровне сообщений в шину, там же есть образец реализации.
- на хабре - статья с подробным рассказом о проблематике, пути и решении проблемы, принципах работы протокола
По условиям использования, в другой статье на хабре говорится, что сам протокол открыт и бесплатен - можно реализовать самостоятельно. Плюс есть фреймворк, который можно купить чтобы воспользоваться опытом WB в написании прошивок.
Можно использовать фреймворк, включающий всю компетенцию компании в написании прошивок за 10 лет. В нём есть механизм обновления прошивок по Modbus с помощью open source инструментов. Причем реализация очень компактная. Внутри используются микроконтроллеры класса Cortex M0, на картинке выше перечислены поддерживаемые платформы. Цена микроконтроллеров сегодня – 65 центов, в результате устройства получаются очень дешевыми в производстве. Условия тоже довольно комфортные: роялти с устройства 100 рублей, потолок 500 тысяч рублей в год. Больше вы не заплатите, сколько бы устройств в год не продали.
Но использовать наш фреймворк совершенно необязательно — спецификации протокола открытые, кто угодно их может использовать, то есть цена в данном случае за фреймворк и прошивки Wiren Board.