(57)【特許請求の範囲】
【請求項１】
上位コントローラからネットワーク通信で送信される目標位置指令および速度制御時速度指令により、位置制御および速度制御を行い、指令位置を前記上位コントローラへ送信するモータ駆動装置において、
前記目標位置指令と前回の位置制御時指令位置から位置指令と位置制御時指令位置を生成する位置指令生成手段と、
前記位置指令からフィルタ後位置指令を生成する位置指令フィルタ手段と、
前記フィルタ後位置指令から速度フィードフォワード指令を生成する速度フィードフォワード手段と、
位置制御を行うための位置制御手段と、
速度制御を行うための速度制御手段と、
現在位置から速度制御時指令位置を生成する速度制御時指令位置算出手段と、
前記上位コントローラからの指令により位置制御と速度制御を切り替える位置／速度制御切替手段と、
位置制御時は前記位置制御時指令位置が、速度制御時は前記速度制御時指令位置が前記指令位置となるよう切替を行う指令位置切替手段とを備え、
前記速度制御時指令位置算出手段において、モータ駆動装置から前記上位コントローラへの伝送遅れ時間の間のモータ移動量と、前記上位コントローラからモータ駆動装置への伝送遅れ時間の間のモータ移動量とを現在位置に加算して前記速度制御時指令位置とし、
速度制御から位置制御への切替時において、前回の前記速度制御時速度指令から算出される位置偏差量を位置偏差の初期値とするとともに、
前記位置指令生成手段において、前記位置偏差量を現在位置に加算したものを位置制御時指令位置の初期値として設定した後、前記目標位置指令による位置制御を行うことを特徴とするモータ駆動装置。
【請求項２】
前記速度制御時指令位置算出手段において、モータ駆動装置から前記上位コントローラへの伝送遅れ時間の間のモータ移動量と、前記上位コントローラからモータ駆動装置への伝送遅れ時間の間のモータ移動量と、前記速度制御時速度指令および速度フィードフォワード手段から算出される位置偏差量とを現在位置に加算して速度制御時指令位置とし、
速度制御から位置制御への切替時において、前回の前記速度制御時速度指令および速度フ
ィードフォワード手段から算出される位置偏差量を位置偏差の初期値とするとともに、
前記位置指令生成手段において、前記位置偏差量を現在位置に加算したものを位置制御時指令位置の初期値として設定した後、前記目標位置指令による位置制御を行うことを特徴とする請求項１記載のモータ駆動装置。
【請求項３】
前記速度制御時指令位置算出手段において、モータ駆動装置から前記上位コントローラへの伝送遅れ時間の間のモータ移動量と、前記上位コントローラからモータ駆動装置への伝送遅れ時間の間のモータ移動量と、前記速度制御時速度指令から算出される前記位置指令フィルタ手段に溜まる位置指令量とを現在位置に加算して速度制御時指令位置とし、
速度制御から位置制御への切替時において、前回の前記速度制御時速度指令から算出される前記位置指令フィルタ手段に溜まる位置指令量を前記指令フィルタ手段に溜まる位置指令の初期値とするとともに、
前記位置指令生成手段において、前記位置指令量を現在位置に加算したものを位置制御時指令位置の初期値として設定した後、前記目標位置指令による位置制御を行うことを特徴とする請求項１記載のモータ駆動装置。
【請求項４】
前記速度制御時指令位置算出手段において、モータ駆動装置から前記上位コントローラへの伝送遅れ時間の間のモータ移動量と、前記上位コントローラからモータ駆動装置への伝送遅れ時間の間のモータ移動量と、前記速度制御時速度指令および速度フィードフォワード手段から算出される位置偏差量と、前記速度制御時速度指令から算出される前記位置指令フィルタ手段に溜まる位置指令量とを現在位置に加算して速度制御時指令位置とし、
速度制御から位置制御への切替時において、前回の前記速度制御時速度指令および速度フィードフォワード手段から算出される位置偏差量を位置偏差の初期値に、
前回の前記速度制御時速度指令から算出される前記位置指令フィルタ手段に溜まる位置指令量を前記指令フィルタ手段に溜まる位置指令の初期値とするとともに、
前記位置指令生成手段において、前記位置偏差量と前記位置指令量とを現在位置に加算したものを位置制御時指令位置の初期値として設定した後、前記目標位置指令による位置制御を行うことを特徴とする請求項１記載のモータ駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、速度制御から位置制御へのシームレスな制御切替を行うモータの制御方法に関するものである。
【背景技術】
【０００２】
従来、モータ駆動装置の制御として位置制御、速度制御、トルク制御が一般的に用いられている。制御構成としては、位置制御を行う位置ループのマイナーループとして速度制御を行う速度ループ、更に速度ループのマイナーループとしてトルク（電流）制御を行う電流（トルク）ループとするのが一般的である。速度制御から位置制御に切り替える場合、制御切替時の速度変化を低減し、機械伝達系への衝撃を緩和するため、速度制御では使用しない位置ループの内部値である位置偏差を適切な値に初期設定し、位置制御切替後の位置指令値を適切に変化させていく方法がある（例えば、特許文献１参照）。
【０００３】
この方法は、速度制御から位置制御へ切り替わる際の切替速度から位置偏差の初期値を算出するとともに、前記切替速度から算出した位置指令値を初期値とし、速度制御時における指令時定数と等しい時定数により位置指令値を変化させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１３６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記に示されるような従来のモータ駆動装置は、位置制御時の位置指令をモータ駆動装置で生成しているため、上位コントローラから停止位置を指令される構成には適用できない。また、モータ駆動装置と上位コントローラをネットワーク通信で接続する構成の場合、位置制御時の位置指令は、前回指令位置と今回指令位置の差分である相対位置指令を送信する方法では、ノイズ等の影響により相対位置指令を正常に送信できず、位置ずれが生じる可能性があるため、絶対位置である目標位置指令を送信する方法がよく用いられる。なお、目標位置指令には、現在位置から目標位置までの動作パターンをモータ駆動装置で生成し、目標位置を不定期に更新する不定期更新型目標位置指令と、現在位置から目標位置までの動作パターンを上位コントローラで生成し、目標位置を通信周期毎に逐次更新する逐次更新型目標位置指令があるが、後者の逐次更新型目標位置指令がよく用いられる。以降、目標位置指令は逐次更新型目標位置指令を指すこととする。この場合、速度制御時は上位コントローラで指令位置を管理せず、位置制御への切替時において、モータ駆動装置から上位コントローラへ送信される指令位置（現在位置の場合もある）から次の目標位置指令を生成することが一般的である。これにより、速度制御時においてもモータ駆動装置で前期指令位置を管理して上位コントローラへ送信する必要があるが、上述した技術では考慮されていない。また、モータ駆動装置の持つ位置情報と上位コントローラの持つ位置情報には通信による遅れが存在するため、前期指令位置はこの遅れを加味した値とする必要があるが、上述した技術では考慮されていない。
【０００６】
更に、位置制御では、モータの振動を抑えるため、位置指令にＦＩＲ型や一次遅れ型などのフィルタをかける位置指令フィルタ手段が用いられることが一般的であり、モータ回転中は前記位置指令フィルタ内に位置指令が溜まっている状態にある。しかしながら、上述した技術は、速度制御から位置制御への切替時に前記位置指令フィルタの初期化処理が考慮されておらず、前記位置指令フィルタを使用した場合の制御切替時の速度指令の変化
が急激になり、機械伝達系に衝撃が伝わるという問題がある。
【０００７】
更に、位置制御では、モータの応答性を高めるために速度フィードフォワード手段が用いられることがあるが、上述した技術は、制御切替時における位置偏差の初期偏差量の算出に速度フィードフォワード手段が考慮されていないため、制御切替時の速度指令の変化が急激になり、機械伝達系に衝撃が伝わるという問題がある。
【０００８】
本発明は上記従来の課題を解決するものであり、速度制御から位置制御への切替をシームレスに行うことで、機械伝達系への衝撃を回避するモータ駆動装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上位コントローラからネットワーク通信で送信される目標位置指令および速度制御時速度指令により、位置制御および速度制御を行い、指令位置を前記上位コントローラへ送信するモータ駆動装置において、前記目標位置指令と前回の位置制御時指令位置から位置指令と位置制御時指令位置を生成する位置指令生成手段と、前記位置指令からフィルタ後位置指令を生成する位置指令フィルタ手段と、前記フィルタ後位置指令から速度フィードフォワード指令を生成する速度フィードフォワード手段と、位置制御を行うための位置制御手段と、速度制御を行うための速度制御手段と、現在位置から速度制御時指令位置を生成する速度制御時指令位置算出手段と、前記上位コントローラからの指令により位置制御と速度制御を切り替える位置／速度制御切替手段と、位置制御時は前記位置制御時指令位置が、速度制御時は前記速度制御時指令位置が前記指令位置となるよう切替を行う指令位置切替手段とを備え、前記速度制御時指令位置算出手段において、モータ駆動装置から前記上位コントローラへの伝送遅れ時間の間のモータ移動量と、前記上位コントローラからモータ駆動装置への伝送遅れ時間の間のモータ移動量とを現在位置に加算して前記速度制御時指令位置とし、速度制御から位置制御への切替時において、前回の前記速度制御時速度指令から算出される位置偏差量を前記位置偏差の初期値とするとともに、前記位置指令生
成手段において、前記位置偏差量を現在位置に加算したものを位置制御時指令位置の初期値として設定した後、前記目標位置指令による位置制御を行うことを特徴とするモータ駆動装置。
【発明の効果】
【００１０】
請求項１に記載のモータ駆動装置によれば、モータ駆動装置と上位コントローラ間の伝送遅れによる指令位置情報の遅れが補償でき、速度制御から位置制御への制御切替時の速度変動を低減し、機械伝達系への衝撃を回避できる。
【００１１】
さらに、請求項２に記載のモータ駆動装置によれば、速度フィードフォワード手段を使用した場合においても同様に速度制御から位置制御への制御切替時の速度変動を低減し、機械伝達系への衝撃を回避できる。
【００１２】
さらに、請求項３に記載のモータ駆動装置によれば、位置指令フィルタ手段を使用した場合においても同様に速度制御から位置制御への制御切替時の速度変動を低減し、機械伝達系への衝撃を回避できる。
【００１３】
さらに、請求項４に記載のモータ駆動装置によれば、位置指令フィルタ手段と速度フィードフォワード手段とを使用した場合においても同様に速度制御から位置制御への制御切替時の速度変動を低減し、機械伝達系への衝撃を回避できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例１におけるモータ駆動装置の主要部ブロック図
【図２】本発明の実施例１における位置制御時のモータ駆動装置の主要部ブロック図
【図３】本発明の実施例１における速度制御時のモータ駆動装置の主要部ブロック図
【図４】本発明の実施例１における上位コントローラとモータ駆動装置間のデータの送受信、および各データの時間的な変化を表した図
【発明を実施するための形態】
【００１５】
（実施例１）
図１は、請求項１〜４に記載のモータ駆動装置のブロック図であり、１はネットワーク通信で目標位置指令２１および速度制御時速度指令２８をモータ駆動装置に送信する上位コントローラ、２は目標位置指令２１から位置指令２２および位置制御時位置指令３６を生成する位置指令生成手段、３は位置指令２２にフィルタをかけてフィルタ後位置指令２３を生成する位置指令フィルタ手段、４はフィルタ後位置指令２３にフィードフォワードゲインを積算して速度フィードフォワード指令２５を生成する速度フィードフォワード手段、２４はフィルタ後位置指令２３と位置フィードバック信号３４の差分を積分した位置偏差、５は位置偏差２４から位置制御時速度指令２６を生成する位置制御手段、２７は速度フィードフォワード指令２５と位置制御時速度指令２６の和である速度制御指令、１１は上位コントローラ１からの指令により位置制御と速度制御を切り替える位置／速度制御切替手段、２９は位置／速度制御切替手段１１により速度制御指令２６もしくは速度制御時速度指令２８が切り替えられた速度指令、３０は速度指令２９と速度フィードバック信号３３の差分である速度偏差、６は速度偏差３０からトルク指令３１を生成する速度制御手段、７はトルク指令３１からモータ駆動電流３２を生成するトルク制御手段、８はモータ、９は位置検出器、３３は位置フィードバック信号３４を積分した現在位置、１０は現在位置３５から速度制御時指令位置３５を生成する速度制御時指令位置算出手段、１２は現在の制御により位置制御時指令位置３６および速度制御時指令位置３７を指令位置３８として上位コントローラ１へ送信する指令位置切替手段である。
【００１６】
次に、動作について説明する。図２は、位置制御時のモータ駆動装置のブロック図である。位置制御時は、上位コントローラ１から目標位置指令２１がモータ駆動装置へ送信される。位置指令生成手段２は、目標位置指令２１と指令位置３６の差分から位置指令２２を生成し、位置制御時指令位置３６を目標位置指令２１で更新する。次に、位置指令フィルタ手段３は、位置指令２２にフィルタ処理を行い、フィルタ後位置指令２３を生成する。次に、速度フィードフォワード手段４は、フィルタ後位置指令２３に速度フィードフォワードゲインを積算して速度フィードフォワード指令２５を生成する。次に、フィルタ後位置指令２３と位置フィードバック信号３４の差分を前回の位置偏差２４に加算して位置偏差２４を更新する。次に、位置制御手段５は、位置偏差２４に位置ループゲインを積算して位置制御時速度指令２６を生成する。次に、速度フィードフォワード指令２５と位置制御時速度指令の和から速度制御指令を生成する。次に、位置制御時は速度制御指令２７と同値となる速度指令２９と速度フィードバック信号３３との差分から速度偏差３０を生成する。次に、速度制御手段６は速度偏差３０からトルク指令３１を生成する。次に、トルク制御手段７はトルク指令３１からモータ駆動電流３２を生成し、モータ８へ供給する。次に、位置フィードバック信号３４を前回の現在位置３５に加算して現在位置３５を更新する。次に、位置制御時は位置制御時指令位置３６と同値となる指令位置３８を上位コントローラへ送信する。
【００１７】
図３は、速度制御時のモータ駆動装置のブロック図である。速度制御時は、上位コントローラ１から速度制御時速度指令２８がモータ駆動装置へ送信される。速度制御時は速度制御時速度指令２８と同値となる速度指令２９と速度フィードバック信号３３との差分から速度偏差３０を生成する。次に、速度制御手段６は速度偏差３０からトルク指令３１を生成する。次に、トルク制御手段７はトルク指令３１からモータ駆動電流３２を生成し、モータ８へ供給する。次に、仮の位置偏差２４を算出する。ここで、速度制御指令２７が
速度制御時速度指令２８と等しく、フィルタ後位置指令２３が速度制御時速度指令２８の速度に相当する値であり、位置フィードバック信号３４はフィルタ後位置指令２３と等しいとして次式により算出する。
位置偏差＝（速度制御指令−フィルタ後位置指令×速度フィードフォワードゲイン）
／位置ループゲイン
次に、位置指令フィルタ手段３に溜まる仮の位置指令を算出する。ここで、仮の位置指令は、位置指令２２とフィルタ後位置指令２３が速度制御時速度指令２８の速度に相当する値となるときにフィルタ内部に溜まる位置指令として算出する。次に、モータ駆動装置から上位コントローラ１へのデータ送信遅れ時間と上位コントローラ１からモータ駆動装置までのデータ送信遅れ時間の和の間にモータが移動する移動量を算出する。ここで、前記移動量は、前記遅れ時間の和と位置フィードバック信号３４を積算することにより算出する。次に、位置フィードバック信号３４を前回の現在位置３５に加算して現在位置３５を更新する。次に、速度制御時指令位置算出手段１０により、現在位置３５に前記仮の位置偏差と、前記仮の位置指令と、前記移動量を加算して速度制御時指令位置３７を生成する。次に、速度制御時は速度制御時指令位置３７と同値となる指令位置３８を上位コントローラ１へ送信する。
【００１８】
次に、上位コントローラ１からの指令により、モータ駆動装置が速度制御から位置制御に切り替わる際の動作について説明する。まず、位置偏差２４の初期値設定を行う。ここで、速度制御指令２７が前回の速度制御時速度指令２８と等しく、フィルタ後位置指令２３が前回の速度制御時速度指令２８の速度に相当する値であり、位置フィードバック信号３４はフィルタ後位置指令２３と等しいとして次式により位置偏差２４の初期値設定を行う。
位置偏差＝（速度制御指令−フィルタ後位置指令×速度フィードフォワードゲイン）
／位置ループゲイン
次に、位置指令フィルタ手段３に溜まる位置指令の初期値設定を行う。ここで、フィルタ前位置指令２２とフィルタ後位置指令２３が前回の速度制御時速度指令２８の速度に相当する値となるときにフィルタ内部に溜まる位置指令を初期値として設定する。次に、指令位置３６の初期値設定を行う。ここで、位置フィードバック信号３４に前記位置偏差の初期値と、前記位置指令の初期値を加算したものを指令位置３６の初期値として設定する。次に、前述した位置制御時の処理を行う。
【００１９】
図４は、上位コントローラ１とモータ駆動装置間のデータの送受信、および各データの時間的な変化を表している。●印は現在位置を表しており、これにＡ’で表す仮の位置偏差と、Ｂ’で表す仮の位置偏差と、Ｃ’で表すモータ駆動装置から上位コントローラ１への伝送遅れ時間の間にモータが移動する量と、Ｄ’で表す上位コントローラ１からモータ駆動装置への伝送遅れ時間の間にモータが移動する量とを加算した指令位置を▲印で表している。また、○印は目標位置指令を表している。
【００２０】
位置制御時は、位置偏差２４と位置指令フィルタ手段３に溜まった位置指令が目標位置指令２１に対する現在位置３５の遅れとなる。つまり、現在位置３５に対し、位置偏差２４と位置指令フィルタ手段３に溜まった位置指令の分だけ指令位置３６は進んでいなければならない。そこで、速度制御時に位置ループ内の位置偏差２４（図４ではＡ’）および位置指令フィルタ手段３に溜まる位置指令（図４ではＢ’）を仮計算し、現在位置３５（図４では●印）に加算して速度制御時指令位置３７を生成する。更に、モータ駆動装置から上位コントローラ１へ指令位置３８が伝わるまでの時間と上位コントローラ１からモータ駆動装置へ目標位置指令２１が伝わるまでの時間の和の間にモータが移動する移動量（図４ではＣ’とＤ’の和）を速度制御時指令位置３７に加算する（図４では▲印）。これにより、速度制御から位置制御への切り替わり時において、上位コントローラ１はモータ駆動装置から送信されてきた最新の指令位置３８（図４ではＩＰＯＳ［ｎ−１］）を元に
目標位置指令２１（図４ではＴＰＯＳ［ｍ］）を生成すればよく、速度フィードフォワード手段４や位置指令フィルタ手段３を使用した場合においてもモータ駆動装置単体でシームレスな制御切替が実現できる。
【００２１】
また、速度制御から位置制御への切替時に位置偏差２４と位置指令フィルタ手段３内に溜まった位置指令および位置制御時指令位置３６の初期値設定を行うことで、速度フィードフォワード手段４や位置指令フィルタ手段３を使用した場合においても制御切り替わり時の位置管理が正しく行え、位置ずれのない制御切替が実現できる。
【産業上の利用可能性】
【００２２】
本発明のモータ駆動装置は、フィードバック制御で制御切替を行う装置などにも有用である。
【符号の説明】
【００２３】
１  上位コントローラ
２  位置指令生成手段
３  位置指令フィルタ手段
４  速度フィードフォワード手段
５  位置制御手段
６  速度制御手段
７  トルク制御手段
８  モータ
９  位置検出器
１０  速度制御時指令位置算出手段
１１  位置／速度制御切替手段
１２  指令位置切替手段
２１  目標位置指令
２２  位置指令
２３  フィルタ後位置指令
２４  位置偏差
２５  速度フィードフォワード指令
２６  位置制御時速度指令
２７  速度制御指令
２８  速度制御時速度指令
２９  速度指令
３０  速度偏差
３１  トルク指令
３２  モータ駆動電流
３３  速度フィードバック信号
３４  位置フィードバック信号
３５  現在位置
３６  位置制御時指令位置
３７  速度制御時指令位置
３８  指令位置
【図１】
0005471588.tif 000002
【図２】
0005471588.tif 000003
【図３】
0005471588.tif 000004
【図４】
0005471588.tif 000005