Kommunikation

In der Strukturansicht werden unter dem Menüpunkt Inputs Eingangsvariablen aufgelistet, die Informationen über einen CANopen-Gerät zur Verfügung stellen.

Über die Variable NodeState können Sie sich den Zustand der CANopen-Kommunikation anzeigen lassen und wissen damit, ob sich der Slave im Datenaustausch befindet oder einen Fehler vorliegt.

Kommunikation 1:
Diagnose der CANopen-Kommunikation mit den Variablen NodeState, DiagFlag und EmergencyCounter.

NodeState

Die folgende Tabelle zeigt, welche Werte die Variable NodeState annehmen kann:

Wert

Bedeutung

0

No error

1

Node deactivated

2

Node not found

4

SDO syntax error at StartUp

5

SDO data mismatch at StartUp

8

Node StartUp in progress

11

FC510x Bus-OFF

12

Pre-Operational

13

Severe bus fault

14

Guarding: toggle error

20

TxPDO too short

22

Expected TxPDO is missing

23

Node is Operational but not all TxPDOs were received

31

only for EtherCAT gateways: WC-State of cyclic EtherCAT frame is 1

128

Node is Operational but not all RxPDOs were received

129

Node is Pre-Operational

130

Node is Stopped

DiagFlag

Die folgende Tabelle zeigt, welche Werte die Variable DiagFlag annehmen kann. Diese Variable liefert Informationen darüber, ob sich die Diagnosedaten verändert haben.

Wert

Bedeutung

0

Daten nicht verändert.

1

Daten verändert. Benutze ADS-Read, um die Daten auszulesen.

EmergencyCounter

Bei der Variable EmergencyCounter wird der Zähler um eins erhöht, wenn ein Emergency Telegramm erhalten wurde.

Auslesen der Emergency-Telegramme mit dem Funktionsbaustein ADSREAD.

Eingangsparameter

Beschreibung

NETID

NetId der CAN-Schnittstelle

Port Nummer

200

IDXGRP

16#xxxxF180 (xxxx) Node-Id, das Diag Flag wird nur beim Auslesen von mindesten 106 Byte zurückgesetzt
16#xxxxF181 (xxxx) Node-Id, das Diag Flag wird sofort zurückgesetzt

IDXOFFS

Byte Offset

Beschreibung des Arrays

Offset

Bit

Wert / Beschreibung

0 - 1

Bit 0

reserviert

Bit 1

Boot-Up-Message nicht empfangen oder fehlerhaft

Bit 2

Emergency-Overflow

Bit 3 - 15

reserviert

2 - 3

Bit 0 - 14

TX-PDO (i+1) empfangen

Bit 15

alle TX-PDOs 16-n empfangen

4 - 5

Bit 0 - 4

1: falsche TX-PDO-Länge

2: synchrone TX-PDO fehlt

3: Node meldet PRE-OPERATIONAL

4: Event-Timer bei einer TX-PDO abgelaufen

5: keine Antwort beim Guarden

6: mehrmals kein Toggeln beim Guarden

Bit 5 - 15

zugehörige COB-ID

6

Bit 0 - 7

1: falscher Wert bei einem SDO-Upload

2: falsche Länge bei einem SDO-Upload

3: Abort bei einem SDO-Up-/Download

4: falsches Datum bei einer Boot-Up-Message

5: Timeout beim Warten auf Boot-Up-Message

7

Bit 0 - 7

2: falscher SDO-Command specifier

3: SDO-Toggle-Bit hat sich nicht geändert

4: SDO-Länge zu groß

5: SDO-Abort

6: SDO-Timeout

8 - 9

Bit 0 - 7

Index des SDO-Up/Downloads

10

Bit 0 - 7

Subindex des SDO-Up/Downloads

11

Bit 0 - 7

reserviert

12

Bit 0 - 7

errorClass des Aborts

13

Bit 0 - 7

errorCode des Aborts

14 - 15

Bit 0 - 15

additionalCode des Aborts

16 - 19

 

gelesener Wert (falls Offset 6 = 1)

20 - 23

 

erwarteter Wert (falls Offset 6 = 1)

24 - 25

 

Anzahl der folgenden Emergencies

26 - n

 

Emergencies (jeweils 8 Byte)