(57)【要約】【課題】スレーブを動作させる方法、スレーブを動作させる装置並びにこれらに対応するコンピュータプログラム製品を改善する。【解決手段】マスタはバスラインを介してそれぞれスレーブへ、フォワードテレグラムをフォワード方向で送信し、バックワードテレグラムをバックワード方向で送信する形式の、リング状に接続されたバスラインにおいて第１のスレーブを動作させる際、第１のスレーブのバッファメモリをディアクティベートして、フォワードテレグラムとバックワードテレグラムを予め定められた期間内に受信したときに、フォワードテレグラム及びバックワードテレグラムの転送を、再アクティベート時点まで中断するステップを有する。【選択図】図１
2013106353.tif 000002
【特許請求の範囲】
【請求項１】
リング状に接続されたバスライン（１００）における第１のスレーブ（１０４ａ〜ｅ）を動作させる方法であって、
前記バスラインは、１つのマスタ（１０２）及び少なくとも１つの別のスレーブ（１０４ａ〜ｅ）と接続されており、
前記マスタ（１０２）はバスラインを介してそれぞれスレーブ（１０４ａ〜ｅ）へ、少なくとも１つのフォワードテレグラムをフォワード方向で送信し、少なくとも１つのバックワードテレグラムをバックワード方向で送信する、
方法において、
前記第１のスレーブ（１０４ａ〜ｅ）のバッファメモリ（４００，４０２）をディアクティベートするステップ（２００）を有し、該ディアクティベートステップ（２００）により、前記フォワードテレグラム及び前記バックワードテレグラムを予め定められた期間内に受信したときに、前記フォワードテレグラム及び前記バックワードテレグラムの転送を、再アクティベート時点まで中断することを特徴とする、
方法。
【請求項２】
前記再アクティベート時点を周期的な信号パルス（Ｔ）により定める、請求項１記載の方法。
【請求項３】
後続のバックワードテレグラムを受信したときには、前記再アクティベート時点を、前記周期的な信号パルス（Ｔ）とは無関係に遅延させる、請求項２記載の方法。
【請求項４】
前記バッファメモリ（４００，４０２）がディアクティベートされている期間中に後続のフォワードテレグラム及び後続のバックワードテレグラムを受信すると、受信時点から再アクティベート時点までに、少なくとも２つの後続の周期的な信号パルス（Ｔ）が発生するのを待つ、請求項１から３のいずれか１項記載の方法。
【請求項５】
前記ディアクティベート時点と前記再アクティベート時点との間で、少なくとも２つの周期的な信号パルス（Ｔ）が発生するのを待つ、請求項１から４のいずれか１項記載の方法。
【請求項６】
前記バッファメモリ（４００，４０２）がディアクティベートされている期間中に後続のフォワードテレグラムを受信すると、前記再アクティベート時点をトリガ信号（Ｔ）の１パルス分だけ先送りする、請求項１から５のいずれか１項記載の方法。
【請求項７】
前記再アクティベート時点を、最大で３回まで、それぞれ１つのトリガパルス（Ｔ）の分だけ先送りする、請求項６記載の方法。
【請求項８】
前記ディアクティベートステップ（２００）を、少なくとも第１のスレーブ（１０４ａ〜ｅ）のスタートプロセスに応じて実行する、請求項１から７のいずれか１項記載の方法。
【請求項９】
請求項１から８のいずれか１項記載の方法のステップを実行するように構成されているユニットを有する装置。
【請求項１０】
プログラムを装置において実行させたときに、請求項１から８のいずれか１項記載の方法を実施するためのプログラムコードを有する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リング状に接続されたバスラインにおける第１のスレーブを動作させる方法、該スレーブを動作させる装置並びにこれらに対応するコンピュータプログラム製品に関する。この場合、バスラインは、１つのマスタ及び少なくとも１つの別のスレーブと接続されており、マスタはバスラインを介してそれぞれスレーブへ、少なくとも１つのフォワードテレグラムをフォワード方向で送信し、少なくとも１つのバックワードテレグラムをバックワード方向で送信する。
【背景技術】
【０００２】
慣用のバスシステムによれば、バス加入機器マスタは複数のバス加入機器スレーブをコントロールする。マスタはバスストラクチャを監視し、スレーブと通信を行う。それらのスレーブはマスタに従属しており、マスタから事前のコマンドが発せられることなくアクションを実行することはない。新たなスレーブがバスシステムに追加されると、マスタはそのことを識別し、バスの通信ルーチンを整合させる必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、スレーブを動作させる方法、スレーブを動作させる装置並びにこれらに対応するコンピュータプログラム製品を改善することにある。
【課題を解決するための手段】
【０００４】
本発明によれこの課題は、第１のスレーブのバッファメモリをディアクティベートするステップを有し、該ディアクティベートステップにより、フォワードテレグラム及びバックワードテレグラムを予め定められた期間内に受信したときに、前記フォワードテレグラム及び前記バックワードテレグラムの転送を、再アクティベート時点まで中断することを特徴とする、スレーブを動作させる方法によって解決される。さらに本発明の課題は、独立請求項記載のスレーブを動作させる装置並びにコンピュータプログラム製品によって解決される。
【０００５】
コントロールを行う上位のバス加入機器（マスタ）と、下位の階層におかれた少なくとも２つのバス加入機器（スレーブ）を備えたリング状のバスシステムの場合、バスシステム内で複数の下位のバス加入機器が同時に通信を始めると、バス通信において「固有振動 Eigenschwingung」が発生する可能性がある。例えば、複数の下位のバス加入機器が同時にバスと電気的に接続される可能性があるし、あるいは複数の下位のバス加入機器が同時に通信ルーチンの新たな開始を実行する可能性がある。この場合、コントロールを行う上位のバス加入機器と下位のバス加入機器は交互に、バスのリング構造を分離または分断する条件が満たされたとみなす可能性があり、これによってバスを介したリング通信がそのつど中断されてしまうおそれがある。
【０００６】
下位のバス加入機器のうちの１つが、少なくとも１つのタイムステップだけ、他のバス加入機器よりも長く、バス上の通信を中断すると、バスシステムの「振動 Aufschwingen」を阻止することができる。この休止によって、バスを安定化させることができる。
【０００７】
有利には、スレーブと予め定められたバスアームとのコンタクトを、延長された送信休止期間にわたり待機するためのインジケータとして用い、それによって他のスレーブがその期間中は通常の通信ルーチンを開始できるようにすれば、バスシステムは僅かな期間内で安定状態に到達できる。
【０００８】
本発明は、リング状に接続されたバスラインにおける第１のスレーブを動作させる方法に関する。この場合、バスラインは、１つのマスタ及び少なくとも１つの別のスレーブと接続されている。さらにこの場合、マスタはバスラインを介してスレーブへ、少なくとも１つのフォワードテレグラムをフォワード方向で送信し、少なくとも１つのバックワードテレグラムをバックワード方向で送信する。この方法は、第１のスレーブのバッファメモリをディアクティベートするステップを有しており、その目的は、フォワードテレグラムとバックワードテレグラムを予め定められた期間内に受信したときには、フォワードテレグラム及びバックワードテレグラムの転送を再びアクティベートする時点まで中断することである。
【０００９】
ここでスレーブとは、下位の階層におかれたバス加入機器のことであり、これは上位の階層におかれたバス加入機器であるマスタによって制御及び／又は監視される。バスシステムを、共通のバスラインを介して接続され互いに通信を行う複数の機器の配列とすることができる。バスラインを介して、バスシステムのために規格化された技術言語によって通信が行われる。バスシステムをリング状に形成することができ、このように形成した場合、通信を冗長的に行うことができる。なぜならばメッセージと信号を、バスシステムにおいて逆の搬送方向で送信できるからである。それらの方向を、フォワード方向もしくは順方向及びバックワード方向もしくは逆方向と称することができる。同様にこれらの方向を、例えば第１の方向及び第２の方向、左回り及び右回り、あるいはｘ方向及びｙ方向と称することもできる。また、メッセージと信号をテレグラムと称することができる。１つのテレグラムは始端と終端を有することができる。テレグラム自体をひとまとまりのものとすることができ、たとえばバスシステムを介してデータ伝送されるデータ語とすることができる。フォワードテレグラムとバックワードテレグラムにそれぞれ異なる目印を付けることができ、それらに同一の情報内容をもたせることができる。スレーブにバッファメモリをもたせることができ、このバッファメモリは、テレグラムが転送可能になるまで、テレグラムを一時的に記憶するように構成されている。バッファメモリがディアクティベートされると、現在進行中のトランザクションを終了させることができる一方、次に生じるトランザクションは開始されない。これによって、テレグラムが分断される可能性がなくなる。
【００１０】
再アクティベート時点を、再び戻ってきた信号パルスによって決定することができる。信号パルスを、定期的に受信するトリガ信号とすることができる。たとえば信号パルスを外部のソースから受信することができ、この外部のソースは信号パルスを所定のタイミングで供給する。
【００１１】
後続のバックワードテレグラムを受信したときには、再アクティベート時点を、周期的な信号パルスとは無関係に遅延させることができる。後続のバックワードテレグラムを受信した場合、そのことは、少なくとも１つの別のスレーブがそのバッファメモリを再びアクティブにし、バックワードテレグラムを再び転送したことを意味する。このことからわかるのは、リングが閉じられていること、もっぱら第１のスレーブだけが、そのバッファメモリを持続的にディアクティベートしたままにすべきであることである。なぜならば、もっぱら第１のスレーブにおいて、ディアクティベートのための条件が持続的に満たされているからである。
【００１２】
バッファメモリがディアクティベートされている期間中に後続のフォワードテレグラム及び後続のバックワードテレグラムを受信したことに応答して、受信時点から再アクティベート時点までに、少なくとも２つの後続の周期的な信号パルスが発生するのを待つようにすることができる。テレグラムを両方向から受信するかぎり、バッファメモリをディアクティベートしたままにすることができる。リング導体が遮られると、この条件がなくなり、テレグラムを転送することができる。
【００１３】
ディアクティベート時点と再アクティベート時点との間で、少なくとも２つの周期的な信号パルスが発生するのを待つようにすることができる。２つの信号パルスの間においてディアクティベートのために、第１のスレーブのバッファメモリを再びアクティベートすることができるまで、いずれにせよ待機すべき最小期間が存在する。
【００１４】
バッファメモリがディアクティベートされている期間中に後続のフォワードテレグラムを受信すると、再アクティベート時点をトリガ信号の１パルス分だけ先送りすることができる。第１のスレーブだけがフォワードテレグラムを受信するので、再アクティベート時点のシフトによって他のスレーブに対し、第１のスレーブのところにバックワードテレグラムが再び到来するまで、マスタとの通常の通信をバックワード方向で確立する時間が与えられる。
【００１５】
再アクティベート時点を、最大で３回まで、それぞれ１つのトリガパルスの分だけ先送りすることができる。バッファメモリがディアクティベートされた後、バスラインがバックワード方向において第１のスレーブとマスタとの間で分断されてしまった場合、切り離されたスレーブのところまでフォワードテレグラムを転送することができ、そのようにして通信を再び確立することができる。
【００１６】
ディアクティベートステップを、少なくとも第１のスレーブのスタートプロセスに応答して実行することができる。スタートプロセスを、事前の分離及びそれに続くバスへの組み込みに基づき行うことができる。さらにスタートプロセスを、スレーブのリスタートとすることもできる。
【００１７】
さらに、本発明による方法のステップをそれ相応の機構において実行もしくは実装するように構成された装置も有利である。装置の形態をとる本発明のこのような実施形態によっても、本発明の基礎となる課題を迅速かつ効率的に解決することができる。
【００１８】
本発明において「装置」を、センサ信号を処理し、処理したセンサ信号に依存して制御信号及び／又はデータ信号を出力する電子機器のこととすることができる。さらにこの装置に、ハードウェア及び／又はソフトウェアとして構成可能なインタフェースを設けることができる。ハードウェアとして実装する場合には例えばこのインタフェースを、装置の様々な機能を含むいわゆるシステムＡＳＩＣの一部分とすることができる。ただし、インタフェースを独立した集積回路としてもよく、あるいは少なくとも部分的にディスクリート素子によって形成してもよい。また、ソフトウェアとして実装する場合には、このインタフェースをソフトウェアモジュールとすることができ、このモジュールは例えば他のソフトウェアモジュールとともにマイクロコントローラに設けられる。
【００１９】
さらに、半導体メモリ、ハードディスク又は光学式記憶装置等機械読み取り可能な媒体に格納することができ、コンピュータ等の装置で実行されると、既述の実施形態のいずれかによる方法を実施するために用いられるプログラムコードを含むコンピュータプログラム製品も有利である。
【００２０】
次に、添付の図面を参照しながら実施例に基づき本発明を詳細に説明する。
【図面の簡単な説明】
【００２１】
【図１】本発明の１つの実施例によるプロセスシーケンスに従って動作するリング状に閉じたバスシステムを示す図
【図２】本発明の１つの実施例によるスレーブを動作させる方法のフローチャート
【図３】図１によるリング状に閉じたバスシステムを別の通信フェーズについて示す図
【図４】バッファメモリがアクティベートにされたスレーブを示す図
【図５】バッファメモリが部分的にディアクティベートされたスレーブを示す図
【図６】スレーブを別の通信モードについて示す図
【図７】１つのマスタと複数のスレーブを有するバスシステムのアームを示す図
【図８】本発明の１つの実施例による第１のスレーブの状態とシーケンスを示す図
【図９】本発明の１つの実施例による第２のスレーブの状態とシーケンスを示す図
【図１０】本発明の１つの実施例によるさらに別のスレーブの状態とシーケンスを示す図
【発明を実施するための形態】
【００２２】
図中、同じ要素又は類似の要素には、同じ参照符号又は類似の参照符号が付されている。さらに各図面、それらについての説明並びに請求項には、多数の特徴が組み合わせられて含まれている。ここで当業者にとって自明であるように、それらの特徴を個別のものと考えてもよいし、あるいはここでは明示的には記載されていない別の組み合わせとしてまとめてもよい。
【００２３】
図１には、本発明の１つの実施例によるプロセスシーケンスに従って動作するリング状に閉じたバスシステム１００が示されている。バスシステム１００は、１つのマスタ１０２と５つのスレーブ１０４ａ〜１０４ｅを有しており、それらはバスラインを介してリング状に順番に接続されている。マスタ１０２は、フォワードポートによってフォワードテレグラムを一方のリング方向で、フォワードチャネル１０６を介して送信する。これと同時にマスタ１０２は、バックワードポートによってバックワードテレグラムを他方のリング方向で、バックワードチャネル１０８を介して送信する。それぞれ１つのフォワードテレグラムは、１つのバックワードテレグラムに対応する。これら両方のテレグラムは、同じ情報内容を有する。順方向テレグラムのことを、フォワードテレグラムと称する。逆方向のテレグラムのことを、バックワードテレグラムと称する。
【００２４】
スレーブ１０４ｂ，１０４ｃ、１０４ｄは、同じタイミングでバス１００と接続されたものであり、これらのスレーブによってバス１００が補われて、１つの閉じたリングが形成されている。このリングでは、フォワードライン１０６とバックワードライン１０８もリング状に接続されている。このため、誤ってアドレス指定されたテレグラムがバスシステム内を無限に循環して、通信を妨害するおそれがある。テレグラムが無限に循環するのを防止するためには、フォワードライン１０６とバックワードライン１０８を一個所で分離すべきである。そのために前提条件とすべきことは、スレーブ１０４のところにフォワードテレグラムとバックワードテレグラムが到来することである。スレーブ１０４ｂ，１０４ｃ，１０４ｄによって、この前提条件が満たされる。したがってすべてがコリジョンバッファをディアクティベートし、それによってテレグラムの転送が阻止される。
【００２５】
これによって短期間、スレーブ１０４ｃにはフォワードテレグラムもバックワードテレグラムも届かない。それゆえここで述べるアプローチによれば、スレーブ１０４ｂのコリジョンバッファは、スレーブ１０４ｃと１０４ｄのコリジョンバッファよりも少なくとも１つのタイムステップだけ長く、ディアクティベートされたままの状態におかれる。そのためこの実施例に対し、フォワードテレグラムを受信することによってディアクティベート状態が延長されるよう、まえもって決められている。スレーブ１０４ｂがテレグラムを転送しないので、スレーブ１０４ｃと１０４ｄはいかなるフォワードテレグラムも受信できないことから、スレーブ１０４ｄと１０４ｃがバッファメモリを再びアクティベートした後で、バックワードテレグラムがバックワードライン１０８からスレーブ１０４ｂまで転送され、スレーブ１０４ｂのバッファメモリをディアクティベートする当初の条件が、改めて持続的に生じる。これによってバスシステム１００は安定状態となる。
【００２６】
図２には、本発明の１つの実施形態によるリング状に閉じたバスラインにおいて第１のスレーブを動作させる方法のフローチャートが示されている。この方法は、図１に示されているようなバスシステムにおいて実施可能である。バスラインは、１つのマスタ及び少なくとも１つの別のスレーブと接続されている。マスタはバスラインを介してスレーブへ、少なくとも１つのフォワードテレグラムをフォワード方向で送信し、少なくとも１つのバックワードテレグラムをバックワード方向で送信する。この方法は、第１のスレーブのバッファメモリをディアクティベートするステップ２００を有しており、その目的は、フォワードテレグラムとバックワードテレグラムを予め定められた期間内に受信したときには、フォワードテレグラム及びバックワードテレグラムの転送を再びアクティベートする時点まで中断することである。
【００２７】
図３には、図１のバスシステム１００が別の通信フェーズについて示されている。ここで呈示したアプローチによる方法の１つの実施例のシーケンスに従い、スレーブ１０４ｂは図１のところで説明したように、自身のバッファメモリを引き続きディアクティベートしている。これによってスレーブ１０４ｂはバスシステム１００のリングを分割し、それによっていかなるテレグラムもリングを巡って循環する可能性がなくなる。この通信フェーズの場合、テレグラムは、フォワードライン１０６とバックワードライン１０８を介してスレーブ１０４ａ〜１０４ｅ並びにマスタ１０２に割り当てられる外部ネットワークのデータパケットである。さらにたとえばデータを、イーサネットメッセージとすることができる。この場合、他の加入機器のうち１つの加入機器宛にアドレス指定されているメッセージが、バッファメモリを介して転送される。スレーブ１０４ｂはデータパケットの転送を阻止し、それによってバスシステムを安定化させる。
【００２８】
図４には、スレーブ１０４の一例としてバス加入機器が図示されている。スレーブ１０４を、図１に示したスレーブ１０４のうちの１つとすることができる。スレーブ１０４は、第１のコリジョンバッファ"CB"４００と、第２のコリジョンバッファ"CB"４０２と、第１のリアルタイムバッファ"RT"４０４と、第２のリアルタイムバッファ"RT"４０６を有している。第１及び第２のコリジョンバッファ４００，４０２は、入力端子"RX"に到来するテレグラムを記憶し、転送条件が満たされたとき、出力端子"TX"を介して転送するバッファメモリとして構成されている。あるテレグラムがスレーブ１０４宛にアドレス指定されているならば、そのテレグラムは転送されない。隣接するライン区間が先行のテレグラムによってまだ占有されているならば、テレグラムの転送は行われない。
【００２９】
第１のコリジョンバッファ４００は、"Py"側でフォワードラインと接続されている。ここで説明する通信フェーズである「非リアルタイムモード"Mode-NRT"」もしくは"NRT state/HP0"の場合、データバスのテレグラム"Sercos"４０８及び外部ネットワークのデータパケット"IT"４１０が、フォワードラインを介して第１のコリジョンバッファ４００に書き込まれる。そこから転送されるテレグラム４０８及びデータパケット４１０は、ついで反対側の"Px"からフォワードラインを介して転送される。第１のリアルタイムバッファ４０４は、この通信フェーズ中は動作を停止している。バックワードラインを介して、同様にテレグラム４０８及びデータパケット４１０が、"Px"側から第２のコリジョンバッファ４０２に書き込まれ、"Py"側から同様に再び送信される。第２のリアルタイムバッファ４０６も動作を停止している。
【００３０】
図５には、「NRTチャネル」における「NRTモード」の別の通信フェーズについて、図４のスレーブ１０４が示されている。図示の通信フェーズは、図４に描かれた状態にほぼ対応している。ただしこの実施例の場合、テレグラム４０８はコリジョンバッファ４００，４０２には書き込まれない。したがってこのテレグラムは転送されない。データパケット４１０については、このことは当てはまらない。
【００３１】
図６には、「RTチャネル」もしくは"CPO - CP4, HP1 - HP2"における別の通信フェーズについて、図４及び図５に示されているスレーブ１０４が描かれている。この通信フェーズの場合、いかなるデータパケットの受信又は送信も行われない。この場合、データパケットは利用できない。ここではテレグラム４０８は、リアルタイムバッファ４０４，４０６に書き込まれ、転送も行われる。コリジョンバッファ４００，４０２は動作を停止している。ここでは付加的な構成として、フォワードラインがバックワードラインと接続されており、テレグラムを逆方向で送信することができる。さらに出力端子に、"TX"信号分岐"LB Px"６００と"LB Py"６０２が配置されており、これらによって信号経路が接続されている。
【００３２】
図７には、複数のsercos IIIスレーブのホットプラグの際に、ラインの最後のスレーブと、既にループバックをアクティベートしたHP1/HP2スレーブとの間で、ホットプラグをサポートしないかまたは遅延に起因してホットプラグパラメータを取り逃したスレーブが、NRT状態もしくはHP0におかれるのを回避するやり方が示されている。このスレーブは目下、sercos IIIを含めすべてのイーサネットテレグラムを転送しており、これに基づきライン内の最後のスレーブはマスタへ、自身の非アクティブなポートからsercos IIIリンクを通報する。マスタは仕様に基づき、HP0パラメータの伝送を中断し、ライン内の最後のスレーブをループバックLoopbackからファストフォワードFastforwardに切り替え、このケースではこれによって、NRT状態もしくはHP0におけるスレーブの"Cut-Through"もしくは"Store and Forward"メカニズムに基づき、通信が著しく妨害される可能性がある。
【００３３】
マスタもラインの最後のスレーブも、このトポロジーを診断する一般的な可能性を有していないので、NRT状態もしくはHP0のスレーブはsercos IIIテレグラムを、ラインの最後のスレーブへ返送することはない。この場合、ラインの最後のスレーブは最大でも短期間、sercos IIIリンクを自身の非アクティブなポートから通知し、これに基づきマスタは、適切なフィルタリングによって、そのスレーブもファストフォワードへは切り替えない。
【００３４】
この場合、NRT状態もしくはHP0のスレーブは、両方のポートにおける通信フェーズCP1-CP4のsercos III PテレグラムもしくはSテレグラムの受信を監視し、場合によってはコリジョンバッファをディアクティベートするのと同様に、タイムアウト７００を導入し、タイムアウト中はいかなるsercos IIIテレグラムももはや復路を介して転送されない。このタイムアウト７００は６７ｍｓ〜１３４ｍｓの期間にわたり継続し、sercos IIIテレグラムだけを対象とする。タイムアウト７００が終了するのは、テレグラム破棄の条件が明確に消滅したときである（たとえばスレーブがHP0からHP1に切り替わったとき、あるいはMSTフェーズがCP0に切り替わったとき）。この方法において重要であるのは、sercos IIIテレグラムが方向に依存することであり、しかもそれらのテレグラムが復路を介してのみフィルタリングされることである。そうでない場合、スレーブに対する条件は、双方向へのフィルタリングに基づきすでに消滅し、HP1もしくはHP2のスレーブは、場合によっては不必要にNRT状態に戻ってしまう。
【００３５】
図８〜図１０には、図１及び図２に示されているようなスレーブ１０４ｂ，１０４ｃ，１０４ｄごとに、複数の信号及びファンクションの状態変化が時間軸上で示されている。これらの変化は、本発明の１つの実施例によるスレーブを動作させる方法に従って生じるものである。この場合、図８には、スレーブ１０４ｂにおけるプロセスが示されており、図９には、スレーブ１０４ｃにおけるプロセスが同じタイミングで示されており、さらに図１０には、スレーブ１０４ｄにおけるプロセスがやはり同じタイミングで示されている。それぞれグラフで描かれた状態変化が時間軸ｔ上に書き込まれており、そこにはトリガ信号Ｔが記入されている。トリガＴのそれぞれ２つのパルスは、６７．１０８８６４ｍｓの期間Δｔによって隔てられている。時間軸の下には、フォワードテレグラム８００（sercos III Ｓテレグラム）の受信状態と、バックワードテレグラム８０２（sercos III Ｐテレグラム）の受信状態が書き込まれている。状態８００及び８０２の下方には、ファンクション「タイムアウト」８０４と、ファンクション「タイムアウト延長」８０６と、コリジョンバッファの状態８０８が書き込まれている。
【００３６】
図８には、図１及び図２に示されているスレーブ１０４ｂの信号及びファンクションの状態変化が描かれている。最初に、フォワードテレグラム８００の受信が示されている。僅かな時間のずれを伴って、バックワードテレグラム８０２の受信が示されている。バックワードテレグラム８０２を受信した時点で、タイムアウト８０４がアクティベートされる。タイムアウト８０４は、相前後する２つのトリガ信号Ｔのパルスを受信するまで、いかなる場合でもアクティベートされたまま保持される。したがってタイムアウト８０４は期間ｔ＝Δｔを有することができ、このことは６７．１０８８６４ｍｓと１３４．２１７７２８ｍｓとの間の長さに相応する。タイムアウト８０４によって、コリジョンバッファ８０８がディアクティベートされる。タイムアウト８０４の間に別のフォワードテレグラム８００を受信する。なぜならば図１のスレーブ１０４ｂは、３つのスレーブから成るグループの端に配置されており、しかもマスタとダイレクトにコンタクトをとれる状態にあるからである。後続のフォワードテレグラム８００の受信に応答して、タイムアウトは次のトリガパルスＴまでの期間Δｔだけ期間延長８０６することによって延ばされる。コリジョンバッファ８０８はディアクティベートされたままである。複数のフォワードテレグラム８００を受信する一方、依然として後続のバックワードテレグラム８０２を受信することはなかったので、期間延長８０６はさらに２回行われる。ここでは、最大で２０１．２３６５９２ｍｓの持続時間となる３つの順次連続する期間延長８０６が、最大の期間延長数として規定されている。３回目の期間延長８０６中に１つのバックワードテレグラム８０２を受信する一方、同様に１つのフォワードテレグラム８００も受信する。これにより、期間延長８０６に対する条件がなくなり、トリガ信号Ｔの次のパルスを受信する前に、期間延長８０６が中止される。これと同時に、フォワードテレグラム８００とバックワードテレグラム８０２の受信が、新たなタイムアウト８０４のための、並びにコリジョンバッファ８０８をディアクティベートするための条件となる。したがってこの場合、スレーブ１０４ｂのコリジョンバッファはディアクティベートされたままである。これによってバスは安定状態となる。
【００３７】
図８において前提とするのは、スレーブがやはりマスタのＰラインとダイレクトには接続されていないことである。さもなければ、引き続きsercos IIIＰテレグラムを受信することになる。sercos IIIＳテレグラムの受信に基づき、遅くとも３回目の期間延長においてsercos IIIＰテレグラムを再び受信し、それに応じてタイムアウトが新たに導入され、コリジョンバッファはディアクティベートされたままである。
【００３８】
図９には、図１及び図２に示されているスレーブ１０４ｃの信号及びファンクションの状態変化が描かれている。スレーブ１０４ｃは、リング状のバス構造においてバスの半分の側でマスタと対向するポジションに置かれており、マスタは同じタイミングでフォワードテレグラムとバックワードテレグラムを送信することから、フォワードテレグラム８００とバックワードテレグラム８０２を同じタイミングで受信する。このように同じタイミングでテレグラムを受信することによって、タイムアウト８０４がスタートし、コリジョンバッファ８０８がディアクティベートされる。以降、フォワードテレグラム８００を受信しないので、タイムアウト８０６の延長に対する条件は生じない。第２のトリガパルスＴの受信後、コリジョンバッファ８０８が新たにアクティベートされる。所定の時間後、バックワードテレグラム８０２をスレーブ１０４ｄから受信し、このテレグラムはスレーブ１０４ｂにも転送される。
【００３９】
図１０には、図１及び図２に示されているスレーブ１０４ｄの信号及びファンクションの状態変化が描かれている。スレーブ１０４ｄの場合、バックワードラインはフォワードラインよりも短いので、スレーブ１０４ｄは最初にバックワードテレグラム８０２を受信し、その後、それに対応するフォワードテレグラム８００を受信する。フォワード信号８００を受信した時点で、タイムアウト８０４がトリガされ、コリジョンバッファ８０８がディアクティベートされる。タイムアウト８０４は、少なくとも２つのトリガパルスＴにわたり存続する。この場合もそれ以降、フォワードテレグラム８００を受信しないので、タイムアウト８０６の延長は行われない。したがってタイムアウト８０４後、コリジョンバッファ８０８が再びアクティベートされるので、次のバックワードテレグラム８０２は最大で期間ｔ＝Δｔだけ遅延されて、再びスレーブ１０４ｃへ転送される。
【００４０】
図１０において前提とするのは、スレーブがやはりマスタのＳラインとダイレクトには接続されていないことである。さもなければ、引き続きsercos IIIＳテレグラムを受信することになる。
【００４１】
図９及び図１０の場合、アクティベートにおける可能な制御幅が考慮されている。不都合な状況において、タイムアウト８０６の期間延長を１回行うことができる。このようにすると、バスシステムにおける安定状態の確立が、フォワード・バックワードテレグラムの分だけ遅延する可能性がある。遅くとも３３５ｍｓ後には、図１及び図２に示したテレグラムフローに対してトポロジーが安定化される。
【００４２】
換言すれば、図８〜図１０には、sercos IIIスレーブにおけるコリジョンバッファマネージメントが示されている。原因分析の際に現れるフィールド問題に基づき、ここで示すアプローチによれば、sercos III通信メカニズムのロバスト性が向上する。この場合、「NRTチャネル」の「ユーザガイド」において提案されている手法が拡張される。「NRTチャネル」においては時間に関する情報が欠けていることから、複数のスレーブがそれらのコリジョンバッファを動作中にディアクティベートすると、振動ないしは揺れ（Schwingung）が発生する可能性がある。なぜならば、これによってそれらのスレーブは、コリジョンバッファを引き続きディアクティベートする条件を、相互に取ろうととするからである。したがって、すべての加入機器との安定したＩＰ通信は不可能となる。ここで示すアプローチによれば、コリジョンバッファをディアクティベートするただ１つのスレーブが決定される。
【００４３】
このようにすれば、複数のスレーブが同時にホットプラグメカニズムを利用するときに、場合によってはホットプラグをサポートしていない他のスレーブが、アクティブなsercos IIIラインに組み込まれて接続されることがないようにすることができ、ひいてはその同期メカニズムに妨害を及ぼす可能性がないようにすることができる。このため、戻りのsercos IIIテレグラムを、スレーブによってブロックすることができる。ここで呈示するアプローチはsercos IIIシーケンスにそのまま組み込まれるので、互換性の問題は生じない。比較的短い時間を経て安定状態に達することから、ＩＰコネクションにおける問題が取り除かれる。
【００４４】
イーサネットテレグラムをsercos IIIネットワークにおいて転送する場合、sercos IIIにおいて利用されることの多いリングトポロジーならびにそれによって生じる冗長性に起因して、存在するデバイスとは一致しない宛先ＭＡＣアドレスを有するブロードキャストまたはマルチキャストもしくはイーサネットテレグラムが、無限に循環する状況が発生する可能性がある。このことを解消するため、まさに１つのsercos IIIデバイスによって、ＩＰテレグラムの転送を遮断することができる。複数のデバイスがこれを行うと、もはやすべてのデバイスにはＩＰを介してアクセスできなくなる。
【００４５】
コリジョンバッファがNRT状態もしくはHP0にあり、ディアクティベートされている場合、sercos IIIテレグラムも他のイーサネットテレグラムも、ポート１からポート２へ、もしくはその逆へ転送されない。コリジョンバッファがアクティベートされていれば、sercos IIIテレグラムも、ブロードキャストまたはマルチキャストのＭＡＣアドレスを有する他のすべてのイーサネットテレグラムも転送されるし、さらにはスレーブにはアドレス指定されていないすべてのイーサネットテレグラムも転送される。
【００４６】
コリジョンバッファがCP0からCP4もしくはHP1及びHP2にあり、コリジョンバッファがディアクティベートされている場合、sercos IIIテレグラムも他のイーサネットテレグラムも、「NRTチャネル（ないしはIPチャネル）」において、ポート１からポート２へ、もしくはその逆へ転送されない。コリジョンバッファがアクティベートされている場合、「NRTチャネル（もしくはIPチャネル）」においてsercos IIIテレグラムは転送されないが、ブロードキャストまたはマルチキャストのＭＡＣアドレスを有する他のすべてのイーサネットテレグラム並びにスレーブにはアドレス指定されていないすべてのイーサネットテレグラムは転送される。
【００４７】
NRT状態の場合、通常はsercos通信の動作に必要とされるsercos IPコアの設定がアクティブではないので、sercos IIIテレグラムを監視するために非同期信号が利用され、この信号は、アクティビティＬＥＤ制御のためにプログラミングされるカウンタから取り出すことができる。この信号は、６７．１０８８６４ｍｓ（６７ｍｓ）ごとに１つのトリガパルスを発生させる。トリガパルスの間隔は、最も緩慢なsercos IIIサイクル時間（６５ｍｓ）より大きくすべきである。以下では、トリガパルスの間隔は６７ｍｓに丸めて記載する。
【００４８】
sercos IIIのフェーズCP1〜CP4中、NRT状態もしくはHP0においてスレーブが、ポートｘでsercos IIIＰテレグラムを受信し、ポートｙでsercos IIIＳテレグラムを受信したとき、２つのトリガパルスによってタイムアウトが行われる。これはトリガの非同期性に基づき、６７ｍｓと１３４ｍｓとの間であり、長い。コリジョンバッファは可能なかぎり迅速にディアクティベートされるが、それによっても目下進行中のテレグラムは壊されない。最初に挙げた前提条件が再度発生すると、タイムアウトが新たにスタートし、コリジョンバッファはディアクティベートされたまま保持される。
【００４９】
このタイムアウト中にsercos IIIＳテレグラムを受信した場合、コリジョンバッファはこのタイムアウトフェーズも含めて、さらに６７ｍｓにわたりディアクティベートされたまま保持される。この期間延長中に再びＳテレグラムを受信すると、さらに６７ｍｓの期間延長が実施される。ただし全体としては、最大で３回の期間延長（２０１ｍｓ）とすべきである。期間延長中にsercos IIIＰテレグラムを受信すると期間延長が中止され、再アクティベートが加速される。
【００５０】
このメカニズムに基づき、Ｓラインとダイレクトに接続されたスレーブは、最大で２０１ｍｓだけ期間延長を行い、以降でＰテレグラムを受信しないかぎり、これによって全体として２６８ｍｓ〜３３５ｍｓにわたりコリジョンバッファをディアクティベートする。なぜならば、そうでないとタイムアウトが新たにスタートするからである。
【００５１】
NRT状態またはHP0において、他のすべてのスレーブは最大１回の期間延長を実施し、これは非同期性及びそれぞれ異なる遅延に基づき、ディアクティベートにおいて生じる可能性がある。それゆえこれらのスレーブに関して全体で６７ｍｓ〜２０１ｍｓの期間が生じ、したがってこれは、Ｓラインとダイレクトに接続されたスレーブよりも少なくとも６７ｍｓ短い。
【００５２】
この６７ｍｓ内で、他のすべてのスレーブはそれらのコリジョンバッファを再びアクティベートし、ＰテレグラムはＳラインとダイレクトに接続されたスレーブまで転送され、その結果、このスレーブはコリジョンバッファをディアクティベートする条件を新たに見出し、タイムアウトを新たにスタートさせ、コリジョンバッファがディアクティベートされているただ１つのスレーブとして残る。一般にタイムアウトは、すでに第１の期間延長から第２の期間延長中に新たにスタートする。
【００５３】
タイムアウトが期間延長を含めて満了し、もしくはコリジョンバッファをディアクティベートする条件が明確に消滅すると（たとえばスレーブがHP0からHP1に切り替わると、またはMSTフェーズがCP0に切り替わると）、コリジョンバッファが再びアクティベートされる。ただしその際、テレグラムのフラグメントが生じないように、再びアクティベートされる。
【００５４】
ロジックウェア互換のファームウェアを実装する際、このメカニズムを実現するために、６７ｍｓごとに１つのインタラプトを発生するタイマがプログラミングされる。インタラプトルーチンにおいて、コリジョンバッファをディアクティベートする条件がチェックされる。条件が満たされているならば、コリジョンバッファは次のインタラプトまでディアクティベートされる（６７ｍｓのタイムアウト）。次のインタラプトのときにも依然として条件が満たされているならば、タイムアウトが新たにスタートする。そうでなければ、このタイムアウト中にsercos IIIのＳテレグラムを受信したか否か、及び場合によってはコリジョンバッファのディアクティベートを６７ｍｓ期間延長したか否かがチェックされる。期間延長中に再びＳテレグラムを受信すると、新たに６７ｍｓの期間延長が付加される。ただし、最大で３回の期間延長だけしか認められない。
【００５５】
診断のために、コリジョンバッファがアクティベートされているNRT状態またはHP0のスレーブの場合、両方のイーサネットポートのアクティビティＬＥＤは、同時に〜２Ｈｚで点滅する。これに対しスレーブがコリジョンバッファをディアクティベートした場合には、sercos IIIのＳテレグラムを受信するポートのアクティビティＬＥＤは、１８０°位相がずれて点滅する。
【００５６】
スレーブにおいてコリジョンバッファを自動的にディアクティベートすることにより、コリジョンバッファをディアクティベートする条件を満たす最初のsercos IIIテレグラムを除いて、sercos IIIテレグラムはもはや転送されない。したがってＰライン及びＳラインにおいてそれぞれ最後に位置するスレーブは、最大でも短期間、sercos IIIリンクをそれらの非アクティブなポートから通知する。このため適切な待ち時間であればマスタに対し、NRTモードもしくはHP0にけるスレーブによる誤ったリング修復を実行する条件は発生しない。
【００５７】
ここで示した実施例の場合、Ｓラインとダイレクトに接続されたスレーブがコリジョンバッファをディアクティベートするので、マスタはＰラインを介して、ＩＰもしくはホットプラグによりNRT状態ないしはHP0のすべてのスレーブにアクセスすることができ、これによって簡単に実装を行うことができる。他方、Ｓラインを介しては、Ｓラインとダイレクトに接続されたスレーブだけをアクセスすることができる。
【００５８】
複数のsercos IIIスレーブのホットプラグが行われる場合、ラインの最後のスレーブと既にループバックをアクティベートしたHP1/HP2スレーブとの間で、ホットプラグをサポートしないかまたは遅延に起因してホットプラグパラメータを取り逃したスレーブが、NRT状態もしくはHP0におかれる可能性がある。このスレーブは目下、sercos IIIを含めすべてのイーサネットテレグラムを転送しており、これに基づきライン内の最後のスレーブはマスタへ、自身の非アクティブなポートからsercos IIIリンクを通報する。マスタは仕様に基づき、HP0パラメータの伝送を中断し、ライン内の最後のスレーブをループバックLoopbackからファストフォワードFastforwardに切り替え、このケースではこれによって、NRT状態もしくはHP0におけるスレーブの"Cut-Through"もしくは"Store and Forward"メカニズムに基づき、通信が著しく妨害される可能性がある。
【００５９】
マスタもラインの最後のスレーブも、このトポロジーを診断する一般的な可能性を有していないので、NRT状態もしくはHP0のスレーブはsercos IIIテレグラムを、ラインの最後のスレーブへ返送することはない。この場合、ラインの最後のスレーブは最大でも短期間、sercos IIIリンクを自身の非アクティブなポートから通知し、これに基づきマスタは、適切なフィルタリングによってそのスレーブもファストフォワードへは切り替えない。
【００６０】
この場合、NRT状態もしくはHP0のスレーブは、両方のポートにおける通信フェーズCP1-CP4のsercos III PテレグラムもしくはSテレグラムの受信を監視し、場合によってはコリジョンバッファをディアクティベートするのと同様に、タイムアウト７００を導入し、タイムアウト中はいかなるsercos IIIテレグラムももはや復路を介して転送されない。
【００６１】
このタイムアウトは６７ｍｓ〜１３４ｍｓの期間にわたり継続し、sercos IIIテレグラムだけを対象とする。タイムアウトが終了するのは、テレグラム破棄の条件が明確に消滅したときである（たとえばスレーブがHP0からHP1に切り替わったとき、あるいはMSTフェーズがCP0に切り替わったとき）。この方法において重要であるのは、sercos IIIテレグラムが方向に依存することであり、しかもそれらのテレグラムが復路を介してのみフィルタリングされることである。そうでない場合、スレーブに対する条件は、双方向へのフィルタリングに基づきすでに消滅し、HP1もしくはHP2のスレーブは、場合によっては不必要にNRT状態に戻ってしまう。
【００６２】
これまで示してきた実施例は例示のために選ばれたものにすぎず、それらを互いに組み合わせてもよい。
【符号の説明】
【００６３】
１００  バスシステム
１０２  マスタ
１０４ａ〜ｅ  スレーブ
１０６  フォワードライン
１０８  バックワードライン
２００  ディアクティベートステップ
４００  コリジョンバッファ
４０２  コリジョンバッファ
４０４  リアルタイムバッファ
４０６  リアルタイムバッファ
４０８  テレグラム
４１０  データパケット
６００  信号分岐
７００  タイムアウト
８００  フォワードテレグラム
８０２  バックワードテレグラム
８０４  タイムアウト
８０６  期間延長
８０８  ディアクティベート
Ｔ  トリガパルス
ｔ  時間
Δｔ  期間
【図２】
2013106353.tif 000003
【図８】
2013106353.tif 000004
【図９】
2013106353.tif 000005
【図１０】
2013106353.tif 000006
【図１】
2013106353.tif 000007
【図３】
2013106353.tif 000008
【図４】
2013106353.tif 000009
【図５】
2013106353.tif 000010
【図６】
2013106353.tif 000011
【図７】
2013106353.tif 000012