AMS-Header

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 | |
State Flags | 2 Bytes | |
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:

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 | |
0x0002 | |
0x0003 | |
0x0004 | |
0x0005 | |
0x0006 | |
0x0007 | |
0x0008 | |
0x0009 |
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.