Additional Diagnostic information

Additional Diagnostic information 1:

FrmXState: Variable vom Typ WORD (oder UINT), die den Status des Frame X anzeigt. Für jedes EtherCAT-Kommando im Frame ist ein Bit in FrmXState reserviert:

Bit

Beschreibung

0 (0x0001)

1. EtherCAT-Kommando nicht gesendet (NOP angefordert)

1 (0x0002)

2. EtherCAT-Kommando nicht gesendet (NOP angefordert)

2 (0x0004)

3. EtherCAT-Kommando nicht gesendet (NOP angefordert)

...

 

14 (0x4000)

15. EtherCAT-Kommando nicht gesendet (NOP angefordert)

15 (0x8000)

kompletter Frame nicht gesendet

FrmXWcState: Variable vom Typ WORD(oder UINT), die die Working-Counter-States der einzelnen EtherCAT-Kommandos des zyklischen Frame X anzeigt. Für jedes EtherCAT-Kommando im Frame ist ein Bit in FrmXWcState reserviert:

Bit

Beschreibung

0 (0x0001)

falscher Working Counter vom 1. EtherCAT-Kommando empfangen

1 (0x0002)

falscher Working Counter vom 2. EtherCAT-Kommando empfangen

2 (0x0004)

falscher Working Counter vom 3. EtherCAT-Kommando empfangen

...

 

14 (0x4000)

falscher Working Counter vom 15. EtherCAT-Kommando empfangen

15 (0x8000)

kompletter Frame fehlt

Ein EtherCAT-Frame kann aus einem oder mehreren EtherCAT-Kommandos bestehen. Jeder dieser Kommandos hat einen erwarteten Work Counter-Wert. Das heißt, der Master weiß, wie viele Slave-Geräte durch ein einzelnes Kommando angesprochen werden und kann den zu erwartenden Working Counter berechnen. Wenn der Master einen falschen Working Counter empfängt, bedeutet dies, dass ein oder mehrere Slaves ein Problem haben. In diesem Fall wird das entsprechende Bit in FrmXWcState gesetzt.

Im obigen Beispiel wird während der Prozessdatenkommunikation nur ein Frame (Frame0) zyklisch gesendet. In der Registerkarte "EtherCAT" des EtherCAT-Gerätes kann man die einzelnen zyklischen Frames und die darin enthaltenen EtherCAT-Kommandos sehen:

Additional Diagnostic information 2:

Das erste Kommando ist ein logischer Lese- und Schreibbefehl und der zweite ein Broadcast-Lesebefehl. Der LRW-Kommando ist für das Lesen der Eingänge und das Beschreiben der Ausgänge eines oder mehrerer Slave-Geräte zuständig. Das Kommando BRD (Broad Cast Read) liest die kombinierten Zustände aller Slaves aus.

Slave Count: Anzahl der an den EtherCAT-Master angeschlossenen Slave-Geräte.

DevState: Gerätestatusinformationen als WORD- (oder UINT-) Variable, nimmt die folgenden Werte an:

Bit

Beschreibung:

0 (0x0001)

Link-Fehler erkannt.

1 (0x0002)

E/A gesperrt nach Link-Fehler (E/A-Reset erforderlich)

2 (0x0004)

Link-Fehler (Redundanzadapter)

3 (0x0008)

Fehlen eines Frames (Redundanz Modus)

4 (0x0010)

Keine Senderessourcen mehr vorhanden (E/A-Reset erforderlich)

5 (0x0020)

Watchdog ausgelöst

6 (0x0040)

Ethernet-Treiber (Miniport) nicht gefunden

7 (0x0080)

E/A Reset aktiv

8 (0x0100)

Mindestens ein Gerät im 'INIT'-Status

9 (0x0200)

Mindestens ein Gerät im 'PRE-OP'-Status

10 (0x0400)

Mindestens ein Gerät im 'SAFE-OP'-Status

11 (0x0800)

Mindestens ein Gerät zeigt einen Fehlerzustand an

12 (0x1000)

DC not in sync

Die Bits 8-11 der Variable des Gerätestatus zeigen an, ob sich ein oder mehrere Slave-Geräte in einem bestimmten Status befinden. Während der Prozessdatenkommunikation befinden sich die Slaves im Status Operational. In diesem Fall sind die Bits 8-11 auf 0 gesetzt. Befindet sich ein Slave-Gerät im Status Init statt Operational, wäre das Bit 8 gesetzt (DevState = 0x0100).

EtherCAT-Slave-Gerät

Zusätzlich zu den Diagnoseeingängen der EtherCAT-Geräte verfügt jedes Slave-Gerät über eine optionale Diagnose-Eingangsvariable namens WcState:

Additional Diagnostic information 3:

WcState: Variable vom Typ BOOL, die den Working Counter-Staus des EtherCAT-Slave-Gerätes anzeigt. Ein Wert von 0 bedeutet einen gültigen Working Counter und ein Wert von 1 einen ungültigen Working Counter. Wenn der Working Counter ungültig ist, bedeutet dies, dass das EtherCAT-Kommando, das für die Aktualisierung der Ein- und Ausgänge für dieses Gerät zuständig ist, einen falschen Working Counter hat. Da dieses Kommando mehr als 1 Slave-Gerät ansprechen kann, wird die Variable WcState aller beteiligten Geräte auf ungültig gesetzt und man kann das Gerät, das das Problem verursacht, nicht mit Hilfe dieser Variable bestimmen. Um festzustellen, ob ein einzelnes Slave-Gerät ein Problem hat, kann man mit Hilfe der Variablen InfoData.State den Status des Gerätes auslesen.

Additional Diagnostic information 4:

Wenn "Info Data" aktiviert ist (siehe Master-Einstellungen), wird das "Info"-Geräteabbild dem EtherCAT-Gerät hinzugefügt. Zusätzlich wird dem EtherCAT-Gerät und den angeschlossenen EtherCAT-Slave-Geräten ein Eintrag "InfoData" hinzugefügt. 'InfoData' enthält Eingangsvariablen, die Informationen über das EtherCAT-Gerät liefern, die sich normalerweise nicht sehr oft ändern. Variablen, die auf die "Info"-Bildern abgebildet werden, werden nicht zyklisch aktualisiert, sondern nur, wenn das Abbild sich geändert hat.

ChangeCnt: Die ChangeCnt zeigt an, wie oft sich der Inhalt des Abbildes geändert hat.

DevId(optional): Dies ist die Geräte-ID des EtherCAT-Geräts.

AmsNetId(optional): Die AmsNetId ist ein Parameter, der für die Kommunikation mit dem EtherCAT-Master-Gerät über ADS erforderlich ist. Der ADS-Port des EtherCAT-Masters ist immer 0xFFFF(65535) und der Ads-Port eines EtherCAT-Slave-Geräts ist gleich der festen Adresse (siehe EtherCAT Addr) des Slaves.

EtherCAT-Slave-Gerät

Additional Diagnostic information 5:

State: Die Variable "State" enthält den aktuellen EtherCAT-Status und den Verbindungsstatus des EtherCAT-Slave-Geräts.

Wert

Beschreibung

0x___1

Slave im 'INIT'-Status

0x___2

Slave im 'PREOP'-Status

0x___3

Slave im 'BOOT'-Status

0x___4

Slave im 'SAFEOP'-Status

0x___8

Slave im 'OP'-Status

0x0010

Slave meldet Fehler

0x0020

Ungültige vendorId, productCode... lesen

0x0100

Slave nicht vorhanden

0x0200

Slave meldet Link-Fehler

0x0400

Slave meldet fehlenden Link

0x0800

Slave meldet unerwarteten Link

0x1000

Kommunikations-Port A

0x2000

Kommunikations-Port B

0x4000

Kommunikations-Port C

0x8000

Kommunikations-Port D

AdsAddr( optional ): Die Variable "AdsAddr" enthält die Ams netId und den Ams port des Slave-Geräts. Dies sind notwendige Parameter, um mit dem EtherCAT-Slave-Gerät über ADS zu kommunizieren. Die Variable "AdsAddr" wird standardmäßig hinzugefügt, wenn der Slave eine Mailbox unterstützt.

Chn0 (nur bei Antrieben optional): Antriebskanal.

Zusätzliche nicht-zyklische Diagnoseinformationen finden Sie auf der Registerkarte Online des EtherCAT-Geräts.