DE102015215068A1 - Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem - Google Patents

Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem Download PDF

Info

Publication number
DE102015215068A1
DE102015215068A1 DE102015215068.2A DE102015215068A DE102015215068A1 DE 102015215068 A1 DE102015215068 A1 DE 102015215068A1 DE 102015215068 A DE102015215068 A DE 102015215068A DE 102015215068 A1 DE102015215068 A1 DE 102015215068A1
Authority
DE
Germany
Prior art keywords
output
buffer
control device
variable
selection signal
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.)
Ceased
Application number
DE102015215068.2A
Other languages
English (en)
Inventor
Markus Breitfelder
Simon Tobias Eder
Ralph Mader
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.)
Continental Automotive GmbH
Original Assignee
Continental Automotive 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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE102015215068.2A priority Critical patent/DE102015215068A1/de
Priority to PCT/EP2016/068681 priority patent/WO2017021506A1/de
Publication of DE102015215068A1 publication Critical patent/DE102015215068A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es wird ein Verfahren zum Betreiben einer Steuervorrichtung (1) für ein Fahrzeug angegeben. Die Steuervorrichtung (1) umfasst einen globalen Speicher (G), einen Datenkonsistenzpuffer (D) und einen Ausgabepuffer und ist ausgebildet, mehrere Rechenprozesse (T) zeitgleich und/oder kooperativ und/oder präemptiv abzuarbeiten. Bei dem Verfahren wird eine Ausgabeabfolge bereitgestellt, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen (T) verwendeten Variablen. Es werden ein erstes Auswahlsignal, das repräsentativ ist für wenigstens eine in dem Ausgabepuffer bereitzustellende Variable der in den Rechenprozessen (T) verwendeten Variablen, sowie ein zweites Auswahlsignal bereitgestellt, das repräsentativ ist für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable. Abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal wird ein Rechenprozessausgabezeitpunkt (M1) der jeweiligen bereitzustellenden Variable aus der Ausgabeabfolge ausgewählt und abhängig von dem ausgewählten Rechenprozessausgabezeitpunkt (M1) die jeweilige bereitzustellende Variable während einer vorgegebenen Ausgabezeitdauer aus dem Datenkonsistenzpuffer (D) oder dem globalen Speicher (G) in den Ausgabepuffer kopiert. Es wird ferner ein Diagnosesystem (10) angegeben.

Description

  • Es wird ein Verfahren zum Betreiben einer Steuervorrichtung für ein Fahrzeug angegeben. Es wird ferner ein Diagnosesystem angegeben.
  • Die Aufgabe, die der Erfindung zugrunde liegt, ist es, ein Verfahren zum Betreiben einer Steuervorrichtung für ein Fahrzeug sowie ein korrespondierendes Diagnosesystem zu schaffen, das eine zuverlässige und effiziente Funktionsvalidierung der Steuervorrichtung ermöglicht.
  • Die Aufgabe wird gelöst durch die unabhängigen Patentansprüche. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen gekennzeichnet.
  • Gemäß einem ersten Aspekt betrifft die Erfindung ein Verfahren zum Betreiben einer Steuervorrichtung für ein Fahrzeug. Die Steuervorrichtung umfasst einen globalen Speicher, einen Datenkonsistenzpuffer und einen Ausgabepuffer und ist ausgebildet, mehrere Rechenprozesse zeitgleich und/oder kooperativ und/oder präemptiv abzuarbeiten.
  • Bei dem Verfahren wird eine Ausgabeabfolge bereitgestellt, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen verwendeten Variablen.
  • Des Weiteren wird ein erstes Auswahlsignal bereitgestellt, das repräsentativ ist für wenigstens eine in dem Ausgabepuffer bereitzustellende Variable der in den Rechenprozessen verwendeten Variablen. Es wird ferner ein zweites Auswahlsignal bereitgestellt, das repräsentativ ist für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable.
  • Abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal wird ein Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable aus der Ausgabeabfolge ausgewählt. Abhängig von dem ausgewählten Rechenprozessausgabezeitpunkt wird die jeweilige bereitzustellende Variable während einer vorgegebenen Ausgabezeitdauer aus dem Datenkonsistenzpuffer oder dem globalen Speicher in den Ausgabepuffer kopiert.
  • Das Verfahren ermöglicht ein automatisiertes Auslesen der jeweiligen bereitzustellenden Variable, wobei eine Datenkonsistenz bei Betreiben der Steuervorrichtung gewährleistet werden kann. Insbesondere wird in diesem Zusammenhang dazu beigetragen, dass ein Wert der jeweiligen bereitzustellenden Variable mit einem Wert übereinstimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wird bzw. wurde. In vorteilhafter Weise wird so zu einer zuverlässigen Funktionsvalidierung der Steuervorrichtung beigetragen.
  • Bei der Steuervorrichtung kann es sich insbesondere um einen Mehrkernprozessor handeln, der ausgebildet ist mehrere Rechenprozesse gleichzeitig abzuarbeiten. Die Rechenprozesse umfassen jeweils wenigstens eine ausführbare Funktion (engl. „Runable“), die jeweils Eingangs-, Zwischen- und Ausgangswerte aufweisen können. Die Eingangs-, Zwischen und Ausgangswerte sind in einem jeweiligen Speicher der Steuervorrichtung, insbesondere dem globalen Speicher und/oder dem Datenkonsistenzpuffer gespeichert und werden hier und im Folgenden als Variablen bezeichnet. Die Variablen werden in anderen Worten bei Abarbeitung der Rechenprozesse verwendet.
  • Bei dem globalen Speicher handelt es sich beispielsweise um einen Speicherbereich der Steuervorrichtung, der von allen Rechenprozessen bzw. ausführbaren Funktionen ausgelesen und/oder beschrieben werden kann. Bei dem Datenkonsistenzpuffer handelt es sich beispielsweise um einen Speicherbereich der Steuervorrichtung, der einzelne Pufferabschnitte umfasst, die jeweils einer Variable eines Rechenprozesses oder Funktion zugewiesen werden können, und lediglich zur Laufzeit des jeweiligen Rechenprozesses oder der jeweiligen Funktion ausgelesen und/oder beschrieben werden kann. Nach Abarbeitung des jeweiligen Rechenprozesses oder der jeweiligen Funktion kann dieser Pufferabschnitt beispielsweise freigegeben werden. Bei dem Ausgabepuffer handelt es sich beispielsweise um einen Speicherbereich der Steuervorrichtung, der beispielsweise zyklisch über eine Kommunikationsschnittstelle der Steuervorrichtung ausgegeben und/oder beispielhaft durch eine Diagnoseeinheit ausgelesen werden kann. Beispielsweise umfasst die Diagnoseeinheit in diesem Zusammenhang eine Anzeigevorrichtung, über die die auszugebende Variable einem Anwender angezeigt werden kann.
  • In vorteilhafter Weise kann einem Anwender die auszugebende Variable dabei automatisiert, also insbesondere ohne manuelles Setzen von Haltepunkten zuverlässig angezeigt werden, so dass zu einer besonders einfachen und effizienten Funktionsvalidierung der Steuervorrichtung beigetragen wird.
  • Bei einer Konfigurationszeit des Verfahrens, also beispielsweise bei einem Kompilationsvorgang eines Programms zur Durchführung des Verfahrens, können die möglichen Rechenprozessausgabezeitpunkte von in den Rechenprozessen verwenden Variablen ermittelt werden. Insbesondere können diese dann zur Laufzeit des Programms als Ausgabeabfolge bereitgestellt werden.
  • Zu einer Laufzeit des Programms können ferner das erste Auswahlsignal sowie das zweite Auswahlsignal bereitgestellt werden. Beispielsweise kann die Steuervorrichtung hierzu signaltechnisch mit einer Diagnoseeinheit gekoppelt sein, über die ein Anwender eine auszugebende Variable sowie den gewünschten Rechenprozessausgabezeitpunkt der auszugebenden bzw. bereitzustellenden Variable festlegt.
  • Diese bereitzustellende Variable wird dann während der vorgegebenen Ausgabezeitdauer in den Ausgabepuffer der Steuervorrichtung kopiert. Die vorgegebene Ausgabezeitdauer bezeichnet dabei eine Zeitdauer, in der sowohl das Kopieren in den Ausgabepuffer durchgeführt wird, als auch eine Pufferkopierfunktion (sogenanntes „Fill/Flush“) durchgeführt wird, also eine Kopie der jeweiligen Variable von dem globalen Speicher in den Datenkonsistenzpuffer oder umgekehrt.
  • Das Kopieren der Variable in den Datenkonsistenzpuffer dient dabei insbesondere einer Datenkonsistenz im Falle einer Unterbrechung des Rechenprozesses oder einer gleichzeitigen Verwendung der Variable durch einen weiteren Rechenprozess. Insbesondere kann dies der Fall bei mehreren Produzenten sein, also im Falle, dass mehrere Rechenprozesse bzw. Funktionen innerhalb des Rechenprozesses den Wert der Variable verändern.
  • Der Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable kann auch als sogenannter „Alternative Sample Point“ bezeichnet werden.
  • In einer vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird ein durch die vorgegebene Ausgabezeitdauer umfasster Abschnitt des jeweiligen Rechenprozesses unterbrechungsfrei abgearbeitet. Dies leistet einen zusätzlichen Beitrag, dass der Wert der jeweiligen bereitzustellenden Variable mit dem Wert übereinstimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wird bzw. wurde. Das Programm zur Durchführung des Verfahrens kann in diesem Zusammenhang eine geschützte Ausgabezeitdauer umfassen (engl. „Exclusive Area“).
  • In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird während der vorgegebenen Ausgabezeitdauer die jeweilige bereitzustellende Variable aus dem globalen Speicher in den Ausgabepuffer und anschließend in den Datenkonsistenzpuffer kopiert.
  • In vorteilhafter Weise kann die bereitzustellende Variable somit vor dem Kopieren in den Datenkonsistenzpuffer bereitgestellt werden, so dass ein Rechenprozess, welcher den Wert dieser Variable verwendet und gegebenenfalls verändert, keinen Einfluss auf den Wert der bereitzustellenden Variable nimmt. Insbesondere wird so dazu beigetragen, dass der Wert der bereitzustellenden Variable mit dem Wert übereinstimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wird. Die Variable stellt in diesem Zusammenhang insbesondere einen Eingangswert des jeweiligen Rechenprozesses bzw. der in dem Rechenprozess ausgeführten Funktion dar. Das Kopieren der jeweiligen Variable in den Datenkonsistenzpuffer kann auch als sogenannte „Fill-Routine“ bezeichnet werden.
  • In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den Ausgabepuffer in den Datenkonsistenzpuffer kopiert.
  • In vorteilhafter Weise kann die vorgegebene Ausgabezeitdauer so besonders kurz gehalten werden. Dies ermöglicht einen sicheren und effizienten Betrieb der Steuervorrichtung, insbesondere im Falle, dass die vorgegebene Ausgabezeitdauer unterbrechungsfrei abgearbeitet wird.
  • In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird während der vorgegebenen Ausgabezeitdauer die jeweilige bereitzustellende Variable aus dem Datenkonsistenzpuffer in den globalen Speicher und anschließend in den Ausgabepuffer kopiert.
  • In vorteilhafter Weise kann die bereitzustellende Variable somit nach dem Kopieren in den globalen Speicher bereitgestellt werden, so dass ein Einfluss auf den Wert der bereitzustellenden Variable berücksichtigt werden kann, beispielsweise durch einen Rechenprozess, welcher den Wert dieser Variable verwendet und gegebenenfalls verändert. Insbesondere wird so dazu beigetragen, dass der Wert der bereitzustellenden Variable mit dem Wert übereinstimmt, der bei der Abarbeitung des jeweiligen Rechenprozesses verwendet wurde. Die Variable stellt in diesem Zusammenhang insbesondere einen Ausgangswert des jeweiligen Rechenprozesses bzw. der in dem Rechenprozess ausgeführten Funktion dar. Das Kopieren der jeweiligen Variable in den globalen Speicher kann auch als sogenannte „Flush-Routine“ bezeichnet werden.
  • In einer weiteren vorteilhaften Ausgestaltung gemäß dem ersten Aspekt wird die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den globalen Speicher in den Ausgabepuffer kopiert.
  • In vorteilhafter Weise kann die vorgegebene Ausgabezeitdauer so besonders kurz gehalten werden. Dies ermöglicht einen sicheren und effizienten Betrieb der Steuervorrichtung, insbesondere im Falle, dass die vorgegebene Ausgabezeitdauer unterbrechungsfrei abgearbeitet wird.
  • Gemäß einem zweiten Aspekt zeichnet sich die Erfindung aus durch ein Diagnosesystem. Das Diagnosesystem umfasst eine Steuervorrichtung und eine Diagnoseeinheit, die signaltechnisch mit der Steuervorrichtung gekoppelt ist.
  • Die Diagnoseeinheit ist ausgebildet, der Steuervorrichtung ein erstes Auswahlsignal bereitzustellen. Das erste Auswahlsignal ist repräsentativ für wenigstens eine bereitzustellende Variable, die bei Betreiben der Steuervorrichtung verwendet wird.
  • Die Diagnoseeinheit ist ferner ausgebildet, der Steuervorrichtung ein zweites Auswahlsignal bereitzustellen. Das zweite Auswahlsignal ist repräsentativ für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen Variable. Die Diagnoseeinheit ist ferner ausgebildet, in einem Ausgabepuffer der Steuervorrichtung gespeicherte Daten auszulesen. In vorteilhafter Weise ermöglicht dies eine einfache Funktionsvalidierung der Steuervorrichtung.
  • Die Diagnoseeinheit kann insbesondere mit einer Mess-, Kalibrier- und Diagnosesoftware wie INCA (Integrated Calibration and Application Tool) betrieben werden. In diesem Zusammenhang kann das Diagnosesystem auch als Messsystem bezeichnet werden.
  • In einer vorteilhaften Ausgestaltung gemäß dem zweiten Aspekt ist die Steuervorrichtung ausgebildet, ein Verfahren gemäß dem ersten Aspekt durchzuführen.
  • Ausführungsbeispiele sind im Folgenden anhand der schematischen Zeichnungen näher erläutert.
  • Es zeigen:
  • 1 ein schematisch dargestelltes Diagnosesystem,
  • 2 eine Ablaufsequenz bei einem Betreiben einer Steuervorrichtung gemäß 1, und
  • 3 ein Ablaufdiagramm zum Betreiben der Steuervorrichtung gemäß 1.
  • Elemente gleicher Konstruktion oder Funktion sind figurenübergreifend mit den gleichen Bezugszeichen versehen.
  • 1 zeigt Diagnosesystem 10 für eine Steuervorrichtung 1 für ein Fahrzeug, umfassend eine Diagnoseeinheit 3, welche signaltechnisch mit der Steuervorrichtung 1 gekoppelt ist.
  • Die Steuervorrichtung 1 ist als Mehrkernprozessor ausgebildet, der mehrere Kerne C1, C2 umfasst (vergleiche 2). Bei den Kernen C1, C2 handelt es sich insbesondere um Rechenkerne der Steuervorrichtung 1. In diesem Ausführungsbeispiel umfasst die Steuervorrichtung 1 zwei Kerne C1, C2. In anderen Ausführungsbeispielen kann eine Anzahl der Kerne C1, C2 der Steuervorrichtung 1 hiervon abweichen, und diese insbesondere übersteigen.
  • Die Steuervorrichtung 1 ist ausgebildet, mehrere Rechenprozesse T präemptiv und/oder kooperativ und/oder gleichzeitig abzuarbeiten. In 1 ist ferner ein solcher prinzipieller Ablauf eines Rechenprozesses T dargestellt. Die Rechenprozesse T umfassen jeweils wenigstens eine ausführbare Funktion R1, R2, R3, R4, R5, R6, die jeweils Eingangs-, Zwischen- und Ausgangswerte aufweisen können. Gegebenenfalls werden, wie in diesem Ausführungsbeispiel, Daten für Software Algorithmen, beispielsweise zum Betreiben des Fahrzeugs, in Pufferspeicher kopiert, um eine Datenkonsistenz sicher zu stellen. Der Steuervorrichtung 1 ist in diesem Zusammenhang ein Datenkonsistenzpuffer D zugeordnet. Bei dem Datenkonsistenzpuffer D handelt es sich insbesondere um einen rechenprozessindividuellen Pufferspeicher (sogenannter „Task individual buffer“). Ferner ist der Steuervorrichtung 1 ein globaler Speicher G zugeordnet. Bei dem globalen Speicher G handelt es sich insbesondere um sogenannten „Global Data RAM“.
  • Um zu verhindern, dass eine Übermittlung der Daten an die Diagnoseeinheit 3 am Ende eines Rechenprozesses T nicht den Wert anzeigt, den der Software Algorithmus als Eingangswert gesehen hat, bzw. dass ein Ausgabewert im Falle von mehreren Produzenten von dem Wert am Ende der relevanten Berechnung abweicht, könnte beispielsweise durch geeignetes Setzen von Haltepunkten am Softwaretestplatz der Wert der Variable zum richtigen Zeitpunkt ermittelt werden. Mangelns realistischer Stimulation kann es jedoch dazu kommen, dass der Betriebspunkt am Softwaretestplatz nicht eingestellt werden kann.
  • In diesem Ausführungsbeispiel ist die Steuergerätesoftware daher so instrumentiert, dass zu den in Frage kommenden Zeitpunkten eine Übertragung der relevanten globalen Daten an die Diagnoseeinheit 3 erfolgen kann. Zwischen den einzelnen ausführbaren Funktionen R1...R6 können Pufferkopierfunktionen (Fill/Flush) aufgerufen werden. Bei einer Fill-Routine L handelt es sich um einen Kopiervorgang, bei dem eine Variable aus dem globalen Speicher G ausgelesen und in den Datenkonsistenzpuffer D kopiert wird. Bei einer Flush-Routine S handelt es sich um einen Kopiervorgang, bei dem eine Variable aus dem Datenkonsistenzpuffer D in den globalen Speicher G geschrieben wird. Ein derartiges Vorgehen kann auch als Datenkonsistenzpufferverfahren bezeichnet werden.
  • 2 zeigt eine beispielhafte Ablaufsequenz über die Zeit t bei Betreiben der Steuervorrichtung 1 gemäß 1. Auf den Kernen C1, C2 der Steuervorrichtung 1 wird jeweils ein Rechenprozess T1, T2 ausgeführt. In dem globalen Speicher G ist einer Variable „var“ beispielsweise der Wert „2“ zugeordnet. Dieser Wert wird von der ausführbaren Funktion R1 des Rechenprozesses T1 verwendet. In diesem Zusammenhang wird der Wert „2“ durch die Fill-Routine L1 in einen Datenkonsistenzpuffer D1 kopiert, und als Eingangswert E1 der ausführbaren Funktion R1 genutzt. Im Falle, dass es wichtig ist den Wert der Variable “var”, der dem Algorithmus in R1 übergeben wurde, beispielsweise durch die Diagnoseeinheit 3 zu sehen, muss eine Ausgabe mit Rechenprozessausgabezeitpunkt M1 (sogenannter „Alternative Sample Point“) genau vor dem Kopieren in den Datenkonsistenzpuffer D1 erfolgen. Der Rechenprozessausgabezeitpunkt M1 übergibt den Wert „2“, der durch die ausführbare Funktion R1 genutzt wird.
  • Des Weiteren wird der Wert „2“ durch die Fill-Routine L2 in einen Datenkonsistenzpuffer D2 kopiert, und als Eingangswert E2 der ausführbaren Funktion R2 genutzt. Die ausführbare Funktion R2 gibt als Ausgabewert A2 den Wert „3“ aus und schreibt diesen in den Datenkonsistenzpuffer D2. Anschließend wird der Wert „3“ durch die Flush-Routine S2 in den globalen Speicher G kopiert. Ein sogenanntes „End of cylce“ Ereignis M2 übergibt den Wert „3“, der durch die ausführbare Funktion R2 erneuert wurde.
  • Die Steuervorrichtung 1 umfasst insbesondere einen Daten- und Programmspeicher, in dem Schritte des Verfahrens als Programm gespeichert sind, wie es im Folgenden anhand des Ablaufdiagramms der 3 näher erläutert ist.
  • Das Programm wird in einem Schritt P1 gestartet. Beispielsweise wird in dem Schritt P1 eine Ausgabeabfolge bereitgestellt, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen T verwendeten Variablen. Die relevanten Zeitpunkte sind durch das Datenkonsistenzpufferverfahren vorgegeben. Ferner wird in dem Schritt P1 insbesondere ein erstes Auswahlsignal, das repräsentativ ist für eine in dem Ausgabepuffer bereitzustellende Variable, und ein zweites Auswahlsignal bereitgestellt, das repräsentativ ist für einen gewünschten Rechenprozessausgabezeitpunkt der Variable. Die Auswahl des Rechenprozessausgabezeitpunktes („Alternative Sample Point“) und der Daten erfolgt durch das Diagnosesystem 10 vom Anwender. Das Programm wird anschließend in einem Schritt P3 fortgesetzt.
  • In dem Schritt P3 werden abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal ein Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable aus der Ausgabeabfolge, also den durch das Datenkonsistenzpufferverfahren vorgegebenen Zeitpunkten ausgewählt. Das Programm wird anschließend in einem Schritt P5 fortgesetzt.
  • In dem Schritt P5 wird eine Pufferkopierfunktion aufgerufen. So werden vor der Ausführung einer Software-Funktion die Daten in einen Datenkonsistenzpuffer D kopiert. Das Kopieren erfolgt beispielsweise in einer vor Unterbrechung geschützten vorgegebenen Ausgabezeitdauer, sogenannten „Exclusive Areas“ der Programmausführung. Abhängig von dem ausgewählten Rechenprozessausgabezeitpunkt werden die durch den Anwender ausgewählten, zur Ausgabe bereitzustellenden Variablen während der vorgegebenen Ausgabezeitdauer in einen Ausgabepuffer kopiert und durch die Diagnoseeinheit 3 ausgelesen.
  • Ein durch die vorgegebene Ausgabezeitdauer umfasster Abschnitt des jeweiligen Rechenprozesses wird dabei unterbrechungsfrei abgearbeitet. Jede dieser Exclusive Areas wird mit einer Instrumentierung versehen. Die Instrumentierung befindet sich für Abschnitte, die das Kopieren in den Datenkonsistenzpuffer D durchführen am Beginn. Für Abschnitte, die das Kopieren aus dem Datenkonsistenzpuffer D durchführen am Ende. Die Instrumentierung sowie die Datendefinition zur Auswahl der sogenannten „Samplepoints“ erfolgt abgestimmt auf das Pufferlayout toolbasiert.
  • In vorteilhafter Weise kann die Lage des Rechenprozessausgabezeitpunktes an das Problem angepasst werden. Durch die toolgestützte Implementierung ist dieser Zeitpunkt einfach durch den Anwender auswählbar. Die Instrumentierung verbraucht nur signifikant Laufzeit wenn der Anwender eine Rechenprozessausgabe anstößt und kann deshalb in der Software der Steuervorrichtung 1 verbleiben. Die „Alternative Sample Point“ Methode erweitert die schon bestehenden Diagnosemöglichkeiten, ohne das Diagnoseverfahren zu ändern und ermöglicht so eine detaillierte Analyse des Datenverhaltens im Fahrzeug unter realen Betriebsbedingungen. Insbesondere kann so eine besonders zuverlässige und effiziente Funktionsvalidierung der Steuervorrichtung 1 durchgeführt werden.

Claims (8)

  1. Verfahren zum Betreiben einer Steuervorrichtung (1) für ein Fahrzeug, wobei die Steuervorrichtung (1) einen globalen Speicher (G), einen Datenkonsistenzpuffer (D) und einen Ausgabepuffer umfasst und ausgebildet ist mehrere Rechenprozesse (T) zeitgleich und/oder kooperativ und/oder präemptiv abzuarbeiten, bei dem – eine Ausgabeabfolge bereitgestellt wird, die repräsentativ ist für mögliche Rechenprozessausgabezeitpunkte von in den Rechenprozessen (T) verwendeten Variablen, – ein erstes Auswahlsignal bereitgestellt wird, das repräsentativ ist für wenigstens eine in dem Ausgabepuffer bereitzustellende Variable der in den Rechenprozessen verwendeten Variablen, – ein zweites Auswahlsignal bereitgestellt wird, das repräsentativ ist für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen bereitzustellenden Variable, – abhängig von dem ersten Auswahlsignal und dem zweiten Auswahlsignal ein Rechenprozessausgabezeitpunkt (M1) der jeweiligen bereitzustellenden Variable aus der Ausgabeabfolge ausgewählt wird, und – abhängig von dem ausgewählten Rechenprozessausgabezeitpunkt (M1) die jeweilige bereitzustellende Variable während einer vorgegebenen Ausgabezeitdauer aus dem Datenkonsistenzpuffer (D) oder dem globalen Speicher (G) in den Ausgabepuffer kopiert wird.
  2. Verfahren nach Anspruch 1, bei dem – ein durch die vorgegebene Ausgabezeitdauer umfasster Abschnitt des jeweiligen Rechenprozesses (T) unterbrechungsfrei abgearbeitet wird.
  3. Verfahren nach einem der vorstehenden Ansprüche, bei dem – während der vorgegebenen Ausgabezeitdauer die jeweilige bereitzustellende Variable aus dem globalen Speicher (G) in den Ausgabepuffer und anschließend in den Datenkonsistenzpuffer (D) kopiert wird.
  4. Verfahren nach Anspruch 3, bei dem – die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den Ausgabepuffer in den Datenkonsistenzpuffer (D) kopiert wird.
  5. Verfahren nach einem der vorstehenden Ansprüche, bei dem – während der vorgegebenen Ausgabezeitdauer die jeweilige bereitzustellende Variable aus dem Datenkonsistenzpuffer (D) in den globalen Speicher (G) und anschließend in den Ausgabepuffer kopiert wird.
  6. Verfahren nach Anspruch 5, bei dem – die jeweilige bereitzustellende Variable direkt anschließend an das Kopieren in den globalen Speicher (G) in den Ausgabepuffer kopiert wird.
  7. Diagnosesystem (10), umfassend eine Steuervorrichtung (1) und eine Diagnoseeinheit (3), die signaltechnisch mit der Steuervorrichtung (1) gekoppelt und ausgebildet ist, der Steuervorrichtung (1) – ein erstes Auswahlsignal bereitzustellen, das repräsentativ ist für wenigstens eine bereitzustellende Variable, die bei Betreiben der Steuervorrichtung (1) verwendet wird, – ein zweites Auswahlsignal bereitzustellen, das repräsentativ ist für wenigstens einen gewünschten Rechenprozessausgabezeitpunkt der jeweiligen Variable, und – in einem Ausgabepuffer der Steuervorrichtung (1) gespeicherte Daten auszulesen.
  8. Diagnosesystem (10) nach Anspruch 7, bei dem die Steuervorrichtung (1) ausgebildet ist, ein Verfahren nach einem der vorstehenden Ansprüche 1 bis 6 durchzuführen.
DE102015215068.2A 2015-08-06 2015-08-06 Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem Ceased DE102015215068A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015215068.2A DE102015215068A1 (de) 2015-08-06 2015-08-06 Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem
PCT/EP2016/068681 WO2017021506A1 (de) 2015-08-06 2016-08-04 Verfahren zum betreiben einer steuervorrichtung und diagnosesystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015215068.2A DE102015215068A1 (de) 2015-08-06 2015-08-06 Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem

Publications (1)

Publication Number Publication Date
DE102015215068A1 true DE102015215068A1 (de) 2016-12-08

Family

ID=56686793

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015215068.2A Ceased DE102015215068A1 (de) 2015-08-06 2015-08-06 Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem

Country Status (2)

Country Link
DE (1) DE102015215068A1 (de)
WO (1) WO2017021506A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2221723A1 (de) * 2009-02-20 2010-08-25 Robert Bosch Gmbh Doppelkernprozessor und Verfahren zur Fehlerdetektion in einem Doppelkernprozessor
US20130246852A1 (en) * 2012-03-19 2013-09-19 Fujitsu Limited Test method, test apparatus, and recording medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707459B2 (en) * 2007-03-08 2010-04-27 Whirlpool Corporation Embedded systems debugging

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2221723A1 (de) * 2009-02-20 2010-08-25 Robert Bosch Gmbh Doppelkernprozessor und Verfahren zur Fehlerdetektion in einem Doppelkernprozessor
US20130246852A1 (en) * 2012-03-19 2013-09-19 Fujitsu Limited Test method, test apparatus, and recording medium

Also Published As

Publication number Publication date
WO2017021506A1 (de) 2017-02-09

Similar Documents

Publication Publication Date Title
EP2009525B1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems und Verfahren dazu
EP2799983B1 (de) Flexible Aufteilung der I/O Kanäle einer Hardware Komponente
DE102019203251B3 (de) Verfahren und System zur sicheren Signalmanipulation für den Test integrierter Sicherheitsfunktionalitäten
EP2897011A1 (de) Verfahren und Simulationsanordnung zur Simulation einer automatisierten Industrieanlage
EP2706421A1 (de) Verfahren zur rechnergestützten Erzeugung mindestens eines Teils eines ausführbaren Steuerungsprogramms
EP3188053A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
EP3306295A1 (de) Verfahren und vorrichtung zum testen elektronischer steuerungen, insbesondere zum testen von automobilsteuerungen
WO2016198503A1 (de) Verfahren zur realistischen abschätzung von funktionslaufzeiten in pil simulation
EP2128726A1 (de) Verfahren und Simulator zur Echtzeitberechnung der Zustandsgrössen eines Prozessmodells
DE202016008563U1 (de) Konfigurationssystem zum Konfigurieren eines für das Testen eines Steuergeräts eingerichteten Testgeräts
DE102018117509A1 (de) Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zum Überwachen einer Wirkkette eines Wirknetzes eines Fahrzeuges
DE102015215068A1 (de) Verfahren zum Betreiben einer Steuervorrichtung und Diagnosesystem
AT515341B1 (de) Verfahren zur Überprüfung der Abarbeitung von Software
EP2309354B1 (de) Vorrichtung und Verfahren zur Simulation
DE102020102996A1 (de) Verfahren für einen integrierten Entwurf zur Modellierung, Simulation und Test einer Echtzeit-Architektur innerhalb einer modellbasierten System- und Softwareentwicklung
EP3173928B1 (de) Verfahren und vorrichtung zum überprüfen eines komponentenfehlerbaums
DE102020211710A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells
DE102015209033A1 (de) Verfahren und Vorrichtung zum Liefern einer Prüfantwort
DE102010014720A1 (de) Verfahren zum Verifizieren eines aus einem Quellmodell generierten Zielprogramms
EP4130898B1 (de) Sicherheitssystem und verfahren mit einem sicherheitssystem
EP3388944A1 (de) Verfahren zur fehlererkennung in einem betriebssystem
DE102022115570A1 (de) Computerimplementiertes Verfahren zur Simulation einer elektrischen Schaltung mittels einer Echtzeitplattform
DE112017003607T5 (de) Programmverifikationssystem, Steuervorrichtung und Programmverifikationsverfahren
DE102019117839A1 (de) Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zur Datenverarbeitung in einem Fahrzeug und Fahrzeug
EP4198722A1 (de) Konfiguration einer auf einem computer laufenden sil-simulation eines steuergeräts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R230 Request for early publication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final