Разбор отличий Modbus RTU от Modbus TCP: физическая среда, адресация, кадры и практика применения. Материал помогает выбрать вариант протокола под задачу и избежать типовых ошибок настройки.
- Modbus RTU передаёт бинарный кадр с CRC по последовательной линии RS-485, реже RS-232.
- Modbus TCP упаковывает тот же Modbus в TCP/IP поверх Ethernet, добавляя MBAP-заголовок вместо CRC.
- В RTU слейвы адресуются номерами 1–247, в TCP — по IP-адресу и порту 502, поле Unit ID работает за шлюзом.
- RTU применяют для полевых приборов с RS-485, TCP — для связи с SCADA, ПЛК и панелями оператора.
- Частые ошибки: путаница адреса слейва с IP, отсутствие согласования линии RS-485, неверный порядок регистров, закрытый порт 502.
- Совместить оба варианта в одной системе можно через шлюз, транслирующий TCP-запросы в RTU.
- Modbus RTU
- Modbus TCP
- RS-485
- RS-232
- CRC
- MBAP-заголовок
- Unit ID
- SCADA
Кому полезно: Инженерам АСУ ТП, настраивающим обмен с полевыми приборами, ПЛК и SCADA
- Обучение ПОДКЛЮЧЕНИЕ ПЛК MITSUBISHI FX2N ПО RS-232 К SCADA TRACE MODE 7
- Обучение Подключение ПЛК Delta DVP к SCADA TRACE MODE (RS-232)
- Статья Как правильно прокинуть интерфейсы RS-232/422/485 через оптику?
Выжимка составлена редакцией сайта с помощью ИИ по тексту статьи.
Modbus RTU — это последовательный протокол поверх RS-485 (реже RS-232), с компактным бинарным кадром и контролем CRC. Modbus TCP — тот же Modbus, но инкапсулированный в TCP/IP поверх Ethernet, с MBAP-заголовком вместо CRC. RTU выбирают для полевых приборов и длинных линий, TCP — для связи с SCADA, ПЛК и по локальной сети.
Modbus — открытый протокол прикладного уровня, работающий по модели OSI поверх разных физических сред [1][6]. Логика обмена одинакова: мастер шлёт запрос, слейв отвечает. Отличие в том, как кадр передаётся по проводу. В RTU кадр идёт байтами по последовательной линии, адресация и CRC зашиты в сам кадр. В TCP кадр упаковывается в пакет Ethernet, добавляется MBAP-заголовок, а целостность обеспечивает сам TCP.
Физическая среда. Modbus RTU обычно работает по RS-485: витая пара, до 32 устройств на шину (с повторителями больше), длина линии до 1200 м на низких скоростях. Скорость — от 1200 до 115200 бит/с, типовые значения 9600 и 19200. Modbus TCP работает по Ethernet (100 Мбит/с и выше), среда — витая пара или оптика, ограничения по длине определяются стандартом Ethernet, а не протоколом.
Адресация. В RTU у каждого слейва свой адрес на шине (1–247), мастер опрашивает их по очереди. В TCP адресация идёт по IP-адресу и порту (стандартно 502), а поле Unit ID в MBAP-заголовке позволяет обращаться к устройствам за шлюзом. Часто встречается схема: SCADA по Modbus TCP — шлюз — полевые приборы по Modbus RTU.
Практика. Modbus TCP удобен там, где есть сеть: подключение к SCADA, обмен между ПЛК и панелями оператора, регистраторы и УСО [2][3][5][8]. Настройка сводится к указанию IP-адреса сервера, порта и активации драйвера [4]. Modbus RTU остаётся стандартом для датчиков, преобразователей и приборов с RS-485, где Ethernet нецелесообразен.
Типичные ошибки. Путают адрес слейва и IP-адрес. Забывают про согласование линии RS-485 (терминаторы, экран, общий провод). Неверно задают порядок регистров (word/byte swap) при чтении 32-битных значений. В TCP забывают про брандмауэр и порт 502 [4]. Ещё одна ошибка — смешивать RTU и TCP на одном шлюзе без учёта таймаутов.
Материалы сайта по теме
- Что такое Modbus? Протокол ModBus RTU и Modbus TCP
- Подключение по MODBUS TCP за 3 минуты
- Подключение по MODBUS TCP за 3 минуты
- Веселые уроки WinCC OA. Драйвер Modbus TCP
- Обмен по протоколу Modbus RTU/TCP между ПЛК LicOS и панелями оператора Flexem
- Что такое Modbus? Протокол ModBus RTU и Modbus TCP
Частые вопросы
Можно ли соединить Modbus RTU и Modbus TCP в одной системе?
Да, через шлюз (например, Ethernet-RS-485). Мастер по TCP обращается к шлюзу, тот транслирует запросы в RTU к полевым приборам.
Какой порт используется по умолчанию в Modbus TCP?
502. Его нужно разрешить в брандмауэре, иначе драйвер не подключится [4].
Какая максимальная длина линии RS-485 для Modbus RTU?
До 1200 м на низких скоростях. На высокой скорости длина сокращается, поэтому применяют повторители.
Что быстрее — RTU или TCP?
TCP быстрее за счёт скорости Ethernet, но реальное время отклика зависит от опроса и задержек сети. RTU на 9600 бит/с заметно медленнее.
Нужен ли CRC в Modbus TCP?
Нет. В TCP целостность обеспечивает транспортный уровень, а в кадре вместо CRC стоит MBAP-заголовок.