(57)【要約】  数値制御装置は、工具が取り付けられるタレットを移動させるＸ軸と、前記タレットを回転させるＨ軸と、ワークを回転させるＣ軸とを有し、前記Ｘ軸に直交するＹ軸を有さない工作機械を制御する数値制御装置であって、加工プログラム中のＸ−Ｙ軸移動指令をＸ−Ｈ−Ｃ座標系での指令に変換し、変換した指令の解析結果を補間してＸ軸、Ｈ軸およびＣ軸を連動駆動する仮想Ｙ軸補間モードにおいて、仮想Ｙ軸の早送り指令を解析する解析手段と、前記解析された仮想Ｙ軸の早送り指令に応じて、Ｃ軸角度を補間するＣ軸補間処理手段と、前記補間されたＣ軸角度に基づいて、Ｘ軸位置を補間するＸ軸補間処理手段とを備え、前記数値制御装置は、Ｃ軸の速度を等速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する。
2013179366.tif 000002
【特許請求の範囲】
【請求項１】
工具が取り付けられるタレットを移動させるＸ軸と、前記タレットを回転させるＨ軸と、ワークを回転させるＣ軸とを有し、前記Ｘ軸に直交するＹ軸を有さない工作機械を制御する数値制御装置であって、
加工プログラム中のＸ−Ｙ軸移動指令をＸ−Ｈ−Ｃ座標系での指令に変換し、変換した指令の解析結果を補間してＸ軸、Ｈ軸およびＣ軸を連動駆動する仮想Ｙ軸補間モードにおいて、仮想Ｙ軸の早送り指令を解析する解析手段と、
前記解析された仮想Ｙ軸の早送り指令に応じて、Ｃ軸角度を補間するＣ軸補間処理手段と、
前記補間されたＣ軸角度に基づいて、Ｘ軸位置を補間するＸ軸補間処理手段と、
を備え、
前記数値制御装置は、Ｃ軸の速度を等速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する
ことを特徴とする数値制御装置。
【請求項２】
前記等速度は、Ｃ軸の許容速度範囲における最高速度であり、
前記数値制御装置は、Ｃ軸の速度を前記最高速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
Ｃ軸の許容速度範囲から１つの速度を選択する選択手段をさらに備え、
前記数値制御装置は、Ｃ軸の速度を前記選択された１つの速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する
ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関する。
【背景技術】
【０００２】
従来、旋盤の一つの型式として、ワークを把持して回転角度を制御するためのＣ軸と、Ｃ軸にタレットが接離するように位置制御するためのＸ軸と、Ｃ軸の軸線方向にワークを移動するＺ軸と、Ｘ軸に垂直な平面を加工するためのＹ軸を備えた構成のもの（第１の型式の旋盤）がある。また、実際のＹ軸は持たないがＣ軸に対して任意に角度を制御することが可能なタレット軸（Ｈ軸）を有し、Ｈ軸の回転角度およびＣ軸とＨ軸の間隔を制御するＸ軸位置の同期・協調制御によってＹ軸方向の加工を行なう仮想Ｙ軸制御機能を備えたもの（第２の型式の旋盤）もある。このような旋盤では、通常の旋削加工の他に、ワークの円周面に対してＹ軸方向の平面加工を正確に行なうことができる。【０００３】
２種類の構成の旋盤のうち、第１の型式の旋盤において、Ｙ軸を早送りする場合、基本的には、Ｙ軸に対して早送り指令（Ｇ０）を与えればＹ軸単独で指令されたとおりのＧ０速度で作動する。【０００４】
特許文献１には、直交直線３軸であるＸ軸、Ｙ軸、Ｚ軸と回転軸であるＣ軸、Ａ軸を有する加工ヘッドの数値制御装置において、ＮＣプログラム中のＸ軸、Ｙ軸、Ｚ軸の移動量、すなわち加工ヘッドの先端移動量からＸ、Ｙ、Ｚの実際の移動量、すなわち根元の移動量を算出し、算出された根元の移動量をＸ、Ｙ、Ｚの駆動モータへ出力することが記載されている。具体的には、ＮＣプログラムを解析して、１ブロックごとの先端移動量を抽出し、これを基に、単位時間当たりの先端移動量を計算し、これを単位時間当たりの根元の移動量に座標変換し、単位時間当たりの根元の移動量を実効速度に換算した後、実行速度を最大速度と比較して、最大速度を超える場合にクランプ率を求め、指令速度にクランプ率を乗算することで速度クランプを行い、単位時間当たりの先端移動量を再計算する。これにより、特許文献１によれば、加工ヘッドの先端の速度と根元の速度とのずれに起因して実効速度が機械の最大速度をオーバーする場合に、実効速度を最大速度まで自動的に減速させ、実効速度が最大速度を超えないようにするとされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６３−２９３６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術は、Ｙ軸を備えた第１の型式の旋盤に関する技術であり、特許文献１には、第２の型式の旋盤に関する記載が一切ない。【０００７】
一方、第２の型式の旋盤の場合には、Ｙ軸は実在せず、Ｃ軸、Ｈ軸、Ｘ軸動作の合成でＹ軸移動を実現しているため、Ｙ軸を早送りする（すなわち、Ｙ軸に沿って直線的に早送りする）場合、必然的にＣ軸、Ｈ軸、Ｘ軸が同時に動くことになる。そのため、第１の型式の旋盤の場合と事情が異なり、加工ヘッドの先端速度と根元の速度とのずれが無視できるような場合であっても、Ｃ軸の速度がクランプ速度を超える場合がある。【０００８】
例えば、第２の型式の旋盤の場合、Ｄカット加工後の戻り動作などの仮想的なＹ軸移動を仮想Ｙ軸の早送り指令（Ｇ０）に従って行うときに、仮想的なＹ軸移動を一定速度で実行させる。第２の型式の旋盤では、この仮想的なＹ軸移動を一定速度で実行するためには、Ｃ軸を、回転角度範囲において凸状に増減する速度で回転させる必要がある。このとき、Ｃ軸の回転角度範囲における中央付近の角度でＣ軸の速度がクランプ速度を超えていると、Ｃ軸の回転角度範囲においてＣ軸の速度がクランプ速度以下になるようにクランプ率が計算され、クランプ率がＹ軸移動指令に乗算されることにより、仮想的なＹ軸移動の速度が自動的に再計算され下方修正される。その結果、実行中のブロックにおけるＣ軸の速度が全体的に低くなるので、実行中のブロックの実行時間が長くなり、加工のサイクルタイムも長くなりやすく、数値制御装置による加工の生産性が低下する可能性がある。【０００９】
本発明は、上記に鑑みてなされたものであって、Ｙ軸を有さない工作機械による加工のサイクルタイムを低減できる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明の１つの側面にかかる数値制御装置は、工具が取り付けられるタレットを移動させるＸ軸と、前記タレットを回転させるＨ軸と、ワークを回転させるＣ軸とを有し、前記Ｘ軸に直交するＹ軸を有さない工作機械を制御する数値制御装置であって、加工プログラム中のＸ−Ｙ軸移動指令をＸ−Ｈ−Ｃ座標系での指令に変換し、変換した指令の解析結果を補間してＸ軸、Ｈ軸およびＣ軸を連動駆動する仮想Ｙ軸補間モードにおいて、仮想Ｙ軸の早送り指令を解析する解析手段と、前記解析された仮想Ｙ軸の早送り指令に応じて、Ｃ軸角度を補間するＣ軸補間処理手段と、前記補間されたＣ軸角度に基づいて、Ｘ軸位置を補間するＸ軸補間処理手段とを備え、前記数値制御装置は、Ｃ軸の速度を等速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、仮想的なＹ軸移動を早送りで行うブロックにおけるＣ軸の速度を全体的に高速に維持でき、高速に仮想Ｙ軸の早送りを実行できるので、実行中のブロックの実行時間を効果的に短縮できる。これにより、Ｙ軸を有さない工作機械による加工のサイクルタイムを低減できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態１における工作機械の構成を示す図である。
【図２】図２は、実施の形態１にかかる数値制御装置の構成を示す図である。
【図３】図３は、実施の形態１にかかる数値制御装置のＤカット時の各軸の動作を示す図である。
【図４】図４は、実施の形態１におけるＤカットの諸元説明図である。
【図５】図５は、実施の形態１におけるＤカット時のＣ，Ｈ，Ｘ軸の関係図である。
【図６】図６は、実施の形態１におけるＤカットの加工手順を示すフローチャートである。
【図７】図７は、実施の形態１におけるＤカットの加工手順を示す図である。
【図８】図８は、実施の形態２にかかる数値制御装置の構成を示す図である。
【図９】図９は、実施の形態２にかかる数値制御装置のＤカット時の各軸の動作を示す図である。
【図１０】図１０は、比較例１を示す図である。
【図１１】図１１は、比較例２を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
実施の形態１にかかる数値制御装置１について説明する。
【００１５】
数値制御装置１は、数値制御（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ、以下ＮＣと略すことがある）によって工作機械ＭＴを制御する数値制御旋盤であり、工作機械ＭＴを制御することでワークＷＫの加工を行う。数値制御装置１は、例えば円柱状のワークＷＫに対して、断面視においてＤの文字になるように円形断面の一部をＹ軸に沿って直線的に切り落とすいわゆるＤカット加工を行う。このとき、本実施の形態における工作機械ＭＴがＹ軸を有さないので、数値制御装置１は、直線部の加工に必要なＹ軸制御を、実在しないＹ軸に代えてＸ軸、Ｃ軸およびＨ軸を用いて仮想的に実現する。
【００１６】
具体的には、工作機械ＭＴは、図１（ａ）、（ｂ）に示すような構成を有する。図１（ａ）、（ｂ）は、それぞれ、工作機械ＭＴの要部及び座標系を示す斜視図及び正面図である。工作機械ＭＴは、タレットＴＲ、及びワークＷＫを有する。工作機械ＭＴは、Ｘ軸、Ｚ軸、Ｈ軸、及びＣ軸を有する。Ｘ軸は、タレットＴＲを移動させる移動軸であり、例えばＨ軸をＣ軸に接離するように移動させる。Ｚ軸は、例えば円柱状のワークＷＫを中心軸方向に移動させる移動軸であり、Ｘ軸に直交する。Ｈ軸は、回転することで工具を旋回させる回転軸である。Ｃ軸は、例えば円柱状のワークＷＫを円周方向に回転させる回転軸である。工作機械ＭＴは、Ｙ軸を有さない。すなわち、Ｙ軸は、実在しない軸であるが、ユーザが作成する加工プログラム中の仮想Ｙ軸補間モード内で使用される仮想的な移動軸であり、Ｘ軸及びＺ軸のそれぞれに直交する。仮想Ｙ軸補間モードは、加工プログラム中のＸ−Ｙ軸移動指令をＸ−Ｈ−Ｃ座標系での指令に変換し、変換した指令の解析結果を補間してＸ軸、Ｈ軸およびＣ軸を連動駆動する制御モードである。
【００１７】
例えば、Ｙ軸を有さない工作機械ＭＴを制御して仮想的なＹ軸方向にＤカット加工を行う場合、図７に示すように、Ｃ軸、Ｈ軸、Ｘ軸動作の合成でＹ軸移動を実現している。すなわち、図７（ａ）は、図１に示す構成の工作機械ＭＴを用いて、Ｄカット加工指令（Ｇ１）に従ってワークＷＫのＤカット加工を行い、その復路を早送り指令（Ｇ０）で戻す場合の加工手順を示したものである。手順（１）〜（４）において、Ｄカット加工を行い、手順（５）〜（８）において、早送りで動作させて工具を元の位置に戻す。なお、ここでＤカット加工の切削方向と戻し方向とは一連のものであり互いに逆方向になっていればよく、切削は左右（または＋−）どちらから始めてもよい。
【００１８】
ユーザは、図７（ａ）に示す加工手順（１）〜（８）を実現するために、例えば図７（ｂ）に示す加工プログラムを作成する。図７（ｂ）に示すように、仮想Ｙ軸補間モードがオンされてからキャンセルされるまでの仮想Ｙ軸補間モード内では、Ｘ軸、Ｙ軸の座標位置を指定して所要の加工プログラムを作成する。ユーザは、Ｈ軸、Ｃ軸の回転を考慮することなく、例えば、図７の手順（２）の状態、すなわち工具方向と仮想平面Ｘ軸が一致した状態を想定してＸ−Ｙ座標などを指定することによって加工プログラムを作成する。
【００１９】
ここで、仮に、図１０（ａ）に示すように、数値制御装置が、早送り指令（Ｇ０）に従い、Ｄカット加工後の戻り動作などの仮想的なＹ軸移動を行うときに、仮想的なＹ軸移動を一定速度Ｖｙ１で実行させる場合（比較例１）について考える。この場合、仮想的なＹ軸を一定速度Ｖｙ１で実行するためには、図１０（ｄ）に示すＣ軸の回転角度範囲θ１〜θ５において、Ｃ軸の速度Ｖｃ１を、図１０（ｂ）に示すように、例えば正規分布曲線の様に凸状に変化させ、Ｈ軸の速度も図１０（ｂ）と同様に変化させ、Ｘ軸の速度Ｖｘ１を、Ｃ軸の回転角度範囲θ１〜θ５の中央付近の角度θ３で０となる、マイナス方向からプラス方向に変化する３次関数の曲線状に変化させる必要がある。すなわち、図１０（ａ）に示す仮想Ｙ軸の速度Ｖｙ１は、実軸の速度へ、すなわち図１０（ｂ）、（ｃ）に示すＣ軸の速度Ｖｃ１、Ｈ軸の速度、Ｘ軸の速度Ｖｘ１へ変換される。
【００２０】
このとき、例えば図１０（ｂ）に示すように、Ｃ軸の速度Ｖｃ１がＣ軸の許容速度範囲における最高速度（クランプ速度）Ｖｃｍａｘを超えていると、Ｃ軸の速度Ｖｃ１の最大値が最高速度（クランプ速度）Ｖｃｍａｘ以下になるようにクランプ率が計算され、クランプ率がＹ軸移動指令に乗算される速度クランプが行われる。これにより、仮想的なＹ軸移動の速度が自動的に再計算され、Ｃ軸の回転角度範囲θ１〜θ５の全体について図１０（ａ）に破線で示す速度Ｖｙ２に下方修正される。そして、図１０（ａ）に示す仮想Ｙ軸の速度Ｖｙ２が変換された、Ｃ軸の速度Ｖｃ２、Ｈ軸の速度、Ｘ軸の速度Ｖｘ２も、図１０（ｂ）、（ｃ）に破線で示すようにＣ軸の回転角度範囲θ１〜θ５の全体について下方修正される。
【００２１】
その結果、実行中のブロックにおけるＣ軸の速度が全体的に低くなるので、実行中のブロックの実行時間が長くなる。例えば、図１０（ｂ）、（ｃ）に示すように、Ｃ軸の回転角度範囲θ１〜θ５の終点の角度θ５になるタイミングがｔ５１より後のｔ５２になる。すなわち、タイミングｔ０〜ｔ５２までのＣ軸の速度Ｖｃ２の積分値（総回転量）は、タイミングｔ０〜ｔ５１までのクランプ前のＣ軸の速度Ｖｃ１の積分値（総回転量）と等しくなるように制御されているので、速度クランプを行う前に比べて、実行中のブロックの実行時間がΔＴ２だけ長くなってしまう。これにより、Ｙ軸を有さない工作機械ＭＴによる加工のサイクルタイムも長くなりやすく、数値制御装置による加工の生産性が低下する可能性がある。
【００２２】
あるいは、仮に、図１１（ａ）、（ｂ）に示すように、数値制御装置が、早送り指令（Ｇ０）に従い、Ｄカット加工後の戻り動作などの仮想的なＹ軸移動を行うときに、仮想的なＹ軸移動を一定速度Ｖｙ１で実行させることを行いつつ、Ｃ軸の速度Ｖｃ１の最大値が最高速度（クランプ速度）Ｖｃｍａｘを超える領域ＰＴ２に選択的に速度クランプをかけ、他の領域ＰＴ１、ＰＴ３には速度クランプをかけない場合（比較例２）について考える。この場合、仮想Ｙ軸の速度Ｖｃ１が領域ＰＴ２で選択的に下方修正された速度Ｖｃ２になり、Ｃ軸の速度Ｖｃ１は、領域ＰＴ２が選択的にクランプされた速度Ｖｃ３になる。
【００２３】
このとき、図１１（ｂ）に示すように、速度クランプにより失われた総回転量Ｗｃ１を補うために、例えば領域ＰＴ３におけるＣ軸の速度Ｖｃ１に対して選択的にスムージングをかけるなどにより総回転量Ｗｃ３分増やす必要がある。このため、Ｃ軸の回転角度範囲θ１〜θ５の終点の角度θ５になるタイミングがｔ５１より後のｔ５３になるので、速度クランプを行う前に比べて、実行中のブロックの実行時間がΔＴ３だけ長くなってしまう。これにより、Ｙ軸を有さない工作機械ＭＴによる加工のサイクルタイムも長くなりやすく、数値制御装置による加工の生産性が低下する可能性がある。
【００２４】
そこで、本実施の形態では、数値制御装置１において、仮想的なＹ軸移動を一定速度Ｖｙ１で実行させることを出発点とするのではなく、Ｃ軸（実軸）の回転を一定速度Ｖｃで実行させることを出発点とする制御を行う。
【００２５】
具体的には、数値制御装置１は、例えば図３（ｂ）に示すような制御を行う。図３（ａ）〜（ｃ）は、例えば仮想Ｙ軸補間モード中に仮想Ｙ軸に早送りを指令した場合の各軸の動作例を示すものである。仮想Ｙ軸補間モードにおいては、Ｙ軸軌跡はＣ軸の回転とＨ軸の回転とＸ軸の位置変位とにより決定されるが、Ｈ軸とＣ軸とは等量の回転角度で制御されるので、ここではワーク加工面を直接回転させるＣ軸を中心にして説明する。なお、図３（ａ）〜（ｃ）には、比較のために、比較例１、２におけるクランプ前の各軸の動作を破線で示してある。
【００２６】
数値制御装置１は、図３（ｂ）の太い実線のように、Ｃ軸回転角度の全域θ１〜θ５を一定速度Ｖｃ、すなわち最高速度Ｖｃｍａｘで回転させ、それに伴ってＸ軸速度Ｖｘも上昇させる。その結果、Ｃ軸速度ＶｃとＸ軸速度Ｖｘとの合成である仮想Ｙ軸速度Ｖｙは、図３（ａ）の実線で示すように凹状の曲線となる。従って、仮想Ｙ軸速度Ｖｙは、Ｃ軸の回転角度範囲θ１〜θ５の両端側の速度が指令速度ｆｙを上回るが、図３（ｄ）に示すように実加工を伴わない早送りで且つ実際に存在する軸ではないため、機械的な問題は発生しにくい。
【００２７】
その結果、実行中のブロックにおけるＣ軸の速度を全体的に最高速度Ｖｃｍａｘに維持でき、高速に仮想Ｙ軸の早送りが実行できるので、実行中のブロックの実行時間を効果的に短縮できる。例えば、図３（ｂ）、（ｃ）に示すように、Ｃ軸の回転角度範囲θ１〜θ５の終点の角度θ５になるタイミングがｔ５１より前のｔ５になる。すなわち、タイミングｔ０〜ｔ５までのＣ軸の速度Ｖｃの積分値（総回転量）は、タイミングｔ０〜ｔ５１までの比較例１、２におけるクランプ前のＣ軸の速度Ｖｃ１の積分値（総回転量）と等しくなるように制御されているので、比較例１、２における速度クランプを行う前に比べて、実行中のブロックの実行時間をΔＴだけ短くできる。これにより、Ｙ軸を有さない工作機械ＭＴによる加工のサイクルタイムを効率的に低減でき、数値制御装置による加工の生産性を向上できる。
【００２８】
図４は、Ｙ軸、Ｃ軸、Ｈ軸及びＸ軸の座標系及び諸元等の詳細を示したものである。図４（ａ）は、Ｄカット加工開始時の位置関係を示し、図４（ｂ）は、Ｄカット加工の中間位置での詳細な位置関係を示したものである。図４において、Ｒはタレット軸回転中心から工具取付座までの距離、Ｔは工具長、ｕは加工面のワーク中心からの偏心量である。加工プログラムで仮想Ｙ軸上の加工開始位置が指定されると、工具長補正及び工具径補正が行なわれて、加工開始時の工具中心位置ｐ１が求められ、これに対応したＣ軸とＨ軸との回転角度（ｃ＝ｈ）及びＣ軸中心からのＨ軸中心までの距離が計算されて、夫々の軸が加工開始位置に移動する。ｘ１、ｘ２は、Ｄカット加工における加工開始時のＸ座標値とＣ＝０°時（最も深く切り込んだ時）のＸ座標値となる。なお、図４のＨ軸の回転角度ｈは０°を中心とした片側の角度であるので、工具先端の切削移動量ｙはＨ軸の回転角度ｈの２倍の角度を用いて算出する必要がある。
【００２９】
次に、加工プログラムで加工終点位置が指定されると同様に加工終了時の工具中心位置ｐ２が求められ、工具中心位置ｐ１と工具中心位置ｐ２とを結ぶ線を仮想ＸＹ平面上で直線補間する。更に、その補間データを最終的にはＸ軸とＨ軸（回転軸）の実軸位置に変換して各軸のサーボ制御部に出力し、サーボモータを駆動する。これにより、Ｃ軸回転、Ｈ軸回転、Ｈ軸のＣ軸方向への位置制御（すなわち、Ｘ軸の移動）が協調して行なわれる。その結果、ワークＷＫの中心から指定距離だけ離れた位置で、半径方向と直角な面に平面加工や穴あけ加工を行なうことができる。
【００３０】
図５（ａ）〜（ｃ）は、仮想Ｙ軸制御によるＤカット時のＣ軸、Ｈ軸、Ｘ軸の関係を示す図であり、図４におけるＲ＋Ｔ＋ｕ＝２００、ワークＷＫの半径＝３０で、ワークＷＫの４５°から−４５°に移動する場合の位置及び角度の詳細を示している。また、簡単にするために工具径は“０”としている。
【００３１】
図５（ａ）〜（ｃ）に示すように半径３０ｍｍのワークＷＫのＣ＝４５°の位置に工具を合わせる場合、Ｈ軸中心からＣ軸中心を通る傾いた仮想Ｙ軸上のＹ軸位置（３０×ｓｉｎ４５°＝２１．２１３）に下ろした垂線（Ｒ＋Ｔ＋ｕ）の長さを２００ｍｍとすると、Ｃ軸とＨ軸はそれぞれ約６°傾けば良いことになる。この角度は次の数式１のようにして求められる。
【００３２】
Ｈ軸傾き（ｈ）＝ｔａｎ−１｛ｒ＊ｓｉｎθｔ／（Ｒ＋Ｔ＋ｕ）｝                                                                  …数式１
【００３３】
Ｃ軸のワーク（半径ｒ＝３０ｍｍ）ＷＫの中心から見た指定位置（θ＝４５°）に対応する座標は、仮想Ｙ軸座標＝３０×ｓｉｎ４５°＝２１．２１３、Ｘ座標＝３０×ｃｏｓ４５°＝２１．２１３となる。この時Ｈ軸中心での角度はｔａｎ−１（２１．２１３／２００）＝６．０５４°となる。
【００３４】
Ｘ軸変位（ｘ）は、（Ｒ＋Ｔ＋ｕ）／（ｃｏｓ（ｈ））に基づいて求められ、Ｈ軸が＋６°から−６°の間で回転すると、図５（ｂ）の変位に示したような曲線を描く。またこの時、Ｘ軸は往復運動をするので、図５（ｂ）の破線で示すように工具がＣ軸中心に向かう時（前半）はマイナス、遠ざかる時（後半）はプラスの速度となる。
【００３５】
従って、Ｃ軸及びＨ軸は、約６°から約−６°までを指定速度で補間し、補間中のＣ軸の各角度に対応したＸ位置を計算して移動させれば略直線で速やかにＹ軸の移動を実現できることになる。
大まかな手順は次の通りである。
＜Ｃ軸データの出力＞
【００３６】
１．Ｃ軸角度／Ｃ軸Ｇ０ＦｄＴ＝ｍ（余りは切り上げ）を計算し、制御カウンタＣＴｃにセットする。
【００３７】
２．Ｃ軸Ｇ０ＦｄＴを積算する（ｄｘ計算用）。
【００３８】
３．制御カウンタＣＴｃ＝１になるまでＧ０ＦｄＴをＩＴ（制御単位時間）毎に出力する。
【００３９】
４．ＣＴｃ＝１になれば残距離（角度）を出力する。
＜Ｘ軸データの出力＞
【００４０】
１．ｆｘ＝  ｄｘ／ｄｔのｄｘ値となる（Ｒ＋Ｔ）×（ｃｏｓθｔ−ｃｏｓθｔ＋１）を計算…ｃｏｓθｔは前回値であり、今回値のｃｏｓθｔ＋１を計算し、差を計算する。
【００４１】
２．ｄｘ値をＸ軸のＦｄＴとして、制御カウンタＣＴｃ＝０になるまで出力する。
【００４２】
このとき、制御単位時間毎の各軸の位置は、下記の数式２〜４により計算される。速度は、この制御単位時間毎の前回との位置の差を制御単位時間で除した値となる。
θ＝ΣＦΔＴ…数式２
ｘ＝（Ｒ＋Ｔ）×ｃｏｓθ…数式３
ｙ＝（Ｒ＋Ｔ）×ｔａｎθ…数式４
【００４３】
数式２において、ＦΔＴは、例えば早送り時の制御単位時間当たりの回転角度である。
【００４４】
次に、ブロック図及びフローチャートを用いて詳細な制御内容を説明する。図２は、実施の形態１にかかる数値制御装置１の一構成例であり、図６は、この構成を用いて各種処理を制御するための手順を示すフローチャートの一例である。ここで示した制御内容は、１制御単位時間毎に実行されるものではなく、機能として表したものである。
【００４５】
数値制御装置１は、図２に示すように、以下の構成要素を備える。
【００４６】
入力操作部２は、例えばキーボード等を有し、キーボード等を介してユーザからの指示を受け付ける。入力制御部３は、入力操作部２から入力信号を取り込むためのインターフェースである。メモリ４は、各種情報を記憶する。例えば、メモリ４は、各種制御に必要なパラメータを記憶するパラメータ記憶エリア５、ワークを加工するための加工プログラムを格納するための加工プログラム記憶エリア６、数値制御装置１の制御中に各制御手段が適宜共有して使用する共有エリア７、表示部１０に表示するための情報を格納する画面表示データエリア８を有する。画面処理部９は、画面表示データを表示部１０上に表示させるためのインターフェースである。
【００４７】
解析処理部１１は、加工プログラムを解析する。解析処理部１１は、例えば、仮想Ｙ軸指令処理手段１２、Ｄカット指令処理手段１３、及び仮想Ｙ軸早送り指令処理手段（解析手段）１６を有する。
【００４８】
仮想Ｙ軸指令処理手段１２は、仮想Ｙ軸補間モード指令（例えば、図７（ｂ）に示す「Ｍ１１１」や「Ｍ１０１」）を解析する。Ｄカット指令処理手段１３は、Ｄカット加工指令（例えば、図７（ｂ）に示す「Ｇ０１  Ｙ−５０  Ｆ１０００」）を解析する。仮想Ｙ軸早送り指令処理手段１６は、仮想Ｙ軸の早送り指令（例えば、図７（ｂ）に示す「Ｇ００  Ｙ５０」）を解析する。
【００４９】
補間処理部１４は、制御モードに基づいて制御各軸の連続する各制御単位時間当たりの移動量を計算する。補間処理部１４は、例えば、仮想Ｙ軸補間処理手段１５、Ｃ軸Ｇ０補間処理手段（Ｃ軸補間処理手段）１７、及びＣ軸等速時Ｘ軸補間処理手段（Ｘ軸補間処理手段）１８を有する。
【００５０】
仮想Ｙ軸補間処理手段１５は、仮想Ｙ軸の移動指令に応じて、Ｙ軸位置を補間する。Ｃ軸Ｇ０補間処理手段１７は、解析された仮想Ｙ軸の早送り指令に応じて、Ｃ軸角度を補間する。Ｃ軸等速時Ｘ軸補間処理手段１８は、Ｃ軸Ｇ０補間処理手段１７により補間されたＣ軸角度に基づいて、Ｘ軸位置を補間する。このとき、Ｃ軸等速時Ｘ軸補間処理手段１８は、例えば、Ｃ軸の速度を等速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を補間する。これらの補間処理の詳細は後述する。
【００５１】
仮想Ｙ軸制御処理部２０は、Ｘ／Ｙ平面演算手段２１、Ｘ／Ｙ→Ｘ／Ｃ座標変換手段２２、及びＤカット時Ｙ軸早送り制御手段２６を有する。Ｄカット時Ｙ軸早送り制御手段２６は、Ｃ軸分割数計算手段２３、Ｃ軸分割位置対応Ｘ軸計算手段２４、及びＸ軸移動量計算手段２５を有する。
【００５２】
軸データ入出力部２７は、補間処理部１４から仮想Ｙ軸制御処理部２０経由で出力された各制御軸の移動データを、Ｘ軸サーボ制御部３１、Ｈ軸サーボ制御部３２、Ｃ軸サーボ制御部３３に出力し、モータ駆動電力に変換してＸ、Ｈ、Ｃ軸の各サーボモータ４１、４２、４３を駆動する。また、各軸サーボモータのエンコーダ等のフィードバックデータは各軸サーボ制御部３１、３２、３３より軸データ入出力部２７及び仮想Ｙ軸制御処理部２０を介してメモリ４に取り込まれる。
【００５３】
次に図２の構成による数値制御装置１の動作について説明するが、Ｄカット制御においてはＣ軸回転角度とタレット軸（Ｈ軸）回転角度とは等しいので、Ｃ軸のみを用いて説明する。
【００５４】
オペレータは、表示部１０に表示されるガイダンスなどの情報に従って入力操作部２を操作し、加工に先立って加工作業に必要な情報をパラメータとして設定したり選択する。また、図示しない入力装置から加工プログラムをメモリ４の加工プログラム記憶エリア６に入力したり、複数の加工プログラムから所望の加工プログラムを選択して加工プログラム記憶エリア６に入力したりして、加工作業の準備を行なう。
【００５５】
加工作業の準備が整えば、数値制御装置１を起動して加工プログラムを順次読み取り、加工プログラムを解析・実行させる。解析処理部１１が加工プログラム記憶エリア６から読み取るプログラムブロック（すなわち、加工プログラムの各行）を解析する。例えば、仮想Ｙ軸制御のＤカットモードにおいて、図７（ｂ）に示す加工プログラムにおける「Ｎ１０４  Ｍ１１１」（Ｎはシーケンス番号、例えばＭ１１１を仮想Ｙ軸補間モード指令とする）を読み取ると、仮想Ｙ軸指令処理手段１２が作動し、仮想Ｙ軸補間キャンセル指令である例えばＭ１０１を読み取るまでＹ軸指令を読み取る毎に仮想Ｙ軸補間処理手段１５を作動させる。ここでＮ１０６乃至Ｎ１０９のようにＤカットプログラムが入力されるとＤカット指令処理手段１３が作動し、Ｘ／Ｙ平面演算手段２１でプログラム指令値を工具補正を含むＸ及びＹ軸座標値に展開する。
【００５６】
続いて、Ｘ及びＹ軸座標値をＸ／Ｙ→Ｘ／Ｃ座標変換手段２２によりＸ、Ｙ指令値に対応するＣ軸回転角度とＸ軸位置とに座標変換する。更に、その変換されたＣ軸回転角度とＸ軸位置とを仮想Ｙ軸補間処理手段１５で制御単位時間当たりの移動量に変換し、軸データ入出力部２７を介して各サーボ制御部に出力し、各サーボモータを駆動して所望の加工を行なわせる。
【００５７】
仮想Ｙ軸早送り指令処理手段１６は、仮想Ｙ軸補間モード中且つＤカットプログラム中に、Ｙ軸に早送りが指令された場合に作動し、通常のＤカットと同様に、仮想Ｙ軸補間処理手段１５、Ｘ／Ｙ平面演算手段２１、Ｘ／Ｙ→Ｘ／Ｃ座標変換手段２２を作動させてＸ軸Ｃ軸に座標変換し、Ｃ軸優先制御モードにしてＸ軸Ｃ軸座標データ（回転角度）をＣ軸Ｇ０補間処理手段１７に入力する。仮想Ｙ軸早送り指令処理手段１６は、Ｄカット時Ｙ軸早送り制御手段２６中のＣ軸分割数計算手段２３を作動させ、その変換されたＣ軸回転角度データを所定の一定速度（例えばＧ０速度）に対応する制御単位時間当たりの回転角度（θｄＴとする）で割り、Ｃ軸分割数（余りは切り上げ）を求め、記憶する。所定の一定速度は、例えばＣ軸分割数計算手段２３に予め設定されている。
【００５８】
Ｄカット実行に際しては、Ｃ軸Ｇ０補間処理手段１７は、Ｃ軸現在位置（角度）に制御単位時間毎に分割数分だけ順次θｄＴを加算し、θｄＴを軸データ入出力部２７に出力する。但し、最終回のみ残角度を使用する。
【００５９】
Ｃ軸等速時Ｘ軸補間処理手段１８は、Ｃ軸分割位置対応Ｘ軸計算手段２４を作動させ、時間ｄＴ毎に変化するＣ軸の分割位置に対応したＸ軸位置を計算する。このとき、Ｃ軸等速時Ｘ軸補間処理手段１８は、仮想Ｙ軸の軌跡が直線になるように、所定の変換式によりＸ軸位置を計算する。Ｘ軸移動量計算手段２５は、今回求められたＸ軸位置と前回のＸ軸位置との差から制御単位時間当たりの移動量（ＦｄＴとする）を計算し、軸データ入出力部２７に出力する。
【００６０】
なお、この説明の冒頭で述べたように、Ｈ軸はＣ軸と同じ指令値で制御されるので、Ｃ軸に把持されたワークＷＫのＹ軸面に対して工具底面が常時垂直になるようにＨ軸が回転駆動され、ワークＷＫに対して工具は正しく位置制御される。
【００６１】
図６は、図２の構成によるＮＣ装置に於ける、仮想Ｙ軸制御中のＤカット加工時の仮想Ｙ軸の早送り指令（Ｇ０）の処理内容を示したものである。ここでもＨ軸はＣ軸の計算結果を利用するのでＨ軸の説明は割愛する。
【００６２】
Ｓｔｅｐ１では、加工プログラムを読み込み、仮想Ｙ軸補間指令（この例ではＭ１１１）や仮想Ｙ軸補間キャンセル指令（この例ではＭ１０１）を読み取る。
【００６３】
Ｓｔｅｐ２では、仮想Ｙ軸補間指令に応じて仮想Ｙ軸補間モードフラグをセットしたり、仮想Ｙ軸補間キャンセル指令に応じて仮想Ｙ軸補間モードフラグをリセットしたりするなど、仮想Ｙ軸制御に関連する命令の処理を行なう。また、Ｘ軸及びＹ軸の指令位置を計算する。
【００６４】
Ｓｔｅｐ３では、Ｘ軸及びＹ軸の指令位置に対して工具補正を行なったＸ軸及びＹ軸の座標位置を計算し、更にこのＸ軸及びＹ軸の座標位置に対応するＣ軸角度とＸ軸位置とを計算する。
【００６５】
Ｓｔｅｐ４では、Ｙ軸Ｇ０移動指令値に対応するＣ軸角度を、Ｃ軸のＧ０速度または別設定の速度に対応する制御単位時間当たりの移動量（回転角度）例えばθ０ｄＴで割ってＣ軸の分配回数を計算（余りは切り上げ）し、メモリ４中のＣ軸分配カウンタＣＴｃ（制御カウンタＣＴｃと同じものである）にセットする。
【００６６】
Ｓｔｅｐ５では、Ｃ軸分配カウンタＣＴｃの内容が“０”か否かをチェックし、初回で且つデータが無い、またはＣ軸の分配が完了しているか否を判断する。内容が０の場合（Ｓｔｅｐ５で「Ｙｅｓ」）、分配を完了しているので処理は不要であり終了する。内容が０でない場合（Ｓｔｅｐ５で「Ｎｏ」）、処理をＳｔｅｐ６に進める。
【００６７】
Ｓｔｅｐ６では、Ｃ軸分配カウンタＣＴｃの内容が“１”か否かをチェックする。これは分配処理が別処理となっている最終回であるか否かを判定するものである。内容が１でない場合（Ｓｔｅｐ６で「Ｎｏ」）、最終回でないので、処理を次のＳｔｅｐ７に進め、内容が“１”である場合（Ｓｔｅｐ６で「Ｙｅｓ」）、処理を、残距離処理となるＳｔｅｐ１０に進める。
【００６８】
Ｓｔｅｐ７乃至Ｓｔｅｐ９は、Ｙ軸Ｇ０指令に対してＣ軸を一定速度で先に計算された回数分、分配データを出力する処理である。
【００６９】
Ｓｔｅｐ７では、Ｃ軸を例えばＧ０速度で回転駆動させるとして、Ｇ０速度に対応するθ０ｄＴを出力レジスタにセットする。また、Ｃ軸現在位置（角度）に出力するθ０ｄＴを加算し、位置情報を更新する。更に更新されたＣ軸角度に対応するＸ軸位置を計算し、前回Ｘ軸位置との差をＸ軸の制御単位時間当たりの移動量ＦｄＴとして出力レジスタにセットする。
【００７０】
Ｓｔｅｐ８では、Ｓｔｅｐ７で出力レジスタにセットしたＣ軸とＸ軸との制御単位時間当たりの移動量θ０ｄＴとＦｄＴとを軸データ入出力部２７に出力する。また、Ｃ軸分配カウンタＣＴｃをデクリメントする。
【００７１】
Ｓｔｅｐ９では、Ｃ軸分配カウンタＣＴｃの内容が“１”となったか否かをチェックする。内容が“１”でない場合（Ｓｔｅｐ９で「Ｎｏ」）、Ｃ軸分配制御が未だ残っている（最終回は除く）ので、処理をＳｔｅｐ７に戻し、Ｓｔｅｐ７とＳｔｅｐ８とで次の制御単位時間の分配処理を行なう。内容が“１”である場合（Ｓｔｅｐ９で「Ｙｅｓ」）、最終回の処理を行なうために、処理をＳｔｅｐ１０に進める。
【００７２】
Ｓｔｅｐ１０では、Ｓｔｅｐ７と同じように、分配角度を処理するが、ここでは最終処理であるので、指令角度に対して端数となる残距離（角度）を出力することになる。Ｘ軸も同様にＣ軸の指令角度に対応する位置までのＦｄＴが計算される。
【００７３】
Ｓｔｅｐ１１では、Ｓｔｅｐ１０で出力レジスタにセットしたＣ軸とＸ軸との制御単位時間当たりの移動量θ１ｄＴ（残角度となる）とＦｄＴを軸データ入出力部２７に出力する。また、Ｃ軸分配カウンタＣＴｃをデクリメントする。
【００７４】
以上の処理により仮想Ｙ軸制御のＤカットプログラム中の仮想Ｙ軸の早送り指令（Ｇ０）は、Ｃ軸をＧ０またはこれに相当する一定速度で回転させるので、速度クランプ等に影響されること無く最短時間で実行される。なお、上記説明においてもＨ軸はＣ軸用に計算された指令値を利用して制御され、同様の動作をするので説明は割愛している。
【００７５】
以上のように、実施の形態１では、数値制御装置１において、仮想Ｙ軸早送り指令処理手段１６が、仮想Ｙ軸によるＤカットモード中にＹ軸に与えられた仮想Ｙ軸の早送り指令を解析し、Ｃ軸Ｇ０補間処理手段１７が、解析された仮想Ｙ軸の早送り指令に応じて、Ｃ軸角度を補間する。例えば、Ｃ軸Ｇ０補間処理手段１７は、速度クランプの作動しない一定速度Ｖｃ（図３（ｂ）参照）で補間する。Ｃ軸等速時Ｘ軸補間処理手段１８は、Ｃ軸Ｇ０補間処理手段１７により補間されたＣ軸角度に基づいて、Ｘ軸位置を補間する。例えば、Ｃ軸等速時Ｘ軸補間処理手段１８は、制御点がＹ軸経路上に位置するようにＣ軸の各補間位置（角度）に対応するＸ座標値を計算することで、Ｘ軸位置を補間する。そして、数値制御装置１は、これらの各軸の移動量の計算結果をＸ軸、Ｃ軸、Ｈ軸、Ｚ軸の各軸サーボ制御部３１〜３３に出力することにより、Ｃ軸の速度を等速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する（図３（ｂ）〜（ｄ）参照）。これにより、Ｄカット加工後の戻り動作などの仮想的なＹ軸移動を早送りで行うブロックにおけるＣ軸の速度を全体的に高速に維持でき、高速に仮想Ｙ軸の早送りを実行できるので、実行中のブロックの実行時間を効果的に短縮できる。これにより、Ｙ軸を有さない工作機械ＭＴによる加工のサイクルタイムを効率的に低減でき、数値制御装置による加工の生産性を向上できる。
【００７６】
また、実施の形態１では、数値制御装置１が、Ｃ軸の速度をＣ軸の許容速度範囲における最高速度Ｖｃｍａｘ（Ｇ０速度）に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する。これにより、仮想Ｙ軸の早送りをきわめて高速に実行させることができる。
【００７７】
なお、実施の形態１では、Ｃ軸の補間は、例えばＣ軸のＧ０速度に対応した一定値としてのＦｄＴ（θ０ｄＴ）とＣ軸分配カウンタＣＴｃの内容により、分配回数に基づいた制御を行なっているが、毎回、残距離（角度）とＧ０とを含む速度指令値から制御単位時間当たりの移動量ＦｄＴを計算して出力するという方法で行なってもよい。
【００７８】
実施の形態２．
次に、実施の形態２にかかる数値制御装置１ｉについて図８を用いて説明する。図８は、実施の形態２にかかる数値制御装置１ｉの構成を示す図である。以下では、実施の形態１と異なる部分を中心に説明する。
【００７９】
実施の形態１では、Ｃ軸の速度を維持させるべき所定の一定速度が、数値制御装置１に（例えばＣ軸分割数計算手段２３に）予め設定されているものとしているが、実施の形態２では、Ｃ軸の速度を維持させるべき一定速度をＣ軸の許容速度範囲から選択できるようにする。
【００８０】
具体的には、数値制御装置１ｉの仮想Ｙ軸制御処理部２０ｉは、図８に示すように、選択手段２８ｉをさらに有する。選択手段２８ｉは、Ｃ軸の許容速度範囲から１つの速度を選択する。
【００８１】
例えば、図９（ｂ）に示すような離散的な複数の速度Ｖｃ、Ｖｃ’、Ｖｃ”をテーブル等の形式で用意しておき、選択手段２８ｉは、その複数の速度Ｖｃ、Ｖｃ’、Ｖｃ”から１つの速度を選択してもよい。複数の速度Ｖｃ、Ｖｃ’、Ｖｃ”のそれぞれは、例えば、図９（ａ）〜（ｄ）に示すように、比較例１、２におけるクランプ前のＣ軸の速度Ｖｃ１で実行させた場合より短時間でＣ軸を回転させることができるものとして予め実験的に取得されたものである。速度Ｖｃは、例えば、実施の形態１と同様の値であり、例えば、最高速度Ｖｃｍａｘ（Ｇ０速度）である。例えば、速度を重視する場合に、速度Ｖｃが選択され、例えば、精度を重視する場合に、速度Ｖｃ”が選択される。
【００８２】
あるいは、例えば、図９（ｂ）に示すような連続的な選択範囲ＳＲを用意しておき、選択手段２８ｉは、その選択範囲ＳＲから１つの速度を選択してもよい。選択範囲ＳＲは、例えば、比較例１、２におけるクランプ前のＣ軸の速度Ｖｃ１で実行させた場合より短時間でＣ軸を回転させることができるものとして予め実験的に取得されたものである。選択範囲ＳＲの上限の速度Ｖｃは、例えば、実施の形態１と同様の値であり、例えば、最高速度Ｖｃｍａｘ（Ｇ０速度）である。例えば、速度を重視する場合に、選択範囲ＳＲの上限付近の速度が選択され、例えば、精度を重視する場合に、選択範囲ＳＲの下限付近の速度が選択される。
【００８３】
そして、Ｃ軸分割数計算手段２３は、Ｘ／Ｙ→Ｘ／Ｃ座標変換手段２２により変換されたＣ軸回転角度データを、選択手段２８ｉにより選択された速度に対応する制御単位時間当たりの回転角度（θｄＴとする）で割り、Ｃ軸分割数（余りは切り上げ）を求める。これにより、数値制御装置１ｉは、Ｃ軸の速度を選択手段２８ｉにより選択された１つの速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する。
【００８４】
このように、実施の形態２では、数値制御装置１ｉにおいて、選択手段２８ｉが、Ｃ軸の許容速度範囲から１つの速度を選択する。そして、数値制御装置１ｉは、Ｃ軸の速度を選択手段２８ｉにより選択された１つの速度に維持しながらＣ軸を回転させるとともに、仮想Ｙ軸が略直線で移動するように、Ｘ軸位置を制御する。これにより、Ｃ軸の速度を維持すべき一定速度について自由度の高い制御を実現でき、仮想Ｙ軸の早送りの応用範囲を広げることができる。
【産業上の利用可能性】
【００８５】
以上のように、本発明にかかる数値制御装置は、工作機械の制御に有用である。
【符号の説明】
【００８６】
１、１ｉ  数値制御装置
２  入力操作部
３  入力制御部
４  メモリ
５  パラメータ記憶エリア
６  加工プログラム記憶エリア
７  共有エリア
８  画面表示データエリア
９  画面処理部
１０  表示部
１１  解析処理部
１２  仮想Ｙ軸指令処理手段
１３  Ｄカット指令処理手段
１４  補間処理部
１５  仮想Ｙ軸補間処理手段
１６  仮想Ｙ軸早送り指令処理手段
１７  Ｃ軸Ｇ０補間処理手段
１８  Ｃ軸等速時Ｘ軸補間処理手段
２０、２０ｉ  仮想Ｙ軸制御処理部
２１  Ｘ／Ｙ平面演算手段
２２  Ｘ／Ｙ→Ｘ／Ｃ座標変換手段
２３  Ｃ軸分割数計算手段
２４  Ｃ軸分割位置対応Ｘ軸計算手段
２５  Ｘ軸移動量計算手段
２６  Ｄカット時Ｙ軸早送り制御手段
２７  軸データ入出力部
２８ｉ  選択手段
３１  Ｘ軸サーボ制御部
３２  Ｈ軸サーボ制御部
３３  Ｃ軸サーボ制御部
４１、４２、４３  サーボモータ
【図１】
2013179366.tif 000003
【図２】
2013179366.tif 000004
【図３】
2013179366.tif 000005
【図４】
2013179366.tif 000006
【図５】
2013179366.tif 000007
【図６】
2013179366.tif 000008
【図７】
2013179366.tif 000009
【図８】
2013179366.tif 000010
【図９】
2013179366.tif 000011
【図１０】
2013179366.tif 000012
【図１１】
2013179366.tif 000013
【国際調査報告】
2013179366.tif 000014
2013179366.tif 000015
2013179366.tif 000016