(57)【要約】      （修正有）【課題】２個のプロセッサに異なる機能の処理を実行させることで独立処理の自由度を持たせ、且つ、信頼性を従来と同等とするプロセッサ二重化コントローラを実現する。【解決手段】入力データを、二重化したプロセッサにより演算し、各プロセッサの演算結果が等値である場合に、その演算結果を出力インターフェースに渡すプロセッサ二重化コントローラにおいて、第１プロセッサと第２プロセッサとが互いに独立したタイミングで、それぞれ入力データを取得して演算し、演算結果を共有メモリに保持し、両方の演算が完了した時点で、第１プロセッサと第２プロセッサとがそれぞれ、両演算結果の照合を行い、いずれの照合においても演算結果が等値である場合に、演算結果の一方を出力インターフェースに渡す。【選択図】図１
2011243127.tif 000002
【特許請求の範囲】
【請求項１】
入力インターフェースを介して渡される入力データを、二重化したプロセッサにより演算し、各プロセッサの演算結果が等値である場合に、その演算結果を出力インターフェースに渡すプロセッサ二重化コントローラにおいて、
前記入力データを取得して演算する第１プロセッサ、及び第１照合器を有する第１機能ブロックと、
前記入力データを取得して演算する第２プロセッサ、及び第２照合器を有する第２機能ブロックと、
前記第１プロセッサの第１演算結果を保持する第１演算結果保持部、及び前記第２プロセッサの第２演算結果を保持する第２演算結果保持部を有する共有メモリと、
を備え、
前記共有メモリに保持されている前記第１演算結果及び前記第２演算結果を、夫々前記第１照合器及び前記第２照合器により照合し、これら照合器の照合結果が等値である場合に、前記共有メモリに保持されている前記第１演算結果または前記第２演算結果の一方を前記出力インターフェースに渡すことを特徴とするプロセッサ二重化コントローラ。
【請求項２】
前記第１照合器及び前記第２照合器は、前記第１プロセッサ及び前記第２プロセッサで実行されるソフトウェア照合器であることを特徴とする請求項１に記載の二重化コントローラ。
【請求項３】
前記第１プロセッサの第１演算結果及び前記第２プロセッサの第２演算結果は、Safety Codeを付加して夫々前記共有メモリの前記第１演算結果保持部及び前記第２演算結果保持部に渡されることを特徴とする請求項１または２に記載の二重化コントローラ。
【請求項４】
前記共有メモリは、前記入力インターフェースを介して渡される入力データを保持する元データ保持部を備え、前記第２プロセッサは、この元データ保持部を介して前記入力データを取得することを特徴とする請求項１乃至３のいずれかに記載の二重化コントローラ。
【請求項５】
前記入力インターフェースは、分散型制御システムを構成する上位装置より前記入力データを取得すると共に、照合された前記第１演算結果または前記第１演算結果の一方を、前記出力インターフェースを介してフィールド機器に渡すことを特徴とする請求項１乃至４のいずれかに記載の二重化コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力インターフェースを介して渡される入力データを、二重化したプロセッサにより演算し、各プロセッサの演算結果が等値である場合に、その演算結果を出力インターフェースに渡すプロセッサ二重化コントローラに関するものである。本発明のプロセッサ二重化コントローラは、分散型制御システム(ＤＣＳ：Distributed Control System）による生産制御システム、安全計装システム等のコントローラに有効に適用される。
【背景技術】
【０００２】
コントローラにおけるプロセッサ二重化の技術は、例えば特許文献１に開示されているように、生産制御システム、安全計装システム等のプラント用に限らず、高信頼が求められる基幹通信網の送受信システム等、多岐に渡る分野において重要な要素技術として利用されている。
【０００３】
図２は、従来のプロセッサ二重化コントローラの構成例を示す機能ブロック図である。この実施形態におけるコントローラ１０は、プラントの機器を制御する分散型制御システム（ＤＣＳ）のコントローラであると仮定する。
【０００４】
コントローラ１０は、ＤＣＳにおける操作・監視装置等の上位ＰＣ２０からの要求データを入力データＡとして取得して演算処理し、演算結果をプラントのフィールド機器３０に出力する。上位ＰＣ２０からの入力データＡは、入力インターフェース１１を介して同一機能構成で二重化された第１プロセッサ１２及び第２プロセッサ１３に渡され、同一の演算処理が実行される。
【０００５】
第１プロセッサ１２及び第２プロセッサ１３の演算結果Ｂ１及びＢ２が照合器１４に渡されて両者が等値であるかが比較され、等値であればその演算結果Ｂを、出力インターフェース１５を介してフィールド機器３０に渡す。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２５６０７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来構成のプロセッサ二重化コントローラでは、第１プロセッサ及び第２プロセッサが全く同じ演算を行うため、２個のプロセッサが互いに独立な処理を実行する使用形態で得られるプロセッサ使用の効率面での優位性を損なう可能性がある。
【０００８】
即ち、比較的高速処理が必要でない優先度の低いデータの二重化演算では、プロセッサの処理能力に余裕があるので、２個のプロセッサに互いに異なる機能の処理を実行させたい要求がある。しかしながら、従来構成のプロセッサ二重化コントローラでは、そのような使用形態ができない。
【０００９】
本発明の目的は、２個のプロセッサに異なる機能の処理を実行させることで独立処理の自由度を持たせ、且つ、信頼性を従来と同等とするプロセッサ二重化コントローラを実現することにある。
【課題を解決するための手段】
【００１０】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）入力インターフェースを介して渡される入力データを、二重化したプロセッサにより演算し、各プロセッサの演算結果が等値である場合に、その演算結果を出力インターフェースに渡すプロセッサ二重化コントローラにおいて、
前記入力データを取得して演算する第１プロセッサ、及び第１照合器を有する第１機能ブロックと、
前記入力データを取得して演算する第２プロセッサ、及び第２照合器を有する第２機能ブロックと、
前記第１プロセッサの第１演算結果を保持する第１演算結果保持部、及び前記第２プロセッサの第２演算結果を保持する第２演算結果保持部を有する共有メモリと、
を備え、
前記共有メモリに保持されている前記第１演算結果及び前記第２演算結果を、夫々前記第１照合器及び前記第２照合器により照合し、これら照合器の照合結果が等値である場合に、前記共有メモリに保持されている前記第１演算結果または前記第２演算結果の一方を前記出力インターフェースに渡すことを特徴とするプロセッサ二重化コントローラ。
【００１１】
（２）前記第１照合器及び前記第２照合器は、前記第１プロセッサ及び前記第２プロセッサで実行されるソフトウェア照合器であることを特徴とする（１）に記載の二重化コントローラ。
【００１２】
（３）前記第１プロセッサの第１演算結果及び前記第２プロセッサの第２演算結果は、Safety Codeを付加して夫々前記共有メモリの前記第１演算結果保持部及び前記第２演算結果保持部に渡されることを特徴とする（１）または（２）に記載の二重化コントローラ。
【００１３】
（４）前記共有メモリは、前記入力インターフェースを介して渡される入力データを保持する元データ保持部を備え、前記第２プロセッサは、この元データ保持部を介して前記入力データを取得することを特徴とする（１）乃至（３）のいずれかに記載の二重化コントローラ。
【００１４】
（５）前記入力インターフェースは、分散型制御システムを構成する上位装置より前記入力データを取得すると共に、照合された前記第１演算結果または前記第１演算結果の一方を、前記出力インターフェースを介してフィールド機器に渡すことを特徴とする（１）乃至（４）のいずれかに記載の二重化コントローラ。
【発明の効果】
【００１５】
本発明によれば、次のような効果を期待することができる。
（１）本発明のプロセッサ二重化コントローラでは、２個のプロセッサは互いに独立した処理を実行することができるので、第１のプロセッサが属する第１機能ブロックを上位ＰＣとの通信インターフェース処理用とし、第２のプロセッサが属する第２機能ブロックをフィールド機器との通信インターフェース処理用インターフェース処理用とすることで、２個のプロセッサの効率的な使用形態を実現することができる。
【００１６】
（２）従来構成のペア動作プロセッサをプロセス制御や安全制御等の優先度の高い処理専用に使用し、通信インターフェース等の比較的に優先度の低い演算処理を本発明のプロセッサ二重化コントローラの構成とすることにより、ＤＣＳ等におけるコントローラ全体の処理効率を飛躍的に向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明を適用したプロセッサ二重化コントローラの一実施例を示す機能ブロック図である。
【図２】従来のプロセッサ二重化コントローラの構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００１８】
以下本発明を、図面を用いて詳細に説明する。図１は、本発明を適用したプロセッサ二重化コントローラの一実施例を示す機能ブロック図である。図２で説明した従来構成と同一要素には同一符号を付して説明を省略する。
【００１９】
本発明を適用したプロセッサ二重化コントローラ１００は、第１機能ブロック１１０、第２機能ブロック１２０、共有メモリ１３０、入力インターフェース１４０、出力インターフェース１５０を備える。第１機能ブロック１１０と第２機能ブロック１２０は、互いに異なる処理を実行することで、独立な機能を実現する。
【００２０】
上位ＰＣ２０よりの入力データＡを取得してヘッダ部の除去処理等を実行する入力インターフェース１４０及びフィールド機器３０に演算結果Ｂを渡す出力インターフェース１５０は、図２の入力インターフェース１１及び出力インターフェース１５と同一機能を有する。
【００２１】
第１機能ブロック１１０は、第１プロセッサ１１１及びこのプロセッサ上で実行されるソフトウェアによる第１照合器１１２を備える。同様に、第２機能ブロック１２０は、第２プロセッサ１２１及びこのプロセッサ上で実行されるソフトウェアによる第２照合器１２２を備える。尚、入力インターフェース１４０の機能は、第１機能ブロック１１０及び第２機能ブロック１２０夫々が備える構成であってもよい。
【００２２】
共有メモリ１３０は、第１プロセッサ１１１の演算結果Ｂ１を取得して保持する第１演算結果保持部１３１、第２プロセッサ１２１の演算結果Ｂ２を取得して保持する第２演算結果保持部１３２、入力データＡを保持する元データ保持部１３３を備える。
【００２３】
第２機能ブロック１２０は、共有メモリ１３０の元データ保持部１３３に入力データＡが保持されていることを確認し、これを取得する。第２機能ブロック１２０から共有メモリ１３０への確認タイミングは、定周期処理とする手法、他の周辺装置（第１機能ブロック１１０等）からトリガーを受け取る手法等がある。
【００２４】
第１機能ブロック１１０の第１プロセッサ１１１と第２機能ブロック１２０の第２プロセッサ１２１は、従来手法のように同時に入力データＡを取得し同時に演算処理を実行する同期的な演算処理ではなく、互いに独立したタイミングで異なる演算処理を実行することができる。
【００２５】
このため、第２機能ブロック１２０の第２プロセッサ１２１は、第１機能ブロック１１０の第１プロセッサ１１１の入力データの演算処理のタイミングとは独立したタイミングで、元データ保持部１３３に保持されている入力データＡを取得して演算処理を実行する。
【００２６】
第１プロセッサ１１１の演算結果Ｂ１は、データの信頼性確保のためSafety Code（CRCコード）を付加して第１演算結果保持部１３１に渡される。同様に、第２プロセッサ１２１の演算結果Ｂ２は、データの信頼性確保のためSafety Code（CRCコード）を付加して第２演算結果保持部１３２に渡される。
【００２７】
第１プロセッサ１１１上で稼動する第１照合器１１２は、第１演算結果保持部１３１で保持されている自己の演算結果Ｂ１及び第２演算結果保持部１３２で保持されている第２プロセッサ１２１の演算結果Ｂ２を取得（破線矢印で示す）し、演算結果Ｂ１と演算結果Ｂ２を比較し両者の等値を判定する。
【００２８】
同様に、第２プロセッサ１２１上で稼動する第２照合器１２２は、第２算結果保持部１３２で保持されている自己の演算結果Ｂ２及び第１演算結果保持部１３１で保持されている第１プロセッサ１１１の演算結果Ｂ１を取得（破線矢印で示す）し、演算結果Ｂ２と演算結果Ｂ１を比較し両者の等値を判定する。
【００２９】
第１照合器１１２の判定で、演算結果Ｂ１及びＢ２が等値である場合には、確認信号Ｓを第２照合器１２２に通知する。第２照合器１２２は、演算結果Ｂ２及びＢ１が等値であり、且つ第１照合器１１２より確認信号Ｓの通知を受けた場合に、第２演算結果保持部１３２で保持されている第２プロセッサ１２１の演算結果Ｂ２（または第１演算結果保持部１３１で保持されている第１プロセッサ１１１の演算結果Ｂ１）を、照合確認された演算結果Ｂとして出力インターフェース１５０に渡す。
【００３０】
本発明の構成において、第１プロセッサ１１１が故障している場合、第２プロセッサ１２１はエラー出力を生成する可能性があるが、第２プロセッサ１２１側の第２照合器１２２によりフィールド機器３０へのエラー出力送信を抑止することができる。
【００３１】
逆に、第２プロセッサ１２１が故障している場合、第１プロセッサ１１１はエラー出力を生成する可能性があるが、第１プロセッサ１１１側の第１照合器１１２によりフィールド機器３０へのエラー出力送信を抑止することができる。
【００３２】
このように、本発明のプロセッサ二重化コントローラでは、２個のプロセッサは互いに独立した処理を実行することができるので、第１のプロセッサが属する機能ブロックを上位ＰＣとの通信インターフェース処理用とし、第２のプロセッサが属する機能ブロックをフィールド機器との通信インターフェース処理用インターフェース処理用とすることで、２個のプロセッサの効率的な使用形態を実現することができる。
【００３３】
そして、従来構成のペア動作プロセッサを制御や安全制御等の優先度の高い処理専用に使用し、通信インターフェース等の比較的に優先度の低い処理を本発明のプロセッサ二重化コントローラの構成とすることにより、ＤＣＳ等におけるコントローラ全体の処理効率を飛躍的に向上させることができる。
【００３４】
図２の実施例では、入力インターフェースがＤＣＳの上位ＰＣに接続され、出力インターフェースがフィールド機器に接続されたコントローラを例示したが、この接続に限定されるものではなく、入力インターフェース、出力インターフェース、夫々にＰＣとフィールド機器のどちらが対応してもよい。例えば、入出力共にフィールド機器であってもよい。この場合、入力インターフェースと出力インターフェースは同一の機能構成となる。
【符号の説明】
【００３５】
２０  上位ＰＣ
３０  フィールド機器
１００  コントローラ
１１０  第１機能ブロック
１１１  第１プロセッサ
１１２  第１照合器
１２０  第２機能ブロック
１２１  第２プロセッサ
１２２  第２照合器
１３０  共有メモリ
１３１  第１演算結果保持部
１３２  第２演算結果保持部
１３３  元データ保持部
１４０  入力インターフェース
１５０  出力インターフェース
【図１】
2011243127.tif 000003
【図２】
2011243127.tif 000004