-
Die Erfindung betrifft eine Testeinrichtung zum Test zumindest eines Teils eines virtuellen Steuergeräts mit einer Simulationsumgebung in einem Simulator, aufweisend das virtuelle Steuergerät und die Simulationsumgebung, wobei das virtuelle Steuergerät wenigstens eine Software-Komponente mit wenigstens einer äußeren Datenschnittstelle umfasst, wobei die Simulationsumgebung wenigstens eine Datenschnittstelle zum zumindest mittelbaren Datenaustausch mit dem virtuellen Steuergerät umfasst.
-
Unter nicht-virtuellen, also "realen" Steuergeräten werden heutzutage zumeist Kleinrechner mit einer I/O-Schnittstelle (I/O = Input/Output) verstanden, die oft mit einem echtzeitfähigen Betriebssystem ausgestattet sind, das die Realisierung – auch komplexer – zumeist regelungstechnischer Aufgaben auf dem Steuergerät gestattet. Die Steuergeräte-Entwicklung ist zentraler Bestandteil der technischen Entwicklung von umfangreichen gerätetechnischen Anlagen, wie sie aus der industriellen Praxis bekannt sind. Beispielhaft zu nennen ist der Einsatz von Steuergeräten im automotiven Bereich, in der Luft- und Raumfahrt und in industriellen produktionstechnischen Anlagen.
-
Der Test des im Endprodukt zum Einsatz kommenden Serien-Steuergeräts ist der Endpunkt einer Mehrzahl vorgelagerter Entwicklungsschritte einer auf dem Steuergerät zu implementierenden Regelung oder Steuerung, wobei diese Entwicklungsschritte üblicherweise mit dem sogenannten V-Modell oder auch V-Zyklus beschrieben werden. Am Anfang der für die Funktion vieler technischer Anlagen essentiellen Reglerentwicklung steht die mathematische Modellierung des Regelungsalgorithmus auf einem Rechner mit einer mathematisch-graphischen Modellierungsumgebung, wobei der Regler als Bestandteil des Steuergeräts aufzufassen ist. Zusätzlich wird auch die Umgebung des Steuergeräts mathematisch modelliert, da die Interaktion des Reglers auf dem Steuergerät mit dem zu steuernden Prozess von Interesse ist. Bei diesen funktionalen mathematischen Betrachtungen ist eine Simulation in Echtzeit meist nicht erforderlich (Offline-Simulation).
-
Im nächsten Schritt wird der zuvor entworfene Regelungsalgorithmus mit Hilfe des Rapid-Control-Prototyping auf eine leistungsfähige, meist echtzeitfähige Hardware übertragen, die über geeignete I/O-Schnittstellen mit dem tatsächlichen physikalischen Prozess verbunden ist, also beispielsweise mit einem Kraftfahrzeug-Motor. Diese echtzeitfähige Hardware hat mit dem später zum Einsatz kommenden Serien-Steuergerät im Regelfall nichts zu tun, es geht hier um den Nachweis der prinzipiellen Funktionsfähigkeit der zuvor entworfenen Regelung in der Praxis.
-
In einem weiteren Schritt wird im Rahmen der automatischen Seriencodegenerierung die Regelung auf dem später im Serien-Steuergerät wahrscheinlich tatsächlich zum Einsatz kommenden Zielprozessor implementiert. Die Zielhardware nähert sich demnach in diesem Schritt dem Serien-Steuergerät an, ist mit dem Serien-Steuergerät aber nicht identisch. In einem weiteren Schritt wird das üblicherweise erst in einem späten Entwicklungsstadium vorhandene Serien-Steuergerät im Rahmen eines Hardware-in-the-Loop-Tests (HIL) überprüft. Das in diesem Schritt physikalisch vorhandene Serien-Steuergerät wird hier mittels seiner physikalischen Steuergeräteschnittstelle mit einem leistungsfähigen Simulator verbunden. Der Simulator simuliert die benötigten Größen des zu testenden Serien-Steuergeräts und tauscht Ein- und Ausgangsgrößen mit dem Serien-Steuergerät aus. Die Pins der physikalischen Steuergeräte-Schnittstelle des Serien-Steuergeräts sind über einen Kabelbaum mit dem Simulator verbunden. So ist es möglich, in der Simulationsumgebung alle benötigten Größen eines Kraftfahrzeug-Motors – gegebenenfalls das gesamte Kraftfahrzeug mit Motor, Antriebstrang, Fahrwerk und Fahrstrecke – zu simulieren und das Verhalten des Serien-Steuergeräts im Zusammenspiel mit der Simulationsumgebung gefahrlos zu überprüfen.
-
Das so im Rahmen der HIL-Simulation getestete Serien-Steuergerät wird letztendlich in dem "echten" Zielsystem, also beispielsweise in einem Kraftfahrzeug verbaut und in der echten physikalischen Umgebung getestet, die zuvor in der Simulationsumgebung nur vorgetäuscht worden ist.
-
Der zuvor skizzierte Entwicklungsprozess bei der Reglerentwicklung hat sich außerordentlich bewährt. Der Entwicklungsprozess bringt es jedoch mit sich, dass das Serien-Steuergerät erst ganz am Ende der Entwicklung in den Entwicklungsprozess eingebunden wird und damit auch erst in späten Entwicklungsständen überprüft wird. Bevor das Serien-Steuergerät tatsächlich vorliegt, können mit dem aufgezeigten Entwicklungsprozess nur Funktionalitäten auf abstrakter funktioneller Ebene getestet werden, also praktisch nur auf der Ebene der Applikationssoftware. Ein guter Teil der später auf dem Serien-Steuergerät zum Einsatz kommenden Software-Komponenten wird in frühen Entwicklungsständen nicht mitgetestet. Zu diesen Software-Komponenten gehört beispielsweise das Runtime-Environment, die zwischen der Applikationssoftware und den hardwarenahen Softwareschichten vermittelt. Hardwarenähere Softwarekomponenten sind beispielsweise das Betriebssystem und plattform-unabhängige Basissoftware (Systemdienste, Kommunikationsdienste, I/O-Hardware-Abstraktionsschicht usw.) und schließlich plattform-abhängige Teile des Betriebssystems und der Basissoftware.
-
Um diese umfangreichen Anteile des Serien-Steuergeräts frühzeitig in den Entwicklungsprozess einzubeziehen, werden die zuvor genannten Software-Komponenten – zumindest teilweise – im Rahmen eines sogenannten virtuellen Steuergeräts nachgebildet und in einem Simulator simuliert (dSPACE Catalog 2012: "SystemDesk V-ECU Generation Module" und "dSPACE Offline Simulator"). In dem Simulator interagiert jedenfalls das virtuelle Steuergerät mit der ebenfalls in dem Simulator vorhandenen Simulationsumgebung. Die Interaktion geschieht durch Austausch von Daten über die wenigstens eine äußere Datenschnittstelle einer Software-Komponente des virtuellen Steuergeräts und eine Datenschnittstelle der Simulationsumgebung. Welche Software-Komponenten des virtuellen Steuergeräts eine äußere Datenschnittstelle zur Verfügung stellen, hängt davon ab, welche der zuvor genannten Software-Schichten in dem virtuellen Steuergerät abgebildet werden. Wenn in dem virtuellen Steuergerät lediglich die abstrakte Applikationssoftware abgebildet ist, dann stellen die Software-Komponenten der Applikationssoftware die äußeren Datenschnittstellen zur Simulationsumgebung. Wenn dagegen zusätzlich auch das Runtime-Environment Bestandteil des virtuellen Steuergeräts ist, werden die äußeren Datenschnittstellen durch deren Software-Komponenten zur Verfügung gestellt. Wenn noch tiefer liegende Softwareschichten abgebildet werden, beispielsweise des Betriebssystems oder Basissoftwarekomponenten, dann stellen diese Software-Komponenten die äußere Datenschnittstelle zur Simulationsumgebung.
-
Es ist erkennbar, dass die Simulationsumgebung sich jeweils an die äußere Datenschnittstelle der Software-Komponenten des virtuellen Steuergeräts anpassen muss in Abhängigkeit von den in dem virtuellen Steuergerät nachgebildeten Software-Komponenten. Jede Änderung des virtuellen Steuergeräts, die eine Software-Komponente mit einer äußeren Datenschnittstelle betrifft, zieht unweigerlich auch eine Änderung der Simulationsumgebung und der Datenschnittstelle der Simulationsumgebung nach sich, was arbeitsintensiv ist und Fehlerquellen im Entwicklungsprozess mit sich bringt. Nachteilig ist auch, dass die auf ein bestimmtes virtuelles Steuergerät angepasste Simulationsumgebung im Rahmen der HIL-Simulation – also wenn das Steuergerät physikalisch vorhanden ist und nicht mehr nur virtuell vorliegt – häufig nicht unmittelbar verwendet werden kann, da die für eine solche Verwendung erforderliche Bereitstellung von pinbezogenen Größen der physikalischen Steuergeräteschnittstelle an der Datenschnittstelle der Simulationsumgebung nicht gegeben ist.
-
Es ist daher Aufgabe der vorliegenden Erfindung, eine Einrichtung zum Test zumindest eines Teils eines virtuellen Steuergeräts mit einer Simulationsumgebung in einem Simulator zur Verfügung zu stellen, bei der die Abhängigkeiten zwischen dem virtuellen Steuergerät und der Simulationsumgebung reduziert werden.
-
Die zuvor hergeleitete Aufgabe wird bei der eingangs beschriebenen Testeinrichtung zunächst und im Wesentlichen dadurch gelöst, dass eine virtuelle Steuergeräte-Pin-Einheit wenigstens eine virtuelle Steuergeräteschnittstelle aufweist und mittels der virtuellen Steuergeräteschnittstelle zumindest mit der äußeren Datenschnittstelle der Software-Komponente des virtuellen Steuergeräts verbunden ist, dass die virtuelle Steuergeräte-Pin-Einheit wenigstens eine Simulationsumgebungsschnittstelle aufweist und mit der Simulationsumgebungsschnittstelle mit der Datenschnittstelle der Simulationsumgebung verbunden ist und dass die virtuelle Steuergeräte-Pin-Einheit wenigstens einen virtuellen Steuergeräte-Pin aufweist, der mit einem Pin der physikalischen Schnittstelle eines zu simulierenden realen Steuergeräts korrespondiert, wobei über den virtuellen Steuergeräte-Pin ein virtuelles physikalisches Steuergerätesignal übertragbar ist.
-
Die erfindungsgemäß vorgesehene virtuelle Steuergeräte-Pin-Einheit vermittelt zwischen dem virtuellen Steuergerät und der Simulationsumgebung, was grundsätzlich die Möglichkeit eröffnet, die Simulationsumgebung und deren Datenschnittstelle auch bei einer Veränderung des virtuellen Steuergeräts unverändert zu lassen. Die zusätzliche Zurverfügungstellung eines virtuellen Steuergeräte-Pins bringt darüber hinaus die Möglichkeit mit sich, jene Schnittstelle zu definieren, die das reale Steuergerät zwingend auch aufweisen muss, nämlich das virtuelle Abbild der physikalischen Schnittstelle des realen Steuergeräts. Dies eröffnet auf dem Simulator eine pinbezogene Definition und Handhabung der Schnittstelle zwischen dem virtuellen Steuergerät und der Simulationsumgebung.
-
Die über einen virtuellen Steuergeräte-Pin der virtuellen Steuergeräte-Pin-Einheit ausgetauschten Informationen sind insoweit ein "virtuelles physikalisches Steuergerätesignal", als dass es sich hier zwar nicht um die echten physikalischen Steuergerätesignale des realen Steuergeräts handelt, also um Spannungen, Ströme, Anschlusswiderstände, aber diese physikalischen Größen werden berechnet und wertemäßig als entsprechende Daten ausgetauscht. Wenn in dem virtuellen Steuergerät nur abstraktere Softwareschichten abgebildet sind, also beispielsweise die Applikationssoftware oder das Runtime-Environment, dann kann die äußere Datenschnittstelle des virtuellen Steuergeräts nur abstrakt funktional sein, aber keine signalmäßige Nachbildung des echten Steuergeräts liefern. Falls beispielsweise von einer Komponente der Applikationssoftware ein Druckwert oder ein Temperaturwert geliefert wird (z. B. 950 bar, 275 °C), aber keine entsprechende elektrisch codierte Größe, die bei dem realen Steuergerät über Pins der physikalischen Schnittstelle ausgetauscht wird, beispielsweise in Form einer Spannung, in Form eines Stromes (2 bis 20 mA-Schnittstelle) oder in Form eines modulierten Signals, kann die virtuelle Steuergeräte-Pin-Einheit diese Lücke nunmehr schließen, indem sie an wenigstens einen virtuellen Steuergeräte-Pin genau ein solches virtuelles physikalisches Steuergerätesignal, also den Wert des entsprechenden realen physikalischen Steuergerätesignals, überträgt.
-
Gemäß einem vorteilhaften Ausführungsbeispiel ist bei der Testeinrichtung vorgesehen, dass die Simulationsumgebungsschnittstelle der virtuellen Steuergeräte-Pin-Einheit zumindest einen virtuellen Steuergeräte-Pin aufweist, so dass über die Datenschnittstelle der Simulationsumgebung auch virtuelle physikalische Steuergerätesignale übertragbar sind. Dies ist deshalb besonders vorteilhaft, weil die Datenschnittstelle der Simulationsumgebung dann automatisch an die physikalischen Steuergerätesignale der physikalischen Schnittstelle des realen Steuergeräts angepasst ist. Die so eingerichtete Simulationsumgebung ist dann auch unmittelbar dazu geeignet, auf einem HIL-Simulator betrieben zu werden zusammen mit einem über eine physikalische I/O-Schnittstelle verbundenen realen Steuergerät, wie es bei HIL-Simulationen üblich ist.
-
Bei einer Weiterbildung der erfindungsgemäßen Testeinrichtung ist vorgesehen, dass die Simulationsumgebungsschnittstelle der virtuellen Steuergeräte-Pin-Einheit vollständig aus virtuellen Steuergeräte-Pins gebildet ist, so dass über die Datenschnittstelle der Simulationsumgebung ausschließlich virtuelle physikalische Steuergerätesignale übertragen werden. Der Vorteil einer so ausgestalteten virtuellen Steuergeräte-Pin-Einheit besteht darin, dass die Simulationsumgebung praktisch über den gesamten Entwicklungsprozess unverändert bleiben kann, jedenfalls nicht verändert werden muss, wenn sich die äußere Datenschnittstelle einer Software-Komponente des virtuellen Steuergeräts ändert. Die Simulationsumgebung ist unabhängig von der Hardwarenähe des virtuellen Steuergeräts.
-
Bei einer anderen vorteilhaften Weiterbildung der erfindungsgemäßen Testeinrichtung ist vorgesehen, dass die Simulationsumgebungsschnittstelle der virtuellen Steuergeräte-Pin-Einheit keinen virtuellen Steuergeräte-Pin aufweist, so dass die virtuelle Steuergeräte-Pin-Einheit eine direkte Verbindung zwischen dem virtuellen Steuergerät und der Simulationsumgebung herstellt und die virtuelle Steuergeräte-Pin-Einheit den wenigstens einen virtuellen Steuergeräte-Pin außerhalb der Simulationsumgebungsschnittstelle aufweist. Über einen solchen virtuellen Steuergeräte-Pin kann überprüft werden, ob sich die erwarteten Signale an einem virtuellen Steuergeräte-Pin einstellen, so dass hier eine signalmäßige Überprüfung des virtuellen Steuergeräts ermöglicht wird, auch wenn die Simulationsumgebung selbst die virtuellen physikalischen Steuergerätesignale nicht nutzt.
-
Insgesamt ergibt sich aus dem zuvor gesagten, dass selbstverständlich auch Mischformen der Ausführungsbeispiele möglich sind. So können beispielsweise virtuelle Steuergeräte-Pins vorgesehen sein sowohl als Bestandteil der Simulationsumgebungsschnittstelle als auch außerhalb der Simulationsumgebungsschnittstelle.
-
Bei einem bevorzugten Ausführungsbeispiel der erfindungsgemäßen Testeinrichtung ist weiterhin vorgesehen, dass die virtuelle Steuergeräte-Pin-Einheit wenigstens eine Korrespondenz aufweist zwischen einerseits einem zwischen dem virtuellen Steuergerät und/oder der virtuellen Steuergeräte-Pin-Einheit und/oder der Simulationsumgebung austauschbaren Datum und andererseits der mit der Bestimmung dieses austauschbaren Datums in Zusammenhang stehender virtueller Steuergeräte-Pins. Durch diese Korrespondenz ist es in der virtuellen Steuergeräte-Pin-Einheit möglich, diejenigen virtuellen Steuergeräte-Pins zu ermitteln, die für die Bestimmung des insgesamt auszutauschenden Datums von Bedeutung sind, beispielsweise weil deren zugehörige virtuelle physikalische Steuergerätesignale zur Bestimmung des austauschbaren Datums benötigt werden. Bei einer Weiterbildung der zuvor genannten Testeinrichtung ist vorgesehen, dass zu den von der Korrespondenz umfassten virtuellen Steuergeräte-Pins auch jeweils eine Ermittlungsvorschrift zur Bestimmung der zugehörigen virtuellen physikalischen Steuergerätesignale in der virtuellen Steuergeräte-Pin-Einheit abgelegt ist. Dadurch wird die virtuelle Steuergeräte-Pin-Einheit in die Lage versetzt, die entsprechenden virtuellen physikalischen Steuergerätesignale zu ermitteln, entweder selbständig, oder durch Anstoßen der Berechnung dieser virtuellen physikalischen Steuergerätesignale an anderer Stelle, beispielsweise in der Simulationsumgebung.
-
Die eingangs hergeleitete Aufgabe wird ferner auch gelöst mit einer virtuellen Steuergeräte-Pin-Einheit zur virtuellen Abbildung einer pinbezogenen physikalischen Schnittstelle eines zu simulierenden realen Steuergeräts, wobei die virtuelle Steuergeräte-Pin-Einheit wenigstens eine virtuelle Steuergeräteschnittstelle, wenigstens eine Simulationsumgebungsschnittstelle und wenigstens einen virtuellen Steuergeräte-Pin aufweist, wobei mittels der virtuellen Steuergeräteschnittstelle eine Datenverbindung mit wenigstens einer äußeren Schnittstelle einer Software-Komponente eines virtuellen Steuergeräts herstellbar ist, wobei mit der Simulationsumgebungsschnittstelle wenigstens eine Datenverbindung mit der Datenschnittstelle einer Simulationsumgebung herstellbar ist und wobei der virtuelle Steuergeräte-Pin mit einem Pin der physikalischen Schnittstelle eines zu simulierenden realen Steuergeräts korrespondiert, wobei über den virtuellen Steuergeräte-Pin ein virtuelles physikalisches Steuergerätesignal übertragbar ist.
-
Die erfindungsgemäße virtuelle Steuergeräte-Pin-Einheit zeichnet sich darüber hinaus durch die Eigenschaften aus, die zuvor in Zusammenhang mit der erfindungsgemäßen Testeinrichtung und der dort realisierten virtuellen Steuergeräte-Pin-Einheit dargestellt worden sind.
-
Im Einzelnen gibt es nun eine Vielzahl von Möglichkeiten, die erfindungsgemäße Testeinrichtung und die erfindungsgemäße virtuelle Steuergeräte-Pin-Einheit auszugestalten und weiterzubilden. Dazu wird auf die den Patentansprüchen 1 und 10 nachgeordneten Patentansprüche sowie auf die nachfolgende Beschreibung bevorzugter Ausführungsbeispiele der Erfindung unter Bezugnahme auf die Zeichnung verwiesen. In der Zeichnung zeigen
-
1 eine aus dem Stand der Technik bekannter Testaufbau zum Test eines realen Steuergeräts mit einem Simulator,
-
2 eine aus dem Stand der Technik bekannte Testeinrichtung zum Test eines virtuellen Steuergeräts mit einer Simulationsumgebung,
-
3 ein erstes Ausführungsbeispiel für eine erfindungsgemäße Testeinrichtung zum Test eines virtuellen Steuergeräts mit einer virtuellen Steuergeräte-Pin-Einheit,
-
4 ein weiteres Ausführungsbeispiel für eine erfindungsgemäße Testeinrichtung zum Test eines virtuellen Steuergeräts mit einer virtuellen Steuergeräte-Pin-Einheit,
-
5 ein weiteres Ausführungsbeispiel für eine erfindungsgemäße Testeinrichtung mit einer virtuellen Steuergeräte-Pin-Einheit und
-
6a, 6b eine Darstellung der Realisierung des Datenaustausches zwischen dem virtuellen Steuergerät, der virtuellen Steuergeräte-Pin-Einheit und der Simulationsumgebung.
-
Zur Erläuterung der erfindungsgemäßen Testeinrichtung ist in 1 zunächst dargestellt ein aus dem Stand der Technik bekannter Testaufbau nach dem Prinzip des Hardware-in-the-Loop-Tests. In dem dargestellten Testaufbau kommen keine virtuellen Steuergeräte vor, Gegenstand des Tests sind die realen Steuergeräte 101, 102. Die realen Steuergeräte 101, 102 sind mit ihren physikalischen Schnittstellen 103, 104 und über Kabelbäume 105, 106 mit entsprechenden I/O-Schnittstellen 107, 108 eines Simulators 109 verbunden. Der Simulator 109 selbst weist neben den I/O-Schnittstellen 107, 108 auch eine Simulationsumgebung 110 auf, die ein mathematisches Fahrzeugmodell zum Gegenstand hat, angedeutet durch das Blockschaltbild 111. Der in 1 dargestellte Testaufbau ergibt sich erst dann, wenn die Seriensteuergeräte 101, 102 am Ende des Entwicklungsprozesses vorliegen. Erst in dieser Situation ist es möglich, die Software-Komponenten der realen Steuergeräte 101, 102 im Zusammenspiel mit dem Simulator zu testen.
-
Um auch schon in vorangehenden Schritten der Reglerentwicklung die Komponenten der später auf den realen Steuergeräten 101, 102 zu betreibenden Software zu ermöglichen, sind die in 2 schematisch dargestellten und aus dem Stand der Technik bekannten Testeinrichtungen 1 eingeführt worden, die den Test eines virtuellen Steuergeräts 2 mit einer Simulationsumgebung 3 ermöglichen. Derartige Testeinrichtungen 1 werden auf einem Simulator betrieben, der in den 2 bis 6 nicht explizit dargestellt ist.
-
Das virtuelle Steuergerät 2 umfasst mehrere Software-Komponenten 4, 5, 6, die zu unterschiedlich abstrakten Softwareschichten gehören. Die verschiedenen Softwareschichten sind in 2 durch waagerechte Linien a, b angedeutet. In dem dargestellten Ausführungsbeispiel sind die Software-Komponenten 6.1, 6.2, 6.3 und 6.4 Komponenten der Applikationsschicht, in der Software vollkommen maschinenunabhängig, also unabhängig von der Zielplattform, implementiert ist. Alle darunter liegenden Softwareschichten sind hardwarenäher. Die Software-Komponente 5 umfasst im dargestellten Ausführungsbeispiel das Runtime-Environment, und die Software-Komponenten 4.1, 4.2 und 4.3 umfassen plattform-unabhängige wie auch plattformabhängige Basissoftware, beispielsweise in Form des Betriebssystems und in Form von verschiedenen Kommunikationsdiensten. Bei den Software-Komponenten 4, 5, 6 handelt es sich um Software-Komponenten, die später auf dem realen Steuergerät auch zum Einsatz kommen sollen, die Software-Komponenten werden im Rahmen eines virtuellen Steuergeräts 2 aber auf einem Simulator betrieben, der gerätemäßig vollkommen verschieden von dem späteren realen Steuergerät ist.
-
Die Software-Komponenten 4 stehen in Verbindung mit der Simulationsumgebung 3. Dazu weisen die Software-Komponenten 4 äußere Datenschnittstellen 7.1, 7.2 und 7.3 auf. Entsprechend weist die Simulationsumgebung Datenschnittstellen 8.1, 8.2. und 8.3 auf. Das in 2 dargestellte virtuelle Steuergerät 2 ist sehr hardwarenah modelliert. Dies ist in der Praxis nicht immer der Fall, in einer anderen Modellierung des virtuellen Steuergeräts 2 könnten beispielsweise nur die Software-Komponenten 6.1 bis 6.4 auf der Applikationsebene vorkommen, so dass ein solches virtuelles Steuergerät über die Software-Komponenten 4 und 5 nicht verfügte. In diesem Fall wären die Schnittstellen der Software-Komponenten 6 die äußeren Datenschnittstellen, weil sie in Verbindung mit der Simulationsumgebung 3 stehen müssten, um einen Datenaustausch gewährleisten zu können. An diesem Beispiel ist erkennbar, dass eine Veränderung des virtuellen Steuergeräts 2 im Stand der Technik eine umfassende Anpassung der Simulationsumgebung 3 nach sich ziehen muss, was entsprechende Nachteile – Softwarepflege, fehlerträchtige Änderungen usw. – mit sich bringt.
-
In 3 ist nun eine erfindungsgemäße Testeinrichtung 1 mit einem virtuellen Steuergerät 2 und mit einer Simulationsumgebung 3 dargestellt, wobei nunmehr aber auch eine zwischen dem virtuellen Steuergerät 2 und der Simulationsumgebung 3 vermittelnde virtuelle Steuergeräte-Pin-Einheit 9 vorgesehen ist. Die virtuelle Steuergeräte-Pin-Einheit 9 weist virtuelle Steuergeräteschnittstellen 10.1, 10.2, 10.3 auf, mittels derer die virtuelle Steuergeräte-Pin-Einheit 9 mit den äußeren Datenschnittstellen 7.1, 7.2, 7.3 der Softwarekomponenten 4.1, 4.2, 4.3 des virtuellen Steuergeräts 2 verbunden ist. Die virtuelle Steuergeräte-Pin-Einheit 9 weist ferner Simulationsumgebungsschnittstellen 11.1, 11.2, 11.3 auf und ist mittels der Simulationsumgebungsschnittstellen 11.1, 11.2, 11.3 mit den Datenschnittstellen 8.1, 8.2, 8.3 der Simulationsumgebung 3 verbunden. Da es sich hier sämtlich um auf einem Rechner realisierte Komponenten handelt, sind die Schnittstellen nicht körperlich zu verstehen, sie sind funktional zu verstehen in dem Sinne, dass über die geschafften Schnittstellen Daten ausgetauscht werden können.
-
Die virtuelle Steuergeräte-Pin-Einheit 9 weist ferner einen virtuellen Steuergeräte-Pin 12 auf, der mit einem Pin der physikalischen Schnittstelle eines zu simulierenden realen Steuergerätes korrespondiert, wobei über den virtuellen Steuergeräte-Pin 12 ein virtuelles physikalisches Steuergerätesignal übertragbar ist. Mit dem virtuellen Steuergeräte-Pin 12 wird also ein Pin einer physikalischen Schnittstelle eines realen Steuergeräts nachgebildet. Demgemäß werden hier in Form von Daten solche Größen übermittelt, die physikalischen Steuergerätesignalen dieses Pins entsprechen. Der virtuelle Steuergeräte-Pin 12 ermöglicht demnach eine Sicht auf das virtuelle Steuergerät 2, die durch die physikalischen Signalformen der realen physikalischen Schnittstelle des nachzuahmenden realen Steuergeräts vorgegeben ist. Wenn beispielsweise eine Temperatur auf der Applikationsebene des virtuellen Steuergeräts 2 in Form der Angabe T = 20° C gehandhabt wird, dann wird diese gleiche Information über einen virtuellen Steuergeräte-Pin 12 beispielsweise als ein Signal U = 2,35 V ausgegeben. Die virtuelle Steuergeräte-Pin-Einheit 9 ermöglicht jedenfalls die Signalsicht auf das virtuelle Steuergerät 2, wobei diese Signalsicht in unterschiedlicher Weise genutzt werden kann.
-
In dem Ausführungsbeispiel gemäß 4 umfasst die Simulationsumgebungsschnittstelle 11 der virtuellen Steuergeräte-Pin-Einheit 9 den virtuellen Steuergeräte-Pin 12, so dass über die Datenschnittstelle 8 der Simulationsumgebung 3 auch virtuelle physikalische Steuergerätesignale übertragen werden können.
-
In dem Ausführungsbeispiel gemäß 5 besteht die Simulationsumgebungsschnittstelle 11 der virtuellen Steuergeräte-Pin-Einheit 9 vollständig aus virtuellen Steuergeräte-Pins 12, so dass über die Datenschnittstelle 8 der Simulationsumgebung 3 ausschließlich virtuelle physikalische Steuergerätesignale übertragen werden. Dies ist vorteilhaft, weil die Simulationsumgebung 3 damit vollständig unabhängig von Veränderungen in der Modellierung des virtuellen Steuergeräts 2 ist. Die gemäß 5 gebildete Simulationsumgebung 3 kann praktisch unverändert in einem Simulator verwendet werden, wenn das virtuelle Steuergerät 2 durch ein reales Steuergerät ersetzt wird, weil die Simulationsumgebung 3 schon auf die Pins der physikalischen Schnittstelle des realen Steuergeräts ausgerichtet ist. Selbstverständlich muss dann noch eine entsprechende I/O-Funktionalität in dem Simulator eingerichtet werden, damit die Pins der physikalischen Schnittstelle des realen Steuergeräts auch angesprochen werden können, aber funktional ist die Simulationsumgebung 3 nicht mehr zu ändern.
-
Die Simulationsumgebung 3 gemäß 5 kann während des gesamten Reglerentwicklungsprozesses verwendet werden, unabhängig von der – ggf. variierenden – Hardwarenähe der Modellierung des virtuellen Steuergeräts 2. Die durch Veränderung der Modellierung des virtuellen Steuergeräts 2 erforderlichen Anpassungen sind bei der virtuellen Steuergeräte-Pin-Einheit 9 vorzunehmen. Wenngleich auch die virtuelle Steuergeräte-Pin-Einheit 9 angepasst werden muss, ist die Lösung gemäß 5 dennoch vorteilhaft, da die Simulationsumgebung 3 in jedem Fall beim Übergang von dem virtuellen Test zum realen Test in einem HIL-Simulator weiterverwendet werden kann, was andernfalls nicht möglich wäre.
-
In den 6a und 6b ist jeweils dargestellt, wie der Datenaustausch zwischen dem virtuellen Steuergerät 2, der virtuellen Steuergeräte-Pin-Einheit 9 und der Simulationsumgebung 3 über die jeweiligen Schnittstellen realisiert werden kann, insbesondere für den Fall, dass virtuelle Steuergeräte-Pins 12 als ergänzende Schnittstelle der Simulationsumgebung 3 genutzt werden. In 6a ist gezeigt, dass das virtuelle Steuergerät 2 ein Datum r1 einer Schnittstelle der Simulationsumgebung 3 anfordert, hier durch einen Funktionsaufruf. Die virtuelle Steuergeräte-Pin-Einheit 9 nimmt den Funktionsaufruf entgegen und greift auf eine Korrespondenz r1:f(A1, B1) zurück, die in der virtuellen Steuergeräte-Pin-Einheit 9 hinterlegt ist. Es handelt sich hier um eine Korrespondenz zwischen einerseits einem zwischen dem virtuellen Steuergerät 2 und/oder der virtuellen Steuergeräte-Pin-Einheit 9 und/oder der Simulationsumgebung 3 austauschbarem Datum r1 und andererseits der mit der Bestimmung dieses austauschbaren Datums in Zusammenhang stehender virtueller Steuergeräte-Pins A1, B1. In der virtuelle Steuergeräte-Pin-Einheit 9 ist zu den von der Korrespondenz umfassten virtuellen Steuergeräte-Pins A1, B1 auch eine Ermittlungsvorschrift zur Bestimmung der zugehörigen virtuellen physikalischen Steuergerätesignale u(A1), u(B1) abgelegt, so dass diese virtuellen physikalischen Steuergerätesignale u(A1), u(B1) ermittelt werden können. Damit stehen praktisch die elektrischen Signalwerte der virtuellen Steuergeräte-Pins A1, B1 der Simulationsumgebung 3 zur Verfügung. Auch andere Werkzeuge, wie z. B. Experimentier- und Testautomatisierungswerkzeuge können die virtuellen physikalischen Steuergerätesignale u(A1), u(B1) unabhängig von der Verwendung in der Simulationsumgebung 3 nutzen. Die zur Berechnung des Datums r1 erforderliche Funktion 1 wird nachfolgend von der virtuellen Steuergeräte-Pin-Einheit 9 in der Simulationsumgebung 3 aufgerufen, womit das Datum r1 berechnet, an die virtuelle Steuergeräte-Pin-Einheit 9 zurückgegeben und von dort an das virtuelle Steuergerät 2 weitergeleitet wird. In einem weiteren Ausführungsbeispiel zeichnet sich die Testeinrichtung dadurch aus, dass zu den von der Korrespondenz r1:f(A1, B1) umfassten virtuellen Steuergeräte-Pins 12 auch eine Ermittlungsvorschrift zur Bestimmung des Datums r1 aus den zugehörigen virtuellen physikalischen Steuergerätesignalen u(A1), u(B1) in der virtuellen Steuergeräte-Pin-Einheit 9 abgelegt ist. Für diesen Fall ist insbesondere vorgesehen, dass die Ermittlungsvorschrift zur Bestimmung des Datums r1 aus den zugehörigen virtuellen physikalischen Steuergerätesignalen u(A1), u(B1) zeitabhängige Steuersignale auswertet, insbesondere in Form eines zeitlich begrenzten Zeitsignals oder eines zeitlich unbegrenzten Zeitsignals.
-
In einem weiteren Ausführungsbeispiel kann die direkte Rückmeldung eines Ergebnisses (hier: r1) entfallen, so dass eine Rückmeldung entweder gar nicht oder nur über die gleichen oder andere virtuelle physikalische Steuergerätesignale erfolgt.
-
In einem weiteren Ausführungsbeispiel werden die virtuellen Steuergerätepins für die o.g. Funktionalität nicht als ergänzende, sondern als alleinige Schnittstelle zur Simulationsumgebung genutzt. In diesem Fall ergibt sich die Reaktion der Simulationsumgebung (z. B. Ausführung einer Funktion function1a) alleinig aus den Änderungen der virtuellen physikalischen Steuergerätesignale (im aufgeführten Beispiel u(A1) und/oder u(B1)).
-
Der umgekehrte Informationsfluss ist in 6b dargestellt, der diesmal von der Simulationsumgebung 3 angestoßen wird. Der Vorgang ist analog zu dem Vorgang in 6a, zur Vermeidung von Verwechslungen sind die Bezeichner A2, B2 für die virtuellen Steuergeräte-Pins und function2 für den erforderlichen Funktionsaufruf verwendet worden.
-
Die in Bezug auf 6a genannten Ausführungsvarianten gelten sinngemäß entsprechend für die Rückrichtung auch in Bezug auf 6b.
-
Bei der in den 6a, 6b dargestellten Testeinrichtungen wird ein dediziertes Datum zwischen dem virtuellen Steuergerät 2, der virtuellen Steuergeräte-Pin-Einheit 9 und der Simulationsumgebung 3 ausgetauscht. In einem weiteren Ausführungsbeispiel ist es möglich, dass die Ermittlungsvorschrift zur Bestimmung der zugehörigen virtuellen physikalischen Steuergerätesignale u(A1), u(B1) eine zeitabhängige Funktion ist, die zur Bestimmung eines zeitabhängigen virtuellen physikalischen Zeitsignals dient. Typische zeitabhängige Signale können beispielsweise in Form eines dedizierten parametrierten Signalverlaufs (eines „Signalmusters“) vorliegen oder in einem parametrierten modulierten Signal (z. B. ein PWM-Signal). Vorzugsweise ist die Ermittlungsvorschrift eine explizite Ermittlungsvorschrift in der virtuellen Steuergeräte-Pin-Einheit 9. In anderen bevorzugten Ausführungsbeispielen besteht die Ermittlungsvorschrift in einem Verweis auf wenigstens eine Ermittlungsvorschrift des virtuellen Steuergeräts und/oder wenigstens in einem Verweis auf wenigstens eine Ermittlungsvorschrift der Simulationsumgebung.
-
Im Fall der 6a sind die Korrespondenz und die Ermittlungsvorschrift zur Ermittlung der virtuellen physikalischen Steuergerätesignale u(A1), u(B1) durch externe Informationen in die virtuelle Steuergeräte-Pin-Einheit 9 geladen worden. Bei einem anderen, hier nicht dargestellten Ausführungsbeispiel bietet die Testeinrichtung dem Verwender eine Eingabemöglichkeit zur Hinterlegung derartiger Angaben, worauf hier nicht näher eingegangen wird.
-
Die virtuelle Steuergeräte-Pin-Einheit 9 der jeweils dargestellten Testeinrichtung 1 ist so ausgestaltet, dass sie sich zur Codegenerierung eignet, nämlich zur Generierung solchen Codes, der zur programmtechnischen Umsetzung der zuvor beschriebenen Funktionalitäten geeignet ist. Dabei handelt es sich insbesondere um Code zur – datenmäßigen – Verbindung der äußeren Datenschnittstelle 7 und/oder der Datenschnittstelle 8. Alternativ oder zusätzlich handelt es sich um Code zur Herstellung der Korrespondenz zwischen einerseits einem zwischen dem virtuellen Steuergerät 2 und/oder der virtuellen Steuergeräte-Pin-Einheit 9 und/oder der Simulationsumgebung 3 austauschbaren Datum r1 und andererseits der mit der Bestimmung dieses austauschbaren Datums r1 in Zusammenhang stehender virtueller Steuergeräte-Pins A1, B1. Ferner handelt es sich alternativ oder zusätzlich um Code zur Realisierung einer Ermittlungsvorschrift und/oder Berechnungsvorschrift zur Bestimmung der zugehörigen virtuellen physikalischen Steuergerätesignale u(A1), u(B1) und/oder um Code zur Realisierung eines zeitabhängigen virtuellen physikalischen Zeitsignals als virtuelles physikalisches Steuergerätesignal u(A1), u(B1) und/oder um Code zur Realisierung einer Ermittlungsvorschrift zur Bestimmung des austauschbaren Datums r1 aus den zugehörigen virtuellen physikalischen Steuergerätesignalen u(A1), u(B1).
-
Der von der virtuellen Steuergeräte-Pin-Einheit 9 generierte Code kann abschließend zusammen mit dem der Code des virtuellen Steuergeräts 2 und dem Code der Simulationsumgebung 3 in einer gemeinsamen Simulation ausgeführt werden, wobei es sich bei der Simulation insbesondere um eine Echtzeitsimulation handelt.