Modbus Abfrage

PeSo
Beiträge: 16
Registriert: Do Feb 02, 2023 2:22 pm

Modbus Abfrage

Beitrag von PeSo »

Hallo,

ich will meine Boiler-PV-Überschussheizung mit einer SPS ansteuern.
Dafür brauche ich aus der openWB die Leistungswerte.
Die will ich über Modbus auslesen.
Ich bekomme beim Register 400 (PV Leistung) aber nur die 65535 zurück. Wäre ja eine schöne Leistung, aber der tatsächliche Wert lag bei 10W.
Testhalber habe ich die Register 10104-6 (Spannung L1-L3 /100) ausgelesen: 23480, 23370, 23520. Da passt es also.

Hat jemand einen Tipp, was da schief läuft?

Danke!
Reg10104-6.JPG
Reg400.JPG
PVin.JPG
18kWp PV mit Hoymiles MikroWR. Warmwasser als Energiespeicher. OpenWB Standard+. Tesla Model 3.
PeSo
Beiträge: 16
Registriert: Do Feb 02, 2023 2:22 pm

Re: Modbus Abfrage

Beitrag von PeSo »

Ich habe als PV-Modul einen Shelly 3em. Wenn der jetzt eine andere Stromrichtung angibt als die WB erwartet, kann das die Ursache für den Wert am Modbus haben?

Also kann das evtl. am Vorzeichen liegen?
In der openWB wird PV zwar richtig angezeigt, aber die 65535 deutet ja auf einen Überlauf hin!?
Das Register 400 sollte ja als sint32 eigentlich von -2147483647 bis +2147483647 gehen.
usint16 ist max 65535, als sint wären das -32767. Kann das sein dass da etwas mit den Formaten nicht passt? :?
18kWp PV mit Hoymiles MikroWR. Warmwasser als Energiespeicher. OpenWB Standard+. Tesla Model 3.
Gero
Beiträge: 3453
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 62 times

Re: Modbus Abfrage

Beitrag von Gero »

Du kennst den eingebauten modbustester unter http://wallbox.fritz.box/openWB/web/too ... dtest.html ? Der ergibt bei mir auch die 0xFFFF
modtest.jpg
modtest2.jpg
Mir sieht das nach falschem Register aus. Oder halt Bug. (Ich finde gerade den Beitrag mit den modbus-Registern nicht)

edit: Ah, gefunden: https://openwb.de/main/wp-content/uploa ... openWB.pdf

Zum ausprobieren nehme ich immer den SoC der Hausbatterie, ein sInt16 bei 502, bei dem funktioniert's, es kommen schöne 44%. Bleibt halt nur die Frage nach dem sInt32 bei 400. Da müsste ich ja dann zwei Werte nehmen. Es kommt: 0xffff und 0xf6a8. Nun muss man aus den beiden eine Zahl machen. Aus 0xf6a8 wird 63144, die 0xffff ignoriere ich, weil das ja das Vorzeichen ist, denn PV-Leistung ist negativ. Also rechnen wir entsprechend von "oben" 65535 - 63144 und das ergibt 2391, was so ziemlich meiner aktuellen PV-Leistung entspricht.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
PeSo
Beiträge: 16
Registriert: Do Feb 02, 2023 2:22 pm

Re: Modbus Abfrage

Beitrag von PeSo »

Danke Gero.
Ja den Modbustester kenne ich.
Da aber die Kommunikation mit meinem Client funktioniert, bis auf dieses eine Register, scheint die die Modbuskommunikation ja zu funktionieren. Zumal die Register 10104-6 richtig dargestellt werden.
Deshalb vermutete ich das Problem im Regeisterinhalt.

Die Auflistung ist hier: https://openwb.de/main/wp-content/uploa ... openWB.pdf

Bin für Hinweise dankbar.
18kWp PV mit Hoymiles MikroWR. Warmwasser als Energiespeicher. OpenWB Standard+. Tesla Model 3.
derNeueDet
Beiträge: 4447
Registriert: Mi Nov 11, 2020 7:16 pm
Has thanked: 5 times
Been thanked: 27 times

Re: Modbus Abfrage

Beitrag von derNeueDet »

Deine genannten Register sind alles sint16 Register, das 400 (+401) Register ist aber ein sint32.
Für mich klingt das was Gero schreibt passend.
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 300 (06/2024)
PeSo
Beiträge: 16
Registriert: Do Feb 02, 2023 2:22 pm

Re: Modbus Abfrage

Beitrag von PeSo »

Ja absolut. Geros edit in Bezug auf die zwei Register macht Sinn, klar sind ja alles jeweils nur 16bit. Danke!
Bleibt bei mir das Problem, dass in 401 eine 0 steht. Das wären dann ja FFFF 0000 als sint32 = -65536
Bei -10W müsste da aber FFF6 in 401 stehen meine ich.

Wenn das also bei Gero mit 2392W funktioniert, dann müsste das egal wie auch mit 10W funktionieren und ich müsste es in 401 sehen.
@Gero Auf welcher Firmware läuft deine WB?






Nur lesen, wen Binärzeugs interessiert:
F6A8 entspricht (als sint) bereits -2392
Die Rechnung Register 400 - 401 wäre (mMn) nicht nötig, da das als signed Variable deklariert ist.
Wenn du von FFFF deine Zahl abziehst, bildest du lediglich das Einerkompliment. D.h. Du hast eine signed als unsigned interpretiert und durch die Rechnung wird das dann wieder ausgeglichen. Fehlt glaube ich nur noch eine +1, weil es mMn das Zeierkompliment sein müsste.
18kWp PV mit Hoymiles MikroWR. Warmwasser als Energiespeicher. OpenWB Standard+. Tesla Model 3.
okaegi
Beiträge: 2382
Registriert: Fr Mär 08, 2019 1:57 pm
Has thanked: 1 time
Been thanked: 9 times

Re: Modbus Abfrage

Beitrag von okaegi »

Hallo Peso
Eine flexiblere Steuerung bringst du mit openwb als Modbus Master und dein sps als Modbus Server (Slave) hin.
Praktisch alle Modbus Anschlüsse im Smarthomebereich sind so in openwb realisiert. Der grosse Voteil von dieser Lösung ist, das Openwb immer noch Steuern kann, wenn du z.b. dein Auto zum Laden einsteckst oder du das Laden deiner Hausbatterie vor den Smarthomegeräten priorisieren willst. Als letztes haben wir hier mittels mdbus rtu über openwb Komponenten der technischen Alternative über Modbus Slave angesprochen. Am Anfang wollte das Ding überhaupt nicht mit uns reden...
viewtopic.php?t=6162
Oder was auch noch super easy ging war die Umwandlung vom Überschuss in ein 0 bis 10V Signal:
viewtopic.php?p=72446#p72446
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
Gero
Beiträge: 3453
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 62 times

Re: Modbus Abfrage

Beitrag von Gero »

Ob‘s nun auf die letzten paar Watt passend ist, konnte ich nicht rausfinden, dazu schwankt das zu stark.

Aber richtig, -1 müsste eigentlich ff ff ff fe sein, die 0 dann 00 00 00 00. Die 1 birgt keine überraschungen.

Olivers Einwand solltest Du mall kurz Revue passieren lassen, denn die Anwendung „schreit“ eigentlich nach einer Implemetierung im smarthome. Ich hatte das nicht erwähnt, weil Du explizit von einer Ansteuerung über SPS schriebst, und da ist sicherlich modbus das Protokoll der Wahl. Im smarthome müsstest Du dich nur um die Implementierung eines Geräts kümmern, die Schaltalgorithmen sind ja schon da.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
PeSo
Beiträge: 16
Registriert: Do Feb 02, 2023 2:22 pm

Re: Modbus Abfrage

Beitrag von PeSo »

Danke Oliver!
Danke Gero!

Oliver, dein Einwand wegen der Priorisierung trifft ins Schwarze. Das, was mit meiner Lösung gehen würde, wäre da sicher nicht vergleichbar.
Also werde ich mich nochmal mit dem Smarthome Bereich beschäftigen.

Das was du da mit dem CAN-EZ3 hinbekommen macht Spaß anzuschauen. Jetzt habe ich auch das neue wording bezüglich Master/Slave vs. Client/Server gelernt. Kannte ich noch nicht.

Die 0..10V-Geschichte hatte ich bereits gefunden. Aber wo die SPS nun schoneinmal im Netzwerk drinhängt, MUSS das doch auch eleganter gehen. :)

Leider habe ich erst am Freitag wieder Zugriff auf die WB, dann werde ich versuchen deine Empfehlung umzusetzen.
Sollte ich nicht klarkommen, würde ich euch gerne hier nochmal nerven.

Danke für eure Unterstützung!
18kWp PV mit Hoymiles MikroWR. Warmwasser als Energiespeicher. OpenWB Standard+. Tesla Model 3.
Amok83
Beiträge: 677
Registriert: Mi Dez 02, 2020 10:17 am
Has thanked: 2 times

Re: Modbus Abfrage

Beitrag von Amok83 »

Gero hat geschrieben: Di Feb 07, 2023 6:51 pm Aber richtig, -1 müsste eigentlich ff ff ff fe sein, die 0 dann 00 00 00 00. Die 1 birgt keine überraschungen.
<klugscheiß>
0xFFFFFFFE ist -2. -1 ist 0xFFFFFFFF.
Der Wertebereich von einem SINT32 geht von -2147483648 bis 2147483647
</klugscheiß>
Kostal Piko 17
Kostal Plenticore Plus 10
Kostal Smart Energy Meter
BYD HVS 12.8
ioBroker
openWB series2 Duo
VW ID.7
Antworten