(57)【要約】【課題】  加工速度が変化しても、又加減速領域においても同期誤差を少なくし、高精度で高速にねじ切り・ねじ立て加工ができる制御装置を提供する。【解決手段】  マスターモータ５ｍでワーク１６を回転させる。スレーブモータ５ｓで工具８を直線移動させてワークにねじ切り加工を行う。マスターモータ５ｍの位置フィードバックに係数Ｋをかけてスレーブモータ５ｓの位置指令とする。ねじ切り加工の１パターン周期分の補正データを記憶し位置偏差に加算する角度同期学習制御部１１を設ける。この制御部１１は、マスターモータの位置フィードバックに対応して１パターン周期分の補正データを記憶する。記憶補正データに基づいて位置からそのときの時間（位置）に対応する補正データに変換して補正量を求め位置偏差に加算する。位置により位置偏差が補正されるので、加工速度が変化しても同期誤差をなくした制御を行うことができる。【選択図】          図１
2005216135.tif 000002
【特許請求の範囲】
【請求項１】
マスターモータに対して、スレーブモータを同期させることによって加工するねじ切り・ねじ立て加工用の制御装置において、
マスターモータおよびスレーブモータのそれぞれの位置フィードバックを検出する位置フィードバック検出手段と、
前記マスターモータの位置フィードバックから、スレーブモータの位置指令を演算する指令演算手段と、
前記スレーブモータの位置指令と、前記スレーブモータの位置フィードバックからスレーブモータの位置偏差を求める位置偏差演算手段と、
所定参照位置に基づいて、前記スレーブモータの補正データを求める補正データ演算手段と、
求められた補正データを所定周期分記憶する補正データ記憶手段と、
前記記憶された補正データから位置補正量を作成する位置補正演算手段と、
前記位置補正量を使用して前記スレーブモータの位置偏差の補正を行うことでスレーブモータの位置制御を行う位置制御手段と、
を備えたことを特徴とするねじ切り・ねじ立て加工用制御装置。
【請求項２】
マスターモータへ位置指令を入力する指令入力手段と、
前記マスターモータの位置指令と、前記マスターモータの位置フィードバックからマスターモータの位置偏差を求める位置偏差演算手段と、
所定参照位置に基づいて、前記マスターモータの補正データを求める補正データ演算手段と、
求められた補正データを所定周期分記憶する補正データ記憶手段と、
前記記憶された補正データから位置補正量を作成する位置補正演算手段と、
前記位置補正量を使用して前記マスターモータの位置偏差の補正を行うことでマスターモータの位置制御を行う位置制御手段と、
を備えたことを特徴とする請求項１に記載のねじ切り・ねじ立て加工用制御装置。
【請求項３】
マスターモータに対して、スレーブモータを同期させることによって加工するねじ切り・ねじ立て加工用の制御装置において、
マスターモータへ位置指令を入力する指令入力手段と、
スレーブモータの位置フィードバックを検出する位置フィードバック検出手段と、
前記マスターモータの位置指令から、スレーブモータの位置指令を演算する指令演算手段と、
前記スレーブモータの位置指令と、前記スレーブモータの位置フィードバックからスレーブモータの位置偏差を求める位置偏差演算手段と、
所定参照位置に基づいて、前記スレーブモータの補正データを求める補正データ演算手段と、
求められた補正データを所定周期分記憶する補正データ記憶手段と、
前記記憶された補正データから位置補正量を作成する位置補正演算手段と、
前記位置補正量を使用して前記スレーブモータの位置偏差の補正を行うことでスレーブモータの位置制御を行う位置制御手段と、
を備えたことを特徴とするねじ切り・ねじ立て加工用制御装置。
【請求項４】
マスターモータへ位置フィードバックを検出する位置フィードバック検出手段と、
前記マスターモータの位置指令と、前記マスターモータの位置フィードバックからマスターモータの位置偏差を求める位置偏差演算手段と、
所定参照位置に基づいて、前記マスターモータの補正データを求める補正データ演算手段と、
求められた補正データを所定周期分記憶する補正データ記憶手段と、
前記記憶された補正データから位置補正量を作成する位置補正演算手段と、
前記位置補正量を使用して前記マスターモータの位置偏差の補正を行うことでマスターモータの位置制御を行う位置制御手段と、
を備えたことを特徴とする請求項３に記載のねじ切り・ねじ立て加工用制御装置。
【請求項５】
前記所定参照位置は、前記マスターモータの位置フィードバック、前記スレーブモータの位置フィードバックのいずれかである請求項１に記載のねじ切り・ねじ立て加工用制御装置。
【請求項６】
前記所定参照位置は、前記マスターモータへの位置指令、前記マスターモータの位置フィードバック、前記スレーブモータの位置フィードバックのいずれかである請求項２乃至４の内いずれか１項に記載のねじ切り・ねじ立て加工用制御装置。
【請求項７】
前記所定参照位置を選択する選択手段を備え、前記所定参照位置を選択切換ができるようにした請求項５又は請求項７に記載のねじ切り・ねじ立て加工用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークに対してねじ切り又はねじ立て加工を行うときの回転軸と直線送り軸の同期制御を行うねじ切り・ねじ立て加工用制御装置に関する。
【背景技術】
【０００２】
ワークに対してねじ切りを行う場合、ワークを回転させながら刃物により所定切り込みを与えてワーク軸方向に刃物を相対移動させてねじ切りが行われる。この場合、ワークの回転に同期して刃物を軸方向にワークに対して相対移動させねばならない。  
又、タッパーによってワークにねじ立て加工を行う場合、該タッパーの回転と軸方向の送りを同期させて加工しなければならない。
【０００３】
このねじ切り加工において、回転軸と直線送り軸の同期をとるために、ワークを回転させる回転軸（主軸）の回転速度を検出し、この検出回転速度から工具の送り軸の移動指令を求めて工具を軸方向に移動させることにより、ワークの回転に同期して工具を軸方向に移動させてねじ切りを行う方法が公知である（特許文献１参照）。
【０００４】
又、タッパーを軸方向に送る送り軸のモータに対して移動指令を出力し、該モータに取り付けられたパルスゼネレータの出力とタッパー送り軸の移動指令の加速度を加算したものをタッパーの回転速度指令として同期制御する発明も公知である（特許文献２参照）。
【０００５】
【特許文献１】特開平５−６９２７５号公報
【特許文献２】特開平８−１４１８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、ねじ切り・ねじ立て加工を行う場合、回転軸と送り軸の同期をとる必要があり、従来、一方の軸の速度一定として、該速度と同期をとって他方の軸を駆動して加工している。そのため、回転軸又は送り軸の一方の軸の移動速度を検出し、該速度と同期するように他方の軸の速度を制御している。
【０００７】
しかしながら、ねじ切りにおいては、指令の変化や外乱の影響で加工速度が変化すると、ワークと工具の同期誤差が生じ、ねじ切り精度が悪化するという問題がある。  
又、ねじ立て加工の場合では、加減速領域のサーボ系の遅れが大きくなると同期誤差が大きくなり加工の高速化が難しくなる。
【０００８】
そこで、本発明の目的は、指令の速度が変化や外乱の影響で速度が変化しても、同期誤差を少なくし、さらに加減速領域における同期誤差も少なくするねじ切り・ねじ立て加工用制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
マスターモータに対して、スレーブモータを同期させることによって加工するねじ切り・ねじ立て加工用の制御装置において、本願請求項１に係わる発明は、マスターモータおよびスレーブモータのそれぞれの位置フィードバックを検出する位置フィードバック検出手段と、マスターモータの位置フィードバックから、スレーブモータの位置指令を演算する指令演算手段と、スレーブモータの位置指令と、スレーブモータの位置フィードバックからスレーブモータの位置偏差を求める位置偏差演算手段と、所定参照位置に基づいて、スレーブモータの補正データを求める補正データ演算手段と、求められた補正データを所定周期分記憶する補正データ記憶手段と、記憶された補正データから位置補正量を作成する位置補正演算手段と、位置補正量を使用してスレーブモータの位置偏差の補正を行うことでスレーブモータの位置制御を行う位置制御手段とを備え、角度（位置）に対応して位置偏差を補正するいわゆる学習制御を行うことによって、ねじ切り・ねじ立ての同期ずれを防止し、精度の高いねじ切り・ねじ立て加工を実現した。
【００１０】
また、請求項２に係わる発明は、さらに、マスターモータへ位置指令を入力する指令入力手段と、マスターモータの位置指令と、マスターモータの位置フィードバックからマスターモータの位置偏差を求める位置偏差演算手段と、所定参照位置に基づいて、マスターモータの補正データを求める補正データ演算手段と、求められた補正データを所定周期分記憶する補正データ記憶手段と、記憶された補正データから位置補正量を作成する位置補正演算手段と、位置補正量を使用してマスターモータの位置偏差の補正を行うことでマスターモータの位置制御を行う位置制御手段とを備えたものである。
【００１１】
また、請求項３に係わる発明は、同様に、マスターモータに対して、スレーブモータを同期させることによって加工するねじ切り・ねじ立て加工用の制御装置において、マスターモータへ位置指令を入力する指令入力手段と、スレーブモータの位置フィードバックを検出する位置フィードバック検出手段と、マスターモータの位置指令から、スレーブモータの位置指令を演算する指令演算手段と、スレーブモータの位置指令と、スレーブモータの位置フィードバックからスレーブモータの位置偏差を求める位置偏差演算手段と、所定参照位置に基づいて、スレーブモータの補正データを求める補正データ演算手段と、求められた補正データを所定周期分記憶する補正データ記憶手段と、記憶された補正データから位置補正量を作成する位置補正演算手段と、位置補正量を使用してスレーブモータの位置偏差の補正を行うことでスレーブモータの位置制御を行う位置制御手段とを備えたことを特徴とするねじ切り・ねじ立て加工用制御装置である。  
また、請求項４に係わる発明は、請求項３に係わる発明に、さらに、マスターモータへ位置フィードバックを検出する位置フィードバック検出手段と、マスターモータの位置指令と、マスターモータの位置フィードバックからマスターモータの位置偏差を求める位置偏差演算手段と、所定参照位置に基づいて、マスターモータの補正データを求める補正データ演算手段と、求められた補正データを所定周期分記憶する補正データ記憶手段と、記憶された補正データから位置補正量を作成する位置補正演算手段と、位置補正量を使用してマスターモータの位置偏差の補正を行うことでマスターモータの位置制御を行う位置制御手段とを備えたものである。
【００１２】
請求項５に係わる発明は、請求項１に係わる発明における所定参照位置を、マスターモータの位置フィードバック、スレーブモータの位置フィードバックのいずれかのものとした。さらに、請求項６に係わる発明は、請求項２〜請求項４に係わる発明における所定参照位置を、マスターモータへの位置指令、マスターモータの位置フィードバック、スレーブモータの位置フィードバックのいずれかのものとした。又、請求項７に係わる発明は、この所定参照位置を選択する選択手段を備え、所定参照位置を所定条件に応じて選択切換ができるようにしたものである。
【発明の効果】
【００１３】
加工速度が変化しても、また、加減速領域でのサーボ系の遅れが大きくなっても、本発明においては、位置（角度）に基づいて位置偏差を補正する学習制御を行うことから、同期誤差を小さくすることができ、高精度、高速のねじ切り・ねじ立て加工ができる。
【発明を実施するための最良の形態】
【００１４】
以下本発明の実施形態を図面と共に説明する。  
図１は本発明の第１の実施形態のブロック図である。この実施形態では、マスターモータ５ｍによりワーク１６を回転させ、スレーブモータ５ｓによって駆動されるボールネジ／ナット機構７ｓによって工具（刃物）８をワーク１６の回転中心軸方向に移動させてワーク１６にねじ切り加工を行う例である。
【００１５】
数値制御装置等の上位制御装置から出力される速度指令とマスターモータ５ｍに取り付けられ、該マスターモータ５ｍの位置、速度を検出する位置・速度検出器６ｍからの速度フィードバックを減じて速度偏差を求め、該速度偏差に基づいて速度制御部２ｍは比例、積分等の速度ループ制御を行いトルク指令（電流指令）を求める。又、このトルク指令（電流指令）から電流増幅器４ｍ内に設けられた電流検出器（図示せず）で検出された電流フィードバックを減じて電流偏差を求め電流制御部３ｍで電流ループ制御を行って電流増幅器４ｍを介してマスターモータ５ｍを駆動してワーク１６を指令速度で回転させる。
【００１６】
一方、工具（刃物）８を駆動するスレーブモータ５ｓに対しては、指令演算手段９でマスターモータ５ｍに取り付けられた位置・速度検出器６ｍからの位置フィードバックに所定係数Ｋを乗じてスレーブモータ５ｓへの位置指令Ｐcsとする。  
この位置指令Ｐcsとスレーブモータに取り付けられ該スレーブモータの位置、速度を検出する位置・速度検出器６ｓからの位置フィードバックを減じて位置偏差εを求め、さらに、本実施形態では、角度同期学習制御部１１で求めた補正量を位置偏差εに加算して補正し、補正した位置偏差にポジションゲインを乗じて速度指令を求める位置ループ制御を位置制御部１ｓで行う。なお、この角度同期学習制御部１１の詳細については後述する。
【００１７】
この位置制御部１ｓから出力される速度指令から、位置・速度検出器６ｓより出力されるスレーブモータの速度フィードバックを減じて速度偏差を求め、該速度偏差に基づいて速度制御部２ｓは比例、積分等の速度ループ制御を行いトルク指令（電流指令）を求める。又、このトルク指令（電流指令）から電流増幅器４ｓ内に設けられた電流検出器（図示せず）で検出された電流フィードバックを減じて電流偏差を求め電流制御部３ｓで電流ループ制御を行って、電流増幅器４ｓを介してスレーブモータ５ｓを駆動して、ボールネジ／ナット機構７ｓにより回転運動から直線運動に変えて工具（刃物）８を直線移動させる。これによりワーク１６の外周にねじ加工を行う。なお、ワーク１６に対して工具８で切り込みを行うために、工具８をワーク１６の回転軸に垂直方向に相対移動させるものであるが、この点は説明を省略する。そして、この切り込み量を順次増加させて上述した同じ動作を繰り返し実行してねじ切り加工を行うものである。
【００１８】
指令演算手段９でマスターモータ５ｍの位置フィードバックに乗じる係数Ｋを、加工しようとするねじのリードにあわせて決定することによって、ワーク１６の外周に所望のねじを切り出すことができる。
【００１９】
上述した構成は、角度同期学習制御部１１及び該角度同期学習制御部１１で求めた補正量を位置偏差に加算して補正する点を除けば、従来のねじ切りのための同期制御とほぼ同一である。しかし、本発明は、この角度同期学習制御部１１を設ける点に特徴を有するものである。同一パターンの動作を繰り返し実行するものであるから、学習制御を行うことによって、位置偏差を小さいものとして精度の高いねじ切り加工ができる。しかも、本実施形態では、この学習制御を角度（位置）に合わせた補正量を求めて位置偏差を小さくするようにしたものであり、マスターモータ５ｍの回転速度が変わったり、又は、何らかの外乱によって、マスターモータ５ｍの回転速度に変動が生じても、同期誤差が発生せず、精度の高いねじ切り加工ができるようにしたものである。
【００２０】
図２は、この角度同期学習制御部１１の詳細ブロック図である。  
角度同期学習制御部１１は、上位制御装置等からの基準信号でオンするスイッチ２１と、所定サンプリング周期毎（位置、速度ループ処理周期毎）の前記位置偏差εを参照位置Θにおける所定位置θ（ｎ）に対する位置偏差に変換する時間・位置変換手段２２と、該時間・位置変換手段（第１の変換手段）２２で求められた所定位置θ（ｎ）における位置偏差とメモリ手段２５に記憶する対応する１パターン周期前の所定位置θ（ｎ）における補正データを加算する加算器２３と、加算器２３の出力をフィルタ処理して補正データを求めるフィルタ手段（例えばＦＩＲ型のローパスフィルタ）２４と、各所定位置の補正データを記憶するメモリ手段２５と、該メモリ手段２５の各所定位置θ（ｎ）に対応するメモリ部から読み出された補正データを位置ベースに対応するものから時間ベースに対応する補正データに変換する位置・時間変換手段（第２の変換手段）２６と、該時間に対する補正データに対して制御対象の位相遅れとゲイン低下分を補償して演算器２８に出力する動特性補償要素２７より構成されている。メモリ手段２５は、繰り返し実行される動作の１パターン分の位置に対応する補正データを記憶するメモリを有するものである。
【００２１】
参照位置Θは、スレーブモータ５ｓを同期させる基準となる位置であり、この第１の実施形態では、マスターモータ５ｍの位置・速度検出器６ｍからの位置フィードバックか又はスレーブモータ５ｓの位置・速度検出器６ｍからの位置フィードバックのいずれかとし、選択手段１０で選択できるように構成している。以下の説明では、参照位置Θとしてマスターモータ５ｍの位置・速度検出器６ｍからの位置フィードバックが選択手段１０で選択されているものとして説明する。
【００２２】
メモリ手段２５には、ねじ切り加工で繰り返し指令されて動作の１パターン（例えばワーク１６の全長に亘ってねじ切り加工を行う場合、該ワークの加工開始位置から加工終了位置までを１パターンとする。又はワークの１〜数回転分を１パターンとしてもよい。）の周期を分割し、所定移動距離毎の参照位置Θ（ｎ）における所定位置θ（ｎ）の補正データを記憶するメモリ部を少なくとも備えている。１パターン周期を２πとして分割幅をｄとすると少なくとも（２π／ｄ）個のメモリ部を備えている。例えば、（２π／ｄ）＝ｑとすれば、パターンにおける参照位置Θにおける位置θ（０）＝０＝２πから位置θ（ｑ−１）＝２π−ｄまでの各位置θ（ｎ）における補正データを記憶するメモリ部を備えている。以下、このθ（０）＝０＝２π〜位置θ（ｑ−１）までのメモリ手段２５に補正データが記憶される各位置をグリッド位置という。
【００２３】
時間・位置変換手段２２は、基準信号によってスイッチ２１がオンしたとき、入力される参照位置Θを繰り返し制御におけるパターン周期の原点位置（原点グリッド位置）とし該位置をθ（０）とする。以下参照位置Θとして入力される位置よりパターン周期における位置θ（ｎ）を求める。さらに、位置偏差εは所定サンプリング周期（位置・速度ループ処理周期）毎求められ、時間の関数として求められ、ワーク１６の位置やマスターモータ５ｍやスレーブモータ５ｓの回転位置に対応して求められるものではない。  
そこで、時間・位置変換手段２２で、サンプリング周期で求めた位置偏差εを参照位置Θに基づいて、該参照位置Θにおける予め決められているグリッド位置θ（ｎ）における位置偏差に変換する。そして、加算器２３で該グリッド位置θ（ｎ）における位置偏差とメモリ手段２５に記憶する該グリッド位置θ（ｎ）に対応する補正データδ（ｎ）を加算してフィルタ手段２４でフィルタ処理して当該グリッド位置θ（ｎ）の更新補正データδ（ｎ）を求め、該グリッド位置θ（ｎ）に記憶する補正データを更新する。
【００２４】
又、位置・時間変換手段２６は、サンプリング周期毎（位置、速度ループ処理周期毎）に、そのサンプリング周期で求めた参照位置Θに基づいて、該参照位置Θの前後のグリッド位置θ（ｍ），θ（ｍ＋１）における補正データδ（ｍ），δ（ｍ＋１）より当該サンプリング時の参照位置Θにおける補正データδ（ｎ）を求める。この補正データは当該サンプリング時の補正データを意味し時間をベースとした補正データとなる。こうして求めた補正データを従来と同様に動特性補償要素２７により位相遅れ、ゲインの低下を補償して補正量を求め演算器２８に出力し、位置偏差εにこの補正量を加算し、位置制御部１ｓのポジションゲインを乗じて速度指令を求めることになる。
【００２５】
基準信号は、例えば、工具８をワーク１６に対してねじ切り加工開始位置に位置決めして、マスターモータ５ｍ及びスレーブモータ５ｓの同期制御を開始させるときに出力されるものである。そのため、この基準信号の入力でスイッチ２１がオンしたとき、入力される参照位置Θを繰り返し制御におけるパターン周期の原点位置（原点グリッド位置）とし、該位置をθ（０）とするものであるから、この参照位置Θとマスターモータ５ｍの位置は１対１の対応関係にあり、１パターン周期前の参照位置は、当該パターン周期のマスターモータ５ｍの位置に対応し、そのときの位置偏差等で構成される補正データが当該サンプリング時の位置偏差に加算されることは、１パターン周期前の位置偏差等で構成される補正データが加算されることを意味する。
【００２６】
図３は、時間・位置変換手段２２によるサンプリング時に得られた位置偏差εを参照位置Θの各グリッド位置θ（ｎ）における位置偏差に変換する処理の説明図である。横軸は時間（サンプリング時間）、縦軸の上方向は、参照位置Θを示す。又、縦軸の下方向は、位置偏差εを表す。  
前サンプリング周期ｔ（ｎ−１）で求められた位置偏差がε（ｎ−１）、参照位置ΘがΘ（ｎ−１）であったとする。当該サンプリング時ｔ（ｎ）において求められた位置偏差がε（ｎ）、参照位置ΘがΘ（ｎ）とする。前サンプリング周期と今回のサンプリング周期における参照位置Θ（ｎ−１）とΘ（ｎ）の間のグリッド位置を求める。例えば図３に示すようにグリッド位置θ（ｃ）がこの位置Θ（ｎ−１）とΘ（ｎ）の間に存在するものとする。
【００２７】
又、サンプリング時ｔ（ｎ−１），ｔ（ｎ）において、検出された位置偏差がε（ｎ−１），ε（ｎ）であると、参照位置Θ（ｎ−１）とΘ（ｎ）の間で位置偏差が直線的に変化しているものと近似して、参照位置がΘ（ｎ−１）とΘ（ｎ）間のグリッド位置θ（ｃ）での位置偏差ε（ｃ）は、次の１式で示すように、内挿補間することによって、求めることができる。
【００２８】
ε(c)＝ε(n-1)+{θ(c)-Θ(n-1)}・{ε(n)-ε(n-1)}／{Θ(n)-Θ(n-1)}
・・・（１）  
こうして求めたグリッド位置θ（ｃ）の位置偏差ε（ｃ）とメモリ手段２５のグリッド位置θ（ｃ）に対応して記憶する補正データδ（ｃ）を加算器２３で加算し、その後、フィルタ手段２４の処理をしてグリッド位置θ（ｃ）に対応する新たな補正データδ（ｃ）を求め、メモリ手段２５のグリッド位置θ（ｃ）に対応するメモリ部に格納し更新する。なお、参照位置Θ（ｎ−１）とΘ（ｎ）（＝θ（ｎ））間にグリッド位置がない場合には、メモリ手段の補正データの更新は行われない。又、この参照位置Θ（ｎ−１）とΘ（ｎ）間に複数のグリッド位置が存在する場合には、この複数のグリッド位置に対する補正データの更新がそれぞれなされる。
【００２９】
図４は、位置・時間変換手段２６によるサンプリング時に得られた参照位置Θより該サンプリング時の補正データδ（ｎ）を求める処理の説明図である。  
当該サンプリング時に得られた参照位置がΘ（ｎ）であるとすると、該位置Θ（ｎ）の前後のグリッド位置θ（ｍ），θ（ｍ＋１）に対応してメモリ手段２５に記憶する補正データがδ（ｍ），δ（ｍ＋１）であったとする。そして、グリッド位置θ（ｍ）からθ（ｍ＋１）まで補正データは直線的に変化するものと近似すると、当該サンプリング時のパターン周期における参照位置Θ（ｎ）に対応する補正データδ（ｎ）は次の２式による補間処理によって得られる。
【００３０】
δ(n)＝δ(m)+{Θ(n)-θ(m)}・{δ(m+1)-δ(m)}／{θ(m+1)-θ(m)}
・・・（２）
こうして得られた補正データδ（ｎ）は、当該サンプリング時の参照位置Θ（ｎ）に対応し、スレーブモータ５ｓへの指令位置にも対応するものであるから、当該サンプリング時における補正データとして用いることができ、前述したように動特性補償処理（２７）をして補正量を求め当該サンプリング周期の位置偏差に加算することになる。  
なお、各サンプリング時においては、位置・時間変換手段２６の処理を先に実行し、その後、時間・位置変換手段２２の処理を実行し、メモリ手段２５に記憶する補正データの更新を行うようにする。
【００３１】
図５は、位置・速度ループ処理等を行う制御装置のプロセッサがスレーブモータ５ｓを駆動制御する所定サンプリング周期（位置・速度ループ処理周期）毎実施する処理のフローチャートである。
【００３２】
まず、マスターモータ５ｍを駆動して位置・速度検出器６ｍから１回転信号が出力される位置に該マスターモータ５ｍを位置決めし、かつスレーブモータ５ｓを駆動して工具を加工開始位置に位置決めする。そして上位制御装置からマスターモータ５ｍに速度指令を出力すると共に、基準信号を出力してスイッチ２１をオンにする。このスイッチ２１をオンにするということは、スレーブモータ５ｓに対して図５で示す処理を開始することを意味する。
【００３３】
マスターモータ５ｍに対しては、この速度指令と位置・速度検出器６ｍからの速度フィードバックに基づいて速度制御部２ｍで速度ループ処理してトルク指令を求め、さらに電流制御部３ｍで該トルク指令と電流フィードバックに基づいて電流ループ制御を行って電流増幅器４ｍを介してマスターモータ５ｍを指令速度で駆動し、ワーク１６を回転させる。この処理は従来と同様である。
【００３４】
一方、スレーブモータ５ｓに対する処理は、図５に示すように、まず、マスターモータ５ｍ、スレーブモータ５ｓにそれぞれ取り付けられている位置・速度検出器６ｍ，６ｓからの位置フィードバックを読み取る（ステップ１００）。マスターモータ５ｍからの所定周期間における位置フィードバックの量（マスターモータ５ｍのこのサンプリング処理周期間の移動量）に設定されている所定係数Ｋを乗じてスレーブモータ５ｓへの位置指令Ｐcs(ｎ)を求める（ステップ１０１）。この位置指令Ｐcs(ｎ)からスレーブモータ５ｓからの位置フィードバックを減じて位置偏差ε（ｎ）を求める（ステップ１０２）。
【００３５】
次に、位置・時間変換手段２６の処理を行う。この実施形態では、参照位置Θ（ｎ）として、マスターモータ５ｍの位置フィードバックを選択設定しているものとする（選択手段１０でマスターモータ５ｍの位置フィードバックが参照位置として選択されている）。ステップ１００で読み込んだマスターモータ５ｍの位置フィードバックの位置である参照位置Θ（ｎ）に対して、その前後のグリッド位置θ（ｍ），θ（ｍ＋１）を求め、該グリッド位置θ（ｍ），θ（ｍ＋１）に対応してメモリ手段２５に記憶する補正データδ（ｍ），δ（ｍ＋１）を求め、前述した２式の演算によって、参照位置Θ（ｎ）、すなわち当該サンプリング周期時における補正データδ（ｎ）を求める（ステップ１０３）。
【００３６】
この補正データδ（ｎ）に対して動特性補償処理（２７）をして補正量を求める（ステップ１０４）。求めた補正量をステップ１０３で求めた位置偏差ε（ｎ）に加算する（ステップ１０５）。この補正量が加算された位置偏差にポジションゲインが乗じられて速度指令が求められ、さらには速度ループ処理がなされるが、この点は従来と同様であることから図５では省略している。
【００３７】
次に時間・位置変換手段２２の処理を行う。参照位置Θ（ｎ）と１つ前のサンプリング周期で求めた参照位置Θ（ｎ−１）の間のグリッド位置θ（ｃ）を求め、参照位置Θ（ｎ−１）、Θ（ｎ）と共に求めた各サンプリング時の位置偏差ε（ｎ），ε（ｎ−１）により、前述した１式の演算処理を行うことによって、グリッド位置θ（ｃ）の位置偏差ε（ｃ）を求める（ステップ１０６）。
【００３８】
この求めた位置偏差ε（ｃ）とメモリ手段２５に記憶するグリッド位置θ（ｃ）に対応する補正データδ（ｃ）を加算し（ステップ１０７）、フィルタリング処理して更新した補正データδ（ｃ）を求め（ステップ１０８）、グリッド位置θ（ｃ）の補正データを更新した補正データδ（ｃ）に書き替えて更新し（ステップ１０９）、当該サンプリング周期の処理を終了する。
【００３９】
以下、各サンプリング周期（位置・速度ループ処理周期）毎、上述した図５に示す処理を実行し、１パターン周期における位置、すなわち、ワーク１６の回転位置（角度）に対するねじ切り位置に対応して補正量が求められ、そのときのスレーブモータ５ｓの位置偏差（工具８の指令位置に対する位置偏差）を補正して、新たな補正された位置偏差とし、ポジションゲインが乗じられて速度指令が求められる。このように、位置に基づいて学習制御がなされることになる。そのため、速度変動があっても、位置に対する補正データの関係は変動せず、正確に位置偏差を零に収束させることができる。
【００４０】
上述した第１の実施形態では、参照位置Θとしてマスターモータ５ｍの位置フィードバックとしてマスターモータ５ｍの実位置としたが、参照位置をスレーブモータ５sとの位置フィードバックとしてもよいものである。
【００４１】
図６は、本発明の第２の実施形態のモータ制御装置のブロック図である。この第２の実施形態は第１の実施形態と比較し、マスターモータ５ｍに対しても位置ループ制御を行い、かつ、マスターモータ５ｍ及びスレーブモータ５ｓに対してそれぞれ角度同期学習制御部１３ｍ，１３ｓを設けて、マスターモータ５ｍ及びスレーブモータ５ｓ共に角度（位置）による学習制御を行うようにしたものである。又、参照位置としては、マスターモータ５ｍへの位置指令Ｐcm、マスターモータ５ｍの位置フィードバック、スレーブモータ５ｓの位置フィードバックのいずれかを用いるものとして選択手段１２ｍ，１２ｓ選択するようにしている。他は第１の実施形態と同一である。
【００４２】
そして、スレーブモータ５ｓの角度同期学習制御部１３ｓの処理については、参照位置Θが選択によって異なる点を除けば図５に示した処理と同一である。また、マスターモータ５ｍにおける角度同期学習制御部１３ｍは、図５に示した処理と概略同じであるが、ステップ１００、１０１の処理が、上位制御装置からの位置指令Ｐcm(ｎ)を求めると共にマスターモータ５ｍからの位置フィードバックを求める処理に変わり、ステップ１０２でこの位置指令Ｐcm(ｎ)と位置フィードバックよりマスターモータ５ｍの位置偏差εを求める点が相違するのみで、ステップ１０３以降の処理は同一の処理を行いマスターモータ５ｍを駆動制御するものである。
【００４３】
図７は、本発明の第３の実施形態のモータ制御装置のブロック図である。この第３の実施形態は、タッパー１５によるねじ立て加工を行う制御装置の例である。図７において、マスターモータ５ｍがタッパー１５を軸方向（Ｚ軸方向）に駆動し、スレーブモータ５ｓがタッパー１５を回転させて、ワーク１６に対してねじ立て加工するものである。タッパー１５及び該タッパー１５を回転駆動するスレーブモータ５ｓは、マスターモータ５ｍで駆動されるボールネジ／ナット機構７ｍによってＺ軸可動部材１７を直線移動させ、該Ｚ軸可動部材１７に固定されたスレーブモータ５ｓをＺ軸方向に直動させるものである。
【００４４】
マスターモータ５ｍ、スレーブモータ５ｓの制御系は第２の実施形態と概略類似しているが、スレーブモータ５ｓへの位置指令Ｐcsが、指令演算手段１４によってマスターモータ５ｍへの位置指令Ｐcmから求められる点が相違する。また、マスターモータ５ｍ、スレーブモータ５ｓにそれぞれ設けられた角度同期学習制御部１３ｍ’、１３ｓ’が、タッパー１５の正転時（前進時）と逆転時（後退時）のそれぞれの補正データを記憶して、回転方向の違いによって、補正データが選択されて補正量求められるようにしている点で相違するものである。
【００４５】
図８はこの第３の実施形態における角度同期学習制御部１３ｍ’、１３ｓ’の詳細ブロック図である。図２の第１、第２の実施形態の角度同期学習制御部と相違する点は、メモリ手段２５に、タッパー１５が正回転して前進し１回のネジ立て加工をする１パターン動作に対応した補正データを記憶するメモリと、逆回転し後退する１パターンにおける補正データを記憶するメモリを備えること。及びこのタッパー１５の正転前進と逆転後退を判別する正・逆回転判定手段２９を備えている点である。この実施形態においては、正・逆回転判定手段２９を位置制御部１ｍ，１ｓから出力される速度指令の符号（モータ５ｍ，５ｓの回転方向）を検出して自動的に正回転方向に対するメモリか、逆回転方向に対するメモリかを選択するようにしている。なお、この正・逆回転判定手段２９を設けずに、正又は逆回転を開始するときに上位制御装置から正転又は逆転の指令を出力としてメモリ手段２５に記憶する正転、逆転の補正データを選択してよいものである。
【００４６】
この第３の実施形態では、ワーク１６に対して、タップ立てする位置にタッパー１５を位置決めし、マスターモータ５ｍへの位置指令Ｐcmを出力して学習制御処理を含む位置、速度、電流のループ処理を開始しマスターモータ５ｍ、スレーブモータ５ｓを同期駆動する。この場合、マスターモータ５ｍに対する処理は図５において、ステップ１００、１０１でマスターモータ５ｍへの指令位置Ｐcm(ｎ)を読み込むと共に、マスターモータ５ｍの位置フィードバックを読み込み、ステップ１０２で位置偏差εを求め、ステップ１０３以下の処理を実行してマスターモータ５ｍを駆動制御することになる。
【００４７】
また、スレーブモータ５ｓに対する処理は、図５において、ステップ１００でスレーブモータ５ｓの位置フィードバックを読み込み、ステップ１０１で、マスターモータ５ｍへの指令位置Ｐcm(ｎ)を読み込み、該指令位置Ｐcm(ｎ)に係数Ｋを乗じてスレーブモータ５ｓへの位置指令Ｐsm(ｎ)として、ステップ１０３でこの位置指令Ｐsm(ｎ)と位置フィードバックから位置偏差εを求める点で相違するのみで、他は図５の処理と同一である。
【００４８】
図９は、角度同期学習制御部の別の実施形態の要部ブロック図である。この別の実施形態の角度同期学習制御部は、時間・位置変換手段２２がフィルタ手段２４の後に設けられている点である。なお、図２に示した角度同期学習制御部１１の要素と対応する要素は同一符号を付している。
【００４９】
この角度同期学習制御部１１’では、サンプリング時に求めた位置偏差ε（ｎ）と、該サンプリングに対応する１パターン周期前の補正データを加算器２３で加算した後フィルタ手段２４の処理を行い、当該サンプリング時の補正データを求める。この補正データに対して時間・位置変換手段２２で時間・位置変換処理を行いグリッド位置θ（ｃ）における補正データを求める。
【００５０】
前周期のサンプリング時に求めた補正データをδ（ｎ−１）、当該サンプリング時で求めた補正データをδ（ｎ）、グリッド位置θ（ｃ）に対応する補正データをδ（ｃ）とすると、上述した１式において、ε（ｃ）の代わりにδ（ｃ）、ε（ｎ−１）の代わりにδ（ｎ−１）、ε（ｎ）の代わりにδ（ｎ）を用いて、次の３式の演算を行う。
【００５１】
δ(c)＝δ(n-1)+{θ(c)-Θ(n-1)}・{δ(n)-δ(n-1)}／{Θ(n)-Θ(n-1)}
・・・（３）
こうして求めたグリッド位置θ（ｃ）に対する補正データδ（ｃ）をメモリ手段２５に格納し補正データ更新する。  
又、位置・時間変換手段２６による処理は、図２の角度同期学習制御部１１と同一であり、該位置・時間変換手段２６が加算器２３に出力される点において相違するのみである。他は角度同期学習制御部１１と同一であり、説明を省略する。
【００５２】
又、第３の実施形態のようにタッパー１５によるねじ立て加工のような場合で、タッパー１５が正回転前進時と逆転後退時に対してそれぞれ補正データを記憶する場合には、図９のメモリ手段２５にこの正回転前進時と逆転後退時の各パターンに対するそれぞれの補正データを記憶するメモリ部を設けるようにすればよい。また、正回転前進時と逆転後退時を検出するための正・逆回転判定手段を図８のように設けてもよいものである。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施形態の要部ブロック図である。
【図２】同実施形態における角度同期学習制御部の詳細ブロック図である。
【図３】同実施形態における時間・位置変換手段によるサンプリング時に得られた位置偏差を位置における位置偏差に変換する処理の説明図である。
【図４】同実施形態における位置・時間変換手段による位置に対する補正データからサンプリング時の補正データに変換する処理の説明図である。
【図５】同実施形態における学習制御処理を主とした処理のフローチャートである。
【図６】本発明の第２の実施形態の要部ブロック図である。
【図７】本発明の第３の実施形態の要部ブロック図である。
【図８】同第３の実施形態における角度同期学習制御部の詳細ブロック図である。
【図９】本発明の各実施形態における角度同期学習制御部の別の実施形態のブロック図である。
【符号の説明】
【００５４】
５ｍ  マスターモータ
５ｓ  スレーブモータ
６ｍ  位置・速度検出器
６ｓ  位置・速度検出器
７ｍ，７ｓ  ボールネジ／ナット機構
８  工具
９，１４  指令演算手段
１０  選択手段
【図１】
2005216135.tif 000003
【図２】
2005216135.tif 000004
【図３】
2005216135.tif 000005
【図４】
2005216135.tif 000006
【図５】
2005216135.tif 000007
【図６】
2005216135.tif 000008
【図７】
2005216135.tif 000009
【図８】
2005216135.tif 000010
【図９】
2005216135.tif 000011