(57)【要約】【課題】ノイズによる影響を受けることなく安定して半二重の双方向データ転送を行うことが可能なレピータ装置を提供すること。【解決手段】一斉放送検出回路５５は、ラインレシーバー５１から入力されたフレームが一斉放送フレーム２０であった場合、一斉放送割込みをタイミング切替回路５６に出力する。一斉放送割込みを受けるとタイミング切替回路５６は、時間計測を開始して、子局３ｂ〜３ｃが応答フレームを送信する期間のみ、ラインドライバー５３を無効にしかつラインドライバー５４を有効にして、それ以外の期間はラインドライバー５４を無効にしかつラインドライバー５３を有効にするタイミング切替信号を発生することにより、通信方向を切り替える。【選択図】        図５
2005124082.tif 000002
【特許請求の範囲】
【請求項１】
主局および複数の子局を伝送媒体によって接続し、主局から所定の周期で送信される同期フレームによって複数の子局の同期をとると共に、前記同期フレームが送出された時点から所定のタイミングで主局から各子局への固定長の制御フレームおよび各子局から主局への固定長の応答フレームが交互に送信される半二重通信のシステムに適用され、該システムにおける主局と子局との間あるいは子局と子局との間に配設されるレピータ装置において、
一方の伝送媒体から入力される前記同期フレームおよび制御フレームを他方の伝送媒体に出力する下り方向伝送を有効とするかあるいは他方の伝送媒体から入力される前記応答フレームを一方の伝送媒体に出力する上り方向伝送を有効とするかを択一的に切替えて前記半二重通信を実行する送受信手段と、
前記一方の伝送媒体から入力される同期フレームを検出する同期検出手段と、
この同期検出手段による同期フレームの検出時点からの計時動作に基づき前記下り方向伝送を有効とするか上り方向伝送を有効とするかを切り替える切替え制御信号を発生し、発生した切替え制御信号を前記送受信手段に出力するタイミング切替手段と、
を備えることを特徴とするレピータ装置。
【請求項２】
前記タイミング切替手段は、
前記同期検出手段によって同期データが検出される度にカウント動作を実行するカウンタと、
このカウンタのカウント値に基づいて所要の応答フレームの送出期間にのみ上り方向伝送を有効とし、それ以外の期間は下り方向伝送を有効とする切替え制御信号を発生するデコード部と、
を備えることを特徴とする請求項１に記載のレピータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主局および複数の子局が伝送媒体によって接続され、主局から子局に対する固定長の制御フレームおよび子局から主局に対する固定長の応答フレームが半二重通信によって双方向に伝送されるシステムに用いて好適なレピータ装置に関するものである。
【背景技術】
【０００２】
通信において伝送媒体上の信号は、波形の歪やノイズの影響等によって劣化する。信号の劣化が大きくなると受信側が正しく信号を受信することができなくなる。そのため、ある程度の距離以上離れている機器を伝送媒体を用いて接続する場合には、伝送媒体の途中にレピータ装置を配置して、劣化した信号を再生する必要がある。
【０００３】
また、半二重の双方向通信を実現するためには、レピータ装置に、一方の伝送媒体から入力される信号を他方の伝送媒体に出力するかあるいは他方の伝送媒体から入力される信号を一方の伝送媒体に出力するかを択一的に切替える通信方向の切替え機能を備える必要もある。
【０００４】
特許文献１には、ＡＭＩ（Alternate Mark Inversion）信号を用いて共用線を伝送媒体として双方向通信を行う第１のネットワークと第２のネットワークとの間に接続される双方向リピータ回路に関する技術が開示されている。この特許文献１では、通常の運用状態においては、第１および第２のネットワークから双方向リピータ回路に入力される信号のタイミングが異なるので、コンパレータを用いて複極性のＡＭＩ信号を単極性信号にすることで先に信号が入力されたネットワークを検出して、検出したネットワークからの信号を他方のネットワークに出力するとともに、他方のネットワークから入力された信号の出力を禁止するようにしている。すなわち、特許文献１では、双方向リピータ回路に入力される信号レベルを検出することで通信方向を決定するようにしている。
【０００５】
【特許文献１】特開平０１−９３２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この従来技術においては、双方向リピータ回路に入力される信号レベルを検出することで通信方向を決定するようにしているので、ノイズ等の影響を受けると信号が入力されていない場合でも、ノイズを信号として検出して誤動作してしまうという問題があった。このため、この従来技術では、工場内のライン制御や多軸ロボットの制御などノイズが発生しやすい環境下での使用は、問題が多い。
【０００７】
本発明は、上記に鑑みてなされたものであって、ノイズによる影響を受けることなく安定して半二重の双方向データ転送を行うことが可能なレピータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、主局および複数の子局を伝送媒体によって接続し、主局から所定の周期で送信される同期フレームによって複数の子局の同期をとると共に、前記同期フレームが送出された時点から所定のタイミングで主局から各子局への固定長の制御フレームおよび各子局から主局への固定長の応答フレームが交互に送信される半二重通信のシステムに適用され、該システムにおける主局と子局との間あるいは子局と子局との間に配設されるレピータ装置において、一方の伝送媒体から入力される前記同期フレームおよび制御フレームを他方の伝送媒体に出力する下り方向伝送を有効とするかあるいは他方の伝送媒体から入力される前記応答フレームを一方の伝送媒体に出力する上り方向伝送を有効とするかを択一的に切替えて前記半二重通信を実行する送受信手段と、前記一方の伝送媒体から入力される同期フレームを検出する同期検出手段と、この同期検出手段による同期フレームの検出時点からの計時動作に基づき前記下り方向伝送を有効とするか上り方向伝送を有効とするかを切り替える切替え制御信号を発生し、発生した切替え制御信号を前記送受信手段に出力するタイミング切替手段とを備えることを特徴とするものである。
【０００９】
請求項２にかかる発明は、請求項１の発明において、前記タイミング切替手段は、前記同期検出手段によって同期データが検出される度にカウント動作を実行するカウンタと、このカウンタのカウント値に基づいて所要の応答フレームの送出期間にのみ上り方向伝送を有効とし、それ以外は下り方向伝送を有効とする切替え制御信号を発生するデコード部とを備えることを特徴とするものである。
【発明の効果】
【００１０】
この発明は、主局と複数の子局間で半二重の双方向通信を行う際に、それぞれが送信するフレームが固定長でありかつ各フレームの送出タイミングがシステムの同期を取るための同期フレームの送出時点から固定的に決まっていることに着目してなされたものである。請求項１の発明にかかるレピータ装置によれば、同期フレームを検出した時点からの計時動作すなわち時間管理に基づき通信方向（下り方向伝送を有効とするかあるいは上り方向伝送を有効とするか）を切り替えるようにしているので、ノイズによる影響を受けることなく通信方向の切替え動作を安定かつ正確に行うことができる。
【００１１】
請求項２の発明にかかるレピータ装置によれば、カウンタおよびデコーダによってタイミング切替手段を実現しているので、少ない部品点数でかつ安価なレピータ装置を取得することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかるレピータ装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１３】
図１〜図７を用いてこの発明の実施例を説明する。この実施例のレピータ装置が適用される分散数値制御システムは、例えば、工場内のライン制御システム、多軸ロボットの制御システムなどのＦＡ（Factory Automation）システムである。
【００１４】
図１は、この発明の実施例にかかるレピータ装置が配置される分散数値制御システムの構成の一例を示すブロック図である。この分散数値制御システムは、本システムを統括的に制御する主局としてのコントローラ１と、複数の子局（この場合は４台）３ａ〜３ｄとを有し、複数の子局によって３ａ〜３ｄによって制御対象であるモータ等の被駆動装置７ａ〜７ｄをサーボ駆動制御する。コントローラ１と複数の子局３ａ〜３ｄとは伝送媒体９，９ａ，９ｂによって接続されている。この場合、第１子局３ａと第２子局３ｂとの間に、本発明にかかるレピータ装置５が配置されている。
【００１５】
まず、図２および図３を用いて図１に示した分散数値制御システムの通信方式について説明する。図２は、データ伝送制御手順としてＨＤＬＣ（High level Data Link Control）方式を用いた場合のデータ転送フレームを示すものである。データ転送フレームは、図２に示すように、フレームの開始を示す１バイトのスタートフラグ１１、１バイトの送信先アドレス１２、１バイトのコマンド１３、固定長（ｎバイト）のデータ部１４、誤り検出のための２バイトのＣＲＣ（Cyclic Redundancy Check）１５およびフレームの終了を示す１バイトのエンドフラグ１６で構成される。
【００１６】
コントローラ１から子局３ａ〜３ｄに送信される制御フレームのデータ部１４には、各子局３ａ〜３ｄが被駆動装置７ａ〜７ｄを駆動制御するための制御データが挿入される。また、子局３ａ〜３ｄからコントローラ１に送信される応答フレームのデータ部１４には、被駆動装置７ａ〜７ｄの状態（例えばモータのフィードバックデータ）などを示す応答データが挿入される。これら制御フレームあるいは応答フレーム中のデータ部１４のバイト数ｎは固定であり、従って、制御フレームあるいは応答フレームのフレーム長も固定である。
【００１７】
図３は、図２に示した固定長のフレームを用いてコントローラ１と子局３ａ〜３ｄとが通信を行うシーケンス図である。コントローラ１は、被駆動装置７ａ〜７ｄを同期運転するために、図２のフレームにおいて送信先アドレス１２を"ＦＦｈ"とした全子局３ａ〜３ｄ宛ての一斉放送フレーム（同期フレーム）２０を所定の周期で送信する。コントローラ１は、この一斉放送フレーム２０を送信した時点から所定の時間が経過すると、第１子局３ａ宛ての制御フレーム２１を送信する。この制御フレーム２１においては、図２のフレームおいて送信先アドレス１２が子局３ａに対応するアドレスとされ、データ部１４には第１子局３ａ宛ての制御データが含まれている。第１子局３ａは、制御フレーム２１を受信すると、所定のタイミングで応答データを含むコントローラ１宛の応答フレーム２２を送信する。この応答フレーム２２においては、図２のフレームおいて送信先アドレス１２がコントローラ１に対応するアドレスとされ、データ部１４にはコントローラ１宛ての応答データが含まれている。
【００１８】
つぎに、コントローラ１は、一斉放送フレーム２０を送信した時点から所定の時間が経過すると、第２子局３ｂ宛ての制御フレーム２３を送信する。第２子局３ｂは、制御フレーム２３を受信すると所定のタイミングでコントローラ１宛の応答フレーム２４を送信する。つぎに、コントローラ１は、一斉放送フレーム２０を送信した時点から所定の時間が経過すると、第３子局３ｃ宛ての制御フレーム２５を送信する。第３子局３ｃは、制御フレーム２５を受信すると所定のタイミングでコントローラ１宛の応答フレーム２６を送信する。さらに、コントローラ１は、一斉放送フレーム２０を送信した時点から所定の時間が経過すると、第４子局３ｄ宛ての制御フレーム２７を送信する。第４子局３ｄは、制御フレーム２７を受信すると所定のタイミングでコントローラ１宛の応答フレーム２８を送信する。
【００１９】
このようにこの分散数値制御システムにおいては、コントローラ１が一斉放送フレーム２０を送信して各子局３ａ〜３ｄを同期させた後に、各子局３ａ〜３ｄに対して個別に制御フレーム２１，２３，２５，２７を順次送信し、各子局３ａ〜３ｄは自装置宛ての制御フレームを受信した後に応答フレームをコントローラ１に送信する。すなわち、コントローラ１と複数の子局３ａ〜３ｄ間の通信としては、制御フレーム２１，２３，２５，２７および応答フレーム２２，２４，２６，２８が交互に送信される半二重の双方向通信方式が用いられている。また、一斉放送フレーム２０が送出されてから次の一斉放送フレーム２０が送出されるまでを１サイクルとすると、１サイクル中に送出される制御フレーム２１，２３，２５，２７および応答フレーム２２，２４，２６，２８の各送出タイミングは、一斉放送フレーム２０の送出時点から固定的に決められている。なお、１サイクルの所要時間は、システム内の子局３ａ〜３ｄの個数（局数）などに応じて決定されるので、システムが一旦構築されると変化することはない。すなわち、１サイクルの所要時間は一定値となる。
【００２０】
図１に示すコントローラ１は、一斉放送フレームを所定の周期毎に送信するとともに、一斉放送フレームが送出された時点から所定のタイミングで各子局３ａ〜３ｄへの制御フレームを送信するとともに、子局３ａ〜３ｄからの応答フレームを受信して、分散数値制御システムを統括的に制御する。すなわち、コントローラ１では、一斉放送フレーム２０および各子局３ａ〜３ｄへの制御フレームを各所定の周期で送信する。
【００２１】
図１に示す子局３ａ〜３ｄの内部構成および動作を図４を用いて説明する。図４は第１子局３ａの内部構成を示すものである。他の子局３ｂ〜３ｄも同様の構成を有している。第１子局３ａは、インタフェース部３１と、受信バッファ３２と、一斉放送検出回路３３と、ＣＰＵ（Central Processing Unit）３４と、駆動装置制御部３５とを備えている。
【００２２】
インタフェース部３１は、コントローラ１との通信におけるインタフェース機能を備えており、コントローラ１から送信された制御フレームの送信先アドレスが自装置を示すものである場合、フレーム内の制御データを受信バッファ３２に格納する。
【００２３】
一斉放送検出回路３３は、インタフェース部３１を介して受信したフレーム内の送信先アドレスが一斉放送フレーム２０を示す"ＦＦｈ"であるか否かを判断し、判断の結果、受信したフレームが一斉放送フレームである場合には、一斉放送割込みをＣＰＵ３４に出力する。
【００２４】
ＣＰＵ３４は、一斉放送割込みを受けると受信バッファ３２に格納されている制御データ（１サイクル前に受信した制御データ）に基づいて演算処理を実行して、演算結果を駆動装置制御部３５に出力する。駆動装置制御部３５は、演算結果に基づいて被駆動装置７ａを駆動制御する。なお、演算処理は所定時間内で終了するように予め調整されており、１サイクル内で駆動装置制御部３５を介し被駆動装置７ａを制御動作が完了するものとする。また、ＣＰＵ３４は、コントローラ１から自装置宛ての制御フレームを受信すると、所定のタイミングでコントローラ１宛の応答フレームを送信するための制御を実行する。
【００２５】
つぎに、図５および図６を用いてレピータ装置５の構成を説明する。図５は、図１に示したレピータ装置５の構成を示すブロック図である。図６は、図５に示したタイミング切替回路５６の内部構成例を示すブロック図である。
【００２６】
図５において、レピータ装置５は、ラインレシーバー５１，５２と、ラインドライバー５３，５４と、一斉放送検出回路５５（特許請求の範囲でいうところの同期検出手段）と、タイミング切替回路５６（特許請求の範囲でいうところのタイミング切替手段）と、反転回路であるインバータＩＶ１とを備えている。なお、ラインレシーバー５１，５２とラインドライバー５３，５４とインバータＩＶ１から成る構成によって、一方の伝送媒体９ａから入力される同期フレーム（一斉放送フレーム）２０および制御フレーム２１，２３，２５，２７を他方の伝送媒体９ｂに出力する下り方向伝送を有効とするかあるいは他方の伝送媒体９ｂから入力される応答フレーム２４，２６，２８を一方の伝送媒体９ａに出力する上り方向伝送を有効とするかを択一的に切替えて半二重通信を実行する、特許請求の範囲でいうところの送受信手段の機能を実現している。
【００２７】
ラインレシーバー５１は、パルストランスＴ１を介して伝送媒体９ａに接続され、コントローラ１から送信される一斉放送フレーム２０および制御フレーム２１，２３，２５，２７を受信する。ラインレシーバー５１は、受信したフレームを一斉放送検出回路５５とラインドライバー５３とに出力する。
【００２８】
ラインドライバー５３は、タイミング切替回路５６から出力される切替え制御信号（タイミング切替信号とも云う）Ｓ１に基づいてラインドライバー５１から入力される一斉放送フレーム２０および制御フレーム２１，２３，２５，２７の信号レベルを再生して、再生後の一斉放送フレーム２０および制御フレーム２１，２３，２５，２７をパルストランスＴ２を介して伝送媒体９ｂに出力する。
【００２９】
ラインレシーバー５２は、パルストランスＴ２を介して伝送媒体９ｂに接続され、子局３ｂ〜３ｄから送信される応答フレーム２４，２６，２８を受信する。ラインレシーバー５２は、受信した応答フレーム２４，２６，２８をラインドライバー５４に出力する。
【００３０】
ラインドライバー５４は、タイミング切替回路５６から出力されるタイミング切替信号Ｓ１に基づいてラインドライバー５３から入力される応答フレーム２４，２６，２８の信号レベルを再生して、再生後の応答フレーム２４，２６，２８をパルストランスＴ１を介して伝送媒体９ａに出力する。
【００３１】
一斉放送検出回路５５は、ラインレシーバー５１から入力されたフレームの送信先アドレスが一斉放送フレーム２０を示す"ＦＦｈ"であるか否かを判断し、受信したフレームが一斉放送フレーム２０である場合には、一斉放送割込みをタイミング切替回路５６に出力する。
【００３２】
タイミング切替回路５６は、一斉放送割込みが入力されると、この入力時点からの計時動作に基づき下り方向伝送を有効とするか上り方向伝送を有効とするかを切り替えるタイミング切替信号Ｓ１を発生し、発生したタイミング切替信号Ｓ１をラインドライバー５４およびインバータＩＶ１に出力する。すなわち、タイミング切替回路５６は、図３に示すように、一斉放送割込み時点からコントローラ１および子局３ａ〜３ｄが１サイクル内に送信する各フレームの送信時間の計測を開始して、コントローラ１から子局３ａ〜３ｄへ制御フレーム２１，２３，２５，２７を送信する期間およびレピータ装置５を介さずにコントローラ１と接続されている第１子局３ａがコントローラ１に応答フレーム２２を送信する期間にアサート（例えば、“Ｌ”）となり、レピータ装置５を介してコントローラ１と接続されている第２〜第４子局３ｂ〜３ｄがコントローラ１に応答フレーム２４，２６，２８を送信する期間にネゲート（例えば“Ｈ”）となるタイミング切替信号Ｓ１を生成する。
【００３３】
インバータＩＶ１は、タイミング切替信号Ｓ１を反転してラインドライバー５３に出力する。これにより、タイミング切替信号Ｓ１がアサート（“Ｌ”）の時、すなわちコントローラ１から下り方向フレームが送信される期間および第１子局３ａがコントローラ１に応答フレーム２２を送信する期間は、ラインドライバー５４が無効でかつラインドライバー５３が有効となって、伝送媒体９ａから伝送媒体９ｂにフレームが送信される。一方、タイミング切替信号Ｓ１がネゲート（“Ｈ”）の時、すなわち第２子局３ｂ〜第４子局３ｄのいずれかからコントローラ１に応答フレーム２４，２６，２８を送信する期間は、ラインドライバー５３が無効でかつラインドライバー５４が有効となって、伝送媒体９ｂから伝送媒体９ａに応答フレーム２４，２６，２８が送信される。
【００３４】
タイミング切替回路５６は、図６に示すように、例えば、カウンタ５８およびデコーダ５９を有するタイミング発生回路５７と、スイッチＳＷ１〜ＳＷ３と、ナンドゲートＮＤ１とを備えている。なお、デコーダ５９、スイッチＳＷ１〜ＳＷ３およびナンドゲートＮＤ１で特許請求の範囲でいうところのデコード部の機能を実現している。
【００３５】
カウンタ５８は、図３に示した一斉放送フレーム２０が検出される度にカウント動作を実行するとともに、各フレームの送信時間をカウント可能な精度を備えている。
【００３６】
デコーダ５９は、カウンタ５８のカウント出力をデコードすることにより、第２子局３ｂがコントローラ１に応答フレーム２４を送信する期間だけ出力信号Ｓ２を"Ｌ"に、第３子局３ｃがコントローラ１に応答フレーム２６を送信する期間だけ出力信号Ｓ３を"Ｌ"に、第４子局３ｄがコントローラ１に応答フレーム２８を送信する期間だけ出力信号Ｓ４を"Ｌ"にする。
【００３７】
スイッチＳＷ１は、デコーダ５９の出力信号Ｓ２が"Ｌ"になるとオンとなり、デコーダの出力信号Ｓ２をナンドゲートＮＤ１に出力し、デコーダ５９の出力信号Ｓ２が"Ｈ"になるとオフになる。すなわち、スイッチＳＷ１は、第２子局３ｂがコントローラ１に応答フレーム２４を送信する期間だけナンドゲートＮＤ１に"Ｌ"を出力する。
【００３８】
スイッチＳＷ２は、デコーダ５９の出力信号Ｓ３が"Ｌ"になるとオンとなり、デコーダの出力信号Ｓ３をナンドゲートＮＤ１に出力し、デコーダ５９の出力信号Ｓ３が"Ｈ"になるとオフになる。すなわち、スイッチＳＷ２は、第３子局３ｃがコントローラ１に応答フレーム２６を送信する期間だけナンドゲートＮＤ１に"Ｌ"を出力する。
【００３９】
スイッチＳＷ３は、デコーダ５９の出力信号Ｓ４が"Ｌ"になるとオンとなり、デコーダの出力信号Ｓ４をナンドゲートＮＤ１に出力し、デコーダ５９の出力信号Ｓ４が"Ｈ"になるとオフになる。すなわち、スイッチＳＷ３は、第４子局３ｄがコントローラ１に応答フレーム２８を送信する期間だけナンドゲートＮＤ１に"Ｌ"を出力する。
【００４０】
スイッチＳＷ１〜ＳＷ３の出力はナンドゲートＮＤ１の入力に接続されている。ナンドゲートＮＤ１の各入力はプルアップ抵抗Ｒを介して電源に接続されており、スイッチＳＷ１〜ＳＷ３がオフの場合には"Ｈ"が入力される。したがって、スイッチＳＷ１〜ＳＷ３が全てオフの場合はタイミング切替信号Ｓ１をアサート（この場合は"Ｌ"）にし、スイッチＳＷ１〜ＳＷ３の何れか一つがオンとなって入力が"Ｌ"になると、タイミング切替信号Ｓ１をネゲート（この場合は"Ｈ"）にする。すなわち、ナンドゲートＮＤ１は、第２〜第４子局３ｂ〜３ｄがコントローラ１に応答フレーム２４，２６，２８を送信する期間にのみタイミング切替信号Ｓ１を"Ｈ"にして、それ以外の期間はタイミング切替信号Ｓ１を"Ｌ"にする。
【００４１】
図７のタイミングチャートを参照して、レピータ装置５の通信方向の切替え動作を説明する。ここでは、一斉放送フレーム２０、制御フレーム２１，２３，２５，２７および応答フレーム２２，２４，２６，２８の各フレームのデータ部１４のバイト数ｎを２バイトとして、一斉放送フレーム２０、制御フレーム２１，２３，２５，２７および応答フレーム２２，２４，２６，２８の各フレーム長は８バイトとし、カウンタ５８がカウントするクロックの周期は、１バイト長に等しいものとする。すなわち、カウンタ５８がクロックを８つカウントすると１フレーム長となる。また、この場合、子局３ａ〜３ｄの個数は４個であるので、１サイクルをカウントするために必要はカウンタ５８のビット数ｘは少なくとも７ビットとなり、カウンタ５８のカウント値の上位４ビット（bit６〜bit３）がそれぞれのフレーム（制御フレーム２１，２３，２５，２７および応答フレーム２２，２４，２６，２８）の送信期間を示すことになる。なお、ここではカウンタ５８の初期値は"０４ｈ"としているが、カウンタ５８の初期値はこれに限るものではない。
【００４２】
まず、コントローラ１は、時刻ｔ０において、送信先アドレスを"ＦＦｈ"とした一斉放送フレーム２０を送信する。この一斉放送フレーム２０は、第１子局３ａおよびレピータ装置５で受信される。レピータ装置５の一斉放送検出回路５５は、伝送媒体９ａ、ラインドライバー５１を介して受信したフレームの送信先アドレスが"ＦＦｈ"であることを検出して、一斉放送割込みを、例えば時刻ｔ１にカウンタ５８に出力する。
【００４３】
カウンタ５８は、時刻ｔ１に、一斉放送割込みを受けると、カウント値を初期値"０４ｈ"に初期化するとともにこの初期値からのカウント動作を開始する。時刻ｔ０〜時刻ｔ２の期間は、デコーダの出力信号Ｓ２〜Ｓ４は“Ｈ”であるので、ナンドゲートＮＤ１から出力されるタイミング切替信号Ｓ１は、図３にも示すように、“Ｌ”である。このため、時刻ｔ０〜時刻ｔ２の期間は、ラインドライバー５３が有効となり、ラインドライバー５４が無効となり、コントローラ１からの一斉放送フレーム２０は伝送媒体９ｂを介して第２〜第４子局３ｂ〜３ｄに送信される。一斉放送フレーム２０を受信した第１〜第４子局３ａ〜３ｄでは、前述の一斉放送割込み処理を実行する。
【００４４】
時刻ｔ２において、コントローラ１が第１子局３ａに対する制御フレーム２１の送信を開始する。第１子局３ａは、自装置宛ての制御フレーム２１の受信が完了すると、この後所定のタイミングで、この場合は時刻ｔ３に、コントローラ１に対して応答フレーム２２の送信を開始する。この場合、第１子局３ａは、図１に示したように、レピータ装置５を介さずにコントローラ１と通信するようにしている。このため、レピータ装置５は、第１子局３ａが応答フレーム２２を送信するための時刻ｔ３〜ｔ４の期間には、通信方向を上りフレームが伝送されるように切替える必要がない。したがって、この場合、時刻ｔ３〜ｔ４の期間には、デコーダ５９の出力信号Ｓ２〜Ｓ４は全て"Ｈ"となってナンドゲートＮＤ１から出力されるタイミング切替信号Ｓ１が“Ｌ”となるようにしており、これによりこの時刻ｔ３〜ｔ４の期間には、レピータ装置５はコントローラ１からの下りフレームが中継される状態となっている。
【００４５】
時刻ｔ４において、コントローラ１は第２子局３ｂに対する制御フレーム２３の送信を開始する。時刻ｔ４〜ｔ５の期間は、レピータ装置５のデコーダ５９の出力信号Ｓ２〜Ｓ４は“Ｈ”であるので、この期間中、ナンドゲートＮＤ１から出力されるタイミング切替信号Ｓ１は、図３にも示すように、“Ｌ”である。このため、時刻ｔ４〜ｔ５の期間は、ラインドライバー５３が有効となり、ラインドライバー５４が無効となり、コントローラ１からの制御フレーム２３は伝送媒体９ｂを介して第２〜第４子局側３ｂ〜３ｄに送信される。
【００４６】
第２子局３ｂは、自装置宛ての制御フレーム２３の受信が完了すると、この後所定のタイミングで、この場合は時刻ｔ５に、コントローラ１に対する応答フレーム２４の送信を開始する。デコーダ５９は、第２子局３ｂがコントローラ１に応答フレーム２４を送信している時刻ｔ５〜ｔ６の期間、すなわちカウンタ５８の出力の上位４ビットが"０１０１"の期間、出力信号Ｓ２を"Ｌ"にする。これにより、スイッチＳＷ１がオンとなり、ナンドゲートＮＤ１はタイミング切替信号Ｓ１を"Ｈ"にする。タイミング切替信号Ｓ１が"Ｈ"になると、ラインドライバー５３が無効となり、ラインドライバー５４が有効となる。したがって、ラインドライバー５４は、ラインレシーバー５２が伝送媒体９ｂ側から受信した第２子局３ｂからの応答フレーム２４を再生し、再生した応答フレーム２４を伝送媒体９ａに出力する。すなわち、この時刻ｔ５〜ｔ６の期間、レピータ装置５は、伝送媒体９ｂから入力される応答フレーム２４を伝送媒体９ａに送信する上り方向伝送を有効とするように、通信方向を切り替える。
【００４７】
時刻ｔ６において、第２子局３ｂからの応答フレーム２４の送信が終了して、カウンタ５８の出力の上位４ビットが"０１１０"に変化する。これにより、デコーダ５９の出力信号Ｓ２は"Ｈ"となる。したがって、スイッチＳＷ１がオフとなり、ナンドゲートＮＤ１はタイミング切替信号Ｓ１を"Ｌ"にする。この結果、ラインドライバー５３が有効になり、ラインドライバー５４が無効になる。すなわち、時刻ｔ６において、レピータ装置５の通信方向は、伝送媒体９ａから入力される制御フレームを伝送媒体９ｂに送信する下り方向伝送を有効とするように切り替わる。
【００４８】
一方、コントローラ１は、時刻ｔ６において、第３子局３ｃに対する制御フレーム２５の送信を開始している。前述したように、時刻ｔ６において、レピータ装置５の通信方向は、伝送媒体９ａから入力される制御フレームを伝送媒体９ｂに送信する下り方向伝送を有効とするように切り替わっているので、コントローラ１からの制御フレーム２５は伝送媒体９ｂを介して第２〜第４子局側３ｂ〜３ｄに送信される。
【００４９】
第３子局３ｃは、自装置宛ての制御フレーム２５の受信が完了すると、この後所定のタイミングで、この場合は時刻ｔ７に、コントローラ１に対する応答フレーム２６の送信を開始する。デコーダ５９は、第３子局３ｃがコントローラ１に応答フレーム２６を送信している時刻ｔ７〜ｔ８の期間、すなわちカウンタ５８の出力の上位４ビットが"０１１１"の期間、出力信号Ｓ３を"Ｌ"にする。これにより、スイッチＳＷ２がオンとなり、ナンドゲートＮＤ１はタイミング切替信号Ｓ１を"Ｈ"にする。タイミング切替信号Ｓ１が"Ｈ"になると、ラインドライバー５３が無効となり、ラインドライバー５４が有効となる。したがって、ラインドライバー５４は、ラインレシーバー５２が伝送媒体９ｂ側から受信した第３子局３ｃからの応答フレーム２６を再生し、再生した応答フレーム２６を伝送媒体９ａに出力する。すなわち、この時刻ｔ７〜ｔ８の期間、レピータ装置５は、伝送媒体９ｂから入力される応答フレーム２６を伝送媒体９ａに送信する上り方向伝送を有効とするように、通信方向を切り替える。
【００５０】
時刻ｔ８において、第３子局３ｃからの応答フレーム２６の送信が終了して、カウンタ５８の出力の上位４ビットが"１０００"に変化する。これにより、デコーダ５９の出力信号Ｓ３は"Ｈ"となる。したがって、スイッチＳＷ２がオフとなり、ナンドゲートＮＤ１はタイミング切替信号Ｓ１を"Ｌ"にする。この結果、ラインドライバー５３が有効になり、ラインドライバー５４が無効になる。すなわち、時刻ｔ８において、レピータ装置５の通信方向は、伝送媒体９ａから入力される制御フレームを伝送媒体９ｂに送信する下り方向伝送を有効とするように切り替わる。
【００５１】
一方、コントローラ１は、時刻ｔ８において、第４子局３ｄに対する制御フレーム２７の送信を開始している。前述したように、時刻ｔ８において、レピータ装置５の通信方向は、伝送媒体９ａから入力される制御フレームを伝送媒体９ｂに送信する下り方向伝送を有効とするように切り替わっているので、コントローラ１からの制御フレーム２７は伝送媒体９ｂを介して第２〜第４子局側３ｂ〜３ｄに送信される。
【００５２】
第４子局３ｄは、自装置宛ての制御フレーム２７の受信が完了すると、この後所定のタイミングで、この場合は時刻ｔ９に、コントローラ１に対する応答フレーム２８の送信を開始する。デコーダ５９は、第４子局３ｄがコントローラ１に応答フレーム２８を送信している時刻ｔ９〜ｔ１０の期間、すなわちカウンタ５８の出力の上位４ビットが"１００１"の期間、出力信号Ｓ４を"Ｌ"にする。これにより、スイッチＳＷ３がオンとなり、ナンドゲートＮＤ１はタイミング切替信号Ｓ１を"Ｈ"にする。タイミング切替信号Ｓ１が"Ｈ"になると、ラインドライバー５３が無効となり、ラインドライバー５４が有効となる。したがって、ラインドライバー５４は、ラインレシーバー５２が伝送媒体９ｂ側から受信した第４子局３ｄからの応答フレーム２８を再生し、再生した応答フレーム２８を伝送媒体９ａに出力する。すなわち、この時刻ｔ９〜ｔ１０の期間、レピータ装置５は、伝送媒体９ｂから入力される応答フレーム２８を伝送媒体９ａに送信する上り方向伝送を有効とするように、通信方向を切り替える。
【００５３】
時刻ｔ１０において、第４子局３ｄからの応答フレーム２８の送信が終了して、カウンタ５８の出力の上位４ビットが"１０１０"に変化する。これにより、デコーダ５９の出力信号Ｓ４は"Ｈ"となる。したがって、スイッチＳＷ３がオフとなり、ナンドゲートＮＤ１はタイミング切替信号Ｓ１を"Ｌ"にする。この結果、ラインドライバー５３が有効になり、ラインドライバー５４が無効になる。すなわち、時刻ｔ１０において、レピータ装置５の通信方向は、伝送媒体９ａから入力される制御フレームを伝送媒体９ｂに送信する下り方向伝送を有効とするように切り替わる。この後、レピータ装置５においては、次の一斉放送フレーム２０が受信される時刻ｔ１２まで、カウンタ５８のカウント動作を続行しているが、この時刻ｔ１２まではデコーダ５９の出力信号Ｓ２〜Ｓ４が“Ｌ”になることはなく、したがってナンドゲートＮＤ１から出力されるタイミング切替信号Ｓ１は“Ｌ”を維持している。このため、時刻ｔ１０〜ｔ１２の期間、レピータ装置５は、伝送媒体９ａから入力されるフレームを伝送媒体９ｂに送信する下り方向伝送を有効とする状態となっている。
【００５４】
一方、コントローラ１は、時刻ｔ１１において、送信先アドレスを"ＦＦｈ"とした一斉放送フレーム２０を送信する。この一斉放送フレーム２０は、前述と同様にして、第１子局３ａおよびレピータ装置５で受信される。レピータ装置５で一斉放送フレーム２０が受信される時刻ｔ１１〜ｔ１２の期間、レピータ装置５は、伝送媒体９ａから入力されるフレームを伝送媒体９ｂに送信する下り方向伝送を有効とする状態となっているので、コントローラ１からの一斉放送フレーム２０は伝送媒体９ｂを介して第２〜第４子局３ｂ〜３ｄに送信される。また、レピータ装置５の一斉放送検出回路５５は、伝送媒体９ａ、ラインドライバー５１を介して受信したフレームの送信先アドレスが"ＦＦｈ"であることを検出し、時刻ｔ１２に一斉放送割込みをカウンタ５８に出力する。これにより、カウンタ５８は、カウント値を初期値"０４ｈ"に初期化するとともにこの初期値からのカウント動作を開始する。これ以降は、前述の時刻ｔ１〜ｔ１１で説明した動作が繰り返される。
【００５５】
このようにこの実施例では、コントローラ１およびと複数の子局３ａ〜３ｄ間で半二重の双方向通信を行う際に、それぞれが送信する制御フレームおよび応答フレームが固定長でありかつ各制御フレームおよび応答フレームの送出タイミングがシステムの同期を取るための一斉放送フレームの送出時点から固定的に決まっていることに着目し、一斉放送フレームを検出した時点からの時間管理に基づき通信方向（下り方向伝送を有効とするかあるいは上り方向伝送を有効とするか）を切り替えるようにしているので、ノイズによる影響を受けることなく通信方向の切替え動作を安定かつ正確に行うことができる。
【００５６】
なお、図７に示したタイムチャートでは、制御フレームの送出終了の直後に応答フレームの送信が開始され、また応答フレームの送出終了の直後に制御フレームの送信が開始されるようにしたが、制御フレームの送出終了から応答フレームの送信開始までの期間あるいは応答フレームの送出終了から制御フレームの送信開始までの期間に、フレームが存在しないインターバル期間を設定するようにしてもよい。
【００５７】
また、上記実施例では、システムに１個のレピータ装置５を設ける構成について説明したが、システムに複数個のレピータ装置５を備えるようにしてもよい。その場合、各レピータ装置において、当該レピータ装置から見てコントローラ１から遠い側に接続されているすなわち下り側の１〜複数の子局が応答フレームを送信する期間にのみタイミング切替信号Ｓ１を“Ｈ”とし、それ以外の期間はタイミング切替信号Ｓ１を“Ｌ”とするようにデコーダ５９のデコード値を設定すればよい。
【００５８】
また、上記実施例では、通信の際のフレームが全て同じフレーム長として説明したが、コントローラ１が各子局に対して送信する制御フレームのフレーム長を異ならせるようにしてもよいし、各子局がコントローラ１に送信する応答フレームのフレーム長を異ならせるようにしてもよいし、さらには、コントローラ１が各子局に対して送信する制御フレームのフレーム長と各子局がコントローラ１に送信する応答フレームのフレーム長とを異ならせるようにしてもよい。このような場合でも、各フレーム長に対応するようにデコーダ５９のデコード値を設定して、伝送媒体９ｂから伝送媒体９ａへの応答フレームの送信期間だけ上り方向伝送を有効とし、それ以外の期間は下り方向伝送を有効とするようにタイミング切替信号Ｓ１を発生すればよい。
【００５９】
また、デコーダ５９にカウンタ５８のカウント値と比較するレジスタを設けておき、外部からデコード値を設定するようにしてもよい。さらに、図６に示した実施例では、デコーダ５９の出力をスイッチＳＷ１〜ＳＷ３によってナンドゲートＮＤ１に入力するようにしたが、これに限るものではなく、デコーダ５９内にスイッチＳＷ１〜ＳＷ３およびナンドゲートＮＤ１の機能を含ませてもよい。
【００６０】
さらに、上記実施例では、第１子局３ａと第２子局３ｂとの間にレピータ装置５を備える例を挙げて説明したが、主局（コントローラ１）と子局との間あるいは子局と子局との間であれば、任意の位置にレピータ装置５を設置するようにしてもよい。
【産業上の利用可能性】
【００６１】
以上のように、本発明にかかるレピータ装置は、工場内のライン制御システム、多軸ロボットの制御システムなどのＦＡシステムに有用であり、主局から子局に対する固定長の制御フレームおよび子局から主局に対する固定長の応答フレームが半二重通信によって双方向に伝送されるシステムに用いて好適である。
【図面の簡単な説明】
【００６２】
【図１】この発明の実施例にかかるレピータ装置が適用される分散数値制御システムの構成を示すブロック図である。
【図２】この発明の実施例にかかるレピータ装置が適用される分散数値制御システムのデータ転送のフレームを説明するための図である。
【図３】図２に示した固定長のフレームを用いてコントローラと各子局とが通信を行うシーケンス図である。
【図４】図１に示した子局の構成を示すブロック図である。
【図５】図１に示したレピータ装置の構成を示すブロック図である。
【図６】図６に示したタイミング切替回路の一例を示すブロック図である。
【図７】この発明の実施例にかかるレピータ装置の動作を説明するためのタイミングチャートである。
【符号の説明】
【００６３】
１  コントローラ（主局）
３ａ，３ｂ，３ｃ，３ｄ  子局
５  レピータ装置
７ａ，７ｂ，７ｃ，７ｄ  被駆動装置
９，９ａ，９ｂ  伝送媒体
３１  インタフェース部
３２  受信バッファ
３３，５５  一斉放送検出回路
３４  ＣＰＵ
３５  駆動装置制御部
５１，５２  ラインレシーバー
５３，５４  ラインドライバー
５６  タイミング切替回路
５７  タイミング生成回路
５８  カウンタ
５９  デコーダ
【図１】
2005124082.tif 000003
【図２】
2005124082.tif 000004
【図３】
2005124082.tif 000005
【図４】
2005124082.tif 000006
【図５】
2005124082.tif 000007
【図６】
2005124082.tif 000008
【図７】
2005124082.tif 000009