DE102017200161A1 - Verfahren zum Erfassen von Signalen - Google Patents

Verfahren zum Erfassen von Signalen Download PDF

Info

Publication number
DE102017200161A1
DE102017200161A1 DE102017200161.5A DE102017200161A DE102017200161A1 DE 102017200161 A1 DE102017200161 A1 DE 102017200161A1 DE 102017200161 A DE102017200161 A DE 102017200161A DE 102017200161 A1 DE102017200161 A1 DE 102017200161A1
Authority
DE
Germany
Prior art keywords
signals
subset
program
measured
nodes
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.)
Pending
Application number
DE102017200161.5A
Other languages
English (en)
Inventor
Jochen Quante
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017200161.5A priority Critical patent/DE102017200161A1/de
Priority to US15/847,002 priority patent/US20180196090A1/en
Priority to JP2018000366A priority patent/JP2018113033A/ja
Priority to CN201810014801.1A priority patent/CN108287695A/zh
Publication of DE102017200161A1 publication Critical patent/DE102017200161A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/25Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques
    • G01R19/2506Arrangements for conditioning or analysing measured signals, e.g. for indicating peak values ; Details concerning sampling, digitizing or waveform capturing
    • G01R19/2509Details concerning sampling, digitizing or waveform capturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Recording Measured Values (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zum Erfassen von Signalen eines Steuergeräts, mit den Schritten eines Ermittelns (S100) eines Programmabhängigkeitsgraphen aus einem Programm des Steuergerätes, dessen Knoten die Berechnungsschritte des Programms sind, aus denen Signale erhalten werden und dessen Kanten die Daten- und/oder Kontrollabhängigkeiten zwischen den Berechnungsschritten sind; eines Definierens (S101) einer Signalmenge, die eine erste Teilmenge an zu messenden Signalen und eine zweite Teilmenge an abhängigen Signalen umfasst; eines Zuordnens (S102) von Knoten zu der ersten Teilmenge unter der Bedingung, dass ein Knoten dann ein zu messendes Signal darstellt, wenn ein Knoten an einer eingehenden Kante des Knotens außerhalb der Signalmenge liegt, eines Messens (S103) der Signale der ersten Teilmenge; und eines Berechnens (S104) der Signale der zweiten Teilmenge auf Basis der gemessenen Signale der ersten Teilmenge.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Erfassen von Signalen eines Steuergeräts und ein entsprechendes Steuergerät.
  • Um Effekte reproduzieren zu können, die in einem Steuergerät auftreten, werden während der Laufzeit des Steuergerätes interne Signale aufgezeichnet. Diese Signalverläufe können dann mittels einer Analysesoftware visualisiert und ausgewertet werden.
  • Dabei ist die Anzahl der mitgeschriebenen Signale oder Variablen begrenzt, da der Speicherbedarf mit der Anzahl zu messender Signale linear wächst. Damit wächst zum einen der Speicher- und Kommunikationsbedarf zur Laufzeit, zum anderen wächst auch das Volumen der zu übermittelnden Daten. Folglich kann nur ein Bruchteil aller verfügbaren Signale aufgezeichnet werden. Zudem können nur bestimmte Signale gemessen werden, wie beispielsweise Nachrichten und Messpunkte. Insbesondere können keine lokalen Größen gemessen werden, da diese keine feste Adresse im Steuergerät haben.
  • Bei der Analyse der Messungen kann es daher vorkommen, dass benötigte Signale nicht in der Messdatei enthalten sind. In diesem Fall wird eine neue Messung unter Einbeziehung der fehlenden Signale angefordert. Dadurch entsteht ein erheblicher Aufwand für die Messung wie auch für die anschließende Kommunikation sowie die verzögerte Verfügbarkeit. Die Auswahl der aufzuzeichnenden Signale erfolgt derzeit manuell und hängt somit stark von der Erfahrung des Messenden ab.
  • Ein erster Aspekt betrifft ein Verfahren zum Erfassen von Signalen eines Steuergeräts, mit den Schritten eines Ermittelns eines Programmabhängigkeitsgraphen aus einem Programm des Steuergerätes, dessen Knoten die Berechnungsschritte des Programms sind, aus denen Signale erhalten werden und dessen Kanten die Daten- und/oder Kontrollabhängigkeiten zwischen den Berechnungsschritten sind; eines Definierens einer Signalmenge, die eine erste Teilmenge an zu messenden Signalen und eine zweite Teilmenge an abhängigen Signalen umfasst; eines Zuordnens von Knoten zu der ersten Teilmenge unter der Bedingung, dass ein Knoten dann ein zu messendes Signal darstellt, wenn ein weiterer Knoten an einer eingehenden Kante des Knotens außerhalb der Signalmenge liegt; eines Messens der Signale der ersten Teilmenge; und eines Berechnens der Signale der zweiten Teilmenge auf Basis der gemessenen Signale der ersten Teilmenge. Durch das Verfahren wird eine minimale Anzahl an Signalen gemessen, durch die anschließend die vollständige Rekonstruktion aller weiteren Signale durchgeführt wird. Damit wird zum einen der Datenumfang der Messung verringert, zum anderen wird sichergestellt, dass alle für eine Auswertung benötigten Signale verfügbar sind. Zusätzlich können Zwischengrößen verfügbar gemacht werden, die momentan nicht messbar sind. Dadurch wird die Menge an tatsächlich zu messenden Signalen effizient reduziert.
  • In einer technisch vorteilhaften Ausführungsform des Verfahrens werden die Knoten der zweiten Teilmenge unter der Bedingung zugeordnet, dass die Knoten an allen eingehenden Kanten innerhalb der Signalmenge berechenbar sind. Dadurch wird beispielsweise der technische Vorteil erreicht, dass ein alternatives Entscheidungskriterium zur Zuordnung verwendet werden kann und die ursprüngliche Zuordnung überprüft werden kann.
  • In einer weiteren technisch vorteilhaften Ausführungsform des Verfahrens wird das Zuordnen für alle Knoten innerhalb der Signalmenge durchgeführt. Dadurch wird beispielsweise der technische Vorteil erreicht, dass sich alle Knoten eindeutig der einen oder anderen Teilmenge zuordnen lassen.
  • In einer weiteren technisch vorteilhaften Ausführungsform des Verfahrens wird der Programmabhängigkeitsgraph statisch oder dynamisch aus dem Programm ermittelt. Im Falle einer statischen Ermittlung wird beispielsweise der technische Vorteil erreicht, dass sich die Zeit zum Durchführen des Verfahrens vermindert. Im Falle einer dynamischen Ermittlung wird beispielsweise der technische Vorteil erreicht, dass stets ein aktueller Programmabhängigkeitsgraph ermittelt werden kann, beispielsweise nach einem Programmupdate des Steuergerätes.
  • In einer weiteren technisch vorteilhaften Ausführungsform des Verfahrens werden die gemessenen Signale in einem Messprotokoll gespeichert. Dadurch wird beispielsweise der technische Vorteil erreicht, dass die abhängigen Signale zu einem späteren Zeitpunkt oder an einer anderen Stelle berechnet werden können.
  • In einer weiteren technisch vorteilhaften Ausführungsform des Verfahrens wird das Messprotokoll in einem nicht-flüchtigen Speicher gespeichert. Dadurch wird beispielsweise der technische Vorteil erreicht, dass die abhängigen Signale auch nach einer Unterbrechung der Stromversorgung weiterhin berechnet werden können.
  • In einer weiteren technisch vorteilhaften Ausführungsform des Verfahrens beruht der Schritt des Messens auf einem Erfassen eines Stromes oder einer Spannung des jeweiligen Signals an dem jeweiligen Berechnungsschritt. Dadurch wird beispielsweise der technische Vorteil erreicht, dass geeignete Signale zur Weiterberechnung erhalten werden. Das Steuergerät kann eine Schnittstelle umfassen, um diese Daten zu erfassen. Beispielsweise kann ein Speicher an den denjenigen Speicherstellen auslesen werden, die die Signale umfassen.
  • Ein zweiter Aspekt betrifft ein Steuergerät, mit einer Ermittlungseinrichtung zum Ermitteln eines Programmabhängigkeitsgraphen aus einem Programm des Steuergerätes, dessen Knoten die Berechnungsschritte des Programms sind, aus denen Signale erhalten werden und dessen Kanten die Daten- und/oder Kontrollabhängigkeiten zwischen den Berechnungsschritten sind; einer Definitionsschnittstelle zum Definieren einer Signalmenge, die eine erste Teilmenge an zu messenden Signalen und eine zweite Teilmenge an abhängigen Signalen umfasst; einer Zuordnungseinrichtung zum Zuordnen von Knoten zu der ersten Teilmenge unter der Bedingung, dass ein Knoten dann ein zu messendes Signal darstellt, wenn ein Knoten an einer eingehenden Kante des Knotens außerhalb der Signalmenge liegt; einem Messwerkzeug zum Messen der Signale der ersten Teilmenge; und einer Berechnungseinrichtung zum Berechnen der Signale der zweiten Teilmenge auf Basis der gemessenen Signale der ersten Teilmenge. Durch das Steuergerät werden die gleichen technischen Vorteile wie durch Verfahren nach dem ersten Aspekt erreicht.
  • In einer technisch vorteilhaften Ausführungsform des Steuergerätes umfasst das Steuergerät einen nicht-flüchtigen Speicher zum Speichern eines Messprotokolls der gemessenen Signale. Dadurch wird beispielsweise der technische Vorteil erreicht, dass der vollständige Satz an Signalen auch zu einem späteren Zeitpunkt berechnet werden kann.
  • Ein dritter Aspekt betrifft ein Computerprogramm, das in den Speicher eines digitalen Computers geladen werden kann und das Softwarecodeabschnitte umfasst, mit denen das Verfahren nach dem ersten Aspekt ausgeführt werden kann, wenn das Computerprogramm auf einem Computer läuft. Durch das Computerprogramm werden die gleichen technischen Vorteile wie durch Verfahren nach dem ersten Aspekt erreicht.
  • Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden im Folgenden näher beschrieben.
  • Es zeigen:
    • 1 ein Blockdiagramm eines Verfahrens;
    • 2 einen Programmabhängigkeitsgraphen;
    • 3 eine schematische Ansicht eines Steuergerätes; und
    • 4 einen Ablauf des Verfahrens.
  • 1 zeigt ein Blockdiagramm eines Verfahrens zum Erfassen von Signalen eines Steuergerätes. Das Steuergerät ist beispielsweise ein Steuergerät zur Motorsteuerung, das potentiell eine Vielzahl von Messgrößen erfassen kann. Ein Programm des Steuergerätes dient zur Auswertung und Weiterverarbeitung dieser Messgrößen. Das Programm berechnet aus einer Vielzahl von Eingangssignalen ein oder mehrere Ausgangssignale in einer Vielzahl von Berechnungsschritten. Jeder Berechnungsschritt erzeugt somit als Ausgabe ein weiteres internes Signal, das durch einen weiteren Berechnungsschritt weiterverarbeitet wird.
  • Im Allgemeinen kann das Steuergerät zur Steuerung jeder anderen Vorrichtung dienen. Das Programm des Steuergerätes lässt sich durch einen Programmabhängigkeitsgraphen (Program Dependence Graph) abbilden. Die Ermittlung von zu erfassenden Signalen des Steuergerätes erfolgt auf Basis dieses Programmabhängigkeitsgraphen. Anhand des Programmabhängigkeitsgraphen kann automatisch bestimmt werden, welche Signale für die Berechnung einer gegebenen Menge an abhängigen Signalen bekannt sein müssen.
  • Im Schritt S100 wird dazu zunächst der Programmabhängigkeitsgraph aus dem Programm des Steuergerätes ermittelt. Die Knoten des Programmabhängigkeitsgraphen stellen die internen Berechnungsschritte des Programms dar, aus denen die jeweiligen Signale erhalten werden. Die Kanten des Programmabhängigkeitsgraphen stellen die Daten- und/oder Kontrollabhängigkeiten zwischen den Berechnungsschritten dar.
  • In Schritt S101 wird eine Signalmenge definiert, die eine erste Teilmenge an zu messenden Signalen und eine zweite Teilmenge an abhängigen Signalen umfasst. Die Signale der zweiten Teilmenge lassen sich aus den Signalen der ersten Teilmenge berechnen.
  • In Schritt S102 werden Knoten des Programmabhängigkeitsgraphen zu der ersten Teilmenge unter der Bedingung zugeordnet, dass ein Knoten dann ein zu messendes Signal darstellt, wenn ein untergeordneter Knoten an einer eingehenden Kante des Knotens außerhalb der Signalmenge liegt und der Knoten daher eine unberechenbare Kante aufweist.
  • In Schritt S103 werden die Signale der ersten Teilmenge mittels eines geeigneten Messwerkzeuges gemessen. Anschließend werden in Schritt S104 die Signale der zweiten Teilmenge auf Basis der gemessenen Signale der ersten Teilmenge berechnet. Dies ist möglich, da die Abhängigkeiten zwischen den Signalen der ersten Teilmenge und den Signalen der zweiten Teilmenge bekannt sind.
  • Zum einen wird dadurch die Anzahl der zu messenden Signale minimiert, zum anderen wird sichergestellt, dass trotzdem alle benötigten Informationen erhalten werden. Dadurch wird das technische Problem gelöst, dass zum einen bei einer späteren Auswertung keine Signale fehlen und somit keine unnötigen Mehrfachmessungen und Rekursionen benötigt werden. Zum anderen kann der Umfang der gemessenen Signale durch den Programmabhängigkeitsgraphen verringert werden. Ein weiterer technischer Vorteil ist die Verfügbarkeit von bisher nicht messbaren Zwischengrößen.
  • 2 zeigt einen beispielhaften Programmabhängigkeitsgraph 101 des Steuergerätes 100 mit Datenabhängigkeiten durch Kanten 105 zwischen den Knoten 103. Der Programmabhängigkeitsgraph 101 wird auf Grundlage eines Kontrollflussgraphen der einzelnen Berechnungsschritte des Programms konstruiert. Die Knoten 103 stellen demnach Berechnungsschritte für Signale 109 des Programms des Steuergerätes 100 dar.
  • Die Knoten 103 des Kontrollflussgraphen bilden zugleich die Knoten 103 des Programmabhängigkeitsgraphen 100. Die Ausgabesignale des Knotens 103-3 sind demnach von den Eingabesignalen der Knoten 103-1 und 103-2 abhängig. Aus der Interpretation der Bedeutung der den Knoten 103 zugehörigen Berechnungsschritte durch einen Programminterpreter können zwei Arten von Abhängigkeiten zwischen den Knoten 103 abgeleitet werden.
  • Zwischen zwei Knoten 103-1 und 103-3 existiert eine Datenabhängigkeit, wenn der andere Knoten 103-3 eine Variable benutzt, die bei dem einen Knoten 103-1 mit einem Wert belegt worden ist und im Kontrollflussgraphen ein Pfad von dem einen Knoten 103-1 zu dem anderen Knoten 103-3 existiert, ohne dass der Variable erneut ein Wert zugewiesen wird.
  • Zwischen zwei Knoten 103-1 und 103-3 existiert eine Kontrollabhängigkeit, wenn ein Knoten 103-1 die Ausführung des anderen Knotens 103-3 bestimmt. In diesem Fall existiert im Kontrollflussgraphen ein Pfad von dem einen Knoten 103-1 zu dem anderen Knoten 103-3 und der eine Knoten 103-1 ist ein Kontrollflussknoten. Bei strukturierten Programmen sind beispielsweise die Berechnungsschritte nach einer Bedingung (If-Anweisung) oder einem Schleifenkörper abhängig von der vorangestellten Bedingung. Die vorangestellte Bedingung stellt daher einen Kontrollflussknoten dar, von dem die weitere Ausführung des Programms abhängt. Bei Programmen mit beliebigen Sprüngen sind weitere Fälle zu berücksichtigen.
  • Somit beschreibt der Programmabhängigkeitsgraph 101 die Abhängigkeiten zwischen einzelnen Berechnungsschritten des Programms. Ein Knoten 103, d.h. ein Berechnungsschritt für ein internes Signal, ist berechenbar, wenn die Knoten 103 an allen eingehenden Kanten berechenbar 103 sind. Durch die einzelnen Berechnungsschritte des Programms werden interne Signale 109 als Ausgabe des jeweiligen Berechnungsschrittes gewonnen.
  • Die Knoten 103 des Programmabhängigkeitsgraphen 101 stellen die einzelnen Berechnungsschritte des Programms dar und die Kanten 105 des Programmabhängigkeitsgraphen 101 stellen die Daten- und Kontrollabhängigkeiten zwischen den Berechnungsschritten dar. Die Berechnungsschritte umfassen beispielsweise jeweils eine Multiplikation, eine Division, eine Subtraktion, eine Addition, eine ODER-Verknüpfung, eine UND-Verknüpfung oder jede andere Rechenoperation, bei der aus Eingangswerten ein oder mehrere Ausgangswerte berechnet werden. Mittels des Programmabhängigkeitsgraphen 101 kann die Effizienz der Signalerfassung gesteigert werden.
  • Zunächst wird die Signalmenge 107 aller gewünschten, zu erhaltenden Signale 109 spezifiziert. Diese Spezifikation der Menge der gewünschten Signale 109 kann von einem Benutzer durchgeführt werden. Zum einen umfasst diese Signalmenge 107 eine Teilmenge 111 an Knoten 103, d.h. Berechnungsschritten, deren Signale 109 nicht berechnet werden können, da die Abhängigkeiten der Knoten 103 außerhalb der gewählten Signalmenge 107 liegen. Zum anderen umfasst diese Signalmenge 107 eine Teilmenge 113 an Knoten 103, deren Signale 109 aufgrund der bekannten Abhängigkeiten innerhalb der Signalmenge 107 berechnet werden können.
  • Für den Programmabhängigkeitsgraphen 101 gilt, dass ein Knoten 103, d.h. ein Berechnungsschritt, dann berechenbar ist, wenn die Knoten 103 an allen eingehenden Kanten 105 berechenbar sind. Durch Verfolgen der Kanten im Programmabhängigkeitsgraph 101 lässt sich demnach bestimmen, ob ein Knoten 103 zu der Teilmenge 111 oder der Teilmenge 113 gehört. Ist ein Knoten 103 nicht an allen eingehenden Kanten berechenbar, so gehört dieser Knoten zur Teilmenge 111. Ist ein Knoten an allen eingehenden Kanten berechenbar, so gehört dieser zur Teilmenge 113.
  • Nach der Zuordnung der Knoten 103 zu den einzelnen Teilmengen 111 und 113, werden die Signale 109 der Knoten 103 der einen Teilmenge 111 explizit gemessen, da diese nicht berechenbar sind. Die Signale 109 der Knoten 103 der anderen Teilmenge 113 werden berechnet, da die hierzu erforderlichen Abhängigkeiten bekannt sind.
  • Der Programmabhängigkeitsgraph 101 wird daher verwendet, um aus der Menge 107 der gewünschten Signale 109 die optimale Teilmenge 111 der zu messenden Signale 109 zu ermitteln. Dann wird die eigentliche Messung dieser Signale 109 der ersten Teilmenge 111 durchgeführt. Danach wird der Programminterpreter genutzt, um die nun noch fehlenden abhängigen Signale 109 der zweiten Teilmenge 113 aus den gemessenen Signalen 109 der Teilmenge 111 zu berechnen.
  • Dadurch wird der technische Vorteil erreicht, dass eine minimale Anzahl an Signalen 109 gemessen werden kann, aus der aber dennoch anschließend die vollständige Rekonstruktion aller übrigen Signale 109 durchgeführt wird
  • Unter Belegung der gemessenen Signale 109 ist der Programminterpreter in der Lage, die abhängigen Signale 109 der Teilmenge 113 aus den gemessenen Signalen 109 der Teilmenge 111 zu ermitteln, soweit die jeweiligen Eingangsgrößen vollständig bekannt sind. Für Programmteile des Programms, die nicht belegte Eingänge enthalten, kann der Programminterpreter kein Ergebnis ermitteln. Insofern wird das Programm mittels partieller Evaluation so weit interpretiert, wie dies unter der gegebenen Variablenbelegung möglich ist.
  • 3 zeigt eine schematische Ansicht des Steuergerätes 100. Das Steuergerät 100 umfasst eine Ermittlungseinrichtung 401 zum Ermitteln des Programmabhängigkeitsgraphen 101 aus dem Programm 115 des Steuergerätes 100. Die Ermittlung des Programmabhängigkeitsgraphen 101 aus dem Programm 115 des Steuergerätes 100 kann einmalig statisch erfolgen oder dynamisch nach einer Aktualisierung des Programms 115.
  • Eine Definitionsschnittstelle 403 des Steuergerätes 100 dient zum Definieren der gewünschten Signalmenge 107, die die erste Teilmenge 111 an zu messenden Signalen 109 und die zweite Teilmenge 113 an abhängigen Signalen 109 umfasst. Die Definitionsschnittstelle 403 ist beispielsweise durch eine elektronische Schnittstelle oder eine Programmschnittstelle gebildet.
  • Eine Zuordnungseinrichtung 405 dient zum Zuordnen von Knoten 103 des Programmabhängigkeitsgraphen 101 innerhalb der Signalmenge 107 zu der ersten Teilmenge 111 unter der Bedingung, dass ein Knoten 103 dann ein zu messendes Signal 109 darstellt, wenn mindestens ein untergeordneter Knoten 103 an einer eingehenden Kante 105 des Knotens 103 außerhalb der Signalmenge 107 liegt und daher nicht berechnet werden kann.
  • Ein Messwerkzeug 407 des Steuergerätes 100 dient zum Messen der Signale 109 der ersten Teilmenge 111. Zu diesem Zweck greift das Messwerkzeug die Signale 109 an geeigneten Stellen ab, beispielsweise nach den jeweiligen Programmschritten oder innerhalb einer elektronischen Schaltung. Eine Berechnungseinrichtung 409 des Steuergerätes 100 dient zum Berechnen der Signale 109 der zweiten Teilmenge 113 auf Basis der gemessenen Signale 109 der ersten Teilmenge 111.
  • Die Ermittlungseinrichtung 401, die Definitionsschnittstelle 403, die Zuordnungseinrichtung 405, das Messwerkzeug 407 und die Berechnungseinrichtung 409 können durch festverdrahtete digitale Schaltungen gebildet sein, die angepasst sind, die jeweiligen Funktionen auszuführen, wie beispielsweise anwendungsspezifische integrierte Schaltungen (ASIC - Application-Specific Integrated Circuit). Die Ermittlungseinrichtung 401, die Definitionsschnittstelle 403, die Zuordnungseinrichtung, das Messwerkzeug 407 und die Berechnungseinrichtung 409 können jedoch auch durch Programmodule implementiert sein, die mittels eines Prozessors des Steuergerätes 100 ausgeführt werden.
  • 4 zeigt einen Ablauf des Verfahrens zum Erfassen von Signalen 109-0 durch das Steuergerät 100. Eine Optimierung 413 ermittelt unter Zuhilfenahme des Programmabhängigkeitsgraphen 101 die optimale Teilmenge 111 der tatsächlich zu messenden Signale 109-1. Der Programmabhängigkeitsgraph 101 wird dazu zuvor einmalig aus dem Programm 115 des Steuergerätes 100 abgeleitet. Bei der eigentlichen Messung werden mittels einer geeigneten Messapparatur 407 die entsprechenden Signale 109-1 während des Betriebs des Steuergeräts 100 aufgezeichnet.
  • Vom Programminterpreter 415 werden dann die zusätzlich gewünschten, aber nicht gemessenen Signale 109-2 berechnet und ergänzt. Dazu wird der Programminterpreter 415 auf dem Programm 115 des Steuergerätes 100 mit den gemessenen Signalen 109-1 ausgeführt. Dadurch können alle Werte der abhängigen Signale 109-2 berechnet werden. Darunter sind entsprechend einer Konstruktion aus dem Programmabhängigkeitsgraphen 101 auch alle gewünschten Messpunkte.
  • Dadurch kann ein Benutzer stets die Messwerte zu genau den angeforderten Signalen 109-0 erhalten. Die vorliegende Erfindung kombiniert die Technologie eines Programminterpreters 415 und eines Programmabhängigkeitsgraphs 101 mit Messungen an dem Steuergerät 100, um diese zu optimieren. Mittels des Steuergerätes 100 ist eine vollständige Ableitung aller gewünschten Signale 109 der Signalmenge 107 effizient mittels des Programminterpreters 415 möglich. Anschließend interpretiert ein Programminterpreter das Programm 115 des Steuergerätes 100 unter partieller Variablenbelegung.
  • Für die Berechnung einer minimalen Teilmenge 111 zu messender Signale 109 kann folgender Algorithmus zur Anwendung kommen:
    1. 1. Als Eingabe erfolgt die benutzer-vorgegebene Eingabe der Signalmenge 107 der angeforderten Signale 109, die gemessen werden soll, beispielsweise alle Signale 109 einer Funktion.
    2. 2. Für jeden einzelnen Knoten 103 im Programmabhängigkeitsgraph 101 sind folgende Markierungen möglich (auch in Kombination):
      1. a. Messung gewünscht (aus Anforderung)
      2. b. Messung möglich (ist gegeben)
      3. c. Berechnung möglich
      4. d. Wert benötigt (entweder durch Messung oder durch Berechnung)
      5. e. Messung notwendig als Ergebnis des Algorithmus.
      Anfänglich ist im Programmabhängigkeitsgraph 101 des Steuergerätes 100 kein Knoten 103 markiert.
    3. 3. Die gewünschten oder benötigten Signale 109 werden im Programmabhängigkeitsgraphen 101 als 2.a) und 2.d) markiert.
    4. 4. Die messbaren Signale 109 werden im Programmabhängigkeitsgraphen als 2.b) markiert.
    5. 5. Die Berechenbarkeit von nicht messbaren Knoten 103 wird wie folgt sichergestellt. Für jeden nicht messbaren gewünschten Knoten 103, d.h. für den 2.a) und nicht 2.b) gilt:
      1. a. Verfolge die Kanten 105 im Programmabhängigkeitsgraphen 101 in Rückwärts-Richtung.
      2. b. Markiere alle erreichbaren Knoten 103 als 2.d), endend bei messbaren Knoten 2.b).
    6. 6. Entferne unnötige Messpunkte wie folgt. Für jeden messbaren und benötigten Knoten 103, d.h. für den 2.b) und 2.d) gilt:
      1. a. Wenn alle Eingangskanten 105 zu mit 2.b) und 2.d) markierten Knoten 103 des Programmabhängigkeitsgraphs 101 - auch transitiv - über mehrere Kanten 105 führen, dann markiere den Knoten 103 als 2.c).
    7. 7. Optional kann eine weitere Optimierung der Teilmenge 111 zu messender Knoten 103 mittels des Programmabhängigkeitsgraphen 101 erfolgen, um optimierte Messpunkte 417 zu erhalten.
    8. 8. Alle Knoten 103, die mit 2.b) und 2.d) und nicht 2.c) markiert sind, werden anschließend mit 2.e) markiert. Diese Knoten 103 stellen im Programmabhängigkeitsgraph 101 die Teilmenge 111 der zu messenden Knoten 103 und damit der zu messenden Signale 109-1 dar.
  • Diese zu messenden Signale 109-1 werden durch ein Messwerkzeug 407 tatsächlich gemessen und ein entsprechendes Messprotokoll 411 erstellt, wie beispielsweise eine elektronische Datei. Die elektronische Datei kann eine Abfolge von Messpunkten umfassen und in dem Steuergerät 100 gespeichert werden. Auf Basis dieses Messprotokolls 411 lassen sich die abgeleiteten Signale 109-2 aus den gemessenen Signalen 109-1 berechnen.
  • Das Messwerkzeug 407 umfasst beispielsweise eine oder Strommessschaltungen zum Messen eines Stromes oder Spannungsmessschaltungen zum Messen einer Spannung. Das Messwerkzeug 407 kann auch zum Auslesen eines wahlfreien Zugriffsspeichers (RAM - Random Access Memory) verwendet werden, in dem die Signale 109 in digitaler Form abgelegt sind. Die Signale 109 können auch in einem nicht-flüchtigen Speicher abgelegt sein, wie beispielsweise einer Festplatte oder einem USB-Stick, damit diese auch nach einer Unterbrechung einer Stromversorgung erhalten bleiben.
  • Durch seine Konstruktion stellt dieser Algorithmus auf dem Programmabhängigkeitsgraph 101 sicher, dass tatsächlich alle gewünschten Signale 109-2 durch den Programminterpreter 109 aus den gemessenen Signalen 109-1 berechenbar sind. Bei der Ableitung des Programmabhängigkeitsgraphen 101 können Schleifen ausgerollt werden und Funktionsaufrufe bei Bedarf eingesetzt werden, d.h. durch ihre Implementierung ersetzt werden.
  • Das Verfahren kann in allen Bereichen Einsatz finden, in denen Messdaten an laufenden Steuergeräten 100 erfasst werden. Dies betrifft insbesondere Funktionsentwickler und Applikateure. Vor allem in der Kommunikation dieser Gruppen kann die Erfindung helfen, die Abläufe zu verbessern und zu beschleunigen, indem ein vollständiges Erfassen aller benötigten Signale 109 mit verringertem technischem Aufwand und effizient gewährleistet wird.
  • Das in 4 dargestellte Verfahren verdeutlicht eine beispielhafte Ausführungsform des Verfahrens mit den entsprechenden Hauptkomponenten und wie diese Hauptkomponenten dazu beitragen, das technische Problem der Messung einer minimalen Anzahl an Signalen und einer Verringerung der Datenmenge zu lösen.
  • Der Schutzbereich der vorliegenden Erfindung ist jedoch durch die Ansprüche gegeben und wird durch die in der Beschreibung erläuterten oder den Figuren gezeigten Merkmale nicht beschränkt. Daher kann das Verfahren im Rahmen der Ansprüche weiter verbessert werden, um die Effizienz des Verfahrens zu erhöhen.
  • Alle in Verbindung mit einzelnen Ausführungsformen der Erfindung erläuterten und gezeigten Merkmale können in unterschiedlicher Kombination in dem erfindungsgemäßen Gegenstand vorgesehen sein, um gleichzeitig deren vorteilhafte Wirkungen zu realisieren.

Claims (10)

  1. Verfahren zum Erfassen von Signalen (109) eines Steuergeräts (100), mit den Schritten: - Ermitteln (S100) eines Programmabhängigkeitsgraphen (101) aus einem Programm (115) des Steuergerätes (100), dessen Knoten (103) die Berechnungsschritte des Programms (115) sind, aus denen Signale (109) erhalten werden und dessen Kanten (105) die Daten- und/oder Kontrollabhängigkeiten zwischen den Berechnungsschritten sind; - Definieren (S101) einer Signalmenge (107), die eine erste Teilmenge (111) an zu messenden Signalen (109) und eine zweite Teilmenge (113) an abhängigen Signalen (109) umfasst; - Zuordnen (S102) von Knoten (103) zu der ersten Teilmenge (111) unter der Bedingung, dass ein Knoten (103) dann ein zu messendes Signal (109) darstellt, wenn ein weiterer Knoten (103) an einer eingehenden Kante (105) des Knotens außerhalb der Signalmenge (107) liegt; - Messen (S103) der Signale (109-1) der ersten Teilmenge (111); und - Berechnen (S104) der Signale (109-2) der zweiten Teilmenge (113) auf Basis der gemessenen Signale (109-1) der ersten Teilmenge (111).
  2. Verfahren nach Anspruch 1, wobei die Knoten (103) der zweiten Teilmenge (113) unter der Bedingung zugeordnet werden, dass die Knoten (103) an allen eingehenden Kanten (105) innerhalb der Signalmenge berechenbar sind.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Zuordnen für alle Knoten (103) innerhalb der Signalmenge (107) durchgeführt wird.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei der Programmabhängigkeitsgraph (101) statisch oder dynamisch aus dem Programm (115) ermittelt wird.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei die gemessenen Signale (109) in einem Messprotokoll (411) gespeichert werden.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei das Messprotokoll (411) in einem nicht-flüchtigen Speicher gespeichert wird.
  7. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt (S103) des Messens auf einem Erfassen eines Stromes oder einer Spannung des jeweiligen Signals (109) an dem jeweiligen Berechnungsschritt beruht.
  8. Steuergerät (100), mit: - einer Ermittlungseinrichtung (401) zum Ermitteln eines Programmabhängigkeitsgraphen (101) aus einem Programm (115) des Steuergerätes (100), dessen Knoten (103) die Berechnungsschritte des Programms (115) sind, aus denen Signale (109) erhalten werden und dessen Kanten (105) die Daten- und/oder Kontrollabhängigkeiten zwischen den Berechnungsschritten sind; - einer Definitionsschnittstelle (403) zum Definieren einer Signalmenge (107), die eine erste Teilmenge (111) an zu messenden Signalen (109) und eine zweite Teilmenge (113) an abhängigen Signalen (109) umfasst; - einer Zuordnungseinrichtung (405) zum Zuordnen von Knoten (103) zu der ersten Teilmenge (111) unter der Bedingung, dass ein Knoten (103) dann ein zu messendes Signal (109) darstellt, wenn ein weiterer Knoten (103) an einer eingehenden Kante (105) des Knotens außerhalb der Signalmenge (107) liegt, - einem Messwerkzeug (407) zum Messen der Signale (109-1) der ersten Teilmenge (111); und - einer Berechnungseinrichtung (409) zum Berechnen der Signale (109-2) der zweiten Teilmenge (113) auf Basis der gemessenen Signale (109-1) der ersten Teilmenge (111).
  9. Steuergerät (100) nach Anspruch 8, wobei das Steuergerät (100) einen nicht-flüchtigen Speicher zum Speichern eines Messprotokolls (411) der gemessenen Signale (109) umfasst.
  10. Computerprogramm, das in den Speicher eines digitalen Computers geladen werden kann und das Softwarecodeabschnitte umfasst, mit denen das Verfahren nach einem der Ansprüche 1 bis 7 ausgeführt werden kann, wenn das Computerprogramm auf dem Computer läuft.
DE102017200161.5A 2017-01-09 2017-01-09 Verfahren zum Erfassen von Signalen Pending DE102017200161A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102017200161.5A DE102017200161A1 (de) 2017-01-09 2017-01-09 Verfahren zum Erfassen von Signalen
US15/847,002 US20180196090A1 (en) 2017-01-09 2017-12-19 Method for acquiring signals
JP2018000366A JP2018113033A (ja) 2017-01-09 2018-01-05 信号を収集する方法
CN201810014801.1A CN108287695A (zh) 2017-01-09 2018-01-08 用于检测信号的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017200161.5A DE102017200161A1 (de) 2017-01-09 2017-01-09 Verfahren zum Erfassen von Signalen

Publications (1)

Publication Number Publication Date
DE102017200161A1 true DE102017200161A1 (de) 2018-07-12

Family

ID=62636867

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017200161.5A Pending DE102017200161A1 (de) 2017-01-09 2017-01-09 Verfahren zum Erfassen von Signalen

Country Status (4)

Country Link
US (1) US20180196090A1 (de)
JP (1) JP2018113033A (de)
CN (1) CN108287695A (de)
DE (1) DE102017200161A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004014290A1 (de) * 2004-03-24 2005-10-06 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren zur Erstellung von Abläufen zum Testen einer Software
DE102010014720A1 (de) * 2010-04-12 2011-12-15 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren zum Verifizieren eines aus einem Quellmodell generierten Zielprogramms

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08292881A (ja) * 1995-04-24 1996-11-05 Nec Corp プログラム影響範囲表示装置
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
US6094729A (en) * 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
GB2389432B (en) * 2002-06-07 2005-09-07 Advanced Risc Mach Ltd Instruction tracing in data processing systems
JP2004070420A (ja) * 2002-08-01 2004-03-04 Matsushita Electric Ind Co Ltd トレースデータ記憶装置
JP2005165653A (ja) * 2003-12-02 2005-06-23 Hitachi Ltd 情報処理装置の障害情報採取システム
JP2009129179A (ja) * 2007-11-22 2009-06-11 Toshiba Corp プログラム並列化支援装置およびプログラム並列化支援方法
US8214795B2 (en) * 2008-11-26 2012-07-03 Optumsoft, Inc. Efficient automated translation of procedures in constraint-based language
US8762960B2 (en) * 2009-09-30 2014-06-24 Freescale Semiconductor, Inc. Software probe minimization
JP5741066B2 (ja) * 2011-03-01 2015-07-01 株式会社デンソー 車両用データ記録装置
JP2012221031A (ja) * 2011-04-05 2012-11-12 Toyota Motor Corp 車両データ取得装置及び車両データ取得方法
CN102231134A (zh) * 2011-07-29 2011-11-02 哈尔滨工业大学 基于静态分析的冗余代码缺陷检测方法
CN102937933A (zh) * 2012-11-14 2013-02-20 中国矿业大学 基于测试级的类测试顺序确定方法
FR3001807B1 (fr) * 2013-02-07 2016-06-10 Renault Sa Methode de determination de la tension moyenne des cellules d'une batterie notamment une batterie haute tension pour vehicule electrique
CN103309805B (zh) * 2013-04-24 2015-09-16 南京大学镇江高新技术研究院 xUnit框架下面向对象软件中测试目标的自动化选择方法
JP6217212B2 (ja) * 2013-07-25 2017-10-25 富士通株式会社 テストプログラム、テスト方法及びテスト装置
FR3014616B1 (fr) * 2013-12-05 2016-01-08 Continental Automotive France Procede de regulation d'une commande d'un actionneur electrique de wastegate par mesure du courant traversant l'actionneur electrique
WO2016130542A1 (en) * 2015-02-10 2016-08-18 The Trustees Of Columbia University In The City Of New York Code relatives detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004014290A1 (de) * 2004-03-24 2005-10-06 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren zur Erstellung von Abläufen zum Testen einer Software
DE102010014720A1 (de) * 2010-04-12 2011-12-15 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren zum Verifizieren eines aus einem Quellmodell generierten Zielprogramms

Also Published As

Publication number Publication date
JP2018113033A (ja) 2018-07-19
US20180196090A1 (en) 2018-07-12
CN108287695A (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
DE112016002298T5 (de) Vorabruf von gewichten zur verwendung in einem neuronalen netzwerkprozessor
EP2442248B1 (de) Kopplungsmethodik für nicht-iterative Co-Simulation
EP2799983B1 (de) Flexible Aufteilung der I/O Kanäle einer Hardware Komponente
DE10039538A1 (de) Vorrichtung und Methode zum Analysieren der Leistung eines Computerprogramms
DE102017210692A1 (de) Lebensdauerbestimmungsvorrichtung; Lebensdauerbestimmungsverfahren, und Programm für Schneidwerkzeug
DE102018126429A1 (de) Bearbeitungsbedingungsanpassungsvorrichtung und Maschinenlernvorrichtung
DE102019124404A1 (de) Optimierungsvorrichtung für ein neuronales Netzwerk und Optimierungsverfahren für ein neuronales Netzwerk
DE102018003245A1 (de) Numerische Steuereinrichtung
CN111143143A (zh) 一种性能测试方法及装置
WO2022179996A1 (de) Vorhersagen eines bevorstehenden auftretens einer funktionsstörung anhand einer log-daten analyse
DE112013004307T5 (de) Systeme und Verfahren für eine zustandsbasierte Testfallgenerierung zur Software-Validierung
DE102017200161A1 (de) Verfahren zum Erfassen von Signalen
DE10015286A1 (de) System, Verfahren und Produkt mit Computerbefehlssatz zum automatischen Abschätzen experimenteller Ergebnisse
DE10003101A1 (de) Nebenbedingungs-Erzeugungsvorrichtung für Logiksynthese und Nebenbedingungs-Erzeugungsverfahren dafür
DE102019127426A1 (de) Entfernung von Wellenform-DC-Störung
EP3001318A1 (de) Bestimmung von Signalen für Readback aus FPGA
DE102019101391A1 (de) Bearbeitungszeitvorhersageeinheit
DE102018217014A1 (de) Dynamische Qualifizierung von Nutzdaten
DE2102935A1 (de) Verfahren und Vorrichtung zur Be Stimmung der Leistungsfähigkeit von Maschinenprogrammen
WO2020259819A1 (de) Akustische analyse eines zustands einer maschine
DE112020005639B4 (de) Zuweisungsvorrichtung, lernvorrichtung, ableitungsvorrichtung, zuweisungsverfahren und zuweisungsprogramm
DE112021008086T5 (de) Zustandserfassungssystem, zustandserfassungsverfahren und zustandserfassungsprogramm
DE102018128640A1 (de) Vorrichtung zur Einschätzung einer Rauscherzeugungsursache
DE68911719T2 (de) Verfahren und Vorrichtung, die schlechte Leistung eines Rechnersystemes diagnostisiert.
WO2018141435A1 (de) Verfahren und vorrichtung zum zuweisen von geräteressourcen

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed