DE102023118342A1 - System und verfahren zum drahtlosen durchführen von softwarebasierten aufgaben an fahrzeugen - Google Patents

System und verfahren zum drahtlosen durchführen von softwarebasierten aufgaben an fahrzeugen Download PDF

Info

Publication number
DE102023118342A1
DE102023118342A1 DE102023118342.7A DE102023118342A DE102023118342A1 DE 102023118342 A1 DE102023118342 A1 DE 102023118342A1 DE 102023118342 A DE102023118342 A DE 102023118342A DE 102023118342 A1 DE102023118342 A1 DE 102023118342A1
Authority
DE
Germany
Prior art keywords
task
command
software
predefined
protocol
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
DE102023118342.7A
Other languages
English (en)
Inventor
Jamal Alezzani
Jason Michael Miller
Priyank Shah
Basavaraj Tonshal
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102023118342A1 publication Critical patent/DE102023118342A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M17/00Testing of vehicles
    • G01M17/007Wheeled or endless-tracked vehicles
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

Ein System zum Prüfen/Konfigurieren eines oder mehrerer Fahrzeuge beinhaltet ein Aufgabenkommunikationsmodul, das ein Aufgabendatenpaket erlangt, das eine ausgewählte softwarebasierte Aufgabe aufweist, die an einem ausgewählten Fahrzeug durchzuführen ist, wobei eine Aufgabenbefehlskennung die Aufgabe identifiziert, ein Befehlsabgleichsmodul, das einen vordefinierten Aufgabenbefehl auf Grundlage der Aufgabenbefehlskennung aus einem Satz von gespeicherten Aufgabenbefehlen auswählt, wobei der vordefinierte Aufgabenbefehl entweder ein ausgewähltes standardisiertes Protokoll (d. h. einen Satz von lokal gespeicherten Anweisungen) oder ein ausgewähltes angepasstes Protokoll (d. h. einen Satz von Umgehungsanweisungen, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist) ausführt, um die Aufgabe auszuführen, und ein Befehlsausführungsmodul, das als Reaktion darauf, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte Standardprotokoll handelt, das ausgewählte Standardprotokoll ausführt und auf Grundlage davon, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte angepasste Protokoll handelt, das ausgewählte angepasste Protokoll ausführt, das die ausgewählte Skriptdatei einsetzt.

Description

  • GEBIET
  • Die vorliegende Offenbarung betrifft einen Fahrzeugdiagnosetester und ein Verfahren dafür.
  • ALLGEMEINER STAND DER TECHNIK
  • Die Aussagen in diesem Abschnitt stellen lediglich Hintergrundinformationen in Bezug auf die vorliegende Offenbarung bereit und stellen unter Umständen nicht den Stand der Technik dar.
  • Fahrzeuge durchlaufen während ihrer Lebensdauer typischerweise verschiedene Prüfungen und Systemkonfigurationen. Zum Beispiel wurden in Fahrzeugfertigungseinrichtungen im Laufe der Jahre Diagnoseprüfungen am Ende der Fertigungslinie und Systemkonfigurationen an Fahrzeugen vorgenommen. Um derartige Aufgaben vorzunehmen, ist ein Diagnosewerkzeug mit softwarebasierten Aufgaben vorprogrammiert, die an einem Fahrzeug durchzuführen sind. Durch Kommunizieren mit einem Fahrzeugkommunikationsnetzwerk (z. B. einem Local Interconnect Network (LIN) oder einem Controller Area Network (CAN)) führt das Diagnosewerkzeug Prüfungen und Softwarekonfigurationen aus. Dieser Ansatz stellt ein Eins-zu-eins-Diagnosewerkzeug für die Fahrzeugkonfiguration bereit.
  • Die vorprogrammierte Software des Diagnosewerkzeugs stellt typischerweise eine begrenzte Anzahl von softwarebasierten Aufgaben bereit, um ein Fahrzeug während des Zusammenbauprozesses zu validieren, zu konfigurieren und zu aktualisieren. Dies kann wiederum die Anzahl von Softwareaufgaben und jeweiligen Ausführungsverfahren begrenzen, die an einem Fahrzeug während eines gegebenen Zeitraums ohne eine teure Überholung der Programmierung durchgeführt werden können, die sowohl zeitaufwändig als auch kostspielig sein kann. Diese und andere Probleme in Bezug auf das Prüfen und Konfigurieren eines Fahrzeugs werden durch die vorliegende Offenbarung angegangen.
  • KURZDARSTELLUNG
  • Dieser Abschnitt stellt eine allgemeine Kurzdarstellung der Offenbarung bereit und ist keine umfassende Offenbarung ihres vollständigen Umfangs oder all ihrer Merkmale.
  • In einem Aspekt der vorliegenden Offenbarung beinhaltet ein System zum Prüfen/Konfigurieren eines oder mehrerer Fahrzeuge einen oder mehrere Prozessoren und ein oder mehrere nicht transitorische computerlesbare Medien, die Anweisungen speichern, die durch den einen oder die mehreren Prozessoren ausführbar sind. Der eine oder die mehreren Prozessoren werden als ein Fahrzeugkommunikationsmodul, ein Aufgabenkommunikationsmodul, ein Validierungsmodul, ein Befehlsabgleichsmodul und ein Befehlsausführungsmodul betrieben. Das Fahrzeugkommunikationsmodul ist dazu konfiguriert, eine Kommunikationsverbindung mit einem ausgewählten Fahrzeug aus dem einen oder den mehreren Fahrzeugen herzustellen. Das Aufgabenkommunikationsmodul ist dazu konfiguriert, ein Aufgabendatenpaket zu erlangen. Das Aufgabendatenpaket beinhaltet Daten, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist. Die Daten beinhalten eine Aufgabenbefehlskennung, die die ausgewählte softwarebasierte Aufgabe identifiziert. Das Validierungsmodul ist dazu konfiguriert, das Aufgabendatenpaket unter Verwendung eines Dateikonfigurationsvalidierungsprozesses zu validieren. Das Befehlsabgleichsmodul ist dazu konfiguriert, einen vordefinierten Aufgabenbefehl aus einem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der Aufgabenbefehlskennung als Reaktion darauf auszuwählen, dass das Aufgabendatenpaket validiert wird. Der vordefinierte Aufgabenbefehl ist dazu konfiguriert, entweder ein ausgewähltes standardisiertes Protokoll oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das ausgewählte standardisierte Protokoll definiert einen Satz von lokal gespeicherten Anweisungen, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das ausgewählte angepasste Protokoll definiert einen Satz von Umgehungsanweisungen, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das Befehlsausführungsmodul ist dazu konfiguriert, als Reaktion darauf, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte Standardprotokoll handelt, das ausgewählte Standardprotokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen, und als Reaktion darauf, dass es sich bei dem ausgewählten vordefinierten Aufgabenbefehl um das ausgewählte angepasste Protokoll handelt, das ausgewählte angepasste Protokoll auszuführen, das die Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage des vordefinierten Aufgabenbefehls und einer Aufgabenausführungsanweisung durchzuführen. Das Aufgabendatenpaket beinhaltet Daten, die auf die Aufgabenausführungsanweisung hinweisen, wenn die ausgewählte softwarebasierte Aufgabe ein anpassbarer Befehl ist.
  • Variationen dieser Form, die einzeln oder in einer beliebigen Kombination umgesetzt werden können, sind nachstehend bereitgestellt.
  • In einigen Variationen beinhaltet die ausgewählte softwarebasierte Aufgabe ferner Fertigungsstufendaten, die auf eine Fertigungsstufe hinweisen, in der die ausgewählte softwarebasierte Aufgabe durchzuführen ist, wobei die Fertigungsstufendaten eine identifizierte Phase eines Fertigungsprozesses, eine Arbeitsstationsidentifikation oder eine Kombination davon beinhalten.
  • In einigen Variationen beinhaltet die ausgewählte softwarebasierte Aufgabe eine erste ausgewählte softwarebasierte Aufgabe und eine zweite ausgewählte softwarebasierte Aufgabe, die an dem ausgewählten Fahrzeug durchzuführen sind, wobei die Daten ferner eine erste Aufgabenbefehlskennung, die die erste ausgewählte softwarebasierten Aufgabe identifiziert, und eine zweite Aufgabenbefehlskennung, die die zweite ausgewählte softwarebasierte Aufgabe identifiziert, beinhalten.
  • In einigen Variationen ist das Befehlsabgleichsmodul ferner dazu konfiguriert, einen ersten vordefinierten Aufgabenbefehl und einen zweiten vordefinierten Aufgabenbefehl aus dem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der ersten Aufgabenbefehlskennung bzw. der zweiten Aufgabenbefehlskennung als Reaktion darauf auszuwählen, dass das Aufgabendatenpaket validiert wird. Der erste vordefinierte Aufgabenbefehl ist dazu konfiguriert, ein jeweiliges ausgewähltes standardisiertes Protokoll auszuführen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen, und der zweite vordefinierte Aufgabenbefehl ist dazu konfiguriert, ein jeweiliges ausgewähltes angepasstes Protokoll auszuführen, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen. Das jeweilige ausgewählte standardisierte Protokoll definiert einen jeweiligen Satz von lokal gespeicherten Anweisungen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen. Das jeweilige ausgewählte angepasste Protokoll definiert den Satz von Umgehungsanweisungen, um eine jeweilige ausgewählte Skriptdatei abzurufen, die einen jeweiligen Satz von anpassbaren Anweisungen aufweist, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen.
  • In einigen Variationen ist das Befehlsausführungsmodul ferner dazu konfiguriert: das jeweilige ausgewählte Standardprotokoll auszuführen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen; und das jeweilige ausgewählte angepasste Protokoll auszuführen, das die jeweilige ausgewählte Skriptdatei einsetzt, um die zweite ausgewählte softwarebasierte Aufgabe auf Grundlage des zweiten vordefinierten Aufgabenbefehls und der Aufgabenausführungsanweisung durchzuführen.
  • In einigen Variationen beinhaltet die Aufgabenausführungsanweisung einen Skriptdateinamen und einen Dateipfad, um die ausgewählte Skriptdatei zu erlangen.
  • In einigen Variationen beinhaltet der Dateipfad Daten, die ein externes Dateiverzeichnis identifizieren, das die ausgewählte Skriptdatei speichert.
  • In einigen Variationen beinhaltet die ausgewählte Skriptdatei mindestens eine von einer Datei vom Extensible-Markup-Language-Typ, einer Datei vom Hypertext-Markup-Language-Typ, einer Datei vom Lua-Script-Typ oder einer Datei vom HostMonitor-Typ.
  • In einigen Variationen ist das Aufgabendatenpaket eine Hypertext-Markup-Language-Datei.
  • In einigen Variationen ist das Validierungsmodul ferner dazu konfiguriert: den vordefinierten Aufgabenbefehl unter Verwendung eines Aufgabenbefehlsvalidierungsprozesses als Reaktion darauf zu validieren, dass das Aufgabendatenpaket gültig ist, jeden Parameter des vordefinierten Aufgabenbefehls unter Verwendung eines Parametervalidierungsprozesses als Reaktion darauf zu validieren, dass der vordefinierte Aufgabenbefehl aus dem Satz von gespeicherten Aufgabenbefehlen ausgewählt wird, und eine Benachrichtigung als Reaktion darauf auszugeben, dass der vordefinierte Aufgabenbefehl oder ein Parameter nicht gültig ist.
  • In einigen Variationen werden der eine oder die mehreren Prozessoren ferner als ein Berichtsmodul betrieben, das dazu konfiguriert ist, einen oder mehrere Statusberichte auf Grundlage eines Fortschritts von mindestens einem von einem Status einer Validierung des Dateikonfigurationsvalidierungsprozesses, dem Status eines Aufgabenbefehlsvalidierungsprozesses, einem Status des Parametervalidierungsprozesses oder einer Kombination davon zu generieren.
  • In einem anderen Aspekt der vorliegenden Offenbarung beinhaltet ein Verfahren zum Prüfen/Konfigurieren eines oder mehrerer Fahrzeuge Herstellen einer Kommunikationsverbindung mit einem ausgewählten Fahrzeug aus dem einen oder den mehreren Fahrzeugen und Erlangen eines Aufgabendatenpakets. Das Aufgabendatenpaket beinhaltet Daten, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist. Die Daten beinhalten eine Aufgabenbefehlskennung, die die ausgewählte softwarebasierte Aufgabe identifiziert. Das Verfahren beinhaltet ferner Validieren des Aufgabendatenpakets unter Verwendung eines Dateikonfigurationsvalidierungsprozesses und Auswählen eines vordefinierten Aufgabenbefehls aus einem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der Aufgabenbefehlskennung als Reaktion darauf, dass das Aufgabendatenpaket validiert wird. Der vordefinierte Aufgabenbefehl ist dazu konfiguriert, entweder ein ausgewähltes standardisiertes Protokoll oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das ausgewählte standardisierte Protokoll definiert einen Satz von lokal gespeicherten Anweisungen, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das ausgewählte angepasste Protokoll definiert einen Satz von Umgehungsanweisungen, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das Verfahren beinhaltet ferner Ausführen des ausgewählten Standardprotokolls, um die ausgewählte softwarebasierte Aufgabe durchzuführen, als Reaktion darauf, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte Standardprotokoll handelt, und Ausführen des ausgewählten angepassten Protokolls, das die Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage des vordefinierten Aufgabenbefehls und einer Aufgabenausführungsanweisung durchzuführen, als Reaktion darauf, dass es sich bei dem ausgewählten vordefinierten Aufgabenbefehl um das ausgewählte angepasste Protokoll handelt. Das Aufgabendatenpaket beinhaltet Daten, die auf die Aufgabenausführungsanweisung hinweisen, wenn die ausgewählte softwarebasierte Aufgabe ein anpassbarer Befehl ist.
  • Variationen dieser Form, die einzeln oder in einer beliebigen Kombination umgesetzt werden können, sind nachstehend bereitgestellt.
  • In einigen Variationen beinhaltet die ausgewählte softwarebasierte Aufgabe ferner Fertigungsstufendaten, die auf eine Fertigungsstufe hinweisen, in der die ausgewählte softwarebasierte Aufgabe durchzuführen ist, wobei die Fertigungsstufendaten eine identifizierte Phase eines Fertigungsprozesses, eine Arbeitsstationsidentifikation oder eine Kombination davon beinhalten.
  • In einigen Variationen beinhaltet die ausgewählte softwarebasierte Aufgabe eine erste ausgewählte softwarebasierte Aufgabe und eine zweite ausgewählte softwarebasierte Aufgabe, die an dem ausgewählten Fahrzeug durchzuführen sind, wobei die Daten ferner eine erste Aufgabenbefehlskennung, die die erste ausgewählte softwarebasierten Aufgabe identifiziert, und eine zweite Aufgabenbefehlskennung, die die zweite ausgewählte softwarebasierte Aufgabe identifiziert, beinhalten.
  • In einigen Variationen beinhaltet das Verfahren ferner Auswählen eines ersten vordefinierten Aufgabenbefehls und eines zweiten vordefinierten Aufgabenbefehls aus dem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der ersten Aufgabenbefehlskennung bzw. der zweiten Aufgabenbefehlskennung als Reaktion darauf, dass das Aufgabendatenpaket validiert wird. Der erste vordefinierte Aufgabenbefehl ist dazu konfiguriert, ein jeweiliges ausgewähltes standardisiertes Protokoll auszuführen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen, und der zweite vordefinierte Aufgabenbefehl ist dazu konfiguriert, ein jeweiliges ausgewähltes angepasstes Protokoll auszuführen, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen. Das jeweilige ausgewählte standardisierte Protokoll definiert einen jeweiligen Satz von lokal gespeicherten Anweisungen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen. Das jeweilige ausgewählte angepasste Protokoll definiert den Satz von Umgehungsanweisungen, um eine jeweilige ausgewählte Skriptdatei abzurufen, die einen jeweiligen Satz von anpassbaren Anweisungen aufweist, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen. Das Verfahren beinhaltet ferner Ausführen des jeweiligen ausgewählten Standardprotokolls, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen, und Ausführen des jeweiligen ausgewählten angepassten Protokolls, das die jeweilige ausgewählte Skriptdatei einsetzt, um die zweite ausgewählte softwarebasierte Aufgabe auf Grundlage des zweiten vordefinierten Aufgabenbefehls und der Aufgabenausführungsanweisung durchzuführen.
  • In einigen Variationen beinhaltet die Aufgabenausführungsanweisung einen Skriptdateinamen und einen Dateipfad, um die ausgewählte Skriptdatei zu erlangen.
  • In einigen Variationen beinhaltet der Dateipfad Daten, die ein externes Dateiverzeichnis identifizieren, das die ausgewählte Skriptdatei speichert.
  • In einigen Variationen beinhaltet die ausgewählte Skriptdatei mindestens eine von einer Extensible-Markup-Language-Datei, einer Hypertext-Markup-Language-Datei, einer Lua-Script-Datei oder einer HostMonitor-Datei.
  • In einigen Variationen ist das Aufgabendatenpaket eine Hypertext-Markup-Language-Datei.
  • In einigen Variationen beinhaltet das Verfahren ferner Validieren des vordefinierten Aufgabenbefehls unter Verwendung eines Aufgabenbefehlsvalidierungsprozesses als Reaktion darauf, dass das Aufgabendatenpaket gültig ist; Validieren jedes Parameters des vordefinierten Aufgabenbefehls unter Verwendung eines Parametervalidierungsprozesses als Reaktion darauf, dass der vordefinierte Aufgabenbefehl aus dem Satz von gespeicherten Aufgabenbefehlen ausgewählt wird; und Ausgeben einer Benachrichtigung als Reaktion darauf, dass der vordefinierte Aufgabenbefehl oder ein Parameter nicht gültig ist.
  • In einem anderen Aspekt der vorliegenden Offenbarung beinhaltet ein Verfahren zum Prüfen/Konfigurieren eines oder mehrerer Fahrzeuge Erlangen eines Aufgabendatenpakets, wobei das Aufgabendatenpaket Daten beinhaltet, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist. Die Daten beinhalten eine Aufgabenbefehlskennung, die die ausgewählte softwarebasierte Aufgabe identifiziert. Das Verfahren beinhaltet ferner Validieren des Aufgabendatenpakets unter Verwendung eines Dateikonfigurationsvalidierungsprozesses und Auswählen eines vordefinierten Aufgabenbefehls aus einem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der Aufgabenbefehlskennung als Reaktion darauf, dass das Aufgabendatenpaket validiert wird. Der vordefinierte Aufgabenbefehl ist dazu konfiguriert, entweder ein ausgewähltes standardisiertes Protokoll oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das ausgewählte angepasste Protokoll definiert einen Satz von Umgehungsanweisungen, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das Verfahren beinhaltet ferner Ausführen des ausgewählten Standardprotokolls, um die ausgewählte softwarebasierte Aufgabe durchzuführen, als Reaktion darauf, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte Standardprotokoll handelt, und Ausführen des ausgewählten angepassten Protokolls, das die Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage des vordefinierten Aufgabenbefehls und einer Aufgabenausführungsanweisung durchzuführen, als Reaktion darauf, dass es sich bei dem ausgewählten vordefinierten Aufgabenbefehl um das ausgewählte angepasste Protokoll handelt. Das Aufgabendatenpaket beinhaltet Daten, die auf die Aufgabenausführungsanweisung hinweisen, wenn die ausgewählte softwarebasierte Aufgabe ein anpassbarer Befehl ist. Die Aufgabenausführungsanweisung beinhaltet einen Skriptdateinamen und einen Dateipfad, um die ausgewählte Skriptdatei zu erlangen.
  • Weitere Anwendungsbereiche werden aus der in dieser Schrift bereitgestellten Beschreibung ersichtlich. Es versteht sich, dass die Beschreibung und spezifische Beispiele lediglich zu Veranschaulichungszwecken gedacht sind und den Umfang der vorliegenden Offenbarung nicht einschränken sollen.
  • ZEICHNUNGEN
  • Zum umfassenden Verständnis der Offenbarung werden nun verschiedene Formen davon unter Bezugnahme auf die beigefügten Zeichnungen beispielhaft beschrieben, in denen Folgendes gilt:
    • 1 veranschaulicht ein beispielhaftes System, das eine Aufgabenausführungssteuerung (task execution controller - TEC) in Kommunikation mit mehreren Fahrzeugen umfasst, gemäß den Lehren der vorliegenden Offenbarung;
    • 2 ist ein beispielhaftes Blockschaubild der TEC gemäß den Lehren der vorliegenden Offenbarung; und
    • 3 ist ein Ablaufdiagramm einer beispielhaften Aufgabenausführungssteuerroutine gemäß den Lehren der vorliegenden Offenbarung.
  • Die in dieser Schrift beschriebenen Zeichnungen dienen lediglich Veranschaulichungszwecken und sollen den Umfang der vorliegenden Offenbarung in keiner Weise einschränken.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende Beschreibung ist lediglich beispielhafter Natur und soll die vorliegende Offenbarung, Anwendung oder Verwendungen nicht einschränken. Es versteht sich, dass über alle Zeichnungen hinweg einander entsprechende Bezugszeichen gleiche oder einander entsprechende Teile und Merkmale angeben.
  • Fahrzeuge können mit drahtlosen Kommunikationsvorrichtungen ausgestattet sein, die drahtlose Kommunikationsstrecken mit externen Vorrichtungen herstellen, die unter anderen Aufgaben Diagnosen, Prüfungen und Softwarekonfiguration durchführen. In einem nicht einschränkenden Beispiel kann eine derartige drahtlose Kommunikationsstrecke auf einem Diagnostic over Internet Protocol (DoIP) beruhen. Die Ausführung der verschiedenen Aufgaben kann zum Beispiel neben anderen Faktoren aufgrund der Anzahl von Fahrzeugen, der unterschiedlichen Fahrzeugtypen (z. B. Marke, Modell usw.) und der Variation bei den durchzuführenden Aufgaben eine Herausforderung darstellen.
  • Die vorliegende Offenbarung stellt ein System und/oder ein Verfahren zum Ausführen, Erstellen und Modifizieren einer oder mehrerer softwarebasierter Aufgaben bereit, die an einem ausgewählten Fahrzeug durchzuführen sind. In einer Form kann die Ausführung der Aufgaben während eines Montagezusammenbauprozesses des Fahrzeugs, während einer Wartungsüberprüfung des Fahrzeugs und/oder zu anderen geeigneten Zeiten durchgeführt werden. Das System und/oder das Verfahren nutzt einen Satz von gespeicherten Logikaufgabenbefehlen innerhalb einer Aufgabenausführungssteuerung (TEC), wobei der Satz von gespeicherten Logikaufgabenbefehlen dazu konfiguriert ist, entweder ein ausgewähltes standardisiertes Protokoll und/oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das ausgewählte standardisierte Protokoll definiert einen Satz von lokal gespeicherten Anweisungen, der innerhalb der TEC gespeichert ist, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Das ausgewählte angepasste Protokoll definiert einen Satz von Umgehungsanweisungen, um eine ausgewählte Skriptdatei aus einem externen Verzeichnis abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Wie in dieser Schrift beschrieben, stellt das System und/oder das Verfahren der vorliegenden Offenbarung in einer Form die Fähigkeit bereit, eine Skriptdatei, wie etwa eine Datei vom LUA-Typ, als Eingabe heranzuziehen, um eine softwarebasierte Aufgabe auf Grundlage von benutzerdefinierten oder anpassbaren Kriterien auszuführen. Mit dieser Fähigkeit können softwarebasierte Aufgaben außerhalb einer Fahrzeugtesterumgebung angepasst und definiert werden, ohne dass Befehlscode in Bezug auf softwarebasierte Aufgaben kompiliert werden muss.
  • Unter Bezugnahme auf 1 stellt die vorliegende Offenbarung ein beispielhaftes System 100 bereit, das eine TEC 112 umfasst, die dazu konfiguriert ist, mit einem oder mehreren Fahrzeugen 102 zu kommunizieren und einen definierten Satz von softwarebasierten Aufgaben an dem Fahrzeug 102 auszuführen. In einem nicht einschränkenden Beispiel können die softwarebasierten Aufgaben neben anderen Aufgaben Fahrzeugsoftwarekonfiguration, Fahrzeugsoftwareaktualisierungen, Prüfungen und/oder Diagnosen beinhalten. Insbesondere sind in einer beispielhaften Anwendung Fahrzeuge 102, die in einer Fertigungseinrichtung bereitgestellt sind, dazu konfiguriert, über ein oder mehrere Kommunikationsnetzwerke 104, die drahtlose und/oder drahtgebundene Kommunikationsverbindungen einsetzen, mit dem System 100 zu kommunizieren. Es können verschiedene drahtlose Kommunikationsverbindungen eingesetzt werden, wie etwa unter anderem Transmission Control Protocol (TCP), Internet Protocol (IP), Mobilfunkprotokolle, ohne darauf beschränkt zu sein. In einem nicht einschränkenden Beispiel sind die Fahrzeuge 102 beim Verwenden von TCP/IP dazu konfiguriert, DoIP einzusetzen. Dementsprechend beinhalten die Fahrzeuge 102 und das System 100 Software- und/oder Hardwarekomponenten (z. B. neben anderen Vorrichtungen Router, Sender, Mikroprozessoren, Antennen, Speicher, Schnittstellenanschlüsse) zum Herstellen der Kommunikationsverbindung. Zusätzlich kann die Einrichtung unter anderem Gateway-Server, Router, Sender, Antennen, Schnittstellenanschlüsse als Komponenten zum Unterstützen des Kommunikationsnetzwerks 104 beinhalten. Es versteht sich ohne Weiteres, dass das System 100 zum Prüfen/Konfigurieren der Fahrzeuge 102 in anderen Anwendungen, wie etwa in einer Fahrzeugwartungseinrichtung, eingesetzt werden kann und nicht auf eine Fertigungseinrichtung beschränkt sein sollte.
  • In einer Form beinhaltet jedes Fahrzeug 102 eine Kommunikationsvorrichtung 106, die dazu konfiguriert ist, mit externen Vorrichtungen über drahtgebundene und/oder drahtlose Kommunikation unter Verwendung eines oder mehrerer der vorstehend beschriebenen Kommunikationsverfahren zu kommunizieren. Die Kommunikationsvorrichtung 106 ist dazu konfiguriert, ein Einführungssignal auszusenden, das Daten beinhaltet, um das Fahrzeug 102 eindeutig zu identifizieren. In einem nicht einschränkenden Beispiel können die Daten eine Fahrzeugkennung für das Fahrzeug 102 (z. B. eine Fahrzeugidentifikationsnummer (vehicle identification number - VIN)), eine Entitätsidentifikation (entity identification - EID) und/oder eine Kommunikationsidentifikation (z. B. IP-Adresse) beinhalten. In einer Form ist die Kommunikationsvorrichtung 106 ferner dazu konfiguriert, mit anderen Vorrichtungen/Modulen innerhalb des Fahrzeugs 102 über ein Fahrzeugkommunikationsnetzwerk (nicht gezeigt), wie etwa LIN oder CAN, zu kommunizieren. Dementsprechend ist das System 100 dazu in der Lage, eine Kommunikationsverbindung mit dem Fahrzeug 102 herzustellen, um einen definierten Satz von Aufgaben für das Fahrzeug 102 zu verwalten und auszuführen, wie in dieser Schrift beschrieben.
  • Wie bekannt, ist/sind das/die Fahrzeug(e) 102 dazu konfiguriert, ein oder mehrere Fahrzeugmodule (vehicle modules - VM) zu beinhalten, die ein oder mehrere Systeme in dem Fahrzeug 102 steuern/verwalten. Zum Beispiel können VMs ein Klimasteuermodul zum Steuern eines Heizungs-, Lüftungs- und Klimatisierungssystems des Fahrzeugs 102; ein Antriebsstrangsteuermodul, das dazu konfiguriert ist, den Antriebsstrang (z. B. Verbrennungsmotor und/oder Elektromotor usw.) des Fahrzeugs 102 zu steuern; und/oder ein audiovisuelles Steuersystem, das dazu konfiguriert ist, audiovisuelle Vorrichtungen innerhalb eines Fahrgastraums des Fahrzeugs 102 zu steuern, beinhalten, sollten aber nicht darauf beschränkt sein. In einer Form sind die VMs über das Fahrzeugnetzwerk kommunikabel aneinander und an andere Vorrichtungen in dem Fahrzeug 102, wie etwa die Kommunikationsvorrichtung 104, gekoppelt und ist jede VM einer eindeutigen VM-Kennung zum Identifizieren der VM zugeordnet. Wie in dieser Schrift beschrieben, können die verschiedenen VMs in dem Fahrzeug und sogar Vorrichtungen wie Sensoren, die im gesamten Fahrzeug 102 angeordnet sind, softwarebasierten Aufgaben laut Anweisungen von der TEC 112 unterzogen werden.
  • In einer Form empfängt die TEC 112 ein Aufgabendatenpaket, das Daten beinhaltet, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an einem ausgewählten Fahrzeug durchzuführen ist. Das Aufgabendatenpaket kann auf verschiedene geeignete Weisen generiert werden. Zum Beispiel kann ein Benutzer ein Aufgabendatenpaket unter Verwendung einer Benutzerschnittstellenvorrichtung 108 (z. B. eines Computers, einer mobilen Vorrichtung), die mit dem System 100 in Kommunikation steht, und eines Aufgabenreihenfolgengenerators 110 generieren, der dazu konfiguriert ist, eine grafische Benutzerschnittstelle anzuzeigen, die dazu ausgestaltet ist, das Aufgabendatenpaket zu generieren. In einem anderen Beispiel kann das Aufgabendatenpaket durch ein Fahrzeugverwaltungssystem bereitgestellt werden, das dazu konfiguriert ist, die Ausführung von Aufgabenreihenfolgen für Fahrzeuge 102 zu verwalten. Ein Beispiel für ein derartiges Fahrzeugverwaltungssystem ist in der Parallelanmeldung mit der US-Seriennummer 17/572814, eingereicht am 11. Januar 2022, und dem Titel „VEHICLE MANAGING SYSTEM FOR MANAGING VEHICLES TO BE TESTED-CONFIGURED AND METHOD THEREOF“ offenbart, die über denselben Inhaber wie die vorliegende Anmeldung verfügt und deren Inhalt durch Bezugnahme vollumfänglich in diese Schrift aufgenommen wird.
  • In einer Form ist das Aufgabendatenpaket eine textbasierte Datei, wie etwa eine Programmdatei, die einen oder mehrere Befehle in einer Form von Textzeilen verwendet. Das Aufgabendatenpaket beinhaltet Daten, die anfordern, die TEC 112 mit einem ausgewählten Fahrzeug zu verbinden und ein Befehlsfenster innerhalb der TEC 112 zu starten. In einem nicht einschränkenden Beispiel beinhalten die Daten des Aufgabendatenpakets die Aufgabenbefehlskennung, die VM-Kennung einer ausgewählten VM des ausgewählten Fahrzeugs, das der ausgewählten softwarebasierten Aufgabe zu unterziehen ist, und/oder ausgewählte Fertigungsstufendaten, die eine Stufe angeben, in der die ausgewählte softwarebasierte Aufgabe durchzuführen ist.
  • Die softwarebasierten Aufgaben können als Standardbefehl oder als einzigartiger anpassbarer Befehl bereitgestellt werden. Ein Standardbefehl entspricht einer vordefinierten Aufgabe, die an einem ausgewählten Fahrzeug durchzuführen ist, wie etwa, ohne darauf beschränkt zu sein: ein Befehl zum Löschen von Codes, um Codes wie etwa Diagnosefehlercodes (diagnostic trouble codes - DTC) in einem Register einer ausgewählten VM zu löschen; ein Befehl zur Verifizierung von (einem) DTC(s), um die Richtigkeit eines DTC zu bestätigen; eine DTC-Verifizierung zum Durchführen einer Diagnose in Bezug auf einen ausgewählten DTC; ein Bereichswertbefehl für Datenkennungen (data identifiers - DID); ein Ping-Befehl zum Senden einer generischen Meldung, um eine Antwort von der ausgewählten VM zu erlangen; ein Befehl zum Starten einer Kommunikationsprüfung, um eine Kommunikationsverbindung mit einer ausgewählten VM des Fahrzeugs zu prüfen; und/oder ein Befehl für eine Teileidentifikationsprüfung zum Durchführen einer Teileidentifikationsprüfung, um eine Hardware- und/oder Softwareidentifikation einer ausgewählten VM und/oder von Komponenten des ausgewählten Fahrzeugs zu verifizieren.
  • Ein einzigartiger anpassbarer Befehl beinhaltet Anweisungen zum Ausführen einer angepassten Aufgabe auf Grundlage von benutzerdefinierten Kriterien, die in einem externen Verzeichnis gespeichert sind (d. h. nicht in der TEC 112 gespeichert sind). In einer Form beinhaltet der einzigartige anpassbare Befehl eine Aufgabenausführungsanweisung, die Daten beinhaltet, die auf einen ausgewählten Skriptdateinamen und einen Dateipfad hinweisen, um die ausgewählte Skriptdatei zu erlangen. Die ausgewählte Skriptdatei beinhaltet mindestens eine von einer Datei vom Extensible-Markup-Language-Typ, einer Datei vom Hypertext-Markup-Language-Typ, einer Datei vom LUA-Script-Typ oder einer Datei vom HostMonitor-Typ, ohne darauf beschränkt zu sein. Der Dateipfad beinhaltet Daten, die ein externes Dateiverzeichnis identifizieren, das die ausgewählte Skriptdatei speichert.
  • In einer Form beinhalten die Fertigungsstufendaten Montagephasendaten, Arbeitsstationsidentifikationsdaten oder eine Kombination davon. Die Montagephasendaten identifizieren eine Montagephase innerhalb des Fertigungsprozesses, in der die softwarebasierte Aufgabe durchzuführen ist. Zum Beispiel können Montagephasen eine Fahrgestellmontagephase, eine Verbrennungsmotormontagephase, eine Getriebemontagephase und eine Karosseriemontagephase beinhalten, ohne darauf beschränkt zu sein. Die Arbeitsstationsidentifikationsdaten identifizieren eine ausgewählte Arbeitsstation aus einer oder mehreren Arbeitsstationen, die der ausgewählten Montagephase zugeordnet sind, und die ausgewählte softwarebasierte Aufgabe ist an der ausgewählten Arbeitsstation durchzuführen. Es versteht sich ohne Weiteres, dass das Aufgabendatenpaket keine Fertigungsstufendaten beinhalten kann. Zum Beispiel können Umsetzungen der TEC der vorliegenden Offenbarung, die sich außerhalb der Fertigungseinrichtung befinden, keine Fertigungsstufendaten verwenden.
  • In einer Form kann das Aufgabendatenpaket Daten beinhalten, die mehrere softwarebasierte Aufgaben identifizieren, die an dem ausgewählten Fahrzeug durchzuführen sind. Die mehreren softwarebasierten Aufgaben können einem oder mehreren standardisierten Befehlen, einem oder mehreren einzigartigen angepassten Befehlen oder einer Kombination davon zugeordnet sein. Das heißt, es ist nicht erforderlich, dass alle softwarebasierten Aufgaben nur standardisierten Befehlen oder nur einem einzigartigen angepassten Befehl zugeordnet sind.
  • Die TEC 112 ist dazu konfiguriert, die in dem Aufgabendatenpaket bereitgestellten softwarebasierten Aufgaben für ein ausgewähltes Fahrzeug 102 auszuführen, das kommunikabel an die TEC 112 gekoppelt ist. Unter Bezugnahme auf 2 ist die TEC 112 in einer Form dazu konfiguriert, eine Testerdatenbank 205, ein Fahrzeugkommunikationsmodul 210, ein Aufgabenkommunikationsmodul 220, einen Befehlsinterpreter 225, ein Validierungsmodul 230, ein Befehlsabgleichsmodul 240, ein Befehlsausführungsmodul 250 und ein Berichtsmodul 260 zu beinhalten.
  • In einer Form ist die Testerdatenbank 205 dazu konfiguriert, Daten in Bezug auf die softwarebasierten Aufgaben zu speichern, die durch die TEC 112 ausführbar sind. Insbesondere beinhaltet die Testerdatenbank 205 einen Satz von vordefinierten Aufgabenbefehlen (d. h. Aufgabenbefehl), der durch die TEC 112 ausgeführt wird, um die softwarebasierten Aufgaben durchzuführen. Jeder Aufgabenbefehl ist einer jeweiligen Aufgabenbefehlskennung für die softwarebasierte Aufgabe zugeordnet. Wie vorstehend bereitgestellt, kann die softwarebasierte Aufgabe ein Standardbefehl oder ein einzigartiger anpassbarer Befehl sein. Für jeden Standardbefehl speichert die Testerdatenbank 205 ein standardisiertes Protokoll, bei dem es sich um einen Satz von lokal gespeicherten Anweisungen handelt, um einen spezifischen Standardbefehl oder allgemeiner die ausgewählte softwarebasierte Aufgabe durchzuführen. Für den einzigartigen anpassbaren Befehl speichert die Testerdatenbank 205 ein angepasstes Protokoll, das einen Satz von Umgehungsanweisungen definiert, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen. In einer Form ruft das angepasste Protokoll die ausgewählte Skriptdatei ab und speichert die ausgewählte Skriptdatei vorübergehend in der Testerdatenbank 205.
  • In einer Form ist das Fahrzeugkommunikationsmodul 210 dazu konfiguriert, eine Kommunikationsverbindung mit einem ausgewählten Fahrzeug aus Fahrzeugen 102 herzustellen. Insbesondere beinhaltet das Fahrzeugkommunikationsmodul 210 einen Satz von Kommunikationsknoten (d. h. einen oder mehrere Knoten; nicht gezeigt), wobei jeder Kommunikationsknoten dazu konfiguriert ist, mit einem ausgewählten Fahrzeug 102 zu kommunizieren. Somit ist das Fahrzeugkommunikationsmodul 210 dazu in der Lage, mit mehreren Fahrzeugen zu kommunizieren, um jeweilige Aufgaben für die Fahrzeuge 102 auszuführen. In einer Form basiert der Satz von Kommunikationsknoten auf einem User Datagram Protocol (UDP) und ist der Kommunikationsknoten ein drahtloser Kommunikationsanschluss. Das heißt, in einem nicht einschränkenden Beispiel sind die Kommunikationsknoten als Datagrammsockets bereitgestellt. In einer Form wählt das Fahrzeugkommunikationsmodul 210 einen Kommunikationsknoten auf Grundlage der Verfügbarkeiten des Satzes von Kommunikationsknoten aus. Zum Beispiel verfolgt das Fahrzeugkommunikationsmodul 210, welche Kommunikationsknoten verfügbar sind und welche nicht verfügbar sind (z. B. Knoten, denen ein Fahrzeug 102 zugewiesen worden ist), und wählt einen Kommunikationsknoten aus den verfügbaren Knoten aus, um softwarebasierte Aufgaben des Aufgabendatenpakets durchzuführen. In einem nicht einschränkenden Beispiel verwendet das Fahrzeugkommunikationsmodul 210, sobald ein Kommunikationsknoten ausgewählt ist, eine Kommunikationsadresse, die dem ausgewählten Fahrzeug 102 unter DoIP zugeordnet ist, um eine drahtlose Kommunikationsverbindung zwischen dem ausgewählten Fahrzeug 102 und dem ausgewählten Kommunikationsknoten herzustellen.
  • In einer Form ist das Aufgabenkommunikationsmodul 220 dazu konfiguriert, ein Aufgabendatenpaket, das eine ausgewählte Aufgabe identifiziert, die an dem ausgewählten Fahrzeug durchzuführen ist, von der Benutzerschnittstellenvorrichtung 108 zu erlangen. Zum Beispiel kann das Aufgabenkommunikationsmodul 220 das Aufgabendatenpaket von dem Aufgabenreihenfolgengenerator 110 über die Benutzerschnittstellenvorrichtung 108 empfangen. Es versteht sich ohne Weiteres, dass das Aufgabendatenpaket von anderen Vorrichtungen erlangt werden kann und nicht auf den Aufgabenreihenfolgengenerator 110 und/oder die Benutzerschnittstellenvorrichtung 108 beschränkt sein sollte.
  • Der Befehlsinterpreter 225 ist dazu konfiguriert, das Aufgabendatenpaket zu analysieren/auszulesen, um eine oder mehrere ausgewählte softwarebasierte Aufgaben zu identifizieren, die an dem ausgewählten Fahrzeug durchzuführen sind. Zum Beispiel ist der Befehlsinterpreter dazu konfiguriert, spezifische Textdatenzeichenfolgen innerhalb des Aufgabendatenpakets zu identifizieren. In einer Form ist der Befehlsinterpreter 225 dazu konfiguriert, das Aufgabendatenpaket auszulesen, um eine Validierungsüberprüfung an dem Aufgabendatenpaket einzuleiten. In einer anderen Form ist der Befehlsinterpreter 225 dazu konfiguriert, das Aufgabendatenpaket auszulesen, nachdem das Validierungsmodul 230 das Aufgabendatenpaket validiert.
  • Das Validierungsmodul 230 ist dazu konfiguriert, eine oder mehrere Validierungsüberprüfungen an dem Aufgabendatenpaket bereitzustellen. Die eine oder die mehreren Validierungsüberprüfungen beinhalten in einem nicht einschränkenden Beispiel einen Dateikonfigurationsvalidierungsprozess, einen Aufgabenbefehlsvalidierungsprozess und/oder einen Parametervalidierungsprozess. Der Dateikonfigurationsvalidierungsprozess ist dazu konfiguriert, die Integrität des Aufgabendatenpakets zu validieren, indem bestimmt wird, ob ein Fehler bei dem Aufgabendatenpaket existiert. Das heißt, der Dateikonfigurationsvalidierungsprozess überprüft die Daten des Aufgabendatenpakets, um zu bestimmen, ob die Daten korrekt sind, bevor das Aufgabendatenpaket ausgeführt wird. In einem nicht einschränkenden Beispiel ist der Dateikonfigurationsvalidierungsprozess dazu konfiguriert, eine Struktur des Aufgabendatenpakets, einen Befehlscodetyp, einen Befehlscode, eine Dateigrammatik, ein Dateivokabular, eine oder mehrere Syntax des Aufgabendatenpakets zu validieren. In einem Beispiel validiert das Validierungsmodul 230, dass das Aufgabendatenpaket ein korrekter Dateityp ist und einen korrekten Wert für die Datei beinhaltet. In einer Form verifiziert der Dateikonfigurationsvalidierungsprozess den ausgewählten Fahrzeugnamen und wird eine VM-Kennung, die einer ausgewählten VM zugeordnet ist, dem ausgewählten Fahrzeug und/oder seiner jeweiligen VM-Liste zugeordnet. In einer Form kann der Dateikonfigurationsvalidierungsprozess unter Verwendung eines Konfigurationsvalidierungswerkzeugs oder Diagnosewerkzeugs durchgeführt werden, wie etwa eines Werkzeugs vom Markup-Validator-Typ, eines Werkzeugs vom XML-Editor-Typ, eines Werkzeugs vom New-Relic-Diagnostic-CLI-Typ, eines Werkzeugs vom CSS-Validator-Typ, eines Werkzeugs vom Link-Checker-Typ oder dergleichen.
  • In einer Form ist das Validierungsmodul 260 dazu konfiguriert, als Reaktion darauf, dass der Dateikonfigurationsvalidierungsprozess gültig ist, zu einer Benutzereingabe aufzufordern, um den Befehlsvalidierungsprozess durchzuführen. Es versteht sich für den Durchschnittsfachmann, dass das Validierungsmodul 230 den Befehlsvalidierungsprozess ohne die Benutzerzustimmung automatisch ausführen kann, falls der Dateikonfigurationsvalidierungsprozess gültig ist.
  • Der Befehlsvalidierungsprozess ist dazu konfiguriert, die ausgewählte softwarebasierte Aufgabe, die in dem Aufgabendatenpaket identifiziert ist, als Reaktion darauf zu validieren, dass das Aufgabendatenpaket gültig ist. Zum Beispiel bestimmt der Befehlsvalidierungsprozess in einer Form, ob die in dem Aufgabendatenpaket bereitgestellte(n) Aufgabenbefehlskennung(en) mit einer oder mehreren Aufgabenbefehlskennungen für den in der Aufgabenbefehlsdatenbank 205 gespeicherten Aufgabenbefehl übereinstimmen. In einer Form bestimmt das Validierungsmodul 230, falls es eine Übereinstimmung gibt, dass die softwarebasierte Aufgabe gültig ist und mit einem Aufgabenbefehl in der Datenbank 205 korreliert.
  • Bei Aufgabendatenpaketen, die einzigartige anpassbare Befehle aufweisen, beinhalten die Datenpakete ferner die Aufgabenausführungsanweisungen und ist der Parametervalidierungsprozess dazu konfiguriert, einen oder mehrere Parameter der Aufgabenausführungsanweisung zu überprüfen. In einer Form bestimmt der Parametervalidierungsprozess, ob die Skriptdatei, die dem einzigartigen anpassbaren Prüfbefehl zugeordnet ist, existiert. In einem nicht einschränkenden Beispiel verifiziert der Parametervalidierungsprozess, dass jeder Parameter des Aufgabenbefehls aufgelistet ist; verifiziert, dass jeder Parameter das korrekte Format, die korrekte Syntax und die korrekte Grammatik aufweist; verifiziert, dass jeder Parameter in der korrekten Reihenfolge aufgelistet ist; verifiziert, dass ein Parameterbereich eines gegebenen Parameters innerhalb eines spezifischen Bereichs liegt; und/oder verifiziert ein Parameterformat für einen gegebenen Parameter. In einer Form sucht der Parametervalidierungsprozess, um zu verifizieren, dass die Skriptdatei in dem externen Verzeichnis existiert, nach dem Dateipfad und/oder dem Dateinamen, und falls der Dateipfad und/oder der Dateiname fehlen, ist die Skriptdatei nicht gültig.
  • In einer Form kann das Validierungsmodul 230 eine Maßnahme durchführen, falls ein beliebiger von dem Dateikonfigurationsvalidierungsprozess, dem Befehlsvalidierungsprozess und/oder dem Parametervalidierungsprozess ungültig ist. Beispielhafte Maßnahmen durch das Validierungsmodul 230 können Ausgeben einer Benachrichtigung an den Urheber des Aufgabendatenpakets, Verwerfen des Aufgabendatenpakets, Veranlassen, dass das Fahrzeugkommunikationsmodul 210 die Kommunikation mit dem ausgewählten Fahrzeug beendet, und/oder Ausgeben einer Benachrichtigung an das Fahrzeug neben anderen geeigneten Maßnahmen beinhalten.
  • Das Befehlsabgleichsmodul 240 ist dazu konfiguriert, einen vordefinierten Aufgabenbefehl aus dem Satz von vorab gespeicherten Aufgabenbefehlen auf Grundlage der in dem Aufgabendatenpaket bereitgestellten Aufgabenbefehlskennung als Reaktion darauf auszuwählen, dass das Aufgabendatenpaket validiert wird. In einer Form identifiziert das Befehlsabgleichsmodul 240 die softwarebasierte Aufgabe und die zugeordnete Aufgabenbefehlskennung aus dem Aufgabendatenpaket. Das Befehlsabgleichsmodul 240 vergleicht dann die Aufgabenbefehlskennung des Aufgabendatenpakets mit den in der Testerdatenbank 205 gespeicherten Aufgabenbefehlskennungen und wählt den vordefinierten Aufgabenbefehl aus, der die gleiche Aufgabenbefehlskennung aufweist. Für den Fall, dass das Aufgabendatenpaket mehrere Aufgabenbefehlskennungen für mehrere durchzuführende softwarebasierte Aufgaben beinhaltet, ist das Befehlsabgleichsmodul 240 dazu konfiguriert, einen vordefinierten Aufgabenbefehl für jede Aufgabenbefehlskennung in dem Aufgabendatenpaket zu identifizieren und auszuwählen.
  • Das Befehlsausführungsmodul 250 ist dazu konfiguriert, auf Grundlage des ausgewählten vordefinierten Aufgabenbefehls und der ausgewählten VM entweder ein ausgewähltes standardisiertes Protokoll oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen. Falls insbesondere die softwarebasierte Aufgabe ein Standardbefehl ist, ist der ausgewählte vordefinierte Aufgabenbefehl ein ausgewähltes Standardprotokoll, das in der Datenbank 205 für den Standardbefehl gespeichert ist. Falls zum Beispiel der Standardbefehl auf das Löschen von DTC-Codes in einem Antriebsstrangmodul hinweist, ruft das Befehlsausführungsmodul 250 den vordefinierten Aufgabenbefehl, bei dem es sich um ein standardisiertes Protokoll handelt, für den Standardbefehl aus der Datenbank 205 ab und führt die Befehle an dem Antriebsstrangmodul über das Fahrzeugkommunikationsmodul 210 aus. Falls alternativ die softwarebasierte Aufgabe ein einzigartiger anpassbarer Befehl ist, führt das Befehlsausführungsmodul 250 das ausgewählte angepasste Protokoll aus, das die ausgewählte Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage der Aufgabenausführungsanweisung durchzuführen. Dementsprechend ist das Befehlsausführungsmodul 250 dazu konfiguriert, ein in der Datenbank 205 für Standardbefehle gespeichertes Standardprotokoll oder das einzigartige anpassbare Protokoll auszuführen, das Anweisungen zum Auffinden und Ausführen der einzigartigen anpassbaren Befehle beinhaltet.
  • In einer Form ist das Berichtsmodul 260 dazu konfiguriert, einen oder mehrere Statusberichte zu generieren, die Daten bereitstellen, die sich zum Beispiel auf eine oder mehrere Validierungsüberprüfungen, die Ausführung der vordefinierten Aufgabenbefehle oder eine Kombination davon beziehen. Zum Beispiel können die Statusberichte Informationen in Bezug auf eine Fehlermeldung zum Identifizieren von Problemen und Fehlern innerhalb des Aufgabendatenpakets, ausgewählter Aufgabenbefehle und/oder eines oder mehrerer Parameter beinhalten. In einer Form gibt das Berichtsmodul 260 mindestens auf Grundlage fehlender oder falscher Daten, die einem ausgewählten Fahrzeug, einer VM-Kennung, der Struktur, der Syntax, einem Befehlscode und/oder dergleichen zugeordnet sind, eine Benachrichtigung aus, falls ein Fehler bestimmt wird. In einer Form setzt das Berichtsmodul 260, falls ein Fehler gefunden wird, eine Benachrichtigung, die angibt, dass ein Fehler existiert, und spezifische Details hinsichtlich des Fehlers angibt, die einen Fehlertyp und Details eines Fehlerauftritts beinhalten, ohne darauf beschränkt zu sein. In einem anderen Beispiel können der eine oder die mehreren Statusberichte Informationen in Bezug darauf beinhalten, ob die in dem Aufgabendatenpaket bereitgestellte ausgewählte softwarebasierte Aufgabe abgeschlossen wurde. Derartige Statusberichte können dem Urheber des Aufgabendatenpakets bereitgestellt werden oder können automatisch in einer externen Datenbank gespeichert werden.
  • Unter Bezugnahme auf 3 ist eine beispielhafte TEC-Routine 500 bereitgestellt, die durch eine gegebene TEC durchgeführt wird. Bei 510 stellt die TEC 112 eine Kommunikationsverbindung mit einem ausgewählten Fahrzeug her und bei 520 erlangt die TEC 112 ein Aufgabendatenpaket. Das Aufgabendatenpaket beinhaltet Daten, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist. Zum Beispiel beinhalten die Daten eine Aufgabenbefehlskennung, die die ausgewählte softwarebasierte Aufgabe identifiziert, und in einer Form eine Aufgabenausführungsanweisung, falls die ausgewählte softwarebasierte Aufgabe ein einzigartiger anpassbarer Befehl ist. Bei 530 bestimmt die TEC 112 unter Verwendung eines Dateikonfigurationsvalidierungsprozesses, ob das Aufgabendatenpaket gültig ist. Falls während des Dateikonfigurationsvalidierungsprozesses ein Fehler empfangen wird, gibt die TEC bei 590 eine Benachrichtigung aus und endet die Routine.
  • Falls das Aufgabendatenpaket gültig ist, bestimmt die TEC 112 bei 540, ob eine ausgewählte softwarebasierte Aufgabe gültig ist. Falls die ausgewählte softwarebasierte Aufgabe nicht gültig ist, gibt die TEC 112 bei 590 eine Benachrichtigung aus und endet die Routine. Bei 550 wählt die TEC 112 als Reaktion darauf, dass die ausgewählte softwarebasierte Aufgabe gültig ist, einen vordefinierten Aufgabenbefehl aus einem Satz von vordefinierten Aufgabenbefehlen der TEC 112 auf Grundlage der Aufgabenbefehlskennung der ausgewählten softwarebasierten Aufgabe des Aufgabendatenpakets und einer Aufgabenkennung eines Aufgabenbefehls des Satzes von vordefinierten Aufgabenbefehlen aus. Nach dem Abgleichen der Aufgabenbefehlskennung des Aufgabendatenpakets mit der eines vordefinierten Aufgabenbefehls aus dem Satz von gespeicherten Aufgabenbefehlen bestimmt die TEC 112 bei 560, ob sich der vordefinierte Aufgabenbefehl auf einen standardisierten Befehl oder einen anpassbaren Befehl bezieht. Zum Beispiel beinhaltet der ausgewählte vordefinierte Aufgabenbefehl Daten, die angeben, ob der vordefinierte Aufgabenbefehl auf einen standardisierten Befehl oder einen einzigartigen anpassbaren Befehl hinweist. Falls sich der vordefinierte Aufgabenbefehl auf einen standardisierten Befehl bezieht, führt die TEC 112 bei 580 den vordefinierten Aufgabenbefehl aus. Falls sich andererseits der vordefinierte Aufgabenbefehl auf einen einzigartigen anpassbaren Befehl bezieht, führt die TEC 112 bei 570 einen Parametervalidierungsprozess an der Aufgabenausführungsanweisung durch. Falls ein Fehler detektiert wird, gibt die TEC 112 bei 590 eine Benachrichtigung aus und endet die Routine.
  • Falls die Parameter gültig sind, führt die TEC 112 bei 580 den vordefinierten Aufgabenbefehl aus. Falls zum Beispiel die ausgewählte softwarebasierte Aufgabe ein Standardbefehl ist, ist der vordefinierte Aufgabenbefehl einem standardisierten Protokoll zugeordnet, das Anweisungen zum Ausführen des Standardbefehls beinhaltet. Falls andererseits die ausgewählte softwarebasierte Aufgabe ein einzigartiger anpassbarer Befehl ist, wird der vordefinierte Aufgabenbefehl dem einzigartigen angepassten Protokoll zugeordnet, das die ausgewählte Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage der Aufgabenausführungsanweisung durchzuführen.
  • Es versteht sich ohne Weiteres, dass die TEC 112 auf verschiedene geeignete Weisen konfiguriert werden kann, um die in dieser Schrift beschriebenen Operationen durchzuführen, und nicht auf die beispielhafte Routine aus 3 beschränkt sein sollte.
  • In einer beispielhaften Iteration der TEC-Routine 500 aus 3 empfängt die TEC 112 ein Aufgabendatenpaket, das eine Aufgabe zum Sammeln von Codes für ein audiovisuelles Steuersystem aufweist, wobei die Aufgabe zum Sammeln von Codes einem von einer Vielzahl von vordefinierten Aufgabenbefehlen zugeordnet ist, die als standardisierter Befehl der TEC 112 identifiziert ist. Bei 510 stellt die TEC 112 eine Kommunikationsverbindung mit einem ausgewählten Fahrzeug her und die TEC 112 erlangt bei 520 ein Aufgabendatenpaket. Das Aufgabendatenpaket beinhaltet eine Aufgabenreihenfolge, die eine Aufgabenbefehlskennung zum Identifizieren der Aufgabe zum Sammeln von Codes und eine VM-Kennung zum Identifizieren eines audiovisuellen Steuersystems (z. B. eines Radiomoduls), auf dem die Aufgabe zum Sammeln von Codes für das ausgewählte Fahrzeug durchzuführen ist, aufweist. Bei 530 bestimmt die TEC 112 unter Verwendung eines Dateikonfigurationsvalidierungsprozesses, ob das Aufgabendatenpaket gültig ist. Falls während des Dateikonfigurationsvalidierungsprozesses ein Fehler empfangen wird, gibt die TEC bei 590 eine Benachrichtigung aus und endet die Routine.
  • Falls das Aufgabendatenpaket gültig ist, bestimmt die TEC 112 bei 540, ob die Aufgabe zum Sammeln von Codes gültig ist. Falls die Aufgabe zum Sammeln von Codes nicht gültig ist, gibt die TEC 112 bei 590 eine Benachrichtigung aus und endet die Routine. Bei 550 wählt die TEC 112 als Reaktion darauf, dass die Aufgabe zum Sammeln von Codes gültig ist, einen vordefinierten Aufgabenbefehl aus einem Satz von vordefinierten Aufgabenbefehlen der TEC 112 auf Grundlage der Aufgabenbefehlskennung aus, die der Aufgabe zum Sammeln von Codes zugeordnet ist. Nach dem Abgleichen der Aufgabenbefehlskennung für die Aufgabe zum Sammeln von Codes, die in dem Aufgabendatenpaket bereitgestellt ist, mit der eines ausgewählten vordefinierten Aufgabenbefehls aus dem Satz von gespeicherten Aufgabenbefehlen bestimmt die TEC 112 bei 560, ob sich der Aufgabenbefehl zum Sammeln von Codes auf einen standardisierten Befehl oder einen anpassbaren Befehl bezieht, und führt bei 580 den Aufgabenbefehl zum Sammeln von Codes als Reaktion darauf aus, dass der Aufgabenbefehl zum Sammeln von Codes ein standardisierter Befehl ist.
  • In einem anderen Beispiel, das die TEC-Routine 500 aus 3 nutzt, empfängt die TEC 112 ein Aufgabendatenpaket, das eine Aufgabe zum Ausführen von customscrip.lua für ein Antriebsstrangmodul aufweist, wobei die Aufgabe zum Ausführen von customscrip.lua einem von einer Vielzahl von vordefinierten Aufgabenbefehlen zugeordnet ist, die als anpassbarer Befehl der TEC 112 identifiziert ist. Bei 510 stellt die TEC 112 eine Kommunikationsverbindung mit einem ausgewählten Fahrzeug her und bei 520 erlangt die TEC 112 ein Aufgabendatenpaket für das ausgewählte Fahrzeug. Das Aufgabendatenpaket beinhaltet Daten, die auf eine Aufgabe zum Ausführen von customscrip.lua hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist. Zum Beispiel beinhalten die Daten eine Aufgabenbefehlskennung, die die Aufgabe zum Ausführen von customscrip.lua identifiziert, und eine Aufgabenausführungsanweisung, die einen Dateipfad und einen Dateinamen aufweist, wie etwa in einer Form k:/TEC112/customtasksoftwarefiles/ping.lua. Bei 530 bestimmt die TEC 112 unter Verwendung eines Dateikonfigurationsvalidierungsprozesses, ob das Aufgabendatenpaket gültig ist. Falls während des Dateikonfigurationsvalidierungsprozesses ein Fehler empfangen wird, gibt die TEC bei 590 eine Benachrichtigung aus und endet die Routine.
  • Falls das Aufgabendatenpaket gültig ist, bestimmt die TEC 112 bei 540, ob die Aufgabe zum Ausführen von customscrip.lua gültig ist. Falls die Aufgabe zum Ausführen von customscrip.lua nicht gültig ist, gibt die TEC 112 bei 590 eine Benachrichtigung aus und endet die Routine. Bei 550 wählt die TEC 112 als Reaktion darauf, dass die Aufgabe zum Ausführen von customscrip.lua gültig ist, einen vordefinierten Aufgabenbefehl aus einem Satz von vordefinierten Aufgabenbefehlen der TEC 112 auf Grundlage der Aufgabenbefehlskennung, die der Aufgabe zum Ausführen von customscrip.lua zugeordnet ist, und einer Aufgabenkennung eines vordefinierten Aufgabenbefehls des Satzes von vordefinierten Aufgabenbefehlen aus. Nach dem Abgleichen der Aufgabenbefehlskennung bestimmt die TEC 112 bei 560, ob sich der Aufgabenbefehl zum Ausführen von customscrip.lua auf einen standardisierten Befehl oder einen anpassbaren Befehl bezieht, und führt bei 570 einen Parametervalidierungsprozess an der Aufgabenausführungsanweisung (z. B. k:/TEC112/customtasksoftwarefiles/ping.lua) durch, um als Reaktion darauf, dass der Aufgabenbefehl ein anpassbarer Befehl ist, zu bestimmen, dass der Dateipfad und der Dateiname gültig sind. Falls ein Fehler detektiert wird, gibt die TEC 112 bei 590 eine Benachrichtigung aus und endet die Routine. Falls die Parameter gültig sind, führt die TEC 112 bei 580 den Aufgabenbefehl zum Ausführen von customscrip.lua aus und setzt dadurch die Skriptdatei ping.lua ein, um die Ping-Aufgabe auf Grundlage der Aufgabenausführungsanweisung, k:/TEC 1 12/customtasksoftwarefiles/ping.lua, durchzuführen.
  • Sofern in dieser Schrift nicht ausdrücklich etwas anderes angegeben ist, sind alle numerischen Werte, die mechanische/thermische Eigenschaften, Prozentanteile von Zusammensetzungen, Abmessungen und/oder Toleranzen oder andere Kenngrößen angeben, so zu verstehen, dass sie durch das Wort „etwa“ oder „ungefähr“ modifiziert sind, wenn sie den Umfang der vorliegenden Offenbarung beschreiben. Diese Modifikation ist aus verschiedenen Gründen wünschenswert, die industrielle Praxis, Material-, Fertigungs- und Montagetoleranzen und Prüffähigkeit beinhalten.
  • Wie in dieser Schrift verwendet, sollte die Formulierung mindestens eines von A, B und C dahingehend ausgelegt werden, dass sie ein logisches (A ODER B ODER C) bedeutet, wobei ein nicht ausschließendes logisches ODER verwendet wird, und sollte nicht dahingehend ausgelegt werden, dass sie „mindestens eines von A, mindestens eines von B und mindestens eines von C“ bedeutet.
  • In dieser Anmeldung kann sich der Ausdruck „Steuerung“ und/oder „Modul“ auf Folgendes beziehen, Teil von Folgendem sein oder Folgendes beinhalten: eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit - ASIC); eine digitale, analoge oder gemischte analoge/digitale diskrete Schaltung; eine digitale, analoge oder gemischte analoge/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; ein feldprogrammierbares Gate-Array (field programmable gate array - FPGA); eine Prozessorschaltung (gemeinsam genutzt, dediziert oder Gruppe), die Code ausführt; eine Speicherschaltung (gemeinsam genutzt, dediziert oder Gruppe), die Code speichert, der durch die Prozessorschaltung ausgeführt wird; andere geeignete Hardwarekomponenten (z. B. Integrierer einer Operationsverstärkerschaltung als Teil des Wärmeflussdatenmoduls), die die beschriebene Funktionalität bereitstellen; oder eine Kombination aus einigen oder allen der Vorstehenden, wie etwa in einem Ein-Chip-System.
  • Der Ausdruck Speicher ist eine Untergruppe des Ausdrucks computerlesbares Medium. Wie in dieser Schrift verwendet, schließt der Ausdruck computerlesbares Medium keine transitorischen elektrischen oder elektromagnetischen Signale ein, die sich durch ein Medium (wie etwa über eine Trägerwelle) ausbreiten; der Ausdruck computerlesbares Medium kann daher als greifbar und nicht transitorisch betrachtet werden. Nicht einschränkende Beispiele für ein nicht transitorisches, greifbares computerlesbares Medium sind nicht flüchtige Speicherschaltungen (wie etwa eine Flash-Speicher-Schaltung, eine Schaltung eines löschbaren programmierbaren Festwertspeichers oder eine Schaltung eines Masken-Festwertspeichers), flüchtige Speicherschaltungen (wie etwa eine Schaltung eines statischen Direktzugriffsspeichers oder eine Schaltung eines dynamischen Direktzugriffsspeichers), magnetische Speichermedien (wie etwa ein analoges oder digitales Magnetband oder ein Festplattenlaufwerk) und optische Speichermedien (wie etwa eine CD, eine DVD oder eine Blu-ray Disc).
  • Die in dieser Anmeldung beschriebenen Apparate und Verfahren können teilweise oder vollständig durch einen Spezialcomputer umgesetzt sein, der durch Konfigurieren eines Universalcomputers zum Ausführen einer oder mehrerer konkreter Funktionen erstellt wird, die in Computerprogrammen verkörpert sind. Die vorstehend beschriebenen Funktionsblöcke, Ablaufdiagrammkomponenten und anderen Elemente dienen als Softwarespezifikationen, die durch die Routinearbeit eines erfahrenen Technikers oder Programmierers in die Computerprogramme übersetzt werden können.
  • Die Beschreibung der Offenbarung ist lediglich beispielhafter Natur und somit sollen Variationen, die nicht vom Kern der Offenbarung abweichen, innerhalb des Umfangs der Offenbarung liegen. Derartige Variationen sind nicht als Abweichung vom Wesen und Umfang der Offenbarung zu erachten.
  • In einem Aspekt der Erfindung beinhaltet der Dateipfad Daten, die ein externes Dateiverzeichnis identifizieren, das die ausgewählte Skriptdatei speichert.
  • In einem Aspekt der Erfindung beinhaltet die ausgewählte Skriptdatei mindestens eine von einer Extensible-Markup-Language-Datei, einer Hypertext-Markup-Language-Datei, einer Lua-Script-Datei oder einer HostMonitor-Datei.
  • In einem Aspekt der Erfindung ist das Aufgabendatenpaket eine Hypertext-Markup-Language-Datei.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Validieren des vordefinierten Aufgabenbefehls unter Verwendung eines Aufgabenbefehlsvalidierungsprozesses als Reaktion darauf, dass das Aufgabendatenpaket gültig ist; Validieren jedes Parameters des vordefinierten Aufgabenbefehls unter Verwendung eines Parametervalidierungsprozesses als Reaktion darauf, dass der vordefinierte Aufgabenbefehl aus dem Satz von gespeicherten Aufgabenbefehlen ausgewählt wird; und Ausgeben einer Benachrichtigung als Reaktion darauf, dass der vordefinierte Aufgabenbefehl oder ein Parameter nicht gültig ist.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren zum Prüfen/Konfigurieren eines oder mehrerer Fahrzeuge Folgendes: Erlangen eines Aufgabendatenpakets, wobei das Aufgabendatenpaket Daten beinhaltet, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist, wobei die Daten eine Aufgabenbefehlskennung beinhalten, die die ausgewählte softwarebasierte Aufgabe identifiziert; Validieren des Aufgabendatenpakets unter Verwendung eines Dateikonfigurationsvalidierungsprozesses, Auswählen eines vordefinierten Aufgabenbefehls aus einem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der Aufgabenbefehlskennung als Reaktion darauf, dass das Aufgabendatenpaket validiert wird, wobei der vordefinierte Aufgabenbefehl dazu konfiguriert ist, entweder ein ausgewähltes standardisiertes Protokoll oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen, und wobei das ausgewählte angepasste Protokoll einen Satz von Umgehungsanweisungen definiert, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen; Ausführen des ausgewählten Standardprotokolls, um die ausgewählte softwarebasierte Aufgabe durchzuführen, als Reaktion darauf, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte Standardprotokoll handelt; und Ausführen des ausgewählten angepassten Protokolls, das die Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage des vordefinierten Aufgabenbefehls und einer Aufgabenausführungsanweisung durchzuführen, als Reaktion darauf, dass es sich bei dem ausgewählten vordefinierten Aufgabenbefehl um das ausgewählte angepasste Protokoll handelt, wobei das Aufgabendatenpaket Daten beinhaltet, die auf die Aufgabenausführungsanweisung hinweisen, wenn die ausgewählte softwarebasierte Aufgabe ein anpassbarer Befehl ist, und wobei die Aufgabenausführungsanweisung einen Skriptdateinamen und einen Dateipfad beinhaltet, um die ausgewählte Skriptdatei zu erlangen.

Claims (15)

  1. System zum Prüfen/Konfigurieren eines oder mehrerer Fahrzeuge, wobei das System Folgendes umfasst: einen oder mehrere Prozessoren und ein oder mehrere nicht transitorische computerlesbare Medien, die Anweisungen speichern, die durch den einen oder die mehreren Prozessoren ausführbar sind, wobei der eine oder die mehreren Prozessoren als Folgendes betrieben werden: ein Fahrzeugkommunikationsmodul, das dazu konfiguriert ist, eine Kommunikationsverbindung mit einem ausgewählten Fahrzeug aus dem einen oder den mehreren Fahrzeugen herzustellen; ein Aufgabenkommunikationsmodul, das dazu konfiguriert ist, ein Aufgabendatenpaket zu erlangen, wobei das Aufgabendatenpaket Daten beinhaltet, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist, wobei die Daten eine Aufgabenbefehlskennung beinhalten, die die ausgewählte softwarebasierte Aufgabe identifiziert; ein Validierungsmodul, das dazu konfiguriert ist, das Aufgabendatenpaket unter Verwendung einer Dateikonfigurationsvalidierung zu validieren; ein Befehlsabgleichsmodul, das dazu konfiguriert ist: einen vordefinierten Aufgabenbefehl aus einem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der Aufgabenbefehlskennung als Reaktion darauf auszuwählen, dass das Aufgabendatenpaket validiert wird, wobei der vordefinierte Aufgabenbefehl dazu konfiguriert ist, entweder ein ausgewähltes standardisiertes Protokoll oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das ausgewählte standardisierte Protokoll einen Satz von lokal gespeicherten Anweisungen definiert, um die ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das ausgewählte angepasste Protokoll einen Satz von Umgehungsanweisungen definiert, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen; und ein Befehlsausführungsmodul, das dazu konfiguriert ist: als Reaktion darauf, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte Standardprotokoll handelt, das ausgewählte Standardprotokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen; und als Reaktion darauf, dass es sich bei dem ausgewählten vordefinierten Aufgabenbefehl um das ausgewählte angepasste Protokoll handelt, das ausgewählte angepasste Protokoll auszuführen, das die Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage des vordefinierten Aufgabenbefehls und einer Aufgabenausführungsanweisung durchzuführen, wobei das Aufgabendatenpaket Daten beinhaltet, die auf die Aufgabenausführungsanweisung hinweisen, wenn die ausgewählte softwarebasierte Aufgabe ein anpassbarer Befehl ist.
  2. System nach Anspruch 1, wobei die ausgewählte softwarebasierte Aufgabe ferner Fertigungsstufendaten beinhaltet, die auf eine Fertigungsstufe hinweisen, in der die ausgewählte softwarebasierte Aufgabe durchzuführen ist, wobei die Fertigungsstufendaten eine identifizierte Phase eines Fertigungsprozesses, eine Arbeitsstationsidentifikation oder eine Kombination davon beinhalten.
  3. System nach Anspruch 1, wobei die ausgewählte softwarebasierte Aufgabe eine erste ausgewählte softwarebasierte Aufgabe und eine zweite ausgewählte softwarebasierte Aufgabe beinhaltet, die an dem ausgewählten Fahrzeug durchzuführen sind, wobei die Daten ferner eine erste Aufgabenbefehlskennung, die die erste ausgewählte softwarebasierten Aufgabe identifiziert, und eine zweite Aufgabenbefehlskennung, die die zweite ausgewählte softwarebasierte Aufgabe identifiziert, beinhalten.
  4. System nach Anspruch 3, wobei: das Befehlsabgleichsmodul ferner dazu konfiguriert ist: einen ersten vordefinierten Aufgabenbefehl und einen zweiten vordefinierten Aufgabenbefehl aus dem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der ersten Aufgabenbefehlskennung bzw. der zweiten Aufgabenbefehlskennung als Reaktion darauf auszuwählen, dass das Aufgabendatenpaket validiert wird, wobei der erste vordefinierte Aufgabenbefehl dazu konfiguriert ist, ein jeweiliges ausgewähltes standardisiertes Protokoll auszuführen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen, und der zweite vordefinierte Aufgabenbefehl dazu konfiguriert ist, ein jeweiliges ausgewähltes angepasstes Protokoll auszuführen, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das jeweilige ausgewählte standardisierte Protokoll einen jeweiligen Satz von lokal gespeicherten Anweisungen definiert, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das jeweilige ausgewählte angepasste Protokoll den Satz von Umgehungsanweisungen definiert, um eine jeweilige ausgewählte Skriptdatei abzurufen, die einen jeweiligen Satz von anpassbaren Anweisungen aufweist, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen; das Befehlsausführungsmodul ferner dazu konfiguriert ist: das jeweilige ausgewählte Standardprotokoll auszuführen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen; und das jeweilige ausgewählte angepasste Protokoll auszuführen, das die jeweilige ausgewählte Skriptdatei einsetzt, um die zweite ausgewählte softwarebasierte Aufgabe auf Grundlage des zweiten vordefinierten Aufgabenbefehls und der Aufgabenausführungsanweisung durchzuführen.
  5. System nach Anspruch 1, wobei die Aufgabenausführungsanweisung einen Skriptdateinamen und einen Dateipfad beinhaltet, um die ausgewählte Skriptdatei zu erlangen.
  6. System nach Anspruch 5, wobei der Dateipfad Daten beinhaltet, die ein externes Dateiverzeichnis identifizieren, das die ausgewählte Skriptdatei speichert.
  7. System nach Anspruch 6, wobei die ausgewählte Skriptdatei mindestens eine von einer Datei vom Extensible-Markup-Language-Typ, einer Datei vom Hypertext-Markup-Language-Typ, einer Datei vom Lua-Script-Typ oder einer Datei vom HostMonitor-Typ beinhaltet.
  8. System nach Anspruch 1, wobei das Aufgabendatenpaket eine Hypertext-Markup-Language-Datei ist.
  9. System nach Anspruch 1, wobei das Validierungsmodul ferner dazu konfiguriert ist: den vordefinierten Aufgabenbefehl unter Verwendung eines Aufgabenbefehlsvalidierungsprozesses als Reaktion darauf zu validieren, dass das Aufgabendatenpaket gültig ist; jeden Parameter des vordefinierten Aufgabenbefehls unter Verwendung eines Parametervalidierungsprozesses als Reaktion darauf zu validieren, dass der vordefinierte Aufgabenbefehl aus dem Satz von gespeicherten Aufgabenbefehlen ausgewählt wird; und eine Benachrichtigung als Reaktion darauf auszugeben, dass der vordefinierte Aufgabenbefehl oder ein Parameter nicht gültig ist.
  10. System nach Anspruch 9, wobei der eine oder die mehreren Prozessoren ferner als ein Berichtsmodul betrieben werden, das dazu konfiguriert ist, einen oder mehrere Statusberichte auf Grundlage eines Fortschritts von mindestens einem von einem Status einer Validierung des Dateikonfigurationsvalidierungsprozesses, dem Status eines Aufgabenbefehlsvalidierungsprozesses, einem Status des Parametervalidierungsprozesses oder einer Kombination davon zu generieren.
  11. Verfahren zum Prüfen/Konfigurieren eines oder mehrerer Fahrzeuge, wobei das Verfahren Folgendes umfasst: Herstellen einer Kommunikationsverbindung mit einem ausgewählten Fahrzeug aus dem einen oder den mehreren Fahrzeugen; Erlangen eines Aufgabendatenpakets, wobei das Aufgabendatenpaket Daten beinhaltet, die auf eine ausgewählte softwarebasierte Aufgabe hinweisen, die an dem ausgewählten Fahrzeug durchzuführen ist, wobei die Daten eine Aufgabenbefehlskennung beinhalten, die die ausgewählte softwarebasierte Aufgabe identifiziert; Validieren des Aufgabendatenpakets unter Verwendung eines Dateikonfigurationsvalidierungsprozesses, Auswählen eines vordefinierten Aufgabenbefehls aus einem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der Aufgabenbefehlskennung als Reaktion darauf, dass das Aufgabendatenpaket validiert wird, wobei der vordefinierte Aufgabenbefehl dazu konfiguriert ist, entweder ein ausgewähltes standardisiertes Protokoll oder ein ausgewähltes angepasstes Protokoll auszuführen, um die ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das ausgewählte standardisierte Protokoll einen Satz von lokal gespeicherten Anweisungen definiert, um die ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das ausgewählte angepasste Protokoll einen Satz von Umgehungsanweisungen definiert, um eine ausgewählte Skriptdatei abzurufen, die einen Satz von anpassbaren Anweisungen aufweist, um die ausgewählte softwarebasierte Aufgabe durchzuführen; Ausführen des ausgewählten Standardprotokolls, um die ausgewählte softwarebasierte Aufgabe durchzuführen, als Reaktion darauf, dass es sich bei dem vordefinierten Aufgabenbefehl um das ausgewählte Standardprotokoll handelt; und Ausführen des ausgewählten angepassten Protokolls, das die Skriptdatei einsetzt, um die ausgewählte softwarebasierte Aufgabe auf Grundlage des vordefinierten Aufgabenbefehls und einer Aufgabenausführungsanweisung durchzuführen, als Reaktion darauf, dass es sich bei dem ausgewählten vordefinierten Aufgabenbefehl um das ausgewählte angepasste Protokoll handelt, wobei das Aufgabendatenpaket Daten beinhaltet, die auf die Aufgabenausführungsanweisung hinweisen, wenn die ausgewählte softwarebasierte Aufgabe ein anpassbarer Befehl ist.
  12. Verfahren nach Anspruch 11, wobei die ausgewählte softwarebasierte Aufgabe ferner Fertigungsstufendaten beinhaltet, die auf eine Fertigungsstufe hinweisen, in der die ausgewählte softwarebasierte Aufgabe durchzuführen ist, wobei die Fertigungsstufendaten eine identifizierte Phase eines Fertigungsprozesses, eine Arbeitsstationsidentifikation oder eine Kombination davon beinhalten.
  13. Verfahren nach Anspruch 11, wobei die ausgewählte softwarebasierte Aufgabe eine erste ausgewählte softwarebasierte Aufgabe und eine zweite ausgewählte softwarebasierte Aufgabe beinhaltet, die an dem ausgewählten Fahrzeug durchzuführen sind, wobei die Daten ferner eine erste Aufgabenbefehlskennung, die die erste ausgewählte softwarebasierten Aufgabe identifiziert, und eine zweite Aufgabenbefehlskennung, die die zweite ausgewählte softwarebasierte Aufgabe identifiziert, beinhalten.
  14. Verfahren nach Anspruch 13, ferner umfassend Auswählen eines ersten vordefinierten Aufgabenbefehls und eines zweiten vordefinierten Aufgabenbefehls aus dem Satz von gespeicherten Aufgabenbefehlen auf Grundlage der ersten Aufgabenbefehlskennung bzw. der zweiten Aufgabenbefehlskennung als Reaktion darauf, dass das Aufgabendatenpaket validiert wird, wobei der erste vordefinierte Aufgabenbefehl dazu konfiguriert ist, ein jeweiliges ausgewähltes standardisiertes Protokoll auszuführen, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen, und der zweite vordefinierte Aufgabenbefehl dazu konfiguriert ist, ein jeweiliges ausgewähltes angepasstes Protokoll auszuführen, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das jeweilige ausgewählte standardisierte Protokoll einen jeweiligen Satz von lokal gespeicherten Anweisungen definiert, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen, wobei das jeweilige ausgewählte angepasste Protokoll den Satz von Umgehungsanweisungen definiert, um eine jeweilige ausgewählte Skriptdatei abzurufen, die einen jeweiligen Satz von anpassbaren Anweisungen aufweist, um die zweite ausgewählte softwarebasierte Aufgabe durchzuführen; Ausführen des jeweiligen ausgewählten Standardprotokolls, um die erste ausgewählte softwarebasierte Aufgabe durchzuführen; und Ausführen des jeweiligen ausgewählten angepassten Protokolls, das die jeweilige ausgewählte Skriptdatei einsetzt, um die zweite ausgewählte softwarebasierte Aufgabe auf Grundlage des zweiten vordefinierten Aufgabenbefehls und der Aufgabenausführungsanweisung durchzuführen.
  15. Verfahren nach Anspruch 11, wobei die Aufgabenausführungsanweisung einen Skriptdateinamen und einen Dateipfad beinhaltet, um die ausgewählte Skriptdatei zu erlangen.
DE102023118342.7A 2022-07-20 2023-07-11 System und verfahren zum drahtlosen durchführen von softwarebasierten aufgaben an fahrzeugen Pending DE102023118342A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/869,250 US20240028391A1 (en) 2022-07-20 2022-07-20 System and method for wirelessly performing software-based tasks on vehicles
US17/869,250 2022-07-20

Publications (1)

Publication Number Publication Date
DE102023118342A1 true DE102023118342A1 (de) 2024-01-25

Family

ID=89429567

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023118342.7A Pending DE102023118342A1 (de) 2022-07-20 2023-07-11 System und verfahren zum drahtlosen durchführen von softwarebasierten aufgaben an fahrzeugen

Country Status (3)

Country Link
US (1) US20240028391A1 (de)
CN (1) CN117435460A (de)
DE (1) DE102023118342A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153082A1 (en) * 2018-02-07 2019-08-15 Clearpath Robotics Inc. Communication systems for self-driving vehicles, and methods of providing thereof

Also Published As

Publication number Publication date
CN117435460A (zh) 2024-01-23
US20240028391A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
DE102018124411A1 (de) I/o-virtualisierung für die inbetriebnahme
EP2685382B1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
DE112011103308B4 (de) Verfahren, System und Programm
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
EP3467597A1 (de) Verfahren zur inbetriebnahme und/oder wartung eines regel- und steuergerätes für feldgeräte für eine gebäudeautomatisierung
EP3864547B1 (de) Verfahren zur detektion sicherheitsrelevanter datenflüsse
DE102023118342A1 (de) System und verfahren zum drahtlosen durchführen von softwarebasierten aufgaben an fahrzeugen
DE10343963A1 (de) Bereitstellung von Diagnoseinformationen
WO2019072840A1 (de) Vorrichtung zur absicherung von diagnosebefehlen an ein steuergerät und entsprechendes kraftfahrzeug
DE102021104593A1 (de) Elektronisches reparatur- und diagnosesystem und -verfahren für ein fahrzeug
EP3296826A1 (de) Verfahren und anordnung zur inbetriebnahme von regel- und steuergeräten für eine gebäudeautomatisierung
DE102021129478A1 (de) Verfahren und system zum übertragen von daten von fertigungsdatenurhebern an zielrechensysteme unter verwendung von definierten nachrichtenschemata
DE112017007507T5 (de) Cloud-fähiges prüfen von steuersystemen
DE112009000211T5 (de) Programmprüfvorrichtung und -programm
DE102018215636A1 (de) Verfahren, Computerprogramme und Vorrichtungen für eine Netzwerkkomponente und für ein Endgerät, Netzwerkkomponente, Endgerät, System
WO2019211122A1 (de) Feature-development-framework und feature-integration-framework zum implementieren physikalischer funktionsfeatures in einem zielgerät
DE102009028195A1 (de) Erzeugung von konfigurationsspezifischen Gerätetreibern
EP2492701B1 (de) Verfahren und Vorrichtung zum Testen einer Windturbinenanlage
EP3767505B1 (de) Verfahren und system zur bereitstellung von sicherheitsinformationen über einen anwendungscontainer für ein industrielles edge-gerät
DE102020204714A1 (de) Verfahren und Vorrichtung zum Prüfen der Kompatibilität zwischen einer Anwendungssoftware und einer mobilen Arbeitsmaschine
EP3211830A1 (de) Verfahren zum überwachen und planen einer produktionszelle und netzwerkmanagementsystem für eine produktionszelle
DE102019111558A1 (de) Verfahren und system zum testen von systemen
DE102010040054A1 (de) Verfahren zur Sicherstellung der korrekten Funktionsweise einer Automatisierungsanlage
DE102021114087A1 (de) Selektive Meldesysteme für Funktionszustandsinformationen, die integrierte Diagnosemodelle enthalten, die Informationen über die geringst- und höchstmögliche Ursache bereitstellen
DE102023100114A1 (de) Fahrzeugverwaltungssystem zum verwalten von zu prüfenden und zu konfigurierenden fahrzeugen und verfahren davon

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: PATENTANWAELTE BAUER VORBERG KAYSER PARTNERSCH, DE