本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
[実施の形態1]
図1は、この発明の実施の形態1によるセンサーネットワークシステムの概略図である。図1を参照して、この発明の実施の形態によるセンサーネットワークシステム10は、制御端末1と、センサー2〜5とを備える。
センサー2〜5は、それぞれ、電気機器に対応して設けられ、制御端末1の通信範囲に配置される。そして、センサー2〜5の各々は、表1に示す各種のセンサーからなる。
制御端末1は、各センサー2〜5で検出された電気機器のデータを無線通信によってセンサー2〜5から直接受信する。そして、制御端末1は、センサーj(j=2〜5)から複数の制御タイミングを受信し、その受信した複数の制御タイミングに基づいて、センサーjにおける電気機器の制御周期Tcjを検出する。制御端末1は、この処理をセンサー2〜5の全てについて実行し、複数のセンサー2〜5における複数の制御周期Tc2〜Tc5を検出する。また、制御端末1は、センサーjからデータを受信するときの受信間隔ITRjを検出する。制御端末1は、この処理をセンサー2〜5の全てについて実行し、複数のセンサー2〜5からのデータの受信間隔ITR2〜ITR5を検出する。
そうすると、制御端末1は、その検出した複数の制御周期Tc2〜Tc5および受信間隔ITR2〜ITR5に基づいて、後述する方法によって、各センサー2〜5が対応する電気機器を制御するための制御コマンドを送信する送信タイミングを決定し、その決定した送信タイミングで制御コマンドをセンサー2〜5へ送信する。この場合、制御コマンドは、表1に示す各センサーに対応する個別制御内容および共通制御内容を含む。
各センサー2〜5は、自己における電気機器の複数の制御タイミングを含む制御要求を制御端末1へ送信する。
また、各センサー2〜5は、制御端末1から制御コマンドを受信し、その受信した制御コマンドに基づいて、対応する電気機器を制御するとともに、対応する電気機器の動作状態を示すデータを検出する。そして、各センサー2〜5は、その検出したデータを無線通信によって制御端末1へ直接送信する。
図2は、図1に示す制御端末1の構成を示す概略ブロック図である。図2を参照して、制御端末1は、アンテナ11と、無線インターフェース12と、パケット処理モジュール13と、データ管理モジュール14と、制御管理モジュール15と、帯域管理モジュール16と、アプリケーションモジュール17と、データベース18とを含む。
アンテナ11は、無線通信空間を介してセンサー2〜5からデータまたは制御要求を含むパケットを受信し、その受信したパケットを無線インターフェース12へ出力する。また、アンテナ11は、無線インターフェース12から受けたパケットを無線通信空間を介してセンサー2〜5へ送信する。
無線インターフェース12は、パケット処理モジュール13からパケットを受け、その受けたパケットに対して変調等の物理層における処理を施す。そして、無線インターフェース12は、パケットをアンテナ11を介して送信する。
また、無線インターフェース12は、アンテナ11からパケットを受け、その受けたパケットに対して復調等の物理層における処理を施す。そして、無線インターフェース12は、パケットをパケット処理モジュール13へ出力する。
パケット処理モジュール13は、MAC(Media Access Control)層に属する。そして、パケット処理モジュール13は、データ管理モジュール14からパケットを受けると、その受けたパケットにヘッダを付加して無線インターフェース12へ出力する。
また、パケット処理モジュール13は、無線インターフェース12からパケットを受けると、その受けたパケットからヘッダを削除してデータ管理モジュール14へ出力する。
データ管理モジュール14は、MAC層に属し、パケット処理モジュール13からパケットを受けると、その受けたパケットがセンサーjにおける複数の制御タイミングを含む場合、その複数の制御タイミングとパケットの送信元とをパケットから取り出して制御管理モジュール15および帯域管理モジュール16へ出力する。また、データ管理モジュール14は、その受けたパケットがセンサーjにおける許容制御遅延TCD_jを含む場合、その許容制御遅延TCD_jとパケットの送信元とをパケットから取り出して制御管理モジュール15および帯域管理モジュール16へ出力する。更に、データ管理モジュール14は、その受けたパケットがセンサーjにおいて検出されたデータを含む場合、そのパケットを受けたときの受信タイミングを検出し、その検出した受信タイミングおよびそのパケットの送信元を帯域管理モジュール16へ出力する。さらに、データ管理モジュール14は、その受けたパケットがセンサーjにおいて検出されたデータを含む場合、そのパケットからデータおよび送信元を取り出してアプリケーションモジュール17へ出力する。
データ管理モジュール14は、アプリケーションモジュール17からセンサー2〜5に対する複数の制御コマンドを受け、制御コマンドをセンサー2〜5へ送信する送信タイミングを制御管理モジュール15から受ける。
そして、データ管理モジュール14は、後述する制御方式MTH1、制御方式MTH2および制御方式MTH3のいずれかを帯域管理モジュール16から受けると、複数の制御コマンドを含むパケットを生成し、その生成したパケットを制御管理モジュール15から受けた送信タイミングでセンサー2〜5へ送信する。その後、データ管理モジュール14は、制御管理モジュール15から送信タイミングを受ける毎に、複数の制御コマンドを含むパケットをセンサー2〜5へ送信する。
また、データ管理モジュール14は、後述する制御方式MTH4を帯域管理モジュール16から受けると、データを制御端末1へ送信したセンサーjに対する制御コマンドを含むパケットを生成し、その生成したパケットを制御管理モジュール15から受けた送信タイミングでセンサーjへ送信する。その後、データ管理モジュール14は、制御管理モジュール15から送信タイミングを受ける毎に、センサーjに対する制御コマンドを含むパケットをセンサーjへ送信する。
制御管理モジュール15は、MAC層に属し、複数の制御タイミングと許容制御遅延と送信元とをデータ管理モジュール14から受け、センサー2〜5を制御するための制御方式(制御方式MTH1〜MTH4のいずれか)を帯域管理モジュール16から受ける。そして、制御管理モジュール15は、その受けた制御方式、複数の制御タイミング、許容制御遅延および送信元に基づいて、後述する方法によって、制御コマンドの送信タイミングを決定し、その決定した送信タイミングをデータ管理モジュール14へ出力する。
帯域管理モジュール16は、MAC層に属し、データの複数の受信タイミングと複数の制御タイミングと送信元と許容制御遅延とをデータ管理モジュール14から受ける。そして、帯域管理モジュール16は、その受けた複数の受信タイミング、複数の制御タイミング、送信元および許容制御遅延に基づいて、後述する方法によって、センサー2〜5を制御するための制御方式(制御方式MTH1〜MTH4のいずれか)を決定し、その決定した制御方式をデータ管理モジュール14および制御管理モジュール15へ出力する。
アプリケーションモジュール17は、データ管理モジュール14からデータおよびそのデータの送信元を受ける。そして、アプリケーションモジュール17は、その受けたデータが各センサー2〜5における検出データからなるとき、データおよび送信元を対応付けてデータベース18に格納する。また、アプリケーションモジュール17は、その受けたデータが制御要求からなるとき、表1を参照して各センサー2〜5を制御するための制御コマンドを生成してデータ管理モジュール14へ出力する。
データベース18は、送信元とデータとを対応付けて記憶する。
図3は、図1に示すセンサー2の構成を示す概略ブロック図である。図3を参照して、センサー2は、アンテナ21と、無線インターフェース22と、パケット処理モジュール23と、データ制御モジュール24と、タイミング制御モジュール25と、アプリケーションモジュール26と、インターフェース27と、検出素子28とを含む。
アンテナ21は、無線通信空間を介して制御端末1から制御コマンドを含むパケットを受信し、その受信したパケットを無線インターフェース22へ出力する。また、アンテナ21は、無線インターフェース22から受けたパケットを無線通信空間を介して制御端末1へ送信する。
無線インターフェース22は、パケット処理モジュール23からパケットを受け、その受けたパケットに対して変調等の物理層における処理を施す。そして、無線インターフェース22は、パケットをアンテナ21を介して送信する。
また、無線インターフェース22は、アンテナ21からパケットを受け、その受けたパケットに対して復調等の物理層における処理を施す。そして、無線インターフェース22は、パケットをパケット処理モジュール23へ出力する。
パケット処理モジュール23は、MAC層に属する。そして、パケット処理モジュール23は、データ制御モジュール24からパケットを受けると、その受けたパケットにヘッダを付加して無線インターフェース22へ出力する。
また、パケット処理モジュール23は、無線インターフェース22からパケットを受けると、その受けたパケットからヘッダを削除してデータ制御モジュール24へ出力する。
データ制御モジュール24は、MAC層に属する。そして、データ制御モジュール24は、制御コマンドを含むパケットをパケット処理モジュール23から受け、その受けたパケットをタイミング制御モジュール25およびアプリケーションモジュール26へ出力する。
また、データ制御モジュール24は、許容制御遅延TCD_2をアプリケーションモジュール26から受けると、その受けた許容制御遅延TCD_2を含むパケットを生成してパケット処理モジュール23へ出力する。
更に、データ制御モジュール24は、電気機器20の動作状態を示すデータをアプリケーションモジュール26から受けると、その受けたデータを含むパケットを生成してパケット処理モジュール23へ出力する。
さらに、データ制御モジュール24は、センサー2における電気機器20の複数の制御タイミングを含む制御要求をアプリケーションモジュール26から受けると、その受けた制御要求を含むパケットを生成してパケット処理モジュール23へ出力する。
タイミング制御モジュール25は、MAC層に属する。そして、タイミング制御モジュール25は、データ制御モジュール24からパケットを受け、その受けたパケットからセンサー2に対する制御コマンドを抽出する。そうすると、タイミング制御モジュール25は、その抽出した制御コマンドによって指定されたセンサー2における制御タイミングを取り出し、その取り出した制御タイミングに基づいて、センサー2における電気機器20の制御期間と、電気機器20のデータ収集期間とを決定する。そして、タイミング制御モジュール25は、その決定した制御期間およびデータ収集期間をアプリケーションモジュール26へ出力する。
アプリケーションモジュール26は、センサー2における電気機器20の複数の制御タイミングを含む制御要求を生成してデータ制御モジュール24へ出力する。また、アプリケーションモジュール26は、センサー2における許容制御遅延TCD_2を検出し、その検出した許容制御遅延TCD_2をデータ制御モジュール24へ出力する。更に、アプリケーションモジュール26は、制御期間およびデータ収集期間をタイミング制御モジュール25から受け、複数の制御コマンドを含むパケットをデータ制御モジュール24から受ける。そして、アプリケーションモジュール26は、その受けたパケットからセンサー2に対する制御コマンドを抽出し、その抽出した制御コマンドに含まれる制御内容を検出する。
そうすると、アプリケーションモジュール26は、タイミング制御モジュール25から受けた制御期間の間、その検出した制御内容に従ってインターフェース27を介して電気機器20を制御する。また、アプリケーションモジュール26は、制御期間が終了すると、データ収集期間の間、その検出した制御内容に従って、電気機器20の動作状態を示すデータを検出するように検出素子28を制御する。そして、アプリケーションモジュール26は、検出素子28からデータを受けると、その受けたデータをデータ制御モジュール24へ出力する。
インターフェース27は、アプリケーションモジュール26が電気機器20を制御するときのインターフェースである。
検出素子28は、アプリケーションモジュール26からの制御に従って、電気機器20の動作状態を示すデータを検出し、その検出したデータをアプリケーションモジュール26へ出力する。
なお、図1に示すセンサー3〜5の各々は、図3に示すセンサー2と同じ構成からなる。
次に、制御端末1の帯域管理モジュール16におけるセンサー2〜5の制御方式の決定方法について説明する。
制御端末1の帯域管理モジュール16は、センサー2における複数の制御タイミングtc1_2,tc2_2,tc3_2,・・・と、センサー2のアドレスAdd2と、センサー2からデータを受信したときの複数の受信タイミングtr1_2,tr2_2,tr3_2,・・・と、センサー2〜5における許容制御遅延TCD_2〜TCD_5とをデータ管理モジュール14から受ける。この許容制御遅延TCD_2〜TCD_5は、それぞれ、センサー2〜5が許容できる制御遅延、即ち、センサー2〜5における最大制御周期であり、センサー2〜5に固有のものである。そして、帯域管理モジュール16は、その受けた複数の制御タイミングtc1_2,tc2_2,tc3_2,・・・の隣接する2つの制御タイミングtc1_2,tc2_2;tc2_2,tc3_2;・・・間の時間間隔TI1_2,TI2_2,・・・を検出する。また、帯域管理モジュール16は、複数の受信タイミングtr1_2,tr2_2,tr3_2,・・・の隣接する2つの受信タイミングtr1_2,tr2_2;tr2_2,tr3_2;・・・間の受信間隔ITR1_2,ITR2_2,・・・を検出する。
制御端末1の帯域管理モジュール16は、センサー3〜5についても、同様にして、隣接する2つの制御タイミング間の時間間隔TI1_3,TI2_3,・・・;TI1_4,TI2_4,・・・;TI1_5,TI2_5,・・・を検出するとともに、隣接する2つの受信タイミング間の受信間隔ITR1_3,ITR2_3,・・・;ITR1_4,ITR2_4,・・・;ITR1_5,ITR2_5,・・・を検出する。
そして、制御端末1は、センサー2について検出した複数の時間間隔TI1_2,TI2_2,・・・が相互に等しいとき、その時間間隔TI1_2,TI2_2,・・・をセンサー2における制御周期Tc2として検出する。同様にして、制御端末1は、各センサー3〜5について検出した複数の時間間隔TI1_3,TI2_3,・・・;TI1_4,TI2_4,・・・;TI1_5,TI2_5,・・・が相互に等しいとき、その時間間隔TI1_3,TI2_3,・・・;TI1_4,TI2_4,・・・;TI1_5,TI2_5,・・・をそれぞれセンサー3〜5における制御周期Tc3〜Tc5として検出する。
そうすると、制御端末1の帯域管理モジュール16は、その検出した制御周期Tc2〜Tc5が相互に同じであるか否かを判定する。そして、制御端末1の帯域管理モジュール16は、制御周期Tc2〜Tc5が相互に同じであるとき、センサー2〜5における制御タイミングtc_2,tc_3,tc_4,tc_5のうち、最も早い制御タイミングと最も遅い制御タイミングでセンサー2〜5に対する複数の制御コマンドをまとめてセンサー2〜5へ送信する制御方式MTH1をセンサー2〜5の制御方式として決定する。
一方、制御周期Tc2〜Tc5が相互に異なるとき、制御端末1の帯域管理モジュール16は、制御周期Tc2〜Tc5が受信間隔ITR1_2,ITR2_2,・・・;ITR1_3,ITR2_3,・・・;ITR1_4,ITR2_4,・・・;ITR1_5,ITR2_5,・・・よりも短いか否かをさらに判定する。
そして、制御端末1の帯域管理モジュール16は、制御周期Tc2〜Tc5が受信間隔ITR1_2,ITR2_2,・・・;ITR1_3,ITR2_3,・・・;ITR1_4,ITR2_4,・・・;ITR1_5,ITR2_5,・・・よりも短くないとき、制御周期Tc2〜Tc5のうち、最も短い制御周期の開始タイミングと終了タイミングとにおいてセンサー2〜5に対する複数の制御コマンドをまとめて送信する制御方式MTH2をセンサー2〜5の制御方式として決定する。
一方、制御周期Tc2〜Tc5が受信間隔ITR1_2,ITR2_2,・・・;ITR1_3,ITR2_3,・・・;ITR1_4,ITR2_4,・・・;ITR1_5,ITR2_5,・・・よりも短いとき、制御端末1の帯域管理モジュール16は、センサー2〜5からの制御要求が有るか否かをさらに判定する。
そして、制御端末1の帯域管理モジュール16は、制御要求が無いとき、制御周期Tc2〜Tc5のうちの最も短い制御周期の開始タイミングと終了タイミングのうち、最も早い制御タイミングに最も近い開始タイミングまたは終了タイミングと、最も短い許容制御遅延(=許容制御遅延TCD_2〜TCD_5のいずれか)の終了タイミングに最も近い開始タイミングまたは終了タイミングとを選択し、その選択した開始タイミングまたは終了タイミングにおいて、センサー2〜5に対する複数の制御コマンドをまとめて送信する制御方式MTH3をセンサー2〜5の制御方式として決定する。
一方、制御要求が有るとき、制御端末1の帯域管理モジュール16は、各センサー2〜5からデータを受信したことに応じて制御コマンドを各センサー2〜5へ送信する制御方式MTH4をセンサー2〜5の制御方式として決定する。
図4は、実施の形態1における制御コマンドの送信タイミングを示すタイミングチャートである。図4を参照して、制御方式MTH1がセンサー2〜5の制御方式として決定されたとき、センサー2〜5の制御周期Tc2〜Tc5は、相互に等しい(Tc2=Tc3=Tc4=Tc5=Tc)。
そして、センサー2〜5における個別の制御タイミングは、それぞれ、制御タイミングtc1_2,tc1_3,tc1_4,tc1_5である。
そうすると、制御端末1の制御管理モジュール15は、制御タイミングtc1_2,tc1_3,tc1_4,tc1_5のうち、最も早い制御タイミングtc1_2で複数の制御コマンドを含むパケットをセンサー2〜5へブロードキャストする。その後、制御端末1の制御管理モジュール15は、制御タイミングtc1_2,tc1_3,tc1_4,tc1_5のうち、最も遅い制御タイミングtc1_5で複数の制御コマンドを含むパケットをセンサー2〜5へブロードキャストする。それ以降、制御端末1の制御管理モジュール15は、制御タイミングtc2_2,tc2_3,tc2_4,tc2_5のうち、最も遅い制御タイミングtc2_5で複数の制御コマンドを含むパケットをセンサー2〜5へブロードキャストし、制御タイミングtc3_2,tc3_3,tc3_4,tc3_5のうち、最も遅い制御タイミングtc3_5で複数の制御コマンドを含むパケットをセンサー2〜5へブロードキャストする。
従来、制御コマンドは、制御タイミングtc1_2,tc2_2,tc3_2,・・・でセンサー2へ送信され、制御タイミングtc1_3,tc2_3,tc3_3,・・・でセンサー3へ送信され、制御タイミングtc1_4,tc2_4,tc3_4,・・・でセンサー4へ送信され、制御タイミングtc1_5,tc2_5,tc3_5,・・・でセンサー5へ送信されていた。
しかし、この発明においては、制御端末1は、制御タイミングtc1_2,tc1_5,tc2_5,tc3_5,・・・でセンサー2〜5に対する複数の制御コマンドをまとめてセンサー2〜5へ送信する。その結果、制御コマンドのセンサー2〜5への送信回数が減少する。
したがって、この発明によれば、通信帯域を狭くできる。また、一定の通信帯域の下で、制御コマンドを送信するための時間の割当が行なわれるため、制御コマンドは、パケット損失等の影響を受け難くなり、データよりも信頼性を高くして制御コマンドを送信できる。
なお、制御方式MTH1においては、制御周期Tc2〜Tc5のうち、開始タイミングが最も早い制御周期Tc2の開始タイミングおよび終了タイミングでセンサー2〜5に対する複数の制御コマンドをまとめてセンサー2〜5へ送信するようにしてもよい。この場合、制御端末1は、制御タイミングtc1_2,tc2_2,tc3_2,・・・において、センサー2〜5に対する複数の制御コマンドをまとめてセンサー2〜5へ周期的に送信する。
図5は、実施の形態1における制御コマンドの他の送信タイミングを示すタイミングチャートである。図5を参照して、制御方式MTH2がセンサー2〜5の制御方式として決定されたとき、センサー2〜5の制御周期Tc2〜Tc5は、相互に異なる(Tc5<Tc2<Tc3<Tc4)。
そうすると、制御端末1の制御管理モジュール15は、制御周期Tc2〜Tc5のうち、最も短い制御周期Tc5を選択し、その選択した制御周期Tc5の開始タイミングまたは終了タイミングである送信タイミングtc1_5,tc2_5,tc3_5(=tc1_1,tc2_1,tc3_1)で複数の制御コマンドをまとめてセンサー2〜5へ送信する。
この制御方式MTH2においても、制御端末1は、複数の制御コマンドをまとめてセンサー2〜5へ送信するので、制御コマンドのセンサー2〜5への送信回数が減少する。
したがって、この発明によれば、通信帯域を狭くできる。また、一定の通信帯域の下で、制御コマンドを送信するための時間の割当が行なわれるため、制御コマンドは、パケット損失等の影響を受け難くなり、データよりも信頼性を高くして制御コマンドを送信できる。
図6は、実施の形態1における制御コマンドのさらに他の送信タイミングを示すタイミングチャートである。図6を参照して、制御方式MTH3がセンサー2〜5の制御方式として決定されたとき、センサー2〜5の制御周期Tc2〜Tc5は、相互に異なり(Tc5<Tc2<Tc3<Tc4)、制御端末1は、センサー2〜5から制御要求を受信しない。
そうすると、制御端末1の制御管理モジュール15は、制御方式MTH2が選択された場合と同様にして、制御周期Tc2〜Tc5のうち、最も短い制御周期Tc5を選択し、その選択した制御周期Tc5の開始タイミングまたは終了タイミングであるタイミングtc1_1,tc2_1,tc3_1,tc4_1,tc5_1を検出する。また、制御端末1の制御管理モジュール15は、センサー2〜4における許容制御遅延TCD_2〜TCD_4をそれぞれセンサー2〜4から受信する。
そして、制御端末1の制御管理モジュール15は、タイミングtc1_1,tc2_1,tc3_1,tc4_1,tc5_1のうち、最も早い制御タイミングtc1_2に最も近いタイミングtc1_1と、最も短い許容制御遅延TCD_4の終了タイミングtc2_4に最も近いタイミングtc4_1とを制御コマンドの送信タイミングとして決定する。そして、制御端末1の制御管理モジュール15は、送信タイミングtc1_1、tc4_1で複数の制御コマンドをまとめてセンサー2〜5へ送信する。
この制御方式MTH3においても、制御端末1は、複数の制御コマンドをまとめてセンサー2〜5へ送信するとともに、不要な制御コマンドの送信を停止するので、制御コマンドのセンサー2〜5への送信回数が減少する。
したがって、この発明によれば、通信帯域を狭くできる。また、一定の通信帯域の下で、制御コマンドを送信するための時間の割当が行なわれるため、制御コマンドは、パケット損失等の影響を受け難くなり、データよりも信頼性を高くして制御コマンドを送信できる。
図7は、実施の形態1における制御コマンドのさらに他の送信タイミングを示すタイミングチャートである。図7を参照して、センサーjにおける制御周期がTcであり、制御タイミングがtc1_j,tc2_j,tc3_j,・・・であるとき、制御端末1は、センサーjからデータを受信タイミングtD_1,tD_2,・・・で受信するものとする。
この場合、制御端末1の制御管理モジュール15は、受信タイミングtD_1でデータを受信する前においては、制御タイミングtc1_jに同期した制御タイミングtc1_1で制御コマンドをセンサーjへ送信する。また、制御端末1の制御管理モジュール15は、受信タイミングtD_1でデータを受信した後においては、制御タイミングtc2_jに同期した制御タイミングtc2_1で制御コマンドをセンサーjへ送信し、制御タイミングtc4_jに同期した制御タイミングtc3_1で制御コマンドをセンサーjへ送信する。その結果、制御コマンドは、制御タイミングtc3_jに同期した制御タイミングでは、センサーjへ送信されない。
したがって、この制御方式MTH4においては、センサーjから制御端末1へのデータの送信が実際に発生しない場合には、制御端末1からセンサーjへの制御コマンドの送信を停止する。その結果、制御端末1からセンサーjへの制御コマンドの送信回数が減少する。
したがって、この発明によれば、通信帯域を狭くできる。
図8は、制御コマンドを送信するパケットのフォーマット図である。図8を参照して、パケットPKTは、ヘッダと、データDATAとを含む。データDATAは、アドレスAdd2/コマンドメッセージ1と、アドレスAdd3/コマンドメッセージ2と、アドレスAdd4/コマンドメッセージ3と、アドレスAdd5/コマンドメッセージ4とを含む。なお、実施の形態1においては、制御コマンドをデータとして含むパケットは、100バイト以下のデータサイズを有するものとする。
アドレスAdd2/コマンドメッセージ1は、センサー2に対する制御コマンドである。そして、コマンドメッセージ1は、センサー2の制御タイミングtc_2(=tc1_2,tc2_2,tc3_2,・・・)および表1に示す制御内容(個別制御内容および共通制御内容)を含む。
同様に、アドレスAdd3/コマンドメッセージ2、アドレスAdd4/コマンドメッセージ3、およびアドレスAdd5/コマンドメッセージ4は、それぞれ、センサー3〜5に対する制御コマンドであり、コマンドメッセージ2〜4は、それぞれ、センサー3〜5の制御タイミングtc_3(=tc1_3,tc2_3,tc3_3,・・・)〜tc_5(=tc1_5,tc2_5,tc3_5,・・・)および表1に示す制御内容(個別制御内容および共通制御内容)を含む。
したがって、制御端末1のデータ管理モジュール14は、制御方式MTH1,2が用いられる場合、センサー2〜5への制御コマンドの送信タイミングと各センサー2〜5の制御タイミングとを制御管理モジュール15から受け、各センサー2〜5に対する制御コマンド(=制御内容)をアプリケーションモジュール17から受けると、センサー2の制御タイミングとセンサー2に対する制御コマンド(=制御内容)とをAdd2/コマンドメッセー1に格納し、センサー3の制御タイミングとセンサー3に対する制御コマンド(=制御内容)とをAdd3/コマンドメッセー2に格納し、センサー4の制御タイミングとセンサー4に対する制御コマンド(=制御内容)とをAdd4/コマンドメッセー3に格納し、センサー5の制御タイミングとセンサー5に対する制御コマンド(=制御内容)とをAdd5/コマンドメッセー4に格納してセンサー2〜5に対する集約制御コマンドを生成する。そして、制御端末1のデータ管理モジュール14は、その生成した集約制御コマンドをセンサー2〜5へ送信タイミングtc1_2,tc1_5,tc2_5,tc3_5,・・・(または送信タイミングtc1_5,tc2_5,tc3_5,・・・)で送信する。
また、制御端末1のデータ管理モジュール14は、制御方式MTH3が用いられる場合、データを制御端末1へ送信したセンサーjに対するコマンドメッセージjだけを含む制御コマンドを生成して送信タイミングtc1_1,tc2_1,tc3_1,・・・でセンサーjへ送信する。
図9は、制御期間およびデータ収集期間の概念図である。なお、図9において、下向きの矢印は、各センサー2〜5における制御コマンドの受信を表し、上向きの矢印は、データの制御端末1への送信を表す。
図9を参照して、各センサー2〜5がタイミングt1で制御端末1から制御コマンドを受信すると、タイミングt1からタイミングt2までの間が各センサー2〜5における電気機器20の制御期間となる。その後、各センサー2〜5におけるデータ収集期間に入り、センサー2〜4は、それぞれ、タイミングt3〜t5でデータを制御端末1へ送信する。
その後、タイミングt6〜t7までの期間が制御期間であり、タイミングt7からタイミングt8までの期間がデータ収集期間である。
このように、各センサー2〜5においては、制御期間およびデータ収集期間が周期的に設定され、各センサー2〜5による電気機器20の制御および電気機器20の動作状態を示すデータの収集が行なわれる。
図10は、各センサー2〜5における制御方式を決定する動作を説明するためのフローチャートである。図10を参照して、一連の動作が開始されると、制御端末1の帯域管理モジュール16は、センサー2〜5から制御要求を受信し、センサー2〜5における制御周期Tc2〜Tc5を検出する(ステップS1)。
そして、制御端末1の帯域管理モジュール16は、各センサーjからデータを受信するときの複数の受信タイミングをデータ管理モジュール14から受け、その受けた複数の受信タイミングに基づいて、各センサーjからデータを受信するときの受信周期を検出する(ステップS2)。
その後、制御端末1の帯域管理モジュール16は、制御周期Tc2〜Tc5が相互に同じであるか否かを判定する(ステップS3)。
ステップS3において、制御周期Tc2〜Tc5が相互に同じであると判定されたとき、制御端末1の帯域管理モジュール16は、制御方式MTH1をセンサー2〜5の制御方式として決定する(ステップS4)。
一方、ステップS3において、制御周期Tc2〜Tc5が相互に異なると判定されたとき、制御端末1の帯域管理モジュール16は、制御周期Tc2〜Tc5がデータの受信周期よりも短いか否かをさらに判定する(ステップS5)。
ステップS5において、制御周期Tc2〜Tc5がデータの受信周期よりも短くないと判定されたとき、制御端末1の帯域管理モジュール16は、制御方式MTH2をセンサー2〜5の制御方式として決定する(ステップS6)。
一方、ステップS5において、制御周期Tc2〜Tc5がデータの受信周期よりも短いと判定されたとき、制御端末1の帯域管理モジュール16は、センサー2〜5からの制御要求が有るか否かをさらに判定する(ステップS7)。
ステップS7において、制御要求が無いと判定されたとき、制御端末1の帯域管理モジュール16は、制御方式MTH3をセンサー2〜5の制御方式として決定する(ステップS8)。
一方、ステップS7において、制御要求が有ると判定されたとき、制御端末1の帯域管理モジュール16は、制御方式MTH4をセンサー2〜5の制御方式として決定する(ステップS9)。
そして、ステップS4、ステップS6、ステップS8およびステップS9のいずれかの後、一連の動作は、終了する。
図11は、制御方式MTH1を用いた場合の動作を説明するための実施の形態1におけるフローチャートである。また、図12は、複数の制御コマンドを含むパケットの具体例を示す図である。
図11を参照して、一連の動作が開始されると、制御端末1のデータ管理モジュール14は、センサー2〜5に対する制御コマンドCCM2〜CCM5を集約した集約制御コマンドCCM_AG(図12参照)を生成する(ステップS11)。
そして、制御端末1の制御管理モジュール15は、帯域管理モジュール16から受けた制御方式MTH1に基づいて、センサー2〜5における制御タイミングのうち、最も早い制御タイミングと最も遅い制御タイミングとを集約制御コマンドの送信タイミングと決定し(ステップS12)、その決定した送信タイミングをデータ管理モジュール14へ出力する。
そうすると、制御端末1のデータ管理モジュール14は、制御管理モジュール15によって決定された送信タイミングで集約制御コマンドCCM_AGをセンサー2〜5へブロードキャストする(ステップS13)。
センサー2〜5は、集約制御コマンドCCM_AGを受信する(ステップS14)。そして、センサーjのタイミング制御モジュール25は、集約制御コマンドCCM_AGから自己における制御タイミングtc_j(=tc1_2,tc1_3,tc1_4,tc1_5のいずれか)を取得する(ステップS15)。
その後、センサーjのタイミング制御モジュール25は、その取得した制御タイミングtc_jに基づいて、制御期間とデータ収集期間とを設定する(ステップS16)。
そして、センサーjのアプリケーションモジュール26は、制御期間の間、対応する電気機器20を制御する(ステップS17)。
また、センサーjのアプリケーションモジュール26は、データ収集期間の間、対応する電気機器20の動作状態を示すデータを検出するように検出素子28を制御し、検出素子28は、電気機器20のデータを検出してアプリケーションモジュール26へ出力する。そして、センサーjのアプリケーションモジュール26は、その受けたデータを制御端末1へ送信する(ステップS18)。
制御端末1のアプリケーションモジュール17は、各センサーjからデータを受信し、その受信したデータをデータベース18に格納する(ステップS19)。これによって、一連の動作が終了する。
このように、制御方式MTH1が用いられる場合、センサー2〜5における制御タイミングのうち、最も早い制御タイミングと最も遅い制御タイミングでセンサー2〜5への制御コマンドをまとめてセンサー2〜5へ送信する。その結果、制御コマンドの送信回数が減少する。
したがって、この発明によれば、通信帯域を減少できる。また、一定の通信帯域の下で、制御コマンドを送信するための時間の割当が行なわれるため、制御コマンドは、パケット損失等の影響を受け難くなり、データよりも信頼性を高くして制御コマンドを送信できる。
センサー2〜5がそれぞれ電流センサー、ガスセンサー、温度センサーおよび水流センサーである場合を想定する。
センサー2のアプリケーションモジュール26は、制御期間の間、センサー2に対する制御内容(=電流の連続制御)に基づいて、対応する電気機器20の電流を連続的に制御する。そして、センサー2のアプリケーションモジュール26は、データ収集期間の間、電流を連続的に制御された電気機器20のデータをサンプリングレートDR2で検出素子28によって検出する。そうすると、センサー2のアプリケーションモジュール26は、検出素子28によって検出されたデータを送信レートTR2で制御端末1へ周期的(=送信周期TT2)に送信する。
また、センサー3のアプリケーションモジュール26は、制御期間の間、センサー3に対する制御内容(=ガスのOFF制御)に基づいて、対応する電気機器20をオフする。そして、センサー3のアプリケーションモジュール26は、データ収集期間の間、オフされた電気機器20のデータをサンプリングレートSR3で検出素子28によって検出する。そうすると、センサー3のアプリケーションモジュール26は、検出素子28によって検出されたデータを送信レートTR3で制御端末1へ周期的(=送信周期TT3)に送信する。
さらに、センサー4のアプリケーションモジュール26は、制御期間の間、センサー4に対する制御内容(=温度の連続制御)に基づいて、対応する電気機器20の温度を連続的に制御する。そして、センサー4のアプリケーションモジュール26は、データ収集期間の間、温度を連続的に制御された電気機器20のデータをサンプリングレートSR4で検出素子28によって検出する。そうすると、センサー4のアプリケーションモジュール26は、検出素子28によって検出されたデータを送信レートTR4で制御端末1へ周期的(=送信周期TT4)に送信する。
さらに、センサー5のアプリケーションモジュール26は、制御期間の間、センサー5に対する制御内容(=水流のOFF制御)に基づいて、対応する電気機器20をオフする。そして、センサー5のアプリケーションモジュール26は、データ収集期間の間、オフされた電気機器20のデータをサンプリングレートSR5で検出素子28によって検出する。そうすると、センサー5のアプリケーションモジュール26は、検出素子28によって検出されたデータを送信レートTR5で制御端末1へ周期的(=送信周期TT5)に送信する。
図13は、制御方式MTH2を用いた場合の動作を説明するための実施の形態1におけるフローチャートである。
図13に示すフローチャートは、図11に示すフローチャートのステップS12をステップS12Aに代えたものであり、その他は、図11に示すフローチャートと同じである。
図13を参照して、上述したステップS11が実行された後、制御端末1の制御管理モジュール15は、センサー2〜5における制御周期Tc2〜Tc5のうち、最も短い周期を有する制御周期の開始タイミングと終了タイミングとを集約制御コマンドの送信タイミングと決定する(ステップS12A)。
その後、上述したステップS13〜ステップS19が順次実行され、一連の動作が終了する。
このように、制御方式MTH2が用いられた場合、最も短い周期を有する制御周期の開始タイミングと終了タイミングでセンサー2〜5への制御コマンドをまとめてセンサー2〜5へ送信する。その結果、制御コマンドの送信回数が減少する。
したがって、この発明によれば、通信帯域を狭くできる。また、一定の通信帯域の下で、制御コマンドを送信するための時間の割当が行なわれるため、制御コマンドは、パケット損失等の影響を受け難くなり、データよりも信頼性を高くして制御コマンドを送信できる。
そして、センサー2〜5は、集約制御コマンドCCM_AGから自己に対する制御コマンド(Add2/tc1_2,電流の連続制御,SR2,TR2,TT2等)を抽出し、
その抽出した制御コマンドに従って、対応する電気機器20を制御するとともに、対応する電気機器20のデータを検出して制御端末1へ送信する。
図14は、制御方式MTH3を用いた場合の動作を説明するための実施の形態1におけるフローチャートである。
図14に示すフローチャートは、図13に示すフローチャートのステップS12AをステップS12Bに代えたものであり、その他は、図13に示すフローチャートと同じである。
図14を参照して、上述したステップS11が実行された後、制御端末1の制御管理モジュール15は、センサー2〜5における制御周期Tc2〜Tc5のうち、最も短い周期を有する制御周期の開始タイミングと終了タイミングとを検出する。そして、制御端末1の制御管理モジュール15は、その開始タイミングおよび終了タイミングのうち、センサー2〜5の最も早い制御タイミングに最も近い開始タイミング(または終了タイミング)と、センサー2〜5の最も短い許容制御遅延の終了タイミングに最も近い開始タイミング(または終了タイミング)とを集約制御コマンドの送信タイミングと決定する(ステップS12B)。
その後、上述したステップS13〜ステップS19が順次実行され、一連の動作が終了する。
このように、制御方式MTH3が用いられた場合、最も短い周期を有する制御周期の開始タイミングまたは終了タイミングに同期し、かつ、複数のセンサー2〜5における複数の許容制御遅延の中で最も短い許容制御遅延の終了タイミングに最も近いタイミングでセンサー2〜5への制御コマンドをまとめてセンサー2〜5へ送信する。その結果、制御コマンドの送信回数が減少する。
したがって、この発明によれば、通信帯域を狭くできる。また、一定の通信帯域の下で、制御コマンドを送信するための時間の割当が行なわれるため、制御コマンドは、パケット損失等の影響を受け難くなり、データよりも信頼性を高くして制御コマンドを送信できる。
そして、センサー2〜5は、集約制御コマンドCCM_AGから自己に対する制御コマンド(Add2/tc1_2,電流の連続制御,SR2,TR2,TT2等)を抽出し、その抽出した制御コマンドに従って、対応する電気機器20を制御するとともに、対応する電気機器20のデータを検出して制御端末1へ送信する。
図15は、制御方式MTH4を用いた場合の動作を説明するための実施の形態1におけるフローチャートである。
図15を参照して、一連の動作が開始されると、制御端末1の制御管理モジュール15は、センサーjにおける制御タイミングtc1_j,tc2_j,・・・を取得する(ステップS21)。
その後、制御端末1のアプリケーションモジュール17は、センサーjからデータを受信したか否かを判定し(ステップS22)、センサーjからデータを受信すると、センサーjに対する制御コマンドを生成する(ステップS23)。そして、制御端末1のアプリケーションモジュール17は、その生成した制御コマンドをデータ管理モジュール14へ出力する。
その後、制御端末1の制御管理モジュール15は、データの受信タイミング後の制御タイミングtcn_j(tc1_j,tc2_j,・・・のいずれか)を制御コマンドの送信タイミングと決定する(ステップS24)。
そして、制御端末1のデータ管理モジュール14は、アプリケーションモジュール17が生成した制御コマンドを制御管理モジュール15によって決定された送信タイミングでセンサーjへ送信する(ステップS25)。
センサーjは、制御コマンドを受信する(ステップS26)。そして、センサーjのタイミング制御モジュール25は、制御コマンドに含まれる制御タイミングtcn_jに基づいて制御期間とデータ収集期間を設定する(ステップS27)。
そして、センサーjのアプリケーションモジュール26は、制御期間の間、対応する電気機器20を制御する(ステップS28)。
また、センサーjのアプリケーションモジュール26は、データ収集期間の間、対応する電気機器20の動作状態を示すデータを検出するように検出素子28を制御し、検出素子28は、電気機器20のデータを検出してアプリケーションモジュール26へ出力する。そして、センサーjのアプリケーションモジュール26は、その受けたデータを制御端末1へ送信する(ステップS29)。
制御端末1のアプリケーションモジュール17は、各センサーjからデータを受信し、その受信したデータをデータベース18に格納する(ステップS30)。これによって、一連の動作が終了する。
このように、制御方式MTH4においては、制御端末1は、センサーjからデータを受信したときのみ、制御コマンドをセンサーjへ送信する。したがって、制御コマンドをセンサーjへ送信した後、制御コマンドの次の送信タイミングまでにセンサーjからデータを受信しないとき、その次の送信タイミングにおける制御コマンドの送信が停止される。その結果、制御コマンドの送信回数が減少する。
したがって、この発明によれば、通信帯域を狭くできる。また、一定の通信帯域の下で、制御コマンドを送信するための時間の割当が行なわれるため、制御コマンドは、パケット損失等の影響を受け難くなり、データよりも信頼性を高くして制御コマンドを送信できる。
制御コマンドを受信したセンサーjは、その制御コマンドに基づいて、上述した方法によって、対応する電気機器20を制御するとともに、対応する電気機器20のデータを検出して制御端末1へ送信する。
なお、この発明においては、制御方式MTH1が選択された場合に、さらに、制御方式MTH4を適用して制御コマンドをセンサーjへ送信するようにしてもよい。
この場合、制御端末1は、センサー2〜5からデータを受信した後において、センサー2〜5における複数の制御タイミングのうち、最も早い制御タイミングまたは最も遅い制御タイミングでセンサー2〜5に対する複数の制御コマンドをまとめてセンサー2〜5へ送信する。
図16は、図1に示すセンサーネットワークシステム10におけるシミュレーション結果を示す図である。
図16の(a)は、従来の通信方式を用いた場合の制御周期の期間におけるパケットの損失回数とセンサーの個数との関係を示す図である。また、図16の(b)は、この発明による通信方式を用いた場合の制御周期の期間におけるパケットの損失回数とセンサーの個数との関係を示す図である。さらに、図16の(c)は、従来の通信方式を用いた場合のタイムユニットにおける平均遅延とセンサーの個数との関係を示す図である。さらに、図16の(d)は、この発明による通信方式を用いた場合のタイムユニットにおける平均遅延とセンサーの個数との関係を示す図である。
ここで、従来の通信方式は、CSMA(Carrier Sense Multiple Access)方式からなる。
図16の(a),(b)において、縦軸は、制御周期の期間におけるパケットの損失回数を表し、横軸は、センサーの個数を表す。そして、曲線k1,k3は、センサー2〜5が検出した検出データを含むパケットの損失回数とセンサーの個数との関係を示し、曲線k2,k4は、制御コマンドを含むパケットの損失回数とセンサーの個数との関係を示す。
また、図16の(c),(d)において、縦軸は、タイムユニットにおける平均遅延を表し、横軸は、センサーの個数を表す。そして、曲線k5,k7は、センサー2〜5が検出した検出データを含むパケットの平均遅延とセンサーの個数との関係を示し、曲線k6,k8は、制御コマンドを含むパケットの平均遅延とセンサーの個数との関係を示す。
ここで、平均遅延は、1タイムユニットが5msからなるので、図16の(c),(d)における縦軸の数値に5msを乗算した値からなる。
図16の(a)を参照して、従来の通信方式が用いられた場合、検出データを含むパケットの損失回数および制御コマンドを含むパケットの損失回数は、センサーの個数が増えるに従って大きくなる(曲線k1,k2参照)。
図16の(b)を参照して、この発明による通信方式が用いられた場合、検出データを含むパケットの損失回数は、センサーの個数が増えるに従って大きくなるのに対し(曲線k3参照)、制御コマンドを含むパケットの損失回数は、センサーの個数が増えても、ほとんど零回に維持される(曲線k4参照)。これは、この発明による通信方式が用いられる場合、制御コマンドの送信回数が減少するので、制御コマンドを含むパケットの損失が生じ難いからである。
図16の(c)を参照して、従来の通信方式が用いられる場合、検出データを含むパケットの平均遅延および制御コマンドを含むパケットの平均遅延は、センサーの個数が増えるに従って大きくなる(曲線k5,k6参照)。
図16の(d)を参照して、検出データを含むパケットの平均遅延は、センサーの個数が増えるに従って大きくなるのに対し(曲線k7参照)、制御コマンドを含むパケットの平均遅延は、センサーの個数が増えるに従って小さくなる(曲線k8参照)。制御方式MTH1〜MTH3が用いられた場合、複数の制御コマンドは、まとめて複数のセンサーへ送信されるので、複数の制御コマンドの送信間隔は、センサーの個数が増えるに従って長くなる。その結果、単位時間当たりの制御コマンドの送信回数は、センサーの個数が増えるに従って減少し、複数の制御コマンドを含むパケットの再送が生じ難い。また、制御方式MTH4が用いられる場合、制御端末1は、センサー2〜5から検出データを受信した場合に制御コマンドをセンサー2〜5へ送信する。その結果、上記と同様に、単位時間当たりの制御コマンドの送信回数は、センサーの個数が増えるに従って減少し、制御コマンドを含むパケットの再送が生じ難い。したがって、平均遅延は、センサーの個数が増えるに従って減少するものと考えられる。
図17は、図1に示すセンサーネットワークシステム10における他のシミュレーション結果を示す図である。
図17の(a)は、従来の通信方式を用いた場合の制御周期の期間におけるパケットの損失回数とデータ収集期間との関係を示す図である。また、図17の(b)は、この発明による通信方式を用いた場合の制御周期の期間におけるパケットの損失回数とデータ収集期間との関係を示す図である。さらに、図17の(c)は、従来の通信方式を用いた場合のタイムユニットにおける平均遅延とデータ収集期間との関係を示す図である。さらに、図17の(d)は、この発明による通信方式を用いた場合のタイムユニットにおける平均遅延とデータ収集期間との関係を示す図である。
図17の(a),(b)において、縦軸は、制御周期の期間におけるパケットの損失回数を表し、横軸は、データ収集期間を表す。そして、曲線k9,k11は、センサー2〜5が検出した検出データを含むパケットの損失回数とデータ収集期間との関係を示し、曲線k10,k12は、制御コマンドを含むパケットの損失回数とデータ収集期間との関係を示す。
また、図17の(c),(d)において、縦軸は、タイムユニットにおける平均遅延を表し、横軸は、データ収集期間を表す。そして、曲線k13,k15は、センサー2〜5が検出した検出データを含むパケットの平均遅延とデータ収集期間との関係を示し、曲線k14,k16は、制御コマンドを含むパケットの平均遅延とデータ収集期間との関係を示す。
図17の(a)を参照して、従来の通信方式が用いられる場合、検出データを含むパケットの損失回数および制御コマンドを含むパケットの損失回数は、データ収集期間が長くなるに従って減少する(曲線k9,k10参照)。検出データを含むパケットは、データ収集期間が長くなるに従ってセンサー2〜5から制御端末1への送信タイミングが分散し、制御コマンドを含むパケットは、データ収集期間が長くなるに従って送信間隔が長くなる。その結果、検出データを含むパケットの損失回数および制御コマンドを含むパケットの損失回数は、データ収集期間が長くなるに従って減少するものと考えられる。
図17の(b)を参照して、この発明による通信方式が用いられる場合、検出データを含むパケットの損失回数は、データ収集期間が長くなるに従って減少するのに対し(曲線k11参照)、制御コマンドを含むパケットの損失回数は、データ収集期間が長くなるに従って殆ど零回である(曲線k12参照)。
この発明による通信方式が用いられる場合、制御コマンドの送信回数が減少するので、制御コマンドを含むパケットの損失が生じ難いものと考えられる。
図17の(c)を参照して、従来の通信方式が用いられる場合、検出データを含むパケットの平均遅延および制御コマンドを含むパケットの平均遅延は、データ収集期間に対してばらつく(曲線k13,k14参照)。
図17の(d)を参照して、この発明による通信方式が用いられる場合、検出データを含むパケットの平均遅延は、データ収集期間に対して、制御コマンドの遅延の目標値である25msを超える場合もあるのに対し(曲線k15参照)、制御コマンドを含むパケットの平均遅延は、データ収集期間に対して、目標値である25msよりも短い(曲線k16参照)。制御方式MTH1〜MTH3が用いられた場合、複数の制御コマンドは、まとめて複数のセンサーへ送信されるので、複数の制御コマンドの送信間隔は、データ収集期間が長くなるに従って長くなる。その結果、単位時間当たりの制御コマンドの送信回数は、データ収集期間が長くなるに従って減少し、複数の制御コマンドを含むパケットの再送が生じ難い。また、制御方式MTH4が用いられる場合、制御端末1は、センサー2〜5から検出データを受信した場合に制御コマンドをセンサー2〜5へ送信する。その結果、上記と同様に、単位時間当たりの制御コマンドの送信回数は、データ収集期間が長くなるに従って減少し、制御コマンドを含むパケットの再送が生じ難い。したがって、制御コマンドを含むパケットの平均遅延は、センサーの個数が増えるに従って減少するものと考えられる。
このように、この発明による通信方式を用いることにより、データよりも信頼性を高くして制御コマンドを送信できることが実証された。
[実施の形態2]
図18は、実施の形態2によるセンサーネットワークシステムの概略図である。図18を参照して、実施の形態2によるセンサーネットワークシステム10Aは、図1に示すセンサーネットワークシステム10の制御端末1を制御端末1Aに代えたものであり、その他は、センサーネットワークシステム10と同じである。
なお、実施の形態2においては、制御コマンドをデータとして含むパケットは、100バイト以下のデータサイズを有する場合もあれば、100バイトよりも大きいデータサイズを有する場合もあるものとする。
制御端末1Aは、制御コマンドを含むパケットのデータサイズDsが基準値Ds_stdよりも大きいとき、各々が基準値Ds_std以下のデータサイズを有する複数のパケットに制御コマンドを含めて制御コマンドをセンサー2〜5へ送信する。
この場合、制御コマンドを含むパケットは、上述した制御方式MTH1〜MTH4のいずれかの制御方式を用いてセンサー2〜5へ送信される。また、基準値Ds_stdは、たとえば、100バイトに設定される。
制御端末1Aは、その他、制御端末1と同じ機能を果たす。
図19は、図18に示す制御端末1Aの構成を示す概略ブロック図である。図19を参照して、制御端末1Aは、図2に示す制御端末1のデータ管理モジュール14をデータ管理モジュール14Aに代え、制御管理モジュール15を制御管理モジュール15Aに代えたものであり、その他は、制御端末1と同じである。
データ管理モジュール14Aは、アプリケーションモジュール17から複数の制御コマンドを受け、制御方式MTH1〜MTH3のいずれかを帯域管理モジュール16から受けると、その複数の制御コマンドの全体のデータサイズDs_allを演算するとともに、k1=int(Ds_all/Ds_std)+1を演算する。そして、データ管理モジュール14Aは、その演算したk1を制御管理モジュール15Aへ出力する。
また、データ管理モジュール14Aは、データサイズDs_allを基準値Ds_stdと比較し、データサイズDs_allが基準値Ds_stdよりも大きいとき(すなわち、k1が2以上であるとき)、後述する方法によって、複数の制御コマンドを含む複数のパケットを生成し、その生成した複数のパケットを制御管理モジュール15Aから受けた送信タイミングでセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングを受ける毎に、複数のパケットをセンサー2〜5へ送信する。
一方、データ管理モジュール14Aは、データサイズDs_allが基準値Ds_std以下であるとき(すなわち、k1が1であるとき)、複数の制御コマンドを含む1個のパケットを生成し、その生成した1個のパケットを制御管理モジュール15Aから受けた送信タイミングでセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングを受ける毎に、1個のパケットをセンサー2〜5へ送信する。
また、データ管理モジュール14Aは、制御方式MTH4を帯域管理モジュール16から受け、制御コマンドをアプリケーションモジュール17から受けると、制御コマンドのデータサイズDsを検出し、k2=int(Ds/Ds_std)+1を演算する。そして、データ管理モジュール14Aは、その演算したk2を制御管理モジュール15Aへ出力する。
また、データ管理モジュール14Aは、データサイズDsを基準値Ds_stdと比較し、データサイズDsが基準値Ds_stdよりも大きいとき(すなわち、k2が2以上であるとき)、後述する方法によって、制御コマンドを含む複数のパケットを生成し、その生成した複数のパケットを制御管理モジュール15Aから受けた送信タイミングでセンサーjへ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングを受ける毎に、複数のパケットをセンサーjへ送信する。
一方、データ管理モジュール14Aは、データサイズDsが基準値Ds_std以下であるとき(すなわち、k1が1であるとき)、制御コマンドを含む1個のパケットを生成し、その生成した1個のパケットを制御管理モジュール15Aから受けた送信タイミングでセンサーjへ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングを受ける毎に、1個のパケットをセンサーjへ送信する。
データ管理モジュール14Aは、その他、データ管理モジュール14と同じ機能を果たす。
制御管理モジュール15Aは、データ管理モジュール14Aからk1,k2を受ける。そして、制御管理モジュール15Aは、k1またはk2が2以上であるとき、後述する方法によって、複数の制御コマンドまたは1個の制御コマンドを含む複数のパケットを送信するための送信タイミングを決定し、その決定した送信タイミングをデータ管理モジュール14Aへ出力する。
また、制御管理モジュール15Aは、k1またはk2が1であるとき、複数の制御コマンドまたは1個の制御コマンドを含む1個のパケットを送信するための送信タイミングを実施の形態1における方法と同じ方法によって決定し、その決定した送信タイミングをデータ管理モジュール14Aへ出力する。
制御管理モジュール15Aは、その他、制御管理モジュール15と同じ機能を果たす。
複数の制御コマンドを含む複数のパケットの生成方法について説明する。図20は、複数の制御コマンドを含む複数のパケットを生成する方法を説明するための図である。
図20を参照して、制御端末1Aのデータ管理モジュール14Aは、センサー2〜5へ送信するためのコマンドメッセージ1〜4をアプリケーションモジュール17から受けると、Add2/コマンドメッセージ1、Add3/コマンドメッセージ2、Add4/コマンドメッセージ3、およびAdd5/コマンドメッセージ4の全体のデータサイズDs_allを演算する。
そして、データ管理モジュール14Aは、k1=int(Ds_all/Ds_std)+1=2を演算し、その演算したk1が2であることを検知する。その後、データ管理モジュール14Aは、Add2/コマンドメッセージ1の先頭から100ビット(=基準値Ds_std)をカウントし、Add2/コマンドメッセージ1の先頭から100ビット(=基準値Ds_std)目がAdd4/コマンドメッセージ3の途中であることを検知する。
そうすると、データ管理モジュール14Aは、Add2/コマンドメッセージ1の先頭から100ビット(=基準値Ds_std)目になるAdd4/コマンドメッセージ3のビットでAdd4/コマンドメッセージ3をAdd4/コマンドメッセージ31とAdd4/コマンドメッセージ32とに分割する。
そして、データ管理モジュール14Aは、Add2/コマンドメッセージ1|Add3/コマンドメッセージ2|Add4/コマンドメッセージ31をデータ部に格納し、k1=2を含むヘッダを付加してパケットPKT1を生成し、Add4/コマンドメッセージ32|Add5/コマンドメッセージ4をデータ部に格納し、ヘッダを付加してパケットPKT2を生成する。
なお、k1=2をパケットPKT1,PKT2のうち、パケットPKT1にのみ含めるのは、最初にセンサー2〜5へ送信されるパケットPKT1にk1=2を含めることによって複数の制御コマンドが複数のパケットによって送信されることをセンサー2〜5に知らせるためである。
データ管理モジュール14Aは、次の方法によって複数の制御コマンドを含む複数のパケットを生成してもよい。
データ管理モジュール14Aは、Add2/コマンドメッセージ1の先頭から100ビット(=基準値Ds_std)目がAdd4/コマンドメッセージ3の途中であることを検知すると、Add2/コマンドメッセージ1|Add3/コマンドメッセージ2|Add4/コマンドメッセージ3|Add5/コマンドメッセージ4をAdd2/コマンドメッセージ1|Add3/コマンドメッセージ2とAdd4/コマンドメッセージ3|Add5/コマンドメッセージ4とに分割する。
そして、データ管理モジュール14Aは、Add2/コマンドメッセージ1|Add3/コマンドメッセージ2をデータ部に格納し、k1=2を含むヘッダを付加してパケットPKT3を生成し、Add4/コマンドメッセージ3|Add5/コマンドメッセージ4をデータ部に格納し、ヘッダを付加してパケットPKT4を生成する。
なお、パケットPKT3,PKT4のうち、k1=2をパケットPKT3にのみ含める理由は、パケットPKT1,PKT2のうち、k1=2をパケットPKT1にのみ含める理由と同じである。
このように、データ管理モジュール14Aは、データサイズDs_allが基準値Ds_stdよりも大きいとき、上述した2つの方法のいずれかの方法を用いて複数の制御コマンドを含む複数のパケットを生成する。
なお、センサー2〜5が制御端末1AからパケットPKT1,PKT2を受信した場合、センサー2のアプリケーションモジュール26は、パケットPKT1からコマンドメッセージ1をセンサー2用の制御コマンドとして抽出し、センサー3のアプリケーションモジュール26は、パケットPKT1からコマンドメッセージ2をセンサー3用の制御コマンドとして抽出する。
また、センサー4のアプリケーションモジュール26は、パケットPKT1からコマンドメッセージ31を抽出し、パケットPKT2からコマンドメッセージ32を抽出し、その抽出したコマンドメッセージ32をコマンドメッセージ31の最後部に連結してコマンドメッセージ3を取得する。
さらに、センサー5のアプリケーションモジュール26は、パケットPKT2からコマンドメッセージ4をセンサー5用の制御コマンドとして抽出する。
一方、センサー2〜5が制御端末1AからパケットPKT3,PKT4を受信した場合、センサー2のアプリケーションモジュール26は、パケットPKT3からコマンドメッセージ1をセンサー2用の制御コマンドとして抽出し、センサー3のアプリケーションモジュール26は、パケットPKT3からコマンドメッセージ2をセンサー3用の制御コマンドとして抽出する。また、センサー4のアプリケーションモジュール26は、パケットPKT4からコマンドメッセージ3をセンサー4用の制御コマンドとして抽出し、センサー5のアプリケーションモジュール26は、パケットPKT4からコマンドメッセージ4をセンサー5用の制御コマンドとして抽出する。
さらに、データサイズDs_allが200バイトよりも長い場合、データ管理モジュール14Aは、Add2/コマンドメッセージ1|Add3/コマンドメッセージ2|Add4/コマンドメッセージ3|Add5/コマンドメッセージ4を先頭から基準値Ds_std(=100バイト)毎に区切り、Add2/コマンドメッセージ1|Add3/コマンドメッセージ2|Add4/コマンドメッセージ3|Add5/コマンドメッセージ4を3個以上の部分に分割する。そして、データ管理モジュール14Aは、3個以上の部分をそれぞれデータ部に含む3個以上のパケットを生成する。
図21は、複数の制御コマンドを含む複数のパケットを生成する他の方法を説明するための図である。
図21を参照して、制御端末1Aのデータ管理モジュール14Aは、たとえば、センサー2へ送信するためのコマンドメッセージ1をアプリケーションモジュール17から受けると、コマンドメッセージ1のデータサイズDsを検出し、k2=int(Ds/Ds_std)+1=2を演算する。そして、データ管理モジュール14Aは、その演算したk2が2であることを検知するとともに、Add2/コマンドメッセージ1の先頭から100ビット(=基準値Ds_std)をカウントし、Add2/コマンドメッセージ1の先頭から100ビット(=基準値Ds_std)目がAdd2/コマンドメッセージ1の途中であることを検知する。
そうすると、データ管理モジュール14Aは、Add2/コマンドメッセージ1の先頭から100ビット(=基準値Ds_std)目になるAdd2/コマンドメッセージ1のビットでAdd2/コマンドメッセージ1をAdd2/コマンドメッセージ11とAdd2/コマンドメッセージ12とに分割する。
そして、データ管理モジュール14Aは、Add2/コマンドメッセージ11をデータ部に格納し、k1=2を含むヘッダを付加してパケットPKT5を生成し、Add2/コマンドメッセージ12をデータ部に格納し、ヘッダを付加してパケットPKT6を生成する。
なお、k1=2をパケットPKT5,PKT6のうち、パケットPKT5にのみ含める理由は、k1=2をパケットPKT1,PKT2のうち、パケットPKT1にのみ含める理由と同じである。
また、センサー2が制御端末1AからパケットPKT5,PKT6を受信した場合、センサー2のアプリケーションモジュール26は、パケットPKT5からコマンドメッセージ11を抽出し、パケットPKT6からコマンドメッセージ12を抽出し、その抽出したコマンドメッセージ12をコマンドメッセージ11の最後部に連結してコマンドメッセージ1を取得する。
さらに、コマンドメッセージ1以外のコマンドメッセージ2〜コマンドメッセージ4が送信される場合も、上述した方法によってパケットPKT5,PKT6が生成される。
さらに、データサイズDsが200バイトよりも長い場合、データ管理モジュール14Aは、Add2/コマンドメッセージ1を先頭から基準値Ds_std(=100バイト)毎に区切り、Add2/コマンドメッセージ1を3個以上の部分に分割する。そして、データ管理モジュール14Aは、3個以上の部分をそれぞれデータ部に含む3個以上のパケットを生成する。
図22は、実施の形態2における制御コマンドの送信タイミングを示すタイミングチャートである。
図22を参照して、制御端末1Aの制御管理モジュール15Aは、データ管理モジュール14Aからk1またはk2を受け、帯域管理モジュール16から制御方式MTH1を受ける。そして、制御管理モジュール15Aは、k1またはk2が1である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_21,tc1_51,tc2_51,tc3_51を決定し、その決定した送信タイミングtc1_21,tc1_51,tc2_51,tc3_51をデータ管理モジュール14Aへ順次出力する。なお、送信タイミングtc1_21,tc1_51,tc2_51,tc3_51は、それぞれ、図4に示す送信タイミングtc1_2,tc1_5,tc2_5,tc3_5と同じである。
一方、制御管理モジュール15Aは、k1またはk2が2以上である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_21,tc1_51,tc2_51,tc3_51を決定する。そして、制御管理モジュール15Aは、送信タイミングtc1_21に連続して送信タイミングtc1_22〜tc1_2n(n=k1またはk2)を決定する。また、制御管理モジュール15Aは、送信タイミングtc1_51に連続して送信タイミングtc1_52〜tc1_5nを決定する。以下、同様にして、制御管理モジュール15Aは、送信タイミングtc2_51に連続して送信タイミングtc2_52〜tc2_5nを決定し、送信タイミングtc3_51に連続して送信タイミングtc3_52〜tc3_5nを決定する。
そうすると、制御管理モジュール15Aは、送信タイミングtc1_21〜tc1_2nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc1_51〜tc1_5nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc2_51〜tc2_5nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc3_51〜tc3_5nをデータ管理モジュール14Aへ出力する。
図23は、実施の形態2における制御コマンドの他の送信タイミングを示すタイミングチャートである。
図23を参照して、制御端末1Aの制御管理モジュール15Aは、データ管理モジュール14Aからk1またはk2を受け、帯域管理モジュール16から制御方式MTH2を受ける。そして、制御管理モジュール15Aは、k1またはk2が1である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_11,tc2_11,tc3_11を決定し、その決定した送信タイミングtc1_11,tc2_11,tc3_11をデータ管理モジュール14Aへ順次出力する。なお、送信タイミングtc1_11,tc2_11,tc3_11は、それぞれ、図5に示す送信タイミングtc1_1,tc2_1,tc3_1と同じである。
一方、制御管理モジュール15Aは、k1またはk2が2以上である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_11,tc2_11,tc3_11を決定する。そして、制御管理モジュール15Aは、送信タイミングtc1_11に連続して送信タイミングtc1_12〜tc1_1nを決定する。また、制御管理モジュール15Aは、送信タイミングtc2_11に連続して送信タイミングtc2_12〜tc2_1nを決定する。以下、同様にして、制御管理モジュール15Aは、送信タイミングtc3_11に連続して送信タイミングtc3_12〜tc3_1nを決定する。
そうすると、制御管理モジュール15Aは、送信タイミングtc1_11〜tc1_1nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc2_11〜tc2_1nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc3_11〜tc3_1nをデータ管理モジュール14Aへ出力する。
図24は、実施の形態2における制御コマンドのさらに他の送信タイミングを示すタイミングチャートである。
図24を参照して、制御端末1Aの制御管理モジュール15Aは、データ管理モジュール14Aからk1またはk2を受け、帯域管理モジュール16から制御方式MTH3を受ける。そして、制御管理モジュール15Aは、k1またはk2が1である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_11,tc4_11を決定し、その決定した送信タイミングtc1_11,tc4_11をデータ管理モジュール14Aへ順次出力する。なお、送信タイミングtc1_11,tc4_11は、それぞれ、図6に示す送信タイミングtc1_1,tc4_1と同じである。
一方、制御管理モジュール15Aは、k1またはk2が2以上である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_11,tc4_11を決定する。そして、制御管理モジュール15Aは、送信タイミングtc1_11に連続して送信タイミングtc1_12〜tc1_1nを決定する。また、制御管理モジュール15Aは、送信タイミングtc4_11に連続して送信タイミングtc4_12〜tc4_1nを決定する。
そうすると、制御管理モジュール15Aは、送信タイミングtc1_11〜tc1_1nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc4_11〜tc4_1nをデータ管理モジュール14Aへ出力する。
図25は、実施の形態2における制御コマンドのさらに他の送信タイミングを示すタイミングチャートである。
図25を参照して、制御端末1Aの制御管理モジュール15Aは、データ管理モジュール14Aからk1またはk2を受け、帯域管理モジュール16から制御方式MTH4を受ける。そして、制御管理モジュール15Aは、k1またはk2が1である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_11,tc2_11,tc3_11を決定し、その決定した送信タイミングtc1_11,tc2_11,tc3_11をデータ管理モジュール14Aへ順次出力する。なお、送信タイミングtc1_11,tc2_11,tc3_11は、それぞれ、図7に示す送信タイミングtc1_1,tc2_1,tc3_1と同じである。
一方、制御管理モジュール15Aは、k1またはk2が2以上である場合、実施の形態1において説明した方法によって制御コマンドの送信タイミングtc1_11,tc2_11,tc3_11を決定する。そして、制御管理モジュール15Aは、送信タイミングtc1_11に連続して送信タイミングtc1_12〜tc1_1nを決定する。また、制御管理モジュール15Aは、送信タイミングtc2_11に連続して送信タイミングtc2_12〜tc2_1nを決定する。さらに、制御管理モジュール15Aは、送信タイミングtc3_11に連続して送信タイミングtc3_12〜tc3_1nを決定する。
そうすると、制御管理モジュール15Aは、送信タイミングtc1_11〜tc1_1nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc2_11〜tc2_1nをデータ管理モジュール14Aへ出力し、その後、送信タイミングtc3_11〜tc3_1nをデータ管理モジュール14Aへ出力する。
制御端末1Aのデータ管理モジュール14Aは、k1またはk2が1である場合、帯域管理モジュール16から制御方式MTH1を受け、制御管理モジュール15Aから送信タイミングtc1_21を受けると、複数の制御コマンドを含む1個のパケットを送信タイミングtc1_21でセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc1_51を受けると、1個のパケットを送信タイミングtc1_51でセンサー2〜5へ送信し、制御管理モジュール15Aから送信タイミングtc2_51を受けると、1個のパケットを送信タイミングtc2_51でセンサー2〜5へ送信し、制御管理モジュール15Aから送信タイミングtc3_51を受けると、1個のパケットを送信タイミングtc3_51でセンサー2〜5へ送信する(図22参照)。
また、制御端末1Aのデータ管理モジュール14Aは、k1またはk2が2以上である場合、帯域管理モジュール16から制御方式MTH1を受け、制御管理モジュール15Aから送信タイミングtc1_21〜tc1_2nを受けると、上述した方法によって生成した複数の制御コマンドを含む複数のパケットPKT1〜PKTnをそれぞれ送信タイミングtc1_21〜tc1_2nでセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc1_51〜tc1_5nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc1_51〜tc1_5nでセンサー2〜5へ送信し、制御管理モジュール15Aから送信タイミングtc2_51〜tc2_5nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc2_51〜tc2_5nでセンサー2〜5へ送信し、制御管理モジュール15Aから送信タイミングtc3_51〜tc3_5nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc3_51〜tc3_5nでセンサー2〜5へ送信する(図22参照)。
更に、制御端末1Aのデータ管理モジュール14Aは、k1またはk2が1である場合、帯域管理モジュール16から制御方式MTH2を受け、制御管理モジュール15Aから送信タイミングtc1_11を受けると、複数の制御コマンドを含む1個のパケットを送信タイミングtc1_11でセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc2_11を受けると、1個のパケットを送信タイミングtc2_11でセンサー2〜5へ送信し、制御管理モジュール15Aから送信タイミングtc3_11を受けると、1個のパケットを送信タイミングtc3_11でセンサー2〜5へ送信する(図23参照)。
更に、制御端末1Aのデータ管理モジュール14Aは、k1またはk2が2以上である場合、帯域管理モジュール16から制御方式MTH2を受け、制御管理モジュール15Aから送信タイミングtc1_11〜tc1_1nを受けると、上述した方法によって生成した複数の制御コマンドを含む複数のパケットPKT1〜PKTnをそれぞれ送信タイミングtc1_11〜tc1_1nでセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc2_11〜tc2_1nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc2_11〜tc2_1nでセンサー2〜5へ送信し、制御管理モジュール15Aから送信タイミングtc3_11〜tc3_1nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc3_11〜tc3_1nでセンサー2〜5へ送信する(図23参照)。
更に、制御端末1Aのデータ管理モジュール14Aは、k1またはk2が1である場合、帯域管理モジュール16から制御方式MTH3を受け、制御管理モジュール15Aから送信タイミングtc1_11を受けると、複数の制御コマンドを含む1個のパケットを送信タイミングtc1_11でセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc4_11を受けると、1個のパケットを送信タイミングtc4_11でセンサー2〜5へ送信する(図24参照)。
更に、制御端末1Aのデータ管理モジュール14Aは、k1またはk2が2以上である場合、帯域管理モジュール16から制御方式MTH3を受け、制御管理モジュール15Aから送信タイミングtc1_11〜tc1_1nを受けると、上述した方法によって生成した複数の制御コマンドを含む複数のパケットPKT1〜PKTnをそれぞれ送信タイミングtc1_11〜tc1_1nでセンサー2〜5へ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc4_11〜tc4_1nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc4_11〜tc4_1nでセンサー2〜5へ送信する(図24参照)。
更に、制御端末1Aのデータ管理モジュール14Aは、k1またはk2が1である場合、帯域管理モジュール16から制御方式MTH4を受け、制御管理モジュール15Aから送信タイミングtc1_11を受けると、1個の制御コマンドを含む1個のパケットを送信タイミングtc1_11でセンサーjへ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc2_11を受けると、1個のパケットを送信タイミングtc2_11でセンサーjへ送信し、制御管理モジュール15Aから送信タイミングtc3_11を受けると、1個のパケットを送信タイミングtc3_11でセンサーjへ送信する(図25参照)。
更に、制御端末1Aのデータ管理モジュール14Aは、k1またはk2が2以上である場合、帯域管理モジュール16から制御方式MTH4を受け、制御管理モジュール15Aから送信タイミングtc1_11〜tc1_1nを受けると、上述した方法によって生成した1個の制御コマンドを含む複数のパケットPKT1〜PKTnをそれぞれ送信タイミングtc1_11〜tc1_1nでセンサーjへ送信する。その後、データ管理モジュール14Aは、制御管理モジュール15Aから送信タイミングtc2_11〜tc2_1nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc2_11〜tc2_1nでセンサーjへ送信し、制御管理モジュール15Aから送信タイミングtc3_11〜tc3_1nを受けると、パケットPKT1〜PKTnをそれぞれ送信タイミングtc3_11〜tc3_1nでセンサーjへ送信する。
図26は、制御方式MTH1を用いた場合の動作を説明するための実施の形態2におけるフローチャートである。
図26に示すフローチャートは、図11に示すフローチャートのステップS11とステップS12との間にステップS41,S42を挿入し、ステップS44〜ステップS46を追加したものであり、その他は、図11に示すフローチャートと同じである。
図26を参照して、ステップS11の後、制御端末1Aのデータ管理モジュール14Aは、集約制御コマンドの全体のデータサイズDs_allを演算し(ステップS41)、その演算したデータサイズDs_allが基準値Ds_stdよりも大きいか否かを判定する(ステップS42)。
ステップS42において、データサイズDs_allが基準値Ds_std以下であると判定されたとき、一連の動作は、ステップS12へ移行し、上述したステップS12〜ステップS19が順次実行される。
一方、ステップS42において、データサイズDs_allが基準値Ds_stdよりも大きいと判定されたとき、制御端末1Aの制御管理モジュール15Aは、センサー2〜5における制御タイミングのうち、最も早い制御タイミングTcf1と最も遅い制御タイミングTcd1とを検出する(ステップS44)。
そして、制御端末1Aの制御管理モジュール15Aは、制御タイミングTcf1とそれに連続するタイミングTcf2〜Tcfnとからなる制御タイミングTcf1〜Tcfnと、制御タイミングTcd1とそれに連続するタイミングTcd2〜Tcdnとからなる制御タイミングTcd1〜Tcdnとを集約制御コマンドの送信タイミングとして決定する(ステップS45)。
そうすると、制御端末1Aのデータ管理モジュール14Aは、複数の制御コマンドを含む複数のパケットを上述した方法によって生成し、その生成した複数のパケットを制御管理モジュール15Aから受けた制御タイミングTcf1〜Tcfnまたは制御タイミングTcd1〜Tcdnでセンサー2〜5へブロードキャストする(ステップS46)。
その後、一連の動作は、ステップS14へ移行し、上述したステップS14〜ステップS19が順次実行される。
図27は、制御方式MTH2を用いた場合の動作を説明するための実施の形態2におけるフローチャートである。
図27に示すフローチャートは、図13に示すフローチャートにステップS41,S42,S45A,S46Aを追加したものであり、その他は、図13に示すフローチャートと同じである。
図27を参照して、上述したステップS12Aの後、図26において説明したステップS41,S42が順次実行される。
そして、ステップS42において、データサイズDs_allが基準値Ds_std以下であると判定されたとき、上述したステップS13〜ステップS19が順次実行される。
一方、ステップS42において、データサイズDs_allが基準値Ds_stdよりも大きいと判定されたとき、制御端末1Aの制御管理モジュール15Aは、開始タイミングts1に連続するタイミングts2〜tsnを開始タイミングts1に追加したタイミングts1〜tsnと、終了タイミングtf1に連続するタイミングtf2〜tfnを終了タイミングtf1に追加したタイミングtf1〜tfnとを送信タイミングと決定する(ステップS45A)。
そして、制御端末1Aのデータ管理モジュール14Aは、複数の制御コマンドを含む複数のパケットを生成し、その生成した複数のパケットを制御管理モジュール15Aから受けた送信タイミングts1〜tsnまたは送信タイミングtf1〜tfnでセンサー2〜5へブロードキャストする(ステップS46A)。
その後、一連の動作は、ステップS14へ移行し、上述したステップS14〜ステップS19が順次実行される。
図28は、制御方式MTH3を用いた場合の動作を説明するための実施の形態2におけるフローチャートである。
図28に示すフローチャートは、図14に示すフローチャートにステップS41,S42,S45B,S46Bを追加したものであり、その他は、図14に示すフローチャートと同じである。
図28を参照して、上述したステップS12Bの後、図26において説明したステップS41,S42が順次実行される。
そして、ステップS42において、データサイズDs_allが基準値Ds_std以下であると判定されたとき、上述したステップS13〜ステップS19が順次実行される。
一方、ステップS42において、データサイズDs_allが基準値Ds_stdよりも大きいと判定されたとき、制御端末1Aの制御管理モジュール15Aは、開始タイミングts11に連続するタイミングts12〜ts1nと開始タイミングts11とからなるタイミングts11〜ts1nと、開始タイミングts21に連続するタイミングts22〜ts2nと開始タイミングts21とからなるタイミングts21〜ts2nとを送信タイミングと決定する(ステップS45B)。
そして、制御端末1Aのデータ管理モジュール14Aは、複数の制御コマンドを含む複数のパケットを生成し、その生成した複数のパケットを制御管理モジュール15Aから受けた送信タイミングts11〜ts1nまたは送信タイミングts21〜ts2nでセンサー2〜5へブロードキャストする(ステップS46B)。
その後、一連の動作は、ステップS14へ移行し、上述したステップS14〜ステップS19が順次実行される。
図29は、制御方式MTH4を用いた場合の動作を説明するための実施の形態2におけるフローチャートである。
図29に示すフローチャートは、図15に示すフローチャートにステップS41A,S42A,S45C,S46Cを追加したものであり、その他は、図15に示すフローチャートと同じである。
図29を参照して、上述したステップS24の後、制御端末1Aのデータ管理モジュール14Aは、制御コマンドのデータサイズDsを検出する(ステップS41A)。そして、データ管理モジュール14Aは、データサイズDsが基準値Ds_stdよりも大きいか否かを判定する(ステップS42A)。
ステップS42Aにおいて、データサイズDsが基準値Ds_std以下であると判定されたとき、上述したステップS25〜ステップS30が順次実行される。
一方、ステップS42Aにおいて、データサイズDsが基準値Ds_stdよりも大きいと判定されたとき、制御端末1Aの制御管理モジュール15Aは、制御タイミングtcn_jに連続するタイミングtcn_2〜tcn_nを制御タイミングtcn_jに追加したタイミングtcn_j,tcn_2〜tcn_nを送信タイミングと決定する(ステップS45C)。
そして、制御端末1Aのデータ管理モジュール14Aは、複数の制御コマンドを含む複数のパケットを生成し、その生成した複数のパケットを制御管理モジュール15Aから受けた送信タイミングtcn_j,tcn_2〜tcn_nでセンサーjへ送信する(ステップS46C)。
その後、一連の動作は、ステップS26へ移行し、上述したステップS26〜ステップS30が順次実行される。
上述したように、実施の形態2においては、制御コマンドのデータサイズに応じて制御コマンドを1個のパケットまたは複数のパケットに含めてセンサー2〜5へ送信する。
したがって、制御コマンドのデータサイズが大きくなっても、制御コマンドを信頼性を高くしてセンサー2〜5へ送信できる。
上記においては、センサー2〜5の全てに制御コマンドを送信すると説明したが、実施の形態2においては、これに限らず、センサー2〜5の一部のセンサーへ制御コマンドを送信する場合もある。
図30は、複数の制御コマンドを含む複数のパケットを生成するさらに他の方法を説明するための図である。
たとえば、センサー2〜5のうち、センサー3,4へ制御コマンドを送信する場合を想定する。図30を参照して、センサー2,5へ送信する制御コマンドが存在しない場合、制御端末1Aのデータ管理モジュール14Aは、データDATA1=[Add2/コマンドメッセージ1|Add3/コマンドメッセージ2|Add4/コマンドメッセージ3|Add5/コマンドメッセージ4]を格納するフィールドからAdd2/コマンドメッセージ1およびAdd5/コマンドメッセージ4を格納するフィールドを削除してデータDATA2=[Add3/コマンドメッセージ2|Add4/コマンドメッセージ3]を格納するためのフィールドを生成する。そして、データ管理モジュール14Aは、その生成したフィールドにデータDATA2=[Add3/コマンドメッセージ2|Add4/コマンドメッセージ3]を格納する。これによって、データサイズは、データサイズDs_all1からデータサイズDs_all2に小さくなる。
そして、データ管理モジュール14Aは、データDATA2のデータサイズDs_all2を基準値Ds_stdと比較し、上述した方法によって、コマンドメッセージ2,3を1個のパケットまたは複数のパケットに含めてセンサー3,4へ送信する。
データ管理モジュール14Aは、センサー2〜5のうち、センサー3,4以外の一部のセンサーへ制御コマンドを送信する場合も、同様にして制御コマンドを一部のセンサーへ送信する。
上記においては、基準値Ds_stdは、100バイトであると説明したが、実施の形態2においては、これに限らず、基準値Ds_stdは、100バイト以外の値であってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。