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. [Adapter] Beckhoff ADS

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

[Adapter] Beckhoff ADS

Scheduled Pinned Locked Moved ioBroker Allgemein
beckhoff
241 Posts 39 Posters 53.5k Views 32 Watching
  • 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.SpoonerT T.Spooner

    hallo,
    ich versuche mich auch schon ne Weile am AliveBit.
    Mir ist aufgefallen, dass ne Verzögerung von manchmal über 1 Sekunde drin ist, ob Blocky oder Node-Red scheint egal zu sein.

    @ADS_0x1 hast Du mal ne Verzögerung vor das Antwortbit gesetzt:

    13016036-83d7-4745-8721-4c82109eac3c-grafik.png

    Ich habe es übrigens etwas anders gelöst:
    Ich setzt nach PLC-Start das PLCAliveBit, mit diesem setze verzögert (1s) in Blocky das Io-BrokerAliveBit und gleichzeitig das PLCAliveBit zurück.
    Wenn im PLC das Io-BrokerAliveBit kommt, setze ich wiederum verzögert (1s) das PLCAliveBit und das Io-BrokerAliveBit zurück.
    Und da kommt dann ein Timeout drüber...
    Das Timeout spricht sogar manchmal an, wenn ich die Zeiten auch 2s setze!!

    Gruß T.Spooner

    A Offline
    A Offline
    ADS_0x1
    wrote on last edited by ADS_0x1
    #98

    Hi @T-Spooner !

    Danke für deine Antwort. Ich habe das jetzt mal so umgebaut, wie du es gepostet hast. Und für einen "ALIVE"-Cycle funktioniert das ganze auch:

    Ich setze das Bit09 in der SPS, node-red spiegelt es (mit einem Delay von 5 s) auf das Bit10 der SPS, es kommt in der SPS an.
    Die SPS spiegelt sofort wieder das Bit10 invers auf das Bit09. Es kommt also ein "false" in node-red an. Node-red siegelt 1:1 auf das Bit10, das kommt in der SPS als false an. SPS spiegelt und setzt Bit9 wieder. Das Bit9 wird von node-red ausgelesen als TRUE und es wird 5 Sekunden später auf Bit 10 gespiegelt und ebenfalls auf TRUE gesetzt. Das kommt allerdings in der SPS nicht mehr an...

    Hier mal als Foto-Lovestory:
    fehler_05_ads.png fehler_04_ads.png fehler_03_ads.png fehler_01_ads.png

    Edit: ich teste noch mal schnell was, aber ich glaube, ich bin doof und hab n Fehler gemacht...
    Edit2: nein, selbst wenn ich es in der SPS verzögere und die SIgnale tausche (dachte, ich hätte die falsch herum verknüpft), dann läuft es nicht

    T.SpoonerT M 2 Replies Last reply
    0
    • A ADS_0x1

      Hi @T-Spooner !

      Danke für deine Antwort. Ich habe das jetzt mal so umgebaut, wie du es gepostet hast. Und für einen "ALIVE"-Cycle funktioniert das ganze auch:

      Ich setze das Bit09 in der SPS, node-red spiegelt es (mit einem Delay von 5 s) auf das Bit10 der SPS, es kommt in der SPS an.
      Die SPS spiegelt sofort wieder das Bit10 invers auf das Bit09. Es kommt also ein "false" in node-red an. Node-red siegelt 1:1 auf das Bit10, das kommt in der SPS als false an. SPS spiegelt und setzt Bit9 wieder. Das Bit9 wird von node-red ausgelesen als TRUE und es wird 5 Sekunden später auf Bit 10 gespiegelt und ebenfalls auf TRUE gesetzt. Das kommt allerdings in der SPS nicht mehr an...

      Hier mal als Foto-Lovestory:
      fehler_05_ads.png fehler_04_ads.png fehler_03_ads.png fehler_01_ads.png

      Edit: ich teste noch mal schnell was, aber ich glaube, ich bin doof und hab n Fehler gemacht...
      Edit2: nein, selbst wenn ich es in der SPS verzögere und die SIgnale tausche (dachte, ich hätte die falsch herum verknüpft), dann läuft es nicht

      T.SpoonerT Offline
      T.SpoonerT Offline
      T.Spooner
      wrote on last edited by
      #99

      @ADS_0x1
      Wie gesagt, bei mir funktioniert es auch nicht richtig.
      Manchmal läuft es einen Tag, dann mal wieder keine 2 Zyklen.
      Den Fehler suche ich noch.
      Eine Besonderheit bei mir ist die hohe Anzahl der Beckhoff Datenpunkte (fast 10000) und ein Raspberry Pi 4 mit "nur" 2Gb RAM, der aber nur mit 40% ausgelastet ist.
      Eine versuchsweise Verringerung der Datenpunkte auf 6 hat schon Mal nichts gebracht. Komisch hier ist allerdings, das in node-red noch die alten Datenpunkte (10000) angezeigt werden und in Blocky nur die neuen (6)🤔.
      Ich bleibe da mal dran.
      Darf ich fragen, was Du für ne Hardware nutzt?

      Haussteuerung mit Beckhoff C6015 (TC3)
      IoBroker auf SynologyNas (DS220+)
      2x Kostal Plenticore 4,2
      1x Kostal Plenticore 10
      BYD 10kW
      2x Daheimladen Wallbox
      1x Hyundai Kona-e
      AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

      A 1 Reply Last reply
      0
      • A ADS_0x1

        Hi @T-Spooner !

        Danke für deine Antwort. Ich habe das jetzt mal so umgebaut, wie du es gepostet hast. Und für einen "ALIVE"-Cycle funktioniert das ganze auch:

        Ich setze das Bit09 in der SPS, node-red spiegelt es (mit einem Delay von 5 s) auf das Bit10 der SPS, es kommt in der SPS an.
        Die SPS spiegelt sofort wieder das Bit10 invers auf das Bit09. Es kommt also ein "false" in node-red an. Node-red siegelt 1:1 auf das Bit10, das kommt in der SPS als false an. SPS spiegelt und setzt Bit9 wieder. Das Bit9 wird von node-red ausgelesen als TRUE und es wird 5 Sekunden später auf Bit 10 gespiegelt und ebenfalls auf TRUE gesetzt. Das kommt allerdings in der SPS nicht mehr an...

        Hier mal als Foto-Lovestory:
        fehler_05_ads.png fehler_04_ads.png fehler_03_ads.png fehler_01_ads.png

        Edit: ich teste noch mal schnell was, aber ich glaube, ich bin doof und hab n Fehler gemacht...
        Edit2: nein, selbst wenn ich es in der SPS verzögere und die SIgnale tausche (dachte, ich hätte die falsch herum verknüpft), dann läuft es nicht

        M Offline
        M Offline
        Mario275
        wrote on last edited by
        #100

        Hallo @ADS_0x1,

        ich nutze hier einfach ein kleines JavaScript. Von meiner PLC kommt eine 1 Sekunden Takt Livebit Variable, das ich lese und zugleich schreibe ich das wieder in eine zweite Variable. Somit bekomme ich mit wenn der Controller nicht mehr läuft.

        const idSrc = 'beckhoff.0.plc.GVL_ioBroker.bOut_Livebit'/bOut Livebit ioBroker [BOOL]/;
        const idDst = 'beckhoff.0.plc.GVL_ioBroker.bIn_Livebit'/bIn Livebit ioBroker [BOOL]/;

        // Skriptstart
        setState(idDst, getState(idSrc).val);

        // Aktualisierung bei Wertänderung
        on(idSrc, function(dp) {
        setState(idDst, dp.state.val);
        });

        Gruß Mario275

        A 1 Reply Last reply
        0
        • T.SpoonerT T.Spooner

          @ADS_0x1
          Wie gesagt, bei mir funktioniert es auch nicht richtig.
          Manchmal läuft es einen Tag, dann mal wieder keine 2 Zyklen.
          Den Fehler suche ich noch.
          Eine Besonderheit bei mir ist die hohe Anzahl der Beckhoff Datenpunkte (fast 10000) und ein Raspberry Pi 4 mit "nur" 2Gb RAM, der aber nur mit 40% ausgelastet ist.
          Eine versuchsweise Verringerung der Datenpunkte auf 6 hat schon Mal nichts gebracht. Komisch hier ist allerdings, das in node-red noch die alten Datenpunkte (10000) angezeigt werden und in Blocky nur die neuen (6)🤔.
          Ich bleibe da mal dran.
          Darf ich fragen, was Du für ne Hardware nutzt?

          A Offline
          A Offline
          ADS_0x1
          wrote on last edited by
          #101

          @T-Spooner said in [Adapter] Beckhoff ADS:

          Darf ich fragen, was Du für ne Hardware nutzt?

          Das mit deinen 10.000 Datenpunkten ist natürlich schon krass viel.
          Ich habe jetzt einfach mal ein Test-Strukt aufgebaut, das enthält 8 DINTs und 8 BOOLs. Da dachte ich, sollte nichts überfordert mit sein.

          Meine Hardware ist ein Alpine-Linux (virtualisiert) mit Docker; als Container installiert sind portainer und iobroker. Hardware sind 2 GByte RAM und 2 CPU Cores ohne Limitierung. Das kann ich bei Bedarf bis auf 8 Cores un 12 GByte RAM hochschrauben, wenn es sein müsste. Aber meiner Meinung nach sollte es das tun. Da in ioBroker nur der Default-Kram nach Installation, Node-Red und der Beckhoff Adapter laufen, denke ich, dass das von der Hardware her machbar ist.

          Auf der SPS-Seite steht eine CX9020 mit einer Cycletime von ~ 200 µs

          @Mario275 @T-Spooner :
          Ich nehme bei Systemen, die nicht in Echtzeit arbeiten oder kommunizieren immer die SPS als nicht-limitierenden Faktor und lasse die anderen Systeme die Arbeit machen, in der SPS wird in Echtzeit reagiert.
          Ziel ist:
          SPS 'lauscht' auf ein Bit, das Bit wird invertiert und auf ein Bit geschrieben, dass von der externen Anwendung überwacht wird.

          Bit_ioBroker	    Bit_SPS
          
          0                   0		(Zustand bei Neustart)
          0           #       1		(nach initial cycle invertiert die SPS das Bit und setzt es)
          0		    1		(ioBroker liest das Bit aus der SPS ein)
          1           *       1           (ioBroker spiegelt das Bit 1:1 und sollte es in der SPS setzen)
          1           #       0           (SPS sieht die Änderung im ioBroker Bit und es wird automatisch im cycle invertiert)
          1                   0		(iobroker liest das Bit aus der SPS aus)
          0           *       0           (iobroker spiegelt das Bit 1:1 und schreibt es auf die SPS)
          
          * = Delay in ioBroker / Node_red eingebaut - ohne Erfolg
          # = TON und TOF in SPS integriert um Bit als Delay zu verzögern - ohne Erfolg
          

          Danke für das Skript @Mario275 , ich teste das morgen mal aus und werde berichten.

          Viele Grüße,

          Andreas

          1 Reply Last reply
          0
          • dkleber89D Offline
            dkleber89D Offline
            dkleber89
            wrote on last edited by
            #102

            Servus Zusammen,

            ich würde die Art der Livebits ändern.

            Wenn das immer nur gespiegelt wird funktioniert das in einer Umgebung die zyklisch abgearbeitet wird, aber in einem eventbasierten System muss nur ein Event (Gründe gibt es dafür viele -> Netzwerk, Neustarts etc.) verloren gehen und alles steht.

            Ich würde in der SPS einer Variable einen 1s - 1s Blinktakt geben.
            Diese Variable wird vom ioBroker auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.
            Zusätzlich spiegelt ioBroker diesen Blinktakt auf eine zweite Variable.
            Diese zweite Variable wird von der SPS auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.

            Somit sind beide Seiten überwacht und es ist egal wenn mal ein Event verloren geht.

            Gruß,
            dkleber89

            A 1 Reply Last reply
            0
            • M Mario275

              Hallo @ADS_0x1,

              ich nutze hier einfach ein kleines JavaScript. Von meiner PLC kommt eine 1 Sekunden Takt Livebit Variable, das ich lese und zugleich schreibe ich das wieder in eine zweite Variable. Somit bekomme ich mit wenn der Controller nicht mehr läuft.

              const idSrc = 'beckhoff.0.plc.GVL_ioBroker.bOut_Livebit'/bOut Livebit ioBroker [BOOL]/;
              const idDst = 'beckhoff.0.plc.GVL_ioBroker.bIn_Livebit'/bIn Livebit ioBroker [BOOL]/;

              // Skriptstart
              setState(idDst, getState(idSrc).val);

              // Aktualisierung bei Wertänderung
              on(idSrc, function(dp) {
              setState(idDst, dp.state.val);
              });

              Gruß Mario275

              A Offline
              A Offline
              ADS_0x1
              wrote on last edited by
              #103

              @Mario275 said in [Adapter] Beckhoff ADS:

              Hallo @ADS_0x1,

              ich nutze hier einfach ein kleines JavaScript. Von meiner PLC kommt eine 1 Sekunden Takt Livebit Variable, das ich lese und zugleich schreibe ich das wieder in eine zweite Variable. Somit bekomme ich mit wenn der Controller nicht mehr läuft.

              const idSrc = 'beckhoff.0.plc.GVL_ioBroker.bOut_Livebit'/bOut Livebit ioBroker [BOOL]/;
              const idDst = 'beckhoff.0.plc.GVL_ioBroker.bIn_Livebit'/bIn Livebit ioBroker [BOOL]/;

              // Skriptstart
              setState(idDst, getState(idSrc).val);

              // Aktualisierung bei Wertänderung
              on(idSrc, function(dp) {
              setState(idDst, dp.state.val);
              });

              Gruß Mario275

              Läuft mit deinem Skript!
              live_bit.mp4 (mit 200 ms delay)
              live_bit_0_delay.mp4 (mit 0 ms delay)
              life_bit_sps.png

              Selbst ohne Verzögerung macht das Teil genau das, was es soll... jetzt müsste man mal testen, wie schnell das Ganze bei x Variablen ist.

              Danke dafür in jedem Falle, ich bau darauf mal auf!

              1 Reply Last reply
              0
              • dkleber89D dkleber89

                Servus Zusammen,

                ich würde die Art der Livebits ändern.

                Wenn das immer nur gespiegelt wird funktioniert das in einer Umgebung die zyklisch abgearbeitet wird, aber in einem eventbasierten System muss nur ein Event (Gründe gibt es dafür viele -> Netzwerk, Neustarts etc.) verloren gehen und alles steht.

                Ich würde in der SPS einer Variable einen 1s - 1s Blinktakt geben.
                Diese Variable wird vom ioBroker auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.
                Zusätzlich spiegelt ioBroker diesen Blinktakt auf eine zweite Variable.
                Diese zweite Variable wird von der SPS auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.

                Somit sind beide Seiten überwacht und es ist egal wenn mal ein Event verloren geht.

                Gruß,
                dkleber89

                A Offline
                A Offline
                ADS_0x1
                wrote on last edited by ADS_0x1
                #104

                @dkleber89 said in [Adapter] Beckhoff ADS:

                Servus Zusammen,

                ich würde die Art der Livebits ändern.

                Wenn das immer nur gespiegelt wird funktioniert das in einer Umgebung die zyklisch abgearbeitet wird, aber in einem eventbasierten System muss nur ein Event (Gründe gibt es dafür viele -> Netzwerk, Neustarts etc.) verloren gehen und alles steht.

                Ich würde in der SPS einer Variable einen 1s - 1s Blinktakt geben.
                Diese Variable wird vom ioBroker auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.
                Zusätzlich spiegelt ioBroker diesen Blinktakt auf eine zweite Variable.
                Diese zweite Variable wird von der SPS auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.

                Somit sind beide Seiten überwacht und es ist egal wenn mal ein Event verloren geht.

                Gruß,
                dkleber89

                Hi @dkleber89 ,

                danke für die Hinweise, so ähnlich mache ich das - nur, dass ich das Bit in der SPS nicht immer takte, sondern nur im Fehlerfalle - so ne Art "Hey, lebst du noch"-Anstupser.

                Viele Grüße,

                Andreas

                Edit: Ich hab dann mal gemerkt, was passiert, wenn man event-basierte Systeme mit einem 0 Delay Life-Bit-Toggle belastet.... CPU Auslastung bei schubsen eines Bits ist nahezu 100%, Netzwerkauslastung lt. portainer ca. 40 MB lesen und schreiben... gut, ich weiß dann, was du mir sagen wolltest @dkleber89 😄

                1 Reply Last reply
                0
                • Francis HartmannF Offline
                  Francis HartmannF Offline
                  Francis Hartmann
                  wrote on last edited by
                  #105

                  Hallo

                  Toll...

                  Gibt es eine schritt für schritt Anleitung oder evtl.Videos bei der erklärt wird wie eine komplette Broker Konfiguration auf TC2 oder TC3 und Broker Umgebung aufgesetzt wird? Würde mir sehr hilfreich sein in diese Thema rein zu kommen.

                  Vielen Dankd

                  1 Reply Last reply
                  0
                  • dkleber89D dkleber89

                    Hallo @Mario275,

                    ich habe gerade heute den Pullrequest für das Stable Repository gemacht. Dies muss noch vom ioBroker Team genemigt werden dann wird das Update im ioBroker aufscheinen.

                    Sollte in den nächsten Tagen sein.

                    Gruß,
                    dkleber89

                    M Offline
                    M Offline
                    Mario275
                    wrote on last edited by
                    #106

                    Hallo @dkleber89,

                    ist es dir möglich in absehbarer Zeit Stringvariablen mit Längen bis zu 255 Zeichen mit einzubinden?

                    Gruß Mario

                    1 Reply Last reply
                    0
                    • dkleber89D Offline
                      dkleber89D Offline
                      dkleber89
                      wrote on last edited by
                      #107

                      Hallo @Mario275 ,

                      ich denke nicht das ich es in nächster Zeit schaffe um mich da reinzuhängen und mir das anzuschauen. Hab grad ziemlich viel um die Ohren sorry.

                      Würde mich aber jederzeit über eine PR auf Github freuen 😉 .

                      Gruß,
                      dkleber89

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        damichi85
                        wrote on last edited by
                        #108

                        Hallo zusammen,

                        @dkleber89
                        Erst mal vielen Dank für den tollen Adapter - gefällt mir sehr gut, wie du den umgesetzt hast! 🙂

                        Ich hatte jetzt endlich Zeit zum testen; und zwar mit folgender Konfiguration:

                        Beckhoff CX8030 mit Twincat 2.11.2304
                        IOBroker neueste Version unter Ubuntu 18.04 Server auf einem Intel NUC-Celeron
                        2x Ethernet: Die Onboard-Schnittstelle hat eine Verbindung über Switch zum CX8030.
                        Die externe USB-Schnittstelle nutze ich für das "unsichere Netz" um auf die VIS zuzugreifen.

                        TPY-Datei mit einigen REAL- und WORD-Variablen eingelesen - funktioniert einwandfrei, die Datenpunkte erscheinen und werden zyklisch aktualisiert.

                        Nun wollte ich in meine IOBROKER_STRUCT einige BOOLEAN-Variablen einfügen.
                        Und schon war Schluss mit der ADS-Verbindung.

                        Ich erhalte sofort nach dem Einlesen und Abspeichern der TPY-Datei eine Timeout-Meldung im Log. Und das für alle Variablen, die zwischen IOBroker und der Beckhoff SPS ausgetauscht werden. Auch für die REALs- und WORDs.
                        Lösche ich die BOOLs dann wieder aus der IOBROKER_STRUCT, dann werden die REAL- und WORD-Variablen wieder einwandfrei gesynct.

                        -> Also BOOLEAN funktioniert bei mir leider nicht.
                        Ist für mich kein Problem, wollte es hier nur kurz erwähnen, nicht dass jemand ein ähnliches Problem hat.

                        Zum Thema ADS-Verbindung möchte ich noch kurz ein paar Erinnerungen loswerden:
                        Ich hatte vor ca. fünf Jahren ein Sütron-Panel (jetzt Phoenix-Contact) mit der Visualisierungssoftware "Movicon 11".
                        Da war es so, dass bei meiner alten Twincat 2.11 - Version das Programm "Movicon" die Variablen bzw. Symbole aus der SPS auslesen konnte - ohne dass ich im Beckhoff System-Manager was ändern musste ("Symbole erzeugen"...).
                        Alternativ konnte man wie bei dkleber89's Adapter eine TPY-Datei auswählen.
                        -> Also ist es scheinbar schon so, dass auch ältere TC2 Symbole erzeugen - nur wird wohl der Zugriff auf die Symbole irgendwie anders sein als z. B. bei TC3.

                        Mir persönlich ist dein Beckhoff-Adapter für den IOBroker echt sympathisch - hast du super gemacht!

                        Schöne Grüße
                        Michi

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          ADS_0x1
                          wrote on last edited by
                          #109

                          Hallo dkleber89,

                          nachdem ich im Februar mit dem Adapter etwas experimentiert hatte, hab ich nun wieder etwas Zeit gefunden mich einzuarbeiten. Ich hatte im Februar ein paar Probleme mit einem Reconnect, wenn die Steuerung ausgefallen war und neugestartet ist, das scheint mit der aktuellen Version bei mir behoben zu sein.

                          Das soweit als Feedback.

                          Danke dir für die Arbeit am Adapter.

                          Viele Grüße,

                          Andreas

                          1 Reply Last reply
                          0
                          • T.SpoonerT Offline
                            T.SpoonerT Offline
                            T.Spooner
                            wrote on last edited by
                            #110

                            Hallo zusammen, hat jemand den Adapter mit na BC9000 am laufen?
                            Gruß T.Spooner

                            Haussteuerung mit Beckhoff C6015 (TC3)
                            IoBroker auf SynologyNas (DS220+)
                            2x Kostal Plenticore 4,2
                            1x Kostal Plenticore 10
                            BYD 10kW
                            2x Daheimladen Wallbox
                            1x Hyundai Kona-e
                            AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                            S 1 Reply Last reply
                            0
                            • T.SpoonerT T.Spooner

                              Hallo zusammen, hat jemand den Adapter mit na BC9000 am laufen?
                              Gruß T.Spooner

                              S Offline
                              S Offline
                              Silencerbob
                              wrote on last edited by Silencerbob
                              #111

                              @dkleber89 :
                              Hallo,

                              ich bin neu hier und bei iobroker generell. Hab vor einer Woche den Raspberry Pi4 mit 8GB und 32GB SD installiert.
                              Ich will eine Beckhoff-Steuerung visualisieren. Mit Skripten habe ich leider bisher nichts am Hut.
                              Nachdem ich mir jetzt Taster mit Rückmeldung zusammengebastelt habe, und dass dann funktioniert hat, wollte ich jetzt anfangen das ganze System einzuspielen. D.h. die Variablen aus einem Beckhoff-Projekt über einen Struct-Datenbaustein in die Instanz Beckhoff.0 einspielen. Das funktioniert soweit auch. Nur wenn ich die Vis am Tablet offen habe, oder am PC dann frieren die Signale ein nach kurzer Zeit und im Log kommen solange alle Objekte (Variablen) mit Timeout Meldung, bis das Vis disconnected
                              Wie gesagt anfangs funktionierte es noch so mit 20 Variablen, jetzt sinds so an die 130
                              Update: Inzwischen sinds noch einige mehr, und so 1,5 Sekunden nachdem der Beckhoff-Adapter aktiviert wird kommen die Timeout Meldungen!
                              Was muss ich noch anpassen? Etwas an den Variablen unter Objekte?

                              Bildschirmfoto vom 2021-01-28 19-20-17.png
                              z.B.:

                              beckhoff.0 2021-01-28 18:58:15.220 warn (15077) Subscription for: .IOBROKER.TASTER occure an Error: timeout

                              Kann mir jemand sagen, was ich am TwinCat 2 (v2.11.2306) einstellen muss bzgl. ADS Adapter? In meiner "SPS-Konfiguration" kann ich an der "Standard"-Task "Symbole erzeugen" nicht anzeigen. Ausgegraut.
                              Hab eine zusätzliche Task angelegt, hier kann ich es anhaken, aber wie kann ich über diese Task die Signale übertragen?
                              Im PLC Control habe ich eine Struct angelegt, die dann als globale Variable aufgerufen wird im "Main" Programm, welches auf der "Standard" Task läuft.
                              Muss ich am IoBroker-Beckhoff Adapter etwas ändern?
                              Ich habe auch schon eine Instanz erstellt mit Twincat <=2.11.2240 aber das hat auch nicht funktioniert.
                              Beckhoff-Adapter ist v1.2.2
                              Node.js v12.20.1
                              NPM 6.14.10

                              Bitte um Hilfe, ich dreh mich im Kreis!

                              T.SpoonerT 1 Reply Last reply
                              0
                              • S Silencerbob

                                @dkleber89 :
                                Hallo,

                                ich bin neu hier und bei iobroker generell. Hab vor einer Woche den Raspberry Pi4 mit 8GB und 32GB SD installiert.
                                Ich will eine Beckhoff-Steuerung visualisieren. Mit Skripten habe ich leider bisher nichts am Hut.
                                Nachdem ich mir jetzt Taster mit Rückmeldung zusammengebastelt habe, und dass dann funktioniert hat, wollte ich jetzt anfangen das ganze System einzuspielen. D.h. die Variablen aus einem Beckhoff-Projekt über einen Struct-Datenbaustein in die Instanz Beckhoff.0 einspielen. Das funktioniert soweit auch. Nur wenn ich die Vis am Tablet offen habe, oder am PC dann frieren die Signale ein nach kurzer Zeit und im Log kommen solange alle Objekte (Variablen) mit Timeout Meldung, bis das Vis disconnected
                                Wie gesagt anfangs funktionierte es noch so mit 20 Variablen, jetzt sinds so an die 130
                                Update: Inzwischen sinds noch einige mehr, und so 1,5 Sekunden nachdem der Beckhoff-Adapter aktiviert wird kommen die Timeout Meldungen!
                                Was muss ich noch anpassen? Etwas an den Variablen unter Objekte?

                                Bildschirmfoto vom 2021-01-28 19-20-17.png
                                z.B.:

                                beckhoff.0 2021-01-28 18:58:15.220 warn (15077) Subscription for: .IOBROKER.TASTER occure an Error: timeout

                                Kann mir jemand sagen, was ich am TwinCat 2 (v2.11.2306) einstellen muss bzgl. ADS Adapter? In meiner "SPS-Konfiguration" kann ich an der "Standard"-Task "Symbole erzeugen" nicht anzeigen. Ausgegraut.
                                Hab eine zusätzliche Task angelegt, hier kann ich es anhaken, aber wie kann ich über diese Task die Signale übertragen?
                                Im PLC Control habe ich eine Struct angelegt, die dann als globale Variable aufgerufen wird im "Main" Programm, welches auf der "Standard" Task läuft.
                                Muss ich am IoBroker-Beckhoff Adapter etwas ändern?
                                Ich habe auch schon eine Instanz erstellt mit Twincat <=2.11.2240 aber das hat auch nicht funktioniert.
                                Beckhoff-Adapter ist v1.2.2
                                Node.js v12.20.1
                                NPM 6.14.10

                                Bitte um Hilfe, ich dreh mich im Kreis!

                                T.SpoonerT Offline
                                T.SpoonerT Offline
                                T.Spooner
                                wrote on last edited by
                                #112

                                @silencerbob
                                Hallo, ich schliesse mich an.
                                Mittlerweile bin ich ganz schön genervt, ich habe gedacht ich hätte den Fehler gefunden, weil ich zwischendurch mit nem anderen Switch getestet habe, aber nix ist.
                                Inzwischen bin ich vom Raspberry auf ne Synology umgestiegen aber das Problem ist immer noch.

                                Inzwischen habe ich die Beckhoff-Hardware getauscht, bin von TC2 auf TC3 umgestiegen, den Switch getauscht und jetzt hängt die Beckhoff cpu und die Hardware der Synology an der Fritzbox, aber die Verbindung ist nicht stabil.
                                Der nächste Versuch der ansteht ist eine ADS-Kommuniktion zwischen meiner alten TC2 und meiner TC3, um zu schauen ob das stabil läuft.

                                Ich habe auch schon einen Vertriebler von Beckhoff gefragt, der sein Haus auch mit dem IOBroker getunt hat, bei dem läuft es stabil...

                                Hat jemand einen Tipp, ich kann mir einfach nicht verstellen, dass @silencerbob und ich alleine diese Problem haben.

                                ziemlich genervte Grüßen T.Spooner

                                Haussteuerung mit Beckhoff C6015 (TC3)
                                IoBroker auf SynologyNas (DS220+)
                                2x Kostal Plenticore 4,2
                                1x Kostal Plenticore 10
                                BYD 10kW
                                2x Daheimladen Wallbox
                                1x Hyundai Kona-e
                                AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                                1 Reply Last reply
                                0
                                • BretteB Offline
                                  BretteB Offline
                                  Brette
                                  wrote on last edited by Brette
                                  #113

                                  Hallo,

                                  zuerst mal tausend Dank für den Adapter, läuft bei mir einwandfrei.

                                  Die Brennersteuerung meiner Ölheizung habe ich vor Jahren mit einem CX8090 aufgehübscht und die Raum- Soll- und Istwerte der ELV Max! Heizthermostate mittels FHEM über den Modbus an TwinCat gesendet, um u.a. eine Raumgeführte Temperaturregelung des Kessels zu ermöglichen.

                                  Mitte 2020 bin ich dann auf HM umgestiegen, zunächst ohne CCU und IOBroker auf einer Win10 VM.
                                  Schon da lief der Adapter ohne Probleme.
                                  Nun habe ich ein Tinkerboard S mit Raspberrymatic im Einsatz, auch hier keine Probleme, läuft komplett stabil.

                                  Das Problem ist allerdings das mit TwinCat 2 nur maximal 64 Variablen zur Datenübertragung möglich sind. (Steht auch irgend wo hier im Faden)
                                  Ich habe nun mal langsam angefangen das Ganze für mich etwas "aufzubohren" um eine Web-Visu zu realisieren.
                                  Ich sende die Soll- und Istwerte praktisch Seriell zwischen dem IOB und TwinCat indem ich eine Indexvariable nutze und auf einer zweiten Variable die Nutzdaten nacheinander über die Schnittstelle schicke. (So in etwa wie Multiplexen) Das Ganze dauert je nach Anzahl an Werten natürlich eine gewisse Zeit und ist somit nicht für Steuerfunktionen wie Licht an/aus sinnvoll, aber für zeitunkritische Werte durchaus brauchbar.

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    Schwalb
                                    wrote on last edited by
                                    #114

                                    Hallo, ich bin neu hier und wollte den ADS-Adapter mit einem CX8190 mit TwinCAT 3 verbinden. Habe alles wie in der Readme eingerichtet (Steuerung pingbar, Symbole erzeugt, Routen und Variablentabelle angelegt...).
                                    Jedoch bleibt im Adapter "Verbunden mit Gerät oder Dienst" rot.
                                    Weiß jemand woran das liegen könnte oder was ich nicht bedacht habe?

                                    TheBamT S 2 Replies Last reply
                                    0
                                    • S Schwalb

                                      Hallo, ich bin neu hier und wollte den ADS-Adapter mit einem CX8190 mit TwinCAT 3 verbinden. Habe alles wie in der Readme eingerichtet (Steuerung pingbar, Symbole erzeugt, Routen und Variablentabelle angelegt...).
                                      Jedoch bleibt im Adapter "Verbunden mit Gerät oder Dienst" rot.
                                      Weiß jemand woran das liegen könnte oder was ich nicht bedacht habe?

                                      TheBamT Offline
                                      TheBamT Offline
                                      TheBam
                                      wrote on last edited by
                                      #115

                                      @schwalb hast du die variablen Liste im Adapter eingetragen?

                                      S 1 Reply Last reply
                                      0
                                      • TheBamT TheBam

                                        @schwalb hast du die variablen Liste im Adapter eingetragen?

                                        S Offline
                                        S Offline
                                        Schwalb
                                        wrote on last edited by
                                        #116

                                        @thebam Ja, Variablentabelle ist im Adapter hinterlegt. IP-Adresse und NetID sind auch richtig.

                                        TheBamT 1 Reply Last reply
                                        0
                                        • S Schwalb

                                          @thebam Ja, Variablentabelle ist im Adapter hinterlegt. IP-Adresse und NetID sind auch richtig.

                                          TheBamT Offline
                                          TheBamT Offline
                                          TheBam
                                          wrote on last edited by
                                          #117

                                          @schwalb
                                          Ok das Routing auf deiner Steuerung auch entsprechend angelegt? Oder nur im Adapter?
                                          Viel mehr hatte ich auch nicht gemacht wenn die variablentabelle stimmt zieht der sich eigentlich alles.

                                          S 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

                                          530

                                          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