Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Modbus RS485 Tutorial/Einstieg gesucht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Modbus RS485 Tutorial/Einstieg gesucht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @WolfgangFB last edited by

      @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

      habe ich auch die Register gefunden:

      Ich mache es immer so :

      https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28

      teste erst mit einem Windows Programm .... dann mit ioBroker .

      W 1 Reply Last reply Reply Quote 0
      • J
        JoergH @WolfgangFB last edited by

        @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

        lrwxrwxrwx 1 root root 13 19. Mai 12:51 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB1

        
        Aber egal was ich bei den Verbindungsparametern einstelle, der letzte Punkt (Verbunden mit Gerät oder Dienst) bleibt rot.
        
        Bei  Port habe ich /dev/ttyUSB1 eingetragen, aber was ich als Baudrate und Geräte ID eintragen soll ist mir nicht klar.
        
        Alternaativ: Welchen Adapter verwendit Ihr bei dem die Parameter bekannt sind?
        

        Wenn er schonmal zwei grüne anzeigt, heisst dass, dass er sich mit dem Zähler verbindet. Der letzte wird erst grün, wenn eine erfolgreiche Abfrage eines oder mehrerer Register stattgefunden hat. Also liegt es nun vermutlich an den Registereinstellungen. Was sagt denn Dein Logfile im Debug Modus?

        W 1 Reply Last reply Reply Quote 0
        • W
          WolfgangFB @JoergH last edited by

          @joergh sagte in Modbus RS485 Tutorial/Einstieg gesucht:

          Wenn er schonmal zwei grüne anzeigt, heisst dass, dass er sich mit dem Zähler verbindet.

          Der Adapter zeigt auch zwei mal grün wenn überhaupt kein USB Stick mit dem Raspi verbunden ist. Von daher würde ich da keine Rückschlüsse ziehen.
          Wie würden denn die Einstellungen aussehen wenn ich z.B. die Leistung abfragen will? Wo trage ich das ein? Diskrete Eingänge? Ausgänge wohl kaum. Eingangsregister oder Holdingregister? Low-Byte ist 0x1a, High Byte ist 0. Ist die Adresse dann 6656 (0x1a00) oder 26 (0x1a) oder etwas ganz anderes?

          J 1 Reply Last reply Reply Quote 0
          • J
            JoergH @WolfgangFB last edited by JoergH

            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

            @joergh sagte in Modbus RS485 Tutorial/Einstieg gesucht:

            Wenn er schonmal zwei grüne anzeigt, heisst dass, dass er sich mit dem Zähler verbindet.

            Der Adapter zeigt auch zwei mal grün wenn überhaupt kein USB Stick mit dem Raspi verbunden ist. Von daher würde ich da keine Rückschlüsse ziehen.
            Wie würden denn die Einstellungen aussehen wenn ich z.B. die Leistung abfragen will? Wo trage ich das ein? Diskrete Eingänge? Ausgänge wohl kaum. Eingangsregister oder Holdingregister? Low-Byte ist 0x1a, High Byte ist 0. Ist die Adresse dann 6656 (0x1a00) oder 26 (0x1a) oder etwas ganz anderes?

            Hmmm, ok, ist mir auch neu. Bei TCP muss er eine Verbindung herstellen können, kann an der seriellen Emulation liegen...zur seriellen Schnittstelle hat er die Verbindung ja schon aufbauen können...

            Die Einstellungen stehen in der Beschreibung die Du oben gepostet hast. Da die Qualität ziemlich schlecht ist, kann ich es kaum lesen. Was ich sehen kann ist, dass er zwei Arten von Registern hat, Data (Holding) Register (0x04) - read only und Parameter Register (0x03) - read & write.
            Wenn die Leistung in Data Register 0x001a ist, dann ist das Register 26. Das musst Du dann eintragen bei Holding Register vorne als Adresse des Registers, dann die restlichen Paramter dahinter korrekt setzen und "Abfrage" nicht vergessen...Aliases muss aus sein.

            Sieht dann so aus (bei mir sind aber alle Adressen ab 40000):

            02fce6d3-de81-4904-a5a8-d62209bf76cb-grafik.png

            Glasfaser 1 Reply Last reply Reply Quote 0
            • Glasfaser
              Glasfaser @JoergH last edited by Glasfaser

              @joergh

              Da die Qualität ziemlich schlecht ist

              Müsste das sein , habe es mal für Ihn gegoogelt .
              https://de.aliexpress.com/item/33003316323.html

              @WolfgangFB

              Naja .... , Made in CE

              1 Reply Last reply Reply Quote 0
              • W
                WolfgangFB @Glasfaser last edited by

                @glasfaser sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                habe ich auch die Register gefunden:

                Ich mache es immer so :

                https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28

                teste erst mit einem Windows Programm .... dann mit ioBroker .

                Ich habe mir dieses Programm besorgt. In der Gerätesteuerung habe ich gefunden, dass Com3 ein USB Device ist. Das habe ich eingetragen und auf Connect gedrückt, es kam auch keine Fehlermeldung.

                Wenn ich den Stromzähler startet kommt im Display zuerst "AD 0013" "b 9600" "C 1000", ich vermute dass 13 eine Adresse ist, b9600 eine Baudrate, was C1000 ist weiß ich nicht.

                In dem Programm selbst kommt aber immer die Medlung "Modbus time out"
                Grundsätzliche Frage: Ich habe den Ausgang A des Stromzählers mit Pin A des RS485 Adapters verbunden und B mit B. Ist das richtig? Oder muss wie bei RS232 RX und TX vertauscht werden?
                Was schließe ich an "gnd" an?
                n der Doku des Stromzählers steht: Serielle Parameter 9600 Even 1, stelle ich das auch im Modbus Simulator under "Modbus RTU" ein?

                W 1 Reply Last reply Reply Quote 0
                • W
                  WolfgangFB @WolfgangFB last edited by

                  @wolfgangfb
                  Ich antworte mir mal selbst.
                  Ich bin immer noch nicht weiter und würde einfach gerne wissen, ob bei Radzio Modbus Master Simulator die Meldung "Modbus message timeout" daher kommt, das der Stick oder die seriellen Parameter nicht stimmen oder ob es auch sein kann, dass der Stick zwar erkannt wird aber nur die Adresse nicht gelesen werden (weil z.B. falsch eingegeben)

                  K Ralla66 2 Replies Last reply Reply Quote 0
                  • K
                    klassisch Most Active @WolfgangFB last edited by klassisch

                    @wolfgangfb Du hast A mit A und B mit B verbunden?
                    Kreuze mal die Leitungen.
                    Hintergrund: Die Zählerindustrie (zumindest die Europäische) interpretiert die etwas umständliche (bzw. sehr abstrahierte) RS485 Spec sehr streng. Die Halbleiterindustrie in sich geschlossen gleich - aber gerade anders herum. Und die meisten Stickhersteller schließen sich der Halbleiterindustrie an, weil sie sich am Datenblatt orientieren.

                    1 Reply Last reply Reply Quote 0
                    • Ralla66
                      Ralla66 Most Active @WolfgangFB last edited by Ralla66

                      @wolfgangfb

                      Versuche erst einmal die communication wie im Beispiel oben hinzubekommen.
                      Also mit Windows PC und Realterm oder Hterm. So brauchst du erst einmal nur die CRC berechnen.
                      Dann ergibt dies wie aus dem Beispiel oben,
                      Baud 9600
                      Parity Even
                      Stopbit 1
                      Hardwarecontroll RTS/CTS
                      Comport des Sticks
                      Die Adresse ist 13 dec in hex ist 0D
                      Calculator CRC-16 Modbus:
                      0D0400000002 (Processed data x0d 0x04 0x00 0x00 0x00 0x02 )
                      Ergibt 0x0771
                      Gedreht 0x71 0x07
                      Gesendet per Realterm wird dann :
                      0x0d 0x04 0x00 0x00 0x00 0x02 0x71 0x07

                      In den Windows Einstellungen ist zu prüfen ob der Stick und der Treiber erkannt wurde.

                      Nachtrag, in der Beschreibung steht :
                      Die codierung format, parität (auch parität) und daten übertragung modus (acht daten bits, one stop bit) erfüllen die MODBUS-RTU standard anforderungen.
                      Vermute die 02 ist das Low Byte Check Digit, dann wäre das Baud 9600 8n1.

                      1 Reply Last reply Reply Quote 0
                      • I
                        ichbinblue2010 last edited by

                        Hallo
                        Ich hab mir auch so ein Ding zugelegt. Hatte anfänglich auch Probleme damit. Wenn man das Ding unter Spannung nimmt, erschien bei mir Ad070 und das ist die Adresse. Das Problem warum bei mir keine Kommunikation zustande gekommen ist war, das die Parität auf "Even" eingestellt war. Hab dann mit dem Programm "Modbus Poll" die Änderungen vorgenommen Parität auf "nein" (zu verschickender Wert 2). Jetzt die Hexwerte der Adressen umwandeln und plus 1. Siehe da ich kann das Gerät auslesen.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @ichbinblue2010 last edited by

                          @ichbinblue2010 sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                          Ich hab mir auch so ein Ding zugelegt.

                          was bitte?

                          @ichbinblue2010 sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                          Wenn man das Ding unter Spannung nimmt, erschien bei mir Ad070 und das ist die Adresse.

                          wo erscheint das?

                          @ichbinblue2010 sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                          Siehe da ich kann das Gerät auslesen.

                          und was können wir dir helfen?

                          https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

                          1 Reply Last reply Reply Quote 0
                          • W
                            WolfgangFB last edited by

                            @ralla66
                            Ich greife das Thema nochmal auf.
                            Ich habe mir jetzt ein SDM230 Energiemeßgerät besorgt und damit zumindest erste Erfolge erzielt.
                            Ich habe mir auf Github das Programm QModMaster besorgt und nacchdem ich einen 100 Ohm Widerstand in die Leitung geschaltet habe (bin davor davon ausgegangen, dass bei 40 cm Leitungslänge kein Widerstnd notwendig ist) hat sich der Stromzähler mit dem Programm verbuden (Anzeige im Gerätedisplay) und ich konnte einen scan der "Holding Registers" machen.
                            holding.jpg
                            Jetzt die Frage: Wie geht es weiter? Im Modbus Adapter muss ich ja die Register eintragen. Wie komme ich aus den gescannten Holding Registern auf die Registernummern? Ich konnte auch keinerlei Änderung der Register erkennen, auch wenn eine Last zugeschaltet worder ist oder nicht.

                            Ich habe dann nochal das DDM18SD angeschlossen, als Adresse habe ich 13 und 19 (evtl. ist die Anzeige 013 ja hexadezimal) eingetragen, aber in QModMaster kommt immer nur ein Timeout.

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @WolfgangFB last edited by

                              @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                              auf die Registernummern

                              di stehen in der Bedienungsanleitung des SDM

                              W 1 Reply Last reply Reply Quote 0
                              • W
                                WolfgangFB @Homoran last edited by

                                @homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                auf die Registernummern

                                di stehen in der Bedienungsanleitung des SDM

                                Dummerweise stehen die da nicht. Da steht nur, wie man die Adresse, Parität etc. ändern kann, mehr leider nicht.

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @WolfgangFB last edited by

                                  @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                  Dummerweise stehen die da nicht.

                                  doch!
                                  https://stromzähler.eu/media/pdf/0e/ca/1d/SDM230-Modbus.pdf

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    WolfgangFB @Homoran last edited by

                                    @homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                    @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                    Dummerweise stehen die da nicht.

                                    doch!
                                    https://stromzähler.eu/media/pdf/0e/ca/1d/SDM230-Modbus.pdf

                                    Ooooh, danke, damit werde ich es später probieren. Beim Zähler selbst ist nur ein ca. Din-A3 Blatt großes gefaltetes "User Manual V1.8" dabei.

                                    Auf Seite 20 des Manuals V1.4 sehe ich, dass man wohl mehrere Modbus Geräte in Reihe schalten kann.
                                    Beim Modbus Adapter kann man zwar "mehrere Geräte IDs" aktivieren, aber unter "Allgemein" "Geräte ID" kann ich nur eine ID angeben. Wie gebe ich da mehrere Geräte ein?
                                    Beim SDM230 kann man ja die seriellen Parameter wie Baudrate, Parität ändern sowie die ID ändern. Beim DDM180 (falls ich für den auch so eine Anleitung finde) scheinen diese Parameter fest vorgegeben zu sein (jedenfalls gibt es keinen Knopf auf dem Zähler wo ich etwas ändern kann und beim Einschalten steht "Add 013" was wohl die Adresse ist).
                                    Ich vermute mal, dass man keine zwei Geräte zusammenschalten kann, die entweder (fest) die gleiche Adresse haben oder (fest) unterschiedliche seriellen Parameter haben.

                                    Homoran 2 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @WolfgangFB last edited by

                                      @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                      dass man wohl mehrere Modbus Geräte in Reihe schalten kann.
                                      Beim Modbus Adapter kann man zwar "mehrere Geräte IDs" aktivieren, aber unter "Allgemein" "Geräte ID" kann ich nur eine ID angeben. Wie gebe ich da mehrere Geräte ein?

                                      nicht in Reihe!!!
                                      die müssen parallel geschaltet werden. Ist ja ein Bus.

                                      wenn du mehrere IDs aktivierst erscheint eine Spalte ID

                                      Die Geräte müssen aber vor der Anbindung an den Bus richtig konfiguriert sein.

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @WolfgangFB last edited by

                                        @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                        falls ich für den auch so eine Anleitung finde

                                        finden setzt Suchen voraus!

                                        @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                        Beim DDM180

                                        den finde ich gar nicht.

                                        @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                        scheinen diese Parameter fest vorgegeben zu sein

                                        mag sein, dürfte der Nummer nach auch extrem lowcost sein.

                                        Dann müssen alle anderen im Bus auf die selben Übertragungsparameter eingestellt werden

                                        W 1 Reply Last reply Reply Quote 0
                                        • W
                                          WolfgangFB @Homoran last edited by

                                          @homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                          @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                          falls ich für den auch so eine Anleitung finde

                                          finden setzt Suchen voraus!

                                          Ich habe gesucht.
                                          Gefunden habe ich bisher folgendes:
                                          https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/noname-ddm18sd-mmd18sd.htm

                                          Da weiß ich aber noch nicht wie ich aus dem Modbus Offset auf die Adressen komme.

                                          https://www.re-innovation.co.uk/docs/talking-to-a-ddm18sd-energy-meter/

                                          Da scheint es jemand geschafft zu haben, wie die Adressen lautet sehe ich darin aber auch nicht.

                                          In
                                          https://github.com/re-innovation/DDM_Energy_Meter

                                          fangen die Adressen auch bei 0 an.

                                          https://github.com/digimp/DDM18SD

                                          hat etwas mit Tasmota gemacht.

                                          https://registry.platformio.org/libraries/reaper7/SDM

                                          Macht das auch irgendwie ohne diese Adressen.

                                          Aber auf
                                          https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/eastron-sdm230.htm

                                          Finde ich auch die Adressen des 230 als Offset und hier kenne ich ja die Absolutadressen.
                                          Der Strom des 230 ist ja 30007 und als 2Offset" wird 6 angegeben. Beim DDM118 ist der Offset für den Strom 8, kann ich dann einfah daon ausgehen, dass die Adresse dann 30009 ist?

                                          Bei einigen anderen Zählern habe ich noch Low und High Adressen gefunden. Kann man die in "Gesamtadressen" umrechnen?

                                          Homoran 2 Replies Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @WolfgangFB last edited by Homoran

                                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                            Beim DDM118

                                            ist das der vorhin als

                                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                            DDM180

                                            bezeichnete, den ich nirgends finden konnte?

                                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                            Da weiß ich aber noch nicht wie ich aus dem Modbus Offset auf die Adressen komme.

                                            was ist das jetzt?
                                            Wo hast du Offset her?
                                            Wie willst du alleine aus einem Offset eine Adresse erraten?

                                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                            fangen die Adressen auch bei 0 an.

                                            wäre möglich. muss aber nicht

                                            üblich für Inputregister
                                            Adresse 1 offset 30001 -> 30002
                                            das kann aber auch +/- 1 sein

                                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                            Der Strom des 230 ist ja 30007 und als 2Offset" wird 6 angegeben

                                            wo steht das denn?

                                            @wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:

                                            Kann man die in "Gesamtadressen" umrechnen?

                                            gib einfach die Adressen aus der Liste ein und gut ist

                                            EDIT:
                                            Das hier sind jetzt dreiphasige Zähler
                                            Screenshot_20230619-175039_Firefox.jpg

                                            1 ist SDM630 und 2 ist SDM72

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            805
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            39
                                            2721
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo