(57)【要約】【課題】負荷などを接続することなく、モータに接続される負荷の様々な特性に合わせたドライブに組み込む制御処理部やモーションコントローラ上のユーザプログラムのデバッグを可能にする。【解決手段】モーションコントロール装置において、切り替えスイッチ（１０６）を備えたモーションコントローラ（１００）と、指令格納部（３０２）、応答格納部（３０５）と、指令値、応答値を転送するデータ転送処理部（３１０）と、制御シミュレータ格納部（３１１）と、制御シミュレータ実行部（３１２）とを備えた仮想ドライブ（３００）と、制御シミュレータ格納部（３１１）に制御シミュレータをダウンロードするものである。【選択図】    図１
2004310437.tif 000002
【特許請求の範囲】
【請求項１】
ユーザプログラムからモーション指令を受け取り、ドライブ（２００）に対する指令値を生成する指令生成処理部（１０２）と、ネットワークを介して接続されている複数のドライブ（２００）に対して指令値、応答値の送受信を行う通信処理部（１０３）とから構成されるモーションコントロール装置において、
通常モードとデバッグモードを切り替えるための切り替えスイッチ（１０６）とを備えたモーションコントローラ（１００）と、前記ドライブに対する指令値を格納する指令格納部（３０２）と、ドライブからの応答値を格納する応答格納部（３０５）と、指令値、応答値を転送するデータ転送処理部（３１０）と、モータの動作を模擬する制御シミュレータを格納するための制御シミュレータ格納部（３１１）と、前記制御シミュレータ格納部に格納された制御シミュレータを実行する制御シミュレータ実行部（３１２）とを備えた仮想ドライブ（３００）と、前記仮想ドライブの制御シミュレータ格納部（３１１）に制御シミュレータをダウンロードすることによって、前記仮想ドライブに任意の制御シミュレータを組み込むことを特徴とするモーションコントロール装置。
【請求項２】
前記仮想ドライブ内の前記指令格納部（３０２）に格納される指令値と、前記応答格納部（３０５）に格納される応答値と、前記パラメータ格納部（３０３）に格納されるパラメータは、ネットワークを介して接続されるドライブに対する指令値、応答値、および、ドライブが保持するパラメータと同一のデータフォーマットであることを特徴とする請求項１記載のモーションコントロール装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、モータを制御し、モータからのフィードバック値を獲得するドライブと、複数のドライブがネットワークを介して接続されているモーションコントローラと、から構成されるモーションコントロール装置に関する。
【０００２】
【従来の技術】
従来のモーションコントロール装置は図６に示すようになっている。
図６において、１００はモーションコントローラ、２００はドライブ、４０１はサーボアンプ、４０２はモータ、４０３は負荷、４０４はフィードバック検出部、５００はネットワークである。
モーションコントローラ１００は、ユーザプログラム１０１から送られてくる位置決め、円弧補間などのモーション指令からドライブに対する時々刻々の指令値を生成する指令生成処理部１０２と、前記ネットワーク５００を介して前記指令生成処理部１０２が生成した指令値をドライブ２００に送信し、前記ネットワーク５００を介してドライブ２００からの応答値を受信する通信処理部１０３と、から構成される。
ドライブ２００は、前記ネットワーク５００を介して前記モーションコントローラ１００から送られてくる指令値を受信し、前記モーションコントローラ１００へ応答値を送信する通信処理部２０１と、前記通信処理部２０１が受信した指令値を格納するための指令格納部２０２と、ドライブの動作を指定するためのパラメータが格納されているパラメータ格納部２０３と、前記モーションコントローラ１００へ送信する応答値を格納するための応答格納部２０５と、前記指令格納部２０２に格納されている指令値と、前記パラメータ格納部２０３に格納されているパラメータに基づいてモータを制御し、前記応答格納部２０５へ応答値を格納する制御処理部２０４と、から構成される。
モーションコントローラ１００には、前記ネットワーク５００を介して、複数のドライブが接続されうる。図６のモーションコントロール装置において、モーションコントローラ１００上で実行されるユーザプログラム１０１のデバッグを行う場合、サーボアンプ４０１、モータ４０２、負荷４０３、フィードバック検出部４０４をドライブ２００に接続し、ネットワーク５００を介して前記ユーザプログラム１０１を実行するために必要な台数のドライブをモーションコントローラ１００に接続し、実機にて前記ユーザプログラム１０１のデバッグを行っていた。
また、ドライブ２００の制御処理部２０４へ組み込むソフトウェアを開発中に前記制御処理部２０４のデバッグを行う場合、開発中の制御処理部２０４を実際に前記ドライブ２００へ組み込み、前記ドライブ２００にサーボアンプ４０１、モータ４０２、負荷４０３、フィードバック検出部４０４を接続し、ネットワーク５００を介して前記ドライブ２００をモーションコントローラ１００に接続し、実機にて制御処理部２０４のデバッグを行っていた。
これに対し、特許文献１では、「サーボモータを停止させ、ドライブ上のサーボモータ・負荷シミュレータを用いて、ユーザプログラムをテストする」方法について述べられている。これは、ドライブ内にサーボモータ、負荷シミュレータを用意することによって、ドライブにサーボアンプ４０１、モータ４０２、負荷４０３、フィードバック検出部４０４を接続することなくユーザプログラムのデバッグを行うモーションコントロール装置である（図７）。
特許文献２では、「ＣＰＵモジュール１内のユーザプログラム領域７に、予め動作保証・パッケージ化された位置決めハードモジュールの模擬出力演算部１２とアンプ、モータの模擬出力演算部１３を常駐させることにより」モータや負荷を接続することなくユーザプログラムのデバッグを行う方法について述べられている。
【０００３】
【特許文献１】
特開平１１−２７２３０７
【特許文献２】
特開平１１−２１９２０９
【０００４】
【発明が解決しようとする課題】
しかしながら、従来のモーションコントロール装置は、デバッグ段階では、ドライブに組み込まれた制御処理部やモーションコントローラ上で動作するユーザプログラムに存在するバグのために、ドライブに接続されたモータや負荷が予期しない動作をする可能性があった。このため、デバッグ作業者が危険にさらされる、モータや負荷が破壊されてしまう、などの問題があった。
これに対し、特許文献１では、ドライブにシミュレータを内蔵することによって、ドライブにモータや負荷を接続することなくモーションコントローラ上で動作するユーザプログラムのデバッグを行うモーションコントロール装置について述べられている。また、特許文献２では、「ＣＰＵモジュール１とパソコン１１だけのシステム構成でオフラインシミュレーションを実現する」方法について述べられている。しかしながら、これらの手法では、ドライブに組み込む制御処理部をデバッグするためには、開発中の制御処理部を実際にドライブへ組み込み、ドライブにモータや負荷などを接続し、ネットワークを介してドライブをモーションコントローラに接続し、実機にて制御処理部のデバッグを行うしかなかった。また、予め組み込まれた、ある決まった模擬演算しか実行できない。このため、負荷ごとの様々な特性に合わせたデバッグや、ドライブに接続されたモータ、負荷が予期しない動作をした場合に対する処理（異常系）に対するユーザプログラムのデバッグが不可能であるという問題があった。特許文献２では、モーションコントローラ上で動作するユーザプログラムのデバッグに際して、必要数のドライブを用意する必要があったため、デバッグを容易に行うことができないという問題も抱えていた。
【０００５】
そこで、本発明はこのような問題点に鑑みてなされたものであり、制御シミュレータ実行部と制御シミュレータ格納部とを備えた仮想ドライブに任意の制御シミュレータをダウンロードすることによって、モーションコントローラにドライブやモータ、負荷などを接続することなく、モータに接続される負荷の様々な特性に合わせた、ドライブに組み込む制御処理部やモーションコントローラ上のユーザプログラムのデバッグが可能であり、また、故意にエラーを発生させる処理を入れた制御シミュレータを仮想ドライブにダウンロードすることによって、モータや負荷が予期しない動作をした場合（異常系）に対する処理をデバッグすることができるモーションコントロール装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記問題を解決するため、請求項１記載の発明は、ユーザプログラムからモーション指令を受け取り、ドライブ（２００）に対する指令値を生成する指令生成処理部（１０２）と、ネットワークを介して接続されている複数のドライブ（２００）に対して指令値、応答値の送受信を行う通信処理部（１０３）とから構成されるモーションコントロール装置において、
通常モードとデバッグモードを切り替えるための切り替えスイッチ（１０６）とを備えたモーションコントローラ（１００）と、前記ドライブに対する指令値を格納する指令格納部（３０２）と、ドライブからの応答値を格納する応答格納部（３０５）と、指令値、応答値を転送するデータ転送処理部（３１０）と、モータの動作を模擬する制御シミュレータを格納するための制御シミュレータ格納部（３１１）と、前記制御シミュレータ格納部に格納された制御シミュレータを実行する制御シミュレータ実行部（３１２）とを備えた仮想ドライブ（３００）と、前記仮想ドライブの制御シミュレータ格納部（３１１）に制御シミュレータをダウンロードすることによって、前記仮想ドライブに任意の制御シミュレータを組み込むことを特徴とするものである。
したがって、制御シミュレータ実行部と制御シミュレータ格納部とを備えた仮想ドライブに任意の制御シミュレータをダウンロードすることによって、モーションコントローラにドライブやモータ、負荷などを接続することなく、モータに接続される負荷の様々な特性に合わせた、ドライブに組み込む制御処理部やモーションコントローラ上のユーザプログラムのデバッグが可能であり、また、故意にエラーを発生させる処理を入れた制御シミュレータを仮想ドライブにダウンロードすることによって、モータや負荷が予期しない動作をした場合（異常系）に対する処理をデバッグすることができる。
また、請求項２に記載の発明は、前記仮想ドライブ内の前記指令格納部（３０２）に格納される指令値と、前記応答格納部（３０５）に格納される応答値と、前記パラメータ格納部（３０３）に格納されるパラメータは、ネットワークを介して接続されるドライブに対する指令値、応答値、および、ドライブが保持するパラメータと同一のデータフォーマットであることを特徴とするものである。
したがって、モーションコントローラに接続されるものが実機のドライブであっても、仮想ドライブであっても、モーションコントローラのソフトウェアを全く変更することなくユーザプログラムや制御処理部のデバッグが可能であり、データフォーマットの相違を気にすることなく、ドライブに組み込む開発中の制御処理部のソフトウェアを制御シミュレータとしてダウンロードし、デバッグすることができる。
【０００７】
【発明の実施の形態】
以下、本発明の具体的実施例を図に基づいて説明する。図１は、本発明におけるモーションコントロール装置のソフトウェアブロック図である。図１において、１００はモーションコントローラ、３００は仮想ドライブ、２００はサーボアンプを駆動制御するドライブ装置である。なお、従来の技術の図面６、７と同一名称には同一の符号を付して重複説明を極力省略する。
モーションコントローラ１００は、ユーザプログラム１０１から送られてくる位置決め、円弧補間などのモーション指令からドライブに対する時々刻々の指令値を生成する指令生成処理部１０２と、前記指令生成処理部１０２が生成した指令値を送信し、応答値を受信する通信処理部１０３と、通常モードとデバッグモードを切り替えるための切り替えスイッチ１０６と、から構成される。
【０００８】
仮想ドライブ３００は、前記モーションコントローラ１００から送られてくる指令値を受信し、前記モーションコントローラ１００へ応答値を送信するデータ転送処理部３１０と、前記データ転送処理部３１０が受信した指令値を格納するための指令格納部３０２と、ドライブの動作を指定するためのパラメータが格納されているパラメータ格納部３０３と、前記モーションコントローラ１００へ送信する応答値を格納するための応答格納部３０５と、前記指令格納部３０２に格納されている指令値と、前記パラメータ格納部３０３に格納されているパラメータに基づいてモータや負荷の動作を模擬し、前記応答格納部３０５へ応答値を格納する制御シミュレータを格納するための制御シミュレータ格納部３１２と、前記制御シミュレータ格納部３１２に格納されている制御シミュレータを実行する制御シミュレータ実行部３１１と、制御シミュレータを外部から受信して前記制御シミュレータ格納部３１２へ制御シミュレータを格納する通信処理部３１３と、から構成される。
【０００９】
仮想ドライブ３００へダウンロードする制御シミュレータの入出力を図２に示す。図２において、１０００は制御シミュレータ、１００１は指令値、１００２はパラメータ、１００３は応答値、である。指令値１００１、パラメータ１００２は制御シミュレータ１０００に対する入力であり、応答値１００３は、制御シミュレータ１０００の出力である。指令値１００１、パラメータ１００２、応答値１００３のデータフォーマットは、それぞれ実機のドライブの指令値、パラメータ、応答値と一致している。指令値１００１のデータフォーマット例を図３に、パラメータ１００２のデータフォーマット例を図４に、応答値１００３のデータフォーマット例を図５に、それぞれ示す。
【００１０】
制御シミュレータ１０００は、指令値１００１、パラメータ１００２を入力として受け取り、応答値１００３を出力することだけが規定されており、制御シミュレータ１０００を作成する制御シミュレータ作成者が制御シミュレータ１０００の処理内容を自由に決定することができる。制御シミュレータ作成者は、仮想ドライブ３００の通信処理部３１３を介して作成した制御シミュレータ１０００を仮想ドライブ３００内の制御シミュレータ格納部３１１へダウンロードする。制御シミュレータ実行部３１２は、指令格納部３０２から指令値を、パラメータ格納部３０３からパラメータを入力として、制御シミュレータ格納部３１１へダウンロードされた制御シミュレータ１０００を実行する。制御シミュレータ１０００から出力された応答値は、制御シミュレータ実行部３１２によって応答格納部３０５へ格納される。
【００１１】
制御シミュレータ作成者は、任意の処理を制御シミュレータ１０００に組み込むことができ、かつ、制御シミュレータ１０００に対する入出力（指令値１００１、パラメータ１００２、応答値１００３）のデータフォーマットがドライブ２００の制御処理部２０４と一致しているので、例えば、ドライブ２００で開発中の制御処理部２０４のソフトウェアを制御シミュレータ１０００として仮想ドライブ３００へダウンロードすることができる。これによって、モーションコントローラ１００にドライブ２００やモータ４０２、負荷４０３などを接続することなく、かつ、モーションコントローラ１００のソフトウェアを全く変更することなく制御処理部２０４のソフトウェアに対するデバッグが可能である。また、モータや負荷の様々な特性に合わせた制御シミュレータ１０００を作成し、仮想ドライブ３００へダウンロードすることによって、モーションコントローラ１００にドライブ２００やモータ４０２、負荷４０３などを接続することなくユーザプログラム１０１をデバッグすることも可能であり、モータや負荷の様々な特性に合わせてユーザプログラム１０１をチューニングすることも可能である。故意にエラーを発生させる処理を制御シミュレータ１０００に入れることによって、モータや負荷が予期しない動作をした場合（異常系）に対する処理のデバッグも可能である。
【００１２】
【発明の効果】
以上述べたように、本発明のモーションコントロール装置によれば、
ユーザプログラムからモーション指令を受け取り、ドライブに対する指令値を生成する指令生成処理部と、ネットワークを介して接続されている複数のドライブに対して指令値、応答値の送受信を行う通信処理部と、通常モードとデバッグモードを切り替えるための切り替えスイッチと、を備えたモーションコントローラと、
ドライブに対する指令値を格納する指令格納部と、ドライブからの応答値を格納する応答格納部と、指令値、応答値を転送するデータ転送処理部と、モータの動作を模擬する制御シミュレータを格納するための制御シミュレータ格納部と、前記制御シミュレータ格納部に格納された制御シミュレータを実行する制御シミュレータ実行部と、を備えた仮想ドライブと、
から構成されるモーションコントロール装置において、
前記仮想ドライブの制御シミュレータ格納部に制御シミュレータをダウンロードすることによって、前記仮想ドライブに任意の制御シミュレータを組み込むことが可能であることを特徴とするものである。
このようになっているため、
制御シミュレータ実行部と制御シミュレータ格納部とを備えた仮想ドライブに任意の制御シミュレータをダウンロードすることによって、モーションコントローラにドライブやモータ、負荷などを接続することなく、モータに接続される負荷の様々な特性に合わせた、ドライブに組み込む制御処理部やモーションコントローラ上のユーザプログラムのデバッグが可能であり、また、故意にエラーを発生させる処理を入れた制御シミュレータを仮想ドライブにダウンロードすることによって、モータや負荷が予期しない動作をした場合（異常系）に対する処理をデバッグすることができるという効果がある。
また、請求項２に記載の発明は、
前記仮想ドライブ内の前記指令格納部に格納される指令値と、前記応答格納部に格納される応答値と、前記パラメータ格納部に格納されるパラメータは、ネットワークを介して接続されるドライブに対する指令値、応答値、および、ドライブが保持するパラメータと同一のデータフォーマットであることを特徴とするものである。
このようになっているため、
モーションコントローラに接続されるものが実機のドライブであっても、仮想ドライブであっても、モーションコントローラのソフトウェアを全く変更することなくユーザプログラムや制御処理部のデバッグが可能であり、データフォーマットの相違を気にすることなく、ドライブに組み込む開発中の制御処理部のソフトウェアを制御シミュレータとしてダウンロードし、デバッグすることが可能であるという効果がある。
【図面の簡単な説明】
【図１】本発明におけるモーションコントロール装置のソフトウェアブロック図
【図２】制御シミュレータの入出力
【図３】指令値のデータフォーマット例
【図４】パラメータのデータフォーマット例
【図５】応答値のデータフォーマット例
【図６】従来方式におけるモーションコントロール装置１のソフトウェアブロック図
【図７】従来方式におけるモーションコントロール装置２のソフトウェアブロック図
【符号の説明】
１００  モーションコントローラ
１０１  ユーザプログラム
１０２  指令生成処理部
１０３  通信処理部
２００  ドライブ
２０１  通信処理部
２０２  指令格納部
２０３  パラメータ格納部
２０４  制御処理部
２０５  応答格納部
２０６  制御シミュレータ部
２０７  切り替えスイッチ
３００  仮想ドライブ
３０２  指令格納部
３０３  パラメータ格納部
３０５  応答格納部
３１０  データ転送処理部
３１１  制御シミュレータ格納部
３１２  制御シミュレータ実行部
３１３  通信処理部
４０１  サーボアンプ
４０２  モータ
４０３  負荷
４０４  フィードバック検出部
５００  ネットワーク
１０００  制御シミュレータ
１００１  指令値
１００２  パラメータ
１００３  応答値
【図１】
2004310437.tif 000003
【図２】
2004310437.tif 000004
【図３】
2004310437.tif 000005
【図４】
2004310437.tif 000006
【図５】
2004310437.tif 000007
【図６】
2004310437.tif 000008
【図７】
2004310437.tif 000009