Modbus RTU · Weinzierl · RS-485 · Energiezähler · 9 Min. Lesezeit

KNX Modbus Gateway: Weinzierl KNXGW-MODBUS und Register-Mapping

Modbus RTU ist das dominierende Protokoll für Energiezähler, Frequenzumrichter und HLK-Geräte. Der Weinzierl KNXGW-MODBUS verbindet den RS-485-Modbus-Bus mit KNX TP und stellt Registerwerte als KNX-Gruppenadressen bereit – so stehen Energiedaten und Antriebsrückmeldungen für KNX-Visualisierung, Logik und BMS-Gateways ohne separate Software oder SPS zur Verfügung.

Modbus RTU/TCP zu KNX Anwendungsfälle

Modbus RTU über RS-485 ist das dominierende Feldprotokoll für Energiemessgeräte, Frequenzumrichter und HLK-Telisysteme in Gebäuden. Diese Geräte haben keine native KNX-Schnittstelle, dennoch werden ihre Daten – Wirkleistung, Energiezählerstände, Drehzahlrückmeldung, Motorstrom – in KNX-Visualisierungssystemen, Energie-Dashboards und BMS-Gateway-Exporten benötigt. Das Weinzierl KNXGW-MODBUS liest Modbus-Slave-Register aus und schreibt Werte mit DPT-korrekter Skalierung auf KNX-Gruppenadressen.

Energiezähler

  • Carlo Gavazzi EM340 (3-phasig, Hutschiene)
  • Eastron SDM630 (3-phasig, MID-zertifiziert)
  • Schneider iEM3155 und iEM3255
  • ABB B23 und B24 Serienzähler
  • Janitza UMG 96-PA (Leistungsanalysator)

Frequenzumrichter

  • ABB ACH580 (HVAC VFD, Modbus RTU)
  • Danfoss FC102 (HVAC-Ventilator und -Pumpe)
  • Mitsubishi FR-F800 (HVAC-Ventilatorantriebe)
  • Siemens SINAMICS G120 (Allzweck)
  • Yaskawa GA800 (Gebäude-HVAC)

Weinzierl KNXGW-MODBUS Hardware

Der Weinzierl KNXGW-MODBUS ist ein DIN-Schienen-Gerät, das direkt an den KNX-TP-Bus und über Schraubklemmen an ein RS-485-Modbus-RTU-Netzwerk angeschlossen wird. Ein optionaler Modbus-TCP-Port (Ethernet RJ45) ist bei einigen Varianten verfügbar und ermöglicht die Verbindung zu Modbus-TCP-Slaves wie netzwerkfähigen Zählern, ohne dass ein RS-485-Kabel verlegt werden muss. Das Gerät wird vollständig über ETS6 konfiguriert – es ist keine separate Software erforderlich.

KNXGW-MODBUS Spezifikationen

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-Produktdatenbank: Laden Sie das Anwendungsprogramm KNXGW-MODBUS von weinzierl.de/en/products herunter, importieren Sie die .knxprod-Datei in ETS6 über Kataloge → Import. Das Gerät erscheint im ETS6-Produktkatalog und kann wie jedes andere KNX-Gerät zur Gebäudestruktur hinzugefügt werden. Alle Modbus-Parameter, Registerdefinitionen und KNX-Gruppenobjektzuweisungen werden in den ETS6-Parametern vorgenommen.

ETS6-Konfiguration

Die ETS6-Konfiguration für den KNXGW-MODBUS erfolgt in zwei Schritten: globale Modbus-Busparameter, die für alle angeschlossenen Slaves gelten, dann individuelle Registerdefinitionen für jedes Slave-Gerät. Planen Sie die Registerkarte vor der ETS6-Eingabe in einer Tabelle – die Registeradressen variieren je nach Hersteller und Firmware-Version des Zählers.

ETS6-Parameterseiten

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 Registerzuordnung

Der Carlo Gavazzi EM340 ist ein 3-Phasen-DIN-Schienen-Energiezähler mit Modbus RTU RS-485-Schnittstelle. Er speichert Messwerte als 32-Bit-IEEE-754-Gleitkommawerte in Holding-Registern. Alle Register sind schreibgeschützt – das Gateway liest den Zähler, es werden keine Schreibvorgänge gesendet. Die Byte-Reihenfolge ist Big-Endian (höchstwertiges Byte zuerst).

Register (hex)MessungTypKNX DPTEinheit
0x0000L1 SpannungFLOAT32 BEDPT 9.020V
0x0002L2 SpannungFLOAT32 BEDPT 9.020V
0x0004L3 SpannungFLOAT32 BEDPT 9.020V
0x0012L1 StromFLOAT32 BEDPT 9.021A
0x0034Gesamte WirkleistungFLOAT32 BEDPT 9.001W
0x003EGesamtleistungsfaktorFLOAT32 BEDPT 9.001
0x0046FrequenzFLOAT32 BEDPT 9.010Hz
0x0100Import WirkenergieFLOAT32 BEDPT 12.001kWh
0x0102Wirkenergie exportierenFLOAT32 BEDPT 12.001kWh

Registeradressierung: Das EM340-Handbuch listet Register mit 1-basierten Adressen (z. B. Register 1 = 0x0001). ETS6 und die meisten Modbus-Tools verwenden 0-basierte Adressierung. Subtrahieren Sie 1 von der Handbuchadresse, wenn Sie sie in ETS6 eingeben. Das Wirkleistungsregister ist als 0x0035 (1-basiert) = 0x0034 (0-basiert) aufgeführt. Überprüfen Sie immer die spezifische EM340-Firmware-Version – Registerkarten ändern sich gelegentlich zwischen Firmware-Versionen.

Eastron SDM630 Registerzuordnung

Der Eastron SDM630 ist ein 3-phasiger MID-zertifizierter Energiezähler mit Modbus RTU. Seine Registerkarte unterscheidet sich vom EM340 – gehen Sie nicht von Registerkompatibilität zwischen Zählermarken aus. Der SDM630 verwendet Eingangsregister (Funktionscode 0x04) für alle Messdaten und speichert Werte auch als 32-Bit-IEEE-754-Gleitkommazahlen im Big-Endian-Byte-Order.

Register (hex)MessungFunktionscodeKNX DPT
0x0000L1 Spannung (V)0x04 EingangDPT 9.020
0x0002L2 Spannung (V)0x04 EingangDPT 9.020
0x0004L3 Spannung (V)0x04 EingangDPT 9.020
0x0006L1 Strom (A)0x04 EingangDPT 9.021
0x0034Gesamtwirkleistung (W)0x04 EingangDPT 9.001
0x003CGesamtleistungsfaktor0x04 EingangDPT 9.001
0x0046Frequenz (Hz)0x04 EingangDPT 9.010
0x0156Import Wirkenergie (kWh)0x04 EingangDPT 12.001
0x015AExport Wirkenergie (kWh)0x04 EingangDPT 12.001

Polling vs COV: Totband-Konfiguration

Modbus RTU ist ein Polling-Protokoll – der Master (KNXGW-MODBUS) initiiert jede Abfrage. Slaves senden niemals spontan Daten. Das Gateway pollt jedes konfigurierte Register in dem in ETS6 eingestellten Intervall. Nach jeder erfolgreichen Abfrage vergleicht das Gateway den neuen Wert mit dem zuletzt an KNX gesendeten Wert. Überschreitet die Änderung das konfigurierte Totband, wird ein KNX-Gruppentelegramm mit dem neuen Wert gesendet.

Polling- und Totband-Strategie

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-Verdrahtungsregeln

Die RS-485 (EIA-485) physikalische Schicht ist eine differentielle Signalübertragung über ein verdrilltes Paar. Korrekte Verdrahtung ist zwingend erforderlich – ein falsch verdrahteter RS-485-Bus scheint auf kurze Distanzen und bei niedrigen Baudraten zu funktionieren, fällt aber bei längeren Strecken oder höheren Geschwindigkeiten intermittierend aus. Befolgen Sie diese Regeln ausnahmslos.

RS-485-Verdrahtungsregeln

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.

Stern-Topologie — verboten

RS-485 erfordert eine Daisy-Chain-(Bus-)Topologie. Stern-Topologie — bei der mehrere Stichleitungen von einem zentralen Punkt abzweigen — verursacht Reflexionen und Signalintegritätsfehler. Bereits kurze Stichleitungen (30 cm) verursachen bei 19200 Baud Probleme. Kabel vom Gateway zu Gerät 1, dann von Gerät 1 zu Gerät 2 usw. Keine T-Abzweigungen.

Bezugspotential (Masse)

RS-485 benötigt keinen Masseleiter für die Signalübertragung, aber eine Spannungsdifferenz zwischen Master und Slave von mehr als ±7 V relativ zum Gleichtaktbereich kann Signale verfälschen oder Transceiver beschädigen. Fügen Sie bei Installationen, die sich über mehrere Verteiler erstrecken, einen Masseleiter im RS-485-Kabel hinzu.

Multi-Device-RS-485-Bus-Design

Ein einzelner KNXGW-MODBUS kann bis zu 32 Modbus-RTU-Slave-Geräte auf einem RS-485-Bus adressieren. Eine systematische Inbetriebnahme eines Multi-Device-Busses verhindert Adresskonflikte und Verdrahtungsfehler, die schwer zu diagnostizieren sind, sobald alle Geräte angeschlossen sind.

Inbetriebnahmesequenz für Multi-Device-Bus

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

Abfragezeitbudget: Bei 32 Geräten und 512 Registern insgesamt dauert jeder Pollzyklus etwa 32 × (Adressrahmen + Antwortzeit + Zwischenrahmenlücke). Bei 9600 Baud mit 10ms Zwischenrahmenverzögerung dauert das Lesen von 16 Registern pro Gerät etwa 50ms pro Gerät, was eine Gesamtzykluszeit von 1,6 Sekunden für 32 Geräte ergibt. Stellen Sie das ETS6-Abfrageintervall für Energiezähler auf mindestens 2s ein, um sicherzustellen, dass jedes Gerät in jedem Zyklus gelesen wird. Erhöhen Sie die Baudrate auf 19200 oder 38400, wenn die Zykluszeit zu lang ist.

Benötigen Sie ein KNX-Modbus-Gateway, das in Ihr Energiemonitoring-Panel integriert ist?

Wir entwerfen Panels mit vorkonfiguriertem Weinzierl KNXGW-MODBUS – Registerkarten für Ihre spezifischen Zähler und Antriebe verifiziert, RS-485-Bus getestet und ETS6-Gruppenobjekte vor Auslieferung mit der KNX-Visualisierung verknüpft.

Angebot anfordern →
Lade ...
Zum Seitenanfang