AMS-Header

AMS-Header 1:

Datenarray

Größe

Beschreibung

AMSNetID-Ziel

6 Bytes

Dies ist die AMSNetID der Station, für die das Paket bestimmt ist. Anmerkungen siehe nachstehend.

AMSPort-Ziel

2 Bytes

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

AMSNetID-Quelle

6 Bytes

Diese enthält die AMSNetID der Station, von der das Paket gesendet wurde.

AMSPort-Quelle

2 Bytes

Diese enthält den AMSPort der Station, von der das Paket gesendet wurde.

Befehls-ID

2 Bytes

siehe nachstehend.

State Flags

2 Bytes

siehe nachstehend.

Datenlänge

4 Bytes

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

Fehlercode

4 Bytes

AMS-Fehlernummer. Siehe ADS Return-Codes.

Invoke-ID

4 Bytes

Frei verwendbarer 32-Bit-Array. Dieser Array wird normalerweise zum Senden einer ID verwendet. Diese ID ermöglicht die Zuweisung einer erhaltenen Antwort auf eine Anforderung, die zuvor gesandt wurde.

Daten

n Bytes

Datenbereich. Der Datenbereich enthält die Parameter der entsprechenden ADS-Befehle.

AMS Net ID

Die AMSNetID besteht aus 6 Bytes und spricht den Sender oder Empfänger an. Eine mögliche AMSNetID wäre z. B. 172.16.17.10.1.1. Die Speicheranordnung in diesem Beispiel ist wie folgt:

AMS-Header 2:

Die AMSNetID ist rein logisch und steht normalerweise in keiner Beziehung zu der IP-Adresse. Die AMSNetID wird im Zielsystem konfiguriert. Am PC wird hierfür die TwinCAT Systemsteuerung verwendet. Siehe bei Verwendung einer anderen Hardware die entsprechende Dokumentation für Hinweise zu den Einstellungen der AMS NetID.

Befehls-ID

Cmd

Beschreibung

0x0000

Ungültig

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

Weitere Befehle sind nicht definiert oder werden intern verwendet. Daher darf die Command-ID lediglich die vorstehend aufgezählten Werte enthalten!

State Flags

Flag

Beschreibung

0x0001

0: Anforderung / 1: Antwort

0x0004

ADS-Befehl

Das erste Bit gibt Auskunft darüber, ob es sich um eine Anforderung oder eine Antwort handelt. Das dritte Bit muss auf 1 gesetzt werden, um Daten mit ADS-Befehlen auszutauschen. Die anderen Bits sind nicht definiert oder werden zu anderen internen Zwecken verwendet.

Daher müssen die anderen Bits auf 0 gesetzt werden!

Flag

Beschreibung

0x000x

TCP-Protokoll

0x004x

UDP-Protokoll

Bit Nummer 7 gibt an, ob es mit TCP oder UDP übertragen werden muss.