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, количество устройств и карту данных.