(57)【要約】【課題】安価な２次元ＣＡＭで作成できる２次元の自由形状プログラムを利用し、複雑なランプ加工用のプログラム作成を容易にするＮＣ装置を得ること。【解決手段】切削工具３を被加工物の平面に対して一定角度にして沈める移動経路を有する加工指令を備えたＮＣ加工装置であって、切削工具３の移動経路を、Ｘ，Ｙ平面に対して投影した投影経路とし、該投影経路を用いてＸ，Ｙ軸指令を微小線分、微小円弧とを用いて定め、Ｘ，Ｙ軸指令に対応したＺ軸指令の開始位置、終了位置、前記切削工具の侵入する角度、該角度を一定とする加工指令を記憶した記憶手段１０２と、該Ｘ，Ｙ軸指令の微小線分、微小円弧、角度に基いてＺ軸指令を生成し、Ｘ，Ｙ軸指令と共に、切削工具３の移動指令を生成する移動指令作成手段と、を備えたものである。【選択図】      図１
2005011293.tif 000002
【特許請求の範囲】
【請求項１】
切削工具を被加工物の平面に対して一定角度にして沈める移動経路を有する加工指令を備えたＮＣ加工装置であって、
前記切削工具の移動経路を、前記Ｘ，Ｙ平面に対して投影した投影経路とし、該投影経路を用いてＸ，Ｙ軸指令を微小線分、微小円弧とを用いて定め、前記Ｘ，Ｙ軸指令に対応した前記Ｚ軸指令の開始位置、終了位置、前記切削工具の侵入する角度、該角度を一定とする前記加工指令を記憶した記憶手段と、
該Ｘ，Ｙ軸指令の前記微小線分、前記微小円弧、前記角度に基いて前記Ｚ軸指令を生成し、前記Ｘ，Ｙ軸指令と共に、前記切削工具の移動指令を生成する移動指令作成手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記加工指令は、前記Ｘ，Ｙ軸指令の開始となるＸ，Ｙ座標の第１の位置と、終了となる前記Ｘ，Ｙ座標の第２の位置とが一致しており、
前記第１の位置と、前記第２の位置とが一致していると共に、前記Ｚ軸指令の位置が終了位置と一致したことを判定する判定手段と、
該判定手段の結果が不一致の場合には、前記第１の位置と第２の位置とが一致すると共に、Ｚ軸指令の位置が終了位置まで、前記移動指令により前記切削工具を移動する継続手段と、
を備えたことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記加工指令は、前記Ｘ，Ｙ軸指令の開始となるＸ，Ｙ座標の第１の位置と、終了となる前記Ｘ，Ｙ座標の第２の位置とが不一致しており、
前記加工指令に基いて前記移動指令を前記第２の位置に実行させた後、前記切削工具の移動を停止する停止手段と、
備えたことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値と符号・記号で構成される数値情報を基に機械の運転を自動制御する数値制御（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）装置（以下、適宜ＮＣ装置という）に関するもので、詳しくは、ある平面に対して一定の傾斜を持つ自由曲線の加工を行うためのプログラム作成を容易にする機能に関するものである。
【０００２】
【従来の技術】
ＮＣ装置を用いて、加工物を加工する際に、特開平７−２４４５１８号公報に記載のように切削工具そのものをＺ軸に対して傾ける技術がある。当該技術と異なり切削工具そのものの傾きを一定にしたまま、切削工具を加工物に進入させるためのアプローチ手段として、工具をある平面（例えばＸＹ平面）に対して一定角度で加工物に斜めに沈めていくという方法がある。
また、加工物にポケット状の加工をする場合や、加工物の輪郭を加工する手段として、ヘリカル状に工具を移動させる方法がある。かかる場合も、工具を加工物に対して一定角度で斜めに沈めていくことなる。これらの加工は、ヘリカル加工、ランプ加工、斜め沈み加工などと呼ばれ、この時の最大進入角度は工具の仕様によって決まる。これらの加工の総称をランプ加工と呼ぶこととする。
【０００３】
前記ランプ加工を行うための加工プログラムは、工具の通過すべき点の３次元座標が連続的に記述されている必要がある。従来の技術で、こうしたプログラムを作成する場合、ユーザが全ての点の３次元座標を計算しながら作成するか、あるいは３次元の微小線分プログラムを自動生成するためのＣＡＭ（以下、三次元ＣＡＭという）を用いて自動生成させてきた。
【０００４】
【発明が解決しようとする課題】
しかしながら、ヘールバイトのアプローチやポケット加工、または輪郭加工を行う場合、その工具経路を平面に投影した形状が複雑な形となっていることが多い。かかる場合、その平面形状を微小な（数μｍ〜数ｍｍ）線分や円弧のブロックでつなぎつつ、各ブロックがある平面と一定角度になるような３次元の微小線分プログラムを作成しなければならい。
しかしながら、３次元の微小線分プログラムを自動生成するためのＣＡＭは、それ自体が高価なものであるので、設備投資を必要としていた。かといって、プログラム作成者が計算にて工具の通過点座標を求めるのは膨大な作業量が発生していた。
【０００５】
そこで、本発明は、上記の課題を解決するためになされたもので、安価な２次元ＣＡＭで作成できる２次元の自由形状プログラムを利用し、複雑なランプ加工用のプログラム作成を容易にするＮＣ装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記従来の課題を解決するために、
本発明に係る数値制御装置は、切削工具を被加工物の平面に対して一定角度にして沈める移動経路を有する加工指令を備えたＮＣ加工装置であって、前記切削工具の移動経路を、前記Ｘ，Ｙ平面に対して投影した経路をＸ，Ｙ軸指令を微小線分、微小円弧とを用いて定め、前記Ｘ，Ｙ軸指令に対応した前記Ｚ軸指令の開始位置、終了位置、前記切削工具の侵入する角度、該角度を一定とする前記加工指令を記憶した記憶手段と、該Ｘ，Ｙ軸指令の前記微小線分、前記微小円弧、前記角度に基いて前記Ｚ軸指令を生成し、前記Ｘ，Ｙ軸指令と共に、前記切削工具の移動指令を生成する移動指令作成手段とを備えたことを特徴とするものである。
かかる数値制御装置によれば、切削工具が所謂ランプ加工する際に、前記Ｘ，Ｙ平面に対して投影した経路をＸ，Ｙ軸指令を微小線分、微小円弧とを用いて定め、前記Ｘ，Ｙ軸指令に対応した前記Ｚ軸指令の開始位置、終了位置、前記切削工具の侵入する角度、該角度を一定とした加工指令を作成する。したがって、２次元ＣＡＭで作成できる２次元の自由形状プログラムを利用して加工指令を作成できると共に、該加工指令に基いて被加工物をランプ加工できるという効果がある。
【０００７】
他の発明に係る数値制御装置は、Ｘ，Ｙ軸指令の開始となるＸ，Ｙ座標の第１の位置と、終了となる前記Ｘ，Ｙ座標の第２の位置とが一致する加工指令を有しており、前記第１の位置と、前記第２の位置とが一致していると共に、前記Ｚ軸指令の位置が終了位置と一致したことを判定する判定手段と、該判定手段の結果が不一致の場合には、前記第１の位置と第２の位置とが一致すると共に、Ｚ軸指令の位置が終了位置まで、前記移動指令により前記切削工具を移動する継続手段と、を備えたことを特徴とするものである。
かかる数値制御装置によれば、判定手段の結果が不一致の場合には、継続手段が第１の位置と第２の位置とが一致すると共に、Ｚ軸指令の位置が終了位置まで、移動指令により切削工具を移動する。したがって、切削工具を例えばＸ，Ｙ平面に対して一定角度で加工物に斜めに沈める加工を、連続して行なえるという効果がある。
【０００８】
他の発明に係る数値制御装置は、Ｘ，Ｙ軸指令の開始となるＸ，Ｙ座標の第１の位置と、終了となる前記Ｘ，Ｙ座標の第２の位置とが不一致となる加工指令を有しており、前記加工指令に基いて前記移動指令を前記第２の位置に実行させた後、前記切削工具の移動を停止する停止手段と、を備えたことを特徴とするものである。
かかる数値制御装置によれば、前記加工指令に基いて前記移動指令を前記第２の位置に実行させた後、前記切削工具の移動を停止する。したがって、作業者が被加工物の加工状況を目視できるので、被加工物の加工状況を確認できるという効果がある。
【０００９】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態を図１ないし図４によって説明する。図１は実施の形態に係るＮＣ装置の輪郭加工図、図２は実施の形態に係るＮＣ装置のアプローチ加工図、図３は実施の形態に係るランプ加工モード指令のプログラムの書式例を示す図、図４は実施の形態に係るＮＣ装置の加工プログラムの一例を示す図、一実施形態のＮＣ装置のブロック図である。
図１及び図２において、３軸制御の縦型マシニングセンタにおいて、ＸＹ平面に対して一定の角度で切削工具としてのエンドミル３が加工物に進入するようなランプ加工、すなわち、図１では、エンドミル３での輪郭加工、図２ではヘールバイト１３のアプローチを行う場合を例に説明する。
【００１０】
＜基本加工プログラムの作成＞
まず、本加工を行うためのプログラム作成方法について説明する。ユーザは、図１又は図２の工具経路をＸＹ平面に投影した形状についてのプログラムを作成する。即ち、ＸＹ指令による微小線分と微小円弧を組み合わせた２次元微小線分プログラムを２次元ＣＡＭにより作成する。作成された微小線分プログラムの前後を図３で示すような書式のＧ１００とＧ１０１の２ブロックで囲む。
【００１１】
ここで、Ｇ１００ブロックは、▲１▼ランプ加工モードをオンにする（つまり本ブロック以降では、プログラム中にＺ指令は直接記述されていないが、工具がＸＹ平面と一定の角度で進入するようにＺ軸の移動を付加しながら加工を行う）、▲２▼アドレスＡにて工具の進入角度を指定する、▲３▼アドレスＺにて工具の目標位置を指定する、の３つの意味を持っている。
一方、ＧＧ１０１ブロックは、▲１▼ランプ加工モードをキャンセルする（よって、本ブロック以降では通常の制御による動作となる）、という意味を持つ。このようにして作成したプログラムの例を図４に示す。
図４において、第２行目のＧ０１が直線を示し、ＧＯ２（図示せず）が円弧を示しており、第３行目の「Ｘ０．０５、Ｙ０．０５」、第４行目「Ｘ０．０７、Ｙ０．０６」等がＸ，Ｙ平面に対して投影した経路を、Ｘ，Ｙ軸指令として微小線分で示したものである。なお、微小円弧を示す場合には、上記ＧＯ２を用いて記述することになる。
【００１２】
＜基本加工プログラムの動作＞
次に、図４のプログラムを実行した時の動作について説明する。シーケンス番号Ｎ１００のＧ１００指令を実行するとランプ加工モードがオンとなる。即ち、以降のブロックでは、プログラムで指令されたＸＹ座標と、且つそのブロックとＸＹ平面の成す角がＧ１００指令のアドレスＡにて設定された角度になるＺ座標とで決まる点を通過するように軸移動が行われる。このＺ方向の軸移動は、Ｇ１００指令のアドレスＺで設定された目標位置になるまで行われる。
なお、進入角度の正負については、Ｇ１００ブロック実行時の現在位置と目標位置から自動判別される。シーケンス番号Ｎ２００のＧ１０１指令を実行すると、ランプ加工モードはキャンセルされる。即ち、以降のブロックでは従来の制御による軸移動が行なわれる。また、Ｇ１０１指令を実行する時のＺ座標が、Ｇ１００指令のアドレスＺにて設定された目標位置に達していない場合、Ｇ１００指令とＧ１０１指令とで囲まれたプログラムの形状により、次のいずれかの動作を行う。形状が、図１のように閉じた図形の場合、Ｇ１００直後のブロックへループする。一方、形状が図２のように開いた図形の場合、アラームとなる。
【００１３】
＜上記基本プログラムを組み込んだＮＣ装置＞
次に、上記基本プログラムを組み込んだＮＣ装置の全体構成を図５によって説明する  。図５は、一実施例のＮＣ装置の全体構成を示すブロック図である。
ＮＣ装置は、プログラム解析部１０１、補間処理部１０６を主要な構成としており、機械操作パネルより自動運転開始信号が入力されると機械信号制御部（図示せず）はプログラム解析部１０１に対し起動要求を発信するように構成されている。
【００１４】
プログラム解析部１０１は、他の処理部からの起動要求にて起動し、ＮＣ装置内のメモリ上に格納された加工プログラム１０２から１ブロック読出し・解析を行う。次に、その解析結果から指令データテーブル１０３を作成し、さらに、移動指令がある場合は、指令データテーブル１０３を基に移動指令データテーブル１０４を作成する。読み出しブロックの解析する際、Ｇ１００指令があると判定された場合は、Ｇ１００テーブル１０５を作成し、Ｇ１００フラグをオンにするように構成されている。
また、Ｇ１００フラグがオンになっている間は、指令データテーブル１０３の作成処理にて、そのブロックのベクトルがＧ１００テーブル１０５に設定された進入角度になるようにＺ方向の移動量を算出し、指令データテーブル１０３に付加する。
【００１５】
補間処理部１０６は、ある一定周期（例えば１０ｍｓｅｃ）で起動され、移動指令データテーブル１０４に基づき各軸の単位時間あたりの移動量１０７を算出し、サーボＩ／Ｏ処理部（図示せず）に出力する。前記単位時間あたりの移動量１０７の算出処理にて、Ｇ１００テーブル１０５のＧ１００フラグがオンになっていると判定された場合は、現在位置カウンタ１０８とＧ１００テーブル１０５に設定された目的Ｚ位置とを比較しながら、目的位置を越えないように移動量１０７を計算するように構成されている。
【００１６】
次に、プログラム解析部１０１と補間処理部１０６の処理フローの詳細を図６及び図７によって説明する。図６、図７はプログラム解析部のフロー図、図８は補間処理部のフロー図である。まず、プログラム等解析部１０１の処理フローを説明をする。プログラム解析部１０１は、他の処理部からの起動要求により起動し、起動後は次のように処理が進んでいく。
【００１７】
▲１▼図６のプログラム読出し・解析手段は、メモリに記憶されている加工プログラム１０２を読出し、ポインタ２０３が示す位置から１ブロック読出す。続けて、読み出したブロックを解析し、アドレステーブル２０４の各アドレスに対して数値データを書き込み、読出しポインタ２０３を次の位置に更新する（ステップＳ２０１）。
【００１８】
プログラム読出し・解析手段は、上記解析中のブロック内にＧ１００指令があるか否かを判断し（ステップＳ２０２）、Ｇ１００指令があれば、Ｇ１００解析手段（詳細フローは後述）が、Ｇ１００テーブル２０６を作成し、Ｇ１００テーブルのＧ１００フラグをオンにしてからプログラム読出し手段に処理を戻す（ステップＳ２０５）。
プログラム読出し・解析手段は、上記解析中のブロック内にＧ１００指令があるか否かを判断し（ステップＳ２０７）、解析中のブロックにＧ１０１指令があったなら、Ｇ１０１解析手段（詳細フローは後述）は、Ｇ１００テーブル２０６と現在位置カウンタ２０８を基にアラーム発生させたり、または、読出しポインタ２０３を更新しプログラム読出し手段に処理を戻したりする（ステップＳ２０９）。
【００１９】
▲２▼続いて、図７の指令テーブル作成手段は、準備機能、各軸の指令終点座標、そして指令送り速度などをデータに持つ指令テーブル２１０を作成する（ステップＳ２１１）。これらのデータは、アドレステーブル２０４のデータとパラメータメモリ（図示せず）に記憶されている軸名称パラメータなどにより決定される。
【００２０】
指令テーブル作成手段は、Ｇ１００テーブル２０６のＧ１００フラグがオンしているか否かを判断し、オンならば（ステップＳ２１３）、指令テーブル更新手段（詳細フローは後述）は、Ｚ軸の現在位置とＧ１００テーブル２０６の目標Ｚ位置を比較する（ステップＳ２１４）。Ｚ軸の現在位置が目標位置に未到達の場合、このブロックのベクトルが、ＸＹ平面に対しＧ１００テーブル２０６で指定された進入角度になるよう指令テーブル２１０の指令終点座標にＺ座標を付加する。さらに、必要に応じて指令テーブル２１０の準備機能（補間モード）を変更する。
一方、Ｚ軸の現在位置が目標Ｚ位置に既に到達している場合は、Ｇ１００テーブル２０６のＧ１００フラグをオフにする。▲３▼最後に、移動指令テーブル作成手段が、このブロックでの合成移動量、軸比、円弧の中心、半径、弧長などをデータに持つ移動指令テーブル２１５を作成し、移動指令テーブル作成完了フラグ２１９をオンにする（ステップＳ２１７）。
【００２１】
次に補間処理部１０６の処理フローを図８によって説明をする。補間処理部１０６は、単位時間（例えば１０ｍｓｅｃ）で周期的に起動しており、次のように処理が進んでいく。▲１▼図８の補間準備手段は、前記移動指令テーブル作成完了フラグ２１４と移動完了フラグ３０２をチェックし、両フラグがオンしていれば、前記移動指令テーブル２１３を実行テーブル３０３にコピーする。同じく、前記Ｇ１００テーブル２０６をＧ１００実行テーブル３０４にコピーする。続いて、移動完了フラグ３０２をオフしてから、プログラム解析部１０１に対し起動要求を発信する（ステップＳ３０１）。
【００２２】
▲２▼次に補間データテーブル算出手段は、実行テーブル３０３の解析を行い、各軸の単位時間あたりの移動量を算出し、その結果を補間データテーブル３０６にセットする（ステップＳ３０５）。この時、Ｇ１００実行テーブル３０４のＧ１００フラグがオンしているか否かを判断し、オンならば（ステップＳ３０６）、補間データテーブル更新手段は、Ｇ１００実行テーブル３０４に記されている目標Ｚ位置から現在位置を減じた値と補間データテーブル３０６のＺ軸補間データとを比較し、小さい方で補間データテーブル３０６のＺ軸補間データを更新する（ステップＳ３０７）。
【００２３】
▲３▼次に、移動データ出力手段は、サーボＩ／Ｏ処理部（図示せず）へ移動量を出力する。さらに、実行テーブル３０３の合成移動量からサーボＩ／Ｏ処理部へ出力した合成量を減じておく。減じた結果、実行テーブル３０３の合成移動量がゼロになった場合、移動完了フラグ３０２をオンにする（ステップＳ３１１）。
【００２４】
次に、各手段の詳細フローを図９ないし図１１によって説明する。まず、図９にてＧ１００解析手段のフローを説明する。アドレステーブル２０４のＡの値をＧ１００テーブル２０６の進入角度にコピーする（ステップＳ１００１）。次に、アドレステーブル２０４のＺの値をＧ１００テーブル２０６の目的Ｚ位置にコピーする（ステップＳ１０１１）。次に、現在の機械座標値をＧ１００テーブル２０６のスタート座標にセーブし（ステップＳ１０２１）、現在の読出しポインタをＧ１００テーブル２０６のスタート読出しポインタにセーブする（ステップＳ１０３１）。次に、Ｇ１００テーブル２０６のスタート座標と目的Ｚ位置の関係から進入角度の正負を決定する（ステップ  Ｓ１０４１）。最後にＧ１００テーブル２０６のＧ１００フラグをオンにして（ステップＳ１０５１）処理を終了する。
【００２５】
次に、図１０にてＧ１０１解析手段のフローを説明する。まず、Ｇ１００テーブル２０６のＧ１００フラグをチェックする（ステップＳ２００１）。フラグがオンの場合、まだ目的位置まで工具が達していないことを意味しているので、次のステップへ進む。オフの場合は、既に目的位置まで工具が達していることを意味しているので、ここまま処理を終了する。次の形状チェックで、現在座標（Ｘ，Ｙ）とＧ１００テーブル２０６のスタート座標（Ｘ，Ｙ）を比較する（ステップＳ２０１１）。座標が一致すれば、それはＧ１００ブロックとＧ１０１ブロックで囲んだ形状が図１のような閉形状であることを意味する。すなわち、切削工具３の移動経路を、Ｘ，Ｙ平面に対して投影した投影経路とし、該投影経路を用いてＸ，Ｙ軸指令を微小線分、微小円弧とを用いて定めている。ここで、切削工具３の移動指令を生成する加工指令は、Ｘ，Ｙ軸指令の開始となるＸ，Ｙ座標の第１の位置と、終了となるＸ，Ｙ座標の第２の位置とが一致していることを意味する。不一致であれば、図２のような開形状であることを意味する。閉形状の場合は、再度Ｇ１００ブロックの次ブロックより再開するために、読出しポインタ２０３をＧ１００テーブル２０６の読出しポインタのバックアップで更新する（ステップＳ２０２１）。開形状の場合、切削工具３の移動指令を生成する加工指令は、Ｘ，Ｙ軸指令の開始となるＸ，Ｙ座標の第１の位置と、終了となるＸ，Ｙ座標の第２の位置とが不一致であることを意味する。すなわち、加工指令に基いて移動指令を第２の位置に実行させた後、切削工具３の移動を停止手段としてのアラームとし（ステップＳ２０３１）処理を終了する。すなわち、切削工具３の移動を停止する。
【００２６】
次に、図１１にて指令テーブル更新手段のフローを説明する。現在座標（Ｚ）とＧ１００テーブル２０６の目的Ｚ位置を比較する（ステップＳ３００１）。一致している場合、Ｇ１００テーブルのＧ１００フラグをオフして（ステップＳ３０１１）処理を終了する。不一致の場合は、Ｚの移動量を算出し（ステップＳ３０２１）、指令テーブル２１０の終点座標Ｚにセットする（ステップＳ３０３１）。次に、指令テーブル２１０の補間モードをチェックする（ステップＳ３０４１）。補間モードが直線の場合は、このまま処理を終了する。補間モードが円弧の場合は、指令テーブル２１０の補間モードをヘリカル補間に更新し（ステップＳ３０５１）処理を終了する。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＮＣ装置の輪郭加工図である。
【図２】本発明の実施の形態に係るＮＣ装置のアプローチ加工図である。
【図３】本発明の実施の形態に係るＮＣ装置のランプ加工モード指令のプログラム書式例を示す図である。
【図４】本発明の実施の形態に係るＮＣ装置の加工プログラムの一例を示す図である。
【図５】本発明による一実施例のＮＣ装置の一構成例を示すブロック図である。
【図６】本発明の実施の形態に係るＮＣ装置によるプログラム解析部の処理フローチャートである。
【図７】本発明の実施の形態に係るＮＣ装置によるプログラム解析部の処理フローチャートである。
【図８】本発明の実施の形態に係るＮＣ装置による補間処理部の処理フローチャートである。
【図９】本発明の実施の形態に係るＮＣ装置によるＧ１００解析手段の詳細フローチャートである。
【図１０】本発明の実施の形態に係るＮＣ装置によるＧ１０１解析手段の詳細フローチャートである。
【図１１】本発明の実施の形態に係るＮＣ装置による指令テーブル更新手段の詳細フローチャートである。
【符号の説明】
３，１３  切削工具、１０２  加工プログラム（記憶手段）。
【図１】
2005011293.tif 000003
【図２】
2005011293.tif 000004
【図３】
2005011293.tif 000005
【図４】
2005011293.tif 000006
【図５】
2005011293.tif 000007
【図６】
2005011293.tif 000008
【図７】
2005011293.tif 000009
【図８】
2005011293.tif 000010
【図９】
2005011293.tif 000011
【図１０】
2005011293.tif 000012
【図１１】
2005011293.tif 000013