(57)【特許請求の範囲】
【請求項１】
マスタコントローラ及び複数のスレーブデバイスが接続されたリアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続されるデータ収集装置であって、
前記マスタコントローラは、前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続されたと認識した前記スレーブデバイスとの間で入出力データを含むＭＡＣフレームを周期的に交換し、且つ該データ収集装置を認識しておらず、
該データ収集装置は、
前記マスタコントローラから前記スレーブデバイスに送信される全ての前記ＭＡＣフレーム、及び前記スレーブデバイスから前記マスタコントローラに送信される全ての前記ＭＡＣフレームを受信可能な位置において前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続され、且つ前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークにデータを送出しない第１通信部と、
データ管理装置に接続される第２通信部と、
前記第１通信部を通じて受信した前記ＭＡＣフレームから抽出した前記入出力データを記憶部に記憶させ、且つ前記記憶部に記憶された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信するデータ処理部と、を備え、
前記データ処理部は、前記第１通信部を通じて受信した前記ＭＡＣフレームのうち、
前記マスタコントローラによって前記ＭＡＣフレームにセットされた出力データを、前記マスタコントローラから前記スレーブデバイスに向けて送信された前記ＭＡＣフレームから抽出し、
前記スレーブデバイスによって前記ＭＡＣフレームにセットされた入力データを、前記スレーブデバイスから前記マスタコントローラに向けて送信された前記ＭＡＣフレームから抽出し、
前記ＭＡＣフレームは、全ての前記スレーブデバイスそれぞれに対する前記入出力データを含み、
前記入出力データは、当該データにアクセスした前記スレーブデバイスによってインクリメントされるワーキングカウンタを含み、
前記データ処理部は、前記ワーキングカウンタに０が設定された前記出力データ、及び前記ワーキングカウンタに１以上が設定された前記入力データを、前記第１通信部によって受信された前記ＭＡＣフレームから抽出するデータ収集装置。
【請求項２】
マスタコントローラ及び複数のスレーブデバイスが接続されたリアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続されるデータ収集装置であって、
前記マスタコントローラは、前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続されたと認識した前記スレーブデバイスとの間で入出力データを含むＭＡＣフレームを周期的に交換し、且つ該データ収集装置を認識しておらず、
該データ収集装置は、
前記マスタコントローラから前記スレーブデバイスに送信される全ての前記ＭＡＣフレーム、及び前記スレーブデバイスから前記マスタコントローラに送信される全ての前記ＭＡＣフレームを受信可能な位置において前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続され、且つ前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークにデータを送出しない第１通信部と、
データ管理装置に接続される第２通信部と、
前記第１通信部を通じて受信した前記ＭＡＣフレームから抽出した前記入出力データを記憶部に記憶させ、且つ前記記憶部に記憶された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信するデータ処理部と、を備え、
前記ＭＡＣフレームは、全ての前記スレーブデバイスそれぞれに対する前記入出力データを含み、
前記マスタコントローラは、認識した全ての前記スレーブデバイスそれぞれに対して、当該スレーブデバイスを識別するデバイス識別子、前記ＭＡＣフレーム内において当該スレーブデバイスにアクセスさせる前記入出力データの論理アドレス、及び当該入出力データのデータサイズを含むネットワーク構成情報を含む前記ＭＡＣフレームを送信し、
前記データ処理部は、
前記ネットワーク構成情報を含む前記ＭＡＣフレームを前記第１通信部を通じて受信したことに応じて、当該ネットワーク構成情報を前記記憶部に記憶させ、
前記入出力データを含む前記ＭＡＣフレームを前記第１通信部を通じて受信したことに応じて、前記論理アドレス及び前記データサイズに基づいて前記ＭＡＣフレームから抽出した前記入出力データを、対応する前記スレーブデバイスのデバイスＩＤと関連づけて前記記憶部に記憶させるデータ収集装置。
【請求項３】
前記データ処理部は、前記入出力データの送信要求を前記第２通信部を通じて前記データ管理装置から受信したことに応じて、前記記憶部に記憶された前記入出力データを予め定められたフォーマットに変換し、変換された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信する請求項１または２に記載のデータ収集装置。
【請求項４】
前記データ処理部は、予め定められた送信タイミングが到来したことに応じて、前記記憶部に記憶された前記入出力データを予め定められたフォーマットに変換し、変換された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信する請求項１から３のいずれかに記載のデータ収集装置。
【請求項５】
マスタコントローラ及び複数のスレーブデバイスが接続されたリアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続されるデータ収集装置であって、
前記マスタコントローラは、前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続されたと認識した前記スレーブデバイスとの間で入出力データを含むＭＡＣフレームを周期的に交換し、且つ該データ収集装置を認識しておらず、
該データ収集装置は、
前記マスタコントローラから前記スレーブデバイスに送信される全ての前記ＭＡＣフレーム、及び前記スレーブデバイスから前記マスタコントローラに送信される全ての前記ＭＡＣフレームを受信可能な位置において前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークに接続され、且つ前記リアルタイムＥｔｈｅｒｎｅｔ（登録商標）ネットワークにデータを送出しない第１通信部と、
データ管理装置に接続される第２通信部と、
前記第１通信部を通じて受信した前記ＭＡＣフレームから抽出した前記入出力データを記憶部に記憶させ、且つ前記記憶部に記憶された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信するデータ処理部と、を備え、
該データ収集装置は、前記マスタコントローラとの前記入出力データの交換に伴う実質的な動作が割り当てられていないダミースレーブ部を備えており、
前記マスタコントローラは、当該マスタコントローラで用いられている時計情報或いは前記スレーブデバイスの動作条件を定義するレシピ情報を、前記ダミースレーブ部に対する出力データとして前記ＭＡＣフレームに含めて送信し、
前記データ処理部は、前記第１通信部を通じて前記ＭＡＣフレームを受信したことに応じて、前記時計情報或いは前記レシピ情報を当該ＭＡＣフレームから抽出するデータ収集装置。
【請求項６】
該データ収集装置は、前記マスタコントローラとの前記入出力データの交換に伴う実質的な動作が割り当てられていないダミースレーブ部を備えており、
前記マスタコントローラは、当該マスタコントローラで用いられている時計情報或いは前記スレーブデバイスの動作条件を定義するレシピ情報を、前記ダミースレーブ部に対する出力データとして前記ＭＡＣフレームに含めて送信し、
前記データ処理部は、前記第１通信部を通じて前記ＭＡＣフレームを受信したことに応じて、前記時計情報或いは前記レシピ情報を当該ＭＡＣフレームから抽出する請求項１から４のいずれかに記載のデータ収集装置。
【請求項７】
請求項１から４のいずれかに記載のデータ収集装置と、前記マスタコントローラと、複数の前記スレーブデバイスと、を備える産業用ネットワークシステムであって、
複数の前記スレーブデバイスは、前記マスタコントローラとの前記入出力データの交換に伴う実質的な動作が割り当てられていないダミースレーブを含み、
前記マスタコントローラは、当該マスタコントローラで用いられている時計情報或いは前記スレーブデバイスの動作条件を定義するレシピ情報を、前記ダミースレーブに対する出力データとして前記ＭＡＣフレームに含めて送信し、
前記データ処理部は、前記第１通信部を通じて前記ＭＡＣフレームを受信したことに応じて、前記時計情報或いは前記レシピ情報を当該ＭＡＣフレームから抽出する産業用ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１台または複数のマスタコントローラと、マスタコントローラの制御下の複数の入出力デバイスとの間で、周期的或いは非周期的にデータ交換を行う産業用ネットワークシステムに関するものである。
【背景技術】
【０００２】
マスタコントローラと複数の入出力デバイスとの間で周期的データ交換を行うネットワークシステムとして、例えば、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）、装置制御コントローラのフィールドネットワーク、計測或いは制御用のネットワークシステム等がある（特許文献１参照）。このようなネットワーク上における各種スレーブデバイス、データ収集装置、及びデータ管理装置等の一般的な構成を図１５及び図１６に示す。
【０００３】
リアルタイムＥｔｈｅｒｎｅｔ（登録商標）であるＥｔｈｅｒＣＡＴ（登録商標）において、マスタコントローラと制御対象であるスレーブデバイスとは、リングトポロジを構成する。このスレーブデバイスは、２つのＥｔｈｅｒｎｅｔポートを有する。そして、スレーブデバイスのＥｔｈｅｒｎｅｔポートを逐次接続していくことでリングトポロジが構成される。ただし、マスタコントローラは、Ｅｔｈｅｒｎｅｔポートが１つであっても構わない。Ｅｔｈｅｒｎｅｔポートが１つのマスタコントローラを用いたフィールドネットワークシステムでは、マスタコントローラから最も遠いスレーブデバイスが内部でパケットを折り返すことで、最終的にマスタコントローラのＥｔｈｅｒｎｅｔポートにパケットが戻される。したがって、例えば、物理的にはライントポロジを構成する場合であっても、パケットの通信経路に着目すれば、論理的なリングトポロジになっている。
【０００４】
ＥｔｈｅｒＣＡＴにおいて、マスタコントローラとスレーブデバイスとの間の入出力データの交換は、例えば以下のように行われる。まず、マスタコントローラは、出力データを含むデータ交換用のデータグラムをフィールドネットワークに送出する。スレーブデバイスは、当該データグラムの所定の位置にセットされた出力データを取り込み、或いは当該データグラムの所定の位置に入力データをセットする。そして、このデータグラムがリング上のフィールドネットワークを一巡することによって、マスタコントローラと全てのスレーブデバイスとの間の入出力データの交換が終了する。
【０００５】
このようにして交換された入出力データは、マスタコントローラの内部メモリに保持され、次にデータ交換された入出力データによって更新（上書き）される。また、データ管理装置は、当該フィールドネットワークを介して、マスタコントローラの内部メモリに保持された入出力データを所定のタイミングで取得し、ファイルメモリ等に蓄積する。そして、データ管理装置は、ファイルメモリ等に蓄積された入出力データに基づいて、異常発生時の原因解析、累積入出力データの分析に基づく故障予知、或いは入出力データの現在値の更新によるモニタ監視等を含む解析処理を実行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２１６７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記構成のデータ管理装置は、マスタコントローラの内部メモリに保持された入出力データを、フィールドネットワークを介して当該マスタコントローラから取得する必要がある。しかしながら、取得周期の高速化及び入出力データの増大等に伴って、マスタコントローラのネットワークインタフェース、ＣＰＵ、或いはフィールドネットワークに大きな負荷が掛かる。そして、この負荷は、マスタコントローラの制御周期、当該フィールドネットワークの周期性或いは定時性に影響を与えるという課題がある。
【０００８】
また、データ管理装置による入出力データの取得周期は、マスタコントローラによる入出力データの更新周期より一般的に大きい。さらに、フィールドネットワークにおけるデータ交換周期、及びマスタコントローラによる入出力データの更新周期は、今後もより高速化が求められている。そこで、データ管理装置の取得周期とマスタコントローラの更新周期とのギャップ（周期時間差）を埋める手段として、マスタコントローラに設けられた不揮発性メモリに入出力データを中間貯蔵する方法も散見される。この場合、マスタコントローラのＣＰＵの負荷、メモリリソースの負荷がさらに増大するという課題がある。
【０００９】
また、データ管理装置による入出力データの取得方法は、マスタコントローラのメーカー或いは機種等に依存するため、メーカー或いは機種が異なるマスタコントローラ毎に、データ管理装置内の入出力データの取得、及びレスポンス解析部のソフトウエア改造等が必要になるという課題がある。
【００１０】
さらに、データ管理装置がより高度なデータ収集、分析、及び解析を行うためには、例えば、製造装置であれば制御に使用される時計情報、製造指示、或いは処理条件設定のためのレシピ情報（命令、設定値等）等が、入出力データに同期して必要となる。しかしながら、前述した従来のマスタコントローラは、これらの必要とされる全ての情報を、データ管理装置からの単一要求コマンドに対する応答として送信する機能を提供していない。すなわち、データ管理装置がマスタコントローラから取得した入出力データが、マスタコントローラの制御サイクルに完全同期していることが保証されないという課題がある。
【００１１】
この発明は、上記のような課題を解決することを主な目的の一つとしており、フィールドネットワークの負荷、マスタコントローラのリソースの負荷を増大させることなく、当該フィールドネットワーク上でデータ交換される入出力データを収集することが可能なデータ収集装置を提供することを主な目的とする。
【課題を解決するための手段】
【００１２】
(1)  本発明に係るデータ収集装置は、マスタコントローラ及び複数のスレーブデバイスが接続されたリアルタイムＥｔｈｅｒｎｅｔネットワークに接続される。前記マスタコントローラは、前記リアルタイムＥｔｈｅｒｎｅｔネットワークに接続されたと認識した前記スレーブデバイスとの間で入出力データを含むＭＡＣフレームを周期的に交換し、且つ該データ収集装置を認識していない。そして、該データ収集装置は、前記マスタコントローラから前記スレーブデバイスに送信される全ての前記ＭＡＣフレーム、及び前記スレーブデバイスから前記マスタコントローラに送信される全ての前記ＭＡＣフレームを受信可能な位置において前記リアルタイムＥｔｈｅｒｎｅｔネットーワークに接続され、且つ前記リアルタイムＥｔｈｅｒｎｅｔネットワークにデータを送出しない第１通信部と、データ管理装置に接続される第２通信部と、前記第１通信部を通じて受信した前記ＭＡＣフレームから抽出した前記入出力データを記憶部に記憶させ、且つ前記記憶部に記憶された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信するデータ処理部とを備える。
【００１３】
上記構成によれば、マスタコントローラ及びスレーブデバイスは、リアルタイムＥｔｈｅｒｎｅｔネットワークにデータ収集装置が接続されていることを意識することなく動作する。また、リアルタイムＥｔｈｅｒｎｅｔネットワークには、データ収集装置が接続されたことに伴うトラフィックの増加がない。その結果、リアルタイムＥｔｈｅｒｎｅｔネットワークの負荷、及びマスタコントローラのリソースの負荷を増大させることなく、当該リアルタイムＥｔｈｅｒｎｅｔネットワーク上で交換される入出力データを収集することができる。
【００１４】
また、リアルタイムＥｔｈｅｒｎｅｔネットワーク上において、マスタコントローラによるスレーブデバイスの制御機能と、データ収集装置によるデータ収集機能とを分離することで、マスタコントローラによる制御周期の高速化（＝入出力データ交換サイクルの高速化）と合わせて、データ収集装置によるデータ収集速度の高速化（データ収集サイクルの高速化）が計れるという効果が生じる。
【００１５】
(2)  好ましくは、前記データ処理部は、前記第１通信部を通じて受信した前記ＭＡＣフレームのうち、前記マスタコントローラによって前記ＭＡＣフレームにセットされた出力データを、前記マスタコントローラから前記スレーブデバイスに向けて送信された前記ＭＡＣフレームから抽出し、前記スレーブデバイスによって前記ＭＡＣフレームにセットされた入力データを、前記スレーブデバイスから前記マスタコントローラに向けて送信された前記ＭＡＣフレームから抽出する。
【００１６】
(3)  さらに好ましくは、前記ＭＡＣフレームは、全ての前記スレーブデバイスそれぞれに対する前記入出力データを含む。また、前記入出力データは、当該データにアクセスした前記スレーブデバイスによってインクリメントされるワーキングカウンタを含む。そして、前記データ処理部は、前記ワーキングカウンタに０が設定された前記出力データ、及び前記ワーキングカウンタに１以上が設定された前記入力データを、前記第１通信部によって受信された前記ＭＡＣフレームから抽出する。
【００１７】
上記構成によれば、入力データ及び出力データを適切なタイミングでＭＡＣフレームから抽出することができる。
【００１８】
(4)  好ましくは、前記ＭＡＣフレームは、全ての前記スレーブデバイスそれぞれに対する前記入出力データを含む。前記マスタコントローラは、認識した全ての前記スレーブデバイスそれぞれに対して、当該スレーブデバイスを識別するデバイス識別子、前記ＭＡＣフレーム内において当該スレーブデバイスにアクセスさせる前記入出力データの論理アドレス、及び当該入出力データのデータサイズを含むネットワーク構成情報を含む前記ＭＡＣフレームを送信する。そして、前記データ処理部は、前記ネットワーク構成情報を含む前記ＭＡＣフレームを前記第１通信部を通じて受信したことに応じて、当該ネットワーク構成情報を前記記憶部に記憶させ、前記入出力データを含む前記ＭＡＣフレームを前記第１通信部を通じて受信したことに応じて、前記論理アドレス及び前記データサイズに基づいて前記ＭＡＣフレームから抽出した前記入出力データを、対応する前記スレーブデバイスのデバイスＩＤと関連づけて前記記憶部に記憶させる。
【００１９】
上記構成によれば、ＭＡＣフレーム内における入出力データのデータ構造をネットワーク構成情報に基づいて特定できるので、マスタコントローラのメーカー或いは機種に依存することなく、当該リアルタイムＥｔｈｅｒｎｅｔネットワーク上で交換される入出力データを収集することができる。
【００２０】
(5)  好ましくは、前記データ処理部は、前記入出力データの送信要求を前記第２通信部を通じて前記データ管理装置から受信したことに応じて、前記記憶部に記憶された前記入出力データを予め定められたフォーマットに変換し、変換された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信する。
【００２１】
(6)  好ましくは、前記データ処理部は、予め定められた送信タイミングが到来したことに応じて、前記記憶部に記憶された前記入出力データを予め定められたフォーマットに変換し、変換された前記入出力データを前記第２通信部を通じて前記データ管理装置に送信する。
【００２２】
上記の各構成によれば、収集した入出力データを所望のタイミングでデータ管理装置に送信することができる。
【００２３】
(7)  好ましくは、該データ収集装置は、前記マスタコントローラとの前記入出力データの交換に伴う実質的な動作が割り当てられていないダミースレーブ部を備える。前記マスタコントローラは、当該マスタコントローラで用いられている時計情報或いは前記スレーブデバイスの動作条件を定義するレシピ情報を、前記ダミースレーブ部に対する出力データとして前記ＭＡＣフレームに含めて送信する。そして、前記データ処理部は、前記第１通信部を通じて前記ＭＡＣフレームを受信したことに応じて、前記時計情報或いは前記レシピ情報を当該ＭＡＣフレームから抽出する。
【００２４】
上記構成のように、データ収集装置がスレーブ機能を併せ持つことで、従来方式では困難となっていた、入出力データ（センサー、アクチュエータ情報）の制御サイクルに完全同期化された時計情報或いはレシピ情報等を簡易に収集することができる。その結果、これらの情報を用いて入出力データのデータ管理及びデータ分析をデータ管理装置に行わせることができる。
【００２５】
(8)  本発明に係る産業用ネットワークシステムは、上記記載のデータ収集装置と、前記マスタコントローラと、複数の前記スレーブデバイスとを備える。複数の前記スレーブデバイスは、前記マスタコントローラとの前記入出力データの交換に伴う実質的な動作が割り当てられていないダミースレーブを含む。前記マスタコントローラは、当該マスタコントローラで用いられている時計情報或いは前記スレーブデバイスの動作条件を定義するレシピ情報を、前記ダミースレーブに対する出力データとして前記ＭＡＣフレームに含めて送信する。そして、前記データ処理部は、前記第１通信部を通じて前記ＭＡＣフレームを受信したことに応じて、前記時計情報或いは前記レシピ情報を当該ＭＡＣフレームから抽出する。
【発明の効果】
【００２６】
本発明によれば、リアルタイムＥｔｈｅｒｎｅｔネットワークの負荷、及びマスタコントローラのリソースの負荷を増大させることなく、当該リアルタイムＥｔｈｅｒｎｅｔネットワーク上で交換される入出力データを収集することができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、産業用ネットワークシステム１００の構成図である。
【図２】図２は、産業用ネットワークシステム１００内で送受信されるＭＡＣフレームのデータ構造を示す図である。
【図３】図３は、実施形態１に係るデータ収集装置１０のブロック図である。
【図４】図４は、ネットワーク構成情報テーブルの一例である。
【図５】図５は、各スレーブデバイス２２〜２４のレジスタに設定される入出力管理情報の一例を示す図である。
【図６】図６は、各種コマンドのデータ構造の一例であって、（Ａ）ＡＰＷＲコマンド或いはＦＰＷＲコマンドを、（Ｂ）はＬＲＤコマンドを、（Ｃ）はＬＷＲコマンドを、（Ｄ）はＬＲＷコマンドを示す。
【図７】図７は、データ収集処理のフローチャートである。
【図８】図８は、データ収集装置１０の不揮発性メモリ１３に記憶される入出力レコードの一例を示す図である。
【図９】図９は、データ送信処理のフローチャートである。
【図１０】図１０は、データ収集装置１０とデータ管理装置５０との間で送受信されるコマンドの一例であって、（Ａ）は収集データ一括要求コマンドを、（Ｂ）は収集データ個別要求コマンドを、（Ｃ）は収集データ一括／個別応答コマンドを示す。
【図１１】図１１は、実施形態２に係るデータ収集装置１０Ａのブロック図である。
【図１２】図１２は、実施形態３に係るデータ収集装置１０Ｂのブロック図である。
【図１３】図１３は、ダミースレーブ部６０に対するＬＷＲコマンドのデータ領域に含める出力データの一例である。
【図１４】図１４は、実施形態３の変形例に係る産業用ネットワークシステム１００の構成図である。
【図１５】図１５は、従来の産業用ネットワークシステムの一例である。
【図１６】図１６は、従来の産業用ネットワークシステムの他の例である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【００２９】
［実施形態１］
図１を参照して、実施形態１に係る産業用ネットワークシステム１００の構成を説明する。図１は、実施形態１に係る産業用ネットワークシステム１００の構成図である。図１に示される産業用ネットワークシステム１００は、データ収集装置１０と、マスタコントローラ２１と、複数のスレーブデバイス２２、２３、２４と、リピータ３０と、スイッチ４０とで構成されている。また、データ収集装置１０は、データ管理装置５０と接続されている。なお、産業用ネットワークシステム１００のネットワークトポロジは、後述するように論理的なリングトポロジであればよく、物理的なトポロジは図１の例に限定されない。
【００３０】
なお、実施形態１において、産業用ネットワークシステム１００を構成するネットワークは、リアルタイムＥｔｈｅｒｎｅｔネットワーク（或いは、産業用Ｅｔｈｅｒｎｅｔ、Ｅｔｈｅｒｎｅｔベースフィールドネットワーク）の一例であるＥｔｈｅｒＣＡＴである。また、実施形態１では、産業用ネットワークシステム１００にマスタコントローラ２１が１つだけ接続された例を説明するが、１つの産業用ネットワークシステム１００に複数のマスタコントローラ２１が接続されてもよい。マスタコントローラ２１には、例えば、当該マスタコントローラ２１を識別するマスタＩＤによって識別される。さらに、産業用ネットワークシステム１００に接続されるスレーブデバイス２２、２３、２４の数は３つに限定されない。
【００３１】
リピータ３０は、複数のポート３１、３２、３３、・・・を有している。マスタコントローラ２１、データ収集装置１０、及びスイッチ４０は、リピータ３０の各ポート３１、３２、３３に接続されている。リピータ３０は、複数のポート３１〜３３の１つを通じて受信したデータを、他の全てのポート３１〜３３に対して送出する機能を有する。すなわち、リピータ３０は、ポート３１を通じてマスタコントローラ２１から受信したデータを、ポート３２、３３を通じてデータ収集装置１０及びスイッチ４０に送信する。また、リピータ３０は、ポート３３を通じてスイッチ４０から受信したデータを、ポート３１、３２を通じてマスタコントローラ２１及びデータ収集装置１０に送信する。
【００３２】
スイッチ４０は、複数のポート４１、４２、４３、４４、・・・を有している。リピータ３０及びスレーブデバイス２２〜２４は、スイッチ４０の各ポート４１〜４４に接続されている。スイッチ４０は、複数のポート４１〜４４の１つを通じて受信したデータを、予め定められた他のポート４１〜４４に送出する機能を有する。なお、データの受信ポート及び送信ポートの組み合わせは、スイッチ４０に予め設定されていてもよいし、当該データに含まれるＭＡＣアドレスによって特定されてもよい。
【００３３】
本実施形態に係るスイッチ４０は、ポート４１を通じてリピータ３０から受信したデータを、ポート４２を通じてスレーブデバイス２２に送信する。また、スイッチ４０は、ポート４２を通じてスレーブデバイス２２から受信したデータを、ポート４３を通じてスレーブデバイス２３に送信する。さらに、スイッチ４０は、ポート４３を通じてスレーブデバイス２３から受信したデータを、ポート４４を通じてスレーブデバイス２４に送信する。さらに、スイッチ４０は、ポート４４を通じてスレーブデバイス２４から受信したデータを、ポート４１を通じてリピータ３０に送信する。
【００３４】
実施形態１に係る産業用ネットワークシステム１００は、マスタコントローラ２１とスレーブデバイス２２〜２４との間で入出力データを含むＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）フレームが周期的に交換されることによって、動作するものである。なお、スレーブデバイス２２〜２４は、後述するように、センサやモータそのものを指してもよいし、センサやモータを制御するＩ／Ｏターミナルを指してもよいし、両方を含んでいてもよい。但し、実施形態１に係るスレーブデバイス２２〜２４には、ＥＳＣ（ＥｔｈｅｒＣＡＴ  Ｓｌａｖｅ  Ｃｏｎｔｒｏｌｌｅｒ）が共通して実装される。
【００３５】
一例として、スレーブデバイス２２は、マスタコントローラ２１に入力データを送信するセンサ（入力デバイスの一例）である。この場合の入力データは、例えば、センサが検出した検出値（温度、回転数、回転速度等）である。他の例として、スレーブデバイス２３は、マスタコントローラ２１から受信した出力データに基づいて回転するモータ（出力デバイスの一例）である。この場合の出力データは、例えば、モータの回転速度或いは回転量を特定するためのデータである。さらに他の例として、スレーブデバイス２４は、マスタコントローラ２１からの出力データに基づいて回転し、且つステータス情報を入力データとしてマスタコントローラ２１に送信するモータ（入出力デバイスの一例）である。但し、スレーブデバイス２２〜２４の具体例は、これらに限定されない。
【００３６】
図２は、マスタコントローラ２１とスレーブデバイス２２〜２４との間で交換されるＭＡＣフレーム（或いは、ＭＡＣデータグラム等とも呼ばれる。）のデータ構造の一例である。宛先アドレスには、当該ＭＡＣフレームの送信先の装置のＭＡＣアドレスが設定される。送信元アドレスには、当該ＭＡＣフレームの送信元の装置のＭＡＣアドレスが設定される。ＴＹＰＥは、上位のプロトコル（実施形態１では、ＥｔｈｅｒＣＡＴ）を識別する情報が設定される。データ部には、スレーブデバイス２２に対する入出力データ１と、スレーブデバイス２３に対する入出力データ２と、スレーブデバイス２４に対する入出力データ３とが含まれる。ＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）には、当該ＭＡＣフレームの誤りを検出するためのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）等がセットされる。入出力データ１〜３のデータ構造の詳細は、後述する。
【００３７】
図１に示されるＥｔｈｅｒＣＡＴネットワークは、論理的なリングトポロジとなっている。そのため、マスタコントローラ２１から送信されたＭＡＣフレームは論理的なリングトポロジ内を巡回し、全てのスレーブデバイス２２〜２４を経てマスタコントローラ２１に戻る。そして、実施形態１に係るデータ収集装置１０は、マスタコントローラ２１とスレーブデバイス２２〜２４との間で周期的に交換されるＭＡＣフレームを収集する。
【００３８】
［データ収集装置１０］
データ収集装置１０は、図１に示されるように、論理的なリングトポロジ内のマスタコントローラ２１の直下流（または全スレーブデバイス２２〜２４の最上流）に接続されている。より詳細には、データ収集装置１０は、マスタコントローラ２１からスレーブデバイス２２〜２４に送信される全てのＭＡＣフレーム、及びスレーブデバイス２２〜２４からマスタコントローラ２１に送信される全てのＭＡＣフレームを受信可能な位置において、ＥｔｈｅｒＣＡＴネットワークに接続されている。これにより、データ収集装置１０には、論理的なリングトポロジ内を巡回するＭＡＣフレームを受信する機会が往路及び復路の２回ある。そして、データ収集装置１０は、ＭＡＣフレームの往路で出力データを取り込み、且つＭＡＣフレームの復路で入力データを取り込む。
【００３９】
図３は、実施形態１に係るデータ収集装置１０のブロック図である。図３に示されるデータ収集装置１０は、データ処理部１１と、揮発性メモリ１２と、不揮発性メモリ１３と、第１通信部１４と、第２通信部１５と、ユーザインタフェース部１６とを備える。データ処理部１１及び揮発性メモリ１２は、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を構成する。揮発性メモリ１２及び不揮発性メモリ１３は、記憶部の一例である。
【００４０】
データ処理部１１は、第１通信部１４を通じて受信したデータを編集、加工、或いは変換し、当該データを揮発性メモリ１２又は不揮発性メモリ１３に記憶させる。また、データ処理部１１は、揮発性メモリ１２又は不揮発性メモリ１３に記憶されたデータを編集、加工、或いは変換し、当該データを第２通信部１５を通じてデータ管理装置５０に送信する。揮発性メモリ１２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。不揮発性メモリ１３は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、或いはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
【００４１】
第１通信部１４は、ＥｔｈｅｒＣＡＴネットワークに接続される。実施形態１に係る第１通信部１４は、リピータ３０のポート３２から延出されたＥｔｈｅｒｎｅｔケーブルが接続される通信コネクタと、当該Ｅｔｈｅｒｎｅｔケーブルを通じて伝送されたデータを受信する受信回路とを備えるＥｔｈｅｒｎｅｔインタフェースである。
【００４２】
第１通信部１４の受信回路は、Ｅｔｈｅｒｎｅｔで規定される公知の技術で構成できる回路である。実施形態１に係る第１通信部１４は、産業用ネットワークシステム１００にデータ収集装置１０を加入或いは参加させない。換言すれば、第１通信部１４は、ＥｔｈｅｒＣＡＴネットワークに対して電気的にアクティブな動作を一切せず、且つ如何なるデータも送出することなく、ＥｔｈｅｒＣＡＴネットワーク上を流れるＭＡＣフレームを受信する機能（すなわち、受信回路）のみをアクティブ化している。なお、第１通信部１４は、使用する通信コントローラ等の仕様により送信回路を併せ持っても良いが、実用上は送信回路の実装は不要である。
【００４３】
第２通信部１５は、データ収集装置１０をデータ管理装置５０に接続させるためのインタフェースである。第２通信部１５の具体例は特に限定されないが、例えば、Ｅｔｈｅｒｎｅｔインタフェースであってもよいし、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースであってもよい。なお、データ収集装置１０とデータ管理装置５０とは、インターネットを介して接続されていてもよい。
【００４４】
ユーザインタフェース部１６は、例えば、ユーザに対して情報を表示する表示部（出力インタフェース）と、ユーザからの支持を受け付ける操作部（入力インタフェース）とを備える。表示部は、例えば、表示パネル或いはインジケータ等である。操作部は、例えば、タッチセンサ、押ボタン、切替スイッチ等である。
【００４５】
［産業用ネットワークシステム１００の動作］
マスタコントローラ２１は、産業用ネットワークシステム１００に接続されたスレーブデバイス２２〜２４を管理するためのネットワーク構成情報と、スレーブデバイス２２〜２４との間で送受信された入出力データ（すなわち、スレーブデバイス２２〜２４毎のＩ／Ｏデータ）とを記憶するメモリを有している。図４は、複数のネットワーク構成情報を含むネットワーク構成情報テーブルの一例である。ネットワーク構成情報テーブルの各行は、１つのスレーブデバイスに対応するネットワーク構成情報に相当する。
【００４６】
ネットワーク構成情報は、例えば図４に示されるように、ノード番号と、デバイスＩＤと、ロジカルアドレスと、入力サイズと、出力サイズとを含む。図４の例において、ノード番号＃１はスレーブデバイス２２のネットワーク構成情報を指し、ノード番号＃２はスレーブデバイス２３のネットワーク構成情報を指し、ノード番号＃３はスレーブデバイス２３のネットワーク構成情報を指すものとする。
【００４７】
ノード番号は、産業用ネットワークシステム１００内において、対応するスレーブデバイスに割り当てられた番号である。デバイスＩＤは、対応するスレーブデバイスを一意に識別するデバイス識別子の一例である。一方、データ収集装置１０には、デバイスＩＤが割り当てられていない。ロジカルアドレスは、複数の入出力データを含むＭＡＣフレーム内において、対応するスレーブデバイスにアクセスさせる入出力データの位置を示す論理アドレスの一例である。入力サイズは、対応するスレーブデバイスに割り当てられた入力データのサイズである。出力サイズは、対応するスレーブデバイスに割り当てられた出力データのサイズである。
【００４８】
ネットワーク構成情報は、通常、コンフィグレータ（図示省略）と呼ばれるＰＣ上で動作する管理ソフトウエアで編集或いは生成され、マスタコントローラ２１にダウンロードされる。または、マスタコントローラ２１は、産業用ネットワークシステム１００に接続されているスレーブデバイス２２〜２４を認識し、ネットワーク構成情報を自動生成してもよい。この場合、マスタコントローラ２１は、生成したネットワーク構成情報を前述のコンフィグレータにアップロードする。
【００４９】
また、マスタコントローラ２１は、産業用ネットワークシステム１００の構成に変化（例えば、スレーブデバイス２２〜２４が取り外された、或いは新たなスレーブデバイスが接続された）が生じた場合、ネットワーク構成情報を更新する。また、マスタコントローラ２１は、産業用ネットワークシステム１００の立ち上がり時（すなわち、入出力データの交換をする前）及び産業用ネットワークシステム１００の構成変化時に、最新のネットワーク構成情報を必要とするスレーブデバイス２２〜２４に、ネットワーク構成情報を通知する機能を有してもよい。
【００５０】
産業用ネットワークシステム１００において、マスタコントローラ２１とスレーブデバイス２２〜２４との間で周期的に交換される入出力データは、仮想空間（０ｘ００００００００〜）においてスレーブデバイス２２〜２４毎に割り振られたロジカルアドレス（０ｘ００００００００〜）で管理される。また、ロジカルアドレスとフィジカルメモリアドレスとのマッピングは、当該スレーブデバイス２２〜２４内のメモリマネジメントユニット内のレジスタ（０ｘ０６００〜）で管理される。
【００５１】
そこで、マスタコントローラ２１は、産業用ネットワークシステム１００が運転状態（オペレーショナル）に移行する前に、図５に示される各スレーブデバイス２２〜２４のレジスタに、図６（Ａ）に示される書き込みコマンドを用いて入出力管理情報を書き込む。より詳細には、マスタコントローラ２１は、入出力管理情報の書き込みコマンドを含むＭＡＣフレームを各スレーブデバイス２２〜２４に送信する。そして、当該ＭＡＣフレームをマスタコントローラ２１から受信したスレーブデバイス２２〜２４は、書き込みコマンドに含まれる入出力管理情報をレジスタに設定する。
【００５２】
図６に示されるＡＰＷＲ（Ａｕｔｏ−ｉｎｃｒｅｍｅｎｔａｌ  Ｐｈｙｓｉｃａｌ  Ｗｒｉｔｅ）コマンド（或いは、ＦＰＷＲ（Ｃｏｎｆｉｇｕｒｅｄ−ａｄｄｒｅｓｓ  Ｐｈｙｓｉｃａｌ  ｗｒｉｔｅ）コマンド）は、書き込みコマンドの一例である。ＡＰＷＲコマンド及びＦＰＷＲコマンドのデータ構造は、ＥｔｈｅｒＣＡＴで規定されているので、詳しい説明は省略する。また、スレーブデバイス２２〜２４のレジスタに書き込まれる入出力管理情報の一部は、例えば、図４に示されるネットワーク構成情報に含まれる情報である。
【００５３】
次に、マスタコントローラ２１は、産業用ネットワークシステム１００で定義された手順に基づいて、ネットワーク構成情報テーブルに登録されている各スレーブデバイス２２〜２３に送信すべき入出力データを生成する。なお、ネットワーク構成情報テーブルに登録されているスレーブデバイスは、ＥｔｈｅｒＣＡＴネットワークに接続されているとマスタコントローラ２１が認識しているデバイスを指す。そして、図４に示されるネットワーク構成情報テーブルには、データ収集装置１０が登録されていない。すなわち、実施形態１に係るマスタコントローラ２１は、データ収集装置１０がＥｔｈｅｒＣＡＴに登録されていることを認識していない。
【００５４】
マスタコントローラ２１は、最新のネットワーク構成情報テーブルに登録されている各スレーブデバイス２２〜２４の属性（入力、出力、データサイズ等）に基づいて、入出力データを生成する。そして、マスタコントローラ２１は、例えばコンフィグレータによりスケジュールされた周期情報に基づいて、生成した入出力データを含むＭＡＣフレームを産業用ネットワークシステム１００に送出する。なお、スケジュールとは、一般的にデータ更新周期時間を表す。
【００５５】
マスタコントローラ２１とスレーブデバイス２２〜２４との間での入出力データの交換には、マスタコントローラ２１によって発行されるＬＲＤ（Ｌｏｇｉｃａｌ  Ｒｅａｄ）コマンド、ＬＷＲ（Ｌｏｇｉｃａｌ  Ｗｒｉｔｅ）コマンド、或いはＬＲＷ（Ｌｏｇｉｃａｌ  Ｒｅａｄ／Ｗｒｉｔｅ）コマンドが用いられる。図６（Ｂ）〜図６（Ｄ）に示されるＬＲＤコマンド、ＬＷＲコマンド、及びＬＲＷコマンドは、入出力コマンドの一例である。マスタコントローラ２１は、図２に示される入出力データ１〜３のそれぞれに入出力コマンドを含めたＭＡＣフレームを、スレーブデバイス２２〜２４に送信する。
【００５６】
図６（Ｂ）に示されるＬＲＤコマンドには、マスタコントローラ２１に取得させる入力データをスレーブデバイス２２にセットさせるためのコマンドである。図６（Ｃ）に示されるＬＷＲコマンドは、マスタコントローラ２１がセットした出力データをスレーブデバイス２３に取得させるためのコマンドである。図６（Ｄ）に示されるＬＲＷコマンドは、マスタコントローラ２１がセットした出力データをスレーブデバイス２４に取得させ、且つマスタコントローラ２１に取得させる入力データをスレーブデバイス２４にセットさせるためのコマンドである。入出力コマンドのデータ構造は、ＥｔｈｅｒＣＡＴで規定されている。
【００５７】
マスタコントローラ２１は、例えば、入力デバイスの一例であるスレーブデバイス２２に対する入出力データ１に、ＷＫＣ（ワーキングカウンタ）に”０”をセットしたＬＲＤコマンドを含める。また、マスタコントローラ２１は、例えば、出力デバイスの一例であるスレーブデバイス２３に対する入出力データ２に、データ領域に出力データをセットし且つＷＫＣに”０”をセットしたＬＷＲコマンドを含める。さらに、マスタコントローラ２１は、例えば、入出力デバイスの一例であるスレーブデバイス２４に対する入出力データ３に、データ領域に出力データをセットし且つＷＫＣに”０”をセットしたＬＲＷコマンドを含める。
【００５８】
スレーブデバイス２２は、マスタコントローラ２１から受信したＭＡＣフレームに含まれる入出力データ１のデータ領域に入力データをセットし且つＷＫＣに”１”をセット（すなわち、インクリメント）して、当該ＭＡＣフレームをスレーブデバイス２３に送信する。また、スレーブデバイス２３は、スレーブデバイス２２から受信したＭＡＣフレームに含まれる入出力データ２のデータ領域から出力データを読み出し且つＷＫＣに”１”をセットして、当該ＭＡＣフレームをスレーブデバイス２４に送信する。さらに、スレーブデバイス２４は、スレーブデバイス２３から受信したＭＡＣフレームに含まれる入出力データ３のデータ領域から出力データを読み出し、当該データ領域に入力データをセットし、且つＷＫＣに”２”をセットして、当該ＭＡＣフレームをマスタコントローラ２１に送信する。この一連の処理によって、マスタコントローラ２１とスレーブデバイス２２〜２４との間で入出力データが交換される。
【００５９】
［データ収集処理］
図７及び図８を参照して、マスタコントローラ２１とスレーブデバイス２２〜２４との間で交換されるＭＡＣフレームを収集するデータ収集処理を説明する。図７に示されるデータ収集処理は、データ収集装置１０のデータ処理部１１によって実行される。
【００６０】
まず、データ収集装置１０のデータ処理部１１は、第１通信部１４を通じてＭＡＣフレームを受信したことに応じて（Ｓ１１）、当該ＭＡＣフレームのＴＹＰＥの設定値を確認する（Ｓ１２）。そして、データ処理部１１は、ＥｔｈｅｒＣＡＴを示す値がＴＹＰＥに設定されていることに応じて（Ｓ１２：Ｙｅｓ）、当該ＭＡＣフレームに書き込みコマンド（ＡＰＷＲコマンド／ＦＰＷＲコマンド）が含まれるか否かを判断する（Ｓ１３）。一方、データ処理部１１は、ＥｔｈｅｒＣＡＴ以外のプロトコルを示す値がＴＹＰＥに設定されていることに応じて（Ｓ１２：Ｎｏ）、当該ＭＡＣフレームを破棄する（Ｓ１７）。
【００６１】
次に、データ処理部１１は、受信したＭＡＣフレームに書き込みコマンドが含まれていることに応じて（Ｓ１３：Ｙｅｓ）、当該書き込みコマンドに含まれる入出力管理情報をネットワーク構成情報に変換して不揮発性メモリ１３に記憶させる（Ｓ１４）。すなわち、データ処理部１１は、全てのスレーブデバイス２２〜２４に対する書き込みコマンドに対してこの処理を実行することによって、図４に示されるネットワーク構成情報を完成させることができる。
【００６２】
また、データ処理部１１は、受信したＭＡＣフレームに入出力コマンドが含まれていることに応じて（Ｓ１３：Ｎｏ＆Ｓ１５：Ｙｅｓ）、入出力データを不揮発性メモリ１３に記憶させる（Ｓ１６）。一方、データ処理部１１は、書き込みコマンド及び入出力コマンドを含まないＭＡＣフレームを受信したことに応じて（Ｓ１３：Ｎｏ＆Ｓ１５：Ｎｏ）、当該ＭＡＣフレームを破棄する（Ｓ１７）。
【００６３】
なお、データ処理部１１は、ステップＳ１６において、マスタコントローラ２１からスレーブデバイス２２に向けて送信されたＭＡＣフレームから出力データを抽出し、スレーブデバイス２４からマスタコントローラ２１に向けて送信されたＭＡＣフレームから入力データを抽出する。より詳細には、データ処理部１１は、ＷＫＣに”０”が設定されたＬＷＲコマンド及びＬＲＷコマンドから出力データを抽出する。また、データ処理部１１は、ＷＫＣに”非０”が設定されたＬＲＤコマンド及びＷＫＣに”２”が設定されたＬＷＲコマンドから入力データを抽出する。
【００６４】
また、データ処理部１１は、ステップＳ１６において、図４に示されるネットワーク構成情報に基づいて、ＭＡＣフレームから抽出した入出力データを図８に示される形式に変換する。より詳細には、データ処理部１１は、入出力コマンドのロジカルアドレスを含むネットワーク構成情報を特定する。そして、データ処理部１１は、特定されたネットワーク構成情報のデバイスＩＤ、入力データサイズ、及び出力データサイズと、ＭＡＣフレームから抽出された入出力データと、ＭＡＣフレームに含まれるタイムスタンプ（或いはＭＡＣフレームを受信した時刻を示すタイムスタンプ）とを対応づけて不揮発性メモリ１３に記憶させる。以下、図８の各行を入出力レコードと表記する。
【００６５】
そして、受信したＭＡＣフレーム内の全コマンドに対して前述の処理を実行することによって、マスタコントローラ２１とスレーブデバイス２２〜２４との間で交換される入出力データの収集が完了する。なお、データ処理部１１は、入出力レコードの記憶領域に余裕がある場合に、新たな入出力レコードを不揮発性メモリ１３に追加する。一方、データ処理部１１は、入出力レコードの記憶領域が一杯の場合に、最新の入出力レコードで最も古い入出力レコードを上書きする。最も古い入出力レコードは、例えば、タイムスタンプによって特定される。
【００６６】
また、データ収集装置１０は、コンフィグレータ、データ管理装置５０、或いはユーザによって設定されたデータ収集条件（収集の開始条件、収集データ蓄積の範囲等）に基づいて、入出力データを記憶させるか否かを判断してもよい。収集開始条件としては、例えば、実時間時計、入出力データの変化或いは一致等が挙げられる。また、データ蓄積条件としては、例えば、最新の入出力データからメモリ許容量まで過去に遡った入出力データを記憶する等が挙げられる。
【００６７】
さらに、ＭＡＣフレームから抽出した入出力データを記憶させるのは不揮発性メモリ１３に限定されない。データ処理部１１は、例えば、コンフィグレータから受信回路を通じて受信したダウンロード設定、或いはデータ収集装置１０に設けられたハードウエアスイッチ（不図示）を通じたユーザ設定に基づいて、入出力データを記憶させるメモリ（揮発性メモリ１２又は不揮発性メモリ１３）を選択してもよい。
【００６８】
［データ送信処理］
次に、図９及び図１０を参照して、データ収集装置１０が収集した入出力データをデータ管理装置５０に送信するデータ送信処理を説明する。図９に示されるデータ送信処理は、データ収集装置１０のデータ処理部１１によって実行される。
【００６９】
まず、データ収集装置１０のデータ処理部１１は、図１０（Ａ）に示される収集データ一括要求コマンドを第２通信部１５を通じてデータ管理装置５０から受信したことに応じて（Ｓ２１：Ｙｅｓ＆Ｓ２２：Ｙｅｓ）、不揮発性メモリ１３に記憶された入出力データを含む収集データ一括応答コマンドを、第２通信部１５を通じてデータ管理装置５０に送信する（Ｓ２３）。収集データ一括要求コマンドは、産業用ネットワークシステム１００に含まれる全てのスレーブデバイス２２〜２４に対する入出力データの送信を要求するためのコマンドである。収集データ一括要求コマンドは、産業用ネットワークシステム１００に含まれる全てのスレーブデバイス２２〜２４に対する入出力データを送信するためのコマンドである。
【００７０】
図１０（Ａ）に示される収集データ一括要求コマンドは、マスタコントローラ２１を識別するマスタＩＤと、当該コマンドが収集データ一括要求コマンドであることを示すコマンドＩＤとを含む。また、収集データ一括応答コマンドは、図１０（Ｃ）に示されるように、マスタＩＤと、収集データ一括応答コマンドを識別するコマンドＩＤと、当該コマンドに含まれる入出力データの数に相当する応答スレーブ数と、応答スレーブ数に相当する１以上の入出力データとを含む。さらに、各入出力データは、例えば入出力レコードに含まれるデータのうち、デバイスＩＤ、入力データサイズ、入力データ、出力データサイズ、及び出力データを含む。
【００７１】
また、データ処理部１１は、図１０（Ｂ）に示される収集データ個別要求コマンドを第２通信部１５を通じてデータ管理装置５０から受信したことに応じて（Ｓ２２：Ｎｏ＆Ｓ２４：ｙｅｓ）、当該コマンドで特定される入出力データを含む収集データ個別応答コマンドを、第２通信部１５を通じてデータ管理装置５０に送信する（Ｓ２５）。収集データ個別要求コマンドは、産業用ネットワークシステム１００に含まれる特定のスレーブデバイスに対する入出力データのみの送信を要求するためのコマンドである。収集データ個別応答コマンドは、収集データ個別要求コマンドで要求された入出力データのみを送信するためのコマンドである。
【００７２】
図１０（Ｂ）に示される収集データ個別要求コマンドは、マスタＩＤと、収集データ個別要求コマンドを識別するコマンドＩＤと、送信すべき入出力データの数に相当する要求スレーブ数と、要求スレーブ数に相当する１以上のデバイスＩＤとを含む。また、収集データ個別応答コマンドは、図１０（Ｃ）に示されるデータ構造において、収集データ個別応答コマンドを識別するコマンドＩＤが設定されている点において、収集データ一括応答コマンドと相違する。さらに、データ処理部１１は、収集データ個別要求コマンドに含まれるデバイスＩＤに対応づけられた入出力データを、収集データ個別応答コマンドに含める。すなわち、収集データ個別要求コマンドの要求スレーブ数と、収集データ個別応答コマンドの応答スレーブ数とは、一致する。
【００７３】
なお、データ収集装置１０は、ステップＳ２３、Ｓ２５において、データ管理装置５０に対してサーバーモードで動作する。また、データ処理部１１は、ステップＳ２３、Ｓ２５において、不揮発性メモリ１３に記憶された最新の入出力レコードに含まれる入出力データを、データ管理装置５０に送信してもよい。または、入出力レコードは、データ管理装置５０に送信されたか否かを示す送信フラグを含んでいてもよい。そして、データ処理部１１は、送信フラグに”ＯＦＦ（未送信を示す）”が設定された入出力レコードから抽出した入出力データを、データ管理装置５０に送信してもよい。この場合の収集データ一括応答コマンドに含まれる入出力データの数、及び収集データ個別応答コマンドに含まれる入出力データの数は、応答スレーブ数の整数倍となる。
【００７４】
さらに、データ処理部１１は、設定送信条件を満たしたことに応じて（Ｓ２１：Ｎｏ＆Ｓ２６：Ｙｅｓ）、当該条件に一致する収集データ一括応答コマンド或いは収集データ個別応答コマンドを、第２通信部１５を通じてデータ管理装置５０に送信する（Ｓ２７）。このように、データ収集装置１０のデータ処理部１１は、例えば、予め設定されたタイミング（例えば、周期或いはイベント）をトリガー条件として、自発的に収集データ一括要求応答或いは収集データ個別要求応答をデータ管理装置５０に送信してもよい。このときのデータ収集装置１０は、データ管理装置５０に対してクライアントモードで動作する。
【００７５】
［実施形態１の作用効果］
上記構成によれば、マスタコントローラ２１及びスレーブデバイス２２〜２４は、ＥｔｈｅｒＣＡＴネットワークにデータ収集装置１０が接続されていることを意識することなく動作する。また、ＥｔｈｅｒＣＡＴネットワークには、データ収集装置１０が接続されたことに伴うトラフィックの増加がない。その結果、リアルタイムＥｔｈｅｒｎｅｔネットワークの負荷、及びマスタコントローラ２１のリソースの負荷を増大させることなく、当該リアルタイムＥｔｈｅｒｎｅｔネットワーク上で交換される入出力データを収集することができる。
【００７６】
また、産業用ネットワークシステム１００において、マスタコントローラ２１によるスレーブデバイス２２〜２４の制御機能と、データ収集装置１０によるデータ収集機能とを分離することで、マスタコントローラ２１による制御周期の高速化（＝入出力データ交換サイクルの高速化）と合わせて、データ収集装置１０によるデータ収集速度の高速化（データ収集サイクルの高速化）が計れるという効果が生じる。
【００７７】
また、上記構成によれば、ＭＡＣフレーム内における入出力データのデータ構造をネットワーク構成情報に基づいて特定できるので、マスタコントローラ２１のメーカー或いは機種に依存することなく、当該ＥｔｈｅｒＣＡＴネットワーク上で交換される入出力データを収集することができる。さらに、データ処理部１１は、各入出力コマンドのＷＫＣをチェックして、当該入出力コマンドに含まれる入出力データの抽出或いは破棄を決定するので、入力データ及び出力データを適切なタイミングでＭＡＣフレームから抽出することができる。
【００７８】
さらに、上記構成によれば、収集データ一括／個別要求コマンドを受信したこと、或いは設定送信条件を満たしたことに応じて、収集した入出力データがデータ管理装置５０に送信される。その結果、収集した入出力データを所望のタイミングでデータ管理装置５０に送信することができる。
【００７９】
［実施形態２］
次に、図１１を参照して、実施形態２に係るデータ収集装置１０Ａを説明する。なお、実施形態１と共通する構成には同一の参照番号を付して詳しい説明を省略し、実施形態１との相違点を中心に説明する。
【００８０】
実施形態２に係るデータ収集装置１０Ａは、図１１に示されるように、第１通信部１４と、データ処理部１１Ａと、データ管理部５０Ａとを備える。すなわち、実施形態２に係るデータ収集装置１０Ａは、実施形態１に係るデータ収集装置１０及びデータ管理装置５０の機能を併せ持っている。実施形態２に係るデータ収集装置１０Ａは、例えば、一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）で構成される。
【００８１】
まず、産業用ネットワークシステム１００で送受信されるＭＡＣフレームをＰＣに標準的に搭載されるＥｔｈｅｒｎｅｔインタフェースで受信可能な場合、新たなハードウエアの追加及び構成変更をすることなく、当該Ｅｔｈｅｒｎｅｔインタフェースを第１通信部１４として利用できる。一方、ＭＡＣフレームを受信できない場合は、専用の第１通信部１４（ハードウェア及びソフトウェア）をＰＣに追加すればよい。
【００８２】
また、実施形態２に係るデータ処理部１１Ａは、図１１に示されるように、受信ドライバ、フレーム解析／抽出ＰＧ、及びＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）等の階層化されたソフトウェアによって実現できる。より詳細には、データ処理部１１Ａは、第１通信部１４に受信させたＭＡＣフレームを受信ドライバで取得し、フレーム解析／抽出ＰＧで入出力データを抽出する。
【００８３】
さらに、実施形態２に係るデータ管理部５０Ａは、ＳＣＡＤＡ（Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）或いはユーザプログラムによって実現される。すなわち、実施形態２に係るデータ管理部５０Ａは、ＳＣＡＤＡ等の汎用データ収集ソフト、またはユーザプログラムとして設計される専用ソフトウエアにより実現される。そして、データ管理部５０Ａとして機能するＳＣＡＤＡ或いはユーザプログラムは、データ処理部１１Ａによって収集された入出力データをＡＰＩを通じて取得し、記憶部１７に記憶させる。
【００８４】
上記構成によっても、実施形態１と同様の作用効果を得ることができる。また、実施形態１に係るデータ収集装置１０及びデータ管理装置５０の機能を統合したこにより、入出力データの解析等をよりリアルタイムに実現することができる。
【００８５】
［実施形態３］
次に、図１２〜図１４を参照して、実施形態３に係るデータ収集装置１０Ｂを説明する。なお、実施形態１、２と共通する構成要素には同一の参照番号を付して詳しい説明を省略し、相違点を中心に説明する。実施形態３に係るデータ収集装置１０Ｂは、ダミースレーブ部６０を備える点において、実施形態１、２に係るデータ収集装置１１、１１Ａと相違する。
【００８６】
実施形態３に係るマスタコントローラ２１は、ダミースレーブ部６０のネットワーク構成情報を有している。すなわち、マスタコントローラ２１は、産業用ネットワークシステム１００にダミースレーブ部６０が接続されていると認識している。そして、マスタコントローラ２１は、当該マスタコントローラ２１で用いられている時計情報或いはスレーブデバイス２２〜２４の動作条件を定義するレシピ情報等（以下、「追加必要情報」と表記する。）を、ダミースレーブ部６０に対する出力データとしてＭＡＣフレームに含める。すなわち、マスタコントローラ２１は、図１３に示されるマスタＩＤ、時計情報、レシピ情報、及びその他の情報を、ダミースレーブ部６０に対するＬＷＲコマンドのデータ領域に含めればよい。
【００８７】
また、実施形態３に係るダミースレーブ部６０は、図１２に示されるように、ＭＣＵ６１と、外部揮発性メモリ６２と、外部不揮発性メモリ６３と、送受信回路６４と、通信コネクタ６５と、ユーザインタフェース部６６とを備える。そして、ダミースレーブ部６０のＭＣＵ６１は、スレーブデバイス２４によって送信されたＭＡＣフレームを通信コネクタ６５及び送受信回路６４を通じて受信し、当該ＭＡＣフレーム内に含まれる出力データのＷＫＣをインクリメントし、通信コネクタ６５及び送受信回路６４を通じてマスタコントローラ２１に当該ＭＡＣフレームを送信する。
【００８８】
ダミースレーブ部６０は、例えば、マスタコントローラ２１との入出力データの交換に伴う実質的な動作が割り当てられていないスレーブデバイスとして機能する。すなわち、ダミースレーブ部６０は、出力データを含むＭＡＣフレームを受信したことに応じて、前述の処理以外の処理を実行する必要がない。換言すれば、ダミースレーブ部６０は、一般的なスレーブデバイスとしてのフルファンクションを持つ必要はない。さらに換言すれば、ダミースレーブ部６０は、マスタコントローラ２１からの出力データを受信できる機能を有していればよい。ダミースレーブ部６０は、例えば、８／１６／３２／６４／１２８バイトの出力データを受信できればよい。
【００８９】
スレーブデバイス２２〜２４に対する入出力データの現在値のみでは、データ管理装置５０によるデータ管理及びデータ分析に必要な情報が不足している場合があり得る。そこで、実施形態３に係るデータ収集装置１０Ｂの第１通信部１４Ｂは、ダミースレーブ部６０に向けて送信されたＭＡＣフレームを、ダミースレーブ部６０の通信コネクタ６５を通じて取得する。これにより、データ収集装置１０Ｂは、スレーブデバイス２２〜２４に対する入出力データと合わせて、ダミースレーブ部６０に対する出力データとしてマッピングされた追加必要情報を収集することができる。
【００９０】
なお、実施形態３では、データ収集装置１０Ｂにダミースレーブ部６０を一体化させた例を説明した。しかしながら、図１４に示されるように、ダミースレーブ部６０の機能を有するダミースレーブ２５を、スイッチ４０のポート４５に接続してもよい。この場合、実施形態１、２に係るデータ収集装置１０、１０Ａを産業用ネットワークシステム１００に接続することによって、実施形態３の作用効果を得ることができる。
【００９１】
なお、実施形態１〜３では、リアルタイムＥｔｈｅｒｎｅｔネットワークの一例として、ＥｔｈｅｒＣＡＴを説明したが、産業用ネットワークシステム１００に適用されるネットワークの具体的な構成はこれに限定されない。例えば、Ｐｒｏｆｉｎｅｔ、ＥｔｈｅｒｎｅｔＩＰ、ＭＯＤＢＵＳ  ＴＣＰ等であってもよい。
【００９２】
また、実施形態１〜３の説明において、「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「〜モジュール」であってもよく、また「〜処理」であってもよい。すなわち「〜部」として説明しているものは、ソフトウエアのみ、或いは素子、デバイス、基板、及び配線などのハードウエアのみ、或いはソフトウエアとハードウエアとの組み合わせで実現されても構わない。
【符号の説明】
【００９３】
１０，１０Ａ，１０Ｂ・・・データ収集装置
１１，１１Ａ・・・データ処理部
１２・・・揮発性メモリ
１３・・・不揮発性メモリ
１４，１４Ｂ・・・第１通信部
１５・・・第２通信部
２１・・・マスタコントローラ
２２，２３，２４・・・スレーブデバイス
２５・・・ダミースレーブ
５０・・・データ管理装置
６０・・・ダミースレーブ部
１００・・・産業用ネットワークシステム
【図１】
0006408277.tif 000002
【図２】
0006408277.tif 000003
【図３】
0006408277.tif 000004
【図４】
0006408277.tif 000005
【図５】
0006408277.tif 000006
【図６】
0006408277.tif 000007
【図７】
0006408277.tif 000008
【図８】
0006408277.tif 000009
【図９】
0006408277.tif 000010
【図１０】
0006408277.tif 000011
【図１１】
0006408277.tif 000012
【図１２】
0006408277.tif 000013
【図１３】
0006408277.tif 000014
【図１４】
0006408277.tif 000015
【図１５】
0006408277.tif 000016
【図１６】
0006408277.tif 000017