説明

通信システム、通信装置、通信方法、及びプログラム

【課題】 同期用信号の遠方のタイムスロットは通信データの耐ノイズ性の劣化等が発生し、データ伝送の信頼性が低下するという課題があった。
【解決手段】 通信システムは、親ノードと複数の子ノードとの間で、親ノードが同期用信号を送信する1以上の同期用のタイムスロットと、複数の子ノードがデータを送信する複数のタイムスロットを有するデータスロットとを含む通信フレームを用いて時分割により通信する通信システムであって、親ノードは、子ノードが送信するデータのうち、優先して送信すべきデータを特定し、特定されたデータを、同期用のタイムスロットの近傍のタイムスロットを使用して送信するように、データスロットにおけるタイムスロットの割り当てを決定し、決定された割り当てを、子ノードに通知し、子ノードは、通知された割り当てに応じて、データを親ノードへ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同期用信号及びデータ信号をそれぞれ所定のタイムスロットで送信する時分割多重通信において、信頼性の高いデータ伝送を実現する通信システム、通信装置、通信方法、及びプログラムに関する。
【背景技術】
【0002】
近年、様々な機器において、機器全体のインテリジェンスな動作を実現するために、機器が大型化、複雑化、及び多様化され、また、精密かつ詳細な動作の検出が行われるようになっている。装置内のモジュールは配線により接続されるため、インテリジェントな機器を実現するにあたって、内部配線の増大が問題となる。
【0003】
このため、これらのシステムでは、配線数が比較的少ないシリアル通信を用い、モジュール間において、同期用信号とデータ信号とをそれぞれ所定のタイムスロットで送信する時分割多重通信方式を採用することが考えられる。
【0004】
特許文献1には、同期LANを利用したマルチドロップ接続されたセンター装置とローカル装置からなるネットワークにおいて、時分割でアラームの収集を行う警報収集方法が記載されている。特許文献1には、さらに、アラームの種別ごとに優先順位を付け、重要アラームを優先的に収集する方法が記載されている。特許文献1では、センター装置が優先順位ごとに決定される時間間隔でアラームの送信要求をし、ローカル装置はアラーム要求中に付加された優先順位符号に対応し、かつローカル装置に割り当てられたタイムスロットでアラーム応答を送信する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平9−214510号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
シリアル通信において、時分割多重通信を行う場合、同期用信号の近傍のタイムスロットを使用する場合と遠方のタイムスロットを使用する場合ではモジュール間のクロック同期精度が異なる。このため、同期用信号の遠方のタイムスロットは通信データの耐ノイズ性の劣化等が発生し、データ伝送の信頼性が低下するという課題があった。
【0007】
本発明は上記課題に鑑みなされたものであり、データ伝送の信頼性を確保する通信システム、通信装置、通信方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の一態様による通信システムは、親ノードと複数の子ノードとの間で、該親ノードが同期用信号を送信する1以上の同期用のタイムスロットと、該複数の子ノードがデータを送信する複数のタイムスロットを有するデータスロットとを含む通信フレームを用いて時分割により通信する通信システムであって、前記親ノードは、前記子ノードが送信する前記データのうち、優先して送信すべきデータを特定する特定手段と、特定された前記データを、前記同期用のタイムスロットの近傍のタイムスロットを使用して送信するように、前記データスロットにおけるタイムスロットの割り当てを決定する決定手段と、決定された前記割り当てを、前記子ノードに通知する通知手段と、を備え、前記子ノードは、通知された前記割り当てに応じて、データを親ノードへ送信する送信手段と、を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、時分割通信において、データ伝送の信頼性を確保できるタイムスロットの割り当て技術を提供することができる。
【図面の簡単な説明】
【0010】
【図1】大型の環境制御を実行するシステムの構成図。
【図2】通信フレームの構成図。
【図3】(a)は通信フレーム内におけるタイムスロットの構成図、(b)はαスロットのビット構成図、(c)はデータスロットのビット構成図。
【図4】子ノードの機能構成図。
【図5】AD変換後のビット構成図。
【図6】親ノードの機能構成図。
【図7】親ノードの動作を説明するフローチャート。
【図8】子ノードの動作を説明するフローチャート。
【図9】管理装置の動作を説明するフローチャート。
【図10】第1のスロット位置情報を用いる場合のタイムスロットの割り当て図。
【図11】第1のスロット位置情報を用い、MSB側データに変化がない場合のタイムスロットの割り当て図。
【図12】第2のスロット位置情報を用いる場合のタイムスロットの割り当て図。
【図13】第2のスロット位置情報を用い、MSB側データに変化がない場合のタイムスロットの割り当て図。
【図14】スロット位置情報の一例。
【図15】温度データとビット表示の対応図。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
【0012】
<<実施形態1>>
(システムの構成)
図1に、本実施形態に係る大型の環境制御を実行するシステム101の構成例を示す。本実施形態においては、一例として、このシステム101は温度を一定かつ精密に保つ機能、及び、一定時間毎に温度を可変にする機能を有するものとして説明する。なお、このようなシステム101は、主に漁業、農業用途で、多量の商品の冷凍、冷蔵用に使用される。このシステム101の内部には、多数の冷却装置103と多数の温度センサ104が分散して配置される。温度センサ104がシステム101の内部の温度を検出し、管理装置102はその検出結果に基づいて冷却装置103の運転の強度を決定し、冷却装置103はその決定に基づいて運転の強度を調節する。これら冷却装置103と温度センサ104が互いに緊密に連動する事で、システム101内の温度を一定かつ精密に保つなどの管理を行う事ができる。
【0013】
このような大型の環境制御を実行するシステム101では、多数の温度センサ104がシステム101内に設置されるため、その配線コストだけでも膨大になる。このため、このようなシステム101では、配線に必要な線材の本数をできるだけ少なくできる方式を選択する事が一般的である。本実施形態の例においては、このような方式として、多数の温度センサ104と制御部との間をシリアルに配線する方式を用いる。この方式は、配線及び接続作業が簡単に行えるという利点もある。
【0014】
図1のシステム101は、管理装置102により管理される。管理装置102は、例えばパーソナルコンピュータ(PC)である。冷却装置103はシステム内を冷却する装置であり、本実施形態では、103−1から103−50まで、50台設置されているとする。温度センサは104は、温度を検出する装置であり、システム101内の全体に広く設置され、本実施形態では104−1から104−256までの256個設置されているとする。この複数の温度センサ104は、それぞれ対応する子ノード105により制御される。
【0015】
子ノード105は、温度センサ104と線材107を使って1対1で接続されるため、温度センサの数量と同じ数量(256台)が用意される。親ノード106は、子ノード105と、2本の装置内通信路108及び電源供給線2本(不図示)で接続される。親ノード106と子ノード105とは、所謂バス配線で接続され、装置内通信路108の2線を用いて差動方式の信号が送受信される。子ノード105の最終端の位置に接続される子ノード(本実施形態では105−256)にはバス配線に必要なインピーダンスマッチングを行う事を目的とした終端抵抗(不図示)が実装される。これにより、2本の装置内通信路108以外の配線は不要となる。
【0016】
バス配線は親ノードと子ノードがパラレルに配線される。したがって、子ノードは、親ノードから出力されたデータをほぼリアルタイムに受信することができる。本実施形態では、一例としてバス配線を用いる例を示すが、配線方式はデイジーチェーン接続など、いかなる方式であってもよい。
【0017】
産業用の制御線109はシステム101内に50個配置された冷却装置103と管理装置102、及び親ノード106を接続する配線である。制御線109は冷却装置103の制御が容易に実現できるように考えられた仕様、構成の通信方式であり、一般的にはオープンなネットワークが使用されることが多い。他の管理装置110はシステム101以外のシステムを管理する管理装置102であり、適宜用意される。基幹LAN線111は、管理装置102と他の管理装置110を接続する。
【0018】
本実施形態においては、温度センサ104が検出した温度データを、子ノード105が親ノード106へ送信する。このとき、送信は時分割で行われ、各タイムスロットの割り当ては親ノード106から子ノードへ指示され、子ノード105は、その指示に従って、信号送信を許可されているタイムスロットで温度データを送信する。すなわち、子ノード105は、情報を提供する情報提供装置として動作し、親ノード106は、その情報提供のタイミングを制御する信号を送信する。以下では、この子ノード105と親ノード106とを含む通信システムについて、詳細に説明する。
【0019】
(通信フレームの構成)
図2は装置内通信路108で接続された親ノード106と子ノード105との間のデータ伝送に用いる通信フレーム201の構成例である。この通信フレーム201の例では、先頭に親ノード106と子ノード105の各々との間の内部の動作クロック同期を確保する同期用信号を送信する同期用スロット202が配置される。そして、同期用スロット202に続いて、親ノード106と子ノード105間でデータを送受信するためのデータスロット203が配置される。なお、データスロット203はさらに時分割され、データスロット203内で、複数の子ノード105がそのさらに分割されたスロットを用いて信号を送信する。この同期用スロット202、及びデータスロット203をセットとして、通信フレーム201の送受信が繰返し行われる。なお、同期用スロット202は、通信フレーム201の先頭以外に配置されてもよい。例えば、通信フレーム201の中央に同期用スロット202を挿入してもよい。また、同期用スロット202は、通信フレーム201に必ず1つである必要はなく、1以上、すなわち複数あってもよい。また、複数の同期用スロット202が挿入される場合、一つ一つの同期用信号の長さを短くしてもよい。同期用信号を複数用いることにより、同期用信号の近傍で信号を送信できる子ノード105が増加し、信頼性を向上させることができる。
【0020】
通信フレーム201の周期をtとする。周期tは温度データの取得周期に依存する。温度データの取得周期の長短により温度測定の精度が変動するため、システム101が所望する精度を維持するために必要な取得間隔に基づいて周期tが決定される。本実施形態では約500ミリ秒毎に温度データを更新するとし、1通信フレーム201の長さは約500ミリ秒となる。なお、通信フレーム201−1と通信フレーム201−2間には、不図示のフレームの切れ目である事を特定できるシンボル系列等が挿入される。
【0021】
図3(a)に、本実施形態に係るデータスロット203の詳細を示す。αスロット301は、子ノード105の各々にデータをブロードキャストするスロットである。なお、以下では親ノード106がαスロット301を用いてデータを送信する場合について説明するが、αスロット301でデータを送信するのは、必ずしも親ノード106でなくてもよく、子ノード105であってもよい。
【0022】
αスロット301では、子ノード105が温度センサ104で検出した温度データを親ノード106へ送信する際、それぞれの子ノード105が使用するタイムスロット302の位置に関するスロット位置情報を送信する。スロット位置情報の一例を図14に示す。親ノード106と子ノード105の各々は、スロット位置情報の内容を予め記憶しておく。そして、親ノード106は、管理装置102からの指示に応じて、装置内通信路108へ、スロット位置情報として図14の参照番号を含む信号を送出する。子ノード105は、装置内通信路108からスロット位置情報を取得し、自らが検出した温度データの格納及び送信を行うタイムスロット302を判断する。タイムスロット302の個数は、例えば本実施形態のように、子ノード105から送信するデータを上位と下位ビットに分けて送信する場合、子ノードの台数分の2倍の512個とする。
【0023】
図3(b)に、親ノード106から子ノード105へ送信するαスロット301のビット構成を示す。401は送信元アドレスを示し、親ノード106から送信する場合は、このビットを「1」にする。また、子ノード105の一つが、αスロット301を用いて信号を送信する場合は、このビットを「0」とする。送信先は全ての子ノード105にブロードキャスト通信を行うため特定する必要がなく、このため、αスロットにおいては送信先を示す領域は用意されない。402は子ノード105の各々が検出した温度データをどのタイムスロット302を使って送信するかのスロット位置情報を格納する領域である。領域402は、図14に示すスロット位置情報の参照番号を格納する。親ノード106と子ノード105は、上述の通り、参照番号に対応したスロット位置情報の内容を予め把握しておく。これにより、参照番号の指定をするだけで、親ノード106と子ノード105との間で、子ノード105の各々のデータ送信に用いるタイムスロット302を共通的に認識することができる。子ノード105は、αスロットに含まれる参照番号に対応するスロット位置情報により指定されたタイムスロット302で、温度センサ104により検出した温度データを格納し送信する。例えば、図14の例において、参照番号が「0」の場合、子ノード105−nが使用するタイムスロットは、302−nと、302−(256+n)である。そして、それぞれのタイムスロットにおいて、送信するデータの上位ビット群(Most Significant Bit、以下MSB側)か下位ビット群(Least Significant Bit、以下LSB側)のいずれかを選択して送信する。
【0024】
なお、αスロット301においては、当該スロットがαスロットである事を明確にするために、不図示の信号等を401より前方に配置してもよい。また、ここに示すビット構成は本実施形態で想定されるものであり、親ノード106、子ノード105の機能、子ノード105の台数等システム構成次第で構成は異なっても良い。
【0025】
図2における通信フレーム201では、同期用スロット202を送信するための独立した別の線を用意しておらず、同期用スロット202とデータスロット203を同一の装置内通信路108で通信を行う間欠同期確保方式を採用している。この方式では同期用スロット202の近傍のタイムスロットでは親ノード106と子ノード105間のクロック同期精度を十分高く確保することができる。しかしながら、同期用スロット202から離れたタイムスロットでは、クロック同期精度が劣化することがある。親ノード106と子ノード105間でクロック同期精度が劣化するということは、通信信号にとってノイズが増大したのと等価である。すなわち、通信信号のSNR(signal to noise power ratio)が低下し、通信エラーの発生確率が増大し、正常なデータの送受信ができなくなる場合がある。つまり、同期用スロット202から時間的に離れたタイムスロット302で送受信されたデータは、同期用スロット202の近傍のタイムスロット302で送受信を行ったデータと比して信頼性が低下する。したがって、同期用スロット202の近傍のタイムスロット302で送受信を行うことが望ましいが、全てのデータが同期用スロット202の近傍のタイムスロット302を使う事は不可能である。
【0026】
このため、本実施形態では、重要なデータ、例えば、システムの動作に大きく影響する温度データは、同期用スロット202の近傍のタイムスロットで送信する仕組みを提供する。一方、重要でないデータは同期用スロット202から離れたタイムスロットで送信し、一定の誤りを許容する。これにより、重要なデータについては通信エラーが発生しにくいタイムスロットで、高精度に送信することが可能となる。詳細については後述する。
【0027】
図3(c)は子ノード105から親ノード106へ送信する信号の構成例である。501は送信元アドレスであり、子ノード105の番号を示す。例えば子ノード番号100番からのデータは、100の2進数表現が入力される。また、本実施形態では送信先は親ノード106であり、他の送信先はないため、送信先アドレスは用意されない。502は属性ビットであり、後段の温度センサ104の検出したデータのMSB側が格納されているか、LSB側が格納されているかを識別するビットである。例えば、MSB側の場合に「1」が、LSB側の場合に「0」が入力される。503は温度センサ104で検出したデータが入力される。ここでデータ503は、検出したデータのMSB側もしくはLSB側のどちらか一方を送るため8ビットとなっている。
【0028】
なお、すべての子ノード105の16ビットのデータを順に送信することも考えられるが、その場合、特に後半のスロットを割り当てられた子ノード105のデータが同期用スロット202から時間的に離れてしまうという問題が発生する。同期用スロット202の近傍のタイムスロットが信頼性の高いスロットであることから、全ての子ノード105が可能な限り同期用スロット202の近傍のタイムスロットでデータを送信することが望まれる。一方、MSB側とLSB側の両方のデータが重要となるのは、電源立ち上げ時など、限られた場面である。このように、装置の状況によっては、MSB側又はLSB側のどちらか一方のデータが重要なデータとなる場合が多い。このため、MSB側とLSB側のどちらか重要なデータが送信できれば、装置の機能の要求を概ね満足することができることが多い。このため、重要なデータを選択して同期用スロット202の近傍のデータスロットで送信することにより、接続された複数の子ノード105のそれぞれから送信されるデータの信頼性の格差が大きくなることを回避することができる。
【0029】
(子ノードの構成)
図4は本実施形態に係る子ノード105の内部構成を示す。記憶部601には、子ノード105から親ノード106に対して温度データを送信するタイムスロット302の割り当て表(本実施形態では図14)の内容が記憶される。AD変換器602は温度センサ104から受信したアナログの温度データをデジタルデータに変換する。図5に、温度センサ104からのアナログデータをAD変換器602でデジタルデータ化した時の温度データ701のビット構成図を示す。702は温度データ701のMSB側、703はLSB側である。データ分解部603は、温度データ701のデジタルデータをMSB側702とLSB側703との2つの分割データに分解する。
【0030】
データ判定部604はMSB側とLSB側のそれぞれの分割データが、前回受信した分割データと同一か否かを判断する。CPU605は子ノード105全体の制御を行う。スロット割当部606は装置内通信路108の指定されたタイムスロット302に温度センサ104が検出した温度データを格納する。バッファ部607は、親ノード106に送信した温度データを1回に限り保存しておく。通信部608は親ノード106との通信を制御する。
【0031】
(親ノードの構成)
図6は本実施形態における親ノード106の内部構成を示す。通信部801は子ノード105と装置内通信路108を介して通信する。データ判定部802は子ノード105から送られた温度データの属性ビット502がMSB側、LSB側のどちらを表しているかを判定する。CPU803は親ノード106全体を制御する。MSB側のデータバッファ803−1は子ノード105からの温度データのMSB側を一時的に記憶する。同様に第一のLSB側のデータバッファ803−2、第二のLSB側のデータバッファ803−3は、子ノード105からの温度データのLSB側をバッファする。制御部803−4はCPU803の主たる制御を行う。インターフェース部804は管理装置102とデータの送受信を行う際に使用する制御線109のインターフェースである。信号ライン805はデータ判定部802の結果を制御部に803−4に伝達する。
【0032】
(システムの動作)
以下、図1のシステム101において、温度センサ104がシステム101内の温度を定期的に検出し、冷却装置103がシステム101内の温度を精密に調節する動作について説明する。
【0033】
子ノード105の各々にはシステム101の要求に応じた精度の温度センサ104が接続されており、システム101内の温度データを親ノード106に一定の周期で送信する。親ノード106は、温度データを受信すると、そのデータを管理装置102に送信する。管理装置102は受信した温度データと維持すべき温度とを比較し、温度を上げる時は冷却装置103の出力を弱くし、温度を下げる時は冷却装置103の出力を強くし、システム101内の温度を維持すべき温度に保つ。
【0034】
以下では、親ノード106と子ノード105とからなる、システム101のサブシステムである通信システムの動作について、図7から図9のフローチャートを用いて詳細に説明する。なお、図7は親ノードの動作、図8は子ノードの動作、図9は管理装置の動作を示す。本実施形態では、管理装置102は、これらの動作フローに移る前に、初期設定として維持温度を+16.5℃に設定するものとする。
【0035】
処理が開始されると、親ノード106は、図14に示すスロット位置情報の参照番号を子ノード105にαスロット301を用いて通知する(S901)。スロット位置情報は、例えば、管理装置102が決定して親ノード106へ通知したり、初期値を用意しておき、それを用いる。ここで、本実施形態では、スロット位置情報の参照番号として、「0」を通知するものとする。子ノード105は受信したスロット位置情報の参照番号をスロット割り当て情報として記憶部601に記憶する。
【0036】
子ノード105は、スロット位置情報を親ノードから受信し(S1001)、そして、温度センサ104からシステム101内の温度データを受信する(S1002)。なお、スロット位置情報の受信と、温度データの受信とは、この順で実行されなくてもよく、温度データを受信後にスロット位置情報を受信するのであってもよい。そして、子ノード105のAD変換器602は、受信した温度データをデジタルデータに変換する。デジタル化された温度データ701は、データ分解部603によりMSB側とLSB側とに分解された後に、親ノード106へ送信される。
【0037】
ここで、温度データの送信動作について、詳細に説明する。まず、AD変換器602は、検出された温度をデジタルデータに変換する。ここで、本実施形態においてはデジタルデータは16ビットで表現する。16ビット表現を用いることにより、65536段階の温度表現が可能となる。このため、例えば、システム101では−40℃〜150℃が測定できれば充分仕様を満足するところ、この場合、理想的には約0.003℃刻みで温度表現することができる。また、例えば0.1℃刻みであれば、6000℃程度の幅の温度を計測して表現することができる。なお、本実施形態では、−40℃〜+150℃の範囲で、0.0625℃刻みで温度データを表現するものとする。温度データの例を図15に示す。16ビットで表現された温度データは、データ分解部603において、MSB側とLSB側との2つの分割データに分解される。
【0038】
分割データのうち、MSB側は前回、すなわち1フレーム前に検出したデータと同様のデータであるか否かを判定するデータ判定部604−1に、LSB側はデータ判定部604−2に送られる。そして、データ判定部604は、温度センサ104から受信したシステム101内の温度について、MSB側に1フレーム前から変化があったか否かを判定する(S1003)。ここで、電源立上げ直後の初回のデータについては、1フレーム前に検出したデータがないため、データ判定部604では同一のデータとは判断しない(S1003でYes)。なお、MSB側、及びLSB側が同一か否かの判定の結果は、それぞれ609−1、及び609−2を介してCPU605に送られる。温度データ701のMSB側702、及びLSB側703は、それぞれ610−1、及び610−2を介してCPU605に送られる。
【0039】
CPU605は、分解された温度データ701のMSB側、LSB側の両方にヘッダ部501、502を付加してタイムスロット302を用いて送信するデータを形成する。そして、バッファ部607及び通信部608は、形成された送信データをスロット位置情報に基づいて、所定のタイムスロットで送信する。ここで、温度データ701のMSB側は概ねどの程度の温度かを示す事ができるため、信頼性の高い通信が可能なタイムスロットである同期用スロット202−1の近傍のスロットを用いる。すなわち、スロット位置情報の参照番号「0」の例のように、MSB側のデータは、LSB側のデータよりも同期用スロット202−1の近くのスロット、つまり時間的に先のスロットで送信される。例えば、スロット位置情報の参照番号が「0」の場合、子ノードが105−1のデータは、図10に示すように、MSB側はスロット1(302−1)、LSB側はスロット257(302−257)を使用して親ノード106へ送信される。同様に、子ノードが105−2の場合、温度データ701のMSB側はスロット2(302−2)、LSB側はスロット258(302−258)に格納され、親ノード106へ送信される。
【0040】
ここで、図15の例において、MSB側の変化に着目すると、番号7の+15.9375℃では「0 0000b」であるが、番号8の+16℃では「0 0001b」と変化する。同様に、番号10の+31℃は「0 0001b」であるが、番号11の+32℃では「0 0010b」と変化する。すなわち、図15の例の場合、+15℃から+16℃、+31℃から+32℃、+47℃から+48℃など、ある特定の変化点でMSB側が変化する。このことは、MSB側を見るだけでシステム101内の概略の温度を把握する事ができることを意味する。すなわち、システム101としてはMSB側が重要なデータであり、LSB側はそれに付随する詳細なデータであると考えることができる。ここで、システム101の維持温度がMSB側の変化する特定の変化点の近傍でない場合には、本実施形態で仮定する0.5秒程度の短時間で大きな温度変化の発生頻度は低いと考えられる。このため、MSB側の変化の発生頻度も低いと考えられ、MSB側の変化しないデータを繰返し送信することにより、かえってMSB側のデータを誤って受信する確率の増大を招き、通信路の有効利用や信頼性確保という観点から妥当性を欠く。
【0041】
このため、本実施形態では、MSB側のデータについては、変化が発生した場合に送信し、変化がない場合は送信を省略する。すなわち、S1003の判定結果でMSB側に変化があった場合に(S1003のYes)、MSB側、LSB側の両方を親ノード106に送信し(S1004)、変化がない場合はLSB側のみを送信する(S1005)。なお、MSB側に変化があった場合(S1003のYes)、MSB側及びLSB側のデータは、初期値の温度データ701の送信時と同一のタイムスロットで送信する。
【0042】
検出した温度データ701のMSB側に変化がない場合は(S1003のNo)、親ノード106にMSB側を送信しないため、前回MSB側を送信した前半のタイムスロットに、LSB側を格納して送信する。すなわち、302−1に子ノード105−1のLSB側、302−2に子ノード105−2のLSB側、302−256に子ノード105−256のLSB側が格納され、送信される。これにより、MSB側を送信する際はLSB側を後半に送信するが、MSB側を送信しないのでLSB側を同期用スロット202の近傍であり、信頼性の高い前半のタイムスロットに送る事ができる。
【0043】
一方、後半の302−257〜302−512までのタイムスロットは空きとなる。そこで後半のタイムスロット302−257〜302−512にも、前半のタイムスロットで送信した温度データ701のLSB側を再度送信する。すなわち、302−257に子ノード105−1のLSB側、302−258に子ノード105−2のLSB側、順に302−512に子ノード105−256のLSB側を格納する。このようにして、同一の内容のLSB側のデータが、複数回、親ノード106に送信される(S1005)。この場合のタイムスロットの構成を図11に示す。このように、概略の温度データであるMSB側に変動がなかった場合に、詳細の温度データであるLSBを複数回送信することにより、詳細の温度データについて、より信頼性の高い通信をすることが可能となる。
【0044】
親ノード106は、子ノード105−1から送られた温度データ701を受信すると(S902)、データ判定部802においてタイムスロット302−1内のデータの属性を属性ビット502に基づいて判定する。判定結果は805を介してCPU803の制御部803−4に通知される。MSB側に変化があった場合、または、システムを起動した直後は、タイムスロット302−1で送信されるデータはMSB側であり、属性ビットは「1」となっている。このため、データ判定部802は、MSB側用のデータバッファ803−1にMSB側のデータ503を転送する。さらに子ノード105−1からのLSB側のデータはタイムスロット302−257に格納されているのでデータバッファ803−2に格納する。CPU803の制御部803−4は、データバッファ803−1に格納されているMSB側データ、803−2に格納されているLSB側のデータの両方を、制御線のインターフェース部804を用いて管理装置102へ送信する。以上のようにして、全ての子ノード105からの初期値データが制御線109を介して管理装置102へ送られる(S903)。
【0045】
一方、MSB側に変化がない場合、タイムスロット302−1で送信されるデータはLSB側であり、属性ビットは「0」となっている。このため、データ判定部802は、受信したデータにはLSBが格納されていると判定する。そして、このデータは第一のLSB側のデータバッファ803−2に転送される。タイムスロットの後半も同様にLSB側が格納されているので、この場合は、第二のLSB側のデータバッファ803−3にデータを転送する。CPU803の制御部803−4はデータバッファ803−2、803−3に格納されているLSB側を同一か否かをチェックし、同一であれば、MSB側は無変化であった情報と共にLSB側のデータを管理装置102へ送信する(S903)。第一のLSB側のデータバッファ803−2と第二のLSB側のデータバッファ803−3のデータが同一でない場合は、いずれかのLSB側のデータが誤って受信したと考えられる。この場合、MSB側が無変化である事の情報と共に、2つのLSB側のデータが一致しなかったことの情報を含めて、第一のデータバッファ803−2のデータを管理装置102へ送信する。また、第一のデータバッファ803−2と第二のデータバッファ803−3のデータが一致しなかった旨を示す情報も、併せて管理装置102へ送信する。管理装置102は第一のデータバッファ803−2と第二のデータバッファ803−3のデータが一致しなかった旨を示す情報を受信すると、受信したデータにフラグを付ける。このフラグは、当該データの信頼性を将来検証するのに使用することができる。
【0046】
管理装置102は温度データ701を受信すると(S1101)、温度センサ104が検出した温度について、急上昇、急下降などの異常が発生していないかを判断する(S1102)。異常を検知しなかった場合(S1102のNo)は、処理の最初に戻り、子ノード105は温度データを温度センサ104から定期的に受信して、親ノード106に送信する動作を繰返す。
【0047】
管理装置102に送られた温度データ701について、異常を検知した場合(S1102のYes)、すなわち、MSB側が短時間に変化し、データに含まれる数値の変化量が著しいと考えられる場合は以下の動作を行う。親ノード106に対し、異常が検知されたデータを送信した子ノード105(ここでは子ノード105−10とする)のデータの送信に用いるタイムスロットを同期用スロット202−1の近傍に割り当てるよう指示する(S1103)。親ノード106はαスロット301にてスロット位置情報「2」を送信する(S901)。これは特定の子ノード105を指定してタイムスロットを割り当てるものである。この場合、子ノード105−10のMSB側、LSB側共に同期用スロット202の近傍に割り当てるよう指示する。この場合、タイムスロット302−1は子ノード105−10のMSB側、タイムスロット302−2は子ノード105−10のLSB側となる。親ノード106からのスロット位置情報の参照番号を「2」として送信するとともに、優先する子ノード番号を続けて送信する。この場合は105−10に対応する子ノード番号(例えば「10」)を送信する。
【0048】
これにより異常データを検出した子ノード105の温度データ701を優先して送信すべきデータとして特定することができ、そのデータを信頼性の高いタイムスロットで送信することができる。なお、スロット位置情報の参照番号が「2」であり、その後に送信された番号が「10」であった場合、子ノード105−10より前のタイムスロットで送信するはずだった子ノード105のデータについて、送信位置をずらす必要がある。この場合、例えば、タイムスロット302−1で送信されるはずだった、子ノード105−1のMSB側のデータは、子ノード105−10のMSB側のデータを送信するのに割り当てられたタイムスロット302−10で送信される。また、タイムスロット302−2で送信されるはずだった、子ノード105−2のMSB側のデータは、子ノード105−10のLSB側のデータを送信するのに割り当てられたタイムスロット302−267で送信される。これ以外にも、タイムスロット302−3からのタイムスロットにおいて、子ノード105−10を除き、スロット位置情報の参照番号「0」の順で送信するようにしてもよい。すなわち、タイムスロット302−3〜11において、子ノード105−1〜9のMSB側を、タイムスロット302−12〜257において、子ノード105−11〜256のMSB側を送信する。さらに、タイムスロット302−258〜266において、子ノード105−1〜9のLSB側を、タイムスロット302−267〜512において、子ノード105−11〜256のLSB側を送信する。このほかに、スロット位置情報の参照番号が「2」であった場合についての、指定された子ノード以外の子ノード105に対するタイムスロットの割り当てを決めておいてもよい。
【0049】
このスロットで伝送されたにも関わらず、子ノード105−10が送信したデータが異常であった場合は、同期用スロット202から遠方である事により、伝送路の途中でビット誤りが発生したのではないと判断することが出来る。よって、異常データを出力する温度センサ104、又は、それに対応する冷却装置103自体に異常が発生したと判断することができ、それを管理装置102を通じてシステム101の管理者に伝達することで故障修理等の対応が容易になる。この結果、システム101内の温度データ701の信頼性を高めることができ、冷却装置103を適切に動作させ、システム101内の温度を精密に制御することが可能となる。
【0050】
なお、上述の説明では、スロット位置情報の参照番号が「0」の場合について説明したが、スロット位置情報の参照番号が「1」の場合であっても同様に動作する。この場合は、例えばMSB側に変化がある場合、子ノード105の温度データ701を格納するタイムスロット302は図12のようになる。また、タイムスロット位置情報の参照番号が「1」の場合で、MSB側に変化がない場合は、子ノード105の温度データ701を格納するタイムロットは図13のようになる。また、本実施形態におけるタイムスロット位置情報は図14のスロット位置情報に示される順序に限らず、任意のスロット位置を指定しても本発明の効果に変わりはない。
【0051】
また、上述の説明では、親ノード106と子ノード105とを明確に分けて説明したが、親ノード106と子ノード105との区別をつけず、複数のノードにおいて、親ノードとして動作するノードを例えば時間ごとに変化させてもよい。また、親ノード106と管理装置102を別の装置として説明したが、同一の装置内に親ノード106と管理装置102の両方の機能を有することとしてもよい。
【0052】
なお、上述の説明では、システム101内の維持温度が、MSB側の変化点に近い16.5℃であったが、維持温度がMSB側の変化点から離れるように、デジタルデータにオフセットを追加して設定してもよい。これにより、変化点に近い場合でもMSB側の変化を発生しにくくする事ができる。これにより、できる限りMSB側の送信を省略し、精度良く異常発生等を検知することが可能となる。
【0053】
また、本実施形態では検出されたデータをMSB側とLSB側の2つに分割したが2以上に分割しても同様の効果が得られる。さらに、本実施形態では16ビットのデータを上位8ビット、下位8ビットとし、2つに分割した。しかし、上位10ビット、下位6ビットなどの分割方法でも同様の効果は得られる。また、上位4ビット、中位4ビット、下位4ビットのように3つに分割しても同様の効果が得られる。また、優先するビット群は上位ビット群とは限らず、下位ビット群、中位ビット群を優先度、重要度の高いデータとして扱ってもよい。
【0054】
また、上述の説明では、MSB側を優先度が高いデータとして予め定め、同期用信号の近傍で送信するようにしたが、これを適応的に判定するようにしてもよい。すなわち、親ノード106は、MSB側とLSB側のデータを蓄積して時間変化を観測し、MSB側のように、時間変化の少ないデータを優先度が高いデータとして、スロット位置情報を決定してもよい。
【0055】
<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
親ノードと複数の子ノードとの間で、該親ノードが同期用信号を送信する1以上の同期用のタイムスロットと、該複数の子ノードがデータを送信する複数のタイムスロットを有するデータスロットとを含む通信フレームを用いて時分割により通信する通信システムであって、
前記親ノードは、
前記子ノードが送信する前記データのうち、優先して送信すべきデータを特定する特定手段と、
特定された前記データを、前記同期用のタイムスロットの近傍のタイムスロットを使用して送信するように、前記データスロットにおけるタイムスロットの割り当てを決定する決定手段と、
決定された前記割り当てを、前記子ノードに通知する通知手段と、を備え、
前記子ノードは、
通知された前記割り当てに応じて、データを前記親ノードへ送信する送信手段と、
を備えることを特徴とする通信システム。
【請求項2】
前記子ノードは、前記データを2以上の分割データに分割する分割手段をさらに備え、
前記親ノードの前記特定手段は、前記分割データのうち、変化の発生頻度が低い分割データを優先して送信すべきデータとして特定することを特徴とする請求項1に記載の通信システム。
【請求項3】
前記子ノードは、前記分割データのうち、変化の発生頻度が最も低い分割データについて、1フレーム前の該分割データと同一のデータである場合、該分割データを送信するのに割り当てられたタイムスロットにおいて、該分割データに代えて、他の分割データを送信し、該他の分割データは複数のデータスロットを用いて、複数回、送信されることを特徴とする請求項2に記載の通信システム。
【請求項4】
前記特定手段は、前記データの変化量に基づいて異常が検知されたデータを送信した前記子ノードについて、該子ノードの送信する前記データを優先して送信すべきデータとして特定することを特徴とする請求項1から3のいずれか1項に記載の通信システム。
【請求項5】
通信装置と複数の情報提供装置との間で、該通信装置が同期用信号を送信する1以上の同期用のタイムスロットと、該複数の情報提供装置がデータを送信する複数のタイムスロットを有するデータスロットとを含む通信フレームを用いて時分割により通信する通信システムにおける前記通信装置であって、
前記複数の情報提供装置が送信する前記データのうち、優先して送信すべきデータを特定する特定手段と、
特定された前記データを、前記同期用のタイムスロットの近傍のタイムスロットを使用して送信するように、前記データスロットにおけるタイムスロットの割り当てを決定する決定手段と、
決定された前記割り当てを、前記情報提供装置へ通知する通知手段と、
を備えることを特徴とする通信装置。
【請求項6】
親ノードと複数の子ノードとの間で、該親ノードが同期用信号を送信する1以上の同期用のタイムスロットと、該複数の子ノードがデータを送信する複数のタイムスロットを有するデータスロットとを含む通信フレームを用いて時分割により通信する通信システムにおける通信方法であって、
前記親ノードの特定手段が、前記子ノードが送信する前記データのうち、優先して送信すべきデータを特定するステップと、
前記親ノードの決定手段が、特定された前記データを、前記同期用のタイムスロットの近傍のタイムスロットを使用して送信するように、前記データスロットにおけるタイムスロットの割り当てを決定するステップと、
前記親ノードの通知手段が、決定された前記割り当てを、前記子ノードに通知するステップと、
前記子ノードの送信手段が、通知された前記割り当てに応じて、データを前記親ノードへ送信するステップと、
を有することを特徴とする通信方法。
【請求項7】
通信装置と複数の情報提供装置との間で、該通信装置が同期用信号を送信する1以上の同期用のタイムスロットと、該複数の情報提供装置がデータを送信する複数のタイムスロットを有するデータスロットとを含む通信フレームを用いて時分割により通信する通信システムにおける前記通信装置の通信方法であって、
特定手段が、前記複数の情報提供装置が送信する前記データのうち、優先して送信すべきデータを特定するステップと、
決定手段が、特定された前記データを、前記同期用のタイムスロットの近傍のタイムスロットを使用して送信するように、前記データスロットにおけるタイムスロットの割り当てを決定するステップと、
通知手段が、決定された前記割り当てを、前記複数の情報提供装置に通知するステップと、
を備えることを特徴とする通信方法。
【請求項8】
コンピュータを請求項5に記載の通信装置が備える各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−5060(P2013−5060A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−131634(P2011−131634)
【出願日】平成23年6月13日(2011.6.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】