TapHome

solvimus MBUS-GEM – vodomer M-Bus

Modbus TCP
Pridal
Posledná aktualizácia: 11. 2026
solvimus MBUS-GEM – vodomer M-Bus

TapHome nemá vlastné rozhranie M-Bus. Káblový vodomer M-Bus sa pripája cez bránu M-Bus na Modbus a TapHome ho číta ako zariadenie Modbus TCP. Táto šablóna používa bránu solvimus MBUS-GEM (MBUS-GE20M, MBUS-GE80M, MBUS-GE125M, MBUS-GE250M, MBUS-GE500M): brána číta merače na svojej zbernici M-Bus a ich dáta ponúka ako server Modbus TCP na porte 502. Jeden importovaný modul predstavuje jeden vodomer; pre ďalšie merače sa šablóna importuje znova.

Šablóna číta objem vody v m³, prietok, ktorý hlási samotný merač, a priemerný prietok medzi dvoma odčítaniami brány v l/h. Priemerný prietok slúži na detekciu únikov: smart rules v TapHome ho môžu porovnávať s limitmi, napríklad aby spustili alarm, keď voda tečie aj v noci.

Komunitná šablóna — zatiaľ neotestovaná na hardvéri. Šablóna vznikla v portáli TapHome z používateľskej príručky solvimus MBUS-GEM (verzia 1.31). Nebežala na skutočnej bráne a merači ani na simulátore. Jej čísla registrov (RegMeter, RegVolume, RegFlow) sú zástupné hodnoty: po importe ich inštalatér nastaví podľa stĺpca Register na karte Meter brány. Pred tým, ako sa budete na hodnoty spoliehať, overte spojenie testovacím režimom brány (pozri Konfigurácia); skúsenosti z praxe sú vítané. XML si stiahnite na tejto stránke alebo z portálu TapHome: solvimus MBUS-GEM – vodomer M-Bus — komunitná šablóna, a importujte ho ako nový modul.

Čo potrebujete

  • Bránu solvimus MBUS-GEM pre káblový M-Bus s Modbus TCP: MBUS-GE20M, MBUS-GE80M, MBUS-GE125M, MBUS-GE250M alebo MBUS-GE500M. MBUS-GEWM je variant pre bezdrôtový M-Bus a táto šablóna ho nepokrýva.
  • Káblový vodomer M-Bus (EN 13757), ktorý brána dokáže odčítať. Ultrazvukové vodomery zvyčajne hlásia aj prietok.
  • Bránu a riadiacu jednotku Core v tej istej lokálnej sieti.

Hardvérové pripojenie

MBUS-GEM sa montuje na 35 mm DIN lištu a má skrutkové svorky pre M-Bus a napájanie a ethernetový port RJ45 (10/100 Mbit/s).

ModelJednotkové záťaže M-BusŠírkaNapájanieRýchlosť M-Bus
MBUS-GE20M202 moduly21,6–24,5 VDCmax. 19200 bps
MBUS-GE80M802 moduly21,6–24,5 VDCmax. 19200 bps
MBUS-GE125M1253 moduly12–36 VDCmax. 9600 bps
MBUS-GE250M2503 moduly12–36 VDCmax. 9600 bps
MBUS-GE500M5003 moduly12–36 VDCmax. 9600 bps

Jedna jednotková záťaž (UL) zväčša zodpovedá jednému meraču.

  1. Pripojte linku M-Bus vodomera na svorky M-Bus brány.
  2. Pripojte bránu ethernetovým káblom do lokálnej siete.
  3. Pripojte externý zdroj 24 VDC. Brána sa spustí sama.

Konfigurácia

Sieť a zoznam meračov

Brána sa dodáva so statickou IP adresou 192.168.1.101 (maska podsiete 255.255.255.0, brána siete 192.168.1.254); jej webové rozhranie sa otvorí na http://192.168.1.101/. Pri prvom prihlásení musí administrátor zmeniť heslo. Nástroj Netdiscover od solvimus nájde bránu v sieti a vie ju prepnúť na inú statickú adresu alebo na DHCP; pri DHCP nájdete pridelenú adresu v DHCP serveri podľa MAC adresy brány. Bez DHCP servera si brána vyberie adresu z rozsahu 169.254.x.x. Šablóna oslovuje bránu IP adresou, preto jej dajte pevnú adresu alebo rezerváciu v DHCP.

Vo webovom rozhraní vyhľadajte merače na zbernici M-Bus, aby sa vodomer objavil v zozname meračov na karte Meter aj so svojimi hodnotami (objem a prietok, ak ho merač hlási).

Nastavenie Modbus na karte Server

  1. Modbus mode nastavte na Modbus TCP a Modbus port nechajte na 502.
  2. Modbus float only nechajte vypnuté. Tento režim odstráni polia typu a jednotky, ktoré šablóna kontroluje.
  3. Modbus swap nechajte vypnuté. Šablóna očakáva predvolené poradie slov (najvýznamnejšie slovo prvé).
  4. Odporúča sa zapnúť Modbus multi slave. Každý merač sa potom stane samostatným virtuálnym Modbus slave s vlastnou adresou (1–247) a číslovanie registrov sa začína pri každom merači odznova, takže merače rovnakého typu majú rovnaké čísla registrov.

Po zapnutí alebo vypnutí multi slave treba adresy na karte Meter prideliť znova (kontextová ponuka Allocate).

Cyklus odčítania

Brána číta merače nezávisle od požiadaviek Modbus: v Readout cycle na karte Configuration alebo v Cycle (v sekundách) pre jednotlivý merač na karte Meter. Tieto nastavenia určujú, aké čerstvé sú hodnoty v TapHome. Niektoré batériové merače M-Bus dovolia len obmedzený počet odčítaní za deň; pred nastavením krátkeho cyklu si pozrite technický list merača.

Nastavenie šablóny po importe

Brána nemá pevnú tabuľku registrov. Každý záznam merača a každá hodnota merača dostane vlastný blok 10 holding registrov a začiatok každého bloku ukazuje stĺpec Register na karte Meter. Poradie hodnôt zodpovedá poradiu, v akom merač posiela svoje záznamy M-Bus, takže sa medzi modelmi meračov líši. Šablóna preto drží začiatok každého bloku v premennej modulu a každú adresu registra počíta z nej.

NastavenieKdeHodnota
IP adresaParameter importuAdresa brány (dialóg importu navrhne 192.168.1.100; brána sa dodáva s 192.168.1.101)
SlaveIdParameter importu (predvolene 1)S multi slave: číslo v stĺpci Register v riadku merača. Bez multi slave: 255
RegMeterPremenná modulu (predvolene 10)S multi slave: 10 (záznam merača začína v každom virtuálnom slave na 10). Bez multi slave: číslo v stĺpci Register v riadku merača
RegVolumePremenná modulu (predvolene 20)Číslo v stĺpci Register v riadku objemu merača (jednotka m³)
RegFlowPremenná modulu (predvolene 30)Číslo v stĺpci Register v riadku prietoku merača (jednotka m³/h, m³/min alebo m³/s)

Predvolené hodnoty 10, 20 a 30 zodpovedajú len rozloženiu testovacieho režimu brány; prepíšte ich číslami skutočného merača.

Každé zariadenie kontroluje typ záznamu a jednotku svojho bloku. Nesprávne číslo zobrazí na zariadení chybu, ktorá menuje premennú modulu, napríklad RegVolume does not point to a volume value in m³ … copy the Register number of this value from the gateway Meter tab.

Kontrola spojenia cez Modbus test

Keď je na karte Server zapnutý Modbus test, brána poskytuje statické testovacie dáta: záznam merača na registri 10 a hodnotu energie (jednotka Wh, 1234,5678 Wh) na registri 20. S predvolenými premennými modulu potom Objem vody prijme register 10 ako záznam merača (s varovaním, že médium testovacieho merača, kód 2, nie je voda) a ohlási, že register 20 nie je hodnota objemu (kód jednotky 5). Keď uvidíte presne tieto hlásenia, IP adresa, port, adresa slave a čísla registrov sa k bráne dostávajú tak, ako majú. Potom testovací režim vypnite a nastavte premenné modulu pre skutočný merač.

Možnosti zariadení

Všetky tri zariadenia sú len na čítanie a čítajú sa každých 15 s. Ich hodnoty sa menia, len keď brána odčíta merač, v jej cykle odčítania.

Objem vody

Objem vody je stav vodomera v m³ na tri desatinné miesta, čítaný ako škálovaná hodnota s pohyblivou desatinnou čiarkou z bloku objemu. Zariadenie kontroluje aj záznam merača:

HlásenieTypVýznam
RegMeter does not point to a meter entry …ChybaRegMeter ukazuje na blok, ktorý nie je záznamom merača
RegMeter points to a meter with medium code …, which is not a water meter …VarovanieMerač nie je vodomer (prijaté kódy média: voda, studená voda, teplá voda, horúca voda a dvojitý register vody) — skontrolujte RegMeter a SlaveId
The gateway could not read the meter in its last readout …ChybaSkontrolujte zapojenie M-Bus, adresu merača a zoznam meračov v bráne
Not all meter values were updated in the last gateway readoutVarovaniePosledné odčítanie nebolo úplné

Servisný atribút Výrobné číslo merača ukazuje výrobné číslo merača M-Bus a pomáha overiť, že šablóna číta správny merač. Výrobné číslo, ktoré obsahuje písmená, sa zobrazí ako 0.

Priemerný prietok vody

Priemerný prietok vody je nárast objemu medzi dvoma poslednými odčítaniami brány vydelený časom medzi ich časovými značkami, v l/h. Prepočíta sa, len keď sa zmení časová značka odčítania merača, takže ide o priemer za jeden cyklus odčítania.

  • Po prvom odčítaní, po reštarte riadiacej jednotky Core a po vynulovaní merača (objem nižší ako predtým) je hodnota 0 až do ďalšieho odčítania.
  • Ak brána prestane merač odčítavať, ostane posledný priemer; Objem vody vtedy ukazuje chybu odčítania.

Zariadenie číta ten istý blok objemu ako Objem vody. Samotnú detekciu únikov — limity, otváracie hodiny, alarmy — nastavíte cez smart rules v TapHome; šablóna dodá hodnotu.

Prietok vody

Prietok vody je prietok, ktorý hlási samotný merač, prepočítaný na m³/h (z m³/h, m³/min alebo m³/s). Nie každý vodomer M-Bus hlási prietok; ultrazvukové merače zvyčajne áno.

Riešenie problémov

Žiadna komunikácia

  • Skontrolujte, že brána a riadiaca jednotka Core sú v tej istej sieti a brána odpovedá na ping.
  • Skontrolujte, že Modbus je na karte Server zapnutý, port je 502 a neblokuje ho firewall.
  • Použite testovací režim opísaný vyššie.
  • Brána v štandardnej konfigurácii prijme naraz najviac päť spojení Modbus TCP; nad tento limit nové spojenie zavrie najstaršie.

Chyba menuje premennú modulu

Číslo v tejto premennej ukazuje na blok iného typu alebo jednotky. Číslo znova prepíšte zo stĺpca Register na karte Meter; pri multi slave skontrolujte aj SlaveId. Po zapnutí alebo vypnutí multi slave prideľte adresy znova (Allocate) a prepíšte nové čísla.

Hodnoty sa nemenia

Skontrolujte cyklus odčítania brány a limit odčítaní merača. Systémový čas brány musí byť správny (nastavený ručne alebo cez SNTP), inak sú časové značky odčítania aj priemerný prietok nesprávne.

Malá odchýlka od webu brány

Hodnota s pohyblivou desatinnou čiarkou má asi 7 platných číslic, takže posledné číslice sa môžu mierne líšiť od hodnoty vo webovom rozhraní brány.

Dostupné zariadenia

solvimus MBUS-GEM – vodomer Modul
Vlastné premenné
RegMeter (numeric) = 10Začiatok záznamu merača (výrobné číslo, čas odčítania, stav odčítania) — pri Modbus multi slave 10, inak číslo zo stĺpca Register v riadku merača na karte Meter
RegVolume (numeric) = 20Začiatok hodnoty objemu (jednotka m³) — číslo zo stĺpca Register v riadku objemu na karte Meter
RegFlow (numeric) = 30Začiatok hodnoty prietoku (jednotka m³/h, m³/min alebo m³/s) — číslo zo stĺpca Register v riadku prietoku na karte Meter
Objem vody Premenná Len na čítanie

Stav vodomera v m³ na tri desatinné miesta; ukáže chybu, keď brána merač nedokázala odčítať

Register: H:RegVolume+4 Float Jednotka: m³ numeric
Servisné atribúty
Výrobné číslo meračaVýrobné číslo merača M-Bus — potvrdí, že šablóna číta správny merač

Objem vody

Čítanie
VAR info := MODBUSR(H, RegVolume+7, UInt16);
VAR unit := GETBITS(info, 0, 8);
VAR factor := SWITCH(unit, 7, 1, 0);
IF GETBITS(info, 8, 8) != 0 OR factor = 0
    ADDERROR(1, "RegVolume does not point to a volume value in m³ (entry type " + TOSTRING(GETBITS(info, 8, 8)) + ", unit code " + TOSTRING(unit) + ") – copy the Register number of this value from the gateway Meter tab");
    RETURN(NaN);
END
RETURN(ROUND(MODBUSR(H, RegVolume+4, Float) * factor * 1000) / 1000);
Čítanie (modul)
VAR meterInfo := MODBUSR(H, RegMeter+7, UInt16);
VAR medium := 0;
VAR flags := 0;
IF GETBITS(meterInfo, 8, 8) != 2
    ADDERROR(1, "RegMeter does not point to a meter entry (entry type " + TOSTRING(GETBITS(meterInfo, 8, 8)) + ") – set RegMeter to the start of the meter entry (10 with Modbus multi slave, otherwise the Register number of the meter row in the gateway Meter tab)");
ELSE
    medium := GETBITS(MODBUSR(H, RegMeter+3, UInt16), 0, 8);
    IF medium != 6 AND medium != 7 AND medium != 21 AND medium != 22 AND medium != 23
        ADDWARNING(2, "RegMeter points to a meter with medium code " + TOSTRING(medium) + ", which is not a water meter – check that RegMeter and SlaveId belong to the water meter");
    END
    flags := MODBUSR(H, RegMeter+8, UInt16);
    IF GETBIT(flags, 0)
        ADDERROR(3, "The gateway could not read the meter in its last readout – check the M-Bus wiring, the meter address and the meter list of the gateway");
    ELSEIF GETBIT(flags, 1)
        ADDWARNING(4, "Not all meter values were updated in the last gateway readout");
    END
END
Servisné atribúty
Meter serial number
TOSTRING(MODBUSR(H, RegMeter+0, UInt32))
Priemerný prietok vody Premenná Len na čítanie

Priemerný prietok medzi dvoma poslednými odčítaniami brány v l/h — na detekciu únikov, napríklad keď voda tečie v noci

Register: H:RegVolume+4, H:RegMeter+4 Float, UInt32 Jednotka: l/h numeric

Priemerný prietok vody

Čítanie
VAR info := MODBUSR(H, RegVolume+7, UInt16);
VAR ts := 0;
VAR vol := 0;
IF GETBITS(info, 8, 8) != 0 OR GETBITS(info, 0, 8) != 7
    ADDERROR(1, "RegVolume does not point to a volume value in m³ (entry type " + TOSTRING(GETBITS(info, 8, 8)) + ", unit code " + TOSTRING(GETBITS(info, 0, 8)) + ") – copy the Register number of the volume value from the gateway Meter tab");
    RETURN(NaN);
END
ts := MODBUSR(H, RegMeter+4, UInt32);
IF ts = 0
    RETURN(NaN);
END
IF ts != PrevTime
    vol := MODBUSR(H, RegVolume+4, Float);
    IF PrevTime > 0 AND ts > PrevTime AND vol >= PrevVolume
        AvgFlow := (vol - PrevVolume) * 1000 * 3600 / (ts - PrevTime);
    ELSE
        AvgFlow := 0;
    END
    PrevVolume := vol;
    PrevTime := ts;
END
RETURN(AvgFlow);
Prietok vody Premenná Len na čítanie

Prietok, ktorý hlási samotný merač, v m³/h; mení sa len pri každom odčítaní bránou

Register: H:RegFlow+4 Float Jednotka: m³/h numeric

Prietok vody

Čítanie
VAR info := MODBUSR(H, RegFlow+7, UInt16);
VAR unit := GETBITS(info, 0, 8);
VAR factor := SWITCH(unit, 15, 1, 16, 60, 17, 3600, 0);
IF GETBITS(info, 8, 8) != 0 OR factor = 0
    ADDERROR(1, "RegFlow does not point to a volume flow value (entry type " + TOSTRING(GETBITS(info, 8, 8)) + ", unit code " + TOSTRING(unit) + ") – copy the Register number of this value from the gateway Meter tab");
    RETURN(NaN);
END
RETURN(MODBUSR(H, RegFlow+4, Float) * factor);
Pripojenie: Modbus TCP • Slave ID: $[SlaveId]
Možné vylepšenia (3)
  • H:RegVolume+0 Unscaled meter value (64-bit integer) with scaling factor — Int64 at offset 0–3 with the power-of-ten scaling factor at offset 6; preferred by the manual for exact billing, 0 when the meter sends a floating-point value. The template reads the scaled Float at offset 4.
  • H:RegVolume+8 Timestamp of the value from the meter — UNIX time provided by the meter for the value, 0 if the meter provides none. The template uses the readout time of the meter entry (H:RegMeter+4) instead.
  • H:RegMeter+2 Manufacturer code of the meter — Three letters encoded in 5-bit groups.

Zdroje

  • solvimus MBUS-GEM User manual v1.31 (Modbus TCP server, network configuration)
  • solvimus MBUS-GEM datasheets (MBUS-GE20M/80M and MBUS-GE125M/250M/500M)

Našli ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Komunita — nepreverené

Chcete to použiť vo svojom TapHome jadre?

Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu.

Otvoriť v portáli