JP2016192158A - 異常判断装置、異常判断方法、及び異常判断プログラム - Google Patents
異常判断装置、異常判断方法、及び異常判断プログラム Download PDFInfo
- Publication number
- JP2016192158A JP2016192158A JP2015072859A JP2015072859A JP2016192158A JP 2016192158 A JP2016192158 A JP 2016192158A JP 2015072859 A JP2015072859 A JP 2015072859A JP 2015072859 A JP2015072859 A JP 2015072859A JP 2016192158 A JP2016192158 A JP 2016192158A
- Authority
- JP
- Japan
- Prior art keywords
- module
- controller
- signal
- communication module
- controller modules
- 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.)
- Pending
Links
Images
Landscapes
- Safety Devices In Control Systems (AREA)
Abstract
【課題】コントローラを冗長して備えた多重化並列処理装置において、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持する異常判断装置を提供する。【解決手段】複数のコントローラモジュール7A,7B,7Cを用いた並列冗長構成と、信号を伝送する信号バスと複数のコントローラモジュールの各々との間で伝送される信号を中継する第1及び第2通信モジュールを備え、第1通信モジュール6Aは、第1通信モジュールにおける診断結果が異常であることを示しており、第2通信モジュール6Bにおける診断結果が正常であることを示している場合に、信号バスからの信号の中継を禁止する。【選択図】図2
Description
本発明は、異常判断装置、異常判断方法、及び異常判断プログラムに関する。
従来から、同一構成の3つ以上のコントローラを並列に動作させ、これらコントローラの制御出力について多数決判定を行い、その判定結果を用いてプロセス制御を行う技術が知られている(例えば、特許文献1参照)。
具体的に、特許文献1には、所定の情報を入力して対応する制御データを出力する制御動作を並列して行うN個(Nは3以上の自然数)のコントローラを冗長して備えた多重化並列処理装置であって、コントローラは、ネットワークを介して送出された動作停止信号を受信する受信部と、受信部が動作停止信号を受け付けるとコントローラを再起動させて制御動作を開始させる動作制御部とを備える多重化並列処理装置が記載されている。
特許文献1に記載されたような多重化並列処理装置において、多重化されている複数のコントローラモジュールから受信した出力に異常があると判断した場合に、ユーザは、コントローラモジュールが故障しているのか、コントローラモジュールからの通信経路に異常があるのかを判断できなかった。このため、異常のある箇所を特定し、必要な部品を交換するまでに多大な時間が必要となるので、冗長コントローラ全体の復旧までに時間がかかり、冗長コントローラの通信の安定性を欠くという問題があった。
そこで、本発明は、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持することを目的の一つとする。
上記課題を解決するために、本発明の一側面に係る異常判断装置は、複数のコントローラモジュールを用いた並列冗長構成を備える異常判断装置であって、複数の前記コントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと複数の前記コントローラモジュールとの間に接続される第1及び第2通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第1及び第2通信モジュールを備え、前記第1通信モジュールは、前記第1通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか1以上からの応答が異常であると診断する第1診断部と、前記第2通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第2診断部と、前記第1診断部の診断結果が異常であることを示しており、前記第2診断部の診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断部と、を備える。
上記課題を解決するために、本発明の一側面に係る異常判断方法は、複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第1通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第1通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか1以上からの応答が異常であると診断する第1診断ステップと、前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第2通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第2通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第2診断ステップと、前記第1診断ステップにおける診断結果が異常であることを示しており、前記第2診断ステップにおける診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断ステップと、を含む。
上記課題を解決するために、本発明の一側面に係る異常判断プログラムは、コンピュータに、複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第1通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第1通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか1以上からの応答が異常であると診断する第1診断機能と、前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第2通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第2通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第2診断機能と、前記第1診断機能における診断結果が異常であることを示しており、前記第2診断機能における診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断機能とを実現させる。
本発明によれば、第1通信モジュールは、第1通信モジュールの診断結果と第2通信モジュールの診断結果とを参照することにより、自モジュール(第1通信モジュール)に異常があると判断し、信号バスと複数のコントローラモジュールの各々との間で伝送される信号の中継を禁止することにより、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持することができる。
以下、図面を参照して本発明の実施の形態を説明する。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであ。なお、理解を容易にするため、重複する説明は省略する。
(構成)
図1は、本発明の実施形態に係るプロセス制御システムの構成を示す図である。図1に示すように、プロセス制御システムは、例示的に、冗長コントローラ1、管理装置2、及びプロセス機器3A,3Bを含んで構成されている。冗長コントローラ1は、例示的に、ネットワークIF(インタフェース)モジュール6A(第1通信モジュール)、ネットワークIFモジュール6B(第2通信モジュール)、複数のコントローラモジュール7A,7B,7C、及び複数の入出力IF(インタフェース)8A,8Bを含んで構成されている。以下、ネットワークIFモジュール6A,6Bに共通する事項を説明する場合には「ネットワークIFモジュール6」と称する。コントローラモジュール7A,7B,7Cに共通する事項を説明する場合には「コントローラ7」と称する。入出力IFモジュール8A,8Bに共通する事項を説明する場合には「入出力IFモジュール8」と称する。プロセス機器3A、3Bに共通する事項を説明する場合には「プロセス機器3」と称する。
図1は、本発明の実施形態に係るプロセス制御システムの構成を示す図である。図1に示すように、プロセス制御システムは、例示的に、冗長コントローラ1、管理装置2、及びプロセス機器3A,3Bを含んで構成されている。冗長コントローラ1は、例示的に、ネットワークIF(インタフェース)モジュール6A(第1通信モジュール)、ネットワークIFモジュール6B(第2通信モジュール)、複数のコントローラモジュール7A,7B,7C、及び複数の入出力IF(インタフェース)8A,8Bを含んで構成されている。以下、ネットワークIFモジュール6A,6Bに共通する事項を説明する場合には「ネットワークIFモジュール6」と称する。コントローラモジュール7A,7B,7Cに共通する事項を説明する場合には「コントローラ7」と称する。入出力IFモジュール8A,8Bに共通する事項を説明する場合には「入出力IFモジュール8」と称する。プロセス機器3A、3Bに共通する事項を説明する場合には「プロセス機器3」と称する。
冗長コントローラ1のネットワークIFモジュール6A,6Bと管理装置2とはシステムバス4(4A,4B)(信号バス)を介して接続されている。システムバス4は、汎用のコンピュータネットワーク規格、例えばイーサネット(登録商標)(Ethernet)により装置間を相互に接続するバスであり、2つ(複数)の伝送路、A系LAN4A、B系LAN4Bによって冗長に構成されている。また、冗長コントローラ1のネットワークIFモジュール6A,6Bとコントローラモジュール7A,7B,7Cのそれぞれとは、システムバス9を介して接続されている。システムバス9は、たとえばイーサネット(登録商標)(Ethernet)により装置間を相互に接続するバスである。なお、システムバス9は、シリアルバス規格であるユニバーサル・シリアル・バス(Universal Serial Bus)により装置間を相互に接続するバスで構成されてもよい。さらに、コントローラモジュール7A,7B,7Cのそれぞれと入出力IFモジュール8A,8Bのそれぞれとは、システムバス10を介して接続されている。システムバス10は、たとえば、シリアルバス規格であるユニバーサル・シリアル・バス(Universal Serial Bus)により装置間を相互に接続する。なお、システムバス10は、例えばイーサネット(登録商標)(Ethernet)により装置間を相互に接続するバスで構成されてもよい。またさらに、入出力IFモジュール8A,8Bとプロセス機器3A,3Bのそれぞれとは、システムバス5を介して接続されている。システムバス5は、たとえばイーサネット(登録商標)(Ethernet)により装置間を相互に接続するバスである。また、システムバス5もシステムバス4と同様に2つ(複数)の伝送路によって冗長に構成されていてもよい。
プロセス機器3は、渦式流量計、熱式流量計、各種センサ、各種バルブ、及び各種モータなどのプラントに設置されるさまざまな装置を備えて構成されている。例えば、プロセス機器3Aは、検出値を入出力IFモジュール8にシステムバス5を介して送信する入力機器で構成されていてもよく、また、プロセス機器3Bは、システムバス5経由で受信した冗長コントローラ1からの制御信号に基づいて動作する出力機器で構成されていてもよい。なお、プロセス機器3Aは出力機器、プロセス機器3Bは入力機器として構成されてもよい。
管理装置2は、プロセス制御システム1を監視・管理する装置であり、コントローラモジュール7A,7B,7Cを含む制御系の上位に位置する装置である。管理装置102は、プロセス制御の状況の監視を実行し、当該管理装置2の図示しない入力手段を介してオペレータからの指示を受け付け、冗長コントローラ1にリクエストや制御信号を送信する。指示可能な制御内容としては、機器の起動操作や停止操作等が該当する。
また、管理装置2は、システムバス4に接続される冗長コントローラ1やシステムバス5に接続されるプロセス機器3類の運転内容をモニタに表示可能に構成されている。オペレータは、表示内容を見ることにより、プロセス制御システム全体の運転内容を把握することが可能である。
冗長コントローラ1は、プロセス制御システムが実行するプロセスを制御する装置である。また、冗長コントローラ1は、コントローラの一部の機能の発揮を禁止するように制御する装置である。さらに、冗長コントローラ1は、プロセス機器3が出力する情報を入力ないしプロセス機器3に情報を出力し、プロセス機器3の出力の制御をする。さらにまた、冗長コントローラ1は、プロセス機器3が出力する情報を、システムバス4を介して、管理装置2に出力する。冗長コントローラ1に含まれる複数のコントローラモジュール7は、同一の構成を有し、同時に同じ情報が提供され、各コントローラモジュール7が正常であれば同じ情報を出力することができる。
冗長コントローラ1のネットワークIFモジュール6A,6Bは、システムバス4(信号バス)と複数のコントローラモジュール7A,7B,7Cとの間に接続される第1及び第2通信モジュールであって、システムバス4と複数のコントローラモジュール7A,7B,7Cの各々との間で伝送される信号を中継する。ネットワークIFモジュール6A,6Bは、管理装置2からのリクエストを、システムバス4を介して受け付ける。ネットワークIF6A,6Bは、受け付けたリクエストを、システムバス9を介して各コントローラモジュール7に出力する。リクエストを与えられた各コントローラモジュール7は、リクエストに対応して制御信号を生成し、各入出力IFモジュール8に出力する。
入出力IFモジュール8A,8Bは、各コントローラモジュール7により出力された制御信号を受け付ける。また、各入出力IFモジュール8は、各コントローラモジュール7の多数決によって定まる1つの制御信号を、システムバス5を介して対応する各プロセス機器3に出力する。すなわち、入出力IFモジュール8は、コントローラモジュール7の各々から出力された制御信号を相互に比較し、二つ以上の制御信号が同一内容であった場合にはその制御信号を出力する。
例えば、コントローラモジュール7Aおよびコントローラモジュール7Cからの制御信号が同じ内容X1を示しコントローラモジュール7Bからの制御信号が異なる内容X2を示していた場合、入出力IFモジュール8は、制御信号が異なる内容X2を示したコントローラモジュール7Bに対し、異なる内容を示していた旨を通知する信号を出力する。またここで、当該信号を受けたコントローラモジュール7Bが、自ら再起動を行うよう構成すると共に、再起動時に他のコントローラモジュール7Aないしコントローラモジュール7Cから適宜情報を受け取ることで、他のコントローラとの同期を図ることが可能となる。
プロセス機器3は、入力データを、システムバス5を介して入出力IFモジュール8へ送信する。入出力IFモジュール8は、プロセスデータを受け付け、受け付けたプロセスデータを、各コントローラモジュール7に入力する。各コントローラモジュール7は、プロセス機器3から受信したプロセスデータに対応して応答を生成し、ネットワークIFモジュール6に出力する。ネットワークIFモジュール6は、各コントローラモジュール7より出力された応答を、システムバス9を介して受け付ける。これら応答を受け受けたネットワークIFモジュール6は、多数決によって定まる1つの応答を、システムバス4を介して管理装置2に送信する。すなわち、ネットワークIFモジュール6は、コントローラモジュール7の各々から出力された応答を相互に比較し、二つ以上の応答が同一内容であった場合にはその応答を出力する。例えば、コントローラモジュール7Aおよびコントローラモジュール7Cからの応答が同じ内容R1を示しコントローラモジュール7Bからの応答が異なる内容R2を示していた場合、ネットワークIFモジュール6は応答が異なる内容R2を示したコントローラモジュール7Bに、異なる内容を示していた旨を通知する信号を出力するとともに、当該信号を受けたコントローラモジュール7Bは、自ら再起動する。
上述したように、冗長コントローラ1は、コントローラモジュール7A、コントローラモジュール7B、コントローラモジュール7Cのいずれか1つに異常や故障が生じ、他の2つと異なる制御データや応答を出力した場合であっても、プロセス機器3や管理装置2に対して正常な制御データや応答をとぎれることなく出力する。このように、冗長コントローラ1は、プロセス制御の機能を発揮する複数のコントローラモジュール7が機能を並列して発揮可能に制御するように構成されている。なお、本実施形態ではコントローラモジュール7の数は三つであり、いわゆる2 out of 3の多数決論理を構築したものであるが、コントローラモジュール7の数が奇数であり、多数決論理を構築できる状態である限り、コントローラモジュール7の数に制限はない。
図2は、本発明の実施形態に係る冗長コントローラに含まれるネットワークIFモジュールとコントローラモジュールとによる冗長構成例を説明する図である。なお、図2において図1と対応する部分には同一符号をし、かかる部分の説明は省略する。
ネットワークIFモジュール6A(第1通信モジュール)及び6B(第2通信モジュール)は同様に構成されるので主にネットワークIFモジュール6Aについて説明する。以下のネットワークIFモジュールの説明において符号の「A」と「B」とを読み替えることによってネットワークIFモジュール6Bについての説明となる部分についてはネットワークIFモジュール6Bの動作について説明を省略する。
ネットワークIFモジュール6Aはシステムバス4(4A,4B)(信号バス)とコントローラモジュール7(7A,7B,7C)のそれぞれと接続され、相互間を双方向(下り方向、上り方向)に信号中継する。
ネットワークIFモジュール6Aは、例示的に、イーサネットコントローラ61A、診断部100A、診断要求部102A、判断部104A、イーサネットコントローラ63A、および4ポートスイッチングハブ65Aを含んで構成されている。このうち診断部100A、診断要求部102A、および判断部104AはCPUとプログラムによって構成される。ネットワークIFモジュール6Bも同様に構成される。
(下り方向のデータ伝送)
イーサネットコントローラ61Aは、システムバス4(A系LAN4A)と接続されて制御信号や冗長通信データなどのデータ信号を送受信する。システムバス4からイーサネットコントローラ61Aを介して伝送されたデータ信号は図示しないイーサネットコントローラ61Aのバッファメモリに一旦蓄積される。同じデータ信号が二重に供給されると、イーサネットコントローラ61Aは先に到来したデータ信号を使用し、後続のデータ信号は使用しない(破棄される)。ネットワークIFモジュール6Bのイーサネットコントローラ61Bも同様に構成される。
イーサネットコントローラ61Aは、システムバス4(A系LAN4A)と接続されて制御信号や冗長通信データなどのデータ信号を送受信する。システムバス4からイーサネットコントローラ61Aを介して伝送されたデータ信号は図示しないイーサネットコントローラ61Aのバッファメモリに一旦蓄積される。同じデータ信号が二重に供給されると、イーサネットコントローラ61Aは先に到来したデータ信号を使用し、後続のデータ信号は使用しない(破棄される)。ネットワークIFモジュール6Bのイーサネットコントローラ61Bも同様に構成される。
イーサネットコントローラ63Aは、データ信号をシステムバス9用に規格化されたフォーマットに変換して4ポートスイッチングハブ65Aに出力する。4ポートスイッチングハブ65Aは所定フォーマットのバス信号をシステムバス9に出力する。このフォーマット信号は、例えば、受信機器側のアドレスを含む。バス信号はシステムバス9を伝搬してシステムバス9に接続された各コントローラモジュール7の各イーサネットコントローラ71,73に送られる。ネットワークIFモジュール6Bも同様に構成される。
(上り方向のデータ伝送)
例えば、ネットワークIFモジュール6Aは、各コントローラモジュール7と定周期で通信をしている。たとえば、4ポートスイッチングハブ65Aは、各CPU75A,75B,75Cの制御に基づいて各イーサネットコントローラ71A,B,Cから送信される、各コントローラモジュール7のステータスを示すステータス情報を所定フォーマットのバス信号として受信し、イーサネットコントローラ63Aに当該バス信号を出力する。イーサネットコントローラ63Aは、4ポートスイッチングハブ65Aからのバス信号をデータ信号に変換する。次に、たとえば、イーサネットコントローラ63Aは、各コントローラモジュール7のステータス情報に対応するデータ信号をイーサネットコントローラ61Aに、出力する。イーサネットコントローラ61Aは、データ信号を、システムバス4を介して管理装置2に送信する。管理装置2は、受信したデータ信号に基づいて各コントローラモジュール7のステータスを管理・監視することができる。
このようにして、ネットワークIFモジュール6Aは各コントローラモジュール7とシステムバス4相互間の双方のデータ信号の中継を行っている。ネットワークIFモジュール6Bも同様に構成される。
例えば、ネットワークIFモジュール6Aは、各コントローラモジュール7と定周期で通信をしている。たとえば、4ポートスイッチングハブ65Aは、各CPU75A,75B,75Cの制御に基づいて各イーサネットコントローラ71A,B,Cから送信される、各コントローラモジュール7のステータスを示すステータス情報を所定フォーマットのバス信号として受信し、イーサネットコントローラ63Aに当該バス信号を出力する。イーサネットコントローラ63Aは、4ポートスイッチングハブ65Aからのバス信号をデータ信号に変換する。次に、たとえば、イーサネットコントローラ63Aは、各コントローラモジュール7のステータス情報に対応するデータ信号をイーサネットコントローラ61Aに、出力する。イーサネットコントローラ61Aは、データ信号を、システムバス4を介して管理装置2に送信する。管理装置2は、受信したデータ信号に基づいて各コントローラモジュール7のステータスを管理・監視することができる。
このようにして、ネットワークIFモジュール6Aは各コントローラモジュール7とシステムバス4相互間の双方のデータ信号の中継を行っている。ネットワークIFモジュール6Bも同様に構成される。
上述したように、ネットワークIFモジュール6Aは、例示的に、診断部100A、診断要求部102A、判断部104A、含んで構成されている。これらの部分の機能はCPU、制御プログラムによって実現されている。ネットワークIFモジュール6Bも同様である。なお、本稿においては説明の便宜のため、システムバスの異常検出に関しては「診断」の語を、コントローラモジュールの異常検出に関しては「判断」の語をそれぞれ用いて記述するものとする。
診断部100AはネットワークIFモジュール6A自体の異常診断とシステムバスの異常診断(例えば、システムバス4、システムバス9、および接続機器からの応答の異常診断等)を行う。診断部100Aは、たとえば、ネットワークIFモジュール6Aにおける、複数のコントローラモジュール7からの応答が一致するか否かを診断する第1診断機能(第1診断部)と、ネットワークIFモジュール6Bにおける、複数のコントローラモジュール7からの応答が一致するか否かを判断する第2診断機能(第2診断部)とを備える。第1診断部は、たとえば、応答が一致しない場合に、複数のコントローラモジュール7のいずれか1以上からの応答が異常であると診断する。また、第2診断部は、たとえば、複数のコントローラモジュール7の各々の応答のすべてが一致した場合に、複数のコントローラモジュール7の応答が正常であると診断する。
診断部100Aによる異常診断は以下のとおり実行される。ネットワークIFモジュール6Aの4ポートスイッチングハブ65Aは、システムバス9に接続された各コントローラモジュール7に向けて、当該各コントローラモジュール7のアドレスと応答要求とを含む所定フォーマットのバス信号を送出する。具体的には、4ポートスイッチングハブ65Aは、当該バス信号をコントローラモジュール7Aのイーサネットコントローラ71Aへ(通信路(1))、コントローラモジュール7Bのイーサネットコントローラ71Bへ(通信路(2))、および、コントローラモジュール7Cのイーサネットコントローラ71Cへ(通信路(3))送出する。そして、異常診断は、各コントローラモジュール7からの各コントローラモジュール7のアドレスを含む応答(返信信号)の有無によって行われる。これをシステムバス9に接続される全コントローラモジュール7について順次行う。各コントローラモジュール7からの応答結果はネットワークIFモジュール6Aの内部メモリに記録されてもよいし、ネットワークIFモジュール6Aの外部メモリまたは他装置(たとえば、ネットワークIFモジュール6Bなど)のメモリに記録されるように構成されてもよい。
同様に、ネットワークIFモジュール6Bの診断部100Bによる異常診断は以下のとおり実行される。ネットワークIFモジュール6Bの4ポートスイッチングハブ65Bは、システムバス9に接続された各コントローラモジュール7に向けて、当該各コントローラモジュール7のアドレスと応答要求とを含む所定フォーマットのバス信号を送出する。具体的には、4ポートスイッチングハブ65Bは、当該バス信号をコントローラモジュール7Aのイーサネットコントローラ73Aへ(通信路(4))、コントローラモジュール7Bのイーサネットコントローラ73Bへ(通信路(5))、および、コントローラモジュール7Cのイーサネットコントローラ73Cへ(通信路(6))送出する。そして、異常診断は、各コントローラモジュール7からの各コントローラモジュール7のアドレスを含む応答(返信信号)の有無によって行われる。これをシステムバス9に接続される全コントローラモジュール7について順次行う。各コントローラモジュール7からの応答結果はネットワークIFモジュール6Bの内部メモリに記録されてもよいし、ネットワークIFモジュール6Bの外部メモリまたは他装置(たとえば、ネットワークIFモジュール6Aなど)のメモリに記録されるように構成されてもよい。
診断要求部102Aは、ネットワークIFモジュール6Bに異常診断を行うように求め、診断結果をネットワークIFモジュール6A側に送るように要求する。ネットワークIFモジュール6B側から送られた診断結果を内部メモリまたは外部メモリに記録する。ネットワークIFモジュール6Bの診断要求部102Bも同様である。
判断部104Aは、内部または外部メモリに記録された各コントローラモジュール7からの応答結果を検査する。また、ネットワークIFモジュール6B側から送られてきた信号バスの診断結果(各コントローラモジュール7の応答結果)と照合する。
判断部104Aは、診断部100Aの第1診断部の診断結果が異常であることを示しており、診断部100Aの第2診断部の診断結果が正常であることを示している場合に、信号バスからの信号の中継を禁止する。具体的には、ネットワークIFモジュール6Aおよび6Bの診断結果を照合することで、自身(ネットワークIFモジュール6A)のみ不具合(NG)の場合(バス診断の結果がNGであったコントローラモジュール7があるが、ネットワークIFモジュール6B側にはNGがない場合)には自身の信号バス通信機能異常と判断した後、ネットワークIFモジュール6Aを異常発生状態とする。そして、信号バスからの信号の中継を禁止する。これは、下りのデータ伝送(システムバス4からコントローラモジュール7へのデータ伝送)において、異常のあるネットワークIFモジュール6Aが、異常なデータを各コントローラモジュール7に送信するのを防ぐためである。
また、ネットワークIFモジュール6Aは、ネットワークIFモジュール6Aにおける診断結果が異常であることを示しており、ネットワークIFモジュール6Bにおける診断結果が正常であることを示しているときであっても、複数のコントローラモジュール7から信号バスに伝送される信号および当該コントローラモジュール7の動作状態を示すステータス情報(第1動作状態情報)の少なくともいずれか一方を中継するように構成されてもよい。異常のあるネットワークIFモジュール6Aにおいては、すべてのデータ中継が禁止されるわけではなく、上り方向のデータ伝送(コントローラモジュール7からシステムバス4へのデータ伝送)において、コントローラモジュール7のステータス情報などはシステムバス4を介して管理装置2に伝送可能に構成されている。
さらに、ネットワークIFモジュール6Aは、ネットワークIFモジュール6Aにおける診断結果が異常であることを示しており、ネットワークIFモジュール6Bにおける診断結果が正常であることを示しているときであっても、ネットワークIFモジュール6Aの動作状態を示すステータス情報(第2動作状態情報)を信号バスに送信するように構成されてもよい。異常のあるネットワークIFモジュール6Aにおいては、すべてのデータ中継が禁止されるわけではなく、上り方向のデータ伝送(コントローラモジュール7からシステムバス4へのデータ伝送)において、自モジュール(ネットワークIFモジュール6A)のステータス情報などはシステムバス4を介して管理装置2に伝送可能に構成されている。
なお、ネットワークIFモジュール6Bの判断部104Bも同様である。上述したように、ネットワークIFモジュール6Aと6Bは同様に構成され、ネットワークIFモジュール6Bの各部の説明はネットワークIFモジュール6Aの各部の符号の「A」を「B」に読み替えることによってネットワークIFモジュール6Bについての説明となる。
(動作)
図3は、本発明の実施形態に係る冗長コントローラの異常判断処理の動作を説明するフローチャートである。
図3は、本発明の実施形態に係る冗長コントローラの異常判断処理の動作を説明するフローチャートである。
ネットワークIFモジュール6AのCPUは、たとえば予め定められた周期で、または、外部からの要求に応じて診断を開始する。
例えば、ネットワークIFモジュール6AのCPUは、4ポートスイッチングハブ65Aからシステムバス9に接続された各コントローラモジュール7A,7B,7Cに向けて各コントローラモジュール7A,7B,7CのアドレスADDRと応答指令とを含む所定フォーマットのバス信号を送出し、各コントローラモジュール7A,7B,7Cからの応答信号(あるいは返信)を受信する。各コントローラモジュール7A,7B,7Cからの応答結果はネットワークIFモジュール6Aの内部または外部メモリに記録される。応答信号の有無によってネットワークIFモジュール6A、システムバス9、コントローラモジュール7A,7B,7Cの相互間の接続に異常があるかどうかが判る(ステップS1)。
例えば、ネットワークIFモジュール6AのCPUは、4ポートスイッチングハブ65Aからシステムバス9に接続された各コントローラモジュール7A,7B,7Cに向けて各コントローラモジュール7A,7B,7CのアドレスADDRと応答指令とを含む所定フォーマットのバス信号を送出し、各コントローラモジュール7A,7B,7Cからの応答信号(あるいは返信)を受信する。各コントローラモジュール7A,7B,7Cからの応答結果はネットワークIFモジュール6Aの内部または外部メモリに記録される。応答信号の有無によってネットワークIFモジュール6A、システムバス9、コントローラモジュール7A,7B,7Cの相互間の接続に異常があるかどうかが判る(ステップS1)。
例えば、バス診断の結果(応答の有無)は、以下のように記録・保持される(ステップS1)。なお、システムバス9が二重化されている場合は、A系バスおよびB系バスのそれぞれに関連づけて診断結果が記録される。
1 ADDR1 コントローラモジュール7A OK
2 ADDR2 コントローラモジュール7B OK
3 ADDR3 コントローラモジュール7C NG
1 ADDR1 コントローラモジュール7A OK
2 ADDR2 コントローラモジュール7B OK
3 ADDR3 コントローラモジュール7C NG
次に、ネットワークIFモジュール6AのCPUは、ネットワークIFモジュール6Bの診断を行えるかどうかを判断する条件を読み取る。この条件としては、例えば、(a)ネットワークIFモジュール6Bが冗長構成されている、(b)ネットワークIFモジュール6B側のCPUが正常に動作中である等である(ステップS3)。
ネットワークIFモジュール6AのCPUは、上記条件からネットワークIFモジュール6B側のバス診断が可能であるか判断する(ステップS5)。ネットワークIFモジュール6AのCPUは、上記条件からネットワークIFモジュール6B側のバス診断ができないと判断した場合(ステップS5;No)、ネットワークIFモジュール6AのCPUは、ネットワークIFモジュール6Bの信号バスの診断実行不能と、ネットワークIFモジュール6B自体の異常の有無とを管理装置2に通知してバス診断処理を終了する(ステップS7)。
なお、ネットワークIFモジュール6Bの信号バスの診断実行不能とネットワークIFモジュール6B自体の異常とを判別した場合には、管理装置2等に異常報告を行ってネットワークIFモジュール6Bの修理を促し、修理が終わるまでネットワークIFモジュール6Bに切り換えないようにすることができる。
ネットワークIFモジュール6AのCPUは、上記条件からネットワークIFモジュール6B側のバス診断が可能であると判断した場合(ステップPS5;Yes)、ネットワークIFモジュール6Bにバス診断を要求する(ステップS9)。なお、ネットワークIFモジュール6AのCPUは、必ずしも、ネットワークIFモジュール6Bにバス診断を要求する必要はない。たとえば、ネットワークIFモジュール6Bは、ネットワークIFモジュール6Aからの要求によらず、独自で診断処理を実行し、ネットワークIFモジュール6Aに診断結果を送信するように構成されてもよい。
ネットワークIFモジュール6BのCPUは、診断要求を受けて異常診断処理(バス診断)を実行する(ステップS11)。ネットワークIFモジュール6BのCPUは、4ポートスイッチングハブ65Bからシステムバス9に接続された各コントローラモジュール7A,7B,7Cに向けて各コントローラモジュール7A,7B,7CのアドレスADDRと応答指令とを含む所定フォーマットのバス信号を送出し、各コントローラモジュール7A,7B,7Cからの応答信号(あるいは返信)を受信する。各コントローラモジュール7A,7B,7Cからの応答結果はネットワークIFモジュール6Bの内部または外部メモリに記録される。応答信号の有無によってネットワークIFモジュール6B、システムバス9、コントローラモジュール7A,7B,7Cの相互間の接続に異常があるかどうかが判る。
例えば、バス診断の結果(応答の有無)は、以下のように記録される(ステップS11)。なお、システムバス9が二重化されている場合は、A系バスおよびB系バスのそれぞれに関連づけて診断結果が記録される。
1 ADDR1 コントローラモジュール7A OK
2 ADDR2 コントローラモジュール7B OK
3 ADDR3 コントローラモジュール7C OK
1 ADDR1 コントローラモジュール7A OK
2 ADDR2 コントローラモジュール7B OK
3 ADDR3 コントローラモジュール7C OK
ネットワークIFモジュール6BのCPUは、診断が終わると、診断の結果をネットワークIFモジュール6Aに送信する(ステップS13)。その後、診断を終了し(ステップS14)、ネットワークIFモジュール6BのCPUは待機状態に戻るように構成されてよい。
ネットワークIFモジュール6AのCPUは、ネットワークIFモジュールBのバス診断の結果を受信し、内部または外部メモリに記録する(ステップS15)。
ネットワークIFモジュール6AのCPUは両ネットワークIFモジュール6A,6Bの信号バスの診断結果を照合する(ステップS17)。両ネットワークIFモジュール6A,6Bの診断結果が正常であるときは(ステップS17;両側正常)、診断を終了する(ステップS19)。
ネットワークIFモジュール6AのCPUは両ネットワークIFモジュール6A,6Bの信号バスの診断結果を照合する(ステップS17)。両ネットワークIFモジュール6A,6Bの診断結果が正常であるときは(ステップS17;両側正常)、診断を終了する(ステップS19)。
ネットワークIFモジュール6AのCPUは、診断の結果がネットワークIFモジュール6Aの異常である場合には(ステップS17;A側異常)、ネットワークIFモジュール6Aのバス通信機能に異常があると判断し、ネットワークIFモジュール6Aを異常発生状態とする。そして、ネットワークIFモジュール6AのCPUは、信号バスからの信号の中継を禁止する(ステップS21)。
ネットワークIFモジュール6AのCPUは、ネットワークIFモジュール6Aの診断結果に異常がなく、ネットワークIFモジュール6Bの診断結果のみに異常がある場合(ステップS17;B側異常)、ネットワークIFモジュール6AのCPUは、ネットワークIFモジュール6Bのバス通信機能に異常があると判断し、ネットワークIFモジュール6Bを異常発生状態とするようにネットワークIFモジュール6Bに要求または指令する。そして、ネットワークIFモジュール6BのCPUは、信号バスからの信号の中継を禁止する(ステップS23)。
なお、ネットワークIFモジュール6Aおよび6BのCPUは、自モジュールに異常がある場合は、管理装置2に異常を通知させて修理対応を促すように構成されてもよい。
(効果)
以上説明したように、本発明の実施形態によれば、ネットワークIFモジュール6Aは、ネットワークIFモジュール6Aの診断結果とネットワークIFモジュール6Bの診断結果とを参照することにより、自モジュール(第ネットワークIFモジュール6A)に異常があると判断し、信号バスと複数のコントローラモジュールの各々との間で伝送される信号の中継を禁止することにより、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持することができる。
以上説明したように、本発明の実施形態によれば、ネットワークIFモジュール6Aは、ネットワークIFモジュール6Aの診断結果とネットワークIFモジュール6Bの診断結果とを参照することにより、自モジュール(第ネットワークIFモジュール6A)に異常があると判断し、信号バスと複数のコントローラモジュールの各々との間で伝送される信号の中継を禁止することにより、異常のあるモジュールを正確かつ迅速に特定し、複数のモジュール間の通信の安定性を維持することができる。
(他の実施形態)
本発明において、上述した各実施形態は、あくまでも例示であり、明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施形態を組み合わせる等)して実施することができる。
本発明において、上述した各実施形態は、あくまでも例示であり、明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施形態を組み合わせる等)して実施することができる。
上述した本発明の実施例では、通信モジュールが2つである冗長構成について説明したが、通信モジュールを3つ、4つとして更に増やしても良い。
なお、本発明において、「部」とは、単にその機能をソフトウェアによって実現する場合のみならず、ハードウェアの具体的構成によって物理的に実現される場合をも含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されても良い。
1 冗長コントローラ
2 管理装置
3A,3B プロセス機器
6A,6B ネットワークIFモジュール
7A,7B,7C コントローラモジュール
8A,8B 入出力IFモジュール
61A,61B イーサネットコントローラ
63A,63B イーサネットコントローラ
65A,65B 4ポートスイッチングハブ
71A,71B,71C イーサネットコントローラ
73A,73B,73C イーサネットコントローラ
75A,75B,75C CPU
100A,100B 診断部
102A,102B 診断要求部
104A,104B 判断部
2 管理装置
3A,3B プロセス機器
6A,6B ネットワークIFモジュール
7A,7B,7C コントローラモジュール
8A,8B 入出力IFモジュール
61A,61B イーサネットコントローラ
63A,63B イーサネットコントローラ
65A,65B 4ポートスイッチングハブ
71A,71B,71C イーサネットコントローラ
73A,73B,73C イーサネットコントローラ
75A,75B,75C CPU
100A,100B 診断部
102A,102B 診断要求部
104A,104B 判断部
Claims (7)
- 複数のコントローラモジュールを用いた並列冗長構成を備える異常判断装置であって、
複数の前記コントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと複数の前記コントローラモジュールとの間に接続される第1及び第2通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第1及び第2通信モジュールを備え、
前記第1通信モジュールは、
前記第1通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか1以上からの応答が異常であると診断する第1診断部と、
前記第2通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第2診断部と、
前記第1診断部の診断結果が異常であることを示しており、前記第2診断部の診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断部と、を備える、
異常判断装置。 - 前記第1通信モジュールは、
前記第2通信モジュールに対して該第2通信モジュールの診断結果を要求し、該診断結果を受信する診断要求部をさらに備える、
請求項1に記載の異常判断装置。 - 前記第1通信モジュールは、前記第1通信モジュールにおける前記診断結果が異常であることを示しており、前記第2通信モジュールにおける前記診断結果が正常であることを示しているときであっても、複数の前記コントローラモジュールから前記信号バスに伝送される信号および当該コントローラモジュールの動作状態を示す第1動作状態情報の少なくともいずれか一方を中継する、請求項1又は請求項2に記載の異常判断装置。
- 前記第1通信モジュールは、前記第1通信モジュールにおける前記診断結果が異常であることを示しており、前記第2通信モジュールにおける前記診断結果が正常であることを示しているときであっても、前記第1通信モジュールの動作状態を示す第2動作状態情報を前記信号バスに送信する、請求項1乃至請求項3のいずれか一項に記載の異常判断装置。
- 前記信号バスは二重化されており、各信号バスは同一の信号を伝送し、各信号バスの一方には前記第1通信モジュールが接続され、前記各信号バスの他方には前記第2通信モジュールが接続される、請求項1乃至請求項4のいずれか一項に記載の異常判断装置。
- 複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第1通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第1通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか1以上からの応答が異常であると診断する第1診断ステップと、
前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第2通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第2通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第2診断ステップと、
前記第1診断ステップにおける診断結果が異常であることを示しており、前記第2診断ステップにおける診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断ステップと、を含む、
異常判断方法。 - コンピュータに、
複数のコントローラモジュールと制御系の上位装置との間の情報通信を行うための信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第1通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第1通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、応答が一致しない場合に、複数の前記コントローラモジュールのいずれか1以上からの応答が異常であると診断する第1診断機能と、
前記信号を伝送する信号バスと並列冗長処理を行う複数の前記コントローラモジュールとの間に接続される第2通信モジュールであって、前記信号バスと複数の前記コントローラモジュールの各々との間で伝送される前記信号を中継する第2通信モジュールにおける、複数の前記コントローラモジュールからの応答が一致するか否かを診断するとともに、複数の前記コントローラモジュールの各々の応答のすべてが一致した場合に、前記コントローラモジュールの応答が正常であると診断する第2診断機能と、
前記第1診断機能における診断結果が異常であることを示しており、前記第2診断機能における診断結果が正常であることを示している場合に、前記信号バスからの前記信号の中継を禁止する判断機能と
を実現させるための異常判断プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015072859A JP2016192158A (ja) | 2015-03-31 | 2015-03-31 | 異常判断装置、異常判断方法、及び異常判断プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015072859A JP2016192158A (ja) | 2015-03-31 | 2015-03-31 | 異常判断装置、異常判断方法、及び異常判断プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016192158A true JP2016192158A (ja) | 2016-11-10 |
Family
ID=57246920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015072859A Pending JP2016192158A (ja) | 2015-03-31 | 2015-03-31 | 異常判断装置、異常判断方法、及び異常判断プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016192158A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160124162A (ko) * | 2014-03-28 | 2016-10-26 | 아즈빌주식회사 | 데이터 수집 시스템 |
JP2019061661A (ja) * | 2017-09-22 | 2019-04-18 | 横河電機株式会社 | オープンプロセス自動化システムにおいて使用される分散制御ノードに基づいたプロセス信頼性向上方法 |
CN110134000A (zh) * | 2018-02-09 | 2019-08-16 | 横河电机株式会社 | 控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质 |
CN111694271A (zh) * | 2020-07-15 | 2020-09-22 | 中国核动力研究设计院 | 基于分布式控制系统的冗余容错控制系统和方法 |
CN110134000B (zh) * | 2018-02-09 | 2024-07-02 | 横河电机株式会社 | 控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质 |
-
2015
- 2015-03-31 JP JP2015072859A patent/JP2016192158A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160124162A (ko) * | 2014-03-28 | 2016-10-26 | 아즈빌주식회사 | 데이터 수집 시스템 |
KR101877659B1 (ko) * | 2014-03-28 | 2018-07-12 | 아즈빌주식회사 | 데이터 수집 시스템 |
JP2019061661A (ja) * | 2017-09-22 | 2019-04-18 | 横河電機株式会社 | オープンプロセス自動化システムにおいて使用される分散制御ノードに基づいたプロセス信頼性向上方法 |
CN110134000A (zh) * | 2018-02-09 | 2019-08-16 | 横河电机株式会社 | 控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质 |
JP2019139490A (ja) * | 2018-02-09 | 2019-08-22 | 横河電機株式会社 | 制御システム、診断装置、診断方法、および診断プログラム |
US11181896B2 (en) | 2018-02-09 | 2021-11-23 | Yokogawa Electric Corporation | Diagnosing apparatus, diagnosing method, and computer readable medium storing diagnosing program |
JP7077644B2 (ja) | 2018-02-09 | 2022-05-31 | 横河電機株式会社 | 制御システム、診断装置、診断方法、および診断プログラム |
CN110134000B (zh) * | 2018-02-09 | 2024-07-02 | 横河电机株式会社 | 控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质 |
CN111694271A (zh) * | 2020-07-15 | 2020-09-22 | 中国核动力研究设计院 | 基于分布式控制系统的冗余容错控制系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016192158A (ja) | 異常判断装置、異常判断方法、及び異常判断プログラム | |
JP5554292B2 (ja) | 二重化制御装置 | |
CN107229534A (zh) | 混合双重双工故障操作模式和对任意数量的故障的概述 | |
TW201543187A (zh) | 可程式邏輯控制器模組及可程式邏輯控制器 | |
JP2013246713A (ja) | 中継装置、接続管理方法、及び情報通信システム | |
JP5706347B2 (ja) | 二重化制御システム | |
JP2006277646A (ja) | 障害解析システム及び方法並びにプログラム | |
JP2001060160A (ja) | 制御装置のcpu二重化システム | |
TWI434159B (zh) | 雙重系統控制裝置 | |
JP6089766B2 (ja) | 情報処理システム、及び情報処理装置の障害処理方法 | |
JPH09274575A (ja) | 統合システム管理方式 | |
US20160321149A1 (en) | Computer apparatus and computer mechanism | |
JP5459117B2 (ja) | データ伝送装置及びデータ伝送方法 | |
JP4348485B2 (ja) | プロセス制御装置 | |
JPWO2012127612A1 (ja) | プログラマブルロジックコントローラ | |
EP4361817A1 (en) | 2*2oo2 security system based on cloud platform | |
JP2011022741A (ja) | コンピュータシステム、サービスプロセッサ、及びその診断方法 | |
JP4788469B2 (ja) | Cpu二重化システム | |
JP2006279328A (ja) | クロスバ・スイッチ | |
JP2017220842A (ja) | 二重化切替システム | |
JP2007128285A (ja) | マルチノードコンピュータシステム、統合サービスプロセッサ、ステータス管理方法及びプログラム | |
JP2000244520A (ja) | 二重化ネットワークの異常診断方法 | |
JP4854188B2 (ja) | 2重ループ伝送の迂回構成方法 | |
KR100257162B1 (ko) | 이중화 시스템에서 상대 시스템의 감시방법 및 장치 | |
JP2015197729A (ja) | マイクロプロセッサの異常診断方法 |