JP2009129463A - 車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法 - Google Patents

車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法 Download PDF

Info

Publication number
JP2009129463A
JP2009129463A JP2008297523A JP2008297523A JP2009129463A JP 2009129463 A JP2009129463 A JP 2009129463A JP 2008297523 A JP2008297523 A JP 2008297523A JP 2008297523 A JP2008297523 A JP 2008297523A JP 2009129463 A JP2009129463 A JP 2009129463A
Authority
JP
Japan
Prior art keywords
error
runtime object
state variable
control device
runtime
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008297523A
Other languages
English (en)
Inventor
Michael Boehl
ミヒャエル、ベール
Sven Braun
スヴェン、ブラウン
Rainer Gmehlich
ライナー、グメーリヒ
Uwe Hartmann
ウーヴェ、ハルトマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2009129463A publication Critical patent/JP2009129463A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error 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 the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error 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 the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0793Remedial or corrective actions
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24108Correct fault so that microprocessor functions correctly, without reset
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24199Recover from fault, malfunction, go to safe state, correct and set new sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】システムの稼動性を制限せず、電子制御装置内で発生しうる複数のハードウェアエラー及びソフトウェアエラーに対する適切な処理が可能な、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法を提供する。
【解決手段】この方法では、プログラムコードに基づく動作フローがシーケンス制御部によって継続的に監視されている。そして、プログラムコード(13)が複数のランタイムオブジェクト(8、12)に分割され、ランタイムオブジェクト(8)でエラーが確認されると、ランタイムオブジェクト(8)はシーケンス制御部によって中断され(10)、動作フローの間にランタイムオブジェクト(8)内で、安全な状態を実現する、ランタイムオブジェクト(8)に割り当てられた処置を含む局所的なエラー処理(11)が実行されており、エラー処理(11)の終了後に直近の後続のランタイムオブジェクト(12)の実行が開始される。
【選択図】図3

Description

本発明は、特に車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法に関する。
例えば、車両等の制御装置には、高い安全性及び信頼性が要請される。記憶装置(RAM、ROM、フラッシュメモリ等)又はプロセッサ・コア等の構成要素内で一時的エラーが発生した際に、対応する規模に応じてシステムの安全性を調整するために、制御装置の様々な箇所に監視機構が実現されている。一時的エラーは、例えば、電磁放射線の作用や、宇宙線又は放射線の作用によっても予期せず発生するので、事前に予測することが不可能である。
検出されたエラーに対しては、様々な形態及び方法で対応することが可能である。制御装置を安全な状態に移行させる最も簡単な方法は、システムを停止することである。さらに、ECC(Error Correction Code)による誤記憶(Speicherfehler)訂正等のように、エラー処理のための仕組みが知られている。その際、検出されたエラーは、記憶装置で直接処理される。このような処理が可能ではない場合には、多くの場合必要に迫られて制御装置がリセットされる。
他のエラー処理の仕組みとして、異なるプロセッサのシングルコア・システム又はマルチコア・システムにおいて、2つのプログラムコードによる冗長化された計算が行われる。出力値は、比較されて一致しているか否かが監視され、不一致の場合にエラーが検出される。エラーが発生した場合には、エラーのあるプログラムコードによる計算等の処理が中止され、他の正常なプログラムコードのみによる計算等の処理により、制御対象である車両等が引き続き駆動される。
そこで、本発明の目的とするところは、システムの稼動性を制限することなく、電子制御装置内で発生しうる複数のハードウェアエラー及びソフトウェアエラーに対して適切な処理をおこなうことが可能な、新規かつ改良された車両の制御装置での一時的エラーの処理方法を提供することにある。
上記課題を解決するために、本発明のある観点によれば、車両制御装置におけるプログラムコードに基づいた動作フロー(Betriebsablauf)が、シーケンス制御部(Ablaufsteuerung)により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、上記プログラムコードが、複数のランタイムオブジェクト(Laufzeitobjekt)に分割され、ランタイムオブジェクトにおいてエラーが確認された場合、上記シーケンス制御部により、該ランタイムオブジェクトが中断され、安全な状態を実現するための、上記ランタイムオブジェクトに割り当てられた処置を含む局所的なエラー処理が、上記動作フロー中の上記ランタイムオブジェクト内で実行され、上記エラー処理の終了後に、直近の後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法が提供される。
また、上記ランタイムオブジェクトは、第1計算命令(Berechnungsvorschrift)に基づいて、入力変数と、状態変数記憶装置(Zusutandsgroessenspeicher)に格納された内部状態変数とから、新状態変数を作成して、上記状態変数記憶装置に再格納する一方、第2計算命令に基づいて、上記入力変数と上記新状態変数とから出力変数を計算すしてもよい。
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、上記ランタイムオブジェクトの最終の正常実行の際に計算され上記状態変数記憶装置に格納された状態変数が、少なくとも部分的に変更されずに上記状態変数記憶装置に再格納されてもよい。
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、上記ランタイムオブジェクトの最終の正常実行の際に計算された出力変数が、少なくとも部分的に変更されずに出力変数として再利用されてもよい。
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、所定の基準値を少なくとも部分的に上記内部状態変数として上記状態変数記憶装置に格納する処理、及び/又は、所定の基準値を上記出力変数として利用する処理が実行されてもよい。
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、上記状態変数のための置換計算命令(Ersatzberechnungsvorschrift)、及び/又は、上記出力変数のための置換計算命令が呼び出されてもよい。
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、所定の初期化関数(Initialisierungsfunktion)が実行され、初期値(Initialisierungswert)を上記内部状態変数として上記状態変数記憶装置に格納する処理、及び/又は、初期値を上記出力変数として利用する処理が実行されてもよい。
また、上記ランタイムオブジェクトに割り当てられた上記エラー処理では、エラーに対応して代替的に選択される複数の相異なるエラー処理が割り当てられてもよい。
また、上記ランタイムオブジェクトは、上記状態変数のための上記第1計算命令、及び/又は、上記出力変数のための上記第2計算命令に対応してクラスに分けられ、
各上記クラスには、少なくとも1つのエラー処理が割り当てられてもよい。
また、上記エラー処理は、上記ランタイムオブジェクトが信号処理アルゴリズム(signalverarbeitender Algorithmus)を含む場合、上記所定の基準値を用いて行なわれてもよい。
また、上記エラー処理では、上記ランタイムオブジェクトにより物理量(physikalische Groesse)に基づいた連続した(kontinuierlich)信号が処理される場合、上記ランタイムオブジェクトの最終の正常実行の際に計算された状態変数及び出力変数が利用されてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、車両制御装置におけるプログラムコードに基づいた動作フロー(Betriebsablauf)が、シーケンス制御部(Ablaufsteuerung)により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、上記プログラムコードが、複数のランタイムオブジェクト(Laufzeitobjekt)に分割され、ランタイムオブジェクトにおいてエラーが確認された場合、上記シーケンス制御部により、後続のランタイムオブジェクトの実行が控えられ、上記後続のランタイムオブジェクトの代わりに、安全な状態を実現するための、上記ランタイムオブジェクトに割り当てられた処置を含むエラー処理が、上記動作フロー中の上記ランタイムオブジェクト内で実行され、上記エラー処理の終了後に、直近の上記後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法が提供される。
以上説明したように本発明によれば、システムの稼動性を制限することなく、電子制御装置内で発生しうる複数のハードウェアエラー及びソフトウェアエラーに対して適切な処理をおこなうことができる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<概要>
まず、本発明の各実施形態の概要について説明する。
本発明の各実施形態に基づいて、上記課題は、プログラムコードが複数のランタイムオブジェクト(Laufzeitobjekt)に分割され、ランタイムオブジェクトにおいてエラーが確認された場合に、このエラーが確認されたランタイムオブジェクトがシーケンス制御部により中断され、動作フローの間にランタイムオブジェクト内で局所的なエラー処理が実行されており、その際、エラー処理は、安全な状態を実現するための、ランタイムオブジェクトに割り当てられた処置を含み、エラー処理の終了後に直近の後続のランタイムオブジェクトの実行が開始されることによって、解決される。
本発明の各実施形態の利点は、ハードウェア構成要素内での直接的な、コストのかかる特別なエラー処理を行なわずに済むことにある。エラーがあるランタイムオブジェクトは、続行中の制御装置の通常の動作フローの間に訂正されるので、制御装置の停止又はリセットによってシステムの稼動性が妨げられることが全くない。従って、動作フロー(Betriebsablauf)の各時点で、制御装置の安全性に関わらない機能が、中断されずに提供される。エラー処理のための本方法は、発生した複数の異なるエラーのために使用できるので、コストが非常に安価である。車両の制御装置のような制御サイクルが固定された制御システムにおいて、計算時間が追加して確保される必要がない。
本発明の更なる実施形態において、ランタイムオブジェクトは、第1計算命令に基づいて、入力変数と、状態変数記憶装置に格納された内部状態変数とから、新状態変数を作成し、その新状態変数は、状態変数記憶装置に再格納される一方で、第2計算命令に基づいて入力変数と共に計算されて出力変数が算出される。
ランタイムオブジェクトは、プログラムコードにおいて実現された機能の構成要素を含んでおり、入力及び出力インタフェースを介して外部と通信する。このようなランタイムオブジェクトを利用し、エラー処理によって、エラーによる作用を局所的及び時間的に制限する。エラーの際には、制御装置の出力側における作用・影響が最小限に抑えられる。エラーによる作用は、放置可能な程度に小さく、しばらく経つともはや検出が不可能となる。
ランタイオブジェクトの作動、個々のランタイムオブジェクトの計算順序、及び、ランタイムオブジェクトの動的な内部構成は、シーケンス制御部によって検証される。
原則的に、システム全体及び外部に対する作用を最小限に抑えるため、エラー検出及びエラー処理は、同一ランタイムオブジェクトの内部で局所的に行なわれる。
本発明の各実施形態において、ランタイムオブジェクトに割り当てられたエラー処理では、ランタイムオブジェクトの最終の正常実行の際に計算され状態変数記憶装置に格納された状態変数が、少なくとも部分的に変更されずに状態変数記憶装置に再格納される。従ってエラー処理の際に、目下の状態変数が、先に実行の状態変数と置き換えられる。すなわち、最後のエラーのない演算結果が再利用される。
同等の処置が、出力値に関しても利用される。この場合、ランタイムオブジェクトに割り当てられたエラー処理では、ランタイムオブジェクトの最終の正常実行の際に計算された出力変数が、少なくとも部分的に変更されずに出力変数として利用されることになる。
本発明の各実施形態において、ランタイムオブジェクトに割り当てられたエラー処理では、所定の基準値が、少なくとも部分的に状態変数として状態変数記憶装置に格納される処理、及び/又は、所定の基準値が、出力変数として利用される処理が実行されてもよい。この所定の基準値は、通常ではランタイムオブジェクトの正常なプログラム実行(Programmdurchlauf)において生成される内部状態変数及び出力変数の経験値(Erfahrungswert)に基づいている。
ランタイムオブジェクトに割り当てられたエラー処理の他の方法では、状態変数のための第1計算命令(Berechnungsvorschrift)が実現されている箇所、及び/又は、出力変数のための第2計算命令が実現されている箇所で、状態変数のための置換計算命令(Ersatzberechnungsvorschrift)、及び/又は、出力変数のための置換計算命令が呼び出されてもよい。これら置換計算命令は、基本の計算命令に類似していてもよいが、先行するプログラム実行において利用されていないため、置換計算命令にはエラーが存在しない。置換計算命令は、内部状態変数と出力変数とを、正常として知られる所定の状態に置く。この置換計算命令は、目下の入力変数にも依存しうる。置換計算命令は、必要とされる記憶容量及びランタイム(Laufzeit)のリソースが基本的により少ないという点で、実際の計算命令と異なる。従って、ランタイムオブジェクトが要する全ランタイムを超過しないことが保障される。
さらに、ランタイムオブジェクトに割り当てられたエラー処理では、所定の初期化関数(Initialisierungsfunktion)が実行され、その際、初期値(Initialisierungswert)が内部状態変数として状態変数記憶装置に格納される処理、及び/又は、初期値が出力変数として利用される処理が実行されてもよい。このような初期化によって、ランタイムオブジェクトは、正常な出力状態に設定され、次の制御サイクルで、正常に、プログラムフロー制御の際に再度利用されうる。従って、この代理関数(Ersatzfunktion)は初期化という形態で利用される。
上記の全エラー処理は、検出されたエラーに対応して選択され、従って代替的に利用されてもよい。
エラー処理の選択を簡略化するために、ランタイムオブジェクトは、状態変数のための第1計算命令、及び/又は、出力変数のための前記第2計算命令に対応してクラスに分けられてもよい。そして、各クラスには、少なくとも1つのエラー処理が割り当ていてもよい。
特に、ランタイムオブジェクトが信号処理アルゴリズム(signalverarbeitender Algorithmus)を含む場合に、エラー処理は、所定の基準値を用いて行なわれてもよい。この場合、短い静定時間(Einschwingzeit)が発生する。すなわち、一時的なエラーの後で、全入力変数がしばらく経つと再び正常になり、算術演算(Rechenoperation)が正確に実行されうる。従って、ランタイムオブジェクトの出力口において、エラーによる作用がもはや検出不可能である。
他の実施形態において、物理量(physikalische Groesse)に基づく連続した(kontinuierlich)信号が処理される場合に、エラー処理は、ランタイムオブジェクトの最終の正常実行の際に計算された状態変数及び出力変数を利用してもよい。このエラー処理は、広範囲で変化する物理量のために推奨される。この適用の場合、代理関数の利用も構想可能である。
ランタイムを節約するために、本発明の他の実施形態において、プログラムコードは、複数のランタイムオブジェクトに分割され、ランタイムオブジェクトにおいてエラーが確認された場合、シーケンス制御部により、このランタイムオブジェクトの実行が控えられ、このランタイムオブジェクトの代わりに、動作フロー中に局所的なエラー処理が実行され、その際、エラー処理は、安全な状態を実現するための、ランタイムオブジェクトに割り当てられた処置を含み、エラー処理の終了後に直近の後続のランタイムオブジェクトの実行が開始されてもよい。
提供される残りのランタイムは、もはや十分ではないことが、実行サイクル中に判明した場合には、この処置は特に有利である。
<第1実施形態>
次に、図1〜図3を参照しつつ、本発明の第1実施形態について説明する。
図1は、車両で通常使用されるような制御装置1の主要な内部構成の例を説明する説明図である。
図1に示すように、CPU(Central Processing Unit)は、中央演算ユニット2として、データバス7を介して異なる記憶ユニットと接続されている。図1では、これらの記憶ユニットとして、RAM(Random Access Memory)3、ROM(Read Only Memory)4及びフラッシュメモリ5を例示している。
中央演算ユニット2は、入力/出力インタフェース6を介して外部と通信可能であり、入力変数E(入力情報)を受信し、車両に出力変数A(出力情報)を出力する。その際、入力変数Eとしては、様々な入力信号を設定できる。ここでは入力変数Eの例として、車輪速度(Raddrehzahl)、エンジン速度(Motordrehzahl)、又はエンジン温度(Motortemperatur)が挙げられる。これらの入力変数Eは、物理量に基づく時間的に連続した信号の一例でもある。一方、出力変数Aも、多様な情報等であっても良いが、この出力変数Aとして、ここでは例えば速度が設定される場合について説明する。
シーケンス制御部として、及び中央演算ユニット2の構成要素としての駆動システムは、ランタイム(実行時間・実行時)に対して動的に制御装置1を構成し、信号処理工程の正確なフローに貢献する。
制御装置1による処理工程は、一時的エラーによって妨害される可能性がある。この一時的なエラーは、例えば、放射線がデータ記憶装置でビット破損(Bit-Verfaelschung)を引き起こすエラー、又は、電磁散乱(elektromagnetische Streuung)の影響によりCPUでの計算に誤りが引き起こされるエラー等に相当する。また、一時的エラーには、ソフトウェアの作成段階で検出及び修正できなかった散発的に作用するソフトウェアエラーも含まれる。
車両の制御装置1内で周期的に駆動されて処理される信号処理ソフトウェア、つまり、プログラムコードは、例えば、上記記憶ユニット等に記録されている。そして、このプログラムコードは、上記構成を有する制御装置1によって周期的に駆動・処理されて、その制御装置1(例えばコンピュータ)に所定の機能を実現させる。
また、この信号処理ソフトウェア、つまり、プログラムコード(例えば図3のプログラムコード13)は、複数のランタイムオブジェクト(例えば図3のランタイムオブジェクト8,9)に分割される。そして、各ランタイムオブジェクトには、プログラムコードが制御装置1に実現させる1又は2以上の機能に対応する構成要素(図3の構成要素1〜3等)が含まれる。この構成要素をコード構成要素ともいう。つまり、この構成要素それぞれが、制御装置1に所定の機能を実現させることになる。なお、以下、説明の便宜上、プログラムコード、ランタイムオブジェクト、構成要素、コード構成要素等という場合、それぞれのコード等が制御装置1に実現させる機能(手順・手段)を表すものとする。そして、各機能は、制御システムを構成する構成部材であるとも言える。
ランタイムオブジェクトは、入力及び出力インタフェースを介して外部と通信する。ランタイムオブジェクトの作動と、個々のランタイムオブジェクトの並行して実行可能な計算順序又は順次実行可能な計算順序と、ランタイムオブジェクトの動的な内部構成とが、駆動システムによって検証される。ランタイムオブジェクトは、論理的又は構造的に関連するひとまとまりに相当しうる。又は、異なる構成要素の部分を含むことが可能である。
このようなランタイムオブジェクトは、例えば、制御装置1で計算・実行等されるような、関数・タスク・工程として構成でき、このランタイムオブジェクトには、他のランタイムオブジェクトから入力変数が伝達されたり、外部へのインタフェースから入力変数が伝達される。
図2を参照しつつ、ランタイムオブジェクト8の構成を詳細に解説する。
ランタイムオブジェクト8は、内部状態変数xを格納し、かつ、後続のサンプリング時点に関する情報を伝達するための状態変数記憶装置9を有しているか接続される。この状態変数記憶装置9は、「記憶装置(Gedaechtnis)」とも呼称される。第1アルゴリズムf(第1計算命令の一例)によって、状態変数記憶装置9に格納された旧内部状態変数xk−1及び入力変数uから、新内部状態変数xが計算される。第2アルゴリズムg(第2計算命令の一例)によって、入力変数u及び新内部状態変数xから、出力値yが計算される。すなわち、以下の式のような計算が行われる。
=f(xk−1;u
=g(x;u
一時的エラーは、このランタイムオブジェクト8の様々な箇所で発生する可能性がある。
データエラー等のように入力変数uにエラーがある場合には、全計算及び全出力変数yが関わっており、この全出力変数yが、誤っている可能性がある。
RAMエラー等により状態変数記憶装置9でエラーが発生した場合も同様に、全計算及び全出力変数yが潜在的に関わっており、この全出力変数yが、誤っている可能性がある。
アルゴリズムfの計算中に一時的なハードウェアエラー又は散発的に作用するソフトウェアエラーにより発生したエラーの場合は、新たに計算される全状態変数xが誤っており、従って出力変数yにも作用する。すなわち、出力変数yにも同様にエラーが生じる可能性がある。
アルゴリズムgの計算中に一時的なハードウェアエラー又はソフトウェアエラーのせいで計算に誤りが発生する場合にも、出力変数yに誤りがあるが、この計算誤りは、状態変数xには関連しない。
図3は、本実施形態に係るエラー処理の概要について説明する説明図である。つまり、図3には、エラー処理が如何に行なわれるのかについて示す。
(監視処理)
正確に駆動するコード、すなわちランタイムオブジェクト8の構成要素1において、例えば、電磁放射線・放射線・宇宙線等により、プログラムシーケンスに一時的なエラーが発生する。このエラーが発生したコードを、構成要素2と呼称する。ランタイムオブジェクトのコードは、継続的に監視される。この監視は、様々な形態及び方法で行なわれる。この監視を行う形態及び方法の例としては、リソース監視、ランタイムエラー検出及びランタイムエラー監視等のOS(Operating System)の仕組みが適用可能である。そして、他のアプリケーション・ソフトウェアも、エラー検出のために利用可能である。アプリケーション・ソフトウェアを使用する場合、特に、例えば、プログラムフロー署名(Programmdurchflusssignaturen)・妥当性検査(Plausibilisierungen)・値域監視(Wertebereichsueberwachungen)が提供される。ソフトウェアによる監視の他に、更に、ウォッチドック(Watchdog)又はアドレス監視等によるハードウェア監視を用いることも可能である。
(中断処理)
1又は2以上の上述の監視処置によって、コード構成要素2が誤って実行されていることが確認される。このエラー検出は、上述の通り、シーケンス制御部として機能する駆動システム(例えば、制御装置1がプログラムコードを実行することにより実現される一機能)に知らされる。この駆動システムは、中断処理10を実行し、エラーが検出されたランタイムオブジェクト8のプログラムシーケンスを中断させる。従って、図3で、後続のコード構成要素3として示されるプログラムコードは、プログラムシーケンスが中断されているため、引き続いては処理されない。
(エラー処理)
エラーが検出されたランタイムオブジェクトの中断後、可能な限り迅速に、整合性のある安全な状態にシステムを戻すために、エラー処理11が実行され、所定のエラー処理の処置が開始される。この場合、このエラー処理としては、様々な変更例が構想される。そして、様々な形態のエラー処理の1又は2以上が、エラーの種類に対応して代替的に選択されて実行される。このエラー処理の例について説明すると以下の通りである。
最も簡単な例としては、完全又は部分的に先行する計算サイクルの旧値を用いて、状態変数x及び出力変数yを記述する(beschreiben)ルーチンが呼び出される場合が挙げられる。この場合、最終の正常実行の際に計算されて状態変数記憶装置9に格納されていた状態変数及び出力変数が、状態変数x及び出力変数yとして使用されることになる。すなわち、最終の正常な演算結果が再度利用される。
また、代替的に、ランタイムオブジェクトに特有の所定の基準値によって状態変数x及び出力変数yを上書きする(ueberschreiben)ルーチンが呼び出されてもよい。この場合、全変数が例えば0で記述されることが可能であり、これは、同様に部分的又は完全に、状態変数x及び出力変数yの全値に対しても実行可能である。
また、更なる別の可能性として、ランタイムオブジェクトに関連する代理関数(置換計算命令の一例)を呼び出すことが挙げられる。この代理関数は、状態変数記憶装置9に格納された内部状態変数xと、関連するランタイムオブジェクト8の出力変数yとを、目下の入力変数uに依存する定義された状態に移行させるという特別な目的を持って、プログラムされていることが望ましい。
また、更に、ランタイムオブジェクトに依存する初期化関数を用いて再初期化を実行することが提供されてもよい。この際、基準値としての初期化値が、内部状態変数x又は出力変数yとして設定される。
また、これら全処置は、上述のとおり、各ランタイムオブジェクトのために特別にコールバック・ルーチン(Callback-Routine)等として定義され、提供される。エラー処理11の制御は、駆動システムによって行なわれる。
また、これら全エラー処理の処置は、許容可能な内部状態変数x及び出力変数yを提供することを目的としている。上述の処置によって、エラーは、許容可能な、正常な関数との偏差へと変換される。その際、この偏差は、しばらく経つと完全に解消されることになる。
(後続ランタイムオブジェクトの実行処理)
エラー処理の処置11が終了した後に、駆動システムは、以前に中断された制御フローの続行を促し、プログラムフロー制御により確定された直近の後続のランタイムオブジェクト12の処理を開始する。
(エラー処理の選択)
エラー処理の処置の選択は、上述の通り、エラー形態にのみ依存せず、ランタイムオブジェクトの形態にも依存する。従って、エラー処理の選択が、エラーの種類や形態に対応して行われるだけでなく、ランタイムオブジェクトは異なるクラスに分けられ、各クラスには少なくとも1のエラー処理が割り当てられることが望ましい。なお、このクラス分けは、ランタイムオブジェクトで処理される第1アルゴリズム及び/又は第2アルゴリズムに対応して行われることが望ましい。
ランタイムオブジェクトが基本的に信号処理アルゴリズムを含む場合には、これらの関数は、セトリング・タイム(settling time)が最も短い。すなわち、一時的エラーの後において、全入力変数が再び正常となり、そして算術演算が正確に実行される場合、エラーによる作用は、短時間が経過するだけでランタイムオブジェクトの出力側においてもはや追跡不可能となるくらい、小さく抑えられうる。このようなランタイムオブジェクトは、比較的危機的な状態ではない。この場合、原則的に、上記に例示した全エラー処理の処置が利用可能であるが、全内部状態値及び全出力値のための標準(デフォルト)値又はパッシブ値(Passivwert)、及び、出力変数が設けられているので、状態変数及び出力変数に、この基準値を割り当てることが最も簡単であり、かつ、処理時間が短く済む。
デフォルト値又はパッシブ値が設けられていない場合などでは、物理量に基づく時間的に連続した信号を処理する場合が典型例として該当するように、やむを得ず他のエラー処理を行なう必要がある場合がある。この場合には、代理関数の適用が有利である。しかし、先行する計算サイクルの旧変数を利用することも可能である。この旧変数は、内部状態変数として状態変数記憶装置に登録される、又は、出力変数として設定される。
実現されたプログラムコードの要請に、提供される計算能力が対応しない場合、すなわち、設定されたよりも多くの計算時間がプログラムコードの実行のために必要となる場合には、ランタイムに関する問題も発生しうる。この場合には、駆動中にエラーとして、ランタイムの超過が示される。このエラーが発生した場合には、エラー処理のために、駆動されるべきランタイムオブジェクトがスキップされ、より短い計算時間を要する代理関数と置換される。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されないことは言うまでもない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
車両で通常使用されるような制御装置1の主要な内部構成の例を説明する説明図である。 車両で通常使用されるような制御装置1によるランタイムオブジェクトの構成の例を説明する説明図である。 本発明の第1実施形態に係るエラー処理の概要について説明する説明図である。
符号の説明
1 制御装置
2 中央演算ユニット
3 RAM
4 ROM
5 フラッシュメモリ
6 入力/出力インターフェイス
7 データバス
8,12 ラインタイムオブジェクト
9 状態変数記憶装置
10 中断処理
11 エラー処理
13 プログラムコード
E 入力変数
A 出力変数

Claims (12)

  1. 車両制御装置におけるプログラムコードに基づいた動作フローが、シーケンス制御部により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、
    前記プログラムコードが、複数のランタイムオブジェクトに分割され、
    ランタイムオブジェクトにおいてエラーが確認された場合、前記シーケンス制御部により、該ランタイムオブジェクトが中断され、
    安全な状態を実現するための、前記ランタイムオブジェクトに割り当てられた処置を含む局所的なエラー処理が、前記動作フロー中の前記ランタイムオブジェクト内で実行され、
    前記エラー処理の終了後に、直近の後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  2. 前記ランタイムオブジェクトは、
    第1計算命令に基づいて、入力変数と、状態変数記憶装置に格納された内部状態変数とから、新状態変数を作成して、前記状態変数記憶装置に再格納する一方、
    第2計算命令に基づいて、前記入力変数と前記新状態変数とから出力変数を計算することを特徴とする、請求項1に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  3. 前記ランタイムオブジェクトに割り当てられた前記エラー処理では、前記ランタイムオブジェクトの最終の正常実行の際に計算され前記状態変数記憶装置に格納された状態変数が、少なくとも部分的に変更されずに前記状態変数記憶装置に再格納されることを特徴とする、請求項1又は2に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  4. 前記ランタイムオブジェクトに割り当てられた前記エラー処理では、前記ランタイムオブジェクトの最終の正常実行の際に計算された出力変数が、少なくとも部分的に変更されずに出力変数として再利用されることを特徴とする、請求項1又は2に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  5. 前記ランタイムオブジェクトに割り当てられた前記エラー処理では、所定の基準値を少なくとも部分的に前記内部状態変数として前記状態変数記憶装置に格納する処理、及び/又は、所定の基準値を前記出力変数として利用する処理が実行されることを特徴とする、請求項1又は2に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  6. 前記ランタイムオブジェクトに割り当てられた前記エラー処理では、前記状態変数のための置換計算命令、及び/又は、前記出力変数のための置換計算命令が呼び出されることを特徴とする、請求項1又は2に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  7. 前記ランタイムオブジェクトに割り当てられた前記エラー処理では、所定の初期化関数が実行され、初期値を前記内部状態変数として前記状態変数記憶装置に格納する処理、及び/又は、初期値を前記出力変数として利用する処理が実行されることを特徴とする、請求項1又は2に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  8. 前記ランタイムオブジェクトに割り当てられた前記エラー処理では、エラーに対応して代替的に選択される複数の相異なるエラー処理が割り当てられることを特徴とする、請求項1〜7のいずれかに記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  9. 前記ランタイムオブジェクトは、前記状態変数のための前記第1計算命令、及び/又は、前記出力変数のための前記第2計算命令に対応してクラスに分けられ、
    各前記クラスには、少なくとも1つのエラー処理が割り当てられることを特徴とする、請求項2に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  10. 前記エラー処理は、前記ランタイムオブジェクトが信号処理アルゴリズムを含む場合、前記所定の基準値を用いて行なわれることを特徴とする、請求項9に記載の車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
  11. 前記エラー処理では、前記ランタイムオブジェクトにより物理量に基づいた連続した信号が処理される場合、前記ランタイムオブジェクトの最終の正常実行の際に計算された状態変数及び出力変数が利用されることを特徴とする、請求項9に記載の方法。
  12. 車両制御装置におけるプログラムコードに基づいた動作フローが、シーケンス制御部により継続的に監視されている、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法であって、
    前記プログラムコードが、複数のランタイムオブジェクトに分割され、
    ランタイムオブジェクトにおいてエラーが確認された場合、前記シーケンス制御部により、後続のランタイムオブジェクトの実行が控えられ、
    前記後続のランタイムオブジェクトの代わりに、安全な状態を実現するための、前記ランタイムオブジェクトに割り当てられた処置を含むエラー処理が、前記動作フロー中の前記ランタイムオブジェクト内で実行され、
    前記エラー処理の終了後に、直近の前記後続のランタイムオブジェクトの実行が開始されることを特徴とする、車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法。
JP2008297523A 2007-11-22 2008-11-21 車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法 Withdrawn JP2009129463A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200710056218 DE102007056218A1 (de) 2007-11-22 2007-11-22 Verfahren zur Behandlung von transienten Fehlern in Echtzeitsystemen, insbesondere in Steuergeräten von Kraftfahrzeugen

Publications (1)

Publication Number Publication Date
JP2009129463A true JP2009129463A (ja) 2009-06-11

Family

ID=40576916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008297523A Withdrawn JP2009129463A (ja) 2007-11-22 2008-11-21 車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法

Country Status (3)

Country Link
EP (1) EP2085883A1 (ja)
JP (1) JP2009129463A (ja)
DE (1) DE102007056218A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101602275B1 (ko) * 2015-03-17 2016-03-10 현대오트론 주식회사 차량 자체점검 제어장치 및 제어방법
KR101779124B1 (ko) * 2011-11-15 2017-09-19 콘티넨탈 오토모티브 시스템 주식회사 차량 내 소프트웨어 디버깅 방법
JP2020135722A (ja) * 2019-02-25 2020-08-31 株式会社デンソー センター装置、データ配信システム及び制限実施プログラム
KR102387137B1 (ko) * 2020-12-23 2022-04-15 재단법인대구경북과학기술원 전자식 변속 제어기의 고장 검출 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2546706B1 (fr) * 2011-07-13 2017-02-22 ETA SA Manufacture Horlogère Suisse Mouvement d'horlogerie comprenant un module muni d'un mobile engrenant avec un autre mobile pivotant dans une base sur laquelle est monté le module
US10216521B2 (en) 2017-06-20 2019-02-26 Nvidia Corporation Error mitigation for resilient algorithms
FR3083884B1 (fr) 2018-07-16 2021-06-11 Airbus Helicopters Procede de gestion d'un systeme de pilotage automatique equipant un aeronef

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619409A (en) * 1995-06-12 1997-04-08 Allen-Bradley Company, Inc. Program analysis circuitry for multi-tasking industrial controller
US7036052B2 (en) * 2001-10-22 2006-04-25 Microsoft Corporation Remote error detection by preserving errors generated throughout a software stack within a message
DE102004046611A1 (de) * 2004-09-25 2006-03-30 Robert Bosch Gmbh Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem
DE102004051966A1 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
US8001342B2 (en) * 2006-03-29 2011-08-16 International Business Machines Corporation Method for storing and restoring persistent memory content and virtual machine state information

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101779124B1 (ko) * 2011-11-15 2017-09-19 콘티넨탈 오토모티브 시스템 주식회사 차량 내 소프트웨어 디버깅 방법
KR101602275B1 (ko) * 2015-03-17 2016-03-10 현대오트론 주식회사 차량 자체점검 제어장치 및 제어방법
JP2020135722A (ja) * 2019-02-25 2020-08-31 株式会社デンソー センター装置、データ配信システム及び制限実施プログラム
WO2020174981A1 (ja) * 2019-02-25 2020-09-03 株式会社デンソー センター装置、データ配信システム及び制限実施プログラム
CN113767034A (zh) * 2019-02-25 2021-12-07 株式会社电装 中心装置、数据分发系统以及限制实施程序
EP3932748A4 (en) * 2019-02-25 2022-04-13 Denso Corporation CENTRAL DEVICE, DATA DISTRIBUTION SYSTEM AND RESTRICTION ENFORCEMENT PROGRAM
JP7419658B2 (ja) 2019-02-25 2024-01-23 株式会社デンソー センター装置、データ配信システム、制限実施プログラム及び制限実施方法
CN113767034B (zh) * 2019-02-25 2024-06-14 株式会社电装 中心装置、数据分发系统以及记录限制实施程序的记录介质
KR102387137B1 (ko) * 2020-12-23 2022-04-15 재단법인대구경북과학기술원 전자식 변속 제어기의 고장 검출 시스템

Also Published As

Publication number Publication date
EP2085883A1 (de) 2009-08-05
DE102007056218A1 (de) 2009-05-28

Similar Documents

Publication Publication Date Title
JP2009129463A (ja) 車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US7890800B2 (en) Method, operating system and computing hardware for running a computer program
JP4903149B2 (ja) コンピュータシステム上でコンピュータプログラムを処理する方法
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
JP2008305317A (ja) マルチプロセッサシステム及びその制御方法
US7788533B2 (en) Restarting an errored object of a first class
US20080133975A1 (en) Method for Running a Computer Program on a Computer System
US20230093493A1 (en) Apparatus, Device, Method, and Computer Program for Configuring a Processing Device
JP5041290B2 (ja) プログラマブルコントローラおよびその異常時復旧方法
CN110825561A (zh) 控制系统以及控制装置
JP5327105B2 (ja) バックアップシステム
US11372706B2 (en) Vehicle control device
JP2016066139A (ja) 車両制御装置
US7711985B2 (en) Restarting an errored object of a first class
US8478923B2 (en) Interrupt suppression by processing just first interrupt of a same type
US20080115132A1 (en) Data processing device and method for monitoring correct operation of a data processing device
US9043654B2 (en) Avoiding processing flaws in a computer processor triggered by a predetermined sequence of hardware events
CN104063317A (zh) 一种指令诊断方法
WO2013073009A1 (ja) マイコンシステム、監視マイコン
CN117008941B (zh) 一种中断处理程序无感升级方法和计算机系统
JP2012248022A (ja) 情報処理装置、故障検出装置、故障検出方法
US9342359B2 (en) Information processing system and information processing method
CN117093399A (zh) 系统启动方法、片上系统、计算机设备及存储介质
JPS6118045A (ja) プログラムの暴走検出方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120207