DE10235610A1 - Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation - Google Patents
Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation Download PDFInfo
- Publication number
- DE10235610A1 DE10235610A1 DE2002135610 DE10235610A DE10235610A1 DE 10235610 A1 DE10235610 A1 DE 10235610A1 DE 2002135610 DE2002135610 DE 2002135610 DE 10235610 A DE10235610 A DE 10235610A DE 10235610 A1 DE10235610 A1 DE 10235610A1
- Authority
- DE
- Germany
- Prior art keywords
- bypass
- program
- control unit
- function
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23311—Load new program together with test program
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zum Überprüfen einer in Software implementierten Funktion für ein Steuergerät und ein Steuergerät zur Durchführung des Verfahrens sowie ein Computerprogramm und ein Computerprogrammprodukt.The invention relates to a method to check one Function implemented in software for a control unit and a control unit to carry out of the method as well as a computer program and a computer program product.
Stand der TechnikState of the art
Zur Steuerung unterschiedlicher Funktionsbereiche in Kraftfahrzeugen werden heutzutage Steuergeräte eingesetzt. Auf dem Gebiet der Motormanagement-Systeme (Motronic) bspw. werden durch Hardware und zugeordnete Steuergerätesoftware die verschiedenen Betriebsarten eines Motors, bspw. eines Ottomotors, geregelt bzw. gesteuert. Die Einheit Steuergerät und Steuergerätesoftware übernimmt dabei in vielen Bereichen des Fahrzeugs die Ansteuerung von Aggregaten in Abhängigkeit von Eingangsgrößen.For controlling different functional areas Control units are used in motor vehicles today. In the area of the motor management systems (Motronic), for example, by hardware and assigned control unit software the different operating modes of an engine, for example an Otto engine, regulated or controlled. The control unit and control unit software unit takes over the control of units in many areas of the vehicle dependent on of input quantities.
Jede dieser Aufgaben, die von der Steuergerätesoftware bearbeitet werden muß, wird in einer Steuergerätefunktion beschrieben. Hierbei bilden eine Vielzahl von Steuergerätefunktionen sowie das Betriebssystem den sogenannten Programmstand für das Motorsteuerungssystem. Zusätzlich sind Steuergerätedaten vorgesehen, die in Form von Konstanten, applizierbaren Festwerten, Kennlinien und/oder Kennfeldern in dem betreffenden Steuergerät abgelegt sind und den Datenstand bilden. Der Programmstand und die dazugehörigen Daten bilden den Softwarestand für das Motorsteuerungssystem.Each of these tasks by the ECU software must be processed is in a control unit function described. A large number of control unit functions form here and the operating system the so-called program status for the engine control system. additionally control unit data are provided, those in the form of constants, applicable fixed values, characteristic curves and / or maps in the control unit concerned are and form the data status. The program status and the associated data form the software version for the engine control system.
In dem Softwarestand ist durch Spezifikation der Steuergerätefunktionen und der Daten das Verhalten des Steuergeräts bei verschiedenen Betriebsarten des Motors fest definiert bzw. vorgegeben. Dabei ist es möglich, mit einem geeigneten Applikationssteuergerät und dem dazugehörigen Applikationssystem durch Datenänderung in eingeschränkter Form die Funktionsweise von Steuergerätefunktionen einzustellen.In the software version is by specification the control unit functions and the data the behavior of the control unit in different operating modes of the motor defined or specified. It is possible to use a suitable application control unit and the associated application system by changing data in restricted Form to set the functioning of control unit functions.
Gewöhnlich wird, wenn eine neue Steuergerätefunktionalität erzielt werden soll, an dieser Stelle ein Steuergeräte-Bypass eingesetzt, der eine Überprüfung ermöglicht, ohne daß ein neuer Programmstand generiert werden muß.Usually when a new one ECU functionality achieved a control unit bypass is to be used at this point, which enables a check, without a new program status must be generated.
Gegenwärtig wird bspw. der sogenannte externe Steuergeräte-Bypass verwendet, der in der Funktionsentwicklung zum Einsatz kommt.For example, the so-called external control unit bypass used, which is used in function development.
Die Entwicklungsumgebung setzt sich dabei aus einem Applikationssteuergerät mit Emulationstastkopf, einem Applikationssystem, einer externen Hardware und einem PC mit Software zur Codegenerierung zusammen. Mit der PC-Software wird die Bypass-Funktion modelliert und anschließend in Code implementiert. Der dabei erzeugte Bypass-Code wird auf eine externe Hardware geladen und dort zur Ausführung gebracht, wobei dieser über ein Softwareschalterkonzept aktiviert bzw. deaktiviert werden kann.The development environment continues from an application control unit with an emulation probe, one Application system, external hardware and a PC with software for code generation together. The bypass function is modeled with the PC software and subsequently implemented in code. The bypass code generated in the process is changed to a external hardware loaded and executed there, using a software switch concept can be activated or deactivated.
Auf diese Weise wird eine neue Funktionalität herbeigeführt, während gleichzeitig der vorhandene Funktionscode umgangen wird. Die dabei berechneten Bypass-Werte werden über eine Schnittstelle unter Anwendung eines Übertragungsprotokolls in die Steuergerätesoftware zurückgeschrieben.In this way a new functionality is brought about while at the same time the existing function code is bypassed. The calculated here Bypass values are over a Interface using a transmission protocol in the ECU software written back.
Bei dem Verfahren mit externem Steuergeräte-Bypass erfolgt die Berechnung der Bypass-Werte außerhalb des Steuergerätesystems, wobei die Berechnung typischerweise in Float-Arithmetik durchgeführt wird. Es können auch immer nur einzelne Steuergerätegrößen mit dem Bypass bearbeitet werden. Außerdem ist das Zeitverhalten, d.h. das Lesen und Zurückschreiben von Steuergerätegrößen, fest an ein Übertragungsprotokoll gebunden. Weiterhin ist zu beachten, daß ein Freischnitt der Steuergerätefunktion und ebenso eine parallele Verwaltung der Dokumentation und Softwareerstellung der Steuergerätefunktionen mit und ohne Bypass-Freischnitt erforderlich sind.With the procedure with external control unit bypass the bypass values are calculated outside the control unit system, where the calculation is typically carried out in float arithmetic. It can too only individual control unit sizes with the bypass are processed. In addition, the timing, i.e. reading and writing back of control unit sizes, fixed to a transmission protocol bound. It should also be noted that there is a free cut in the control unit function and also parallel management of documentation and software development the control unit functions with and without bypass clearance are required.
Nachteilig bei dem Verfahren mit externem Bypass ist, daß es bei der Nachbildung von komplexen Regelkreisen zu Rechenrasterverlusten kommen kann, die das Ergebnis der , Bypass-Instrumentierung verfälschen und damit sogar unbrauchbar machen können. Außerdem wird in dem Steuergerät eine andere Arithmetik (Integer) als in der externen Hardware (Float) verwendet. Weitere Nachteile sind die bedingte Rechenzeitbeschränkung, der erhöhte Zeitaufwand für die Vorbereitung eines Bypass-Freischnitts und der hohe Verwaltungsaufwand von Steuergerätefunktionen mit und ohne Bypass-Freischnitt. Ein weiterer Nachteil ist, daß immer nur einzelne Steuergerätegrößen mit dem Bypass bearbeitet werden können.A disadvantage of the process with external bypass is that it in the simulation of complex control loops for calculation grid losses that can distort the result of the bypass instrumentation and can even make it unusable. Moreover is in the control unit a different arithmetic (integer) than in the external hardware (float) used. Further disadvantages are the limited computing time, the increased Time spent on the preparation of a bypass cut and the high administrative effort of control unit functions with and without bypass clearance. Another disadvantage is that only individual control unit sizes with the bypass can be processed.
Vorteile der ErfindungAdvantages of invention
Demgegenüber sieht das erfindungsgemäße Verfahren zum Überprüfen einer in Software implementierten Funktion für ein Steuergerät vor, daß die neue Funktion als Bypass-Programm in.das Steuergeräteprogramm integriert und durch einen Aufruf zur Ausführung gebracht wird.In contrast, the method according to the invention provides to check one Function implemented in software for a control unit before that the new Function as a bypass program in the control unit range integrated and executed by a call.
Mit dem erfindungsgemäßen Verfahren können die vorstehend genannten Nachteile ausgeräumt werden und die Kosten und die Entwicklungszeit bei der Softwareentwicklung verringert werden.With the method according to the invention can the disadvantages mentioned above are eliminated and the costs and development time in software development can be reduced.
Bei dem erfindungsgemäßen Verfahren mit internem Steuergeräte-Bypass handelt es sich um ein Verfahren, bei dem eine neu erstellte Softwarefunktion in ein bestehendes Steuergeräteprogramm integriert und über einen Mechanismus zur Ausführung gebracht werden kann, ohne daß eine Änderung der vorhandenen Softwarestruktur erforderlich ist. Es besteht somit die Möglichkeit, die Bypass-Funktionen in dem Zielsystem bereits während der Entwicklungsphase zu testen und auf deren softwaretechnische Tauglichkeit in Bezug auf Laufzeit, physikalisches Verhalten usw. zu überprüfen. Selbstverständlich ist es möglich, mehrere Bypass-Programme zu integrieren, von denen jedes einzelne gesondert oder in Kombination mit anderen Bypass-Programmen aufgerufen werden kann.The inventive method with an internal control unit bypass is a method in which a newly created software function is integrated into an existing control unit program and can be executed via a mechanism without changing the existing software structure. It is therefore possible to test the bypass functions in the target system already during the development phase and to check their software suitability in terms of runtime, physical behavior, etc. Of course, it is possible to integrate several bypass programs, each of which can be called up separately or in combination with other bypass programs.
In Ausgestaltung der Erfindung wird das Bypass-Programm durch einen Kopiervorgang in das Steuergeräteprogramm integriert.In an embodiment of the invention the bypass program by copying it into the control unit program integrated.
Bei diesem Vorgang werden die Inhalte von Speichersegmenten aus der Bypass-Software in die Steuergeräte bzw. Projekt-Software eingefügt.In this process, the content of memory segments from the bypass software into the control units or Project Software inserted.
Vorzugsweise ist eine Bypass-Dienstroutine vorgesehen, die über eine in einer Bypass-Pointertabelle enthaltene Adresse das Bypass-Programm aufruft.A bypass service routine is preferred provided that about an address contained in a bypass pointer table the bypass program calls.
Der Inhalt der Pointer- bzw. Zeigertabelle wird dabei durch die Bypass-Entwicklungsumgebung bestimmt. In der Tabelle wird die Zuordnung der Adressen von Steuergerätefunktionen bzw. Steuergerätegrößen zu den aufzurufenden Bypass-Funktionen definiert.The content of the pointer or pointer table is determined by the bypass development environment. In the The table shows the assignment of the addresses of control unit functions or control unit sizes for the bypass functions to be called Are defined.
Zweckmäßigerweise wird die Bypass-Dienstroutine durch einen Softwareschalter über ein Applikationssystem aktiviert.The bypass service routine is expediently through a software switch activated an application system.
Eine Möglichkeit sieht vor, daß mit einem sogenannten Funktionsbypass eine Funktion des Steuergerätes manipuliert wird. Mit einem Einzelgrößenbypass kann eine Steuergerätegröße manipuliert werden.One possibility is that with a so-called function bypass manipulates a function of the control device becomes. With a single size bypass can manipulate an ECU size become.
Üblicherweise erfolgt über Referenzen eine Datenübertragung zwischen dem Steuergeräteprogramm und dem Bypass-Programm.Usually takes place via References a data transfer between the control unit program and the bypass program.
Das erfindungsgemäße Verfahren ermöglicht ein Rapid Prototyping im Zielsystem, da der Funktionsentwickler seine Steuergerätefunktionen unmittelbar im Zielsystem entwickeln und ohne Wirkung auf die Softwareentwicklung testen kann. Der Bypass-Code läuft dabei in Echtzeit im Steuergerät.The method according to the invention enables one Rapid prototyping in the target system, since the function developer is responsible for his ECU functions Develop directly in the target system and have no effect on software development can test. The bypass code is running in real time in the control unit.
Das Problem von Rechenrasterverlusten tritt beim internen Steuergeräte-Bypass nicht auf, da sich die Bypass- Instrumentierung fest an die zeitlichen Vorgaben bzw. das Scheduling der Steuergerätefunktion orientiert. Im Gegensatz zum externen Steuergeräte-Bypass können Steuergerätefunktionen mit dem Funktionsbypass sowie einzelne Steuergerätegrößen mit dem Einzelgrößenbypass getestet werden. Der Verzicht auf eine teuere externe Hardware gestattet eine Reduzierung der Kosten. Des weiteren ermöglicht das erfindungsgemäße Verfahren eine Reduzierung des Verwaltungsaufwands von Steuergerätefunktionen mit und ohne Bypass-Freischnitt.The problem of grid loss occurs during internal control unit bypass not due to the bypass instrumentation fixed to the timing or the scheduling of the control unit function oriented. In contrast to the external control unit bypass, control unit functions can with the function bypass and individual control unit sizes with the single size bypass getting tested. Eliminating the need for expensive external hardware a reduction in costs. Furthermore, the method according to the invention enables a reduction in the administrative burden of ECU functions with and without bypass clearance.
Die Entwicklungsumgebung beim erfindungsgemäßen Verfahren setzt sich aus einem Applikationssteuergerät mit beispielsweise einer Emulationseinheit, einem Applikationssystem und einem PC mit Software zur Codegenerierung zusammen.The development environment in the method according to the invention consists of an application control unit with, for example, one Emulation unit, an application system and a PC with software for Code generation together.
Die erfindungsgemäße Speichereinrichtung für ein Steuergerät, in der ein Steuergeräteprogramm abgelegt ist, umfaßt eine Anzahl von Speichersegementen. Dabei ist mindestens eines der Speichersegmente für ein Bypass-Programm vorgesehen.The storage device according to the invention for a control device in which a control unit program filed, includes a number of memory segments. At least one of the Memory segments for a bypass program intended.
Vorzugsweise weist das für das Bypass-Programm vorgesehene Speichersegment einen ersten Bereich für Bypass-Daten, einen zweiten Bereich für einen Bypass-Code und einen dritten Bereich für eine Bypass-Pointertabelle auf.This preferably points to the bypass program provided memory segment a first area for bypass data, a second area for a bypass code and a third area for a bypass pointer table on.
Das erfindungsgemäße Steuergerät weist eine Recheneinheit und eine Speichereinrichtung auf, in der das Steuergeräteprogramm abgelegt ist. Die Speichereinrichtung umfaßt eine Anzahl von Speichersegmenten, von denen mindestens eines für ein Bypass-Programm vorgesehen ist.The control device according to the invention has a computing unit and a storage device in which the ECU program is filed. The memory device comprises a number of memory segments, at least one for a bypass program is provided.
Das erfindungsgemäße Computerprogramm umfaßt Programmcodemittel zum Ausführen der Schritte des vorstehend beschriebenen Verfahrens und wird auf einem Computer oder einer entsprechenden Recheneinheit durchgeführt.The computer program according to the invention comprises program code means to run of the steps of the method described above and is based on a computer or a corresponding computing unit.
Das erfindungsgemäße Computerprogrammprodukt ist auf einem computerlesbaren Datenträger gespeichert. Als geeignete Datenträger kommen EEPROMS und Flashmemories, aber auch CD-ROMS, Disketten sowie Festplattenlaufwerke zum Einsatz.The computer program product according to the invention is stored on a computer-readable data medium. As suitable disk come EEPROMS and flash memories, but also CD-ROMs, floppy disks and hard drives for use.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and configurations the invention will become apparent from the description and the accompanying Drawing.
Es versteht sich, daß 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.It is understood that the above not only mentioned and the features to be explained below in the specified combination, but also in others Combinations or alone can be used without the frame to leave the present invention.
Zeichnungdrawing
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung dargestellt und wird im folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.The invention is based on exemplary embodiments shown in the drawing and will be referred to below on the drawing in detail described.
In
Das Steuergerät
In
In einem ersten Feld
Aus dem Entwicklungsprozeß der Projekt-Software ergeben sich in einem Schritt 24 Schnittstellen-Dateien, in einem Schritt 26 eine Linkerdatei, in einem Schritt 28 Projekt-Applikationsdaten und in einem Schritt 30 die Projekt-Software.From the development process of the project software there are 24 interface files in one step, in one Step 26 a linker file, in a step 28 project application data and in a step 30 the project software.
Bei der Erstellung der Bypass-Software wird in einem Schritt 32 ein Simulationsmodell der Bypass-Funktion erstellt und in einem Schritt 34 mit einem Codegenerator codiert. Die in Schritt 24 ermittelten Schnittstellen-Dateien werden in einem Schritt 36 als Referenzen auf Projektgrößen übergeben.When creating the bypass software in a step 32 a simulation model of the bypass function created and encoded in a step 34 with a code generator. The interface files determined in step 24 are in a step 36 as Pass references to project sizes.
Nachfolgend wird in einem Schritt 38 der Bypass-Sourcecode erstellt und in einem Schritt 40 compiliert. Die in Schritt 26 erstellte Linkerdatei wird in einem Schritt 42 als Bypass-Linkerdatei übergeben. Die Daten werden dann mittels eines Linkers in einem Schritt 44 verbunden. In einem Schritt 46 wird dann die Bypass-Software und in einem Schritt 48 werden die Bypass-Applikationsdaten erhalten.Below is one step 38 the bypass source code is created and compiled in a step 40. The linker file created in step 26 becomes in a step 42 transferred as a bypass linker file. The data is then generated using a linker in a step 44 connected. In a step 46, the bypass software and The bypass application data is obtained in a step 48.
Am Ende des Entwicklungsprozesses erhält der Anwender in einem Schritt 50 die Projekt-Software und in einem Schritt 52 die Projekt-Applikationsdatei inklusive Bypass-Applikationsdaten.At the end of the development process receives the user in a step 50 the project software and in one Step 52 the project application file including bypass application data.
Die Entwicklung der Bypass-Software erfolgt somit unabhängig von der Entwicklung der Projekt-Software. Aus dem Entwicklungsprozeß der Projekt-Software werden Schnittstellen-Dateien dem Bypass-Entwicklungsprozess übergeben, die für den Zugriff auf Daten der Projekt-Software benötigt werden.The development of the bypass software is therefore independent from the development of the project software. From the development process of the project software interface files are transferred to the bypass development process, the for access to project software data is required.
In
Für das Verfahren des internen Steuergeräte-Bypasses werden Speicherbereiche für die Bypass-Instrumentierung in der Steuergeräte-Software benötigt. Diese werden durch die Bypass-Entwicklungsumgebung mit Daten gefüllt. Dabei verhindern die Speichersegmente eine Adreßverschiebung durch die Nachbearbeitung. Aus diesem Grund bleibt die vorhandene Steuergerätesoftware weitgehend in deren Originalzustand.For the procedure of the internal control unit bypass becomes memory areas for the Bypass instrumentation required in the ECU software. This are filled with data through the bypass development environment. there the memory segments prevent an address shift due to postprocessing. For this reason, the existing control unit software largely remains in its Original state.
In der Projekt-Software gibt es somit für globale Bypass-RAM-Größen den Bypass-RAM-Bereich. Für Steuergerätedaten, wie bspw. Festwerte, Kennlinien oder Kennfelder, die in der Bypass-Funktion als Applikationsdaten definiert werden, ist der Bypass-Datenbereich vorgesehen. Der eigentliche Bypass-Programmcode liegt im Speichersegment Bypass-Code vor.So there is in the project software for global Bypass RAM sizes Bypass RAM area. For control unit data, such as fixed values, characteristic curves or maps that are in the bypass function defined as application data is the bypass data area intended. The actual bypass program code is in the memory segment Bypass code.
Weiterhin werden noch die Bereiche für die Bypass-Pointertabellen benötigt.The areas still continue for the Bypass pointer tables needed.
In
Ein weiterer Bereich
Die Bypass-Software wird mittels
der Bypass-Entwicklungsumgebung
erzeugt. Aufbau und Struktur der Speichersegmente stimmen mit denen
der Projekt-Software überein.
Durch einen mit Pfeilen
In
Die Bypass-Pointertabelle
Zu beachten ist, daß es grundsätzlich zwei
Arten von Pointertabellen
Nachfolgend ist beispielhaft die Umsetzung einer Bypass-Pointertabelle für den Funktionsbypass aufgeführt: The following is an example of the implementation of a bypass pointer table for the function bypass:
In
Wird in dem Schritt 114 festgestellt, daß der Tabellenwert nicht gleich dem Wert des Parameters ist, wird in einem Schritt 118 überprüft, ob der Tabellenwert gleich Null ist. Ist dies nicht der Fall, wird der Parameter i in einem Schritt 120 um 1 erhöht. Anschließend wird in einem Schritt 122 überprüft, ob i gleich n ist. Ist dies nicht der Fall erfolgt ein Sprung zu Schritt 114.If it is determined in step 114 that the Table value is not equal to the value of the parameter, is in one Step 118 checks whether the Table value is zero. If this is not the case, the Parameter i increased by 1 in a step 120. Then will in a step 122 checks whether i is equal to n. If this is not the case, there is a jump to step 114th
Falls i gleich n oder wenn in Schritt 118 festgestellt wird, daß der Tabellenwert gleich Null ist, erscheint in Schritt 124 eine Fehlermeldung, da keine Bypass-Funktion spezifiziert ist. Mit Schritt 126 endet die Suchroutine.If i is equal to n or if in step 118 it is found that the Table value is zero, an error message appears in step 124, since no bypass function is specified. End with step 126 the search routine.
Die Bypass-Dienstroutine, die die Schnittstelle zwischen Steuergerätefunktion und Bypass-Funktion darstellt, ist Bestandteil des Betriebssystems. Als Übergabeparameter wird dieser beim Funktionsbypass die Adresse der aufgerufenen Steuergerätefunktion und beim Einzelgrößenbypass die Adresse der zu manipulierenden Steuergerätegröße übergeben.The bypass service routine that the Interface between control unit function and bypass function is part of the operating system. As a transfer parameter In the function bypass, this becomes the address of the control unit function called and single size bypass transfer the address of the control unit size to be manipulated.
Die Bypass-Dienstroutine umfaßt einen Suchalgorithmus, der in der entsprechenden Pointertabelle nach dem Wert des Übergabeparameters sucht. Wird dieser gefunden, erfolgt der Aufruf der operativen Bypass-Funktion über den Funktionspointer. Dabei gibt es jeweils Dienstroutinen für den Funktionsbypass und für den Einzelgrößenbypass. Diese unterscheiden sich in der Bearbeitung der Pointertabellen, in der Datenstruktur und in der Behandlung der Rückgabewerte.The bypass service routine includes one Search algorithm, which in the corresponding pointer table after the Value of the transfer parameter examined. If this is found, the operational bypass function is called via the Function pointer. There are service routines for the function bypass and for the single size bypass. These differ in the processing of the pointer tables, in the data structure and in the handling of the return values.
Nachfolgend ist ein Beispiel einer Bypass-Dienstroutine für den Funktionsbypass gegeben: The following is an example of a bypass service routine for the function bypass:
Nachfolgend ist ein Beispiel für eine Bypass-Dienstroutine für den Einzelgrößenbypass aufgeführt: The following is an example of a bypass service routine for single size bypass:
Bei der Datenübertragung von Projekt- zu Bypass-Software ist zu beachten, daß die Bypass-Funktion Dateninformationen aus der Projekt-Software benötigt. Der Zugriff auf Projektgrößen kann nur über Referenzen auf diese Größen erfolgen. Es kann somit nur über Adreßinformationen und nicht über symbolische Namen der RAM-Zellen, auf Kenngrößen oder Bibliotheksfunktionen zugegriffen werden, da das Zusammenfügen von Projekt-Software und Bypass-Software nicht über den Zinkvorgang erfolgt.When transferring data from project to Bypass software should be noted that the bypass function data information from the project software. Access to project sizes can only over References to these sizes are made. So it can only be about address information and not about symbolic names of the RAM cells, on parameters or library functions be accessed because the merging of project software and Bypass software does not have the zinc process takes place.
In
Ein erster Bereich
Mit einem Schritt 136 erfolgt der Start. Anschließend wird in einem Schritt 138 überprüft, ob der Schalter für eine Bypass-Aktivierung gesetzt ist. Ist dies der Fall, erfolgt in einem Schritt 140 der Start der Bypass-Dienstroutine. Anderenfalls wird in einem Schritt 142 der Steuergerätecode ausgeführt und in einem Schritt 144 der Vorgang beendet.With a step 136 the Begin. Subsequently it is checked in a step 138 whether the Switch for bypass activation is set. If so, it is done in a step 140 the start of the bypass service routine. Otherwise, the control unit code is executed in a step 142 and the process ends in a step 144.
Nach Start der Bypass-Dienstroutine mit Schritt 140 wird in einem weiteren Schritt 146 überprüft, ob die Adresse der Steuergerätefunktion in der Pointertabelle vorhanden ist. Ist dies der Fall, erfolgt in einem Schritt 148 der Start für den Funktionsbypass und es wird in einem Schritt 150 der Bypass-Funktionscode ausgeführt. In einem Schritt 152 endet die Ausführung des Bypass-Funktionscodes. Anschließend endet in einem Schritt 154 ebenso die Ausführung der Bypass-Dienstroutine.After starting the bypass service routine Step 140 checks in a further step 146 whether the Address of the control unit function exists in the pointer table. If so, it is done in a step 148 the start for the function bypass and in a step 150 it becomes the bypass function code executed. The execution of the bypass function code ends in a step 152. Subsequently The execution of the bypass service routine likewise ends in a step 154.
Wird in dem Schritt 146 festgestellt, daß die Adresse der Steuergerätefunktion in der Pointertabelle nicht vorhanden ist, erfolgt mit Schritt 154 die Beendigung des Ablaufs der Bypass-Dienstroutine.It is determined in step 146 that the address of the ECU function is in the pointer table If the bypass service routine is ended, step 154 ends.
Nach Beendigung der Bypass-Dienstroutine in Schritt 154 wird in einem Schritt 156 überprüft, ob die Bypass-Ausführung plausibel ist. Ist dies der Fall, erfolgt ein Sprung zu Schritt 144. Anderenfalls erfolgt ein Sprung zu Schritt 142.After the bypass service routine has ended in step 154 it is checked in a step 156 whether the bypass execution is plausible is. If this is the case, a jump is made to step 144. Otherwise there is a jump to step 142.
In der Figur ist mit einem ersten
Feld
Wie die Darstellung verdeutlicht, befindet sich in der Steuergerätefunktion der Bypass-Freischnitt. Die Bypass-Dienstroutine wird durch einen Softwareschalter über das Applikationssystem aktiviert. Dieser wird als Parameter die Adresse der aufgerufenen Steuergerätefunktion übergeben. Dann wird mit einem Suchalgorithmus in der Bypass-Pointertabelle nach dem übergebenen Parameterwert gesucht. Für den Fall, daß keine vergleichbare Adresse gefunden werden kann oder daß die Tabelle leer ist, wird auch keine Bypass-Funktion aufgerufen. Befindet sich eine passende Adresse in der Tabelle, wird über den zugeordneten Funktionspointer die Bypass-Funktion aktiviert. Dann kommt in der Bypass-Funktion die neue Steuergeräte-Funktionalität zum Einsatz. Nach erfolgreicher Beendigung dieser Aktion, liefert die Dienstroutine ein "OK" an die Steuergerätefunktion zurück und der eigentliche Steuergerätecode wird umgangen. Im Fehlerfall jedoch wird dieser ausgeführt.As the illustration shows, is in the control unit function the bypass free cut. The bypass service routine is controlled by a software switch Application system activated. This becomes the address as a parameter transfer the called control unit function. Then a search algorithm is used in the bypass pointer table the handed over Parameter value searched. For the case that none comparable address can be found or that the table is empty, no bypass function is called. Is located a suitable address in the table is given via the assigned function pointer the bypass function is activated. Then comes in the bypass function the new control unit functionality. After successful completion of this action, the service routine delivers an "OK" to the control unit function back and the actual control unit code is bypassed. In the event of an error, however, this is carried out.
Mit Schritt 176 beginnt der Vorgang. Anschließend wird in einem Schritt 178 überprüft, ob der Schalter für die Bypass-Aktivierung gesetzt ist. Ist dies der Fall, startet in einem Schritt 180 die Bypass-Dienstroutine. Ist dies nicht der Fall bleibt die Steuergerätegröße unverändert (Schritt 182). In einem Schritt 184 wird dann der Steuergerätefunktionscode ausgeführt und in Schritt 186 die Aktion beendet.The process begins at step 176. Subsequently it is checked in a step 178 whether the Switch for the bypass activation is set. If so, start in a step 180 the bypass service routine. This is not the case the control unit size remains unchanged (step 182). Then in a step 184 the control unit function code accomplished and in step 186 the action ends.
Nach Start der Bypass-Dienstroutine in Schritt 180 wird in Schritt 188 überprüft, ob die Adresse der Steuergerätegröße in der Pointertabelle vorhanden ist. Ist die Größe in der Tabelle vorhanden, beginnt in Schritt 190 die Ausführung der Bypass-Funktion für den Einzelgrößenbypass. In Schritt 192 erfolgt dann die Ausführung des Bypass-Funktionscodes. In Schritt 194 wird als Rückgabewert der berechnete Bypass-Wert übergeben und in Schritt 196 endet die Ausführung der Bypass-Funktion. Der Rückgabewert ist gleich dem Rückgabewert der Bypass-Funktion (Schritt 198). In Schritt 200 endet dann die Ausführung der Bypass-Dienstroutine.After starting the bypass service routine in step 180 it is checked in step 188 whether the address of the control unit size in the Pointer table exists. If the size is in the table, execution begins in step 190 the bypass function for the single size bypass. The bypass function code is then executed in step 192. In step 194, the return value transfer the calculated bypass value and in step 196 the execution of the bypass function ends. The return value is equal to the return value the bypass function (Step 198). The execution of the then ends in step 200 Bypass service routine.
Wird in Schritt 188 festgestellt, daß die Adresse der Steuergerätegröße nicht in der Pointertabelle vorhanden ist, wird als Rückgabewert der Parameterwert übergeben (Schritt 202) und anschließend mit Schritt 200 die Ausführung der Bypass-Dienstroutine beendet.If it is determined in step 188 that the Control unit size address not exists in the pointer table, the parameter value is transferred as the return value (step 202) and then execution with step 200 the bypass service routine ends.
Nach Beendigung der Bypass-Dienstroutine in Schritt 200 wird in Schritt 204 die Steuergerätegröße gleich dem Rückgabewert der Bypass-Dienstroutine gesetzt und mit Schritt 184 fortgefahren.After the bypass service routine has ended in step 200, in step 204, the control unit size becomes the return value the bypass service routine is set and proceeded to step 184.
Zusätzlich sind in der Darstellung
mit einem Feld
Wie die Figur verdeutlicht, funktioniert der Einzelgrößenbypass prinzipiell ähnlich wie der Funktionsbypass. In einer Steuergerätefunktion befindet sich ein Bypass-Freischnitt. Die Bypass-Dienstroutine wird durch einen Softwareschalter über das Applikationssystem aktiviert. Dieser wird als Parameter die Adresse der zu manipulierenden Steuergerätegröße übergeben. Dann wird durch einen Suchalgorithmus in der Bypass-Pointertabelle nach dem übergebenen Parameterwert gesucht. Wird keine vergleichbare Adresse gefunden oder ist die Tabelle leer, wird auch keine Bypass-Funktion aufgerufen. Befindet sich eine passende Adresse in der Tabelle, wird über den zugeordneten Funktionspointer die Bypass-Funktion aktiviert. In der Bypass-Funktion kommt dann die neue Steuergerätefunktionalität zum Einsatz.As the figure shows, it works the single size bypass basically similar like the functional bypass. One is in a control unit function Bypass breakpoint. The bypass service routine is controlled by a software switch Application system activated. This becomes the address as a parameter the control unit size to be manipulated. Then by a search algorithm in the bypass pointer table after the given Parameter value searched. If no comparable address is found or if the table is empty, no bypass function is called. If there is a suitable address in the table, use the assigned function pointer activated the bypass function. In the new control unit functionality is then used for the bypass function.
Nach erfolgreichem Abschluß dieser Aktion, liefert die Bypass-Funktion einen Rückgabewert an die Dienstroutine. Der Rückgabewert wird an die Steuergerätefunktion weitergegeben. Mit diesem wird anschließend die entsprechende RAM-Zelle beschrieben. Im Fehlerfall ist der Rückgabewert der Dienstroutine der übergebene Parameterwert, weshalb sich der Wert der Steuergerätegröße nicht ändert.After successful completion of this Action, the bypass function delivers a return value to the service routine. The return value is to the control unit function passed. The corresponding RAM cell is then used with this described. In the event of an error, the return value is the service routine the passed parameter value, which is why the value of the control unit size does not change.
Die Bypass-Funktion für den Funktionsbypass ist wie eine herkömmliche Steuergerätefunktion aufgebaut. Der Zugriff auf Projektgrößen erfolgt typischerweise über Referenzen auf die zu lesenden bzw. die zu manipulierenden Steuergerätegrößen. Darüber hinaus ist die Bypass-Funktion ausgelegt, Bibliotheksfunktionen, wie regelungstechnische Übertragungsglieder und Interpolationsroutinen, oder Applikationsdaten aus der Projekt-Software zu verwenden. Projektgrößen können nur durch deren Adressen, nicht aber durch das Label, dem Bypass zugänglich gemacht werden.The bypass function for the functional bypass is like a conventional one Control unit function built up. Project sizes are typically accessed via references on the control unit sizes to be read or manipulated. Furthermore the bypass function is designed, library functions such as control technology transmission elements and interpolation routines, or application data from the project software to use. Project sizes can only made accessible to the bypass by their addresses, but not by the label become.
Nachfolgend ist beispielhaft eine Bypass-Funktion für den Funktionsbypass aufgeführt: A bypass function for the function bypass is shown below as an example:
Die Bypass-Funktion für den Einzelgrößenbypass ist ähnlich aufgebaut. Einziger Unterschied ist, daß die Funktion einen typisierten Rückgabewert hat. Des weiteren wird der Rückgabewert auf die entsprechende Steuergerätegröße zurückgeschrieben.The bypass function for single size bypass is similar built up. The only difference is that the function is a typed one return value Has. Furthermore, the return value written back to the corresponding control unit size.
Nachfolgend ist beispielhaft eine Bypass-Funktion für den Einzelgrößenbypass aufgeführt:The following is an example Bypass function for the single size bypass listed:
In Schritt 210 beginnt der Vorgang.
In Schritt 212 wird überprüft, ob Bit
Wird in Schritt 212 festgestellt,
daß Bit
Beim Bypass-Freischnitt für den Funktionsbypass befindet sich in einer Steuergerätefunktion ein Bypass-Freischnitt. Dieser Freischnitt ist ein Schaltergerüst aus Kenngrößen, die über das Applikationssystem geändert werden können. Dadurch wird die Codesequenz für den Bypass aktiviert. Als Wert liefert die Dienstroutine den Status der Bypass-Ausführung zurück, der im Freischnitt plausibilisiert wird.With the bypass free cut for the functional bypass is in a control unit function a bypass free cut. This free cut is a switch framework made up of parameters that are available via the Application system changed can be. This will make the code sequence for activated the bypass. The service routine supplies the status as a value the bypass version, the is checked for plausibility in free cutting.
Nachfolgend ist ein Beispiel einer Steuergerätefunktion mit Bypass-Freischnitt für den Funktionsbypass gegeben: void zwstt l0ms(void) The following is an example of a control unit function with bypass clearance for the functional bypass: void zwstt l0ms (void)
In
Wird in Schritt 232 festgestellt,
daß Bit
Der Aufbau des Freischnitts beim Einzelgrößenbypass ist ähnlich demjenigen beim Funktionsbypass. Einziger Unterschied ist, daß die Dienstroutine den Wert aus der Bypass-Funktion auf die entsprechende Steuergerätegröße in der Steuergerätefunktion schreibt.The structure of the free cut at Single size bypass is similar the one with the function bypass. The only difference is that the service routine the value from the bypass function to the corresponding control unit size in the Control unit function writes.
Nachfolgend ist noch ein Beispiel einer Steuergerätefunktion mit Bypass-Freischnitt für den Einzelgrößenbypass aufgeführt: An example of a control unit function with bypass free cut for single size bypass is listed below:
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002135610 DE10235610A1 (en) | 2002-08-02 | 2002-08-02 | Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002135610 DE10235610A1 (en) | 2002-08-02 | 2002-08-02 | Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10235610A1 true DE10235610A1 (en) | 2004-02-19 |
Family
ID=30469400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002135610 Withdrawn DE10235610A1 (en) | 2002-08-02 | 2002-08-02 | Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10235610A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004027033A1 (en) * | 2004-03-15 | 2005-10-13 | Dspace Gmbh | Influencing device for control units |
EP1876525A1 (en) * | 2006-07-03 | 2008-01-09 | Siemens Aktiengesellschaft | Method for modifying controller software |
CN102645899A (en) * | 2012-03-15 | 2012-08-22 | 南宁珞德信息技术有限公司 | Window type action stream editing system of optical-electromechanical integrated equipment |
WO2017084779A1 (en) * | 2015-11-19 | 2017-05-26 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method for operating a control device and for external bypassing of a configured control device |
-
2002
- 2002-08-02 DE DE2002135610 patent/DE10235610A1/en not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004027033A1 (en) * | 2004-03-15 | 2005-10-13 | Dspace Gmbh | Influencing device for control units |
DE102004027033B4 (en) * | 2004-03-15 | 2009-07-02 | Dspace Digital Signal Processing And Control Engineering Gmbh | Influence device for control devices and method for influencing a control device |
US8645918B2 (en) | 2004-03-15 | 2014-02-04 | Dspace Digital Signal Processing And Control Engineering Gmbh | Influencing device for control apparatus |
EP1876525A1 (en) * | 2006-07-03 | 2008-01-09 | Siemens Aktiengesellschaft | Method for modifying controller software |
CN102645899A (en) * | 2012-03-15 | 2012-08-22 | 南宁珞德信息技术有限公司 | Window type action stream editing system of optical-electromechanical integrated equipment |
CN102645899B (en) * | 2012-03-15 | 2016-03-09 | 南宁珞德信息技术有限公司 | Window type optical, mechanical and electronic integration device action stream editing system |
WO2017084779A1 (en) * | 2015-11-19 | 2017-05-26 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method for operating a control device and for external bypassing of a configured control device |
CN108139723A (en) * | 2015-11-19 | 2018-06-08 | 帝斯贝思数字信号处理和控制工程有限公司 | For running the controller of the method for controller and setting for external bypass |
US10684600B2 (en) | 2015-11-19 | 2020-06-16 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method for operating a control device and for external bypassing of a configured control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1176482B1 (en) | Method and computer program for generating a regulation or control system | |
DE3855475T2 (en) | Software management structure | |
DE69932371T2 (en) | Movable instrumentation tags for testing and troubleshooting a computer program | |
DE3750515T2 (en) | Method for controlling access to a database. | |
DE3783042T2 (en) | SYSTEM FOR AUTOMATING TESTS. | |
EP0502857B1 (en) | Process for dynamically linking definable programme elements of an interactive data-processing system | |
DE102005026040B4 (en) | Parameterization of a simulation working model | |
EP1723513B1 (en) | Method for configuring a computer program | |
DE19836333A1 (en) | Software installation and testing for a computer system built to order | |
DE102016119320A1 (en) | Method for configuring a real or virtual electronic control unit | |
EP1268996A2 (en) | Method and device for modelling a mechatronic system in a motor vehicle | |
DE69123493T2 (en) | Processing method and device to create a file name from a logical to a correct name | |
DE10360035B4 (en) | Embedded controllers, methods, and development tool for embedded controllers | |
DE102008006648A1 (en) | Simulator development system and simulator development process | |
DE60002455T2 (en) | METHOD AND DEVICE FOR AUTOMATIC SOFTWARE TESTING | |
EP1674954A1 (en) | System and method for reusing of design related data | |
DE102005018074A1 (en) | Test sequencer and method for managing and executing sequence elements | |
DE10038499A1 (en) | Formal verifying method for development in data processor involves executing verification algorithm using one limit of signal envelope, and limiting state-space search by using verification algorithm | |
DE19924702A1 (en) | Determining global register conflicts in a computer program uses unitary data structure to evaluate the global registers | |
EP1682950A1 (en) | Method and device for stimulating functions for controlling operational processes | |
DE10324594A1 (en) | Method for providing improved simulation capabilities of a dynamic system outside of the original modeling environment | |
DE10235610A1 (en) | Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation | |
DE102006060322A1 (en) | Method for automatic testing of simulation models for software functions, involves copying one or multiple objects from simulation model on basis of selection criteria | |
DE10228610A1 (en) | Method for testing of a control program running on a computer unit, especially an engine control unit, whereby a dynamic link is created between a bypass function and the control program so that computer data can be accessed | |
DE102008048862A1 (en) | Test module and method for testing an O / R imaging middleware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |