метрикор.
ГлоссарийСвязь и автоматика

Modbus: что это такое, протокол Modbus RTU и TCP простыми словами

Что такое протокол Modbus: как устроен обмен ведущего и ведомых устройств, что такое регистры, чем отличаются Modbus RTU и Modbus TCP и чем Modbus отличается от M-⁠Bus.

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

Как устроен обмен по Modbus

Обмен строится по принципу «запрос и ответ». Одно устройство задаёт вопросы, остальные только отвечают.

  • Ведущее устройство (в новой терминологии клиент) отправляет запрос: какому устройству, какую операцию выполнить, с какими данными. Обычно это УСПД, контроллер или сервер сбора данных.
  • Ведомое устройство (сервер) получает запрос, выполняет его и отправляет ответ. Это счётчик, вычислитель, датчик или модуль. Само по себе ведомое устройство ничего не передаёт, пока его не спросят.

В линии с последовательным интерфейсом у каждого ведомого устройства свой адрес, как правило от 1 до 247. Ведущее опрашивает приборы по очереди, поэтому время полного цикла опроса растёт с числом устройств и объёмом читаемых данных.

Регистры и коды функций

Данные в Modbus-устройстве представлены как набор пронумерованных ячеек. Их четыре типа.

ТипРазмерДоступЧто обычно хранят
Дискретные выходы (coils)1 битЧтение и записьКоманды включения и отключения
Дискретные входы1 битТолько чтениеСостояния: авария, дверь открыта, насос работает
Входные регистры16 битТолько чтениеИзмеренные значения
Регистры хранения16 битЧтение и записьИзмерения, накопленные значения, настройки

Операция задаётся кодом функции, например «прочитать регистры хранения» или «записать один регистр». Важно, что протокол не определяет смысл регистров. Какой регистр содержит накопленную энергию, а какой температуру подачи, решает производитель прибора и описывает в карте регистров. Без этой карты устройство с поддержкой Modbus подключить нельзя.

Значения больше 16 бит, например накопленные показания или числа с плавающей точкой, занимают два или четыре регистра подряд. Порядок слов в таких значениях у производителей разный, и неверный порядок даёт явно ошибочные числа. Это одна из самых частых проблем при наладке.

Modbus RTU и Modbus TCP

Протокол существует в нескольких вариантах. На практике встречаются два.

ПараметрModbus RTUModbus TCP
Среда передачиПоследовательная линия, чаще всего RS-⁠485Сеть Ethernet
Формат кадраДвоичный, с адресом устройства и контрольной суммойДвоичный, с заголовком, контроль целостности обеспечивает сеть
АдресацияАдрес устройства в линииIP-⁠адрес, порт по умолчанию 502 и номер устройства
ОбменОдин запрос в линии в каждый момент времениНесколько соединений одновременно
Где встречаетсяСчётчики, вычислители, датчики, модули вводаКонтроллеры, шлюзы, панели оператора

Варианты легко сочетаются: шлюз принимает запросы Modbus TCP из сети и передаёт их в линию RS-⁠485 в формате RTU. Так приборы с последовательным интерфейсом подключают к серверу через локальную сеть предприятия.

Где Modbus используется в учёте

  • Счётчики электроэнергии. На российском рынке счётчики чаще работают по собственным протоколам производителей или по протоколу СПОДЭС, Modbus есть лишь у части моделей. Такие счётчики подключают через УСПД или преобразователь протокола, который понимает их протокол. Поддерживаемый протокол каждой модели проверяют до проекта.
  • Теплосчётчики и вычислители. Тепловычислители и вычислители расхода с интерфейсом RS-⁠485 часто отдают по Modbus текущие параметры и архивы.
  • Контроллеры автоматики. ПЛК котлов, насосных станций и вентиляции передают по Modbus состояния, параметры и аварийные сигналы.
  • Модули ввода-вывода. Для оборудования без цифрового интерфейса ставят модуль ввода, который преобразует импульсные, аналоговые и дискретные сигналы в регистры Modbus.
  • УСПД и шлюзы. Собирают данные с линии и передают их на верхний уровень.

Платформа МБорд обменивается данными по Modbus RTU и TCP. Подключение приборов разных производителей, сверку карт регистров и настройку опроса мы выполняем в рамках интеграции с оборудованием. Как дальше обрабатываются считанные значения, подробно описано в статье о пути показания от счётчика до отчёта.

Чем Modbus отличается от M-⁠Bus

Названия похожи, но это разные технологии. M-⁠Bus создавалась специально для опроса счётчиков тепла, воды и газа. Она объединяет в себе физическую линию и протокол, может питать интерфейс прибора от самой шины (сам прибор при этом часто работает от батареи), а данные передаёт в стандартизованном виде с указанием единиц измерения. Modbus универсален: это только протокол, физическую линию для него задают отдельно (RS-⁠485 или Ethernet), а смысл данных описывает производитель. Для подключения M-⁠Bus приборов к системе на Modbus используют преобразователи.

Вопросы и ответы

Modbus и RS-⁠485: это одно и то же?

Нет. RS-⁠485 описывает электрическую линию, по которой идут сигналы, а Modbus определяет содержание сообщений. По линии RS-⁠485 могут работать и другие протоколы, а Modbus может работать по Ethernet.

Если у прибора есть Modbus, его точно можно подключить?

Как правило, да, но нужна карта регистров от производителя и проверка настроек: адреса, скорости, формата данных. Совместимость каждой модели проверяют на обследовании.

Можно ли по Modbus управлять оборудованием?

Технически да, через запись регистров и дискретных выходов. Будет ли система управлять оборудованием, определяет проект и права доступа.

Что выбрать: RTU или TCP?

Выбор определяется приборами. Счётчики и датчики чаще поддерживают RTU по RS-⁠485, контроллеры и шлюзы работают по TCP. В одной системе обычно используются оба варианта.

Обновлено 7 октября 2026