(57)【特許請求の範囲】
【請求項１】
記憶部に記憶される記憶データを共有するためのサイクリック通信を実施する複数の通信装置にネットワークを介して接続されるデータ収集管理装置であって、
前記サイクリック通信に参加する前記複数の通信装置を特定する情報であるネットワーク構成情報を記憶するネットワーク構成記憶部と、
前記サイクリック通信において、前記複数の通信装置の各々からマルチキャストされる通信データを受信するデータ受信部と、
前記データ受信部で受信した前記通信データを収集データとして記憶する受信データ記憶部と、
前記収集データに含まれる前記サイクリック通信のどの通信周期の通信データであるかを表す情報および送信元の通信装置を表す情報と、前記ネットワーク構成情報と、に基づき前記収集データの欠損有無を判断するとともに、未受信の通信データの、通信周期と送信元の通信装置とを特定する受信データ判断部と、
前記受信データ判断部にて前記収集データに欠損ありと判断された場合に、前記複数の通信装置のいずれか１つに対し、前記受信データ判断部において未受信と特定された通信データの再送を要求する再送要求データを送信する再送要求部と、
を備え、
前記ネットワーク構成情報は、さらに前記複数の通信装置のデータ保持量に関する情報を含み、
前記再送要求部は、前記データ保持量に関する情報を用い前記再送要求データの送信先の通信装置を決定する、データ収集管理装置。
【請求項２】
前記再送要求部は、前記データ保持量の最も大きい通信装置に前記再送要求データを送信する、請求項１に記載のデータ収集管理装置。
【請求項３】
記憶部に記憶される記憶データを共有するためのサイクリック通信を実施する複数の通信装置と、前記複数の通信装置とネットワークを介して接続されるデータ収集管理装置とを有するデータ収集システムであって、
前記サイクリック通信において前記複数の通信装置の各々から送信される通信データには、前記サイクリック通信のどの通信周期の通信データであるかを表す第１情報および送信元の通信装置を表す第２情報が含まれており、
前記データ収集管理装置は、
前記サイクリック通信に参加する前記複数の通信装置を特定する情報であるネットワーク構成情報を記憶するネットワーク構成記憶部と、
前記通信データを受信し、収集データとして格納する受信データ記憶部と、
前記収集データに含まれる第１情報および第２情報と、前記ネットワーク構成情報と、に基づき、前記収集データの欠損有無を判断するとともに、未受信の通信データの、前記通信周期と前記送信元の通信装置とを特定する受信データ判断部と、
前記受信データ判断部にて前記収集データに欠損ありと判断された場合に、前記複数の通信装置のいずれか１つに対し、前記受信データ判断部において未受信と特定された通信データの再送を要求する再送要求データを送信する再送要求部と、
を備え、
前記ネットワーク構成情報は、さらに前記複数の通信装置のデータ保持量に関する情報を含み、
前記再送要求部は、前記データ保持量に関する情報を用い前記再送要求データの送信先の通信装置を決定する、データ収集システム。
【請求項４】
前記再送要求部は、前記データ保持量の最も大きい通信装置に前記再送要求データを送信する、請求項３に記載のデータ収集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ収集管理装置およびデータ収集システムに関する。
【背景技術】
【０００２】
工場に代表される施設では、通信ネットワークを介して複数の機器を制御するシステムが運用されている。近年、このようなシステムにおいては、制御通信の高速性・安定性実現のため、複数の機器が高精度な時刻同期を行った上で、短い周期でデータを送受信しあうサイクリック通信が採用されるケースがある。そして、通信ネットワークに直接または間接的に接続されたデータ管理装置にて、各機器から出力されたデータの解析を行い、機器の稼働状況の監視、異常発生時の原因解析、機器の故障予知などが実行される。【０００３】
特許文献１には、マスタコントローラと複数のスレーブデバイスとの間でリアルタイムＥｔｈｅｒｎｅｔ（登録商標）を介して定期的にデータ交換を行うネットワークシステムにおいて、ネットワークおよびマスタコントローラの負荷を増大させることなくデータを収集するデータ収集装置が開示されている。このデータ収集装置は、リアルタイムＥｔｈｅｒｎｅｔには如何なるデータも送出することなく、リアルタイムＥｔｈｅｒｎｅｔ上でマスタコントローラとスレーブデバイスとの間で送受信されるＭＡＣフレームから入出力データを抽出するデータ処理部と、データ処理で収集されたデータを管理するデータ管理部とを備えることで、データの収集とデータの解析とを1つの装置で行うことを可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−３１５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
高速なサイクリック通信を行う装置には定時性の確保が可能なリアルタイムＯＳの搭載が必要である。一方で、データ解析を行う装置には負荷の大きい計算を得意とする汎用ＯＳ(非リアルタイムＯＳ)が搭載される。この汎用ＯＳが搭載された装置では、ＯＳの特性上、処理の定時性を確保できない。【０００６】
特許文献１のデータ収集装置は、汎用ＯＳが実装される一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）で構成されている。そのためこのデータ収集装置では、処理の定時性を確保できず、決められた期間内にデータの受信処理を完了できない場合など、入出力データを受信する際に取りこぼしが発生する可能性がある。【０００７】
本開示は、上記の事情に鑑みてなされたものであり、データ収集の信頼性を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本開示に係るデータ収集管理装置は、記憶部に記憶される記憶データを共有するためのサイクリック通信を実施する複数の通信装置にネットワークを介して接続されるデータ収集管理装置であって、サイクリック通信に参加する複数の通信装置を特定する情報であるネットワーク構成情報を記憶するネットワーク構成記憶部と、サイクリック通信において、複数の通信装置の各々からマルチキャストされる通信データを受信するデータ受信部と、データ受信部で受信した通信データを収集データとして記憶する受信データ記憶部と、収集データに含まれるサイクリック通信のどの通信周期の通信データであるかを表す情報および送信元の通信装置を表す情報と、ネットワーク構成情報と、に基づき収集データの欠損有無を判断するとともに、未受信の通信データの、通信周期と送信元の通信装置とを特定する受信データ判断部と、受信データ判断部にて収集データに欠損ありと判断された場合に、複数の通信装置のいずれか１つに対し、受信データ判断部において未受信と特定された通信データの再送要求を行う再送要求部と、を備え、ネットワーク構成情報は、さらに複数の通信装置のデータ保持量に関する情報を含み、再送要求部は、データ保持量に関する情報を用い再送要求データの送信先の通信装置を決定する。
【発明の効果】
【０００９】
本開示に係るデータ収集管理装置は、通信装置間のサイクリック通信には参加せず、サイクリック通信に参加する通信装置の各々からマルチキャストされるデータを受信することで通信データの収集を行う場合において、欠損データを特定することができ、また、通信装置のいずれかに欠損データの再送信を要求することで、通信データの再取得を行うことができ、データ収集の信頼性を高めることが可能である。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に係るデータ収集システムの構成を示す図。
【図２】実施の形態に係るサイクリックメモリを示す図。
【図３】実施の形態に係るデータ収集システムにおける周期毎の通信を示す図。
【図４】実施の形態に係るデータ収集システムにおける周期毎の通信を示す図。
【図５】実施の形態に係るデータ収集管理装置のハードウェア構成を示す図。
【図６】実施の形態に係るデータ収集管理装置の機能的な構成を示す図。
【図７】実施の形態に係る通信データの構成を示す図。
【図８】実施の形態に係る収集データの例を示す図。
【図９】実施の形態に係るネットワーク構成情報の例を示す図。
【図１０】実施の形態に係る判断結果データの例を示す図。
【図１１】実施の形態に係る通信装置の機能的な構成を示す図。
【図１２】実施の形態に係るデータ収集管理装置におけるデータの受信および受信データの判断処理を示すフローチャート。
【図１３】実施の形態に係るデータ収集管理装置における再送要求処理を示すフローチャート。
【図１４】実施の形態に係る通信装置における再送処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本開示の実施の形態に係るデータ収集システム１０００について、図面を参照しつつ詳細に説明する。
【００１２】
実施の形態．
データ収集システム１０００は、工場に設置されるＦＡシステムの一部に相当する。データ収集システム１０００は、ＦＡシステムとしての生産システム、検査システム、加工システム、その他のシステムを構成する機器同士を、通信路を介して接続することで形成される。図１に示されるように、データ収集システム１０００は、データ収集管理装置１０、マスタ装置２１、スレーブ装置２２、２３およびスイッチングハブ３０を有する。以下では、マスタ装置２１およびスレーブ装置２２、２３を総称して通信装置２０と表記する。
【００１３】
データ収集管理装置１０は、例えば、産業用パソコンである。マスタ装置２１およびスレーブ装置２２、２３は、例えば、ＰＬＣ（Programmable Logic Controller）やＰＬＣと連動するデバイスである。データ収集管理装置１０、マスタ装置２１およびスレーブ装置２２、２３は、スイッチングハブ３０を含む通信ネットワーク５０を介して互いに接続される。
【００１４】
マスタ装置２１は、データ収集システム１０００のマスターノードに相当し、スレーブ装置２２、２３はそれぞれ、データ収集システム１０００のスレーブノードに相当する。マスタ装置２１は、スレーブ装置２２、２３に対する制御指示を、通信ネットワークを介して送信する。スレーブ装置２２、２３はそれぞれ、制御指示に従って、自機に接続された不図示の機器を制御する。この機器は、例えば、センサ装置、アクチュエータまたはロボットである。
【００１５】
各通信装置２０は、共通のデータが格納されるサイクリックメモリ４１を有する。サイクリックメモリ４１は、通信装置２０それぞれに割り当てられた記憶領域を含む。詳細には、サイクリックメモリ４１は、図２に示されるように、マスタ装置２１に割り当てられた記憶領域Ａ２１と、スレーブ装置２２に割り当てられた記憶領域Ａ２２と、スレーブ装置２３に割り当てられた記憶領域Ａ２３と、を有する。これらの記憶領域にはそれぞれ、割り当てられた通信装置２０によって更新されるデータが格納される。例えば、記憶領域Ａ２１には、マスタ装置２１によって更新されるデータが格納され、記憶領域Ａ２１に格納されたデータは、スレーブ装置２２、２３によって更新されることはない。記憶領域Ａ２１、Ａ２２、Ａ２３の格納データは、ＦＩＦＯ（First-In First-Out）の構造で保持されており、データが更新された場合、古い格納データから削除される。なお、サイクリックメモリ４１は、マスタ装置２１およびスレーブ装置２２、２３によって共有されるデータを記憶する記憶部の一例である。サイクリックメモリ４１に記憶されるデータを記憶データと表記する。
【００１６】
各通信装置２０は、予め定められた周期毎にサイクリックメモリ４１に記憶される記憶データを共有するためのサイクリック通信を実施する。
【００１７】
データ収集管理装置１０は、各通信装置２０がサイクリック通信のために送信したデータを受信し、受信したデータの管理を行う装置である。このサイクリック通信は、各通信装置２０が、それぞれ予め定められた周期毎に、データ収集管理装置１０と自身以外のノードとにデータをマルチキャストする形で実施され、データ収集管理装置１０は、サイクリック通信にはデータを送出しない。このマルチキャストはスイッチングハブ３０を介して行われる。したがって、各通信装置２０は、データ収集管理装置１０を認識していなくてもよい。図３には、このような通信について例示されている。
【００１８】
図３に示されるように、周期Ｔ１において、各通信装置２０（マスタ装置２１およびスレーブ装置２２、２３）が、順次サイクリックメモリ４１の内容を更新するための通信データを他の通信装置２０およびデータ収集管理装置１０に送信（マルチキャスト）する。例えば、マスタ装置２１が、記憶領域Ａ２１の内容を更新するためのデータを含む通信データを、スレーブ装置２２、２３およびデータ収集管理装置１０に送信することが、矢印２１０により示されている。同様に、スレーブ装置２２、２３もそれぞれ、周期Ｔ１において、記憶領域Ａ２２、２３の内容を更新するための通信データを他の通信装置２０およびデータ収集管理装置１０に送信する。そして、周期Ｔ１の終了時刻までにサイクリックメモリ４１の内容が全ての通信装置２０で共有されるとともに、その際の通信データがデータ収集管理装置１０にも収集される。
【００１９】
周期Ｔ１と同様の通信が周期Ｔ２以降の周期でも実施される。各周期の長さは、例えば、１マイクロ秒間または１ミリ秒間である。マスタ装置２１、スレーブ装置２２、２３は、時刻同期プロトコル（例えば、IEEE-1588規格で定義されたIEEE 1588 Precision Time Protocol）に基づき高精度に時刻同期されており、サイクリック通信における各通信装置２０による通信データの送信は同期した時刻を基準として行われる。サイクリック通信における各通信装置２０による通信データの送信タイミングは、各通信が衝突しないよう予め定められている。通信データの送信タイミングは、周期毎に異ならせてもよく、また、各周期の長さも周期毎に異ならせてもよい。
【００２０】
マスタ装置２１には局番号０、スレーブ装置２２には局番号１、スレーブ装置２３には局番号２がそれぞれ割り振られており、サイクリック通信において各通信装置２０が送信する通信データには、通信データの送信元の通信装置２０を特定する情報である局番号と、通信周期を特定する情報である周期番号が含まれる。周期番号は、データ収集装置が収集しているデータが何周期目のデータかを特定するための番号である。データ収集管理装置１０は、予めサイクリック通信に参加する通信装置２０の構成やそれらの各通信装置２０の局番号を含むネットワーク構成情報を保有している。データ収集管理装置１０は、当該ネットワーク構成情報と、通信データに含まれる局番号および周期番号とを用いることで、データの収集が正常に行われたか否かの判断を行うことができる。
【００２１】
データ収集管理装置１０は、ネットワーク構成情報を参酌し、局番号が０のマスタ装置２１と、局番号が１のスレーブ装置２２と、局番号が２のスレーブ装置２３とがサイクリック通信に参加していることを把握する。図３に示す事例では、データ収集管理装置１０は、周期Ｔ１において、「局番号：０、周期番号：１」の情報を含む通信データと、「局番号：１、周期番号：１」の情報を含む通信データと、「局番号：２、周期番号：１」の情報を含む通信データと、を受信する。これによって、データ収集管理装置１０はサイクリック通信に参加する全ての通信装置２０から、周期Ｔ１（周期番号：１）の通信データを受信できたと判断することができる。周期Ｔ２に関しても、同様に「局番号：０、周期番号：２」の情報を含む通信データと、「局番号：１、周期番号：２」の情報を含む通信データと、「局番号：２、周期番号：２」の情報を含む通信データと、を受信することで、データ収集管理装置１０はサイクリック通信に参加する全ての通信装置２０から、周期Ｔ２（周期番号：１）の通信データを全て受信できたと判断することができる。
【００２２】
一方、周期ＴＮにおいては、「局番号：０、周期番号：Ｎ」の情報を含む通信データおよび「局番号：１、周期番号：Ｎ」の情報を含む通信データだけを受信し、「局番号：２、周期番号：Ｎ」の情報を含む通信データを受信しなかった場合、データ収集管理装置１０は、周期ＴＮにスレーブ装置２３から送信された通信データの受信に失敗したと判断できる。これによって、データ収集管理装置１０は、受信に失敗した通信データを特定することができる。なお、周期ＴＮの終了の判断は、データ収集管理装置１０がもつ時計を基準としておこなってもよいし、周期ＴＮ＋１であることを表す「周期番号：Ｎ＋１」の情報を含む通信データを受信することでおこなってもよい。
【００２３】
次に、データ収集管理装置１０において、通信データの受信に失敗した後の処理について、図４を用いて説明する。図３においては図示を省略したが、各通信周期には、サイクリック通信に参加する各通信装置２０が予め決められたタイミングで通信を行うためのサイクリック通信期間ＴＳ１と、各通信装置２０およびデータ収集管理装置１０が任意のタイミングで通信を行うための非サイクリック通信期間ＴＳ０と、が時分割で設けられている。図３で説明した各サイクリック通信は、全て各周期のサイクリック通信期間ＴＳ１に行われる。なお、各通信周期には、サイクリック通信期間ＴＳ１、非サイクリック通信期間ＴＳ０以外の期間がさらに設けられていてもよく、例えば、特定の通信プロトコル専用の期間が別途設けられてもよい。また、図４では、各通信周期において、非サイクリック通信期間ＴＳ０よりも先にサイクリック通信期間ＴＳ１が設けられているが、特にこの順序には限定されない。
【００２４】
データ収集管理装置１０は、通信データの受信に失敗した場合、通信データの送信元の局番号と周期番号とを特定して、通信装置２０のいずれかに対し通信データの再送要求を行う。図４の事例では、通信データの受信に失敗した周期ＴＮの次の周期である周期ＴＮ＋１の非サイクリック通信期間ＴＳ０において、スレーブ装置２３に対して通信データを指定して再送要求を行い、スレーブ装置２３は指定された通信データをサイクリックメモリ４１から読み出して再送を行う。データ収集管理装置１０は、再送された通信データを受信することで、サイクリック通信において受信に失敗したデータを収集することができ、データ収集の信頼性が向上する。
【００２５】
なお、ここでは、データ収集管理装置１０からのデータの再送要求と、通信装置２０からのデータの再送とは、周期ＴＮ＋１の非サイクリック通信期間ＴＳ０において行われたが、データ収集管理装置１０からのデータの再送要求は他の周期の非サイクリック通信期間ＴＳ０に行われてもよいし、非サイクリック通信期間ＴＳ０以外のタイミングに行われてもよい。例えば、スイッチングハブ３０が再送要求データよりもサイクリック通信用の通信データを優先して送信すれようにすれば、データ収集管理装置１０がサイクリック通信期間ＴＳ１において再送要求先の通信装置２０宛てに再送要求データを送信しても、通信装置２０の間のサイクリック通信に悪影響を与えない。また、通信装置２０からの再送も、再送要求を受信した周期と同じ周期の非サイクリック通信期間ＴＳ０におこなってもよいし、再送要求を受けた周期より後の周期の非サイクリック通信期間ＴＳ０におこなってもよい。また、サイクリックメモリ４１に記憶される記憶データは各通信装置２０で共有されているため、再送要求はいずれの通信装置２０に対して行ってもよい。ユーザ（工場の管理者）が予め再送要求先を決め、データ収集管理装置１０に設定しておいてもよい。例えば、マスタ装置２１に再送要求を行うように決めておいてもよい。マスタ装置２１は、スレーブ装置２２、２３よりも、処理能力が高かったりメモリ容量が大きかったりと高性能である場合が多く、再送要求先として好適である。あるいは、予め設定された基準に基づき、データ収集管理装置１０が再送要求先を決定してもよい。
【００２６】
データ収集管理装置１０は、そのハードウェア構成として、図５に示されるように、プロセッサ５０１と、主記憶部５０２と、補助記憶部５０３と、入力部５０４と、出力部５０５と、通信部５０６と、を有する。主記憶部５０２、補助記憶部５０３、入力部５０４、出力部５０５および通信部５０６はいずれも、内部バス４０７を介してプロセッサ５０１に接続される。
【００２７】
プロセッサ５０１は、ＣＰＵ（Central Processing Unit）を含む。プロセッサ５０１は、補助記憶部５０３に記憶されるプログラムＰ１を実行することにより、データ収集管理装置１０の種々の機能を実現して、後述の処理を実行する。
【００２８】
主記憶部５０２は、ＲＡＭ（Random Access Memory）を含む。主記憶部５０２には、補助記憶部５０３からプログラムＰ１がロードされる。そして、主記憶部５０２は、プロセッサ５０１の作業領域として用いられる。
【００２９】
補助記憶部５０３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）およびＨＤＤ（Hard Disk Drive）に代表される不揮発性メモリを含む。補助記憶部５０３は、プログラムＰ１の他に、プロセッサ５０１の処理に用いられる種々のデータを記憶する。補助記憶部５０３は、プロセッサ５０１の指示に従って、プロセッサ５０１によって利用されるデータをプロセッサ５０１に供給し、プロセッサ５０１から供給されたデータを記憶する。
【００３０】
入力部５０４は、入力キーおよびポインティングデバイスに代表される入力デバイスを含む。入力部５０４は、データ収集管理装置１０のユーザによって入力された情報を取得して、取得した情報をプロセッサ５０１に通知する。
【００３１】
出力部５０５は、ＬＣＤ（Liquid Crystal Display）およびスピーカに代表される出力デバイスを含む。出力部５０５は、プロセッサ５０１の指示に従って、種々の情報をユーザに提示する。
【００３２】
通信部５０６は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部５０６は、外部から信号を受信して、この信号により示されるデータをプロセッサ５０１へ出力する。また、通信部５０６は、プロセッサ５０１から出力されたデータを示す信号を外部の装置へ送信する。
【００３３】
図５に示されるハードウェア構成が協働することで、データ収集管理装置１０は、種々の機能を発揮する。データ収集管理装置１０は、図６に示されるように、その機能として、通信インタフェース１６と、通信インタフェース１６を介して通信データを受信するデータ受信部１１と、受信したデータを記憶する受信データ記憶部１２と、受信データの欠損有無やビット化け等のデータ異常有無を判断する受信データ判断部１３と、判断結果を記憶する判断結果記憶部１４と、ネットワーク構成情報を記憶するネットワーク構成記憶部１７と、再送要求先を決定し通信インタフェース１６を介して再送要求データを送信する再送要求部１５と、を有する。
【００３４】
通信インタフェース１６は、通信部５０６により実現される。通信インタフェース１６は、通信ネットワークから受信した通信データをデータ受信部１１に送出し、再送要求部１５から送出された再送要求データを通信ネットワークへ送信する。
【００３５】
受信データ記憶部１２は、主に補助記憶部５０３により実現される。受信データの一時的な記憶など、機能の一部は主記憶部５０２により実現される。
【００３６】
データ受信部１１は、プロセッサ５０１により実現される。データ受信部１１は、通信インタフェース１６を介して通信装置２０からの通信データを受信し、受信データ記憶部１２に格納する。通信データは、例えば、図７に示すようなフレーム構成となっている。ヘッダ部７１は、送信元の通信装置２０の局番号７１１およびサイクリック通信の通信周期を表す周期番号７１２を含む。データ部７２は、マスタ装置２１からスレーブ装置２２、２３への指示データやスレーブ装置２２、２３からマスタ装置２１への応答データなどの実データ７２１を含む。フッタ部７３は誤り検出符号７３１を含む。データ受信部１１は、受信した通信データから、局番号７１１、周期番号７１２、誤り検出符号７３１および実データ７２１を抽出し、それらを関連づけて収集データとして受信データ記憶部１２に格納する。１周期目から３周期目までの収集データの格納例を図８に示す。データ受信部１１は、再送要求部１５からの再送要求を受けた通信装置２０から通信データが再送された場合にも、同様に受信したデータから再送されたデータの局番号７１１、周期番号７１２、誤り検出符号７３１および実データ７２１を抽出し、それらを関連づけて収集データとして受信データ記憶部１２に格納する。
【００３７】
ネットワーク構成記憶部１７は、主に補助記憶部５０３により実現される。ただし、主記憶部５０２により実現されてもよい。ネットワーク構成記憶部１７が記憶するネットワーク構成情報の例を図９に示す。ネットワーク構成情報は、サイクリック通信に参加する全ての通信装置２０それぞれの局番号、局種別、アドレス、メモリ量を含む。局種別は、各通信装置２０がマスタ局およびスレーブ局のいずれであるかを表す情報である。アドレスは、例えば、データ収集管理装置１０から各通信装置２０にアクセスするためのアドレスであり、例えば、ＩＰアドレスである。メモリ量は、各通信装置のデータ保持量であり、各通信装置２０のＲＡＭの容量である。ＲＡＭの容量の内、サイクリックメモリ４１に割り当てられているメモリ量であってもよい。このネットワーク構成情報は、各通信装置２０がサイクリック通信を行う前に、通信インタフェース１６を介してマスタ装置２１から受信する。ネットワーク構成情報は、入力部５０４を介し、ユーザによって入力されたものであってもよい。
【００３８】
受信データ判断部１３は、プロセッサ５０１により実現される。受信データ判断部１３は、ネットワーク構成記憶部１７に記憶されるネットワーク構成情報と、受信データ記憶部１２に記憶される収集データとを比較し、受信データの欠損や通信エラーに基づくデータ異常の有無を判断する。受信データの欠損は、ネットワーク構成情報に含まれる通信装置２０毎且つ通信周期毎に、対応する局番号且つ周期番号の収集データが受信データ記憶部１２に記憶されている否かで判断する。また、受信データ判断部１３は、収集データに含まれる誤り検出符号７３１を用い、収集データの異常有無の判断を行う。誤り検出符号７３１を用いた異常有無の判断手法については、一般的なものでよく、説明は省略する。この異常有無の判断も、ネットワーク構成情報に含まれる通信装置２０毎且つ通信周期毎に行われる。
【００３９】
判断結果記憶部１４は、主に補助記憶部５０３により実現される。ただし、主記憶部５０２により実現されてもよい。判断結果記憶部１４は受信データ判断部１３による判断結果データを記憶する。判断結果記憶部１４に記憶される判断結果データの例を図１０に示す。ここでは、１、２周期目、Ｎ周期目、およびＭ周期目の通信に関し、判断結果が表示されており、Ｎ周期目の局番号２の通信装置２０からのデータが未受信であり、Ｍ周期目の局番号１の通信装置２０からのデータに異常があったことが示され、その他は正常に収集できたことが示されている。
【００４０】
再送要求部１５は、プロセッサ５０１により実現される。再送要求部１５は、判断結果記憶部１４に記憶された判断結果データを基に、再送要求の対象となる通信データを決定し、通信インタフェース１６を介しいずれかの通信装置２０に再送要求を送信する。再送要求は、受信データ判断部１３において、未受信または異常と判断されたデータに対して行われる。この再送要求は、1対1通信の形で行われ、再送対象の通信データを特定するため、対象データの送信元通信装置２０の局番号および周期番号を指定する形で行われる。再送要求は、前述の通り、通信装置２０間のサイクリック通信の妨げとならないように、非サイクリック通信期間ＴＳ０の間に行われる。
【００４１】
次に、通信装置２０（マスタ装置２１、スレーブ装置２２、２３）について説明する。各通信装置２０は、データ収集管理装置１０と同様のハードウェア構成で実現できる。具体的には、図５の構成により、実現できる。ここではハードウェア構成の詳細説明は省略するが、通信装置２０の機能構成の説明にも図５を用いる。なお、データ収集管理装置１０には非リアルタイムＯＳが搭載されているのに対し、各通信装置２０にはリアルタイムＯＳが搭載されている。
【００４２】
図５と同様のハードウェア構成が協働することで、通信装置２０は、種々の機能を発揮する。詳細には、通信装置２０は、図１１に示されるように、その機能として、サイクリックメモリ４１と、通信ネットワークへ通信データを送信し通信ネットワークから通信データを受信する通信インタフェース２０３と、通信インタフェース２０３を介して受信した通信データを処理する受信処理部２０１と、通信インタフェース２０３を介して通信データを送信する処理を実行する送信処理部２０２と、を有する。
【００４３】
サイクリックメモリ４１は、主として主記憶部５０２により実現される。ただし、これには限定されず、サイクリックメモリ４１は、補助記憶部５０３により実現されてもよい。
【００４４】
通信インタフェース２０３は、通信部５０６により実現される。通信インタフェース２０３は、通信ネットワークから受信した通信データを受信処理部２０１に送出し、送信処理部２０２から送出された通信データを通信ネットワークへ送信する。
【００４５】
受信処理部２０１は、プロセッサ５０１および主記憶部５０２の協働により実現される。受信処理部２０１は、受信された通信データを解析し、解析結果を送信処理部２０２に通知する。また、受信したデータがサイクリック通信の対象データであった場合は、通信データから必要なデータを抽出し、サイクリックメモリ４１に格納する。一方、受信したデータがデータ収集管理装置１０からの再送要求であった場合は、要求されたデータを特定する情報等の再送処理に必要な情報を抽出し、送信処理部２０２に通知する。
【００４６】
送信処理部２０２は、プロセッサ５０１および主記憶部５０２の協働により実現される。送信処理部２０２は、受信処理部２０１による解析結果に応じて、通信データを生成する。送信データ生成部４４１は、送信すべき通信データがサイクリック通信の対象であった場合、必要なデータをサイクリックメモリ４１から読み出して通信データを生成し、サイクリック通信期間ＴＳ１の予め定められたタイミングに通信インタフェース２０３を介して通信ネットワークへ送信（マルチキャスト）する。この通信データは、前述の通りであり、例えば、図７に示されるような構成となっている。また、送信すべき通信データがデータ収集管理装置１０からの再送要求に対する応答の場合、要求されたデータをサイクリックメモリ４１から読み出して通信データを生成し、非サイクリック通信期間ＴＳ０に通信インタフェース２０３を介してデータ収集管理装置１０宛に送信（ユニキャスト）する。
【００４７】
続いて、データ収集システム１０００において実行されるデータ収集処理について、図１２〜１４を用いて説明する。
【００４８】
データ収集管理装置１０が行うデータ受信および受信データの判断処理について、図１２を用いて説明する。まず、データ受信部１１は、通信インタフェース１６を介して通信データの受信を行う。データ受信部１１は通信データから、局番号、周期番号、誤り検出符号、実データなどを抽出し、それらを関連づけて収集データとして受信データ記憶部１２に格納する（Ｓ１１）。
【００４９】
次に、受信データ判断部１３が、最新の通信データに含まれていた周期番号と、前回受信した通信データに含まれていた周期番号との比較を行う（Ｓ１２）。周期番号が増加していない場合は、データ受信処理（Ｓ１１）に戻り、データ受信部１１が次の通信データの受信を行う。一方、周期番号が１増加していた場合は、受信データ判断部１３は、前の周期の通信処理が完了したとみなし、受信データに欠損があるかどうかの判断（Ｓ１３）に進む。ここでは、前の周期に関し、サイクリック通信に参加していると示されている全ての通信装置２０分の収集データが受信データ記憶部１２に格納されているか否かを、受信データ判断部１３が判断する。サイクリック通信に参加する通信装置２０の特定は、ネットワーク構成情報を用いて行われる。サイクリック通信に参加する通信装置２０の内、受信データ記憶部１２に対応する収集データがないものがあれば、その通信装置２０からの通信データは未受信であると判断できる。この場合、未受信データの送信元の局番号および周期番号と共にその判断結果を判断結果記憶部１４に格納する（Ｓ１７）。一方、全ての通信装置２０分の収集データが受信データ記憶部１２に格納されている場合、受信データ記憶部１２に格納されている誤り検出符号を用い、データ異常(ｂｉｔ化け)の有無がないかの判断を行う（Ｓ１４）。データ異常がない場合は、正常との判断結果を判断結果記憶部１４に格納する（Ｓ１５）。一方、データに異常がみられた場合、異常のあったデータを特定し、異常データの局番号および周期番号と共にその判断結果を判断結果記憶部１４に格納する（Ｓ１６）。
【００５０】
続いて、データ収集管理装置１０が行う再送要求処理について、図１３を用いて説明する。再送要求処理は、未受信またはデータ異常の判断結果が判断結果記憶部１４に格納された場合に開始される。再送要求処理は再送が必要な場合には速やかに行われることが好ましく、再送要求部１５は判断結果記憶部１４に格納されている情報を定期的に監視している。
【００５１】
再送要求処理が開始されると、再送要求部１５は、判断結果記憶部１４の判断結果を用い再送要求の対象となる再送対象データを特定する（Ｓ２１）。ここでは、再送要求の対象となる通信データの局番号と周期番号を特定する。
【００５２】
次に、再送要求部１５は、再送要求先となる通信装置２０を決定する。ここでは、各通信装置２０のメモリ量と、データ収集管理装置１０と各通信装置２０間の往復遅延時間（ＲＴＴ、ラウンドトリップタイム）とを基に決定する。サイクリックメモリ４１のデータ保持期間は各通信装置２０のメモリ量によって異なるため、メモリ量の大きな通信装置２０に対し再送要求を行うことで、通信装置２０が必要なデータを保持している可能性が高まり、再送要求成功の確実性が高まる。ここでは、メモリ量の最も大きい通信装置を再送要求先に選定し、メモリ量の最も大きい通信装置が複数存在する場合は、その中で往復遅延時間の最も小さい通信装置を再送要求先とする。往復遅延時間は、データ収集管理装置１０が予め測定しておく。この往復遅延時間の測定は、非サイクリック通信期間ＴＳ０に行われる。
【００５３】
次に、再送要求部１５は、再送要求データを作成する（Ｓ２３）。再送要求データには、再送を要求する通信データの局番号と周期番号の情報が含まれる。再送要求は1対1通信の形で行われ、再送要求部１５は、決定された再送要求先のＩＰアドレスを宛先とした再送要求データを生成する。
【００５４】
そして、再送要求部１５は、通信インタフェース１６を介して決定された再送要求先に再送要求データを送信する（Ｓ２４）。
【００５５】
続いて、各通信装置２０が行う再送処理について、図１４を用いて説明する。まず、受信処理部２０１が通信インタフェース２０３を介して再送要求データを受信する（Ｓ３１）。次に、受信処理部２０１は、再送要求データを解析し、再送が求められているデータを特定するためのデータを抽出する（Ｓ３２）。具体的には、周期番号と局番号により、再送対象の通信データを特定する。また、この際、再送する際の宛先の情報、例えば、データ収集管理装置１０のＩＰアドレスなども、再送要求データから抽出する。
【００５６】
次に、送信処理部２０２が、再送の対象データをサイクリックメモリ４１から読み出し、再送データを生成する（Ｓ３３）。再送データは、再送を行う通信データの周期番号、局番号および実データを含み、データ収集管理装置１０のＩＰアドレスが宛先となるように生成される。そして、送信処理部２０２は、非サイクリック通信期間ＴＳ０であるかどうかを判断し（Ｓ３４）、非サイクリック通信期間ＴＳ０に、通信インタフェース２０３を介してデータ収集管理装置１０に再送データを送信する。
【００５７】
以上、説明したように、本実施の形態のデータ収集管理装置１０は、通信装置間のサイクリック通信には参加せず、サイクリック通信に参加する通信装置の各々からマルチキャストされるデータを受信することで通信データの収集を行う場合において、通信データに含まれる局番号および周期番号を用いて、欠損や異常のあるデータを特定でき、また、通信装置のいずれかにデータの再送信を行わせることで、収集データの再取得を行うことができる。したがって、データ収集の信頼性を高めることが可能である。
【００５８】
特に、データ収集管理装置１０に非リアルタイムＯＳが搭載されている場合には、ＯＳの特性上、通信データの受信に失敗する可能性が高いが、この場合でも、本実施の形態のデータ収集管理装置１０では、データ収集の信頼性を確保できる。また、データ収集管理装置１０にリアルタイムＯＳが搭載されることで、同じ装置で複雑なデータ解析も可能であり、解析用の装置を別途設ける必要がなく、導入コストや運用コストの低減も可能である。
【００５９】
また、本実施の形態のデータ収集管理装置１０は、通信装置間のサイクリック通信には参加せず、サイクリック通信に参加する通信装置の各々からマルチキャストされるデータを受信することで通信データの収集を行い、また、再送要求データの送信や再送データの送信は、非サイクリック通信期間ＴＳ０に行われるため、各通信装置２０間のサイクリック通信に影響を与えず、データの収集が可能である。
【００６０】
なお、本実施の形態においては、局番号を用いて通信装置２０の特定を行ったが、通信装置２０を特定できれば、番号でなくてもよい。例えば、通信装置２０毎に機器名を設定し、機器名で特定してもよい。
【００６１】
本実施の形態において、データ収集管理装置１０と各通信装置２０は、スイッチングハブ３０を介して接続されるスター型のネットワークを構成していたが、ネットワークトポロジーはスター型以外であってもよい。例えば、データ収集管理装置１０を末端に配置する場合、ネットワークトポロジーは、バス型やライン型のネットワークであってもよいし、スター型とライン型とが混在するネットワークであってもよい。
【００６２】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態および変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【符号の説明】
【００６３】
１０  データ収集管理装置、１１  データ受信部、１２  受信データ記憶部、１３  受信データ判断部、１４  判断結果記憶部、１５  再送要求部、１６  通信インタフェース、１７  ネットワーク構成記憶部、２０  通信装置、２１  マスタ装置、２２  スレーブ装置、２３  スレーブ装置、３０  スイッチングハブ、４１  サイクリックメモリ、５０  通信ネットワーク、７１  ヘッダ部、７２  データ部、７３  フッタ部、２０１  受信処理部、２０２  送信処理部、２０３  通信インタフェース、２１０  矢印、４０７  内部バス、４４１  送信データ生成部、５０１  プロセッサ、５０２  主記憶部、５０３  補助記憶部、５０４  入力部、５０５  出力部、５０６  通信部、７１１  局番号、７１２  周期番号、７２１  実データ、７３１  誤り検出符号、１０００  データ収集システム。
【要約】
データ収集管理装置（１０）は、サイクリック通信を実施する複数の通信装置（２０）にネットワークを介して接続され、サイクリック通信に参加する通信装置を示すネットワーク構成情報を記憶するネットワーク構成記憶部（１７）と、各通信装置（２０）からマルチキャストされる通信データを受信するデータ受信部（１１）と、受信した通信データを収集データとして記憶する受信データ記憶部（１２）と、収集データに含まれる周期特定情報および送信元特定情報と、ネットワーク構成情報と、に基づき収集データの欠損有無を判断し、未受信通信データを特定する受信データ判断部（１３）と、複数の通信装置（２０）のいずれか１つに対し、未受信通信データの再送要求を行う再送要求部（１５）と、を備える。【図１】
0006836692.tif 000002
【図２】
0006836692.tif 000003
【図３】
0006836692.tif 000004
【図４】
0006836692.tif 000005
【図５】
0006836692.tif 000006
【図６】
0006836692.tif 000007
【図７】
0006836692.tif 000008
【図８】
0006836692.tif 000009
【図９】
0006836692.tif 000010
【図１０】
0006836692.tif 000011
【図１１】
0006836692.tif 000012
【図１２】
0006836692.tif 000013
【図１３】
0006836692.tif 000014
【図１４】
0006836692.tif 000015