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

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

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

特開2025-1528産業用ワイヤレスシステム、一次無線ノードおよび二次無線ノード
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025001528
(43)【公開日】2025-01-08
(54)【発明の名称】産業用ワイヤレスシステム、一次無線ノードおよび二次無線ノード
(51)【国際特許分類】
   H04W 84/18 20090101AFI20241225BHJP
   G05B 19/05 20060101ALI20241225BHJP
   H04W 84/12 20090101ALI20241225BHJP
【FI】
H04W84/18
G05B19/05 Z
G05B19/05 L
H04W84/12
【審査請求】未請求
【請求項の数】23
【出願形態】OL
(21)【出願番号】P 2023101161
(22)【出願日】2023-06-20
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】田中 晴也
(72)【発明者】
【氏名】辻川 良輔
【テーマコード(参考)】
5H220
5K067
【Fターム(参考)】
5H220AA04
5H220BB03
5H220CC01
5H220CC07
5H220CC09
5H220CX05
5H220CX09
5H220DD04
5H220HH01
5H220HH08
5H220JJ12
5H220JJ22
5H220JJ24
5H220JJ26
5H220JJ42
5H220JJ53
5H220KK03
5K067EE02
(57)【要約】
【課題】産業用ワイヤレスシステムにおけるデータの転送の遅延等を抑制しつつ、モバイル機器にデータを円滑に表示させる。
【解決手段】産業用ワイヤレスシステムは、第一産業用機器に有線接続される一次無線ノードと、一次無線ノードと無線接続される二次無線ノードを含み、第二産業用機器と第一産業用機器との間のデータ通信を媒介する。一次無線ノードは、第一産業用機器に有線接続される通信ポートと、モバイル機器と無線通信する通信ポートと、二次無線ノードと無線通信する通信ポートを有する。モバイル機器と一次無線ノードとが無線通信するための第一無線ネットワークが構築される。二次無線ノードと一次無線ノードとが無線通信するための第二無線ネットワークが構築される。第一無線ネットワークは第一無線周波数バンドを使用する。第二無線ネットワークはそれよりも高い第二無線周波数バンドを使用する。
【選択図】図55
【特許請求の範囲】
【請求項1】
データを収集する第一産業用機器に有線接続される一次無線ノードと、前記第一産業用機器に向けて前記データを送出する第二産業用機器に有線接続され、かつ、前記一次無線ノードと無線接続される一つ以上の二次無線ノードと、を少なくとも含み、前記データを送出する前記第二産業用機器と前記データを収集する前記第一産業用機器との間のデータ通信を媒介する産業用ワイヤレスシステムにおける前記一次無線ノードであって、
前記第一産業用機器に有線接続される有線通信ポートと、
前記第一産業用機器に対応するモバイル機器と無線通信する第一無線通信ポートと、
前記一つ以上の二次無線ノードと無線通信する第二無線通信ポートと、
前記第一無線通信ポートを介して接続される前記モバイル機器と前記一次無線ノードとが無線通信するための第一無線ネットワークを構築し、前記第二無線通信ポートを介して接続される前記一つ以上の二次無線ノードと前記一次無線ノードとが無線通信するための第二無線ネットワークを構築する構築部と、
前記第二産業用機器から送信され、前記一つ以上の二次無線ノードと前記第二無線ネットワークと前記第二無線通信ポートとを介して受信されたデータを、前記有線通信ポートを介して前記第一産業用機器に転送し、前記第一産業用機器から送信され、前記有線通信ポートを介して受信された前記第二産業用機器または前記第二無線ネットワークの監視情報を、前記第一無線通信ポートを介して前記モバイル機器に転送する転送部と、
を有し、
前記第一無線ネットワークでは第一無線周波数バンドが使用され、
前記第二無線ネットワークでは第二無線周波数バンドが使用され、
前記第二無線周波数バンドは、前記第一無線周波数バンドよりも高い周波数バンドである、一次無線ノード。
【請求項2】
前記第一無線周波数バンドは、2.4GHzバンド、または、5GHzバンドであり、
前記第二無線周波数バンドは、6GHzバンドである、請求項1に記載の一次無線ノード。
【請求項3】
前記一つ以上の二次無線ノードは、
前記一次無線ノードと無線通信する第一の二次無線ノードと、
前記第一の二次無線ノードと無線通信し、かつ、前記第一の二次無線ノードを介して前記一次無線ノードと通信する三次無線ノードと、
を含む、請求項1に記載の一次無線ノード。
【請求項4】
前記第一産業用機器は、プログラマブルロジックコントローラであり、
前記モバイル機器は、Webブラウザを用いて前記データまたは前記監視情報を表示するモバイルコンピュータである、請求項1に記載の一次無線ノード。
【請求項5】
前記第一産業用機器と前記第二産業用機器はそれぞれ、プログラマブルロジックコントローラであり、
前記第一産業用機器と前記第二産業用機器は、前記一次無線ノードと前記一つ以上の二次無線ノードとを跨いで確立されるPLCリンクを構築しており、
前記第一産業用機器と前記第二産業用機器とは、前記PLCリンクを介して、それぞれ記憶領域である複数のデバイスメモリに記憶されているデバイス値である前記データの送受信を所定周期で実行する、請求項1に記載の一次無線ノード。
【請求項6】
前記第一産業用機器は、プログラマブルロジックコントローラであり、
前記第二産業用機器は、センサまたはプログラマブルロジックコントローラであり、
前記第一産業用機器は、前記第二産業用機器からデータをリアルタイムで収集し、
前記モバイル機器は、前記一次無線ノードを介して前記第一産業用機器と通信して、前記第二産業用機器から収集されたデータを時系列に沿ってグラフとして表示する表示機器である、
請求項1に記載の一次無線ノード。
【請求項7】
前記第一産業用機器は、プログラマブルロジックコントローラであり、
前記第二産業用機器は、センサまたはプログラマブルロジックコントローラであり、
前記モバイル機器は、前記第二産業用機器からデータをリアルタイムで収集し、前記第二産業用機器から収集されたデータを時系列に沿ってグラフとして表示する表示機器である、
請求項1に記載の一次無線ノード。
【請求項8】
前記第一産業用機器は、プログラマブルロジックコントローラであり、
前記モバイル機器は、ラダープログラムを編集する編集装置であり、
前記第二産業用機器は、前記ラダープログラムを実行するプログラマブルロジックコントローラであり、
前記モバイル機器は、前記第二産業用機器から収集されたデータを前記ラダープログラムに関連付けて表示するデバッグ処理を実行する、
請求項1に記載の一次無線ノード。
【請求項9】
前記第一産業用機器は、プログラマブルロジックコントローラであり、
前記第二産業用機器は、センサまたはプログラマブルロジックコントローラであり、
前記第一産業用機器は、
前記第二産業用機器の前記データをリアルタイムで収集して分析する分析部と、
前記分析部により生成された分析結果を示す表示情報を作成する作成部と、
前記表示情報を、クライアントとして動作する前記モバイル機器に対して提供するサーバと、
を有する、請求項1に記載の一次無線ノード。
【請求項10】
前記サーバは、Webサーバを含み、
前記モバイル機器は、Webブラウザを有し、
前記Webサーバは前記表示情報を前記Webブラウザに提供する、請求項9に記載の一次無線ノード。
【請求項11】
前記第一産業用機器は、さらに、前記一次無線ノードと前記一つ以上の二次無線ノードとの間に構築される前記第二無線ネットワークの通信状態を示す状態情報を収集して、前記状態情報を前記モバイル機器に提供する、請求項1に記載の一次無線ノード。
【請求項12】
前記第一無線ネットワークは無線LANであり、
前記第二無線ネットワークは無線メッシュネットワークである、
請求項1に記載の一次無線ノード。
【請求項13】
前記構築部は、前記第二無線ネットワークを構築する無線ノード間のホップ数が小さくなるように、前記第二無線ネットワークを構築する、請求項1に記載の一次無線ノード。
【請求項14】
前記一次無線ノードは、ネットワークコントローラと、前記ネットワークコントローラと有線接続され、前記一つ以上の二次無線ノードおよび前記モバイル機器と無線接続される無線ノードと、を含み、
前記一つ以上の二次無線ノードはそれぞれ、無線ノードから構成されており、
前記ネットワークコントローラは、前記第一無線ネットワークで前記第一無線周波数バンドが使用され、前記第二無線ネットワークで前記第二無線周波数バンドが使用されるように前記無線ノードを設定するための設定情報を、前記一次無線ノードから前記一つ以上の二次無線ノードのそれぞれへ配布するように構成されている、請求項13に記載の一次無線ノード。
【請求項15】
前記一次無線ノードと前記一つ以上の二次無線ノードはそれぞれアクセスポイントとして動作することで、前記第一無線ネットワークを構築し、
前記モバイル機器は、前記一次無線ノードの前記第一無線ネットワークから前記一つ以上の二次無線ノードの前記第一無線ネットワークに切り替え、前記一つ以上の二次無線ノードおよび前記一次無線ノードを介して前記第一産業用機器に接続する、請求項1に記載の一次無線ノード。
【請求項16】
前記一次無線ノードの前記第一無線ネットワークのSSIDと、前記一つ以上の二次無線ノードの前記第一無線ネットワークのSSIDとが共通である、請求項15に記載の一次無線ノード。
【請求項17】
前記一次無線ノードの前記第一無線ネットワークのSSIDと、前記一つ以上の二次無線ノードの前記第一無線ネットワークのSSIDとが異なっている、請求項15に記載の一次無線ノード。
【請求項18】
前記一つ以上の二次無線ノードは、前記一次無線ノードから受信される設定情報に基づき、自己の前記第一無線ネットワークを構築するか否かを決定する、請求項15に記載の一次無線ノード。
【請求項19】
データを収集する第一産業用機器に有線接続される一次無線ノードと、前記第一産業用機器に向けて前記データを送出する第二産業用機器に有線接続され、かつ、前記一次無線ノードと無線接続される二次無線ノードと、を少なくとも含み、前記データを送出する前記第二産業用機器と前記データを収集する前記第一産業用機器との間のデータ通信を媒介する産業用ワイヤレスシステムにおける前記二次無線ノードであって、
前記第二産業用機器に有線接続される有線通信ポートと、
第一無線ネットワークにおいて前記第一産業用機器に対応するモバイル機器と無線通信する第一無線通信ポートと、
第二無線ネットワークにおいて前記一次無線ノードと無線通信する第二無線通信ポートと、
前記第二産業用機器から送信されるデータを、前記第二無線通信ポート、前記第二無線ネットワーク、および前記一次無線ノードを介して、前記第一産業用機器へ転送し、前記第一産業用機器から送信され、前記一次無線ノード、前記第二無線ネットワーク、および前記第二無線通信ポートを介して受信される、前記第二産業用機器または前記第二無線ネットワークの監視情報を、前記第一無線通信ポートを介して前記モバイル機器に転送する転送部と、
を有し、
前記第一無線ネットワークでは第一無線周波数バンドが使用され、
前記第二無線ネットワークでは第二無線周波数バンドが使用され、
前記第二無線周波数バンドは、前記第一無線周波数バンドよりも高い周波数バンドである、二次無線ノード。
【請求項20】
前記第一無線周波数バンドは、2.4GHzバンド、または、5GHzバンドであり、
前記第二無線周波数バンドは、6GHzバンドである、請求項19に記載の二次無線ノード。
【請求項21】
前記二次無線ノードは、中継ノードを介して、前記一次無線ノードと通信する、請求項19に記載の二次無線ノード。
【請求項22】
第一産業用機器に有線接続される一次無線ノードと、前記一次無線ノードに無線接続される二次無線ノードと、前記二次無線ノードに無線接続される三次無線ノードと、を有し、前記二次無線ノードまたは前記三次無線ノードに有線接続される第二産業用機器と前記第一産業用機器との間で送受信されるデータを転送する産業用ワイヤレスシステムであって、
前記一次無線ノードは、
前記第一産業用機器に有線接続される第一有線通信ポートと、
第一無線周波数バンドで前記第一産業用機器に対応するモバイル機器と無線通信可能な第一無線通信ポートと、
前記第一無線周波数バンドよりも高い第二無線周波数バンドで前記二次無線ノードと無線通信する第二無線通信ポートと、
を有し、
前記二次無線ノードは、
前記第二産業用機器に有線接続可能な第二有線通信ポートと、
前記第一無線周波数バンドで前記モバイル機器と無線通信可能な第三無線通信ポートと、
前記第二無線周波数バンドで前記一次無線ノードおよび前記三次無線ノードと無線通信する第四無線通信ポートと、
を有し、
前記三次無線ノードは、
前記第二産業用機器に有線接続可能な第三有線通信ポートと、
前記第一無線周波数バンドで前記モバイル機器と無線通信可能な第五無線通信ポートと、
前記第二無線周波数バンドで前記二次無線ノードと無線通信する第六無線通信ポートと、
を有し、
前記一次無線ノード、前記二次無線ノードまたは前記三次無線ノードは、前記第一産業用機器と前記モバイル機器との間で実行されるデータ通信を中継する第一無線ネットワークを構築し、
前記一次無線ノード、前記二次無線ノードおよび前記三次無線ノードは、前記第一産業用機器と前記第二産業用機器との間のデータ通信を中継するための第二無線通信ネットワークを構築し、
前記モバイル機器は、前記一次無線ノード、前記二次無線ノードまたは前記三次無線ノードのうちの一つと前記第一無線ネットワークを介して無線接続し、
前記モバイル機器は、前記第一産業用機器により前記第二産業用機器から収集されたデータと、前記一次無線ノード、前記二次無線ノードおよび前記三次無線ノードから収集された前記第二無線通信ネットワークに関する通信状態を示す状態情報と、を表示するように構成されている、産業用ワイヤレスシステム。
【請求項23】
前記一次無線ノードは、
前記第一無線通信ポートと前記第二無線通信ポートとを有する無線ユニットと、
前記一次無線ノード、前記二次無線ノードおよび前記三次無線ノードを制御し、前記無線ユニットの筐体から独立した筐体に収容されたコントローラユニットと、
を有し、
前記コントローラユニットは、前記第一有線通信ポートと、前記一次無線ノードの前記無線ユニットと有線接続する第四有線通信ポートと、を有し、
前記無線ユニットは、
前記コントローラユニットの前記第四有線通信ポートに有線接続される第五有線通信ポートを有する、請求項22に記載の産業用ワイヤレスシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業用ワイヤレスシステム、一次無線ノードおよび二次無線ノードに関する。
【背景技術】
【0002】
工場内には工作機械等の複数の産業機器が設置され、複数の産業機器はプログラマブルロジックコントローラ(PLC)によって制御される。複数の産業機器間または複数のPLC間を無線メッシュネットワークで結ぶことで、工場内での産業機器のレイアウトが変更されても、工場内の産業用ネットワークを維持することが可能となる。無線メッシュネットワークは、ネットワークを構成する複数のノード間の電波状態を考慮して、適切と思われるシングルホップまたはマルチホップの通信経路を選択し、良好な通信品質を確保する(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014-22981号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、PLCは、様々なデータを他のPLC等から取得したり、表示装置に様々な情報を表示させたりすることができる。たとえば、PLCは、無線メッシュネットワークを介して、産業機器や他のPLCから各種のデータを定期的に収集してもよい。PLCで収集されたデータは、PLCに有線接続された表示装置で再生されてもよい。このデータはリアルタイムで再生されたり、過去に取得された運転記録データ(履歴)として再生されたりする。従来の有線接続に代えて、無線メッシュネットワークが採用されることで、PLC、他の各種の産業機器およびセンサ等の設置の自由度が向上する。
【0005】
その一方で、PLCにより収集されたデータを表示する表示装置は、依然として、PLCに対して有線接続されていた。したがって、PLCと、表示装置として機能するモバイル機器とを無線ネットワークと接続することが求められる。この場合、無線メッシュネットワークに接続される無線ノードには、他の無線ノードと通信するための設定と、モバイル機器と通信するための別の設定とが必要となり、ユーザには高度な設定知識が必要となっていた。
【0006】
また、PLCまたは産業機器と接続される複数の無線ノードにより構築された無線メッシュネットワークに、表示装置としてのモバイル機器を参加させると、無線メッシュネットワークが混雑し、PLCによるデータの収集に遅延やロスが発生するかもしれない。この場合、PLCの監視に支障を来たすことになる。
【0007】
そこで、本発明は、産業用ワイヤレスシステムにおけるデータの転送の遅延等を抑制しつつ、モバイル機器にデータを円滑に表示させることを目的とする。
【課題を解決するための手段】
【0008】
本発明は、たとえば、
データを収集する第一産業用機器に有線接続される一次無線ノードと、前記第一産業用機器に向けて前記データを送出する第二産業用機器に有線接続され、かつ、前記一次無線ノードと無線接続される一つ以上の二次無線ノードと、を少なくとも含み、前記データを送出する前記第二産業用機器と前記データを収集する前記第一産業用機器との間のデータ通信を媒介する産業用ワイヤレスシステムにおける前記一次無線ノードであって、
前記第一産業用機器に有線接続される有線通信ポートと、
前記第一産業用機器に対応するモバイル機器と無線通信する第一無線通信ポートと、
前記一つ以上の二次無線ノードと無線通信する第二無線通信ポートと、
前記第一無線通信ポートを介して接続される前記モバイル機器と前記一次無線ノードとが無線通信するための第一無線ネットワークを構築し、前記第二無線通信ポートを介して接続される前記一つ以上の二次無線ノードと前記一次無線ノードとが無線通信するための第二無線ネットワークを構築する構築部と、
前記第二産業用機器から送信され、前記一つ以上の二次無線ノードと前記第二無線ネットワークと前記第二無線通信ポートとを介して受信されたデータを、前記有線通信ポートを介して前記第一産業用機器に転送し、前記第一産業用機器から送信され、前記有線通信ポートを介して受信された前記第二産業用機器または前記第二無線ネットワークの監視情報を、前記第一無線通信ポートを介して前記モバイル機器に転送する転送部と、
を有し、
前記第一無線ネットワークでは第一無線周波数バンドが使用され、
前記第二無線ネットワークでは第二無線周波数バンドが使用され、
前記第二無線周波数バンドは、前記第一無線周波数バンドよりも高い周波数バンドである、一次無線ノードを提供する。
【発明の効果】
【0009】
本発明によれば、産業用ワイヤレスシステムにおけるデータの転送の遅延等を抑制しつつ、モバイル機器にデータを円滑に表示させることが可能となる。
【図面の簡単な説明】
【0010】
図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】PC2またはプログラマブル表示器による情報の表示処理を説明する図
図52】PC2によるリアルタイムデータの表示処理を説明する図
図53】PC2によるプログラム編集処理とデバッグ処理を説明する図
図54】複数の無線ネットワークの構築例を説明する図
図55】複数の無線ネットワークの構築例を説明する図
図56】複数の無線ネットワークの構築例を説明する図
図57】アクセスポイントの設定画面を説明する図
図58】アクセスポイントの設定画面を説明する図
図59】PLCの運転履歴と無線ネットワークの運転履歴の収集および表示処理を説明する図
図60】運転履歴の収集設定を説明するフローチャート
図61】他のPLCの運転履歴を収集する処理を説明するフローチャート
図62】無線ネットワークの運転履歴を収集する処理を説明するフローチャート
図63】親機による状態情報の収集処理を説明するフローチャート
図64】運転履歴の分析処理と表示処理とを説明するフローチャート
図65】リアルタイム監視用のユーザインタフェースの一例を示す図
図66】分析結果を確認するためのユーザインタフェースの一例を示す図
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0012】
プログラマブルロジックコントローラ(PLC)はファクトリーオートメーションにおいて製造機器や搬送装置、検査装置などの産業機械を制御するコントローラである。PLCはプログラマーによって作成されるラダープログラムなどのユーザプログラムを実行することで様々な拡張ユニットや被制御機器を制御する。PLCの動作を監視するために、PLCが保持しているデータを収集して、PLCの外部に接続されたコンピュータ(PC)やHMI(ヒューマンインタフェース:表示装置)でデータをモニタすることが提案されている(特開2019-016325号公報)。
【0013】
ところで、ユーザはプログラム作成支援装置でユーザプログラムを作成し、PLCに転送する。PLCはユーザプログラムを実際に実行することで、様々な製品を製造したりする。ここで、ユーザプログラムを作成したときには想定していなかったような稀なイベントが発生することで、製造ラインがストップしてしまうことがある。製造ラインがストップしてしまうことはないものの、注意が必要なイベントが発生することもある。その一方で、PLCは、所定のイベントが発生すると、その発生時刻の前後において収集されたデバイス値をバッファから読み出して記録する。これは、運転記録(稼働ログ)と呼ばれてもよい。データ活用ユニットが、この記録を分析して分析レポートを作成し、PLCの外部にあるWebブラウザに提供してもよいだろう。ここで、分析レポートともに稼働ログを再生できれば、ユーザは、分析レポートの内容を理解しやすくなるだけでなく、所定のイベントが発生した原因を突き止めやすくなるであろう。したがって、分析レポートと、稼働ログとは紐づけられている必要があろう。仮に、分析レポートと稼働ログとが紐づけられていなければ、ユーザが、分析レポートに対応する稼働ログを特定することは、困難になろう。そこで、以下の複数の実施形態のうちの一部の実施形態は、PLCにおける運転記録と分析結果との関係を適切に保持することを目的とする。
【0014】
<システム構成>
はじめにプログラマブルロジックコントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。
【0015】
図1は本発明の実施の形態によるPLCシステムの一構成例を示す概念図である。図1が示すように、PLCシステムは、ラダープログラムなどのユーザプログラムを編集するPC2と、工場等に設置される各種の産業機械を統括的に制御するPLC1とを備えている。PCはパーソナルコンピュータの略称である。ユーザプログラムは、ラダー言語やSFC(シーケンシャルファンクションチャート)などのフローチャート形式のモーションプログラムなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、基本ユニット3で実行されるユーザプログラムは、ラダープログラムと仮定される。PLC1は、CPUが内蔵された基本ユニット3と、1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。
【0016】
基本ユニット3は、表示部5および操作部6を備えている。表示部5は、基本ユニット3又は基本ユニット3に取り付けられている拡張ユニット4の動作状況などを表示することができる。操作部6に対するユーザによる操作内容に応じて表示部5は表示内容を切り替える。表示部5は、通常、PLC1内のデバイスに格納されている現在値(デバイス値)やPLC1内で生じたエラー情報などを表示する。デバイスとは、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の記憶領域を指す名称(シンボル)であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型がある。ビットデバイスは1ビットのデバイス値を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。
【0017】
拡張ユニット4はPLC1の機能を拡張するために用意されている。拡張ユニット4には、その拡張ユニット4の機能に対応するフィールドデバイス(被制御装置)10が接続されることがあり、これにより、各フィールドデバイス10が拡張ユニット4を介して基本ユニット3に接続される。フィールドデバイス10は、センサやカメラなどの入力機器であってもよいし、アクチュエータなどの出力機器であってもよい。また、一つの拡張ユニット4に対して複数のフィールドデバイスが接続されてもよい。
【0018】
たとえば、拡張ユニット4bはモータ(フィールドデバイス10)を駆動してワークの位置決めする位置決めユニットであってもよいし、カウンタユニットであってもよい。カウンタユニットは手動パルサなどのエンコーダ(フィールドデバイス10)からの信号をカウントする。
【0019】
拡張ユニット4aは、基本ユニット3においてシンボル(デバイス、変数など)からシンボル値を収集し、シンボル値を分析して分析結果を含む分析レポートを作成する。拡張ユニット4aは、分析レポートを外部のPC2へ提供するWebサーバを有していてもよい。基本ユニット3はCPUユニットと呼ばれることもある。本実施形態では、拡張ユニット(分析ユニット)4aがシンボル値を収集する収集部を有する例が説明される。しかし、当該収集部については、基本ユニット3に設けられてもよいし、他の拡張ユニットに設けられてもよい。また、拡張ユニット4aは、収集したデータを基本ユニット3からの指示や所定のタイミングに従って分析を行う分析装置として機能してもよい。本実施形態では、拡張ユニット4aが分析装置として機能する例が説明される。ただし、本発明を限定する意図は存在しない。基本ユニット3が分析装置として機能してもよいし、PC2などの外部装置が分析装置として機能してもよい。PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。
【0020】
PC2は主にプログラマーによって操作されるコンピュータである。PC2はプログラム作成支援装置(監視装置)と呼ばれてもよい。PC2は、たとえば、携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータまたはスマートフォンであって、表示部7および操作部8を備えている外部コンピュータである。外部コンピュータとは、PLC1の外部にあるコンピュータである。PLC1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2を用いて作成される。その作成されたラダープログラムは、PC2内でニモニックコードに変換される。PC2は、たとえば、USB(Universal Serial Bus)ケーブルなどの通信ケーブル9aを介してPLC1の基本ユニット3に接続される。ただし、通信ケーブル9aは、通信ケーブル9bと同様な、ネットワークケーブルなどであってもよい。なお、PC2は、ユーザにより画面設定されるプログラマブル表示器であってもよい。この場合、分析結果等を表示する画面はユーザにより設定されてもよい。プログラマブル表示器がWebブラウザ機能を搭載しており、Webブラウザ機能により分析結果等を表示してもよい。
【0021】
図1は示していないが、PC2の操作部8には、PC2に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、PC2は、USBケーブル以外の他の通信ケーブル9bを介して、PLC1の基本ユニット3または拡張ユニット4aに対して着脱可能に接続されてもよい。通信ケーブル9bは、いわゆるLANケーブルであってもよい。PC2は、通信ケーブル9a、9bを介さず、PLC1の基本ユニット3に対して無線通信によって接続されてもよい。
【0022】
<プログラム作成支援装置>
図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はソリッドステートドライブの略称である。
【0023】
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へ転送してもよい。
【0024】
<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が担ってもよい。
【0025】
ここで、ユニット内部バス90について、補足説明する。このユニット内部バス90は、入出力リフレッシュに使用される通信バスである。入出力リフレッシュとは、基本ユニット3と拡張ユニット4との間でデバイス値を更新する処理である。入出力リフレッシュは、ラダープログラムが一回実行されるごとに(つまり、一スキャンごとに)、実行される。
【0026】
運転記録記憶部37に記録される運転記録(デバイス値とその収集時刻など)とは、PLC1の運転状態をスキャンタイムレベルで記録したものであってもよい。たとえば、運転記録は、PLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とを、一スキャン毎に時系列に記録することであってもよい。運転に関わる全てのシンボルとは、たとえばラダープログラム等のユーザプログラムに使用される全てのシンボルであってもよいし、ユーザにより選択されるプログラム単位やユニット単位に含まれるすべてのシンボルであってもよい。この場合、運転記録の対象となるシンボルは、プログラム単位やユニット単位のように、有意な単位で一括して選択されてもよい。運転記録の対象となるシンボルは、個別に加除(追加または削除)されてもよい。たとえば、トラブル発生時に、トラブル発生時刻の周辺においてPLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とが、一スキャン毎に時系列に記録した運転記録が生成されてもよい。ユーザは運転記録に基づきトラブル発生時に何が起きたかを後からでも正確に把握することが可能となろう。運転記録には、その時の状況を再現するために多くの情報が含まれるかもしれない。情報が多いと運転記録のデータ容量が大きくなり、運転記録の取り扱い(データ処理など)が難しくなったり、運転記録の収集に負荷がかかったりする。そのため、収集対象となるシンボルは、プログラム単位やユニット単位でユーザにより選択できるようになっている。
【0027】
また、運転記録には、シンボルに加え、時系列のカメラ画像がその撮像時刻ともに含まれていてもよい。これにより、ユーザは、たとえば、トラブル発生時に、トラブル発生時刻の周辺に遡って何が起きたかを後からでも正確に把握できるようになろう。とりわけ、設備の外観変化を示すカメラ画像が運転記録に含まれていることは、状況を把握することに役立つであろう。そのため、ユーザプログラムの実行の時系列と連動してカメラ画像が記録されてもよい。HMI(ヒューマンマシンインタフェース)やPCなどの外部機器からの書き込み履歴やPLCからの書き込み履歴が変化点イベントとして運転記録に含まれてもよい。これにより、たとえば、トラブル発生前後にどのような変化点イベントがあったかをユーザは時系列で確認できる。
【0028】
別の観点から補足すると、運転記録は、保存トリガ条件の成立に応じて保存された、デバイス、拡張ユニット4のバッファメモリ、変数など、スキャンタイム毎のデータの総称と呼ばれてもよい。運転記録には、保存トリガ条件の成立に応じて保存された、フレームごとに拡張ユニット(カメラユニット)で取得した映像データが含まれてもよい。また、運転記録には、保存トリガ条件の成立に応じて保存された、エラーやデバイス値変更などのイベント履歴が含まれてもよい。さらに、運転記録には、保存トリガ条件の成立時に実行されていたラダープログラム(プロジェクトデータ)が含まれてもよい。運転記録が生成された際のプロジェクトデータを運転記録に含ませることで、プロジェクトデータに複数のバージョンが存在しても、運転記録を生成したときに実際に使用されていたプロジェクトデータにより状況を再現することができる。運転記録には、分析レポートが含まれてもよい。
【0029】
拡張ユニット4はCPU41とメモリ42を備えている。拡張ユニット4bのCPU41bは、デバイスに格納された基本ユニット3からの指示(デバイス値)にしたがってフィールドデバイス10を制御する。また、CPU41bは、フィールドデバイス10の制御結果をバッファメモリとよばれるデバイスに格納する。デバイスに格納された制御結果は入出力リフレッシュによって基本ユニット3に転送される。また、デバイスに格納されている制御結果は、基本ユニット3からの読み出し命令にしたがって、入出力リフレッシュとは異なるタイミングであっても、基本ユニット3に転送されることがある。メモリ42はRAMやROMなどを含む。とりわけ、RAMにはバッファメモリとして使用される記憶領域が確保されている。メモリ42は、フィールドデバイス10によって取得されたデータ(例:静止画データや動画データ)を一時的に保持するバッファを有してもよい。
【0030】
データ活用ユニット(分析ユニット)として機能する拡張ユニット4aのCPU41aは、通信部43と通信ケーブル9bを介してPC2と通信する。通信部43は、ネットワーク通信を実行する通信回路を含む。CPU41aは、メモリ42aに格納されたデータ活用プログラムを実行し、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。CPU41aは、データ活用アプリケーションとして運転記録分析アプリケーションが設定されると、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。たとえば、CPU41aは、運転記録データに含まれるシンボル値を分析することで、非正常シンボルと当該シンボルが非正常となった時刻とを特定し、非正常シンボルと当該シンボルが非正常となった時刻とを対応づけた分析結果を含む分析レポートを作成する。運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための情報を含んでいる。そのため、運転記録データは分析レポートと紐づけて管理されてもよい。また、運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための多くのシンボルのシンボル値を含む。そのため、運転記録データのデータサイズは大きくなりやすい。たとえば、CPU41aは、運転記録データの中から、分析レポートに必要なデータを読み出して、分析レポート用のデータとして運転記録データに追加保存してもよい。ここで、追加保存とは、たとえば、分析レポートに必要なデータを運転記録データから読み出してコピーし、コピーされたデータをタグ付けすることで作成された分析レポート用のデータを、運転記録データに追加保存することをいう。このようにデータをタグ付けしておくなど、データ加工を適用することで、分析レポートを作成しやすくなる。
【0031】
運転記録データにカメラ画像が含まれてもよい。この場合、カメラ画像を再生することにより、ユーザは、運転記録の保存イベント発生時刻周辺の状況をより詳細に把握することができる。分析レポートはカメラ画像を再生するUI(ユーザインターフェース)を含んでもよい。カメラ画像はデータサイズが大きい。そのため、カメラ画像を再生するUIにおいてクリックやスクロール操作を受け付けた時などに、必要なカメラ画像データだけが部分的にダウンロードされてもよい。たとえば、CPU41aは、分析レポートを作成する際、カメラ画像を分析レポートにおける表示順序に対応して加工したり、時刻とカメラ画像の保存位置の対応関係を示すインデックス情報を生成したりしてもよい。これにより、CPU41aは、表示時刻(再生用の内部時計の時刻)に対応したカメラ画像を高速かつ部分的にダウンロードしてもよい。
【0032】
分析レポートは、狭義には、分析結果そのものを意味するが、広義には、分析結果を表示するWebアプリケーションやそのユーザインタフェースを意味することがある。CPU41aは、たとえば、デバイス値が正常範囲内かどうかや、デバイス値が変化するタイミングが正常範囲内かどうかなどを判定する。デバイス値が変化するタイミングが正常範囲内かどうかは、たとえば、デバイス値が"1"(オン)である期間の長さが正常範囲かどうかであってもよい。また、ある工程またはサイクルにおけるデバイス値の変化回数が正常範囲内かどうかが判定されてもよい。あるデバイスから収集されたデバイス値が正常条件を満たしていない場合、そのデバイスは、いつもと違う振る舞いのデバイスであるとして、非正常デバイスと呼ばれてもよい。CPU41aは、Web形式の分析レポートを作成し、通信部43および通信ケーブル9bを介して分析レポートをPC2のWebブラウザに提供してもよい。CPU31がプロトコル変換機能を有している場合、CPU41aは、ユニット内部バス90、CPU31、通信部33および通信ケーブル9aを介して、分析レポートをPC2に送信してもよい。分析レポートは、グラフ表示部品や数値表示部品などを有してもよい。これらの表示部品は、フロントエンドの構造を記述するマークアップデータ(例:HTMLデータ)、装飾を記述するスタイルデータ(例:CSSデータ)および動的な処理を記述するコード(例:JavaScript(登録商標)コード)などにより実現される。HTMLはハイパーテキストマークアップ言語の略称である。CSSはカスケーディングスタイルシートの略称である。
【0033】
図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に分析レポートを表示する。
【0034】
ダウンロード部53は、運転記録などを基本ユニット3からダウンロードして記憶装置12に格納する。デバッグ部54は、ユーザプログラムをデバッグし、表示部7にデバッグ結果を表示する。ラダーモニタ部56は、ユーザプログラムに記述されているシンボルに格納される値を運転記録から取得して、ユーザプログラム中のシンボルに対してその値を強調表示する。たとえば、ラダープログラムのラダー図に描画されるデバイスに対して、運転記録から取得されたデバイス値を関係づけて表示してもよい。リレーションマップ部55は、分析レポートにおいて表示される非正常デバイスに関連しているデバイスを示すリレーションマップを作成して表示部7に表示する。非正常デバイスとは、そのデバイス値が正常条件を満たしていないか、または、そのデバイス値の変化するタイミングが正常条件を満たしていないデバイスである。リレーションマップは、たとえば、非正常デバイスに対して影響を与えるデバイス(入力デバイス)と非正常デバイスとの関係を視覚的に示すUIである。リレーションマップは、非正常デバイスから影響を受けるデバイス(出力デバイス)と非正常デバイスとの関係も表示してもよい。デバッグ部54は、非正常デバイスとその関連デバイスとをラダープログラムを分析することで取得し、リレーションマップを作成する。
【0035】
受付部57は、ユーザプログラムに対する編集操作およびデバッグ処理に対する操作などを受け付ける。通知処理部58は、PLC1において通知が発行されているかどうかをポーリングにより取得し、取得した通知を表示部7に表示する。通知としては、たとえば、分析レポートの作成が完了したことなどである。再生部59は、たとえば、受付部57または連携部64から入力される再生要求に応じて、ダウンロード部53に運転記録をダウンロードさせて記憶装置12に保存させる。再生要求には、たとえば、運転記録を特定可能な識別情報(例:固有の識別情報やPLC1における保存パス名)などが含まれていてもよい。再生部59は、記憶装置12に保存されている運転記録を再生して表示部7に表示する。再生部59は、デバッグ部54の代わりに、ラダーモニタ部56を有していてもよい。あるいは、再生部59がデバッグ部54に含まれていてもよい。再生部59は、PLC1からリアルタイムで取得される時系列のデバイス値を波形化して表示したり、運転記録に含まれる時系列のデバイス値を波形化して表示したりしてもよい。
【0036】
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における運転記録の再生時刻とが同期するように時刻管理を実行する。
【0037】
図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に通知する。
【0038】
なお、CPU31またはCPU41aは、オペレータの入力に従って後述される学習モデルの生成や、分析、分析レポートの生成に利用する制御サイクルを設定するための設定部を有していてもよい。制御サイクルは、サイクルの基準となるタイミングを指定することで設定される。制御サイクルの設定はサイクル設定と呼ばれてもよい。たとえば、サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とを含む。サイクル設定は、サイクルの開始タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの開始タイミングの設定情報と、サイクルの終了タイミングを規定するシンボル名と、シンボル値の立上り/立下りのエッジ情報とによるサイクルの終了タイミングの設定情報を含んでいてもよい。設定部による制御サイクルの設定はCSV等のファイル形式でPLC1に提供され、設定部がCSV等のファイルを読み出して制御サイクルを設定してもよい。たとえば、設定部によって設定された制御サイクルは、当該サイクルに同期するデバイスを分類して当該分類情報を属性情報としてモデルへ付加したり、分析対象とするデバイスを制御サイクルによって絞ったり、制御サイクルに同期して表示される分析レポートを生成したりするために用いられる。設定される制御サイクルは複数であってもよい。また、制御サイクルは必ずしも設定される必要はない。たとえば、正常時におけるシンボル値の取り得る値が予め決まっている場合、シンボル値がその予め決まっている取り得る値か否かを判定することで、非正常シンボルかどうかが判定されてもおい。
【0039】
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に送信される。
【0040】
<ユーザインタフェース(UI)>
図6および図7は表示部7に表示されるプロジェクト編集プログラム14aのUI100を示している(プロジェクト編集プログラム14aを実行することによりUI100が表示部7に表示される)。モード選択メニュー101は、プロジェクト編集プログラム14aが備える複数のモードを選択可能に表示する。複数のモードは、編集モード、モニタモード、リプレイモード(デバッグモード)などを含む。図6に示された編集モードは、プログラム表示領域104に表示されるラダープログラムを編集するモードである。プロジェクト表示領域102は、プロジェクトを構成する情報を表示する。この情報としては、PLC1を構成している基本ユニット3および拡張ユニット4の仕様情報および設定情報、デバイスの割り当て情報、運転記録の設定情報、ラダープログラムなどがある。編集モードにおいて、プログラム表示領域104は、プロジェクト表示領域102において指定されたラダープログラムを編集可能に表示する。図6においては、入力部、出力部および加工部状態と命名されたプログラムモジュールを有するラダープログラムが表示されている。とりわけ、複数のプログラムモジュールはタブ107によって選択可能であり、図6では、入力部に対応するタブ107が選択されている。
【0041】
モニタモードは、PLC1により発行される通知を待ち受けるモードである。拡張ユニット4aが分析結果を作成したことを示す通知を発行すると、CPU11は、通知を表示するためのダイアログなどを表示部7に表示する。モニタモードのユーザインタフェースは、基本的に、編集モードと同様である。
【0042】
図8は通知ダイアログ108を示している。通知ダイアログ108は、通知を発行したアプリケーションまたは機能の名称、通知の内容、通知の発生件数、通知の発生日時などを表示する。通知ダイアログ108を表示するための通知情報には、分析レポートのURLが含まれている。表示ボタン109が押し下げられると、CPU11は、分析レポートのURLをWebブラウザ60に渡す。これにより、Webブラウザ60は、URLで指定されたWebサーバにアクセスして、分析レポートの表示データ(Webアプリケーション61)を取得して、分析レポートを表示する。
【0043】
図7が示すように、リプレイモードは、運転記録をラダープログラム上で再現したり、運転記録を波形として表示したりするモードである。ポインタ103は、操作部8に対するユーザ操作に連動して移動し、ボタンなどを押し下げするために使用されたり、オブジェクトを選択したりするために使用される。たとえば、プロジェクト表示領域102において表示された分析レポートがポインタ103によりダブルクリックされると、CPU11はWebブラウザ60に分析レポートを表示させる。
【0044】
リプレイモードでは、プログラム表示領域104に、運転記録に含まれているデバイス値がラダープログラム上に表示される。リレーデバイス(ビットデバイス)の場合、デバイス値が0であるか、1であるかが視覚的に区別可能に表示される。視覚的に区別可能とは、異なる色による表示や異なるアイコンの表示を含む。ワードデバイスの場合、たとえば、デバイス値が10進化されて表示されてもよい。その他、16進化されたデバイス値など、他の数値表示形式が採用されてもよい。
【0045】
デバイス値は時間とともに変化しうる時系列データであるため、各デバイス値は、収集された時刻を示す時刻情報に紐づけられている。シークバー105aは、デバイス値の再生時刻を示すとともに、再生時刻を指定するためにポインタ103により操作されることがある。運転記録の再現中は、再生時刻の経過に連動して、シークバー105aが左から右へと移動する。時刻指定部106aは、再生時刻を進めたり、再生時刻を戻したり、自動的な再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。
【0046】
[分析レポート]
図9はWebブラウザ60がWebアプリケーション61を実行することで表示部7に表示される分析レポート110を示す。なお、分析レポート110は、プロジェクト編集プログラム14aのUI100と一緒に表示部7に表示される。つまり、UI100のウインドウと、分析レポート110のウインドウとは異なるウインドウとして表示される。ただし、UI100と分析レポート110とが単一のウインドウ内に表示されてもよい。また、分析レポート110は、表示部7に表示されてもよいし、プログラマブル表示器、タブレット、スマートフォンなどの他の表示装置に表示されてもよい。
【0047】
検知マップ111は、PLC1において実行される複数の工程のそれぞれについて開始タイミングと終了タイミングとを表示する。一般に、開始タイミングから終了タイミングまでの期間はサイクルと呼ばれる。図9において、横方向に延びる矩形は、工程が実行中である期間(サイクル)を示している。この矩形は、左が古く、右が新しいことを示す。時刻バー112aは、運転記録データの保存トリガが発生したタイミングを示している。上述したように、運転記録データは、保存トリガが発生したタイミング以前に収集されたデータとこのタイミングより後に収集されたデータとを保持している。そのため、時刻バー112aの前後にデータが示されている。一方で、時刻バー112eは、選択中の時刻を示しており、ユーザのドラッグ操作またはドラッグアンドドロップ操作により、所望の時刻(左右)に移動できるようになっている。ドラッグアンドドロップではなく、ユーザが検知マップの所望位置をクリックすると、その所望位置に時刻バー112eがジャンプするようにしても構わない。このようにして、ユーザは、時刻バー112eを操作することにより、分析結果の表示を更新することができる。時刻バー112eの操作に従って、後述する、検知リスト114、画像表示領域113、および、分析コメント116の少なくとも1つまたは全部を連動して更新させ(時刻同期させ)、対応する分析結果が表示されてもよい。なお、時刻バー112a、112eは、それぞれ異なる色で描画されてもよいし、実線と破線とで描画されたりしてもよい。これにより、時刻バー112a、112eの識別力が向上する。
【0048】
ここで、検知マップ111の工程1の中に丸印が2つ記載されているが、これは、検知対象デバイスがいつもと異なる状態になったタイミングを示している。左側の丸印は、デバイスR001とMR001がいつもと異なる状態になったタイミング(いずれも14:50:45)を示す。右側の丸印は、デバイスR004がいつもと異なる状態になったタイミング(14:59:01)を示す。図9は、検知リスト114においてユーザがR004のデバイス欄を選択した状態を示しており、検知マップ111の時刻バー112eは右側の丸印と重なる位置に表示されている。
【0049】
検知マップ111の時刻バー112eの表示位置は、検知リスト114におけるユーザのデバイス選択に連動している。図9に示す状態において、MR001のデバイス欄が選択(クリック)されると、図10が示すように、MR001が強調表示されるとともに、検知マップ111の時刻バー112eが2つの丸印のうち左側の丸印と重なる位置に移動する(R001のデバイス欄を選択したときも同様である)。また、時刻バー112eの移動に応じて、検知リストの時刻バー112fも1つ上に移動(連動)する。
【0050】
いつもと異なる状態とは、たとえば、デバイス値が正常範囲を逸脱したり、デバイス値が変化するタイミングまたは回数が正常範囲を外れたりすることである。製品の製造工場では、日々、同一の製品が大量生産される。つまり、同一の工程が何度も繰り返し実行される。そのため、いつもと異なる状態を検知して表示することは、ラダープログラムを改良したり、生産設備を見直したりするうえで、非常に役に立つ。いつもと同様の状態(正常状態)を定義する正常範囲(正常条件)は、マスターデータにより定義されてもよいし、デバイス値の学習結果により定義されてもよい。検知マップ111において、工程を示す矩形は、時間の経過にしたがって右から左に移動する(上述したように、時刻は、左が古く、右が新しい)。
【0051】
画像表示領域113は、PLC1において取得されたカメラ画像を表示する。カメラ画像も運転記録に含まれていてもよい。図9では、マスターデータのカメラ画像と、今回のカメラ画像とが対比可能に表示されている。カメラ画像も時系列データであるため、シークバー105bは、カメラ画像の再生時刻を示し、再生時刻の経過にしたがって左から右に移動する。時刻バー112bは、選択中の時刻を示しており、図9では、検知対象デバイスR004がいつもと異なる状態になったタイミングを示している。時刻指定部106bは、カメラ画像の再生時刻を進めたり、再生時刻を戻したり、再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。なお、連携部64および再生部59は、検知マップ111の再生時刻、カメラ画像の再生時刻、および、UI100における再生時刻が同期するように管理している。これにより、UI100における再生時刻と、分析レポート110における再生時刻とが一致する。
【0052】
検知リスト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から読み出して、ラダープログラム上でデバイス値を表示してもよい。
【0053】
図9において、時刻バー112cは、運転記録データの保存トリガが発生したタイミング(14:59:06)を示している。また、時刻バー112fは、上述したように、検知マップ111の時刻バー112eが示す時刻と連動している。たとえば、時刻バー112eを左側の丸印よりも左方に移動させると、検知リスト114において時刻バー112fはR001のデバイス欄の上端線と重なる位置に移動する。
【0054】
ここで、図10および図11は、分析レポート110(図9)とプロジェクト編集プログラム14aのUI100(図7)とが連動する様子を説明するための説明図である。上述したように、図7は、図9の検知リスト114においてデバイスR004が選択された状態で、UI100のリプレイモードを起動したときの表示画面に相当する。
【0055】
図10が示すように、ユーザが検知リスト114の中でMR001を選択(クリック)すると、検知マップ111において時刻バー112eが連動して移動する。時刻バー112eの移動に伴って、時刻バー112fも1つ上に移動する。また、時刻バー112eの移動に伴って、画像表示領域113における時刻バー112bも左へ移動(連動表示)する。さらに、後述する分析コメント116も、MR001の選択に伴って表示が切り替わる。詳細は後述する。
【0056】
一方、図11が示すように、シークバー105aは、図7よりも少し左(時間的に前)に移動する。このとき、シークバー105aは、デバイスMR001がいつもと異なる状態になった時刻(14:50:45)を示すようになる。このように、連携部64によって、分析レポート110の時刻バー112eや時刻バー112fによって特定される時刻と、運転記録の再生時刻(シークバー105aによって特定される時刻)とは、同期して表示されることになる。
【0057】
なお、図10および図11では、予めプロジェクト編集プログラム14aのUI100を起動した状態での連動表示について説明されているが、たとえば、先に分析レポート110の検知リスト114においてMR001のデバイス欄を選択した状態で、UI100を起動した場合には、図10および図11に示す変化後の状態でUI100が起動される。
【0058】
また、図10では、ユーザは検知リスト114の中からデバイスを1つ選択しているが、複数のデバイスが選択されてもよい。この場合、最上位のデバイス(時間的に一番古いデバイス)を選択したときと同様の処理が行われる。すなわち、たとえばMR001とR004の両方を選択した状態で、UI100のリプレイモードが起動されると、図11に示す変化後の状態でUI100が起動される。本明細書でいう時刻の同期再生には、時刻バー112fによって特定される時刻インデックスと、運転記録の再生時刻インデックスとの同期再生を含む概念である。つまり、時刻そのものでなくても、時刻を表すインデックス同士を同期再生しても構わない。
【0059】
図12が示すように、CPU11は、非正常デバイスの名称と、そのデバイスコメント115をプロジェクトデータから読み出して検知リスト114に表示してもよい。デバイスコメント115はデバイスの用途などを示す。よって、ユーザは、非正常デバイスの用途などを容易に理解できるであろう。
【0060】
分析コメント116は、分析結果に含まれるコメントと、検知リスト114で選択されたデバイスについての、マスターデータと、今回のデバイス値の時系列データとを表示する。分析コメント116に表示されるデータは、1制御サイクル分のデータである。時刻バー112dは、いつもと異なる状態が発生したタイミングを示す。
【0061】
図9および図12では、デバイスR004のデバイスについて、いつもと異なる状態が発生した1制御サイクル分のデータを示している。より具体的には、マスターデータでは、1制御サイクルにおいて、オフ→オン、オン→オフという2回の変化が発生するのに対し、今回のデータでは、変化が全く発生していない。そこで、いつもと異なる状態、すなわち、オフ→オンとなったタイミングに、時刻バー112dが表示されている。
【0062】
ここで、図9および図12が示す分析コメント116において、ユーザが検知リスト114の中でMR001を選択(クリック)すると、図10に示される表示に切り替わる。図10では、MR001のデバイスにおいて、いつもと異なる状態が発生した様子を示している。なお、本実施形態では、時刻バー112e、112b、112fの各々は、いずれも同一のタイミングを示している。
【0063】
<他のPLC等からのデータ収集>
上述の実施形態では、PLC1に接続されたフィールドデバイス10からデータが収集されてそのデータが分析されている。しかし、これは一例にすぎない。PLC1は、ネットワークを介して接続された他のPLCやフィールドデバイス等からデータを収集して分析してもよい。そのためには、PLC1は他のPLC1などデータの収集対象となる装置(以下、ターゲット装置)と産業用ネットワークを介して通信できなければならない。
【0064】
図13は、PLC1を産業用無線ネットワークと接続するために必要となるネットワーク機器を示す。産業用ワイヤレスシステム200は、たとえば、PLC1、親機201および産業用無線ネットワーク204(図14)を含む。
【0065】
親機201は、複数の無線子機の設定等を管理する管理装置である。親機201は、WANポート(LANポート38d)と、LANポート38e~38hを有している。
【0066】
LANポート38dは、インターネットやイントラネットなどの上位ネットワークと接続するためのイーサネット(登録商標)ポートである。LANポート38e~38hは、産業用ネットワークを形成する複数の無線子機のうち少なくとも一つの無線子機と接続するためのイーサネット(登録商標)ポートである。この例では、LANポート38eが基本ユニット3のLANポート38aに接続されている。
【0067】
拡張ユニット4cは、基本ユニット3に接続可能なネットワーク機器の台数を増やすための拡張ユニットである。拡張ユニット4cは、複数のLANポート38b、38cを有しており、イーサネット(登録商標)ユニットと呼ばれることがある。これにより、基本ユニット3は、三つのLANポート38a、38b、38cを有することになる。LANポート38b、38cは、たとえば、親機201と接続されてもよいし、基幹サーバ(例:リレーショナルデータベースサーバ、Webサーバ、FTPサーバ)や表示器(PLC1のデバイス値を表示するモニタ装置)と接続されてもよい。
【0068】
図14は、親機201に接続される産業用無線ネットワーク204を示している。PLC1と親機201とはシールドされたケースである制御盤208に収容されている。
【0069】
子機202(子機202a~202f)は無線子機の一例である。子機202a~202fはそれぞれ同一のネットワーク機器であるが、ネットワークトポロジーにおける接続位置と、親機201により設定される内容と、に応じて産業用無線ネットワーク204における役割が異なることがある。子機202a~202fは無線ノードと呼ばれてもよい。
【0070】
子機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へ転送したりする。
【0071】
子機202bは、子機202aおよび子機202cと無線通信を実行するとともに、ターゲット装置203bと有線通信を実行するネットワーク機器である。ターゲット装置203bは、接続されていなくてもよい。子機202bは、子機202aおよび子機202cとの間において通信信号を中継したり、ターゲット装置203bの稼働データを子機202aおよび親機201を介してPLC1に転送したりする。また、子機202bは、PLC1からの要求を親機201を介して受信すると、その要求にしたがって動作したり、要求を他の子機202cに転送したり、他の子機202cからの応答を親機201を通じてPLC1へ転送したりする。
【0072】
子機202cは、子機202bと無線通信を実行するとともに、ターゲット装置203cと有線通信を実行するネットワーク機器である。ターゲット装置203cは、接続されていなくてもよい。子機202cは、ターゲット装置203cの稼働データを子機202b、子機202aおよび親機201を介してPLC1に転送する。また、子機202cは、PLC1からの要求を親機201および子機202a、202bを介して受信すると、その要求にしたがって動作したり、当該要求に対する応答を作成し、子機202a、202bおよび親機201を通じてPLC1へ転送したりする。
【0073】
子機202dは、子機202a、子機202e、および子機202fと無線通信を実行するネットワーク機器である。子機202dにもターゲット装置が接続されてもよい。子機202dは、子機202aおよび子機202eとの間において通信信号を中継したり、子機202aおよび子機202fとの間において通信信号を中継したりする。また、子機202dは、親機201および子機202aを介してPLC1からの要求を受信すると、その要求にしたがって動作したり、その要求を他の子機202e、202fに転送したり、他の子機202e、202fからの応答を親機201を通じてPLC1へ転送したりする。
【0074】
子機202eは、子機202dと無線通信を実行するとともに、ターゲット装置203eと有線通信を実行するネットワーク機器である。ターゲット装置203eは、接続されていなくてもよい。子機202eは、ターゲット装置203eの稼働データを子機202d、子機202aおよび親機201を介してPLC1に転送する。また、子機202eは、PLC1からの要求を親機201および子機202a、202dを介して受信すると、その要求にしたがって動作したり、当該要求に対する応答を作成し、子機202a、202dおよび親機201を通じてPLC1へ転送したりする。
【0075】
子機202fは、子機202dと無線通信を実行するとともに、ターゲット装置203fと有線通信を実行するネットワーク機器である。ターゲット装置203fは、接続されていなくてもよい。子機202fは、ターゲット装置203fの稼働データを子機202d、子機202aおよび親機201を介してPLC1に転送する。また、子機202fは、PLC1からの要求を親機201および子機202a、202dを介して受信すると、その要求にしたがって動作したり、当該要求に対する応答を作成し、子機202a、202dおよび親機201を通じてPLC1へ転送したりする。
【0076】
このように、産業用無線ネットワーク204を構築することで、PLC1は、自己に接続された拡張ユニット4やフィールドデバイス10から稼働データを収集するだけでなく、産業用無線ネットワーク204を介して接続された他のPLC1を含めたターゲット装置から稼働データを収集することができる。
【0077】
なお、子機202a~202fは、それぞれ他のPC2と接続し、他のPC2とPLC1との間の通信を中継してもよい。他のPC2は、PLC1の稼働データを表示する簡易な表示器(簡易モニタ)として機能してもよい。ここで、産業用無線ネットワーク204は、無線メッシュネットワークであってもよい。一般に、無線メッシュネットワークとは、複数の子機202a~202fが互いに無線通信によって接続され、パケットをマルチホップ転送するネットワークのことである。別の言い方をすれば、隣接する通信可能な子機同士を無線接続することで、ネットワーク全体で網の目状のトポロジーが形成されたネットワークであり、一又は複数の子機に亘ってバケツリレー式にパケットが転送される。無線メッシュネットワークは、特定の経路で通信不能になっても代替経路に切り替えることができるため、他の無線ネットワークと比較して通信障害に強い、という特徴がある。以下、図14を用いて補足する。
【0078】
図14において、子機202a~202fは、例えば「宛先テーブル」と「ネクストホップテーブル」を記憶していてもよい。「宛先テーブル」は、親機201及びターゲット装置203a~203f(のMACアドレス)などの宛先端末に対し、それぞれ有線接続されている無線ノード(子機202a~202f)が対応付けられたテーブルである。親機201は、無線メッシュネットワークを構築する際、例えば、ブロードキャストパケットを送信することにより、無線メッシュネットワークに含まれる全てのターゲット装置203a~203fの存在(MACアドレス等)を把握し、ターゲット装置203a~203fに有線接続されている無線ノードの情報を子機202a~202fに配布する。なお、特定のターゲット装置に対して初めて通信するタイミングでブロードキャストパケットを送信することで、「宛先テーブル」を更新するようにしてもよい。
【0079】
「ネクストホップテーブル」は、子機202a~202fの各々が個別に記憶しているテーブルであって、次にパケットを近くのどの子機に転送するか(すなわち、パケットの次の転送先)を定めたテーブルである。親機201は、産業用無線ネットワーク204を構築する際、パケット転送経路(例えばツリー形状)と、その経路を想定したネクストホップテーブルを決定するとともに、子機202a~202f用のネクストホップテーブルを決定し、各子機に配布する。例えば、子機202eが記憶するネクストホップテーブルには、宛先ノードを「子機202a」に設定されたパケットの次の転送先は「子機202d」である、といった情報が含まれている。
【0080】
なお、本実施形態では、パケット転送経路やネクストホップテーブルを決定する機能を親機201に持たせているが、例えば、親機201に有線接続された子機202aに持たせてもよい。換言すれば、子機202aは、親機201に有線接続されない場合は、他の子機202b~202fと同様の機能を持つ一方で、親機201に有線接続された場合は、他の子機202b~202fとは異なる機能(例えば、上述したパケット転送経路やネクストホップテーブルを決定する機能)が発揮されるようにしてもよい。例えば、親機201に有線接続された子機202aでのみ、上述したパケット転送経路やネクストホップテーブルを決定する機能を発揮するために、特定のプログラムが実行されるようにしてもよい。
【0081】
パケット転送の一例について説明する。ターゲット装置203eから親機201へのパケット転送を考えたとき、まず、ターゲット装置203eは、自身に有線接続されている子機202eにパケットを転送する。子機202eは、宛先テーブルを参照し、親機201に有線接続されている子機202aにパケットを届ければよいことを認識する。次に、子機202eは、ネクストホップテーブルを参照し、子機202aにパケットを届けるためには、次の転送先として子機202dにパケットを送ればよいことを認識する。そして、子機202eは、次のパケット転送先である子機202dにパケットを転送する。以降、子機202dにおいても同様の処理を繰り返し、パケットが子機202aに到着する。子機202aは、宛先テーブルを参照し、親機201宛てのパケットが自身に到着していることを認識し、そのパケットを有線接続された親機201に転送する。このようにして、バケツリレーの方式でパケットが転送されていく。
【0082】
パケット転送の他の例について説明する。ターゲット装置203eからターゲット装置203fへのパケット転送を考えたとき、まず、ターゲット装置203eは、自身に有線接続されている子機202eにパケットを転送する。子機202eは、宛先テーブルを参照し、ターゲット装置203fに有線接続されている子機202fにパケットを届ければよいことを認識する。次に、子機202eは、ネクストホップテーブルを参照し、子機202fにパケットを届けるためには、次の転送先として子機202dにパケットを送ればよいことを認識する。そして、子機202eは、次のパケット転送先である子機202dにパケットを転送する。子機202dも同様の処理を繰り返し、パケットが子機202fに到着する。子機202fは、宛先テーブルを参照し、ターゲット装置203f宛てのパケットが自身に到着していることを認識し、そのパケットを有線接続されたターゲット装置203fに転送する。このように、「ネクストホップテーブル」を利用すれば、親機201に接続された子機202aを経由せずに無線通信することも可能である。
【0083】
親機201(又は子機202a)は、産業用無線ネットワーク204における子機間の通信状態(例えば、パケット遅延時間、ホップ数、電波の込み具合、電波強度など)を定期的に監視することで、産業用無線ネットワーク204におけるネットワーク構成を動的に最適化してもよい。要するに、親機201(又は子機202a)は、ネクストホップテーブルを動的に生成・更新しもよい。例えば、何らかの理由(電波干渉や電波障害の原因となる物体が置かれた等)により、子機202dと子機202eの間で通信状態の悪化が認識されると、子機202eが無線通信可能な他の子機を探索する。例えば、子機202bが見つかると、子機202eから子機202aへのパケット転送経路として、子機202bを経由する経路が決定・更新される。そして、親機201(又は子機202a)は、更新されたパケット転送経路を想定したネクストホップテーブルを決定・更新するとともに、子機202a~202f用のネクストホップテーブルも決定・更新し、更新後のネクストホップテーブルを各子機に配布する。
【0084】
なお、子機間の通信状態を定期的に監視する機能についても、パケット転送経路やネクストホップテーブルを決定する機能と同様に、親機201ではなく、親機201に有線接続された子機202aに持たせてもよい。また、上述した例では、「宛先テーブル」と「ネクストホップテーブル」の両方を用いたパケット転送について説明したが、これは一例にすぎない。
【0085】
(1)親機の構造
図15は、親機201の電気的な構造を示している。CPU210は、記憶装置211に記憶されているプログラムにしたがってLANモジュール212を制御する。LANモジュール212は、複数のLANポート38d~38hに接続された他のネットワーク機器と有線通信を実行する有線通信回路(ネットワーク通信回路)である。CPU210は、少なくとも一つのプロセッサコア(プロセッシング回路)を有している。記憶装置211は、リードオンリーメモリ(ROM)およびランダムアクセスメモリ(RAM)を有している。ROMは不揮発性メモリの一例である。RAMは揮発性メモリの一例である。
【0086】
図16は、CPU210の機能を示している。CPU210は、記憶装置211に記憶されているプログラム250にしたがって様々な機能を実現する。これらの様々な機能の打ちのすべてまたは一部がCPU210とは異なる別の論理回路(ASIC、FPGA)により実装されてもよい。ASICは特定用途集積回路の略称である。FPGAはフィールドプログラマブルゲートアレイの略称である。
【0087】
記憶管理部230は、記憶装置211から所定のデータを読み出したり、記憶装置221に所定のデータを書き込んだりする。
【0088】
子機管理部231は、産業用無線ネットワーク204に接続されている子機202a~202fを管理する。とりわけ、要求伝達部232は、特定の子機202に対して表示灯の点灯を要求したり、表示灯の点灯状態を変更することを要求したりしてもよい。子機探索部233は、親機201にネットワークケーブルを介して直接的に接続されている子機202aを探索する。このような子機202aは、ダイレクトノードやルートノードと呼ばれてもよい。子機登録部234は、産業用無線ネットワーク204に対して新規に追加された子機の子機固有情報(例:製品シリアル番号、MACアドレス)を、記憶管理部230を通じて子機リスト253に登録する。
【0089】
メモリ割り当て部248は、メモリマップに基づき、記憶領域または記憶変数を確保し、そこに所定の情報を保存する。メモリマップは、記憶装置211において確保される記憶領域または記憶変数(例:デバイスメモリ(単にデバイスと呼ばれることもある))と、そこに記憶される情報(例:デバイス値)との関係を保持する設定情報であり、予めPC2を通じて設定される。たとえば、DM11200と命名されるデバイスメモリには、子機202aの動作状態(例:正常、警告、異常)を示す情報が格納される。DM11201と命名されるデバイスメモリには、子機202aによる電波の受信強度が格納される。DM11300と命名されるデバイスメモリには、子機202bの動作状態(例:正常、警告、異常)を示す情報が格納される。DM11301と命名されるデバイスメモリには、子機202bによる電波の受信強度が格納される。DM11400と命名されるデバイスメモリには、子機202cの動作状態(例:正常、警告、異常)を示す情報が格納される。DM11401と命名されるデバイスメモリには、子機202cによる電波の受信強度が格納される。子機202d~202fについても同様である。この例では、状態情報群255は、メモリマップに基づき割り当てられたデバイスメモリに保存されている子機202a~202fの個別の状態情報を示している。
【0090】
通信管理部235は、親機201が子機202と通信するためのプログラムモジュールのインスタンスである。通信管理部235は、親機201と子機202との間で所定の通信プロトコルに従って通信パケットを処理する。上述された子機管理部231は、通信管理部235の親機/子機通信部236を通じて子機202と通信する。NAT部237は、通信パケットのアドレスを変換するアドレス変換モジュールである。たとえば、NAT部237は、WAN用のポートであるLANポート38dとLAN用のポートであるLANポート38e~38hとの間で送受信されるパケットのネットワークアドレスおよびポート番号を変換する。なお、通信管理部235は、自己のMACアドレスに基づきIPv6アドレスを生成してもよい。
【0091】
設定画面管理部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サーバであってもよい。
【0092】
記憶装置211にはプログラム250だけでなく、様々な情報が記憶される。親機固有情報251は、親機201に付与されているネットワーク識別情報(例:MACアドレス)またはシリアル番号などである。メッシュネットワーク識別子252は、無線メッシュネットワークとして構築された産業用無線ネットワーク204のネットワーク識別子である。子機リスト253は、親機201により産業用無線ネットワーク204への参加を許可された子機202の子機固有情報のリストである。設定情報254は、産業用無線ネットワーク204において使用される無線周波数帯、無線チャネル、IPアドレスなどを含む。メッシュネットワーク識別子252は設定情報254に含まれていてもよい。
【0093】
状態収集部245は、子機リスト253に登録されている子機202a~202fの動作状態を示す個別状態情報を収集し、状態情報群255を作成し、記憶装置211に保存する。上述されたように、状態収集部245は、子機202から収集された個別状態情報を、メモリマップにより割り当てられたデバイスメモリに保存してもよい。ここで、状態収集部245は、複数の子機202から並列で個別状態情報を収集してデバイスメモリに保存してもよい。これにより、複数の子機202から収集された複数の個別状態情報が、実質的に時刻同期してもよい。
【0094】
デバイスメモリはPLC1から実質的に直接アクセスされる。そのため、収集部72は、親機201のデバイスメモリに保存されている状態情報群255を収集することができる。
【0095】
親機201に保持されている状態情報群255は、基本ユニット3の収集部72により収集され、ロギング部73により運転記録74の一部として記録されてもよい。なお、収集部72は、PLC1におけるデバイス値の収集と親機201からの状態情報群255の収集とを並列で実行する。そのため、PLC1におけるデバイス値の収集時刻と、状態情報群255の収集時刻とが実質的に時刻同期することになる。
【0096】
分析部83は、状態情報群255に含まれる子機202a~202fの個別の状態情報を分析し、分析結果77に保存してもよい。Webサーバ82は、PC2に対して、デバイス値の時系列データから作成されたグラフなどともに、子機202a~202fの個別の状態情報を提供して表示させてもよい。Webサーバ82は、収集部72によりリアルタイムでPLC1内で収集されたデバイス値と、収集部72によりリアルタイムで親機201から収集された状態情報群255との表示データ(例:グラフを表示するためのHTMLファイル、CSSファイル、画像データ、スクリプトなど)をPC2またはプログラマブル表示器に提供してもよい。Webサーバ82は、収集部72によりPLC1内で収集されたデバイス値と、収集部72により親機201から収集された状態情報群255との分析結果(分析レポート)の表示データ(例:グラフを表示するためのHTMLファイル、CSSファイル、画像データ、スクリプトなど)をPC2またはプログラマブル表示器に提供してもよい。
【0097】
(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を有している。
【0098】
WLANモジュール223aは、たとえば、子機202間のバックホール通信用のワイヤレスローカルエリアネットワークモジュールである。WLANモジュール223aのネットワーク識別子(例:SSID)は、産業用無線ネットワーク204のメッシュネットワーク識別子281である。WLANモジュール223aは、アクセスポイント(AP)として動作するとともに、ステーション(STA)としても動作する。
【0099】
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技術などを用いることで、物理的に一つのモジュールになっていてもよい。
【0100】
WLANモジュール223cは、たとえば、外部端末(例:ノート型のPC2、タブレット端末、スマートフォン)を産業用無線ネットワーク204に接続するために使用されるモジュールである。WLANモジュール223cは、たとえば、第三のアクセスポイントとして機能してもよい。なお、どのWLANモジュールをどのネットワークに接続するかは組合せ自由である。
【0101】
図18は、CPU220の機能を示している。CPU220は、記憶装置221に記憶されているプログラム280にしたがって様々な機能を実現する。記憶管理部260は、記憶装置221から所定のデータを読み出したり、記憶装置221に所定のデータを書き込んだりする。なお、このプログラム280をアップデートしたい場合には、親機201から子機202に対してアップデートファイルを無線転送してもよい。具体的には、ユーザは、親機201から提供されるWeb画面、例えばPC2の画面を介して、子機202のプログラムのアップデート指示を行ってもよい。親機201は、子機202のプログラム280(システムプログラム)を保持することができ、PC2からユーザ指示(指示信号)を受信したことを契機として、親機201に保持されたプログラム280を子機202に転送することで、プログラムアップデートするようにしてもよい。
【0102】
子機管理部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を強調点灯させるための要求などがある。
【0103】
メモリ割り当て部278は、メモリマップに基づき、記憶領域または記憶変数を確保し、そこに所定の情報を保存する。メモリマップは、記憶装置221において確保される記憶領域または記憶変数(例:デバイス)と、そこに記憶される情報(例:デバイス値)との関係を保持する設定情報であり、予め親機201を通じてPC2により設定される。たとえば、子機202aの記憶装置221において、DM11200と命名されるデバイスには、子機202aの動作状態(例:正常、警告、異常)を示す情報が格納される。子機202aの記憶装置221において、DM11201と命名されるデバイスには、子機202aによる電波の受信強度が格納される。子機202bの記憶装置221において、DM11300と命名されるデバイスには、子機202bの動作状態(例:正常、警告、異常)を示す情報が格納される。DM11301と命名されるデバイスには、子機202bによる電波の受信強度が格納される。子機202cの記憶装置221において、DM11400と命名されるデバイスには、子機202cの動作状態(例:正常、警告、異常)を示す情報が格納される。DM11401と命名されるデバイスには、子機202cによる電波の受信強度が格納される。子機202d~202fについても同様である。この例では、個別状態情報256は、メモリマップに基づき割り当てられたデバイスに保存されている子機202の個別の状態情報を示している。たとえば、子機202aの記憶装置221に保持される個別状態情報256は、子機202aの状態情報が含まれる。子機202bの記憶装置221に保持される個別状態情報256は、子機202bの状態情報が含まれる。
【0104】
通信管理部265は、WLANモジュール223a~223cおよびLANモジュール222を通じた通信を管理および制御する。親機/子機通信部266は、所定の通信プロトコルにしたがって、子機202が親機201と通信するためのプログラムモジュールのインスタンスである。既存子機/追加子機通信部267は、所定の通信プロトコルにしたがって、WLANモジュール223bを制御し、既存子機と追加子機との通信を実行するプログラムモジュールのインスタンスである。通信管理部265は、自己のMACアドレスに基づきIPv6アドレスを生成し、ネットワーク管理部268に設定する。
【0105】
測定部270は、子機202の動作状態を測定する。たとえば、測定部270は、他の子機202から送信される電波の受信強度を測定したり、通信速度を測定したり、信号対干渉雑音(SINR)を測定したり、子機202の温度を測定したりしてもよい。測定部270は、測定結果を示す個別状態情報256を作成し、記憶装置221に記憶させる。たとえば、測定部270は、メモリマップに基づき、記憶装置221に確保されたデバイスに対して、測定結果を保存する。よって、個別状態情報256は、複数のデバイスにそれぞれ保持されている測定結果の集合体として理解されてもよい。子機管理部261は、親機201から個別状態情報256を要求されると、親機/子機通信部266を経由して個別状態情報256を親機201へ送信する。
【0106】
ネットワーク管理部268は、産業用無線ネットワーク204を管理する。ネットワーク構築部269は、無線メッシュネットワークとして産業用無線ネットワーク204を構築する。たとえば、ネットワーク構築部269は、親機201により設定されたメッシュネットワーク識別子281および設定情報254をWLANモジュール223aに設定し、産業用無線ネットワーク204を構築する。設定情報254は、産業用無線ネットワーク204において使用される無線周波数帯、無線チャネル、IPアドレスなどを含む。
【0107】
記憶装置221は、固有情報283を記憶している。固有情報283は、WLANモジュール223a~223cおよびLANモジュール222に割り当てられたネットワーク識別子(例:MACアドレス)である。以下で、固有情報283は、WLANモジュール223aに割り当てられるネットワーク識別子として説明される。子機202が新規に追加される場合、その子機202の固有情報283が、産業用無線ネットワーク204を介して親機201に送信される。親機201は、その子機202の固有情報283に基づき、その子機202の追加を許可するかどうかを判定する。
【0108】
<産業用無線ネットワークへの親機と子機の追加>
1・親機の初期設定
産業用無線ネットワーク204への親機201と子機202の接続は、たとえば、以下の手順で実行される。
【0109】
・PLC1と親機201の接続
・親機201の初期設定
・子機202の追加
なお、子機202の追加手法は、様々である。たとえば、最初にLANケーブルで接続されている有線子機である子機202aを親機201に登録し、その後、他の子機202b~202hを親機201に登録することが考えられる。あるいは、有線子機である子機202aだけでなく、無線子機である子機202b~202hを同時並行的に親機201に登録することも考えられる。いずれにしても、まず親機201に初期設定が実行される。
【0110】
図19はPLC1に接続された親機201を設定装置であるPC2から初期設定することを示す図である。PLC1と親機201とはLANケーブルにより接続されている。PC2と親機201ともLANケーブルにより接続されている。これらのLANケーブルは、LANポート38e~38hのいずれかに接続される。
【0111】
図20は、親機201により実行される設定情報の保存処理を示している。親機201のCPU210は、プログラム250にしたがって、以下の手順を実行する。
【0112】
S1でCPU210(画面提供部240)は、設定装置であるPC2から設定画面要求を受信したかどうかを判定する。たとえば、画面提供部240の一部であるWebサーバの設定ページへのPC2からのアクセス要求は、設定画面要求の一例である。設定画面要求が受信されると、CPU210は、S1からS2に進む。
【0113】
S2でCPU210は、設定画面を設定装置であるPC2に提供する。たとえば、CPU210は、設定画面を表示するためのWebページのパーツ(例:HTMLファイル、画像ファイル、CSSファイルなど)をPC2へ送信する。
【0114】
図21は、PC2の表示部7に表示される設定画面300の一例である。この例では、設定情報254に格納される産業用無線ネットワーク204のネットワーク識別子(例:SSID)、周波数およびチャネルが入力される。テキストボックス301は、ユーザにより入力されるネットワーク識別子を受け付ける。周波数リスト302は、ユーザによる周波数バンドの入力または選択を受け付ける。チャネルリスト303は、ユーザによるチャネルの入力または選択を受け付ける。キャンセルボタン304は、親機201への初期設定をキャンセルすることをCPU210に指示するボタンである。保存ボタン305は、ネットワーク識別子、周波数およびチャネルを設定情報254に保存すべきことをCPU210に指示するボタンである。なお、無線区間の暗号化手法など、他の設定が設定画面300を通じて受け付けられてもよい。なお、ネットワーク識別子は、メッシュネットワーク識別子252に保存されてもよい。また、図21では、ネットワーク識別子が入力されているが、バックホール又は外部AP用かのいずれかが選択入力されるようにしてもよい。
【0115】
S3でCPU210(ユーザ入力受付部239)は、ネットワーク設定(親機201の初期設定)に関するユーザ入力を受け付ける。上述されたように、ネットワーク識別子、周波数およびチャネルなどが受け付けられる。
【0116】
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を閉じ、保存処理を終了する。
【0117】
2.子機の追加
2-1.有線子機の追加
2-1-1.親機の処理
図22は親機201にダイレクト子機(有線子機)である子機202aを追加することを示す。この例では、他の子機202b~202hは後で追加される。
【0118】
図23は、有線子機(子機202a)が接続されたときの親機201のCPU210の動作を示す。なお、子機202aと親機201との間の通信は、子機202aと親機201との双方にとって既知の暗号化キーを利用して、暗号化されているものとする。ここでは、設定装置であるPC2は介在しないもっとも単純な例が説明されるが、後述されるように、親機201は、PC2により有線子機(子機202a)の接続を許可されてもよい。
【0119】
S11でCPU210(例:子機探索部233)は、子機の探索要求をブロードキャストすることで、探索要求の応答である有線子機からの接続要求を受信したかどうかを判定する。たとえば、CPU210は、LANポート38e~38hのいずれかにLANケーブルを介して接続されている子機202aから接続要求を受信したかどうかを判定する。有線子機からの接続要求があると、CPU210は、S11からS12に進む。なお、ここでは有線子機からの接続要求としているが、親機201からの接続要求であっても構わない。
【0120】
S12でCPU210(子機探索部233)は、固有情報(固有情報283)を有線子機から取得する。
【0121】
S13でCPU210(子機登録部234)は、有線子機の固有情報を子機リスト253に登録する。
【0122】
S14でCPU210(子機登録部234)は、記憶装置211から設定情報254を読み出し、有線子機へ設定情報254を送信する。これにより、有線子機である子機202aは設定情報254を入手し、産業用無線ネットワーク204を構築する。
【0123】
2-1-2.有線子機の処理
図24は有線子機のCPU220により実行される処理を示している。CPU220は、電源を投入されると、以下の処理を実行する。
【0124】
S21でCPU220(ネットワーク構築部269)は、親機201から設定情報254を未取得であるかどうかを判定する。これは、有線子機がまだ親機201に登録されているかどうかを判定する処理に相当する。有線子機がまだ親機201に登録されておらず、産業用無線ネットワーク204を構築できない場合、CPU220は、S21からS22に進む。一方で、親機201に登録済みであり、設定情報254から記憶装置221に記憶されている場合、CPU220は、S22からS28に進む。
【0125】
S22でCPU220(表示灯操作部262)は、表示灯224に橙点滅させる。橙点滅とは、表示灯224の表示色を橙色に設定し、かつ、表示形態を一定周期で表示灯224を点滅するように設定することをいう。なお、本実施形態では、S22において橙点灯させるようにしているが、例えば、通信ができた段階で橙点灯させてもよい。
【0126】
S23でCPU220(親機/子機通信部266)は、親機201へ設定情報254の取得要求を送信する。なお、ここでは親機201へ設定情報254の取得要求を送信しているが、本発明はこれに限られず、たとえば、常に親機201側から子機側に要求を出すようにしてもよい。
【0127】
S24でCPU220(親機/子機通信部266)は、親機201から設定情報254を受信する。
【0128】
S25でCPU220(記憶管理部260)は、設定情報254を記憶装置221へ保存する。
【0129】
S26でCPU220(ネットワーク構築部269)は、設定情報254にしたがってWLANモジュール223aを起動し、無線メッシュネットワークである産業用無線ネットワーク204を構築する。
【0130】
S27でCPU220(表示灯操作部262)は、表示灯224に緑点灯を実行させる。緑点灯とは、表示灯224の表示色を緑色に設定し、表示形態を連続点灯に設定することをいう。
【0131】
S28でCPU220(追加子機接続部263)は、WLANモジュール223bにより構築される子機追加用メッシュネットワークに接続している無線子機(子機202b~202h)に対して設定情報254を配布(伝搬)する。なお、S28は、他の無線子機が存在する場合に実行されるオプションである。他の無線子機は、親機201に直接接続されている有線子機から、設定情報254を取得し、自己の記憶装置221に保存し、設定情報254にしたがって産業用無線ネットワーク204に参加する。
【0132】
2-2.無線子機の追加
図25は、親機201と有線子機である子機202aとがネットワークケーブル600を介して接続されており、子機202aが設定情報254を親機201から取得して、産業用無線ネットワーク204を構築したことを示す。ただし、産業用無線ネットワーク204に参加している無線子機は、子機202aだけである。なお、図25では、一旦子機202aを追加し、その後、無線子機を追加する場合について説明するが、本発明はこれに限られず、子機202aと少なくとも一つの他の子機202b~202fを一度に追加しても構わない。
【0133】
図26は、親機201にまだ登録されていない子機202dが電源を投入されて起動したことを示している。子機202dは、親機201にまだ登録されていないため、産業用無線ネットワーク204に参加できない。
【0134】
図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に保存する。
【0135】
図28は、子機202dが、産業用無線ネットワーク204に参加したことを示している。子機202dのCPU220は、記憶装置221に記憶された設定情報254をWLANモジュール223aに設定し、産業用無線ネットワーク204に参加する。なお、設定情報254は、不揮発性のメモリ領域に格納されるものとする。
【0136】
図29は、複数の他の子機202d、202e、202fを親機201に追加する事例を示している。この状態では、まだ、親機201および子機202aは子機追加モードに移行しておらず、通常モードにある。そのため、図30が示すように、未登録の子機202dは、メッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209を構築する。同様に、他の子機202e、202fも、設定情報254を有していない。よって、図31が示すように、子機202e、202fもメッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209に参加する。
【0137】
図32が示すように、設定装置2を通じて親機201と子機202aとが子機追加モードに移行すると、子機202aがメッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209に参加する。これにより、子機202a、202d、202e、202fが無線通信可能となる。子機202aは、設定情報254を子機202d、202e、202fに配布する。子機202d、202e、202fは、設定情報254を記憶装置221に記憶する。
【0138】
図33が示すように、子機202d、202e、202fは、設定情報254にしたがって、産業用無線ネットワーク204に参加する。なお、子機202a、202d、202e、202fは、それぞれWLANモジュール223bを停止させ、追加用無線ネットワーク209から脱退する。
【0139】
2-2-1.親機の処理
図34は、親機201のCPU210により実行される子機202の追加処理を示している。ここでは、親機201は記憶装置221にすでに設定情報254を記憶済みであるものとする。
【0140】
S41でCPU210(設定画面管理部238)は、PC2から追加画面要求を受信したかどうかを判定する。ここで、追加画面とは、子機202を追加するためにPC2に提供される追加画面(例:Webページ)である。追加画面要求が受信されると、CPU220は、S41からS42に進む。
【0141】
S42でCPU210(設定画面管理部238)は、PC2へ追加画面(例:Webページ)を提供する。
【0142】
図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は表示を省略しても構わない。
【0143】
強調点灯の対象は、追加対象の子機202だけでなく、すでに接続済みの子機202も含まれてもよい。工場内には多数の子機202が隈なく設置されることがある。ユーザは、複数の子機202から特定の子機202を識別するために、ボタン313を押すことができる。
【0144】
追加承認ボタン316がポインタ103により押されると、子機管理部231は、チェックボックス317によりチェックを付与された子機202に対する追加承認が送信される。有線子機は、追加承認を受信すると、追加承認の対象となる子機202へ設定情報254を送信する。追加承認の対象となる子機202は、設定情報254を受信すると、記憶装置221に保存する。
【0145】
S43でCPU210(要求伝達部232、親機/子機通信部236)は、追加指示を有線子機に送信する。
【0146】
S44でCPU210(親機/子機通信部236)は、追加対象の子機の固有情報を受信する。なお、CPU210は、追加子機が発見されたことを示す通知を親機201から受信すると、追加子機の固有情報を取得するよう親機201に指示を送信してもよい。
【0147】
S45でCPU210(画面提供部240)は、PC2の表示部7に追加子機の固有情報を表示する。
【0148】
図36は、発見された追加子機の固有情報が反映された追加画面310を示す。親機201は、追加子機の固有情報を取得すると、追加画面310を更新する。
【0149】
S46でCPU210(ユーザ入力受付部239)は、PC2から強調点灯要求が入力されたかどうかを判定する。強調点灯要求が入力されていなければ、CPU210は、S46からS50に進む。
【0150】
S47でCPU210(要求伝達部232、親機/子機通信部236)は、強調点灯の対象となる子機に対する強調点灯要求を送信する。
【0151】
S48でCPU210(ユーザ入力受付部239)は、PC2から強調点解除指示が入力されたかどうかを判定する。強調解除指示が入力されると、CPU210は、S48からS49に進む。なお、所定時間が経過しても、強調解除指示が入力されない場合も、CPU210は、S48からS49に進む。
【0152】
S50でCPU210(子機登録部234)は、親機201から追加承認が取得できたかどうかを判定する。追加承認が取得されると、CPU210はS50からS51に進む。S51でCPU210(子機登録部234)は、固有情報を子機リスト253に登録するとともに、追加承認を有線子機に送信する。これにより、有線子機は、事前に記憶装置221に保存されている設定情報254を、追加承認の対象となる追加子機に送信する。一方、追加承認がPC2から得られなかった場合、CPU210は、S50からS52に進む。S52でCPU210(子機登録部234)は、追加拒否を親機201に送信する。これにより、親機201は、設定情報254を追加対象となっていた子機202へ送信しない。
【0153】
2-2-2.有線子機(または既存子機)の処理
図37は、有線子機または既に産業用無線ネットワーク204に参加している子機202のCPU220により実行される子機追加処理を示す。
【0154】
S61でCPU220(要求受付部264)は親機201から子機追加モードへの移行指示を受信したかどうかを判定する。子機追加モードへの移行指示を受信すると、CPU220は通常モードから子機追加モードへ移行して、S61からS62に進む。
【0155】
S62でCPU220(ネットワーク構築部269)は、メッシュネットワーク識別子282をWLANモジュール223bに設定し、追加用無線ネットワーク209を構築する。追加子機も、メッシュネットワーク識別子282を保持しているため、追加用無線ネットワーク209に接続できる。
【0156】
S63でCPU220(追加子機接続部263)は、追加用無線ネットワーク209に追加子機が接続したかどうかを判定する。追加用無線ネットワーク209に追加子機が接続してくると、CPU210は、S63からS64に進む。
【0157】
S64でCPU220(追加子機接続部263)は、親機201に対して追加子機の接続を通知(報告)する。
【0158】
S65でCPU220(追加子機接続部263)は、親機201から追加子機についての固有情報の取得要求を受信したかどうかを判定する。固有情報の取得要求が受信されると、CPU220はS65からS66に進む。
【0159】
S66でCPU220は、(追加子機接続部263)は、追加子機から固有情報を取得する。たとえば、追加子機接続部263は追加子機に対して取得要求を送信する。
【0160】
S67でCPU220は、親機201へ追加子機の固有情報(例:ユニット名、シリアル番号)を送信する。
【0161】
S68でCPU220(追加子機接続部263)は、追加子機についての追加承認を親機から受信できたかどうかを判定する。追加承認を受信できなかった場合(例:追加拒否を受信した場合)、CPU220は、子機追加モードから通常モードに復帰し、子機追加処理を終了する。一方、追加承認が受信されると、CPU220は、S68からS69に進む。
【0162】
S69でCPU220(追加子機接続部263)は、記憶装置221に保存されている設定情報254を読み出し、設定情報254を追加子機へ転送する。
【0163】
S70でCPU220(ネットワーク構築部269)は、追加用無線ネットワーク209を解放する。また、CPU220は、子機追加モードから通常モードに復帰する。
【0164】
2-2-3.追加子機の処理
図38は、追加子機が実行する子機追加処理を示す。CPU220は、プログラム280にしたがって以下の処理を実行する。
【0165】
S81でCPU220(ネットワーク構築部269)は、親機201が存在しないか、または、親機201へ未登録であるかを判定する。たとえば、ネットワーク構築部269は、記憶装置221に設定情報254が保存されていれば、親機201に対して登録済みであると判定する。この場合、CPU220は、S81からS91に進み、設定情報254に基づき無線メッシュネットワークである産業用無線ネットワーク204に参加する。一方、ネットワーク構築部269は、記憶装置221に設定情報254が保存されていなければ、親機201に対して未登録であると判定する。この場合、CPU220は、S81からS82に進む。
【0166】
S82でCPU220(表示灯操作部262)は、表示灯224を橙点滅させる。
【0167】
S83でCPU220(追加子機接続部263)は、追加用無線ネットワーク209(既存子機)があるかどうかを判定する。追加子機接続部263は、自己が保持しているメッシュネットワーク識別子282と同一のネットワーク識別子を有する追加用無線ネットワーク209を探索する。すでに、追加用無線ネットワーク209が存在すれば、CPU220は、S83からS84に進む。S84でCPU220(ネットワーク構築部269)は、既存子機が構築した追加用無線ネットワーク209に参加する。一方、追加用無線ネットワーク209が存在しなければ、CPU220は、S83からS93に進む。S93でCPU220(ネットワーク構築部269)は追加用無線ネットワーク209を自ら構築する。これにより、複数の追加子機が追加用無線ネットワーク209に参加することになる。この事例の詳細は後述される。
【0168】
S85でCPU220(表示灯操作部262)は、表示灯224を橙点灯させる。橙点灯とは、表示灯224の点灯色を橙色に設定し、点灯形態を継続点灯に設定することを言う。
【0169】
S86でCPU220(要求受付部264)は、追加用無線ネットワーク209を介して親機201から固有情報の取得要求を受信したかどうかを判定する。固有情報の取得要求が受信されると、CPU220は、S86からS87に進む。
【0170】
S87でCPU220(要求受付部264)は、記憶装置221から固有情報283を読み出し、親機201へ送信する。
【0171】
S88でCPU220(親機/子機通信部266)は、追加用無線ネットワーク209を介して有線子機または他の既存子機から設定情報254を受信する。
【0172】
S89でCPU220(記憶管理部260)は、記憶装置221に設定情報254を保存する。
【0173】
S90でCPU220(ネットワーク構築部269)は、追加用無線ネットワーク209を解放する。
【0174】
S91でCPU220(ネットワーク構築部269)は、設定情報254にしたがって無線メッシュネットワークである産業用無線ネットワーク204に参加する。
【0175】
S92でCPU220(表示灯操作部262)は、表示灯224を緑点灯させる。
【0176】
このようにして子機は産業用無線ネットワーク204に参加できるようになる。
【0177】
2-3.強調点灯
図39は、子機202のCPU220により実行される強調点灯処理を示す。
【0178】
S121でCPU220(要求受付部264)は、親機201から強調点灯指示(強調点灯要求)を受信したかどうかを判定する。強調点灯指示が受信されると、CPU220は、S121からS122に進む。
【0179】
S122でCPU220(表示灯操作部262)は、表示灯224を強調点灯させる。
【0180】
S123でCPU220(要求受付部264)は、親機201から強調解除指示(強調解除要求)を受信したかどうかを判定する。強調解除指示が受信されると、CPU220は、S123からS124に進む。
【0181】
S124でCPU220(表示灯操作部262)は、表示灯224の強調点灯を解除する。
【0182】
ここでは、強調解除指示に基づき強調点灯が解除されているが、これは一例にすぎない。タイマーまたはカウンタが一定時間を計時すると、CPU220は、強調点灯を解除してもよい。
【0183】
2-4.信号シーケンス
図40は、子機追加処理における信号シーケンスを示す。ここでは、親機201に有線子機が接続済みである場合に、他の無線子機が産業用無線ネットワーク204に参加することが前提とされている。図40においてWNWは無線ネットワークの略称である。
【0184】
Sq1でPC2が親機201に追加画面要求を送信し、親機201が追加画面要求を受信する。追加画面要求は、暗黙的な子機追加モードへの移行指示である。
【0185】
Sq2で親機201は子機追加モードへの移行指示を有線子機(子機202a)に送信し、子機202aが移行指示を受信する。これにより、子機202aは、子機追加モードへ移行し、追加用無線ネットワーク209を構築する。
【0186】
Sq3で親機201は追加画面310の表示情報(HTMLファイルなど)をPC2に送信し、PC2がこれを受信する。PC2はWebブラウザにより表示部7に追加画面310(図35)を表示する。なお、Sq2とSq3の順番は逆でもよい。
【0187】
Sq4で追加子機(子機202b~202hなど)は追加用無線ネットワーク209を発見し、追加用無線ネットワーク209に参加する。
【0188】
Sq5で子機202aは追加用無線ネットワーク209に参加した追加子機を発見し、追加子機を発見したことを示す通知を親機201に送信する。親機201は通知を受信する。
【0189】
Sq6で親機201は通知をPC2に転送する。Sq6は省略されてもよい。
【0190】
Sq7で親機201は追加子機の固有情報283を要求するための取得要求を子機202aに送信し、子機202aが取得要求を受信する。
【0191】
Sq8で子機202aは取得要求を追加子機に転送する。追加子機は取得要求を受信する。
【0192】
Sq9で追加子機は取得要求に対するレスポンスとして自己の固有情報283を子機202aに送信する。子機202aは追加子機の固有情報283を受信する。
【0193】
Sq10で子機202aは追加子機の固有情報283を親機201へ転送する。親機201は、追加子機の固有情報283を受信する。
【0194】
Sq11で親機201は、追加子機の固有情報283を反映した追加画面310を作成(更新)し、更新された追加画面310をPC2へ送信する。PC2は更新された追加画面310(図36)を受信し、表示部7に表示する。これにより、ユーザは、追加子機の固有情報(例:ユニット名とシリアル番号)を確認できる。固有情報は、一般に、子機202が梱包された箱や説明書、保証書に印刷されており、ユーザは、固有情報を確認できる。つまり、ユーザは、産業用無線ネットワーク204に参加させたいと考える子機が、実際に、追加子機として検出されているかどうかを、追加画面310を通じて確認できる。
【0195】
Sq12でPC2はユーザ操作に基づき追加承認を親機201に送信し、親機201が追加承認を受信する。追加承認には、追加を承認された子機202の固有情報が含まれていてもよい。これにより、追加承認された子機202と追加拒否された子機202とが区別されてもよい。親機201は、追加承認された子機202の固有情報283を子機リスト253に登録する。
【0196】
Sq13で親機201は追加承認を子機202aに転送する。子機202aは追加承認を受信する。
【0197】
Sq14で親機201は、追加を承認された追加子機へ設定情報254を送信する。追加を承認された追加子機は設定情報254(メッシュネットワーク識別子281を含む)を受信し、記憶装置221に保存する。
【0198】
Sq15で追加子機は設定情報254にしたがって産業用無線ネットワーク204に参加する。
【0199】
Sq16で親機201は、有線子機を含む既存子機(子機202a)に子機追加モードの終了指示を送信する。有線子機を含む既存子機(子機202a)は、子機追加モードから通常モードに復帰(移行)する。
【0200】
<子機追加の他の例(一括登録)>
上述の事例では最初に親機201に有線子機が登録され、その後で、無線子機が追加されている。しかし、図41が示すように、有線子機を含む複数の子機202a、202e、202fが同時並行的に親機201へ登録されてもよい。
【0201】
この場合、図42が示すように、複数の子機202a、202e、202fは、設定情報254を所持していないことから、追加用無線ネットワーク209を構築する。複数の子機202a、202e、202fは、追加用無線ネットワーク209を通じて設定情報254を親機201から取得する。そして、図43が示すように、複数の子機202a、202e、202fは、設定情報254に基づき産業用無線ネットワーク204に参加する。
【0202】
図44はこの事例についてのシーケンス図である。なお、子機202a、202e、202fは、未登録状態であることから、それぞれ表示灯224を橙点滅させてもよい。また、親機201は、PC2がアクセスすると、ログインIDとパスワードとを入力させて、ユーザ認証を実行してもよい。
【0203】
Sq21でPC2が親機201に追加画面要求を送信し、親機201が追加画面要求を受信する。
【0204】
Sq22で親機201は、NW構築指示を子機202aに送信する。
【0205】
Sq23で親機201は追加画面310の表示情報(HTMLファイルなど)をPC2に送信し、PC2がこれを受信する。PC2は表示部7に追加画面310(図35)を表示する。なお、Sq32とSq23の順番は逆でもよい。
【0206】
Sq24で子機202a、202e、202fは、NW構築指示に基づき、追加用無線ネットワーク209を構築する。これにより、有線子機である子機202aだけでなく、無線子機である子機202e、202fも親機201と通信可能となる。子機202a、202e、202fはそれぞれ表示灯224を橙点灯させてもよい。
【0207】
Sq25で親機201は、子機202a、202e、202fを探索するための探索パケットをブロードキャストする。
【0208】
Sq26で子機202a、202e、202fは探索パケットに対するレスポンスとして固有情報283を親機201へ送信する。
【0209】
Sq27で親機201は、発見された子機202a、202e、202fの固有情報283で追加画面310を更新する。これにより、PC2は表示部7に更新された追加画面310を表示する。
【0210】
Sq28でPC2はユーザ操作に基づき追加承認を親機201に送信し、親機201が追加承認を受信する。追加承認には、追加を承認された子機202a、202e、202fの固有情報が含まれていてもよい。これにより、追加承認された子機202と追加拒否された子機202とが区別されてもよい。親機201は、追加承認された子機202a、202e、202fの固有情報283を子機リスト253に登録する。
【0211】
Sq29で親機201は、追加を承認された子機202a、202e、202fへ設定情報254を送信する。追加を承認された子機202a、202e、202fは設定情報254(メッシュネットワーク識別子281を含む)を受信し、記憶装置221に保存する。
【0212】
Sq30で子機202a、202e、202fは設定情報254にしたがって産業用無線ネットワーク204に参加する。子機202a、202e、202fはそれぞれ表示灯224を緑点灯させてもよい。
【0213】
Sq31で親機201は、子機202a、202e、202fが接続済みであることを示すように追加画面310を更新する。PC2は、更新された追加画面310を表示部7に表示する。
【0214】
このように複数の子機202が同時並行的に登録されてもよい。なお、PC2から強調点灯要求を受信した子機202は、強調点灯要求にしたがって表示灯224を強調点灯(例:明るさ増加など)してもよい。
【0215】
<設定変更処理>
PC2は親機201に接続し、設定情報254を変更することができる。この場合、変更された設定情報254は産業用無線ネットワーク204に参加している各子機202に伝搬(配布)されなければならない。
【0216】
図45は親機201において実行される設定変更処理を示す。図45図20との違いは、S5の後にS6が追加された点である。S6でCPU210(要求伝達部232、親機/子機通信部236)は、設定情報254が変更されたことを検知し、変更された設定情報254を含む設定変更要求を産業用無線ネットワーク204に対して送信(ブロードキャスト)する。なお、CPU210は、設定変更要求に対するレスポンスを待ってから、設定情報254を子機202へ送信してもよい。
【0217】
図46は子機202の設定変更処理を示す。ここでは、設定変更要求と設定情報254とが別々に受信されるものとする。もちろん、設定変更要求と設定情報254とが一緒に受信されてもよい。
【0218】
S101でCPU220(要求受付部264、親機/子機通信部266)は、設定変更要求を受信したかどうかを判定する。設定変更要求が受信されると、CPU220はS101からS102へ移行する。
【0219】
S102でCPU220(要求受付部264、親機/子機通信部266)は親機201から設定情報254を受信する。
【0220】
S103でCPU220(記憶管理部260)は、受信された設定情報254を記憶装置221に保存する。
【0221】
S104でCPU220は、自己に接続されている他の子機202が存在するかどうかを判定する。各子機202は、ネクストホップとなる子機202のネットワークアドレス(例:MACアドレスなど)を記憶装置221に保持しており、自己に接続されている他の子機202が存在するかどうかを知っている。親機201が設定情報をブロードキャストしない場合、S104、S105で設定情報254が他の子機202に伝搬される必要がある。そのため、設定情報254がブロードキャストされるケースでは、S104、S105は不要である。自己に接続されている他の子機202が存在しない場合、CPU220は、S104からS106に進む。自己に接続されている他の子機202が存在する場合、CPU220は、S104からS105に進む。
【0222】
S105でCPU220は、設定情報254を他の子機202へ配布する。他の子機202は、配布された設定情報254を記憶装置221に保存する。
【0223】
S106でCPU220は、更新された設定情報254に基づき無線メッシュネットワーク(産業用無線ネットワーク204)を再構築する。これにより、産業用無線ネットワーク204に対して更新された設定情報254が反映される。
【0224】
なお、設定変更要求は、子機追加処理において、設定情報254を追加子機に対して書き込む際に利用されてもよい。
【0225】
<子機の削除処理>
図47は、産業用無線ネットワーク204に接続されているいずれかの子機202を削除するための削除画面320を示している。すでに説明されたようにリスト315は、接続済みの子機202のリストである。各子機202についてユニット名312とシリアル番号314とが列挙される。ボタン313は、対応する子機202の表示灯224を強調点灯させるためのボタンである。チェックボックス317は、削除対象となる子機202を選択するためのコントロールオブジェクトである。なお、有線子機を削除してしまうと、産業用無線ネットワーク204が親機201から切り離されてしまうため、有線子機の削除は禁止されてもよい。たとえば、有線子機に対応するチェックボックス317は表示されないか、選択不可能とされてもよい。削除ボタン318は、選択された子機の削除をCPU210に指示するためのボタンである。
【0226】
図48は、親機201のCPU220により実行される削除処理を示す。
【0227】
S161でCPU210(画面提供部240)は、PC2から削除画面要求を受信したかどうかを判定する。削除画面要求は、削除画面320に相当するWebページのURLに対するアクセス要求であってもよい。削除画面要求が受信されると、CPU210は、S161からS162へ進む。
【0228】
S162でCPU210(画面提供部240)は削除画面320(HTMLファイル、CSSファイル、画像ファイル)を設定装置であるPC2へ提供する。
【0229】
S163でCPU210(ユーザ入力受付部239)は、削除対象の子機の選択を受け付ける。上述されたように、チェックボックス317にチェックが付与された子機202は削除対象となる。
【0230】
S164でCPU210(ユーザ入力受付部239)は、ユーザにより削除指示が入力されたかどうかを判定する。削除指示が入力されると、CPU210は、S164からS165に進む。
【0231】
S165でCPU210(子機登録部234)は、選択された子機202を子機リスト253から削除する。
【0232】
S166でCPU210(要求伝達部232)は、選択された子機202に削除要求を送信する。
【0233】
図49は、子機202のCPU220により実行される削除処理を示す。
【0234】
S181でCPU220(要求受付部264)は、親機201から削除要求を受信したかどうかを判定する。削除要求が受信されると、CPU220は、S181からS182へ進む。
【0235】
S182でCPU220(記憶管理部260)は、記憶装置221から設定情報284(およびメッシュネットワーク識別子281)を削除する。
【0236】
S183でCPU220(ネットワーク管理部268)は、WLANモジュール223aをオフにし、産業用無線ネットワーク204から離脱する。
【0237】
S184でCPU220(表示灯操作部262)は、表示灯224を橙点滅させる。これにより、どの子機202が未登録状態になったかをユーザが把握しやすくなる。なお、上述した子機の削除処理では、削除要求が発行された時点で、削除対象の子機が電源ONになっていると仮定している。仮に、削除要求が発行された時点で、削除対象の子機が電源OFFになっている場合もあろう。この場合、例えば、対象子機のユニークな識別子を親機が記憶しておいてもよい。次回その対象子機が電源ONした後、親機は、ユーザが指示したタイミング又は対象子機の電源ONを認識したタイミングで、その対象子機に削除要求を自動的に送信するような構成にしてもよい。対象子機は、親機から削除要求を受信すると、産業用無線ネットワーク204から脱退する。
【0238】
<その他>
有線子機に対して追加子機が接続されるケースが主に説明されているが、有線子機に接続された無線子機に対して追加子機が接続されてもよい。この場合、親機201から追加子機までに複数の子機202が通信を中継することになる。
【0239】
既存子機に対して追加子機が接続する際に、既存機器は、追加子機に対して認証処理を適用してもよい。認証処理としては、4way handshakeなどがある。
【0240】
産業用無線ネットワーク204に参加している複数の子機202にとって、それぞれネクストホップは動的に変更可能である。たとえば、図14において子機202eのネクストホップは子機202dであるが、子機202eのネクストホップが子機202bに変更されてもよい。これは、無線環境が変化すると、より安定して通信可能なネクストホップも変わるからである。
【0241】
点滅方式としては複数の点滅方式が設けられてもよい。第一の点滅方式は、明るさが徐々に増加することと、明るさが徐々に低下することとを繰り返す方式である。第一の点滅方式は、たとえば、追加用無線ネットワーク209への接続試行中(橙点滅)と、産業用無線ネットワーク204への接続試行中(緑点滅)とに適用されてもよい。第二の点滅方式は、第一の明るさ(例:100%)での点灯と、第二明るさ(例:0%)での点灯とを繰り返す方式である。なお、第一の点滅方式の周期は、第二の点滅方式の周期よりも長くてもよい。つまり、第一の点滅方式は、緩やかに明るさが変化する方式であってもよい。一方、第二の点滅方式は、より速く明るさが変化する方式であってもよい。なお、第二の点滅方式は、上述された強調点灯に採用されてもよい。
【0242】
<第1ユースケース>
以上説明した産業用無線ネットワーク204は、FA現場において様々な目的・用途で活用することができる。例えば第1ユースケースとして、図1図12を用いて詳細に説明した、運転記録の生成フェーズでも活用することができる。図50を用いて説明する。
【0243】
図50は、PLC1のリングバッファ36(図3)に定期的に収集されるデータとしてターゲット装置203cのデータを含めるケースを説明するためのシーケンス図である。上述したように、運転記録を生成するために、PLC1のリングバッファ36には各種データが収集される。例えば、PLC1の拡張ユニット4bに有線接続されたフィールドデバイス10から得られるデータ、すなわち、産業用無線ネットワーク204を介さずに(有線を介して)得られるデータは、予め設定された周期としてスキャン周期(例えば数ms以下)で収集される。しかし、産業用無線ネットワーク204を介してターゲット装置203cからデータを得ようとすると、無線通信に起因した遅延(例えば数十~数百ms)によって、スキャン周期での収集が困難な場合がある。
【0244】
そこで、図50に示すように、PLC1からターゲット装置203cにデータ要求する間隔を定めた「更新間隔」が設定される。具体的には、ユーザがPC2を介して更新間隔を設定し、設定された更新間隔は、PLC1のプロジェクト記憶部35に記憶される。加えてユーザは、PC2を介してターゲット装置203cの場所を特定するためのIPアドレスを設定したり、ターゲット装置203cの中で収集対象となるデータを特定するための情報を設定したりしてもよい。例えばターゲット装置203cとして他のPLCを考えた場合(いわゆるPLCリンク機能を用いる場合)には、他のPLCの場所を特定するためのIPアドレスを設定し、他のPLCの中で収集対象となるデバイス種別やデバイス番号、先頭デバイス番号からのワード数などを設定してもよい。このようにして設定された様々な情報(IPアドレスなど)は、PLC1のプロジェクト記憶部35に記憶される。
【0245】
図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に記憶されてもよい。
【0246】
このように、第1ユースケースによれば、産業用無線ネットワーク204を介して、ターゲット装置203cからのデータを運転記録の中に含めることが可能である。本実施形態では、運転記録を生成するためのリングバッファ36を、PLC1内に設けることとしているが、本発明はこれに限られず、例えば親機201内に設けてもよい。本実施形態に係る産業用ワイヤレスシステムでは、親機(管理部)と子機(無線通信回路)が分離されているので、このような親機201の機能拡張を容易に行うことができる。
【0247】
<第2ユースケース>
他にも第2ユースケースとして、産業用無線ネットワーク204は、第1ユースケースで生成した運転記録の分析レポートの確認用途でも活用されることができる。
【0248】
具体的には、上述したように、PLC1の拡張ユニット(分析ユニット)4aは、運転記録記憶部37に保存された運転記録の分析レポートを作成し、PLC1の外部にあるWebブラウザ60に提供する。Webブラウザ60を有する機器の一例としてPC2が挙げられる。PC2は、図14図28に示すように、親機201だけでなく、産業用無線ネットワーク204を構成する各子機202a~202fのいずれかに無線接続されてもよい。
【0249】
図51が示すように、例えば、子機202aに接続されたPC2は、子機202a、親機201およびPLC1に対して分析レポートについてのデータ要求を送信する。つまり、PC2は、分析レポートが保存されたPLC1のメモリ(分析レポートが運転記録の中に含まれる場合はPLC1の運転記録記憶部37。運転記録記憶部37以外に分析レポートが保存されるメモリを別途設けてもよい)にアクセスして、分析レポートを読み出して再生してもよい。
【0250】
このとき、上述した更新間隔(図50)として、無線通信に起因した遅延を考慮した間隔が設定されてもよい。これにより、PC2は、いわゆるストリーミング再生のような、分析レポートの一部読出と一部再生を繰り返し円滑に行うことが容易になる。もちろん、まずは分析レポートの全てをPC2にダウンロードし、その後、PC2において分析レポートを再生する、といった用途も考えられる。
【0251】
<第3ユースケース>
他にも例えば、第3ユースケースとして、産業用無線ネットワーク204は、PLC1からリアルタイムで取得される時系列のデバイス値の監視用途でも活用することができる。
【0252】
上述したように、PC2は、産業用無線ネットワーク204を構成する各子機202a~202fのいずれかに無線接続されてもよい。図52が例示するように、PC2は、子機202aに接続されてもよい。この場合、ターゲット装置203c(例:PLC)に記録される時系列のデバイス値を監視するためには、PC2は、子機202a、子機202b、および子機202cを介して、ターゲット装置203cにデータ要求を送信し、リアルタイムデータ(例:デバイス値)を取得して、表示する。適切な更新間隔を設定しておくことにより、PC2は、PLC1に記録される時系列のデバイス値を監視することができる。上述したように、PC2は、プログラマブル表示器に代替されてもよい。
【0253】
<第4ユースケース>
他にも例えば、第4ユースケースとして、産業用無線ネットワーク204は、PLC1において実行されるラダープログラムのデバッグ用途でも活用されることができる。
【0254】
従来は、ラダープログラムをデバッグするためには、システム設計者がPLC1の設置場所まで出向いて、PC2をラダープログラムに接続して、PLC1の動作検証を行いながらデバッグするしかなかった。しかし、本実施形態に係る産業用無線ネットワーク204を活用すれば、PLC1の設置場所まで出向かなくても、ラダープログラムをデバッグ可能である。
【0255】
図53が示すように、PC2は子機202aに接続し、子機202a、子機202bおよび子機202cを介してデータ要求(ラダープログラムの読み出し要求)を、ターゲット装置203c(例:PLC1)に送信する。ターゲット装置203cは、データ要求に応答して、ラダープログラムをPC2へ送信する。ラダープログラムは、子機202c、子機202bおよび子機202aを介してPC2に転送される。PC2は、ユーザ操作にしたがって、ラダープログラムを編集する。PC2は、編集されたラダープログラムの書込み要求を、子機202a、子機202bおよび子機202cを介してターゲット装置203cに送信し、ラダープログラムをターゲット装置203cであるPLC1に書き込む。その後、PC2は、子機202a、子機202bおよび子機202cを介してPLC1に書き込まれたラダープログラムについて運転試行コマンドを送信することで、デバッグ処理を実行する。PC2は、デバッグ処理中にPLC1からデバイス値を取得して、ラダープログラムに関連付けてデバイス値を表示してもよい。
【0256】
<産業用無線ネットワーク204の輻輳の軽減>
1.概念
図14が示すように、多数の子機202が産業用無線ネットワーク204に参加すると、産業用無線ネットワーク204が輻輳し、PLC1と複数のターゲット装置203との間で送受信される通信パケットに遅延が生じたり、通信パケットがロストしたりする。たとえば、一定の更新間隔で収集されることが設定された時系列のデバイス値の一部がロストすると、プログラマブル表示器であるPC2やデータ活用ユニットであるPLC1において時系列データの歯抜けが発生する。この場合、正確な表示と正確な分析とが不可能と成り得る。さらに、PC2が産業用無線ネットワーク204に参加すると、産業用無線ネットワーク204の輻輳がより一層深刻なレベルに成り得る。その一方で、子機202は、アクセスポイント機能を有している。たとえば、WLANモジュール223aが産業用無線ネットワーク204に接続し、WLANモジュール223cがアクセスポイントとして動作してもよい。
【0257】
そこで、本実施例では、PLC1とターゲット装置203との間でデータを転送する産業用無線ネットワーク204と、PC2がアクセスする無線ネットワークとを分離することで、産業用無線ネットワーク204の輻輳を抑制する。これにより、産業用ワイヤレスシステムにおけるデータの転送の遅延等が抑制され、PC2などのモバイル機器にデータを円滑に表示させることが可能となる。
【0258】
2.構築例
図54は、二種類の無線ネットワークの構築例を示す図である。ここでは、データ活用ユニットを含むPLC1はPLC1aと表記されている。PLC1aは、親機201に有線接続されている。親機201は、子機202aにネットワークケーブル600を介して有線接続されている。子機202a、子機202bおよび子機202cは、無線メッシュネットワークである産業用無線ネットワーク204を構築している。PLC1aは、親機201および産業用無線ネットワーク204を介して、PLC1bから分析に必要となる様々なデータ(例:デバイス値)を収集し、収集したデータを分析し、分析結果を記憶する。
【0259】
さらに、子機202a、子機202bおよび子機202cはそれぞれ、無線LANネットワーク901a、901b、901cを構築している。PC2は、無線LANネットワーク901a、901b、901cのいずれかに接続し、PLC1aにアクセスし、分析結果などを取得して表示部7に表示する。
【0260】
あるいは、PC2は、無線LANネットワーク901a、901b、901cのいずれかに接続し、PLC1bにアクセスし、リアルタイムデータを取得して表示部7に表示してもよい。PC2は、無線LANネットワーク901a、901b、901cのいずれかに接続し、PLC1bにアクセスし、ラダープログラムを読み出して編集し、ラダープログラムを再びPLC1bに転送して書き込んでもよい。さらに、PC2は、無線LANネットワーク901a、901b、901cのいずれかに接続し、PLC1bにアクセスし、PLC1bに試運転コマンドを送信し、ラダープログラムのデバッグ処理を実行してもよい。
【0261】
ここで、無線LANネットワーク901a、901b、901cのネットワーク識別情報(SSID)は共通であってもよいし、それぞれ異なっていてもよい。特定のPC2を特定の子機202(例:子機202a)にアクセスさせたい場合、特定のPC2と特定の子機202(例:子機202a)には特定のSSIDのみが設定される。これにより、特定のPC2は特定の子機202にのみアクセス可能となる。
【0262】
図55は、二種類の無線ネットワークの構築例を示す図である。この例では、子機202aはアクセスポイント機能がオン(有効)に設定されている。子機202bと子機202cはそれぞれアクセスポイント機能がオフ(無効)に設定されている。そのため、子機202aだけが、無線LANネットワーク901を構築している。PC2は子機202aにのみアクセス可能となる。
【0263】
図56は、二種類の無線ネットワークの構築例を示す図である。この例では、子機202aと子機202cとがそれぞれアクセスポイント機能をオンに設定されている。子機202bはアクセスポイント機能をオフに設定されている。PC2は、子機202cの近くに存在し、子機202cから送信される電波の受信強度は子機202aから送信される電波の受信強度よりも大きい。よって、PC2は、子機202cにより構築された無線LANネットワーク901cにアクセスする。
【0264】
3.設定UI
3-1.共通設定UI
図57は、PC2の表示部7に表示される設定画面300の一例である。なお、すでに説明された箇所には同一の参照符号が付与されており、その説明は援用される。なお、設定画面300は、画面提供部240によりPC2に提供されて表示される。また、設定画面300に対するユーザによる入力操作はユーザ入力受付部249により受け付けられる。
【0265】
図21に示された設定画面300に対して、図57に示された設定画面300には、アクセスポイント機能の切替部330、SSID設定部331、周波数設定部332およびチャネル設定部333が追加されている。この例では、産業用無線ネットワーク204に参加しているすべての子機202に対して共通にアクセスポイント機能が設定されることが想定されている。
【0266】
切替部330は、アクセスポイント機能のオン/オフを切り替えるラジオボタンである。切替部330においてオンが選択されると、SSID設定部331、周波数設定部332およびチャネル設定部333の操作が有効化される。切替部330においてオフが選択されると、SSID設定部331、周波数設定部332およびチャネル設定部333がグレーアウトされ、ユーザは設定不可能とされてもよい。
【0267】
SSID設定部331は、子機202のアクセスポイント機能により構築される無線LANネットワークのSSIDの入力を受け付けるテキストボックスである。周波数設定部332は、子機202のアクセスポイント機能により構築される無線LANネットワークの周波数バンドの選択を受け付けるメニューである。チャネル設定部333は、子機202のアクセスポイント機能により構築される無線LANネットワークで使用されるチャネルの選択を受け付けるメニューである。
【0268】
子機管理部231は、設定画面300を通じて入力されたアクセスポイント機能のオン/オフ、SSID、周波数バンド(例:2.4GHz、5GHz(5.2GHz、5.3GHz、5.6GHz)、6GHz)、およびチャネルを設定情報254に書き込む。上述されたように設定情報254は、子機リスト253に登録されているすべて子機202に転送されて書き込まれる。よって、すべての子機202は、設定情報254にしたがって無線LANネットワーク901を構築する。
【0269】
図57では省略されているが、暗号化キーも設定画面300を通じて受け付けられてもよい。同様に、暗号化方式も設定画面300を通じて受け付けられてもよい。
【0270】
3-2.個別設定UI
図58は、産業用無線ネットワーク204に参加している子機202が個別に提供するか、または、親機201の設定画面管理部238が提供する子機設定画面350を示している。前者の場合、PC2は、親機201を経由して個別の子機202の子機管理部261(例:Webブラウザ)にアクセスし、子機202から子機設定画面350を受信して表示部7に表示する。後者の場合、PC2は、親機201の設定画面管理部238(Webブラウザなど)にアクセスし、子機設定画面350を受信して表示部7に表示する。複数の子機202が存在する場合、設定画面管理部238は、まず、複数の子機202から一つの子機202をユーザに選択させ、次に、選択された子機202についての子機設定画面350をPC2に提供してもよい。
【0271】
子機設定画面350は、図57を用いて説明されたように、アクセスポイント機能の切替部330、SSID設定部331、周波数設定部332およびチャネル設定部333を有している。PC2は、子機設定画面350を通じて子機202aのアクセスポイント機能をオンに設定し、子機設定画面350を通じて子機202b、202cのアクセスポイント機能をオフに設定してもよい。これにより、図55に例示された無線LANネットワーク901が構築される。
【0272】
同様に、PC2は、子機設定画面350を通じて子機202aと子機202cのアクセスポイント機能をオンに設定し、子機設定画面350を通じて子機202bのアクセスポイント機能をオフに設定してもよい。これにより、図56に例示された無線LANネットワーク901a、901bが構築される。
【0273】
図58では省略されているが、暗号化キーも設定画面300を通じて受け付けられてもよい。同様に、暗号化方式も設定画面300を通じて受け付けられてもよい。
【0274】
4.ホップ数の削減
産業用無線ネットワーク204においてはできる限り、低遅延が達成されることが望ましい。したがって、産業用無線ネットワーク204を構築する際に、親機201の子機管理部231は、複数の子機202間のホップ数ができる限り小さくなるように、ネクストホップテーブルを作成する。
【0275】
親機201の子機管理部231は、子機リスト253に登録されているすべての子機202に対してキープアライブを実行することで、各子機202が喪失していないかどうかを監視する。子機管理部231は、いずれか子機202が喪失したことを検知すると、産業用無線ネットワーク204の再構築を実行する。つまり、各子機202について無線通信経路が再構築される。
【0276】
なお、産業用無線ネットワーク204において上位階層に位置する子機202は、下位階層に位置する別の子機202についてキープアライブを実行してもよい。上位階層に位置する子機202のネットワーク管理部268が、下位階層に位置する別の子機202の喪失を検知すると、親機201に対して産業用無線ネットワーク204の再構築を要求してもよい。これにより、産業用無線ネットワーク204は無線障害から復旧することが可能となろう。
【0277】
<デバイス値の収集と状態情報の収集>
1.概念
図59は、産業用ワイヤレスシステム200において、PLC1a、1bなどのターゲット装置203から運転履歴の収集処理と、子機202から無線状態を示す状態情報の収集処理と、分析結果の表示処理とを説明する図である。一例として、親機201と子機202aとがルートノードを形成している。PLC1aはデバイス値の収集機能と、収集されたデバイス値の分析処理を実行する分析ユニット(データ活用ユニット)を含み、親機201に対して有線接続されている。PLC1bはデバイス値の収集機能を有するが、収集されたデバイス値の分析処理を実行する分析ユニット(データ活用ユニット)は含まなくてもよい。あるいは、PLC1bはデバイス値の収集機能も有していなくてもよい。いずれにしても、PLC1bのデバイス値は、最終的に、PLC1aの収集部72により収集されることになる。
【0278】
PC2aは、PLC1a、1b、親機201および子機202を設定する設定支援装置である。PC2bは、分析結果などを表示する表示器である。よって、PC2bはプログラマブル表示器であってもよい。PC2aとPC2bとは一つのPC2であってもよい。PC2bは無線LANネットワーク901aを介して子機202aに無線接続されている。
【0279】
子機202a、202b、202cは産業用無線ネットワーク204を構築している。子機202bは中継ノードであり、この例では、産業用機器が接続されていない。子機202cには、産業用機器であるPLC1bが接続されている。
【0280】
PLC1aはPC2aにより設定された収集設定にしたがってPLC1a内でデバイス値などを収集するとともに、PLC1bからもデバイス値などを収集する。さらに、PLC1aは、親機201を介して子機202a~202cのそれぞれ無線状態(個別状態情報256)を収集する。これらの収集処理は並行して実行されてもよい。これにより、収集時刻が間接的に同期することになる。
【0281】
図59によれば、Sq51でPLC1aはPLC1bに対して収集対象となっているデバイス値(運転履歴など)などについてデータ要求を送信する。PLC1bは産業用無線ネットワーク204を通じて、PLC1aからデータ要求を受信する。
【0282】
Sq52で、PLC1bは、PLC1b内で収集された運転履歴(例:デバイス値)を、産業用無線ネットワーク204を通じて、PLC1aへ送信する。PLC1aは、PLC1aとPLC1bのそれぞれの運転履歴(稼働ログ76)を運転記録記憶部37に記憶させる。
【0283】
ところで、PLC1aとPLC1bとがPLCリンクを構築している場合、PLC1aはPLC1bのデバイスメモリから所定のデバイス値を直接的に収集することができる。PLCリンクによって、PLC1aにおけるデバイス名と、PLC1bにおけるデバイス名が関連付けられ、PLC1bにおいてあるデバイス格納されているデバイス値が、PLC1aにおける特定のデバイスにも格納される。これは、一スキャンごとに実行されるリフレッシュ処理により実現されてもよい。つまり、一スキャンごとに、PLC1aにおける第一のデバイスに格納されるデバイス値と、PLC1bにおける第二のデバイスに格納されるデバイス値と、同期される。第一のデバイスと第二のデバイスとはPLCリンクにより相互に関連付けられている。
【0284】
Sq53で親機201は、子機202aに対して個別状態情報256についてのデータ要求を送信する。子機202aは、有線接続を介して、親機201からデータ要求を受信する。
【0285】
Sq54で子機202aは、自己の記憶装置221から個別状態情報256を読み出し、親機201へ送信する。親機201は、子機202aの個別状態情報256を受信し、メモリマップに基づき所定のデバイス(デバイスメモリ)に個別状態情報256を記憶させる。
【0286】
Sq55で親機201は、子機202bに対して個別状態情報256についてのデータ要求を送信する。子機202bは、産業用無線ネットワーク204を介して、親機201からデータ要求を受信する。
【0287】
Sq56で子機202bは、自己の記憶装置221から個別状態情報256を読み出し、親機201へ送信する。親機201は、子機202bの個別状態情報256を受信し、メモリマップに基づき所定のデバイス(デバイスメモリ)に個別状態情報256を記憶させる。
【0288】
Sq57で親機201は、子機202cに対して個別状態情報256についてのデータ要求を送信する。子機202cは、産業用無線ネットワーク204を介して、親機201からデータ要求を受信する。
【0289】
Sq58で子機202cは、自己の記憶装置221から個別状態情報256を読み出し、親機201へ送信する。親機201は、子機202cの個別状態情報256を受信し、メモリマップに基づき所定のデバイス(デバイスメモリ)に個別状態情報256を記憶させる。
【0290】
Sq59でPLC1aは、親機201に対して、状態情報群255についてデータ要求を送信する。親機201はPLC1aからデータ要求を受信する。
【0291】
Sq60で親機201は、記憶装置211から状態情報群255を読み出してPLC1aへ送信する。PLC1aは、親機201から状態情報群255を受信して、運転記録記憶部37に記憶させる。
【0292】
なお、Sq59とSq60に関して、PLC1aのCPU31は、親機201の記憶装置211のうち状態情報群255が格納されているデバイスメモリに直接的にアクセスできてもよい。この場合、CPU31は、親機201の記憶装置211から状態情報群255を直接的に収集することが可能となる。また、収集部72による親機201のデバイスメモリへのアクセスは、PLCリンクにより実現されてもよい。
【0293】
PLC1aは、収集された運転記録74(運転履歴)を分析して分析結果77を作成する。これにより、分析結果はWebサーバ82を通じてPC2bに対して提供可能となる。
【0294】
Sq71でPC2bまたはプログラマブル表示器は、無線LANネットワーク901aを介して子機202aにアクセスし、PLC1aへのデータ要求(例:分析結果を表示するWebページを要求するためのhttpリクエストなど)を送信する。PLC1aのWebサーバ82は、PC2bからのデータ要求を受信する。
【0295】
Sq72でPLC1aのWebサーバ82はデータ要求に対応する表示データをPC2bへ送信する。表示データは、親機201、子機202aおよび無線LANネットワーク901aを介して、PC2bに転送される。PC2bは、表示データを受信すると、Webブラウザ60により分析結果の表示データを表示する。
【0296】
2.フローチャート
2-1.設定支援装置
図60は、設定支援装置として機能するPC2aにおける設定処理を示す。S201~S203はPLC1aに対する収集設定処理を示す。S204~S205はPLC1bに対する収集設定処理を示す。S206~S207は親機201に対する設定処理を示す。
【0297】
S201でCPU11は、操作部8から入力されるユーザ指示にしたがってPLC1aにおける運転履歴の収集設定を実行する。たとえば、収集対象のデバイス値(デバイス名)、収集タイミングなどが設定される。
【0298】
S202でCPU11は、操作部8から入力されるユーザ指示にしたがって、PLC1aによる親機201から無線状態の収集に関する収集設定を実行する。この設定により、PLC1aが親機201から状態情報群255を収集するタイミング等が決定される。
【0299】
S203でCPU11は、PLC1aに対して収集設定を送信し、収集を開始させる。これにより、PLC1a内の運転履歴と、子機202a~202cについて無線状態とが収集される。
【0300】
S204でCPU11は、操作部8から入力されるユーザ指示にしたがってPLC1bにおける運転履歴の収集設定を実行する。収集対象のデバイス値(デバイス名)、収集タイミングなどが設定される。これにより、PLC1bの内部で運転履歴が収集される。
【0301】
S205でCPU11は、PLC1bに対して収集設定を送信し、収集を開始させる。
【0302】
S206でCPU11は、操作部8から入力されるユーザ指示にしたがって無線ネットワーク設定を実行する。これにより、産業用無線ネットワーク204と無線LANネットワーク901とについての設定情報254が作成される。
【0303】
S207でCPU11は、操作部8から入力されるユーザ指示にしたがって、親機201が子機202a~202cから無線状態(個別状態情報256)を収集するための収集設定が実行される。この収集設定も設定情報254に保存される。
【0304】
S208でCPU11は、親機201に無線状態の収集を開始させる。親機201は設定情報254を子機202a~202bに転送することで、産業用無線ネットワーク204と無線LANネットワーク901とを構築する。さらに、親機201は、設定情報254に含まれる収集設定にしたがって子機202a~202cから無線状態(個別状態情報256)を収集する。親機201は、収集設定に含まれるメモリマップに基づき、子機202a~202cから個別状態情報256を所定のデバイスメモリに格納する。
【0305】
2-2.PLC1aによるPLC1bからの運転履歴(デバイス値)の収集処理
図61は、PLC1aのCPU31により実行されるPLC1bのデータについての収集処理を示す。
【0306】
S221でPLC1aのCPU31(収集部72)は、収集設定にしたがって他のPLC1bへ運転履歴(デバイス値)のデータ要求を送信する。
【0307】
S222でPLC1aのCPU31(収集部72)は、PLC1bからデータ(運転履歴またはデバイス値)を受信する。
【0308】
S223でPLC1aのCPU31(ロギング部73)は、PLC1bの運転履歴(デバイス値)をデバイスメモリに記憶する。
【0309】
2-3.親機に対するデータ要求
図62は、PLC1aのCPU31により実行される無線状態の収集処理を示す。図61に示された収集処理と図62に示された収集処理とは並列に実行されてもよい。
【0310】
S231でPLC1aのCPU31(収集部72)は、収集設定にしたがって親機201に対して子機202a~202cについての個別状態情報256の集合体である状態情報群255に関するデータ要求を送信する。
【0311】
S232でPLC1aのCPU31(収集部72)は、親機201からデータ(状態情報群255)を受信する。
【0312】
S233でPLC1aのCPU31(ロギング部73)は、収集設定にしたがって、データ(状態情報群255)をデバイスメモリ(運転記録記憶部37)に記憶する。
【0313】
2-4.親機201による個別状態情報256の収集処理
図63は、親機201のCPU210により実行される収集処理を示す。
【0314】
S241でCPU210(メモリ割り当て部248)は、設定情報254に含まれる収集設定内のメモリマップに基づき、記憶装置211に状態情報群255を保存するためのメモリ(デバイスメモリ)を割り当てる。
【0315】
S242でCPU210(状態収集部245)は、子機リスト253に登録されている複数の子機202a~202cから収集対象の子機202を選択する。この選択は、ランダムであってもよいし、子機リスト253への登録順に従ってもよい。
【0316】
S243でCPU210(状態収集部245)は、収集対象の子機202に個別状態情報256についてのデータ要求を送信する。
【0317】
S244でCPU210(状態収集部245)は、収集対象の子機202からデータ(個別状態情報256)を受信する。
【0318】
S245でCPU210(状態収集部245)は、メモリマップに基づきデータ(収集対象の子機202の個別状態情報256)をデバイスメモリに記憶する。
【0319】
S246でCPU210(状態収集部245)は、子機リスト253に登録されているすべての子機202a~202cについてデータの収集が完了したかどうかを判定する。完了していなければ、CPU210は、S242に戻り、子機リスト253から次の収集対象の子機202を選択する。以下、CPU210は、S242~S246を繰り返す。すべての子機202a~202cについてデータの収集が完了すると、CPU210は、収集処理を終了する。
【0320】
2-5.PLC1aによる分析結果の表示データの作成処理と提供処理
図64は、PLC1aのCPU41aにより実行される分析結果の表示データの作成処理と提供処理を示す。
【0321】
S251でCPU41a(分析部83)は、所定のイベント(トラブル)が発生したかどうかを判定する。このイベントは、運転履歴(稼働ログ76)の分析開始のトリガとなるイベントである。たとえば、所定のイベントは、所定のリレーデバイス(1ビットのデバイスメモリ)のデバイス値が0から1に代わったことであってもよい。所定のイベントが発生すると、CPU41aはS251からS252へ進む。所定のイベントが発生していなければ、CPU41aはS251からS261へ進む。
【0322】
S252でCPU41a(分析部83)は、運転履歴(稼働ログ76)の分析を実行し、分析結果77を作成する。
【0323】
S253でCPU41a(分析部83)は、分析結果77の表示データ(例:HTMLファイル、CSSファイル、スクリプト、画像データ)を作成する。
【0324】
S261でCPU41a(Webサーバ82)は、PC2bから分析結果の表示要求を受信したかどうかを判定する。表示要求が受信されると、CPU41aは、S261からS262へ進む。表示要求が受信されていなければ、CPU41aは、作成処理と提供処理を終了する。
【0325】
S261でCPU41a(Webサーバ82)は、分析結果77の表示データ(例:HTMLファイル、CSSファイル、スクリプト、画像データ)をPC2bへ送信する。PC2bのWebブラウザ60は、表示データ(例:HTMLファイル、CSSファイル、スクリプト、画像データ)に基づき、分析結果77を表示する。
【0326】
3.ユーザインタフェース
3-1.リアルタイム監視
図65はWebブラウザ60がWebアプリケーション61を実行することで表示部7に表示されるか、または、プログラマブル表示器に表示されるリアルタイムデータの一例を示す。ここでは、Webアプリケーション61は、デバイス値と無線状態とのリアルタイム監視を実現するアプリケーションであると仮定されている。
【0327】
リアルタイム監視UI400は、Webアプリケーション61によって提供されるユーザインタフェースである。表示領域401は、PLC1a内においてリアルタイムで取得されるデバイス値(時系列データ)のグラフを表示する。表示領域402は、PLC1aによりPLC1bからリアルタイムで取得されるデバイス値(時系列データ)のグラフを表示する。表示領域403は、親機201によりリアルタイムで収集される無線状態(状態情報群255、時系列データ)を表示する表示領域である。
【0328】
ここで、表示対象として選択されているデバイス値および無線状態は、PLC1aの収集部72により、PLC1a、PLC1bおよび親機201からリアルタイムで収集される。そのため、これらのデバイス値および無線状態は実質的に時刻同期されている。
【0329】
ユーザは、PLC1aおよびPLC1bにおけるデバイス値の変化と、産業用無線ネットワーク204における無線状態の変化とを、突き合わせながら監視することができる。
【0330】
3-2.分析レポート
図66はWebブラウザ60がWebアプリケーション61を実行することで表示部7に表示される分析レポート110を示す。ここでは、Webアプリケーション61は、デバイス値と無線状態との分析結果の提供を実現するアプリケーションであると仮定されている。
【0331】
分析レポート110において、表示領域501は、PLC1a内において収集部72により収集されたデバイス値(時系列データ)のグラフを表示する。表示領域502は、PLC1aの収集部72によりPLC1bから収集されたデバイス値(時系列データ)のグラフを表示する。表示領域503は、収集部72により親機201から収集された無線状態(状態情報群255、時系列データ)を表示する表示領域である。
【0332】
デバイス値や無線状態は時間とともに変化しうる時系列データであるため、各デバイス値および各無線状態は、収集された時刻を示す時刻情報に対して、収集部72により、紐づけられている。シークバー105aは、デバイス値と無線状態の再生時刻を示すとともに、再生時刻を指定するためにポインタ103により操作されることがある。運転記録(運転履歴)の再現中は、再生時刻の経過に連動して、シークバー105aが左から右へと移動する。時刻指定部106aは、再生時刻を進めたり、再生時刻を戻したり、自動的な再生の開始を指示したり、再生を停止したりすることを指示するためのコントロールオブジェクトである。
【0333】
ユーザは、PLC1aおよびPLC1bにおけるデバイス値の変化と、産業用無線ネットワーク204における無線状態の変化とを、突き合わせながら検討することができる。たとえば、PLC1bから収集されたデバイス値において抜けが生じているが、これは、産業用無線ネットワーク204における無線品質の低下によって、デバイス値の収集に失敗したことが原因と考えられる。このような、産業用無線ネットワーク204に起因したデータの抜けは、PLC1bから収集されたデバイス値だけを見ていても、その原因をユーザが特定することは不可能であった。しかし、本実施例によれば、産業用無線ネットワーク204に起因したデータの抜けも特定することが可能となろう。
【0334】
<実施例から導き出される技術思想>
[観点A1]
子機202aと親機201は、データを収集する第一産業用機器(例:PLC1、1a)に有線接続される一次無線ノードとして機能する。子機202b~202fは、第一産業用機器に向けてデータを送出する第二産業用機器(例:ターゲット装置203b~203f、PLC1b)に有線接続され、かつ、一次無線ノードと無線接続される一つ以上の二次無線ノードとして動作する。産業用ワイヤレスシステム200は、データを送出する第二産業用機器とデータを収集する第一産業用機器との間のデータ通信を媒介する。
【0335】
LANポート38e~38hは、第一産業用機器に有線接続される有線通信ポートの一例である。WLANモジュール223a~223cは、第一産業用機器に対応するモバイル機器(例:PC2、プログラマブル表示器)と無線通信する第一無線通信ポートの意一例である。WLANモジュール223a~223cは、一つ以上の二次無線ノードと無線通信する第二無線通信ポートの一例である。CPU210、220は、第一無線通信ポートを介して接続されるモバイル機器と一次無線ノードとが無線通信するための第一無線ネットワーク(例:無線LANネットワーク901)を構築し、第二無線通信ポートを介して接続される一つ以上の二次無線ノードと一次無線ノードとが無線通信するための第二無線ネットワーク(例:産業用無線ネットワーク204)を構築する構築部として機能する。CPU210、LANモジュール212、CPU220、および通信管理部235、265は、第二産業用機器から送信され、一つ以上の二次無線ノードと第二無線ネットワークと第二無線通信ポートとを介して受信されたデータを、有線通信ポートを介して第一産業用機器に転送し、第一産業用機器から送信され、有線通信ポートを介して受信された第二産業用機器または第二無線ネットワークの監視情報(例:個別状態情報256、状態情報群255、デバイス値)を、第一無線通信ポートを介してモバイル機器に転送する転送部として機能する。
【0336】
ここで、第一無線ネットワークでは第一無線周波数バンド(例:2.4GHz、5GHz)が使用される。第二無線ネットワークでは第二無線周波数バンド(例:6GHz)が使用される。第二無線周波数バンドは、第一無線周波数バンドよりも高い周波数バンドである。
【0337】
このように、複数の無線周波数バンドのうち帯域幅が広く、混雑の少ない無線周波数バンドで産業用無線ネットワーク204を構築することで、産業用無線ネットワーク204における輻輳が軽減される。また、モバイル機器は別の無線周波数バンドを使用する別の無線ネットワークを使用することで、産業用ワイヤレスシステムからデータを取得して表示できるようになる。モバイル機器が接続する無線ネットワークの無線周波数バンドは、産業用無線ネットワーク204の無線周波数バンドと異なっている。そのため、モバイル機器によるアクセスによって産業用無線ネットワーク204における輻輳がもたされにくくなる。つまり、産業用ワイヤレスシステムにおけるデータの転送の遅延等が抑制され、かつ、モバイル機器にデータを円滑に表示させることが可能となる。
【0338】
[観点A2]
第一無線周波数バンドが2.4GHzバンドであり、第二無線周波数バンドが5GHzまたは6GHzバンドであってもよい。第一無線周波数バンドが5GHzバンドであり、第二無線周波数バンドが6GHzバンドであってもよい。モバイル機器と比較して、産業用機器はより多くのデータを遅延なく転送する必要がある。よって、モバイル機器と比較して産業用機器は、より帯域幅の広い無線周波数バンドを使用する。これにより、産業用ワイヤレスシステムにおけるデータの転送の遅延等が抑制され、かつ、モバイル機器にデータを円滑に表示させることが可能となる。
【0339】
[観点A3]
一つ以上の二次無線ノードは、一次無線ノードと無線通信する第一の二次無線ノード(例:子機202b)と、第一の二次無線ノードと無線通信し、かつ、第一の二次無線ノードを介して一次無線ノードと通信する三次無線ノード(例:子機202c)と、を含んでもよい。
【0340】
[観点A4]
第一産業用機器は、プログラマブルロジックコントローラ(例:PLC1)であってもよい。モバイル機器は、Webブラウザ60を用いてデータまたは監視情報を表示するモバイルコンピュータ(例:PC2)であってもよい。ここで、監視情報は、各産業用機器のデバイス値、デバイス値の分析情報、無線通信状態(例:子機202で測定される電波の受信強度、通信速度、信号対干渉雑音比)などのいずれであってもよい。
【0341】
[観点A5]
第一産業用機器と第二産業用機器はそれぞれ、プログラマブルロジックコントローラ(例:PLC1a、1b)であってもよい。第一産業用機器と第二産業用機器は、一次無線ノードと一つ以上の二次無線ノードとを跨いで確立されるPLCリンクを構築してもよい。PLCリンクは、複数のPLCが相互にデバイス値を参照できるようにする通信リンクである。ユーザは、PC2を介してPLC1a、1bに対して、転送元の機器(例:機器のIPアドレス)と、転送元のデバイス値の名称、転送先の機器(例:機器のIPアドレス)と、転送先のデバイス値の名称と、転送タイミング(例:一スキャンごと、一定周期ごと)を設定する。これにより、ユーザは、転送用のラダープログラムを自作することなく、複数のPLC1a、1b間でデバイス値を転送することが可能となる。つまり、第一産業用機器と第二産業用機器とは、PLCリンクを介して、それぞれ記憶領域である複数のデバイスメモリに記憶されているデバイス値であるデータの送受信を所定周期で実行できるようになる。なお、デバイス値は、PLC1a、1bの制御に使用されるなど、遅延に対して過敏なデータである。そのため、PLCリンクを構築される産業用無線ネットワーク204における遅延の軽減が必要となる。
【0342】
[観点A6]
第一産業用機器は、プログラマブルロジックコントローラであり、第二産業用機器は、センサ(例:ワークの到着を検知する位置センサなど)またはプログラマブルロジックコントローラであってもよい。第一産業用機器は、第二産業用機器からデータをリアルタイムで収集してもよい。モバイル機器は、一次無線ノードを介して第一産業用機器と通信して、第二産業用機器から収集されたデータを時系列に沿ってグラフとして表示する表示機器(例:PC2、プログラマブル表示器)であってもよい。複数の時系列データをグラフ化する際には、データの遅延やロストは問題となりやすい。たとえば、一部の時系列データがロストすると、グラフの一部が歯抜けしてしまい、その区間のイベントを分析することが不可能となる。したがって、産業用無線ネットワーク204と無線LANネットワーク901とを分離することで、産業用無線ネットワーク204におけるデータの遅延が軽減され、データのロストも生じにくくなる。その結果、モバイル機器におけるデータの表示も円滑になる。
【0343】
[観点A7]
第一産業用機器は、プログラマブルロジックコントローラ(例:PLC1a)であり、第二産業用機器は、センサまたはプログラマブルロジックコントローラ(例:PLC1b)であってもよい。モバイル機器は、第二産業用機器からデータをリアルタイムで収集し、第二産業用機器から収集されたデータを時系列に沿ってグラフとして表示する表示機器であってもよい。図52が例示するように、モバイル機器(例:PC2、プログラマブル表示器)は、PLC1aを介さずに、PLC1bにアクセスして、PLC1bからデータを取得してグラフ化して表示してもよい。
【0344】
[観点A8]
第一産業用機器は、プログラマブルロジックコントローラであり、モバイル機器は、ラダープログラムを編集する編集装置(例:プロジェクト編集部50が動作するPC2)であってもよい。第二産業用機器は、ラダープログラムを実行するプログラマブルロジックコントローラ(例:PLC1、1b)であってもよい。モバイル機器(例:デバッグ部54を実行するPC2)は、第二産業用機器から収集されたデータをラダープログラムに関連付けて表示するデバッグ処理を実行してもよい(例:図7図9図11)。このように、ラダープログラムの編集やデバッグを実行するPC2が、無線LANネットワーク901と産業用無線ネットワーク204とを介してデバッグの対象となるPLC1bにアクセスしてもよい。
【0345】
[観点A9]
第一産業用機器はプログラマブルロジックコントローラであり、第二産業用機器はセンサまたはプログラマブルロジックコントローラであってもよい。第一産業用機器は、第二産業用機器のデータをリアルタイムで収集して分析する分析部(例:分析部83)と、分析部により生成された分析結果を示す表示情報を作成する作成部(例:CPU41a、分析部83)と、表示情報を、クライアントとして動作するモバイル機器に対して提供するサーバ(例:Webサーバ82)と、を有してもよい。
【0346】
[観点A10]
モバイル機器は、Webブラウザ60を有してもよい。Webサーバ82は表示情報をWebブラウザ60に提供する。
【0347】
[観点A11]
第一産業用機器(例:PLC1、1a)は、さらに、一次無線ノードと一つ以上の二次無線ノードとの間に構築される第二無線ネットワークの通信状態を示す状態情報(例:個別状態情報256、状態情報群255)を収集して、状態情報をモバイル機器に提供してもよい。これにより、ユーザは、産業用無線ネットワーク204の通信状態を把握できるようになる。
【0348】
[観点A12]
第一無線ネットワークは無線LANであってもよい。第二無線ネットワークは無線メッシュネットワークであってもよい。
【0349】
[観点A13]
構築部(例:CPU210、子機管理部231)は、第二無線ネットワークを構築する無線ノード間のホップ数が小さくなるように、第二無線ネットワークを構築する。これにより、さらに、産業用無線ネットワーク204におけるデータの遅延が軽減され、モバイル機器におけるデータの表示が円滑になる。
【0350】
[観点A14]
一次無線ノードは、ネットワークコントローラ(例:親機201)と、ネットワークコントローラと有線接続され、一つ以上の二次無線ノードおよびモバイル機器と無線接続される無線ノード(例:子機202a)と、を含んでもよい。このような一次無線ノードはルートノードと呼ばれてもよい。一つ以上の二次無線ノードはそれぞれ、無線ノード(例:子機202b~子機202f)から構成されている。つまり、子機202は、LANポート38iに親機201が接続されると、ルートノード(子機202a)として動作する。子機202は、LANポート38iに何も接続されていないか、または、PLC1などが接続されると、通常の無線ノード(子機202b~202f)として動作する。
【0351】
ネットワークコントローラは、第一無線ネットワークで第一無線周波数バンドが使用され、第二無線ネットワークで第二無線周波数バンドが使用されるように無線ノードを設定するための設定情報(例:設定情報254)を、一次無線ノードから一つ以上の二次無線ノードのそれぞれへ配布するように構成されている。これにより、ユーザは、複数の子機202a~202fを個別に設定する手間を省けるため、産業用無線ネットワーク204の設定に関するユーザビリティが向上する。
【0352】
[観点A15]
図54が例示するように、一次無線ノードと一つ以上の二次無線ノードはそれぞれアクセスポイントとして動作することで、第一無線ネットワークを構築してもよい。モバイル機器は、一次無線ノードの第一無線ネットワークから一つ以上の二次無線ノードの第一無線ネットワークに切り替え、一つ以上の二次無線ノードおよび一次無線ノードを介して第一産業用機器に接続してもよい。図54が例示するように、子機202a~202cはそれぞれアクセスポイントして動作できる。この場合、モバイル機器(PC2、プログラマブル表示器)は、三つの子機202a~202cのうちで無線状態の良い一つの子機202aを選択して通信する。子機202aから送信される電波の受信強度が低下し、子機202bから受信される電波の受信強度が増加すると、モバイル機器は、無線LANネットワーク901aから無線LANネットワーク901bに切り替えて、子機202bに接続してもよい。これにより、モバイル機器の無線接続が安定するであろう。
【0353】
[観点A16]
一次無線ノードの第一無線ネットワークのSSIDと、一つ以上の二次無線ノードの第一無線ネットワークのSSIDとが共通であってもよい。これにより、モバイル機器はシームレスに無線接続を維持できるようになろう。たとえば、設定情報254により複数の子機202a~202fを一括して設定することが容易となろう。
【0354】
[観点A17]
一次無線ノードの第一無線ネットワークのSSIDと、一つ以上の二次無線ノードの第一無線ネットワークのSSIDとが異なっていてもよい。これにより、特定のモバイル機器を特定の子機202にのみ接続させることも可能となる。
【0355】
[観点A18]
一つ以上の二次無線ノードは、一次無線ノードから受信される設定情報に基づき、自己の第一無線ネットワークを構築するか否かを決定してもよい。図57および図58が例示するように、各子機202のネットワーク管理部268は、設定情報254に基づき、アクセスポイント機能をオン/オフしてもよい。
【0356】
[観点A19]
二次無線ノード(例:子機202b~202f)は、第二産業用機器に有線接続される有線通信ポート(例:LANポート38i)と、第一無線ネットワークにおいて第一産業用機器に対応するモバイル機器と無線通信する第一無線通信ポート(例:WLANモジュール223a~223c)と、第二無線ネットワークにおいて一次無線ノードと無線通信する第二無線通信ポート(例:WLANモジュール223a~223c)と、第二産業用機器から送信されるデータを、第二無線通信ポート、第二無線ネットワーク、および一次無線ノードを介して、第一産業用機器へ転送し、第一産業用機器から送信され、一次無線ノード、第二無線ネットワーク、および第二無線通信ポートを介して受信される、第二産業用機器または第二無線ネットワークの監視情報を、第一無線通信ポートを介してモバイル機器に転送する転送部(例:CPU220)と、を有する。第一無線ネットワークでは第一無線周波数バンドが使用され、第二無線ネットワークでは第二無線周波数バンドが使用され、第二無線周波数バンドは、第一無線周波数バンドよりも高い周波数バンドであってもよい。
【0357】
[観点A20]
第一無線周波数バンドは、2.4GHzバンド、または、5GHzバンドであってもよい。第二無線周波数バンドは、6GHzバンドであってもよい。
【0358】
[観点A21]
二次無線ノード(例:子機202c)は、中継ノード(例:子機202b)を介して、一次無線ノード(例:親機201、子機202a)と通信してもよい。
【0359】
[観点A22]
産業用ワイヤレスシステム200は、第一産業用機器に有線接続される一次無線ノード(例:子機202a)と、一次無線ノードに無線接続される二次無線ノード(例:子機202b)と、二次無線ノードに無線接続される三次無線ノード(例:子機202c)と、を有し、二次無線ノードまたは三次無線ノードに有線接続される第二産業用機器と第一産業用機器との間で送受信されるデータを転送してもよい。
【0360】
一次無線ノードは、第一産業用機器に有線接続される第一有線通信ポートと、第一無線周波数バンドで第一産業用機器に対応するモバイル機器と無線通信可能な第一無線通信ポートと、第一無線周波数バンドよりも高い第二無線周波数バンドで二次無線ノードと無線通信する第二無線通信ポートと、を有する。二次無線ノードは、第二産業用機器に有線接続可能な第二有線通信ポートと、第一無線周波数バンドでモバイル機器と無線通信可能な第三無線通信ポートと、第二無線周波数バンドで一次無線ノードおよび三次無線ノードと無線通信する第四無線通信ポートと、を有する。三次無線ノードは、第二産業用機器に有線接続可能な第三有線通信ポートと、第一無線周波数バンドでモバイル機器と無線通信可能な第五無線通信ポートと、第二無線周波数バンドで二次無線ノードと無線通信する第六無線通信ポートと、を有する。
【0361】
一次無線ノード、二次無線ノードまたは三次無線ノードは、第一産業用機器とモバイル機器との間で実行されるデータ通信を中継する第一無線ネットワーク(例:無線LANネットワーク901)を構築する。一次無線ノード、二次無線ノードおよび三次無線ノードは、第一産業用機器と第二産業用機器との間のデータ通信を中継するための第二無線通信ネットワーク(例:産業用無線ネットワーク204)を構築する。モバイル機器は、一次無線ノード、二次無線ノードまたは三次無線ノードのうちの一つと第一無線ネットワークを介して無線接続する。モバイル機器は、第一産業用機器により第二産業用機器から収集されたデータと、一次無線ノード、二次無線ノードおよび三次無線ノードから収集された第二無線通信ネットワークに関する通信状態を示す状態情報と、を表示するように構成されてもよい。
【0362】
[観点A23]
一次無線ノードは、第一無線通信ポートと第二無線通信ポートとを有する無線ユニット(例:子機202a)と、一次無線ノード、二次無線ノードおよび三次無線ノードを制御し、無線ユニットの筐体から独立した筐体に収容されたコントローラユニット(例:親機201)と、を有してもよい。コントローラユニット(例:親機201)は、第一有線通信ポートと、一次無線ノードの無線ユニットと有線接続する第四有線通信ポートと、を有する。無線ユニット(例:子機202a)は、コントローラユニットの第四有線通信ポートに有線接続される第五有線通信ポートを有する。
【0363】
[観点B1]
親機201と子機202aは、データを収集する第一産業用機器(例:PLC1、1a)に有線接続される無線ノードであるルートノードの一例である。子機202b~202fは、第一産業用機器に向けてデータを送出する第二産業用機器(例:PLC1b)に有線接続される無線ノードである周辺無線ノードの一例である。産業用ワイヤレスシステム200は、データを送出する第二産業用機器とデータを収集する第一産業用機器との間のデータ通信を媒介する。
【0364】
CPU210、220およびネットワーク構築部269は、データを収集する第一産業用機器に有線接続されるルートノードと、第一産業用機器に向けてデータを送出する第二産業用機器に有線接続される周辺無線ノードと、を少なくとも含む無線ネットワークを構築する構築部として機能する。測定部270は、ルートノードについて無線通信に関する状態を測定し、無線通信に関する状態を示す状態情報を生成する第一測定部として機能する。CPU210および状態収集部245は、第一測定部(例:子機202aの測定部270)により生成される状態情報と、周辺無線ノードに設けられる第二測定部(例:子機202b~202fの測定部270)により測定される当該周辺無線ノードについての無線通信に関する状態を示す状態情報と、を繰り返し収集し、当該状態情報を第一産業用機器からアクセス可能なメモリ(例:記憶装置211のうちPLC1からアクセス可能な記憶領域。メモリマップに基づき、メモリ割り当て部248により記憶装置211内に割り当てられる記憶領域(デバイスメモリ))に格納する収集部として機能する。子機202a、CPU220およびWLANモジュール223a~223cは、構築部により構築された無線ネットワークを介して周辺無線ノードと通信し、周辺無線ノードのデータ(例:第二産業用機器のデータ、状態情報)を受信する無線通信部として機能する。LANポート38d~38hは、構築部により構築された無線ネットワークを介して無線通信部により受信された第二産業用機器のデータを第一産業用機器に転送するとともに、メモリに格納された状態情報を第一産業用機器に送信する有線通信部として機能する。
【0365】
観点B1によれば、第二産業用機器のデータを収集する第一産業用機器からアクセス可能なメモリに、無線ネットワークに関する状態情報が格納される。これにより、他の産業用機器に関するデータを収集する産業用機器が無線ネットワークに関する状態情報も収集できるようになる。
【0366】
[観点B2]
第一産業用機器(例:PLC1a)と第二産業用機器(例:PLC1b)とは無線ネットワークを介してPLCリンクを構築してもよい。第一産業用機器と第二産業用機器とは、PLCリンクを介して、それぞれ記憶領域である複数のデバイスメモリに記憶されているデバイス値であるデータの送受信を所定周期(例:スキャン周期)で実行する。PLC1は、ラダープログラムを繰り返し実行する。このラダープログラムを一回実行するために要する時間はスキャン周期とよばれ、必ずしも一定の周期ではない。PLC1を構成する基本ユニット3や拡張ユニット4は、論理的に共有されるデバイスメモリを利用して制御データなどを相互にやり取りする仕組みを有している。PLCリンクは、この仕組みを、複数のPLC間に拡張したものであり、一方のPLCのデバイスメモリ(デバイス名)と、他方のPLCのデバイスメモリ(デバイス名)との対応関係を事前に構築しておくことで、複数のPLC間でデータ(デバイス値)を共有することが可能となる。観点B2では、無線ネットワークを介してPLCリンクが構築される。なお、PLCリンクは、PLC1、1aと親機201との間にも適用されてもよい。これは、状態情報がデバイスメモリに格納され、PLC1、1aと親機201との間で共有されることを意味する。このように、PLCリンクを通じたデバイスメモリを利用することで、PLC1、1aは、実質的に親機201の記憶装置211の一部にアクセスすることが可能となる。
【0367】
[観点B3]
第一産業用機器は、第二産業用機器についてのデバイス値を分析することで、第二産業用機器において発生すると予想される事象を特定してもよい。これにより、特定の事象の予兆を監視することが可能となろう。PLC1aの分析部83は、PLC1bから取得された稼働ログ76を分析することで、PLC1bにおいて発生したイベントや、PLC1bにおいて将来発生すると予想されるイベントを特定できる。たとえば、製造ラインを搬送されるワークの位置のずれ量が徐々に大きくなっている場合、分析部83は、ワークの位置決めエラーが発生すると予想できる。また、製造ラインを搬送されるワークが加工装置に到着するタイミングと規定タイミングとの間のずれ量が徐々に大きくなっている場合もある。この場合、分析部83は、加工装置の加工開始タイミングまでにワークが到着しなくなるという搬送エラーが発生すると予想できる。このように、ずれ量が閾値を超えることは、搬送エラーの予兆と言える。
【0368】
[観点B4]
第一産業用機器は、プログラマブルロジックコントローラ(例:PLC1a)であり、第二産業用機器は、プログラマブルロジックコントローラ(例:PLC1b)またはセンサ(例:フィールドデバイス、ワーク検知センサ)であってもよい。CPU41aおよび分析部83は、第二産業用機器のデータをリアルタイムで収集して分析する分析部として機能する。CPU41aおよび分析部83は、分析結果を示す表示情報を作成する作成部として機能してもよい。Webサーバ82は、表示情報をクライアント端末(例:PC2、2b)に対して提供するサーバとして機能する。
【0369】
[観点B5]
分析部83は、さらに、第一測定部により生成される状態情報と、周辺無線ノードに設けられる第二測定部により測定される状態情報とを分析してもよい。たとえば、子機202cにより送信され、子機202bにより受信される電波の受信強度が警告閾値未満となっている場合、分析部83は、子機202bと子機202cとの間の無線性能が低下しており、何らかの対策が必要であると分析してもよい。たとえば、分析部83は、対策として、子機202bと子機202cとを近づけたり、子機202bと子機202cとの間にある電波遮蔽物を取り去って見通しを確保したりすることを、決定してもよい。
【0370】
[観点B6]
クライアント端末(例:PC2、PC2b、プログラマブル表示器)は、第二産業用機器のデータ(例:デバイス値)と、状態情報(例:電波の受信強度、電波使用率、通信速度)とを時系列に沿ってグラフとして表示してもよい。これにより、ユーザは、第二産業用機器で発生したイベントに対して、無線ネットワークの無線状態が影響したかどうかを判別できるであろう。
【0371】
[観点B7]
クライアント端末(例:PC2、PC2b、プログラマブル表示器)は、第一産業用機器または第二産業用機器の表示器であってもよい。一般に、製造ラインでは、PLC1の動作状態を把握するために、リアルタイムでデバイス値を表示するプログラマブル表示器が設置される。PLC1の表示部は小さいために視認性が悪いため、より大きなプログラマブル表示器にデバイス値が表示される。これにより、ユーザは、PLC1の状態をリアルタイムで監視できる。このようなプログラマブル表示器に、産業用機器の運転履歴またはリアルタイムデータと、無線ネットワークの運転履歴またはリアルタイムデータとが表示されてもよい。なお、プログラマブル表示器は、Webブラウザ60を搭載したPC2、2bにより代替されてもよい。
【0372】
[観点B8]
サーバは、Webサーバ82であってもよい。クライアント端末(例:PC2、PC2b、プログラマブル表示器)は、Webサーバ82から提供される表示情報を表示するWebブラウザ60を実行するコンピュータであってもよい。
【0373】
[観点B9]
クライアント端末(例:PC2、PC2a)は、第一産業用機器と第二産業用機器で実行されるユーザプログラム(例:ラダープログラム)のユーザによる編集を支援するプログラム作成支援装置であってもよい。なお、ユーザプログラム(例:ラダープログラム)は、プロジェクト記憶部35に転送されて格納され、CPU31により実行される。
【0374】
[観点B10]
図54などが例示するように、ルートノードまたは周辺無線ノードは、無線LAN(例:無線LANネットワーク901a~901c)を構築するアクセスポイントを含んでもよい。第一産業用機器は、アクセスポイント(例:子機202aのWLANモジュール223a)を介して第一産業用機器に接続する無線LAN端末(例:PC2)に対して、状態情報とデータの分析結果とを表示するための表示情報を送信してもよい。これにより、ユーザは、無線LAN端末によりの分析結果と表示情報を視認することが可能となる。
【0375】
[観点B11]
表示情報は、無線LAN端末の表示装置(例:表示部7)に状態情報とデータの分析結果とを時系列に沿って表示させる情報(例:HTMLファイル、CSSファイル、スクリプト、画像データ)であってもよい。
【0376】
[観点B12]
無線LAN端末は、第一産業用機器と第二産業用機器とのうちの少なくとも一方で実行されるユーザプログラムをユーザが編集することを補助するプログラム編集補助装置(例:プロジェクト編集プログラム14aが動作するPC2、PC2a)を含んでもよい。このように、プログラム編集補助装置も無線LAN端末とすることで、プログラム編集補助装置の設置の自由度が向上する。
【0377】
[観点B13]
無線LAN端末は、第二産業用機器から収集されるデータをリアルタイムで表示する表示機器を含む。このように、プログラマブル表示器についても無線LAN端末とすることで、プログラマブル表示器の設置の自由度が向上する。
【0378】
[観点B14]
CPU210、220およびネットワーク構築部269は、データを収集する第一産業用機器に有線接続されるルートノードと、第一産業用機器に向けてデータを送出する第二産業用機器に有線接続される周辺無線ノードと、を少なくとも含む無線ネットワークを構築する構築部として動作する。測定部270は、ルートノードについて無線通信に関する状態を測定し、無線通信に関する状態を示す状態情報を生成する第一測定部として動作する。状態収集部245は、第一測定部により生成される状態情報と、周辺無線ノードに設けられる第二測定部により測定される当該周辺無線ノードについての無線通信に関する状態を示す状態情報と、を繰り返し収集する収集部として動作する。記憶装置211は、状態情報を記憶し、かつ、第一産業用機器からアクセス可能なメモリとして動作する。WLANモジュール223a~223cは、構築部により構築された無線ネットワークを介して周辺無線ノードと通信し、周辺無線ノードのデータを受信する無線通信部として動作する。子機202aのLANモジュール222とLANポート38i、および、親機201のLANモジュール212とLANポート38d~38hは、構築部により構築された無線ネットワークを介して無線通信部により受信された第二産業用機器のデータを第一産業用機器に転送するとともに、第一産業用機器にアクセスされるメモリに格納されている状態情報を第一産業用機器に送信する有線通信部として動作する。
【0379】
[観点B15]
PLC1、1aは、産業用ワイヤレスシステムに接続されるプログラマブルロジックコントローラとし動作する。CPU31は、ユーザプログラムを繰り返し実行するプログラム実行部として動作する。デバイス部34は、プログラム実行部により実行されるユーザプログラムにて使用される記憶領域である複数のデバイスを有するデバイス記憶部として動作する。通信部33およびLANポート38aは、産業用ワイヤレスシステムにおいて無線ネットワークを構築するためのルートノードと有線接続される有線通信ポートとして動作する。収集部72およびロギング部73は、有線通信ポートと無線ネットワークを介してプログラマブルロジックコントローラに接続される産業用機器から産業用機器のログデータを取得するとともに、無線ネットワークに参加しているルートノードと無線ノードとにおいて取得されルートノードにより収集された無線ネットワークに関する状態を示す状態情報を取得する取得部として動作する。分析部83は、ログデータ(例:稼働ログ76)または当該ログデータの分析結果と状態情報とを表示する表示情報(例:HTMLファイル、CSSファイル、画像データ、スクリプト)を作成する作成部として動作する。Webサーバ82は、表示情報をクライアント端末に対して提供するサーバとして動作する。
図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