(57)【要約】【課題】所望のタイミングにおける産業機器のデータを取得する場合の通信負荷を軽減する。【解決手段】通信システム（１）では、第１の産業機器（２０）と第２の産業機器（３０）とが通信する。第１の産業機器（２０）は、第２の産業機器（３０）に、コピー指示を送信するコピー指示送信部（２０２）を有する。第２の産業機器（３０）は、自身の動作に基づいて、第１の記憶領域のデータを更新する更新部（３０１）と、コピー指示を受信した場合に、第２の記憶領域に、第１の記憶領域のデータをコピーするコピー部（３０２）と、第１の産業機器（２０）に、第２の記憶領域のデータを送信する送信部（３０３）と、を有する。【選択図】図４
2020140465.tif 000002
【特許請求の範囲】
【請求項１】
第１の産業機器と第２の産業機器とが通信する通信システムであって、
前記第１の産業機器は、前記第２の産業機器に、コピー指示を送信するコピー指示送信部を有し、
前記第２の産業機器は、
自身の動作に基づいて、第１の記憶領域のデータを更新する更新部と、
前記コピー指示を受信した場合に、第２の記憶領域に、前記第１の記憶領域のデータをコピーするコピー部と、
前記第１の産業機器に、前記第２の記憶領域のデータを送信する送信部と、
を有する通信システム。
【請求項２】
前記第１の産業機器は、前記第２の産業機器に、データ要求を送信するデータ要求送信部を有し、
前記送信部は、前記データ要求を受信した場合に、前記第２の記憶領域の前記データを送信する、
請求項１に記載の通信システム。
【請求項３】
前記データ要求送信部は、前記第２の産業機器に、非同期通信を利用して前記データ要求を送信する、
請求項２に記載の通信システム。
【請求項４】
前記通信システムには、前記データを収集する第３の産業機器が含まれており、
前記第３の産業機器は、前記第１の産業機器に、前記データ要求を送信するデータ要求送信部を有し、
前記第１の産業機器のデータ要求送信部は、前記第２の産業機器に、前記第３の産業機器から受信した前記データ要求を転送し、
前記第１の産業機器は、前記第３の産業機器に、前記第２の産業機器から受信した前記データを転送するデータ転送部を有する
請求項２又は３に記載の通信システム。
【請求項５】
前記第３の産業機器は、前記コピー指示送信部により前記コピー指示が送信されたか否かを確認する確認部を更に有し、
前記第３の産業機器の前記データ要求送信部は、前記コピー指示が送信されたことが確認された場合に、前記第１の産業機器に、前記データ要求を送信する、
請求項４に記載の通信システム。
【請求項６】
前記コピー指示送信部は、前記第２の産業機器に、同期通信を利用して前記コピー指示を送信する、
請求項１〜５の何れかに記載の通信システム。
【請求項７】
前記第２の産業機器には、センサが接続されており、
前記更新部は、前記センサの検出結果を、前記第１の記憶領域に格納し、
前記コピー部は、前記検出結果を前記第２の記憶領域にコピーし、
前記送信部は、前記第２の記憶領域の前記検出結果を送信する、
請求項１〜６の何れかに記載の通信システム。
【請求項８】
前記第２の産業機器は、
自身の動作状況を示すトレースデータを生成する生成部と、
前記第１の産業機器に、前記トレースデータを送信するトレースデータ送信部と、
を有し、
前記送信部は、前記トレースデータ送信部とは別に、前記第２の記憶領域の前記データを送信する、
請求項１〜７の何れかに記載の通信システム。
【請求項９】
前記第１の産業機器は、ユーザにより指定された、前記コピー指示の送信タイミングが訪れたか否かを判定する判定部を有し、
前記コピー指示送信部は、前記送信タイミングが訪れたと判定された場合に、前記第２の産業機器に、前記コピー指示を送信する、
請求項１〜８の何れかに記載の通信システム。
【請求項１０】
前記第２の産業機器には、複数の前記第１の記憶領域の各々と、複数の前記第２の記憶領域の各々と、が関連付けられており、
前記更新部は、複数の前記第１の記憶領域の各々のデータを更新し、
前記コピー部は、前記複数の第１の記憶領域の各々のデータを、当該第１の記憶領域に関連付けられた前記第２の記憶領域にコピーし、
前記送信部は、前記第１の産業機器に、前記複数の第２の記憶領域の各々のデータを送信する、
請求項１〜９の何れかに記載の通信システム。
【請求項１１】
前記第１の記憶領域は、データ内容が確定される確定状態と、データ内容が確定しない不確定状態と、があり、
前記通信システムは、前記第１の記憶領域が前記確定状態であるか否かを判定する判定部を有し、
前記コピー部は、前記第１の記憶領域が前記確定状態であると判定された場合に、前記第２の記憶領域に、前記第１の記憶領域の前記データをコピーする、
請求項１〜１０の何れかに記載の通信システム。
【請求項１２】
前記コピー部は、複数の前記第２の記憶領域に、前記第１の記憶領域のデータを時系列的にコピーし、
前記送信部は、前記第１の産業機器に、前記複数の第２の記憶領域に時系列的にコピーされたデータを送信する、
請求項１〜１１の何れかに記載の通信システム。
【請求項１３】
前記第１の産業機器は、マスタ機器であり、
前記第２の産業機器は、前記マスタ機器により制御されるスレーブ機器であり、
前記コピー指示送信部は、前記スレーブ機器に、前記コピー指示を送信し、
前記送信部は、前記マスタ機器に、前記第２の記憶領域のデータを送信する、
請求項１〜１２の何れかに記載の通信システム。
【請求項１４】
第１の産業機器と通信する第２の産業機器に、コピー指示を送信し、
前記第２の産業機器の動作に基づいて、第１の記憶領域のデータを更新し、
前記コピー指示を受信した場合に、第２の記憶領域に、前記第１の記憶領域のデータをコピーし、
前記第１の産業機器に、前記第２の記憶領域のデータを送信する、
通信方法。
【請求項１５】
第１の産業機器と通信する第２の産業機器を、
自身の動作に基づいて、第１の記憶領域のデータを更新する更新部、
前記第１の産業機器からコピー指示を受信した場合に、第２の記憶領域に、前記第１の記憶領域のデータをコピーするコピー部、
前記第１の産業機器に、前記第２の記憶領域のデータを送信する送信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、コントローラがサーボドライブを制御するシステムにおいて、サーボドライブが、コントローラとの通信データを時系列的にトレースデータに格納し、任意のタイミングでコントローラにトレースデータを送信することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開第２００７−１１４８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、例えば、所望のタイミングにおける産業機器のデータを取得する場合の通信負荷を軽減することである。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る通信システムは、第１の産業機器と第２の産業機器とが通信する通信システムであって、前記第１の産業機器は、前記第２の産業機器に、コピー指示を送信するコピー指示送信部を有し、前記第２の産業機器は、自身の動作に基づいて、第１の記憶領域のデータを更新する更新部と、前記コピー指示を受信した場合に、第２の記憶領域に、前記第１の記憶領域のデータをコピーするコピー部と、前記第１の産業機器に、前記第２の記憶領域のデータを送信する送信部と、を有する。
【０００６】
本発明の一側面に係る通信方法は、第１の産業機器と通信する第２の産業機器に、コピー指示を送信し、前記第２の産業機器の動作に基づいて、第１の記憶領域のデータを更新し、前記コピー指示を受信した場合に、第２の記憶領域に、前記第１の記憶領域のデータをコピーし、前記第１の産業機器に、前記第２の記憶領域のデータを送信する。
【０００７】
本発明の一側面に係るプログラムは、第１の産業機器と通信する第２の産業機器を、自身の動作に基づいて、第１の記憶領域のデータを更新する更新部、前記第１の産業機器からコピー指示を受信した場合に、第２の記憶領域に、前記第１の記憶領域のデータをコピーするコピー部、前記第１の産業機器に、前記第２の記憶領域のデータを送信する送信部、として機能させる。
【０００８】
本発明の一側面によれば、前記第１の産業機器は、前記第２の産業機器に、データ要求を送信するデータ要求送信部を有し、前記送信部は、前記データ要求を受信した場合に、前記第２の記憶領域の前記データを送信する。
【０００９】
本発明の一側面によれば、前記データ要求送信部は、前記第２の産業機器に、非同期通信を利用して前記データ要求を送信する。
【００１０】
本発明の一側面によれば、前記通信システムには、前記データを収集する第３の産業機器が含まれており、前記第３の産業機器は、前記第１の産業機器に、前記データ要求を送信するデータ要求送信部を有し、前記第１の産業機器のデータ要求送信部は、前記第２の産業機器に、前記第３の産業機器から受信した前記データ要求を転送し、前記第１の産業機器は、前記第３の産業機器に、前記第２の産業機器から受信した前記データを転送するデータ転送部を有する。
【００１１】
本発明の一側面によれば、前記第３の産業機器は、前記コピー指示送信部により前記コピー指示が送信されたか否かを確認する確認部を更に有し、前記第３の産業機器の前記データ要求送信部は、前記コピー指示が送信されたことが確認された場合に、前記第１の産業機器に、前記データ要求を送信する。
【００１２】
本発明の一側面によれば、前記コピー指示送信部は、前記第２の産業機器に、同期通信を利用して前記コピー指示を送信する。
【００１３】
本発明の一側面によれば、前記第２の産業機器には、センサが接続されており、前記更新部は、前記センサの検出結果を、前記第１の記憶領域に格納し、前記コピー部は、前記検出結果を前記第２の記憶領域にコピーし、前記送信部は、前記第２の記憶領域の前記検出結果を送信する。
【００１４】
本発明の一側面によれば、前記第２の産業機器は、自身の動作状況を示すトレースデータを生成する生成部と、前記第１の産業機器に、前記トレースデータを送信するトレースデータ送信部と、を有し、前記送信部は、前記トレースデータ送信部とは別に、前記第２の記憶領域の前記データを送信する。
【００１５】
本発明の一側面によれば、前記第１の産業機器は、ユーザにより指定された、前記コピー指示の送信タイミングが訪れたか否かを判定する判定部を有し、前記コピー指示送信部は、前記送信タイミングが訪れたと判定された場合に、前記第２の産業機器に、前記コピー指示を送信する。
【００１６】
本発明の一側面によれば、前記第２の産業機器には、複数の前記第１の記憶領域の各々と、複数の前記第２の記憶領域の各々と、が関連付けられており、前記更新部は、複数の前記第１の記憶領域の各々のデータを更新し、前記コピー部は、前記複数の第１の記憶領域の各々のデータを、当該第１の記憶領域に関連付けられた前記第２の記憶領域にコピーし、前記送信部は、前記第１の産業機器に、前記複数の第２の記憶領域の各々のデータを送信する。
【００１７】
本発明の一側面によれば、前記第１の記憶領域は、データ内容が確定される確定状態と、データ内容が確定しない不確定状態と、があり、前記通信システムは、前記第１の記憶領域が前記確定状態であるか否かを判定する判定部を有し、前記コピー部は、前記第１の記憶領域が前記確定状態であると判定された場合に、前記第２の記憶領域に、前記第１の記憶領域の前記データをコピーする。
【００１８】
本発明の一側面によれば、前記コピー部は、複数の前記第２の記憶領域に、前記第１の記憶領域のデータを時系列的にコピーし、前記送信部は、前記第１の産業機器に、前記複数の第２の記憶領域に時系列的にコピーされたデータを送信する。
【００１９】
本発明の一側面によれば、前記第１の産業機器は、マスタ機器であり、前記第２の産業機器は、前記マスタ機器により制御されるスレーブ機器であり、前記コピー指示送信部は、前記スレーブ機器に、前記コピー指示を送信し、前記送信部は、前記マスタ機器に、前記第２の記憶領域のデータを送信する。
【発明の効果】
【００２０】
上記発明によれば、例えば、所望のタイミングにおける産業機器のデータを取得する場合の通信負荷を軽減することができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態に係る通信システムの全体構成の一例を示す図である。
【図２】元データ領域に格納される状態データの一例を示す図である。
【図３】通信システムで実行される処理を示す図である。
【図４】通信システムで実現される機能を示す機能ブロック図である。
【図５】変形例の通信システムで実行される処理を示す図である。
【図６】変形例における機能ブロック図である。
【発明を実施するための形態】
【００２２】
［１．通信システムの全体構成］
本発明の発明者の見地によれば、第１の産業機器と第２の産業機器とが通信する通信システムにおいて、第２の産業機器の故障予知や故障診断などをするために、所望のタイミングにおける第２の産業機器の状態を示すデータを、第１の産業機器に取得させることがある。しかしながら、このタイミングにおいて通信負荷が高い場合、第２の産業機器は、通信負荷が高いにも関わらずデータを送信しなければならないので、通信負荷を更に高めてしまうことがあった。そこで本発明の発明者は、所望のタイミングにおける産業機器のデータを取得する場合の通信負荷を軽減するために鋭意研究開発を行った結果、新規かつ独創的な通信システム等に想到した。以降、本実施形態に係る通信システム等を詳細に説明する。
【００２３】
図１は、実施形態に係る通信システムの全体構成の一例を示す図である。図１に示すように、通信システム１は、データ収集装置１０、コントローラ２０、モータ制御装置３０、モータ４０、センサ５０、及びエンコーダ６０を含む。なお、ここでは、説明の簡略化のために、これらを１台ずつ示しているが、通信システム１は、これらを複数台含んでいてもよい。例えば、複数のデータ収集装置１０が通信システム１に含まれていてもよいし、後述する変形例のように、１台のデータ収集装置１０に対し、複数のコントローラ２０が接続されていてもよい。
【００２４】
データ収集装置１０は、状態データを収集するコンピュータである。状態データは、機器の状態を示すデータであり、例えば、ある時点又は期間における状態を示すデータであってもよいし、時系列的な状態変化を示すデータであってもよい。機器の状態とは、機器の動作を表す情報であり、例えば、センサ５０又はエンコーダ６０が検出した物理量であってもよいし、コントローラ２０又はモータ制御装置３０内部の状態であってもよい。例えば、機器の状態は、トルク信号、温度情報（例えば、チップ温度、内気温度、モータ温度）、フィードバック速度、モータ位置、整定時間、位置偏差、速度偏差、電流偏差、電流負荷、オーバシュート量、消耗品寿命残り時間、残留振動周波数、ＣＰＵ使用率、メモリ使用率、又は通信負荷などである。
【００２５】
本実施形態では、データ収集装置１０は、第３の産業機器の一例である。このため、本実施形態でデータ収集装置１０と記載した箇所は、第３の産業機器と読み替えることができる。産業機器は、人間が行う作業の補助又は代行をする機器及びその周辺機器の総称である。例えば、データ収集装置１０以外にも、後述するコントローラ２０及びモータ制御装置３０も産業機器に相当する。他にも例えば、ロボットコントローラ、産業用ロボット、インバータ、コンバータ、工作機械、又はＰＬＣ等は、産業機器に相当する。
【００２６】
例えば、データ収集装置１０は、サーバコンピュータ、パーソナルコンピュータ、携帯電話（スマートフォンを含む）、又は携帯端末（タブレット型端末を含む）である。データ収集装置１０は、ＣＰＵ１１、記憶部１２、通信部１３、操作部１４、及び表示部１５を含む。
【００２７】
ＣＰＵ１１は、少なくとも１つのプロセッサを含む。記憶部１２は、ＲＡＭ、ＥＥＰＲＯＭ、及びハードディスクを含み、各種プログラムやデータを記憶する。ＣＰＵ１１は、これらプログラムやデータに基づいて各種処理を実行する。通信部１３は、ネットワークカードや各種通信コネクタ等の通信インタフェースを含み、他の装置との通信を行う。操作部１４は、マウスやキーボード等の入力デバイスである。表示部１５は、液晶ディスプレイ又は有機ＥＬディスプレイ等であり、ＣＰＵ１１の指示により各種画面を表示する。
【００２８】
コントローラ２０は、モータ制御装置３０を制御する装置である。本実施形態では、コントローラ２０が１台のモータ制御装置３０を制御する場合を説明するが、コントローラ２０は、複数台のモータ制御装置３０を制御してもよい。更に、コントローラ２０には、モータ制御装置３０だけでなく、センサ類又は入出力機器などが接続されていてもよい。
【００２９】
例えば、コントローラ２０は、ＣＰＵ２１、記憶部２２、及び通信部２３を含む。ＣＰＵ２１、記憶部２２、及び通信部２３の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様である。なお、コントローラ２０は、モータ制御などの特定用途向けの集積回路（ＡＳＩＣ）を有していてもよい。
【００３０】
モータ制御装置３０は、モータ４０を制御する装置である。モータ制御装置３０は、サーボアンプ又はサーボパック（登録商標）と呼ばれることもある。本実施形態では、モータ制御装置３０が１台のモータ４０を制御する場合を説明するが、モータ制御装置３０は、複数台のモータ４０を制御してもよい。更に、モータ制御装置３０には、モータ４０、センサ５０、及びエンコーダ６０だけでなく、入出力機器などが接続されていてもよい。
【００３１】
コントローラ２０は、第１の産業機器の一例であり、モータ制御装置３０は、第２の産業機器の一例である。このため、本実施形態でコントローラ２０と記載した箇所は、第１の産業機器と読み替えることができ、本実施形態でモータ制御装置３０と記載した箇所は、第２の産業機器と読み替えることができる。
【００３２】
産業機器の意味は先述した通りであり、第２の産業機器は、第１の産業機器と通信可能に接続される機器である。第１の産業機器は、第２の産業機器の状態に関する状態データを受信する側の機器（状態データの送信先の機器）であり、第２の産業機器は、状態データを送信する側の機器（状態データの送信元の機器）である。第２の作業機器は、状態データを生成する機器、又は、動作の解析対象の機器ということもできる。
【００３３】
本実施形態では、第１の産業機器がマスタ機器であり、第２の産業機器は、スレーブ機器である場合を説明するが、第１の産業機器と第２の産業機器は、マスタとスレーブの関係になくてもよい。別の言い方をすれば、第１の作業機器と第２の産業機器との間には、主従関係又は上下関係が存在しなくてもよい。
【００３４】
マスタ機器とは、スレーブ機器を制御する機器であり、スレーブ機器に対して指令を送信する機器である。別の言い方をすれば、マスタ機器は、スレーブ機器から動作状態を取得する機器である。スレーブ機器とは、マスタ機器からの指令に基づいて動作する機器であり、マスタ機器により制御される機器である。別の言い方をすれば、スレーブ機器は、マスタ機器に対して自身の動作状態を送信する機器である。
【００３５】
本実施形態では、モータ制御装置３０は、コントローラ２０からの指令に基づいて動作するので、コントローラ２０がマスタ機器に相当し、モータ制御装置３０がスレーブ機器に相当する。通信システム１に複数のコントローラ２０が含まれる場合に、コントローラ２０間に主従関係を設ける場合には、マスタの役割を果たすコントローラ２０がマスタ機器に相当し、スレーブの役割を果たすコントローラ２０がスレーブ機器に相当する。
【００３６】
例えば、モータ制御装置３０は、ＣＰＵ３１、記憶部３２、及び通信部３３を含む。ＣＰＵ３１、記憶部３２、及び通信部３３の物理的構成は、それぞれＣＰＵ１１、記憶部１２、及び通信部１３と同様である。なお、モータ制御装置３０は、モータ制御などの特定用途向けの集積回路（ＡＳＩＣ）を有していてもよい。モータ制御装置３０は、コントローラ２０から受信した指令に基づいて、電力線で接続されたモータ４０に対する電圧を制御する。モータ４０は、回転式であってもよいしリニア式であってもよい。
【００３７】
センサ５０は、物理量を検出可能なセンサであればよく、例えば、トルクセンサ、温度センサ、力センサ、又はモーションセンサなどである。エンコーダ６０は、モータ４０の位置又は速度を検出する機器であり、例えば、光学式又は磁気式のモータエンコーダである。エンコーダ６０もセンサの一種である。モータ制御装置３０は、センサ５０により検出された物理量やエンコーダ６０により検出されたフィードバック速度を、任意のタイミングでコントローラ２０に送信する。
【００３８】
なお、データ収集装置１０、コントローラ２０、及びモータ制御装置３０の各々に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して供給されるようにしてもよい。また、データ収集装置１０、コントローラ２０、及びモータ制御装置３０の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力部（例えば、ＵＳＢ端子）が含まれていてもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して供給されるようにしてもよい。
【００３９】
［２．通信システムの概要］
通信システム１では、コントローラ２０とモータ制御装置３０とが通信する。コントローラ２０は、モータ制御装置３０に対して指令を送信し、モータ制御装置３０は、指令に基づいてモータ４０を動作させる。コントローラ２０とモータ制御装置３０とは、いわゆるフィールドネットワークによって接続され、任意の通信プロトコルを利用して通信が行われる。本実施形態の通信システム１は、同期通信を利用可能であり、コントローラ２０は、同期通信を利用して、モータ制御装置３０に指令を送信する。
【００４０】
同期通信とは、送信側の機器がデータを送信するタイミングと、受信側の機器がデータを受信するタイミングと、を合わせる通信方式である。同期通信では、データ通信のリクエストが送信されてからレスポンスを受信するまでの間は、原則として他の処理は実行されない。このため、送信側の機器は、受信側の機器にデータを送信した後は、レスポンスを受信するのを待機する。受信側の機器は、送信側の機器からデータを受信すると、すぐに処理を実行し、送信側の機器にレスポンスとして処理結果を返す。送信側の機器は、処理結果を受信すると、次の処理に移行する。同期通信が行われない場合には、非同期通信を利用して通信が行われる。
【００４１】
非同期通信とは、送信側の機器がデータを送信するタイミングと、受信側の機器がデータを受信するタイミングと、を合わせずに通信を行う通信方式である。非同期通信では、データ通信のリクエストが送信されてからレスポンスを受信するまでの間に、他の処理を実行可能である。このため、非同期通信では、送信側の機器は、受信側の機器にデータを送信してからレスポンスを受信するまでの間に、他の処理を実行可能である。また、非同期通信では、受信側の機器は、送信側の機器からデータを受信しても、すぐに処理を実行するとは限らない。受信側の機器は、所定の条件が充足されるまで処理の実行を待機したり、同期通信の処理を優先して実行したりする。
【００４２】
本実施形態では、同期通信を利用して送信される指令を同期タスクと記載し、非同期通信を利用して送信される指令を非同期タスクと記載する。例えば、コントローラ２０がモータ制御装置３０に同期タスクを送信した場合、コントローラ２０は、モータ制御装置３０からのレスポンスを受信するまでは、他の処理を実行せずに待機する。モータ制御装置３０は、コントローラ２０から同期タスクを受信すると、すぐに同期タスクを実行し、コントローラ２０に処理結果を送信する。
【００４３】
一方、コントローラ２０がモータ制御装置３０に非同期タスクを送信した場合、コントローラ２０は、モータ制御装置３０からのレスポンスを受信しなくても、他の処理を実行可能となる。例えば、コントローラ２０は、非同期タスクのレスポンスを受信するまでの間に、別の非同期タスクを送信したり、同期タスクを送信したりすることができる。モータ制御装置３０は、コントローラ２０から非同期タスクを受信した場合、すぐに非同期タスクを実行するとは限らない。
【００４４】
例えば、非同期タスクを実行するための条件が設定されている場合、モータ制御装置３０は、当該条件が充足されるまで、非同期タスクを実行しない。他にも例えば、タスクに優先順位が付けられている場合、モータ制御装置３０は、非同期タスクよりも優先順位の高い他のタスクを優先して実行し、非同期タスクの実行を後回しにする。モータ制御装置３０は、非同期タスクを実行すると、コントローラ２０に処理結果を送信する。
【００４５】
なお、データ収集装置１０とコントローラ２０とは、コントローラ２０とモータ制御装置３０を接続するフィールドネットワークと同様に、同期通信が可能であってもよいし、特に同期通信が利用されなくてもよい。データ収集装置１０−コントローラ２０間の通信プロトコルと、コントローラ２０−モータ制御装置３０間の通信プロトコルと、は同じであってもよいし、異なっていてもよい。
【００４６】
例えば、コントローラ２０は、同期通信を利用して、モータ４０の動作指令を同期タスクとして送信する。モータ制御装置３０は、動作指令を受信するとすぐに実行する。本実施形態では、モータ制御装置３０の記憶部３２が複数の記憶領域に分けられており、モータ制御装置３０は、コントローラ２０から受信した動作指令を実行すると、先述したフィードバック速度などの状態データを生成して所定の記憶領域に格納する。本実施形態では、この記憶領域を第１の記憶領域という。
【００４７】
第１の記憶領域は、状態データが格納される記憶領域である。別の言い方をすれば、第１の記憶領域は、動作指令が実行された場合に更新対象となる記憶領域ということもできる。第１の記憶領域は、任意のメモリアドレスの領域であってよく、例えば、メモリアドレス１つ分の領域であってもよいし、複数のメモリアドレスにまたがる領域であってもよい。また、第１の記憶領域のメモリサイズは、任意であってよく、格納される状態データのデータサイズに応じて定めておけばよい。例えば、第１の記憶領域のメモリアドレス及びメモリサイズは、ユーザが任意のアドレス及びサイズを指定可能であってよい。以降、第１の記憶領域を元データ領域と記載する。このため、本実施形態で元データ領域と記載した箇所は、第１の記憶領域と読み替えることができる。
【００４８】
本実施形態では、記憶部２２に複数の元データ領域が存在する場合を説明するが、元データ領域は、１つだけであってもよい。また、１つの元データ領域に対し、複数種類の状態データが格納されてもよいが、本実施形態では、１つの元データ領域に対し、１種類の状態データが格納されるものとする。このため、状態データの種類と元データ領域とは、１対１の関係にある。
【００４９】
図２は、元データ領域に格納される状態データの一例を示す図である。ここでは、モータ４０の位置を決めるための状態データ（いわゆる位置決め系データ）を例に挙げて説明する。図２の横軸は時間軸であり、位置指令速度は、コントローラ２０からの動作指令であり、モータ４０の位置及び速度に関する指令である。ＣＯＩＮ信号は、指令が示す動作を終了したと判定された場合にオンになる。図２の例では、位置指令速度は、モータ４０が停止した状態から一定速度にさせた後に、徐々に速度を落として停止させる指令を示しており、ＣＯＩＮ信号は、エンコーダ６０により検出された位置偏差が閾値未満になり、モータ４０が停止した場合にオンになる。
【００５０】
図２に示すように、整定時間は、位置指令速度に対し、モータ４０が実際の動作をするまでの時間差であり、例えば、位置指令速度が示す停止のタイミングと、モータ４０が実際に停止したタイミングと、の差を示す。整定時間は、位置決め整定時間と呼ばれることもある。オーバシュート量は、モータ４０を停止させるときに所定の位置を行ったり来たりしながら停止した場合の移動分である。残留振動周波数は、モータ４０を停止させるときに所定の位置を行ったり来たりした場合の位置偏差の周波数である。ＣＯＩＮ幅は、ＣＯＩＮ信号がオンになったときの位置偏差に基づく幅である。これら整定時間、オーバシュート量、残留振動周波数、及びＣＯＩＮ幅は、状態データの一例である。
【００５１】
例えば、モータ制御装置３０は、動作指令を実行すると、センサ５０又はエンコーダ６０から検出された信号に基づいて、上記のような状態データを生成し、元データ領域に格納する。元データ領域に格納された状態データは、モータ制御装置３０の動作に基づいて、繰り返し更新される。例えば、モータ制御装置３０が周期的に制御される場合には、状態データは、制御周期が訪れるたびに最新の値に書き換えられる。このため、故障予知や故障診断などの目的で、所望のタイミングにおけるモータ制御装置３０の状態データをコントローラ２０に取得させる場合、コントローラ２０は、所望のタイミングの状態データが更新される前に、元データ領域の状態データを読み出す必要がある。
【００５２】
もし仮に、コントローラ２０が、同期通信を利用して、元データ領域に格納された状態データの読み出し要求を送信し、モータ制御装置３０に同期タスクとして実行させた場合、同期タスクはすぐに実行されるので、所望のタイミングの状態データを取得することができる。
【００５３】
しかしながら、同期通信は、モータ４０の動作に直結する重要なデータの送信で利用されることが多く、状態データのために同期通信を利用できない（同期通信の空きがない）ことがある。例えば、状態データは、主に故障予知や故障診断に利用され、動作指令等に比べると緊急性及び重要度が低いので、後でゆっくりと取得すればよい。このため、緊急性及び重要度がより高い他のデータのために、同期通信を利用させた方がよいと考えられる。また、所望のタイミングのトレースデータを取得可能な技術も存在するが、トレースデータは比較的データサイズが大きいので、ある一時点だけの状態データを取得するためにトレースデータの技術を利用する必要性は低いと思われる。
【００５４】
一方、コントローラ２０が、非同期通信を利用して読み出し要求を送信したとすると、モータ制御装置３０は、送信要求を非同期タスクとして実行する。先述したように、非同期タスクは、いつ実行されるか分からないので、当該非同期タスクが実行される前に、元データ領域に格納された状態データが更新され、所望のタイミングの状態データを取得できないことがある。
【００５５】
そこで、本実施形態では、元データ領域とは別に、所望のタイミングの状態データをコピーして保持するための記憶領域が、モータ制御装置３０に用意されている。本実施形態では、この記憶領域を第２の記憶領域という。
【００５６】
第２の記憶領域は、元データ領域の状態データがコピーされる記憶領域である。別の言い方をすれば、第２の記憶領域は、元データ領域の状態データのコピー先の記憶領域である。第２の記憶領域は、動作指令が実行されても更新されず、データ内容が保持される。第２の記憶領域は、任意のメモリアドレスの領域であってよく、例えば、メモリアドレス１つ分の領域であってもよいし、複数のメモリアドレスにまたがる領域であってもよい。また、第２の記憶領域のメモリサイズは、任意であってよく、コピーされる状態データのデータサイズに応じて定めておけばよい。例えば、第２の記憶領域のメモリアドレス及びメモリサイズは、ユーザが任意のアドレス及びサイズを指定可能であってよい。以降、第２の記憶領域をデータコピー領域と記載する。このため、本実施形態でデータコピー領域と記載した箇所は、第２の記憶領域と読み替えることができる。
【００５７】
本実施形態では、記憶部２２に複数のデータコピー領域が存在する場合を説明するが、データコピー領域は、１つだけであってもよい。また、本実施形態では、元データ領域ごとに、データコピー領域が用意されており、元データ領域とデータコピー領域とは、１対１の関係にある場合を説明するが、１つのデータコピー領域が複数の元データ領域で共用されてもよい。例えば、１つのデータコピー領域に対し、複数の元データ領域の各々の状態データが一度にコピーされてもよいし、複数の元データ領域の各々の状態データが後退に１つのデータコピー領域を使用してもよい。これとは逆に、１つの元データ領域の状態データが複数のデータコピー領域に展開されてもよい。
【００５８】
本実施形態では、コントローラ２０は、同期通信を利用して、元データ領域の読み出し指示ではなくコピー指示を送信し、同期タスクとして実行させる。コピー指示は、元データ領域の状態データをデータコピー領域にコピーするための指示である。別の言い方をすれば、コピー指示は、状態データを保持又は確保するための指示である。コピー指示は、所定形式のデータが送信されることによって行われるようにすればよく、コピー指示であることを識別する識別子を含む。コピー指示は、ある時点の状態データをコピーして保持するための指示なので、データラッチトリガと呼ばれることもある。
【００５９】
例えば、コピー指示は、コピー対象の状態データを識別可能な情報が含まれており、例えば、コピー元の元データ領域のメモリアドレス、状態データの種類若しくは名前、又はコピー先のデータコピー領域のメモリアドレスが含まれている。なお、全ての状態データが強制的にコピー対象になり、コピー対象の状態データを個別に特定する必要がない場合には、これらの情報は、コピー指示に含まれていなくてもよい。
【００６０】
モータ制御装置３０は、コピー指示を同期タスクとして処理し、元データ領域の状態データをデータコピー領域にコピーする。これにより、元データ領域の状態データが更新されたとしても、更新前の（即ち、所望のタイミングでの）状態データがデータコピー領域に保持されたままとなる。データコピー領域にコピーされた状態データは、その後の任意のタイミングで送信される。モータ制御装置３０は、同期タスクとして状態データを送信するのでなく、状態データをコピーするだけなので、そのタイミングにおける通信負荷の増大を回避することができるようになっている。以降、通信システム１の具体的な処理及び機能について説明する。
【００６１】
［３．通信システムで実行される処理］
図３は、通信システム１で実行される処理を示す図である。図３に示す処理は、ＣＰＵ１１，２１，３１がそれぞれ記憶部１２，２２，３２に記憶されたプログラムに従って動作することによって実行される。以降説明する処理は、後述する図４に示す機能ブロックにより実行される処理の一例である。なお、図３では、コントローラ２０からモータ制御装置３０へのモータ４０の動作指令やそれに対するレスポンス等については省略している。
【００６２】
図３では、２つの元データ領域及びデータコピー領域を示しているが、元データ領域及びデータコピー領域は３つ以上存在してもよい。本実施形態では、モータ制御装置３０は、制御周期ごとに、コントローラ２０から受信した動作指令に基づいてモータ４０を制御し、元データ領域に格納された状態データを更新する。図２の例では、第１の元データ領域に格納される第１の状態データを「１−ｎ」の符号で示し、第２の元データ領域に格納される第２の状態データを「２−ｎ」の符号で示す。ｎは、０以上の整数であり、制御周期を識別する数値である。ｎが大きくなるほど時間的には後の制御周期となる。「１−０」〜「１−４」及び「２−０」〜「２−４」の符号で示すように、第１の状態データ及び第２の状態データの各々は、制御周期が訪れるたびに更新される。
【００６３】
図３に示すように、データ収集装置１０は、スケジューラに基づいて、コントローラ２０とのポーリングを開始する（Ｓ１００）。スケジューラは、ポーリングを開始すべき時間が訪れると「オン」になる。スケジューラが「オン」になるタイミングは、ユーザが指定可能であり、予め記憶部１２に記憶されているものとする。他にも例えば、スケジューラは、コントローラ２０でアラームが発生した場合などのように任意のタイミングで「オン」になってよい。
【００６４】
ポーリングは、定期的に行われ、コントローラ２０の記憶部２２に記憶されたコピー完了ステータスが参照される。コピー完了ステータスは、コピー指示の送信が完了したか否かを示す情報である。別の言い方をすれば、コピー完了ステータスは、元データ領域からデータコピー領域へのコピーが完了したか否かを示す情報である。コピー完了ステータスは、初期値が「未完了」であり、コピー指示が送信されると「完了」に変化する。
【００６５】
図２の例では、ポーリングが開始された時点では、まだコピー指示が送信されていない。コントローラ２０は、コピー指示の送信タイミングが訪れると、同期通信を利用して、モータ制御装置３０にコピー指示を送信する（Ｓ１０１）。Ｓ１０１においては、コントローラ２０は、ＣＰＵ２１やＡＳＩＣ等を利用して計時処理を実行し、送信タイミングが訪れたか否かを判定する。図２の例では、「制御周期１」において送信タイミングが訪れる場合を示している。
【００６６】
本実施形態では、コピー指示の送信タイミングは、ユーザが任意のタイミングを指定可能であるものとする。例えば、ユーザは、特定のイベントが発生することを送信タイミングとして指定してもよい。イベントとは、通信システム１において発生する事象であり、例えば、製造において発生するイベント、アラームが発生すること、特定のアラームコードのアラームが発生すること、コントローラ２０又はモータ制御装置３０の特定のスイッチがオンになること、トルク波形が所定の特徴を示すこと、又はフィードバック速度が所定の範囲になることなどである。また例えば、ユーザは、特定の制御周期を送信タイミングとして指定してもよいし、制御周期内での特定のタイミングを送信タイミングとして指定してもよい。
【００６７】
コントローラ２０は、コピー指示を送信すると、コピー完了ステータスの値を「完了」に変更する（Ｓ１０２）。なお、コントローラ２０は、送信タイミングが訪れたと判定された後にコピー完了ステータスを「完了」にすればよく、実際にコピー指示を送信する前にコピー完了ステータスを「完了」にしてもよい。
【００６８】
モータ制御装置３０は、コピー指示を受信すると、同期タスクとして処理し、元データ領域に格納された状態データをデータコピー領域にコピーする（Ｓ１０３）。Ｓ１０３においては、モータ制御装置３０は、コピー指示を受信してすぐに、第１の元データ領域に格納された第１の状態データを第１のデータコピー領域にコピーし、第２の元データ領域に格納された第２の状態データを第２のデータコピー領域にコピーする。これにより、次の「制御周期２」が訪れても、「制御周期１」における第１の状態データ１−１と第２の状態データ２−１が保持されて、後でゆっくりと読み出すことができる。
【００６９】
一方、データ収集装置１０においては、定期的にポーリングが行われており（Ｓ１０４）、データ収集装置１０は、コントローラ２０のコピー完了ステータスが「完了」であることを検知すると、コントローラ２０にデータ要求を送信する（Ｓ１０５）。データ要求は、状態データの送信を要求するための指示である。別の言い方をすれば、データ要求は、データコピー領域の読み出し要求である。データ要求は、所定形式のデータが送信されることによって行われるようにすればよく、データ要求であることを示す識別子を含む。
【００７０】
例えば、データ要求は、読み出し対象の状態データを識別可能な情報が含まれており、例えば、読み出し対象の状態データの名前又はデータコピー領域のメモリアドレスが含まれている。なお、全てのデータコピー領域の状態データが強制的に読み出され、読み出し対象の状態データを個別に特定する必要がない場合には、これらの情報は、データ要求に含まれていなくてもよい。図２の例では、第１のデータコピー領域の状態データ１−１と、第２のデータコピー領域の状態データ２−１と、が順番に読み出されるので、Ｓ１０５において送信されるデータ要求には、例えば、第１のデータコピー領域のメモリアドレスが含まれる。
【００７１】
コントローラ２０は、データ要求を受信すると、非同期通信を利用して、モータ制御装置３０にデータ要求を転送する（Ｓ１０６）。モータ制御装置３０は、データ要求を受信すると、非同期タスクとして処理し、第１のデータコピー領域に格納された状態データ１−１をコントローラ２０に送信する（Ｓ１０７）。Ｓ１０７においては、モータ制御装置３０は、データ要求を受信しても、すぐに状態データを送信するとは限らないが、第１のデータコピー領域に格納された状態データ１−１は、更新されずに保持されているので、状態データ１−１の送信に時間がかかったとしても内容は変わらない。
【００７２】
コントローラ２０は、状態データ１−１を受信すると、データ収集装置１０に転送する（Ｓ１０８）。なお、コントローラ２０は、状態データ１−１を転送するときに自身の記憶部２２に格納してもよい。データ収集装置１０は、状態データ１−１を受信して、記憶部３２に記録する（Ｓ１０９）。以降、Ｓ１１０〜Ｓ１１４に示すように、Ｓ１０５〜Ｓ１０９と同様にして、第２のデータコピー領域に格納された状態データ２−１のデータ要求が送信され、状態データ２−１が送信される。
【００７３】
なお、コピー完了ステータスは、任意のタイミングで「未完了」に戻るものとする。例えば、コントローラ２０がデータ要求を受信した場合に「未完了」に戻ってもよいし、コントローラ２０が状態データを転送した場合に「未完了」に戻ってもよい。その後、次の送信タイミングが訪れた場合には、Ｓ１０１〜Ｓ１０３と同様にして、状態データがコピーされ、その後に、Ｓ１０４〜Ｓ１１４と同様にして、コピーされた状態データが送信される。
【００７４】
［４．通信システムで実現される機能］
図４は、通信システム１で実現される機能を示す機能ブロック図である。ここでは、データ収集装置１０、コントローラ２０、及びモータ制御装置３０の各々において実現される機能について説明する。
【００７５】
［４−１．コントローラにおいて実現される機能］
図４に示すように、コントローラ２０では、データ記憶部２００、送信タイミング判定部２０１、コピー指示送信部２０２、データ要求送信部２０３、及びデータ転送部２０４が実現される。データ記憶部２００は、記憶部２２を主として実現され、送信タイミング判定部２０１、コピー指示送信部２０２、データ要求送信部２０３、及びデータ転送部２０４は、ＣＰＵ２１を主として実現される。
【００７６】
［データ記憶部］
データ記憶部２００は、モータ制御装置３０を制御するために必要なデータを記憶する。例えば、データ記憶部２００は、モータ制御装置３０に対する指令内容を記憶する。指令内容は、プログラム又はパラメータに定義されていてもよく、データ記憶部２００は、当該プログラム又はパラメータを記憶してもよい。また例えば、データ記憶部２００は、コントローラ２０内での時間を示す時間情報を記憶する。時間情報は、タイマ又はカウンタと呼ばれることもある。コントローラ２０は、計時処理により、時間情報を更新する。
【００７７】
また例えば、データ記憶部２００は、状態データを取得するために必要なデータを記憶する。例えば、データ記憶部２００は、コピー指示の送信タイミングを記憶する。本実施形態では、ユーザがコピー指示の送信タイミングを指定するので、データ記憶部２００は、ユーザにより指定された送信タイミングを記憶する。例えば、ユーザがアラームコードを指定した場合には、アラームコードが送信タイミングとして記憶される。また例えば、データ記憶部２００は、先述したコピー完了ステータスを記憶する。また例えば、データ記憶部２００は、モータ制御装置３０から受信した状態データを記憶する。
【００７８】
また例えば、データ記憶部２００は、トレースデータを取得するために必要なデータを記憶する。例えば、トレースデータには、センサ５０又はエンコーダ６０により検出された物理量の時系列的な変化が示される。トレースデータは、動作のログ（履歴）を示すのでロギングデータと呼ばれることもある。トレースデータは、状態データの時系列的な変化であってもよい。例えば、データ記憶部２００は、トレースデータの計測条件を記憶する。計測条件は、トレースデータの取得時に参照される条件であり、例えば、トレースデータの取得を開始するトリガ条件、トレース対象となる軸、トレース対象の情報（信号）の種類、サンプリング周期、又はトレース期間などである。また例えば、データ記憶部２００は、モータ制御装置３０から受信したトレースデータを記憶する。
【００７９】
なお、データ記憶部２００が記憶するデータは、上記の例に限られない。例えば、データ記憶部２００は、コントローラ２０に接続された機器の構成を示す機器情報を記憶してもよいし、データ収集装置１０及びモータ制御装置３０のＩＰアドレスを記憶してもよい。
【００８０】
［送信タイミング判定部］
送信タイミング判定部２０１は、ユーザにより指定された、コピー指示の送信タイミングが訪れたか否かを判定する。例えば、ユーザが送信タイミングの時間を直接指定する場合、送信タイミング判定部２０１は、データ記憶部２００に記憶された時間情報に基づいて、送信タイミングが訪れたか否かを判定する。送信タイミング判定部２０１は、時間経過とともに更新される時間情報が示す数値が送信タイミングを示したか否かを判定する。送信タイミング判定部２０１は、時間情報が示す数値が送信タイミングを示した場合に、送信タイミングが訪れたと判定する。
【００８１】
また例えば、ユーザが送信タイミングのイベントを指定する場合、送信タイミング判定部２０１は、ユーザが指定したイベントが発生したか否かを判定することによって、送信タイミングが訪れたか否かを判定する。例えば、送信タイミング判定部２０１は、アラームが発生した場合に送信タイミングが訪れたと判定してもよいし、ユーザが指定したアラームコードのアラームが発生した場合に送信タイミングが訪れたと判定してもよい。他のイベントの例については先述した通りであり、送信タイミング判定部２０１は、ユーザが指定したイベントに応じた判定処理を実行すればよい。
【００８２】
［コピー指示送信部］
コピー指示送信部２０２は、コントローラ２０は、モータ制御装置３０に、コピー指示を送信する。本実施形態では、通信システム１は同期通信可能なので、コピー指示送信部２０２は、モータ制御装置３０に、同期通信を利用してコピー指示を送信する。コピー指示送信部２０２は、コピー指示を、同期タスクとしてモータ制御装置３０に実行させる。なお、通信システム１が同期通信を利用しない場合には、コピー指示送信部２０２は、特に同期通信を利用せずに、コピー指示を送信する。
【００８３】
本実施形態では、ユーザが予めコピー指示の送信タイミングを指定するので、コピー指示送信部２０２は、送信タイミングが訪れたと判定された場合に、モータ制御装置３０に、コピー指示を送信する。別の言い方をすれば、コピー指示送信部２０２は、送信タイミングが訪れたと判定されたことに応じて（送信タイミングが訪れたと判定されることを条件又はトリガとして）、コピー指示を送信する。コピー指示送信部２０２は、送信タイミングが訪れると判定されない場合は、モータ制御装置３０にコピー指示を送信せず、送信タイミングが訪れたと判定されるまで、コピー指示の送信を待機する。
【００８４】
なお、コピー指示の送信タイミングを予め定めておかない場合には、例えば、コピー指示送信部２０２は、データ収集装置１０などのコンピュータから所定の指示を受信した場合にコピー指示を送信してもよいし、ユーザが所定の操作をした場合にコピー指示を送信してもよい。
【００８５】
［データ要求送信部］
データ要求送信部２０３は、モータ制御装置３０に、データ要求を送信する。本実施形態では、データ要求送信部２０３は、モータ制御装置３０に、非同期通信を利用してデータ要求を送信する。データ要求送信部２０３は、データ要求を、非同期タスクとしてモータ制御装置３０に実行させる。なお、通信システム１が同期通信を利用しない場合には、データ要求送信部２０３は、特に同期通信／非同期通信に関係なく、コピー指示を送信する。
【００８６】
本実施形態では、データ収集装置１０がコントローラ２０にデータ要求を送信するので、データ要求送信部２０３は、モータ制御装置３０に、データ収集装置１０から受信したデータ要求を転送する。即ち、コントローラ２０は、データ収集装置１０とモータ制御装置３０との間に入っているので、データ要求送信部２０３は、データ収集装置１０からモータ制御装置３０へのデータ要求を中継する。
【００８７】
なお、データ収集装置１０がデータ要求を送信するのではなく、コントローラ２０の判断でデータ要求が送信されてもよい。即ち、コントローラ２０は、データ収集装置１０からのデータ要求を転送するのではなく、自発的にデータ要求を送信してもよい。例えば、データ要求送信部２０３は、コピー指示が送信されてから所定時間が経過した場合に、データ要求を送信してもよい。また例えば、ユーザがデータ要求のタイミングを指定してもよく、データ要求送信部２０３は、ユーザにより指定されたタイミングが訪れた場合に、データ要求を送信してもよい。他にも例えば、データ要求送信部２０３は、通信のトラフィック量を取得し、トラフィック量が閾値未満の場合に（通信負荷が軽いときに）データ要求を送信してもよい。
【００８８】
［データ転送部］
データ転送部２０４は、データ収集装置１０に、モータ制御装置３０から受信した状態データを転送する。即ち、データ転送部２０４は、モータ制御装置３０からデータ収集装置１０への状態データを中継する。データ転送部２０４は、モータ制御装置３０から受信した状態データを、データ収集装置１０に転送しつつ、データ記憶部２００に記録してもよい。なお、データ収集装置１０がデータ要求を送信するのではなく、コントローラ２０の判断でデータ要求が送信される場合には、データ転送部２０４を省略して状態データの転送が行われないようにしてもよいし、この場合にも状態データの転送が行われるようにしてもよい。
【００８９】
［４−２．モータ制御装置において実現される機能］
図４に示すように、モータ制御装置３０では、データ記憶部３００、更新部３０１、コピー部３０２、状態データ送信部３０３、生成部３０４、及びトレースデータ送信部３０５が実現される。データ記憶部３００は、記憶部３２を主として実現され、更新部３０１、コピー部３０２、状態データ送信部３０３、生成部３０４、及びトレースデータ送信部３０５は、ＣＰＵ３１を主として実現される。
【００９０】
［データ記憶部］
データ記憶部３００は、元データ領域とデータコピー領域を有する。本実施形態では、これらが複数あるので、データ記憶部３００は、複数の記憶領域に分けられており、複数の元データ領域の各々と、複数のデータコピー領域の各々と、が関連付けられている。元データ領域とデータコピー領域との対応関係は、予めデータ記憶部３００に記憶されており、どの元データ領域がコピー元になり、どのデータコピー領域がコピー先になるかは、予め定められているものとする。例えば、これらのメモリアドレスの対応関係が予め定められている。また例えば、状態データの種類と、格納すべきデータ領域と、の対応関係も予めデータ記憶部３００に記憶されているものとする。
【００９１】
例えば、データ記憶部３００は、モータ４０を制御するために必要なデータを記憶する。例えば、データ記憶部３００は、モータ４０を制御するためのファームウェアや各種パラメータを記憶する。また例えば、データ記憶部３００は、モータ制御装置３０内での時間を示す時間情報を記憶する。モータ制御装置３０は、計時処理により、時間情報を更新する。
【００９２】
また例えば、データ記憶部３００は、状態データを取得するために必要なデータを記憶する。状態データが計算を要するデータなのであれば、データ記憶部３００はその計算式を記憶する。また例えば、データ記憶部３００は、トレースデータを取得するために必要なデータを記憶する。例えば、データ記憶部２００は、トレースデータの計測条件を記憶する。なお、データ記憶部２００が記憶するデータは、上記の例に限られない。例えば、データ記憶部３００は、コントローラ２０のＩＰアドレスを記憶してもよいし、制御周期や伝送周期といった情報を記憶してもよい。
【００９３】
［更新部］
更新部３０１は、自身の動作に基づいて、元データ領域の状態データを更新する。状態データの更新とは、状態データの内容を最新の状態に上書きすることである。例えば、更新部３０１は、モータ制御装置３０の内部状態又はセンサ５０若しくはエンコーダ６０の検出信号に基づいて、状態データを更新する。本実施形態では、更新部３０１が定期的に状態データを更新する場合を説明するが、更新部３０１は、不定期的に状態データを更新してもよい。不定期的に状態データを更新する場合には、何らかのトリガとなる条件が満たされた場合に更新されるようにすればよい。
【００９４】
本実施形態では、モータ制御装置３０の制御周期が定められているので、更新部３０１は、制御周期が訪れるたびに、元データ領域の状態データを更新する。例えば、更新部３０１は、コントローラ２０から受信した動作指令に基づいてモータ４０を動作させた場合に、モータ制御装置３０の内部状態又はセンサ５０若しくはエンコーダ６０の検出信号に基づいて、状態データの最新の値を取得し、元データ領域の状態データを更新する。
【００９５】
本実施形態では、モータ制御装置３０には、センサ５０が接続されているので、更新部３０１は、センサ５０の検出結果を、元データ領域に格納する。更新部３０１は、センサ５０の検出信号の波形を、そのまま状態データとして元データ領域に格納してもよいし、センサ５０の検出信号に基づいて計算した値を、状態データとして元データ領域に格納してもよい。
【００９６】
例えば、状態データが整定時間である場合、更新部３０１は、位置指令速度が示す速度が所定範囲（例えば、０）になってから、ＣＯＩＮ信号が立ち上がるまでの時間を計測して元データ領域に格納する。また例えば、状態データがオーバシュート量である場合、更新部３０１は、位置偏差に基づいて、モータ４０が停止位置を超えた分の積算量を計算して元データ領域に格納する。また例えば、状態データが残留振動周波数である場合、更新部３０１は、位置偏差が示す波形の周波数を計算して元データ領域に格納する。また例えば、状態データがＣＯＩＮ幅である場合、更新部３０１は、ＣＯＩＮ信号が立ち上がった場合の位置偏差に基づいて、ＣＯＩＮ幅の長さを計算して元データ領域に格納する。
【００９７】
本実施形態では、データ記憶部に複数の元データ領域が設定されているので、更新部３０１は、複数の元データ領域の各々の状態データを更新する。個々の状態データの更新方法については、上述した通りである。更新部３０１は、複数の状態データの各々を取得し、複数の状態データをそれぞれ対応する元データ領域に格納する。
【００９８】
［コピー部］
コピー部３０２は、コピー指示を受信した場合に、データコピー領域に、元データ領域の状態データをコピーする。別の言い方をすれば、コピー部３０２は、コピー指示を受信したことに応じて（コピー指示を受信したことを条件又はトリガとして）、元データ領域の状態データをコピーする。コピー部３０２は、コピー指示を受信しない場合は、元データ領域の状態データをコピーせず、コピー指示が受信されるまで、元データ領域の状態データのコピーを待機する。
【００９９】
例えば、コピー対象となる元データ領域のメモリアドレスがコピー指示に含まれている場合、コピー部３０２は、コピー指示に含まれるメモリアドレスに基づいて、コピー対象となる元データ領域を特定する。また例えば、コピー対象となる状態データの種類がコピー指示に含まれている場合には、コピー部３０２は、コピー指示に含まれる種類に基づいて、コピー対象となる状態データを特定する。
【０１００】
本実施形態では、センサ５０の検出結果が状態データに格納されるので、コピー部３０２は、センサ５０の検出結果をデータコピー領域にコピーする。また、本実施形態では、コピー部３０２は、複数の元データ領域の各々の状態データを、当該元データ領域に関連付けられた状態データコピー領域にコピーする。コピー部３０２は、複数の元データ領域の各々の状態データを一度にコピーしてもよいし、コピー指示を受信するたびに、各元データ領域の状態データを個別にコピーしてもよい。
【０１０１】
［状態データ送信部］
状態データ送信部３０３は、コントローラ２０に、データコピー領域の状態データを送信する。本実施形態では、状態データ送信部３０３は、データ要求を受信した場合に、データコピー領域のデータを送信する。別の言い方をすれば、状態データ送信部３０３は、データ要求を受信したことに応じて（データ要求を受信したことを条件又はトリガとして）、元データ領域の状態データを送信する。コピー部３０２は、読出し要求を受信しない場合は、元データ領域の状態データを送信せず、読出し要求が受信されるまで、元データ領域の状態データの送信を待機する。
【０１０２】
なお、モータ制御装置３０は、自発的に状態データを送信してもよい。この場合、状態データ送信部３０３は、任意のタイミングで状態データを送信すればよい。例えば、状態データ送信部３０３は、データコピー領域に状態データがコピーされてから一定時間が経過した場合に、状態データを送信してもよい。また例えば、状態データ送信部３０３は、制御周期内の所定タイミングが訪れた場合に、状態データを送信してもよい。また例えば、状態データ送信部３０３は、通信のトラフィック量が閾値未満になった場合に状態データを送信してもよいし、ＣＰＵ使用率が閾値未満になった場合に状態データを送信してもよい。
【０１０３】
例えば、送信対象となるデータコピー領域のメモリアドレスがデータ要求に含まれている場合、状態データ送信部３０３は、データ要求に含まれるメモリアドレスに基づいて、送信対象となるデータコピー領域を特定する。また例えば、送信対象となる状態データの種類がデータ要求に含まれている場合には、状態データ送信部３０３は、データ要求に含まれる種類に基づいて、送信対象となる状態データを特定する。
【０１０４】
本実施形態では、センサ５０の検出結果がデータコピー領域に格納されるので、状態データ送信部３０３は、データコピー領域に格納されたセンサ５０の検出結果を送信する。本実施形態では、モータ制御装置３０は状態データだけでなくトレースデータも送信可能なので、状態データ送信部３０３は、トレースデータ送信部３０５とは別に、データコピー領域のデータを送信する。
【０１０５】
本実施形態では、データ記憶部２００に複数のデータコピー領域が設定されるので、状態データ送信部３０３は、コントローラ２０に、複数のデータコピー領域の各々の状態データを送信する。例えば、状態データ送信部３０３は、複数のデータコピー領域の各々の状態データを一度に送信してもよいし、データ要求を受信するたびに、各データコピー領域の状態データを個別に送信してもよい。
【０１０６】
［生成部］
生成部３０４は、自身の動作状況を示すトレースデータを生成する。例えば、生成部３０４は、モータ制御装置３０の内部状態又はセンサ５０若しくはエンコーダ６０により検出された物理量に基づいて、トレースデータを生成する。
【０１０７】
本実施形態では、生成部３０４は、コントローラ２０からトレースデータ生成指示を受信した場合に、トレースデータを生成する。トレースデータ生成指示は、トレースデータの生成（取得）を開始するための指示である。トレースデータ生成指示は、所定形式のデータが送信されることによって行われるようにすればよく、トレースデータ生成指示であることを識別する識別子を含む。トレースデータ生成指示は、コントローラ２０の所望のタイミングでトレースデータを取得でき、ネットワークトリガと呼ばれることもある。
【０１０８】
生成部３０４は、トレースデータ生成指示を受信したことに応じて、トレースデータの生成を開始する。別の言い方をすれば、生成部３０４は、トレースデータ生成指示を受信するまではトレースデータの生成を開始せず、トレースデータ生成指示を受信した場合に、トレースデータの生成を開始する。本実施形態では、コントローラ２０は、非同期通信を利用して、トレースデータ生成指示を送信する。生成部３０４は、トレースデータ生成指示を受信すると、非同期タスクとして処理し、トレースデータの生成を開始する。
【０１０９】
例えば、生成部３０４は、トレースデータの計測条件に基づいて、トレースデータを生成する。例えば、計測条件にトレース対象となる軸が示されている場合、生成部３０４は、トレース対象となる軸の状態に基づいて、トレースデータを生成する。また例えば、計測条件にトレース対象の情報（信号）の種類が示されている場合、生成部３０４は、当該種類の情報に基づいて、トレースデータを生成する。また例えば、計測条件にサンプリング周期が示されている場合、生成部３０４は、当該サンプリング周期に基づいて、トレースデータを生成する。また例えば、計測条件にトレース期間が示されている場合、生成部３０４は、当該トレース期間に基づいて、トレースデータを生成する。
【０１１０】
［トレースデータ送信部］
トレースデータ送信部３０５は、トレースデータを送信する。例えば、トレースデータ送信部３０５は、トレースデータ要求を受信した場合に、データ記憶部３００のトレースデータを送信する。トレースデータ要求は、トレースデータの送信を要求するための指示である。別の言い方をすれば、トレースデータ要求は、トレースデータが格納された記憶領域の読み出し要求である。トレースデータ要求は、所定形式のデータが送信されることによって行われるようにすればよく、トレースデータ要求であることを示す識別子を含む。
【０１１１】
本実施形態では、コントローラ２０は、非同期通信を利用して、トレースデータ要求を送信する。トレースデータ送信部３０５は、トレースデータ要求を受信すると、非同期タスクとして処理し、データ記憶部３００のトレースデータを送信する。なお、モータ制御装置３０は、自発的にトレースデータを送信してもよい。この場合、トレースデータ送信部３０５は、任意のタイミングでトレースデータを送信すればよい。
【０１１２】
［４−３．データ収集装置において実現される機能］
図３に示すように、データ収集装置１０では、データ記憶部１００、確認部１０１、及びデータ要求送信部１０２が実現される。データ記憶部１００は、記憶部１２を主として実現され、確認部１０１及びデータ要求送信部１０２は、ＣＰＵ１１を主として実現される。
【０１１３】
［データ記憶部］
データ記憶部１００は、データ収集装置１０がコントローラ２０から受信した状態データやトレースデータを記憶する。これら状態データやトレースデータは、表示部１５に表示されたり、解析用のアプリケーションに入力されたりする。他にも例えば、データ記憶部１００は、コントローラ２０に接続されたモータ制御装置３０やセンサ類などの構成を示す機器情報を記憶してもよいし、コントローラ２０のＩＰアドレスを記憶してもよい。また例えば、データ記憶部１００は、トレースデータの取得条件を記憶してもよい。この場合、データ収集装置１０からコントローラ２０に対して取得条件が展開されるようにしてもよい。また例えば、データ記憶部１００は、コントローラ２０のモータ制御装置３０に対する指令を時系列的に記憶してもよい。
【０１１４】
［確認部］
確認部１０１は、コピー指示送信部２０２によりコピー指示が送信されたか否かを確認する。本実施形態では、コピー指示送信部２０２がコントローラ２０により実現されるので、確認部１０１は、コントローラ２０に、コピー指示が送信されたか否かを問い合わせる。確認部１０１は、コントローラ２０からの回答を受信し、コピー指示が送信されたか否かを確認する。確認部１０１による確認は、定期的に行われてもよいし、不定期的に行われてもよい。例えば、確認部１０１は、コントローラ２０に、コピー完了ステータスを要求し、コントローラ２０から受信したコピー完了ステータスに基づいて、コピー指示が送信されたか否かを問い合わせる。
【０１１５】
［データ要求送信部］
データ要求送信部１０２は、コントローラ２０に、データ要求を送信する。データ要求送信部１０２は、コピー指示が送信されたことが確認された場合に、コントローラ２０に、データ要求を送信する。データ要求送信部１０２は、コピー指示の送信が確認されたことに応じて（コピー指示が送信されたことを条件又はトリガとして）、データ要求を送信する。データ要求送信部１０２は、コピー指示の送信が確認されない場合は、データ要求を送信せず、コピー指示の送信が確認されるまで、データ要求の送信を待機する。
【０１１６】
上記説明した通信システム１によれば、モータ制御装置３０が、コントローラ２０からコピー指示を受信した場合に、元データ領域のデータをデータコピー領域にコピーし、その後にデータコピー領域のデータを送信する。モータ制御装置３０は、所望のタイミングのデータをすぐに送信する必要がなく、任意のタイミングでデータを送信すればよいので、通信負荷（通信コスト）を軽減することができる。例えば、モータ制御装置３０に、コピー指示を受信してすぐにデータを送信させた場合、一応は、コントローラ２０に、所望のタイミングで更新されたデータを取得させることはできるが、その時に、より重要な他のデータを送信する必要があるとすると、通信負荷が増加し、より重要な他のデータの送信に支障が出る可能性がある。この点、通信システム１によれば、データコピー領域に保持されたデータを、任意のタイミングで送信すればよいので、コピー指示を受信してすぐにデータを送信する必要がなくなり、通信負荷を低減することができる。
【０１１７】
また例えば、モータ制御装置３０がコピー指示を受信してから、コントローラ２０にデータを送信するまでの間に、元データ領域のデータが更新されたとしても、所望のタイミングにおけるデータがモータ制御装置３０に保持されているので、コントローラ２０に、所望のタイミングで更新されたデータを取得させることができる。また例えば、モータ制御装置３０は、コピー指示を受信した場合に、元データ領域のデータを送信する必要がなく、データコピー領域にコピーすればよく、その後の任意のタイミングでデータコピー領域のデータを送信すればよいので、コピー指示を受信したときの処理を簡易化することができ、モータ制御装置３０の処理負荷を低減することができる。また例えば、ある期間におけるデータを時系列的に格納したトレースデータを送信する場合、当該期間に所望のタイミングが含まれていれば、一応は、所望のタイミングのデータを送信することができるが、トレースデータには、所望のタイミング以外の不要なデータが含まれてしまうので、データ量が増大する可能性がある。この点、所望のタイミングのデータをピンポイントで取得できるので、データ量を削減することができる。
【０１１８】
また、モータ制御装置３０が、コントローラ２０からデータ要求を受信した場合に、データコピー領域のデータを送信することで、データコピー領域にデータがコピーされた後、通信負荷が比較的少ないタイミング（例えば、このようなタイミングで送信するように、ユーザがデータ要求の送信タイミングを指定する）を見計らってデータを送信させることができるので、通信負荷を効果的に低減することができる。
【０１１９】
また、同期通信を利用してデータ要求を送信すると、モータ制御装置３０はすぐにデータを送信しなければならないが、非同期通信を利用してデータ要求を送信することで、モータ制御装置３０はすぐにデータを送信する必要がないので、通信負荷を低減することができる。例えば、コントローラ２０は、比較的重要な他のデータを送信し終わったタイミングや自身の処理負荷が少ないタイミングなどにおいて、データコピー領域のデータを送信することができるので、通信負荷を低減したりコントローラ２０の処理負荷を低減したりすることができる。
【０１２０】
また、コントローラ２０が、データ収集装置１０から受信したデータ要求をモータ制御装置３０に転送し、その後、モータ制御装置３０から受信したデータをデータ収集装置１０に転送することにより、データ収集装置１０に、所望のタイミングで更新されたデータを取得させることができる。例えば、データ収集装置１０が多数のモータ制御装置３０からデータを収集する場合、データ収集装置１０のメモリ消費量が増大しがちであるが、所望のタイミングのデータをピンポイントで取得させることで、メモリの消費量を効果的に削減することができる。
【０１２１】
また、もし仮に、コピー指示が送信される前にデータ要求が送信されてしまうと、データコピー領域にデータがコピーされる前にデータ要求が送信されることになり、データ収集装置１０に、所望のタイミングで更新されたデータを取得させることができないが、データ収集装置１０が、コピー指示が送信されたことを確認した場合に、コントローラ２０に、データ要求を送信することで、データ収集装置１０に、所望のタイミングで更新されたデータを、より確実に取得させることができる。
【０１２２】
また、コントローラ２０が、モータ制御装置３０に、同期通信を利用してコピー指示を送信することで、モータ制御装置３０は、当該送信されたコピー指示をすぐに実行するので、コントローラ２０に、所望のタイミングで更新されたデータを、より確実に取得させることができる。
【０１２３】
また、モータ制御装置３０にセンサ５０が接続されている場合に、モータ制御装置３０が、センサ５０から取得した検出結果を元データ領域に格納することで、コントローラ２０に、所望のタイミングで取得された検出結果を取得させることができる。
【０１２４】
また、トレースデータとは別に、データコピー領域のデータを送信することで、トレースデータを送信するモードと、トレースデータとは別の方法でデータを送信するモードと、を使い分けることができる。これにより、コントローラ２０がモータ制御装置３０からデータを取得する場合のユーザの利便性を高めることができる。例えば、時系列的なデータが必要な場合にはトレースデータを送信するモードを利用し、時系列的なデータは必要なく、ある所望のタイミングのデータをピンポイントで必要な場合には、本実施形態で説明したモードを利用することができ、ユーザの利便性を高めることができる。
【０１２５】
また、コピー指示の送信タイミングをユーザが指定することにより、コントローラ２０に、ユーザが所望するタイミングで更新されたデータを取得させることができる。
【０１２６】
また、複数の元データ領域の各々と、複数のデータコピー領域の各々と、を関連付けておき、モータ制御装置３０が、複数のデータコピー領域の各々のデータを送信することで、コントローラ２０に、所望のタイミングで更新された複数のデータを取得させることができる。これにより、通信負荷と、モータ制御装置３０の処理負荷と、を効果的に低減することができる。
【０１２７】
また、スレーブ機器であるモータ制御装置３０が、マスタ機器であるコントローラ２０からコピー指示を受信した場合に、元データ領域のデータをデータコピー領域にコピーすることで、その後に元データ領域のデータが更新されたとしても、コピー指示が送信されたタイミングにおけるデータがデータコピー領域に保持されるので、マスタ機器に、所望のタイミングで更新されたデータを取得させることができる。
【０１２８】
［５．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１２９】
（１）例えば、実施形態では、内容が確定した状態データが元データ領域に格納される場合を説明したが、元データ領域は、データ内容が確定される確定状態と、データ内容が確定しない不確定状態と、があってもよい。確定状態とは、状態データの計算が終わった状態である。不確定状態とは、状態データの計算が終わっていない状態であり、例えば、途中計算の値や他の情報が一時的に格納される状態である。不確定状態でコピーが行われると、正確な状態データを取得することができないので、元データ領域が確定状態になった場合にコピーが行われてもよい。
【０１３０】
例えば、図２に示すいわゆる位置決め系データについては、次の制御周期の直前には、計算が完了しデータ内容が確定していることがほとんどである。このため、コピー指示送信部２０２は、制御周期が訪れる所定時間前（例えば、制御周期が訪れる直前）に、コピー指示を送信してもよい。例えば、コピー指示送信部２０２は、位置指令速度がモータ４０の停止を示してから一定時間が経過した後に、コピー指示を送信してもよい。更に、確定状態になったか否かをコントローラ２０又はモータ制御装置３０が判定してもよい。
【０１３１】
図５は、変形例の通信システム１で実行される処理を示す図である。図５では、説明の簡略化のために、元データ領域とデータコピー領域を１つずつ示している。ここでは、状態データの一例として整定時間を説明する。図５に示すように、実施形態で説明した処理とは大まかな流れは同じであるが、整定時間は、ＣＯＩＮ信号が立ち上がるまで確定しないので、制御周期のうち、ＣＯＩＮ信号が立ち上がるまでの期間は「計算中」で不確定状態となり、ＣＯＩＮ信号が立ち上がった後に確定状態となる。
【０１３２】
Ｓ２００の処理は、図２のＳ１００の処理と同様であり、データ収集装置１０とコントローラ２０との間でポーリングが行われる。Ｓ２０１の処理もＳ１０１の処理と同様であるが、本変形例では、コピー指示の送信タイミングは、ＣＯＩＮ信号が立ち上がった後になるように定められている。ユーザの経験則から送信タイミングを指定してもよいし、ＣＯＩＮ信号が立ち上がった旨の通知をモータ制御装置３０に送信させ、コントローラ２０は、当該通知を受信した場合にコピー指示を送信してもよい。続くＳ２０２〜Ｓ２０８の処理は、それぞれＳ１０２〜Ｓ１０８と同様であり、確定状態の状態データが元データ領域からデータコピー領域にコピーされ、当該データコピー領域の状態データがコントローラ２０経由でデータ収集装置に送信される。
【０１３３】
図６は、変形例における機能ブロック図である。図６に示すように、変形例の通信システム１は、元データ領域が確定状態であるか否かを判定する確定判定部２０５を有する。ここでは、確定判定部２０５がコントローラ２０のＣＰＵ２１を主として実現される場合を説明するが、確定判定部２０５は、モータ制御装置３０のＣＰＵ３１を主として実現されてもよい。例えば、確定状態となるタイミングをユーザが指定する場合、確定判定部２０５は、当該タイミングが訪れたか否かを判定する。
【０１３４】
なお、確定判定部２０５がモータ制御装置３０で実現される場合には、確定判定部２０５は、モータ制御装置３０の内部状態又はセンサ５０若しくはエンコーダ６０の検出信号に基づいて、元データ領域が確定状態であるか否かを判定する。例えば、整定時間が状態データである場合、確定判定部２０５は、ＣＯＩＮ信号が立ち上がったか否かを判定する。また例えば、オーバシュート量が状態データである場合、確定判定部２０５は、位置偏差に基づいてオーバシュートが収まったか否かを判定する。また例えば、残留振動周波数である場合、確定判定部２０５は、ＣＯＩＮ信号が立ち上がってから一定時間が経過したかを判定する。また例えば、ＣＯＩＮ幅が状態データである場合、確定判定部２０５は、ＣＯＩＮ信号が立ち上がったか否かを判定する。
【０１３５】
コピー部３０２は、元データ領域が確定状態であると判定された場合に、データコピー領域に、元データ領域のデータをコピーする。別の言い方をすれば、コピー部３０２は、元データ領域が確定状態であると判定されたことに応じて（元データ領域が確定状態であると判定されたことを条件又はトリガとして）、元データ領域の状態データをコピーする。コピー部３０２は、元データ領域が確定状態であると判定されない場合は、元データ領域の状態データをコピーせず、元データ領域が確定状態であると判定されるまで、元データ領域の状態データのコピーを待機する。
【０１３６】
変形例（１）によれば、元データ領域が確定状態であると判定された場合に、データコピー領域に、元データ領域のデータがコピーされることで、データ内容が確定していない状態の不正確なデータが送信されることを防止することができる。例えば、コントローラ２０により判定部が実現される場合、確定状態であると判定されてからコピー指示を送信するといったことができ、確定済みのデータを確実にコピーして送信することができる。また例えば、モータ制御装置３０により確定判定部２０５が実現される場合、コピー指示を受信してから、確定状態であると判定されるまでの間、コピー処理の実行を待機するといったことができ、確定済みのデータを確実にコピーして送信することができる。
【０１３７】
（２）例えば、コピー部３０２は、複数のデータコピー領域に、元データ領域の状態データを時系列的にコピーしてもよい。即ち、元データ領域とデータコピー領域とが、１対複数の関係にあってもよい。例えば、ある状態データを３制御周期分だけコピーする場合には、３つのデータコピー領域が必要になる。コピー部３０２は、１回目のコピー指示を受信した場合、その時点での元データ領域の状態データを第１のデータコピー領域にコピーする。コピー部３０２は、２回目のコピー指示を受信した場合、その時点での元データ領域の状態データを第２のデータコピー領域にコピーする。コピー部３０２は、３回目のコピー指示を受信した場合、その時点での元データ領域の状態データを第３のデータコピー領域にコピーする。
【０１３８】
送信部は、コントローラ２０に、複数のデータコピー領域に時系列的にコピーされた状態データを送信する。例えば、送信部は、複数のデータコピー領域の状態データを一度のまとめて送ってもよいし、データ要求を受け付けるたびに状態データを送ってもよい。
【０１３９】
変形例（２）によれば、モータ制御装置３０に複数のデータコピー領域を用意しておき、複数のデータコピー領域に、元データ領域のデータを時系列的にコピーして送信することで、コントローラ２０に、所望のタイミングで更新された時系列なデータを取得させることができる。
【０１４０】
（３）また例えば、実施形態では、コントローラ２０が第１の産業機器に相当し、モータ制御装置３０が第２の産業機器に相当する場合を説明したが、データ収集装置１０が第１の産業機器に相当し、コントローラ２０又はモータ制御装置３０が第２の産業機器に相当してもよい。また例えば、通信システム１に複数のコントローラ２０が含まれる場合に、第１のコントローラ２０が第１の産業機器に相当し、第２のコントローラが第２の産業機器に相当してもよい。他にも例えば、コントローラ２０及びモータ制御装置３０の設定をするためのエンジニアリングツールがインストールされた端末が第１の産業機器に相当し、コントローラ２０又はモータ制御装置３０が第２の産業機器に相当してもよい。また例えば、第３の産業機器は、エンジニアリングツールがインストールされた端末又はクラウドサーバ等であってもよい。
【０１４１】
また、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【符号の説明】
【０１４２】
１  通信システム、１０  データ収集装置、１１，２１，３１  ＣＰＵ、１２，２２，３２  記憶部、１３，２３，３３  通信部、１４  操作部、１５  表示部、２０  コントローラ、３０  モータ制御装置、４０  モータ、５０  センサ、６０  エンコーダ、１００  データ記憶部、１０１  確認部、１０２  データ要求送信部、２００  データ記憶部、２０１  送信タイミング判定部、２０２  コピー指示送信部、２０３  データ要求送信部、２０４  データ転送部、２０５  確定判定部、３００  データ記憶部、３０１  更新部、３０２  コピー部、３０３  状態データ送信部、３０４  生成部、３０５  トレースデータ送信部。
【図１】
2020140465.tif 000003
【図２】
2020140465.tif 000004
【図３】
2020140465.tif 000005
【図４】
2020140465.tif 000006
【図５】
2020140465.tif 000007
【図６】
2020140465.tif 000008