Modbus RTU і TCP: регістри, функції та часті помилки

Modbus — найпоширеніший промисловий протокол. Модель даних, функції, RTU і TCP та помилки, що найчастіше відбирають години.
Modbus RTU і TCP: регістри, функції та часті помилки

Ілюстрація, створена ШІ — приклад обстановки.

Що таке Modbus

Modbus — простий протокол «запит–відповідь», створений 1979 року для програмованих контролерів. Сьогодні його підтримують лічильники електроенергії, частотні перетворювачі, ПЛК, сонячні інвертори та датчики. Простота — причина його поширеності.

Модель

Одна сторона — клієнт (колишня назва master), інша — сервер (slave). Клієнт питає, сервер відповідає. Сервер ніколи сам не починає розмову.

Дані

ТипРозмірДоступ
Coils1 бітчитання й запис
Discrete Inputs1 бітлише читання
Input Registers16 бітлише читання
Holding Registers16 бітчитання й запис

Основні функції

  • 01 / 02 — читання coils / discrete inputs
  • 03 / 04 — читання holding / input registers
  • 05 / 06 — запис одного coil / регістра
  • 15 / 16 — запис кількох coils / регістрів

Варіанти

  • Modbus RTU — двійковий, по послідовній лінії, найчастіше RS-485. Адреси 1–247, контрольна сума CRC-16. Кадри розділяються паузою щонайменше 3,5 символи.
  • Modbus ASCII — текстовий, використовується рідко.
  • Modbus TCP — по Ethernet, порт 502, без CRC (його забезпечує TCP), з додатковим заголовком MBAP.

Типові помилки

  • Зміщення адреси — у документації 40001, а протоколу потрібен 0. Різні інструменти рахують з 0 або з 1.
  • Порядок байтів — 32-бітове число або float займає два регістри, а їхній порядок (big/little endian, переставлені слова) залежить від виробника.
  • Різні параметри лінії — швидкість, парність і стоп-біти мають збігатися в усіх пристроїв.
  • Два пристрої з однією адресою — відповідають одночасно, і кадри псуються.
  • Надто частий опит — пристроям потрібен час на відповідь. Тайм-аут не має бути коротшим за нього.

Обмеження

У Modbus немає вбудованого захисту, опису пристроїв і подій — усе зчитується періодичним опитом. У мережах із доступом ззовні додають окремий захист транспорту.