Herunterladen Inhalt Inhalt Diese Seite drucken

Can-Fehler Und Fehlerbehandlung; Fehlertelegramm; Fehlerzähler - IFM Electronic CR2500 Systemhandbuch

Vorschau ausblenden Andere Handbücher für CR2500:
Inhaltsverzeichnis

Werbung

CAN im ecomatmobil-Controller
8.5

CAN-Fehler und Fehlerbehandlung

Die hier beschriebenen Fehlermechanismen werden von dem im Controller integrierten CAN-
Controller automatisch abgearbeitet. Der Anwender hat darauf keinen Einfluss. Der Anwender sollte
(je nach Applikation) auf gemeldete Fehler in der Anwendersoftware reagieren.
Ziel der CAN-Fehler-Mechanismen ist es:
Sicherstellung einheitlicher Datenobjekte im gesamten CAN-Netz
Dauerhafte Funktionsfähigkeit des Netzes auch im Falle eines defekten CAN-Teilnehmers
Unterscheidung zwischen zeitweiliger und dauerhafter Störung eines CAN-Teilnehmers
Lokalisierung und Selbstabschaltung eines defekten Teilnehmers in 2 Stufen:
- Fehlerpassiv (Error-passiv)
- Trennen vom Bus (Bus-off)
Dies ermöglicht einem zeitweilig gestörten Teilnehmer eine "Erholungspause".
Um dem interessierten Anwender einen Überblick über das Verhalten des CAN-Controllers im
Fehlerfall zu geben, soll an dieser Stelle vereinfacht die Fehlerbehandlung beschrieben werden. Nach
der Fehlererkennung werden die Informationen automatisch aufbereitet und stehen in der
Anwendersoftware dem Programmierer als CAN-Fehler-Bits zur Verfügung.
8.5.1

Fehlertelegramm

Erkennt ein Busteilnehmer eine Fehlerbedingung, so sendet er sofort ein Fehlerflag und veranlasst
damit den Abbruch der Übertragung bzw. das Verwerfen der von anderen Teilnehmern schon
empfangenen fehlerfreien Nachrichten. Dadurch wird sichergestellt, dass allen Teilnehmern fehlerfreie
und einheitliche Daten zur Verfügung stehen. Da das Fehlerflag unmittelbar übertragen wird, kann im
Gegensatz zu anderen Feldbussystemen (diese warten eine festgelegte Quittierungszeit ab) sofort mit
der Wiederholung der gestörten Nachricht durch den Absender begonnen werden. Dies ist eines der
wichtigsten Merkmale von CAN.
Eine der grundsätzlichen Problematiken der seriellen Datenübertragung ist, dass ein dauerhaft
gestörter oder defekter Busteilnehmer das gesamte System blockieren kann. Gerade die
Fehlerbehandlung bei CAN würde solche Gefahr fördern. Um diesen Fall auszuschließen, ist ein
Mechanismus erforderlich, welcher den Defekt eines Teilnehmers erkennt und diesen Teilnehmer
gegebenenfalls vom Bus abschaltet.
8.5.2
Fehlerzähler
Dazu sind im CAN-Controller ein Sende- und ein Empfangsfehlerzähler enthalten. Diese werden bei
jedem fehlerhaften Sende- oder Empfangsvorgang heraufgezählt (inkrementiert). War eine
Übertragung fehlerfrei, werden diese Zähler wieder heruntergezählt (dekrementiert).
Die Fehlerzähler werden jedoch im Fehlerfall stärker inkrementiert, als sie im Erfolgsfalle
dekrementiert werden. Über eine bestimmte Zeitspanne kann dies zu einem merklichen Anstieg der
Zählerstände führen, selbst wenn die Anzahl der ungestörten Nachrichten größer ist, als die Anzahl
der gestörten Nachrichten. Längere fehlerfreie Zeitspannen bauen die Zählerstände langsam wieder
ab. Die Zählerstände sind somit ein Maß für die relative Häufigkeit von gestörten Nachrichten.
Werden Fehler von einem Teilnehmer selbst als erster erkannt (= selbstverschuldete Fehler), wird bei
diesem Teilnehmer der Fehler stärker "bestraft" als bei den anderen Busteilnehmern. Dazu wird der
Zähler um einen höheren Betrag inkrementiert.
Übersteigt nun der Zählerstand eines Teilnehmers einen bestimmten Wert, kann davon ausgegangen
werden, dass dieser Teilnehmer defekt ist. Damit dieser Teilnehmer den folgenden Busverkehr nicht
weiter durch aktive Fehlermeldungen (error active) stört, wird er "fehlerpassiv" geschaltet (error
passiv).
ifm
Systemhandbuch
ecomatmobile
SmartController (CR2500) V05

CAN-Fehler und Fehlerbehandlung

57

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis