NEWS
[Adapter] Beckhoff ADS
-
@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?
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.10Bitte um Hilfe, ich dreh mich im Kreis!
-
@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
-
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. -
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? -
@schwalb hast du die variablen Liste im Adapter eingetragen?
-
@thebam Ja, Variablentabelle ist im Adapter hinterlegt. IP-Adresse und NetID sind auch richtig.
-
@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. -
@thebam Ja, die Route ist auf der Steuerung angelegt.
-
@engenious Hallo zusammen,
ich kann mich dieser generellen Fragestellung nur anschließen - es findet sich zu dem Thema TwinCAT Adapter zwar sehr viel an detaillierter Hilfestellung, aber leider sagt KEINER mal was grundsätzliches darüber, wie die Hardware-Topologie aussehen muss.
Von meinem beruflichen Wirken kenne ich das auch so, dass "irgendein" PC (und der wohl auf Windows?) mit TwinCAT-XAE ausgerüstet sein muss, um mit dem BK9050, etc. zu kommunizieren. Hiervon kenne ich auch die diversen Screenshots zur Parametrierung des Systems, die man hier im Forum findet.
ABER: ich dachte eigentlich, das geht mit dem Adapter auch OHNE PC (habe RPI4 mit IOB).
Zumindest für den normalen Betrieb (d.h. wenn nichts neu konfigurert werden soll) wäre das zu wünschen.
Alternativ: würde es per MODBUS ohne PC gehen?
... Ich kenn die Beckhoff Hardware als enorm langlebig und zuverlässig und würde sie deshalb gerne künftig auch im Privathaus einsetzen (anstelle HM wired IP z.B.) - aber wie??Vielleicht kann einer von euch Aufhellung bringen? (oder einen Kontakt bei Beckhoff nennen, der sich mit IOB auskennt?).
-
@schwalb
Hallo,
ich habe eine C6015 mit TC 3 im Einsatz.
Über die XAE auf meinem PC habe ich das Routing zum IO-Broker nicht zum Laufen bekommen.
Ich musste das Routing auf der C6015 direkt machen dann ging es. -
Hallo,
wie gewünscht mal ein paar generelle Informationen.
Die relevanten Komponenten meines SmartHomes:
- Beckhoff CP**** mit TwinCat3 XAR hängt mit Schnittstelle 1 in VLAN 2 und auf der zweiten Schnittstelle hängt das mit EtherCat für die IO Module
- ioBroker Instanz läuft in einem Docker Container der auf meiner Synology NAS läuft. Die NAS befindet sich in VLAN 1 - 4
- TwinCat 3 XAE auf meinem Rechner in VLAN 3 für die Programmierung / Parametrierung der Beckhoff
Netzwerk:
- Grundsätzlich sind verschiedene IP Bereiche sowie alles in einem IP Bereich für die Kommunikation ioBroker <> Beckhoff oder XAE <> Beckhoff uneingeschränkt möglich es handelt sich hier hier um routingfähige TCP oder UDP kommunikation ... Routing muss halt in beide Richtungen passen.
- Wichtig ist das die Ports dementsprechend freigeschalten sind (Sollte aber zumindest auf der Beckhoff out of the Box passen aber prüfen schadet nicht.
- Im ioBroker muss selbstredend die AMSNetId und die IP Adresse der Beckhoff ordentlich eingetragen werden.
- Und natürlich das Beckhoff "Routing" muss passen also das in der Beckhoff die "Route" für den ioBroker freigeschalten ist. Hier muss die AMSNetId und die IP Adresse mit der des ioBrokers zusammenpassen. VORSICHT: Anstatt der "IP Adresse" kann man auch den "Host Name" nehmen -> Das kann Probleme machen -> Ich arbeite bei solchen Sachen immer mit der IP Adresse.
- Das Hinzufügen der Route funktioniert entweder auf der Beckhoff direkt. Oder aber auch von der entfernten XAE -> Der Trick ist aber das man online gehen muss und dann im Projekt unter Routing die "Route" hinzufügen kann
Konfiguration:
- Das Projekt selbst läuft bis auf die Netzwerkkonfiguration (oben) out of the Box. Keine besonderen Einstellungen etc. damit der ioBroker auf die Variablen der Beckhoff zugreifen kann.
- Es muss im Prinzip nur die Variablentabelle die im ioBroker eingetragen wurde auch in der Beckhoff vorhanden sein.
Hoffe ich konnte ein paar hilfreiche Inputs liefern
Gruß,
dkleber89 -
@dkleber89 Danke für die Info.
D.h. das ist bei weitem nicht einfach ein BK.. Buskoppler mit I/O-Klemmen per LAN-Kabel am Raspberry angeschlossen... klingt erstmal etwas komplex für mich, denn ich wollte mir eigentlich das ganze XAE-Zeug und TwinCAT-SW ersparen (und natürlich auch die Notwendigkeit eines zusätzlichen WINDWOS-PC's!).
Was wäre denn alternativ mit Modbus? Gibt es da Register-Verzeichnisse von Beckhoff oder hat das evtl. schonjemand anders hier gelöst?
GrußWalter
-
Wenn ich das richtig verstehe willst du mittels Beckhoff nur die ein und Ausgänge verwalten das reine Steuern willst du über einen raspberry machen. Vom grunde her ist es zwar ein wenig schwachsinnig ein Industrie Produkte was für 24/7/365/20 ausgelegt ist mit einem bastel pc zu verknüpfen der alles steuern soll. Aber warum nicht. Ich bin mir nur nicht ganz sicher ob Beckhoff da ein passendes Gerät hat. Könnte sein das der BK9050 so ein Gerät ist bin mir aber sonst nicht sicher da Beckhoff eigentlich auf vielen(fast allen) geräten Windows drauf hat.
Für deine Anwendungen habe ich sowas schon mal gesehen von weidmüller UR20-FBC-MOD-TCP-V2 modbus geht ja im iobroker bei den andere Protokollen sieht es ehr schlecht aus. -
@thebam
Hallo,
ja, das ist mit Beckhoff-Produkten möglich, schau mal hier:
https://www.sps-forum.de/threads/raspberry-pi-3-und-beckhoff-ek1100.90782/Allerdings brauchst du ne CodeSYS-Lizenz ( 50€ )
-
@t-spooner
Ich glaube das war aber nicht die frage/lösung was walter-iob wollte. Möglich ist vieles -
@Walter-IOB ich muss mich da @TheBam anschließen wenn du wirklich planst eine seriöse Hausautomatisierung hochzuziehen würde ich von solchen Bastellösungen die Finger lassen. Du willst ja im Haus nicht ständig irgendwelche Probleme haben.
Ich habe bei mir ein Beckhoff C6015 mit den Win 10 IOT und TwinCat3 im Einsatz ist stabil für 24/7 ausgelegt und funktioniert super.
Aber das muss du natürlich selber wissen... Will dir da nichts aufschwatzen, bin kein Beckhoff Vertreter
Gruß,
dkleber89 -
@dkleber89 ja, ich gebe dir recht: eine Bastellösung soll es nicht sein. Aber ich hab seit fast 1 Jahr extrem gute Erfahrung mit IOB auf RPI4 gemacht (steuert Homematic, kommuniziert mit Wärmepumpe und PV-Anlage, - und sehr stabil!)
Jetzt geht es um unser neues Haus und eine solide Lösung. Also ein kompakter Beckhoff-PC plus BK+I/O war auch schon angedacht, aber dann wieder Windows und das ist m.W. nicht so gut zusammen mit IOB (?).
Deine Lösung ist ja wohl so, dass der C6015 als Steuerrechner für die Beckhoff-Welt fungiert, und IOB in der Linux-Welt läuft auf dem NAS - richtig? (also wenn man den schrägen Vergleich bemühen will quasi so was wie CCU3+Homematic IPWired?? - aber ist natürlich vom Anspruch nicht ganz zu vergleichen).
Was nimmst du dann für Logik, Steuerung und Visualisierung? IO+Java+VIS? oder sonst? -
@Walter-IOB ich hab hier mal ein kleines Systemdiagramm gemacht:
Als grobe Übersicht wie das bei mir ungefähr ausschaut....
Zu deiner Einschätzung -> Ja ioBroker läuft wirklich hervorragend aber ein Haus das für sehr viele Jahre 100% stabil laufen soll ... Ich würde das nicht machen ... Bei mir kann im Prinzip bis auf die Beckhoff alles ausfallen (Ist auch alles mit Fallbacks etc. programmiert) ... Ja ich habe nicht mehr den Komfort und verschiedene Funktionen werden nicht mehr funktionieren. Aber alle grundsätzlichen Funktionen wie Licht, Strom, Wasser, Abwasser, Kochen etc. etc. funktionieren weiter.
-
@dkleber89 Super Grafik! Das erklärt doch vieles
Was wäre wenn man auf so einem IPC mit Win10 IoT noch eine virtuelle Linux Maschine aufsetzt und darin den iobroker etc laufen lässt? Und dann noch den IPC mit RAID1 SSD?
Hat jemand Erfahrung mit sowas?
(Ich stehe nämlich auch auf Redundanz und Fallbacks 🥴) -
@walter-iob Das wird vermutlich möglich sein ... Im Prinzip bräuchtest du nur "Docker Desktop" bzw. die Docker Runtime die auf dem IPC läuft und dann kannst du alles schon machen ... Der IPC bräuchte halt dementsprechend ein bisschen mehr Leistung besonders beim RAM brauchts dann schon etwas mehr ...
Dann ioBroker Image herunterladen und starten ... Hättest dann auch die Möglichkeit verschiedene andere Sachen ganz unkompliziert über den Docker Hub herunterzuladen und zu installieren
Ob das auf einem IPC Funktioniert auf dem Win 10 IoT als Betriebssystem installiert ist und eine TwinCat Instanz läuft weiß ich nicht. Ein paar Punkte die mir spontan einfallen:
- Funktioniert Docker Desktop auf Win 10 IoT -> Respektive gibt es die WSL 2 Unterstützung -> Alternative vollwertiges Windows nehmen
- Funktioniert Docker Desktop neben TwinCat? Weil beide sehr nah an der Hardware arbeiten (Gleiches Thema bei der installation einer virtuellen Maschine)
- Der Rest ist konfigurationssache und sollte aus meiner sicht alles machbar sein -> Sofern das wissen schon da ist oder du bereit bist da etwas Zeit zu investieren.
- Du musst halt wissen das der IPC ein "Single point of failure" ist ... Das muss demensprechend mit Backups / Ersatzhardware / Architektur berücksichtigt werden (Im Prinzip kein Drama solche Punkte habe ich auch aber habe mir schon gedanken gemacht was ich machen muss falls dieser Fall eintritt)