(57)【特許請求の範囲】
【請求項１】
被制御機器の出力値を制御するための制御値を入力値に基づき生成し、生成した制御値を前記被制御機器に出力する情報処理回路に故障が発生した場合に、前記情報処理回路を代替するための準備を行う代替準備部と、
前記準備が完了した際に、前記情報処理回路の故障発生前に予定されていた前記被制御機器の出力値の時間推移である予定時間推移と、前記準備が完了した時点での前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異と、前記情報処理回路の故障発生前の入力値と制御値とに基づき、前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異が漸減していく制御値の出力計画を生成し、生成した前記出力計画に従って前記情報処理回路に代わって前記被制御機器に制御値を出力する代替部とを有する代替装置。
【請求項２】
前記代替部は、
前記情報処理回路の故障発生から前記準備の完了までの間に制御値が出力されないことにより発生した、前記準備が完了した時点での前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異に基づき、前記出力計画を生成する請求項１に記載の代替装置。
【請求項３】
前記代替部は、
前記情報処理回路の故障発生直前の入力値と制御値とに基づき、前記出力計画を生成する請求項１に記載の代替装置。
【請求項４】
被制御機器の出力値を制御するための制御値を入力値に基づき生成し、生成した制御値を前記被制御機器に出力する情報処理回路と、
前記情報処理回路に故障が発生した場合に、前記情報処理回路を代替するための準備を行い、
前記準備が完了した際に、前記情報処理回路の故障発生前に予定されていた前記被制御機器の出力値の時間推移である予定時間推移と、前記準備が完了した時点での前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異と、前記情報処理回路の故障発生前の入力値と制御値とに基づき、前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異が漸減していく制御値の出力計画を生成し、生成した前記出力計画に従って前記情報処理回路に代わって前記被制御機器に制御値を出力する代替装置とを有する情報処理システム。
【請求項５】
前記情報処理回路は、
前記代替装置の故障を検知するために前記代替装置を監視する請求項４に記載の情報処理システム。
【請求項６】
被制御機器の出力値を制御するための制御値を入力値に基づき生成し、生成した制御値を前記被制御機器に出力する情報処理回路に故障が発生した場合に、前記情報処理回路を代替する代替装置が、前記情報処理回路を代替するための準備を行い、
前記代替装置が、前記準備が完了した際に、前記情報処理回路の故障発生前に予定されていた前記被制御機器の出力値の時間推移である予定時間推移と、前記準備が完了した時点での前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異と、前記情報処理回路の故障発生前の入力値と制御値とに基づき、前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異が漸減していく制御値の出力計画を生成し、生成した前記出力計画に従って前記情報処理回路に代わって前記被制御機器に制御値を出力する代替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理回路に故障が発生した場合に情報処理回路を代替する代替装置に関する。
【背景技術】
【０００２】
故障などのトラブルが発生した場合でも、処理を継続することが求められるシステムでは、フォルトトレラント設計が行われる。フォルトトレラント設計では、情報処理回路が多重化される。また、フォルトトレラント設計では、１つの情報処理回路に故障が発生した場合に、故障が発生した情報処理回路を分離し、正常に動作している他の情報処理回路で処理を継続する。【０００３】
しかし、高信頼性が求められるが、コストに対する条件の厳しいシステムでは、情報処理回路を多重化することが困難な場合もある。そのような低コストが求められる高信頼システムでは、フォルトトレラント設計を行えない。このため、低コストが求められる高信頼システムでは、システムの内部又はシステムの外部に故障検出機能を設け、情報処理回路に故障が発生した時は、情報処理回路が異常動作を行わないように情報処理回路を停止することしかできない。
従って、高信頼及び低コストが求められるシステムでは、情報処理回路を多重化せずにフォルトトレラントを実現し、継続動作を可能とする方法が必要である。【０００４】
特許文献１には、複数の情報処理回路と、故障を検出する故障検出装置とを備えるシステムが開示される。特許文献１のシステムでは、いずれかの情報処理回路で故障が発生した場合に、故障検出装置が故障を検出する。そして、特許文献１では、故障が発生した情報処理回路の機能を故障検出装置が代替し、故障検出装置が、故障が発生した情報処理回路の動作を継続する。
また、特許文献１のシステムは、再構成手段と再構成データ保存回路を持つ。再構成データ保存回路には、各情報処理回路の代替動作を行うための回路情報が保持されている。いずれかの情報処理回路で故障が発生したことが検出された場合に、再構成手段は再構成データ保存回路の中から、故障した情報処理回路の代替動作のための回路情報を読み込む。そして、再構成手段は、故障検出装置を、故障が発生した情報処理回路の代替装置に再構成する。これにより、故障が発生した情報処理回路の動作を維持することが可能となり、故障発生後もシステムは動作を継続できる。
このように、特許文献１の技術を用いることで、情報処理回路を多重化することなく、故障発生時にも、故障が発生した情報処理回路の動作を継続することができる。【０００５】
特許文献２でも、情報処理回路と故障検出装置を持つ構成が開示されている。特許文献２の技術では、情報処理回路内の一部の機能が故障した際に、故障検出装置が故障箇所を特定し、特定した故障箇所を正常状態に再構成する。また、特許文献２の技術では、故障検出装置が、故障発生前に情報処理回路が計算に用いていた中間データを外部メモリに保持しておく。そして、故障検出装置が、故障箇所を正常状態に再構成した後に、外部メモリから中間データを読み出すことで、故障発生前の処理を再開することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−８１９９１号公報
【特許文献２】特開２００１−３４４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、故障検出装置が代替装置に再構成されるまでは、一定の時間が必要である。故障検出装置が代替装置に再構成されるまでの間は、故障した情報処理回路が行っていた動作は行われない。つまり、故障検出装置が代替装置に再構成されるまでの間は、情報処理回路が制御対象としていた被制御機器に対する制御が行われない。従って、再構成に要する時間によっては、被制御機器の動作に問題が発生する場合がある。
故障検出装置をＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を用いて実現した場合は、故障検出装置を代替装置に再構成するまでに、数十ミリ秒〜数秒の時間が必要になる。なお、代替装置の規模や再構成方法に依存して時間は変わる。故障検出装置を代替装置に再構成し、代替装置が正常に動作を開始できるまで数秒がかかった場合を想定する。この場合は、数秒間の間に、システムへの入力情報が故障発生前から大きく変わることが考えられる。また、数秒間の間に、被制御機器の状態が変化することが考えられる。このため、代替装置が、情報処理回路の故障発生前と同じ演算を再開すると、被制御回路の動作が急変する可能性がある。
例えば、車のアクチュエータを制御する自動運転システムに特許文献１の技術を適用することを想定する。
情報処理回路に故障が発生してから代替装置が動作可能になるまでに数秒間がかかったものとする。この数秒間の間、自動運転システムはアクチュエータの制御を行えておらず、アクチュエータの出力は低下する。アクチュエータの出力が低下した状態で、代替装置がアクチュエータの制御を再開した場合、代替装置はアクチュエータの出力の低下を認識していないため、代替装置は、現在のアクチュエータの出力に対して、過大な出力を行うように制御してしまう。この結果、車の挙動が急変する。車の挙動が急変することで、ドライバー、周辺の車両及び歩行者を危険にさらす可能性がある。【０００８】
特許文献２でも、特許文献１の技術と同様に、再構成までの間に入力情報や被制御機器の状態が変化している場合は、再構成後に被制御機器の動作が急変しないように安全に制御することができない。【０００９】
以上のように、従来の技術では、代替装置が、代替装置が構成されるまでの間に生じた被制御機器の出力状態の変化を認識せずに、被制御機器の制御を行う。このため、従来の技術では、代替装置が構成されるまでの間に被制御機器の出力状態が変化している場合には、代替装置は、適切に被制御機器を制御することができないという課題がある。【００１０】
本発明は、このような課題を解決することを主な目的とする。つまり、本発明は、被制御機器の出力状態が変化している場合にも、適切に被制御機器を制御することができる構成を得ることを主な目的する。
【課題を解決するための手段】
【００１１】
本発明に係る代替装置は、
被制御機器の出力値を制御するための制御値を入力値に基づき生成し、生成した制御値を前記被制御機器に出力する情報処理回路に故障が発生した場合に、前記情報処理回路を代替するための準備を行う代替準備部と、
前記準備が完了した際に、前記情報処理回路の故障発生前に予定されていた前記被制御機器の出力値の時間推移である予定時間推移と、前記準備が完了した時点での前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異と、前記情報処理回路の故障発生前の入力値と制御値とに基づき、前記被制御機器の実際の出力値と前記予定時間推移における出力値との差異が漸減していく制御値の出力計画を生成し、生成した前記出力計画に従って前記情報処理回路に代わって前記被制御機器に制御値を出力する代替部とを有する。
【発明の効果】
【００１２】
本発明では、被制御機器の実際の出力値と予定時間推移における出力値との差異が漸減していく制御値の出力計画が生成され、生成された出力計画に従って被制御機器に制御値が出力される。このため、被制御機器の出力状態が変化している場合にも、適切に被制御機器を制御することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る故障診断回路が含まれる情報処理システムの構成例を示す図。
【図２】実施の形態１に係る情報処理代替回路が含まれる情報処理システムの構成例を示す図。
【図３】実施の形態１に係る故障診断回路が含まれる情報処理システムの詳細な構成例を示すフローチャート図。
【図４】実施の形態１に係る情報処理代替回路が含まれる情報処理システムの詳細な構成例を示す図。
【図５】実施の形態１に係る情報処理システムの状態とアクチュエータの出力との関係を示す図。
【図６】実施の形態１に係る情報処理システムの動作例を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
【００１５】
実施の形態１．
＊＊＊構成の説明＊＊＊
本実施の形態では、情報処理回路が多重化されていない情報処理システム１０を説明する。
図１は、本実施の形態に係る情報処理システム１０の構成例を示す。
情報処理システム１０は、情報処理回路２００と故障診断回路３００と回路情報格納メモリ４００で構成される。
【００１６】
情報処理回路２００は、図示していない被制御装置を制御する。被制御機器は、例えば、アクチュエータである。
情報処理回路２００は、被制御機器の出力値を制御するための制御値１２０を入力値１１０に基づき生成し、生成した制御値１２０を被制御機器に出力する。
また、情報処理回路２００は、故障診断回路３００の故障を検出する。
【００１７】
故障診断回路３００は、入力値１１０と制御値１２０を取得し、取得した入力値１１０と制御値１２０を記憶する。また、故障診断回路３００は、情報処理回路２００からの故障診断情報１３０を監視し、情報処理回路２００の故障を検出する。そして、故障診断回路３００は、情報処理回路２００の故障を検出した際に、情報処理回路２００に動作停止指示１４０を出力して、情報処理回路２００の動作を停止させる。更に、故障診断回路３００は、情報処理代替回路５００として、情報処理回路２００を代替して被制御機器を制御する。
以下では、情報処理回路２００を監視し、情報処理回路２００の故障を検出する回路を故障診断回路３００という。また、情報処理回路２００を代替して被制御機器を制御する回路を情報処理代替回路５００という。情報処理代替回路５００については、図２を参照して後述する。
故障診断回路３００及び情報処理代替回路５００は、代替装置に相当する。
【００１８】
回路情報格納メモリ４００は、故障診断回路情報４１０と情報処理代替回路情報４２０を記憶する。
故障診断回路情報４１０は、故障診断回路３００の内部構成が示される情報である。
情報処理代替回路情報４２０は、情報処理代替回路５００の内部構成が示される情報である。
【００１９】
情報処理回路２００、故障診断回路３００及び回路情報格納メモリ４００の詳細を説明する前に、情報処理回路２００、故障診断回路３００、回路情報格納メモリ４００の概要を説明する。
【００２０】
情報処理回路２００は、入力値１１０を元に演算を行い、制御値１２０を生成する。そして、情報処理回路２００は、情報処理システム１０の外部にある被制御機器に出力する。
故障診断回路３００は、入力値１１０と制御値１２０とを取得し、取得した入力値１１０と制御値１２０を記憶する。また、故障診断回路３００は、情報処理回路２００の内部状態を示す情報である故障診断情報１３０を取得し、情報処理回路２００の内部状態を診断する。故障診断回路３００は、診断の結果、情報処理回路２００の故障を検出すると、情報処理回路２００に対して、動作停止指示１４０を与えて、情報処理回路２００の動作を停止させる。
また、故障診断回路３００は、情報処理システム１０の起動時から情報処理回路２００の故障発生を検出するまでの間動作する。
故障診断回路３００は、回路情報格納メモリ４００内の故障診断回路情報４１０に基づいて構成される。
故障診断回路３００は、回情報処理回路２００の故障を検出し、動作停止指示１４０を出力した後は、回路情報格納メモリ４００内の情報処理代替回路情報４２０を回路情報１５０として読み出す。そして、故障診断回路３００は、情報処理代替回路情報４２０に基づき、情報処理回路２００の機能を代替する情報処理代替回路５００として動作する。
【００２１】
図２は、情報処理代替回路５００が動作する際の情報処理システム１０の構成例を示す。
図２の段階では、情報処理回路２００は故障が発生しているため、故障診断回路３００からの動作停止指示１４０によって動作が停止している。
情報処理代替回路５００は、入力値１１０を元に情報処理回路２００と同等の演算を行い、制御値１２１を生成し、生成した制御値１２１を被制御機器に出力する。
【００２２】
図３は、故障診断回路３００が動作する場合の情報処理システム１０の構成の詳細を示す。
【００２３】
情報処理回路２００は、演算回路２１０、メモリ２２０、出力インタフェース２３０、故障通知インタフェース２４０で構成される。なお、出力インタフェース２３０は出力Ｉ／Ｆ２３０とも表記する。また、故障通知インタフェース２４０は故障通知Ｉ／Ｆ２４０とも表記する。
【００２４】
演算回路２１０は、メモリ２２０内に格納された演算プログラム２２１に従って入力値１１０を元に演算を行う。演算結果２３１は出力インタフェース２３０が、情報処理システム１０の外部の被制御機器に制御値１２０として出力する。
メモリ２２０には、演算の途中の中間データ２２２も保存される。
演算回路２１０は、また、故障診断回路３００の状態を診断し、故障診断回路３００の故障を検出する。演算回路２１０は、例えば、一定期間、故障診断回路３００から故障診断情報１３０を取得するためのアクセスがない場合など、故障診断回路３００が規定の動作を行わない場合に、故障診断回路３００に故障が発生したと判断する。
故障診断回路３００が故障状態でも、情報処理システム１０の動作が異常になるわけではない。そのため、故障診断回路３００が故障した場合は、演算回路２１０は、情報処理システム１０を緊急停止しない。具体的には、演算回路２１０は、故障通知インタフェース２４０に故障情報２４１を出力し、故障通知インタフェース２４０が故障通知１６０を情報処理システム１０の外部に出力する。故障通知１６０の出力により、故障診断回路３００で故障が発生したことを情報処理システム１０の利用者に通知することができる。利用者は、情報処理システム１０の停止が必要な場合には、安全を確保した後に情報処理システム１０を停止する。
【００２５】
故障診断回路３００は、再構成対象回路３１０と再構成対象外回路３５０で構成される。
再構成対象回路３１０は、故障診断回路３００が動作する場合と情報処理代替回路５００が動作する場合とで、回路構成を変化させる。
再構成対象外回路３５０は、故障診断回路３００が動作する場合と情報処理代替回路５００が動作する場合とで、回路構成に変化がない。
【００２６】
故障診断回路３００が動作する場合は、図３に示すように、再構成対象回路３１０は、故障情報インタフェース３１３と故障診断回路３１１と出力インタフェース３１５で構成される。故障情報インタフェース３１３は故障情報Ｉ／Ｆ３１３とも表記する。出力インタフェース３１５は、出力Ｉ／Ｆ３１５とも表記する。
【００２７】
故障情報インタフェース３１３は、情報処理回路２００からの故障診断情報１３０を取得する。故障情報インタフェース３１３は、例えば、定期的に演算回路２１０にアクセスして、演算回路２１０から故障診断情報１３０を取得する。そして、故障情報インタフェース３１３は、故障診断情報１３０を故障診断回路３１１に出力する。
【００２８】
出力インタフェース３１５は、情報処理回路２００から制御値１２０を受信する。そして、出力インタフェース３１５は、制御値１２０を故障診断回路３１１に出力する。また、出力インタフェース３１５は、制御値１２０を後述する値保存メモリ３５１に出力する。
【００２９】
故障診断回路３１１は、故障診断情報１３０と制御値１２０とを用いて、情報処理回路２００の状態を診断し、情報処理回路２００の故障を検出する。
また、故障診断回路３１１は、情報処理回路２００の故障を検出した場合に、故障検出通知３２５を後述する再構成回路３５２に出力する。また、故障診断回路３１１は、動作停止指示３２４を後述する動作停止インタフェース３５３に出力する。故障検出通知３２５は、情報処理回路２００の故障の検出を通知する信号である。動作停止指示３２４は、情報処理回路２００の動作停止を指示する信号である。
故障診断回路３１１は、例えば、制御値１２０が、規定の上限値又は下限値を超えた異常値である場合に、情報処理回路２００に故障が発生したと判断する。また、故障診断回路３１１は、例えば、情報処理回路２００の演算回路２１０又はメモリ２２０内で発生したＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）エラー、入力値１１０のＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）エラーなどの異常が発生した場合に、情報処理回路２００に故障が発生したと判断する。
【００３０】
再構成対象外回路３５０は、値保存メモリ３５１、再構成回路３５２、動作停止インタフェース３５３、入力インタフェース３５４で構成される。動作停止インタフェース３５３は動作停止Ｉ／Ｆ３５３とも表記する。入力インタフェース３５４は、入力Ｉ／Ｆ３５４とも表記する。
【００３１】
値保存メモリ３５１は、入力値１１０と制御値１２０を記憶する。
入力インタフェース３５４は、入力値１１０を取得し、取得した入力値１１０を値保存メモリ３５１に書き込む。また、制御値１２０は、出力インタフェース３１５により値保存メモリ３５１に書き込まれる。
【００３２】
再構成回路３５２は、故障診断回路３１１から故障検出通知３２５を取得する。故障検出通知３２５は、上述したように、情報処理回路２００の故障の検出を通知する信号である。再構成回路３５２は、故障検出通知３２５を取得すると、回路情報格納メモリ４００から、情報処理代替回路情報４２０を回路情報１５０として読み出す。そして、再構成回路３５２は、情報処理代替回路情報４２０に基づく再構成情報３２６を再構成対象回路３１０に送信する。故障診断回路３１１は、再構成情報３２６に基づき、再構成対象回路３１０を後述する再構成対象回路５１０として再構成する。つまり、故障診断回路３１１及び再構成回路３５２は、情報処理代替回路５００が情報処理回路２００を代替するための準備を行う。故障診断回路３１１及び再構成回路３５２は、代替準備部に相当する。
【００３３】
動作停止インタフェース３５３は、故障診断回路３１１から動作停止指示３２４を取得する。上述したように、動作停止指示３２４は、情報処理回路２００の動作停止を指示する信号である。動作停止インタフェース３５３は、動作停止指示３２４を取得した場合は、情報処理回路２００が故障により不正な動作を行う可能性が高いため、動作停止指示１４０を情報処理回路２００に出力して、情報処理回路２００の動作を停止させる。
なお、情報処理回路２００は、故障診断回路３００が情報処理代替回路５００に再構成された後も、動作を停止し続ける。
【００３４】
図４は、情報処理代替回路５００が動作する場合の情報処理システム１０の構成の詳細を示す。
情報処理回路２００及び回路情報格納メモリ４００は、図３に示したものと同様であるため、情報処理回路２００及び回路情報格納メモリ４００の説明は省略する。
【００３５】
情報処理代替回路５００は、再構成対象回路５１０と再構成対象外回路３５０で構成される。再構成対象外回路３５０は図３に示したものと同様であるため、再構成対象外回路３５０の説明は省略する。
【００３６】
再構成対象回路５１０は、演算回路５１１、メモリ５１３、出力インタフェース５１４から構成される。出力インタフェース５１４は、出力Ｉ／Ｆ５１４とも表記する。
【００３７】
演算回路５１１は、入力インタフェース３５４から入力値１１０を取得する。そして、演算回路５１１は、メモリ５１３内に格納された演算プログラム５２２に従って、入力値１１０を元に演算を行って、制御値１２１を生成する。制御値１２１は出力インタフェース５１４から被制御機器に出力される。
メモリ５１３には、演算の途中の中間データ５２４も保存される。
演算回路５１１は、情報処理回路２００の演算回路２１０と同じでなくてもよい。また、メモリ５１３内の演算プログラム５２２も情報処理回路２００のメモリ２２０内の演算プログラム２２１と同じでなくてもよい。つまり、演算回路５１１及び演算プログラム５２２は、情報処理回路２００の動作を模擬する機能を実現可能であればよい。
【００３８】
演算回路５１１は、情報処理回路２００を代替する準備が完了した際に、制御値１２１の出力計画を生成する。そして、演算回路５１１は、生成した出力計画に従って制御値１２１を生成し、出力インタフェース５１４を介して情報処理回路２００に代わって被制御機器に制御値１２１を出力する。
より具体的には、演算回路５１１は、情報処理回路２００の故障発生前に予定されていた被制御機器の出力値の時間推移である予定時間推移と、準備が完了した時点での被制御機器の実際の出力値と予定時間推移における出力値との差異と、情報処理回路の故障発生前の入力値１１０と制御値１２０（例えば、故障発生直前の入力値１１０と制御値１２０）とに基づき、被制御機器の実際の出力値と予定時間推移における出力値との差異が漸減していく制御値の出力計画を生成する。そして、演算回路５１１は、生成した出力計画に従って情報処理回路２００に代わって被制御機器に制御値１２１を出力する。
このようにすることで、演算回路５１１は、被制御機器の動作が急変することを回避する。
なお、演算回路５１１は、代替部に相当する。
【００３９】
図５は、情報処理システム１０の状態とアクチュエータの出力との関係を示す。
図５では、被制御機器の例として、アクチュエータを用いる。
【００４０】
図５において、状態（１）では、情報処理回路２００が正常に動作しているため、情報処理回路２００によりアクチュエータの出力値が制御されている。つまり、状態（１）では、情報処理回路２００は、入力値１１０に基づき制御値１２０を生成し、制御値１２０を出力する。アクチュエータの出力値は制御値１２０により制御されている。また、状態（１）では、入力値１１０と制御値１２０とが更新される度に、更新された入力値１１０と制御値１２０とが値保存メモリ３５１で記憶される。
【００４１】
状態（２）では、情報処理回路２００に故障が発生し、再構成回路３５２が故障診断回路３００を情報処理代替回路５００に再構成する。状態（２）では、情報処理回路２００は動作を停止しているため、情報処理回路２００はアクチュエータの制御を行うことができない。また、情報処理代替回路５００の再構成が完了していないので、情報処理代替回路５００もアクチュエータの制御を行うことができない。従って、状態（２）では、アクチュエータの出力値が低下する。
【００４２】
状態（３）では、情報処理代替回路５００の再構成が完了している。つまり、情報処理代替回路５００が情報処理回路２００を代替する準備が完了している。このため、情報処理代替回路５００がアクチュエータの制御を開始する。しかし、アクチュエータの出力は状態（２）の間に低下している。このため、状態（２）の間に低下したアクチュエータの実際の出力値を考慮せずに、情報処理代替回路５００が、情報処理回路２００で行われていた演算をそのまま実行すると、アクチュエータの動作が急変する。
つまり、演算回路５１１が演算回路２１０と同じ演算を行って制御値１２１を生成し、アクチュエータに制御値１２１を出力すると、アクチュエータの出力値は、破線で示された、故障発生前の出力値となる。この破線で示された、故障発生前の出力値の時間推移は、予定時間推移に相当する。故障発生前の出力値は、再構成完了時の実際のアクチュエータの出力値と大きく異なっているため、アクチュエータの動作が急変する。
このような、アクチュエータの動作の急変を回避するために、演算回路５１１は、出力値を補正する制御値の出力計画を生成し、出力計画に従って、アクチュエータに制御値を出力する。
より具体的には、演算回路５１１は、再構成完了時の実際のアクチュエータの出力値を取得し、また、故障発生前の出力値の予定時間推移を取得する。更に、演算回路５１１は、値保存メモリ３５１で記憶されている、故障発生前の入力値１１０と故障発生前の制御値１２０とを取得する。
次に、演算回路５１１は、予定時間推移と、再構成完了時の実際のアクチュエータの出力値と予定時間推移における出力値との差異と、故障発生前の入力値１１０と制御値１２０とに基づき、図５に示すような出力計画を生成する。この出力計画は、被制御機器の実際の出力値と予定時間推移における出力値との差異が漸減していく計画である。つまり、この出力計画は、アクチュエータの出力値が、故障発生前のアクチュエータの出力値に徐々に近づいていくような計画である。演算回路５１１は、出力計画に従って制御値１２１を生成し、出力インタフェース５１４が制御値１２１をアクチュエータに出力する。
【００４３】
演算回路５１１は、例えば、制御値１２１の出力の度に、アクチュエータの出力値を、予定時間推移の出力値に１割程度ずつ近づけるような出力計画を生成する。このような出力計画にすると、制御値１２１を１０回程度出力した段階で実際のアクチュエータの出力値が予定時間推移の出力値と同じになる。一方で、このような出力計画によれば、アクチュエータの急制御を回避することができる。
【００４４】
状態（４）では、アクチュエータの出力値が予定時間推移の出力値と同じになったので、演算回路５１１は、演算回路２１０と同様の演算を行って、制御値１２１を生成する。つまり、演算回路５１１は、入力値１１０を元に通常の演算を実施する。
【００４５】
＊＊＊動作の説明＊＊＊
図６は、本実施の形態に係る情報処理システム１０の動作例を示す。
以下、図６を参照して、情報処理システム１０の動作を説明する。
【００４６】
先ず、情報処理回路２００が、入力値１１０を元に制御値１２０を生成し、被制御機器に制御値１２０を出力する（ステップＳ１０１）。
また、入力値１１０と制御値１２０とが発生する度に、値保存メモリ３５１が入力値１１０と制御値１２０とを記憶する（ステップＳ１１１）。
【００４７】
故障診断回路３１１が情報処理回路２００の故障を検出した場合（ステップＳ１０２でＹＥＳ）に、再構成回路３５２が、情報処理代替回路情報４２０を用いて故障診断回路３００を情報処理代替回路５００に再構成する（ステップＳ１０３）。
並行して、動作停止インタフェース３５３が動作停止指示１４０を情報処理回路２００に出力して、情報処理回路２００の動作を停止させる（ステップＳ１１２）。
【００４８】
故障診断回路３００から情報処理代替回路５００への再構成が完了すると（ステップＳ１０４でＹＥＳ）、演算回路５１１が、被制御機器の現在の出力値、出力値の予定時間推移、故障前の入力値１１０及び制御値１２０を取得する（ステップＳ１０５）。
次に、演算回路５１１は、被制御機器の現在の出力値、出力値の予定時間推移、故障前の入力値１１０及び制御値１２０に基づき、制御値１２１の出力計画を生成する（ステップＳ１０６）。
【００４９】
次に、演算回路５１１は、ステップＳ１０６で生成した出力計画に従って制御値１２１を生成し、出力インタフェース５１４が制御値１２１を被制御機器に出力する（ステップＳ１０７）。
被制御機器の実際の出力値が情報処理回路２００の故障前に予定していた出力値と同じになった場合（ステップＳ１０８でＹＥＳ）に、演算回路５１１は、入力値１１０を元に制御値１２１を生成し、出力インタフェース５１４が制御値１２１を被制御機器に出力する（ステップＳ１０９）。つまり、演算回路５１１は、情報処理回路２００の演算回路２１０と同様の演算により制御値１２１を生成する。
【００５０】
情報処理システム１０の利用者から、情報処理システム１０の動作完了が指示された場合（Ｓ１１０でＹＥＳ）は、情報処理システム１０は動作を終了する。
利用者から情報処理システム１０の動作完了が指示されていない場合（Ｓ１１０でＮＯ）は、情報処理回路２００が正常に動作している場合は、ステップＳ１０１以降の動作が繰り返される。一方、情報処理代替回路５００が動作している場合は、ステップＳ１０９の動作が繰り返される。
【００５１】
＊＊＊実施の形態の効果の説明＊＊＊
以上、本実施の形態では、情報処理代替回路５００が、被制御機器の実際の出力値と予定時間推移における出力値との差異が漸減していく制御値の出力計画を生成し、生成した出力計画に従って被制御機器に制御値を出力する。このため、本実施の形態によれば、情報処理代替回路５００は、被制御機器の出力状態が変化している場合にも、適切に被制御機器を制御することができる。
【００５２】
また、本実施の形態では、情報処理回路２００が故障診断回路３００の故障を検出することができる。
故障診断回路３００で故障が発生した場合は、情報処理回路２００の故障の検出も情報処理回路２００を代替する動作も不可能となる。情報処理システム１０の信頼性を高めるためには、故障診断回路３００の故障の検出も必要である。本実施の形態では、情報処理回路２００が故障診断回路３００を監視することで、情報処理システム１０の信頼性を高めることができる。
【００５３】
なお、上記では、再構成対象外回路３５０は、故障診断回路３００及び情報処理代替回路５００の内部に存在しているが、再構成対象外回路３５０は、故障診断回路３００及び情報処理代替回路５００の外部に存在してもよい。
【符号の説明】
【００５４】
１０  情報処理システム、１１０  入力値、１２０  制御値、１２１  制御値、１３０  故障診断情報、１４０  動作停止指示、１５０  回路情報、１６０  故障通知、２００  情報処理回路、２１０  演算回路、２２０  メモリ、２２１  演算プログラム、２２２  中間データ、２３０  出力インタフェース、２３１  演算結果、２４０  故障通知インタフェース、２４１  故障情報、３００  故障診断回路、３１０  再構成対象回路、３１１  故障診断回路、３１３  故障情報インタフェース、３１５  出力インタフェース、３２４  動作停止指示、３２５  故障検出通知、３２６  再構成情報、３５０  再構成対象外回路、３５１  値保存メモリ、３５２  再構成回路、３５３  動作停止インタフェース、３５４  入力インタフェース、４００  回路情報格納メモリ、４１０  故障診断回路情報、４２０  情報処理代替回路情報、５００  情報処理代替回路、５１０  再構成対象回路、５１１  演算回路、５１３  メモリ、５１４  出力インタフェース、５２２  演算プログラム、５２４  中間データ。
【図１】
0006509461.tif 000002
【図２】
0006509461.tif 000003
【図３】
0006509461.tif 000004
【図４】
0006509461.tif 000005
【図５】
0006509461.tif 000006
【図６】
0006509461.tif 000007