Allgemeiner Zugriff auf Online CoE-Werte
Sehr viele funktionsentscheidenden Parameter der EtherCAT Klemmen/ Box-Module werden im sogenannten CoE‑Verzeichnis im Gerät online verwaltet. Unter Umständen soll in der Inbetriebnahme auf einzelne oder mehrere Einträge im aktiven Gerät lesend oder schreibend zugegriffen werden. Das ist möglich:
- Durch den OnlineView in TwinCAT 3,
- durch einen PLC Zugriff lesend/schreibend über ADS und
- durch den TwinCAT TF6010 ADS Monitor
OnlineView in TwinCAT 3
Der einfachste Weg ist der OnlineZugriff in TwinCAT2/3: durch Doppelklick auf den Index/Subindex öffnet sich ein Editorfenster und ein Wert kann dezimal/ hexadezimal verändert und/ oder kopiert und - je nach Typ - auch zur Laufzeit beschrieben werden. Zu beachten dabei ist, dass der EtherCAT-Feldbus aktiv ist, das Gerät ansprechbar und „OnlineData“ sichtbar ist. Es kann nur auf einzelne Werte zugegriffen werden, ein sogenannten CompleteAccess ist nicht möglich.
PLC Zugriff
Sollen Werte gezielt zur Applikationslaufzeit geändert oder gelesen werden, können Funktionsblöcke (FBs) für den CoE-Zugriff der TwinCAT TC2_EtherCAT.lib genutzt werden. Siehe dazu auch die Beispielprogramme in dieser Dokumentation. Es ist Einzelzugriff und CompleteAccess möglich.
TwinCAT TF6010 ADS Monitor
Der TF6010 ADS Monitor ist ein kostenloses Hilfsmittel von Beckhoff um ADS Kommunikation zu beobachten. Er kann genutzt werden, um CoE-Werte aus dem EtherCAT Gerät zu lesen oder zu beschreiben (Command Test). Es ist Einzelzugriff und CompleteAccess möglich.
Ein Beispiel: der TwinCAT 3 FilterDesigner TE1310 (bzw. das FilterControl auf der Klemme) erzeugen eine Reihe von Filterkoeffizienten für digitale Analogwertfilterung und senden diese in das Gerät.
Die 4-Byte-Koeffizienten sind auslesbar und durch den OnlineView auch kopier-/editierbar.
Im Fall eines Gerätetauschs
Falls nach einem Gerätetausch die Koeffizienten wieder in das Neugerät geladen sollen/ müssen, können diese in einer StartUp-Liste hinterlegt werden:
Insgesamt können bei diesem Gerät bis zu 40 Koeffizienten (also 160 Byte) dort hinterlegt sein. Diese sollen nun „in einen Satz“ aus der Klemme gewonnen werden, alternativ könnten sie auch nacheinander händisch wie o.a. herauskopiert werden.
Nach Installation des TF6010 ADS Monitors von der Beckhoff Website kann er im Menü der Entwicklungsumgebung unter [TwinCAT] → [ADS Monitor] gestartet werden:
Um auf das CoE der EtherCAT Klemme zugreifen zu können, ist „EtherCAT Adresse zu aktivieren, danach muss TwinCAT aktiviert bzw. neu gestartet werden.
Im Dialog ist anzugeben:
- A: Ams Net ID des EtherCAT Masters
- B: als Port die EtherCAT Adresse des ‚Slave‘
- C: für das beabsichtigte Lesen ist ein ReadRequest anzufügen
- D: als ADS Index der Wert 0xF302 für den CoE-Bereich
- E: als ADS Offset mit acht Stellen zusammengesetzt
- erst der CoE Index, hier 0x8001
- dann der Subindex, hier 0x0101 also 257dez
0…0x00FF wären die regulären Subindize :01 bis :255 im CoE
0x0100 ist ein CompleteAccess Zugriff inkl :00, liefert also die Größeninformation die in :00 steht mit (4 Byte)
0x0101 ist ein CompleteAccess Zugriff ohne den Wert in :00 - F: das Lese‑Ziel ist hier anzugeben, z.B. als INT oder WORD;
nach erfolgreichem „Transfer“ stehen in - G: die ausgelesenen Daten, hier also der komplette 0x8001 Inhalt
So können alle 160 Byte (40 Koeffizienten) auf einem Rutsch ausgelesen werden.
Der Byte-Stream (BLOP, „binary large object“):
[40 83 20 00 00 00 00 40…] ist dann umgedreht zu lesen:
- Subindex 01: 0x00 20 83 40 = 2130752dez
- Subindex 02: 0x40 00 00 00 = 1073741824dez
- …
Was exakt den Werten aus Abbildung oben „Filterkoeffizienten Nr. 1 bis 12 von Kanal 1 im CoE-Online einer EtherCAT Klemme ELM3602“ entspricht. Die Werte können somit mittels eines Tabellenkalkulationsprogramms weiterverarbeitet und ggf. in ein eigens‑ generiertes Startup.xml eingebaut werden.