AMS Header

Datenfeld

Größe

Beschreibung

AMSNetId Target  

6 Bytes

Dieses ist die AMS-NetId der Station, für die das Paket bestimmt ist. Anmerkung siehe unten.

AMSPort Target  

2 Bytes

Dieses ist der AMSPort derjenigen Station, für die das Paket bestimmt ist.

AMSNetId Source

6 Bytes

Hier steht die AMSNetId der Station, von dem aus das Paket geschickt wurde.

AMSPort Source

2 Bytes

Hier steht der AMSPort der Station, von dem aus das Paket geschickt wurde.

Command Id

2 Bytes

siehe unten.

State Flags

2 Bytes

siehe unten.

Data Length

4 Bytes

Größe des Datenbereichs. Die Einheit ist Byte.

Error Code

4 Bytes

AMS-Fehlernummer. Siehe ADS Return Codes.

Invoke Id

4 Bytes

Frei benutzbares 32-Bit Feld. Üblicherweise dient dieses Feld dazu eine Id zu übertragen, die es ermöglicht ein empfangenden Response einen zuvor gesendeten Request wieder zuzuordnen.

Data

n Bytes

Datenbereich. Im Datenbereich sind die Parameter der entsprechenden ADS-Kommandos enthalten.

AMS Net Id

Die AMS-NetId besteht aus 6 Bytes und adressiert den Sender oder den Empfänger. Eine mögliche AMS-NetId wäre z.B. 172.16.17.10.1.1. Bei diesem Beispiel ist die Speicheranordnung wie folgt:

Die AMS-NetId ist rein logisch und hat in der Regel keinen Bezug zur IP-Adresse. Die AMS-NetId wird am Zielsystem konfiguriert. Beim PC wird hierzu das TwinCAT System Control benutzt. Verwenden Sie andere Hardware, so finden Sie in der entsprechenden Dokumentation Hinweise zum Einstellen der AMSNetId.

Command Id

Cmd

Beschreibung

0x0000

Invalid

0x0001

ADS Read Device Info

0x0002

ADS Read

0x0003

ADS Write

0x0004

ADS Read State

0x0005

ADS Write Control

0x0006

ADS Add Device Notification

0x0007

ADS Delete Device Notification

0x0008

ADS Device Notification

0x0009

ADS Read Write

Andere Kommandos sind nicht definiert oder werden intern benutzt. Deshalb darf die Command Id auch nur die oben aufgezählten Werte enthalten!

State Flags

Flag

Beschreibung

0x0001

0: Request / 1: Response

0x0004

ADS Kommando

Das erste Bit kennzeichnet, ob es sich um ein Request oder um ein Response handelt. Das dritte Bit muss auf 1 gesetzt werden, um Daten per ADS-Kommandos auszutauschen. Die anderen Bits sind nicht definiert oder werden zu anderen Zwecken intern benutzt. Deshalb müssen die restlichen Bits auf 0 gesetzt werden!

 

Flag

Beschreibung

0x000x

TCP Protokoll

0x004x

UDP Protokoll

Bit Nr. 7 kennzeichnet, ob es über TCP oder UDP Übertragen werden soll.