IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社キーエンスの特許一覧

特開2025-1527産業用ワイヤレスシステム、ネットワークコントローラおよびその制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025001527
(43)【公開日】2025-01-08
(54)【発明の名称】産業用ワイヤレスシステム、ネットワークコントローラおよびその制御方法
(51)【国際特許分類】
   H04W 24/02 20090101AFI20241225BHJP
   H04W 88/18 20090101ALI20241225BHJP
   H04W 24/08 20090101ALI20241225BHJP
【FI】
H04W24/02
H04W88/18
H04W24/08
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023101160
(22)【出願日】2023-06-20
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】芦谷 遼太郎
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA03
5K067AA34
5K067DD28
5K067DD43
5K067EE02
5K067EE10
5K067EE16
5K067FF23
5K067HH22
(57)【要約】
【課題】産業用ワイヤレスシステムにおけるユーザビリティを向上させる。
【解決手段】ネットワークコントローラは、複数の無線ノードのそれぞれの通信状態を示す状態情報を収集し、状態情報に基づき複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態とのいずれかであるかを視覚的に表すワイヤレスネットワークマップを表示装置に表示させる。ネットワークコントローラは、通信状態が、複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定し、対応策の候補を表示装置に表示させる。
【選択図】図59
【特許請求の範囲】
【請求項1】
親機として動作するネットワークコントローラと、
各々が産業機器と有線接続されるポートを有し、前記ネットワークコントローラにより管理され、子機として動作する複数の無線ノードと、
を有し、前記ネットワークコントローラから提供される前記複数の無線ノードについての通信状態を表示装置に表示させる産業用ワイヤレスシステムであって、
前記複数の無線ノードのそれぞれの通信状態を示す状態情報を収集する収集部と、
前記収集部により収集された状態情報に基づき前記複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態とのいずれかであるかを視覚的に表すワイヤレスネットワークマップを前記表示装置に表示させるマップ表示処理部と、
前記通信状態が、前記複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定する選定部と、
前記選定部により選定された前記対応策の候補を前記表示装置に表示させる候補表示処理部と、
を有する、産業用ワイヤレスシステム。
【請求項2】
前記複数の非正常状態は、少なくとも、前記複数の無線ノードのうちいずれかの無線ノードについて通信リンクが切断された第1の非正常状態と、前記無線ノードのうちいずれか無線ノードの電波受信強度が所定の閾値を下回った第2の非正常状態と、を含み、
前記候補表示処理部は、
前記通信状態が前記第1の非正常状態である場合、当該第1の非正常状態を緩和または解消するための第1の対応策の候補を前記表示装置に表示させ、
前記通信状態が前記第2の非正常状態である場合、当該第2の非正常状態を緩和または解消するための第2の対応策の候補を前記表示装置に表示させる、
請求項1に記載の産業用ワイヤレスシステム。
【請求項3】
前記第1の対応策の候補は、
前記第1の非正常状態にある無線ノードの電源スイッチがオンになっていることを確認することと、
前記第1の非正常状態にある無線ノードと他の無線ノードとの間の距離を確認することと、
前記第1の非正常状態にある無線ノードと前記他の無線ノードとの間の見通し線を確認することと、
前記第1の非正常状態にある無線ノードの周囲に存在する無線機器との電波干渉をチェックすることと、
当該無線ノードのチャンネルを変更することと、
のうちの少なくとも一方を含む、請求項2に記載の産業用ワイヤレスシステム。
【請求項4】
前記第2の対応策の候補は、
前記第2の非正常状態にある第1の無線ノードと、当該第1の無線ノードと通信している他の第2の無線ノードとの間の距離を短くすることと、
前記第1の無線ノードと、前記第2の無線ノードとの間に、第三の無線ノードを追加することと、
前記第1の無線ノードと、前記第2の無線ノードとの間に見通し線が確保されるように、前記第1の無線ノードと、前記第2の無線ノードとのうちの少なくとも一方を移動させるか、前記第1の無線ノードと、前記第2の無線ノードとの間に存在する障害物を移動させることと、
のうちの少なくとも一方を含む、請求項2に記載の産業用ワイヤレスシステム。
【請求項5】
前記通信状態が、前記第1の非正常状態で、かつ、前記第2の非正常状態である場合、前記候補表示処理部は、前記第1の対応策の候補を前記第2の対応策の候補よりも優先的に表示する、請求項2に記載の産業用ワイヤレスシステム。
【請求項6】
前記複数の無線ノードのそれぞれは、表示灯と、前記表示灯の表示態様を制御する制御部と、をさらに有し、
前記複数の無線ノードのうちいずれかの無線ノードの前記通信状態がいずれかの非正常状態である場合、前記候補表示処理部は、当該無線ノードについて当該非正常状態を緩和または解消するための対応策の候補を前記表示装置に表示させ、前記制御部は、当該非正常状態にある当該無線ノードの前記表示灯の表示態様を変更する、請求項1に記載の産業用ワイヤレスシステム。
【請求項7】
前記複数の非正常状態は、
前記複数の無線ノードのうちのいずれかの無線ノードの通信が相対的に重度の障害を起こしうるエラー状態と、
前記複数の無線ノードのうちのいずれかの無線ノードの通信が相対的に軽度の障害を起こしうる警告状態と、
を含み、
前記複数の無線ノードのうちのいずれかの無線ノードの通信状態が前記警告状態にある場合、前記候補表示処理部は、当該警告状態を緩和または解消するための対応策を前記表示装置に表示させる、請求項6に記載の産業用ワイヤレスシステム。
【請求項8】
前記エラー状態は、前記無線ノードの通信リンクが切断された状態であり、
前記警告状態は、前記無線ノードの前記通信リンクは維持されているが、当該無線ノードにより受信された電波の受信強度が閾値よりも低下した状態である、
請求項7に記載の産業用ワイヤレスシステム。
【請求項9】
前記ネットワークコントローラは、
前記複数の無線ノードのうち注目無線ノードに対して問い合わせ信号を送信し、当該当合わせ信号に対する応答信号が受信されたかどうかに応じて、前記注目無線ノードの前記通信リンクが切断されているかどうかを監視する監視部をさらに有する、請求項8に記載の産業用ワイヤレスシステム。
【請求項10】
前記通信状態が前記エラー状態である場合、前記表示装置と前記表示灯との両方がユーザに対する報知を実行し、
前記通信状態が前記警告状態である場合、前記表示装置がユーザに対する報知を実行し、前記表示灯はユーザに対する報知を実行しない、
請求項7に記載の産業用ワイヤレスシステム。
【請求項11】
前記ワイヤレスネットワークマップは、
前記複数の無線ノードのそれぞれを視覚的に表すノードオブジェクトと、
前記複数の無線ノードについての通信状態を視覚的に表すラインオブジェクトと
を含み、
前記マップ表示処理部は、前記複数の無線ノードのうち、いずれかの無線ノードの通信状態が変化すると、前記いずれかの無線ノードに対応する前記ノードオブジェクトまたは前記ラインオブジェクトの少なくとも一方の表示態様を変更する、請求項1に記載の産業用ワイヤレスシステム。
【請求項12】
前記マップ表示処理部は、複数の産業機器のレイアウトを視覚的に表すレイアウト図と、前記ワイヤレスネットワークマップとを対応付けて前記表示装置に表示させる、請求項1に記載の産業用ワイヤレスシステム。
【請求項13】
前記マップ表示処理部は、
前記レイアウト図に対して前記ワイヤレスネットワークマップを透過させて、または、
前記ワイヤレスネットワークマップに対して前記レイアウト図を透過させて、前記表示装置に表示させる、請求項12に記載の産業用ワイヤレスシステム。
【請求項14】
前記ネットワークコントローラは、Webサーバを有し、
前記マップ表示処理部は、前記Webサーバを介して、前記表示装置で動作しているWebブラウザに、前記ワイヤレスネットワークマップを表示させる、請求項1に記載の産業用ワイヤレスシステム。
【請求項15】
親機として動作するネットワークコントローラと、各々が産業機器と有線接続されるポートを有し、前記ネットワークコントローラにより管理され、子機として動作する複数の無線ノードと、を有し、前記ネットワークコントローラから提供される前記複数の無線ノードについての通信状態を表示装置に表示させる産業用ワイヤレスシステムにおける、前記ネットワークコントローラであって、
前記複数の無線ノードのそれぞれの通信状態を示す状態情報を収集する収集部と、
前記収集部により収集された状態情報に基づき前記複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態とのいずれかであるかを視覚的に表すワイヤレスネットワークマップを前記表示装置に表示させるマップ表示処理部と、
前記通信状態が、前記複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定する選定部と、
前記選定部により選定された前記対応策の候補を前記表示装置に表示させる候補表示処理部と、
を有する、ネットワークコントローラ。
【請求項16】
親機として動作するネットワークコントローラと、
各々が産業機器と有線接続されるポートを有し、前記ネットワークコントローラにより管理され、子機として動作する複数の無線ノードと、
を有し、前記ネットワークコントローラから提供される前記複数の無線ノードについての通信状態を表示装置に表示させる産業用ワイヤレスシステムの制御方法であって、
前記複数の無線ノードのそれぞれの通信状態を示す状態情報を収集する収集工程と、
前記収集工程において収集された状態情報に基づき前記複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態とのいずれかであるかを視覚的に表すワイヤレスネットワークマップを前記表示装置に表示させるマップ表示処理工程と、
前記通信状態が、前記複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定する選定工程と、
前記選定工程において選定された前記対応策の候補を前記表示装置に表示させる候補表示処理工程と、
を有する、産業用ワイヤレスシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業用ワイヤレスシステム、ネットワークコントローラおよびその制御方法に関する。
【背景技術】
【0002】
工場内には工作機械等の複数の産業機器が設置され、複数の産業機器はプログラマブルロジックコントローラ(PLC)によって制御される。複数の産業機器間または複数のPLC間を無線メッシュネットワークで結ぶことで、工場内での産業機器のレイアウトが変更されても、工場内の産業用ネットワークを維持することが可能となる。無線メッシュネットワークでは、複数の無線ノード間のどの区間で無線接続が維持されているか、または、どの区間の無線接続が切断されたかを把握することが困難である。特許文献1によれば、無線メッシュネットワークの視覚表示(視覚的ネットワークマップ)を生成する技術が提案されている。視覚的ネットワークマップには、各無線ノードを示すアイコンと、無線ノード間の通信状況を示すためにアイコン同士を連結する線などが表示される。そして、ある無線ノード間を結ぶ無線リンクが切断されると、その無線リンクに対応する連結線が消去される。また、受信された無線信号の電波強度などのネットワーク性能パラメータも、視覚的ネットワークマップの一部として表示される。さらに、視覚的ネットワークマップには、プラント配置を示すマップが表示されるとともに、アイコンや連結線が重ね合わせて表示される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2009-523363号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に示された発明によれば、無線通信に詳しくないユーザであっても、どの無線ノード間の無線リンクが切断されたかを視覚的に把握できる。しかし、無線通信に詳しくないユーザは、切断された無線リンクを復旧する手法または対策をすぐには思いつかないであろう。したがって、無線通信に詳しくないユーザであっても、無線ノードに生じた障害を容易に解決できるように補助することが求められている。
【0005】
そこで、本発明は、産業用ワイヤレスシステムにおけるユーザビリティを向上させることを目的とする。
【課題を解決するための手段】
【0006】
本発明は、たとえば、
親機として動作するネットワークコントローラと、
各々が産業機器と有線接続されるポートを有し、前記ネットワークコントローラにより管理され、子機として動作する複数の無線ノードと、
を有し、前記ネットワークコントローラから提供される前記複数の無線ノードについての通信状態を表示装置に表示させる産業用ワイヤレスシステムであって、
前記複数の無線ノードのそれぞれの通信状態を示す状態情報を収集する収集部と、
前記収集部により収集された状態情報に基づき前記複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態とのいずれかであるかを視覚的に表すワイヤレスネットワークマップを前記表示装置に表示させるマップ表示処理部と、
前記通信状態が、前記複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定する選定部と、
前記選定部により選定された前記対応策の候補を前記表示装置に表示させる候補表示処理部と、
を有する、産業用ワイヤレスシステムを提供する。
【発明の効果】
【0007】
本発明によれば、産業用ワイヤレスシステムにおけるユーザビリティが向上する。
【図面の簡単な説明】
【0008】
図1】PLCシステムを説明する図
図2】PCのハードウエアを説明する図
図3】PLCのハードウエアを説明する図
図4】PCのCPUにより実現される機能を説明する図
図5】PLCのCPUにより実現される機能を説明する図
図6】ユーザインタフェースを説明する図
図7】ユーザインタフェースを説明する図
図8】通知ダイアログを説明する図
図9】分析レポートを説明する図
図10】分析レポートを説明する図
図11】ユーザインタフェースを説明する図
図12】分析レポートを説明する図
図13】産業用ワイヤレスシステムにおける親機の接続位置を説明する図
図14】産業用ワイヤレスシステムを説明する図
図15】親機のハードウエアを説明する図
図16】親機の機能を説明する図
図17】子機のハードウエアを説明する図
図18】子機の機能を説明する図
図19】親機の設定方法を説明する図
図20】親機の設定方法を説明するフローチャート
図21】設定画面を説明する図
図22】親機に有線子機が接続されたことを説明する図
図23】有線子機の登録方法を説明するフローチャート
図24】子機の動作を説明するフローチャート
図25】有線子機が産業用無線ネットワークを構築した状態を示す図
図26】無線子機が接続される前の状態を示す図
図27】子機追加用の無線ネットワークを構築することを説明する図
図28】無線子機が追加されたことを説明する図
図29】複数の無線子機が一括して追加される例を説明する図
図30】複数の無線子機が一括して追加される例を説明する図
図31】複数の無線子機が子機追加用の無線ネットワークを構築したことを説明する図
図32】有線子機が子機追加用の無線ネットワークに参加したことを説明する図
図33】複数の無線子機が産業用無線ネットワークに参加したことを説明する図
図34】親機の動作を説明するフローチャート
図35】追加画面を説明する図
図36】追加画面を説明する図
図37】既存子機の動作を説明する図
図38】子機の動作を説明する図
図39】強調点灯を説明するフローチャート
図40】追加処理に関する信号シーケンスを示す図
図41】有線子機を含めた複数の子機の一括登録を説明する図
図42】追加用無線ネットワークを構築したことを説明する図
図43】産業用無線ネットワークを構築したことを説明する図
図44】追加処理に関する信号シーケンスを示す図
図45】親機の動作を説明するフローチャート
図46】設定変更処理を説明するフローチャート
図47】削除画面を説明する図
図48】親機における削除処理を説明するフローチャート
図49】子機における削除処理作を説明するフローチャート
図50】産業用無線ネットワーク上に構築されるPLCリンクを説明する図
図51】点灯色の違いによるメッシュクラスタの識別方法を示す図
図52】通信相手を表示灯により指し示す方法を説明する図
図53】通信相手を表示灯により指し示す方法を説明する図
図54】直接波通信と間接波通信とを説明する図
図55】ネットワークカメラを利用したレイアウトマップの作成方法を説明する図
図56】親機の機能を説明する図
図57】子機の機能を説明する図
図58】子機の動作を示すフローチャート
図59】親機の動作を示すフローチャート
図60】ワイヤレスマップを表示するためのUIを示す図
図61】ワイヤレスマップを表示するためのUIを示す図
図62】ワイヤレスマップを表示するためのUIを示す図
図63】サジェストダイアログを説明する図
図64】ワイヤレスマップを表示するためのUIを示す図
図65】ワイヤレスマップを表示するためのUIを示す図
図66】ワイヤレスマップを表示するためのUIを示す図
図67】サジェストダイアログを説明する図
図68】ワイヤレスマップを表示するためのUIを示す図
図69】サジェストダイアログを説明する図
図70】サジェストダイアログを説明する図
図71】ワイヤレスマップを編集するためのUIを示す図
図72】ワイヤレスマップを編集するためのUIを示す図
図73】ワイヤレスマップを編集するためのUIを示す図
図74】ワイヤレスマップを編集するためのUIを示す図
図75】ワイヤレスマップを表示するためのUIを示す図
図76】ワイヤレスマップを表示するためのUIを示す図
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0010】
プログラマブルロジックコントローラ(PLC)はファクトリーオートメーションにおいて製造機器や搬送装置、検査装置などの産業機械を制御するコントローラである。PLCはプログラマーによって作成されるラダープログラムなどのユーザプログラムを実行することで様々な拡張ユニットや被制御機器を制御する。PLCの動作を監視するために、PLCが保持しているデータを収集して、PLCの外部に接続されたコンピュータ(PC)やHMI(ヒューマンインタフェース:表示装置)でデータをモニタすることが提案されている(特開2019-016325号公報)。
【0011】
ところで、ユーザはプログラム作成支援装置でユーザプログラムを作成し、PLCに転送する。PLCはユーザプログラムを実際に実行することで、様々な製品を製造したりする。ここで、ユーザプログラムを作成したときには想定していなかったような稀なイベントが発生することで、製造ラインがストップしてしまうことがある。製造ラインがストップしてしまうことはないものの、注意が必要なイベントが発生することもある。その一方で、PLCは、所定のイベントが発生すると、その発生時刻の前後において収集されたデバイス値をバッファから読み出して記録する。これは、運転記録(稼働ログ)と呼ばれてもよい。データ活用ユニットが、この記録を分析して分析レポートを作成し、PLCの外部にあるWebブラウザに提供してもよいだろう。ここで、分析レポートともに稼働ログを再生できれば、ユーザは、分析レポートの内容を理解しやすくなるだけでなく、所定のイベントが発生した原因を突き止めやすくなるであろう。したがって、分析レポートと、稼働ログとは紐づけられている必要があろう。仮に、分析レポートと稼働ログとが紐づけられていなければ、ユーザが、分析レポートに対応する稼働ログを特定することは、困難になろう。そこで、以下の複数の実施形態のうちの一部の実施形態は、PLCにおける運転記録と分析結果との関係を適切に保持することを目的とする。
【0012】
<システム構成>
はじめにプログラマブルロジックコントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。
【0013】
図1は本発明の実施の形態によるPLCシステムの一構成例を示す概念図である。図1が示すように、PLCシステムは、ラダープログラムなどのユーザプログラムを編集するPC2と、工場等に設置される各種の産業機械を統括的に制御するPLC1とを備えている。PCはパーソナルコンピュータの略称である。ユーザプログラムは、ラダー言語やSFC(シーケンシャルファンクションチャート)などのフローチャート形式のモーションプログラムなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、基本ユニット3で実行されるユーザプログラムは、ラダープログラムと仮定される。PLC1は、CPUが内蔵された基本ユニット3と、1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。
【0014】
基本ユニット3は、表示部5および操作部6を備えている。表示部5は、基本ユニット3又は基本ユニット3に取り付けられている拡張ユニット4の動作状況などを表示することができる。操作部6に対するユーザによる操作内容に応じて表示部5は表示内容を切り替える。表示部5は、通常、PLC1内のデバイスに格納されている現在値(デバイス値)やPLC1内で生じたエラー情報などを表示する。デバイスとは、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の記憶領域を指す名称(シンボル)であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型がある。ビットデバイスは1ビットのデバイス値を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。
【0015】
拡張ユニット4はPLC1の機能を拡張するために用意されている。拡張ユニット4には、その拡張ユニット4の機能に対応するフィールドデバイス(被制御装置)10が接続されることがあり、これにより、各フィールドデバイス10が拡張ユニット4を介して基本ユニット3に接続される。フィールドデバイス10は、センサやカメラなどの入力機器であってもよいし、アクチュエータなどの出力機器であってもよい。また、一つの拡張ユニット4に対して複数のフィールドデバイスが接続されてもよい。
【0016】
たとえば、拡張ユニット4bはモータ(フィールドデバイス10)を駆動してワークの位置決めする位置決めユニットであってもよいし、カウンタユニットであってもよい。カウンタユニットは手動パルサなどのエンコーダ(フィールドデバイス10)からの信号をカウントする。
【0017】
拡張ユニット4aは、基本ユニット3においてシンボル(デバイス、変数など)からシンボル値を収集し、シンボル値を分析して分析結果を含む分析レポートを作成する。拡張ユニット4aは、分析レポートを外部のPC2へ提供するWebサーバを有していてもよい。基本ユニット3はCPUユニットと呼ばれることもある。本実施形態では、拡張ユニット(分析ユニット)4aがシンボル値を収集する収集部を有する例が説明される。しかし、当該収集部については、基本ユニット3に設けられてもよいし、他の拡張ユニットに設けられてもよい。また、拡張ユニット4aは、収集したデータを基本ユニット3からの指示や所定のタイミングに従って分析を行う分析装置として機能してもよい。本実施形態では、拡張ユニット4aが分析装置として機能する例が説明される。ただし、本発明を限定する意図は存在しない。基本ユニット3が分析装置として機能してもよいし、PC2などの外部装置が分析装置として機能してもよい。PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。
【0018】
PC2は主にプログラマーによって操作されるコンピュータである。PC2はプログラム作成支援装置(監視装置)と呼ばれてもよい。PC2は、たとえば、携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータまたはスマートフォンであって、表示部7および操作部8を備えている外部コンピュータである。外部コンピュータとは、PLC1の外部にあるコンピュータである。PLC1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2を用いて作成される。その作成されたラダープログラムは、PC2内でニモニックコードに変換される。PC2は、たとえば、USB(Universal Serial Bus)ケーブルなどの通信ケーブル9aを介してPLC1の基本ユニット3に接続される。ただし、通信ケーブル9aは、通信ケーブル9bと同様な、ネットワークケーブルなどであってもよい。なお、PC2は、ユーザにより画面設定されるプログラマブル表示器であってもよい。この場合、分析結果等を表示する画面はユーザにより設定されてもよい。プログラマブル表示器がWebブラウザ機能を搭載しており、Webブラウザ機能により分析結果等を表示してもよい。
【0019】
図1は示していないが、PC2の操作部8には、PC2に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、PC2は、USBケーブル以外の他の通信ケーブル9bを介して、PLC1の基本ユニット3または拡張ユニット4aに対して着脱可能に接続されてもよい。通信ケーブル9bは、いわゆるLANケーブルであってもよい。PC2は、通信ケーブル9a、9bを介さず、PLC1の基本ユニット3に対して無線通信によって接続されてもよい。
【0020】
<プログラム作成支援装置>
図2はPC2の電気的構成について説明するためのブロック図である。図2が示すように、PC2は、CPU11、表示部7、操作部8、記憶装置12および通信部13a、13bを備えている。表示部7、操作部8、記憶装置12および通信部13a、13bは、それぞれCPU11に対して電気的に接続されている。記憶装置12はRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。CPUは中央演算処理装置の略称である。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。HDDはハードディスクドライブの略称である。SSDはソリッドステートドライブの略称である。
【0021】
PC2のユーザは記憶装置12に記憶されているプロジェクト編集プログラム14aをCPU11に実行させて、操作部8を通じてプロジェクトデータを編集する。つまり、PC2は、エンジニアリングツールであり、プログラム作成支援装置としても機能する。プロジェクトデータは、一つ以上のユーザープログラム(例:ラダープログラム)と、基本ユニット3や拡張ユニット4の構成情報などを含む。構成情報は、基本ユニット3に対する複数の拡張ユニット4の接続位置や、基本ユニット3に備えられた機能(例:通信機能や位置決め機能)を示す情報、拡張ユニット4の機能(例:撮影機能)などを示す情報、およb、デバイスの割り当て情報などである。ここで、プロジェクトデータの編集には、プロジェクトデータの作成および変更(再編集)が含まれる。ユーザは、必要に応じて記憶装置12に記憶されているプロジェクトデータを読み出し、そのプロジェクトデータを、プロジェクト編集プログラム14aを用いて変更する。通信部13aは、通信ケーブル9aを介して基本ユニット3と通信する。CPU11は通信部13aを介してプロジェクトデータを基本ユニット3に転送する。通信部13aは、USB規格に準拠した通信を実行可能な通信回路などを含む。通信部13bは、通信ケーブル9bを介して拡張ユニット4aと通信する。通信部13bは、ネットワーク通信回路を含む。Webサーバプログラム14cはプロジェクト編集プログラム14aの一部として実装される。Webブラウザプログラム14dは、通信部13aを介して拡張ユニット4aがWeb形式で記述された分析レポートを受信して表示部7に表示する。なお、Webブラウザプログラム14dは、Webサーバプログラム14cに対して、分析レポートを提供するよう要求してもよい。Webサーバプログラム14cは、通信部13aおよび基本ユニット3を介して拡張ユニット4aにアクセスし、分析レポートを取得し、Webブラウザプログラム14dへ転送してもよい。
【0022】
<PLC>
図3はPLC1の電気的構成について説明するためのブロック図である。図3が示すように、基本ユニット3は、CPU31、表示部5、操作部6、記憶装置32および通信部33を備えている。表示部5、操作部6、記憶装置32、および通信部33は、それぞれCPU31に電気的に接続されている。記憶装置32は、RAMやROM、メモリカードなどを含んでもよい。記憶装置32はデバイス部34やプロジェクト記憶部35、リングバッファ36、運転記録記憶部37などの複数の記憶領域を有している。デバイス部34はビットデバイスやワードデバイスなどを有し、各デバイスはデバイス値を記憶する。プロジェクト記憶部35は、PC2から転送されたプロジェクトデータを記憶する。リングバッファ36は、定期的にデバイス部34からデバイス値を収集して記憶する。運転記録記憶部37は、所定のイベントが発生すると、発生時刻の周辺(発生時刻以前、発生時刻以後、または、発生時刻の前後)に収集されたデバイス値とその収集時刻とを含むイベント記録を記憶する。イベントとは、たとえば、デバイスごとに設定された警報条件または注意条件が満たされたことをいう。警報条件とは、たとえば、PLC1による製造ラインの制御動作を停止すべきような条件をいう。注意条件は、たとえば、PLC1による製造ラインの制御動作について管理者が注意すべきようなデバイス値の条件をいう。CPU41は、PC2からの要求に応答してイベント記録をPC2へ送信する。また、CPU31は、リアルタイムでデバイス値をPC2に提供してもよい。記憶装置32は基本ユニット3のCPU31により実行される制御プログラムも記憶する。図3が示すように基本ユニット3と拡張ユニット4とは拡張バスの一種であるユニット内部バス90を介して接続されている。なお、ユニット内部バス90に関する通信機能はCPU31に実装されるが、通信部33の一部として実装されてもよい。通信部33は、USB規格などに準拠したシリアル通信回路を有してもよい。CPU31は通信部33を介してプロジェクトデータをPC2から受信する。なお、上述したリングバッファ36や運転記録記憶部37は、拡張ユニット4a又は4bに設けられてもよい。この場合、基本ユニット3のCPU31は、デバイス部34で定期的に更新されるデバイス値を読み出し、拡張ユニット4a又は4bに設けられたリングバッファに転送してもよい。また、拡張ユニット4a又は4bに運転記録記憶部が設けられている場合、CPU31は、所定のイベントが発生すると、そのリングバッファに収集されたデバイス値を、拡張ユニット4a又は4bに転送して保存するようにしてもよい。このように、CPU31の機能の一部又は全部を、CPU41aやCPU41bが担ってもよい。
【0023】
ここで、ユニット内部バス90について、補足説明する。このユニット内部バス90は、入出力リフレッシュに使用される通信バスである。入出力リフレッシュとは、基本ユニット3と拡張ユニット4との間でデバイス値を更新する処理である。入出力リフレッシュは、ラダープログラムが一回実行されるごとに(つまり、一スキャンごとに)、実行される。
【0024】
運転記録記憶部37に記録される運転記録(デバイス値とその収集時刻など)とは、PLC1の運転状態をスキャンタイムレベルで記録したものであってもよい。たとえば、運転記録は、PLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とを、一スキャン毎に時系列に記録することであってもよい。運転に関わる全てのシンボルとは、たとえばラダープログラム等のユーザプログラムに使用される全てのシンボルであってもよいし、ユーザにより選択されるプログラム単位やユニット単位に含まれるすべてのシンボルであってもよい。この場合、運転記録の対象となるシンボルは、プログラム単位やユニット単位のように、有意な単位で一括して選択されてもよい。運転記録の対象となるシンボルは、個別に加除(追加または削除)されてもよい。たとえば、トラブル発生時に、トラブル発生時刻の周辺においてPLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とが、一スキャン毎に時系列に記録した運転記録が生成されてもよい。ユーザは運転記録に基づきトラブル発生時に何が起きたかを後からでも正確に把握することが可能となろう。運転記録には、その時の状況を再現するために多くの情報が含まれるかもしれない。情報が多いと運転記録のデータ容量が大きくなり、運転記録の取り扱い(データ処理など)が難しくなったり、運転記録の収集に負荷がかかったりする。そのため、収集対象となるシンボルは、プログラム単位やユニット単位でユーザにより選択できるようになっている。
【0025】
また、運転記録には、シンボルに加え、時系列のカメラ画像がその撮像時刻ともに含まれていてもよい。これにより、ユーザは、たとえば、トラブル発生時に、トラブル発生時刻の周辺に遡って何が起きたかを後からでも正確に把握できるようになろう。とりわけ、設備の外観変化を示すカメラ画像が運転記録に含まれていることは、状況を把握することに役立つであろう。そのため、ユーザプログラムの実行の時系列と連動してカメラ画像が記録されてもよい。HMI(ヒューマンマシンインタフェース)やPCなどの外部機器からの書き込み履歴やPLCからの書き込み履歴が変化点イベントとして運転記録に含まれてもよい。これにより、たとえば、トラブル発生前後にどのような変化点イベントがあったかをユーザは時系列で確認できる。
【0026】
別の観点から補足すると、運転記録は、保存トリガ条件の成立に応じて保存された、デバイス、拡張ユニット4のバッファメモリ、変数など、スキャンタイム毎のデータの総称と呼ばれてもよい。運転記録には、保存トリガ条件の成立に応じて保存された、フレームごとに拡張ユニット(カメラユニット)で取得した映像データが含まれてもよい。また、運転記録には、保存トリガ条件の成立に応じて保存された、エラーやデバイス値変更などのイベント履歴が含まれてもよい。さらに、運転記録には、保存トリガ条件の成立時に実行されていたラダープログラム(プロジェクトデータ)が含まれてもよい。運転記録が生成された際のプロジェクトデータを運転記録に含ませることで、プロジェクトデータに複数のバージョンが存在しても、運転記録を生成したときに実際に使用されていたプロジェクトデータにより状況を再現することができる。運転記録には、分析レポートが含まれてもよい。
【0027】
拡張ユニット4はCPU41とメモリ42を備えている。拡張ユニット4bのCPU41bは、デバイスに格納された基本ユニット3からの指示(デバイス値)にしたがってフィールドデバイス10を制御する。また、CPU41bは、フィールドデバイス10の制御結果をバッファメモリとよばれるデバイスに格納する。デバイスに格納された制御結果は入出力リフレッシュによって基本ユニット3に転送される。また、デバイスに格納されている制御結果は、基本ユニット3からの読み出し命令にしたがって、入出力リフレッシュとは異なるタイミングであっても、基本ユニット3に転送されることがある。メモリ42はRAMやROMなどを含む。とりわけ、RAMにはバッファメモリとして使用される記憶領域が確保されている。メモリ42は、フィールドデバイス10によって取得されたデータ(例:静止画データや動画データ)を一時的に保持するバッファを有してもよい。
【0028】
データ活用ユニット(分析ユニット)として機能する拡張ユニット4aのCPU41aは、通信部43と通信ケーブル9bを介してPC2と通信する。通信部43は、ネットワーク通信を実行する通信回路を含む。CPU41aは、メモリ42aに格納されたデータ活用プログラムを実行し、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。CPU41aは、データ活用アプリケーションとして運転記録分析アプリケーションが設定されると、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。たとえば、CPU41aは、運転記録データに含まれるシンボル値を分析することで、非正常シンボルと当該シンボルが非正常となった時刻とを特定し、非正常シンボルと当該シンボルが非正常となった時刻とを対応づけた分析結果を含む分析レポートを作成する。運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための情報を含んでいる。そのため、運転記録データは分析レポートと紐づけて管理されてもよい。また、運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための多くのシンボルのシンボル値を含む。そのため、運転記録データのデータサイズは大きくなりやすい。たとえば、CPU41aは、運転記録データの中から、分析レポートに必要なデータを読み出して、分析レポート用のデータとして運転記録データに追加保存してもよい。ここで、追加保存とは、たとえば、分析レポートに必要なデータを運転記録データから読み出してコピーし、コピーされたデータをタグ付けすることで作成された分析レポート用のデータを、運転記録データに追加保存することをいう。このようにデータをタグ付けしておくなど、データ加工を適用することで、分析レポートを作成しやすくなる。
【0029】
運転記録データにカメラ画像が含まれてもよい。この場合、カメラ画像を再生することにより、ユーザは、運転記録の保存イベント発生時刻周辺の状況をより詳細に把握することができる。分析レポートはカメラ画像を再生するUI(ユーザインターフェース)を含んでもよい。カメラ画像はデータサイズが大きい。そのため、カメラ画像を再生するUIにおいてクリックやスクロール操作を受け付けた時などに、必要なカメラ画像データだけが部分的にダウンロードされてもよい。たとえば、CPU41aは、分析レポートを作成する際、カメラ画像を分析レポートにおける表示順序に対応して加工したり、時刻とカメラ画像の保存位置の対応関係を示すインデックス情報を生成したりしてもよい。これにより、CPU41aは、表示時刻(再生用の内部時計の時刻)に対応したカメラ画像を高速かつ部分的にダウンロードしてもよい。
【0030】
分析レポートは、狭義には、分析結果そのものを意味するが、広義には、分析結果を表示するWebアプリケーションやそのユーザインタフェースを意味することがある。CPU41aは、たとえば、デバイス値が正常範囲内かどうかや、デバイス値が変化するタイミングが正常範囲内かどうかなどを判定する。デバイス値が変化するタイミングが正常範囲内かどうかは、たとえば、デバイス値が"1"(オン)である期間の長さが正常範囲かどうかであってもよい。また、ある工程またはサイクルにおけるデバイス値の変化回数が正常範囲内かどうかが判定されてもよい。あるデバイスから収集されたデバイス値が正常条件を満たしていない場合、そのデバイスは、いつもと違う振る舞いのデバイスであるとして、非正常デバイスと呼ばれてもよい。CPU41aは、Web形式の分析レポートを作成し、通信部43および通信ケーブル9bを介して分析レポートをPC2のWebブラウザに提供してもよい。CPU31がプロトコル変換機能を有している場合、CPU41aは、ユニット内部バス90、CPU31、通信部33および通信ケーブル9aを介して、分析レポートをPC2に送信してもよい。分析レポートは、グラフ表示部品や数値表示部品などを有してもよい。これらの表示部品は、フロントエンドの構造を記述するマークアップデータ(例:HTMLデータ)、装飾を記述するスタイルデータ(例:CSSデータ)および動的な処理を記述するコード(例:JavaScript(登録商標)コード)などにより実現される。HTMLはハイパーテキストマークアップ言語の略称である。CSSはカスケーディングスタイルシートの略称である。
【0031】
図4はPC2のCPU11によって実現される機能を説明する図である。プロジェクト編集部50は、CPU11がプロジェクト編集プログラム14aを実行することで実現される機能である。プロジェクト編集部50は、操作部8を通じて入力されるユーザ指示にしたがってユーザプログラムを含むプロジェクトデータを作成する。Webサーバ51は、HTTP(ハイパーテキストトランスファープロト)にしたがってWebブラウザ60と通信してWebブラウザ60に表示部品を提供する。プロトコル変換部52は、HTTPを所定の通信プロトコルに変換する。所定の通信プロトコルとは、通信部13aと通信部33との間の通信で利用される通信プロトコルである。たとえば、Webブラウザ60がHTTPリクエストにより分析レポートを要求すると、Webサーバ51はHTTPリクエストをプロトコル変換部52に渡す。HTTPリクエストには、CPU41aで実行され、分析レポートを提供する拡張ユニット4a(Webサーバ)のURL(ユニフォームリソースロケータ)が含まれている。プロトコル変換部52は、HTTPリクエストをカプセル化して、所定の通信プロトコルで送信可能な要求信号(コマンド)に変換する。この要求信号は、基本ユニット3のCPU31に渡され、さらに、拡張ユニット4aのCPU41aに渡される。CPU41aは、CPU31を介してCPU11に分析レポートを返信する。CPU11のWebサーバ51は、分析レポートをWebブラウザ60に渡す。これによりWebブラウザ60は表示部7に分析レポートを表示する。
【0032】
ダウンロード部53は、運転記録などを基本ユニット3からダウンロードして記憶装置12に格納する。デバッグ部54は、ユーザプログラムをデバッグし、表示部7にデバッグ結果を表示する。ラダーモニタ部56は、ユーザプログラムに記述されているシンボルに格納される値を運転記録から取得して、ユーザプログラム中のシンボルに対してその値を強調表示する。たとえば、ラダープログラムのラダー図に描画されるデバイスに対して、運転記録から取得されたデバイス値を関係づけて表示してもよい。リレーションマップ部55は、分析レポートにおいて表示される非正常デバイスに関連しているデバイスを示すリレーションマップを作成して表示部7に表示する。非正常デバイスとは、そのデバイス値が正常条件を満たしていないか、または、そのデバイス値の変化するタイミングが正常条件を満たしていないデバイスである。リレーションマップは、たとえば、非正常デバイスに対して影響を与えるデバイス(入力デバイス)と非正常デバイスとの関係を視覚的に示すUIである。リレーションマップは、非正常デバイスから影響を受けるデバイス(出力デバイス)と非正常デバイスとの関係も表示してもよい。デバッグ部54は、非正常デバイスとその関連デバイスとをラダープログラムを分析することで取得し、リレーションマップを作成する。
【0033】
受付部57は、ユーザプログラムに対する編集操作およびデバッグ処理に対する操作などを受け付ける。通知処理部58は、PLC1において通知が発行されているかどうかをポーリングにより取得し、取得した通知を表示部7に表示する。通知としては、たとえば、分析レポートの作成が完了したことなどである。再生部59は、たとえば、受付部57または連携部64から入力される再生要求に応じて、ダウンロード部53に運転記録をダウンロードさせて記憶装置12に保存させる。再生要求には、たとえば、運転記録を特定可能な識別情報(例:固有の識別情報やPLC1における保存パス名)などが含まれていてもよい。再生部59は、記憶装置12に保存されている運転記録を再生して表示部7に表示する。再生部59は、デバッグ部54の代わりに、ラダーモニタ部56を有していてもよい。あるいは、再生部59がデバッグ部54に含まれていてもよい。再生部59は、PLC1からリアルタイムで取得される時系列のデバイス値を波形化して表示したり、運転記録に含まれる時系列のデバイス値を波形化して表示したりしてもよい。
【0034】
Webブラウザ60は、Webアプリケーション61を実行することで分析レポートを表示部7に表示してもよい。Webアプリケーション61は、たとば、HTMLデータ、CSSデータおよびjava(R)スクリプトなどにより構成される。Webアプリケーション61は、拡張ユニット4aから提供されてもよい。通信処理部62は、Webサーバ51との通信を処理する。データ取得部63は、分析レポートに表示すべき運転記録をプロジェクト編集部50から取得する。運転記録は、ダウンロード部53によって記憶装置12にすでに保存されているものとする。連携部64は、分析レポートにおいてユーザにより指定または選択されたデバイスなどを示す指定情報をデバッグ部54などに渡す。これにより、デバッグ部54は、分析レポートにおいて指定された非正常デバイスのリレーションマップを表示したり、ラダープログラムにおいて非正常デバイスが記述されている部分を表示したりすることができる。ユーザは、非正常デバイスに関してラダープログラムを容易に編集することができる。描画部65は分析レポートを表示部7に表示する。また、連携部64は、分析レポートにおける再生時刻(選択時刻)と、プロジェクト編集部50における運転記録の再生時刻とが同期するように時刻管理を実行する。
【0035】
図5はPLC1においてCPU31とCPU41aとが制御プログラムを実行することで実現する機能を示している。CPU31においてコマンド処理部71は、PC2から受信されるコマンドを解釈し、解釈結果に対応した処理を実行する。たとえば、HTTPリクエストをカプセル化して作成された要求信号が受信されると、コマンド処理部71は、要求信号をCPU41aに転送する。要求信号に対する応答信号がCPU41aから受信されると、コマンド処理部71は、応答信号をPC2へ転送する。収集部72は、基本ユニット3や拡張ユニット4bからシンボル値(デバイス値や変数に格納された値)を収集してリングバッファ36に格納する。ロギング部73は、収集されたシンボル値などに基づき、何らかのエラーまたはトラブル(非正常イベント)がPLC1において生じているかどうかを判定する。たとえば、ロギング部73は、収集されたシンボル値が記録条件を満たしているかどうかを判定してもよい。収集されたシンボル値が記録条件を満たしている場合に、ロギング部73は、当該シンボル値を運転記録74内の稼働ログ76として保存する。たとえば、ロギング部73は、運転記録74を格納するためのフォルダを作成し、そこに稼働ログ76を保存する。ロギング部73は、運転記録を作成したときに実行されていたプロジェクトデータ75をプロジェクト記憶部35から読み出して、運転記録74内に保存する。さらに、ロギング部73は、運転記録74を作成したことを分析部83に通知する。
【0036】
なお、CPU31またはCPU41aは、オペレータの入力に従って後述される学習モデルの生成や、分析、分析レポートの生成に利用する制御サイクルを設定するための設定部を有していてもよい。制御サイクルは、サイクルの基準となるタイミングを指定することで設定される。制御サイクルの設定はサイクル設定と呼ばれてもよい。たとえば、サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とを含む。サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの開始タイミングの設定情報と、サイクルの終了タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの終了タイミングの設定情報を含んでいてもよい。設定部による制御サイクルの設定はCSV等のファイル形式でPLC1に提供され、設定部がCSV等のファイルを読み出して制御サイクルを設定してもよい。たとえば、設定部によって設定された制御サイクルは、当該サイクルに同期するデバイスを分類して当該分類情報を属性情報としてモデルへ付加したり、分析対象とするデバイスを制御サイクルによって絞ったり、制御サイクルに同期して表示される分析レポートを生成したりするために用いられる。設定される制御サイクルは複数であってもよい。また、制御サイクルは必ずしも設定される必要はない。たとえば、正常時におけるシンボル値の取り得る値が予め決まっている場合、シンボル値がその予め決まっている取り得る値か否かを判定することで、非正常シンボルかどうかが判定されてもおい。
【0037】
CPU41aにおいてプロトコル変換部81は、PC2からCPU31を介してカプセル化されて転送されてきたHTTPリクエストをプロトコル変換して要求信号からとりだす。プロトコル変換部81は、HTTPリクエストに対してWebサーバ82から送信される応答情報をカプセル化してCPU31に渡す。以下においてもPC2のWebブラウザ60と、拡張ユニット4aのWebサーバ82とは、PC2内のWebサーバ51やプロトコル変換部52、81、コマンド処理部71などを介して間接的に通信することができる。プロトコル変換部52、81は透過的なトンネル(例:TCPトンネル)を提供してもよい。Webサーバ82は、分析部83により作成された分析レポートをPC2へ提供する。分析部83は、運転記録74内の稼働ログ76を分析し、分析結果77を作成して、ロギング部73に渡す。分析部83が分析結果77を作成すると、ロギング部73は、プロジェクトデータ75および稼働ログ76に加えて、分析結果77を含む運転記録74に追加する。運転記録74は、運転記録記憶部37に格納される。このように、運転記録74は、PLC1において異常なイベントが発生したときのプロジェクトデータ75、稼働ログ76および分析結果77が関連付けて記憶されるため、異常なイベントが発生したときのPLC1の状態を正確に再現しやすくなる。たとえば、ラダー図上でデバイス値の変化を視覚的に再現することで、ユーザは、ラダープログラムをデバッグしやすくなるであろう。とりわけ、PC2に保存されているプロジェクトデータを用いると、異常なイベントが発生したときのPLC1の状態を正確に再現することが困難となることがある。PC2に保存されているプロジェクトデータと、異常なイベントが発生したときにPLC1で実行されていたプロジェクトデータ75が一致しないことがあるからである。そこで、異常なイベントが発生したときにPLC1で実行されていたプロジェクトデータ75が運転記録74に保存される。通知発行部84は、分析結果77が発行されると、通知を発行する。この通知は、CPU11に送信される。
【0038】
<ユーザインタフェース(UI)>
図6および図7は表示部7に表示されるプロジェクト編集プログラム14aのUI100を示している(プロジェクト編集プログラム14aを実行することによりUI100が表示部7に表示される)。モード選択メニュー101は、プロジェクト編集プログラム14aが備える複数のモードを選択可能に表示する。複数のモードは、編集モード、モニタモード、リプレイモード(デバッグモード)などを含む。図6に示された編集モードは、プログラム表示領域104に表示されるラダープログラムを編集するモードである。プロジェクト表示領域102は、プロジェクトを構成する情報を表示する。この情報としては、PLC1を構成している基本ユニット3および拡張ユニット4の仕様情報および設定情報、デバイスの割り当て情報、運転記録の設定情報、ラダープログラムなどがある。編集モードにおいて、プログラム表示領域104は、プロジェクト表示領域102において指定されたラダープログラムを編集可能に表示する。図6においては、入力部、出力部および加工部状態と命名されたプログラムモジュールを有するラダープログラムが表示されている。とりわけ、複数のプログラムモジュールはタブ107によって選択可能であり、図6では、入力部に対応するタブ107が選択されている。
【0039】
モニタモードは、PLC1により発行される通知を待ち受けるモードである。拡張ユニット4aが分析結果を作成したことを示す通知を発行すると、CPU11は、通知を表示するためのダイアログなどを表示部7に表示する。モニタモードのユーザインタフェースは、基本的に、編集モードと同様である。
【0040】
図8は通知ダイアログ108を示している。通知ダイアログ108は、通知を発行したアプリケーションまたは機能の名称、通知の内容、通知の発生件数、通知の発生日時などを表示する。通知ダイアログ108を表示するための通知情報には、分析レポートのURLが含まれている。表示ボタン109が押し下げられると、CPU11は、分析レポートのURLをWebブラウザ60に渡す。これにより、Webブラウザ60は、URLで指定されたWebサーバにアクセスして、分析レポートの表示データ(Webアプリケーション61)を取得して、分析レポートを表示する。
【0041】
図7が示すように、リプレイモードは、運転記録をラダープログラム上で再現したり、運転記録を波形として表示したりするモードである。ポインタ103は、操作部8に対するユーザ操作に連動して移動し、ボタンなどを押し下げするために使用されたり、オブジェクトを選択したりするために使用される。たとえば、プロジェクト表示領域102において表示された分析レポートがポインタ103によりダブルクリックされると、CPU11はWebブラウザ60に分析レポートを表示させる。
【0042】
リプレイモードでは、プログラム表示領域104に、運転記録に含まれているデバイス値がラダープログラム上に表示される。リレーデバイス(ビットデバイス)の場合、デバイス値が0であるか、1であるかが視覚的に区別可能に表示される。視覚的に区別可能とは、異なる色による表示や異なるアイコンの表示を含む。ワードデバイスの場合、たとえば、デバイス値が10進化されて表示されてもよい。その他、16進化されたデバイス値など、他の数値表示形式が採用されてもよい。
【0043】
デバイス値は時間とともに変化しうる時系列データであるため、各デバイス値は、収集された時刻を示す時刻情報に紐づけられている。シークバー105aは、デバイス値の再生時刻を示すとともに、再生時刻を指定するためにポインタ103により操作されることがある。運転記録の再現中は、再生時刻の経過に連動して、シークバー105aが左から右へと移動する。時刻指定部106aは、再生時刻を進めたり、再生時刻を戻したり、自動的な再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。
【0044】
[分析レポート]
図9はWebブラウザ60がWebアプリケーション61を実行することで表示部7に表示される分析レポート110を示す。なお、分析レポート110は、プロジェクト編集プログラム14aのUI100と一緒に表示部7に表示される。つまり、UI100のウインドウと、分析レポート110のウインドウとは異なるウインドウとして表示される。ただし、UI100と分析レポート110とが単一のウインドウ内に表示されてもよい。また、分析レポート110は、表示部7に表示されてもよいし、プログラマブル表示器、タブレット、スマートフォンなどの他の表示装置に表示されてもよい。
【0045】
検知マップ111は、PLC1において実行される複数の工程のそれぞれについて開始タイミングと終了タイミングとを表示する。一般に、開始タイミングから終了タイミングまでの期間はサイクルと呼ばれる。図9において、横方向に延びる矩形は、工程が実行中である期間(サイクル)を示している。この矩形は、左が古く、右が新しいことを示す。時刻バー112aは、運転記録データの保存トリガが発生したタイミングを示している。上述したように、運転記録データは、保存トリガが発生したタイミング以前に収集されたデータとこのタイミングより後に収集されたデータとを保持している。そのため、時刻バー112aの前後にデータが示されている。一方で、時刻バー112eは、選択中の時刻を示しており、ユーザのドラッグ操作またはドラッグアンドドロップ操作により、所望の時刻(左右)に移動できるようになっている。ドラッグアンドドロップではなく、ユーザが検知マップの所望位置をクリックすると、その所望位置に時刻バー112eがジャンプするようにしても構わない。このようにして、ユーザは、時刻バー112eを操作することにより、分析結果の表示を更新することができる。時刻バー112eの操作に従って、後述する、検知リスト114、画像表示領域113、および、分析コメント116の少なくとも1つまたは全部を連動して更新させ(時刻同期させ)、対応する分析結果が表示されてもよい。なお、時刻バー112a、112eは、それぞれ異なる色で描画されてもよいし、実線と破線とで描画されたりしてもよい。これにより、時刻バー112a、112eの識別力が向上する。
【0046】
ここで、検知マップ111の工程1の中に丸印が2つ記載されているが、これは、検知対象デバイスがいつもと異なる状態になったタイミングを示している。左側の丸印は、デバイスR001とMR001がいつもと異なる状態になったタイミング(いずれも14:50:45)を示す。右側の丸印は、デバイスR004がいつもと異なる状態になったタイミング(14:59:01)を示す。図9は、検知リスト114においてユーザがR004のデバイス欄を選択した状態を示しており、検知マップ111の時刻バー112eは右側の丸印と重なる位置に表示されている。
【0047】
検知マップ111の時刻バー112eの表示位置は、検知リスト114におけるユーザのデバイス選択に連動している。図9に示す状態において、MR001のデバイス欄が選択(クリック)されると、図10が示すように、MR001が強調表示されるとともに、検知マップ111の時刻バー112eが2つの丸印のうち左側の丸印と重なる位置に移動する(R001のデバイス欄を選択したときも同様である)。また、時刻バー112eの移動に応じて、検知リストの時刻バー112fも1つ上に移動(連動)する。
【0048】
いつもと異なる状態とは、たとえば、デバイス値が正常範囲を逸脱したり、デバイス値が変化するタイミングまたは回数が正常範囲を外れたりすることである。製品の製造工場では、日々、同一の製品が大量生産される。つまり、同一の工程が何度も繰り返し実行される。そのため、いつもと異なる状態を検知して表示することは、ラダープログラムを改良したり、生産設備を見直したりするうえで、非常に役に立つ。いつもと同様の状態(正常状態)を定義する正常範囲(正常条件)は、マスターデータにより定義されてもよいし、デバイス値の学習結果により定義されてもよい。検知マップ111において、工程を示す矩形は、時間の経過にしたがって右から左に移動する(上述したように、時刻は、左が古く、右が新しい)。
【0049】
画像表示領域113は、PLC1において取得されたカメラ画像を表示する。カメラ画像も運転記録に含まれていてもよい。図9では、マスターデータのカメラ画像と、今回のカメラ画像とが対比可能に表示されている。カメラ画像も時系列データであるため、シークバー105bは、カメラ画像の再生時刻を示し、再生時刻の経過にしたがって左から右に移動する。時刻バー112bは、選択中の時刻を示しており、図9では、検知対象デバイスR004がいつもと異なる状態になったタイミングを示している。時刻指定部106bは、カメラ画像の再生時刻を進めたり、再生時刻を戻したり、再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。なお、連携部64および再生部59は、検知マップ111の再生時刻、カメラ画像の再生時刻、および、UI100における再生時刻が同期するように管理している。これにより、UI100における再生時刻と、分析レポート110における再生時刻とが一致する。
【0050】
検知リスト114は、いつもと異なる状態になったデバイスと、その状態が発生した時刻(デバイス値の収集時刻)とを示す。CPU11は、検知リスト114に表示されたデバイスに対するクリックを検知すると、プロジェクト編集部50の動作モードをリプレイモードへ切り替えてもよい。CPU11は、クリックされたデバイスの識別情報と、再生時刻情報(デバイス値の収集時刻)と、分析対象となった運転記録を特定する情報(保存パス等)をデバッグ部54に渡す。これにより、分析対象となった運転記録を用いてリプレイモードに移行し、その際に分析レポート110の再生時刻と、プロジェクト編集部50の再生時刻情報が同期する。その結果、図7が示すように、運転記録74がラダープログラムと関連して再生される。なお、図7は、図9の検知リスト114においてデバイスR004が選択された状態で、UI100のリプレイモードを起動したときの表示画面に相当する。図7のシークバー105aは、デバイスR004がいつもと異なる状態になった時刻(14:59:01)を示している。また、プログラム表示領域104では、この時刻(14:59:01)における各デバイスの状態が視覚的に区別可能に表示される。なお、分析レポート110が表示される前に、すでにプロジェクト編集部50がリプレイモードで動作していてもよい。この場合、分析レポート110において、非正常デバイスが選択されると、CPU11は、非正常状態(いつもと異なるイベント)が発生した時刻をプロジェクト編集部50に渡し、プロジェクト編集部50は、当該時刻に同期したデバイス値を記憶装置12から読み出して、ラダープログラム上でデバイス値を表示してもよい。
【0051】
図9において、時刻バー112cは、運転記録データの保存トリガが発生したタイミング(14:59:06)を示している。また、時刻バー112fは、上述したように、検知マップ111の時刻バー112eが示す時刻と連動している。たとえば、時刻バー112eを左側の丸印よりも左方に移動させると、検知リスト114において時刻バー112fはR001のデバイス欄の上端線と重なる位置に移動する。
【0052】
ここで、図10および図11は、分析レポート110(図9)とプロジェクト編集プログラム14aのUI100(図7)とが連動する様子を説明するための説明図である。上述したように、図7は、図9の検知リスト114においてデバイスR004が選択された状態で、UI100のリプレイモードを起動したときの表示画面に相当する。
【0053】
図10が示すように、ユーザが検知リスト114の中でMR001を選択(クリック)すると、検知マップ111において時刻バー112eが連動して移動する。時刻バー112eの移動に伴って、時刻バー112fも1つ上に移動する。また、時刻バー112eの移動に伴って、画像表示領域113における時刻バー112bも左へ移動(連動表示)する。さらに、後述する分析コメント116も、MR001の選択に伴って表示が切り替わる。詳細は後述する。
【0054】
一方、図11が示すように、シークバー105aは、図7よりも少し左(時間的に前)に移動する。このとき、シークバー105aは、デバイスMR001がいつもと異なる状態になった時刻(14:50:45)を示すようになる。このように、連携部64によって、分析レポート110の時刻バー112eや時刻バー112fによって特定される時刻と、運転記録の再生時刻(シークバー105aによって特定される時刻)とは、同期して表示されることになる。
【0055】
なお、図10および図11では、予めプロジェクト編集プログラム14aのUI100を起動した状態での連動表示について説明されているが、たとえば、先に分析レポート110の検知リスト114においてMR001のデバイス欄を選択した状態で、UI100を起動した場合には、図10および図11に示す変化後の状態でUI100が起動される。
【0056】
また、図10では、ユーザは検知リスト114の中からデバイスを1つ選択しているが、複数のデバイスが選択されてもよい。この場合、最上位のデバイス(時間的に一番古いデバイス)を選択したときと同様の処理が行われる。すなわち、たとえばMR001とR004の両方を選択した状態で、UI100のリプレイモードが起動されると、図11に示す変化後の状態でUI100が起動される。本明細書でいう時刻の同期再生には、時刻バー112fによって特定される時刻インデックスと、運転記録の再生時刻インデックスとの同期再生を含む概念である。つまり、時刻そのものでなくても、時刻を表すインデックス同士を同期再生しても構わない。
【0057】
図12が示すように、CPU11は、非正常デバイスの名称と、そのデバイスコメント115をプロジェクトデータから読み出して検知リスト114に表示してもよい。デバイスコメント115はデバイスの用途などを示す。よって、ユーザは、非正常デバイスの用途などを容易に理解できるであろう。
【0058】
分析コメント116は、分析結果に含まれるコメントと、検知リスト114で選択されたデバイスについての、マスターデータと、今回のデバイス値の時系列データとを表示する。分析コメント116に表示されるデータは、1制御サイクル分のデータである。時刻バー112dは、いつもと異なる状態が発生したタイミングを示す。
【0059】
図9および図12では、デバイスR004のデバイスについて、いつもと異なる状態が発生した1制御サイクル分のデータを示している。より具体的には、マスターデータでは、1制御サイクルにおいて、オフ→オン、オン→オフという2回の変化が発生するのに対し、今回のデータでは、変化が全く発生していない。そこで、いつもと異なる状態、すなわち、オフ→オンとなったタイミングに、時刻バー112dが表示されている。
【0060】
ここで、図9および図12が示す分析コメント116において、ユーザが検知リスト114の中でMR001を選択(クリック)すると、図10に示される表示に切り替わる。図10では、MR001のデバイスにおいて、いつもと異なる状態が発生した様子を示している。なお、本実施形態では、時刻バー112e、112b、112fの各々は、いずれも同一のタイミングを示している。
【0061】
<他のPLC等からのデータ収集>
上述の実施形態では、PLC1に接続されたフィールドデバイス10からデータが収集されてそのデータが分析されている。しかし、これは一例にすぎない。PLC1は、ネットワークを介して接続された他のPLCやフィールドデバイス等からデータを収集して分析してもよい。そのためには、PLC1は他のPLC1などデータの収集対象となる装置(以下、ターゲット装置)と産業用ネットワークを介して通信できなければならない。
【0062】
図13は、PLC1を産業用無線ネットワークと接続するために必要となるネットワーク機器を示す。産業用ワイヤレスシステム200は、たとえば、PLC1、親機201および産業用無線ネットワーク204(図14)を含む。
【0063】
親機201は、複数の無線子機の設定等を管理する管理装置である。親機201は、WANポート(LANポート38d)と、LANポート38e~38hを有している。
【0064】
LANポート38dは、インターネットやイントラネットなどの上位ネットワークと接続するためのイーサネット(登録商標)ポートである。LANポート38e~38hは、産業用ネットワークを形成する複数の無線子機のうち少なくとも一つの無線子機と接続するためのイーサネット(登録商標)ポートである。この例では、LANポート38eが基本ユニット3のLANポート38aに接続されている。
【0065】
拡張ユニット4cは、基本ユニット3に接続可能なネットワーク機器の台数を増やすための拡張ユニットである。拡張ユニット4cは、複数のLANポート38b、38cを有しており、イーサネット(登録商標)ユニットと呼ばれることがある。これにより、基本ユニット3は、三つのLANポート38a、38b、38cを有することになる。LANポート38b、38cは、たとえば、親機201と接続されてもよいし、基幹サーバ(例:リレーショナルデータベースサーバ、Webサーバ、FTPサーバ)や表示器(PLC1のデバイス値を表示するモニタ装置)と接続されてもよい。
【0066】
図14は、親機201に接続される産業用無線ネットワーク204を示している。PLC1と親機201とはシールドされたケースである制御盤208に収容されている。
【0067】
子機202(子機202a~202f)は無線子機の一例である。子機202a~202fはそれぞれ同一のネットワーク機器であるが、ネットワークトポロジーにおける接続位置と、親機201により設定される内容と、に応じて産業用無線ネットワーク204における役割が異なることがある。子機202a~202fは無線ノードと呼ばれてもよい。
【0068】
子機202aは、ネットワークケーブルを介して親機201のLANポート38eに接続されている。子機202aは、ネットワークケーブルを介してターゲット装置203a(例:他のPLC1、フィールドデバイス、その他)と接続し、ターゲット装置203aの稼働データをPLC1へ転送する。なお、ターゲット装置203aとして、例えば、FA現場で使用される装置(流量計や加工装置など)の電力を計測するための電力計であってもよい。この場合、電力計からPLC1へ転送される稼働データとしては、例えば、積算有効電力量、電流、電圧、力率、周波数、積算無効電力量などのデータが挙げられる。また、PLC1の一部としてイーサネット対応通信ユニットを設け、子機202a~202fのいずれかに有線接続された電力計から、産業用無線ネットワーク204を介してイーサネット対応通信ユニットに、各種稼働データが転送されてもよい。子機202aにターゲット装置203aが接続されることは必須ではない。さらに、子機202aは、一つ以上の他の子機202b、202dと無線通信することができる。子機202aは、PLC1からの要求(転送要求を含む)を親機201を介して受信すると、その要求にしたがって動作したり、要求を他の子機202b~202fに転送したり、他の子機202b~202fからの応答を親機201を通じてPLC1へ転送したりする。
【0069】
子機202bは、子機202aおよび子機202cと無線通信を実行するとともに、ターゲット装置203bと有線通信を実行するネットワーク機器である。ターゲット装置203bは、接続されていなくてもよい。子機202bは、子機202aおよび子機202cとの間において通信信号を中継したり、ターゲット装置203bの稼働データを子機202aおよび親機201を介してPLC1に転送したりする。また、子機202bは、PLC1からの要求を親機201を介して受信すると、その要求にしたがって動作したり、要求を他の子機202cに転送したり、他の子機202cからの応答を親機201を通じてPLC1へ転送したりする。
【0070】
子機202cは、子機202bと無線通信を実行するとともに、ターゲット装置203cと有線通信を実行するネットワーク機器である。ターゲット装置203cは、接続されていなくてもよい。子機202cは、ターゲット装置203cの稼働データを子機202b、子機202aおよび親機201を介してPLC1に転送する。また、子機202cは、PLC1からの要求を親機201および子機202a、202bを介して受信すると、その要求にしたがって動作したり、当該要求に対する応答を作成し、子機202a、202bおよび親機201を通じてPLC1へ転送したりする。
【0071】
子機202dは、子機202a、子機202e、および子機202fと無線通信を実行するネットワーク機器である。子機202dにもターゲット装置が接続されてもよい。子機202dは、子機202aおよび子機202eとの間において通信信号を中継したり、子機202aおよび子機202fとの間において通信信号を中継したりする。また、子機202dは、親機201および子機202aを介してPLC1からの要求を受信すると、その要求にしたがって動作したり、その要求を他の子機202e、202fに転送したり、他の子機202e、202fからの応答を親機201を通じてPLC1へ転送したりする。
【0072】
子機202eは、子機202dと無線通信を実行するとともに、ターゲット装置203eと有線通信を実行するネットワーク機器である。ターゲット装置203eは、接続されていなくてもよい。子機202eは、ターゲット装置203eの稼働データを子機202d、子機202aおよび親機201を介してPLC1に転送する。また、子機202eは、PLC1からの要求を親機201および子機202a、202dを介して受信すると、その要求にしたがって動作したり、当該要求に対する応答を作成し、子機202a、202dおよび親機201を通じてPLC1へ転送したりする。
【0073】
子機202fは、子機202dと無線通信を実行するとともに、ターゲット装置203fと有線通信を実行するネットワーク機器である。ターゲット装置203fは、接続されていなくてもよい。子機202fは、ターゲット装置203fの稼働データを子機202d、子機202aおよび親機201を介してPLC1に転送する。また、子機202fは、PLC1からの要求を親機201および子機202a、202dを介して受信すると、その要求にしたがって動作したり、当該要求に対する応答を作成し、子機202a、202dおよび親機201を通じてPLC1へ転送したりする。
【0074】
このように、産業用無線ネットワーク204を構築することで、PLC1は、自己に接続された拡張ユニット4やフィールドデバイス10から稼働データを収集するだけでなく、産業用無線ネットワーク204を介して接続された他のPLC1を含めたターゲット装置から稼働データを収集することができる。
【0075】
なお、子機202a~202fは、それぞれ他のPC2と接続し、他のPC2とPLC1との間の通信を中継してもよい。他のPC2は、PLC1の稼働データを表示する簡易な表示器(簡易モニタ)として機能してもよい。ここで、産業用無線ネットワーク204は、無線メッシュネットワークであってもよい。一般に、無線メッシュネットワークとは、複数の子機202a~202fが互いに無線通信によって接続され、パケットをマルチホップ転送するネットワークのことである。別の言い方をすれば、隣接する通信可能な子機同士を無線接続することで、ネットワーク全体で網の目状のトポロジーが形成されたネットワークであり、一又は複数の子機に亘ってバケツリレー式にパケットが転送される。無線メッシュネットワークは、特定の経路で通信不能になっても代替経路に切り替えることができるため、他の無線ネットワークと比較して通信障害に強い、という特徴がある。以下、図14を用いて補足する。
【0076】
図14において、子機202a~202fは、例えば「宛先テーブル」と「ネクストホップテーブル」を記憶していてもよい。「宛先テーブル」は、親機201及びターゲット装置203a~203f(のMACアドレス)などの宛先端末に対し、それぞれ有線接続されている無線ノード(子機202a~202f)が対応付けられたテーブルである。親機201は、無線メッシュネットワークを構築する際、例えば、ブロードキャストパケットを送信することにより、無線メッシュネットワークに含まれる全てのターゲット装置203a~203fの存在(MACアドレス等)を把握し、ターゲット装置203a~203fに有線接続されている無線ノードの情報を子機202a~202fに配布する。なお、特定のターゲット装置に対して初めて通信するタイミングでブロードキャストパケットを送信することで、「宛先テーブル」を更新するようにしてもよい。
【0077】
「ネクストホップテーブル」は、子機202a~202fの各々が個別に記憶しているテーブルであって、次にパケットを近くのどの子機に転送するか(すなわち、パケットの次の転送先)を定めたテーブルである。親機201は、産業用無線ネットワーク204を構築する際、パケット転送経路(例えばツリー形状)と、その経路を想定したネクストホップテーブルを決定するとともに、子機202a~202f用のネクストホップテーブルを決定し、各子機に配布する。例えば、子機202eが記憶するネクストホップテーブルには、宛先ノードを「子機202a」に設定されたパケットの次の転送先は「子機202d」である、といった情報が含まれている。
【0078】
なお、本実施形態では、パケット転送経路やネクストホップテーブルを決定する機能を親機201に持たせているが、例えば、親機201に有線接続された子機202aに持たせてもよい。換言すれば、子機202aは、親機201に有線接続されない場合は、他の子機202b~202fと同様の機能を持つ一方で、親機201に有線接続された場合は、他の子機202b~202fとは異なる機能(例えば、上述したパケット転送経路やネクストホップテーブルを決定する機能)が発揮されるようにしてもよい。例えば、親機201に有線接続された子機202aでのみ、上述したパケット転送経路やネクストホップテーブルを決定する機能を発揮するために、特定のプログラムが実行されるようにしてもよい。
【0079】
パケット転送の一例について説明する。ターゲット装置203eから親機201へのパケット転送を考えたとき、まず、ターゲット装置203eは、自身に有線接続されている子機202eにパケットを転送する。子機202eは、宛先テーブルを参照し、親機201に有線接続されている子機202aにパケットを届ければよいことを認識する。次に、子機202eは、ネクストホップテーブルを参照し、子機202aにパケットを届けるためには、次の転送先として子機202dにパケットを送ればよいことを認識する。そして、子機202eは、次のパケット転送先である子機202dにパケットを転送する。以降、子機202dにおいても同様の処理を繰り返し、パケットが子機202aに到着する。子機202aは、宛先テーブルを参照し、親機201宛てのパケットが自身に到着していることを認識し、そのパケットを有線接続された親機201に転送する。このようにして、バケツリレーの方式でパケットが転送されていく。
【0080】
パケット転送の他の例について説明する。ターゲット装置203eからターゲット装置203fへのパケット転送を考えたとき、まず、ターゲット装置203eは、自身に有線接続されている子機202eにパケットを転送する。子機202eは、宛先テーブルを参照し、ターゲット装置203fに有線接続されている子機202fにパケットを届ければよいことを認識する。次に、子機202eは、ネクストホップテーブルを参照し、子機202fにパケットを届けるためには、次の転送先として子機202dにパケットを送ればよいことを認識する。そして、子機202eは、次のパケット転送先である子機202dにパケットを転送する。子機202dも同様の処理を繰り返し、パケットが子機202fに到着する。子機202fは、宛先テーブルを参照し、ターゲット装置203f宛てのパケットが自身に到着していることを認識し、そのパケットを有線接続されたターゲット装置203fに転送する。このように、「ネクストホップテーブル」を利用すれば、親機201に接続された子機202aを経由せずに無線通信することも可能である。
【0081】
親機201(又は子機202a)は、産業用無線ネットワーク204における子機間の通信状態(例えば、パケット遅延時間、ホップ数、電波の込み具合、電波強度など)を定期的に監視することで、産業用無線ネットワーク204におけるネットワーク構成を動的に最適化してもよい。要するに、親機201(又は子機202a)は、ネクストホップテーブルを動的に生成・更新しもよい。例えば、何らかの理由(電波干渉や電波障害の原因となる物体が置かれた等)により、子機202dと子機202eの間で通信状態の悪化が認識されると、子機202eが無線通信可能な他の子機を探索する。例えば、子機202bが見つかると、子機202eから子機202aへのパケット転送経路として、子機202bを経由する経路が決定・更新される。そして、親機201(又は子機202a)は、更新されたパケット転送経路を想定したネクストホップテーブルを決定・更新するとともに、子機202a~202f用のネクストホップテーブルも決定・更新し、更新後のネクストホップテーブルを各子機に配布する。
【0082】
なお、子機間の通信状態を定期的に監視する機能についても、パケット転送経路やネクストホップテーブルを決定する機能と同様に、親機201ではなく、親機201に有線接続された子機202aに持たせてもよい。また、上述した例では、「宛先テーブル」と「ネクストホップテーブル」の両方を用いたパケット転送について説明したが、これは一例にすぎない。
【0083】
(1)親機の構造
図15は、親機201の電気的な構造を示している。CPU210は、記憶装置211に記憶されているプログラムにしたがってLANモジュール212を制御する。LANモジュール212は、複数のLANポート38d~38hに接続された他のネットワーク機器と有線通信を実行する有線通信回路(ネットワーク通信回路)である。CPU210は、少なくとも一つのプロセッサコア(プロセッシング回路)を有している。記憶装置211は、リードオンリーメモリ(ROM)およびランダムアクセスメモリ(RAM)を有している。ROMは不揮発性メモリの一例である。RAMは揮発性メモリの一例である。
【0084】
図16は、CPU210の機能を示している。CPU210は、記憶装置211に記憶されているプログラム250にしたがって様々な機能を実現する。これらの様々な機能の打ちのすべてまたは一部がCPU210とは異なる別の論理回路(ASIC、FPGA)により実装されてもよい。ASICは特定用途集積回路の略称である。FPGAはフィールドプログラマブルゲートアレイの略称である。
【0085】
記憶管理部230は、記憶装置211から所定のデータを読み出したり、記憶装置221に所定のデータを書き込んだりする。
【0086】
子機管理部231は、産業用無線ネットワーク204に接続されている子機202a~202fを管理する。とりわけ、要求伝達部232は、特定の子機202に対して表示灯の点灯を要求したり、表示灯の点灯状態を変更することを要求したりしてもよい。子機探索部233は、親機201にネットワークケーブルを介して直接的に接続されている子機202aを探索する。このような子機202aは、ダイレクトノードやルートノードと呼ばれてもよい。子機登録部234は、産業用無線ネットワーク204に対して新規に追加された子機の子機固有情報(例:製品シリアル番号、MACアドレス)を、記憶管理部230を通じて子機リスト253に登録する。
【0087】
通信管理部235は、親機201が子機202と通信するためのプログラムモジュールのインスタンスである。通信管理部235は、親機201と子機202との間で所定の通信プロトコルに従って通信パケットを処理する。上述された子機管理部231は、通信管理部235の親機/子機通信部236を通じて子機202と通信する。NAT部237は、通信パケットのアドレスを変換するアドレス変換モジュールである。たとえば、NAT部237は、WAN用のポートであるLANポート38dとLAN用のポートであるLANポート38e~38hとの間で送受信されるパケットのネットワークアドレスおよびポート番号を変換する。なお、通信管理部235は、自己のMACアドレスに基づきIPv6アドレスを生成してもよい。
【0088】
設定画面管理部238は、LANポート38e~38hに接続されたPC2または子機202に接続されたPC2に対して、様々な設定画面を提供する。設定画面は、Webユーザインタフェースにより実現されてもよい。設定画面としては、たとえば、産業用無線ネットワーク204を設定するための設定画面、および、子機202の表示灯を設定するための設定画面などがある。ユーザ入力受付部239は、LANポート38e~38hに接続されたPC2または子機202に接続されたPC2から、ユーザ入力を受け付ける。画面提供部240は、LANポート38e~38hに接続されたPC2または子機202に接続されたPC2に設定画面(例:Webページ)を提供する。画面提供部240は、たとえば、Webサーバであってもよい。
【0089】
記憶装置211にはプログラム250だけでなく、様々な情報が記憶される。親機固有情報251は、親機201に付与されているネットワーク識別情報(例:MACアドレス)またはシリアル番号などである。メッシュネットワーク識別子252は、無線メッシュネットワークとして構築された産業用無線ネットワーク204のネットワーク識別子である。子機リスト253は、親機201により産業用無線ネットワーク204への参加を許可された子機202の子機固有情報のリストである。設定情報254は、産業用無線ネットワーク204において使用される無線周波数帯、無線チャネル、IPアドレスなどを含む。メッシュネットワーク識別子252は設定情報254に含まれていてもよい。
【0090】
(2)子機の構造
図17は子機202の電気的な構造を示している。CPU220は、記憶装置221に記憶されているプログラムにしたがってWLANモジュール223a~223cとLANモジュール222を制御する。CPU220は、少なくとも一つのプロセッサコア(プロセッシング回路)を有している。WLANモジュール223a~223cは、他の無線ネットワーク機器と無線通信を実行する無線通信回路(無線ネットワーク通信回路)である。WLANモジュール223a~223cは、それぞれ独立した無線通信回路であってもよいし、SDR226によって仮想的に実現された無線通信回路であってもよい。仮想的に実現された無線通信回路の場合、アンテナ225a、225b、225cのアンテナは共用されてもよい。SDRは、ソフトウエア無線の略称である。SDR226は、ソフトウエアの内容を書き換えることで、様々な無線通信回路を実現する。WLANモジュール223a~223cはそれぞれアンテナ225a、225b、225cを通じて他の子機202やPC2と通信する。この例では、WLANモジュール223a~223cとアンテナ225a、225b、225cとが一対一で接続されているが、これは一例にすぎない。たとえば、マルチプレクサを介在させることで、WLANモジュール223a~223cとアンテナ225aは、無線バンド(例:2.4GHz、5GHz)ごとに用意されたアンテナを共用してもよい。SDR226と225a、225b、225cとの間には増幅器、フィルタおよび周波数変換回路などが配置されるが、ここではそれらの図示が省略されている。LANモジュール222は、LANポート38iに接続された他のネットワーク機器(例:親機201、産業機器)と有線通信を実行する有線通信回路(ネットワーク通信回路)である。表示灯224は、子機202の状態を示す一つ以上の発光素子(例:発光ダイオード、有機EL)と点灯制御回路とを含む。記憶装置221は、ROMおよびRAMを有している。
【0091】
WLANモジュール223aは、たとえば、子機202間のバックホール通信用のワイヤレスローカルエリアネットワークモジュールである。WLANモジュール223aのネットワーク識別子(例:SSID)は、産業用無線ネットワーク204のメッシュネットワーク識別子281である。WLANモジュール223aは、アクセスポイント(AP)として動作するとともに、ステーション(STA)としても動作する。
【0092】
WLANモジュール223bは、たとえば、他の子機202と無線通信して他の子機202を産業用無線ネットワーク204に追加するための通信を実行するためのモジュールである。あるいは、WLANモジュール223bは、たとえば、他の子機202と無線通信して他の子機202が参加している産業用無線ネットワーク204に自己を追加してもらうための通信を実行するためのモジュールである。この場合、WLANモジュール223bには、初期の(追加処理専用の)メッシュネットワーク識別子282が設定される。子機202がすでに産業用無線ネットワーク204に参加している場合、その子機202のWLANモジュール223bは、第二のアクセスポイントとして機能する。子機202がこれから産業用無線ネットワーク204に参加しようとしている場合、その子機202のWLANモジュール223bは、第二のステーションとして機能する。なお、図17では、WLANモジュール223bと他のWLANモジュール223aや223cは、物理的に別モジュールのように見えるが、これは一例にすぎない。本発明はこれに限られず、これらのモジュールは、物理的には単一のモジュール(例:集積回路)内に構成され、論理的に別モジュールになっていてもよい。すなわち、仮想AP技術などを用いることで、物理的に一つのモジュールになっていてもよい。
【0093】
WLANモジュール223cは、たとえば、外部端末(例:ノート型のPC2、タブレット端末、スマートフォン)を産業用無線ネットワーク204に接続するために使用されるモジュールである。WLANモジュール223cは、たとえば、第三のアクセスポイントとして機能してもよい。なお、どのWLANモジュールをどのネットワークに接続するかは組合せ自由である。
【0094】
図18は、CPU220の機能を示している。CPU220は、記憶装置221に記憶されているプログラム280にしたがって様々な機能を実現する。記憶管理部260は、記憶装置221から所定のデータを読み出したり、記憶装置221に所定のデータを書き込んだりする。なお、このプログラム280をアップデートしたい場合には、親機201から子機202に対してアップデートファイルを無線転送してもよい。具体的には、ユーザは、親機201から提供されるWeb画面、例えばPC2の画面を介して、子機202のプログラムのアップデート指示を行ってもよい。親機201は、子機202のプログラム280(システムプログラム)を保持することができ、PC2からユーザ指示(指示信号)を受信したことを契機として、親機201に保持されたプログラム280を子機202に転送することで、プログラムアップデートするようにしてもよい。
【0095】
子機管理部261は、子機202の様々な機能を管理する。表示灯操作部262は、表示灯224の表示色や点灯形態(点滅、連続点灯、その他)を制御する。追加子機接続部263は、産業用無線ネットワーク204に追加されることを希望する他の子機202との通信リンクを確立するモジュールである。追加子機接続部263は、WLANモジュール223bに初期の(追加処理専用の)メッシュネットワーク識別子282を割り当て、他の子機202を子機追加専用のネットワークに接続させる。なお、メッシュネットワーク識別子282は、すべての子機202にとって既知の追加処理専用のメッシュネットワーク識別子である。追加子機接続部263は、親機201から子機202の追加を許可または指示されたときにのみ動作してもよい。要求受付部264は、通信管理部265の親機/子機通信部266およびWLANモジュール223aを通じて親機201から要求を受け付ける。この要求としては、通常モードから子機追加モードへの移行要求、追加対象の子機202からその固有情報283を取得するための取得要求と、追加対象の子機202の表示灯224を強調点灯させるための要求などがある。
【0096】
通信管理部265は、WLANモジュール223a~223cおよびLANモジュール222を通じた通信を管理および制御する。親機/子機通信部266は、所定の通信プロトコルにしたがって、子機202が親機201と通信するためのプログラムモジュールのインスタンスである。既存子機/追加子機通信部267は、所定の通信プロトコルにしたがって、WLANモジュール223bを制御し、既存子機と追加子機との通信を実行するプログラムモジュールのインスタンスである。通信管理部265は、自己のMACアドレスに基づきIPv6アドレスを生成し、ネットワーク管理部268に設定する。
【0097】
ネットワーク管理部268は、産業用無線ネットワーク204を管理する。ネットワーク構築部269は、無線メッシュネットワークとして産業用無線ネットワーク204を構築する。たとえば、ネットワーク構築部269は、親機201により設定されたメッシュネットワーク識別子281および設定情報254をWLANモジュール223aに設定し、産業用無線ネットワーク204を構築する。設定情報254は、産業用無線ネットワーク204において使用される無線周波数帯、無線チャネル、IPアドレスなどを含む。
【0098】
記憶装置221は、固有情報283を記憶している。固有情報283は、WLANモジュール223a~223cおよびLANモジュール222に割り当てられたネットワーク識別子(例:MACアドレス)である。以下で、固有情報283は、WLANモジュール223aに割り当てられるネットワーク識別子として説明される。子機202が新規に追加される場合、その子機202の固有情報283が、産業用無線ネットワーク204を介して親機201に送信される。親機201は、その子機202の固有情報283に基づき、その子機202の追加を許可するかどうかを判定する。
【0099】
<産業用無線ネットワークへの親機と子機の追加>
1・親機の初期設定
産業用無線ネットワーク204への親機201と子機202の接続は、たとえば、以下の手順で実行される。
【0100】
・PLC1と親機201の接続
・親機201の初期設定
・子機202の追加
なお、子機202の追加手法は、様々である。たとえば、最初にLANケーブルで接続されている有線子機である子機202aを親機201に登録し、その後、他の子機202b~202hを親機201に登録することが考えられる。あるいは、有線子機である子機202aだけでなく、無線子機である子機202b~202hを同時並行的に親機201に登録することも考えられる。いずれにしても、まず親機201に初期設定が実行される。
【0101】
図19はPLC1に接続された親機201を設定装置であるPC2から初期設定することを示す図である。PLC1と親機201とはLANケーブルにより接続されている。PC2と親機201ともLANケーブルにより接続されている。これらのLANケーブルは、LANポート38e~38hのいずれかに接続される。
【0102】
図20は、親機201により実行される設定情報の保存処理を示している。親機201のCPU210は、プログラム250にしたがって、以下の手順を実行する。
【0103】
S1でCPU210(画面提供部240)は、設定装置であるPC2から設定画面要求を受信したかどうかを判定する。たとえば、画面提供部240の一部であるWebサーバの設定ページへのPC2からのアクセス要求は、設定画面要求の一例である。設定画面要求が受信されると、CPU210は、S1からS2に進む。
【0104】
S2でCPU210は、設定画面を設定装置であるPC2に提供する。たとえば、CPU210は、設定画面を表示するためのWebページのパーツ(例:HTMLファイル、画像ファイル、CSSファイルなど)をPC2へ送信する。
【0105】
図21は、PC2の表示装置7に表示される設定画面300の一例である。この例では、設定情報254に格納される産業用無線ネットワーク204のネットワーク識別子(例:SSID)、周波数およびチャネルが入力される。テキストボックス301は、ユーザにより入力されるネットワーク識別子を受け付ける。周波数リスト302は、ユーザによる周波数バンドの入力または選択を受け付ける。チャネルリスト303は、ユーザによるチャネルの入力または選択を受け付ける。キャンセルボタン304は、親機201への初期設定をキャンセルすることをCPU210に指示するボタンである。保存ボタン305は、ネットワーク識別子、周波数およびチャネルを設定情報254に保存すべきことをCPU210に指示するボタンである。なお、無線区間の暗号化手法など、他の設定が設定画面300を通じて受け付けられてもよい。なお、ネットワーク識別子は、メッシュネットワーク識別子252に保存されてもよい。また、図21では、ネットワーク識別子が入力されているが、バックホール又は外部AP用かのいずれかが選択入力されるようにしてもよい。
【0106】
S3でCPU210(ユーザ入力受付部239)は、ネットワーク設定(親機201の初期設定)に関するユーザ入力を受け付ける。上述されたように、ネットワーク識別子、周波数およびチャネルなどが受け付けられる。
【0107】
S4でCPU210(ユーザ入力受付部239)は、保存要求が入力されたかどうかを判定する。保存要求は、たとえば、ポインタ103により保存ボタン305が押されたことである。保存要求が入力されると、CPU210はS5に進む。S5でCPU210(記憶管理部230)は、ユーザにより入力された設定情報254を記憶装置211に保存する。一方、保存要求が入力されていない場合、CPU210はS4からS6に進む。S6でCPU210は、キャンセルボタン304が押されたかどうかを判定する。キャンセルボタン304が押されていなければ、CPU210は、S6からS3に進む。一方、キャンセルボタン304が押されると、CPU210は、設定画面300を閉じ、保存処理を終了する。
【0108】
2.子機の追加
2-1.有線子機の追加
2-1-1.親機の処理
図22は親機201にダイレクト子機(有線子機)である子機202aを追加することを示す。この例では、他の子機202b~202hは後で追加される。
【0109】
図23は、有線子機(子機202a)が接続されたときの親機201のCPU210の動作を示す。なお、子機202aと親機201との間の通信は、子機202aと親機201との双方にとって既知の暗号化キーを利用して、暗号化されているものとする。ここでは、設定装置であるPC2は介在しないもっとも単純な例が説明されるが、後述されるように、親機201は、PC2により有線子機(子機202a)の接続を許可されてもよい。
【0110】
S11でCPU210(例:子機探索部233)は、子機の探索要求をブロードキャストすることで、探索要求の応答である有線子機からの接続要求を受信したかどうかを判定する。たとえば、CPU210は、LANポート38e~38hのいずれかにLANケーブルを介して接続されている子機202aから接続要求を受信したかどうかを判定する。有線子機からの接続要求があると、CPU210は、S11からS12に進む。なお、ここでは有線子機からの接続要求としているが、親機201からの接続要求であっても構わない。
【0111】
S12でCPU210(子機探索部233)は、固有情報(固有情報283)を有線子機から取得する。
【0112】
S13でCPU210(子機登録部234)は、有線子機の固有情報を子機リスト253に登録する。
【0113】
S14でCPU210(子機登録部234)は、記憶装置211から設定情報254を読み出し、有線子機へ設定情報254を送信する。これにより、有線子機である子機202aは設定情報254を入手し、産業用無線ネットワーク204を構築する。
【0114】
2-1-2.有線子機の処理
図24は有線子機のCPU220により実行される処理を示している。CPU220は、電源を投入されると、以下の処理を実行する。
【0115】
S21でCPU220(ネットワーク構築部269)は、親機201から設定情報254を未取得であるかどうかを判定する。これは、有線子機がまだ親機201に登録されているかどうかを判定する処理に相当する。有線子機がまだ親機201に登録されておらず、産業用無線ネットワーク204を構築できない場合、CPU220は、S21からS22に進む。一方で、親機201に登録済みであり、設定情報254から記憶装置221に記憶されている場合、CPU220は、S22からS28に進む。
【0116】
S22でCPU220(表示灯操作部262)は、表示灯224に橙点滅させる。橙点滅とは、表示灯224の表示色を橙色に設定し、かつ、表示形態を一定周期で表示灯224を点滅するように設定することをいう。なお、本実施形態では、S22において橙点灯させるようにしているが、例えば、通信ができた段階で橙点灯させてもよい。
【0117】
S23でCPU220(親機/子機通信部266)は、親機201へ設定情報254の取得要求を送信する。なお、ここでは親機201へ設定情報254の取得要求を送信しているが、本発明はこれに限られず、たとえば、常に親機201側から子機側に要求を出すようにしてもよい。
【0118】
S24でCPU220(親機/子機通信部266)は、親機201から設定情報254を受信する。
【0119】
S25でCPU220(記憶管理部260)は、設定情報254を記憶装置221へ保存する。
【0120】
S26でCPU220(ネットワーク構築部269)は、設定情報254にしたがってWLANモジュール223aを起動し、無線メッシュネットワークである産業用無線ネットワーク204を構築する。
【0121】
S27でCPU220(表示灯操作部262)は、表示灯224に緑点灯を実行させる。緑点灯とは、表示灯224の表示色を緑色に設定し、表示形態を連続点灯に設定することをいう。
【0122】
S28でCPU220(追加子機接続部263)は、WLANモジュール223bにより構築される子機追加用メッシュネットワークに接続している無線子機(子機202b~202h)に対して設定情報254を配布(伝搬)する。なお、S28は、他の無線子機が存在する場合に実行されるオプションである。他の無線子機は、親機201に直接接続されている有線子機から、設定情報254を取得し、自己の記憶装置221に保存し、設定情報254にしたがって産業用無線ネットワーク204に参加する。
【0123】
2-2.無線子機の追加
図25は、親機201と有線子機である子機202aとがネットワークケーブル600を介して接続されており、子機202aが設定情報254を親機201から取得して、産業用無線ネットワーク204を構築したことを示す。ただし、産業用無線ネットワーク204に参加している無線子機は、子機202aだけである。なお、図25では、一旦子機202aを追加し、その後、無線子機を追加する場合について説明するが、本発明はこれに限られず、子機202aと少なくとも一つの他の子機202b~202fを一度に追加しても構わない。
【0124】
図26は、親機201にまだ登録されていない子機202dが電源を投入されて起動したことを示している。子機202dは、親機201にまだ登録されていないため、産業用無線ネットワーク204に参加できない。
【0125】
図27は、子機202dを親機201に登録するために構築される追加用無線ネットワーク209を示す。追加対象の子機202dは、産業用無線ネットワーク204の設定情報254を持っていないため、追加用無線ネットワーク209のメッシュネットワーク識別子282をWLANモジュール223bに設定する。また、有線子機である子機202aは、親機201を通じてPC2から送信される子機追加モード(子機追加許可状態)への移行指示に基づき、追加用無線ネットワーク209のメッシュネットワーク識別子282をWLANモジュール223bに設定する。これにより、子機202aおよび子機202dが追加用無線ネットワーク209を構築して参加する。つまり、子機202aは、設定情報254を子機202dへ伝搬可能となる。子機202dは、設定情報254を記憶装置221に保存する。
【0126】
図28は、子機202dが、産業用無線ネットワーク204に参加したことを示している。子機202dのCPU220は、記憶装置221に記憶された設定情報254をWLANモジュール223aに設定し、産業用無線ネットワーク204に参加する。なお、設定情報254は、不揮発性のメモリ領域に格納されるものとする。
【0127】
図29は、複数の他の子機202d、202e、202fを親機201に追加する事例を示している。この状態では、まだ、親機201および子機202aは子機追加モードに移行しておらず、通常モードにある。そのため、図30が示すように、未登録の子機202dは、メッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209を構築する。同様に、他の子機202e、202fも、設定情報254を有していない。よって、図31が示すように、子機202e、202fもメッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209に参加する。
【0128】
図32が示すように、設定装置2を通じて親機201と子機202aとが子機追加モードに移行すると、子機202aがメッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209に参加する。これにより、子機202a、202d、202e、202fが無線通信可能となる。子機202aは、設定情報254を子機202d、202e、202fに配布する。子機202d、202e、202fは、設定情報254を記憶装置221に記憶する。
【0129】
図33が示すように、子機202d、202e、202fは、設定情報254にしたがって、産業用無線ネットワーク204に参加する。なお、子機202a、202d、202e、202fは、それぞれWLANモジュール223bを停止させ、追加用無線ネットワーク209から脱退する。
【0130】
2-2-1.親機の処理
図34は、親機201のCPU210により実行される子機202の追加処理を示している。ここでは、親機201は記憶装置221にすでに設定情報254を記憶済みであるものとする。
【0131】
S41でCPU210(設定画面管理部238)は、PC2から追加画面要求を受信したかどうかを判定する。ここで、追加画面とは、子機202を追加するためにPC2に提供される追加画面(例:Webページ)である。追加画面要求が受信されると、CPU220は、S41からS42に進む。
【0132】
S42でCPU210(設定画面管理部238)は、PC2へ追加画面(例:Webページ)を提供する。
【0133】
図35はPC2の表示装置7に表示される追加画面310の一例を示す。追加画面310は、追加対象となる無線子機のリスト311と、すでに産業用無線ネットワーク204に接続済みの子機のリスト315とを有している。リスト311、315は、それぞれ、子機の固有情報である、ユニット名312と、シリアル番号314とを含む。チェックボックス317は、探索により見つかった複数の追加対象子機のうち、ユーザが追加を希望する子機を選択するためのコントロールオブジェクトである。ボタン313は、子機202の表示灯224を強調点灯させることを指示するためのボタンである。ポインタ103によってボタン313が押されると、押されたボタン313に対応する子機202に対して強調点灯要求が送信される。その子機202の表示灯操作部262は、強調点灯要求にしたがって表示灯224を強調点灯する。強調点灯としては、たとえば、通常よりも明るさを増加させること、などが含まれてもよい。なお、追加画面310において、接続済みの子機のリスト315は表示を省略しても構わない。
【0134】
強調点灯の対象は、追加対象の子機202だけでなく、すでに接続済みの子機202も含まれてもよい。工場内には多数の子機202が隈なく設置されることがある。ユーザは、複数の子機202から特定の子機202を識別するために、ボタン313を押すことができる。
【0135】
追加承認ボタン316がポインタ103により押されると、子機管理部231は、チェックボックス317によりチェックを付与された子機202に対する追加承認が送信される。有線子機は、追加承認を受信すると、追加承認の対象となる子機202へ設定情報254を送信する。追加承認の対象となる子機202は、設定情報254を受信すると、記憶装置221に保存する。
【0136】
S43でCPU210(要求伝達部232、親機/子機通信部236)は、追加指示を有線子機に送信する。
【0137】
S44でCPU210(親機/子機通信部236)は、追加対象の子機の固有情報を受信する。なお、CPU210は、追加子機が発見されたことを示す通知を親機201から受信すると、追加子機の固有情報を取得するよう親機201に指示を送信してもよい。
【0138】
S45でCPU210(画面提供部240)は、PC2の表示装置7に追加子機の固有情報を表示する。
【0139】
図36は、発見された追加子機の固有情報が反映された追加画面310を示す。親機201は、追加子機の固有情報を取得すると、追加画面310を更新する。
【0140】
S46でCPU210(ユーザ入力受付部239)は、PC2から強調点灯要求が入力されたかどうかを判定する。強調点灯要求が入力されていなければ、CPU210は、S46からS50に進む。
【0141】
S47でCPU210(要求伝達部232、親機/子機通信部236)は、強調点灯の対象となる子機に対する強調点灯要求を送信する。
【0142】
S48でCPU210(ユーザ入力受付部239)は、PC2から強調点解除指示が入力されたかどうかを判定する。強調解除指示が入力されると、CPU210は、S48からS49に進む。なお、所定時間が経過しても、強調解除指示が入力されない場合も、CPU210は、S48からS49に進む。
【0143】
S50でCPU210(子機登録部234)は、親機201から追加承認が取得できたかどうかを判定する。追加承認が取得されると、CPU210はS50からS51に進む。S51でCPU210(子機登録部234)は、固有情報を子機リスト253に登録するとともに、追加承認を有線子機に送信する。これにより、有線子機は、事前に記憶装置221に保存されている設定情報254を、追加承認の対象となる追加子機に送信する。一方、追加承認がPC2から得られなかった場合、CPU210は、S50からS52に進む。S52でCPU210(子機登録部234)は、追加拒否を親機201に送信する。これにより、親機201は、設定情報254を追加対象となっていた子機202へ送信しない。
【0144】
2-2-2.有線子機(または既存子機)の処理
図37は、有線子機または既に産業用無線ネットワーク204に参加している子機202のCPU220により実行される子機追加処理を示す。
【0145】
S61でCPU220(要求受付部264)は親機201から子機追加モードへの移行指示を受信したかどうかを判定する。子機追加モードへの移行指示を受信すると、CPU220は通常モードから子機追加モードへ移行して、S61からS62に進む。
【0146】
S62でCPU220(ネットワーク構築部269)は、メッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209を構築する。追加子機も、メッシュネットワーク識別子282を保持しているため、追加用無線ネットワーク209に接続できる。
【0147】
S63でCPU220(追加子機接続部263)は、追加用無線ネットワーク209に追加子機が接続したかどうかを判定する。追加用無線ネットワーク209に追加子機が接続してくると、CPU210は、S63からS64に進む。
【0148】
S64でCPU220(追加子機接続部263)は、親機201に対して追加子機の接続を通知(報告)する。
【0149】
S65でCPU220(追加子機接続部263)は、親機201から追加子機についての固有情報の取得要求を受信したかどうかを判定する。固有情報の取得要求が受信されると、CPU220はS65からS66に進む。
【0150】
S66でCPU220は、(追加子機接続部263)は、追加子機から固有情報を取得する。たとえば、追加子機接続部263は追加子機に対して取得要求を送信する。
【0151】
S67でCPU220は、親機201へ追加子機の固有情報(例:ユニット名、シリアル番号)を送信する。
【0152】
S68でCPU220(追加子機接続部263)は、追加子機についての追加承認を親機から受信できたかどうかを判定する。追加承認を受信できなかった場合(例:追加拒否を受信した場合)、CPU220は、子機追加モードから通常モードに復帰し、子機追加処理を終了する。一方、追加承認が受信されると、CPU220は、S68からS69に進む。
【0153】
S69でCPU220(追加子機接続部263)は、記憶装置221に保存されている設定情報254を読み出し、設定情報254を追加子機へ転送する。
【0154】
S70でCPU220(ネットワーク構築部269)は、追加用無線ネットワーク209を解放する。また、CPU220は、子機追加モードから通常モードに復帰する。
【0155】
2-2-3.追加子機の処理
図38は、追加子機が実行する子機追加処理を示す。CPU220は、プログラム280にしたがって以下の処理を実行する。
【0156】
S81でCPU220(ネットワーク構築部269)は、親機201が存在しないか、または、親機201へ未登録であるかを判定する。たとえば、ネットワーク構築部269は、記憶装置221に設定情報254が保存されていれば、親機201に対して登録済みであると判定する。この場合、CPU220は、S81からS91に進み、設定情報254に基づき無線メッシュネットワークである産業用無線ネットワーク204に参加する。一方、ネットワーク構築部269は、記憶装置221に設定情報254が保存されていなければ、親機201に対して未登録であると判定する。この場合、CPU220は、S81からS82に進む。
【0157】
S82でCPU220(表示灯操作部262)は、表示灯224を橙点滅させる。
【0158】
S83でCPU220(追加子機接続部263)は、追加用無線ネットワーク209(既存子機)があるかどうかを判定する。追加子機接続部263は、自己が保持しているメッシュネットワーク識別子282と同一のネットワーク識別子を有する追加用無線ネットワーク209を探索する。すでに、追加用無線ネットワーク209が存在すれば、CPU220は、S83からS84に進む。S84でCPU220(ネットワーク構築部269)は、既存子機が構築した追加用無線ネットワーク209に参加する。一方、追加用無線ネットワーク209が存在しなければ、CPU220は、S83からS93に進む。S93でCPU220(ネットワーク構築部269)は追加用無線ネットワーク209を自ら構築する。これにより、複数の追加子機が追加用無線ネットワーク209に参加することになる。この事例の詳細は後述される。
【0159】
S85でCPU220(表示灯操作部262)は、表示灯224を橙点灯させる。橙点灯とは、表示灯224の点灯色を橙色に設定し、点灯形態を継続点灯に設定することを言う。
【0160】
S86でCPU220(要求受付部264)は、追加用無線ネットワーク209を介して親機201から固有情報の取得要求を受信したかどうかを判定する。固有情報の取得要求が受信されると、CPU220は、S86からS87に進む。
【0161】
S87でCPU220(要求受付部264)は、記憶装置221から固有情報283を読み出し、親機201へ送信する。
【0162】
S88でCPU220(親機/子機通信部266)は、追加用無線ネットワーク209を介して有線子機または他の既存子機から設定情報254を受信する。
【0163】
S89でCPU220(記憶管理部260)は、記憶装置221に設定情報254を保存する。
【0164】
S90でCPU220(ネットワーク構築部269)は、追加用無線ネットワーク209を解放する。
【0165】
S91でCPU220(ネットワーク構築部269)は、設定情報254にしたがって無線メッシュネットワークである産業用無線ネットワーク204に参加する。
【0166】
S92でCPU220(表示灯操作部262)は、表示灯224を緑点灯させる。
【0167】
このようにして子機は産業用無線ネットワーク204に参加できるようになる。
【0168】
2-3.強調点灯
図39は、子機202のCPU220により実行される強調点灯処理を示す。
【0169】
S121でCPU220(要求受付部264)は、親機201から強調点灯指示(強調点灯要求)を受信したかどうかを判定する。強調点灯指示が受信されると、CPU220は、S121からS122に進む。
【0170】
S122でCPU220(表示灯操作部262)は、表示灯224を強調点灯させる。
【0171】
S123でCPU220(要求受付部264)は、親機201から強調解除指示(強調解除要求)を受信したかどうかを判定する。強調解除指示が受信されると、CPU220は、S123からS124に進む。
【0172】
S124でCPU220(表示灯操作部262)は、表示灯224の強調点灯を解除する。
【0173】
ここでは、強調解除指示に基づき強調点灯が解除されているが、これは一例にすぎない。タイマーまたはカウンタが一定時間を計時すると、CPU220は、強調点灯を解除してもよい。
【0174】
2-4.信号シーケンス
図40は、子機追加処理における信号シーケンスを示す。ここでは、親機201に有線子機が接続済みである場合に、他の無線子機が産業用無線ネットワーク204に参加することが前提とされている。図40においてWNWは無線ネットワークの略称である。
【0175】
Sq1でPC2が親機201に追加画面要求を送信し、親機201が追加画面要求を受信する。追加画面要求は、暗黙的な子機追加モードへの移行指示である。
【0176】
Sq2で親機201は子機追加モードへの移行指示を有線子機(子機202a)に送信し、子機202aが移行指示を受信する。これにより、子機202aは、子機追加モードへ移行し、追加用無線ネットワーク209を構築する。
【0177】
Sq3で親機201は追加画面310の表示情報(HTMLファイルなど)をPC2に送信し、PC2がこれを受信する。PC2はWebブラウザにより表示装置7に追加画面310(図35)を表示する。なお、Sq2とSq3の順番は逆でもよい。
【0178】
Sq4で追加子機(子機202b~202hなど)は追加用無線ネットワーク209を発見し、追加用無線ネットワーク209に参加する。
【0179】
Sq5で子機202aは追加用無線ネットワーク209に参加した追加子機を発見し、追加子機を発見したことを示す通知を親機201に送信する。親機201は通知を受信する。
【0180】
Sq6で親機201は通知をPC2に転送する。Sq6は省略されてもよい。
【0181】
Sq7で親機201は追加子機の固有情報283を要求するための取得要求を子機202aに送信し、子機202aが取得要求を受信する。
【0182】
Sq8で子機202aは取得要求を追加子機に転送する。追加子機は取得要求を受信する。
【0183】
Sq9で追加子機は取得要求に対するレスポンスとして自己の固有情報283を子機202aに送信する。子機202aは追加子機の固有情報283を受信する。
【0184】
Sq10で子機202aは追加子機の固有情報283を親機201へ転送する。親機201は、追加子機の固有情報283を受信する。
【0185】
Sq11で親機201は、追加子機の固有情報283を反映した追加画面310を作成(更新)し、更新された追加画面310をPC2へ送信する。PC2は更新された追加画面310(図36)を受信し、表示装置7に表示する。これにより、ユーザは、追加子機の固有情報(例:ユニット名とシリアル番号)を確認できる。固有情報は、一般に、子機202が梱包された箱や説明書、保証書に印刷されており、ユーザは、固有情報を確認できる。つまり、ユーザは、産業用無線ネットワーク204に参加させたいと考える子機が、実際に、追加子機として検出されているかどうかを、追加画面310を通じて確認できる。
【0186】
Sq12でPC2はユーザ操作に基づき追加承認を親機201に送信し、親機201が追加承認を受信する。追加承認には、追加を承認された子機202の固有情報が含まれていてもよい。これにより、追加承認された子機202と追加拒否された子機202とが区別されてもよい。親機201は、追加承認された子機202の固有情報283を子機リスト253に登録する。
【0187】
Sq13で親機201は追加承認を子機202aに転送する。子機202aは追加承認を受信する。
【0188】
Sq14で親機201は、追加を承認された追加子機へ設定情報254を送信する。追加を承認された追加子機は設定情報254(メッシュネットワーク識別子281を含む)を受信し、記憶装置221に保存する。
【0189】
Sq15で追加子機は設定情報254にしたがって産業用無線ネットワーク204に参加する。
【0190】
Sq16で親機201は、有線子機を含む既存子機(子機202a)に子機追加モードの終了指示を送信する。有線子機を含む既存子機(子機202a)は、子機追加モードから通常モードに復帰(移行)する。
【0191】
<子機追加の他の例(一括登録)>
上述の事例では最初に親機201に有線子機が登録され、その後で、無線子機が追加されている。しかし、図41が示すように、有線子機を含む複数の子機202a、202e、202fが同時並行的に親機201へ登録されてもよい。
【0192】
この場合、図42が示すように、複数の子機202a、202e、202fは、設定情報254を所持していないことから、追加用無線ネットワーク209を構築する。複数の子機202a、202e、202fは、追加用無線ネットワーク209を通じて設定情報254を親機201から取得する。そして、図43が示すように、複数の子機202a、202e、202fは、設定情報254に基づき産業用無線ネットワーク204に参加する。
【0193】
図44はこの事例についてのシーケンス図である。なお、子機202a、202e、202fは、未登録状態であることから、それぞれ表示灯224を橙点滅させてもよい。また、親機201は、PC2がアクセスすると、ログインIDとパスワードとを入力させて、ユーザ認証を実行してもよい。
【0194】
Sq21でPC2が親機201に追加画面要求を送信し、親機201が追加画面要求を受信する。
【0195】
Sq22で親機201は、NW構築指示を子機202aに送信する。
【0196】
Sq23で親機201は追加画面310の表示情報(HTMLファイルなど)をPC2に送信し、PC2がこれを受信する。PC2は表示装置7に追加画面310(図35)を表示する。なお、Sq32とSq23の順番は逆でもよい。
【0197】
Sq24で子機202a、202e、202fは、NW構築指示に基づき、追加用無線ネットワーク209を構築する。これにより、有線子機である子機202aだけでなく、無線子機である子機202e、202fも親機201と通信可能となる。子機202a、202e、202fはそれぞれ表示灯224を橙点灯させてもよい。
【0198】
Sq25で親機201は、子機202a、202e、202fを探索するための探索パケットをブロードキャストする。
【0199】
Sq26で子機202a、202e、202fは探索パケットに対するレスポンスとして固有情報283を親機201へ送信する。
【0200】
Sq27で親機201は、発見された子機202a、202e、202fの固有情報283で追加画面310を更新する。これにより、PC2は表示装置7に更新された追加画面310を表示する。
【0201】
Sq28でPC2はユーザ操作に基づき追加承認を親機201に送信し、親機201が追加承認を受信する。追加承認には、追加を承認された子機202a、202e、202fの固有情報が含まれていてもよい。これにより、追加承認された子機202と追加拒否された子機202とが区別されてもよい。親機201は、追加承認された子機202a、202e、202fの固有情報283を子機リスト253に登録する。
【0202】
Sq29で親機201は、追加を承認された子機202a、202e、202fへ設定情報254を送信する。追加を承認された子機202a、202e、202fは設定情報254(メッシュネットワーク識別子281を含む)を受信し、記憶装置221に保存する。
【0203】
Sq30で子機202a、202e、202fは設定情報254にしたがって産業用無線ネットワーク204に参加する。子機202a、202e、202fはそれぞれ表示灯224を緑点灯させてもよい。
【0204】
Sq31で親機201は、子機202a、202e、202fが接続済みであることを示すように追加画面310を更新する。PC2は、更新された追加画面310を表示装置7に表示する。
【0205】
このように複数の子機202が同時並行的に登録されてもよい。なお、PC2から強調点灯要求を受信した子機202は、強調点灯要求にしたがって表示灯224を強調点灯(例:明るさ増加など)してもよい。
【0206】
<設定変更処理>
PC2は親機201に接続し、設定情報254を変更することができる。この場合、変更された設定情報254は産業用無線ネットワーク204に参加している各子機202に伝搬(配布)されなければならない。
【0207】
図45は親機201において実行される設定変更処理を示す。図45図20との違いは、S5の後にS6が追加された点である。S6でCPU210(要求伝達部232、親機/子機通信部236)は、設定情報254が変更されたことを検知し、変更された設定情報254を含む設定変更要求を産業用無線ネットワーク204に対して送信(ブロードキャスト)する。なお、CPU210は、設定変更要求に対するレスポンスを待ってから、設定情報254を子機202へ送信してもよい。
【0208】
図46は子機202の設定変更処理を示す。ここでは、設定変更要求と設定情報254とが別々に受信されるものとする。もちろん、設定変更要求と設定情報254とが一緒に受信されてもよい。
【0209】
S101でCPU220(要求受付部264、親機/子機通信部266)は、設定変更要求を受信したかどうかを判定する。設定変更要求が受信されると、CPU220はS101からS102へ移行する。
【0210】
S102でCPU220(要求受付部264、親機/子機通信部266)は親機201から設定情報254を受信する。
【0211】
S103でCPU220(記憶管理部260)は、受信された設定情報254を記憶装置221に保存する。
【0212】
S104でCPU220は、自己に接続されている他の子機202が存在するかどうかを判定する。各子機202は、ネクストホップとなる子機202のネットワークアドレス(例:MACアドレスなど)を記憶装置221に保持しており、自己に接続されている他の子機202が存在するかどうかを知っている。親機201が設定情報をブロードキャストしない場合、S104、S105で設定情報254が他の子機202に伝搬される必要がある。そのため、設定情報254がブロードキャストされるケースでは、S104、S105は不要である。自己に接続されている他の子機202が存在しない場合、CPU220は、S104からS106に進む。自己に接続されている他の子機202が存在する場合、CPU220は、S104からS105に進む。
【0213】
S105でCPU220は、設定情報254を他の子機202へ配布する。他の子機202は、配布された設定情報254を記憶装置221に保存する。
【0214】
S106でCPU220は、更新された設定情報254に基づき無線メッシュネットワーク(産業用無線ネットワーク204)を再構築する。これにより、産業用無線ネットワーク204に対して更新された設定情報254が反映される。
【0215】
なお、設定変更要求は、子機追加処理において、設定情報254を追加子機に対して書き込む際に利用されてもよい。
【0216】
<子機の削除処理>
図47は、産業用無線ネットワーク204に接続されているいずれかの子機202を削除するための削除画面320を示している。すでに説明されたようにリスト315は、接続済みの子機202のリストである。各子機202についてユニット名312とシリアル番号314とが列挙される。ボタン313は、対応する子機202の表示灯224を強調点灯させるためのボタンである。チェックボックス317は、削除対象となる子機202を選択するためのコントロールオブジェクトである。なお、有線子機を削除してしまうと、産業用無線ネットワーク204が親機201から切り離されてしまうため、有線子機の削除は禁止されてもよい。たとえば、有線子機に対応するチェックボックス317は表示されないか、選択不可能とされてもよい。削除ボタン318は、選択された子機の削除をCPU210に指示するためのボタンである。
【0217】
図48は、親機201のCPU220により実行される削除処理を示す。
【0218】
S161でCPU210(画面提供部240)は、PC2から削除画面要求を受信したかどうかを判定する。削除画面要求は、削除画面320に相当するWebページのURLに対するアクセス要求であってもよい。削除画面要求が受信されると、CPU210は、S161からS162へ進む。
【0219】
S162でCPU210(画面提供部240)は削除画面320(HTMLファイル、CSSファイル、画像ファイル)を設定装置であるPC2へ提供する。
【0220】
S163でCPU210(ユーザ入力受付部239)は、削除対象の子機の選択を受け付ける。上述されたように、チェックボックス317にチェックが付与された子機202は削除対象となる。
【0221】
S164でCPU210(ユーザ入力受付部239)は、ユーザにより削除指示が入力されたかどうかを判定する。削除指示が入力されると、CPU210は、S164からS165に進む。
【0222】
S165でCPU210(子機登録部234)は、選択された子機202を子機リスト253から削除する。
【0223】
S166でCPU210(要求伝達部232)は、選択された子機202に削除要求を送信する。
【0224】
図49は、子機202のCPU220により実行される削除処理を示す。
【0225】
S181でCPU220(要求受付部264)は、親機201から削除要求を受信したかどうかを判定する。削除要求が受信されると、CPU220は、S181からS182へ進む。
【0226】
S182でCPU220(記憶管理部260)は、記憶装置221から設定情報284(およびメッシュネットワーク識別子281)を削除する。
【0227】
S183でCPU220(ネットワーク管理部268)は、WLANモジュール223aをオフにし、産業用無線ネットワーク204から離脱する。
【0228】
S184でCPU220(表示灯操作部262)は、表示灯224を橙点滅させる。これにより、どの子機202が未登録状態になったかをユーザが把握しやすくなる。なお、上述した子機の削除処理では、削除要求が発行された時点で、削除対象の子機が電源ONになっていると仮定している。仮に、削除要求が発行された時点で、削除対象の子機が電源OFFになっている場合もあろう。この場合、例えば、対象子機のユニークな識別子を親機が記憶しておいてもよい。次回その対象子機が電源ONした後、親機は、ユーザが指示したタイミング又は対象子機の電源ONを認識したタイミングで、その対象子機に削除要求を自動的に送信するような構成にしてもよい。対象子機は、親機から削除要求を受信すると、産業用無線ネットワーク204から脱退する。
【0229】
<その他>
有線子機に対して追加子機が接続されるケースが主に説明されているが、有線子機に接続された無線子機に対して追加子機が接続されてもよい。この場合、親機201から追加子機までに複数の子機202が通信を中継することになる。
【0230】
既存子機に対して追加子機が接続する際に、既存機器は、追加子機に対して認証処理を適用してもよい。認証処理としては、4way handshakeなどがある。
【0231】
産業用無線ネットワーク204に参加している複数の子機202にとって、それぞれネクストホップは動的に変更可能である。たとえば、図14において子機202eのネクストホップは子機202dであるが、子機202eのネクストホップが子機202bに変更されてもよい。これは、無線環境が変化すると、より安定して通信可能なネクストホップも変わるからである。
【0232】
点滅方式としては複数の点滅方式が設けられてもよい。第一の点滅方式は、明るさが徐々に増加することと、明るさが徐々に低下することとを繰り返す方式である。第一の点滅方式は、たとえば、追加用無線ネットワーク209への接続試行中(橙点滅)と、産業用無線ネットワーク204への接続試行中(緑点滅)とに適用されてもよい。第二の点滅方式は、第一の明るさ(例:100%)での点灯と、第二明るさ(例:0%)での点灯とを繰り返す方式である。なお、第一の点滅方式の周期は、第二の点滅方式の周期よりも長くてもよい。つまり、第一の点滅方式は、緩やかに明るさが変化する方式であってもよい。一方、第二の点滅方式は、より速く明るさが変化する方式であってもよい。なお、第二の点滅方式は、上述された強調点灯に採用されてもよい。
【0233】
<第1ユースケース>
以上説明した産業用無線ネットワーク204は、FA現場において様々な目的・用途で活用することができる。例えば第1ユースケースとして、図1図12を用いて詳細に説明した、運転記録の生成フェーズでも活用することができる。図50を用いて説明する。
【0234】
図50は、PLC1のリングバッファ36(図3)に定期的に収集されるデータとしてターゲット装置203cのデータを含めるケースを説明するためのシーケンス図である。上述したように、運転記録を生成するために、PLC1のリングバッファ36には各種データが収集される。例えば、PLC1の拡張ユニット4bに有線接続されたフィールドデバイス10から得られるデータ、すなわち、産業用無線ネットワーク204を介さずに(有線を介して)得られるデータは、予め設定された周期としてスキャン周期(例えば数ms以下)で収集される。しかし、産業用無線ネットワーク204を介してターゲット装置203cからデータを得ようとすると、無線通信に起因した遅延(例えば数十~数百ms)によって、スキャン周期での収集が困難な場合がある。
【0235】
そこで、図50に示すように、PLC1からターゲット装置203cにデータ要求する間隔を定めた「更新間隔」が設定される。具体的には、ユーザがPC2を介して更新間隔を設定し、設定された更新間隔は、PLC1のプロジェクト記憶部35に記憶される。加えてユーザは、PC2を介してターゲット装置203cの場所を特定するためのIPアドレスを設定したり、ターゲット装置203cの中で収集対象となるデータを特定するための情報を設定したりしてもよい。例えばターゲット装置203cとして他のPLCを考えた場合(いわゆるPLCリンク機能を用いる場合)には、他のPLCの場所を特定するためのIPアドレスを設定し、他のPLCの中で収集対象となるデバイス種別やデバイス番号、先頭デバイス番号からのワード数などを設定してもよい。このようにして設定された様々な情報(IPアドレスなど)は、PLC1のプロジェクト記憶部35に記憶される。
【0236】
図50において、PLC1のCPU31は、プロジェクト記憶部35に記憶された内容に基づいて、ターゲット装置203cと通信を行う。すなわち、CPU31は、自身に有線接続された親機201、子機202a、子機202b及び子機202cを介して、ターゲット装置203cにデータ要求を送信する。データ要求を受信したターゲット装置203cは、上述したように予め特定(設定)されたデータを、子機202c、子機202b、子機202a及び親機201を介して、PLC1に送信する。PLC1は、受信したデータをリングバッファ36に記憶する。以上のようなデータ要求とデータ送信を上述した所定の更新間隔で繰り返すことによって、PLC1のリングバッファ36にターゲット装置203cからの時系列データが収集される。この場合、リングバッファ36において、スキャン周期で収集されるデータ(フィールドデバイス10から得られるデータ)と、所定の更新間隔で収集されるデータ(ターゲット装置203c)とが混在することになる。その後、保存トリガ条件が成立したとき、リングバッファ36に記憶されているデータのうち、所定期間分のデータが運転記録記憶部37に保存され、運転記録が生成される。なお、保存対象を決める所定期間については、ユーザがPC2を介して設定し、PLC1のプロジェクト記憶部35に記憶されてもよい。
【0237】
このように、第1ユースケースによれば、産業用無線ネットワーク204を介して、ターゲット装置203cからのデータを運転記録の中に含めることが可能である。本実施形態では、運転記録を生成するためのリングバッファ36を、PLC1内に設けることとしているが、本発明はこれに限られず、例えば親機201内に設けてもよい。本実施形態に係る産業用ワイヤレスシステムでは、親機(管理部)と子機(無線通信回路)が分離されているので、このような親機201の機能拡張を容易に行うことができる。
【0238】
<第2ユースケース>
他にも第2ユースケースとして、産業用無線ネットワーク204は、第1ユースケースで生成した運転記録の分析レポートの確認用途でも活用されることができる。
【0239】
具体的には、上述したように、PLC1の拡張ユニット(分析ユニット)4aは、運転記録記憶部37に保存された運転記録の分析レポートを作成し、PLCの外部にあるWebブラウザに提供する。Webブラウザを有する機器の一例としてPC2が挙げられる。PC2は、図14図28に示すように、親機201だけでなく、産業用無線ネットワーク204を構成する各子機202a~202fのいずれかに無線接続されてもよい。例えば、子機202cに接続されたPC2は、分析レポートが保存されたメモリ(分析レポートが運転記録の中に含まれる場合は運転記録記憶部37。運転記録記憶部37以外に分析レポートが保存されるメモリを別途設けてもよい)から、親機201、子機202a、子機202bおよび子機202cを介して分析レポートを読み出して再生する。
【0240】
このとき、上述した更新間隔(図50)として、無線通信に起因した遅延を考慮した間隔を設定することにより、いわゆるストリーミング再生のような、分析レポートの一部読出と一部再生を繰り返し円滑に行うことが容易になる。もちろん、まずは分析レポートの全てをPC2にダウンロードし、その後、PC2において分析レポートを再生する、といった用途も考えられる。
【0241】
<第3ユースケース>
他にも例えば、第3ユースケースとして、産業用無線ネットワーク204は、PLC1からリアルタイムで取得される時系列のデバイス値の監視用途でも活用することができる。
【0242】
上述したように、PC2は、産業用無線ネットワーク204を構成する各子機202a~202fのいずれかに無線接続されてもよい。第2ユースケースと同様に、子機202cに接続された場合、PLC1に記録される時系列のデバイス値を監視するためには、子機202c、子機202b、子機202a及び親機201をデータが経由しなければならない。適切な更新間隔を設定しておくことにより、PLC1に記録される時系列のデバイス値を監視することができる。上述したように、PC2は、プログラマブル表示器で代替してもよい。
【0243】
<第4ユースケース>
他にも例えば、第4ユースケースとして、産業用無線ネットワーク204は、PLC1において実行されるラダープログラムのデバッグ用途でも活用されることができる。
【0244】
従来は、ラダープログラムをデバッグするためには、システム設計者がPLC1の設置場所まで出向いて、PC2をラダープログラムに接続して、PLC1の動作検証を行いながらデバッグするしかなかった。しかし、本実施形態に係る産業用無線ネットワーク204を活用すれば、PLC1の設置場所まで出向かなくても、ラダープログラムをデバッグ可能である。
【0245】
具体的には、ユーザは、子機202cに接続されたPC2上でラダープログラムを編集し、産業用無線ネットワーク204を介して編集後のラダープログラムをPLC1に転送したり、PLC1に運転試行コマンドを送ったりすることも考えられる。
【0246】
<子機のグループ化>
広い工場では複数の子機202がグループ化(例:メッシュクラスタ)されることがある。この場合、どの子機202がどのグループに属しているかを、工場内で視覚的に区別できれば便利であろう。
【0247】
親機201のCPU210は、メッシュクラスタごとに子機リスト253を記憶装置211に保存してもよい。さらに、CPU210は、子機リスト253ごとに点灯設定を記憶装置211に保存してもよい。たとえば、点灯設定は、設定情報254の一部であってもよい。
【0248】
図51は、メッシュクラスタごとに表示灯224の点灯色を異ならせる例を示す。第一グループ601は、子機202a、202b、202cから構成されている。たとえば、記憶装置211に記憶されている、第一グループ601向けの第一の子機リスト253には、子機202a、202b、202cの各識別情報が記憶されている。親機201はユーザ入力に応じて第一グループ601の点灯色を青点灯に設定する。たとえば、親機201は、第一の子機リスト253に紐付けられた設定情報254に含まれる点灯設定を、青点灯に設定してもよい。
【0249】
第二グループ602は、子機202d、202e、202fから構成されている。たとえば、記憶装置211に記憶されている、第二グループ602向けの第二の子機リスト253には、子機202d、202e、202fの各識別情報が記憶されている。親機201はユーザ入力に応じて第二グループ602の点灯色を緑点灯に設定する。たとえば、親機201は、第二の子機リスト253に紐付けられた設定情報254に含まれる点灯設定を、緑点灯に設定してもよい。
【0250】
CPU210は、図46に示された設定変更処理にしたがって、所望の子機202が属している子機リスト253に関連付けられている設定情報254を所望の子機202へ配布する。所望の子機202のCPU220は、親機201から受信された設定情報254に含まれる点灯設定に応じて表示灯224の点灯色を制御する。具体的には、子機202a、202b、202cのCPU220は、設定情報254に含まれる点灯設定にしたがって、青点灯を実行する。子機202d、202e、202fのCPU220は、設定情報254に含まれる点灯設定にしたがって、緑点灯を実行する。これにより、メッシュクラスタ(グループ)ごとに点灯色を変えることが可能となる。
【0251】
<通信相手を示す表示灯の点灯手法>
図52は、無線通信の接続相手である子機202に応じて表示灯224a、224bを点灯または消灯する。親機201のCPU210は、ユーザ入力にしたがって、無線通信状態(ネットワーク接続状態)に応じた表示灯224a、224bの点灯条件を設定し、各子機202の設定情報254に保存する。子機202aの設定情報254は、子機202aが子機202bと接続中である場合、表示灯224aを消灯し、表示灯224bを点灯するといった設定条件を含む。子機202aの二つの表示灯224a、224bのうち、子機202bに向いた表示灯224bが点灯し、子機202bに向いていない表示灯224aが消灯する。これにより、子機202aが、どの方向に位置する子機202と接続中であるかを、視覚的に示すことが可能となる。
【0252】
子機202bの設定情報254は、子機202bが子機202aと接続中である場合、表示灯224bを消灯し、表示灯224aを点灯するといった設定条件を含む。子機202bの二つの表示灯224a、224bのうち、子機202aに向いた表示灯224aが点灯し、子機202aに向いていない表示灯224bが消灯する。これにより、子機202bが、どの方向に位置する子機202と接続中であるかを、視覚的に示すことが可能となる。
【0253】
図53は、さらに別の事例を示している。この例では、さらに、子機202bの設定情報254は、子機202bが子機202cと接続中である場合、表示灯224bを点灯するといった設定条件を含む。子機202bの二つの表示灯224a、224bのうち、子機202cに向いた表示灯224bが点灯する。
【0254】
子機202cの設定情報254は、子機202cが子機202bと接続中である場合、表示灯224bを消灯し、表示灯224aを点灯するといった設定条件を含む。子機202cの二つの表示灯224a、224bのうち、子機202bに向いた表示灯224aが点灯し、子機202bに向いていない表示灯224bが消灯する。これにより、子機202a、子機202b、子機202cが、どの方向に位置する子機202と接続中であるかを、視覚的に示すことが可能となる。
【0255】
このように、どの子機202と接続中である場合に、どの表示灯224を点灯させるかは、ユーザ入力に基づいて設定される。設定作業者は、子機202を工場内に設置する際に、各子機202間の位置関係を知っている。これは、設定作業中に強制点灯を実行させることで、設定作業者は、視覚的に各子機202間の位置関係を把握できるからである。
【0256】
図52図53とでは表示灯224の点灯と消灯により通信相手が存在する方向を示しているが、これは一例にすぎない。たとえば、子機202aと子機202bとが接続中である場合、子機202aの表示灯224の点灯色(または点滅周期)と子機202bの表示灯224の点灯色(または点滅周期)とが同一に制御されてもよい。これにより、ユーザは、どの子機202とどの子機202とが接続中であるかを視覚的に把握できるようになろう。
【0257】
<直接波と間接波との区別>
多数の子機202を工場内に配置する際に、各子機202の設置位置を適正化することは簡単ではない。これは工場内には多数の産業機器が設置されており、しかもそれらが移動することがありうるからである。経験上、直接波による通信は間接波による通信と比較して通信誤りが少なく、安定している。したがって、設置作業者は、各子機202間をできる限り直接波により通信させることを希望する。しかし、工場内では、各子機202が直接波により通信できているのかを区別することは簡単ではない。一般に、各子機202は、周囲の子機202から受信される信号の信号強度を監視する。ある子機202は、最も強い信号強度を送信している子機202が変わったことを検出すると、接続相手を最も強い信号強度を送信している子機202に変更し、無線メッシュネットワークを再構築する。このように信号強度に基づき、無線メッシュネットワークを再構築することが考えられるが、直接波か間接波かを考慮すれば、さらに、安定したネットワークを構築可能となろう。
【0258】
図54は、直接波と間接波とを区別する方法を示している。子機202は、受光素子700を有している。たとえば、子機202aのCPU220は、受光素子700により他の子機202bの表示灯224からの光を受光できれば、子機202aと子機202bとが直接波により通信できると判定する。これは、電波の直進性よりも光の直進性がより高いことに由来する。
【0259】
ところで、多数の子機202が存在するケースでは、受光素子700がどの子機202から光を受光できているのかを区別できない可能性がある。そこで、他の子機202のCPU220は、表示灯224の点灯周期を固有の周期に設定する。つまり、他の子機202の点灯周期と、さらに別の子機202の点灯周期とは異なる。これにより、子機202のCPU220は、受光素子700により受光された光の点灯周期を測定し、点灯周期に基づき、直接波により通信可能な他の子機202を識別してもよい。
【0260】
なお、親機201のCPU210は、各子機202の点灯周期を子機リスト253に保存するか、各子機202ごとの設定情報254に保存しておいてもよい。親機201は、いずれかの子機202から、点灯周期に対応する他の子機202の問い合わせ信号を受信してもよい。CPU210は、受信した問い合わせ信号に含まれている点灯周期に対応する他の子機202の識別情報を回答信号に含めて返信する。問い合わせを実行した子機202は、親機201からの回答信号に基づき、直接波により通信可能な他の子機202を識別してもよい。あるいは、各子機202が記憶装置221に子機リスト253を保持していてもよい。この場合、CPU220は、点灯周期に対応する他の子機202の識別情報を記憶装置221に保存されている子機リスト253から特定できるだろう。
【0261】
これにより、各子機202のCPU220は、無線メッシュネットワークを構築する際の相手となる子機202の優先度を変更することができる。たとえば、CPU220は、直接波を受信可能な他の子機202の優先度を上げ、直接波を受信できない他の子機202の優先度を下げてもよい。
【0262】
なお、WLANモジュール223がラウンドトリップタイム(RTT)の測定機能を有していることがある。この場合、CPU220は、WLANモジュール223によりRTTを計測することで、RTTに基づき直接波か間接波かを区別してもよい。たとえば、WLANモジュール223は、通信相手となる子機202の位置情報、または、WLANモジュール223を搭載された子機202と、通信相手となる他の子機202との間の見通し距離X_LOSの情報を有していてもよい。この場合、WLANモジュール223は、RTTから演算される距離Xが見通し距離X_LOSにほぼ等しければ、測定されたRTTは直接波によるものと判定できる。WLANモジュール223は、RTTから演算される距離Xが見通し距離X_LOSよりも長ければ、測定されたRTTは間接波によるものと判定できる。
【0263】
受光素子700は、たとえば、フォトダイオード、光電センサ、イメージセンサのいずれであってもよい。
【0264】
<レイアウトマップの作成>
工場に設置される設備(例:産業機器や子機202など)を管理するために、設備のレイアウトマップが作成されることがある。この際に子機202の設置位置が無線通信の安定化のためやその他の理由で変更されることがある。この場合、ユーザが手動でレイアウトマップを書き換えてよいし、以下で説明されるように自動で書き換えられてもよい。
【0265】
図55は、レイアウトマップを作成するためのネットワークカメラ801a~801cを示す。一般に、工場内においてネットワークカメラ801a~801cの設置位置は固定される。つまり、レイアウトマップにおけるネットワークカメラ801a~801cの設置位置は不変である。
【0266】
親機201は、ネットワークカメラ801a~801cと通信可能であり、それぞれから画像(動画または静止画)を取得する。親機201は、ネットワークカメラ801a~801cから取得された三つの画像を分析し、各子機202の設置位置を演算する。三つの画像に、ある特定の子機202が写っている場合、ネットワークカメラ801a~801cから特定の子機202に向かう方角が判明する。上述されたように、ネットワークカメラ801a~801cの設置位置は固定されている。よって、親機201のCPU210は、レイアウトマップにおいてネットワークカメラ801a~801cの設置位置から、特定の子機202に向かう三つの線を引く。CPU220は、三つの線が交差する位置を求め、その位置を特定の子機202の設置位置と特定する。CPU210は、レイアウトマップに特定の子機202の設置位置を書き込む。これにより、複数の子機202の設置位置をレイアウトマップに動的に反映することが可能となる。
【0267】
なお、三つの画像において特定の子機202を識別するためには、親機201は、特定の子機202の表示灯224を固有な点灯形態(例:点灯色、点灯周期)で点灯させてもよい。また、各子機202の点灯形態は子機リスト253に保存されていてもよい。これにより、CPU210は、画像における表示灯224の点灯形態を識別し、その点灯形態に対応する子機202の識別情報を子機リスト253から取得する。これにより、CPU210は、三つの画像に共通に写っている子機202を特定することが可能となる。
【0268】
この例では、三つのネットワークカメラ801a~801cが使用されているが、より多くのネットワークカメラ801が設置されていてもよい。親機201のCPU210は、N個のネットワークカメラ801から取得されたN個の画像のうち、特定の子機202が写っている少なくとも三つの画像を分析することで、特定の子機202の設置位置を分析できる。
【0269】
多少の誤差を許容する場合、CPU210は、少なくとも二つの画像を分析することで、特定の子機202の設置位置を分析できる。
【0270】
さらに、子機202の筐体400のサイズが共通である場合、CPU210は、少なくとも一つの画像を分析することで、特定の子機202の設置位置を分析できる。CPU210は、画像に写っている子機202の筐体400のサイズと位置とから、ネットワークカメラ801からその子機202まで距離と方角とを演算できる。CPU210は、ネットワークカメラ801の設置位置と、子機202の距離および方角と、から子機202の設置位置を求めることができる。
【0271】
なお、子機202が工場内を動き回る無人搬送車に取り付けられてもよい。この場合、親機201は、子機202の設置位置を無人搬送車の現在位置として求めることができる。
【0272】
<ワイヤレスネットワークマップ>
人間にとって電波は見えないことから、複数の子機202間の無線状態をユーザが把握することは困難である。また、多数の子機202が広い敷地の工場に設置されている場合、どの子機202とどの子機202とが無線リンクを確立しているかを俯瞰的に知ることができれば、ユーザにとって便利であろう。ただし、無線リンクが切断されたり、無線リンクが安定しなかったりすることはよくある。その際に、いかに早く無線リンクを復旧させるかは、産業用ワイヤレネットワークでは重要である。無線通信に関して詳細な知識を有しているユーザは少数である。そのため、無線通信に関して詳細な知識を有していないユーザを補助することで、早く無線リンクを復旧させることができれば、産業用ワイヤレスシステムの稼働率が向上するであろう。
【0273】
1.親機の構成
図56は親機201のCPU210により実現される機能と記憶装置211に記憶される情報の一例を示している。なお、すでに説明された部分には同一の参照符号が付与されている。
【0274】
状態管理部6500は、産業用無線ネットワーク204に属している複数の子機202の状態を収集して管理する。状態管理部6500は、通信状態収集部6501、警告状態収集部6502、および、切断検知部6503を有している。
【0275】
通信状態収集部6501は、産業用無線ネットワーク204に属している複数の子機202から通信状態を収集し、収集された通信状態を含む通信状態リスト6521を作成し、記憶装置211に保存する。通信状態は、たとえば、子機202に関する通信の状況および無線通信設定などを示す。通信状態は、たとえば、子機間通信で使用されている周波数(例:2.4GHz、5GHz、6GHz)、チャネル(例:ch1~ch93)、帯域幅(20/40/80MHz)、産業用無線ネットワーク204による電波使用率[%]、電波使用率において当該子機202の送信による使用率[%]、電波使用率において当該子機202の受信における使用率[%]、電波使用率における他の子機202による使用率[%]、電波使用率におけるノイズが占める率[%]、当該子機202と通信している相手子機から受信される無線信号の強度(受信強度)[%]などを含む。子機202がアクセスポイントとしても動作している場合、通信状態は、さらに、アクセスポイントに関する状態を含んでもよい。アクセスポイントに関する状態は、たとえば、アクセスポイント機能が有効か/無効か、周波数(2.4/5GHz)、チャネル(ch1-ch11、ch36-ch48)、帯域幅(20/40MHz)、アクセスポイントによる電波使用率[%]、電波使用率において当該子機202の送信による使用率[%]、電波使用率において当該子機202の受信における使用率[%]、電波使用率における他の子機202による使用率[%]、電波使用率におけるノイズが占める率[%]、および、当該アクセスポイントに接続している無線LAN機器のMACアドレスなどを含む。
【0276】
通信状態収集部6501は、子機リスト253に登録されているすべての子機202に対してポーリングを実行して通信状態を収集してもよい。あるいは、通信状態収集部6501は、子機リスト253に登録されている子機202のそれぞれが定期的に送信してくる通信状態を受信することで、通信状態を収集してもよい。
【0277】
警告状態収集部6502は、産業用無線ネットワーク204に属している複数の子機202から警告状態を収集し、収集された警告状態を含む警告状態リスト6522を作成し、記憶装置211に保存する。各子機202は自己の通信状況(例:電波受信強度、ノイズ)が警告の対象となる状況かどうかを判定し、判定結果を警告状態として保持している。たとえば、電波受信強度が所定の閾値(下限値)未満になると、電波強度低下警告とよばれる警告状態が発生する。これは、子機間の距離が長すぎたり、子機間に電波遮蔽物が挿入されたりすると、発生しうる。また、電波受信強度が所定の閾値(上限値)を超えると、子機近接警告とよばれる警告状態が発生する。これは、子機間の距離が短すぎると発生する。無線混雑警告は、周辺での無線の使用率が所定の使用率閾値を超えると、発生する警告状態である。周辺ノイズ増加警告は、周辺のノイズが所定のノイズ閾値を超えると、発生する警告状態である。温度上昇警告は、子機202の温度が閾値温度を超えると発生する警告状態である。システムプログラムバージョン警告は、子機202のシステムプログラムのバージョンが所定のバージョンよりも古い場合に発生する警告状態である。ここで、所定のバージョンとは、たとえば、親機201の機能バージョンである。親機201の機能バージョンと子機202のシステムプログラムのバージョンとが一致しない場合、所定の機能を利用することが不可能となるため、警告が必要となる。
【0278】
警告状態収集部6502は、子機リスト253に登録されているすべての子機202に対してポーリングを実行して警告状態を収集してもよい。あるいは、警告状態収集部6502は、子機リスト253に登録されている子機202のそれぞれが定期的に送信してくる警告状態を受信することで、警告状態を収集してもよい。
【0279】
なお、産業用無線ネットワーク204において生じている障害のうち重度のものはエラーと分類され、軽度のものは警告と分類されてもよい。
【0280】
切断検知部6503は、子機リスト253に登録されている複数の子機202のうちいずれかの子機202と産業用無線ネットワーク204との無線通信が切断されたかどうかを検知する。切断検知部6503は、子機リスト253に登録されている複数の子機202のそれぞれに対して、定期的に問い合わせ信号を送信する。問い合わせ信号に対する応答信号が帰ってくれば、切断検知部6503は、注目子機は切断されていないと判定する。問い合わせ信号に対する応答信号が帰ってこなければ、切断検知部6503は、注目子機は切断されたと判定する。なお、注目子機が切断された状態は、子機喪失とよばれる警告状態である。切断検知部6503は、親機201に有線接続されている子機202aについても切断検知を実行する。子機202aの喪失は、重要な障害であるため、親機用子機喪失エラーに分類される。切断検知部6503は、子機リスト253に登録されている複数の子機202について切断状態の検知結果を含む切断状態リスト6523を作成し、記憶装置211に保存する。
【0281】
モニタ画面管理部6510は、モニタとして機能するPC2などに、産業用無線ネットワーク204に関するモニタ結果を表示するための画面データ(例:HTMLファイル、CSSファイル、画像データなど)を提供する。モニタ画面管理部6510は、たとえば、マップ表示処理部6511とサジェスト管理部6512とを有している。マップ表示処理部6511は、複数の産業機器が設置されている工場内において子機202が設置されている位置と、子機202の状態とを表示するためのワイヤレスマップ6531を作成し、PC2に提供する。なお、記憶装置211は、ワイヤレスマップ6531に加えて、レイアウトマップ6532を記憶していてもよい。レイアウトマップ6532は、工場内に配置されている複数の産業機器の一を示す画像データである。マップ表示処理部6511は、レイアウトマップ6532とワイヤレスマップ6531とを重畳してPC2に提供してもよい。これにより、ユーザは、子機202の再配置や障害物の移動などを判断しやすくなるであろう。
【0282】
サジェスト管理部6512は、子機202の状態を改善するために役立つ対応策(サジェスト)をPC2などに提供する。サジェスト管理部6512は、子機リスト253に登録されている各子機202の状態を、通信状態リスト6521、警告状態リスト6522、および、切断状態リスト6523から取得し、取得された状態に対応するサジェストをサジェスト集6541から取得し、ワイヤレスマップ6531に反映する。無線通信の知識が乏しいユーザは、子機202の状態を見ただけでは、即座に適切な対応策を見つけ出すことができないことが多い。そのため、サジェスト管理部6512がユーザに対して適切な対応策を提示することで、ユーザは、産業用無線ネットワーク204を適切に運用できるようになろう。
【0283】
2.子機の構成
図57は、子機202のCPU220により実現される機能と記憶装置221に記憶される情報の一例を示している。なお、すでに説明された部分には同一の参照符号が付与されている。
【0284】
状態管理部6600は、通信状態取得部6601とエラー警告判定部6602とを有し、子機202の状態を管理する。通信状態取得部6601は、記憶装置221に記憶されている設定情報254およびSDR226から通信状態6621を取得し、記憶装置221に保存する。エラー警告判定部6602は、通信状態6621に基づきエラーイベントまたは警告イベントが発生していないどうかを判定し、判定結果(エラー警告判定結果6622)を記憶装置221に保存する。エラー警告判定結果6622は、上述された警告状態を示す情報である。通信状態6621とエラー警告判定結果6622は子機202の動作状態を示す状態情報の一例である。
【0285】
なお、エラー警告判定部6602は、親機201に搭載されてもよい。この場合、状態管理部6600は、親機201に通信状態6621を送信し、親機201の通信状態6621により得られたエラー警告判定結果6622を受信して、記憶装置221に保存する。
【0286】
表示灯管理部6610は、表示灯224の点灯態様(点灯/非点灯、連続点灯/点滅、点灯色)などを制御する。表示灯管理部6610は表示灯操作部262と連携して動作するか、表示灯操作部262の一部であるか、または、表示灯操作部262に統合されてもよい。表示色変更部6611は、エラー警告判定結果6622に応じて表示灯224の表示色を制御する。たとえば、子機202がホップ先の子機202と無線リンクを確立している場合、表示灯224は緑色で点灯する。子機202がホップ先の子機202と無線リンクを確立していない場合、表示灯224は赤色で点灯する。
【0287】
3.子機のフローチャート
図58は、子機202のCPU220がプログラム280にしたがって実行する制御方法を示している。
【0288】
S6701でCPU220(通信状態取得部6601)は、通信状態等の取得タイミングであるかどうかを判定する。取得タイミングは、定期的なタイミングであってもよいし、特定の条件(例:所定のイベントが発生したこと)が満たされたタイミングであってもよい。取得タイミングが到来すると、CPU220は、S6702に進む。取得タイミングが到来していなければ、CPU220は、S6706に進む。
【0289】
S6702でCPU220(通信状態取得部6601)は、通信状態を取得する。通信状態は、記憶装置221に設定情報254またはSDR226などから取得される。設定情報254は、たとえば、チャネル、周波数バンド、および帯域幅などを保持している。SDR226は、電波(無線信号)の受信強度、信号対干渉雑音比(SINR)、通信速度、電波使用率、および誤り率などを提供するように構成されている。
【0290】
S6703でCPU220(エラー警告判定部6602)は、取得された通信状態に基づき警告判定を実行する。たとえば、電波受信強度が所定の閾値(下限値)未満かどうかが判定されてもよい(電波強度低下警告)。電波受信強度が所定の閾値(上限値)を超えるかどうかが判定されてもよい(子機近接警告)。周辺での無線の使用率が所定の使用率閾値を超えるかどうかが判定されてもよい(無線混雑警告)。周辺のノイズが所定のノイズ閾値を超えるかどうかが判定されてもよい(周辺ノイズ増加警告)。子機202の温度が閾値温度を超えるかどうかが判定されてもよい(温度上昇警告)。なお、子機202は温度センサを内蔵していてもよい。子機202のシステムプログラム(プログラム280)のバージョンが所定のバージョンよりも古いかどうかが判定されてもよい(システムプログラムバージョン警告)。所定のバージョンは、親機201のシステムプログラムのバージョンであってもよい。
【0291】
S6704でCPU220(通信状態取得部6601、エラー警告判定部6602)は、取得された通信状態6621とエラー警告判定結果6622を記憶装置221に保持する。
【0292】
S6705でCPU220(表示色変更部6611)は、通信状態6621またはエラー警告判定結果6622の少なくとも一方に基づき表示灯224の表示状態を変更する。S6705はオプションである。通信状態の分類と表示状態(点灯態様)との関係は予め記憶装置221に保持されており、CPU220により参照されてもよい。同様に、エラーおよび警告の種類と表示状態(点灯態様)との関係は予め記憶装置221に保持されており、CPU220により参照されてもよい。
【0293】
S6706でCPU220(状態管理部6600)は、エラー警告判定結果6622またはエラー警告判定結果6622の送信要求が親機201から受信されたかどうかを判定する。送信要求が受信されると、CPU220はS6707に進む。送信要求が受信されていなければ、CPU220はS6707に進む。
【0294】
S6707でCPU220(状態管理部6600)は、通信状態6621とエラー警告判定結果6622とを親機201へ送信する。通信状態6621とエラー警告判定結果6622は状態情報として親機201へ送信される。
【0295】
4.親機のフローチャート
図59は、親機201のCPU210がプログラム250にしたがって実行する制御方法を示している。
【0296】
S6801でCPU210(通信状態収集部6501、警告状態収集部6502)は、状態情報(通信状態6621とエラー警告判定結果6622)の収集タイミングが到来したかどうかを判定する。通信状態6621の収集タイミングとエラー警告判定結果6622の収集タイミングとが異なっていてもよい。この場合は、通信状態6621とエラー警告判定結果6622とは個別に収集される。収集タイミングが到来すると、CPU210はS6802に進む。収集タイミングが到来していなければ、CPU210はS6807に進む。
【0297】
S6802でCPU210(通信状態収集部6501、警告状態収集部6502)は、子機リスト253に登録されている各子機202に対して送信要求を送信することで、状態情報(通信状態6621とエラー警告判定結果6622)を収集する。なお、このタイミングで切断検知部6503は、子機リスト253に登録されている各子機202に対して問い合わせ信号を送信することで、各子機202の切断状態を判定してもよい。
【0298】
S6803でCPU210(サジェスト管理部6512)は、通信状態6621とエラー警告判定結果6622とを確認(分析)する。たとえば、サジェスト管理部6512は、通信状態6621とエラー警告判定結果6622とのうちのいずれかがサジェスト(対応策)を必要とするイベントを含むかどうかを判定する。
【0299】
S6804でCPU210(サジェスト管理部6512)は、通信状態6621とエラー警告判定結果6622との確認結果(分析結果)に基づきサジェストが必要なイベントが発生しているかどうかを判定する。サジェストが必要であれば、CPU210はS6805に進む。サジェストが必要なければ、CPU210はS6806に進む。
【0300】
S6805でCPU210(サジェスト管理部6512)は、サジェストが必要なイベントの種類(例:電波強度低下)に応じてサジェスト集6541を参照し、サジェスト内容を決定(選定)する。
【0301】
S6806でCPU210(マップ表示処理部6511)は、通信状態6621、エラー警告判定結果6622、および、サジェスト内容に基づき、ワイヤレスマップ6531(の表示データ)を更新する。
【0302】
S6807でCPU210(マップ表示処理部6511)は、PC2からマップ要求を受信したかどうかを判定する。マップ要求は、たとえば、ワイヤレスマップ6531を提供するWebページへのアクセスであってもよい。つまり、マップ要求は、HTTPリクエストであってもよい。
【0303】
S6808でCPU210(マップ表示処理部6511)は、PC2へワイヤレスマップ6531の表示データを送信する。表示データは、ワイヤレスマップ6531を表示するWebページのHTMLファイル、CSSファイル、画像ファイル、スクリプトファイルなどを含みうる。その後、マップ表示処理部6511は、PC2からのリクエストに応じて、ワイヤレスマップ6531の表示データを更新してもよい。
【0304】
5.ワイヤレスマップのUI
5-1.正常状態
図60は、PC2の表示部7に表示されるUI6900を示している。UI6900は、PC2のWebブラウザ60によって表示部7に表示されてもよいし、専用の表示プログラムによって表示部7に表示されてもよい。図60は、エラーも警告も生じていないケースを示している。
【0305】
マップ表示部6901は、ワイヤレスマップ6531を表示する表示領域である。この例では、親機201を示す親機アイコン6951と、6個の子機202a~202fを示す6個の子機アイコン6952a~6952fとが示されている。さらに、親機201と子機202aとの間の有線リンクを示す接続線6953と、親機201と子機202b~202fとの間の無線リンクを示す接続線6954とが示されている。接続線6953、6954は、それぞれ対応する通信リンクが切断されると、消去される。
【0306】
状態表示部6902は、産業用無線ネットワーク204(産業ワイヤレスシステム)の動作状態を表示する表示領域である。システム表示部6903は、産業用無線ネットワーク204(産業ワイヤレスシステム)の総括的な動作状態を表示する表示領域である。親機表示部6904は、親機201の動作状態を表示する表示領域である。子機表示部6911a~6911fは、子機202a~202fのそれぞれの動作状態を表示する表示領域である。子機表示部6911a~6911fは、子機202の識別情報(例:登録された順序を示す番号)を表示してもよい。
【0307】
メニュー6905は、どのような情報を表示するかを選択する選択部である。この例では、子機202の動作状態を表示することが選択されている。
【0308】
レイアウト編集ボタン6909は、マップ表示部6901に表示された親機アイコン6951と子機アイコン6952a~6952fとの表示位置を編集するためのボタンである。ユーザは、レイアウト編集ボタン6909を押した後に、操作部8を通じてポインタ103により親機アイコン6951と子機アイコン6952a~6952fとをドラッグすることで、各アイコンの表示位置を編集することができる。なお、親機アイコン6951と子機アイコン6952a~6952fとの表示位置は、工場における親機201と子機202の配置位置を示してもよい。なお、親機アイコン6951と子機アイコン6952a~6952fのデフォルトの表示位置は、上述されたように、ネットワークカメラ801によって取得されてもよい。
【0309】
子機追加ボタン6907は、産業用無線ネットワーク204に参加する子機202のための子機アイコン6952をワイヤレスマップ6531に追加するためのボタンである。子機削除ボタン6908は、産業用無線ネットワーク204から削除されることになった子機202に対応する子機アイコン6952をワイヤレスマップ6531から削除するためのボタンである。
【0310】
5-2.警告状態
図61は、警告すべきイベントが発生しているときのUI6900を示している。この例では、子機03と表記された子機202cが警告状態にある。そのため、子機アイコン6952cの外枠が実線から破線に変更されている。また、子機202aと子機202cとを結ぶ無線リンクを示す接続線6954も実線から破線に変更されている。なお、実線から破線への変更は、正常状態を示す第一表示色(例:白色)から警告状態を示す第二表示色(例:黄色)への変更であってもよい。また、静止表示から点滅表示への変更が採用されてもよい。また、警告を示すアニメーションが表示されてもよい。子機202cに対応する子機アイコン6952cに対して、さらに、警告アイコン7000が表示されてもよい。
【0311】
産業用無線ネットワーク204に何らかの警告またはエラーが発生すると、システム表示部6903は、警告またはエラーに応じたメッセージを表示する。子機202cに対応する子機表示部6911cも、警告またはエラーに応じたメッセージとアイコンとを表示してもよい。
【0312】
ユーザは、子機アイコン6952a~6952fのうちのいずれかをポインタ103により指定することで、指定された子機アイコン6952についての情報を表示させることができる。ここでは、警告状態にある子機202cの子機アイコン6952cがクリックされたものと仮定する。
【0313】
図62は、UI6900において警告状態にある子機202cの状態情報が示されている。なお、UI6900における情報が表示される順番は一例にすぎない。選択された子機202cに対応する子機アイコン6952cは、強調表示(例:ハイライト表示)されてもよい。子機状態表示部7100は、ポインタ103により指定された子機アイコン6952に対応する子機202の状態を表示する表示領域である。子機名称表示部7101は、ユーザにより指定された子機202の識別情報(例:子機03)を表示する表示領域である。点灯ボタン7102は、ユーザにより指定された子機202の表示灯224を点滅させることを子機202に対して要求するボタンである。
【0314】
警告状態表示部7103は、指定された子機202cが警告状態にあることを表示する表示領域である。解説ボタン7107aは、警告状態の解説情報を表示するためのボタンである。
【0315】
電波使用率表示部7104は、通信状態に含まれている電波使用率を表示する表示領域である。この例では、電波使用率はグラフ化されているが、数値が表示されてもよい。解説ボタン7107bは、電波使用率の解説情報を表示するためのボタンである。
【0316】
電波強度表示部7105は、子機202cのホップ先から送信される無線信号の受信強度を表示する表示領域である。解説ボタン7107cは、電波強度の解説情報を表示するためのボタンである。電波強度表示部7105は電波使用率表示部7104の上に配置されてもよい。
【0317】
詳細情報ボタン7106は、子機202cについての通信状態や警告状態などについてより詳細な情報を表示することを要求するボタンである。
【0318】
マップ表示部6901において、指定された子機アイコン6952cは強調表示(例:細線から太線への変更、表示色の変更、アニメーション表示)が適用されてもよい。接続線6954についても強調表示が適用されてもよい。
【0319】
図63は電波強度低下警告を示すサジェストダイアログ7200を示している。サジェストダイアログ7200は、たとえば、ポインタ103により解説ボタン7107aが押されると表示されるUIである。この例では、警告状態の解説情報7211が含まれている。たとえば、電波強度低下警告の解説情報7211は、「子機間の無線信号の受信強度が低下し、無線性能が低下している状態です。下記のいずれかを実施して無線性能を改善してください。」といったメッセージを含んでもよい。
【0320】
また、この例のサジェストダイアログ7200は、電波強度低下を改善するための、三種類のサジェスト(対応策)を示すサジェスト内容7212a~7212cを含んでいる。サジェスト内容7212a~7212cは、サジェスト内容を示す画像(例:静止画、動画、アニメーション)と、説明文とを含んでもよい。サジェスト内容7212aは、子機間の距離を短くすることで、電波強度が改善することを示している。サジェスト内容7212aは、子機間の推奨距離を示してもよい。サジェスト内容7212aは、二つの子機を近づけることを示すアニメーションを含んでもよい。
【0321】
サジェスト内容7212bは、子機間に存在する障害物(電波遮蔽物)を除去すること、および、子機をより高いところに設置することなど、子機間の見通し(ラインオブサイト)を確保することを示している。サジェスト内容7212bは、障害物を取り去るアニメーションや子機の位置を高くすることを示すアニメーションを含んでもよい。
【0322】
サジェスト内容7212cは、二つの子機間に新たな子機を追加することを示している。新たな子機は、二つの子機を中継することになる。サジェスト内容7212cは、新たな子機が二つの子機間に挿入されることを示すアニメーションを含んでもよい。
【0323】
OKボタン7201は、サジェストダイアログ7200を消去して、UI6900に戻るためのボタンである。
【0324】
図64は、詳細表示ボタン7106が押されると表示される詳細情報7300を示している。詳細情報7300は、通信状態リスト6521から取得された子機202cについての通信状態6621を含む。この例では、子機202cの型式情報、有線ポート(LANポート38i)の通信状況(例:産業機器に対して確立された有線リンクの状態、受信速度、送信速度)、SDR226から取得された子機間通信の情報などが含まれている。なお、詳細情報7300が、子機状態表示部7100に表示可能な情報量(表示面積)に対して、より多くの情報を含む場合、子機状態表示部7100にはスクロールバーが表示されてもよい。ユーザは、ポインタ103によりスクロールバーを操作することで、詳細情報7300の全体を確認することが可能となる。
【0325】
図65は、子機喪失が発生したときのUI6900を示している。この例では、切断検知部6503により子機202cの喪失が検知されている。子機202cに対応する子機アイコン6952cが子機の喪失を示すアイコンに変更される。さらに、子機アイコン6952aと子機アイコン6952cとを結ぶ接続線6954が消去されている。システム表示部6903は、子機喪失が生じていることを示すメッセージを表示する。子機表示部6911cも、子機喪失が生じていることを示すメッセージおよびマークを表示する。
【0326】
図66は、図65に示された子機アイコン6952cがポインタ103によりクリックされたときに表示される子機状態表示部7100を示している。とりわけ、警告状態表示部7103は、子機喪失が発生していることを示すメッセージとマークとを表示する。電波使用率表示部7104と電波強度表示部7105はデータを表示できない。これは、子機喪失が発生すると、子機202cの最新の通信状態等を子機202cから取得できなくなってしまうからである。
【0327】
図67は、図66に示された解説ボタン7107aが押されたときに表示されるサジェストダイアログ7200を示している。解説情報7211は、子機202cと通信ができなくなっていることを示すメッセージを含む。サジェスト内容7212d~7212eは、子機喪失が発生したときにサジェスト集6541から取得されたサジェスト情報を含む。サジェスト内容7212dは、子機202cの電源状態を確認すべきこと、子機の使用を終了する場合は子機削除画面から子機202cを削除すべきことなどを示唆するメッセージと画像(例:静止画、動画、アニメーション)を含みうる。サジェストダイアログ7200にも子機削除ボタン6908(子機削除画面へのリンク)が設けられていてもよい。これにより、喪失した子機202cを子機リスト253とワイヤレスマップ6531とから削除することができる。
【0328】
サジェスト内容7212eは、子機202cと子機202aとの間の通信状態が悪い可能性があること、子機間の距離を見直すべきこと、子機間の見通しを確保すべきことなどを示唆するメッセージと画像(例:静止画、動画、アニメーション)を含みうる。
【0329】
図68は、産業用無線ネットワーク204においてシステムエラーが発生したときのUI6900を示している。親機アイコン6951は、親機201において無線状態とは関係のないエラー(例:システムバージョンが古い)が発生していることを示すアイコンに変更されている。また、親機アイコン6951の近くには、エラーマーク7700が表示されている。これにより、親機201においてエラーが発生していることが示唆されている。
【0330】
この例では、さらに、子機202cと子機202dにも警告が発生している。そのため、子機アイコン6952c、6952dのアイコンが警告の発生を示すアイコンに変更されている。子機アイコン6952c、6952dは、さらに警告アイコン7000も表示される。接続線6954も、警告を示す破線に変更されている。
【0331】
システム表示部6903は、産業用無線ネットワーク204にエラーが発生していることを示すメッセージとマークとを表示する。子機表示部6911c、6911dは対応する子機202c、202dが警告状態にあることを示すメッセージとアイコンとを表示する。
【0332】
図69は、子機近接警告に対応するサジェストダイアログ7200を示している。解説情報7211は、「子機間の無線信号の受信強度が極めて高く、無線性能に影響があります。下記の対策を実施してください。」といった、子機近接警告を説明するメッセージを含む。
【0333】
サジェスト内容7212fは、子機間を離すべきこと、および、子機間の推奨距離が1m以上であることを示すメッセージおよび画像(例:静止画、動画、アニメーション)を含みうる。
【0334】
図70は、無線混雑警告に対応するサジェストダイアログ7200を示している。解説情報7211は、「周囲での無線使用率が高く、無線の性能が低下している状態です。下記の対策を実施してください。」といった、無線混雑警告を説明するメッセージを含む。
【0335】
サジェスト内容7212gは、子機202のチャネルを変更すべきこと、および、周囲に存在する他の無線機器のチャネルを変更すべきことを示すメッセージおよび画像(例:静止画、動画、アニメーション)を含みうる。サジェスト内容7212hは、子機202に接続されている産業機器の通信量を削減すべきこと、および、新たな親機を追加して、産業用無線ネットワーク204を複数の無線ネットワークに分離すべきことを示すメッセージおよび画像(例:静止画、動画、アニメーション)を含みうる。
【0336】
子機設定ボタン7901は、チャネルを変更するための子機設定画面を呼び出すためのボタンである。
【0337】
5-3.レイアウト編集
図71は、レイアウト編集ボタン6909が押されると表示されるレイアウト編集UI8000を示している。レイアウト編集UI8000は、レイアウト表示部8001と、詳細編集部8002とを有している。マップ表示処理部6511は、レイアウト編集UI8000を通じて入力される編集指示にしたがってワイヤレスマップ6531を編集する。
【0338】
レイアウト表示部8001は、子機リスト253に登録されているすべての子機202の子機アイコン6952と、親機201の親機アイコン6951とを表示する。ユーザは、ポインタ103により子機アイコン6952または親機アイコン6951を移動させることができる。子機アイコン6952の表示位置と親機アイコン6951の表示位置は、ワイヤレスマップ6531に反映されて保存される。
【0339】
詳細編集部8002は、ワイヤレスマップ6531の全体を縮小して表示する全体表示部8003を有する。背景画像設定部8004は、ワイヤレスマップ6531に対して背景像画像を重ねて(透過的に)表示するかどうかを設定する設定部である。背景画像設定部8004において背景画像を設定することが選択されると、背景画像の画像ファイル(例:レイアウトマップ6532)を指定するためのダイアログが表示されてもよい。透明度設定部8005は、ワイヤレスマップ6531に対して重畳される背景画像の透明度を設定するためのスライドバーである。アイコン表示色メニュー8006は、親機アイコン6951と子機アイコン6952の表示色(例:ライト、ダーク、ビビッド)の指定するためのメニューである。アイコンサイズ設定部8007は、親機アイコン6951と子機アイコン6952の表示サイズ(例:大、中、小)を指定するためのメニューである。
【0340】
戻るボタン8008は、レイアウトの編集結果を破棄してUI6900に戻るためのボタンである。初期化ボタン8009は、レイアウトの編集結果を破棄して各アイコンの表示位置を初期位置に戻すボタンでる。終了ボタン8010は、レイアウトの編集結果をワイヤレスマップ6531に保存して、UI6900に戻るためのボタンである。
【0341】
図72は、レイアウト編集UI8000において背景画像がワイヤレスマップ6531に対して重畳表示された例を示している。デフォルトでは、背景画像の透明度は低く設定されており、背景画像の存在が強調されている。背景画像としては、工場内のマップ(複数の産業機器が配置されていることを示すレイアウトマップ6532)が採用されてもよい。
【0342】
図73は、レイアウト編集UI8000において背景画像の透明度が増加された例を示している。透明度設定部8005を通じて背景画像の透明度が増加されているため、レイアウトマップ6532の濃度が低下されている。
【0343】
図74は、レイアウト編集UI8000において親機アイコン6951と子機アイコン6952a~6952fの表示位置が調整された例を示している。ユーザは、レイアウトマップ6532における複数の産業機器に対して、親機アイコン6951と子機アイコン6952a~6952fを関連付ける。とりわけ、子機202a~202fのLANポート38iには何らかの産業機器(例:プレス加工機、ボール盤、旋盤、センサ)が接続される。さらには、子機202a~202fは、対応する産業機器の頂面や産業機器の近く敷設されたポール等に設置される。そのため、ユーザは、レイアウトマップ6532における産業機器の設置位置に合わせて、親機アイコン6951と子機アイコン6952a~6952fの表示位置を編集する。これにより、どの無線機器とどの産業機器とが接続されているかを視覚的に把握できるだけでなく、無線機器の設置位置も視覚的に把握可能となる。
【0344】
図75は、レイアウト編集が完了した後に表示されるUI6900を示している。マップ表示部6901は、ワイヤレスマップ6531とレイアウトマップ6532とを重畳して表示する。とりわけ、レイアウトマップ6532が指定された透明度で背景画像として表示されている。また、ワイヤレスマップ6531において、親機アイコン6951、子機アイコン6952a~6952fの表示位置は、レイアウト編集により変更されている。また、接続線6954は、子機リスト253において接続関係にあることが登録されている子機間を結ぶように配置される。また、上述されたように、警告やエラーが発生すると、親機アイコン6951と子機アイコン6952a~6952fの表示状態が警告やエラーに応じた表示状態に変更される。
【0345】
5-4.冗長経路の表示
図76は、UI6900に冗長経路の表示ボタン8500が追加されたことを示している。産業用無線ネットワーク204がメッシュネットワークである場合、子機202a~202fのホップ先は無線状態に応じて動的に変更されることがある。これは、自動復旧機能とか、リルート機能と呼ばれる。
【0346】
そのため、PC2において表示ボタン8500が押されると、親機201のマップ表示処理部6511は、メインの無線区間を示す接続線6954に加え、冗長経路を示す接続線8501a、8501bをワイヤレスマップ6531に追加し、PC2に表示されるUI6900を更新してもよい。この例では、表示ボタン8500がオンとされている状態において、子機アイコン6952a~6952fのうちいずれかがポインタ103により指定される。この例では、子機アイコン6952eがクリックされたため、子機202eについての冗長経路を示す接続線8501a、8501bが追加で表示される。表示ボタン8500がオフされると、接続線8501a、8501bも削除される。また、同時に複数の子機202について冗長経路が示されてもよい。ユーザは、冗長経路を確認することで、より多くの冗長経路が確保されるよう子機202の配置を変更したり、より多くの冗長経路が確保されるように新たな子機202を追加したりしてもよい。
【0347】
5-5.その他のエラーや警告に対するサジェスト内容
周辺ノイズが増加することは警告状態の一つである。この場合、サジェストダイアログ7200の解説情報7211は、周辺ノイズが多いこと、それが原因で無線性能(通信速度など)が低下していること、などを示すメッセージを含む。また、サジェスト内容7212は、ノイズ源と子機との距離を長くすべきことを示すメッセージや画像を含みうる。
【0348】
子機202の温度上昇も警告状態の一つである。この場合、サジェストダイアログ7200の解説情報7211は、子機202の内部温度が高いこと、それが原因で通信速度が低下していること、などを示すメッセージを含む。また、サジェスト内容7212は、子機202に接続されている産業機器の通信量を減らすべきこと、設置環境(周囲環境)の温度(室温)を下げるべきこと、子機202に直射日光を当てないようにすべきこと、子機202のエアフローを確保すべきこと、などを示すメッセージや画像を含みうる。
【0349】
システムプログラムバージョン警告は、親機201のシステムプログラムのバージョンに対して子機202のシステムプログラムのバージョンが古い場合などに発生する警告状態である。この場合、サジェストダイアログ7200の解説情報7211は、子機202のシステムプログラムが古いために新機能を使用できないこと、システムプログラムを更新すべきこと、などを示唆する。
【0350】
親機用子機喪失エラーは、親機201に接続されている子機202aが喪失するという警告状態である。解説情報7211は、親機201に有線接続される子機202aが見当たらないこと、子機202aが喪失すると産業用無線ネットワーク204の全体が停止すること、などを示すメッセージを含む。また、サジェスト内容7212は、親機201に対して有線接続されている子機202aの電源スイッチをオンにすべきことを示すメッセージと画像を含む。サジェスト内容7212は、親機201のLANポート38e~38hのいずれかに子機202aを接続すべきことを示すメッセージと画像を含んでもよい。
【0351】
子機未登録が検知された場合(警告状態)、解説情報7211は、親機201に正式に登録されていない子機202が存在すること、それが原因で産業用無線ネットワーク204が正常に動作しない可能性があること、などを示唆するメッセージを含む。サジェスト内容7212は、表示灯224が赤点滅している子機202をリセットスイッチにより初期化すべきこと、子機追加ボタン6907により子機追加化画面に遷移して子機202を正式に追加すべきことなどを示唆するメッセージと画像を含む。
【0352】
6.その他
サジェスト内容7212は画像を含みうる。より頻繁に発生しうる警告状態のための画像は動画やアニメーションとされ、稀な警告状態のための画像は静止画とされてもよい。
【0353】
また、一つの子機202に対して複数の警告状態やエラー状態が重畳的に発生することがある。この場合、CPU210(マップ表示処理部6511)は、複数の警告状態やエラー状態のそれぞれに紐づけられている表示優先度にしたがって、優先度の高い警告状態やエラー状態を有線的にUI6900に表示してもよい。たとえば、無線通信を不可能にする警告状態の優先度は高く、無線性能を低下させる警告状態の優先度は相対的に低くてもよい。つまり、警告の深刻度に応じて優先度が決定されていてもよい。なお、警告状態とエラー状態に紐づけられている優先度は記憶装置211に記憶されていてもよい。
【0354】
[観点1]
親機として動作するネットワークコントローラ(例:親機201)と、
各々が産業機器と有線接続されるポート(例:LANポート38i)を有し、前記ネットワークコントローラにより管理され、子機として動作する複数の無線ノード(例:子機202)と、
を有し、前記ネットワークコントローラから提供される前記複数の無線ノードについての通信状態を表示装置(例:PC2、表示器、Webブラウザ60)に表示させる産業用ワイヤレスシステムであって、
前記複数の無線ノードのそれぞれの通信状態を示す状態情報(例:通信状態6621,エラー警告判定結果6622、問い合わせ信号に対する応答信号)を収集する収集部(例:CPU210、状態管理部6500)と、
前記収集部により収集された状態情報に基づき前記複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態(例:)とのいずれかであるかを視覚的に表すワイヤレスネットワークマップ(例:ワイヤレスマップ6531)を前記表示装置に表示させるマップ表示処理部と、
前記通信状態が、前記複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定する選定部(例:CPU210、サジェスト管理部6512)と、
前記選定部により選定された前記対応策の候補を前記表示装置に表示させる候補表示処理部(例:CPU210、マップ表示処理部6511、サジェスト管理部6512)と、
を有する、産業用ワイヤレスシステム。
【0355】
このように、本実施例によれば、ユーザは、産業用ワイヤレスシステムにおけるワイヤレスネットワークの状態を視覚的に把握できるだけでなく、非正常状態の対応策を知ることができる。また、無線通信の知識が乏しいユーザであっても産業用ワイヤレスシステムの健全性と無線性能を維持しやすくなる。よって、産業用ワイヤレスシステムにおけるユーザビリティが向上する。
【0356】
[観点2]
前記複数の非正常状態は、少なくとも、前記複数の無線ノードのうちいずれかの無線ノードについて通信リンクが切断された第1の非正常状態(例:子機喪失状態)と、前記無線ノードのうちいずれか無線ノードの電波受信強度が所定の閾値を下回った第2の非正常状態(例:電波強度低下警告状態)と、を含み、
前記候補表示処理部は、
前記通信状態が前記第1の非正常状態である場合、当該第1の非正常状態を緩和または解消するための第1の対応策の候補(例:電波遮蔽物の除去、見通しの確保)を前記表示装置に表示させ、
前記通信状態が前記第2の非正常状態である場合、当該第2の非正常状態を緩和または解消するための第2の対応策の候補(例:子機間距離の短縮)を前記表示装置に表示させる、
観点1に記載の産業用ワイヤレスシステム。
【0357】
このように非正常状態に応じて適切な解説策が提案されるため、無線通信の知識が乏しいユーザであっても産業用ワイヤレスシステムの健全性と無線性能を維持しやすくなる。
【0358】
なお、第1の非正常状態は、通信リンクが切断された状態である必要は無く、第1の非正常状態の障害の程度が第2の非正常状態の障害の程度よりも高ければよい。たとえば、第1の非正常状態において実現される無線性能(例:通信速度、電波強度、信号対干渉雑音比)が第2の非正常状態において実現される無線性能よりも低ければよい。
【0359】
[観点3]
前記第1の対応策の候補は、
前記第1の非正常状態にある無線ノードの電源スイッチがオンになっていることを確認することと(例:サジェスト内容7212d)、
前記第1の非正常状態にある無線ノードと他の無線ノードとの間の距離を確認することと(例:サジェスト内容7212e)、
前記第1の非正常状態にある無線ノードと前記他の無線ノードとの間の見通し線を確認することと(例:サジェスト内容7212e)、
前記第1の非正常状態にある無線ノードの周囲に存在する無線機器との電波干渉をチェックすることと(例:サジェスト内容7212g)、
当該無線ノードのチャンネルを変更することと(例:サジェスト内容7212g)、
のうちの少なくとも一方を含む、観点2に記載の産業用ワイヤレスシステム。
【0360】
これにより、無線リンクが切断されたことで喪失状態にある子機202を復旧することが可能となる。図67には、サジェスト内容7212gは記載されていないが、子機喪失の際にもサジェスト内容7212gが選定されて表示されてもよい。なぜなら、子機喪失の原因が、無線チャネルの競合や電波ノイズの影響であることもあるからである。
【0361】
[観点4]
前記第2の対応策の候補は、
前記第2の非正常状態にある第1の無線ノードと、当該第1の無線ノードと通信している他の第2の無線ノードとの間の距離を短くすることと(例:サジェスト内容7212a)、
前記第1の無線ノードと、前記第2の無線ノードとの間に、第三の無線ノードを追加することと(例:サジェスト内容7212c)、
前記第1の無線ノードと、前記第2の無線ノードとの間に見通し線が確保されるように、前記第1の無線ノードと、前記第2の無線ノードとのうちの少なくとも一方を移動させるか、前記第1の無線ノードと、前記第2の無線ノードとの間に存在する障害物を移動させることと(例:サジェスト内容7212b)、
のうちの少なくとも一方を含む、観点2に記載の産業用ワイヤレスシステム。
【0362】
これにより、ユーザは、電波受信強度を改善することが可能となる。
【0363】
[観点5]
前記通信状態が、前記第1の非正常状態で、かつ、前記第2の非正常状態である場合、前記候補表示処理部は、前記第1の対応策の候補を前記第2の対応策の候補よりも優先的に表示する、観点2に記載の産業用ワイヤレスシステム。
【0364】
複数の非正常状態に対応する複数の対応策が同時に、または、並行して表示されてもよいが、複数の対応策に対して優先順位付けがなされてもよい。たとえば、複数の非正常状態が同時に発生した場合、より緊急度または優先度の高い非正常状態の対応策が優先的に表示されてもよい。これにより、ユーザは、即座に取り組むべき対応策が何であるかを容易に把握できるであろう。
【0365】
[観点6]
前記複数の無線ノードのそれぞれは、表示灯と、前記表示灯の表示態様を制御する制御部(例:CPU220、表示灯管理部6610)と、をさらに有し、
前記複数の無線ノードのうちいずれかの無線ノードの前記通信状態がいずれかの非正常状態である場合、前記候補表示処理部は、当該無線ノードについて当該非正常状態を緩和または解消するための対応策の候補を前記表示装置に表示させ、前記制御部は、当該非正常状態にある当該無線ノードの前記表示灯の表示態様(例:点灯色の変更)を変更する、観点1に記載の産業用ワイヤレスシステム。
【0366】
これにより、ユーザは、表示灯を確認することでエラーまたは警告の発生をしることができる。さらに、ユーザは、表示装置で対応策を確認することで、即座に、エラーまたは警告を解消できるようになろう。
【0367】
[観点7]
前記複数の非正常状態は、
前記複数の無線ノードのうちのいずれかの無線ノードの通信が相対的に重度の障害(例:子機喪失、無線性能の著しい低下)を起こしうるエラー状態と、
前記複数の無線ノードのうちのいずれかの無線ノードの通信が相対的に軽度の障害(例:無線性能の低下)を起こしうる警告状態と、
を含み、
前記複数の無線ノードのうちのいずれかの無線ノードの通信状態が前記警告状態にある場合、前記候補表示処理部は、当該警告状態を緩和または解消するための対応策を前記表示装置に表示させる、観点6に記載の産業用ワイヤレスシステム。
【0368】
一般に、エラー状態に先立って警告状態が発生するであろう。つまり、警告状態はエラー状態の前触れである。したがって、ユーザは、警告状態が発生したときに適切な対応策を実行することで、警告状態からエラー状態への遷移を抑制することができるようになろう。
【0369】
[観点8]
前記エラー状態は、前記無線ノードの通信リンクが切断された状態であり、
前記警告状態は、前記無線ノードの前記通信リンクは維持されているが、当該無線ノードにより受信された電波の受信強度が閾値よりも低下した状態である、
観点7に記載の産業用ワイヤレスシステム。
【0370】
このように、電波の受信強度が閾値よりも低下した状態は、通信リンクが切断された状態の前触れである。ユーザは、電波の受信強度が閾値よりも低下したタイミングで適切な対応策を施すことで、通信リンクの切断を予防できるであろう。
【0371】
[観点9]
前記ネットワークコントローラは、
前記複数の無線ノードのうち注目無線ノードに対して問い合わせ信号を送信し、当該当合わせ信号に対する応答信号が受信されたかどうかに応じて、前記注目無線ノードの前記通信リンクが切断されているかどうかを監視する監視部をさらに有する、観点8に記載の産業用ワイヤレスシステム。
【0372】
一般に、子機喪失が発生すると、その子機から状態情報を取得することが困難となる。そのため、ネットワークコントローラ(親機201)は、各無線ノード(子機202)に対してキープアライブを実行してもよい。親機201は、複数の子機202から一つの子機202を注目子機として選択して、問い合わせ信号を送信する。親機201は、注目子機から応答信号を受信できたかどうかに応じて、その注目子機を喪失したかどうかを判定できる。このように、注目子機から状態情報を取得できなくても、親機201は、注目子機の通信状態を判定できる。
【0373】
[観点10]
前記通信状態が前記エラー状態である場合、前記表示装置と前記表示灯との両方がユーザに対する報知を実行し、
前記通信状態が前記警告状態である場合、前記表示装置がユーザに対する報知を実行し、前記表示灯はユーザに対する報知を実行しない、観点7に記載の産業用ワイヤレスシステム。
【0374】
このように、通信状態に応じて報知手法が変更されてもよい。つまり、緊急度の高い障害が検知された場合は、より多くの報知手段により報知が実行され、緊急度の低い障害が検知された場合は、より少ない報知手段により報知が実行される。
【0375】
[観点11]
前記ワイヤレスネットワークマップは、
前記複数の無線ノードのそれぞれを視覚的に表すノードオブジェクト(例:子機アイコン6952)と、
前記複数の無線ノードについての通信状態を視覚的に表すラインオブジェクト(例:接続線6954)と
を含み、
前記マップ表示処理部は、前記複数の無線ノードのうち、いずれかの無線ノードの通信状態が変化すると、前記いずれかの無線ノードに対応する前記ノードオブジェクトまたは前記ラインオブジェクトの少なくとも一方の表示態様を変更する、観点1に記載の産業用ワイヤレスシステム。
【0376】
このように、ノードオブジェクトまたはラインオブジェクトの少なくとも一方の表示態様を変更することで、ユーザは、問題が発生している無線ノードとその無線区間とを容易に把握できるであろう。
【0377】
[観点12]
前記マップ表示処理部は、複数の産業機器のレイアウトを視覚的に表すレイアウト図(例:レイアウトマップ6532)と、前記ワイヤレスネットワークマップとを対応付けて前記表示装置に表示させる、観点1に記載の産業用ワイヤレスシステム。
【0378】
これにより、ユーザは、無線ノードの配置と産業機器の配置とを関連付けて理解することが可能となろう。また、ユーザは、どこに無線ノードを移動させるべきかなどを産業機器と関連付けて決定することが容易となろう。
【0379】
[観点13]
前記マップ表示処理部は、
前記レイアウト図に対して前記ワイヤレスネットワークマップを透過させて、または、
前記ワイヤレスネットワークマップに対して前記レイアウト図を透過させて、前記表示装置に表示させる、観点12に記載の産業用ワイヤレスシステム。
【0380】
ワイヤレスネットワークマップとレイアウト図とを重畳させると、ユーザにとってこれらを見にくくなることがあるかもしれない。そこで、一方を他方に対して透過させることで、ユーザは、ワイヤレスネットワークマップとレイアウト図とを理解しやすくなろう。
【0381】
[観点14]
前記ネットワークコントローラは、Webサーバを有し、
前記マップ表示処理部は、前記Webサーバを介して、前記表示装置で動作しているWebブラウザに、前記ワイヤレスネットワークマップを表示させる、観点1に記載の産業用ワイヤレスシステム。
【0382】
このようにWeb技術を採用することで、パーソナルコンピュータ、タブレット端末、スマートフォンなどを表示装置として利用することが容易となろう。
【0383】
[観点15]
親機として動作するネットワークコントローラと、各々が産業機器と有線接続されるポートを有し、前記ネットワークコントローラにより管理され、子機として動作する複数の無線ノードと、を有し、前記ネットワークコントローラから提供される前記複数の無線ノードについての通信状態を表示装置に表示させる産業用ワイヤレスシステムにおける、前記ネットワークコントローラであって、
前記複数の無線ノードのそれぞれの通信状態を示す状態情報を収集する収集部と、
前記収集部により収集された状態情報に基づき前記複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態とのいずれかであるかを視覚的に表すワイヤレスネットワークマップを前記表示装置に表示させるマップ表示処理部と、
前記通信状態が、前記複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定する選定部と、
前記選定部により選定された前記対応策の候補を前記表示装置に表示させる候補表示処理部と、
を有する、ネットワークコントローラ。
【0384】
[観点16]
親機として動作するネットワークコントローラと、
各々が産業機器と有線接続されるポートを有し、前記ネットワークコントローラにより管理され、子機として動作する複数の無線ノードと、
を有し、前記ネットワークコントローラから提供される前記複数の無線ノードについての通信状態を表示装置に表示させる産業用ワイヤレスシステムの制御方法であって、
前記複数の無線ノードのそれぞれの通信状態を示す状態情報を収集する収集工程と、
前記収集工程において収集された状態情報に基づき前記複数の無線ノードのそれぞれの通信状態が、正常に通信を実行可能な正常状態と、正常に通信を実行できないそれぞれ異なる複数の非正常状態とのいずれかであるかを視覚的に表すワイヤレスネットワークマップを前記表示装置に表示させるマップ表示処理工程と、
前記通信状態が、前記複数の非正常状態のうちの少なくとも一つの非正常状態に該当する場合に、当該少なくとも一つの非正常状態を解消または緩和するための対応策の候補を選定する選定工程と、
前記選定工程において選定された前記対応策の候補を前記表示装置に表示させる候補表示処理工程と、
を有する、産業用ワイヤレスシステムの制御方法。
【0385】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
図48
図49
図50
図51
図52
図53
図54
図55
図56
図57
図58
図59
図60
図61
図62
図63
図64
図65
図66
図67
図68
図69
図70
図71
図72
図73
図74
図75
図76