(57)【特許請求の範囲】
【請求項１】
指令データを記憶した加工プログラム記憶手段と、
加工範囲を設定した加工範囲設定テーブル記憶手段と、
前記指令データを前記加工範囲と比較して、前記加工範囲内の場合には該指令データによる命令を実行し、前記加工範囲外の場合には該命令を不実行とする制御手段と、
前記制御手段により制御される駆動手段と、
前記指令データによる軸移動が、前記加工範囲外から前記加工範囲内への軸移動であるかを判断し、このような軸移動であると判断された場合、その軸移動線と前記加工範囲の境界との交点又はその近傍を求め、その交点又は近傍を開始点として設定する設定手段とを備えた数値制御装置。
【請求項２】
指令データを記憶した加工プログラム記憶手段と、
加工範囲を設定した加工範囲設定テーブル記憶手段と、
前記指令データを前記加工範囲と比較して、前記加工範囲内の場合には該指令データによる命令を実行し、前記加工範囲外の場合には該命令を不実行とする制御手段と、
前記制御手段により制御される駆動手段と、
部分加工又は再加工ための前記加工範囲又は加工状況を表示するための表示手段とを備えた数値制御装置。
【請求項３】
前記制御手段は、前記加工プログラム記憶手段の前記指令データによるプログラム実行の際、前記指令データによる軸移動範囲と前記加工範囲とを比較し、前記軸移動範囲が、前記加工範囲内に全て含まれる場合はそのまま軸移動を実行し、一部だけ含まれる場合は加工範囲内の指令データに変換して軸移動を実行し、一方、加工範囲内に全く含まれない場合はその軸移動を不実行にすることを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記制御手段は、前回の前記指令データの座標値と今回の前記指令データの座標値とから前記軸移動範囲を求めることを特徴とする請求項１又は２に記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、数値制御装置に係り、特にＮＣ工作機械のプログラム実行に関する。
【０００２】
【従来の技術】
数値制御装置では、一旦加工が終了した後に部分的に再加工する必要のある場合や、加工範囲を限定して部分加工する場合がある。図９に、このような再加工又は部分加工を行なう際の説明図を示す。例えば、金型加工等において、加工対象物９１の斜線箇所９２を再加工又は部分加工したい場合を想定する。その際、例えば、斜線箇所９２に部分的に肉盛り修正を行い、その箇所だけを加工するという方策をとる。
【０００３】
現在、一般的に用いられているＮＣ加工プログラムでは、このように加工範囲を限定して行なおうとした場合、全体のプログラムを実行させる必要がある。この方法では、加工プログラムをはじめから実行して全体を加工するので、必要な加工範囲以外も含み、非常に時間がかかる。
【０００４】
そこで、従来の他の方法によると、加工範囲の限定方法としては、シーケンス番号サーチ機能やプログラムリスタート機能等により、加工プログラムの途中工程から実行する方法がある。また、プログラムのブロック中に読み飛ばしを指定するための判断記号（例えば、フラグ「１」）を付加しておき、プログラム実行時にこの該当ブロックを無視するようにしたオプショナルブロックスキップと呼ばれる方法等が採用された。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述のような従来技術では、プログラムの途中工程から実行するため又は判断記号を付加するため等に、加工プログラムそのものを編集又は修正することが不可欠である。そのため、データ作成に時間がかかるという問題があった。
【０００６】
本発明は、上記問題を解決しようとするものであり、加工プログラム中の任意の領域を限定した部分加工・再加工が容易に実現することのできる数値制御装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の数値制御装置によれば、
指令データを記憶した加工プログラム記憶手段と、
加工範囲を設定した加工範囲設定テーブル記憶手段と、
前記指令データを前記加工範囲と比較して、前記加工範囲内の場合には該指令データによる命令を実行し、前記加工範囲外の場合には該命令を不実行とする制御手段と、
前記制御手段により制御される駆動手段と、
前記指令データによる軸移動が、前記加工範囲外から前記加工範囲内への軸移動であるかを判断し、このような軸移動であると判断された場合、その軸移動線と前記加工範囲の境界との交点又はその近傍を求め、その交点又は近傍を開始点として設定する設定手段とを備える。
また本発明の数値制御装置によれば、
指令データを記憶した加工プログラム記憶手段と、
加工範囲を設定した加工範囲設定テーブル記憶手段と、
前記指令データを前記加工範囲と比較して、前記加工範囲内の場合には該指令データによる命令を実行し、前記加工範囲外の場合には該命令を不実行とする制御手段と、
前記制御手段により制御される駆動手段と、
部分加工又は再加工ための前記加工範囲又は加工状況を表示するための表示手段とを備える。
【０００８】
前記制御手段は、前記加工プログラム記憶手段の前記指令データによるプログラム実行の際、前記指令データによる軸移動範囲と前記加工範囲とを比較し、前記軸移動範囲が、前記加工範囲内に全て含まれる場合はそのまま軸移動を実行し、一部だけ含まれる場合は加工範囲内の指令データに変換して軸移動を実行し、一方、加工範囲内に全く含まれない場合はその軸移動を不実行にすることができる。
【０００９】
さらに、部分加工又は再加工のために、加工範囲を入力する入力手段、開始点を入力する入力手段、又は、開始点を自動的に設定する設定手段とをさらに備えると良い。
【００１０】
本発明の数値制御装置においては、各軸毎の加工範囲設定テーブルを設け、各指令データによる加工プログラム実行の際、各軸移動範囲と加工範囲設定テーブルに記憶された加工範囲とを各指令データ毎に常時比較して実行する。そして、指令データによる軸移動範囲が、加工範囲に全て含まれる場合はそのまま軸移動を実行し、一部だけ含まれる場合、即ち加工範囲内外にまたがった場合は加工範囲内の指令データに変換して軸移動を実行し、一方、加工範囲外に含まれる場合はその軸移動を不実行にすることにより、プログラムを変更修正せずにプログラム解析処理を実行しながら、設定された加工範囲内の加工プログラムをリアルタイム的に実行することができ、加工プログラム中の任意の領域を限定した部分加工・再加工が容易に実現することができる。
【００１１】
【発明の実施の形態】
以下本発明の実施の形態のいくつかを詳述する。
【００１２】
図１は本発明による実施の一形態にかかる数値制御装置の構成図を示す。
【００１３】
数値制御装置１は、ＮＣ加工プログラム記憶部２、ＮＣ加工プログラム解析実行部３、加工範囲設定テーブル記憶部４、出力制御部５、及び出力インターフェース部６を備えている。出力インターフェース部６には、駆動部７が接続されている。また、各種プログラム及びデータを入力する入力部８及び表示する表示部９が設けられている。
【００１４】
ＮＣ加工プログラム記憶部２には、１ブロック毎に機械の動作を命令する情報である指令データが記憶されている。これらの指令データは、通常は、ＪＩＳ  Ｂ  ６３１１で規定されたＩＳＯコードとＥＩＡコードのいずれかが用いられる。例えば、ＮＣ工作装置の指令データとしては、Ｇ機能（制御機能、準備機能）、Ｍ機能（補助機能）、Ｆ機能（送り機能）、寸法語Ｘ、Ｙ、Ｚ（Ｘ軸、Ｙ軸、Ｚ軸の運動ディメンジョン）等がある。
【００１５】
ＮＣ加工プログラム解析実行部３は、マイクロコンピュータ等で構成され、ＮＣ加工プログラム記憶部２に記憶された指令データを１ブロックずつ順次読み出し解析し、さらに、加工範囲設定テーブル記憶部４に記憶されているデータを参照して所定の動作を行う。
【００１６】
加工範囲設定テーブル記憶部４には、加工範囲を限定するために必要なデータを記憶している。これら加工範囲データの設定は、入力装置８により適宜入力することができる。
【００１７】
出力制御部５では、ＮＣ加工プログラム解析実行部３の指令により、所定の駆動部７の回転数、回転角度、回転速度、移動幅、移動速度等を指示する。
【００１８】
出力インターフェース部６は、送り速度位置制御部５の指令を所定の駆動部７に分配する。
【００１９】
駆動部７は、送りモータ等によるＮＣ工作機の回転部又は移動部等から構成される。駆動部７は、通常、サーボ機構を有し、複数の駆動装置により構成されている。出力インターフェース部６を介して送られてきた指令信号により、所定の駆動部７が駆動され、ＮＣ工作機の位置決め、移動幅、移動速度又は回転速度等が制御される。
【００２０】
入力部８は、キーボード、マウス等周知の入力装置であり、ＮＣ加工プログラム記憶部２、加工範囲設定テーブル記憶部４のプログラム又はデータの入力を行う。また、メインテナンス、障害対策等のための入力も行うことができる。
【００２１】
表示部９は、ＣＲＴ、液晶ディスプレー等の表示装置により構成され、各種のデータ、プログラム等を表示できる。また、２次元又は３次元のグラフィック機能を備えることにより、全体加工図又は部分加工図等により、必要に応じて加工範囲、加工状況等を表示することができる。
【００２２】
次にこのような数値制御装置の動作概要を説明する。
ＮＣ加工プログラム解析実行部３は、ＮＣ加工プログラム記憶部２のデータに基づき、また、加工範囲設定テーブル記憶部４を参照して、指令信号を出力する。すなわち、各指令データによる加工プログラム実行の際、各軸移動範囲と加工範囲設定テーブルに記憶された加工範囲とを各指令データ毎に常時比較して実行する。そして、指令データによる軸移動範囲が、加工範囲に全て含まれる場合はそのまま軸移動を実行し、一部だけ含まれる場合、即ち加工範囲内外にまたがった場合は加工範囲内の指令データに変換して軸移動を実行し、一方、加工範囲外に含まれる場合はその軸移動を不実行にする。加工範囲内か加工範囲外かの判断及び実行する際の変換処理については、後に詳述する。この指令信号を受けて、送り速度位置制御部５は、出力インターフェース部６を介して、送りモータ７の回転数、回転角度及び回転速度等を指令することにより、ＮＣ工作機の位置決め及び移動速度等を制御する。
【００２３】
このようにして、ＮＣ加工プログラム記憶部２のデータの内、加工範囲設定テーブル記憶部４で設定された任意の加工範囲内のみの部分加工・再加工を、容易に行うことができる。
【００２４】
図２に、ＮＣ加工プログラム記憶部２に記憶されたＮＣ加工プログラムの一例を示す。ここで、ブロック番号００では、準備機能として、初期状態がＸ座標２５００及びＹ座標−２０００に移動することを示す。ブロック番号０１では、直線補間で所定の移動速度を設定している。ブロック番号０３は、Ｘ座標２５００及びＹ座標２５００に移動することを示す。ブロック番号０４は、Ｘ座標２０００及びＹ座標変化なし、で移動することを示す。以後ブロック番号２２まで、Ｘ座標、Ｙ座標の所定値にそれぞれ移動する。最後にブロック番号２３では、プログラムの終了を示す。
【００２５】
また、図３に、加工範囲設定テーブル記憶部４に設定された加工範囲設定テーブルにおいて、長方形の加工範囲を設定する場合の一例を示す。ここでは、長方形の４隅の各座標値データを記憶することにより、加工範囲を設定したデータテーブル形式を示している。
【００２６】
図４に、本願発明に係る加工動作の詳細なフローチャートを示す。
まず、ＮＣ加工プログラム中のブロック番号００、０１の指令データを順次入力し、初期設定を行う（Ｓ１０）。次に加工範囲設定テーブルの加工範囲データを入力する（Ｓ２０）。次に、順次ＮＣ加工プログラムを１ブロックずつ入力する（Ｓ３０）。ここで、ブロック番号２３の指令データのようにプログラムエンド指令が入力されると（Ｓ４０）、実行終了になる。次に、指令データによる軸移動範囲が、加工範囲設定テーブルで設定された加工範囲に全て含まれるか否かが解析される（Ｓ５０）。例えば、この解析は、前回の座標値と今回入力された座標値の両方から移動範囲を求め、その移動範囲と加工範囲設定テーブル中の加工範囲データとを比較して、加工範囲内であるか否かを判断することにより解析できる。解析の結果、今回入力された指令データによる軸移動範囲が加工範囲に全て含まれる場合、そのまま実行する（Ｓ６０）。一方、軸移動範囲が加工範囲に全て含まれるとは限らない場合は、一部のみ加工範囲内に含まれるか、即ち、加工範囲内と加工範囲外とにまたがるものなのか、又は、全く加工範囲内に含まれない場合、即ち、加工範囲外であるのかが解析される（Ｓ７０）。ここで、軸移動範囲が一部だけ加工範囲内に含まれる場合は、その軸移動範囲が加工範囲内におさまるよう指令データを一時的に変換する。この具合的な変換の方法としては、例えば、ＮＣ加工プログラム解析実行部３等により、加工範囲設定テーブルで設定された加工範囲の端部まで又はその近辺までしか移動しないように、適宜計算して変換することができる。一方、移動範囲が、全く加工範囲内に含まれない場合は、指令データを無効とし不実行のままとして次のＮＣ加工プログラムを入力する（Ｓ３０）。
【００２７】
このような、フローチャートにより、図２のプログラムは、次のように具体的に実行される。
（１）全加工範囲の工程実行
加工範囲設定テーブルにデータが設定されていない場合は、全加工範囲の工程が行われる。すなわち、ステップＳ５０において、各々の指令データは加工範囲内であり、ＹＥＳと判断される。よって、次のステップＳ６０により全指令データが実行されることになる。このようにして、図２のＮＣ加工プログラムの各ブロックの指令データにより、図５に示す位置Ｂ００〜Ｂ２３のような軌跡で軸移動が実行される。ここで、位置Ｂｎｍは、図２のブロック番号ｎｍによる指令データに相当する。また、ソフトストロークリミットとは、指令データにより加工する際の限界範囲である。
（２）加工範囲指定による工程実行
加工範囲設定テーブルにデータが設定されている場合は、部分加工工程が行われる。図６に、加工範囲を設定した場合のＮＣ加工プログラムの指令データの自動変換の説明図を示し、また、図７に、軸移動の軌跡を表す説明図を示す。
【００２８】
図２におけるブロック番号００、０２〜０９の指令データが入力されたときは、ステップＳ５０及びＳ７０により、加工範囲設定テーブルの加工範囲外と判断され、不実行となる。なお、ブロック番号０１の指令データは、軸移動の命令を含まないので、適宜移動速度等が設定される。次に、ステップＳ３０に戻り、次のブロック番号１０の指令データから順次入力する。ブロック番号１０の指令データが入力されると、ステップＳ５０及びＳ７０によると、位置Ｂ０９から位置Ｂ１０への軸移動範囲は、加工範囲内に一部含まれる、即ち、加工範囲内外にまたがるものであると判断される。従って、ステップＳ８０により、ブロック番号１０の指令データは、位置Ｂ１０まで移動せずに加工範囲内の外周端まで移動するよう指示する指令データ（Ｘ５００、Ｙ２０００）に自動変換されることにより、加工範囲内の位置Ｂ’１０への軸移動となる。次に、ブロック番号１１の指令データが入力されると、この変換された指令データによる位置Ｂ’１０をもとにしたＸ座標０へのＸ方向移動の指令データであり、この軸移動範囲は加工範囲内に全て含まれるため、ステップＳ６０により、そのまま実行される。以下、同様にブロック番号１２の指令データは（Ｘ０、Ｙ５００）に変換され、位置Ｂ’１２に移動し、同様に、位置Ｂ’１３、Ｂ’１４、〜Ｂ’１５のように自動変換又はそのまま実行され、加工範囲内を軸移動する。ブロック番号１７〜２２の指令データは、軸移動範囲が加工範囲内に全く含まれない、即ち加工範囲外であるため、不実行となる。最後にブロック番号２３のプログラムエンド指令により、ＮＣ加工プログラムが終了する。
【００２９】
なお、ＮＣ加工プログラムの加工範囲指定によるプログラム実行を行う場合、ＮＣ加工プログラム実行前に、加工範囲指定メニュー又はキースイッチ等の入力部の操作により、加工プログラム実行前に位置決めをしておきたい各軸座標値を入力することもできる。また、この各軸座標値として、加工範囲設定テーブルの加工範囲データの一つを用いるようにしても良い。この場合、例えば、先に任意の位置に開始位置を設定した後に、加工範囲内のプログラム実行することができる。図８は、その一例を示したものであり、ここでは、部分加工又は再加工のための開始点として位置Ｐ１を用いるようにした。
【００３０】
また、自動的に開始点を設定する方法としては、まず、指令データによる軸移動が、加工範囲外から加工範囲内への軸移動であるかを判断する。つぎに、このような軸移動であると判断された場合、その軸移動線と加工範囲の境界との交点又はその近傍を求め、その交点又は近傍を開始点として設定することができる。例えば、図８のように、位置Ｐ１又はその近傍を自動的に開始点として設定するためには、まず、位置Ｂ０９から位置Ｂ１０への軸移動が、加工範囲外から範囲内への軸移動であることを判断する。つぎに、この軸移動が加工範囲領域に入る交点を求めて、その交点又は近傍を開始点として設定することにより実施することができる。
【００３１】
以上の実施の態様ではＸ、Ｙ座標値のみで説明を行ったが、Ｘ，Ｙ，Ｚ座標をもつ三次元に適応することも可能である。軸移動指令のみならず、また、ＮＣ加工プログラム以外にも、あらゆるプログラム実行の部分的な実行に適用することが可能である。
【００３２】
【発明の効果】
以上のように、本発明の数値制御装置によれば、各軸毎の加工範囲設定テーブルを設け、各指令データによる加工プログラム実行の際、各軸移動範囲と加工範囲設定テーブルに記憶された加工範囲とを各指令データ毎に常時比較して実行し、指令データによる軸移動範囲が、加工範囲に全て含まれる場合はそのまま軸移動を実行し、一部だけ含まれる場合、即ち加工範囲内外にまたがった場合は加工範囲内の指令データに変換して軸移動を実行し、一方、加工範囲外に含まれる場合はその軸移動を不実行にすることにより、プログラムを変更修正せずにプログラム解析処理を実行しながら、設定された加工範囲内の加工プログラムをリアルタイム的に実行することができ、加工プログラム中の任意の領域を限定した部分加工・再加工が容易に実現することが可能となる。
【図面の簡単な説明】
【図１】本発明にかかる数値制御装置の構成図。
【図２】ＮＣ加工プログラム記憶部２に記憶されたＮＣ加工プログラムの説明図。
【図３】加工範囲設定テーブル記憶部４で設定された加工範囲設定テーブル。
【図４】加工範囲動作のフローチャート。
【図５】全加工範囲の工程実行の軸移動説明図。
【図６】加工範囲指定による加工プログラム変換の説明図。
【図７】加工範囲指定による工程実行の軸移動説明図。
【図８】開始点を設定したときの加工範囲指定による工程実行の軸移動説明図。
【図９】再加工・部分加工の概略図。
【符号の説明】
１  数値制御装置
２  ＮＣ加工プログラム記憶部
３  ＮＣ加工プログラム解析実行部
４  加工範囲設定テーブル記憶部
５  出力制御部
６  出力インターフェース部
７  駆動部
８  入力部
【図１】
0003660038.tif 000002
【図２】
0003660038.tif 000003
【図３】
0003660038.tif 000004
【図４】
0003660038.tif 000005
【図５】
0003660038.tif 000006
【図６】
0003660038.tif 000007
【図７】
0003660038.tif 000008
【図８】
0003660038.tif 000009
【図９】
0003660038.tif 000010