CAN-Statistik-Zähler: Unterschied zwischen den Versionen

Aus CANopen-Lift
Zur Navigation springen Zur Suche springen
(Seite neu angelegt)
 
(Erklärung rx/tx max counter überarbeitet)
Zeile 22: Zeile 22:
  Subindex 1, UNSIGNED16, rw:  Warning counter (Anzahl Zustandswechsel nach Warning)
  Subindex 1, UNSIGNED16, rw:  Warning counter (Anzahl Zustandswechsel nach Warning)
  Subindex 2, UNSIGNED16, rw:  Error counter (Anzahl Zustandswechsel von Error active nach Error passive)
  Subindex 2, UNSIGNED16, rw:  Error counter (Anzahl Zustandswechsel von Error active nach Error passive)
  Subindex 3, UNSIGNED16, rw:  Bus-off counter (Anzahl Zustandswechsel von Error passive nach Bus off)
  Subindex 3, UNSIGNED16, rw:  Bus off counter (Anzahl Zustandswechsel von Error passive nach Bus off)


== Empfangs-Zähler ==
== Empfangs-Zähler ==


Für den Empfang gibt es mehrere Zähler. Der Rx counter zählt alle empfangenen Nachrichten (die durch den CAN-Controller signalisiert werden). Wird eine Nachricht im CAN-Controller durch eine Neue überschrieben und geht dadurch verloren, so wird der Rx overrun counter erhöht. Kommt eine Empfangs-Warteschlange (FIFO) zum Einsatz und kann dort die Nachricht nicht abgelegt werden, so wird der Rx overflow counter erhöht. Im Rx max. counter kann die Anzahl max. Nachrichten zu einem beliebigen Zeitpunt in der Empfangs-Warteschlange erfaßt werden. Rx fifo size ist die Größe der Empfangs-Warteschlange.
Für den Empfang gibt es mehrere Zähler. Der Rx message counter zählt alle erfolgreich empfangenen Nachrichten (wird durch den CAN-Controller signalisiert). Wird eine Nachricht im CAN-Controller durch eine Neue überschrieben und geht dadurch verloren, so wird der Rx overrun counter erhöht. Kommt eine Empfangs-Warteschlange (FIFO) zum Einsatz und kann dort die Nachricht nicht abgelegt werden, so wird der Rx overflow counter erhöht. Im Rx max. counter kann die max. Anzahl Nachrichten in der Empfangs-Warteschlange erfaßt werden (maximaler Füllstand). Rx fifo size ist die Größe der Empfangs-Warteschlange.


  Objekt 0x5801, Record: CAN rx counter
  Objekt 0x5801, Record: CAN rx counter
Zeile 32: Zeile 32:
  Subindex 0, UNSIGNED8,  rw:  Number of objects (r),  
  Subindex 0, UNSIGNED8,  rw:  Number of objects (r),  
                               write zero: clear rx counter,  
                               write zero: clear rx counter,  
  Subindex 1, UNSIGNED32, rw:  Rx counter (Anzahl empfangener gültiger Nachrichten)
  Subindex 1, UNSIGNED32, rw:  Rx message counter (Anzahl empfangener gültiger Nachrichten)
  Subindex 2, UNSIGNED16, rw:  Rx overrun counter (Anzahl verlorener Nachrichten durch Hardware-Überlauf)
  Subindex 2, UNSIGNED16, rw:  Rx overrun counter (Anzahl verlorener Nachrichten durch Hardware-Überlauf)
  Subindex 3, UNSIGNED16, rw:  Rx overflow counter (Anzahl verlorener Nachrichten durch Software-Überlauf)
  Subindex 3, UNSIGNED16, rw:  Rx overflow counter (Anzahl verlorener Nachrichten durch Software-Überlauf)
  Subindex 4, UNSIGNED16, rw:  Rx max. counter (Anzahl max. Nachrichten in der Empfangs-Warteschlange)
  Subindex 4, UNSIGNED16, rw:  Rx max. counter (Max. Anzahl Nachrichten in der Empfangs-Warteschlange, max. Füllstand)
  Subindex 5, UNSIGNED16, ro:  Rx fifo size (Größe der Empfangs-Warteschlange)
  Subindex 5, UNSIGNED16, ro:  Rx fifo size (Größe der Empfangs-Warteschlange)


== Sende-Zähler ==
== Sende-Zähler ==


Für das Senden gibt es mehrere Zähler. Der Tx counter zählt alle gesendeten Nachrichten (die durch den CAN-Controller signalisiert werden). Kommt eine Sende-Warteschlange (FIFO) zum Einsatz und ist diese voll, so wird das Ereignis im Rx overflow counter gezählt. Geht dadurch eine Nachricht verloren, so wird der Tx overrun counter erhöht. Im Tx max. counter kann die Anzahl max. Nachrichten zu einem beliebigen Zeitpunt in der Sende-Warteschlange erfaßt werden. Tx fifo size ist die Größe der Sende-Warteschlange.
Für das Senden gibt es mehrere Zähler. Der Tx message counter zählt alle erfogreich gesendeten Nachrichten (wird durch den CAN-Controller signalisiert). Kommt eine Sende-Warteschlange (FIFO) zum Einsatz und ist diese voll, so wird das Ereignis im Rx overflow counter gezählt. Geht dadurch eine Nachricht verloren, so wird der Tx overrun counter erhöht. Im Tx max. counter kann die max. Anzahl Nachrichten in der Sende-Warteschlange erfaßt werden (maximaler Füllstand). Tx fifo size ist die Größe der Sende-Warteschlange.


  Objekt 0x5802, Record: CAN tx counter
  Objekt 0x5802, Record: CAN tx counter
Zeile 46: Zeile 46:
  Subindex 0, UNSIGNED8,  rw:  Number of objects (r),  
  Subindex 0, UNSIGNED8,  rw:  Number of objects (r),  
                               write zero: clear tx counter,  
                               write zero: clear tx counter,  
  Subindex 1, UNSIGNED32, rw:  Tx counter (Anzahl gesendeter Nachrichten)
  Subindex 1, UNSIGNED32, rw:  Tx message counter (Anzahl erfolgreich gesendeter Nachrichten)
  Subindex 2, UNSIGNED16, rw:  Tx overrun counter (Anzahl verlorener Nachrichten durch Hardware/Software-Überlauf)
  Subindex 2, UNSIGNED16, rw:  Tx overrun counter (Anzahl verlorener Nachrichten durch Hardware/Software-Überlauf)
  Subindex 3, UNSIGNED16, rw:  Tx overflow counter (Anzahl Ereignisse Software-Überlauf)
  Subindex 3, UNSIGNED16, rw:  Tx overflow counter (Anzahl Ereignisse Software-Überlauf ohne Verlust der Nachricht)
  Subindex 4, UNSIGNED16, rw:  Tx max counter (Anzahl max. Nachrichten in der Sende-Warteschlange)
  Subindex 4, UNSIGNED16, rw:  Tx max counter (Max. Anzahl Nachrichten in der Sende-Warteschlange, max. Füllstand)
  Subindex 5, UNSIGNED16, ro:  Tx fifo size (Größe der Sende-Warteschlange)
  Subindex 5, UNSIGNED16, ro:  Tx fifo size (Größe der Sende-Warteschlange)

Version vom 14. September 2010, 08:03 Uhr

Zur Erfassung von statistischen Werten der CAN-Bus-Verbindung werden folgende Objekte vorgeschlagen:

Bus Status

Der Zustand des CAN-Busses wird in vier Status aufgeteilt (in Klammern Receive error counter - REC und Transmit error counter - TEC):

  • Error active (REC < 96 und TEC < 96)
  • Warning (Error active, REC >= 96 oder TEC >= 96)
  • Error passive
  • Bus off

Für jeden Wechsel von Error active nach Warning, von Warning nach Error passive und Error passive nach Bus off gibt es einen Zähler.

Objekt 0x5800, Record: CAN status counter

Subindex 0, UNSIGNED8,  rw:  Number of objects (r), 
                             write zero: clear status counter, 
                             write one: clear status/rx/tx counter
Subindex 1, UNSIGNED16, rw:  Warning counter (Anzahl Zustandswechsel nach Warning)
Subindex 2, UNSIGNED16, rw:  Error counter (Anzahl Zustandswechsel von Error active nach Error passive)
Subindex 3, UNSIGNED16, rw:  Bus off counter (Anzahl Zustandswechsel von Error passive nach Bus off)

Empfangs-Zähler

Für den Empfang gibt es mehrere Zähler. Der Rx message counter zählt alle erfolgreich empfangenen Nachrichten (wird durch den CAN-Controller signalisiert). Wird eine Nachricht im CAN-Controller durch eine Neue überschrieben und geht dadurch verloren, so wird der Rx overrun counter erhöht. Kommt eine Empfangs-Warteschlange (FIFO) zum Einsatz und kann dort die Nachricht nicht abgelegt werden, so wird der Rx overflow counter erhöht. Im Rx max. counter kann die max. Anzahl Nachrichten in der Empfangs-Warteschlange erfaßt werden (maximaler Füllstand). Rx fifo size ist die Größe der Empfangs-Warteschlange.

Objekt 0x5801, Record: CAN rx counter

Subindex 0, UNSIGNED8,  rw:  Number of objects (r), 
                             write zero: clear rx counter, 
Subindex 1, UNSIGNED32, rw:  Rx message counter (Anzahl empfangener gültiger Nachrichten)
Subindex 2, UNSIGNED16, rw:  Rx overrun counter (Anzahl verlorener Nachrichten durch Hardware-Überlauf)
Subindex 3, UNSIGNED16, rw:  Rx overflow counter (Anzahl verlorener Nachrichten durch Software-Überlauf)
Subindex 4, UNSIGNED16, rw:  Rx max. counter (Max. Anzahl Nachrichten in der Empfangs-Warteschlange, max. Füllstand)
Subindex 5, UNSIGNED16, ro:  Rx fifo size (Größe der Empfangs-Warteschlange)

Sende-Zähler

Für das Senden gibt es mehrere Zähler. Der Tx message counter zählt alle erfogreich gesendeten Nachrichten (wird durch den CAN-Controller signalisiert). Kommt eine Sende-Warteschlange (FIFO) zum Einsatz und ist diese voll, so wird das Ereignis im Rx overflow counter gezählt. Geht dadurch eine Nachricht verloren, so wird der Tx overrun counter erhöht. Im Tx max. counter kann die max. Anzahl Nachrichten in der Sende-Warteschlange erfaßt werden (maximaler Füllstand). Tx fifo size ist die Größe der Sende-Warteschlange.

Objekt 0x5802, Record: CAN tx counter

Subindex 0, UNSIGNED8,  rw:  Number of objects (r), 
                             write zero: clear tx counter, 
Subindex 1, UNSIGNED32, rw:  Tx message counter (Anzahl erfolgreich gesendeter Nachrichten)
Subindex 2, UNSIGNED16, rw:  Tx overrun counter (Anzahl verlorener Nachrichten durch Hardware/Software-Überlauf)
Subindex 3, UNSIGNED16, rw:  Tx overflow counter (Anzahl Ereignisse Software-Überlauf ohne Verlust der Nachricht)
Subindex 4, UNSIGNED16, rw:  Tx max counter (Max. Anzahl Nachrichten in der Sende-Warteschlange, max. Füllstand)
Subindex 5, UNSIGNED16, ro:  Tx fifo size (Größe der Sende-Warteschlange)