Ankündigung

Einklappen
Keine Ankündigung bisher.

Modbus und Gira Homeserver

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

    #16
    Hallo.

    Ich bin gerade am basteln mit meinem Kostal Piko IQ WR.
    Ich bekomme auch schon fleißig Daten über Modbus IP, das habe ich umgesetzt mit der Funktion "Webseiten/IP-Geräte Abfr...".
    Leider hänge ich jetzt an dem Punkt eine 32bit Zahl in Float darzustellen.
    Der Wert den ich zurück bekomme ist 0x0000 0x3F80 richtig gedreht und zusammengesetzt wären das dann 0x3F 80 00 00 entspricht DEZ 1065353216 und in Float 1,0.
    Leider wird mir im Quadclient immer der Dezimalwert angezeigt obwohl ich den Datentyp in der ich die Zahl reinschiebe als 4-Byte EIS9 deklariert habe.
    Ich weiß leider nicht mehr weiter.Über Hilfe würde ich mich freuen

    Logikeditor.png
    Zuletzt geändert von AdamTK; 13.04.2020, 17:01.
    KNX mit Gira Home Server
    TKS-IP-Gateway

    Kommentar


      #17
      Hallo,
      liefert dein Wechselrichter die Daten über Modbus IP nach dem Sunspec Protokoll? Ich habe mit meinem Solaredge WR auch schon versucht Daten abzufragen, weiß aber nicht wie ich mit dem Modbus TCP kommunizieren kann???

      Kannst du mir nochmal erklären, was das Ergebnis deiner Logik liefert und was du genau angezeigt bekommen möchtest?

      lg
      Jürgen

      Kommentar


        #18
        schau mal hier: https://knx-user-forum.de/forum/%C3%...s-tcp-auslesen

        Kommentar


          #19
          Hallo Adam,


          ich habe dir mal ein Bild angehängt so funktioniert es bei signed Int bei unsigned int einfach die beiden Blöcke unten weglassen.

          Umwandeln_32bit.jpg Viele Grüße hereos

          Kommentar


            #20
            Hallo Jürgen.

            Ich kommuniziere über Modbus TCP mit meinem WR KOSTAL Piko IQ 5.5. Die Dokumentation die ich dafür verwendet habe ist hier zu finden.
            Meine Logik baut eigentlich nur die über Modbus abgefragten Daten in richtiger Reihenfolge zusammen.
            Die Abfrage in diesem Fall gesendet von QModMaster (oder Gira Homeserver das ist egal)
            lautet folgendermaßen:
            [TCP]>Tx > 18:50:10:718 - 00 02 | 00 00 | 00 06 | 47 | 03 | 00 96 | 00 02 (HEX)
            Unique ID | Protokoll | Länge der Daten in Byte | Slave Adresse | Funktionscode | Startadresse | Anzahl der Bytes die gelesen werden sollen

            Die Antwort kommt vom WR
            [TCP]>Rx > 18:50:10:765 - 00 02 | 00 00 | 00 07 | 47 | 03 | 04 | 00 00 3F 80
            Unique ID | Protokoll | Länge der Daten in Byte | Slave Adresse | Funktionscode | Länge der Antwort in Byte | Antwort

            hereos
            Leider ist deine Logik nicht für Gleitkomma zu verwenden.

            Ich versuche gerade einen Logikbausstein zu programmieren der die Umwandlung vornimmt.
            Melde mich dann wieder!

            Gruß
            Stefan
            KNX mit Gira Home Server
            TKS-IP-Gateway

            Kommentar


              #21
              Hallo,

              ich habe jetzt einen Logikbaustein programmiert der einen Float-wert einer MODBUS-IP Abfrage in ein HS/FS verständlichen Wert umrechnet.
              Vorher muss man die einzelnen Bytes natürlich in die richtige Reihenfolge bringen. (siehe #16)
              Da ich nicht sicher bin, ob ich diesen Baustein veröffentlichen darf (aufgrund fehlendem öffentlichem Nummernkreis) bitte bei Interesse PN an mich.

              Gruß Stefan
              KNX mit Gira Home Server
              TKS-IP-Gateway

              Kommentar


                #22
                Hallo Adam, könntest du mir eine grob detaillierte Anleitung evtl. senden wie du vorgegangen bist? Ich möchte auch meinen Plenticore Plus 7.0 über Modbus in den Homeserver einbinden. Bevor ich mich zu Tode suche, dachte ich evtl. das du evtl. deine Vorgehensweise zukommen lässt. Gerne auch per PN.

                grüße und danke schon mal im voraus

                Kommentar


                  #23
                  Hallo Jem110.

                  Zitat von Jem110 Beitrag anzeigen
                  Hallo Adam, könntest du mir eine grob detaillierte Anleitung...
                  Ich glaub das wird schwierig
                  Bei welchem Punkt hängst du denn gerade?
                  Viele Infos dazu findest du schon in diesem Beitrag und auch hier

                  Ich bin aber gerade drüber einen Baustein für Kostal Piko zu schreiben, der die komplette Kommunikation schon eingebaut hat.
                  Der WR Plenticore sollte nahezu eine identische Kommunikationsschnittstelle haben.
                  Diesen werde ich dann soweit er fertig ist gerne bereit stellen.

                  Bis dahin viele Grüße Stefan
                  KNX mit Gira Home Server
                  TKS-IP-Gateway

                  Kommentar


                    #24
                    Hallo Adam,

                    hast du nun einen Baustein geschrieben der die Hex-Zahl sauber in Dezimal Auflöst?

                    Ich hätte da auch das Problem bei der Abfrage eines SENEC Batteriespeichers.

                    Kommentar


                      #25
                      Hallo!

                      Stehe hier gerade voll auf dem Schlauch :-(

                      Kann vielleicht einer von Euch, der es schon laufen hat, mal genau - vielleicht anhand eines Registers wie der 100 (Total DC Power) - beschreiben, wie man die Werte für das Senden zusammenbaut? HAb hier in einigen Einträgen rein numerische lange Werte gesehen, in anderen Einträgen Hex-Werte.

                      Vielleicht auch noch einmal Screenshots der einzelnen Seite der Webabfrage?

                      Danke Euch!
                      Möchte den Komfort meiner Installation nicht mehr missen!

                      Kommentar


                        #26
                        Besten Dank für die guten Ideen hier im Post! Hab mich nun auch mal an meine Wärmepumpe gemacht.

                        Ich erhalte die Daten zuverlässig über den Simply Modbus TCP Client dargestellt. Nun habe ich die Abfrage im HS versucht nachzubilden.
                        Leider erhalte ich in der Response (im Debug) nur kryptische Zeichen:

                        Hier der Debug und die Einstellungen vom funktionierenden Modbus TCP Client:
                        Der Wert ist die Aussentemperatur in °C mit einem Faktor 10, d.h. bei dem Result von 111 = 11,1°C
                        Hier die Einstellungen meiner Webseitenabfrage im HS:

                        01 HS Abfrage Daten.png
                        02 HS Abfrage Senden.PNG
                        03 HS Abfrage Empfang.PNG

                        Zitat von fernsehjens Beitrag anzeigen
                        Wichtig: ab HS-Version 4.7 unbedingt Abfrage nach Anzahl der gesendeten Bytes beenden und TCP-Port auf über 1024 legen!
                        Darf ich fragen weshalb der Port <1024 sein muss? Ich kann die Port-Nummer an der Wärmepumpe leider nicht verändern.

                        Danke für Eure Hilfe!

                        Cheers
                        Angehängte Dateien

                        Kommentar


                          #27
                          Zitat von sti87 Beitrag anzeigen
                          Darf ich fragen weshalb der Port <1024 sein muss?
                          Hatte ich mal irgendwo hier? im Forum gelesen, habe das dann zusammen mit einer anderen Einstellung geändert und nicht mehr auf 502 probiert.
                          Wichtig ist auf jeden Fall die Verbindung nach Anzahl der empfangenen Bytes zu beenden, in deinem Fall also nach 11 Bytes!(Reiter Daten)
                          Bei Empfang musst du feste Anzahl Zeichen auf 10 stellen und dann 1Byte(0..255). Dann solltest du zumindest von 0 bis 25,5°C(=FF) die Aussentemperatur bekommen.Wie du dann das vorletzte Byte und das Vorzeichen einbindest müsste irgendwo bei den Datenpunktdefinitionen beschrieben sein.
                          Viel Erfolg!

                          Kommentar


                            #28
                            Danke fernsehjens! Mit Deinen Hinweisen klappt es nun und ich habe es auch verstanden :-)
                            Bzgl. dem Vorzeichen muss ich wohl kältere Temperaturen abwarten, da es leider keine Dokumentation gibt.

                            Kann ich das 9te Byte (Vorzeichen) in der selben Abfrage abhandeln oder brauche ich eine 2. Abfrage?

                            Kommentar


                              #29
                              Ich habe mich dem Thema nochmal angenommen.

                              Die Temperatur wird mit den 2 Bytes an den Stellen 9 und 10 ausgegeben:

                              [16:07:02] => Poll: 01 04 00 25 00 01
                              [16:07:03] <= Response: 01 04 02 FF E7

                              FFE7 entspricht Dezimal -25, bei einem Faktor von 10 sind das -2,5°C


                              Dementsprechend habe ich die Abfrage im Homeserver wie folgt angepasst:

                              Feste Anzahl an Zeichen auf 9 gesetzt und das Datenformat auf 2 Byte.

                              Das iKO habe ich ebenso auf 16-Bit umgestellt:
                              Bei einer Abfrage erscheint auch der richtige Wert (FFE7 = -25):

                              HS Debug.png


                              Dennoch hat das iKO den Wert: -6145:

                              HS iKO Wert.PNG


                              Interessanterweise entspricht dies einem HEX-Wert von E7FF. Also baue ich die Antwort irgendwie verkehrt zusammen. Anstelle von FFE7 mache ich E7FF daraus.
                              Was mache ich falsch? :-(
                              Angehängte Dateien

                              Kommentar


                                #30
                                EugenDo oder Markus1988 habt ihr mir vielleicht einen Tipp als Homeserver-Datenabfrage-Experten ;-)

                                Kommentar

                                Lädt...
                                X