Im Code liegt die Wahrheit! Viele Pressemitteilungen und journalistische Glanzleistungen sind schon verbreitet worden, doch Fakten gab es bisher wenige. Es gibt wenige Leute, die ausreichend KnowHow haben, sich des Themas #Dieselgate anzunehmen und nicht in finanzieller Abhängigkeit eines Beteiligten stehen oder einen NDA unterschrieben haben.
Einleitender Teil bis 40:00min, ab Minute 40 der Re-Engineering Teil
Felix Domke und Daniel Lange haben auf dem diesjährigen 32. Chaos Communication Congress (kurz: #32c3) einen Vortrag über die Motorsteuerungs-Software auf dem BOSCH Motorsteuergerät gehalten, welches die Prüfstandserkennung und ‘Anpassung’ von AdBlue Einspritzmengen steuert, um
- auf dem Prüfstand die gesetzlichen Grenzwerte einzuhalten
- sonst AdBlue zu sparen, damit der Kunde es nicht auffüllen muss
Wer etwas über Dieselmotoren und Abgasnachbehandlung lesen möchte: “Verbrennung von Kraftstoff und Luft” sowie “Definiere einen Grenzwert und man wird ihn erreichen” helfen gut, das Thema zu verstehen.
Auf dem Steuergerät wird ein kompliziertes AdBlue-Dosierungs-Modell (welches vermutlich die korrekte Menge AdBlue einspritzt) und ein Vereinfachtes (welches zu wenig einspritzt) parallel gerechnet. Eine Entscheidungslogik, welche relativ unsinnig parametriert ist, wählt eines der beiden Modelle aus.
Wie man an den Parametern sehen kann, ist die Bedingung immer erfüllt. Anschließend wird allerdings noch eine Unlock-Condition abgefragt, welche sich mit folgender Entscheidungslogik aktiviert.
Der NEFZ als Prüfzyklus ist ziemlich genau genormt, beispielsweise muss das Fahrzeug vorab auf ca. 20°C temperiert werden (was >15°C ist) und der Test muss bei 1bar Umgebungsdruck durchgeführt werden (was >920hPa ist) und es muss ein genau definiertes Geschwindigkeitsprofil abgefahren werden.
Im Steuergerät sind min/max Grenzen für ein Strecke als Funktion der Zeit Profil hinterlegt. Integriert man die Geschwindigkeitsprofile des NEFZ Prüfzyklus auf, so erhält man eine Fahrtstrecke über Zeit, welche ziemlich exakt in der Grenze liegt, welche auf dem Steuergerät hinterlegt ist.
Verlässt man diese Grenzen, z.B. in dem man statt wieder abzubremsen weiter fährt, schaltet das Steuergerät vom exakten Modus in den alternativen Modus und spritzt damit kaum noch AdBlue ein, wie Felix Domke mit einer Messung zeigt:
Der Vortrag ist seit langer Zeit eines der wenigen faktenbasierten und korrekten Darstellungen des Sachverhalts und wirft vor allem eine Frage auf: Sie reden über einen EA189 – EU6 Diesel. Beim VW Abgasskandal ging es bisher vor allem um EU5 Diesel, welche gar kein SCR System mit AdBlue-Einspritzung haben.
Fazit
Im ersten Teil des Vortrags wird von Daniel Lange darauf eingegangen, mit welcher Frechheit der Konzern versucht, es als ‘Kleinigkeit’, als ‘ein Entwickler hat da was rein programmiert, wir wussten von nichts’ abzutun. Er beleuchtet relativ klar, dass es unmöglich ist, eine Funktion die nicht gewollt ist, auf so ein Gerät zu programmieren. Schon allein, weil der enorme Zeitdruck bei der Software-Entwicklung keinen einzigen Entwickler dazu motiviert auch nur eine einzige Zeile Code zu erstellen, die nicht im Lastenheft gefordert wird. Welche Motivation hätte er/sie?!
Diese klar definierte Funktionsanforderung ist nicht ‘mal schnell’ umgesetzt und getestet und funktioniert nicht zufällig Fehlerfrei seit vielen Jahren in vielen Modellen in vielen Ländern (siehe die anderen min/max Kurven in der Abbildung oben).
[Update vom 33c3]
Felix hat noch mal nachgelegt und auf dem 33c3 ebenfalls einen Vortrag “Software Defined Emissions” gehalten. Ebenfalls sehenswert!
One Comment
Interessantes Video
jedoch…
warum wird AdBlue im alternative mode reduziert und wie verhalten sich die Datenstandsfunktionen auf dem Steuergerät ohne SCR-System im und ausserhalb des real drive mode
Felixs scheint nur einen geringen Teil des Dieselgates entlüftet zu haben