(57)【要約】【課題】サーボモータを有するアプリケーションにおける誤動作の発生を低減させること。【解決手段】サーボモータ制御装置は、上位装置１００から入力される入力指令値に基づきサーボモータの制御を行う。サーボモータ制御装置は、入力指令値と指令リミット値とを比較して比較後指令値を生成し、比較後指令値に基づき電流指令値及び電圧指令値を生成する制御処理部２０と、電流指令値及び電圧指令値に基づきサーボモータＭに電力を供給する電力変換器とを備えている。制御処理部２０は、入力指令値が指令リミット値の範囲内である場合、入力指令値を比較後指令値とし、入力指令値が指令リミット値の範囲外である場合、指令リミット値を比較後指令値とする。【選択図】図２
2020202717.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から入力される入力指令値に基づきサーボモータの制御を行うサーボモータ制御装置であって、
前記入力指令値と指令リミット値とを比較して比較後指令値を生成し、前記比較後指令値に基づき電流指令値及び電圧指令値を生成する制御処理部と、
前記電流指令値及び前記電圧指令値に基づき前記サーボモータに電力を供給する電力変換器と、
を備え、
前記制御処理部は、前記入力指令値が前記指令リミット値の範囲内である場合、前記入力指令値を前記比較後指令値とし、前記入力指令値が前記指令リミット値の範囲外である場合、前記指令リミット値を前記比較後指令値とする、
サーボモータ制御装置。
【請求項２】
請求項１に記載のサーボモータ制御装置において、
前記制御処理部は、前記サーボモータを有するアプリケーションの運転パターンにおける期間に応じて比較対象となる前記指令リミット値を切り換える、
サーボモータ制御装置。
【請求項３】
請求項１に記載のサーボモータ制御装置において、
前記入力指令値は速度指令値であり、
前記制御処理部は、前記速度指令値と速度指令リミット値とを比較して比較後速度指令値を生成し、前記比較後速度指令値に基づきトルク指令値を生成し、前記トルク指令値とトルク指令リミット値とを比較して比較後トルク指令値を生成し、前記比較後トルク指令値に基づき前記電流指令値及び前記電圧指令値を生成する、
サーボモータ制御装置。
【請求項４】
請求項３に記載のサーボモータ制御装置において、
前記制御処理部は、位置検出器により検出される前記サーボモータの位置情報に基づき前記速度指令リミット値及び前記トルク指令リミット値を切り換える、
サーボモータ制御装置。
【請求項５】
請求項３に記載のサーボモータ制御装置において、
前記制御処理部は、前記速度指令値及び前記トルク指令値の少なくともいずれかが異常な値であると判定した場合、異常通知を前記上位装置へ出力する、
サーボモータ制御装置。
【請求項６】
請求項１に記載のサーボモータ制御装置において、
前記入力指令値は位置指令値であり、
前記制御処理部は、前記位置指令値と位置指令リミット値とを比較して比較後位置指令値を生成し、前記比較後位置指令値に基づき速度指令値を生成し、前記速度指令値と速度指令リミット値とを比較して比較後速度指令値を生成し、前記比較後速度指令値に基づきトルク指令値を生成し、前記トルク指令値とトルク指令リミット値とを比較して比較後トルク指令値を生成し、前記比較後トルク指令値に基づき前記電流指令値及び前記電圧指令値を生成する、
サーボモータ制御装置。
【請求項７】
請求項６に記載のサーボモータ制御装置において、
前記制御処理部は、位置検出器により検出される前記サーボモータの位置情報を用いて、前記位置指令リミット値、前記速度指令リミット値、及び前記トルク指令リミット値を切り換える、
サーボモータ制御装置。
【請求項８】
請求項６に記載のサーボモータ制御装置において、
前記制御処理部は、前記位置指令値、前記速度指令値及び前記トルク指令値の少なくともいずれかが異常な値であると判定した場合、異常通知を前記上位装置へ出力する、
サーボモータ制御装置。
【請求項９】
請求項１に記載のサーボモータ制御装置において、
前記制御処理部は、センサにより検出される前記サーボモータを有するアプリケーションのセンサ情報を用いて前記指令リミット値を切り換える、
サーボモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータ制御装置に関する。
【背景技術】
【０００２】
特許文献１には、上位装置からの指令値が正しくない場合、指令値を書き換えるモータの制御装置が開示されている。特許文献１によれば、モータの端子電圧の抑制は、インバータの最大出力電圧が永久磁石式同期モータの端子電圧を超えないようにｄ軸に負の電流を流すことによって行われる。
【０００３】
具体的には、インバータに入力される電圧指令値とインバータの最大出力電圧をもとに設定された端子電圧上限値とが比較され、電圧指令値が端子電圧上限値を超えた場合にｄ軸電流成分は負の方向に増大する方向に切替えられ、電圧指令値が端子電圧上限値以下の場合にはｄ軸電流成分を負の方向に減少させる方向に切替えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００５／０９３９４３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常、サーボモータ制御装置は上位装置からの指令に基づいてサーボモータの制御を行う。しかし、上位装置との通信エラーや上位装置内におけるバグの発生等により、通常ではありえない異常な指令値がサーボモータ制御装置に入力される場合がある。このような場合に、入力された指令値が正しい値かどうか、入力値に従った動作をすべきか否かをサーボモータ制御装置側では判断することができない。
【０００６】
特許文献１においても、上位装置からの指令値は正しいものとして、インバータ内部で生成された電圧指令値とインバータを保護するための最大出力電圧との比較が行われる。特許文献１では、何らかの原因により上位装置から入力された指令値が誤っていた場合でも、インバータを保護するような電流・電圧指令値が生成されるが、モータが搭載の先のアプリケーション(プレス装置等)に誤動作を生じさせてしまうおそれがある。誤動作によってはモータが搭載されている装置の破損、装置で用いられる部材（金型等）の破損が発生するおそれがある。
【０００７】
そこで、本発明は、サーボモータを有するアプリケーションにおける誤動作の発生を低減させるサーボモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００９】
本発明の代表的な実施の形態によるサーボモータ制御装置は、上位装置から入力される入力指令値に基づきサーボモータの制御を行う。サーボモータ制御装置は、入力指令値と指令リミット値とを比較して指令値を生成し、指令値に基づき電流指令値及び電圧指令値を生成する制御処理部と、電流指令値及び電圧指令値に基づきサーボモータに電力を供給する電力変換器と、を備えている。制御処理部は、入力指令値が指令リミット値の範囲内である場合、入力指令値を指令値とし、入力指令値が指令リミット値の範囲外である場合、指令リミット値を指令値とする。
【発明の効果】
【００１０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１１】
すなわち、本発明の代表的な実施の形態によれば、サーボモータを有するアプリケーションにおける誤動作の発生を低減させることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係るサーボモータ制御装置の構成の一例を示すブロック図である。
【図２】本発明の実施の形態１に係る制御処理部の構成の一例を示すブロック図である。
【図３】本発明の実施の形態１に係るサーボモータの制御方法の一例を示す図である。
【図４】図３に対応するリミット値テーブルの一例を示す図である。
【図５】本発明の実施の形態２に係る制御処理部の構成の一例を示すブロック図である。
【図６】本発明の実施の形態２に係るサーボモータの制御方法の一例を示す図である。
【図７】図６に対応するリミット値テーブルの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、図面を参照しつつ説明する。以下で説明する各実施の形態は、本発明を実現するための一例であり、本発明の技術範囲を限定するものではない。なお、実施例において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は、特に必要な場合を除き省略する。
【００１４】
（実施の形態１）
＜サーボモータ制御装置の構成＞
図１は、本発明の実施の形態１に係るサーボモータ制御装置の構成の一例を示すブロック図である。図１に示すように、サーボモータ制御装置１は、指令値入力回路１０、制御処理部２０、電力変換機３０、ゲートドライバ７０を備えている。
【００１５】
《指令値入力回路》
指令値入力回路１０には、上位装置１００から入力指令値が入力される。入力指令値は、サーボモータＭを制御するためのパラメータである。指令値入力回路１０には、サーボモータＭを有するアプリケーションの運転パターンに対応する入力指令値が順次入力される。本実施の形態では、入力指令値として速度指令値が入力される。速度指令値は、サーボモータＭの回転速度に関するパラメータであり、回転軸の角速度等で表される。
【００１６】
入力指令値は、例えばアナログ電圧等のアナログ信号として指令値入力回路１０に入力される。入力されたアナログ信号は、ＡＤ変換回路１１によりデジタル信号に変換され、制御処理部２０へ出力される。
【００１７】
また、指令値入力回路１０は、例えばＲＴ−４８５やＥｔｈｅｒｎｅｔ（登録商標）等のネットワーク等を介して、上位装置１００と接続されてもよい。この場合、指令値入力回路１０と上位装置１００との間では、デジタル信号の送受信が行われる。
【００１８】
《制御処理部》
図２は、本発明の実施の形態１に係る制御処理部の構成の一例を示すブロック図である。なお、図２では、上位装置１００と制御処理部２０と指令値入力回路１０は省略されている。
【００１９】
制御処理部２０は、上位装置１００から入力された入力指令値に基づき、サーボモータＭを制御するための電流指令値及び電圧指令値を生成する機能ブロックである。制御処理部２０は、図２に示すように、速度指令値判定処理部２３、速度制御処理部２４、トルク指令値判定処理部２５、トルク制御処理部２６、リミット値テーブル２９を備えている。
【００２０】
制御処理部２０は、プロセッサやメモリ等を有する。メモリには、サーボモータ制御装置１を動作させるプログラムやアプリケーションの運転パターン等が格納されている。メモリから読み出したプログラムをプロセッサが実行することにより、制御処理部２０に含まれる各機能ブロックが実現される。また、制御処理部２０は、前述した各機能ブロックを実現するＡＳＩＣ(application specific integrated circuit)やＦＰＧＡ(field-programmable gate array)等で構成されてもよい。
【００２１】
速度指令値判定処理部２３は、入力された速度指令値が正常な値であるかどうかの判定を行う機能ブロックである。具体的に述べると、速度指令値判定処理部２３は、入力された速度指令値とリミット値テーブル２９に格納された速度指令リミット値とを比較する。速度指令値判定処理部２３は、運転パターンに応じて各期間における比較対象となる速度指令リミット値を切り換える。
【００２２】
速度指令値判定処理部２３は、速度指令値が比較対象として選択した速度指令リミット値の範囲内である場合、正常な値であると判断し、速度指令値を比較後速度指令値として速度制御処理部２４へ出力する。
【００２３】
これに対し、速度指令値判定処理部２３は、速度指令値が選択した速度指令リミット値の範囲外である場合、速度指令値は異常な値であると判断し、速度指令リミット値を比較後速度指令値として速度制御処理部２４へ出力する。その際、速度指令値判定処理部２３は、入力された速度指令値が異常な値であることを示す異常通知を上位装置１００へ出力する。異常通知には、運転パターンにおける異常発生期間を特定する情報が含まれてもよい。
【００２４】
速度指令値判定処理部２３には、位置検出器ＥＮで検出されるサーボモータＭの位置情報が入力される。速度指令値判定処理部２３は、サーボモータＭの位置情報に基づき速度指令リミット値を切り換えることが可能である。
【００２５】
また、速度指令値判定処理部２３には、センサＡＳにより検出されるアプリケーションのセンサ情報が入力される。速度指令値判定処理部２３は、センサ情報を用いて速度指令リミット値を切り換えることが可能である。センサ情報には、例えばサーボモータＭにより駆動されるアプリケーション内の部材の位置情報等が含まれる。部材としては、例えばプレス機に搭載されるスライド及びスライドに取り付けられた金型等が挙げられる。センサＡＳが検出する部材の位置情報により、運転パターンにおける各期間を特定することが可能である。
【００２６】
速度制御処理部２４は、比較後速度指令値に基づきトルク指令値を生成する機能ブロックである。具体的に述べると、速度制御処理部２４は、速度指令値判定処理部２３から入力された比較後速度指令値に対応するトルクを算出する。具体的に述べると、速度制御処理部２４は、サーボモータＭの回転速度が比較後速度指令値（速度指令値又は速度指令リミット値）で規定される速度となるよう、モータ回転軸に掛けるトルクを算出する。速度制御処理部２４は、算出したトルクをトルク指令値としてトルク指令値判定処理部２５へ出力する。
【００２７】
速度制御処理部２４には、速度指令値判定処理部２３から、運転パターンの各期間に対応する比較後速度指令値が順次入力される。そして、速度制御処理部２４は、入力される比較後速度指令値に基づき、対応するトルク指令値をトルク指令値判定処理部２５へ順次出力する。
【００２８】
トルク指令値判定処理部２５は、入力されたトルク指令値が正常な値であるかどうかの判定を行う機能ブロックである。具体的に述べると、トルク指令値判定処理部２５は、入力されたトルク指令値とリミット値テーブル２９に格納されたトルク指令リミット値とを比較する。トルク指令値判定処理部２５は、運転パターンに応じて比較対象となるトルク指令リミット値を切り換える。
【００２９】
トルク指令値判定処理部２５は、トルク指令値が比較対象として選択したトルク指令上限値の範囲内である場合、正常な値であると判断し、トルク指令値を比較後トルク指令値としてトルク制御処理部２６へ出力する。
【００３０】
これに対し、トルク指令値判定処理部２５は、トルク指令値が比較対象として選択したトルク指令リミット値の範囲外である場合、トルク指令値は異常な値であると判断し、トルク指令リミット値を比較後トルク指令値としてトルク制御処理部２６へ出力する。その際、トルク指令値判定処理部２５は、入力されたトルク指令値が異常な値であることを示す異常通知を上位装置１００へ出力する。トルク指令値判定処理部２５から出力される異常通知にも、運転パターンにおける異常発生期間を特定する情報が含まれてもよい。
【００３１】
トルク指令値判定処理部２５にも、位置検出器ＥＮで検出されるサーボモータＭの位置情報が入力される。トルク指令値判定処理部２５は、サーボモータＭの位置情報に基づきトルク指令リミット値を切り換えることが可能である。
【００３２】
また、トルク指令値判定処理部２５にも、センサＡＳにより検出されるアプリケーションのセンサ情報が入力される。トルク指令値判定処理部２５も、センサ情報を用いてトルク指令リミット値を切り換えることが可能である。
【００３３】
トルク制御処理部２６は、比較後トルク指令値に基づき電流指令値及び電圧指令値を生成する機能ブロックである。具体的に述べると、トルク制御処理部２６は、サーボモータＭの回転軸に掛かるトルクが比較後トルク指令値（トルク指令値又はトルク指令リミット値）で規定されるトルクとなるよう、サーボモータＭに供給する電流及び電圧を算出する。トルク制御処理部２６は、算出した電流及び電圧を電流指令値及び電圧指令値としてゲートドライバ７０へ出力する。
【００３４】
トルク制御処理部２６には、トルク指令値判定処理部２５から、運転パターンの各期間に対応する比較後トルク指令値が順次入力される。そして、トルク制御処理部２６は、入力される比較後トルク指令値に基づき、対応する電流指令値及び電圧指令値をゲートドライバ７０へ順次出力する。
【００３５】
リミット値テーブル２９は、速度指令リミット値やトルク指令リミット値等、サーボモータＭの制御に関わる各種パラメータを格納するテーブルである。速度指令リミット値やトルク指令リミット値は、サーボモータＭを有するアプリケーションにおける誤動作の発生が抑えられるよう、運転パターンに応じて設定される。
【００３６】
《電力変換機》
電力変換機３０は、図１に示すように、コンバータ４０、平滑回路５０、インバータ６０、ゲートドライバ７０を有する。コンバータ４０は、外部電源１１０から供給される交流電源を直流電源に変換する回路である。コンバータ４０には周知の回路が用いられる。コンバータ４０は、例えば半波整流回路や全波整流回路等で構成される。平滑回路５０は、コンバータ４０で生成された直流電源を平滑にする回路である。平滑回路５０には、例えばコンデンサやコイルを備えた周知の回路が用いられる。
【００３７】
インバータ６０は、平滑回路５０で平滑にされた直流電源を３相の交流電源に変換する回路である。インバータ６０には、交流電源の３相のそれぞれに対応するパルス変調回路が設けられている。パルス変調回路は、例えばパルス幅変調(ＰＡＭ:Pulse Amplitude Modulation)回路やパルス振幅変調(ＰＷＭ:Pulse Width Modulation)回路で構成されている。各相のパルス変調回路は、後述するゲートドライバ７０から入力される制御信号により制御される。これにより、インバータ６０は、電流指令値及び電圧指令値に基づく電力をサーボモータＭへ供給する。
【００３８】
ゲートドライバ７０は、トルク制御処理部２６から出力された電流指令値及び電圧指令値に基づく制御信号を生成する回路ブロックである。具体的に述べると、電流指令値及び電圧指令値が入力されると、ゲートドライバ７０は、パルス変調回路を制御する各相の制御信号を生成し、インバータ６０へ出力する。
【００３９】
ゲートドライバ７０には、トルク制御処理部２６から、運転パターンの各期間に対応する電流指令値及び電圧指令値が順次入力される。そして、ゲートドライバ７０は、入力される電流指令値及び電圧指令値に基づき、対応する各相の制御信号をインバータ６０へ順次出力する。なお、ゲートドライバ７０は、電力変換機３０の外側に設けられてもよい。
【００４０】
《アプリケーション》
サーボモータＭは、例えばプレス機等の各種アプリケーションに組み込まれ、インバータ６０から供給される３相電源により動作し、アプリケーションを機能させる。サーボモータＭ付近には、位置検出器ＥＮが設けられている。位置検出器ＥＮは、サーボモータＭが例えば１回転する度にパルスを出力することで、制御処理部２０へ位置情報を供給する。制御処理部２０は、入力される位置情報によりサーボモータＭの位置や回転速度等を算出することが可能である。
【００４１】
センサＡＳは、例えばサーボモータＭにより駆動されるアプリケーション内の部材の位置等をセンシングし、センサ情報として制御処理部２０へ出力する。センサ情報には、例えばサーボモータＭにより駆動されるアプリケーション内の部材の位置情報等が含まれる。制御処理部２０は、センサ情報によりアプリケーション内の状況を認識し、状況に応じて速度指令リミット値ややトルク指令リミット値を切り換えることが可能である。
【００４２】
＜サーボモータの制御方法＞
次に、具体例を挙げてサーボモータＭの制御方法について説明する。図３は、本発明の実施の形態１に係るサーボモータの制御方法の一例を示す図である。図３には、入力指令値である速度指令値、トルク指令値、サーボモータＭの現在位置のタイミングチャートがそれぞれ示されている。速度指令値、トルク指令値のタイミングチャートには、各期間における速度指令リミット値、トルク指令リミット値もそれぞれ示されている。速度指令値のタイミングチャートが本実施の形態の運転パターンに対応している。速度指令値による運転パターンは、例えばプレス機等に設けられるサーボモータの制御に用いられる。
【００４３】
プレス機では、スライド及びスライドに取り付けられた金型は、上死点から、スライドの下方に固定された金型に向かって下死点まで下降することでプレス加工及びダイクッションの加圧/回生を行う。その後、スライド及び金型は、下死点から上死点まで上昇する。プレス機では、このようなスライド及び金型の上下運動（往復運動）が繰り返し行われる。
【００４４】
まず、時刻ｔ０−ｔ１の期間、速度指令値が直線的に０からＶ０まで増加している。この期間のトルク指令値はＴ０である。この期間内に、サーボモータＭの位置は、Ｐ０からＰ１まで移動している。この期間における速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ０である。
【００４５】
時刻ｔ１−ｔ２の期間、速度指令値はＶ０である。この期間のトルク指令値はＴ１である。この期間内に、サーボモータＭの位置は、Ｐ１からＰ２まで移動している。この期間の速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ１である。
【００４６】
時刻ｔ２−ｔ３の期間、速度指令値が直線的にＶ０からＶ１まで減少している。この期間のトルク指令値はＴ２である。この期間内に、サーボモータＭの位置は、Ｐ２からＰ３まで移動している。この期間における速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ２である。トルク指令リミット値ＴＬ２は、０より小さい値であり、トルク指令値がトルク指令リミット値ＴＬ２より小さくならないように設定されている。
【００４７】
時刻ｔ３−ｔ７の期間、速度指令値はＶ１である。この期間のトルク指令値は、Ｔ１（ｔ３−ｔ４）、Ｔ３（ｔ４−ｔ５）、Ｔ４（ｔ５−ｔ６）、Ｔ１（ｔ６−ｔ７）の順に変動している。時刻ｔ３−ｔ７の期間内に、サーボモータＭの位置は、Ｐ３からＰ７まで順次移動している。この期間における速度指令リミット値はＶＬ０である。この期間におけるトルク指令リミット値は、ＴＬ１（ｔ３−ｔ４）、ＴＬ３（ｔ４−ｔ５）、ＴＬ４（ｔ５−ｔ６）、ＴＬ１（ｔ６−ｔ７）である。
【００４８】
時刻ｔ７−ｔ８の期間、速度指令値が直線的にＶ１からＶ０まで増加している。この期間のトルク指令値はＴ０である。この期間内に、サーボモータＭの位置は、Ｐ７からＰ８まで移動している。この期間における速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ０である。
【００４９】
時刻ｔ８−ｔ９の期間、速度指令値はＶ０である。この期間のトルク指令値はＴ１である。この期間内に、サーボモータＭの位置は、Ｐ８からＰ９まで移動している。この期間における速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ１である。
【００５０】
時刻ｔ９−ｔ１０の期間、速度指令値が直線的にＶ０からＶ０まで減少している。この期間のトルク指令値はＴ２である。この期間内に、サーボモータＭの位置は、Ｐ９からＰ１０まで移動している。この期間における速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ２である。
【００５１】
プレス機では、スライド及び金型は、例えば時刻ｔ０−ｔ３の期間に速度指令値Ｖ０で下死点付近まで下降する。そして、スライド及び金型は、時刻ｔ３−ｔ７の期間に速度指令値Ｖ１でプレス加工及びダイクッションの加圧/回生を行う。そして、スライド及び金型は、時刻ｔ７−ｔ１０の期間に速度指令値Ｖ０で上死点まで上昇する。
【００５２】
トルク指令をプレス機に当てはめると、時刻ｔ０−ｔ１、ｔ７−ｔ８の各期間、トルク指令値は、加速トルクＴ０である。時刻ｔ２−ｔ３、ｔ９−ｔ１０の各期間、トルク指令値は減速トルクＴ２である。時刻ｔ４−ｔ５の期間、トルク指令値は加圧トルクＴ３である。時刻ｔ５−ｔ６の期間、トルク指令値は回生トルクＴ４である。時刻ｔ１−ｔ２、ｔ３−ｔ４、ｔ６−ｔ７、ｔ８−ｔ９の各期間、トルク指令値は摩擦トルクＴ１である。
【００５３】
これらの速度指令値及びトルク指令値は、予め計算や本格稼働前の試運転時に設定することができる。このため、これらの値にマージンを加えた値を速度指令リミット値及びトルク指令リミット値として設定することができる。
【００５４】
図４は、図３に対応するリミット値テーブルの一例を示す図である。図４のリミット値テーブルには、各期間における速度指令リミット値及びトルク指令リミット値の他にも、サーボモータＭの状態を示す回転方向及び位置情報も格納されている。リミット値テーブルに各期間におけるサーボモータＭの状態も格納しておくことで、位置検出器ＥＮが検出したサーボモータＭの位置情報に基づき、運転パターンにおける各期間が特定される。なお、サーボモータＭの回転方向は、位置検出器ＥＮが検出した位置情報に基づき検出される。例えば、サーボモータＭが１２０°回転するごとに位置検出器ＥＮから位置情報が出力されるようにすれば、サーボモータＭの回転方向を容易に検出することができる。
【００５５】
これにより、比較対象となる速度指令リミット値及びトルク指令リミット値が容易に選択され、速度指令値判定処理部２３及びトルク指令値判定処理部２５における比較処理が速やかに実行される。
【００５６】
＜本実施の形態による主要な効果＞
本実施の形態によれば、制御処理部２０は、入力指令値が指令リミット値の範囲内である場合、入力指令値を比較後指令値とし、入力指令値が指令リミット値の範囲外である場合、指令リミット値を比較後指令値とする。
【００５７】
この構成によれば、入力指令値（速度指令値）が異常な値と判定された場合でも、比較対象である指令リミット値（速度指令リミット値）に指令値が書き換えられる。これにより、上位装置１００における演算不具合による過大な指令値や外乱による負荷の増大などを原因として、入力指令値が指令リミット値を越えてしまうような状況の発生が抑えられるので、サーボモータＭを有するアプリケーションにおける誤動作の発生を低減させることが可能となる。
【００５８】
また、本実施の形態によれば、トルク指令値判定処理部２５は、速度制御処理部２４で生成されたトルク指令値とトルク指令リミット値とを比較して比較後トルク指令値を生成する。この構成によれば、制御処理部２０の演算により異常なトルク指令値が生成された場合でもトルク指令値がトルク指令リミット値に書き換えられるので、制御処理部２０に起因するアプリケーションにおける誤動作の発生を低減させることも可能となる。
【００５９】
また、本実施の形態によれば、サーボモータＭを有するアプリケーションの運転パターンの各期間に応じて比較対象となる指令リミット値が切り換えられる。この構成によれば、アプリケーションの動作に追従して指令リミット値を適切に選択することが可能となる。これにより、入力指令値に対する指令リミット値のマージンを適切に設定することが可能となる。
【００６０】
また、本実施の形態によれば、位置検出器ＥＮにより検出されるサーボモータＭの位置情報に基づき速度指令リミット値及びトルク指令リミット値が切り換えられる。この構成によれば、速度指令値だけでなく、制御処理部２０で生成されるトルク指令値に対しても、比較対象となるトルク指令リミット値を適切に選択することが可能となる。
【００６１】
また、本実施の形態によれば、入力指令値（速度指令値）及びトルク指令値の少なくともいずれかが異常な値であると判定された場合、異常通知が上位装置１００へ出力される。この構成によれば、制御処理部２０において速度指令値又はトルク指令値に異常があったことが通知される。
【００６２】
（実施の形態２）
次に、実施の形態２について説明する。なお、以下では、前述の実施の形態と重複する箇所については原則としてその説明を省略する。本実施の形態において、指令値入力回路１０には、上位装置１００から位置指令値が入力指令値として入力される。入力指令値は、例えばネットワークあるいはパルス列入力等により指令値入力回路１０に入力される。指令値入力回路１０は、入力された位置指令値を制御処理部２０へ出力する。
【００６３】
図５は、本発明の実施の形態２に係る制御処理部の構成の一例を示すブロック図である。図５の制御処理部２０は、位置指令値判定処理部２１、位置制御処理部２２、速度指令値判定処理部２３、速度制御処理部２４、トルク指令値判定処理部２５、トルク制御処理部２６、リミット値テーブル２９を備えている。
【００６４】
位置指令値判定処理部２１は、入力された位置指令値が正常な値であるかどうかの判定を行う機能ブロックである。具体的に述べると、位置指令値判定処理部２１は、入力された位置指令値とリミット値テーブル２９に格納された位置指令リミット値とを比較する。位置指令値判定処理部２１は、運転パターンに応じて各期間における比較対象となる速度指令リミット値を切り換える。
【００６５】
位置指令値判定処理部２１は、位置指令値が比較対象として選択した位置指令リミット値の範囲内である場合、正常な値であると判断し、位置指令値を比較後位置指令値として位置制御処理部２２へ出力する。
【００６６】
これに対し、位置指令値判定処理部２１は、位置指令値が選択した位置指令リミット値の範囲外である場合、位置指令値は異常な値であると判断し、位置指令リミット値を比較後位置指令値として位置制御処理部２２へ出力する。その際、位置指令値判定処理部２１は、入力された位置指令値が異常な値であることを示す異常通知を上位装置１００へ出力する。異常通知には、運転パターンにおける異常発生期間を特定する情報が含まれてもよい。
【００６７】
位置指令値判定処理部２１には、位置検出器ＥＮで検出されるサーボモータＭの位置情報が入力される。位置指令値判定処理部２１は、サーボモータＭの位置情報に基づき位置指令リミット値を切り換えることが可能である。
【００６８】
また、位置指令値判定処理部２１には、センサＡＳにより検出されるアプリケーションのセンサ情報が入力される。位置指令値判定処理部２１は、センサ情報を用いて運転パターンにおける各期間を特定し、位置指令リミット値を切り換えることが可能である。
【００６９】
位置制御処理部２２は、比較後位置指令値に基づき速度指令値を生成する機能ブロックである。具体的に述べると、位置制御処理部２２は、位置指令値判定処理部２１から入力された比較後位置指令値に対応する速度を算出する。具体的に述べると、位置制御処理部２２は、所定時刻におけるサーボモータＭの位置が比較後位置指令値（位置指令値又は位置指令リミット値）で規定される位置となるよう、モータ回転軸の速度を算出する。位置制御処理部２２は、算出した速度を速度指令値として速度指令値判定処理部２３へ出力する。
【００７０】
位置制御処理部２２には、位置指令値判定処理部２１から、運転パターンの各期間に対応する比較後位置指令値が順次入力される。そして、位置制御処理部２２は、入力される比較後位置指令値に基づき、対応する速度指令値を速度指令値判定処理部２３へ順次出力する。
【００７１】
本実施の形態では、速度指令値判定処理部２３は、位置制御処理部２２で生成された速度指令値とリミット値テーブル２９に格納された速度指令リミット値とを比較し、入力された速度指令値が正常な値であるかどうかの判定を行う。その他の処理は、実施の形態１と同様である。
【００７２】
＜サーボモータの制御方法＞
次に、本実施の形態におけるサーボモータの制御方法について説明する。図６は、本発明の実施の形態２に係るサーボモータの制御方法の一例を示す図である。図６には、入力指令値である位置指令値、速度指令値、トルク指令値、センサ入力１、２、３のタイミングチャートがそれぞれ示されている。位置指令値、速度指令値、トルク指令値のタイミングチャートには、各期間における位置指令リミット値、速度指令リミット値、トルク指令リミット値もそれぞれ示されている。位置指令値のタイミングチャートが本実施の形態の運転パターンに対応している。位置指令値による運転パターンは、例えばＮＣ工作機等に設けられるサーボモータの制御に用いられる。
【００７３】
まず、時刻ｔ０−ｔ１の期間、位置指令値は、０からＰ０まで増加している。この期間の速度指令値は、直線的に０からＶ０まで増加している。この期間のトルク指令値はＴ０である。この期間の位置リミット値はＰＬ０、速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ０である。
【００７４】
時刻ｔ１−ｔ２の期間、位置指令値は、直線的にＰ０からＰ１まで増加している。この期間の速度指令値はＶ０である。この期間のトルク指令値はＴ１である。この期間の位置指令リミット値はＰＬ１、速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ１である。
【００７５】
時刻ｔ２−ｔ３の期間、位置指令値は、Ｐ１からＰ２に増加している。ただし、この期間の後半の増加率は、前半よりも緩やかになっている。この期間の速度指令値は、直線的にＶ０から０まで減少している。この期間のトルク指令値はＴ２である。この期間の位置指令リミット値はＰＬ２、速度指令リミット値はＶＬ０、トルク指令リミット値はＴＬ２である。トルク指令リミット値ＴＬ２は、０より小さい値であり、トルク指令値がトルク指令リミット値ＴＬ２より小さくならないように設定されている。
【００７６】
時刻ｔ３−ｔ４の期間、位置指令値は、Ｐ２からＰ１に減少している。ただし、この期間の前半の減少率は、後半よりも緩やかになっている。この期間の速度指令値は、直線的に０からＶ１まで減少している。この期間のトルク指令値はＴ２である。この期間の位置指令リミット値はＰＬ３である。この期間の速度指令リミット値はＶＬ１である。この期間のトルク指令リミット値はＴＬ２である。
【００７７】
時刻ｔ４−ｔ５の期間、位置指令値は、直線的にＰ１からＰ０まで減少している。この期間の速度指令値はＶ１である。この期間のトルク指令値はＴ３である。この期間の位置指令リミット値はＰＬ４、速度指令リミット値はＶＬ１、トルク指令リミット値はＴＬ３である。
【００７８】
時刻ｔ５−ｔ６の期間、位置指令値は、Ｐ０から０まで減少している。この期間の速度指令値は、直線的にＶ１から０まで増加している。この期間のトルク指令値はＴ０である。この期間の位置指令リミット値はＰＬ５、速度指令リミット値はＶＬ１、トルク指令リミット値はＴＬ０である。
【００７９】
図６に示すような位置指令値による運転パターンでは、ＮＣ工作機等のサーボモータは、０からＰ２まで回転した後元の位置まで戻る。具体的に述べると、位置指令値に基づき制御処理部２０の内部で生成される速度指令値は、時刻ｔ０−ｔ３の期間では、サーボモータを正回転させる。一方、時刻ｔ３−ｔ６の期間における速度指令値は、サーボモータを逆回転させる。
【００８０】
速度指令値により制御処理部２０の内部で生成されるトルク指令値は、時刻ｔ０−ｔ１の期間では正回転時の加速トルクを発生させる。時刻ｔ１−ｔ２の期間におけるトルク指令値は、正方向の摩擦トルクを発生させる。時刻ｔ２−ｔ３の期間におけるトルク指令値は、正回転時の減速トルクを発生させる。時刻ｔ３−ｔ４の期間におけるトルク指令値は、逆回転時の加速トルクを発生させる。時刻ｔ４−ｔ５の期間におけるトルク指令値は、逆方向の摩擦トルクを発生させる。時刻ｔ５−ｔ６の期間におけるトルク指令値は、逆回転時の減速トルクを発生させる。
【００８１】
ＮＣ加工機等におけるサーボモータの位置、速度、及びトルクは、予め計算や本格稼働前の試運転時に設定することができる。このため、これらの値にマージンを加えた値を位置指令リミット値、速度指令リミット値、及びトルク指令リミット値として設定することができる。
【００８２】
図７は、図６に対応するリミット値テーブルの一例を示す図である。図７のリミット値テーブルには、各期間における位置指令リミット値、速度指令リミット値、及びトルク指令リミット値の他にも、センサ入力１、２、３の状態（ＯＮ、ＯＦＦ）も格納されている。センサＡＳは、サーボモータを含むアプリケーションの動作を検出し、検出した動作に応じてセンサ入力１、２、３の状態（ＯＮ、ＯＦ）を切り換える。
【００８３】
リミット値テーブルにセンサＡＳの入力パターンも登録しておくことで、センサＡＳにより検出されるアプリケーションのセンサ情報を用いて指令リミット値を切り換えることが可能である。具体的には、制御処理部２０は、例えばセンサ入力１、２、３の入力パターンに基づき運転パターンにおける期間を特定し、特定した期間の位置指令リミット値、速度指令リミット値、及びトルク指令リミット値をそれぞれ選択する。
【００８４】
なお、位置指令値については、リミット値テーブルに格納された位置指令リミット値だけでなく、直前のタイミングの位置指令値等を基に生成された位置補正値を位置指令リミットとして用いてもよい。例えば、図６の時刻ｔ１−ｔ２の期間では、時刻ｔ１付近では位置指令値と位置指令リミット値との差分が大きくなっている。この場合、制御処理部２０は、例えば時刻ｔ１付近の位置指令値（Ｐ０等）に所定の補正値を加算した位置補正値を生成し、位置指令値と位置補正値とを比較して比較後位置指令値を生成する。そして、位置指令値と位置指令リミット値との差分が所定の閾値の範囲内となるまでこの処理を連続して行ってもよい。この構成によれば、位置指令値と位置指令リミット値との差分を小さくすることができるので、サーボモータ及びアプリケーションをより安全に動作させることが可能となる。
【００８５】
＜本実施の形態による主要な効果＞
本実施の形態によれば、前述の実施の形態による各効果に加え、以下の効果が得られる。本実施の形態によれば、制御処理部２０は、入力された位置指令値に基づき速度指令値を生成し、速度指令値に基づきトルク指令値を生成する。
【００８６】
この構成によれば、位置指令値が入力された場合にも、サーボモータＭを有するアプリケーションにおける誤動作の発生を低減させることが可能となる。また、この構成によれば、サーボモータの位置を制御することができ、誤動作の発生を抑えつつ、アプリケーションによる精密な加工処理を行うことが可能となる。
【００８７】
また、本実施の形態によれば、位置検出器ＥＮにより検出されるサーボモータＭの位置情報に基づき位置指令リミット値、速度指令リミット値、及びトルク指令リミット値が切り換えられる。この構成によれば、位置指令値、速度指令値、及びトルク指令値に対しても、比較対象となる位置指令リミット値、速度指令リミット値、及びトルク指令リミット値を適切に選択することが可能となる。
【００８８】
また、本実施の形態によれば、入力指令値（位置指令値）が異常な値であると判定された場合にも、異常通知が上位装置１００へ出力される。この構成によれば、位置指令値に異常があったことが上位装置１００に通知される。
【００８９】
また、本実施の形態によれば、センサＡＳにより検出されるアプリケーションのセンサ情報を用いて位置指令リミット値、速度指令リミット値、及びトルク指令リミット値が切り換えられる。この構成によれば、入力パターンに基づき運転パターンにおける期間を特定することができ、位置指令リミット値、速度指令リミット値、及びトルク指令リミット値を適切に選択することが可能となる。
【００９０】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。例えば、センサＡＳの入力パターンによるサーボモータの制御は、実施の形態１に対しても適用可能である。
【００９１】
また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。なお、図面に記載した各部材や相対的なサイズは、本発明を分かりやすく説明するため簡素化・理想化しており、実装上はより複雑な形状となる場合がある。
【符号の説明】
【００９２】
１…サーボモータ制御装置、２０…制御処理部、２１…位置指令値判定処理部、２２…位置制御処理部、２３…速度指令値判定処理部、２４…速度制御処理部、２５…トルク指令値判定処理部、２６…トルク制御処理部、３０…電力変換機、６０…インバータ、７０…ゲートドライバ、１００…上位装置、ＡＳ…センサ、ＥＮ…位置検出器、Ｍ…サーボモータ
【図１】
2020202717.tif 000003
【図２】
2020202717.tif 000004
【図３】
2020202717.tif 000005
【図４】
2020202717.tif 000006
【図５】
2020202717.tif 000007
【図６】
2020202717.tif 000008
【図７】
2020202717.tif 000009