Modbus Sensoren einbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • tadeus
    Smart Home'r
    • 10.10.2023
    • 97

    #1

    Modbus Sensoren einbinden

    Hallo,

    ich hab mir in nem anderen Thread über paar Wettersensoren schlau gemacht und die hab ich mir jetzt zugelegt und möchte die nun in Loxone einbinden. Der Übersicht halber dieser Thread nun.

    Die Sensoren sind folgende:
    Solar Sensor: https://drive.google.com/file/d/1UvN...ew?usp=sharing
    Regensensor: https://drive.google.com/file/d/18G3...ew?usp=sharing
    und kommunizieren über Modbus-RTU

    Dafür hab ich mir jetzt fürn Schaltschrank nen "Waveshare RS485 TO ETH"​ zugelegt und zum testen am PC nen "DSD TECH SH-U10 USB-zu-RS485-Konverter für Modbus". Das sieht soweit gut aus.

    Zuerst möcht ich erst mal testen und verstehen. Ich hab jetzt erstmal den Solar Sensor an den USB Dongle angeschlossen, der Dongle wurde von Ubuntu erkannt und laut CuteCom kann man auch verbinden. Der Sensor blinkt auch rot.

    Wie gehts da aber jetzt weiter? Das letzte Mal das ich was mit der seriellen Schnittstelle gemacht hab, war vor Dekaden während der Ausbildungszeit. Ich hab versucht mit paar Erklärungen ausm Netz und den Adressen die im oben verlinkten Manual drin stehen was auszuprobieren, aber hab damit keinen Erfolg.

    Kann mir da jemand weiterhelfen?

    Danke vorab​
  • keineahnung
    Extension Master
    • 05.03.2023
    • 197

    #2
    Hallo,
    Ich nutze Windows, da gibt es das Programm QModMaster.
    Da kann ich den COM Port auswählen und die Register über modbus anfragen.

    Gruß

    Kommentar

    • tadeus
      Smart Home'r
      • 10.10.2023
      • 97

      #3
      keineahnung
      Com Port ist ausgewählt und verbunden. Die Frage ist nun was muss ich eingeben um die Sachen abzufragen?

      Ich hab in der oben verlinkten Anleitung die Adressen drin stehen, aber egal wie ich das eingebe und abschicke, da kommt nix zurück. Mehr als ein Blinken am USB Dongle bekomm ich nicht.

      Kommentar

      • Noschvie
        MS Profi
        • 24.09.2018
        • 522

        #4
        Hast du die richtige Baud Rate eingestellt? Dann einfach register mi5 adresse 0 abfragen.
        warum nimmst nicht den TCP Converter? Kannst einfacher die Settings einstellen

        Kommentar

        • tadeus
          Smart Home'r
          • 10.10.2023
          • 97

          #5
          Baudrate hab ich den Standard vom Sensor eingestellt. 4800
          Wie frag ich das ab?

          Am Waveshare kann ichs auch anschließen wenn das einfacher ist.

          Kommentar

          • Noschvie
            MS Profi
            • 24.09.2018
            • 522

            #6
            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 248
Größe: 78,0 KB
ID: 425654
            Register Adresse 0 mit Function 3 abfragen.
            Angehängte Dateien

            Kommentar

            • tadeus
              Smart Home'r
              • 10.10.2023
              • 97

              #7
              Also laut meinem USB Konverter gibt der Sensor Rückmeldung mit Werten je nach Helligkeit.

              Jetzt hab ich den mal an den Modbus Server gehängt und die Konfiguration folgendermaßen gestaltet.

              Der Waveshare ist aktuell so konfiguriert:
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: 2024-03-07 12.33.07 192.168.1.254 e256eefe2774.jpg Ansichten: 0 Größe: 172,3 KB ID: 425850

              1.) Modbusserver erstellt mit der IP 192.168.1.254:4196
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Modbusserver.png Ansichten: 0 Größe: 41,2 KB ID: 425853

              2.) Modbus Gerät erstellt mit Adresse 1
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Modbusgerät.png Ansichten: 0 Größe: 56,5 KB ID: 425854

              3.) Bei den Sensoren nen Analogsensor erstellt mit I/O Adresse 0 und Befehl 3 "Read Holding Register", Abfragezyklus zum Testen mal auf 2 Sek.
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Analogsensor.png Ansichten: 0 Größe: 54,0 KB ID: 425852

              mit folgendem Ergebnis:
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Ergebnis.png Ansichten: 0 Größe: 47,9 KB ID: 425851


              Wo ist aktuell noch mein Fehler?
              Angehängte Dateien
              Zuletzt geändert von tadeus; 07.03.2024, 11:44.

              Kommentar

              • Noschvie
                MS Profi
                • 24.09.2018
                • 522

                #8
                DIe Host Settings sind falsch, Protokoll sollte Modbus TCP to RTU sein. Und ich würde den Standard Port 512 verwenden

                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 221
Größe: 50,9 KB
ID: 425913
                Angehängte Dateien

                Kommentar

                • tadeus
                  Smart Home'r
                  • 10.10.2023
                  • 97

                  #9
                  Gut, das hab ich nun geändert. Sieht so aus als ob wir voran kommen. Es gibt eine Antwort.

                  Wenn das Licht im Keller aus ist, meldet er 0 wenn an, meldet er 1.

                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Ergebnis2.png
Ansichten: 197
Größe: 82,5 KB
ID: 425923

                  Kann es sein, dass noch nicht der ganze Wert erfasst wurde?

                  Kommentar

                  • tadeus
                    Smart Home'r
                    • 10.10.2023
                    • 97

                    #10
                    Ich hab gestern an der IO Adresse Änderungen gemacht, da kamen dann andere Werte. Wenn als Data Length 0x00 und 0x01 angegeben ist, sollte dann das doch was zweistelliges sein, wenn ich das richtig verstehe. Wird bei meiner obigen Einstellungen nur eine Zahl davon gelesen?

                    Kommentar

                    • Noschvie
                      MS Profi
                      • 24.09.2018
                      • 522

                      #11
                      Dadurch dass ein "16-bit..." Register gelesen wird, sollte da schon passen. Kommt immer nur der Wert 1 zurück? Welche Werte sollten realistisch geliefert werden?
                      Jedenfalls scheint die Kommunikation ja ok zu sein.

                      Kommentar

                      • tadeus
                        Smart Home'r
                        • 10.10.2023
                        • 97

                        #12
                        Noschvie
                        Ah stimmt, 16bit sind ja 2 Byte.
                        Laut Datenblatt soll da die aktuelle Sonneeinstrahlung in W/m² ausgegeben werden, also Werte in Abhängigkeit der Helligkeit.


                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 153
Größe: 145,4 KB
ID: 426539
                        Angehängte Dateien
                        Zuletzt geändert von tadeus; 13.03.2024, 14:56.

                        Kommentar

                        • tadeus
                          Smart Home'r
                          • 10.10.2023
                          • 97

                          #13
                          Es sieht so aus als ob der Fehler bei mir gelegen hat. Jetzt wirft der Sensor jedenfalls auch andere Werte raus. Ich bau den die Tage mal raus und gucke was er im Produktivbetrieb ausgibt.




                          Ich möchte ja in Zukunft mehrere Modbus Sensoren betreiben. Die Sensoren die ich hier habe, sind im Auslieferungszustand mit der Geräte ID 01 erreichbar. Man sollte ja jedem Modbus Teilnehmer ne eigene Adresse geben. Laut Internettutorials sollte das ja überall am Gerät per Schalter einstellbar sein. Bei meinen Sensoren ist das nicht der Fall. Die Geräte ID kann man zwar ändern, aber nur wieder per Modbus Anfrage.

                          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 165
Größe: 213,8 KB
ID: 426542

                          Kann ich mit Loxone so eine Adressänderungsanfrage abschicken oder muss das auf nem anderen Weg gemacht werden?
                          Oder soll ich dazu nen eigenen Thread eröffnen, da offtopic?
                          Angehängte Dateien

                          Kommentar

                          • Noschvie
                            MS Profi
                            • 24.09.2018
                            • 522

                            #14
                            Das Ändern der ClientID /Address Code sollte auch mit dem MS möglich sein. Einfach die entsprechenden Parameter verwenden und einmal senden.
                            Vorher würde ich mal mit Address Code 0xFF eine Abfrage senden und schauen, welcher Address Code zurück kommt.

                            Kommentar

                            • tadeus
                              Smart Home'r
                              • 10.10.2023
                              • 97

                              #15
                              Noschvie
                              Das hab hab ich versucht. Also als Geräteadresse 255 eingegeben. Funktion 03 Read Holding Register und als IO Adresse 7.
                              Wo ich mir aber unsicher war, ist der Datentyp weil dort ja steht 0x00 0x02. Wären das dann 64bit int?

                              Wenn ich dann den Testbefehl sende kommt aber nur "Answer from invalid device".
                              Klicke auf die Grafik für eine vergrößerte Ansicht

Name: modbus änderung.png
Ansichten: 158
Größe: 68,3 KB
ID: 426567
                              Angehängte Dateien

                              Kommentar

                              Lädt...