Sidebar Left

Modbus RTU и Modbus TCP: справочник разработчика

Modbus — самый распространённый промышленный протокол опроса: ему больше сорока лет, он предельно прост и поддерживается практически любым контроллером, датчиком, счётчиком или частотным приводом. Простота — и его сила, и источник большинства ошибок при интеграции: в протоколе нет самоописания, и смысл каждого регистра задаёт документация конкретного устройства.

Этот раздел — практическое руководство с разбором реальных кадров: из чего состоит запрос, как читается ответ, чем отличаются RTU и TCP, где чаще всего ошибаются.

Две разновидности одного протокола

Modbus RTU Modbus TCP
Среда Последовательная линия: RS-485, RS-422, RS-232 Сеть Ethernet, TCP-порт 502
Обрамление кадра Адрес устройства + PDU + контрольная сумма CRC16 Заголовок MBAP + PDU, контрольной суммы нет — её роль выполняет TCP
Разделение кадров Паузой в линии: не менее 3,5 символов между кадрами Границы задаёт поле длины в заголовке
Адресация устройств Адрес 1…247 в первом байте кадра IP-адрес плюс идентификатор устройства (unit id)
Одновременные запросы Строго по очереди: один мастер, один запрос Несколько запросов параллельно, ответы сопоставляются по номеру транзакции

Внутренняя часть — PDU с номером функции и данными — у обеих разновидностей одинакова. Поэтому, разобравшись с RTU, вы автоматически понимаете и TCP: меняется только обёртка.

Разделы справочника

Мастер и ведомые
В Modbus всегда есть ведущее устройство (мастер) и ведомые. Мастер один, инициатива всегда за ним: ведомое устройство отвечает только на адресованный ему запрос и само в линию не пишет. Ведомых в одном сегменте RS-485 может быть до 247, а практический предел задаёт нагрузка линии — обычно не больше 32 устройств без повторителя.

В наших контроллерах ТК16L и E-422 роль мастера выполняет сам контроллер: он опрашивает счётчики, датчики, станции управления и модули расширения, а собранные данные передаёт на верхний уровень. Подробнее — в разделе о применении Modbus в нашем оборудовании.

Смежные протоколы
Для приборов учёта электроэнергии в России применяется СПОДЭС на базе DLMS/COSEM — протокол устроен принципиально иначе, с объектной моделью и самоописанием. Ему посвящён отдельный справочник по СПОДЭС.

С чего начать
Если вы только подключаетесь к незнакомому устройству, порядок такой: узнать параметры линии (скорость, чётность, стоп-биты), узнать адрес устройства, найти в документации карту регистров, прочитать один регистр функцией 0x03 и сверить значение с показанием на дисплее прибора. Дальше — дело техники.

Style Selector

Primary Color

Direction