Funktion 8: Modbus-Diagnose
Struktur der Modbus-Nachrichten in Bezug auf die Verwaltung der Diagnosezähler des PowerTag Link-Gateways
Anfrage
Definition |
Anzahl Bytes |
Wert |
---|---|---|
Servernummer |
1 Byte |
0xFF |
Funktionscode |
2 Bytes |
08 (0x08) |
Unterfunktionscode |
2 Bytes |
22 (0x0016) |
Vorgangscode |
2 Bytes |
1 ((0x0001), Vorgangscode siehe folgende Liste) |
Diagnosesteuerung |
2 Bytes |
0x0100 (siehe folgende Liste für Diagnosesteuerung) |
Starteintragsindex |
1 Byte |
0x00 (0 bis 255) |
Das Feld für den Vorgangscode wird verwendet, um die Diagnose- und Statistikdaten auszuwählen, die vom Gerät gelesen werden sollen.
Höherwertiges Byte |
Niederwertiges Byte |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Reserviert |
Protokoll-Version |
Vorgangscode |
Bit-Zuweisungen sind in der nachfolgenden Tabelle enthalten:
Bit |
Feld |
Beschreibung |
---|---|---|
15...12 |
Reserviert |
Muss null sein. |
11...8 |
Protokollversion (PV) |
Gibt die Version des Kundenprotokolls an (Anforderer). Gültige Werte: 0x00 (Initialversion) |
7...0 |
Vorgangscode |
Gibt die Funktion an, die vom Befehl auszuführen ist. Die Werte sind:
|
Das Feld für die Diagnosesteuerung enthält die Informationen zur Auswahl der Daten für dieses Protokoll und gibt den logischen Port an, von dem die Daten abzurufen sind (falls zutreffend). Das Feld für die Diagnosesteuerung ist wie in der folgenden Tabelle dargestellt definiert:
Höherwertiges Byte |
Niederwertiges Byte |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Datenauswahlcode |
Portauswahl |
Bit-Zuweisungen sind in der nachfolgenden Tabelle enthalten:
Bit |
Feld |
Beschreibung |
---|---|---|
15...8 |
Datenauswahlcode (DS) |
Gibt die Diagnosedaten an, die vom logischen Port abzurufen oder darauf zu löschen sind. Gültige Werte siehe nachfolgende Tabelle. |
7...0 |
Portauswahl (PS) |
Gibt die Nummer des logischen Ports an, von dem die ausgewählten Daten abgerufen werden sollen.
Dieser Wert muss 0xFF sein, wenn die angeforderten Daten nicht Port-spezifisch sind. Siehe in der Spalte Portauswahl erforderlich in der folgenden Tabelle, welche Datenauswahlcodes einen gültigen Wert für die Portauswahl erfordern. |
Datenauswahlcode
Datenauswahlcode |
Diagnosedaten abgerufen |
Portauswahl erforderlich |
Typ |
---|---|---|---|
0x00 |
Reserviert |
Öffentlich |
|
0x01 |
Grundlegende Netzwerkdiagnose |
Öffentlich |
|
0x02 |
Ethernet-Port-Diagnose |
Ja |
Öffentlich |
0x03 |
Modbus TCP Port 502, Diagnose |
Öffentlich |
|
0x04 |
Modbus TCP Port 502, Verbindungstabelle |
Öffentlich |
|
0x05 bis 0x7E |
Reserviert für andere öffentliche Codes |
Öffentlich |
|
0x7F |
Datenstruktur-Offsets |
Öffentlich |
|
0x80 bis 0xFF |
Reserviert |
Reserviert |
Antwort
Definition |
Anzahl Bytes |
Wert |
---|---|---|
Servernummer |
1 Byte |
0xFF |
Funktionscode |
2 Bytes |
08 (0x08) |
Unterfunktionscode |
2 Bytes |
22 (0x0016) |
Vorgangscode |
2 Bytes |
1 ((0x0001), Vorgangscode siehe obenstehende Liste) |
Diagnosesteuerung |
2 Bytes |
0x0100 (siehe obenstehende Liste für Diagnosesteuerung) |
Starteintragsindex |
1 Byte |
0x00 (0 bis 255) |
Zurücksetzen von Zählern
Die Zähler werden auf 0 zurückgesetzt:
-
Wenn sie den maximalen Wert 65535 erreichen.
-
Wenn sie durch einen Modbus-Befehl zurückgesetzt werden (Funktionscode 8, Unterfunktionscode 10).
-
Wenn die Spannungsversorgung unterbrochen wird. Oder:
-
Wenn die Kommunikationsparameter geändert werden.