Beckhoff ADS Zugriff auf EK1100-El1008-EL2004

vo13

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe ein Beckhoff Klemmensystem mit einem EK1100, 2 x EL1008 und 2 x EL2004 aufgebaut.
Nun möchte ich über die ADS dll von Beckhoff auf die Ein- und Ausgänge zugreifen können.
Da das Ganze nicht zeitkritisch ist, soll alle 20ms eine ads Abfrage erfolgen.
Das Programm soll in der Programmiersprache c++ erstellt werden.

Muss ich hierfür TwinCat installieren und die Klemmen konfigurieren?
Oder sogar einen Task mit Zuordnung der Ein-Ausgänge auf Variablen in TwinCat erstellen?

Was muss ich noch ausführen bzw. beachten?

Würde mich freuen, wenn jemand weitere Infos hierzu hätte.

Gruß
 
Hallo!

Ohne eine Installation von TwinCAT und Zuordnung zu einer Task (mit Ausnahmen du würdest einen anderen EtherCAT-Master nutzen) kannst du weder etwas mit dem Koppler noch mit den Klemmen anfangen.

Für den Zugriff aus C++ gibt es viele verschiedene Möglichkeiten:
- R3IO
- TcTimer
- TcAdsDll
- TcCOM (Tc3)

Dazu müsstest du schon sagen, was du für ein System hast -sprich: was für einen Steuerungs-PC du einsetzen möchtest.

Gruß,
mac203
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo mac203,
vielen Dank für deine Antwort.
Habe mir das fast schon gedacht, dass es nicht anders geht.

Das Konzept ist eigentlich so:
Wir haben ein Programm 1 welches auf allen Maschinen läuft.
Diese Prg1 startet Funktionen in Prg2 über eine Server. Prg2 unterstützt nun unterschiedliche Hardware, in der jetzigen Version Karten welche über Can-Bus laufen.
Wir wollen von der Can-Bus Variante abkommen und Beckhoff IO Klemmen einsetzen. Nun ändern wir Prg2 auf Beckhoff, Prg1 bleibt unverändert, das ist der Vorteil daran.

Für beide Programme verwenden wir einen Win7 PC.
Dort wird nun TwinCat 2 installiert und die I/O's auf Variablen in einem Task gelegt.
Die Variablen werden über TcAdsDll von Prg2 zyklisch in 20ms eingelesen und ausgewertet (alles zeitunkritisch).
Diese Auswertung erfolgt über einen eigenen Thread.

Eine Frage noch zu TwinCat:
Ich erstelle nun die Konfiguration und die Variablendefinition.
Muss ich das Ganze irgendwie starten?
Kann ich abfragen, ob das System läuft?
Wie ist es beim Neustart des PC's? Wird die Konfiguration automatisch gestartet oder muss ich noch was aktivieren.

Gruß und Danke für die Hilfen.
 
Wenn ich das richtig verstanden habe, läuft Prg2 auf einem eigenen Win7 PC (vermutlich kein IPC).

EtherCAT erfordert einiges an Echtzeitfähigkeit von einem PC. Ist diese Echtzeitfähigkeit nicht gegeben, wird einer Hardware-Konfiguration sehr wahrscheinlich nicht laufen. Wichtig ist auch, dass als EtherCAT-Master eine Netzwerkkarte mit einem Intel-Chipsatz eingesetzt wird.
Aber probieren kann man es ja mal.

Du erstellst dir also eine Konfiguration, bzw. lässt dir diese erstellen durch einscannnen der angeschlossenen HW.
Unter "System-Konfiguration-->Zusätzliche Task" legst über das Kontextmenü eine neue Task an, stellst die Zykluszeit ein und setzt das Häkchen für Autostart.
Unter den Ein- und Ausgänge erzeugst du genau die EAs die deiner Hardware entsprechen und verknüpfst diese per Doppelklick.

Anschließend wird die Konfiguration aktiviert (Menü: Aktionen).
Unter System-Konfiguration, Reiter Boot-Einstellungen noch einmal Auto Boot auf Run-Modus, Übernehmen und schon startet beim nächsten PC-Start die Konfiguration.
Soll sich der Rechner auch automatischen an der Oberfläche anmelden, setze noch einen Haken bei Auto Logon.

All das fuktioniert im Demo Mode der Software die ersten 30 Tage.....
 
Habe schon eine 2. Netzwerkkarte von Beckhoff eingebaut und die Konfiguration eingelesen, funktioniert soweit.
Als nächstes kommt der ADS Teil über c++ dran....
Habe TwinCat noch im Demo Mode laufen.
Welche Lizenz brauche ich für einen Dauereinsatz? Kosten?

Gruß
vo13
 
Hi,

Prg2 unterstützt nun unterschiedliche Hardware, in der jetzigen Version Karten welche über Can-Bus laufen.
Wir wollen von der Can-Bus Variante abkommen und Beckhoff IO Klemmen einsetzen. Nun ändern wir Prg2 auf Beckhoff, Prg1 bleibt unverändert, das ist der Vorteil daran.

Wenn das bisher mit CAN bis läuft, warum dann nun auf EtherCat (E-BUS)? Wir die ggf. höhere mögliche Geschwindigkeit benötigt?
Oder nur weil EtherCat toll klingt. Mit nem K-Bus Koppler (z.B. BK9000) könntest wenn ich mich recht erinnere auch direkt per ADS ohne TwinCat auf den Koppler zugreifen.
Das ist doch das Ziel, wenn ich es recht verstehe.

Gruß ohm200x
 
Hallo ohm200x,
das Projekt mit einem K-Buskoppler zu lösen und ohne TwinCat auf die Klemmen zu kommen ist ideal!
Das werde ich auf jeden Fall mal probieren. Danke für den Tipp....

Weshalb ich von einer Can-Bus Lösung weg will, ist eigentlich sehr einfach. Wir setzen seit ca. 12 Jahren Eigenbau Can-Karten ein.
Nun sind Bauteile abgekündigt. Hinzu kommt noch, dass diese Karten relativ teuer sind und wir einige Funktionen drauf haben, welche wir nicht mehr benötigen.
Mit einer höheren Gschwindigkeit hat das nichts zu tun, denn ich frage die IO's alle 20ms ab, das reicht für unsere Anwendung.

Gruß vo13
 
Zurück
Oben