(57)【要約】【課題】可用性を向上させることが可能なロジック実行装置を提供することである。【解決手段】実施形態のロジック実行装置は、稼働系として動作するロジック実行装置と待機系として動作するロジック実行装置とがネットワークを介して通信可能に接続されたシステムにおけるロジック実行装置である。実施形態のロジック実行装置は、ネットワークモジュールと、ＣＰＵモジュールと、を持つ。ネットワークモジュールは、ネットワークを介して他の装置と通信する。ＣＰＵモジュールは、前記ネットワークモジュールが前記他の装置から前記ネットワークを介して所定のデータを受信したか否かに基づいて前記ネットワークを介した通信が可能であるか否か判定する。ＣＰＵモジュールは、前記通信が可能でないと判定し、かつ待機系ＣＰＵが正常の場合に待機系のロジック実行装置との間で稼働系と待機系とを切り替える切替処理を実行する。【選択図】図１
2017072989.tif 000002
【特許請求の範囲】
【請求項１】
稼働系として動作するロジック実行装置と待機系として動作するロジック実行装置とがネットワークを介して通信可能に接続されたシステムにおけるロジック実行装置であって、
ネットワークを介して他の装置と通信するネットワークモジュールと、
前記ネットワークモジュールが前記他の装置から前記ネットワークを介して所定のデータを受信したか否かに基づいて前記ネットワークを介した通信が可能であるか否か判定し、前記通信が可能でないと判定した場合に待機系のロジック実行装置との間で稼働系と待機系とを切り替える切替処理を実行するＣＰＵモジュールと、
を備えるロジック実行装置。
【請求項２】
稼働系として動作するロジック実行装置と待機系として動作するロジック実行装置とがネットワークを介して通信可能に接続されたシステムにおけるロジック実行装置であって、
ネットワークを介して他の装置と通信するネットワークモジュールと、
アプリケーションプログラムに基づいて動作し、自装置が待機系として動作している場合には処理を実行しないアプリケーション部と、
ファームウェアに基づいて動作し、自装置が待機系として動作している場合であっても処理を実行するファームウェア部と、を備え、
前記アプリケーション部は、監視対象の機器に関する情報を取得し、前記ネットワークモジュールを介して前記情報を他の装置に送信し、
前記ファームウェア部は、前記ネットワークモジュール及び前記ネットワークを介して他の装置と通信可能か否か判定する、ロジック実行装置。
【請求項３】
前記ファームウェア部は、前記ネットワークモジュールが前記ネットワークを介して他の装置から所定のデータを受信したか否かに基づいて、前記他の装置と通信可能か否か判定する、請求項２に記載のロジック実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ロジック実行装置に関する。
【背景技術】
【０００２】
従来、ＰＬＣ（Programmable Logic Controller）と複数の機器とを通信可能に接続し、ＰＬＣによって各機器の情報を取得するシステムが提供されている。ＰＬＣは、取得された情報を、ネットワークを介してサーバ装置や監視制御装置に対して送信する。このようなシステムでは、可用性を高めることを目的として、複数台のＰＬＣを用いて二重化が実装されることがある。二重化が実装されたシステムでは、稼働系の装置に障害が生じると待機系が新たに稼働系として動作する。
【０００３】
しかしながら、稼働系の装置そのものに障害が生じていない場合には、たとえネットワークに障害が生じたために稼働系がサーバ及び監視制御装置と通信できなくなったとしても切り替えが行われずに稼働系の状態表示や制御ができなくなってしまう場合があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３０４４６号公報
【特許文献２】特許第４００１０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、可用性を向上させることが可能なロジック実行装置を提供することである。
【課題を解決するための手段】
【０００６】
実施形態のロジック実行装置は、稼働系として動作するロジック実行装置と待機系として動作するロジック実行装置とがネットワークを介して通信可能に接続されたシステムにおけるロジック実行装置である。実施形態のロジック実行装置は、ネットワークモジュールと、ＣＰＵモジュールと、を持つ。ネットワークモジュールは、ネットワークを介して他の装置と通信する。ＣＰＵモジュールは、前記ネットワークモジュールが前記他の装置から前記ネットワークを介して所定のデータを受信したか否かに基づいて前記ネットワークを介した通信が可能であるか否か判定する。ＣＰＵモジュールは、前記通信が可能でないと判定し、かつ待機系ＣＰＵが正常の場合に待機系のロジック実行装置との間で稼働系と待機系とを切り替える切替処理を実行する。
【図面の簡単な説明】
【０００７】
【図１】設備監視システムの第一実施形態（設備監視システム１００）のシステム構成の具体例を表す図である。
【図２】第一実施形態の設備監視システム１００の動作の流れの具体例を示すシーケンスチャートである。
【図３】監視システムの第二実施形態（設備監視システム１００ａ）のシステム構成の具体例を表す図である。
【図４】第二実施形態の設備監視システム１００ａの動作の流れの具体例を示すシーケンスチャートである。
【発明を実施するための形態】
【０００８】
以下、実施形態のロジック実行装置を、図面を参照して説明する。
【０００９】
（第一実施形態）
図１は、設備監視システムの第一実施形態（設備監視システム１００）のシステム構成の具体例を表す図である。設備監視システム１００は、複数のロジック実行装置、ネットワーク３０、複数の監視制御装置４０及びサーバ装置５０を備える。図１に示される設備監視システム１００は、少なくとも２台のロジック実行装置（第一ロジック実行装置１１０及び第二ロジック実行装置１２０）を備える。第一ロジック実行装置１１０及び第二ロジック実行装置１２０は、冗長システムとして機能する。本実施形態では、通常時は第一ロジック実行装置１１０が稼働系として動作し、第二ロジック実行装置１２０が待機系として動作する。第一ロジック実行装置１１０において障害に関する所定の条件が満たされた場合（以下「異常時」という。）には、第一ロジック実行装置１１０が待機系として動作し、第二ロジック実行装置１２０が稼働系として動作する。設備監視システム１００は、所定の目的のために設置された設備を監視する。例えば、設備監視システム１００は、上下水道処理設備を監視対象としてもよい。
【００１０】
第一ロジック実行装置１１０は、例えばＰＬＣ等の制御装置である。第一ロジック実行装置１１０は、実行対象のプログラムによって定められたロジックを一つ一つ順に実行する。第一ロジック実行装置１１０が実行するロジックは、第一ロジック実行装置１１０の不図示の記憶装置に予め記憶されている。
【００１１】
第一ロジック実行装置１１０は、ネットワーク３０を介して複数の監視制御装置４０及びサーバ装置５０と通信できる。第一ロジック実行装置１１０は、不図示の広域ネットワークを介して他の装置（例えば遠隔地に設置された上下水道処理設備の装置）と通信してもよい。他の装置の具体例として、監視対象機器８０及びセンサ９０がある。監視対象機器８０は、監視対象となっている設備に備えられている機器である。センサ９０は、監視対象機器８０や、監視対象の設備に備えられているセンサである。図１には監視対象機器８０及びセンサ９０がそれぞれ一台記載されているが、これらの台数は一台に限定されない。第一ロジック実行装置１１０は、予め定められた他の装置（監視対象機器８０又はセンサ９０）から、監視対象となっている設備に関する情報（以下「設備情報」という。）を取得する。設備情報は、例えば監視対象となっている設備の動作に関する情報や、監視対象となっている設備が設置された空間に関する情報などの情報である。設備情報は、予め設置されている監視対象機器８０やセンサ９０の装置によって取得される。第一ロジック実行装置１１０は、他の装置から取得された設備情報を、ネットワーク３０を介して監視制御装置４０に送信する。
【００１２】
第一ロジック実行装置１１０は、ＣＰＵモジュール１１１（演算処理モジュール）及びネットワークモジュール（通信モジュール）１１２を備える。ＣＰＵモジュール１１１及びネットワークモジュール１１２は、例えばＰＬＣのベースユニットに設けられる。
【００１３】
ＣＰＵモジュール１１１は、ＣＰＵ（Central Processing Unit）及びメモリを搭載したモジュールである。ＣＰＵモジュール１１１は、ネットワーク３０とは別の通信経路で第二ロジック実行装置１２０のＣＰＵモジュール１２１と通信可能である。例えば、ＣＰＵモジュール１１１は、トラッキングケーブル２０でＣＰＵモジュール１２１と接続されている。ＣＰＵモジュール１１１は、アプリケーション部１１４及びファームウェア部１１５を備える。
【００１４】
アプリケーション部１１４は、そのものが現実に物として存在するのではなく、ＣＰＵモジュール１１１がアプリケーションプログラムを実行することによって仮想的に実現される機能部である。アプリケーション部１１４は、予めＣＰＵモジュール１１１のメモリに記憶されているアプリケーションプログラムに従って動作する。言い換えれば、ＣＰＵモジュール１１１は、アプリケーション部１１４の機能として定義されたアプリケーションプログラムにしたがって処理を実行する。このようなＣＰＵモジュール１１１の動作によってアプリケーション部１１４が形成される。ロジック実行装置が待機系として動作する状態（以下「待機状態」という。）である場合、ＣＰＵモジュール１１１はアプリケーションプログラムを実行しない。そのため、第一ロジック実行装置が待機状態である場合、ＣＰＵモジュール１１１のアプリケーション部１１４は機能しない。アプリケーション部１１４は、例えば監視対象の機器に設けられたセンサ９０から情報（監視対象の機器に関する情報）を受信すると、受信された情報をネットワークモジュール１１２及びネットワーク３０を介して監視制御装置４０及びサーバ装置５０に送信する。
【００１５】
ファームウェア部１１５は、そのものが現実に物として存在するのではなく、ＣＰＵモジュール１１１がファームウェアを実行することによって仮想的に実現される機能部である。ファームウェア部１１５は、予めＣＰＵモジュール１１１のメモリに記憶されているファームウェアに従って動作する。言い換えれば、ＣＰＵモジュール１１１は、ファームウェア部１１５の機能として定義されたファームウェアにしたがって処理を実行する。このようなＣＰＵモジュール１１１の動作によってファームウェア部１１５が形成される。ロジック実行装置が待機状態であっても、ＣＰＵモジュール１１１はファームウェアを実行する。そのため、第一ロジック実行装置１１０が待機状態であっても、ＣＰＵモジュール１１１のファームウェア部１１５は機能する。
【００１６】
ファームウェア部１１５は、自身を備えるロジック装置（第一ロジック実行装置１１０）が待機系として動作している場合、サーバ装置５０から所定のタイミングで送信されるデータ（後述する「監視データ」。）がネットワークモジュール１１２によって受信されると、予め定められている所定の処理（以下「受信時処理」という。）を実行する。受信時処理は、第一ロジック実行装置１１０において監視データが受信されたことを外部の装置が確認することが可能な処理であれば、どのような処理であってもよい。例えば、受信時処理は、所定のカウンタの値を変更し（例えばインクリメントし）、変更後のカウンタの値を他の装置に通知する処理であってもよい。この通知の処理は、トラッキングケーブル２０を介して行われてもよい。例えば、受信時処理は、他の装置からアクセス可能な（値を参照可能な）メモリに記録されているカウンタの値を変更（例えばインクリメント）する処理であってもよい。
【００１７】
ネットワークモジュール１１２は、ネットワーク３０を介して他の装置と通信可能な通信インタフェースである。
【００１８】
第二ロジック実行装置１２０は、通常時に待機系として動作するか稼働系として動作するかの違いはあるものの、その構成は第一ロジック実行装置１１０と同様である。そのため、第二ロジック実行装置１２０についての説明は省略する。
【００１９】
ネットワーク３０は、第一ロジック実行装置１１０、第二ロジック実行装置１２０、監視制御装置４０及びサーバ装置５０が接続される通信経路である。ネットワーク３０は、例えばループ型ネットワークとして構成されてもよい。ループ型ネットワークでは、信号が流れる方向は一方向に限定されず、信号が双方向に流れる。すなわち、ループ型ネットワークでは、経路の一部で障害が生じた場合、それまでとは逆の方向に信号が流れることによって、障害箇所を迂回して正常に信号を伝達することが可能となる。なお、ネットワーク３０はループ型ネットワークとは異なる形態で構成されてもよい。
【００２０】
監視制御装置４０は、ネットワーク３０を介してロジック実行装置から設備情報を受信する。監視制御装置４０は、自装置に設けられている画像表示装置に、受信された設備情報を示す画像や文字を表示する。監視制御装置４０は、入力装置に対して操作者によって行われた操作に応じた制御情報を、ネットワーク３０を介してロジック実行装置に送信する。制御情報は、ロジック実行装置から、実際に制御される設備に対して送信される。
【００２１】
サーバ装置５０は、ロジック実行装置及び監視制御装置４０を制御する。例えば、サーバ装置５０は、所定のタイミングでネットワーク３０を介し監視データを複数のロジック実行装置に対して送信する。所定のタイミングは、例えば所定の周期であってもよいし、操作者によって監視データを送信することを指示する操作が行われたタイミングであってもよいし、他のタイミングであってもよい。監視データは、所定のプロトコルにしたがって送信されてもよい。例えば、監視データは、ＵＤＰ／ＩＰ（User Datagram Protocol/Internet Protocol）のポート宛に所定のフォーマットのデータとして定周期で送信されてもよい。監視データは、例えばネットワーク３０に対してブロードキャスト送信される。監視データは、監視制御装置４０及びロジック実行装置によって受信される。
【００２２】
図２は、第一実施形態の設備監視システム１００の動作の流れの具体例を示すシーケンスチャートである。図２に示されるシーケンスチャートでは、第一ロジック実行装置１１０が稼働系として動作し、第二ロジック実行装置１２０が待機系として動作している。所定のタイミングが到来すると、サーバ装置５０は複数のロジック実行装置（例えば第一ロジック実行装置１１０及び第二ロジック実行装置１２０）に対して監視データを送信する（ステップＳ１０１）。第一ロジック実行装置１１０とサーバ装置５０との間の通信経路に異常が生じていない場合、第一ロジック実行装置１１０のネットワークモジュール１１２は監視データを受信する（ステップＳ１０２）。
【００２３】
第二ロジック実行装置１２０とサーバ装置５０との間の通信経路に異常が生じている場合、第二ロジック実行装置１２０のネットワークモジュール１２２は監視データを受信しない（ステップＳ１０３−ＮＯ）。この場合、第二ロジック実行装置１２０は次に監視データが受信されるまで待機する（ステップＳ１０４）。一方、第二ロジック実行装置１２０とサーバ装置５０との間の通信経路に異常が生じていない場合、第二ロジック実行装置１２０のネットワークモジュール１２２は監視データを受信する（ステップＳ１０３−ＹＥＳ）。第二ロジック実行装置１２０は待機系として動作しているため、監視データが受信されると、ファームウェア部１２５は受信時処理を実行する（ステップＳ１０５）。受信時処理の実行に応じて、ファームウェア部１２５は、例えば変更後（インクリメント後）のカウンタ値を、稼働系の第一ロジック実行装置１１０に対しトラッキングケーブル２０を介して送信する（ステップＳ１０６）。
【００２４】
第一ロジック実行装置１１０のファームウェア部１１５は、待機系（第二ロジック実行装置１２０）が正常に動作しているか否か判定する（ステップＳ１０７）。例えば、ファームウェア部１１５は、第二ロジック実行装置１２０から受信されたカウンタ値に基づいて、第二ロジック実行装置１２０とサーバ装置５０との間の通信経路に異常が生じていないか判定する。例えば受信時処理としてカウンタ値がインクリメントされる場合、ファームウェア部１１５は、第二ロジック実行装置１２０から受信されたカウンタ値が、一つ前に受信されたカウンタ値と異なる値であるか否かに基づいて異常の発生を判定してもよい。ファームウェア部１１５は、新たに受信されたカウンタ値と一つ前に受信されたカウンタ値とが同じ値である場合、異常が生じていると判定する。一方、新たに受信されたカウンタ値と一つ前に受信されたカウンタ値とが異なる場合、ファームウェア部１１５は異常が生じていないと判定する。また、所定の期間以上にわたって新たなカウンタ値が受信されていない場合には、待機系のＣＰＵモジュール１２１に異常が生じている可能性がある。このような事象に基づいて待機系が正常に動作しているか否か判定されてもよい。
【００２５】
ファームウェア部１１５は、待機系に異常が生じていると判定した場合（ステップＳ１０７−ＮＯ）、待機系に異常が生じていることを示す情報をサーバ装置５０に通知する（ステップＳ１０８）。この後、第一ロジック実行装置１１０のファームウェア部１１５は、次に監視データが受信されるまで待機する。
サーバ装置５０は、待機系に異常が生じていることを示す情報を受信した場合、監視制御装置４０に対し、待機系のロジック実行装置（例えば第二ロジック実行装置１２０）に異常が生じたことを示す情報を送信してもよい。この場合、監視制御装置４０は、待機系のロジック実行装置（例えば第二ロジック実行装置１２０）に対して異常が生じたことを示す画像や文字を画面に出力することによって、操作者に対して異常の発生を報知してもよい。このような報知は、画面への出力に限らず、ランプの点灯や音声の出力などどのような態様で行われてもよい。
【００２６】
待機系に異常が生じていないと判定した場合（ステップＳ１０７−ＹＥＳ）、ファームウェア部１１５は、切替条件が満たされているか否か判定する（ステップＳ１０９）。切替条件とは、稼働系のロジック実行装置において切替処理を行うことを示す条件である。切替条件は、例えば設備監視システム１００の管理者によって切替処理の実行の指示が行われたことであってもよい。切替条件は、例えば稼働系のロジック実行装置において異常が生じたことであってもよい。切替条件は、例えば稼働系のロジック実行装置とサーバ装置５０との間の通信経路に異常が生じたことであってもよい。例えば、ファームウェア部１１５は、監視データが受信されたか否かに基づいて、第一ロジック実行装置１１０とサーバ装置５０との間の通信経路に異常が生じていないか判定する。例えば、ファームウェア部１１５、自身が実装されているＣＰＵモジュール１１１においてハードウェア又はソフトウェアの異常が生じていないか判定する。切替条件が満たされていないと判定した場合（ステップＳ１０９−ＮＯ）、第一ロジック実行装置１１０のファームウェア部１１５は、次に監視データが受信されるまで待機する。
【００２７】
一方、切替条件が満たされていると判定した場合（ステップＳ１０９−ＹＥＳ）、ファームウェア部１１５は、切替処理を実行する（ステップＳ１１１）。すなわち、待機系に異常が生じておらず（ステップＳ１０７−ＹＥＳ）、且つ、切替条件が満たされている（ステップＳ１０９−ＹＥＳ）場合に、ファームウェア部１１５は切替処理を実行する。切替処理とは、稼働系として動作していたロジック実行装置を待機系として動作させ、待機系として動作していたロジック実行装置を稼働系として動作させる処理である。切替処理が完了すると、第一ロジック実行装置１１０は待機系として動作し（ステップＳ１１２）、第二ロジック実行装置１２０は稼働系として動作する（ステップＳ１１３）。第二ロジック実行装置１２０のファームウェア部１２５は、サーバ装置５０に対し、切替処理が完了したことを通知する（ステップＳ１１４）。
【００２８】
このように構成された第一実施形態では、稼働系のロジック実行装置は、サーバ装置から送信される監視データが受信されているか否かに基づいて、自装置とサーバ装置との間の通信経路に障害が生じているか否か判定する。障害が生じている場合、稼働系のロジック実行装置は、例えＣＰＵモジュールに障害が生じていない場合であっても、待機系への切替処理を実行する。切替処理が実行されると、それまで待機系として動作していたロジック実行装置が新たに稼働系のロジック実行装置として動作する。そのため、稼働系のロジック実行装置がサーバや監視制御装置と通信できなくなることにより制御できなくなってしまうことを防止することが可能となる。すなわち、システムの可用性を向上させることが可能となる。
【００２９】
また、ロジック実行装置が待機系として動作する場合であっても、ファームウェア部が受信時処理を実行する。そのため、他の装置（例えば稼働系として動作するロジック実行装置）において、待機系のロジック実行装置とサーバ装置との間の通信経路に障害が生じているか否か判定することが可能となる。
【００３０】
また、稼働系のロジック実行装置において切替条件が満たされた場合に、常に切替処理が実行されるわけではない。すなわち、待機系において異常が生じていない場合に切替処理が実行される。そのため、切替処理を実行したにもかかわらず新たな稼働系においても障害が生じてしまっているという事態の発生を防止することが可能となる。
【００３１】
監視データは、サーバ装置５０とは異なる装置によって送信されてもよい。例えば、監視制御装置４０が監視データを送信してもよい。例えば、稼働系のロジック実行装置が監視データを送信してもよい。
【００３２】
監視データは、待機系のロジック実行装置のファームウェア部によって送信されてもよい。この場合、稼働系のロジック実行装置のファームウェア部又はアプリケーション部が監視データを受信することによって、待機系のロジック実行装置の通信経路において異常が生じていないと判定してもよい。この場合、稼働系のロジック実行装置のファームウェア部又はアプリケーション部は、所定のタイミングになっても監視データが受信されない場合に、待機系のロジック実行装置の通信経路において異常が生じていると判定してもよい。稼働系のロジック実行装置に代えて、監視制御装置４０又はサーバ装置５０が上記の処理を実行してもよい。
【００３３】
（第二実施形態）
図３は、監視システムの第二実施形態（設備監視システム１００ａ）のシステム構成の具体例を表す図である。設備監視システム１００ａは、複数のロジック実行装置、第一ネットワーク６０、第二ネットワーク７０、複数の監視制御装置４０及びサーバ装置５０を備える。図３に示される設備監視システム１００ａは、少なくとも２台のロジック実行装置（第一ロジック実行装置１１０ａ及び第二ロジック実行装置１２０ａ）を備える。第一ロジック実行装置１１０ａ及び第二ロジック実行装置１２０ａは、冗長システムとして機能する。本実施形態では、通常時は第一ロジック実行装置１１０ａが稼働系として動作し、第二ロジック実行装置１２０ａが待機系として動作する。第一ロジック実行装置１１０ａにおいて障害に関する所定の条件が満たされた場合には、第一ロジック実行装置１１０ａが待機系として動作し、第二ロジック実行装置１２０ａが稼働系として動作する。設備監視システム１００ａは、所定の目的のために設置された設備を監視する。例えば、設備監視システム１００ａは、上下水道処理設備を監視対象としてもよい。
【００３４】
第一ロジック実行装置１１０ａは、二つのネットワークモジュール（第一ネットワークモジュール１１６及び第二ネットワークモジュール１１７）を備える点、ファームウェア部１１５に代えてファームウェア部１１５ａを備える点、において第一実施形態の第一ロジック実行装置１１０と異なる。第一ロジック実行装置１１０ａの他の構成については第一ロジック実行装置１１０と同じである。
【００３５】
ファームウェア部１１５ａは、予めＣＰＵモジュール１１１のメモリに記憶されているファームウェアに従って動作する。ファームウェア部１１５ａは、ＣＰＵモジュール１１１によってファームウェアが実行されることによって実現される機能部である。ロジック実行装置が待機状態であっても、ＣＰＵモジュール１１１はファームウェアを実行する。そのため、第一ロジック実行装置１１０が待機状態であっても、ＣＰＵモジュール１１１ａのファームウェア部１１５ａは機能する。
【００３６】
ファームウェア部１１５ａは、自身を備えるロジック装置（第一ロジック実行装置１１０ａ）が待機系として動作している場合、サーバ装置５０から所定のタイミングで送信される監視データが第一ネットワークモジュール１１６によって受信されると、予め定められている処理（以下「第一受信時処理」という。）を実行する。第一受信時処理は、第一ロジック実行装置１１０ａの第一ネットワークモジュール１１６において監視データが受信されたことを外部の装置が確認することが可能な処理であれば、どのような処理であってもよい。例えば、第一受信時処理は、第一カウンタの値を変更し（例えばインクリメントし）、変更後の第一カウンタの値を他の装置に通知する処理であってもよい。この通知の処理は、トラッキングケーブル２０を介して行われてもよい。例えば、第一受信時処理は、他の装置からアクセス可能な（値を参照可能な）メモリに記録されている第一カウンタの値を変更（例えばインクリメント）する処理であってもよい。第一受信時処理は、他の態様で実装されてもよい。
【００３７】
ファームウェア部１１５ａは、第一ロジック実行装置１１０ａが待機系として動作している場合、サーバ装置５０から所定のタイミングで送信される監視データが第二ネットワークモジュール１１７によって受信されると、予め定められている処理（以下「第二受信時処理」という。）を実行する。第二受信時処理は、第一ロジック実行装置１１０ａの第二ネットワークモジュール１１７において監視データが受信されたことを外部の装置が確認することが可能な処理であれば、どのような処理であってもよい。例えば、第二受信時処理は、第二カウンタの値を変更し（例えばインクリメントし）、変更後の第二カウンタの値を他の装置に通知する処理であってもよい。この通知の処理は、トラッキングケーブル２０を介して行われてもよい。例えば、第二受信時処理は、他の装置からアクセス可能な（値を参照可能な）メモリに記録されている第二カウンタの値を変更（例えばインクリメント）する処理であってもよい。第二受信時処理は、他の態様で実装されてもよい。
【００３８】
第一ネットワークモジュール１１６は、第一ネットワーク６０を介して他の装置と通信可能な通信インタフェースである。
【００３９】
第二ネットワークモジュール１１７は、第二ネットワーク７０を介して他の装置と通信可能な通信インタフェースである。
【００４０】
第二ロジック実行装置１２０ａは、通常時に待機系として動作するか稼働系として動作するかの違いはあるものの、その構成は第一ロジック実行装置１１０ａと同様である。そのため、第二ロジック実行装置１２０ａについての説明は省略する。
【００４１】
第一ネットワーク６０は、第一ロジック実行装置１１０ａ、第二ロジック実行装置１２０ａ、監視制御装置４０及びサーバ装置５０が接続される通信経路である。第一ネットワーク６０は、例えばループ型ネットワークとして構成されてもよい。第一ネットワーク６０はループ型ネットワークとは異なる形態で構成されてもよい。
【００４２】
第二ネットワーク７０は、第一ロジック実行装置１１０ａ、第二ロジック実行装置１２０ａ、監視制御装置４０及びサーバ装置５０が接続される通信経路である。第二ネットワーク７０は、例えばループ型ネットワークとして構成されてもよい。第二ネットワーク７０はループ型ネットワークとは異なる形態で構成されてもよい。
【００４３】
図４は、第二実施形態の設備監視システム１００ａの動作の流れの具体例を示すシーケンスチャートである。図４に示されるシーケンスチャートでは、第一ロジック実行装置１１０ａが稼働系として動作し、第二ロジック実行装置１２０ａが待機系として動作している。所定のタイミングが到来すると、サーバ装置５０は監視データを複数のロジック実行装置（例えば第一ロジック実行装置１１０ａ及び第二ロジック実行装置１２０ａ）に対して送信する（ステップＳ１０１）。第一ロジック実行装置１１０ａとサーバ装置５０との間の通信経路に異常が生じていない場合、第一ロジック実行装置１１０ａは監視データを受信する（ステップＳ１０２）。具体的には、第一ネットワーク６０を介した通信経路に異常が生じていない場合、第一ネットワークモジュール１１６が監視データを受信する。また、第二ネットワーク７０を介した通信経路に異常が生じていない場合、第二ネットワークモジュール１１７が監視データを受信する。
【００４４】
第二ロジック実行装置１２０ａとサーバ装置５０との間の通信経路に異常が生じている場合、第二ロジック実行装置１２０ａは監視データを受信しない（ステップＳ１０３−ＮＯ）。この場合、第二ロジック実行装置１２０ａは次に監視データが受信されるまで待機する（ステップＳ１０４）。一方、第二ロジック実行装置１２０ａとサーバ装置５０との間の通信経路に異常が生じていない場合、第二ロジック実行装置１２０は監視データを受信する（ステップＳ１０３−ＹＥＳ）。具体的には、第一ネットワーク６０を介した通信経路に異常が生じていない場合、第一ネットワークモジュール１２６が監視データを受信する。また、第二ネットワーク７０を介した通信経路に異常が生じていない場合、第二ネットワークモジュール１２７が監視データを受信する。第二ロジック実行装置１２０ａは待機系として動作しているため、監視データが受信されると、ファームウェア部１２５ａは監視データが受信された通信経路に応じて第一受信処理及び第二受信処理を実行する（ステップＳ２０１）。すなわち、第一ネットワークモジュール１２６が監視データを受信した場合、ファームウェア部１２５ａは第一受信処理を実行する。また、第二ネットワークモジュール１２７が監視データを受信した場合、ファームウェア部１２５ａは第二受信処理を実行する。なお、いずれか一方のネットワークモジュールでのみ監視データが受信された場合には、受信されたネットワークモジュールに応じた受信処理のみが実行される。例えば、第一ネットワークモジュール１２６において監視データが受信され、第二ネットワークモジュール１２７において監視データが受信されなかった場合、第一受信処理のみが実行される。
【００４５】
ファームウェア部１２５ａは、カウンタ値（第一カウンタ値及び第二カウンタ値）を、稼働系の第一ロジック実行装置１１０ａに対しトラッキングケーブル２０を介して送信する（ステップＳ２０２）。
【００４６】
第一ロジック実行装置１１０ａのファームウェア部１１５ａは、待機系（第二ロジック実行装置１２０ａ）が正常に動作しているか否か判定する（ステップＳ２０３）。例えば、ファームウェア部１１５ａは、第二ロジック実行装置１２０ａから受信された第一カウンタ値及び第二カウンタ値に基づいて、第二ロジック実行装置１２０ａとサーバ装置５０との間の第一ネットワーク６０及び第二ネットワーク７０を介した通信経路に異常が生じていないか判定する。例えば第一カウンタ値及び第二カウンタ値がインクリメントされる場合、ファームウェア部１１５ａは、第二ロジック実行装置１２０ａから受信された第一カウンタ値及び第二カウンタ値が、それぞれ一つ前に受信された第一カウンタ値及び第二カウンタ値と異なる値であるか否かに基づいて異常の発生を判定してもよい。ファームウェア部１１５ａは、新たに受信された第一カウンタ値と一つ前に受信された第一カウンタ値とがそれぞれ同じ値である場合、第一ネットワーク６０を介した通信経路に異常が生じていると判定する。ファームウェア部１１５ａは、新たに受信された第二カウンタ値と一つ前に受信された第二カウンタ値とがそれぞれ同じ値である場合、第二ネットワーク７０を介した通信経路に異常が生じていると判定する。一方、新たに受信された第一カウンタ値と一つ前に受信された第一カウンタ値とが異なる場合、ファームウェア部１１５ａは第一ネットワーク６０を介した通信経路には異常が生じていないと判定する。また、新たに受信された第二カウンタ値と一つ前に受信された第二カウンタ値とが異なる場合、ファームウェア部１１５ａは第二ネットワーク７０を介した通信経路には異常が生じていないと判定する。また、所定の期間以上にわたって新たなカウンタ値が受信されていない場合には、待機系のＣＰＵモジュール１２１ａに異常が生じている可能性がある。このような事象に基づいて待機系が正常に動作しているか否か判定されてもよい。
【００４７】
ファームウェア部１１５ａは、待機系に異常が生じている（例えば、待機系のいずれか一方又は両方の通信経路に異常が生じている）と判定した場合（ステップＳ２０３−ＮＯ）、待機系に異常が生じていることを示す情報をサーバ装置５０に通知する（ステップＳ１０８）。この後、第一ロジック実行装置１１０ａのファームウェア部１１５ａは、次に監視データが受信されるまで待機する。
この通知において、異常が生じている通信経路を示す情報が通知されてもよい。サーバ装置５０は、待機系に異常が生じていることを示す情報を受信した場合、監視制御装置４０に対し、待機系のロジック実行装置（例えば第二ロジック実行装置１２０ａ）に異常が生じたことを示す情報を送信してもよい。この場合、監視制御装置４０は、待機系のロジック実行装置（例えば第二ロジック実行装置１２０ａ）に対して異常が生じたことや、異常が生じた通信経路を示す画像や文字を画面に出力することによって、操作者に対して異常の発生を報知してもよい。このような報知は、画面への出力に限らず、ランプの点灯や音声の出力などどのような態様で行われてもよい。
【００４８】
待機系に異常が生じていないと判定した場合（ステップＳ２０３−ＹＥＳ）、ファームウェア部１１５ａは、切替条件が満たされているか否か判定する（ステップＳ２０４）。切替条件とは、稼働系のロジック実行装置において切替処理を行うことを示す条件である。切替条件は、例えば設備監視システム１００の管理者によって切替処理の実行の指示が行われたことであってもよい。切替条件は、例えば稼働系のロジック実行装置において異常が生じたことであってもよい。具体的には、稼働系の通信経路の全てに異常が生じている場合に、切替条件が満たされても良い。一方、稼働系の通信経路の少なくとも一部に異常が生じていない場合には、切替条件が満たされないと判定されてもよい。切替条件が満たされない場合（ステップＳ２０４−ＮＯ）、第一ロジック実行装置１１０ａのファームウェア部１１５ａは、切替処理は実行せずに、次に監視データが受信されるまで待機する。
【００４９】
一方、切替条件が満たされていると判定した場合（ステップＳ２０４−ＹＥＳ）、ファームウェア部１１５ａは、切替処理を実行する（ステップＳ１１１）。すなわち、待機系に異常が生じておらず（ステップＳ２０３−ＹＥＳ）、且つ、切替条件が満たされている（ステップＳ２０４−ＹＥＳ）場合に、ファームウェア部１１５ａは切替処理を実行する。切替処理が完了すると、第一ロジック実行装置１１０ａは待機系として動作し（ステップＳ１１２）、第二ロジック実行装置１２０ａは稼働系として動作する（ステップＳ１１３）。第二ロジック実行装置１２０ａのファームウェア部１２５ａは、サーバ装置５０に対し切替処理が完了したことを通知する（ステップＳ１１４）。
【００５０】
このように構成された第二実施形態では、第一実施形態と同様の効果を奏する。
さらに第二実施形態では、切替条件が満たされた場合、待機系において一部の通信経路にたとえ異常が生じていたとしても、他の通信経路が正常に動作している場合には切替処理が実行される。このように構成されることによって、切替処理を実行したにもかかわらず新たな稼働系においても障害が生じてしまっているという事態の発生を防止することが可能となるとともに、切替条件にしたがって切替処理が実行される可能性を高めることが可能となる。
【００５１】
また、第二実施形態では、稼働系の通信経路の少なくとも一部に異常が生じていない場合には、切替条件が満たされないと判定されてもよい。このように構成されることにより、稼働系で通信が可能となっている状態であるにもかかわらず、切替処理が実行されてしまうことを防ぐことができる。すなわち、切替処理の実行には正常に処理が完了しないリスクが伴うため、このようなリスクを軽減することが可能となる。
なお、第二実施形態は、第一実施形態と同様に変形して構成されてもよい。
【００５２】
以上説明した少なくともひとつの実施形態によれば、切替処理が実行されるため、システムの可用性を向上させることが可能となる。
【００５３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５４】
１１０…第一ロジック実行装置、１１１…ＣＰＵモジュール、１１２…ネットワークモジュール、１１４…アプリケーション部、１１５…ファームウェア部、１２０…第二ロジック実行装置、１２１…ＣＰＵモジュール、１２２…ネットワークモジュール、１２４…アプリケーション部、１２５…ファームウェア部、２０…トラッキングケーブル、３０…ネットワーク、４０…監視制御装置、５０…サーバ装置、６０…第一ネットワーク、７０…第二ネットワーク
【図１】
2017072989.tif 000003
【図２】
2017072989.tif 000004
【図３】
2017072989.tif 000005
【図４】
2017072989.tif 000006