nksh> Hodně záleží, kolik si toho spotřeboval a jak spotřebu získáváš :). Čtení, co jsem zde udal je ve výsledku jen získání toho, co je na displayi elektroměru. Pokud spotřebu počítáš pomocí pulzního výstupu, tak bude určitě správná. V případě, že se spotřeba čte jako 1 registr unsigned int, tak může nabýt max. hodnoty 2^16 – více se do jednoho registru prostě nevleze :). Osobně počítám jak pulzy, tak zobrazuji hodnotu z displaye.
Hodnota, na kterou se odkazuji je v 0,01 kW/h, takže k přetečení dojde při překonání 655,35 kW/h. Až se ta hodnota na displayi objeví, tak si povíme, jak má být :).
Jo a jen ještě jedna poznámka – bylo by to 100× tolik. Sám mám v tom vzorci ještě na závěr / 100, kdy se to převede na kW/h (je to už jen otázka formátování – proto jsem to tam nepřidal). Někdo může chtít zobrazovat v těch 0,01 kW/h ;-).
K preteceni dojde az po prekonani 65MWh, ale OK rozumim problemu tohle me nenapadlo. Me spis slo o to, ze numericky to nemůže dat stejne cisla, když to ještě roznásobíš nejakou konstantou na zacatku.
Tak ještě abych to uvedl na správnou míru, bavím se o dvojím přetečení.
Přetečení první – když se hodnota čte dle uvedených návodů jako 16bit unsigned int (registr 20483). Zde se čte jen 16bitů k chybě dojde, když je hodnota vyšší než 655,35 kW/h => 0,65535 MW/h.
Pak je tu přetečení druhé, když se použije čtení pouze z registru 20482 jako 32bit unsigned int. Je to hodnota „Činná import 2“ v šabloně, co jsem sem dodal. Zde je maximální hodnota 42949672,96 kW/h =>42949,67296 MW/h. Jak jsem zmínil u toho přepočtu, je vysoce nepravděpodobné, že by tuto hodnotu někdo doma na elektroměru nakroutil :). Pro 99,999 % uživatelů bude bohatě stačit číst hodnotu „Činná import 2“ a prostě neřešit.
Já se řadím do té skupiny 0,001 %, která to chce mít kompletně správně, tak si tu hodnotu proženu ještě i tím vzorcem a budu mít dobrý pocit, že to mám ošetřené správně a hodnotu čtu tak, jak má být – 64bit unsigned int z registru 20480 (32bit uint z 20480 a 32bit uint z 20482). Zde je teoreticky možné mít hodnotu až 184467440737095516,16 kW/h => 184467440737095,51616 MW/h.
Numericky to dá naprosto stejná čísla, protože když tou konstantou (2^32) budeš násobit nulu (což, těch 99,999 % uživatelů bude), tak dostaneš zase nulu a vezmeš v potaz pouze tu hodnotu z I2. Je už to trochu jasnější :-)?
Jak máš elektroměr připojený – je to pomocí Modbus extension? Pokud ano, tak tam to může fungovat trošku jinak. Já používám USR-TCP232-410S a šablonu mám ozkoušenou s tímto převodníkem. Možnost, co jsi odškrtl, říká, který registr je první (obsahuje bity 1–16 a druhý 17–32 v případě 32bit (u)int).
2.) Je treba nastavit MODBUS adresu, rychlost a paritu na el metru:
Dělám to podle návodu (zde i v ofic dokumetaci je to stejné), ale já v menu prostě nemám možnost nastavení Modbus adresy, respektive vůbec v menu namám kolonku "M-bus". Nevíte někdo, jestli to je tím, že nemám ještě modbus zadrátovanej? Chtěl jsem nastavit adresy na elektroměrech než to připojím, ale prostě to v menu nemám. So mwnu "Set" se dostanu, vidím všechny volby krom tohi "M-bus"
Někdo s podobnou zkušeností? Nebo je na to nějaký fígl?
koldavideo> Mám na něm momentálně 2 elektroměry a jedno další zařízení – bez problémů vše funguje. V brzké době mi tam přibude další zařízení pro měření atmosferického tlaku, vlhkosti etc. (meteostanice) ;-).
Mira> Jaké máš přesné označení toho elektroměru? Existuje hodně variant, které liší tím, jestli mají Modbus či jen pulzní výstup. Ten „správný“ by měl mít označení B23 212-100.
jirin.sv tak ten presne mam, stejne jako vsichni ostatni co kupovali elektromery v UK; jeste jsem vecer koukal do navodu a zda se mi, ze tech polozek v menu mi chybi vic - nebo to spatne ovladam, to je taky mozne.