(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023125556
(43)【公開日】2023-09-07
(54)【発明の名称】制御装置、及び、制御方法
(51)【国際特許分類】
G06F 11/14 20060101AFI20230831BHJP
G06F 15/78 20060101ALI20230831BHJP
G06F 11/22 20060101ALI20230831BHJP
G06F 11/10 20060101ALI20230831BHJP
【FI】
G06F11/14 697
G06F11/14 689
G06F15/78 560
G06F11/22 607C
G06F11/10 660
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022029726
(22)【出願日】2022-02-28
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110000785
【氏名又は名称】SSIP弁理士法人
(72)【発明者】
【氏名】西山 陽
【テーマコード(参考)】
5B048
5B062
【Fターム(参考)】
5B048CC11
5B062AA08
5B062DD09
(57)【要約】
【課題】構成の複雑化を抑制しつつ、回路情報にビットエラーが生じた場合においても演算結果の信頼性を好適に維持する。
【解決手段】制御装置は、回路情報メモリから読み出された回路情報に基づいて機器を制御するための演算処理を繰り返し実行するためのプロセッサと、演算処理の演算結果を逐次記憶するためのデータメモリと、回路情報メモリに記憶された回路情報におけるビットエラーの有無を診断する診断処理を実施するための診断部とを備える。診断部によってビットエラーが有ると診断された場合、プロセッサは、データメモリに記憶された演算結果のうち診断部によってビットエラーが無いと診断された場合に対応する直近の過去データ、又は、過去データに対応するように予め用意された代替データを、演算結果として出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
回路情報を記憶するための回路情報メモリと、
前記回路情報メモリから読み出された前記回路情報に基づいて機器を制御するための演算処理を繰り返し実行するためのプロセッサと、
前記演算処理の演算結果を逐次記憶するためのデータメモリと、
前記回路情報メモリに記憶された前記回路情報におけるビットエラーの有無を診断する診断処理を実施するための診断部と、
を備え、
前記プロセッサは、前記診断部によって前記ビットエラーが有ると診断された場合、前記データメモリに記憶された前記演算結果のうち前記診断部によって前記ビットエラーが無いと診断された場合に対応する直近の過去データ、又は、前記過去データに対応するように予め用意された代替データを、前記演算結果として出力するように構成される、制御装置。
【請求項2】
前記診断部は、前記診断処理として、前記ビットエラーが有ると診断された場合に、前記ビットエラーを訂正するスクラビング処理を実施するスクラビングモジュールである、請求項1に記載の制御装置。
【請求項3】
前記プロセッサは、前記演算結果を前記データメモリに一時的に記憶し、前記診断部によって前記ビットエラーが有ると診断された場合に、前記データメモリから前記演算結果を破棄する、請求項1又は2に記載の制御装置。
【請求項4】
前記プロセッサは、前記過去データを前記データメモリから取得可能である、請求項1から3のいずれか一項に記載の制御装置。
【請求項5】
前記診断処理は、前記プロセッサによる前記演算処理と並列に実行される、請求項1から4のいずれか一項に記載の制御装置。
【請求項6】
前記データメモリには、前記演算結果ごとに前記プロセッサの処理時刻、及び、前記診断部の診断結果が関連付けて記憶される、請求項1から5のいずれか一項に記載の制御装置。
【請求項7】
前記診断部によって前記ビットエラーが有るとの診断結果が複数回連続した場合、前記プロセッサは、前記代替データを、前記演算結果として出力する、請求項1から6のいずれか一項に記載の制御装置。
【請求項8】
前記代替データは、前記演算結果に関するシミュレーション結果である、請求項1から7のいずれか一項に記載の制御装置。
【請求項9】
回路情報を記憶するための回路情報メモリと、
前記回路情報メモリから読み出された前記回路情報に基づいて機器を制御するための演算処理を繰り返し実行するためのプロセッサと、
前記演算処理の演算結果を逐次記憶するためのデータメモリと、
前記回路情報メモリに記憶された前記回路情報におけるビットエラーの有無を診断する診断処理を実施するための診断部と、
を備える制御装置を用いた制御方法であって、
前記診断部によって前記ビットエラーが有ると診断された場合、前記データメモリに記憶された前記演算結果のうち前記診断部によって前記ビットエラーが無いと診断された場合に対応する直近の過去データ、又は、前記過去データに対応するように予め用意された代替データを、前記プロセッサの前記演算結果として出力する、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、及び、制御方法に関する。
【背景技術】
【0002】
回路情報に基づいて内部の論理回路構造を再構成可能なデバイスとして、プログラマブルロジックデバイス(PLD:Programmable Logic Device)が知られている。回路情報は例えばメモリ(回路情報メモリ)のような外部の記憶媒体に予め用意され、プログラマブルロジックデバイスのプロセッサによって、当該回路情報が取り込まれることで、回路情報に基づく特定の機能を実現するための論理回路が構成される。
【0003】
プログラマブルロジックデバイスにおいて内部の論理回路を構成するための回路情報はプロセッサによって外部(例えば回路情報メモリ等)から取り込まれるが、例えば地表に降り注ぐ中性子等の要因によって回路情報にビットエラーが生じることがある。このような回路情報のビットエラーは、回路情報に基づいてプロセッサに構成される論理回路にエラーをもたらしてしまうおそれがある。このような論理回路のエラーは、制御精度が求められる制御装置としてプログラマブルロジックデバイスを用いる場合には、制御対象である機器の誤作動や不具合を招く要因となってしまう。そこで回路情報におけるビットエラーの有無を診断する診断処理を行うことが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
前述の診断処理では、回路情報におけるビットエラーの有無を診断することが可能である。しかしながら、プロセッサは、回路情報のビットエラーの有無に関わらず、回路情報に基づいて構成された論理回路による演算結果を出力するため、ビットエラーが有ると診断された場合には、信頼性の低い処理による演算結果が出力されてしまう(すなわち、信頼性の低い処理によってエラーである演算結果が流出してしまうおそれがある)。このような事態を回避するために、同等のプログラマブルロジックデバイスを複数用意し、多数決によって信頼性が確保された演算結果を出力することも考えられるが、構成規模が大きくなり、コストが増加してしまう。
【0006】
本開示の少なくとの一実施形態は上述の事情に鑑みなされたものであり、構成の複雑化を抑制しつつ、回路情報にビットエラーが生じた場合においても演算結果の信頼性を好適に維持可能な制御装置、及び、制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の少なくとの一実施形態に係る制御装置は、上記課題を解決するために、
回路情報を記憶するための回路情報メモリと、
前記回路情報メモリから読み出された前記回路情報に基づいて機器を制御するための演算処理を繰り返し実行するためのプロセッサと、
前記演算処理の演算結果を逐次記憶するためのデータメモリと、
前記回路情報メモリに記憶された前記回路情報におけるビットエラーの有無を診断する診断処理を実施するための診断部と、
を備え、
前記プロセッサは、前記診断部によって前記ビットエラーが有ると診断された場合、前記データメモリに記憶された前記演算結果のうち前記診断部によって前記ビットエラーが無いと診断された場合に対応する直近の過去データ、又は、前記過去データに対応するように予め用意された代替データを、前記演算結果として出力するように構成される。
【0008】
本開示の少なくとの一実施形態に係る制御方法は、上記課題を解決するために、
回路情報を記憶するための回路情報メモリと、
前記回路情報メモリから読み出された前記回路情報に基づいて機器を制御するための演算処理を繰り返し実行するためのプロセッサと、
前記演算処理の演算結果を逐次記憶するためのデータメモリと、
前記回路情報メモリに記憶された前記回路情報におけるビットエラーの有無を診断する診断処理を実施するための診断部と、
を備える制御装置を用いた制御方法であって、
前記診断部によって前記ビットエラーが有ると診断された場合、前記データメモリに記憶された前記演算結果のうち前記診断部によって前記ビットエラーが無いと診断された場合に対応する直近の過去データ、又は、前記過去データに対応するように予め用意された代替データを、前記プロセッサの前記演算結果として出力する。
【発明の効果】
【0009】
本開示の少なくとの一実施形態によれば、構成の複雑化を抑制しつつ、回路情報にビットエラーが生じた場合においても演算結果の信頼性を好適に維持可能な制御装置、及び、制御方法を提供できる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係る制御装置の内部構成を示すブロック図である。
【
図2】一実施形態に係る制御方法を示すフローチャートである。
【
図3】
図1のプロセッサ、データメモリ及びスクラビングモジュールの処理サイクルを並列的に示すタイムチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の幾つかの実施形態について説明する。ただし、実施形態として記載されている又は図面に示されている構成は、本発明の範囲をこれに限定する趣旨ではなく、単なる説明例にすぎない。
【0012】
図1は一実施形態に係る制御装置1の内部構成を示すブロック図である。制御装置1は、機器2を制御するための装置であり、プログラマブルロジックデバイス(PLD:Programmable Logic Device)として構成される。プログラマブルロジックデバイスである制御装置1は、回路情報6に基づいて内部に構成される論理回路によって、制御対象である機器2に対する制御パラメータを含む演算結果を得るための演算処理が実現される。
【0013】
尚、制御装置1のハードウェア構成は、公知のプログラマブルロジックデバイスと同様であり、詳細は割愛する。
【0014】
制御装置1は、回路情報メモリ3と、プロセッサ4と、データメモリ8と、スクラビングモジュール10と、出力部12を備える。
【0015】
回路情報メモリ3は、回路情報6を記憶するための構成である。回路情報6は、プロセッサ4に取り込まれることで所定の演算処理を実現するための論理回路を構成するための情報である。
【0016】
プロセッサ4は、回路情報メモリ3にアクセスし、回路情報メモリ3に記憶された回路情報6を取得することにより、回路情報6に対応する演算処理を繰り返し実行するための構成である。
【0017】
データメモリ8は、プロセッサ4の演算処理に必要な各種情報、及び、プロセッサ4の演算結果を記憶するための構成である。例えば、上記のように回路情報6に対応する論理回路が構成されたプロセッサ4は、データメモリ8にアクセスすることにより、論理回路を用いた演算処理に必要な情報をデータメモリ8から取得する。そしてプロセッサ4では論理回路を用いた演算処理が行われ、その演算結果がデータメモリ8に記憶される。データメモリ8に記憶された演算結果は、適宜取出し可能であり、また適宜破棄することも可能である。
【0018】
尚、本実施形態においてデータメモリ8に記憶される各種情報の少なくとも一部は、例えば、制御装置1の外部にある外付けのメモリ等の記憶装置に記憶してもよい。但し、本実施形態のように、各種情報を制御装置1の内部構成であるデータメモリ8に記憶することで、プロセッサ4との間で各種情報をやり取りに要する時間を短縮し、良好な動作速度を有する制御装置1を実現できる。
【0019】
スクラビングモジュール10は、回路情報メモリ3に記憶された回路情報6に対してスクラビング処理を実施するための構成である。スクラビングモジュール10は、回路情報6におけるビットエラーの有無を診断するための診断処理を実施するための診断部の一態様であり、診断処理として、ビットエラーが有ると診断された場合に、ビットエラーを訂正するスクラビング処理を実施するためのモジュールである。前述したように、回路情報6はプロセッサ4で所定の演算処理を実施するための論理回路を構成するための情報として予め回路情報メモリ3上に取出し可能に記憶される。このように回路情報メモリ3に記憶された回路情報6には、様々な要因(例えば地表に降り注ぐ中性子等)によってビットエラーが生じることが有る。回路情報6のビットエラーは、当該回路情報6がプロセッサ4によって取り出された際に、プロセッサ4に構成される論理回路のエラーをもたらす要因となるため、スクラビングモジュール10は、回路情報メモリ3上に記憶された回路情報6に対してスクラビング処理を実施することにより、回路情報6におけるビットエラーの有無を診断する。スクラビングモジュール10によるビットエラーの診断結果はプロセッサ4に通知される。
【0020】
出力部12は、制御装置1の制御対象に対して、制御装置1の演算結果に基づく制御パラメータを出力するための構成である。出力部12から出力される制御パラメータは、スクラビングモジュール10の診断結果に基づいて可変である。詳しくは後述するが、スクラビングモジュール10において回路情報6にビットエラーがないと診断された場合には、回路情報6によってプロセッサ4に構成される論理回路が信頼性に足りるため、プロセッサ4の演算結果が出力部12から制御パラメータとして機器2に対して出力される。一方でスクラビングモジュール10において回路情報6にビットエラーが有ると診断された場合には、回路情報6によってプロセッサ4に構成される論理回路の信頼性が低くなるため、プロセッサ4の演算結果は出力部12から出力されず(すなわち信頼性の低い演算結果が制御装置1の外部に流出せず)、直近の過去データや代替データが制御パラメータとして出力される。
【0021】
続いて上記構成を有する制御装置1によって実施される制御方法について説明する。
図2は一実施形態に係る制御方法を示すフローチャートである。
【0022】
プロセッサ4は回路情報6を取得する(ステップS1)。回路情報6はプロセッサ4で所定の演算処理に対応する論理回路が構成されるように回路情報メモリ3に用意されており、プロセッサ4は回路情報メモリ3にアクセスすることにより、回路情報メモリ3に予め記憶されている回路情報6を取得する。これによりプロセッサ4には取得した回路情報6に対応する論理回路が構築され、演算処理の実施が可能となる。
【0023】
続いてプロセッサ4はステップS1で取得した回路情報6に対応する演算処理を実施する(ステップS2)。ステップS2では、回路情報6によって構築された論理回路を用いた演算処理が実施され、演算処理に必要な各種情報が取り込まれてもよい。本実施形態では、回路情報6に対応する演算処理に必要なデータは予めデータメモリ8に記憶されており、プロセッサ4がデータメモリ8にアクセスすることにより当該データを取得可能になっている。
【0024】
尚、ステップS2の演算処理で必要なデータの取得先はデータメモリ8に限定されず、制御装置1が有する他のメモリや、制御装置1に外付けされた外部メモリから取得するようにしてもよい。
【0025】
続いてプロセッサ4はステップS2の演算処理によって得られた演算結果をデータメモリ8に記憶する(ステップS3)。すなわちステップS3では、プロセッサ4で得られた演算結果は、そのまま出力部12に送信されず、一旦データメモリ8に記憶される。これにより、スクラビング処理によって演算結果の信頼性が低い場合に、演算結果がそのまま出力部12から流出することが防止される。
【0026】
続いてスクラビングモジュール10は、回路情報メモリ3に記憶されている回路情報6に対してスクラビング処理を実施する(ステップS4)。スクラビング処理では、回路情報メモリ3上に記憶されている回路情報6におけるビットエラーの有無が診断され、エラーが有る場合に訂正される。プロセッサ4の演算処理は、ステップS1で取得された回路情報6に基づいて実施されるが、ステップS4ではスクラビングモジュール10が当該回路情報6の取得先である回路情報メモリ3にアクセスすることにより、回路情報6のビットエラーの有無が診断される。
尚、ステップS4のスクラビング処理の診断結果は、スクラビングモジュール10からプロセッサ4に対して通知される。
【0027】
続いてプロセッサ4は、スクラビングモジュール10からの通知に基づいて、ステップS4のスクラビング処理によって回路情報6にビットエラーが有ったか否かを判定する(ステップS5)。回路情報6にビットエラーが無いと判定された場合(ステップS5:NO)、プロセッサ4は、回路情報6によって正しい論理回路が構成されており、その演算結果も十分に信頼性が有ると判断し、ステップS3でデータメモリ8に記憶した演算結果を出力部12から出力する(ステップS6)。このようにスクラビング処理によってビットエラーが無いことが確認された回路情報6に基づく演算結果を出力することで、良好な制御精度が得られる。
【0028】
一方、回路情報6にビットエラーが有ると判定された場合(ステップS5:YES)、プロセッサ4は、ビットエラーが無いと判定された回路情報6に基づいて得られた過去の演算結果のうち直近のもの(以下、適宜「直近の過去データ」と称する)、又は、代替データを、出力部12から演算結果として出力する(ステップS7)。この場合、ステップS2で実施されたプロセッサ4の演算処理は、ビットエラーが存在する回路情報6に基づいて実施されたものであるため、当該回路情報6に基づいて得られた演算結果(ステップS3でデータメモリ8に記憶された演算結果)は信頼性が低い。そのためステップS7では、ステップS2で得られた演算結果(ステップS3でデータメモリ8に記憶された演算結果)に代えて、直近の過去データや代替データを出力することで、信頼性の低い演算結果が出力部12から機器2に流出することが防止される。
【0029】
尚、スクラビング処理によって回路情報6にビットエラーが有ると診断された場合には、ステップS3でデータメモリ8に記憶された演算結果は破棄されてもよい。つまり、ステップS3ではステップS3では、プロセッサ4の演算結果をデータメモリ8に一時的に記憶し、スクラビング処理によって回路情報6にビットエラーが有ると診断された場合には、一時的に記憶した演算結果が破棄される。これにより、データメモリ8に信頼性の低い演算結果が残ることを防止することで信頼性を好適に確保するとともに、データメモリ8の容量も有効に節約できる。
【0030】
ステップS7で扱われる直近の過去データは、例えば、プロセッサ4がステップS2の演算処理を繰り返すサイクルごとに、ステップS3でデータメモリ8に過去の演算処理を逐次記憶し、ステップS5のスクラビング処理で回路情報6にビットエラーが無いと判定されたもののうち直近のものが検索されることで取得される。この場合、データメモリ8には、演算結果ごとにプロセッサ4の処理時刻、及び、スクラビングモジュール10の診断結果が関連付けて記憶される。これにより、プロセッサ4は、データメモリ8に蓄積された過去の演算結果を検索することで、スクラビングモジュールによってビットエラーが無いと診断された場合に対応する直近の過去データを好適に特定できる。
【0031】
ステップS7で扱われる代替データは、スクラビング処理によってビットエラーが有ると診断された回路情報6に基づく演算結果に比べて、信頼性が高い各種データとして予め用意される。例えば代替データは、過去データであってもよいし、機器2に適した好適な値として得られたシミュレーション結果であってもよい。
【0032】
図2では説明の便宜上、ステップS4のスクラビング処理はステップS2~S3の後に実施されるように示されているが、ステップS4のスクラビング処理はステップS2のプロセッサ4の演算処理と並行に実施されてもよい。
図3は
図1のプロセッサ4、データメモリ8及びスクラビングモジュール10の処理サイクルを並列的に示すタイムチャートである。
図3では、プロセッサ4、データメモリ8及びスクラビングモジュール10ごとに処理サイクルが繰り返されている様子が示されている。
【0033】
尚、
図3ではプロセッサ4、データメモリ8及びスクラビングモジュール10の処理サイクルが互いに異なる時間幅を有する場合を例示しているが、同じ時間幅を有してもよい。また
図3ではある一連の演算処理に関連する各構成の処理サイクルがハッチングで強調して示しており、ハッチングが付されていない他の処理サイクルは他の演算処理に用いられる。
【0034】
この例では、プロセッサ4では、
図2のステップS2で実施される演算処理が時刻t1から3つの処理サイクルCp1~Cp3にわたって行われている。1つ目の処理サイクルCp1では、回路情報6に基づいて構成されたプロセッサ4の論理回路で演算処理に必要な各種情報がデータメモリ8から入力され、2つ目の処理サイクルCp2では、1つ目の処理サイクルCp1で入力された各種情報を論理回路に適用して演算処理が実行され、3つ目の処理サイクルCp3では2つ目の処理サイクルCp2で得らえた演算結果のデータメモリ8への記憶が行われている(3つ目の処理サイクルCp3は
図2のステップS3に相当する)。これに対応して、データメモリ8では、プロセッサ4での演算処理が完了する時刻t3において(処理サイクルCd1において)、プロセッサ4で得られた演算結果が格納される。
【0035】
このようなプロセッサ4の演算処理と並行して、スクラビングモジュール10ではプロセッサ4の演算処理のもととなる回路情報メモリ3上の回路情報6についてスクラビング処理が行われる。スクラビング処理は、プロセッサ4において演算処理が実施される期間(時刻t1~t3)の途中である時刻t2から開始する処理サイクルCs1において実施される。スクラビング処理が完了すると、スクラビング処理の診断結果はプロセッサ4に通知され、プロセッサ4はデータメモリ8から適切な演算結果を出力する(スクラビング処理によって回路情報6にビットエラーが無いとの診断結果が得られた場合には、データメモリ8に記憶した演算結果をそのまま出力部12から出力する。一方、スクラビング処理によって回路情報6にビットエラーが有るとの診断結果が得られた場合には、データメモリ8に記憶した演算結果に代えて、前述のように直近の過去データ又は代替データを演算結果として出力部12から出力する)。
【0036】
尚、スクラビングモジュール10によってビットエラーが有るとの診断結果が複数回連続した場合(スクラビングモジュール10の連続する複数の処理サイクルにわたってビットエラーが有るとの診断結果が得られた場合)、ステップS7においてプロセッサ4は、代替データを出力部12から演算結果として出力してもよい。これにより、スクラビングモジュール10において好ましくない診断結果(ビットエラーが有るとの診断結果)が連続することでプロセッサ4で信頼性の高い演算結果が得られない時間が継続した場合においても、演算結果として適切な値を代替データとして出力することで、信頼性を好適に確保できる。この場合、代替データとして機器2の挙動についてシミュレーションを行ったシミュレーション結果を用いることができる。
【0037】
以上説明したように上記各実施形態によれば、スクラビング処理によって回路情報メモリ3上の回路情報6にビットエラーが有ると診断された場合、演算結果の直近の過去データ、又は、代替データのように信頼性が確保されたデータが機器2に対して出力される。これにより、ビットエラーが存在する回路情報6によって構築された論理回路に基づく信頼性の低い演算結果が機器2に出力されることが回避され、回路情報6にビットエラーが有る場合においても良好な制御精度が得られる。そして、このような構成では、単一のプロセッサ4において出力の信頼性を確保できるため、構成が簡易であり、例えば同等の構成を並列に設けることで多数決によって信頼性を確保する場合に比べてコストも少なく済む。
【0038】
その他、本開示の趣旨を逸脱しない範囲で、上記した実施形態における構成要素を周知の構成要素に置き換えることは適宜可能であり、また、上記した実施形態を適宜組み合わせてもよい。
【0039】
上記各実施形態に記載の内容は、例えば以下のように把握される。
【0040】
(1)一態様に係る制御装置(1)は、
回路情報(6)を記憶するための回路情報メモリ(3)と、
前記回路情報メモリから読み出された前記回路情報に基づいて機器(2)を制御するための演算処理を繰り返し実行するためのプロセッサ(4)と、
前記演算処理の演算結果を逐次記憶するためのデータメモリ(8)と、
前記回路情報メモリに記憶された前記回路情報におけるビットエラーの有無を診断する診断処理を実施するための診断部(10)と、
を備え、
前記プロセッサは、前記診断部によって前記ビットエラーが有ると診断された場合、前記データメモリに記憶された前記演算結果のうち前記診断部によって前記ビットエラーが無いと診断された場合に対応する直近の過去データ、又は、前記過去データに対応するように予め用意された代替データを、前記演算結果として出力するように構成される。
【0041】
上記(1)の態様によれば、スクラビング処理によって回路情報メモリ上の回路情報にビットエラーが有ると診断された場合、演算結果の直近の過去データ、又は、代替データのように信頼性が確保されたデータが出力される。これにより、ビットエラーが存在する回路情報によって生成された論理回路に基づく信頼性の低い演算結果が出力されることが回避され、回路情報にビットエラーが有る場合においてもプロセッサから出力される演算結果の信頼性を好適に確保できる。このようにして本態様では、単一のプロセッサにおいて出力の信頼性を確保できるため、構成が簡易であり、例えば同等の構成を並列に設けることで多数決によって信頼性を確保する場合に比べてコストも少なく済む。
【0042】
(2)他の態様では、上記(1)の態様において、
前記診断部は、前記診断処理として、前記ビットエラーが有ると診断された場合に、前記ビットエラーを訂正するスクラビング処理を実施するスクラビングモジュールである。
【0043】
上記(2)の態様によれば、診断部として、ビットエラーが有ると診断された場合に、ビットエラーを訂正するスクラビング処理を実施するスクラビングモジュールを備える制御装置に好適に適用できる。
【0044】
(3)他の態様では、上記(1)又は(2)の態様において、
前記プロセッサは、前記演算結果を前記データメモリに一時的に記憶し、前記診断部によって前記ビットエラーが有ると診断された場合に、前記データメモリから前記演算結果を破棄する。
【0045】
上記(3)の態様によれば、プロセッサの演算結果はデータメモリに一時的に記憶されるが、診断処理により回路情報にビットエラーがあると診断された場合には、当該回路情報に基づく演算結果は破棄される。これにより、データメモリに信頼性の低い演算結果が残ることを防止することで信頼性を好適に確保するとともに、データメモリの容量を節約することができる。
【0046】
(4)他の態様では、上記(1)から(3)のいずれか一態様において、
前記プロセッサは、前記過去データを前記データメモリから取得可能である。
【0047】
上記(4)の態様によれば、過去データを制御装置の内部構成であるデータメモリから取得することで、制御装置の外部構成から取得する場合に比べて、良好な動作速度を得られる。
【0048】
(5)他の態様では、上記(1)から(4)のいずれか一態様において、
前記診断処理は、前記プロセッサによる前記演算処理と並列に実行される。
【0049】
上記(5)の態様によれば、プロセッサの演算処理と診断部の診断処理とが並列に実行されることで、良好な動作速度が得られる。
【0050】
(6)他の態様では、上記(1)から(5)のいずれか一態様において、
前記データメモリには、前記演算結果ごとに前記プロセッサの処理時刻、及び、前記診断部の診断結果が関連付けて記憶される。
【0051】
上記(6)の態様によれば、プロセッサの演算結果は、プロセッサの処理時刻、及び、診断処理の診断結果と関連付けられた状態でデータメモリに記憶される。これにより、プロセッサは、データメモリに蓄積された過去の演算結果を検索することで、診断部によってビットエラーが無いと診断された場合に対応する直近の過去データを好適に特定できる。
【0052】
(7)他の態様では、上記(1)から(6)のいずれか一態様において、
前記診断部によって前記ビットエラーが有るとの診断結果が複数回連続した場合、前記プロセッサは、前記代替データを、前記演算結果として出力する。
【0053】
上記(7)の態様によれば、繰り返し実施される診断処理によってビットエラーが有るとの診断結果が複数回連続して得られた場合、プロセッサは演算結果として予め用意された代替データを出力する。これにより、好ましくない診断結果(ビットエラーが有るとの診断結果)が連続することで信頼性の高い演算結果が得られない時間が継続した場合においても、演算結果として所望の値を出力することで、信頼性を好適に確保できる。
【0054】
(8)他の態様では、上記(1)から(7)のいずれか一態様において、
前記代替データは、前記演算結果に関するシミュレーション結果である。
【0055】
上記(8)の態様によれば、制御対象である機器に適したプロセッサの演算結果について予めシミュレーションを実施し、そのシミュレーション結果を演算結果として出力することで、回路情報にビットエラーが生じた場合においても、プロセッサの演算結果を適切な所望の値にし、信頼性を好適に確保できる。
【0056】
(9)一態様に係る制御方法は、
回路情報(6)を記憶するための回路情報メモリ(3)と、
前記回路情報メモリから読み出された前記回路情報に基づいて機器(2)を制御するための演算処理を繰り返し実行するためのプロセッサ(4)と、
前記演算処理の演算結果を逐次記憶するためのデータメモリ(8)と、
前記回路情報メモリに記憶された前記回路情報におけるビットエラーの有無を診断する診断処理を実施するための診断部(10)と、
を備える制御装置を用いた制御方法であって、
前記診断部によって前記ビットエラーが有ると診断された場合、前記データメモリに記憶された前記演算結果のうち前記診断部によって前記ビットエラーが無いと診断された場合に対応する直近の過去データ、又は、前記過去データに対応するように予め用意された代替データを、前記プロセッサの前記演算結果として出力する。
【0057】
上記(9)の態様によれば、診断処理によって回路情報メモリ上の回路情報にビットエラーが有ると診断された場合、演算結果の直近の過去データ、又は、代替データのように信頼性が確保されたデータが出力される。これにより、ビットエラーが存在する回路情報によって生成された論理回路に基づく信頼性の低い演算結果が出力されることが回避され、回路情報にビットエラーが有る場合においてもプロセッサから出力される演算結果の信頼性を好適に確保できる。このようにして本態様では、単一のプロセッサにおいて出力の信頼性を確保できるため、構成が簡易であり、例えば同等の構成を並列に設けることで多数決によって信頼性を確保する場合に比べてコストも少なく済む。
【符号の説明】
【0058】
1 制御装置
2 機器
3 回路情報メモリ
4 プロセッサ
6 回路情報
8 データメモリ
10 スクラビングモジュール
12 出力部