(57)【要約】本サーボシステムは、上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムである。サーボアンプのそれぞれは、サーボ演算処理をするサーボ演算部と、通信信号の送受信を行う通信部と、サーボ演算処理におけるサーボ演算の情報を履歴データとして保存する記憶部と、履歴データの保存を停止するための保存停止条件を予め設定し、サーボ演算周期毎に、保存停止条件に合致するかを判定し、保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとして通信部へ通知するトリガ情報処理部とを備える。
2018084036.tif 000002
【特許請求の範囲】
【請求項１】
上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムであって、
前記サーボアンプのそれぞれは、
サーボ演算周期毎にサーボ演算処理をするサーボ演算部と、
前記通信信号の送受信を行う通信部と、
前記サーボ演算処理におけるサーボ演算の情報を履歴データとして保存する記憶部と、
前記履歴データの保存を停止するための保存停止条件を予め設定し、前記サーボ演算周期毎に、前記保存停止条件に合致するかを判定し、前記保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとして前記通信部へ通知するトリガ処理部とを備えるサーボシステム。
【請求項２】
前記トリガ処理部は、前記複数のサーボアンプ中の自軸以外となる他のサーボアンプ全ての前記トリガ検出フラグを判定し、前記他のサーボアンプ全ての前記トリガ検出フラグが、前記保存停止条件に合致していないことを示すとき、前記トリガを検出した前記サーボ演算周期から、前記記憶部へ前記履歴データの保存停止を指示するサーボ演算周期までの、サーボ演算周期の回数を示す保留回数を演算し、前記保留回数後のサーボ演算周期で前記記憶部へ前記履歴データの保存停止を指示する請求項１に記載のサーボシステム。
【請求項３】
前記上位装置は、動作指令更新周期毎に、動作指令を更新し、
前記上位装置と前記複数のサーボアンプとが、前記上位装置の前記動作指令更新周期の１／Ｌ倍（Ｌは整数）の通信周期で前記通信信号を送受信し、
前記サーボ演算部の前記サーボ演算周期は、前記通信周期の１／Ｍ倍（Ｍは整数）の周期に同期させた請求項１に記載のサーボシステム。
【請求項４】
前記記憶部への前記履歴データの保存停止の指示は、前記保留回数後のサーボ演算周期で保存停止する指示よりも、他の前記サーボアンプからの前記トリガ検出フラグの受信によって保存停止する指示が優先される請求項２に記載のサーボシステム。
【請求項５】
前記トリガを検出した前記サーボアンプは、前記履歴データの保存を停止する代わりにモータを停止する請求項１または２に記載のサーボシステム。
【請求項６】
前記トリガを検出したサーボアンプ以外の前記サーボアンプは、他のサーボアンプからの前記トリガ検出フラグの受信によって、前記履歴データの保存を停止する代わりに前記モータを停止する請求項５に記載のサーボシステム。
【請求項７】
上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムの制御方法であって、
サーボ演算処理におけるサーボ演算の情報を履歴データとして記憶する記憶部に、前記履歴データの保存を停止するための保存停止条件を予め設定するステップと、
サーボ演算周期毎に、前記保存停止条件に合致するかを判定を行うステップと、
前記保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとするステップとを備えるサーボシステムの制御方法。
【請求項８】
他のサーボアンプ全ての前記トリガ検出フラグを判定するステップと、
前記他のサーボアンプ全ての前記トリガ検出フラグが、前記保存停止条件に合致していないことを示すとき、前記トリガを検出した前記サーボ演算周期から、前記記憶部へ前記履歴データの保存停止を指示するサーボ演算周期までの、サーボ演算周期の回数を示す保留回数を演算し、前記保留回数後のサーボ演算周期で前記記憶部へ前記履歴データの保存停止を指示するステップとを、さらに備える請求項７に記載のサーボシステムの制御方法。
【請求項９】
前記記憶部への前記履歴データの保存停止の指示は、前記保留回数後のサーボ演算周期で保存停止する指示よりも、他の前記サーボアンプからの前記トリガ検出フラグの受信によって保存停止する指示が優先される請求項８に記載のサーボシステムの制御方法。
【請求項１０】
前記履歴データの保存停止を指示するステップに代えて、モータを停止させるステップを備える請求項８に記載のサーボシステムの制御方法。
【請求項１１】
前記履歴データの保存停止を指示するステップは、他のサーボアンプからの前記トリガ検出フラグの受信によって、前記履歴データの保存を停止する代わりに前記モータを停止させる請求項１０に記載のサーボシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーボアンプを制御するサーボシステムおよびその制御方法に関し、特に、例えば産業用の高速ネットワーク通信のようなシリアル通信により、複数のサーボ軸が同期して動作するように、それぞれを同時制御する、サーボシステムおよびその制御方法において、そのサーボ演算における履歴データの保存および読み出しの構成および方法に関する。
【背景技術】
【０００２】
従来、サーボシステムでは、サーボ演算における情報を履歴データとして記憶部であるメモリに保存するとともに、上位装置を介して接続された外部装置に、履歴データを読み出す機能を有するものがある。【０００３】
例えば、図７に示すように、このような複数のサーボ軸を制御する従来のサーボシステム７０のサーボアンプ７１それぞれにおいて、サーボ演算部７４におけるサーボ演算での情報は、履歴データＳｖとしてメモリ７６に保存される。保存された履歴データＳｖは、上位装置８５を介して外部装置９５に読み出されて、サーボ制御ゲインの調整等に利用される。保存される履歴データＳｖは、サーボ演算周期の過去ｍ回分（ｍは整数）の情報である。履歴データＳｖの例としては、例えばモータ現在位置や、モータ現在速度などがある。【０００４】
図７中、サーボシステム７０が備える、上位装置８５と、複数のサーボアンプ７１とは、通信線８１で接続される。複数のサーボアンプ７１それぞれのサーボ演算部７４が演算を実行するときのサーボ演算の情報において、それらサーボ演算での情報が有する時間軸が揃っていれば、サーボアンプ７１は、それぞれのサーボ軸を調整する際、より精度よく調整できる。【０００５】
ところで、通信タイミングとサーボ演算処理との同期を取る技術として、例えば、特許文献１のような技術が開示されている。【０００６】
また、それぞれのサーボ演算に基づく履歴データＳｖの時間軸を一致させる技術として、上述の図７に示す構成において、上位装置８５からそれぞれのサーボアンプ７１に対して、履歴データＳｖの保存開始や保存停止を指示するような構成が開示されている（例えば、特許文献２参照）。【０００７】
つまり、上記従来のサーボシステム７０では、上位装置８５から、履歴データＳｖの保存停止の指示が必要となる。【０００８】
ところで、近年、ＥｔｈｅｒＣＡＴ（登録商標）を始めとする、オープンネットワークが普及している。よって、オープンネットワークの普及に伴い、サーボシステムは、上位装置の提供者と、サーボアンプの提供者とが異なる組合せが増えている。したがって、上位装置がサーボ演算情報の保存停止を指示する機能を有していない場合、それぞれのサーボ演算情報が有する時間軸を一致させることができない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３―１８９６５４号公報
【特許文献２】特開２００８−１７６６７３号公報
【発明の概要】
【００１０】
本発明のサーボシステムは、上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムである。本サーボシステムにおけるサーボアンプのそれぞれは、サーボ演算処理をするサーボ演算部と、通信信号の送受信を行う通信部と、サーボ演算処理におけるサーボ演算の情報を履歴データとして保存する記憶部と、履歴データの保存を停止するための保存停止条件を予め設定し、サーボ演算周期毎に、保存停止条件に合致するかを判定し、保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとして通信部へ通知するトリガ情報処理部とを備える。
【００１１】
また、本発明のサーボシステムの制御方法は、上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムである。本サーボシステムの制御方法は、サーボ演算処理におけるサーボ演算の情報を履歴データとして記憶する記憶部に、履歴データの保存を停止するための保存停止条件を予め設定するステップと、サーボ演算周期毎に、保存停止条件に合致するかの判定を行うステップと、保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとするステップとを備える。
【００１２】
本発明のサーボシステムおよびその制御方法によれば、通信部を介して履歴データの保存停止を指示する機能を有していない上位装置を用いた構成であっても、複数のサーボアンプがサーボ演算を実行した履歴データが有する時間軸を一致させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態におけるサーボシステムの要部説明図である。
【図２】図２は、本発明の実施の形態におけるサーボシステムで用いる通信周期やサーボ演算周期を含むタイミングの一例を示すタイミングチャートである。
【図３】図３は、本発明の実施の形態におけるサーボシステムが有する、上位装置とサーボアンプとが送受信するデータのタイミングの一例を示すタイミングチャートである。
【図４】図４は、本発明の実施の形態におけるサーボシステムで用いる通信コマンドと通信レスポンスのデータ構成を示す図である。
【図５】図５は、トリガ条件の設定と、トリガの検出について、その一例を示す図である。
【図６】図６は、本発明の実施の形態におけるサーボシステムで用いられるサーボ演算情報の保存停止タイミングに関するタイミングチャートである。
【図７】図７は、従来のサーボシステムの構成図である。
【図８】図８は、比較例として図７における従来構成のサーボシステムでのタイミングを示すタイミングチャートである。
【発明を実施するための形態】
【００１４】
本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態は、本発明を具現化した一例であって、本発明の技術的範囲を制限するものではない。
【００１５】
（実施の形態）
図１は、本発明の実施の形態におけるサーボシステム１０の構成図である。
【００１６】
図１に示すように、本実施の形態におけるサーボシステム１０は、上位装置４５と複数のサーボアンプ１１とが、通信線４１を介して、１対１接続の双方向のライン型ネットワークトポロジーで通信接続される構成である。図１では、複数のサーボアンプ１１として、それぞれ同じ内部構成である３つのサーボアンプ１１が、第１のサーボアンプ１１１、第２のサーボアンプ１１２および第３のサーボアンプ１１３の順に上位装置４５から接続されている一例を示している。そして、これらサーボアンプ１１それぞれの出力には、負荷３１を作動させるためのモータ３０が接続されている。本実施の形態では、このような構成により、負荷３１が所望の動作を実行するように、上位装置４５からの指令に従って、サーボアンプ１１がモータ３０をそれぞれに駆動制御する。なお、以下、適宜、サーボアンプ１１を特定する場合には、第１、第２、第３のサーボアンプをそれぞれ、サーボアンプ１１１、１１２、１１３として区分し、それぞれを総称する場合にサーボアンプ１１として説明する。また、サーボアンプ１１の台数は、複数であればよく、他の台数でもよい。
【００１７】
このようなサーボアンプ１１それぞれに対して、制御パラメータを設定したり動作指令を与えたりするために、上位装置４５が、通信用データの送受信を行う通信部４６を備えるとともに、サーボアンプ１１それぞれも、同様の通信部１３を備えている。そして、図１に示すように、通信部４６と通信部１３のそれぞれとが接続されおり、通信線４１を介して、各種情報を含む通信信号Ｃｍが双方向に伝送される。この具体的な通信手法としては、同期型のシリアル通信などが好ましく、例えば、近年の産業用の高速ネットワーク通信として知られる上述のようなＥｔｈｅｒＣＡＴ（登録商標）通信などが好適である。
【００１８】
また、通信内容として、パラメータ設定などに関しては、システムの立上げ時やシステムの動作を変更する場合などにおいて実行される。この制御パラメータとしては、制御ゲインやフィルタの特性に関する設定値などがある。さらに、上位装置４５は、パラメータ設定に加えて、モータ３０が所望の動き動作をするように、サーボアンプ１１それぞれに対しての動作指令などを含めた各種情報を通信コマンドとして送出するとともに、サーボアンプ１１それぞれからの各種情報を通信レスポンスとして受信する。
【００１９】
特に、パラメータ設定に関しては初期設定時など不定期であるのに対して、動作指令に関しては、逐次、システム内での動作を指示する必要がある。このため、本実施の形態では、動作指令を更新したり送出したりする基準周期を設定している。
【００２０】
すなわち、本実施の形態では、まず、上位装置４５が動作指令などを更新する周期として、上位装置４５は、動作指令更新周期Ｔｉｎｓごとに動作指令を生成し、更新している。そして、本実施の形態では、上位装置４５と複数のサーボアンプ１１とは、動作指令更新周期Ｔｉｎｓの１／Ｌ倍（Ｌは整数）の通信周期Ｔｃｍで、動作指令などのデータ交換を同期型シリアル通信で信号を送受信するような一例を挙げている。このように、上位装置４５は、基準周期としての通信周期Ｔｃｍ毎に、位置指令や速度指令などの動作指令を含む指令信号を送出している。また、サーボアンプ１１それぞれは、受け取った指令信号に基づき、モータ３０の動作を制御する。さらに、サーボアンプ１１それぞれは、通信周期Ｔｃｍ毎に上位装置４５に対して、動作状態などの動作情報を含む返信信号を送信する。
【００２１】
さらに、詳細については以下で説明するが、上位装置４５からは、通信周期Ｔｃｍ毎に通信タイミング信号Ｓｔが送信されている。そして、サーボアンプ１１それぞれは、この通信タイミング信号Ｓｔに位相ロックしたクロック信号Ｃｋを基準に、各処理を実行している。
【００２２】
また、上位装置４５は、図１に示すように、複数のサーボアンプ１１との通信線４１を介したシリアル通信とは別の外部のインタフェース部（以下、適宜、Ｉ／Ｆ部と記す）４７を介して、外部装置５５のＩ／Ｆ部５７と接続されていても良い。
【００２３】
次に、図１を参照しながら、まず、サーボアンプ１１の構成の概要について説明する。
【００２４】
図１に示すように、サーボアンプ１１は、通信部１３と、サーボ演算部１４と、タイミング生成部１５と、記憶部としてのメモリ１６と、メモリ制御部１７と、駆動部１８と、履歴処理部１２とを備える。また、履歴処理部１２は、トリガ処理部２２を有している。そして、駆動部１８から出力される駆動信号Ｖｄが、モータ３０に供給される。モータ３０には、負荷３１が接続される。
【００２５】
このような構成において、通信部１３は、上述のように上位装置４５と通信信号Ｃｍにより情報や信号のやり取りを行う。さらに、上位装置４５からの指令に従って、モータ３０の動作を駆動制御するため、サーボアンプ１１は、モータ３０の位置、速度やトルクを制御するためのサーボ演算部１４と、モータ３０の巻線を通電駆動するための駆動部１８とを備えている。サーボ演算部１４は、位置を制御する位置制御、速度を制御する速度制御およびトルクに関する処理を行うトルク処理など、以下で説明するサーボ演算周期Ｔｓｖ毎にサーボ演算処理を行う。タイミング生成部１５は、通信タイミング信号Ｓｔに位相ロックしたクロック信号Ｃｋを生成するとともに、サーボ演算周期Ｔｓｖを通信周期Ｔｃｍの１／Ｍ倍（Ｍは整数）で同期させるなど、通信タイミング信号Ｓｔに位相ロックした各種のタイミング信号を生成する。また、駆動部１８は、サーボ演算部１４でのサーボ演算処理にて算出された駆動データＤｄに基づく駆動信号Ｖｄを生成する。
【００２６】
そして、本実施の形態では、サーボ演算部１４でのサーボ演算処理で使用するデータの履歴を取得可能なように、サーボアンプ１１を構成していることを特徴としている。すなわち、本実施の形態では、サーボ演算部１４でのデータの履歴に関する処理を実行するために、さらに、履歴処理部１２と、メモリ１６と、メモリ制御部１７とを備えている。ここで、履歴処理部１２は、上位装置４５からの指示に基づき、履歴処理の実行が指示されると、サーボ演算部１４における各種の制御データの中から、その一部である履歴データＳｖを抽出する。さらに、履歴処理部１２は、メモリ１６の読み書きなどを制御するためのメモリ制御部１７を制御し、これによって、メモリ１６は、過去Ｎ回分（Ｎは整数）のサーボ演算周期Ｔｓｖについて、サーボ演算情報である履歴データＳｖを記憶する。サーボ演算情報Ｓｖは、サーボ演算処理で用いた、制御データの一部である。サーボ演算情報Ｓｖの例としては、モータ現在位置やモータ現在速度などの情報があり、例えば、上位装置４５からの位置指令に対し、モータ現在位置が順次追従していくような履歴データＳｖがメモリ１６に保存される。
【００２７】
以上のように、上位装置４５は、一定の通信周期Ｔｃｍで、同期型シリアル通信で通信を行う通信部４６を介して、動作指令をそれぞれのサーボアンプ１１に送信する。動作指令には、位置指令などが含まれる。それぞれのサーボアンプ１１は、受信した動作指令に基いて、モータ３０を駆動する。モータ３０は、負荷３１に動力を伝える。なお、以下の説明において、サーボアンプ１１と、サーボアンプ１１に接続されたモータ３０とを、サーボ軸ともいう。
【００２８】
次に、サーボアンプ１１における各部のより詳細な構成について説明する。
【００２９】
サーボアンプ１１において、まず、通信部１３は、上述したように、通信線４１に接続されており、通信信号Ｃｍとして、上位装置４５から、制御パラメータや動作指令などを含めた各種情報を受信するとともに、上位装置４５に対して、サーボアンプ１１内での各種情報を送信する。
【００３０】
通信部１３は、例えばシステムを立上げる初期設定時などにおいて、各種ゲインやフィルタ定数などの一群のデータを含む制御パラメータを、上位装置４５から受け取り、サーボ演算部１４に設定する。また、上位装置４５は、初期設定などが完了すると、通信周期Ｔｃｍ毎に、通信信号Ｃｍでの通信コマンドＣｃｍｄとして、動作指令を含む情報を送出し、その情報を通信部１３が受け取る。通信部１３は、受け取った通信信号Ｃｍを解析し、自身に対して送られた通信コマンドＣｃｍｄを抽出する。さらに、抽出した通信コマンドＣｃｍｄから、例えば、位置や速度指令である指令データＲｉｎｓ、詳細については以下で説明する履歴処理用データＨｄｔや保存開始コマンドＳｔａｒをさらに抽出する。例えば、指令データＲｉｎｓは、図１に示すように、位置や速度指令としてサーボ演算部１４に通知され、サーボ演算部１４によって、この指令データＲｉｎｓが示す指令に追従するような動作制御が実行される。
【００３１】
図２は、本発明の実施の形態におけるサーボシステム１０で用いる通信周期Ｔｃｍやサーボ演算周期Ｔｓｖを含むタイミングの一例を示すタイミングチャートである。また、図３は、上位装置４５と第１のサーボアンプ１１１、第２のサーボアンプ１１２および第３のサーボアンプ１１３とが送受信するデータのタイミングの一例を示すタイミングチャートである。
【００３２】
ここで、図２および図３を参照しながら、具体的な一例を挙げて、通信周期Ｔｃｍやサーボ演算周期Ｔｓｖを含む各タイミングの関係について説明する。
【００３３】
すなわち、本実施の形態では、上述の動作指令更新周期Ｔｉｎｓと通信周期Ｔｃｍとの比率１／ＬでのＬについては、Ｌ＝２とし、さらに、通信周期Ｔｃｍとサーボ演算周期Ｔｓｖとの比率１／ＭでのＭについては、Ｍ＝３としている。
【００３４】
これより、本実施の形態において、上位装置４５での指令を更新する周期、すなわち指令更新周期Ｔｉｎｓは、１周期が１．０ｍｓと設定すると、サーボアンプ１１の通信周期Ｔｃｍは、指令更新周期Ｔｉｎｓの２分の１となり、１周期が０．５ｍｓである。さらに、通信周期Ｔｃｍは、１周期が０．５ｍｓであることより、サーボ演算周期Ｔｓｖは、図２に示すように、通信周期Ｔｃｍの３分の１となり、１周期が０．１６６ｍｓである。通信タイミング信号Ｓｔは、通信周期Ｔｃｍが１周期経過し、動作指令が送信される毎に、上位装置４５から通信信号Ｃｍに重畳して伝送される。また、サーボ演算周期Ｔｓｖが１周期経過する毎に、サーボ演算起動信号Ｓｓｖが発生する。サーボ演算起動信号Ｓｓｖが発生すると、それぞれのサーボアンプ１１では、図２および図３に示すように、サーボ演算処理が行われる。よって、本実施の形態では、通信周期Ｔｃｍが１周期経過する間に、３回のサーボ演算処理が実行される。
【００３５】
また、通信タイミング信号Ｓｔに同期したサーボ演算起動信号Ｓｓｖなどを生成するため、通信部１３は、この通信タイミング信号Ｓｔを検出し、タイミング生成部１５に転送する。ここで、動作指令などはデータとなる信号であるのに対して、通信タイミング信号Ｓｔは、周期的なタイミングを示すためのパルス信号である。本実施の形態では、この通信タイミング信号Ｓｔを同期信号として利用し、タイミング生成部１５において、通信タイミング信号Ｓｔの周期に同期したクロック信号Ｃｋを生成している。さらに、タイミング生成部１５は、クロック信号Ｃｋを分周する分周カウンタや位相比較器などを有しており、これらを利用して、いわゆるＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を構成している。このような構成により、ＰＬＬの原理の基づき、クロック信号Ｃｋが通信タイミング信号Ｓｔに位相ロックし、クロック信号Ｃｋが通信タイミング信号Ｓｔに同期する。クロック信号Ｃｋは、周知のとおり、サーボアンプ１１内のデジタル処理に利用される。さらに、分周カウンタなどを利用し、このクロック信号Ｃｋを所定の比率で分周することで、図２に示すようなパルス信号であるサーボ演算起動信号Ｓｓｖや、駆動部１８で利用するＰＷＭ（パルス幅変調）キャリア信号を生成するための信号（図示せず）などを生成している。なお、図２では、タイミング生成部１５が、通信タイミング信号Ｓｔに対するサーボ演算起動信号Ｓｓｖの遅れ時間ｔｄｌを一定にしたようなサーボ演算起動信号Ｓｓｖを生成する一例を示している。本実施の形態１において、遅れ時間ｔｄｌは、１０μｓである。
【００３６】
以上、サーボアンプ１１のクロック信号が自走の場合には、ハードウェアの製造ばらつきを要因として、クロック誤差等が生じることがある。クロック誤差等が生じると、通信周期Ｔｃｍは、サーボ演算周期Ｔｓｖの完全な整数倍にならないこともある。これに対し、本実施の形態では、タイミング生成部１５が通信タイミング信号Ｓｔの周期に同期したクロック信号Ｃｋを生成する構成としている。よって、それぞれのサーボ軸で実行されるサーボ演算処理は、起動タイミングが一致する。
【００３７】
次に、サーボ演算部１４には、タイミング生成部１５から、通信タイミング信号Ｓｔに同期したサーボ演算起動信号Ｓｓｖが供給される。サーボ演算部１４は、上述したように、このサーボ演算起動信号Ｓｓｖのタイミングに従い、同期してサーボ演算処理を実行する。よって、それぞれのサーボ軸で実行されるサーボ演算処理のタイミングも一致する。
【００３８】
さらに、サーボアンプ１１において、このサーボ演算部１４と駆動部１８とは、モータ３０の動作を制御するために設けている。ここで、モータ３０は、例えば、ＵＶＷ相の３相駆動のブラシレスモータである。すなわち、モータ３０は、各相に対応する巻線を備えたステータと永久磁石を保持したロータとを含む構成である。このステータの各巻線に、互いの位相が異なる駆動信号Ｖｄを加えることで巻線が通電され、巻線に電流が流れてロータが回転する。なお、モータ３０は、負荷３１に対して直接に直線的位置制御するリニアモータであってもよい。
【００３９】
このようなモータ３０を駆動制御するため、サーボ演算部１４は、モータ３０の位置、速度やトルクを制御する。そして、駆動部１８は、モータ３０の巻線を通電駆動する。
【００４０】
サーボアンプ１１がこのようにモータ３０を制御するため、まず、上位装置４５は、指令更新周期Ｔｉｎｓ毎に、動作指令としての指令データＲｉｎｓを生成している。この指令データＲｉｎｓは、通信周期Ｔｃｍ毎に、上位装置４５からサーボアンプ１１に対して、通信信号Ｃｍに含めて通知される。そして、通信部１３は、受け取った通信信号Ｃｍから指令データＲｉｎｓを抽出し、この指令データＲｉｎｓをサーボ演算部１４に供給する。指令データＲｉｎｓは、指令位置や指令速度を示すデータである。
【００４１】
ここで、例えば、上位装置４５からロータ位置を指令する位置指令が供給される場合には、サーボ演算部１４は、モータ３０の位置制御を行うように、次のような動作を行う。すなわち、サーボ演算部１４は、位置検出器などからの検出位置情報を利用したフィードバック制御によって、上位装置４５からの指令データＲｉｎｓが示す位置指令にモータ３０のロータの実回転位置が追従するように、回転動作を制御する。
【００４２】
このようなフィードバック制御を行うため、サーボ演算部１４は次のような演算処理を実行する。すなわち、サーボ演算部１４は、まず、位置制御として、位置指令と位置検出器（図示せず）からの検出位置情報との差である位置偏差を算出する。さらに、位置制御として、その位置偏差に対して位置ゲインを乗算するなどの演算を行うことで速度指令を算出する。また、サーボ演算部１４は、通知された位置検出情報に対して例えば微分演算を行うことによりモータ３０の回転速度を算出する。さらに、サーボ演算部１４は、この算出した回転速度と速度指令との差である速度偏差を算出する。さらに、サーボ演算部１４は、その速度偏差に対して比例演算や積分演算を行うことにより、モータ３０を作動させようとする駆動トルク量に対応したトルク指令を算出し、駆動データＤｄとして駆動部１８に供給する。
【００４３】
駆動部１８は、サーボ演算部１４から供給された駆動データＤｄに基づく駆動電圧Ｖｄを生成する。具体的には、駆動部１８は、パルス幅変調（ＰＷＭ）回路やスイッチ素子で構成されるインバータを有している。駆動部１８は、ＰＷＭ回路により、駆動データＤｄに応じてパルス幅変調されたパルス信号を生成し、それらパルス信号でインバータのスイッチ素子をオンオフ制御することで、駆動信号Ｖｄを生成している。このように、駆動部１８は、生成した駆動信号Ｖｄを相ごとの巻線に印加し、モータ３０を駆動している。
【００４４】
さらに、本実施の形態でのサーボアンプ１１は、上述したように、サーボ演算部１４での処理におけるデータを順次に抽出し、その履歴を保存するため、履歴処理部１２と、メモリ１６と、メモリ制御部１７とを備えている。
【００４５】
このような履歴処理を実行するため、まず、上位装置４５からの通信信号Ｃｍには、履歴処理に関する通信コマンドＣｃｍｄが含まれており、通信部１３は、履歴処理に関する通信コマンドＣｃｍｄを抽出して履歴処理部１２に供給する。履歴処理に関する通信コマンドＣｃｍｄとしては、履歴処理データＨｄｔ、保存開始コマンドＳｔａｒや読出コマンドＲｈｓなどが含まれる。
【００４６】
ここで、履歴処理データＨｄｔは、履歴として保存する対象データの保存種別情報Ｉｓｖ、保存停止のトリガとして利用する対象データのトリガ種別情報Ｉｔｒ、トリガでの判別値となるトリガレベル値Ｉｔｈなどが含まれる。保存種別情報Ｉｓｖは、サーボ演算部１４における処理として、例えば、位置偏差、速度偏差、回転速度などと指定する情報である。また、トリガ種別情報Ｉｔｒも、サーボ演算部１４における処理として、例えば、指令データＲｉｎｓや、保存種別情報Ｉｓｖと同様の位置偏差、速度偏差、回転速度などと指定する情報である。また、保存開始コマンドＳｔａｒは、メモリ１６への履歴保存の開始を指示するためのコマンドである。読出コマンドＲｈｓは、メモリ１６に履歴保存されたデータの読み出しの開始を指示するためのコマンドである。
【００４７】
次に、履歴処理部１２は、通信部１３からの履歴処理データＨｄｔや保存開始コマンドＳｔａｒに応じて、履歴保存に関する処理を実行する。履歴処理部１２は、保存開始コマンドＳｔａｒを参照し、保存開始コマンドＳｔａｒが保存開始を示すとき、履歴保存に関する処理を開始する。
【００４８】
また、履歴処理部１２は、トリガ処理部２２を有している。このトリガ処理部２２は、履歴保存に関する処理を停止させるために設けている。トリガ処理部２２には、履歴処理データＨｄｔに含まれるトリガ種別情報Ｉｔｒやトリガレベル値Ｉｔｈなどが供給される。トリガ処理部２２は、トリガ種別情報Ｉｔｒが示す種別のデータをトリガ用データＴｒとして、サーボ演算部１４から取り込む。さらに、トリガ処理部２２は、トリガ用データＴｒとトリガレベル値Ｉｔｈとを比較し、トリガ用データＴｒがトリガレベル値Ｉｔｈを超えた時点で、履歴保存に関する処理を停止する。
【００４９】
トリガ処理部２２は、このように履歴保存に関する処理を開始および停止させるため、メモリ制御部１７に対して、保存開始信号Ｓｔｒおよび保存停止信号Ｓｔｐを出力する。すなわち、トリガ処理部２２は、保存開始コマンドＳｔａｒに基づき保存開始信号Ｓｔｒを出力する。また、トリガ処理部２２は、上述のようなトリガ用データＴｒとトリガレベル値Ｉｔｈとの比較に基づき保存停止信号Ｓｔｐを出力する。そして、メモリ制御部１７は、保存開始信号Ｓｔｒの保存開始タイミングでメモリ１６への書き込みを可能状態にし、保存停止信号Ｓｔｐの保存停止タイミングでメモリ１６への書き込みを不可状態にしている。
【００５０】
また、このようなトリガ処理部２２の処理と並行して、履歴処理部１２は、保存種別情報Ｉｓｖが示す種別のデータを履歴データＳｖとして、サーボ演算部１４から取り込み、書込用履歴データＷｓｖとしてメモリ１６に供給している。
【００５１】
履歴処理部１２が以上のような動作を実行することで、メモリ１６の演算履歴保存領域である履歴エリア２６には、保存開始から保存停止までの履歴データＳｖが、サーボ演算周期Ｔｓｖ毎に記憶される。
【００５２】
より具体的な履歴処理部１２の動作例として、例えば、保存対象データを指定する保存種別情報Ｉｔｒを「位置偏差」、トリガ対象データを指定するトリガ種別情報Ｉｓｖを「回転速度」とし、トリガレベル値Ｉｔｈを「１０００ｒｐｍ」とした場合、履歴処理部１２は、次のような処理を実行する。すなわち、履歴処理部１２は、サーボ演算部１４における位置偏差のデータを履歴データＳｖとして取り込む。そして、履歴処理部１２は、トリガ用データＴｒである回転速度が、トリガレベル値Ｉｔｈである１０００ｒｐｍとなるまで、サーボ演算周期Ｔｓｖ毎に、履歴データＳｖとして取り込んだ位置偏差のデータを、メモリ１６に履歴として記録する。
【００５３】
特に、詳細については以下で説明するが、保存停止の動作に関しては、トリガを最初に検出したサーボアンプ１１とそれ以外のサーボアンプ１１とで動作が異なるように、本実施の形態では構成している。本実施の形態では、このような構成とすることにより、最後に履歴データＳｖを取得するタイミングをそれぞれのサーボアンプ１１間で一致させている。
【００５４】
また、読出コマンドＲｈｓにより読み出しの指示が成されると、履歴処理部１２は、メモリ１６に保存された一群の履歴データＳｖを読出履歴データＲｓｖとして読み出し、通信部１３に転送する。そして、通信部１３は、通信レスポンスＣｒｓｐとして上位装置４５に伝送する。
【００５５】
次に、上位装置４５とそれぞれのサーボアンプ１１との間で行われるデータの流れを中心に、本実施の形態におけるサーボシステムの詳細な動作について説明する。
【００５６】
上述したように、上位装置４５とそれぞれのサーボアンプ１１との間において、通信コマンドＣｃｍｄおよび通信レスポンスＣｒｓｐを含む通信信号Ｃｍが伝送されている。通信コマンドＣｃｍｄは、上位装置４５からサーボアンプ１１それぞれへ送信するデータであり、通信レスポンスＣｒｓｐは、サーボアンプ１１それぞれから上位装置４５へ返信するデータである。通信コマンドＣｃｍｄは、上位装置４５から発信され、通信線４１を介して、各サーボアンプ１１へ到達する。また、通信レスポンスＣｒｓｐは、各サーボアンプ１１から返信され、通信線４１を介して、上位装置４５へ到達する。
【００５７】
通信コマンドＣｃｍｄの送信は、図３に示すように、時刻ｔａにおいて、上位装置４５から各サーボアンプ１１に向けて実行される。通信コマンドＣｃｍｄには、サーボアンプ１１１、１１２および１１３のそれぞれに対する個別の指示が含まれる。それぞれのサーボアンプ１１の通信部は、受け取った通信コマンドＣｃｍｄを確認し、最初に、それぞれを識別するための軸アドレスを参照し、自らに対する指示である通信コマンドＣｃｍｄを抽出する。
【００５８】
まず、時刻ｔａでは、上位装置４５において通信部４６に対して、各サーボアンプ１１に指示すべき通信コマンドＣｃｍｄが設定される。ここで、時刻ｔａは、指令更新周期Ｔｉｎｓと、通信部４６の通信周期Ｔｃｍと、が更新されるタイミングである。
【００５９】
次に、時刻ｔｂでは、通信部４６からサーボアンプ１１１、１１２および１１３のそれぞれの通信部１３に対して、通信コマンドＣｃｍｄが同時に送信される。ここで、時刻ｔｂは、通信部４６と通信部１３との間の通信周期Ｔｃｍと、各サーボアンプ１１のサーボ演算周期Ｔｓｖと、が更新されるタイミングである。
【００６０】
その後、通信コマンドＣｃｍｄを受け取った、それぞれのサーボアンプ１１は、軸アドレスにより、自らに対する通信コマンドＣｃｍｄを識別する。それぞれのサーボアンプ１１は、識別したそれぞれの通信コマンドＣｃｍｄに基づき、サーボ演算処理を実行する。
【００６１】
また、通信レスポンスＣｒｓｐの返信は、図３に示すように、時刻ｔｄにおいて、それぞれのサーボアンプ１１から上位装置４５に向けて、実行される。
【００６２】
まず、時刻ｔｄでは、各サーボアンプ１１内において、通信部１３に対し、上位装置４５への応答として、それぞれの通信レスポンスＣｒｓｐが設定される。ここで、時刻ｔｄは、各サーボアンプ１１のサーボ演算周期Ｔｓｖと、通信部１３の通信周期Ｔｃｍと、が更新されるタイミングである。
【００６３】
次に、時刻ｔｅでは、通信部１３から上位装置４５の通信部４６に対して、通信レスポンスＣｒｓｐが送信される。通信レスポンスＣｒｓｐは、それぞれのサーボアンプ１１における通信レスポンスが合成された情報である。ここで、時刻ｔｅは、通信部１３と通信部４６との間の通信周期Ｔｃｍと、指令更新周期Ｔｉｎｓと、が更新されるタイミングである。
【００６４】
ところで、時刻ｔｃにおいて、各サーボアンプ１１内で通信部１３に対して、それぞれの通信レスポンスが設定されることがある。この場合、時刻ｔｄで、通信部１３から上位装置４５の通信部４６に対して、通信レスポンスＣｒｓｐが送信できる状態となる。しかしながら、時刻ｔｄは、通信部４６の通信周期Ｔｃｍと、指令更新周期Ｔｉｎｓと、が更新されるタイミングではない。よって、時刻ｔｄでは、通信部１３から上位装置４５に対して、通信レスポンスＣｒｓｐが送信されない。その後、通信部４６の通信周期Ｔｃｍと、指令更新周期Ｔｉｎｓと、が更新されるタイミングである時刻ｔｅにおいて、通信部１３から上位装置４５に対して、通信レスポンスＣｒｓｐが送信される。
【００６５】
以上、上述した流れにより、上位装置４５とサーボアンプ１１のそれぞれとの間で、データの送受信が行われる。
【００６６】
また、サーボシステムが、リング型ネットワーク・トポロジー（Ｒｉｎｇ  Ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ）で構成されている場合、それぞれのサーボアンプには、各サーボアンプと上位装置との接続順に、通信コマンドが伝達される。同様に、上位装置には、上位装置と各サーボアンプとの接続順に、通信レスポンスが伝達される。つまり、全てのサーボアンプから送信された通信レスポンスを取得できるのは、最後段に位置するサーボアンプとなる。
【００６７】
あるいは、サーボシステムが、ライン型ネットワーク・トポロジー（Ｌｉｎｅ  Ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ）で構成されている場合、それぞれのサーボアンプは、接続された順番に係わらず、通信周期が更新されるタイミングで、他のサーボアンプから送信された通信レスポンスを取得する。例えば、本実施の形態において、通信周期Ｔｃｍが更新されるタイミングとは、図３に示すような時刻ｔａ、時刻ｔｂ、時刻ｔｃ、時刻ｔｄ、時刻ｔｅなどである。
【００６８】
本実施の形態におけるサーボシステム１０は、ライン型ネットワーク・トポロジーを用いることで、顕著な作用効果を得ることができる。よって、以下の説明において、サーボシステム１０は、ライン型ネットワーク・トポロジーを前提として、説明を行う。
【００６９】
図４は、本発明の実施の形態におけるサーボシステムで用いる通信コマンドＣｃｍｄと通信レスポンスＣｒｓｐとのデータ構成を示す図である。
【００７０】
次に、図４を参照しながら、通信コマンドＣｃｍｄおよび通信レスポンスＣｒｓｐの構成とともに、サーボ演算情報として履歴データＳｖが、メモリ１６に保存される処理について説明する。
【００７１】
上位装置４５からサーボアンプ１１へは、図４で一例を示すような１軸分のサーボ軸用の、１軸に着目した場合の通信コマンドＣｃｍｄが送信され、サーボアンプ１１から上位装置４５へは、通信レスポンスＣｒｓｐが送信される。
【００７２】
図４に示すように、通信コマンドＣｃｍｄには、履歴処理部１２における履歴保存および履歴読出に関連するデータやコマンドが含まれている。履歴保存用としては、上述したような次のデータがある。すなわち、メモリ１６に保存する対象を特定するための保存種別情報Ｉｔｒ、メモリ１６への保存開始を指示するための保存開始コマンドＳｔａｒ、トリガ処理に利用する対象を特定するためのトリガ対象情報Ｉｔｒや、トリガ処理に利用するトリガのレベルを示すトリガレベル値Ｉｔｈである。
【００７３】
また、履歴読出用としては、読み出しを指示するための読出コマンドＲｈｓ、メモリ１６から読み出すデータを指定するための読出データ番号ｒｉがある。ここで、本実施の形態では、読出データ番号ｒｉは、データを保存した最新から過去に向かっての順番の数としている。すなわち、本実施の形態では、読出データ番号ｒｉが１のときは、最新の保存されたデータを指定し、読出データ番号ｒｉが２のときは、その１つ前にメモリ１６に保存されたデータを指定するように設定している。このような設定とすることにより、上位装置４５は、メモリ１６のアドレスを指定することなく、最新の読出履歴データＲｓｖから順に古い読出履歴データＲｓｖを読み出していくことができる。さらに、最新の読出履歴データＲｓｖから読み出せるため、サーボアンプ１１１、サーボアンプ１１２およびサーボアンプ１１３のそれぞれから、同時刻となる最新の読出履歴データＲｓｖを読み出すことができ、サーボアンプ１１それぞれのメモリ１６に保存した一群の履歴データＳｖの時間軸を一致させることができる。
【００７４】
また、このようにメモリ１６から読み出した読出履歴データＲｓｖは、図４の通信レスポンスＣｒｓｐに示すように、読出データＲｓｖ（ｒｉ）として、サーボアンプ１１の通信部１３から上位装置４５へと伝送される。
【００７５】
以上のように、保存種別情報Ｉｔｒで特定されたサーボ演算情報である履歴データＳｖは、メモリ１６に保存される。履歴データＳｖは、サーボ演算処理にて用いられる制御データの一部である。履歴データＳｖは、例えば、モータ現在位置やモータ現在速度などのように、予めその内容が保存種別情報Ｉｔｒによって定められる。サーボ演算処理は、サーボ演算部１４で実行される。
【００７６】
上位装置４５から送信される通信コマンドＣｃｍｄには、保存種別情報Ｉｔｒとともに保存開始コマンドＳｔａｒが含まれる。
【００７７】
履歴データＳｖをメモリ１６に保存させるため、上位装置４５から保存開始コマンドＳｔａｒを各サーボアンプ１１に同一通信周期Ｔｃｍにて送信する。
【００７８】
なお、保存開始コマンドＳｔａｒは、外部装置５５から、上位装置４５のＩ／Ｆ部４７を介して各サーボアンプ１１に対して送信してもよい。
【００７９】
１つの通信コマンドＣｃｍｄには、保存開始コマンドＳｔａｒとともに、動作コマンドと、トリガ対象情報Ｉｔｒと、トリガレベル値Ｉｔｈと、が含まれる。この通信コマンドＣｃｍｄに対して返信される、１軸分の通信レスポンスＣｒｓｐには、保存種別情報Ｉｔｒとともに、軸アドレスエコーと、動作コマンドエコーと、トリガ検出フラグと、保存開始コマンドエコーと、トリガ設定状態Ｓｔｒと、読出コマンドエコーとが含まれる。保存種別情報Ｉｔｒで指定される履歴データＳｖには、最新のサーボ演算処理で算出された情報が用いられる。
【００８０】
トリガ設定状態Ｓｔｒは、２値の情報である。例えば、トリガ対象情報ＩｔｒとトリガレベルＩｔｈとがサーボアンプ１１に設定されている場合、トリガ設定状態Ｓｔｒは、トリガ処理が設定されていることを示す“１”となる。他の場合、すなわち、トリガ対象情報ＩｔｒとトリガレベルＩｔｈとがサーボアンプ１１に設定されていない場合、トリガ設定状態Ｓｔｒは、トリガ処理が設定されていないことを示す“０”となる。
【００８１】
上位装置４５あるいは外部装置５５において、通信レスポンスＣｒｓｐに含まれるトリガ設定状態Ｓｔｒを確認すれば、それぞれのサーボアンプ１１で、正しくトリガ対象情報Ｉｔｒと、トリガレベルＩｔｈとが、設定できているか否かを判断できる。
【００８２】
履歴処理部１２が保存開始コマンドＳｔａｒを受信すれば、サーボアンプ１１では、受信後のタイミングで実行されるサーボ演算処理で使用する履歴データＳｖを、メモリ１６内に割り当てられている履歴エリア２６［ｍ］（ｍは整数）に保存する。
【００８３】
履歴エリア２６［ｍ］において、ｍはメモリ１６のアドレスに対応しており、１回目のデータは、履歴エリア２６［１］に保存される。その後、順次演算された結果は、履歴エリア２６［２］、履歴エリア２６［３］、以下同様、に順に保存される。ｍ回目のデータは、履歴エリア２６［ｍ］に保存される。
【００８４】
やがて、メモリ１６内において、履歴データＳｖを保存する領域は、上限の回数であるｍ回に達する。このとき、ｍ＋１回目の履歴データＳｖは、履歴エリア２６［１］に上書きされる。その後、ｍ＋２回目の履歴データＳｖは、順次、履歴エリア２６［２］、履歴エリア２６［３］、以下同様、に順に上書きされる。このように、本実施の形態の履歴エリア２６［ｍ］は、いわゆるリングバッファメモリを構成している。
【００８５】
次に、トリガ処理部２２の動作について、説明する。
【００８６】
トリガ処理部２２は、通信コマンドＣｃｍｄからのトリガ対象情報Ｉｔｒおよびトリガレベル値Ｉｔｈによりトリガ条件を設定し、トリガ対象情報Ｉｔｒで指定されたトリガ用データＴｒとトリガレベル値Ｉｔｈとの比較に基づき、履歴データＳｖの保存停止をメモリ１６に指示する。
【００８７】
図５は、トリガ条件の設定と、トリガの検出について、その一例を示す図である。図５では、トリガ対象情報Ｉｔｒとして「回転速度」を設定し、サーボ演算部１４から、その「回転速度」に対応する回転速度データをトリガ用データＴｒとして抽出した一例を示している。図５に示すように、トリガ処理部２２は、サーボ演算周期Ｔｓｖ毎に、トリガ用データＴｒがトリガレベル値Ｉｔｈを超えたかどうかを判定している。上述のトリガ対象情報Ｉｔｒおよびトリガレベル値Ｉｔｈによりトリガ条件が設定されると、図５に示すように、例えばモータ現在速度などのトリガ用データＴｒが、予め設定されたトリガレベル値Ｉｔｈ以上であるかをサーボ演算周期Ｔｓｖ毎に判断する。
【００８８】
図５の場合は、サーボ演算周期Ｔｓｖ毎にトリガ用データＴｒの値が増加する例を示しており、トリガ用データＴｒがトリガレベル値Ｉｔｈ以上となった場合、トリガ処理部２２は、通信レスポンスＣｒｓｐに含まれるトリガ検出フラグＦｔｒに、トリガが検出されたという判断結果を２値の情報である“１”として設定する。
【００８９】
次に、履歴データＳｖの保存停止について図６を用いて説明する。なお、以下、適宜、トリガ用データＴｒがトリガレベル値Ｉｔｈ以上となったときを、トリガが検出されたとして説明する。
【００９０】
履歴データＳｖの保存停止は、トリガを最初に検出したサーボアンプ１１とそれ以外のサーボアンプ１１で動作が異なるため、まずトリガを最初に検出したサーボアンプ１１における動作について説明する。なお、前者を保存停止の動作１、後者を保存停止の動作２とする。また、図６では、第１のサーボアンプ１１１がトリガを最初に検出し、第２のサーボアンプ１１２と第３のサーボアンプ１１３とがそれ以外の場合を示している。
【００９１】
まず、保存停止の動作１について説明する。
【００９２】
図６に示す時刻ｔｆにおいて、第１のサーボアンプ１１１のトリガ処理部２２でトリガが検出された場合、トリガ処理部２２では続けて、メモリ１６へ履歴データＳｖの保存停止を指示するタイミングまでの保留回数を算出する。すなわち、トリガを最初に検出したサーボアンプ１１では、直ちに履歴データＳｖの保存を停止するのではなく、次に説明する保留回数だけ保存した後に、保存を停止する。この保留回数は、現在のサーボ演算周期Ｔｓｖが通信周期Ｔｃｍに対して何回目であるか、という情報をトリガ検出周期番号とした、次の演算によって求められる。
【００９３】
保留回数＝（２×通信周期／サーボ演算周期−トリガ検出周期番号＋１）、但し、小数点以下は切り捨て。
【００９４】
図６の例においては、次のように算出される。
【００９５】
保留回数＝２×０．５／０．１６６―２＋１＝５（小数点以下は切り捨て）。
【００９６】
算出された保留回数は、トリガが検出された時刻ｔｆ以降、サーボ演算周期Ｔｓｖ毎に「１」ずつ、減算される。その後、保留回数が「０」となる、時刻ｔｈのサーボ演算周期Ｔｓｖで、トリガを検出したサーボアンプ１１のトリガ処理部２２は、メモリ１６へ履歴データＳｖの保存停止を指示し、履歴データＳｖの保存が停止される。
【００９７】
次に、保存停止の動作２について説明する。
【００９８】
すなわち、トリガを最初に検出した第１のサーボアンプ１１１以外の第２、第３のサーボアンプ１１２、１１３における、トリガ処理部２２の動作について説明する。
【００９９】
図６の時刻ｔｆで第１のサーボアンプ１１１のトリガ処理部２２によって更新されたトリガ検出フラグＦｔｒは、時刻ｔｇのタイミングで通信レスポンスＣｒｓｐとして通信部１３に送信される。通信レスポンスＣｒｓｐは、時刻ｔｈで、通信レスポンスＣｒｓｐとして第２、第３のサーボアンプ１１２、１１３へ伝達される。ここで、時刻ｔｈは、通信部１３の通信周期Ｔｃｍと、各サーボアンプ１１のサーボ演算周期Ｔｓｖとが更新されるタイミングである。第２、第３のサーボアンプ１１２、１１３のトリガ処理部２２は、第１のサーボアンプ１１１経由で伝達された通信レスポンスＣｒｓｐに含まれるトリガ検出フラグＦｔｒによって、自軸以外のサーボアンプ１１でトリガが検出されたかどうかを判断する。そして、トリガが検出されていたと判断した場合、自軸のメモリ１６へ履歴データＳｖの保存停止を指示し、履歴データＳｖの保存が停止される。
【０１００】
なお、保存停止の動作２の方が、保存停止の動作１よりも制御における優先度が高いものとする。これは、例えば時刻ｔｇにおいて、第３のサーボアンプ１１３がトリガを検出した場合に、保存停止の動作１に従うと、実際に第３のサーボアンプ１１３での保存停止が行われるのは、時刻ｔｉのタイミングとなってしまうためである。ここで、時刻ｔｇは、時刻ｔｆで第１のサーボアンプ１１１がトリガを検出し、その情報が他のサーボ軸へ伝達されない区間である。これに対し、保存停止の動作２の優先度を高くすることで、第３のサーボアンプ１１３は、時刻ｔｈのタイミングで伝達されるトリガ検出フラグＦｔｒにより、自軸のメモリ１６に対して履歴データＳｖの保存停止を指示し、履歴データＳｖの保存を停止することができる。
【０１０１】
以上に示したトリガ処理部２２の動作により、第１、第２、第３のサーボアンプ１１１、１１２、１１３それぞれにおける履歴データＳｖの保存を停止するタイミングが時刻ｔｈで揃うことになる。このため、それぞれの履歴データＳｖの時間軸を一致させる効果が得られる。
【０１０２】
次に、サーボアンプ１１のメモリ１６に保存された情報の読み出しについて、図１、図４を用いて説明する。
【０１０３】
上位装置４５は、メモリ１６に保存された履歴データＳｖを読み出すために、通信部４６を介して、それぞれのサーボアンプ１１に対して、読み出しを指示する。
【０１０４】
実際には、読出コマンドＲｈｓと、読み出す対象となる履歴データＳｖを指定するための読出データ番号ｒｉを送信する。
【０１０５】
なお、読出コマンドＲｈｓと読出データ番号ｒｉとは、外部装置５５からＩ／Ｆ部５７を用いて上位装置４５経由で送信しても良い。
【０１０６】
サーボアンプ１１は、読出コマンドＲｈｓと読出データ番号ｒｉとを受信すると、受信した読出データ番号ｒｉで指定される内容に従い、指定された履歴エリア２６［ｍ］から、指定された履歴データＳｖを読み出す。その後、サーボアンプ１１は、読み出した履歴データＳｖを読出データＲｓｖ（ｒｉ）として、通信部１３を介して上位装置４５に返信する。
【０１０７】
ここで、履歴エリア２６［ｍ］の指定方法について、一例を挙げて説明する。
【０１０８】
読出データ番号ｒｉが、１の場合を最新の履歴データＳｖとする。このとき、サーボアンプ１１は、最終保存データの保存先である履歴エリア２６［ｉ］が有するデータを返信する。
【０１０９】
また、読出データ番号ｒｉが、２の場合を最新の状態より１回前のデータとすると、履歴エリア２６［ｉ−１］が有するデータを返信する。
【０１１０】
保存停止したデータは、次の方法で利用できる。
【０１１１】
それぞれのサーボ軸に含まれる履歴データＳｖは、履歴エリア２６［ｉ］から読み出される。読み出された履歴データＳｖは、通信部１３を介して上位装置４５に読み出される。読み出された履歴データＳｖは、サーボゲインの調整などに利用できる。
【０１１２】
上位装置４５からサーボシステム外部への読み出しは、次の方法で利用できる。
【０１１３】
上位装置４５は、例えばパーソナルコンピュータなどの外部装置５５と接続される。
【０１１４】
上位装置４５と外部装置５５とは、例えば、ＲＳ２３２Ｃ、ＵＳＢなどの規格に対応した外部のシリアル通信手段としてのＩ／Ｆ部５７で接続できる。外部装置５５に読み込まれた履歴データＳｖは、外部装置５５上で、グラフ化するなどして、利用できる。
【０１１５】
あるいは、それぞれのサーボアンプ１１と外部装置５５とは、サーボアンプ１１に備えられたＵＳＢ端子を介して、直接、ＵＳＢケーブルなどで接続できる場合もある。その場合、履歴データＳｖは、ＵＳＢケーブルを介して、直接、外部装置５５に読み出される。
【０１１６】
以上、本実施の形態の構成とすれば、上位装置４５が履歴データＳｖの保存停止を指示する手段を有していないサーボシステムであっても、時間軸が一致した履歴データＳｖを取得できる。よって、本実施の形態におけるサーボシステムは、それぞれのサーボアンプが制御する複数のサーボ軸が相互に与える影響について、詳細に分析できる。
【０１１７】
また、図８は、比較例として図７における従来構成のタイミングを示すタイミングチャートであり、ここで図８を参照しながら、本構成との差異を説明する。
【０１１８】
図８の比較例において、サーボアンプ７１が時刻ｔｊでトリガを検出すると、トリガ検出フラグは時刻ｔｋで上位装置８５へ通知されることとなり、上位装置８５から全てのサーボアンプ７１へ履歴データＳｖの保存停止が指示されるのは時刻ｔｌのサーボ演算周期となる。この場合、トリガを検出してから履歴データＳｖの保存を停止する指示がサーボアンプ７１に伝わるまでに、サーボ演算周期の１４周期分の時間だけ遅れることとなる。
【０１１９】
一方で、本実施の形態の構成ではトリガを検出したサーボ演算周期からサーボ演算周期の５周期分の時間の遅れで停止の指示を実行することができ、比較例と比較した場合に、サーボ演算情報の保存停止タイミングを大幅に高速化することができる。
【０１２０】
また、本実施の形態の構成を応用して、図６中の時刻ｔｆにおけるトリガ条件をサーボアンプで検出できるサーボシステムの異常が発生した条件とし、時刻ｔｈにおける動作を履歴データの保存停止ではなく、モータの停止処理へと変更する。このように変更した場合に、異常発生時に複数のサーボ軸のモータ動作の停止タイミングを同期させることができる。
【０１２１】
ガントリ構成の機構など、複数のサーボ軸の同時動作が必要な機構においては、モータの停止タイミングのずれにより機構がねじれ、装置破損などにつながる恐れがあるが、本実施の形態の応用例を適用した場合は、機構のねじれや装置破損を軽減する効果も得られる。
【産業上の利用可能性】
【０１２２】
本発明のサーボシステム、およびサーボシステムの制御方法は、同期型シリアル通信で複数のサーボ軸を同期制御する半導体製造装置や電子部品実装機などに有用である。
【符号の説明】
【０１２３】
１０，７０    サーボシステム
１１，７１，１１１，１１２，１１３    サーボアンプ
１２    履歴処理部
１３，４６    通信部
１４，７４    サーボ演算部
１８    駆動部
１５    タイミング生成部
１６，７６    メモリ
１７    メモリ制御部
２２    トリガ処理部
２６    履歴エリア
３０    モータ
３１    負荷
４１，８１    通信線
４５，８５    上位装置
４７，５７    Ｉ／Ｆ部
５５，９５    外部装置
【図１】
2018084036.tif 000003
【図２】
2018084036.tif 000004
【図３】
2018084036.tif 000005
【図４】
2018084036.tif 000006
【図５】
2018084036.tif 000007
【図６】
2018084036.tif 000008
【図７】
2018084036.tif 000009
【図８】
2018084036.tif 000010
【手続補正書】
【提出日】平成31年4月4日(2019.4.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーボアンプを制御するサーボシステムおよびその制御方法に関し、特に、例えば産業用の高速ネットワーク通信のようなシリアル通信により、複数のサーボ軸が同期して動作するように、それぞれを同時制御する、サーボシステムおよびその制御方法において、そのサーボ演算における履歴データの保存および読み出しの構成および方法に関する。
【背景技術】
【０００２】
従来、サーボシステムでは、サーボ演算における情報を履歴データとして記憶部であるメモリに保存するとともに、上位装置を介して接続された外部装置に、履歴データを読み出す機能を有するものがある。
【０００３】
例えば、図７に示すように、このような複数のサーボ軸を制御する従来のサーボシステム７０のサーボアンプ７１それぞれにおいて、サーボ演算部７４におけるサーボ演算での情報は、履歴データＳｖとしてメモリ７６に保存される。保存された履歴データＳｖは、上位装置８５を介して外部装置９５に読み出されて、サーボ制御ゲインの調整等に利用される。保存される履歴データＳｖは、サーボ演算周期の過去ｍ回分（ｍは整数）の情報である。履歴データＳｖの例としては、例えばモータ現在位置や、モータ現在速度などがある。
【０００４】
図７中、サーボシステム７０が備える、上位装置８５と、複数のサーボアンプ７１とは、通信線８１で接続される。複数のサーボアンプ７１それぞれのサーボ演算部７４が演算を実行するときのサーボ演算の情報において、それらサーボ演算での情報が有する時間軸が揃っていれば、サーボアンプ７１は、それぞれのサーボ軸を調整する際、より精度よく調整できる。
【０００５】
ところで、通信タイミングとサーボ演算処理との同期を取る技術として、例えば、特許文献１のような技術が開示されている。
【０００６】
また、それぞれのサーボ演算に基づく履歴データＳｖの時間軸を一致させる技術として、上述の図７に示す構成において、上位装置８５からそれぞれのサーボアンプ７１に対して、履歴データＳｖの保存開始や保存停止を指示するような構成が開示されている（例えば、特許文献２参照）。
【０００７】
つまり、上記従来のサーボシステム７０では、上位装置８５から、履歴データＳｖの保存停止の指示が必要となる。
【０００８】
ところで、近年、ＥｔｈｅｒＣＡＴ（登録商標）を始めとする、オープンネットワークが普及している。よって、オープンネットワークの普及に伴い、サーボシステムは、上位装置の提供者と、サーボアンプの提供者とが異なる組合せが増えている。したがって、上位装置がサーボ演算情報の保存停止を指示する機能を有していない場合、それぞれのサーボ演算情報が有する時間軸を一致させることができない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３―１８９６５４号公報
【特許文献２】特開２００８−１７６６７３号公報
【発明の概要】
【００１０】
本発明のサーボシステムは、上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムである。本サーボシステムにおけるサーボアンプのそれぞれは、サーボ演算処理をするサーボ演算部と、通信信号の送受信を行う通信部と、サーボ演算処理におけるサーボ演算の情報を履歴データとして保存する記憶部と、履歴データの保存を停止するための保存停止条件を予め設定し、サーボ演算周期毎に、保存停止条件に合致するかを判定し、保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとして通信部へ通知するトリガ情報処理部とを備える。
【００１１】
また、本発明のサーボシステムの制御方法は、上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムである。本サーボシステムの制御方法は、サーボ演算処理におけるサーボ演算の情報を履歴データとして記憶する記憶部に、履歴データの保存を停止するための保存停止条件を予め設定するステップと、サーボ演算周期毎に、保存停止条件に合致するかの判定を行うステップと、保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとするステップとを備える。
【００１２】
本発明のサーボシステムおよびその制御方法によれば、通信部を介して履歴データの保存停止を指示する機能を有していない上位装置を用いた構成であっても、複数のサーボアンプがサーボ演算を実行した履歴データが有する時間軸を一致させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態におけるサーボシステムの要部説明図である。
【図２】図２は、本発明の実施の形態におけるサーボシステムで用いる通信周期やサーボ演算周期を含むタイミングの一例を示すタイミングチャートである。
【図３】図３は、本発明の実施の形態におけるサーボシステムが有する、上位装置とサーボアンプとが送受信するデータのタイミングの一例を示すタイミングチャートである。
【図４】図４は、本発明の実施の形態におけるサーボシステムで用いる通信コマンドと通信レスポンスのデータ構成を示す図である。
【図５】図５は、トリガ条件の設定と、トリガの検出について、その一例を示す図である。
【図６】図６は、本発明の実施の形態におけるサーボシステムで用いられるサーボ演算情報の保存停止タイミングに関するタイミングチャートである。
【図７】図７は、従来のサーボシステムの構成図である。
【図８】図８は、比較例として図７における従来構成のサーボシステムでのタイミングを示すタイミングチャートである。
【発明を実施するための形態】
【００１４】
本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態は、本発明を具現化した一例であって、本発明の技術的範囲を制限するものではない。
【００１５】
（実施の形態）
図１は、本発明の実施の形態におけるサーボシステム１０の構成図である。
【００１６】
図１に示すように、本実施の形態におけるサーボシステム１０は、上位装置４５と複数のサーボアンプ１１とが、通信線４１を介して、１対１接続の双方向のライン型ネットワークトポロジーで通信接続される構成である。図１では、複数のサーボアンプ１１として、それぞれ同じ内部構成である３つのサーボアンプ１１が、第１のサーボアンプ１１１、第２のサーボアンプ１１２および第３のサーボアンプ１１３の順に上位装置４５から接続されている一例を示している。そして、これらサーボアンプ１１それぞれの出力には、負荷３１を作動させるためのモータ３０が接続されている。本実施の形態では、このような構成により、負荷３１が所望の動作を実行するように、上位装置４５からの指令に従って、サーボアンプ１１がモータ３０をそれぞれに駆動制御する。なお、以下、適宜、サーボアンプ１１を特定する場合には、第１、第２、第３のサーボアンプをそれぞれ、サーボアンプ１１１、１１２、１１３として区分し、それぞれを総称する場合にサーボアンプ１１として説明する。また、サーボアンプ１１の台数は、複数であればよく、他の台数でもよい。
【００１７】
このようなサーボアンプ１１それぞれに対して、制御パラメータを設定したり動作指令を与えたりするために、上位装置４５が、通信用データの送受信を行う通信部４６を備えるとともに、サーボアンプ１１それぞれも、同様の通信部１３を備えている。そして、図１に示すように、通信部４６と通信部１３のそれぞれとが接続されおり、通信線４１を介して、各種情報を含む通信信号Ｃｍが双方向に伝送される。この具体的な通信手法としては、同期型のシリアル通信などが好ましく、例えば、近年の産業用の高速ネットワーク通信として知られる上述のようなＥｔｈｅｒＣＡＴ（登録商標）通信などが好適である。
【００１８】
また、通信内容として、パラメータ設定などに関しては、システムの立上げ時やシステムの動作を変更する場合などにおいて実行される。この制御パラメータとしては、制御ゲインやフィルタの特性に関する設定値などがある。さらに、上位装置４５は、パラメータ設定に加えて、モータ３０が所望の動き動作をするように、サーボアンプ１１それぞれに対しての動作指令などを含めた各種情報を通信コマンドとして送出するとともに、サーボアンプ１１それぞれからの各種情報を通信レスポンスとして受信する。
【００１９】
特に、パラメータ設定に関しては初期設定時など不定期であるのに対して、動作指令に関しては、逐次、システム内での動作を指示する必要がある。このため、本実施の形態では、動作指令を更新したり送出したりする基準周期を設定している。
【００２０】
すなわち、本実施の形態では、まず、上位装置４５が動作指令などを更新する周期として、上位装置４５は、動作指令更新周期Ｔｉｎｓごとに動作指令を生成し、更新している。そして、本実施の形態では、上位装置４５と複数のサーボアンプ１１とは、動作指令更新周期Ｔｉｎｓの１／Ｌ倍（Ｌは整数）の通信周期Ｔｃｍで、動作指令などのデータ交換を同期型シリアル通信で信号を送受信するような一例を挙げている。このように、上位装置４５は、基準周期としての通信周期Ｔｃｍ毎に、位置指令や速度指令などの動作指令を含む指令信号を送出している。また、サーボアンプ１１それぞれは、受け取った指令信号に基づき、モータ３０の動作を制御する。さらに、サーボアンプ１１それぞれは、通信周期Ｔｃｍ毎に上位装置４５に対して、動作状態などの動作情報を含む返信信号を送信する。
【００２１】
さらに、詳細については以下で説明するが、上位装置４５からは、通信周期Ｔｃｍ毎に通信タイミング信号Ｓｔが送信されている。そして、サーボアンプ１１それぞれは、この通信タイミング信号Ｓｔに位相ロックしたクロック信号Ｃｋを基準に、各処理を実行している。
【００２２】
また、上位装置４５は、図１に示すように、複数のサーボアンプ１１との通信線４１を介したシリアル通信とは別の外部のインタフェース部（以下、適宜、Ｉ／Ｆ部と記す）４７を介して、外部装置５５のＩ／Ｆ部５７と接続されていても良い。
【００２３】
次に、図１を参照しながら、まず、サーボアンプ１１の構成の概要について説明する。
【００２４】
図１に示すように、サーボアンプ１１は、通信部１３と、サーボ演算部１４と、タイミング生成部１５と、記憶部としてのメモリ１６と、メモリ制御部１７と、駆動部１８と、履歴処理部１２とを備える。また、履歴処理部１２は、トリガ処理部２２を有している。そして、駆動部１８から出力される駆動信号Ｖｄが、モータ３０に供給される。モータ３０には、負荷３１が接続される。
【００２５】
このような構成において、通信部１３は、上述のように上位装置４５と通信信号Ｃｍにより情報や信号のやり取りを行う。さらに、上位装置４５からの指令に従って、モータ３０の動作を駆動制御するため、サーボアンプ１１は、モータ３０の位置、速度やトルクを制御するためのサーボ演算部１４と、モータ３０の巻線を通電駆動するための駆動部１８とを備えている。サーボ演算部１４は、位置を制御する位置制御、速度を制御する速度制御およびトルクに関する処理を行うトルク処理など、以下で説明するサーボ演算周期Ｔｓｖ毎にサーボ演算処理を行う。タイミング生成部１５は、通信タイミング信号Ｓｔに位相ロックしたクロック信号Ｃｋを生成するとともに、サーボ演算周期Ｔｓｖを通信周期Ｔｃｍの１／Ｍ倍（Ｍは整数）で同期させるなど、通信タイミング信号Ｓｔに位相ロックした各種のタイミング信号を生成する。また、駆動部１８は、サーボ演算部１４でのサーボ演算処理にて算出された駆動データＤｄに基づく駆動信号Ｖｄを生成する。
【００２６】
そして、本実施の形態では、サーボ演算部１４でのサーボ演算処理で使用するデータの履歴を取得可能なように、サーボアンプ１１を構成していることを特徴としている。すなわち、本実施の形態では、サーボ演算部１４でのデータの履歴に関する処理を実行するために、さらに、履歴処理部１２と、メモリ１６と、メモリ制御部１７とを備えている。ここで、履歴処理部１２は、上位装置４５からの指示に基づき、履歴処理の実行が指示されると、サーボ演算部１４における各種の制御データの中から、その一部である履歴データＳｖを抽出する。さらに、履歴処理部１２は、メモリ１６の読み書きなどを制御するためのメモリ制御部１７を制御し、これによって、メモリ１６は、過去Ｎ回分（Ｎは整数）のサーボ演算周期Ｔｓｖについて、サーボ演算情報である履歴データＳｖを記憶する。サーボ演算情報Ｓｖは、サーボ演算処理で用いた、制御データの一部である。サーボ演算情報Ｓｖの例としては、モータ現在位置やモータ現在速度などの情報があり、例えば、上位装置４５からの位置指令に対し、モータ現在位置が順次追従していくような履歴データＳｖがメモリ１６に保存される。
【００２７】
以上のように、上位装置４５は、一定の通信周期Ｔｃｍで、同期型シリアル通信で通信を行う通信部４６を介して、動作指令をそれぞれのサーボアンプ１１に送信する。動作指令には、位置指令などが含まれる。それぞれのサーボアンプ１１は、受信した動作指令に基いて、モータ３０を駆動する。モータ３０は、負荷３１に動力を伝える。なお、以下の説明において、サーボアンプ１１と、サーボアンプ１１に接続されたモータ３０とを、サーボ軸ともいう。
【００２８】
次に、サーボアンプ１１における各部のより詳細な構成について説明する。
【００２９】
サーボアンプ１１において、まず、通信部１３は、上述したように、通信線４１に接続されており、通信信号Ｃｍとして、上位装置４５から、制御パラメータや動作指令などを含めた各種情報を受信するとともに、上位装置４５に対して、サーボアンプ１１内での各種情報を送信する。
【００３０】
通信部１３は、例えばシステムを立上げる初期設定時などにおいて、各種ゲインやフィルタ定数などの一群のデータを含む制御パラメータを、上位装置４５から受け取り、サーボ演算部１４に設定する。また、上位装置４５は、初期設定などが完了すると、通信周期Ｔｃｍ毎に、通信信号Ｃｍでの通信コマンドＣｃｍｄとして、動作指令を含む情報を送出し、その情報を通信部１３が受け取る。通信部１３は、受け取った通信信号Ｃｍを解析し、自身に対して送られた通信コマンドＣｃｍｄを抽出する。さらに、抽出した通信コマンドＣｃｍｄから、例えば、位置や速度指令である指令データＲｉｎｓ、詳細については以下で説明する履歴処理用データＨｄｔや保存開始コマンドＳｔａｒをさらに抽出する。例えば、指令データＲｉｎｓは、図１に示すように、位置や速度指令としてサーボ演算部１４に通知され、サーボ演算部１４によって、この指令データＲｉｎｓが示す指令に追従するような動作制御が実行される。
【００３１】
図２は、本発明の実施の形態におけるサーボシステム１０で用いる通信周期Ｔｃｍやサーボ演算周期Ｔｓｖを含むタイミングの一例を示すタイミングチャートである。また、図３は、上位装置４５と第１のサーボアンプ１１１、第２のサーボアンプ１１２および第３のサーボアンプ１１３とが送受信するデータのタイミングの一例を示すタイミングチャートである。
【００３２】
ここで、図２および図３を参照しながら、具体的な一例を挙げて、通信周期Ｔｃｍやサーボ演算周期Ｔｓｖを含む各タイミングの関係について説明する。
【００３３】
すなわち、本実施の形態では、上述の動作指令更新周期Ｔｉｎｓと通信周期Ｔｃｍとの比率１／ＬでのＬについては、Ｌ＝２とし、さらに、通信周期Ｔｃｍとサーボ演算周期Ｔｓｖとの比率１／ＭでのＭについては、Ｍ＝３としている。
【００３４】
これより、本実施の形態において、上位装置４５での指令を更新する周期、すなわち指令更新周期Ｔｉｎｓは、１周期が１．０ｍｓと設定すると、サーボアンプ１１の通信周期Ｔｃｍは、指令更新周期Ｔｉｎｓの２分の１となり、１周期が０．５ｍｓである。さらに、通信周期Ｔｃｍは、１周期が０．５ｍｓであることより、サーボ演算周期Ｔｓｖは、図２に示すように、通信周期Ｔｃｍの３分の１となり、１周期が０．１６６ｍｓである。通信タイミング信号Ｓｔは、通信周期Ｔｃｍが１周期経過し、動作指令が送信される毎に、上位装置４５から通信信号Ｃｍに重畳して伝送される。また、サーボ演算周期Ｔｓｖが１周期経過する毎に、サーボ演算起動信号Ｓｓｖが発生する。サーボ演算起動信号Ｓｓｖが発生すると、それぞれのサーボアンプ１１では、図２および図３に示すように、サーボ演算処理が行われる。よって、本実施の形態では、通信周期Ｔｃｍが１周期経過する間に、３回のサーボ演算処理が実行される。
【００３５】
また、通信タイミング信号Ｓｔに同期したサーボ演算起動信号Ｓｓｖなどを生成するため、通信部１３は、この通信タイミング信号Ｓｔを検出し、タイミング生成部１５に転送する。ここで、動作指令などはデータとなる信号であるのに対して、通信タイミング信号Ｓｔは、周期的なタイミングを示すためのパルス信号である。本実施の形態では、この通信タイミング信号Ｓｔを同期信号として利用し、タイミング生成部１５において、通信タイミング信号Ｓｔの周期に同期したクロック信号Ｃｋを生成している。さらに、タイミング生成部１５は、クロック信号Ｃｋを分周する分周カウンタや位相比較器などを有しており、これらを利用して、いわゆるＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を構成している。このような構成により、ＰＬＬの原理の基づき、クロック信号Ｃｋが通信タイミング信号Ｓｔに位相ロックし、クロック信号Ｃｋが通信タイミング信号Ｓｔに同期する。クロック信号Ｃｋは、周知のとおり、サーボアンプ１１内のデジタル処理に利用される。さらに、分周カウンタなどを利用し、このクロック信号Ｃｋを所定の比率で分周することで、図２に示すようなパルス信号であるサーボ演算起動信号Ｓｓｖや、駆動部１８で利用するＰＷＭ（パルス幅変調）キャリア信号を生成するための信号（図示せず）などを生成している。なお、図２では、タイミング生成部１５が、通信タイミング信号Ｓｔに対するサーボ演算起動信号Ｓｓｖの遅れ時間ｔｄｌを一定にしたようなサーボ演算起動信号Ｓｓｖを生成する一例を示している。本実施の形態１において、遅れ時間ｔｄｌは、１０μｓである。
【００３６】
以上、サーボアンプ１１のクロック信号が自走の場合には、ハードウェアの製造ばらつきを要因として、クロック誤差等が生じることがある。クロック誤差等が生じると、通信周期Ｔｃｍは、サーボ演算周期Ｔｓｖの完全な整数倍にならないこともある。これに対し、本実施の形態では、タイミング生成部１５が通信タイミング信号Ｓｔの周期に同期したクロック信号Ｃｋを生成する構成としている。よって、それぞれのサーボ軸で実行されるサーボ演算処理は、起動タイミングが一致する。
【００３７】
次に、サーボ演算部１４には、タイミング生成部１５から、通信タイミング信号Ｓｔに同期したサーボ演算起動信号Ｓｓｖが供給される。サーボ演算部１４は、上述したように、このサーボ演算起動信号Ｓｓｖのタイミングに従い、同期してサーボ演算処理を実行する。よって、それぞれのサーボ軸で実行されるサーボ演算処理のタイミングも一致する。
【００３８】
さらに、サーボアンプ１１において、このサーボ演算部１４と駆動部１８とは、モータ３０の動作を制御するために設けている。ここで、モータ３０は、例えば、ＵＶＷ相の３相駆動のブラシレスモータである。すなわち、モータ３０は、各相に対応する巻線を備えたステータと永久磁石を保持したロータとを含む構成である。このステータの各巻線に、互いの位相が異なる駆動信号Ｖｄを加えることで巻線が通電され、巻線に電流が流れてロータが回転する。なお、モータ３０は、負荷３１に対して直接に直線的位置制御するリニアモータであってもよい。
【００３９】
このようなモータ３０を駆動制御するため、サーボ演算部１４は、モータ３０の位置、速度やトルクを制御する。そして、駆動部１８は、モータ３０の巻線を通電駆動する。
【００４０】
サーボアンプ１１がこのようにモータ３０を制御するため、まず、上位装置４５は、指令更新周期Ｔｉｎｓ毎に、動作指令としての指令データＲｉｎｓを生成している。この指令データＲｉｎｓは、通信周期Ｔｃｍ毎に、上位装置４５からサーボアンプ１１に対して、通信信号Ｃｍに含めて通知される。そして、通信部１３は、受け取った通信信号Ｃｍから指令データＲｉｎｓを抽出し、この指令データＲｉｎｓをサーボ演算部１４に供給する。指令データＲｉｎｓは、指令位置や指令速度を示すデータである。
【００４１】
ここで、例えば、上位装置４５からロータ位置を指令する位置指令が供給される場合には、サーボ演算部１４は、モータ３０の位置制御を行うように、次のような動作を行う。すなわち、サーボ演算部１４は、位置検出器などからの検出位置情報を利用したフィードバック制御によって、上位装置４５からの指令データＲｉｎｓが示す位置指令にモータ３０のロータの実回転位置が追従するように、回転動作を制御する。
【００４２】
このようなフィードバック制御を行うため、サーボ演算部１４は次のような演算処理を実行する。すなわち、サーボ演算部１４は、まず、位置制御として、位置指令と位置検出器（図示せず）からの検出位置情報との差である位置偏差を算出する。さらに、位置制御として、その位置偏差に対して位置ゲインを乗算するなどの演算を行うことで速度指令を算出する。また、サーボ演算部１４は、通知された位置検出情報に対して例えば微分演算を行うことによりモータ３０の回転速度を算出する。さらに、サーボ演算部１４は、この算出した回転速度と速度指令との差である速度偏差を算出する。さらに、サーボ演算部１４は、その速度偏差に対して比例演算や積分演算を行うことにより、モータ３０を作動させようとする駆動トルク量に対応したトルク指令を算出し、駆動データＤｄとして駆動部１８に供給する。
【００４３】
駆動部１８は、サーボ演算部１４から供給された駆動データＤｄに基づく駆動電圧Ｖｄを生成する。具体的には、駆動部１８は、パルス幅変調（ＰＷＭ）回路やスイッチ素子で構成されるインバータを有している。駆動部１８は、ＰＷＭ回路により、駆動データＤｄに応じてパルス幅変調されたパルス信号を生成し、それらパルス信号でインバータのスイッチ素子をオンオフ制御することで、駆動信号Ｖｄを生成している。このように、駆動部１８は、生成した駆動信号Ｖｄを相ごとの巻線に印加し、モータ３０を駆動している。
【００４４】
さらに、本実施の形態でのサーボアンプ１１は、上述したように、サーボ演算部１４での処理におけるデータを順次に抽出し、その履歴を保存するため、履歴処理部１２と、メモリ１６と、メモリ制御部１７とを備えている。
【００４５】
このような履歴処理を実行するため、まず、上位装置４５からの通信信号Ｃｍには、履歴処理に関する通信コマンドＣｃｍｄが含まれており、通信部１３は、履歴処理に関する通信コマンドＣｃｍｄを抽出して履歴処理部１２に供給する。履歴処理に関する通信コマンドＣｃｍｄとしては、履歴処理データＨｄｔ、保存開始コマンドＳｔａｒや読出コマンドＲｈｓなどが含まれる。
【００４６】
ここで、履歴処理データＨｄｔは、履歴として保存する対象データの保存種別情報Ｉｓｖ、保存停止のトリガとして利用する対象データのトリガ種別情報Ｉｔｒ、トリガでの判別値となるトリガレベル値Ｉｔｈなどが含まれる。保存種別情報Ｉｓｖは、サーボ演算部１４における処理として、例えば、位置偏差、速度偏差、回転速度などと指定する情報である。また、トリガ種別情報Ｉｔｒも、サーボ演算部１４における処理として、例えば、指令データＲｉｎｓや、保存種別情報Ｉｓｖと同様の位置偏差、速度偏差、回転速度などと指定する情報である。また、保存開始コマンドＳｔａｒは、メモリ１６への履歴保存の開始を指示するためのコマンドである。読出コマンドＲｈｓは、メモリ１６に履歴保存されたデータの読み出しの開始を指示するためのコマンドである。
【００４７】
次に、履歴処理部１２は、通信部１３からの履歴処理データＨｄｔや保存開始コマンドＳｔａｒに応じて、履歴保存に関する処理を実行する。履歴処理部１２は、保存開始コマンドＳｔａｒを参照し、保存開始コマンドＳｔａｒが保存開始を示すとき、履歴保存に関する処理を開始する。
【００４８】
また、履歴処理部１２は、トリガ処理部２２を有している。このトリガ処理部２２は、履歴保存に関する処理を停止させるために設けている。トリガ処理部２２には、履歴処理データＨｄｔに含まれるトリガ種別情報Ｉｔｒやトリガレベル値Ｉｔｈなどが供給される。トリガ処理部２２は、トリガ種別情報Ｉｔｒが示す種別のデータをトリガ用データＴｒとして、サーボ演算部１４から取り込む。さらに、トリガ処理部２２は、トリガ用データＴｒとトリガレベル値Ｉｔｈとを比較し、トリガ用データＴｒがトリガレベル値Ｉｔｈを超えた時点で、履歴保存に関する処理を停止する。
【００４９】
トリガ処理部２２は、このように履歴保存に関する処理を開始および停止させるため、メモリ制御部１７に対して、保存開始信号Ｓｔｒおよび保存停止信号Ｓｔｐを出力する。すなわち、トリガ処理部２２は、保存開始コマンドＳｔａｒに基づき保存開始信号Ｓｔｒを出力する。また、トリガ処理部２２は、上述のようなトリガ用データＴｒとトリガレベル値Ｉｔｈとの比較に基づき保存停止信号Ｓｔｐを出力する。そして、メモリ制御部１７は、保存開始信号Ｓｔｒの保存開始タイミングでメモリ１６への書き込みを可能状態にし、保存停止信号Ｓｔｐの保存停止タイミングでメモリ１６への書き込みを不可状態にしている。
【００５０】
また、このようなトリガ処理部２２の処理と並行して、履歴処理部１２は、保存種別情報Ｉｓｖが示す種別のデータを履歴データＳｖとして、サーボ演算部１４から取り込み、書込用履歴データＷｓｖとしてメモリ１６に供給している。
【００５１】
履歴処理部１２が以上のような動作を実行することで、メモリ１６の演算履歴保存領域である履歴エリア２６には、保存開始から保存停止までの履歴データＳｖが、サーボ演算周期Ｔｓｖ毎に記憶される。
【００５２】
より具体的な履歴処理部１２の動作例として、例えば、保存対象データを指定する保存種別情報Ｉｔｒを「位置偏差」、トリガ対象データを指定するトリガ種別情報Ｉｓｖを「回転速度」とし、トリガレベル値Ｉｔｈを「１０００ｒｐｍ」とした場合、履歴処理部１２は、次のような処理を実行する。すなわち、履歴処理部１２は、サーボ演算部１４における位置偏差のデータを履歴データＳｖとして取り込む。そして、履歴処理部１２は、トリガ用データＴｒである回転速度が、トリガレベル値Ｉｔｈである１０００ｒｐｍとなるまで、サーボ演算周期Ｔｓｖ毎に、履歴データＳｖとして取り込んだ位置偏差のデータを、メモリ１６に履歴として記録する。
【００５３】
特に、詳細については以下で説明するが、保存停止の動作に関しては、トリガを最初に検出したサーボアンプ１１とそれ以外のサーボアンプ１１とで動作が異なるように、本実施の形態では構成している。本実施の形態では、このような構成とすることにより、最後に履歴データＳｖを取得するタイミングをそれぞれのサーボアンプ１１間で一致させている。
【００５４】
また、読出コマンドＲｈｓにより読み出しの指示が成されると、履歴処理部１２は、メモリ１６に保存された一群の履歴データＳｖを読出履歴データＲｓｖとして読み出し、通信部１３に転送する。そして、通信部１３は、通信レスポンスＣｒｓｐとして上位装置４５に伝送する。
【００５５】
次に、上位装置４５とそれぞれのサーボアンプ１１との間で行われるデータの流れを中心に、本実施の形態におけるサーボシステムの詳細な動作について説明する。
【００５６】
上述したように、上位装置４５とそれぞれのサーボアンプ１１との間において、通信コマンドＣｃｍｄおよび通信レスポンスＣｒｓｐを含む通信信号Ｃｍが伝送されている。通信コマンドＣｃｍｄは、上位装置４５からサーボアンプ１１それぞれへ送信するデータであり、通信レスポンスＣｒｓｐは、サーボアンプ１１それぞれから上位装置４５へ返信するデータである。通信コマンドＣｃｍｄは、上位装置４５から発信され、通信線４１を介して、各サーボアンプ１１へ到達する。また、通信レスポンスＣｒｓｐは、各サーボアンプ１１から返信され、通信線４１を介して、上位装置４５へ到達する。
【００５７】
通信コマンドＣｃｍｄの送信は、図３に示すように、時刻ｔａにおいて、上位装置４５から各サーボアンプ１１に向けて実行される。通信コマンドＣｃｍｄには、サーボアンプ１１１、１１２および１１３のそれぞれに対する個別の指示が含まれる。それぞれのサーボアンプ１１の通信部は、受け取った通信コマンドＣｃｍｄを確認し、最初に、それぞれを識別するための軸アドレスを参照し、自らに対する指示である通信コマンドＣｃｍｄを抽出する。
【００５８】
まず、時刻ｔａでは、上位装置４５において通信部４６に対して、各サーボアンプ１１に指示すべき通信コマンドＣｃｍｄが設定される。ここで、時刻ｔａは、指令更新周期Ｔｉｎｓと、通信部４６の通信周期Ｔｃｍと、が更新されるタイミングである。
【００５９】
次に、時刻ｔｂでは、通信部４６からサーボアンプ１１１、１１２および１１３のそれぞれの通信部１３に対して、通信コマンドＣｃｍｄが同時に送信される。ここで、時刻ｔｂは、通信部４６と通信部１３との間の通信周期Ｔｃｍと、各サーボアンプ１１のサーボ演算周期Ｔｓｖと、が更新されるタイミングである。
【００６０】
その後、通信コマンドＣｃｍｄを受け取った、それぞれのサーボアンプ１１は、軸アドレスにより、自らに対する通信コマンドＣｃｍｄを識別する。それぞれのサーボアンプ１１は、識別したそれぞれの通信コマンドＣｃｍｄに基づき、サーボ演算処理を実行する。
【００６１】
また、通信レスポンスＣｒｓｐの返信は、図３に示すように、時刻ｔｄにおいて、それぞれのサーボアンプ１１から上位装置４５に向けて、実行される。
【００６２】
まず、時刻ｔｄでは、各サーボアンプ１１内において、通信部１３に対し、上位装置４５への応答として、それぞれの通信レスポンスＣｒｓｐが設定される。ここで、時刻ｔｄは、各サーボアンプ１１のサーボ演算周期Ｔｓｖと、通信部１３の通信周期Ｔｃｍと、が更新されるタイミングである。
【００６３】
次に、時刻ｔｅでは、通信部１３から上位装置４５の通信部４６に対して、通信レスポンスＣｒｓｐが送信される。通信レスポンスＣｒｓｐは、それぞれのサーボアンプ１１における通信レスポンスが合成された情報である。ここで、時刻ｔｅは、通信部１３と通信部４６との間の通信周期Ｔｃｍと、指令更新周期Ｔｉｎｓと、が更新されるタイミングである。
【００６４】
ところで、時刻ｔｃにおいて、各サーボアンプ１１内で通信部１３に対して、それぞれの通信レスポンスが設定されることがある。この場合、時刻ｔｄで、通信部１３から上位装置４５の通信部４６に対して、通信レスポンスＣｒｓｐが送信できる状態となる。しかしながら、時刻ｔｄは、通信部４６の通信周期Ｔｃｍと、指令更新周期Ｔｉｎｓと、が更新されるタイミングではない。よって、時刻ｔｄでは、通信部１３から上位装置４５に対して、通信レスポンスＣｒｓｐが送信されない。その後、通信部４６の通信周期Ｔｃｍと、指令更新周期Ｔｉｎｓと、が更新されるタイミングである時刻ｔｅにおいて、通信部１３から上位装置４５に対して、通信レスポンスＣｒｓｐが送信される。
【００６５】
以上、上述した流れにより、上位装置４５とサーボアンプ１１のそれぞれとの間で、データの送受信が行われる。
【００６６】
また、サーボシステムが、リング型ネットワーク・トポロジー（Ｒｉｎｇ  Ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ）で構成されている場合、それぞれのサーボアンプには、各サーボアンプと上位装置との接続順に、通信コマンドが伝達される。同様に、上位装置には、上位装置と各サーボアンプとの接続順に、通信レスポンスが伝達される。つまり、全てのサーボアンプから送信された通信レスポンスを取得できるのは、最後段に位置するサーボアンプとなる。
【００６７】
あるいは、サーボシステムが、ライン型ネットワーク・トポロジー（Ｌｉｎｅ  Ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ）で構成されている場合、それぞれのサーボアンプは、接続された順番に係わらず、通信周期が更新されるタイミングで、他のサーボアンプから送信された通信レスポンスを取得する。例えば、本実施の形態において、通信周期Ｔｃｍが更新されるタイミングとは、図３に示すような時刻ｔａ、時刻ｔｂ、時刻ｔｃ、時刻ｔｄ、時刻ｔｅなどである。
【００６８】
本実施の形態におけるサーボシステム１０は、ライン型ネットワーク・トポロジーを用いることで、顕著な作用効果を得ることができる。よって、以下の説明において、サーボシステム１０は、ライン型ネットワーク・トポロジーを前提として、説明を行う。
【００６９】
図４は、本発明の実施の形態におけるサーボシステムで用いる通信コマンドＣｃｍｄと通信レスポンスＣｒｓｐとのデータ構成を示す図である。
【００７０】
次に、図４を参照しながら、通信コマンドＣｃｍｄおよび通信レスポンスＣｒｓｐの構成とともに、サーボ演算情報として履歴データＳｖが、メモリ１６に保存される処理について説明する。
【００７１】
上位装置４５からサーボアンプ１１へは、図４で一例を示すような１軸分のサーボ軸用の、１軸に着目した場合の通信コマンドＣｃｍｄが送信され、サーボアンプ１１から上位装置４５へは、通信レスポンスＣｒｓｐが送信される。
【００７２】
図４に示すように、通信コマンドＣｃｍｄには、履歴処理部１２における履歴保存および履歴読出に関連するデータやコマンドが含まれている。履歴保存用としては、上述したような次のデータがある。すなわち、メモリ１６に保存する対象を特定するための保存種別情報Ｉｔｒ、メモリ１６への保存開始を指示するための保存開始コマンドＳｔａｒ、トリガ処理に利用する対象を特定するためのトリガ対象情報Ｉｔｒや、トリガ処理に利用するトリガのレベルを示すトリガレベル値Ｉｔｈである。
【００７３】
また、履歴読出用としては、読み出しを指示するための読出コマンドＲｈｓ、メモリ１６から読み出すデータを指定するための読出データ番号ｒｉがある。ここで、本実施の形態では、読出データ番号ｒｉは、データを保存した最新から過去に向かっての順番の数としている。すなわち、本実施の形態では、読出データ番号ｒｉが１のときは、最新の保存されたデータを指定し、読出データ番号ｒｉが２のときは、その１つ前にメモリ１６に保存されたデータを指定するように設定している。このような設定とすることにより、上位装置４５は、メモリ１６のアドレスを指定することなく、最新の読出履歴データＲｓｖから順に古い読出履歴データＲｓｖを読み出していくことができる。さらに、最新の読出履歴データＲｓｖから読み出せるため、サーボアンプ１１１、サーボアンプ１１２およびサーボアンプ１１３のそれぞれから、同時刻となる最新の読出履歴データＲｓｖを読み出すことができ、サーボアンプ１１それぞれのメモリ１６に保存した一群の履歴データＳｖの時間軸を一致させることができる。
【００７４】
また、このようにメモリ１６から読み出した読出履歴データＲｓｖは、図４の通信レスポンスＣｒｓｐに示すように、読出データＲｓｖ（ｒｉ）として、サーボアンプ１１の通信部１３から上位装置４５へと伝送される。
【００７５】
以上のように、保存種別情報Ｉｔｒで特定されたサーボ演算情報である履歴データＳｖは、メモリ１６に保存される。履歴データＳｖは、サーボ演算処理にて用いられる制御データの一部である。履歴データＳｖは、例えば、モータ現在位置やモータ現在速度などのように、予めその内容が保存種別情報Ｉｔｒによって定められる。サーボ演算処理は、サーボ演算部１４で実行される。
【００７６】
上位装置４５から送信される通信コマンドＣｃｍｄには、保存種別情報Ｉｔｒとともに保存開始コマンドＳｔａｒが含まれる。
【００７７】
履歴データＳｖをメモリ１６に保存させるため、上位装置４５から保存開始コマンドＳｔａｒを各サーボアンプ１１に同一通信周期Ｔｃｍにて送信する。
【００７８】
なお、保存開始コマンドＳｔａｒは、外部装置５５から、上位装置４５のＩ／Ｆ部４７を介して各サーボアンプ１１に対して送信してもよい。
【００７９】
１つの通信コマンドＣｃｍｄには、保存開始コマンドＳｔａｒとともに、動作コマンドと、トリガ対象情報Ｉｔｒと、トリガレベル値Ｉｔｈと、が含まれる。この通信コマンドＣｃｍｄに対して返信される、１軸分の通信レスポンスＣｒｓｐには、保存種別情報Ｉｔｒとともに、軸アドレスエコーと、動作コマンドエコーと、トリガ検出フラグと、保存開始コマンドエコーと、トリガ設定状態Ｓｔｒと、読出コマンドエコーとが含まれる。保存種別情報Ｉｔｒで指定される履歴データＳｖには、最新のサーボ演算処理で算出された情報が用いられる。
【００８０】
トリガ設定状態Ｓｔｒは、２値の情報である。例えば、トリガ対象情報ＩｔｒとトリガレベルＩｔｈとがサーボアンプ１１に設定されている場合、トリガ設定状態Ｓｔｒは、トリガ処理が設定されていることを示す“１”となる。他の場合、すなわち、トリガ対象情報ＩｔｒとトリガレベルＩｔｈとがサーボアンプ１１に設定されていない場合、トリガ設定状態Ｓｔｒは、トリガ処理が設定されていないことを示す“０”となる。
【００８１】
上位装置４５あるいは外部装置５５において、通信レスポンスＣｒｓｐに含まれるトリガ設定状態Ｓｔｒを確認すれば、それぞれのサーボアンプ１１で、正しくトリガ対象情報Ｉｔｒと、トリガレベルＩｔｈとが、設定できているか否かを判断できる。
【００８２】
履歴処理部１２が保存開始コマンドＳｔａｒを受信すれば、サーボアンプ１１では、受信後のタイミングで実行されるサーボ演算処理で使用する履歴データＳｖを、メモリ１６内に割り当てられている履歴エリア２６［ｍ］（ｍは整数）に保存する。
【００８３】
履歴エリア２６［ｍ］において、ｍはメモリ１６のアドレスに対応しており、１回目のデータは、履歴エリア２６［１］に保存される。その後、順次演算された結果は、履歴エリア２６［２］、履歴エリア２６［３］、以下同様、に順に保存される。ｍ回目のデータは、履歴エリア２６［ｍ］に保存される。
【００８４】
やがて、メモリ１６内において、履歴データＳｖを保存する領域は、上限の回数であるｍ回に達する。このとき、ｍ＋１回目の履歴データＳｖは、履歴エリア２６［１］に上書きされる。その後、ｍ＋２回目の履歴データＳｖは、順次、履歴エリア２６［２］、履歴エリア２６［３］、以下同様、に順に上書きされる。このように、本実施の形態の履歴エリア２６［ｍ］は、いわゆるリングバッファメモリを構成している。
【００８５】
次に、トリガ処理部２２の動作について、説明する。
【００８６】
トリガ処理部２２は、通信コマンドＣｃｍｄからのトリガ対象情報Ｉｔｒおよびトリガレベル値Ｉｔｈによりトリガ条件を設定し、トリガ対象情報Ｉｔｒで指定されたトリガ用データＴｒとトリガレベル値Ｉｔｈとの比較に基づき、履歴データＳｖの保存停止をメモリ１６に指示する。
【００８７】
図５は、トリガ条件の設定と、トリガの検出について、その一例を示す図である。図５では、トリガ対象情報Ｉｔｒとして「回転速度」を設定し、サーボ演算部１４から、その「回転速度」に対応する回転速度データをトリガ用データＴｒとして抽出した一例を示している。図５に示すように、トリガ処理部２２は、サーボ演算周期Ｔｓｖ毎に、トリガ用データＴｒがトリガレベル値Ｉｔｈを超えたかどうかを判定している。上述のトリガ対象情報Ｉｔｒおよびトリガレベル値Ｉｔｈによりトリガ条件が設定されると、図５に示すように、例えばモータ現在速度などのトリガ用データＴｒが、予め設定されたトリガレベル値Ｉｔｈ以上であるかをサーボ演算周期Ｔｓｖ毎に判断する。
【００８８】
図５の場合は、サーボ演算周期Ｔｓｖ毎にトリガ用データＴｒの値が増加する例を示しており、トリガ用データＴｒがトリガレベル値Ｉｔｈ以上となった場合、トリガ処理部２２は、通信レスポンスＣｒｓｐに含まれるトリガ検出フラグＦｔｒに、トリガが検出されたという判断結果を２値の情報である“１”として設定する。
【００８９】
次に、履歴データＳｖの保存停止について図６を用いて説明する。なお、以下、適宜、トリガ用データＴｒがトリガレベル値Ｉｔｈ以上となったときを、トリガが検出されたとして説明する。
【００９０】
履歴データＳｖの保存停止は、トリガを最初に検出したサーボアンプ１１とそれ以外のサーボアンプ１１で動作が異なるため、まずトリガを最初に検出したサーボアンプ１１における動作について説明する。なお、前者を保存停止の動作１、後者を保存停止の動作２とする。また、図６では、第１のサーボアンプ１１１がトリガを最初に検出し、第２のサーボアンプ１１２と第３のサーボアンプ１１３とがそれ以外の場合を示している。
【００９１】
まず、保存停止の動作１について説明する。
【００９２】
図６に示す時刻ｔｆにおいて、第１のサーボアンプ１１１のトリガ処理部２２でトリガが検出された場合、トリガ処理部２２では続けて、メモリ１６へ履歴データＳｖの保存停止を指示するタイミングまでの保留回数を算出する。すなわち、トリガを最初に検出したサーボアンプ１１では、直ちに履歴データＳｖの保存を停止するのではなく、次に説明する保留回数だけ保存した後に、保存を停止する。この保留回数は、現在のサーボ演算周期Ｔｓｖが通信周期Ｔｃｍに対して何回目であるか、という情報をトリガ検出周期番号とした、次の演算によって求められる。
【００９３】
保留回数＝（２×通信周期／サーボ演算周期−トリガ検出周期番号＋１）、但し、小数点以下は切り捨て。
【００９４】
図６の例においては、次のように算出される。
【００９５】
保留回数＝２×０．５／０．１６６―２＋１＝５（小数点以下は切り捨て）。
【００９６】
算出された保留回数は、トリガが検出された時刻ｔｆ以降、サーボ演算周期Ｔｓｖ毎に「１」ずつ、減算される。その後、保留回数が「０」となる、時刻ｔｈのサーボ演算周期Ｔｓｖで、トリガを検出したサーボアンプ１１のトリガ処理部２２は、メモリ１６へ履歴データＳｖの保存停止を指示し、履歴データＳｖの保存が停止される。
【００９７】
次に、保存停止の動作２について説明する。
【００９８】
すなわち、トリガを最初に検出した第１のサーボアンプ１１１以外の第２、第３のサーボアンプ１１２、１１３における、トリガ処理部２２の動作について説明する。
【００９９】
図６の時刻ｔｆで第１のサーボアンプ１１１のトリガ処理部２２によって更新されたトリガ検出フラグＦｔｒは、時刻ｔｇのタイミングで通信レスポンスＣｒｓｐとして通信部１３に送信される。通信レスポンスＣｒｓｐは、時刻ｔｈで、通信レスポンスＣｒｓｐとして第２、第３のサーボアンプ１１２、１１３へ伝達される。ここで、時刻ｔｈは、通信部１３の通信周期Ｔｃｍと、各サーボアンプ１１のサーボ演算周期Ｔｓｖとが更新されるタイミングである。第２、第３のサーボアンプ１１２、１１３のトリガ処理部２２は、第１のサーボアンプ１１１経由で伝達された通信レスポンスＣｒｓｐに含まれるトリガ検出フラグＦｔｒによって、自軸以外のサーボアンプ１１でトリガが検出されたかどうかを判断する。そして、トリガが検出されていたと判断した場合、自軸のメモリ１６へ履歴データＳｖの保存停止を指示し、履歴データＳｖの保存が停止される。
【０１００】
なお、保存停止の動作２の方が、保存停止の動作１よりも制御における優先度が高いものとする。これは、例えば時刻ｔｇにおいて、第３のサーボアンプ１１３がトリガを検出した場合に、保存停止の動作１に従うと、実際に第３のサーボアンプ１１３での保存停止が行われるのは、時刻ｔｉのタイミングとなってしまうためである。ここで、時刻ｔｇは、時刻ｔｆで第１のサーボアンプ１１１がトリガを検出し、その情報が他のサーボ軸へ伝達されない区間である。これに対し、保存停止の動作２の優先度を高くすることで、第３のサーボアンプ１１３は、時刻ｔｈのタイミングで伝達されるトリガ検出フラグＦｔｒにより、自軸のメモリ１６に対して履歴データＳｖの保存停止を指示し、履歴データＳｖの保存を停止することができる。
【０１０１】
以上に示したトリガ処理部２２の動作により、第１、第２、第３のサーボアンプ１１１、１１２、１１３それぞれにおける履歴データＳｖの保存を停止するタイミングが時刻ｔｈで揃うことになる。このため、それぞれの履歴データＳｖの時間軸を一致させる効果が得られる。
【０１０２】
次に、サーボアンプ１１のメモリ１６に保存された情報の読み出しについて、図１、図４を用いて説明する。
【０１０３】
上位装置４５は、メモリ１６に保存された履歴データＳｖを読み出すために、通信部４６を介して、それぞれのサーボアンプ１１に対して、読み出しを指示する。
【０１０４】
実際には、読出コマンドＲｈｓと、読み出す対象となる履歴データＳｖを指定するための読出データ番号ｒｉを送信する。
【０１０５】
なお、読出コマンドＲｈｓと読出データ番号ｒｉとは、外部装置５５からＩ／Ｆ部５７を用いて上位装置４５経由で送信しても良い。
【０１０６】
サーボアンプ１１は、読出コマンドＲｈｓと読出データ番号ｒｉとを受信すると、受信した読出データ番号ｒｉで指定される内容に従い、指定された履歴エリア２６［ｍ］から、指定された履歴データＳｖを読み出す。その後、サーボアンプ１１は、読み出した履歴データＳｖを読出データＲｓｖ（ｒｉ）として、通信部１３を介して上位装置４５に返信する。
【０１０７】
ここで、履歴エリア２６［ｍ］の指定方法について、一例を挙げて説明する。
【０１０８】
読出データ番号ｒｉが、１の場合を最新の履歴データＳｖとする。このとき、サーボアンプ１１は、最終保存データの保存先である履歴エリア２６［ｉ］が有するデータを返信する。
【０１０９】
また、読出データ番号ｒｉが、２の場合を最新の状態より１回前のデータとすると、履歴エリア２６［ｉ−１］が有するデータを返信する。
【０１１０】
保存停止したデータは、次の方法で利用できる。
【０１１１】
それぞれのサーボ軸に含まれる履歴データＳｖは、履歴エリア２６［ｉ］から読み出される。読み出された履歴データＳｖは、通信部１３を介して上位装置４５に読み出される。読み出された履歴データＳｖは、サーボゲインの調整などに利用できる。
【０１１２】
上位装置４５からサーボシステム外部への読み出しは、次の方法で利用できる。
【０１１３】
上位装置４５は、例えばパーソナルコンピュータなどの外部装置５５と接続される。
【０１１４】
上位装置４５と外部装置５５とは、例えば、ＲＳ２３２Ｃ、ＵＳＢなどの規格に対応した外部のシリアル通信手段としてのＩ／Ｆ部５７で接続できる。外部装置５５に読み込まれた履歴データＳｖは、外部装置５５上で、グラフ化するなどして、利用できる。
【０１１５】
あるいは、それぞれのサーボアンプ１１と外部装置５５とは、サーボアンプ１１に備えられたＵＳＢ端子を介して、直接、ＵＳＢケーブルなどで接続できる場合もある。その場合、履歴データＳｖは、ＵＳＢケーブルを介して、直接、外部装置５５に読み出される。
【０１１６】
以上、本実施の形態の構成とすれば、上位装置４５が履歴データＳｖの保存停止を指示する手段を有していないサーボシステムであっても、時間軸が一致した履歴データＳｖを取得できる。よって、本実施の形態におけるサーボシステムは、それぞれのサーボアンプが制御する複数のサーボ軸が相互に与える影響について、詳細に分析できる。
【０１１７】
また、図８は、比較例として図７における従来構成のタイミングを示すタイミングチャートであり、ここで図８を参照しながら、本構成との差異を説明する。
【０１１８】
図８の比較例において、サーボアンプ７１が時刻ｔｊでトリガを検出すると、トリガ検出フラグは時刻ｔｋで上位装置８５へ通知されることとなり、上位装置８５から全てのサーボアンプ７１へ履歴データＳｖの保存停止が指示されるのは時刻ｔｌのサーボ演算周期となる。この場合、トリガを検出してから履歴データＳｖの保存を停止する指示がサーボアンプ７１に伝わるまでに、サーボ演算周期の１４周期分の時間だけ遅れることとなる。
【０１１９】
一方で、本実施の形態の構成ではトリガを検出したサーボ演算周期からサーボ演算周期の５周期分の時間の遅れで停止の指示を実行することができ、比較例と比較した場合に、サーボ演算情報の保存停止タイミングを大幅に高速化することができる。
【０１２０】
また、本実施の形態の構成を応用して、図６中の時刻ｔｆにおけるトリガ条件をサーボアンプで検出できるサーボシステムの異常が発生した条件とし、時刻ｔｈにおける動作を履歴データの保存停止ではなく、モータの停止処理へと変更する。このように変更した場合に、異常発生時に複数のサーボ軸のモータ動作の停止タイミングを同期させることができる。
【０１２１】
ガントリ構成の機構など、複数のサーボ軸の同時動作が必要な機構においては、モータの停止タイミングのずれにより機構がねじれ、装置破損などにつながる恐れがあるが、本実施の形態の応用例を適用した場合は、機構のねじれや装置破損を軽減する効果も得られる。
【産業上の利用可能性】
【０１２２】
本発明のサーボシステム、およびサーボシステムの制御方法は、同期型シリアル通信で複数のサーボ軸を同期制御する半導体製造装置や電子部品実装機などに有用である。
【符号の説明】
【０１２３】
１０，７０    サーボシステム
１１，７１，１１１，１１２，１１３    サーボアンプ
１２    履歴処理部
１３，４６    通信部
１４，７４    サーボ演算部
１８    駆動部
１５    タイミング生成部
１６，７６    メモリ
１７    メモリ制御部
２２    トリガ処理部
２６    履歴エリア
３０    モータ
３１    負荷
４１，８１    通信線
４５，８５    上位装置
４７，５７    Ｉ／Ｆ部
５５，９５    外部装置
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムであって、
前記サーボアンプのそれぞれは、
サーボ演算周期毎にサーボ演算処理をするサーボ演算部と、
前記通信信号の送受信を行う通信部と、
前記サーボ演算処理におけるサーボ演算の情報を履歴データとして保存する記憶部と、
前記履歴データの保存を停止するための保存停止条件を予め設定し、前記サーボ演算周期毎に、前記保存停止条件に合致するかを判定し、前記保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとして前記通信部へ通知するトリガ処理部とを備えるサーボシステム。
【請求項２】
前記トリガ処理部は、前記複数のサーボアンプ中の自軸以外となる他のサーボアンプ全ての前記トリガ検出フラグを判定し、前記他のサーボアンプ全ての前記トリガ検出フラグが、前記保存停止条件に合致していないことを示すとき、前記トリガを検出した前記サーボ演算周期から、前記記憶部へ前記履歴データの保存停止を指示するサーボ演算周期までの、サーボ演算周期の回数を示す保留回数を演算し、前記保留回数後のサーボ演算周期で前記記憶部へ前記履歴データの保存停止を指示する請求項１に記載のサーボシステム。
【請求項３】
前記上位装置は、動作指令更新周期毎に、動作指令を更新し、
前記上位装置と前記複数のサーボアンプとが、前記上位装置の前記動作指令更新周期の１／Ｌ倍（Ｌは整数）の通信周期で前記通信信号を送受信し、
前記サーボ演算部の前記サーボ演算周期は、前記通信周期の１／Ｍ倍（Ｍは整数）の周期に同期させた請求項１に記載のサーボシステム。
【請求項４】
前記記憶部への前記履歴データの保存停止の指示は、前記保留回数後のサーボ演算周期で保存停止する指示よりも、他の前記サーボアンプからの前記トリガ検出フラグの受信によって保存停止する指示が優先される請求項２に記載のサーボシステム。
【請求項５】
前記トリガを検出した前記サーボアンプは、前記履歴データの保存を停止する代わりにモータを停止する請求項１または２に記載のサーボシステム。
【請求項６】
前記トリガを検出したサーボアンプ以外の前記サーボアンプは、他のサーボアンプからの前記トリガ検出フラグの受信によって、前記履歴データの保存を停止する代わりに前記モータを停止する請求項５に記載のサーボシステム。
【請求項７】
上位装置と複数のサーボアンプとが、通信信号を送受信するサーボシステムの制御方法であって、
サーボ演算処理におけるサーボ演算の情報を履歴データとして記憶する記憶部に、前記履歴データの保存を停止するための保存停止条件を予め設定するステップと、
サーボ演算周期毎に、前記保存停止条件に合致するかを判定を行うステップと、
前記保存停止条件に合致したときにトリガを検出したとする判定の結果を、トリガ検出フラグとするステップとを備えるサーボシステムの制御方法。
【請求項８】
他のサーボアンプ全ての前記トリガ検出フラグを判定するステップと、
前記他のサーボアンプ全ての前記トリガ検出フラグが、前記保存停止条件に合致していないことを示すとき、前記トリガを検出した前記サーボ演算周期から、前記記憶部へ前記履歴データの保存停止を指示するサーボ演算周期までの、サーボ演算周期の回数を示す保留回数を演算し、前記保留回数後のサーボ演算周期で前記記憶部へ前記履歴データの保存停止を指示するステップとを、さらに備える請求項７に記載のサーボシステムの制御方法。
【請求項９】
前記記憶部への前記履歴データの保存停止の指示は、前記保留回数後のサーボ演算周期で保存停止する指示よりも、他の前記サーボアンプからの前記トリガ検出フラグの受信によって保存停止する指示が優先される請求項８に記載のサーボシステムの制御方法。
【請求項１０】
前記履歴データの保存停止を指示するステップに代えて、モータを停止させるステップを備える請求項８に記載のサーボシステムの制御方法。
【請求項１１】
前記履歴データの保存停止を指示するステップは、他のサーボアンプからの前記トリガ検出フラグの受信によって、前記履歴データの保存を停止する代わりに前記モータを停止させる請求項１０に記載のサーボシステムの制御方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2018084036.tif 000011
【図２】
2018084036.tif 000012
【図３】
2018084036.tif 000013
【図４】
2018084036.tif 000014
【図５】
2018084036.tif 000015
【図６】
2018084036.tif 000016
【図７】
2018084036.tif 000017
【図８】
2018084036.tif 000018
【国際調査報告】
2018084036.tif 000019
2018084036.tif 000020