TapHome

solvimus MBUS-GEM – M-Bus kalorimetar

Modbus TCP
Autor
Posljednje ažuriranje: 11. 2026
solvimus MBUS-GEM – M-Bus kalorimetar

TapHome nema vlastito M-Bus sučelje. Kalorimetri sa žičanim M-Busom (EN 13757) spajaju se preko pristupnika koji pretvara M-Bus u Modbus, a TapHome ih zatim čita kao Modbus TCP uređaje. Ovaj predložak zajednice koristi pristupnik solvimus MBUS-GEM (MBUS-GE20M, MBUS-GE80M, MBUS-GE125M, MBUS-GE250M, MBUS-GE500M): pristupnik čita mjerila na svom M-Busu i njihove vrijednosti nudi kao Modbus TCP poslužitelj na portu 502.

Predložak čita jedan kalorimetar (ili jedno kombinirano mjerilo topline i hlađenja): toplinsku energiju u kWh, volumen ogrjevne vode, toplinsku snagu, protok te temperaturu polaza i povrata. Jedan uvezeni modul predstavlja jedno mjerilo; za svako sljedeće mjerilo predložak se uvozi ponovno. Toplinska energija je obična varijabla, a ne brojilo električne energije, pa je TapHome nikada ne ubraja u potrošnju električne energije.

Predložak zajednice — s TapHomeom na pristupniku još nije testiran. Predložak je izrađen prema korisničkom priručniku MBUS-GEM i nije radio s pristupnikom, kalorimetrom ni simulatorom. Njegovi brojevi registara su zamjenski i treba ih zamijeniti brojevima koje pristupnik prikazuje za vaše mjerilo (vidi Konfiguracija). Povratne informacije iz prakse su dobrodošle. Preuzmite XML na ovoj stranici ili ga nabavite na TapHome portalu: solvimus MBUS-GEM – M-Bus heat meter — predložak zajednice, i uvezite ga kao novi modul.

Što vam treba

  • Pristupnik solvimus MBUS-GEM — MBUS-GE20M (20 jediničnih opterećenja), MBUS-GE80M (80), MBUS-GE125M (125), MBUS-GE250M (250) ili MBUS-GE500M (500). Jedno jedinično opterećenje uglavnom je jedno mjerilo.
  • Kalorimetar sa žičanim M-Busom (EN 13757) na M-Busu pristupnika, ili kombinirano mjerilo topline i hlađenja.
  • Pristupnik i TapHome Core u istoj lokalnoj mreži.

Hardversko spajanje

MBUS-GEM se montira na DIN šinu od 35 mm. M-Bus vodovi mjerila idu na M-Bus vijčane stezaljke pristupnika, a mreža na njegov RJ45 Ethernet priključak (10/100 Mbit/s). Pristupnik treba vanjsko istosmjerno napajanje: 21,6–24,5 V DC za MBUS-GE20M i MBUS-GE80M, 12–36 V DC za MBUS-GE125M, MBUS-GE250M i MBUS-GE500M. Pokreće se sam nakon spajanja napajanja.

Konfiguracija

Mrežna adresa pristupnika

MBUS-GEM se isporučuje sa statičkom IP adresom 192.168.1.101 (maska podmreže 255.255.255.0, zadani pristupnik 192.168.1.254). Njegova konfiguracijska web stranica otvara se na http://192.168.1.101/; pri prvoj prijavi administrator mora promijeniti lozinku. Alat tvrtke solvimus Netdiscover pronalazi pristupnik u mreži i mijenja njegovu IP adresu, masku podmreže i zadani pristupnik ili ga prebacuje na DHCP. Uz DHCP se adresa dodijeljena pristupniku pronalazi u DHCP poslužitelju prema njegovoj MAC adresi, koju prikazuje i Netdiscover. Bez DHCP poslužitelja pristupnik odabire adresu iz raspona 169.254.x.x.

Predložak se pristupniku obraća njegovom IP adresom, stoga mu postavite statičku adresu ili rezervirajte njegovu adresu u DHCP poslužitelju.

Postavke pristupnika

Na konfiguracijskoj web stranici, kartica Server:

  1. Postavite Modbus mode na Modbus TCP i Modbus port ostavite na 502.
  2. Modbus float only ostavite isključeno. Taj način uklanja polja tipa i jedinice koja predložak provjerava.
  3. Modbus swap ostavite isključeno. Predložak očekuje zadani redoslijed riječi (najznačajnija riječ prva).
  4. Uključite Modbus multi slave (preporučeno). Svako mjerilo tada postaje zaseban virtualni Modbus slave s vlastitom adresom (1–247), a numeriranje registara počinje ispočetka za svako mjerilo, pa mjerila istog tipa dobivaju iste brojeve registara.

Nakon uključivanja ili isključivanja multi slave adrese na kartici Meter treba ponovno dodijeliti (kontekstni izbornik Allocate).

Popis mjerila i ciklus očitanja

Kalorimetar mora biti na popisu mjerila pristupnika (kartica Meter), pronađen na M-Busu ili ručno stvoren. Pristupnik čita mjerila neovisno o Modbus zahtjevima, u ciklusu Readout cycle na kartici Configuration ili u ciklusu Cycle (u sekundama) pojedinog mjerila na kartici Meter. Te postavke određuju koliko su svježe vrijednosti u TapHomeu. Neka M-Bus mjerila na baterije dopuštaju samo ograničen broj očitanja dnevno — prije odabira kratkog ciklusa provjerite tehnički list mjerila.

Postavke predloška nakon uvoza

Pristupnik nema fiksnu tablicu registara. Zapisu mjerila i svakoj vrijednosti mjerila dodjeljuje vlastiti blok od 10 holding registara i početak svakog bloka prikazuje u stupcu Register na kartici Meter. Redoslijed vrijednosti slijedi redoslijed kojim mjerilo šalje svoje M-Bus zapise, pa ovisi o modelu mjerila.

PostavkaŠto upisati
IP adresaAdresa pristupnika
SlaveIdS multi slave: broj iz stupca Register u retku mjerila. Bez multi slave: 255
RegMeterS multi slave: 10 (zapis mjerila u svakom virtualnom slaveu počinje na 10). Bez multi slave: broj iz stupca Register u retku mjerila
RegEnergy, RegVolume, RegPower, RegFlow, RegFlowTemp, RegReturnTempBroj iz stupca Register u retku odgovarajuće vrijednosti. Koji je redak koji, pokazuju stupci Description i Unit na kartici Meter

IP adresa i SlaveId traže se pri uvozu; sedam vrijednosti Reg… su varijable modula. Njihove zadane vrijednosti (10, 20, 30 … 70) su zamjenske: 10 i 20 odgovaraju testnom načinu pristupnika, ostale samo nastavljaju u koracima od 10. Uvijek ih prepišite.

Svaki uređaj prije prikaza vrijednosti provjerava tip zapisa i jedinicu svog bloka. Pogrešan broj izaziva na uređaju grešku koja navodi varijablu modula, na primjer RegPower does not point to a power value … – copy the Register number of this value from the gateway Meter tab.

Provjera veze

Kada je na kartici Server uključen Modbus test, pristupnik nudi statičke testne podatke: zapis mjerila na registru 10 i vrijednost energije 1234,5678 Wh na registru 20. Sa zadanim varijablama modula Toplinska energija tada prikazuje 1,2 kWh s upozorenjem da medij testnog mjerila nije toplina (testno mjerilo je brojilo električne energije). To dokazuje da su IP adresa, port, adresa slavea, brojevi registara i redoslijed riječi ispravni. Ostali uređaji javljaju greške jer testni podaci nemaju daljnje vrijednosti. Nakon toga isključite testni način.

Mogućnosti uređaja

UređajJedinicaŠto prikazuje
Toplinska energijakWhUkupna toplinska energija, preračunata iz Wh ili J i zaokružena na 0,1 kWh
Volumen ogrjevne vodem³Ukupni volumen ogrjevne vode
Toplinska snagakWTrenutna toplinska snaga, preračunata iz W ili J/h
Protokm³/hTrenutni protok, preračunat iz m³/min ili m³/s kada mjerilo šalje te jedinice
Temperatura polaza°CTemperatura polaza ogrjevnog kruga
Temperatura povrata°CTemperatura povrata ogrjevnog kruga

Stanje mjerila

Toplinska energija prati i samo mjerilo. Prikazuje grešku kada RegMeter ne pokazuje na zapis mjerila ili kada pristupnik pri posljednjem očitanju nije uspio pročitati mjerilo, a upozorenje kada nisu ažurirane sve vrijednosti ili kada medij mjerila nije ni toplina ni hlađenje. Ima dva servisna atributa:

Servisni atributOpis
Serijski broj mjerilaSerijski broj mjerila, za provjeru da modul čita pravo mjerilo
Posljednje očitanje mjerilaMinute od posljednjeg očitanja mjerila pristupnikom

Sve vrijednosti mijenjaju se samo pri svakom očitanju pristupnika; uređaji pristupnik propituju svakih 15 s.

Rješavanje problema

Nema komunikacije

Provjerite je li Modbus uključen na kartici Server, je li port na obje strane 502 i ne blokira li ga vatrozid. TapHome i pristupnik moraju biti u istoj podmreži ili imati ispravnu rutu; pomaže ping na pristupnik. Zatim upotrijebite gore opisanu provjeru veze.

Greška koja navodi varijablu modula

Broj u toj varijabli pokazuje na blok drugog tipa ili druge jedinice. Ponovno kopirajte broj Register s kartice Meter; uz multi slave provjerite i SlaveId.

Vrijednosti se ne mijenjaju

Provjerite ciklus očitanja pristupnika i ograničenje očitanja mjerila. Sistemsko vrijeme pristupnika mora biti točno (postavljeno ručno ili preko SNTP-a), inače je starost posljednjeg očitanja pogrešna.

Malo odstupanje od vrijednosti na web stranici pristupnika

Predložak čita vrijednost s pomičnim zarezom, koja ima oko 7 značajnih znamenki. Prije usporedbe ponovno učitajte karticu Meter pristupnika.

Drugi Modbus klijenti na istom pristupniku

Pristupnik istodobno poslužuje najviše pet Modbus TCP veza; kada se ograničenje prekorači, zatvara najstariju. Imajte to na umu kada isti pristupnik čita i sustav upravljanja zgradom ili zaslon.

Dostupni uređaji

solvimus MBUS-GEM – heat meter Modul
Prilagođene varijable
RegMeter (numeric) = 10Početak zapisa mjerila (serijski broj, vrijeme očitanja, status čitanja) — 10 uz Modbus multi slave, inače broj iz stupca Register u retku mjerila na kartici Meter pristupnika
RegEnergy (numeric) = 20Početak vrijednosti energije (Wh ili J) — broj iz stupca Register u njezinu retku na kartici Meter pristupnika
RegVolume (numeric) = 30Početak vrijednosti volumena (m³) — broj iz stupca Register u njezinu retku na kartici Meter pristupnika
RegPower (numeric) = 40Početak vrijednosti snage (W ili J/h) — broj iz stupca Register u njezinu retku na kartici Meter pristupnika
RegFlow (numeric) = 50Početak vrijednosti protoka (m³/h, m³/min ili m³/s) — broj iz stupca Register u njezinu retku na kartici Meter pristupnika
RegFlowTemp (numeric) = 60Početak vrijednosti temperature polaza (°C) — broj iz stupca Register u njezinu retku na kartici Meter pristupnika
RegReturnTemp (numeric) = 70Početak vrijednosti temperature povrata (°C) — broj iz stupca Register u njezinu retku na kartici Meter pristupnika
Toplinska energija Varijabla Samo za čitanje

Ukupna toplinska energija mjerila u kWh; javlja i kada pristupnik nije uspio očitati mjerilo ili vrijednosti nisu ažurne

Registar: H:RegEnergy+4 Float Jedinica: kWh
Servisni atributi
Serijski broj mjerilaSerijski broj mjerila, za provjeru da modul čita pravo mjerilo
Posljednje očitanje mjerilaMinute od posljednjeg očitanja mjerila pristupnikom

Toplinska energija

Čitanje
VAR info := MODBUSR(H, RegEnergy+7, UInt16);
VAR unit := GETBITS(info, 0, 8);
VAR factor := SWITCH(unit, 5, 1000, 6, 3600000, 0);
IF GETBITS(info, 8, 8) != 0 OR factor = 0
    ADDERROR(1, "RegEnergy does not point to an energy 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(ROUND(MODBUSR(H, RegEnergy+4, Float) / factor * 10) / 10);
Čitanje (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 != 4 AND medium != 10 AND medium != 11 AND medium != 12 AND medium != 13
        ADDWARNING(2, "RegMeter points to a meter with medium code " + TOSTRING(medium) + ", which is not a heat meter – check that RegMeter and SlaveId belong to the heat 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
Servisni atributi
Meter serial number
TOSTRING(MODBUSR(H, RegMeter+0, UInt32))
Last meter readout
DATETIME t := NOW();
VAR ts := MODBUSR(H, RegMeter+4, UInt32);
IF(ts = 0, "No readout yet", TOSTRING(ROUND((t.UNIXTIME - ts) / 60)) + " min ago")
Volumen ogrjevne vode Varijabla Samo za čitanje

Ukupni volumen ogrjevne vode koja je protekla kroz mjerilo, u m³

Registar: H:RegVolume+4 Float Jedinica: m³

Volumen ogrjevne vode

Čitanje
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);
Toplinska snaga Varijabla Samo za čitanje
Registar: H:RegPower+4 Float Jedinica: kW

Toplinska snaga

Čitanje
VAR info := MODBUSR(H, RegPower+7, UInt16);
VAR unit := GETBITS(info, 0, 8);
VAR factor := SWITCH(unit, 13, 1000, 14, 3600000, 0);
IF GETBITS(info, 8, 8) != 0 OR factor = 0
    ADDERROR(1, "RegPower does not point to a power 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, RegPower+4, Float) / factor);
Protok Varijabla Samo za čitanje
Registar: H:RegFlow+4 Float Jedinica: m³/h

Protok

Čitanje
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);
Temperatura polaza Senzor temperature Samo za čitanje

Temperatura polaza ogrjevnog kruga koju mjeri mjerilo

Registar: H:RegFlowTemp+4 Float Jedinica: °C

Temperatura polaza

Čitanje temperature
VAR info := MODBUSR(H, RegFlowTemp+7, UInt16);
VAR unit := GETBITS(info, 0, 8);
VAR factor := SWITCH(unit, 19, 1, 0);
IF GETBITS(info, 8, 8) != 0 OR factor = 0
    ADDERROR(1, "RegFlowTemp does not point to a temperature value in °C (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, RegFlowTemp+4, Float) * factor);
Temperatura povrata Senzor temperature Samo za čitanje

Temperatura povrata ogrjevnog kruga koju mjeri mjerilo

Registar: H:RegReturnTemp+4 Float Jedinica: °C

Temperatura povrata

Čitanje temperature
VAR info := MODBUSR(H, RegReturnTemp+7, UInt16);
VAR unit := GETBITS(info, 0, 8);
VAR factor := SWITCH(unit, 19, 1, 0);
IF GETBITS(info, 8, 8) != 0 OR factor = 0
    ADDERROR(1, "RegReturnTemp does not point to a temperature value in °C (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, RegReturnTemp+4, Float) * factor);
Povezivanje: Modbus TCP • Slave ID: $[SlaveId]
Moguća poboljšanja (6)
  • H:RegX+0 … H:RegX+3, H:RegX+6 Unscaled 64-bit meter value with scaling factor — The manual prefers the INT64 value with its power-of-ten scaling factor for exact billing; the template reads the FLOAT32 value (about 7 significant digits).
  • value block with unit K (code 20) Temperature difference — Many heat meters also send the temperature difference between flow and return; it would be one more value block.
  • second energy value block (combined heat/cooling meter, medium 13) Cooling energy — A combined heat/cooling meter sends a separate cooling energy value; the template reads one energy value.
  • value blocks with a storage number Historic meter values — Stored values such as the reading on the billing date appear as further value rows in the Meter tab.
  • H:RegX+8 Meter value timestamp — UNIX time the meter provides for each value (0 if none); the template uses the readout time of the meter entry instead.
  • H:0 … H:9 (slave 255) Gateway device entry — Serial number, software version and system time of the gateway itself.

Izvori

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

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Zajednica · nije provjereno

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu