Das TwinCAT ADS Interface zum EAP Gerät

Das TwinCAT EAP Gerät stellt für andere Kommunikationspartner (z.B. virtuelle Feldgeräte oder Windows-Programme) ein TwinCAT ADS/AMS Interface zur Verfügung und agiert als ADS/AMS-Server. ADS steht für Automation Device Specification und beschreibt eine geräte- und feldbusunabhängige Schnittstelle. AMS steht für Automation MessageSpecification und ermöglicht es, zentrale und dezentrale Systeme zu adressieren wie PCs aber auch Buscontroller. ADS/AMS ist von Beckhoff spezifiziert worden und wird vom TwinCAT Router unterstützt. Nachrichten, die über die Rechnergrenze hinaus in einem Netzwerk verschickt werden, werden per TCP/IP übertragen.

Über dieses Interface kann auch der CANopen Kommunikationskanal SDO (Service Data Object) genutzt werden. Die SDOs dienen in erster Linie zum Lesen sowie schreiben der Parameter des CANopen Object Dictionary (OD). Die Übertragung von SDOs erfolgt als bestätigter Datentransfer in Form einer Punkt-zu-Punkt-Verbindung zwischen zwei Kommunikationspartnern und ist in ADS eingebettet:

Unter Verwendung der ADS Read oder ADS Write Kommandos auf den Port 0xFFFF und die NetID des EAP Gerätes (Tab „Protocol“) werden die Parameter bzw. die SDO-Beschreibung des CANopen OD gelesen oder geschrieben. Wie in der Tabelle aufgeführt, ist der Kommunikationskanal CANopen SDO folgendermaßen in das ADS Protokoll eingebettet:

CANopen SDO
Kommunikation

ADS Command

Index Group

Index Offset

Bedeutung

SDO Upload

Read

0xF302

Index und Subindex eines SDO.
Bit 16-31: Index
Bit 8: Complete Access
Bit 0-7: Subindex

Beispiel:
0x16010001:
Index = 0x1601
Complete Access = 0
Subindex = 1

Wenn der Complete Access = 1 ist, dann hat der Subindex keine Bedeutung

Data Type: UINT8[n]

SDO Upload Request:
Das Objekt wird anhand des Index Offset adressiert und sein Inhalt kann mit Hilfe eines ADS Read gelesen werden.

SDO Download

Write

0xF302

Index und Subindex eines SDO.
Bit 16-31: Index
Bit 8: Complete Access
Bit 0-7: Subindex

Beispiel:
0x16010001:
Index = 0x1601
Complete Access = 0
Subindex = 1

Wenn der Complete Access = 1 ist, dann hat der Subindex keine Bedeutung

Data Type: UINT8[n]

SDO Download Request:
Das Objekt wird anhand des Index Offset adressiert und sein Inhalt kann mit Hilfe eines ADS Write geschrieben werden.

SDO Information

Get Object List

Read

0xF3FC

Bit 16-31: Listentypen

 

 

 

 

 

 

 

Beispiele:

0x00000000: Liefert zu jedem Listentyp die Anzahl aller vorhandenen Objekte

 

 

 

0x00010000: Liefert die Indizes aller Objekte für den spezifizierten Listentyp zurück

Liefert die Indizes der Objekte zurück, die zu dem Listentyp gehören, der im Index Offset spezifiziert ist.

Mögliche Listentypen sind:
ALL_OBJECTS = 1
RXPD_OBJECTS = 2
TXPD_OBJECTS = 3
BACKUP_OBJECTS = 4
SETTING_OBJECTS = 5

Data Type: UINT16[6]

Wenn Listentyp = 0000:
Element = 0 : Anzahl der Listentypen

Element > 0 : Anzahl vor­handener Objekte, die zum n-ten Listentypen gehören

Data Type: UINT16[n]

Wenn Listentyp > 0000:
Element n=0 : Anzahl vor­handener Objekte, die zu diesem Listentypen gehören plus eins.

Element n>0: Der n‑te Objekteindex, der zu diesem Listentypen gehört

SDO Information

Get Object Description

Read

0xF3FD

Bit 16-31: Index

Lesen der SDO Beschreibung des vollständigen Objekts mit dem spezifizierten Index.

SDO Information

Get Entry Description

Read

0xF3FE

Bit 16-31: Index

Bit 0-7: Subindex

Lesen der SDO Beschreibung des einzelnen Eintrags mit dem spezifizierten Subindex, der zu dem Objekt mit dem spezifizierten Index gehört.