(57)【特許請求の範囲】
【請求項１】
位置決めテーブルを駆動する駆動モータへの出力電流値を検出する電流検出手段と、
この電流検出手段からの検出信号を濾波する遮断周波数の異なる複数の並列に接続された信号処理器と、当該複数の信号処理器の出力を選択する信号切り替え手段とを有する信号処理手段と、
この信号処理手段の出力から上記駆動モータの負荷トルクの増大を算出し、上記位置決めテーブルが障害物と衝突したことを検出する過負荷検出手段と、
を備えたことを特徴とする数値制御工作機械。
【請求項２】
上記過負荷検出手段における、障害物と衝突したことを検出する過負荷判定のしきい値を上記位置決めテーブルの速度に応じて切り替えることを特徴とする請求項１記載の数値制御工作機械。
【請求項３】
上記信号切り替え手段は、上記位置決めテーブルの速度指令値または速度検出値と、上記速度指令値または速度検出値の時間変化とに応じて、上記複数の信号処理器の出力を選択して上記信号処理手段の出力とすることを特徴とする請求項１または２に記載の数値制御工作機械。
【請求項４】
上記駆動モータの電流を制御する電流制御手段を備え、この電流制御手段における電流指令値の上限値および下限値を前記位置決めテーブルの速度指令値あるいは速度検出値によって切り替えることを特徴とする請求項１乃至３のいずれかに記載の数値制御工作機械。
【請求項５】
上記過負荷検出手段における、障害物と衝突したことを検出する過負荷判定のしきい値を数値制御工作機械のプログラム動作で自動的に設定する機能を設けたことを特徴とする請求項１乃至４のいずれかに記載の数値制御工作機械。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御工作機械に関し、特に数値制御工作機械の位置決めテーブルが、正規の位置にないワークに衝突した時のような異常状態を検出する技術に関する。
【０００２】
【従来の技術】
加工ヘッド、工具、工作物等を移動して位置決めする数値制御工作機械の位置決めテーブルにおいて、相対移動中に何等かの物体、例えば工具やワークが工作機械の突出部に衝突し、位置決めテーブルの駆動モータに過負荷がかかることがある。機械の高速化につれて、このような異常状態をより高速に検出し、制御する必要性が高まっている。
【０００３】
図１８は、特開平3-213248号公報に示されている従来の数値制御工作機械の衝突検出装置の回路図である。図１８における数値制御工作機械の衝突検出装置では、異常状態の影響を最小限に抑えるために、次のような手段を用いている。数値制御による工作機械の位置決めテーブルをトルク指令および速度指令に基づいたサーボモータの駆動により所定の推力および速度で移動させ、位置決めテーブルの構成部品と被加工物との衝突を検出する衝突検出装置には、位置決めテーブルの移動速度・加速度を検出し速度・加速度を出力する速度・加速度検出手段と、位置決めテーブルの推力を検出し、所定の推力検出信号を出力する推力検出手段と、速度・加速度検出信号と推力検出信号とを入力し、位置決めテーブルの検出加速度および検出推力があらかじめ設定された許容加速度および許容推力を超えたことを検出し、かつ前記送り機構の加速度方向が推力方向と不一致の場合に衝突と判定して衝突判定信号を出力する衝突判定制御手段を有する。また、衝突判定後、前記衝突判定信号により前記サーボモータへのトルク指令信号を遮断し、位置決めテーブルの推力を零に制御するように構成されている。
【０００４】
従来の数値制御工作機械は、以上のような構成としているので、衝突検出装置により、検出された加速度および負荷推力があらかじめ設定された許容値を越え、かつ位置決めテーブルの推力と加速度との方向を示す符号を常に監視して両符号が不一致であるとき、衝突判定信号を出力する。すなわち、この衝突検出は、前記速度・加速度検出信号と前記トルク指令信号とを対応するあらかじめ定められた許容加速度および許容トルク値と比較し、前期速度・加速度およびトルク指令信号がそれぞれ許容値以上であって、かつ位置決めテーブルの加速度方向が推力方向と不一致であることを判定し、これにより、位置決めテーブルの機械部品と被加工物との衝突を判定する。そして、前記衝突判定制御手段は、その衝突判定後、該位置決めテーブルの推力を調整制御させている。この結果、前記送り軸の駆動限であるサーボモータの出力トルクを制限することにより、位置決めテーブルの機械部品と被加工物とを衝突から保護することができる。
【０００５】
【発明が解決しようとする課題】
上記のように従来の数値制御工作機械の衝突検出装置では、位置決めテーブルの速度・加速度検出信号とトルク指令信号とを対応するあらかじめ定められた許容加速度および許容トルク値と比較し、速度・加速度およびトルク指令信号がそれぞれ許容値以上であって、かつ位置決めテーブルの加速度方向が推力方向と不一致であることを判定し、これにより、位置決めテーブルの機械部品と被加工物との衝突を判定するようにしている。
【０００６】
数値制御工作機械の位置決めテーブルでは、その駆動に電動モータが多く用いられており、位置決めテーブルの制御方式は位置・速度・電流の3重のフィードバック構造がとられている。このような制御方式では、電流ループの高い応答性が要求されるため、そこで扱われる電流（トルク）指令値と電流フィードバック値は高周波のノイズ成分を含むことになる。このため、衝突判定の誤判定を防止するために、トルク(電流)指令信号における許容トルク(電流)値はそこに重畳する高周波のノイズ成分を考慮した形で決める必要があるが、許容トルク(電流)値のマージンは、直接検出遅れにつながるため、位置決めテーブルとワークの剛性が高い場合には衝突時の荷重の軽減が十分でなくなる恐れがあった。
【０００７】
本発明は上記従来の技術における課題を解決するためになされたもので、位置決めテーブルとワークの衝突による駆動系やワークに与える影響を確実に低減する機能を有する数値制御工作機械を提供することを目的とする。
【０００８】
この発明に係る数値制御工作機械においては、位置決めテーブルを駆動する駆動モータへの出力電流値を検出する電流検出手段と、この電流検出手段からの検出信号を濾波する遮断周波数の異なる複数の並列に接続された信号処理器と、当該複数の信号処理器の出力を選択する信号切り替え手段とを有する信号処理手段と、この信号処理手段の出力から上記駆動モータの負荷トルクの増大を算出し、上記位置決めテーブルが障害物と衝突したことを検出する過負荷検出手段とを備えたので、位置決めテーブルが障害物に衝突した時の過負荷検出速度が高速になり、位置決めテーブルに加わる衝突荷重を小さくでき、耐久性の高いものが得られる。
【００１０】
さらに、過負荷検出手段における、障害物と衝突したことを検出する過負荷判定のしきい値を位置決めテーブルの速度に応じて切り替えるものである。
【００１１】
また、信号切り替え手段は、上記位置決めテーブルの速度指令値または速度検出値と、上記速度指令値または速度検出値の時間変化とから、上記複数の信号処理器の出力を選択して上記信号処理手段の出力とするものである。
【００１２】
さらに、駆動モータの電流を制御する電流制御手段を備え、上記駆動モータの電流指令値の上限値および下限値を前記位置決めテーブルの速度指令値あるいは速度検出値によって切り替えるものである。
【００１３】
さらにまた、過負荷検出手段における、障害物と衝突したことを検出する過負荷判定のしきい値を数値制御工作機械のプログラム動作で自動的に設定する機能を設けたものである。
【００１４】
【発明の実施の形態】
実施の形態１．
図１は、この発明の実施の形態1に係るサーボモータのブロック線図であり、数値制御工作機械の位置決めテーブルを駆動するためのモータを制御する制御系である。図において、1はモータへの位置指令を発生する数値制御装置、2は位置ループの位置制御装置、3は速度ループの速度制御装置、4は電流ループの電流制御装置（電流制御手段）、5はモータのパワーアンプ、6は駆動モータ、7は駆動モータ6の軸に直結された位置検出装置、8は駆動モータ6に供給される電流値を検出する電流検出器（電流検出手段）、9はモータ6によって回転するボールネジ99により駆動される位置決めテーブルである。10は位置検出装置7と電流検出器8の検出信号を入力とする衝突検出器である。
【００１５】
次に動作を説明する。数値制御装置1からの位置指令値Pcから位置検出装置7によって検出される位置フィードバック値Pfを減算し、その差を入力として位置制御装置2で速度指令値Vcを求め、該速度指令値Vcと位置フィードバック値Pfの近似微分によって求められる速度フィードバック値Vfとの差を入力として、速度制御装置3によって電流指令値Iqcを求め、該電流指令値Iqcと電流検出器8によって検出される電流フィードバック値Iqfとの差を入力として、パワーアンプの電流出力Iqfが電流指令値Iqcに追従するように電流制御装置4からパワーアンプ5へ電圧指令が加えられる。モータ6は電流出力Iqfに比例したトルクを発生し、位置決めテーブル9を駆動する。
【００１６】
図２は、図１のモータのブロック線図における衝突検出器10のより具体的な構成を示す構成図である。図において、11は電流検出器8からの電流検出値Iqfを入力とする信号処理手段としてのローパスフィルターである。ローパスフィルター11の通過帯域は駆動機構系のステップ位置応答でもっとも顕著な振動周波数以下にとる。通常の位置決め装置では、一次共振周波数の振動成分がステップ位置応答の中で顕著であり、このときはローパスフィルタ11の通過帯域を通常一次共振周波数以下にとる。12はローパスフィルタ11の出力Iqf’を入力として、位置決めテーブル9に過大な負荷が加わったことを検知する過負荷検出手段である。位置決めテーブル9に過大な負荷が加わったとき、過負荷検出手段12は数値制御装置1へアラーム信号（ＡＬ）を出力し、位置決めテーブル9の軸送りを停止させる。
【００１７】
図３は、図２の過負荷検出手段12の過負荷検出のプログラムの動作を示すフローチャートの一例である。まず、プログラムが開始されると、ローパスフィルタ11の出力Iqf’を読みこむ(ST1)。次に、ローパスフィルタ11の出力Iqf’の絶対値が設定値（過負荷判定のしきい値）Ilimよりも大きいか否かの判定を行う(ST2)。ローパスフィルタ11の出力Iqf’の絶対値が設定値Ilimよりも小さければ処理を終了し、大きければアラーム信号を数値制御装置1へ出力し(ST3)、処理を終了する。なお、前記のST1からST4の一連の処理は、数値制御装置1の制御周期ごとに実行される。なお、この場合は速度Ｖｆは用いない。
【００１８】
図４は、位置決めテーブル9に一定の速度指令を与えたとき、起動してから衝突が検出されるまでの電流検出器8の出力Iqfとローパスフィルタ11の出力Iqf’の時間波形の一例を示した図である。図４の上側の図は、電流検出器8の出力Iqfの時間波形である。電流検出器8の出力Iqfは、起動時において位置決めテーブル9の一次共振周波数に対応する電流振動成分を含む。位置決めテーブル9が衝突すると、電流値は増加する。図４中の破線は、過負荷検出手段12の設定値Ilimに相当する電流値の大きさを示すが、図１８に示す従来の数値制御工作機械の衝突検出装置のように、電流検出器8の出力Iqfを過負荷検出に用いた場合、過負荷検出手段12の設定値Ilimを小さくとれないために衝突時の検出速度を高速化することが困難であることがわかる。図４の下側の図は、ローパスフィルタ11の出力Iqf’の時間波形である。ローパスフィルタ11によって、高周波数の振動成分と起動時の振動成分が除去されて、電流検出器8の出力Iqfをそのまま用いる場合よりも過負荷検出手段12の設定値Ilimを小さくとれることがわかる。これによって、衝突による過負荷検出の高速化ができるとともに、ローパスフィルタ11の高周波成分除去特性により、電流検出器8の出力Iqfに含まれるノイズに起因する過負荷検出の誤動作が防止できることがわかる。
【００１９】
なお、本実施の形態１では、電流検出器8からの出力を濾波するためにローパスフィルター11を用いているが、電流値の起動停止時や通常運転時に生じる電流変動成分が除去、低減できれば、他の信号処理手段であってもよい。
【００２０】
また、ローパスフィルターへの入力信号は、必ずしも電流検出器8の出力でなければならないというものではなく、電流ループの電流指令値や電流検出値Iqfに相当するもので、何らかの電流検出手段からの信号であればよい。
【００２１】
実施の形態２．
図５は実施の形態2に係る衝突検出器10の構成を示すブロック図である。実施の形態2に係るサーボモータのブロック線図は図１と同じであり、その詳細な説明は省略する。
【００２２】
図５において、13および14は、信号処理器で、それぞれ電流検出器8からの電流検出値Iqfを入力として、異なる通過帯域幅を持つ第１のローパスフィルターおよび第２のローパスフィルターである。15はローパスフィルター13、14の出力Iqf1’、Iqf2’と速度フィードバック値Vfを入力として、ローパスフィルター13、14の出力Iqf1’、Iqf2’のいずれかをIqf’として出力する信号切り替え手段である。図５では、第１のローパスフィルター13、第２のローパスフィルター14、および信号切り替え手段15とで信号処理手段111を構成する。12は信号切り替え手段15すなわち信号処理手段111の出力Iqf’を入力として、位置決めテーブル9に過大な負荷が加わったことを検知する過負荷検出手段である。過負荷検出手段12の動作は実施の形態1における過負荷検出手段と同じであり、その動作の詳細な説明は省略する。
【００２３】
図６は、図５の信号切り替え手段15のプログラムの動作を示すフローチャートの一例である。まず、プログラムが開始されると、今回のサイクルがプログラム実行後最初のサイクルか否かを判別する (ST1)。最初のサイクルであれば、変数CNTに零を代入する（ST2）。最初のサイクルでなければ、ST2をスキップする。
次に、速度フィードバック値Vfを読みこむ（ST3）。Vfの大きさが設定値Vth以上か否かを判別する（ST4）。Vfの大きさが設定値Vth以上であれば、変数CNTを1だけ増加する（ST5）。Vfの大きさが設定値Vthよりも小さければ、変数CNTに零を代入する（ST6）。次に、変数CNTが設定値m以上かどうか判別し(ST7)、ｍ以上であれば、第２のローパスフィルター14の出力Iqf2’を読みこみ、Iqf2’をIqf’に代入して、過負荷検出手段12へ出力する（ST8）。変数CNTが設定値mより小さければ、第１のローパスフィルター13の出力Iqf1’を読みこみ、Iqf1’をIqf’に代入して、過負荷検出手段12へ出力する（ST9）。そして、一連の処理を終了する。なお、前記のST1からST9の一連の処理は、数値制御装置1の制御周期ごとに実行される。
【００２４】
図７は、位置決めテーブル9に一定の速度指令を与えたとき、起動してから衝突が検出されるまでの電流検出器8の出力Iqfと信号切り替え手段15の出力Iqf’の時間波形の一例を示した図である。第１のローパスフィルタ13の通過帯域幅は実施の形態１と同様に設定する。第２のローパスフィルター14の通過帯域幅は第１のローパスフィルター13よりも高い周波数に設定する。図７の上側の図は、電流検出器8の出力Iqfの時間波形であり、図４の上側の図と同じである。図７の下側の図は、信号切り替え手段15の出力Iqf’の時間波形である。第１のローパスフィルタ13によって、起動時の振動成分が除去されている。また、起動後少ししてから、過負荷検出手段12への入力を第２のフィルターの出力に切り替えることにより、衝突時のIqf’の立ち上がりが早くでき、衝突による過負荷検出の高速化ができることがわかる。また、実施の形態1と同様に、本実施の形態２も、起動時の振動成分が除去されている分だけ過負荷検出手段12の設定値Ilimを小さくとれることがわかる。これらによって、実施の形態1に比べて衝突による過負荷検出の高速化ができるとともに、二つのローパスフィルタ13、14の高周波成分除去特性により、電流検出器8の出力Iqfに含まれるノイズに起因する過負荷検出の誤動作が防止できることがわかる。
【００２５】
なお、本実施の形態では、電流検出器8からの出力を濾波するためにローパスフィルター13、14を用いているが、電流値の起動停止時や通常運転時に生じる電流変動成分が除去、低減できれば、他の信号処理手段であってもよい。
【００２６】
また、ローパスフィルターへの入力信号は、必ずしも電流検出器8の出力でなければならないというものではなく、電流ループの電流指令値や電流検出値Iqfに相当するものであればよい。また、速度フィードバック値Vfは必ずしも速度検出値によらなくても、速度指令値によってもよい。
【００２７】
さらに、ここではローパスフィルターを２個用いたもので説明したが、フィルター、すなわち信号処理器は３個以上でもよく、信号処理器の数が多ければ、より精度の高い処理が行える。
【００２８】
実施の形態３．
図８は実施の形態３に係る衝突検出器のプログラムを示すフローチャートである。実施の形態３に係るサーボモータのブロック線図は図1と同じであり、その詳細な説明は省略する。また、実施の形態3に係る衝突検出器の構成は、図5と同じであり、その詳細な説明は省略する。
【００２９】
図８は、図５の信号切り替え手段15のプログラムの動作を示すフローチャートの一例である。まず、プログラムが開始されると、今回のサイクルがプログラム実行後最初のサイクルか否かを判別する (ST1)。最初のサイクルであれば、変数CNTに零を代入する（ST2）。最初のサイクルでなければ、ST2をスキップする。
次に、速度フィードバック値Vfを読みこむ（ST3）。Vfの大きさが設定値Vth以上か否かを判別する（ST4）。Vfの大きさが設定値Vth以上であれば、変数CNTを1だけ増加する（ST5）。Vfの大きさが設定値Vthよりも小さければ、変数CNTに零を代入する（ST6）。次に、変数CNTが設定値m以上かどうか判別し(ST7)、ｍ以上であれば、第２のローパスフィルター14の出力Iqf2’を読みこみ、Iqf2’をIqf’に代入し、過負荷検出手段12へ出力する（ST8）。次に、しきい値Ilimに設定値Ilim2を代入する（ST9）。変数CNTが設定値mより小さければ、第１のローパスフィルター13の出力Iqf1’を読みこみ、Iqf1’をIqf’に代入し、過負荷検出手段12へ出力する（ST10）。次に、しきい値Ilimに設定値Ilim1を代入する（ST11）。
そして、一連の処理を終了する。なお、前記のST1からST11の一連の処理は、数値制御装置1の制御周期ごとに実行される。
【００３０】
図９は、位置決めテーブル9に一定の速度指令を与えたとき、起動してから衝突が検出されるまでの電流検出器8の出力Iqfと信号切り替え手段15の出力Iqf’の時間波形の一例を示した図である。第１のローパスフィルタ13の通過帯域幅は実施の形態１と同様に設定する。第２のローパスフィルター14の通過帯域幅は第１のローパスフィルター13よりも高い周波数に設定する。第１のローパスフィルター13のしきい値Ilim1は、起動時のIqf’の最大値よりも少し大きくなるようにとる。第２のローパスフィルター14のしきい値Ilim2は、起動停止の振動成分の影響が少ない領域のIqf’の最大値よりも少し大きくなるようにとる。図９の上側の図は、電流検出器8の出力Iqfの時間波形であり、図4の上側の図と同じである。図９の下側の図は、信号切り替え手段15の出力Iqf’の時間波形である。第１のローパスフィルタ13によって、起動時の振動成分が除去されている。また、起動後少ししてから、過負荷検出手段12への入力を第２のフィルター14の出力に切り替えることにより、衝突時のIqf’の立ち上がりが早くでき、衝突による過負荷検出の高速化ができることがわかる。また、起動時の振動成分が大きく、過負荷検出手段12の設定値Ilimが小さくとれない場合、起動時と定常動作時の設定値を切り替えることによって、定常動作時設定値Ilimを小さくとることができ、実施の形態2に比べて、衝突による過負荷検出の高速化ができる。
【００３１】
なお、本実施の形態では、電流検出器8からの出力を濾波するためにローパスフィルター13、14を用いているが、電流値の起動停止時や通常運転時に生じる電流変動成分が除去、低減できれば、他の信号処理手段であってもよい。
【００３２】
また、ローパスフィルターへの入力信号は、必ずしも電流検出器8の出力でなければならないというものではなく、電流ループの電流指令値や電流検出値Iqfに相当するものであればよい。
【００３３】
実施の形態４．
図１０は実施の形態4に係る衝突検出器のプログラムを示すフローチャートである。実施の形態4に係るサーボモータのブロック線図は図1と同じであり、その詳細な説明は省略する。また、実施の形態4に係る衝突検出器の構成は、図５と同じであり、その詳細な説明は省略する。
【００３４】
図１０は、図５の信号切り替え手段15のプログラムの動作を示すフローチャートの一例である。まず、プログラムが開始されると、今回のサイクルがプログラム実行後最初のサイクルか否かを判別する (ST1)。最初のサイクルであれば、変数CNTに零、変数Vcoldに現在の速度指令値Vcを代入する（ST2）。最初のサイクルでなければ、ST2をスキップする。次に、速度指令値Vcを読みこむ（ST3）。速度指令の1サイクルの変化率ΔVc（=Vc−Vcold）を算出する(ST4)。変化率ΔVcの大きさが設定値Vcthより大きいか否かを判別する（ST5）。変化率ΔVcの大きさが設定値Vcthより大きければ、変数CNTに零を代入する（ST6）。変化率ΔVcの大きさが設定値Vcthより小さければ、ST6をスキップする。次に速度フィードバック値Vfを読みこむ（ST7）。速度フィードバック値Vfの絶対値が設定値Vthより大きいか否かを判別する（ST8）。速度フィードバック値Vfの絶対値が設定値Vth以上であれば、変数CNTを1だけ増加する（ST9）。Vfの大きさが設定値Vthよりも小さければ、変数CNTに零を代入する（ST10）。次に、変数CNTが設定値m以上かどうかを判別する（ST11）。ｍ以上であれば、第２のローパスフィルター14の出力Iqf2’を読みこみ、Iqf2’をIqf’、しきい値Ilimに設定値Ilim2を代入し、過負荷検出手段12へ出力する（ST12）。次に、変数CNTが設定値mより小さければ、第１のローパスフィルター13の出力Iqf1’を読みこみ、Iqf1’をIqf’、しきい値Ilimに設定値Ilim1を代入し、過負荷検出手段12へ出力する（ST13）。そして、一連の処理を終了する。なお、前記のST1からST13の一連の処理は、数値制御装置1の制御周期ごとに実行される。
【００３５】
図１１は、位置決めテーブル9に一定の速度指令を与えたとき、起動してから衝突が検出されるまでの電流検出器8の出力Iqfと信号切り替え手段15の出力Iqf’の時間波形の一例を示した図である。信号切り替え手段15のプログラムにおいて、第１のローパスフィルタ13、第２のローパスフィルター14の通過帯域と第１のローパスフィルター13のしきい値Ilim1、第２のローパスフィルター14のしきい値Ilim2は実施の形態3と同様に設定する。また、設定値ΔVcthは、電流検出器8の出力Iqfに重畳する位置決めテーブル9の振動成分が顕著にならない範囲でできるだけ大きくとるものとする。図１１の上側の図は、電流検出器8の出力Iqfの時間波形であり、速度指令値の大きさがVcthよりも大きい範囲で2段階に切り替わった場合である。図１１の中央の図は、実施の形態3の衝突検出器における信号切り替え手段15の出力Iqf’の時間波形である。図１１の下の図は、本実施の形態の過負荷検出装置における信号切り替え手段15の出力Iqf’の時間波形である。実施の形態3の過負荷検出手段では、速度の切り替わりによって誤動作を生じるが、本実施の形態の過負荷検出手段では、速度の変化率が大きくなるところで遅い第１のローパスフィルタ13を用いるので、衝突による過負荷の誤検出を防止することができる。
【００３６】
なお、本実施の形態では、電流検出器8からの出力を濾波するためにローパスフィルター13、14を用いているが、電流値の起動停止時や通常運転時に生じる電流変動成分が除去、低減できれば、他の信号処理手段であってもよい。
【００３７】
また、ローパスフィルターへの入力信号は、必ずしも電流検出器8の出力でなければならないというものではなく、電流ループの電流指令値や電流検出値Iqfに相当するものであればよい。
【００３８】
実施の形態５．
図１２は実施の形態5に係る衝突検出器の設定値Ilimを自動設定するプログラムのフローチャートである。実施の形態5に係るサーボモータのブロック線図は図１と同じであり、その詳細な説明は省略する。また、実施の形態5に係る衝突検出器の設定値Ilimを自動設定するプログラムは、実施の形態1から4のいずれの衝突検出器にも適用可能であり、衝突検出器に関する詳細な説明は省略する。
【００３９】
図１２は、実施の形態1から4における衝突検出器の設定値Ilimを自動設定するプログラムの動作を示すフローチャートの一例である。まず、プログラムが開始されると、今回のサイクルがプログラム実行後最初のサイクルか否かを判別する (ST1)。最初のサイクルであれば、変数NUMおよびISUMに零を代入し、設定値Ilimを設定したい軸について、一定速度での軸送りをスタートする（ST2）。最初のサイクルでなければ、ST2をスキップする。次に、モータの位置フィードバック値Pf、ローパスフィルタ通過後の電流フィードバック値Iqf’を読みこむ（ST3）。位置フィードバック値Pfが設定値Plowよりも小さいか否かを判別する (ST4)。位置フィードバック値Pfが設定値Plowよりも小さければ、ST1に戻る。位置フィードバック値Pfが設定値Plowよりも大きければ、次に、位置フィードバック値Pfが設定値PlowとPhighの間にあるか否かを判別する(ST5)。位置フィードバック値Pfが設定値PlowとPhighの間にあれば、変数NUMに1、変数ISUMに今回のIqf’を追加し、ST1に戻る(ST6)。位置フィードバック値Pfが設定値Phighよりも大きければ、（ISUM/NUM）を計算し、これを変数Iaveに代入し、得られた変数Iaveに設定値γを掛けて（ST7）、変数Ilimに代入し(ST8)プログラムを終了する。
【００４０】
図１３は、例えば実施の形態１の位置決めテーブル9に一定の速度指令を与えたとき、起動してから衝突が検出されるまでの電流検出器8の出力Iqfとローパスフィルタ11の出力Iqf’の時間波形の一例を示した図である。位置決めテーブル9を一定の速度で駆動している区間を[Plow,Phigh]に選び、変数Iaveにローパスフィルタ11を通過後の電流値Iqf’の平均値を計算する。これは、駆動系の摩擦力に相当する。γ>1として変数Ilimを設定すれば、駆動系の摩擦力に一定のマージンを加えた値が変数Ilimとなるため、機械ごとの摩擦力のばらつきを考慮した形で、機械ごとに最適な変数Ilimの設定が可能となる。なお、実施の形態3、4では、変数Ilim1、Ilim2を設定する必要があるが、この場合には、Vthよりも大きい速度で駆動したときのγ・Iaveを変数Ilim2、Vthよりも小さい速度で駆動したときのγ・Iaveを変数Ilim1とすればよい。
【００４１】
なお、本実施の形態では、電流検出器8からの出力Iqfを濾波するためにローパスフィルター11を用いているが、電流値の起動停止時や通常運転時に生じる電流変動成分が除去、低減できれば、他の信号処理装置であってもよい。
【００４２】
また、ローパスフィルターへの入力信号は、必ずしも電流検出器8の出力でなければならないというものではなく、電流ループの電流指令値や電流検出値Iqfに相当するものであればよい。
【００４３】
さらに、ここでは図２のローパスフィルターが１個を用いた衝突検出器を例にとって説明したが、図５のような、２個のローパスフィルターを用いた衝突検出器、あるいはさらに多くのローパスフィルターを用いたものにも適用できる。
【００４４】
実施の形態６．
図１４は、実施の形態6に係るサーボモータのブロック線図であり、数値制御工作機械の位置決めテーブルを駆動するためのモータを制御する制御系である。図において、図１と同じ符号のものは図１と同じ機能を示すものである。16は、速度指令値Vcを入力として、パワーアンプ5から駆動モータ6へ供給される電流の指令値Iqfの上下限値Iqclimを電流制御装置4に出力する電流制限値算出装置である。17は、電流制御装置4への電流指令値Iqfを制限する電流制限装置である。ここでは、衝突検出器10の構成は例えば実施の形態1と同じものとするが、これに限るものでなく、実施の形態1から4のいずれでもよい。
【００４５】
図１５は、図１４の電流制限値算出装置16の電流の指令値Iqfの上下限値Iqclimを算出するプログラムの動作を示すフローチャートの一例である。まず、プログラムが開始されると、今回のサイクルがプログラム実行後最初のサイクルか否かを判別する (ST1)。最初のサイクルであれば、今回の速度指令値Vcを読みこみ、変数VcoldにVｃ、変数ICNT、αに零を代入する。(ST2)。最初のサイクルでなければ、ST2をスキップする。次に、現在の速度指令値Vcを読みこみ（ST3）、変数ΔVcに（Vc-Vcold）を代入する(ST4)。変数ΔVcが設定値Vcthよりも大きいかどうか、変数αが1であるかどうかを判別する(ST5)。 変数ΔVcが設定値Vcthよりも大きいか、変数αが1であれば、変数ICNTに1を追加し、変数αに1を代入、変数Iqclimに設定値Iqclim1を代入する(ST6)。次に、変数ICNTが設定値βよりも大きいか否かを判別する(ST7)。変数ICNTが設定値βよりも大きければ、変数ICNTとαに零を代入する(ST8)。変数ICNTが設定値β以下であれば、ST8をスキップし、ST10に移る。変数ΔVcが設定値Vcth以下で、変数αが0であれば、変数Iqclimに設定値Iqclim2を代入し(ST9)、ST10に移る。次に、変数Iqclimを電流制御器4の電流制限装置17へ出力し（ST10）、VcoldにVcを代入して（ST11）、プログラムを終了する。
【００４６】
前記のST1からST11の一連の処理は、数値制御装置1の制御周期ごとに実行される。なお、前記ST6の処理における設定値Iqclim1は駆動モータ6の起動停止に必要な電流値に若干のマージンを加えた値とする。また、設定値Iqclim2は、駆動モータ6を一定速度で動作させるときに必要な電流値に若干のマージンを加えた値とする。
【００４７】
図１６は、図１４の電流制限装置17における電流指令値Iqfの上下限値を設定値Iqlim以下に制限するプログラムの動作を示すフローチャートの一例である。
【００４８】
まず、プログラムが開始されると、今回の電流指令値Iqcを読みこむ (ST1)。Iqcの絶対値がIqclimよりも大きいかどうかを判別する (ST2)。Iqcの絶対値がIqclimよりも大きければ、変数Iqcに（Iqc/abs（Iqc））*Iqclimを代入する（ST3）。Iqcの絶対値がIqclimよりも小さければ、ST3をスキップする。次に、変数Iqcを電流制御装置4に出力して(ST4)、プログラムを終了する。前記のST1からST4の一連の処理は、数値制御装置1の制御周期ごとに実行される。
【００４９】
図１７は、例えば図１４の位置決めテーブル9に一定の速度指令を与えたとき、起動してから衝突が検出されるまでの電流検出器8の出力Iqfとローパスフィルタ11の出力Iqf’の時間波形の一例を示した図であり、これらの波形を実線で示している。図中の破線は設定値Ilim、一点鎖線は設定値Iqclimである。起動停止時は大きい電流が必要となるため、設定値Iqclimを大きくとり、それ以外は設定値Iqclimを一定速度で送るときに必要な電流値よりも若干大きくとる。こうすることにより、モータへは設定値Iqclimよりも大きい電流が流れないようにできるので、モータトルクを抑えることができ、駆動系の衝撃を弱めることができる。
【００５０】
なお、本実施の形態では、電流検出器8からの出力Iqfを濾波するためにローパスフィルター11を用いているが、電流値の起動停止時や通常運転時に生じる電流変動成分が除去、低減できれば、他の信号処理装置であってもよい。
【００５１】
また、ローパスフィルターへの入力信号は、必ずしも電流検出器8の出力でなければならないというものではなく、電流ループの電流指令値や電流検出値Iqfに相当するものであればよい。
【００５２】
【発明の効果】
この発明に係る数値制御工作機械においては、位置決めテーブルを駆動する駆動モータへの出力電流値を検出する電流検出手段と、この電流検出手段からの検出信号を濾波する信号処理手段と、この信号処理手段の出力から上記駆動モータの負荷トルクの増大を算出し、上記位置決めテーブルが障害物と衝突したことを検出する過負荷検出手段とを備えたので、位置決めテーブルが障害物に衝突した時の過負荷検出速度が高速になり、位置決めテーブルに加わる衝突荷重を小さくでき、耐久性の高いものが得られる。
【００５４】
さらに、過負荷検出手段における、障害物と衝突したことを検出する過負荷判定のしきい値を位置決めテーブルの速度に応じて切り替えるようにしたので、より一層高速に過負荷検出でき、位置決めテーブルに加わる衝突荷重をより一層小さくできる。
【００５５】
また、信号切り替え手段は、上記位置決めテーブルの速度指令値または速度検出値と、上記速度指令値または速度検出値の時間変化とから、上記複数の信号処理器の出力を選択して上記信号処理手段の出力としたので、速度指令値が速い速度で急激に切り替わるような使用条件においても、過負荷判定の誤った判定がなくなるため、装置の信頼性が向上するとともに、作業能率が向上する。
【００５６】
さらに、駆動モータの電流を制御する電流制御手段を備え、上記駆動モータの電流指令値の上限値および下限値を前記位置決めテーブルの速度指令値あるいは速度検出値によって切り替えるようにしたので、位置決めテーブルの障害物衝突時の衝撃を大きく低減でき、信頼性の高いものが得られる。
【００５７】
さらにまた、過負荷検出手段における、障害物と衝突したことを検出する過負荷判定のしきい値を数値制御工作機械のプログラム動作で自動的に設定する機能を設けたので、ユーザーのメンテナンスが容易になるとともに、位置決め軸制御装置の経年変化に対しても安定した性能を維持できるものが得られる。
【図面の簡単な説明】
【図１】  この発明の実施の形態１を示す数値制御工作機械のモータ制御系のブロック線図である。
【図２】  この発明の実施の形態１を示す衝突検出器の構成図である。
【図３】  この発明の実施の形態１を示す過負荷検出手段のプログラムのフローチャートである。
【図４】  この発明の実施の形態１の動作を説明する図である。
【図５】  この発明の実施の形態2を示す衝突検出器の構成図である。
【図６】  この発明の実施の形態２を示す信号切り替え手段のプログラムののフローチャートである。
【図７】  この発明の実施の形態２の動作を説明する図である。
【図８】  この発明の実施の形態3を示す衝突検出器のプログラムのフローチャートである。
【図９】  この発明の実施の形態３の動作を説明する図である。
【図１０】  この発明の実施の形態4を示す衝突検出器のプログラムのフローチャートである。
【図１１】  この発明の実施の形態４の動作を説明する図である。
【図１２】  この発明の実施の形態5を示す衝突検出器の設定値Ilimを自動設定するプログラムのフローチャートである。
【図１３】  この発明の実施の形態５の動作を説明する図である。
【図１４】  この発明の実施の形態６を示す数値制御工作機械のモータ制御系のブロック線図である。
【図１５】  この発明の実施の形態６を示す電流制限値算出装置のプログラムのフローチャートである。
【図１６】  この発明の実施の形態６を示す電流制限装置のプログラムのフローチャートである。
【図１７】  この発明の実施の形態６の動作を説明する図である。
【図１８】  従来の数値制御工作機械のモータ制御系を示すブロック線図である。
【符号の説明】
４  電流制御手段
6  駆動モータ、  8  電流検出手段
9  位置決めテーブル、
11  ローパスフィルター（信号処理手段）、
111  信号処理手段、12  過負荷検出手段、
13  第１のローパスフィルター（信号処理器）
14  第２のローパスフィルター（信号処理器）
15  信号切り替え手段
【図１】
0003829559.tif 000002
【図２】
0003829559.tif 000003
【図３】
0003829559.tif 000004
【図４】
0003829559.tif 000005
【図５】
0003829559.tif 000006
【図６】
0003829559.tif 000007
【図７】
0003829559.tif 000008
【図８】
0003829559.tif 000009
【図９】
0003829559.tif 000010
【図１０】
0003829559.tif 000011
【図１１】
0003829559.tif 000012
【図１２】
0003829559.tif 000013
【図１３】
0003829559.tif 000014
【図１４】
0003829559.tif 000015
【図１５】
0003829559.tif 000016
【図１６】
0003829559.tif 000017
【図１７】
0003829559.tif 000018
【図１８】
0003829559.tif 000019