(57)【特許請求の範囲】
【請求項１】
マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階；
前記特定のスレーブデバイスが前記制御メッセージの受信データスタート位置から入力データを抽出する段階；及び
前記特定のスレーブデバイスが前記制御メッセージの送信データ保管位置に出力データをパディングし、そして、前記制御メッセージを受け取るスレーブデバイスの順序に従って、前記出力データがパディングされる制御メッセージを、次のスレーブデバイスに伝送する段階を含むスレーブデバイスの制御方法であり、
前記抽出された入力データは前記制御メッセージから削除される、該制御方法。
【請求項２】
前記マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階は、
前記複数の入力データを前記複数のスレーブデバイスが連結された順序、または逆順に整列して前記制御メッセージを生成する段階を含むことを特徴とする、請求項１に記載のスレーブデバイスの制御方法。
【請求項３】
前記マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階は、
前記複数の入力データを前記複数のスレーブデバイスが連結された順序に整列して前記制御メッセージを生成した場合、前記制御メッセージを前記複数のスレーブデバイスの中で一番目のスレーブデバイスに伝送する段階を含むことを特徴とする、請求項２に記載のスレーブデバイスの制御方法。
【請求項４】
前記マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階は、
前記複数の入力データを前記複数のスレーブデバイスが連結された逆順に整列して前記制御メッセージを生成した場合、前記制御メッセージを前記複数のスレーブデバイスの中で最後のスレーブデバイスに伝送する段階を含むことを特徴とする、請求項２または請求項３に記載のスレーブデバイスの制御方法。
【請求項５】
前記複数の入力データの整列順序、及び前記制御メッセージを受信するスレーブデバイスの順序によって前記受信データスタート位置を決める段階；及び
前記受信データスタート位置によって前記送信データ保管位置を決める段階をさらに含むことを特徴とする、請求項１ないし請求項４のいずれか１項に記載のスレーブデバイスの制御方法。
【請求項６】
前記受信データスタート位置によって前記送信データ保管位置を決める段階は、
前記受信データスタート位置が前記制御メッセージのスタート位置であれば、前記送信データ保管位置を前記制御メッセージの最後の位置として決める段階；及び
前記受信データスタート位置が前記制御メッセージの最後の位置であれば、前記送信データ保管位置を前記制御メッセージのスタート位置として決める段階を含むことを特徴とする、請求項５に記載のスレーブデバイスの制御方法。
【請求項７】
前記マスターデバイスが前記制御メッセージの出力データを利用して、複数のスレーブデバイス各々の正常動作可否を確認する段階をさらに含むことを特徴とする、請求項１ないし請求項６のいずれか１項に記載のスレーブデバイスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、スレーブデバイスの制御方法に関するものである。
【背景技術】
【０００２】
ネットワークで連結された多数のデバイスが存在する場合、一般的に多数のデバイスはマスターデバイスとスレーブデバイスに分けられる。使用者はマスターデバイスにスレーブデバイスの動作を監視させたり、スレーブデバイスが必要とする命令またはデータを伝送する。一般的に、ネットワーク上に数多くのスレーブデバイスが存在する場合、マスターデバイスは各々のスレーブデバイスに制御メッセージを伝送してスレーブデバイスを制御する。
【０００３】
一般的に、マスターデバイスはネットワーク上に存在するスレーブデバイスの個数に対応する制御メッセージを生成し、生成された制御メッセージをスレーブデバイスの各々に伝送する。スレーブデバイスは、マスターデバイスから受信した制御メッセージをスレーブデバイスの各々に適用したり、マスターデバイスから求められた入力データをマスターデバイスに伝送する。
【０００４】
このとき、マスターデバイスはスレーブデバイスを制御するためにネットワーク上のスレーブデバイスの数の分、制御メッセージを生成してスレーブデバイスの各々に伝送しなければならない。
【０００５】
しかし、スレーブデバイスの個数が増えるほど、マスターデバイスがより多くの制御メッセージを生成してスレーブデバイスの各々に伝送しなければならない。そのため、データトラフィックが増加する短所があり、これによってデータ伝送時間が増加し、実時間制御が難しくなる。
【０００６】
このような問題点を解決するための方法としてイーサキャット(EtherCAT)通信を利用したデータ伝送方法がある。
【０００７】
マスターデバイス(Ｄ０)はネットワーク上のスレーブデバイス(Ｄ１〜Ｄ４)を制御するために、それぞれのスレーブデバイスに伝送する固定サイズの出力データを一つの制御メッセージとしてパッケージングし、生成された制御メッセージをスレーブデバイスに伝送する。
【０００８】
イーサキャット通信構造において、スレーブデバイスはマスターデバイス(Ｄ０)から伝送された制御メッセージをカットスルー(Cut-Through)方式を通じてそれぞれ次のスレーブデバイスに伝送する。ここで、カットスルー方式は、メッセージの伝送待機時間を最小化するために、受信されるメッセージの目的地アドレスを確認次第、目的地へメッセージを伝送する技法である。
【０００９】
前記のイーサキャット通信を利用したデータ伝送方法は、マスターデバイスがスレーブデバイスの数の増加とは関係なく、一つの制御メッセージを生成すれば良い。これによって、データトラフィックが増加する問題を解決し、ハードウェア的なスイッチング方法(カットスルー)によってデータの伝送時間を減らすことができる。
【００１０】
しかし、スレーブデバイス間に制御メッセージを伝送する間には、データ衝突を避けるためにスレーブデバイスは他の制御メッセージを伝送することができない。
【００１１】
また、マスターデバイスが生成した制御メッセージは、各スレーブデバイスの入力データを保管するためのフィールドの大きさが固定されているため、伝送できるデータの大きさに限界がある。また、ネットワーク上のスレーブデバイスの個数が多ければ、各々のスレーブデバイスに割り当てられるデータフィールドのサイズが小くなる短所がある。
【００１２】
また、スレーブデバイスの個数が増加するほど制御メッセージの伝送ディレーが線形的に増加するので、スレーブデバイスの実時間制御が難しくなる問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明は一つの制御メッセージを利用してネットワーク上にある全てのデバイスがデータを送受信することができるため、トラフィック減少及びデータ遅延時間を短縮できるスレーブデバイスの制御方法を提供することを目的とする。
【００１４】
また、本発明はマスターデバイスがスレーブデバイスの各々に伝達するデータの大きさ及びスレーブデバイスがマスターデバイスに伝達するデータの大きさを流動的に変更させられるようにするスレーブデバイスの制御方法を提供することを目的とする。
【００１５】
本発明が解決しようとする課題は、以上で言及した課題(たち)に制限されず、言及されなかった他の課題(たち)は下記の記載から当業者にとって明確に理解できる。
【課題を解決するための手段】
【００１６】
実施形態の中で、スレーブデバイスの制御方法は、マスターデバイスが複数の入力データを含む制御メッセージを生成して複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階、前記特定のスレーブデバイスが前記制御メッセージの受信データスタート位置から入力データを抽出する段階、及び前記特定のスレーブデバイスが前記制御メッセージの送信データ保管位置に出力データをパディングして次のスレーブデバイスに伝送する段階を含む。
【００１７】
その他の実施形態の具体的な一項は、詳細な説明及び添付の図面に含まれている。
【００１８】
本発明の利点及び/または特徴、そしてそれらを達成する方法は、添付の図面と共に、詳細に後述されている実施形態を参照すれば明確になる。しかし、本発明は以下で開示される実施形態に限定されるものではなく、相互異なる多様な形態として実現されるが、本実施形態は本発明が 完全に開示されるようにする。また、本実施形態は本発明が属する技術分野における通常の知識を有する者にとって発明の範疇を完全に知らせるために提供するものであり、本発明は請求項の範疇によって定義されるだけである。明細書全体に亘って、同一の参照符号は同一構成要素を指す。
【発明の効果】
【００１９】
本発明によると、一つの制御メッセージを利用してネットワーク上にある全てのデバイスがデータを送受信できるため、トラフィック減少及びデータ遅延時間を短縮できる效果がある。
【００２０】
また、本発明はマスターデバイスがスレーブデバイスの各々に伝達するデータの大きさ及びスレーブデバイスがマスターデバイスに伝達するデータの大きさを流動的に変更できるという效果がある。
【図面の簡単な説明】
【００２１】
【図１】一般的なマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【図２】一般的なイーサキャット通信を利用したデータ伝送方法を説明するための参照図である。
【図３】本発明の一実施形態によるマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【図４】本発明の他の一実施形態によるマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【図５】本発明の一実施形態によるマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【図６】本発明の一実施形態によるスレーブデバイスの制御方法の一実施形態を説明するためのフローチャートである。
【発明を実施するための形態】
【００２２】
以下では、添付の図面を参照して本発明の実施形態を詳しく説明する。
【００２３】
本明細書で使われる用語のうち『受信データスタート位置』は、制御メッセージの複数の入力データの中でスレーブデバイスが入力データを抽出しなければならない位置を意味する。例えば、受信データスタート位置は、制御メッセージのスタート位置でも、または最後の位置でもありえる。このような受信データスタート位置は、複数の入力データの整列手順、及び制御メッセージを受信するスレーブデバイスの手順によって決まる。
【００２４】
本明細書で使われる用語のうち『送信データ保管位置』は、スレーブデバイスが出力データをパディングしなければならない位置を意味する。このような送信データ保管位置は、受信データスタート位置によって変更されることがある。例えば、受信データスタート位置が制御メッセージのスタート位置であれば、送信データ保管位置が制御メッセージの最後の位置でありえる。一方、受信データスタート位置が制御メッセージの最後の位置であれば、送信データ保管位置が制御メッセージの最初の位置でありえる。
【００２５】
図１は一般的なマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【００２６】
図１を参照すれば、マスターデバイス(Ｄ０)はネットワーク上に存在するスレーブデバイスの数に対応する制御メッセージを生成し、生成された制御メッセージをスレーブデバイス(Ｄ１〜Ｄ４)の各々に伝送する。スレーブデバイス(Ｄ１〜Ｄ４)は、マスターデバイス(Ｄ０)から受信した制御メッセージをスレーブデバイス(Ｄ１〜Ｄ４)に適用したり、マスターデバイス(Ｄ０)から求められた入力データをマスターデバイス(Ｄ０)に伝送する。
【００２７】
このとき、マスターデバイス(Ｄ０)はスレーブデバイス(Ｄ１〜Ｄ４)を制御するために、ネットワーク上のスレーブデバイス(Ｄ１〜Ｄ４)の数の分、制御メッセージを生成してスレーブデバイス(Ｄ１〜Ｄ４)の各々に伝送しなければならない。
【００２８】
しかし、スレーブデバイス(Ｄ１〜Ｄ４)の個数が増えるほど、マスターデバイス(Ｄ０)がより多くの制御メッセージを生成してスレーブデバイス(Ｄ１〜Ｄ４)の各々に伝送しなければならない。そのため、データトラフィックが増加する短所があり、これによってデータ伝送時間が増加するので、実時間制御が難しくなる。
【００２９】
このような問題点を解決するための方法として、イーサキャット(EtherCAT)通信を利用したデータ伝送方法がある。
【００３０】
図２は一般的なイーサキャット通信を利用したデータ伝送方法を説明するための参照図である。
【００３１】
図２を参照すれば、マスターデバイス(Ｄ０)はネットワーク上のスレーブデバイス(Ｄ１〜Ｄ４)を制御するために、それぞれのスレーブデバイス(Ｄ１〜Ｄ４)に伝送する固定サイズの出力データ(Ｄ１(受信)、Ｄ２(受信)、Ｄ３(受信)、Ｄ４(受信))を一つの制御メッセージとしてパッケージングし、生成された制御メッセージをスレーブデバイス(Ｄ１)に伝送する。
【００３２】
図２のようなイーサキャット通信構造において、スレーブデバイス(Ｄ１〜Ｄ４)はマスターデバイス(Ｄ０)から伝送された制御メッセージをカットスルー(Cut-Through)方式を通じてそれぞれ次のスレーブデバイスに伝送する。ここで、カットスルー方式は、メッセージの伝送待機時間を最小化するために受信されるメッセージの目的地のアドレスを確認次第、目的地へメッセージを伝送する技法である。
【００３３】
先ず、マスターデバイス(Ｄ０)から制御メッセージを受信したスレーブデバイス(Ｄ１)は、制御メッセージでスレーブデバイス(Ｄ１)に該当する一番目のフィールドから入力データ(Ｄ１(受信))を抽出する。次いで、スレーブデバイス(Ｄ１)は制御メッセージの一番目のフィールドに出力データ(Ｄ１(送信))を載せてスレーブデバイス(Ｄ２)に伝送する。
【００３４】
スレーブデバイス(Ｄ２)は、スレーブデバイス(Ｄ１)から制御メッセージを受信すれば、制御メッセージでスレーブデバイス(Ｄ２)に該当する二番目のフィールドから入力データ(Ｄ２(受信))を抽出する。次いで、スレーブデバイス(Ｄ２)は制御メッセージの二番目のフィールドに出力データ(Ｄ２(送信))を載せてスレーブデバイス(Ｄ３)に伝送する。
【００３５】
スレーブデバイス(Ｄ３)は、スレーブデバイス(Ｄ２)から制御メッセージを受信すれば制御メッセージでスレーブデバイス(Ｄ３)に該当する三番目のフィールドから入力データ(Ｄ３(受信))を抽出する。次いで、スレーブデバイス(Ｄ３)は三番目のフィールドに出力データ(Ｄ３(送信))を載せてスレーブデバイス(Ｄ３)に伝送する。
【００３６】
スレーブデバイス(Ｄ４)は、スレーブデバイス(Ｄ３)から制御メッセージを受信すれば制御メッセージでスレーブデバイス(Ｄ４)に該当する四番目のフィールドから入力データ(Ｄ４(受信))を抽出する。次いで、スレーブデバイス(Ｄ４)は四番目のフィールドに出力データ(Ｄ４(送信))を載せてマスターデバイス(Ｄ０)に伝送する。
【００３７】
マスターデバイス(Ｄ０)は、スレーブデバイス(Ｄ４)から受信した制御メッセージに含まれる出力データ(Ｄ１(送信)、Ｄ２(送信)、Ｄ３(送信)、Ｄ４(送信))を通じて各スレーブデバイス(Ｄ１〜Ｄ４)の正常動作可否を確認することができる。
【００３８】
図２で説明したイーサキャット通信を利用したデータ伝送方法は、マスターデバイス(Ｄ０)がスレーブデバイス(Ｄ１〜Ｄ４)の数の増加と関係なく、一つの制御メッセージを生成すれば良い。これによって、図１の短所であるデータトラフィックが増加する問題を解決し、ハードウェア的なスイッチング方法(カットスルー)を通じてデータ伝送時間を減らすことができる。
【００３９】
しかし、スレーブデバイス(Ｄ１〜Ｄ４)の間に制御メッセージを伝送する間には、データの衝突を避けるためにスレーブデバイス(Ｄ１〜Ｄ４)は他の制御メッセージを伝送することができない。
【００４０】
また、マスターデバイス(Ｄ０)が生成した制御メッセージは、各スレーブデバイス(Ｄ１〜Ｄ４)の入力データを保管するためのフィールドの大きさが固定されているため、伝送できるデータの大きさに限界がある。また、ネットワーク上のスレーブデバイス(Ｄ１〜Ｄ４)の数が多い時、それぞれのスレーブデバイス(Ｄ１〜Ｄ４)に割り当てられるデータフィールドのサイズが小くなる短所がある。
【００４１】
また、スレーブデバイス(Ｄ１〜Ｄ４)の数が増加するほど、制御メッセージの伝送ディレーが線形的に増加するので、スレーブデバイス(Ｄ１〜Ｄ４)の実時間制御が難しくなる問題点がある。
【００４２】
図３は本発明の一実施形態によるマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【００４３】
図３を参照すれば、マスターデバイス(Ｄ０)は、複数の入力データ(Ｄ１(受信)、Ｄ２(受信)、Ｄ３(受信)、Ｄ４(受信))を含む制御メッセージを生成する。このとき、マスターデバイス(Ｄ０)は複数の入力データを複数のスレーブデバイスが連結された手順、または逆順に整列して制御メッセージを生成することができる。
【００４４】
このような複数の入力データ(Ｄ１(受信)、Ｄ２(受信)、Ｄ３(受信)、Ｄ４(受信))は、スレーブデバイス(Ｄ１〜Ｄ４)が必要とするデータや、スレーブデバイス(Ｄ１〜Ｄ４)の動作を監視するための命令を含むことができる。これによって、スレーブデバイス(Ｄ１〜Ｄ４)はマスターデバイス(Ｄ０)から受信した制御メッセージから入力データを抽出してスレーブデバイス(Ｄ１〜Ｄ４)に適用する。また、スレーブデバイス(Ｄ１〜Ｄ４)はマスターデバイス(Ｄ０)から求められた出力データを制御メッセージにパディングしてマスターデバイス(Ｄ０)に伝送することができる。
【００４５】
図３の実施例は、マスターデバイス(Ｄ０)が複数の入力データを複数のスレーブデバイス(Ｄ１〜Ｄ４)が連結された逆順に整列し、複数の入力データ(Ｄ４(受信)、Ｄ３(受信)、Ｄ２(受信)、Ｄ１(受信))を含む制御メッセージを生成することができる一実施形態に関するものである。しかし、図３に図示されたものとは異なり、マスターデバイス(Ｄ０)が複数の入力データを複数のスレーブデバイス(Ｄ１〜Ｄ４)が連結された順に整列し、複数の入力データ(Ｄ１(受信)、Ｄ２(受信)、Ｄ３(受信)、Ｄ４(受信))を含む制御メッセージを生成することができる。前記の通り、マスターデバイス(Ｄ０)が複数の入力データを利用して制御メッセージを生成する時、複数のスレーブデバイス(Ｄ１〜Ｄ４)の各々に伝送しようとするデータの大きさに応じて複数の入力データ(Ｄ１(受信)、Ｄ２(受信)、Ｄ３(受信)、Ｄ４(受信))を生成することができる。このように、マスターデバイス(Ｄ０)はスレーブデバイス(Ｄ１〜Ｄ４)に伝達するデータの大きさを流動的に変更させることができる。
【００４６】
図３の一実施例のように、マスターデバイス(Ｄ０)が複数の入力データを複数のスレーブデバイス(Ｄ１〜Ｄ４)が連結された逆順に整列して制御メッセージを生成した場合、制御メッセージを複数のスレーブデバイス(Ｄ１〜Ｄ４)の中で最後のスレーブデバイス(Ｄ４)に伝送する。
【００４７】
このとき、マスターデバイス(Ｄ０)が複数のスレーブデバイス(Ｄ１〜Ｄ４)の中で最後のスレーブデバイス(Ｄ４)に制御メッセージを伝送する理由は、複数のスレーブデバイス(Ｄ１〜Ｄ４)の各々で処理された制御メッセージが逆方向(すなわち、Ｄ４ → Ｄ３ → Ｄ２ → Ｄ１)に伝送され、最終的にマスターデバイス(Ｄ０)に伝送されるようにするためである。これによって、マスターデバイス(Ｄ０)は、制御メッセージの出力データに基づいて複数のスレーブデバイス(Ｄ１〜Ｄ４)各々の正常動作可否を確認する。
【００４８】
より具体的に、スレーブデバイス(Ｄ４)は、マスタースレーブ(Ｄ０)から制御メッセージを受信すれば制御メッセージの受信データスタート位置から入力データ(Ｄ４(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ４(受信))は削除される。その後、スレーブデバイス(Ｄ４)は制御メッセージの送信データ保管位置に出力データ(Ｄ４(送信))をパディングし、スレーブデバイス(Ｄ３)に伝送する。ここで、出力データを制御メッセージにパディングすることは、制御メッセージに出力データを記録することを意味する。
【００４９】
このとき、受信データスタート位置が制御メッセージのスタート位置であり、送信データ保管位置が制御メッセージの最後の位置である。これによって、スレーブデバイス(Ｄ４)は、制御メッセージのスタート位置から入力データ(Ｄ４(受信))を抽出し、制御メッセージの最後の位置に出力データ(Ｄ４(送信))をパディングしてスレーブデバイス(Ｄ３)に伝送する。
【００５０】
また、スレーブデバイス(Ｄ４)はマスターデバイス(Ｄ０)に伝送しようとするデータの大きさに応じて出力データ(Ｄ４(送信))を生成することができる。次いで、スレーブデバイス(Ｄ４)は制御メッセージの送信データ保管位置に出力データ(Ｄ４(送信))をパディングしてスレーブデバイス(Ｄ３)に伝送することができる。このように、スレーブデバイス(Ｄ４)はマスターデバイス(Ｄ０)に伝達するデータの大きさを流動的に変更させることができる。
【００５１】
スレーブデバイス(Ｄ３)は、スレーブデバイス(Ｄ４)から制御メッセージを受信すれば制御メッセージの受信データスタート位置から入力データ(Ｄ３(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ３(受信))は削除される。その後、スレーブデバイス(Ｄ３)は制御メッセージの送信データ保管位置に出力データ(Ｄ３(送信))をパディングしてスレーブデバイス(Ｄ２)に伝送する。
【００５２】
スレーブデバイス(Ｄ２)は、スレーブデバイス(Ｄ３)から制御メッセージを受信すれば制御メッセージの受信データスタート位置から入力データ(Ｄ２(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ２(受信))は削除される。その後、スレーブデバイス(Ｄ２)は送信データ保管位置に出力データ(Ｄ２(送信))をパディングしてスレーブデバイス(Ｄ１)に伝送する。
【００５３】
スレーブデバイス(Ｄ１)は、スレーブデバイス(Ｄ２)から制御メッセージを受信すれば制御メッセージの受信データスタート位置から入力データ(Ｄ１(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ１(受信))は削除される。その後、スレーブデバイス(Ｄ１)は制御メッセージの送信データ保管位置に出力データ(Ｄ１(送信))をパディングしてマスターデバイス(Ｄ０)に伝送する。
【００５４】
結論的に、マスターデバイス(Ｄ０)は出力データ(Ｄ１(送信)、Ｄ２(送信)、Ｄ３(送信)、Ｄ４(送信))を含む制御メッセージを受信することができる。それでは、マスターデバイス(Ｄ０)は制御メッセージの出力データに基づいて複数のスレーブデバイス各々の正常動作可否を確認する。
【００５５】
図４は本発明の他の一実施形態によるマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【００５６】
図４を参照すれば、マスターデバイス(Ｄ０)は複数の入力データ(Ｄ１(受信)、Ｄ２(受信)、Ｄ３(受信)、Ｄ４(受信))を含む制御メッセージを生成する。このとき、マスターデバイス(Ｄ０)は複数の入力データを複数のスレーブデバイス(Ｄ１〜Ｄ４)が連結された手順、または逆順に整列して制御メッセージを生成することができる。
【００５７】
図４の実施例は、マスターデバイス(Ｄ０)が複数の入力データを複数のスレーブデバイス(Ｄ１〜Ｄ４)が連結された順に整列し、複数の入力データ(Ｄ１(受信)、Ｄ２(受信)、Ｄ３(受信)、Ｄ４(受信))を含む制御メッセージを生成できる一実施例に関するものである。しかし、図４に図示されたものとは異なり、マスターデバイス(Ｄ０)が複数の入力データを複数のスレーブデバイス(Ｄ１〜Ｄ４)が連結された逆順に整列し、複数の入力データ(Ｄ４(受信)、Ｄ３(受信)、Ｄ２(受信)、Ｄ１(受信))を含む制御メッセージを生成することができる。
【００５８】
図４の一実施例のように、マスターデバイス(Ｄ０)が複数の入力データを複数のスレーブデバイス(Ｄ１〜Ｄ４)が連結された順に整列して制御メッセージを生成した場合、制御メッセージを複数のスレーブデバイス(Ｄ１〜Ｄ４)の中で一番目のスレーブデバイス(Ｄ１)に伝送する。
【００５９】
このとき、マスターデバイス(Ｄ０)が複数のスレーブデバイス(Ｄ１〜Ｄ４)の中で、一番目のスレーブデバイス(Ｄ１)に制御メッセージを伝送する理由は、ネットワーク上のデバイスが図４のようにリング状に連結されていると、スレーブデバイスの各々で処理された制御メッセージが定方向(すなわち、Ｄ１ → Ｄ２ → Ｄ３ → Ｄ４)に伝送され、最終的にマスターデバイス(Ｄ０)に伝送されるようにするためである。これによって、マスターデバイス(Ｄ０)は制御メッセージの出力データに基づいて複数のスレーブデバイス各々の正常動作可否を確認する。
【００６０】
より具体的に、マスターデバイス(Ｄ０)は制御メッセージをスレーブデバイス(Ｄ１)に伝送する。マスターデバイス(Ｄ０)から制御メッセージを受信したスレーブデバイス(Ｄ１)は、制御メッセージの受信データスタート位置から入力データ(Ｄ１(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ１(受信))は削除される。その後、スレーブデバイス(Ｄ１)は、制御メッセージの送信データ保管位置に出力データ(Ｄ１(送信))をパディングしてスレーブデバイス(Ｄ２)に伝送する。
【００６１】
このとき、受信データスタート位置が制御メッセージのスタート位置であり、送信データ保管位置が制御メッセージの最後の位置である。これによって、スレーブデバイス(Ｄ１)は制御メッセージのスタート位置から入力データ(Ｄ１(受信))を抽出し、制御メッセージの最後の位置に出力データ(Ｄ１(送信))をパディングしてスレーブデバイス(Ｄ２)に伝送する。
【００６２】
また、スレーブデバイス(Ｄ２)はスレーブデバイス(Ｄ１)から制御メッセージを受信すれば制御メッセージの受信データスタート位置から入力データ(Ｄ２(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ２(受信))は削除される。その後、スレーブデバイス(Ｄ２)は制御メッセージの送信データ保管位置に出力データ(Ｄ２(送信))をパディングしてスレーブデバイス(Ｄ３)に伝送する。
【００６３】
スレーブデバイス(Ｄ３)は、スレーブデバイス(Ｄ２)から制御メッセージを受信すれば制御メッセージの受信データスタート位置から入力データ(Ｄ３(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ３(受信))は削除される。その後、スレーブデバイス(Ｄ３)は制御メッセージの送信データ保管位置に出力データ(Ｄ３(送信))をパディングしてスレーブデバイス(Ｄ４)に伝送する。
【００６４】
スレーブデバイス(Ｄ４)は、スレーブデバイス(Ｄ３)から制御メッセージを受信すれば制御メッセージの受信データスタート位置から入力データ(Ｄ４(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ４(受信))は削除される。その後、スレーブデバイス(Ｄ４)は制御メッセージの送信データ保管位置に出力データ(Ｄ４(送信))をパディングしてマスターデバイス(Ｄ０)に伝送する。
【００６５】
結論的に、マスターデバイス(Ｄ０)は出力データ(Ｄ１(送信)、Ｄ２(送信)、Ｄ３(送信)、Ｄ４(送信))を含む制御メッセージを受信することができる。それでは、マスターデバイス(Ｄ０)は、制御メッセージの出力データに基づいて複数のスレーブデバイス各々の正常動作可否を確認する。
【００６６】
図５は本発明の一実施形態によるマスターデバイスとスレーブデバイスの間のデータ伝送方法を説明するための参照図である。
【００６７】
図５を参照すれば、マスターデバイス(Ｄ０)は MAC HEADER、APP HEADER 及び複数の入力データ(Ｄ-１(受信)、Ｄ-２(受信)、…、Ｄ-Ｎ(受信))を含む制御メッセージを生成してスレーブデバイス(Ｄ１)に伝送する。MAC HEADERは、制御メッセージを伝送する送信側のMACアドレス、制御メッセージを受信する受信側のMACアドレス、イーサネットタイプなどを含む。これにより、マスターデバイス(Ｄ０)が制御メッセージを伝送すればスレーブデバイス(Ｄ１、Ｄ２、…、ＤＮ)の各々は、制御メッセージのMAC HEADERに含まれた受信側のMACアドレスを利用して、制御メッセージが自分に受信されるメッセージであるか否かを確認できる。APP HEADERは、MAC HEADERの上位階層で処理された情報を含む。
【００６８】
スレーブデバイス(Ｄ１)は、マスターデバイス(Ｄ０)から制御メッセージを受信すれば制御メッセージの受信データスタート位置(Ａ)から入力データ(Ｄ-１(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ-１(受信))は削除される。その後、スレーブデバイス(Ｄ１)は、出力データ(Ｄ-１(送信))を生成した後、制御メッセージの送信データ保管位置(Ｂ)に出力データ(Ｄ-１(送信))をパディングして次のスレーブデバイス(Ｄ２)に伝送する。このとき、出力データ(Ｄ-１(送信))の大きさは、データの大きさに応じて可変的に設定されることができ、大きさの制限はない。
【００６９】
スレーブデバイス(Ｄ２)は、スレーブデバイス(Ｄ１)から制御メッセージを受信すれば制御メッセージの受信データスタート位置(Ａ)から入力データ(Ｄ-２(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ-２(受信))は削除される。その後、スレーブデバイス(Ｄ２)は、制御メッセージの送信データ保管位置(Ｂ)に出力データ(Ｄ-２(送信))をパディングして次のスレーブデバイス(Ｄ３)に伝送する。
【００７０】
前記のような過程を繰り返して行うと、最後のスレーブデバイス(ＤＮ)は、スレーブデバイス(ＤＮ-１)から制御メッセージを受信すれば制御メッセージの受信データスタート位置(Ａ)から入力データ(Ｄ-Ｎ(受信))を抽出する。このとき、制御メッセージから入力データ(Ｄ-Ｎ(受信))は削除される。その後、スレーブデバイス(ＤＮ)は、制御メッセージの送信データ保管位置(Ｂ)に出力データ(Ｄ-Ｎ(送信))をパディングしてマスタースレーブ(Ｄ０)に伝送する。
【００７１】
結論的に、マスターデバイス(Ｄ０)は、出力データ(Ｄ１(送信)、Ｄ２(送信)、…、ＤＮ(送信))を含む制御メッセージを受信することができる。それでは、マスターデバイス(Ｄ０)は、制御メッセージの出力データに基づいて複数のスレーブデバイスの各々の正常動作可否を確認する。
【００７２】
図６は本発明の一実施形態によるスレーブデバイスの制御方法の一実施例を説明するためのフローチャートである。
【００７３】
図６を参照すれば、マスターデバイス(Ｍ)は、複数の入力データを含む制御メッセージを生成して複数のスレーブデバイスの中で特定のスレーブデバイス(Ｓ)に伝送する(段階Ｓ６１０)。このとき、マスターデバイス(Ｍ)は複数の入力データを複数のスレーブデバイスが連結された手順、または逆順に整列して制御メッセージを生成することができる。
【００７４】
その後、マスターデバイス(Ｍ)は、制御メッセージを複数のスレーブデバイスの中で一番目のスレーブデバイス、または最後のデバイスに伝送する。
【００７５】
段階Ｓ６１０に対する一実施形態において、マスターデバイス(Ｍ)は複数の入力データを複数のスレーブデバイスが連結された手順に整列して前記制御メッセージが生成された場合、制御メッセージを複数のスレーブデバイスの中で一番目のスレーブデバイスに伝送する。
【００７６】
段階Ｓ６２０に対する他の一実施形態において、マスターデバイス(Ｍ)は複数の入力データを前記複数のスレーブデバイスが連結された逆順に整列して前記制御メッセージを生成した場合、制御メッセージを複数のスレーブデバイスの中で最後のスレーブデバイスに伝送する。
【００７７】
スレーブデバイス(Ｍ)は、制御メッセージから入力データを抽出する(段階Ｓ６２０)。段階Ｓ６２０に対する一実施形態において、スレーブデバイス(Ｍ)は制御メッセージの受信データスタート位置から入力データを抽出することができる。
【００７８】
このとき、スレーブデバイス(Ｍ)は受信データスタート位置が制御メッセージのスタート位置であれば、制御メッセージのスタート位置から入力データを抽出することができる。一方、受信データスタート位置が制御メッセージの最後の位置であれば、制御メッセージの最後の位置から入力データを抽出することができる。
【００７９】
スレーブデバイス(Ｍ)は、制御メッセージの送信データ保管位置に出力データをパディングして次のスレーブデバイスに伝送する(段階Ｓ６３０)。
【００８０】
マスターデバイス(Ｍ)は、制御メッセージの出力データに基づいて、複数のスレーブデバイスの各々の正常動作可否を確認する(段階Ｓ６４０)。
【００８１】
前述のような本発明によると、一つの制御メッセージを利用してネットワーク上にある全てのデバイスがデータを送受信することができるので、トラフィック減少及びデータ遅延時間を減少できるという效果がある。また、本発明によると、マスターデバイスがスレーブデバイスの各々に伝達するデータの大きさ及びスレーブデバイスがマスターデバイスに伝達するデータの大きさを流動的に変更できるという效果がある。
【００８２】
前述した本発明は、本発明が属する技術分野における通常の知識を有する者にとって、本発明の技術的思想を脱しない範囲内で様々な置換、変形及び変更が可能であるため、前述の実施形態及び添付の図面に限定されるものではない。
一側面において本願発明は以下の発明を包含する。
（発明１）
マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階；
前記特定のスレーブデバイスが前記制御メッセージの受信データスタート位置から入力データを抽出する段階；及び
前記特定のスレーブデバイスが前記制御メッセージの送信データ保管位置に出力データをパディングして次のスレーブデバイスに伝送する段階を含むスレーブデバイスの制御方法。
（発明２）
前記マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階は、
前記複数の入力データを前記複数のスレーブデバイスが連結された順序、または逆順に整列して前記制御メッセージを生成する段階を含むことを特徴とする、発明１に記載のスレーブデバイスの制御方法。
（発明３）
前記マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階は、
前記複数の入力データを前記複数のスレーブデバイスが連結された順序に整列して前記制御メッセージを生成した場合、前記制御メッセージを前記複数のスレーブデバイスの中で一番目のスレーブデバイスに伝送する段階を含むことを特徴とする、発明２に記載のスレーブデバイスの制御方法。
（発明４）
前記マスターデバイスが複数の入力データを含む制御メッセージを生成し、複数のスレーブデバイスの中で特定のスレーブデバイスに伝送する段階は、
前記複数の入力データを前記複数のスレーブデバイスが連結された逆順に整列して前記制御メッセージを生成した場合、前記制御メッセージを前記複数のスレーブデバイスの中で最後のスレーブデバイスに伝送する段階を含むことを特徴とする、発明２または発明３に記載のスレーブデバイスの制御方法。
（発明５）
前記複数の入力データの整列順序、及び前記制御メッセージを受信するスレーブデバイスの順序によって前記受信データスタート位置を決める段階；及び
前記受信データスタート位置によって前記送信データ保管位置を決める段階をさらに含むことを特徴とする、発明１ないし発明４のいずれか１つに記載のスレーブデバイスの制御方法。
（発明６）
前記受信データスタート位置によって前記送信データ保管位置を決める段階は、
前記受信データスタート位置が前記制御メッセージのスタート位置であれば、前記送信データ保管位置を前記制御メッセージの最後の位置として決める段階；及び
前記受信データスタート位置が前記制御メッセージの最後の位置であれば、前記送信データ保管位置を前記制御メッセージのスタート位置として決める段階を含むことを特徴とする、発明５に記載のスレーブデバイスの制御方法。
（発明７）
前記入力データの大きさ及び前記出力データの大きさは、
データの大きさに応じて可変的に設定されることを特徴とする、発明１ないし発明６のいずれか１つに記載のスレーブデバイスの制御方法。
（発明８）
前記マスターデバイスが前記制御メッセージの出力データを利用して、複数のスレーブデバイス各々の正常動作可否を確認する段階をさらに含むことを特徴とする、発明１ないし発明７のいずれか１つに記載のスレーブデバイスの制御方法。
【図１】
0006377708.tif 000002
【図２】
0006377708.tif 000003
【図３】
0006377708.tif 000004
【図４】
0006377708.tif 000005
【図５】
0006377708.tif 000006
【図６】
0006377708.tif 000007