Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
also ich habe gerade den neuen Baustein eingefügt und ich bekomme unter RegisterWert auch jetzt Daten angezeigt.
Kann zwar mit dem Wert noch nichts anfangen aber gut.
Nicht ganz verwunderlich. Die Daten, welche über modbus zurück kommen, werden recht abenteuerlich verarbeitet. Da hab ich auch nur copy+paste code aus dem netz verwendet.
Dein Link ist leider ungültig => daher sehe ich nichts. aber wenn du den vom baustein angezeigten wert + den richtigen sollwert kennst => dann lässt sich da ev. etwas machen. (ein capture mittels wireshark wäre vermutlich noch einfacher)
Zuletzt geändert von alramlechner; 07.05.2021, 18:25.
Aktualisierte version: Modbus TCP library auf 5.6.0 aktualisiert ...
Und ein paar kleinere fixes. Parameter sollten alle neu eingestellt / kontrolliert werden. sind nicht alle rückwärtskompatibel. salemjoe => probiere es mit diesem build bevor du dich mit wireshark plagst.
Update: v0.0.11 => connection/read timeout von 1s auf 5s erhöht.
Wenn ich statt der Adresse 3514 die 3513 verwende also -1 spuckt er folgendes aus:
Register Wert: 1043086
RAW / Error: 0x000F 0xEA8E
Mir fällt auch auf das sich beide Werte immer ändern.
Am Solarlog habe ich bewusst den Jahreswert gewählt da sich der Momentan nicht ändert da keine Sonne :-)
Register Wert: 3930783842
RAW / Error: 0xEA4B 0x0062
Der Solarlog zeigt folgendes an: 6482.40 kWh
Das Register 3514 ist der richtige Wert, im Modbus wird zuerst das 2.Wort übertragen, so dass du die Wörter umdrehen musst:
0x0062 0xEA4B entspricht dann 6482507Wh, der Wert ist fast gleich dem angezeigten.
Mit dem X1 kenne ich mich nicht aus, daher kann ich nicht sagen wie man das dort konkret umsetzt.
vorab herzlichen Dank an Alram für den tollen Baustein. Ich habe ihn jetzt auch getestet (Auslesen eines SolarEdge Wechselrichters mittels SunSpec Protokoll) https://www.solaredge.com/sites/defa...nical-note.pdf) und funktioniert auch soweit. Jedoch handelt es sich bei dem Rückgabewert um den scale_factor, welcher auch negativ sein kann (int16). In diesem Fall müssten -2 als Rückgabewert kommen (entspricht auch dem Raw-Wert 0xFFFE), jedoch wird die Zahl auf uint16 gecastet, was dann 65534 entspricht. Besteht die Möglichkeit, dass man den Type über einen String Eingang am X1 mitgeben kann, und somit den passenden Cast implementieren kann?
Ja natürlich, ist einfacher. Das kann man dann nach belieben umsetzen, aber in erster Linie geht es um den C# Code im Baustein, wo der Cast passiert, damit auch negative Werte dargestellt werden können. Hätte da wer eine Idee?
Wenn ich statt der Adresse 3514 die 3513 verwende also -1 spuckt er folgendes aus:
Register Wert: 1043086
RAW / Error: 0x000F 0xEA8E
Mir fällt auch auf das sich beide Werte immer ändern.
Am Solarlog habe ich bewusst den Jahreswert gewählt da sich der Momentan nicht ändert da keine Sonne :-)
MFG
Joe
Moin,
Hast du schon eine Möglichkeit den RAW als echten Wert auszugeben bzw. Im x1 umzurechnen?
hatte heute ein paar minuten: anbei eine neue version, welche nun anstatt des Anzahl Register Parameter einen Datentyp Parameter hat. Sofern jemand eine exotische Register order bei seinem Gerät hat, lässt sich mit einem weiteren Parameter auch diese Reihenfolge ändern (ist in Modbus leider nicht spezifiziert).
Warnung verweg: konnte diese Variante selber nicht testen. Wer den Baustein benutzt => bitte um Feedback welcher Datentyp verwendet wurde ob es funktioniert hat.
mit dem vorherigen Baustein ist diese Version (wieder einmal) nicht kompatibel. Also alle Parameter sorgfältig prüfen.
Für signed/unsigned hab ich noch keine Lösung (da die EasyModbus lib dafür nichts out-of-the-box anbietet).
Esteban : it Looks too me, that you try to Connect to the X1. That's Not possible, as the Module for the X1 ist a modbus Client. Not a Server.
your Application qmodmaster seems to be a Client too. Not a modbus Server Simulator.
A Server never connects to the Client...
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar