Put 1: Modbus TCP
- U M-Centeru unesite OBIS kod za željene registre. Preuzeta energija tarifa 1 (1-0:1.8.1) tada je u registru 1030.
- U Node-RED dodajte čvor «Modbus Read». Poslužitelj: IP M-Centera, port 502, tip TCP.
- Unit-ID: Modbus adresa uređaja brojila u M-Centeru.
- FC 3 (Read Holding Registers), adresa 1029 za registar 1030, broj 2, interval upita npr. 15 minuta.
- Dodajte function čvor koji dva registra spaja u decimalni broj.
// Dva 16-bitna registra (big endian, viša riječ prva) -> float32
const buf = Buffer.alloc(4);
buf.writeUInt16BE(msg.payload[0], 0);
buf.writeUInt16BE(msg.payload[1], 2);
msg.payload = buf.readFloatBE(0);
msg.topic = "stan1/preuzeto_t1";
return msg;
Priručnik broji registre od 1, node-red-contrib-modbus očekuje adresu od 0. Zato 1029 za registar 1030. Usporedite prvu vrijednost sa stanjem brojila u M-Centeru.
Za više brojila izradite po jedan čvor za čitanje po brojilu s vlastitim Unit-ID-om. Adrese ostaju iste dok su OBIS kodovi uneseni.
Put 2: MQTT
S MQTT licencom M-Center objavljuje svaku vrijednost pod vlastitom temom. Čvor «mqtt in» s pretplatom sa zamjenskim znakom prima sve vrijednosti jednog M-Centera:
<prefiks>/emu/mcenter/<MAC>/meterreading/#
Najprije dodajte debug čvor i pregledajte teme i sadržaj poruka. Zatim vrijednosti razvrstajte po temi switch čvorom, npr. prema OBIS kodu na kraju putanje.
Koji put?
| Modbus TCP | MQTT | |
|---|---|---|
| Adrese | fiksne, dokumentirane u priručniku | tema po brojilu i registru |
| Upit | Node-RED aktivno šalje upite | M-Center šalje sam |
| Dodatni sistemi | zaseban upit za svaki sistem | proizvoljan broj pretplatnika u brokeru |
| Licenca | 210.300.04 | 210.300.03 |