(57)【要約】      （修正有）【課題】コントローラを冗長して備えた多重化並列処理装置において、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持する異常判断装置を提供する。【解決手段】複数のコントローラモジュール７Ａ，７Ｂ，７Ｃを用いた並列冗長構成と、信号を伝送する信号バスと複数のコントローラモジュールの各々との間で伝送される信号を中継する第１及び第２通信モジュールを備え、第１通信モジュール６Ａは、第１通信モジュールにおける診断結果が異常であることを示しており、第２通信モジュール６Ｂにおける診断結果が正常であることを示している場合に、信号バスからの信号の中継を禁止する。【選択図】図２
2016192158.tif 000002
【特許請求の範囲】
【請求項１】
複数のコントローラモジュールを用いた並列冗長構成を備える異常判断装置であって、
複数の前記コントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと複数の前記コントローラモジュールとの間に接続される第１及び第２通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第１及び第２通信モジュールを備え、
前記第１通信モジュールは、
前記第１通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか１以上からの応答が異常であると診断する第１診断部と、
前記第２通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第２診断部と、
前記第１診断部の診断結果が異常であることを示しており、前記第２診断部の診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断部と、を備える、
異常判断装置。
【請求項２】
前記第１通信モジュールは、
前記第２通信モジュールに対して該第２通信モジュールの診断結果を要求し、該診断結果を受信する診断要求部をさらに備える、
請求項１に記載の異常判断装置。
【請求項３】
前記第１通信モジュールは、前記第１通信モジュールにおける前記診断結果が異常であることを示しており、前記第２通信モジュールにおける前記診断結果が正常であることを示しているときであっても、複数の前記コントローラモジュールから前記信号バスに伝送される信号および当該コントローラモジュールの動作状態を示す第１動作状態情報の少なくともいずれか一方を中継する、請求項１又は請求項２に記載の異常判断装置。
【請求項４】
前記第１通信モジュールは、前記第１通信モジュールにおける前記診断結果が異常であることを示しており、前記第２通信モジュールにおける前記診断結果が正常であることを示しているときであっても、前記第１通信モジュールの動作状態を示す第２動作状態情報を前記信号バスに送信する、請求項１乃至請求項３のいずれか一項に記載の異常判断装置。
【請求項５】
前記信号バスは二重化されており、各信号バスは同一の信号を伝送し、各信号バスの一方には前記第１通信モジュールが接続され、前記各信号バスの他方には前記第２通信モジュールが接続される、請求項１乃至請求項４のいずれか一項に記載の異常判断装置。
【請求項６】
複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第１通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第１通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか１以上からの応答が異常であると診断する第１診断ステップと、
前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第２通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第２通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第２診断ステップと、
前記第１診断ステップにおける診断結果が異常であることを示しており、前記第２診断ステップにおける診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断ステップと、を含む、
異常判断方法。
【請求項７】
コンピュータに、
複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第１通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第１通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか１以上からの応答が異常であると診断する第１診断機能と、
前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第２通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第２通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第２診断機能と、
前記第１診断機能における診断結果が異常であることを示しており、前記第２診断機能における診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断機能と
を実現させるための異常判断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常判断装置、異常判断方法、及び異常判断プログラムに関する。
【背景技術】
【０００２】
従来から、同一構成の３つ以上のコントローラを並列に動作させ、これらコントローラの制御出力について多数決判定を行い、その判定結果を用いてプロセス制御を行う技術が知られている（例えば、特許文献１参照）。
【０００３】
具体的に、特許文献１には、所定の情報を入力して対応する制御データを出力する制御動作を並列して行うＮ個（Ｎは３以上の自然数）のコントローラを冗長して備えた多重化並列処理装置であって、コントローラは、ネットワークを介して送出された動作停止信号を受信する受信部と、受信部が動作停止信号を受け付けるとコントローラを再起動させて制御動作を開始させる動作制御部とを備える多重化並列処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１４０７０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されたような多重化並列処理装置において、多重化されている複数のコントローラモジュールから受信した出力に異常があると判断した場合に、ユーザは、コントローラモジュールが故障しているのか、コントローラモジュールからの通信経路に異常があるのかを判断できなかった。このため、異常のある箇所を特定し、必要な部品を交換するまでに多大な時間が必要となるので、冗長コントローラ全体の復旧までに時間がかかり、冗長コントローラの通信の安定性を欠くという問題があった。
【０００６】
そこで、本発明は、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持することを目的の一つとする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一側面に係る異常判断装置は、複数のコントローラモジュールを用いた並列冗長構成を備える異常判断装置であって、複数の前記コントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと複数の前記コントローラモジュールとの間に接続される第１及び第２通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第１及び第２通信モジュールを備え、前記第１通信モジュールは、前記第１通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか１以上からの応答が異常であると診断する第１診断部と、前記第２通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第２診断部と、前記第１診断部の診断結果が異常であることを示しており、前記第２診断部の診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断部と、を備える。
【０００８】
上記課題を解決するために、本発明の一側面に係る異常判断方法は、複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第１通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第１通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか１以上からの応答が異常であると診断する第１診断ステップと、前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第２通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第２通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第２診断ステップと、前記第１診断ステップにおける診断結果が異常であることを示しており、前記第２診断ステップにおける診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断ステップと、を含む。
【０００９】
上記課題を解決するために、本発明の一側面に係る異常判断プログラムは、コンピュータに、複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第１通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第１通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか１以上からの応答が異常であると診断する第１診断機能と、前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第２通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第２通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第２診断機能と、前記第１診断機能における診断結果が異常であることを示しており、前記第２診断機能における診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断機能とを実現させる。
【発明の効果】
【００１０】
本発明によれば、第1通信モジュールは、第１通信モジュールの診断結果と第２通信モジュールの診断結果とを参照することにより、自モジュール（第１通信モジュール）に異常があると判断し、信号バスと複数のコントローラモジュールの各々との間で伝送される信号の中継を禁止することにより、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るプロセス制御システムの構成を示す図である。
【図２】本発明の実施形態に係る冗長コントローラに含まれるネットワークＩＦモジュールとコントローラモジュールとによる冗長構成例を説明する図である。
【図３】本発明の実施形態に係る冗長コントローラの異常判断処理の動作を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態を説明する。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであ。なお、理解を容易にするため、重複する説明は省略する。
【００１３】
（構成）
図１は、本発明の実施形態に係るプロセス制御システムの構成を示す図である。図１に示すように、プロセス制御システムは、例示的に、冗長コントローラ１、管理装置２、及びプロセス機器３Ａ，３Ｂを含んで構成されている。冗長コントローラ１は、例示的に、ネットワークＩＦ（インタフェース）モジュール６Ａ（第１通信モジュール）、ネットワークＩＦモジュール６Ｂ（第２通信モジュール）、複数のコントローラモジュール７Ａ，７Ｂ，７Ｃ、及び複数の入出力ＩＦ（インタフェース）８Ａ，８Ｂを含んで構成されている。以下、ネットワークＩＦモジュール６Ａ，６Ｂに共通する事項を説明する場合には「ネットワークＩＦモジュール６」と称する。コントローラモジュール７Ａ，７Ｂ，７Ｃに共通する事項を説明する場合には「コントローラ７」と称する。入出力ＩＦモジュール８Ａ，８Ｂに共通する事項を説明する場合には「入出力ＩＦモジュール８」と称する。プロセス機器３Ａ、３Ｂに共通する事項を説明する場合には「プロセス機器３」と称する。
【００１４】
冗長コントローラ１のネットワークＩＦモジュール６Ａ，６Ｂと管理装置２とはシステムバス４（４Ａ，４Ｂ）（信号バス）を介して接続されている。システムバス４は、汎用のコンピュータネットワーク規格、例えばイーサネット（登録商標）(Ethernet)により装置間を相互に接続するバスであり、２つ（複数）の伝送路、Ａ系ＬＡＮ４Ａ、Ｂ系ＬＡＮ４Ｂによって冗長に構成されている。また、冗長コントローラ１のネットワークＩＦモジュール６Ａ，６Ｂとコントローラモジュール７Ａ，７Ｂ，７Ｃのそれぞれとは、システムバス９を介して接続されている。システムバス９は、たとえばイーサネット（登録商標）(Ethernet)により装置間を相互に接続するバスである。なお、システムバス９は、シリアルバス規格であるユニバーサル・シリアル・バス（Universal Serial Bus）により装置間を相互に接続するバスで構成されてもよい。さらに、コントローラモジュール７Ａ，７Ｂ，７Ｃのそれぞれと入出力ＩＦモジュール８Ａ，８Ｂのそれぞれとは、システムバス１０を介して接続されている。システムバス１０は、たとえば、シリアルバス規格であるユニバーサル・シリアル・バス（Universal Serial Bus）により装置間を相互に接続する。なお、システムバス１０は、例えばイーサネット（登録商標）(Ethernet)により装置間を相互に接続するバスで構成されてもよい。またさらに、入出力ＩＦモジュール８Ａ，８Ｂとプロセス機器３Ａ，３Ｂのそれぞれとは、システムバス５を介して接続されている。システムバス５は、たとえばイーサネット（登録商標）(Ethernet)により装置間を相互に接続するバスである。また、システムバス５もシステムバス４と同様に２つ（複数）の伝送路によって冗長に構成されていてもよい。
【００１５】
プロセス機器３は、渦式流量計、熱式流量計、各種センサ、各種バルブ、及び各種モータなどのプラントに設置されるさまざまな装置を備えて構成されている。例えば、プロセス機器３Ａは、検出値を入出力ＩＦモジュール８にシステムバス５を介して送信する入力機器で構成されていてもよく、また、プロセス機器３Ｂは、システムバス５経由で受信した冗長コントローラ１からの制御信号に基づいて動作する出力機器で構成されていてもよい。なお、プロセス機器３Ａは出力機器、プロセス機器３Ｂは入力機器として構成されてもよい。
【００１６】
管理装置２は、プロセス制御システム１を監視・管理する装置であり、コントローラモジュール７Ａ，７Ｂ，７Ｃを含む制御系の上位に位置する装置である。管理装置１０２は、プロセス制御の状況の監視を実行し、当該管理装置２の図示しない入力手段を介してオペレータからの指示を受け付け、冗長コントローラ１にリクエストや制御信号を送信する。指示可能な制御内容としては、機器の起動操作や停止操作等が該当する。
【００１７】
また、管理装置２は、システムバス４に接続される冗長コントローラ１やシステムバス５に接続されるプロセス機器３類の運転内容をモニタに表示可能に構成されている。オペレータは、表示内容を見ることにより、プロセス制御システム全体の運転内容を把握することが可能である。
【００１８】
冗長コントローラ１は、プロセス制御システムが実行するプロセスを制御する装置である。また、冗長コントローラ１は、コントローラの一部の機能の発揮を禁止するように制御する装置である。さらに、冗長コントローラ１は、プロセス機器３が出力する情報を入力ないしプロセス機器３に情報を出力し、プロセス機器３の出力の制御をする。さらにまた、冗長コントローラ１は、プロセス機器３が出力する情報を、システムバス４を介して、管理装置２に出力する。冗長コントローラ１に含まれる複数のコントローラモジュール７は、同一の構成を有し、同時に同じ情報が提供され、各コントローラモジュール７が正常であれば同じ情報を出力することができる。
【００１９】
冗長コントローラ１のネットワークＩＦモジュール６Ａ，６Ｂは、システムバス４（信号バス）と複数のコントローラモジュール７Ａ，７Ｂ，７Ｃとの間に接続される第１及び第２通信モジュールであって、システムバス４と複数のコントローラモジュール７Ａ，７Ｂ，７Ｃの各々との間で伝送される信号を中継する。ネットワークＩＦモジュール６Ａ，６Ｂは、管理装置２からのリクエストを、システムバス４を介して受け付ける。ネットワークＩＦ６Ａ，６Ｂは、受け付けたリクエストを、システムバス９を介して各コントローラモジュール７に出力する。リクエストを与えられた各コントローラモジュール７は、リクエストに対応して制御信号を生成し、各入出力ＩＦモジュール８に出力する。
【００２０】
入出力ＩＦモジュール８Ａ，８Ｂは、各コントローラモジュール７により出力された制御信号を受け付ける。また、各入出力ＩＦモジュール８は、各コントローラモジュール７の多数決によって定まる１つの制御信号を、システムバス５を介して対応する各プロセス機器３に出力する。すなわち、入出力ＩＦモジュール８は、コントローラモジュール７の各々から出力された制御信号を相互に比較し、二つ以上の制御信号が同一内容であった場合にはその制御信号を出力する。
【００２１】
例えば、コントローラモジュール７Ａおよびコントローラモジュール７Ｃからの制御信号が同じ内容Ｘ１を示しコントローラモジュール７Ｂからの制御信号が異なる内容Ｘ２を示していた場合、入出力ＩＦモジュール８は、制御信号が異なる内容Ｘ２を示したコントローラモジュール７Ｂに対し、異なる内容を示していた旨を通知する信号を出力する。またここで、当該信号を受けたコントローラモジュール７Ｂが、自ら再起動を行うよう構成すると共に、再起動時に他のコントローラモジュール７Ａないしコントローラモジュール７Ｃから適宜情報を受け取ることで、他のコントローラとの同期を図ることが可能となる。
【００２２】
プロセス機器３は、入力データを、システムバス５を介して入出力ＩＦモジュール８へ送信する。入出力ＩＦモジュール８は、プロセスデータを受け付け、受け付けたプロセスデータを、各コントローラモジュール７に入力する。各コントローラモジュール７は、プロセス機器３から受信したプロセスデータに対応して応答を生成し、ネットワークＩＦモジュール６に出力する。ネットワークＩＦモジュール６は、各コントローラモジュール７より出力された応答を、システムバス９を介して受け付ける。これら応答を受け受けたネットワークＩＦモジュール６は、多数決によって定まる１つの応答を、システムバス４を介して管理装置２に送信する。すなわち、ネットワークＩＦモジュール６は、コントローラモジュール７の各々から出力された応答を相互に比較し、二つ以上の応答が同一内容であった場合にはその応答を出力する。例えば、コントローラモジュール７Ａおよびコントローラモジュール７Ｃからの応答が同じ内容Ｒ１を示しコントローラモジュール７Ｂからの応答が異なる内容Ｒ２を示していた場合、ネットワークＩＦモジュール６は応答が異なる内容Ｒ２を示したコントローラモジュール７Ｂに、異なる内容を示していた旨を通知する信号を出力するとともに、当該信号を受けたコントローラモジュール７Ｂは、自ら再起動する。
【００２３】
上述したように、冗長コントローラ１は、コントローラモジュール７Ａ、コントローラモジュール７Ｂ、コントローラモジュール７Ｃのいずれか１つに異常や故障が生じ、他の２つと異なる制御データや応答を出力した場合であっても、プロセス機器３や管理装置２に対して正常な制御データや応答をとぎれることなく出力する。このように、冗長コントローラ１は、プロセス制御の機能を発揮する複数のコントローラモジュール７が機能を並列して発揮可能に制御するように構成されている。なお、本実施形態ではコントローラモジュール７の数は三つであり、いわゆる２ ｏｕｔ ｏｆ ３の多数決論理を構築したものであるが、コントローラモジュール７の数が奇数であり、多数決論理を構築できる状態である限り、コントローラモジュール７の数に制限はない。
【００２４】
図２は、本発明の実施形態に係る冗長コントローラに含まれるネットワークＩＦモジュールとコントローラモジュールとによる冗長構成例を説明する図である。なお、図２において図１と対応する部分には同一符号をし、かかる部分の説明は省略する。
【００２５】
ネットワークＩＦモジュール６Ａ（第１通信モジュール）及び６Ｂ（第２通信モジュール）は同様に構成されるので主にネットワークＩＦモジュール６Ａについて説明する。以下のネットワークＩＦモジュールの説明において符号の「Ａ」と「Ｂ」とを読み替えることによってネットワークＩＦモジュール６Ｂについての説明となる部分についてはネットワークＩＦモジュール６Ｂの動作について説明を省略する。
【００２６】
ネットワークＩＦモジュール６Ａはシステムバス４（４Ａ，４Ｂ）（信号バス）とコントローラモジュール７（７Ａ，７Ｂ，７Ｃ）のそれぞれと接続され、相互間を双方向（下り方向、上り方向）に信号中継する。
【００２７】
ネットワークＩＦモジュール６Ａは、例示的に、イーサネットコントローラ６１Ａ、診断部１００Ａ、診断要求部１０２Ａ、判断部１０４Ａ、イーサネットコントローラ６３Ａ、および４ポートスイッチングハブ６５Ａを含んで構成されている。このうち診断部１００Ａ、診断要求部１０２Ａ、および判断部１０４ＡはＣＰＵとプログラムによって構成される。ネットワークＩＦモジュール６Ｂも同様に構成される。
【００２８】
（下り方向のデータ伝送）
イーサネットコントローラ６１Ａは、システムバス４（Ａ系ＬＡＮ４Ａ）と接続されて制御信号や冗長通信データなどのデータ信号を送受信する。システムバス４からイーサネットコントローラ６１Ａを介して伝送されたデータ信号は図示しないイーサネットコントローラ６１Ａのバッファメモリに一旦蓄積される。同じデータ信号が二重に供給されると、イーサネットコントローラ６１Ａは先に到来したデータ信号を使用し、後続のデータ信号は使用しない（破棄される）。ネットワークＩＦモジュール６Ｂのイーサネットコントローラ６１Ｂも同様に構成される。
【００２９】
イーサネットコントローラ６３Ａは、データ信号をシステムバス９用に規格化されたフォーマットに変換して４ポートスイッチングハブ６５Ａに出力する。４ポートスイッチングハブ６５Ａは所定フォーマットのバス信号をシステムバス９に出力する。このフォーマット信号は、例えば、受信機器側のアドレスを含む。バス信号はシステムバス９を伝搬してシステムバス９に接続された各コントローラモジュール７の各イーサネットコントローラ７１，７３に送られる。ネットワークＩＦモジュール６Ｂも同様に構成される。
【００３０】
（上り方向のデータ伝送）
例えば、ネットワークＩＦモジュール６Ａは、各コントローラモジュール７と定周期で通信をしている。たとえば、４ポートスイッチングハブ６５Ａは、各ＣＰＵ７５Ａ，７５Ｂ，７５Ｃの制御に基づいて各イーサネットコントローラ７１Ａ，Ｂ，Ｃから送信される、各コントローラモジュール７のステータスを示すステータス情報を所定フォーマットのバス信号として受信し、イーサネットコントローラ６３Ａに当該バス信号を出力する。イーサネットコントローラ６３Ａは、４ポートスイッチングハブ６５Ａからのバス信号をデータ信号に変換する。次に、たとえば、イーサネットコントローラ６３Ａは、各コントローラモジュール７のステータス情報に対応するデータ信号をイーサネットコントローラ６１Ａに、出力する。イーサネットコントローラ６１Ａは、データ信号を、システムバス４を介して管理装置２に送信する。管理装置２は、受信したデータ信号に基づいて各コントローラモジュール７のステータスを管理・監視することができる。
このようにして、ネットワークＩＦモジュール６Ａは各コントローラモジュール７とシステムバス４相互間の双方のデータ信号の中継を行っている。ネットワークＩＦモジュール６Ｂも同様に構成される。
【００３１】
上述したように、ネットワークＩＦモジュール６Ａは、例示的に、診断部１００Ａ、診断要求部１０２Ａ、判断部１０４Ａ、含んで構成されている。これらの部分の機能はＣＰＵ、制御プログラムによって実現されている。ネットワークＩＦモジュール６Ｂも同様である。なお、本稿においては説明の便宜のため、システムバスの異常検出に関しては「診断」の語を、コントローラモジュールの異常検出に関しては「判断」の語をそれぞれ用いて記述するものとする。
【００３２】
診断部１００ＡはネットワークＩＦモジュール６Ａ自体の異常診断とシステムバスの異常診断（例えば、システムバス４、システムバス９、および接続機器からの応答の異常診断等）を行う。診断部１００Ａは、たとえば、ネットワークＩＦモジュール６Ａにおける、複数のコントローラモジュール７からの応答が一致するか否かを診断する第１診断機能（第１診断部）と、ネットワークＩＦモジュール６Ｂにおける、複数のコントローラモジュール７からの応答が一致するか否かを判断する第２診断機能（第２診断部）とを備える。第１診断部は、たとえば、応答が一致しない場合に、複数のコントローラモジュール７のいずれか１以上からの応答が異常であると診断する。また、第２診断部は、たとえば、複数のコントローラモジュール７の各々の応答のすべてが一致した場合に、複数のコントローラモジュール７の応答が正常であると診断する。
【００３３】
診断部１００Ａによる異常診断は以下のとおり実行される。ネットワークＩＦモジュール６Ａの４ポートスイッチングハブ６５Ａは、システムバス９に接続された各コントローラモジュール７に向けて、当該各コントローラモジュール７のアドレスと応答要求とを含む所定フォーマットのバス信号を送出する。具体的には、４ポートスイッチングハブ６５Ａは、当該バス信号をコントローラモジュール７Ａのイーサネットコントローラ７１Ａへ（通信路（１））、コントローラモジュール７Ｂのイーサネットコントローラ７１Ｂへ（通信路（２））、および、コントローラモジュール７Ｃのイーサネットコントローラ７１Ｃへ（通信路（３））送出する。そして、異常診断は、各コントローラモジュール７からの各コントローラモジュール７のアドレスを含む応答（返信信号）の有無によって行われる。これをシステムバス９に接続される全コントローラモジュール７について順次行う。各コントローラモジュール７からの応答結果はネットワークＩＦモジュール６Ａの内部メモリに記録されてもよいし、ネットワークＩＦモジュール６Ａの外部メモリまたは他装置（たとえば、ネットワークＩＦモジュール６Ｂなど）のメモリに記録されるように構成されてもよい。
【００３４】
同様に、ネットワークＩＦモジュール６Ｂの診断部１００Ｂによる異常診断は以下のとおり実行される。ネットワークＩＦモジュール６Ｂの４ポートスイッチングハブ６５Ｂは、システムバス９に接続された各コントローラモジュール７に向けて、当該各コントローラモジュール７のアドレスと応答要求とを含む所定フォーマットのバス信号を送出する。具体的には、４ポートスイッチングハブ６５Ｂは、当該バス信号をコントローラモジュール７Ａのイーサネットコントローラ７３Ａへ（通信路（４））、コントローラモジュール７Ｂのイーサネットコントローラ７３Ｂへ（通信路（５））、および、コントローラモジュール７Ｃのイーサネットコントローラ７３Ｃへ（通信路（６））送出する。そして、異常診断は、各コントローラモジュール７からの各コントローラモジュール７のアドレスを含む応答（返信信号）の有無によって行われる。これをシステムバス９に接続される全コントローラモジュール７について順次行う。各コントローラモジュール７からの応答結果はネットワークＩＦモジュール６Ｂの内部メモリに記録されてもよいし、ネットワークＩＦモジュール６Ｂの外部メモリまたは他装置（たとえば、ネットワークＩＦモジュール６Ａなど）のメモリに記録されるように構成されてもよい。
【００３５】
診断要求部１０２Ａは、ネットワークＩＦモジュール６Ｂに異常診断を行うように求め、診断結果をネットワークＩＦモジュール６Ａ側に送るように要求する。ネットワークＩＦモジュール６Ｂ側から送られた診断結果を内部メモリまたは外部メモリに記録する。ネットワークＩＦモジュール６Ｂの診断要求部１０２Ｂも同様である。
【００３６】
判断部１０４Ａは、内部または外部メモリに記録された各コントローラモジュール７からの応答結果を検査する。また、ネットワークＩＦモジュール６Ｂ側から送られてきた信号バスの診断結果（各コントローラモジュール７の応答結果）と照合する。
【００３７】
判断部１０４Ａは、診断部１００Ａの第１診断部の診断結果が異常であることを示しており、診断部１００Ａの第２診断部の診断結果が正常であることを示している場合に、信号バスからの信号の中継を禁止する。具体的には、ネットワークＩＦモジュール６Ａおよび６Ｂの診断結果を照合することで、自身（ネットワークＩＦモジュール６Ａ）のみ不具合（ＮＧ）の場合（バス診断の結果がＮＧであったコントローラモジュール７があるが、ネットワークＩＦモジュール６Ｂ側にはＮＧがない場合）には自身の信号バス通信機能異常と判断した後、ネットワークＩＦモジュール６Ａを異常発生状態とする。そして、信号バスからの信号の中継を禁止する。これは、下りのデータ伝送（システムバス４からコントローラモジュール７へのデータ伝送）において、異常のあるネットワークＩＦモジュール６Ａが、異常なデータを各コントローラモジュール７に送信するのを防ぐためである。
【００３８】
また、ネットワークＩＦモジュール６Ａは、ネットワークＩＦモジュール６Ａにおける診断結果が異常であることを示しており、ネットワークＩＦモジュール６Ｂにおける診断結果が正常であることを示しているときであっても、複数のコントローラモジュール７から信号バスに伝送される信号および当該コントローラモジュール７の動作状態を示すステータス情報（第１動作状態情報）の少なくともいずれか一方を中継するように構成されてもよい。異常のあるネットワークＩＦモジュール６Ａにおいては、すべてのデータ中継が禁止されるわけではなく、上り方向のデータ伝送（コントローラモジュール７からシステムバス４へのデータ伝送）において、コントローラモジュール７のステータス情報などはシステムバス４を介して管理装置２に伝送可能に構成されている。
【００３９】
さらに、ネットワークＩＦモジュール６Ａは、ネットワークＩＦモジュール６Ａにおける診断結果が異常であることを示しており、ネットワークＩＦモジュール６Ｂにおける診断結果が正常であることを示しているときであっても、ネットワークＩＦモジュール６Ａの動作状態を示すステータス情報（第２動作状態情報）を信号バスに送信するように構成されてもよい。異常のあるネットワークＩＦモジュール６Ａにおいては、すべてのデータ中継が禁止されるわけではなく、上り方向のデータ伝送（コントローラモジュール７からシステムバス４へのデータ伝送）において、自モジュール（ネットワークＩＦモジュール６Ａ）のステータス情報などはシステムバス４を介して管理装置２に伝送可能に構成されている。
【００４０】
なお、ネットワークＩＦモジュール６Ｂの判断部１０４Ｂも同様である。上述したように、ネットワークＩＦモジュール６Ａと６Ｂは同様に構成され、ネットワークＩＦモジュール６Ｂの各部の説明はネットワークＩＦモジュール６Ａの各部の符号の「Ａ」を「Ｂ」に読み替えることによってネットワークＩＦモジュール６Ｂについての説明となる。
【００４１】
（動作）
図３は、本発明の実施形態に係る冗長コントローラの異常判断処理の動作を説明するフローチャートである。
【００４２】
ネットワークＩＦモジュール６ＡのＣＰＵは、たとえば予め定められた周期で、または、外部からの要求に応じて診断を開始する。
例えば、ネットワークＩＦモジュール６ＡのＣＰＵは、４ポートスイッチングハブ６５Ａからシステムバス９に接続された各コントローラモジュール７Ａ，７Ｂ，７Ｃに向けて各コントローラモジュール７Ａ，７Ｂ，７ＣのアドレスＡＤＤＲと応答指令とを含む所定フォーマットのバス信号を送出し、各コントローラモジュール７Ａ，７Ｂ，７Ｃからの応答信号（あるいは返信）を受信する。各コントローラモジュール７Ａ，７Ｂ，７Ｃからの応答結果はネットワークＩＦモジュール６Ａの内部または外部メモリに記録される。応答信号の有無によってネットワークＩＦモジュール６Ａ、システムバス９、コントローラモジュール７Ａ，７Ｂ，７Ｃの相互間の接続に異常があるかどうかが判る（ステップＳ１）。
【００４３】
例えば、バス診断の結果（応答の有無）は、以下のように記録・保持される（ステップＳ１）。なお、システムバス９が二重化されている場合は、Ａ系バスおよびＢ系バスのそれぞれに関連づけて診断結果が記録される。
１  ＡＤＤＲ１  コントローラモジュール７Ａ  ＯＫ
２  ＡＤＤＲ２  コントローラモジュール７Ｂ  ＯＫ
３  ＡＤＤＲ３  コントローラモジュール７Ｃ  ＮＧ
【００４４】
次に、ネットワークＩＦモジュール６ＡのＣＰＵは、ネットワークＩＦモジュール６Ｂの診断を行えるかどうかを判断する条件を読み取る。この条件としては、例えば、（ａ）ネットワークＩＦモジュール６Ｂが冗長構成されている、（ｂ）ネットワークＩＦモジュール６Ｂ側のＣＰＵが正常に動作中である等である（ステップＳ３）。
【００４５】
ネットワークＩＦモジュール６ＡのＣＰＵは、上記条件からネットワークＩＦモジュール６Ｂ側のバス診断が可能であるか判断する（ステップＳ５）。ネットワークＩＦモジュール６ＡのＣＰＵは、上記条件からネットワークＩＦモジュール６Ｂ側のバス診断ができないと判断した場合（ステップＳ５；Ｎｏ）、ネットワークＩＦモジュール６ＡのＣＰＵは、ネットワークＩＦモジュール６Ｂの信号バスの診断実行不能と、ネットワークＩＦモジュール６Ｂ自体の異常の有無とを管理装置２に通知してバス診断処理を終了する（ステップＳ７）。
【００４６】
なお、ネットワークＩＦモジュール６Ｂの信号バスの診断実行不能とネットワークＩＦモジュール６Ｂ自体の異常とを判別した場合には、管理装置２等に異常報告を行ってネットワークＩＦモジュール６Ｂの修理を促し、修理が終わるまでネットワークＩＦモジュール６Ｂに切り換えないようにすることができる。
【００４７】
ネットワークＩＦモジュール６ＡのＣＰＵは、上記条件からネットワークＩＦモジュール６Ｂ側のバス診断が可能であると判断した場合（ステップＰＳ５；Ｙｅｓ）、ネットワークＩＦモジュール６Ｂにバス診断を要求する（ステップＳ９）。なお、ネットワークＩＦモジュール６ＡのＣＰＵは、必ずしも、ネットワークＩＦモジュール６Ｂにバス診断を要求する必要はない。たとえば、ネットワークＩＦモジュール６Ｂは、ネットワークＩＦモジュール６Ａからの要求によらず、独自で診断処理を実行し、ネットワークＩＦモジュール６Ａに診断結果を送信するように構成されてもよい。
【００４８】
ネットワークＩＦモジュール６ＢのＣＰＵは、診断要求を受けて異常診断処理（バス診断）を実行する（ステップＳ１１）。ネットワークＩＦモジュール６ＢのＣＰＵは、４ポートスイッチングハブ６５Ｂからシステムバス９に接続された各コントローラモジュール７Ａ，７Ｂ，７Ｃに向けて各コントローラモジュール７Ａ，７Ｂ，７ＣのアドレスＡＤＤＲと応答指令とを含む所定フォーマットのバス信号を送出し、各コントローラモジュール７Ａ，７Ｂ，７Ｃからの応答信号（あるいは返信）を受信する。各コントローラモジュール７Ａ，７Ｂ，７Ｃからの応答結果はネットワークＩＦモジュール６Ｂの内部または外部メモリに記録される。応答信号の有無によってネットワークＩＦモジュール６Ｂ、システムバス９、コントローラモジュール７Ａ，７Ｂ，７Ｃの相互間の接続に異常があるかどうかが判る。
【００４９】
例えば、バス診断の結果（応答の有無）は、以下のように記録される（ステップＳ１１）。なお、システムバス９が二重化されている場合は、Ａ系バスおよびＢ系バスのそれぞれに関連づけて診断結果が記録される。
１  ＡＤＤＲ１  コントローラモジュール７Ａ  ＯＫ
２  ＡＤＤＲ２  コントローラモジュール７Ｂ  ＯＫ
３  ＡＤＤＲ３  コントローラモジュール７Ｃ  ＯＫ
【００５０】
ネットワークＩＦモジュール６ＢのＣＰＵは、診断が終わると、診断の結果をネットワークＩＦモジュール６Ａに送信する（ステップＳ１３）。その後、診断を終了し（ステップＳ１４）、ネットワークＩＦモジュール６ＢのＣＰＵは待機状態に戻るように構成されてよい。
【００５１】
ネットワークＩＦモジュール６ＡのＣＰＵは、ネットワークＩＦモジュールＢのバス診断の結果を受信し、内部または外部メモリに記録する（ステップＳ１５）。
ネットワークＩＦモジュール６ＡのＣＰＵは両ネットワークＩＦモジュール６Ａ，６Ｂの信号バスの診断結果を照合する（ステップＳ１７）。両ネットワークＩＦモジュール６Ａ，６Ｂの診断結果が正常であるときは（ステップＳ１７；両側正常）、診断を終了する（ステップＳ１９）。
【００５２】
ネットワークＩＦモジュール６ＡのＣＰＵは、診断の結果がネットワークＩＦモジュール６Ａの異常である場合には（ステップＳ１７；Ａ側異常）、ネットワークＩＦモジュール６Ａのバス通信機能に異常があると判断し、ネットワークＩＦモジュール６Ａを異常発生状態とする。そして、ネットワークＩＦモジュール６ＡのＣＰＵは、信号バスからの信号の中継を禁止する（ステップＳ２１）。
【００５３】
ネットワークＩＦモジュール６ＡのＣＰＵは、ネットワークＩＦモジュール６Ａの診断結果に異常がなく、ネットワークＩＦモジュール６Ｂの診断結果のみに異常がある場合（ステップＳ１７；Ｂ側異常）、ネットワークＩＦモジュール６ＡのＣＰＵは、ネットワークＩＦモジュール６Ｂのバス通信機能に異常があると判断し、ネットワークＩＦモジュール６Ｂを異常発生状態とするようにネットワークＩＦモジュール６Ｂに要求または指令する。そして、ネットワークＩＦモジュール６ＢのＣＰＵは、信号バスからの信号の中継を禁止する（ステップＳ２３）。
【００５４】
なお、ネットワークＩＦモジュール６Ａおよび６ＢのＣＰＵは、自モジュールに異常がある場合は、管理装置２に異常を通知させて修理対応を促すように構成されてもよい。
【００５５】
（効果）
以上説明したように、本発明の実施形態によれば、ネットワークＩＦモジュール６Ａは、ネットワークＩＦモジュール６Ａの診断結果とネットワークＩＦモジュール６Ｂの診断結果とを参照することにより、自モジュール（第ネットワークＩＦモジュール６Ａ）に異常があると判断し、信号バスと複数のコントローラモジュールの各々との間で伝送される信号の中継を禁止することにより、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持することができる。
【００５６】
（他の実施形態）
本発明において、上述した各実施形態は、あくまでも例示であり、明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形（各実施形態を組み合わせる等）して実施することができる。
【００５７】
上述した本発明の実施例では、通信モジュールが２つである冗長構成について説明したが、通信モジュールを３つ、４つとして更に増やしても良い。
【００５８】
なお、本発明において、「部」とは、単にその機能をソフトウェアによって実現する場合のみならず、ハードウェアの具体的構成によって物理的に実現される場合をも含む。また、１つの「部」や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されても良い。
【符号の説明】
【００５９】
１    冗長コントローラ
２    管理装置
３Ａ，３Ｂ    プロセス機器
６Ａ，６Ｂ    ネットワークＩＦモジュール
７Ａ，７Ｂ，７Ｃ    コントローラモジュール
８Ａ，８Ｂ    入出力ＩＦモジュール
６１Ａ，６１Ｂ    イーサネットコントローラ
６３Ａ，６３Ｂ    イーサネットコントローラ
６５Ａ，６５Ｂ    ４ポートスイッチングハブ
７１Ａ，７１Ｂ，７１Ｃ    イーサネットコントローラ
７３Ａ，７３Ｂ，７３Ｃ    イーサネットコントローラ
７５Ａ，７５Ｂ，７５Ｃ    ＣＰＵ
１００Ａ，１００Ｂ    診断部
１０２Ａ，１０２Ｂ    診断要求部
１０４Ａ，１０４Ｂ    判断部
【図１】
2016192158.tif 000003
【図２】
2016192158.tif 000004
【図３】
2016192158.tif 000005