(57)【特許請求の範囲】
【請求項１】
上位装置と下位装置に接続され、前記下位装置からデータを受信し、前記上位装置にデータを送信する通信装置であって、
前記下位装置から送信された下位ペイロードデータと、前記下位ペイロードデータのデータ誤り検出のためのフッタデータとを受信し、前記フッタデータを用いて前記下位ペイロードデータにおけるデータ誤りの有無を判断するデータ受信部と、
前記上位装置に送信するペイロードデータを自装置ペイロードデータとして生成するデータ生成部と、
前記データ生成部により生成された自装置ペイロードデータを格納するデータ格納部と、
所定のデータ送信タイミングごとに、前記データ格納部の自装置ペイロードデータと、前記データ受信部により受信された下位ペイロードデータとを連結するデータ連結部と、
前記データ受信部により前記下位ペイロードデータにデータ誤りがないと判断された場合に、前記上位装置が前記自装置ペイロードデータと前記下位ペイロードデータにおけるデータ誤りの有無を正確に判断できる新たなフッタデータを生成し、前記データ受信部により前記下位ペイロードデータにデータ誤りがあると判断された場合に、前記上位装置が前記自装置ペイロードデータと前記下位ペイロードデータにデータ誤りが存在すると判断することになる新たなフッタデータを生成し、生成した新たなフッタデータを前記自装置ペイロードデータと前記下位ペイロードデータに連結し、前記自装置ペイロードデータと前記下位ペイロードデータと前記新たなフッタデータとが連結されている送信データを前記上位装置に送信するデータ送信部とを有することを特徴とする通信装置。
【請求項２】
上位装置と下位装置に接続され、前記下位装置からデータを受信し、前記上位装置にデータを送信する通信装置であって、
前記下位装置から送信された下位ペイロードデータを受信するデータ受信部と、
前記上位装置に送信するペイロードデータを自装置ペイロードデータとして生成するデータ生成部と、
前記データ生成部により生成された自装置ペイロードデータを格納するデータ格納部と、
所定のデータ送信タイミングごとに、前記データ格納部の自装置ペイロードデータと、前記データ受信部により受信された下位ペイロードデータとを連結するデータ連結部と、
前記自装置ペイロードデータと前記下位ペイロードデータとが連結されている送信データを前記上位装置に送信するデータ送信部とを有し、
前記データ受信部は、
データ送信タイミング時の前記データ連結部の処理と並行して前記下位装置から下位ペイロードデータを受信し、
前記データ連結部は、
データ送信タイミングごとに、前記データ格納部から前記自装置ペイロードデータを読み出すとともに、自身の処理と並行して前記データ受信部により受信された下位ペイロードデータを前記自装置ペイロードデータに連結し、
前記通信装置は、更に、
前記データ受信部が前記データ連結部の処理に並行して下位ペイロードデータを受信できるタイミングを前記下位装置に受信要求タイミングとして通知し、通知した受信要求タイミングに適合させた下位ペイロードデータの送信を前記下位装置に行わせるタイミング通知部を有することを特徴とする通信装置。
【請求項３】
前記データ受信部は、
前記下位装置から、前記下位ペイロードデータにヘッダデータが付加されている下位フレームデータを受信し、
前記データ連結部は、
データ送信タイミングごとに、前記下位フレームデータに付加されているヘッダデータとは異なる新たなヘッダデータと、前記データ格納部の自装置ペイロードデータと、前記下位フレームデータ内の前記下位ペイロードデータとを連結し、
前記データ送信部は、
前記新たなヘッダデータと前記自装置ペイロードデータと前記下位ペイロードデータと前記新たなフッタデータとが連結されている送信データを前記上位装置に送信することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記通信装置は、
複数の下位装置に接続されており、
前記データ受信部は、
データ送信タイミング時の前記データ連結部の処理と並行して前記複数の下位装置から複数の下位ペイロードデータを受信し、
前記データ連結部は、
データ送信タイミングごとに、前記データ格納部から前記自装置ペイロードデータを読み出すとともに、自身の処理と並行して前記データ受信部により受信された複数の下位ペイロードデータを前記自装置ペイロードデータに連結することを特徴とする請求項２に記載の通信装置。
【請求項５】
前記通信装置は、更に、
前記データ受信部が前記データ連結部の処理に並行して下位ペイロードデータを受信できるタイミングを下位装置ごとにシフトさせて下位装置ごとに受信要求タイミングとして通知し、通知した受信要求タイミングに適合させた下位ペイロードデータの送信をそれぞれの下位装置に行わせるタイミング通知部を有することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記通信装置は、更に、
前記データ受信部により受信された下位ペイロードデータを蓄積するデータ蓄積部を有し、
前記データ連結部は、
データ送信タイミングごとに、データ送信タイミング時点で前記データ蓄積部に蓄積されている下位ペイロードデータと前記データ格納部の自装置ペイロードデータとを連結することを特徴とする請求項１又は２に記載の通信装置。
【請求項７】
前記データ受信部は、
前記下位装置で生成されたペイロードデータと前記下位装置に接続しているより下位の装置で生成されたペイロードデータが含まれている下位ペイロードデータを受信することを特徴とする請求項１又は２に記載の通信装置。
【請求項８】
前記通信装置は、
複数の下位装置に接続されており、
前記データ受信部は、
前記複数の下位装置から複数の下位ペイロードデータを受信し、
前記データ連結部は、
データ送信タイミングごとに、前記データ格納部の自装置ペイロードデータと前記受信部により受信された複数の下位ペイロードデータとを連結することを特徴とする請求項１又は２に記載の通信装置。
【請求項９】
コンピュータを、請求項１又は２に記載された通信装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の通信周期ごとに通信が行われる通信システムにおいて通信周期の短縮を図る技術に関する。
【背景技術】
【０００２】
以下では、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）ネットワークを例にして説明を進める。
ＦＡネットワークは、１台の指令機器（以下、マスタ装置又はマスタと記す）で複数の制御機器（以下、スレーブ装置又はスレーブと記す）を制御するためのネットワークである。
ＦＡネットワークでは、機器間の接続を省配線で実現するために、各機器がそれぞれ複数の機器と接続し、ツリートポロジーやリングトポロジーを構成する。
このとき直接接続されていない機器間の通信は他の機器を中継することで実現される。
【０００３】
機器間の通信には、マスタから各スレーブに対して指令を送信する下り通信と、各スレーブからマスタに対して制御状態を送信する上り通信がある。
両通信は共通の周期（以下、通信周期）で実施される。
通信周期が短いほど、スレーブには短い周期で指令が通知されるため、スレーブをきめ細かく制御できる。
【０００４】
通信周期は、上り通信で１周期分の通信にかかる時間と、下り通信で１周期分の通信にかかる時間の長いほうの時間となる。
一般に、複数のスレーブからフレームを送信する上り通信のほうが、１台のマスタからフレームを送信する下り通信と比べ１周期分の通信完了にかかる時間が長くなるため、通信周期は上り通信で１周期分の通信にかかる時間となる。
上り通信で１周期分の通信にかかる時間は、図８のように１周期の間に受信する全フレームの受信時間とフレーム間ギャップの合計値となる。
さらにフレームの受信時間は、フレーム長（ヘッダとフッタとペイロードの合計値）を回線速度で割った値となる。
【０００５】
図８の例では、マスタＭにスレーブＳｎ〜スレーブＳ１がシリアルに接続されているＦＡネットワークを想定している。
このＦＡネットワークでは、スレーブＳｎが、Ｓｎ応答が含まれるフレームをマスタに送信し、その後、スレーブＳ（ｎ−１）〜スレーブＳ１の各々が前段にあるスレーブに各々の応答が含まれるフレームを送信する。
また、各スレーブは後段のスレーブから受信したフレームを前段のスレーブに転送し、マスタＭがスレーブＳｎ〜スレーブＳ１のフレームを受信する。
マスタＭがスレーブＳｎのフレームの受信を開始してから、次にスレーブＳｎのフレームの受信を開始するまでが１つの通信周期となる。
【０００６】
次に、通信周期の短縮を実現する従来特許について説明する。
特許文献１では、まずマスタに相当する親局はフレームが到達するまでの伝搬遅延をスレーブに相当する子局に通知する。
これを受け、スレーブに相当する子局は伝搬遅延を考慮し、マスタに相当する親局が受信可能になるタイミングに合わせてフレームを送信する。
これより、フレーム間ギャップを短縮している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−０９３６０７号公報  第８頁、第２、４図
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１を適用した上り通信では、図８のように毎周期各スレーブからフレームが送信されるため、フレームはスレーブ台数分送信される。
この結果、通信周期に相当する上り通信で１周期分の通信にかかる時間には、スレーブ台数分のフレームのヘッダとフッタの受信時間とスレーブ台数分のフレーム間ギャップが含まれる。
これらヘッダ、フッタ、フレーム間ギャップといった通信のオーバヘッドは、各スレーブからのデータを送信するためには必ずしも必要ではないため、削減することで通信周期の短縮を実現できる。
【０００９】
この発明は、上記のような課題を解決することを主な目的の一つとしており、通信のオーバヘッドを削減して、通信周期を短縮することを主な目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る通信装置は、
上位装置と下位装置に接続され、前記下位装置からデータを受信し、前記上位装置にデータを送信する通信装置であって、
前記下位装置から送信された下位ペイロードデータを受信するデータ受信部と、
前記上位装置に送信するペイロードデータを自装置ペイロードデータとして生成するデータ生成部と、
前記データ生成部により生成された自装置ペイロードデータを格納するデータ格納部と、
所定のデータ送信タイミングごとに、前記データ格納部の自装置ペイロードデータと、前記データ受信部により受信された下位ペイロードデータとを連結するデータ連結部と、
前記自装置ペイロードデータと前記下位ペイロードデータとが連結されている送信データを前記上位装置に送信するデータ送信部とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、下位ペイロードデータと自装置ペイロードデータを連結し、下位ペイロードデータと自装置ペイロードデータが連結された状態で上位装置に送信されるため、フレーム間ギャップが発生せず、通信周期を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態２に係るシステム構成例を示す図。
【図３】実施の形態１に係るスレーブのアドレス設定の例を示す図。
【図４】実施の形態１に係るフレームの構成例を示す図。
【図５】実施の形態１に係るフレームの送信例を示す図。
【図６】実施の形態１に係る送信開始時刻の導出原理を説明する図。
【図７】実施の形態１に係る受信開始時刻の導出原理を説明する図。
【図８】従来技術を説明する図。
【図９】実施の形態１に係るフレーム連結部の動作例を示すフローチャート図。
【図１０】実施の形態１に係るフッタ評価部の動作例を示すフローチャート図。
【図１１】実施の形態１に係るフッタ付加部の動作例を示すフローチャート図。
【図１２】実施の形態２に係るフレーム連結部の動作例を示すフローチャート図。
【図１３】実施の形態２に係るフッタ評価部の動作例を示すフローチャート図。
【図１４】実施の形態１及び２に係るスレーブ装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１３】
以下の実施の形態１及び２では、中継を実施するスレーブが中継時に、他のスレーブからの制御状態データを含むフレームをひとつのフレームにまとめて送信することで、フレーム数を削減し、通信のオーバヘッドの分、通信周期を短縮することを説明する。
【００１４】
初めに、実施の形態１及び２に係るシステムの前提を説明する。
まず、実施の形態１及び２で対象とするネットワークは、マスタを根とするツリートポロジーとする。
マスタは、通信周期をポートごとに定義する。
ネットワーク内の全スレーブには下記の手順でアドレスが付与されているとする。
（１）マスタから見て、最も深い葉のスレーブにアドレス１を割り付ける。
（２）直前にアドレスを割り付けたスレーブから最も近い節点のスレーブの手前のスレーブまで順番にアドレスを割り付ける。
（３）最後にアドレスを割り付けたスレーブの親にあたる節点のスレーブから見て、アドレス割付済みのスレーブを除き、最も深い葉のスレーブにアドレスを割り付け、（２）と同様、節点のスレーブの手前のスレーブまで順番にアドレスを割り付ける。
（４）最後にアドレスを割り付けたスレーブの親にあたる節点のスレーブに、子のスレーブがなくなったら、その節点のスレーブにアドレスを割り付け、（２）と同様、最も近い先祖の節点のスレーブの手前のスレーブまで順番にアドレスを割り付ける。
このとき、マスタ−スレーブ間の接続およびスレーブのアドレスは図３のようになる。
また、各スレーブは、各スレーブの枝に対して、子孫スレーブの接続されている各枝の最若アドレス（値が最も小さいアドレス）が大きい順に枝に１から番号を付ける。
例えば、スレーブＳ６については、スレーブＳ５に接続している枝が枝１となり、スレーブＳ４〜Ｓ１に接続している枝が枝２となる。
なお、親のマスタまたはスレーブと接続している枝には番号を付けない。
例えば、スレーブＳ６については、スレーブＳ１３と接続している枝には番号を付けない。
【００１５】
また、実施の形態１及び２で対象とする通信は、全スレーブからマスタへの周期的な制御状態データの送信である。
この通信で使用するフレームは、図４のよう１つのフレームに複数のスレーブからの制御状態データを格納できるとする。
なお、フレームには、ヘッダ、フッタは必ずしも必要ではなく、制御状態データも該当するデータがない場合はその領域を確保せずフレームを短縮する。
さらに、簡略化のため、すべてのフレームのヘッダサイズ、フッタサイズは同じ値とする。
なお、予めマスタは、以下の情報を記憶しているとする。
（ａ）スレーブから最初のフレームを受信開始する時刻
【００１６】
また、予めスレーブは、以下の情報を記憶しているとする。
（ａ）自身のアドレス
（ｂ）自身の各枝の子孫のスレーブの最も若いアドレス（以下、最若アドレス）
（ｃ）ヘッダデータサイズ
（ｄ）自身の制御状態データサイズ
（ｅ）それぞれの子のスレーブからの受信フレームのペイロードサイズ
（ｆ）通信周期
（ｇ）親のマスタまたはスレーブまでの伝搬遅延
（ｈ）子のスレーブからの受信フレームのペイロードを受信してから送信フレーム内の同データ部を送信開始するまでの処理時間（以下、中継遅延）
（ｉ）回線速度
（ｊ）スレーブが送信処理を開始してから実際にスレーブからフレームの送信が開始されるまでの時間（以下、送信処理時間）
【００１７】
上記の前提を踏まえ、実施の形態１及び２を説明する。
【００１８】
実施の形態１．
図１は実施の形態１に係るマスタ装置、スレーブ装置の構成図である。
【００１９】
マスタ装置１（以下、単にマスタともいう）は、周期通信開始前に子のスレーブ装置２（以下、単にスレーブともいう）に受信開始時刻を通知し、周期通信開始後は、毎周期、ネットワーク上の全スレーブからの制御状態データが格納された子のスレーブからのフレームを受信する。
【００２０】
前述のように、本実施の形態ではＦＡネットワークはマスタ１を根とするツリートポロジーにより構成されている。
各スレーブ２は、通信装置の例である。
また、各スレーブ２に接続されている装置のうちツリーにおいて根側の装置を上位装置とし、葉側の装置を下位装置という。
図１の例では、図の中央に示されているスレーブ２（大きく表示されているスレーブ２）については、マスタ１が上位装置となり、図の右端の各スレーブ２が下位装置となる。
なお、上位装置を親、下位装置を子とも表現する。また、直近の上位装置を含め、より根側（上流側）に位置する装置を祖先とも表現し、また、直近の下位装置を含め、より葉側（下流側）に位置する装置を子孫とも表現する。
【００２１】
各スレーブ２は、周期通信開始前に親のマスタまたはスレーブから通知された受信開始時刻より、自身の送信開始時刻の設定と子のスレーブに受信開始時刻の通知を行い、周期通信開始後は、毎周期、子のスレーブから子のスレーブ及び更に下位のスレーブの制御状態データが含まれるフレームを受信し、自身の制御状態データと受信フレームのペイロードを連結したフレームを親のマスタまたはスレーブに送信する。
【００２２】
次に、マスタ１の内部構成例を説明する。
マスタ１において、受信時刻通知部１４は、スレーブから最初のフレームを受信開始する時刻を子のスレーブの送信時刻算出部２３に通知する。
受信部１０は、制御状態データを含むフレームを受信する。
【００２３】
次に、スレーブ２の内部構成例を説明する。
【００２４】
スレーブ２において、タイマ２１は、送信時刻算出部２３より通知される送信開始時刻と通信周期と送信処理時間に従い、指定した送信開始時刻にフッタ付加部２８からフレームを送信できる送信処理開始タイミング（以下、単に送信タイミングという）をフレーム連結部２２に通知する。
【００２５】
フレーム連結部２２は、タイマ２１から通知される送信タイミングで、ヘッダ生成部２５から読み出したヘッダデータ（以下、単にヘッダという）と、データ格納部２６から読み出した自身の制御状態データと送信タイミングに合わせてフッタ評価部２７より送信される子のスレーブからの受信フレームのペイロードデータ（以下、単にペイロードという）を連結した送信予定のフレームからフッタデータ（以下、単にフッタという）を除いたデータ列を、フッタ付加部２８に送信する。
つまり、フレーム連結部２２は、ヘッダ生成部２５からヘッダを入力し、データ格納部２６から自身の制御状態データを入力し、フッタ評価部２７から子のスレーブからのペイロード（子の制御状態データ）を入力し、ヘッダと自身の制御状態データと子の制御状態データを連結する。
なお、後述するフッタ付加部２８においてフッタが付加されて送信フレームとなる。
また、フレーム連結部２２は、自身の制御状態データと子のスレーブの制御状態データを連結し、自身の制御状態データと子のスレーブの制御状態データを送信フレームのペイロードとする。
フレーム連結部２２は、データ連結部の例である。
また、自身の制御状態データは自装置ペイロードデータの例であり、子のスレーブの制御状態データは下位ペイロードデータの例である。
【００２６】
送信時刻算出部２３は、親のマスタまたはスレーブまでの伝搬遅延、親のマスタまたはスレーブの受信時刻通知部１４、２４より通知される親のマスタまたはスレーブの受信開始時刻より算出される送信開始時刻を、タイマ２１と受信時刻通知部２４に通知する。
送信時刻算出部２３は、複数の子のスレーブが存在する場合は、スレーブごとにシフトさせた受信開始時刻を算出する。
【００２７】
受信時刻通知部２４は、フレームの受信開始時刻（受信要求タイミング）を子のスレーブの送信時刻算出部２３に通知する。
上述のように、複数の子のスレーブが存在する場合は、スレーブごとにシフトしている受信開始時刻が通知される（通知する受信開始時刻がスレーブごとにずれている）。
受信開始時刻は、送信時刻算出部２３より通知される送信開始時刻、中継遅延、送信待ち合わせ時間、受信待ち合わせ時間から算出される。
送信待ち合わせ時間は、ヘッダデータサイズ、自身の制御状態データサイズ、それぞれの子のスレーブからの受信フレームのペイロードサイズより算出される、送信フレームの送信開始から送信フレーム内のそれぞれの子のスレーブからの受信フレームのペイロードを送信開始するまでの送信時間である。
また、受信待ち合わせ時間は、ヘッダデータサイズより算出される、子のスレーブからの受信フレームの受信開始から受信フレームのペイロードを受信開始するまでの受信時間である。
受信時刻通知部２４は、算出された、それぞれの子のスレーブからのフレームの受信開始時刻をそれぞれの子のスレーブの送信時刻算出部２３に通知する。
受信時刻通知部２４は、タイミング通知部の例である。
【００２８】
ヘッダ生成部２５は、親のマスタまたはスレーブのアドレス、自身の制御状態データサイズ、それぞれの子のスレーブからの受信フレームのペイロードのサイズより、ヘッダを生成する。
【００２９】
データ格納部２６は、自身の制御状態データを格納する。
【００３０】
フッタ評価部２７は、子のスレーブからのフレームを受信する。
また、フッタ評価部２７は、受信した受信フレームをフレーム連結部２２に送信しつつ、同じ送信フレームにペイロードを格納するすべての子のスレーブからの受信フレームのフッタの正否を評価し、フッタの正否をフッタ付加部２８に通知する。
フッタはチェックサム符号といった誤り検出用データであり、フッタ評価部２７は、ペイロード内のデータ誤りの有無を評価する。データ誤りがなければフッタが正しいという評価になり、データ誤りがある場合はフッタが正しくないという評価になる。
フッタ評価部２７は、データ受信部の例である。
【００３１】
フッタ付加部２８は、親のノード（親のスレーブ又はマスタ）にフレームを送信する。
より具体的には、フッタ付加部２８は、フレーム連結部２２からの送信予定のフレームからフッタを除いたデータ列を入力し、また、フッタ評価部２７からフッタの評価結果を入力する。
そして、フッタ付加部２８は、フッタ評価部２７のフッタ評価において、同じ送信フレームにペイロードを格納するすべての子のスレーブからの受信フレームのフッタが正しい時には正しいフッタを、そうでない場合は意図的に誤ったフッタを生成し、データ列に生成したフッタを付加したフレームを親のノードに送信する。
なお、フッタ付加部２８が生成する正しいフッタとは、ペイロード中のデータ誤りの有無を親のノードが正確に判断できるフッタである。一方、誤ったフッタとは、ペイロード中にデータ誤りがあると親のノードが必ず判断することになるフッタである。
フッタ付加部２８は、データ送信部の例である。
【００３２】
データ生成部３０は、マスタ１に通知する自装置の制御状態を示す制御状態データ（自装置ペイロードデータ）を生成し、データ格納部２６に格納する。
【００３３】
次に、本実施の形態に係る動作について説明する。
本実施の形態では、各スレーブの送信開始時刻を指定したあと、各スレーブが周期通信を実施する。
【００３４】
まず、各スレーブの送信開始時刻を指定する手順を説明する。
【００３５】
初めに、マスタ１の受信時刻通知部１４は、スレーブから最初のフレームを受信開始する時刻を子のスレーブの送信時刻算出部２３に通知する。
【００３６】
スレーブ２の送信時刻算出部２３は、図６の関係より、以下の計算式に従って、親のマスタまたはスレーブまでの伝搬遅延Ｔｐｒｏｐａｇａｔｉｏｎ＿ｓ０、親のマスタまたはスレーブの受信開始時刻Ｔｒｅｃｅｉｖｅ＿ｓ０より、送信開始時刻Ｔｔｒａｎｓｍｉｔ＿ｓ０を算出する。
【００３７】
【数１】
0005393528.tif 000002
【００３８】
子のスレーブ２の送信時刻算出部２３は算出した送信開始時刻Ｔｔｒａｎｓｍｉｔ＿ｓ０をタイマ２１と受信時刻通知部２４に通知する。
スレーブ２の受信時刻通知部２４は、図７の関係より、送信時刻算出部２３より通知される送信開始時刻Ｔｔｒａｎｓｍｉｔ＿ｓ０、中継遅延Ｔｒｅｌａｙ＿ｓ０、送信待ち合わせ時間Ｔｄａｔａ＿ｔ＿ｓ１〜Ｔｄａｔａ＿ｔ＿ｓｎ、各枝からの受信フレームの受信待ち合わせ時間Ｔｄａｔａ＿ｒ＿ｓ１〜Ｔｄａｔａ＿ｒ＿ｓｎ、すべての子のスレーブに子のスレーブからのフレームの受信開始時刻Ｔｒｅｃｅｉｖｅ＿ｓ１〜Ｔｒｅｃｅｉｖｅ＿ｓｍを算出し、これをそれぞれの子のスレーブに通知する。
ｉ番目の枝の子のスレーブからのフレームの受信開始時刻Ｔｒｅｃｅｉｖｅ＿ｓｉは下記の計算により算出できる。
【００３９】
【数２】
0005393528.tif 000003
【００４０】
ただし、上式において、各変数はそれぞれ以下のとおりとする。
Ｄｈｅａｄｅｒ：ヘッダデータサイズ
Ｄｓ０：自身の制御状態データサイズ
Ｄｓｌ：ｌ番目の枝の子のスレーブからの受信フレームのデータ部のサイズ
Ｔｒ：回線速度
【００４１】
送信開始時刻が決まると、各スレーブは通信周期に従い、周期通信が実施可能になる。
【００４２】
なお、図７では、スレーブ（Ｓ０）にスレーブ（Ｓ１）とスレーブ（Ｓ２）が接続され、スレーブ（Ｓ０）とスレーブ（Ｓ１）との接続が枝１であり、スレーブ（Ｓ０）とスレーブ（Ｓ２）との接続が枝２である。
なお、図７のスレーブ（Ｓ０）、スレーブ（Ｓ１）及びスレーブ（Ｓ２）の表記は、他の図とは関連していない。
【００４３】
スレーブ（Ｓ０）は、Ｔｔｒａｎｓｍｉｔ＿ｓ０にて上位装置に対してフレームの送信（ヘッダの送信）を開始する。
スレーブ（Ｓ０）は、ヘッダに続けてスレーブ（Ｓ０）の制御状態を示すペイロードを送信する。また、スレーブ（Ｓ０）は上位装置へのフレームの送信と並行して、スレーブ（Ｓ１）及びスレーブ（Ｓ２）からのフレームの受信を行う。
より具体的には、上位装置へヘッダを送信しているときに並行してスレーブ（Ｓ１）からのフレームのヘッダの受信を開始し（Ｔｒｅｃｅｉｖｅ＿ｓ１）、上位装置へペイロード（Ｓ０の制御状態）を送信している間にスレーブ（Ｓ１）からのヘッダの受信を完了し、スレーブ（Ｓ１）からのペイロード（Ｓ１の制御状態）の受信を開始する。
スレーブ（Ｓ１）からのヘッダの受信に要する時間が、Ｔｄａｔａ＿ｒ＿ｓ１である。
また、上位装置へのヘッダの送信開始からペイロード（Ｓ０の制御状態）の送信完了までに要する時間（ペイロード（Ｓ１の制御状態）の送信が開始するまでの時間）が、Ｔｄａｔａ＿ｔ＿ｓ１である。
また、ペイロード（Ｓ０の制御状態）の送信が完了すると、スレーブ（Ｓ１）からのペイロード（Ｓ１の制御状態）の受信と並行して、受信した部分から順にスレーブ（Ｓ１）からのペイロード（Ｓ１の制御状態）を上位装置に送信する。
スレーブ（Ｓ１）からのペイロード（Ｓ１の制御状態）の受信を開始してから上位装置への送信を開始するまでの時間がＴｒｅｌａｙ＿ｓ０である。
また、スレーブ（Ｓ０）は、スレーブ（Ｓ１）からのペイロード（Ｓ１の制御状態）を上位装置に送信している間に、スレーブ（Ｓ１）からのフッタを受信し、フッタの受信を完了する。
また、スレーブ（Ｓ０）は、ペイロード（Ｓ０の制御状態）の送信及びスレーブ（Ｓ１）からのペイロード（Ｓ１の制御状態）の受信と並行して、スレーブ（Ｓ２）からもフレームのヘッダの受信を開始する（Ｔｒｅｃｅｉｖｅ＿ｓ２）。
スレーブ（Ｓ２）からのヘッダの受信に要する時間が、Ｔｄａｔａ＿ｒ＿ｓ２である。
また、スレーブ（Ｓ０）は、スレーブ（Ｓ１）からのペイロード（Ｓ１の制御状態）の上位装置への送信が完了したら、スレーブ（Ｓ２）からのペイロード（Ｓ２からの制御状態）を受信しながら、受信した部分から順にスレーブ（Ｓ２）からのペイロード（Ｓ２からの制御状態）を上位装置に送信する。
スレーブ（Ｓ２）からのペイロード（Ｓ２の制御状態）の受信を開始してから上位装置への送信を開始するまでの時間がＴｒｅｌａｙ＿ｓ０である。
また、上位装置へのヘッダの送信開始からペイロード（Ｓ１の制御状態）の送信完了までに要する時間（ペイロード（Ｓ２の制御状態）の送信が開始するまでの時間）が、Ｔｄａｔａ＿ｔ＿ｓ２である。
そして、スレーブ（Ｓ０）は、スレーブ（Ｓ２）からのペイロード（Ｓ２からの制御状態）の送信が完了すると、フッタを送信して１つのフレームの送信を完了する。
【００４４】
このような送信及び受信の時間関係において、上記の式により、フレームの受信開始時刻が算出される。
【００４５】
次に、各スレーブが周期通信を実施する手順を図９〜図１１を参照して説明する。
図９はフレーム連結部２２の動作例（データ連結ステップ）を示し、図１０はフッタ評価部２７の動作例（データ受信ステップ）を示し、図１１はフッタ付加部２８の動作例（データ送信ステップ）を示す。
【００４６】
各スレーブは周期的に、フレームを送信する。
フッタ評価部２７は、図１０に示すように、子のスレーブからのフレームを受信し（Ｓ１００１）、受信した受信フレームの複製を生成し、一方の受信フレームをフレーム連結部２２に送信する（Ｓ１００２）。
そして、フッタ評価部２７は、他方の受信フレームを用いてフッタの正否を評価する（Ｓ１００３）。より具体的には、フッタ評価部２７は、送信フレームにペイロードを格納するすべての子のスレーブからの受信フレームのフッタの正否を評価する。
つまり、当該スレーブに複数の子のスレーブがパラレルに接続されている場合は、複数の受信フレームを受信することになるが、フッタ評価部２７はこれら複数の受信フレームに含まれている子のスレーブの制御状態データを１つのフレームのペイロードとして統合するため、フレームごとにフッタの正否を評価する。
そして、フッタ評価部２７は、フッタの正否の評価結果をフッタ付加部２８に通知する（Ｓ１００４）。
【００４７】
フッタ評価部２７の動作と並行して、タイマ２１はフレーム連結部２２に送信タイミングを通知する。
タイマ２１からの送信タイミングの通知前に、ヘッダ生成部２５は次の周期に送信するフレームのヘッダを生成している。また、同様に、データ生成部３０も送信タイミングの通知前に、次の周期に送信する自身の制御状態データを生成し、データ格納部２６に格納している（データ生成ステップ、データ格納ステップ）。
フレーム連結部２２は、図９に示すように、タイマ２１から送信タイミングを通知されると（Ｓ９０１）、ヘッダ生成部２５からヘッダを読み出し（Ｓ９０２）、また、データ格納部２６から自身の制御状態データを読み出す（Ｓ９０３）。
次に、フレーム連結部２２は、ヘッダ生成部２５から読み出したヘッダと、データ格納部２６から読み出した自身の制御状態データを連結する（Ｓ９０４）。
また、フレーム連結部２２は、フッタ評価部２７から子のフレームを入力する度に（Ｓ９０５でＹＥＳ）、入力したフレーム中の制御状態データを最後尾の制御状態データに連結する動作（Ｓ９０６）を繰り返しながら、ヘッダ、制御状態データを順にフッタ付加部２８に出力する（Ｓ９０７）。フレーム連結部２２からフッタ付加部２８に出力されるデータ列は、親のスレーブ又はマスタに送信予定のフレームからフッタを除いたデータ列である。
また、前述したように、子のスレーブからは、送信タイミングに合わせてフレームが送信されるので、フレーム連結部２２は、自身の制御状態データに子の制御状態データを連結できるタイミングでフッタ評価部２７より子のスレーブからの制御状態データを受け取ることができる。
なお、子のフレームに含まれるヘッダは、フレーム連結部２２、フッタ評価部２７のいずれが取り除いてもよいが、フレーム連結部２２からフッタ付加部２８に出力されるデータ列には子のフレーム中のヘッダは含まれない。
そして、フレーム連結部２２は、全てのデータ列をフッタ付加部２８に出力するまでＳ９０５以降の処理を繰り返し、全てのデータ列を出力したら、処理を終了する。
【００４８】
フッタ付加部２８は、図１１に示すように、フッタ評価部２７からフッタの評価結果を入力し（Ｓ１１０１）、また、フレーム連結部２２から送信予定のフレームからフッタを除いたデータ列を入力する（Ｓ１１０２）。
また、フッタ付加部２８は、フッタ評価部２７からのフッタの評価結果を確認し（Ｓ１１０３）、同じ送信フレームにペイロードを格納するすべての子のスレーブからの受信フレームのフッタが正しい時（Ｓ１１０３でＹＥＳ）には、フレーム連結部２２から入力したデータ列に基づき、正しいフッタを生成し、生成した正しいフッタをデータ列に付加する（Ｓ１１０４）。
一方、いずれかのフッタが正しくないという評価結果の場合（Ｓ１１０３でＮＯ）は、フッタ付加部２８は、意図的に誤ったフッタを生成し、生成した誤ったフッタをデータ列に付加する（Ｓ１１０５）。
そして、フッタ付加部２８は、フッタが付加されたフレームを親のノードに送信する（Ｓ１１０６）。
【００４９】
この結果、本実施の形態では、上り通信は図５のように実施される。
図５は、スレーブＳ４において枝が分岐しており、スレーブＳ２−スレーブＳ１に至る枝と、スレーブＳ３に至る枝の２つがある。
また、図５では、図の簡明化のために、上段では、スレーブＳ３からスレーブＳ４へのフレームとスレーブＳ４からマスタＭへのフレームのみを表している。
しかしながら、実際には、スレーブＳ３からスレーブＳ４へのフレーム（Ｓ３制御情報が含まれる）の送信と並行して、スレーブＳ１からスレーブＳ２へフレーム（Ｓ１制御情報が含まれる）が送信され、スレーブＳ２からスレーブＳ４へフレーム（Ｓ１制御情報とＳ２制御情報が含まれる）が送信されている。図５の上段では、スレーブＳ１からスレーブＳ２へのフレーム、スレーブＳ２からスレーブＳ４へのフレームの図示を省略している。
スレーブＳ４は、自身の制御情報にスレーブＳ３から受信したＳ３制御情報とスレーブＳ２から受信したＳ２制御情報とＳ１制御情報を連結したフレームをマスタＭに送信する。
同様に、図５の下段では、スレーブＳ１からスレーブＳ２へのフレーム、スレーブＳ２からスレーブＳ４へフレーム、スレーブＳ４からマスタＭへのフレームのみを表しているが、並行してスレーブＳ３からスレーブＳ４へのフレーム送信が行われている（図５の下段では図示を省略している）。
【００５０】
図５に示すように、本実施の形態によれば、マスタＭはフレーム間ギャップなくスレーブＳ１〜Ｓ４の制御情報を連続して受信することができ、また、スレーブＳ１〜Ｓ３がフレームを送信する際に付加したヘッダ及びフッタが省略されているので、ヘッダ及びフッタ分の通信オーバヘッドを削減している。
【００５１】
通信周期ＴＣｙｃはマスタＭでフレームを受信する間隔となり、本実施の形態では、以下の式で表される。
【００５２】
【数３】
0005393528.tif 000004
【００５３】
なお、上式において、各変数はそれぞれ以下のとおりとする。
Ｄｈｅａｄｅｒ：ヘッダデータサイズ
Ｄｆｏｏｔｅｒ：フッタデータサイズ
Ｄｇａｐ：フレーム間ギャップ
Ｄｓｔａｔｕｓ＿ｉ：アドレスｉのスレーブの制御状態データサイズ
ｎ：スレーブ台数
【００５４】
これに対して、特許文献１での通信周期Ｔ’Ｃｙｃは以下の式で表される。
【００５５】
【数４】
0005393528.tif 000005
【００５６】
このため、本実施の形態によれば、通信周期を（Ｄｈｅａｄｅｒ＋Ｄｆｏｏｔｅｒ＋Ｄｇａｐ）×（ｎ−１）／Ｔｒ
だけ短縮できる。
【００５７】
つまり、本実施の形態に係るスレーブ装置では、子のスレーブからのペイロードと自装置のペイロードを連結し、子のスレーブのペイロードと自装置のペイロードが連結された状態で親のノードに送信されるため、フレーム間ギャップが発生せず、通信周期を短縮することができる。
【００５８】
また、各スレーブにおいて、子のスレーブからのフレームに含まれているヘッダ及びフッタを除去することにより、マスタでは不要なヘッダ、フッタを省略することができ、これによっても通信周期を短縮することができる。
【００５９】
本実施の形態ではその他のメリットとして、以下３件が挙げられる。
（１）各スレーブに所定のアドレス割り付けを実施することで、スレーブは枝１に接続されているスレーブ台数を（自身のアドレス−枝１の最若アドレス）より算出でき、枝ｉ（ただし、ｉ≧２）に接続されているスレーブ台数を｛枝（ｉ−１）の最若アドレス−枝ｉの最若アドレス｝より算出できる。この結果、各スレーブからの制御状態データサイズが同じである場合、受信フレームのペイロードサイズの管理が容易になる。
（２）子のスレーブからフッタの誤ったフレームを受信した場合、送信フレームのフッタを誤ったものにすることで、先祖のマスタもしくはスレーブにペイロードに誤ったデータが含まれている可能性を通知することができるようになる。
（３）マスタはフレームを受信完了した段階で、初めて各スレーブからの制御状態データを取り扱う。この結果、フレームの先頭に連結された制御状態データほど、取り扱いまでの時間は長く、データの鮮度が落ちる。また、階層の深いスレーブほど、中継遅延、伝搬遅延により送信から到達までにかかる時間が長くなり、同様にデータの鮮度が落ちる。定義した通信タイミングでは、階層の深いスレーブからの制御状態データほど、フレームの後部に連結されるため、突出して鮮度の低いデータがなくなる。この結果、ほぼ同タイミングでの制御状態データが得られるため、データ取得時刻なしでもスレーブ間の連動制御実施時の精度が向上する。
例えば、図５の例において、Ｓ１制御情報はスレーブＳ２、スレーブＳ４を経由してマスタＭに到達するため、送信元のスレーブから送出された後マスタＭに到達するまでの時間がＳ４制御情報に比べて長い。このため、スレーブ１はスレーブ１〜スレーブ４間の遅延を考慮した送信タイミングでＳ１制御情報を送信している。
ここで、図５の順序を代えて、例えば、スレーブＳ４からＳ１制御情報が最初に送信されるようにすると、スレーブ１は図５に示されるＳ１制御情報の送信タイミングよりも大幅に早期にＳ１制御情報を送信しなければならない。
しかしながら、本実施の形態では、スレーブＳ４からのペイロードの送信順序をＳ１制御情報を最後にし、スレーブＳ４にＳ１制御情報が受信する前にＳ４制御情報〜Ｓ２制御情報を送信することで、スレーブＳ１〜スレーブＳ４間の遅延を吸収し、突出して鮮度が低いデータが出るのを回避している。
【００６０】
以上、本実施の形態では、
ツリートポロジーを構成し、周期通信を実施するネットワークにおいて、
予め送信開始時刻、通信周期、すべての子の通信装置からの受信フレームのヘッダサイズ、ペイロードサイズを記憶しており、
送信開始時刻と通信周期と送信処理時間に従い、フレーム連結部に周期的に送信タイミングを通知するタイマと、
タイマから通知される送信タイミングで、送信タイミングに合わせて受信する子の通信装置からの受信フレームのペイロードを連結し、送信フレームとして送信するフレーム連結部
を備える通信装置を説明した。
【００６１】
また、本実施の形態では、
送信開始時刻の算出のために、
予め親の通信装置までの伝搬遅延、子の通信装置からの受信フレームのペイロードを受信してから送信フレーム内の同データ部を送信開始するまでの処理時間、送信フレームのヘッダサイズを記憶しており、
親の通信装置までの伝搬遅延と、親の通信装置の受信時間通知部より通知される親の通信装置の受信開始時刻より、算出される送信開始時刻をタイマと受信時刻算出部に通知する送信時刻算出部と、
送信時刻算出部より通知される送信開始時刻と、
子の通信装置からの受信フレームのペイロードを受信してから送信フレーム内の同データ部を送信開始するまでの処理時間と、
送信フレームのヘッダサイズ、子の通信装置からの受信フレームのペイロードサイズより算出される、送信フレームの送信開始から送信フレーム内の子の通信装置からの受信フレームのペイロードを送信開始するまでの送信時間と、
子の通信装置からの受信フレームのヘッダサイズより算出される、子の通信装置からの受信フレームの受信開始から受信フレームのペイロードを受信開始するまでの受信時間から算出される受信開始時刻を、それぞれの子の通信装置の送信時刻算出部に通知する受信時刻通知部と、
送信時刻算出部より通知される送信開始時刻と通信周期と送信処理時間に従い、フレーム連結部に周期的に送信タイミングを通知するタイマ
を備える通信装置を説明した。
【００６２】
また、本実施の形態では、
送信先アドレス、フレーム長等を含むヘッダを備えるフレームを取り扱うために、
予め親の通信装置のアドレス、送信フレームのヘッダサイズを記憶しており、
親の通信装置のアドレス、送信フレームのヘッダサイズ、子の通信装置からの受信フレームのペイロードサイズよりヘッダを生成するヘッダ生成部と、
タイマから通知される送信タイミングで、ヘッダ生成部から読み出したヘッダと送信タイミングに合わせて受信する子の通信装置からの受信フレームのペイロードを連結し、送信フレームとして送信するフレーム連結部
を備える通信装置を説明した。
【００６３】
また、本実施の形態では、
自身からの通信を実現するために、
自身の送信データを格納するデータ格納部と、
タイマから通知される送信タイミングで、データ格納部から読み出した自身の送信データと送信タイミングに合わせて受信する子の通信装置からの受信フレームのペイロードを連結し、送信フレームとして送信するフレーム連結部
を備える通信装置を説明した。
【００６４】
また、本実施の形態では、
チェックサム符号等を含むフッタを備えるフレームを取り扱うために、
子のスレーブからの受信フレームをフレーム連結部に送信しつつ、同じ送信フレームにペイロードを格納するすべての子のスレーブからの受信フレームのフッタの正否を評価し、フッタの正否をフッタ付加部に通知するフッタ評価部と、
タイマから通知される送信タイミングで、送信タイミングに合わせてフッタ評価部より送信される子の通信装置からの受信フレームのペイロードを連結した送信予定のフレームからフッタ部を除いたデータ列を、フッタ付加部に送信するフレーム連結部と、
フレーム連結部からの送信予定のフレームからフッタ部を除いたデータ列に、フッタ評価部からのフッタの正否に応じて、同じ送信フレームにペイロードを格納するすべての子のスレーブから受信したフレームのフッタが正しい時には正しいフッタを、そうでない場合は意図的に誤ったフッタを生成しつつ、データ列に生成したフッタを付加したフレームを送信するフッタ付加部
を備える通信装置を説明した。
【００６５】
実施の形態２．
以上の実施の形態１では、中継を実施するスレーブでは各スレーブの通信タイミングを定義し、スレーブ内でフレームをバッファリングさせずに１つのフレームとして連結し、送信する方法であった。
本実施の形態では、次に予め子のスレーブからフレームを受信しておき、タイマの指定する送信タイミングで、フレームを送信する例を示す。
【００６６】
図２は、実施の形態２におけるマスタ、スレーブの構成図である。
図１と同じ符号の要素は、図１で示したものと同様であるため説明を省略する。
図２では、子のスレーブからの１周期分のフレームを格納するバッファ２９が追加されている。バッファ２９はデータ蓄積部の例である。
本実施の形態では、タイマ２１は、任意のタイミングで開始する通信周期に従い、フレーム連結部２２に送信タイミングを通知する。
また、フレーム連結部２２は、タイマ２１から通知される送信タイミングで、バッファ２９に格納されている子のスレーブからの受信フレームのペイロードとデータ格納部２６から読み出した自装置の制御状態データとヘッダ生成部２５から読み出したヘッダを連結し、連結したデータ列をフッタ付加部２８に出力する。
また、本実施の形態では、送信時刻算出部２３と受信時刻通知部２４は不要となる。
【００６７】
次に、本実施の形態に係る動作を図１２及び図１３を参照して説明する。
図１２は本実施の形態に係るフレーム連結部２２の動作（データ連結ステップ）を示し、図１３は本実施の形態に係るフッタ評価部２７の動作（データ受信ステップ）を示す。
なお、図１２において図９と同じステップ番号が付されているステップは図９と同じ処理が行われ、また、図１３において図１０と同じステップ番号が付されているステップは図１０と同じ処理が行われる。
また、フッタ付加部２８の動作（データ送信ステップ）は実施の形態１で示した図１１と同様である。
【００６８】
各スレーブは周期的に、フレームを送信する。
フレームを受信した親のスレーブのフッタ評価部２７は（Ｓ１００１）、子のスレーブからの受信フレームを複製し、一方のフレームをバッファ２９に送信し（Ｓ１３０１）、他方のフレームを用いてフッタの正否を評価する（Ｓ１００３）。この処理は、実施の形態１と同様に、同じ送信フレームにペイロードを格納するすべての子のスレーブからの受信フレームのフッタの正否を評価する。
その後、フッタ評価部２７は、フッタの正否の評価結果をフッタ付加部２８に通知する（Ｓ１００４）。
【００６９】
タイマ２１はフレーム連結部２２に任意のタイミングで送信タイミングを通知し、その後、通信周期に従い、周期的に送信タイミングを通知する。
タイマ２１からの送信タイミングの通知前に、ヘッダ生成部２５は次の周期に送信するフレームのヘッダを生成している。また、同様に、データ生成部３０も送信タイミングの通知前に、次の周期に送信する自身の制御状態データを生成し、データ格納部２６に格納している（データ生成ステップ、データ格納ステップ）。
フレーム連結部２２は、図１２に示すように、タイマ２１から送信タイミングを通知されると（Ｓ９０１）、ヘッダ生成部２５からヘッダを読み出し（Ｓ９０２）、また、データ格納部２６から自身の制御状態データを読み出す（Ｓ９０３）。
次に、フレーム連結部２２は、バッファ２９から子のスレーブからの受信フレームの受信を開始する（Ｓ１２０１）。
そして、フレーム連結部２２は、ヘッダ生成部２５から読み出したヘッダと、データ格納部２６から読み出した自身の制御状態データとバッファ２９から読み出した子のスレーブからの受信フレームのペイロードを順番に連結する（Ｓ１２０２）。
最後に、フレーム連結部２２は、連結したデータ列をフッタ付加部２８に出力する（Ｓ９０７）。フレーム連結部２２からフッタ付加部２８に出力されるデータ列は、親のスレーブ又はマスタに送信予定のフレームからフッタを除いたデータ列である。
【００７０】
フッタ付加部２８は、実施の形態１と同様に、フレーム連結部２２からの送信予定のフレームからフッタを除いたデータ列に、フッタ評価部２７からのフッタの正否に応じて、同じ送信フレームにペイロードを格納するすべての子のスレーブからの受信フレームのフッタが正しい時には正しいフッタを、そうでない場合は意図的に誤ったフッタを生成しつつ、データ列に生成したフッタを付加したフレームを送信する。
【００７１】
以上の手順により、本実施の形態においても、実施の形態１と同等の通信周期を実現できる。
また、本実施の形態によれば、送信開始時刻を厳密に管理しなくても、短縮した周期通信を実現することができる。
【００７２】
以上、本実施の形態では、
厳密な送信時刻管理を回避するために、
予め通信周期を記憶しており、
通信周期に従い、フレーム連結部に周期的に送信タイミングを通知するタイマと
子の通信装置からの受信フレームを格納するバッファと、
タイマから通知される送信タイミングで、バッファから子の通信装置からのすべての受信フレームを読み出し、子の通信装置からのすべての受信フレームのペイロードを連結し、送信フレームとして送信するフレーム連結部
を備える通信装置を説明した。
【００７３】
最後に、実施の形態１及び２に示したスレーブ装置２のハードウェア構成例について説明する。
図１４は、実施の形態１及び２に示すスレーブ装置２のハードウェア資源の一例を示す図である。
なお、図１４の構成は、あくまでもスレーブ装置２のハードウェア構成の一例を示すものであり、スレーブ装置２のハードウェア構成は図１４に記載の構成に限らず、他の構成であってもよい。
【００７４】
図１４において、スレーブ装置２は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６と接続していてもよい。また、磁気ディスク装置９２０の代わりに、フラッシュメモリ、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１及び２で説明した「データ格納部」及び実施の形態２で説明した「バッファ」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００７５】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【００７６】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１を利用しながら実行する。
プログラム群９２３のプログラムには、例えば、ラダープログラムが含まれる。
【００７７】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００７８】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
スレーブ装置２の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００７９】
上記プログラム群９２３には、実施の形態１及び２の説明において「〜部」（「データ格納部」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００８０】
ファイル群９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の連結」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００８１】
また、実施の形態１及び２の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１及び２で説明したフローチャートに示すステップ、手順、処理により、本発明に係る通信方法を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１及び２の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」の手順や方法をコンピュータに実行させるものである。
【００８２】
このように、実施の形態１及び２に示すスレーブ装置２は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００８３】
１  マスタ装置、２  スレーブ装置、１０  受信部、１４  受信時刻通知部、２１  タイマ、２２  フレーム連結部、２３  送信時刻算出部、２４  受信時刻通知部、２５  ヘッダ生成部、２６  データ格納部、２７  フッタ評価部、２８  フッタ付加部、２９  バッファ、３０  データ生成部。
【図１】
0005393528.tif 000006
【図２】
0005393528.tif 000007
【図３】
0005393528.tif 000008
【図４】
0005393528.tif 000009
【図５】
0005393528.tif 000010
【図６】
0005393528.tif 000011
【図７】
0005393528.tif 000012
【図８】
0005393528.tif 000013
【図９】
0005393528.tif 000014
【図１０】
0005393528.tif 000015
【図１１】
0005393528.tif 000016
【図１２】
0005393528.tif 000017
【図１３】
0005393528.tif 000018
【図１４】
0005393528.tif 000019