連載記事
MEDIA

NE Academy【第4回】
センサーネット設計の基本 2重化や特殊条件への対応も

この記事は、日経エレクトロニクス2014年9月29日号に掲載されたNE Academy「信頼性の高い無線センサーネット構築の勘所」を再構成したものです。禁無断転載

不測の故障に2重化で対応

 基本的なネットワーク構築の手順は以上の通りだが、個別のネットワークにはそれぞれ特殊な条件があることが多い。Dust部門は2005年にSmartMeshの第1世代製品を発表して以降、ネットワークの構築や運用で多くの顧客を支援してきた経験から、さまざまな条件に対応するノウハウがある。中でもよくある要求として、ネットワークの2重化と、細長い対象物を扱う場合について以下で解説する。

 ネットワークの2重化は、電力会社など高信頼性を重視する顧客が求める条件である。SmartMeshの場合、1つのモートが故障した場合でもメッシュによる冗長経路があることから、同じネットワークの他のモートはほとんど影響を受けない。ただし故障したモートからのセンサーデータは得られなくなる。また、ネットワークマネジャーが故障してしまうとネットワークの全てのモートからの情報が得られなくなる。こうした問題に対処するための手段が2重化だ。

 2重化には、完全2重化とマネジャーのみの2重化の2つがある。前者は信頼性は最も高いがコストも最も高い方法と言える。1つの計測対象に2つのモートを取り付け、それぞれが別のマネジャーの配下につながるように別々のネットワークIDを与える方法である。SmartMeshでは同一の空間に複数の無線ネットワークを配置できることを利用する。この方式を用いた場合、2重化した部分が同時に壊れない限り、一切のデータの欠測なく運用を継続できる。

 マネジャーの2重化は、WirelessHART規格に準拠する製品(SmartMesh WirelessHART)と、IEEE802.15.4e準拠の製品(SmartMesh IP)で実現方法が若干異なる。前者の場合は1つのネットワークに、マスターマネジャーとスレーブマネジャーの2つを置ける。両者はHeartbeatシリアルポートで接続しておく。通常はマスターマネジャーがネットワークを管理し、スレーブマネジャーは待機状態にあるが、マスターが故障した場合には、スレーブがHeartbeatシリアルポート経由でそれを検知し、ネットワークの管理を引き継げる(Cold Failover機能)。

 SmartMesh IPでは、マネジャーの故障検出と代替のマネジャーの起動はホストアプリケーション側で実行する必要がある。ホストアプリケーションはシリアルポート経由でマネジャーと接続され、ネットワーク全体からのセンサーデータや健全性レポートを常に収集するとともに動作状態を確認し続ける。故障を検出した場合に予備のマネジャーを起動すれば、ネットワークを再構築できる。

 このほか同じ空間内に同じネットワークIDを持つマネジャーを2つ配置して常時稼働させることも可能だ。このケースでは、それぞれのマネジャーは空間内の約半数のモートとメッシュを構築する。一方のマネジャーが故障したら、その配下のモートは通信タイムアウトによってリセットが掛かり、自動的にもう一方のマネジャーのネットワークに参加することになる。この方法では、1つのマネジャーで2つのメッシュネットワークのモートを収容できるような密度でマネジャーを配置する必要がある。

 以上のどの方法でも、一時的な欠測はあるにせよ、マネジャーの故障から速やかに自動的に回復することが可能だ。

細長い対象物を監視する

 無線センサーネットワークの用途として、パイプラインや線路、トンネル、坑道、送電線など細長い対象物を信頼性高く監視したいという需要は多い。実際、SmartMesh IPを使用して100個のモートを最大32ホップの深さのメッシュネットワークとして構築した例がある(図4)。この例では、マネジャーの近くに7つのモートを置くほかは、到達距離と同じ間隔で3つずつモートを配置し、32ホップの深さまでのネットワークを構成した。

 最も一般的な屋外の無線環境では1ホップの到達距離は約100mであり、このネットワークで全長3200mの対象物を監視できる。送電線など地上から20mほど高い場所にモートを設置する場合は到達距離を500mに設定することも可能で、100個のモートで16kmの長さをカバーできることになる。反対に坑道やトンネルなど、モートを壁から1m程度しか離せない用途では、電波の反射と吸収により到達距離は約50mとなり、監視範囲は通常の半分の約1600mと短くなる。

細長い対象物を監視する

※クリックで画像を拡大

 いずれにせよ、実際の到達距離は設置環境とアンテナ性能に依存するので実地での試験が不可欠だ。なお監視が必要な地点が少ない場合は、必要なモートにのみセンサーを設け、それ以外のモートは通信の中継のみを任せることが可能である。

 図4のネットワークは、100個のモートがそれぞれ30秒に1回センサーデータを送信し、マネジャーに届くまでの時間(Latency)が30秒以下になるように構成した。52日間続けて動作を確認したところ、1700万パケットがマネジャーに届き、失われたパケット数はゼロだった。ホップ数が多いネットワークではリトライが何度も発生するため、モート間転送の総数は4億回を超えていた。また、52日間に合計2万5000個の健全性レポートを受信した。

遅延時間や消費電力を適切に設定

 ネットワークの一番遠いところにあるモートからのデータは、32回以上ホップしてマネジャーまで届く。従ってデータを送信してからマネジャーに届くまでの時間は、近いところにあるモートと比べて長くなる。ただし、この遅延時間を特定の値に収めるように、ネットワークを設計することは可能である。実際、図4のネットワークで、各モートの遅延時間を90分間分測定すると、全てのモートで設計値の30秒を満たしていることが分かる(図5)。

 遅延時間を大きく左右する要因はリンク数である。リンク数とは、1つのデータを送る際に各モートに割り当てられる送信の試行回数のことで、第2回で説明したProvisioningの値と同じである。通常は次式を満たせる最小の値に設定する。

L=[1.8M/T ]

遅延時間や消費電力を適切に設定

※クリックで画像を拡大

 上式のLはマネジャーが設定する最小リンク数で、Mはモート数(この場合100)、Tはデータ発行周期(秒、この場合30)、[ ]は整数への切り上げを示す。図4の例ではL=8を用いた。Lの値が決まり、平均経路安定性(S:Stability、安定性は通信に成功したパケット数の、全てのパケット数に対する割合)が分かれば、パケット遅延時間の中央値(メジアン)は下記の式で決まる。

パケット遅延時間(中央値)=0.75M/LS

 今回のネットワークでは、Sは85%(0.85)で、M=100、L=8なので、この値は11秒程度だった。この式から分かる通り、最小リンク数を増やせば、パケット遅延時間は短くできる。しかし、使用可能なタイムスロット数とチャネル数に制限があるため、最小リンク数Lとモート数Mの積LMは1800以下に抑えなければならない。また、Lを大きくすると消費電流も大きくなるので注意が必要だ。SmartMeshを用いた全てのネットワークで、パケット遅延時間と消費電流は反比例する。これはTSMP方式も含めた時分割多重方式(TDMA:time division multiple access)方式の特徴だ。こうした関係を考慮しつつ、パラメーターの指定により性能を決定論的に設計できることは大きなメリットと言える。

モートの消費電流を実測

 全てのモートは、電池から消費した電荷量を示すカウンターを内蔵しており、この値を定期的にマネジャーに報告している。この情報から、ネットワークを構成するモートの平均消費電流を計算できる。図4のネットワークで90分間測定した結果を図6に示す。マネジャーに近い(番号の小さい)モートは遠くのモートからのデータを中継するため平均消費電流は大きくなる傾向にある。それでも、消費電流が最大のモートでも平均で300μA以下に収まっていることが分かる。この程度であれば単1型の塩化チオニルリチウム電池を2個使って15年以上稼働させられる。

 今回は、具体的な無線センサーネットワークの構成方法を解説した。さまざまな応用にはそれぞれ固有の要求事項があり、最適に設計するには各種のパラメーターの意味をよく知り、正しく組み合わせることが必要になる。そのためには、ある程度の確率変数を持ちながらも、環境に合わせて決定論的にネットワークを設計できることは大きな利点になる。TDMA方式が持つこの特徴に理解を得られると幸いである。

モートの消費電流を実測

※クリックで画像を拡大