NEWS
[Adapter] Beckhoff ADS
-
@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)
-
@dkleber89 hey, es ist ja einfacher als gedacht .. habe mich jetzt mal etwas schlau gemacht zum Thema "Docker" ... und siehe da, alles schon fertig. Hier gibt es eine schöne Anleitung, was die glücklichen (wie ich) nur machen müssen, um ioBroker auf einer Symology NAS (sofern vorhanden zu installieren.
https://www.youtube.com/watch?v=s471CHl2KHg (einer meiner Lieblingsautoren, da didaktisch immer recht gut aufbereitet).
Dann macht deine Grafik langsam richtig Sinn, d.h. ich werd mir einen kleinen C6015 oder C6017 zulegen, Buskoppler plus die erforderlichen Busklemmen - und auf gehts (hoffentlich !). -
@t-spooner das mit dem Routing ist mir noch nicht klar - wer kann das aufklären?
meine Konfiguration: iobroker auf RPI4 (= Adresse "IP1"), TCAT XAE auf Surface PC (= Adresse "IP2"), Buskoppler BK9050 mit Busklemmen (= Adresse "IP3"), alle 3 im selben Subnetz.
Als E/A-Gerät im XAE habe ich "virtuellen Ethernet-Adapter" im PC gewählt, dann Task angelegt, Variablen angelegt und mit IO's verknüpft -> Busklemmen lassen sich im XAE ansteuern.Frage 1: ich sehe im XAE (auf dem PC) eine aktuelle Route auf "<IP3>.1.1". Lege ich eine STATISCHE Route an auf selbe Adresse (?), dann ist die nach Neustart der Konfiguration wieder weg. Was mach ich da falsch? Bzw. was muss in diesem Fall da eingetragen werden?
Frage 2: was muss ich dann in der Parametrierung der TwinCAT Instanz im IOB eintragen:
- für "Ziel IP-Adresse"
- für "Ziel AMS-Net-ID"
- für "Port-Nr." (im IOB-Adapter default 48898, im XAE finde ich bei "ADS" vom E/A-Gerät die Port Nr. 28673 ..?)
und Frage 3:
was hat es mit "Ziel Variablentabelle" im IOB auf sich?? Ist das die "CurrentConfig.XML"?? oder was sonst?Ich bekomme jedenfalls keine Kommunikation hin zwischen IOB Adapter und BK9050 .. ("verbunden mit Beckhoff: falsch")
-
@dkleber89 said in [Adapter] Beckhoff ADS:
Es muss im Prinzip nur die Variablentabelle die im ioBroker eingetragen wurde auch in der Beckhoff vorhanden sein.
... kannst du das einem Newbie bitte erklären? verstehe ich nicht
-
@walter-iob Du kannst auf dem BK9050 keine XAR laufen lassen, das ist nur ein Koppler, die XAR läuft auf deinem PC (7 Tage Trail-Lizenz?). d.h. Du musst die NetID vom PC nehmen
-
hallo alle zusammen,
ich habe das Problem endlich gelöst bekommen!!!
Ich bekam Hilfe von Beckhoff-Support und die Ursache konnte eingegrenzt werden, aber nicht beseitigt.
Es können bei mir nur 255 Variablen per ADS zwischen Beckhoff und dem IO-Broker gehandelt werden, das wurde mit Wireshark rausgefunden, laut InformationSystem gehen aber bis zu 500!
Ich habe jetzt ne Menge boolsche Variablen zu word's zusammengefasst, das warf zwar einige Problemw im VIS auf, aber es läuft, weil ich jetzt unter 255 Variablen handele.
Warum nicht mehr gehen, konnte nicht rausgefunden werden und so tief bin ich auch nicht drin
Gruß T.Spooner -
@schwalb Hab den Fehler gefunden:
Unter den optionalen Adaptereinstellungen bei "Adapter AMS Net-ID" muss meine Net-ID stehen. Hab das übersehen. Trotzdem danke für die Hilfe. -
Hallo zusammen
Die Version 1.5.1 beinhaltet ja neu weitere Datentypen. Nun beim Datentyp TOD (Time of Day) wird jedoch im iobroker eine DT (Date and Time) Variable statt eine TOD angelegt. Hier hat es aus meiner Sicht einen Fehler und bei mir funktioniert diese so nicht. Auch wenn ich nur die Zeit von der Variable verwende wird zwar die Zeit gesetzt (jedoch mit einer 1h versetzt!?). Nach kurzer Zeit wird diese dann aber irgendwie wieder zurück gesetzt auf das Standard Datum 1970....
Liege ich da richtig und wird das noch korrigiert oder wie soll das genau gehen? -
Ich bin gerade auch dabei mich in die materie Beckhoff SPS einzulesen. Was brauche ich alles um eine Steuerung hinzubekommen die intern ihr Programm abarbeitet. Und die ich dann per iob auch schalten kann. So zusagen wie bei der logo 8.
Würde als CPU die BC9100 reichen und wie programmiere ich die CPU?
-
@basti97
Deine Anwendung ist nicht ganz klar was du vor hast vorallem wenn du keine Erfahrung hast mit Beckhoff dann ist das auch nicht ganz so einfach mit rein kommen. Ich denke nur der Koppler den du ausgesucht hast ist nicht so einfach gerade mit iobroker. Da der Beckhoff Adapter ADS spricht und das habe ich bei dem Koppler nicht gesehen. Zudem musste der Koppler mit twincat2 sein wenn ich das Recht im Kopf habe sprich du brauchst eine licenz.
Wenn du nur i/o haben willst schau dir Mal den EK9000 an der geht auf modbus und Brauch nicht viel konfiguriert werden. Das geht dann mit dem modbus Adapter.
Ansonsten wenn du eine sps haben willst schau dir Mal den cx9020 an ist sehr günstig und kann extrem viel. Den habe ich auch mit dem in iobroker verbunden per ADS.