TapHome

solvimus MBUS-GEM – M-Bus vízmérő

Modbus TCP
Beküldő
Utoljára frissítve: 11. 2026
solvimus MBUS-GEM – M-Bus vízmérő

A TapHome-nak nincs saját M-Bus interfésze. A vezetékes M-Bus vízmérő M-Bus–Modbus átjárón keresztül csatlakozik, és a TapHome Modbus TCP eszközként olvassa. Ez a sablon a solvimus MBUS-GEM átjárót használja (MBUS-GE20M, MBUS-GE80M, MBUS-GE125M, MBUS-GE250M, MBUS-GE500M): az átjáró kiolvassa a mérőket a saját M-Bus buszán, és adataikat Modbus TCP szerverként kínálja az 502-es porton. Egy importált modul egy vízmérőt jelent; további mérőkhöz a sablont újra importálod.

A sablon kiolvassa a víz térfogatát m³-ben, a mérő által jelentett átfolyást és az átjáró két kiolvasása közötti átlagos átfolyást l/h-ban. Az átlagos átfolyás szivárgás észlelésére szolgál: a TapHome smart rule-jai határértékekkel vethetik össze, például hogy riasszanak, ha éjjel is folyik a víz.

Közösségi sablon — hardveren még nem tesztelt. A sablon a TapHome portálon készült a solvimus MBUS-GEM felhasználói kézikönyvéből (1.31-es verzió). Nem futott valódi átjárón és mérőn, sem szimulátoron. A regiszterszámai (RegMeter, RegVolume, RegFlow) helykitöltő értékek: importálás után a telepítő az átjáró Meter lapjának Register oszlopa alapján állítja be őket. Mielőtt az értékekre hagyatkozol, ellenőrizd a kapcsolatot az átjáró tesztüzemmódjával (lásd Konfiguráció); a gyakorlati tapasztalatokat szívesen fogadjuk. Az XML-t letöltheted ezen az oldalon vagy a TapHome portálról: solvimus MBUS-GEM – M-Bus vízmérő — közösségi sablon, majd importáld új modulként.

Amire szükséged van

  • solvimus MBUS-GEM átjáró vezetékes M-Bushoz, Modbus TCP-vel: MBUS-GE20M, MBUS-GE80M, MBUS-GE125M, MBUS-GE250M vagy MBUS-GE500M. Az MBUS-GEWM a vezeték nélküli M-Bus változata, ezt a sablon nem fedi le.
  • Vezetékes M-Bus vízmérő (EN 13757), amelyet az átjáró ki tud olvasni. Az ultrahangos vízmérők általában az átfolyást is jelentik.
  • Az átjáró és a Core vezérlőegység ugyanabban a helyi hálózatban.

Hardveres csatlakozás

Az MBUS-GEM 35 mm-es DIN-sínre szerelhető, csavaros sorkapcsai vannak az M-Bushoz és a tápellátáshoz, valamint RJ45 Ethernet-csatlakozója (10/100 Mbit/s).

ModellM-Bus egységterhelésSzélességTápellátásM-Bus átviteli sebesség
MBUS-GE20M202 modul21,6–24,5 VDCmax. 19200 bps
MBUS-GE80M802 modul21,6–24,5 VDCmax. 19200 bps
MBUS-GE125M1253 modul12–36 VDCmax. 9600 bps
MBUS-GE250M2503 modul12–36 VDCmax. 9600 bps
MBUS-GE500M5003 modul12–36 VDCmax. 9600 bps

Egy egységterhelés (UL) többnyire egy mérőnek felel meg.

  1. Kösd a vízmérő M-Bus vonalát az átjáró M-Bus sorkapcsaira.
  2. Csatlakoztasd az átjárót Ethernet-kábellel a helyi hálózathoz.
  3. Csatlakoztass külső 24 VDC-s tápegységet. Az átjáró magától elindul.

Konfiguráció

Hálózat és mérőlista

Az átjáró a 192.168.1.101 statikus IP-címmel érkezik (alhálózati maszk 255.255.255.0, alapértelmezett átjáró 192.168.1.254); webes felülete a http://192.168.1.101/ címen nyílik meg. Az első bejelentkezéskor az adminisztrátornak meg kell változtatnia a jelszót. A solvimus Netdiscover eszköze megtalálja az átjárót a hálózatban, és át tudja állítani másik statikus címre vagy DHCP-re; DHCP esetén a kiosztott címet a DHCP-szerverben az átjáró MAC-címe alapján találod meg. DHCP-szerver nélkül az átjáró a 169.254.x.x tartományból választ címet. A sablon IP-címmel éri el az átjárót, ezért adj neki fix címet vagy DHCP-foglalást.

A webes felületen keresd meg a mérőket az M-Buson, hogy a vízmérő megjelenjen a Meter lap mérőlistájában az értékeivel együtt (térfogat és, ha a mérő jelenti, átfolyás).

Modbus-beállítások a Server lapon

  1. A Modbus mode legyen Modbus TCP, a Modbus port maradjon 502.
  2. A Modbus float only maradjon kikapcsolva. Ez az üzemmód eltávolítja a típus- és mértékegységmezőket, amelyeket a sablon ellenőriz.
  3. A Modbus swap maradjon kikapcsolva. A sablon az alapértelmezett szósorrendet várja (a legnagyobb helyiértékű szó elöl).
  4. A Modbus multi slave bekapcsolása ajánlott. Ekkor minden mérő saját virtuális Modbus slave lesz saját címmel (1–247), és a regiszterek számozása minden mérőnél elölről indul, így az azonos típusú mérők regiszterszámai megegyeznek.

A multi slave be- vagy kikapcsolása után a Meter lapon a címeket újra ki kell osztani (helyi menü, Allocate).

Kiolvasási ciklus

Az átjáró a Modbus-kérésektől függetlenül olvassa ki a mérőket: a Configuration lap Readout cycle beállítása szerint, vagy a Meter lapon az adott mérő Cycle értéke (másodpercben) szerint. Ezek a beállítások döntik el, mennyire frissek az értékek a TapHome-ban. Egyes elemes M-Bus mérők naponta csak korlátozott számú kiolvasást engednek; rövid ciklus választása előtt nézd meg a mérő adatlapját.

A sablon beállításai importálás után

Az átjárónak nincs rögzített regisztertáblája. Minden mérőbejegyzés és minden mérőérték saját, 10 holding regiszterből álló blokkot kap, és minden blokk kezdetét a Meter lap Register oszlopa mutatja. Az értékek sorrendje követi azt a sorrendet, amelyben a mérő az M-Bus rekordjait küldi, ezért mérőmodellenként eltér. A sablon ezért minden blokk kezdetét egy modulváltozóban tartja, és ebből számítja ki az összes regisztercímet.

BeállításHolÉrték
IP-címImportálási paraméterAz átjáró címe (az importálási párbeszéd 192.168.1.100-at javasol; az átjáró 192.168.1.101-gyel érkezik)
SlaveIdImportálási paraméter (alapérték 1)Multi slave esetén: a mérő sorában a Register oszlop száma. Multi slave nélkül: 255
RegMeterModulváltozó (alapérték 10)Multi slave esetén: 10 (a mérőbejegyzés minden virtuális slave-ben a 10-nél kezdődik). Multi slave nélkül: a mérő sorában a Register oszlop száma
RegVolumeModulváltozó (alapérték 20)A mérő térfogatsorában a Register oszlop száma (mértékegység m³)
RegFlowModulváltozó (alapérték 30)A mérő átfolyássorában a Register oszlop száma (mértékegység m³/h, m³/min vagy m³/s)

A 10, 20 és 30 alapértékek csak az átjáró tesztüzemmódjának elrendezéséhez illenek; írd felül őket a valódi mérő számaival.

Minden eszköz ellenőrzi a blokkja bejegyzéstípusát és mértékegységét. Hibás szám esetén az eszköz a modulváltozót megnevező hibát mutat, például RegVolume does not point to a volume value in m³ … copy the Register number of this value from the gateway Meter tab.

Kapcsolat ellenőrzése a Modbus testtel

Ha a Server lapon be van kapcsolva a Modbus test, az átjáró statikus tesztadatokat szolgáltat: mérőbejegyzést a 10-es regiszteren és egy energiaértéket (mértékegység Wh, 1234,5678 Wh) a 20-as regiszteren. Az alapértelmezett modulváltozókkal a Víztérfogat ekkor elfogadja a 10-es regisztert mérőbejegyzésként (figyelmeztetéssel, hogy a tesztmérő közege, a 2-es kód, nem víz), és jelzi, hogy a 20-as regiszter nem térfogatérték (mértékegységkód 5). Ha pontosan ezeket az üzeneteket látod, az IP-cím, a port, a slave-cím és a regiszterszámok rendben elérik az átjárót. Utána kapcsold ki a tesztüzemmódot, és állítsd be a valódi mérő modulváltozóit.

Az eszközök képességei

Mindhárom eszköz csak olvasható, és 15 másodpercenként olvasódik. Értékeik csak akkor változnak, amikor az átjáró a kiolvasási ciklusában kiolvassa a mérőt.

Víztérfogat

A Víztérfogat a mérőállás m³-ben, három tizedesjegyre, a térfogatblokk skálázott lebegőpontos értékéből olvasva. Az eszköz a mérőbejegyzést is ellenőrzi:

ÜzenetTípusJelentés
RegMeter does not point to a meter entry …HibaA RegMeter olyan blokkra mutat, amely nem mérőbejegyzés
RegMeter points to a meter with medium code …, which is not a water meter …FigyelmeztetésA mérő nem vízmérő (elfogadott közegkódok: víz, hidegvíz, melegvíz, forróvíz és kettős regiszteres víz) — ellenőrizd a RegMeter és a SlaveId értékét
The gateway could not read the meter in its last readout …HibaEllenőrizd az M-Bus bekötését, a mérő címét és az átjáró mérőlistáját
Not all meter values were updated in the last gateway readoutFigyelmeztetésAz utolsó kiolvasás nem volt teljes

A Mérő sorozatszáma szervizattribútum az M-Bus mérő sorozatszámát mutatja, és segít megerősíteni, hogy a sablon a megfelelő mérőt olvassa. A betűket tartalmazó sorozatszám 0-ként jelenik meg.

Átlagos vízátfolyás

Az Átlagos vízátfolyás az átjáró két utolsó kiolvasása közötti térfogatnövekedés osztva az időbélyegeik közötti idővel, l/h-ban. Csak akkor számolódik újra, amikor a mérő kiolvasási időbélyege megváltozik, így egy kiolvasási ciklus átlaga.

  • Az első kiolvasás után, a Core vezérlőegység újraindítása után és a mérő nullázása után (a térfogat kisebb, mint korábban) az érték a következő kiolvasásig 0.
  • Ha az átjáró abbahagyja a mérő kiolvasását, az utolsó átlag megmarad; a Víztérfogat ekkor a kiolvasási hibát mutatja.

Az eszköz ugyanazt a térfogatblokkot olvassa, mint a Víztérfogat. Magát a szivárgásészlelést — határértékeket, nyitvatartási időt, riasztásokat — a TapHome smart rule-jaival állítod be; a sablon az értéket adja.

Vízátfolyás

A Vízátfolyás a mérő által jelentett átfolyás, m³/h-ra átszámítva (m³/h, m³/min vagy m³/s értékből). Nem minden M-Bus vízmérő jelent átfolyást; az ultrahangos mérők általában igen.

Hibaelhárítás

Nincs kommunikáció

  • Ellenőrizd, hogy az átjáró és a Core vezérlőegység ugyanabban a hálózatban van-e, és az átjáró válaszol-e a pingre.
  • Ellenőrizd, hogy a Modbus be van-e kapcsolva a Server lapon, a port 502-e, és nem blokkolja-e tűzfal.
  • Használd a fent leírt tesztüzemmódot.
  • Az átjáró alapkonfigurációban egyszerre legfeljebb öt Modbus TCP kapcsolatot fogad; e határ felett egy új kapcsolat a legrégebbit bontja.

A hiba egy modulváltozót nevez meg

A változóban lévő szám más típusú vagy mértékegységű blokkra mutat. Másold át újra a számot a Meter lap Register oszlopából; multi slave esetén a SlaveId értékét is ellenőrizd. A multi slave be- vagy kikapcsolása után oszd ki újra a címeket (Allocate), és másold át az új számokat.

Az értékek nem változnak

Ellenőrizd az átjáró kiolvasási ciklusát és a mérő kiolvasási korlátját. Az átjáró rendszeridejének helyesnek kell lennie (kézzel vagy SNTP-n beállítva), különben a kiolvasási időbélyegek és az átlagos átfolyás hibásak.

Kis eltérés az átjáró weboldalától

A lebegőpontos érték körülbelül 7 értékes jegyű, ezért az utolsó számjegyek kissé eltérhetnek az átjáró webes felületén látható értéktől.

Elérhető eszközök

solvimus MBUS-GEM – vízmérő Modul
Egyéni változók
RegMeter (numeric) = 10A mérőbejegyzés kezdete (sorozatszám, kiolvasási idő, kiolvasási állapot) — Modbus multi slave esetén 10, egyébként a mérő sorának Register értéke a Meter lapon
RegVolume (numeric) = 20A térfogatérték kezdete (mértékegység m³) — a térfogat sorának Register értéke a Meter lapon
RegFlow (numeric) = 30Az átfolyásérték kezdete (mértékegység m³/h, m³/min vagy m³/s) — az átfolyás sorának Register értéke a Meter lapon
Víztérfogat Változó Csak olvasható

Mérőállás m³-ben, három tizedesjegyre; hibát jelez, ha az átjáró nem tudta kiolvasni a mérőt

Regiszter: H:RegVolume+4 Float Egység: m³ numeric
Szerviz attribútumok
Mérő sorozatszámaAz M-Bus mérő sorozatszáma — igazolja, hogy a sablon a megfelelő mérőt olvassa

Víztérfogat

Olvasás
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);
Olvasás (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
Szerviz attribútumok
Meter serial number
TOSTRING(MODBUSR(H, RegMeter+0, UInt32))
Átlagos vízátfolyás Változó Csak olvasható

Átlagos átfolyás az átjáró két utolsó kiolvasása között, l/h-ban — szivárgás észleléséhez, például ha éjjel folyik a víz

Regiszter: H:RegVolume+4, H:RegMeter+4 Float, UInt32 Egység: l/h numeric

Átlagos vízátfolyás

Olvasás
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);
Vízátfolyás Változó Csak olvasható

A mérő által jelentett átfolyás m³/h-ban; csak az átjáró minden kiolvasásakor változik

Regiszter: H:RegFlow+4 Float Egység: m³/h numeric

Vízátfolyás

Olvasás
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);
Kapcsolat: Modbus TCP • Slave ID: $[SlaveId]
Lehetséges fejlesztések (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.

Források

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

Talált problémát ezzel az eszközsablonnal?

Írja meg, mi nem működik, mi hiányzik, vagy hogyan kellene a sablonnak viselkednie. Visszajelzése segít, hogy a katalógus pontos maradjon.

Közösség — felülvizsgálatlan

Használni szeretnéd ezt a TapHome Core-odban?

Nyisd meg ezt a sablont az ügyfélportálon, hogy alkalmazd az otthonaid egyikére, vagy készíts egy módosítást és küldd vissza a katalógusba.

Megnyitás a portálon