(57)【要約】【課題】親機と複数の子機との間で無線によりデータの収集を行い、予め設定されたチャネルを用いて送信順序が前後する子機とだけデータの送受信を行って通信所要時間の短縮と混信の防止を両立するデータ収集システムを提供する。【解決手段】本発明のデータ収集システム１は、親機Ｐが複数の子機Ｃｎから無線によりデータの収集を行い、複数の子機Ｃｎは、第１の子機Ｃ１から終端の子機ＣＭまで送信順序が予め設定されており、各子機Ｃｎはそれぞれ予め設定されたチャネルを用いて送信順序が前後する子機Ｃｎ−１、Ｃｎ＋１とだけデータの送受信を行い、親機Ｐは、予め設定されたチャネルを用いて第１の子機Ｃ１とだけデータの送受信を行うことを特徴とする。【選択図】      図１
2007151025.tif 000002
【特許請求の範囲】
【請求項１】
親機が複数の子機から無線によりデータの収集を行うデータ収集システムであって、
前記複数の子機は、第１の子機から終端の子機まで送信順序が予め設定されており、各子機はそれぞれ転送方向によって予め設定されたチャネルを用いて前記送信順序が前後する子機とだけデータの送受信を行い、
前記親機は、予め設定されたチャネルを用いて前記第１の子機とだけデータの送受信を行うことを特徴とするデータ収集システム。
【請求項２】
親機が複数の子機から無線によりデータの収集を行うデータ収集システムであって、
前記複数の子機は、第１の子機から終端の子機まで送信順序が予め設定されており、各子機は予め設定された複数のチャネルを予め設定された順序で用いて前記送信順序が前後する子機とだけデータの送受信を行い、
前記親機は、予め設定された複数のチャネルを予め設定された順序で用いて前記第１の子機とだけデータの送受信を行うことを特徴とするデータ収集システム。
【請求項３】
前記親機及び前記複数の子機は、データを受信すると受信確認を返信することを特徴とする請求項１または２のいずれかに記載のデータ収集システム。
【請求項４】
前記親機及び前記複数の子機は、固定時間毎に予め設定された複数のチャネルを予め設定された順序で用いることを特徴とする請求項２または３のいずれかに記載のデータ収集システム。
【請求項５】
前記固定時間は、前記送信順序が後の子機になるにしたがって、及び前記チャネルの順序が後になるにしたがって長くなるように設定されていることを特徴とする請求項４に記載のデータ収集システム。
【請求項６】
前記親機は、特定の子機だけを対象とした命令を送信することを特徴とする請求項１から請求項５のいずれか１項に記載のデータ収集システム。
【請求項７】
前記データに記録されている送信元アドレスは、最初にデータを送信した親機あるいは子機のアドレスから変更しないことを特徴とする請求項１から請求項６のいずれか１項に記載のデータ収集システム。
【請求項８】
前記複数の子機は、前記固定時間内に前記データを受信しなかったときには、前記親機あるいは前記送信順序が親機側にある子機に対して応答がなかったことを通知することを特徴とする請求項４から請求項７のいずれか１項に記載のデータ収集システム。
【請求項９】
前記複数の子機は、前記データの送信後に前記固定時間が経過しても前記受信確認を受信できないときには、送信したデータを記憶しておき、別のチャネルで送信することを特徴とする請求項４から請求項８のいずれか１項に記載のデータ収集システム。
【請求項１０】
前記複数の子機は、前記データに代えて緊急情報を送信することを特徴とする請求項１から請求項９のいずれか１項に記載のデータ収集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、親機と複数の子機との間で無線によりデータの収集を行うデータ収集システムに係り、特に通信所要時間の短縮と混信の防止を両立するデータ収集システムに関する。
【背景技術】
【０００２】
１台の親機と複数の子機との間でデータの収集を行うデータ収集システムでは、従来から親機によるポーリング制御によってデータの収集が行われており、子機には固有のアドレスが割り当てられ、親機からの制御データを受信すると、宛先アドレスが自らのアドレスと一致した場合にのみ、その制御データに基づいて処理を実行し、宛先アドレスが一致しなければ何の処理も実行しないように構成されていた。
【０００３】
このようなデータ収集システムを既存の設備に設置する場合に、機器間の通信を無線化すれば電源工事だけで通信線の工事が不要となるのでコストをかけずに設置することが可能である。
【０００４】
このような無線通信ネットワークシステムの従来例として、例えば特開２００３−８６２６号公報（特許文献４）が知られている。
【特許文献１】特開２００３−８６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、親機の電波到達範囲内に全ての子機が存在する場合に、各子機が勝手に送信すると、各子機がキャリアをセンスして送信していても親機側では電波が混信して受信できないという隠れ端末問題が発生する。これを避けるために、親機が各子機に問い合わせて指定された子機だけが応答する方法もあるが、親機の電波到達範囲内に全ての子機を設置しなければならないので、通信範囲に制限ができてしまう。
【０００６】
また、少なくとも隣り合う子機とは無線通信ができるように設置して順番に隣の子機と通信していくことにより情報を伝達する方式もあるが、混信（隠れ端末問題）を避けるためには、ある瞬間に電波を送信できるのは１台に限られるので、システムとしての通信所要時間が大幅に増えてしまう。
【０００７】
さらに、無線で１：Ｎのマルチホップ通信を使うと、時間的に効率よく親機からの命令を子機に伝達することはできるが、子機の設置位置によって通信可能な子機の数が異なり、隠れ端末問題も残るので、子機のデータを収集する制御システムには適当ではなかった。
【０００８】
また、マルチホップを１：１に限定して図２８に示すようなシステム構成及び図２９に示すようなシーケンスで親機が主導権を持って制御すると、データの衝突はなくなるが、図２９のシーケンス図から分かるように、何れかの子機にデータ要求をすると、それがデータ応答として戻ってくるまで、他の子機に対して通信することができず、通信時間が増大してしまう。
【０００９】
本発明の目的は、親機が複数の子機からデータを収集するデータ収集システムにおいて、通信所要時間の短縮と混信（隠れ端末問題）の防止とを両立させることにある。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、本発明のデータ収集システムは、親機が複数の子機から無線によりデータの収集を行うデータ収集システムであって、前記複数の子機は、第１の子機から終端の子機まで送信順序が予め設定されており、各子機はそれぞれ転送方向によって予め設定されたチャネルを用いて前記送信順序が前後する子機とだけデータの送受信を行い、前記親機は、予め設定されたチャネルを用いて前記第１の子機とだけデータの送受信を行うことを特徴とする。
【発明の効果】
【００１１】
本発明に係るデータ収集システムでは、複数の子機に第１の子機から終端の子機まで送信順序を予め設定し、各子機は転送方向によって予め設定されたチャネルを用いて送信順序が前後する子機とだけデータの送受信を行い、親機は予め設定されたチャネルを用いて第１の子機とだけデータの送受信を行うようにしたので、混信（隠れ端末問題）を防止できるとともに、通信所要時間も大幅に短縮することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明に係わるデータ収集システムの実施例を図面に基づいて説明する。
【００１３】
図１は、本実施例に係るデータ収集システムの構成を示すブロック図である。図１に示すように、本実施例のデータ収集システム１は、親機Ｐと複数の子機Ｃ１〜ＣＭとから構成されている。
【００１４】
ここで、複数の子機Ｃ１〜ＣＭは、第１の子機Ｃ１から終端の子機ＣＭまで送信順序が予め設定されており、送信順序が前後する子機とだけデータの送受信を行う。例えば、第１の子機Ｃ１は親機Ｐと第２の子機Ｃ２とだけ通信し、中間に位置する子機Ｃｎは送信順序が前後する子機Ｃｎ−１と子機Ｃｎ＋１とだけ通信し、終端の子機ＣＭは子機ＣＭ−１とだけ通信する。
【００１５】
親機Ｐは、第１の子機Ｃ１とだけデータの送受信を行っており、各子機Ｃ１〜ＣＭで入手した情報を収集するために、親機Ｐが「データ要求」を子機Ｃ１に送信すると、この「データ要求」を各子機Ｃ１〜ＣＭが転送する。そして「データ要求」を受信した各子機Ｃ１〜ＣＭは「データ応答」を返信し、各子機の転送によって、この「データ応答」を親機Ｐが受信して各子機Ｃ１〜ＣＭの情報を収集している。
【００１６】
このような構成の本実施例のデータ収集システム１では、システム起動時の手続きによって、使用するチャネルとその順序が決まり、親機Ｐと各子機Ｃ１〜ＣＭはその内容を認識している。
【００１７】
また、上述した親機Ｐと子機Ｃ１〜ＣＭとの間の通信で使用される通信方式としては、無線チャネルが複数あり、無線チャネルの切り替えが可能で、尚且つその時間が短いものであればよい。例えば、ＩＥＥＥ８０２．１５．４である。さらに、無線通信は１：１に限定して行うようにする。
【実施例１】
【００１８】
次に、本発明の実施例１を図面に基づいて説明する。図２は本実施例に係るデータ収集システムの構成を示すブロック図である。
【００１９】
図２に示すように、本実施例のデータ収集システム２１は、親機Ｐと複数の子機、ここでは１０台の子機Ｃ１〜Ｃ１０とから構成され、親機Ｐが１０台の子機Ｃ１〜Ｃ１０で発生あるいは入手した情報を所定の時間Ｔ以内で定期的に収集するシステムである。
【００２０】
このシステムでは、無線通信として例えば、ＰＨＹ層とＭＡＣ層にはＩＥＥＥ８０２．１５．４で規格化されたものを用いる。すなわち２．４ＧＨＺ帯で、５ＭＨＺ間隔で１６チャネル、最大データ転送レート２５０ｋｂｐｓ、電波到達範囲１０ｍ〜３０ｍである。無線チャネルの切り替え時間は３０ｍｓ以下とする。
【００２１】
また、Ｐｅｅｒ―ｔｏ−Ｐｅｅｒトポロジー（１対１接続）を用い、ビーコン機能は使用しない。受信確認のＡＣＫ（Acknowledgement）は、本実施例では使用しない場合について説明するが、使用してもよい。
【００２２】
ここで、本実施例のデータ収集システム２１で使用するパケットのフレームフォーマットを図３に示す。図３に示すように、本実施例のデータ収集システム２１で使用されるパケットは、ＰＨＹ層にＭＡＣ層が加えられた構成をしており、送信先アドレスＤＡと送信元アドレスＳＡにはそのパケットの送信先アドレスと送信元アドレスが記録されている。そして、データを最初に送信した送信元アドレスはＤＡＴＡ部のＳＡＯに記録されている。ＤＡＴＡ部には、コマンドである「データ要求」や「データ応答」などを記録するためのコマンドタイプ領域ＣＯＭや、データを最初に送信（作成）した送信元アドレスを記録するためのＳＡＯなどの領域が含まれている。
【００２３】
パケットの転送時間（送信後の待機時間、受信後の待機時間を含む）は、親機と子機で同一とし、各無線チャネルともにノイズ減がなく、再送なしに通信できるものとする。
【００２４】
親機Ｐと各子機Ｃ１〜Ｃ１０は、それぞれ固有のアドレスを保持しており、それぞれに備えられた５ビットのディップスイッチにより手動で設定されている。例えば、親機のアドレスは１００００（２進）、子機Ｃ１のアドレスは００００１（２進）、子機Ｃ２は０００１０（２進）、親機から一番遠い終端の子機Ｃ１０のアドレスは０１０１０（２進）と設定されている。
【００２５】
したがって、各子機Ｃ１〜Ｃ１０は、ディップスイッチの値から自分が親機から見て何番目の子機であるかを認識することができ、また自分の両隣の子機のアドレスについても認識することができる。
【００２６】
また、使用されるチャネルとしては、１１、１２、１３、１４、１５、１６、１７、１８、１９、２０の１０種類とし、次の順序で使用される。
【００２７】
ＣＨ（０）＝１１
ＣＨ（ｉ）＝ＣＨ（１）、ＣＨ（２）、ＣＨ（３）、ＣＨ（４）、ＣＨ（５）、ＣＨ（６）、ＣＨ（７）、ＣＨ（８）、ＣＨ（９）  （ｉ＝１〜９）
＝１２、１３、１４、１５、１６、１７、１８、１９、２０
各子機Ｃ１〜Ｃ１０は、それぞれ通信する相手とその通信に使用する無線チャネルとが予め決められており、同じ無線チャネルは使用しない。例えば、親機Ｐと子機Ｃ１はチャネルＣＨ（０）すなわちチャネル１１で送受信し、子機Ｃ１と子機Ｃ２はＣＨ（１）すなわちチャネル１２で送受信する。要するに、子機Ｃｎは子機Ｃｎ−１とはチャネルＣＨ（ｎ−１）で送受信し、子機Ｃｎ＋１とはチャネルＣＨ（ｎ）で送受信する。
【００２８】
次に、本実施例のデータ収集システム２１によるデータ収集処理を図４のシーケンス図、及び図５、図６のフローチャートに基づいて説明する。図４は親機Ｐと子機Ｃ１〜Ｃ１０との間で行われるデータ収集処理のシーケンス図、図５は親機Ｐにおけるデータ収集処理のフローチャート、図６は子機Ｃ１〜Ｃ１０におけるデータ収集処理のフローチャートである。
【００２９】
まず、親機Ｐはデータ収集処理を実施するための起動処理を実施してｉを０に設定し（Ｓ５０１）、データ収集処理を実施するために必要となるその他の処理を実施する（Ｓ５０２）。
【００３０】
一方、各子機Ｃ１〜Ｃ１０も起動処理を実施してｉを予め設定されている自からの番号Ｎに設定し（Ｓ６０１）、チャネルＣＨ（ｎ−１）で受信待ちをする（Ｓ６０２）。
【００３１】
次に、親機Ｐは各子機Ｃ１〜Ｃ１０で発生あるいは入手した情報、すなわちデータを集めることを目的として、各子機Ｃ１〜Ｃ１０に対してデータを親機Ｐに送るように「データ要求」を１番目の子機Ｃ１に予め設定されたチャネルＣＨ（０）で送信する（Ｓ１００−１、Ｓ５０３）。
【００３２】
子機Ｃ１はチャネルＣＨ（０）で受信待ちをしているので、自アドレス宛の「データ要求」を受信すると（Ｓ６０３）、そのパケットを取り込んで受信したデータ要求が全子機へのデータ要求であるか否かを判断し（Ｓ６０４）、全子機に対するデータ要求でない場合には別処理を行なって（Ｓ６０５）、ステップＳ６０２に戻って上述した処理を繰り返し行う。
【００３３】
また、全子機へのデータ要求である場合には、自らが終端の子機Ｃ１０でなければ（Ｓ６０６）、送信元アドレスＳＡを自アドレスに書き換え（Ｓ６０７）、送信先アドレスＤＡを終端側の子機Ｃｎ＋１、すなわち子機Ｃ２のアドレスに書き換えて（Ｓ６０８）、子機２へデータ要求をチャネルＣＨ（ｎ）、すなわちＣＨ（１）で転送する（Ｓ１００−２、Ｓ６０９）。
【００３４】
データ要求を転送した子機Ｃ１は、センサなどで検知した情報、すなわち自からのデータを用意し（Ｓ６１０）、「データ応答」としてチャネルＣＨ（ｎ−１）、子機Ｃ１ではＣＨ（０）で親機Ｐへ送信する（Ｓ１０１−１、Ｓ６１１）。
【００３５】
一方、親機Ｐはデータ要求を送信した後、ウエイトしてから（Ｓ５０４）、ｉをｉ＋１に設定して（Ｓ５０５）、チャネルＣＨ（０）で受信待ちをする（Ｓ５０６）。
【００３６】
そして、子機Ｃ１からチャネルＣＨ（０）でパケットを受信すると、宛先が自アドレスであるか否かを判定し（Ｓ５０７）、自アドレスでない場合にはステップＳ５０６に戻って受信待ちを続け、宛先が自アドレスである場合には受信した信号のコマンドタイプＣＯＭが「データ応答」であるか否かを判断する（Ｓ５０８）。
【００３７】
そして、コマンドタイプＣＯＭが「データ応答」でない場合には別処理を行なって（Ｓ５０９）、ステップＳ５０２に戻り、「データ応答」である場合には受信データの処理を行ない（Ｓ５１０）、受信した「データ応答」が終端の子機Ｃ１０からのデータ応答であるか否かを判断する（Ｓ５１１）。
【００３８】
そして、終端の子機Ｃ１０からのデータ応答でない場合にはステップＳ５０４に戻って他の子機からの「データ応答」の受信を引き続き行う。
【００３９】
一方、ステップＳ６１１でデータ応答を親機Ｐに送信した子機Ｃ１は、ｉをｉ＋１に設定して（Ｓ６１２）、チャネルＣＨ（１）で受信待ちをする（Ｓ６１３）。
【００４０】
そして、子機Ｃ２から「データ応答」のパケットを受信すると（Ｓ１０２−１）、宛先が自アドレスであるか否かを判断し（Ｓ６１４）、自アドレス宛の信号でない場合にはステップＳ６１３に戻って引き続きチャネルＣＨ（１）で受信待ちの状態となり、自アドレス宛の「データ応答」である場合には受信した「データ応答」のパケットを親機ＰへチャネルＣＨ（０）で送信する（Ｓ１０２−２、Ｓ６１５）。
【００４１】
このとき、子機Ｃ１では送信元アドレスＳＡを自アドレスに書き換え、送信先アドレスＤＡを親機Ｐのアドレスに書き換えて送信している。ただし、データの中身については書き換えないので、データの中身は子機Ｃ２のデータが記録されている。
【００４２】
こうして子機Ｃ２から送られてきた「データ応答」を親機Ｐへ送信すると、子機Ｃ１はｉが最大の子機数Ｍ、ここでは１０になったか否かを判断し（Ｓ６１６）、ｉが１０になっていない場合にはステップＳ６１２に戻って受信待ちを行ない、ｉが１０になっている場合にはステップＳ６０２に戻る。
【００４３】
このように上述した子機Ｃ１で行なわれた処理と同様の処理が、各子機Ｃ２〜Ｃ９で実行されて終端の子機Ｃ１０へデータ要求が送信されると（Ｓ１００−１０、Ｓ６０６）、子機Ｃ１０はウエイトしてから（Ｓ６１７）、センサなどで検知した情報、すなわち自からのデータを用意する（Ｓ６１８）。そして、用意したデータを「データ応答」としてチャネルＣＨ（９）で子機Ｃ９へ送信したら（Ｓ１１０−１、Ｓ６１９）、ステップＳ６０２に戻って上述した処理を繰り返し行う。
【００４４】
こうして子機Ｃ１０で「データ応答」のパケットが送信されると、上述した子機Ｃ１で行なわれた処理と同様の処理が、各子機Ｃ２〜Ｃ９で実行されて終端の子機Ｃ１０の「データ応答」のパケットが親機Ｐへと転送される。
【００４５】
そして、親機Ｐでは、ステップＳ５１１において受信した「データ応答」のパケットが終端の子機Ｃ１０からのパケット（Ｓ１１０−１０）であると判断すると、今回のデータ収集処理を終了してステップＳ５０２に戻って新たなデータの収集を行うために上述した処理を繰り返し行う。
【００４６】
このように、本実施例のデータ収集システム２１では、複数の子機Ｃ１〜Ｃ１０に第１の子機Ｃ１から終端の子機Ｃ１０まで送信順序を予め設定し、各子機はそれぞれ転送方向によって予め設定されたチャネルを用いて送信順序が前後する子機とだけデータの送受信を行い、親機Ｐは予め設定されたチャネルを用いて第１の子機Ｃ１とだけデータの送受信を行うようにしたので、データ要求の転送後、子機ＣｎはチャネルＣＨ（ｎ−１）での送信と、チャネルＣＨ（ｎ）での受信を繰り返すだけのシンプルな手順を実行すればよく、子機の数だけチャネルを使えば確実に混信（隠れ端末問題）を防止できるとともに、通信所要時間を大幅に短縮することができる。
【実施例２】
【００４７】
次に、本発明の実施例２を図面に基づいて説明する。ただし、本実施例に係るデータ収集システムの構成は図２で示した実施例１と同一なので説明は省略する。
【００４８】
本実施例のシステムでは、実施例１と同様にして、無線通信として例えば、ＰＨＹ層とＭＡＣ層にはＩＥＥＥ８０２．１５．４で規格化されたものを用いる。この規格は前述の通り２．４ＧＨＺ帯を用いるものであり、無線ＬＡＮと帯域が重なっている。しかし、本実施例の通信は、間欠的なデータ伝送であり、またＰＨＹ層のパケット長が最大１１４Ｂｙｔｅと短いので混信するおそれは非常に少ない。
【００４９】
また、実施例１と同様にして、Ｐｅｅｒ―ｔｏ−Ｐｅｅｒトポロジー（１対１接続）を用い、ビーコン機能は使用しないが、データ受信後には受信確認のＡＣＫを返信する。
【００５０】
さらに、本実施例のデータ収集システムで使用するパケットのフレームフォーマットは図３で示す実施例１と同一である。使用されるチャネルとしては、１１、１２、１３、１４、１５、１６、１７、１８、１９、２０、２１の１１種類とし、次の順序で使用される。
【００５１】
ＣＨ（０）＝１１
ＣＨ（ｉ）＝ＣＨ（１）、ＣＨ（２）、ＣＨ（３）、ＣＨ（４）、ＣＨ（５）、ＣＨ（６）、ＣＨ（７）、ＣＨ（８）、ＣＨ（９）、ＣＨ（１０）、（ｉ＝１〜１０）
＝１２、１３、１４、１５、１６、１７、１８、１９、２０、２１
次に、本実施例のデータ収集システムによるデータ収集処理を図７のシーケンス図、及び図８、図９のフローチャートに基づいて説明する。図７は親機Ｐと子機Ｃ１〜Ｃ１０との間で行われるデータ収集処理のシーケンス図、図８は親機Ｐにおけるデータ収集処理のフローチャート、図９は子機Ｃ１〜Ｃ１０におけるデータ収集処理のフローチャートである。
【００５２】
まず、親機はデータ収集処理を実施するための起動処理を実施してｉを０に設定し（Ｓ８０１）、データ収集処理を実施するために必要となるその他の処理を実施する（Ｓ８０２）。
【００５３】
一方、各子機Ｃ１〜Ｃ１０も起動処理を実施してｉを予め設定されている自からの番号Ｎに設定し（Ｓ９０１）、チャネルＣＨ（０）で受信待ちをする（Ｓ９０２）。
【００５４】
次に、親機Ｐは各子機で発生あるいは入手した情報、すなわちデータを集めることを目的として、各子機に対してデータを親機Ｐに送るように「データ要求」を１番目の子機Ｃ１に予め設定されたチャネルＣＨ（０）で送信する（Ｓ１００−１、Ｓ８０３）。
【００５５】
子機Ｃ１はチャネルＣＨ（０）で受信待ちをしているので、自アドレス宛の「データ要求」を受信すると（Ｓ９０３）、そのパケットを取り込んで受信確認ＡＣＫを親機Ｐに送信する（Ｓ９０４）。
【００５６】
親機Ｐでは受信確認ＡＣＫを受信したか否かを判定し（Ｓ８０４）、受信できなかった場合には再送するか否かを判定し（Ｓ８０５）、再送しない場合にはステップＳ８０２に戻って上述した処理を繰り返し行い、再送する場合にはウエイトしてから（Ｓ８０６）、ステップＳ８０３に戻ってデータ要求を再送する。
【００５７】
一方、子機Ｃ１では受信したデータ要求が全子機へのデータ要求であるか否かを判断し（Ｓ９０５）、全子機に対するデータ要求でない場合には別処理を行なって（Ｓ９０６）、ステップＳ９０２に戻って上述した処理を繰り返し行う。
【００５８】
また、全子機へのデータ要求である場合には、自らが終端の子機Ｃ１０でなければ（Ｓ９０７）、送信元アドレスＳＡを自アドレスに書き換え（Ｓ９０８）、送信先アドレスＤＡを終端側の子機、すなわち子機Ｃ２のアドレスに書き換えて（Ｓ９０９）、子機Ｃ２へデータ要求をチャネルＣＨ（０）で転送する（Ｓ１００−２、図９：Ｓ９１０）。
【００５９】
データ要求を転送した子機Ｃ１は、子機Ｃ２からの受信確認ＡＣＫを受信したか否かを判定し（Ｓ９１１）、受信したときには子機Ｃ１はセンサなどで検知した情報、すなわち自からのデータを用意し（Ｓ９１２）、予め設定されているチャネルＣＨ（１）で「データ応答」として親機Ｐへ送信する（Ｓ１０１−１、Ｓ９１３）。
【００６０】
一方、親機ＰはステップＳ８０４で子機Ｃ１からの受信確認ＡＣＫを受信すると、ウエイトしてから（Ｓ８０７）、ｉをｉ＋１に設定し（Ｓ８０８）、チャネルをチャネルＣＨ（０）からチャネルＣＨ（１）に切り替えて受信待ちをしている（Ｓ８０９）。
【００６１】
そして、子機Ｃ１からチャネルＣＨ（１）で信号を受信すると、宛先が自アドレスであるか否かを判定し（Ｓ８１０）、自アドレスでない場合にはステップＳ８０９に戻って受信待ちを続け、宛先が自アドレスである場合には受信確認ＡＣＫを子機Ｃ１に送信し（Ｓ８１１）、受信したパケットのコマンドタイプＣＯＭが「データ応答」であるか否かを判断する（Ｓ８１２）。
【００６２】
そして、コマンドタイプＣＯＭが「データ応答」でない場合には別処理を行なって（Ｓ８１３）ステップＳ８０２に戻り、「データ応答」である場合には受信データの処理を行ない（Ｓ８１４）、受信した「データ応答」が終端の子機Ｃ１０からの「データ応答」であるか否かを判断する（Ｓ８１５）。
【００６３】
そして、終端の子機Ｃ１０からのデータ応答でない場合にはステップＳ８０７に戻って他の子機からのデータ応答の受信を引き続き行う。
【００６４】
一方、ステップＳ９１３で「データ応答」を親機Ｐに送信した子機Ｃ１は、親機Ｐからの受信確認ＡＣＫを受信したか否かを判断し（Ｓ９１４）、受信していないときには再送するか否かを判断する（Ｓ９１５）。そして、再送する場合にはウエイトしてから（Ｓ９１６）、ステップＳ９１３に戻って「データ応答」を再送する。
【００６５】
また、ステップＳ９１４で親機Ｐからの受信確認ＡＣＫを受信した場合と、ステップＳ９１５で「データ応答」を再送しない場合にはｉをｉ＋１に設定して（Ｓ９１７）、チャネルをチャネルＣＨ（２）に切り替えて受信待ちをする（Ｓ９１８）。
【００６６】
そして、子機Ｃ２から「データ応答」のパケットを受信すると（Ｓ１０２−１）、宛先が自アドレスであるか否かを判断し（Ｓ９１９）、自アドレス宛のパケットでない場合にはステップＳ９１８に戻って引き続きチャネルＣＨ（２）で受信待ちの状態となり、自アドレス宛の「データ応答」である場合には受信確認ＡＣＫを子機Ｃ２に送信し（Ｓ９２０）、受信した「データ応答」のパケットを親機ＰへチャネルＣＨ（２）で送信する（Ｓ１０２−２、Ｓ９２１）。
【００６７】
このとき、子機Ｃ１では送信元アドレスＳＡを自アドレスに書き換え、送信先アドレスＤＡを親機Ｐのアドレスに書き換えて送信している。ただし、データの中身については書き換えないので、データの中身は子機Ｃ２のデータが記録されている。
【００６８】
こうして子機Ｃ２から送られてきた「データ応答」を親機Ｐへ送信すると、子機Ｃ１は親機Ｐからの受信確認ＡＣＫを受信したか否かを判断し（Ｓ９２２）、受信していない場合には再送するか否かを判断する（Ｓ９２３）。
【００６９】
そして、再送する場合にはウエイトしてから（Ｓ９２４）、ステップＳ９２１に戻って再送する。例えば、図７の領域Ａの子機Ｃ２では、チャネルＣＨ（５）で「データ応答」のパケットを送信したが（Ｓ１０５−４−１）、子機Ｃ１で受信されずに子機Ｃ１からの受信確認ＡＣＫを受信することができなかったので、再送している（Ｓ１０５−４−２）。同様に領域Ａでは子機Ｃ３〜Ｃ７も再送している（Ｓ１０６−４−２〜Ｓ１１０−４−２）。
【００７０】
こうしてステップＳ９２２で受信確認ＡＣＫを受信するか、ステップＳ９２３で再送しない場合には、ｉが最大の子機数Ｍ、ここでは１０になったか否かを判断し（Ｓ９２５）、ｉが１０になっていない場合にはステップＳ９１７に戻って次のチャネルでの受信待ちを行ない、ｉが１０になっている場合にはステップＳ９０２に戻って上述した処理を繰り返し行う。
【００７１】
また、ステップＳ９１１において送信した「データ要求」の受信確認ＡＣＫを受信しなかったときには再送するか否かを判断して（Ｓ９２６）、再送する場合にはウエイトしてから（Ｓ９２７）、ステップＳ９１０に戻って「データ要求」を再送する。
【００７２】
また、再送しない場合には子機Ｃ２がチャネルＣＨ（０）で「無応答」であるというデータを用意し（Ｓ９２８）、子機Ｃ１は親機ＰへチャネルＣＨ（１）で「無応答応答」のパケットを送信する（Ｓ９２９）。
【００７３】
そして、子機Ｃ１は受信確認ＡＣＫを受信したか否かを判断し（Ｓ９３０）、受信しなかったときには再送するか否かを判断して（Ｓ９３１）、再送する場合にはウエイトしてから（Ｓ９３２）、ステップＳ９２９に戻って「無応答応答」のパケットを再送する。
【００７４】
また、ステップＳ９３０で受信確認ＡＣＫを受信した場合とステップＳ９３１で再送しないと判断した場合には、ステップＳ９０２に戻って上述した処理を繰り返し行う。
【００７５】
このように上述した子機Ｃ１で行なわれた処理と同様の処理が、各子機Ｃ２〜Ｃ９で実行されて終端の子機Ｃ１０へ「データ要求」が送信されると（Ｓ１００−１０、Ｓ９０７）、子機Ｃ１０はウエイトしてから（Ｓ９３３）、センサなどで検知した情報、すなわち自からのデータを用意し（Ｓ９３４）、予め設定されたチャネルＣＨ（１０）で「データ応答」のパケットを子機Ｃ９へ送信する（Ｓ１１０−１、Ｓ９３５）。
【００７６】
そして、子機Ｃ１０は受信確認ＡＣＫを受信したか否かを判断し（Ｓ９３６）、受信しなかったときには再送するか否かを判断して（Ｓ９３７）、再送する場合にはウエイトしてから（Ｓ９３８）、ステップＳ９３５に戻って「データ応答」のパケットを再送する。
【００７７】
また、ステップＳ９３６で受信確認を受信した場合とステップＳ９３７で再送しないと判断した場合には、ステップＳ９０２に戻って上述した処理を繰り返し行う。
【００７８】
こうして子機Ｃ１０で「データ応答」のパケットが送信されると、上述した子機Ｃ１で行なわれた処理と同様の処理が、各子機Ｃ２〜Ｃ９で実行されて終端の子機Ｃ１０の「データ応答」のパケットが親機Ｐへと転送される。
【００７９】
そして、親機Ｐでは、ステップＳ８１５において受信した「データ応答」のパケットが終端の子機Ｃ１０からのパケット（Ｓ１１０−１０）であると判断すると、今回のデータ収集処理を終了してステップＳ８０２に戻って新たなデータの収集を行うために上述した処理を繰り返し行う。
【００８０】
このように、本実施例のデータ収集システムでは、各子機Ｃ１〜Ｃ１０が「データ要求」の受信を基点に無線チャネルを時分割に切り替えるので、ある時間で使用する無線チャネルを多重化することができ、システムとしての単位時間あたりのデータ量を増やすことができる。これにより、システムとしての通信所要時間の短縮も可能となる。
【００８１】
さらに、無線通信を１：１に限定し、予め決められた相手と、予め決められたチャネルで通信することにより、ある時間にあるチャネルで送信する子機は１台に限定することができるので、混信（隠れ端末問題）を防止することができる。
【００８２】
また、受信確認としてＡＣＫを送受信することにより、通信の信頼性を向上させることができる。また、ＡＣＫの受信後に次の動作（送信または受信待ち）に移るようにすれば、システム全体としてのデータ収集時間を短縮することができる。
【実施例３】
【００８３】
以下、本発明の実施例３を図面に基づいて説明する。ただし、本実施例に係るデータ収集システムの構成は図２で示した実施例１と同一なので説明は省略する。
【００８４】
本実施例のシステムでは、無線として例えば、２．４ＧＨｚ帯で、直接拡散のｏｆｆｓｅｔ−ＱＰＳＫ変調（２Ｍｃｈｉｐｓ／ｓｅｃ）、５ＭＨｚ間隔で１６チャネル、最大データ転送レート２５０ｋｂｐｓ、電波到達範囲１０ｍ〜３０ｍを使用するものとする。無線チャネルの切り替え時間は３０ｍｓ以下とする。また、ネットワーク構成としては、親機Ｐは子機Ｃ１とだけ、子機Ｃ１以外の子機は子機同士で１対１の通信を行うものとする。ＩＥＥＥ８０２．１５．４と類似しているが、パケットのフレームフォーマットやシーケンス（通信手順）を単純化して考える。ビーコンやハンドシェーク、データを受信したことを知らせる受信確認ＡＣＫもここでは使用しない。
【００８５】
ここで、本実施例のデータ収集システムで使用するパケットのフレームフォーマットを図１０に示す。図１０に示すように、本実施例のデータ収集システムで使用されるパケットのフォーマットでは、ＰＨＹ層にＭＡＣ層を加え、ＤＡＴＡ部にコマンドとしての「データ要求」や「データ応答」などを区別するためのコマンドタイプ領域ＣＯＭが含まれている。また、本実施例では送信元アドレスＳＡは、各子機で書き換えない手順で通信し、そのデータを最初に送信した送信元アドレスが最後まで残るようにする。これは、無線マルチホップを１：１に限定している、つまり送受信できる子機を１台ずつに限定しているので、転送の際に送信元アドレスＳＡを書き換える必要がないからである。これにより、そのデータを最初に送信した送信元アドレスを記載するＳＡＯを省略することが可能となっている。
【００８６】
次に、本実施例のデータ収集システムで使用するチャネルは、１１、１２、
１５、１８、２１、２４の６種類とし、次の順序で使う。
【００８７】
ＣＨ（０）＝１１
ＣＨ（ｉ）＝ＣＨ（１）、ＣＨ（２）、ＣＨ（３）、ＣＨ（４）、ＣＨ（５）、ＣＨ（６）、ＣＨ（７）、ＣＨ（８）、ＣＨ（９）、ＣＨ（１０）  （ｉ＝１〜１０）
＝１２、１５、１８、２１、２４、１２、１５、１８、２１、２４
次に、本実施例のデータ収集システムによるデータ収集処理を図１１のシーケンス図、及び図１２、図１３のフローチャートに基づいて説明する。図１１は親機Ｐと子機Ｃ１〜Ｃ１０との間で行われるデータ収集処理のシーケンス図、図１２は親機Ｐにおけるデータ収集処理のフローチャート、図１３は子機におけるデータ収集処理のフローチャートである。
【００８８】
まず、親機Ｐはデータ収集処理を実施するための起動処理を実施してｉを０に設定し、ｊを０に設定して（Ｓ１２０１）データ収集処理を実施するために必要となるその他の処理を実施する（Ｓ１２０２）。
【００８９】
一方、各子機Ｃ１〜Ｃ１０も起動処理を実施してｉを予め設定されている自からの番号Ｎに設定してｊを１に設定し（Ｓ１３０１）、チャネルＣＨ（０）で受信待ちをする（Ｓ１３０２）。
【００９０】
次に、親機Ｐは各子機で発生あるいは入手した情報、すなわちデータを集めることを目的として、各子機に対してデータを親機Ｐに送るように「データ要求」を１番目の子機Ｃ１に予め設定されているチャネルＣＨ（０）で送信する（Ｓ１００−１、Ｓ１２０３）。このとき送信される「データ要求」のパケットのフレームフォーマットを図１４に示す。
【００９１】
子機Ｃ１はチャネルＣＨ（０）で受信待ちをしているので、自アドレス宛の「データ要求」を受信すると（Ｓ１３０３）、そのパケットを取り込んで受信した「データ要求」が全子機へのデータ要求であるか否かを判断し（Ｓ１３０４）、全子機に対するデータ要求でない場合には別処理を行なって（Ｓ１３０５）、ステップＳ１３０２に戻って上述した処理を繰り返し行う。
【００９２】
また、全子機への「データ要求」である場合には、タイマを初期化してｔ＝０として（Ｓ１３０６）自らが終端の子機Ｃ１０でなければ（Ｓ１３０７）、送信先アドレスＤＡを終端側の子機、すなわち子機Ｃ２のアドレスに書き換えて（Ｓ１３０８）タイマが時間ｔ＝ｔｒ１＋ｔｃｄ＋ｔｓ０（ｔｒ１：受信後の待機時間、ｔｃｄ：チャネル切り替えダミー時間、ｔｓ０：送信準備時間）になったら（Ｓ１３０９）、子機Ｃ２へ図１５に示すようなデータ要求のパケットをチャネルＣＨ（０）で転送する（Ｓ１００−２、Ｓ１３１０）。ただし、チャネル切り替えダミー時間ｔｃｄとは、実際のチャネルは変更しないものの、他の子機とのタイミングを合わせることを目的として設けた時間であり、この時間内に受信と送信を切り替えている。送受信の切り替え時間が短い場合には、ｔｃｄの時間内でｔｒ１を延長してもよい。
【００９３】
そして、子機Ｃ２へ「データ要求」を送信したら送信後の待機時間ｔｓ１が経過するまで、すなわちタイマが時間Ｔ１＝ｔｒ１＋ｔｃｄ＋ｔｓ０＋ｔｓ１になるまでの間だけチャネルＣＨ（０）で待機し（Ｓ１３１１）、その後にチャネル切り替え時間ｔｃ後にチャネルをチャネルＣＨ（ｉ）、子機Ｃ１ではチャネルＣＨ（１）に切り替えて（Ｓ１３１２）センサなどで検知した情報、すなわち自からのデータを用意する（Ｓ１３１３）。
【００９４】
そして、送信準備時間ｔｓ０が経過したら、すなわちタイマが時間ｔ＝Ｔ１＋ｔｃ＋ｔｓ０を経過したら（Ｓ１３１４）、予め設定されたチャネルＣＨ（１）で「データ応答」として親機Ｐへ送信する（Ｓ１０１−１、Ｓ１３１５）。このとき送信される「データ応答」のパケットのフレームフォーマットを図１６に示す。
【００９５】
一方、親機ＰはステップＳ１２０３で「データ要求」を送信したら、タイマを始動させ（Ｓ１２０４）、タイマが時間Ｔ１を経過したら（Ｓ１２０５）、ｉをｉ＋１に設定して（Ｓ１２０６）チャネルをチャネルＣＨ（０）からチャネルＣＨ（１）に切り替えて受信待ちをする（Ｓ１２０７）。
【００９６】
そして、子機Ｃ１からチャネルＣＨ（１）で信号を受信すると、宛先が自アドレスであるか否かを判定し（Ｓ１２０８）、自アドレスでない場合にはステップＳ１２０７に戻って受信待ちを続け、自アドレスの場合には受信した信号のコマンドタイプＣＯＭが「データ応答」であるか否かを判断する（Ｓ１２０９）。
【００９７】
そして、コマンドタイプＣＯＭが「データ応答」でない場合には別処理を行なって（Ｓ１２１０）ステップＳ１２０２に戻り、「データ応答」である場合には受信データの処理を行なう（Ｓ１２１１）。
【００９８】
一方、ステップＳ１３１５で「データ応答」を親機Ｐに送信した子機Ｃ１は、タイマがＴ２＝Ｔ１＋ｔｃ＋ｔｓ０＋ｔｓ１（ｔｓ１：送信後の待機時間）を経過したら（Ｓ１３１６）、ｉをｉ＋１に設定し、ｊをｊ＋１に設定して（Ｓ１３１７）チャネルをチャネルＣＨ（２）に切り替えて受信待ちをする（Ｓ１３１８）。
【００９９】
そして、子機Ｃ２から図１７に示すような「データ応答」のパケットを受信すると（Ｓ１０２−１）、宛先が自アドレスであるか否かを判断し（Ｓ１３１９）、自アドレス宛の信号でない場合にはステップＳ１３１８に戻って引き続きチャネルＣＨ（２）で受信待ちの状態となる。一方、自アドレス宛の「データ応答」である場合には、タイマが時間ｔ＝Ｔ１＋ｔｃ＋ｔｓ０＋ｊ×（ｔｓ１＋ｔｃ＋ｔｒ０＋ｔｒ１＋ｔｃｄ＋ｔｓ０）、（ｔｒ０：受信準備時間）を経過したら（Ｓ１３２０）、受信した「データ応答」のパケットを親機ＰへチャネルＣＨ（２）で送信する（Ｓ１０２−２、Ｓ１３２１）。
【０１００】
このとき、子機Ｃ１では図１８に示すようにパケットの送信先アドレスＤＡを親機Ｐのアドレスに書き換えて送信している。ただし、データの中身については書き換えないので、データの中身は子機Ｃ２のデータが記録されている。
【０１０１】
こうして子機Ｃ２から送られてきた「データ応答」を親機Ｐへ送信すると、今度はタイマが時間ｔ＝Ｔ２＋ｊ×（ｔｃ＋ｔｒ０＋ｔｒ１＋ｔｃｄ＋ｔｓ０＋ｔｓ１）を経過したら（Ｓ１３２２）、ｉが最大の子機数Ｍ、ここでは１０になったか否かを判断し（Ｓ１３２３）、ｉが１０になっていない場合にはステップＳ１３１７に戻って次のチャネルでの受信待ちを行ない、ｉが１０になっている場合にはステップＳ１３０２に戻って上述した処理を繰り返し行う。
【０１０２】
一方、ステップＳ１２１１で受信した「データ応答」のデータ処理を行なった親機Ｐは、受信した「データ応答」が終端の子機Ｃ１０からのデータ応答であるか否かを判断し（Ｓ１２１２）、終端の子機Ｃ１０からのデータ応答でない場合にはタイマが時間ｔ＝Ｔ１＋ｔｃ＋ｔｓ０＋ｔｓ１＋ｊ×（ｔｃ＋ｔｓ０＋ｔｓ１＋ｔｃｄ＋ｔｒ０＋ｔｒ１）を経過してから（Ｓ１２１３）、ｊをｊ＋１に設定して（Ｓ１２１４）ステップＳ１２０６に戻って他の子機からの「データ応答」の受信を引き続き行う。
【０１０３】
このように上述した子機Ｃ１で行なわれた処理と同様の処理が、各子機Ｃ２〜Ｃ９で実行されて終端の子機Ｃ１０へ「データ要求」が送信されると（Ｓ１００−１０、図１３：Ｓ１３０７）、子機Ｃ１０はセンサなどで検知した情報、すなわち自からのデータを用意し（Ｓ１３２４）、送信準備時間ｔｓ０が経過したら、すなわちタイマが時間ｔ＝Ｔ１＋ｔｃ＋ｔｓ０を経過したら（Ｓ１３２５）、予め設定されたチャネルＣＨ（１０）で「データ応答」のパケットを子機Ｃ９へ送信して（Ｓ１１０−１、Ｓ１３２６）ステップＳ１３０２に戻り、上述した処理を繰り返し行う。
【０１０４】
こうして子機Ｃ１０で「データ応答」のパケットが送信されると、上述した子機Ｃ１で行なわれた処理と同様の処理が、各子機Ｃ２〜Ｃ９で実行されて終端の子機Ｃ１０の「データ応答」のパケットが親機Ｐへと転送される。
【０１０５】
そして、親機Ｐでは、ステップＳ１２１２において受信した「データ応答」のパケットが終端の子機Ｃ１０からのパケット（Ｓ１１０−１０）であると判断すると、今回のデータ収集処理を終了してステップＳ１２０２に戻って新たなデータの収集を行うために上述した処理を繰り返し行う。
【０１０６】
ただし、上述した図１１に示すシーケンス図では、送信準備時間ｔｓ０と受信準備時間ｔｒ０とは等しくなっており、また送信後の待機時間ｔｓ１と受信後の待機時間ｔｒ１も等しく、さらにチャネル切り替え時間ｔｃとチャネル切り替えダミー時間ｔｃｄも等しくなっている。データが長くて複数のパケットになる場合や、受信確認のためのＡＣＫを用いる場合には、送信後の待機時間ｔｓ１や受信後の待機時間ｔｒ１内において処理する。また、再送を行う場合にも送信後の待機時間ｔｓ１内で終了させる。
【０１０７】
ここで、上述した本実施例のデータ収集システムによる通信時間の具体例を説明する。１秒間に１０台のデータ（平均１００Ｂｙｔｅ、最大５００Ｂｙｔｅ）を、図１０のフレームフォーマットでＤＡＴＡ部以外が１１Ｂｙｔｅ、チャネル切り替え時間が３０ｍｓの場合を考える。
【０１０８】
まず、１つの送信または受信に費やすことのできる時間を計算すると、１ｓ÷(１０台＋予備１)＝９０．９ｍｓと計算することができる。ここからチャネル切り替え時間３０ｍｓを引けば、９０．９ｍｓ−３０ｍｓ＝６０．９ｍｓが、あるチャネルでの固定時間（ｔｒ０＋ｔｒ１＋ｔｃｄ＋ｔｓ０＋ｔｓ１）となる。
【０１０９】
「データ要求」が１１Ｂｙｔｅ＋１Ｂｙｔｅ＝１２Ｂｙｔｅのパケットになる場合、「データ要求」の送信にかかる時間は、１２Ｂｙｔｅ×８Ｂｉｔ÷２５０ｋｂｐｓ＝０．３８ｍｓとなる。
【０１１０】
また、「データ応答」のパケットのＤＡＴＡ部が３Ｂｙｔｅ＋１００Ｂｙｔｅで、全体では１１Ｂｙｔｅ＋３Ｂｙｔｅ＋１００Ｂｙｔｅ＝１１４Ｂｙｔｅのパケットになる場合、「データ応答」の送信にかかる時間は、１１４Ｂｙｔｅ×８Ｂｉｔ÷２５０ｋｂｐｓ＝３．６５ｍｓとなる。さらに、この時間に加えて受信してからパケットを解析して次の動作準備をするのに要する時間が５ｍｓかかるので、転送するのに要する時間は３．６５ｍｓ＋５ｍｓ＋３．６５ｍｓ＝１２．３ｍｓとなり、あるチャネルでの固定時間６０．９ｍｓに比べて十分に小さい。
【０１１１】
したがって、本実施例ではシステム的には非同期通信であるが、各子機のタイマを起動する「データ要求」の転送時間は、それ以外の時間に比べると十分に小さい。さらに、一定時間ごとに予め決められた動作をすること、受信しない場合（応答なしの場合）は一定時間（ｔｒ０＋ｔｒ１＋ｔｃｄ＋ｔｓ０）後にそれを無視して次の動作をすることなどを考慮すると、図１１に示したシーケンスで処理を実行することが可能となる。
【０１１２】
次に、データが１回分の送信パケットに入らない場合について説明する。このような場合にはデータを分割し、分割したデータを連続して送信する。例えば、パケットが連続することを示すビットフィールドをパケットのフレームフォーマット内に用意しておくことで可能となる。
【０１１３】
子機Ｃｎのデータが最大５００Ｂｙｔｅの場合に、５回に分けて連続して送信する。「データ応答」の１回あたりのパケット長は１１Ｂｙｔｅ＋３Ｂｙｔｅ＋５００Ｂｙｔｅ／５＝１１４Ｂｙｔｅとなる。この送信時間は、１１４Ｂｙｔｅ×８Ｂｉｔ÷２５０ｋｂｐｓ＝３．６５ｍｓとなり、「データ応答」を５回連続して送信したとしても３．６５ｍｓ×５回＝１８．２５ｍｓであり、あるチャネルでの固定時間（ｔｒ０＋ｔｒ１＋ｔｃｄ＋ｔｓ０＋ｔｓ１）＝６０．９ｍｓの中に十分に収めることができる。
【０１１４】
上述したように、本実施例のデータ収集システムでは、親機Ｐが「データ要求」の送信を基点にタイマを起動し、各子機Ｃ１〜Ｃ１０が「データ要求」の受信を基点にタイマをそれぞれ起動させ、あるチャネルでの固定時間ごとに動作をすることにより、受信確認ＡＣＫなしでも通信することができる。
【０１１５】
また、子機Ｃｎは、「データ要求」を受信するとタイマを起動し、ここを基点に予め決められた時間に予め決められた動作をするように設定されている。また、「データ要求」の転送を先に実行してから自からの「データ応答」を送信するように設定されており、さらにタイマを起動する「データ要求」の転送時間はシステム全体からすると十分に短い。これらのことを考慮すると、各子機Ｃｎでのタイミングの差は「データ要求」の転送時間だけであり、親機Ｐと各子機Ｃｎをほぼ同期させて動作させることができる。
【０１１６】
さらに、親機Ｐと各子機Ｃｎがほぼ同期して、時分割でチャネルを切り替えながら動作しているので、必要な無線のチャネル数は、Ｍ（子機の台数）／２＋１だけでよい。ＩＥＥＥ８０２．１５．４ではチャネルを１６個使用できるので、子機の台数は応答時間が許せば３０台まで接続可能である。
【０１１７】
逆に、子機が１０台の場合には、必要なチャネル数は６でよいので、予め不具合のあるチャネルを使用しないで通信することも可能となる。
【０１１８】
また、１回の通信を１ステップとすると、本実施例では、「２×Ｍ（子機の台数）＋１」のステップ数が必要となり、これにチャネルの変更時間（ｔｃ）×Ｍが本実施例では３０ｍｓ×１０台＝３００ｍｓだけ加わる。
【０１１９】
ところが、無線で１：１の通信を行って時分割多重通信をしない従来の図２８の構成図及び図２９のシーケンス図で示すシステムの場合には、子機が１０台あると１１０ステップ必要であった。これに対して、本実施例では２×１０＋１＝２１ステップなので大幅に短縮することができる。また、無線チャネルの変更時間ｔｃ×台数（本実施例では３００ｍｓ）の時間増は、ステップ数の増加分に比べれば僅かなものである。
【０１２０】
また、本実施例のデータ収集システムでは、転送の際に送信元アドレスＳＡを書き換えないので、そのデータを最初に送信した送信元アドレスが最後まで残り、実際の送信元アドレスを記載するＳＡＯを省略することができる。これによって、パケット長をその分だけ短くすることができ、システムとしてのデータ収集時間を短縮することができる。
【実施例４】
【０１２１】
次に、本発明の実施例４を説明する。ただし、本実施例に係るデータ収集システムの構成及び親機と子機で実施されるデータ収集処理は実施例３と同様なので詳しい説明は省略する。
【０１２２】
本実施例のデータ収集システムでは、チャネルの固定時間を、送信順序が後の子機になるにしたがって、及びチャネルの順序が後になるにしたがって長くなるように設定している。
【０１２３】
上述した実施例３では、各子機Ｃ１〜Ｃ１０は「データ要求」の受信を基点にタイマを起動し、決められた時間に決められた動作を行うことによって、各子機Ｃ１〜Ｃ１０が同期を取るようにしていた。ところが、各子機が送受信するパケットの通信時間分だけは同期がずれていた。また、子機の状態によっては受信処理動作が遅れる場合もあった。
【０１２４】
したがって、実施例３では終端側の子機になるにしたがって、親機との同期のずれは大きくなり、送受信できなくなる可能性が高くなっていた。また、タイマが起動してから時間が経った場合にも起動してから時間が経つにしたがって、親機との同期のずれは大きくなり、送受信できなくなる可能性が高くなっていた。
【０１２５】
そこで、本実施例では、各チャネルの固定時間の間隔を終端側の子機になるにしたがって大きくなるようにし、さらにタイマが起動してから時間が経った場合も時間が経つにしたがって大きくなるようにしている。
【０１２６】
上述した実施例３では、図１１に示すようにＴ３−Ｔ２、Ｔ４−Ｔ３、・・・、Ｔ１１−Ｔ１０の間隔はすべて等しいが、本実施例では図１９に示すように受信後の待機時間ｔｒ１と送信後の待機時間ｔｓ１を、終端側の子機になるにしたがって、さらにタイマが起動してから時間が経つにしたがって、時間ｔａずつ長くなるようにしている。これにより、本実施例ではＴ３'−Ｔ２＜Ｔ４'−Ｔ３'＜・・・＜Ｔ１０'−Ｔ９'＜Ｔ１１'−Ｔ１０'となっている。
【０１２７】
このように本実施例のデータ収集システムでは、各子機の間でのタイミングの差であった「データ要求」の転送時間を考慮することができるようになり、チャネルでの固定時間を、終端側の子機になるにしたがって、及びタイマが起動してから時間が経つにしたがって長くすることができる。これによって、タイマが起動してから時間が経った場合や、終端側の子機において送受信できなくなる可能性を減らすことができ、親機と各子機との間の同期の精度を向上させて受信確認ＡＣＫなしでも通信の信頼性を保つことが可能となる。
【実施例５】
【０１２８】
次に、本発明の実施例５を説明する。ただし、本実施例に係るデータ収集システムの構成及び親機と子機で実施されるデータ収集処理は実施例３と同様なので詳しい説明は省略する。
【０１２９】
本実施例のデータ収集システムでは、親機によって子機を限定してデータの収集を行なえるようにしている。
【０１３０】
ここで、本実施例のデータ収集システムで使用されるパケットのフレームフォーマットを図２０に示す。図２０に示すように、本実施例で使用されるパケットのフレームフォーマットでは、子機を限定してデータ要求をする場合にはコマンドタイプＣＯＭが「限定データ要求」と記録され、ＤＡＴＡ部には対象となる子機を限定するためのＯＪ部が設定されている。ＤＡＴＡ部の中のＯＪ部のビットにそれぞれ各子機が割り当てられており、「１」は返信を要求、「０」は返信を要求しないものとする。例えば、図２０のビット列の場合では、子機１、子機５、子機７のみ「データ応答」を返信するように要求されている。
【０１３１】
次に、本実施例のデータ収集システムによるデータ収集処理のシーケンス図を図２１に示す。図２１に示すように、各子機は「限定データ要求」を受信すると、タイマを起動し、この「限定データ要求」を基準として予め設定された順序でチャネルを切り替えていく。
【０１３２】
親機と各子機は、どの子機から「データ応答」があるかは、最初に受信した「限定データ要求」のＯＪビットを解析すれば認識することができるので、一定時間受信がない場合や受信確認ＡＣＫが返信されない場合に、「無応答応答」を送信する必要はない。さらに、親機はどのタイミングで「データ応答」を受信するか認識しているので、該当するタイミングで受信待ちを行なうようにする。
【０１３３】
また、「限定データ要求」に対する子機からの応答を、通常の「データ応答」ではなく、別のコマンドタイプである「限定データ応答」として、データ応答のパケットからＯＪ部をなくすようにしてもよい。
【０１３４】
このように、本実施例のデータ収集システムでは、パケットのフレームフォーマットにデータ要求の対象とする子機を限定できるようにしたので、全ての子機ではなく、任意の子機からだけデータを収集することが可能になる。
【０１３５】
さらに、各子機が「限定データ要求」を受信して転送していくので、どの子機から応答があるか、すなわちどのタイミングで応答があるかを各子機が認識することができ、それに対する動作をシステムとして決めておくことができる。特に、転送の必要がない場合には、図２１に示すようにチャネルは切り替えても送信をしなければ、電波が混信する確率を下げることもできる。
【０１３６】
また、終端の子機に問い合わせる場合を除けば、返信時間は全ての子機に返信を求める場合よりも短い時間で応答を得ることができる。
【実施例６】
【０１３７】
次に、本発明の実施例６を説明する。ただし、本実施例に係るデータ収集システムの構成及び親機と子機で実施されるデータ収集処理は実施例３と同様なので詳しい説明は省略する。
【０１３８】
本実施例のデータ収集システムでは、一定時間受信がない場合や受信確認ＡＣＫが返信されない場合に無応答応答を送信するようにしている。
【０１３９】
ここで、本実施例のデータ収集システムによるデータ収集処理のシーケンス図を図２２に示す。図２２に示すように、各子機Ｃｎは受信するまでの間、予め設定されたチャネルＣＨ（ｉ）で受信待ちをしている。このとき、あるチャネルでの受信固定時間（ｔｒ０＋ｔｒ１）内で受信しない場合には（Ｓ２２０）、受信しなかったことを「無応答応答」として次のタイミングとチャネルで親機側の子機Ｃｎ−１へ送信する（Ｓ２２１）。
【０１４０】
この「無応答応答」のパケットでは、送信元アドレスＳＡは、この「無応答応答」を生成した子機Ｃｎであるから、子機Ｃｎ＋１からの応答がなかったことを、親機Ｐと子機Ｃｎ及び子機Ｃｎよりも親機側の各子機で認識することができる。
【０１４１】
また、親機Ｐは「無応答応答」を受信及び解析することによって、どの子機がどのチャネルで通信できなかったのかを検出することが可能である。
【０１４２】
このとき、少なくとも１周期分の時間Ｔ後には、全ての子機はＣＨ（０）での受信待ちとなっているので、親機Ｐは個別に子機に対して原因を問い合わせる処理をしたり、新たに再起動コマンドを送信したりして、応答なしの原因を取り除くことができる。
【０１４３】
さらに、ＣＨ（０）での受信待ちのときに、各子機に対して例えば時間２Ｔという制限時間を設けておけば、時間２ＴまでチャネルＣＨ（０）で何も受信しなかった場合には、使用チャネルや使用順序を再決定する処理（起動処理に含む）に戻るようにしておけば、親機Ｐからの制御が何も効かなくなる状態を避けることができる。
【０１４４】
このように、本実施例のデータ収集システムでは、一定時間受信がない場合や受信確認ＡＣＫが返信されない場合には、子機Ｃｎが正常なデータを送信すべきタイミングで親機側の子機Ｃｎ−１へ「無応答応答」を送信するので、親機Ｐは「無応答応答」を受信及び解析することによって、どの子機がどのチャネルで通信できなかったのか検出することができる。また、親機Ｐが新たな使用チャネルと順序を決定し、各子機に通知することによって、データ収集を実行中であっても不具合のあるチャネルを使用せずに通信することができ、無線の通信不具合を減らすことができる。
【実施例７】
【０１４５】
次に、本発明の実施例７を説明する。ただし、本実施例に係るデータ収集システムの構成及び親機と子機で実施されるデータ収集処理は実施例３と同様なので詳しい説明は省略する。
【０１４６】
本実施例のデータ収集システムでは、データを送信した後に予め設定されたチャネルでの固定時間内に受信確認ＡＣＫを受信できずに、送信できたのか確認のできないデータをメモリに貯めておいて、次のチャネルで送信するようにしたものである。
【０１４７】
ここで、本実施例のデータ収集システムによるデータ収集処理のシーケンス図を図２３に示す。図２３では、子機Ｃ３から送信されたデータである「データ応答」（Ｓ１０３−１）を、子機Ｃ２から子機Ｃ１へ転送する際に（Ｓ１０３−２）失敗した場合を示している。この実施例では、固定時間ごとにチャネル変更するとともに、受信確認ＡＣＫを返信するように設定されている場合について説明する。
【０１４８】
まず、子機Ｃ１は一定時間ｔｒ０（受信準備時間）＋ｔｒ１（受信後の待機時間）の間に子機Ｃ２からのパケットをチャネルＣＨ（３）、すなわちチャネル１８で受信できない場合には、さらに時間ｔｃｄ（チャネル切り替えダミー時間）＋ｔｓ０（送信準備時間）だけ経過した後に「無応答応答」を親機ＰへチャネルＣＨ（３）で送信する（Ｓ１１３−１）。
【０１４９】
このとき、子機Ｃ２は子機Ｃ１からの受信確認ＡＣＫを受信できないことによって、送信が失敗したことを認識し、図２４に示す失敗したパケット（Ｓ１０３−２）を子機Ｃ２内のメモリに蓄積する。
【０１５０】
そして、子機Ｃ１は、時間ｔｃ（チャネルの切り替え時間）後にチャネルをＣＨ（４）すなわちチャネル２１に変更し、受信待ちとなる（ｔ＝Ｔ４）。そして、子機Ｃ１は子機Ｃ２から子機Ｃ４のデータである「データ応答」（Ｓ１０４−３）を受信し、受信確認ＡＣＫを子機Ｃ２へ返信する。
【０１５１】
このとき、子機Ｃ２は、チャネルＣＨ（３）では子機Ｃ１と通信できなかったが、次のチャネルＣＨ（４）では通信できたので、子機Ｃ２内のメモリに蓄積しておいた送信を失敗したデータを、新たなコマンドタイプである「蓄積データ応答」で、図２５に示すフレームフォーマットを利用して子機Ｃ１へチャネルＣＨ（４）で送信する。
【０１５２】
ここで、コマンドタイプを「蓄積データ応答」とした場合のみ、ＤＡＴＡ部にそのデータを最初に送信した子機のアドレスＳＡＯを含めるように設定しておけば、送信に失敗したパケット（Ｓ１０３−２）の送信元アドレスＳＡ、すなわち子機Ｃ３を「蓄積データ応答」のＳＡＯとすることができ、「蓄積データ応答」の送信元アドレスＳＡは子機Ｃ２にすることができる（Ｓ１２３−１、図２５）。
【０１５３】
そして、子機Ｃ１が「蓄積データ応答」に対しても受信確認ＡＣＫを返信することによって、子機Ｃ２は送信に失敗したパケット（Ｓ１０３−２）を別のチャネルで送信が成功したことを認識し、そのデータをメモリから削除する。
【０１５４】
子機Ｃ１は、次のステップで親機Ｐに対して、子機Ｃ４のデータである「データ応答」（Ｓ１０４−４）を送信するとともに、子機Ｃ２が生成したデータの中身は子機Ｃ３のデータである「蓄積データ応答」（Ｓ１２３−２）を図２６のフレームフォーマットで送信する。
【０１５５】
一方、親機Ｐは図２６に示す「蓄積データ応答」のパケットを受信して解析することにより、子機Ｃ２と子機Ｃ１との間のチャネルＣＨ（３）で通信ができなかったことを検出することができる。
【０１５６】
このように、本実施例のデータ収集システムでは、「データ応答」を送信できなかった場合に、そのデータをメモリに貯めておいて、別のチャネルで送信するようにしたので、データ収集処理を実施している途中から通信状況が悪くなったチャネルがあったとしても、データを収集することが可能となる。さらに、親機Ｐがその状況を蓄積し分析することによって、そのチャネルを使わないようにシステム全体を制御することができる。
【実施例８】
【０１５７】
次に、本発明の実施例８を説明する。ただし、本実施例に係るデータ収集システムの構成及び親機と子機で実施されるデータ収集処理は実施例３と同様なので詳しい説明は省略する。
【０１５８】
本実施例のデータ収集システムでは、子機側でセンサが異常データを検知した場合などに、子機から緊急情報を発信できるようにしたものである。
【０１５９】
ここで、本実施例のデータ収集システムによるデータ収集処理のシーケンス図を図２７に示す。図２７では、子機Ｃ６が緊急情報として「緊急応答」を親機Ｐへ発信したい場合について説明する。子機Ｃ６は、次に「データ応答」を転送すべきタイミングで、送信データを「データ応答」から「緊急応答」に代えて子機Ｃ５へ転送する（Ｓ１１６−１）。子機Ｃ６はその後は通常の動作を行い、子機Ｃ７から「データ応答」を受信し、子機Ｃ５へ転送する。また、「緊急応答」に代えられたパケットも通常のパケットと同じように、親機Ｐまで転送されていく。
【０１６０】
このように、本実施例のデータ収集システムでは、本来親機Ｐが各子機に問い合わせて各子機のデータを収集する（ポーリングを基本とした）システムでは、各子機は自発的に発信することはできないが、子機が「データ応答」を必要に応じて「緊急応答」に代えることによって、データ収集の１周期Ｔ内に、親機Ｐは「緊急応答」を受信し、緊急事態を認知することが可能となる。
【０１６１】
また、子機が勝手なタイミングで発信することがないので、混信することを防ぐことができる。
【０１６２】
さらに、親機は受信した「緊急応答」に基づいた処理を実施した後に、好きなタイミングで通常のシーケンスに戻ることができる。
【０１６３】
以上、本発明のデータ収集システムについて、図示した実施例に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置き換えることができる。
【図面の簡単な説明】
【０１６４】
【図１】本発明の実施例に係るデータ収集システムの構成を示すブロック図である。
【図２】本発明の実施例１に係るデータ収集システムの構成を示すブロック図である。
【図３】本発明の実施例１に係るデータ収集システムで使用されるパケットのフレームフォーマットを示す図である。
【図４】本発明の実施例１に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図５】本発明の実施例１に係るデータ収集システムの親機によるデータ収集処理を示すフローチャートである。
【図６】本発明の実施例１に係るデータ収集システムの子機によるデータ収集処理を示すフローチャートである。
【図７】本発明の実施例２に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図８】本発明の実施例２に係るデータ収集システムの親機によるデータ収集処理を示すフローチャートである。
【図９】本発明の実施例２に係るデータ収集システムの子機によるデータ収集処理を示すフローチャートである。
【図１０】本発明の実施例３に係るデータ収集システムで使用されるパケットのフレームフォーマットを示す図である。
【図１１】本発明の実施例３に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図１２】本発明の実施例３に係るデータ収集システムの親機によるデータ収集処理を示すフローチャートである。
【図１３】本発明の実施例３に係るデータ収集システムの子機によるデータ収集処理を示すフローチャートである。
【図１４】本発明の実施例３に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図１５】本発明の実施例３に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図１６】本発明の実施例３に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図１７】本発明の実施例３に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図１８】本発明の実施例３に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図１９】本発明の実施例４に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図２０】本発明の実施例５に係るデータ収集システムで使用されるパケットのフレームフォーマットを示す図である。
【図２１】本発明の実施例５に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図２２】本発明の実施例６に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図２３】本発明の実施例７に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図２４】本発明の実施例７に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図２５】本発明の実施例７に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図２６】本発明の実施例７に係るデータ収集システムで使用されるパケットのフレームフォーマットの一例を示す図である。
【図２７】本発明の実施例８に係るデータ収集システムによるデータ収集処理を示すシーケンス図である。
【図２８】従来の無線接続のポーリングシステムの構成を示すブロック図である。
【図２９】従来の無線接続のポーリングシステムによるデータ収集処理を示すシーケンス図である。
【符号の説明】
【０１６５】
１、２１  データ収集システム
Ｐ  親機
Ｃ１〜Ｃ１０、Ｃｎ  子機
【図１】
2007151025.tif 000003
【図２】
2007151025.tif 000004
【図３】
2007151025.tif 000005
【図４】
2007151025.tif 000006
【図５】
2007151025.tif 000007
【図６】
2007151025.tif 000008
【図７】
2007151025.tif 000009
【図８】
2007151025.tif 000010
【図９】
2007151025.tif 000011
【図１０】
2007151025.tif 000012
【図１１】
2007151025.tif 000013
【図１２】
2007151025.tif 000014
【図１３】
2007151025.tif 000015
【図１４】
2007151025.tif 000016
【図１５】
2007151025.tif 000017
【図１６】
2007151025.tif 000018
【図１７】
2007151025.tif 000019
【図１８】
2007151025.tif 000020
【図１９】
2007151025.tif 000021
【図２０】
2007151025.tif 000022
【図２１】
2007151025.tif 000023
【図２２】
2007151025.tif 000024
【図２３】
2007151025.tif 000025
【図２４】
2007151025.tif 000026
【図２５】
2007151025.tif 000027
【図２６】
2007151025.tif 000028
【図２７】
2007151025.tif 000029
【図２８】
2007151025.tif 000030
【図２９】
2007151025.tif 000031