(57)【要約】【課題】システム規模の増大を伴うことなく、マスタ局及びスレーブ局間の通信効率を向上させる。【解決手段】スレーブ局では、マスタ局からの伝送フレームを受信したとき、アドレス検出部２６において、受信した伝送フレームの送信先アドレスを参照し、この送信先アドレスが自局のアドレスと一致するとき、起動指令を送信回路３５に通知する。演算処理部１１では、所定のタイミングで送信データを第１送信レジスタ３１に書き込み、送信部１５では、この送信データに、対してフレーム検査シーケンスチェック用データ、自局のアドレス等の所定のデータを付与し、送信回路３５では、アドレス検出部２６から起動指令が通知されたとき、所定のデータ及びフラグ挿入部３６においてフラグデータが付与された送信データを伝送フレームとして送信する。【選択図】　　　　　図３
2004128581.tif 000002
【特許請求の範囲】
【請求項１】
マスタ局及び当該マスタ局と全二重方式のシリアル伝送ラインで接続されるスレーブ局とを備え、前記マスタ局は、前記スレーブ局への伝送フレームに、当該伝送フレームの送信先のスレーブ局を特定する識別情報を付加して送信するようにした通信システムにおいて、
前記スレーブ局は、前記マスタ局から送信される伝送フレームの識別情報が自局を特定する識別情報であることを検出したときに、これをトリガとして前記マスタ局への伝送フレームの送信を開始することを特徴とする通信システム。
【請求項２】
マスタ局及び当該マスタ局と全二重方式のシリアル伝送ラインで接続されるスレーブ局とを備え、前記マスタ局は、前記スレーブ局への伝送フレームに、当該伝送フレームの送信先のスレーブ局を特定するアドレス情報を付加して送信するようにした通信システムにおいて、
前記スレーブ局は、前記マスタ局から送信される伝送フレームのアドレス情報が自局のアドレス情報と一致するかどうかを検出するアドレス一致検出手段と、
当該アドレス一致検出手段でアドレス情報が一致することを検出したときに、これをトリガとして前記マスタ局への伝送フレームの送信開始を指示するスレーブ側送信指示手段と、
当該スレーブ側送信指示手段で前記マスタ局への伝送フレームの送信開始が指示されたとき、前記マスタ局への伝送フレームの送信を開始するスレーブ側フレーム送信手段と、を備えることを特徴とする通信システム。
【請求項３】
前記スレーブ側送信指示手段は、前記スレーブ側フレーム送信手段に対する前記送信開始の指示タイミングを調整する指示タイミング調整手段を備えることを特徴とする請求項２記載の通信システム。
【請求項４】
前記マスタ局における伝送フレームの送信開始タイミングと、当該伝送フレームをトリガとしてスレーブ局から送信される伝送フレームの前記マスタ局における受信開始タイミングとの時間差を各スレーブ局毎に検出する時間差検出手段を備え、
前記指示タイミング調整手段は、各スレーブ局における前記時間差が一定となるように、前記スレーブ側送信指示手段による前記スレーブ側フレーム送信手段に対する送信開始の指示タイミングを遅延させることを特徴とする請求項３記載の通信システム。
【請求項５】
前記マスタ局は、当該マスタ局における伝送フレームの送信開始タイミングと当該伝送フレームをトリガとしてスレーブ局から送信される伝送フレームの前記マスタ局における受信開始タイミングとの時間差を検出又は予測する時間差検出手段と、
送信指示が行われたときにスレーブ局への伝送フレームの送信を開始するマスタ側フレーム送信手段と、
当該マスタ側フレーム送信手段に対して伝送フレームの送信開始を指示するマスタ側送信指示手段と、を備え、
前記マスタ側送信指示手段は、前記時間差検出手段で検出した時間差に基づいて、前記送信開始の指示タイミングを調整するようになっていることを特徴とする請求項２記載の通信システム。
【請求項６】
前記時間差検出手段は、第１の伝送フレームの次に送信される第２の伝送フレーム及びこれをトリガとしてスレーブ局から送信される伝送フレーム間の時間差を予測し、
前記マスタ側送信指示手段は、前記第１の伝送フレームをトリガとしてスレーブ局から送信される伝送フレームの受信開始タイミングと前記時間差とに基づいて、前記第１の伝送フレームをトリガとしたスレーブ局からの伝送フレーム及び前記第２の伝送フレームをトリガとしたスレーブ局からの伝送フレームの受信開始タイミングの間隔が規定値となるような前記第２の伝送フレームの送信開始タイミングを予測し、予測した送信開始タイミングに基づいて前記第２の伝送フレームに対する送信開始の指示を行うことを特徴とする請求項５記載の通信システム。
【請求項７】
前記マスタ局は、前記スレーブ局への一の伝送フレームのデータ長を送信フレーム長として推定する送信フレーム長推定手段と、
前記一の伝送フレームをトリガとしてスレーブ局から送信される応答フレームのデータ長を応答フレーム長として推定する応答フレーム長推定手段とを備え、前記時間差検出手段は、前記一の伝送フレーム及び前記応答フレーム間の時間差を検出又は予測し、
前記マスタ側送信指示手段は、当該時間差と、前記応答フレーム長推定手段で推定された応答フレーム長とに基づき前記応答フレームの受信完了タイミングを予測すると共に、前記送信フレーム長推定手段で推定された前記一の伝送フレームのデータ長に基づき前記一の伝送フレームの送信完了タイミングを予測し、
当該送信完了タイミングと前記受信完了タイミングとの相対関係に基づいて前記送信開始の指示タイミングを調整することを特徴とする請求項５記載の通信システム。
【請求項８】
前記マスタ側送信指示手段は、前記受信完了タイミングから規定時間が経過したとき、これをトリガとして次の伝送フレームに対する送信開始の指示を行い、前記受信完了タイミングから前記規定時間が経過した時点よりも前記送信完了タイミングが遅いと予測されるときには、前記一の伝送フレームの送信が完了したとき、これをトリガとして次の伝送フレームに対する送信開始の指示を行うことを特徴とする請求項７記載の通信システム。
【請求項９】
前記マスタ局は、送信指示が行われたときにスレーブ局への伝送フレームの送信を開始するマスタ側フレーム送信手段と、
当該マスタ側フレーム送信手段に対して伝送フレームの送信開始を指示するマスタ側送信指示手段と、
前記スレーブ局への第１の伝送フレームのデータ長を推定する送信フレーム長推定手段と、
前記第１の伝送フレームをトリガとしてスレーブ局から送信される応答フレームのデータ長を推定する応答フレーム長推定手段と、を備え、
前記マスタ側送信指示手段は、前記第１の伝送フレームのデータ長が前記応答フレームのデータ長よりも大きいときには、前記第１の伝送フレームの受信完了タイミングをトリガとして、前記第１の伝送フレームの次に送信する第２の伝送フレームに対する送信指示を行い、前記第１の伝送フレームのデータ長が前記応答フレームのデータ長以下であるときには、前記応答フレームのデータ長に基づいて当該応答フレームの受信完了タイミングを予測し、当該受信完了タイミングに基づいて前記第２の伝送フレームに対する送信指示を行うことを特徴とする請求項２記載の通信システム。
【請求項１０】
前記マスタ局は、前記スレーブ局への第１の伝送フレームのデータ長を推定する送信フレーム長推定手段と、
前記第１の伝送フレームをトリガとしてスレーブ局から送信される第１の応答フレームのデータ長を推定する応答フレーム長推定手段とを備え、
前記時間差検出手段は、前記第１の伝送フレーム及び前記第１の応答フレーム間の第１の時間差を検出又は予測すると共に、前記第１の伝送フレームの次に送信される第２の伝送フレーム及びこれをトリガとしてスレーブ局から送信される第２の応答フレーム間の第２の時間差を予測し、
前記マスタ側送信指示手段は、前記第１の時間差と前記応答フレーム長推定手段で推定された前記第１の応答フレームのデータ長とに基づき前記第１の応答フレームの受信完了タイミングを予測し、当該受信完了タイミングと前記第２の時間差とをもとに、前記受信完了タイミングから規定時間が経過した時点で前記第２の応答フレームの受信を開始するための前記第２の伝送フレームの送信開始タイミングを予測する送信開始タイミング予測手段を備え、
当該送信開始タイミング予測手段で予測した予測送信開始タイミングが、前記送信フレーム長推定手段で推定された前記第１の伝送フレームのデータ長に基づき予測される前記第１の伝送フレームの送信完了タイミングよりも遅いときには、送信開始タイミング予測手段で予測した予測送信開始タイミングをトリガとして前記第２の伝送フレームに対する送信指示を行い、前記予測送信開始タイミングが、前記第１の伝送フレー　ムの送信完了タイミング以前であるときには、前記第１の伝送フレームの送信が完了したとき、これをトリガとして前記第２の伝送フレームに対する送信開始の指示を行うようになっていることを特徴とする請求項５記載の通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、サーボモータ制御、主軸モータ制御を行うサーボアンプ制御装置、主軸アンプ制御装置からなる複数のスレーブ局と、数値制御装置からなるマスタ局との間を、シリアル伝送線により接続し、両者間でデータ伝送を行うようにした通信システムに関する。
【０００２】
【従来の技術】
従来、複数のスレーブ局と、これらスレーブ局を制御するマスタ局とで構成される通信システムにおいては、例えば、これらスレーブ局及びマスタ局間を、半二重方式のシリアル伝送用のバスラインで接続するようにした通信システムが提案されている。この通信システムにおいては、マスタ局からのメッセージを受け取ったスレーブ局がフレーム受信終了後、バスラインを受信用から送信用に切り替え、スレーブ局からの送信を行うようにしている。
【０００３】
つまり、図１７に示すように、第１のスレーブ局Ｓ１では、マスタ局Ｍからフレームを受信すると、バスラインを受信用から送信用に切り替え、マスタ局Ｍ宛にフレームを送信する。次に、マスタ局Ｍが、第２のスレーブ局Ｓ２にフレームを送信し、第２のスレーブ局Ｓ２がこれを受信すると、この第２のスレーブ局Ｓ２では、バスラインを受信用から送信用に切り替え、マスタ局Ｍにフレームを送信する。各スレーブ局Ｓ１〜Ｓ４がこの動作を行うことによって、マスタ局Ｍとスレーブ局Ｓ１〜Ｓ４との間の通信が、フレームどうしが衝突することなく行われるようになっている。
【０００４】
しかしながら、このように、バスラインを受信用と送信用とで切り替えて通信を行うようにした場合、図１７に示すように、受信用及び送信用との切り替えに伴う無駄時間Δｔが発生し、また、フレームの受信及び送信を同時に行うことができない。
これに対し、例えば、特開平１１−１７７１２号公報に記載されているように、マスタ局とスレーブ局との間を全二重方式のシリアル伝送ラインによって接続するようにした方法も提案されている。この場合、フレームの送信及び受信を同時に行うことができ、つまり、マスタ局がスレーブ局にフレームを送信している間でも、スレーブ局がマスタ局にフレームを送信することが可能であり、伝送効率を向上させることができ伝送時間の短縮を図ることができる。
【０００５】
【特許文献１】
特開平１１−１７７１２号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上述のように、マスタ局及び複数のスレーブ局との間を全二重方式のシリアル伝送ラインによって、接続するようにしたシステムにおいては、フレームの送信及び受信を同時に行うことができるものの、複数のスレーブ局からの送信フレームがデータバス上でぶつからないようにする必要がある。
【０００７】
このため、マスタ局と各スレーブ局との間の同期をとり、スレーブ毎に応答するタイミングを替えて返答する等の対処を施す必要があり、このタイミング調整を図るための回路が必要となり、回路規模の増大を招いている。
また、伝送ライン上での遅延時間、回路上の遅延時間等を考慮し、各スレーブ局への送信フレーム間の時間的余裕を十分に確保する必要があるため伝送に時間がかかり、マスタ局或いはスレーブ局において、その演算処理部（ＣＰＵ）が演算等にかける時間が減ったり、或いは演算周期が伸びてしまう等といった、システム性能の悪化につながるという問題がある。
【０００８】
そこで、この発明は、上記従来の未解決の問題点に着目してなされたものであり、システム規模の増大を伴うことなく、マスタ局及びスレーブ局間の通信効率を向上させることの可能な通信システムを提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に係る通信システムは、マスタ局及び当該マスタ局と全二重方式のシリアル伝送ラインで接続されるスレーブ局とを備え、前記マスタ局は、前記スレーブ局への伝送フレームに、当該伝送フレームの送信先のスレーブ局を特定する識別情報を付加して送信するようにした通信システムにおいて、前記スレーブ局は、前記マスタ局から送信される伝送フレームの識別情報が自局を特定する識別情報であることを検出したときに、これをトリガとして前記マスタ局への伝送フレームの送信を開始することを特徴としている。
【００１０】
また、請求項２に係る通信システムは、マスタ局及び当該マスタ局と全二重方式のシリアル伝送ラインで接続されるスレーブ局とを備え、前記マスタ局は、前記スレーブ局への伝送フレームに、当該伝送フレームの送信先のスレーブ局を特定するアドレス情報を付加して送信するようにした通信システムにおいて、前記スレーブ局は、前記マスタ局から送信される伝送フレームのアドレス情報が自局のアドレス情報と一致するかどうかを検出するアドレス一致検出手段と、当該アドレス一致検出手段でアドレス情報が一致することを検出したときに、これをトリガとして前記マスタ局への伝送フレームの送信開始を指示するスレーブ側送信指示手段と、当該スレーブ側送信指示手段で前記マスタ局への伝送フレームの送信開始が指示されたとき、前記マスタ局への伝送フレームの送信を開始するスレーブ側フレーム送信手段と、を備えることを特徴としている。
【００１１】
また、請求項３に係る通信システムは、請求項２記載の前記スレーブ側送信指示手段は、前記スレーブ側フレーム送信手段に対する前記送信開始の指示タイミングを調整する指示タイミング調整手段を備えることを特徴としている。
また、請求項４に係る通信システムは、請求項３記載の通信システムにおいて、前記マスタ局における伝送フレームの送信開始タイミングと、当該伝送フレームをトリガとしてスレーブ局から送信される伝送フレームの前記マスタ局における受信開始タイミングとの時間差を各スレーブ局毎に検出する時間差検出手段を備え、前記指示タイミング調整手段は、各スレーブ局における前記時間差が一定となるように、前記スレーブ側送信指示手段による前記スレーブ側フレーム送信手段に対する送信開始の指示タイミングを遅延させることを特徴としている。
【００１２】
また、請求項５に係る通信システムは、請求項２記載の通信システムにおいて、前記マスタ局は、当該マスタ局における伝送フレームの送信開始タイミングと当該伝送フレームをトリガとしてスレーブ局から送信される伝送フレームの前記マスタ局における受信開始タイミングとの時間差を検出又は予測する時間差検出手段と、送信指示が行われたときにスレーブ局への伝送フレームの送信を開始するマスタ側フレーム送信手段と、当該マスタ側フレーム送信手段に対して伝送フレームの送信開始を指示するマスタ側送信指示手段と、を備え、前記マスタ側送信指示手段は、前記時間差検出手段で検出した時間差に基づいて、前記送信開始の指示タイミングを調整するようになっていることを特徴としている。
【００１３】
また、請求項６に係る通信システムは、請求項５記載の前記時間差検出手段は、前記時間差検出手段は、第１の伝送フレームの次に送信される第２の伝送フレーム及びこれをトリガとしてスレーブ局から送信される伝送フレーム間の時間差を予測し、前記マスタ側送信指示手段は、前記第１の伝送フレームをトリガとしてスレーブ局から送信される伝送フレームの受信開始タイミングと前記時間差とに基づいて、前記第１の伝送フレームをトリガとしたスレーブ局からの伝送フレーム及び前記第２の伝送フレームをトリガとしたスレーブ局からの伝送フレームの受信開始タイミングの間隔が規定値となるような前記第２の伝送フレームの送信開始タイミングを予測し、予測した送信開始タイミングに基づいて前記第２の伝送フレームに対する送信開始の指示を行うことを特徴としている。
【００１４】
また、請求項７に係る通信システムは、請求項５に記載の前記マスタ局は、前記スレーブ局への一の伝送フレームのデータ長を送信フレーム長として推定する送信フレーム長推定手段と、前記一の伝送フレームをトリガとしてスレーブ局から送信される応答フレームのデータ長を応答フレーム長として推定する応答フレーム長推定手段とを備え、前記時間差検出手段は、前記一の伝送フレーム及び前記応答フレーム間の時間差を検出又は予測し、前記マスタ側送信指示手段は、当該時間差と、前記応答フレーム長推定手段で推定された応答フレーム長とに基づき前記応答フレームの受信完了タイミングを予測すると共に、前記送信フレーム長推定手段で推定された前記一の伝送フレームのデータ長に基づき前記一の伝送フレームの送信完了タイミングを予測し、当該送信完了タイミングと前記受信完了タイミングとの相対関係に基づいて前記送信開始の指示タイミングを調整することを特徴としている。
【００１５】
また、請求項８に係る通信システムは、請求項７記載の前記マスタ側送信指示手段は、前記受信完了タイミングから規定時間が経過したとき、これをトリガとして次の伝送フレームに対する送信開始の指示を行い、前記受信完了タイミングから前記規定時間が経過した時点よりも前記送信完了タイミングが遅いと予測されるときには、前記一の伝送フレームの送信が完了したとき、これをトリガとして次の伝送フレームに対する送信開始の指示を行うことを特徴としている。
【００１６】
また、請求項９に係る通信システムは、請求項２に記載の前記マスタ局は、送信指示が行われたときにスレーブ局への伝送フレームの送信を開始するマスタ側フレーム送信手段と、当該マスタ側フレーム送信手段に対して伝送フレームの送信開始を指示するマスタ側送信指示手段と、前記スレーブ局への第１の伝送フレームのデータ長を推定する送信フレーム長推定手段と、前記第１の伝送フレームをトリガとしてスレーブ局から送信される応答フレームのデータ長を推定する応答フレーム長推定手段と、を備え、前記マスタ側送信指示手段は、前記第１の伝送フレームのデータ長が前記応答フレームのデータ長よりも大きいときには、前記第１の伝送フレームの受信完了タイミングをトリガとして、前記第１の伝送フレームの次に送信する第２の伝送フレームに対する送信指示を行い、前記第１の伝送フレームのデータ長が前記応答フレームのデータ長以下であるときには、前記応答フレームのデータ長に基づいて当該応答フレームの受信完了タイミングを予測し、当該受信完了タイミングに基づいて前記第２の伝送フレームに対する送信指示を行うことを特徴としている。
【００１７】
さらに、請求項１０に係る通信システムは、請求項５に記載の前記マスタ局は、前記スレーブ局への第１の伝送フレームのデータ長を推定する送信フレーム長推定手段と、前記第１の伝送フレームをトリガとしてスレーブ局から送信される第１の応答フレームのデータ長を推定する応答フレーム長推定手段とを備え、前記時間差検出手段は、前記第１の伝送フレーム及び前記第１の応答フレーム間の第１の時間差を検出又は予測すると共に、前記第１の伝送フレームの次に送信される第２の伝送フレーム及びこれをトリガとしてスレーブ局から送信される第２の応答フレーム間の第２の時間差を予測し、前記マスタ側送信指示手段は、前記第１の時間差と前記応答フレーム長推定手段で推定された前記第１の応答フレームのデータ長とに基づき前記第１の応答フレームの受信完了タイミングを予測し、当該受信完了タイミングと前記第２の時間差とをもとに、前記受信完了タイミングから規定時間が経過した時点で前記第２の応答フレームの受信を開始するための前記第２の伝送フレームの送信開始タイミングを予測する送信開始タイミング予測手段を備え、当該送信開始タイミング予測手段で予測した予測送信開始タイミングが、前記送信フレーム長推定手段で推定された前記第１の伝送フレームのデータ長に基づき予測される前記第１の伝送フレームの送信完了タイミングよりも遅いときには、送信開始タイミング予測手段で予測した予測送信開始タイミングをトリガとして前記第２の伝送フレームに対する送信指示を行い、前記予測送信開始タイミングが、前記第１の伝送フレームの送信完了タイミング以前であるときには、前記第１の伝送フレームの送信が完了したとき、これをトリガとして前記第２の伝送フレームに対する送信開始の指示を行うようになっていることを特徴としている。
【００１８】
【発明の実施の形態】
以下に、本発明の実施の形態を説明する。
まず、第１の実施の形態を説明する。
図１は、本発明の第１の実施の形態における通信システムの構成を示した概略構成図である。
【００１９】
図１において、Ｍは、例えばＮＣ制御装置等で構成されるマスタ局、Ｓ１〜Ｓ４は、サーボアンプ制御装置、主軸アンプ制御装置等で構成されるスレーブ局であって、これらマスタ局Ｍとスレーブ局Ｓ１〜Ｓ４とは、全二重方式のシリアルバスＬ１、Ｌ２を介して、マルチドロップ形式で接続されている。
なお、ここでは、４つのスレーブ局Ｓ１〜Ｓ４が接続されている場合について説明しているが、これに限るものではなく、任意数のスレーブ局を接続することができる。
【００２０】
図２は、マスタ局Ｍとスレーブ局Ｓ１〜Ｓ４との間で伝送される伝送フレームのフォーマットの一例を示したものであって、マスタ局Ｍからスレーブ局Ｓ１〜Ｓ４への伝送フレームは、図２（ａ）に示すように、フレームの開始を表すフラグデータｍ１、フレームの送信先を表す送信先アドレスｍ２、フレーム伝送制御用の制御データｍ３、伝送データｍ４、フレーム検査シーケンス用のチェック用データｍ５、そして、フレームの終了を表すフラグデータｍ６、から構成されている。
【００２１】
また、スレーブ局からマスタ局への伝送フレームは、図２（ｂ）に示すように、フレームの開始を表すフラグデータｓ１、フレームの送信元を表す送信元アドレスｓ２、フレーム伝送制御用の制御データｓ３、伝送データｓ４、フレーム検査シーケンス用のチェック用データｓ５、そして、フレームの終了を表すフラグデータｓ６とから構成されている。なお、前記伝送フレームにおいて、伝送データｍ４及びｓ４は情報が設定されない場合もある。
【００２２】
図３は、スレーブ局の構成を示すブロック図である。なお、各スレーブ局は同一に構成されているので、ここではスレーブ局Ｓ１について説明する。
スレーブ局Ｓ１は、図３に示すように、全二重方式のシリアルバスの一方のバスラインＬ１から伝送フレームを受信し、伝送フレーム中のデータ情報を演算処理部（ＣＰＵ）１１に伝達する受信部１３と、演算処理部１１で設定されたスレーブ局に送信する送信データをもとに伝送フレームを生成し、これを他方のバスラインＬ２に送信する送信部１５とを備えている。
【００２３】
そして、前記演算処理部（ＣＰＵ）１１は、マスタ局Ｍから通知される、自局において制御している図示しない各種機器の位置指令或いは速度指令等の制御情報をもとに、各種機器を制御すると共に、これら各種機器の位置情報や速度情報等のモニタ情報を予め設定された周期で収集して送信データを生成し、これと制御データとを後述の第１送信レジスタ３１に書き込む。
【００２４】
また、前記受信部１３は、バスラインＬ１からの伝送フレームを取り込む第１受信レジスタ部２１と、第１受信レジスタ部２１に取り込まれた伝送フレームから伝送フレームの開始を表すフラグデータｍ１を検出するフラグ検出部２２と、このフラグ検出部２２でフラグデータｍ１を検出したとき、送信先アドレスｍ２からフレーム検査シーケンスチェック用データｍ５を順次取り込む第２受信レジスタ部２３と、第１受信レジスタ部２１の伝送フレーム中の送信先アドレスｍ２、制御データｍ３及び伝送データｍ４に対し、ＣＲＣチェック等のフレーム検査シーケンス演算を行い、その演算結果と伝送フレームのチェック用データｍ５とを比較し、異常を検出したとき、これを演算処理部１１に通知するＦＣＳ計算・比較部２４と、第２受信レジスタ部２３で取り込んだ伝送フレームの送信先アドレスｍ２を参照し、これが自局のアドレスであるかどうかを判定し、送信先アドレスｍ２が自局のアドレスであることを確認することができたとき、第２受信レジスタ部２３の伝送フレームの中から伝送データｍ４、或いは伝送データｍ４及び制御データｍ３を第３の受信レジスタ部２５に書き込むと共に、送信部１５に対して起動指令を通知するアドレス検出部２６と、を備え、演算処理部１１では、この受信レジスタ部２６の伝送データｍ４をマスタ局Ｍからの受信データとして処理を行うようになっている。
【００２５】
一方、前記送信部１５は、演算処理部１１によって、マスタ局に送信する送信データが伝送データｓ４として書き込まれると共に制御データｓ３が書き込まれる第１送信レジスタ３１と、これら制御データｓ３及び伝送データｓ４に自局のアドレスを送信元アドレスｓ２として付加し、これをフレーム情報として第２送信レジスタ３２に書き込むアドレス挿入部３３と、第２送信レジスタ３２に書き込まれるフレーム情報に対しＣＲＣチェック等のフレーム検査シーケンス演算を行い、その演算結果をチェック用データｓ５としてフレーム情報に付加するＦＣＳ計算部３４と、送信回路３５により第２送信レジスタ３２から読み出されるフレーム情報に、フラグデータｓ１、ｓ６を付加するフラグ挿入部３６とを備えている。そして、前記送信回路３５は、受信部１３から起動指令が通知されたとき、前記第２送信レジスタ３２のフレーム情報を読み出し、フラグデータｓ１、送信元アドレスｓ２、制御データｓ３、伝送データｓ４、チェック用データｓ５及びフラグデータｓ６からなる伝送フレームとして、フラグデータｓ１から順にバスラインＬ２に送信する。　図４は、マスタ局Ｍの構成を示すブロック図である。
【００２６】
マスタ局Ｍは、図４に示すように、全二重方式のシリアルバスＬの一方のバスラインＬ２から伝送フレームを受信する受信部４３と、演算処理部４１で設定された送信データをもとに伝送フレームを生成し、これを他方のバスラインＬ１に送信する送信部４５とを備えている。
そして、前記演算処理部４１は、各スレーブ局からの伝送フレームによって通知されるモニタ情報をもとに、各スレーブ局で制御する制御機器に対する制御演算を行うと共に、その演算結果に基づいて、位置指令或いは速度指令といった制御情報からなる送信データを、予め設定した所定周期で生成する。
【００２７】
前記受信部４３は、バスラインＬ２からの伝送フレームを取り込む第１受信レジスタ部５１と、第１受信レジスタ部５１に取り込まれた伝送フレームから伝送フレームの開始を表すフラグデータｓ１を検出するフラグ検出部５２と、このフラグ検出部５２でフラグデータｓ１を検出したとき、フラグデータｓ１からｓ６までを一つの伝送フレームとして、第１受信レジスタ部５１の伝送フレームを取り込む第２受信レジスタ部５３と、第１受信レジスタ部５１の伝送フレームに対しフレーム検査シーケンス演算を行い、その演算結果と伝送フレームのチェック用データｓ５とを比較し、異常を検出したとき、これを演算処理部４１に通知するＦＣＳ計算・比較部５４と、第２受信レジスタ部５３に取り込まれた伝送フレームの送信元アドレスｓ２を参照し、その送信元のスレーブ局を認識すると共に、第２受信レジスタ部５３に取り込まれた伝送フレームの中から、伝送データｓ４を第３受信レジスタ部５５に書き込むアドレス検出部５６と、を備え、演算処理部４１では、第３受信レジスタ部５５の伝送データｓ４をスレーブ局からの受信データとして処理を行うようになっている。
【００２８】
また、前記送信部４５は、演算処理部４１によって、スレーブ局に送信する送信データ及び制御データが書き込まれる第１送信レジスタ６１と、この第１送信レジスタ６１に書き込まれた送信データを伝送データｍ４とし、この伝送データｍ４及び前記制御データｍ３に、送信先のスレーブ局を特定するアドレスを送信先アドレスｍ２として付加し、これをフレーム情報として第２送信レジスタ６２に書き込むアドレス挿入部６３と、第２送信レジスタ６３に書き込まれるフレーム情報に対しフレーム検査シーケンス演算を行いその演算結果を、チェック用データｍ５として前記フレーム情報に付加するＦＣＳ計算部６４と、送信回路６５が第２送信レジスタ６２のフレーム情報を読み出したとき、これに、フラグデータｍ１、ｍ６を付加するフラグ挿入部６６と、演算処理部４１から送信データ書き込み終了が通知されたとき送信回路６５に起動指令を通知するタイミング発生回路６７と、を備えている。そして、前記送信回路６５は、タイミング発生回路６７から起動指令が通知されたとき、前記第２送信レジスタ６３のフレーム情報を読み出し、フラグデータｍ１、送信元アドレスｍ２、制御データｍ３、伝送データｍ４、チェック用データｍ５及びフラグデータｍ６を一つの伝送フレームとして、フラグデータｍ１から順にバスラインＬ１に送信する。
【００２９】
なお、前記第１及び第２の送信レジスタ６１及び６２は、バスラインＬ１、Ｌ２に接続されている全てのスレーブ局、この場合Ｓ１〜Ｓ４のそれぞれに対応して設けられている。
次に、上記第１の実施の形態の動作を説明する。
マスタ局Ｍでは、予め設定した周期で各スレーブ局Ｓ１〜Ｓ４に対し、位置指令、或いは、速度指令等の制御情報等からなる送信データからなる伝送フレームを送信し、各スレーブ局Ｓ１〜Ｓ４では、マスタ局Ｍからの制御情報に基づいて、自局が制御する各種機器の位置情報或いは速度情報等といったモニタ情報を、マスタ局Ｍに送信する。そして、マスタ局Ｍでは、受信したモニタ情報に基づいて各スレーブ局Ｓ１〜Ｓ４の制御状況を認識しこれに基づいて制御演算を行い、前記制御情報の生成を行う。
【００３０】
なお、前記マスタ局Ｍにおけるスレーブ局Ｓ１〜Ｓ４に対し伝送フレームを送信するタイミングは、マスタ局Ｍにおける制御演算の必要とする実行周期及び、各スレーブ局Ｓ１〜Ｓ４からのモニタ情報の必要とする収集周期等に基づいて設定すればよい。つまり、スレーブ局Ｓ１〜Ｓ４では、マスタ局Ｍからの伝送フレームを受信するタイミングで、伝送フレームを送信するから、例えば、マスタ局Ｍにおいて必要とするスレーブ局からのモニタ情報の収集周期を満足するように設定してもよい。また、マスタ局Ｍにおける制御演算の演算周期に応じて設定するようにしてもよいが、スレーブ局では、自局宛の伝送フレームを受信したタイミングで伝送フレームを送信を開始するから、前回伝送フレームを送信したスレーブ局からの伝送フレームと、次に伝送フレームを送信するスレーブ局との伝送フレームとが衝突しないように、伝送フレームの受信終了タイミングを考慮して次のスレーブ局への伝送フレームを行う必要がある。
【００３１】
また、前記マスタ局からの伝送フレーム及びスレーブ局からの伝送フレームの伝送データは必ずしも毎周期毎に更新或いは設定されている必要はなく、例えば、伝送データｍ４、ｓ４が設定されていなくてもよい。つまり、例えば、マスタ局Ｍにおいて、各種機器の制御演算周期に比較して、より短い周期で、各種制御機器のモニタ情報を収集する必要がある場合には、マスタ局Ｍから、伝送データを設定せずに、形式的に伝送フレームを送信するようにしてもよい。
【００３２】
前記マスタ局Ｍの演算処理部４１で生成された送信データは、送信部４５の第１送信レジスタ６１に書き込まれ、この送信データに対し、アドレス挿入部６３により送信先のスレーブ局Ｓ１のアドレスが付加され、さらに、ＦＣＳ計算部６４によりフレーム検査シーケンス演算が行われ、送信データに、マスタ局Ｍのアドレス、フレーム検査シーケンス演算の結果が付加されてフレーム情報として、第２送信レジスタ６２に格納される。
【００３３】
そして、演算処理部４１から第１送信レジスタ６１への送信データの書き込みの終了が通知され、これをトリガとしてタイミング発生回路６７が起動指令を送信回路６５に出力したとき、送信回路６５では、第２送信レジスタ６２に格納されたフレーム情報を読み出し、フラグ挿入部６６によって、その先頭及び末尾にフラグデータｍ１及びｍ６が付加されたフレーム情報を、伝送フレームとして、バスＬ１に出力する。
【００３４】
また、マスタ局Ｍでは、バスＬ２から、各スレーブ局Ｓ１〜Ｓ４からの伝送フレームを受信するとこれを第１受信レジスタ部５１に取り込み、フラグ検出部５２でフラグデータｓ１を検出したならば、送信元アドレスｓ２〜フラグデータｓ６までを第２受信レジスタ部５３に格納する。また、ＦＣＳ計算・比較部５４では、この受信データに対し、フレーム検査シーケンス演算を行い、この演算結果と、伝送フレーム中のチェック用データｓ５とを比較し、これらが一致しないときには、演算処理部４１に対しＦＣＳエラーであることを通知する。演算処理部４１では、ＦＣＳエラー通知が行われたときには、この伝送データは無効であることを認識し所定の対処を行う。
【００３５】
一方、フレーム検査シーケンス演算の結果がチェック用データｓ５と一致した場合には、伝送が正常に行われたものと認識し、アドレス検出部５６において、送信元アドレスｓ２をもとに、この伝送フレームの送信元のスレーブ局を認識し、伝送データｓ５を、送信元アドレスｓ２で特定したスレーブ局からの伝送データとして、第３受信レジスタ部５５に書き込む。
【００３６】
これによって、マスタ局Ｍの演算処理部４１では、第３受信レジスタ部５５に書き込まれた伝送データを、スレーブ局からの受信データとして読み出し、この受信データに基づいて所定の処理を行う。
一方、各スレーブ局Ｓ１〜Ｓ４では、演算処理部１１において、マスタ局Ｍから自局宛の伝送フレームを受信するタイミングに応じて、マスタ局Ｍに送信すべき送信データを生成し、これを制御データと共に第１送信レジスタ３１に書き込む。そして、この送信レジスタ３１に書き込まれた送信データ及び制御データに対し、アドレス挿入部３３によって、自局を特定するアドレスが付加され、これが第２送信レジスタ３２に書き込まれる。また、送信レジスタ３２に書き込まれたフレーム情報に対し、ＦＣＳ計算部３４によってフレーム検査シーケンス演算が行われ、その演算結果が第２送信レジスタ３２のフレーム情報に付加される。
【００３７】
そして、受信部１３のアドレス検出部２６において、自局宛の伝送フレームを受信したことを検出したとき、アドレス検出部２６から起動指令が通知され、これを受けて送信回路３５は、第２送信レジスタ３２に格納されているフレーム情報を読み出し、フラグ挿入部３６によって、フラグデータｓ１及びｓ６を付加し、これを伝送フレームとして送信する。
【００３８】
一方、スレーブ局Ｓ１〜Ｓ４では、その受信部１３では、バスＬ１から伝送フレームを受信すると、第１受信レジスタ部２１にこれを取り込み、フラグ検出部２２においてフラグデータｍ１を検出すると、送信先アドレスｍ２からフラグデータｍ６までを第２受信レジスタ部２３に書き込む。また、ＦＣＳ計算・比較部２４では、伝送フレームに対し、フレーム検査シーケンス演算を行い、その結果が正常でなければこれを演算処理部１１に通知し、演算処理部１１では、マスタ局からの伝送フレームを正常に受信することができなかったとして、所定の対処を行う。
【００３９】
また、アドレス検出部２６では、第２受信レジスタ部２３に格納された伝送フレーム中の送信先アドレスｍ２を参照し、これが自局を特定するアドレスであることを認識したとき、送信部１４の送信回路３５に対し、起動指令を通知する。また、第２受信レジスタ部２３の伝送フレーム中の制御データｍ３及び伝送データｍ４が第３受信レジスタ部２５に書き込まれる。
【００４０】
つまり、各スレーブ局Ｓ１〜Ｓ４のアドレス検出部２６では、マスタ局Ｍから自局宛の伝送フレームを受信したときに、送信回路３５に対して起動指令を通知し、送信回路３５では、この起動指令が通知されたときに、自局から伝送フレームをマスタ局Ｍ宛に送信する。
図５は、マスタ局Ｍが、スレーブ局Ｓ１、Ｓ２、Ｓ３、Ｓ４の順に各スレーブ局宛に伝送フレームを送信した場合のマスタ局Ｍからの伝送フレームの送信タイミング（図５（ａ））と、マスタ局Ｍにおける、各スレーブ局からの伝送フレームの受信タイミング（図５（ｂ））と、を表したものである。
【００４１】
今、時点ｔ１　でマスタ局Ｍがスレーブ局Ｓ１宛に伝送フレームを送信し、スレーブ局Ｓ１のアドレス検出部２６が、この伝送フレームが自局宛の伝送フレームであることを認識し、送信回路３５に対し起動指令を通知すると、スレーブ局Ｓ１からマスタ局Ｍ宛の伝送フレームが送信され、マスタ局Ｍでは、時点ｔ２で、このスレーブ局Ｓ１からの伝送フレームの受信を開始することになる。
【００４２】
このとき、図５に示すように、時点ｔ２でスレーブ局Ｓ１からの伝送フレームの受信を開始した時点では、マスタ局Ｍから伝送フレームを送信している状態であるが、マスタ局Ｍからスレーブ局Ｓ１宛の伝送フレームはバスＬ１を介して伝送され、スレーブ局Ｓ１からマスタ局Ｍ宛の伝送フレームはバスＬ２を介して伝送されるから、これらが衝突することはない。
【００４３】
そして、マスタ局Ｍにおいて、時点ｔ３でスレーブ局Ｓ１からの伝送フレームの受信が終了し、時点ｔ４でスレーブ局Ｓ２宛の伝送フレームの送信を開始すると、スレーブ局Ｓ２では、自局宛の伝送フレームであることを認識したとき、マスタ局Ｍ宛の伝送フレームの送信を開始する。そして、以後スレーブ局Ｓ３、Ｓ４についても同様に行い、マスタ局Ｍは、スレーブ局からの伝送フレームを受信し終えた後、順次、次のスレーブ局宛に伝送フレームを送信し、各スレーブ局からの伝送フレームを順次受信する。
【００４４】
このとき、マスタ局Ｍからの伝送フレームはバスＬ１を介して送信し、スレーブ局からの伝送フレームはバスＬ２を介して送信するようにし、スレーブ局では、マスタ局Ｍからの伝送フレームを受信したタイミングで、マスタ局Ｍ宛の伝送フレームを送信するようにしているから、マスタ局Ｍ側において各スレーブ局からの伝送フレームの受信の終了タイミングを考慮して各スレーブ局への伝送フレームの送信タイミングを設定することによって、各スレーブ局からマスタ局Ｍへの伝送フレームが衝突することはない。なお、マスタ局Ｍでは、スレーブ局からの伝送フレームどうしが衝突しなければ、スレーブ局からの伝送フレームの受信終了を待たなくても伝送フレームを送信することができる。
【００４５】
このように、スレーブ局Ｓ１〜Ｓ４では、マスタ局Ｍからの伝送フレームの受信をトリガとしてマスタ局Ｍへの伝送フレームを送信するようにしているから、マスタ局及びスレーブ局との同期をとりスレーブ毎に応答タイミングを替えて応答するためのフレーム衝突防止用の回路等を新たに設けることなく、且つ伝送フレームの衝突が生じることなく伝送を行うことの可能な通信システムを実現することができる。
【００４６】
また、このとき、各スレーブ局では、自局宛の伝送フレームであることを認識した時点で、マスタ局宛の伝送フレームを送信するようにしているから、マスタ局は、スレーブ局への伝送フレームの送信を開始した時点から、伝送バス上での往復の伝送遅れ時間、各回路における遅延時間、スレーブ局がフラグデータ、アドレスデータを読み込み、自局宛の伝送フレームであることを認識するまでの判断時間に相当する伝送遅れ時間Δｔ１〜Δｔ４後に、各スレーブ局からの伝送フレームの受信を開始することができ、マスタ局Ｍがスレーブ局に対して、伝送フレームの送信を開始した時点から、マスタ局がスレーブ局からの伝送フレームの受信を開始するまでの応答を短時間で行うことができ、結果的に全体の通信時間を短縮することができる。よって、通信時間がかかることに起因してマスタ局Ｍやスレーブ局Ｓ１〜Ｓ４の演算処理部において、制御のための演算時間が短縮されることや、制御周期が長くなることを回避することができ、通信システムのシステム性能の低下を回避することができる。
【００４７】
また、各スレーブ局Ｓ１〜Ｓ４では、マスタ局Ｍからの自局宛の伝送フレームの受信をトリガとして、マスタ局Ｍへの伝送フレームを送信するようにしているから、マスタ局Ｍからの各スレーブ局Ｓ１〜Ｓ４への伝送フレームの送信タイミングを調整することによって、マスタ局におけるスレーブ局Ｓ１〜Ｓ４からの伝送フレームの受信タイミング、つまり、スレーブ局からの伝送フレームの送信タイミングを容易に調整することができる。
【００４８】
なお、上記第１の実施の形態においては、スレーブ局Ｓ１、Ｓ２、Ｓ３、Ｓ４の順にマスタ局Ｍから伝送フレームを送信するようにした場合について説明したが、任意の順番で送信するような場合であっても適用することができることはいうまでもない。
また、タイミング発生回路６７では、演算処理部４１からの送信データ書き込み終了が通知されたときに、起動指令を送信回路６５に通知するようにした場合について説明したが、前記送信データ書き込み終了の通知は、前記演算処理部４１において送信データの書き込みが終了した時点で行うようにしてもよく、また、伝送フレームの送信タイミングが所定間隔となるように送信データ書き込み終了後、これを通知するタイミングを調整するようにしてもよい。また、演算処理部４１では送信データの書き込みが終了した時点で送信データ書き込み終了を通知するようにし、タイミング発生回路６７側で、伝送フレームの送信タイミングが所定間隔となるように起動指令の通知タイミングを調整するようにしてもよい。
【００４９】
また、上記第１の実施の形態においては、識別情報としてスレーブ局のアドレス情報を伝送フレームに付加して送信するようにした場合について説明したが、アドレス情報に限るものではなく、各スレーブ局を特定することのできる情報であれば適用することができる。
なお、上記第１の実施の形態において、送信先アドレスｍ２が識別情報、アドレス情報に対応し、図３のアドレス検出部２６において、送信先アドレスｍ２が自局のアドレスと一致するかどうかを判断する処理がアドレス一致検出手段に対応し、送信先アドレスｍ２が自局のアドレスと一致したとき、起動指令を送信回路３５に通知する処理がスレーブ側送信指示手段に対応し、送信回路３５がスレーブ側フレーム送信手段に対応している。
【００５０】
次に、本発明の第２の実施の形態を説明する。
この第２の実施の形態は、図６に示すように、上記第１の実施の形態におけるスレーブ局Ｓ１〜Ｓ４において、送信部１５の構成が異なること以外は、同等であるので、同一部には同一符号を付与し、その詳細な説明は省略する。
この第２の実施の形態における送信部１５は、受信部１３のアドレス検出部２５からの起動指令を入力する遅延発生回路３７と、演算処理部１１によって遅延時間が設定される遅延時間設定レジスタ３８とが、さらに設けられている。そして、前記遅延発生回路３７は、アドレス検出部２５から起動指令が通知されると、この起動指令を、遅延時間設定レジスタ３８に設定された遅延時間ｄｌだけ遅延させた後、送信回路３５に通知する。
【００５１】
前記遅延時間ｄｌは、次のように設定される。
図７は、マスタ局Ｍが、スレーブ局Ｓ１、Ｓ２、Ｓ３、Ｓ４の順に各スレーブ局宛に伝送フレームを送信した場合のマスタ局Ｍからの伝送フレームの送信タイミング（図７（ａ））と、マスタ局Ｍにおける、各スレーブ局からの伝送フレームの受信タイミング（図７（ｂ））と、を表したものである。
【００５２】
マスタ局Ｍが、各スレーブ局宛の伝送フレームの送信を開始した時点から、この伝送フレームをトリガとしてスレーブ局から送信される伝送フレームを、マスタ局が受信開始するまでの伝送遅れ時間Δｔ１〜Δｔ４は、伝送バスの長さや遅延時間のばらつき等によって、図７に示すように必ずしも一致しない場合がある。
【００５３】
したがって、各スレーブ局における伝送遅れ時間Δｔ１〜Δｔ４のばらつきがなくなるように、各スレーブ局毎に、遅延発生回路３７における遅延時間ｄｌ１〜ｄｌ４を設定する。つまり、図７に示すように伝送遅れ時間Δｔ１と、遅延時間ｄｌ１との和である時間差ｔｄ１が時間差規定値ｔｄ＊　となるように、遅延時間ｄｌ１を設定する。同様に、伝送遅れ時間Δｔ２と、遅延時間ｄｌ２との和である時間差ｔｄ２が時間差規定値ｔｄ＊　となるように、遅延時間ｄｌ２を設定し、遅延時間ｄｌ３、ｄｌ４についても同様に設定する。なお、前記伝送遅れ時間Δｔｎ（ｎ＝１〜４）は、例えば、マスタ局Ｍのタイミング発生回路６７が、起動指令を送信回路６５に通知した時点から、マスタ局Ｍのフラグ検出部５２においてフラグデータｓ１を検知するまでの時間を予め各スレーブ毎に測定しておけばよい。又は、伝送フレームの送信及び受信中に、これらを測定するようにしてもよい。
【００５４】
したがって、このように遅延時間ｄｌ１〜ｄｌ４を設定することによって、各スレーブ局Ｓ１〜Ｓ４の遅延発生回路３７では、アドレス検出部２６から起動指令が通知された場合に、この時点から、遅延時間ｄｌ１〜ｄｌ４が経過した時点で、起動指令を送信回路３５に通知することになる。よって、マスタ局Ｍが伝送フレームの送信を開始してから、この伝送フレームをトリガとしてスレーブ局から送信される伝送フレームをマスタ局が受信開始するまでの所要時間は、図７に示すように、伝送遅れ時間Δｔｎと遅延時間ｄｌｎとを加算した時間差ｔｄｎとなる。このとき前記遅延時間ｄｌｎは、時間差ｔｄｎが、時間差規定値ｔｄ＊　となるように設定されているから、マスタ局Ｍが伝送フレームの送信を開始してから、この伝送フレームをトリガとして各スレーブ局から送信される伝送フレームをマスタ局が受信開始するまでの所要時間、つまり、時間差ｔｄ１〜ｔｄ４は、時間差規定値ｔｄ＊　となり、伝送遅れ時間Δｔ１〜Δｔ４のばらつきが発生しない場合と同等とすることができる。
【００５５】
したがって、マスタ局Ｍが伝送フレームを送信してから、スレーブ局Ｓ１〜Ｓ４からの伝送フレームを受信するまでの所要時間がばらついた場合、仮にあるスレーブ局からの伝送フレームを受信するまでの所要時間が非常に長く、次のスレーブ局からの伝送フレームの受信までの所要時間が非常に短い場合、バスラインＬ１、Ｌ２上で、伝送フレームが衝突する可能性があり、所定周期で伝送フレームの送信を行う場合には、伝送フレームの受信までの所要時間が最大のものに合わせて周期を設定する必要がある。しかしながら、上述の手順で遅延時間ｄｌ１〜ｄｌ４を設定することによって、このばらつきを除去することができるから、伝送遅れ時間Δｔ１〜Δｔ４のばらつきにより、伝送フレームの受信までの所要時間が最大のもの合わせて周期を設定する必要がない。
【００５６】
また、遅延時間ｄｌ１〜ｄｌ４を設定することによって、マスタ局Ｍが伝送フレームを送信してから、スレーブ局からの伝送フレームを受信するまでの所要時間を任意に設定することができるから、マスタ局Ｍの都合のよいタイミングでスレーブ局からの伝送フレームを受信することができ、演算中に割り込み処理が入らないようにタイミングを調整する等といった、他の演算や処理との調整を容易に図ることができる。
【００５７】
なお、上記第２の実施の形態においては、予め遅延時間ｄｌ１〜ｄｌ４を演算し、これを遅延時間設定レジスタ３８に設定しておくようにした場合について説明したが、運用中に遅延時間ｄｌ１〜ｄｌ４を算出し、これを遅延時間設定レジスタ３８に更新設定するようにしてもよい。
なお、上記第２の実施の形態において、遅延発生回路３７が指示タイミング調整手段に対応し、前記伝送遅れ時間Δｔ１〜Δｔ４を予め検出しておく処理又は、逐次検出する処理が、時間差検出手段に対応している。
【００５８】
次に、本発明の第３の実施の形態を説明する。
この第３の実施の形態は、図８に示すように、上記第１の実施の形態において、マスタ局Ｍの送信部４５の構成が異なること以外は同様であるので、同一部には同一符号を付与し、その詳細な説明は省略する。
第３の実施の形態におけるマスタ局Ｍの送信部４５は、時間差測定部６８と、タイミング設定レジスタ６９と、をさらに備え、タイミング発生回路６７ａでは、タイミング設定レジスタ６９に設定された送信タイミング調整用データに基づいて、起動指令の送信タイミングを調整するようになっている。
【００５９】
前記時間差測定部６８は、起動指令を送信回路６５に通知した時点から、これにより送信された伝送フレームをトリガとしてスレーブ局から送信された伝送フレームのフラグデータｓ１を、受信部４３のフラグ検出部５２において検出するまでの所要時間をスレーブ局毎に計測し、これを伝送遅れ時間Δｔｎ（ｎ＝１〜４）としてスレーブ局毎に所定の記憶領域に格納しておく。
【００６０】
そして、演算処理部４１では、時間差測定部６８により所定の記憶領域に格納された伝送遅れ時間Δｔｎ（ｎ＝１〜４）を参照し、これに基づいて、各スレーブ局からの伝送フレームの受信間隔が一定となるように、送信タイミング調整用データを設定する。
なお、マスタ局Ｍが各スレーブ局Ｓ１〜Ｓ４の送信する伝送フレームのデータ長はそれぞれ等しく、また、各スレーブ局Ｓ１〜Ｓ４がマスタ局Ｍに送信する伝送フレームのデータ長もそれぞれ等しいものとする。
【００６１】
図９及び図１０は、マスタ局Ｍが、スレーブ局Ｓ１、Ｓ２、Ｓ３、Ｓ４の順に各スレーブ局宛に伝送フレームを送信した場合のマスタ局Ｍからの伝送フレームの送信タイミング（図９（ａ））と、マスタ局Ｍにおける、各スレーブ局からの伝送フレームの受信タイミング（図９（ｂ））と、を表したものである。
図９に示すように、マスタ局Ｍとスレーブ局Ｓ１〜Ｓ４との間の伝送バスの長さや遅延時間のばらつき等によって、マスタ局Ｍが伝送フレームを送信開始した時点から、これに対する応答として伝送フレームの受信を開始するまでの伝送遅れ時間Δｔｎ（ｎ＝１〜４）にばらつきがある場合、マスタ局Ｍが各スレーブ局Ｓ１〜Ｓ４に対し定周期で伝送フレームを送信している場合には、マスタ局Ｍがあるスレーブ局に対して伝送フレームの送信を開始してから次のスレーブ局に対して伝送フレームを送信するまでの時間つまり送信間隔ｓｔｎ（ｎ＝１〜４）は等しくなり、ｓｔ１＝ｓｔ２＝ｓｔ３＝ｓｔ４＝ｓｔ＊　となる。
【００６２】
しかしながら、各スレーブ局が送信する伝送フレームのデータ長が等しい場合、マスタ局Ｍがあるスレーブ局からの伝送フレームの受信を開始した時点から、次のスレーブ局からの伝送フレームを受信を開始するまでの時間、つまり伝送フレームの受信間隔ｒｔｎ（ｎ＝１〜４）は、図９に示すように、ばらつくことになる。
【００６３】
したがって、この受信間隔ｒｔｎ（ｎ＝１〜４）が受信間隔規定値ｒｔ＊　となるように、送信タイミング用調整データＤｔｎ（ｎ＝１〜４）を設定する。つまり、演算処理部４１では、次の送信先のスレーブ局の、前回の測定時における伝送遅れ時間Δｔｎ（ｎ＝１〜４）を参照し、この伝送遅れ時間Δｔｎ（ｎ＝１〜４）を受信間隔規定値ｒｔ＊　から減算した値を、今回の送信タイミング用調整データＤｔｎとする。
【００６４】
そして、タイミング発生回路６７ａでは、フラグ検出部５２でスレーブ局からの伝送フレームのフラグデータｓ１を検出した時点から、タイミング設定レジスタ６９に設定された送信タイミング用調整データＤｔで指定された時間だけ経過し、且つ演算処理部１１による送信レジスタ６１への送信データの書き込み終了が通知されているとき、送信レジスタ６３に格納されたフレーム情報にフラグデータｍ１、ｍ６を付加し、これを伝送フレームとして送信する。
【００６５】
したがって、マスタ局Ｍでは、送信回路６５に起動指令を通知してから、これに対する応答の伝送フレームを受信するまでの伝送遅れ時間Δｔｎを測定して、これを所定の記憶領域に格納し、また、タイミング発生回路６７ａでは、この応答の伝送フレームを受信した時点からの経過時間を測定する。
今、図１０に示すように、時点ｔ１１で、スレーブ局Ｓ１に対する伝送フレームの起動指令を通知したものとすると、スレーブ局Ｓ１では、この伝送フレームを受信すると、これをトリガとしてマスタ局宛の伝送フレームを送信する。
【００６６】
マスタ局Ｍでは、時点ｔ１２でスレーブ局Ｓ１からの伝送フレームの受信を開始すると、タイミング発生回路６７ａでは、時点ｔ１２からの経過時間の計測を開始する。一方、演算処理部４１では、受信間隔規定値ｒｔ＊　から次の送信先のスレーブ局、つまりＳ２の前回検出時の伝送遅れ時間Δｔ２を減算してこれを今回の送信タイミング用調整データＤｔとしてタイミング設定レジスタ６９に設定し、タイミング発生回路６７ａでは、スレーブ局Ｓ１からの伝送フレームを受信開始した時点からの経過時間がタイミング設定レジスタ６９に設定された送信タイミング用調整データＤｔ１（＝ｒｔ＊　−Δｔ２）に達し、且つ、演算処理部４１から送信データ書き込み終了通知が行われたとき（時点ｔ１３）、起動指令を送信回路６５に通知する。
【００６７】
これを受けて送信回路６５では、第２送信レジスタ６２に設定されたフレーム情報をもとに伝送フレームを生成しこれをスレーブ局Ｓ２宛に送信する。
スレーブ局Ｓ２では、この伝送フレームを受信するとこれをトリガとして、マスタ局宛の伝送フレームを送信し、時点ｔ１３から伝送遅れ時間Δｔ２が経過した時点ｔ１４で、マスタ局Ｍは、スレーブ局Ｓ２からの伝送フレームの受信を開始する。
【００６８】
ここで、前記タイミング発生回路６７ａでは、スレーブ局Ｓ１からの伝送フレームの受信を開始した時点からの経過時間が、受信間隔規定値ｒｔ＊　から次の送信先のスレーブ局の前回の伝送遅れ時間Δｔ２を減算した時間が経過したときに、起動指令を通知するようにしており、この時点で、マスタ局Ｍからスレーブ局Ｓ２への伝送フレームの送信を開始している。
【００６９】
したがって、スレーブ局Ｓ１からの伝送フレームの受信を開始した時点から、送信タイミング用調整データＤｔ１と今回の伝送遅れ時間Δｔ２との和が経過したときに、スレーブ局Ｓ２からの伝送フレームの受信を開始することになり、伝送遅れ時間Δｔ２の前回値と今回値とはほぼ同等とみなすことができるから、送信タイミング用調整データＤｔ１と伝送遅れ時間Δｔ２との和は、受信間隔規定値ｒｔ＊　と同等となる。
【００７０】
このため、各スレーブ局Ｓ１〜Ｓ４が、これらと同様の動作を行うことにより、各スレーブ局からの伝送フレームの受信間隔ｒｔｎは一定、つまり受信間隔規定値ｒｔ＊　と同等となり、マスタ局Ｍは、各スレーブ局からの伝送フレームを一定の受信間隔ｒｔ＊　で受信することになる。
したがって、図１０に示すように、マスタ局Ｍから伝送フレームを送信する際の、送信間隔ｓｔｎはばらつくものの、伝送バスの長さのばらつきや遅延時間のばらつきの影響を受けることなく、マスタ局Ｍが各スレーブ局からの伝送フレームを一定の受信間隔ｒｔｎで受信可能な通信システムを実現することができる。よって、このように伝送フレームを一定の受信間隔で受信することができるから、演算処理部（ＣＰＵ）４１は、受信データを一定間隔で読み込むことが可能となり、受信データに対する処理を一定間隔で実行することができる。
【００７１】
なお、起動時等、前記時間差測定部６８で、各スレーブ局の伝送遅れ時間Δｔｎを把握していない場合には、予め設定した伝送遅れ時間Δｔｎの初期値に基づいて次の伝送フレームの送信タイミングを設定するようにすればよい。
また、前記時間差測定部６８における伝送遅れ時間Δｔｎの測定は、必ずしも毎回行う必要はなく、例えば起動時、或いは所定タイミングで行うようにすればよい。また、演算処理部４１においても、送信タイミング用調整データＤｔを毎回設定する必要はなく、起動時、或いは所定タイミングで行うようにすればよく、また、各回の送信タイミング用調整データＤｔをタイミング設定レジスタ６９に設定しておいてもよい。
【００７２】
また、演算処理部４１では、受信間隔規定値ｒｔ＊　から次の送信先のスレーブ局、つまりＳ２の前回検出時の伝送遅れ時間Δｔ２を減算してこれを今回の送信タイミング用調整データＤｔとしてタイミング設定レジスタ６９に設定し、タイミング発生回路６７ａでは、スレーブ局からの伝送フレームを受信開始した時点からの経過時間がタイミング設定レジスタ６９に設定された送信タイミング用調整データに達したときに、起動指令を送信回路６５に通知するようにした場合について説明したが、例えば、タイミング発生回路６７ａで、伝送フレームの送信開始時点からの経過時間を計測する計測手段を設け、例えばマスタ局Ｍでは、スレーブ局Ｓ１、Ｓ２の順に伝送フレームを送信するものとすると、スレーブ局Ｓ１宛の伝送フレームの送信開始時点からの経過時間が、スレーブ局Ｓ１の前回検出時の伝送遅れ時間Δｔ１と受信間隔規定値ｒｔ＊　との和から、スレーブ局Ｓ２の前回検出時の伝送遅れ時間Δｔ２を減算した値に達したときに、起動指令を送信回路６５に通知するようにしてもよく、この場合も、上記と同等の作用効果を得ることができる。
【００７３】
なお、上記第３の実施の形態において、時間差測定部６８が時間差検出手段に対応し、演算処理部４１において、送信タイミング用調整データＤｔｎを前記タイミング設定レジスタ６９に設定し、タイミング発生回路６７ａで計測した経過時間が、前記送信タイミング用調整データＤｔｎに達したとき前記送信回路６５に起動指令を通知する処理が、マスタ側送信指示手段に対応している。
【００７４】
次に、本発明の第４の実施の形態を説明する。
この第４の実施の形態は、上記第１の実施の形態において、図１１に示すように、マスタ局Ｍの演算処理部４１の処理が異なり、これに応じてタイミング発生回路６７ｂの処理が異なること以外は同様であるので、同一部には同一符号を付与しその詳細な説明は省略する。
【００７５】
この第４の実施の形態における演算処理部４１は、図１１に示すように、マスタ局Ｍからスレーブ局Ｓ１〜Ｓ４への伝送フレームのデータ長及び、スレーブ局Ｓ１〜Ｓ４からマスタ局Ｍへの伝送フレームのデータ長を検知しこれに応じて伝送フレームの送信タイミングを設定する送信タイミング設定手段４１ａを有している。
【００７６】
図１２は、送信タイミング設定手段４１ａにおける送信タイミング設定処理の処理手順の一例を示すフローチャートである。
この送信タイミング設定処理は、演算処理部４１において、スレーブ局への送信データが設定されたとき実行される。
スレーブ局への送信データが設定されると、まず、ステップＳ１０１で、この送信データを含んで構成される伝送フレームのデータ長を検出し、このデータ長の伝送フレームを送信するのに要する所要時間をデータ長相当時間ＴＬｍ（ｔ）として算出する。つまり、マスタ局Ｍの送信回路６５において伝送フレームの送信を開始してから送信し終えるまでの所要時間を算出する。次に、ステップＳ１０２に移行し、この伝送フレームに対する応答の伝送データを含む伝送フレームのデータ長を検出し、同様に、これに対応するデータ長相当時間ＴＬｓ（ｔ）を算出する。つまり、マスタ局Ｍのフラグ検出部５２において、スレーブ局からの伝送フレームのフラグデータｓ１を検出した時点からフラグデータｓ６を検出するまでの所要時間を算出する。
【００７７】
これら伝送フレームのデータ長の検出は、次のようにして行う。
ここで、スレーブ局から送信される伝送フレームの伝送データの内容が、マスタ局Ｍからスレーブ局へ送信される伝送フレーム中の伝送データの内容に応じて特定される場合、すなわち、例えば、マスタ局Ｍからスレーブ局に対し、指定時間分の指定機器のモニタ情報を送信するよう指示し、これに応じた伝送データをスレーブ局が送信する場合等には、マスタ局Ｍからスレーブ局への伝送フレームのデータ長は、演算処理部４１において設定する送信データのデータ長に基づいて容易に検出することができ、また、この伝送フレームに対する応答の伝送フレームのデータ長は、マスタ局Ｍからの送信データのデータ内容に基づいて推定することができる。
【００７８】
したがって、前記演算処理部４１において設定された送信データのデータ長からこの送信データを含む伝送フレームのデータ長を検出することにより、マスタ局Ｍからスレーブ局に送信する伝送フレームのデータ長Ｌｍ（ｔ）を検出し、このデータ長Ｌｍ（ｔ）の伝送フレームの送信に要する所要時間を推測することにより、データ長相当時間ＴＬｍ（ｔ）を得ることができる。このデータ長相当時間ＴＬｍ（ｔ）は、例えば、マスタ局Ｍがスレーブ局に対して、１ビットのデータを送信するために必要な所要時間を予め検出しておき、この所要時間とデータ長Ｌｍ（ｔ）とに基づいて算出する。
【００７９】
また、送信データのデータ内容から、この伝送フレームに対する応答として送信される伝送データのデータ長を推測し、これに基づきスレーブ局からの伝送フレームのデータ長Ｌｓ（ｔ）を推測し、このデータ長Ｌｓ（ｔ）の伝送フレームの送信に要する所要時間を推測することにより、データ長相当時間ＴＬｓ（ｔ）を得ることができる。この所要時間ＴＬｓ（ｔ）は、例えば、スレーブ局がマスタ局Ｍに対して１ビットのデータを送信するために必要な所要時間を予め検出しておき、この所要時間とデータＬｓ（ｔ）とに基づいて算出する。
【００８０】
そして、これらデータ長相当時間ＴＬｍ（ｔ）、ＴＬｓ（ｔ）をそれぞれ送信先、送信元のスレーブ局と対応付けて、所定の記憶領域に格納する。
次に、ステップＳ１０３に移行し、今回の伝送フレームの送信先のスレーブ局から受信する伝送フレームに対応する、データ長相当時間を、所定の記憶領域から読み出す。ここで、各スレーブ局では、マスタ局から受信した伝送フレームの伝送データに対する応答を、次にマスタ局からの伝送フレームを受信したときに送信するようになっているものとすると、今回、マスタ局が送信する伝送フレームをトリガとしてスレーブ局から送信される伝送フレームは、マスタ局が前回このスレーブ局に対して伝送フレームを送信したときに算出したデータ長相当時間と対応することになる。
【００８１】
したがって、所定の記憶領域に格納されている前回このスレーブ局に対して送信した伝送フレームに対するスレーブ局からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）を読み出し、これが、次式（１）を満足するかどうかを判断する。
ＴＬｍ（ｔ）＜Δｔｎ＋ＴＬｓ（ｔ−１）＋Ｔ　　　　……（１）
なお、式中のΔｔｎは、図１３に示すように、マスタ局Ｍが伝送フレームを送信してから、この伝送フレームをトリガとしてスレーブ局から送信される伝送フレームの受信を開始するまでの伝送遅れ時間である。この伝送遅れ時間Δｔｎは、上記実施の形態で説明したように、予め検出しこれを所定の記憶領域に記憶しておいてもよく、また、その都度計測するようにしてもよい。
【００８２】
また、式中のＴは待ち時間であって、スレーブ局からの伝送フレームの受信を終了した時点から、マスタ局が次の伝送フレームの送信を開始するまでの間隔である。
つまり、前記（１）式では、マスタ局Ｍが伝送フレームを送信してから、これに対する応答としてスレーブ局からの伝送フレームの受信を終了し、さらに、この終了時点から待ち時間Ｔが経過するまでの時間と、マスタ局が送信する伝送フレームの送信が終了するまでの時間とを比較している。
【００８３】
また、ここでは、スレーブ局が、マスタ局から今回送信する伝送フレームをトリガとして送信する伝送フレームの伝送データは、前回マスタ局から送信した伝送フレームの伝送データに対応する伝送データであるものとして、マスタ局の今回送信時の伝送フレームのデータ長相当時間ＴＬｍ（ｔ）と、スレーブ局の前回送信時の伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）とを比較している。したがって、例えば、マスタ局からの伝送フレームに対し、この伝送フレーム中の伝送データに対する応答の伝送データを含む伝送フレームが、次々回の時点で送信される伝送フレームをトリガとして送信される場合には、今回マスタ局Ｍから送信する伝送フレームのデータ長相当時間ＴＬｍ（ｔ）と、前々回の時点におけるデータ長Ｌｓ（ｔ−２）とを比較するようにすればよい。
【００８４】
ステップＳ１０３の処理で、伝送フレームのデータ長相当時間ＴＬｍ（ｔ）とＴＬｓ（ｔ−１）とを比較した結果、前記（１）式を満足する場合、つまり、マスタ局の伝送フレームの送信に要する所要時間が、マスタ局が伝送フレームの送信開始した時点から、これに対するスレーブ局からの伝送フレームを受信完了し、さらに待ち時間Ｔが経過するまでの時間よりも短いと判定される場合には、ステップＳ１０４に移行し、スレーブ局からの伝送フレームの受信が完了したかどうかを判定する。この判定は、例えば、フラグ検出部５２においてフラグデータｓ６を検知したとき、これを演算処理部４１に通知するようにし、この通知が行われたとき、伝送フレームの受信が完了したものと判定する。
【００８５】
そして、伝送フレームの受信が完了したと判定されるときにステップＳ１０５に移行し、伝送フレームの受信が完了した時点からの経過時間の計測を開始し、この経過時間が待ち時間Ｔに達したときにステップ１０６に移行し、タイミング発生回路６７ｂに対し、送信開始指示を行う。これを受けて、タイミング発生回路６７ｂでは、送信回路６５に対し、起動指令を通知する。
【００８６】
一方、前記ステップＳ１０３で、前記（１）式を満足しない場合には、ステップＳ１０７に移行し、スレーブ局への伝送フレームの送信が完了したかどうかを判定する。この判定は、例えば、送信回路６５がフラグデータｍ６を送信したことを検出したときにこれを演算処理部４１に通知すること等によって判断する。そして、スレーブ局への伝送フレームの送信が終了した場合には、前記ステップＳ１０６に移行し、タイミング発生回路６７ｂに対して送信指示を行う。
【００８７】
つまり、マスタ局Ｍの前記演算処理部４１では、前記（１）式を満足する場合には、スレーブ局からの伝送フレームの受信が完了した時点から、さらに待ち時間Ｔが経過した時点で、次のスレーブ局への伝送フレームの送信を開始する。そして、前記（１）式を満足しないとき、つまり、マスタ局Ｍからの伝送フレームの送信完了タイミングが、この伝送フレームをトリガとしてスレーブ局から送信される伝送フレームをマスタ局Ｍが受信完了し、さらにこの時点から待ち時間Ｔが経過した時点よりも遅いとき、すなわち、マスタ局Ｍが、スレーブ局からの伝送フレームを受信完了した時点から待ち時間Ｔが経過した時点で、次の伝送フレームの伝送を開始した場合、先の伝送フレームの送信が完了しておらず、スレーブ局への伝送フレームの送信を正常に行うことができない予測されるときには、マスタ局Ｍからスレーブ局への伝送フレームの送信が完了した時点で、次の伝送フレームの送信指示を行う。
【００８８】
したがって、図１３に示すように、マスタ局Ｍでは、スレーブ局からの伝送フレームを受信終了した時点から待ち時間Ｔが経過した時点で次の伝送フレームを送信するようにしているから、マスタ局からの伝送フレーム及びスレーブ局Ｓ１〜Ｓ４からの伝送フレームのデータ長が異なる場合であっても、待ち時間Ｔの間隔をもって効率よく、伝送フレームの伝送を行うことができる。また、待ち時間Ｔの間隔で伝送フレームの送信を行った場合に、マスタ局Ｍが送信する伝送フレームが重ならず正常に伝送を行うことができるかどうかを予測するようにし、図１３に示すように、時点ｔ２１で、次にマスタ局Ｍから送信するスレーブ局Ｓ４宛の伝送フレームのデータ長相当時間ＴＬｍ（ｔ）が、スレーブ局Ｓ４から受信すると予測される伝送フレームのデータ長相当時間ＴＬｓ４（ｔ−１）と伝送遅れ時間Δｔ４と待ち時間Ｔとの和よりも長く、待ち時間Ｔが経過した時点ｔ２２で、マスタ局Ｍが次のスレーブ局宛の伝送フレームの送信を開始しようとした場合には、マスタ局からスレーブ局Ｓ４宛の伝送フレームの送信がまだ終了しておらず、この時点で、次のスレーブ局宛の伝送フレームの送信を指示した場合、伝送フレームの送信が重なることになり、正常に伝送フレームの送信を行うことができないと予測されるときは、マスタ局Ｍからの伝送フレームの送信が終了を待って、時点ｔ２３で次の伝送フレームの送信を開始するようにしているから、伝送フレームどうしが重なることはない。
【００８９】
また、伝送フレームの長短に関わらず、待ち時間Ｔの間隔で送信するようにした場合であっても、伝送フレームが衝突することなく通信を行うことができるから、従来のように、例えば最も長さの長い伝送フレームに応じて送信間隔を設定する必要はなく、待ち時間Ｔを任意に設定することができ、伝送フレームの送信タイミングを最適化することができる。よって、マスタ局或いはスレーブ局において、伝送フレームの送受信に伴う処理時間を削減することができ、演算周期が伸びることに起因してシステム性能が悪化することを回避することができる。
【００９０】
なお、上記第４の実施の形態において、図１２のステップＳ１０１の処理が送信フレーム長推定手段に対応し、ステップＳ１０２の処理が応答フレーム長推定手段に対応し、ステップＳ１０３からステップＳ１０６の処理が、マスタ側送信指示手段に対応している。
次に、本発明の第５の実施の形態を説明する。
【００９１】
この第５の実施の形態は、図１３に示すように、上記第１の実施の形態において、マスタ局Ｍの演算処理部４１の処理が異なり、さらに送信部４５においてタイマ値設定レジスタ７０が追加され、タイミング発生回路６７ｃの処理が異なること以外は同様であるので、同一部には同一符号を付与しその詳細な説明は省略する。
【００９２】
この第５の実施の形態における演算処理部４１は、図１４に示すように、マスタ局Ｍからスレーブ局Ｓ１〜Ｓ４への伝送フレームのデータ長及び、スレーブ局Ｓ１〜Ｓ４からマスタ局Ｍへの伝送フレームのデータ長を検知しこれに応じてタイマ値を設定し、これをタイマ値設定レジスタ７０に格納するタイマ値設定手段４１ｂを有している。そして、タイミング発生回路６７ｃでは、伝送フレーム送信開始時点からの経過時間を計測し、この経過時間が、タイマ値設定手段４１ｂによりタイマ値設定レジスタ７０に格納されたタイマ値に達したときに、送信回路６５に起動指令を通知するようになっている。
【００９３】
図１５は、タイマ値設定手段４１ｂにおけるタイマ値設定処理の処理手順の一例を示すフローチャートであって、このタイマ値設定処理は、前記演算処理部４１において送信データが設定されたときに実行されるようになっている。
演算処理部４１において送信データが設定されると、まず、ステップＳ１１１で、上記第４の実施の形態と同様にして、この送信データを含んで構成される伝送フレームのデータ長を検出し、このデータ長の伝送フレームを送信するのに要するデータ長相当時間ＴＬｍ（ｔ）を算出する。同様に、ステップＳ１１２で、この伝送フレームに対する応答の伝送データを含む伝送フレームのデータ長を検出し、これに対応するデータ長相当時間ＴＬｓ（ｔ）を算出する。そして、これらデータ長相当時間ＴＬｍ（ｔ）及びＴＬｓ（ｔ）を送信先、送信元のスレーブ局を対応付けて、所定の記憶領域に格納する。
【００９４】
次に、ステップＳ１１３に移行し、次に送信するスレーブ局へ前回送信した伝送フレームに対するスレーブ局からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）を所定の記憶領域から読み出し、これと、今回マスタ局から送信する伝送フレームのデータ長相当時間ＴＬｍ（ｔ）とを比較する。
なお、ここでは、マスタ局から今回送信する伝送フレームの受信をトリガとしてスレーブ局から送信する伝送フレームの伝送データは、前回マスタ局から送信した伝送フレームの伝送データに対応する伝送データであるものとして、マスタ局の今回送信時の伝送フレームのデータ長相当時間ＴＬｍ（ｔ）と、スレーブ局の前回送信時の伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）とを比較している。したがって、例えば、マスタ局からの伝送フレームに対し、この伝送フレーム中の伝送データに対する応答の伝送データを含む伝送フレームが、次々回の時点で送信される伝送フレームをトリガとして送信される場合には、前々回の時点におけるデータ長Ｌｓ（ｔ−２）とを比較するようにすればよい。
【００９５】
そして、伝送フレームのデータ長相当時間ＴＬｍ（ｔ）とＴＬｓ（ｔ−１）とを比較した結果、マスタ局が送信する伝送フレームのデータ長相当時間ＴＬｍ（ｔ）の方が大きい場合には、ステップＳ１１４に移行し、このデータ長相当時間ＴＬｍ（ｔ）に応じたタイマ値、例えば、データ長相当時間ＴＬｍ（ｔ）に余裕分を加算した値ＴＬｍ（ｔ）＊　をタイマ値として、これをタイマ値設定レジスタ７０に設定する。そして処理を終了する。
【００９６】
一方、前記伝送フレームのデータ長相当時間ＴＬｍ（ｔ）とＴＬｓ（ｔ−１）とを比較した結果、スレーブ局からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）の方が大きい場合には、ステップＳ１１５に移行し、データ長相当時間ＴＬｓ（ｔ−１）に応じたタイマ値、例えば、データ長相当時間ＴＬｓ（ｔ−１）に、余裕分を加算した値ＴＬｓ（ｔ−１）＊　をタイマ値として、これをタイマ値設定レジスタ７０に設定する。そして処理を終了する。
【００９７】
したがって、今、マスタ局Ｍにおいて、スレーブ局Ｓ１への送信データが設定されると、この送信データに基づいてマスタ局Ｍが送信する伝送フレームのデータ長に相当する時間ＴＬｍ（ｔ）が算出される。このデータ長相当時間ＴＬｍ（ｔ）が、前回スレーブ局Ｓ１に送信した伝送フレームに対するスレーブ局Ｓ１からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）よりも小さい場合には、ステップＳ１１１、Ｓ１１２、Ｓ１１３を経てステップＳ１１５に移行するから、今回マスタ局Ｍからステーブ局Ｓ１に伝送フレームを送信した場合に、受信すると予測される伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）に基づくタイマ値ＴＬｓ（ｔ−１）＊　が、タイマ値設定レジスタ７０に設定される。
【００９８】
そして、図１６に示すようにタイミング発生回路６７ｃでは、先に送信した伝送フレームの送信開始時点からの経過時間が、タイマ値設定レジスタ７０に格納されたタイマ値、この場合、ＴＬｓ（ｔ−１）＊　に達したとき（時点ｔ３１）、起動指令を送信回路６５に通知すると共に、新たにこの時点からの経過時間の計測を開始する。送信回路６５では、タイミング発生回路６７ｃからの起動指令を受けてスレーブ局Ｓ１への伝送フレームの送信を開始する。
【００９９】
スレーブ局Ｓ１では、この伝送フレームを受信するとこれをトリガとして、マスタ局Ｍ宛の伝送フレームの送信を開始し、マスタ局Ｍでは、時点ｔ３２でこのスレーブ局Ｓ１からの伝送フレームの受信を開始する。
この間、演算処理部４１では、次のスレーブ局Ｓ２宛の送信データを生成しこれを送信レジスタ６１に書き込み、また、タイマ値設定手段４１ｂでは、送信データに基づいて伝送フレームのデータ長相当時間ＴＬｍ（ｔ）及びＴＬｓ（ｔ）を算出し、データ長相当時間ＴＬｍ（ｔ）と先のＴＬｓ（ｔ−１）とを比較し、例えば、これらが同じ長さである場合には、スレーブ局からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）に基づいてタイマ値ＴＬｓ（ｔ−１）＊　を設定し、これをタイマ値設定レジスタ７０に格納する。
【０１００】
そして、タイミング発生回路６７ｃでは、時点ｔ３１でスレーブ局Ｓ１宛の伝送フレームを送信した時点からの経過時間が、時点ｔ３３でタイマ値、この場合ＴＬｓ（ｔ−１）＊　に達したとき、起動指令を送信回路６５に通知し、送信回路６５では、次にスレーブ局Ｓ２宛の伝送フレームの送信を開始する。そして、この伝送フレームをトリガとして送信されるスレーブ局Ｓ２からの伝送フレームを時点ｔ３５で受信開始する。
【０１０１】
ここで、マスタ局Ｍがスレーブ局宛に伝送フレームを送信してから、これに対するスレーブ局からの伝送フレームを受信開始するまでに伝送遅れ時間Δｔｎが発生するが、マスタ局Ｍと各スレーブ局との間の伝送遅れ時間Δｔｎが同等であるものとすると、例えば、図１６に示すように、時点ｔ３３でマスタ局Ｍがスレーブ局Ｓ２宛の伝送フレームの送信を開始した時点では、マスタ局Ｍでは、スレーブ局Ｓ１からの伝送フレームをまだ受信完了していないが、時点ｔ３３から伝送遅れ時間Δｔ２が経過した時点ｔ３５で、スレーブ局Ｓ２からの伝送フレームの受信を開始することになるから、スレーブ局Ｓ１及びＳ２からの伝送フレームが衝突することはない。
【０１０２】
そして、マスタ局Ｍが送信する伝送フレームのデータ長相当時間ＴＬｍ（ｔ）が、スレーブ局Ｓ２からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）よりも小さく、タイマ値としてＴＬｓ（ｔ−１）＊　が設定されたならば、時点ｔ３３で、スレーブ局Ｓ２宛の伝送フレームの送信を開始した時点からの経過時間がＴＬｓ（ｔ−１）＊　に達した時点ｔ３６で、タイミング発生回路６７ｃでは、送信回路６５に対し起動指令を通知し、次に、スレーブ局Ｓ３への伝送フレームの送信を開始する。
【０１０３】
そして、スレーブ局Ｓ３への伝送フレームのデータ長相当時間ＴＬｍ（ｔ）が、スレーブ局Ｓ３からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）よりも小さい場合には、タイマ値としてＴＬｍ（ｔ）＊　が設定される。よって、時点ｔ３６から、タイマ値ＴＬｍ（ｔ）＊　が経過した時点ｔ３８で、タイミング発生回路６７ｃでは、起動指令を通知し、送信回路６５では、この時点からスレーブ局Ｓ４宛の伝送フレームの送信を開始する。
【０１０４】
そして、時点ｔ３８から伝送遅れ時間Δｔ４が経過した時点ｔ４０で、スレーブ局Ｓ４からの伝送フレームの受信を開始する。
ここで、時点ｔ３８でスレーブ局Ｓ３からの伝送フレームの受信を終了した時点から、時点ｔ４０でスレーブ局Ｓ４からの伝送フレームの受信を開始するまでに間隔があるが、この場合、時点ｔ３７でマスタ局がスレーブ局Ｓ３宛の伝送フレームの送信が終了し、時点ｔ３９で次のスレーブ局Ｓ４宛の伝送フレームを送信するようにしており、マスタ局Ｍでは、時点ｔ３７で伝送フレームの送信が終了した時点で速やかに次の伝送フレームを送信しているから、無駄時間なく伝送フレームの送信が行われることになる。
【０１０５】
したがって、このように、マスタ局Ｍから送信する伝送フレーム、スレーブ局から受信する伝送フレームのデータ長相当時間に応じて、伝送フレームの受信間隔及び送信フレームの送信間隔に無駄時間が発生しないように次の伝送フレームの送信タイミングを設定するようにしているから、効率よく伝送フレームの伝送を行うことができ、マスタ局或いはスレーブ局において、伝送フレームの送受信に伴う演算処理部における処理時間を削減することができ、演算周期が伸びることに起因してシステム性能が悪化することを回避することができる。
【０１０６】
なお、この第５の実施の形態は、マスタ局Ｍとスレーブ局Ｓ１〜Ｓ４との間の伝送遅れ時間Δｔ１〜Δｔ４を同等であるものと仮定した場合について説明したが、伝送遅れ時間Δｔ１〜Δｔ４にばらつきがある場合には、図１５のステップＳ１１３の処理において、ばらつきを考慮して判断を行うようにすればよい。
つまり、伝送遅れ時間Δｔ１〜Δｔ４を検出する伝送遅れ時間検出手段（時間差検出手段）を設け、タイミング発生回路６７ｃにおいて、第１の伝送フレームの送信開始時点からの経過時間を計測する。また、データ長相当時間ＴＬｍ（ｔ）から第１の伝送フレームの送信完了タイミングを予測すると共に、第１の伝送フレームの送信先のスレーブ局との伝送遅れ時間及び第１の伝送フレームに対するスレーブ局からの伝送フレームのデータ長相当時間ＴＬｓ（ｔ−１）から第１の伝送フレームに対するスレーブ局からの伝送フレームの受信完了タイミングを予測し、前記第１の伝送フレームの次に送信する第２の伝送フレームをトリガとしてスレーブ局から送信される伝送フレームを、前記受信完了タイミングから余裕時間が経過した時点で受信開始するための前記第２の伝送フレームの送信開始タイミングを予測する送信開始タイミング予測手段を設ける。そして、この予測した送信開始タイミングが、前記第１の伝送フレームの受信完了タイミングよりも遅いときには、予測した送信開始タイミングに応じて前記タイミング発生回路６７ｃに対するタイマ値を設定し、予測した送信開始タイミングが、前記第１の伝送フレームの受信完了タイミング以前であるときには、前記第１の伝送フレームの受信完了タイミングに応じて前記タイマ値を設定する。
【０１０７】
このようにすることによって、伝送遅れ時間Δｔ１〜Δｔ４のばらつきを考慮して判定が行われるから、ばらつきがある場合であっても、伝送フレームどうしが衝突することなく、的確に伝送を行うことができる。
なお、上記第５の実施の形態において、送信回路６５がマスタ側フレーム送信手段に対応し、図１５のステップＳ１１１の処理が送信フレーム長推定手段に対応し、ステップＳ１１２の処理が応答フレーム長推定手段に対応し、ステップＳ１１３〜ステップＳ１１５の処理及びタイミング発生回路６７ｃ、タイマ値設定レジスタがマスタ側送信指示手段に対応している。
【０１０８】
【発明の効果】
以上説明したように、本発明に係る通信システムによれば、スレーブ局では、マスタ局からの伝送フレームが自スレーブ局を特定する識別情報を含むとき、マスタ局に対する伝送フレームを送信するようにしたから、マスタ局側で、伝送フレームの送信タイミングを調整することにより伝送フレームどうしが衝突することなく容易に伝送フレームの伝送を行うことができ、また、回路の増加等を伴うことなく容易に実現することができる。また、マスタ局からの伝送フレームの送信タイミングを調整することにより、スレーブ局からの伝送フレームの受信タイミングを調整することができる。
【０１０９】
特に、請求項３及び請求項４に係る通信システムによれば、スレーブ局側の指示タイミング調整手段によって、マスタ局への送信開始の指示タイミングを調整し、例えば、ケーブル長の違いやボード等により各スレーブ局間においてマスタ局が伝送フレームを送信した時点から、スレーブ局からの伝送フレームの受信を開始するまでの所要時間にばらつきがある場合であっても、例えばこの所要時間のばらつきがなくなるように、スレーブ局側でマスタ局への伝送フレームの送信タイミングを調整することによって、前述のばらつきを除去することができる。
【０１１０】
また、請求項５及び６に係る通信システムによれば、マスタ局における伝送フレームの送信開始タイミングと、この伝送フレームをトリガとしてスレーブ局から送信される伝送フレームのマスタ局における受信開始タイミングとの時間差を検出し、これに基づいてマスタ局における伝送フレームの送信開始の指示タイミングを調整することによって、例えば、第１の伝送フレームをトリガとしたスレーブ局からの伝送フレームの受信開始タイミングと第１の伝送フレームの次に送信される第２の伝送フレームをトリガとしたスレーブ局からの伝送フレームの受信開始タイミングとの間隔が規定値となるような前記第２の伝送フレームの送信開始タイミングを予測し、予測した送信開始タイミングに基づいて前記第２の伝送フレームに対する送信開始の指示を行うことによって、マスタ局側で、スレーブ局からの伝送フレームの受信開始タイミングが一定となるように調整することができる。
【０１１１】
また、請求項７乃至１０に係る通信システムによれば、スレーブ局への伝送フレームのデータ長、この伝送フレームをトリガとしてスレーブ局から送信される応答フレームのデータ長、また、場合に応じて前記伝送フレーム及び前記応答フレーム間の時間差を検出し、これらに基づいて、応答フレームの受信完了タイミングを予測すると共に、前記伝送フレームの送信完了タイミングを予測し、この送信完了タイミングと受信完了タイミングとの相対関係に基づいてマスタ局における伝送フレームの送信開始の指示タイミングを調整することによって、前記伝送フレームどうしが衝突することなく且つより無駄時間が少なくなるようなタイミングでマスタ局及びスレーブ局からの伝送フレームの伝送を行うことができ、通信システムの処理性能を向上させることができる。
【図面の簡単な説明】
【図１】本発明を適用した通信システムの一例を示すシステム構成図である。
【図２】マスタ局及びスレーブ局との間で授受される伝送フレームのフォーマットの一例である。
【図３】第１の実施の形態におけるスレーブ局の構成を示すブロック図の一例である。
【図４】第１の実施の形態におけるマスタ局の構成を示すブロック図の一例である。
【図５】第１の実施の形態の動作説明に供するタイミングチャートである。
【図６】第２の実施の形態におけるスレーブ局の構成を示すブロック図の一例である。
【図７】第２の実施の形態の動作説明に供するタイミングチャートである。
【図８】第３の実施の形態におけるマスタ局の構成を示すブロック図の一例である。
【図９】第３の実施の形態の動作説明に供するタイミングチャートである。
【図１０】第３の実施の形態の動作説明に供するタイミングチャートである。
【図１１】第４の実施の形態におけるマスタ局の構成を示すブロック図の一例である。
【図１２】図１１の送信タイミング設定手段４１ａにおいて実行される送信タイミング設定処理の処理手順の一例を示すフローチャートである。
【図１３】第４の実施の形態の動作説明に供するタイミングチャートである。
【図１４】第５の実施の形態におけるマスタ局の構成を示すブロック図の一例である。
【図１５】図１４のタイマ値設定手段４１ｂにおいて実行されるタイマ値設定処理の処理手順の一例を示すフローチャートである。
【図１６】第５の実施の形態の動作説明に供するタイミングチャートである。
【図１７】従来の伝送フレームの伝送手順を説明するためのタイミングチャートである。
【符号の説明】
１１、４１　演算処理部
４１ａ　送信タイミング設定手段
４１ｂ　タイマ値設定手段
１３、４３　受信部
１５、４５　送信部
２６、５６　アドレス検出部
３５、６５　送信回路
３７　遅延発生回路
３８　遅延時間設定レジスタ
６７、６７ａ　タイミング発生回路
６８　時間差測定部
６９　タイミング設定レジスタ
Ｍ　マスタ局
Ｓ１〜Ｓ４　スレーブ局
【図１】
2004128581.tif 000003
【図２】
2004128581.tif 000004
【図３】
2004128581.tif 000005
【図４】
2004128581.tif 000006
【図５】
2004128581.tif 000007
【図６】
2004128581.tif 000008
【図７】
2004128581.tif 000009
【図８】
2004128581.tif 000010
【図９】
2004128581.tif 000011
【図１０】
2004128581.tif 000012
【図１１】
2004128581.tif 000013
【図１２】
2004128581.tif 000014
【図１３】
2004128581.tif 000015
【図１４】
2004128581.tif 000016
【図１５】
2004128581.tif 000017
【図１６】
2004128581.tif 000018
【図１７】
2004128581.tif 000019