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

Modbus TCP/IP

Modbus TCP/IP — это открытый коммуникационный протокол, основанный на архитектуре «клиент-сервер», предназначенный для обмена данными между устройствами автоматизации (программируемыми логическими контроллерами, датчиками, исполнительными механизмами) через сети на базе стека протоколов TCP/IP. Является расширением классического последовательного протокола Modbus (RTU/ASCII) на среду Ethernet. Официально стандартизирован в 1999 году компанией Modicon (ныне подразделение Schneider Electric) и с тех пор поддерживается некоммерческой организацией Modbus Organization.

История

Протокол Modbus был разработан в 1979 году компанией Modicon для использования в программируемых логических контроллерах (ПЛК) серии 984. Изначально он предназначался для последовательных интерфейсов RS-232 и RS-485. С развитием промышленного Ethernet и потребностью в более высокой скорости передачи данных (до 100 Мбит/с и выше) возникла необходимость адаптировать протокол для работы в локальных вычислительных сетях.

В 1999 году компания Modicon (к тому моменту вошедшая в состав Schneider Electric) опубликовала спецификацию Modbus TCP/IP. В отличие от последовательных версий, в новой реализации адресация устройств перестала быть жёстко привязанной к физическим номерам (slave ID). Адресация стала осуществляться по IP-адресам, а идентификатор устройства (Unit Identifier) стал использоваться для маршрутизации внутри устройств с несколькими виртуальными портами.

В 2004 году протокол был передан на управление некоммерческой организации Modbus Organization, которая продолжает развивать и поддерживать спецификацию, а также проводит сертификацию устройств на совместимость.

Архитектура и принцип работы

Modbus TCP/IP использует модель «клиент-сервер». В традиционной терминологии Modbus клиент называется «мастером» (Master), а сервер — «ведомым» (Slave). Однако в TCP/IP-реализации терминология смещена: инициатором запроса выступает клиент (обычно SCADA-система, ПЛК или шлюз), а устройство, предоставляющее данные, — сервер (датчик, исполнительный механизм, контроллер).

Стек протоколов

Modbus TCP/IP работает поверх стека TCP/IP. Это означает, что данные инкапсулируются в TCP-сегменты, которые, в свою очередь, упаковываются в IP-пакеты. Стандартный порт для Modbus TCP/IP — TCP-порт 502. Использование TCP гарантирует доставку данных и контроль целостности потока, что упрощает реализацию по сравнению с последовательными версиями (где контроль целостности реализован на уровне кадра).

Структура кадра Modbus TCP/IP

Кадр Modbus TCP/IP (Modbus TCP Application Data Unit — ADU) состоит из двух частей: заголовка (MBAP — Modbus Application Protocol) и тела (PDU — Protocol Data Unit).

MBAP-заголовок (7 байт):

PDU (тело сообщения):

Адресация

В Modbus TCP/IP адресация устройств осуществляется по IP-адресам. Поле Unit Identifier (UID) используется для маршрутизации внутри устройства, если оно поддерживает несколько виртуальных портов (например, шлюз Modbus TCP/IP — Modbus RTU). В большинстве случаев UID устанавливается в 0xFF (255) или в 0x00.

Классификация и виды

Можно выделить несколько разновидностей реализации Modbus TCP/IP:

  1. Односвязный (direct connection): Клиент и сервер напрямую соединены через Ethernet-кабель или коммутатор. Наиболее распространённый вариант.
  2. Многосвязный (multi-drop): Несколько серверов подключаются к одному клиенту через Ethernet-коммутатор. Адресация осуществляется по IP-адресам.
  3. Через шлюз: Modbus TCP/IP используется как транспорт для связи с устройствами, работающими по последовательным протоколам Modbus RTU/ASCII. Шлюз преобразует TCP/IP-пакеты в последовательные кадры и обратно.
  4. Беспроводной (Wireless Modbus TCP/IP): Передача данных через Wi-Fi, LoRaWAN или сотовые сети (3G/4G/5G) с использованием туннелирования TCP/IP.

Характеристики и особенности

Применение

Modbus TCP/IP является одним из самых распространённых промышленных протоколов благодаря своей простоте, открытости и низкой стоимости реализации. Основные области применения:

Примеры оборудования

Критика и ограничения

Несмотря на широкое распространение, Modbus TCP/IP имеет ряд недостатков:

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

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →