(57)【特許請求の範囲】
【請求項１】
中継装置を介して前記中継装置に接続されたデバイスの動作を制御する制御装置であって、
前記デバイスに対する命令と、前記命令の識別情報とを前記中継装置に送信する命令部と、
前記命令の実行状況を示す実行状況情報を、前記識別情報を用いて取得する実行確認部と、を備え、
前記中継装置は、前記デバイスに対応する記憶領域に書き込んだ命令を前記デバイスに実行させると共に、前記記憶領域に前記実行状況情報を書き込む機能を有し、
前記命令部は、前記命令と前記識別情報とを前記中継装置に送信して前記記憶領域に書き込ませ、
前記実行確認部は、前記識別情報を前記中継装置に送信して、前記記憶領域から前記実行状況情報を読み出すことを特徴とする制御装置。
【請求項２】
前記識別情報は、他の制御装置の命令の識別情報と識別可能な情報であることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記識別情報は、前記命令部が送信する命令ごとに異なる情報であることを特徴とする請求項１または２に記載の制御装置。
【請求項４】
制御装置と、前記制御装置の命令に従って動作するデバイスとの間にて、前記命令を中継する中継装置であって、
前記命令と前記命令の識別情報とを対応付けて、前記デバイスに対応する記憶領域に書き込むと共に、前記命令の実行状況を示す実行状況情報を前記記憶領域に書き込む書込管理部と、
前記制御装置から前記識別情報を受信したことに応じて、前記記憶領域に記憶されている前記実行状況情報を前記制御装置に読み出させる読出管理部と、を備えていることを特徴とする中継装置。
【請求項５】
前記書込管理部が前記命令について前記中継装置が実行すべき処理がないことを示す制御情報を前記記憶領域に書き込んだ場合、および前記制御情報が書き込まれることなく所定時間が経過した場合に、前記書込管理部に前記記憶領域への他の命令の書き込みを許可する記憶領域開放部を備えていることを特徴とする請求項４に記載の中継装置。
【請求項６】
前記書込管理部は、前記記憶領域に前記命令および前記識別情報が記憶されている状態にて、前記デバイスに対する他の命令を受信した場合に、前記デバイスに対応する他の記憶領域に、前記他の命令と前記他の命令の識別情報とを対応付けて記憶すると共に、前記他の命令の実行状況情報を前記他の記憶領域に書き込むことを特徴とする請求項４または５に記載の中継装置。
【請求項７】
中継装置を介して前記中継装置に接続されたデバイスの動作を制御する制御装置の制御方法であって、
前記デバイスに対する命令と、前記命令の識別情報とを前記中継装置に送信する命令送信ステップと、
前記命令の実行状況を示す実行状況情報を、前記識別情報を用いて取得する実行確認ステップと、を含み、
前記中継装置は、前記デバイスに対応する記憶領域に書き込んだ命令を前記デバイスに実行させると共に、前記記憶領域に前記実行状況情報を書き込む機能を有し、
前記命令送信ステップでは、前記命令と前記識別情報とを前記中継装置に送信して前記記憶領域に書き込ませ、
前記実行確認ステップでは、前記識別情報を前記中継装置に送信して、前記記憶領域から前記実行状況情報を読み出すことを特徴とする制御装置の制御方法。
【請求項８】
制御装置と、前記制御装置の命令に従って動作するデバイスとの間にて、前記命令を中継する中継装置の制御方法であって、
前記命令と前記命令の識別情報とを対応付けて、前記デバイスに対応する記憶領域に書き込む命令書込ステップと、
前記命令の実行状況を示す実行状況情報を前記記憶領域に書き込む状況書込ステップと、
前記制御装置から前記識別情報を受信したことに応じて、前記記憶領域に記憶されている前記実行状況情報を前記制御装置に読み出させる読出制御ステップと、を含むことを特徴とする中継装置の制御方法。
【請求項９】
請求項１に記載の制御装置としてコンピュータを機能させるための制御プログラムであって、上記命令部および上記実行確認部としてコンピュータを機能させるための制御プログラム。
【請求項１０】
請求項４に記載の中継装置としてコンピュータを機能させるための制御プログラムであって、上記書込管理部および上記読出管理部としてコンピュータを機能させるための制御プログラム。
【請求項１１】
請求項９または１０に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＦＡ（Factory Automation）システムにおける制御装置、および該制御装置とデバイスとの間でデータを中継する中継装置に関する。
【背景技術】
【０００２】
一般的なＦＡシステムは、マスタ装置（制御装置）とスレーブ装置（中継装置）とセンサ等のデバイスとを含み、マスタ装置がスレーブ装置を介してデバイスの動作制御やデバイスの出力データの受信を行う。このようなＦＡシステムの改良が従来から進められている。例えば、下記の特許文献１には、制御機器（前述のスレーブ装置に相当）のパラメータ設定を、ＰＬＣ（Programmable Logic Controller、前述のマスタ装置に相当）にバックアップする際のデータ通信量を削減する技術が開示されている。
【０００３】
このようなＦＡシステムにおいて、デバイスに命令を行う場合、マスタ装置は、スレーブ装置にその命令を送信してデバイスに転送させる。そして、マスタ装置は、命令の実行状況をスレーブ装置に問い合わせることによって確認し、この確認結果に応じて命令を終了し、１つの命令が終了することによりスレーブ装置は新たな命令を受け付け可能な状態に戻る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１７４６１６号公報（２０１４年９月２２日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ＦＡシステムでは、マスタ装置の他、ＨＭＩと呼ばれる表示入力装置や、サポートツールと呼ばれる装置からもデバイスに命令を行うことができ、このため中継装置に対して一度に複数の命令が送信される、命令の多重実行状態が生じ得る。しかしながら、上述のような従来技術では、命令の多重実行状態を考慮していないため、このような状態において各命令が正しく実行されない可能性があった。例えば、マスタ装置が命令Ａをスレーブ装置に送信した後、ＨＭＩが命令Ｂをスレーブ装置に送信した場合を考える。この場合、スレーブ装置が命令Ａを受け付けると、命令Ｂは受け付けられず、命令Ａのみが実行されて、スレーブ装置は命令の実行完了を記録する。ここで、前記の記録は命令Ａの実行完了を示すものであるが、ＨＭＩも当該記録を参照可能であるために、ＨＭＩは命令Ｂが実行完了したものと誤認（取り違え）して、命令Ｂが実行されないまま処理を終了してしまう。したがって、従来は、命令の多重実行状態生じることがないように、ユーザが各命令のタイミングをずらす必要があるという問題があった。
【０００６】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、１つの中継装置に対して複数の命令が送信された場合であっても、自らが送信した命令の実行状況情報を正しく取得することができる制御装置等を実現することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明に係る制御装置は、中継装置（IO-Linkマスタ）を介して前記中継装置に接続されたデバイス（IO-Linkデバイス）の動作を制御する制御装置（コントローラ）であって、前記デバイスに対する命令と、前記命令の識別情報とを前記中継装置に送信する命令部と、前記命令の実行状況を示す実行状況情報（ステータス）を、前記識別情報を用いて取得する実行確認部と、を備えていることを特徴としている。
【０００８】
前記構成によれば、デバイスに対する命令と、前記命令の識別情報とを中継装置に送信し、前記命令の実行状況を示す実行状況情報を、前記識別情報を用いて取得する。よって、１つの中継装置に対して複数の命令が送信されていた場合であっても、前記制御装置が送信した命令の実行状況情報を正しく取得することができるという効果を奏する。
【０００９】
本発明に係る制御装置では、前記中継装置は、前記デバイスに対応する記憶領域に書き込んだ命令を前記デバイスに実行させると共に、前記記憶領域に前記実行状況情報を書き込む機能を有し、前記命令部は、前記命令と前記識別情報とを前記中継装置に送信して前記記憶領域に書き込ませ、前記実行確認部は、前記識別情報を前記中継装置に送信して、前記記憶領域から前記実行状況情報を読み出すものであってもよい。
【００１０】
前記構成によれば、命令と識別情報とを中継装置に送信して、命令の対象であるデバイスに対応する記憶領域に書き込ませ、識別情報を中継装置に送信して、前記記憶領域から前記実行状況情報を読み出す。よって、他の制御装置からも前記中継装置に命令が送信されていた場合であっても、前記制御装置が送信した命令の実行状況情報を確実に読み出すことができる。なお、前記「他の制御装置」は、前記制御装置と同種の装置であってもよいし、異種の装置であってもよい。例えば、前記制御装置がＰＬＣである場合、他の制御装置もＰＬＣであってもよいし、他の制御装置はＨＭＩやサポートツール等であってもよい。
【００１１】
本発明に係る制御装置では、前記識別情報は、他の制御装置の命令の識別情報と識別可能な情報であってもよい。
【００１２】
前記構成によれば、送信する識別情報が、他の制御装置の命令の識別情報と識別可能な情報である。よって、前記制御装置が前記中継装置に命令を送信したタイミングと前後して、他の制御装置が前記中継装置に命令を送信していた場合であっても、前記中継装置が送信した命令について、正しい実行状況情報を取得することができる。
【００１３】
本発明に係る制御装置では、前記識別情報は、前記命令部が送信する命令ごとに異なる情報であってもよい。
【００１４】
前記構成によれば、前記識別情報が、送信する命令ごとに異なる情報であるから、制御装置が複数の命令を送信した場合に、各命令のそれぞれについて、正しい実行状況情報を取得することができる。
【００１５】
前記課題を解決するために、本発明に係る中継装置は、制御装置と、前記制御装置の命令に従って動作するデバイスとの間にて、前記命令を中継する中継装置であって、前記命令と前記命令の識別情報とを対応付けて、前記デバイスに対応する記憶領域に書き込むと共に、前記命令の実行状況を示す実行状況情報を前記記憶領域に書き込む書込管理部と、前記制御装置から前記識別情報を受信したことに応じて、前記記憶領域に記憶されている前記実行状況情報を前記制御装置に読み出させる読出管理部と、を備えていることを特徴としている。
【００１６】
前記構成によれば、命令と前記命令の識別情報とを対応付けて、前記デバイスに対応する記憶領域に書き込むと共に、前記命令の実行状況を示す実行状況情報を前記記憶領域に書き込む。そして、制御装置から前記識別情報を受信したことに応じて、前記記憶領域に記憶されている前記実行状況情報を前記制御装置に読み出させる。よって、複数の命令を受信した場合であっても、各命令の実行状況情報を正しく読み出させることができるという効果を奏する。
【００１７】
本発明に係る中継装置では、前記書込管理部が前記命令について前記中継装置が実行すべき処理がないことを示す制御情報（コントロール：処理なし）を前記記憶領域に書き込んだ場合、および前記制御情報が書き込まれることなく所定時間が経過した場合に、前記書込管理部に前記記憶領域への他の命令の書き込みを許可する記憶領域開放部を備えているものであってもよい。
【００１８】
ここで、従来のＦＡシステムでは、命令の送信元の装置がその命令を終了させることにより、次の命令の受け付けが可能となる構成であった。例えば、マスタ装置とスレーブ装置とデバイスからなるＦＡシステムにおいて、マスタ装置がデバイスに命令を実行させる場合を考える。この場合、マスタ装置はスレーブ装置に命令を送信し、スレーブ装置はこの命令をデバイスに転送し、これによりデバイスが前記命令を実行する。そして、命令が実行されたことはスレーブ装置に通知されるので、マスタ装置はスレーブ装置にアクセスして命令の実行完了を確認し、スレーブ装置はこの確認の終了後に次の命令の受け付けを開始する。このように、従来のＦＡシステムでは、マスタ装置による命令の実行完了確認が終了するまでは、次の命令が受け付けられなかった。このため、マスタ装置が命令を送信した後にスレーブ装置との通信が不能な状態となったような場合には、次の命令の受け付けができない状態が維持されるという問題があった。
【００１９】
そこで、前記構成によれば、命令について前記中継装置が実行すべき処理がないことを示す制御情報を記憶領域に書き込んだ場合、および前記制御情報が書き込まれることなく所定時間が経過した場合に、前記記憶領域への他の命令の書き込みを許可する。よって、制御情報を書き込んだ場合のみならず、制御情報が書き込まれることなく所定時間が経過した場合にも、他の命令の書き込みが可能な状態となるから、他の命令の書き込みができない状態が維持されることを防ぐことができるという効果を奏する。
【００２０】
なお、前記中継装置は以下のように表現することもできる。すなわち、制御装置と、前記制御装置の命令に従って動作するデバイスとの間にて、前記命令を中継する中継装置であって、前記命令と前記命令を他の制御装置からの命令と識別するための識別情報とを対応付けて、前記デバイスに対応する記憶領域に記憶すると共に、前記命令の実行状況を示す実行状況情報を前記記憶領域に書き込む書込管理部と、前記書込管理部が前記命令について前記中継装置が実行すべき処理がないことを示す制御情報を前記記憶領域に書き込んだ場合、および前記制御情報が書き込まれることなく所定時間が経過した場合に、前記書込管理部に前記記憶領域への他の命令の書き込みを許可する記憶領域開放部と、を備えていることを特徴とする中継装置。
【００２１】
本発明に係る中継装置では、前記書込管理部は、前記記憶領域に前記命令および前記識別情報が記憶されている状態にて、前記デバイスに対する他の命令を受信した場合に、前記デバイスに対応する他の記憶領域に、前記他の命令と前記他の命令の識別情報とを対応付けて記憶すると共に、前記他の命令の実行状況情報を前記他の記憶領域に書き込むものであってもよい。
【００２２】
前記構成によれば、前記記憶領域に命令および識別情報が記憶されている状態にて、前記デバイスに対する他の命令を受信した場合に、前記デバイスに対応する他の記憶領域に、前記他の命令と前記他の命令の識別情報とを対応付けて記憶する。そして、前記他の命令の実行状況情報を前記他の記憶領域に書き込む。よって、同じデバイスに対する複数の命令を並行して受け付けることができる。
【００２３】
前記課題を解決するために、本発明に係る制御装置の制御方法は、中継装置を介して前記中継装置に接続されたデバイスの動作を制御する制御装置の制御方法であって、前記デバイスに対する命令と、前記命令の識別情報とを前記中継装置に送信する命令送信ステップと、前記命令の実行状況を示す実行状況情報を、前記識別情報を用いて取得する実行確認ステップと、を含むことを特徴としている。前記方法によれば、前述した制御装置と同様の効果を奏する。
【００２４】
前記課題を解決するために、本発明に係る中継装置の制御方法は、制御装置と、前記制御装置の命令に従って動作するデバイスとの間にて、前記命令を中継する中継装置の制御方法であって、前記命令と前記命令の識別情報とを対応付けて、前記デバイスに対応する記憶領域に書き込む命令書込ステップと、前記命令の実行状況を示す実行状況情報を前記記憶領域に書き込む状況書込ステップと、前記制御装置から前記識別情報を受信したことに応じて、前記記憶領域に記憶されている前記実行状況情報を前記制御装置に読み出させる読出制御ステップと、を含むことを特徴としている。前記方法によれば、前述した中継装置と同様の効果を奏する。
【００２５】
本発明の各態様に係る制御装置、および中継装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記制御装置、および中継装置が備える各部（ソフトウェア要素）として動作させることにより前記制御装置、および中継装置をコンピュータにて実現させる制御装置、および中継装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２６】
本発明の一態様に係る制御装置によれば、１つの中継装置に対して複数の命令が送信されていた場合であっても、前記制御装置が送信した命令の実行状況情報を正しく取得することができるという効果を奏する。
【００２７】
また、本発明の一態様に係る中継装置によれば、複数の命令を受信した場合であっても、各命令の実行状況情報を制御装置に正しく読み出させることができるという効果を奏する。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係るIO-Linkマスタの要部構成の一例を示すブロック図である。
【図２】前記IO-Linkマスタを含むIO-Linkシステムの概要を示す図である。
【図３】ポート用記憶領域に記憶されるデータのデータ構造を示す図である。
【図４】前記ポート用記憶領域１１０に記憶されるデータの状態遷移を説明するための図である。
【図５】前記IO-Linkシステムにおける処理の流れを示すシーケンス図である。
【図６】ポート用記憶領域に複数のコマンドを格納できる場合のIO-Linkシステムの概要を示すブロック図である。
【図７】IO-Linkマスタにおける上位ネットワークとの通信機能を通信カプラとして切り離したIO-Linkシステムの例を示す図である。
【図８】複数のスレーブ装置とこれらを制御するマスタ装置とを含むＦＡシステムの例を示す図である。
【発明を実施するための形態】
【００２９】
〔実施形態１〕
本発明の実施形態１について図１〜図５に基づいて説明する。
【００３０】
〔システム概要〕
まず、本実施形態のIO-Linkシステムの概要を図２に基づいて説明する。図２は、IO-Linkシステム９の概要を示す図である。IO-Linkシステム９は、ＦＡシステムであり、図示のように、IO-Linkシステム９には、IO-Linkマスタ（中継装置）１、IO-Linkデバイス２ａ、IO-Linkデバイス２ｂ、コントローラ（制御装置）３、サポートツール（制御装置）４、およびＨＭＩ（制御装置）５が含まれている。なお、IO-Linkデバイス２ａと２ｂを区別する必要のないときには、これらをIO-Linkデバイス２と表記する。
【００３１】
IO-Linkマスタ１は、コントローラ３等を含む上位ネットワークとIO-Linkデバイス２との間でデータを中継する中継装置であり、IO-Linkシステム９においてコントローラ３のスレーブ装置として動作する。図示の例では、IO-Linkマスタ１には２つのIO-Linkデバイス２が接続されているが、３つ以上のIO-Linkデバイス２を接続することもできる。また、IO-Linkマスタ１はIO-Linkデバイス２と双方向に通信することができる。
【００３２】
IO-Linkデバイス２は、IO-Linkマスタ１と通信接続されて、コントローラ３の制御対象となる装置である。IO-Linkデバイス２としては、出力系のデバイスおよび入力系のデバイスを適用できる。入力系のデバイスとしては、例えば光電センサや近接センサ等の各種センサが挙げられ、出力系のデバイスとしては例えばアクチュエータやモータ等が挙げられる。また、インバータのような変換装置等もIO-Linkデバイス２とすることができる。
【００３３】
コントローラ３は、IO-Linkシステム９の全体を統括して制御する制御装置であり、ＰＬＣ（Programmable Logic Controller）とも呼ばれる。コントローラ３は、IO-Linkシステム９においてIO-Linkマスタ１のマスタ装置として動作する。
【００３４】
サポートツール４は、IO-Linkデバイス２の動作設定等のIO-Linkシステム９における各種設定のために、IO-Linkシステム９に接続して使用される装置である。サポートツール４は、コントローラ３経由でIO-Linkシステム９に接続することができる。サポートツール４からもIO-Linkデバイス２の動作制御を行うことが可能であるから、サポートツール４も制御装置の１つであると言える。サポートツール４としては、パソコンのような情報処理装置を用いることができ、ノート型パソコンのような携帯型の情報処理装置を用いることもできる。
【００３５】
ＨＭＩ５は、タッチパネル式の表示入力装置であり、IO-Linkシステム９のユーザは、ＨＭＩ５を介してコントローラ３を操作したり、ＨＭＩ５にてIO-Linkシステム９の動作状態を確認したりすることができる。ＨＭＩ５からもIO-Linkデバイス２の動作制御を行うことが可能であるから、ＨＭＩ５も制御装置の１つであると言える。
【００３６】
以上のような構成を備えるIO-Linkシステム９において、本実施形態では、図示のように、コントローラ３、ＨＭＩ５からIO-Linkマスタ１に送信されるコマンド（命令）にシーケンスナンバー（識別情報）が付されている。図２に示す例では、コントローラ３から送信されるコマンドにシーケンスナンバー“１”が、ＨＭＩ５から送信されるコマンドにシーケンスナンバー“１１”が付されている。
【００３７】
そして、シーケンスナンバーが付されたコマンドを受信したIO-Linkマスタ１は、コマンドをシーケンスナンバーとともに第１ポート用記憶領域１１０ａに書き込み、コマンドが示す命令をIO-Linkデバイス２ａに実行させる。なお、IO-Linkデバイス２ｂを対象としたコマンドは、第２ポート用記憶領域１１０ｂに書き込まれる。
【００３８】
また、命令の実行中または実行後に、コントローラ３またはＨＭＩ５からステータスの確認を行うときに、シーケンスナンバーを指定して行う。これにより、IO-Linkマスタ１では、単に実行中または実行後のコマンドではなく、シーケンスナンバーに対応するコマンドのステータスを送り返すことができる。よって、他の装置から送信されたコマンドのステータスを受け取ることによる弊害を防止することができる。つまり、図示の例では、コントローラ３は、シーケンスナンバー１の命令のステータスを受け取ることができ、ＨＭＩ５はシーケンスナンバー１１の命令のステータスが書き込まれておらず、その命令が受け付けられていないことを確認することができる。
【００３９】
なお、IO-Linkシステム９では、コマンドを送信する各装置について、その装置が使用可能なシーケンスナンバーを予め定めており、これにより各装置が送信するコマンドを相互に識別できるようになっている。具体的には、図示の例では、コントローラ３には１〜９のシーケンスナンバーが割り当てられており、ＨＭＩ５には１１〜１９のシーケンスナンバーが割り当てられている。なお、図示の例ではコントローラ３とＨＭＩ５からコマンドを送信する例を示しているが、コマンドの送信元はIO-Linkシステム９に接続可能な装置であればよく、例えばサポートツール４からコマンドを送信してもよい。この場合、サポートツール４にも使用可能なシーケンスナンバー（例えば２０〜２９）を割り当てればよい。
【００４０】
このように、シーケンスナンバーは、コマンドの識別情報として付された数値であり、コマンドの送信ごとに１ずつインクリメントしたシーケンスナンバーを使用することにより、１つの装置が送信する各コマンドを識別することが可能になる。また、前記の通り、装置毎に使用可能なシーケンスナンバーを区分することにより、各装置が送信するコマンドを識別することが可能になる。
【００４１】
〔IO-Linkについて〕
IO-Linkについて、以下に補足説明する。IO-Linkは、ＩＥＣ６１１３１−９において「Single-drop digital communication interface for small sensors and actuators」（ＳＤＣＩ）という名称で規格化されており、制御装置であるマスタ（前記コントローラ３がこれに該当）と、センサおよびアクチュエータ等のデバイスとの間の通信のための標準化技術である。IO-Linkは、マスタとデバイスとの通信に使用する新しいポイント・ツー・ポイントシリアル通信プロトコルである。なお、前記デバイスの一例として、光電センサと近接スイッチとを挙げることができる。
【００４２】
IO-Linkは、デバイスからマスタへのオン／オフ信号（１ビット）の発信のみが可能であった従来のプロトコルとは異なり、３２バイト（２５６ビット）のデータの受発信（双方向通信）が可能な通信プロトコルである。マスタとデバイスとの間をIO-Linkでつなぐことによって、従来、オン／オフ情報などの２値化データしか受信できなかったデバイスからの信号について、３２バイトの数値データとして取得できるようになる。したがって、例えば、光電センサの場合、受光量、検出余裕度、内部温度などの情報を取得することができるようになり、不具合原因の究明に役立つほか、製品寿命の診断、経年劣化に応じたしきい値の変更などが可能になる。
【００４３】
IO-Linkを利用することにより、例えば、デバイスの設定およびメンテナンス等を自動化することができる。また、IO-Linkを利用することにより、マスタのプログラミングが大幅に簡易化でき、さらに、配線ケーブルのコスト削減等を実現することができる。
【００４４】
続いて、以上説明したIO-Linkを利用したIO-Linkシステム（前記IO-Linkシステム９がこれに該当）について説明する。IO-Linkシステムは、IO-Linkデバイス（一般に、センサ、アクチュエータ、またはその組み合わせであり、前記IO-Linkデバイス２がこれに該当）と、標準の３線式センサ/アクチュエータケーブルと、IO-Linkマスタ（前記IO-Linkマスタ１がこれに該当）と、によって構成される。
【００４５】
IO-Linkマスタは、１つまたは複数のポート（後述のデバイス通信ポート１２がこれに該当）を備え、各ポートには１台のIO-Linkデバイスが接続可能である。IO-Linkマスタは、IO-Linkデバイスとポイントツーポイント通信を行う。IO-Linkマスタは、従来のオン／オフ情報などの２値化データ（１ビットのデータ）だけでなく、デバイスの識別情報、デバイスの通信プロパティ、デバイスパラメータ、および、プロセス・診断データの情報などの、オン／オフ情報などの２値化データ以外の情報（１ビットよりも大きなデータ）を、IO-Linkデバイスとの間で送受信することができる。
【００４６】
IO-Linkデバイスは、IO-Linkマスタとの間で、１ビットよりも大きなデータを送受信することができる。つまり、IO-Linkデバイスは、IO-Linkに適合したデバイスである。なお、IO-Linkシステムには、IO-Linkデバイスではない（１ビットよりも大きなデータを送受信しない）センサやアクチュエータ等のデバイスを組み込むこともできる。
【００４７】
〔IO-Linkマスタの要部構成〕
次に、IO-Linkマスタ１の要部構成を図１に基づいて説明する。図１は、IO-Linkマスタ１の要部構成の一例を示すブロック図である。図示のように、IO-Linkマスタ１は、IO-Linkマスタ１の各部を統括して制御する制御部１０、IO-Linkマスタ１にて使用する各種データを記憶する記憶部１１を備えている。また、IO-Linkマスタ１は、IO-Linkデバイス２と通信するための通信ポートとして、第１デバイス通信ポート１２ａおよび第２デバイス通信ポート１２ｂを備えている。さらに、IO-Linkマスタ１は、前述のコントローラ３を含む上位ネットワークと通信するための上位通信ポート１３を備えている。なお、第１デバイス通信ポート１２ａと第２デバイス通信ポート１２ｂを区別する必要のないときには、これらをデバイス通信ポート１２と表記する。また、デバイス通信ポート１２の数は３以上であってもよい。また、上位通信ポート１３を介する上位ネットワークとの通信は、例えばEtherCAT（Ethernet Control Automation Technology：登録商標）等にて行うことができる。
【００４８】
そして、制御部１０には、デバイス制御部１００、書込管理部１０１、記憶領域開放部１０２、および読出管理部１０３が含まれている。また、記憶部１１には、第１ポート用記憶領域１１０ａと第２ポート用記憶領域１１０ｂが含まれている。なお、第１ポート用記憶領域１１０ａと第２ポート用記憶領域１１０ｂを区別する必要のないときには、これらをポート用記憶領域１１０と表記する。ポート用記憶領域１１０に格納されているデータの詳細については後述する。
【００４９】
デバイス制御部１００は、IO-Linkデバイス２の動作を制御する。例えば、デバイス制御部１００は、IO-Linkデバイス２に対してメッセージと呼ばれる所定形式のコマンドを送信して、そのメッセージに記述された動作をIO-Linkデバイス２に実行させ、その実行結果をIO-Linkデバイス２から取得する。なお、このメッセージは、ポート用記憶領域１１０に書き込まれたデータ（詳細は後述）に基づいて生成する。
【００５０】
書込管理部１０１は、コントローラ３、サポートツール５、およびＨＭＩ５等の制御装置から送信されたコマンドおよびシーケンスナンバーを対応付けてポート用記憶領域１１０に書き込む。また、書込管理部１０１は、コマンドの実行状況を示すステータス（実行状況情報）をポート用記憶領域１１０に書き込む。前述したように、第１ポート用記憶領域１１０ａおよび第２ポート用記憶領域１１０ｂの何れに書き込むかは、コマンドを実行させるIO-Linkデバイス２が何れに対応しているかによる。
【００５１】
記憶領域開放部１０２は、コマンドについてIO-Linkマスタ１において実行すべき処理がないことを示す制御情報（後述する“処理なし”）がポート用記憶領域１１０に書き込まれた場合に、当該ポート用記憶領域１１０への他のコマンドの書き込みを許可する。また、記憶領域開放部１０２は、前記制御情報が書き込まれることなく所定時間が経過した場合にも、当該ポート用記憶領域１１０への他のコマンドの書き込みを許可する。
【００５２】
読出管理部１０３は、コマンドの実行状況に関するステータスの問い合わせに対し、問い合わせに含まれるシーケンスナンバーと対応付けられたコマンドの実行状況（ポート用記憶領域１１０に書き込まれている）を読み出させる。
【００５３】
ポート用記憶領域１１０は、各デバイス通信ポート１２のそれぞれについて設けられた記憶領域であり、ポート用記憶領域１１０には各デバイス通信ポート１２に関連するデータが記憶される。より詳細には、第１ポート用記憶領域１１０ａには、第１デバイス通信ポート１２ａに関連するデータとして、IO-Linkデバイス２ａに対するコマンドおよびシーケンスナンバーが書き込まれている。同様に、第２ポート用記憶領域１１０ｂには、第２デバイス通信ポート１２ｂに関連するデータとして、IO-Linkデバイス２ｂに対するコマンドおよびシーケンスナンバーが書き込まれている。なお、ポート用記憶領域１１０に書き込まれるデータの詳細は図３に基づいて後述する。
【００５４】
〔コントローラの要部構成〕
次に、コントローラ３の要部構成を図１に基づいて説明する。図示のように、コントローラ３は、コントローラ３の各部を統括して制御する制御部３０、コントローラ３にて使用する各種データを記憶する記憶部３１、コントローラ３に対する入力を受け付ける入力部３２、および、IO-Linkマスタ１やサポートツール４、ＨＭＩ５等の他の装置と通信するための通信部３３を備えている。また、制御部３０には、書込部（命令部）３００および読出部（実行確認部）３０１が含まれている。
【００５５】
書込部３００は、IO-Linkデバイス２に対するコマンド（命令）と、シーケンスナンバーとをIO-Linkマスタ１に送信して、ポート用記憶領域１１０に書き込ませる。なお、前述のように、コントローラ３が使用可能なシーケンスナンバーは予め定められており、書込部３００は、この予め定められたシーケンスナンバーを送信する。より詳細には、コントローラ３に割り当てられたシーケンスナンバーを、コマンドの送信ごとに１ずつインクリメントして使用する。例えば、書込部３００は、最初に送信するコマンドのシーケンスナンバーを１とした場合、次のコマンドのシーケンスナンバーを２とする。これにより、送信する命令ごとに異なるシーケンスナンバーが設定されるので、コントローラ３が送信したコマンド間での取り違えが発生することを防ぐことができる。
【００５６】
読出部３０１は、シーケンスナンバーを指定して、書込部３００が送信したコマンドのステータスをIO-Linkマスタ１から取得する。
【００５７】
なお、サポートツール４およびＨＭＩ５も前記書込部（命令部）３００および読出部（実行確認部）３０１と同様の構成を備えており、これによりIO-Linkマスタ１を介してIO-Linkデバイス２の動作制御を行うことができる。
【００５８】
〔ポート用記憶領域に格納されているデータのデータ構造〕
次に、図３を参照して、ポート用記憶領域１１０に記憶されるデータ（IO-Linkデバイス２宛のメッセージを送信するために用いられるデータ）のデータ構造を説明する。図３は、ポート用記憶領域１１０に格納されているデータのデータ構造を示す図である。図示のように、ポート用記憶領域１１０に書き込まれるデータには、エントリ数、コントロール、ステータス、インデックス、サブインデックス、データ長、データ、エラーコード、およびシーケンスナンバーが含まれている。
【００５９】
エントリ数は、エントリ数を示す。コントロールは、IO-Linkマスタ１が実行するべき制御の内容を示し、ここでは、「０：処理無し」、「１：ライト（書き込み）」、「２：リード（読み出し）」となっている。
【００６０】
ステータスは、コマンドの実行状況を示し、ここでは、「０：動作停止中」、「１：ビジー（処理実行中）」、「２：成功」、「３：エラー」となっている。
【００６１】
インデックス、およびサブインデックスは、IO-Linkデバイス２がもつオブジェクトのインデックスおよびサブインデックスである。
【００６２】
データは、読み出し、書き込みの対象となるデータ（リード／ライトデータ）であり、データ長は当該データのデータ長を示すものである。また、エラーコードは、発生したエラーの種別を示すコードである。
【００６３】
タイムアウトは、タイムアウト時間であり、詳細には、IO-Linkマスタ１のIO-Linkデバイス２からのレスポンスの監視時間である。そして、シーケンスナンバーは、上述したように、メッセージ（コマンド）を識別するためのシーケンスナンバーである。
【００６４】
〔IO-Linkマスタの状態遷移〕
次に、各ポート用記憶領域１１０に記憶されるデータの状態遷移について図４に基づいて説明する。図４は、ポート用記憶領域１１０に記憶されるデータの状態遷移を説明するための図である。
（Ａ）動作停止状態
動作停止状態では、各ポート用記憶領域１１０に記憶されているデータの「ステータス」は、何れも０となっている。
（Ｂ）ビジー状態
動作停止状態（Ａ）において、ポート用記憶領域１１０に「コントロール」に「ライト」または「リード」が書き込まれることにより、そのポート用記憶領域１１０の「ステータス」は「１」（ビジー）に書き換えられる。
【００６５】
また、「コントロール」に「ライト」または「リード」が書き込まれていないポート用記憶領域１１０についても、「ステータス」は「１」（ビジー）に書き換えられる。この場合のビジー状態は、「コントロール」に「ライト」または「リード」が書き込まれたポート用記憶領域１１０の「コントロール」が「処理なし」に更新されることにより解消する。つまり、ポート用記憶領域１１０の「コントロール」が「処理なし」となると、これに連動して全てのポート用記憶領域１１０の「コントロール」が「処理なし」となる。なお、この場合のビジー状態への遷移は必須ではない。つまり、１つのポート用記憶領域１１０に「コントロール」に「ライト」または「リード」が書き込まれている状態であっても、他のポート用記憶領域１１０は「処理なし」としてもよい。この場合、コマンドの送信対象となるデバイス通信ポート１２が異なっていれば、複数のコマンドを並行して受け付けることが可能である。
（Ｃ）成功
（Ｂ）のビジー状態の後、IO-Linkデバイス２から正常レスポンスを受信すると、「ステータス」は「２」（成功）に書き換えられる。なお、ここでは、コマンドの実行結果のステータスが「正常」であるレスポンスを正常レスポンスと呼ぶ。また、コマンドの実行結果のステータスが「正常」以外（エラー等）のレスポンスを異常レスポンスと呼ぶ。
（Ｄ）エラー状態
一方、（Ｂ）のビジー状態の後、IO-Linkデバイス２から正常レスポンスの受信がなく、IO-Linkマスタ１側でエラーと判断すると、「ステータス」は「３」（エラー状態）に書き換えられる。また、（Ｂ）のビジー状態の後、IO-Linkデバイス２からエラーのレスポンス（異常レスポンス）を受信した場合にも、「ステータス」は「３」に書き換えられる。
【００６６】
そして、（Ｃ）成功または（Ｄ）エラー状態から、IO-Linkマスタ１の記憶領域開放部１０２は、タイマーによる計時を開始する。前記タイマーがタイムアウトする前に、書込管理部１０１が「コントロール」に「処理無し」を書き込んだ場合には、状態は（Ａ）に戻る。また、前記タイマーがタイムアウトした場合には、記憶領域開放部１０２は、書込管理部１０１により「コントロール」に「処理無し」を書き込ませて、状態は（Ａ）に戻る。なお、前述のように、ビジーの要因となったポート用記憶領域１１０の「コントロール」が「処理無し」となったときには、他のポート用記憶領域１１０の「コントロール」も「処理無し」に書き換えられる。
【００６７】
〔IO-Linkシステムにおける処理の流れ〕
次に、IO-Linkシステム９における処理（制御装置の制御方法および中継装置の制御方法）の流れについて図５に基づいて説明する。図５は、IO-Linkシステム９における処理の流れを示すシーケンス図である。なお、以下ではコントローラ３がコマンドを送信する例を説明するが、サポートツール４やＨＭＩ５がコマンドを送信する場合の処理も同様である。
【００６８】
まず、コントローラ３の書込部３００は、IO-Linkマスタ１に書き込みコマンド（命令）を送信する（命令送信ステップ）。前記書き込みコマンドには、コマンドの対象となるデバイス通信ポート１２を示す情報が含まれている。また、コントロール（リードまたはライト）、インデックス、サブインデックス、データ長、データ、タイムアウト、シーケンスナンバー等のポート用記憶領域１１０に書き込むべきパラメータも含まれている。
【００６９】
一方、前記の書き込みコマンドを受信したIO-Linkマスタ１では、書込管理部１０１が、前記のデータおよびパラメータを、コマンドの対象となっているデバイス通信ポート１２に対応するポート用記憶領域１１０に書き込む（命令書込ステップ）。また、全てのポート用記憶領域１１０の「ステータス」を「ビジー」に書き換える。そして、書込部３００は、書き込みが正常に終了した場合には、コントローラ３に正常レスポンスを送信し、正常に終了しなかった場合には、コントローラ３に異常レスポンスを送信する。
【００７０】
また、デバイス制御部１００は、ポート用記憶領域１１０に書き込まれた、コントロール（リードまたはライト）、インデックス、サブインデックス、データ長、およびデータに基づいて、これらのパラメータが示す動作を実行させるためのメッセージを生成する。なお、コントロールの値がリードであれば読み出しコマンドであるメッセージを生成し、ライトであれば書き込みコマンドであるメッセージを生成する。そして、デバイス制御部１００は、前記メッセージ（書き込みコマンドまたは読み出しコマンド）をIO-Linkデバイス２に送信する。また、デバイス制御部１００は、ポート用記憶領域１１０に書き込まれたタイムアウトの監視を開始してもよい。
【００７１】
前記メッセージを受信したIO-Linkデバイス２は、このメッセージに応じて、読み出し、書き込み、またはエラーのレスポンス（異常レスポンス）をIO-Linkマスタ１に返す。
【００７２】
IO-Linkマスタ１のデバイス制御部１００は、前記レスポンスに応じて、「ステータス」を「成功」または「エラー」とする。なお、「ステータス」の書き込み（状況書込ステップ）は、デバイス制御部１００の制御に従って書込管理部１０１が行う。また、「ステータス」の前記書き込みと連動して、記憶領域開放部１０２は、タイムアウトの監視を開始する。
【００７３】
一方、書き込みコマンドを送信して、これに対する正常レスポンスを受信したコントローラ３では、読出部３０１が、IO-Linkマスタ１に読み出しコマンドを送信（実行確認ステップ）して、レスポンスを受信する処理を、「ステータス」が所定の値である正常レスポンスが受信されるまで繰り返す（ループ）。具体的には、読出部３０１は、先に送信された書き込みコマンドと同じシーケンスナンバーを含む読み出しコマンドをIO-Linkマスタ１に送信し、「ステータス」の値の読み出しを要求する。そして、読出部３０１は、前記読み出しコマンドに対する正常レスポンスを受信し、かつその正常レスポンスに含まれる「ステータス」の値が「成功」または「エラー」であれば、ループを抜ける。一方、「ビジー」であれば再度読み出しコマンドを送信し、「動作停止中」であれば処理を終了する。また、異常レスポンスを受信した場合にも処理を終了する。これらの場合は異常終了となる。
【００７４】
前記ループを抜けた場合、読出部３０１は、先に送信された書き込みコマンドと、前記読み出しコマンドとで、シーケンスナンバーが一致することを確認した上で、書込部３００に「コントロール」の値を「処理無し」に書き換えるよう指示する。そして、この指示を受けた書込部３００は、「コントロール」の値を「処理無し」に書き換えさせる書き込みコマンドをIO-Linkマスタ１に送信する。この書き込みコマンドに対して、正常レスポンスを受信することにより、コマンドは正常に終了する。一方、異常レスポンスを受信した場合にも処理を終了するが、この場合は異常終了となる。
【００７５】
一方、IO-Linkマスタ１では、読出管理部１０３がコントローラ３からの読み出しコマンドを受け付ける。そして、その読み出しコマンドに含まれるシーケンスナンバーの「ステータス」の値をポート用記憶領域１１０から読み出して、コントローラ３に通知する（読出制御ステップ）。
【００７６】
この後、タイムアウトの発生前に、「コントロール」の値を「処理無し」に書き換えさせる書き込みコマンドを受信した場合、書込管理部１０１は、全てのポート用記憶領域１１０の「ステータス」を「動作停止中」に書き換える。そして、記憶領域開放部１０２は、タイムアウトの監視を終了する。また、前記の書き込みコマンドを受信することなくタイムアウトが発生した場合、記憶領域開放部１０２が、書込管理部１０１に全てのポート用記憶領域１１０の「ステータス」を「動作停止中」に書き換えさせる。
【００７７】
〔実施形態２〕
本発明の実施形態２について図６に基づいて説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００７８】
図６は、ポート用記憶領域１１０に複数のコマンドを格納できる場合のIO-Linkシステム９の概要を示すブロック図である。
【００７９】
前記実施形態１では、ポート用記憶領域１１０に書き込み可能なコマンド（命令）は１つであった。このため、或るコマンドが書き込まれると、当該コマンドの「コントロール」が「処理無し」となるまで、「ビジー」の状態が継続し、他のコマンドを書き込むことはできなかった。
【００８０】
本実施形態では、ポート用記憶領域１１０に複数のコマンドを書き込むことができる。つまり、本実施形態においては、１つのポート用記憶領域１１０内に複数の記憶領域が設定されており、各記憶領域のそれぞれに図３に示したようなパラメータを書き込むことができるようになっている。そして、本実施形態の書込管理部１０１は、ポート用記憶領域１１０ａにコマンドが記憶されている状態にて、IO-Linkデバイス２に対する他のコマンドを受信した場合に、ポート用記憶領域１１０ａの他の記憶領域に当該他のコマンドを書き込む。これにより、処理が完了していないコマンドが残っている状態であっても、次のコマンドを受け付けることができ、ビジー状態が発生する可能性を低減することができる。また、各コマンドにはパラメータとしてシーケンスナンバーが書き込まれるから、コマンドの取り違えなどが発生することもない。
【００８１】
〔実施形態３〕
本発明の実施形態３について図７に基づいて説明する。図７は、IO-Linkマスタにおける上位ネットワークとの通信機能を通信カプラとして切り離したIO-Linkシステム９２の例を示す図である。
【００８２】
図示のIO-Linkシステム９２は、前述のIO-Linkシステム９と同様の機能を有するシステムであるが、IO-Linkシステム９のIO-Linkマスタ１の代わりに、通信カプラ２００とIO-Linkマスタ（中継装置）２０１を備えている点で相違している。
【００８３】
通信カプラ２００は、上位ネットワークとIO-Linkマスタ２０１との間の通信を中継する中継装置である。通信カプラ２００は、IO-Linkマスタ１の上位通信ポート１３（図１参照）に相当する通信ポートを備えているとともに、IO-Linkマスタ２０１と通信するための通信ポートを備えている。そして、通信カプラ２００は、IO-Linkマスタ１の上位ネットワークと通信可能な通信制御部を備えており、該通信制御部により上位ネットワークに含まれる機器とIO-Linkマスタ２０１との間で通信を中継する。
【００８４】
IO-Linkマスタ２０１は、上位通信ポート１３（図１参照）の代わりに通信カプラ２００と通信するための通信ポートを備えている点を除けば、IO-Linkマスタ１と同様の構成を備えている。IO-Linkシステム９２においても、前述のIO-Linkシステム９と同様に、コントローラ３からポート用記憶領域１１０への書き込み、およびポート用記憶領域１１０からの読み出しを行うことができるが、この際の通信は通信カプラ２００を介して行われる。
【００８５】
また、通信カプラ２００がサポートツール４を接続するためのインターフェースを備えている場合、図７に示すように、サポートツール４は、該インターフェースを介して通信カプラ２００と接続することにより、コントローラ３を介さずにIO-Linkマスタ２０１と通信することもできる。また、IO-Linkマスタ２０１がサポートツール４を接続するためのインターフェースを備えている場合には、サポートツール４は、該インターフェースを介して直接IO-Linkマスタ２０１と通信することもできる。
【００８６】
〔実施形態４〕
本発明の実施形態４について図８に基づいて説明する。図８は、複数のスレーブ装置とこれらを制御するマスタ装置とを含むＦＡシステム９３の例を示す図である。図示のＦＡシステム９３は、前述のIO-Linkシステム９と同様の機能を有しているが、IO-Linkプロトコルに準拠したシステムではない。ＦＡシステム９３には、図示のように、マスタ装置４００、スレーブ装置４０１ａ、４０１ｂ、およびデバイス４０２ａ、４０２ｂが含まれる。なお、スレーブ装置４０１ａと４０１ｂを区別する必要のないときには、これらをスレーブ装置４０１と表記する。同様に、デバイス４０２ａと４０２ｂを区別する必要のないときには、これらをデバイス４０２と表記する。
【００８７】
マスタ装置４００は、各スレーブ装置４０１を制御する制御装置であり、前記実施形態のコントローラ３に相当する装置である。また、スレーブ装置４０１は、マスタ装置４００の制御に従って動作する装置であり、マスタ装置４００とデバイス４０２との間でデータを中継する中継装置である。スレーブ装置４０１は、前記実施形態のIO-Linkマスタ１に相当する装置であり、デバイス４０２と双方向に通信することができる。IO-Linkマスタ１とスレーブ装置４０１との相違点の１つとしては、スレーブ装置４０１が備える、デバイス４０２との通信のための通信ポートは１つである点が挙げられる。デバイス４０２は、前記実施形態のIO-Linkデバイス２に相当し、例えばセンサ等の入力系のデバイスの他、アクチュエータ等の出力系のデバイスをデバイス４０２として適用できる。このようなシステムは、例えばEtherCATを利用することによって構築することが可能である。
【００８８】
また、スレーブ装置４０１は、IO-Linkマスタ１と同様に、コマンドおよびシーケンスナンバーを対応付けて、ポート用記憶領域に書き込むとともに、コマンドの実行状況を示すステータス（実行状況情報）をポート用記憶領域に書き込む書込管理部、書込管理部がポート用記憶領域へ、他のコマンドを書き込むことを許可する記憶領域開放部、コマンドの実行状況をポート用記憶領域から読み出し通知する読出管理部を備えている。
【００８９】
また、スレーブ装置４０１は、コマンドとシーケンスナンバーとを対応付けてポート用記憶領域１１０に書き込むと共に、前記コマンドのステータスを前記ポート用記憶領域１１０に書き込む書込管理部１０１と、マスタ装置４００から前記シーケンスナンバーを受信したことに応じて、前記ポート用記憶領域１１０に記憶されている前記ステータスを読み出させる読出管理部１０３と、を備えている。さらに、スレーブ装置４０１は、書込管理部１０１が前記コマンドの「コントロール」を「処理無し」と書き込んだ場合、および「処理無し」と書き込まれることなく所定時間が経過（タイムアウト（Ｃ）が発生）した場合に、書込管理部１０１に前記ポート用記憶領域１１０への他のコマンドの書き込みを許可する記憶領域開放部１０２を備えている。
【００９０】
そして、マスタ装置４００は、コントローラ３と同様に、デバイス４０２に対するコマンドとシーケンスナンバーとをスレーブ装置４０１に送信する書込部３００と、前記コマンドのステータスを、前記シーケンスナンバーを用いて取得する読出部３０１と、を備えている。
【００９１】
したがって、前記各実施形態のIO-Linkシステム９と同様の効果を奏する。また、本実施形態においても、実施形態２と同様に、１つのポート用記憶領域１１０に複数のコマンドの記憶領域をそれぞれ設けてもよい。
【００９２】
〔変形例〕
前記各実施形態では、コントローラ３やサポートツール４、ＨＭＩ５等の命令の送信側の装置（制御装置）がシーケンスナンバーを決定する例を説明したが、IO-Linkマスタ１が決定してもよい。この場合、コマンドを受信したIO-Linkマスタ１が、受信したコマンドにシーケンスナンバーを付与し、付与したシーケンスナンバーを、そのコマンドの送信元の装置に通知する。このような構成であっても、前記各実施形態と同様の機能を実現できる。
【００９３】
また、前記各実施形態では、コマンドの識別情報としてシーケンスナンバーを用いる例を示したが、識別情報はコマンドを識別可能なものであればよく、シーケンスナンバーに限られない。
【００９４】
〔ソフトウェアによる実現例〕
IO-Linkマスタ１およびコントローラ３の制御ブロック（特に制御部１０および制御部３０に含まれる各部）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００９５】
後者の場合、IO-Linkマスタ１およびコントローラ３は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、前記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、前記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。そして、同様の手法により、IO-Linkマスタ２０１、通信カプラ２００、マスタ装置４００、およびスレーブ装置４０１等の装置の制御ブロックを実現することもできる。
【００９６】
本発明は前述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００９７】
１、２０１  IO-Linkマスタ（中継装置）
１０１    書込管理部
１０２    記憶領域開放部
１０３    読出管理部
１１０ａ  第１ポート用記憶領域（記憶領域）
１１０ｂ  第２ポート用記憶領域（記憶領域）
２、２ａ、２ｂ    IO-Linkデバイス（デバイス）
３    コントローラ（制御装置）
３００    書込部（命令部）
３０１    読出部（実行確認部）
４    サポートツール（制御装置）
５    ＨＭＩ（制御装置）
４００    マスタ装置（制御装置）
４０１    スレーブ装置（中継装置）
４０２ａ、４０２ｂ    デバイス
【図１】
0006717026.tif 000002
【図２】
0006717026.tif 000003
【図３】
0006717026.tif 000004
【図４】
0006717026.tif 000005
【図５】
0006717026.tif 000006
【図６】
0006717026.tif 000007
【図７】
0006717026.tif 000008
【図８】
0006717026.tif 000009