12.2. AMP¶
Das ASCII Message Protocol (AMP) ist ein in der Automatisierungsindustrie weit verbreitetes Kommunikationsprotokoll für Supervisory Control and Data Acquisition (SCADA) und Systemintegration. Das ASCII Message Protocol (AMP) wurde entwickelt, um eine zuverlässige Kommunikation zwischen industriellen Geräten zu gewährleisten. Das ASCII Message Protocol (AMP) wird zur Überwachung und Steuerung von industriellen Automatisierungsgeräten wie speicherprogrammierbaren Steuerungen (SPS), Sensoren und Messgeräten verwendet.
Das Gerät verwendet die Funktion Deep Packet Inspection (DPI), um Datenpakete zu verwerfen, die gegen eines der angegebenen Profile verstoßen. Die AMP Enforcer-Funktion unterstützt Common ASCII Message Protocol (CAMP) und Non-Intelligent Terminal Protocol (NITP) unter Verwendung von TCP. Das Gerät verwendet die AMP Enforcer-Funktion zur Durchführung der DPI-Funktion für den CAMP- und NITP-Datenstrom. Das Gerät führt die DPI-Funktion auf der Grundlage der Programm- und Modusschutzfunktion und der angegebenen Profile aus.
Wenn das AMP Enforcer-Profil aktiv ist, wendet das Gerät die Profile auf den Datenstrom an.
Das Gerät lässt nur Datenpakete zu, die die in den folgenden Feldern angegebenen Werte enthalten, je nach Status der Schutzfunktion Programm und Modus:
Protokoll
Nachrichten-Typ
Address class
Device class
Memory address
Data word
Task code
Task code data
Block check characters
Error check characters
Sanity check
Das Menü enthält die folgenden Dialoge:
AMP Global
AMP-Profil
Sie finden den AMP-Enforcer unter Firewall → Enforcer → AMP.
12.2.1. AMP Einstellungen¶
- Name
Name des AMP-Enforcers.
Mögliche Werte:
Zeichenfolge mit 0..100 Zeichen
- Beschreibung
Beschreibung des AMP-enforcer.
Mögliche Werte:
Zeichenkette mit 0..250 Zeichen
- Aktiviert
Unabhängig davon, ob der AMP-Enforcer aktiv ist oder nicht.
Mögliche Werte:
Aktiviert
Deaktiviert (Standardeinstellung)
Protokoll
Gibt den TCP-Payload Protocol Typen der Datenpakete an, auf die das Gerät das Profil anwendet. Das Gerät wendet das Profil nur auf Datenpakete an, die den angegebenen Wert im Feld Protokoll enthalten.
Mögliche Werte:
camp
Common ASCII Message Protocol
**nitp*
Non-Intelligent Terminal Protocol
any (default setting)
Das Gerät wendet das Profil auf jedes Datenpaket an, ohne das Protokoll auszuwerten.
- Task code
Voraussetzung ist, dass im Feld Protocol einer der folgenden Werte angegeben ist:
nitp
camp: Zusätzlich wird im Feld Message type ein hexadezimaler Wert im Bereich 00..03 oder der hexadezimale Wert FF angegeben.
any: Zusätzlich wird im Feld Message type der Wert any angegeben.
Mögliche Werte:
01-9A
- Task code data
Gibt die task code daten für den Task code an.
Voraussetzung ist, dass im Feld Protocol einer der folgenden Werte angegeben ist:
camp
Zusätzlich werden im Feld Message type ein hexadezimaler Wert im Bereich 00..03 oder der hexadezimale Wert FF und im Feld Task code ein einzelner hexadezimaler Wert angegeben.
**nitp*
Zusätzlich wird im Feld Task code ein einzelner hexadezimaler Wert angegeben.
Mögliche Werte:
0..F
Das Gerät wendet das Profil nur auf Datenpakete an, die die angegebenen task code Daten enthalten. Die maximale Länge beträgt 72 Bytes.
- Message types
Gibt an, ob die Nachricht vom Typ Befehl oder Antwort ist. Voraussetzung ist, dass im Feld Protokoll der Wert camp angegeben ist.
Mögliche Werte:
00-FF
- Address Classes
Gibt die Art des Speichers an, auf den im Gerät zugegriffen werden soll.
Voraussetzungen:
Im Feld Protokoll wird der Wert camp angegeben.
Im Feld Message type wird ein hexadezimaler Wert im Bereich 00..03 oder der hexadezimale Wert FF angegeben.
Mögliche Werte:
any (Standardeinstellung)
Das Gerät wendet das Profil auf jedes Datenpaket an, ohne die Address Class auszuwerten.
0000..FFFF
Das Gerät wendet das Profil nur auf Datenpakete an, die die angegebene Address Class enthalten.
- Device class
Gibt die Art der Device Class (herstellerspezifisches Gerät) an, auf die zugegriffen werden soll.
Voraussetzungen:
Im Feld Protokoll wird der Wert camp angegeben.
Im Feld Message type wird ein hexadezimaler Wert im Bereich 00..03 oder der hexadezimale Wert FF angegeben.
Mögliche Werte:
any (Standardeinstellung)
Das Gerät wendet das Profil auf jedes Datenpaket an, ohne die Device Class auszuwerten.
0000..FFFF
Das Gerät wendet das Profil nur auf Datenpakete an, die die angegebene Device Class enthalten.
- Memory address
Gibt die Anfangsadresse des zu lesenden oder zu schreibenden Speichers an.
Voraussetzungen:
Im Feld Protokoll wird der Wert camp angegeben.
Im Feld Message type wird ein hexadezimaler Wert im Bereich 00..01 oder 04..09 oder der hexadezimale Wert FF angegeben.
Mögliche Werte:
any (Standardeinstellung)
Das Gerät wendet das Profil auf jedes Datenpaket an, ohne die Memory Address auszuwerten.
0000..FFFF
Das Gerät wendet das Profil nur auf Datenpakete an, die die angegebene Memory Address enthalten.
- Data word
Gibt die Startadresse an, die das Gerät zum Lesen von Daten aus dem Paket verwendet.
Voraussetzungen:
Im Feld Protokoll wird der Wert camp angegeben.
Im Feld Message type wird ein hexadezimaler Wert im Bereich 00..01 oder 08..09 oder der hexadezimale Wert FF angegeben.
Mögliche Werte:
any (Standardeinstellung)
Das Gerät wendet das Profil auf jedes Datenpaket an, ohne das Data Word auszuwerten.
0000..FFFF
Das Gerät wendet das Profil nur auf Datenpakete an, die das angegebene Data Word enthalten.
- **Sanity check*
Aktiviert/deaktiviert die Plausibilitätsprüfung für die Datenpakete.
Mögliche Werte:
aktiviert (Standardeinstellung)
Die Plausibilitätsprüfung ist aktiv.
Das Gerät prüft die Plausibilität der Datenpakete hinsichtlich Format und Spezifikation.
Das Gerät blockiert die Datenpakete, die gegen die angegebenen Profile verstoßen.
deaktiviert
Die Plausibilitätsprüfung ist inaktiv.
- TCP Reset
Aktiviert/deaktiviert das Zurücksetzen der TCP-Verbindung im Falle einer Protokollverletzung oder wenn die Plausibilitätsprüfung einen Fehler feststellt.
Mögliche Werte:
aktiviert (Standardeinstellung)
Das Zurücksetzen der TCP-Verbindung ist aktiv.
Stellt das Gerät eine Protokollverletzung fest oder erkennt es einen Fehler bei der Plausibilitätsprüfung, so beendet es die TCP-Verbindung. Bei einem neuen Verbindungswunsch baut das Gerät die TCP-Verbindung wieder auf.
deaktiviert
Das Zurücksetzen der TCP-Verbindung ist inaktiv.
- Debug
Aktiviert/deaktiviert das Debugging in den Profilen.
Mögliche Werte:
Aktiviert
Debugging ist aktiv.
Das Gerät sendet das Reset-Paket zusammen mit den Informationen über den Abbruch der TCP-Verbindung. Voraussetzung ist, dass im Feld TCP-Reset das Kontrollkästchen markiert ist.
deaktiviert (Standardeinstellung)
Das Debugging ist inaktiv.
12.2.2. Task Codes¶
- Aktiviert
Unabhängig davon, ob der AMP-Enforcer aktiv ist oder nicht.
Mögliche Werte:
Aktiviert
Deaktiviert (Standardeinstellung)
- Beschreibung
Beschreibung des AMP-enforcer.
Mögliche Werte:
Zeichenkette mit 0..250 Zeichen
- Task code
Mögliche Werte:
01-9A
- Mode
Gibt den für den Task Code geltenden Modus an.
Mögliche Werte:
**config*
Gibt Befehle an, die mit der Änderung der Steuerungseinstellungen, des Anwendungsprogramms oder der Betriebsart verbunden sind.
nicht-konfig
Gibt Lese-/Schreibbefehle an, mit Ausnahme der Befehle, die mit der Änderung der Steuerungseinstellungen, des Anwendungsprogramms oder des Betriebsmodus verbunden sind.
12.2.3. Globale AMP-Einstellungen¶
Protect mode
Aktiviert/deaktiviert die Prüfung der Datenpakete, die die Task-Codes mit dem Wert config im Feld Mode enthalten.
Mögliche Werte:
aktiviert (Standardeinstellung)
Die Inspektion ist aktiv.
Das Gerät leitet nur die Datenpakete weiter, die mit den in den Profilen angegebenen Parametern übereinstimmen. Das Gerät verwirft Datenpakete, die den Wert config im Feld Mode für die in den Profilen angegebenen Task-Codes enthalten.
deaktiviert
Das Gerät leitet die Datenpakete weiter, die den in den Profilen angegebenen Parametern entsprechen, einschließlich der Datenpakete, die Task-Codes mit dem Wert config im Feld Mode enthalten.
12.2.4. Aufgabencode¶
# |
Bedeutung |
---|---|
01 |
Lesen Word Memory Random |
02 |
Write Word Memory Area Random |
30 |
Operational Status lesen |
32 |
Programm in den Run-Mode |
33 |
Zum Programm-Mode wechseln |
34 |
Power-up ausführen |
35 |
Vollständigen (Warm) Start ausführen |
36 |
Teilweisen (Hot) Start durchführen |
50 |
User Word Area Block lesen |
51 |
User Word Area ab Adresse schreiben |
58 |
Einstellen der Controller-Uhrzeit |
59 |
Diskreter E/A-Status schreiben oder über Datenelementtyp erzwingen |
5A |
Schreibblock |
6B |
Diskreter E/A-Status lesen oder über Datenelementtyp erzwingen |
71 |
Controller-Uhrzeit lesen |
7T |
SF/Loop-Prozessor-Mode lesen |
7E |
Random lesen |
7F |
Block lesen |
88 |
Anzahl der SF-Modul-Task Codes pro Scan auswählen |
89 |
Anzahl der SF-Modul-Task Codes pro Scan lesen |
99 |
VME-Speicherbereich Block/Random schreiben |
9A |
VME-Speicherbereich Block/Random lesen |
12.2.5. AMP Message types¶
# |
Bedeutung |
---|---|
00 |
Modul General Query Befehl |
01 |
Modul General Response Befehl |
02 |
Packet T/C Befehl |
03 |
Gepackte T/C-Antwort |
04 |
Daten lesen Befehl |
05 |
Daten lesen Antwort |
06 |
Daten schreiben Befehl |
07 |
Daten schreiben Antwort |
08 |
Mem Exch Befehl |
09 |
Mem Exch Antwort |
FF |
Protokollfehler |