Ankündigung

Einklappen
Keine Ankündigung bisher.

ModBus RTU vs. RS 485

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

    ModBus RTU vs. RS 485

    Hallo zusammen,

    ich habe ein Steuergerät für meinen Pool (PC Dynamics von Dinotec). Dieses Gerät hat eine Modbus RTU Schnittstelle die ich gerne per Modbus TCP ansprechen möchte. Der Hersteller ist nur bedingt kooperationsbereit, da er ein eigenes Steuergerät anbietet um die eigentliche Poolsteuerung aus der Ferne anzusprechen. Dafür habe ich Verständis und kann das auch verstehen. Inoffiziell hat er mir aber gesagt, dass die Modbus Schnittstelle freigeschalten ist und ich habe auch die Dokumentation der Register bekommen. Ich habe mir nun ein Modbus RTU <-> Modbus TCP Gateway zugelegt um das Gerät einzubinden, damit ich mit NodeRed die Kommunikation zwischen meinem KNX-Bus und dem Steuergerät (Modbus RTU) herstellen kann. Als ich nun nochmals genauer die Beschreibung des Pool-Steuergerätes angesehen habe, habe ich gesehen, dass es nicht nur (physische) Anschlüsse für den Modbus RTU hat sondern auch für RS485.

    Mein Verständnis bisher war, dass RS485 die technischen Parameter vorgibt und Modbus RTU das fachliche Protokoll. Habe ich da etwas falsch verstanden? Für mich ist es unlogisch, dass ich zwei Anschlussklemmenpaare habe, eines für Modbus RTU und eines für RS 485.

    Kann mir jemand sagen wo mein Fehler liegt?

    Vielen Dank für eure Unterstützung

    Jörg

    #2
    Grundlagen siehe hier im Wiki. Ich habe mit den in diesem Projekt beschriebenen Adaptern z.B. mehrere Trovis 557x (nativ ModbusRTU per RS232) sowie eine Helios KWL (nativ ModbusRTU per RS485) über ModbusTCP und selbst geschriebene Plugins am am Laufen. Eine detaillierte Anleitung zum Einrichten ist auch dabei. Hoffe, das hilft Dir weiter.

    /tom

    Kommentar


      #3
      Zitat von Yoogi Beitrag anzeigen
      ...
      Mein Verständnis bisher war, dass RS485 die technischen Parameter vorgibt und Modbus RTU das fachliche Protokoll. Habe ich da etwas falsch verstanden? Für mich ist es unlogisch, dass ich zwei Anschlussklemmenpaare habe, eines für Modbus RTU und eines für RS 485.
      ...
      RS485 definiert im wesentlichen die elektrische Übertragung. Es handelt sich dabei um eine Differenzielle Signalübertragung über ein Signalpaar.

      RS485 definiert kein spezifisches Protokoll, wobei zumindest üblicherweise zumindest als Übertragungsformat eine Seriel-Asynchrone Datenübertragung genutzt wird.

      Eines der Protokolle welches hierbei dann gerne über RS485 verwendet wird ist eben Modbus (somit in der Variante RTU).

      Wenn also Modbus RTU UND zusätzlich auch RS485 Anschluss vorhanden ist, dann sind physikalisch/elektrisch gesehen beides erst mal RS485 Schnittstellen.
      Auf einer der beiden, eben der Modbus RTU bezeichneten, sollte dann auch Modbus RTU als Protokoll implementiert sein.
      Über die andere läuft dann vermutlich ein anderes, Hersteller spezifisches Protokoll.

      Als Modbus Testsoftware kann ich im übrigen "qModMaster" sehr empfehlen, kann sowohl Modbus TCP, wie auch Modbus RTU.
      Zum RTU Hardwareanschluss an einen PC gibt es für kleines Geld z.B. USB/RS485 Adapter zu kaufen.

      Bei Konvertern von Modbus RTU zu Modbus TCP sollte dieser auch wirklich Modbus und nicht nur RS485 unterstützen, da bei der Umwandlung zwischen RTU und TCP das Timing auf der RTU Seite zu beachten ist.

      Außerdem gibt es einen Unterschied zwischen echtem Modbus TCP und Modbus RTU durch TCP getunnelt.
      Ich hab schon einige Konverter ausprobiert und lade eigentlich immer wieder bei einem speziellen Waveshare RS232/RS485 zu TCP Konverter ( https://www.amazon.de/Waveshare-Indu.../dp/B07S3HRYRR ). Die einfacheren (auch von Waveshare, z.B. im Hutschienengehäuse) haben bei mir häufig Probleme verursacht und waren auch teils nicht langzeit stabil.






      Zuletzt geändert von Techi; 06.05.2023, 00:06.

      Kommentar


        #4
        Zitat von Techi Beitrag anzeigen
        Zum RTU Hardwareanschluss an einen PC gibt es für kleines Geld z.B. USB/RS485 Adapter zu kaufen.
        Wie bist Du mit dem Adapter zufrieden?
        Gruss
        GLT

        Kommentar


          #5
          Meinst du jetzt die generellen USB/RS485 Adapter oder den Waveshare RS232/RS485 zu TCP Konverter (TCP/RS485) ?

          Bei den USB/RS485 Adpatern gibt es wenig Unterschiede, ausser dass es (häufig im Pro Bereich welche mit Isolation gibt),
          Technisch gesehen sind die auch sehr primitiv, da ist ein USB zu Seriell Wandler Chip (CP210x, FTDI, oder CH343) an welchen ein RS485 Tranceiver Baustein hängt, gefolgt von ein paar Überspannungs-Schutzkomponenten. (mein Favorit ist hier dieser:https://www.amazon.de/Industrieller-.../dp/B0B87D9LNC )


          Bei den TCP/RS485 ist immer einer ein Microcontroller nötigt, der halt Netzwerk kann , an dem hängt dann auch eine RS485 Tranceiver Baustein.
          Hier entscheidet die Software auf dem Microcontroller ob und wie die Daten zwischen TCP und RS485 umsetzt.
          Es gibt halt Protokolle die auf der RS485 Seite mit sensitiveren Timing arbeiten als andere hier muss der Konverter optimalerweise das Protokoll verstehen und nicht nur 1 zu 1 TCP "Durchtunneln"

          Bei Modbus ist z.B. das Problem, dass es in der Spezifikation Unterschiede in den Paketen gibt, je nachdem ob Modbus RTU oder Modbus TCP, daß müsste also wirklich aktiv ziwschen beiden Formaten umgesetzt werden.
          Alternativ kann man aber eben auch Modbus RTU 1 zu 1 Byte für Byte durch TCP "Durchtunneln" und auf der TCP Seite die Daten so behandeln als ob es Serielle Daten über RS485 wären. Wenn hierbei das Timing im Converter beachtet wurde, dann funktioniert das auch gut.

          Man bisheriger Favorit bei den TCP/RS485 incl. Modbus Konvertern ist eben der schon oben erwähnte Waveshare (https://www.amazon.de/gp/product/B07RQSPYFV). Hab ich beruflich und private nun schon viele male im Einsatz.


          Zuletzt geändert von Techi; 06.05.2023, 07:36.

          Kommentar


            #6
            Hallo Techi,

            vielen Dank für die Erläuterungen. Dann liege ich mit meiner Vermutung richtig, dass an dem Anschluss RS 485 technisch die selbe Spezifikation anliegt wie an dem Anschluss Modbus jedoch vermutlich beim Anschluss RS 485 ein proprietäres Protokoll verwendet wird.

            Ich habe hier vor mir das Waveshare im REG Format (weisses Plastikgehäuse mit POE) liegen das nach deiner Aussage nicht ganz so stabil läuft. Meinst du es wäre besser wenn ich das zurückschicke und mir das von dir oben verlinkte (im schwarzen Gehäuse) zulege?

            Gruss

            Jörg

            Kommentar


              #7
              USB/485er war gemeint - werd mal WS im Kopf behalten - danke.
              Gruss
              GLT

              Kommentar


                #8
                Ich hab zwei (1xLAN, 1x WLAN) von denen hier im Einsatz: https://www.amazon.de/dp/B09JC8G1P6
                Die laufen bisher stabil.

                Kommentar


                  #9
                  Zitat von MarcusF Beitrag anzeigen
                  Ich hab zwei (1xLAN, 1x WLAN) von denen hier im Einsatz: https://www.amazon.de/dp/B09JC8G1P6
                  ...
                  Auch für Modbus TCP ???

                  Kommentar


                    #10
                    Zitat von Yoogi Beitrag anzeigen
                    Hallo Techi,

                    vielen Dank für die Erläuterungen. Dann liege ich mit meiner Vermutung richtig, dass an dem Anschluss RS 485 technisch die selbe Spezifikation anliegt wie an dem Anschluss Modbus jedoch vermutlich beim Anschluss RS 485 ein proprietäres Protokoll verwendet wird.

                    Ich habe hier vor mir das Waveshare im REG Format (weisses Plastikgehäuse mit POE) liegen das nach deiner Aussage nicht ganz so stabil läuft. Meinst du es wäre besser wenn ich das zurückschicke und mir das von dir oben verlinkte (im schwarzen Gehäuse) zulege?

                    Gruss

                    Jörg
                    Ahhh, den POE Typ kenne ich noch gar nicht.
                    Vielleicht ist der ja auch gut. Kann man erst sagen wenn man es mal ausprobiert hat (auch mal ein paar Wochen).

                    Gruß,
                    Walter


                    Kommentar


                      #11
                      Zitat von Techi Beitrag anzeigen
                      Auch für Modbus TCP ???
                      Weiß jetzt nicht genau was Du meinst, aber das sind Umsetzer von Modbus RTU auf Ethernet bzw. WLAN. Mein Home Assistant spricht Modbus TCP mit den Dingern und die setzen das dann nach Modbus RTU für die Kommunikation mit den Stromzählern um.

                      Kommentar


                        #12
                        Hallo Yoogi,

                        Ich löse gerade ein ähnliches Problem mit PC Dynamics von Dinotec Verbindung.
                        Funktioniert die Verbindung zu PC Dynamics von Dinotec über Modbus RTU bei Ihnen und erhalten Daten aus dem Gerät?
                        Können Sie einen Verdrahtungsplan zur Verfügung stellen?
                        An welche Klemmen im PC Dynamics haben Sie die Modbus RTU Kommunikation angeschlossen?

                        Vielen Dank im Voraus für die Antwort.

                        Marek

                        Kommentar


                          #13
                          Evening All, hat es irgendjemand geschafft, das zum Laufen zu bringen? Ich habe ein WEINZEIRL KNX Modbus RTU Gateway 886, angeschlossen an den PCDynamics. Ich habe folgende Optionen eingestellt:

                          Danke

                          Screenshot 2024-02-02 191456.png

                          Screenshot 2024-02-02 191531.png

                          Screenshot 2024-02-02 191603.png



                          Angehängte Dateien

                          Kommentar


                            #14
                            Ömmm - geht gar nicht? Nur manchmal? Nur Mittwochs bei Mondlicht, solange drumherum Jungfrauen tanzen?

                            Nur geraten:
                            • Kommunikationsparameter: 8N1 = Parity muss auf NONE stehen (Deine stehen auf EVEN, also 8E1).
                            • Verkabelung prüfen: A und B vertauscht?
                            • Send delay nach dem Einschalten zu klein?
                            • Heartbeat mögen etliche Clients nicht.
                            • Manual Operation/Sync auch mal ausschalten.
                            • 0-based Registerlisten fangen oft bei 0 an, 1-based bei 40.001; kenne aber den Weinzierl nicht. Fang mal mit 0 statt 1 an (von im Handbuch aufgeführten Registernummer jeweils 1 abziehen).
                            • Little/Big Endian könnte eine Rolle spielen - von Weinzierl MSB/LSB (Most/Least Significant Byte) genannt. Mal versuchsweise umschalten.
                            • Evtl. wird auch die falsche Slave-Adresse des Gerätes angesprochen - siehe Handbuch.
                            /tom

                            Kommentar

                            Lädt...
                            X