Открыть сервисСервис

Modbus — промышленный протокол обмена данными

Modbus — промышленный протокол обмена данными между устройствами автоматизации, разработанный в 1979 году компанией Modicon (ныне Schneider Electric) для связи программируемых логических контроллеров (ПЛК) с компьютерами и промышленными приборами. Протокол стал одним из наиболее распространённых в мире стандартов промышленной автоматизации и остаётся открытым: его спецификация опубликована без лицензионных ограничений, что обеспечило широкое поддержку со стороны производителей оборудования.

История

Протокол Modbus был разработан в 1979 году инженерами Modicon — компанией, основанной в 1968 году и ставшей одним из пионеров производства ПЛК. Первоначально протокол использовался для связи ПЛК серии Modicon 984 с промышленными панелями операторов и компьютерами.

В 2004 году компания Modicon, к тому времени вошедшая в состав Schneider Electric, передала права на протокол организации Modbus Organization. С тех пор спецификация Modbus публикуется открыто и доступна для внедрения без выплаты роялти. Это решение закрепило статус протокола как де-факто отраслевого стандарта: на рынке присутствуют тысячи сертифицированных устройств от сотен производителей.

Принцип работы

Modbus использует модель «мастер — подчинённый» (в современной терминологии — «клиент — сервер»). Мастер инициирует обмен, отправляя запрос, а подчинённое устройство (slave) отвечает на него. В сети может работать один мастер и до 247 подчинённых устройств, адресация которых задаётся в диапазоне 1–247.

Протокол не определяет физический уровень связи, поэтому может работать поверх различных транспортов:

ТранспортОписание
RS-232Последовательная связь на короткие расстояния (до 15 м), точка — точка
RS-485Последовательная связь на расстояния до 1200 м, до 32 устройств на шину, дуплекс
Ethernet (Modbus TCP/IP)Сетевой обмен по TCP-порту 502, высокая скорость и масштабируемость
Modbus RTU over TCPКадры RTU, инкапсулированные в TCP-пакеты

Форматы протокола

Существует три основных варианта протокола:

  • Modbus RTU (Remote Terminal Unit) — бинарный формат передачи данных по последовательной линии. Каждый кадр содержит адрес устройства, код функции, данные и контрольную сумму CRC-16. Наиболее распространённый вариант в промышленных сетях на базе RS-485.
  • Modbus ASCII — текстовый формат, в котором данные кодируются в виде ASCII-символов. Более простой для отладки, но менее эффективный по скорости передачи. Встречается реже, чем RTU.
  • Modbus TCP/IP — вариант для Ethernet-сетей. Кадры Modbus инкапсулируются в TCP-пакеты, адресация расширяется за счёт IP-адресов. Порт по умолчанию — 502.

Модель данных

Протокол оперирует четырьмя типами данных:

ТипОписаниеРазмер
Discrete InputsДискретные входы (только чтение)1 бит
CoilsКатушки (чтение/запись)1 бит
Input RegistersВходные регистры (только чтение)16 бит
Holding RegistersРегистры хранения (чтение/запись)16 бит

Адресация начинается с 0 или 1 в зависимости от реализации, что исторически является источником путаницы при интеграции устройств разных производителей.

Функции протокола

Базовый набор функций включает:

  • 01 — чтение дискретных выходов (Coils);
  • 02 — чтение дискретных входов;
  • 03 — чтение регистров хранения;
  • 04 — чтение входных регистров;
  • 05 — запись одного дискретного выхода;
  • 06 — запись одного регистра хранения;
  • 15 (0x0F) — запись нескольких дискретных выходов;
  • 16 (0x10) — запись нескольких регистров хранения.

Дополнительно определены функции диагностики, счётчика событий и записи журналов. Всего в спецификации описано более 40 функций.

Применение

Modbus применяется в системах промышленной автоматизации: диспетчеризация и SCADA-системы, сбор данных с датчиков и исполнительных устройств, управление частотными преобразователями, интеграция счётчиков энергоресурсов, системы вентиляции и кондиционирования, умные здания. Протокол поддерживается большинством производителей ПЛК, включая Siemens, Allen-Bradley, ABB, ОВЕН, Три Контур, Модульные Системы Управления.

Ограничения

Протокол не имеет встроенных механизмов аутентификации и шифрования, что делает его уязвимым в сетях с открытым доступом. В промышленных системах защита обеспечивается на уровне сетевой инфраструктуры — сегментацией, файрволами, VPN. Стандарт Modbus TCP/TLS и спецификация Modbus Security (2024) направлены на решение этой проблемы.

Интересные факты

  • Modbus стал одним из немногих промышленных протоколов, переживших смену нескольких поколений оборудования — от релейных систем 1970-х до современных IoT-устройств.
  • В 2023 году Modbus отмечал 44-летие, оставаясь одним из самых массово внедряемых протоколов в мире: по оценкам отраслевых аналитиков, в мире работает свыше 10 миллионов устройств с поддержкой Modbus.

Источники:

  • Спецификация Modbus Application Protocol V1.1b3, Modbus Organization
  • Schneider Electric. История протокола Modbus
  • «Промышленные сети и протоколы», учебные материалы по промышленной автоматизации
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru