Die Funktionsentwicklung hat die Aufgabe, das Verhalten einer Software-Funktion zu spezifizieren. Häufig werden für diesen Schritt Werkzeuge der modellbasierten Entwicklung verwendet. Solche Werkzeuge erlauben es in aller Regel, ausführbaren Programmcode des Modells zu generieren und somit eine ausführbare Spezifikation (Simulation) des Funktionsverhaltens bereitzustellen.
Meistens reicht es zur Absicherung einer neuen Funktion nicht aus, diese für sich alleine zu simulieren. Vielmehr muss die Vernetzung mit bestehenden Software-Funktionen berücksichtigt werden. Dies ist insbesondere dann der Fall, wenn die neue Funktion eine Erweiterung oder Verbesserung einer Funktion innerhalb eines bestehenden Steuergeräts ist. Es liegt daher nahe, die neue Funktion in das bestehende Steuergerät zu integrieren. Das gelingt aber oft nicht, weil die entsprechende Entwicklungsumgebung für die spezifische Steuergeräte-Software nicht beim Funktionsentwickler verfügbar ist oder weil die vorhandenen Ressourcen des Steuergeräts nicht ausreichen, die neue Funktion zu verarbeiten (begrenzter Speicher, nicht ausreichende Rechenleistung).
Hier hilft die Bypass-Technik entscheidend, die Funktionsentwicklung zu beschleunigen, indem das Funktionsmodell auf einem Experimentiersystem ausgeführt wird. Das Experimentiersystem wird dazu über eine Bypass-Schnittstelle mit der Software im Steuergerät verbunden. Dies kann z.B. über eine 100-Mbit/s-Ethernet-Schnittstelle eines Emulatortastkopfs ETK von Etas realisiert werden [2].
Mit Hilfe der Prototyping-Software „Intecrio“ kann der Funktionsprototyp mit der Bypass-Schnittstelle des entsprechend ausgestatteten Steuergeräts verknüpft werden. Dies wird unterstützt durch einen grafischen Editor, mit dem die Ein- und Ausgänge der Bypass-Funktion einfach mit Verbindungslinien an die entsprechenden Größen in der Steuergeräte-Software gekoppelt werden.
Bei vielen Bypass-Anwendungen sollen nicht nur die Parameter der neuen Funktion auf dem Experimentiersystem optimiert werden. Es ist vielmehr notwendig, parallel dazu auch Größen in der Steuergeräte-Software zu beobachten, z.B., um festzustellen, ob das Ausgangssignal der Prototyp-Funktion in den nachfolgenden Software-Modulen im Steuergerät korrekt weiterverarbeitet wird. In diesen Fällen ist die gleichzeitige Bedienung von Experimentiersystem sowie Messen und Verstellen von steuergeräte-internen Größen direkt aus dem Kalibriersystem heraus ein wesentlicher Effizienzgewinn. Ein typischer Aufbau beim Rapid Prototyping mit Funktions-Bypass ist in Bild 2 gezeigt.
Der Systemaufbau eines Bypass-Experiments ist typischerweise auch durch den Umfang der Bypass-Funktion bestimmt. Der Unterschied besteht darin, ob neben der Bypass-Kommunikation mit dem Steuergerät vom Experimentiersystem noch andere Schnittstellen zu bedienen sind oder nicht. Das hängt vom Inhalt der neuen Funktion ab. Wenn Schnittstellen zu Sensoren und Aktoren oder die Kommunikation mit einem Fahrzeug-Bussystem benötigt werden, die nicht über bestehende Schnittstellen des Steuergeräts abgedeckt sind, muss das Experimentiersystem auch diese Schnittstellen bedienen können. In Bild 2 ist hier beispielhaft die zusätzliche Kommunikation mit einem Fahrzeug-Bussystem dargestellt.
Häufig wird die Bypass-Technik auch genutzt, um ein bestehendes Steuergerät ganz gezielt als Schnittstelle zu Sensoren, Aktoren und Bussystemen zu nutzen. Die Idee ist dabei, die abgesicherte Hardware mit ihren Schnittstellentreibern für die Entwicklung neuer Funktionen zu nutzen und so Effizienz zu gewinnen. In diesem Fall spricht man von einem Applikations-Bypass. Dabei wird die komplette Anwendungs-Software des Steuergeräts, oder zumindest wesentliche Teile davon, durch das externe Experimentiersystem ersetzt. Die Bypass-Schnittstellen greifen auf die Eingänge und Ausgänge der Plattform-Software zu, die die Software-Treiber für die Steuergeräteschnittstellen enthält. Dieses sind Treiber für serielle Busse (CAN, FlexRay, LIN etc.), digitale oder analoge Sensoreingänge oder -ausgänge zur Ansteuerung von Aktoren.
In bestimmten Fällen soll die Bypass-Technik zur Effizienzsteigerung in der Software-Entwicklung genutzt werden. Allerdings ist der Einsatz eines Emulatortastkopfes nicht sinnvoll, wenn z.B. das Steuergerät als mechanischer Bestandteil eines integrierten Hydraulik-Elektronik-Hybridmoduls fest verbaut ist und der Einbau des Emulatortastkopfes sehr hohen Aufwand erzeugen würde. In solchen Fällen kann die Bypass-Kommunikation auch über eine Serienschnittstelle des Steuergeräts hergestellt werden, z.B. mit Hilfe des standardisierten Kommunikationsprotokolls XCP [3] auf der fahrzeugseitig vorhandenen Verkabelung für den CAN-Bus.