-
Die
Erfindung betrifft ein Verfahren zur Fehlerverwaltung gemäß dem Oberbegriff
des Anspruchs 1, eine entsprechende Vorrichtung gemäß dem Oberbegriff
von Anspruch 12, sowie ein entsprechendes Computerprogramm und ein
Computerprogrammprodukt.
-
Stand der Technik
-
Die
DE 197 31 116 A1 befasst
sich mit einem Steuergerät
für ein
System. Das System ist mit Sensoren ausgestattet. Über Verbindungsleitungen
können
Messwerte der Sensoren zum Steuergerät hin übertragen werden. Das Steuersystem
erhält
somit Informationen über
Zustände
des Systems.
-
Die
DE 103 02 054 A1 betrifft
die Überprüfung von
Komponenten einer Brennkraftmaschine. Jeder Komponente ist eine
Diagnosefunktion zugeordnet, die jeweils über eine Schnittstelle mit
einer zentralen Funktion kommuniziert.
-
Nachfolgend
wird im Wesentlichen auf ein elektronisches Stabilitätsprogramm
Bezug genommen, das beispielsweise im Automobilbereich eingesetzt
werden kann. Das Verfahren oder die Vorrichtung sind jedoch nicht
auf diese Anwendung beschränkt.
-
Im
Elektronischen Stabilitätsprogramm (ESP;
ESP = Elektronisches Stabilitätsprogramm) kommen
verschiedene Hardwarekomponenten zum Einsatz. Unter dem Begriff
Hardwarekomponente werden in diesem Zusammenhang Sensoren, Aktoren,
Datenübertragungscontroller
und Steuergerätekomponenten
aller Art zusammengefasst. Bei den Datenübertragungscontrollern kann
es sich beispielsweise um CAN oder Flex-Ray handeln. Unter die Steuergerätekomponenten
fallen beispielsweise ROM, RAM, EEPROM oder A/D-Wandler.
-
Alle
erwähnten
Hardwarekomponenten sowie die Signale, die von den Hardwarekomponenten übertragen
oder geliefert werden, werden während ihres
Betriebes überwacht,
um eventuelle Ausfälle
zu erkennen. Ein aktueller Zustand einer Komponente oder eines Signales
wird als Status bezeichnet. Mögliche
Stati sind beispielsweise „gültig", „kurzzeitig
ungültig", „nicht
initialisiert" und „ungültig". Unter dem Status „nicht
initialisiert" sind
mehrere Stufen möglich.
-
Derzeit
werden die Stati einzelner Komponenten von vielen Überwachungsalgorithmen
dezentral bestimmt. Das bedeutet, dass die Überwachungsalgorithmen über das
gesamte System, beispielsweise das ESP, verteilt sind. Die resultierenden Stati
werden durch komplexe Logikteile ebenfalls verteilt ermittelt. Ebenfalls
verteilt gelöst,
das heißt
an mehreren Stellen im System implementiert, ist eine Folgefehlervermeidung,
durch die nicht-kausale Fehler unterdrückt werden, sowie eine Mehrfachfehlerbehandlung.
-
Diese
Verteilung der Aufgaben und Verantwortlichkeiten erschwert erheblich
eine Produktkonfiguration des Systems und eine Bearbeitung von Kundenprojekten.
Darüber
hinaus ist bei herkömmlichen Systemen
ein Einsatz von Tools zur automatisierten Dokumentationsgenerierung
in den drei angesprochenen Bereichen, der Ermittlung der resultierenden Stati,
der Folgefehlervermeidung sowie der Mehrfachfehlerbehandlung, nicht
möglich.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren sowie
eine Vorrichtung zur verbesserten Fehlerverwaltung in einem System
mit einer Mehrzahl von Komponenten sowie ein entsprechendes Computerprogramm
und ein Computerprogrammprodukt zu schaffen.
-
Technische Aufgabe
-
Diese
Aufgabe wird gemäß einem
Verfahren nach Anspruch 1, einer Vorrichtung gemäß Anspruch 12 sowie einem Computerprogramm
und einem Computerprogrammprodukt gemäß den Ansprüchen 14 und 15 gelöst.
-
Technische Lösung
-
Die
vorliegende Erfindung schafft ein Verfahren zur Fehlerverwaltung
in einem System mit einer Mehrzahl von Komponenten, wobei Fehlerzustände der
Komponenten mittels Statuswerten anzeigbar sind. Dabei wird ein
erster Statuswert abhängig
von einem Fehlerzustand einer ersten Komponente und ein zweiter
Statuswert abhängig
von einem Fehlerzustand einer zweiten Komponente und abhängig von dem
ersten Statuswert bestimmt.
-
Gemäß dem erfindungsgemäßen Verfahren sind
Fehler innerhalb eines Gesamtsystems sehr schnell feststellbar,
darstellbar und im gesamten System kommunizierbar.
-
Die
vorliegende Erfindung schafft ferner eine Vorrichtung zur Fehlerverwaltung
in einem System mit einer Mehrzahl von Komponenten, die alle Schritte
des erfindungsgemäßen Verfahrens
durchführt.
-
Das
erfindungsgemäße Computerprogramm mit
Programmcodemitteln ist dazu ausgelegt alle Schritte des erfindungsgemäßen Verfahrens
durchzuführen,
wenn dieses Computerprogramm auf einem Computer oder einer entsprechenden
Recheneinheit, insbesondere einer erfindungsgemäßen Vorrichtung, durchgeführt wird.
-
Das
erfindungsgemäße Computerprogrammprodukt
mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind,
ist zur Durchführung
des erfindungsgemäßen Verfahrens
vorgesehen, wenn dieses Computerprogramm auf einem Computer oder
einer entsprechenden Recheneinheit, insbesondere einer erfindungsgemäßen Vorrichtung,
durchgeführt
wird.
-
Ein
wesentlicher Aspekt der Erfindung ist in einem so genannten Abhängigkeitsgraph
darstellbar. (engl.: Failure Dependency Structure). Der Abhängigkeitsgraph
beinhaltet und stellt die Abhängigkeiten
zwischen den einzelnen überwachten
Hardwarekomponenten und Signalen des Systems dar. Darüber hinaus
beinhaltet der Abhängigkeitsgraph
eine Zuordnung von Überwachungsalgorithmen
zu den überwachten
Hardwarekomponenten.
-
Vorteilhafte Wirkungen
-
Aufbauend
hierauf ermöglicht
der erfindungsgemäße Ansatz
eine Sammlung aller Überwachungsergebnisse,
die von Komponenten des Systems vorliegen und ermöglicht eine
Ermittlung von resultierenden Hardwarekomponenten- und Signalstati.
Ferner wird eine Erkennung von Folgefehlern ermöglicht, um unplausible Fehlerspeichereinträge zu unterdrücken. Ein
solcher Vorgang wird auch als Folgefehlervermeidung bezeichnet.
Auch wird eine Vorbereitung einer Mehrfachfehlerbehandlung ermöglicht.
-
Der
erfindungsgemäße Ansatz
bietet eine Reihe von implementierungsunabhängigen Vorteilen. Darunter
fällt eine
zentrale Sammlung aller von Überwachungsalgorithmen
gemeldeten Fehler. Dadurch wird die Übersichtlichkeit des Systems
stark erhöht. Die
Abhängigkeiten,
die in dem Abhängigkeitsgraph dargestellt
werden, sind stark projektabhängig. Durch
die zentrale Definition dieser Abhängigkeiten wird der Aufwand
bei der Projektinitiierung und während
des Projektverlaufs stark vermindert. In der Regel ändern sich
die Anforderungen an das Gesamtsystem im Laufe der Produktentwicklung.
Der Umfang der von diesen Änderungen
betroffenen System- und Softwareteile ist sehr gering. Die Zentralisierung
der Abhängigkeiten
macht Analysen sehr viel einfacher und involviert wesentlich weniger
Personen. Eine toolgestützte
Analyse der Umsetzung der Hardwareabhängigkeiten wird durch die zentrale
Definition der Abhängigkeiten
stark vereinfacht bzw. ermöglicht.
Die Produktkonfiguration wird deutlich erleichtert. Die Fehleranfälligkeit
wird durch die toolgestützte
Konfiguration stark reduziert.
-
Der
erfindungsgemäße Ansatz
bietet ferner eine Reihe von implementierungsrelevanten Vorteilen.
So können
sehr effiziente Algorithmen zum Einsatz kommen, um die Fehler weiterzuverarbeiten. Dadurch
werden weniger von den sehr begrenzten Ressourcen ROM, RAM und Laufzeit
bzw. Zykluszeit in einem Steuergerät verbraucht. Durch eine graphische
Produktkonfiguration und automatische Code-Generierung wird die
Fehleranfälligkeit
reduziert und das Produkthandling stark vereinfacht.
-
Bevorzugte
Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
Zweckmäßigerweise
zeigen die Statuswerte an, ob ein von einer Komponente bereitstellbarer Wert
gültig
oder ungültig
ist, wobei ein zweiter Statuswert derart bestimmt werden kann, dass
der zweite Statuswert anzeigt, dass ein von der zweiten Komponente
des Systems bereitstellbarer Wert ungültig ist, wenn der erste Statuswert,
der von der ersten Komponente des Systems erhalten wurde, anzeigt,
dass ein von der ersten Komponente bereitstellbarer Wert ungültig ist.
Hiermit sind Statuswerte sehr schnell innerhalb des Systems kommunizierbar,
wodurch insbesondere auch sicherheitsrelevante Statuswerte innerhalb
eines Systems für
sämtliche
Komponenten bereitstellbar sind.
-
Es
erweist sich als zweckmäßig, dass
ein weiterer Statuswert abhängig
von einem Fehlerzustand der weiteren Komponente und abhängig von dem
ersten bzw. einem vorangehendem Statuswert bestimmt wird.
-
Gemäß einer
besonders bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens
weist das System eine virtuelle Komponente auf, wobei ein Fehlerzustand
der virtuellen Komponente aus Statuswerten einer vorbestimmten der
(realen) Komponenten gemäß einer
Verknüpfungsvorschrift
bestimmt wird, und ein virtueller Statuswert abhängig von dem Fehlerzustand
der virtuellen Komponente und abhängig von dem ersten Statuswert
bestimmt wird. Durch die Definition derartiger virtueller Komponenten
und entsprechend zweckmäßiger Verknüpfungsvorschriften
können
Fehlerzustände
in besonders effektiver Weise innerhalb des Systems kommuniziert
werden.
-
Es
erweist sich als zweckmäßig, dass
ausgehend von dem ersten Statuswert jeder Statuswert, dessen Bestimmung
von einem vorangegangenen Statuswert abhängt, nur ein einziges Mal bestimmt wird.
Durch diese Maßnahme
können
Ressourcen innerhalb des Systems eingespart werden, ohne die Zuverlässigkeit
bzw. Sicherheit des Systems zu beeinträchtigen.
-
Es
erweist sich ferner als vorteilhaft, dass ein Statuswert, in Abhängigkeit
von dem kein weiterer Statuswert bestimmt wird, ausgewertet wird,
um festzustellen, welcher Statuswert, ausgehend von dem ersten Statuswert,
als erstes angezeigt hat, dass ein von einer Komponente bereitstellbarer
Wert ungültig ist,
um so eine fehlerhafte Komponente zu bestimmen. Hierbei erweist
es sich als besonders zweckmäßig, dass
ein Teil des Systems, der die fehlerhafte Komponente aufweist, degradiert
oder deaktiviert wird. Hiermit ist ein optimaler Betrieb insbesondere auch
sicherheitsrelevanter Systeme trotz fehlerhafter Komponente gewährleistet.
-
Zweckmäßigerweise
wird eine Information über
die fehlerhafte Komponente gespeichert, wodurch Wartungs- oder Fehleranalysearbeiten
erleichtert werden können.
-
Es
erweist sich als vorteilhaft, dass die Fehlerzustände der
Komponenten ermittelt werden, indem Überwachungsalgorithmen ausgeführt werden. Derartige Überwachungsalgorithmen
sind auf der Grundlage eines erfindungsgemäßen Verfahrens besonders effektiv
und schnell einsetzbar.
-
Vorteilhafterweise
ist die Verknüpfungsvorschrift
zur Bestimmung des Fehlerzustands einer virtuellen Komponente eine
Und-Verknüpfung.
Mit dieser Verknüpfung
ist eine Fehlersuche in besonders effektiver Weise bewerkstelligbar.
-
Es
erweist sich als zweckmäßig, dass
die Statuswerte ferner anzeigen, ob ein von einer Komponente bereitstellbarer
Wert kurzzeitig ungültig, oder
ob eine Komponente nicht initialisiert ist, wobei der zweite Statuswert
so bestimmt werden kann, dass dieser anzeigt, dass ein von der zweiten
Komponente bereitstellbarer Wert ungültig ist, wenn ein erster Statuswert
anzeigt, dass der von einer ersten Komponente bereitstellbare Wert
kurzzeitig ungültig, oder
die erste Komponente nicht initialisiert ist. Mittels dieser Maßnahmen
können
auch insbesondere kurzzeitige Ausfälle von Komponenten berücksichtigt werden.
-
Weitere
Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der
Beschreibung und den beiliegenden Zeichnungen.
-
Es
versteht sich, dass die vorstehend genannten und die nachstehend
noch zu erläuternden Merkmale
nicht nur in der jeweils angegebenen Kombination, sondern auch in
anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne
den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die
Erfindung ist anhand von Ausführungsbeispielen
in den folgenden Zeichnungen schematisch dargestellt und wird im
Folgenden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt
einen Abhängigkeitsgraph
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung; und
-
2 zeigt
einen weitern Abhängigkeitsgraph
gemäß einer
weiteren bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
Das
erfindungsgemäße Verfahren
sowie die erfindungsgemäße Vorrichtung
können
in Form eines Abhängigkeitsgraphen
dargestellt werden. Der Abhängigkeitsgraph
bildet dabei ein Sys tem mit einer Mehrzahl von Komponenten ab. Der
Abhängigkeitsgraph
beinhaltet alle überwachten
Komponenten des Systems. Darunter werden zum einem alle Hardwarekomponenten
des Systems, als auch von den Hardwarekomponenten gelieferten Signale
verstanden. Die überwachten
Komponenten werden im Abhängigkeitsgraph
als Knoten dargestellt. Abhängigkeiten
zwischen den Komponenten sind im Abhängigkeitsgraph durch Verbindungen
zwischen den Knoten dargestellt.
-
Der
Abhängigkeitsgraph
ist gerichtet und antizyklisch. Gerichtet bedeutet, dass eine Verbindung zwischen
zwei Knoten des Abhängigkeitsgraphen immer
nur in einer Richtung durchlaufen wird. Wird ausgehend von einem
beliebigen der Knoten beliebigen Verbindungen gefolgt, so gelangt
man weder zum Ausgangsknoten zurück,
noch wird einer der anderen Knoten mehr als einmal durchlaufen.
Der Abhängigkeitsgraph
ist also antizyklisch.
-
Die 1 und 2 zeigen
Abhängigkeitsgraphen
gemäß bevorzugten
Ausführungsbeispielen der
vorliegenden Erfindung. Die Knoten der gezeigten Abhängigkeitsgraphen
sind als Ellipsen dargestellt, zwischen denen gerichtete Verbindungen
bestehen. Ebenfalls dargestellt sind den jeweiligen Knoten zugeordnete Überwachungen,
die untereinander priorisiert sein können.
-
1 zeigt
einen Abhängigkeitsgraph
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Der Abhängigkeitsgraph bildet ein System 100 mit
einer Mehrzahl von Komponenten ab.
-
Ein
Fehlerzustand oder Verfügbarkeitszustand
einer ersten Komponente 110 des Systems 100 kann
mittels eines oder einer Mehrzahl von Überwachungsalgorithmen 111, 112, 113 bestimmt
werden. Abhängig
von dem Fehlerzustand der ersten Komponente 110 kann ein
erster Statuswert 115 bestimmt und an eine zweite Komponente 120 übermittelt
bzw. bereitgestellt werden. Im Betrieb kann die Komponente 110 ausgebildet
sein, um einen Komponentenwert bereitzustellen. Bei dem Komponentenwert
kann es sich beispielsweise um ein Sensorsignal, ein Steuersignal
oder einen übertragenen
Wert handeln. Abhängig
von dem Fehlerzustand der Komponente 110, kann der bereitstellbare
Komponentenwert, beispielsweise das Sensorsignal, gültig oder ungültig sein.
Gemäß einem
Ausführungsbeispiel kann
der erste Statuswert 115 anzeigen, ob der von der ersten
Komponente 110 bereitstellbare Wert gültig oder ungültig ist.
-
Ein
Fehlerzustand der zweiten Komponente 120 des Systems 100 kann
mittels eines oder einer Mehrzahl weiterer Überwachungsalgorithmen 121, 122 bestimmt
werden. Abhängig
von dem Fehlerzustand der zweiten Komponente 120 und abhängig von
dem ersten Statuswert 115, der von der ersten Komponente
bereitgestellt wird, kann ein zweiter Statuswert 125 bestimmt
und bereitgestellt werden. Der zweite Statuswert 125 kann
anzeigen, ob ein von der zweiten Komponente 120 bereitstellbarer
Wert gültig oder
ungültig
ist. Indem der zweite Statuswert 125 auch abhängig von
dem ersten Statuswert 115 bestimmt wird, kann der zweite
Statuswert 125 derart bestimmt werden, das der zweite Statuswert 125 anzeigt,
dass ein von der zweiten Komponente 120 bereitstellbarer
Wert ungültig
ist, wenn der erste Statuswert 115 anzeigt, dass ein von
der ersten Komponente 110 bereitstellbarer Wert ungültig ist.
Anders ausgedrückt,
wird der zweite Statuswert 125 derart bestimmt, dass der
zweite Statuswert 125 nur dann anzeigen kann, dass ein
von der zweiten Komponente 120 bereitstellbarer Wert gültig ist,
wenn der erste Statuswert 115 anzeigt, dass ein von der
ersten Komponente 115 bereitstellbarer Wert gültig ist.
-
Ein
Fehlerzustand einer dritten Komponente 130 des Systems 100 kann
mittels eines oder einer Mehrzahl von Überwachungsalgorithmen 131, 132, 133 bestimmt
werden. Abhängig
von dem Fehlerzustand der dritten Komponente 130 und abhängig von dem
zweiten Statuswert 125, kann ein dritter Statuswert 135 bestimmt
und bereitgestellt werden. Der dritte Statuswert 135 kann
anzeigen, dass ein von der dritten Komponente 130 bereitstellbarer
Wert gültig
oder ungültig
ist. Indem der dritte Statuswert 135 abhängig von
dem zweiten Statuswert 125 bestimmt wird, kann der dritte
Statuswert 135 derart bestimmt werden, das der dritte Statuswert 135 anzeigt,
dass ein von der dritten Komponente 130 bereitstellbarer Wert
ungültig
ist, wenn der zweite Statuswert 125 anzeigt, das ein von
der zweiten Komponente 120 bereitstellbarer Wert ungültig ist.
-
Gemäß dem in 1 gezeigten
Ausführungsbeispiel
weist das System 100 eine weitere zweite Komponente 140 und
eine weitere dritte Komponente 150 auf, die parallel zu
der ersten und zweiten Komponente 120, 130 angeordnet
sind. Der erste Statuswert 115 wird zusätzlich an die weitere zweite Komponente 140 bereitgestellt.
-
Ein
Fehlerzustand der zweiten weiteren Komponente 140 des Systems 100 kann
mittels einer Mehrzahl von Überwachungsalgorithmen 141, 142, 143 bestimmt
werden. Abhängig
von dem Fehlerzustand der zweiten weiteren Komponente 140 und
abhängig
von dem ersten Statuswert 115, der von der ersten Komponente
bereitgestellt wird, kann ein zweiter weiterer Statuswert 145 bestimmt
und bereitgestellt werden. Der zweite weitere Statuswert 145 kann
anzeigen, ob ein von der zweiten weiteren Komponente 140 bereitstellbarer
Wert gültig
oder ungültig ist.
Indem der zweite weitere Statuswert 145 abhängig von
dem ersten Statuswert 115 bestimmt wird, kann der zweite
weitere Statuswert 145 derart bestimmt werden, das der
zweite weitere Statuswert 145 anzeigt, dass ein von der
zweiten weiteren Komponente 140 bereitstellbarer Wert ungültig ist,
wenn der erste Statuswert 115 anzeigt, das ein von der
ersten Komponente 110 bereitstellbarer Wert ungültig ist.
-
Ein
Fehlerzustand einer dritten weiteren Komponente 150 des
Systems 100 kann mittels einer Mehrzahl von Überwachungsalgorithmen 151, 152, 153 bestimmt
werden. Abhängig
von dem Fehlerzustand der dritten weiteren Komponente 150 und
abhängig
von dem zweiten weiteren Statuswert 145, kann ein dritter
weiterer Statuswert 155 bestimmt und bereitgestellt werden.
Der dritte weitere Statuswert 155 kann anzeigen, ob ein
von der dritten weiteren Komponente 150 bereitstellbarer
Wert gültig
oder ungültig
ist. Indem der dritten weitere Statuswert 155 abhängig von
dem zweiten weiteren Statuswert 145 bestimmt wird, kann
der dritte weitere Statuswert 155 derart bestimmt werden,
das der dritte weitere Statuswert 155 anzeigt, dass ein
von der dritten weiteren Komponente 150 bereitstellbarer
Wert ungültig
ist, wenn der zweite weitere Statuswert 145 anzeigt, das ein
von der zweiten weiteren Komponente 140 bereitstellbarer
Wert ungültig
ist.
-
Gemäß einem
Ausführungsbeispiel
wird ein Statuswert, dessen Bestimmung von einem vorangegangenen
Statuswert abhängt,
erst bestimmt, wenn der vorangegangene Statuswert bestimmt ist.
Beispielsweise wird zuerst der erste Statuswert 115 bestimmt.
Danach wird abhängig
von dem ersten Statuswert 115 und dem Fehlerzustand der
zweiten Komponente 120 der zweite Statuswert 125 bestimmt.
Anschließend
wird abhängig
von dem zweiten Statuswert 125 und dem Fehlerzustand der
dritten Komponente 130 der dritte Statuswert 135 bestimmt.
Das erfindungsgemäße Verfahren
zur Fehlerverwaltung kann mehrmals bzw. beliebig oft zeitlich nacheinander
ausgeführt
werden. Bei jeder Ausführung
wird jeder Statuswert 115, 125, 135, 145, 155 nur
ein einziges Mal bestimmt, bzw. muss jeder Statuswert nur ein einziges
Mal bestimmt werden.
-
Gemäß einem
Ausführungsbeispiel
können die
Statuswerte 135, 155, in Abhängigkeit von welchen kein weiterer
Statuswert bestimmt wird (aber auch alle übrigen Statuswerte), ausgewertet
werden, um eine fehlerhafte Komponente des Systems zu erkennen.
Dies kann beispielsweise mit einer Auswerteeinrichtung (nicht gezeigt
in den Figuren) erfolgen, die ausgebildet ist, um die Statuswerte 135, 155 zu empfangen
und auszuwerten. Dabei kann festgestellt werden, ob und wenn ja
welcher Statuswert als erster angezeigt hat, dass ein von einer
Komponente bereitstellbarer Wert ungültig ist. Ein Teil des Systems 100, der
die fehlerhafte Komponente aufweist, kann anschließend degradiert
oder deaktiviert werden. Auch kann eine Information über die
fehlerhafte Komponente, beispielsweise in einer Speichereinrichtung (nicht
gezeigt in den Figuren) gespeichert werden.
-
Gemäß einem
weiteren Ausführungsbeispiel können die
Statuswerte ferner anzeigen, ob ein von einer Komponente bereitstellbarer
Wert kurzzeitig ungültig
oder ob eine Komponente nicht initialisiert ist. Zeigt beispielsweise
der zweite Statuswert 125 an, dass ein von der zweiten
Komponente 120 bereitstellbarer Wert kurzeitig ungültig ist
oder dass die zweite Komponente 120 nicht initialisiert
ist, so kann der dritte Statuswert 135 nicht anzeigen,
dass ein von der dritten Komponente 130 bereitstellbarer
Wert gültig
ist, sondern zeigt an, das der von der dritten Komponente 130 bereitstellbare
Wert ebenfalls ungültig ist.
-
Bei
dem System 100 kann es sich beispielsweise um ein ESP handeln.
Bei den Komponenten 110, 120, 130, 140, 150,
kann es sich beispielsweise um Sensoren, Aktoren, Datenübertragungscontroller, Steuergerätekomponenten
oder von solchen Komponenten übertragbare
Signale handeln. Die Statuswerte können in beliebiger Form, beispielsweise
in Form von Signalen, bereitgestellt werden, die von den abhängigen Komponenten
empfangen werden können.
-
Der
Knoten 110 kann beispielsweise einem Steuergerät ECU, der
Knoten 120 einem A/D Wandler, der Knoten 130 einem
Radgeschwindigkeitssensor VL, der Knoten 140 einem CAN
und der Knoten 150 einem Gierratesensor zugeordnet sein.
Dem Knoten 110 ist unter anderem eine Überwachung eines Totalausfalls 111,
eine Überwachung
des ROM 112 und eine Überwachung
des RAM 113 zugeordnet. Dem Knoten 120 kann, unter
anderem, eine Überwachung
eines Totalausfalls 121 und eine Überwachung einer Einstreuung 122 zugeordnet
sein. Dem Knoten 130 kann, unter anderem, eine Überwachung
eines Totalausfalls 131, eine Überwachung eines Gradienten 132 und
eine Überwachung
eines Wertebereichs 133 zugeordnet sein. Dem Knoten 140 kann,
unter anderem, eine Überwachung
eines Totalausfalls 141, eine Überwachung einer Botschaft „1" 142 und
eine Überwachung
einer Botschaft „2" 143 zugeordnet
sein. Dem Knoten 150 kann, unter anderem, eine Überwachung
eines Totalausfalls 151, eine Überwachung eines Gradienten 152 und
eine Überwachung
eines Wertebereichs 153 zugeordnet sein.
-
Im
Folgenden wird, anhand der in 1 gezeigten
Prinzipdarstellung des Abhängigkeitsgraphen
beschrieben, wie sich gemäß dem erfindungsgemäßen Ansatz
die Aufgaben einer Ermittlung der resultierenden Hardware- und Signalstati,
einer Folgefehlervermeidung sowie einer Vorbereitung einer Mehrfachfehlerbehandlung
realisieren lassen.
-
Zuerst
wird die Ermittlung der resultierenden Hardware- und Signalstati
betrachtet. Bei der Ermittlung eines resultierenden Knotenstatus
gibt es zwei Einflussfaktoren. Zum einen die Ergebnisse der Knoten-eigenen Überwachungen,
zum anderen die Stati der Vorgängerknoten.
Erkennt ein Überwachungsalgorithmus
einen Fehler, so wird der zugehörige
Knoten als ungültig
markiert. Im gleichen Zuge werden alle sog. Kinder dieses Knoten,
also alle Knoten, die durch Verfolgen der Verbindungen von diesem
Knoten aus erreichbar sind, ebenfalls ungültig. Diese Vererbung des erkannten
Fehlers an die sog. Kindsknoten wird als Fehlerpropagierung bezeichnet.
Diese ist notwendig, da keines der Signale, die von der ausgefallenen
Hardwarekomponente geliefert werden, mehr verwendet werden darf.
-
Beispielsweise
ist eine Anbindung des Gierratensensors, dem der Knoten 150 zugeordnet
ist, in einem bestimmten Projekt mittels des CAN-Protokolls, dem
der Knoten 140 zugeordnet ist, realisiert. Wird der Ausfall
des CAN-Controllers von der knoteneigenen Überwachung Totalausfall 141 erkannt, wird
der Knoten 140, der dem CAN zugeordnet ist, als ungültig markiert.
Weil der korrekte Empfang von Signalen des CAN-Busses nicht mehr
gewährleistet ist,
wird automatisch auch der Knoten 150, der der Gierrate
zugeordnet ist, als ungültig
markiert. Es erfolgt also eine Fehlerpropagierung.
-
Nun
wird die Folgefehlervermeidung betrachtet. Wenn ein Fehler in einer überwachten
Komponente erkannt wurde, erfolgt ein Eintrag in einen Fehlerspeicher
(nicht gezeigt in den Figuren), um das Fehlerereignis rekonstruieren
zu können.
Dieser Fehlerspeicher kann beispielsweise zu einem späteren Zeitpunkt
von einem Servicepersonal in einer Werkstatt analysiert werden.
Um eine zielsichere und reibungslose Lokalisierung des defekten
Bauteils zu ermöglichen – dies fällt unter
das Stichwort „kleinste tauschbare
Einheit" – darf der
Fehlerspeicher nach Möglichkeit
nur kausale Fehler und keine Folgefehler enthalten. Ein kausaler
Fehler ist derjenige Fehler, der den eigentlichen Grund für einen
Ausfall liefert. Ein Folgefehler ist ein Fehler, der auf Grund eines
anderen Fehlers erkannt wird.
-
Zur
Verdeutlichung lässt
sich sagen, dass zur Ermittlung gültiger Signale Fehler propagiert
werden müssen,
wie oben in Bezug auf die Ermittlung der resultierenden Hardware-
und Signalstati beschrieben ist. Bei der Befüllung des Fehlerspeichers müssen Fehler
jedoch herausgefiltert werden.
-
Für die folgenden
Beispiele wird angenommen, dass ein abhängiges Signal, beispielsweise
der Gierrate (bei 150), Fehler liefert, wenn das vorausgesetzte
Signal, bzw. die vorausgesetzte Komponente, beispielsweise der CAN
(bei 140) defekt ist.
-
Bezug
nehmend auf 1 zeigt das folgende Szenario
ein einfaches Beispiel für
einen Folgefehler innerhalb des Knotens 130. Eine Verbindung zu
einem Radgeschwindigkeitssensor eines Fahrzeugs wird unterbrochen.
Beispielsweise erfolgt ein Abriss eines Kabels, der durch die knoteneigene Überwachung
Totalausfall 131 erkannt wird. Dadurch fällt die
gemessene Radgeschwindigkeit innerhalb von 10 ms von 50 m/s abrupt
auf 0 m/s ab. Der sich daraus ergebende Gradient des Signals von –5.000 m/s2 wird als unplausibel erkannt (Gradientenüberwachung 132).
Der eigentliche Grund für
den viel zu hohen Gradienten ist aber der Leitungsabriss.
-
Es
kann jedoch auch zu Folgefehlern an verschiedenen Knoten kommen,
die voneinander abhängig
sind. Bezug nehmend auf 1 zeigt folgendes Szenario ein
Beispiel für
einen Folgefehler an unterschiedlichen Knoten. Beispielsweise erfolgt
eine Einstreuung des A/D-Wandlers (120), was durch die Überwachung
der Einstreuung (bei 122) erkannt wird. Weiterhin wird
von der Überwachung
des Radgeschwindigkeitssensors (bei 130) ein ungültiger Wert
erkannt (bei 133), da durch die Einstreuung der gültige Wertebereich
verlassen wird. Das überschreiten
des zulässigen
Wertebereichs 133 ist somit Folgefehler der Einstreuung
am A/D-Wandler 122.
-
Folgefehler
können
aber auch vor dem kausalen Fehler auftreten. Beispielsweise fällt der CAN-Controller aus, wodurch
das Gierratensignal, welches mittels des CAN übertragen wird, sehr schnell
auf den Wert 0 abfällt.
Die benötigte
Zeit, um den Ausfall des CAN-Conrollers zu erkennen, ist deutlich
größer als
die Zeit zur Erkennung des Gradientenfehlers. Dadurch ist es möglich, dass
der Folgefehler „fehlerhafter
Gradient der Gierrate",
der durch die entsprechende Überwachung 152 am
Knoten Gierrate 150 erkannt wird, zeitlich vor dem kausalen Fehler „Ausfall
des CAN-Controllers" erfolgt,
der durch die entsprechende Überwachung 141 am
Knoten CAN 140 erkannt wird.
-
2 zeigt
einen Abhängigkeitsgraphen, der
ein weiteres Ausführungsbeispiel
der vorliegenden Erfindung beschreibt. Gemäß diesem Ausführungsbeispiel
ist das bereits anhand der 1 beschriebene
System 100 um eine virtuelle Komponente 260 erweitert.
Bei der virtuellen Komponente 260 handelt es sich nicht
um eine reale Komponente sondern um eine virtuelle Komponente, die
in den Abhängigkeitsgraphen
aufgenommen wird, um die Fehlererkennung in dem System 100 zu
verbessern.
-
Ein
Fehlerzustand der virtuellen Komponente 260 kann mittels
eines Überwachungsalgorithmus 261 bestimmt
werden. Der Überwachungsalgorithmus
kann Statuswerte einer vorbestimmten Auswahl der Komponenten 110, 120, 130, 140, 150 des
Systems 100 gemäß einer
Verknüpfungsvorschrift
verknüpfen,
um den Fehlerzustand der virtuellen Komponente 260 zu bestimmen.
Beispielsweise könnte der Überwachungsalgorithmus 261 den
Statuswert 135 der dritten Komponente 130 mit
dem weiteren zweiten Statuswert 145 der weiteren zweiten
Komponente 140 verknüpfen.
Bei der Verknüpfungsvorschrift
kann es sich um eine UND-Verknüpfung
handeln. Ein virtueller Statuswert 265 wird abhängig von dem
Fehlerzustand der virtuellen Komponente und, gemäß dem in 2 gezeigten
Ausführungsbeispiel, abhängig von
dem ersten Statuswert 115 bestimmt.
-
Der
virtuellen Komponente 260 ist ein Knoten 260 des
Abhängigkeitsgraphen
zugeordnet. Dem Knoten 260 kann beispielsweise eine virtuelle
Hardwarekomponente „3
Radgeschwindigkeiten" bzw. „3 Raddrehzahlsensoren" zugeordnet sein.
In diesem Fall kann der Knoten 260 eine Überwachung 261 in Form
einer Anzahl defekter Radgeschwindigkeiten aufweisen.
-
Nun
wird die Vorbereitung einer Mehrfachfehlerbehandlung betrachtet.
Wie bereits erwähnt, werden
Hardwarekomponenten während
des laufenden Betriebs überwacht
und es werden im Falle eines erkannten Fehlers deren Stati entsprechend
gesetzt. Diese Stati können
von nachgelagerten Funktionalitäten
genutzt werden, um Teile des Systems, beispielsweise des ESP, die
diese Hardwarekomponenten verwenden, zu degradieren oder zu deaktivieren. Unter
Degradation wird das Umschalten zwischen verschiedenen Algorithmen
innerhalb einer Funktionalität
von hoher zu niedriger Qualität,
beispielsweise das Umschalten von der Nutzung von Messgrößen auf
die Nutzung von Schätzgrößen, verstanden. Durch
diese so genannte Fehlerbehandlung wird eine Fehlfunktion des Gesamtsystems
auf Grund der fehlerhaften Hardwarekomponente vermieden.
-
Für den Fall,
dass mehrere Fehler nacheinander oder gleichzeitig auftreten, muss
eine so genannte einfache Mehrfachfehlerbehandlung durchgeführt werden.
Dabei werden im Normalfall die einzelnen Ziel-Systemzustände verglichen
und derjenige, in welchem keine der ausgefallenen Hardwarekomponenten
verwendet wird, wird als neuer Ziel-Systemzustand ausgewählt. Als
Grundlage dafür
werden die Stati der einzelnen Hardwarekomponenten ermittelt.
-
Bei
einigen Fehlerkombinationen ist die Verfügbarkeit der Hardwarekomponenten
derart eingeschränkt,
dass statt der eben beschriebenen einfachen eine erweiterte Mehrfachfehlerbehandlung durchgeführt werden
muss. Dabei werden auch Teilsysteme deaktiviert, die nach der einfachen
Mehrfachfehlerbehandlung noch mit Schätzgrößen arbeiten könnten.
-
Um
die Weiterverarbeitung der erkannten Fehler zu vereinfachen, sollen
Einfachfehler und Mehrfachfehler dieselbe Schnittstelle nutzen.
Um diese Anforderung zu erfüllen,
können
so genannte virtuelle Hardwarekomponenten gebildet werden. Signalstati
der virtuellen Hardwarekomponenten werden durch eine logische „und"-Verknüpfung einzelner Stati
anderer Hardwarekomponenten gebildet.
-
Stellt
das System 100 beispielsweise ein ESP dar und fällt beispielsweise
im ESP der Gierratensensor aus, der dem Knoten 150 zugeordnet
ist, so wird der Status des Gierratensensors auf „ungültig" gesetzt, wie es
oben in Verbindung mit der Ermittlung der resultierenden Hardware- und Signalstati beschrieben
ist. Fällt
zusätzlich
der Drehzahlsensor an einem der Räder aus, so wird dessen Status ebenfalls
auf „ungültig" gesetzt. Wenn, wie
in dem in 1 gezeigten Ausführungsbeispiel
keine virtuelle Hardwarekomponente für diese Fehlerkombination existiert,
wird ein Ziel-Systemzustand nur auf Basis der beiden Einzelstati
ermittelt.
-
Fällt im ESP
der Drehzahlsensor an einem der Räder aus, so wird sein Status
auf „ungültig" gesetzt. Fallen
zusätzlich
noch die Drehzahlsensoren an zwei weiteren Rädern aus, so stehen dem ESP nicht
mehr genug Informationen zur Verfügung, um sicher zu arbeiten.
Daher wird der Signalstatus der virtuellen Hardwarekomponente 260 „3 Raddrehzahlsensoren" auf „ungültig" gesetzt. Diese Information
wird von nachgelagerten Funktionalitäten genutzt, um das ESP zu
deaktivieren, obwohl die Fahrzeuggeschwindigkeit theoretisch noch,
in einer schlechteren Güte,
berechnet werden könnte.
-
Die
anhand der Figuren beschriebenen Ausführungsbeispiele sind beispielhaft
gewählt.
Abhängig
von einem zu realisierendem System können Komponenten, weitere Komponenten
und virtuelle Komponenten in beliebiger Anzahl und, im Rahmen eines
gerichteten Abhängigkeitsgraphen,
in beliebiger Verknüpfung
untereinander angeordnet werden.
-
Die
vorliegende Erfindung kann in Form von Software umgesetzt werden.
Das erfindungsgemäße Verfahren
bietet ein neues Konzept zur Konfiguration von Hardwareabhängigkeiten
von dynamischen Systemen. Das erfindungsgemäße Konzept einer Failure Dependency
Structure, ist zur zentralen Fehlerverwaltung in dynamischen Systemen
geeignet. Der erfindungsgemäße Ansatz
ist keineswegs auf die beschriebene Fahrdynamikregelung ESP beschränkt. Vielmehr
ist der Einsatz in allen mechatronischen eingebetteten Systemen
denkbar. Die beschriebenen Beispiele aus dem Einsatzbereich des
ESP dienen lediglich der Erläuterung,
beschränken
aber in keiner Weise das Einsatzgebiet der Erfindung.