KNX-Modbus


Этот материал описывает неочевидные моменты, которые возникают при интеграции устройств Modbus (счетчики, фанкойлы, инверторы) в шину KNX через специализированный шлюз.

Основная проблема: Modbus и KNX говорят на принципиально разных языках. Modbus оперирует регистрами (16/32 бита, float, raw data), а KNX — типизированными объектами (DPT). Задача шлюза — перевести одно в другое без потерь.

1. Аппаратные нюансы: физика и питание


2. Программная настройка (ETS и конфигурация)


2.1 Выбор режима работы шлюза


В зависимости от задачи шлюз может работать в двух направлениях [citation:4]:

Режим Направление Типовое применение
Master Modbus (Client) Шлюз → Устройство Шлюз сам опрашивает датчики (счетчики, метеостанции). Самый частый случай.
Slave Modbus (Server) Устройство → Шлюз Внешняя BMS или ПЛК читает данные из KNX (например, статусы света).

2.2 Тонкости подключения: RTU vs TCP


Важно: Если устройство одно, некоторые специалисты советуют отключать терминаторы на коротких линиях (< 3 м). Если устройств несколько — терминаторы обязательны на крайних точках [citation:10].

* Modbus TCP (Ethernet):

Нюанс: Некоторые TCP-устройства «зависают» при частых переподключениях. В настройках шлюза ищи опцию «Persistent Connection» (Постоянное соединение) и включай ее, если интервал опроса меньше минуты [citation:1][citation:5].

3. Проклятие Modbus: Регистры и типы данных


Здесь кроется 90% ошибок. Modbus не строг, KNX — строг.


3.1 Адресация (Offset)


3.2 Типы данных и Конечность (Endianness)


Критично: Байтовый порядок (Byte Order):

  1.  Option 1 (Big-Endian / ABCD): Старший байт первый. (Обычный стандарт).
  2.  Option 2 (Little-Endian / CDAB): Младший байт первый. (Часто у китайских устройств).
  3.  Option 3 (Word Swap / BADC): Перепутаны слова.
  4.  Если на KNX приходит «мусор» типа 3.0e-39 или 1.2e+12 — значит, порядок байт неверный. Нужно менять настройку «Word Order» в шлюзе* [citation:9][citation:10].

3.3 Пример сложного преобразования (Из документации)


  1. Функция: 03 (Read Holding Registers).
  2. Стартовый адрес: 2 (или 1? Смотри спецификацию шлюза).
  3. Тип: Unsigned 32-bit (Uint32).
  4. Порядок: Big-Endian (обычно).
  5. Множитель: 0.01 (или разделить на 100).
  6. Тип KNX: **DPT 14.027** (Напряжение в Вольтах) [citation:10].

4. Диагностика: «Ничего не работает»


Прежде чем винить шлюз, проверь физику отдельно.


Чек-лист отладки:


Совет профи: Некоторые шлюзы (например, Intesis или Weinzierl) требуют, чтобы при первом программировании через ETS шлюз был физически изолирован от большой шины KNX (подключен только к ПК и питанию). «Тяжелый» KNX-трафик может мешать заливке прошивки [citation:3].

Antistatus 13.05.2026 11:27