Modbus hrátky (nejen) s Loxone – díl 5. – Podrobné měření spotřeby domu (16 kanálů)

Loxone v praxi ModbusLeave a Comment on Modbus hrátky (nejen) s Loxone – díl 5. – Podrobné měření spotřeby domu (16 kanálů)

Modbus hrátky (nejen) s Loxone – díl 5. – Podrobné měření spotřeby domu (16 kanálů)

Již před dlouhou dobou jsem zakoupil modul pro měření AC proudu (16 kanálů) pomocí průchozích návlečných transformátorů s komunikací Modbus; nyní nastal čas na jeho test.

Proudové transformátory je třeba umístit pouze na fázové vodiče = L (nikoliv na celý kabel, kde je i N a PE). Vyžadují rovněž nějaký prostor v rozvaděči, takže pokud chcete mít detailní info o spotřebě toho kterého okruhu, myslete na to při návrhu či realizaci rozvaděče. Místa není nikdy dost 😉

Nastavení ovšem dalo trochu hledání, protože původní eshop, kde jsem zakoupil, již neexistuje a dokumentace veškerá žádná. Nakonec se podařilo najít a po troše zápolení s čínštinou a „chinglish“ jsem vše rozchodil.

Zapojení je triviální – 16 transformátorů připojíte na patřičné svorky, napájení modulu 24V, Modbus A/B. Jen se nenechte zmást popiskem – nálepka je menší, než rozměr svorek, je třeba počítat pozice a nikoliv se řídit nápisem nad konkrétní svorkou.

Zbytek je klasika – default ID = 1, komunikace 9600/8/1/N. Zařízení posílá naměřená data na 2 různé sady registrů, jednou jako datový typ Float, kdy startovací adresa je 32 dec, a vyčítá se 32 registrů (Float zabírá 2 registry, čili pro 16 kanálů je třeba 32 registrů). Faktem je, že občas mi to házelo nesmyslné hodnoty, ale nakonec se podařilo se „domluvit“ a kanál 16 ukazuje 0,37A.

Vyčítání dat, datový typ Float s přesností 3.

Jistější je čtení Unsigned Int, počínaje registrem 96 až po 111. Hodnota je v mA.

Nastavení komunikace a slave ID je poněkud krkolomné. Vše je skryto v registru 16 dec (10 hex). Prvních 8 bitů je adresa (slave ID), v tomto případě tedy (00000001 bin = 1 dec). Druhých 8 bitů je určeno pro nastavení parity a rychlosti. Konkrétně bity 8,7,6 nepoužito, 5 a 4 = 00 bez parity, 01 = even, 10 nebo 11 = odd; bity 3-1 jsou pro rychlost, kdy 9600 je jak 100 tak (dle manuálu) i 000, a píšou default hodnotu 000, což mě zmátlo. Nicméně u mně byla default hodnota 00000100, což je taky 9600 baudů. Ponechávám standard 9600/8/1/N čili 00000100.

Pokud budete chtít změnit adresu např. na číslo 3, je třeba zapsat 0000001100000100 pomocí funkce 06 na registr 16 dec. Pro kontrolu můžete daný registr vyčíst, ovšem již se (změněným) Slave ID = 3.

V následujících dnech zapojím do rozvaděče a přinesu další poznatky z praxe.

Napsat komentář

Back To Top