(57)【要約】【課題】少ない遅延で通信可能な無線通信技術を提供する。【解決手段】無線通信システムにおける親ノードは、応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答指示データを含む送信要求を生成する生成手段と、前記送信要求を送信する送信手段と、を有する。前記応答指示データには、各々の子ノードが応答すべきか否かを表すデータが各々の子ノードの個体識別情報に応じた順序で列挙されることが好ましい。また、本発明の無線通信システムにおける子ノードは、前記送信要求を受信する受信手段と、前記応答指示データにおいて自ノードが前記送信要求に対して応答する必要があるか否か判定する応答要否判定手段と、前記送信要求に対して応答する必要がある場合に、前記応答指示データに基づいた応答タイミングに、応答を送信する応答送信手段と、を有する。【選択図】図３
2015162792.tif 000002
【特許請求の範囲】
【請求項１】
親ノードと複数の子ノードが無線通信を行う無線通信システムであって、
前記親ノードは、
応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答指示データを含む送信要求を生成する生成手段と、
前記送信要求を送信する送信手段と、
を有し、
前記子ノードは、
前記送信要求を受信する受信手段と、
前記応答指示データにおいて自ノードが前記送信要求に対して応答する必要があるか否か判定する応答要否判定手段と、
前記送信要求に対して応答する必要がある場合に、前記応答指示データに基づいた応答タイミングに、応答を送信する応答送信手段と、
を有する、
ことを特徴とする無線通信システム。
【請求項２】
前記応答すべきタイミングは、応答すべき子ノードの数をＮ（Ｎは正の整数）とした場合に、前記送信要求の１〜Ｎスロット後のいずれかであり、全ての応答すべき子ノードの応答タイミングに重複がない、
ことを特徴とする請求項１に記載の無線通信システム。
【請求項３】
前記応答指示データには、各々の子ノードが応答すべきか否かを表すデータが各々の子ノードの個体識別情報に応じた順序で列挙されている、
ことを特徴とする請求項２に記載の無線通信システム。
【請求項４】
子ノードが応答すべきタイミングは、前記応答指示データにおいて、当該子ノードが応答すべきことを表す前記データが、応答すべきことを表す前記データのうちの何番目であるかに基づいて決定される、
ことを特徴とする請求項３に記載の無線通信システム。
【請求項５】
前記親ノードは、送信要求の送信後Ｎスロット経過後までに、応答を受信できない子ノードが存在した場合は、当該子ノードを応答すべき子ノードとして指定した応答指示データを含む送信要求を再送信する、
ことを特徴とする請求項２〜４のいずれか１項に記載の無線通信システム。
【請求項６】
前記親ノードは、
送信要求の送信後に子ノードから応答を受信したら、当該子ノードが応答不要であること示すように前記応答指示データを更新し、
送信要求を再送信する際は、更新後の応答指示データを送信要求に含めて送信する、
ことを特徴とする請求項５に記載の無線通信システム。
【請求項７】
前記親ノードは、送信要求の再送を所定回数繰り返しても応答を受信できない子ノードが存在した場合は、前記応答指示データを用いて、どの子ノードから応答を受信できなかったかを出力する、
ことを特徴とする請求項６に記載の無線通信システム。
【請求項８】
親ノードからの送信要求に基づいて応答を無線通信により送信する子ノードとして機能する無線通信装置であって、
応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答
指示データを含む送信要求を受信する受信手段と、
前記応答指示データにおいて自ノードが前記送信要求に対して応答する必要があるか否か判定する応答要否判定手段と、
前記送信要求に対して応答する必要がある場合に、前記応答指示データに基づいた応答タイミングに、応答を送信する応答送信手段と、
を有する、ことを特徴とする無線通信装置。
【請求項９】
前記応答指示データには、各々の子ノードが応答すべきか否かを表すデータが各々の子ノードの個体識別情報に応じた順序で列挙されており、
前記応答要否判定手段は、前記応答指示データに含まれる、自ノードの個体識別情報に対応する前記データに基づいて、前記送信要求に対して応答する必要があるか否か判定する、
ことを特徴とする請求項８に記載の無線通信装置。
【請求項１０】
前記応答送信手段は、前記応答指示データにおいて、自ノードが応答すべきことを表す前記データが、応答すべきことを表す前記データのうちの何番目であるかに基づいて、応答タイミングを決定する、
ことを特徴とする請求項８または９に記載の無線通信装置。
【請求項１１】
複数の子ノードに対して送信要求を送信し応答を無線通信により受信する親ノードとして機能する無線通信装置であって、
応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答指示データを含む送信要求を生成する生成手段と、
前記送信要求を送信する送信手段と、
を有する、ことを特徴とする無線通信装置。
【請求項１２】
前記応答すべきタイミングは、応答すべき子ノードの数をＮ（Ｎは正の整数）とした場合に、前記送信要求の１〜Ｎスロット後のいずれかであり、全ての応答すべき子ノードの応答タイミングに重複がない、
ことを特徴とする請求項１１に記載の無線通信装置。
【請求項１３】
前記応答指示データには、各々の子ノードが応答すべきか否かを表すデータが各々の子ノードの個体識別情報に応じた順序で列挙されており、
前記生成手段は、前記送信要求に対して応答すべき子ノードに対応する前記データを、応答すべきことを表す値に設定した応答指示データを含む送信要求を生成する、
ことを特徴とする請求項１２に記載の無線通信装置。
【請求項１４】
送信要求の送信後Ｎスロット経過後までに、応答を受信できない子ノードが存在した場合は、当該子ノードを応答すべき子ノードとして指定した応答指示データを含む送信要求を再送信する、
ことを特徴とする請求項１２または１３に記載の無線通信装置。
【請求項１５】
送信要求の送信後に子ノードから応答を受信したら、当該子ノードが応答不要であること示すように前記応答指示データを更新し、
送信要求を再送信する際は、更新後の応答指示データを送信要求に含めて送信する、
ことを特徴とする請求項１４に記載の無線通信装置。
【請求項１６】
送信要求の再送を所定回数繰り返しても応答を受信できない子ノードが存在した場合は、前記応答指示データを用いて、どの子ノードから応答を受信できなかったかを出力する、
ことを特徴とする請求項１５に記載の無線通信装置。
【請求項１７】
親ノードと複数の子ノードが無線通信を行う無線通信システムにおける無線通信方法であって、
前記親ノードが、応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答指示データを含む送信要求を生成する生成ステップと、
前記親ノードが、前記送信要求を送信する送信ステップと、
前記子ノードが、前記送信要求を受信する受信ステップと、
前記子ノードが、前記応答指示データにおいて自ノードが前記送信要求に対して応答する必要があるか否か判定する応答要否判定ステップと、
前記子ノードが、前記送信要求に対して応答する必要がある場合に、前記応答指示データに基づいた応答タイミングに、応答を送信する応答送信ステップと、
を含む、ことを特徴とする無線通信方法。
【請求項１８】
親ノードからの送信要求に基づいて応答を無線通信により送信する子ノードとして機能する無線通信装置が行う無線通信方法であって、
応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答指示データを含む送信要求を受信する受信ステップと、
前記応答指示データにおいて自ノードが前記送信要求に対して応答する必要があるか否か判定する応答要否判定ステップと、
前記送信要求に対して応答する必要がある場合に、前記応答指示データに基づいた応答タイミングに、応答を送信する応答送信ステップと、
を含む、ことを特徴とする無線通信方法。
【請求項１９】
複数の子ノードに対して送信要求を送信し応答を無線通信により受信する親ノードとして機能する無線通信装置が行う無線通信方法であって、
応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答指示データを含む送信要求を生成する生成ステップと、
前記送信要求を送信する送信ステップと、
を含む、ことを特徴とする無線通信方法。
【請求項２０】
請求項１７に記載の無線通信方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項２１】
請求項１８に記載の無線通信方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項２２】
請求項１９に記載の無線通信方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信に関連し、特に無線通信における送信タイミングの制御に関する。
【背景技術】
【０００２】
無線通信技術の普及やセンサネット技術の標準化に伴い、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）分野における無線技術の応用が進められている。制御のための通信には高い信頼性と高速な応答速度が求められ、通信を無線化する際にも十分な信頼性と応答速度を確保することが求められる。
【０００３】
無線通信では、通信の衝突やノイズの影響により正しく通信が行えない場合がある。そこで、信頼性を確保するために再送が行われる。ある送信ノードから送信されたデータが宛先ノードで正しく受信できなかったことが判明した場合に、送信ノードはデータの再送を行う。
【０００４】
特許文献１は、ＴＤＭＡ（Time Division Multiple Access）での再送制御方式を提案
している。具体的には、送信するデータは小さなデータブロックに分割され、各データブロックに誤り検出符号が付加される。受信ノードは、データブロックごとに誤り検出を行い、誤りのあるデータブロックの位置を示す情報を含んだ再送要求を送信ノードに送る。送信ノードは、再送要求によって特定されるデータブロックを再送する。このように、小さく分割されたデータブロックだけを再送するため、再送効率が向上する。
【０００５】
特許文献２は、親ノードからのブロードキャストパケットに対して子ノードが応答を行う場合の再送制御方式を提案している。具体的には、親ノードからのブロードキャストパケットを受信した子ノードは、まず自ノードに割り当てられているタイムスロットを利用して応答パケットを送信する。親ノードは、応答に成功した全ての子ノードの識別情報を特定する応答確認情報を含むブロードキャスト再送パケットを送信する。このブロードキャスト再送パケットを受信した子ノードは、自ノードから送信した応答パケットが正しく受信されなかったと判明した場合は、受信が成功している他の子ノードに割り当てられているタイムスロットの中からランダムに選択したタイムスロットを選択して応答パケットを再送する。このようにすることで、再送要求コマンドの送信時間を短縮でき、また、子ノード同士の送信の衝突確率を低減できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２８４２６１号公報
【特許文献２】特開２０１０−２１３１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の手法は、１対１通信を前提としているため、通信相手が複数ある場合に、１つの通信相手との間で再送が繰り返されると、次の通信相手に対する送信タイミングが遅れてしまうという問題がある。
【０００８】
特許文献２の手法は、ブロードキャストを用いているので、上記のような問題は生じない。しかしながら、応答パケットの再送タイミングはランダムに決定されるので、送信タイミングが一定とならず、遅延時間がランダムになるという問題がある。例えば、再送を行う必要がある子ノードが１台のみである場合に、その子ノードが即座に再送を行えば遅
延時間を短くできるにもかかわらず、タイムスロットの選択によっては再送までの遅延が大きくなってしまう。
【０００９】
無線通信では低遅延が求められるが、従来の手法では十分な効果を達成することが困難であり、より少ない遅延で通信が可能な方式が望まれる。なお、以上の説明では再送を例に説明しているが、再送に限らず、あるノードからの要求に対して少ない遅延で応答を送信することが望まれる。
【００１０】
上記のような課題を考慮して、本発明は、少ない遅延で通信可能な無線通信技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の態様は、親ノードと複数の子ノードが無線通信を行う無線通信システムであって、親ノードから子ノードに対して送信要求を送信する際に、複数の子ノードのそれぞれについて応答が必要であるか否かと、応答が必要な場合の応答タイミング（送信タイミング）を合わせて通知する、という構成を採用する。
【００１２】
より具体的には、本態様の無線通信システムにおける親ノードは、応答すべき子ノード、および応答すべき子ノードごとに応答タイミングを指定した応答指示データを含む送信要求を生成する生成手段と、前記送信要求を送信する送信手段と、を有する。また、本発明の無線通信システムにおける子ノードは、前記送信要求を受信する受信手段と、前記応答指示データにおいて自ノードが前記送信要求に対して応答する必要があるか否か判定する応答要否判定手段と、前記送信要求に対して応答する必要がある場合に、前記応答指示データに基づいた応答タイミングに、応答を送信する応答送信手段と、を有する。
【００１３】
このような構成によれば、子ノードの応答タイミングが親ノードから指定されるため、子ノードの応答タイミングにばらつきが生じることがなく、応答の最大遅延時間を確定させることができる。
【００１４】
また、本態様において、前記応答すべきタイミングは、応答すべき子ノードの数をＮ（Ｎは正の整数）とした場合に、前記送信要求の１〜Ｎスロット後のいずれかであり、全ての応答すべき子ノードの応答タイミングに重複がない、ことが好ましい。このような構成によれば、応答が必要な全ての子ノードが、最短の遅延時間で応答を完了させることが可能となる。
【００１５】
また、本態様において、前記応答指示データは、各々の子ノードが応答すべきか否かを表すデータが各々の子ノードの個体識別情報に応じた順序で列挙されてもよい。各子ノードが応答すべきか否かのデータは、１ビットまたは複数ビットで表現すればよい。ただし、１ビットで表現すれば、応答指示データのサイズを小さくできる。
【００１６】
また、本態様において、子ノードが応答すべきタイミングは、前記応答指示データにおいて、当該子ノードが応答すべきことを表す前記データが、応答すべきことを表す前記データのうちの何番目であるかに基づいて決定されることも好ましい。このような構成によれば応答の要否を表すデータが応答タイミングの指定も兼ねるのでデータ量を抑制できる。さらに、応答要否を表すデータを1ビットで表現することが可能であり、応答タイミン
グを通知するために必要なデータ量を最小限にできる。
【００１７】
また、本態様において、前記親ノードは、送信要求の送信後Ｎスロット経過後までに、応答を受信できない子ノードが存在した場合は、当該子ノードを応答すべき子ノードとして指定した応答指示データを含む送信要求を再送信する、ことも好ましい。このような構
成によれば、親ノードが子ノードに対して再送信を要求した場合に、子ノードの再送処理が低遅延で行える。
【００１８】
また、本態様において、前記親ノードは、送信要求の送信後に子ノードから応答を受信したら、当該子ノードが応答不要であること示すように前記応答指示データを更新し、送信要求を再送信する際は、更新後の応答指示データを送信要求に含めて送信する、ことも好ましい。このような構成によれば、応答指示データを更新することでどの子ノードから応答を受信したか管理できる。そして、子ノードに対して再送を要求する場合は、更新後の（最新の）応答指示データを含む送信要求を送信するだけで良くなる。
【００１９】
また、本態様において、前記親ノードは、送信要求の再送を所定回数繰り返しても応答を受信できない子ノードが存在した場合は、前記応答指示データを用いて、どの子ノードから応答を受信できなかったかを出力する、ことも好ましい。送信要求の再送を所定回数繰り返しても子ノードから応答を受信できない場合には、エラーとして処理することが好ましい。本発明によれば、最新の応答指示データに、どの子ノードからの応答が受信できていないかが示されているので、応答指示データを出力することで応答を返さない子ノードを通知することができる。
【００２０】
なお、本発明は、上記手段の少なくとも一部を有する無線通信システムあるいは無線通信装置として捉えることができる。また、本発明は上記処理の少なくとも一部を含む無線通信方法、またはその方法をコンピュータに実行させるためのコンピュータプログラム、あるいは当該コンピュータプログラムを記憶したコンピュータ読み取り可能な記録媒体として捉えることもできる。上記構成および処理の各々は技術的な矛盾が生じない限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００２１】
本発明によれば、親ノードからの送信要求に応じて子ノードが応答を送信する場合に、低遅延での通信が可能となる。
【図面の簡単な説明】
【００２２】
【図１】実施形態にかかるセンサデータ送信システムの概要を示す図。
【図２】実施形態にかかるセンサデータ送信システムの通信処理を説明する図。
【図３】送信要求フレームと応答フレームのフレーム構成を示す図。
【図４】親機（ＰＬＣ）の構成を示す機能ブロック図。
【図５】子機（センサ）の構成を示す機能ブロック図。
【図６】親機による送信要求コマンドの送信処理の流れを示すフローチャート。
【図７】親機による応答受信時の処理の流れを示すフローチャート。
【図８】子機による応答の送信処理の流れを示すフローチャート。
【図９】子機による応答タイミング計算処理の流れを示すフローチャート。
【図１０】応答指示データの変形例を示す図。
【発明を実施するための形態】
【００２３】
以下に図面を参照して、この発明を実施するための形態を、実施例に基づいて例示的に詳しく説明する。ただし、この実施例に記載されている構成部品の寸法、材質、形状、その相対配置などは、特に記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００２４】
＜概要＞
図１は、本発明に係る無線通信システムを利用したセンサデータ送信システムの概要を示す図である。図１に示すように、本実施形態にかかるセンサセータ送信システムは、Ｐ
ＬＣ（Programmable Logic Controller）１００と、センサ２００とから構成され、ＰＬ
Ｃ１００とセンサ２００の間で無線通信によってセンサデータを送信する。より具体的には、ＰＬＣ１００を親機（親ノード）、センサ２００を子機（子ノード）として使い、ＰＬＣ１００からのセンサデータの送信要求（リードコマンド）に基づいて、センサ２００がセンサデータを親機に送信する。
【００２５】
なお、図１には子機を３台しか示していないが、子機の数は任意であって構わない。また、本実施形態では、子機の数はあらかじめ決まっており、運用中には増減しないものとする。
【００２６】
本実施形態におけるセンサデータの通信処理について、図２を参照して説明する。まず、親機１００が、子機２００に対してセンサデータの送信を要求する送信要求をブロードキャスト送信する。この送信要求には、どの子機が応答するべきであるかという情報と、応答が必要なそれぞれの子機の応答送信タイミングを示す情報が格納される。以下では、これらの情報を応答指示データと称する。
【００２７】
図２では、親機１００はまずタイムスロット０で子機１〜３に対してセンサデータの送信を要求する。すなわち、親機１００は、子機１〜３がそれぞれ１〜３番目の送信タイミングで応答を送信するように指定する応答指示データを生成し、この応答指示データを含む送信要求をブロードキャスト送信する。
【００２８】
それぞれの子機は、送信要求に含まれる応答指示データに基づいて、センサデータを含む応答を親機に送信する。ここでは、子機２からの応答が、通信の衝突などにより親機において正しく受信できなかったものとする（タイムスロット２）。すると、親機は、子機２のみが応答を返すように指定した応答指示データを含む送信要求をブロードキャスト送信して、子機２に応答を再送するように指示する（タイムスロット４）。この際、子機２は１番目の応答タイミングで応答を送信するように指定される。図２の例では、親機がタイムスロット４で送信要求を送信するので、子機２に対してタイムスロット５で応答を送信することになる。このように、応答タイミングが送信要求の直後となるように親機から指定することで、応答を送信する際の遅延を少なくすることができる。
【００２９】
＜フレーム構成＞
本実施形態において、親機１００が送信する送信要求フレームと、子機２００が送信する応答フレームのフレーム構成について図３を参照して説明する。ここでは、子機の数が１０台であるものとして説明する。
【００３０】
図３（Ａ）に示すように、送信要求フレーム２０は、プリアンブル２１、グループＩＤ２２、コマンドコード２３、応答指示データ２４、ＣＲＣコード２５を含む。プリアンブル２１は、データの始まりに付加され、同期を確立するためのあらかじめ定められたパターンのビット列である。グループＩＤ２２は、親機１００と子機２００からなるグループを識別するＩＤである。コマンドＩＤ２３は、親機１００から子機２００に対する要求（コマンド）の種類を識別するＩＤである。センサデータの送信を要求する場合は、そのコマンドに対応するＩＤが格納される。ＣＲＣコード２５は、誤り検出用のチェックサムである。
【００３１】
応答指示データ２４には、どの子機が応答する必要があるか、および、応答する場合の応答タイミングを示す情報が格納される。本実施形態では、応答指示データ２４はグループ内の子機の数と同じビット数のデータであり、各子機について応答の要否を１ビットで指定する。図３（Ａ）の例では、子機数が１０台であるので応答指示データ２４は１０ビットである。応答指示データのどのビットがどの子機についての応答要否を表すかは、あ
らかじめ定めておけばよい。例えば、応答指示データ２４の先頭のビットは、個体識別情報（子機ＩＤ）が「１」の子機の応答要否を表し、２ビット目は子機ＩＤ「２」の子機の応答要否を表すものとする。本実施形態では、ビットが「１」の場合に応答が必要であり、ビットが「０」の場合に応答が不要であることを表すものとする。応答が必要な子機の応答タイミングは、応答指示データ２４に含まれるビット値「１」のみについて先頭から数えた場合の順番として決定することができる。
【００３２】
図３（Ａ）に示すように、応答指示データ２４が「１０００１００１００」というビット列であった場合、１，５，８番目のビットが「１」となっているので、子機ＩＤ１，５，８を有する子機が応答する必要がある。また、１ビット目が最初の値「１」のビットであり、５ビット目が２番目の値「１」のビットであり、８ビット目が３番目の「１」のビットなので、子機ＩＤ１の応答タイミングが１番目、子機ＩＤ５の応答タイミングが２番目、子機ＩＤ８の応答タイミングが３番目である。
【００３３】
このようにすれば、子機の数と等しいビット数で、各子機の応答要否および応答タイミングを指定することができる。
【００３４】
図３（Ｂ）に示すように、子機から送信される応答フレーム３０は、プリアンブル３１、グループＩＤ３２、子機ＩＤ３３、データ３４、ＦＥＣコード３５を含む。プリアンブル３１およびグループＩＤ３２は、送信要求フレーム２０に含まれるプリアンブル２１およびグループＩＤ２２と同様である。子機ＩＤ３３は、応答フレーム３０を送信する子機の子機ＩＤ（個体識別情報）が格納される。データ３４には、子機（センサ）２００が計測したセンサデータが格納される。ＦＥＣコード３５は、前方誤り訂正用のコードである。
【００３５】
＜構成＞
以下、親機１００および子機２００の構成について、より詳細に説明する。まず、親機１００の構成について、図４を参照して説明する。
【００３６】
［親機］
親機１００は、受信処理部１１０と送信処理部１２０とを有する。受信処理部１１０は、応答受信部１１１、受信タイミング特定部１１２、誤り検出・訂正部１１３、送信元特定部１１４、受信情報更新部１１５を有する。また、送信処理部１２０は、送信要求相手特定部１２１、コマンド生成部１２２、コマンド送信部１２３、未応答ノード出力部１２４を有する。本実施形態においては、親機１００は、ＣＰＵ（中央演算処理装置）やメモリなどを含むコンピュータであり、メモリに格納されたプログラムをＣＰＵが実行することによって、上記の各機能部を実現する。ただし、上記の各機能部の一部または全部について、ハードウェア回路によって実装しても構わない。
【００３７】
応答受信部１１１は、アンテナを介して受信した無線信号に対して、フィルタ処理、復調処理、復号処理などを施して、無線により送信されたデータを受信する機能部である。これらの受信処理は、任意の既知の手法が適用可能である。
【００３８】
受信タイミング特定部１１２は、現在何番目のタイムスロットで受信しているのかを特定する機能部である。スロットは、送信要求を送信してからの経過時間などに基づいて特定することができる。
【００３９】
誤り検出・訂正部１１３は、受信データに誤りがあるか否か検出し、可能であれば誤り訂正を行う機能部である。なお、誤り訂正機能を設けず、誤り検出機能のみを設けても構わない。本実施形態では、ＣＲＣ（巡回冗長検査）やＦＥＣ（一方向誤り訂正）を用いる
が、その他任意のアルゴリズムを採用可能である。
【００４０】
送信元特定部１１４は、受信データの送信元ノードを特定する機能部である。本実施形態においては、子機からの送信データにグループＩＤと子機ＩＤを含めて送信する（図３（Ｂ）の子機ＩＤ５３）ので、送信元特定部１１４はこのグループＩＤと子機ＩＤに基づいて送信元を特定する。
【００４１】
受信情報更新部１１５は、どの子機から応答を受信済みであるか管理する機能部である。受信情報更新部１１５は、子機から応答を受信する度に、受信済みの子機についての情報を更新する。上述のように、親機１００は送信要求にどの子機が応答する必要があるかを表す応答指示データ２４を含めて送信する。子機から応答を受信する度に、応答指示データにおいて応答が必要であると指定されている子機を、応答が不要であるように更新することで、どの子機から応答を受信済みであるか管理することができる。具体的には、子機から応答を受信する度に、応答指示データ２４中の当該子機に対応するビットを「１」から「０」に変更することで、どの子機から応答を受信済みであるか管理することができる。
【００４２】
送信要求相手特定部１２１は、送信要求に対して応答する必要がある子機を特定（決定）する機能部である。例えば、初めて送信要求を送信する場合には、同じグループに属する全ての子機から応答が必要であると決定してもよいし、一部の子機からのみ応答が必要であると決定してもよい。一部の子機から応答を受信できず再送を要求する場合には、応答を受信できなかった子機のみが応答を必要であると決定する。
【００４３】
コマンド生成部１２２は、送信要求フレーム２０を生成する機能部である。送信要求フレーム２０のうち、応答指示データ２４は、送信要求相手特定部１２１によって特定された子機に基づいて生成される。具体的には、応答すべき子機に対応するビットを「１」（応答が必要を表す）とし、それ以外のビットを「０」（応答が不要を表す）として生成すればよい。再送を要求する場合には、受信情報更新部１１５によって更新された情報を用いて、応答指示データ２４を生成すればよい。
【００４４】
コマンド送信部１２３は、送信要求に符号化、変調などを施して、無線送信する機能部である。
【００４５】
未応答ノード出力部１２４は、再送要求を所定回数繰り返しても応答を返さない子機を特定した情報を出力する機能部である。再送要求を所定回数繰り返しても応答を正しく受信できない場合には、その子機に異常が発生していると考えられる。未応答ノード出力部１２４からの出力は、このような障害の発生を通知するものとして利用可能である。
【００４６】
［子機］
次に、子機２００の構成について、図５を参照して説明する。子機２００は、受信処理部２１０と送信処理部２２０とを有する。受信処理部２１０は、コマンド受信部２１１、受信タイミング特定部２１２、誤り検出・訂正部２１３、送信元特定部２１４を有する。また、送信処理部２２０は、応答要否判定部２２１、応答生成部２２２、応答タイミング計算部２２３、応答送信部２２４を有する。本実施形態においては、子機２００は、ＣＰＵ（中央演算処理装置）やメモリなどを含むコンピュータであり、メモリに格納されたプログラムをＣＰＵが実行することによって、上記の各機能部を実現する。ただし、上記の各機能部の一部または全部について、ハードウェア回路によって実装しても構わない。
【００４７】
コマンド受信部２１１は、アンテナを介して受信した無線信号に対して、フィルタ処理、復調処理、復号処理などを施して、無線により送信されたデータを受信する機能部であ
る。コマンド受信部２１１は、親機１００からの送信要求を受信した際に、受信フレームに含まれるコマンドコード２３に基づいて、親機１００からの要求を識別する。親機１００からセンサデータの送信を要求するコマンド（送信要求コマンド）が送信されたことが判明したら、センサデータを取得して以下に親機１００に対して応答を送信する。
【００４８】
受信タイミング特定部２１２、誤り検出・訂正部２１３、送信元特定部２１４は、親機１００における機能と同様であるため説明を省略する。
【００４９】
応答要否判定部２２１は、送信要求フレームに含まれる応答指示データ２４に基づいて、自ノードが応答すべきか否かを判定する。具体的には、応答指示データ２４のうち、自ノードの子機ＩＤに対応するビットの値が「１」であれば応答が必要であると判定し、「０」であれば応答が不要であると判定する。
【００５０】
応答生成部２２２は、応答フレーム３０を生成するための機能部である。グループＩＤ３２には自ノードが属するグループのＩＤを格納し、子機ＩＤ３３には自ノードの子機ＩＤ（個体識別情報）を格納し、データ３４には要求されているセンサデータを格納する。
【００５１】
応答タイミング計算部２２３は、生成した応答フレーム３０を送信するタイミングを計算する機能部である。上述したように、応答指示データ２４によって自ノードが応答すべき順番（タイムスロット）が指定される。応答タイミング計算部２２３は、この順番に基づいて、応答を送信すべき時間を計算する。具体的には、Ｎ番目（Ｎは整数）に応答を返すことが指定されている場合には、Ｔｓを子ノードの送信時間、ＧＴをガードタイムとして、送信要求を受信してから（Ｎ−１）×Ｔｓ＋Ｎ×ＧＴだけ経過したタイミングを応答タイミングとして計算する。
【００５２】
応答送信部２２４は、応答生成部２２２によって応答フレーム３０を、応答タイミング計算部２２３によって計算されたタイミングで送信する機能部である。応答送信部２２４は、応答フレーム３０に符号化、変調などの処理を施してから、無線送信する。
【００５３】
＜処理＞
図６〜図９のフローチャートを参照して、親機１００が送信要求コマンドを送信し、子機２００がこの送信要求に対して応答を送信する際の処理について説明する。
【００５４】
［親機による送信要求コマンドの送信］
まず、図６、図７を参照して、親機１００による送信要求コマンドの送信処理について説明する。親機１００の通信ラウンドが開始したら、送信要求に応答すべき子機を送信要求相手特定部１２１が特定し、その内容にしたがって、応答指示データ２４を初期化する。ここでは、親機１００が全ての子機２００に対して応答を送信するように要求する場合を例に説明する。したがって、応答指示データ２４の全てのビットは、応答が必要であることを表す「１」に設定される。
【００５５】
次に、コマンド生成部１２２が、応答指示データ２４を含む送信要求フレーム２０を生成し（Ｓ１１）、コマンド送信部１２３から送信要求フレーム２０をブロードキャスト送信する（Ｓ１２）。送信要求フレーム２０を送信したら、親機１００は受信処理部１１０によって、子機からの応答を受信する（Ｓ１３）。
【００５６】
ステップＳ１３の親機による子機からの応答受信処理の詳細を、図７のフローチャートに示す。まず、応答受信部１１１が無線信号を受信する（Ｓ１３１）。受信タイミング特定部１１２は、この受信処理が何番目のタイムスロットによって行われているかを特定する（Ｓ１３２）。そして、誤り検出・訂正部１１３は、受信信号に誤りが含まれるか検出
し、誤りが含まれる場合には可能であれば誤り訂正を行う（Ｓ１３３）。
【００５７】
受信データに誤りがあり誤り訂正ができない場合（Ｓ１３４：エラー有り）は、この受信データについてはそれ以上の処理を行わず、ステップＳ１３８へ進む。一方、受信データに誤りがないか、もしくは誤り訂正が行えた場合（Ｓ１３４：エラー無し）には、ステップＳ１３５に進む。ステップＳ１３５では、送信元特定部１１４は、受信データに含まれるグループＩＤ３２および子機ＩＤ３３を参照して送信元を特定し（Ｓ１３５）、親機１００と同じグループに属する子機２００が送信元であるか否か判定する（Ｓ１３６）。グループＩＤ３２が異なる場合（Ｓ１３６：ＮＯ）には、それ以上の処理は行わない。グループＩＤ３２が一致する場合（Ｓ１３６：ＹＥＳ）には、受信情報更新部１１５が、この子機からの応答受信が成功したことを記録する（Ｓ１３７）。受信情報更新部１１５は、送信要求フレーム２０に含めた応答指示データ２４と同じ情報を保持しており、応答受信に成功した子機に対応するビットを「０」に更新する。すなわち、応答受信に成功した子機からは再送する必要がないので、その子機についての応答指示データのビット値を応答不要であることを表す値に更新する。
【００５８】
応答が必要な全ての子機について応答処理が完了したか判断し（Ｓ１３８）、完了していない場合（Ｓ１３８：ＮＯ）にはステップＳ１３１に戻り、完了している場合（Ｓ１３８：ＹＥＳ）には応答受信処理を終了してステップＳ１４に進む。全ての子機からの応答処理が完了したか否かは、応答が必要な子機の数に応じた時間（タイムスロット）が経過したかどうかによって判断することができる。
【００５９】
子機からの応答受信処理が完了したら、ステップＳ１４に進んで、送信要求相手特定部１２１は、応答を要求した全ての子機から応答を正しく受信できたかどうかを判定する。この判定は、受信情報更新部１１５によって更新された応答指示データを確認することによって行える。更新後の応答指示データの全てのビットの値が「０」であれば、全ての子機から応答を正しく受信できたことが分かる。この場合（Ｓ１４：ＹＥＳ）、親機１００は送信要求の処理を終了する。
【００６０】
一方、更新後の応答指示データのいずれかのビットの値が「１」であれば、そのビットに対応する子機から応答を正しく受信できていないことが分かる。この場合（Ｓ１４：ＮＯ）は、応答を正しく受信できなかった子機に対して送信要求を再送信し、応答の再送を要求する。具体的には、再送回数が上限回数に達していないことを確認してから（Ｓ１５）、ステップＳ１１〜ステップＳ１４の処理を再度実行する。送信要求フレームを生成する際には、受信情報更新部１１５によって更新された応答指示データを、そのまま送信要求フレームに格納することによって、再送する必要がある子機を特定した送信要求フレームを生成することができる。
【００６１】
再送を複数回繰り返すことで、全ての子機から応答が正しく受信できることが期待されるが、子機が故障している場合などはいつまでも子機からの応答を受信できない。再送を所定の上限回数だけ繰り返しても応答が得られない子機が存在する場合には、未応答ノード出力部１２４は、その子機を特定する情報を出力する（Ｓ１６）。応答しない子機を特定する情報は、その時点における応答指示データにおいて値が「１」のビットに対応する子機である。したがって、未応答ノード出力部１２４は、その時点における応答指示データをそのまま、応答しない子機を特定する情報として出力すればよい。
【００６２】
［子機による応答の送信］
次に、図８、図９を参照して、子機２００による応答の送信処理について説明する。子機２００のコマンド受信部２１１は、親機１００から送信要求フレーム２０を受信し、フィルタ処理、復調処理、復号処理などを施す（Ｓ２０）。誤り検出・訂正部２１３は、受
信信号に誤りが含まれるか検出し、誤りが含まれる場合には可能であれば誤り訂正を行う（Ｓ２１）。
【００６３】
受信データに誤りがあり誤り訂正ができない場合（Ｓ２２：エラー有り）は、この受信データについてはそれ以上の処理を行わない。一方、受信データに誤りがないか、もしくは誤り訂正が行えた場合（Ｓ２２：エラー無し）には、ステップＳ２３に進む。ステップＳ２３では、受信した送信要求が自ノード宛であるか判断する。具体的には、送信要求フレーム２０のグループＩＤ２２が、自ノードの属するグループのＩＤと同一であるか調べ、同一である場合に受信した送信要求が自ノード宛であると判断する。送信要求が自ノード宛ではない場合（Ｓ２３：ＮＯ）はそれ以上の処理を行わず、自ノード宛である場合（Ｓ２３：ＹＥＳ）にはステップＳ２４に進む。
【００６４】
ステップＳ２４では、応答要否判定部２２１が、送信要求フレーム２０に含まれる応答指示データ２４を参照して、この送信要求に対して自ノードが応答する必要があるか否か判断する。具体的には、応答指示データ２４のうち、自ノードに対応するビットを調べ、当該ビットが「１」であれば応答が必要であると判断し、「０」であれば応答が不要であると判断する。応答が不要の場合（Ｓ２５：ＮＯ）は、それ以上の処理を行わず、応答が必要の場合（Ｓ２５：ＹＥＳ）にはステップＳ２６に進む。
【００６５】
ステップＳ２６では、応答タイミング計算部２２３が、応答指示データ２４に基づいて、自ノードが応答を送信するタイミングを計算する。本実施形態においては、応答タイミングは、応答指示データにおいて、自ノードが応答すべきことを表すビットが、応答すべきことを表すビットのうちの何番目であるかに基づいて決定される。応答タイミングの計算処理の詳細について、図９のフローチャートを参照して説明する。まず、応答の順番を表す変数Ｎを１に初期化する（Ｓ２６１）。そして、応答指示データ２４を先頭ビットから順番に処理をし、自ノードに対応しないビットが「１」であれば（Ｓ２６２：ＮＯかつＳ２６３：ＹＥＳ）、変数Ｎを１だけインクリメントする（Ｓ２４）。自ノードに対応するビットに到達したら（Ｓ２６２：ＹＥＳ）、ループ処理を終了して、その時点における変数Ｎを自ノードが応答する順番であると決定する。例えば、図３（Ａ）に示すように、応答指示データ２４が「１０００１００１００」であり、自ノードの子機ＩＤが「５」である場合は、１ビット目に基づいて変数Ｎが２にインクリメントされ、２〜４ビット目では変数Ｎが変更されないので、自ノードの応答順序は２番目であると決定される。
【００６６】
その後、ステップＳ２６５において、応答順序から応答タイミングを計算する。具体的には、子機の送信時間をＴｓ、ガードタイム（衝突防止時間）をＧＴとして、送信タイミングは、送信要求を受信してから（Ｎ−１）×Ｔｓ＋Ｎ×ＧＴ後として計算される。なお、送信時間ＴｓやガードタイムＧＴは実装系によって異なるが、あらかじめ定められた値である。
【００６７】
応答送信部２２４は、応答タイミングが到来するまで待ち（Ｓ２７）、計算した応答タイミングが到来したら応答フレーム３０を送信する（Ｓ２８）。なお、送信する応答フレーム３０は、自ノードが応答を送信する必要があると判断できてから応答タイミングが到来するまでの間に、応答生成部２２２が生成すればよい。
【００６８】
＜本実施形態の作用・効果＞
本実施形態では、親機から子機に対して送信要求する際に、それぞれの子機について応答の要否と応答のタイミングを指定している。ここで、応答タイミングに重複なく、かつ、応答しないスロットが存在しないように、各子機の応答タイミングを決定しているので、最小の遅延で子機からの応答を得ることができる。また、各子機の応答タイミングが親機から指定されており、ランダムに決定されるわけではないので、通信の定時性も確保で
きる。また、応答指示データは子機１台あたり１ビットで済むので、本手法を採用する際のデータ量オーバヘッドを最小限とすることができる。
【００６９】
＜変形例＞
上記の実施形態の説明は、本発明を例示的に説明するものに過ぎず、本発明は上記の具体的な形態には限定されない。本発明は、その技術的思想の範囲内で種々の変形が可能である。
【００７０】
上記の説明では、応答指示データのｎビット目が子機ＩＤ「ｎ」の応答要否を表すものとして説明したが、これは必ずしも必須ではない。それぞれのビットについて子機との対応が取れていれば、その対応関係は任意で構わない。例えば、１ビット目が子機ＩＤ「１０」の応答要否を表し、２ビット目が子機ＩＤ「９」の応答要否を表すなど、任意の態様が考えられる。また、ビット「１」が応答が必要で、ビット「０」が応答不要を表すものとして説明したが、これは逆にしても構わない。
【００７１】
上記の説明では、子機の数があらかじめ定まっており変動がないものとして説明したが、運用中に子機の数が増減しても構わない。この場合、例えば、応答指示データを最大子機数と同じビット数の固定長としておけばよい。あるいは、応答指示データを可変長としてもよい。応答指示データを可変長とする場合は、応答指示データのビット数を表す情報を付加することが好ましい。
【００７２】
また、上記の説明では応答指示データにおいて子機１台あたり１ビットで応答要否を指定しているが、子機１台につき複数ビットで応答要否を指定してもよい。例えば、図１０（Ａ）に示すように、子機１台につき複数ビットのフィールドを割り当て、各フィールド内に当該フィールドに対応する子機の応答順序を指定するようにしてもよい。図１０（Ａ）に示す応答指示データ１００１は、複数（ここでは１０個）のフィールドから構成され、各フィールドは複数ビットを有する。ｎ番目のフィールドは、子機ＩＤ「ｎ」の応答順序を表し、フィールドの値が「０」であればそれは応答が不要であることを表す。図１０（Ａ）の応答指示データ１００１の例では、子機ＩＤ１，３，７，５，８を有する子機がそれぞれ１〜５番目に応答し、これら以外の子機は応答不要であることが示されている。このようにしても、親機から子機の応答タイミングを指定することができる。この場合に、応答が必要な子機の数をＮとしたときに、それぞれの子機の応答タイミングを１〜Ｎ番目（送信要求の１〜Ｎスロット後）のいずれかとし、全ての子機において応答タイミングに重複が無いようにすることが好ましい。このようにすれば、上記実施形態と同様に、応答の遅延を最小限とすることができる。本変形例は、上記の実施形態と比較して応答指示データのデータ量が多くなってしまうが、子機の応答タイミングをより柔軟に決定できるという利点がある。
【００７３】
また、図１０（Ｂ）に示すように、応答指示データにおいて、ｎ番目に応答すべき子機はどの子機であるかを指定するようにしてもよい。図１０（Ｂ）に示す応答指示データ１００２には、応答する必要のある子機の子機ＩＤが格納される。この際、応答順序が先のものから子機ＩＤが順に格納される。応答不要の子機については、子機ＩＤが応答指示データに格納されない。図１０（Ｂ）の応答指示データ１００２は、図１０（Ａ）と同様の内容を表現している。このような手法によっても、上記図１０（Ａ）と同様の効果が得られる。
【００７４】
上記の実施形態はＰＬＣとセンサからなるセンサデータ送信システムに本発明の手法を適用した例であるが、その他任意のシステムに本発明の手法を適用することができる。例えば、パッシブＵＨＦ  ＲＦＩＤ技術を用いたＲＦＩＤリーダ／ライタを親機とし、ＲＦＩＤタグを子機とするＲＦＩＤシステムに本発明を好適に適用することができる。本発明
の手法は、任意の無線通信システムに適用可能であり、特に限定はされない。
【符号の説明】
【００７５】
２０：送信要求フレーム  ２３：コマンドコード  ２４：応答指示データ
１００：親機（ＰＬＣ）
１１０：受信処理部    １１１：応答受信部  １１２：受信タイミング特定部
１１３：誤り検出・訂正部  １１４：送信元特定部  １１５：受信情報更新部
１２０：送信処理部  １２１：送信要求相手特定部  １２２：コマンド生成部
１２３：コマンド送信部  １２４：未応答ノード出力部
２００：子機（センサ）
２１０：受信処理部  ２１１：コマンド受信部  ２１２：受信タイミング特定部
２１３：誤り検出・訂正部  ２１４：送信元特定部
２２０：送信処理部  ２２１：応答要否判定部  ２２２：応答生成部
２２３：応答タイミング計算部  ２２４：応答送信部
【図１】
2015162792.tif 000003
【図２】
2015162792.tif 000004
【図３】
2015162792.tif 000005
【図４】
2015162792.tif 000006
【図５】
2015162792.tif 000007
【図６】
2015162792.tif 000008
【図７】
2015162792.tif 000009
【図８】
2015162792.tif 000010
【図９】
2015162792.tif 000011
【図１０】
2015162792.tif 000012