(57)【特許請求の範囲】
【請求項１】
デバイスへのデータの入出力を制御するデバイス制御手段を有していて、少なくとも前記デバイスへ入出力する時刻を指示する内容を含む情報を受信する受信手段と、前記受信手段で受信される情報に含まれる前記入出力時刻を示す時刻タグを生成して前記デバイス制御手段へ出力する時刻タグ生成手段と、現在時刻を示す時計信号を出力する計時手段とを備え、前記デバイス制御手段が、前記時刻タグ生成手段から出力される時刻タグで示される入出力時刻と、前記計時手段から出力される時計信号で示される現在時刻とを比較することにより、前記入出力時刻に前記デバイスへ指定されたデータを出力し、又は前記デバイスからデータを入力することが可能であるＩ／Ｏ装置が複数デイジーチェーン接続されたネットワークシステムにおいて、
前記Ｉ／Ｏ装置は１つのマスターノードと１又は複数のスレーブノードに分類され、前記スレーブノードのうちの末端のスレーブノードがアクティブノードとなって、その他の中間のスレーブノードがパッシブノードとなり、通信フレームの生成は前記アクティブノードにおいてのみ行なわれることを特徴とするＩ／Ｏ装置によるネットワークシステムの通信方法。
【請求項２】
前記マスターノードにおいて生成される通信フレームと前記末端のアクティブノードにおいて生成される通信フレームは、通信路に同時に反対方向に流される、請求項１に記載のＩ／Ｏ装置によるネットワークシステムの通信方法。
【請求項３】
前記パッシブノードは、それぞれそこを通過する前記通信フレームから必要なデータを読み取ると同時に、自分の出力データを書き込む、請求項１に記載のＩ／Ｏ装置によるネットワークシステムの通信方法。
【請求項４】
前記マスターノードと前記スレーブノードとの間を往復する通信フレームのタイムスタンプを前記スレーブノードが内部に保持し、前記通信フレームには、それを前記マスターノードが受信した時刻と、次に前記マスターノードから送信される時刻との差に関する時間情報が含まれ、前記スレーブノードは、前記通信フレームが自分を通過したときのタイムスタンプと前記時間情報とから自分と前記マスターノードとの間の通信遅延を算出する、請求項１に記載のＩ／Ｏ装置によるネットワークシステムの通信方法。
【請求項５】
前記通信フレームは、データと誤り訂正符号が付加された１又は複数の固定長データを含み、前記固定長データ単位で処理される、請求項１乃至４のいずれかに記載のＩ／Ｏ装置によるネットワークシステムの通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ／Ｏ装置によるネットワークシステムの通信方法、より詳細には、時刻に同期したデバイスの駆動を実現するＩ／Ｏ装置によるネットワークシステムで、バス型と同様に扱うことができるＩ／Ｏ装置の通信方法に関する。
【背景技術】
【０００２】
ホストコンピューターがＩ／Ｏデバイス駆動を行なう複数のノードに対して指令を出し、この指令を受けた各Ｉ／Ｏノードが、その指令を解釈して、対応するＩ／Ｏデバイスを駆動するデバイス駆動システムが存する。
【０００３】
しかるに、この方法の場合、ホストコンピューター上で処理の揺らぎが生ずると、その揺らぎがそのまま指令発行時間の揺らぎとなるため、正確な時間に指令を発行することは困難である。
【０００４】
また、通信路は必ず遅延を持つため、リモート側（Ｉ／Ｏノード）へ指令が伝わるまでに時間を要する。しかも、通信路の遅延時間に揺らぎがある場合が多く、リモート側へ指令が到達する時間に揺らぎが出る。リモート側がソフトウエア処理等によってデバイスを駆動する場合、このリモート側の処理時間の揺らぎがデバイスの駆動時間の揺らぎとなって現れる。
【０００５】
特に、時間的に連続した制御を行なう場合は、各Ｉ／Ｏノードがそれぞれの内部水晶発振器で動作するため、時間的な誤差（水晶発振器の周波数誤差に起因する）が累積し、ノード間の動作タイミング誤差は、時間と共に大きくなっていく。
【０００６】
更に、従来の方法においては、出力したいデータが、出力対象デバイスへ直接書き込まれるが、出力デバイスの駆動タイミングがＣＰＵによって生成されるため、時間精度は低いものとなる。
【０００７】
また、従来の方法においては、各ノードが持つ水晶発振器の周波数を分周することで目的の周波数を得るようにしている。しかし、水晶発振器の周波数を分周したのみでは、位相が不確定になり、また、水晶発振器の周波数誤差が累積していくという問題がある。
【０００８】
Ｅｔｈｅｒｎｅｔ（登録商標）に代表される、従来のポイントツーポイント型の通信には、一般にスター型トポロジーが使用される。この場合、データの処理は通信フレーム単位で行なわれ、通信フレームの伝送はストア・アンド・フォワードによって行なわれるため、１つの通信フレーム全体が受信されるまで、隣接ノードのデータ転送は開始されない。また、各ノードが通信フレームを生成するタイミングは制御されていない。
【０００９】
このスター型のトポロジーは、配線量が多くなるという欠点がある。また、ストア・アンド・フォワード方式のため、通信フレーム全体を受信するまでエラーの有無を判断することができず、通信フレームの内容を書き換えるには、一旦通信フレーム全体を受信し、通信フレームの中身を書き換え、送信するという手順になる。このため、１つのノードを通過するのに多くの時間が必要となる。また、通信フレームの生成タイミングが制御されていないため、一定時間内に通信フレームが到着することを保証できないという問題もある。
【００１０】
更に、従来の方法においては、通信遅延の計測は、通信遅延を計測したいノード間で通信フレームを往復させることによって行なっていた。このような計測方法の場合、２点間の通信遅延は計測できるが、その中間点の通信遅延を計測することができず、必要なノードの数だけ、計測を繰り返さざるを得ないという欠点がある。
【特許文献１】特公昭５１−１３９７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は上記従来方法における種々の問題点に鑑みてなされたもので、ノード間の時計を正確に同期させ、その時計からデバイスの駆動信号を直接作り出すことを可能にし、以てホストコンピューター上での処理のゆらぎ、通信路の遅延等に関わりなく、ノード間の動作タイミングの同期を図ることができ、また、ノード間の通信フレームの送受信、通信フレームの内容の書き換え等を効率よく行なうことが可能なＩ／Ｏ装置によるネットワークシステムの通信方法を提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために本発明に係る方法においては、デバイスへのデータの入出力を制御するデバイス制御手段を有するＩ／Ｏ装置であって、少なくとも前記デバイスへ入出力する時刻を指示する内容を含む情報を受信する受信手段と、前記受信手段で受信される情報に含まれる前記入出力時刻を示す時刻タグを生成して前記デバイス制御手段へ出力する時刻タグ生成手段と、現在時刻を示す時計信号を出力する計時手段とを備え、前記デバイス制御手段が、前記時刻タグ生成手段から出力される時刻タグで示される入出力時刻と、前記計時手段から出力される時計信号で示される現在時刻とを比較することにより、前記入出力時刻に前記デバイスへ指定されたデータを出力し、又は前記デバイスからデータを入力することが可能であるＩ／Ｏ装置が用いられる。
【００１３】
そして、本発明に係るネットワークシステムの通信方法は、このＩ／Ｏ装置を複数デイジーチェーン接続して構成されたネットワークシステムにおいて、前記Ｉ／Ｏ装置は１つのマスターノードと１又は複数のスレーブノードに分類され、前記スレーブノードのうちの末端のスレーブノードがアクティブノードとなって、その他の中間のスレーブノードがパッシブノードとなり、通信フレームの生成は前記アクティブノードにおいてのみ行なわれることを特徴とするものである。
【００１４】
好ましくは、前記マスターノードにおいて生成される通信フレームと前記末端のアクティブノードにおいて生成される通信フレームは、前記通信路に同時に反対方向に流されるようにする。
【００１５】
また、好ましくは、前記パッシブノードは、それぞれそこを通過する前記通信フレームから必要なデータを読み取ると同時に、自分の出力データを書き込むようにする。
【００１６】
更に、好ましくは、前記マスターノードと前記スレーブノードとの間を往復する通信フレームのタイムスタンプを前記スレーブノードが内部に保持し、前記通信フレームには、それを前記マスターノードが受信した時刻と、次に前記マスターノードから送信される時刻との差に関する時間情報が含まれ、前記スレーブノードは、前記通信フレームが自分を通過したときのタイムスタンプと前記時間情報とから自分と前記マスターノードとの間の通信遅延を算出するようにする。
【００１７】
また更に、好ましくは、前記通信フレームは、データと誤り訂正符号が付加された１又は複数の固定長データを含み、前記固定長データ単位で処理されるようにする。
【発明の効果】
【００１８】
本発明は上記のとおりであって、本発明によれば、通信路やホストコンピューターの処理速度、リモート側のソフトウエアに起因する、リモートＩ／Ｏデバイスの駆動タイミングの不確定性を除去することができ、長時間に渡る連続的なＩ／Ｏを行なっても、タイミング誤差が累積しないという効果がある。
【００１９】
また、デバイスの動作タイミングが時刻のみで決定されるため、通信やソフトウエアの処理時間の影響を受けることなく、正確なタイミングでデバイスが動作できる。時刻に基づいてデバイス駆動クロックの生成を行なうことで、周波数だけではなく、位相も時刻から一意に決めることができる。
【００２０】
バス型の通信路と比較して、高速な通信路を用いることが可能である。スター型トポロジーと比較して、省配線になる。ポイントツーポイントの結線でありながら、バス型と同様に、データのブロードキャストが可能である。このため、ノード同士がマスタを経由することなく通信することができる。
【００２１】
通信遅延時間、通信帯域が保証されており、また、アイソクロナス通信用の帯域を予め予約しておき、空いた帯域を非同期データに割り振るため、等時性データ通信と非同期データ通信の共存が可能である。ノードを通過するのにかかる時間が、ストア・アンド・フォワード型のスイッチと比較して、非常に短くなる。
【００２２】
通信遅延計測を行なうために、マスターノード内で処理したタイムスタンプデータのみを転送するため、通信遅延計測のために多くの帯域を割く必要がない。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して本発明を実施するための最良の形態を説明する。図１及び図２は、本発明に係る方法において用いられるＩ／Ｏ装置を説明するための図であり、図３乃至図１７は、本発明に係るＩ／Ｏ装置によるネットワークシステムの通信方法を説明するための図である。
【００２４】
先ず、図１及び図２を参照して、本発明に係るＩ／Ｏ装置について説明する。図１は、本発明に係るＩ／Ｏ装置のハードウエアの構成を示すブロック図である。Ｉ／Ｏ装置１は、ＣＰＵ２、このＣＰＵ２で実行されるプログラムやＣＰＵ２で使用されるデータを記憶するためのメモリー３、ＣＰＵ２によって制御されネットワーク上の他のＩ／Ｏ装置と通信を行なう通信制御部４、アナログＩ／Ｏ５、デジタルＩ／Ｏ６、及び時計部７を備えている。
【００２５】
通信制御部４、アナログＩ／Ｏ５、デジタルＩ／Ｏ６、時計部７は、それぞれ内部バスで結ばれているが、それとは別のバスによって、時計部７に対して通信制御部４、アナログＩ／Ｏ５、デジタルＩ／Ｏ６がそれぞれ結ばれている。
【００２６】
Ｉ／Ｏ装置１は、通信制御部４を介してネットワークに接続され、ネットワーク上のノードを構成し、ネットワーク上のノードを構成する他のＩ／Ｏ装置との間でデータ通信を行なう。
【００２７】
ネットワーク上のノードを構成する他のＩ／Ｏ装置との間でデータ通信を行なう際に、通信制御部４で実行される処理の手順を図２に示す。通信制御部４は、ネットワークに接続された他のＩ／Ｏ装置とのデータ通信に際し、データを受け取り、データ通信を制御する機能を果たすもので、受信したデータをデコードするデコード部１１、処理するデータと転送するデータを分配するデータ分配部１２、処理する非同期データと等時性データを振り分けるデータ振分部１３、処理した非同期データと等時性データを結合するデータ結合部１４、前記転送するデータに前記結合したデータを埋め込むデータ埋込部１５、転送するデータをエンコードするエンコード部１６を備えている。
【００２８】
ネットワークに接続された他のＩ／Ｏ装置からデータを受信すると、受信したデータは、まずデコード部１１に送られる。デコード部１１は、受信データをデコードし、データ分配部１２にデコードしたデータを送る。
【００２９】
データ分配部１２は、デコード部１１からのデータを受け、該データの中から、自Ｉ／Ｏ装置１で処理するように割り当てられた処理データを抽出してデータ振分部１３に送り、処理データを抽出した後のデータを転送データとしてデータ埋込部１５に送る。
【００３０】
データ振分部１３は、データ分配部１２からの処理データを受け、該処理データが非同期データの場合にはＣＰＵ２に非同期データを送り、等時性データの場合にはアナログＩ／Ｏ５又はデジタルＩ／Ｏ６に等時性データを送る。
【００３１】
一方、自Ｉ／Ｏ装置１で処理されたデータとして、アナログＩ／Ｏ５又はデジタルＩ／Ｏ６からは等時性データが、ＣＰＵ２からは非同期データがデータ結合部１４へ送られる。データ結合部１４は、アナログＩ／Ｏ５又はデジタルＩ／Ｏ６から等時性データを、また、ＣＰＵ２から非同期データを受けると、それらを結合した結合データをデータ埋込部１５に送る。
【００３２】
データ埋込部１５は、データ分配部１２からの転送データと、データ結合部からの結合データを受け、転送データに結合データを埋め込んでエンコード部１６に送る。エンコード部１６は、データ埋込部１５からデータを受けると、そのデータをエンコードし、そのエンコードしたデータを他のＩ／Ｏ装置に送る。
【００３３】
アナログＩ／Ｏ５及びデジタルＩ／Ｏ６は、Ｉ／Ｏ装置１に接続されるデバイス間のデータの入出力のタイミングを制御するためのものである。入力したデータの内容に基づいて駆動するデバイスが接続されている場合には、アナログＩ／Ｏ５及びデジタルＩ／Ｏ６は、デバイスの駆動に必要なデータを出力する。また、入力した外部パルスに基づいて駆動するデバイスが接続されている場合には、アナログＩ／Ｏ５及びデジタルＩ／Ｏ６は、デバイスの駆動に必要なパルスを出力する。
【００３４】
入力データの内容によって駆動するデバイスが接続されている場合、アナログＩ／Ｏ５又はデジタルＩ／Ｏ６に入力されるデータは、そのデバイスの駆動に必要なデータであり、該データには、デバイスへデータを出力する時刻を定めた時刻タグが付されている。
【００３５】
アナログＩ／Ｏ５又はデジタルＩ／Ｏ６は、入力されたデータの時刻タグ以外のデータをデバイスに出力する。入力されたデータは、データ本体と時刻タグとに分離され、データ本体は、出力されずに保持され、時刻タグは、図示しない内蔵の比較器へ送られる。
【００３６】
該比較器には、時計部７から常時出力される現在時刻を示すデータが入力されており、時刻タグが送られてくると、この時刻タグで定められたデバイスへデータを出力する時刻と現在時刻との比較を開始する。そして、出力時刻に達すると、保留しておいたデータをデバイスへ出力する。
【００３７】
また、外部パルスで駆動するデバイスが接続されている場合、アナログＩ／Ｏ５又はデジタルＩ／Ｏ６に入力されるデータは、そのデバイスへ出力するパルスの開始時刻とパルスの間隔を指示する内容を含むデータである。
【００３８】
アナログＩ／Ｏ５又はデジタルＩ／Ｏ６は、定められたパルスの開始時刻と現在時刻を比較し、開始時刻に達すると、パルスをデバイスへ出力する。そして、定められたパルスの間隔で定められた時間と現在時刻のパルス開始からの経過時間を比較し、パルスの間隔で定められた時間が経過すると、次のパルスをデバイスへ出力する処理を繰り返す。
【００３９】
次に、本発明に係るＩ／Ｏ装置によるネットワークシステムの概要について、図３を参照しつつ説明する。本Ｉ／Ｏ装置によるネットワークシステムは、複数のＩ／Ｏ装置が、より対線や同軸ケーブル、光ファイバー等によってデイジーチェーン接続されたネットワークで構成されるネットワークシステムを形成する。
【００４０】
本ネットワークシステムを構成する各Ｉ／Ｏ装置は、１つのマスターノードと、１又は複数のスレーブノードに分類される。マスターノードは、同期源としての時計部を有し、この時計部に基づく同期通信フレームをスレーブノードに供給することができる。
【００４１】
スレーブノードのうち、ネットワーク内で末端に位置して、通信フレームを自ら生成して上流のノードに供給することができるものがアクティブノードとなり、その他のスレーブノードはパッシブノードとなる。
【００４２】
図３に示す例では、同期源としての時計部を有するノード２１がマスターノードとなっている。また、マスターノード２１を除くネットワーク内で末端に位置するノードがアクティブノードとなる。図３に示す例では、ノード２４がアクティブノードとなっている。
【００４３】
そして、その他の各ノードは、マスターノード及びアクティブノードに対するパッシブノードとなる。図３に示す例では、マスターノード２１及びアクティブノード２４を除く各ノード２２、２３は、マスターノード２１及びアクティブノード２４に対するパッシブノードとなる。
【００４４】
また、マスターノード２１を除く各ノードは、マスターノード２１に対するスレーブノードとなり、各スレーブノードは、自ノードが有する時計部を用いてマスターノードから供給される同期通信フレームに同期することができる。
【００４５】
このようにして、本ネットワークシステムは、マスターノード２１が他のノード２２乃至２４に対して同期通信フレームを供給し、各ノードが供給される同期通信フレームに同期して、デバイスの制御等の動作を行なうように構成されている。
【００４６】
そして、図３に示すように、マスターノード２１には、マスターノード２１を制御するためのホストコンピューター２５が接続されており、スレーブノードとなる各ノード２２乃至２４には、制御対象となるデバイス２６が接続され、必要に応じて端末２７が接続される。
【００４７】
次に、本発明に関わるＩ／Ｏ装置によるネットワークシステムにおける通信方法について、図４乃至図１７を参照して説明する。まず、本通信方法で扱う通信フレームについて、図４を参照して説明する。
【００４８】
本通信方法では、マスターノード２１に接続されるホストコンピューター２５で決められた数の通信フレーム単位で処理が繰り返される。以下、繰り返される処理の１周期を１サイクルと呼ぶ。
【００４９】
また、１つの通信フレームは、１又は複数の固定長データから構成され、１つの固定長データは、データと誤り訂正符号から構成される。誤り訂正符号は、データを読み出す際、データの誤りを訂正するために本来のデータとは別に付加される冗長なデータである。
【００５０】
このような構成の通信フレームによる本通信方法の大まかな流れを、図５を参照して説明する。マスターノード２１で生成された通信フレームは、アクティブノード２４に向かって送られていく。また、アクティブノード２４で生成された通信フレームは、マスターノード２１に向かって送られていく。
【００５１】
以下、マスターノード２１からアクティブノード２４に向かう通信フレームを下り通信フレームと呼び、アクティブノード２４から発せられ、マスターノード２１に向かう通信フレームを上り通信フレームと呼ぶ。
【００５２】
マスターノード２１とアクティブノード２４に挟まれたパッシブノード２２、２３は、それ自身が通信フレームを発生させることはない。パッシブノード２２、２３は、マスターノード２１及びアクティブノード２４から発せられた通信フレームに、自分が送信したいデータを埋め込んで隣接ノードへ渡す動作をする。上り通信フレームと下り通信フレームは、同期して生成される。
【００５３】
例えばパッシブノード２２は、下り通信フレームｆ１でマスターノード２１が出したデータを得、上り通信フレームｆ２でアクティブノード２４及びパッシブノード２３が出したデータを得る。
【００５４】
また、パッシブノード２３は、下り通信フレームｆ１でマスターノード２１及びパッシブノード２２が出したデータを得、上り通信フレームｆ２でアクティブノード２４が出したデータを得る。各ノードは、上り通信フレームの内容と下り通信フレームの内容を足し合わせることで、全ノードのデータを揃えることができる。
【００５５】
マスターノード２１とアクティブノード２４における通信フレームの生成は、同時になされる。パッシブノード２２、２３は、通過する通信フレームを読み取りつつ、自分のデータを埋め込む。この処理が、上り下り両方の通信フレームに対して行なわれ、最後に、マスターノード２１とアクティブノード２４がデータを回収する。
【００５６】
図６は、１サイクル分の通信フレームの伝播を示す図である。図中、白地の○、□、△は、マスターノード２１からアクティブノード２４へ向けて流れる各通信フレームを示すもので、この場合、○、□、△の３つの通信フレームで１サイクルとなる。アクティブノード２４からマスターノード２１へ流れる通信フレームを示す黒地の○、□、△で示す通信フレームについても同様である。
【００５７】
このような本通信方法におけるパッシブノード２２、２３におけるフレームに対する処理について、図７を参照して説明する。パッシブノード２２、２３においては、それぞれ予約しておいた領域に、自分の送信データを埋め込み、上り下り両方向へ配布する。
【００５８】
下り通信フレームは、先頭の固定長データから順にデータが埋まっていき、上り通信フレームでは最後の固定長データから順にデータが埋まっていく。そして、両方の通信フレームを合成することで、全ノードからのデータを集めることができる。
【００５９】
次に、パッシブノード２２、２３が、上り通信フレーム及び下り通信フレームに対して行なう処理を、より詳細に説明する。図８は、マスターノード２１から出力される下り通信フレームの一例を示す図である。そこにおいてｆｒａｍｅ０は、同期情報専用の通信フレームである。各ノードは、１通信フレーム中、何番目から何番目までの固定長データを使用する、という固定長データの割り当てを行なう。
【００６０】
図８の下り通信フレームのうち、パッシブノード２２が受信する固定長データを図９に示す。そこにおいて灰色の固定長データが、パッシブノード２２の受信対象となる固定長データである。そのうち、パッシブノード２２が処理する対象となる固定長データを図１０に示す。そこにおいて灰色の固定長データが、パッシブノード２２において書き換えの対象となる固定長データである。各ノードは、自分に割り当てられている固定長データに、自分が出したいデータを書き込んで次のノードへ渡す。図１１は、その下り通信フレームのパッシブノード２３が受信する固定長データを示す図であり、そこにおいて灰色の固定長データが、パッシブノード２３の受信対象となる固定長データである。
【００６１】
図１２は、アクティブノード２４からの上り通信フレームを示す図である。そこにおいてｆｒａｍｅ０の、固定長データの位置＝自ＩＤとなる位置にステータスを埋め込む。また、自分に割り当てられている固定長データの範囲に、自分の出力データを書き込む。図１２の通信フレームのうち、パッシブノード２３が受信する固定長データを図１３に示す。そこにおいて灰色の固定長データが、パッシブノード２３の受信対象となる固定長データである。
【００６２】
図１４は、本通信方法における通信開始までの流れを示す図であり、図１５は、マスターノード２１によるノードのスキャンを示す図である。マスターノード２１は、ＩＰ通信でいうｐｉｎｇのような動作をすることで、ネットワーク上に存在するノード一覧を生成する。
【００６３】
各ノードは、ＴＴＬ＝１の通信フレームを受け取ったときに、自分の中の受信バッファへ転送する。ＴＴＬ＞１の通信フレームの場合は、ＴＴＬを１減らして次のノードへ転送する。ＴＴＬ＝０の場合は廃棄する。
【００６４】
マスターノード２１は、ＴＴＬを１、２、３、・・・と増やしていき、返答が得られなくなった時点で、そこを末端ノードとして認識する。図１５はスレーブノードが２つ（パッシブノードとアクティブノードが各１）の場合の処理である。その場合、ＴＴＬ＝３に設定した通信フレームでは返答が得られないことから、マスターノード２１は、スレーブノードが２台しか存在しないことを知る。
【００６５】
また、返答通信フレームには、各ノード固有の識別子とタイムスタンプを含める。これにより、マスターノード２１は、何番目にどのノードが接続されていて、どれ位の通信遅延があるのかを知ることができる。
【００６６】
各スレーブノードを構成するＩ／Ｏ装置１の時計部７は、マスターノード２１から送信される同期通信フレームに従って調時される。図１６に示すように、Ｉ／Ｏ装置１の時計部７は、同期フレームに含まれるデータと、同期フレームを受信したタイミングを示す受信タイムスタンプとを比較しながら、時間を調整していく。
【００６７】
図１７は、本発明に係るＩ／Ｏ装置によるネットワークシステムの通信開始後における通信遅延計測方法を示す図である。この方法は、同期通信フレームのみを使って、全ノードの通信遅延を一斉に計測する方法である。図中、送信タイムスタンプをＴ、受信タイムスタンプをＲ、マスターノード２１における受信タイムスタンプＲの時間から送信タイムスタンプＴまでの時間をａとすると、通信遅延時間＝（Ｒ−Ｔ−ａ）／２となる。
【００６８】
この発明をある程度詳細にその最も好ましい実施形態について説明してきたが、この発明の精神と範囲に反することなしに広範に異なる実施形態を構成することができることは明白なので、この発明は添付請求の範囲において限定した以外はその特定の実施形態に制約されるものではない。
【図面の簡単な説明】
【００６９】
【図１】本発明に係るＩ／Ｏ装置のハードウエアの構成を示すブロック図である。
【図２】Ｉ／Ｏ装置の通信制御部で実行される処理の手順を示すブロック図である。
【図３】本発明に係るネットワークシステムのネットワーク構成を示す図である。
【図４】本発明に係る通信方法における通信フレームの構成を示す図である。
【図５】本発明に係る通信方法の大まかな流れを示す図である。
【図６】１サイクル分の通信フレームの伝播を示す図である。
【図７】パッシブノードにおけるデータ処理を示す図である。
【図８】マスターノード２１から出力される通信フレームの一例を示す図である。
【図９】パッシブノード２２が受信する固定長データを示す図である。
【図１０】パッシブノード２２が処理する対象となる固定長データを示す図である。
【図１１】パッシブノード２３が受信する固定長データを示す図である。
【図１２】アクティブノード２４からの上り通信フレームを示す図である。
【図１３】パッシブノード２３が受信する固定長データを図１３に示す図である。
【図１４】本発明に係る通信方法における通信開始までの流れを示す図である。
【図１５】マスターノード２１によるノードのスキャンを示す図である。
【図１６】本発明に係るスレーブノードの時計部の時刻の調整方法を示す図である。
【図１７】通信開始後における通信遅延計測方法を示す図である。
【符号の説明】
【００７０】
１    Ｉ／Ｏ装置
２    ＣＰＵ
３    メモリー
４    通信制御部
５    アナログＩ／Ｏ
６    デジタルＩ／Ｏ
７    時計部
１１    デコード部
１２    データ分配部
１３    データ振分部
１４    データ結合部
１５    データ埋込部
１６    エンコード部
２１    マスターノード
２２    パッシブノード
２３    パッシブノード
２４    アクティブノード
２５    ホストコンピューター
２６    デバイス
２７    端末
ｆ１    下り通信フレーム
ｆ２    上り通信フレーム
【図１】
0004726956.tif 000002
【図２】
0004726956.tif 000003
【図３】
0004726956.tif 000004
【図４】
0004726956.tif 000005
【図５】
0004726956.tif 000006
【図６】
0004726956.tif 000007
【図７】
0004726956.tif 000008
【図８】
0004726956.tif 000009
【図９】
0004726956.tif 000010
【図１０】
0004726956.tif 000011
【図１１】
0004726956.tif 000012
【図１２】
0004726956.tif 000013
【図１３】
0004726956.tif 000014
【図１４】
0004726956.tif 000015
【図１５】
0004726956.tif 000016
【図１６】
0004726956.tif 000017
【図１７】
0004726956.tif 000018