JP6271103B1 - 制御装置及び制御方法 - Google Patents

制御装置及び制御方法 Download PDF

Info

Publication number
JP6271103B1
JP6271103B1 JP2017546743A JP2017546743A JP6271103B1 JP 6271103 B1 JP6271103 B1 JP 6271103B1 JP 2017546743 A JP2017546743 A JP 2017546743A JP 2017546743 A JP2017546743 A JP 2017546743A JP 6271103 B1 JP6271103 B1 JP 6271103B1
Authority
JP
Japan
Prior art keywords
input
value
output
unit
failure determination
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
JP2017546743A
Other languages
English (en)
Other versions
JPWO2018154664A1 (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
Application granted granted Critical
Publication of JP6271103B1 publication Critical patent/JP6271103B1/ja
Publication of JPWO2018154664A1 publication Critical patent/JPWO2018154664A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • 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/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

入力排他部(212)は、冗長化されている複数のサブシステムからの複数の出力値が不一致の場合に、正しい出力値が既知であるプリセット入力値を複数のサブシステムに入力する。故障判定制御部(251)は、プリセット入力値に対する複数のサブシステムからの複数の出力値を取得し、取得した複数の出力値の各々と、プリセット入力値に対する正しい出力値とを比較する。

Description

本発明は、冗長化されたシステムに関する。
車載制御装置に代表されるような高い信頼性が要求されるシステムにおいては、演算システム(マイクロコンピュータ等)を二重化し、一方の演算システムが故障した場合に、他方の正常な演算システムのみで演算を継続する技術が用いられる。そのような二重化システムにおいては、故障した演算システムを判定するために、故障診断を行うための機能が必須となる。特に、両方の演算システムで同じプログラムを常時動作させ、両方の演算システムからの出力が一致するか否かを確認する方式の場合、出力の不一致が発生した際にどちらの演算システムが故障したのかを判定することが必要である。
例えば、特許文献1では、二重化された演算システムの出力が不一致の場合にも、多数決理論で正常な演算システムが選択可能な方法が開示されている。具体的には、特許文献1の方法では、演算システムの入力から出力への伝達関数モデルをプログラムにより実現する計算モデルが追加される。そして、特許文献1の方法では、いずれかの演算システムで故障が発生し、出力が不一致となった場合でも、計算モデルから出力される疑似出力を用いた多数決理論で正常な演算システムを選択することができる。
また、特許文献2では、二重化された演算システムの各々が自己診断機能を有する構成が開示されている。特許文献2の構成では、一方の演算システムが実制御システムとして動作し、他方の演算システムが自己診断を行うシステムとして動作する。そして、特許文献2の構成では、実制御システムとして動作する演算システムと自己診断を行うシステムとして動作する演算システムを交互に切り替えることで、連続した運転を実現しつつ、故障が発生した演算システムを検知することが可能である。
特開2006−228002号公報 国際公報WO2011/074147号
特許文献1の方法においては、二重化するシステムをソフトウェアだけでなくハードウェアも含めてモデル化する必要がある。このため、特許文献1の方法では、二重化するシステムの特にハードウェア構成が複雑になるほど、計算モデルの規模が大きくなってしまう。従って、計算モデルを実現するプログラムを実行するために、二重化するシステムよりも高性能のハードウェア(マイクロコンピュータ等)が必要になるという課題がある。
特許文献2の方法では、一方の演算システムが実制御システムとして動作し、他方の演算システムが自己診断を行うシステムとして動作する。このため、特許文献2の方法では、両方の演算システムで同じプログラムを常時動作させ、両方の演算システムの出力が一致するか否かを確認することができない。また、特許文献2の方法では、演算システムが自己診断を行う。このため、特許文献2の方法では、演算システムのハードウェアが故障した場合には自己診断機能も影響を受け、正しい診断ができず、高い信頼性を保証することができないという課題がある。
本発明は、上記の課題を解決することを主な目的とする。より具体的には、本発明は、冗長化されている複数の演算システムからの複数の出力値が一致するか否かを判定する方式において、簡素なハードウェア構成により、正常な演算システムを判定できるようにすることを主な目的とする。
本発明に係る制御装置は、
冗長化されている複数の演算システムからの複数の出力値が不一致の場合に、正しい出力値が既知であるプリセット入力値を前記複数の演算システムに入力する入力管理部と、
前記プリセット入力値に対する前記複数の演算システムからの複数の出力値を取得し、取得した前記複数の出力値の各々と、前記プリセット入力値に対する前記正しい出力値とを比較する比較部とを有する。
本発明によれば、冗長化されている複数の演算システムからの複数の出力値が一致するか否かを判定する方式において、簡素なハードウェア構成により、確実に正常な演算システムを判定することができる。
実施の形態1に係る制御装置のハードウェア構成例を示す図。 実施の形態1に係る制御装置の機能構成例を示す図。 実施の形態1に係る動作モードが通常モードである場合の制御装置の動作例を示すフローチャート。 実施の形態1に係る入力排他部の動作例を示すフローチャート。 実施の形態1に係る故障判定起動部の動作例を示すフローチャート。 実施の形態1に係る故障判定制御部の動作例を示すフローチャート。 実施の形態2に係る制御装置の機能構成例を示す図。 実施の形態2に係るデータ収集部の動作例を示すフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
実施の形態1.
本実施の形態では、入力値と当該入力値に対する正しい出力値の組合せを事前に準備しておく。なお、事前に準備しておく、正しい出力値が既知の入力値は、以下、プリセット入力値という。そして、本実施の形態では、冗長化された複数の演算システムの出力値が不一致になった場合に、プリセット入力値が各演算システムに入力される。更に、本実施の形態では、各演算システムからの出力値とプリセット入力値に対する正しい出力値とが比較される。この結果、正しい出力値と同じ出力値を出力した演算システムが正しい演算システムであると判定することができる。
なお、以下では、冗長化された演算システムの例として、二重化された演算システムを説明する。つまり、同一の演算処理を行う演算システムが二つ存在する構成を説明する。
***構成の説明***
図1は、本実施の形態1に係る制御装置100のハードウェア構成例を示す。
図1に示すように、制御装置100は入力同期FPGA(Field−Programmable Gate Array)110、マイクロコンピュータA120、マイクロコンピュータB130、及び出力照合FPGA140を持つ。制御装置100は、マイクロコンピュータA120、マイクロコンピュータB130により二重化されている。
なお、制御装置100により行われる処理は、制御方法に相当する。
入力同期FPGA110は、複数の外部装置A150(図1では1つのみ記載)とCAN(Controller Area Network)、SPI(Serial Peripheral Interface)などを用いて接続される。入力同期FPGA110は、外部装置A150から送信された入力値を受信し、マイクロコンピュータA120及びマイクロコンピュータB130に、タイミングを合わせて入力値の送信を行う。
マイクロコンピュータA120は、制御装置100のメインの制御処理を行うためのハードウェアである。マイクロコンピュータA120は、CPU(Central Processing Unit)121、メモリ122、I/O(Input/Output)デバイス123、CAN I/Oデバイス124で構成される。
マイクロコンピュータA120は、入力同期FPGA110と出力照合FPGA140と、CAN、SPIなどを用いて接続される。図1では、マイクロコンピュータA120がCANで入力同期FPGA110と出力照合FPGA140と接続される構成を想定しているため、CAN I/F124が配置されている。
マイクロコンピュータB130は、マイクロコンピュータA120で実現されるシステムの二重化のためのハードウェアである。マイクロコンピュータB130の内部構成はマイクロコンピュータA120と同じである。このため、マイクロコンピュータB130の内部構成の図示は省略している。
出力照合FPGA140は、複数の外部装置B160(図1では1つのみ記載)とCAN、SPIなどを用いて接続される。出力照合FPGA140は、マイクロコンピュータA120から送信される出力値とマイクロコンピュータB130から送信される出力値を比較する。そして、出力照合FPGA140は、二つの出力値が一致している場合に、いずれかの出力値を外部装置B160に送信する。
また、入力同期FPGA110と出力照合FPGA140は、後述する図2の入力排他部212と故障判定制御部251とを接続するために、CAN、SPIなどを用いて接続される。
図2は、本実施の形態に係る制御装置100の機能構成例を示す。なお、図2において、実線の矢印は入力値(通常の入力値及びプリセット入力値)又は出力値を表す。破線の矢印は、入力値及び出力値以外の情報を表す。
図2において、制御装置100は、入力部210、サブシステムA220、サブシステムB230、出力照合部240、故障判定部250から構成される。
入力部210は、入力同期FPGA110にて動作する。入力部210は、入力同期部211と入力排他部212と故障判定動作状態記憶部213で構成される。
入力同期部211は、外部装置A150から送信された通常の入力値を受信し、入力排他部212とタイミングを同期し、受信した通常の入力値を入力排他部212に送信する。入力同期部211は、外部装置A150から繰り返し通常の入力値を受信し、入力排他部212に繰り返し通常の入力値を送信する。
入力排他部212は、動作モードが通常モードである場合に、入力同期部211から通常の入力値を受信する。また、入力排他部212は、動作モードが故障判定モードの場合に、故障判定制御部251からプリセット入力値を受信する。入力排他部212は、入力同期部211からの通常の入力値又は故障判定制御部251からのプリセット入力値をサブシステムA220及びサブシステムB230に入力する。
通常モードは、サブシステムA220からの出力値とサブシステムB230からの出力値とが一致している間の制御装置100の動作モードである。故障判定モードは、サブシステムA220からの出力値とサブシステムB230からの出力値とが不一致となってから、正常に動作していているサブシステム(以下、正常サブシステムという)が判明するまでの間の制御装置100の動作モードである。故障判定モードでは、サブシステムA220及びサブシステムB230のうち、どちらのサブシステムが正常に動作しているかを判定する手順が行われる。後述する縮退モードは、正常サブシステムが判明した後の制御装置100の動作モードである。
入力排他部212が関係する動作モードは、正常モードと故障判定モードのみである。つまり、入力排他部212は、動作モードを、正常モードと故障判定モードの間で切り替える。なお、動作モードの切り替えは、後述する故障判定動作状態記憶部213で記憶されている動作モード情報に、入力排他部212が現在の動作モードに対応する値を設定することにより行われる。
サブシステムA220からの出力値とサブシステムB230からの出力値が不一致になった際に、入力排他部212は、故障判定制御部251から故障判定モード設定要求を受信し、動作モードを故障判定モードに設定する。故障モード設定要求は、故障判定制御部251が入力排他部212に動作モードを故障判定モードに設定するよう要求するメッセージである。また、正常サブシステムが判明した後に、入力排他部212は、故障判定制御部251から正常モード設定要求を受信し、動作モードを正常モードに設定する。通常モード設定要求は、故障判定制御部251が入力排他部212に動作モードを通常モードに設定するよう要求するメッセージである。
なお、入力排他部212は、入力管理部に相当する。
故障判定動作状態記憶部213は、動作モード情報を記憶する。動作モード情報は、制御装置100の現在の動作モードを示す制御情報である。具体的には、故障判定動作状態記憶部213が記憶する動作モード情報には、通常モードを表す値又は故障判定モードを表す値が示される。
サブシステムA220とサブシステムB230は、二重化されたシステムである。サブシステムA220とサブシステムB230には、同じプログラムが搭載されている。そして、サブシステムA220とサブシステムB230は、同じ入力値を受信し、受信した入力値に対して演算処理を行い、各々出力値を出力する。サブシステムA220は、マイクロコンピュータA120で動作し、サブシステムB230は、マイクロコンピュータB130で動作する。サブシステムA220とサブシステムB230は、各々演算システムに相当する。
出力照合部240は、出力照合FPGA140にて動作する。出力照合部240は、出力照合制御部241と故障判定起動部242と縮退モード動作状態記憶部243で構成される。
出力照合制御部241は、制御装置100の動作モードが通常モードであれば、サブシステムA220とサブシステムB230から送信される出力値を比較する。二つの出力値が一致している場合は、出力照合制御部241は、いずれかの出力値を故障判定起動部242へ送信する。一方、二つの出力値が不一致の場合は、出力照合制御部241は、いずれの出力値も故障判定起動部242に送信しない。
また、出力照合制御部241は、制御装置100の動作モードが故障判定モードであれば、サブシステムA220とサブシステムB230から送信される出力値を比較せずに破棄する。
また、出力照合制御部241は、制御装置100の動作モードが縮退モードであれば、正常サブシステムの出力値を選択して、選択した出力値を故障判定起動部242に出力する。
出力照合制御部241は、故障判定起動部242から現在の動作モード情報を通知されることにより、制御装置100がどの動作モードにあるかを判定することができる。また、出力照合制御部241は、故障判定起動部242から正常サブシステムを通知されることにより、正常サブシステムの出力値を選択することができる。
故障判定起動部242は、制御装置100の動作モードが通常モードであれば、出力照合制御部241の比較結果に応じて、故障判定を行うか否かを決定する。具体的には、出力照合制御部241の比較結果が、サブシステムA220の出力値とサブシステムB230の出力値が一致していることを通知している場合は、故障判定起動部242は、故障判定を行わないことを決定し、出力照合制御部241から送信された出力値を外部装置B160に送信する。出力照合制御部241の比較結果が、サブシステムA220の出力値とサブシステムB230の出力値が一致していないことを通知している場合は、故障判定起動部242は、故障判定を行うことを決定する。故障判定を行う場合は、故障判定起動部242は、故障判定制御部251を起動する。また、故障判定起動部242は、動作モードを故障判定モードに設定する。更に、故障判定起動部242は、出力照合制御部241に、動作モードが故障判定モードに移行したことを通知する。
また、故障判定起動部242は、故障判定制御部251から正常サブシステムが通知される。故障判定起動部242は、正常サブシステムが通知されると、動作モードを縮退モードに設定する。更に、故障判定起動部242は、出力照合制御部241に正常サブシステムを通知する。また、故障判定起動部242は、動作モードが縮退モードに移行した後に、出力照合制御部241から受信した出力値を外部装置B160に出力する。
動作モードの切り替えは、後述する縮退モード動作状態記憶部243で記憶されている動作モード情報に、故障判定起動部242が現在の動作モードに対応する値を設定することにより行われる。
故障判定起動部242は、縮退モード動作状態記憶部243の動作モード情報を参照することで、制御装置100がどの動作モードにあるかを判定することができる。
なお、故障判定起動部242は、出力管理部に相当する。
縮退モード動作状態記憶部243は、動作モード情報を記憶する。縮退モード動作状態記憶部243が記憶する動作モード情報には、通常モードを表す値、故障判定モードを表す値又は縮退モードを表す値が示される。
故障判定部250は、出力照合FPGA140にて動作する。
故障判定部250は、故障判定制御部251とプリセット入力値記憶部252とリトライ回数記憶部253で構成される。
故障判定制御部251は、故障判定起動部242により起動される。故障判定制御部251は、起動すると、入力排他部212に故障判定モード設定要求を送信する。また、故障判定制御部251は、プリセット入力値記憶部252からプリセット入力値と出力値との組を読み出す。そして、故障判定制御部251は、プリセット入力値を入力排他部212に送信する。サブシステムA220及びサブシステムB230がプリセット入力値に対して演算を行い、演算結果である出力値が出力されると、サブシステムA220の出力値とサブシステムB230の出力値を、プリセット入力値の正しい出力値と比較する。そして、故障判定制御部251は、正しい出力値と一致する出力値を出力したサブシステムを正常サブシステムと判定する。また、故障判定制御部251は、正常サブシステムを故障判定起動部242に通知する。
プリセット入力値に対するサブシステムA220からの出力値とサブシステムB230からの出力値を正しい出力値と比較しても、正常サブシステムを判定できない場合は、繰り返しプリセット入力値を入力排他部212に送信する。つまり、リトライ回数が上限値に達していなければ、故障判定制御部251は、プリセット入力値記憶部252から別のプリセット入力値と出力値の組を読み出し、読み出したプリセット入力値を入力排他部212に送信する。故障判定制御部251は、サブシステムA220からの出力値とサブシステムB230からの出力値がどちらも正しい出力値に一致する場合、又は、サブシステムA220からの出力値とサブシステムB230からの出力値がどちらも正しい出力値に一致しない場合は、正常サブシステムを判定することができない。
リトライ回数は、リトライ回数記憶部253で記憶される。リトライ回数が上限値に達した場合は、故障判定制御部251は、故障判定に失敗したことを故障判定起動部242に通知する。
なお、プリセット入力値は、可能な限り多くのハードウェアを使用する演算が可能な値とすることが望ましい。このようにすることで、早期の故障判定が可能となる。
故障判定制御部251は、比較部に相当する。
なお、ここでは、故障判定部250は出力照合FPGA140にて実現することとしているが、故障判定部250を、低コストの小規模マイクロコンピュータを用いて実現することも可能である。
***動作の説明***
次に、動作モードが通常モードである場合の制御装置100の動作例を図3を用いて説明する。
最初に、入力同期部211が、外部装置A150から通常の入力値を受信する(ステップS101)。
次に、入力同期部211は、通常の入力値を入力排他部212に送信する(ステップS102)。入力排他部212は、動作モードが通常モードであるであるため、入力同期部211からの通常の入力値を、サブシステムA220とサブシステムB230に送信する(ステップS102)。
サブシステムA220とサブシステムB230は、各々、通常の入力値を用いた演算を行い、演算結果である出力値を送信する(ステップS103)。
次に、出力照合制御部241は、サブシステムA220の出力値とサブシステムB230の出力値とを比較し、比較結果を故障判定起動部242に送信する(ステップS104)。
サブシステムA220の出力値とサブシステムB230の出力値が一致している場合は、出力照合制御部241は、二つの出力値が一致していることを通知する比較結果と、サブシステムA220の出力値とサブシステムB230の出力値のうちのいずれかを、故障判定起動部242に送信する。
サブシステムA220の出力値とサブシステムB230の出力値が一致していない場合は、出力照合制御部241は、二つの出力値が一致していないことを通知する比較結果を故障判定起動部242に出力する。この場合は、出力照合制御部241は、サブシステムA220の出力値とサブシステムB230の出力値のいずれも、故障判定起動部242に送信しない。
故障判定起動部242は、出力照合制御部241の比較結果を参照して、故障判定の実施有無を決定する(ステップS105)。具体的には、出力照合制御部241の比較結果が、サブシステムA220の出力値とサブシステムB230の出力値が一致していることを通知している場合は、故障判定起動部242は、故障判定を行わないことを決定する。そして、故障判定起動部242は、出力照合制御部241から送信された出力値を外部装置B160に送信する。出力照合制御部241の比較結果が、サブシステムA220の出力値とサブシステムB230の出力値が一致していることを通知している場合は、故障判定起動部242は、故障判定を行うことを決定する。
次に、入力排他部212、故障判定起動部242、故障判定制御部251の動作例を説明する。
図4は、入力排他部212の動作例を示す。図5は、故障判定起動部242の動作例を示す。図6は、故障判定制御部251の動作例を示す。なお、一連の処理によって得られる効果が変わらなければ、処理の順序や手段は異なっていても構わない。
まず、入力排他部212の動作例を、図4を用いて説明する。
図4の処理シーケンスは、入力排他部212が通常の入力値、プリセット入力値、故障判定モード設定要求及び通常モード設定要求のいずれかを受信することにより開始する。
入力排他部212は、受信したデータが入力値(通常の入力値又はプリセット入力値)及びモード設定要求(通常モード設定要求又は故障判定モード設定要求)のいずれであるかを判定する(ステップS201)。入力値の受信の場合は、処理はステップS202に遷移する。モード設定要求の受信の場合は、処理はステップS208に遷移する。
入力値の受信の場合は、入力排他部212は、受信した入力値が通常の入力値及びプリセット入力値のいずれであるかを判定する(ステップS202)。受信した入力値が通常の入力値の場合は、処理はステップS203に遷移する。一方、受信した入力値がプリセット入力値の場合は、処理はステップS206に遷移する。
受信した入力値が入力同期部211からの通常の入力値である場合は、入力排他部212は、現在の動作モードが故障判定モードであるか否かを判定する(ステップS203)。具体的には、入力排他部212は、故障判定動作状態記憶部213の動作モード情報を参照して、現在の動作モードが故障判定モードであるか否かを判定する。
現在の動作モードが故障判定モードでない場合は、処理がステップS204に遷移する。一方、現在の動作モードが故障判定モードである場合は、処理がステップS205に遷移する。
現在の動作モードが故障判定モードでない場合は、現在の動作モードは通常モードであるため、入力排他部212は、受信した入力値をサブシステムA220とサブシステムB230の双方に送信する(ステップS204)。
一方、現在の動作モードが故障判定モードである場合は、入力排他部212は、入力同期部211から受信した通常の入力値を破棄する(ステップS205)。
ステップS202において、受信した入力値が故障判定制御部251からのプリセット入力値である場合は、次に、入力排他部212は、現在の動作モードが故障判定モードであるか否かを判定する(ステップS206)。具体的には、入力排他部212は、故障判定動作状態記憶部213の動作モード情報を参照して、現在の動作モードが故障判定モードであるか否かを判定する。
現在の動作モードが故障判定モードでない場合は、処理がステップS205に遷移する。一方、現在の動作モードが故障判定モードである場合は、処理がステップS207に遷移する。
現在の動作モードが故障判定モードでない場合は、現在の動作モードは通常モードであるため、入力排他部212は、故障判定制御部251から受信したプリセット入力値を破棄する(ステップS205)。
一方、現在の動作モードが故障判定モードである場合は、入力排他部212は、受信したプリセット入力値をサブシステムA220とサブシステムB230の双方に送信する(ステップS207)。
また、ステップS201において、モード設定要求を受信している場合は、動作モードを故障判定モード又は通常モードに設定する(ステップS208)。つまり、故障判定モード設定要求を受信した場合は、入力排他部212は、動作モードを故障判定モードに設定する。また、通常モード設定要求を受信した場合は、入力排他部212は動作モードを通常モードに設定する。
次に、故障判定起動部242の動作例を図5を用いて説明する。
図5の処理シーケンスは、故障判定起動部242が出力照合制御部241から出力値の比較結果を受信することで開始する。
故障判定起動部242は、出力照合制御部241から比較結果を受信すると、現在の動作モードが縮退モードであるか否かを判定する(ステップS301)。より具体的には、故障判定起動部242は、縮退モード動作状態記憶部243の動作モード情報を参照して、現在の動作モードが縮退モードであるか否かを判定する。現在の動作モードが縮退モードでない場合は、処理はステップS302に遷移する。現在の動作モードが縮退モードの場合は、処理はステップS307に遷移する。
現在の動作モードが縮退モードでない場合は、故障判定起動部242は、出力照合制御部241から送信された比較結果が二つの出力値が一致しているかことを示しているか否かを判定する(ステップS302)。比較結果が二つの出力結果が一致していることを示している場合は、処理はステップS303に遷移する。比較結果が二つの出力結果が不一致であることを示している場合は、処理はステップS304に遷移する。
比較結果が二つの出力結果が一致していることを示している場合は、故障判定起動部242は、出力照合制御部241から受信した出力値を外部装置B160に送信する(ステップS303)。
一方、比較結果が二つの出力結果が不一致であることを示している場合は、故障判定起動部242は、故障判定を実施するために、故障判定制御部251を起動する(ステップS304)。より具体的には、故障判定起動部242は、故障判定制御部251に起動要求を送信する。また、動作モードを故障判定モードに設定する(ステップS304)。より具体的には、故障判定起動部242は、縮退モード動作状態記憶部243の動作モード情報を、故障判定モードを示す値に更新する。更に、故障判定起動部242は、出力照合制御部241に動作モードが故障判定モードに移行したことを通知する。この通知により、以降は、出力照合制御部241からは、いずれのサブシステムからの出力値も故障判定起動部242に送信されなくなる。
次に、故障判定起動部242は、故障判定制御部251からの判定結果を待ち(ステップS305)、故障判定制御部251の判定結果として、正常サブシステムが通知されると、制御装置100の動作モードを縮退モードに移行する(ステップS306)。より具体的には、故障判定起動部242は、縮退モード動作状態記憶部243の動作モード情報を、縮退モードを示す値に更新する。また、故障判定起動部242は、出力照合制御部241に正常サブシステムを通知する。この通知により、以降は、出力照合制御部241からは、正常サブシステムからの出力値が故障判定起動部242に送信される。
ステップS301において、現在の動作モードが縮退モードである場合には、出力照合制御部241から受信した正常サブシステムの出力値を外部装置B160に送信する(ステップS307)。
次に、故障判定制御部251の動作例を図6を用いて説明する。
図6の処理シーケンスは、故障判定制御部251が故障判定起動部242からの起動要求を受信することにより開始する。
起動要求を受信すると、故障判定制御部251は、入力排他部212に、動作モードを故障判定モードに設定するように要求する(ステップS401)。より具体的には、故障判定制御部251は、入力排他部212に、故障判定モード設定要求を送信する。
次に、故障判定制御部251は、プリセット入力値記憶部252からプリセット入力値と出力値との組を取得する(ステップS402)。そして、故障判定制御部251は、取得したプリセット入力値を入力排他部212に送信する(ステップS403)。
その後、各サブシステムからの出力値の受信を待つ(ステップS404)。
各サブシステムから出力値を受信すると、故障判定制御部251は、受信した二つの出力値を、プリセット入力値の正しい出力値と比較する(ステップS405)。
次に、故障判定制御部251は、正しい出力値と一致する出力値が一つのみであるか否かを判定する(ステップS406)。判定の結果、正しい出力値と一致する出力値が一つのみである場合は、故障判定が成功したことになる。つまり、故障判定制御部251は、正しい出力値と一致する出力値を送信したサブシステムを正常サブシステムとして扱う。この場合には、処理はステップS407に遷移する。正しい出力値と一致する出力値が一つでない場合(二つの出力値が正しい出力値に一致する場合、いずれの出力値も正しい出力値に一致しない場合)は、故障判定に失敗したことになる。この場合は、処理はステップS409に遷移する。
正しい出力値と一致する出力値が一つのみである場合は、故障判定制御部251は、入力排他部212に動作モードを通常モードに設定するように要求する(ステップS407)。より具体的には、故障判定制御部251は、入力排他部212に、通常モード設定要求を送信する。
また、故障判定制御部251は、故障判定起動部242に、正常サブシステムとして認識されたサブシステムを通知する(ステップS408)。
正しい出力値と一致する出力値が一つでない場合は、故障判定制御部251は、故障判定のリトライを行う。具体的には、故障判定制御部251は、リトライ回数記憶部253で記憶されているリトライ回数を更新し(ステップS409)、リトライ回数が上限値に達したか否かを判定する(ステップS410)。リトライ回数が上限値に達した場合は、処理はステップS411に遷移する。一方、リトライ回数が上限値に達していない場合は、処理はステップS402に遷移する。そして、故障判定制御部251は、ステップS402からの処理シーケンスを再度実施する。
リトライ回数が上限値に達した場合は、故障判定制御部251は、故障判定起動部242に判定失敗を通知する(ステップS411)。
***実施の形態の効果の説明***
以上のように、本実施の形態では、各サブシステムからの出力値が不一致となった場合に、故障判定制御部251は、プリセット入力値を各サブシステムに与え、プリセット入力値を用いた演算を各サブシステムに行わせる。そして、故障判定制御部251は、各サブシステムからの出力値と既知の出力値とを比較して、正常に動作しているサブシステムを判定する。このため、本実施の形態では、特許文献1で開示された、計算モデルを実現するプログラムを実行するための高性能のハードウェアは不要であり、簡素なハードウェアの追加のみで、正常に動作するサブシステムを判定することができる。また、演算を実行するサブシステムとは別の機構である故障判定制御部251が故障判定を行うため、確実に、正常に動作するサブシステムを判定することができる。
なお、以上では、冗長化された演算システムの例として、二重化された演算システムを説明したが、本実施の形態で説明した技術は、三重化以上の冗長度で冗長化されたシステムにも適用可能である。例えば、サブシステムA、サブシステムB、サブシステムCのように三重化された構成において、全てサブシステムの出力値が一致しない場合に、故障判定制御部251は、プリセット入力値をサブシステムA、サブシステムB、サブシステムCの各々に与えて、正常サブシステムを判定することができる。
実施の形態2.
本実施の形態では、サブシステムA220からの出力値及びサブシステムB230からの出力値が一致する場合に、サブシステムA220及びサブシステムB230への通常の入力値をプリセット入力値として用いる例を説明する。
本実施の形態では、主に実施の形態1との差異を説明する。
なお、以下で説明していない事項は、実施の形態1と同様である。
***構成の説明***
実施の形態2に係る制御装置100ハードウェア構成例は、図1に示す構成と同じである。このため、本実施の形態に係る制御装置100のハードウェア構成例の説明は省略する。
図7は、実施の形態2に係る制御装置100の機能構成例を示す。
図7では、図2の構成と比較して、データ収集部254が追加されている。データ収集部254以外の構成要素は、図2に示すものと同じである。このため、データ収集部254以外の構成要素の説明を省略する。データ収集部254は、出力照合FPGA140で動作する。データ収集部254は、指定部に相当する。
なお、図7では、作図上の理由から、図2に示す、入力同期FPGA110、マイクロコンピュータA120、マイクロコンピュータB130及び出力照合FPGA140の表記を省略している。
データ収集部254は、入力排他部212からサブシステムA220とサブシステムB230に入力される通常の入力値を収集する。そして、通常の入力値に対するサブシステムA220の出力値と通常の入力値に対するサブシステムの出力値とが一致していることを出力照合制御部241から通知された場合に、データ収集部254は、収集した通常の入力値をプリセット入力値に指定する。また、データ収集部254は、プリセット入力値として指定した通常の入力値に対する出力値を、プリセット入力値に対する正しい出力値として指定する。より具体的には、データ収集部254は、通常の入力値をプリセット入力値記憶部252に格納することで、当該通常の入力値をプリセット入力値に指定する。また、データ収集部254は、当該通常の入力値に対する出力値を、当該通常の入力値と対応付けてプリセット入力値記憶部252に格納することで、当該出力値を正しい出力値に指定する。
なお、プリセット入力値記憶部252に記憶されているプリセット入力値と正しい出力値の組の数が規定数以上である場合は、データ収集部254は、最も古いプリセット入力値と正しい出力値の組を消去して、新しいプリセット入力値と正しい出力値の組をプリセット入力値記憶部252に格納する。
本実施の形態でも、故障判定制御部251は、故障判定起動部242により起動されると、プリセット入力値記憶部252に記憶されているプリセット入力値を入力排他部212に送信する。但し、本実施の形態では、故障判定制御部251は、データ収集部254によりプリセット入力値として指定された入力値(データ収集部254によりプリセット入力値としてプリセット入力値記憶部252に格納された入力値)を入力排他部212に送信する。
また、本実施の形態でも、故障判定制御部251は、サブシステムA220の出力値とサブシステムB230の出力値を、プリセット入力値の正しい出力値と比較する。但し、本実施の形態では、故障判定制御部251は、データ収集部254により正しい出力値として指定された出力値(データ収集部254により正しい出力値としてプリセット入力値記憶部252に格納された出力値)を用いる。
本実施の形態でも、入力排他部212は、故障判定制御部251からのプリセット入力値をサブシステムA220及びサブシステムB230に入力する。但し、本実施の形態では、入力排他部212は、データ収集部254によりプリセット入力値として指定された入力値を、サブシステムA220及びサブシステムB230に入力する。
***動作の説明***
次に、本実施の形態に係る制御装置100の動作例を説明する。
ここでは、図8を参照して、データ収集部254の動作例を説明する。
データ収集部254以外の構成要素の動作は、実施の形態1と同じである。
データ収集部254は、入力排他部212からサブシステムA220とサブシステムB230に入力される通常の入力値を受信する(ステップS501)。データ収集部254は、受信した通常の入力値を、一時記憶領域に格納する。
次に、データ収集部254は、出力照合制御部241から比較結果を受信する(ステップS502)。
次に、データ収集部254は、比較結果を参照して、サブシステムA220の出力値とサブシステムB230の出力値が一致しているか否かを判定する(ステップS503)。
サブシステムA220の出力値とサブシステムB230の出力値が一致している場合は、処理はステップS504に遷移する。一方、サブシステムA220の出力値とサブシステムB230の出力値が一致していない場合は、処理はステップS505に遷移する。
なお、サブシステムA220の出力値とサブシステムB230の出力値が一致している場合は、データ収集部254は、ステップS502において、サブシステムA220の出力値及びサブシステムB230の出力値のいずれかを、比較結果とともに出力照合制御部241から受信する。
サブシステムA220の出力値とサブシステムB230の出力値が一致している場合は、データ収集部254は、一時記憶領域で記憶されている通常の入力値とステップS502で受信した出力値との組を、プリセット入力値記憶部252に格納する(ステップS504)。
一方、サブシステムA220の出力値とサブシステムB230の出力値が一致していない場合は、データ収集部254は、一時記憶領域で記憶されている通常の入力値を破棄する(ステップS505)。
***実施の形態の効果の説明***
以上のように、本実施の形態では、プリセット入力値と正しい出力値の組を事前に準備しておかなくとも、プリセット入力値と正しい出力値の組を用いた故障判定を行うことができる。
100 制御装置、110 入力同期FPGA、120 マイクロコンピュータA、121 CPU、122 メモリ、123 I/Oデバイス、124 CAN I/Oデバイス、130 マイクロコンピュータB、140 出力照合FPGA、150 外部装置A、160 外部装置B、210 入力部、211 入力同期部、212 入力排他部、213 故障判定動作状態記憶部、220 サブシステムA、230 サブシステムB、240 出力照合部、241 出力照合制御部、242 故障判定起動部、243 縮退モード動作状態記憶部、250 故障判定部、251 故障判定制御部、252 プリセット入力値記憶部、253 リトライ回数記憶部、254 データ収集部。

Claims (2)

  1. 冗長化されている複数の演算システムからの複数の出力値が一致している間は、通常の入力値を前記複数の演算システムに繰り返し入力し、前記複数の演算システムからの複数の出力値が不一致になった後は、前記通常の入力値の入力を停止して、正しい出力値が既知であるプリセット入力値を前記複数の演算システムに入力する入力管理部と、
    前記プリセット入力値に対する前記複数の演算システムからの複数の出力値を取得し、取得した前記複数の出力値の各々と、前記プリセット入力値に対する前記正しい出力値とを比較する比較部と、
    前記入力管理部により前記通常の入力値が前記複数の演算システムに入力され、前記通常の入力値に対する前記複数の演算システムからの複数の出力値が一致する場合に、前記通常の入力値を前記プリセット入力値に指定し、前記複数の出力値のうちのいずれかを前記正しい出力値に指定する指定部とを有し、
    前記入力管理部は、
    前記複数の演算システムからの複数の出力値が不一致になった場合に、前記指定部により指定された前記プリセット入力値を前記複数の演算システムに入力し、
    前記比較部は、
    前記プリセット入力値に対する前記複数の演算システムからの複数の出力値を取得し、取得した前記複数の出力値の各々と、前記指定部により指定された前記正しい出力値とを比較する制御装置。
  2. コンピュータが、冗長化されている複数の演算システムからの複数の出力値が一致している間は、通常の入力値を前記複数の演算システムに繰り返し入力し、前記複数の演算システムからの複数の出力値が不一致になった後は、前記通常の入力値の入力を停止して、正しい出力値が既知であるプリセット入力値を前記複数の演算システムに入力する入力管理処理と、
    前記コンピュータが、前記プリセット入力値に対する前記複数の演算システムからの複数の出力値を取得し、取得した前記複数の出力値の各々と、前記プリセット入力値に対する前記正しい出力値とを比較する比較処理と、
    前記入力管理処理により前記通常の入力値が前記複数の演算システムに入力され、前記通常の入力値に対する前記複数の演算システムからの複数の出力値が一致する場合に、前記コンピュータが、前記通常の入力値を前記プリセット入力値に指定し、前記複数の出力値のうちのいずれかを前記正しい出力値に指定する指定処理とを有し、
    前記複数の演算システムからの複数の出力値が不一致になった場合に、前記入力管理処理において、前記コンピュータが、前記指定処理により指定された前記プリセット入力値を前記複数の演算システムに入力し、
    前記比較処理において、前記コンピュータが、前記プリセット入力値に対する前記複数の演算システムからの複数の出力値を取得し、取得した前記複数の出力値の各々と、前記指定処理により指定された前記正しい出力値とを比較する制御方法。
JP2017546743A 2017-02-22 2017-02-22 制御装置及び制御方法 Active JP6271103B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/006660 WO2018154664A1 (ja) 2017-02-22 2017-02-22 制御装置及び制御方法

Publications (2)

Publication Number Publication Date
JP6271103B1 true JP6271103B1 (ja) 2018-01-31
JPWO2018154664A1 JPWO2018154664A1 (ja) 2019-02-28

Family

ID=61074850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017546743A Active JP6271103B1 (ja) 2017-02-22 2017-02-22 制御装置及び制御方法

Country Status (2)

Country Link
JP (1) JP6271103B1 (ja)
WO (1) WO2018154664A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58127242A (ja) * 1982-01-25 1983-07-29 Nec Corp 論理回路
JPH06338200A (ja) * 1993-05-25 1994-12-06 Hitachi Ltd 半導体記憶装置の電気的特性検査方法および装置
JP2002049501A (ja) * 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法
WO2009107174A1 (ja) * 2008-02-26 2009-09-03 三菱電機株式会社 組み込みシステムにおける自動再現試験装置および自動再現試験方法
JP2010175459A (ja) * 2009-01-30 2010-08-12 Advantest Corp 診断装置、診断方法および試験装置
WO2015145731A1 (ja) * 2014-03-28 2015-10-01 三菱電機株式会社 車両情報通知装置
JP2016038599A (ja) * 2014-08-05 2016-03-22 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びマイクロコンピュータシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58127242A (ja) * 1982-01-25 1983-07-29 Nec Corp 論理回路
JPH06338200A (ja) * 1993-05-25 1994-12-06 Hitachi Ltd 半導体記憶装置の電気的特性検査方法および装置
JP2002049501A (ja) * 2000-08-04 2002-02-15 Nippon Telegr & Teleph Corp <Ntt> 耐故障性システム及びその故障切り分け方法
WO2009107174A1 (ja) * 2008-02-26 2009-09-03 三菱電機株式会社 組み込みシステムにおける自動再現試験装置および自動再現試験方法
JP2010175459A (ja) * 2009-01-30 2010-08-12 Advantest Corp 診断装置、診断方法および試験装置
WO2015145731A1 (ja) * 2014-03-28 2015-10-01 三菱電機株式会社 車両情報通知装置
JP2016038599A (ja) * 2014-08-05 2016-03-22 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びマイクロコンピュータシステム

Also Published As

Publication number Publication date
JPWO2018154664A1 (ja) 2019-02-28
WO2018154664A1 (ja) 2018-08-30

Similar Documents

Publication Publication Date Title
US9823983B2 (en) Electronic fault detection unit
US7747897B2 (en) Method and apparatus for lockstep processing on a fixed-latency interconnect
EP2153328B1 (en) Data processing system, data processing method, and apparatus
US10114356B2 (en) Method and apparatus for controlling a physical unit in an automation system
KR101560497B1 (ko) 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템
WO2016018262A1 (en) Storage transactions
JP5921782B2 (ja) 通信システム、待機装置、通信方法及び待機プログラム
JP6083480B1 (ja) 監視装置、フォールトトレラントシステムおよび方法
US10949203B2 (en) Technologies for ensuring functional safety of an electronic device
JP6271103B1 (ja) 制御装置及び制御方法
JPH0375834A (ja) パリティの置換装置及び方法
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP2011159119A (ja) 情報処理装置、情報送信方法および情報受信方法
JP5537140B2 (ja) 安全制御装置、及びその安全制御プログラム
JP5381109B2 (ja) 通信装置及びその制御プログラム
CN107992018B (zh) 控制系统
US10089200B2 (en) Computer apparatus and computer mechanism
JP2014056396A (ja) 電子制御装置
JP2020095322A (ja) 分散ファイル装置、フェイルオーバ方法、プログラム及び記録媒体
CN115941184B (zh) 加密模块故障处理方法、装置、电子设备、系统及芯片
Proenza et al. Using FTT and stars to simplify node replication in CAN-based systems
JP2018097435A (ja) 並列処理装置及びノード間通信プログラム
JP2007058549A (ja) マルチコンピュータモジュールシステム、マルチコンピュータモジュール方法、および、プログラム
JP6653250B2 (ja) 計算機システム
JP6279180B2 (ja) 親局装置、子局装置、プロセス委譲管理方法、プロセス実行方法、プロセス委譲管理プログラム及びプロセス実行プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170904

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170904

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171027

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: 20171128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171226

R150 Certificate of patent or registration of utility model

Ref document number: 6271103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250