-
Die Erfindung betrifft ein Verfahren zur Bestimmung einer Wirkkette einer Fahrzeug-Funktion, insbesondere einer Fahrzeug-Funktion zur Steuerung eines Motors eines Fahrzeugs
-
Fahrzeuge umfassen heute komplexe Software (SW) Programme zur Steuerung von verschiedenen Komponenten, insbesondere zur Steuerung ein oder mehrerer Antriebsmotoren, eines Fahrzeugs. Die SW-Programme setzten sich dabei meist aus einer Vielzahl von SW-Modulen zusammen, die in unterschiedlichen Programmiersprachen erstellt wurden und/oder die von unterschiedlichen Verfassern erstellt wurden.
-
Für die Prüfung einzelner Fahrzeug-Funktionen (z. B. für die Prüfung einer Motor-Stopp-Funktion) kann es erforderlich sein, alle relevanten Zusammenhänge zwischen den unterschiedlichen SW-Modulen eines SW Programms zu bestimmen. Insbesondere kann es erforderlich sein, Wirkketten zu ermitteln, die anzeigen, welche Fahrzeug-Signale (z. B. welche Sensor-Signale, Aktuator-Signale und/oder Kommunikations-Signale) eine bestimmte Fahrzeug-Funktion beeinflussen. Eine derartige Wirkkettenanalyse kann bei komplexen SW-Programmen sehr aufwändig sein.
-
Das vorliegende Dokument befasst sich mit der technischen Aufgabe, ein Verfahren bereitzustellen, durch das in effizienter und zuverlässiger Weise die Wirkkette einer Fahrzeugs-Funktion ermittelt werden kann.
-
Die Aufgabe wird durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden u. a. in den abhängigen Ansprüchen beschrieben.
-
Gemäß einem Aspekt wird ein Computer-implementiertes Verfahren zur Ermittlung einer Wirkkette zwischen einer Fahrzeug-Funktion und einer Vielzahl von Fahrzeug-Signalen beschrieben. Die Vielzahl von Fahrzeug-Signalen kann zumindest ein Sensor-Signal eines Fahrzeug-Sensors, zumindest ein Aktuator-Signal zur Steuerung eines Aktuators des Fahrzeugs und/oder zumindest ein Kommunikations-Signal, welches über eine Kommunikationseinheit des Fahrzeugs übertragen wird, umfassen. Die Fahrzeug-Funktion kann z. B. eine Motor-Stopp-Automatik eines Verbrennungsmotors des Fahrzeugs umfassen. Das Verfahren kann aber auch auf andere Fahrzeug-Funktionen angewendet werden
-
Die zu ermittelnde Wirkkette kann anzeigen, welche Fahrzeug-Signale der Vielzahl von Fahrzeug-Signalen direkt oder indirekt von der Fahrzeug-Funktion verarbeitet und/oder bereitgestellt werden. Dabei kann die Wirkkette eine Baumstruktur umfassen, die einen Zusammenhang der Fahrzeug-Funktion mit zumindest einem Teil der Vielzahl von Fahrzeug-Signalen anzeigt.
-
Die Wirkkette kann auf Basis eines SW-Programms ermittelt werden, das eine Vielzahl von SW-Modulen umfasst. Das SW-Programm kann dabei insbesondere eingerichtet sein, ein oder mehrere Antriebsmotoren (insbesondere einen Verbrennungsmotor und ggf. eine elektrische Antriebsmaschine) des Fahrzeugs zu steuern. Insbesondere kann das SW-Programm Teil eines Motor-Steuergeräts des Fahrzeugs sein.
-
Die Vielzahl von SW-Modulen kann (zumindest teilweise) auf unterschiedlichen Programmiersprachen basieren. Aus diesem Grund kann eine Analyse des SW-Programms erschwert sein.
-
Die Fahrzeug-Funktion kann in zumindest einem der Vielzahl von SW-Modulen implementiert sein. Andererseits kann die Vielzahl von Fahrzeug-Signalen zumindest durch ein anderes der Vielzahl von SW-Modulen verarbeitet werden. Insbesondere kann die Vielzahl von SW-Modulen ein erstes SW-Modul umfassen, das die Vielzahl von Fahrzeug-Signalen verarbeitet; ein drittes SW-Modul umfassen, das die Fahrzeug-Funktion bereitstellt; und ein zweites SW-Modul umfassen, das eine Interaktion zwischen dem ersten SW-Modul und dem dritten SW-Modul ermöglicht.
-
Das Verfahren umfasst das Ermitteln einer Vielzahl von beschreibenden Textdateien für die Vielzahl von SW-Modulen. Dabei beschreibt eine beschreibende Textdatei eines SW-Moduls Zusammenhänge zwischen Eingangs-Signalen und Ausgangs-Signalen des SW-Moduls. Insbesondere kann die beschreibende Textdatei eines SW-Moduls Verarbeitungsschritte anzeigen, mit denen Eingangs-Signale des SW-Moduls zu Ausgangs-Signalen des SW-Moduls verarbeitet werden. Eine beschreibende Textdatei umfasst dabei bevorzugt eine XML, Extensible Markup Language, Datei.
-
Außerdem umfasst das Verfahren das Ermitteln der Wirkkette durch Analysieren der Vielzahl von beschreibenden Textdateien. Das Analysieren der beschreibenden Textdateien ermöglicht dabei eine effiziente und zuverlässige Ermittlung von Wirkketten auf Basis von komplexen SW Programmen.
-
Gemäß einem weiteren Aspekt wird ein Computer bzw. ein Datenverarbeitungssystem mit einem Prozessor beschrieben, der eingerichtet ist, das in diesem Dokument beschriebene Verfahren auszuführen.
-
Gemäß einem weiteren Aspekt wird ein Software (SW) Programm beschrieben. Das SW Programm kann eingerichtet werden, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Gemäß einem weiteren Aspekt wird ein Speichermedium beschrieben. Das Speichermedium kann ein SW Programm umfassen, welches eingerichtet ist, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
-
Es ist zu beachten, dass die in diesem Dokument beschriebenen Verfahren und Computer-Systeme sowohl alleine, als auch in Kombination mit anderen in diesem Dokument beschriebenen Verfahren und Computer-Systemen verwendet werden können. Desweiteren können jegliche Aspekte der in diesem Dokument beschriebenen Verfahren und Computer-Systemen in vielfältiger Weise miteinander kombiniert werden. Insbesondere können die Merkmale der Ansprüche in vielfältiger Weise miteinander kombiniert werden.
-
Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
-
1 ein Blockdiagramm eines beispielhaften SW-Programms eines Motor-Steuergeräts eines Fahrzeugs; und
-
2 ein Ablaufdiagramm eines beispielhaften Verfahrens zur Ermittlung der Wirkkette einer Fahrzeugs-Funktion.
-
Wie eingangs dargelegt, befasst sich das vorliegende Dokument mit der effizienten und zuverlässigen Ermittlung einer Wirkkette einer Fahrzeug-Funktion, die mittels eines SW-Programms mit einer Vielzahl von SW-Modulen implementiert ist. In diesem Zusammenhang zeigt 1 die Struktur eines beispielhaften SW-Programms 110 für ein Steuergerät 100 eines Fahrzeugs (insbesondere für ein Motor-Steuergerät). Das SW-Programm 110 umfasst eine Vielzahl von SW-Modulen 111, 112, 113 die unterschiedliche Funktionen aufweisen können und/oder die von unterschiedlichen Verfassern bereitgestellt werden können und/oder die in unterschiedlichen Programmiersprachen verfasst worden sein können. Beispielsweise kann ein erstes SW-Modul 111 Treiber für ein oder mehrere Sensoren 102, für ein oder mehrere Aktuatoren 103 und/oder für ein oder mehrere Kommunikationseinheiten 104 des Fahrzeugs umfassen. Ein drittes SW-Modul 113 kann unterschiedliche Fahrzeugs-Funktionen 101 bereitstellen, die zumindest teilweise mit den Sensoren 102, Aktuatoren 103 und/oder Kommunikationseinheiten 104 interagieren. Insbesondere können Sensor-Signale 132, Aktuator-Signale 133 und/oder Kommunikations-Signale 134 ausgetauscht werden. Ein zweites SW-Modul 112 kann eine Interaktion zwischen dem ersten SW-Modul 111 und dem dritten SW-Modul 113 ermöglichen.
-
Zur Überprüfung der Funktionsweise einer Fahrzeug-Funktion 101 kann es erforderlich sein, eine Wirkkette 105 zwischen den Sensoren 102, Aktuatoren 103 und/oder Kommunikationseinheiten 104 zu erstellen. Dies kann bei komplexen SW-Programmen 110 aufwändig sein.
-
Beispielsweise ist die On-Board-Diagnose (OBD) ein Fahrzeugdiagnosesystem, welches während des Fahrbetriebes eines Fahrzeugs alle abgasbeeinflussenden Systeme überwacht. Auftretende Fehler können dem Fahrer über eine Kontrollleuchte angezeigt und im jeweiligen Steuergerät dauerhaft gespeichert werden. Fehlermeldungen können somit später durch eine Werkstatt über genormte Schnittstellen abgefragt werden.
-
Bei Hybridfahrzeugen ist z. B. die Motor-Start-Stopp-Automatik (MSA) 101 OBD-relevant, da das Fahrzeug bei bestimmten Zuständen der Start-Stopp-Automatik nicht mehr in der Lage sein könnte, elektrisch zu fahren (in einem solchen Fall würde der Verbrennungsmotor stets mitlaufen). Damit besitzen auch alle über die Motorelektronik 100 mit der MSA 101 verbundenen Sensor-, Aktuator- und Kommunikations-Signale 132, 133, 134 OBD-Relevanz. Folglich müssen die verschiedenen Wirkketten 105 von der MSA-Funktion 101 zu den Sensoren 102, Aktuatoren 103 und Kommunikationseinheiten 104 zurückverfolgt werden, um zu identifizieren, welche Fahrzeugkomponenten bzw. welche Fahrzeug-Signale 132, 133, 134 konkret OBD-relevant sind. Das Ermitteln der ein oder mehreren Wirkketten 105 für eine MSA-Funktion 101 auf Basis der SW-Module 111, 112, 113 ist dabei typischerweise sehr aufwändig.
-
Die SW-Module 111, 112, 113 eines SW-Programms 110 können jeweils durch beschreibende Textdateien 121, 122, 123 (insbesondere durch XML, Extensible Markup Language, Dateien) beschrieben sein. Die Auswertung der beschreibenden Textdateien 121, 122, 123 kann dabei in automatischer Weise erfolgen (insbesondere durch ein Matlab-Programm). Durch eine rückwärtsorientierte Pfadverfolgung für eine Fahrzeug-Funktion 101 kann so eine komplette Wirkkette 105 zwischen Fahrzeug-Signalen 132, 133, 134 und Fahrzeug-Funktion 101 beleuchtet werden. Insbesondere kann die Baumstruktur einer Wirkkette 105 zurückverfolgt werden, um die OBD-relevanten Sensor-, Aktuator- und Kommunikations-Signale 132, 133, 134 zu identifizieren.
-
2 zeigt ein Ablaufdiagramm eines beispielhaften, Computer-implementierten, Verfahrens 200 zur Ermittlung einer Wirkkette 105 zwischen einer Fahrzeug-Funktion 101 und einer Vielzahl von Fahrzeug-Signalen 132, 133, 134. Die Ermittlung der Wirkkette 105 erfolgt auf Basis eines SW-Programms 110, das eine Vielzahl von SW-Modulen 111, 112, 113 umfasst, die auf unterschiedlichen Programmiersprachen basieren und die ggf. von unterschiedlichen Verfassern stammen. Dabei ist die Fahrzeug-Funktion 101 in zumindest einem der Vielzahl von SW-Modulen 111, 112, 113 implementiert. Andererseits wird die Vielzahl von Fahrzeug-Signalen 132, 133, 134 zumindest durch ein anderes der Vielzahl von SW-Modulen 111, 112, 113 verarbeitet.
-
Das Verfahren 200 umfasst das Ermitteln 201 einer Vielzahl von beschreibenden Textdateien 121, 122, 123 für die Vielzahl von SW-Modulen 111, 112, 113. Dabei beschreibt eine beschreibende Textdatei 121, 122, 123 eines SW-Moduls 111, 112, 113 (z. B. eine XML-Datei) typischerweise Zusammenhänge zwischen Eingangs-Signalen und Ausgangs-Signalen des SW-Moduls 111, 112, 113. Das Verfahren 200 umfasst weiter das Ermitteln 202 der Wirkkette 105 durch Analysieren der Vielzahl von beschreibenden Textdateien 121, 122, 123.
-
Dabei kann eine Wirkkette in beide Richtungen, d. h. ausgehend von einem (ggf. OBD relevanten) Fahrzeug-Signal 132, 133, 134 und/oder ausgehend von einer Fahrzeug-Funktion 101 ermittelt werden. Dabei wird das Fahrzeug-Signal 132, 133, 134 typischerweise über ein erstes SW-Modul 111 in das SW-Programm 110 integriert und verarbeitet. Des Weiteren können mittels des Verfahrens 200 weitere Zusammenhänge innerhalb des SW-Programms 100 ermittelt werden.
-
Das beschriebene Verfahren 200 ermöglicht eine effiziente und zuverlässige Ermittlung einer Wirkkette 105 einer Fahrzeug-Funktion 101 (insbesondere auf einem Motor-Steuergerät 100). So können auch unterschiedliche Entwicklungsstände eines SW-Programms 110 in effizienter und zuverlässiger Weise analysiert werden.
-
Die vorliegende Erfindung ist nicht auf die gezeigten Ausführungsbeispiele beschränkt. Insbesondere ist zu beachten, dass die Beschreibung und die Figuren nur das Prinzip der vorgeschlagenen Verfahren und Computer-Systeme veranschaulichen sollen.