Modbus
Открытый протокол обмена данными между промышленными устройствами. Самый распространённый стандарт для подключения датчиков, контроллеров, частотников и SCADA. Варианты: Modbus RTU (RS-485) и Modbus TCP (Ethernet).
Modbus — промышленный протокол связи, созданный компанией Modicon в 1979 году. Благодаря открытой спецификации стал стандартом де-факто в автоматике: 90% современных контроллеров, частотников, датчиков с цифровым выходом поддерживают Modbus. Для подключения новых и старых систем автоматики это самый простой и надёжный выбор.
Основных вариантов два. Modbus RTU работает по последовательной линии RS-485 на скорости 9600–115200 бод, до 32 устройств на одной шине длиной до 1200 м — это основной вариант для полевого уровня автоматики. Modbus TCP работает поверх Ethernet, не имеет ограничений на количество устройств, работает через роутеры и даже через интернет — это выбор для современных систем с диспетчеризацией. Устаревший Modbus ASCII в текстовом виде почти не используется.
Архитектура «мастер-слейв»: одно устройство (мастер) опрашивает несколько ведомых по уникальным адресам 1–247. Данные передаются 16-битными регистрами, где каждый параметр имеет свой адрес. Производитель публикует карту регистров: например, у частотника INSTART температура радиатора может быть по адресу 0x1002, частота на выходе — по 0x1003. Основные коды функций: 03 — чтение holding registers, 04 — чтение input registers, 06 — запись одного регистра, 16 — запись нескольких.
Выбор между вариантами простой: для нового объекта с Ethernet-инфраструктурой — Modbus TCP (быстрее, нет ограничений, легче интегрировать со SCADA), для модернизации старых систем с существующими RS-485 устройствами — RTU, для длинных линий без Ethernet-коммутаторов — RTU с его 1200 м дистанцией. Modbus проще BACnet и дешевле, но BACnet специализирован для автоматики зданий и передаёт объекты с метаданными — его стоит выбирать для крупных BMS и интеграции разнородных систем. Нормативная база — открытая спецификация Modbus Application Protocol V1.1b3 от Modbus Organization.
Частые вопросы
Какая длина кабеля допустима для Modbus RTU?
Стандартно до 1200 метров на скорости 19200 бод. На 115200 бод — до 100-200 метров. При большей длине используются повторители (repeater). Для надёжности — витая пара с экраном (кабель FTP CAT5e, экран подключён к «земле» только с одной стороны).Можно ли подключить несколько Modbus устройств к контроллеру?
Да, это основа Modbus. На одной шине RS-485 — до 32 устройств (теоретически 247 через повторители). На Modbus TCP — ограничений нет (ограничивается производительностью сервера). Каждое устройство имеет уникальный адрес (1-247).Чем Modbus отличается от BACnet?
Modbus проще и дешевле, BACnet специализирован для автоматики зданий. Modbus передаёт сырые данные (регистры), BACnet — объекты с метаданными (например, «температура в комнате 101, тип Pt100»). Для простой автоматики — Modbus. Для крупных BMS и интеграции разнородных систем — BACnet.
Источники
- Modbus Application Protocol Specification V1.1b3 — Modbus Organization