(57)【要約】【課題】対象装置に制御指令を送出可能な制御装置が複数接続されている制御システムにおいて、対象装置に対する排他的な制御を簡易に実現するための技術を提供する。【解決手段】対象装置は、複数の制御装置のいずれかから制御権の発行要求を受信するたびに新規の制御権を発行し、前記発行要求の送信元の制御装置に対し前記新規の制御権の情報を返信する制御権発行部と、発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権を管理する制御権管理部と、前記複数の制御装置のいずれかから制御権の情報が付された制御開始要求を受信した場合に、前記制御開始要求に付された制御権が有効か否かを確認し、制御権が有効な場合は前記制御開始要求の送信元の制御装置による占有的な制御を可能化し、制御権が無効な場合には前記制御開始要求の送信元の制御装置による制御を拒否する排他制御部と、を有する。【選択図】図６
2019086901.tif 000002
【特許請求の範囲】
【請求項１】
制御対象である対象装置と、前記対象装置に対しネットワークを介して接続された複数の制御装置と、を有する制御システムであって、
前記対象装置は、
前記複数の制御装置のいずれかから制御権の発行要求を受信するたびに新規の制御権を発行し、前記発行要求の送信元の制御装置に対し前記新規の制御権の情報を返信する制御権発行部と、
発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権を管理する制御権管理部と、
前記複数の制御装置のいずれかから制御権の情報が付された制御開始要求を受信した場合に、前記制御開始要求に付された制御権が有効か否かを確認し、制御権が有効な場合は前記制御開始要求の送信元の制御装置による占有的な制御を可能化し、制御権が無効な場合には前記制御開始要求の送信元の制御装置による制御を拒否する排他制御部と、を有する
ことを特徴とする制御システム。
【請求項２】
前記対象装置の前記制御権管理部は、発行済みの制御権のうち最新の制御権のみが有効となり、前記最新の制御権の以前に発行した制御権は無効となるように、制御権を管理する
ことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記対象装置の前記制御権発行部は、いずれかの制御装置による占有的な制御を可能化した場合に、当該制御装置による占有的な制御が終了するまでは新規の制御権の発行を行わない
ことを特徴とする請求項１または２に記載の制御システム。
【請求項４】
いずれかの制御装置による占有的な制御を可能化した場合に、当該制御装置による占有的な制御が行われる間は、当該制御装置から前記対象装置に送られるメッセージに、当該制御装置に発行した制御権の情報が付される
ことを特徴とする請求項１〜３のうちのいずれかに記載の制御システム。
【請求項５】
前記対象装置は、アクチュエータを駆動するドライバであり、
前記制御装置は、前記ドライバに制御指令を送るＰＬＣまたはコンピュータである
ことを特徴とする請求項１〜４のうちのいずれかに記載の制御システム。
【請求項６】
前記ネットワークは産業用ネットワークである
ことを特徴とする請求項１〜５のうちのいずれかに記載の制御システム。
【請求項７】
制御対象である対象装置と、前記対象装置に対しネットワークを介して接続された複数の制御装置と、を有する制御システムにおける排他制御方法であって、
前記対象装置が、前記複数の制御装置のいずれかから制御権の発行要求を受信するたびに新規の制御権を発行し、前記発行要求の送信元の制御装置に対し前記新規の制御権の情報を返信し、
前記対象装置が、発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権を管理し、
前記対象装置が、前記複数の制御装置のいずれかから制御権の情報が付された制御開始要求を受信した場合に、前記制御開始要求に付された制御権が有効か否かを確認し、制御権が有効な場合は前記制御開始要求の送信元の制御装置による占有的な制御を可能化し、制御権が無効な場合には前記制御開始要求の送信元の制御装置による制御を拒否する
ことを特徴とする排他制御方法。
【請求項８】
制御装置からの制御指令にしたがい動作する対象装置であって、
ネットワークを介して複数の制御装置が接続されており、
前記複数の制御装置のいずれかから制御権の発行要求を受信するたびに新規の制御権を発行し、前記発行要求の送信元の制御装置に対し前記新規の制御権の情報を返信する制御権発行部と、
発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権を管理する制御権管理部と、
前記複数の制御装置のいずれかから制御権の情報が付された制御開始要求を受信した場合に、前記制御開始要求に付された制御権が有効か否かを確認し、制御権が有効な場合は前記制御開始要求の送信元の制御装置による占有的な制御を可能化し、制御権が無効な場合には前記制御開始要求の送信元の制御装置による制御を拒否する排他制御部と、を有する
ことを特徴とする対象装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムにおける排他制御のための技術に関する。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）においては、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）などの制御装置とドライバ・センサ・Ｉ／Ｏなどの被制御装置とで構成される制御システムによって、工場内の生産設備の自動制御が実現されている。制御装置と被制御装置とのあいだは専用バスまたは産業用ネットワークにより接続される。産業用ネットワークとしては、イーサネット（登録商標）の技術を転用した産業用イーサネットの普及が進んでおり、ＥＴＧ（ＥｔｈｅｒＣＡＴ  Ｔｅｃｈｎｏｌｏｇｙ  Ｇｒｏｕｐ）が推進するＥｔｈｅｒＣＡＴ（登録商標）もその一つである。
【０００３】
この種の産業用ネットワークでは、通信のリアルタイム性と信頼性を担保するために、マスタ／スレーブ方式が採用されることが一般的である。マスタ／スレーブ方式では、マスタとなる１台の制御装置が制御指令を送出し、マスタに接続された被制御装置（スレーブとなる）はマスタから受け取った制御指令にしたがって動作する。特許文献１には、マスタ／スレーブ方式の産業用イーサネットが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１７６３１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マスタ／スレーブ方式の通信では、制御指令を生成・送出するのが１台のマスタに限られる。したがって、スレーブが複数台のマスタから別々に制御指令を受け取るという状況は、本来的には、発生しないはずである。
【０００６】
しかしながら、例えば、制御プログラムの開発過程や試運転・メンテナンスの際などに、一時的に、ネットワーク上に２台以上の制御装置を接続するケースが想定される。また、誤って、２台以上の制御装置をネットワークに接続してしまうことも起きないとは限らない。もし、ネットワーク上に複数台の制御装置が存在し、かつ、それらが同じスレーブに対し個別に制御指令を送出してしまうと、スレーブの誤動作や故障を招くおそれがある。
【０００７】
本発明は、上記実情に鑑みなされたものであって、制御対象である対象装置に制御指令を送出可能な制御装置が複数接続されている制御システムにおいて、対象装置に対する排他的な制御を簡易に実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第一側面は、制御対象である対象装置と、前記対象装置に対しネットワークを介して接続された複数の制御装置と、を有する制御システムであって、前記対象装置は、前記複数の制御装置のいずれかから制御権の発行要求を受信するたびに新規の制御権を発行し、前記発行要求の送信元の制御装置に対し前記新規の制御権の情報を返信する制御権発行部と、発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権を管理する制御権管理部と、前記複数の制御装置のいずれかから制御権の情報が付さ
れた制御開始要求を受信した場合に、前記制御開始要求に付された制御権が有効か否かを確認し、制御権が有効な場合は前記制御開始要求の送信元の制御装置による占有的な制御を可能化し、制御権が無効な場合には前記制御開始要求の送信元の制御装置による制御を拒否する排他制御部と、を有することを特徴とする制御システムを提供する。
【０００９】
この構成では、対象装置が、制御装置に対し「制御権」を発行し、かつ、常に一つの制御権のみが有効な状態となるよう発行済み制御権の管理を行う。そして、対象装置は、有効な制御権をもつ制御装置から制御開始要求を受けた場合に、当該制御装置による占有的な制御を可能化する。したがって、ネットワーク上に複数の制御装置が存在し、それらが個別かつランダムに（つまり、制御装置同士が何ら調整することなく）対象装置に対し、制御権の発行要求や制御開始要求を送出したとしても、有効な制御権をもつ一つの制御装置だけが対象装置を制御可能という状態が保証される。よって、対象装置に対する排他的な制御を実現することができる。また、本発明の方法は、制御装置側（制御指令を送出する側）が他の制御装置の有無をチェックしたり他の制御装置との調整を図ったりする必要がなく、また、制御装置の台数やネットワークトポロジに関係なく適用可能であることから、対象装置に対する排他的な制御をきわめて簡易に実現できるという利点もある。
【００１０】
前記対象装置の前記制御権管理部は、発行済みの制御権のうち最新の制御権のみが有効となり、前記最新の制御権の以前に発行した制御権は無効となるように、制御権を管理するとよい。
【００１１】
この構成によれば、新たな制御権を発行するたびにそれ以外の制御権を無効化する、というきわめてシンプルなロジックで、制御権の有効／無効の管理を実現することができる。
【００１２】
前記対象装置の前記制御権発行部は、いずれかの制御装置による占有的な制御を可能化した場合に、当該制御装置による占有的な制御が終了するまでは新規の制御権の発行を行わないとよい。また、いずれかの制御装置による占有的な制御を可能化した場合に、当該制御装置による占有的な制御が行われる間は、当該制御装置から前記対象装置に送られるメッセージに、当該制御装置に発行した制御権の情報が付されるとよい。これにより、当該制御装置による制御の最中に、他の制御装置による割り込みや輻輳が発生することを防止できる。
【００１３】
前記対象装置は、アクチュエータを駆動するドライバであり、前記制御装置は、前記ドライバに制御指令を送るＰＬＣまたはコンピュータであるとよい。万が一、アクチュエータを駆動するドライバに対し、複数の制御装置から個別に制御指令が与えられると、アクチュエータの誤動作や過負荷が生じ、アクチュエータの故障や生産設備の故障を招くおそれがある。それゆえ、この種の対象装置に対して本発明による排他制御を適用することは、非常に効果が大きい。アクチュエータは、モータ、リニアガイドなどを含み、ドライバは、インバータ、サーボドライバなどを含む。
【００１４】
前記ネットワークは産業用ネットワークであるとよい。産業用ネットワーク（フィールドネットワークともいう）は産業用イーサネットを含み、産業用イーサネットはＥｔｈｅｒＣＡＴを含む。なお、複数の制御装置と対象装置のネットワーク構成やトポロジは任意である。
【００１５】
本発明の第二側面は、制御対象である対象装置と、前記対象装置に対しネットワークを介して接続された複数の制御装置と、を有する制御システムにおける排他制御方法であって、前記対象装置が、前記複数の制御装置のいずれかから制御権の発行要求を受信するたびに新規の制御権を発行し、前記発行要求の送信元の制御装置に対し前記新規の制御権の
情報を返信し、前記対象装置が、発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権を管理し、前記対象装置が、前記複数の制御装置のいずれかから制御権の情報が付された制御開始要求を受信した場合に、前記制御開始要求に付された制御権が有効か否かを確認し、制御権が有効な場合は前記制御開始要求の送信元の制御装置による占有的な制御を可能化し、制御権が無効な場合には前記制御開始要求の送信元の制御装置による制御を拒否することを特徴とする排他制御方法を提供する。
【００１６】
本発明の第三側面は、制御装置からの制御指令にしたがい動作する対象装置であって、ネットワークを介して複数の制御装置が接続されており、前記複数の制御装置のいずれかから制御権の発行要求を受信するたびに新規の制御権を発行し、前記発行要求の送信元の制御装置に対し前記新規の制御権の情報を返信する制御権発行部と、発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権を管理する制御権管理部と、前記複数の制御装置のいずれかから制御権の情報が付された制御開始要求を受信した場合に、前記制御開始要求に付された制御権が有効か否かを確認し、制御権が有効な場合は前記制御開始要求の送信元の制御装置による占有的な制御を可能化し、制御権が無効な場合には前記制御開始要求の送信元の制御装置による制御を拒否する排他制御部と、を有することを特徴とする対象装置を提供する。
【００１７】
なお、本発明は、上記構成の少なくとも一部を有する対象装置または制御システムとして捉えることができる。また、本発明は、上記処理の少なくとも一部を含む、制御システムにおける排他制御方法または対象装置における排他制御方法として捉えることができる。また、本発明は、排他制御方法を対象装置が備えるプロセッサに実行させるためのプログラム、又は、そのようなプログラムを非一時的に記録したコンピュータ読取可能な記録媒体として捉えることもできる。上記構成及び処理の各々は技術的な矛盾が生じない限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００１８】
本発明によれば、制御対象である対象装置に制御指令を送出可能な制御装置が複数接続されている制御システムにおいて、対象装置に対する排他的な制御を簡易に実現することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は制御システムの構成例を示す図である。
【図２】図２Ａ〜図２Ｃは図１の構成に制御装置を追加した図である。
【図３】図３は対象装置の排他制御に関する構成を示すブロック図である。
【図４】図４は制御権の発行処理を示すフローチャートである。
【図５】図５は排他処理を示すフローチャートである。
【図６】図６は複数の制御装置が存在する場合の排他制御の例を示す図。
【発明を実施するための形態】
【００２０】
本発明は、制御対象である対象装置に対して制御指令を送出可能な制御装置が複数接続されている場合に、複数の制御装置のうちの一つだけが対象装置を占有的に制御できるようにした排他制御に関する。本発明は、一つの制御装置による制御が担保されるべき制御システムに対し好ましく適用できる。そのような制御システムの一例として、ＦＡの生産設備を制御するための制御システムが挙げられる。そこで以下、本発明の好ましい実施形態として、ＰＬＣとアクチュエータのドライバとを含む制御システムにおける排他制御の例を説明する。ただし、以下の実施形態は本発明の好ましい適用例の一つにすぎず、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００２１】
（システム構成）
図１は、本実施形態の制御システムの物理的な構成を示している。この制御システム１は、制御装置としてのＰＬＣ１０と、対象装置としてのドライバ１１を有している。ＰＬＣ１０とドライバ１１のあいだは、産業用ネットワークの一つであるＥｔｈｅｒＣＡＴにより接続され、ＰＬＣ１０がマスタ、ドライバ１１がスレーブとなるマスタ／スレーブ通信により制御指令が送られる。このドライバ１１は、モータ１２を駆動するための装置であり、具体的にはインバータまたはサーボドライバである。
【００２２】
なお、図１では、説明の便宜のため、対象装置を一つだけ示したが、ＰＬＣ１０に対しては複数の対象装置を接続することができる。その場合、後述する排他制御は対象装置ごとに実行することができる。対象装置としては、ドライバの他にも、例えば、Ｉ／Ｏユニット、スイッチ、センサ、リレー、バルブなどが該当する。ＰＬＣ１０と対象装置のあいだの接続はＥｔｈｅｒＣＡＴ以外のネットワークでもよいし、有線でなく無線のネットワークでもよい。
【００２３】
本稼働時には、マスタであるＰＬＣ１０が制御指令を含むフレーム（データ通信の単位となるデータブロック）を一定の時間間隔でネットワークに送出する。このフレームは、ネットワークに接続されたすべてのスレーブを順に経由した後、マスタであるＰＬＣ１０にループバックされる。各スレーブは、フレームを受信した時に、フレームに含まれる自分への制御指令を取り出し、その制御指令に応じた処理を実行する。このような仕組みにより、マスタからの制御指令に基づくリアルタイム制御が実現される。
【００２４】
（例外的な構成）
このようなマスタ／スレーブ通信は、図１に示すように、ネットワーク上に存在するマスタが一つだけであることが前提となっている。しかしながら、例外的に、スレーブに対し制御指令を送出可能な制御装置（つまり、マスタになり得る装置）がネットワークに複数台接続されるケースがあり得る。例えば、システムの開発者・保守者などが、ＰＬＣ１０に組み込む制御プログラムの開発やデバッグを行う過程や、システムを試運転したりメンテナンスを行う際に、テスト用のＰＬＣや開発保守用の端末を一時的にネットワークに接続することがある。開発保守用の端末は、パーソナルコンピュータ（ノートパソコンなど）、タブレット端末、スマートフォンなどの汎用コンピュータに、開発保守用のアプリケーションプログラムをインストールしたものであり、例えば、ＰＬＣの制御プログラムの更新、スレーブに対する制御指令の送出、スレーブの試運転・パラメータの更新などの機能を有するものである。また、上記のようなケース以外にも、システムの開発者・保守者などが、誤って、２台以上の制御装置をネットワークに接続してしまうこともあり得る。
【００２５】
図２Ａは、図１の制御システムに対し、テスト用のＰＬＣ２０を追加した例である。ハブ２１を介して２台のＰＬＣ１０、２０がドライバ１１に接続されている。この例では、２台のＰＬＣ１０、２０がいずれもマスタになり得る。図２Ｂは、図１の制御システムに対し、開発保守用の端末２２を追加した例である。この例では、ＰＬＣ１０と端末２２がいずれもマスタになり得る。図２Ｃは、図２ＢのＰＬＣ１０に開発保守用の端末２３を接続した例である。この場合、端末２３がＰＬＣ１０と協働して一つのマスタとして動作する。したがってこの例では、端末２２と端末２３がいずれもマスタになり得る。なお、図２Ａ〜図２Ｃは、ネットワーク上に複数のマスタが存在する構成の一例を示すものにすぎず、これらの以外の構成もあり得る。もちろん、３台以上のマスタが存在する構成もあり得る。
【００２６】
図２Ａ〜図２Ｃのようにネットワーク上に複数のマスタが存在する場合に、各マスタからドライバ１１に対し個別に制御指令が送出されると、ドライバ１１やモータ１２の誤動作や故障を招くおそれがある。このような問題を解消するため、ドライバ１１は、単一の
マスタからの制御しか受け付けないようにする排他制御を実施する。以下、ドライバ１１などの対象装置が有する排他制御に関わる構成を説明する。
【００２７】
（排他制御に関わる構成）
図３は、本実施形態の対象装置が備える排他制御に関わる構成を模式的に示すブロック図である。図３に示すように、対象装置は、制御権発行部３０と制御権管理部３１と排他制御部３２を有する。制御権発行部３０は、制御装置（マスタ）に対し制御権を発行するモジュールである。制御権管理部３１は、発行した制御権の有効／無効を管理するモジュールである。排他制御部３２は、制御権を用いた排他制御を実行するモジュールである。これらのモジュールの詳しい機能および動作については後述する。
【００２８】
対象装置は、ＣＰＵ（プロセッサ）、メモリ、ストレージデバイスなどを有する制御回路を有している。本実施形態では、ＣＰＵがストレージデバイスに格納されているプログラムをメモリにロードし、実行することにより、図３に示す各モジュールが実現されている。ただし、図３に示すモジュールの全部または一部をＡＳＩＣやＦＰＧＡなどの回路（ハードウエア）で構成しても構わない。
【００２９】
図４は制御権発行部３０および制御権管理部３１による制御権の発行処理を示すフローチャートである。本実施形態では、制御装置（マスタ）が対象装置（スレーブ）の占有的な制御を望む場合、制御装置がまず当該対象装置に対する「制御権の発行要求」を記述したフレームを生成し、ネットワークへと送出する。
【００３０】
対象装置の制御権発行部３０は、ネットワークを介していずれかの制御装置（マスタ）から「制御権の発行要求」を受信すると（ステップＳ４０）、新規の制御権を発行する（ステップＳ４１）。
【００３１】
「制御権」は、対象装置（スレーブ）に対して占有的な制御の開始を要求できる権利である。制御権の重複が生じないよう、制御権にはユニークな識別子（以下、制御権ＩＤと呼ぶ）が与えられる。例えば、制御権発行部３０は、制御権ＩＤとしてシリアル番号を付し、制御権を発行するたびにシリアル番号をインクリメントしてもよい。あるいは、制御権発行部３０は、発行日時のタイムスタンプを制御権ＩＤとして用いてもよい。本実施形態では、一例として、０ｘ０００１〜０ｘＦＦＦＦの２バイトの制御権ＩＤを用いる。
【００３２】
制御権管理部３１は、ステップＳ４１で新規発行された制御権の制御権ＩＤを、有効な制御権の情報として、メモリに記録する（ステップＳ４２）。以後、ステップＳ４２でメモリに記録された最新の制御権ＩＤのみが「有効な制御権」となり、他の制御権ＩＤはすべて「無効な制御権」として取り扱われる。このような仕組みにより、発行済みの制御権のうちの一つのみが有効となり、他は無効となるように、制御権の管理が行われる。
【００３３】
制御権発行部３０は、ステップＳ４１で新規発行された制御権の制御権ＩＤを、制御権の発行要求の送信元の制御装置（マスタ）に対し返信する（ステップＳ４３）。マスタ／スレーブ通信の場合は、ステップＳ４０で受信したフレームの該当領域に制御権ＩＤを書き込むことで、制御権ＩＤをマスタに通知することができる。
【００３４】
以上で、制御権の発行処理が完了する。図４に示した制御権の発行処理は、対象装置が制御装置から「制御権の発行要求」を受信するたびに実行される。なお、ステップＳ４２とＳ４３の処理の順番は逆でもよいし、２つの処理を並列に処理してもよい。
【００３５】
図５は排他制御部３２による排他処理を示すフローチャートである。図４の処理により制御権を獲得した制御装置（マスタ）は、対象装置（スレーブ）に対し「制御開始要求」
を発することができる。具体的には、制御装置が当該対象装置に対する制御開始要求を記述したフレームを生成し、ネットワークへと送出する。このとき、制御開始要求には、対象装置から獲得した制御権ＩＤを付す。つまり、制御権ＩＤは、制御開始要求の正当性を表す証明書の役割も有する。また、制御開始要求には、占有期間（例えば、制御の開始時刻と終了時刻など）を付してもよい。
【００３６】
対象装置の排他制御部３２は、ネットワークを介していずれかの制御装置（マスタ）から「制御開始要求」を受信すると（ステップＳ５０）、制御開始要求に付された制御権ＩＤを取得する（ステップＳ５１）。排他制御部３２は、この制御権ＩＤとメモリに記憶されている有効な制御権ＩＤとを比較することにより、制御開始要求に付された制御権ＩＤの有効性を判定する（ステップＳ５２）。
【００３７】
制御権が有効な場合は、排他制御部３２は、対象装置を制御可能モードに切り替える（ステップＳ５３）とともに、制御権発行部３０による新規の制御権の発行を行わない発行禁止モードに切り替える（ステップＳ５４）。そして、排他制御部３２は、制御可能状態となった旨を、制御開始要求の送信元の制御装置（マスタ）に対し返信する（ステップＳ５５）。これにより、制御装置による対象装置の占有的な制御が可能化される。なお、発行禁止モードは、制御装置による占有的な制御が終了したら解除される。
【００３８】
一方、制御開始要求に付された制御権が無効であった場合には、排他制御部３２は、制御権が無効である旨を、制御開始要求の送信元の制御装置（マスタ）に対し返信する（ステップＳ５６）。これにより、制御装置による対象装置の占有的な制御が拒否される。制御装置が制御権を獲得してから制御開始要求を送信するまでの間に、他の制御装置から制御権の発行要求が出た場合には、他の制御装置に制御権が移るため、ステップＳ５６のような状況が起こる。
【００３９】
（排他制御の具体例）
図２Ｂと図６を参照して、複数の制御装置が同じ対象装置を制御しようとした場合に実行される排他制御の例を説明する。
【００４０】
保守者が端末２２を操作し、ドライバ１１の試運転を実行しようとすると、端末２２からドライバ１１に対し「制御権の発行要求」が送られる（ステップＳ６０）。ドライバ１１は、端末２２に対し新規の制御権を発行するとともに、発行済みの制御権は無効にする（ステップＳ６１、Ｓ６２）。
【００４１】
その後つづいて、ＰＬＣ１０からもドライバ１１に対し「制御権の発行要求」が送られると（ステップＳ６３）、ドライバ１１は、ＰＬＣ１０に対し新規の制御権を発行するとともに、発行済みの制御権は無効にする（ステップＳ６４、Ｓ６５）。これにより、制御権が端末２２からＰＬＣ１０に移ることとなる。
【００４２】
その後、端末２２からドライバ１１に対し「制御開始要求」が送られたとしても（ステップＳ６６）、制御権が無効であるため、制御の開始は拒否される（ステップＳ６７）。その場合、端末２２は、例えば「他のマスタと競合したため対象装置の試運転は実行できません。」などのエラーメッセージを表示するとよい。このような通知をみることで、保守者は、マスタが２台以上ある事実を知ることができるとともに、試運転失敗の原因を知ることができる。
【００４３】
その後、ＰＬＣ１０からドライバ１１に対し「制御開始要求」が送られると（ステップ６８）、ドライバ１１が制御可能モード・発行禁止モードに遷移し（ステップＳ６９）、制御可能状態である旨をＰＬＣ１０に通知する（ステップＳ７０）。これ以降、ＰＬＣ１
０による占有的な制御が実行される（不図示）。ＰＬＣ１０による占有的な制御が行われる間、ＰＬＣ１０からドライバ１１に送る全てのメッセージに制御権ＩＤを付すようにしてもよい。これにより、ドライバ１１は、占有的な制御が可能化された制御装置（この例ではＰＬＣ１０）からのメッセージであることを常にチェックできるので、別の制御装置からの制御指令等を確実に排除することができる。
【００４４】
（本実施形態の利点）
以上述べた構成によれば、ネットワーク上に複数の制御装置が存在し、それらが個別かつランダムに（つまり、制御装置同士が何ら調整することなく）対象装置に対し、制御権の発行要求や制御開始要求を送出したとしても、有効な制御権をもつ一つの制御装置だけが対象装置を制御可能という状態が保証される。よって、対象装置に対する排他的な制御を実現することができる。また、本実施形態の方法は、制御装置側（制御指令を送出する側）が他の制御装置の有無をチェックしたり他の制御装置との調整を図ったりする必要がなく、また、制御装置の台数やネットワークトポロジに関係なく適用可能であることから、対象装置に対する排他的な制御をきわめて簡易に実現できるという利点もある。
【００４５】
また、新たな制御権を発行するたびにそれ以外の制御権を無効化する、というきわめてシンプルなロジックで、制御権の有効／無効の管理を実現することができる。また、この構成によれば、制御装置が制御権を獲得した後、何らかの事情で制御権の行使（制御開始要求の送信）を行わなかったとしても、（制御権の発行要求が他の制御装置からなされれば）自動的に制御権が無効化される。すなわち、行使されないまま古くなった制御権が自動的にタイムアウトする仕組みが実現される。したがって、ある一つの制御装置に制御権が与えられた状態のままになる（他の制御装置からの要求は排除される）という状況の発生を防止することができる。さらに、最も直近に制御権を獲得した制御装置が優先的に制御権を行使できる、という点で制御装置間での公平性を担保できる。
【００４６】
なお、上記実施形態の説明は、本発明を例示的に説明するものに過ぎない。本発明は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。例えば、上記実施形態ではＦＡの制御システムを例示したが、本発明は制御装置と対象装置を含むあらゆる制御システムに適用可能である。また、たとえＦＡの制御システムの場合であっても、ＥｔｈｅｒＣＡＴ以外のネットワークにも本発明を適用可能であるし、制御装置と対象装置のあいだの通信方式はマスタ／スレーブ方式でなくてもよい。
【００４７】
制御権管理部３１は、制御権が有効である期間に制限（有効時間）を設定してもよい。例えば、制御権管理部３１は、ある制御装置に対し制御権を発行した後、所定の有効時間内に当該制御装置から制御開始要求を受信しなかった場合には、（他の制御装置からの制御権発行要求の有無に関係なく）当該制御装置の制御権を無効化してもよい。また、排他制御部３２が、制御可能モード・発行禁止モードに制約時間を設定してもよい。例えば、排他制御部３２は、対象装置が制御可能モード・発行禁止モードに切り替わった後、所定の制約時間内に制御装置から何らのアクションも受信しなかった場合には、当該制御装置の制御権を無効化し、制御可能モード・発行禁止モードから自動的に抜けてもよい。このような有効時間や制約時間を設定することにより、ある一つの制御装置に制御権が与えられた状態のままになる（他の制御装置からの要求は排除される）デッドロック状態の発生をより確実に防止することができる。
【符号の説明】
【００４８】
１：制御システム
１０：ＰＬＣ
１１：ドライバ
１２：モータ
２０：ＰＬＣ
２１：ハブ
２２：端末
２３：端末
３０：制御権発行部
３１：制御権管理部
３２：排他制御部
【図１】
2019086901.tif 000003
【図２】
2019086901.tif 000004
【図３】
2019086901.tif 000005
【図４】
2019086901.tif 000006
【図５】
2019086901.tif 000007
【図６】
2019086901.tif 000008