Время работы
8:00 - 18:00
Автоматизация систем управления технологическими процессами. Оборудование для автоматизации.
×

Варианты расширения протокола Modbus: ускорение опроса и чуть-чуть о безопасности

Modbus — по сути дела, общепринятый стандарт в системах автоматизации для взаимодействия с датчиками, исполнительными механизмами, модулями ввода-вывода и программируемыми логическими контроллерами.

В сферах, где требуется событийная модель, его постепенно вытесняют более новые стандарты, такие как IEC 60870-5-101/103/104, CANopen, DNP3 и подобные, однако благодаря простоте, модели «запрос-ответ» и возможности работы в полудуплексном режиме, Modbus остается отличным решением для систем телеметрии при работе через радиомодемы.

При увеличении количества объектов, опрашиваемых с базовой станции, и увеличении объемов данных (значения с сенсоров, состояние ввода-вывода, архивы, и т.д.), встает вопрос скорости опроса. Главным недостатком при работе через радиомодем является время «разогрева» радиомодуля при каждой инициации передачи запроса (оно может достигать 200-500 мс), которое умножается на количество узлов ретрансляции. При большой длине цепочки ретрансляции также увеличивается вероятность, что пакет запроса и ответа на него вообще не дойдет до адресата из-за помех. Это всё законы физики, и их не обойти никак.

Про очевидные приемы, вроде группирования в адресном пространстве данных так, чтобы их можно было считать за один запрос, хранения всех значений в Holding-зоне (а не отдельно в Holding и Inputs) по той же причине, мы разбирать не будем, а задумаемся, как же можно улучшить Modbus, чтобы оптимизировать радиообмен. Предложенные решения можно легко реализовать, если вы одновременно являетесь и разработчиком верхнего (OPC-сервер), и разработчиком среднего (контроллерного) уровня, или же если между разработчиками налажен тесный контакт.

Важным вопросом будет сохранение совместимости, чтобы, к примеру, ваш контроллер также мог быть опрошен любым другим стандартным OPC-сервером, а не только вашей разработкой. В случае с Modbus это легко, т.к. стандартных функций там около 24 (из которых обычно на практике используется в лучшем случае половина), а остальные являются либо «пользовательскими», либо зарезервиванными. Как минимум, функции от 65 до 72 и от 100 до 110 можно свободно переопределять для своих нужд, чем мы и займемся....

Источник

 

К другим статьям