
Протоколы · Modbus
Modbus RTU и TCP — практическое руководство по интеграции
Как работают Modbus RTU и TCP, как читать карту регистров и какие детали масштабирования, опроса и отказов вызывают большинство ошибок интеграции.
Краткий ответ
Modbus — простой протокол запросов и ответов, построенный на катушках и регистрах. RTU работает по последовательным линиям, TCP — по Ethernet. Он передаёт данные, но не смысл, поэтому карта регистров, масштабирование, порядок слов и права записи должны быть подтверждены письменно. Modbus идеален для счётчиков, инверторов и простого оборудования, но не для быстрых блокировок.
Модель регистров, а не модель данных
Modbus предоставляет катушки, дискретные входы, входные регистры и регистры хранения. Он не определяет, что означает регистр; это делает производитель устройства. Один счётчик может размещать энергию в двух регистрах хранения, другой может использовать иной порядок слов, а третий может требовать масштабный коэффициент. Поэтому проект Modbus начинается с карты регистров, а не с кабеля. Карта должна указывать адрес, тип данных, масштаб, единицу, доступ и поведение при прекращении ответов устройства. Карта регистров, в которой указана энергия без единицы, масштаба или порядка слов, — не спецификация, а надежда, которая будет проверена при пусконаладке, обычно в самый неподходящий момент.
- Начинайте с карты регистров производителя
- Фиксируйте масштаб, единицу и тип данных для каждой точки
- Определите поведение каждого значения при потере связи
RTU и TCP — разные каналы связи
Modbus RTU работает по RS485 или RS232. RS485 — общая шина: важны терминирование, смещение, трасса кабеля и идентификаторы устройств, а один мастер опрашивает подчинённые устройства по очереди. Modbus TCP работает по Ethernet и использует идентификатор устройства внутри кадра TCP, часто для доступа к последовательному шлюзу. TCP проще маршрутизировать и диагностировать, но он не становится автоматически быстрее, если стоящий за ним шлюз медленный. Выбирайте канал по устройству, расстоянию и существующей инфраструктуре и документируйте промежуточный шлюз. Если шлюз поставляет производитель счётчика, его карта регистров и прошивка всё равно должны быть в перечне точек, а не только в руководстве поставщика.
- RS485 требует терминирования и плана сегментов
- TCP всё равно зависит от шлюза за ним
- Документируйте точку преобразования
Масштабирование, знаки и порядок слов
Большинство ошибок интеграции — не ошибки протокола, а ошибки интерпретации. Значение может быть знаковым или беззнаковым, 16-битным или 32-битным, а также разбитым на два регистра в любом порядке. Температура может приходить в десятых долях градуса, давление — в сотых долях бара, а слово состояния может упаковывать несколько тревог в одно целое число. Карта регистров должна определять всё это, а перечень точек должен фиксировать преобразование. Проверяйте по известному значению, а не по правдоподобному числу на экране. Фиксируйте сырое значение рядом с инженерным при пусконаладке: это делает будущие ошибки масштабирования очевидными и даёт следующему инженеру точку отсчёта.
- Подтверждайте знаковость и разрядность
- Подтверждайте пары регистров и порядок слов
- Проверяйте по известному физическому значению
Опрос, запись и поведение при отказах
Modbus опрашивается, поэтому каждая точка имеет цену во времени и сетевой нагрузке. Группируйте чтения, не опрашивайте быстрее, чем устройство может отвечать, и рассматривайте тайм-ауты как события качества данных, а не как нулевые значения. Записи требуют права, проверки диапазона и обратного чтения. Если контроллер записывает уставку, определите, что происходит, когда устройство отклоняет её или уходит в офлайн. Держите предохранительные блокировки вне медленных циклов опроса. Modbus — отличный связующий слой для данных учёта и оборудования; он плохая основа для последовательностей, которые должны реагировать за детерминированное время. Медленный протокол вполне может быть надёжным; ошибка в том, чтобы поручать ему быструю работу, а потом винить протокол в отставании последовательности.
- Группируйте чтения и соблюдайте бюджет опроса
- Рассматривайте тайм-ауты как флаги качества, а не как ноль
- Держите предохранительные блокировки вне медленных циклов
Области данных Modbus
6 rows| Область | Доступ | Типичное применение | На что обратить внимание |
|---|---|---|---|
| Катушки | Чтение/запись | Команды пуска и останова и биты состояния | Подтвердите, что означает включение: 0 или 1 |
| Дискретные входы | Только чтение | Подтверждения работы, тревоги и предельные значения | Проверьте полярность и подавление дребезга |
| Входные регистры | Только чтение | Измеренные значения и счётчики | Масштабирование и знаковость |
| Регистры хранения | Чтение/запись | Уставки, режимы и конфигурация | Право записи и обратное чтение |
| 32-битные значения | Чтение/запись | Энергия, расход и большие счётчики | Порядок слов и пары регистров |
| Состояние устройства | Только чтение | Флаги связи и отказов | Отличайте офлайн от нуля |
Изображения проекта
3 images


Частые вопросы
01RTU или TCP?
RTU подходит для последовательных полевых устройств и длинных кабельных трасс; TCP — для сетей Ethernet и шлюзов. Многие объекты используют оба варианта, соединяя их шлюзом.
02Сколько устройств может работать в одном сегменте RS485?
Зависит от драйвера, кабеля, скорости передачи и бюджета опроса. План сегментов следует рассчитывать, а не принимать по типовому числу.
03Безопасен ли Modbus?
По своей природе — нет. В нём нет аутентификации и шифрования. Рассматривайте его как полевую шину и защищайте сегментацией сети и шлюзами.
04Почему моё значение в десять раз больше?
Масштабирование. Регистр может быть в десятых или сотых долях, либо 32-битное значение собрано в неверном порядке слов.
05Может ли Modbus работать по беспроводной связи?
Да, через беспроводные последовательные мосты или шлюзы. До использования для управления подтвердите задержку, повторы и состояние отказа.
Следующий шаг
Приведите нам здание.
Расскажите о типе здания, системах в объёме работ и нужном результате. Мы покажем кратчайший путь к работающей системе.