(57)【特許請求の範囲】
【請求項１】
複数のモータと、各モータに接続され、所定の制御周期で前記モータを制御するモータ制御装置とを備えるモータ制御システムであって、
前記モータ制御装置の何れかはマスタ装置であり、他のモータ制御装置はスレーブ装置であり、
前記マスタ装置は、
当該マスタ装置に接続された前記モータの第１所定時間ごとの動作データを記憶する第１記憶装置と、
前記動作データが所定のトリガ条件を満たしているか否かの判定を行うトリガ判定部と、
前記トリガ判定部が前記トリガ条件を満たしたと判定した場合に、前記スレーブ装置に対して、前記トリガ条件を満たした時刻であるマスタトリガ時刻を含むトリガ通知を非同期通信により送信するトリガ通知部と、
前記トリガ条件を満たしたときの前記動作データを特定するための第１特定情報を、前記第１記憶装置に記憶させる第１結果情報生成部とを備え、
前記スレーブ装置は、
当該スレーブ装置に接続された前記モータの第２所定時間ごとの動作データを記憶する第２記憶装置と、
前記トリガ通知部から前記トリガ通知を受信した場合に、前記トリガ通知を受信したときの前記動作データを特定するための第２特定情報と、前記トリガ通知を受信した時刻であるスレーブトリガ時刻と、前記トリガ通知に含まれるマスタトリガ時刻とを、前記第２記憶装置に記憶させる第２結果情報生成部とを備えることを特徴とするモータ制御システム。
【請求項２】
前記モータ制御システムは、情報処理装置を備え、
前記第１結果情報生成部は、前記マスタトリガ時刻を基準として設定された所定期間内の動作データを、前記マスタトリガ時刻および前記第１所定時間に基づいて前記第１記憶装置から読み出し、読み出した所定期間内の動作データである第１動作データ群と前記第１特定情報とを前記情報処理装置に出力し、
前記第２結果情報生成部は、前記マスタトリガ時刻を基準として設定された所定期間内の動作データを、前記スレーブトリガ時刻と前記マスタトリガ時刻と前記第２所定時間とに基づいて前記第２記憶装置から読み出し、読み出した所定期間内の動作データである第２動作データ群と前記第２特定情報と前記スレーブトリガ時刻とを前記情報処理装置に出力し、
前記第１結果情報生成部または前記第２結果情報生成部は、前記情報処理装置に、前記マスタトリガ時刻を出力することを特徴とする請求項１に記載のモータ制御システム。
【請求項３】
前記情報処理装置は、前記スレーブトリガ時刻と前記マスタトリガ時刻との時間差と、前記第２所定時間と、前記第２特定情報に基づいて、前記第２動作データ群の中から、マスタトリガ時刻に対応する動作データを特定し、特定した動作データと、前記第１特定情報で特定される動作データとが同一の時間軸座標となるように、前記第１動作データ群と前記第２動作データ群とのグラフを出力することを特徴とする請求項２に記載のモータ制御システム。
【請求項４】
複数のモータと、各モータに接続され、所定の制御周期で前記モータを制御するモータ制御装置とを備えるモータ制御システムであって、
前記モータ制御装置の何れかはマスタ装置であり、他のモータ制御装置は、スレーブ装置であり、
前記マスタ装置は、
当該マスタ装置に接続された前記モータの動作データを記憶する第１記憶装置と、
所定のトリガ条件を満たしているか否かの判定を行うトリガ判定部と、
前記トリガ判定部が前記トリガ条件を満たしたと判定した場合に、前記スレーブ装置に対して、前記トリガ条件を満たしたことを示すトリガ通知を非同期通信により送信するトリガ通知部と、
前記トリガ条件を満たしたときの前記動作データを特定するための第１特定情報と、前記トリガ条件を満たした時刻であるマスタトリガ時刻とを、前記第１記憶装置に記憶させる第１結果情報生成部とを備え、
前記スレーブ装置は、
当該スレーブ装置に接続された前記モータの動作データを記憶する第２記憶装置と、
前記トリガ通知部から前記トリガ通知を受信した場合に、
前記トリガ通知を受信したときの前記動作データを特定するための第２特定情報と、前記トリガ通知を受信した時刻であるスレーブトリガ時刻とを、前記第２記憶装置に記憶させる第２結果情報生成部とを備えることを特徴とするモータ制御システム。
【請求項５】
請求項１から４の何れか１項に記載のモータ制御システムが備えるモータ制御装置であって、
当該モータ制御装置は、前記マスタ装置であることを特徴とするモータ制御装置。
【請求項６】
請求項１から４の何れか１項に記載のモータ制御システムが備えるモータ制御装置であって、
当該モータ制御装置は、前記スレーブ装置であることを特徴とするモータ制御装置。
【請求項７】
請求項５または６に記載のモータ制御装置としてコンピュータを機能させるためのモータ制御プログラムであって、前記モータ制御装置の各部としてコンピュータを機能させるためのモータ制御プログラム。
【請求項８】
請求項７に記載のモータ制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御システム、モータ制御装置、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
従来、同期型シリアル通信を用いて、複数のモータを同期制御し、動作状態を確認することができるモータ制御システムが知られている。
【０００３】
例えば、特許文献１には、上位装置と、複数のモータ制御装置とを同期型シリアル通信手段で接続したモータ制御システムが開示されている。特許文献１に記載のモータ制御システムは、同期型シリアル通信を介して演算情報の保存開始と保存停止とを指示し、記憶手段に保存された演算情報を読み出して、非同期型シリアル通信を介して外部装置に表示している。これにより、同一の期間における複数のモータの動作状態を確認することで、複数のモータの動作状態の相互関係を詳細に分析することを可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１７６６７３号公報（２００８年７月３１日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載のモータ制御システムは、演算情報の保存開始および保存停止の指示を、同期型シリアル通信を介して行っている。したがって、上位装置と各モータ制御装置とが周期的な通信を行っている状態でなければ、同一の期間における複数のモータの動作状態を確認することができない。ここで、同期型シリアル通信は、ハードウェア（ＣＰＵ）の処理負荷が高く、また、同期型シリアル通信の通信周期は、所定の処理の指示（例えば、演算情報の保存開始指示や演算情報の保存停止指示）を示すコマンドのサイズに比例して長くなる。すなわち、同期型シリアル通信の通信データフレームサイズが増大してしまう。このように、同期型シリアル通信によって動作状態を確認する方法を使用する場合、所定の処理コマンドを含む同期型シリアル通信の通信データフレームサイズが増加し、その結果、上位装置や各モータ制御装置の処理負荷が増加するとともに、同期型シリアル通信の通信周期が大きくなる。一方で、同期型シリアル通信の通信周期は、モータ制御装置を用いて構築される装置の性能に直結するため、短いほうが望ましい。
【０００６】
また、特許文献１は、モータ制御装置としてサーボアンプを対象としており、同じ性能の同期型シリアル通信手段を備えた複数のサーボアンプに対して同期型シリアル通信を使用し、動作状態の確認を行う。そのため、特許文献１の技術は、モータ制御装置としてインバータとサーボとが混在しているモータ制御システムに単純に適用することが想定されていない。
【０００７】
このように特許文献１では、複数のモータ制御装置に対して、演算情報の保存開始および保存停止の処理を、同期型シリアル通信を用いて行うことに起因する様々な問題を有している。
【０００８】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、複数のモータ制御装置に対して同期型シリアル通信を用いることなく、各モータ制御装置に対応するモータの動作状態の相互関係を確認することができるモータ制御システムを実現することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係るモータ制御システムは、複数のモータと、各モータに接続され、所定の制御周期で前記モータを制御するモータ制御装置とを備えるモータ制御システムであって、前記モータ制御装置の何れかはマスタ装置であり、他のモータ制御装置はスレーブ装置であり、（１）前記マスタ装置は、当該マスタ装置に接続された前記モータの第１所定時間ごとの動作データを記憶する第１記憶装置と、前記動作データが所定のトリガ条件を満たしているか否かの判定を行うトリガ判定部と、前記トリガ判定部が前記トリガ条件を満たしたと判定した場合に、前記スレーブ装置に対して、前記トリガ条件を満たした時刻であるマスタトリガ時刻を含むトリガ通知を非同期通信により送信するトリガ通知部と、前記トリガ条件を満たしたときの前記動作データを特定するための第１特定情報を、前記第１記憶装置に記憶させる第１結果情報生成部とを備え、（２）前記スレーブ装置は、当該スレーブ装置に接続された前記モータの第２所定時間ごとの動作データを記憶する第２記憶装置と、前記トリガ通知部から前記トリガ通知を受信した場合に、前記トリガ通知を受信したときの前記動作データを特定するための第２特定情報と、前記トリガ通知を受信した時刻であるスレーブトリガ時刻と、前記トリガ通知に含まれるマスタトリガ時刻とを、前記第２記憶装置に記憶させる第２結果情報生成部とを備える。
【００１０】
上記の構成によれば、マスタ装置は、非同期通信によりスレーブ装置に対してトリガ通知を行い、トリガ条件を満たしたときの動作データを特定するための第１特定情報を第１記憶装置に記憶させる。一方、スレーブ装置は、マスタ装置からトリガ通知を受け取ったことをトリガとして、トリガ通知を受信したときの動作データを特定するための第２特定情報と、トリガ通知を受信した時刻であるスレーブトリガ時刻と、トリガ通知に含まれるマスタトリガ時刻とを、第２記憶装置に記憶させる。そのため、スレーブトリガ時刻とマスタトリガ時刻との差と、第２特定情報と、第２所定時間とを基に、スレーブ装置で記憶された動作データのうち、マスタトリガ時刻に対応する動作データを特定することができる。その結果、マスタ装置で記憶された動作データ群と、スレーブ装置で記憶された動作データ群とを、両動作データ群の中のマスタトリガ時刻に対応する動作データ同士を同一の時刻に合わせることができる。これにより、複数のモータ制御装置に対して同期型シリアル通信を用いることなく、各モータ制御装置に対応するモータの動作状態の相互関係を確認することができる。
【００１１】
また、本発明に係るモータ制御システムは、情報処理装置を備え、前記第１結果情報生成部は、前記マスタトリガ時刻を基準として設定された所定期間内の動作データを、前記マスタトリガ時刻および前記第１所定時間に基づいて前記第１記憶装置から読み出し、読み出した所定期間内の動作データである第１動作データ群と前記第１特定情報とを前記情報処理装置に出力し、前記第２結果情報生成部は、前記マスタトリガ時刻を基準として設定された所定期間内の動作データを、前記スレーブトリガ時刻と前記マスタトリガ時刻と前記第２所定時間とに基づいて前記第２記憶装置から読み出し、読み出した所定期間内の動作データである第２動作データ群と前記第２特定情報と前記スレーブトリガ時刻とを前記情報処理装置に出力し、前記第１結果情報生成部または前記第２結果情報生成部は、前記情報処理装置に、前記マスタトリガ時刻を出力してもよい。
【００１２】
上記の構成によれば、情報処理装置は、マスタ装置の第１動作データ群と、スレーブ装置の第２動作データ群とを一括して管理することができる。
【００１３】
また、本発明に係るモータ制御システムにおいて、前記情報処理装置は、前記スレーブトリガ時刻と前記マスタトリガ時刻との時間差と、前記第２所定時間と、前記第２特定情報に基づいて、前記第２動作データ群の中から、マスタトリガ時刻に対応する動作データを特定し、特定した動作データと、前記第１特定情報で特定される動作データとが同一の時間軸座標となるように、前記第１動作データ群および前記第２動作データ群とのグラフを出力してもよい。
【００１４】
上記の構成によれば、同一の時間軸で示された、マスタ装置で記憶された第１動作データ群とスレーブ装置で記憶された第２動作データ群とのグラフを確認することができる。これにより、マスタ装置に対応するモータと、スレーブ装置に対応するモータとの相互の関係を容易に把握しやすくなる。
【００１５】
また、上記の課題を解決するために、本発明に係るモータ制御システムは、複数のモータと、各モータに接続され、所定の制御周期で前記モータを制御するモータ制御装置とを備えるモータ制御システムであって、前記モータ制御装置の何れかはマスタ装置であり、他のモータ制御装置は、スレーブ装置であり、（１）前記マスタ装置は、当該マスタ装置に接続された前記モータの動作データを記憶する第１記憶装置と、所定のトリガ条件を満たしているか否かの判定を行うトリガ判定部と、前記トリガ判定部が前記トリガ条件を満たしたと判定した場合に、前記スレーブ装置に対して、前記トリガ条件を満たしたことを示すトリガ通知を非同期通信により送信するトリガ通知部と、前記トリガ条件を満たしたときの前記動作データを特定するための第１特定情報と、前記トリガ条件を満たした時刻であるマスタトリガ時刻とを、前記第１記憶装置に記憶させる第１結果情報生成部とを備え、（２）前記スレーブ装置は、当該スレーブ装置に接続された前記モータの動作データを記憶する第２記憶装置と、前記トリガ通知部から前記トリガ通知を受信した場合に、前記トリガ通知を受信したときの前記動作データを特定するための第２特定情報と、前記トリガ通知を受信した時刻であるスレーブトリガ時刻とを、前記第２記憶装置に記憶させる第２結果情報生成部とを備える。
【００１６】
上記の構成によれば、マスタ装置は、非同期通信によりスレーブ装置に対してトリガ通知を行い、トリガ条件を満たしたときの動作データを特定するための第１特定情報と、前記トリガ条件を満たした時刻であるマスタトリガ時刻とを第１記憶装置に記憶させる。一方、スレーブ装置は、マスタ装置からトリガ通知を受け取ったことをトリガとして、トリガ通知を受信したときの動作データを特定するための第２特定情報と、トリガ通知を受信した時刻であるスレーブトリガ時刻とを第２記憶装置に記憶させる。そのため、第１記憶装置および第２記憶装置に記憶された各種情報を読み出し、スレーブトリガ時刻とマスタトリガ時刻との差と、第２特定情報と、第２所定時間とを基に、スレーブ装置で記憶された動作データのうち、マスタトリガ時刻に対応する動作データを特定することができる。その結果、マスタ装置で記憶された動作データ群と、スレーブ装置で記憶された動作データ群とを、両動作データ群の中のマスタトリガ時刻に対応する動作データ同士を同一の時刻に合わせることができる。これにより、複数のモータ制御装置に対して同期型シリアル通信を用いることなく、各モータ制御装置に対応するモータの動作状態の相互関係を確認することができる。
【００１７】
また、上記の課題を解決するために、本発明に係るモータ制御装置は、上記のモータ制御システムが備えるモータ制御装置であって、当該モータ制御装置は、前記マスタ装置である。
【００１８】
また、上記の課題を解決するために、本発明に係るモータ制御装置は、上記のモータ制御システムが備えるモータ制御装置であって、当該モータ制御装置は、前記スレーブ装置である。
【００１９】
なお、上記モータ制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各部として動作させることによりモータ制御装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２０】
本発明によれば、複数のモータ制御装置に対して同期型シリアル通信を用いることなく、各モータ制御装置に対応するモータの動作状態の相互関係を確認することができるモータ制御システムを実現することができるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るモータ制御システムの構成概略を示すブロック図である。
【図２】図１に示すモータ制御システムのモータドライバが備えるトレース結果情報生成部の動作を示す説明図である。
【図３】図１に示すモータ制御システムの情報処理装置が備える表示部に表示される画面の一例を示す図である。
【図４】本発明の一実施形態に係るモータ制御システムにおけるグラフ表示処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、図面を参照し詳細に説明する。
【００２３】
〔モータ制御システム１００の構成〕
図１は、本実施形態に係るモータ制御システム１００の構成概略を示すブロック図である。
【００２４】
モータ制御システム１００は、情報処理装置１０、上位装置２０、複数のモータドライバ（モータ制御装置）３０（３０ａ，３０ｂ，３０ｃ）、複数のモータ６０（６０ａ，６０ｂ，６０ｃ）、および複数の負荷装置７０（７０ａ，７０ｂ，７０ｃ）を備える。
【００２５】
上位装置２０は、ＰＬＣ（プログラマブルロジックコントローラ）等の制御装置である。上位装置２０は、情報処理装置１０と、例えばEthernet（登録商標）等を介して接続している。また、上位装置２０は、例えばEtherCAT（登録商標）等を介してモータドライバ３０と接続している。上位装置２０は、情報処理装置１０から受信した速度指令、位置指令等の動作指令や、上位装置２０の内部で生成した速度指令、位置指令等の動作指令をモータドライバ３０に対して送信する。なお、上位装置２０の内部で生成した速度指令、位置指令等の動作指令値は、一定の周期でモータドライバ３０に対して送信することができる。
【００２６】
モータドライバ３０は、上位装置２０にケーブルで接続されており、上位装置２０から受信する動作指令に基づいて、モータ６０に対してフィードバック制御を行い、負荷装置７０を駆動する。なお、モータドライバ３０は、サーボドライバであってもよく、インバータであってもよい。また、モータドライバ３０は、サーボドライバとインバータとの両方が混在していてもよい。
【００２７】
モータドライバ３０は、上述したように、上位装置２０から一定の通信周期で動作指令を受信し、対応するモータを制御する。
【００２８】
本実施形態に係るモータ制御システム１００では、各モータドライバ３０は、対応するモータ６０に送信した指令値と当該モータ６０から取得した実測値とを含む動作データを所定の周期毎に記憶し、上位装置２０を介して情報処理装置１０に出力する。このとき、上位装置２０と各モータドライバ３０とが同期型シリアル通信を用いることなく、情報処理装置１０が各モータドライバ３０から所望の期間（トレース範囲）の動作データ群を取得できるように構成されている。以下に、同期型シリアル通信を用いることなく、各モータドライバ３０から所望のトレース範囲の動作データ群を取得できる構成について説明する。本実施形態では、情報処理装置１０が動作データ群を取得する処理において、複数のモータドライバ３０のうちの何れか１つのモータドライバ３０は、他のモータドライバ３０に対して当該処理に関連した指令を送付するマスタ装置として設定され、マスタ装置以外の他のモータドライバ３０は、マスタ装置から送付される指令に応じて、動作データ群の取得処理を実行するスレーブ装置として設定される。図１に示す例では、モータドライバ３０ａがマスタ装置であり、モータドライバ３０ｂおよびモータドライバ３０ｃは、スレーブ装置である。
【００２９】
〔モータドライバ３０ａの構成〕
マスタ装置であるモータドライバ３０ａは、トリガ判定部３４と、トレース結果情報生成部（第１結果情報生成部）３５と、トリガ通知部３６と、記憶部（第１記憶装置）３９と、計時部４５と、通信部４６と、モータ制御部４７と、検出部４８とを備える。
【００３０】
記憶部３９は、トリガ条件情報４０、トレース範囲情報４１、動作情報４２、トレース結果情報４３を記憶する。記憶部３９が記憶するそれぞれの情報の詳細については後述する。
【００３１】
計時部４５は、自装置の現在時刻を計時する。
【００３２】
通信部４６は、上位装置２０から各種の指令を受信する。通信部４６が受信する指令には、例えば、試運転動作といった所定の動作を行うべき指令であるコマンド指令や、速度や位置等の指令値が含まれる。
【００３３】
モータ制御部４７は、通信部４６が上位装置２０から受信した速度や位置等の指令値に応じてモータ６０ａを駆動するためのモータ駆動信号（駆動電流）を生成し、モータ６０ａに出力する。
【００３４】
検出部４８は、モータ６０ａの速度や位置等の実測値を取得する。検出部４８は、情報処理装置１０からトレース開始指示を受けると、上位装置２０から受信した速度や位置等の指令値と、モータ６０ａから取得した実測値と含む動作データを所定の周期で（第１所定時間毎に）動作情報４２として記憶部３９に格納する。当該所定の周期（第１所定時間）は、制御周期と同一であってもよいし、制御周期の整数倍であってもよい。また、所定の周期は、制御周期と異なる独自のサンプリング周期であってもよい。サンプリング周期は、例えば、ユーザが、情報処理装置１０を介してモータドライバ３０ａに設定することができる。また、モータドライバ３０ａが独自に保有していてもよい。そのため、記憶部３９に記憶されている動作情報４２は、上位装置２０とモータドライバ３０とが通信を行う通信周期（一般に、通信周期は、上記の第１所定時間に比べて長い）の動作データでは無く、モータドライバ３０がモータ６０ａに対して制御を行う制御周期または制御周期の整数倍の周期またはサンプリング周期の動作データを含む。なお、記憶部３９に記憶される動作情報４２は、リングバッファ形式であり、所定数の動作データがある場合には、最古の動作データが最新の動作データに上書きされる。
【００３５】
トリガ判定部３４は、記憶部３９に記憶されているトリガ条件情報４０を取得し、動作情報４２が更新されるたびに（すなわち、制御周期で、最新の動作データを動作情報４２に格納（または上書き）するたびに）、取得したトリガ条件情報４０で示されるトリガ条件と、モータ６０ａの動作情報４２の最新の動作データとを比較し、トリガ条件を満たしているか否かを判定する。
【００３６】
トリガ判定部３４は、トリガ条件を満たしたと判定した場合に、トリガ通知部３６およびトレース結果情報生成部３５に対してトリガ条件を満たしたことを示す判定結果を送信する。
【００３７】
なお、トリガ条件は、例えばモータ６０ａの速度やトルク等の指令値あるいは実測値に基づいて設定されている。例えば、トリガ判定部３４は、トリガ条件が「モータ６０ａの速度の指令値が１０ｒｐｍ以上」と設定されている場合には、モータ６０ａの速度の指令値が１０ｒｐｍ以上であるか否かを判定し、モータ６０ａの速度の指令値が１０ｒｐｍ以上である場合に、トリガ条件を満たしたと判定する。
【００３８】
トリガ通知部３６は、トリガ判定部３４がトリガ条件を満たしたと判定した場合に、計時部４５からトリガ条件を満たした時刻を取得し、取得した時刻をマスタトリガ時刻ｔ１として、記憶部３９に記憶するとともに、トレース結果情報生成部３５にトリガ条件を満たしたことを通知する。また、トリガ通知部３６は、マスタトリガ時刻ｔ１を含む、トリガ条件を満たしたことを示すトリガ通知を、非同期通信によりスレーブ装置であるモータドライバ３０ｂ、３０ｃに送信する。非同期通信であるため、トリガ通知部３６がモータドライバ３０ｂにトリガ通知を通知するタイミングと、トリガ通知部３６がモータドライバ３０ｃにトリガ通知を通知するタイミングとは異なっている。そのため、トリガ通知部３６は、フィールドネットワークとしてEtherCAT（登録商標）を用いた場合には、例えばＳＤＯ（サービスデータオブジェクト）を用いてトリガ通知を送信すればよい。
【００３９】
トレース結果情報生成部３５は、トリガ判定部３４がトリガ条件を満たしたと判定した場合に、記憶部３９に記憶されているトレース範囲情報４１を参照する。トレース範囲情報４１は、マスタトリガ時刻ｔ１を基準として設定されており、動作データを取得する所定期間（トレース範囲）を示す情報である。具体的には、トレース範囲情報４１は、（１）マスタトリガ時刻ｔ１より前の動作データ数を表すトリガ前データ数と、（２）マスタトリガ時刻ｔ１よりも後の動作データ数を表すトリガ後データ数とを含む情報である。
【００４０】
トレース結果情報生成部３５は、マスタトリガ時刻ｔ１からトリガ後データ数だけ動作データが更新されるまで待機し、参照したトレース範囲情報４１で示されるトレース範囲におけるモータ６０ａの動作データ群（第１動作データ群）を動作情報４２から読み出し、読み出した動作データ群とマスタトリガ時刻ｔ１とを対応付け、トレース結果情報４３として記憶部３９に記憶する。動作データ群は、各動作データが生成された順に並べられた状態で格納される。例えば、トレース範囲内で最も古い動作データが１番目に位置し、古い順に並べられる。このとき、トレース結果情報生成部３５は、トレース範囲の動作データ群において、何れの動作データ（レコード）がマスタトリガ時刻ｔ１における動作データであるかを示すトリガデータ番号（第１特定情報）をトレース結果情報４３に含ませる。また、トレース結果情報４３には、当該動作データ群がどのモータドライバ３０の動作データであるか、および当該動作データがモータ６０のどのような動作に対応しているかを示す識別情報を含む。例えば、識別情報は、当該動作データが、位置指令値、位置計測値、速度指令値、速度計測値、トルク指令値、トルク計測値の少なくともいずれかであることを示す情報である。そして、トレース結果情報生成部３５は、記憶部３９に記憶されているトレース結果情報４３を読み出し、通信部４６および上位装置２０を介して情報処理装置１０へと送信する。
【００４１】
〔モータドライバ３０ｂ，３０ｃの構成〕
スレーブ装置であるモータドライバ３０ｂは、トリガ受信部５０と、トレース結果情報生成部（第２結果情報生成部）５１と、記憶部（第２記憶装置）５５と、計時部４５と、通信部４６と、モータ制御部４７と、検出部４８とを備える。なお、モータドライバ３０ｃはモータドライバ３０ｂと同様の構成を備えており、図１においてモータドライバ３０ｃの内部構成について図示を省略している。
【００４２】
計時部４５は、自装置の現在時刻を計時する。
【００４３】
記憶部５５は、トレース範囲情報４１、動作情報４２、およびトレース結果情報４３を記憶する。
【００４４】
通信部４６は、上位装置２０から各種の指令を受信する。通信部４６が受信する指令には、例えば、試運転動作といった所定の動作を行うべき指令であるコマンド指令や、速度や位置等の指令値が含まれる。
【００４５】
モータ制御部４７は、通信部４６が上位装置２０から受信した速度や位置等の指令値に応じて接続されているモータ（つまり、モータ６０ｂ，６０ｃ）を駆動するためのモータ駆動信号（駆動電流）を生成し、当該モータ６０ｂ，６０ｃに出力する。
【００４６】
検出部４８は、モータ６０ｂ，６０ｃの速度や位置等の実測値を取得する。検出部４８は、情報処理装置１０からトレース開始指示を受けると、上位装置２０から受信した速度や位置等の指令値と、モータ６０ｂ，６０ｃから取得した実測値と含む動作データを所定の周期で（第２所定時間毎に）動作情報４２として記憶部５５に格納する。当該所定の周期（第２所定時間）は、制御周期と同一であってもよいし、制御周期の整数倍であってもよい。また、所定の周期は、制御周期と異なる独自のサンプリング周期であってもよい。サンプリング周期は、例えば、ユーザが、情報処理装置１０を介してモータドライバ３０ｂ，３０ｃに設定することができる。また、モータドライバ３０ｂ，３０ｃが独自に保有していてもよい。なお、記憶部５５に記憶される動作情報４２は、リングバッファ形式であり、所定数の動作データがある場合には、最古の動作データが最新の動作データに上書きされる。また、第２所定時間は、第１所定時間と同一であってもよいし、異なっていてもよい。
【００４７】
トリガ受信部５０は、モータドライバ３０ａのトリガ通知部３６からマスタトリガ時刻ｔ１を含むトリガ通知を受信すると、計時部４５から、トリガ受信部５０がトリガ通知を受信した時刻を取得する。トリガ受信部５０は、計時部４５から取得した時刻をスレーブトリガ時刻ｔ２とし、マスタトリガ時刻ｔ１とスレーブトリガ時刻ｔ２とを記憶部５５に記憶させる。そして、トリガ受信部５０は、トレース結果情報の生成指示をトレース結果情報生成部５１へ出力する。
【００４８】
図２は、トレース結果情報生成部５１の動作を示す説明図である。
トレース結果情報生成部５１は、トリガ受信部５０からトレース結果情報の生成指示を受けると、記憶部５５に記憶されているマスタトリガ時刻ｔ１、スレーブトリガ時刻ｔ２およびトレース範囲情報４１を参照する。トレース結果情報生成部５１は、トリガ受信部５０から受信したマスタトリガ時刻ｔ１とスレーブトリガ時刻ｔ２との差と、モータドライバ３０ｂ，３０ｃが動作データを取得する制御周期（第２所定時間）とに基づいて、動作情報４２においてどのデータがマスタトリガ時刻ｔ１における動作データであるかを特定する。そして、記憶部５５に記憶されているトレース範囲情報４１に基づいて、トレース範囲情報４１で示されるトレース範囲におけるモータ６０ｂ，６０ｃの動作データ群（第２動作データ群）を、スレーブトリガ時刻ｔ２に対応付けてトレース結果情報４３として記憶部５５に記憶する（図２の（ａ））。なお、記憶部５５に記憶されるトレース結果情報４３は、トレース範囲の動作データ群において、何れの動作データがスレーブトリガ時刻ｔ２における動作データであるかを示すトリガデータ番号（第２特定情報）を含む。そして、トレース結果情報生成部５１は、記憶部５５に記憶されているトレース結果情報４３を読み出し、通信部４６および上位装置２０を介して情報処理装置１０へと送信する。
【００４９】
このように、スレーブ装置であるモータドライバ３０ｂ，３０ｃは、トリガ受信部５０がマスタ装置であるモータドライバ３０ａのトリガ通知部３６から、マスタトリガ時刻ｔ１を含むトリガ通知を取得したことをトリガとして、トレース結果情報４３を生成する。
【００５０】
ここで、図２の（ｂ）に示すように、マスタトリガ時刻ｔ１と、スレーブトリガ時刻ｔ２との差、すなわちモータドライバ３０ａにおいてトリガ条件が満たされてから、トリガ条件が満たされたことがモータドライバ３０ｂ，３０ｃに通知されるまでの時間が長く、スレーブトリガ時刻ｔ２において、トレース範囲情報４１で示されるトレース範囲の動作データが既に上書きされている場合がある。すなわち、スレーブトリガ時刻ｔ２において、記憶部５５に記憶されているマスタトリガ時刻ｔ１より前の動作情報４２のデータ数が、トリガ前データ数より少ない場合がある。このような場合には、トレース結果情報生成部５１は、スレーブトリガ時刻ｔ２において、記憶部５５に記憶されている動作情報４２の最古の動作データから、トリガ前データ数と、トリガ後データ数とを足した数の動作データを取得する。そして、トレース結果情報生成部５１は、取得した動作データ群において、スレーブトリガ時刻ｔ２の動作データが何番目の動作データであるかを示すトリガデータ番号を算出し、動作データ群と、スレーブトリガ時刻ｔ２と、トリガデータ番号とを含むトレース結果情報４３を生成すればよい。
【００５１】
〔情報処理装置１０の構成〕
情報処理装置１０は、例えばＰＣ（パーソナルコンピュータ）であり、表示部１１と、入力部１２と、記憶部１３と、制御部１４とを備える。
【００５２】
入力部１２は、マウスやキーボード等のユーザによる入力を受け付ける装置である。
【００５３】
表示部１１は、液晶ディスプレレイ等の表示装置であり、制御部１４から出力される画像を表示する。
【００５４】
記憶部１３は、上位装置２０を介してモータドライバ３０から取得したデータを記憶する。
【００５５】
制御部１４は、トレース開始指示部１５、トリガ条件設定部１６、トレース範囲設定部１７、トレース結果取得部１８、グラフ描画部１９を備える。
【００５６】
トレース開始指示部１５は、ユーザによる入力に基づいて、各モータドライバ３０に対して、動作データの取得を開始する指示であるトレース開始指示を送信する。なお、トレース開始指示部１５は、トレース開始指示を送信する際に、まずスレーブ装置であるモータドライバ３０ｂ，３０ｃに対してトレース開始指示を送信し、その後マスタ装置であるモータドライバ３０ａに対してトレース開始指示を送信することが好ましい。これは、すべてのモータドライバ３０に同時にトレース開始指示を送信する場合や、マスタ装置であるモータドライバ３０ａに対して先にトレース開始指示を送信する場合では、モータドライバ３０ｂ、３０ｃの記憶部５５の内部の動作情報４２に十分な量の動作データが蓄積される前に、トリガ判定部３４がトリガ条件を満たしたと判定してしまい、十分なトレース結果情報４３が得られない可能性があるからである。なお、各モータドライバ３０に対するトレース開始指示のタイミングは、同時であってもよく、また、マスタ装置へのトレース開始指示が、スレーブ装置へのトレース開始指示より早く行われてもよい。
【００５７】
トリガ条件設定部１６は、ユーザによる入力部１２への入力に基づいて、トリガ条件を示すトリガ条件情報４０を生成する。トリガ条件設定部１６は、トレース開始指示部１５がモータドライバ３０に対してトレース開始指示を送信するときに、モータドライバ３０ａに対してトリガ条件情報４０を送信する。なお、トリガ条件設定部１６は、必ずしもトリガ条件情報４０をトレース開始指示と同時に送信する必要はなく、トレース開始指示の前にトリガ条件情報４０を送信してもよい。モータドライバ３０ａは、受信したトリガ条件情報４０を記憶部３９に記憶する。
【００５８】
トレース範囲設定部１７は、ユーザによる入力部１２への入力に基づいて、トレース範囲を示すトレース範囲情報４１を設定する。具体的には、ユーザは、（１）動作データを記憶する期間を示す総トレース時間と、（２）総トレース時間において、マスタトリガ時刻ｔ１より後の時間が占める割合を示すトリガ後データ比率とを入力する。トリガ条件設定部１６は、当該入力された総トレース時間およびトリガ後データ比率、ならびにモータ６０の動作データを記憶する間隔（第１所定時間、第２所定時間）に基づいて、マスタトリガ時刻ｔ１より前のデータ数であるトリガ前データ数と、マスタトリガ時刻ｔ１よりも後のデータ数であるトリガ後データ数とを算出し、トレース範囲情報４１とする。トレース範囲設定部１７は、トレース開始指示部１５がモータドライバ３０に対してトレース開始指示を送信するときに、モータドライバ３０（３０ａ，３０ｂ，３０ｃ）に対してトレース範囲情報４１を送信する。なお、トレース範囲設定部１７は、必ずしもトレース範囲情報４１をトレース開始指示と同時に送信する必要はなく、トレース開始指示の前にトレース範囲情報４１を送信してもよい。モータドライバ３０は、受信したトレース範囲情報４１を記憶部３９，５５に記憶する。
【００５９】
トレース結果取得部１８は、モータドライバ３０ａの記憶部３９、およびモータドライバ３０ｂ，３０ｃの記憶部５５からトレース結果情報４３を取得し、記憶部１３に記憶する。
【００６０】
グラフ描画部１９は、記憶部１３からトレース結果情報４３を読み出し、トレース結果情報４３に含まれるトリガデータ番号、マスタトリガ時刻ｔ１およびスレーブトリガ時刻ｔ２に基づいて、それぞれのトレース結果情報４３に含まれる動作データを同一の時間軸座標でグラフ化する。具体的には、モータドライバ３０は、所定の周期（第１所定時間、第２所定時間）でモータ６０から動作データを取得している。そのため、グラフ描画部１９は、スレーブ装置であるモータドライバ３０ｂ，３０ｃから取得したトレース結果情報４３において、どの動作データがスレーブトリガ時刻ｔ２における動作データであるかが分かれば、動作データを取得する周期（第２所定時間）と、マスタトリガ時刻ｔ１と、スレーブトリガ時刻ｔ２とに基づいて、どの動作データがマスタトリガ時刻ｔ１における動作データであるかを判別することができる。このようにして、グラフ描画部１９は、スレーブ装置でモータドライバ３０ｂ，３０ｃから取得した動作情報４２に含まれる動作データ群において、何れの動作データがマスタトリガ時刻ｔ１におけるデータであるかを特定する。そして、グラフ描画部１９は、マスタ装置であるモータドライバ３０ａから取得した動作情報４２に含まれる動作データ群と、スレーブ装置であるモータドライバ３０ｂ，３０ｃから取得した動作情報４２に含まれる動作データ群とのグラフを生成し、表示部１１に出力する。
【００６１】
図３は、表示部１１に表示される画面の一例を示す図である。図３に示すように、グラフ描画部１９は、横軸を時間、縦軸を動作データで示される指令値または実測値とし、それぞれのモータ６０における指令値および実測値の時間変化を示すグラフ８０を生成する。なお、グラフ８０では、マスタトリガ時刻ｔ１が０ｍｓとなるように描かれている。ユーザは、表示部１１に表示されるグラフ８０に基づいて、各モータ６０の動作の相互関係を確認することができる。
【００６２】
図３に示すように、表示部１１には、グラフ描画部１９が生成したグラフ８０に加えて、サンプリング間隔、総トレース時間、トリガ後データ比率、およびトリガ条件が表示されている。ここで、サンプリング間隔とは、モータドライバ３０がモータ６０から動作情報を取得する周期（上記の第１所定時間、第２所定時間）である。なお、図３に示す例では、全てのモータ６０において、動作情報を取得する周期が同一であるが、モータ６０のそれぞれにおいて、モータ６０から動作情報を取得する周期が異なっていてもよい。
【００６３】
図３に示す例では、サンプリング間隔が２５０μｓであり、総トレース時間が４１０μｓである。そのため、トレース結果情報４３には１６４１個のデータが含まれる。そして、トリガ後データ比率が７８％であるため、トレース結果情報４３は、マスタトリガ時刻ｔ１より前のデータを３６１個、マスタトリガ時刻ｔ１より後のデータを１２７９個含んでいることがわかる。
【００６４】
なお、本実施形態では、グラフ描画部１９は、生成したグラフを表示部１１に表示する構成としたが、これに加えてもしくは代えて、生成したグラフを他の情報処理装置に出力してもよいし、生成したグラフを印刷し、紙媒体として出力する処理を行ってもよい。
【００６５】
〔グラフ表示処理の流れ〕
次に、図４を参照し、モータ制御システム１００におけるグラフ表示処理の流れについて説明する。
【００６６】
図４は、モータ制御システム１００におけるグラフ表示処理の流れを示すフローチャートである。
【００６７】
まず、情報処理装置１０のトレース開始指示部１５が、モータドライバ３０に対してトレース開始指示を送信する（Ｓ１）。このとき、情報処理装置１０は、マスタ装置であるモータドライバ３０ａに対しては、トレース開始指示に加えてトリガ条件情報４０およびトレース範囲情報４１を送信する。また、情報処理装置１０は、スレーブ装置であるモータドライバ３０ｂ，３０ｃに対しては、トレース開始指示に加えてトレース範囲情報４１を送信する。
【００６８】
モータドライバ３０は、情報処理装置１０からトレース開始指示を受信すると、検出部４８が、動作情報４２の生成を開始する。そして、モータドライバ３０ａのトリガ判定部３４は、記憶部３９の動作情報４２が更新されるたびに、トリガ条件と、モータ６０ａの動作情報４２の最新の動作データとを比較し、トリガ条件を満たしているか否かを判定する（Ｓ２）。
【００６９】
モータドライバ３０ａのトリガ判定部３４がトリガ条件を満たしたと判定すると、トリガ通知部３６は、計時部４５からトリガ条件を満たした時刻を取得し、取得した時刻をマスタトリガ時刻ｔ１として、マスタトリガ時刻ｔ１を含むトリガ通知をスレーブ装置であるモータドライバ３０ｂ，３０ｃに送信する（Ｓ３）。また、モータドライバ３０ａのトリガ判定部３４がトリガ条件を満たしたと判定すると、トレース結果情報生成部３５は、記憶部３９に保存されているトレース範囲情報４１を参照し、トレース結果情報４３の生成を開始する（Ｓ４）。
【００７０】
トレース結果情報生成部３５は、マスタトリガ時刻ｔ１より前の動作データを、トレース範囲情報４１で示されるデータ数だけ、記憶部３９の動作情報４２から取得する。そして、マスタトリガ時刻ｔ１における動作データを特定するための第１特定情報として、当該動作データが先頭から何番目のデータであるかを示すトリガデータ番号を算出する。そして、マスタトリガ時刻ｔ１より後の動作データが動作情報４２に書き込まれると、トレース結果情報生成部３５は、トレース範囲情報４１で示されるデータ数だけ動作情報４２から読み出す。トレース結果情報生成部３５は、読み出したトレース範囲における各動作データ（各動作データは生成された順に並んでいる）と、マスタトリガ時刻ｔ１と、トリガデータ番号とを含むトレース結果情報４３を記憶部３９に記憶する。
【００７１】
その後、トレース結果情報生成部３５は、情報処理装置１０からのトレース結果情報４３の送信要求を受けると（Ｓ５）、記憶部３９に記憶されているトレース結果情報４３を情報処理装置１０に送信する（Ｓ６）。
【００７２】
モータドライバ３０ｂ，３０ｃは、モータドライバ３０ａからマスタトリガ時刻ｔ１を含むトリガ通知を受信すると、トレース結果情報４３の生成を開始する（Ｓ７）。具体的には、トリガ受信部５０がモータドライバ３０ａからトリガ通知を受信すると、トリガ受信部５０は、計時部４５から、モータドライバ３０ｂ，３０ｃがトリガ通知を受信した時刻であるスレーブトリガ時刻ｔ２を取得し、記憶部５５にマスタトリガ時刻ｔ１と、スレーブトリガ時刻ｔ２とを記憶させる。
【００７３】
トレース結果情報生成部５１は、トリガ受信部５０からトレース結果情報の生成指示を受信すると、記憶部５５に記憶されているトレース範囲情報４１、マスタトリガ時刻ｔ１、スレーブトリガ時刻ｔ２、およびトレース範囲情報４１を参照し、トレース範囲における動作データを読み出す。このとき、トレース結果情報生成部５１は、スレーブトリガ時刻ｔ２における動作データを特定するための第２特定情報として、当該動作データが先頭から何番目のデータであるかを示すトリガデータ番号を特定する。そして、トレース範囲情報４１で示されるデータ数の動作データの収集が完了すると、トレース結果情報生成部５１は、トレース範囲における動作データ群と、スレーブトリガ時刻ｔ２と、トリガデータ番号とを含むトレース結果情報４３を記憶部５５に記憶する。
【００７４】
その後、トレース結果情報生成部５１は、情報処理装置１０からのトレース結果情報４３の送信要求を受けると（Ｓ８）、記憶部５５に記憶されているトレース結果情報４３を情報処理装置１０に送信する（Ｓ９）。
【００７５】
情報処理装置１０は、モータドライバ３０ａおよびモータドライバ３０ｂ，３０ｃからトレース結果情報４３を受信すると、トレース結果取得部１８が、記憶部１３にトレース結果情報４３を記憶する。そして、グラフ描画部１９は、記憶部１３に記憶されているトレース結果情報４３を参照し、モータドライバ３０から取得した全ての動作データ群を、同一の時間軸座標となるようにグラフとして描画し、表示部１１に表示する（Ｓ１０）。
【００７６】
〔従来技術との対比〕
次に、本実施形態に係るモータ制御システム１００の効果について説明する。
【００７７】
従来用いられているモータ制御システムでは、上位装置２０が、同期型シリアル通信を用いてすべてのモータドライバ３０に対してトレース結果情報４３の生成開始の指示を送信している。そのため、トレース結果情報４３の生成開始の指示のコマンドのサイズに比例して、同期型シリアル通信の通信周期が長くなる。一方、本実施形態に係るモータ制御システム１００においては、マスタ装置であるモータドライバ３０ａが、スレーブ装置であるモータドライバ３０ｂに対して、非同期通信を用いてトレース結果情報４３の生成開始の指示を送信する。そのため、トレース結果情報４３の生成得開始の指示の送信のために、同期型シリアル通信の通信周期を長くする必要がない。
【００７８】
また、本実施形態に係るモータ制御システム１００では、トレース結果情報４３の生成開始の指示および動作データの収集処理のために、上位装置２０とすべてのモータドライバ３０との間で同期通信を行う必要が無い。そのため、本実施形態に係るモータ制御システム１００は、サーボドライバだけでは無く、インバータ、あるいはサーボドライバとインバータとが混在するモータ制御システムに対しても適用することが可能である。
【００７９】
さらに、従来用いられているモータ制御システムでは、上位装置２０が、同期型シリアル通信を用いてすべてのモータドライバ３０に対してトレース結果情報４３の生成開始の指示を送信している。そのため、上位装置２０とモータドライバ３０とが周期的に通信を行っている状態でなければ、複数のモータドライバ３０の動作データを取得することができなかった。一方、本実施形態に係るモータ制御システム１００においては、トレース結果情報４３をグラフとして表示するためには、少なくともマスタ装置であるモータドライバ３０ａと、情報処理装置１０との間で通信を行えればよい。そのため、本実施形態に係るモータ制御システム１００においては、従来用いられているモータ制御システムとは異なり、トレース結果情報４３をグラフとして表示するためには、必ずしも上位装置２０を備えている必要は無い。その結果、例えば、上位装置がまだ準備できていないが、モータ制御装置の予備運転を行いたい場合であっても、情報処理装置１０とマスタ装置とを同期通信することで、各モータの動作状態を示すトレース結果情報４３を同一に時間軸差表上でグラフ化することができ、各モータの動作状態の相互関係を確認することができる。
【００８０】
〔変形例〕
次に、本実施形態に係るモータ制御システム１００の変形例について説明する。
【００８１】
上述した実施形態においては、モータドライバ３０ａが予めマスタ装置であると定められており、トリガ条件設定部１６は、トレース開始指示部１５がモータドライバ３０に対してトレース開始指示を送信するときに、マスタ装置であるモータドライバ３０ａに対してトリガ条件情報４０送信する構成とした。しかしながら、ユーザが情報処理装置１０にトリガ条件を入力することで、トリガ条件の対象となるモータドライバ３０がマスタ装置となる構成であってもよい。すなわち、全てのモータドライバ３０は、トリガ判定部３４、トリガ通知部３６、トリガ受信部５０、およびトレース結果情報生成部３５，５１を備えており、トリガ条件設定部１６からトリガ条件を受信したモータドライバ３０がマスタ装置となり、他のモータドライバ３０が、スレーブ装置となる構成であってもよい。
【００８２】
また、上述した実施形態では、マスタ装置であるモータドライバ３０ａは、スレーブ装置であるモータドライバ３０ｂ，３０ｃに対してマスタトリガ時刻ｔ１を送信する構成とした。しかしながら、マスタ装置であるモータドライバ３０ａは、スレーブ装置であるモータドライバ３０ｂ，３０ｃに対してトリガ条件を満たしたことを示すトリガ通知を非同期通信により送信すればよく、マスタトリガ時刻ｔ１を送信しなくてもよい。モータドライバ３０ａがモータドライバ３０ｂ，３０ｃに対してマスタトリガ時刻ｔ１を送信しない場合には、スレーブ装置におけるトレース範囲情報４１として、スレーブトリガ時刻を含む所定範囲を示す情報（つまり、スレーブトリガ時刻ｔ２よりも前の動作データ数と、スレーブトリガ時刻ｔ２よりも後の動作データ数とを含む情報）が設定される。当該所定範囲は、トリガ条件を満たしたタイミングからトリガ通知をスレーブ装置が受信するタイミングまでの想定される時間差を予備実験等で検証しておき、当該時間差を考慮して、マスタトリガ時刻が含まれるように予め設定される。そして、モータドライバ３０ｂ，３０ｃは、当該トリガ通知を受けた時刻をスレーブトリガ時刻とし、スレーブトリガ時刻を含むトレース範囲の動作データ群と、トリガデータ番号とを含むトレース結果情報４３を生成する。そして、情報処理装置１０が、マスタ装置であるモータドライバ３０ａから取得したトレース結果情報４３と、スレーブ装置であるモータドライバ３０ｂ，３０ｃから取得したトレース結果情報４３とに基づいて、トレース結果情報４３に含まれる動作データ群において、どの動作データがマスタトリガ時刻ｔ１におけるデータであるかを特定し、同一の時間軸座標でグラフ化すればよい。
【００８３】
さらに、上述した実施形態においては、情報処理装置１０は、モータドライバ３０ａから取得するトレース結果情報４３により、マスタトリガ時刻ｔ１を取得する構成とした。すなわち、上述した実施形態では、情報処理装置１０は、マスタトリガ時刻ｔ１をマスタ装置であるモータドライバ３０ａから取得する構成としたが、情報処理装置１０は、スレーブ装置であるモータドライバ３０ｂ，３０ｃからマスタトリガ時刻ｔ１を取得してもよい。そのような場合には、モータドライバ３０ｂのトレース結果情報生成部５１は、動作データ群と、スレーブトリガ時刻ｔ２と、トリガデータ番号と、マスタトリガ時刻ｔ１を含むトレース結果情報４３を生成すればよい。
【００８４】
〔ソフトウェアによる実現例〕
モータドライバ３０の制御ブロック（特にトリガ判定部３４、トリガ通知部３６、トリガ受信部５０、およびトレース結果情報生成部３５，５１）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００８５】
後者の場合、モータドライバ３０は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８６】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００８７】
１０  情報処理装置
３０  モータドライバ（モータ制御装置）
３０ａ  モータドライバ（マスタ装置）
３０ｂ，３０ｃ  モータドライバ（スレーブ装置）
３４  トリガ判定部
３５  トレース結果情報生成部（第１結果情報生成部）
３６  トリガ通知部
３９  記憶部（第１記憶装置）
４８  検出部
５１  トレース結果情報生成部（第２結果情報生成部）
５５  記憶部（第２記憶装置）
６０  モータ
１００  モータ制御システム
ｔ１  マスタトリガ時刻
ｔ２  スレーブトリガ時刻
【図１】
0006380432.tif 000002
【図２】
0006380432.tif 000003
【図３】
0006380432.tif 000004
【図４】
0006380432.tif 000005