(57)【要約】【課題】制御システムにおいて冗長化されたノード装置の負荷を正確に測定する。【解決手段】冗長化された各ノード装置に以下の処理を実行させる。まず、負荷測定開始要求の受信を契機として、その受信時点において稼働系であれば当該要求を待機系へ伝送した後に負荷の測定を開始し、待機系であれば負荷の測定開始のみを実行する処理を各ノード装置に実行させる。そして、負荷測定終了要求の受信を契機として、負荷測定を終了し、負荷測定開始時に待機系であった場合には他方のノード装置へ当該負荷測定終了要求を伝送するとともに当該他方のノード装置に対して負荷測定結果を問い合わせ当該他方のノード装置における負荷の測定結果と自装置における負荷の測定結果とをマージして返信する一方、負荷測定開始時点も稼働系であった場合には自装置の測定結果を返信する処理を各ノード装置に実行させる。【選択図】図５
2015007962.tif 000002
【特許請求の範囲】
【請求項１】
稼働系と待機系とが相互に切り替えられる一対のノード装置と、予め定められた処理の実行開始を稼働系のノード装置に対して指示する開始要求および当該処理の実行終了を指示する終了要求を送信しその処理結果を収集する収集装置と、を含む通信システムにおいて、
前記一対のノード装置の各々は、
開始要求の受信を契機として、その受信時点において自装置が稼働系であるか否かを判定し、稼働系である場合には当該開始要求を他方のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、待機系である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに自装置が稼働系であるか否かを判定し、待機系であれば自装置における前記予め定められた処理の実行結果を表す結果データを他方のノード装置からの問い合わせに応じて返信する処理を実行する一方、稼働系であれば前記予め定められた処理の実行開始から実行終了までの間に稼働系／待機系の切り替えがあったか否かを判定し、切り替えがなければ自装置における前記予め定められた処理の実行結果を表す結果データを前記収集装置へ返信する一方、切り替えがあった場合には他方のノード装置に当該終了要求を伝送するとともに当該他方のノード装置に前記予め定められた処理の実行結果を問い合わせ、当該他方のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを前記収集装置へ返信する結果通知手段と、を有する
ことを特徴とする通信システム。
【請求項２】
前記一対のノード装置の各々は、
前記開始要求の受信、または前記結果データの返信を契機として第１の値がセットされ、稼働系／待機系の切り替えが発生しことを契機として前記第１の値とは異なる第２の値がセットされる切り替え発生フラグを有し、
前記結果通知手段は、自装置における前記切り替え発生フラグの値が前記第１の値であれば予め定められた処理の実行開始から実行終了までの間に稼働系／待機系の切り替えはなかったと判定し、前記切り替えフラグの値が前記第２の値であれば予め定められた処理の実行開始から実行終了までの間に稼働系／待機系の切り替えがあったと判定する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記結果通知手段は、終了要求の送信元へ前記予め定められた処理の実行終了を通知する終了応答に結果データを書き込んで返信することを特徴とする請求項１または請求項２に記載の通信システム。
【請求項４】
前記予め定められた処理は、当該処理を実行するノード装置にかかっている負荷を測定する処理であることを特徴とする請求項１〜３の何れか１項に記載の通信システム。
【請求項５】
前記一対のノード装置の各々は、機器を制御するコントローラであることを特徴とする請求項１〜４の何れか１項に記載の通信システム。
【請求項６】
稼働系と待機系とが相互に切り替えられる一対のノード装置と、予め定められた処理の実行開始を稼働系のノード装置に対して指示する開始要求および当該処理の実行終了を指示する終了要求を送信しその処理結果を収集する収集装置と、を含む通信システムにおいて、
前記一対のノード装置の各々は、
開始要求の受信を契機として、その受信時点において自装置が稼働系であるか否かを判定し、稼働系である場合には当該開始要求を他方のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、待機系である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに開始要求の受信時に稼働系であったか否かを判定し、稼働系であった場合には自装置における前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する一方、待機系であった場合には他方のノード装置に当該終了要求を伝送するとともに当該他方のノード装置に対して前記予め定められた処理の実行結果を問い合わせ、当該他方のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果通知手段と、を有する
ことを特徴とする通信システム。
【請求項７】
稼働系と待機系とが相互に切り替えられる一対のノード装置と、予め定められた処理の実行開始を指示する開始要求および当該処理の実行終了を指示する終了要求を前記一対のノード装置のうち通信相手として指定された方へ送信しその処理結果を収集する収集装置と、を含む通信システムにおいて、
前記一対のノード装置の各々は、
開始要求の受信を契機として、前記通信相手が自装置であるか否かを判定し、自装置が前記通信相手である場合には当該開始要求を他方のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、当該他方のノード装置が前記通信相手である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
終了要求を受信したことを契機として、前記予め定められた処理の実行を終了するとともに現時点において自装置が稼働系であるか否かを判定し、稼働系である場合には自装置における前記予め定められた処理の実行結果を示す結果データを終了要求の送信元へ返信する一方、待機系である場合には他方のノード装置に当該終了要求を伝送するとともに当該他方のノード装置に対して前記予め定められた処理の実行結果を問い合わせ、当該他方のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果果通知手段と、を有する
ことを特徴とする通信システム。
【請求項８】
予め定められた処理の実行開始を指示する開始要求の受信を契機として稼働系と待機系とが相互に切り替えられるノード装置対を自装置とともに形成する他のノード装置と自装置のうちの何れが稼働系であるかを判定し、自装置が稼働系である場合には当該開始要求を前記他のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、前記他のノード装置が稼働系である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに自装置が稼働系であるか否かを判定し、待機系であれば自装置における前記予め定められた処理の実行結果を表す結果データを前記他のノード装置からの問い合わせに応じて返信する処理を実行し、稼働系であれば前記予め定められた処理の実行開始から実行終了までの間に稼働系／待機系の切り替えがあったか否かを判定し、切り替えがなければ自装置における前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する一方、切り替えがあった場合には前記他のノード装置に当該終了要求を伝送するとともに前記他のノード装置に前記予め定められた処理の実行結果を問い合わせ、前記他のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果通知手段と
を有することを特徴とするノード装置。
【請求項９】
予め定められた処理の実行開始を指示する開始要求の受信を契機として、稼働系と待機系とが相互に切り替えられるノード装置対を自装置とともに形成する他のノード装置と自装置のうちの何れが稼働系であるかを判定し、自装置が稼働系である場合には当該開始要求を前記他のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、前記他のノード装置が稼働系である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
前記予め定められた処理の実行終了を指示する終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに開始要求の受信時に自装置が稼働系であったか否かを判定し、稼働系であった場合には自装置における前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する一方、待機系であった場合には前記他のノード装置に当該終了要求を伝送するとともに前記他のノード装置に対して前記予め定められた処理の実行結果を問い合わせ、前記他のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果通知手段と、
を有することを特徴とするノード装置。
【請求項１０】
予め定められた処理の実行開始を指示する開始要求の受信を契機として、稼働系と待機系とが相互に切り替えられるノード装置対を自装置とともに形成する他のノード装置と自装置のうちの何れが前記予め定められた処理の処理結果を収集する収集装置の通信相手として指定されているかを判定し、自装置が前記通信相手である場合には当該開始要求を前記他のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、前記他のノード装置が前記通信相手である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
前記予め定められた処理の実行終了を指示する終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに現時点において自装置が稼働系であるか否かを判定し、稼働系である場合には自装置における前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する一方、待機系である場合には前記他のノード装置に当該終了要求を伝送するとともに前記他のノード装置に対して前記予め定められた処理の実行結果を問い合わせ、前記他のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果通知手段と、
を有することを特徴とするノード装置。
【請求項１１】
コンピュータを、
予め定められた処理の実行開始を指示する開始要求の受信を契機として、稼働系と待機系とが相互に切り替えられるノード装置対を当該コンピュータとともに形成する他のノード装置と当該コンピュータのうちの何れが稼働系であるかを判定し、当該コンピュータが稼働系である場合には当該開始要求を前記他のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、前記他のノード装置が稼働系である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに当該コンピュータが稼働系であるか否かを判定し、待機系であれば当該コンピュータにおける前記予め定められた処理の実行結果を表す結果データを前記他のノード装置からの問い合わせに応じて返信する処理を実行し、稼働系であれば前記予め定められた処理の実行開始から実行終了までの間に稼働系／待機系の切り替えがあったか否かを判定し、切り替えがなければ当該コンピュータにおける前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する一方、切り替えがあった場合には前記他のノード装置に当該終了要求を伝送するとともに前記他のノード装置に前記予め定められた処理の実行結果を問い合わせ、前記他のノード装置における実行結果と当該コンピュータにおける実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果通知手段と、
して機能させることを特徴とするプログラム。
【請求項１２】
コンピュータを、
予め定められた処理の実行開始を指示する開始要求の受信を契機として、稼働系と待機系とが相互に切り替えられるノード装置対を当該コンピュータとともに形成する他のノード装置と当該コンピュータのうちの何れが稼働系であるかを判定し、当該コンピュータが稼働系である場合には当該開始要求を前記他のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、前記他のノード装置が稼働系である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
前記予め定められた処理の実行終了を指示する終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに開始要求の受信時に当該コンピュータが稼働系であったか否かを判定し、稼働系であった場合には当該コンピュータにおける前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する一方、待機系であった場合には前記他のノード装置に当該終了要求を伝送するとともに前記他のノード装置に対して前記予め定められた処理の実行結果を問い合わせ、前記他のノード装置における実行結果と当該コンピュータにおける実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果通知手段と、
して機能させることを特徴とするプログラム。
【請求項１３】
コンピュータを、
予め定められた処理の実行開始を指示する開始要求の受信を契機として、稼働系と待機系とが相互に切り替えられるノード装置対を当該コンピュータとともに形成する他のノード装置と当該コンピュータのうちの何れが前記予め定められた処理の処理結果を収集する収集装置の通信相手として指定されているかを判定し、当該コンピュータが前記通信相手である場合には当該開始要求を前記他のノード装置へ伝送するとともに前記予め定められた処理の実行を開始し、前記他のノード装置が前記通信相手である場合には前記予め定められた処理の実行開始のみを行う処理開始手段と、
前記予め定められた処理の実行終了を指示する終了要求の受信を契機として、前記予め定められた処理の実行を終了するとともに現時点において当該コンピュータが稼働系であるか否かを判定し、稼働系である場合には当該コンピュータにおける前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する一方、待機系である場合には前記他のノード装置に当該終了要求を伝送するとともに前記他のノード装置に対して前記予め定められた処理の実行結果を問い合わせ、前記他のノード装置における実行結果と当該コンピュータにおける実行結果とをマージして得られる結果データを終了要求の送信元へ返信する結果通知手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、稼働系と待機系とが相互に切り替えられるノード装置対を含む通信システムに関する。
【背景技術】
【０００２】
工場や各種プラント等の産業施設においては、製品生産や各種操業を制御するために、制御システムと呼ばれる通信システムが構築される。制御システムは各種ノード装置を含んでいる。制御システムに含まれるノード装置の一例としては、電動機等の各種機器の駆動制御を行う各種コントローラや、監視用コンピュータ(Human Communication Interface、以下、「ＨＣＩ」と略記)、各種データを蓄積するデータベース（Database）を管理するデータベースサーバ（以下、データベースとデータベースサーバとをまとめて「ＤＢ」と略記）が挙げられる。制御システムに含まれるコントローラとしては、ＤＣＳ（Distributed Control System：分散型制御システム或いは分散型制御装置）やプログラマブルロジックコントローラ（以下、ＰＬＣ）が用いられる。一般的なＦＡ（Factory Automation）システムではコントローラとしてＰＬＣが用いられることが多く、高信頼性を要求されるプラント設備ではコントローラとしてＤＣＳが用いられることが多い。ＤＣＳはＰＬＣに比較して信頼性が高いからである。電子メールサービスなどの一般的な通信サービスを提供する情報系システムと異なり、制御システムでは、予め定められた時刻（或いは時間内）にトークンなどのデータの送受信が実行されること（以下、「定時性」）の確保が重要となる。定時性を確保しつつノード装置間のデータ交換を実現するために、制御システムでは、汎用の通信プロトコルとは異なる制御用ネットワークプロトコル（非特許文献１参照）が採用される。
【０００３】
従来、制御システムでは、制御用ネットワークプロトコルにしたがったデータ通信のみが実行されることが一般的であったが、ネットワークの物理層の技術革新に伴う伝送容量の向上により、制御システムにおいてＴＣＰ／ＩＰ等の汎用の通信プロトコルにしたがった通信を混在させることが提案されている。制御用ネットワークプロトコルにおいては、定時性を阻害しないレベルで汎用通信との混在が許容されてはいるが、実際のネットワークでは汎用通信が増大するに連れて各ノード装置の負荷が増大し、制御用ネットワークプロトコルにしたがった通信に遅延が発生する虞がある。非特許文献１には、このような遅延の発生に備え、各ノード装置の負荷を測定する技術が開示されている。ノード装置の負荷はノード装置の忙しさに対応し、ＣＰＵ（Central Processing Unit）の使用率やメモリの使用率などのリソースの使用率が高いほどノード装置の負荷が高いと言える。ノード装置の負荷が高いほど、トークンの滞留時間は長くなり、トークン落ちの発生回数は増加する。ノード装置の負荷の一例としては、通信処理の負荷や、制御対象の機器をコントロールする制御処理の負荷などが挙げられる。
【０００４】
非特許文献１に開示の技術では、制御システムに負荷測定用パーソナルコンピュータ（以下、「負荷測定用ＰＣ」）を接続し、負荷の測定開始を指示する負荷測定開始要求および測定終了を指示する負荷測定終了要求を当該負荷測定用ＰＣから負荷の測定対象のノード装置へ送信させる。負荷測定開始要求を受信したノード装置は、負荷測定終了要求を受信するまで、トークン破棄やトークン保持タイムアウトの発生回数、直近のそれらの発生時刻などの所定の測定項目についてデータを記録し、負荷測定終了要求の受信を契機として当該データを書き込んだ測定終了応答を返信する。負荷測定用ＰＣでは、ノード装置から返信されてくるデータを参照することで、当該ノード装置にかかっている負荷を把握することができる。なお、上記測定項目の詳細については非特許文献１の「８．４．４  負荷測定機能  表１０」を参照されたい。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】日本電機工業会「FAコントロールネットワーク標準」
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、制御システムにおいては、何れかのノード装置に何らかの障害が発生した場合であっても、システム全体の機能が維持し続けられるように、ノード装置を冗長化しておくことが多い。ノード装置の冗長化とは、稼働系と待機系の各ノード装置（以下、「ノード装置対」或いは「一対のノード装置」とも呼ぶ）を用意し、相互に切り替えられるようにしておくことを言う。例えば、稼働系および待機系の各コントローラに機器制御のための演算を実行させ、稼働系のコントローラには、さらに、その演算結果に基づく制御を実行させる。一方、待機系のコントローラは、稼働系のコントローラの停止に備え、稼働系が停止するとき（或いは停止したとき）には、稼働系として動作し、機器制御を継続する、といった具合である。ここで、稼働系のコントローラの停止の具体例としては、何らかの故障や不具合の発生に起因する予期せぬ停止や、保守メンテナンス等による予め計画された停止などが考えられる。待機系のコントローラはこれら２種類の停止の両方に備える。しかしながら、非特許文献１に開示の技術ではノード装置の冗長化が考慮されていないため、ノード装置対の負荷を正確に測定できない場合がある。このようなノード装置対は負荷測定用ＰＣからは１台のノード装置として見えるため、稼働系のみの情報しか収集できないからである。また、負荷測定開始から負荷測定終了までの間に稼働系と待機系の切替りが発生すると、もともと待機系であったノード装置は負荷測定開始要求を受信しておらず、当該ノード装置では負荷測定は行われていないため、負荷測定終了要求を受信しても返信するべき負荷情報がなく、負荷情報を含まない負荷測定収容応答を返信するしかない。なお、このような問題は、制御システムに限ったものではない。稼働系と待機系とが相互に切り替えられる一対のノード装置に実行開始の指示を与えてから実行終了の指示を与えるまで継続して処理を実行させ、その処理結果を収集装置（上記負荷測定用ＰＣに相当する装置）に収集させる通信システムにおいては、その処理の実行中に稼働系の切り替えが発生すると、同様の問題が発生する。
【０００７】
本発明は以上に説明した課題に鑑みて為されたものであり、稼働系と待機系とが相互に切り替えられる一対のノード装置に実行開始の指示を与えてから実行終了の指示を与えるまで継続して処理を実行させ、その処理結果を収集装置に収集させる通信システムにおいて、当該処理の実行中に稼働系の切り替えが発生したとしても、正しい処理結果を収集できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明は、稼働系と待機系とが相互に切り替えられる一対のノード装置と、予め定められた処理の実行開始を稼働系のノード装置に対して指示する開始要求および当該処理の実行終了を指示する終了要求を送信しその処理結果を収集する収集装置とを含む通信システムにおいて、一対のノード装置の各々に以下の処理開始手段と結果通知手段とを設けることを特徴とする。処理開始手段は、開始要求の受信を契機として、その受信時点において自装置が稼働系であるか否かを判定する。稼働系である場合には、処理開始手段は、当該開始要求を他方のノード装置へ伝送するとともに予め定められた処理の実行を開始する。これに対して、待機系である場合には、処理開始手段は、予め定められた処理の実行開始のみを行う。結果通知手段は、終了要求の受信を契機として予め定められた処理の実行を終了するとともに開始要求の受信時に稼働系であったか否かを判定する。稼働系であった場合には、結果通知手段は、自装置における前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する。待機系であった場合には、結果通知手段は、他方のノード装置に当該終了要求を伝送するとともに当該他方のノード装置に対して前記予め定められた処理の実行結果を問い合わせ、当該他方のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する。
【０００９】
例えば、上記ノード装置が制御システムに含まれるコントローラであり、上記予め定められた処理が当該コントローラの負荷を測定する処理であるとともに、上記収集装置が前述した負荷測定用ＰＣである場合には、制御システムにおいて冗長化されたコントローラの負荷を、非特許文献１に開示の規格にしたがって正確に測定することが可能になる。この点については本発明の第１実施形態の説明において明らかにする。なお、本発明の別の態様としては、上記処理開始手段と結果通知手段とを有するノード装置を提供する態様や、コンピュータを上記処理開始手段および結果通知手段として機能させるプログラムを提供する態様が考えられる。
【００１０】
また、上記課題を解決するために本発明は、稼働系と待機系とが相互に切り替えられる一対のノード装置と、予め定められた処理の実行開始を指示する開始要求および当該処理の実行終了を指示する終了要求を前記一対のノード装置のうち通信相手として指定された方へ送信しその処理結果を収集する収集装置とを含む通信システムにおいて、一対のノード装置の各々に以下の処理開始手段と結果通知手段とを設けることを特徴とする。処理開始手段は、開始要求の受信を契機として、自装置が前記通信相手であるか否かを判定する。自装置が前記通信相手である場合には、処理開始手段は、当該開始要求を他方のノード装置へ伝送するとともに前記予め定められた処理の実行を開始する。これに対して、他方のノード装置が前記通信相手である場合には、処理開始手段は、前記予め定められた処理の実行開始のみを行う。結果通知手段は、終了要求を受信したことを契機として、前記予め定められた処理の実行を終了するとともに現時点において自装置が稼働系であるか否かを判定する。自装置が稼働系である場合には、結果通知手段は、自装置における前記予め定められた処理の実行結果を示す結果データを終了要求の送信元へ返信する。これに対して、自装置が待機系である場合には、結果通知手段は、他方のノード装置に当該終了要求を伝送するとともに当該他方のノード装置に対して前記予め定められた処理の実行結果を問い合わせ当該他方のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する。例えば、上記ノード装置が制御システムに含まれるコントローラであり、上記予め定められた処理が当該コントローラの負荷を測定する処理であるとともに、上記収集装置が前述した負荷測定用ＰＣである場合には、このような態様によっても、制御システムにおいて冗長化されたコントローラの負荷を非特許文献１に開示の規格にしたがって正確に測定することが可能になる。この点については本発明の第２実施形態の説明において明らかにする。
【００１１】
また、上記課題を解決するために本発明は、稼働系と待機系とが相互に切り替えられる一対のノード装置と、予め定められた処理の実行開始を稼働系のノード装置に対して指示する開始要求および当該処理の実行終了を指示する終了要求を送信しその処理結果を収集する収集装置と、を含む通信システムにおいて、一対のノード装置の各々に以下の処理開始手段、結果通知手段およびフラグ更新手段を設けることを特徴とする。処理開始手段は、開始要求の受信を契機として、その受信時点において自装置が稼働系であるか否かを判定する。自装置が稼働系である場合には、処理開始手段は、当該開始要求を他方のノード装置へ伝送するとともに予め定められた処理の実行を開始する。これに対して自装置が待機系である場合には、処理開始手段は、予め定められた処理の実行開始のみを行う。結果通知手段は、終了要求の受信を契機として、予め定められた処理の実行を終了するとともに自装置が稼働系であるか否かを判定する。待機系であれば、結果通知手段は、自装置における予め定められた処理の実行結果を表す結果データを他方のノード装置からの問い合わせに応じて返信する処理を実行し、稼働系であれば、さらに予め定められた処理の実行開始から実行終了までの間に稼働系／待機系の切り替えがあったか否かを判定する。結果通知手段は、稼働系／待機系の切り替えがなかったのであれば、自装置における前記予め定められた処理の実行結果を表す結果データを終了要求の送信元へ返信する。これに対して、稼働系／待機系の切り替えがあったのであれば、結果通知手段は、他方のノード装置に当該終了要求を伝送するとともに当該他方のノード装置に前記予め定められた処理の実行結果を問い合わせ、当該他方のノード装置における実行結果と自装置における実行結果とをマージして得られる結果データを終了要求の送信元へ返信する。例えば、上記ノード装置が制御システムに含まれるコントローラであり、上記予め定められた処理が当該コントローラの負荷を測定する処理であるとともに、上記収集装置が前述した負荷測定用ＰＣである場合には、このような態様によっても、制御システムにおいて冗長化されたコントローラの負荷を非特許文献１に開示の規格にしたがって正確に測定することが可能になる。特に本態様によれば、負荷の測定開始から測定終了までの間に稼働系／待機系の切り替えが複数回発生したとしても、正確な測定結果を収集することが可能になる。この点については本発明の第３実施形態の説明において明らかにする。
【発明の効果】
【００１２】
本発明によれば、稼働系と待機系とが相互に切り替えられる一対のノード装置に実行開始の指示を与えてから実行終了の指示を与えるまで継続して処理を実行させ、その処理結果を収集装置に収集させる通信システムにおいて、当該処理の実行中に稼働系の切り替えが発生したとしても、正しい処理結果を収集することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態のノード装置を含む制御システムの構成例を示す図である。
【図２】同制御システムにおいてコントローラ２についての負荷測定の際に実行される通信のシーケンスの一例を示す図である。
【図３】従来の問題点を説明するための図である。
【図４】従来の問題点を説明するための図である。
【図５】同制御システムに含まれるコントローラ１の構成例を示す図である。
【図６】同コントローラ１の制御部１１０が負荷測定プログラム１４４２にしたがって実行する測定開始処理１４４２ａの流れを示すフローチャートである。
【図７】同制御部１１０が負荷測定プログラム１４４２にしたがって実行する測定結果通知処理１４４２ｂの流れを示すフローチャートである。
【図８】本実施形態の動作を説明するための図である。
【図９】本発明の第２実施形態において制御部１１０が負荷測定プログラム１４４２にしたがって実行する測定開始処理１４４２ｃの流れを示すフローチャートである。
【図１０】同制御部１１０が負荷測定プログラム１４４２にしたがって実行する測定結果通知処理１４４２ｄの流れを示すフローチャートである。
【図１１】本実施形態の動作を説明するための図である。
【図１２】負荷測定開始後に稼働系／待機系の切り替えが複数回発生した場合の問題点を説明するための図である。
【図１３】本発明の第３実施形態のコントローラ１０の構成例を示す図である。
【図１４】同制御部１１０が負荷測定プログラム１４４２にしたがって実行する測定開始処理１４４２ｅの流れを示すフローチャートである。
【図１５】同制御部１１０が負荷測定プログラム１４４２にしたがって実行する測定結果通知処理１４４２ｆの流れを示すフローチャートである。
【図１６】本実施形態の効果を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しつつ本発明の実施形態を説明する。
（Ａ：第１実施形態）
（Ａ−１：構成）
図１は、本発明の第１実施形態のノード装置を含む制御システムの構成例を示す図である。図１に示すように、この制御システムは、機器を制御するコントローラ（前述したＰＬＣまたはＤＣＳ）、ＨＣＩ、およびＤＢといった各種ノード装置を制御系ネットワークＣＮに接続して構成されている。制御系ネットワークＣＮに接続されているノード装置の中には冗長化されているものがある。例えば、図１において符号１Ａおよび１Ｂは冗長化されたコントローラを指しており、符号２は冗長化されていないコントローラを指している。また、図１において符号３Ａおよび３ＢはＨＣＩを指しており、符号４Ａおよび４ＢはＤＢを指している。詳細については後述するが、制御システムに含まれるノード装置のうち、コントローラ１Ａおよび１Ｂが本実施形態のノード装置である。制御システムに含まれる各ノード装置は、制御系ネットワークＣＮを介して制御用ネットワークプロトコルにしたがったデータ通信を行うとともに、ＴＣＰ／ＩＰ等の汎用の通信プロトコルにしたがったデータ通信も行う。制御用ネットワークプロトコルにはトークン周回方式や時間帯域分割方式など種々のものあるが、これらのうちの何れかを採用しても良い。なお、本実施形態では、制御系ネットワークＣＮは、制御用ネットワークプロトコルにしたがったデータ通信とＴＣＰ／ＩＰ等の汎用の通信プロトコルにしたがったデータ通信の両方を仲介する場合について説明するが、前者のデータ通信のみを仲介する態様であっても良い。
【００１５】
図１に示す制御システムでは、冗長化されたコントローラ１Ａおよび１Ｂのうちの一方が稼働系として機能し、他方は待機系として機能する。制御用ネットワークプロトコルにしたがって実行されるトークンや各種データの送受信は主として稼働系のノード装置が実行する。待機系のノード装置は基本的には制御系ネットワークＣＮを介して伝達される送受信データを傍受し、稼働系のノード装置に障害が発生したことを検知した場合（例えば、稼働系のノード装置にトークンが到達してから所定時間が経過しても、当該ノード装置からトークンの送出が行われない場合）に、それまでの稼働系の代わりに、以後、稼働系として機能する仕組みを備えている。このようにして稼働系の切り替えが発生すると、それまで稼働系であったノード装置は自装置の動作状態を待機系に切り替え、以後、待機系として動作する。なお、図１にて点線で示すように、冗長化された各ノード装置を等値化ケーブル等で相互に接続し、冗長化されたノード装置間のデータ通信については当該等値化ケーブルを介して行うようにしても良い。また、制御システムに含まれるノード装置のうち、ＨＣＩとＤＢとについては、図１に示すように、ＴＣＰ／ＩＰ等の汎用の通信プロトコルにしたがったデータ通信のみを仲介する情報系ネットワークＩＮなどの他の回線に接続されていても良い。
【００１６】
図１に示すように、制御系ネットワークＣＮには、各ノード装置の負荷測定を行うための負荷測定用ＰＣ５が接続されている。負荷測定用ＰＣ５は、例えばパーソナルコンピュータであり、負荷の測定対象として指定されたノード装置にかかっている負荷を、非特許文献１に開示の手法により測定する装置である。ここで、負荷測定の対象となるノード装置の指定の仕方としては、（態様１）各ノード装置に割り振られたノード番号（制御用ネットワークプロトコルにてノード装置を識別する識別子）により指定する態様と、（態様２）各ノード装置に割り振られたＩＰアドレス（ＩＰにおいて各ノード装置を識別する識別子）により指定する態様が考えられる。これら２つの態様のうち、本実施形態では、（態様１）が採用されている。
【００１７】
例えば、負荷の測定対象としてコントローラ２が指定された場合、負荷測定用ＰＣ５は図２に示す要領で当該コントローラ２にかかっている負荷を測定する。図２は、コントローラ２についての負荷測定を行う際の通信シーケンスを示す図である。図２に示すように、負荷測定用ＰＣ５は、まず、負荷の測定開始を指示する負荷測定開始要求ＲＥＱ１００を負荷の測定対象のノード装置（図２に示す例では、コントローラ２）へ送信する。負荷測定開始要求ＲＥＱ１００を受信したコントローラ２は、負荷測定開始要求ＲＥＱ１００の送信元へ負荷測定開始応答ＲＥＳ１００を返信するとともに、トークン破棄回数などの所定の測定項目に関する測定を開始する。
【００１８】
負荷測定用ＰＣ５は、負荷測定開始応答ＲＥＳ１００の受信から一定時間経過後に、負荷の測定終了を指示する負荷測定終了要求ＲＥＱ１１０を負荷の測定対象のノード装置へ送信する。負荷測定終了要求ＲＥＱ１１０を受信したコントローラ２は、負荷の測定を終了し、前述した所定の測定項目に関する測定結果を表す結果データを書き込んだ負荷測定終了応答ＲＥＳ１１０を返信する。図２に示すように、コントローラ２では、負荷測定開始要求ＲＥＱ１００の受信時点から負荷測定終了要求ＲＥＱ１１０の受信時点までの期間Ｔが負荷の測定期間となる。負荷測定終了応答ＲＥＳ１１０を受信した負荷測定用ＰＣ５は、当該負荷測定終了応答ＲＥＳ１１０に書き込まれている結果データを読み出して記憶する。これにより、負荷測定用ＰＣ５は、コントローラ２の負荷を表す負荷情報を収集する。つまり、図１に示す制御システムにおいて、負荷測定用ＰＣ５は、各ノード装置における負荷測定の結果を収集する収集装置として機能するのである。
【００１９】
このように、負荷測定用ＰＣ５は、非特許文献１に開示の手法により各ノード装置から負荷情報を収集するのであるが、この手法ではノード装置の冗長化が考慮されていないため、負荷測定用ＰＣ５はコントローラ１Ａおよび１Ｂをあたかも１台のノード装置であるかのように認識する。例えば、コントローラ１Ａのノード番号が１Ａであり、コントローラ１Ｂのノード番号が１Ｂである場合には、両ノード装置をノード番号＝１の１台のノード装置として認識する、といった具合である。このため、コントローラ１Ａおよび１Ｂの各々に、コントローラ２と同じ処理（換言すれば、従来のノード装置の処理）を実行させると、図３に示すように、負荷測定開始要求ＲＥＱ１００の送信時点から負荷測定終了要求ＲＥＱ１１０の送信時点までに稼働系と待機系との切り替えが発生した場合に、これらノード装置の負荷を正しく測定することができなくなる。
【００２０】
例えば、図３に示すように、負荷測定開始要求ＲＥＱ１００の送信時点ではコントローラ１Ａが稼働系であり、その後、コントローラ１Ｂに稼働系が切り替えられたとする。負荷測定開始要求ＲＥＱ１００の送信時点ではコントローラ１Ａが稼働系であるため、負荷測定用ＰＣ５からノード番号＝１のノード装置へ送信された負荷測定開始要求ＲＥＱ１００はコントローラ１Ａによって受信され、コントローラ１Ａにおいて負荷の測定が開始される。一方、負荷測定開始要求ＲＥＱ１００の送信時点では、コントローラ１Ｂは待機系であるため、負荷測定開始要求ＲＥＱ１００を受信せず、コントローラ１Ｂでは負荷測定は開始されない。負荷測定終了要求ＲＥＱ１１０の送信時点では、コントローラ１Ｂが稼働系となっているため、負荷測定用ＰＣ５からノード番号＝１のノード装置へ宛てて送信された負荷測定終了要求ＲＥＱ１１０はコントローラ１Ｂによって受信される。しかし、コントローラ１Ｂでは負荷測定は行われていないため、コントローラ１Ｂは結果データを含まない負荷測定終了応答ＲＥＳ１２０を返信する。一方、コントローラ１Ａは待機系であるため、負荷測定終了要求ＲＥＱ１１０を受信せず、このコントローラ１Ａから負荷測定終了応答ＲＥＳ１１０が返信されることはない。
【００２１】
以上、負荷の測定対象の指定態様として（態様１）を採用した場合について説明したが、（態様２）を採用した場合も同様の問題が発生する。例えば、負荷の測定対象を示すデータとしてコントローラ１ＡのＩＰアドレスが負荷測定用ＰＣ５に与えられたとする。この場合、負荷測定用ＰＣ５は、上記ＩＰアドレスを宛先として負荷測定開始要求ＲＥＱ１００と負荷測定終了要求ＲＥＱ１１０を送信する。図４に示すように、負荷測定開始要求ＲＥＱ１００の送信から負荷測定終了要求ＲＥＱ１１０の送信までの間に稼働系の切り替えが発生すると、図３に示した場合と同様に負荷を測定できなくなる。
【００２２】
以上に説明した不具合を避けるため、本実施形態のコントローラ１Ａおよび１Ｂは、負荷測定用ＰＣ５による負荷測定開始要求の送信時点から負荷測定終了要求の送信時点までに稼働系と待機系の切り替えが発生したとしても問題なく負荷測定を行えるように構成されており、この点に本実施形態の特徴がある。以下、本実施形態の特徴を顕著に示すコントローラ１Ａおよび１Ｂを中心に説明する。なお、コントローラ１Ａおよび１Ｂの構成は同一であるため、両者を区別する必要がない場合には「コントローラ１」と表記する。
【００２３】
図５は、コントローラ１の構成例を示すブロック図である。
図５に示すように、コントローラ１は、制御部１１０、通信インタフェース（以下、「Ｉ／Ｆ」と略記）部１２０、外部機器Ｉ／Ｆ部１３０、記憶部１４０、およびこれら構成要素間のデータ授受を仲介するバス１５０を含んでいる。
【００２４】
制御部１１０は例えばＣＰＵ（Central Processing Unit）である。制御部１１０は記憶部１４０（より正確には不揮発性記憶部１４４）に記憶されている各種プログラムを実行することにより、コントローラ１の制御中枢として機能する。
【００２５】
通信Ｉ／Ｆ部１２０は例えばＮＩＣ（Network Interface Card）であり、ＬＡＮケーブルなどの通信線を介して制御系ネットワークＣＮに接続されている。通信Ｉ／Ｆ部１２０は、制御系ネットワークＣＮを介して送信されている各種データを受信して制御部１１０に与える一方、制御部１１０から与えられたデータを制御系ネットワークＣＮへ送出する。外部機器Ｉ／Ｆ部１３０は例えばシリアルインタフェースやパラレルインタフェースなど、各種外部機器を接続するためのインタフェースの集合体である。本実施形態では、コントローラ１による制御対象の機器は信号線等を介して当該外部機器Ｉ／Ｆ部１３０に接続される。
【００２６】
記憶部１４０は、揮発性記憶部１４２と不揮発性記憶部１４４を含んでいる。揮発性記憶部１４２は例えばＲＡＭ（Random Access Memory）である。揮発性記憶部１４２は、各種プログラムを実行する際のワークエリアとして制御部１１０によって利用される。また、揮発性記憶部１４２には、自装置が稼働系となっているのかそれとも待機系となっているのかを示す稼働状態フラグが格納される。本実施形態では、稼働系となっている場合には稼働状態フラグには“１”がセットされ、待機系となっている場合には稼働状態フラグには“０”がセットされる。制御部１１０は、稼働系の切り替えが発生する毎に稼働状態フラグの値を更新し、その発生時刻を示す切り替え時刻データを揮発性記憶部１４２に書き込む。
【００２７】
不揮発性記憶部１４４は、例えばＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）である。不揮発性記憶部１４４には、コントローラ１による制御対象の機器の作動制御を行うための制御プログラムや、制御用ネットワークプロトコル或いは汎用の通信プロトコルにしたがってデータ通信を行うための通信プログラム、負荷測定プログラム１４４２が格納されている。本実施形態では、制御部１１０を負荷測定プログラム１４４２にしたがって作動させることで、本実施形態の特徴を顕著に示す負荷測定処理が実現される。この負荷測定処理は、図５における測定開始処理１４４２ａと測定結果通知処理１４４２ｂを含んでいる。
【００２８】
図６は、測定開始処理１４４２ａの流れを示すフローチャートである。図６に示すように、測定開始処理１４４２ａは、負荷測定開始要求の受信（図６：ステップＳＡ１００）を契機として実行される処理である。負荷測定開始要求を受信した制御部１１０は、その受信時刻を示す受信時刻データを揮発性記憶部１４２に書き込み、ステップＳＡ１１０以降の処理を実行する。ステップＳＡ１００に後続するステップＳＡ１１０では、制御部１１０は、稼働状態フラグを参照し、負荷測定開始要求の受信時点において自装置が稼働系であるか否かを判定する。そして、制御部１１０は、ステップＳＡ１１０の判定結果が“Ｙｅｓ”である場合には、自装置とともにノード装置対を形成する他方のノード装置（以下、相手装置）へステップＳＡ１００にて受信した負荷測定開始要求を伝送し（ステップＳＡ１２０）、その後、負荷測定を開始する（ステップＳＡ１３０）。逆に、ステップＳＡ１１０の判定結果が“Ｎｏ”であれば、ステップＳＡ１２０の処理を実行することなくステップＳＡ１３０の処理を実行する。ステップＳＡ１３０では、制御部１１０は、前述した所定の測定項目に関する測定を行い、その測定結果を示すデータを稼働状態フラグの値と対応付けて揮発性記憶部１４２に書き込む。このステップＳＡ１３０の実行中に稼働系の切り替えが発生すると、以後、制御部１１０は、稼働系の切り替えに伴って更新された稼働状態フラグの値に対応付けて上記所定の測定項目に関する測定結果を示すデータを揮発性記憶部１４２に書き込む。つまり、本実施形態では、稼働系であるのかそれとも待機系であるのかの稼働状態毎に負荷の測定結果を表すデータが揮発性記憶部１４２に蓄積される。
【００２９】
図７は、測定結果通知処理１４４２ｂの流れを示すフローチャートである。図７に示すように、測定結果通知処理１４４２ｂは、負荷測定終了要求の受信（図７：ステップＳＢ１００）を契機として実行される処理である。ステップＳＢ１００に後続するステップＳＢ１１０では、制御部１１０は、前述したステップＳＡ１３０にて開始した負荷測定を終了する。次いで、制御部１１０は、負荷測定開始要求の受信時点において自装置が稼働系であった否かを判定する（ステップＳＢ１２０）。より詳細に説明すると、制御部１１０は、現時点の稼働状態フラグが稼働系を示す値である場合には、受信時刻データの表す時刻と切り替え時刻データの表す時刻とを比較し、前者の方が後の時刻であれば、負荷測定開始要求の受信時点においても自装置が稼働系であったと判定し、逆に後者の方が後の時刻であれば、負荷測定開始要求の受信時点には自装置は待機系であったと判定する。また、現時点の稼働状態フラグが待機系を示す値である場合には、制御部１１０は、受信時刻データの表す時刻が切り替え時刻データの表す時刻よりも後の時刻であれば、負荷測定開始要求の受信時点においても待機系であったと判定し、逆に切り替え時刻データの表す時刻が受信時刻データの表す時刻よりも後の時刻であれば、負荷測定開始要求の受信時点では自装置は稼働系であったと判定する。そして、制御部１１０は、ステップＳＢ１２０の判定結果が“Ｙｅｓ”である場合には、上記所定の測定項目についての測定結果を表すデータのうち、稼働系を示す値と対応付けて揮発性記憶部１４２に格納されているデータ（すなわち、自装置が稼働系となっている期間の負荷の測定結果を表すデータ）を読み出し、当該データを負荷の測定結果を表す結果データとして書き込んだ負荷測定終了応答を負荷測定終了要求の送信元へ返信し（ステップＳＢ１３０）、測定結果通知処理１４４２ｂを終了する。
【００３０】
これに対して、ステップＳＢ１２０の判定結果が“Ｎｏ”である場合には、制御部１１０は、ステップＳＢ１４０からステップＳＢ１６０の処理を実行した後にステップＳＢ１３０の処理を実行する。ステップＳＢ１４０では、制御部１１０は、ステップＳＢ１００にて受信した負荷測定終了要求を上記相手装置へ送信する。このようにして転送された負荷測定終了要求の受信を契機として、当該相手装置においても測定結果通知処理１４４２ｂが実行されるが、当該相手装置において実行されるステップＳＢ１２０の判定結果は“Ｙｅｓ”になり、前述したステップＳＢ１３０の処理のみが実行される。制御部１１０は、当該相手装置から返信されてくる負荷測定終了応答を受信し（ステップＳＢ１５０）、当該負荷測定終了応答に含まれている結果データと、自装置における測定結果を表すデータのうち稼働系を示す値と対応付けて揮発性記憶部１４２に格納されているデータと、をマージ（ステップＳＢ１６０）、そのマージ結果を負荷の測定結果を表す結果データとして書き込んだ負荷測定終了応答を負荷測定終了要求の送信元へ返信し（ステップＳＢ１３０）、測定結果通知処理１４４２ｂを終了する。
以上がコントローラ１の構成である。
【００３１】
（Ａ−２：動作）
次いで、図８を参照しつつ本実施形態の動作を説明する。なお、以下に説明する動作例では、図３における場合と同様に、負荷測定用ＰＣ５が負荷測定開始要求を送信する時点ではコントローラ１Ａが稼働系であり、その後、負荷測定用ＰＣ５による負荷測定終了要求の送信前に稼働系の切り替えが発生する場合を例にとって説明する。
【００３２】
図８に示すように、負荷測定用ＰＣ５が負荷測定開始要求ＲＥＱ１００を送信する時点では、コントローラ１Ａが稼働系であるため、この負荷測定開始要求ＲＥＱ１００はコントローラ１Ａによって受信され、コントローラ１Ａの制御部１１０（以下、制御部１１０Ａ）は前述した測定開始処理１４４２ａを実行する。制御部１１０Ａの実行する測定開始処理１４４２ａでは、ステップＳＡ１１０の判定結果は“Ｙｅｓ”となり、ステップＳＡ１２０および１３０の処理が実行される。つまり、コントローラ１Ａが負荷測定用ＰＣ５から受信した負荷測定開始要求ＲＥＱ１００は、図８における負荷測定開始要求ＲＥＱ１０５としてコントローラ１Ｂに伝送され、その後、コントローラ１Ａにおける負荷測定が開始される。一方、コントローラ１Ｂの制御部１１０（以下、制御部１１０Ｂ）は負荷測定開始要求ＲＥＱ１０５の受信を契機として測定開始処理１４４２ａを実行し、制御部１１０Ｂの実行する測定開始処理１４４２ａでは、ステップＳＡ１１０の判定結果は“Ｎｏ”となってステップＳＡ１３０の処理のみが実行される。このようにして、待機系であるコントローラ１Ｂにおいても負荷測定が開始される。
【００３３】
負荷測定用ＰＣ５が負荷測定終了要求ＲＥＱ１１０を送信する時点では、コントローラ１Ｂが稼働系となっている。このため、負荷測定終了要求ＲＥＱ１１０はコントローラ１Ｂによって受信され、制御部１１０Ｂは前述した測定結果通知処理１４４２ｂを実行する。制御部１１０Ｂの実行する測定結果通知処理１４４２ｂでは、ステップＳＢ１２０の判定結果は“Ｎｏ”となり、まず、ステップＳＢ１４０の処理が実行される。つまり、コントローラ１Ｂが負荷測定用ＰＣ５から受信した負荷測定終了要求ＲＥＱ１１０は、図８における負荷測定終了要求ＲＥＱ１１５としてコントローラ１Ａに伝送される。
【００３４】
制御部１１０Ａは負荷測定終了要求ＲＥＱ１１５の受信を契機として測定結果通知処理１４４２ｂの実行を開始する。コントローラ１Ａにおいて実行される測定結果通知処理１４４２ｂでは、ステップＳＢ１２０の判定結果は“Ｙｅｓ”となり、ステップＳＢ１３０の処理のみが実行される。つまり、制御部１１０Ａは、負荷測定開始要求ＲＥＱ１００を受信してから稼働系の切り替えが発生するまでに測定された負荷を表す結果データを書き込んだ負荷測定終了応答ＲＥＳ１１５を、負荷測定終了要求ＲＥＱ１１５の送信元（すなわち、コントローラ１Ｂ）へ返信する。
【００３５】
制御部１１０Ｂはコントローラ１Ａから返信されてくる負荷測定終了応答ＲＥＳ１１５を受信し（図７：ステップＳＢ１５０）、この負荷測定終了応答ＲＥＳ１１５に書き込まれている結果データと、自装置が稼働系となっている期間の測定結果を示すデータとをマージし（図７：ステップＳＢ１６０）、そのマージ結果を負荷の測定結果を表す結果データとして書き込んだ負荷測定終了応答ＲＥＳ１１０を負荷測定終了要求ＲＥＱ１１０の送信元（すなわち、負荷測定用ＰＣ５）へ返信する（図７：ステップＳＢ１３０）。
以上が本実施形態の動作である。
【００３６】
以上説明したように、本実施形態によれば、ノード装置の冗長化が施された制御システムにおいて、当該冗長化に対して特段の考慮が為されていない負荷測定方法を利用して、冗長化された各ノード装置が稼働系として機能している期間の負荷を測定することが可能となる。なお、本実施形態において稼働系の切り替えが発生しなかった場合には、負荷測定終了要求ＲＥＱ１１０はコントローラ１Ａによって受信され、この場合に実行される測定結果通知処理１４４２ｂではステップＳＢ１２０の判定結果は“Ｙｅｓ”となり、ステップＳＢ１３０の処理のみが実行される。つまり、負荷測定開始要求ＲＥＱ１００の送信時点から負荷測定収容要求ＲＥＱ１１０の送信時点までの負荷の測定結果を表すデータとして、コントローラ１Ａにおける測定結果のみを表すデータが負荷測定用ＰＣ５に返信されるが、稼働系の切り替えは発生していないのであるから、全く問題無い。
【００３７】
（Ｂ：第２実施形態）
上記第１実施形態では負荷の測定対象をノード番号により指定したが、ＩＰアドレスにより負荷の測定対象が指定される場合も考えられる。この場合は、図６に示す測定開始処理１４４２ａに代えて図９に示す測定開始処理１４４２ｃを制御部１１０に実行させ、図７に示す測定結果通知処理１４４２ｂに代えて図１０に示す測定結果通知処理１４４２ｄを実行させるようにすれば良い。なお、本実施形態の制御システムの構成およびコントローラ１のハードウェア構成は第１実施形態におけるものと同一であるため、前掲載図１および図５を援用する。
【００３８】
図９では、図６と同一の処理には同一の符号が付されている。図９と図６とを対比すれば明らかように、測定開始処理１４４２ｃはステップＳＡ１１０の処理に代えてステップＳＣ１１０の処理を設けた点が測定開始処理１４４２ａと異なる。このステップＳＣ１１０では、制御部１１０は、負荷測定用ＰＣ５の通信相手として自装置が指定されているのか否かを判定する。具体的には、負荷測定開始要求を伝送してきたＩＰパケットのヘッダ部に書き込まれている送信先ＩＰアドレスが自装置のＩＰアドレスである場合には、制御部１１０は、自装置が上記通信相手であると判定する。そして、制御部１１０は、ステップＳＣ１１０の判定結果が“Ｙｅｓ”である場合には前述したステップＳＡ１２０の処理の実行後にステップＳＡ１３０の処理を実行し、ステップＳＣ１１０の判定結果が“Ｎｏ”であればステップＳＡ１３０の処理のみを実行する。
【００３９】
図１０においても図７と同一の処理には同一の符号が付されている。図１０と図７とを対比すれば明らかように、測定結果通知処理１４４２ｄはステップＳＢ１２０の処理に代えてステップＳＤ１２０の処理を設けた点が測定結果通知処理１４４２ｂと異なる。このステップＳＤ１２０では、制御部１１０は、現時点（すなわち、負荷測定終了要求の受信時点）において自装置が稼働系であるか否かを稼働状態フラグを参照して判定する。そして、制御部１１０は、ステップＳＤ１２０の判定結果が“Ｙｅｓ”である場合にはステップＳＢ１３０の処理のみを実行し、ステップＳＤ１２０の判定結果が“Ｎｏ”である場合にはステップＳＢ１４０からステップＳＢ１６０の処理を実行した後にステップＳＢ１３０の処理を実行する。
【００４０】
以下、図１１に示すように、負荷測定開始要求の送信時点ではコントローラ１Ａが稼働系であり、負荷測定開始要求の送信時点から負荷測定終了要求の送信時点までの間に稼働系の切り換わりが発生する場合を例にとって本実施形態の動作を説明する。また、以下ででは、コントローラ１Ａと１Ｂに割り当てられているＩＰアドレスのうち、コントローラ１ＡのＩＰアドレスが負荷測定開始要求および負荷測定終了要求の送信先の通信アドレスとして負荷測定用ＰＣ５に与えられるとする。負荷測定用ＰＣ５は、負荷測定開始要求および負荷測定終了要求をコントローラ１Ａに宛てて（すなわち、これら各要求を伝送するＩＰパケットのヘッダ部に送信先ＩＰアドレスとしてコントローラ１ＡのＩＰアドレスを書き込んで）送信する。
【００４１】
制御部１１０Ａは、負荷測定用ＰＣ５からコントローラ１Ａに宛てて送信された負荷測定開始要求ＲＥＱ１００の受信を契機として、測定開始処理１４４２ｃ（図９参照）の実行を開始する。前述したように、本動作例ではコントローラ１Ａが上記通信相手として指定されている。このため、コントローラ１Ａにおいて実行される測定開始処理１４４２ｃでは、ステップＳＣ１１０の判定結果は“Ｙｅｓ”となり、ステップＳＡ１２０およびステップＳＡ１３０の処理が実行される。つまり、コントローラ１Ａが負荷測定用ＰＣ５から受信した負荷測定開始要求ＲＥＱ１００は、図１１における負荷測定開始要求ＲＥＱ１０５としてコントローラ１Ｂに伝送され、その後、コントローラ１Ａにおける負荷測定が開始される。一方、制御部１１０Ｂは負荷測定開始要求ＲＥＱ１０５の受信を契機として測定開始処理１４４２ｃを実行する。コントローラ１Ｂにおいて実行される測定開始処理１４４２ｃでは、ステップＳＣ１１０の判定結果は常に“Ｎｏ”となり、ステップＳＡ１３０の処理のみが実行される。このようにして、コントローラ１Ｂにおいても負荷測定が開始される。
【００４２】
制御部１１０Ａは、負荷測定用ＰＣ５からコントローラ１Ａに宛てて送信された負荷測定終了要求ＲＥＱ１１０の受信を契機として測定結果通知処理１４４２ｄ（図１０参照）の実行を開始する。図１１に示すように、負荷測定用ＰＣ５が負荷測定終了要求ＲＥＱ１１０を送信する時点では、コントローラ１Ａは待機系となっている。このため、制御部１１０Ａの実行する測定結果通知処理１４４２ｄでは、ステップＳＤ１２０の判定結果は“Ｎｏ”となり、まず、ステップＳＢ１４０の処理が実行される。つまり、コントローラ１Ａが負荷測定用ＰＣ５から受信した負荷測定終了要求ＲＥＱ１１０は、図１１における負荷測定終了要求ＲＥＱ１１５としてコントローラ１Ｂに伝送される。
【００４３】
制御部１１０Ｂは負荷測定終了要求ＲＥＱ１１５の受信を契機として測定結果通知処理１４４２ｄの実行を開始する。コントローラ１Ｂにおいて実行される測定結果通知処理１４４２ｄでは、ステップＳＤ１２０の判定結果は“Ｙｅｓ”となり、ステップＳＢ１３０の処理のみが実行される。このステップＳＢ１３０では、制御部１１０Ｂは、負荷測定開始要求ＲＥＱ１０５を受信してから負荷測定終了要求ＲＥＱ１１５を受信するまでの間の負荷の測定結果のうち、稼働系となっていた期間の測定結果を示す結果データを書き込んだ負荷測定終了応答ＲＥＳ１１５を、負荷測定終了要求ＲＥＱ１１５の送信元（すなわち、コントローラ１Ａ）へ返信する。
【００４４】
制御部１１０Ａはコントローラ１Ｂから返信されてくる負荷測定終了応答ＲＥＳ１１５を受信し（図１０：ステップＳＢ１５０）、この負荷測定終了応答ＲＥＳ１１５に書き込まれている結果データの示す測定結果と、自装置が稼働系となっている期間の測定結果とをマージし（図１０：ステップＳＢ１６０）、そのマージ結果を負荷の測定結果を表す結果データとして書き込んだ負荷測定終了応答ＲＥＳ１１０を負荷測定終了要求ＲＥＱ１１０の送信元（すなわち、負荷測定用ＰＣ５）へ返信する（図１０：ステップＳＢ１３０）。
【００４５】
以上説明したように、本実施形態によっても、ノード装置の冗長化が施された制御システムにおいて、当該冗長化に対して特段の考慮が為されていない負荷測定方法を利用して、冗長化された各ノード装置が稼働系として機能している期間の負荷を測定することが可能となる。なお、本実施形態においても、稼働系の切り替えが発生しなかった場合には、負荷測定開始要求ＲＥＱ１００の送信時点から負荷測定終了要求ＲＥＱ１１０の送信時点までの負荷の測定結果を表すデータとしてコントローラ１Ａにおける測定結果のみを表すデータが負荷測定用ＰＣ５に返信されるが、稼働系の切り替えは発生していないのであるから、全く問題無い。
【００４６】
（Ｃ：第３実施形態）
前述した第１或いは第２実施形態のコントローラ１によれば、負荷測定開始後に稼働系／待機系の切り替えが１回発生しても、正しい測定結果を収集することが可能になる。しかしながら、第１或いは第２実施形態のコントローラ１では、図１２に示すように、負荷測定の実行中に稼働系/待機系の切り替えが複数回以上発生すると、測定結果の一部が欠落する可能性がある。これは、負荷測定終了要求を受信したコントローラから相手装置へ負荷測定終了要求を送信するか否かが、第１実施形態では「負荷測定開始要求受信時の状態(稼働系であったのか、それとも待機系であったのか)」のみによって決定され、第２実施形態では「負荷測定終了要求受信時の状態(現時点で稼働系であるのか、それとも待機系であるのか)」のみによって決定されるためである。例えば、第１実施形態では、図１２に示すように、負荷測定開始時にはコントローラ１Ａが稼働系であり、その後、負荷測定中に稼働系／待機系の切り替えが２回発生して再びコントローラ１Ａが稼働系となっている状況下で負荷測定終了要求ＲＥＱ１１０が負荷測定用ＰＣ５から送信されると、この負荷測定終了要求ＲＥＱ１１０はコントローラ１Ａによって受信される。図１２に示す例では、コントローラ１Ａの制御部１１０が実行する測定結果通知処理１４４２ｂのステップＳＢ１２０の判定結果は“Ｙｅｓ”となり、相手装置への負荷測定終了要求の送信（ステップＳＢ１４０）は行われない。このため、相手装置（すなわち、コントローラ１Ｂ）が稼働系となっていた期間における負荷の測定結果が欠落してしまうのである。本実施形態は、このような問題点を解決するためのものである。
【００４７】
図１３は、本実施形態のコントローラ１０の構成例を示すブロック図である。図１３では前掲図５と同一の構成要素には同一の符号が付されている。図５と図１３とを対比すれば明らかなように本実施形態のコントローラ１０のハードウェア構成は第１実施形態のコントローラ１のハードウェア構成と同一である。ただし、本実施形態のコントローラ１０は、以下の２つの点で第１実施形態のコントローラ１と異なる。第１に、揮発性記憶部１４２に切り替え発生フラグ１４２２が格納されている点である。第２に、測定開始処理１４４２ａに代えて測定開始処理１４４２ｅを制御部１１０に実行させるとともに、測定結果通知処理１４４２ｂに代えて測定結果通知処理１４４２ｆを制御部１１０に実行させる負荷測定プログラム１４４２が不揮発性記憶部１４４に格納されている点である。以下、第１実施形態との相違点である切り替え発生フラグ１４２２、測定開始処理１４４２ｅおよび測定結果通知処理１４４２ｆを中心に説明する。
【００４８】
切り替え発生フラグ１４２２には、負荷測定開始要求の受信を契機として制御部１１０によって第１の値（本実施形態では、０）がセットされる。そして、制御部１１０は、負荷測定開始後に稼働系／待機系の切り替えが発生すると切り替え発生フラグ１４２２に第１の値とは異なる第２の値（すなわち、１）をセットする。つまり、切り替え発生フラグ１４２２は稼働系／待機系の切り替えが発生したか否かを示すのである。
【００４９】
図１４は、測定開始処理１４４２ｅの流れを示すフローチャートである。図１４では前掲図６におけるものと同一のステップには同一の符号が付されている。図１４と図６を対比すれば明らかなように、測定開始処理１４４２ｅでは、ステップＳＡ１００の実行後、切り替え発生フラグ１４２２に第１の値をセットする（換言すれば、切り替え発生フラグ１４２２をリセットする）処理であるステップＳＥ１０５が実行され、その後、ステップＳＡ１１０以降の処理が実行される点が測定開始処理１４４２ａと異なる。このため、本実施形態では、負荷測定の実行開始に先立って、切り替え発生フラグ１４２２は必ずリセットされ、その値は第１の値となっている。前述したように切り替え発生フラグ１４２２には稼働系／待機系の切り替えの発生に応じて第２の値がセットされるのであるが、本実施形態では上記ステップＳＥ１０５の処理以外に切り替え発生フラグ１４２２をリセットする処理は無い。したがって、負荷測定終了時点で切り替え発生フラグ１４２２の値が第１の値のままであれば、負荷測定中に稼働系／待機系の切り替えは発生していないことを意味し、切り替え発生フラグ１４２２の値が第２の値であれば少なくとも１回は稼働系／待機系の切り替えが発生したことを意味する。
【００５０】
図１５は測定結果通知処理１４４２ｆの流れを示すフローチャートである。図１５では前掲図７におけるものと同一のステップには同一の符号が付されている。図１５に示すように測定結果通知処理１４４２ｆでは、ステップＳＢ１１０に後続してステップＳＦ１１５の判定処理が実行される。このステップＳＦ１１５では、制御部１１０は、稼働状態フラグを参照し、自装置が稼働系であるか否かを判定する。このステップＳＦ１１５の判定結果が“Ｎｏ”であれば、制御部１１０は前述したステップＳＢ１３０の処理を実行する。これに対して、ステップＳＦ１１５の判定結果が“Ｙｅｓ”である場合には、制御部１１０はさらに、負荷測定の実行開始から実行終了までの間に稼働系／待機系の切り替えがあったか否かを判定する（ステップＳＦ１２０）。具体的には、制御部１１０は、切り替え発生フラグ１４２２の値が第１の値であれば、稼働系／待機系の切り替えはなかったと判定し、逆に切り替え発生フラグ１４２２の値が第２の値であれば、切り替えがあったと判定する。そして、ステップＳＦ１２０の判定結果が“Ｎｏ”であれば、制御部１１０はステップＳＢ１３０の処理のみを実行し、ステップＳＦ１２０の判定結果が“Ｙｅｓ”であれば、制御部１１０はステップＳＢ１４０からステップＳＢ１６０の処理を実行した後にステップＳＢ１３０の処理を実行する。
以上がコントローラ１０の構成である。
【００５１】
次いで、図１におけるコントローラ１Ａおよびコントローラ１Ｂの各々を本実施形態のコントローラ１０に置き換えた通信システムにおいて負荷測定を行う場合を例にとってコントローラ１０の動作を説明する。なお、以下では、この通信システムに含まれる２台のコントローラ１０のうち図１のコントローラ１Ａに対応する方を「コントローラ１０Ａ」と呼び、同コントローラ１Ｂに対応する方を「コントローラ１０Ｂ」と呼ぶ。コントローラ１０Ａおよびコントローラ１０Ｂの各々は第１実施形態におけるコントローラ１Ａおよびコントローラ１Ｂと同様にノード番号により識別される機器である。コントローラ１０Ａおよびコントローラ１０Ｂよりなるノード装置対は負荷測定用ＰＣ５からは、あるノード番号（例えば、ノード番号＝１０）を割り振られた１つの装置として見える。以下に説明する動作例では、負荷測定用ＰＣ５が負荷測定開始要求ＲＥＱ１００を送信する時点ではコントローラ１０Ａが稼働系であり、その後、負荷測定用ＰＣ５による負荷測定終了要求ＲＥＱ１１０の送信するまでに稼働系／待機系の切り替えが２回発生する場合を例にとって説明する。
【００５２】
前述した第１実施形態と同様に負荷測定用ＰＣ５はノード番号により送信先を指定して負荷測定開始要求ＲＥＱ１００を送信する。このようにして負荷測定用ＰＣ５から送信された負荷測定開始要求ＲＥＱ１００は上記ノード番号により識別されるコントローラ対の稼働系のコントローラによって受信される。前述したように、負荷測定用ＰＣ５が負荷測定開始要求ＲＥＱ１００を送信する時点ではコントローラ１０Ａが稼働系であるため、コントローラ１０Ａが負荷測定開始要求ＲＥＱ１００を受信する。
【００５３】
コントローラ１０Ａの制御部１１０は、負荷測定開始要求ＲＥＱ１００の受信（図１４：ステップＳＡ１００）を契機として、切り替え発生フラグ１４２２をリセットする（図１４：ステップＳＥ１０５）。負荷測定開始要求ＲＥＱ１００の受信時点ではコントローラ１０Ａが稼働系であるため、コントローラ１０Ａの制御部１１０が実行する測定開始処理１４４２ｅではステップＳＡ１１０の判定結果は“Ｙｅｓ”となり、コントローラ１０ＡではステップＳＡ１２０およびステップＳＡ１３０の処理が実行される。つまり、コントローラ１０Ａの制御部１１０は、待機系であるコントローラ１０Ｂに対して負荷測定開始要求ＲＥＱ１０５を送信し、その後、負荷測定を開始し、負荷測定用ＰＣ５に負荷測定開始応答ＲＥＳ１００を返信する。一方、コントローラ１０Ｂの制御部１１０は、負荷測定開始要求ＲＥＱ１０５の受信（図１４：ステップＳＡ１００）を契機として、切り替え発生フラグ１４２２をリセットし（図１４：ステップＳＥ１０５）、負荷測定の開始（図１４：ステップＳＡ１３０）のみを実行する。負荷測定開始要求ＲＥＱ１０５の受信時点ではコントローラ１０Ｂは待機系であるため、コントローラ１０Ｂの制御部１１０が実行する測定開始処理１４４２ｅではステップＳＡ１１０の判定結果は“Ｎｏ”となるからである。
【００５４】
このようにしてコントローラ１０Ａおよびコントローラ１０Ｂの各々において負荷測定が開始された後に、稼働系／待機系の切り替えが発生したとする。すると、コントローラ１０Ａの制御部１１０は自装置の切り替え発生フラグ１４２２の値を第２の値（本実施形態では、１）に更新し、コントローラ１０Ｂの制御部１１０も自装置の切り替え発生フラグ１４２２の値を第２の値に更新する。以降、負荷測定終了までに稼働系／待機系の切り替えが再度発生したとしてもコントローラ１０Ａおよびコントローラ１０Ｂの各々の切り替え発生フラグ１４２２の値は上記第２の値に維持される。前述したように、切り替え発生フラグ１４２２のリセット（第１の値のセット）は、負荷測定開始要求を受信した場合にのみ実行されるからである。
【００５５】
本動作例では、図１６に示すように、負荷測定用ＰＣ５による負荷測定開始要求ＲＥＱ１００の送信から負荷測定終了要求ＲＥＱ１１０の送信までの間に稼働系／待機系の切り替えが２回発生している。前述したように、負荷測定用ＰＣ５による負荷測定開始要求ＲＥＱ１００の送信時点ではコントローラ１０Ａが稼働系となっていたのであるから、負荷測定終了要求ＲＥＱ１１０の送信時点の稼働系はコントローラ１０Ａである。このため、負荷測定終了要求ＲＥＱ１１０はコントローラ１０Ａによって受信され、コントローラ１０Ａの制御部１１０は負荷測定終了要求ＲＥＱ１１０の受信を契機として測定結果通知処理１４４２ｆを実行する。
【００５６】
負荷測定終了要求ＲＥＱ１１０の受信時点ではコントローラ１０Ａは稼働系である。このため、コントローラ１０Ａの制御部１１０が実行する測定結果通知処理１４４２ｆではステップＳＦ１１５の判定結果は“Ｙｅｓ”となり、ステップＳＦ１２０の判定が実行される。コントローラ１０Ａの切り替え発生フラグ１４２２の値は第２の値であるため、上記ステップＳＦ１２０の判定結果は“Ｙｅｓ”となり、コントローラ１０Ａの制御部１１０はステップＳＢ１４０〜ステップＳＢ１６０の処理を実行し、その後ステップＳＢ１３０の処理を実行する。すなわち、コントローラ１０Ａの制御部１１０は、図１６に示すようにコントローラ１０Ｂへ負荷測定終了要求ＲＥＱ１１５を送信し、負荷測定終了応答ＲＥＳ１１５の受信を待ち受ける。
【００５７】
コントローラ１０Ｂの制御部１１０は負荷測定終了要求ＲＥＱ１１５の受信を契機として測定結果通知処理１４４２ｆの実行を開始する。負荷測定終了要求ＲＥＱ１１５の受信時点ではコントローラ１０Ｂは待機系であるため、コントローラ１０Ｂの制御部１１０が実行する測定結果通知処理１４４２ｆのステップＳＦ１１５の判定結果は“Ｎｏ”となり、負荷測定終了要求ＲＥＱ１１５の送信元へ負荷測定終了応答ＲＥＳ１１５を返信する処理（ステップＳＢ１３０）のみが実行される。この負荷測定終了応答ＲＥＳ１１５には、前述した第１実施形態と同様にコントローラ１０Ｂが稼働系であった期間における負荷の測定結果が書き込まれている。
【００５８】
コントローラ１０Ａの制御部１１０は、負荷測定終了応答ＲＥＳ１１５を受信すると（図１５：ステップＳＡ１５０）、負荷測定終了応答ＲＥＳ１１５に書き込まれている負荷測定結果と、自身の負荷測定結果をマージし、ノード番号１の装置全体の負荷測定結果を作成する（図１５：ステップＳＡ１６０）。そして、コントローラ１０Ａの制御部１１０は、この負荷測定結果を書き込んだ負荷測定終了応答ＲＥＳ１１０を負荷測定用ＰＣ５に返信する（図１５：ステップＳＡ１３０）。これにより、負荷測定用ＰＣ５は、ノード番号＝１０のノード装置対に複数回の稼働系/待機系の切替りが発生していたとしても、ノード番号＝１０の装置における正確な負荷の測定結果を収集することができる。
【００５９】
なお、本動作例では、負荷測定中に稼働系／待機系の切り替えが２回発生した場合について説明したが、４回或いは６回発生した場合も同様である。つまり、負荷測定中に稼働系／待機系の切り替えが偶数回発生した場合には本動作例と同様の動作となる。また、本動作例では、負荷測定開始要求ＲＥＱ１００を受信したコントローラ１０Ａが負荷測定終了要求ＲＥＱ１１０を受信する場合について説明したが、負荷測定開始要求ＲＥＱ１００を受信したコントローラと、負荷測定終了要求ＲＥＱ１１０を受信するコントローラとが異なっている場合（すなわち、負荷計測中に稼働系／待機系の切り替えが奇数回発生した場合）も同様の動作（但し、負荷測定終了要求受信時の動作がコントローラ１０Ａとコントローラ１０Ｂで入れ替わった動作）となる。
【００６０】
以上説明したように本実施形態によれば、冗長化されていない機器を前提とした負荷測定方法を冗長化機器を含む制御システムに適用した場合において、負荷測定中に稼働系/待機系の切替えが「複数回」発生しても、整合性の取れた負荷測定結果を取得することが可能となる。なお、本実施形態では、負荷測定開始要求の受信を契機として切り替え発生フラグ１４２２をリセットしたが、負荷測定終了応答の送信を契機として切り替え発生フラグ１４２２をリセットしても良い。要は負荷測定処理の実行開始時点で切り替え発生フラグ１４２２が必ずリセットされている態様であれば良い。負荷測定処理の実行中に発生する稼働系／待機系の切り替えだけが問題となるからである。また、切り替え発生フラグ１４２２を用いず、前述した受信時刻データの表す時刻と切り替え時刻データの表す時刻の比較により負荷測定の実行開始から実行終了までの間に稼働系／待機系の切り替えがあったか否かを判定しても良い。具体的には、受信時刻データの表す時刻の方が後の時刻であれば、負荷測定の実行開始から実行終了までの間に稼働系／待機系の切り替えはなかったと判定し、受信時刻データの表す時刻の方が先の時刻であれば、稼働系／待機系の切り替えがあったと判定する、といった具合である。
【００６１】
（Ｄ：変形）
以上本発明の第１、第２および第３実施形態について説明したが、これら実施形態に以下の変形を加えても勿論良い。
（１）上記各実施形態では、負荷の測定結果を表す結果データを負荷測定終了応答に書き込んで自装置に対する負荷測定終了要求の送信元へ返信したが、負荷測定終了応答とは別個に結果データを返信する態様であっても構わない。例えば、負荷測定終了要求／応答のシーケンスとは別個に、当該シーケンスに後続して実行されるシーケンスとして測定結果取得要求／応答のシーケンスを設けるようにしても良い。ただし、上記各実施形態のように、負荷の測定結果を表す結果データを負荷測定終了応答に書き込んで返信する態様のほうが、通信シーケンスが少なくて済む分だけ、通信トラヒックの増加を招かないといった効果が期待される。
【００６２】
（２）上記第１および第２実施形態では、コントローラ１Ａとコントローラ１Ｂの一方から他方への負荷測定開始要求、負荷測定終了要求および負荷測定終了応答の伝送を、制御系ネットワークＣＮ経由で行った。しかし、コントローラ１Ａとコントローラ１Ｂが等値化ケーブル等のコントローラ間通信専用の通信手段で接続されている場合には、コントローラ１Ａとコントローラ１Ｂの一方から他方への負荷測定開始要求、負荷測定終了要求および負荷測定終了応答の伝送を当該通信手段経由で行っても良く、また、コントローラ１Ａとコントローラ１Ｂが情報系ネットワークＩＮに接続されている場合には当該情報系ネットワークＩＮ経由で上記伝送を行っても良い。第３実施形態においても同様である。また、上記通信手段は無線通信手段であっても良い。また、上記第１および第２実施形態では、コントローラ１Ａおよびコントローラ１Ｂの各々が、稼働系であるか待機系であるかを問わずに、機器制御のための演算を行う場合（すなわち、ホットスタンバイ方式の制御システムへの本発明の適用例）を説明した。しかし、本発明の適用対象はホットスタンバイ方式の制御システムに限定されるものではなく、ウォームスタンバイ方式の制御システムに本発明を適用しても良い。ウォームスタンバイ方式の制御システムは、冗長化されたコントローラの一方が稼働系となって上記演算を実行し、他方は待機系となって稼働系の故障に備える点ではホットスタンバイ方式の制御システムと同一であるが、待機系のコントローラでは上記演算が実行されない点が異なる。
【００６３】
（３）上記各実施形態では、制御システムに含まれるコントローラへの本発明の適用例を説明したが、ＨＣＩやＤＢに本発明を適用しても良い。要は、待機系と稼働系とが相互に切り替えられるノード装置対を形成するノード装置であれば、本発明を適用可能である。また、ノード装置に実行させる処理は自装置にかかっている負荷の測定に限定される訳ではない。要は、実行開始の指示から実行終了の指示まで継続して実行される処理であれば良い。例えば各種センサによる検出結果を記録するノード装置に本発明を適用しても良い。また、本発明の適用対象は、制御システムに限定される訳ではない。例えば汎用の通信プロトコルにしたがったデータ通信のみが行われる情報系ネットワークであっても良い。要は、稼働系と待機系とが相互に切り替えられる一対のノード装置に実行開始の指示を与えてから実行終了の指示を与えるまで継続して予め定められた処理を実行させ、その実行結果を収集装置に収集させる通信システムであれば良い。
【００６４】
（４）本発明の特徴を顕著に示す処理開始処理（第１実施形態においては測定開始処理１４４２ａ、第２実施形態においては測定開始処理１４４２ｃ、第３実施形態においては測定開始処理１４４２ｅ）を実行する処理開始手段と、同結果通知処理（第１実施形態においては測定結果通知処理１４４２ｂ、第２実施形態においては測定結果通知処理１４４２ｄ、第３実施形態においては測定結果通知処理１４４２ｆ）を実行する結果通知手段とを各々電子回路で構成し、これら電子回路を組み合わせて上記各実施形態のコントローラを構成しても良い。また、一般的なコンピュータを上記各手段として機能させるプログラムをＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布されるプログラムを既存の通信システムのノード装置にインストールしその制御部を当該プログラムにしたがって作動させることで、当該ノード装置を本発明のノード装置として機能させることが可能になるからである。
【符号の説明】
【００６５】
ＣＮ…制御系ネットワーク、ＩＮ…情報系ネットワーク、１Ａ，１Ｂ，１，２…コントローラ、３Ａ，３Ｂ…ＨＣＩ、４Ａ，４Ｂ…ＤＢ、５…負荷測定用ＰＣ、１１０…制御部、１２０…通信Ｉ／Ｆ部、１３０…外部機器Ｉ／Ｆ部、１４０…記憶部、１４２…揮発性記憶部、１４２２…切り替え発生フラグ、１４４…不揮発性記憶部、１４４２…負荷測定プログラム、１４４２ａ，１４４２ｃ，１４４２ｅ…測定開始処理、１４４２ｂ，１４４２ｄ，１４４２ｆ…測定結果通知処理、１５０…バス。
【図１】
2015007962.tif 000003
【図２】
2015007962.tif 000004
【図３】
2015007962.tif 000005
【図４】
2015007962.tif 000006
【図５】
2015007962.tif 000007
【図６】
2015007962.tif 000008
【図７】
2015007962.tif 000009
【図８】
2015007962.tif 000010
【図９】
2015007962.tif 000011
【図１０】
2015007962.tif 000012
【図１１】
2015007962.tif 000013
【図１２】
2015007962.tif 000014
【図１３】
2015007962.tif 000015
【図１４】
2015007962.tif 000016
【図１５】
2015007962.tif 000017
【図１６】
2015007962.tif 000018