PROFIBUS Handbuch

Codierung der Diagnose

Codierung der Diagnose

Vorangehendes Thema Nächstes Thema  

Codierung der Diagnose

Vorangehendes Thema Nächstes Thema JavaScript wird zum Drucken dieser Seite benötigt Fragen oder Bemerkungen zum Thema senden!  

Das Diagnosetelegramm ist in mehrere Teile aufgeteilt. Die ersten 6 Bytes und deren Bedeutung ist fest in der Norm vorgegeben. Nach den obligatorischen 6 Byte folgen optional ein oder mehrere Diagnose-Blöcke. Diese Diagnoseblöcke können unterschiedliche Formate aufweisen.

Diagnose: Telegramm mit min. 6 und max. 244 Bytes PDU

Status1

Status2

Status3

Adr

Ident H

Ident L

Block1

Block2

 

Die ersten 6 Byte der Diagnose werden nach folgendem Schlüssel decodiert:

X = Wert 1 aktiv, Wert 0 inaktiv

M = Slave sendet 0, Master ergänzt wenn notwendig

7

6

5

4

3

2

1

0

Diagnose Byte 1: Status 1

 

 

 

 

 

 

 

M

Station_Non_Existent:

Station existiert nicht. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass dieser Slave keine Antwort gibt.

 

 

 

 

 

 

X

 

Station_Not_ready:

Slave ist nicht für den Datenaustausch bereit. Dieses Bit wird vom DP-Slave gesetzt, wenn der DP-Slave noch nicht für den Datenaustausch bereit ist.

 

 

 

 

 

X

 

 

Cfg_Fault:

Fehler im Konfigurationstelegramm. Dieses Bit wird vom DP-Slave gesetzt, sobald die vom Master zuletzt erhaltenen Konfigurationsdaten mit denen, die der DP-Slave ermittelt hat, nicht übereinstimmen.

 

 

 

 

X

 

 

 

Ext_Diag:

Im Telegramm folgt eine erweiterte Diagnose. Dieses Bit zeigt an, dass ab Byte 7 weitere Diagnoseblöcke folgen.

 

 

 

X

 

 

 

 

Not_Supported:

Angeforderte Funktion wird vom Slave nicht unterstützt. Dieses Bit wird von einem Slave gesetzt, sobald eine Funktion angefordert wird, die von diesem Slave nicht unterstützt wird.

 

 

M

 

 

 

 

 

Invalid_Slave_Response:

Ungültige Antwort vom Slave. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass ein Slave ungültige Antworten gibt.

 

X

 

 

 

 

 

 

Prm_Fault:

Fehler im Parametertelegramm. Dieses Bit wird vom DP-Slave gesetzt, falls das letzte Parametertelegramm fehlerhaft war.

M

 

 

 

 

 

 

 

Master_lock:

Slave ist von einem anderen Master gelockt. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass dieser Slave von einem anderen Master schon gelockt wurde.

 

 

7

6

5

4

3

2

1

0

Diagnose Byte 2: Status 2

 

 

 

 

 

 

 

X

Prm_Req:

Slave muss neu parametriert werden. Setzt der DP-Slave dieses Bit, so  muss er neu parametriert und konfiguriert werden. Das Bit bleibt so lange gesetzt, bis eine gültige Parametrierung erfolgt ist.

 

 

 

 

 

 

X

 

Stat_Diag:

Statische Diagnose. Setzt der DP-Slave dieses Bit, so muss der DP-Master solange Diagnosedaten abholen, bis dieses Bit wieder gelöscht wird. Der DP-Slave setzt zum Beispiel dieses Bit, wenn er keine gültigen Nutzdaten zur Verfügung stellen kann.

 

 

 

 

 

1

 

 

Fest auf 1, dient zur Erkennung von Protokollfehler

 

 

 

 

X

 

 

 

WD_On:

Watchdog on. Ist dieses Bit auf 1 gesetzt, so ist die Ansprechüberwachung aktiviert.

 

 

 

X

 

 

 

 

Freeze_Mode:

Freeze Kommando erhalten. Dieses Bit wird vom DP-Slave gesetzt, sobald dieser DP-Slave das Freeze Kommando erhalten hat.

 

 

X

 

 

 

 

 

Sync_Mode:

Sync Kommando erhalten. Dieses Bit wird vom DP-Slave gesetzt, sobald dieser DP-Slave das Sync Kommando erhalten hat.

 

0

 

 

 

 

 

 

Reserviert

M

 

 

 

 

 

 

 

Deactivated:

Slave ist deaktiviert. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass dieser Slave deaktiviert ist und somit nicht mehr zyklische kontrolliert werden soll.

 

 

7

6

5

4

3

2

1

0

Diagnose Byte 3: Status 3

 

0

0

0

0

0

0

0

Reserviert

X

 

 

 

 

 

 

 

Ext_Diag_Overflow:

Ist dieses Bit gesetzt, so liegen mehr Diagnoseinformationen vor, als in einem Telegramm übertragen werden können. Der Master muss eine weitere Diagnose anfordern.

 

7

6

5

4

3

2

1

0

Diagnose Byte 4: Adresse des Masters

0-125 (0x00-0x7E)

Adresse des Masters nach Parametrierung

Default ist 255 (0xFF)

 

Wenn der Slave keine gültigen Parameter hat, setzt er diesen Wert auf 255. Sobald gültige Parameter von einem Master der Klasse 1 mit einem Lock eingetroffen sind, wird die Adresse von diesem Master eingetragen. Somit kann man hier erkennen, welcher Master die zyklische Kontrolle über einen Slave ausübt.

7

6

5

4

3

2

1

0

Diagnose Byte 5 und 6: Ident Nummer

0-255 (0x00-0xFF)

Ident Nummer high Byte

0-255 (0x00-0xFF)

Ident Nummer low Byte

In diesen beiden Bytes gibt der Slave seine eigene Ident_Number bekannt.