Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6945672B2 - フェイルセーフシステム - Google Patents
[go: Go Back, main page]

JP6945672B2 - フェイルセーフシステム - Google Patents

フェイルセーフシステム Download PDF

Info

Publication number
JP6945672B2
JP6945672B2 JP2020036426A JP2020036426A JP6945672B2 JP 6945672 B2 JP6945672 B2 JP 6945672B2 JP 2020036426 A JP2020036426 A JP 2020036426A JP 2020036426 A JP2020036426 A JP 2020036426A JP 6945672 B2 JP6945672 B2 JP 6945672B2
Authority
JP
Japan
Prior art keywords
control device
control
alternative
control program
program
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.)
Active
Application number
JP2020036426A
Other languages
English (en)
Other versions
JP2021140370A (ja
Inventor
伊藤 裕章
裕章 伊藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2020036426A priority Critical patent/JP6945672B2/ja
Publication of JP2021140370A publication Critical patent/JP2021140370A/ja
Application granted granted Critical
Publication of JP6945672B2 publication Critical patent/JP6945672B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Safety Devices In Control Systems (AREA)

Description

本願は、フェイルセーフシステムに関する。
車両には、エンジン制御、トランスミッション制御、ブレーキ制御、走行制御等車両を走行させるために必要な制御装置が搭載されている。これら複数の制御装置は互いに通信線を介してデータ交換できるように構成され、車両全体として安定した制御を実現する車両統合制御システムが採用されている。
車載制御機器毎のセンサ、スイッチ等の入力装置を独立させて通信線を介して接続し、車載制御機器毎のアクチュエータ、モータドライバ等の出力装置を独立させて通信線を介して接続し、車載制御機器毎の制御装置と通信線を介して接続することによって、エンジン制御、トランスミッション制御、ブレーキ制御、走行制御等の統合制御を実施する制御システムが提案されている。このような統合制御装置にはフェイルセーフシステムが設けられている。
特開2002−221075号公報
特許文献1には、各制御装置の動作を監視するマネージャ制御部を設け、車両の走行に必要ないずれかの制御装置が故障した場合、優先度の低い他の制御装置を故障した制御装置の代用として機能させるフェイルセーフシステムが開示されている。マネージャ制御部は、優先度の低い他の制御装置に、故障した制御装置の仕様を簡略化した代替制御プログラムである基本プログラムを、ダウンロードさせて代用の制御装置として機能させている。これにより、車両は最低限の走行性能を確保することができる。
このフェイルセーフシステムでは、車両の走行に必要な制御装置いずれかが故障した場合、故障が発生した制御装置の代用を、どの制御装置に務めさせるかは、マネージャ制御部が優先順位をあらかじめ定めている。また、代用を務める制御装置にダウンロードさせる代替制御プログラムである各基本プログラムは、マネージャ制御部が格納している。しかしながら、特許文献1の技術には、以下のような課題がある。
マネージャ制御部が必要不可欠であり、制御システムのコストアップの要因となる。加えて、マネージャ制御部は各制御装置の代替制御プログラムである各基本プログラムを保管するための記憶容量を有している必要があり、制御システムのコストアップの要因となる。
そこで、本願はマネージャ制御部によらず、制御装置の故障時の代替制御の実施を可能とするフェイルセーフシステムを提供することを目的とする。
本願に係るフェイルセーフシステムは、
相互に監視を実施する複数の制御装置が接続されたフェイルセーフシステムにおいて、
いずれかの制御装置である第一の制御装置は、
前記第一の制御装置の記憶部に、通常の制御に用いる制御プログラムと、前記第一の制御装置の故障時に前記第一の制御装置のバックアップに用いる代替制御プログラムとを格納し、
前記代替制御プログラムを、他のいずれかの制御装置である第二の制御装置の記憶部の空き領域に前記第一の制御装置からアップロードし、
前記第二の制御装置は、
前記第一の制御装置を監視し、
前記第一の制御装置が故障したと前記第二の制御装置が判断した場合、前記第二の制御装置の記憶部に格納された前記代替制御プログラムを実行し、
前記複数の制御装置のそれぞれは前記第一の制御装置として、故障時の制御に用いる前記代替制御プログラムを、前記第二の制御装置としての他の制御装置の記憶部の空き領域にアップロードすることを特徴としたものである。

制御装置が、自身の代替制御プログラムを実行する他の制御装置を決定し、代替制御プログラムをアップロードすることで、他の制御装置による当該制御装置の監視と、当該制御装置の故障時に他の制御装置による代替制御の実施を可能とした。これにより、マネージャ制御部を削減することができ、フェイルセーフシステムのコストを低減することができる。
実施の形態1に係るフェイルセーフシステムの構成を示す図である。 実施の形態1に係る制御装置のハードウェアの構成を示す図である。 実施の形態1に係る各制御装置の記憶部の構成を示す図である。 実施の形態1に係る制御装置の全体の処理を示すフローチャートである。 実施の形態1に係る制御装置の起動処理を示すフローチャートである。 実施の形態1に係る制御装置の制御処理を示すフローチャートである。 実施の形態1に係る制御装置のダウンロード処理を示すフローチャートである。 実施の形態1に係る制御装置のアップロード処理を示すフローチャートである。 実施の形態1に係る制御装置のアップロード処理の詳細を示すフローチャートである。 実施の形態2に係る制御装置のアップロード処理を示すフローチャートである。
以下、本願に係る車両用制御装置の実施の形態について、図面を参照して説明する。本実施例は、主には車両システムにおける車両制御システム、および車両制御装置について説明しており、車両システムにおける実施に好適であるが、車両システム以外への適用を妨げるものではない。
1.実施の形態1
図1は、実施の形態1に係るフェイルセーフシステム100の構成を示すブロック図である。車両に搭載された複数の制御装置1、2、3、4、5、6と、車載機器を夫々動作させる複数のアクチュエータ12、22、32、42と、制御に用いる状態量を夫々検出する複数のセンサ11、21、31、41が示されている。複数のセンサ11、21、31、41、複数のアクチュエータ12、22、32、42と、複数の制御装置1、2、3、4、5、6は、相互に情報を交換できる通信ライン60によって接続されている。
<1−1.制御装置>
図2は、実施の形態1に係る制御装置1から6のハードウェアの構成を示す図である。実施の形態1では、制御装置1から6は、エンジン制御、トランスミッション制御、走行制御、ナビゲーション制御、計器表示制御、ドアロック制御、ステアリング制御、ブレーキ制御、オーディオ制御、ビデオ制御、衝突予防制御、車間距離制御、ヘッドライト制御、パワーウィンドウ制御、自動走行制御などの車載機器を制御する制御装置である。制御装置1から6の各機能は、制御装置1から6が備えた処理回路により実現される。具体的には、制御装置1から6は、図2に示すように、処理回路として、CPU(Central Processing Unit)等の演算処理装置90(コンピュータ)、演算処理装置90とデータのやり取りをする記憶装置91、演算処理装置90に外部の信号を入力する入力回路92、及び演算処理装置90から外部に信号を出力する出力回路93等を備えている。
演算処理装置90として、ASIC(Application Specific Integrated Circuit)、IC(Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、各種の論理回路、及び各種の信号処理回路等が備えられてもよい。また、演算処理装置90として、同じ種類のものまたは異なる種類のものが複数備えられ、各処理が分担して実行されてもよい。記憶装置91として、演算処理装置90からデータを読み出し及び書き込みが可能に構成されたRAM(Random Access Memory)、演算処理装置90からデータを読み出し可能に構成されたROM(Read Only Memory)、フラッシュメモリ等が備えられている。入力回路92は、各種のセンサ及びスイッチが接続され、これらセンサ及びスイッチの出力信号を演算処理装置90に入力するA/D変換器等を備えている。出力回路93は、電気負荷が接続され、これら電気負荷に演算処理装置90からの制御信号を変換して出力する駆動回路等を備えている。
制御装置1から6が備える各機能は、演算処理装置90が、ROM等の記憶装置91に記憶されたソフトウェア(プログラム)を実行し、記憶装置91、入力回路92、及び出力回路93等の制御装置1から6の他のハードウェアと協働することにより実現される。なお、制御装置3が用いる閾値、判定値等の設定データは、ソフトウェア(プログラム)の一部として、ROM等の記憶装置91に記憶されている。
<1−2.各制御装置の機能>
図1の制御装置1、2、3、4、5、6の構成要素の機能について説明する。図1の制御装置1、2、3、4、5、6の内部に記載された1b、2b、3b、4b、5b、6bで示された通信部と、通信ライン60で結ばれたセンサ11、21、31、41およびアクチュエータ12、22、32、42は、それぞれソフトウェアのモジュールで構成されるものであってもよいが、ソフトウェアとハードウェアの組み合わせによって構成されるものであってもよい。また、演算処理装置90と記憶装置91とは一体としてマイコン1a、2a、3a、4a、5aとして記載されているが、マイコンの内部回路は、図2に準ずる構成となっている。これらは別体のCPU、ROMおよびRAMからなる構成であってもよい。入力回路92と出力回路93は、通信部1b、2b、3b、4b、5b、6bがこれに相当する。しかし、通信ライン60によって接続される、センサ11、21、31、41、51とアクチュエータ12、22、32、42に備わるインターフェース回路を、図2の入力回路92と出力回路93とみなしてもよい。
図1において、車両の走行に最低限必要な制御装置1(例えばエンジンを制御するECU)は、処理速度が25[MIPS]で記憶容量が320[KB]のマイコン1aを備え、通信部1bを介して所定の通信処理を実行できるように構成されている。また車両の走行に最低限必要なセンサ(例えばクランク角センサ等)11は、内蔵する通信部11aを介して通信ライン60に直接接続され、同様に車両の走行に最低限必要なアクチュエータ(例えばインジェクタ等)12が、内蔵する通信部12aを介して通信ライン60に直接接続されている。
従って、センサ11から制御装置1への信号入力、及び制御装置1からアクチュエータ12への信号出力は、通信ライン60を介して行われる。
制御装置2(例えば、トランスミッションECU)は、処理速度が25[MIPS]で記憶容量が320[KB]のマイコン2aを備え、通信部2bを介して所定の通信処理を実行できるように構成されている。またセンサ(例えば回転数センサ、車速センサ等)21は、内蔵する通信部21aを介して通信ライン60に直接接続され、アクチュエータ(例えば、ライン圧ソレノイド等)22が、内蔵する通信部22aを介して通信ライン60に直接接続されている。従って、センサ21から制御装置2への信号入力、及び制御装置2からアクチュエータ22への信号出力は、通信ライン60を介して行われる。
制御装置3(例えば走行制御ECU)は、処理速度が15[MPIS]で記憶容量が128[KB]のマイコン3aを備え、通信部3bを介して所定の通信処理を実行できるように構成されている。またセンサ(例えばマスタシリンダ圧センサ等)31は、内蔵する通信部31aを介して通信ライン60に直接接続され、アクチュエータ(例えば、ブレーキアクチュエータ等)32が、内蔵する通信部32aを介して通信ライン60に直接接続されている。
従って、センサ31から制御装置3への信号入力、及び制御装置3からアクチュエータ32への信号出力は、通信ライン60を介して行われる。
制御装置4(例えばナビECU)は、処理速度が25[MPIS]で記憶容量が400[KB]のマイコン4aを備え、通信部4bを介して所定の通信処理を実行できるように構成されている。またセンサ(例えば、位置情報を検出するための各種センサ等)41は、内蔵する通信部41aを介して通信ライン60に直接接続され、アクチュエータ(例えば、車両の現在位置を表示させる表示装置等)42が、内蔵する通信部42aを介して通信ライン60に直接接続されている。
制御装置4は、センサ41から制御装置4への信号入力、及び制御装置4からアクチュエータ42への信号出力は、通信ライン60を介して行われ、さらに、位置情報を演算に用いる車速等の情報を、通信ラインを介して取得する。
制御装置5(例えば第一ボデーECU)は、処理速度が3[MIPS]で記憶容量が64[KB]のマイコン5aを備え、通信部5bを介して所定の通信処理を実行できるように構成されている。制御装置5は、例えば、インストルメントパネル内に収容された速度メータ等の各種計器類を制御するものとして構成され、これら計器類を動作させるための各種アクチュエータが接続されている。
制御装置5は、通信ライン60を介して送信された車速、水温等を表すデータに基づいて、各アクチュエータを駆動制御する。
制御装置6(例えば第二ボデーECU)は、処理速度が1[MIPS]で記憶容量が16[KB]のマイコン6aを備え、通信部6bを介して所定の通信処理を実行できるように構成されている。制御装置6は、例えばパワーウィンドウの開閉、ドアの施開錠を制御するものとして構成され、駆動モータの回転数センサ、パワーウィンドウスイッチ、ドアロックスイッチ等のセンサ、スイッチ類が接続されると共に、パワーウィンドウモータ、ドアロックモータ等を動作させるための各種アクチュエータが接続されている。
制御装置6は、通信ライン60を介して送信された車速を表すデータに基づき、当該車速が一定以上になったことを検出すると、ドアロックモータを駆動することによりドアを自動的に施錠する。
上記制御装置1〜6及び各センサ11、21、31、41は車両を最適に制御するために、上記内蔵された各通信部及び通信ライン60を介して、互いのデータを送受信できるように構成されている。
<1−3.フェイルセーフ>
次に、本実施例のフェイルセーフシステム100において実行される処理について説明する。本実施例のフェイルセーフシステム100は、上述した各制御装置1から6のいずれかの故障が原因して車両の走行が不能になることを防止するものであり、いずれの制御装置が故障しても、故障していない少なくとも1つ以上の他の制御装置により、最低限の処理を代行することにより、少なくとも救援を求められる場所まで車両を走行させることを可能にするものである。
これを実現するために、各制御装置1から6は当該制御装置が故障して格納されていた制御プログラムが実行できなくなった場合においても、実行されるべき制御プログラム(以下、代替制御プログラム)を、夫々格納している。この代替制御プログラムは、いずれかの制御装置が故障した場合、故障していない少なくとも1つ以上の他の制御装置により実行されるプログラムであり、通常の車両制御における補正処理等の細かな処理を実現する部分(ダイアグノーシス含む)が省略されている。このため、当該代替制御プログラムは、そのプログラムが簡略された分、小規模(小容量)に構成されている。具体例として、制御装置1、制御装置2について説明する。
制御装置1(エンジンを制御するエンジンECU)の代替制御プログラム1gとして、例えば燃料噴射量及び点火時期を固定した基本噴射/点火機能を実現する代替制御プログラム1gを格納している。従って、代替制御プログラム1gにおいては、通常時に実行する制御プログラム1fに見られるような、燃料噴射量及び点火時期を最適に補正する部分は省略されている。代替制御プログラム1gの実行により、インジェクタに対して一定噴射量での燃焼噴射処理の実行が指令され、イグナイタに対して一定の点火時期での点火処理の実行が指令される。この結果、代替制御プログラム1gの実行により、少なくとも車両の走行に必要な最低限のエンジントルクが確保される。
また制御装置2(トランスミッションECU)の代替制御プログラム2gとして、例えば変速機の変速段を固定した固定変速機能を実現する代替制御プログラム2gを格納している。従って、代替制御プログラム2gにおいては、通常時に実行する制御プログラム2fに見られるような、細かな変速制御を実行する部分は省略されている。当該変速段は定速のものに固定されており、代替制御プログラム2gの実行により、所定の車軸トルクが得られるようになっている。この結果、代替制御プログラム2gの実行により、限られた出力ながら車両を走行させることができるようになっている。また、上記制御装置1の代替制御プログラム1gが機能している場合に、重ねて制御装置2の代替制御プログラム2gが機能する場合であっても、所謂エンジンストップを防止しつつ車両を走行させることができるようになっている。
<1−4.代替制御プログラム>
図3は、実施の形態1に係る各制御装置1、2、3、4、5、6の記憶部1e、2e、3e、4e、5e、6eの構成を示す図である。制御プログラム1f、2f、3f、4f、5fと、代替制御プログラム1g、2g、3g、4g、5g、6g、および、空き領域1h、2h、3h、4h、5h、6hが記載されている。代表して制御装置1について説明すると、通信部1b、CPU1c、RAM1dとフラッシュメモリからなる記憶部1eを備え、記憶部1eの内部には、制御プログラム1fと代替制御プログラム1gが格納され、空き領域1hが確保されている。
(a) フェイルセーフシステム100は、
複数の制御装置1から6が接続されたフェイルセーフシステム100であって、
制御装置1から6のいずれかの制御装置である第一の制御装置は、
第一の制御装置の記憶部に、通常の制御に用いる制御プログラムと、故障時の制御に用いる代替制御プログラムとを格納し、
代替制御プログラムを、他のいずれかの制御装置である第二の制御装置の記憶部の空き領域にアップロードし、
第二の制御装置は、
第一の制御装置を監視し、
第一の制御装置が故障した場合、第二の制御装置の記憶部に格納された代替制御プログラムを実行するものである。
例えば、制御装置1が制御装置に2の記憶部2eの空き領域2hに、代替制御プログラム1gをアップロードする場合を考える。その場合、制御装置1がその代替制御プログラム1gをアップローした制御装置2に監視され、制御装置1が故障した場合は、制御装置2が、記憶部2eの空き領域2hに格納した代替制御プログラム1gを実行して、制御装置1の代用を務めることとなる。このとき、制御装置1の代用を務める制御装置2は、自らの制御プログラム2fを実行しつつ、制御装置1の代替制御プログラム1gを自らの記憶部2e上にて追加的に実行することとなる。このように、制御装置1から6が、自身の代替制御プログラム1gから6gを実行する他の制御装置を決定し、代替制御プログラム1gから6gをアップロードすることで、自身の監視と自身の故障時の代替制御の実施を可能とした。これにより、マネージャ制御部の削減による制御システムのコストを削減することができる。また、他の制御装置の代替制御プログラムを、受け入れる能力がある制御装置がその記憶装置の空き領域にダウンロードするので、代替プログラムを実行する制御装置が本来の自身の制御を継続して実行することができる。
ここで、代替制御プログラムを他の制御装置にアップロードする制御装置を、最低限走行に必要な制御装置に限定することもできる。例えば、エンジンECUとトランスミッションECUについてのみ、代替制御プログラムを、他の制御装置にダウンロードすることとしてもよい。少なくとも救援を求めることのできる場所まで、車両を走行させることができればよいからである。なお、アップロード、ダウンロードは表裏一体の呼称であって、主体が他の記憶領域へデータを書き込む(格納する)ことをアップロード、主体が自身の記憶領域へデータを読み込む(格納する)ことをダウンロードと称する。
<1−5.全制御装置の代替制御プログラムのアップロード>
図3には、制御装置1から6の間の代替制御プログラム1gから6gのアップロードの状況の一例を示している。図3では、制御装置1の代替制御プログラム1gは、制御装置2の記憶部2eの空き領域2hにアップロードされている(矢印51)。制御装置2の代替制御プログラム2gは、制御装置1の記憶部1eの空き領域1hにアップロードされている(矢印52)。制御装置3の代替制御プログラム3gは、制御装置2の記憶部2eの空き領域2hにアップロードされている(矢印53)。制御装置4の代替制御プログラム4gは、制御装置3の記憶部3eの空き領域3hにアップロードされている(矢印54)。制御装置5の代替制御プログラム5gは、制御装置4の記憶部4eの空き領域4hにアップロードされている(矢印55)。制御装置6の代替制御プログラム6gは、制御装置5の記憶部5eの空き領域5hにアップロードされている(矢印56)。代替制御プログラムをアップロードされた制御装置(他の制御装置の代替制御プログラムを自身の記憶部へダウンロードした制御装置)は、アップロード元の制御装置を監視する使命を与えられ、アップロード元の制御装置が故障していると判断した時は、記憶部の空き領域にアップロードされた代替制御プログラムを実行して、アップロード元の故障した制御装置の代替えとして機能することとなる。
(b) このフェイルセーフシステム100は、
複数の制御装置1から6それぞれは、故障時の制御に用いる代替制御プログラム1gから6gを、他の制御装置の記憶部の空き領域にアップロードするものである。
フェイルセーフシステム100を構成する全ての制御装置1から6が、代替制御プログラム1gから6gを他の制御装置1から6の記憶部1eから6eの空き領域1hから6hに格納させるためには、空き領域1hから6hの合計容量が、各制御装置1から6の代替制御プログラム1gから6gの合計容量より大きくなくてはならないので、全体としての空き領域を充分確保する必要がある。
これによって、マネージャ制御部を不要としつつ、すべての制御装置1から6の故障時の対応が完成する。マネージャ制御部を必要としないのでコストを低減できる。また、各代替制御プログラム1gから6gを格納するために、各制御装置1から6の記憶部1eから6eの空き領域1hから6hのみを使用しているので、代替制御プログラム1gから6gを実行する制御装置1から6が各々の制御プログラム1fから6fを継続して実行することができる。
<1−6.アップロード前の問い合わせ>
上記代替制御プログラム1gから6gのアップロード先を特定するため、各制御装置1から6は通信ライン60を用いて、定期的に自身の計算資源を開示し、相互に共有してもよい。計算資源として、最も重要な指標がアップロードしようとする代替制御プログラムの容量と、アップロードしようとする相手の記憶部の空き領域の容量との関係である。各制御装置1から6の計算資源は共有されているので、各制御装置1から6は、自己の代替制御プログラム1gから6gのアップロードを許可されやすい、空き領域の大きい制御装置の順に、アップロードが可能かどうか問い合わせる。その際、自己の代替制御プログラムの容量を伝達して、受け入れる能力があるかどうかを問い合わせる。
問い合わせを受けた制御装置は、自己の計算資源を確認し、例えばすでに他の制御装置の代替制御プログラムのアップロードの申し入れを受け入れており、記憶部の空き領域が不足している等の理由によって、受け入れる能力が無い場合はその旨回答する。問い合わせた側の制御装置は、次の候補の制御装置に、自己の代替制御プログラムの容量を伝達し、自己の代替制御プログラムを受け入れる能力があるかどうかを問い合わせる。問い合わせた側の制御装置は、能力があると回答した制御装置の記憶部の空き領域に、自己の代替制御プログラムをアップロードする。
(c) このフェイルセーフシステム100は、
制御装置1から6が、代替制御プログラム1gから6gを他の制御装置にアップロードする前に、代替制御プログラムのプログラム容量を他の制御装置に伝達し、他の制御装置が代替制御プログラムを受け入れる能力があるかどうか問い合わせ、
能力が無いと回答された場合は別の制御装置に問い合わせ、
能力があると回答した制御装置の記憶部の空き領域に代替制御プログラムをアップロードするものである。
代替制御プログラム1gから6gをアップロードする前に、相手の制御装置に、代替制御プログラムの容量を知らせて、アップロードを受け入れる能力があるかどうかを問い合わせることにより、相手の制御装置の実情に合わせてアップロード可能な制御装置を探すことができる。これによって、アップロードの失敗を防ぎ、比較的短い時間で適切にアップロードを進めることができる。
<1−7.必要な計算資源の提示>
さらに、上記代替制御プログラム1gから6gのアップロード先を特定するため、各制御装置1から6は通信ライン60を用いて、定期的に自身の計算資源を開示し相互に共有しているが、この計算資源を、記憶部の空き領域以外に、各制御装置の平均負荷、ピーク負荷、RAMメモリの空き領域を含めるものとすることもできる。他の制御装置の計算資源を参照することによって、自身の代替制御プログラムをアップロードする候補の制御装置を絞り込むことができる。そして、代替制御プログラムのアップロード前に、代替制御プログラムのプログラム容量に加えて、代替制御プログラムが必要とする実行負荷、実行速度、実行時に必要なRAM容量を相手の制御装置に伝達し、相手の制御装置が代替制御プログラムを受け入れる能力があるかどうか問い合わせてもよい。
(d) このフェイルセーフシステム100は、
制御装置1から6が、制御装置1から6の代替制御プログラム1gから6gを他の制御装置にアップロードする前に、代替制御プログラムのプログラム容量に加えて実行の際に使用するRAM容量、処理負荷の少なくとも一つを他の制御装置に伝達し、他の制御装置が代替制御プログラムを受け入れる能力があるかどうか問い合わせ、
能力が無いと回答された場合は別の制御装置に問い合わせ、
能力があると回答した制御装置の記憶部の空き領域に代替制御プログラムをアップロードするものである。
具体的には、例えば制御装置5は、共有された各制御装置1から4および6の計算資源から、自身が故障した際の代替制御プログラム5gを実行する他の制御装置として、制御装置3を候補として選定する。この場合、制御装置5は、制御装置3に対して、代替制御プログラム5gのプログラム容量に加えて実行の際に使用するRAM容量、処理負荷の少なくとも一つを制御装置3に伝達し、代替制御プログラム5gを受け入れる能力があるかどうか問い合わせる。
制御装置3は、現在の計算資源状態と、例えば、ナビゲーションシステムに従い、自動走行中である場合に、これからの走行環境から処理負荷増が想定され、これにより制御装置5の代替制御プログラム5gの実行が困難であると判断した場合、制御装置3は制御装置5に受け入れる能力が無い旨を、通信ライン60を介して伝達する。
制御装置5が、制御装置3から受け入れる能力が無い旨回答された場合、制御装置5は、次の候補の制御装置に、代替制御プログラム5gのプログラム容量に加えて実行の際に使用するRAM容量、処理負荷、実行速度の少なくとも一つを伝え、自己の代替制御プログラム5gを受け入れる能力があるかどうかを問い合わせる。制御装置5は、能力があると回答した制御装置4の記憶部の空き領域に、自己の代替制御プログラム5gをアップロードする。
以上、自己の代替制御プログラムをアップロードする先を探す手順の一例を説明した。このように、代替制御プログラム1gから6gをアップロードする前に、相手の制御装置に、代替制御プログラムのプログラム容量に加えて実行の際に使用するRAM容量、処理負荷の少なくとも一つを伝え、アップロードを受け入れる能力があるかどうかを問い合わせることにより、相手の制御装置の実情に合わせて、より精度よく、アップロード可能な制御装置を探すことができる。これによって、アップロードの失敗を防ぎ、比較的短い時間で適切にアップロードを進めることができる。
<1−8.代替制御プログラムの分割>
制御装置1から6が代替制御プログラム1gから6gをアップロードする前に、候補とした制御装置に、順次、代替制御プログラムのアップロードを受け入れる能力があるかどうかを問い合わせた結果、どの制御装置からも能力があるとの回答を得られなかった場合を考える。フェイルセーフシステム100を構成する全ての制御装置1から6の、記憶部1eから6eの空き領域1hから6hの合計容量が、各制御装置1から6の代替制御プログラム1gから6gの合計容量より大きい場合であっても、各代替制御プログラム1gから6gが、各制御装置1から6の記憶部1eから6eの空き領域1hから6hに格納される組み合わせ、各制御装置1から6のRAM、ROM使用量と処理負荷の動的変化によって、そのような事態が発生する場合がある。その場合に、代替制御プログラムを分割してアップロードを受け入れる能力のある制御装置を探す。
(e) このフェイルセーフシステム100は、
制御装置1から6が、制御装置1から6の代替制御プログラム1gから6gを他の制御装置にアップロードする前に、他の制御装置に代替制御プログラムを受け入れる能力があるかどうか問い合わせ、
能力が無いと回答された場合は別の制御装置に問い合わせ、
全ての制御装置から能力が無いと回答された場合は、代替制御プログラムを分割し、
分割した代替制御プログラム毎に、他の制御装置に分割した代替制御プログラムを受け入れる能力があるかどうか問い合わせを繰り返し、能力があると回答した制御装置の記憶部の空き領域に分割した代替制御プログラムをアップロードするものである。
具体的には、例えば制御装置1が、代替制御プログラム1gのアップロードを受け入れる能力が無い旨を他のすべての制御装置から伝達された場合を考える。その場合、制御装置1は自身の代替制御プログラム1gを少なくとも2つ以上に分割し、分割した代替制御プログラム毎に、これを受け入れる能力のある制御装置を探すこととなる。制御装置1が、アップロードを受け入れる候補の制御装置として、制御装置2、制御装置4を選定した場合を考える。制御装置1は、制御装置2、制御装置4に対して、分割した代替制御プログラムの受け入れ能力があるか否かを、通信ライン60を介して問い合わせる。制御装置2、制御装置4は、現在の計算資源の状態と、予想される計算資源の状況を検討して、受け入れ可能であれば受け入れる能力がある旨を、通信ライン60を介して伝達する。
制御装置2、制御装置4から、分割された代替プログラムを受け入れる能力がある旨回答を受けた制御装置1は、制御装置2、及び制御装置4に対して、自身の分割された代替制御プログラムを、通信ライン60を介してアップロードする。
このように、アップロードする代替制御プログラムを分割して、対象制御装置に受け入れ能力があるかどうか問い合わせることによって、記憶部1eから6eに細切れに残った空き領域1hから6hを利用して、代替制御プログラムを分割してアップロードすることができる。これによって、記憶部1eから6eの空き領域1hから6hの効率的な利用をすることができる。記憶部の過大な空き領域を確保しなくても、代替制御プログラムの他の制御装置の記憶部への格納が達成できるので、全体の記憶部の容量を適正化でき、コスト低減に寄与する。
<1−9.計算資源の変化>
ここで、過去に代替プログラムを受け入れる能力がある旨回答して、記憶部の空き領域に他の制御装置の代替制御プログラムを格納しているにも関わらず、計算資源の動的変化により、代替プログラムを受け入れる能力が無くなると予測できる場合について考える。
例えば、走行制御に係る制御装置3が、ナビゲーションシステムに従い、自動走行を開始する場合に、これからの走行環境から処理負荷増が想定される場合がある。
制御装置3は、制御状態の変化によって記憶部3eの空き領域3h、RAMの空き領域、計算機の平均負荷または計算機のピーク負荷のうち少なくともひとつが増加または減少し、記憶部に格納した制御装置4の代替制御プログラム4gを受け入れる能力がなくなると予測した場合に、制御装置4に受け入れる能力がなくなると通知する。この場合、受け入れる能力が無くなる旨を、伝達された制御装置4は、新たに候補を探し、代替制御プログラム4gを受け入れる能力がある制御装置を見つけることとなる。
(f) このフェイルセーフシステム100は、
制御装置1から6が、制御状態の変化によって記憶部の空き領域、RAMの空き領域、計算機の平均負荷または計算機のピーク負荷のうち少なくともひとつが変化し、記憶部に格納した他の制御装置の代替制御プログラムを受け入れる能力がなくなると予測した場合に、他の制御装置に受け入れる能力がなくなると通知し、
他の制御装置は、受け入れる能力がなくなると通知された場合に別の制御装置に代替制御プログラムを受け入れる能力があるかどうか問い合わせを繰り返し、能力があると回答した制御装置の記憶部の空き領域に代替制御プログラムをアップロードするものである。
これにより、各制御装置1から6の動的な変化に対応して、代替制御プログラムの実行可能性を確認しつつ、代替制御プログラムを受け入れる能力がある他の制御装置を確保することができるので、フェイルセーフシステムの信頼性が向上する。なお、受け入れる能力がなくなると通知された制御装置が、あらたな制御装置の記憶部の空き領域に代替制御プログラムのアップロードを完了してバックアップ体制が確立するまで、元の、当該代替制御プログラムを受け入れていた制御装置は、バックアップ体制を維持することとしてもよい。
<1−10.入出力装置の独立>
実施の形態1で説明したフェイルセーフシステム100は、制御装置1から6が故障した場合でも、その装置の代替制御プログラム1gから6gを別の制御装置が実行して、故障した制御装置の代役を果たすものである。このように、制御装置が変更されても、当該制御を維持できるのは、入力装置であるセンサ11、21、31、41と出力装置であるアクチュエータ12、22、32、42が独立して存在し、通信ライン60で接続されているからである。
(g) このフェイルセーフシステム100は、
制御装置1から6は、通信ライン60を介してセンサ11、21、31、41とアクチュエータ12、22、32、42に接続され、センサ11、21、31、41から受信した入力情報に基づいて演算処理し出力情報をアクチュエータ12、22、32、42に送信して外部機器を制御するものである。
これにより、制御装置1から6が変更されても、当該制御を継続することができ、代替制御プログラム1gから6gが、どの制御装置上で実行されても信頼性の高いバックアップ制御が実行できる。
<1−11.アップロードの順序>
また、実施の形態1で説明したフェイルセーフシステム100は、電源起動時に各制御装置1から6が情報交換し、各制御装置1から6の代替制御プログラム1gから6gの容量の大きい順に番号を振って、番号順に、即ち代替制御プログラム1gから6gの容量の大きい順に、代替制御をアップロードする制御装置を選択していくこととしてもよい。そうすれば、初めに容量の大きい代替制御プログラムが格納される、大きな空き領域を見つけることができるからである。アップロードされる順が後半になると、大きな空き領域の領域は少なくなるが、アップロードすべき代替制御プログラムの容量も小さくなるので問題はない。
(h) このフェイルセーフシステム100は、
制御装置1から6が、起動時に、容量の大きな代替制御プログラムを有する制御装置の順に代替制御プログラムのアップロードを開始するものである。
このようにすることで、各制御装置1から6の記憶部1eから6eの空き領域1hから6hを有効に利用することができ、適切な記憶部1eから6eの容量で、すべての制御装置1から6の代替制御プログラム1gから6gのアップロードを実施することができる。過大な記憶部の容量が不要となりコスト削減に貢献する。
<1−12.フローチャート>
以上の実施の形態1のフェイルセーフシステム100の動作について、フローチャートで説明する。
図4は、実施の形態1に係る制御装置1から6の全体の処理を示すフローチャートである。図5は、実施の形態1に係る制御装置1から6の起動処理を示すフローチャートである。図6は、実施の形態1に係る制御装置1から6の制御処理を示すフローチャートである。図7は、実施の形態1に係る制御装置1から6のダウンロード処理を示すフローチャートである。図8は、実施の形態1に係る制御装置1から6のアップロード処理を示すフローチャートである。図9は、実施の形態1に係る制御装置1から6のアップロード処理の詳細を示すフローチャートである。
<1−13.メイン処理>
図4は、各制御装置1から6が、制御装置毎に個別に処理するメイン処理の全体の構成を示すフローチャートである。制御装置1から6の機能に応じて、実施間隔が異なる場合もあるが、ここでは、例えば図4の処理が5ms毎に実行されることとする。処理の実行は、一定時間間隔でなく、外部の信号入力タイミング毎に実行されてもよい。
ステップS101から処理が開始され、ステップS200で起動処理が実行され、ステップS300で制御処理が実行され、ステップS400でダウンロード処理が実行され、ステップS500でアップロード処理が実行され、ステップS109で処理が終了する。
ステップS200の起動処理は、フェイルセーフシステム100が起動直後かどうかを判定し、起動直後の処理を実行する。ステップS200の起動処理の内容は図5のステップS201からステップS209で説明している。
ステップS300の制御処理では、制御装置1から6の本来の機能である制御装置毎に特有の制御処理を実行する。また、他の制御装置の代替制御プログラムを、記録部の空き領域にダウンロードしている場合は、前記他の制御装置を監視し、故障している場合はその代替制御プログラムを実行する。ステップS300の制御処理の処理内容は、図6のステップS301からステップS319で説明している。
ステップS400のダウンロード処理では、他の制御装置から、その代替制御プログラムのダウンロード要請(他の制御装置から見るとアップロードする許可)を受けているかどうか確認し、受け入れ能力の有無を返信し、必要に応じて他の制御装置の代替制御プログラムをダウンロードする(他の制御装置のアップロードを許す)。ステップS400の処理内容、は図7のステップS401からステップS419で説明している。
ステップS500のアップロード処理では、自身の代替制御プログラムをアップロードする制御装置の候補を選定し、アップロードを受け入れる能力があるかどうかを問合せ、アップロードする処理を示している。ステップS500の処理内容は、図8のステップS501からステップS509で説明している。
<1−14.起動処理>
図5は、起動処理を示すフローチャートである。図5のステップS201は、図4のステップS200から呼び出される処理である。ステップS201から処理を開始し、ステップS202で、フェイルセーフシステム100が起動直後かどうかを判定する。起動直後でない場合はステップS209へ進んで処理を終了する。起動直後である場合は、ステップS203で、ダウンロード完了フラグ(以下DL完了フラグと記載)、アップロード完了フラグ(以下UP完了フラグと記載)、アップロードNGフラグ(以下UL−NGフラグと記載)をクリアする。
DL完了フラグは、他の制御装置の代替制御プログラムを、自身の記憶部の空き領域にダウンロード完了していることを示すフラグである。UL完了フラグは、自身の代替制御プログラムを、他の制御装置の記憶部の空き領域にアップロード完了していることを示すフラグである。UL−NGフラグは、他の制御装置に、自身の代替制御プログラムを、アップロードしようとして、他の制御装置に受け入れる能力があるかどうか問い合わせた結果、すべての制御装置から能力が無い旨回答を受けて、アップロードできなかったことを示すフラグである。次にステップS204に進む。
ステップS204で自身の制御装置番号を取得する。フェイルセーフシステムに含まれる、制御装置が、自身の代替制御プログラムの容量を提示しあい、容量が大きい順に制御装置番号が決定する。次にステップS205に進む。
ステップS205では、自身の制御装置番号が1であるかどうかを確認する。自身の制御装置番号が1でない場合は、ステップS209で処理を終了する。自身の制御装置番号が1の場合は、ステップS206へ進む。ステップS206では、制御装置番号カウンタ(以下CU−Nカウンタと記載)に1をセットする。CU−Nカウンタは、制御装置毎に代替制御プログラムを他の制御装置にアップロードする順番を示すカウンタであり、CU−Nカウンタの数字と自身の制御装置番号が一致した制御装置が、代替制御プログラムのダウンロードを試みる。起動直後は、最初に制御装置番号が1である制御装置が、代替制御プログラムを他の制御装置にアップロードする。ステップS206の後ステップS209で処理を終了する。
<1−15.制御処理>
図6は、制御処理を示すフローチャートである。図6のステップS301は、図4のステップS300から呼び出される処理である。ステップS301から処理を開始し、ステップS302で、完了フラグが1であるかどうかを確認する。DL完了フラグが1でない場合は、ステップS310へ進む。DL完了フラグが1の場合は、ステップS303へ進んで、現在の制御装置の計算資源と将来の計算資源の予測から、現在ダウンロード済みの他の制御装置の代替制御プログラムについて、受け入れ能力が無くなると予測するかどうか判定をする。
受け入れ能力が無くなる予測がされない場合は、ステップS308へ進む。受け入れ能力が無くなると予測する場合は、ステップS304へ進んで、当該制御装置へ、受け入れ能力が無くなる旨通知した結果、当該制御装置が別の制御装置に、代替制御プログラムをアップロード完了した通知を受けているかどうか(通知したCUが別CUへUL済?と記載)確認する。当該通知を受けていなければ、ステップS307で、当該制御装置に受け入れ能力が無くなる旨通知し、ステップS308へ進む。
当該制御装置から、別の制御装置に、代替制御プログラムをアップロード完了した通知を受けている場合は、ステップS305で自身の記憶部に格納された当該制御装置の代替制御プログラムを消去し、ステップS306でDL完了フラグをクリアする。これにより、記憶部には将来の計算資源の予測から算定した余裕の範囲で、新たに別の制御装置の代替制御プログラムを受け入れる準備が整う。その後ステップS310へ進む。
ここで、当該制御装置は受け入れていた代替制御プログラムが、別の制御装置にアップロードされたことを確認した場合は、ステップS305で自身の記憶部から代替制御プログラムを消去することとしているが、消去しないこととしてもよい。当該制御装置の受け入れ能力が無くなると予測した理由が、記憶部の空き領域の問題ではなく、RAM容量、処理負荷、実行速度に関して問題となると予測した場合は、ステップS305で代替制御プログラムを消去しなくてもよい。記憶部の空き領域に余裕がある場合は、代替制御プログラムを消去せず残しておくことに利点がある。当該制御装置に受け入れ能力が復活した場合、代替制御プログラムアップロード完了状態で待機できるからである。代替制御プログラムをアップロードして代替制御プログラム実行待機中の別の制御装置に、受け入れ能力の問題が新たに発生した場合、代替制御プログラムの再アップロードに費やする時間なしに、速やかに対応を交代して代替制御プログラム実行待機中とすることができるので有意である。
ステップS308で、代替制御プログラムを自身の記憶部へダウンロードした他の制御装置(代替制御プログラムをアップロードした制御装置)の故障判定を行う。故障していなければ、ステップS310へ進む。故障している場合は、自身の記憶部の当該制御装置の代替制御プログラムを実行する。これによって、当該制御装置は故障しても、限定された内容で、当該制御装置の代理として機能することができる。その後、ステップS310へ進む。
ステップS310では、自身の制御プログラムを実行する。センサから入力した入力情報に基づいて処理を行い、出力情報をアクチュエータに出力し機器を制御する。その後ステップS311へ進む。ステップS311で、自己の計算資源に係る情報を他の制御装置に伝える。すべての制御装置の計算資源データを共有することで、代替制御プログラムをアップロードする候補を迅速に探すことができるからである。その後ステップS309で処理を終了する。
<1−16.ダウンロード処理>
図7は、ダウンロード処理を示すフローチャートである。図7のステップS401は、図4のステップS400から呼び出される処理である。ステップS401から処理を開始し、ステップS402で、他の制御装置から代替制御プログラムの受け入れ能力有無の問い合わせが来ているかどうか(受入能力有無問合せ有、と記載)確認する。
問い合わせが来ていない場合は、ステップS419にて処理を終了する。問い合わせが来ている場合は、ステップS403で、受入能力有無問合せとともに伝達されている、発信元の代替制御プログラムの容量等の情報と、自身の計算資源とを比較し、受け入れる能力の有無を確認する。
ステップS404でその結果を確認し、受け入れる能力が無い場合はステップS408で受け入れる能力が無い旨、当該制御装置に返信して、ステップS419で処理を終了する。受け入れる能力がある場合はステップS405で受け入れる能力がある旨返信してステップS406へ進む。
ステップS406で、当該制御装置から代替制御プログラムのダウンロード要請があったかどうか確認する。ダウンロード要請がある場合は、ステップS407で当該制御装置の代替制御プログラムを記憶部の空き領域にダウンロードし、ステップS419で処理を終了する。ダウンロード要請が来ていなければ、ステップS419にて処理を終了する。ダウンロード処理は次回へまわされる。
<1−17.アップロード処理>
図8は、アップロード処理を示すフローチャートである。図8のステップS501は、図4のステップS500から呼び出される処理である。ステップS501から処理を開始し、ステップS502で、制御装置番号カウンタ(CU−NC)が自身の制御装置番号と一致するかどうか確認する。一致しなければ、自身の代替制御プログラムの他の制御装置へのアップロードの順番ではないので、ステップS509で処理を終了する。CN−UCが自身の制御装置番号と一致した場合はステップS503へ進む。
ステップS503で、UL完了フラグが1であるかどうか確認する。UL完了フラグが1で無ければ、自身の代替制御プログラムの他の制御装置へのアップロードがまだなされていないので、ステップS600で代替制御プログラムアップロード処理を実施する。このようにすることで、代替制御プログラムのアップロード処理が、起動後、できるだけ早い機会に実行され、各制御装置のバックアップ体制が迅速に整うこととなる。ステップS600の代替制御プログラムアップロード処理の内容は、図9のステップS601からステップS629で説明している。
ステップS503でUL完了フラグが1の場合、ステップS504へ進む。ステップS504では、代替制御プログラムをアップロードした制御装置から、予測により受け入れ能力が無くなる旨連絡が来ているかどうか確認する。連絡が来ていれば、別の制御装置の記憶部に再度代替制御プログラムをアップロードする必要があるので、ステップS600へ進んで、代替制御プログラムアップロード処理を実行する。予測により受け入れ能力が無くなる旨連絡が来ていなければ、ステップS506へ進む。
ステップS600で代替制御プログラムアップロード処理を実行した後、ステップS506で制御装置番号カウンタ(CU−NC)を加算する。加算した結果、フェイルセーフシステムの同等の制御装置の数を超えた場合は1へ戻す。これにより、アップロード処理の判断を次の制御装置番号の制御装置に引き渡すこととなる。ステップS506の後、ステップS509で処理を終了する。
<1−18.アップロード処理の詳細>
図9は、アップロード処理の詳細を示すフローチャートである。図9のステップS601は、図8のステップS600から呼び出される処理である。ステップS601で処理を開始しステップS602で他の制御装置から受信した計算機資源データから、全制御装置の計算機資源データを確認し、自身の代替制御プログラムを受け入れる能力があるかどうか問い合わせる制御装置の候補を決定する。次にステップS603で候補の制御装置に順次受け入れる能力があるかどうか問い合わせる。次にステップS604で、能力があるという制御装置mがあったかどうか確認する。
能力がある制御装置mがあった場合はステップS605で制御装置mへ、自身の代替制御プログラムをアップロードする。ステップS606でアップロード後、制御装置mのDL完了フラグをセットし、アップロードした制御装置の制御装置番号を制御装置mに記憶させる。DL完了フラグがセットされているということは、制御装置mに、代替制御プログラムをアップロードした制御装置の監視義務が発生することを示す。次にステップS607で、UL−NGフラグをクリアし、ステップS608でUL完了フラグに1をセットする。その後ステップS629で処理を終了する。ステップS604で、能力があるという制御装置が見つからなかった場合、ステップS610でアップロードすべき代替制御プログラムを分割する。分割数は2以上であればよいが、ここでは、前半と後半に二分割することとする。ステップS611で、分割した後半部について、後半部の代替制御プログラムの容量等のデータを送付した上で、受け入れる能力があるかどうか、他の制御装置の候補に順次問い合わせる。
ステップS612で受け入れる能力がある旨回答した制御装置nがあったかどうか判断する。分割しても、受け入れる能力のある制御装置が無ければ、ステップS621へ進んで、UL−NGフラグをセットする。UL−NGフラグがセットされているということは、代替制御プログラムのアップロードが不可能だったということであり、問題点としてピックアップされる。次に、ステップS622でUL完了フラグをクリアし、ステップS629で処理を終了する。
ステップS612で、受け入れる能力のある制御装置nがあった場合は、ステップS613で、制御装置nの記憶部の空き領域に、代替制御プログラムの分割した後半部をアップロードする。その後ステップS614へ進む。
ステップS614では、分割した前半部について、同様に前半部の代替制御プログラムの容量等のデータを送付した上で、受け入れる能力があるかどうか、他の制御装置の候補に順次問い合わせる。ステップS615で、受け入れる能力がある旨回答した制御装置kがあったかどうか判断する。分割した前半部について、受け入れる能力のある制御装置が無ければ、ステップS621へ進む。
ステップS615で、受け入れる能力がある旨回答した制御装置kがあった場合、ステップS616へ進んで、制御装置kの記憶部の空き領域に、代替制御プログラムの分割した前半部をアップロードする。その後ステップS617へ進む。ステップS617では、制御装置nの代替制御プログラムの後半部を書き込んだ先頭アドレス情報を、制御装置kへ記憶させる。制御装置kで代替プログラムを実行するとき、前半部分の実行の後、後半部分の実行をする時、前半分から後半部へ代替プログラムをスムーズに実行させるためである。その後ステップS618へ進む。
ステップS618では、制御装置kのDL完了フラグをセットする。DL完了フラグがセットされていることで、制御装置kには、代替プログラムをダウンロードした制御装置を監視する義務が発生することを意味する。次に、ステップS619でDL−NGフラグをクリアし、ステップS620でUL完了フラグをセットして、ステップS629で処理を終わる。
ここで、制御装置から別の制御装置へ問合せを送信して、別の制御装置から回答を得るまで、時間がかかる。また、記憶部の空き領域にプログラムを書き込むにも時間がかかる。よって、これらの実行は制御周期ごとの処理とは別に、実行させることとしてもよい。
2.実施の形態2
実施の形態1では、車両システムの起動後可及的速やかに、各制御装置が、代替制御プログラムを他の制御装置の記憶部の空き領域に展開し、バックアップ体制を完成し維持するシステムについて述べてきた。
<2−1.異常判定後のアップロード>
実施の形態2では、常に、代替制御プログラムを他の制御装置の記憶部の空き領域に展開するのではなく、必要の都度、必要となった制御装置の代替制御プログラムを他の制御装置の記憶部の空き領域に展開する、フェイルセーフシステムについて説明する。
図10は、実施の形態2に係る制御装置のアップロード処理を示すフローチャートである。図10のフローチャートは、図8のフローチャートのうち、ステップS521を追加した点のみが異なる。ステップS503で、UL完了フラグがセットされていない時、すなわち、未だ代替制御プログラムを他の制御装置にアップロードしていない時、第一の実施例に係る図8では、速やかに代替制御プログラムのアップロードを実行している。
図10では、ステップS503で、UL完了フラグがセットされていない場合、ステップS521で、制御装置の異常発生カウンタが、特定の値fより大きい場合のみ、ステップS600で代替制御プログラムのアップロードを実行する。
ステップS503でUL完了フラグがセットされている場合に、ステップS504に進み、ステップS504で、代替制御プログラムをアップロードした制御装置から、予測により受け入れ能力が無くなる旨連絡が来ているかどうか確認する。連絡が来ていれば、別の制御装置の記憶部に再度代替制御プログラムをアップロードする必要があるので、ステップS600へ進んで、代替制御プログラムアップロード処理を実行する。この部分は、実施の形態1の図7と同じである。
以上より、実施の形態2では、代替制御プログラムのアップロードを急がず、制御装置の異常発生カウンタが、特定の値fより大きい状態になってから、代替制御プログラムのアップロードを実行する。このように、必要になってから、代替制御プログラムのアップロードを行うことによって、制御装置に異常が発生していない場合、代替制御プログラムのアップロードを行わないことによって、他の制御装置の記憶部の空き領域を消費せずに済む。言い換えれば、一度にたくさんの制御装置の異常が発生しない状況下では、制御装置の記憶部の空き領域を多く確保する必要がなくなることになる。すなわち、記憶部の容量を削減しても問題が無いので、記憶部の容量削減によりコスト削減、装置の小型化、軽量化に寄与することができる。
なお、ここで制御装置の異常判定とは、制御装置が機能不全になる恐れの少ない異常の場合であって、例えば制御装置の内部電源回路の出力電圧が、標準電圧範囲より外れており、故障判定電圧範囲には入っていない状態、等のグレーゾーンの判定の場合である。
図10では、制御装置の異常発生カウンタが、特定の値fより大きい状態、を代替制御プログラムのアップロードのトリガとしたが、制御装置が初めて異常を検出した場合、制御装置が異常判定を繰り返して異常を確定した場合、をトリガとすることもできる。以上、どのような場合においても、他の制御装置に問合せて、受け入れる能力があるという回答を受けた上でないと、アップロードできないことは言うまでもない。上記の条件、および、実施の形態1の車両システムの起動後可及的速やかに代替制御プログラムのアップロードを行う場合を含めると、以下のような要件となる。
(i) このフェイルセーフシステム100は、
制御装置1から6が、
他の制御装置に前記代替制御プログラムを受け入れる能力があるかどうか問い合わせて、能力があると回答された場合、
能力があると回答され、かつ、制御装置が異常検出をした場合、
能力があると回答され、かつ、制御装置が特定期間内に特定回数異常検出をした場合、
能力があると回答され、かつ、制御装置が異常確定をした場合、
の少なくとも一つの場合に、他の制御装置の記憶部の空き領域に代替制御プログラムをアップロードするものである。
これにより、制御装置1から6が異常判定を経てから、代替制御プログラム1gから6gの他制御装置へのアップロードを開始することによって、制御装置1から6の記憶部1eから6eの空き領域1hから6hを過大に設定する必要が無く、コストダウンに寄与することもできる。また、代替制御プログラム1gから6gの他制御装置へのアップロードを開始するタイミングを、異常状態の初回発生時から、特定回数発生時、あるいは異常確定まで、重大性に応じて最適に設定することもできる。
本願は、様々な例示的な実施の形態及び実施例が記載されているが、1つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
1、2、3、4、5、6 制御装置、1e、2e、3e、4e、5e、6e 記憶部、1f、2f、3f、4f、5f、6f 制御プログラム、1g、2g、3g、4g、5g、6g 代替制御プログラム、1h、2h、3h、4h、5h、6h 空き領域、11、21、31、41 センサ、12、22、32、42 アクチュエータ、60 通信ライン、100 フェイルセーフシステム

Claims (9)

  1. 相互に監視を実施する複数の制御装置が接続されたフェイルセーフシステムにおいて、
    いずれかの制御装置である第一の制御装置は、
    前記第一の制御装置の記憶部に、通常の制御に用いる制御プログラムと、前記第一の制御装置の故障時に前記第一の制御装置のバックアップに用いる代替制御プログラムとを格納し、
    前記代替制御プログラムを、他のいずれかの制御装置である第二の制御装置の記憶部の空き領域に前記第一の制御装置からアップロードし、
    前記第二の制御装置は、
    前記第一の制御装置を監視し、
    前記第一の制御装置が故障したと前記第二の制御装置が判断した場合、前記第二の制御装置の記憶部に格納された前記代替制御プログラムを実行し、
    前記複数の制御装置のそれぞれは前記第一の制御装置として、故障時の制御に用いる前記代替制御プログラムを、前記第二の制御装置としての他の制御装置の記憶部の空き領域にアップロードすることを特徴としたフェイルセーフシステム。
  2. 相互に監視を実施する3台以上の前記制御装置が接続された請求項1に記載のフェイルセーフシステム。
  3. 前記第一の制御装置は、前記代替制御プログラムのプログラム容量を他の制御装置に伝達し、前記他の制御装置が前記代替制御プログラムを受け入れる能力があるかどうか問い合わせ、
    能力が無いと回答された場合は別の制御装置に問い合わせ、
    能力があると回答した制御装置を第二の制御装置として当該制御装置の記憶部の空き領域に前記代替制御プログラムをアップロードする請求項1または2に記載のフェイルセーフシステム。
  4. 複数の制御装置が接続されたフェイルセーフシステムにおいて、
    いずれかの制御装置である第一の制御装置は、
    前記第一の制御装置の記憶部に、通常の制御に用いる制御プログラムと、故障時の制御に用いる代替制御プログラムとを格納し、
    前記代替制御プログラムを、他のいずれかの制御装置である第二の制御装置の記憶部の空き領域にアップロードし、
    前記第二の制御装置は、
    前記第一の制御装置を監視し、
    前記第一の制御装置が故障した場合、前記第二の制御装置の記憶部に格納された前記代替制御プログラムを実行し、
    前記第一の制御装置は、前記代替制御プログラムのプログラム容量に加えて実行の際に使用するRAM容量、処理負荷の少なくとも一つを他の制御装置に伝達し、前記他の制御装置が前記代替制御プログラムを受け入れる能力があるかどうか問い合わせ、
    能力が無いと回答された場合は別の制御装置に問い合わせ、
    能力があると回答した制御装置を第二の制御装置として当該制御装置の記憶部の空き領域に前記代替制御プログラムをアップロードすることを特徴としたフェイルセーフシステム。
  5. 複数の制御装置が接続されたフェイルセーフシステムにおいて、
    いずれかの制御装置である第一の制御装置は、
    前記第一の制御装置の記憶部に、通常の制御に用いる制御プログラムと、故障時の制御に用いる代替制御プログラムとを格納し、
    前記代替制御プログラムを、他のいずれかの制御装置である第二の制御装置の記憶部の空き領域にアップロードし、
    前記第二の制御装置は、
    前記第一の制御装置を監視し、
    前記第一の制御装置が故障した場合、前記第二の制御装置の記憶部に格納された前記代替制御プログラムを実行し、
    前記第一の制御装置は、他の制御装置に前記代替制御プログラムを受け入れる能力があるかどうか問い合わせ、
    能力が無いと回答された場合は別の制御装置に問い合わせ、
    全ての制御装置から能力が無いと回答された場合は、前記代替制御プログラムを分割し、
    分割した代替制御プログラム毎に、前記他の制御装置に前記分割した代替制御プログラムを受け入れる能力があるかどうか問い合わせを繰り返し、能力があると回答した制御装置を第二の制御装置として当該制御装置の記憶部の空き領域に前記分割した代替制御プログラムをアップロードすることを特徴としたフェイルセーフシステム。
  6. 複数の制御装置が接続されたフェイルセーフシステムにおいて、
    いずれかの制御装置である第一の制御装置は、
    前記第一の制御装置の記憶部に、通常の制御に用いる制御プログラムと、故障時の制御に用いる代替制御プログラムとを格納し、
    前記代替制御プログラムを、他のいずれかの制御装置である第二の制御装置の記憶部の空き領域にアップロードし、
    前記第二の制御装置は、
    前記第一の制御装置を監視し、
    前記第一の制御装置が故障した場合、前記第二の制御装置の記憶部に格納された前記代替制御プログラムを実行し、
    前記第二の制御装置は、制御状態の変化によって当該制御装置の記憶部の空き領域、RAMの空き領域、計算機の平均負荷または計算機のピーク負荷のうち少なくともひとつが変化し、当該制御装置の記憶部に格納した前記第一の制御装置の前記代替制御プログラムを受け入れる能力がなくなると予測した場合に、前記第一の制御装置に受け入れる能力がなくなると通知し、
    前記第一の制御装置は、受け入れる能力がなくなると通知された場合に別の制御装置に前記代替制御プログラムを受け入れる能力があるかどうか問い合わせを繰り返し、能力があると回答した制御装置の記憶部の空き領域に前記代替制御プログラムをアップロードすることを特徴としたフェイルセーフシステム。
  7. 複数の制御装置が接続されたフェイルセーフシステムにおいて、
    いずれかの制御装置である第一の制御装置は、
    前記第一の制御装置の記憶部に、通常の制御に用いる制御プログラムと、故障時の制御に用いる代替制御プログラムとを格納し、
    前記代替制御プログラムを、他のいずれかの制御装置である第二の制御装置の記憶部の空き領域にアップロードし、
    前記第二の制御装置は、
    前記第一の制御装置を監視し、
    前記第一の制御装置が故障した場合、前記第二の制御装置の記憶部に格納された前記代替制御プログラムを実行し、
    前記第一の制御装置は、
    他の制御装置に前記代替制御プログラムを受け入れる能力があるかどうか問い合わせて、能力があると回答され、
    前記制御装置が異常検出をした場合、
    前記制御装置が特定期間内に特定回数異常検出をした場合、
    前記制御装置が異常確定をした場合、
    の少なくとも一つの場合に、前記他の制御装置を第二の制御装置として当該制御装置の記憶部の空き領域に前記代替制御プログラムをアップロードすることを特徴としたフェイルセーフシステム。
  8. 前記第一の制御装置としての前記複数の制御装置のそれぞれは、起動時に、容量の大きな前記代替制御プログラムを有する前記制御装置の順に前記代替制御プログラムのアップロードを開始する請求項1から6のいずれか一項に記載のフェイルセーフシステム。
  9. 前記第一の制御装置は、通信線を介して入力装置と出力装置に接続され、前記入力装置から受信した入力情報に基づいて演算処理し出力情報を前記出力装置に送信して外部機器を制御する請求項1から8のいずれか一項に記載のフェイルセーフシステム。
JP2020036426A 2020-03-04 2020-03-04 フェイルセーフシステム Active JP6945672B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020036426A JP6945672B2 (ja) 2020-03-04 2020-03-04 フェイルセーフシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020036426A JP6945672B2 (ja) 2020-03-04 2020-03-04 フェイルセーフシステム

Publications (2)

Publication Number Publication Date
JP2021140370A JP2021140370A (ja) 2021-09-16
JP6945672B2 true JP6945672B2 (ja) 2021-10-06

Family

ID=77668664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020036426A Active JP6945672B2 (ja) 2020-03-04 2020-03-04 フェイルセーフシステム

Country Status (1)

Country Link
JP (1) JP6945672B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7396526B1 (ja) 2023-05-24 2023-12-12 横河電機株式会社 プラント制御システム及びプラント制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348524A (ja) * 1993-06-10 1994-12-22 Hitachi Ltd 多重化制御装置
JP4399987B2 (ja) * 2001-01-25 2010-01-20 株式会社デンソー 車両統合制御におけるフェイルセーフシステム
JP2016206763A (ja) * 2015-04-17 2016-12-08 三菱電機株式会社 監視制御システム

Also Published As

Publication number Publication date
JP2021140370A (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
JP2010285001A (ja) 電子制御システム、機能代行方法
KR102259596B1 (ko) 제어 장치, 제어 장치용 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 제어 방법
JP6754743B2 (ja) 車載電子制御装置およびその異常時処理方法
CN110709932B (zh) 记录控制装置
JP4624448B2 (ja) 制御装置、制御システム及びコンピュータプログラム
JP5190368B2 (ja) 電子制御システム及び電子制御装置
JP6421403B1 (ja) 車載計算装置、車両およびシステム
JP2004161255A (ja) 車両用電子制御装置,電子制御ユニット,プログラム及び記録媒体
JP7042138B2 (ja) 処理装置
JP2020021506A (ja) 電子制御装置及びセッション確立プログラム
JP6945672B2 (ja) フェイルセーフシステム
JP5966697B2 (ja) 情報処理装置
JP7613404B2 (ja) 車載システムおよび制御装置
US20220234529A1 (en) Enhanced power management
EP3968574B1 (en) Processing device, communication system, and non-transitory storage medium
US20230026932A1 (en) Control device, vehicle control system, control method and storage medium
JP5960632B2 (ja) 車両用電子制御装置
US12330644B2 (en) Driving support device
JP3979202B2 (ja) 車載通信システム
CN115279627A (zh) 软件更新装置、软件更新方法以及软件更新处理程序
JP7733816B2 (ja) 車載電子装置
JP2018180869A (ja) 書換えシステム、書換え装置及びコンピュータ
JP7654073B2 (ja) 車両用制御装置
JP7613325B2 (ja) 車載装置、通信方法、及び通信プログラム
JP2004142511A (ja) 車両用電子制御装置,電子制御ユニット,プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210914

R151 Written notification of patent or utility model registration

Ref document number: 6945672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250