Funktion 8: Diagnose
Die Funktion 08 stellt eine Reihe von Tests, für die Überprüfung
des Übertragungssystems zwischen dem Master und dem Slave oder für
die Überprüfung der verschiedenen internen Fehlerzustände innerhalb
des Slaves zur Verfügung. Ein Broadcast-Telegramm wird nicht
unterstützt.
Die Funktion in der Abfrage benutzt ein Subfunktions-Code-Feld von
zwei Byte, um die Art des durchzuführenden Tests zu definieren. Der
Slave gibt den Funktions-Code und den Subfunktions-Code in einer
Antwort aus.
Die Diagnose-Abfragen benutzen ein Datenfeld von zwei Byte, um
Diagnosedaten oder Steuerinformationen zum Slave zu schicken.
Anfrage (Query)
Byte Name |
Modbus RTU |
Modbus ASCII | ||
---|---|---|---|---|
Start - Rahmen |
- |
- |
":" |
0x3A |
Adresse |
11 |
0x0B |
"0B" |
0x30, 0x42 |
Funktions-Code |
8 |
0x08 |
"08" |
0x30, 0x38 |
Subfunction high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Subfunction low |
0 |
0x00 |
"00" |
0x30, 0x30 |
Data high |
2 |
0x02 |
"02" |
0x30, 0x32 |
Data low |
3 |
0x03 |
"03" |
0x30, 0x33 |
Error Check, LRC/CRC |
|
0xA1, 0xC0 |
"E8" |
0x45, 0x38 |
Ende - Rahmen |
|
t1-t2-t3 |
CRLF |
0x0D, 0x0A |
Antwort (Response)
Byte Name |
Modbus RTU |
Modbus ASCII | ||
---|---|---|---|---|
Start - Rahmen |
- |
- |
":" |
0x3A |
Adresse |
11 |
0x0B |
"0B" |
0x30, 0x42 |
Funktions-Code |
8 |
0x08 |
"08" |
0x30, 0x38 |
Subfunction high |
0 |
0x00 |
"00" |
0x30, 0x30 |
Subfunction low |
0 |
0x00 |
"00" |
0x30, 0x30 |
Data high |
2 |
0x02 |
"02" |
0x30, 0x32 |
Data low |
3 |
0x03 |
"03" |
0x30, 0x33 |
Error Check, LRC/CRC |
|
0xA1, 0xC0 |
"E8" |
0x45, 0x38 |
Ende - Rahmen |
|
t1-t2-t3 |
CRLF |
0x0D, 0x0A |
Spiegeln einer Anforderung (Subfunction 0)
Mit der Unterfunktion 0 werden die Daten, die der Master zum Slave schickt wieder zurückgeschickt.
Koppler Reset (Subfunction 1)
Der Buskoppler/Feldbus Box wird mit der Unterfunktion 1 neu initialisiert, Fehlerzähler werden zurückgesetzt und der Buskoppler/Feldbus Box führt einen Selbsttest durch. In der Zeit, in der der Buskoppler/Feldbus Box zurückgesetzt wird, werden keine Telegramme empfangen oder gesendet.
Hinweis Bevor der Busklemmen-Controller neu startet schickt er noch eine Antwort mit der Subfunction 1. |
Hinweis Beim BC8150 ist die Unterfunktion 0 und 1 implementiert. Alle anderen Unterfunktionen liefern den Wert "0" zurück. |
Unterfunktion | Daten Feld (Query) | Daten Feld (Response) |
---|---|---|
00 01 | 00 00 | 00 00 |
Löschen aller Zählerinhalte (Subfunction 10)
Beim Aufruf dieser Unterfunktion löscht der Buskoppler/Feldbus Box alle Fehler Zähler.
Unterfunktion |
Daten Feld (Query) |
Daten Feld (Response) |
---|---|---|
00 0B |
00 00 |
Echo Query Daten |
Buskommunikation Antwort Zähler (Subfunction 11)
Gibt die Anzahl der Kommunikationsantworten an.
Unterfunktion |
Daten Feld (Query) |
Daten Feld (Response) |
---|---|---|
00 0C |
00 00 |
Zähler Wert |
Fehlerantwort Zähler (Subfunction 13)
Dieser Zähler gibt die Anzahl der Fehlerantworttelegramme, die der Buskoppler/Feldbus Box gesendet hat, an.
Unterfunktion |
Daten Feld (Query) |
Daten Feld (Response) |
---|---|---|
00 0D |
00 00 |
Zähler Wert |
Die folgenden Funktionen beinhalten die Zählerstände für verschiedene Units. D.h. die Modbus-Telegramme können mit Units unterschieden werden, wenn es sich zum Beispiel um einen Zugriff auf den Buskoppler/Feldbus Box von verschiedenen Mastern aus handelt.
Antworten des Slaves (Subfunction 14)
Gibt die Anzahl der gesendeten Antworten des Slaves an.
Unterfunktion |
Daten Feld (Query) |
Daten Feld (Response) |
---|---|---|
00 0E |
00 00 |
Zähler Wert |
Anzahl der nicht geantworteten Telegramme (Subfunction 15)
Gibt die Anzahl der nicht gesendeten Antworten des Slaves an.
Unterfunktion |
Daten Feld (Query) |
Daten Feld (Response) |
---|---|---|
00 0F |
00 00 |
Zähler Wert |
Anzahl der Fehlerantworten (Subfunction 16)
Gibt die Anzahl der gesendeten Fehlerantworten des Slaves an.
Unterfunktion |
Daten Feld (Query) |
Daten Feld (Response) |
---|---|---|
00 10 |
00 00 |
Zähler Wert |