Modbus: варианты RTU, ASCII и TCP для промышленного обмена

Что такое Modbus

Modbus — протокол прикладного уровня, разработанный Modicon для обмена технологическими данными. Современная спецификация описывает клиент-серверные транзакции и функции чтения или записи. Клиент формирует запрос, а сервер обрабатывает его и возвращает ответ либо код исключения.

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

Modbus RTU, ASCII и TCP

  • Modbus RTU передаёт компактные двоичные кадры по последовательной линии и использует контрольную сумму CRC.
  • Modbus ASCII кодирует байты символами ASCII и применяется заметно реже; его нельзя считать взаимозаменяемым с RTU без перенастройки.
  • Modbus TCP переносит сообщения через TCP/IP и добавляет заголовок MBAP для идентификации транзакций и адреса устройства за шлюзом.

Для последовательной сети дополнительно согласуют интерфейс RS-232/422/485, скорость, формат символа, адреса и тайм-ауты. Для TCP-сети проверяют IP-адресацию, порт, число соединений, тайм-ауты и поведение устройства при восстановлении связи.

Модель данных и функции

Базовая модель включает дискретные выходы coils, дискретные входы, входные регистры и holding registers. Функциональные коды задают операции чтения, записи и диагностики. Адреса, масштабирование, единицы измерения и назначение регистров определяет документация конкретного устройства.

Особенно важно согласовать нумерацию адресов и порядок слов для значений, занимающих несколько 16-битных регистров. Спецификация задаёт передачу байтов внутри регистра, но представление 32- и 64-битных значений может различаться у производителей.

Ограничения и кибербезопасность

  • классический Modbus не описывает семантику параметров и автоматическое обнаружение модели устройства;
  • карта регистров и поддерживаемые функциональные коды являются частью интеграционной документации;
  • обычный Modbus TCP не следует выводить в недоверенную сеть без сегментации и защитных мер;
  • Modbus Security добавляет TLS, сертификаты X.509 и защиту целостности, но его поддержку необходимо подтверждать для обеих сторон.

Оборудование Modbus

Modbus встречается в контроллерах, удалённом вводе-выводе, измерителях, приводах и датчиках. Для преобразования Modbus RTU/ASCII в Modbus TCP или обмена с другими протоколами используют шлюзы промышленных протоколов. Перед подбором указывают вариант Modbus, интерфейс, роль client/server, количество устройств и карту данных.