Ankündigung

Einklappen
Keine Ankündigung bisher.

Gira X1 und Modbus TCP mit Logikbaustein

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Morgen,

    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.

    x1_solarlog_modbus.png
    Zuletzt geändert von salemjoe; 06.05.2021, 07:30.

    Kommentar


      #32
      Zitat von SIMO Beitrag anzeigen
      soll ich dir mal den Mittschnitt vom Baustein vs. meinem Modbus Client (der funktioniert) schicken?
      macht sinn. am besten irgendwo zum download ablegen (google driver oder ähnliches).

      Kommentar


        #33
        Zitat von salemjoe Beitrag anzeigen
        Kann zwar mit dem Wert noch nichts anfangen ab
        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.

        Kommentar


          #34
          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.
          Angehängte Dateien
          Zuletzt geändert von alramlechner; 08.05.2021, 20:54.

          Kommentar


            #35
            Hi, kurze Rückinfo... die Daten kommen jetzt sauber in den Baustein... kann ich nur empfehlen.. Danke noch mal an Alram für den super Support...

            Kommentar


              #36
              alramlechner
              Hier mal die Werte die mein Baustein ausspuckt:

              Register Wert: 3930783842
              RAW / Error: 0xEA4B 0x0062

              Der Solarlog zeigt folgendes an: 6482.40 kWh

              Datenpunkt Ein-heit Wertebereich Adresse Anzahl Register Funktions-nummerBeschreibung
              Yearly yield(Jahresertrag)
              Wh 32bit unsigned 3514 2 04 Summierter Jahresertrag aller Wechselrichter

              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

              Zuletzt geändert von salemjoe; 14.05.2021, 06:30.

              Kommentar


                #37
                Zitat von salemjoe Beitrag anzeigen
                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.

                Kommentar


                  #38
                  Hallo zusammen,

                  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?

                  Screenshot 2021-05-20 072439.png
                  Zuletzt geändert von Hissi; 20.05.2021, 07:22.

                  Kommentar


                    #39
                    Zitat von Hissi Beitrag anzeigen
                    den Type über einen String Eingang
                    Zu kompliziert: der ändert sich doch nie. Einfach einen Parameter am Baustein und fertig.

                    Und bis dahin kann man das bstimmt mit der Formelberechnung irgendwie hinbiegen...

                    Kommentar


                      #40
                      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?

                      Kommentar


                        #41
                        Zitat von salemjoe Beitrag anzeigen
                        alramlechner
                        Hier mal die Werte die mein Baustein ausspuckt:

                        Register Wert: 3930783842
                        RAW / Error: 0xEA4B 0x0062

                        Der Solarlog zeigt folgendes an: 6482.40 kWh

                        Datenpunkt Ein-heit Wertebereich Adresse Anzahl Register Funktions-nummerBeschreibung
                        Yearly yield(Jahresertrag)
                        Wh 32bit unsigned 3514 2 04 Summierter Jahresertrag aller Wechselrichter

                        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?

                        Danke schon mal im Vorraus.

                        Gruß Alex

                        Kommentar


                          #42
                          Hi,

                          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).

                          Viel Spass!
                          Angehängte Dateien

                          Kommentar


                            #43
                            Dear Alram,

                            I'm trying to use the Modbus TCP modul for X1 device.

                            I'm trying to check it with a Modbus TCP server simulator :Captura.JPG
                            Captura2.JPG
                            X1: 192.168.1.135 (CLIENT) // PC: 192.168.1.74 (SERVER)

                            It doesn't connect. Can you help me about it?

                            I have check simulating and transfering the logic modul to the X1 device. But the result always is the same.

                            Thank you in advanced

                            Kommentar


                              #44
                              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...

                              Alram

                              Kommentar


                                #45
                                Dear Alram,

                                I have tried with radzio modbus master and the result is the same.

                                Have you used a basic sofware tool to simulate the comunication. Can you tell me with one?

                                Thank you very much.

                                Kommentar

                                Lädt...
                                X