EL6751- Diagnose Busknoten
Die CANopen Feldbuskarte EL6751 verfügt über umfangreiche Diagnosemöglichkeiten für die angeschlossenen Netzwerkknoten.
Für jeden CANopen Feldbusknoten gibt es die Eingangsvariable Node State, die den Status des jeweiligen Slaves zur Laufzeit signalisiert und z. B. mit der SPS verknüpft werden kann.
Node-State (Box-State)
Node State | Bedeutung | Erläuterung |
---|---|---|
0 = 0x00 | No error | Busknoten ist Operational, Kommunikation läuft fehlerfrei |
1 = 0x01 | Node deactivated | Knoten weist einen oder mehrere der folgenden Fehler auf:
Knoten wurde gestoppt, da "Restart Manuell" nach Knotenausfall angewählt wurde. |
2 = 0x02 | Node not found | Knoten wurde nicht gefunden: keine Antwort auf SDO-Lesezugriff auf Objekt 0x1000 an der erwarteten Knotenadresse. Am Knoten prüfen: eingestellte Knotenadresse + Baudrate. Netzwerk prüfen (Abschlusswiderstand, Stecker, Buslänge, vertauschte Leitungen, etc.) |
4 = 0x04 | SDO syntax error at StartUp | Fehler beim SDO Schreibzugriff: SDO Abort durch Knoten. Details siehe Karteireiter "Diag". |
5 = 0x05 | SDO data mismatch at StartUp | Erwartete Daten stimmen nicht mit via SDO gelesenen Daten überein (z. B. Device Profile und/oder Add. Info stimmen nicht mit Objekt 0x1000 überein). Tritt auch auf, wenn zu schreibender Wert (z. B. PDO COB-ID) wegen Verweigerung des Schreibzugriffs zurückgelesen wurde und nicht übereinstimmt. Details siehe Karteireiter "Diag". |
8 = 0x08 | Node StartUp in progress | Knoten wurde gefunden und wird gestartet |
11 = 0x0B | EL6751Bus-OFF | CAN Chip ist in "Bus-OFF" Zustand gegangen: Sende-Fehlerzähler ging |
12 = 0x0C | Pre-Operational | Knoten ist (von selbst) in Pre-Operational gegangen. |
13 = 0x0D | Severe bus fault | Allgemeiner Firmwarefehler |
14 = 0x0E | Guarding: toggle error | Guarding Fehler: Toggle Bit wurde nicht geändert |
20 = 0x14 | TxPDO too short | Empfangenes TxPDO kürzer als erwartet |
22 = 0x16 | Expected TxPDO is missing |
|
23 = 0x17 | Node is Operational but not all TxPDOs were received | Knoten wurde gestartet aber mindestens ein TxPDO des Knotens wurde noch nicht empfangen. Mögliche Ursachen (z. B.):
|
DiagFlag
Zeigt an, ob sich die Diagnoseinformationen der Box geändert haben.
Auslesen der Diagnosedaten via ADS
CANopen Emergencies und weitere Diagnosedaten können mit ADS-Read ausgelesen werden (neue Daten sind vorhanden, sobald das DiagFlag gesetzt ist). Dazu sind die ADS Net-ID der EL6751anzugeben. Weitere ADS Parameter:
Port: 200
IndexGroup: Lo-Word = 0xF180, Hi-Word = Node-Nummer.
IndexOffset: siehe unten
Länge: siehe unten
Wenn mehr als 26 Bytes Diagnosedaten ausgelesen werden, wird der Emergency-Speicher zurückgesetzt. Das DiagFlag wird zurückgesetzt, sobald ab Offset 0 mindestens 108 Bytes ausgelesen werden. Alternativ wird das Flag nach jedem Lesezugriff zurückgesetzt, wenn IndexGroup 0xF181 (statt 0xF180) zum Auslesen verwendet wird.
Die Diagnosedaten habe folgende Bedeutung:
Offset 0,1: | Bit 1: | Boot-Up-Message nicht empfangen oder fehlerhaft |
Bit 2: | Emergency-Overflow | |
Bit 0, Bit 3-15: | reserviert | |
Offset 2,3: | Bit 0-14: | TX-PDO (i+1) empfangen |
Bit 15: | alle TX-PDOs 16-n empfangen | |
Offset 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 | |
Offset 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 | |
Offset 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 | |
Offset 8,9 | Bit 0-7: | Index des SDO-Up/Downloads |
Offset 10: | Bit 0-7: | Subindex des SDO-Up/Downloads |
Offset 11: | Bit 0-7: | reserviert |
Offset 12: | Bit 0-7: | errorClass des Aborts |
Offset 13: | Bit 0-7: | errorCode des Aborts |
Offset 14,15: | Bit 0-15: | additionalCode des Aborts |
Offset 16-19: |
| gelesener Wert (falls Offset 6 = 1) |
Offset 20-23: |
| erwarteter Wert (falls Offset 6 = 1) |
Offset 24-25: |
| Anzahl der folgenden Emergencies |
Offset 26 - n: |
| Emergencies (jeweils 8 Byte) |