(57)【要約】【課題】制御装置とデータ転送経路が二重化された制御システムにおいて、制御装置に転送されるデータ量が増加しても、制御装置本来の演算の実行に支障を発生させず、かつ稼働系／待機系の切り替えスピードの低下を招かないようにする。【解決手段】稼働系および待機系の各制御装置を第１の等値化ケーブルで接続するとともに、稼働系および待機系の各ネットワーク装置を第２の等値化ケーブルで互いに接続する。各ネットワーク装置には、ＩＯスレーブ装置から受信したデータを第２の等値化ケーブルを介して等値化し、等値化済の監視データを接続先の制御装置へ転送する処理を実行させる。【選択図】図１２
2015215863.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２のネットワークに接続された１または複数の機器から監視データを収集し、該監視データに基づいて制御を行う制御システムにおいて、
一方は稼働系となって前記制御を行い、他方は待機系となる第１および第２の制御装置と、
前記第１の制御装置と前記第１のネットワークに接続された第１の中継装置と、
前記第２の制御装置と前記第２のネットワークに接続された第２の中継装置と、
前記第１の中継装置と前記第２の中継装置の通信を仲介する中継装置間通信手段と、
を有し、
前記第１および第２の中継装置の各々は、前記１または複数の機器から受信した監視データを接続先の制御装置へ転送するとともに、当該監視データを等値化するための通信を前記中継装置間通信手段を介して行い、
前記第１の制御装置と前記第２の制御装置のうち稼働系となっている方は、接続先の中継装置から受信した監視データを用いて前記制御を行う
ことを特徴とする制御システム。
【請求項２】
前記第１および第２の中継装置のうちの一方は、
監視データを等値化する処理として、接続先のネットワークから受信した監視データを前記中継装置間通信手段を介して待機系の中継装置へ転送する処理を実行し、
前記第１および第２の中継装置のうちの他方は、監視データを等値化する処理として、接続先のネットワークから受信した監視データを当該監視データに対応するものとして前記中継装置間通信手段経由で受信した監視データで置き換える処理を実行する
ことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記第１の制御装置と前記第２の制御装置の通信を仲介する制御装置間通信手段を備え、
前記第１および第２の制御装置は、
前記制御装置間通信手段を介した通信が可能であるか否かを判定し、可能であれば、自装置における故障の有無を示す状態データを前記制御装置間通信手段を介して送受信することにより他方の故障の有無を監視し、不可能であれば、前記中継装置間通信手段を介して前記状態データを送受信することにより他方の故障の有無を監視する
ことを特徴とする請求項１または請求項２に記載の制御システム。
【請求項４】
前記第１および第２の中継装置は、複数の機器の各々から送信された監視データを受信し、
前記複数の機器の各々について、当該機器から送信された監視データの等値化を中継装置側で行うのかそれとも制御装置側で行うのかが予め定められており、
前記第１および第２の中継装置の各々は、中継装置側で等値化を行うと定められている機器から受信した監視データについては前記中継装置間通信手段を介した通信により等値化を行い、
前記第１および第２の制御装置の各々は、接続先の中継装置を介して受信した監視データのうち制御装置側で等値化を行うと定められている機器から送信された監視データを前記制御装置間通信手段を介した通信により等値化を行う
ことを特徴とする請求項３に記載の制御システム。
【請求項５】
前記第１および第２の中継装置は、
前記中継装置間通信手段を介した通信の可否を判定する判定手段を備え、
前記第１および第２の中継装置は、
前記判定手段により可能と判定された場合に前記中継装置間通信手段を介した通信により監視データの等値化を行い、前記判定手段により不可能と判定された場合には前記制御装置間通信手段を介した通信により監視データの等値化を行う
ことを特徴とする請求項３に記載の制御システム。
【請求項６】
前記第１および第２の中継装置の各々は、
接続先のネットワークから受信した監視データを前記中継装置間通信手段経由で他方の中継装置へ転送する第１の処理手段と、
前記中継装置間通信手段経由で他方の中継装置から受信した監視データの送信元の機器との通信が可能であるか否かを判定し、通信不能と判定された機器から受信するはずであった監視データを前記中継装置間通信手段経由で受信した監視データで補完する第２の処理手段と、
を有することを特徴とする請求項１に記載の制御システム。
【請求項７】
前記第２の処理手段は、
通信不能であると判定した機器を示す識別情報を記憶装置に記憶させ、当該記憶装置に識別情報が記憶されてくる機器については前記中継装置間通信手段経由で受信した監視データによる補完または置き換えを行う一方、自装置の電源断またはリセットを契機として前記記憶装置の記憶内容を初期化する
ことを特徴とする請求項６に記載の制御システム。
【請求項８】
前記第１および第２の中継装置は、
接続先の制御装置にかかっている処理負荷を計測する負荷計測手段を備え、
前記第１および第２の中継装置の各々は、
前記負荷計測手段により計測された処理負荷が所定に閾値を上回っていれば前記中継装置間通信手段を介した通信により監視データの等値化を行い、前記閾値未満であれば前記制御装置間通信手段を介した通信により監視データの等値化を行う
ことを特徴とする請求項３に記載の制御システム。
【請求項９】
前記第１および第２の中継装置は、接続先の制御装置にかかっている処理負荷を計測する負荷計測手段を備えるとともに、
前記第１および第２の制御装置の処理負荷が高いほど中継装置側で等値化を行う監視データが多くなるように、監視データの等値化を中継装置側で行うのかそれとも制御装置側で行うのかの振り分けパターンが前記処理負荷に応じて複数通り定められており、
前記第１および第２の中継装置の各々は、前記負荷計測手段により計測された処理負荷に応じた振り分けパターンにおいて中継装置側で等値化を行うと定められている監視データのみを前記中継装置間通信手段を介した通信により等値化し、
前記第１および第２の制御装置の各々は、自装置の処理負荷に応じた振り分けパターンにおいて制御装置側で等値化を行うと定められている監視データを前記制御装置間通信手段を介した通信により等値化する
ことを特徴とする請求項８に記載の制御システム。
【請求項１０】
前記第１および第２の中継装置の何れか一方には、第３のネットワークが接続されており、
前記第３のネットワークに接続された中継装置は、前記第３のネットワークに接続されている機器から監視データを収集し、収集した監視データを自装置に接続されている制御装置に転送するとともに、前記中継装置間通信手段を介して他方の中継装置に転送する
ことを特徴とする請求項１に記載の制御システム。
【請求項１１】
前記中継装置間通信手段を介して通信する前記第１の中継装置および前記第２の中継装置よりなる中継装置対を複数有することを特徴とする請求項１に記載の制御システム。
【請求項１２】
一方が稼働系となって制御を行い他方が待機系となる第１および第２の制御装置の一方に接続されるとともに、監視データを送信する１または複数の機器が接続された第１のネットワークに接続され、前記１または複数の機器から送信される監視データを接続先の制御装置へ転送する中継装置において、
前記１または複数の機器が接続された第２のネットワークと前記第１および第２の制御装置のうちの他方とに接続される他の中継装置との通信を仲介する中継装置間通信手段に接続される通信インタフェース部と、
前記第１のネットワークを介して前記１または複数の機器から受信した監視データを接続先の制御装置へ転送するとともに、当該監視データを等値化するための通信を前記中継装置間通信手段を介して行う制御部と、
を有することを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、稼働系と待機系の制御装置を含む制御システム、その中継装置に関する。
【背景技術】
【０００２】
工場や各種プラント等の産業施設においては、各種操業を制御するために制御システムと呼ばれる通信システムが構築されることが多い。制御システムには、産業施設内に設置されたセンサからの監視データの収集やその収集結果に応じて電動機等の駆動制御を行う制御装置が含まれている。このような制御装置としては、ＤＣＳ（Distributed
Control System：分散型制御システム或いは分散型制御装置）やプログラマブルロジックコントローラ（以下、ＰＬＣ）が用いられる。一般的なＦＡ（Factory Automation）システムでは制御装置としてＰＬＣが用いられることが多く、高信頼性を要求されるプラント設備では制御装置としてＤＣＳが用いられることが多い。ＤＣＳはＰＬＣに比較して信頼性が高いからである。上記センサのように制御装置による監視データの収集対象となる装置や電動機などの制御対象装置（以下、両者をまとめて「ＩＯスレーブ装置」と呼ぶ）は、ＩＯネットワークと呼ばれるネットワーク（或いはシリアルバス）に接続される。制御装置は、中継装置（例えば、ゲートウェイ装置）等のネットワーク装置を介してＩＯネットワークに接続される。
【０００３】
この種の制御システムでは、制御装置等の故障に起因する操業停止を回避するために、制御装置の二重化および監視データのデータ伝送経路の二重化が行われることが一般的である。制御装置の二重化とは、２台の制御装置を設け、その一方を稼働系、他方を待機系として動作させることを言う。これら２台の制御装置の各々は、監視データを収集し、収集した監視データ（或いは収集した監視データと過去の演算結果）を用いて機器制御のための所定の演算を行う。稼働系の制御装置は当該演算結果に基づく制御を行い、待機系の制御装置は、稼働系の制御装置の停止に備える。そして、待機系の制御装置は、稼働系が停止するとき（或いは停止したとき）には、稼働系として動作し、機器制御を継続する。ここで、稼働系の制御装置の停止の具体例としては、何らかの故障や不具合の発生に起因する予期せぬ停止や、保守メンテナンス等による予め計画された停止などが考えられる。待機系の制御装置はこれら２種類の停止の両方に備える。データ伝送経路の二重化とは、例えばＩＯスレーブ装置から二重化された制御装置の一方へ至るデータ伝送経路と、他方へ至るデータ伝送経路とを各々別個に設けることを言う。以下では、制御装置とデータ伝送経路の両方が二重化された制御システムのことを「冗長化制御システム」と呼ぶ。
【０００４】
図１７は、冗長化制御システムの構成例を示す図である。図１７に示すシステムは、産業施設内に設置された各種センサなどのＩＯスレーブ装置Ｓ１〜Ｓｎ（ｎは２以上の整数）から出力される監視データを収集し、それら監視データに基づいて（或いは当該監視データと過去の演算結果に基づいて）所定の演算を行い、その演算結果に応じて電動機等の作動制御を行う制御システムである。この制御システムは、制御装置１０Ａおよび制御装置１０Ｂの２台の制御装置と、ネットワーク装置２０Ａおよびネットワーク装置２０Ｂの２台のネットワーク装置とを有している。図１７に示すシステムでは、制御装置１０Ａと制御装置１０Ｂのうちの一方が稼働系となり、他方は待機系となって稼働系の停止に備える。制御装置１０Ａおよび制御装置１０Ｂにはその稼働状態等の監視を行うための監視システム５０が接続されている。また、制御装置１０Ａはネットワーク装置２０Ａを介してＩＯネットワーク３０Ａに接続されており、制御装置１０Ｂはネットワーク装置２０Ｂを介してＩＯネットワーク３０Ｂに接続されている。ＩＯスレーブ装置Ｓ１〜Ｓｎの各々は、ＩＯネットワーク３０ＡおよびＩＯネットワーク３０Ｂの両方に接続されている。
【０００５】
図１７に示すシステムでは、制御装置１０Ａと制御装置１０Ｂの各々は、他方の状態監視を行えるようにするために、等値化ケーブル４０により接続されている。前述したように待機系の制御装置は、稼働系の制御装置について故障等に起因する予期せぬ停止や保守メンテナンス等の計画的な停止などに備えるのであるが、以下では故障により停止する場合を例にとって説明する。制御装置１０Ａと制御装置１０Ｂの各々は、自装置の状態（故障の有無）を示す状態データを等値化ケーブル４０を介して他方に送信する。例えば、制御装置１０Ａが稼働系となっている場合、待機系である制御装置１０Ｂは等値化ケーブル４０を介して制御装置１０Ａから送信されてくる状態データを参照して制御装置１０Ａにおける故障発生を監視する。そして、制御装置１０Ｂは、等値化ケーブル４０を介して受信した状態データから制御装置１０Ａの故障発生を検出すると、以降、稼働系としての動作を開始する。一方、制御装置１０Ａは制御装置１０Ｂが稼働系としての動作を開始したことを等値化ケーブル４０を介した通信により検出し、以降、待機系として動作する。
【０００６】
冗長化制御システムでは、稼働系の制御装置に故障が発生しても稼働系／待機系の切り替えを行うことで、ＩＯスレーブ装置Ｓ１〜Ｓｎの各々からのデータ収集、その収集結果に応じた演算、およびその演算結果に応じた制御を継続することができる。しかし、単に稼働系／待機系の切り替えを行うだけでは、その切り替え前後で上記演算結果が突変するなどの不具合が発生する場合がある。これは、ＩＯスレーブ装置Ｓ１〜Ｓｎの各々から制御装置１０Ａと制御装置１０Ｂに送られる監視データが完全に同一であるとは限らないことに起因している。
【０００７】
このような不具合の発生を回避するため、冗長化制御システムでは、ＩＯスレーブ装置Ｓ１〜Ｓｎの各々から各制御装置へ送信されてくる監視データの等値化や、演算結果の等値化といった処理を各制御装置に実行させることが一般的である。監視データの等値化とは、稼働系の制御装置がネットワーク装置経由で受信した監視データを等値化ケーブル４０を介して待機系の制御装置へ送信し、当該監視データで待機系の制御装置がネットワーク経由で受信した監視データを上書きすることを言う。また、演算結果の等値化とは、稼働系における演算結果を示すデータを等値化ケーブル４０を介して待機系の制御装置に送信し、当該データで待機系における演算結果を上書きすることを言う。このような冗長化制御システムおよび等値化に関する従来技術の一例としては特許文献１や特許文献２に開示の技術が挙げられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−１２０９４号公報
【特許文献２】特開２０１３−１５２６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
近年では、制御システムに含まれるＩＯスレーブ装置の多様化や数の増加、ＩＯネットワークにおけるデータ伝送速度の向上に伴い、単位時間当たりにネットワーク装置経由で制御装置に送信されてくる監視データのデータ量が大幅に増加している。ネットワーク装置経由で制御装置が受信する監視データのデータ量が増加すると、それら監視データについての等値化処理の処理負荷が高くなり、制御装置の本来の役割である機器制御のための演算の実行やその演算結果に応じた機器制御に充分なリソースを割り当てることが困難になる場合がある。また、近年では、１台の制御装置に複数のネットワーク装置を接続したいといったニーズが高まっているが、制御装置に接続するネットワーク装置の数が増えると同様の問題が発生する。さらに、ネットワーク装置経由で制御装置が受信する単位時間当たりの監視データのデータ量が増えると、稼働系の故障発生時に稼働系／待機系の切り替えを迅速に行えなくなるといった問題もある。前述したように、ネットワーク装置経由で制御装置が受信する監視データについての等値化が完了した後でなければ、演算結果の突変の発生を回避しつつ稼働系／待機系の切り替えを行うことはできないからである。
【００１０】
本発明は以上に説明した課題に鑑みて為されたものであり、冗長化制御システムにおいて、ネットワーク経由で各制御装置に転送されてくる監視データのデータ量が増加しても、制御装置本来の演算の実行に何ら支障を発生させず、かつ稼働系／待機系の切り替えスピードの低下を招かないようにする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明は、第１および第２のネットワークに接続された１または複数の機器から監視データを収集し、該監視データに基づいて制御を行う制御システムとして、以下の第１および第２の制御装置と、第１および第２の中継装置とを有する制御システムを提供する。第１および第２の制御装置は、一方が稼働系となって前記制御を行い、他方は待機系となる。第１および第２の中継装置の具体例としては前述したネットワーク装置が挙げられる。第１の中継装置は第１の制御装置と第１のネットワークに接続されており、第２の中継装置は第２の制御装置と第２のネットワークに接続されている。また、第１および第２の中継装置は、中継装置間通信手段に接続されている。そして、第１および第２の中継装置の各々は、１または複数の機器から送信された監視データを接続先の制御装置へ転送するとともに、当該監視データを等値化するための通信を中継装置間通信手段を介して行う。稼働系となっている制御装置は、接続先の中継装置から受信した監視データを用いて前記制御を行う。
【００１２】
本発明の制御システムにおいては、各機器から第１および第２の制御装置へ送信される監視データの等値化は第１および第２の中継装置によって行われる。したがって、監視データのデータ量が増加しても、監視データの等値化によって第１および第２の制御装置の各々の処理負荷が過剰に高くなることはなく、第１および第２の制御装置の各々における上記演算の実行に何らの支障が生じることはない。また、第１および第２の制御装置の各々には第１および第２の中継装置により等値化済のデータが与えられる。このため、第１および第２の制御装置の一方を稼働系として機能させ、他方を待機系として機能させるとともに、稼働系の停止に起因して稼働系／待機系の切り替えを行う場合に監視データの等値化完了を待つ必要はなく、稼働系／待機系の切り替えを迅速に行うことができる。なお、本発明の制御システムに含まれる中継装置対（すなわち、中継装置間通信手段を介して通信する第１および第２の中継装置よりなる中継装置対）は１つに限定される訳ではなく、複数であっても良い。具体的には、各々異なる機器が接続された複数の第１のネットワークに各々接続されるとともに第１の制御装置に各々接続される複数の第１の中継装置と、各々が複数の第１の中継装置の各々と対になる複数の第２の中継装置であって、上記各機器が接続される複数の第２のネットワークに各々接続されるとともに第２の制御装置に各々接続される複数の第２の中継装置と、を有し、複数の第１の中継装置と複数の第２の中継装置は、互いに対になるもの同士が中継装置間通信手段を介して通信する態様が考えられる。
【００１３】
ここで、中継装置間通信手段を介した通信による監視データの等値化の具体的な実現方法としては、種々の態様が考えられる。例えば、第１の中継装置と第２の中継装置のうちの一方（例えば、稼働系の制御装置に接続されている方）から他方へ監視データを送信し、当該他方の中継装置には、ネットワーク経由で受信した監視データを中継装置間通信手段を介して受信した監視データで上書きする（置き換える）処理を実行させる態様が考えられる。
【００１４】
また別の好ましい態様においては、第１および第２の中継装置の各々に以下の第１および第２の処理手段を設ける態様が考えられる。第１の処理手段は、接続先のネットワークから受信した監視データを中継装置間通信手段経由で他方の中継装置へ転送する。そして、第２の処理手段は、中継装置間通信手段経由で他方の中継装置から受信した監視データの送信元の機器との通信が可能であるか否かを確認し、通信不能であった場合には当該機器から受信するはずであった監視データを中継装置間通信手段経由で受信した監視データで補完する。従来の冗長化制御システムにおいては、稼働系の制御装置へ監視データを転送する中継装置に接続されているネットワーク（或いは、各機器を当該ネットワークに接続するためのＩＯマスタ）に故障が発生した場合も、稼働系／待機系の切り替えを行う必要があった。これに対して本態様によれば、上記ネットワーク等の故障に起因して稼働系／待機系の切り替えを行う必要はなく、稼働系／待機系の切り替えの発生頻度を低減させることが可能になる。この点については本発明の第４実施形態にて詳細に説明する。
【００１５】
より好ましい態様においては、第１および第２の中継装置の何れか一方には、第３のネットワークが接続されている。そして、第３のネットワークに接続された中継装置は、当該第３のネットワークに接続されている機器から監視データを収集し、収集した監視データを接続先の制御装置に転送するとともに、中継装置間通信手段を介して他方の中継装置に転送して等値化を行わせる。詳細については本発明の第３実施形態の説明において明らかにするが、図１７に示す従来の冗長化制御システムの中継装置に二重化されていないネットワークを接続することには様々な問題があり、このような接続形態を簡便に採用することはできなかった。これに対して本態様によれば、このような中継装置に二重化されていないネットワークを簡便に接続することが可能になる。
【００１６】
さらに好ましい態様においては、前記第１の制御装置と前記第２の制御装置の通信を仲介する制御装置間通信手段を備え、前記第１および第２の中継装置は、前記中継装置間通信手段を介した通信の可否を判定する判定手段を備え、前記第１および第２の中継装置は、前記判定手段により可能と判定された場合には前記中継装置間通信手段を介した通信により監視データの等値化を行い、前記判定手段により不可能と判定された場合には前記制御装置間通信手段を介した通信により監視データの等値化を行うことを特徴とする。図１７に示す従来の冗長化制御システムでは、制御装置１０Ａおよび制御装置１０Ｂを互いに接続する等値化ケーブル４０が制御装置間通信手段の役割を果たす。等値化ケーブル４０の切断が発生すると、図１７に示す制御システムでは監視データの等値化を全く行えなくなる。これに対して本態様の通信システムでは、監視データの等値化のためのデータ通信を仲介する通信手段が制御装置間通信手段と中継装置間通信手段により二重化されているため、何れか一方を介した通信が可能であれば、何ら問題なく監視データの等値化を行うことができる。同様に、前記第１および第２の制御装置は、前記制御装置間通信手段を介した通信が可能であるか否かを判定し、可能であれば、自装置における故障の有無を示す状態データを前記制御装置間通信手段を介して送受信することより他方の故障の有無を監視し、不可能であれば、前記中継装置間通信手段を介して前記状態データを送受信することにより他方の故障の有無を監視する、といった態様も考えられる。
【００１７】
また、別の好ましい態様においては、前記第１および第２の中継装置は、接続先の制御装置にかかっている処理負荷を計測する負荷計測手段を備え、前記第１および第２の中継装置は、前記負荷計測手段により計測された処理負荷が所定の閾値を上回っていれば前記中継装置間通信手段を介した通信により監視データの等値化を行い、前記閾値未満であれば前記制御装置間通信手段を介した通信により監視データの等値化を行うことを特徴とする。このような態様によれば、第１および第２の制御装置の各々にかかる処理負荷を分散しつつ、監視データの等値化のためのデータ通信を二重化することが可能になる。
【００１８】
また、上記課題を解決するための本発明は、一方が稼働系となって制御を行い他方が待機系となる第１および第２の制御装置の一方に接続されるとともに、監視データを送信する１または複数の機器が接続された第１のネットワークに接続され、前記１または複数の機器から送信される監視データを接続先の制御装置へ転送する中継装置に以下の通信インタフェース部と制御部とを設ける。通信インタフェース部は、中継装置間通信手段を介して他の中継装置に接続されている。当該他の中継装置は、１または複数の機器が接続された第２のネットワークと第１および第２の制御装置のうちの他方とに接続されている。制御部は、例えば、ＣＰＵ（Central Processing Unit）である。この制御部は、第１のネットワークを介して１または複数の機器から受信した監視データを接続先の制御装置へ転送するとともに、当該監視データを等値化するための通信を中継装置間通信手段を介して行う。冗長化制御システムにおいて制御装置とデータ伝送路とを接続する中継装置（図１７に示す例では、ネットワーク装置２０Ａおよびネットワーク装置２０Ｂ）を、本発明の中継装置に置き換えることで、当該既存の冗長化制御システムを本発明の通信システムとして機能させることが可能になる。
【００１９】
また、上記課題を解決するための他の態様としては、ＣＰＵなどの一般的なコンピュータを上記中継装置として機能させるプログラムを提供する態様が考えられる。このようなプログラムにしたがって一般的なコンピュータを作動させることで、当該コンピュータを本発明の中継装置として機能させることができるからである。なお、上記プログラムの具体的な提供態様としては、インターネットなどの電気通信回線経由のダウンロードにより配布する態様や、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やフラッシュＲＯＭなどのコンピュータ読み取り可能な記録媒体に書き込んで配布する態様が考えられる。
【発明の効果】
【００２０】
以上説明したように本発明によれば、冗長化制御システムにおいて、ネットワーク経由で各制御装置に転送される監視データのデータ量が増加しても、制御装置本来の演算の実行に何ら支障を発生させず、かつ稼働系／待機系の切り替えスピードの低下を招かないようにすることが可能になる。
【図面の簡単な説明】
【００２１】
【図１】本発明の中継装置の一例のネットワーク装置２００を含む通信システム１Ａ（本発明の第１実施形態の通信システム）の構成例を示す図である。
【図２】同通信システム１Ａに含まれるネットワーク装置２００の構成例を示す図である。
【図３】同ネットワーク装置２００の制御部２１０が中継制御プログラム２５４２にしたがって実行する等値化処理２５４２ｂの流れを示すフローチャートである。
【図４】同ネットワーク装置２００の制御部２１０が中継制御プログラム２５４２にしたがって実行する動作を説明するための図である。
【図５】第１実施形態の効果を説明するための図である。
【図６】第１実施形態の変形例を説明するための図である。
【図７】第１実施形態の他の変形例を説明するための図である。
【図８】本発明の第２実施形態を説明するための図である。
【図９】本発明の第３実施形態を説明するための図である。
【図１０】本発明の第４実施形態を説明するための図である。
【図１１】同第４実施形態のネットワーク装置２００´´の構成例を示す図である。
【図１２】同ネットワーク装置２００´´の制御部２１０が中継制御プログラム２５４２´´にしたがって実行する動作を説明するための図である。
【図１３】同制御部２１０が中継制御プログラム２５４２´´にしたがって実行する等値化受信処理２５４２ｂ２の流れを示すフローチャートである。
【図１４】同第４実施形態の効果を説明するための図である。
【図１５】同第４実施形態の効果を説明するための図である。
【図１６】同第４実施形態の変形例を説明するための図である。
【図１７】制御システムの従来例を示す図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しつつ本発明の実施形態を説明する。
（Ａ：第１実施形態）
図１は本発明の第１実施形態の通信システム１Ａの構成例を示す図である。
この通信システム１Ａは、前掲図１７に示したシステムと同様、産業施設内に敷設された制御システムである。図１では図１７におけるものと同一の構成要素には同一の符号が付されている。図１と図１７とを対比すれば明らかなように、通信システム１Ａは、以下の３つの点が図１７に示す従来の冗長化制御システムと異なる。第１に、制御装置１０Ａおよび制御装置１０Ｂの代わりに制御装置１００Ａおよび制御装置１００Ｂを有する点である。第２に、ネットワーク装置２０Ａおよびネットワーク装置２０Ｂの代わりにネットワーク装置２００Ａおよびネットワーク装置２００Ｂを有する点である。そして、第３に、ネットワーク装置２００Ａとネットワーク装置２００Ｂが等値化ケーブル４００により接続されている点である。
【００２３】
ネットワーク装置２００Ａとネットワーク装置２００Ｂの各々は本発明の中継装置の一実施形態であり、等値化ケーブル４００は当該中継装置同士の通信を仲介する中継装置間通信手段の役割を果たす。ネットワーク装置２００Ａおよびネットワーク装置２００Ｂは、図１７におけるネットワーク装置２０Ａやネットワーク装置２０Ｂと同様にゲートウェイ装置である。図１に示す通信システム１Ａでは、ＩＯスレーブ装置Ｓ１、Ｓ１・・・Ｓｎの各々から送信された監視データは、ＩＯネットワーク３０Ａおよびネットワーク装置２００Ａを介して制御装置１００Ａに伝送されるとともに、ＩＯネットワーク３０Ｂおよびネットワーク装置２００Ｂを介して制御装置１００Ｂに伝送される。制御装置１００Ａおよび制御装置１００Ｂの各々は、図１７における制御装置１０Ａおよび制御装置１０Ｂと同様に、ＩＯスレーブ装置Ｓ１、Ｓ１・・・Ｓｎから収集した監視データおよび過去の演算結果を使用した演算（機器制御のための演算）、およびその演算結果の記憶を行う。制御装置１００Ａおよび制御装置１００Ｂは、ＰＬＣであっても良いし、ＤＣＳであっても良い。
【００２４】
図１に示す通信システム１Ａでは、制御装置１００Ａと制御装置１００Ｂのうちの一方が稼動系となって上記演算結果に基づく他の機器の制御を実行し、他方は待機系となって稼動系の停止（前述した２種類の停止など）に備える。そして、稼動系が停止するときには、待機系となっていた制御装置は、以降、稼動系として動作する。なお、稼動系と待機系の切り替えについては、従来の冗長化制御システムと同様の方法により実現すれば良い。
【００２５】
前述したように、稼動系／待機系の切り替えの際には、演算結果の突変を回避するために監視データの等値化と演算結果の等値化が必要となる。図１７に示す従来の冗長化制御システムでは、監視データの等値化と演算結果の等値化を制御装置１０Ａと制御装置１０Ｂに行わせていた。これに対して、本実施形態では、監視データの等値化をネットワーク装置２００Ａおよびネットワーク装置２００Ｂに行わせ、制御装置１００Ａと制御装置１００Ｂには、演算結果の等値化のみを行わせる点が異なる。以下、本実施形態の特徴を顕著に示すネットワーク装置２００Ａおよびネットワーク装置２００Ｂを中心に説明する。なお、ネットワーク装置２００Ａおよびネットワーク装置２００Ｂは同一の構成を有しているため、以下では両者を区別する必要がない場合には「ネットワーク装置２００」と表記する。
【００２６】
本実施形態では、ネットワーク装置２００についても稼動系と待機系の区別がある。より詳細に説明すると、ネットワーク装置２００は自身の接続先の制御装置と通信し、接続先の制御装置が稼動系であるか否かを判定する。そして、ネットワーク装置２００は、接続先の制御装置が稼動系であれば、稼動系のネットワーク装置として振る舞い、逆に接続先の制御装置が待機系であれば、待機系のネットワーク装置として振る舞う。つまり、本実施形態では、ネットワーク装置２００Ａとネットワーク装置２００Ｂのうち、稼動系の制御装置に接続されている方が稼動系となり、待機系の制御装置に接続されている方が待機系となる。そして、制御装置についての稼動系／待機系の切り替えが発生すると、ネットワーク装置２００についても、その切り替えに従属して稼動系と待機系とが切り替えられる。本実施形態では、ネットワーク装置２００についての稼働系／待機系に切り替えを制御装置についての稼動系／待機系の切り替えに従属させる場合について説明するが、等値化ケーブル４００を介した状態データの送受信により他方の状態を監視し、制御装置についての稼働系／待機系の切り替えとは独立に、この状態監視の結果に応じて稼働系／待機系を切り替えるようにしても良い。
【００２７】
図２は、ネットワーク装置２００の構成例を示すブロック図である。
ネットワーク装置２００は、図２に示すように、制御部２１０、第１通信インタフェース（以下、「Ｉ／Ｆ」と略記）部２２０、第２通信Ｉ／Ｆ部２３０、第３通信Ｉ／Ｆ部２４０、記憶部２５０、およびこれら構成要素間のデータ授受を仲介するバス２６０を含んでいる。
【００２８】
制御部２１０は、例えばＣＰＵである。制御部２１０は記憶部２５０（より正確には不揮発性記憶部２５４）に記憶されている中継制御プログラム２５４２を実行することにより、ネットワーク装置２００の制御中枢として機能する。制御部２１０が中継制御プログラム２５４２にしたがって実行する処理の詳細については後に明らかにする。第１通信Ｉ／Ｆ部２２０、第２通信Ｉ／Ｆ部２３０および第３通信Ｉ／Ｆ部２４０の各々は、例えばＮＩＣ（Network Interface Card）である。これら各通信Ｉ／Ｆ部の役割は以下の通りである。
【００２９】
第１通信Ｉ／Ｆ部２２０はＩＯネットワークに接続されている。より詳細に説明すると、ネットワーク装置２００Ａの第１通信Ｉ／Ｆ部２２０はＩＯネットワーク３０Ａに接続されており、ネットワーク装置２００Ｂの第１通信Ｉ／Ｆ部２２０はＩＯネットワーク３０Ｂに接続されている。第１通信Ｉ／Ｆ部２２０は、接続先のＩＯネットワークから送信されてくるデータの受信、および接続先のＩＯネットワークへのデータの送出を行う。第１通信Ｉ／Ｆ部２２０は、接続先のＩＯネットワークから受信したデータを蓄積する通信バッファを有している（図２では図示略）。
【００３０】
第２通信Ｉ／Ｆ部２３０は通信線を介して制御装置に接続されている。より詳細に説明すると、ネットワーク装置２００Ａの第２通信Ｉ／Ｆ部２３０は制御装置１００Ａに接続されており、ネットワーク装置２００Ｂの第２通信Ｉ／Ｆ部２３０は制御装置１００Ｂに接続されている。第２通信Ｉ／Ｆ部２３０は、その接続先の制御装置から送信されてくるデータの受信、および接続先の制御装置へのデータの送出を行う。第２通信Ｉ／Ｆ部２３０は、接続先の制御装置へ送信するデータを蓄積する通信バッファを有している（図２では図示略）。
【００３１】
第３通信Ｉ／Ｆ部２４０は等値化ケーブルの接続されるポートを有しており、当該ポートには等値化ケーブル４００が接続される。第３通信Ｉ／Ｆ部２４０は、等値化ケーブル４００を介して他方のネットワーク装置と監視データの等値化のための通信を行う。
【００３２】
記憶部２５０は、図２に示すように揮発性記憶部２５２と不揮発性記憶部２５４とを有している。揮発性記憶部２５２は、例えばＲＡＭ（Random Access Memory）である。揮発性記憶部２５２は、中継制御プログラム２５４２を実行するためのワークエリアとして使用される。また、揮発性記憶部２５２は、制御装置へ伝送する監視データを一時的に蓄積する監視データバッファ２５２２の役割も果たす。さらに、揮発性記憶部２５２には、当該揮発性記憶部２５２を有するネットワーク装置２００が稼働系として動作しているのか、それとも待機系として動作しているのかを示す稼働／待機フラグが格納される。不揮発性記憶部２５４は例えばフラッシュＲＯＭである。不揮発性記憶部２５４には中継制御プログラム２５４２が予め格納されている。
【００３３】
制御部２１０は、ネットワーク装置２００の電源（図示略）の投入或いはリセットを契機として不揮発性記憶部２５４から揮発性記憶部２５２へ中継制御プログラム２５４２を読み出し、その実行を開始する。中継制御プログラム２５４２にしたがって作動している制御部２１０は、接続先の制御装置の動作状態を監視しその監視結果に応じて稼働／待機フラグを設定する処理を実行する他、中継処理２５４２ａと等値化処理２５４２ｂを実行する。中継処理２５４２ａおよび等値化処理２５４２ｂの詳細については動作例において明らかにするが概略は以下の通りである。すなわち、等値化処理２５４２ｂは、等値化ケーブル４００を介した通信により、ＩＯスレーブ装置Ｓ１〜Ｓｎの各々から収集した監視データを等値化する処理である。図３は、等値化処理２５４２ｂの流れを示すフローチャートである。図３を参照すれば明らかなように、等値化処理２５４２ｂの処理内容は、稼働系として動作している場合と待機系として動作している場合とで異なっている。この等値化処理２５４２ｂの処理内容の詳細については動作例の説明において明らかにする。中継処理２５４２ａは、等値化処理２５４２ｂにより等値化された監視データを、第２通信Ｉ／Ｆ部２３０に接続されている制御装置へ転送する処理である。
以上がネットワーク装置２００の構成である。
【００３４】
次いで、図３および図４を参照しつつネットワーク装置２００の動作を説明する。なお、以下に説明する動作例では制御装置１００Ａおよびネットワーク装置２００Ａが稼働系であり、制御装置１００Ｂおよびネットワーク装置２００Ｂが待機系であるとする。また、以下に説明する動作例では、動作開始時点ではネットワーク装置２００Ａおよびネットワーク装置２００Ｂの各々の監視データバッファ２５２２が空である場合について説明する。
【００３５】
ＩＯスレーブ装置Ｓ１〜Ｓｎの各々は、入力信号（若しくはセンサ等の出力信号）をサンプリングして制御装置１００Ａおよび制御装置１００Ｂの各々に送信する監視データを生成し、ＩＯネットワーク３０ＡおよびＩＯネットワーク３０Ｂの各々へ送信する。ＩＯスレーブ装置Ｓ１〜Ｓｎが送信する監視データには、当該監視データの送信先および送信元を示す情報（通信アドレスやノード番号）と当該監視データを一意に示す識別子等とを含むヘッダが付与されている。ＩＯスレーブ装置Ｓ１〜Ｓｎの各々から送信された監視データは、ＩＯネットワーク３０ＡおよびＩＯネットワーク３０Ｂの各々を介してネットワーク装置２００Ａおよびネットワーク装置２００Ｂの各々へと伝送される。以下ではネットワーク装置２００Ａに伝送される監視データを「監視データＡ」と呼び、ネットワーク装置２００Ｂに伝送される監視データを「監視データＢ」と呼ぶ。監視データＡと監視データＢは基本的には同一のデータであるが、各々をサンプリングする際のサンプリングタイミングのズレにより微妙に異なる場合がある。
【００３６】
ネットワーク装置２００Ａの第１通信Ｉ／Ｆ部２２０はＩＯネットワーク３０Ａから送信されてくる監視データを受信すると、当該受信した監視データを第１通信Ｉ／Ｆ部２２０内の通信バッファに書き込む。ネットワーク装置２００Ｂにおいても同様に、ネットワーク装置２００Ｂの第１通信Ｉ／Ｆ部２２０の通信バッファには、ＩＯネットワーク３０Ｂから受信した監視データが書き込まれる。つまり、本動作例では、ネットワーク装置２００Ａの第１通信Ｉ／Ｆ部２２０内の通信バッファには監視データＡが格納され、ネットワーク装置２００Ｂの第１通信Ｉ／Ｆ部２２０内の通信バッファには監視データＢが格納される。
【００３７】
ネットワーク装置２００Ａの制御部２１０は、第１通信Ｉ／Ｆ部２２０内の通信バッファへの監視データの書き込み（換言すれば、接続先のＩＯネットワーク３０Ａからの監視データの受信）を契機として中継処理２５４２ａを実行する。図４に示すように、中継処理２５４２ａでは、制御部２１０は、第１通信Ｉ／Ｆ部２２０内の通信バッファから監視データを読み出し（図４（Ａ）：Ｓ１００）、監視データバッファ２５２２へ当該監視データを書き込む（図４（Ａ）：Ｓ１１０）。このため、本動作例では、ネットワーク装置２００Ａの監視データバッファ２５２２には監視データＡが格納される。ネットワーク装置２００Ｂにおいても同様にＳ１００およびＳ１１０の処理が実行され（図４（Ｂ）参照）、監視データバッファ２５２２には監視データＢが格納される。なお、監視データバッファ２５２２への監視データの書き込みを行う際には、制御部２１０は、等値化済であるか否かを示すフラグに等値化済でないことを示す第１の値（例えば、０）をセットし、当該第１の値をセット済のフラグを上記監視データに付与して監視データバッファ２５２２に書き込む。
【００３８】
ネットワーク装置２００Ａでは、制御部２１０は、等値化済でないことを示すフラグを付与された監視データの監視データバッファ２５２２への書き込みを契機として、等値化処理２５４２ｂを実行する。図３に示すように、等値化処理２５４２ｂでは、制御部２１０は、まず、自装置が稼働系として動作しているのか否かを判定する（ステップＳＡ１００）。具体的には、制御部２１０は、揮発性記憶部２５２に格納されている稼働／待機フラグを参照し、当該フラグの値が稼働系を示す値であれば、自装置は稼働系として動作していると判定する。そして、ステップＳＡ１００の判定結果が“Ｙｅｓ”であれば、制御部２１０は、ステップＳＡ１１０の処理を実行し、逆にステップＳＡ１００の判定結果が“Ｎｏ”であれば、制御部２１０はステップＳＡ１２０以降の処理を実行する。前述したように、本動作例では、ネットワーク装置２００Ａは稼働系として動作している。このため、ネットワーク装置２００Ａの制御部２１０が実行する等値化処理２５４２ｂではステップＳＡ１００の判定結果は“Ｙｅｓ”となり、ステップＳＡ１１０の処理が実行される。
【００３９】
ステップＳＡ１００の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１１０では、制御部２１０は監視データバッファ２５２２から等値化済でないことを示すフラグを付与された監視データを読み出し（図４（Ａ）：Ｓ１２０）、当該監視データを第３通信Ｉ／Ｆ部２４０を介してその接続先のネットワーク装置へ転送する（図４（Ａ）：Ｓ１３０）。前述したように、ネットワーク装置２００Ａの監視データバッファ２５２２には、等値化済でないことを示すフラグを付与された監視データとして監視データＡが格納されている。このため、本動作例では、等値化ケーブル４００を介してネットワーク装置２００Ａからネットワーク装置２００Ｂへ監視データＡが転送される。
【００４０】
ネットワーク装置２００Ｂでは、制御部２１０は、等値化ケーブル４００を介して送信されてくるデータを第３通信Ｉ／Ｆ部２４０により受信したことを契機として、等値化処理２５４２ｂを実行する。ネットワーク装置２００Ｂの制御部２１０が実行する等値化処理２５４２ｂにおいても前述したステップＳＡ１００の判定が行われる。本動作例ではネットワーク装置２００Ｂは待機系として動作しているため、ネットワーク装置２００Ｂの制御部２１０が実行する等値化処理２５４２ｂのステップＳＡ１００の判定結果は“Ｎｏ”になり、ステップＳＡ１２０以降の処理が実行される。ステップＳＡ１２０では、制御部２１０は、第３通信Ｉ／Ｆ部２４０により受信された監視データを当該第３通信Ｉ／Ｆ部２４０から取得し（図４（Ｂ）：Ｓ１４０）、当該監視データで監視データバッファ２５２２に格納されている該当監視データ（図４（Ｂ）のＳ１４０にて取得した監視データと送信元が同一であり、かつ識別子が一致する監視データ）を上書きし（図４（Ｂ）：Ｓ１５０）、当該監視データに付与されているフラグを等値化済であることを示す第２の値（例えば、１）に書き換える。これにより、ネットワーク装置２００Ｂの監視データバッファ２５２２に格納されている監視データは監視データＢから監視データＡに更新される。
【００４１】
ネットワーク装置２００Ｂの制御部２１０は、上記の要領で監視データの等値化を完了すると、等値化ケーブル４００を介して等値化完了をネットワーク装置２００Ａへ通知する（図３：ステップＳＡ１３０）。ネットワーク装置２００Ａの制御部２１０は、上記通知の受信を契機として、図４（Ａ）のＳ１３０にて転送した監視データのフラグを上記第２の値に更新する。以上の動作が為される結果、ネットワーク装置２００Ａおよびネットワーク装置２００Ｂの各々の監視データバッファ２５２２には、監視データＡが格納され、当該監視データＡには等値化済を示すフラグが付与された状態となる。
【００４２】
ネットワーク装置２００Ａの制御部２１０は、監視データバッファ２５２２に格納されている監視データに付与されているフラグが等値化済を示す値に更新されたことを契機として中継処理２５４２ａを再開し、図４（Ａ）のＳ１６０およびＳ１７０の各処理を実行する。Ｓ１６０の処理では、制御部２１０は、等値化済を示すフラグを付与されている監視データを監視データバッファ２５２２から読み出す。そして、Ｓ１７０の処理では、制御部２１０は、Ｓ１６０で読み出した監視データを第２通信Ｉ／Ｆ部２３０の通信バッファに書き込む。ネットワーク装置２００Ｂにおいても、等値化完了の通知を送信したことを契機として中継処理２５４２ａが再開され、図４（Ｂ）のＳ１６０およびＳ１７０の各処理が実行される。
【００４３】
ネットワーク装置２００Ａの第２通信Ｉ／Ｆ部２３０は、上記の要領で通信バッファに書き込まれた監視データをその接続先の制御装置へ送信する。ネットワーク装置２００Ｂの第２通信Ｉ／Ｆ部２３０も、同様に、上記の要領で通信バッファに書き込まれた監視データをその接続先の制御装置へ送信する。このため、本動作例では、ネットワーク装置２００Ａから制御装置１００Ａへは監視データＡが送信され、ネットワーク装置２００Ｂから制御装置１００Ｂへも監視データＡが送信される。なお、監視データの送受信に比較して上記通知の送受信は十分に高速に行えるため、ネットワーク装置２００Ａおよびネットワーク装置２００Ｂの各々における上記フラグの更新は略同期して実行され、Ｓ１６０およびＳ１７０の各処理も略同期して実行される。このため、ネットワーク装置２００Ａから制御装置１００Ａへの監視データＡの送信と、ネットワーク装置２００Ｂから制御装置１００Ｂへの監視データＡの送信はほぼ同期して実行される。
以上が本実施形態の動作である。
【００４４】
図１７に示す従来の冗長化制御システムでは、監視データの等値化を制御装置（すなわち、制御装置１０Ａおよび制御装置１０Ｂ）に行わせていたため、監視データのデータ量が増えると、その等値化の分だけ制御装置の処理負荷が高くなり、本来の演算の高速実行に支障が生じるといった問題があった。これに対して、本実施形態では、図５に示すように、監視データの等値化は等値化ケーブル４００を介した通信によりネットワーク装置２００Ａおよびネットワーク装置２００によって実行される。このため、ＩＯネットワークに接続されるＩＯスレーブ装置の増加等に起因して制御装置１００Ａおよび制御装置１００Ｂへ転送される監視データのデータ量が増えたとしても、制御装置１００Ａおよび制御装置１００Ｂにかかる処理負荷がその等値化の分だけ高くなることはなく、本来の演算の実行に何ら支障が発生することはない。
【００４５】
さらに、本実施形態では、制御装置１００Ａおよび制御装置１００Ｂには等値化済の監視データが転送されてくるのであるから、稼働系の制御装置の停止に起因して稼働系／待機系の切り替えを行う場合であっても、制御装置において監視データの等値化完了を待つ必要はなく、即座に切り替えを行うことができる。つまり、本実施形態によれば、稼働系／待機系の切り替えスピードの低下を招くこともない。
【００４６】
以上説明したように、本実施形態によれば、冗長化制御システムにおいて、制御装置に転送される監視データのデータ量が増加しても、制御装置本来の演算の実行に何ら支障を発生させず、かつ稼働系／待機系の切り替えスピードの低下を招かないようにすることが可能になる。
【００４７】
また、図１７に示す従来の冗長化制御システムでは、稼動系と待機系との間のデータ通信を仲介する手段は、制御装置同士の通信を仲介する制御装置間通信手段である等値化ケーブル４０のみであるため、等値化ケーブル４０の切断が発生すると稼動系と待機系のデータ通信が不能となり、互いの状態監視のための通信すら行えなくなった。このため、従来の冗長化制御システムでは、等値化ケーブル４０の切断が発生すると、最早、稼動系／待機系の切り替えを行えず、さらに稼動系の制御装置に故障が発生するといった多重故障発生すると、機器の制御を全く行えなくなるといった問題があった。
【００４８】
これに対して、本実施形態では、稼動系と待機系との間のデータ通信を仲介する手段は等値化ケーブル４０と等値化ケーブル４００により二重化されているため、等値化ケーブル４０の切断が発生したとしても、互いの状態監視のための通信を行えなくなることはない。具体的には、等値化ケーブル４０に切断が発生した場合には、図６にて点線矢印で示すように、制御装置１００Ａには、自装置の状態を示す状態データをネットワーク装置２００Ａ、等値化ケーブル４００、およびネットワーク装置２００Ｂを介して制御装置１００Ｂに送信する処理を実行させ、制御装置１００Ｂには、自装置の状態を示す状態データをネットワーク装置２００Ｂ、等値化ケーブル４００、およびネットワーク装置２００Ａを介して制御装置１００Ａに送信する処理を実行させるようにすれば良い。
【００４９】
なお、以上説明した実施形態では、１台の制御装置に１台のネットワーク装置が接続されていたが、図７に示すように、１台の制御装置に複数台（図７に示す例では２台）のネットワーク装置を接続するように変形しても良い。従来の冗長化制御システムでは、制御装置に複数のネットワーク装置を接続すると、制御装置に転送される監視データのデータ量が増加し、制御装置本来の演算の実行に支障が生じたり、稼働系／待機系の切り替えスピードが低下するなどの不具合が発生したが、本実施形態では、このような不具合が発生することはないからである。
【００５０】
図７に示すように、１台の制御装置に複数台のネットワーク装置２００が接続される場合であっても、ネットワーク装置２００Ａおよびネットワーク装置２００Ｂの各々により制御装置１００Ａおよび制御装置１００Ｂの各々へ転送される監視データの等値化は、等値化ケーブル４００Ａを介した通信によってこれらネットワーク装置によって実行され、ネットワーク装置２００Ｃおよびネットワーク装置２００Ｄの各々を介して制御装置１００Ａおよび制御装置１００Ｂの各々へ転送される監視データの等値化は、等値化ケーブル４００Ｂを介した通信によってこれらネットワーク装置によって実行される。このため、１台の制御装置に複数台のネットワーク装置を接続することで制御装置に転送される監視データのデータ量が増加したとしても、その等値化の分だけ当該制御装置の処理負荷が高くなることはないのである。
【００５１】
（Ｂ：第２実施形態）
上記第１実施形態では、等値化ケーブル４００を介した通信によりネットワーク装置２００Ａとネットワーク装置２００Ｂに監視データの等値化を行わせる場合について説明した。しかし、このような態様では等値化ケーブル４００の切断が発生すると、監視データの等値化を行えなくなるといった問題がある。そこで、ネットワーク装置２００Ａとネットワーク装置２００Ｂの各々に、等値化ケーブル４００を介したデータ通信が可能であるか否かを判定する判定手段を設け、可能であると判定された場合には等値化ケーブル４００を介したデータ通信により監視データの等値化を行い、不能である場合には、図８にて点線矢印で示すように、制御装置１００Ａ、等値化ケーブル４０および制御装置１００Ｂを介した通信により監視データの等値化を行う処理を、ネットワーク装置２００Ａとネットワーク装置２００Ｂの各々の制御部に実行させるようにしても良い。
【００５２】
このような態様であっても、制御装置１００Ａおよび制御装置１００Ｂは等値化のためのデータ通信を仲介する単なるデータ伝送路として機能するだけであるから、従来の冗長化制御システムにおける場合に比較してこれら制御装置にかかる処理負荷を軽減できる。なお、上記判定手段の具体例としては、等値化ケーブル４００を介して相手装置へｐｉｎｇを送信し、所定時間内に応答があれば通信可能と判定し、応答がなれば通信不能と判定する処理を各ネットワーク装置の制御部に実行させることが挙げられる。
【００５３】
また、監視データの等値化のためのデータ通信を等値化ケーブル４００経由で行うのか、それとも等値化ケーブル４０経由で行うのかの切り替えを、等値化ケーブル４００を介したデータ通信の可否に応じて切り替えるのではなく、制御装置の処理負荷に応じて切り替える態様であっても良い。例えば、ネットワーク装置２００にその接続先の制御装置の処理負荷を計測させ、計測された処理負荷が所定の閾値未満である場合には、稼動系および待機系の各制御装置および等値化ケーブル４０経由のデータ通信により監視データの等値化を行い、制御装置の処理負荷が所定の閾値以上である場合には等値化ケーブル４００経由のデータ通信により監視データの等値化を行う処理を、稼動系および待機系の各ネットワーク装置の制御部に実行させるようにしても良い。ここで、制御装置の処理負荷の具体的な計測方法としては、制御装置におけるＣＰＵ使用率やメモリ使用率等を表すデータを接続先の制御装置から取得する処理をネットワーク装置２００に実行させる態様が考えられる。
【００５４】
また、監視データの送信元となるＩＯスレーブ装置毎に、監視データの等値化を制御装置側で行うのか、それともネットワーク装置側（中継装置側）で行うのかの振り分けパターンを予め定めて置き、監視データの等値化に関する処理負荷を制御装置とネットワーク装置との間で分散することも考えられる。例えば、ＩＯスレーブ装置Ｓ１から送信された監視データについては制御装置側で等値化を行い、ＩＯスレーブ装置Ｓ２から送信された監視データについてはネットワーク装置側で監視を行う、といった具合である。このようなことは、各ＩＯスレーブ装置の通信アドレスに対応付けて、制御装置側とネットワーク装置側の何れで監視データの等値化を行うのかを示すフラグを格納したテーブル（以下、振り分けパターンテーブル）を制御装置１００Ａおよび１００Ｂとネットワーク装置２００Ａおよび２００Ｂに予め記憶させておく。そして、ネットワーク装置２００Ａおよび２００Ｂには当該振り分けテーブルにおいて中継装置側で等値化を行うと定められた監視データについてのみ等値化を行わせ、制御装置１００Ａおよび１００Ｂには当該振り分けテーブルにおいて制御装置側で等値化を行うと定められた監視データについて等値化を行わせるようにすれば良い。また、上記振り分けテーブルを制御装置の処理負荷に応じて複数用意しておき、高い処理負荷に対応するテーブルほど、中継装置側で等値化を行う監視データが多くなる格納内容としておいても良い。
【００５５】
（Ｃ：第３実施形態）
図９は、本発明の第３実施形態の通信システム１Ｃの構成例を示す図である。
この通信システム１Ｃも産業施設内に敷設される制御システムである。図９では、図１におけるものと同一の要素には同一の符号が付されている。図９と図１を対比すれば明らかように、通信システム１Ｃは、以下の３つの点で通信システム１Ａと異なる。第１に、制御装置１００Ａおよび制御装置１００Ｂに替えて制御装置１００Ａ´および制御装置１００Ｂ´を設けた点である。第２にネットワーク装置２００Ａおよびネットワーク装置２００Ｂに代えてネットワーク装置２００Ａ´およびネットワーク装置２００Ｂ´を設けた点である。そして、第３にネットワーク装置２００Ａ´がＩＯネットワーク３０Ｃにも接続されている点である。
【００５６】
ＩＯネットワーク３０Ｃには、ＩＯスレーブ装置Ｓ１´〜Ｓｎ´が接続されている。ＩＯネットワーク３０Ｃは、ＩＯスレーブ装置Ｓ１´〜Ｓｎ´とネットワーク装置２００Ａ´の間のデータ通信を仲介する。前述したように、ＩＯスレーブ装置Ｓ１〜Ｓｎから送信されたデータを制御装置へ伝送するネットワークはＩＯネットワーク３０ＡおよびＩＯネットワーク３０Ｂにより二重化されていたが、ＩＯスレーブ装置Ｓ１´〜Ｓｎ´から送信されたデータを制御装置へ伝送するネットワークについてはこのような二重化は施されていない。つまり、ネットワーク装置２００Ａ´は二重化されたネットワークと二重化されていないネットワーク（以下、シングルネットワーク）に接続されている。
【００５７】
ネットワーク装置２００Ａ´は第１実施形態におけるネットワーク装置２００Ａと同様にＩＯネットワーク３０Ａと制御装置１００Ａ´との間のデータ通信を中継し、ネットワーク装置２００Ｂ´は第１実施形態におけるネットワーク装置２００Ｂと同様にＩＯネットワーク３０Ｂと制御装置１００Ｂ´との間のデータ通信を中継する。また、ネットワーク装置２００Ａ´とネットワーク装置２００Ｂ´は、第１実施形態におけるネットワーク装置２００Ａおよびネットワーク装置２００Ｂと同様に、等値化ケーブル４００を介したデータ通信により監視データの等値化を行う。ただし、ネットワーク装置２００Ａ´とネットワーク装置２００Ｂ´は、接続先の制御装置が稼働系であるか待機系であるかとは無関係に互いの状態監視により稼働系／待機系の切り替えを行う点がネットワーク装置２００Ａおよびネットワーク装置２００Ｂと異なる。
【００５８】
これに加えて、ネットワーク装置２００Ａ´とネットワーク装置２００Ｂ´は、等値化ケーブル４００を介したデータ通信により、ＩＯネットワーク３０Ｃから受信した監視データについても上記等値化と同様の処理を行う。すなわち、ネットワーク装置２００Ａ´の制御部は、ＩＯネットワーク３０Ｃから受信した監視データを等値化ケーブル４００を介してネットワーク装置２００Ｂ´へ送信し、ネットワーク装置２００Ｂ´の制御部は当該監視データを監視データバッファに書き込む。そして、ネットワーク装置２００Ａ´とネットワーク装置２００Ｂ´の各々は、ＩＯネットワーク３０Ｃから送信されてきた監視データを各々の接続先の制御装置へ送信する。
【００５９】
制御装置１００Ａ´と制御装置１００Ｂ´は、ＩＯスレーブ装置Ｓ１〜Ｓｎから送信されたデータの受信を契機として、そのデータを使用した演算（以下、第１の演算）およびその演算結果に応じた機器の制御を実行する。これに加えて、稼動系の制御装置は、ＩＯスレーブ装置Ｓ１´〜Ｓｎ´から送信されたデータの受信を契機として、そのデータを使用した演算（以下、第２の演算）を実行する。つまり、本実施形態における稼動系の制御装置は、ＩＯスレーブ装置Ｓ１〜Ｓｎからデータを収集して第１の演算を行う役割と、ＩＯスレーブ装置Ｓ１´〜Ｓｎ´からデータを収集して第２の演算を行う役割とを兼ねている。
【００６０】
冗長化制御システムにおいて二重化されたネットワーク経由でＩＯスレーブ装置からデータを収集し何らかの演算を行う制御装置に、シングルネットワーク経由でデータを収集して他の演算を実行する役割を兼ねさせることができれば、二重化ネットワーク用とシングルネットワーク用のシステムを各々別個に構築する必要がなく、システムの開発運用コストを低減できると期待されるのであるが、従来の冗長化制御システムではこのような期待に応えることは難しかった。その理由は以下の通りである。
【００６１】
例えば、図１７におけるネットワーク装置２０Ａにのみシングルネットワークが接続されていたとする。この場合、ネットワーク装置２０Ａから制御装置１０Ａには、シングルネットワークから受信したデータと二重化されたネットワークから受信したデータとが与えられる一方、ネットワーク装置２０Ｂから制御装置１０Ｂには、二重化されたネットワークから受信したデータのみが与えられる。制御装置１０Ａと制御装置１０Ｂに与えられるデータに不一致があると、冗長化制御システムのなかにはエラーと判定するものもあり、このようなシステムでは、そもそも上記のような接続形態を採用することはできない。
【００６２】
また、上記のような不一致がエラーと判定されない場合であっても、上記のような接続形態において稼働系の制御装置の故障等により稼動系／待機系の切り替えが発生すると、切り替え後の稼動系の制御装置にはシングルネットワークからの受信データが与えられることはなく、シングルネットワークから送信されてくるデータの収集およびそのデータを用いた演算を継続することはできなくなる。つまり、従来の冗長化制御システムに含まれる二重化された制御装置の一方にシングルネットワーク経由のデータを与えて所定の演算を行わせることが仮にできたとしても、演算の安定実行を保証できないのである。
【００６３】
これに対して本実施形態によれば、制御装置についての稼動系／待機系の切り替えが発生しても、切り替え後の稼動系の制御装置には引き続きシングルネットワークから受信した監視データが与えられ、当該監視データの収集およびそのデータを用いて演算を何ら問題なく継続することができる。例えば、図９に示す通信システム１Ｃにおいて制御装置１００Ａ´から制御装置１００Ｂ´に稼働系が切り替わったとしても、ネットワーク装置２００Ａ´は依然として稼働系の中継装置であり、ネットワーク装置２００Ｂ´は依然として待機系の中継装置である。このため、ＩＯスレーブ装置Ｓ１´〜Ｓｎ´の各々から送信された監視データは、ＩＯネットワーク３０Ｃ→ネットワーク装置２００Ａ´→等値化ケーブル４００→ネットワーク装置２００Ｂ´→制御装置１００Ｂ´といった具合に制御装置１００Ｂへ伝送される。つまり、本実施形態によれば、冗長化制御システムにおいて二重化されたネットワーク経由でＩＯスレーブ装置からデータを収集し何等かの演算を行う制御装置にシングルネットワーク経由でデータを収集して他の演算を実行する役割を兼ねさせることが可能になり、二重化ネットワーク用とシングルネットワーク用のシステムを各々別個に構築する場合に比較してシステムの開発運用コストを低減させることができる。なお、ネットワーク装置についての稼働系／待機系の切り替えを制御装置についての稼働系／待機系の切り替えに従属させる場合には、シングルネットワークに接続されたネットワーク装置には、当該ネットワーク装置が稼働系であるか否かを問わずに当該シングルネットワークを介して受信した監視データを中継装置間通信手段を介して他方のネットワーク装置へ転送し、当該監視データの等値化を行わせる処理を実行させるようにすれば良い。
【００６４】
（Ｄ：第４実施形態）
図１０は、本発明の第４実施形態の通信システム１Ｄの構成例を示す図である。
この通信システム１Ｄも産業施設内に敷設された制御システムである。図１０では、図１におけるものと同一の要素には同一の符号が付されている。図１０ではＩＯネットワーク３０Ａおよび３０Ｂに対するＩＯスレーブ装置Ｓ１〜Ｓ３の詳細な接続態様が図示されており、この点が図１と異なる。図１０に示すように、ＩＯスレーブ装置Ｓｎ（ｎ＝１〜３）の各々はＩＯマスタ（図１０では、「ＩＯＭ」と略記）ＭＡｎを介してＩＯネットワーク３０Ａに接続されており、ＩＯマスタＭＢｎを介してＩＯネットワーク３０Ｂに接続されている。ＩＯマスタＭＡｎは、ＩＯスレーブ装置Ｓｎの出力する監視データをＩＯネットワーク３０Ａに送出する。ＩＯマスタＭＢｎは、ＩＯスレーブ装置Ｓｎの出力する監視データをＩＯネットワーク３０Ｂに送出する。なお、図１では、ＩＯスレーブ装置Ｓ１〜Ｓｎの詳細な接続形態の図示は省略されていたが、図１０におけるものと同一である。
【００６５】
図１０と図１を対比すれば明らかように、通信システム１Ｄは、ネットワーク装置２００Ａおよびネットワーク装置２００Ｂに代えてネットワーク装置２００Ａ´´およびネットワーク装置２００Ｂ´´を設けた点が第１実施形態の通信システム１Ａと異なる。本実施形態のネットワーク装置２００Ａ´´およびネットワーク装置２００Ｂ´´も、一方は稼働系として振る舞い、他方は待機系として振る舞う。本実施形態では、前述した第１実施形態と同様に、ネットワーク装置２００Ａ´´およびネットワーク装置２００Ｂ´´のうち、稼働系の制御装置１００に接続されている方が稼働系として振る舞う。以下では、第１実施形態についての説明と同様にネットワーク装置２００Ａ´´とネットワーク装置２００Ｂ´´とを区別する必要がない場合には、「ネットワーク装置２００´´」と表記する。
【００６６】
図１７に示す従来の冗長化制御システムでは、稼働系の制御装置に何らかの障害が発生した場合は勿論、ネットワーク装置を介して稼働系の制御装置に接続されているＩＯネットワークや当該ＩＯネットワークにＩＯスレーブ装置を接続するＩＯマスタに何らかの障害が発生した場合も稼働系／待機系の切り替えを行う必要があった。上記ＩＯネットワークやＩＯマスタに障害が発生すると、そのＩＯネットワークまたはＩＯマスタ経由の監視データは稼働系の制御装置に届かなくなるからである。これに対して本実施形態では、ネットワーク装置２００´´に本実施形態特有の処理を実行させることで、上記ＩＯネットワークやＩＯマスタに何らかの障害が発生したとしても、稼働系／待機系の切り替えを行うことなく制御対象装置の制御を継続できるように構成されており、この点に本実施形態の特徴がある。以下、本実施形態の特徴を顕著に示すネットワーク装置２００´´について説明する。
【００６７】
図１１は、ネットワーク装置２００´´の構成例を示す図である。図１１では、図２におけるものと同一の構成要素には同一の符号が付されている。図１１と図２を対比すれば明らかように、ネットワーク装置２００´´の構成は、中継制御プログラム２５４２に代えて中継制御プログラム２５４２´´が不揮発性記憶部２５４に記憶されている点がネットワーク装置２００の構成と異なる。中継制御プログラム２５４２´´は、等値化処理２５４２ｂに代えて等値化送信処理２５４２ｂ１および等値化受信処理２５４２ｂ２を制御部２１０に実行させる点が第１実施形態の中継制御プログラム２５４２と異なる。
【００６８】
ネットワーク装置２００´´の制御部２１０は、ネットワーク装置２００´´の電源（図示略）の投入或いはリセットを契機として不揮発性記憶部２５４から揮発性記憶部２５２へ中継制御プログラム２５４２´´を読み出し、その実行を開始する。図１２は、ネットワーク装置２００´´の制御部２１０が中継制御プログラム２５４２´´にしたがって実行する動作を説明するための図である。図１２では、図３におけるものと同一の処理には同一の符号が付されている。中継制御プログラム２５４２´´にしたがって作動している制御部２１０は、前述した第１実施形態における制御部２１０と同様に第１通信Ｉ／Ｆ部２２０内の通信バッファへの監視データの書き込み（すなわち、接続先のＩＯネットワーク３０からの監視データの受信）を契機として中継処理２５４２ａを実行する。前述したように中継処理２５４２ａでは、制御部２１０は第１通信Ｉ／Ｆ部２２０内の通信バッファから監視データを読み出し（図１２：Ｓ１００）、監視データバッファ２５２２へ当該監視データを書き込む（図１２：Ｓ１１０）。なお、監視データバッファ２５２２への監視データの書き込みを行う際に、等値化済でないことを示す第１の値をセットしフラグを付与して監視データバッファ２５２２に書き込む点も第１実施形態と同様である。
【００６９】
図１２と図３とを対比すれば明らかように、等値化送信処理２５４２ｂ１と等値化受信処理２５４２ｂ２との組み合わせは、等値化処理２５４２ｂに対応する。第１実施形態における等値化処理２５４２ｂの実行契機は、稼働系のネットワーク装置と待機系のネットワーク装置とで異なっていた。例えば、稼働系においては等値化済でないことを示すフラグを付与された監視データの監視データバッファ２５２２への書き込みを契機として等値化処理２５４２ｂが実行され、待機系においては等値化ケーブル４００を介して監視データを受信したことを契機として等値化処理２５４２ｂが実行された。これに対して等値化送信処理２５４２ｂ１の実行契機は稼働系のネットワーク装置と待機系のネットワーク装置とで違いはなく、等値化受信処理２５４２ｂ２の実行契機にも違いはない。
【００７０】
より詳細に説明すると、ネットワーク装置２００´´の制御部２１０は、稼働系として動作しているか否かを問わず、等値化済でないことを示すフラグを付与された監視データの監視データバッファ２５２２への書き込みを契機として等値化送信処理２５４２ｂ１を実行する。等値化送信処理２５４２ｂ１では、制御部２１０は監視データバッファ２５２２から等値化済でないことを示すフラグを付与された監視データを読み出し（図１２：Ｓ１２０）、当該監視データを第３通信Ｉ／Ｆ部２４０に与え（図１２：Ｓ１３０）、他方のネットワーク装置へ転送する。このため、本実施形態では、ネットワーク装置２００Ａ´´がＩＯネットワーク３０Ａから受信した監視データＡは等値化ケーブル４００を介してネットワーク装置２００Ｂ´´に転送され、ネットワーク装置２００Ｂ´´がＩＯネットワーク３０Ｂから受信した監視データＢも等値化ケーブル４００を介してネットワーク装置２００Ａ´´に転送される。
【００７１】
中継制御プログラム２５４２´´にしたがって作動している制御部２１０は、等値化ケーブル４００を介して他方のネットワーク装置２００´´から監視データを受信したことを契機として等値化受信処理２５４２ｂ２を実行する。図１３は、等値化受信処理２５４２ｂ２の流れを示すフローチャートである。図１３に示すように、制御部２１０は、まず、等値化ケーブル４００を介して他方のネットワーク装置２００´´から受信した監視データの送信元のＩＯスレーブ装置との通信が可能であるか否かを判定する（ステップＳＢ１００）。上記監視データの送信元のＩＯスレーブ装置との通信が可能であるか否かの具体的な判定方法としては、例えばｐｉｎｇなどの既存技術を利用する方法が考えられる。
【００７２】
ステップＳＢ１００の判定結果が“Ｎｏ”であった場合（通信不能であった場合）には、制御部２１０は、等値化ケーブル４００を介して他方のネットワーク装置２００´´から受信した監視データで、自装置の接続先のＩＯネットワーク３０を介して受信するはずであった監視データ（自装置に接続されている制御装置１００へ宛てて送信された監視データ）を補完する（ステップＳＢ１１０）。ＩＯスレーブ装置との通信が不能であるため、そのＩＯスレーブ装置からの監視データを受信することはなく、ステップＳＢ１１０はこの監視データの欠落を補うための処理である。より詳細に説明すると、ステップＳＢ１１０では、制御部２１０は、等値化ケーブル４００を介して受信した監視データのヘッダ部の送信先を示す情報を自装置に接続されている制御装置１００を示す情報に書き換え、等値化済でないことを示す第１の値をセットしたフラグを付与して監視データバッファ２５２２に書き込む。次いで、制御部２１０は、ステップＳＢ１１０にて監視データバッファ２５２２に書き込んだ監視データのフラグを等値化済を示す第２の値に更新するとともに等値化完了を他方のネットワーク装置へ通知し（ステップＳＢ１５０）、等値化受信処理２５４２ｂ２を完了する。なお、上記のようにステップＳＢ１００の判定結果がＮｏとなる場合には、他方のネットワーク装置２００´´に対して等値化ケーブル４００経由の監視データの転送が行われることはないため、当該他方のネットワーク装置では上記通知の受信を契機として等値化完了を検出し、該当する監視データのフラグを更新するようにすれば良い。
【００７３】
これに対してステップＳＢ１００の判定結果が“Ｙｅｓ”であった場合（通信可能であった場合）には、制御部２１０は、前述したステップＳＡ１００と同様に、自装置が稼働系であるか否かを判定する（ステップＳＢ１２０）。ステップＳＢ１２０の判定結果が“Ｙｅｓ”であった場合（すなわち、自装置が稼働系であった場合）には、制御部２１０は、等値化ケーブル４００を介して他方のネットワーク装置２００´´から受信した監視データを破棄し（ステップＳＢ１３０）、さらに、当該監視データに対応するものとして監視データバッファ２５２２に書き込まれている監視データの等値化フラグを第２の値に更新（ステップＳＢ１５０）して等値化受信処理２５４２ｂ２を終了する。逆にステップＳＢ１２０の判定結果が“Ｎｏ”であった場合（すなわち、自装置が待機系であった場合）には、制御部２１０は、前述したステップＳＡ１２０の処理と同様に、等値化ケーブル４００を介して他方のネットワーク装置２００´´から受信した監視データで当該監視データに対応するものとして監視データバッファ２５２２に書き込まれている監視データを置き換え（ステップＳＢ１４０）、その後、ステップＳＢ１５０の処理を実行して等値化受信処理２５４２ｂ２を終了する。
以上がネットワーク装置２００´´の構成である。
【００７４】
次いで、制御装置１００Ａが稼働系であり、制御装置１００Ｂが待機系である場合（すなわち、ネットワーク装置２００Ａ´´が稼働系であり、ネットワーク装置２００Ｂ´´が待機系である場合）を例にとって本実施形態の動作を説明する。ＩＯマスタＭＡｎ（ｎ＝１〜３）とＩＯマスタＭＢｎ（ｎ＝１〜３）が全て健全に動作しており、かつ、ＩＯネットワーク３０ＡおよびＩＯネットワーク３０Ｂの何れにも断線等の障害が発生していなければ、ＩＯスレーブ装置Ｓｎ（ｎ＝１〜３）から送信された監視データＡｎは、ＩＯネットワーク３０Ａを介してネットワーク装置２００Ａ´´に到達し、同ＩＯスレーブ装置Ｓｎから送信された監視データＢｎは、ＩＯネットワーク３０Ｂを介してネットワーク装置２００Ｂ´´に到達する。
【００７５】
前述したようにネットワーク装置２００Ａ´´およびネットワーク装置２００Ｂ´´の各々では、第１通信Ｉ／Ｆ部２２０を介して監視データを受信したことを契機として中継処理２５４２ａが実行される。その結果、図１４（Ａ）に示すように、ネットワーク装置２００Ａ´´の監視データバッファ２５２２には監視データＡｎが格納され、ネットワーク装置２００Ｂ´´の監視データバッファ２５２２には監視データＢｎが格納される。また、等値化済でない監視データの監視データバッファ２５２２への書き込みを契機としてネットワーク装置２００´´では等値化送信処理２５４２ｂ１が実行される。その結果、図１４（Ａ）に示すように、ネットワーク装置２００Ａ´´からネットワーク装置２００Ｂ´´へ等値化ケーブル４００経由で監視データＡｎが転送され、ネットワーク装置２００Ｂ´´からネットワーク装置２００Ａ´´へ等値化ケーブル４００経由で監視データＢｎが転送される。
【００７６】
前述したようにネットワーク装置２００´´の制御部２１０は第３通信Ｉ／Ｆ部２４０を介して監視データを受信する毎に等値化受信処理２５４２ｂ２を実行する。具体的には、ネットワーク装置２００Ａ´´の制御部２１０は、第３通信Ｉ／Ｆ部２４０を介して監視データＢｎを受信する毎に等値化受信処理２５４２ｂ２を実行する。本動作例では、ＩＯマスタＭＡｎ（ｎ＝１〜３）は全て健全に動作しており、かつ、ＩＯネットワーク３０Ａに断線等の障害は発生していない。このため、ネットワーク装置２００Ａ´´の制御部２１０の実行する等値化受信処理２５４２ｂ２では、ステップＳＢ１００の判定結果は“Ｙｅｓ”となり、ステップＳＢ１２０以降の処理が実行される。ネットワーク装置２００Ａ´´は稼働系であるため、ステップＳＢ１２０の判定結果は“Ｙｅｓ”となり、ステップＳＢ１３０の処理が実行される。すなわち、第３通信Ｉ／Ｆ部２４０を介してネットワーク装置２００Ａ´´が受信した監視データＢｎは全て破棄される。
【００７７】
ネットワーク装置２００Ｂ´´においても同様に第３通信Ｉ／Ｆ部２４０を介して監視データＡｎを受信する毎に等値化受信処理２５４２ｂ２が実行される。ネットワーク装置２００Ｂ´´の制御部２１０の実行する等値化受信処理２５４２ｂ２においてもステップＳＢ１００の判定結果は“Ｙｅｓ”となり、ステップＳＢ１２０以降の処理が実行される。ネットワーク装置２００Ｂ´´は待機系であるため、ステップＳＢ１２０の判定結果は“Ｎｏ”となり、ステップＳＢ１４０の処理が実行される。すなわち、ネットワーク装置２００Ｂ´´の監視データバッファ２５２２に格納されていた監視データＢｎは全て第３通信Ｉ／Ｆ部２４０を介してネットワーク装置２００Ａ´´から受信した監視データＡｎに置き換えられる（図１４（Ｂ）参照）。その結果、制御装置１００Ａにはネットワーク装置２００Ａ´´経由で監視データＡｎが転送され、制御装置１００Ｂにもネットワーク装置２００Ｂ´´経由で監視データＡｎが転送される。
【００７８】
これに対して、ＩＯマスタＭＡ１とＩＯマスタＭＢ２になんらかの障害が発生した場合には、図１５（Ａ）に示すように、ネットワーク装置２００Ａ´´が受信するはずであった監視データＡ１は欠落し、ネットワーク装置２００Ｂ´´が受信するはずであった監視データＢ２も欠落する。なお、図１５（Ａ）におけるＮＵＬＬは監視データの欠落を意味している。この場合、図１５（Ａ）に示すように、ネットワーク装置２００Ａ´´からネットワーク装置２００Ｂ´´へ等値化ケーブル４００経由で監視データＡ２およびＡ３が転送され、ネットワーク装置２００Ｂ´´からネットワーク装置２００Ａ´´へ等値化ケーブル４００経由で監視データＢ１およびＢ３が転送される。
【００７９】
第３通信Ｉ／Ｆ部２４０を介して監視データＢ１を受信したことを契機としてネットワーク装置２００Ａ´´において実行される等値化受信処理２５４２ｂ２では、ステップＳＢ１００の判定結果は“Ｎｏ”となり、ステップＳＢ１１０の処理が実行される。その結果、図１５（Ｂ）に示すように、ネットワーク装置２００Ａ´´が受信するはずであった監視データＡ１は監視データＢ１で補完される。同様に、第３通信Ｉ／Ｆ部２４０を介して監視データＡ２を受信したことを契機としてネットワーク装置２００Ｂ´´で実行される等値化受信処理２５４２ｂ２においてもステップＳＢ１００の判定結果は“Ｎｏ”となり、ステップＳＢ１１０の処理が実行される。その結果、図１５（Ｂ）に示すように、ネットワーク装置２００Ｂ´´が受信するはずであった監視データＢ２は監視データＡ２で補完される。本動作例では、制御装置１００Ａには、等値化済の監視データとして監視データＢ１、監視データＡ２および監視データＡ３がネットワーク装置２００Ａ´´から転送され、制御装置１００Ｂには等値化済の監視データとして監視データＢ１、監視データＡ２および監視データＡ３がネットワーク装置２００Ｂ´´から転送される。稼働系の制御装置（本動作例では、制御装置１００Ａ）には、ネットワーク装置２００Ａ´´から等値化済みの監視データが転送されてくるので、何ら問題なく制御対象装置の制御等を継続することができる。
【００８０】
このように本実施形態によれば、ネットワーク装置を介して稼働系の制御装置に接続されているＩＯネットワーク（或いは、当該ＩＯネットワークに接続されている複数のＩＯマスタの何れか）に故障が発生したとしても、制御装置についての稼働系／待機系の切り替えを行う必要はなく、冗長化制御システムにおける稼働系／待機系の切り替えの発生頻度を低減させることができる、といった効果が奏される。さらに、本実施形態によれば、ネットワーク装置を介して稼働系の制御装置に接続されているＩＯネットワークに接続されているＩＯマスタに故障が発生し、ネットワーク装置を介して待機系の制御装置に接続されているＩＯネットワークに接続されているＩＯマスタにも故障が発生するといった、多重故障が発生した場合であっても、それらＩＯマスタが同一のＩＯ機器に接続されているものでない限り、制御対象装置の制御を継続することができ、前述した第１実施形態に比較して多重故障に対する耐性をさらに高めることができる、といった効果が奏される。なお、本実施形態では、待機系のネットワーク装置には、ＩＯネットワークから受信した全ての監視データをネットワーク装置間の等値化ケーブル（本実施形態では、等値化ケーブル４００）経由で稼働系のネットワーク装置へ転送させたが、稼働系において欠落した監視データのみを転送するようにしても良い。稼働系における監視データの欠落を待機系のネットワーク装置に検出させる方法については種々の方法が考えられる。例えば、稼働系のネットワーク装置からネットワーク装置間の等値化ケーブル経由で待機系のネットワーク装置へ当該稼働系のネットワーク装置が受信済の監視データの識別子情報のリストを送信し、当該リストに基づいて稼働系における監視データの欠落を待機系のネットワーク装置に検出させるようにすれば良い。また、待機系のネットワーク装置がＩＯネットワーク経由で監視データを受信してから所定時間が経過しても当該監視データに対応するデータをネットワーク装置間の等値化ケーブル経由で受信しなかった場合に、稼働系における監視データの欠落が発生したと待機系のネットワーク装置に判定させても良い。
【００８１】
また、ＩＯスレーブ装置Ｓ１〜Ｓ３に制御対象装置が含まれている場合には、制御装置１００から制御対象装置へ送信された演算データ（等値化済の監視データに基づく演算の結果を表すデータ）の転送制御についても、その制御対象装置をＩＯネットワーク３０に接続するＩＯマスタの故障の有無に応じて同様に行えば良い。例えば図１５（Ｂ）におけるＩＯスレーブ装置Ｓ１〜Ｓ３の其々が制御対象装置である場合には、ＩＯスレーブ装置Ｓ１に対しては、制御装置１００Ａ→ネットワーク装置２００Ａ´´→等値化ケーブル４００→ネットワーク装置２００Ｂ´´→ＩＯネットワーク３０Ｂといった伝送経路に沿って演算データを転送すれば良い。同様に、ＩＯスレーブ装置Ｓ２およびＳ３に対しては、制御装置１００Ａ→ネットワーク装置２００Ａ´´→ＩＯネットワーク３０Ａといった伝送経路に沿って演算データを転送すれば良い。
【００８２】
加えて、本実施形態においても、監視データの等値化はネットワーク装置２００´´で行われるため、前述した第１実施形態と同様に、制御装置に転送される監視データのデータ量が増加しても、制御装置本来の演算の実行に何ら支障を発生させず、かつ稼働系／待機系の切り替えスピードの低下を招かないようにすることが可能になる、といった効果が奏されることは勿論である。
【００８３】
上記実施形態では、ＩＯマスタに何らかの障害が発生した場合について説明したが、ＩＯネットワーク３０（或いはＩＯネットワーク３０とネットワーク装置２００´´とを接続する通信線）に断線等の障害が発生した場合には、当該ＩＯネットワーク３０経由で受信するはずであった全ての監視データについて上記補完が行われることは言うまでもない。また、上記実施形態では、ネットワーク装置２００´´に二重化されたＩＯネットワークが１つだけ接続されていたが、図１６に示すように二重化されたＩＯネットワークが複数（図１６に示す例では２つ）接続されていても良い。
【００８４】
一般に冗長化制御システムにおいては、ＩＯスレーブ装置から稼働系の制御装置１００に至るデータの転送経路（或いは逆方向の転送経路）が変動することは好ましくない。そこで、ステップＳＢ１００にて通信不能であると判定された送信元を示す識別情報を揮発性記憶部２５２の所定の記憶領域に書き込み、以降、当該記憶領域に識別情報が記憶されてくる機器からの監視データについては常に等値化ケーブル４００経由で受信した監視データによる補完または置き換えを行い、自装置の電源断またはリセットを契機として上記記憶領域を初期化する処理をネットワーク装置２００´´の制御部２１０に実行させるようにしても良い。このような態様によれば、上記補完等の発生後にＩＯマスタ等の修理が行われ、補完等を行う必要がなくなったとしても、ネットワーク装置２００´´の電源断またはリセットが為されるまでは、ＩＯスレーブ装置から稼働系の制御装置１００に至るデータの転送経路が上記補完等の行われない経路に切り替えられることはなく、経路切り替えに起因する影響を回避することができる。
【００８５】
（Ｄ：変形）
以上本発明の第１、第２、第３および第４実施形態について説明したが、これら実施形態に以下の変形を加えても勿論良い。
（１）上記第１実施形態では、ネットワーク装置２００Ａとネットワーク装置２００Ｂのうちの稼働系のネットワーク装置から待機系のネットワーク装置へ等値化ケーブル４００を介して監視データを送信し記憶させるといったプッシュ型のデータ通信で監視データの等値化を実現する場合について説明した。しかし。等値化ケーブル４００経由で稼働系のネットワーク装置から監視データを取得して自装置の監視データを更新する処理を待機系のネットワーク装置に実行させるプル型のデータ通信で監視データの等値化を実現しても良い。
【００８６】
（２）上記各実施形態では、ＩＯスレーブ装置から収集した監視データを制御装置へ転送するゲートウェイ装置への本発明の適用例を説明した。しかし、本発明の適用対象はゲートウェイ装置に限定される訳ではなく、ルータやリピータ、スイッチングハブなどの他の種類の中継装置であっても良い。さらに、本発明の中継装置に接続されるネットワークはＩＯネットワークなどの制御系ネットワークやシリアルバスに限定される訳ではなく、ＴＣＰなどの汎用通信プロトコルにしたがったデータ通信を仲介する一般的な情報系ネットワークであっても良い。要は、監視データを収集し、当該監視データを使用した演算を実行する制御装置と、監視データを出力する機器に接続されたネットワークとに接続され、当該ネットワークを介して受信したデータを当該制御装置へ転送する中継装置であれば、本発明を適用可能である。
【００８７】
（３）上記各実施形態の通信システムに含まれるネットワーク装置（中継装置）を単体で提供する（すなわち、製造・販売する）態様であっても良い。このようなネットワーク装置を従来の冗長化制御システムにおけるネットワーク装置と置き換え、中継装置間等値化ケーブルでそれらネットワーク装置を互いに接続することで、従来の冗長化制御システムを上記各実施形態の通信システムとして機能させることが可能になるからである。
【００８８】
（４）上記各実施形態では、本発明の特徴を顕著に示す中継処理２５４２ａおよび等値化処理２５４２ｂ（第４実施形態では、等値化送信処理２５４２ｂ１および等値化受信処理２５４２ｂ２）をソフトウェアにより実現した。しかし、中継処理２５４２ａを実行する中継手段と等値化処理２５４２ｂを実行する等値化手段の各々を電子回路で構成し、これら電子回路を組み合わせて上記第１〜第３の各実施形態のネットワーク装置を構成しても良い。第４実施形態のネットワーク装置２００´´についても同様である。また、上記実施形態では中継装置間通信手段として等値化ケーブルを用いたが、無線ＬＡＮインタフェースなどの無線通信手段を中継装置間通信手段として用いても良い。また、ネットワーク装置２００Ａとネットワーク装置２００Ｂとが１つの筐体に実装される場合には、両装置の接続されるバスを中継装置間通信手段として用いても良い。制御装置間通信手段についても同様である。
【００８９】
（５）上記各実施形態では、制御装置１００Ａおよび制御装置１００Ｂの各々が、稼働系であるか待機系であるかを問わずに、接続先のネットワーク装置２００を介して受信した監視データを使用して機器制御のための演算を行う場合（すなわち、ホットスタンバイ方式の制御システムへの本発明の適用例）を説明した。しかし、本発明の適用対象はホットスタンバイ方式の制御システムに限定されるものではなく、ウォームスタンバイ方式の制御システムに本発明を適用しても良い。ウォームスタンバイ方式の制御システムは、二重化された制御装置の一方が稼働系となって上記演算を実行し、他方は待機系となって稼働系の故障に備える点ではホットスタンバイ方式の制御システムと同一であるが、待機系の制御装置では上記演算が実行されない点が異なる。また、上記第１〜第３実施形態では、待機系のネットワーク装置においても、第１通信Ｉ／Ｆ部２２０により受信した監視データを監視データバッファ２５２２に書き込む処理（図４（Ｂ）：Ｓ１００およびＳ１１０の各処理）を実行したが、待機系のネットワーク装置においては当該処理を省略しても良い。図４（Ｂ）のＳ１００およびＳ１１０の各処理により監視データバッファ２５２２により書き込まれた監視データは、等値化処理２５４２ｂのステップＳＡ１２０の処理で上書きされてしまうからである。
【符号の説明】
【００９０】
１Ａ，１Ｃ，１Ｄ…通信システム、１０Ａ，１０Ｂ，１００Ａ，１００Ｂ，１００Ａ´，１００Ｂ´…制御装置、２０Ａ，２０Ｂ，２００Ａ，２００Ｂ，２００Ａ´，２００Ｂ´，２００Ａ´´，２００Ｂ´´…制御装置、２１０…制御部、２２０…第１通信Ｉ／Ｆ部、２３０…第２通信Ｉ／Ｆ部、２４０…第３通信Ｉ／Ｆ部、２５０…記憶部、２５２…揮発性記憶部、２５２２…監視データバッファ、２５４…不揮発性記憶部、２５４２…中継制御プログラム、２５４２ａ…中継処理、２５４２ｂ…等値化処理、２６０…バス、３０Ａ，３０Ｂ，３０Ｃ…ＩＯネットワーク、４０，４００，４００Ａ，４００Ｂ…等値化ケーブル、５０…監視システム、Ｓ１〜Ｓｎ，Ｓ１´〜Ｓｎ´…ＩＯスレーブ装置。
【図１】
2015215863.tif 000003
【図２】
2015215863.tif 000004
【図３】
2015215863.tif 000005
【図４】
2015215863.tif 000006
【図５】
2015215863.tif 000007
【図６】
2015215863.tif 000008
【図７】
2015215863.tif 000009
【図８】
2015215863.tif 000010
【図９】
2015215863.tif 000011
【図１０】
2015215863.tif 000012
【図１１】
2015215863.tif 000013
【図１２】
2015215863.tif 000014
【図１３】
2015215863.tif 000015
【図１４】
2015215863.tif 000016
【図１５】
2015215863.tif 000017
【図１６】
2015215863.tif 000018
【図１７】
2015215863.tif 000019