(57)【特許請求の範囲】
【請求項１】
制御元機器から送信された制御データーを受信し、受信した前記制御データーを対応したプロセス入出力装置に出力する通信制御部と、
前記プロセス入出力装置に対してのマスター権を持つ前記制御元機器の情報を登録するマスター権記憶部と、
前記通信制御部が受信した制御データーがマスター権を持つ前記制御元機器からのデーターか否かを判定するマスター権判定部と、
前記マスター権記憶部が記憶したマスター権を、他の通信装置のマスター権記憶部が記憶したマスター権と共通化するマスター権共有部と、を備えた通信装置であり、
前記マスター権共有部は、前記他の通信装置のマスター権共有部とデーター回線で接続して相互に通信可能とし、
前記通信制御部は、前記マスター権判定部での判定に基づいて、前記制御データーの前記プロセス入出力装置への出力を制御し、前記制御元機器からマスター権登録要求を受信したとき、前記マスター権記憶部にマスター権を持つ前記制御元機器の情報を登録し、
さらに、前記通信制御部は、マスター権が登録された前記制御元機器から一定時間アクセスが無かった場合、当該通信装置のマスター権を破棄すると共に、前記マスター権共有部での通信で、前記他の通信装置のマスター権記憶部に、破棄したマスター権の登録が無いとき、マスター権が破棄された前記制御元機器の代理で制御データーを出力する
通信装置。
【請求項２】
前記制御元機器からの前記制御データーが伝送されるデーター回線と接続するポートを２ポート以上備えて、前記制御元機器と前記通信制御部とを二重化したデーター回線で接続し、
前記通信制御部は、いずれか一方の前記データー回線が使用できない場合に、他方の前記データー回線を使用してマスター権の管理を継続して行う
請求項１に記載の通信装置。
【請求項３】
マスター権が破棄された前記制御元機器の代理で出力する制御データーは、前記プロセス入出力装置に対して、状態の継続を指示する制御データーである
請求項１又は２に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
発電所や工場などのプラント制御を行うための制御システムとして、ＤＣＳ（Distributed Control System：分散制御システム）と称されるものがある。ＤＣＳは、制御対象装置ごとにＣＰＵ（Control Processing Unit：中央処理装置）を配置し、各ＣＰＵをネットワークで接続して相互に通信しながら分散制御を行うものである。
【０００３】
一般的にＤＣＳでは、複数のＣＰＵはネットワークで接続され、それぞれのＣＰＵから、マルチドロップ接続などによって接続された複数のプロセス入出力装置に制御指令などを伝送する。複数のプロセス入出力装置に各ＣＰＵからの制御指令が届くことで、それぞれのプロセス入出力装置に接続された制御対象装置が、その制御指令に対応した状態に制御される。
【０００４】
特許文献１には、プラント制御などに用いるＤＣＳのシステム構成の一例について記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１０００７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のＤＣＳでは、ＣＰＵとプロセス入出力装置との間の制御ループを、ＣＰＵ単位で物理的に分離したネットワークとして構築していた。
これに対して近年、制御システムの大規模化や拡張性の向上という観点から、スター接続などによって複数の制御ループを同一ネットワーク上で構築するような、柔軟なネットワークトポロジーの要求が高まっている。
【０００７】
しかし、複数の制御ループを同一ネットワーク上で構築した場合、任意のＣＰＵと他の制御ループに属するプロセス入出力装置が同一ネットワーク上に物理的に接続されることになる。これにより、当該ＣＰＵが故障やソフトウェア暴走などの異常によって誤って他の制御ループに属するプロセス入出力装置にアクセスして、その結果、誤った制御を行ったり、制御対象装置を破壊したりするなど、異常が波及するリスクがある。したがって、ＤＣＳにおいて、複数の制御ループを同一ネットワーク上で構築することは好ましくなかった。
【０００８】
本発明は、ＤＣＳのシステムを構築する際に、ネットワーク上のＣＰＵの異常を他の制御ループに波及させないようにすると共に、ＣＰＵの異常を自制御ループで制御している制御対象装置にも波及させないようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならは、制御元機器から送信された制御データーを受信し、受信した制御データーを対応したプロセス入出力装置に出力する通信制御部と、プロセス入出力装置に対してのマスター権を持つ制御元機器の情報を登録するマスター権記憶部と、通信制御部が受信した制御データーがマスター権を持つ制御元機器からのデーターか否かを判定するマスター権判定部と、マスター権記憶部が記憶したマスター権を、他の通信装置のマスター権記憶部が記憶したマスター権と共通化するマスター権共有部と、を備えた通信装置である。
そして、マスター権共有部は、他の通信装置のマスター権共有部とデーター回線で接続して相互に通信可能とし、通信制御部は、マスター権判定部での判定に基づいて、制御データーのプロセス入出力装置への出力を制御し、制御元機器からマスター権登録要求を受信したとき、マスター権記憶部にマスター権を持つ制御元機器の情報を登録し、さらに、通信制御部は、マスター権が登録された制御元機器から一定時間アクセスが無かった場合、当該通信装置のマスター権を破棄すると共に、マスター権共有部での通信で、他の通信装置のマスター権記憶部に、破棄したマスター権の登録が無いとき、マスター権が破棄された制御元機器の代理で制御データーを出力することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の制御ループを共用化した場合でも、ネットワーク上の任意の制御元機器が故障などの異常によって、他の制御ループに属するプロセス入出力装置に誤った制御を行うことがないので、制御対象装置の破壊などを回避することができる。
また、制御元機器の異常が自制御ループで制御している制御対象装置に波及することを防ぐこともできる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態例による通信装置を備えた制御システムの例を示す構成図である。
【図２】本発明の一実施の形態例による制御データーのフォーマット例を示すデーター構成図である。
【図３】本発明の一実施の形態例によるマスター権の管理処理例を示すフローチャートである。
【図４】本発明の一実施の形態例によるマスター権の管理処理の実行例を示すタイムチャートである。
【図５】本発明の一実施の形態例による伝送手順に基づいた処理例を示すフローチャートである。
【図６】本発明の一実施の形態例によるアクセスタイムアウト検出時の処理例を示すフローチャートである。
【図７】本発明の一実施の形態例によるアクセスタイムアウト検出時の処理の実行例を示すタイムチャートである。
【図８】本発明の一実施の形態例の変形例による通信装置（二重化した例）を備えた制御システムの例を示す構成図である。
【図９】図８例の通信装置によるアクセスタイムアウト検出時の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施の形態例（以下、「本例」と称する。）を、図１〜図９を参照して説明する。
［１．システム全体の構成］
図１は、本例の制御システム１に適用した場合のシステム構成例である。ここでは、制御システム１は、制御元機器である第一ＣＰＵ１１および第二ＣＰＵ１２が、中継装置１３ａ、１３ｂを含むネットワークを介して複数のプロセス入出力装置１５ａ，１５ｂ，・・・１５ｎ（ｎは任意の数）に制御データーを送信して制御を行う。この制御システム１は、ＤＣＳとして構成される。それぞれのＣＰＵ１１，１２は、複数のプロセス入出力装置１５ａ〜１５ｎの内で、後述するマスター権を持った装置に対して制御データーを送信して、該当する装置を制御する。
【００１３】
複数の制御ループを同一ネットワーク上で構築した制御システム１は、第一ＣＰＵ１１、第二ＣＰＵ１２、中継装置１３ａ，１３ｂ、通信装置１４ａ，１４ｂ、およびプロセス入出力装置１５ａ〜１５ｎを備える。図１の例では、制御システム１は、２台の中継装置１３ａ，１３ｂと２台の通信装置１４ａ，１４ｂを備える構成としたが、これらは少なくとも１台あればよく、あるいは３台以上としてもよい。
【００１４】
第一ＣＰＵ１１および第二ＣＰＵ１２は、制御対象装置２の情報を受信する機能と、制御対象装置からの情報を基に演算を行い、制御データーを生成する機能と、生成した制御データーを送信する機能と、を有する。また、第一ＣＰＵ１１および第二ＣＰＵ１２は、マスター権の登録を要求するマスター権登録要求を送信する機能についても備える。なお、ＣＰＵについても、図１は２台接続するシステム構成例であるが、ＣＰＵを３台以上接続するシステム構成も考えられる。
【００１５】
通信装置１４ａ，１４ｂは、中継装置１３ａ，１３ｂとプロセス入出力装置１５ａ〜１５ｎの間に接続される。これらの通信装置１４ａ，１４ｂは、制御データーや制御対象装置の情報の送受信を行う機能と、プロセス入出力装置１５のマスター権を管理する機能と、を有する。通信装置１４ａ、１４ｂの詳細については後述する。
【００１６】
中継装置１３ａ，１３ｂは、ＣＰＵ１１，１２と通信装置１４ａ，１４ｂとの間に接続される。そして、中継装置１３ａ，１３ｂは、各ＣＰＵ１１，１２から受信した制御データーを通信装置１４ａ，１４ｂに送信する。また、中継装置１３ａ，１３ｂは、通信装置１４ａ，１４ｂから受信した制御対象装置の情報（図１に示す制御対象装置の情報１４１８）を第一ＣＰＵ（ＣＰＵ−Ａ）１１または第二ＣＰＵ（ＣＰＵ−Ｂ）１２に送信する。
【００１７】
第一ＣＰＵ１１と各中継装置１３ａ，１３ｂは、データー回線１６ａ，１６ｂで接続され、第二ＣＰＵ１２と各中継装置１３ａ，１３ｂは、データー回線１６ｃ，１６ｄで接続されている。また、各中継装置１３ａ，１３ｂと通信装置１４ａは、データー回線１６ｅ，１６ｇで接続され、各中継装置１３ａ，１３ｂと通信装置１４ｂとは、データー回線１６ｆ，１６ｈで接続されている。このように、各ＣＰＵ１１、１２と各通信装置１４ａ，１４ｂとの間を、２台の中継装置１３ａ，１３ｂによりそれぞれ二重化した回線で接続している。なお、図１に示す制御システム１は、２台の中継装置１３ａ，１３ｂを備えるシステム構成として例示しているが、３台以上の中継装置を備えるシステム構成としてもよい。
【００１８】
プロセス入出力装置１５ａ〜１５ｎは、通信装置１４ａ，１４ｂから受信した制御データーを制御対象装置２へ出力し、制御対象装置２から入力した情報を通信装置１４，１４ｂに送信する処理を行う。通信装置１４ａ，１４ｂとプロセス入出力装置１５との間はプロセス入出力バス１７で接続されている。また、プロセス入出力装置１５ａ〜１５ｎと制御対象装置２との間は、入出力信号線３ａ〜３ｎで接続されている。
【００１９】
次に、通信装置１４ａの構成例について、図１を用いて説明する。なお、通信装置１４ｂについては、通信装置１４ａと同一の構成であり、通信装置１４ｂの構成の説明は省略する。以下では、２台の通信装置１４ａ，１４ｂの区別が必要な場合を除いて、２台の通信装置１４ａ，１４ｂを区別せずに「通信装置１４」として説明する。
通信装置１４は、通信制御部１４１と、マスター権記憶部１４２と、マスター権判定部１４３と、アクセス間隔タイマー１４４と、を備える。
通信制御部１４１は、中継装置１３ａ，１３ｂとのデーターの送受信の制御を行うと共に、プロセス入出力装置１５ａ〜１５ｎとのデーターの入出力の制御を行う。通信制御部１４１は、これらの制御を行うために、ＣＨ１データー送受信部１４１１と、ＣＨ２データー送受信部１４１２と、回線二重化制御部１４１３と、所定値出力部１４１４と、マルチプレクサ１４１５と、プロセス入出力バス制御部１４１６と、を備える。
【００２０】
ＣＨ１データー送受信部１４１１は、データー回線１６ｅに接続され、ＣＨ２データー送受信部１４１２は、データー回線１６ｇに接続される。そして、各データー送受信部１４１１，１４１２は、中継装置１３ａ，１３ｂから受信した制御データーやマスター権登録依頼を通信データー１４１７ａ，１４１７ｂとして回線二重化制御部１４１３に出力する。また、各データー送受信部１４１１，１４１２は、回線二重化制御部１４１３から入力される制御対象装置の情報１４１８を中継装置１３ａ，１３ｂに送信する。
【００２１】
回線二重化制御部１４１３は、２つのデーター送受信部１４１１，１４１２が受信した通信データー１４１７ａ，１４１７ｂが、通信装置１４内で競合しないように排他制御する機能を有する。また、回線二重化制御部１４１３は、２つのデーター送受信部１４１１，１４１２へ通信データー１４１７ａ，１４１７ｂを並列に送信できるように制御する機能を有する。
【００２２】
また、回線二重化制御部１４１３は、プロセス入出力バス制御部１４１６から入力される制御対象装置の情報１４１８をＣＨ１データー送受信部１４１１またはＣＨ２データー送受信部１４１２に出力する。また、回線二重化制御部１４１３は、２つのデーター送受信部１４１１，１４１２から入力される制御データーを調停しながらマルチプレクサ１４１５に出力する。また、回線二重化制御部１４１３は、データー送受信部１４１１，１４１２から入力される所定出力制御データーを所定値出力部１４１４に出力する。また、回線二重化制御部１４１３は、ＣＨ１データー送受信部１４１１またはＣＨ２データー送受信部１４１２から入力されるマスター権登録依頼１４６をマスター権記憶部１４２に出力する。さらに、回線二重化制御部１４１３は、ＣＨ１データー送受信部１４１１またはＣＨ２データー送受信部１４１２から入力される出力制御データーに含まれる送信元ＣＰＵ情報１４５をマスター権判定部１４３に出力する。
【００２３】
所定値出力部１４１４は、プロセス入出力装置１５に対する任意の出力制御データーを登録し、所定出力制御データー１４１９として出力する機能を有する。出力制御データーとしては、例えば制御対象装置２の状態の継続を指示する制御データーや、制御対象装置２を停止させる制御データーなど、制御対象装置２の制御内容によって異なるが、いずれも制御対象装置２を安全な状態に維持するための制御データーである。
【００２４】
マルチプレクサ１４１５は、アクセス間隔タイマー１４４から入力されるタイムアウト信号１４９によるアクセスタイムアウトが発生していない場合、回線二重化制御部１４１３から入力される出力制御データー１４２０を出力する。また、マルチプレクサ１４１５は、アクセス間隔タイマー１４４から入力されるタイムアウト信号１４９によるアクセスタイムアウトが発生した場合、所定値出力部１４１４から入力される所定出力制御データー１４１９を出力する。なお、マルチプレクサ１４１５は、入力制御データーについては、アクセスタイムアウト発生の有無によらず、常に回線二重化制御部１４１３から入力される入力制御データー１４２０を出力する。
【００２５】
プロセス入出力バス制御部１４１６は、プロセス入出力装置１５ａ〜１５ｎから入力した制御対象装置の情報１４１８を回線二重化制御部１４１３に出力する。また、プロセス入出力バス制御部１４１６は、マルチプレクサ１４１５から入力される入力制御データーを、対象となるプロセス入出力装置１５ａ〜１５ｎに出力する。また、プロセス入出力バス制御部１４１６は、マスター権判定部１４３から入力されるマスター権判定結果１４８によって、マルチプレクサ１４１５から入力される出力制御データーの出力または破棄を選択する。すなわち、プロセス入出力バス制御部１４１６は、マスター権を持ったＣＰＵ１１または１２からの出力制御データーであれば、プロセス入出力装置１５に出力し、マスター権を持っていないＣＰＵ１１または１２からの出力制御データーであれば、これを破棄する。
【００２６】
マスター権記憶部１４２は、回線二重化制御部１４１３から入力されるマスター権登録依頼１４６によって、ＣＰＵ１１，１２のマスター権を登録する。また、マスター権記憶部１４２は、アクセス間隔タイマー１４４から入力されるタイムアウト信号１４９によって、アクセスタイムアウトが発生したＣＰＵ１１，１２のマスター権を破棄する。さらに、マスター権記憶部１４２は、登録されたマスター権情報１４７をマスター権判定部１４３に出力する。なお、マスター権記憶部１４２は、通信装置１４に接続するプロセス入出力装置１５ａ〜１５ｎの台数分設けられる。そして、マスター権記憶部１４２には、それぞれのプロセス入出力装置１５ａ〜１５ｎごとに、マスター権をどのＣＰＵが持っているかという情報が登録される。
【００２７】
マスター権判定部１４３は、回線二重化制御部１４１３から入力される送信元ＣＰＵ情報１４５とマスター権記憶部１４２から入力されるマスター権情報１４７を照合し、その結果をマスター権判定結果１４８として出力する。
アクセス間隔タイマー１４４は、マスター権判定部１４３から入力されるマスター権判定結果１４８によってタイマーをリセットしながら、第一ＣＰＵ１１および第二ＣＰＵ１２からのアクセス間隔を監視する。そして、アクセス間隔タイマー１４４は、一定時間以上アクセスが無かった場合は、タイムアウト信号１４９を出力する。なお、アクセス間隔タイマー１４４は、通信装置１４に接続するプロセス入出力装置１５ａ〜１５ｎの台数分設けられ、プロセス入出力装置１５ａ〜１５ｎごとにアクセス間隔を監視する。以下の説明でマスター権を説明する際には、アクセスを実行するプロセス入出力装置１５ａ〜１５ｎがいずれであるかは特に説明しないが、マスター権はプロセス入出力装置１５ａ〜１５ｎごとに存在し、それぞれ個別に管理されるものである。
【００２８】
［２．マスター権の管理例］
次に、通信装置１４が行うマスター権管理の手順について説明する。
図２は、制御データーのデーターフォーマット例である。ＣＰＵ１１，１２から送信される制御データーは、送信元ＣＰＵ情報２０１、送信先プロセス入出力装置情報２０２、プロセス入出力制御データー２０３から構成される。送信元ＣＰＵ情報２０１は、どのＣＰＵから送信された制御情報であるかを表す。送信先プロセス入出力装置情報２０２は、どのプロセス入出力装置１５ａ〜１５ｎに出力すべき制御データーであるかを表す。プロセス入出力制御データー２０３は、プロセス入出力装置１５ａ〜１５ｎが制御対象装置２に行うべき制御の内容を表す。通信装置１４は、このデーターフォーマットに従って制御データーを送信することで、マスター権管理を行うことができる。
【００２９】
図３は、マスター権判定の処理例を示すフローチャートである。
まず、通信制御部１４１は、受信した出力制御データーに含まれている送信元ＣＰＵ情報２０１（図２）と、通信装置１４のマスター権記憶部１４２に登録されたマスター権情報１４７を照合する（ステップＳ３０１）。このとき、通信制御部１４１は、制御データーに付加された送信先プロセス入出力装置情報２０２を参照して、その送信先プロセス入出力装置情報２０２で指示されたプロセス入出力装置（装置１５ａ〜１５ｎのいずれか）のマスター権情報１４７を読み出す。
【００３０】
この照合で、通信制御部１４１は、マスター権記憶部１４２に登録されたマスター権情報１４７と送信元ＣＰＵ情報２０１とが一致した場合に、当該ＣＰＵからの出力制御データーを、対応したプロセス入出力装置（装置１５ａ〜１５ｎのいずれか）に出力する（ステップＳ３０２）。
また、マスター権記憶部１４２に登録されたマスター権情報１４７と送信元ＣＰＵ情報２０１とが一致しない場合には、当該ＣＰＵからの出力制御データーを破棄する（ステップＳ３０３）。
【００３１】
図４は、本例のシステムにおいて、マスター権管理を行う際のタイムチャートの例である。
図４に示す最初の状態（左端の状態）では、通信装置１４の状態（図４Ａ）は、マスター権未登録となっている。ここで、通信制御部１４１は、第一ＣＰＵ１１または第二ＣＰＵ１２が通信装置１４に対してマスター権登録依頼１４６を送信し、そのマスター権登録依頼１４６をデーター送受信部１４１１または１４１２が受信すると、図４Ｂに示すようにマスター権を登録する。すなわち、図４Ａに示すように、マスター権登録依頼１４６をデーター送受信部１４１１または１４１２が受信すると、通信装置１４の状態は、マスター権管理準備完了状態４０１となり、その後、マスター権管理中４０２に移行する。
【００３２】
なお、マスター権登録依頼１４６は、任意のＣＰＵ（例えば第一ＣＰＵ１１）が他のＣＰＵ（例えば第二ＣＰＵ１２）のマスター権登録依頼１４６と合わせて代理で送信することも可能である。
【００３３】
また、マスター権の登録が行われる際には、通信装置１４の所定値出力部１４１４に、所定出力制御データー１４１９が登録される。この所定出力制御データー１４１９は、任意のＣＰＵのマスター権が破棄された場合に、通信装置１４がＣＰＵに代わって出力制御データーを出力するときに使用されるものである。この所定出力制御データー１４１９は、プロセス入出力装置１５ａ〜１５ｎの接続先である制御対象装置２を安全な状態に遷移させることを目的として出力されるデーターである。具体的には、制御対象装置２の状態の継続を指示する制御データーや、制御対象装置２を停止させる制御データーなどがある。
所定出力制御データー１４１９の登録方法は、例えば、ＣＰＵからデーター回線１６ａ〜１６ｈを介して登録する方法や、レジスタや電気回路によって固定値を登録する方法などが考えられる。マスター権の登録と所定出力制御データー１４１９の登録はどちらを先に実施してもよい。
【００３４】
図４の例では、マスター権が登録されてマスター権管理準備完了４０１の通信装置１４が、１つ目の出力制御データー４０３を受信すると、それをトリガーにしてマスター権管理を開始し、マスター権管理中４０２の状態になる。マスター権管理中４０２において出力制御データー４０３，４０４，・・を受信すると、通信装置１４は、各出力制御データー４０３，４０４，・・がマスター権を持ったＣＰＵから送信されたデーターであるかどうかを判定する。図４Ｃは、マスター権判定結果を示す。
【００３５】
図４では、出力制御データーＡ４０３および出力制御データーＢ４０４はマスター権を持ったＣＰＵから送信されたデーターであり、図４Ｄに示すように、通信制御部１４１は、プロセス入出力バス１７に受信した出力制御データーを出力する。また、マスター権を持っていないＣＰＵからの出力制御データーＣ４０５を受信した場合、図４Ｄに示すように、通信制御部１４１は、プロセス入出力バス１７に当該出力制御データーを出力しない。
【００３６】
以上の処理を実行することによって、通信装置１４は、マスター権を持ったＣＰＵからの出力制御データーのみをプロセス入出力バス１７に出力し、プロセス入出力装置１５ａ〜１５ｎに誤った出力制御データーが出力されることを防ぐことができる。したがって、図１に示すように複数のＣＰＵ１１，１２を同一ネットワーク上に接続した場合でも、マスター権がないＣＰＵからの制御データーで、制御対象装置２が誤動作することを阻止することが可能になる。例えば、マスター権を持っていないＣＰＵが異常動作に陥り、誤った出力制御データーを送信したとしても、当該出力制御データーがプロセス入出力装置１５ａ〜１５ｎに送信されることはないため、ＣＰＵの故障波及を防止することができる。
【００３７】
［３．アクセス状態の管理例］
次に、通信装置１４において行われる、マスター権を持ったＣＰＵからのアクセス時の管理例について説明する。
通信装置１４の通信制御部１４１は、マスター権を持ったＣＰＵからのアクセスが適正か否かを判断し、適正なアクセスでない場合には、該当するマスター権を破棄する処理を行う。
【００３８】
図５のフローチャートは、アクセスが適正か否かを判断する一例として、伝送手順が適正か否かを判断する場合の例を示す。
まず、通信制御部１４１は、ＣＰＵから伝送される出力制御データーのデーター回線１６ａ〜１６ｈにおける伝送手順が、そのデーター回線１６ａ〜１６ｈで構成されるネットワークで適正な手順であるか否かを判断する（ステップＳ５０１）。このステップＳ５０１で、伝送手順が適正でないと判断された場合（ステップＳ５０１のＮＯ）、通信制御部１４１は、出力制御データーの送信元のＣＰＵのマスター権を破棄する。伝送手順が適正であると判断された場合（ステップＳ５０１のＹＥＳ）、通信制御部１４１は、出力制御データーを対応したプロセス入出力装置（装置１５ａ〜１５ｎのいずれか）に出力する（ステップＳ５０３）。
【００３９】
次に、マスター権を持ったＣＰＵからのアクセスが適正か否かを判断する他の例として、アクセスタイムアウト処理について説明する。
図６は、通信装置１４がアクセスタイムアウトを検出した時の処理を示すフローチャートである。
【００４０】
まず、通信制御部１４１は、ＣＰＵ１１，１２の故障やデーター回線１６ａ〜１６ｈの断線などによって、マスター権を持ったＣＰＵから通信装置１４へのアクセスが一定時間以上ないか否かを判断する（ステップＳ６０１）。ここで、通信装置１４へのアクセスが一定時間以上ない場合には、該当するＣＰＵのアクセスがタイムアウトであると判断する（ステップＳ６０１のＹＥＳ）。
【００４１】
このとき、通信制御部１４１は、アクセスタイムアウトを検出したＣＰＵを異常であると判断し、このＣＰＵのマスター権を破棄する（ステップＳ６０２）。そして、このＣＰＵがマスター権を持っていたプロセス入出力装置（装置１５ａ〜１５ｎのいずれか）に対して、通信制御部１４１は、能動的に所定出力制御データー１４１９を出力する（ステップＳ６０３）。この所定出力制御データー１４１９の出力により、プロセス入出力装置１５ａ〜１５ｎの接続先である制御対象装置２を安全な状態に遷移させる。例えば、所定出力制御データー１４１９として、制御対象装置２の状態の継続を指示する制御データーを出力して、制御対象装置２を安全な状態に遷移させることができる。
【００４２】
また、ステップＳ６０１において、通信装置１４へのアクセスが一定時間以内にある場合（ステップＳ６０１のＮＯ）、通信制御部１４１は、マスター権の破棄は行わない。そして、出力制御データーの受信したタイミングで、通信装置１４がその受信した出力制御データーをプロセス入出力装置１５ａ〜１５ｎ側に送信する。
このようにして、タイムアウトしたとき、異常ＣＰＵからの出力制御データーが該当するプロセス入出力装置（装置１５ａ〜１５ｎのいずれか）に出力されることはないため、ＣＰＵの故障波及を防止できる。なお、破棄されたマスター権は、正常動作に復帰したＣＰＵからのマスター権登録依頼によって再登録することができる。
【００４３】
なお、通信制御部１４１がタイムアウトの判断を行う際には、複数の通信経路を総合的に判断するようにしてもよい。すなわち、図１に示すシステム構成では、各ＣＰＵ１１，１２と通信装置１４ａ，１４ｂとの間のデーター回線１６ａ〜１６ｈが二重化構成であり、いずれか一方のデーター回線が使用できない場合であっても、他方のデーター回線で通信を継続することができる。したがって、図６のステップＳ６０１でのタイムアウトの判断時には、２つのデーター送受信部１４１１，１４１２の双方を監視するようにしてもよい。
【００４４】
図７のタイムチャートは、通信制御部１４１が２つのデーター送受信部１４１１，１４１２を監視して、アクセスタイムアウトの判断を行う例を示す。
ここでは、二重化したデーター回線１６ｅ，１６ｈのいずれからもアクセスがなかった場合に、アクセス間隔タイマー１４４は、アクセスタイムアウトを検出して、タイムアウト信号１４９（図１）を出力する。
【００４５】
図７Ａは、ＣＨ１データー送受信部１４１１での出力制御データー７０１の受信タイミングを示し、図７Ｂは、ＣＨ２データー送受信部１４１２での出力制御データー７０１の受信タイミングを示す。この例では、図７Ａおよび図７Ｂに示すように、２つのデーター送受信部１４１１，１４１２が交互に出力制御データー７０１を受信する。
図７Ｃは、アクセス間隔タイマー１４４のカウント状況を示す。アクセス間隔タイマー１４４は、カウント値がタイムアウトカウンタ上限値７０２になるとアクセスタイムアウトを検出し、図７Ｄに示すタイムアウト信号１４９を出力する。
図７Ｅは、通信装置１４からプロセス入出力バス１７に出力される出力制御データーを示す。
【００４６】
アクセス間隔タイマー１４４は、図７Ｃに示すように、ＣＨ１データー送受信部１４１１またはＣＨ２データー送受信部１４１２のどちらか片方から出力制御データーを受信したとき、タイムアウトカウンタ値を初期値にリセットする。また、アクセス間隔タイマー１４４が上限値に達しないときには、通信制御部１４１は、図７Ｅに示すように、受信した出力制御データーをそのままプロセス入出力バス１７に出力する。
【００４７】
しかしながら、ＣＨ１データー送受信部１４１１とＣＨ２データー送受信部１４１２の両方からのアクセスが途絶えて一定時間が経過すると、アクセス間隔タイマー１４４のカウンタ値がタイムアウトカウンタ上限値７０２に達し、タイムアウトを検出する。このとき、通信制御部１４１は、プロセス入出力バス１７に所定出力制御データー１４１９を出力する。
この図７に示すように処理が行われることで、二重化したデーター回線１６ａ〜１６ｈのいずれか一方でも正常に通信ができていれば、マスター権を保持でき、制御を継続できるようになる。すなわち、二重化した内の一方のデーター回線が使用できない場合に、他方のデーター回線を使用してマスター権の管理を継続して行うことができ、データー回線１６ａ〜１６ｈの一部に異常があっても、継続してマスター権に基づいた適正な制御ができる。
【００４８】
［４．２台の通信装置で共通化する例］
ここまでの説明では、それぞれの通信装置１４ａ，１４ｂごとに個別にマスター権を管理する例としたが、複数の通信装置１４ａ，１４ｂでマスター権を共有化してもよい。
図８は、複数の通信装置１４ａ，１４ｂでマスター権を共有する場合の構成例を示す。ここでは、２台の通信装置１４ａ，１４ｂを区別して説明する。
【００４９】
図８に示す構成では、一方の通信装置１４ａはマスター権共有部８０１ａを備え、他方の通信装置１４ｂはマスター権共有部８０１ｂを備える。そして、それぞれのマスター権共有部８０１ａ，８０１ｂの間は、データー回線８１２で相互に通信が可能になっている。
一方の通信装置１４ａのマスター権共有部８０１ａは、一方の通信装置１４ａのマスター権記憶部１４２に記憶されたマスター権を読み出す。また、他方の通信装置１４ｂのマスター権共有部８０１ｂは、他方の通信装置１４ｂのマスター権記憶部１４２′に記憶されたマスター権を読み出す。そして、双方のマスター権共有部８０１ａ，８０１ｂは、データー回線８１２を介して自らのマスター権の情報を相手のマスター権共有部８０１ａまたは８０１ｂに送信する。
【００５０】
そして、マスター権共有部８０１ａでは、データー回線８１２を介して伝送される相手側マスター権情報８１３を、論理ゲート回路８０２に伝送する。また、論理ゲート回路８０２には、アクセス間隔タイマー１４４からタイムアウト信号１４９が供給される。論理ゲート回路８０２では、相手側マスター権情報８１３でマスター権の登録がない状態で、タイムアウト信号１４９が伝送されるとき、タイムアウト信号８１４を生成して、そのタイムアウト信号８１４をマルチプレクサ１４１５に供給する。相手側マスター権情報８１３でマスター権の登録がある場合には、論理ゲート回路８０２は、タイムアウト信号８１４を出力しない。
図８に示す制御システム１のその他の構成は、図１に示す制御システム１と同様に構成する。
【００５１】
図９は、図８に示す構成にて、アクセスタイムアウトを検出した際の処理例を示すフローチャートである。この図９のフローチャートにおいて、図６のフローチャートと同一の処理については、同一のステップ番号を付与している。この図９のフローチャートは、二重化した他の通信装置１４ｂ側にマスター権が登録されているか否かを判定するステップＳ６０４を追加している。
【００５２】
すなわち、通信制御部１４１は、マスター権を持ったＣＰＵから通信装置１４ａへのアクセスが一定時間以上ないか否かを判断し（ステップＳ６０１）、アクセスが一定時間以上ない場合、該当するアクセスがタイムアウトであると判断する（ステップＳ６０１のＹＥＳ）。
【００５３】
ステップＳ６０１でタイムアウトであると判断された場合には、通信制御部１４１は、このＣＰＵのマスター権を破棄する（ステップＳ６０２）。その後、通信制御部１４１は、二重化相手の通信装置１４ｂに、該当するプロセス入出力装置（装置１５ａ〜１５ｎのいずれか）に対するＣＰＵ１１または１２のマスター権の登録があるか否かを判断する（ステップＳ６０４）。
ここで、マスター権の登録がないと判断された場合には（ステップＳ６０１のＹＥＳ）、通信制御部１４１内のマルチプレクサ１４１５は、所定出力制御データー１４１９（図１）を出力する（ステップＳ６０３）。
また、ステップＳ６０１でタイムアウトでない場合（ステップＳ６０１のＮＯ）と、ステップＳ６０４で通信装置１４ｂに該当するマスター権の登録がある場合（ステップＳ６０４のＮＯ）、マルチプレクサ１４１５から所定出力制御データー１４１９が出力されない。
【００５４】
このような制御が行われることで、制御対象装置２の状態の継続を指示する制御データーを出力して、制御対象装置２を安全な状態に遷移させる。ここで、例えば一方の通信装置１４ａが故障などによってマスター権の管理ができない場合でも、正常動作している他方の通信装置１４ｂによってマスター権を管理することができるため、制御対象装置２の制御を継続して行うことができる。
なお、図９のフローチャートに示すように、ステップＳ６０２におけるマスター権の破棄処理は通信装置１４ａ単独で行い、所定出力制御データー１４１９の出力については相手の通信装置１４ｂの状態を確認して行うことで、適正なマスター権の管理ができる。すなわち、マスター権の登録処理については、それぞれの通信装置１４ａ，１４ｂが単独で行い、それぞれの通信装置１４ａ，１４ｂで適正に管理される。一方、通信時の出力制御データーの管理処理については、２台の通信装置１４ａ，１４ｂに登録されたマスター権を共有化するため、いずれか１台の通信装置１４ａまたは１４ｂに障害がある場合でも、継続して出力制御データーを出力できるようになる。したがって、２台の通信装置１４ａ，１４ｂを連携することにより、適正な通信制御を行うことが可能となる。
【００５５】
［５．その他の変形例］
なお、上述した実施の形態例では、ＣＰＵ１１，１２と通信装置１４ａ，１４ｂとの間のデーター回線１６ａ〜１６ｈを二重化し、通信装置１４ａ，１４ｂについても二重化する構成とした。ＤＣＳのシステムにおいては、このように完全に二重化する構成とすることは好ましいが、どこまで二重化する構成とするかは、ＤＣＳのシステムを適用するプラントの用途や規模などに応じて選択することが望ましい。２つのＣＰＵ１１，１２を備える点についても一例であり、より多くのＣＰＵを備える構成としてもよい。
【００５６】
また、本発明は上記した実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態例の構成の一部を他の実施の形態例や変形例の構成に置き換えることが可能であり、また、ある実施の形態例の構成に他の実施の形態例や変形例の構成に置き換えることも可能である。また、実施の形態例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００５７】
１…制御システム、２…制御対象装置、３ａ〜３ｎ…入出力信号線、１１…第一ＣＰＵ（ＣＰＵ−Ａ）、１２…第二ＣＰＵ（ＣＰＵ−Ｂ）、１３ａ，１３ｂ…中継装置、１４ａ，１４ｂ…通信装置、１５ａ〜１５ｎ…プロセス入出力装置、１６ａ〜１６ｈ…データー回線、１７…プロセス入出力バス、１４１…通信制御部、１４２…マスター権記憶部、１４３…マスター権判定部、１４４…アクセス間隔タイマー、１４５…送信元ＣＰＵ情報、１４６…マスター権登録依頼、１４７…マスター権情報、１４８…マスター権判定結果、１４９…タイムアウト信号、１４１１…ＣＨ１データー送受信部、１４１２…ＣＨ２データー送受信部、１４１３…回線二重化制御部、１４１４…所定値出力部、１４１５…マルチプレクサ、１４１６…プロセス入出力バス制御部、１４１７ａ，１４１７ｂ…通信データー、１４１８…制御対象装置の情報、１４１９…所定出力制御データー、１４２０…受信した制御データー、１４２１…送信する制御データー、２０１…送信元ＣＰＵ情報、２０２…送信先プロセス入出力情報、２０３…プロセス入出力制御データー、４０１…マスター権管理準備完了、４０２…マスター権管理中、４０３…出力制御データーＡ、４０４…出力制御データーＢ、４０５…出力制御データーＣ、７０１…出力制御データー、７０２…タイムアウトカウンタ上限値、７０３…アクセスタイムアウト検出、８０１ａ，８０１ｂ…マスター権共有部、８０２…論理和ゲート回路、８１３…相手側マスター権情報、８１４…タイムアウト信号
【図１】
0006671247.tif 000002
【図２】
0006671247.tif 000003
【図３】
0006671247.tif 000004
【図４】
0006671247.tif 000005
【図５】
0006671247.tif 000006
【図６】
0006671247.tif 000007
【図７】
0006671247.tif 000008
【図８】
0006671247.tif 000009
【図９】
0006671247.tif 000010