(57)【要約】【課題】  工具補正をキャンセルしても、軸が移動せず補正のモ−ドだけをキャンセルすることができる数値制御装置を得る。【解決手段】  加工プログラム２０１を解析し生成したプログラム終点２１１に対し、工具補正をかけた補正終点２２１を生成し、この補正終点２２１を解析系終点２３１として、予め保存されている前回ブロックの解析系始点２３２とともに補間部２４０に渡すとともに、この解析系終点２３１を次回ブロックの解析系始点２３２として保存する解析部２０２と、この解析部２０２から渡された解析系始点２３１と解析系終点２３２との差分を軸移動量として補間するとともに最終的なモータ指令位置終点２４２を保管する補間部２４０とを備え、補正キャンセル指令があったとき、前記解析系終点２３１が、予め保存されている解析系始点２３２と同一となるよう補正する相殺量計算部２１２を前記解析部２１０に設けた。【選択図】  図１
2006277516.tif 000002
【特許請求の範囲】
【請求項１】
工具補正機能をもつ数値制御装置において、工具補正をキャンセルしたときに、補正量分の軸移動をせず、補正のモードだけをキャンセルする手段を備えてなる数値制御装置。
【請求項２】
加工プログラムを解析し生成したプログラム終点に対し、工具補正をかけた補正終点を生成し、この補正終点を解析系終点として、予め保存されている前回ブロックの解析系始点とともに補間部に渡すとともに、この解析系終点を次回ブロックの解析系始点として保存する解析部と、この解析部から渡された解析系始点と解析系終点との差分を軸移動量として補間するとともに最終的なモータ指令位置終点を保管する補間部とを備え、補正キャンセル指令があったとき、前記解析系終点が、予め保存されている解析系始点と同一となるよう補正する相殺量計算部を前記解析部に設けたことを特徴とする数値制御装置。
【請求項３】
加工プログラムを解析し生成したプログラム終点を解析系終点として補間部に渡す解析部と、この解析部から渡された解析系終点に対し工具補正をかけて補間系終点を生成するとともにこの補間系終点を次回ブロックの補間系始点として保存し、且つこの補間系終点と予め保存されている前回ブロックの補間系始点との差分を軸移動量として補間するとともに最終的なモータ指令位置終点を保存する補間部とを備え、補正キャンセル指令があったとき、前記解析部は、加工プログラムの先読みを禁止し、解析系始点及び解析系終点に前回ブロックの解析系終点をセットして前記補間部に渡すことを特徴とする数値制御装置。
【請求項４】
加工プログラムを解析し生成したプログラム終点を解析系終点として補間部に渡す解析部と、この解析部から渡された解析系終点に対し工具補正をかけて補間系終点を生成するとともにこの補間系終点を次回ブロックの補間系始点として保存し、且つこの補間系終点と予め保存されている前回ブロックの補間系始点との差分を軸移動量として補間するとともに最終的なモータ指令位置終点を保存する補間部とを備え、補正キャンセル指令があったとき、前記解析部は、加工プログラムの先読みを禁止し、解析系始点及び解析系終点に前回ブロックの解析系終点をセットして前記補間部に渡すとともに、前記補間部に対し前記モータ指令位置終点の取得を要求し、前記補間部は、前記解析部から渡された解析系始点と解析系終点との差分から軸の移動がないと判断するとともに、前記モータ指令位置終点を前記解析部に渡すことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、数値制御装置に係り、特に工具補正機能をもつ数値制御装置に関するものである。
【背景技術】
【０００２】
一般に、数値制御装置は工具補正機能をもっており、加工プログラムで定めた始点・終点に工具の刃先を一致させることができる。数値制御装置には、加工プログラムを解析して制御軸の始点・終点を生成する解析部と、解析部からの始点・終点を受けて各軸のモ−タに対する位置指令を時間刻みで生成する補間部があるが、一般的な工具補正機能は、補正量の計算を解析部で行っている。
【０００３】
図６に一般的な数値制御装置２００における工具補正量計算のフロ−を、図７に工具補正の実物のイメ−ジを示す。まず、解析部２０２は基本パス生成部２１０で加工プログラム２０１が指定した刃先パスをつくり、プログラム終点（epoint０）に格納する。それを元に、補正パス生成部２２０が工具補正ベクトルを加算した補正終点２２１（epoint１）を計算する。例えば、長さが１０ｍｍの工具長補正をＺ軸にかけた状態でＮ０１１の終点を作る場合、プログラム終点=(２００,１００,３００)が補正終点=(２００,１００,３１０)となる。
【０００４】
工具補正以外の補正機能も重複して使用している場合は、更に別の補正ベクトルが終点に加算されていくが、工具補正のみを使用している場合は、補正終点がそのまま最終的な解析系終点２３１（epoint）となる。
【０００５】
前回ブロックの解析系終点２３１（epoint）は、今回ブロックでの解析系始点２３２（spoint）として保存されており、解析部２０２が作った始点２３１・終点２３２は補間部２４０に届けられる。
【０００６】
補間部２４０は始点２３１と終点２３２の差分をモ−タの移動量２４１（leng）と判断し、その移動量を補間する。補間が終了したときの最終的なモ−タの指令位置は、モ−タ指令位置終点２４２（mot_epoint）として補間部２４０のメモリ領域に保存される。
【０００７】
次に図６の状態から工具補正をキャンセルしたときの解析部２０１、補間部２０２の動作を図８に示す。加工プログラム２０１の工具補正キャンセル指令（Ｇ４９）のブロックでは、軸の座標値が指令されていないので、基本パス生成部２１０のプログラム終点（epoint０）は前回と同じで、(２００,１００,３００) のままである。そして、補正をキャンセルしたので、補正パス生成部２２０を通らなくなる。このため、Ｚ軸の解析系終点（epoint）が３００であり、また前回ブロックの解析時にＺ軸に１０ｍｍの工具長補正をかけておりその値が次回ブロックのための解析系始点２３２（spoint）として保存されているため、今回ブロックのＺ軸の解析系始点２３２（spoint）が３１０となる。
【０００８】
なお、その他の関連従来技術として、工具位置の座標値を含む座標系設定指令により座標系を任意に設定することができる数値制御装置において、前記座標系設定指令により座標系を第１の座標系から第２の座標系への変更することが指示された時の前記第１の座標系における工具位置の座標値と前記座標系設定指令に含まれる座標値との差分を求める演算手段と、該演算手段の演算結果を記憶するメモリと、前記第２の座標系を前記第１の座標系に戻すことを指示する座標系シフトキャンセル指令が与えられた時の前記第２の座標系における工具の座標値と前記メモリに記憶されている差分とを加算する加算手段と、座標系を設定する座標系設定手段とを備え、該座標系設定手段が、前記座標系設定指令が与えられた時は該座標系設定指令に含まれる座標値が工具位置の座標値となる座標系を設定し、前記座標系シフトキャンセル指令が与えられた時は前記加算手段の加算結果が工具位置の座標値となる座標系を設定する数値制御装置における座標系設定方式がある（例えば特許文献１参照）。
但し、これは数値制御装置における座標系設定方式であって、本願が対象とする工具補正キャンセルに係るものではない。
【特許文献１】特開昭６０−１４２７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、図６〜図８で説明したものは、工具補正をキャンセルしたとき、Ｚ軸の解析系終点（epoint）が３００であり、また前回ブロックの解析時にＺ軸に１０ｍｍの工具長補正をかけておりその値が次回ブロックのための解析系始点２３２（spoint）として保存されているため、今回ブロックのＺ軸の解析系始点２３２（spoint）が３１０となる。その結果、工具長補正量の分“１０”だけＺ軸に移動が発生することになる。なお、キャンセルブロックで補正量分の移動が発生すると、工具がワ−クに突っ込んでしまうなどの不都合が生じる。
【００１０】
この発明は上述した課題を解決するためになされたもので、補正をキャンセルしても、軸が移動せず補正のモ−ドだけをキャンセルすることができる数値制御装置を得ることを目的としている。
【課題を解決するための手段】
【００１１】
この発明は、工具補正機能をもつ数値制御装置において、工具補正をキャンセルしたときに、補正量分の軸移動をせず、補正のモ−ドだけをキャンセルする手段を設けたものである。
【００１２】
またこの発明は、加工プログラムを解析し生成したプログラム終点に対し、工具補正をかけた補正終点を生成し、この補正終点を解析系終点として、予め保存されている前回ブロックの解析系始点とともに補間部に渡すとともに、この解析系終点を次回ブロックの解析系始点として保存する解析部と、この解析部から渡された解析系始点と解析系終点との差分を軸移動量として補間するとともに最終的なモ−タ指令位置終点を保管する補間部とを備え、補正キャンセル指令があったとき、前記解析系終点が、予め保存されている解析系始点と同一となるよう補正する相殺量計算部を前記解析部に設けたものである。
【００１３】
またこの発明は、加工プログラムを解析し生成したプログラム終点を解析系終点として補間部に渡す解析部と、この解析部から渡された解析系終点に対し工具補正をかけて補間系終点を生成するとともにこの補間系終点を次回ブロックの補間系始点として保存し、且つこの補間系終点と予め保存されている前回ブロックの補間系始点との差分を軸移動量として補間するとともに最終的なモータ指令位置終点を保存する補間部とを備え、補正キャンセル指令があったとき、前記解析部は、加工プログラムの先読みを禁止し、解析系始点及び解析系終点に前回ブロックの解析系終点をセットして前記補間部に渡すように構成したものである。
【００１４】
またこの発明は、加工プログラムを解析し生成したプログラム終点を解析系終点として補間部に渡す解析部と、この解析部から渡された解析系終点に対し工具補正をかけて補間系終点を生成するとともにこの補間系終点を次回ブロックの補間系始点として保存し、且つこの補間系終点と予め保存されている前回ブロックの補間系始点との差分を軸移動量として補間するとともに最終的なモータ指令位置終点を保存する補間部とを備え、補正キャンセル指令があったとき、前記解析部は、加工プログラムの先読みを禁止し、解析系始点及び解析系終点に前回ブロックの解析系終点をセットして前記補間部に渡すとともに、前記補間部に対し前記モータ指令位置終点の取得を要求し、前記補間部は、前記解析部から渡された解析系始点と解析系終点との差分から軸の移動がないと判断するとともに、前記モータ指令位置終点を前記解析部に渡すように構成したものである。
【発明の効果】
【００１５】
この発明によれば、工具補正の方式によらず、補正のモ−ドだけをキャンセルし、軸移動を伴わないキャンセル指令を実行することができるという効果がある。
【発明を実施するための最良の形態】
【００１６】
実施の形態１.
以下この発明の実施の形態１を、図１を用いて説明する。
即ち、図１に示すように、基本パス生成部２１０に相殺量計算部２１２を設けたものである。なおその他の構成は、図６に示すものと同様である。
この相殺量計算部２１２は、工具補正キャンセル指令（Ｇ４９）が指令されたときのみ動作するものであり、現在使用している工具番号を数値制御装置２００が覚えているので、この工具番号に対応する工具補正量（この実施の形態の場合はＺ軸にかける１０ｍｍの工具補正量）を、工具補正量を記憶した工具補正量記憶メモリから読み出すことにより、前回ブロックでかけたＺ軸の１０ｍｍの工具長補正分を相殺するためのデ−タ(Ｘ,Ｙ,Ｚ)=(０,０,１０)を生成し、この生成したデ−タとプログラム終点２１１（epoint０）（前回と同じ値である２００,１００,３００)とを足し合わせることにより、工具補正がない状態で、(Ｘ,Ｙ,Ｚ)=(２００,１００,３１０)の指令をされた状態を作り出している。
【００１７】
この結果、工具補正キャンセル指令（Ｇ４９）により演算ル−トとして補正パス生成部２２０を通らなくなっても、解析系終点２３１（epoint）と解析系始点２３２（spoint）とが一致するようになり、補間部２４０におけるモ−タの移動量２４１（leng）が「０」となる。従って、工具長補正キャンセルを行っても、モ−タは移動しない。
なお、この実施の形態の場合、工具補正キャンセル指令を読み込んだとしても、それ以後のブロックの先読みを実行できる。このことを換言すれば、ブロックの先読みを実行したとしても、工具補正キャンセル指令（Ｇ４９）以降のブロック解析に何等支障をきたさない。
【００１８】
実施の形態２.
実施の形態１では、解析部２０１で工具補正をかけるものにおいて、工具補正キャンセルを行っても、モ−タが移動しない構成について説明した。
ところで、近年の多軸制御の進歩に伴い、工具補正の種類も多様化している。例えば、従来からある工具長補正、工具径補正に加えて、工具先端点制御、３次元工具径補正など、さまざまな補正が開発されてきている。そして、これらの補正の中には、解析部ではなく補間部に補正量の計算を行わせている機能も存在する。
この実施の形態２では、図５を用いて、補間部で補正量の計算を行わせるものにおいて、補正量キャンセルを行っても、モ−タが移動しない構成について説明する。
【００１９】
この実施の形態２の理解を助けるため、先ず、図２及び図３を用いて補間部で補正量の計算を行わせる一般的な構成について説明し、次に図４を用いて、図２で示すもの（補間部で補正量の計算を行わせるもの）に、単純に実施の形態１で説明した技術思想を適用するだけでは不都合が生じることを説明し、最後に図５を用いて、補間部で補正量の計算を行わせるものにおいて、補正量キャンセルを行っても、モ−タが移動しない構成について説明する。
なお、図２は工具先端点制御の計算のフロ−であり、また図３は実物のイメ−ジを示す。
またここでは、Ｘ,Ｙ,Ｚ,Ｂ,Ｃの５軸を有し、工具先端の位置を(Ｘ,Ｙ,Ｚ)で、姿勢を(Ｉ,Ｊ,Ｋ)で表すことを想定している。(Ｉ,Ｊ,Ｋ)には工具補正ベクトルの(Ｘ,Ｙ,Ｚ)成分の比率が入る。また、長さが１０ｍｍの工具をつけているものとする。
【００２０】
加工プログラム２０１におけるＮ０１１のブロックを読み込むと、解析部２０２の基本パス生成部２１０はプログラム終点２１１（epoint０）に、(Ｘ,Ｙ,Ｚ)=(１００, １００, １００)という座標値をセットする。さらに、姿勢ベクトルとして、(Ｉ,Ｊ,Ｋ)=(１,０,１)をセットする。解析部２０２では補正を行わないので、プログラム終点２１１がそのまま解析系終点として補間部２４０に渡されることになる。
【００２１】
補間部２４０の補正パス生成部２４３では、まず姿勢ベクトルから工具補正ベクトル(１０*sin４５°, ０, １０*Cos４５°)を求め、補正終点２４４（epoint１）をセットする。このとき同時に、工具姿勢を実現するための回転軸ＢとＣの角度も求まる。このようにして補正パス生成部２４３は補正終点２４４（epoint１）を計算する。
【００２２】
補正パス終点は他に補正が必要なければそのまま補間部２４０の最終的な補間系終点２４５（epoint）となる。なお、今回生成した補間系終点２４５（epoint）は次ブロック補間時の補間系始点２４６（spoint）として保存される。そして補間系終点２４５（epoint）と補間系始点２４６（spoint = 前ブロックのepoint）との差分がモ−タ移動量２４１（leng）としてセットされる。以後は、図１で示した数値制御と同様に、モ−タ移動量２４１（leng）を補間し、モ−タ指令位置終点２４２（mot_epoint）が補間部２４０のメモリにセットされる。
【００２３】
ところで図２の状態から前記の手法（図１で説明した、補正キャンセルによる移動を相殺する計算部分を解析部に設けること）で「工具が移動しないキャンセル」を実現しようとすると、図４のようなフロ−になる。即ち、工具先端点制御キャンセル指令（Ｎ１２  Ｇ４９）のブロックでは軸の座標値が指令されてないので、前回ブロックのプログラム終点(Ｘ,Ｙ,Ｚ)と前回の姿勢ベクトル(Ｉ,Ｊ,Ｋ)を土台に相殺量計算部２１２で、補間部２４０が行ってきた補正量計算を再現する必要がある。しかし、実際には以下に示すような理由により、解析部２０２に相殺量計算部２１２を設ける方法は失敗してしまう。
【００２４】
第１の要因は、工具先端点制御において、姿勢を実現するための回転軸角度のペアには２通りの解が出てしまうということである。例えば(Ｉ,Ｊ,Ｋ)=(１,０,１)の姿勢を実現するには、(Ｂ,Ｃ)のペアとして、(４５, ０)と(−４５, １８０)の２通りのペアが算出されてしまう。通常は、前ブロックの角度からの移動量が少なくなるペアを選ぶが、解析部２０２では前ブロックの角度を把握していないので、どちらのペアを選んだらいいかを判断できない。そのため、補正にかかわる軸は全て、座標値が不定（図４では「？」で表している）になってしまう。
【００２５】
第２の要因は、丸め誤差である。工具先端点制御や３次元工具径補正などの工具補正は、多くの場合三角関数演算を用いることになるが、２つ以上の補正を組み合わせて使っている時は、それぞれの補正で丸め誤差を作ってしまう。したがって、補正全体で発生した丸め誤差を、相殺量計算部で補償するのは大変困難になってしまう。
【００２６】
そこでこの発明の実施の形態２は、図５に示すように構成したものである。この図に示す構成によれば、補間部２４０で補正量の計算を行わせている状態において、補正量キャンセルを行っても、モ−タが移動しない。
以下、図５を用いてこの発明の実施の形態２を詳述する。
なお、この実施の形態２では、図２で説明したものの工具先端点制御のキャンセルに対して、解析部２０２と補間部２４０がどのように動作するかを説明する。
またこの実施の形態２では、キャンセル直前のブロックにおける解析部２０２と補間部２４０の状態は、図２のようになっているものとする。
【００２７】
図５において、解析部２０２が加工プログラム２０１の工具先端点制御キャンセル指令（Ｎ０１２ Ｇ４９）を読み込むと、１回目の解析（ステップ１）では、（キャンセル指令によって先読み解析して得られる結果を捨てることになるので、その無駄を避けるため）まず先読みを禁止して、次に解析系始点と解析系終点に前回ブロックで解析系が出した解析系終点（図２の２１１）をセットする。前回ブロックにおいて、Ｂ軸とＣ軸の始点・終点は解析系で計算していないので、とりあえず０をセットする。全軸において始点＝終点という出力をすることが重要であり、値自体には意味がない。このようにして、始点＝終点という解析系出力（１１１）が作られる。
解析部２０２はさらに、補間部２４０に対して、モ−タ位置取得要求をＯＮする（１１２）。
【００２８】
解析部２０２から渡された始点・終点に対して、補間部２４０はまず、解析系始点と解析系終点の差分をとり、今回のブロックでは差分＝０、つまりモ−タの移動がないと判断する（ステップ２）。従って、補間部２４０がつくるモ−タ指令位置終点（１２２）は前回ブロックのままであり（ステップ３）、今回のブロックにおいてモ−タの移動は発生しない。
【００２９】
補間部２４０はさらに、モ−タ位置取得要求がＯＮであることを認識し（ステップ４）、軸移動が完了するまで、待機ル−プに入る（ステップ５）。今回のブロックではモ−タの移動はないので、待機ル−プは即刻抜けることになる。
【００３０】
待機ル−プから抜けたら、解析部２０２にモ−タ指令位置終点（１２２）を伝えるためのバッファ（１３１）をセットし（ステップ６）、解析部２０２に対して、Ｇ４９のブロックの再計算を行うように起動をかける（ステップ７）。
【００３１】
補間部２４０からの再計算起動を受けて、解析部２０２はプログラム始点・プログラム終点、および解析系始点・解析系終点に補間部２４０から教えてもらったモ−タ指令位置終点（１２２）をコピ−する（１４１）。ここまでで、「移動しないキャンセル」の処理は完了する。
なお、このモ−タ指令位置終点（１２２）は、例えば図６に示すような、補正キャンセルブロック以降のブロックで、解析部２０２で工具補正を行う際のデータとして使用される。
【産業上の利用可能性】
【００３２】
この発明に係る数値制御装置は、多種類の工具補正機能を持ち、連続した加工プログラムにおいて、工具補正方式を切り替えて使用するのに適している。
【図面の簡単な説明】
【００３３】
【図１】この発明の実施の形態１に係る数値制御装置の構成を表すブロック図である。
【図２】補間部で工具補正量の計算を行う数値制御装置において、加工プログラムからモ−タアンプに渡す指令位置を作るまでの手順を表すブロック図である。
【図３】図２の補正状態にある工具の実物のイメ−ジである。
【図４】補間部で工具補正量の計算を行う数値制御装置において、この発明の実施の形態１に係る思想を用いて、補正量を解析系で相殺する手順を表すブロック図である。
【図５】この発明の実施の形態２に係る数値制御装置の構成を表すブロック図である。
【図６】解析部で工具補正量の計算を行う数値制御装置において、加工プログラムからモ−タアンプに渡す指令位置を作るまでの手順を表すブロック図である。
【図７】図６の補正状態にある工具の実物のイメ−ジである。
【図８】解析部で工具補正量の計算を行う数値制御装置において、補正をキャンセルした際に移動が発生することを説明するブロック図である。
【符号の説明】
【００３４】
２０１  加工プログラム、２０２  解析部、２１０  基本パス生成部、２１１  プログラム終点、２１２  相殺量計算部、２２０  補正パス生成部、２２１  補正終点、２３１  解析系終点、２３２  解析系始点、２４０  補間部、２４１  モ−タ移動量、２４２  モ−タ指令位置終点、２４３  補正パス生成部、２４４  補正終点、２４５  補間系終点、２４６  補間系始点、１１１  解析系終点＝解析系始点、１１２  モ−タ位置取得要求、１２１  モ−タ移動量、１２２  モ−タ指令位置終点、１４１  解析系終点＝解析系始点。
【図１】
2006277516.tif 000003
【図２】
2006277516.tif 000004
【図３】
2006277516.tif 000005
【図４】
2006277516.tif 000006
【図５】
2006277516.tif 000007
【図６】
2006277516.tif 000008
【図７】
2006277516.tif 000009
【図８】
2006277516.tif 000010