Gateway KNX Modbus: Weinzierl KNXGW-MODBUS e mappatura dei registri
Modbus RTU è il protocollo dominante per contatori energetici, azionamenti a frequenza variabile e apparecchiature HVAC. Il Weinzierl KNXGW-MODBUS collega il bus RS-485 Modbus con KNX TP, esponendo i valori dei registri come indirizzi di gruppo KNX – rendendo i dati energetici e i feedback degli azionamenti disponibili per la visualizzazione KNX, la logica e i gateway BMS senza software o PLC separati.
Casi d'uso Modbus RTU/TCP verso KNX
Modbus RTU su RS-485 è il protocollo di campo dominante per le apparecchiature di misura dell'energia, gli azionamenti a frequenza variabile e i sottosistemi HVAC degli edifici. Questi dispositivi non hanno un'interfaccia KNX nativa, ma i loro dati – potenza attiva, totali energetici, feedback di velocità dell'azionamento, corrente motore – sono richiesti nei sistemi di visualizzazione KNX, nei dashboard energetici e negli export dei gateway BMS. Il Weinzierl KNXGW-MODBUS legge i registri slave Modbus e scrive i valori sugli indirizzi di gruppo KNX con scaling corretto dei DPT.
Contatori di energia
- Carlo Gavazzi EM340 (trifase, guida DIN)
- Eastron SDM630 (trifase, certificato MID)
- Schneider iEM3155 e iEM3255
- Contatori serie ABB B23 e B24
- Janitza UMG 96-PA (analizzatore di potenza)
Azionamenti a frequenza variabile
- ABB ACH580 (VFD HVAC, Modbus RTU)
- Danfoss FC102 (ventilatore e pompa HVAC)
- Mitsubishi FR-F800 (azionamenti ventilatori HVAC)
- Siemens SINAMICS G120 (uso generale)
- Yaskawa GA800 (HVAC per edifici)
Hardware Weinzierl KNXGW-MODBUS
Il Weinzierl KNXGW-MODBUS è un dispositivo su guida DIN che si collega direttamente al bus KNX TP e a una rete RS-485 Modbus RTU tramite morsetti a vite. Una porta Modbus TCP opzionale (Ethernet RJ45) è disponibile su alcune varianti, consentendo la connessione a slave Modbus TCP come contatori connessi in rete senza dover posare cavo RS-485. Il dispositivo è configurato interamente tramite ETS6 – non è richiesto alcun software separato.
Specifiche 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
Database prodotti ETS6: scarica il programma applicativo KNXGW-MODBUS da weinzierl.de/en/products, importa il file .knxprod in ETS6 tramite Cataloghi → Importa. Il dispositivo appare nel catalogo prodotti ETS6 e può essere aggiunto alla struttura dell'edificio come qualsiasi altro dispositivo KNX. Tutti i parametri Modbus, le definizioni dei registri e le assegnazioni degli oggetti di gruppo KNX vengono effettuati all'interno dei parametri ETS6.
Configurazione ETS6
La configurazione ETS6 per KNXGW-MODBUS procede in due fasi: parametri globali del bus Modbus che si applicano a tutti gli slave collegati, quindi definizioni individuali dei registri per ogni dispositivo slave. Pianifica la mappa dei registri in un foglio di calcolo prima dell'inserimento in ETS6 — gli indirizzi dei registri variano tra i produttori di contatori e le versioni firmware.
Pagine dei parametri 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
Mappatura registri Carlo Gavazzi EM340
Il Carlo Gavazzi EM340 è un contatore di energia trifase su guida DIN con interfaccia Modbus RTU RS-485. Memorizza le misurazioni come valori a virgola mobile IEEE 754 a 32 bit nei registri di holding. Tutti i registri sono di sola lettura — il gateway legge il contatore, non vengono inviate scritture. L'ordine dei byte è big-endian (byte più significativo per primo).
| Registro (hex) | Misura | Tipo | KNX DPT | Unità |
|---|---|---|---|---|
| 0x0000 | Tensione L1 | FLOAT32 BE | DPT 9.020 | V |
| 0x0002 | Tensione L2 | FLOAT32 BE | DPT 9.020 | V |
| 0x0004 | Tensione L3 | FLOAT32 BE | DPT 9.020 | V |
| 0x0012 | Corrente L1 | FLOAT32 BE | DPT 9.021 | A |
| 0x0034 | Potenza attiva totale | FLOAT32 BE | DPT 9.001 | W |
| 0x003E | Fattore di potenza totale | FLOAT32 BE | DPT 9.001 | — |
| 0x0046 | Frequenza | FLOAT32 BE | DPT 9.010 | Hz |
| 0x0100 | Import Energia Attiva | FLOAT32 BE | DPT 12.001 | kWh |
| 0x0102 | Esporta energia attiva | FLOAT32 BE | DPT 12.001 | kWh |
Indirizzamento registri: Il manuale EM340 elenca i registri con indirizzi a base 1 (es. registro 1 = 0x0001). ETS6 e la maggior parte degli strumenti Modbus utilizzano indirizzamento a base 0. Sottrarre 1 dall'indirizzo del manuale quando si inserisce in ETS6. Il registro della potenza attiva è elencato come 0x0035 (base 1) = 0x0034 (base 0). Verificare sempre con la versione firmware EM340 specifica — le mappe dei registri talvolta cambiano tra versioni firmware.
Mappatura registri Eastron SDM630
L'Eastron SDM630 è un contatore di energia trifase certificato MID con Modbus RTU. La sua mappa dei registri differisce dall'EM340 — non assumere compatibilità dei registri tra marche di contatori. Il SDM630 utilizza registri di ingresso (codice funzione 0x04) per tutti i dati di misura e memorizza anche i valori come float IEEE 754 a 32 bit in ordine big-endian.
| Registro (hex) | Misura | Codice funzione | KNX DPT |
|---|---|---|---|
| 0x0000 | Tensione L1 (V) | 0x04 Ingresso | DPT 9.020 |
| 0x0002 | Tensione L2 (V) | 0x04 Ingresso | DPT 9.020 |
| 0x0004 | Tensione L3 (V) | 0x04 Ingresso | DPT 9.020 |
| 0x0006 | Corrente L1 (A) | 0x04 Ingresso | DPT 9.021 |
| 0x0034 | Potenza attiva totale (W) | 0x04 Ingresso | DPT 9.001 |
| 0x003C | Fattore di potenza totale | 0x04 Ingresso | DPT 9.001 |
| 0x0046 | Frequenza (Hz) | 0x04 Ingresso | DPT 9.010 |
| 0x0156 | Importo energia attiva (kWh) | 0x04 Ingresso | DPT 12.001 |
| 0x015A | Esporto energia attiva (kWh) | 0x04 Ingresso | DPT 12.001 |
Polling vs COV: configurazione della banda morta
Modbus RTU è un protocollo a polling – il master (KNXGW-MODBUS) avvia ogni lettura. Gli slave non inviano mai dati spontaneamente. Il gateway interroga ogni registro configurato all'intervallo impostato in ETS6. Dopo ogni polling riuscito, il gateway confronta il nuovo valore con l'ultimo valore inviato a KNX. Se la variazione supera la banda morta configurata, viene inviato un telegramma di gruppo KNX con il nuovo valore.
Strategia di polling e banda morta
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.
Regole di cablaggio RS-485
Il livello fisico RS-485 (EIA-485) è una trasmissione differenziale su doppino intrecciato. Un cablaggio corretto è obbligatorio – un bus RS-485 cablato in modo errato può sembrare funzionare a brevi distanze e a bassi baud rate, ma fallirà in modo intermittente su tratte più lunghe o a velocità più elevate. Seguire queste regole senza eccezioni.
Regole di cablaggio 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 a stella — vietata
RS-485 richiede una topologia a margherita (bus). La topologia a stella — in cui più rami si diramano da un punto centrale — provoca riflessioni e problemi di integrità del segnale. Anche rami corti (30 cm) causano problemi a 19200 baud. Cavo dal gateway al dispositivo 1, poi dal dispositivo 1 al dispositivo 2 e così via. Nessuna giunzione a T.
Riferimento di terra
RS-485 non richiede un conduttore di terra per la trasmissione del segnale, ma una differenza di tensione di terra tra master e slave superiore a ±7 V rispetto alla gamma di modo comune può corrompere i segnali o danneggiare i ricetrasmettitori. Includere un conduttore di terra nel cavo RS-485 per installazioni che si estendono su più quadri di distribuzione.
Progettazione di bus RS-485 multi-dispositivo
Un singolo KNXGW-MODBUS può indirizzare fino a 32 dispositivi slave Modbus RTU su un bus RS-485. Una messa in servizio sistematica di un bus multi-dispositivo previene conflitti di indirizzo e errori di cablaggio difficili da diagnosticare una volta che tutti i dispositivi sono collegati.
Sequenza di messa in servizio del bus multi-dispositivo
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 neededBudget di tempo di polling: Con 32 dispositivi e 512 registri totali, ogni ciclo di polling richiede circa 32 × (frame di indirizzo + tempo di risposta + intervallo tra frame). A 9600 baud con un ritardo inter-frame di 10 ms, la lettura di 16 registri per dispositivo richiede circa 50 ms per dispositivo, dando un tempo di ciclo totale di 1,6 secondi per 32 dispositivi. Imposta l'intervallo di polling ETS6 a minimo 2 s per i totali energetici per garantire che ogni dispositivo venga letto in ogni ciclo. Aumenta il baud rate a 19200 o 38400 se il tempo di ciclo è troppo lungo.
Hai bisogno di un gateway KNX Modbus integrato nel tuo pannello di monitoraggio energetico?
Progettiamo pannelli con Weinzierl KNXGW-MODBUS preconfigurato — mappe dei registri verificate per i tuoi contatori e azionamenti specifici, bus RS-485 testato e oggetti di gruppo ETS6 collegati alla visualizzazione KNX prima della consegna.
Richiedi un preventivo →