Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Adapter] Beckhoff ADS

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Adapter] Beckhoff ADS

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

      Hallo,

      ich habe den ioBroker bei einer Suche nach Hausautomationssystemen gefunden, die eine Beckhoff Steuerung einbinden können - eigentlich gibt es nur noch den Home Assistant, der ADS out of the box spricht.

      Bevor ich anfange, mit dem ioBroker zu arbeiten eine Frage/Bitte:

      Soweit ich gelesen habe, funktioniert die Integration nicht allgemein, also Zugriff auf beliebige Variablen in der Steuerung sondern nur zu den bestimmten, die ich einer speziellen Struktur angelegt habe - was bei mir bedeuten würde, im SPS Programm Variablen ein zweites mal in der für ioBroker notwendigen Struktur anzulegen und dann in die bestehenden Variablen umzukopieren- irgendwie unelegant. (Umstellung ist keine Option, da das System auf der Basis von Arrays für Sensoren, Aktuatoren, Zustände etc aufgebaut ist.)

      Besteht die Möglichkeit einer Erweiterung zum Zugriff auf beliebige Variablen der Steuerung?
      Ist das grandios aufwendig ? (Ich kann grad a bisserl Python)
      Oder wurde der Design Ansatz mit einer Struktur gewählt, weil im ADS ReadByName für eine Menge beliebiger Variablen die Performanz unterirdisch wird? und ich damit nicht weiter käme, selbst wenn sich jemand meiner erbarmt, und das reinklopft?

      Ich sag schon mal Danke!

      1 Reply Last reply Reply Quote 0
      • dkleber89
        dkleber89 last edited by

        Hallo,

        die Struktur wurde deshalb definiert da der Adapter einen automatischen Abgleich gegen diese Struktur macht und die Variablen im ioBroker anlegt. Zudem ist es immer Ratsam eine saubere Schnittstelle in den Systemen zu haben, weil sonst jede Änderung zu Problemen auf der Gegenseite führen kann. Zumal es auch sinnlos wäre jede Variable die nur was zwischenspeichert abzugleichen.

        Zudem stimmt auch das eine Subscription auf alle Variablen zu Performenzproblemen führt.

        Für dein Problem gibt es aus meiner Sicht zwei Möglichkeiten:

        1. In der Steuerung eine Struktur anlegen und über einen Baustein eine Bidirektionale Verbindung erstellen bzw. das ganze dann über Read sowie Write Variablen lösen. Ja ist ein Aufwand aber dann kannst du den Adapter verwenden der den ganzen Rest managed. -> Ich würde an deiner Stelle sogar hingehen die Funktionalität des Adapters testen und schauen ob er deinen Bedürfnissen entspricht. Wenn ja dann das SPS Programm Schritt für Schritt umbauen in dem du die Variablen austauscht.
        2. Du verwendest den Skripting Adapter des ioBroker und bindest die selbe Kommbibliothek ein, wie der Beckhoff Adapter. Dann kannst du jeder Variable die du möchtest Schreiben / Lesen oder auch Subscriptions darauf machen. Das ist dann halt alles individuell für jeder deiner Variablen zu machen.

        Gruß,
        dkleber89

        1 Reply Last reply Reply Quote 0
        • M
          mmeine @dkleber89 last edited by mmeine

          @dkleber89
          Hallo,

          nach der Sommerpause wieder zurück im Forum um meine Steuerung weiter aufzupeppen.

          Ich hab das script bei mir eingestellt und folgende Log erhalten:

          15:49:12.206	info	javascript.0 Start javascript script.js.Test.Test-Twincat-ADS
          15:49:12.207	info	javascript.0 script.js.Test.Test-Twincat-ADS: registered 0 subscriptions and 0 schedules
          15:49:12.714	info	javascript.0 script.js.Test.Test-Twincat-ADS: Error Code: timeout
          15:49:18.148	info	javascript.0 Stop script script.js.Test.Test-Twincat-ADS
          

          im übrigen habe ich die Zeile

          var ads = require('node-ads')
          

          in

          var ads = require('node-ads-api');
          

          ändern müssen. Ich hoffe da gibt es kein Versionsproblem.
          Gruß

          1 Reply Last reply Reply Quote 0
          • dkleber89
            dkleber89 @dkleber89 last edited by

            Hallo @mmeine,

            schade das es da keine zusätzlichen Informationen gibt. Aber ich muss sagen, wenn ich alles was ich jetzt für dieses Problem zusammengesammelt habe anschaue, dann scheint es so zu sein das bei etwas älteren Versionen die Datentypen nicht aus der Steuerung abgerufen werden können.

            Ich weiß nicht ob du die Möglichkeit hast was zu testen:

            @dkleber89 sagte in [Neuer Adapter] Beckhoff ADS:

            Mir ist da grad noch was eingefallen.

            Ich bin ja grade an der Einbindung der BC Runtimes. Dort funktioniert das ganze zwar nicht aber es könnte eine Lösung für die älteren TC2 Runtimes sein die keine Datentypen bereitstellen.

            Wenn du magst kannst du gerne den Adapter aus dem Entwicklungsbranch testen ob der bei dir funktionieren würde.

            ACHTUNG: Auf eigenes Risiko ist definitiv ein Alphatest.

            Installation über "Installieren aus eigener URL" -> "Beliebig" -> "git://github.com/dkleber89/ioBroker.beckhoff.git#7-addOldTc2AndBcSupport"

            Selection_001.png

            Dort auf TC2 < 2.11.... gehen und die *.tpy deines PLC Projektes hochladen. Die restlichen Einstellungen unterscheiden sich nicht vom normalen Verbindungsaufbau. Und auch hier muss die AMS Route freigegeben werden wie sonst auch.

            Gruß,
            dkleber89

            Das wäre theoretisch die Variante als Lösung für dein Problem leider aber ungetestet. Ich hoffe ich komme in nächster Zeit mal dazu mir ein TC2 System auf einem Testsystem zu installieren.

            Gruß,
            dkleber89

            1 Reply Last reply Reply Quote 0
            • M
              mmeine @dkleber89 last edited by mmeine

              @dkleber89
              Hallo,

              hab die URL installiert, danach war dein Adapter von V1.06 auf V1.05 zurückgestuft.
              Komme dann aber nicht weiter. Wo stelle ich TC2 < 2.11.... ein und lade miene *.tpy hoch?
              Hab die alte Instanz gelöscht und ne neue anglegt. Konfigseite sieht genauso aus wie vorher.🤷‍♂️

              Gruß

              1 Reply Last reply Reply Quote 0
              • dkleber89
                dkleber89 last edited by

                @mmeine

                Hallo mmeine,

                konnte es bei mir auch nachstellen. Aus irgendeinem Grund aktualisiert da der ioBroker die Konfig Seite nicht sauber. Wenn du den Adapter komplett löscht (Nicht nur die Instanz entfernen sondern auch in der Adapterübersicht ganz rechts in der Spalte auf den Papierkorb klicken) dann kannst du den Adapter über diesen Pfad installieren und das Menü wird angezeigt wie es soll.

                Warum sich das so Verhält kann ich auch nicht sagen.

                Gruß,
                dkleber89

                M 1 Reply Last reply Reply Quote 0
                • Christian Peters
                  Christian Peters last edited by

                  Hallo,

                  Ich bin letztens auf den Beckhoff Adapter gestoßen und bin echt begeistert.
                  Wird an der Implementierung von Strings und Arrays als unterstützte Datentypen noch gearbeitet?

                  Gruß Christian

                  1 Reply Last reply Reply Quote 0
                  • dkleber89
                    dkleber89 last edited by dkleber89

                    Hallo Christian,

                    das freut mich natürlich 😄

                    Leider ist es so das ich derzeit überhaupt nicht am Adpater arbeiten kann weil ich schlicht keine Zeit dafür habe. Ich wollte mit den Strings (zumindest mit einer fixen länge schon länger fertig sein -> Die Wahrheit ist aber das ich nicht mal damit angefangen habe.

                    Super wäre natürlich wenn sich jemand finden würde der das Implementiert. Ich werde mich bemühen um das evtl. mal an einem Wochenende reinzustapeln aber versprechen kann ich derzeit nix.

                    Gruß,
                    dkleber89

                    Christian Peters 1 Reply Last reply Reply Quote 0
                    • M
                      mmeine @dkleber89 last edited by mmeine

                      @dkleber89
                      Hallo,

                      danke, hab die V1.07 am laufen und die nötigen Einstellungen vorgenommen. Hab die Instanz mehrmals mit kleinsten Änderungen auf der Konfigseite gestartet. Immer kam der Fehler ADS Clien: Error: timeout.
                      Zwischendurch schien es plötzlich einmal funktioniert zu haben, anschließend nicht wieder. Ich bin mir bei den Einstellungen also nicht mehr zu 100% sicher welche da gerade aktuell war.
                      Entweder habe ich "TwinCat2" oder "TwinCat2 <2.11...." eingestellt.
                      Oder ich hatte bei der Zielstruktur ".iobroker" oder "iobroker" eingestellt (Was müsste denn hier drin stehen?)

                      Ergebnis ist folgender Log:

                      2019-10-25 10:55:18.292 - info: host.raspberrypi instance system.adapter.beckhoff.0 started with pid 17823
                      2019-10-25 10:55:20.034 - debug: beckhoff.0 objectDB connected
                      2019-10-25 10:55:20.410 - debug: beckhoff.0 statesDB connected
                      2019-10-25 10:55:21.074 - info: beckhoff.0 starting. Version 1.0.7 in /opt/iobroker/node_modules/iobroker.beckhoff, node: v8.15.1
                      2019-10-25 10:55:21.120 - debug: beckhoff.0 Start establish Connection to PLC
                      2019-10-25 10:55:21.660 - error: beckhoff.0 ADS Client: Error: timeout
                      2019-10-25 10:55:21.664 - info: beckhoff.0 Try to reconnect in 15 seconds
                      2019-10-25 10:55:36.667 - debug: beckhoff.0 Start establish Connection to PLC
                      2019-10-25 10:55:37.237 - error: beckhoff.0 ADS Client: Error: timeout
                      2019-10-25 10:55:37.242 - info: beckhoff.0 Try to reconnect in 15 seconds
                      2019-10-25 10:55:50.300 - debug: beckhoff.0 system.adapter.admin.0: logging false
                      2019-10-25 10:55:52.243 - debug: beckhoff.0 Start establish Connection to PLC
                      2019-10-25 10:55:52.506 - info: beckhoff.0 Connected to PLC. State of PLC: RUN
                      2019-10-25 10:55:57.397 - debug: beckhoff.0 PLC States received
                      2019-10-25 10:55:57.677 - debug: beckhoff.0 Release all Notification Handles first.
                      2019-10-25 10:55:57.679 - debug: beckhoff.0 All Notification Handles are released.
                      2019-10-25 10:55:57.727 - debug: beckhoff.0 Send Subscription for: .iobroker.TempAussen to PLC
                      2019-10-25 10:55:58.449 - debug: beckhoff.0 Subscription for: .iobroker.TempAussen done.
                      2019-10-25 10:55:58.476 - debug: beckhoff.0 Read Symbol Value from PLC to ioBroker: .iobroker.TempAussen -> 13.2
                      

                      Ich vermute es ist ein Geschwindigkeitsproblem. Kann man irgendwo die Timeout -Einstellung ändern und die Zeit etwas höher schrauben, bevor die Fehlermeldung kommt?

                      Gruß
                      Markus

                      1 Reply Last reply Reply Quote 0
                      • dkleber89
                        dkleber89 last edited by

                        @mmeine
                        Aus meiner Sicht müsste es wie folgt sein:

                        TwinCat2 < 2.11...
                        Zielstruktur immer ohne Punkt
                        Und die .tpy Datei deines Projektes in der Konfigseite hochladen.

                        Die Timeoutzeit kannst du über "Intervall für Verbindungsaufbau" einstellen. Glaube aber weniger das es an dem liegt.

                        Gruß,
                        dkleber89

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          mmeine @dkleber89 last edited by mmeine

                          @dkleber89

                          Hallo,

                          habs jetzt glaube am laufen. Das timeout-Problem gab es nur als ich von der Ferne auf iobrober zugegriffen habe. Jetzt aus dem internen Netz scheint es zu funktioniern. Vielleich hat sich aber über Nacht der Raspberry etwas ausruhen können. 🙂

                          Also vielen Dank, für deinen schnellen und kreativen Support. Wirst du diese version später in die offiziellen Updates einbinden, oder bleibt es eine Beta-Version?

                          Super und viele Grüße.

                          1 Reply Last reply Reply Quote 0
                          • dkleber89
                            dkleber89 last edited by

                            Hallo @mmeine,

                            okay ja super 🙂

                            Kein Thema ich sag danke für das mühevolle Testen so über die Ferne. Ich möchte das auf jeden Fall in das offizielle Repo bringen, da es sicher noch mehr Personen gibt die eine etwas ältere TC2 Version am laufen haben.

                            Ich würde dich aber, damit das sicher alles sauber Funktioniert, um ein paar Sachen bitten:

                            • Kannst du mal in deinem SPS Projekt eine Variable hinzufügen und eine entfernen und die aktualisierte *.tpy hochladen, um zu schauen ob das auch funktioniert?
                            • Mir nach einer Zeit so ein bis zwei Wochen eine Rückmeldung geben ob denn alles auch stabil läuft?
                            • Evtl. als Gegenprobe mal auf das normale TC2 zurückstellen und schauen ob es da jetzt noch immer nicht funktioniert.
                            • Sonstige Rückmeldung falls es noch was zu verbessern gibt.

                            Wäre super wenn das geht. Dann würde ich es als Update publishen.

                            Gruß,
                            dkleber89

                            M 1 Reply Last reply Reply Quote 0
                            • Christian Peters
                              Christian Peters @dkleber89 last edited by

                              @dkleber89 Würde mich gerne am Projekt beteiligen. Wo müsste angesetzt werden um Strings zu ermöglichen.
                              Kann nichts versprechen, will es aber mal probieren.

                              1 Reply Last reply Reply Quote 0
                              • dkleber89
                                dkleber89 last edited by

                                Hallo @Christian-Peters,

                                das ist natürlich immer gut 😄

                                Der Adapter basiert auf dieser Library.
                                Diese Library hat einen String Datentyp mit einer fixen länge von 80 Zeichen und einer der flexibel ist.

                                Der 1. Schritt ist über Skripte (entweder eigene Node Runtime oder ioBroker Javascript Adapter) herauszufinden wie sich der Datentyp verhält:

                                • Fixe Länge:
                                  • Was ist wenn der String in der Steuerung zu lang oder zu kurz ist
                                  • Was passiert wenn der String im ioBroker zu lang oder zu kurz ist
                                • Variable Länge:
                                  • Sollte gleich auf die flexible Länge gesetzt werden
                                  • Wie kann das aus der Auflistung der Datentypen ausgelesen werden
                                  • Was passiert wenn der String im ioBroker zu lang oder zu kurz ist

                                Das müssten so im groben die Punkte sein die vor dem Implementieren herausgefunden werden müssen.

                                Dann kommt der schöne Teil ... Implementieren 😉

                                Gruß,
                                dkleber89

                                Christian Peters 1 Reply Last reply Reply Quote 0
                                • Del-Didier A-G
                                  Del-Didier A-G last edited by

                                  Hallo,

                                  Entschuldigung für mein Deutsch, aber ich bin Belgier.
                                  Ich habe Ihren ADS-Adapter für Beckhoff entdeckt und finde ihn großartig.
                                  Also habe ich das mit einer cx5020 getestet, aber ich habe ein kleines Stabilitätsproblem.
                                  Die Verbindung zur SPS wird alle 10 Minuten unterbrochen.
                                  Würdest du eine Idee haben warum?

                                  beckhoff.0 2019-11-02 14:33:39.364 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 14:33:24.345 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:32:36.874 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:32:36.873 error ADS Client: timeout
                                  beckhoff.0 2019-11-02 14:22:51.041 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 14:22:36.029 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:22:36.028 error ADS Client: Error: read ECONNRESET
                                  beckhoff.0 2019-11-02 14:22:32.376 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 14:22:08.436 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:22:08.435 error ADS Client: timeout
                                  beckhoff.0 2019-11-02 14:12:22.562 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 14:12:07.545 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:11:20.052 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:11:20.051 error ADS Client: timeout
                                  beckhoff.0 2019-11-02 14:01:34.241 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 14:01:19.229 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:01:19.228 error ADS Client: Error: read ECONNRESET
                                  beckhoff.0 2019-11-02 14:01:15.839 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 14:00:51.851 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 14:00:51.851 error ADS Client: timeout
                                  beckhoff.0 2019-11-02 13:50:51.042 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 13:50:36.026 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 13:50:36.026 error ADS Client: Error: read ECONNRESET
                                  beckhoff.0 2019-11-02 13:50:08.736 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 13:50:08.736 error ADS Client: timeout
                                  beckhoff.0 2019-11-02 13:40:07.834 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 13:39:52.826 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 13:39:52.826 error ADS Client: Error: read ECONNRESET
                                  beckhoff.0 2019-11-02 13:39:24.958 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 13:39:24.957 error ADS Client: timeout
                                  beckhoff.0 2019-11-02 13:29:24.432 info Connected to PLC. State of PLC: RUN
                                  beckhoff.0 2019-11-02 13:29:09.427 info Try to reconnect in 15 seconds
                                  beckhoff.0 2019-11-02 13:29:09.426 error ADS Client: timeout

                                  Viele Grüße

                                  Moustik

                                  1 Reply Last reply Reply Quote 0
                                  • dkleber89
                                    dkleber89 last edited by

                                    Hallo @Del-Didier-A-G,

                                    ehrlich gesagt bin ich da komplett überfragt.

                                    Kannst du mir bitte den Adapter auf den Loglevel Debug stellen und das Log posten? Vielleicht kann man da noch etwas mehr sehen.

                                    Ansonsten kannst du nur schauen was für Operationen du alle 10 Minuten ausführst. z.B. Wird eine bestimmte Variable alle 10 Minuten geschrieben etc.

                                    Gruß,
                                    dkleber89

                                    1 Reply Last reply Reply Quote 0
                                    • Christian Peters
                                      Christian Peters @dkleber89 last edited by Christian Peters

                                      @dkleber89 Habe die Library mit Verschiedenen Strings getestet.

                                      • STRING mit Fixer Länge im IoBroker sowie in der Steruerung funktionieren.
                                        Solange diese 80 Zeichen nicht überschreiten.
                                      • Bei Strings mit Variablen Längen muss der String in der SPS gleich oder größer als der im IoBroker sein. Sonst gibt es den Fehler "Value out of bounds" oder "parameter size not correct"
                                      • String im IoBroker die kleiner als der Text der übertragen werden soll sind führen zu einem kürzen des Textes, aber zu keinem Fehler.

                                      So wie ich das sehe, ist man mit den Strings mit Fixer länge
                                      (ads.STRING nicht ads.string(10)) am besten aufgestellt. Die Leerzeichen in den Strings werden ja eh abgeschnitten .

                                      Bei der Implementierung komme ich leider nicht weiter. Mit der Erweiterung der knownDatatypes ist es wohl nicht getan 🙂 Wo müsste dort angesetzt werden ?

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mmeine @dkleber89 last edited by mmeine

                                        Moin,moin..

                                        also nochmal herzlichtsen Dank für deine Arbeiten. Super Leistung. Hier meine Erkenntnisse nach 2 Wochen Einsatz:

                                        Kannst du mal in deinem SPS Projekt eine Variable hinzufügen und eine entfernen und die aktualisierte *.tpy hochladen, um zu schauen ob das auch funktioniert?

                                        Habe ich mehrmals gemacht, hat ohne Probeme funktioniert.

                                        Mir nach einer Zeit so ein bis zwei Wochen eine Rückmeldung geben ob denn alles auch stabil läuft?

                                        Hab bisher keine Probleme feststellen können. Läuft soweit stabil.

                                        Evtl. als Gegenprobe mal auf das normale TC2 zurückstellen und schauen ob es da jetzt noch immer nicht funktioniert.

                                        Normales TC2 bringt immer noch timeout.

                                        Sonstige Rückmeldung falls es noch was zu verbessern gibt.

                                        Nach welchem Schema aktualisierst/änderst du die Variablen?
                                        Siehst du die Möglichkeit auch außerhalb der "iobroker_struct" manuell einzelne Objekt/Variablen zu verknüpfen?
                                        z.B. welche, die man manuell als Objekt hinzufügt wie "beckhoff.0.plc.P_Bel_Wohnen.TasterUpDown"?
                                        ("TasterUpDown" wäre in diesem Fall eine existierende lokale Variable in dem Programm "P_Bel_Wohnen" im TwinCAT)

                                        Gruß Markus.

                                        1 Reply Last reply Reply Quote 0
                                        • dkleber89
                                          dkleber89 last edited by

                                          Hallo,

                                          Klingt ja schon mal gut @Christian-Peters 🙂

                                          Ja hätte vom Gefühl her auch erst mal mit der fixen Länge angefangen. Dann kann immer noch geschaut werden ob noch mehr benötigt wird.
                                          Bei der Implementierung ist auf jeden Fall noch mehr zu tun. Ich glaube auch noch zu wissen das bei den Strings die Informationen für die Strings anderst formatiert in der ausgelesenen "Symbol List" stehen.

                                          ToDo:

                                          • Wie liegen die Stringinformationen vor (Symbol List und Datatyp List)
                                          • Anpassung von plcVarSyncronizing je nach dem wie die Stringinfos vorliegen.
                                            • Wichtig ist dort natürlich auch zu prüfen ob es evtl. Strings sind die eine falsche Länge in der Steuerung haben
                                          • Anpassung createObjectAndHandles je nach dem wie die Stringinfos vorliegen.
                                          • Anpassung des tpyParser für die älteren TC2 Systeme

                                          @mmeine
                                          Danke dir für die Testerei ... Da ich selbst kein so ein System habe und TC 2 auf keinem x64 System läuft bin ich aufgeschmissen wenn mir niemand testet.

                                          Ich werde es morgen oder so Releasen mit der Version 1.1.0

                                          Gruß,
                                          dkleber89

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            stm last edited by

                                            Subj: Fehlermeldung beim Steuerungszugriff adsClientGetSymbolsError: timeout

                                            Hallo,

                                            ich fange an, mich in den iobroker einzuarbeiten, und da komm ich sofort am ADS Adapter vorbei, da mein Haus auf einer Beckhoff Steuerung mit TC2.11 läuft.

                                            Das SPS Programm wird von einem Hilfsprogram, dem sog. Building Automation Framework erzeugt - es entstehen dabei zwei Tasks: Control Task und Subsystem Task

                                            Bei keiner der zwei Tasks kann ich im Beckhoff System Manager das "Create Symbols" anwählen - das ist ausgegraut. Scheint vorzukommen, da bei der ADS node Library der Satz " To do this click on your task and then enable the checkbox before Create symbols (if he is not disabled). " steht.

                                            Also: Route zum Raspberry Pi eingerichtet, im iobroker Adapter die Konfiguration eingegeben....scheint alles zu passen....

                                            nur der Fehler:

                                            beckhoff.0	2019-11-19 22:35:49.970	error	(5047) adsClientGetSymbolsError: timeout
                                            beckhoff.0	2019-11-19 22:35:49.442	info	(5047) Connected to PLC. State of PLC: RUN
                                            beckhoff.0	2019-11-19 22:35:49.299	info	(5047) starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.beckhoff, node: v10.17.0
                                            

                                            Also wohl alle Adressen OK. Könnte es noch an den Ports liegen?

                                            Im Twincat PLC Control, also der Datei zum Erzeugen des SPS Programmes habe ich Symbole erzeugen angewählt.

                                            Grundsätzlich scheinen Symbole aus der Steuerung Abfragbar, da ich ein anderes Tool zur Erzeugung von Graphischen Oberflächen einsetze (ATVISE) und das dabei eingesetzte Tool per ADS die Variablennamen der Tasks auslesen kann....

                                            jetzt bin ich a bisserl ratlos und dankbar für Hilfe...

                                            Eine weitere Frage: Das SPS Laufzeitsystem kann vier verschiedene unabhängige SPS erzeugen (intern mit den Ports 801 bis 804 bezeichnet)

                                            Wo kann ich im Adapter einstellen, auf welche der Systeme der Adapter geht (im ADS-Node scheint es noch eine Einstellung zu geben...)

                                            Also schon mal Danke im Voraus!

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

                                            Support us

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

                                            962
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            beckhoff
                                            38
                                            227
                                            37691
                                            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