Modbus RTU · Weinzierl · RS-485 · Liczniki energii · 9 min czytania

Bramka KNX Modbus: Weinzierl KNXGW-MODBUS i mapowanie rejestrów

Modbus RTU jest dominującym protokołem dla liczników energii, przemienników częstotliwości i urządzeń HVAC. Weinzierl KNXGW-MODBUS łączy magistralę RS-485 Modbus z KNX TP, udostępniając wartości rejestrów jako adresy grupowe KNX – umożliwiając dostęp do danych energetycznych i informacji zwrotnych z napędów w wizualizacji KNX, logice i bramkach BMS bez dodatkowego oprogramowania ani sterowników PLC.

Zastosowania Modbus RTU/TCP do KNX

Modbus RTU przez RS-485 jest dominującym protokołem polowym dla urządzeń pomiaru energii, przemienników częstotliwości i podsystemów HVAC w budynkach. Urządzenia te nie mają natywnego interfejsu KNX, ale ich dane – moc czynna, sumy energii, sygnał zwrotny prędkości napędu, prąd silnika – są wymagane w systemach wizualizacji KNX, pulpitach energetycznych i eksportach bramek BMS. Weinzierl KNXGW-MODBUS odczytuje rejestry Modbus slave i zapisuje wartości na adresy grupowe KNX ze skalowaniem zgodnym z DPT.

Liczniki energii

  • Carlo Gavazzi EM340 (3-fazowy, szyna DIN)
  • Eastron SDM630 (3-fazowy, certyfikat MID)
  • Schneider iEM3155 i iEM3255
  • Liczniki serii ABB B23 i B24
  • Janitza UMG 96-PA (analizator mocy)

Przemienniki częstotliwości

  • ABB ACH580 (HVAC VFD, Modbus RTU)
  • Danfoss FC102 (wentylator i pompa HVAC)
  • Mitsubishi FR-F800 (napędy wentylatorów HVAC)
  • Siemens SINAMICS G120 (ogólnego przeznaczenia)
  • Yaskawa GA800 (HVAC budynkowy)

Sprzęt Weinzierl KNXGW-MODBUS

Weinzierl KNXGW-MODBUS to urządzenie na szynę DIN, które łączy się bezpośrednio z magistralą KNX TP oraz z siecią RS-485 Modbus RTU za pomocą zacisków śrubowych. Opcjonalny port Modbus TCP (Ethernet RJ45) jest dostępny w niektórych wariantach, umożliwiając połączenie z urządzeniami podrzędnymi Modbus TCP, takimi jak liczniki podłączone do sieci, bez konieczności prowadzenia kabla RS-485. Urządzenie jest konfigurowane w całości przez ETS6 – nie jest wymagane żadne dodatkowe oprogramowanie.

Specyfikacje 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

Baza produktów ETS6: pobierz program aplikacyjny KNXGW-MODBUS ze strony weinzierl.de/en/products, zaimportuj plik .knxprod do ETS6 przez Katalogi → Import. Urządzenie pojawia się w katalogu produktów ETS6 i może być dodane do struktury budynku jak każde inne urządzenie KNX. Wszystkie parametry Modbus, definicje rejestrów i przypisania obiektów grupowych KNX są dokonywane w parametrach ETS6.

Konfiguracja ETS6

Konfiguracja ETS6 dla KNXGW-MODBUS przebiega w dwóch etapach: globalne parametry magistrali Modbus obowiązujące dla wszystkich podłączonych urządzeń podrzędnych, a następnie indywidualne definicje rejestrów dla każdego urządzenia podrzędnego. Zaplanuj mapę rejestrów w arkuszu kalkulacyjnym przed wprowadzeniem do ETS6 – adresy rejestrów różnią się w zależności od producenta licznika i wersji firmware.

Strony parametrów 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

Mapowanie rejestrów Carlo Gavazzi EM340

Carlo Gavazzi EM340 to 3-fazowy licznik energii na szynę DIN z interfejsem Modbus RTU RS-485. Przechowuje pomiary jako 32-bitowe wartości zmiennoprzecinkowe IEEE 754 w rejestrach holdingowych. Wszystkie rejestry są tylko do odczytu – bramka odczytuje licznik, nie są wysyłane żadne zapisy. Kolejność bajtów to big-endian (najbardziej znaczący bajt pierwszy).

Rejestr (hex)PomiarTypKNX DPTJednostka
0x0000Napięcie L1FLOAT32 BEDPT 9.020V
0x0002Napięcie L2FLOAT32 BEDPT 9.020V
0x0004Napięcie L3FLOAT32 BEDPT 9.020V
0x0012Prąd L1FLOAT32 BEDPT 9.021A
0x0034Całkowita moc czynnaFLOAT32 BEDPT 9.001W
0x003ECałkowity współczynnik mocyFLOAT32 BEDPT 9.001
0x0046CzęstotliwośćFLOAT32 BEDPT 9.010Hz
0x0100Import Energii CzynnejFLOAT32 BEDPT 12.001kWh
0x0102Eksport energii czynnejFLOAT32 BEDPT 12.001kWh

Adresowanie rejestrów: Instrukcja EM340 podaje rejestry z adresami 1-bazowymi (np. rejestr 1 = 0x0001). ETS6 i większość narzędzi Modbus używa adresowania 0-bazowego. Odejmij 1 od adresu z instrukcji podczas wprowadzania w ETS6. Rejestr mocy czynnej jest podany jako 0x0035 (1-bazowy) = 0x0034 (0-bazowy). Zawsze weryfikuj z konkretną wersją firmware EM340 – mapy rejestrów czasami zmieniają się między wydaniami firmware.

Mapowanie rejestrów Eastron SDM630

Eastron SDM630 to 3-fazowy licznik energii z certyfikatem MID z Modbus RTU. Jego mapa rejestrów różni się od EM340 – nie zakładaj kompatybilności rejestrów między markami liczników. SDM630 używa rejestrów wejściowych (kod funkcji 0x04) dla wszystkich danych pomiarowych i przechowuje wartości jako 32-bitowe liczby zmiennoprzecinkowe IEEE 754 w kolejności bajtów big-endian.

Rejestr (hex)PomiarKod funkcjiKNX DPT
0x0000Napięcie L1 (V)0x04 WejścieDPT 9.020
0x0002Napięcie L2 (V)0x04 WejścieDPT 9.020
0x0004Napięcie L3 (V)0x04 WejścieDPT 9.020
0x0006Prąd L1 (A)0x04 WejścieDPT 9.021
0x0034Całkowita moc czynna (W)0x04 WejścieDPT 9.001
0x003CCałkowity współczynnik mocy0x04 WejścieDPT 9.001
0x0046Częstotliwość (Hz)0x04 WejścieDPT 9.010
0x0156Import energii czynnej (kWh)0x04 WejścieDPT 12.001
0x015AEksport energii czynnej (kWh)0x04 WejścieDPT 12.001

Polling vs COV: konfiguracja strefy nieczułości

Modbus RTU to protokół oparty na odpytywaniu – master (KNXGW-MODBUS) inicjuje każdy odczyt. Urządzenia slave nigdy nie wysyłają danych spontanicznie. Bramka odczytuje każde skonfigurowane rejestr w interwale ustawionym w ETS6. Po każdym udanym odczycie bramka porównuje nową wartość z ostatnią wartością wysłaną do KNX. Jeśli zmiana przekroczy skonfigurowaną strefę nieczułości, wysyłany jest telegram grupowy KNX z nową wartością.

Strategia odpytywania i strefy nieczułości

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.

Zasady okablowania RS-485

Warstwa fizyczna RS-485 (EIA-485) to transmisja różnicowa po skrętce. Prawidłowe okablowanie jest obowiązkowe – nieprawidłowo podłączona magistrala RS-485 może działać na krótkich dystansach i przy niskich prędkościach transmisji, ale będzie zawodzić sporadycznie na dłuższych odcinkach lub przy wyższych prędkościach. Należy bezwzględnie przestrzegać tych zasad.

Zasady okablowania 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.

Topologia gwiazdy — zabroniona

RS-485 wymaga topologii łańcuchowej (magistrali). Topologia gwiazdy — w której wiele odgałęzień odchodzi od centralnego punktu — powoduje odbicia i błędy integralności sygnału. Nawet krótkie odgałęzienia (30 cm) powodują problemy przy 19200 bodach. Kabel od bramy do urządzenia 1, następnie od urządzenia 1 do urządzenia 2 i tak dalej. Żadnych rozgałęzień w kształcie litery T.

Potencjał odniesienia (masa)

RS-485 nie wymaga przewodu masy do transmisji sygnału, ale różnica napięć masy między masterem a slavem przekraczająca ±7 V względem zakresu napięcia wspólnego może zakłócić sygnały lub uszkodzić transceivery. W instalacjach obejmujących wiele rozdzielnic należy dołączyć przewód masy w kablu RS-485.

Projekt magistrali RS-485 z wieloma urządzeniami

Pojedynczy KNXGW-MODBUS może adresować do 32 urządzeń slave Modbus RTU na jednej magistrali RS-485. Systematyczne uruchamianie magistrali z wieloma urządzeniami zapobiega konfliktom adresów i błędom okablowania, które są trudne do zdiagnozowania po podłączeniu wszystkich urządzeń.

Sekwencja uruchamiania magistrali z wieloma urządzeniami

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

Budżet czasu odpytywania: Przy 32 urządzeniach i łącznie 512 rejestrach każdy cykl odpytywania trwa około 32 × (ramka adresowa + czas odpowiedzi + odstęp międzyramkowy). Przy 9600 bodach z opóźnieniem międzyramkowym 10 ms odczyt 16 rejestrów na urządzenie zajmuje około 50 ms na urządzenie, co daje całkowity czas cyklu 1,6 sekundy dla 32 urządzeń. Ustaw interwał odpytywania ETS6 na minimum 2 s dla sum energii, aby zapewnić odczyt każdego urządzenia w każdym cyklu. Zwiększ prędkość transmisji do 19200 lub 38400, jeśli czas cyklu jest zbyt długi.

Potrzebujesz bramki KNX Modbus zintegrowanej z panelem monitorowania energii?

Projektujemy panele z prekonfigurowanym Weinzierl KNXGW-MODBUS — mapy rejestrów zweryfikowane dla konkretnych liczników i napędów, magistrala RS-485 przetestowana, a obiekty grupowe ETS6 połączone z wizualizacją KNX przed dostawą.

Poproś o wycenę →
Ładowanie...
Powrót do góry