Diagnose Modbus Funktionscode FC8 bietet eine Menge an Tests zum Überprüfen des Kommunikationssystems zwischen Client und Server oder zum Überprüfen verschiedener interne Fehlerzustände innerhalb des Servers. Diese Funktion verwendet einen zwei Byte großen Unterfunktionscode in der Anfrage um den Typen des Tests zu definieren. Der Server wiederholt in einer normalen Antwort beides, den Funktions- als auch den Unterfunktionscode. Einige der Diagnosen enthalten Daten des Gerätes im Datenfeld der normalen Antwort. Anfrage (Request): Name Länge Wert Funktionscode 1 Byte 08h Unterfunktionscode 2 Bytes Data N x 2 Bytes Antwort (Response): Name Länge Wert Funktionscode 1 Byte 08h Unterfunktionscode 2 Bytes Data N x 2 Bytes Fehler: Name Länge Wert Funktionscode 1 Byte 88h Ausnahmecode 1 Bytes 01 oder 03 oder 04 Clear Counters and Diagnostic Register (FC8.10) Das Ziel dieser Anfrage ist alle Zähler und Diagnose Register zurück zu setzten. Zähler werden auch beim Einschalten der Steuerung zurück gesetzt. Unterfunktion Datenbereich Anfrage Antwort 00h 0Ah 00h 00h Echo der Anfragedaten Beispiel Request Response Return Bus Message Count (FC8.11) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, welche seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung am Kommunikationssystem erkannt worden sind. Unterfunktion Datenbereich Anfrage Antwort 00h 0Bh 00h 00h Total Message Count Return Bus Communication Error Count (FC8.12) Der Datenbereich der Antwort gibt die Anzahl der CRC Fehler seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung zurück. Unterfunktion Datenbereich Anfrage Antwort 00h 0Ch 00h 00h CRC Error Count Beispiel Request Response Return Bus Exception Error Count (FC8.13) Der Datenbereich der Antwort gibt die Anzahl der Modbus Ausnahmen seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung zurück. Unterfunktion Datenbereich Anfrage Antwort 00h 0Dh 00h 00h Exception Error Count Beispiel Request Response Return Server Message Count (FC8.14) Der Datenbereich der Antwort gibt die Anzahl an das Gerät gerichteten und Brodcast Nachrichten, die von der Steuerung verarbeitet wurden, zurück. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 0Eh 00h 00h Server Message Count Beispiel Request Response Return Server No Response Count (FC8.15) Der Datenbereich der Antwort gibt die Anzahl der an die Steuerung gerichteten Nachrichten zurück, für die keine Antwort zurück gesendet wurde (weder normale Antwort noch Ausnahme Antwort). Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 0Fh 00h 00h No Response Count Beispiel Request Response Return Server NAK Count (FC8.16) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, für die eine "Negative Acknowledge (NAK)" Ausnahme Antwort zurück gesendet wurde. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 10h 00h 00h Server NAK Count Beispiel Request Response Return Server Busy Count (FC8.17) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, für die eine " Server Device Busy " Ausnahme Antwort zurück gesendet wurde. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 11h 00h 00h Server NAK Count Beispiel Request Response Return Bus Character Overrun Count (FC8.18) Der Datenbereich der Antwort gibt die Anzahl der an die Steuerung gerichteten Nachrichten zurück, die Aufgrund einem Zeichenüberlauf nicht verarbeitet werden konnten. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Ein Zeichenüberlauf ensteht dadurch, dass Zeichen schneller an der Steuerung ankommen, als sie gespeichert werden können, oder durch den Verlust eines Zeichens aufgrund eines Hardwarefehlers. Unterfunktion Datenbereich Anfrage Antwort 00h 12h 00h 00h Server Character Overrun Count Beispiel Request Response
Diagnose Modbus Funktionscode FC8 bietet eine Menge an Tests zum Überprüfen des Kommunikationssystems zwischen Client und Server oder zum Überprüfen verschiedener interne Fehlerzustände innerhalb des Servers. Diese Funktion verwendet einen zwei Byte großen Unterfunktionscode in der Anfrage um den Typen des Tests zu definieren. Der Server wiederholt in einer normalen Antwort beides, den Funktions- als auch den Unterfunktionscode. Einige der Diagnosen enthalten Daten des Gerätes im Datenfeld der normalen Antwort. Anfrage (Request): Name Länge Wert Funktionscode 1 Byte 08h Unterfunktionscode 2 Bytes Data N x 2 Bytes Antwort (Response): Name Länge Wert Funktionscode 1 Byte 08h Unterfunktionscode 2 Bytes Data N x 2 Bytes Fehler: Name Länge Wert Funktionscode 1 Byte 88h Ausnahmecode 1 Bytes 01 oder 03 oder 04 Clear Counters and Diagnostic Register (FC8.10) Das Ziel dieser Anfrage ist alle Zähler und Diagnose Register zurück zu setzten. Zähler werden auch beim Einschalten der Steuerung zurück gesetzt. Unterfunktion Datenbereich Anfrage Antwort 00h 0Ah 00h 00h Echo der Anfragedaten Beispiel Request Response Return Bus Message Count (FC8.11) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, welche seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung am Kommunikationssystem erkannt worden sind. Unterfunktion Datenbereich Anfrage Antwort 00h 0Bh 00h 00h Total Message Count Return Bus Communication Error Count (FC8.12) Der Datenbereich der Antwort gibt die Anzahl der CRC Fehler seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung zurück. Unterfunktion Datenbereich Anfrage Antwort 00h 0Ch 00h 00h CRC Error Count Beispiel Request Response Return Bus Exception Error Count (FC8.13) Der Datenbereich der Antwort gibt die Anzahl der Modbus Ausnahmen seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung zurück. Unterfunktion Datenbereich Anfrage Antwort 00h 0Dh 00h 00h Exception Error Count Beispiel Request Response Return Server Message Count (FC8.14) Der Datenbereich der Antwort gibt die Anzahl an das Gerät gerichteten und Brodcast Nachrichten, die von der Steuerung verarbeitet wurden, zurück. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 0Eh 00h 00h Server Message Count Beispiel Request Response Return Server No Response Count (FC8.15) Der Datenbereich der Antwort gibt die Anzahl der an die Steuerung gerichteten Nachrichten zurück, für die keine Antwort zurück gesendet wurde (weder normale Antwort noch Ausnahme Antwort). Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 0Fh 00h 00h No Response Count Beispiel Request Response Return Server NAK Count (FC8.16) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, für die eine "Negative Acknowledge (NAK)" Ausnahme Antwort zurück gesendet wurde. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 10h 00h 00h Server NAK Count Beispiel Request Response Return Server Busy Count (FC8.17) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, für die eine " Server Device Busy " Ausnahme Antwort zurück gesendet wurde. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 11h 00h 00h Server NAK Count Beispiel Request Response Return Bus Character Overrun Count (FC8.18) Der Datenbereich der Antwort gibt die Anzahl der an die Steuerung gerichteten Nachrichten zurück, die Aufgrund einem Zeichenüberlauf nicht verarbeitet werden konnten. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Ein Zeichenüberlauf ensteht dadurch, dass Zeichen schneller an der Steuerung ankommen, als sie gespeichert werden können, oder durch den Verlust eines Zeichens aufgrund eines Hardwarefehlers. Unterfunktion Datenbereich Anfrage Antwort 00h 12h 00h 00h Server Character Overrun Count Beispiel Request Response
Clear Counters and Diagnostic Register (FC8.10) Das Ziel dieser Anfrage ist alle Zähler und Diagnose Register zurück zu setzten. Zähler werden auch beim Einschalten der Steuerung zurück gesetzt. Unterfunktion Datenbereich Anfrage Antwort 00h 0Ah 00h 00h Echo der Anfragedaten Beispiel Request Response
Return Bus Message Count (FC8.11) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, welche seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung am Kommunikationssystem erkannt worden sind. Unterfunktion Datenbereich Anfrage Antwort 00h 0Bh 00h 00h Total Message Count
Return Bus Communication Error Count (FC8.12) Der Datenbereich der Antwort gibt die Anzahl der CRC Fehler seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung zurück. Unterfunktion Datenbereich Anfrage Antwort 00h 0Ch 00h 00h CRC Error Count Beispiel Request Response
Return Bus Exception Error Count (FC8.13) Der Datenbereich der Antwort gibt die Anzahl der Modbus Ausnahmen seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung zurück. Unterfunktion Datenbereich Anfrage Antwort 00h 0Dh 00h 00h Exception Error Count Beispiel Request Response
Return Server Message Count (FC8.14) Der Datenbereich der Antwort gibt die Anzahl an das Gerät gerichteten und Brodcast Nachrichten, die von der Steuerung verarbeitet wurden, zurück. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 0Eh 00h 00h Server Message Count Beispiel Request Response
Return Server No Response Count (FC8.15) Der Datenbereich der Antwort gibt die Anzahl der an die Steuerung gerichteten Nachrichten zurück, für die keine Antwort zurück gesendet wurde (weder normale Antwort noch Ausnahme Antwort). Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 0Fh 00h 00h No Response Count Beispiel Request Response
Return Server NAK Count (FC8.16) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, für die eine "Negative Acknowledge (NAK)" Ausnahme Antwort zurück gesendet wurde. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 10h 00h 00h Server NAK Count Beispiel Request Response
Return Server Busy Count (FC8.17) Der Datenbereich der Antwort gibt die Anzahl der Nachrichten zurück, für die eine " Server Device Busy " Ausnahme Antwort zurück gesendet wurde. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Unterfunktion Datenbereich Anfrage Antwort 00h 11h 00h 00h Server NAK Count Beispiel Request Response
Return Bus Character Overrun Count (FC8.18) Der Datenbereich der Antwort gibt die Anzahl der an die Steuerung gerichteten Nachrichten zurück, die Aufgrund einem Zeichenüberlauf nicht verarbeitet werden konnten. Gezählt werden die Nachrichten seit dem letzten Neustart, "Clear Counters and Diagnostic Register" Anfrage oder Einschalten der Steuerung. Ein Zeichenüberlauf ensteht dadurch, dass Zeichen schneller an der Steuerung ankommen, als sie gespeichert werden können, oder durch den Verlust eines Zeichens aufgrund eines Hardwarefehlers. Unterfunktion Datenbereich Anfrage Antwort 00h 12h 00h 00h Server Character Overrun Count Beispiel Request Response