Перейти к содержимому
Современный энергоэффективный дом с деревянной облицовкой

Протоколы · Modbus

Modbus RTU и TCP — практическое руководство по интеграции

Как работают Modbus RTU и TCP, как читать карту регистров и какие детали масштабирования, опроса и отказов вызывают большинство ошибок интеграции.

Краткий ответ

Modbus — простой протокол запросов и ответов, построенный на катушках и регистрах. RTU работает по последовательным линиям, TCP — по Ethernet. Он передаёт данные, но не смысл, поэтому карта регистров, масштабирование, порядок слов и права записи должны быть подтверждены письменно. Modbus идеален для счётчиков, инверторов и простого оборудования, но не для быстрых блокировок.

01

Модель регистров, а не модель данных

Modbus предоставляет катушки, дискретные входы, входные регистры и регистры хранения. Он не определяет, что означает регистр; это делает производитель устройства. Один счётчик может размещать энергию в двух регистрах хранения, другой может использовать иной порядок слов, а третий может требовать масштабный коэффициент. Поэтому проект Modbus начинается с карты регистров, а не с кабеля. Карта должна указывать адрес, тип данных, масштаб, единицу, доступ и поведение при прекращении ответов устройства. Карта регистров, в которой указана энергия без единицы, масштаба или порядка слов, — не спецификация, а надежда, которая будет проверена при пусконаладке, обычно в самый неподходящий момент.

  • Начинайте с карты регистров производителя
  • Фиксируйте масштаб, единицу и тип данных для каждой точки
  • Определите поведение каждого значения при потере связи
02

RTU и TCP — разные каналы связи

Modbus RTU работает по RS485 или RS232. RS485 — общая шина: важны терминирование, смещение, трасса кабеля и идентификаторы устройств, а один мастер опрашивает подчинённые устройства по очереди. Modbus TCP работает по Ethernet и использует идентификатор устройства внутри кадра TCP, часто для доступа к последовательному шлюзу. TCP проще маршрутизировать и диагностировать, но он не становится автоматически быстрее, если стоящий за ним шлюз медленный. Выбирайте канал по устройству, расстоянию и существующей инфраструктуре и документируйте промежуточный шлюз. Если шлюз поставляет производитель счётчика, его карта регистров и прошивка всё равно должны быть в перечне точек, а не только в руководстве поставщика.

  • RS485 требует терминирования и плана сегментов
  • TCP всё равно зависит от шлюза за ним
  • Документируйте точку преобразования
03

Масштабирование, знаки и порядок слов

Большинство ошибок интеграции — не ошибки протокола, а ошибки интерпретации. Значение может быть знаковым или беззнаковым, 16-битным или 32-битным, а также разбитым на два регистра в любом порядке. Температура может приходить в десятых долях градуса, давление — в сотых долях бара, а слово состояния может упаковывать несколько тревог в одно целое число. Карта регистров должна определять всё это, а перечень точек должен фиксировать преобразование. Проверяйте по известному значению, а не по правдоподобному числу на экране. Фиксируйте сырое значение рядом с инженерным при пусконаладке: это делает будущие ошибки масштабирования очевидными и даёт следующему инженеру точку отсчёта.

  • Подтверждайте знаковость и разрядность
  • Подтверждайте пары регистров и порядок слов
  • Проверяйте по известному физическому значению
04

Опрос, запись и поведение при отказах

Modbus опрашивается, поэтому каждая точка имеет цену во времени и сетевой нагрузке. Группируйте чтения, не опрашивайте быстрее, чем устройство может отвечать, и рассматривайте тайм-ауты как события качества данных, а не как нулевые значения. Записи требуют права, проверки диапазона и обратного чтения. Если контроллер записывает уставку, определите, что происходит, когда устройство отклоняет её или уходит в офлайн. Держите предохранительные блокировки вне медленных циклов опроса. Modbus — отличный связующий слой для данных учёта и оборудования; он плохая основа для последовательностей, которые должны реагировать за детерминированное время. Медленный протокол вполне может быть надёжным; ошибка в том, чтобы поручать ему быструю работу, а потом винить протокол в отставании последовательности.

  • Группируйте чтения и соблюдайте бюджет опроса
  • Рассматривайте тайм-ауты как флаги качества, а не как ноль
  • Держите предохранительные блокировки вне медленных циклов

Области данных Modbus

6 rows
ОбластьДоступТипичное применениеНа что обратить внимание
КатушкиЧтение/записьКоманды пуска и останова и биты состоянияПодтвердите, что означает включение: 0 или 1
Дискретные входыТолько чтениеПодтверждения работы, тревоги и предельные значенияПроверьте полярность и подавление дребезга
Входные регистрыТолько чтениеИзмеренные значения и счётчикиМасштабирование и знаковость
Регистры храненияЧтение/записьУставки, режимы и конфигурацияПраво записи и обратное чтение
32-битные значенияЧтение/записьЭнергия, расход и большие счётчикиПорядок слов и пары регистров
Состояние устройстваТолько чтениеФлаги связи и отказовОтличайте офлайн от нуля

Изображения проекта

3 images
Модуль расширения Modbus
Интерфейс Modbus
Релейный контроллер Loxone Nano
Коммутация
Панель управления автоматизацией здания на планшете
Единая картина эксплуатации

Частые вопросы

01RTU или TCP?

RTU подходит для последовательных полевых устройств и длинных кабельных трасс; TCP — для сетей Ethernet и шлюзов. Многие объекты используют оба варианта, соединяя их шлюзом.

02Сколько устройств может работать в одном сегменте RS485?

Зависит от драйвера, кабеля, скорости передачи и бюджета опроса. План сегментов следует рассчитывать, а не принимать по типовому числу.

03Безопасен ли Modbus?

По своей природе — нет. В нём нет аутентификации и шифрования. Рассматривайте его как полевую шину и защищайте сегментацией сети и шлюзами.

04Почему моё значение в десять раз больше?

Масштабирование. Регистр может быть в десятых или сотых долях, либо 32-битное значение собрано в неверном порядке слов.

05Может ли Modbus работать по беспроводной связи?

Да, через беспроводные последовательные мосты или шлюзы. До использования для управления подтвердите задержку, повторы и состояние отказа.

Следующий шаг

Приведите нам здание.

Расскажите о типе здания, системах в объёме работ и нужном результате. Мы покажем кратчайший путь к работающей системе.