(57)【要約】【課題】  ＩＥＥＥ１３９４ネットワーク上に接続されたマスタと全スレーブが制御周期内に制御データの授受を行う同期通信システムにおいて、制御周期によらず、通信遅延を一定にする。【解決手段】  マスタは、同期単位、制御周期、スレーブ数に基いて、マスタの制御データの送受信のタイミングや制御処理のタイミングが設定された同期通信管理テーブルを作成する。また、その同期通信管理テーブルに基いてスレーブの制御データの送受信のタイミングや指令実行や応答作成のタイミングが設定された同期通信情報データテーブルを作成しスレーブに通知する。マスタとスレーブは、それらの同期通信管理テーブルおよび同期通信情報データテーブルに従って通信する。  また、制御周期が複数ある場合は、タイミングを同期単位だけずらした同期通信管理テーブルおよび同期通信情報データテーブルを作成する。【選択図】図１
2008048395.tif 000002
【特許請求の範囲】
【請求項１】
１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信するマスタ・スレーブ同期通信システムにおいて、
前記マスタは、全ての前記スレーブとの通信に必要なアイソクロナスサイクル単位での時間を意味する同期単位を、前記スレーブからの受信の場合には前記制御周期の最後から設定し、前記スレーブへの送信の場合には前記同期単位を前記制御周期の最初から設定した同期通信管理テーブルを備え、
前記スレーブは、前記マスタへの送信の場合には前記同期単位を前記制御周期の最後から設定し、前期マスタからの受信の場合には前記同期単位を前記制御周期の最初から設定した同期通信情報データテーブルを備えた
ことを特徴とするマスタ・スレーブ同期通信システム。
【請求項２】
前記マスタが備える前記同期通信管理テーブルは、前記マスタが前記スレーブへの指令データを作成する制御処理を起動するタイミングと、前記マスタが送信する前記スレーブの数と前記スレーブ番号および前記マスタが受信する前記スレーブの数と前記スレーブ番号とをアイソクロナスサイクル毎に保持し、
前記スレーブが備える前記同期通信情報データテーブルは、前記スレーブが、前記マスタから指令データを受信する前記タイミングと、前記指令データを実行する前記タイミングと、前記マスタへの応答データを作成する前記タイミングと、前記マスタへ応答データを送信する前記タイミングとを保持する、
ことを特徴とする請求項１に記載のマスタ・スレーブ同期通信システム。
【請求項３】
前記マスタに備えられたスレーブ割付部が、あらかじめ設定された前記同期単位と前記制御周期と、前記同期単位内において通信する前記スレーブ数と、前記スレーブをユニークに指定するスレーブ番号の配列とから構成される制御周期データをもとに前記同期通信管理テーブルを作成し、該同期通信管理テーブルに基づいて前記同期通信情報データテーブルを作成する
ことを特徴とする請求項１に記載のマスタ・スレーブ同期通信システム。
【請求項４】
前記マスタは、前記同期通信管理テーブルに従い、前記制御処理を起動するタイミングを検出すると前記制御処理を実行し、前記スレーブからの受信タイミングを検出すると受信を実行し、前記スレーブへの送信タイミングを検出すると送信を実行し、
前記スレーブは、前記同期通信情報データテーブルに従い、前記指令データを受信するタイミングを検出すると前記マスタからの指令データを受信し、前記指令データを実行するタイミングを検出すると前記指令データの処理を実行し、前記応答データを作成するタイミングを検出すると前記応答データを作成し、前記応答データを送信するタイミングを検出すると前記マスタへ前記応答データを送信する、
ことを特徴とするマスタ・スレーブ同期通信システム。
【請求項５】
前記マスタと前記スレーブが通信する前記制御周期が複数存在し、前記スレーブは前記制御周期毎にグループ化され、前記グループ毎に前記同期単位ずつ前記制御周期をずらして前記同期通信管理テーブルと前記同期通信情報データテーブルを作成することを特徴とする請求項１〜請求項４の何れかに記載のマスタ・スレーブ同期通信システム。
【請求項６】
前記スレーブ割付部が前期制御周期データをもとに同期通信管理テーブルを作成する際に、前期同期単位内に通信を行わないアイソクロナスサイクルを検出すると、前記同期単位を最適値に短縮することを特徴とする請求項１〜５の何れかに記載のマスタ・スレーブ同期通信システム。
【請求項７】
前期スレーブ割付部が前期制御周期データをもとに同期通信管理テーブルを作成する際に、通信にかかる時間が前期同期単位を超えることを検出すると、前記同期単位を最適値に延長することを特徴とする請求項１〜５の何れかに記載のマスタ・スレーブ同期通信システム。
【請求項８】
前期マスタもしくは前期スレーブもしくは前期マスタおよび前期スレーブは最適化された前記同期単位をユーザーに通知することを特徴とする請求項１〜７の何れかに記載のマスタ・スレーブ同期通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＥＥＥ１３９４ネットワークを使用したマスタとスレーブの同期通信システムおよび同期通信方式に関する。
【背景技術】
【０００２】
従来のＩＥＥＥ１３９４通信システムのアイソクロナス転送は、アイソクロナス転送をする機器は、予め、Ｉｓｏｃｈｒｏｎｏｕｓ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒ（以下、ＩＲＭとする）から帯域幅とチャネルを獲得し、サイクル開始パケットを受けると、バスの使用権を獲得した機器がデータを送信する。各通信機器はアイソクロナス転送期間にバスの使用権を順に獲得してデータを送信するようになっている（例えば非特許文献１参照）。
【０００３】
通常、アイソクロナス転送期間で、すべての通信機器はデータを転送する仕組みになっているので、新たな機器を追加したいが残っている帯域が獲得したい帯域より少ない場合には、一つの機器に対するデータが減ってしまうか、新たな機器の追加ができないことになる。
【０００４】
このような問題に対して、アイソクロナスサイクルの整数倍を制御周期として、マスタが制御対象のスレーブを制御周期分のアイソクロナスサイクルに送信可能な数だけ割り付け、その割り付けに従って、順にスレーブと制御データの授受を行うことで、汎用な高速通信ネットワークであるＩＥＥＥ１３９４を使用したマスタとスレーブの同期通信システムか構築できるようにする技術が開示されている。これを図１８、図１９を用いて説明する。
【０００５】
図１８は、1局のマスタと８局のスレーブが５００μｓの制御周期で同期通信するための通信タイミング管理テーブルであり、１アイソクロナスサイクルに４局分割り付けられ、５００μｓ分に相当する４アイソクロナスサイクルのうち先頭の２アイソクロナスサイクルを使用して通信を行うよう設定されている。図１９は図１８の通信タイミング管理テーブルに従い通信をしたタイミングチャートであり、５００μｓの最初の１２５μｓでマスタがスレーブ１〜４までへの指令データＣ１〜Ｃ４を送信し、スレーブ１〜４はマスタへの応答データＲ１〜Ｒ４を送信している。さらに２番目のアイソクロナスサイクルである１２５μｓ〜２５０μｓの間にマスタがスレーブ５〜８までへの指令データＣ５〜Ｃ８を送信し、スレーブ５〜８はマスタへの応答データＲ５〜Ｒ８を送信している。（特許文献１参照）
【特許文献１】特開２００５−２２９１４２号公報（図２、３）
【非特許文献１】IEEE Std 1394-1995, IEEE Standard for a High Performance Serial Bus
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載されている同期通信システムでは、図２０に示すように、マスタの制御部と通信部、スレーブの制御部と通信部は、制御周期（アイソクロナスサイクルの整数倍）で同期してデータの送受信を行っている。
すなわち、ある制御周期Ｎに注目すると、２周期前の制御周期Ｎ−２のサイクルカウンタが＃３のアイソクロナスサイクルで全スレーブの制御部が一斉に応答データを作成し、スレーブ通信部へ渡す。スレーブ通信部は制御周期Ｎ−１の決められたアイソクロナスサイクルで応答データを送信する。
マスタ通信部は、制御周期Ｎ−１のサイクル毎に応答データを受信し、次の制御周期Ｎのサイクルカウンタが＃０のサイクルで全スレーブの応答データをマスタ制御部に渡し、マスタ制御部はその制御周期内で応答データを基に指令データを作成し、マスタ通信部へ指令データを渡す。
マスタ通信部は制御周期Ｎ＋１で順に各スレーブに指令データを送信する。
そして、スレーブ通信部は制御周期分経過後の制御周期Ｎ＋２のサイクルカウンタ＃０で一斉に指令データをスレーブ制御部に渡している。
【０００７】
すなわち、スレーブからマスタへの応答データの送信、その応答データに基く次の指令データの作成、その指令データのスレーブへの送信、その指令データのスレーブでの処理の実行が、制御周期に同期して実行されていた。
従って、応答データの受信・指令データの送信のそれぞれで通信にかかる遅れ（以降、通信遅延と呼ぶ）に制御周期が含まれており、図１９のサイクル＃２、＃３ように通信が行われないアイソクロナスサイクルが有っても、通信遅延は制御周期より短くならず、制御性能の向上の妨げになるという問題があった。
また、制御処理に時間がかかるために制御周期が長くなるシステムでは、通信遅延が長くなり、制御性能の向上の妨げになるという問題があった。
本発明は、このような問題点に鑑みてなされたものであり、マスタがスレーブからの応答データを受信し、スレーブへの指令データを作成し、それをスレーブへ送信するタイミング、および、スレーブがマスタから指令データを受信し、その指令データを実行し、マスタへの応答データを作成し、マスタへ送信するタイミングを定めたテーブルを自動的に生成し、該テーブルをマスタとスレーブに備え、通信遅延を確実に制御周期以下の一定値に抑制したマスタ・スレーブ同期通信システムを提供するものである。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにするものである。
請求項１に記載の発明は、１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信するマスタ・スレーブ同期通信システムにおいて、
前記マスタが、全ての前記スレーブとの通信に必要なアイソクロナスサイクル単位での時間を意味する同期単位を、前記スレーブからの受信の場合には前記制御周期の最後から設定し、前記スレーブへの送信の場合には前記同期単位を前記制御周期の最初から設定した同期通信管理テーブルを備え、
前記スレーブが、前記マスタへの送信の場合には前記同期単位を前記制御周期の最後から設定し、前期マスタからの受信の場合には前記同期単位を前記制御周期の最初から設定した同期通信情報データテーブルを備えたことを特徴とするものである。
【０００９】
また、請求項２に記載の発明は、請求項１に記載の発明において、前記マスタが備える前記同期通信管理テーブルが、前記マスタが前記スレーブへの指令データを作成する制御処理を起動するタイミングと、前記マスタが送信する前記スレーブの数と前記スレーブ番号および前記マスタが受信する前記スレーブの数と前記スレーブ番号とを前記タイミング毎に保持し、
前記スレーブが備える前記同期通信情報データテーブルが、前記スレーブが、前記マスタから指令データを受信する前記タイミングと、前記指令データを実行する前記タイミングと、前記マスタへの応答データを作成する前記タイミングと、前記マスタへ応答データを送信する前記タイミングとを保持することを特徴とするものである。
【００１０】
また、請求項３に記載の発明は、請求項１に記載の発明において、前記マスタに備えられたスレーブ割付部が、あらかじめ設定された前記同期単位と前記制御周期と、前記同期単位内において通信する前記スレーブ数と、前記スレーブをユニークに指定するスレーブ番号の配列とから構成される制御周期データをもとに前記同期通信管理テーブルを作成し、該同期通信管理テーブルに基づいて前記同期通信情報データテーブルを作成することを特徴とするものである。
【００１１】
また、請求項４に記載の発明は、請求項１に記載の発明において、前記マスタが、前記同期通信管理テーブルに従い、前記制御処理を起動するタイミングを検出すると前記制御処理を実行し、前記スレーブからの受信タイミングを検出すると受信を実行し、前記スレーブへの送信タイミングを検出すると送信を実行し、
前記スレーブが、前記同期通信情報データテーブルに従い、前記指令データを受信するタイミングを検出すると前記マスタからの指令データを受信し、前記指令データを実行するタイミングを検出すると前記指令データの処理を実行し、前記応答データを作成するタイミングを検出すると前記応答データを作成し、前記応答データを送信するタイミングを検出すると前記マスタへ前記応答データを送信することを特徴とするものである。
【００１２】
また、請求項５に記載の発明は、請求項１〜請求項４の何れかに記載の発明において、前記マスタと前記スレーブが通信する前記制御周期が複数存在し、前記スレーブは前記制御周期毎にグループ化され、前記グループ毎に前記同期単位ずつ前記制御周期をずらして前記同期通信管理テーブルと前記同期通信情報データテーブルを作成することを特徴とするものである。
【００１３】
また、請求項６に記載の発明は、請求項１〜５の何れかに記載の発明において、前記スレーブ割付部が前期制御周期データをもとに同期通信管理テーブルを作成する際に、前期同期単位内に通信を行わないアイソクロナスサイクルを検出すると、前記同期単位を最適値に短縮することを特徴とするものである。
【００１４】
また、請求項７に記載の発明は、請求項１〜５の何れかに記載の発明において、前期スレーブ割付部が前期制御周期データをもとに同期通信管理テーブルを作成する際に、通信にかかる時間が前期同期単位を超えることを検出すると、前記同期単位を最適値に延長することを特徴とするものである。
【００１５】
また、請求項８に記載の発明は、請求項１〜７の何れかに記載の発明において、前期マスタもしくは前期スレーブもしくは前期マスタおよび前期スレーブは最適化された前記同期単位をユーザーに通知することを特徴とするものである。
【発明の効果】
【００１６】
請求項１〜請求項４に記載の発明によれば、マスタとスレーブは、マスタに備えられた同期通信管理テーブルと、スレーブに備えられた同期通信情報データテーブルに基いて、
制御周期以下の同期単位で通信を行うので、通信遅延は同期単位のまま一定となり、制御性能の向上を図ることができる。
また、マスタでの制御処理に時間がかかり制御周期が長くなっても通信遅延は同期単位のまま一定となり、制御性能の向上を図ることができる。
【００１７】
請求項５に記載の発明によれば、制御周期が異なるグループ毎に通信タイミングを同期単位だけずらしながら、制御周期以下の同期単位で通信データの授受を行うので、各グループの通信遅延は同期単位のまま一定となり、制御性能の向上を図ることができる。
また、マスタでの制御処理に時間がかかり制御周期が長くなっても、通信遅延は同期単位のまま一定となり、制御性能の向上を図ることができる。
【００１８】
また、スレーブをグループ化して制御することで、一つの制御周期で複数の機能の指令データを作成する必要が無くなる。
例えば２足歩行ロボットの下半身と上半身のようにグループを分け、ロボットが転倒しないように、より応答性能が求められる下半身は制御周期も短く設定し、逆にマスタの負荷を軽減させるため、上半身の制御周期を長く設定しても、通信遅延は一定となり、制御性能を確保することが出来る。
例えば同じ制御周期でも双腕ロボットの右腕と左腕をそれぞれ別のグループにすることで、１つのグループ内のスレーブ数が減り、グループ毎にスレーブと制御データの授受にかかるアイソクロナスサイクルが短くなるため、右腕と左腕との間の動作は、制御に影響のない程度で同期を確保しつつ、それぞれの通信遅延は短くなり、片腕としての性能を向上させることが出来る。
【００１９】
請求項６〜７に記載の発明によれば、自動的に最適な同期単位で動作することが可能となり、通信速度や、ハードウェアの制約等により、１アイソクロナスサイクル内に通信可能なスレーブ数が変わる度に、設定を変更する必要がなくなる。
【００２０】
請求項８に記載の発明によれば、請求項６〜７で最適化された同期単位を認識することが可能となり、通信遅延を考慮したアプリケーションプログラムを作成することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００２２】
まず、以下の説明の中で出てくる、ＩＥＥＥ１３９４規格にて規定された機能名、信号名について説明しておく
【００２３】
図１４はＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの最小形式のフォーマットを表す図であり、ベンダーＩＤと言う、ベンダー固有の情報を表す、２４ビットのｖｅｎｄｏｒ＿ｉｄが含まれる。
【００２４】
図１５はＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの一般形式のフォーマットを表す図であり、図１６は図１５に含まれるｂｕｓ＿ｉｎｆｏ＿ｂｌｏｃｋのフォーマットを表す図である。図１４と同様のベンダーＩＤ（ｎｏｄｅ＿ｖｅｎｄｏｒ＿ｉｄ）や、ベンダー内で機器を固有にする、８ビットのｃｈｉｐ＿ｉｄ＿ｈｉと３２ビットのｃｈｉｐ＿ｉｄ＿ｌｏを連結した４０ビットのチップＩＤが含まれる。ベンダーＩＤとチップＩＤをあわせた６４ビットの情報はＥＵＩ−６４（Ｅｘｔｅｎｄｅｄ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｅｒ、拡張固有識別子、６４ビット）と呼ばれ全てのＩＥＥＥ１３９４機器の中で、ユニークに識別できる情報である。
【００２５】
図１７はＩＥＥＥ１３９４機器が持つＣＹＣＬＥ＿ＴＩＭＥレジスタのフォーマットを表す図であり、ｓｅｃｏｕｎｄ＿ｃｏｕｎｔや、ｃｙｃｌｅ＿ｃｏｕｎｔ、ｃｙｃｌｅ＿ｏｆｆｓｅｔが含まれる。ｓｅｃｏｕｎｄ＿ｃｏｕｎｔはｃｙｃｌｅ＿ｃｏｕｎｔからの桁上がりが発生するたびに増加し、値が１２７のときに増加すると循環して０に戻る。ｃｙｃｌｅ＿ｃｏｕｎｔはｃｙｃｌｅ＿ｏｆｆｓｅｔからの桁上がりが発生するたびに増加し、値が７９９９のときに増加すると循環して０に戻り、ｓｅｃｏｕｎｄ＿ｃｏｕｎｔに桁上がりする。ｃｙｃｌｅ＿ｃｏｕｎｔの単位は１２５μｓである。ｃｙｃｌｅ＿ｏｆｆｓｅｔは２４．５７６ＭＨｚのローカルクロックの１ティックごとに増加し、値が３０７１のときに増加すると、循環して０に戻り、ｃｙｃｌｅ＿ｃｏｕｎｔに桁上がりする。
【００２６】
サイクル開始パケットとは、ＩＥＥＥ１３９４規格にて規定されているアイソクロナスサイクルの開始を示すパケットのことで固有周期の１２５μｓ毎にサイクルマスタとなった機器が送信する。
【００２７】
図１は、本発明の実施例を示すマスタ・スレーブ同期通信システムの構成図である。図において１はマスタ、２ｉ（ｉ＝１、２、・・・ｎ）はスレーブ、３はＩＥＥＥ１３９４ネットワークである。
【００２８】
マスタ１は、制御周期データ１１と、スレーブ検出部１２と、スレーブ検出部１２により検出された接続スレーブ情報１２１と、通信タイミング等の割付を行うスレーブ割付部１３と、割り付けられた同期通信用の情報を格納する同期通信管理テーブル１４と、処理タイミングを算出するサイクル開始パケット受信処理部１５と、指令データ送信部１６と送信する指令データ１６１と、応答データ受信部１７と受信した応答データ１７１と、応答データ１７１を読み込み、指令データ１６１を作成する制御処理部１８とで構成される。
【００２９】
但し、請求項１〜２および４に記載のシステムでは、同期通信管理テーブル１４は予めプログラムとして作成されていてもよいし、他の機器から設定させるなど、別の手段でマスタ１へ通知してもよく、制御周期データ１１、スレーブ検出部１２、接続スレーブ情報１２１、スレーブ割付部１３は省くことも出来る。
【００３０】
一方、スレーブ２ｉは、指令データ受信部２ｉ１と受信した指令データ２ｉ１１と、応答データ２ｉ２と送信する応答データ２ｉ２１と、送受信処理を行う同期通信処理部２ｉ３と、各処理タイミングが格納された同期通信情報データテーブル２ｉ３１と、各処理タイミングを算出するサイクル開始パケット受信処理２ｉ４と、応答データを作成する応答作成部２ｉ５と、指令データを実行する指令処理部２ｉ６とで構成される。
【００３１】
図２は、本発明の第１の実施例となる制御周期データの詳細図で、図１の制御周期データ１１の詳細図であり、同期単位、スレーブを分けたグループ数、制御周期、制御スレーブ数と制御スレーブ番号で構成される。本実施例では、同期単位を２５０μｓとし、制御周期を５００μｓ、制御スレーブ数を４局、制御スレーブ番号をＳ１，Ｓ２，Ｓ３，Ｓ４とした１つのグループの例を示している。
なお、同期単位とは、マスタが全てのスレーブと通信（受信または送信）を行うために必要な連続したアイソクロナスサイクル数分の時間であってアイソクロナスサイクル時間である１２５μｓを単位とした時間である。
【００３２】
図３は、本発明の第１の実施例となる、図１の同期通信管理テーブル１４の詳細図である。同期通信管理テーブル１４は制御周期に相当するアイソクロナスサイクルのサイクル数が格納される全サイクル数と、マスタの制御処理起動タイミングと、各サイクルにおいて指令データを送信するスレーブ数を表す送信スレーブ数、送信先のスレーブを表す送信スレーブ番号、応答データを受信するスレーブ数を表す応答スレーブ数、送信元のスレーブを表す受信スレーブ番号から構成される。本発明の実施例として図２の制御周期データと同じ設定の制御周期５００μｓでスレーブ４局の設定で、１サイクルで通信できるスレーブ数が２局の場合のデータを示している。
【００３３】
ここで、サイクル＃はサイクル開始パケット受信時のＣＹＣＬＥ＿ＴＩＭＥのｃｙｃｌｅ＿ｃｏｕｎｔ値を制御周期に相当するアイソクロナスサイクル数で割った時の余り（剰余）の値とする。つまり、０〜アイソクロナスサイクル数−１の値を循環して増加する値となり、各タイミングの値はサイクル＃が設定値となったタイミングを意味する。
【００３４】
図４は、本発明の第１の実施例となる、図１の同期通信情報データテーブル２ｉ３１（ｉ＝１〜４）の詳細図である。同期通信情報データテーブル２ｉ３１は制御周期に相当するアイソクロナスサイクル数と、指令データを受信するタイミングと、指令データを実行するタイミングと、応答データを作成するタイミングと、応答データを送信するタイミングから構成される。本発明の第１および第２の実施例として図３の同期通信管理テーブルに対応するスレーブ２ｉ（ｉ＝１〜４）のデータを示している。
【００３５】
図５は本発明の第１の実施例となる通信タイミングチャートである。マスタは、図３の同期通信管理テーブル、各スレーブは図４の同期通信情報データテーブルに従って動作した時のもので、ある制御周期Ｎのマスタ制御処理に注目し、制御周期Ｎ−１の各スレーブの応答データを基に指令データを作成し、制御周期Ｎ＋１で各スレーブに指令データを送信し、各スレーブが指令データを取り込んで実行している様子を表した図である。実際には、制御周期毎に同じ処理が実行されているが、ここでは、図に現れる処理について、制御周期Ｎ−１のスレーブの応答から制御周期Ｎ＋１のマスタの指令の順に説明していく。
【００３６】
まず、制御周期Ｎ−１、サイクル＃１のタイミングでは、スレーブ２ｉ（ｉ＝１〜４）は、同じタイミングで応答データを作成する。
【００３７】
更に、制御周期Ｎ−１、サイクル＃２のタイミングで、スレーブ２ｉ（ｉ＝１、２）は、応答データＲｉ（ｉ＝１、２）を送信し、制御周期Ｎ−１、サイクル＃３のタイミングで、スレーブ２ｉ（ｉ＝３、４）は、応答データＲｉ（ｉ＝３、４）を送信する。
【００３８】
次に、制御周期Ｎ、サイクル＃０のタイミングでは、マスタ１が制御処理を起動して、受信した応答データＲｉ（ｉ＝１〜４）を基に指令データＣｉ（ｉ＝１〜４）を作成する。この制御処理は通信処理を妨げない高速な処理、または低優先度の処理として実行される。
【００３９】
そして、制御周期Ｎ＋１、サイクル＃０のタイミングでマスタ１は指令データＣｉ（ｉ＝１、２）を送信、スレーブ２ｉ（ｉ＝１、２）が受信し、制御周期Ｎ＋１、サイクル＃１のタイミングでマスタ１は指令データＣｉ（ｉ＝３、４）を送信、スレーブ２ｉ（ｉ＝３、４）が受信する。
【００４０】
最後に、制御周期Ｎ＋１、サイクル＃２のタイミングでスレーブ２ｉ（ｉ＝１〜４）は、一斉に指令を実行する。スレーブの指令実行処理もスレーブの通信処理を妨げない高速な処理、または低優先度の処理として実行される。
【００４１】
よって、応答データに関しては、同期単位前、つまり２５０μｓ前（１２５〜２５０μｓのタイミング）に全スレーブが一斉に応答データを作成し、２５０〜３７５μｓの間にマスタ１とスレーブ２ｉ（ｉ＝１、２）が、３７５〜５００μｓの間にマスタ１とスレーブ２ｉ（ｉ＝３、４）が応答データを授受することができ、制御周期前のデータではなく、一定の通信遅延前、つまり設定された同期単位前の同じタイミングのスレーブの情報を応答データとして、マスタが取得することができる。
【００４２】
また、指令データに関しては、最初の１２５μｓにてマスタ１とスレーブ２ｉ（ｉ＝１、２）が、１２５〜２５０μｓの間にマスタ１とスレーブ２ｉ（ｉ＝３、４）が、指令データの授受を行い、全スレーブに対しての指令データの授受が終った、同期単位後の２５０μｓ（２５０〜３７５μｓのタイミング）に、全スレーブが一斉に指令実行を開始することができ、設定された同期単位後にスレーブが同期して指令データを実行することができる。
【００４３】
実際には、サイクル＃で処理が定義され、制御周期毎に同じ処理が実行され、制御周期は５００μｓなので、サイクル＃は０〜３の繰返しとなる。
【００４４】
以上により、制御周期５００μｓ内にマスタ１が全スレーブ２ｉ（ｉ＝１〜４）と通信データの授受することができ、かつ制御周期後まで待つことなく、一定の通信遅延後、つまり設定された同期単位後にスレーブが同期して指令データを実行し、また、制御周期前のデータではなく、一定の通信遅延前、つまり設定された同期単位前の同じタイミングのスレーブの情報を応答データとして、マスタが取得することができる。
【００４５】
図６は、本発明の第１のマスタ・スレーブ同期通信システムにおける、同期通信方式の通信初期化処理手順を示すフローチャートである。この図を用いて、制御周期データからマスタのスレーブ割付部１３が同期通信で使用する同期通信管理テーブルと、スレーブが同期通信で使用する同期通信情報データテーブルを作成する手順を順を追って説明する。
【００４６】
はじめにＳ０１０で制御周期やスレーブ数、スレーブ番号等があらかじめ設定された制御周期データ１１を取り出す。
【００４７】
次にＳ０２０で制御周期データ１１に設定されているスレーブとネットワーク上に接続されている機器を対応付ける。これは、非特許文献１記載のＩＥＥＥ１３９４規格の機能を利用してネットワーク上に接続されている全てのスレーブ情報１２１と、該スレーブとマスタが通信するための通信スレーブ番号を検出する。ここで、スレーブ情報１２１とは、図１４のベンダーＩＤ、もしくは図１６のＥＵＩ−６４の情報を指し、スレーブとなる機器の判別にスレーブ情報１２１を使用する。またスレーブ番号は、スレーブ局に登録されている情報でもよいし、ＩＥＥＥ１３９４の規格の機能としてネットワーク上に接続されているＩＥＥＥ１３９４機器に割り付けられるノードＩＤを利用してもよい。
【００４８】
Ｓ０３０でサイクル内通信可能スレーブ数として１アイソクロナスサイクルで同期通信することが可能なスレーブの数を算出する。ここでサイクル内通信可能スレーブ数はＯＨＣＩ準拠のＩＥＥＥ１３９４インターフェースを使用している場合はＤＭＡコンテキスト数のハードウェアの制約となり、ハードウェアの制約がない場合は、指令データの帯域、応答データの帯域、機器の通信速度により、式（１）で求められる。（本実施例ではサイクル内通信可能スレーブ数を２としている）
【００４９】
サイクル内通信可能スレーブ数
＝  アイソクロナス転送の帯域  ÷  １スレーブ分の送受信の帯域    ・・・（１）
１スレーブ分の送受信の帯域
＝｛（ヘッダ＋指令データ分の帯域）＋  指令データ送信時のギャップ
＋（ヘッダ＋応答データ分の帯域）＋  応答データ送信時のギャップ｝
なお、ヘッダ、指令データ送信時のギャップ、応答データ送信時のギャップはＩＥＥＥ１３９４規格において規定された帯域である。
【００５０】
次にＳ０４０で通信タイミング割付け可能かどうかを式（２）にて判断するが、式（２）が成り立てば０５０に進み、不成立の場合はＳ０４１でエラー処理を行い終了となる。
全スレーブ数  ÷  サイクル内通信可能スレーブ数  ≦  全サイクル数・・・（２）
全サイクル数  ＝  制御周期［μｓ］  ÷  １２５［μｓ］・・・（３）
１２５μｓ：ＩＥＥＥ１３９４規格で規定されているアイソクロナスサイクル時間
【００５１】
次にＳ０５０で制御周期データ１１、サイクル内通信可能スレーブ数から、制御周期を構成するアイソクロナスサイクル数分の同期通信管理テーブル１４の送信データ部である、送信スレーブ数と送信スレーブ番号で構成される送信タイミングテーブルを作成し、設定されたスレーブを前詰めに順に割りつける。
【００５２】
次にＳ０６０で式（３）により算出された全サイクル数分の同期通信管理テーブル１４の領域を確保、０クリアし、全サイクル数を設定、送信データ部は送信タイミングテーブルに従いデータを格納する。
【００５３】
Ｓ１２０で最初に送信するスレーブが割り付けられたサイクルをマスタの制御処理起動タイミングとして設定する。
【００５４】
Ｓ１３０で受信スレーブ番号の割り付けを開始するサイクル＃として、受信割付開始サイクル＃を式（４）で算出する。
受信割付開始サイクル＃  ＝  全サイクル数  −  同期単位サイクル数  ・・・（４）
同期単位サイクル数  ＝  同期単位［μｓ］  ÷  １２５［μｓ］
【００５５】
Ｓ１４０でサイクル＃０の送信スレーブ数、送信スレーブ番号を、受信割付開始サイクル＃の応答スレーブ数、受信スレーブ番号へコピーする。この処理を送信のサイクル＃と受信のサイクル＃を１サイクルずつずらしながら、全サイクル数分繰り返し、同期通信管理テーブルの受信データ部を作成する。
【００５６】
Ｓ１５０でスレーブの指令実行タイミングおよび応答作成タイミングをそれぞれ式（５）、（６）で算出する。
指令実行タイミング
＝  ＭＯＤ（(制御処理起動タイミング＋同期単位サイクル数)，
制御周期サイクル数）  ・・・（５）
応答作成タイミング
＝  ＭＯＤ（(受信割付開始サイクル＃ ＋ 制御周期サイクル数 − １),  
制御周期サイクル数）・・・（６）
ＭＯＤ（Ａ，Ｂ）：ＡのＢによる剰余
【００５７】
Ｓ１６０で上記までのステップにて作成された同期通信管理テーブル１４からそれぞれのスレーブに対する指令受信タイミングと応答送信タイミングを抽出し、制御周期に相当するサイクル数と指令実行タイミングおよび応答作成タイミングのデータとあわせて同期通信情報データテーブルとして全スレーブへ通知する。
【００５８】
以上により、マスタ１に図３の同期通信管理テーブル１４および、各スレーブ２ｉに図４の同期通信情報データテーブル２ｉ３１が作成される。
なお、同期通信管理テーブル１４および、同期通信情報データテーブル２ｉ３１は、本マスタ・スレーブ同期通信システムの外部に存在するパソコン等に実装されるエンジニアリングツールで作成し、ネットワーク等を介して本システムのマスタやスレーブにダウンロードしても構わない。
【００５９】
図７は本発明のマスタ・スレーブ同期通信システムにおける、マスタの同期通信開始後のサイクル開始パケット受信時の処理手順を示すフローチャートである。この図でマスタがサイクル開始パケットを受信した時のイベント処理を順を追って説明する。
【００６０】
まず、Ｓ１０００でサイクル＃を算出する。
【００６１】
次に、Ｓ１０１０で同期通信管理テーブルから送信スレーブ数および、送信スレーブ番号、応答スレーブ数および、受信スレーブ番号について、サイクル＃のタイミングのデータを抽出する。
【００６２】
Ｓ１０２０で抽出した応答スレーブ数が０でない場合は、受信スレーブ番号の応答データを受信する。
【００６３】
Ｓ１０３０で抽出した送信スレーブ数が０でない場合は、送信スレーブ番号の指令データを送信する。
【００６４】
Ｓ１０４０で制御処理起動タイミングがサイクル＃と一致していれば、該当する制御処理を起動する。
【００６５】
Ｓ１０００からＳ１０４０により、マスタのサイクル開始パケット受信時のイベント処理として同期通信処理が実行される。
【００６６】
図８は本発明のマスタ・スレーブ同期通信システムにおける、スレーブの同期通信開始後のサイクル開始パケット受信時の処理手順を示すフローチャートである。この図でスレーブがサイクル開始パケットを受信した時のイベント処理を順を追って説明する。
【００６７】
まず、Ｓ２０００でサイクル＃を算出する。
【００６８】
次に、Ｓ２０１０で同期通信情報データテーブルを読み出し、Ｓ２０２０で指令受信タイミングがサイクル＃と等しい時はＳ２０３０で指令データを受信する。
【００６９】
Ｓ２０４０で指令実行タイミングがサイクル＃と等しい時は、Ｓ２０５０で指令を実行する。もしくは指令処理を起動する。
【００７０】
Ｓ２０６０で応答作成タイミングがサイクル＃と等しい時は、Ｓ２０７０で応答データを作成する。
【００７１】
Ｓ２０８０で応答送信タイミングがサイクル＃と等しい時は、Ｓ２０９０で応答データを送信する。
【００７２】
Ｓ２０００からＳ２０８０により、スレーブのサイクル開始パケット受信時のイベント処理として同期通信処理が実行される。
【００７３】
図６〜図８のフローチャートに従えば、図２の制御周期データから図３の同期通信管理テーブル、図４の同期通信情報データテーブルが作成され、マスタおよびスレーブが図５の通信タイミングチャートの通りに通信することができるので、制御周期内にマスタと全てのスレーブが制御データの授受を行うことができ、かつ、制御周期に依存しない制御周期以下の一定の通信遅延で同期通信が行えるのである。
【実施例２】
【００７４】
図９は、本発明の第２の実施例となる図１の制御周期データ１１の詳細図である。図２の制御周期データを複数のグループ分持たせた例で、本実施例では、同期単位を２５０μｓとし、制御周期を５００μｓ、制御スレーブ数を４局、制御スレーブ番号をＳ１，Ｓ２，Ｓ３，Ｓ４としたグループ１と制御周期を１ｍｓ＝１０００μｓ、制御スレーブ数を４局、制御スレーブ番号をＳ５，Ｓ６，Ｓ７，Ｓ８としたグループ２の２グループの例を示している。
【００７５】
図１０は、本発明の第２の実施例となる、図１の同期通信管理テーブル１４の詳細図である。構成は図３と同様で、制御周期が１ｍｓのグループ２があるため、全サイクル数が８となっている。本発明の実施例として図９の制御周期データの設定において、１アイソクロナスサイクルで通信できるスレーブ数は２局とした場合のデータを示している。
【００７６】
図１１は、本発明の第２の実施例となる、図１の同期通信情報データテーブル２ｉ３１（ｉ＝１〜８）の詳細図である。同期通信情報データテーブル２ｉ３１（ｉ＝１〜８）は制御周期に相当するアイソクロナスサイクル数と、指令データを受信するタイミングと、指令データを実行するタイミングと、応答データを作成するタイミングと、応答データを送信するタイミングから構成される。本発明の第３および第４の実施例として図９の同期通信管理テーブルに対応するスレーブ２ｉ（ｉ＝１〜８）のデータを示している。ここで、２ｉ（ｉ＝１〜４）に関する同期通信情報データテーブル２ｉ３１（ｉ＝１〜４）は図４と同じである。
【００７７】
図１２は、本発明の第２の実施例となる通信タイミングチャートである。マスタは、図１０の同期通信管理テーブル、各スレーブは図１１の同期通信情報データテーブルに従って動作した時のものである。２ｉ（ｉ＝１〜４）に関するタイミングチャートは図５と同じであり、スレーブ２ｉ（ｉ＝５〜８）についても基本的な動作は図５と同じため説明を省略する。
【００７８】
図１２より、図５と同様に、グループ１は制御周期５００μｓ内にマスタ１がグループに設定されている全スレーブ２ｉ（ｉ＝１〜４）と通信データを授受することができ、かつ制御周期後まで待つことなく、一定の通信遅延後、つまり設定された同期単位後にスレーブが同期して指令データを実行し、また、制御周期前のデータではなく、一定の通信遅延前、つまり設定された同期単位前の同じタイミングのスレーブの情報を応答データとして、マスタが取得することが出来る。
【００７９】
グループ２に関しても、制御処理の起動タイミング、送受信のタイミング、指令実行タイミング、をグループ１から同期単位分だけずらすことで、制御周期１０００μｓ内にマスタ１かグループに設定されている全スレーブ２ｉ（ｉ＝５〜８）と通信データを授受することができ、制御周期に依存せず、マスタとスレーブの通信遅延は、同期単位の設定値で一定とすることが出来る。
【００８０】
図１３は、本発明の第２のマスタ・スレーブ同期通信システムにおける、同期通信方式の通信初期化処理手順を示すフローチャートである。図６のフローチャートに対して複数のグループ化に対応した処理となっている。ここでは、図６のフローチャートと差異がある部分についてのみ説明する。
【００８１】
Ｓ０１０〜Ｓ０３０までは図６と同じである。
【００８２】
Ｓ０４０で、通信タイミング割付け可能かどうかの判断は式（２’）および（７）で行う。式（２’）、（７）いずれかの条件が成り立たない場合はＳ０４１でエラー処理となる。式（２’）、（７）のいずれも成り立つ場合のみ、通信タイミング割付け可能となり、Ｓ０５０に進む。
全スレーブ数  ÷  サイクル内通信可能スレーブ数  ≦  全サイクル数・・・（２’）
グループスレーブ数ｊ  ÷  サイクル内通信可能スレーブ数
≦  同期単位サイクル数  ・・・（７）
全スレーブ数：グループｊで制御するスレーブ数の和
全サイクル数  ＝  制御周期ｊの最小公倍数［μｓ］  ÷  １２５［μｓ］・・・（３’）
１２５μｓ：ＩＥＥＥ１３９４規格で規定されているアイソクロナスサイクル時間
制御周期ｊ：制御周期データ１１のグループｊの制御周期
通信スレーブ数ｊ  ＝  制御周期ｊの最小公倍数  ÷  制御周期ｊ
×  グループスレーブ数ｊ
グループスレーブ数ｊ： グループｊで制御するスレーブ数
同期単位サイクル数  ＝  同期単位［μｓ］  ÷  １２５［μｓ］
（ｊ＝１，２，…：グループ番号）
【００８３】
Ｓ０５０では、図６で作成した送信タイミングテーブルをグループ数分作成する。
【００８４】
次にＳ０６０で式（３’）により算出された全サイクル数分の同期通信管理テーブル１４の領域を確保、０クリアし、全サイクル数を設定する。
【００８５】
Ｓ０７０で全サイクル数分のサイクル使用済みフラグを確保し、０クリアする。
【００８６】
Ｓ０８０でサイクル使用済みフラグを先頭から検索して、グループで使用する送信サイクル（式（７）の左辺の値）分、連続して未使用な領域があるかどうかを判断し、あればＳ０９０へ、なければＳ０４１でエラー処理をして終了する。
【００８７】
Ｓ０９０でグループ毎の送信タイミングテーブルからスレーブの割り付けられたタイミングを取り出し、未使用な連続領域の先頭サイクルを加算したサイクルに相当する、同期通信管理テーブル１４のサイクルの送信スレーブ数に１を加え、送信先スレーブ番号にスレーブ番号を格納する。Ｓ０９０の処理をグループに設定された全スレーブ数分繰り返す。
【００８８】
Ｓ１００で同期通信管理テーブルデータのグループ内の全スレーブの割付結果を全サイクル数分、制御周期で繰り返してコピーして、コピーしたサイクルのサイクル使用済みフラグを設定し、Ｓ１１０でグループ内のスレーブのうち、最初に送信するスレーブが割り付けられたサイクルから同期単位分のサイクル使用済みフラグを使用済みに設定する。
【００８９】
Ｓ１２０で式（８）のように、グループ内で最初に送信するスレーブが割り付けられたサイクルをマスタのグループｊ制御処理起動タイミングとして設定する。
グループｊ制御処理起動タイミング
＝  ＭＩＮ（グループｊで制御するスレーブの送信サイクル＃）  ・・・（８）
（ｊ＝１，２，…：グループ番号）
ＭＩＮ（Ａ，Ｂ，Ｃ，…）：括弧内の値の最小値
【００９０】
Ｓ０８０からＳ１２０までの処理をグループ数分繰り返す。
【００９１】
Ｓ１３０、Ｓ１４０は全サイクル数の値が式（３’）となるだけで処理は同じである。
【００９２】
Ｓ１５０でグループ毎のスレーブの指令実行タイミングおよび応答作成タイミングをそれぞれ式（５’）、（６’）で算出する。
指令実行タイミング
＝  ＭＯＤ（(グループｊ制御処理起動タイミング＋同期単位サイクル数)，
制御周期ｊサイクル数）  ・・・（５’）
応答作成タイミング
＝  ＭＯＤ（(受信割付開始サイクル＃ ＋制御周期ｊサイクル数 −１),  
制御周期ｊサイクル数）  ・・・（６’）
ＭＯＤ（Ａ，Ｂ）：ＡのＢによる剰余
（ｊ＝１，２，…：グループ番号）
【００９３】
Ｓ１６０で上記までのステップにて作成された同期通信管理テーブル１４からそれぞれのスレーブに対する指令受信タイミングと応答送信タイミングを抽出し、制御周期に相当するサイクル数と指令実行タイミングおよび応答作成タイミングのデータとあわせて同期通信情報データテーブルとしてグループ内の全スレーブへ通知する。
【００９４】
Ｓ１５０からＳ１６０までの処理をグループ数分繰り返す。
以上により、マスタ１に図１０の同期通信管理テーブル１４および、各スレーブに図１１の同期通信情報データテーブル２ｉ３１が作成される。
【００９５】
マスタ、スレーブの同期通信開始後のサイクル開始パケット受信時の処理手順を示すフローチャートは図７、図８とそれぞれ同じである。
【００９６】
図１３および、図７、図８のフローチャートに従えば、図９の制御周期データから、図１０の同期通信管理テーブル、図１１の同期通信情報データテーブルが作成され、マスタおよびスレーブが図１２の通信タイミングチャート通りに通信することが出来るので、制御するスレーブを複数のグループ分けても、それぞれの制御周期内にマスタと全てのスレーブが制御データの授受を行うことができ、かつ、制御周期に依存しない制御周期以下の一定の通信遅延で同期通信が行えるのである。
【実施例３】
【００９７】
本発明の第３の発明として、同期単位時間の自動最適化についての実施例を、本発明の第１の実施例において、１アイソクロナスサイクルで通信できるスレーブ数が４局の場合として説明する。
【００９８】
図２１は本発明の第３の実施例となる、同期通信管理テーブル１４の詳細図である。図３の同期通信管理テーブルに対して、１アイソクロナスサイクルに割り付けられるスレーブ数が２局から４局に増えているため、送受信のスレーブ番号を格納するテーブルがそれぞれ４個となっており、スレーブＳ１〜Ｓ４がすべて１アイソクロナスサイクルに割り付けられている。
【００９９】
図２２は本発明の第３の実施例となる、同期通信情報データテーブル２ｉ３１（ｉ＝１〜４）の詳細図である。図２１の同期通信管理テーブルより、各スレーブの同期通信情報データテーブルはすべて同じタイミングとなるため、同じ値となっている。
【０１００】
図２３は本発明の第３の実施例となる通信タイミングチャートである。マスタは、図２１の同期通信管理テーブル、各スレーブは図２２の同期通信情報データテーブルに従って動作した時のもので、図５の動作に対して、スレーブ４局との通信が１アイソクロナスで可能なため、制御周期Ｎ−１、サイクル＃２のタイミングで全スレーブが応答データを作成、サイクル＃３のタイミングで全スレーブが応答送信し、制御周期Ｎ＋１、サイクル＃０のタイミングでマスタは全スレーブの指令データを送信、各スレーブは指令データを受信し、サイクル＃１のタイミングで全スレーブは一斉に指令を実行するように変更される。
【０１０１】
制御周期データからマスタのスレーブ割付部１３が同期通信で使用する同期通信管理テーブルと、スレーブが同期通信で使用する同期通信情報データテーブルを作成する手順を示す、同期通信方式の通信初期化処理手順を示すフローチャートは図６と同様で、差異となる、同期単位の最適化に関する部分について説明する。
【０１０２】
Ｓ１２０までは図６と同じ処理を実行する。Ｓ１３０で、まず、式（４）で使用する同期単位サイクル数を、Ｓ０５０で作成された送信タイミングテーブルにおいて実際にスレーブが割り付けられたアイソクロナスサイクル数に置き換えることによって最適化する。また、同期単位をその置き換えられた同期単位サイクル数に相当する時間に変更する。
【０１０３】
Ｓ１４０以降も同期単位サイクル数を最適化された同期単位サイクル数に置き換えた値を使用することで同様の処理となる。
【０１０４】
よって、図２の同期単位があらかじめ設定された２５０μｓに対し、最短の１２５μｓに短縮して最適化することができ、より短い通信遅延で動作させることが可能となる。
【０１０５】
同様に、Ｓ０５０で、実際にスレーブが割り付けられたアイソクロナスサイクル数が、あらかじめ設定された同期単位を超える場合も、Ｓ１３０であらかじめ設定された同期単位を延長して最適化することによって、適切な通信遅延で動作させることが可能となる。
【０１０６】
ここで、Ｓ１３０にて同期単位サイクル数を最適化する際に、パラメータ等による設定もしくはエンジニアリングツールを介してのユーザーへの問い合わせにより、最適化処理の実行する／しないを切り替える処理にしてもよい。
また、最適化を実行する／しないにかかわらず、同期単位をアプリケーションプログラムやエンジニアリングツール等の機器で読み出せるデータとして保持することで、ユーザに同期単位を通知することができる。
【０１０７】
以上により、１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、一定時間の制御周期に同期して、通信データを授受するマスタ・スレーブ同期通信システムにおいて、グループ毎に通信タイミングをずらしながら、制御周期以下の同期単位で通信データの授受を行うので、制御周期が長くなっても、通信遅延は影響を受けず、同期単位のまま一定となるので制御性能を向上させることが出来る。
【産業上の利用可能性】
【０１０８】
制御周期の設定によらずマスタとスレーブの送受信データの通信に必要分の通信時間でマスタとスレーブが同期して通信できるので、マスタでキネマティクスを使ったような制御指令の作成に時間がかかるロボットコントロールシステムや、モーションコントロールシステムという用途にも適用できる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施例を示すマスタ・スレーブ同期通信システムの構成図
【図２】本発明の第１の実施例となる制御周期データの詳細図
【図３】本発明の第１の実施例となる同期通信管理テーブルの詳細図
【図４】本発明の第１の実施例となる同期通信情報データテーブルの詳細図
【図５】本発明の第１の実施例となる通信タイミングチャート
【図６】本発明の第１のマスタ・スレーブ同期通信システムにおける、同期通信方式の通信初期化処理手順を示すフローチャート
【図７】本発明のマスタ・スレーブ同期通信システムにおける、マスタの同期通信開始後のサイクル開始パケット受信時の処理手順を示すフローチャート
【図８】本発明のマスタ・スレーブ同期通信システムにおける、スレーブの同期通信開始後のサイクル開始パケット受信時の処理手順を示すフローチャート
【図９】本発明の第２の実施例となる制御周期データの詳細図
【図１０】本発明の第２の実施例となる同期通信管理テーブルの詳細図
【図１１】本発明の第２の実施例となる同期通信情報データテーブルの詳細図
【図１２】本発明の第２の実施例となる通信タイミングチャート
【図１３】本発明の第２のマスタ・スレーブ同期通信システムにおける、同期通信方式の通信初期化処理手順を示すフローチャート
【図１４】ＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの最小形式のフォーマットを表す図
【図１５】ＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの一般形式のフォーマットを表す図
【図１６】ｂｕｓ＿ｉｎｆｏ＿ｂｌｏｃｋのフォーマットを表す図
【図１７】ＣＹＣＬＥ＿ＴＩＭＥのフォーマットを表す図
【図１８】従来の方法を適用した通信タイミング管理テーブルの詳細図
【図１９】従来の方法を適用した通信タイミングチャート
【図２０】従来の方法を適用した通信遅延
【図２１】本発明の第３の実施例となる同期通信管理テーブルの詳細図
【図２２】本発明の第３の実施例となる同期通信情報データテーブルの詳細図
【図２３】本発明の第３の実施例となる通信タイミングチャート
【符号の説明】
【０１１０】
１  マスタ
１１  制御周期データ
１２  スレーブ検出部
１２１  接続スレーブ情報
１３  スレーブ割付部
１４  同期通信管理テーブル
１５  サイクル開始パケット受信処理部
１６  指令データ送信部
１６１  指令データ
１７  応答データ受信部
１７１  応答データ
１８  制御処理部
２ｉ  スレーブ
２ｉ１  指令データ受信部
２ｉ１１  指令データ
２ｉ２  応答データ送信部
２ｉ２１  応答データ
２ｉ３  同期通信処理部
２ｉ３１  同期通信情報データテーブル
２ｉ４  サイクル開始パケット受信処理部
２ｉ５  応答作成部
２ｉ６  指令処理部
３  ＩＥＥＥ１３９４ネットワーク
Ｃｉ  マスタ１からスレーブｉへの指令データ
Ｒｉ  スレーブｉからマスタ１への応答データ
【図１】
2008048395.tif 000003
【図２】
2008048395.tif 000004
【図３】
2008048395.tif 000005
【図４】
2008048395.tif 000006
【図５】
2008048395.tif 000007
【図６】
2008048395.tif 000008
【図７】
2008048395.tif 000009
【図８】
2008048395.tif 000010
【図９】
2008048395.tif 000011
【図１０】
2008048395.tif 000012
【図１１】
2008048395.tif 000013
【図１２】
2008048395.tif 000014
【図１３】
2008048395.tif 000015
【図１４】
2008048395.tif 000016
【図１５】
2008048395.tif 000017
【図１６】
2008048395.tif 000018
【図１７】
2008048395.tif 000019
【図１８】
2008048395.tif 000020
【図１９】
2008048395.tif 000021
【図２０】
2008048395.tif 000022
【図２１】
2008048395.tif 000023
【図２２】
2008048395.tif 000024
【図２３】
2008048395.tif 000025