Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Modbus - Erste Schritte

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Modbus - Erste Schritte

Scheduled Pinned Locked Moved ioBroker Allgemein
159 Posts 17 Posters 38.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tschombe
    wrote on last edited by
    #41

    http://www.chipkin.com/how-real-floatin … -messages/

    Ja das mit dem Little/BigEndian und Byte / Word Swap ist bei modbus etwas frickelig.

    Da können in der freien Wildbahn alle möglichen Configurationen bei Devices vorkommen 😞

    Bin ich froh das meine Lüftung nur 16 Bit Werte als Integer verarbeitet 😉

    1 Reply Last reply
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      wrote on last edited by
      #42

      @tschombe:

      http://www.chipkin.com/how-real-floatin … -messages/

      Ja das mit dem Little/BigEndian und Byte / Word Swap ist bei modbus etwas frickelig.

      Da können in der freien Wildbahn alle möglichen Configurationen bei Devices vorkommen 😞

      Bin ich froh das meine Lüftung nur 16 Bit Werte als Integer verarbeitet 😉 `
      Super. Danke. Habe implementiert.

      1 Reply Last reply
      0
      • N Offline
        N Offline
        NightWatcher
        wrote on last edited by
        #43

        Float (Big Endian Word Swap) funktioniert nun auf 13288

        Die anderen Adressen sehen auch sehr gut aus. Habe das mal direkt geändert. Und protokolliere das nun mal in der mysql.

        Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

        1 Reply Last reply
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          wrote on last edited by
          #44

          Damit kann ich sagen, dass die Entwicklung von modbus abgeschlossen ist.

          Er kann Modbus TCP, RTU und RTU over TCP,

          er kann BigEndian, LittleEndian, ByteSwap und WordSwap.

          Man muss nur Adressierung mit Aliases noch checken.

          1 Reply Last reply
          0
          • N Offline
            N Offline
            NightWatcher
            wrote on last edited by
            #45

            Ich vermute noch nen kleines Problem beim Schreiben einer Variable des Typs Byte von ioBroker zur Wago.

            Lesen geht ohne Probleme, aber beim schreiben macht er Blödsinn.

            Ich gebe 1 in ioBroker ein und er setzt sich selbst auf 256. in der SPS bleibt es 0 (weil > 255 nicht geht)

            Ich gebe 10 ein, er macht 2560.

            Gehe ich noch mal in das Feld in ioBroker und klicke die 2560 an und verlasse das Feld wieder, steht 10 drinnen und wird auch korrekt zur SPS übertragen.

            Wo habe ich da nen Denkfehler?!

            Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

            1 Reply Last reply
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              wrote on last edited by
              #46

              @NightWatcher:

              Ich vermute noch nen kleines Problem beim Schreiben einer Variable des Typs Byte von ioBroker zur Wago.

              Lesen geht ohne Probleme, aber beim schreiben macht er Blödsinn.

              Ich gebe 1 in ioBroker ein und er setzt sich selbst auf 256. in der SPS bleibt es 0 (weil > 255 nicht geht)

              Ich gebe 10 ein, er macht 2560.

              Gehe ich noch mal in das Feld in ioBroker und klicke die 2560 an und verlasse das Feld wieder, steht 10 drinnen und wird auch korrekt zur SPS übertragen.

              Wo habe ich da nen Denkfehler?! `
              Welches Typ hast du eingestellt? Registertyp? Variablentyp?

              1 Reply Last reply
              0
              • N Offline
                N Offline
                NightWatcher
                wrote on last edited by
                #47

                Ich habe es sowohl bei den Eingangsregistern, als auch Holdingregistern mit den Typen Signed/Unsigned 16 Bit (Big & Little) getestet.

                Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                1 Reply Last reply
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  wrote on last edited by
                  #48

                  @NightWatcher:

                  Ich habe es sowohl bei den Eingangsregistern, als auch Holdingregistern mit den Typen Signed/Unsigned 16 Bit (Big & Little) getestet. `
                  Bitte um Wireshark 🙂

                  1 Reply Last reply
                  0
                  • N Offline
                    N Offline
                    NightWatcher
                    wrote on last edited by
                    #49

                    Langsam simmer ja geübt ;.)

                    ich habe den Wert 30 an der Adresse 12342 über ioBroker abgesetzt.
                    1534_image_1.png

                    Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                    1 Reply Last reply
                    0
                    • BluefoxB Offline
                      BluefoxB Offline
                      Bluefox
                      wrote on last edited by
                      #50

                      @NightWatcher:

                      Langsam simmer ja geübt ;.)

                      ich habe den Wert 30 an der Adresse 12342 über ioBroker abgesetzt. `
                      Das sieht verdammt richtig aus.

                      Und wie sieht es aus mit Little endian 16?

                      1 Reply Last reply
                      0
                      • N Offline
                        N Offline
                        NightWatcher
                        wrote on last edited by
                        #51

                        Habe ich ja unter anderem auch getestet.

                        Komisch ist eben das o.g. Verhalten.

                        Ich habe gerade noch mal was getestet und per Wireshark aufgezeichnet.

                        Bild 1 geht nicht (eingegeben 255) , Bild 2 geht (eingegeben 23070).

                        Ankommen soll 255 in der Wago (bei zweitem kommt es auch als 255 an)

                        EDIT: Wenn ich das Gerade so sehe, ist das Problem bei allen Registern. DWORDs z.B. kann nur auf gleiche Art und Weise überschreiben.
                        1534_bild001.png
                        1534_bild002.png

                        Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                        1 Reply Last reply
                        0
                        • BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          wrote on last edited by
                          #52

                          Komisch, dass die Adresse 12343 ist.

                          Bei mir geht es. 😞
                          48_2016-10-19_21_44_00-iobroker.admin.png

                          1 Reply Last reply
                          0
                          • N Offline
                            N Offline
                            NightWatcher
                            wrote on last edited by
                            #53

                            In dem Fall habe ich es auch auf 12343 getestet, da ich sonst meiner Lebensgefährtin im Wohnzimmer das Licht ausgemacht hätte :mrgreen:

                            Die Adresse stimmt, der Wert nur nicht. Evtl. erwartet hier die Wago wieder was anderes. Vielleicht ähnlich wie mit den anderen SWAP Typen, die du neu angelegt hast?

                            Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                            1 Reply Last reply
                            0
                            • BluefoxB Offline
                              BluefoxB Offline
                              Bluefox
                              wrote on last edited by
                              #54

                              @NightWatcher:

                              In dem Fall habe ich es auch auf 12343 getestet, da ich sonst meiner Lebensgefährtin im Wohnzimmer das Licht ausgemacht hätte :mrgreen:

                              Die Adresse stimmt, der Wert nur nicht. Evtl. erwartet hier die Wago wieder was anderes. Vielleicht ähnlich wie mit den anderen SWAP Typen, die du neu angelegt hast? `
                              Swap bei int16 gibt es nicht. Nur big oder little endian.

                              Du musst schon die richtige Adresse nehmen 12342. Und dann vermutlich little endian.

                              Kannst du so eine aufzeichnen?

                              1 Reply Last reply
                              0
                              • N Offline
                                N Offline
                                NightWatcher
                                wrote on last edited by
                                #55

                                Die Adresse ist doch egal?! Es ist bei allen Adressen das gleiche Problem.

                                Aber hier für die Adresse 12342
                                1534_bild_001.png
                                1534_bild_002.png

                                Ich gebe 30 in ioBroker ein, er macht daraus 7680. In der Wago kommt 0 an (bzw. ein Wert > 255)
                                1534_bild_003.png

                                Ich klicke noch mal auf 7680 und klicke woanders hin, sodass der Wert wieder gesendet wird, 30 kommt bei der Wago an.
                                1534_bild_005.png

                                Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                1 Reply Last reply
                                0
                                • T Offline
                                  T Offline
                                  tschombe
                                  wrote on last edited by
                                  #56

                                  Sieht aus als ob die Bytes geswappt sind:

                                  1E00 = 7680

                                  001E = 30

                                  Wago interpretiert aber

                                  1E00 = 30

                                  001E = 7680

                                  Du schickst: 001E an Wago,

                                  Wago empfängt die 001E und da du ein BYTE definiert hast nimmt Wago nur die 00, es steht aber tatsächlich 001E

                                  in der Wago drin, d.h. wenn iobroker beim nächsten Poll den Wert liest, bekommt er die 7680 zurückgeliefert,

                                  somit kriegst du dann die 7680 angezeigt.

                                  Jetzt schickst du nochmal, und zwar die 7680 (1E00), die kommt bei der Wago an, wird als 1E00 gespeichert,

                                  Wago interpretiert das erst BYTE und du hast 30.

                                  Beim nächsten Pollen liefert dann die Wago die 30 zurück und die bekommst du dann angezeigt…

                                  Hast du mit BigEndian probiert? Geht es damit

                                  1 Reply Last reply
                                  0
                                  • N Offline
                                    N Offline
                                    NightWatcher
                                    wrote on last edited by
                                    #57

                                    Jepp, habe ich, siehe:

                                    @NightWatcher:

                                    Ich habe es sowohl bei den Eingangsregistern, als auch Holdingregistern mit den Typen Signed/Unsigned 16 Bit (Big & Little) getestet. `

                                    Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                    1 Reply Last reply
                                    0
                                    • T Offline
                                      T Offline
                                      tschombe
                                      wrote on last edited by
                                      #58

                                      Kannst du auf der "Wago" Seite die Adresse mit einem Projektierungstool einsehen und da

                                      evtl den Typ dynamisch ändern? Also z.B. von Byte auf Word? Wie werden denn dann die Werte angezeigt?

                                      Sorry, kenne Wago nicht im Detail, sind alles nur Vermutungen…

                                      1 Reply Last reply
                                      0
                                      • N Offline
                                        N Offline
                                        NightWatcher
                                        wrote on last edited by
                                        #59

                                        Ja ich kann mit Codesys die Wago entsprechend programmieren.

                                        Ich kann leider nur die Adresse nicht ändern, da danndie Typen nicht stimmen und auf die Adresse noch andere Variablen mit dem Typ drauf zugreifen.

                                        Aber ich könnte ja eine Word Adresse der Wage nehmen und in ioBroker als Byte (16Bit Little Endian) definieren und wieder versuchen?! Müsste dem Ergebnis doch gleich kommen.

                                        Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                        1 Reply Last reply
                                        0
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          wrote on last edited by
                                          #60

                                          @tschombe:

                                          Sieht aus als ob die Bytes geswappt sind:

                                          1E00 = 7680

                                          001E = 30

                                          Wago interpretiert aber

                                          1E00 = 30

                                          001E = 7680

                                          Du schickst: 001E an Wago,

                                          Wago empfängt die 001E und da du ein BYTE definiert hast nimmt Wago nur die 00, es steht aber tatsächlich 001E

                                          in der Wago drin, d.h. wenn iobroker beim nächsten Poll den Wert liest, bekommt er die 7680 zurückgeliefert,

                                          somit kriegst du dann die 7680 angezeigt.

                                          Jetzt schickst du nochmal, und zwar die 7680 (1E00), die kommt bei der Wago an, wird als 1E00 gespeichert,

                                          Wago interpretiert das erst BYTE und du hast 30.

                                          Beim nächsten Pollen liefert dann die Wago die 30 zurück und die bekommst du dann angezeigt…

                                          Hast du mit BigEndian probiert? Geht es damit `
                                          Es sieht nach ein Fehler bei Iob im Adapter. Weil wenn er LE eingestellt hat und 30 sendet, Es darf im wireshark kein 001E auftauchen, sondern 1E00

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          503

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe