Материал: m083700d

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

CANopen • 191

Netzwerkkommunikation

5.3.6 SYNC-Überwachung

Bei einem Wert der Communication Cycle Period ungleich 0 erfolgt die Ü- berwachung mit dem ersten Eintreffen einer SYNC-Nachricht, wenn sich der Controller im OPERATIONAL-Zustand befindet.

Ausfall des SYNC-Telegramms:

Wird innerhalb der Überwachungszeit (Communication Cycle Period) kein SYNC-Telegramm empfangen, wird dieses durch ein schnelles Blinken auf der 'RUN'-LED angezeigt. Gleichzeitig wird ein Emergency Telegramm (Error Code: 0x8100, Error Register: 0x81, Additional Code: 00 04 00 00 00) abgesetzt. Wird durch den MASTER ein Zustandswechsel hervorgerufen, wird trotzdem der Ausfall des SYNC-Telegramms noch angezeigt.

Erst nach erneutem Empfang der SYNC-Nachricht im Zustand OPERATIONAL zeigen die LEDs wieder den normalen Betriebszustand an, dabei wird erneut ein Emergency Telegramm (Error Code: 0x0000, Error Register: 0x81, Additional Code: 00 04 00 000 0) abgesetzt um anzuzeigen, dass die SYNC-Überwachung wieder funktioniert.

5.3.7 Node Guarding

Für den Controller startet das Node Guarding, wenn das erste Remote Transmit Request Telegramm (RTR) auf der COB-ID für das Node Guarding (0x700+Modul-ID) empfangen wird. Empfängt der Controller kein entsprechendes Telegramm, wird das Node Guarding vom Controller nicht überwacht.

Defaultmäßig ist das Node Guarding ausgeschaltet, da in den entsprechenden Indizes (0x100C = Guard-Time, 0x100D = Life Time Factor) eine 0 eingetragen ist.

In regelmäßigen Zeitabständen pollt der NMT Master den Controller. Dieser Zeitraum wird Guard-Time (Index 0x100C) genannt. In dem Antworttelegramm befindet sich der interne Zustand des Buskopplers.

Bei Eintreffen einer RTR Anforderung ohne dass die Guard Time gesetzt ist, wird das Node Guarding nicht überwacht, aber der Controller antwortet trotzdem mit seinem internen Zustand.

WAGO-I/O-SYSTEM 750

CANopen

192 • CANopen

Netzwerkkommunikation

Die Zustände sind wie folgt kodiert:

Zustand: Wert:

PRE-OPERATIONAL 127

OPERATIONAL 5

STOP

4

Die Life-Time ist das Produkt aus Guard-Time (Index 0x100C) und Life Time Factor (Index 0x100D).

Ausfall des Node Guarding:

Wird innerhalb der Life-Time kein Node Guarding Telegramm empfangen, wird dieses durch ein schnelles Blinken auf der 'RUN'-LED angezeigt. Gleichzeitig wird ein Emergency Telegramm (Error Code: 0x8130, Error Register: 0x11, Additional Code: 0x00 04 00 000 0) abgesetzt, die Ausgänge werden lt. Objekte 0x6206, 0x6207, 0x6443 und 0x6444 gesetzt und der Controller geht in den vordefinierten Zustand lt. Objekt 0x67FE.

Sobald das Node Guarding Protokoll wieder aufgenommen ist, wird erneut ein Emergency Telegramm (Error Code: 0x0000, Error Register: 0x11, Additional Code: 00 04 00 000 0) abgesetzt um anzuzeigen, dass das Node Guarding wieder aktiv ist, die Ausgänge und der Buskopplerzustand bleiben unverändert.

Es kann nur das Node Guarding Protokoll oder das Heartbeat-Protokoll verwendet werden. Ist die Heartbeat-Producer-Time konfiguriert, wird immer das Heartbeat-Protokoll verwendet.

WAGO-I/O-SYSTEM 750

CANopen

CANopen • 193

Netzwerkkommunikation

5.3.8 Heartbeat Überwachung

Mit diesem Protokoll ist es möglich eine Modulüberwachung durchzuführen, ohne RTR-Frames zu benutzen.

Der Heartbeat-Erzeuger generiert zyklisch (Zeitintervall in Objekt 0x1017 definiert) eine Nachricht, in welcher er den Zustand des Moduls überträgt. Die Übertragung beginnt sofort nach Konfiguration des Objektes 0x1017. Die Nachricht kann von einem oder mehreren HeartbeatConsumer ausgewertet werden (Objekt 0x1016). Es können bis zu 5 Module gleichzeitig überwacht werden. Die Überwachung beginnt mit dem ersten Eintreffen eines HeartbeatTelegramms (getrennt für jedes zu überwachende Modul).

Ausfall des Heartbeat:

Wird innerhalb der konfigurierten Zeit (Objekt 0x1016) kein entsprechendes Heartbeat Telegramm empfangen, wird dieses durch ein schnelles Blinken auf der 'RUN'-LED angezeigt. Gleichzeitig wird ein Emergency Telegramm (Error Code: 0x8130, Error Register: 0x11, Additional Code: 0x00 05 KK 00 00, KK Knotennummer - welche EMCY ausgelöst hat) abgesetzt. Die Ausgänge werden lt. Objekte 0x6206, 0x6207, 0x6443 und 0x6444 gesetzt und der Controller geht in den vordefinierten Zustand lt. Objekt 0x67FE.

Sobald das Heartbeat Protokoll wieder aufgenommen ist, wird erneut ein E- mergency Telegramm (Error Code: 0x0000, Error Register: 0x11, Additional Code: 0x00 05 KK 00 00) abgesetzt um anzuzeigen, dass das Heartbeat wieder aktiv ist, die Ausgänge und der Buskopplerzustand bleiben unverändert. Werden mehrere Module überwacht wird erst nach der Wiederaufnahme des letzten Heartbeats der Blinkcode für das fehlschlagen des Heartbeats beendet.

Es kann nur das Node Guarding Protokoll oder das Heartbeat-Protokoll verwendet werden. Ist die Heartbeat-Producer-Time konfiguriert, wird immer das Heartbeat-Protokoll verwendet.

WAGO-I/O-SYSTEM 750

CANopen

194 • CANopen

Netzwerkkommunikation

5.3.9 Fehlermeldungen (Emergency)

Emergency Nachrichten werden immer abgesetzt, wenn im Gerät eine kritische Fehlersituation aufgetreten/behoben ist, bzw. wichtige Informationen anderen Geräten mitgeteilt werden müssen.

Der Aufbau und die Bedeutung der Einträge im Emergency Objekt ist in der folgenden Tabelle erklärt, sie sind im Bus-Telegramm in der Reihenfolge Lowbyte / Highbyte codiert.

Nach Behebung eines Fehler wird ebenfalls ein Emergency Object gesendet (Error Code = 0x0000, das Error Register und der Additional Code verhält sich wie in der nachfolgenden Tabelle " EMCY-CODE" beschrieben).

Nach dem Power On wird ein Emergency Object gesendet, wenn es sich bei der geladenen Einstellung um die Default Einstellungen handelt. Hierfür kann es zwei Gründe geben:

Es wurde noch keine Einstellungen abgespeichert (Index 0x1010).

Die hinterlegte Einstellung wurde vom Controller verworfen, weil Klemmen gesteckt bzw. gezogen wurden.

EMCY-CODE

Byte:

0

1

2

3

7

 

Name

Error

 

Error

Additional Code

Bedeutung

 

Code

 

Register

 

 

 

 

0x0000*

0x00

00 00 00 00 00

 

das „predefined error field“ Index 0x1003 Sub-Index. 0

 

 

 

 

 

 

wurde auf Null gesetzt, oder alle Fehler sind behoben

 

0x5000*

0x81

00 01 00 00 00

 

Geänderte HW-Konfiguration

 

 

 

 

 

 

nach Power On bzw. Reset Node/Communication

 

 

 

 

 

 

der Controller hat sich neu initialisiert, da eine gespeicherte

 

 

 

 

 

 

Konfiguration nicht vorhanden ist bzw. nicht mit der

 

 

 

 

 

 

aktuellen Konfiguration übereinstimmt

 

0x5000*

0x81

00 02 00 00 00

 

Flash-Fehler

 

 

 

 

 

 

Beim Speichern der Konfiguration in das Flash ist ein

 

 

 

 

 

 

Fehler aufgetreten.

 

0x5000*

0x81

00 03 PP LL SS

Programmierte Konfiguration stimmt nicht mit der tatsäch-

 

 

 

 

 

 

lichen überein

 

 

 

 

 

 

PP: physikalischer Steckplatz der Klemme, wo der Fehler

 

 

 

 

 

 

aufgetreten ist

 

 

 

 

 

 

LL: logischer Steckplatz der Klemme, wo der Fehler aufge-

 

 

 

 

 

 

treten ist

 

 

 

 

 

 

SS: Fehlerursache

 

0x5000*

0x81

00 09 00 00 00

 

Queue für Emergency Nachrichten ist übergelaufen

 

 

 

 

 

 

(kann nur auftreten, wenn die Inhibit Time für Emergency

 

 

 

 

 

 

verwendet wird)

 

0x5000*

0x81

00 0A 01 00 00

Max. Anzahl an Gatewayklemmen überschritten, bzw.

 

 

 

 

 

 

max. PA Größe durch Gatewayklemmen überschritten

 

0x5000*

0x81

00 0A 02 00 00

Max. Mailboxgröße überschritten

 

 

 

 

 

 

 

0x8100*

0x81

00 04 00 00 00

 

Der Zeitraum zwischen zwei SyncObjects ist größer als

 

 

 

 

 

 

Communication_Cycle_Period

 

0x8110*

0x11

00 01 00 00 00

 

interner Empfangsbuffer übergelaufen,

 

 

 

 

 

 

Zustandswechsel wie im Objekt 0x67FE definiert, Die

 

 

 

 

 

 

Ausgänge werden wie in den Error-Mode/Value Objekten

 

 

 

 

 

 

definiert geschaltet

WAGO-I/O-SYSTEM 750

CANopen

 

 

 

 

 

 

CANopen

• 195

 

 

 

 

 

 

Netzwerkkommunikation

 

Byte:

0

1

2

3

7

 

 

Name

Error

 

Error

Additional Code

Bedeutung

 

 

Code

 

Register

 

 

 

 

 

0x8110*

0x11

00 02 00 00 00

 

interner Sendebuffer übergelaufen,

 

 

 

 

 

 

 

Zustandswechsel wie im Objekt 0x67FE definiert, Die

 

 

 

 

 

 

Ausgänge werden wie in den Error-Mode/Value Objekten

 

 

 

 

 

 

definiert geschaltet

 

 

0x8120*

0x11

00 03 00 00 00

 

CAN Controller im Error Passive Mode

 

0x8130*

0x11

00 04 00 00 00

 

Der Zeitraum zwischen zwei Node Guarding Telegrammen

 

 

 

 

 

ist größer wie Guard_Time X Life_Time_Faktor.

 

0x8130*

0x11

00 05 KK 00 00

Der Zeitraum zwischen zwei Heartbeat Telegrammen ist

 

 

 

 

 

größer wie konfiguriert

 

 

 

 

 

KK:Knoten, welcher die Zeitüberschreitung ausgelöst hat

 

0x8210*

0x81

00 05 SS II NN

PDO wurde mit einer kleineren Anzahl von Bytes gesendet

 

 

 

 

 

als im Communication-Profile konfiguriert

 

 

 

 

 

Die PDO-Daten werden verworfen, d.h. die Ausgänge

 

 

 

 

 

bleiben unverändert

 

 

 

 

 

SS:Sollwert - Konfigurierter Wert (z. B. in Index 0x1600

 

 

 

 

 

Sub-Index 0)

 

 

 

 

 

II:Istwert - Anzahl gesendeter Bytes

 

 

 

 

 

NN:Nummer der PDO (1..32)

 

0x8220*

0x81

00 08 SS II NN

PDO wurde mit einer größeren Anzahl von Bytes gesendet

 

 

 

 

 

als im Communication-Profile konfiguriert

 

 

 

 

 

Es werden nur die ersten n Daten verwendet (n = im Ob-

 

 

 

 

 

jektverzeichnis konfigurierte Gesamtlänge)

 

 

 

 

 

SS:Sollwert - Konfigurierter Wert (Gesamtlänge aller

 

 

 

 

 

gültigen, konfigurierten Objekte in Bytes)

 

 

 

 

 

II:Istwert - Anzahl gesendeten Bytes

 

 

 

 

 

NN:Nummer der PDO (1..32)

 

0xFF00*

0x81

00 06 PP 00 00

Klemmbusfehler, Wechsel in den Zustand STOP

 

 

 

 

 

- PP: Position der Klemme

 

0xFF00*

0x81

DD 07 PP SK NN

Diagnosemeldung

 

 

 

 

 

- DD: Diagnosebyte

 

 

 

 

 

- PP: Position der Klemme

 

 

 

 

 

- SK: Fehlerstatus und Kanalnummer

 

 

 

 

 

- NN: Anzahl der derzeitigen Klemmenfehler

 

* Byte 0 = Lowbyte und Byte 1 = Highbyte

 

Beispiel: Error Code 0x8220:

Byte 0 = 0x20, Byte 1= 0x82

5.3.9.1 Diagnosemeldungen der Klemmen

Tritt ein Fehler in einer Klemme auf, welche die Diagnose unterstützt, wird mittels der Emergency-Message der Diagnosestatus übertragen.

Aufbau des Additional Code der Diagnosemeldung:

DD 07 PK SK NN

Anzahl der derzeitig aufgetretenen Klemmenfehler

Bit 0,1 gibt den Kanal der Klemme an (Kanal 0..3)

Bit 2..7 reserviert

Bit 8 gibt an, ob der Fehler aufgetreten oder behoben ist

Bit 8 = 1 Fehler aufgetreten, Bit 8 = 0 Fehler behoben

gibt die Position der Klemme an

Kennung der Diagnosemeldung

Klemmenspezifisches Diagnosebyte (Analoge Klemmen) Klemmenspezifische Diagnosebits (Digitale Klemmen)

0 wenn der Fehler behoben wurde, d.h. Byte SK Bit 8 = 0

Abb. 5-20:Aufbau Additional Code

g012423x

WAGO-I/O-SYSTEM 750

CANopen