JP5352815B2 - 制御装置および制御方法 - Google Patents

制御装置および制御方法 Download PDF

Info

Publication number
JP5352815B2
JP5352815B2 JP2009270776A JP2009270776A JP5352815B2 JP 5352815 B2 JP5352815 B2 JP 5352815B2 JP 2009270776 A JP2009270776 A JP 2009270776A JP 2009270776 A JP2009270776 A JP 2009270776A JP 5352815 B2 JP5352815 B2 JP 5352815B2
Authority
JP
Japan
Prior art keywords
processor
information
verification circuit
system processor
circuit
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
JP2009270776A
Other languages
English (en)
Other versions
JP2011113416A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009270776A priority Critical patent/JP5352815B2/ja
Publication of JP2011113416A publication Critical patent/JP2011113416A/ja
Application granted granted Critical
Publication of JP5352815B2 publication Critical patent/JP5352815B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラムマブル電子装置に備える制御装置および当該電子装置の制御方法に関する。
原子力プラントや化学プラントなど潜在的な危険性の高いプロセス設備では、万が一の事態に作業員および周辺環境への影響を低減するため、隔壁等の防護設備による受動的な対策および緊急停止装置等の安全装置を用いる能動的な対策が講じられる。このうち、安全装置等の制御には、従来リレー等の電磁的・機械的な手段により実現されていた。
しかし、近年、プログラマブル電子装置(Programmable Logic Controller:PLC)に代表されるプログラム可能な制御機器における技術の発展に伴い、これらを安全制御システムの制御手段として利用するニーズが高まっている。
例えば、IEC61508は、そのような動向に対応して発行された国際規格であり、電気的/電子的/プログラム可能な電子的装置を安全制御システムの一部に利用する場合の要件が規定されている(非特許文献1)。
IEC61508では、安全制御システムの能力の尺度としてSIL(Safety Integrity Level)を定義し、1から4までのレベルに対応する水準の要求事項を規定している。SILが高いほどプロセス設備の持つ潜在的な危険性を低減できる度合が大きいことを示す。すなわち、プロセス設備の異常を検出した際、どれだけ確実に所定の安全制御を実施できるかを意味する。
安全制御装置は、通常稼働状態で非活性となっていても、プロセス設備の異常発生時には直ちに活性化することを求められる。そのため、常時自己診断を行い、自身の健全性をチェックし続けることが重要となる。また、高いSILが要求される安全制御システムでは、未検出の故障によりシステムが不動作となる確率を極小とするため、広範囲・高精度な自己診断を実施する必要がある。
IEC61508では、安全制御装置を構成する要素部品の種類ごとに、各々適用される自己診断技法を紹介し、それぞれの技法の有効性を診断率という形で示している。診断率は、各構成要素における全故障のうち、その診断技法を採用したとき検出可能な故障の割合を示す。例えば、RAMの診断技法"abraham"では、最高99%の診断率を主張可能であるとされている(特許文献2)。
また、PLCの構成要素の一つであるプロセッサの故障検出手段として、複数のプロセッサを用いて、相互の出力結果の整合性を監視する方法が有効である。
複数のプロセッサ出力を相互診断する方式としては、各プロセッサが同様の制御処理を同時に実行し、その出力が一致していることを確認しあう手段が効果的である。
例えば、非同期に動作する複数のプロセッサの出力を照合することにより、プロセッサが故障しても即時検出するという技術がある(特許文献1)。
特開2007−11639号公報 米国特許第6779128号明細書
特許文献1に記載された技術でも、プロセッサ照合手段によりプロセッサの診断ができる。しかしながら、特許文献1に記載のものでは、プロセッサ照合回路で故障が発生した場合に、ハード的な検出手段がないため、ソフトウェアによる故障検出を行わなければならない。
一般に、プロセッサ上のソフトウェアによる故障検出処理は、プロセッサ照合回路に対して、プロセッサ照合で不一致となる異常条件を入力し、プロセッサ照合回路が不一致を検出することを確認するものである。
このソフトウェア処理により、プロセッサ照合回路は、通常時の一致検出と、異常時の不一致検出を検出することが可能である。しかし、このソフトウェア処理では、n回目の故障検出処理とn+1回目の故障検出処理の間の実稼働期間は、故障を検出できないままその動作が継続する、という問題がある。
また、もう一つの課題として、制御装置内の設定情報が1ヵ所にしかないため、プロセッサのソフトウェア異常または、制御装置内のソフトエラー等によって、予期しないタイミングで予期しないデータに書き換わってしまうという問題もあった。
本発明は斯かる点に鑑みてなされたものであり、即時かつ確実に故障を検出して不安定な状態で処理し続けることを阻止できるようにするとともに、設定情報の変更手順を制御することを目的とする。
上記課題を解決するため、本発明の制御装置は、第一および第二プロセッサが第一プロセッサ照合回路によってメインメモリにアクセスすることを決定した場合に、第一および第二プロセッサが所定のプログラムを実行した結果としてそれぞれ出力する第一および第二情報の同一/非同一を検出するとともに、該検出結果が同一ならば、第一および第二プロセッサの選択指示に基づいて、第一あるいは第二情報のいずれか一方の情報を第一アクセス情報として選択し、該第一アクセス情報でメインメモリにアクセスし、検出結果が非同一ならば、第一および第二情報のメインメモリに対するアクセスを禁止する第一プロセッサ照合回路を備えている。
また、本発明の制御装置は、第一プロセッサ照合回路と同じ機能を持つ第二プロセッサ照合回路であって、第一および第二プロセッサが第二プロセッサ照合回路によってメインメモリにアクセスすることを決定した場合に、検出結果が同一ならば、第一および第二プロセッサの選択指示に基づいて、第一あるいは第二情報のいずれか一方の情報を第二アクセス情報として選択し、該第二アクセス情報でメインメモリにアクセスし、検出結果が非同一ならば、第一および第二情報のメインメモリに対するアクセスを禁止する第二プロセッサ照合回路を並列に備えている。
さらに、第一および第二アクセス情報の同一/非同一を検出する第一ロジック照合回路と、第一ロジック照合回路での検出結果が非同一ならば、第一プロセッサに対して割込みを要求する第一割込み要求を第一プロセッサに出力する第一割込みコントローラと、第一および第二アクセス情報の同一/非同一を検出する第二ロジック照合回路と、第二ロジック照合回路での検出結果が非同一ならば、第二プロセッサに対して割込みを要求する第二割込み要求を第二プロセッサに出力する第二割込みコントローラとを備えている。
本発明によれば、プロセッサの健全性を診断するプロセッサ照合回路の診断と、プロセッサ照合回路の診断をするロジック照合回路の診断の両方を実施することが可能となり、ハードウェアの異常発生時に、直ちにその異常検出が可能となるため、制御システムの安全性がより向上する。
また、プロセッサ照合回路を多重化するとともに、設定情報(レジスタデータ)も多重化して、設定変更時の手順を設けることで予期しないタイミングでのデータ変更を防ぎ、信頼性の向上を図ることができる、という効果がある。
制御システムを示すブロック図である。 CPU装置のモードの遷移を示す状態遷移図である。 本発明の一実施形態に係る制御装置を適用したCPU装置を示すブロック図である。 A系およびB系のプロセッサ照合回路有効レジスタの回路構成を示すブロック図である。 A系およびB系のプロセッサ照合回路有効レジスタの同期化の動作を示すタイミングチャートである。 安全モード時のCPU装置の動作のタイミングを示すタイミングチャートである。
以下、本発明を実施するための実施形態例について説明する。以下に述べる実施の形態例は、本発明の好適な具体例である。そのため、技術的に好ましい種々の限定が付されている。しかしながら、本発明の範囲は、下記の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。例えば、以下の説明で挙げる各パラメータの数値的条件は好適例に過ぎず、説明に用いた各図における寸法、形状および配置関係も概略的なものである。
以下の手順で説明を行う。
<本発明の一実施形態例の説明>
(1)制御システムの構成
(2)CPU装置のモード遷移
(3)CPU装置の構成
(4)プロセッサ照合回路有効レジスタの同期化回路構成およびその動作(5)CPU装置の動作
<本発明の一実施形態例の説明>
本発明の第一の実施形態の例を、図1〜図6を参照して説明する。
[1.制御システムの構成]
まず、一実施形態に係る制御システム101の構成について図1および図2を参照して説明する。
図1は、発明の一実施形態である制御システム101を示すブロック図である。
制御システム101は、CPU装置102と、上位装置103と、下位装置104と、制御対象105よりなる。
上位装置103は、様々なプログラムを記憶しており、CPU装置102とネットワーク106で接続されている。
CPU装置102は、上位装置103からネットワーク106を介してプログラムをダウンロードし、当該プログラムに基づいて演算を行う。また、CPU装置102は下位装置104ともネットワーク106で接続されており、演算結果を当該ネットワークを介して下位装置104に出力する。
このCPU装置102は、後述するように複数のプロセッサを備えており、一般モードあるいは安全モードのいずれかで、プログラムに基づいた演算を行う。一般モードは、各プロセッサで独立した演算を行うモードある。また、安全モードは、各プロセッサで同一の演算を行い、その演算結果が同一であるか否かを検証することにより、プロセッサの健全性を確認するモードである。さらに、CPU装置102は、テストモードで稼動する場合もある。テストモードは、予めCPU装置102に記憶されたテストプログラムに基づいて、CPU装置102が正常に動作するか否かを検証するモードである。一般モードおよび安全モード時のCPU装置102は基本的に演算結果を下位装置104に入力するが、テストモード時のCPU装置102は下位装置104になにも出力しない。すなわち、テストモードは、CPU装置102による下位装置104の制御が行われていないときに行われる。なお、一般モード、安全モードおよびテストモードのモード切り替えは、予めCPU装置102に設定されたスケジューラにより行われる。なお、CPU装置102のモード切り替え(モード遷移)の詳細は図2にて後述する。
下位装置104は、制御対象105との間で制御情報の入出力を行うインターフェースである。下位装置104は、制御対象105と接続されており、CPU装置102から入力される演算結果に基づいて制御対象105を動作させる。この制御対象105は、制御を行う際に安全性が求められる、例えば原子力プラントや化学プラント等の潜在的な危険性の高いプロセス設備である。
[2.CPU装置のモード遷移]
次に、CPU装置102のモード遷移について図2を参照して説明する。
図2は、CPU装置102のモードの遷移を示す状態遷移図である。
まず、CPU装置102が起動されると、当該CPU装置102はOS立ち上がりモードになる(ステップS1)。このとき、CPU装置102は、上位装置103に記憶されたプログラムをネットワーク経由で取得する。
そして、CPU装置102は、スケジューラにより、前述の一般モード(ステップS2)、安全モード(ステップS3)あるいはテストモード(ステップS4)のいずれかのモードで稼動する。なお、スケジューラにより、モードの変更が行われる場合は、OS立ち上がりモードに移行する(ステップS5、ステップS6およびステップS7)。
CPU装置102は、一般モードでの演算中にCPU装置102に異常が発生すると、CPU装置102は演算を中止する(ステップS8)。
また、CPU装置102は、安全モードでの演算中にCPU装置102に異常が発生すると、CPU装置102は演算を中止する(ステップS9)。同様に、CPU装置102は、テストモードの実行、すなわちテストプログラムによりCPU装置102を構成する各ブロックおよび各バスの故障を検出すると、当該CPU装置102を停止する(ステップS10)。
以上に示した各状態のうち、特に、ステップS9のエラーを検出するためのCPU装置102の構成および動作を図3から図6を参照して説明する。なお、図3,4に示す本実施形態例の構成は、安全モードでCPU装置102の異常を確実に検出し、異常停止モードに至らせるためのものである。
[3.CPU装置の構成]
次に、制御システム101を構成するCPU装置102(上述した安全モード時)について図3を参照して説明する。
図3は、CPU装置102を示すブロック図である。なお、以下に示すCPU装置102は、CPU装置102が上位装置103からダウンロードしたプログラムに基づいて、安全モードで演算を行う場合を想定している。ただし、CPU装置102が、上位装置103からプログラムをダウンロードするときだけは、安全モードとは異なる動作を行う。
まず、CPU装置102が、上位装置103からプログラムをダウンロードするときに使用する構成について説明する。このときCPU装置102において使用される構成は、A系プロセッサ202と、B系プロセッサ203と、メインメモリ205と、ネットワークコントローラ206である。以下、本例では、CPU装置102を構成するプロセッサがA系プロセッサ202およびB系プロセッサ203という2個の場合について説明するが、プロセッサの台数に制限はなく、それにより本発明が制約を受けることはない。
上位装置103からのプログラムのダウンロードは、A系プロセッサ202あるいはB系プロセッサ203のいずれか一方により行われる。このとき、ネットワークコントローラ206は、ネットワーク106を介して上位装置103からプログラムである32ビット幅のデータ列を取得する。ネットワークコントローラ206は、図示しないDMA(Direct Memory Access)コントローラを含んでおり、メインメモリ205のどの位置に当該プログラムを書き込むかを決定する。すなわち、アドレスである32ビット幅のデータ列を生成する。
次に、CPU装置102が、上位装置103からダウンロードしたプログラムに基づいて安全モードで演算を行う際に使用される構成について説明する。このときCPU装置102において使用される構成は、A系プロセッサ202と、B系プロセッサ203と、ネットワークコントローラ206を除いた制御装置204と、メインメモリ205である。
A系プロセッサ202は、上位装置103からダウンロードしたプログラムを実行してタスクを処理する。その際、処理されるタスクによっては、情報のライト/リードが制御装置204を介してメインメモリ205に対して行われる。
A系プロセッサ202は、A系プロセッサバス209により制御装置204と接続されており、A系プロセッサバス209を介して制御装置204に情報の入出力を行う。そして、ライト時には、A系プロセッサ202は、A系プロセッサバス209を介して、アドレス、データおよびコマンドを制御装置204に出力する。一方、リード時には、A系プロセッサ202は、A系プロセッサバス209を介して、アドレスおよびコマンドを制御装置204に出力する。
データおよびアドレスは、32ビット幅のデータ列である。一方、コマンドは、制御装置204およびメインメモリ205を制御する1ビットのデータである。本例では、制御装置204およびメインメモリ205は、コマンドが‘1’のときにライトに対応する動作を行い、コマンドが‘0’のときにリード動作を行うものとする。
また、B系プロセッサ203は、A系プロセッサ202と同じ機能を備えたものである。つまり、B系プロセッサ203は、上位装置103からダウンロードしたプログラムを実行してタスクを処理する際に、当該タスクに応じた情報等のライト/リードを制御装置204を介してメインメモリ205に対し行うものである。B系プロセッサ203は、B系プロセッサバス210により制御装置204と接続されており、B系プロセッサバス210を介して制御装置204に情報の入出力を行う。
また、ライト時には、B系プロセッサ203は、B系プロセッサバス210を介して、アドレス、データおよびコマンドを制御装置204に出力する。一方、リード時には、B系プロセッサ203は、B系プロセッサバス210を介してアドレスおよびコマンドを制御装置204に出力する。
制御装置204は、当該制御装置204を構成する各ブロックおよびバスと、A系プロセッサ202と、B系プロセッサ203に故障があるか否かを検出するものである。なお、本実施形態では詳細な説明は省くが、制御装置204は、メインメモリ205に故障があるか否かを検出することもできる。
この制御装置204は、A系照合回路207と、B系照合回路208とを含んで構成される。さらに、制御装置204は、ネットワークコントローラ206と、出力切替スイッチ221を含む。
制御装置204のA系照合回路207と、B系照合回路208は同一構成であり、A系照合回路207とB系照合回路208は、A系プロセッサ202のA系プロセッサバス209と、B系プロセッサ203のB系プロセッサバス210に接続されて、常時、同一タイミングで同一の入力に基づいて同一の処理を実行し、そして、同一の信号を出力する。
この特徴を利用し、制御装置204は、A系照合回路207の出力であるA系メモリバス219と、B系照合回路208の出力であるB系メモリバス220を比較・照合するとともに、A系割込み報告223とB系割込み報告224を比較・照合することで、A系照合回路207とB系照合回路208の健全性を診断する。
また、A系メモリバス219とB系メモリバス220は、正常動作時には、同一タイミングの同一信号であるため、メインメモリ205には、A系メモリバス219のみを接続するだけでよい。したがって、B系メモリバス220は接続されていない(図3の×印参照。)。なお、A系メモリバス219の代わりにB系メモリバス220のみをメインメモリ205に接続するようにしてもよい。A系メモリバス219とB系メモリバス220のいずれをメインメモリ205に接続するかは、A系プロセッサ202およびB系プロセッサの制御により決定される。
A系照合回路207とB系照合回路208のいずれかに故障が発生した場合、A系照合回路207あるいはB系照合回路208が、A系メモリバス219とB系メモリバス220のデータが異なることを検出する。そして、A系プロセッサ202およびB系プロセッサ203を誤動作させないようにするために、A系プロセッサ202にはA系照合回路207からA系割込み報告223が供給され、B系プロセッサ203にはB系照合回路207からB系割込み報告224が供給されるようになっている。
最初に、A系照合回路207の構成と動作について説明する。A系照合回路207は、プロセッサ照合回路有効レジスタ211と、プロセッサ照合回路212と、ロジック照合回路213と、割込みコントローラ214とを備える。
A系のプロセッサ照合回路有効レジスタ211は、A系プロセッサバス209を介して、A系プロセッサ202と接続され、B系プロセッサバス210を介してB系プロセッサ203と接続されている。また、A系のプロセッサ照合回路有効レジスタ211は、A系のプロセッサ照合回路212及びB系のプロセッサ照合回路有効レジスタ215と接続されている。
このA系のプロセッサ照合回路有効レジスタ211は、A系プロセッサ202およびB系プロセッサ203からの出力に基づいて、A系のプロセッサ照合回路212の有効・無効の設定を可能とする。具体的には、A系のプロセッサ照合回路有効レジスタ211は、A系プロセッサ202およびB系プロセッサ203が同じ処理を行うシングルタスクモード(安全モード)動作時には有効(仮に“1”とする)を、前述のマルチタスクモード(安全モード以外のモード)動作時には無効(仮に“0”とする)をA系のプロセッサ照合回路212に出力する。
このA系のプロセッサ照合回路有効レジスタ211は、A系のプロセッサ照合回路212とB系のプロセッサ照合回路216の両方が同時に有効あるいは無効に切り替わるように、A系のプロセッサ照合回路有効レジスタ211とB系のプロセッサ照合回路有効レジスタ215とで、同期して有効、無効が切り替わるようにする。なお、この同期して有効、無効が切り替わるためのA系およびB系のプロセッサ照合回路有効レジスタ211,215の詳細な構成については、図4に基づいて詳細に説明する。
A系のプロセッサ照合回路212は、プロセッサ照合回路有効レジスタ211から有効(“1”)が入力された場合に、A系プロセッサバス209とB系プロセッサバス210のデータの比較し、結果が一致した場合のみ、A系メモリバス219にA系プロセッサバス209のデータを出力する。
一方、A系のプロセッサ照合回路有効レジスタ211から無効(“0”)が入力された場合には、A系プロセッサ202とB系プロセッサ203とでは異なる処理が行われているので、A系のプロセッサ照合回路212は、A系プロセッサバス209のデータとB系プロセッサバス210のデータとの比較を行わない。この場合は、A系メモリバス219には、A系プロセッサバス209とB系プロセッサバス210の各データを予め決められた優先順位に従ってA系メモリバス219に出力する。
また、A系のロジック照合回路213は、A系メモリバス219を介してA系のプロセッサ照合回路212と接続され、B系メモリバス220を介してB系のプロセッサ照合回路216と接続されている。そして、A系のロジック照合回路213は、A系の割込みコントローラ214を経由してA系割込み報告223をA系プロセッサ202に出力する。
A系のロジック照合回路213は、A系メモリバス219のデータとB系メモリバス220のデータとを、またA系割込み報告223とB系割込み報告224とをそれぞれ比較し、結果が不一致の場合にA系の割込みコントローラ214に異常を報告し、A系割込み報告223を介して、割込み要求をA系プロセッサ202に対して行う。
以上A系照合回路207の構成と動作について説明したが、B系照合回路208についてもA系照合回路207と同様な構成を備えている。
すなわち、B系照合回路208は、プロセッサ照合回路有効レジスタ215と、プロセッサ照合回路216と、ロジック照合回路217と、割込みコントローラ218とを備える。
B系のプロセッサ照合回路有効レジスタ215は、A系のプロセッサ照合回路有効レジスタ211と同様に、A系プロセッサバス209およびB系プロセッサバス210を介して、A系プロセッサ202およびB系プロセッサ203と接続されている。また、B系のプロセッサ照合回路216及びA系のプロセッサ照合回路有効レジスタ211とも接続されている。
このB系のプロセッサ照合回路有効レジスタ215は、A系プロセッサ202およびB系プロセッサ203からの出力に基づいて、B系のプロセッサ照合回路216の有効・無効の設定を可能とする。そして、A系プロセッサ202およびB系プロセッサ203がシングルタスクモード(安全モード)動作時には有効(“1”)を、前述のマルチタスクモード(安全モード以外のモード)動作時には無効(“0”)をB系のプロセッサ照合回路216に出力する。
また、B系のプロセッサ照合回路216は、プロセッサ照合回路有効レジスタ215から有効(“1”)が入力された場合に、A系プロセッサバス209とB系プロセッサバス210のデータの比較し、結果が一致した場合のみ、B系メモリバス220にA系プロセッサバス209のデータを出力する。
一方、プロセッサ照合回路有効レジスタ215から無効(“0”)が入力された場合には、A系プロセッサバス209のデータとB系プロセッサバス210のデータとの比較は行わずに、A系プロセッサバス209とB系プロセッサバス210からの各データを予め決められた優先順位でB系メモリバス220に出力する。
B系のロジック照合回路217は、A系メモリバス219を介してA系のプロセッサ照合回路212と接続され、B系メモリバス220を介してB系のプロセッサ照合回路216とそれぞれ接続されている。そして、B系のロジック照合回路217は、B系の割込みコントローラ218を経由してB系割込み報告224をB系プロセッサ203に出力する。
また、B系のロジック照合回路217は、A系メモリバス219のデータとB系メモリバス220のデータを比較するとともに、A系割込み報告223とB系割込み報告224を比較し、いずれかの比較結果において、結果が不一致の場合には、B系の割込みコントローラ218に異常を報告する。B系の割込みコントローラ218は、B系割込み報告224を介して、割込み要求をB系プロセッサ203に対して行う。
[4.プロセッサ照合回路有効レジスタの同期化回路構成および動作]
次に、A系のプロセッサ照合回路有効レジスタ211とB系のプロセッサ照合回路有効レジスタ215について、図4を参照して構成を説明し、図5を参照して同期方法を説明する。
A系のプロセッサ照合回路有効レジスタ211は、有効レジスタ301と、タイミング調整フリップフロップ303,305と、AND回路307と、NOR回路309と、RS型フリップフロップ311とを備える。また、B系照合回路208のB系のプロセッサ照合回路有効レジスタ215も、A系のプロセッサ照合回路有効レジスタ211と同様の構成を有する。
A系の有効レジスタ301およびB系の有効レジスタ302は、A系プロセッサバス209を介してA系プロセッサ202に接続され、B系プロセッサバス210を介してB系プロセッサ203に接続されている。そのため、A系の有効レジスタ301およびB系の有効レジスタ302は、A系プロセッサ202、B系プロセッサ203の両方から有効/無効の設定可能であるが、本例では、A系プロセッサ202から設定することにする。
まず、A系のプロセッサ照合回路有効レジスタ211およびB系のプロセッサ照合回路有効レジスタ215からの出力を、両方ともに無効(“0”)から有効(“1”)に変更する場合について、図4を参照して説明する。
A系の有効レジスタ301は、A系プロセッサ202からの出力が‘0’から‘1’に設定変更されると、タイミング調整フリップフロップ303およびタイミング調整フリップフロップ306へ出力する信号P601を‘0’から’1’に変更する(図5のT701)。
タイミング調整フリップフロップ303,306に入力された信号P601はそれぞれラッチされる。そして、タイミング調整フリップフロップ303は、‘1’を示す信号P602をAND回路307およびNOR回路309に出力する。この出力と同じタイミングで、タイミング調整フリップフロップ306は、‘1’を示す信号P607をAND回路308およびNOR回路310に出力する。
一方、B系の有効レジスタ302も、A系の有効レジスタ301と同様に、B系プロセッサ203からの出力が‘0’から‘1’に設定変更されると、タイミング調整フリップフロップ304およびタイミング調整フリップフロップ305へ出力する信号P605を‘0’から‘1’に変更する(図5のT702)。
タイミング調整フリップフロップ304,305に入力された信号P605はそれぞれラッチされる。そして、タイミング調整フリップフロップ304は所定のタイミングで‘1’を示す信号P606をAND回路308およびNOR回路310に出力する。この出力と同じタイミングで、タイミング調整フリップフロップ305は、‘1’を示す信号P603をAND回路307およびNOR回路309に出力する。
ここで、信号P602と信号P603の両方が‘1’となるので、AND回路307からRS型フリップフロップ311のセット側への入力が‘1’となり、NOR回路309からRS型フリップフロップ311のリセット側への入力が‘1’となる(図5のT703)。
このタイミングT703のとき、信号P606と信号P607の両方も‘1’となるので、AND回路308からRS型フリップフロップ312のセット側への入力が‘1’となり、NOR回路310からRS型フリップフロップ312のリセット側への入力が‘0’となる。
すなわち、タイミングT703において、A系のプロセッサ照合回路212を有効にするための‘1’を示す信号P604が、RS型フリップフロップ311からA系のプロセッサ照合回路212に入力され、B系のプロセッサ照合回路216を有効にするための‘1’を示す信号P608が、RS型フリップフロップ312からB系のプロセッサ照合回路216に入力される。このように、A系のプロセッサ照合回路212とB系のプロセッサ照合回路216が同一タイミングで動作を開始することが可能となる。
次に、A系のプロセッサ照合回路有効レジスタ211およびB系のプロセッサ照合回路有効レジスタ215からの出力を、両方ともに有効(“1”)から無効(“0”)に変更する場合について、図4を参照して説明する。
A系の有効レジスタ301は、A系プロセッサ202からの入力が‘1’から‘0’に設定変更されると、タイミング調整フリップフロップ303およびタイミング調整フリップフロップ306へ出力する信号P601を‘1’から’0’に変更する(図5のT705)。
タイミング調整フリップフロップ303,306に入力された信号P601はそれぞれラッチされる。そして、タイミング調整フリップフロップ303は、‘0’を示す信号P602をAND回路307およびNOR回路309に出力する。この出力と同じタイミングで、タイミング調整フリップフロップ306は、‘0’を示す信号P607をAND回路308およびNOR回路310に出力する。
一方、B系の有効レジスタ302も、A系の有効レジスタ301と同様に、B系プロセッサ203からの出力が‘1’から‘0’に設定変更されると、タイミング調整フリップフロップ304およびA系のプロセッサ照合回路有効レジスタ211のタイミング調整フリップフロップ305へ出力する信号P605を‘1’から‘0’に変更する(図5のT706)。
タイミング調整フリップフロップ304,305に入力された信号P605はそれぞれラッチされる。そして、タイミング調整フリップフロップ304は所定のタイミングで‘0’を示す信号P606をAND回路308およびNOR回路310に出力する。この出力と同じタイミングで、タイミング調整フリップフロップ305は、‘0’を示す信号P603をAND回路307およびNOR回路309に出力する。
ここで、信号P602と信号P603の両方が‘0’となるので、AND回路307からRS型フリップフロップ311のセット側への入力が‘0’となり、NOR回路309からRS型フリップフロップ311のリセット側への入力が‘1’となる(図5のT707)。
このタイミングT707のとき、信号P606と信号P607の両方も‘0’となるので、AND回路308からRS型フリップフロップ312のセット側への入力が‘0’となり、NOR回路310からRS型フリップフロップ312のリセット側への入力が‘1’となる。
すなわち、タイミングT707において、A系のプロセッサ照合回路212を無効にするための‘0’を示す信号P604が、RS型フリップフロップ311からA系のプロセッサ照合回路212に入力され、B系のプロセッサ照合回路216を無効にするための‘0’を示す信号P608が、RS型フリップフロップ312からA系のプロセッサ照合回路216に入力される。このように、A系のプロセッサ照合回路212とB系のプロセッサ照合回路216が同一タイミングで動作を停止することが可能となる。
[5.CPU装置の動作]
次に、CPU装置102の動作を、図6を参照して説明する。
まず、A系のプロセッサ照合回路212と、ロジック照合回路213と、B系のプロセッサ照合回路216と、ロジック照合回路217とが正常に動作している場合のCPU装置102の動作を説明する。
CPU装置102が安全モードでの動作を開始する(T801)。すると、CPU装置102を構成する制御装置204のA系のプロセッサ照合回路有効レジスタ211およびB系のプロセッサ照合回路有効レジスタ215では、このタイミングT801で、有効を示す‘1’がA系のプロセッサ照合回路212およびB系のプロセッサ照合回路216に対してそれぞれ出力される。
ところで、A系プロセッサ202からA系プロセッサバス209を介してA系のプロセッサ照合回路212にデータが出力されており、B系プロセッサ203からB系プロセッサバス210を介してB系のプロセッサ照合回路216にデータが出力されている。なお、A系プロセッサ202から出力されるデータおよびB系プロセッサ203から出力されるデータは同じデータであるものとする。
A系のプロセッサ照合回路212では、A系およびB系のプロセッサ照合回路212,216の両方が同期して有効、すなわち‘1’が入力されていることが確認される(T802)。そして、このタイミングT802で、A系プロセッサバス209を介して入力されるデータと、B系プロセッサバス210を介して入力されるデータとの比較が行われる。そして、比較した結果は一致となり、A系プロセッサバス209を介してA系プロセッサ202から出力されたデータがA系メモリバス219に出力される。
一方、B系のプロセッサ照合回路216においても、A系のプロセッサ照合回路212と同様に、タイミングT802で、A系プロセッサバス209のデータとB系プロセッサバス210のデータとが比較される。比較した結果は一致となり、A系プロセッサバス209を介してA系プロセッサ202から出力されたデータがB系メモリバス220に出力される。
これらA系メモリバス219のデータおよびB系メモリバス220のデータは、A系のロジック照合回路213で常時比較されている。この場合、比較結果は一致となり、A系のロジック照合回路213では、A系割込み報告223が無効を示す‘0’のままとなるように割込みコントローラ214が制御される。このとき、割込みコントローラ214では、A系プロセッサ202への割込み要求はなされない。
一方、B系のロジック照合回路217でも、A系のロジック照合回路213と同様に、A系メモリバス219のデータおよびB系メモリバス220のデータが常時比較されている。この場合も、比較結果は一致となり、B系のロジック照合回路217では、B系割込み報告224が無効を示す‘0’のままとなるように割込みコントローラ218が制御される。このとき、割込みコントローラ218でも、B系プロセッサ203への割込み要求はなされない。
A系プロセッサ202およびB系プロセッサ203の両方に対して割込み要求がなされないので、A系メモリバス219がメインメモリ205にアクセスし、A系プロセッサ202から出力されたデータがメインメモリ205に反映される(T803)。
つまり、このアクセス完了となるタイミングT803で、CPU装置102が健全であることが確認されたことになり、この結果を受けて、CPU装置102が現在の安全モードから一般モードに切り換わる。すなわち、前述したように、A系のプロセッサ照合回路212およびB系のプロセッサ照合回路216が同期してネゲートされる。そして、A系のプロセッサ照合回路212およびB系のプロセッサ照合回路216からA系メモリバス219およびB系メモリバス220それぞれを介してのメインメモリ205へのアクセスが禁止される。
次に、B系のプロセッサ照合回路216において比較結果が常に一致を示すような故障が発生している場合のCPU装置102の動作について説明する。
CPU装置102が安全モードでの動作を開始する(T811)。すると、CPU装置102を構成する制御装置204のA系のプロセッサ照合回路有効レジスタ211およびB系のプロセッサ照合回路有効レジスタ215では、このタイミングT811で、有効を示す‘1’がA系のプロセッサ照合回路212およびB系のプロセッサ照合回路216に対してそれぞれ出力される。
ところで、A系プロセッサ202からA系プロセッサバス209を介してA系のプロセッサ照合回路212にデータが出力されており、B系プロセッサ203からB系プロセッサバス210を介してB系のプロセッサ照合回路216にデータが出力されている。なお、ここでは、A系プロセッサ202から出力されたデータと、B系プロセッサ203から出力されたデータは、何らかのエラーにより、不一致を示す異なるデータであるものと想定する。
A系のプロセッサ照合回路212では、A系およびB系のプロセッサ照合回路212,216の両方が同期して有効、すなわち‘1’が入力されていることが確認される(T812)。そして、このタイミングT812で、A系プロセッサバス209を介して入力されるデータと、B系プロセッサバス210を介して入力されるデータとの比較が行われる。比較結果は不一致となり、A系プロセッサバス209を介してA系プロセッサ202から出力されたデータのA系メモリバス219への出力が禁止される。すなわち、A系のプロセッサ照合回路212およびA系メモリバス219を介したメインメモリ205へのアクセスが禁止される。
一方、B系のプロセッサ照合回路216においても、A系のプロセッサ照合回路212と同様に、タイミングT812で、A系プロセッサバス209のデータとB系プロセッサバス210のデータとが比較される。B系のプロセッサ照合回路216は故障しているので、比較した結果が一致となり、B系のプロセッサ照合回路216では、A系プロセッサバス209を介してA系プロセッサ202から出力されたデータが、B系メモリバス220に出力される。
これらA系メモリバス219のデータおよびB系メモリバス220のデータは、A系のロジック照合回路213で常時比較されている。A系のロジック照合回路213では、比較結果が不一致となり、A系割込み報告223が有効を示す‘1’となるように割込みコントローラ214が制御される。そして、割込みコントローラ214では、A系プロセッサ202への割込み要求がなされる。
B系のロジック照合回路217でも、A系のロジック照合回路213と同様に、常時A系メモリバス219からの出力とB系メモリバス220の出力とを比較しており、タイミングT812で、不一致が検出される。したがって、B系の割込みコントローラ218でも、A系の割込みコントローラ214と同様に、B系プロセッサ203への割込み要求がなされる。
次に、B系のロジック照合回路217において比較結果が常に不一致を示すような故障が発生している場合のCPU装置102の動作について説明する。
CPU装置102が安全モードでの動作を開始する(T821)。すると、CPU装置102を構成する制御装置204のA系のプロセッサ照合回路有効レジスタ211およびB系のプロセッサ照合回路有効レジスタ215では、このタイミングT821で、有効を示す‘1’がA系のプロセッサ照合回路212およびB系のプロセッサ照合回路216に対してそれぞれ出力される。
ところで、A系プロセッサ202からA系プロセッサバス209を介してA系のプロセッサ照合回路212にデータが出力されており、B系プロセッサ203からB系プロセッサバス210を介してB系のプロセッサ照合回路216にデータが出力されている。なお、A系プロセッサ202から出力されるデータおよびB系プロセッサ203から出力されるデータは同じデータであるものとする。
A系のプロセッサ照合回路212では、A系およびB系のプロセッサ照合回路212,216の両方が同期して有効、すなわち‘1’が入力されていることが確認される(T822)。そして、このタイミングT822で、A系プロセッサバス209を介して入力されるデータと、B系プロセッサバス210を介して入力されるデータとの比較が行われる。そして、比較した結果が一致となり、A系プロセッサバス209を介してA系プロセッサ202から出力されたデータが、A系メモリバス219に出力される。
一方、B系のプロセッサ照合回路216においても、A系のプロセッサ照合回路212と同様に、タイミングT822で、A系プロセッサバス209のデータとB系プロセッサバス210のデータとが比較される。比較した結果が一致となり、A系プロセッサバス209を介してA系プロセッサ202から出力されたデータが、B系メモリバス220に出力される。
これらA系メモリバス219のデータおよびB系メモリバス220のデータは、A系のロジック照合回路213で常時比較されている。比較結果は一致であり、A系のロジック照合回路213では、A系割込み報告223が無効を示す‘0’のままとなるように割込みコントローラ214を制御する。このとき、割込みコントローラ214では、A系プロセッサ202への割込み要求はなされない。
一方、B系のロジック照合回路217でも、A系のロジック照合回路213と同様に、A系メモリバス219のデータおよびB系メモリバス220のデータが常時比較されている。B系のロジック照合回路217は故障しているので、比較結果が不一致となる。そして、B系のロジック照合回路217では、B系割込み報告224が有効を示す‘1’となるように割込みコントローラ218が制御される。そして、割込みコントローラ218では、B系プロセッサ203への割込み要求がなされる。
ところで、A系のロジック照合回路213では、A系割込み報告223とB系割込み報告224との比較も常時行われている。したがって、以上の処理が完了した後、A系のロジック照合回路213では、A系割込み報告223とB系割込み報告224とが不一致であることが検出される(T823)。そして、A系割込み報告223が有効を示す‘1’となるように割込みコントローラ214が制御される。そして、割込みコントローラ214では、A系プロセッサ202への割込み要求がなされる。
以上説明したように、本実施形態では、複数のプロセッサからの出力を単に比較してそれらの出力の一致/不一致を判定することにより故障を検出するだけではなく、当該比較を行う手段の故障の検出を行えるようにした。そのため、CPU装置102での処理中(安全モード時)における、当該CPU装置102を構成する各ブロックおよび各バスの故障をより確実に検出することができる。そして、故障が検出されるとすぐに、実行中の処理を中止するようにした。例えば、潜在的な危険性の高いプロセス設備の制御中に何らかの故障が発生しても、すぐにその制御が中断されるので、安全性をより向上させる、という効果がある。
また、プロセッサ照合回路を多重化するとともに、設定情報(レジスタデータ)も多重化して、設定変更時の手順を設けることで予期しないタイミングでのデータ変更を防ぎ、信頼性の向上を図ることができる、という効果がある。
以上、本発明の実施形態の例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことはいうまでもない。
101…制御システム、102…CPU装置、103…上位装置、104…下位装置、105…制御対象、106…ネットワーク、202…A系プロセッサ、203…B系プロセッサ、204…制御装置、205…メインメモリ、206…ネットワークコントローラ、207…A系照合回路、208…B系照合回路、209…A系プロセッサバス、210…B系プロセッサバス、211…プロセッサ照合回路有効レジスタ、212…プロセッサ照合回路、213…ロジック照合回路、214…割込みコントローラ、215…プロセッサ照合回路有効レジスタ、216…プロセッサ照合回路、217…ロジック照合回路、218…割込みコントローラ、219…A系メモリバス、220…B系メモリバス、221…出力切替スイッチ、223…A系割込み報告、224…B系割込み報告、301…有効レジスタ、302…有効レジスタ、303〜306…タイミング調整フリップフロップ、307,308…AND回路、309,309…NOR回路、311,312…RS型フリップフロップ

Claims (3)

  1. 第一および第二プロセッサが第一プロセッサ照合回路によってメインメモリにアクセスすることを決定した場合に、前記第一および第二プロセッサが所定のプログラムを実行した結果としてそれぞれ出力する第一および第二情報の同一/非同一を検出するとともに、該検出結果が同一ならば、前記第一および第二プロセッサの選択指示に基づいて、前記第一あるいは第二情報のいずれか一方の情報を第一アクセス情報として選択し、該第一アクセス情報で前記メインメモリにアクセスし、前記検出結果が非同一ならば、前記第一および第二情報の前記メインメモリに対するアクセスを禁止する前記第一プロセッサ照合回路と、
    前記第一および第二プロセッサが第二プロセッサ照合回路によって前記メインメモリにアクセスすることを決定した場合に、前記第一および第二情報の同一/非同一を検出するとともに、該検出結果が同一ならば、前記第一および第二プロセッサの選択指示に基づいて、前記第一あるいは第二情報のいずれか一方の情報を第二アクセス情報として選択し、該第二アクセス情報で前記メインメモリにアクセスし、前記検出結果が非同一ならば、前記第一および第二情報の前記メインメモリに対するアクセスを禁止する前記第二プロセッサ照合回路と、
    前記第一および第二アクセス情報の同一/非同一を検出する第一ロジック照合回路と、
    前記第一ロジック照合回路での検出結果が非同一ならば、前記第一プロセッサに対して割込みを要求する第一割込み要求を前記第一プロセッサに出力する第一割込みコントローラと、
    前記第一および第二アクセス情報の同一/非同一を検出する第二ロジック照合回路と、
    前記第二ロジック照合回路での検出結果が非同一ならば、前記第二プロセッサに対して割込みを要求する第二割込み要求を前記第二プロセッサに出力する第二割込みコントローラと
    を備える制御装置。
  2. 前記第一および第二ロジック照合回路は、前記第一および第二割込み要求の同一/非同一をそれぞれ検出する
    請求項1に記載の制御装置。
  3. 第一および第二プロセッサが第一プロセッサ照合回路によってメインメモリにアクセスすることを決定した場合に、前記第一プロセッサ照合回路が、前記第一および第二プロセッサが所定のプログラムを実行した結果としてそれぞれ出力する第一および第二情報の同一/非同一を検出するとともに、該検出結果が同一ならば、前記第一および第二プロセッサの選択指示に基づいて、前記第一あるいは第二情報のいずれか一方の情報を第一アクセス情報として選択し、該第一アクセス情報でメインメモリにアクセスし、前記検出結果が非同一ならば、前記第一および第二情報の前記メインメモリに対するアクセスを禁止する第一プロセッサ照合ステップと、
    前記第一および第二プロセッサが第二プロセッサ照合回路によって前記メインメモリにアクセスすることを決定した場合に、前記第二プロセッサ照合回路が、前記第一および第二情報の同一/非同一を検出するとともに、該検出結果が同一ならば、前記第一および第二プロセッサの選択指示に基づいて、前記第一あるいは第二情報のいずれか一方の情報を第二アクセス情報として選択し、該第二アクセス情報でメインメモリにアクセスし、前記検出結果が非同一ならば、前記第一および第二情報の前記メインメモリに対するアクセスを禁止する第二プロセッサ照合ステップと、
    第一ロジック照合回路が、前記第一および第二アクセス情報の同一/非同一を検出する第一ロジック照合ステップと、
    第一割込みコントローラが、前記第一ロジック照合ステップでの検出結果が非同一ならば、前記第一プロセッサに対して割込みを要求する第一割込み要求を前記第一プロセッサに出力する第一割込みステップと、
    第二ロジック照合回路が、前記第一および第二アクセス情報の同一/非同一を検出する第二ロジック照合ステップと、
    第二割込みコントローラが、前記第二ロジック照合ステップでの検出結果が非同一ならば、前記第二プロセッサに対して割込みを要求する第二割込み要求を前記第二プロセッサに出力する第二割込みステップと
    を備える制御方法。
JP2009270776A 2009-11-27 2009-11-27 制御装置および制御方法 Active JP5352815B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009270776A JP5352815B2 (ja) 2009-11-27 2009-11-27 制御装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009270776A JP5352815B2 (ja) 2009-11-27 2009-11-27 制御装置および制御方法

Publications (2)

Publication Number Publication Date
JP2011113416A JP2011113416A (ja) 2011-06-09
JP5352815B2 true JP5352815B2 (ja) 2013-11-27

Family

ID=44235681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009270776A Active JP5352815B2 (ja) 2009-11-27 2009-11-27 制御装置および制御方法

Country Status (1)

Country Link
JP (1) JP5352815B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852811B2 (en) * 2014-11-13 2017-12-26 Macronix International Co., Ltd. Device and method for detecting controller signal errors in flash memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52137233A (en) * 1976-05-12 1977-11-16 Hitachi Ltd Computer duplex system
JPS5812062A (ja) * 1981-07-15 1983-01-24 Mitsubishi Electric Corp 並列電子計算機システムの出力装置
JP4102814B2 (ja) * 2005-06-30 2008-06-18 株式会社日立製作所 入出力制御装置,情報制御装置及び情報制御方法

Also Published As

Publication number Publication date
JP2011113416A (ja) 2011-06-09

Similar Documents

Publication Publication Date Title
EP2813949B1 (en) Multicore processor fault detection for safety critical software applications
JP5911922B2 (ja) 安全関連制御ユニットおよび自動化設備の制御方法
KR20020000632A (ko) 통합된 안전 제어 시스템을 갖춘 프로세스 제어 시스템
US10379946B2 (en) Controller
JP2017151785A (ja) 半導体装置
US20210278816A1 (en) Automation System For Monitoring A Safety-Critical Process
US8255769B2 (en) Control apparatus and control method
EP2787401B1 (en) Method and apparatus for controlling a physical unit in an automation system
JP5422448B2 (ja) 制御装置
JP5352815B2 (ja) 制御装置および制御方法
JP2013175118A (ja) 制御装置、及びそのメモリ故障検出方法、その自己診断方法
JP4102814B2 (ja) 入出力制御装置,情報制御装置及び情報制御方法
KR20050121729A (ko) 프로그램 제어식 유닛 및 방법
JP2014132384A (ja) マイクコンピュータ及びその制御方法
EP3361335A1 (en) Safety controller using hardware memory protection
JP5337661B2 (ja) メモリ制御装置及びメモリ制御装置の制御方法
JP6786449B2 (ja) 半導体装置
JP5563700B2 (ja) 制御装置
Iber et al. Dynamic adaption to permanent memory faults in industrial control systems
JP2008267999A (ja) 制御中に自己診断できるプログラム可能な制御装置
JP5756413B2 (ja) 制御装置
JP2006146319A (ja) 2重化システム
JP2010211391A (ja) Cpuの動作監視方法および装置
EA034974B1 (ru) Способ обеспечения функциональной безопасности модуля центрального процессора промышленного контроллера и микропроцессорная система для осуществления данного способа (варианты)
JP2003037927A (ja) ディジタル保護・制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130801

R150 Certificate of patent or registration of utility model

Ref document number: 5352815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150