(57)【特許請求の範囲】
【請求項１】
加工プログラムに基づき、主軸の移動経路の移動速度を制御する数値制御装置であって、
前記加工プログラムを１ブロック毎に解析する解析手段と、
前記解析手段が解析した１ブロック中に、時定数を記憶する記憶手段に記憶した前記時定数を変更する指令である時定数変更指令があるか否かを判定する時定数変更指令判定手段と、
前記時定数変更指令判定手段が前記１ブロック中に、前記時定数変更指令があると判定した場合、前記記憶手段に記憶した前記時定数を、前記時定数変更指令が指定する新たな時定数に変更する時定数変更手段と、
前記記憶手段に記憶した前記時定数に基づき、前記移動経路のコーナ点におけるコーナ減速時間を算出するコーナ減速時間算出手段と、
前記解析手段が解析した１ブロック中に移動指令があるか否かを判定する移動指令判定手段と、
前記移動指令判定手段が前記１ブロック中に前記移動指令があると判定した場合、前記解析手段が解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する移動開始時速度決定手段と、
前記解析手段が解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する移動終了時速度決定手段と、
前記移動開始時速度決定手段が決定した前記移動開始時速度と、前記移動終了時速度決定手段が決定した前記移動終了時速度と、前記コーナ減速時間算出手段が算出した前記コーナ減速時間とに基づき、前記コーナ減速時間に前記移動開始時速度を乗じて得られる距離であって、前記コーナ点を通過してから前記移動速度を減速した状態から減速する前の元の状態に復帰させるまでに必要な距離である開始時減速距離と、前記コーナ減速時間に前記移動終了時速度を乗じて得られる距離であって、前記コーナ点を通過する前に前記移動速度の減速が必要な距離である終了時減速距離とを各々算出するコーナ点減速距離算出手段と、
前記移動指令が指定する移動距離のうち前記主軸が移動した移動済み距離を算出する移動済み距離算出手段と、
前記コーナ点減速距離算出手段による前記開始時減速距離及び前記終了時減速距離の算出、及び前記移動済み距離算出手段による前記移動済み距離の算出が完了した後で、前記移動指令が指定する移動速度、前記移動開始時速度決定手段が決定した前記移動開始時速度と、前記移動終了時速度決定手段が決定した前記移動終了時速度と、前記コーナ点減速距離算出手段が算出した前記開始時減速距離、及び前記終了時減速距離と、前記移動済み距離算出手段が算出した前記移動済み距離とに基づき、前記移動指令を実行する移動指令実行手段と
を備えたことを特徴とする数値制御装置。
【請求項２】
加工プログラムに基づき、主軸の移動経路の移動速度を制御する数値制御装置によって行われる移動制御方法であって、
前記加工プログラムを１ブロック毎に解析する解析ステップと、
前記解析ステップが解析した１ブロック中に、時定数を記憶する記憶手段に記憶した前記時定数を変更する指令である時定数変更指令があるか否かを判定する時定数変更指令判定ステップと、
前記時定数変更指令判定ステップが前記１ブロック中に前記時定数変更指令があると判定した場合、前記記憶手段に記憶した前記時定数を、前記時定数変更指令が指定する新たな時定数に変更する時定数変更ステップと、
前記記憶手段に記憶した前記時定数に基づき、前記移動経路のコーナ点におけるコーナ減速時間を算出するコーナ減速時間算出ステップと、
前記解析ステップが解析した１ブロック中に移動指令があるか否かを判定する移動指令判定ステップと、
前記移動指令判定ステップが前記１ブロック中に前記移動指令があると判定した場合、前記解析ステップが解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する移動開始時速度決定ステップと、
前記解析ステップが解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する移動終了時速度決定ステップと、
前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ減速時間算出ステップが算出した前記コーナ減速時間とに基づき、前記コーナ減速時間に前記移動開始時速度を乗じて得られる距離であって、前記コーナ点を通過してから前記移動速度を減速した状態から減速する前の元の状態に復帰させるまでに必要な距離である開始時減速距離と、前記コーナ減速時間に前記移動終了時速度を乗じて得られる距離であって、前記コーナ点を通過する前に前記移動速度の減速が必要な距離である終了時減速距離とを各々算出するコーナ点減速距離算出ステップと、
前記移動指令が指定する移動距離のうち前記主軸が移動した移動済み距離を算出する移動済み距離算出ステップと、
前記コーナ点減速距離算出ステップによる前記開始時減速距離及び前記終了時減速距離の算出、及び前記移動済み距離算出ステップによる前記移動済み距離の算出が完了した後で、前記移動指令が指定する移動速度と、前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ点減速距離算出ステップが算出した前記開始時減速距離、及び前記終了時減速距離と、前記移動済み距離算出ステップで算出した前記移動済み距離とに基づき、前記移動指令を実行する移動指令実行ステップと
を備えたことを特徴とする移動制御方法。
【請求項３】
加工プログラムに基づき、主軸の移動経路の移動速度を制御する数値制御装置を機能させる移動制御プログラムであって、
コンピュータに
前記加工プログラムを１ブロック毎に解析する解析ステップと、
前記解析ステップが解析した１ブロック中に、時定数を記憶する記憶手段に記憶した前記時定数を変更する指令である時定数変更指令があるか否かを判定する時定数変更指令判定ステップと、
前記時定数変更指令判定ステップが前記１ブロック中に前記時定数変更指令があると判定した場合、前記記憶手段に記憶した前記時定数を、前記時定数変更指令が指定する新たな時定数に変更する時定数変更ステップと、
前記記憶手段に記憶した前記時定数に基づき、前記移動経路のコーナ点におけるコーナ減速時間を算出するコーナ減速時間算出ステップと、
前記解析ステップが解析した１ブロック中に移動指令があるか否かを判定する移動指令判定ステップと、
前記移動指令判定ステップが前記１ブロック中に前記移動指令があると判定した場合、前記解析ステップが解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する移動開始時速度決定ステップと、
前記解析ステップが解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する移動終了時速度決定ステップと、
前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ減速時間算出ステップが算出した前記コーナ減速時間とに基づき、前記コーナ減速時間に前記移動開始時速度を乗じて得られる距離であって、前記コーナ点を通過してから前記移動速度を減速した状態から減速する前の元の状態に復帰させるまでに必要な距離である開始時減速距離と、前記コーナ減速時間に前記移動終了時速度を乗じて得られる距離であって、前記コーナ点を通過する前に前記移動速度の減速が必要な距離である終了時減速距離とを各々算出するコーナ点減速距離算出ステップと、
前記移動指令が指定する移動距離のうち前記主軸が移動した移動済み距離を算出する移動済み距離算出ステップと、
前記コーナ点減速距離算出ステップによる前記開始時減速距離及び前記終了時減速距離の算出、及び前記移動済み距離算出ステップによる前記移動済み距離の算出が完了した後で、前記移動指令が指定する移動速度と、前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ点減速距離算出ステップが算出した前記開始時減速距離、及び前記終了時減速距離と、前記移動済み距離算出ステップで算出した前記移動済み距離とに基づき、前記移動指令を実行する移動指令実行ステップとを実行させることを特徴とする移動制御プログラム。
【請求項４】
請求項３に記載の移動制御プログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
数値制御装置は、加工プログラムで指令した経路を高速で移動する場合、コーナ点の前後で速度を加減速制御する。特許文献１は、コーナ点に向かって移動速度を許容速度まで減速し、コーナ点に到達した後、移動速度を指令速度まで加速する技術を開示する。補間後加減速は、各軸に分配した移動指令に時定数をかけて加減速を行う。数値制御装置は、コーナ点で許容速度まで減速する場合、コーナ点の前のブロックの最後、及びコーナ点の後のブロックの最初において、予め定めた時定数の１／２費やして許容速度の移動指令値を出力していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−１３７００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
加工プログラムにおいては、時定数を変更できる指令がある。上記方法は、時定数が一定の場合、問題ないが、加工プログラム実行中に時定数を変更する以下の問題が発生する。時定数を長くした場合、前述した加減速方法では、予め定めた時定数（コーナ減速時間）で減速するが、コーナ減速時間が短すぎて、許容速度に到達できないという問題点があった。時定数を短くした場合、コーナ減速時間が長すぎて許容速度で移動する時間が長くなり、サイクルタイムが大きくなるという問題点があった。
【０００５】
本発明は、上記課題を解決するためになされたものであり、加工プログラム実行中に時定数を変更しても、コーナ点の前後で適切に加速度制御ができる数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１態様に係る数値制御装置は、加工プログラムに基づき、主軸の移動経路の移動速度を制御する数値制御装置であって、前記加工プログラムを１ブロック毎に解析する解析手段と、前記解析手段が解析した１ブロック中に、時定数を記憶する記憶手段に記憶した前記時定数を変更する指令である時定数変更指令があるか否かを判定する時定数変更指令判定手段と、前記時定数変更指令判定手段が前記１ブロック中に、前記時定数変更指令があると判定した場合、前記記憶手段に記憶した前記時定数を、前記時定数変更指令が指定する新たな時定数に変更する時定数変更手段と、前記記憶手段に記憶した前記時定数に基づき、前記移動経路のコーナ点におけるコーナ減速時間を算出するコーナ減速時間算出手段と、前記解析手段が解析した１ブロック中に移動指令があるか否かを判定する移動指令判定手段と、前記移動指令判定手段が前記１ブロック中に前記移動指令があると判定した場合、前記解析手段が解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する移動開始時速度決定手段と、前記解析手段が解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する移動終了時速度決定手段と、前記移動開始時速度決定手段が決定した前記移動開始時速度と、前記移動終了時速度決定手段が決定した前記移動終了時速度と、前記コーナ減速時間算出手段が算出した前記コーナ減速時間とに基づき、前記コーナ減速時間に前記移動開始時速度を乗じて得られる距離であって、前記コーナ点を通過してから前記移動速度を減速した状態から減速する前の元の状態に復帰させるまでに必要な距離である開始時減速距離と、前記コーナ減速時間に前記移動終了時速度を乗じて得られる距離であって、前記コーナ点を通過する前に前記移動速度の減速が必要な距離である終了時減速距離とを各々算出するコーナ点減速距離算出手段と、前記移動指令が指定する移動距離のうち前記主軸が移動した移動済み距離を算出する移動済み距離算出手段と、前記コーナ点減速距離算出手段による前記開始時減速距離及び前記終了時減速距離の算出、及び前記移動済み距離算出手段による前記移動済み距離の算出が完了した後で、前記移動指令が指定する移動速度、前記移動開始時速度決定手段が決定した前記移動開始時速度と、前記移動終了時速度決定手段が決定した前記移動終了時速度と、前記コーナ点減速距離算出手段が算出した前記開始時減速距離、及び前記終了時減速距離と、前記移動済み距離算出手段が算出した前記移動済み距離とに基づき、前記移動指令を実行する移動指令実行手段とを備えている。
【０００７】
第１態様では、時定数変更手段は、加工プログラム中に時定数変更指令があれば、記憶手段に記憶した時定数を、時定数変更指令が指定する新たな時定数に変更する。コーナ減速時間算出手段は、記憶手段に記憶した時定数に基づき、移動経路のコーナ点におけるコーナ減速時間を算出する。移動開始時速度決定手段は、解析手段が解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する。移動終了時速度決定手段は、解析手段が解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する。コーナ点減速距離算出手段は、移動開始時速度決定手段が決定した移動開始時速度と、移動終了時速度決定手段が決定した移動終了時速度と、コーナ減速時間算出手段が算出したコーナ減速時間とに基づき、移動経路のコーナ点における開始時減速距離と、終了時減速距離とを各々算出する。故に、数値制御装置は、加工プログラムの実行中に時定数を変更しても、コーナ点の前後で適切に加速度制御ができる。
【０００８】
本発明の第２態様に係る移動制御方法は、加工プログラムに基づき、主軸の移動経路の移動速度を制御する数値制御装置によって行われる移動制御方法であって、前記加工プログラムを１ブロック毎に解析する解析ステップと、前記解析ステップが解析した１ブロック中に、時定数を記憶する記憶手段に記憶した前記時定数を変更する指令である時定数変更指令があるか否かを判定する時定数変更指令判定ステップと、前記時定数変更指令判定ステップが前記１ブロック中に前記時定数変更指令があると判定した場合、前記記憶手段に記憶した前記時定数を、前記時定数変更指令が指定する新たな時定数に変更する時定数変更ステップと、前記記憶手段に記憶した前記時定数に基づき、前記移動経路のコーナ点におけるコーナ減速時間を算出するコーナ減速時間算出ステップと、前記解析ステップが解析した１ブロック中に移動指令があるか否かを判定する移動指令判定ステップと、前記移動指令判定ステップが前記１ブロック中に前記移動指令があると判定した場合、前記解析ステップが解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する移動開始時速度決定ステップと、前記解析ステップが解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する移動終了時速度決定ステップと、前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ減速時間算出ステップが算出した前記コーナ減速時間とに基づき、前記コーナ減速時間に前記移動開始時速度を乗じて得られる距離であって、前記コーナ点を通過してから前記移動速度を減速した状態から減速する前の元の状態に復帰させるまでに必要な距離である開始時減速距離と、前記コーナ減速時間に前記移動終了時速度を乗じて得られる距離であって、前記コーナ点を通過する前に前記移動速度の減速が必要な距離である終了時減速距離とを各々算出するコーナ点減速距離算出ステップと、前記移動指令が指定する移動距離のうち前記主軸が移動した移動済み距離を算出する移動済み距離算出ステップと、前記コーナ点減速距離算出ステップによる前記開始時減速距離及び前記終了時減速距離の算出、及び前記移動済み距離算出ステップによる前記移動済み距離の算出が完了した後で、前記移動指令が指定する移動速度と、前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ点減速距離算出ステップが算出した前記開始時減速距離、及び前記終了時減速距離と、前記移動済み距離算出ステップで算出した前記移動済み距離とに基づき、前記移動指令を実行する移動指令実行ステップとを備えている。
【０００９】
第２態様では、時定数変更ステップは、加工プログラム中に時定数変更指令があれば、記憶手段に記憶した時定数を、時定数変更指令が指定する新たな時定数に変更する。コーナ減速時間算出ステップは、記憶手段に記憶した時定数に基づき、移動経路のコーナ点におけるコーナ減速時間を算出する。移動開始時速度決定ステップは、解析手段が解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する。移動終了時速度決定ステップは、解析ステップが解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する。コーナ点減速距離算出ステップは、移動開始時速度決定ステップが決定した移動開始時速度と、移動終了時速度決定ステップが決定した移動終了時速度と、コーナ減速時間算出ステップが算出したコーナ減速時間とに基づき、移動経路のコーナ点における開始時減速距離と、終了時減速距離とを各々算出する。故に、数値制御装置は、加工プログラムの実行中に時定数を変更しても、コーナ点の前後で適切に加速度制御ができる。
【００１０】
本発明の第３態様に係る移動制御プログラムは、加工プログラムに基づき、主軸の移動経路の移動速度を制御する数値制御装置を機能させる移動制御プログラムであって、コンピュータに前記加工プログラムを１ブロック毎に解析する解析ステップと、前記解析ステップが解析した１ブロック中に、時定数を記憶する記憶手段に記憶した前記時定数を変更する指令である時定数変更指令があるか否かを判定する時定数変更指令判定ステップと、前記時定数変更指令判定ステップが前記１ブロック中に前記時定数変更指令があると判定した場合、前記記憶手段に記憶した前記時定数を、前記時定数変更指令が指定する新たな時定数に変更する時定数変更ステップと、前記記憶手段に記憶した前記時定数に基づき、前記移動経路のコーナ点におけるコーナ減速時間を算出するコーナ減速時間算出ステップと、前記解析ステップが解析した１ブロック中に移動指令があるか否かを判定する移動指令判定ステップと、前記移動指令判定ステップが前記１ブロック中に前記移動指令があると判定した場合、前記解析ステップが解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する移動開始時速度決定ステップと、前記解析ステップが解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する移動終了時速度決定ステップと、前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ減速時間算出ステップが算出した前記コーナ減速時間とに基づき、前記コーナ減速時間に前記移動開始時速度を乗じて得られる距離であって、前記コーナ点を通過してから前記移動速度を減速した状態から減速する前の元の状態に復帰させるまでに必要な距離である開始時減速距離と、前記コーナ減速時間に前記移動終了時速度を乗じて得られる距離であって、前記コーナ点を通過する前に前記移動速度の減速が必要な距離である終了時減速距離とを各々算出するコーナ点減速距離算出ステップと、前記移動指令が指定する移動距離のうち前記主軸が移動した移動済み距離を算出する移動済み距離算出ステップと、前記コーナ点減速距離算出ステップによる前記開始時減速距離及び前記終了時減速距離の算出、及び前記移動済み距離算出ステップによる前記移動済み距離の算出が完了した後で、前記移動指令が指定する移動速度と、前記移動開始時速度決定ステップが決定した前記移動開始時速度と、前記移動終了時速度決定ステップが決定した前記移動終了時速度と、前記コーナ点減速距離算出ステップが算出した前記開始時減速距離、及び前記終了時減速距離と、前記移動済み距離算出ステップで算出した前記移動済み距離とに基づき、前記移動指令を実行する移動指令実行ステップとを実行させることを特徴とする。
【００１１】
第３態様では、時定数変更ステップは、加工プログラム中に時定数変更指令があれば、記憶手段に記憶した時定数を、時定数変更指令が指定する新たな時定数に変更する。コーナ減速時間算出ステップは、記憶手段に記憶した時定数に基づき、移動経路のコーナ点におけるコーナ減速時間を算出する。移動開始時速度決定ステップは、解析手段が解析したブロックの前ブロックの制御指令に基づき、解析したブロックの移動開始時速度を決定する。移動終了時速度決定ステップは、解析ステップが解析したブロックの次ブロックの制御指令に基づき、解析したブロックの移動終了時速度を決定する。コーナ点減速距離算出ステップは、移動開始時速度決定ステップが決定した移動開始時速度と、移動終了時速度決定ステップが決定した移動終了時速度と、コーナ減速時間算出ステップが算出したコーナ減速時間とに基づき、移動経路のコーナ点における開始時減速距離と、終了時減速距離とを各々算出する。故に、数値制御装置は、加工プログラムの実行中に時定数を変更しても、コーナ点の前後で適切に加速度制御ができる。
【００１２】
本発明の第４態様に係る記憶媒体は、請求項３に記載の制御プログラムを記憶したことを特徴とする。
【００１３】
第４態様では、請求項３に記載の制御プログラムを記憶している。故に、コンピュータが制御プログラムを実行することで、第３態様に記載の効果を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】数値制御装置２０と工作機械２の電気的構成を示すブロック図である。
【図２】フラッシュメモリ２４の記憶領域を示す概念図である。
【図３】Ｐ０、Ｐ１、Ｐ２、…、Ｐｉ、…からなる座標列の移動経路を示す図である。
【図４】連続するブロックＢｉ、Ｂｉ＋１を一定速度で回ったときに発生する加速度を説明する図である。
【図５】加工プログラムの一例を示す図である。
【図６】ブロックＢ１，Ｂ２からなる移動経路を示す図である。
【図７】補間後加減速処理前の移動指令に基づく速度パターンである。
【図８】補間後加減速処理後の移動指令に基づく速度パターンである。
【図９】ＣＰＵ２１による制御処理のフローチャートである。
【図１０】図９の続きを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態である数値制御装置２０、移動経路修正方法、移動経路修正プログラム及び記憶媒体について、図面を参照して説明する。図１に示す数値制御装置２０は、加工プログラムが指令する経路にしたがい、工作機械２の主軸の移動を制御する。工作機械２は、加工物と工具の相対移動により、加工物を切削する。
【００１６】
数値制御装置２０の電気的構成について、図１を参照して説明する。数値制御装置２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４を有するマイクロコンピュータと、入力インタフェイス２５と、入出力インタフェイス２６とを備えている。入力インタフェイス２５は、キーボード１２に接続している。
【００１７】
ＲＯＭ２２は、数値制御装置２０のメインプログラムに加え、加工プログラムを１ブロックずつ読込んで工作機械２の主軸（図示外）の移動等を制御する本発明の「制御プログラム」等を記憶する。「制御プログラム」は、コンピュータで読み取り可能な記憶媒体としてのフラッシュメモリ２４等に記憶してもよい。図２に示すように、フラッシュメモリ２４は、加工プログラムを記憶する加工プログラム記憶領域２４１と、時定数を記憶する時定数記憶領域２４２とを少なくとも備えている。
【００１８】
入出力インタフェイス２６は、工作機械２のＸ軸モータ５１を駆動する駆動回路４１と、工作機械２のＹ軸モータ５２を駆動する駆動回路４２と、工作機械２のＺ軸モータ５３を駆動する駆動回路４３と、工作機械２の主軸モータ５４を駆動する駆動回路４４に接続している。Ｘ軸モータ５１及びＹ軸モータ５２の駆動は、工作機械２のテーブル（図示省略）をＸ軸方向及びＹ軸方向に移動する。Ｚ軸モータ５３の駆動は、工作機械の主軸をＺ軸方向に移動する。入出力インタフェイス２６は、工作機械２のマガジンモータ５５を駆動する駆動回路４５、ディスプレイ１１を駆動する駆動回路４６と接続している。マガジンモータ５５は、複数の工具を収納した工具マガジン(図示略)を工具交換時に回転する。ディスプレイ１１は、作業者が後述する加工プログラム等を入力する際、キーボード１２を介して入力した情報を表示する。
【００１９】
Ｘ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３、主軸モータ５４、マガジンモータ５５は、各モータの位置を検出するエンコーダ（図示省略）を備えている。各エンコーダは、各駆動回路４１、４２、４３、４４、４５に接続している。
【００２０】
次に、軸の移動経路のコーナ点における減速処理について説明する。コーナ点はブロックとブロックの接続部で発生する。ＣＰＵ２１は、連続するブロックの角度に基づき、その始端・終端で、加速・減速を行い、コーナ点の速度制御を行う。
【００２１】
ＣＰＵ２１は、加工プログラムを１ブロックずつ読込んで、内部処理形式（ブロックデータ）に変換する。ＣＰＵ２１は、連続するブロックがなす角度に応じたコーナ通過速度を設定する。加工プログラムが指令する経路は、図３に示すように、Ｐ０、Ｐ１、Ｐ２、…、Ｐｉ、…からなる座標列である。ＣＰＵ２１は、座標列を読み取って各ブロックの各軸移動量、ブロック長、指令速度からなるブロックデータＢｉ（以下、ブロックＢｉと呼ぶ）を生成する。各記号に付けた添え字ｉは、経路開始からのブロック番号を表している。
【００２２】
図４に示すように、ＣＰＵ２１は、連続する二つのブロックＢｉとＢｉ＋１とがなす角度θに基づき、コーナ減速速度を設定する。コーナ減速速度としては、例えば、特開平２−１３７００６号公報が開示する技術を適用できる。軸がコーナ点Ｑを速度ｖで回ったときに発生する速度ベクトルの変化量Δｖは、余弦定理により、
（Δｖ）２＝２ｖ２−２ｖ２ｃｏｓθ
よって、Δｖ＝ｖ√｛２（１−ｃｏｓθ）｝となる。
【００２３】
この速度変化が１サンプリング周期ΔＴ間に起こるとすれば、その加減速の大きさは、  （Δｖ／ΔＴ）＝ｖ√｛２（１−ｃｏｓθ）｝／ΔＴ  ・・・（１）
となる。
【００２４】
駆動系や機械系に作用する最大許容加減速αがこれらの設計値から与えられ、（１）式の加速度がこれをオーバーしないようにする条件から、コーナ点における許容速度Ｖｃは、
・Ｖｃ＝α・ΔＴ／√｛２（１−ｃｏｓθ）｝  ・・・（２）
となり、コーナ角度θの値を用いて（２）式により許容速度Ｖｃを決定する。
【００２５】
次に、主軸の移動経路のコーナ点における補間後加減速について説明する。補間後加減速では、加工プログラムに基づき、各軸に分配した移動指令に時定数をかけて加減速を行う。具体例を挙げて説明する。例えば、図５に示す加工プログラムは、第１指令、第２指令、第３指令、第４指令を備える。第１指令は、Ｍ２６０；である。第２指令は、Ｇ１  Ｘ１０．０００  Ｆ１０００；である。第３指令は、Ｇ１  Ｙ１０．０００；である。第４指令は、Ｍ２６９；である。Ｍ２６０は、時定数を変更する指令であり、フラッシュメモリ２４に予め記憶してある時定数に変更する。図６に示すように、第２指令は、速度１０００ｍｍ／ｍｉｎで、主軸をＡ点（現在位置）からＸ軸方向に＋１０ｍｍ移動（Ｂ点まで）することを指示する。第３指令は、主軸をＢ点から速度１０００ｍｍ／ｍｉｎで、Ｙ軸方向に＋１０ｍｍ移動（Ｃ点まで）することを指示する。第２指令による移動ブロックをＢ１とし、第３指令による移動ブロックをＢ２とする。第４指令は、時定数を元に戻す指令である。
【００２６】
図７に示す速度パターンは、図５に示す加工プログラムに基づき、所定周期ごとに速度を出力した結果であり、補間後加減速処理前である。ＣＰＵ２１は、第１〜４指令に基づき、所定周期毎に、速度１０００ｍｍ／ｍｉｎを時定数を変更して出力する。その後、時定数を元に戻す。ブロックＢ１とＢ２のコーナ点における許容速度は、ブロックＢ１とＢ２とがなす角度θに基づき、決定する。ＣＰＵ２１は、ブロックＢ１の終了時からＢ２の開始時にかけて、時定数ｔの時間だけ許容速度Ｖｃの移動指令を出力する。具体的には、ブロックＢ１の終了時のｔ／２時間と、ブロックＢ２の開始時のｔ／２時間とにおいて、許容速度Ｖｃの移動指令を出力する。
【００２７】
図８に示す速度パターンは、図７の速度パターンを補間後加減速処理したものである。時間ｔ０から指令速度に到達する時間ｔ１までに要する時間は、時定数ｔである。指令速度に達した時間ｔ１から時間ｔ２まで指令速度の移動指令を出力する。時間ｔ２から時定数ｔの時間をかけて時間ｔ４において許容速度Ｖｃまで減速する。時間ｔ４から時定数ｔの時間をかけて時間ｔ５において指令速度に達する。時間ｔ６から時定数ｔの時間をかけて速度は零となる。故に、主軸の移動経路の方向が急激に変化するコーナ点で許容速度Ｖｃまで減速するため、工具が通過するときに、機械に作用する衝撃や振動を防止できる。
【００２８】
ＣＰＵ２１が実行する制御処理について、図９のフローチャートを参照して説明する。作業者がキーボード１２を操作すると、ＣＰＵ２１は、ＲＯＭ２２に記憶した本発明の「制御プログラム」を読み込んで実行する。
【００２９】
ＣＰＵ２１は、フラッシュメモリ２４の加工プログラム記憶領域２４１（図２参照）に記憶した加工プログラムを１ブロック解析する（Ｓ１１）。ＣＰＵ２１は、解析した１ブロック中に「時定数変更指令」があるか否かを判断する（Ｓ１２）。時定数変更指令は、時定数を変更する指令である。ＣＰＵ２１は、１ブロック中に時定数変更指令がないと判断した場合（Ｓ１２：ＮＯ）、制御指令は移動指令である。ＣＰＵ２１は、移動指令に基づき、指令速度Ｖと移動距離Ｄを読み込んでＲＡＭ２３（図１参照）に記憶する（Ｓ１５）。
【００３０】
ＣＰＵ２１は、１ブロック中に時定数変更指令があると判断した場合（Ｓ１２：ＹＥＳ）、フラッシュメモリ２４の時定数記憶領域２４２（図２参照）に記憶した時定数ｔに、新しい時定数ｔ'を複写して書き換える（Ｓ１３）。ＣＰＵ２１は、時定数記憶領域２４２に記憶した時定数ｔに基づき、コーナ減速時間ｔｃを算出する（Ｓ１４）。コーナ減速時間ｔｃは、時定数ｔの１／２である。ＣＰＵ２１は、算出したコーナ減速時間ｔｃをＲＡＭ２３に記憶する。ＣＰＵ２１は、Ｓ１４の処理後、Ｓ１１に戻り、処理を繰り返す。
【００３１】
ＣＰＵ２１は、制御指令が移動指令であって（Ｓ１２：ＹＥＳ）、指令速度Ｖと移動距離Ｄを記憶した後（Ｓ１５）、前のブロックが移動指令か否か判断する（Ｓ１６）。ＣＰＵ２１は、前のブロックが移動指令でないと判断した場合（Ｓ１６：ＮＯ）、現在解析中のブロックが最初の移動指令である。故に、ＣＰＵ２１は、開始時速度ＶｃｓをＲＡＭ２３に記憶した指令速度Ｖに設定する（Ｓ１８）。ＣＰＵ２１は、新たに設定した開始時速度ＶｃｓをＲＡＭ２３に記憶する。ＣＰＵ２１は、前のブロックが移動指令であると判断した場合（Ｓ１６：ＹＥＳ）、開始時速度ＶｃｓをＲＡＭ２３に記憶した前回の終了時速度Ｖｃｅに設定する（Ｓ１７）。ＣＰＵ２１は、新たに設定した開始時速度ＶｃｓをＲＡＭ２３に記憶する。
【００３２】
ＣＰＵ２１は、次のブロックも移動指令か否かを判断する（Ｓ１９）。ＣＰＵ２１は、次のブロックが移動指令でないと判断した場合（Ｓ１９：ＮＯ）、移動経路は現在解析中のブロックで終わる。故に、ＣＰＵ２１は、終了時速度ＶｃｅをＲＡＭ２３に記憶した指令速度Ｖに設定する（Ｓ２１）。ＣＰＵ２１は、新たに設定した終了時速度ＶｃｅをＲＡＭ２３に記憶する。ＣＰＵ２１は、次のブロックも移動指令であると判断した場合（Ｓ１９：ＹＥＳ）、現在解析中のブロックと次のブロックとのなす角度θから、終了時速度Ｖｃｅを算出する（Ｓ２０）。ＣＰＵ２１は、算出した終了時速度ＶｃｅをＲＡＭ２３に記憶する。角度θに基づく終了時速度Ｖｃｅの算出方法は、上述した通りである。
【００３３】
ＣＰＵ２１は、ＲＡＭ２３に記憶した開始時速度Ｖｃｓと、終了時速度Ｖｅｓと、コーナ減速時間ｔｃとに基づき、開始時減速距離Ｄｃｓと、終了時減速距離Ｄｃｅとを計算する（Ｓ２２）。計算方法は以下の通りである。
・Ｄｃｓ＝Ｖｃｓ×ｔｃ／２
・Ｄｃｅ＝Ｖｃｅ×ｔｃ／２
【００３４】
図１０に示すように、ＣＰＵ２１は、ＲＡＭ２３に記憶した移動残距離Ｒを移動距離Ｄにして初期化する（Ｓ２４）。移動残距離Ｒは、移動開始位置から目標位置までの残りの距離である。ＣＰＵ２１は、移動開始位置から移動した距離Ｄｎを算出する（Ｓ２５）。距離Ｄｎは、移動距離Ｄから残距離Ｒを差し引いた値である。
【００３５】
ＣＰＵ２１は、距離Ｄｎが開始時減速距離Ｄｃｓ未満か否か判断する（Ｓ２６）。ＣＰＵ２１は、距離Ｄｎが開始時減速距離Ｄｃｓ未満と判断した場合（Ｓ２６：ＹＥＳ）、開始時のコーナ減速が必要である。故に、ＣＰＵ２１は、開始時速度Ｖｃｓの移動指令を、工作機械２のＸ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３の駆動回路４１、４２、４３にそれぞれ出力する（Ｓ２８）。
【００３６】
ＣＰＵ２１は、距離Ｄｎが開始時減速距離Ｄｃｓ以上と判断した場合（Ｓ２６：ＮＯ）、移動残距離Ｒが終了時減速距離Ｄｃｅ未満か否か判断する（Ｓ２７）。ＣＰＵ２１は、移動残距離Ｒが終了時減速距離Ｄｃｅ未満と判断した場合（Ｓ２７：ＹＥＳ）、終了時のコーナ減速が必要である。故に、ＣＰＵ２１は、終了時速度Ｖｃｅの移動指令を、工作機械２のＸ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３の駆動回路４１、４２、４３にそれぞれ出力する（Ｓ２９）。
【００３７】
ＣＰＵ２１は、移動残距離Ｒが終了時減速距離Ｄｃｅ以上と判断した場合（Ｓ２７：ＮＯ）、減速する区間ではないので減速する必要がない。故に、ＣＰＵ２１は、指令速度Ｖの移動指令を工作機械２のＸ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３の駆動回路４１、４２、４３にそれぞれ出力する（Ｓ３０）。
【００３８】
ＣＰＵ２１は、移動残距離Ｒから、駆動回路４１、４２、４３に出力した移動量を減算し、ＲＡＭ２３に記憶した移動残距離Ｒを更新する（Ｓ３１）。ＣＰＵ２１は、移動終了か否かを判断する（Ｓ３２）。ＣＰＵ２１は、移動はまだ終了しないと判断した場合（Ｓ３２：ＮＯ）、Ｓ２５に戻り、移動を終了するまで処理を繰り返す。（Ｓ２７）。ＣＰＵ２１は、移動は終了と判断した場合（Ｓ３２：ＹＥＳ）、加工プログラムは終了か否かを判断する（Ｓ３３）。ＣＰＵ２１は、加工プログラムがまだ終了しないと判断した場合（Ｓ３３：ＮＯ）、図９のＳ１１に戻りに、次ブロックに移行して処理を繰り返す。ＣＰＵ２１は、加工プログラムが終了したと判断した場合（Ｓ３３：ＹＥＳ）、本処理を終了する。
【００３９】
以上説明において、図９のＳ１１の処理を実行するＣＰＵ２１は本発明の「解析手段」に相当する。Ｓ１２の処理を実行するＣＰＵ２１は本発明の「時定数変更指令判定手段」、「移動指令判定手段」に相当する。Ｓ１３の処理を実行するＣＰＵ２１は本発明の「時定数変更手段」に相当する。Ｓ１４の処理を実行するＣＰＵ２１は本発明の「コーナ減速時間算出手段」に相当する。Ｓ１６，Ｓ１７，Ｓ１８の処理を実行するＣＰＵ２１は本発明の「移動開始時速度決定手段」に相当する。Ｓ１９，Ｓ２０，Ｓ２１の処理を実行するＣＰＵ２１は本発明の「移動終了時速度決定手段」に相当する。Ｓ２２の処理を実行するＣＰＵ２１は本発明の「コーナ点減速距離移算出手段」に相当する。図１０のＳ２４〜Ｓ３２の処理を実行するＣＰＵ２１は本発明の「移動指令実行手段」に相当する。
【００４０】
以上説明したように、本実施形態の数値制御装置２０は、加工プログラムを１ブロック毎に解析する。１ブロック中に時定数変更指令があった場合、フラッシュメモリ２４に記憶した時定数ｔを変更する。数値制御装置２０は、ブロックとブロックのコーナを通過する際のコーナ減速時間ｔｃをフラッシュメモリ２４に記憶した時定数ｔに基づき算出する。数値制御装置２０は、加工プログラム実行中に時定数を変更しても、フラッシュメモリ２４に記憶した変更後の時定数ｔに応じてコーナ減速時間ｔｃを算出できる。故に、数値制御装置２０は、コーナ点で許容速度まで減速できなかったり、許容速度で移動する時間が長くなってサイクルタイムが大きくなったりする等の問題が生じない。
【００４１】
上記実施形態である数値制御装置２０は、縦型の工作機械２を制御するものであるが、本発明は横型の工作機械にも適用可能である。
【符号の説明】
【００４２】
２  工作機械
１２  キーボード
２０  数値制御装置
２４  フラッシュメモリ
４１〜４３  駆動回路
５１  Ｘ軸モータ
５２  Ｙ軸モータ
５３  Ｚ軸モータ
５４  主軸モータ
２４１  加工プログラム記憶領域
２４２  時定数記憶領域
【図１】
0005573664.tif 000002
【図２】
0005573664.tif 000003
【図３】
0005573664.tif 000004
【図４】
0005573664.tif 000005
【図５】
0005573664.tif 000006
【図６】
0005573664.tif 000007
【図７】
0005573664.tif 000008
【図８】
0005573664.tif 000009
【図９】
0005573664.tif 000010
【図１０】
0005573664.tif 000011