(57)【要約】【課題】識別情報の重複を防止する。【解決手段】制御機器と、複数の被制御機器とを有する制御装置であって、前記制御機器は、前記被制御機器との間で通信を開始することを示す通信許可通知を送信する第１の通信手段を有し、前記被制御機器は、前記通信許可通知を受信した場合、自己の被制御機器を識別する識別情報を含む通信フレームを生成する生成手段と、前記通信フレームを、他の被制御機器に送信する第２の通信手段と、他の被制御機器から通信フレームを受信した場合、自己の被制御機器の第１の識別情報と、前記通信フレームに含まれる前記他の被制御機器の第２の識別情報とが同一であるか否かを判定する判定手段と、前記第１の識別情報と前記第２の識別情報とが同一であると判定された場合、該第１の識別情報を、前記第２の識別情報と異なる識別情報に更新する更新手段とを有することにより、上記課題を解決する。【選択図】図３
2017108216.tif 000002
【特許請求の範囲】
【請求項１】
制御機器と、該制御機器により制御される複数の被制御機器とを有する制御装置であって、
前記制御機器は、
前記被制御機器との間で通信を開始することを示す通信許可通知を送信する第１の通信手段を有し、
前記被制御機器は、
前記通信許可通知を受信した場合、自己の被制御機器を識別する識別情報を含む通信フレームを生成する生成手段と、
前記生成手段により生成された前記通信フレームを、他の被制御機器に送信する第２の通信手段と、
他の被制御機器から通信フレームを受信した場合、自己の被制御機器の識別情報を示す第１の識別情報と、前記通信フレームに含まれる前記他の被制御機器の識別情報を示す第２の識別情報とが同一であるか否かを判定する判定手段と、
前記判定手段により前記第１の識別情報と前記第２の識別情報とが同一であると判定された場合、該第１の識別情報を、前記第２の識別情報と異なる識別情報に更新する更新手段と、
を有する制御装置。
【請求項２】
前記被制御機器は、
他の被制御機器から通信フレームを受信した場合、該通信フレームに含まれる前記第２の識別情報を所定の記憶領域に保存する保存手段を有し、
前記判定手段は、
前記第１の識別情報と同一の前記第２の識別情報が前記所定の記憶領域に保存されているか否かを判定し、
前記更新手段は、
前記判定手段により前記第１の識別情報と同一の前記第２の識別情報が前記所定の記憶領域に保存されていると判定された場合、該第１の識別情報を、前記所定の記憶領域に保存されている前記第２の識別情報のいずれとも異なる識別情報に更新する、請求項１に記載の制御装置。
【請求項３】
前記第１の通信手段は、前記制御機器と、前記複数の被制御機器のそれぞれとが相互に接続されたＩ／Ｏ通信線により、前記通信許可通知を送信する、請求項１又は２に記載の制御装置。
【請求項４】
前記第２の通信手段は、前記複数の被制御機器が相互に接続されたネットワーク通信線により、前記通信フレームを送信する、請求項１ないし３のいずれか１項に記載の制御装置。
【請求項５】
制御機器と、該制御機器により制御される複数の被制御機器とを有する制御装置で実行される制御方法であって、
前記被制御機器との間で通信を開始することを示す通信許可通知を送信する第１の通信手順と、
前記通信許可通知を受信した場合、自己の被制御機器を識別する識別情報を含む通信フレームを生成する生成手順と、
前記生成手順により生成された前記通信フレームを、他の被制御機器に送信する第２の通信手順と、
他の被制御機器から通信フレームを受信した場合、自己の被制御機器の識別情報を示す第１の識別情報と、前記通信フレームに含まれる前記他の被制御機器の識別情報を示す第２の識別情報とが同一であるか否かを判定する判定手順と、
前記判定手順により前記第１の識別情報と前記第２の識別情報とが同一であると判定された場合、該第１の識別情報を、前記第２の識別情報と異なる識別情報に更新する更新手順と、
を有する制御方法。
【請求項６】
複数の制御装置を有する制御システムであって、
制御装置間で通信を開始することを示す通信許可通知を送信する第１の通信手段を有し、
前記通信許可通知を受信した場合、前記制御装置を識別する識別情報を含む通信フレームを生成する生成手段と、
前記生成手段により生成された前記通信フレームを、他の制御装置に送信する第２の通信手段と、
他の制御装置から通信フレームを受信した場合、前記制御装置の識別情報を示す第１の識別情報と、前記通信フレームに含まれる前記他の制御装置の識別情報を示す第２の識別情報とが同一であるか否かを判定する判定手段と、
前記判定手段により前記第１の識別情報と前記第２の識別情報とが同一であると判定された場合、該第１の識別情報を、前記第２の識別情報と異なる識別情報に更新する更新手段と、
を有する制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、及び制御システムに関する。
【背景技術】
【０００２】
ＰＬＣ（Programmable Logic Controller）等の制御装置が従来から知られている。このような制御装置では、一の制御機器が、複数のユニット機器（被制御機器）に対して制御命令を送信することにより、様々な動作を実現している。
【０００３】
また、制御装置内において、制御機器と被制御機器との間で、制御命令等を含む通信フレームを送受信する技術が従来から知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５８２２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、上記の従来技術では、制御装置内において被制御機器を識別する識別情報に基づいて通信フレームが送受信される。したがって、識別情報は、制御装置内において重複なく被制御装置に割り当てられる必要がある。
【０００６】
本発明の一実施形態は、上記の点に鑑みてなされたもので、識別情報の重複を防止することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態では、制御機器と、該制御機器により制御される複数の被制御機器とを有する制御装置であって、前記制御機器は、前記被制御機器との間で通信を開始することを示す通信許可通知を送信する第１の通信手段を有し、前記被制御機器は、前記通信許可通知を受信した場合、自己の被制御機器を識別する識別情報を含む通信フレームを生成する生成手段と、前記生成手段により生成された前記通信フレームを、他の被制御機器に送信する第２の通信手段と、他の被制御機器から通信フレームを受信した場合、自己の被制御機器の識別情報を示す第１の識別情報と、前記通信フレームに含まれる前記他の被制御機器の識別情報を示す第２の識別情報とが同一であるか否かを判定する判定手段と、前記判定手段により前記第１の識別情報と前記第２の識別情報とが同一であると判定された場合、該第１の識別情報を、前記第２の識別情報と異なる識別情報に更新する更新手段と、を有する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、識別情報の重複を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態に係る制御装置の一例の構成を示す図である。
【図２】第一の実施形態に係る制御装置の一例のハードウェア構成を示す図である。
【図３】第一の実施形態に係る制御装置の一例の機能構成を示す図である。
【図４】第一の実施形態に係る制御装置におけるユニットＩＤの決定処理の一例を示すシーケンス図である。
【図５】第一の実施形態に係る制御機器の起動処理の一例を示すフローチャートである。
【図６】第一の実施形態に係るユニット機器の起動処理の一例を示すフローチャートである。
【図７】通信フレームの構成の一例を示す図である。
【図８】ユニットＩＤ管理テーブルにおいて管理されるユニットＩＤについて説明する一例の図である。
【図９】第一の実施形態に係るユニットＩＤの切り替え処理の一例を示すフローチャートである。
【図１０】第二の実施形態に係る制御システムの一例の構成を示す図である。
【図１１】第二の実施形態に係る制御システムの一例の機能構成を示す図である。
【図１２】第二の実施形態に係る制御システムにおける装置ＩＤの決定処理の一例を示す図である。
【図１３】装置ＩＤ管理テーブルにおいて管理される装置ＩＤについて説明する一例の図である。
【図１４】第二の実施形態に係る装置ＩＤの切り替え処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付の図面を参照しながら説明する。
【００１１】
［第一の実施形態］
＜制御装置の構成＞
まず、本実施形態に係る制御装置１０の構成について、図１を参照しながら説明する。図１は、第一の実施形態に係る制御装置の一例の構成を示す図である。
【００１２】
図１に示す制御装置１０は、制御機器２０と、複数のユニット機器（被制御機器）３０−１、３０−２、・・・、３０−１０と、入出力機器４０とを有する。
【００１３】
なお、以降では、複数のユニット機器３０−１、３０−２、・・・、３０−１０を互いに区別しない場合、「ユニット機器３０」と表す。また、制御装置１０は、任意の数のユニット機器３０を有していても良い。
【００１４】
図１に示す制御装置１０において、制御機器２０と、ユニット機器３０−１、３０−２、・・・、３０−１０とは、それぞれがＩ／Ｏ通信線５０−１、５０−２、・・・、５０−１０により接続されている。また、制御機器２０と各ユニット機器３０は、例えば、ＣＡＮ（Controller Area Network）等のネットワーク通信線６０により接続されている。
【００１５】
なお、以降では、複数のＩ／Ｏ通信線５０−１、５０−２、・・・、５０−１０を互いに区別しない場合、「Ｉ／Ｏ通信線５０」と表す。
【００１６】
制御機器２０は、制御装置１０内の各ユニット機器３０を制御する。制御機器２０は、例えば、入出力機器４０を介してユーザから入力された指示や予め組み込まれたプログラムの動作に応じて、制御命令を各ユニット機器３０に対して送信することで、各ユニット機器３０を制御する。
【００１７】
ユニット機器３０は、制御機器２０からの制御命令に応じて、様々な動作を行う。例えば、ユニット機器３０は、制御機器２０からの制御命令に応じて、当該ユニット機器３０に接続されたモータやシリンダ、リレー等の各種機器を駆動させる。
【００１８】
入出力機器４０は、ユーザからの各種の入力を受け付けるとともに、制御装置１０の処理結果等を表示させる。
【００１９】
ここで、本実施形態に係る制御装置１０において、制御機器２０は、制御命令を示す所定のコード（コマンドコード）と、制御対象のユニット機器３０の識別情報（ユニットＩＤ）の指定とを含む通信フレームを、ネットワーク通信線６０を介して送信する。
【００２０】
そして、ユニット機器３０は、ネットワーク通信線６０を介して制御機器２０から受信した通信フレームに、自身に割り当てられているユニットＩＤと同一のユニットＩＤが指定されている場合に、当該通信フレームに指定されたコマンドコードに応じた動作を行う。
【００２１】
これにより、本実施形態に係る制御装置１０では、制御機器２０によりユニット機器３０の動作が制御される。このため、本実施形態に係る制御装置１０は、当該制御装置１０が起動された後に、各ユニット機器３０間で互いのユニットＩＤが重複しないようにユニットＩＤを決定する。
【００２２】
なお、本実施形態に係る制御装置１０は、例えば、ＰＬＣ又はＵＰＳ（Uninterruptible Power Supply）等である。制御装置１０がＰＬＣ又はＵＰＳ等のように高ノイズ下でも安全に動作する必要がある場合には、上述したように、ネットワーク通信線６０にはＣＡＮのような信頼性の高い通信線を用いることが有用である。ただし、ネットワーク通信線６０は、これに限られず、例えば、ＬＡＮ（Local Area Network）等の任意のネットワークであっても良い。
【００２３】
＜ハードウェア構成＞
次に、本実施形態に係る制御装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、第一の実施形態に係る制御装置の一例のハードウェア構成を示す図である。
【００２４】
図２に示す制御装置１０は、制御機器２０と、ユニット機器３０と、入出力機器４０とを有する。
【００２５】
制御機器２０は、プロセッサ２１と、プロセッサ２２と、ＡＤ変換器２３と、ＦＰＧＡ（Field-Programmable Gate Array）２４と、フラッシュＲＯＭ（Read Only Memory）２５と、ＲＡＭ（Random Access Memory）２６と、通信Ｉ／Ｆ２７とを有する。
【００２６】
プロセッサ２１は、主に、ユニット機器３０の制御に関する処理を実行する。プロセッサ２２は、主に、入出力機器４０から入力された情報に関する処理を実行する。ＡＤ変換器２３は、温度センサや電圧センサ、電流センサ等の各種センサ（不図示）から入力されたアナログ値をデジタル値に変換する。
【００２７】
ＦＰＧＡ２４は、入力されたデジタル値を処理する。フラッシュＲＯＭ２５は、制御機器２０を制御するプログラムや、プログラムの動作に必要なデータ等を格納する。ＲＡＭ２６は、プロセッサ２２のワークエリアとして動作する。また、ＲＡＭ２６は、制御装置１０の動作ログ（例えば、動作履歴や故障履歴等）を格納する。通信Ｉ／Ｆ２７は、ユニット機器３０とのインタフェースを提供する。
【００２８】
ユニット機器３０は、プロセッサ３１と、フラッシュＲＯＭ３２と、ＲＡＭ３３と、ＦＰＧＡ３４とを有する。
【００２９】
プロセッサ３１は、ユニット機器３０の動作を制御する。フラッシュＲＯＭ３２は、ユニット機器３０を制御するプログラムや、プログラムの動作に必要なデータ等を格納する。ＲＡＭ３３は、プロセッサ３１のワークエリアとして動作する。また、ＲＡＭ３３は、制御装置１０の動作ログ（例えば、動作履歴や故障履歴等）を格納する。ＦＰＧＡ３４は、プロセッサ３１の制御に応じて、ユニット機器３０に接続されたモータやシリンダ、リレー等の各種機器の駆動を制御する。
【００３０】
入出力機器４０は、例えば、タッチパネル等であり、ユーザに対して処理結果等の情報を提示するとともに、ユーザからの操作入力を受け付ける装置である。
【００３１】
本実施形態に係る制御装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現できる。
【００３２】
＜機能構成＞
次に、本実施形態に係る制御装置１０の機能構成について、図３を参照しながら説明する。図３は、第一の実施形態に係る制御装置の一例の機能構成を示す図である。
【００３３】
制御装置１０の制御機器２０は、起動処理部２０１と、装置ＩＤ取得部２０２と、通知部２０３と、第１の装置内通信部２０４と、第２の装置内通信部２０５と、ユニットＩＤ管理部２０６とを有する。これら各機能部は、プロセッサ２１又はプロセッサ２２により実行される処理により実現される。
【００３４】
また、制御装置１０の制御機器２０は、記憶部２０７を有する。記憶部２０７は、フラッシュＲＯＭ２５を用いて実現可能である。
【００３５】
起動処理部２０１は、制御機器２０の起動に関する処理を行う。すなわち、起動処理部２０１は、例えば、ユーザによる電源ボタンの押下や入出力機器４０からの電源投入指示等に応じて、各種設定の初期化等を行って、制御機器２０を起動させる。
【００３６】
装置ＩＤ取得部２０２は、起動処理部２０１により制御機器２０が起動されると、制御装置１０を識別する識別情報である装置ＩＤを取得する。そして、装置ＩＤ取得部２０２は、取得した装置ＩＤを自装置ＩＤ２１０として記憶部２０７に記憶させる。なお、装置ＩＤ取得部２０２は、例えば、制御機器２０のＩ／Ｏピンの状態に応じた装置ＩＤを取得する。
【００３７】
通知部２０３は、第１の装置内通信部２０４を介して、制御機器２０とユニット機器３０との間でネットワーク通信線６０による通信を開始するための通信許可通知をユニット機器３０に対して送信する。
【００３８】
ここで、通知部２０３は、第１の装置内通信部２０４を介して、複数のユニット機器３０に対して、順に通信許可通知を送信する。
【００３９】
すなわち、通知部２０３は、装置ＩＤ取得部２０２により自装置ＩＤ２１０が取得されると、第１の装置内通信部２０４を介して、例えば、ユニット機器３０−１に対して通信許可通知を送信する。次に、通知部２０３は、例えば、第２の装置内通信部２０５を介して、通信許可通知に対する応答を示す通信フレームをユニット機器３０−１から受信すると、第１の装置内通信部２０４を介して、ユニット機器３０−２に対して通信許可通知を送信する。同様に、通知部２０３は、例えば、第２の装置内通信部２０５を介して、通信許可通知に対する応答を示す通信フレームをユニット機器３０−２から受信すると、第１の装置内通信部２０４を介して、ユニット機器３０−３に対して通信許可通知を送信する。
【００４０】
このように、通知部２０３は、第１の装置内通信部２０４を介して、ユニット機器３０−１、３０−２、・・・、３０−１０に対して、順に通信許可通知を送信する。
【００４１】
第１の装置内通信部２０４は、Ｉ／Ｏ通信線５０によりユニット機器３０に対して通信許可通知を送信する。
【００４２】
すなわち、第１の装置内通信部２０４は、Ｉ／Ｏ通信線５０−１によりユニット機器３０−１に対して通信許可通知を送信する。同様に、第１の装置内通信部２０４は、Ｉ／Ｏ通信線５０−２によりユニット機器３０−２に対して通信許可通知を送信する。このように、第１の装置内通信部２０４は、ユニット機器３０と対応するＩ／Ｏ通信線５０により通信許可通知を送信する。
【００４３】
第２の装置内通信部２０５は、ネットワーク通信線６０によりユニット機器３０との間で通信フレームを送受信する。例えば、第２の装置内通信部２０５は、通信許可通知に対する応答を示す通信フレームをユニット機器３０から受信する。なお、通信許可通知に対する応答を示す通信フレームには、ユニット機器３０のユニットＩＤが指定されている。
【００４４】
ユニットＩＤ管理部２０６は、第２の装置内通信部２０５を介して受信した通信フレームに指定されているユニットＩＤを、Ｉ／Ｏ通信線５０を識別する番号と関連付けて、記憶部２０７に記憶されているユニットＩＤ管理テーブル２２０に格納する。これにより、制御機器２０において、ユニット機器３０のユニットＩＤが管理される。
【００４５】
記憶部２０７は、自装置ＩＤ２１０と、ユニットＩＤ管理テーブル２２０とが記憶される。自装置ＩＤ２１０は、上述したように、制御装置１０を識別する識別情報である。また、ユニットＩＤ管理テーブル２２０は、上述したように、Ｉ／Ｏ通信線５０を識別する番号（通信線番号）と、ユニット機器３０のユニットＩＤとが関連付けられて格納されている。
【００４６】
なお、以降では、Ｉ／Ｏ通信線５０−１の通信線番号を「１」、Ｉ／Ｏ通信線５０−２の通信線番号を「２」、・・・、Ｉ／Ｏ通信線５０−１０の通信線番号を「１０」とする。
【００４７】
制御装置１０のユニット機器３０は、起動処理部３０１と、ユニットＩＤ取得部３０２と、第１の装置内通信部３０３と、作成部３０４と、第２の装置内通信部３０５と、切り替え処理部３０６とを有する。これら各機能部は、プロセッサ３１により実行される処理により実現される。
【００４８】
また、制御装置１０のユニット機器３０は、記憶部３０７を有する。記憶部３０７は、フラッシュＲＯＭ３２を用いて実現可能である。
【００４９】
起動処理部３０１は、ユニット機器３０の起動に関する処理を行う。すなわち、起動処理部３０１は、例えば、ユーザによる電源ボタンの押下や入出力機器４０からの電源投入指示、制御機器２０の起動等に応じて、各種設定の初期化等を行って、ユニット機器３０を起動させる。
【００５０】
ユニットＩＤ取得部３０２は、起動処理部３０１によりユニット機器３０が起動されると、ユニット機器３０を識別する識別情報であるユニットＩＤを取得する。そして、ユニットＩＤ取得部３０２は、取得したユニットＩＤを自ユニットＩＤ３１０として記憶部３０７に記憶させる。なお、ユニットＩＤ取得部３０２は、例えば、ユニット機器３０のＩ／Ｏピンの状態に応じたユニットＩＤを取得する。
【００５１】
第１の装置内通信部３０３は、Ｉ／Ｏ通信線５０により、制御機器２０から通信許可通知を受信する。すなわち、ユニット機器３０−１の第１の装置内通信部３０３は、Ｉ／Ｏ通信線５０−１により、制御機器２０から通信許可通知を受信する。同様に、ユニット機器３０−２の第１の装置内通信部３０３は、Ｉ／Ｏ通信線５０−２により、制御機器２０から通信許可通知を受信する。このように、第１の装置内通信部３０３は、ユニット機器３０と対応するＩ／Ｏ通信線５０により通信許可通知を受信する。
【００５２】
作成部３０４は、第１の装置内通信部３０３を介して、通信許可通知を受信すると、当該通信許可通知に対する応答を示す通信フレームを作成する。ここで、作成部３０４は、記憶部３０７に記憶されている自ユニットＩＤ３１０の指定が含まれる通信フレームを作成する。
【００５３】
第２の装置内通信部３０５は、作成部３０４により通信フレームが作成されると、ネットワーク通信線６０により、当該通信フレームを制御機器２０及び他のユニット機器３０に送信する。
【００５４】
また、第２の装置内通信部３０５は、他のユニット機器３０から送信された通信フレームを受信する。
【００５５】
切り替え処理部３０６は、第２の装置内通信部３０５を介して、他のユニット機器３０から通信フレームを受信した場合、当該通信フレームに指定されたユニットＩＤを、他ユニットＩＤ３２０として記憶部３０７に記憶させる。また、切り替え処理部３０６は、自ユニットＩＤ３１０と同一のユニットＩＤの他ユニットＩＤ３２０が記憶部３０７に記憶されているか否かを判定する。
【００５６】
そして、切り替え処理部３０６は、自ユニットＩＤ３１０と同一のユニットＩＤの他ユニットＩＤ３２０が記憶部３０７に記憶されていると判定した場合、当該自ユニットＩＤ３１０を、他ユニットＩＤ３２０のいずれとも異なるユニットＩＤに更新する。
【００５７】
これにより、本実施形態に係る制御装置１０では、各ユニット機器３０のユニットＩＤ（自ユニットＩＤ３１０）の重複を防止することができる。
【００５８】
記憶部３０７は、自ユニットＩＤ３１０と、他ユニットＩＤ３２０とが記憶される。自ユニットＩＤ３１０は、上述したように、ユニット機器３０を識別する識別情報である。また、他ユニットＩＤ３２０は、他のユニット機器３０のユニットＩＤである。
【００５９】
＜処理の詳細＞
次に、本実施形態に係る制御装置１０の処理の詳細について説明する。以降では、制御装置１０の制御機器２０及びユニット機器３０が起動された後に、各ユニット機器３０間で互いのユニットＩＤが重複しないようにユニットＩＤを決定する処理について、図４を参照しながら説明する。図４は、第一の実施形態に係る制御装置におけるユニットＩＤの決定処理の一例を示すシーケンス図である。
【００６０】
まず、制御装置１０の制御機器２０及びユニット機器３０は、起動処理を行う（ステップＳ４００）。
【００６１】
ここで、制御機器２０の起動処理について、図５を参照しながら説明する。図５は、第一の実施形態に係る制御機器の起動処理の一例を示すフローチャートである。
【００６２】
まず、制御機器２０の起動処理部２０１は、例えば、ユーザによる電源ボタンの押下や入出力機器４０からの電源投入指示等に応じて、各種設定の初期化等を行って、当該制御機器２０を起動させる（ステップＳ５０１）。なお、各種設定の初期化には、例えば、ＣＡＮ等のネットワーク設定の初期化やハードウェア設定の初期化等が含まれる。
【００６３】
次に、制御機器２０の装置ＩＤ取得部２０２は、Ｉ／Ｏピンの状態をチェックする（ステップＳ５０２）。なお、装置ＩＤ取得部２０２は、Ｉ／Ｏピンの代わりに、例えば、ディップスイッチの状態をチェックしても良い。
【００６４】
続いて、制御機器２０の装置ＩＤ取得部２０２は、Ｉ／Ｏピン（又はディップスイッチ）の状態に応じた装置ＩＤを取得する。そして、装置ＩＤ取得部２０２は、取得した装置ＩＤを自装置ＩＤ２１０として記憶部２０７に記憶させる（ステップＳ５０３）。
【００６５】
以上により、本実施形態に係る制御装置１０において、制御機器２０が起動され、自装置ＩＤ２１０が保存される。
【００６６】
また、ユニット機器３０の起動処理について、図６を参照しながら説明する。図６は、第一の実施形態に係るユニット機器の起動処理の一例を示すフローチャートである。
【００６７】
まず、ユニット機器３０の起動処理部３０１は、例えば、ユーザによる電源ボタンの押下や入出力機器４０からの電源投入指示、制御機器２０の起動等に応じて、各種設定の初期化等を行って、当該ユニット機器３０を起動させる（ステップＳ６０１）。なお、各種設定の初期化には、例えば、ＣＡＮ等のネットワーク設定の初期化やハードウェア設定の初期化等が含まれる。
【００６８】
次に、ユニット機器３０のユニットＩＤ取得部３０２は、Ｉ／Ｏピンの状態をチェックする（ステップＳ６０２）。なお、ユニットＩＤ取得部３０２は、Ｉ／Ｏピンの代わりに、例えば、ディップスイッチの状態をチェックしても良い。
【００６９】
続いて、ユニット機器３０のユニットＩＤ取得部３０２は、Ｉ／Ｏピン（又はディップスイッチ）の状態に応じたユニットＩＤを取得する。そして、ユニットＩＤ取得部３０２は、取得したユニットＩＤを自ユニットＩＤ３１０として記憶部３０７に記憶させる（ステップＳ６０３）。
【００７０】
以上により、本実施形態に係る制御装置１０において、ユニット機器３０が起動され、ユニットＩＤ３１０が保存される。なお、図６に示すユニット機器の起動処理は、各ユニット機器３０に対して、それぞれ実行される。
【００７１】
図４に戻る。制御機器２０の通知部２０３は、当該制御機器２０の起動処理が完了すると、第１の装置内通信部２０４を介して、ユニット機器３０−１に対して通信許可通知を送信する（ステップＳ４０１）。すなわち、通知部２０３は、Ｉ／Ｏ通信線５０−１により、ユニット機器３０−１に対して、通信許可通知を送信する。なお、通知部２０３は、例えば、第１の装置内通信部２０４を介して、Ｉ／Ｏ通信線５０−１の電圧を「High」とすることにより通信許可通知を送信することができる。
【００７２】
なお、通知部２０３は、通信許可通知を送信した後、所定の時間以内に、第２の装置内通信部２０５により当該通信許可通知に対する応答を示す通信フレームが受信されなかった場合、次の通信線番号のＩ／Ｏ通信線５０により通信許可通知を送信する。すなわち、通知部２０３は、例えば、Ｉ／Ｏ通信線５０にユニット機器３０が接続されていない場合やＩ／Ｏ通信線５０に接続されているユニット機器３０が起動されていない場合等には、次のＩ／Ｏ通信線５０により通信許可通知を送信する。
【００７３】
次に、ユニット機器３０−１の作成部３０４は、第１の装置内通信部３０３を介して、通信許可通知を受信すると、記憶部３０７に記憶されている自ユニットＩＤ３１０の指定が含まれる通信フレームを作成する（ステップＳ４０２）。
【００７４】
ここで、作成部３０４により作成される通信フレームの構成について、図７を参照しながら説明する。図７は、通信フレームの構成の一例を示す図である。
【００７５】
図７に示す通信フレームには、装置情報と、ユニット情報と、コマンドコードとが含まれる。装置情報は、通信フレームの５９ビット目〜６３ビット目の情報であり、装置ＩＤが指定される。ユニット情報は、通信フレームの４８ビット目〜５７ビット目の情報であり、ユニットＩＤが指定される。コマンドコードは、通信フレームの０ビット目〜４７ビット目の情報であり、制御命令を示すコマンドコードが指定される。
【００７６】
したがって、作成部３０４は、例えば、記憶部３０７に記憶されている自ユニットＩＤ３１０が「２」である場合、５６ビット目に「１」、４８ビット目〜５５ビット目及び５７ビット目に「０」を指定した通信フレームを作成する。このように、作成部３０４は、記憶部３０７に記憶されている自ユニットＩＤ３１０に対応するユニット情報のビットに「１」を指定した通信フレームを作成する。
【００７７】
続いて、ユニット機器３０−１の第２の装置内通信部３０５は、作成部３０４により通信フレームが作成されると、当該通信フレームを制御機器２０及び他のユニット機器３０に送信する（ステップＳ４０３−１〜ステップＳ４０３−１０）。すなわち、ユニット機器３０−１の第２の装置内通信部３０５は、ネットワーク通信線６０により、制御機器２０及びユニット機器３０−２、・・・、３０−１０に通信フレームを送信する。これにより、ユニット機器３０は、制御機器２０及び他のユニット機器３０に対して、自身のユニットＩＤを通知することができる。
【００７８】
制御機器２０のユニットＩＤ管理部２０６は、第２の装置内通信部２０５を介して、通信フレームを受信すると、当該通信フレームのユニット情報に指定されたユニットＩＤを通信線番号と関連付けてユニットＩＤ管理テーブル２２０に格納する（ステップＳ４０４）。
【００７９】
例えば、第２の装置内通信部２０５は、５６ビット目に「１」、４８ビット目〜５５ビット目及び５７ビット目に「０」が指定された通信フレームをユニット機器３０−１から受信したとする。この場合、ユニットＩＤ管理部２０６は、図８（ａ）に示すように、ユニットＩＤ管理テーブル２２０において、ユニット情報に指定されているユニットＩＤ「２」を、通信線番号「１」に関連付ける。これにより、ユニット機器３０のユニットＩＤが保存され、通信線番号と関連付けて管理される。
【００８０】
一方、ユニット機器３０−２、・・・、３０−１０（他のユニット機器３０）は、第２の装置内通信部３０５を介して、通信フレームを受信すると、ユニットＩＤの切り替え処理を実行する（ステップＳ４０５−１〜ステップＳ４０５−９）。ユニットＩＤの切り替え処理では、制御装置１０内の他のユニット機器３０のユニットＩＤ（他ユニットＩＤ３２０）と、自ユニットＩＤ３１０とが同一である場合、これら他ユニットＩＤ３２０と異なるユニットＩＤを自ユニットＩＤ３１０とする。これにより、各ユニット機器３０は、制御装置１０内の他のユニット機器３０と異なるユニットＩＤを自ユニットＩＤ３１０とすることができる。なお、ユニットＩＤの切り替え処理の詳細については後述する。
【００８１】
次に、制御機器２０の通知部２０３は、ユニットＩＤ管理部２０６によりユニットＩＤが保存されると、第１の装置内通信部２０４を介して、ユニット機器３０−２に対して通信許可通知を送信する（ステップＳ４１１）。すなわち、通知部２０３は、Ｉ／Ｏ通信線５０−２により、ユニット機器３０−２に対して、通信許可通知を送信する。
【００８２】
なお、通知部２０３は、上記と同様に、Ｉ／Ｏ通信線５０にユニット機器３０が接続されていない場合やＩ／Ｏ通信線５０に接続されているユニット機器３０が起動されていない場合等には、次のＩ／Ｏ通信線５０により通信許可通知を送信する。
【００８３】
ユニット機器３０−２の作成部３０４は、第１の装置内通信部３０３を介して、通信許可通知を受信すると、記憶部３０７に記憶されている自ユニットＩＤ３１０の指定が含まれる通信フレームを作成する（ステップＳ４１２）。
【００８４】
例えば、ユニット機器３０−２の作成部３０４は、記憶部３０７に記憶されている自ユニットＩＤ３１０が「１」である場合、５７ビット目に「１」、４８ビット目〜５６ビット目に「０」を指定した通信フレームを作成する。
【００８５】
続いて、ユニット機器３０−２の第２の装置内通信部３０５は、作成部３０４により通信フレームが作成されると、当該通信フレームを制御機器２０及び他のユニット機器３０に送信する（ステップＳ４１３−１〜ステップＳ４１３−１０）。すなわち、ユニット機器３０−２の第２の装置内通信部３０５は、ネットワーク通信線６０により、制御機器２０及びユニット機器３０−１、３０−３、・・・、３０−１０に通信フレームを送信する。
【００８６】
制御機器２０のユニットＩＤ管理部２０６は、第２の装置内通信部２０５を介して、通信フレームを受信すると、当該通信フレームのユニット情報に指定されたユニットＩＤを通信線番号と関連付けてユニットＩＤ管理テーブル２２０に格納する（ステップＳ４１４）。
【００８７】
例えば、第２の装置内通信部２０５は、５７ビット目に「１」、４８ビット目〜５６ビット目に「０」が指定された通信フレームをユニット機器３０−２から受信したとする。この場合、ユニットＩＤ管理部２０６は、図８（ｂ）に示すように、ユニットＩＤ管理テーブル２２０において、ユニット情報に指定されているユニットＩＤ「１」を、通信線番号「２」に関連付ける。
【００８８】
一方、ユニット機器３０−１、３０−３、・・・、３０−１０（他のユニット機器３０）は、第２の装置内通信部３０５を介して、通信フレームを受信すると、ユニットＩＤの切り替え処理を実行する（ステップＳ４１５−１〜ステップＳ４１５−９）。なお、ユニットＩＤの切り替え処理の詳細については後述する。
【００８９】
以降、上記と同様に、制御装置１０の制御機器２０は、Ｉ／Ｏ通信線５０−３、・・・、５０−９により、ユニット機器３０−３、・・・、ユニット機器３０−９に通信許可通知を順に送信する。
【００９０】
そして、制御機器２０の通知部２０３は、ユニットＩＤ管理部２０６により、ユニット機器３０−９のユニットＩＤが保存されると、第１の装置内通信部２０４を介して、ユニット機器３０−１０に対して通信許可通知を送信する（ステップＳ４９１）。すなわち、通知部２０３は、Ｉ／Ｏ通信線５０−１０により、ユニット機器３０−１０に対して、通信許可通知を送信する。
【００９１】
なお、制御機器２０は、Ｉ／Ｏ通信線５０にユニット機器３０が接続されていない場合やＩ／Ｏ通信線５０に接続されているユニット機器３０が起動されていない場合等には、処理を終了させる。
【００９２】
ユニット機器３０−１０の作成部３０４は、第１の装置内通信部３０３を介して、通信許可通知を受信すると、記憶部３０７に記憶されている自ユニットＩＤ３１０の指定が含まれる通信フレームを作成する（ステップＳ４９２）。
【００９３】
例えば、ユニット機器３０−１０の作成部３０４は、記憶部３０７に記憶されている自ユニットＩＤ３１０が「７」である場合、５１ビット目に「１」、４８ビット目〜５０ビット目及び５２ビット目〜５７ビット目に「０」を指定した通信フレームを作成する。
【００９４】
続いて、ユニット機器３０−１０の第２の装置内通信部３０５は、作成部３０４により通信フレームが作成されると、当該通信フレームを制御機器２０及び他のユニット機器３０に送信する（ステップＳ４９３−１〜ステップＳ４９３−１０）。すなわち、ユニット機器３０−１０の第２の装置内通信部３０５は、ネットワーク通信線６０により、制御機器２０及びユニット機器３０−１、・・・、３０−９に通信フレームを送信する。
【００９５】
制御機器２０のユニットＩＤ管理部２０６は、第２の装置内通信部２０５を介して、通信フレームを受信すると、当該通信フレームのユニット情報に指定されたユニットＩＤを通信線番号と関連付けてユニットＩＤ管理テーブル２２０に格納する（ステップＳ４９４）。
【００９６】
例えば、第２の装置内通信部２０５は、５１ビット目に「１」、４８ビット目〜５０ビット目及び５２ビット目〜５７ビット目に「０」が指定された通信フレームをユニット機器３０−１０から受信したとする。この場合、ユニットＩＤ管理部２０６は、図８（ｃ）に示すように、ユニットＩＤ管理テーブル２２０において、ユニット情報に指定されているユニットＩＤ「７」を、通信線番号「１０」に関連付ける。
【００９７】
一方、ユニット機器３０−１、・・・、３０−９（他のユニット機器３０）は、第２の装置内通信部３０５を介して、通信フレームを受信すると、ユニットＩＤの切り替え処理を実行する（ステップＳ４９５−１〜ステップＳ４９５−９）。なお、ユニットＩＤの切り替え処理の詳細については後述する。
【００９８】
以上により、本実施形態に係る制御装置１０では、当該制御装置１０内において各ユニット機器３０のユニットＩＤを重複なく割り当てることができる。このため、本実施形態に係る制御装置１０では、例えば、当該制御装置１０の管理者等のユーザによるユニットＩＤの割り当て作業の負担を軽減することができる。
【００９９】
ここで、ユニット機器３０が他のユニット機器３０から通信フレームを受信した場合に実行されるユニットＩＤの切り替え処理について、図９を参照しながら説明する。図９は、第一の実施形態に係るユニットＩＤの切り替え処理の一例を示すフローチャートである。
【０１００】
ユニット機器３０の切り替え処理部３０６は、第２の装置内通信部３０５を介して、他のユニット機器３０から通信フレームを受信すると、当該通信フレームに指定されたユニットＩＤを、他ユニットＩＤ３２０として記憶部３０７に記憶させる（ステップＳ９０１）。これにより、ユニット機器３０の記憶部３０７には、他のユニット機器３０のユニットＩＤ（他ユニットＩＤ３２０）が保存される。
【０１０１】
次に、ユニット機器３０の切り替え処理部３０６は、自ユニットＩＤ３１０と同一のユニットＩＤの他ユニットＩＤ３２０が記憶部３０７に記憶されているか否かを判定する（ステップＳ９０２）。
【０１０２】
ステップＳ９０２において、自ユニットＩＤ３１０と同一のユニットＩＤの他ユニットＩＤ３２０が記憶されていないと判定された場合、ユニット機器３０の切り替え処理部３０６は、処理を終了させる。この場合、ユニット機器３０のユニットＩＤ（自ユニットＩＤ３１０）と、他のユニット機器３０のユニットＩＤ（他ユニットＩＤ３２０）とは、重複していないためである。
【０１０３】
一方、ステップ９０２において、自ユニットＩＤ３１０と同一のユニットＩＤの他のユニットＩＤ３２０が記憶されていると判定された場合、ユニット機器３０の切り替え処理部３０６は、自ユニットＩＤ３１０を更新する（ステップＳ９０３）。すなわち、切り替え処理部３０６は、自ユニットＩＤ３１０を、他ユニットＩＤ３２０のいずれとも異なるユニットＩＤに更新する。これにより、ユニット機器３０のユニットＩＤ（自ユニットＩＤ３１０）が、他のユニット機器３０のユニットＩＤ（他ユニットＩＤ３２０）と重複しないようにすることができる。
【０１０４】
以上により、本実施形態に係る制御装置１０では、各ユニット機器３０は、他のユニット機器３０から通信フレームを受信することで、当該他のユニット機器３０のユニットＩＤと異なるユニットＩＤとなるようにすることができる。したがって、本実施形態に係る制御装置１０では、例えば、Ｉ／Ｏピン等の状態により同一のユニットＩＤとなるユニット機器３０が存在していた場合でも、互いに異なるユニットＩＤに変更される。
【０１０５】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態は、複数の制御装置１０を有するシステムにおいて、これら制御装置１０の装置ＩＤの重複を防止するものである。なお、第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能を有する箇所及び同様の処理を行う箇所には第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１０６】
＜システムの構成＞
まず、本実施形態に係る制御システム１の構成について、図１０を参照しながら説明する。図１０は、第二の実施形態に係る制御システムの一例の構成を示す図である。
【０１０７】
図１０に示す制御システム１は、複数の制御装置１０−１、１０−２、・・・、１０−５を有する。また、これら複数の制御装置１０−１、１０−２、・・・、１０−５は、それぞれ制御機器２０−１、２０−２、・・・、２０−５を有する。なお、以降では、複数の制御装置１０−１、１０−２、・・・、１０−５を互いに区別しない場合、「制御装置１０」と表す。また、制御システム１は、任意の数の制御装置１０を有していても良い。
【０１０８】
図１０に示す制御システム１において、制御装置１０−１と、制御装置１０−２、１０−３、・・・、１０−５とは、それぞれがＩ／Ｏ通信線７０−１、７０−２、・・・、７０−４により接続されている。なお、以降では、複数のＩ／Ｏ通信線７０−１、７０−２、・・・、７０−４を互いに区別しない場合、「Ｉ／Ｏ通信線７０」と表す。
【０１０９】
このように、図１０に示す制御システム１では、制御装置１０−１が、制御装置１０−２、・・・、１０−５とＩ／Ｏ通信線７０により接続されている。
【０１１０】
すなわち、図１０に示す制御システム１では、制御装置１０−１が制御装置１０−２、・・・、１０−５に通信許可通知を送信するマスターとして動作する。一方で、図１０に示す制御システム１において、制御装置１０−２、・・・、１０−５は、制御装置１０−１から通信許可通知を受信するスレーブとして動作する。
【０１１１】
また、図１０に示す制御システム１において、制御装置１０間は、例えば、ＣＡＮ等のネットワーク通信線８０により接続されている。
【０１１２】
ここで、本実施形態に係る制御システム１において、制御装置１０は、制御命令を示すコマンドコードと、制御対象の他の制御装置１０の識別情報（装置ＩＤ）の指定と、ユニットＩＤの指定とを含む通信フレームを、ネットワーク通信線８０を介して送信する。
【０１１３】
そして、制御装置１０は、ネットワーク通信線８０を介して他の制御装置１０から受信した通信フレームに、自身に割り当てられている装置ＩＤと同一の装置ＩＤが指定されている場合に、当該通信フレームに指定されたユニットＩＤのユニット機器３０に対してコマンドコードに応じた動作を行うように制御する。
【０１１４】
これにより、本実施形態に係る制御システム１では、制御装置１０間で、当該制御装置１０に含まれるユニット機器３０の動作が制御される。このため、本実施形態に係る制御システム１は、制御装置１０が起動された後に、各制御装置１０間で互いの装置ＩＤが重複しないように装置ＩＤを決定する。
【０１１５】
なお、上述したように、ネットワーク通信線８０は、ＣＡＮに限られず、例えば、ＬＡＮ等の任意のネットワークであっても良い。
【０１１６】
＜機能構成＞
次に、本実施形態に係る制御システム１の機能構成について、図１１を参照しながら説明する。図１１は、第二の実施形態に係る制御システムの一例の機能構成を示す図である。
【０１１７】
制御装置１０−１の制御機器２０−１は、作成部４０１と、通知部４０２と、第１の装置外通信部４０３と、第２の装置外通信部４０４と、装置ＩＤ管理部４０５とを有する。これら各機能部は、プロセッサ２１又はプロセッサ２２により実行される処理により実現される。
【０１１８】
作成部４０１は、装置ＩＤ取得部２０２により自装置ＩＤ２１０が記憶部２０７に記憶されると、当該自装置ＩＤ２１０の指定が含まれる通信フレームを作成する。
【０１１９】
通知部４０２は、作成部４０１により作成された通信フレームを送信した後、第１の装置外通信部４０３を介して、制御装置１０間でネットワーク通信線８０による通信を開始するための通信許可通知を、他の制御装置１０に対して送信する。
【０１２０】
ここで、通知部４０２は、第１の装置外通信部４０３を介して、複数の他の制御装置１０に対して、順に通信許可通知を送信する。
【０１２１】
すなわち、通知部４０２は、作成部４０１により作成された通信フレームを送信した後、例えば、制御装置１０−２の制御機器２０−２に対して通信許可通知を送信する。次に、通知部４０２は、例えば、第２の装置外通信部４０４を介して、通信許可通知に対する応答を示す通信フレームを制御装置１０−２から受信すると、制御装置１０−３の制御機器２０−３に対して通信許可通知を送信する。同様に、通知部４０２は、例えば、第２の装置外通信部４０４を介して、通信許可通知に対する応答を示す通信フレームを制御装置１０−３から受信すると、制御装置１０−４の制御機器２０−４に対して通信許可通知を送信する。
【０１２２】
このように、通知部４０２は、第１の装置外通信部４０３を介して、制御装置１０−２、１０−３、・・・、１０−５に対して、順に通信許可通知を送信する。
【０１２３】
第１の装置外通信部４０３は、Ｉ／Ｏ通信線７０により他の制御装置１０に対して通信許可通知を送信する。
【０１２４】
すなわち、第１の装置外通信部４０３は、Ｉ／Ｏ通信線７０−１により制御装置１０−２の制御機器２０−２に対して通信許可通知を送信する。同様に、第１の装置外通信部４０３は、Ｉ／Ｏ通信線７０−２により制御装置１０−３の制御機器２０−３に対して通信許可通知を送信する。このように、第１の装置外通信部４０３は、他の制御装置１０と対応するＩ／Ｏ通信線７０により通信許可通知を送信する。
【０１２５】
第２の装置外通信部４０４は、ネットワーク通信線８０により他の制御装置１０との間で通信フレームを送受信する。例えば、第２の装置外通信部４０４は、作成部４０１により作成された通信フレームを他の制御装置１０に送信する。
【０１２６】
また、例えば、第２の装置外通信部４０４は、通信許可通知に対する応答を示す通信フレームを他の制御装置１０から受信する。なお、通信許可通知に対する応答を示す通信フレームには、他の制御装置１０の装置ＩＤが指定されている。
【０１２７】
装置ＩＤ管理部４０５は、第２の装置外通信部４０４を介して受信した通信フレームに指定されている装置ＩＤを、Ｉ／Ｏ通信線７０の通信線番号と関連付けて、記憶部２０７に記憶されている装置ＩＤ管理テーブル２３０に格納する。これにより、制御装置１０−１の制御機器２０−１において、制御装置１０−２、・・・、１０−５の装置ＩＤが管理される。
【０１２８】
なお、以降では、Ｉ／Ｏ通信線７０−１の通信線番号を「１０１」、Ｉ／Ｏ通信線７０−２の通信線番号を「１０２」、・・・、Ｉ／Ｏ通信線７０−４の通信線番号を「１０４」とする。
【０１２９】
制御装置１０−２の制御機器２０−２は、第１の装置外通信部５０１と、作成部５０２と、第２の装置外通信部５０３と、切り替え処理部５０４とを有する。これら各機能部は、プロセッサ２１又はプロセッサ２２により実行される処理により実現される。
【０１３０】
なお、制御装置１０−３、・・・、１０−５は、制御装置１０−２と同様の機能構成を有している。すなわち、制御装置１０−３の制御機器２０−３、制御装置１０−４の制御機器２０−４、及び制御装置１０−５の制御機器２０−５は、制御装置１０−２の制御機器２０−２と同様の機能構成を有している。
【０１３１】
第１の装置外通信部５０１は、Ｉ／Ｏ通信線７０により、制御装置１０−１から通信許可通知を受信する。
【０１３２】
作成部５０２は、第１の装置外通信部５０１を介して、通信許可通知を受信すると、当該通信許可通知に対する応答を示す通信フレームを作成する。ここで、作成部５０２は、記憶部２０７に記憶されている自装置ＩＤ２１０の指定が含まれる通信フレームを作成する。
【０１３３】
第２の装置外通信部５０３は、作成部５０２により通信フレームが作成されると、ネットワーク通信線８０により、当該通信フレームを制御装置１０−１、１０−３、・・・、１０−５（他の制御装置１０）に送信する。
【０１３４】
また、第２の装置外通信部５０３は、他の制御装置１０から送信された通信フレームを受信する。
【０１３５】
切り替え処理部５０４は、第２の装置外通信部５０３を介して、他の制御装置１０から通信フレームを受信した場合、当該通信フレームに指定された装置ＩＤを、他装置ＩＤ２４０として、制御装置１０−２の記憶部２０７に記憶させる。また、切り替え処理部５０４は、自装置ＩＤ２１０と同一の装置ＩＤの他装置ＩＤ２４０が記憶部２０７に記憶されているか否かを判定する。
【０１３６】
そして、切り替え処理部５０４は、自装置ＩＤ２１０と同一の装置ＩＤの他装置ＩＤ２４０が記憶部２０７に記憶されている判定した場合、当該自装置ＩＤ２１０を、他装置ＩＤ２４０のいずれとも異なる装置ＩＤに更新する。
【０１３７】
これにより、本実施形態に係る制御システム１では、各制御装置１０の装置ＩＤ（自装置ＩＤ２１０）の重複を防止することができる。
【０１３８】
＜処理の詳細＞
次に、本実施形態に係る制御システム１について説明する。以降では、制御システム１の各制御装置１０が起動された後に、各制御装置１０間で互いに装置ＩＤが重複しないように装置ＩＤを決定する処理について、図１２を参照しながら説明する。図１２は、第二の実施形態に係る制御システムにおける装置ＩＤの決定処理の一例を示す図である。
【０１３９】
まず、制御システム１の各制御装置１０は、起動処理を行う（ステップＳ１２００）。すなわち、制御機器２０−１、・・・、２０−５は、それぞれ、図５で説明した制御機器の起動処理を実行する。これにより、各制御機器２０の記憶部２０７には、自装置ＩＤ２１０が保存される。
【０１４０】
次に、制御機器２０−１の作成部４０１は、ステップＳ１２００の起動処理において、装置ＩＤ取得部２０２により自装置ＩＤ２１０が記憶部２０７に記憶されると、当該自装置ＩＤ２１０の指定が含まれる通信フレームを作成する（ステップＳ１２０１）。
【０１４１】
次に、制御機器２０−１の第２の装置外通信部４０４は、作成部４０１により通信フレームが作成されると、ネットワーク通信線８０により、当該通信フレームを、他の制御装置１０−１、・・・、１０−５の制御装置１０−２、・・・、１０−５に送信する（ステップＳ１２０２−１〜ステップＳ１２０２−４）。
【０１４２】
制御機器２０―２、・・・、２０−５は、第２の装置外通信部５０３を介して、通信フレームを受信すると、装置ＩＤの切り替え処理を実行する（ステップＳ１２０３−１〜ステップＳ１２０３−４）。装置ＩＤの切り替え処理では、制御装置１０の装置ＩＤ（自装置ＩＤ２１０）が、他の制御装置１０の装置ＩＤ（他装置ＩＤ２４０）と同一である場合、これら他装置ＩＤ２４０と異なる装置ＩＤを自装置ＩＤ２１０とする。これにより、各制御装置１０は、他の制御装置１０と異なる装置ＩＤを自装置ＩＤ２１０とすることができる。なお、装置ＩＤの切り替え処理の詳細については後述する。
【０１４３】
次に、制御機器２０−１の通知部４０２は、第１の装置外通信部４０３を介して、制御装置１０−２に対して通信許可通知を送信する（ステップＳ１２１１）。すなわち、通知部４０２は、Ｉ／Ｏ通信線７０−１により、制御装置１０−２の制御機器２０−２に対して、通信許可通知を送信する。なお、通知部４０２は、例えば、第１の装置外通信部４０３を介して、Ｉ／Ｏ通信線７０−１の電圧を「High」とすることにより通信許可通知を送信することができる。
【０１４４】
なお、通知部４０２は、通信許可通知を送信した後、所定の時間以内に、第２の装置外通信部４０４により当該通信許可通知に対する応答を示す通信フレームが受信されなかった場合、次の通信線番号のＩ／Ｏ通信線７０により通信許可通知を送信する。すなわち、通知部４０２は、例えば、Ｉ／Ｏ通信線７０に他の制御装置１０が接続されていない場合やＩ／Ｏ通信線７０に接続されている他の制御装置１０が起動されていない場合等には、次のＩ／Ｏ通信線７０により通信許可通知を送信する。
【０１４５】
次に、制御機器２０−２の作成部５０２は、第１の装置外通信部５０１を介して、通信許可通知を受信すると、当該制御機器２０−２の記憶部２０７に記憶されている自装置ＩＤ２１０の指定が含まれる通信フレームを作成する（ステップＳ１２１２）。
【０１４６】
例えば、制御機器２０−２の作成部５０２は、当該制御機器２０−２の記憶部２０７に記憶されている自装置ＩＤ２１０が「１」である場合、６３ビット目に「１」、５９ビット目〜６２ビット目に「０」を指定した通信フレームを作成する。
【０１４７】
続いて、制御機器２０−２の第２の装置外通信部５０３は、作成部５０２により通信フレームが作成されると、当該通信フレームを他の制御装置１０に送信する（ステップＳ１２１３−１〜ステップＳ１２１３−４）。すなわち、第２の装置外通信部５０３は、ネットワーク通信線８０により、他の制御装置１０−１、１０−３、・・・、１０−５に通信フレームを送信する。これにより、制御装置１０は、他の制御装置１０に対して、自身の装置ＩＤを通知することができる。
【０１４８】
制御装置１０−１の装置ＩＤ管理部４０５は、第２の装置外通信部４０４を介して、通信フレームを受信すると、当該通信フレームの装置情報に指定された装置ＩＤを通信線番号と関連付けて装置ＩＤ管理テーブル２３０に格納する（ステップＳ１２１４）。
【０１４９】
例えば、第２の装置外通信部４０４は、６３ビット目に「１」、５９ビット目〜６２ビット目に「０」が指定された通信フレームを制御装置１０−２から受信したとする。この場合、装置ＩＤ管理部４０５は、図１３（ａ）に示すように、装置ＩＤ管理テーブル２３０において、装置情報に指定されている装置ＩＤ「１」を、通信線番号「１０１」に関連付ける。これにより、制御装置１０−１において、他の制御装置１０の装置ＩＤが関連付けて管理される。
【０１５０】
一方、制御装置１０−３、・・・、１０−５は、第２の装置外通信部５０３を介して、通信フレームを受信すると、装置ＩＤの切り替え処理を実行する（ステップＳ１２１５−１〜ステップＳ１２１５−３）。なお、装置ＩＤの切り替え処理の詳細については後述する。
【０１５１】
以降、上記と同様に、制御装置１０−１の制御機器２０−１は、Ｉ／Ｏ通信線７０−２、７０−３により、制御装置１０−３、１０−４に通信許可通知を順に送信する。
【０１５２】
そして、制御装置１０−１の通知部４０２は、装置ＩＤ管理部４０５により、制御装置１０−４の装置ＩＤが保存されると、第１の装置外通信部４０３を介して、制御装置１０−５に対して通信許可通知を送信する（ステップＳ１２４１）。すなわち、通知部４０２は、Ｉ／Ｏ通信線７０−４により、制御装置１０−５に対して、通信許可通知を送信する。
【０１５３】
なお、制御装置１０−１は、Ｉ／Ｏ通信線７０に他の制御装置１０が接続されていない場合やＩ／Ｏ通信線７０に接続されている他の制御装置１０が起動されていない場合等には、処理を終了させる。
【０１５４】
制御機器２０−５の作成部５０２は、第１の装置外通信部５０１を介して、通信許可通知を受信すると、当該制御機器２０−５の記憶部２０７に記憶されている自装置ＩＤ２１０の指定が含まれる通信フレームを作成する（ステップＳ１２４２）。
【０１５５】
例えば、制御機器２０−５の作成部５０２は、当該制御機器２０−５の記憶部２０７に記憶されている自装置ＩＤ２１０が「２」である場合、６２ビット目に「１」、５９ビット目〜６１ビット目及び６３ビット目に「０」を指定した通信フレームを作成する。
【０１５６】
続いて、制御機器２０−５の第２の装置外通信部５０３は、作成部５０２により通信フレームが作成されると、当該通信フレームを他の制御装置１０に送信する（ステップＳ１２４３−１〜ステップＳ１２４３−４）。すなわち、第２の装置外通信部５０３は、ネットワーク通信線８０により、他の制御装置１０−１、・・・、１０−４に通信フレームを送信する。
【０１５７】
制御装置１０−１の装置ＩＤ管理部４０５は、第２の装置外通信部４０４を介して、通信フレームを受信すると、当該通信フレームの装置情報に指定された装置ＩＤを通信線番号と関連付けて装置ＩＤ管理テーブル２３０に格納する（ステップＳ１２４４）。
【０１５８】
例えば、第２の装置外通信部４０４は、６２ビット目に「１」、５９ビット目〜６１ビット目及び６３ビット目に「０」が指定された通信フレームを制御装置１０−５から受信したとする。この場合、装置ＩＤ管理部４０５は、図１３（ｂ）に示すように、装置ＩＤ管理テーブル２３０において、装置情報に指定されている装置ＩＤ「２」を、通信線番号「１０４」と関連付ける。
【０１５９】
一方、制御装置１０−２、・・・、１０−４は、第２の装置外通信部５０３を介して、通信フレームを受信すると、装置ＩＤの切り替え処理を実行する（ステップＳ１２４５−１〜ステップＳ１２１５−３）。なお、装置ＩＤの切り替え処理の詳細についは後述する。
【０１６０】
以上により、本実施形態に係る制御システム１では、当該制御システム１に含まれる各制御装置１０の装置ＩＤを重複なく割り当てることができる。このため、本実施形態に係る制御システム１では、例えば、当該制御システム１の管理者等のユーザによる装置ＩＤの割り当て作業の負担を軽減することができる。
【０１６１】
ここで、スレーブとして機能する制御装置１０が他の制御装置１０から通信フレームを受信した場合に実行される装置ＩＤの切り替え処理について、図１４を参照しながら説明する。図１４は、第二の実施形態に係る装置ＩＤの切り替え処理の一例を示すフローチャートである。
【０１６２】
制御機器２０の切り替え処理部５０４は、第２の装置外通信部５０３を介して、他の制御装置１０から通信フレームを受信すると、当該通信フレームに指定された装置ＩＤを、他装置ＩＤ２４０として、当該制御機器２０の記憶部２０７に記憶させる（ステップＳ１４０１）。これにより、スレーブとして動作する制御装置１０の記憶部２０７には、他の制御装置１０の装置ＩＤ（他装置ＩＤ２４０）が保存される。
【０１６３】
制御機器２０の切り替え処理部５０４は、自装置ＩＤ２１０と同一の装置ＩＤの他装置ＩＤ２４０が、当該制御機器２０の記憶部２０７に記憶されているか否かを判定する（ステップＳ１４０２）。
【０１６４】
ステップＳ１４０２において、自装置ＩＤ２１０と同一の装置ＩＤの他装置ＩＤ２４０が記憶されていないと判定された場合、制御機器２０の切り替え処理部５０４は、処理を終了させる。この場合、制御装置１０の装置ＩＤ（自装置ＩＤ２１０）と、他の制御装置１０の装置ＩＤ（他装置ＩＤ２４０）とは、重複していないためである。
【０１６５】
一方、ステップＳ１４０２において、自装置ＩＤ２１０と同一の装置ＩＤの他装置ＩＤ２４０が記憶されていると判定された場合、制御機器２０の切り替え処理部５０４は、自装置ＩＤ２１０を、他装置ＩＤ２４０のいずれとも異なる装置ＩＤに更新する。これにより、制御装置１０の装置ＩＤ（自装置ＩＤ２１０）が、他の制御装置１０の装置ＩＤ（他装置ＩＤ２４０）と重複しないようにすることができる。
【０１６６】
以上により、本実施形態に係る制御システム１では、スレーブとして動作する各制御装置１０は、他の制御装置１０から通信フレームを受信することで、当該他の制御装置１０の装置ＩＤと異なる装置ＩＤとなるようにすることができる。したがって、本実施形態に係る制御システム１では、例えば、Ｉ／Ｏピン等の状態により同一の装置ＩＤとなる制御装置１０が存在していた場合でも、互いに異なる装置ＩＤに変更される。
【０１６７】
以上、本発明の実施形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１６８】
１０      制御装置
２０      制御機器
３０      ユニット機器
４０      入出力機器
５０      Ｉ／Ｏ通信線
６０      ネットワーク通信線
２０１    起動処理部
２０２    装置ＩＤ取得部
２０３    通知部
２０４    第１の装置内通信部
２０５    第２の装置内通信部
２０６    ユニットＩＤ管理部
２０７    記憶部
３０１    起動処理部
３０２    ユニットＩＤ取得部
３０３    第１の装置内通信部
３０４    作成部
３０５    第２の装置内通信部
３０６    切り替え処理部
３０７    記憶部
【図１】
2017108216.tif 000003
【図２】
2017108216.tif 000004
【図３】
2017108216.tif 000005
【図４】
2017108216.tif 000006
【図５】
2017108216.tif 000007
【図６】
2017108216.tif 000008
【図７】
2017108216.tif 000009
【図８】
2017108216.tif 000010
【図９】
2017108216.tif 000011
【図１０】
2017108216.tif 000012
【図１１】
2017108216.tif 000013
【図１２】
2017108216.tif 000014
【図１３】
2017108216.tif 000015
【図１４】
2017108216.tif 000016