Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Modbus RTU Gateway

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

    Hi Masifi,

    sorry, für die späte Rückmeldung, aber im Haus hatten andere Themen leider Priorität

    Ich habe jetzt nochmal die Verkabelung geprüft und auch meine beiden anderen Siemens Zähler in den Bus eingebaut, um einen defekten Zähler auszuschließen.
    Die Leitung A und B hat ich über einen 120 Ohm Widerstand terminiert. Als R_Res kommen ca. 70 Ohm heraus...also nicht ganz die 60, die man eigentlich erwarten würde.
    Testweise hab ich auch den Ground verbunden, aber leider kein anderes Ergebnis.

    Ich habe jetzt mal bei MDT gespickelt und die haben dieses Fehlerobjekt (siehe unten).

    image.png


    Jetzt dachte ich, dass ich das evtl. auch bei deinem Gateway so debuggen kann.
    image.png
    Leider kommt nur auf dem Objekt "In Betrieb" etwas:
    image.png

    Ist hier keine Funktion hinterlegt, oder mache ich etwas falsch?



    //edit:
    Ich sehe gerade, dass eines der Objekte ja lesend ist....was müsste ich diesem Objekt übergeben?
    Angehängte Dateien
    Zuletzt geändert von sunsTorm; 31.07.2024, 20:18.

    Kommentar


      Hallo Masifi ,

      ich bin heute nochmal auf Fehlersuche gegangen und habe dazu das Modbus-Gateway mal aus der Kommunikation herausgenommen, um zu prüfen, ob die Zähler richtig senden bzw. ob die Abfrage richtig ist. Dazu habe ich einen usb2rs485 Konverter an der Stelle angeschlossen, an der normalerweise das Gateway angeschlossen wird.

      Mit dem Siemens eigenen Tool "powerconfig" werden die Zähler gefunden:

      image.png


      Anschließend hab ich mit dem Tool "QModMaster" die Kommunikation überprüft. Nach einigem rumprobieren konnte ich mit den unten abgebildeten Einstellungen eine Antwort erhalten.

      image.png

      Dies entspricht der Spannung L1N. Unten der Auszug aus der Dokumentation

      image.png

      Ebenso funktioniert das für viele Datenpunkte gleichzeitig:

      image.png


      Somit gehe ich zunächst mal davon aus, dass auf Zählerseite alles i.O. ist. Wo ich jetzt aber wieder hänge, ist wie ​​ich diese Einstellungen in der ETS abbilde.

      Ich habe nun wieder einige Einstellungen durchprobiert, leider aber ohne Erfolg. Ich vermute, dass es irgendwie mit den 32bit (siehe Format oben in der Doku) zu tun hat und ich das nicht von der Byte Reihenfolge mache.
      Das waren jetzt die letzten Einstellungen, die ich (erfolglos) probiert habe:

      image.png
      image.png

      Hast du noch eine Idee?

      Viele Grüße,​​



      ​​



      Angehängte Dateien

      Kommentar


        sunsTorm hast du die Möglichkeit einen Laptop im Akku Betrieb an zustöpseln und dann mal den Output der Konsole hoch zu laden?
        Output sollte dann so Aussehen -> https://knx-user-forum.de/forum/proj...82#post1964282 (Nur halt andere Werte usw.)

        Kommentar


          MarcoLanghans
          kann ich probieren. Ich hab nur noch nicht ganz verstanden, mit welchem Tool der Output erzeugt wird?

          //edit: masifi hat ja arduino ide geschrieben...das probier ich.
          Zuletzt geändert von sunsTorm; 10.08.2024, 23:02.

          Kommentar


            Zitat von sunsTorm Beitrag anzeigen
            //edit:
            Ich sehe gerade, dass eines der Objekte ja lesend ist....was müsste ich diesem Objekt übergeben?
            nichts, da es nicht verwendet wird.


            Ich nutze bei mir immer nur Parity None und Stop Bit 1. Damit hatte ich noch nie Probleme. Gibt es hier jemanden, der das Gateway mit einer anderen Konfiguration erfolgreich am Laufen hat? Vielleicht gibt es hier in der Serial-Lib noch das ein oder andere Problem.
            Wenn alles nicht hilft und du deinen Zähler umkonfigurieren kann, dann versuch einfach mal das Stop Bit auf 1 zu setzen.

            Was mir aber aufgefallen ist, ist deine Konfiguration. Bei den Slave Parametern würde ich bei "Register Start" "Erste Adresse 0" einstellen. da für mich 0-1 unit32 das erste Register (welches es nicht gibt) sein sollte. 2-3 uint32 wäre dann Spannung L1 N. Hast du das bei dir bewusst beim Siemens tool auf Start 1 gesetzt? D.h. mit Start 0 geht es nicht? Im Tool kann man ja nur Start mit einem Wert vorgeben. Bei dir ist das eine 1 und damit funktioniert es. In Protokoll ist es aber die Adresse 2.
            Und das ist das, was ich am Modbus RTU Protokoll nicht mag, es ist einfach nicht klar definiert, wie man das alles beschreiben muss.

            Und dann noch allgemein zum Gateway:
            sunsTorm Ich vermute das du DPT12 genommen hast, weil im Modbus RTU Protokoll für Spannung L1 N unit32 steht; stimmt das?

            Das eigentliche Vorgehen ist:
            1.) Wähle den DPT den man für die Information benötigt. In deinem Fall wäre das DPT14.027 für Spannung. Das ist auch wichtig, da dann hier direkt eine Umrechnungsformel in der ETS auftaucht. Damit kann man wie die im Protokoll aufgeführte Umrechnungsformel (hier: *0,01) direkt im Gateway, ohne zusätzliche Logikkanäle berechnen lassen.

            2.) man schaut, ob es ein 16-bit oder 32-bit Wert ist, das sieht man hier in der Tabellen Spalte "Format". Wenn hier Uint32 steht sind es 32 bit. D.h. man muss den Register Typ auf "Double Word Register" stellen.

            3.) Dann schaut man welche Register Typ man braucht. Format ist uint32, d.h. uint = unsigend ; int = sigend ; float = float.

            4.) Die Word Reihenfolge muss nur geändert werden, falls sich der Slave nicht an die Modbus Spec hält und bei einem 32-bit Wert, erst das Lo-Byte sendet anstatt dem Hi-Byte. Das muss aber dann explizit im Modbus Protokoll vermerkt sein.

            5.) Die Umrechnungsformel wenn notwendig befüllen. Hier muss man den Wert mit *0,01 multiplizieren. Da man in der ETS nur schwer 0,01 Werte eingeben kann. Verzichtet die Implementierung komplett auf Komma-Werte und nutzt statt Multiplikation einfach die Division mit 100.


            Beim schnellen überfliegen hätte ich es so Konfiguriert:

            "Register Start" "Erste Adresse 0" einstellen

            image.png


            Ich bin leider gerade erst wieder in zwei Wochen Zuhause, daher ist mein Support gerade etwas eingeschränkt. ​
            www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

            Kommentar


              Masifi
              Ich habe gefühlt schon alle Kombinationen durchprobiert. Auf die Register Start = 1 bin ich gekommen, da "QModMaster" bei = 0 einen Fehler wirft. Mit =1 bekomme ich eine Rückgabe.
              image.png

              Deine Werte (DPT14 etc.) habe ich vorhin nochmal ausprobiert und mich dann auch per USB angeklemmt. Leider bekomme ich den E2 Fehler, was ja wohl keine RM vom Slave bedeutet:
              image.png


              StopBit = 1 und keine Parität habe ich auch ausprobiert (Zähler umkonfiguriert). Keine Änderung.​



              Gibt es evtl. einen sehr günstigen Modbus Sensor, den jemand schon mit diesem Gateway am laufen hat (und kann die entsprechenden Einstellungen teilen)? Dann würde ich mir so einen mal beschaffen und damit mal die Funktion überprüfen.



              Kommentar


                Ich nutze von Orno den 1ph Stromzähler WE-514 oder SDM120.
                https://www.smart-mf.de/index.php/kn...orted-devices/
                hier nur beachten, die Word Reihenfolge ist in den Bildern falsch, hier die Default Einstellung lassen.

                Ich weiß nicht, ob ich es schon gefragt habe. Die externen 24V liegen am Gateway an?
                ohne diese geht nichts.
                www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                Kommentar


                  Hi,
                  ich habe diese beiden erfolgreich am laufen, könnte dir also wenn nötig die Einstellungen liefern.

                  3 Polig -> https://stromzähler.eu/detail/018e5c...4647b4c071a324
                  1 polig -> https://stromzähler.eu/detail/018e5c415cce71d2bfb976f390c3f48a

                  Grüße

                  Marco
                  Zuletzt geändert von MarcoLanghans; 12.08.2024, 05:57.

                  Kommentar


                    Zitat von Masifi Beitrag anzeigen
                    Ich weiß nicht, ob ich es schon gefragt habe. Die externen 24V liegen am Gateway an?
                    ohne diese geht nichts.
                    Ja, allerdings 20V....laut Aufbauanleitung sollte das ja in Ordnung sein.

                    Kommentar


                      Ja alles zwischen 10V und 24V sind ok.
                      www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                      Kommentar


                        Masifi
                        Kann ich eigentlich irgendwie mitloggen, wie die Anfrage aussieht, die das Gateway rausschickt? Die müsste ich ja eigentlich nur mit meiner Abfrage aus "QModMaster" vergleichen, dann müsste man dem Thema doch eigentlich recht schnell auf die Schliche kommen....

                        Alternativ: Kennt jemand einen guten (und kostenlosen) Modbus RTU Sniffer?

                        Kommentar


                          Mit der bestehenden Firmware kann man das nicht wirklich mitloggen.
                          Hast du ein Multimeter/Oszi/Logikanalyser?
                          falls ja könnten wir etwas detaillierter suchen.
                          Wenn nichts mehr hilft, kannst du es mir auch mal zukommen lassen und ich schaue drauf.
                          Bin aber erst in zwei Wochen wieder zurück, damit hätten wir noch etwas Zeit, das Problem vorher zu lösen 😉
                          www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                          Kommentar


                            Multimeter ja.
                            LogicAnalyzer müsste ich erst bestellen. Wäre dann in 2-3 Tagen da.
                            Oszi krieg ich kurzfristig nicht her (Urlaubszeit)...
                            Zuletzt geändert von sunsTorm; 14.08.2024, 12:12.

                            Kommentar


                              Dank der Hilfe von Masifi, sind wir dem Problem auf die Spur gekommen.

                              Es kamen die angeschlossenen 20V nicht an den enstprechenden Komponenten der Platine an, da die F1 nicht bestückt war.
                              Diese wurde nun gebrückt und schon sendet das Gateway fleißig seine Anfragen und der Siemens Zähler antwortet brav

                              Kommentar


                                Ja das war mein Fehler 🤦 sorry dafür, aber ist und bleibt einfach nur ein Hobby für mich.

                                sunsTorm interessant wären aber noch die Parameter in der ETS mit denen es funktioniert.
                                War meine Annahme oben richtig, oder doch anders?
                                www.smart-mf.de | KNX-Klingel | GardenControl | OpenKNX-Wiki

                                Kommentar

                                Lädt...
                                X