KNX Modbus Gateway: Weinzierl KNXGW-MODBUS и отображение регистров
Modbus RTU — доминирующий протокол для счетчиков энергии, частотных преобразователей и HVAC-оборудования. Weinzierl KNXGW-MODBUS соединяет шину RS-485 Modbus с KNX TP, отображая значения регистров как групповые адреса KNX — делая данные об энергии и обратную связь от приводов доступными для визуализации KNX, логики и шлюзов BMS без отдельного ПО или ПЛК.
Варианты использования Modbus RTU/TCP в KNX
Modbus RTU по RS-485 — доминирующий полевой протокол для оборудования учета энергии, частотных преобразователей и подсистем HVAC зданий. Эти устройства не имеют нативного интерфейса KNX, однако их данные — активная мощность, суммарная энергия, обратная связь по скорости привода, ток двигателя — требуются в системах визуализации KNX, энергетических панелях и экспорте BMS-шлюзов. Weinzierl KNXGW-MODBUS считывает регистры Modbus-ведомых и записывает значения в групповые адреса KNX с масштабированием по DPT.
Счетчики энергии
- Carlo Gavazzi EM340 (3-фазный, DIN-рейка)
- Eastron SDM630 (3-фазный, сертифицирован MID)
- Schneider iEM3155 и iEM3255
- Счетчики серий ABB B23 и B24
- Janitza UMG 96-PA (анализатор мощности)
Частотные преобразователи
- ABB ACH580 (HVAC VFD, Modbus RTU)
- Danfoss FC102 (вентилятор и насос HVAC)
- Mitsubishi FR-F800 (приводы вентиляторов HVAC)
- Siemens SINAMICS G120 (общего назначения)
- Yaskawa GA800 (HVAC зданий)
Аппаратное обеспечение Weinzierl KNXGW-MODBUS
Weinzierl KNXGW-MODBUS — это DIN-рейковое устройство, подключаемое непосредственно к шине KNX TP и к сети RS-485 Modbus RTU через винтовые клеммы. На некоторых вариантах доступен дополнительный порт Modbus TCP (Ethernet RJ45), что позволяет подключаться к ведомым устройствам Modbus TCP, таким как сетевые счетчики, без прокладки кабеля RS-485. Устройство настраивается полностью через ETS6 — отдельное программное обеспечение не требуется.
Технические характеристики KNXGW-MODBUS
Interface: KNX TP bus connector (bus-powered, 10mA) RS-485 Modbus RTU: A, B, GND screw terminals Modbus TCP: RJ45 Ethernet (on -TCP variant) Modbus RTU parameters: Baud rate: 9600 / 19200 / 38400 baud Parity: None / Even / Odd Stop bits: 1 / 2 Capacity: Up to 512 Modbus registers mapped to KNX objects Up to 32 Modbus slave devices on RS-485 bus Slave address range: 1 – 247 Configuration: ETS6 only — download product database from weinzierl.de No separate software required Parameters and group objects configured in ETS6
База данных продуктов ETS6: загрузите прикладную программу KNXGW-MODBUS с weinzierl.de/en/products, импортируйте файл .knxprod в ETS6 через Каталоги → Импорт. Устройство появляется в каталоге продуктов ETS6 и может быть добавлено в структуру здания как любое другое устройство KNX. Все параметры Modbus, определения регистров и назначения групповых объектов KNX выполняются в параметрах ETS6.
Конфигурация ETS6
Конфигурация ETS6 для KNXGW-MODBUS выполняется в два этапа: глобальные параметры шины Modbus, применимые ко всем подключенным ведомым устройствам, затем индивидуальные определения регистров для каждого ведомого устройства. Планируйте карту регистров в электронной таблице перед вводом в ETS6 — адреса регистров различаются в зависимости от производителя счетчика и версии прошивки.
Страницы параметров ETS6
General parameters (applies to all slaves on RS-485): Baud rate: 9600 baud (EM340 default), or 19200/38400 Parity: Even (EM340 default), None, or Odd Stop bits: 1 (standard for Even parity) Per-slave parameters (one set per connected device): Slave address: 1 – 247 (must match device front panel) Slave type: RTU (RS-485) or TCP (Ethernet) IP address: Required for TCP slaves only Per-register parameters (one entry per mapped register): Register address: Decimal or hex, 0-based or 1-based Register type: Holding (0x03) / Input (0x04) / Coil Data type: INT16 / UINT16 / INT32 / UINT32 / FLOAT32 Byte order: Big-endian / Little-endian / Byte-swapped KNX DPT: DPT 9.001, DPT 12.001, etc. Polling interval: 1s – 3600s
Отображение регистров Carlo Gavazzi EM340
Carlo Gavazzi EM340 — это трехфазный DIN-рейковый счетчик электроэнергии с интерфейсом Modbus RTU RS-485. Он хранит измерения в виде 32-битных чисел с плавающей запятой IEEE 754 в регистрах хранения. Все регистры доступны только для чтения — шлюз считывает счетчик, запись не производится. Порядок байтов — big-endian (старший байт первым).
| Регистр (hex) | Измерение | Тип | KNX DPT | Единица |
|---|---|---|---|---|
| 0x0000 | Напряжение L1 | FLOAT32 BE | DPT 9.020 | В |
| 0x0002 | Напряжение L2 | FLOAT32 BE | DPT 9.020 | В |
| 0x0004 | Напряжение L3 | FLOAT32 BE | DPT 9.020 | В |
| 0x0012 | Ток L1 | FLOAT32 BE | DPT 9.021 | A |
| 0x0034 | Суммарная активная мощность | FLOAT32 BE | DPT 9.001 | Вт |
| 0x003E | Общий коэффициент мощности | FLOAT32 BE | DPT 9.001 | — |
| 0x0046 | Частота | FLOAT32 BE | DPT 9.010 | Гц |
| 0x0100 | Импорт активной энергии | FLOAT32 BE | DPT 12.001 | кВт·ч |
| 0x0102 | Экспорт активной энергии | FLOAT32 BE | DPT 12.001 | кВт·ч |
Адресация регистров: В руководстве к EM340 регистры указаны с адресацией, начинающейся с 1 (например, регистр 1 = 0x0001). ETS6 и большинство Modbus-инструментов используют адресацию, начинающуюся с 0. При вводе в ETS6 вычтите 1 из адреса из руководства. Регистр активной мощности указан как 0x0035 (с 1) = 0x0034 (с 0). Всегда сверяйтесь с конкретной версией прошивки EM340 — карты регистров иногда меняются между версиями прошивки.
Карта регистров Eastron SDM630
Eastron SDM630 — это трехфазный MID-сертифицированный счетчик электроэнергии с Modbus RTU. Его карта регистров отличается от EM340 — не предполагайте совместимость регистров между разными брендами счетчиков. SDM630 использует входные регистры (код функции 0x04) для всех данных измерений, а также хранит значения в виде 32-битных чисел с плавающей запятой IEEE 754 в порядке байтов big-endian.
| Регистр (hex) | Измерение | Код функции | KNX DPT |
|---|---|---|---|
| 0x0000 | Напряжение L1 (В) | 0x04 Входной | DPT 9.020 |
| 0x0002 | Напряжение L2 (В) | 0x04 Входной | DPT 9.020 |
| 0x0004 | Напряжение L3 (В) | 0x04 Входной | DPT 9.020 |
| 0x0006 | Ток L1 (А) | 0x04 Входной | DPT 9.021 |
| 0x0034 | Суммарная активная мощность (Вт) | 0x04 Входной | DPT 9.001 |
| 0x003C | Общий коэффициент мощности | 0x04 Входной | DPT 9.001 |
| 0x0046 | Частота (Гц) | 0x04 Входной | DPT 9.010 |
| 0x0156 | Импорт активной энергии (кВт·ч) | 0x04 Входной | DPT 12.001 |
| 0x015A | Экспорт активной энергии (кВт·ч) | 0x04 Входной | DPT 12.001 |
Опрос vs COV: настройка мертвой зоны
Modbus RTU — это протокол с опросом: мастер (KNXGW-MODBUS) инициирует каждое чтение. Ведомые устройства никогда не отправляют данные спонтанно. Шлюз опрашивает каждый настроенный регистр с интервалом, заданным в ETS6. После каждого успешного опроса шлюз сравнивает новое значение с последним отправленным в KNX. Если изменение превышает настроенную мертвую зону, отправляется групповая телеграмма KNX с новым значением.
Стратегия опроса и мертвой зоны
Polling interval recommendations: Active power (kW): 5s – 10s (fast-changing, demand monitoring) Energy total (kWh): 60s (slow-accumulating) VFD speed feedback: 2s (control feedback) Temperature sensors: 30s (slow physical process) Deadband recommendations (prevents telegram storms): Temperature: ±0.2°C (avoids 0.1°C floating-point noise) Active power: ±10W (noise on lightly loaded circuits) Energy total: ±0.01kWh (send every 36Wh increment) VFD speed %: ±0.5% (avoids resolver dither noise) Without deadband on a noisy FLOAT32 register: Gateway sends a new KNX telegram every poll cycle even when the physical value has not changed. On a 512-signal configuration at 1s polling, this can saturate the KNX TP bus at 9600 baud.
Правила проводки RS-485
Физический уровень RS-485 (EIA-485) — это дифференциальная передача сигнала по витой паре. Правильная проводка обязательна: неправильно подключенная шина RS-485 может работать на коротких расстояниях и низких скоростях, но давать сбои на больших расстояниях или высоких скоростях. Следуйте этим правилам без исключений.
Правила проводки RS-485
Signal polarity (EIA-485 standard): A terminal = non-inverting (+) → positive when marking (idle) B terminal = inverting (-) → negative when marking (idle) Termination resistors: 120 Ω resistor at BOTH physical ends of the bus only Never terminate in the middle of the bus Total bus impedance = 60 Ω when both terminations installed Most Weinzierl gateways have built-in switchable termination Cable requirements: 120 Ω characteristic impedance twisted pair Belden 9841 or equivalent (22 AWG, shielded) Shield: drain both ends to panel earth (same earth reference) Maximum bus length: 1200m at 9600 baud (EIA-485 spec) Maximum 32 standard unit loads (UL) without repeater WAGO polarity note: WAGO 750-653 Modbus RTU coupler labels A and B REVERSED vs EIA-485 standard. A(WAGO) connects to B(EIA-485) and vice versa. Always verify with oscilloscope on first connection.
Топология «звезда» — запрещена
RS-485 требует топологии «линейная шина» (daisy-chain). Топология «звезда», когда несколько ответвлений отходят от центральной точки, вызывает отражения и нарушения целостности сигнала. Даже короткие ответвления (30 см) вызывают проблемы на скорости 19200 бод. Кабель прокладывается от шлюза к устройству 1, затем от устройства 1 к устройству 2 и так далее. Никаких T-образных соединений.
Опорный заземляющий проводник
RS-485 не требует заземляющего проводника для передачи сигнала, но разность напряжений заземления между ведущим и ведомым устройством, выходящая за пределы ±7 В относительно синфазного диапазона, может исказить сигналы или повредить приёмопередатчики. Включайте заземляющий проводник в кабель RS-485 для установок, охватывающих несколько распределительных щитов.
Проектирование многоприборной шины RS-485
Один KNXGW-MODBUS может обслуживать до 32 ведомых устройств Modbus RTU на одной шине RS-485. Систематическое проведение пусконаладочных работ на многоприборной шине предотвращает конфликты адресов и ошибки подключения, которые сложно диагностировать после подключения всех устройств.
Последовательность пусконаладки многоприборной шины
Pre-connection preparation:
1. Assign unique slave addresses 1–247 to each device
via front panel programming (DIP switches or menu)
BEFORE connecting to shared bus
2. Verify each device address with a Modbus RTU tester
connected directly to the individual device
3. Document address assignments in panel schedule
Connection sequence:
1. Connect gateway to device 1 only (install 120Ω at both ends)
2. Verify gateway polls device 1 successfully in ETS6 diagnostics
3. Add device 2 (remove termination from device 1 if not end of bus)
4. Verify both devices poll successfully
5. Repeat for each additional device
Bus capacity (EIA-485, 9600 baud):
Maximum 32 unit loads (UL) — one UL per standard transceiver
Many modern meters present 1/4 UL → up to 128 devices possible
Verify UL rating in device datasheet before exceeding 32 devices
Use RS-485 repeater (e.g. Weidmuller RS-485 REP) if neededБюджет времени опроса: с 32 устройствами и 512 регистрами каждый цикл опроса занимает примерно 32 × (адресный кадр + время ответа + межкадровый интервал). При скорости 9600 бод и межкадровой задержке 10 мс чтение 16 регистров на устройство занимает примерно 50 мс на устройство, что даёт общее время цикла 1,6 секунды для 32 устройств. Установите интервал опроса ETS6 минимум 2 секунды для сумм энергии, чтобы каждое устройство было опрошено в каждом цикле. Увеличьте скорость до 19200 или 38400 бод, если время цикла слишком велико.
Нужен шлюз KNX Modbus, интегрированный в ваш щит мониторинга энергопотребления?
Мы проектируем щиты с предварительно настроенным Weinzierl KNXGW-MODBUS — карты регистров проверены для ваших конкретных счётчиков и приводов, шина RS-485 протестирована, а групповые объекты ETS6 связаны с визуализацией KNX до отгрузки.
Запросить расчёт →