Diagnose (Funktion 8)

Die Funktion Diagnose 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.

Die Funktion benutzt in der Anfrage zwei Byte, um mit einem Unterfunktions-Code die Art des durchzuführenden Tests zu definieren. Der Slave gibt in der Antwort den Funktions-Code und den Unterfunktions-Code zurück.

Die Diagnose-Anfragen benutzen ein Datenfeld von zwei Byte, um Diagnosedaten oder Steuerinformationen zum Slave zu schicken.

Anfrage (Query)

Byte Name

Beispiel

Funktions-Code

8

Unterfunktion high

0

Unterfunktion low

0

Data high

2

Data low

3

Antwort (Response)

Byte Name

Beispiel

Funktions-Code

8

Unterfunktion high

0

Unterfunktion low

0

Data high

2

Data low

3

Buskoppler-Reset (Unterfunktion 1)

Der Buskoppler wird mit der Unterfunktion 1 neu initialisiert, Fehlerzähler werden zurückgesetzt und der Buskoppler führt einen Selbsttest durch. In der Zeit, in der der Buskoppler zurückgesetzt wird, werden keine Telegramme empfangen oder gesendet. Der IP-Socket wird geschlossen.

Diagnose (Funktion 8) 1:

Tipp oder Fingerzeig

Bevor der Koppler neu startet schickt er noch eine Antwort mit der Unterfunktion 1, dann wird der IP-Socket geschlossen.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0001

0x0000

0x0000

Löschen aller Zählerinhalte (Unterfunktion 10)

Beim Aufruf dieser Unterfunktion löscht der Controller alle Fehler Zähler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x000A

0x0000

Echo Query Daten

Read Coils (Unterfunktion 32)

Gibt die Anzahl der Read Coils Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0020

0x0000

Wert des Zählers

Read Coils Error (Unterfunktion 33)

Gibt die Anzahl der Read Coils Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0021

0x0000

Wert des Zählers

Read Discrete Inputs (Unterfunktion 34)

Gibt die Anzahl der Read Discrete Inputs Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0022

0x0000

Wert des Zählers

Read Discrete Inputs Error (Unterfunktion 35)

Gibt die Anzahl der Read Discrete Inputs Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0023

0x0000

Wert des Zählers

Read Holding Register (Unterfunktion 36)

Gibt die Anzahl der Read Holding Register Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0024

0x0000

Wert des Zählers

Read Holding Register Error (Unterfunktion 37)

Gibt die Anzahl der Read Holding Register Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0025

0x0000

Wert des Zählers

Read Input Register (Unterfunktion 38)

Gibt die Anzahl der Read Input Register Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0026

0x0000

Wert des Zählers

Read Input Register Error (Unterfunktion 39)

Gibt die Anzahl der Input Holding Register Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0027

0x0000

Wert des Zählers

Write Single Coil (Unterfunktion 40)

Gibt die Anzahl der Write Single Coil Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0028

0x0000

Wert des Zählers

Write Single Coil Error (Unterfunktion 41)

Gibt die Anzahl der Write Single Coil Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0029

0x0000

Wert des Zählers

Write Single Register (Unterfunktion 42)

Gibt die Anzahl der Write Single Register Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x002A

0x0000

Wert des Zählers

Write Single Register Error (Unterfunktion 43)

Gibt die Anzahl der Write Single Register Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x002B

0x0000

Wert des Zählers

Diagnose Register (Unterfunktion 44)

Gibt die Anzahl der Diagnose Register Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x002C

0x0000

Wert des Zählers

Diagnose Register Error (Unterfunktion 45)

Gibt die Anzahl der Diagnose Register Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x002D

0x0000

Wert des Zählers

Write Multiple Coils (Unterfunktion 46)

Gibt die Anzahl der Write Multiple Coils Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x002E

0x0000

Wert des Zählers

Write Multiple Coils Error (Unterfunktion 47)

Gibt die Anzahl der Write Multiple Coils Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x002F

0x0000

Wert des Zählers

Write Multiple Register (Unterfunktion 48)

Gibt die Anzahl der Write Multiple Register Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0030

0x0000

Wert des Zählers

Write Multiple Register Error (Unterfunktion 49)

Gibt die Anzahl der Write Multiple Register Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0031

0x0000

Wert des Zählers

R/W Multiple Register (Unterfunktion 50)

Gibt die Anzahl der R/W Multiple Register Kommandos an.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0032

0x0000

Wert des Zählers

R/W Multiple Register Error (Unterfunktion 51)

Gibt die Anzahl der R/W Multiple Register Kommandos an mit Fehler.

Unterfunktion

Daten Feld (Query)

Daten Feld (Response)

0x0033

0x0000

Wert des Zählers