|
|
||
2 Dinge: 1. Das was du da ausliest sind nicht die aktuellen Messwerte aus den Input registern (3XXXX) sondern die Einstellungsparameter aus den Holding registern (4XXXX) 2. Die Werte sind im IEEE754 float format der erste wert ist umgerechnet dann z.b: 60 (60min demand period) Hier ist das genauer beschrieben: https://bg-etech.de/download/manual/SDM630Register1-5.pdf Du brauchst dich aber da nicht selber darum kümmern, wenn du "-t 3:float" an deinen aufruf anhängst müsstest du die fertigen messwerte bekommen. (offset könnte eventuell noch ein problem sein, aber mal schauen) |
||
|
||
Cool, danke, schau mas morgen früh gleich an. Wie muss ich die input register angeben? Das hat sich mir trotz Link nicht erschlossen... Mit Parameter -r 3xxxx ? Lg |
||
|
||
Ich habe ebenfalls den sdm630. Bei mir ergiebt sich allerdings ein anderes Problem. Ich lasse mir über modbus2mqtt die Werte direkt in mqtt schicken. Es werden auch Werte übertragen aber ab Register 3 passen die Werte nicht mehr. Ich habe sicher keine 0,4V auf Phase 3. Der Zähler ist auch auf 3+1 eingestellt also 3 Phasen und ein Neutralleiter. Muss man das für Modbus noch extra über eines der Holding Register einstellen? Mfg Peter |
||
|
||
|
||
Mahlzeit, bissl zum Verzweifeln ist das schon... ich hab jetzt mit der Abfrage herumgespielt, allerdings nur halb erfolgreich. mit -r 3XXXX hab ichs versucht, funkt nicht. Wenn ich den 3er weglasse, bekomme ich Werte... Und "Plötzlich" bekomme ich die input register table, k.A. warum auf Einmal modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 0002 -c 4 -t 3:float /dev/ttyUSB0 modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator Copyright (c) 2002-2021 proconX Pty Ltd Visit https://www.modbusdriver.com for Modbus libraries and tools. Protocol configuration: Modbus RTU, FC4 Slave configuration...: address = 1, start reference = 2, count = 4 Communication.........: /dev/ttyUSB0, 19200, 8, 1, none, t/o 1.00 s, poll rate 1000 ms Data type.............: 32-bit float, input register table -- Polling slave... [2]: 0.000000 [4]: 0.000000 [6]: 0.177734 [8]: 0.000000 die 0.177734 dürften Strom an L1 sein, das passt mit der Anzeige zusammen. [6] ist die Registernummer Wenn ich allerdings Die Spannung an L1 auslesen will - wäre Register 0, bekomme ich einen Fehler: modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 0000 -c 1 -t 3:float /dev/ttyUSB0 modpoll: Invalid reference parameter! Try -h for help. Gegenprobe: Leistung an L1 wäre Register 0C = 12 modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 0012 -c 1 -t 3:float /dev/ttyUSB0 ... -- Polling slave... [10]: 0.000000 => warum bekomme ich [10] zurück, wenn ich -r 0012 mitgebe? Dumm herumprobiert und 2 dazuaddiert: modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 0014 -c 1 -t 3:float /dev/ttyUSB0 bringt: [12]: 42.250000 => und das sind exakt die 0,42 kWh laut Anzeige Also der Output ist richtig, sofern meine Vermutung, daß [Start Address HEX] die Registeradresse ist, richtig ist. Gretchenfrage: Wie forder ich dir richtige Registeradresse an, also z.b. U an L1, daß ich auch U an L1 zurückbekomme?? register -r 0000 funkt ja offensichtlich nicht..... 😀 LG und danke Wolfgang |
||
|
||
-0 noch dazu als Parameter "-0 First reference is 0 (PDU addressing) instead 1" Und dann mit "-r 1" |
||
|
||
Hi, ohne -0 und mit -f hinter 3:float klappt das lesen der Spannungswerte: modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 1 -c 7 -t 3:float -f /dev/ttyUSB0 ... [1]: 235.939802 ... Hoff’ das hilft. |
||
|
||
Hi Super vielen Dank, jetzt funkt das auch!! modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 1 -c 1 -t 3:float -f /dev/ttyUSB0 [1]: 233.823608 leicht verständlich ist das für mich ned....🤨 LG Wolfgang |
||
|
||
nAbend, bitte nochamal um Hilfe. Bis dato bekomm ich die richtigen Werte zurück, allerdings nur, wenn das HI- Byte 0 ist. Für z.B. L1 import kwh hab ich Hi byte 01 Lo Byte 5a => Wie muß ich das in die modpoll Anfrage reinmankeln, da habe ich ja nur einen parameter in Dezimal ? modpoll liefert klarerweise nix zurück, weil ich ja ein "falsches" Register Abfrage.... # total kWh L1 Reg hi byte 01 low byte 5a dec90 modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 90 -c 1 -t 3:float /dev/ttyUSB0 [90]: 0.000000 vielen dank!!! |
||
|
||
Hi, für 0x00 & 0x00 oder auch Register 30001 bzw. -r 001: modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 1 -c 1 -f -t 3:float /dev/ttyUSB0 für 0x01 & 0x5A oder auch Register 30347 bzw. -r 347: modpoll -1 -b 19200 -s 1 -p none -m rtu -a 1 -r 347 -c 1 -f -t 3:float /dev/ttyUSB0 alles ohne Umrechnung in dec, und immer mit -f dazu. |
||
|
||
@OlafD super danke Du bist mein Held! |
||
|
||
nAbend, wiedermal bitte um Hilfe mit diesem Modbus Sch(/%/&%/%(/( Neues Gerät: NibeS1255 Neues Problem: ausgelesener Wert stimmen nicht Alter Mann ders ned kapiert: Kraweuschuasta hab nach erstem Erfolgreichen Verbinden mit der NIBE gleich Unsinn ausgelesen, Register 11 Gradminuten. Der ausgelesene Wert stimmt sowas von gar nicht mit dem Uplink überein und ich hab kan Schimmer, warum... lt Registerbeschreibung: Variablengröße 3 und Divisionsfaktor 10 und was zurückkommt: wenn ich die 86 durch Divisionsfaktor 10 dividier, ists immer noch um den Faktor 4 falsch.... was mach ich falsch? werd noch wahnsinnig.... ajo modpoll Parameter hier https://www.modbusdriver.com/modpoll.html Danke & LG Wolfgang PS: Guten Rutsch! |
||
|
||
Was sind denn die angrenzenden Modbusregister (10 oder 12)? Passt der Wert vielleicht zu diesen? Ich glaube, dass ich die Adressen immer um eine Stelle verändern muss (Loxone), um den richtigen Wert zu erhalten. Weiß aber nicht mehr, ob plus oder minus 1. |
||
|
||
Die Modbus Doku ist bei KNV/Nibe leider wie bei den meisten anderen Gerätschaften der div. Hersteller eine Katastrophe. Zum Thema, ich hab die GM Heizen bei mir im Register 18 und das funktioniert |
||
|
||
hi Danke für den Tip, hat geholfen. Um 1 dekrementieren muss man... modpoll -a 1 -m tcp -t 4 -r 12 -c 1 -1 -o 10 192.168.1.11 Oh yeah, dieser ganze Modbussch*** ist sowas von unlogisch - zumindest für mich.... Aber was sollt ich sonst in 100ten Stunden machen, wenn ich nicht mit er Heizung herumspielen kann....🤣 LG |
Beitrag schreiben oder Werbung ausblenden?
Einloggen
Kostenlos registrieren [Mehr Infos]