(57)【要約】【課題】  高度の信頼性を確保しうる情報処理装置および情報処理方法を提供する。【解決手段】  異常検出手段１０１は、第１の装置における異常を検出する。第２の装置リセット手段１０２は、異常検出手段１０１により異常が検出された場合に、第２の装置をリセットする。第１の装置リセット手段１０３は、異常検出手段１０１により異常が検出された場合に、第１の装置をリセットする。また、照合手段１１１は、第１の装置および第２の装置で生成されたデータを照合し、データが不一致であれば異常と判定する。リセット手段１１２は、照合手段１１１により異常と判定された場合に、第２の装置をリセットする。【選択図】図１
2006209197.tif 000002
【特許請求の範囲】
【請求項１】
同一処理を二重に実行する第１の装置および第２の装置を備える情報処理装置において、
前記第１の装置における異常を検出する異常検出手段と、
前記異常検出手段により異常が検出された場合に、前記第２の装置をリセットする第２の装置リセット手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記異常検出手段により異常が検出された場合に、前記第１の装置をリセットする第１の装置リセット手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記異常検出手段は、前記第１の装置と分離して実装されていることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記異常検出手段は、前記第１の装置内に実装されていることを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記異常検出手段はウォッチドッグ・タイマであることを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
同一処理を二重に実行する第１の装置および第２の装置を備える情報処理装置において、
前記第１の装置は、
前記第１の装置および前記第２の装置で生成されたデータを照合し、データが不一致であれば異常と判定する照合手段と、
前記照合手段により異常と判定された場合に、前記第２の装置をリセットするリセット手段と、
を備えることを特徴とする情報処理装置。
【請求項７】
同一処理を二重に実行する第１の装置および第２の装置を備える情報処理装置において、
前記第２の装置の異常を検出した場合に、第２の装置をリセットする第２の装置リセット手段と、
前記第１の装置において前記第２の装置の異常を認識する異常認識手段と、
前記異常認識手段により認識された前記第２の装置の異常を通知する通知手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
前記第２の装置において前記第１の装置の異常を検出した場合に、前記第１の装置をリセットする第１の装置リセット手段を備えることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記第１の装置および前記第２の装置は、それぞれ個々の半導体デバイスとして構成されていることを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記第１の装置および前記第２の装置は、それぞれ個々のＣＰＵとして構成されていることを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１１】
同一処理を二重に実行する第１の装置および第２の装置を用いる情報処理方法において、
前記第１の装置における異常を検出するステップと、
前記異常検出手段により異常が検出された場合に、前記第２の装置をリセットするステップと、
を備えることを特徴とする情報処理方法。
【請求項１２】
前記異常検出手段により異常が検出された場合に、前記第１の装置をリセットするステップを備えることを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記第１の装置および前記第２の装置は、それぞれ個々の半導体デバイスとして構成されていることを特徴とする請求項１１または１２に記載の情報処理方法。
【請求項１４】
前記第１の装置および前記第２の装置は、それぞれ個々のＣＰＵとして構成されていることを特徴とする請求項１１または１２に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに独立して処理を実行する複数の装置を備える情報処理装置および情報処理方法に関し、とくに信頼性を向上させることができる情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
プラントに配置されたフィールド機器を管理、制御するプラント制御システムが知られている。また、このようなプラントでは、プラントの安全を図るための安全システムが導入される。安全システムは、フィールド機器に異常が認められた場合に、警報を通知するとともに必要な措置を実行するシステムであり、プラント制御システムの一部として、あるいは、プラント制御システムとは独立して設けられる。
【特許文献１】特願平０８−００６６７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
安全システムには、その意図する機能から極めて高度の信頼性を要求される。例えば、異常が発生したにも関わらずシステムが安全だと認識し、あるいは、誤った情報を通知するような事態は極力回避しなければならない。また、異常の可能性が示される場合には安全サイドの処理を選択する必要がある。
【０００４】
本発明の目的は、高度の信頼性を確保しうる情報処理装置および情報処理方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、同一処理を二重に実行する第１の装置および第２の装置を備える情報処理装置において、前記第１の装置における異常を検出する異常検出手段と、前記異常検出手段により異常が検出された場合に、前記第２の装置をリセットする第２の装置リセット手段と、を備えることを特徴とする。
この情報処理装置によれば、第１の装置における異常が検出された場合に、第２の装置をリセットするので、第２の装置自身の診断に頼ることなく、第２の装置をリセットできる。「第１の装置における異常」は、第１の装置に起因する異常に限定されず、第２の装置に起因する異常を含んでいる。また、「第１の装置における異常」は、第１の装置内で検出される異常や第１の装置外で検出される第１の装置の動作異常を含む。
【０００６】
前記異常検出手段により異常が検出された場合に、前記第１の装置をリセットする第１の装置リセット手段を備えてもよい。
この場合、第１の装置および第２の装置の両方がリセットされる。
【０００７】
前記異常検出手段は、前記第１の装置と分離して実装されてもよい。
この場合、第１の装置が異常の場合でも、第１の装置の異常を的確に検出できる。
【０００８】
前記異常検出手段は、前記第１の装置内に実装されてもよい。
この場合、第２の装置に起因する異常を、第１の装置内で検出可能となる。
【０００９】
前記異常検出手段はウォッチドッグ・タイマであってもよい。
この場合、第１の装置の動作異常を検出可能となる。
【００１０】
本発明の情報処理装置は、同一処理を二重に実行する第１の装置および第２の装置を備える情報処理装置において、前記第１の装置は、前記第１の装置および前記第２の装置で生成されたデータを照合し、データが不一致であれば異常と判定する照合手段と、前記照合手段により異常と判定された場合に、前記第２の装置をリセットするリセット手段と、を備えることを特徴とする。
この情報処理装置によれば、第１の装置および第２の装置で生成されたデータを照合し、データが不一致であれば第２の装置をリセットするので、第２の装置が異常の場合にはデータが不一致を示し、第２の装置がリセットされる。
【００１１】
本発明の情報処理装置は、同一処理を二重に実行する第１の装置および第２の装置を備える情報処理装置において、前記第２の装置の異常を検出した場合に、第２の装置をリセットする第２の装置リセット手段と、前記第１の装置において前記第２の装置の異常を認識する異常認識手段と、前記異常認識手段により認識された前記第２の装置の異常を通知する通知手段と、を備えることを特徴とする。
この情報処理装置によれば、第２の装置の異常を検出した場合に、第２の装置をリセットするので、第２の装置の異常に起因する誤動作を防止できる。また、異常認識手段により認識された第２の装置の異常を通知することができる。通知手段を第１の装置に設けてもよい。
【００１２】
前記第２の装置において前記第１の装置の異常を検出した場合に、前記第１の装置をリセットする第１の装置リセット手段を備えてもよい。
この場合、第１の装置の異常を検出した場合に、第１の装置をリセットするので、第１の装置の異常に起因する誤動作を防止できる。
【００１３】
前記第１の装置および前記第２の装置は、それぞれ個々の半導体デバイスとして構成されていてもよい。
【００１４】
前記第１の装置および前記第２の装置は、それぞれ個々のＣＰＵとして構成されていてもよい。
【００１５】
本発明の情報処理方法は、同一処理を二重に実行する第１の装置および第２の装置を用いる情報処理方法において、前記第１の装置における異常を検出するステップと、前記異常検出手段により異常が検出された場合に、前記第２の装置をリセットするステップと、を備えることを特徴とする。
この情報処理方法によれば、第１の装置における異常が検出された場合に、第２の装置をリセットするので、第２の装置自身の診断に頼ることなく、第２の装置をリセットできる。「第１の装置における異常」は、第１の装置に起因する異常に限定されず、第２の装置に起因する異常を含んでいる。また、「第１の装置における異常」は、第１の装置内で検出される異常や第１の装置外で検出される第１の装置の動作異常を含む。
【００１６】
前記異常検出手段により異常が検出された場合に、前記第１の装置をリセットするステップを備えてもよい。
この場合、第１の装置および第２の装置の両方がリセットされる。
【００１７】
前記第１の装置および前記第２の装置は、それぞれ個々の半導体デバイスとして構成されていてもよい。
前記第１の装置および前記第２の装置は、それぞれ個々のＣＰＵとして構成されていてもよい。
【発明の効果】
【００１８】
本発明の情報処理装置および情報処理方法によれば、一の装置における異常が検出された場合に、他の装置をリセットするので、当該他の装置自身の診断に頼ることなく、当該他の装置をリセットできる。
【発明を実施するための最良の形態】
【００１９】
図１は本発明による情報処理装置を機能的に示すブロック図である。
【００２０】
図１（ａ）において、第１の装置および第２の装置は、同一処理を二重に実行する。異常検出手段１０１は、第１の装置における異常を検出する。第２の装置リセット手段１０２は、異常検出手段１０１により異常が検出された場合に、第２の装置をリセットする。
【００２１】
また、第１の装置リセット手段１０３は、異常検出手段１０１により異常が検出された場合に、第１の装置をリセットする。
【００２２】
図１（ｂ）において、第１の装置および第２の装置は、同一処理を二重に実行する。照合手段１１１は、第１の装置および第２の装置で生成されたデータを照合し、データが不一致であれば異常と判定する。リセット手段１１２は、照合手段１１１により異常と判定された場合に、第２の装置をリセットする。
【００２３】
図１（ｃ）において、第１の装置および第２の装置は、同一処理を二重に実行する。第２装置リセット手段１２１は、第２の装置の異常を検出した場合に、第２の装置をリセットする。異常認識手段１２２は、第１の装置において第２の装置の異常を認識する。通知手段１２３は、異常認識手段１２２により認識された第２の装置の異常を通知する。
【００２４】
第１の装置リセット手段１２４は、第２の装置において第１の装置の異常を検出した場合に、第１の装置をリセットする。
【００２５】
以下、図２〜図  を参照して、本発明による情報処理装置の実施例１〜４について説明する。
【実施例１】
【００２６】
図２は実施例１の情報処理装置が適用される安全システムの構成を示すブロック図である。この安全システムはプラント制御システムの一部として構成されている。
【００２７】
図２に示すように、プラント制御システムは、プラント各部に配置された電磁弁やセンサ等のフィールド機器１，１，・・・を統合的に管理、制御するコントローラ２と、コントローラ２およびフィールド機器１の間に介装される入出力装置３，３，・・・と、を備える。入出力装置３，３，・・・は、ネットワーク４を介してコントローラ２に接続されている。また、フィールド機器１，１，・・・は、ターミナルボード５を介して入出力装置３に接続されている。
【００２８】
図２に示すように、入出力装置３にはフィールド機器１とコントローラ２との間のインターフェース処理を実行する入出力ユニット３ａ，３ｂ，・・・が実装される。後述するように、これらの入出力ユニット３ａ，３ｂ，・・・では、信頼性向上を目的として同一処理を二重に実行している。
【００２９】
図３は入出力ユニット３ａの構成の一部を示すブロック図である。図３では、フィールド機器１の側から入力された入力値を加工して、上位システム（コントローラ２側システム）に向けてデータを出力するユニットの例を示している。
【００３０】
図３に示すように、このユニットは、第１のシステム１０および第２のシステム２０を備える。第１のシステム１０および第２のシステム２０には、それぞれ、別々の動作クロックにより動作するマスターＣＰＵ１１およびスレーブＣＰＵ２１が設けられている。マスターＣＰＵ１１およびスレーブＣＰＵ２１は、互いに独立して同一処理を実行する。また、第１のシステム１０および第２のシステム２０には、それぞれ周辺回路１２および周辺回路２２が実装されている。
【００３１】
図３に示すように、フィールド機器１からの入力値は、マスターＣＰＵ１１に入力される。マスターＣＰＵ１１では入力値に基づく演算処理を実行し、上位システムで使用可能なデータ形式のデータを生成する。マスターＣＰＵ１１が上位システムとの間の通信を担当し、マスターＣＰＵ１１で生成されたデータが上位システムに向けて出力される。
【００３２】
マスターＣＰＵ１１およびスレーブＣＰＵ２１は、互いに非同期通信（ＵＡＲＴ）により通信を実行する。マスターＣＰＵ１１およびスレーブＣＰＵ２１は、非同期通信により所定の処理フェイズごとにコマンドおよびレスポンスを交換することで、互いに動作の同期を取っている。
【００３３】
また、非同期通信により、フィールド機器１からの入力値はスレーブＣＰＵ２１に送信され、スレーブＣＰＵ２１ではマスターＣＰＵ１１と同一の演算処理を実行する。
【００３４】
さらに、マスターＣＰＵ１１およびスレーブＣＰＵ２１間で、互いの処理により生成されたデータを交換し、それぞれのＣＰＵにおいてこれらのデータを照合している。そして、データの不一致が検知された場合には、いずれかの処理に異常が発生したものとして、後述する処理を実行する。なお、データの照合については、実施例５においても詳述する。
【００３５】
図３に示すように、第１のシステム１０には、マスターＣＰＵ１１を監視するウォッチドッグ・タイマ（ＷＤＴ）１４が、第２のシステム２０には、スレーブＣＰＵ２１を監視するウォッチドッグ・タイマ（ＷＤＴ）２４が、それぞれ設けられている。
【００３６】
図４は図３に示すユニットにおけるリセットの手順を示すブロック図である。
【００３７】
図３および図４に示すように、ウォッチドッグ・タイマ１４は、マスターＣＰＵ１１からのタイマクリア信号の受信間隔を計時し、タイマクリア信号が一定時間受信されない場合、すなわちマスターＣＰＵ１１の動作異常が検出された場合には、マスターＣＰＵ１１および周辺回路１２をリセットする。また、このユニットでは、ウォッチドッグ・タイマ１４によりマスターＣＰＵ１１の動作異常が検出された場合、ウォッチドッグ・タイマ１４から出力されるリセット信号Ｒ１が第２のシステム２０のウォッチドッグ・タイマ２４に与えられる。このため、ウォッチドッグ・タイマ２４の制御によりスレーブＣＰＵ２１および周辺回路２２がリセットされる。
【００３８】
ウォッチドッグ・タイマ２４は、スレーブＣＰＵ２１からのタイマクリア信号の受信間隔を計時し、タイマクリア信号が一定時間受信されない場合、すなわちスレーブＣＰＵ２１の動作異常が検出された場合には、スレーブＣＰＵ２１および周辺回路２２をリセットする。また、ウォッチドッグ・タイマ２４によりスレーブＣＰＵ２１の動作異常が検出された場合、ウォッチドッグ・タイマ２４から出力されるリセット信号Ｒ２が第１のシステム１０のウォッチドッグ・タイマ１４に与えられる。このため、ウォッチドッグ・タイマ１４の制御によりマスターＣＰＵ１１および周辺回路１２がリセットされる。
【００３９】
このように、ウォッチドッグ・タイマ１４あるいはウォッチドッグ・タイマ２４によりいずれかのＣＰＵにおける異常が検出された場合には、自らのシステム（第１のシステムまたは第２のシステム）のみならず、他方のシステムについてもリセットされ、システム全体がリセットされることになる。
【００４０】
さらに、マスターＣＰＵ１１において異常を検出した場合、マスターＣＰＵ１１からウォッチドッグ・タイマ２４に向けてＫＩＬＬ信号Ｋ１を出力する。この場合、ウォッチドッグ・タイマ２４の制御によりスレーブＣＰＵ２１および周辺回路２２がリセットされる。すなわち、第２のシステム２０がリセットされた状態となる。また、ウォッチドッグ・タイマ２４から出力されるリセット信号Ｒ２により、第１のシステム１０自身もリセットされた状態となる。ここで、マスターＣＰＵ１１により検出される異常には、ＣＰＵ間の非同期通信の異常や、上述した両ＣＰＵで生成されたデータが不一致であることで検出される処理の異常が含まれる。ここで検出される異常は、第１のシステム１０に原因がある異常に限定されず、第２のシステム２０に原因がある場合も含まれる。
【００４１】
スレーブＣＰＵ２１において異常を検出した場合、スレーブＣＰＵ２１からウォッチドッグ・タイマ１４に向けてＫＩＬＬ信号Ｋ２を出力する。この場合、ウォッチドッグ・タイマ１４の制御によりマスターＣＰＵ１１および周辺回路１２がリセットされる。すなわち、第１のシステム１０がリセットされた状態となる。また、ウォッチドッグ・タイマ１４から出力されるリセット信号Ｒ１により、第２のシステム２０自身もリセットされた状態となる。ここで、スレーブＣＰＵ２１により検出される異常には、ＣＰＵ間の非同期通信の異常や、上述した両ＣＰＵで生成されたデータが不一致であることで検出される処理の異常が含まれる。ここで検出される異常は、第２のシステム２０に原因がある異常に限定されず、第１のシステム１０に原因がある場合も含まれる。
【００４２】
このように、いずれかのＣＰＵにおいて何らかの異常が検出された場合には、相手方のシステム（第１のシステムまたは第２のシステム）をリセットする。この手順によるリセットは、ウォッチドッグ・タイマ１４あるいはウォッチドッグ・タイマ２４により異常が検出されない場合に、有効に機能する。
【００４３】
リセット解除後、異常が検出されない場合には、第１のシステム１０および第２のシステム２０が同時に正常復帰する。
【００４４】
以上のように、実施例１では、いずれかのシステム１０，２０における異常が検出された場合には、システム全体がリセットされ、上位システムに誤った情報が出力されるおそれはないので、システム全体として的確なフェイルセイフを実行できる。また、システム全体がリセットされた状態からリセット解除するので、リセット解除後の正常な初期化が実現できる。
【００４５】
一般に、異常が発生したＣＰＵ自身が、自らの異常を正しく検出できる保証はない。しかし、実施例１では、ＣＰＵが互いに相手方のＣＰＵの異常を検出し、相手方のＣＰＵをリセットしている。このため、異常が発生したＣＰＵ自身の診断に頼ることなく、異常の発生を確実に検出できる。したがって、フェイル時における処理の信頼性を向上させることができる。
【００４６】
さらに、２つのシステムが相互に異常を検出し合う構成を採ることにより、異常検出のための特別の構成を追加することなく、低コストで異常検出の精度を大幅に高めることができる。また、ＣＰＵ間の通信に非同期通信（ＵＡＲＴ）を用いているので、ＣＰＵ間の絶縁が必要な場合でも、低コストで装置を構成できる。
【実施例２】
【００４７】
図５は実施例２の情報処理装置が適用される入出力ユニットの構成の一部を示すブロック図である。実施例１と同様、実施例２では、フィールド機器１の側から入力された入力値を加工して、上位システム（コントローラ２側システム）に向けてデータを出力するユニットの例を示している。
【００４８】
実施例２では、実施例１におけるＫＩＬＬ信号Ｋ１およびリセット信号Ｒ２を省略した例を示している。
【００４９】
このような構成は、マスター側システムである第１のシステム１０で、スレーブ側システムである第２のシステム２０の異常を検出した時に、システム全体をリセットせず、上位システムに第２のシステム２０の異常を通知できれば充分であると考えられる場合に適用される。
【００５０】
実施例２では、第２のシステム２０で異常が発生しウォッチドッグ・タイマ２４が異常を検出した場合、第２のシステム２０のみがリセットされ、第１のシステム１０はリセットされない。このため、第１のシステム１０を用いた処理を継続でき、上位システムに対する通知も可能となる。この場合、マスターＣＰＵ１０では、ＣＰＵ間の非同期通信によるデータの照合の結果、両ＣＰＵ間のデータの不一致が発生することとなり、マスターＣＰＵ１０においてスレーブＣＰＵ２０の異常を認識することができる。また、データ照合以外の方法でスレーブＣＰＵ２０の異常を認識できるようにしてもよい。非同期通信を用いてスレーブＣＰＵ２０の異常を認識してもよいし、非同期通信以外の経路を介してスレーブＣＰＵ２０が異常である旨の情報を取得してもよい。
【００５１】
実施例２においても、第１のシステム１０に異常が発生した場合には、ウォッチドッグ・タイマ１４による異常検出、あるいは第２のシステム２０による異常検出は有効に機能し、この場合には第１のシステム１０も含め、システム全体がリセットされ、上位システムに誤った情報が出力されるおそれはない。したがって、実施例１と同様、システム全体として的確なフェイルセイフを実行できる。
【実施例３】
【００５２】
図６は実施例３の情報処理装置が適用される入出力ユニットの構成の一部を示すブロック図である。実施例３では、上位システム（コントローラ２側システム）からの情報を加工して、フィールド機器１の側に向けてデータを出力するユニットの例を示している。
【００５３】
図６に示すように、このユニットは、第１のシステム１０Ａおよび第２のシステム２０Ａを備える。第１のシステム１０Ａおよび第２のシステム２０Ａには、それぞれ、別々の動作クロックにより動作するマスターＣＰＵ１１ＡおよびスレーブＣＰＵ２１Ａが設けられている。マスターＣＰＵ１１ＡおよびスレーブＣＰＵ２１Ａは、互いに独立して同一処理を実行する。また、第１のシステム１０Ａおよび第２のシステム２０Ａには、それぞれ周辺回路１２Ａおよび周辺回路２２Ａが実装されている。
【００５４】
図６に示すように、マスターＣＰＵ１１Ａが上位システムとの間の通信を担当し、コントローラ２側からの情報はマスターＣＰＵ１１Ａに入力される。マスターＣＰＵ１１Ａでは、コントローラ２側からの情報に基づく演算処理を実行し、フィールド機器１で使用可能なデータ形式のデータを生成する。
【００５５】
マスターＣＰＵ１１ＡおよびスレーブＣＰＵ２１Ａは、互いに非同期通信（ＵＡＲＴ）により通信を実行する。マスターＣＰＵ１１ＡおよびスレーブＣＰＵ２１Ａは、非同期通信により所定の処理フェイズごとにコマンドおよびレスポンスを交換することで、互いに動作の同期を取っている。
【００５６】
また、非同期通信により、コントローラ２側からの情報はスレーブＣＰＵ２１Ａに送信され、スレーブＣＰＵ２１ＡではマスターＣＰＵ１１Ａと同一の演算処理を実行する。
【００５７】
さらに、マスターＣＰＵ１１ＡおよびスレーブＣＰＵ２１Ａ間で、互いの処理により生成されたデータを交換し、それぞれのＣＰＵにおいてこれらを照合している。そして、データの不一致が検知された場合には、いずれかの処理に異常が発生したものとして、後述する処理を実行する。
【００５８】
図６に示すように、第１のシステム１０Ａには、マスターＣＰＵ１１Ａを監視するウォッチドッグ・タイマ（ＷＤＴ）１４Ａが、第２のシステム２０Ａには、スレーブＣＰＵ２１Ａを監視するウォッチドッグ・タイマ（ＷＤＴ）２４Ａが、それぞれ設けられている。
【００５９】
図６に示すように、ウォッチドッグ・タイマ１４Ａは、マスターＣＰＵ１１Ａの動作異常が検出された場合に、マスターＣＰＵ１１Ａおよび周辺回路１２Ａをリセットする。また、ウォッチドッグ・タイマ１４ＡによりマスターＣＰＵ１１Ａの動作異常が検出された場合、ウォッチドッグ・タイマ１４Ａから出力されるリセット信号Ｒ１が第２のシステム２０Ａのウォッチドッグ・タイマ２４Ａに与えられる。このため、ウォッチドッグ・タイマ２４Ａの制御によりスレーブＣＰＵ２１Ａおよび周辺回路２２Ａがリセットされる。
【００６０】
ウォッチドッグ・タイマ２４Ａは、スレーブＣＰＵ２１Ａの動作異常が検出された場合に、スレーブＣＰＵ２１Ａおよび周辺回路２２Ａをリセットする。また、ウォッチドッグ・タイマ２４ＡによりスレーブＣＰＵ２１Ａの動作異常が検出された場合、ウォッチドッグ・タイマ２４Ａから出力されるリセット信号Ｒ２が第１のシステム１０Ａのウォッチドッグ・タイマ１４Ａに与えられる。このため、ウォッチドッグ・タイマ１４Ａの制御によりマスターＣＰＵ１１Ａおよび周辺回路１２Ａがリセットされる。
【００６１】
このように、ウォッチドッグ・タイマ１４Ａあるいはウォッチドッグ・タイマ２４ＡによりいずれかのＣＰＵにおける異常が検出された場合には、システム全体がリセットされる。
【００６２】
さらに、マスターＣＰＵ１１Ａにおいて異常を検出した場合、マスターＣＰＵ１１Ａからウォッチドッグ・タイマ２４Ａに向けてＫＩＬＬ信号Ｋ１を出力する。この場合、ウォッチドッグ・タイマ２４Ａの制御により第２のシステム２０Ａがリセットされた状態となる。また、ウォッチドッグ・タイマ２４Ａから出力されるリセット信号Ｒ２により、第１のシステム１０自身もリセットされた状態となる。
【００６３】
スレーブＣＰＵ２１Ａにおいて異常を検出した場合、スレーブＣＰＵ２１Ａからウォッチドッグ・タイマ１４Ａに向けてＫＩＬＬ信号Ｋ２を出力する。この場合、ウォッチドッグ・タイマ１４Ａの制御により第１のシステム１０Ａがリセットされた状態となる。また、ウォッチドッグ・タイマ１４Ａから出力されるリセット信号Ｒ１により、第２のシステム２０Ａ自身もリセットされた状態となる。
【００６４】
以上のように、実施例３では、実施例１と同様、いずれかのシステム１０Ａ，２０Ａにおける異常が検出された場合には、システム全体がリセットされ、フィールド機器１側に誤ったデータが出力されるおそれはないので、システム全体として的確なフェイルセイフを実行できる。また、システム全体がリセットされた状態からリセット解除するので、リセット解除後の正常な初期化が実現できる。
【００６５】
実施例３において、ＫＩＬＬ信号Ｋ１およびリセット信号Ｒ２を省略することもできる。
【００６６】
このような構成は、マスター側システムである第１のシステム１０Ａで、スレーブ側システムである第２のシステム２０Ａの異常検出時に、システム全体をリセットせず、上位システムに第２のシステム２０Ａの異常を通知するとともに、フィールド機器１側へのデータ出力を遮断できれば充分であると考えられる場合に適用される。
【００６７】
この場合、第２のシステム２０Ａで異常が発生しウォッチドッグ・タイマ２４Ａが異常を検出した場合、第２のシステム２０Ａのみがリセットされ、第１のシステム１０Ａはリセットされない。このため、第１のシステム１０Ａを用いた処理を継続でき、上位システムに対する通知も可能となる。この場合、マスターＣＰＵ１０Ａの処理によりフィールド機器１側へのデータ出力をオフし、データの出力を阻止する。
【００６８】
このような構成においても、第１のシステム１０Ａに異常が発生した場合には、ウォッチドッグ・タイマ１４Ａによる異常検出、あるいは第２のシステム２０Ａによる異常検出は有効に機能し、この場合には第１のシステム１０Ａも含め、システム全体がリセットされ、フィールド機器１側に誤ったデータが与えられるおそれはない。したがって、システム全体として的確なフェイルセイフを実行できる。
【実施例４】
【００６９】
図７は、実施例４の情報処理装置におけるリセットの手順を示すブロック図である。
【００７０】
実施例４の情報処理装置は、それぞれＣＰＵを備える第１〜第３のシステムにより構成される。
【００７１】
図７に示すように、第１のシステム３０はマスターＣＰＵ３１およびウォッチドッグ・タイマ３４を備える。また、第２のシステム４０はスレーブＣＰＵ４１およびウォッチドッグ・タイマ４４を、第３のシステム５０はスレーブＣＰＵ５１およびウォッチドッグ・タイマ５４を、それぞれ備える。
【００７２】
実施例４では、第１のシステム３０のウォッチドッグ・タイマ３４からはリセット信号Ｒ１が出力され、リセット信号Ｒ１により第２のシステム４０および第３のシステム５０がリセットされる。第２のシステム４０のウォッチドッグ・タイマ４４からはリセット信号Ｒ２が出力され、リセット信号Ｒ２により第１のシステム３０がリセットされる。第３のシステム５０のウォッチドッグ・タイマ５４からはリセット信号Ｒ３が出力され、リセット信号Ｒ３により第１のシステム３０がリセットされる。
【００７３】
また、第１のシステム３０のマスターＣＰＵ３１からはＫＩＬＬ信号Ｋ１が出力され、ＫＩＬＬ信号Ｋ１により第２のシステム４０および第３のシステム５０がリセットされる。第２のシステム４０のスレーブＣＰＵ４１からはＫＩＬＬ信号Ｋ２が出力され、ＫＩＬＬ信号Ｋ２により第１のシステム３０がリセットされる。第３のシステム５０のスレーブＣＰＵ５１からはＫＩＬＬ信号Ｋ３が出力され、ＫＩＬＬ信号Ｋ３により第１のシステム３０がリセットされる。
【００７４】
実施例４では、第１のシステム３０と第２のシステム４０、および第１のシステム３０と第３のシステム５０が、それぞれ相互に異常を監視し合うことで、異常の発生を確実に検出している。このように、マスターＣＰＵと各スレーブＣＰＵ間で相互に監視する構成を採用することにより、スレーブＣＰＵ間での通信を行うことなく、すべてのシステムにおける異常を的確に検出できる。したがって、通信の複雑化に伴う実装上の困難を回避できる。
【００７５】
なお、情報処理装置に要求される特質に応じて、適宜、リセット信号あるいはＫＩＬＬ信号によるリセットの経路を省略し、あるいは、リセット機能を他の方法で代替してもよい。
【実施例５】
【００７６】
図８は実施例５の情報処理装置が適用される入出力ユニットの構成の一部を示すブロック図である。本実施例では、下流工程であるフィールド機器１の側から入力された入力値を加工して、上流工程であるコントローラ２の側に向けてＰＶ値（プロセス値）を出力するユニットの例を示している。
【００７７】
図８に示すように、入出力ユニットは、マスターＣＰＵ１０Ｂと、スレーブＣＰＵ２０Ｂとを備え、それぞれのＣＰＵ１０ＢおよびＣＰＵ２０Ｂが互いに独立して同一処理を実行する。また、ＣＰＵ１０ＢおよびＣＰＵ２０Ｂは、それぞれその周囲に実装された周辺回路の診断を実行する。
【００７８】
図８に示すように、フィールド機器１からの入力値は、入力部７１および入力バッファ７２を介してマスターＣＰＵ１０Ｂに入力される。マスターＣＰＵ１０Ｂの周囲の周辺回路７４は診断回路７５により診断される。また、入力バッファ７２から出力された信号が診断回路７５に入力され、信号の異常の有無が診断される。周辺回路７４の異常の有無、および入力バッファ７２から出力された信号の異常の有無は、診断回路７５からの診断情報としてマスターＣＰＵ１０Ｂに入力される。
【００７９】
同様に、フィールド機器１からの同一の入力値は入力部７１および入力バッファ７３を介してスレーブＣＰＵ２０Ｂに入力される。スレーブＣＰＵ２０Ｂの周囲の周辺回路７６は診断回路７７により診断される。また、入力バッファ７３から出力された信号が診断回路７７に入力され、信号の異常の有無が診断される。周辺回路７６の異常の有無、および入力バッファ７３から出力された信号の異常の有無は、診断回路７７からの診断情報としてスレーブＣＰＵ２０Ｂに入力される。
【００８０】
図８に示すように、マスターＣＰＵ１０Ｂは、入力バッファ７２を経由して入力された入力値に対する演算処理を実行し、コントローラ２の側である上流工程で処理可能な形式のＰＶ値（プロセス値）に変換するＰＶ値処理部１１Ｂと、診断回路７５からの診断情報を受けて異常の検出および判定を実行し、診断結果であるステータスを生成する診断部１２Ｂとを備える。
【００８１】
また、マスターＣＰＵ１０Ｂは、スレーブＣＰＵ２０Ｂとの間で通信を実行するための通信ブロック１３Ｂと、ＰＶ値およびステータスに、ＣＲＣ（Cyclic Redundancy Check；巡回冗長検査）コードおよび更新カウンタを付加するコード生成部１４Ｂとを備える。
【００８２】
また、スレーブＣＰＵ２０Ｂは、入力バッファ７３を経由して入力された入力値に対する演算処理を実行し、コントローラ２の側である上流工程で処理可能な形式のＰＶ値（プロセス値）に変換するＰＶ値処理部２１と、診断回路７７からの診断情報を受けて異常の検出および判定を実行し、診断結果であるステータスを生成する診断部２２Ｂとを備える。
【００８３】
また、スレーブＣＰＵ２０Ｂは、マスターＣＰＵ１０Ｂとの間で通信を実行するための通信ブロック２３Ｂと、ＰＶ値およびステータスに、ＣＲＣ（Cyclic Redundancy Check；巡回冗長検査）コードおよび更新カウンタを付加するコード生成部２４Ｂとを備える。
【００８４】
次に、本ユニットの動作について説明する。
【００８５】
マスターＣＰＵ１０Ｂでは、診断部１２Ｂで生成されたステータスと、スレーブＣＰＵ２０の診断部２４Ｂで生成され、通信ブロック２３Ｂおよび通信ブロック１３Ｂによる通信を介して取得されたステータスとを、等値化部１５Ｂにおいて、比較、等値化する。等値化はマスターＣＰＵ１０Ｂで取り扱うステータスと、スレーブＣＰＵ２０Ｂで取り扱うステータスとを同一にする処理である。等値化部１５ＢではステータスのＯＲ情報を生成する。すなわち、等値化部１５Ｂでは、いずれかのステータスが異常を示す場合、その異常を取り込んだステータスに変更し、コード生成部１４Ｂに受け渡す。後述するように、スレーブＣＰＵ２０Ｂでも同様の処理を行うことで、マスターＣＰＵ１０ＢおよびスレーブＣＰＵ２０Ｂで取り扱うステータスを共通化する。
【００８６】
ＰＶ値処理部１１Ｂで生成されたＰＶ値は、コード生成部１４Ｂに与えられる。しかし、等値化部１５Ｂでの処理に基づきステータスの異常が検出された場合には、遮断部１６Ｂによりコード生成部１４ＢへのＰＶ値の入力が遮断される。
【００８７】
コード生成部１４Ｂでは、入力されたＰＶ値および等値化部１５Ｂで生成されたステータスに基づいてＣＲＣコードを生成する。また、新たなＰＶ値およびステータスが入力されるたびにカウント番号を更新し、ＣＲＣコードに付加したコードを生成する。コード生成部１４Ｂでは、このように生成したコードをＰＶ値およびステータスに付加することで、ＰＶ値、ステータス、ＣＲＣコードおよびカウント番号からなるフレームを生成する。カウント番号は、ＰＶ値およびステータスの更新ごとにインクリメントされる。
【００８８】
コード生成部１４Ｂで作成されたフレームと同様のフレームは、スレーブＣＰＵ２０Ｂのコード生成部２４Ｂで同様に生成され、通信ブロック２３Ｂおよび通信ブロック１３Ｂによる通信を介して取得される。コード生成部１４Ｂで作成されたフレームと、コード生成部２４Ｂで作成されたフレームとは、比較部１７Ｂにおいて照合される。比較部１７Ｂでは、両フレームの不一致が検出されれば異常と判断する。後述するように、スレーブＣＰＵ２０Ｂでも同様の処理を行うことで、マスターＣＰＵ１０ＢおよびスレーブＣＰＵ２０Ｂは、互いに相手方の処理結果を自らの処理結果と照合し、不一致であれば異常と判断している。マスターＣＰＵ１０ＢおよびスレーブＣＰＵ２０Ｂにおけるすべての処理が正常であれば、比較部１７Ｂにおける照合の結果、両フレームは一致することになる。
【００８９】
コード生成部１４Ｂで生成されたフレームは、上流工程である出力部７８に向けて出力される。しかし、比較部１７Ｂにおいて両フレームの不一致が検出され、異常と判断されれば、遮断部１８Ｂによって、フレームの出力が遮断される。また、後述するように、スレーブＣＰＵ２０Ｂの比較部２７Ｂにおいてフレームの不一致が検出された場合には、ＫＩＬＬ信号Ｋにより、フレームの出力が阻止される。
【００９０】
一方、スレーブＣＰＵ２０Ｂでは、診断部２２Ｂで生成されたステータスと、マスターＣＰＵ１０の診断部１４Ｂで生成され、通信ブロック１３Ｂおよび通信ブロック２３Ｂによる通信を介して取得されたステータスとを、等値化部２５Ｂにおいて、比較、等値化する。等値化部２５ＢではステータスのＯＲ情報を生成する。すなわち、等値化部２５Ｂでは、いずれかのステータスが異常を示す場合、その異常を取り込んだステータスに変更し、コード生成部２４Ｂに受け渡す。
【００９１】
ＰＶ値処理部２１で生成されたＰＶ値は、コード生成部２４Ｂに与えられる。しかし、等値化部２５Ｂでの処理に基づきステータスの異常が検出された場合には、遮断部２６Ｂによりコード生成部２４ＢへのＰＶ値の入力が遮断される。
【００９２】
コード生成部２４Ｂでは、入力されたＰＶ値および等値化部２５Ｂで生成されたステータスに基づいてＣＲＣコードを生成する。また、新たなＰＶ値およびステータスが入力されるたびにカウント番号を更新し、ＣＲＣコードに付加したコードを生成する。コード生成部２４Ｂでは、このように生成したコードをＰＶ値およびステータスに付加することで、ＰＶ値、ステータス、ＣＲＣコードおよびカウント番号からなるフレームを生成する。カウント番号は、ＰＶ値およびステータスの更新ごとにインクリメントされる。
【００９３】
コード生成部２４Ｂで作成されたフレームは、マスターＣＰＵ１０Ｂのコード生成部１４Ｂで同様に生成され通信ブロック１３Ｂおよび通信ブロック２３Ｂによる通信を介して取得されたフレームと、比較部２７Ｂにおいて照合される。比較部２７Ｂにおいて両フレームの不一致が検出されれば異常と判断する。
【００９４】
比較部２７Ｂにおいてフレームの不一致が検出された場合、比較部２７ＢからＫＩＬＬ信号Ｋが出力され、マスターＣＰＵ１０Ｂに与えられる。この場合、マスターＣＰＵ１０ＢはＫＩＬＬ信号Ｋによって強制リセットされ、出力部７８への新たなフレームの出力が阻止される。このため、誤りのあるデータが出力部７８に向けて出力されることを防止できる。
【００９５】
なお、出力部７８への出力が阻止された場合、カウント番号の更新が停止するため、出力部７８以降の後段の上流工程では、カウント番号を参照するだけで情報の出力が停止したことを認識できる。
【００９６】
以上のように、実施例５では、比較部２７Ｂにおいてフレームの不一致が検出された場合、比較部２７Ｂから出力されるＫＩＬＬ信号Ｋにより、マスターＣＰＵ１０Ｂが強制的にリセットされる。実施例５では、マスターＣＰＵ１０Ｂの処理に異常がある場合には、比較部２７Ｂにおいてフレームの不一致が検出される。このため、マスターＣＰＵ１０Ｂの異常時には、ＫＩＬＬ信号ＫによってマスターＣＰＵ１０Ｂがリセットされることとなり、上位システムに誤った情報が出力されるおそれはない。したがって、システム全体として的確なフェイルセイフを実行できる。
【００９７】
本発明の適用範囲は上記実施形態に限定されることはない。また、本発明は、安全システムのみならず、各種情報を取り扱う情報処理システムに対し、広く適用することができる。
【図面の簡単な説明】
【００９８】
【図１】本発明による情報処理装置を機能的に示すブロック図であり（ａ）は一の発明を示すブロック図、（ｂ）は他の一の発明を示すブロック図、（ｃ）は他の一の発明を示すブロック図。
【図２】実施例１の情報処理装置が適用される安全システムの構成を示すブロック図。
【図３】実施例１の情報処理装置の構成の一部を示すブロック図。
【図４】実施例１の情報処理装置におけるリセットの手順を示すブロック図
【図５】実施例２の情報処理装置の構成の一部を示すブロック図。
【図６】実施例３の情報処理装置の構成の一部を示すブロック図。
【図７】実施例４の情報処理装置におけるリセットの手順を示すブロック図。
【図８】実施例５の情報処理装置の構成の一部を示すブロック図。
【符号の説明】
【００９９】
１０１  異常検出手段
１０２  第２の装置リセット手段
１０３  第１の装置リセット手段
１１１  照合手段
１１２  リセット手段
１２１  第２装置リセット手段
１２２  異常認識手段
１２３  通知手段
１２４  第１の装置リセット手段
【図１】
2006209197.tif 000003
【図２】
2006209197.tif 000004
【図３】
2006209197.tif 000005
【図４】
2006209197.tif 000006
【図５】
2006209197.tif 000007
【図６】
2006209197.tif 000008
【図７】
2006209197.tif 000009
【図８】
2006209197.tif 000010