12.7. Modbus¶
Modbus ist ein Kommunikationsprotokoll, das von Modicon Incorporated für die Verwendung mit seinen SPSen entwickelt wurde.
Die Profile geben Funktionscodes und Register- oder Coil Adressen an. Der Funktionscode im Protokoll Modbus TCP gibt den Zweck der Datenübertragung an. Das Gerät blockiert die Datenpakete, die gegen die festgelegten Profile verstoßen. Wird ein Fehler erkannt, so beendet das Gerät die Datenverbindung auf Anforderung des Benutzers. Die vordefinierten Funktionscodelisten und der Funktionscodegenerator unterstützen Sie bei der Spezifikation der Funktionscodes.
Wenn das Modbus Enforcer-Profil aktiv ist (das Kontrollkästchen „Aktiviert“ ist markiert), wendet das Gerät die Profile auf den Datenstrom an.
Das Gerät lässt nur Datenpakete mit den im Feld Funktionscode angegebenen Funktionscodes zu.
Das Gerät weist die Datenpakete zurück, die andere Funktionscodes enthalten, die nicht im Feld Funktionscode angegeben sind.
Das Modbus-Protokoll finden Sie unter Firewall → Enforcer → Modbus.
![Modbus](../_images/Enforcer-Modbus.png)
12.7.1. Modbus Einstellungen¶
- Aktiviert
Ob der Modbus Enforcer aktiv ist oder nicht.
Mögliche Werte:
Aktiviert
Deaktiviert (Standardeinstellung)
- Name
Name des Modbus Enforcers.
Mögliche Werte:
Zeichenfolge mit 0..100 Zeichen
- Beschreibung
Beschreibung des Modbus Enforcers.
Mögliche Werte:
Zeichenkette mit 0..250 Zeichen
- Unit identifier
Gibt die Modbus TCP-identification unit für das Modbus Enforcer-Profil an.
Mögliche Werte:
<empty> (Standardeinstellung)
Das Gerät erlaubt Datenpakete ohne identification unit.
0..255
Das Gerät lässt Datenpakete mit der angegebenen identification unit zu.
In diesem Feld können Sie die folgenden Optionen angeben:
Eine einzelne Modbus-TCP-identification unit mit einem einzelnen numerischen Wert, z. B. 1.
Mehrere Modbus-TCP-identification units mit numerischen Werten, die durch ein Komma getrennt sind, zum Beispiel 1,2,3.
- 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 einer neuen Anfrage baut das Gerät die TCP-Verbindung wieder auf.
deaktiviert
Das Zurücksetzen der TCP-Verbindung ist inaktiv.
- 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.
- Ausnahme
Aktiviert/deaktiviert das Senden einer Ausnahmeantwort im Falle einer Protokollverletzung oder wenn die Plausibilitätsprüfung Fehler feststellt.
Mögliche Werte:
aktiviert* (Standardeinstellung)
Das Senden einer Ausnahmeantwort ist aktiv.
Stellt das Gerät eine Protokollverletzung oder einen Plausibilitätsprüfungsfehler fest, sendet das Gerät eine Ausnahmeantwort an die Endpunkte und beendet die Modbus-TCP-Verbindung.
deaktiviert
Das Senden einer Ausnahmeantwort ist inaktiv. Die Modbus-TCP-Verbindung bleibt bestehen.
- Preset
Preset der Modbus-Regeln.
Mögliche Werte:
*Read Only (Standardeinstellung)
Weist die Funktionscodes für die Lesefunktion des Modbus-TCP-Protokolls zu.
1,2,3,4,7,11,12,17,20,24
Lesen Schreiben
Weist die Funktionscodes für die Lese-/Schreibfunktionen des Modbus TCP-Protokolls zu.
1,2,3,4,5,6,7,11,12,15,16,17,20,21,22,23,24
Programmierung
Weist die Funktionscodes für die Programmierfunktionen des Modbus TCP-Protokolls zu.
1,2,3,4,5,6,7,11,12,15,16,17,20,21,22,23,24,40,42,90,125,126
**Alle*
Weist die Funktionscodes für jede Funktion des Modbus TCP-Protokolls zu.
1,2,..,254,255
Benutzerdefiniert
Ermöglicht die Angabe benutzerdefinierter Werte im Feld Funktionscode.
12.7.2. Modbus-Regeln¶
![Modbus Rules](../_images/Enforcer-Modbus-Rules.png)
- Name
Name der Modbus-Regel.
Mögliche Werte:
Zeichenfolge mit 0..100 Zeichen
- Beschreibung
Beschreibung der Modbus-Regel.
Mögliche Werte:
Zeichenkette mit 0..250 Zeichen
- Beschreibung
Beschreibung der Modbus-Regel.
Mögliche Werte:
Zeichenkette mit 0..250 Zeichen
- Function code
Mögliche Werte:
0..255
- Leseadresse Start
Die Voreinstellung ist 0.
Mögliche Werte:
0..65535 (2¹?-1)
- Lesen der Adresslänge
Die Voreinstellung ist 1.
Mögliche Werte:
0..65535 (2¹?-1)
- Schreibadresse Start
Die Voreinstellung ist 0.
Mögliche Werte:
0..65535 (2¹?-1)
- Schreibadresse Länge
Die Voreinstellung ist 1.
Mögliche Werte:
0..65535 (2¹?-1)
12.7.3. Modbus Funktions-Codes¶
# |
Bedeutung |
Adressbereich (Lesen) |
Adressbereich (Schreiben) |
---|---|---|---|
1 |
Read Coils |
<0..65535> |
- |
2 |
Diskrete Eingänge lesen |
<0..65535> |
- |
3 |
Lesen von Holding-Registern |
<0..65535> |
- |
4 |
Lesen von Input Registern |
<0..65535> |
- |
5 |
Single Coil schreiben |
- |
<0..65535> |
6 |
Einzelne Register schreiben |
- |
<0..65535> |
7 |
Exception Status lesen |
- |
- |
8 |
Diagnose |
- |
- |
11 |
Komm-Ereigniszähler abrufen |
- |
- |
12 |
Comm Event Log abrufen |
- |
- |
13 |
Programm (584/984) |
- |
- |
14 |
Poll (584/984) |
- |
- |
15 |
Mehrere Coils schreiben |
- |
<0..65535> |
16 |
Mehrere Register schreiben |
- |
<0..65535> |
17 |
Slave-ID melden |
- |
- |
20 |
File Record lesen |
- |
- |
21 |
File Record schreiben |
- |
- |
22 |
Mask Schreibregister |
- |
<0..65535> |
23 |
Lesen/Schreiben von mehreren Registern |
<0..65535> |
<0..65535> |
24 |
FIFO-Queue lesen |
<0..65535> |
- |
40 |
Programm (Konzept) |
- |
- |
42 |
Konzept Symboltabelle |
- |
- |
43 |
Encapsulated Interface Transport |
- |
- |
48 |
Advantech Co. Ltd. - Management-Funktionen |
- |
- |
66 |
Scan Data Inc. - Erweiterte Read-Holding-Registers |
- |
- |
67 |
Scan Data Inc. - Erweiterte Write-Holding-Registers |
- |
- |
90 |
Unity Programming/OFS |
- |
- |
100 |
Scattered Register Read |
- |
- |
125 |
Schneider Electric - Firmware |
- |
- |