Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Modbus Relais mit Modbus Adapter - aber wie?

    NEWS

    • js-controller 3.2 jetzt im STABLE!

    • Alexa2 Adapter: ACHTUNG UPDATE auf 3.7.x nötig!!

    • ioBroker Fertigimages für Einplatinencomputer eingestellt

    Modbus Relais mit Modbus Adapter - aber wie?

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kanonidom last edited by kanonidom

      Re: Frage zu Modbus

      Hallo zusammen,
      ich habe hier schon die Suche bemüht, allerdings bin ich blöd oder stehe auf dem Schlauch:

      Habe ein 16-Kanal Relais mit Modbus-unterstützung gekauft. In freudiger Erwartung, es über ioBroker und den Modbus-Adapter steuern zu können.
      Der Hersteller hat mir auch eine ausführliche Doku mitgeliefert, hier ein kleiner Auszug:

      9600 Baud ,8N1
      Slave ID: 1
      
      Beispiele:
      Channel 1 Open :  01 06 00 01 01 00 D9 9A
      Channel 1 Close : 01 06 00 01 02 00 D9 6A
      Channel 1 Toggle: 01 06 00 01 03 00 D8 FA
      Channel 1 Latch:  01 06 00 01 04 00 DA CA
      
      Channel 2 Open :  01 06 00 02 01 00 29 9A
      Channel 2 Close : 01 06 00 02 02 00 29 6A
      Channel 2 Toggle :01 06 00 02 03 00 28 FA
      Channel 2 Latch : 01 06 00 02 04 00 2A CA
      
      ...
      

      Die Logik von Modbus bzw. wie die Befehle für das Relais aufgebaut sind erschließen sich mir schon.
      Byte 1: Addresse (Slave ID)
      Byte 2: "Typ" (06 für Command?)
      Byte 3&4: Register-Adresse
      Byte 5: Kommando (01=öffnen, 02=schließen, ...)
      Byte 6: Delay
      Byte 7&8: CRC Checksum

      Nur:
      Wo soll ich das im Modbus-Adapter eintragen?
      Diskrete Ausgänge? Holding Register?
      Als Adresse einfach die 1?
      Und wie schalte ich dann die Relais?

      bitte einmal für Dumme 😞

      Danke vielmals vorab!

      K 1 Reply Last reply Reply Quote 0
      • K
        kanonidom @kanonidom last edited by

        also, ich habe vieles probiert, vieles gelesen.
        ich bekomme das Relais auch über das Tool "ModbusPoll" angesprochen (über Windows PC und meinen RS485-to-USB Adapter).

        Aber ich kann der Doku des Adapters im github leider wirklich nicht die notwendige Info entnehmen, wo/wie die Steuerbefehle im Adapter eingetragen werden müssten.

        @Bluefox, kannst Du mir vielleicht hier einfach einen Schubs in die richtige Richtung geben?
        Oder gibt es jemanden, der ebenfalls ein Relais über den Adapter steuert und einen Screenshot machen könnte.
        Ich glaube, viel mehr brauch ich nicht..

        Danke!

        K 1 Reply Last reply Reply Quote 0
        • K
          kanonidom @kanonidom last edited by

          Hier habe ich mal die Doku hochgeladen, die vom Verkäufer mitgeleifert wurde.
          Mitsamt Video, wie er das über "Modbus Poll" steuert. genau so habe ich es auch zum Laufen gebracht.
          Aber - wie gesagt - ich habe immer noch keinen blassen Schimmer, wie ich die Steuerbefehle in den Adapter eintragen soll 😞

          https://www.dropbox.com/sh/mx7wn5hpnwfv940/AABeftE_QS4KWlnBJV-2_nAza?dl=0

          TheBam 1 Reply Last reply Reply Quote 0
          • H
            Henning 0 last edited by Henning 0

            habe mal meinen Müll lieber gelöscht bevor er jemanden verwirrt 🙂

            1 Reply Last reply Reply Quote 0
            • TheBam
              TheBam @kanonidom last edited by

              @kanonidom

              Also diese Platine habe ich jetzt nicht aber habe schon viel mit Modbus rum gebastelt.
              Bei dem Adapter ist es wichtig die richtige adresse zu haben wenn es die falsche ist wird der rot und geht danach nur noch mit neustart wieder. Leider muss man die genaue adresse haben das ist aber etwas modbus Spezifiches. Was sich da zusammen setzt gerade bei serial sehr tricki.
              Ich würde es über die Holding register versuchen. Es kann sein das die platine mit einer Deziaml zahl arbeitet sprich. 1= eingang 1, 2=eingang 2, 3=eingang 1 und 2 geschaltet, usw. dafür habe ich mal ein script gebaut um das umzurechnen. Byte-rechner.json nach dem was ich in der anleitung überflogen habe könnte das so passen. Also über ein Holdin register und den den rest mit der ganzzahl.

              1 Reply Last reply Reply Quote 1
              • H
                Henning 0 last edited by Henning 0

                @thabam Hallo ThaBam, es hat funktioniert. Nachdem ich die Adressen 40001- 400018 als State angelegt habe, wurden einige Werte angezeigt. Viele sind auf 0 aber der wichtigste war dabei. Bei meinem Teil wird im Register 40002 addiert:
                Relais 1 on= 1
                Relais 2 on=2
                Relais 3 on= 4
                Relais 1+3 on, 2 off = 5

                Dummerweise kann aber nur der Status abgefragt werden. Versucht man zu schreiben, kommt die Fehlermeldung "(16900) Cannot write [1]: {"err":"timeout","timeout":5000}". In den Einstellungen auf "Do not use Write multiple Registers" kann zwar angeklickt werden, ist aber nach dem Abspeichern und erneuten Aufrufen wieder weg. Der Tip aus link text hat auch nicht funktioniert.

                Vielen Dank für die Hilfe, so hatte ich wenigstens ein Erfolgserlebnis mit Modbus. Du schreibst, du hast schon viel damit rumgebastelt. Läuft bei dir etwas mit Modbus oder war es zu instabil o.ä.?

                Bildschirmfoto von 2021-04-10 19-37-58.png
                [0_1618077144263_Bildschirmfoto von 2021-04-10 19-37-58.png](Uploading 100%)

                TheBam 1 Reply Last reply Reply Quote 0
                • TheBam
                  TheBam @Henning 0 last edited by

                  @henning-0

                  Das klingt doch schon mal gut und wäre ein Ansatz für das Schreiben auch hin zu bekommen ich kann nachher evtl. Noch mal schauen ob ich was finde.

                  Ja bei mir läuft modbus. Ich kommuniziere mit einer easy von eaton. Hatte da die gleichen Probleme weil die Register usw. Nicht wirklich gut beschrieben sind. Und diese ja weit aus mehr zu Verfügung stellt.
                  Wollte auch immer mal mit Serien was machen und mit einem Frequenzumrichter über modbus kommunizieren aber dafür fehlte mir bisher die Zeit.
                  (Übrigens selbst der eaton Support wusste erst nicht wie man das macht)

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Henning 0 @TheBam last edited by Henning 0

                    @thabam Hej, ich habe es geschafft. Es funktioniert. Man sollte manchmal auch einen Schritt weiterdenken. Wenn der Entwickler 18 Register für acht Relais vorsieht aber nur in vier davon Werte vorhanden sind, sollte man sich fragen, wofür die anderen da sind.
                    Wenn man dann noch in die Anleitung schaut und sich die HEX- Adressen ansieht, dann darüber nachdenkt, was man in den letzten Tagen über Modbus etc. gelernt hat (hatte noch nie damit zu tun), haut man mit dem Kopf auf den Tisch und das mehrmals.
                    Ich denke, es wird für das Board von Kanonidom ähnlich sein. Für meins funktioniert es so:

                    • als erstes die Holdingregister 40001- 40018 anlegen
                      40001 = Anzahl der Relais auf dem Board (bei mir acht Stück)
                      40002 = Status der Relais (nur read)
                      40003 = Eingabe des Dezimalcodes zur Steuerung der Relais (write)

                    Staus wird berechnet durch Addition der Werte

                    Relais 1= 1
                    Relais 2= 2
                    Relais 3= 4
                    Relais 4= 8
                    usw.

                    Wenn z.B. Relais 1 und 4 on sind, steht dort eine 9

                    Relais schalten: (Register 4003)

                    9ff591fc-f736-4902-b90d-36f25d0ebe97-grafik.png

                    Eigentlich ganz einfach wenn man es weiß 🙂
                    Dies sind die Werte für das 8CH Dingtian IoT Relay. Multi- Register- Werte dürften dann in dem folgenden Register eingetragen werden, da muss ich noch schauen.

                    Vielen Dank für die Unterstützung, jetzt kommt der Versuch, mit einem zweiten Teil als Slave.

                    Viele Grüße

                    Henning
                    Bildschirmfoto von 2021-04-11 15-28-08.png
                    Bildschirmfoto von 2021-04-11 15-29-53.png

                    wendy2702 TheBam 2 Replies Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 @Henning 0 last edited by

                      @henning-0 Danke für das Teilen der Information.

                      Ist das eine Serielle Modbus Karte?

                      Hast du mal einen Link und/oder weisst du ob es die auch als TCP/IP Variante gibt?

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        Henning 0 @wendy2702 last edited by

                        @wendy2702 Hallo Wendy. man sucht ja selbst immer alle möglichen Infos und freut sich, wenn diese jemand zur Verfügung gestellt hat 🙂
                        Ich habe dafür einen USB- RS485 Konverter vom Händler unseres Vertrauens benutzt AliexpressIndustrie Grade USB zu RS485 Kommunikation Modul Konverter Serial Port Linie Konverter TVS Schutz C90D

                        Da man seriell im IOBroker nur ein Modbus- Client ansprechen kann (soweit ich gelesen habe), versuche ich es jetzt mit einer TCP- Variante (Elfin-EW11), bis jetzt aber erfolglos.

                        Das Relaisboard selbst ist sehr flexibel und eigentlich braucht man gar kein Modbus. Die kann so ungefähr fast alles. (Modbus MQTT TCP UDP Web HTTP Zeitplan Aufgabe CAN- Bus RS485 CoAP) inkl. Wifi auf Wunsch. MQTT lief auch sofort, den Rest habe ich, bis auf Modbus, noch nicht getestet. Ethernet Relais Netzwerk Wifi Schalter Modbus MQTT TCP UDP Web HTTP Zeitplan Aufgabe KANN RS485 CoAP Domoticz Timer Modul

                        wendy2702 1 Reply Last reply Reply Quote 0
                        • wendy2702
                          wendy2702 @Henning 0 last edited by

                          @henning-0 Danke für die Info.

                          1 Reply Last reply Reply Quote 0
                          • TheBam
                            TheBam @Henning 0 last edited by

                            @henning-0

                            Das ist doch super das es jetzt geklappt hat. Manchmal muss man einfach so lange probieren bis man es hat.
                            Kannst du denn den byte-rechner von mir gebrauchen dafür?

                            1 Reply Last reply Reply Quote 0
                            • H
                              Henning 0 last edited by

                              @thabam Manchmal benötigt man beim probieren einfach den Schups in die richtige Richtung. Mit dem Byte- Rechner habe ich mich noch nicht auseinandergesetzt, kopiert habe ich ihn natürlich schon 😉

                              Dafür bin ich jetzt übermütig geworden und habe das zweite Board via Modbus hinter das erste geklemmt, die Einstellungen bei den Geräten geändert und siehe da, es funktioniert über die serielle Anbindung. Beide Geräte können mit dem Modbus- Adapter über den USB- RS485- Adapter angesprochen und gesteuert werden. Jetzt warte ich noch auf die Post für die nächsten Geräte (sollen vier Stück werden) und starte gleich mal die Bestellung für irgendwelche anderen Dinge (Temperaturfühler usw.). Getestet habe ich natürlich ohne Netzwerkverbindung zu den beiden Releaisboards

                              Jetzt noch den Byterechner und die Multiregister testen.

                              Hier sind meine Einstellungen für den Mehrgerätebetrieb:

                              Bildschirmfoto von 2021-04-12 09-53-19.png Bildschirmfoto von 2021-04-12 09-53-26.png Bildschirmfoto von 2021-04-12 09-53-38.png Bildschirmfoto von 2021-04-12 09-56-11.png Bildschirmfoto von 2021-04-12 09-56-29.png

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              1.5k
                              Online

                              38.7k
                              Users

                              44.1k
                              Topics

                              617.0k
                              Posts

                              modbus modbus-adapter relais
                              4
                              13
                              193
                              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-2021
                              logo