Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Modbus: Verbindung zu Codesys-Runtime herstellen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Modbus: Verbindung zu Codesys-Runtime herstellen

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

      nAbend,
      hat jemand von Euch eine funktionierende Konfi mit einem ioB-Pi/PC und einer Codesys for Raspi SL oder Codesys-PFC am laufen?
      Mein ioB ist per Modbus-Adapter Slave und soll mal ein paar Bools zum Codesys-Pi rüberbussen.

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

        @minkhx

        weitere Informationen dazu siehe hier:
        https://forum.iobroker.net/post/1274992

        M 1 Reply Last reply Reply Quote 0
        • M
          minkhx @Homoran last edited by

          @homoran Dieser Thread ist etwas off--topic, da es ja nur um den Samsung-Adapter ging und die Einbindung in den Modbus unter der Annahme, dass die Instanzobjkete des Samsungs systemweit verfügbar seien, da ioB ja eventbasiert ist.
          In diesem Thread geht es konkret um ioB+Codesys auf jeweils unterschiedlichen Geräten verbunden über Modbus-TCP.
          Ich vertrau mal auf die rund 900 Foren-Nutzer, dass jemand eine ähnliche Konfi hat oder sich damit wirklich auskennt:)

          P 1 Reply Last reply Reply Quote 0
          • P
            peterfido @minkhx last edited by

            @minkhx

            Modbus kenne ich als Bus (mit Geräteadressen) und als Punkt zu Punkt Verbindung. Beides nutze ich. Bei beiden ist der Node-Red-Adapter bei mir der Host /Master. Bei beiden frage ich zyklisch Werte ab, welche ich nach einer kleinen Pause, die die Clienten / Slaves zur Aufbereitung der Daten brauchen, auch bekomme. Was nicht angefordert wird, wird auch nicht gesendet. Node-Red nutze ich, da ich dort besser die Eigenarten der einzelnen Clienten / Slaves berücksichtigen kann.

            Codesys selbst nutze ich nicht. Wäre aber auch nicht das Mittel meiner Wahl, wenn sich zwei Zentralen unterhalten sollen. Da nehme ich aktuell, je nach Anwendungsfall, mqtt / simple-api / einen Webserver unter Node-Red.

            Wenn der Raspi weiter weg steht, würde ich da evtl. eine zweite ioBroker Installation [vielleicht als Slave] nutzen. Der kann dann auch mit Modbus-Geräten sprechen.

            M 1 Reply Last reply Reply Quote 1
            • M
              minkhx @peterfido last edited by

              @peterfido OK, danke für Deine Erläuterungen.
              Modbus ist Einfach, schnell und deterministisch.
              MQTT bietet keine Client/Server Architektur. Daher kommt es für mich nicht in Frage. Es benötigt immer einen broker.
              Für weit verstreute ioTs in unzuverlässigen Netzwerke hat es seine Berechtigung.
              Ich will mehr in die Richtung Heimautomation.

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

                @minkhx das ist spannend, ist doch Modbus eher ein Protokoll aus dem Industrie Bereich und MQTT eher bei Heimautomation zu finden.

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

                  @wendy2702 Dann sagen wir eben Gebäudeautomation. Das ist die Mutter der Dinge. Heimautomation ist nur ein, aus meiner Sicht, wildwuchernder Ableger.
                  Ich sag nur TUYA lol.

                  mcm1957 1 Reply Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @minkhx last edited by mcm1957

                    @peterfido

                    Danke wenn du Zeit und Lust hast hier zu unterstützen. Bitte beachte den leider parallel existierenden Thread https://forum.iobroker.net/post/1274992 bei dem bisher nicht wirklich klar ist was das finale Ziel der Aktion sein soll. Ev. wär es besser mal alles in EINEM Topic zu besprechen.

                    @minkhx
                    Was ist dein FINALES Ziel?
                    Eine Steuerung für deine Wohnung / Haus?
                    Eine kommerzielle Lösung für eine Anlagensteuerung?
                    Eine Heizungszentrale?
                    ...

                    Codesys ist ja eher eine Software für kommerzielle / professionelle Sysetmumgebungen. Oder seh ich das falsch?

                    @Homoran
                    Sollte man die beiden Topics zusammenlegen / mergen ?
                    Oder hier schließen und auf den anderen Topic verweisen ?
                    Wenn nicht ists auch OK - Querverweise kann man ja immer setzen 🙂

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      minkhx @mcm1957 last edited by

                      @mcm1957 Es sind zwei unterschiedliche Themenbereiche aus meiner Sicht.
                      Das habe ich eingangs erläutert:

                      1. Interfunktionalität der Adapter
                      2. interdisziplinäre Modbus-TCP Kommunikation.
                      mcm1957 1 Reply Last reply Reply Quote 0
                      • mcm1957
                        mcm1957 @minkhx last edited by

                        @minkhx
                        Was ist dein FINALES Ziel?
                        Eine Steuerung für deine Wohnung / Haus?
                        Eine kommerzielle Lösung für eine Anlagensteuerung?
                        Eine Heizungszentrale?
                        ...

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          minkhx @mcm1957 last edited by

                          @mcm1957
                          Zieldefinition:
                          Interfunktionalität der Adapter
                          interdisziplinäre Modbus-TCP Kommunikation.

                          mcm1957 1 Reply Last reply Reply Quote -1
                          • mcm1957
                            mcm1957 @minkhx last edited by

                            @minkhx said in Modbus: Verbindung zu Codesys-Runtime herstellen:

                            @mcm1957
                            Zieldefinition:
                            Interfunktionalität der Adapter
                            interdisziplinäre Modbus-TCP Kommunikation.

                            Meinst du das jetzt ernst als Antwort?

                            Dann beantworten wir zumindest mal deinen ersten Punkt damit der abgeschlossen ist:

                            ioBroker Adapter kommunizieren mit ihren Geräten und stellen die Informationen der Geräte in States zur Verfügung. Geräte-Adapter kommunizieren nur in Ausnahmefällen direkt miteinander. Die Kommunikation zwischen den Adaptern wird meist via Java-script, Blockly oder Rules hergestellt. Jeder Adapter verändert im allgemeinen nur seine eigenen States.

                            Bitte beantworte doch mal die Frage was das Ziel deiner Arbeit und der Beschäftigung von Helfern hier sein soll:

                            • Was willst du am Ende erreichen?
                            • Welche praktische Anwendung möchstest du umsetzen?
                            • Adapterkommunikation nur um der Kommunikation willen?
                            • Wenn deine LED am Codesys-PI vom Fernseher steuerbar ist ist das das finale Ziel?

                            Du drückst dich um klare Antworten.

                            Wenn du bei HA ebenso kryptische und halbherzige Antworten gegeben hast wundert es mich nicht, dass du dort auf wenig Gegenliebe gestoßen bist. Du arbeitest ehrlich gesagt auch hier dran 🙂

                            M 1 Reply Last reply Reply Quote 1
                            • M
                              minkhx @mcm1957 last edited by

                              @mcm1957
                              Das Ziel ist, wie in der Definition angegeben. Es sind die formulierten Teilprobleme.
                              Struktur und Toplolgie stehen fest. Nur die praktische Umsetzung mit ioB ist ungefähr. Ich brauche wirklich keine Ratschläge, wie ich denn das sonst noch so irgendwie umsetzen könnte, auch wenn ich weiß, das diese Ratschläge wirklich sehr gut gemeint sind, glaub mir.

                              Ob es nun eine Heizung, ein Remote I/O oder sonstwas wird, ist nebensächlich. Nur der Fokus auf das Teilproblem ist entscheidend.
                              So macht man das in der Programmierung. Jeder arbeitet an seinem Modul. Die globale Variablendeklaration, wenn man so will, ist das, worum es hier geht (im aller entferntesten Sinne).

                              Auch in diesem Sinne ist der Hinweis auf das, wie ich es nenne "Middleware", Scripting entscheidend. Danke dafür. Das war ja eine schwere Geburt:)

                              Ich habe im HA-Forum gar keine Antworten gegeben. Ein kurzer Überblick reichte völlig aus, glaub mir. Sowohl Forum als auch Software. Allein die CLI ist ja wohl der Graus, oder?

                              Aber wir entfernen uns wieder vom Topic:

                              Wer hat eine lauffähige ioB-Codesys-Umgebung parat?
                              Dei ca. 800-900 aktiven usern wird wohl nicht heißen: Es kann nur einen geben! hihihi

                              wendy2702 mcm1957 P 3 Replies Last reply Reply Quote 0
                              • wendy2702
                                wendy2702 @minkhx last edited by

                                @minkhx hier gibt es einige Beiträge in denen Codesys zumindest mal erwähnt wird.

                                https://forum.iobroker.net/search?term=Codesys&in=posts&matchWords=all&sortBy=timestamp&sortDirection=desc&showAs=posts&page=10

                                Eventuell erwähnst du die entsprechenden User mit einem @ vor dem Usernamen. Wenn die noch aktiv sind erhalten die dann eine Nachricht.

                                1 Reply Last reply Reply Quote 2
                                • mcm1957
                                  mcm1957 @minkhx last edited by

                                  @minkhx said in Modbus: Verbindung zu Codesys-Runtime herstellen:

                                  Das Ziel ist, wie in der Definition angegeben. Es sind die formulierten Teilprobleme.

                                  Eben - das sind nur TEILprobleme.
                                  Ich habe nach dem GESAMT-Ziel gefragt,

                                  Keine Ahnung warum du dich da so streubst zu sagen 'Ich plane meine Heizung - oder was auch immer - so und so zu steuern.` Es wird ja wohl nicht um die Absicherung einer Bank gehenn wo eine Gehimhaltung verständlich wäre.

                                  Struktur und Toplolgie stehen fest. Nur die praktische Umsetzung mit ioB ist ungefähr. Ich brauche wirklich keine Ratschläge, wie ich denn das sonst noch so irgendwie umsetzen könnte, auch wenn ich weiß, das diese Ratschläge wirklich sehr gut gemeint sind, glaub mir.

                                  Mangels Infos wirszt du auch keine bekommen. Wahrscheinlich aber auch keine für die Teilprobleme...

                                  Ob es nun eine Heizung, ein Remote I/O oder sonstwas wird, ist nebensächlich. Nur der Fokus auf das Teilproblem ist entscheidend.

                                  Wenn du meinst ...

                                  So macht man das in der Programmierung. Jeder arbeitet an seinem Modul. Die globale Variablendeklaration, wenn man so will, ist das, worum es hier geht (im aller entferntesten Sinne).

                                  Danke für die Erklärung wie man programmiert. Dann brauchst du hier ja nicht weiter zu fragen. Wir progra mieren unsere Adapter - wie du die dann zusammenstöpselst ist dein Bier. Schau dir die Struktur von ioBroker an, insbesondere die Definitionen der Objekte und States. Das sind die "Variablen" in ioBroker. Und diese sind imemr alle global - zumindest solange niemand Zugriffsrechte setzt.

                                  Aber wir entfernen uns wieder vom Topic:
                                  Wer hat eine lauffähige ioB-Codesys-Umgebung parat?
                                  Dei ca. 800-900 aktiven usern wird wohl nicht heißen: Es kann nur einen geben! hihihi

                                  Bemühe die Suche im Forum und schau ob du andere Beiträge zu Codesys findest. Ist sicher keine typische Software im ioBROKER IOT Umfeld.

                                  1 Reply Last reply Reply Quote 1
                                  • P
                                    peterfido @minkhx last edited by peterfido

                                    @minkhx Codesys kostet meines Wissens nach Geld. Da fehlt mir und wohl den meisten "ioBrokern" die Notwendigkeit. Die Programmierung lässt sich halt auch kostenneutral durchführen.

                                    Mir scheint mit Codesys schießt man in der Heimautomation mit Kanonen auf Spatzen.

                                    Mir fehlt in dem Fall der konkrete Anwendungsfall. Sollen da nur ein paar Adressen / Register gelesen werden, um die Kommunikation zu testen, so fehlt mir die Erfahrung, den ioBroker als Slave einzusetzen.

                                    Du könntest da mal die Node-Red-Nodes nach Modbus Slave durchsuchen, und schauen, was sich damit machen lässt. Die Beschreibungen sind da meist sehr hilfreich. Der Pi müsste dann die Register beim ioBroker anfordern.

                                    Modbus Register sind 16 Bit breit. 1 Bit breit sind Coils oder Discrete Inputs. Um Bandbreite zu sparen würde ich immer ganze Register lesen und das entsprechende Bit maskieren.

                                    Mir fehlen da die Erfahrungen, einen Slave abzubilden und Codesys allgemein.

                                    Da Ethernet vorhanden ist, würde ich einfach ein alternatives Protokoll wählen. Meiner Erfahrung nach kann es trickreich werden, wenn sich unterschiedliche Geräte am Bus befinden. Einige brauchen länger als andere für die Antwort. Andere sorgen für Bitfehler, wenn man zu viele Register auf einmal abfragt. Da heißt es dann Pausen einprogrammieren und / oder Daten häppchenweise holen. Und manchmal muss man noch die Adresse übersetzen.

                                    Edit: Es hat wohl schon jemand geschafft, den Modbus Adapter als Slave zu betreiben. Klick

                                    M 3 Replies Last reply Reply Quote 1
                                    • M
                                      minkhx @peterfido last edited by

                                      @peterfido
                                      Danke Wendy für den link, und ich dachte, dass ich schon alle Threads aufgesogen hätte:)

                                      Es gibt keine spezifische Anwendung. Nur den "generischen Code", wenn man so will. Daraus lassen sich dann viele use-cases abbilden.
                                      Just a fucking com-test.
                                      Nennt es jugendlichen Leichtsinn, wenn ihr wollt;)

                                      Codesys ist wie ioB kostenlos. Wenn man mehr will, kosten beide Geld. ZB die Raspi-Runtime oder der vis-Adapter (<-Ich will mir nicht für jedes Gerät eine mail anlegen und die Lizenz erhaschen, ich kauf dann eben eine. Ist ja für nen guten Zweck)

                                      ioB als Adapter-Hotel bzw. Protokoll-Herberge bietet zus. auch stark individualisierbare Visus, aber es hätte auch ein anderes Forum erwischen können muahaha

                                      @peterfido
                                      Der ioB als Master kommt bei mir nicht zum Einsatz, da ich TCP verwende.
                                      Grundsätzlich erfordert eine derartige Konfi aber den Einsatz einer zus. Instanz je weiterem Gerät. Das scheint mir nicht sinnvoll. Wie ne Salve Postenschrot:)

                                      Ja, Node Red, ok. Lässt sich hier, wie bei Blockly, Quelltext einbauen bzw. Code statt Node? Man muss ja nicht alles grafisch lösen, ist vllt. dann auch etwas speichereffizienter und näher am Register. Hab keine Ahnung von JS, aber lässt sich da auch C++ oder asm einbauen? Dann könnte man viel leichter low-level code für den stack implementieren.

                                      Modbus Register sind so breit, wie ich sie anlege und benötige.
                                      Im ioB Modbus-Adapter kann ich hierfür ints, dounleints, reals usw. nutzen. Das ist gut.

                                      Bei vielen "verteilten" Geräte im Konzept, gebe ich Dir recht, ist man mit MQTT schlanker unterwegs. Funkt man nach außen, läßt sich leicht ein TLS oder ACLs implementieren. Auch die asynchrone Kommunikation usw. bla, bla, bla:)

                                      Ich strukturiere übergreifend dennoch mit Modbus TCP;)

                                      Das ist ja schon wieder alles off, man, man, man...

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        minkhx @peterfido last edited by

                                        @peterfido @peterfido
                                        Danke Wendy für den link, und ich dachte, dass ich schon alle Threads aufgesogen hätte:)

                                        Es gibt keine spezifische Anwendung. Nur den "generischen Code", wenn man so will. Daraus lassen sich dann viele use-cases abbilden.
                                        Just a fucking com-test.
                                        Nennt es jugendlichen Leichtsinn, wenn ihr wollt;)

                                        Codesys ist wie ioB kostenlos. Wenn man mehr will, kosten beide Geld. ZB die Raspi-Runtime oder der vis-Adapter (<-Ich will mir nicht für jedes Gerät eine mail anlegen und die Lizenz erhaschen, ich kauf dann eben eine. Ist ja für nen guten Zweck)

                                        ioB als Adapter-Hotel bzw. Protokoll-Herberge bietet zus. auch stark individualisierbare Visus, aber es hätte auch ein anderes Forum erwischen können muahaha

                                        @peterfido
                                        Der ioB als Master kommt bei mir nicht zum Einsatz, da ich TCP verwende.
                                        Grundsätzlich erfordert eine derartige Konfi aber den Einsatz einer zus. Instanz je weiterem Gerät. Das scheint mir nicht sinnvoll. Wie ne Salve Postenschrot:)

                                        Ja, Node Red, ok. Lässt sich hier, wie bei Blockly, Quelltext einbauen bzw. Code statt Node? Man muss ja nicht alles grafisch lösen, ist vllt. dann auch etwas speichereffizienter und näher am Register. Hab keine Ahnung von JS, aber lässt sich da auch C++ oder asm einbauen? Dann könnte man viel leichter low-level code für den stack implementieren.

                                        Modbus Register sind so breit, wie ich sie anlege und benötige.
                                        Im ioB Modbus-Adapter kann ich hierfür ints, dounleints, reals usw. nutzen. Das ist gut.

                                        Bei vielen Geräte im Konzept, gebe ich Dir recht, ist man mit MQTT schlanker unterwegs. Funkt man nach außen, läßt sich leicht ein TLS oder ACLs implementieren. Auch die asynchrone Kommunikation usw. bla, bla, bla:)

                                        Ich strukturiere übergreifend dennoch mit Modbus TCP;)

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          minkhx @peterfido last edited by

                                          This post is deleted!
                                          M 2 Replies Last reply Reply Quote 0
                                          • M
                                            minkhx @minkhx last edited by

                                            @minkhx Hmm, irgendwie ist das jetzt dreifach.? Zwei können definitiv gelöscht werden.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            932
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            37
                                            500
                                            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