以下、本発明の実施形態について、図面を用いて説明する。図1は本発明の加工データ演算装置を含む加工システムの概略構成図である。
本発明の加工システム1は、加工形状を作成するCAM装置2と、加工機を制御する加工制御装置(数値制御装置)3と、被加工物(ワーク)をテーブルに設置して工具でワークを加工する加工機4とからなる。CAM装置2と加工制御装置3とはネットワーク5で接続される。
加工機4は、工具の取り付けられる主軸(加工ヘッド)41と、ワークが設置されるテーブル42Aと、テーブル42Aを移動させるサドル42Bと、各軸(主軸、送り軸)を駆動させる駆動部43とを備える。通常、主軸は切削動力を伝える軸であり、図1に示す実施形態のように主軸が鉛直方向にある縦形の加工機の場合は、主軸をZ軸として表わし、テーブル42を移動させる互いに直交する水平方向2軸の送り軸をそれぞれX軸とY軸として表す。
図2に示すように、駆動部43は、加工制御装置3から各軸を制御する軸制御データAを受け取る軸制御データ受信部44と、軸制御データAに従ってX軸、Y軸、Z軸の各軸リニアモータを実際に駆動制御するために必要な実指令値を生成する指令値演算部45と、各軸のリニアモータをフィードバック制御するモータ制御部46a、46b、46cと、各軸のテーブル42のような移動体をそれぞれ移動させるリニアモータ48a、48b、48cと、リニアモータ48a、48b、48cに駆動電流を出力するするリニアアンプ47a、47b、47cと、を備える。
モータ制御部46a、46b、46cは、指令値演算部45から受け取った実指令値と各軸に設けられたリニアエンコーダ(不図示)から得られた検出位置px、py、pzおよび速度vx、vy、vzに基づいて、リニアアンプ47a、47b、47cに位置と速度が補償された実指令値を出力する。リニアアンプ47a、47b、47cは受け取った実指令値に応じた駆動電流をリニアモータ48a、48b、48cに出力する。また、リニアアンプ47a、47b、47cは、リニアモータ48a、48b、48cの駆動電流ix、iy、izをフィードバックして電流補償を行う機能を備える。
図3に示すように、加工制御装置3は、少なくともCPUとメモリが内蔵された専用のコンピュータが設けられ、さらに、表示部31、操作部32、入出力部33を備える。また、専用のコンピュータには、オペレーティングシステムや加工機を制御するための制御用ソフトウェアなどのソフトウェアが組み込まれ、各種パラメータを記憶するパラメータ記憶部34、軸制御データAを記憶する軸制御データ記憶部35、加工前に加工用工具軌跡をシミュレーションするシミュレーション部36、軸制御データAを駆動部43に出力する軸制御データ出力部37とを有する。
表示部31は、具体的には画像データを表示データに変換する変換装置を含むブラウン管(CRT)あるいは液晶表示(LCD)装置等のディスプレイ装置である。
操作部32は、操作パネルなどで構成され、制御指令あるいはデータを入力するために用いられる。あるいは、対話入力を行うために、表示部31に表示された小さな絵や記号などで構成されたアイコンを選択することができるように、ディスプレイ装置上にタッチパネルを設けたものであってもよい。さらに、タッチパネルとともにスタイラスペン等のポインティングデバイスを備える構成にして、表示部31にシミュレーション表示された加工用工具軌跡の特定の領域を選択できるように構成したものが好ましい。
入出力部33は、ネットワーク5に接続され、LAN経由でCAM装置2と加工制御装置3との間でNCプログラムまたは工具軌跡のデータの送受信を行う。または、入出力部33は、記憶媒体からNCプログラムまたは工具軌跡のデータを加工制御装置3に取り込ませる。入出力部33を通して受け取ったNCプログラムまたは工具軌跡のデータは軸制御データ演算部35に保存させておくことができる。なお、以下の説明では、便宜上、工具軌跡のデータを必要に応じて曲線データ(パラメトリック曲線)と称することがある。
パラメータ記憶部34には、最大加速度、最大加加速度などのパラメータが各加工機4の物理特性に依存して機械固有の内部設定値として記憶され、パラメータの値に応じて各軸の制御が行われる。また、取り付けられている工具によって最大加速度や最大加加速度などは異なるため、工具に応じてパラメータが設定される。また、パラメータ記憶部34は、例えば、設定送り速度、設定加速度、工具の回転数のようなプログラムの作成者または操作者によって与えられる任意のパラメータのデータを記憶する。1種類のパラメータで工具径などに対応して複数の値が与えられている場合は、工具軌跡のデータと関連させて記憶される。NCプログラムには、予め複数種類のパラメータのデータが与えられており、NCプログラムを解読して得られるNCデータの中に含まれる複数種類の各パラメータの値は、パラメータ記憶部34に記憶される。また、CAM装置2から工具軌跡のデータだけを取得したときは、操作者が工具軌跡のデータに関連付けて要求される複数種類のパラメータの値を入力してパラメータ記憶部34に記憶させる。
シミュレーション部36は、軸制御データ演算部35に記憶されている軸制御データに基づいて、加工前に加工用工具軌跡をシミュレーションして表示部31に表示する。
CAM装置2は、汎用コンピュータ(例えば、パーソナルコンピュータやワークステーション等)で構成され、データ記憶装置と接続、あるいはネットワーク5と接続するためのインターフェイス部、マウス、キーボード、タッチパネルなどの入力装置、および、ディスプレイなどの表示装置を備える。また、CAM装置2には、オペレーティングシステムなどの標準的なソフトウェアと、加工条件を検索して選定するソフトウェアあるいはNCプログラムの作成を支援するソフトウェアなどの専用のアプリケーションソフトウェアがインストールされる。CAM装置2は、専用のソフトウェアによってNCプログラムまたは工具軌跡のデータを生成する装置として機能する。また、CAM装置2は、ネットワーク5によって、加工制御装置3に加え、過去に加工に利用された既存のNCプログラムが保管されるサーバのような外部装置の記憶装置、あるいは他のパーソナルコンピュータと相互に接続される。
図4に示すように、実施の形態の加工データ演算装置は、主に加工制御装置3の軸制御データ演算部35によって構成される。具体的に、軸制御データ演算部35は、NCプログラム記憶手段35A、NCプログラム解読手段35B、工具軌跡生成手段35C、工具軌跡記憶手段35D、軸制御データ生成手段35E、軸制御データ記憶手段35F、描画表示手段35G、指定区間受付手段35H、軸制御データ変更手段35I、減速率受付手段35Jを備える。ただし、CAM装置2と加工制御装置3との間を常時通信回線で接続させておくことができる環境にある場合には、実施の形態の加工制御装置3の軸制御データ演算部35の1以上の上記各手段をCAM装置2に設けることができる。したがって、本発明では、CAM装置2に上記手段が設けられている構成である場合には、CAM装置2に設けられている上記手段を含めて加工データ演算装置という。
NCプログラムは、命令を示すNCコード(G01:直線補間、G02またはG03:円弧補間等)、工具の各軸(X軸、Y軸、Z軸)の座標値、送り速度(F値、以下、加工速度として説明する)等のパラメータの値が記録されている。また、NCプログラムには、過去に加工に用いられたものが多く、信頼できる形状が定義されている。同じ製品を別の加工機で再度加工する際には、過去に加工に使用したNCプログラムを基に修正して加工することが多い。
NCプログラム記憶手段35Aは、ハードディスクのような記憶装置であり、入出力部33を通してCAM装置2またはUSB(ユニバーサル・シリアル・バス)に接続された可搬型の記録媒体から与えられるNCプログラムを記憶する。また、旧資産のNCプログラムを記録している古い紙テープをシリアルポートに接続された紙テープリーダから読み取るようにすることができる。
NCプログラム解読手段35Bは、操作者がNCプログラム記憶手段35Aに保存されているNCプログラムのファイルを選択してそのNCプログラムを実行させる操作をしたときに、NCプログラム記憶手段35Aから操作者によって選択されたNCプログラムを読み出して、読み出したNCプログラムをプログラムブロック毎にプログラムされた順番に順次解読してNCデータを生成する。生成されたNCデータのうち、相対移動に関するNCコードと位置データのような工具軌跡の形状を定義するデータを含むNCデータは、工具軌跡生成手段35Cに出力される。また、加工条件を含むパラメータに関するNCデータは、パラメータ記憶部34に出力される。なお、例えば、主軸回転軸(スピンドル)の駆動に関するデータ、加工液供給装置のポンプもしくはバルブの駆動に関するデータ、工具交換装置のマガジンあるいはアームの駆動に関するような本発明に直接関係しないNCコードを含むNCデータは、専用の制御装置を含む各軸ないし各装置に指令信号を出力するための制御部にそれぞれ出力されるが、詳細な説明は省略する。
工具軌跡生成手段35Cは、NCプログラムを解読して得られた相対移動に関するNCコードと位置データのような工具軌跡の形状を定義するデータを含むNCデータ、例えば、Gコードと各軸の座標値を解析して、NCプログラムで定義されている工具軌跡との誤差が所定の範囲内に収まるように複数のNURBS(非一様有理Bスプライン Non-Uniform Rational B-Spline)等のパラメトリック曲線に変換する。誤差の範囲は、経験的に決められる範囲であり、加工対象物、加工形状などによって決められる。
工具軌跡記憶手段35Dは、工具軌跡生成手段35Cによって生成された工具軌跡(パラメトリック曲線)のデータをファイルとして記憶する。工具軌跡記憶手段35Dは、CAD装置2または記憶媒体から入出力部33を通して工具軌跡(曲線)のデータだけを与えられた場合には、与えられた工具軌跡のデータをファイルとして保存しておくことができる。
軸制御データ生成手段35Eは、さらに、分割軌跡算出手段35E−1と、軸制御データ算出手段35E−2とを備え、NCプログラムで指定された加工速度Fを用いて、パラメトリック曲線に変換された工具軌跡Lを軸制御データAに変換する。以下の軸制御データAを生成する演算では、パラメータ記憶部34に記憶されているパラメータを用いて演算が行われるが、軸制御データAを出力する加工機に対応して、操作者により、予めいずれの加工機用のパラメータを用いるかが選択される。
分割軌跡算出手段35E−1は、パラメトリック曲線に変換された工具軌跡Lの曲率に応じて工具軌跡Lを分割した分割軌跡を求める。加工機4は、指定された2点間を各軸の速度を制御しながら工具の加工位置を移動させてワークを加工するが、工具軌跡Lの曲率が大きい部分では、加工機4の慣性モーメントや剛性などに影響されて、工具軌跡Lに沿って工具の加工位置を移動させるのが難しい部分がある。また、加工機4に指定した2点間を結ぶ工具軌跡Lが、直線から大きく外れることがない方が好ましい。そこで、工具軌跡Lの曲率を求め、図5に示すように、工具軌跡Lを曲率が小さいところは大きい間隔で分割し、曲率が大きくなるに従って小さい間隔で分割し、工具軌跡L上の点P1,P2,P3,P4,・・・,Pi,Pi+1、・・・で分割した複数の分割軌跡l1,l2,l3,l4,・・・,li,・・・に分ける。例えば、工具軌跡の曲率が小さく(曲率が0に近い)略直線である範囲の工具軌跡Lは1つの分割軌跡にする。つまり、直線に近い部分が続くところでは、長い距離の工具軌跡が1つの分割軌跡lとなり、曲率が大きいところは短い間隔で分割軌跡lが生成される。
軸制御データ算出手段35E−2は、分割した各分割軌跡l1,l2,l3,l4,・・・,li,・・・に沿って工具を指定された加工速度Fで移動させるときの分割軌跡l上の点の各軸の位置と所定の時間間隔で求めた各軸の速度の時間変化で表わされる移動指令値を記録した軸制御データAを求める。軸制御データAには、分割軌跡上の少なくとも1点の各軸の位置を含むものであればよい。例えば、軸制御データAに分割軌跡l上の始点の位置と分割軌跡に沿って移動させるときの各軸の速度変化とが記録されている場合には、始点の位置から各軸を指定された速度変化に従うように各軸を制御することによって、分割軌跡lに沿って工具の加工位置に移動させることができる。
図6に示すような分割軌跡lに沿って、指定された加工速度Fでワークを加工するには、分割軌跡l上の各位置で、工具の加工位置を接線方向に加工速度Fで移動させることで、工具の加工位置を分割軌跡lに沿って移動させることができる。つまり、加工速度Fを、分割軌跡lの各位置における接線ベクトルの各軸の成分X,Y,Zに分け、始点の位置からX軸をX方向の速度成分で移動させ、Y軸をY方向の速度成分で移動させ、Z軸をZ方向の速度成分で移動させるように制御することで分割軌跡に沿って工具の加工位置を移動させることが可能になる。図6に示すように、分割軌跡l上の始点の位置P1での各軸の速度成分は(V1x,V1y,V1z)となり、終点の位置P2での各軸の速度成分は(V2x,V2y,V2z)となるので、各軸を位置P1からP2に移動する間に各軸の速度をV1x→V2x、V1y→V2y、V1z→V2zに変化させる。また、分割軌跡lに沿うように工具を移動させるには、工具の進行方向が分割軌跡の接線方向に向くように短い時間間隔で各軸の速度を変える必要がある。
そこで、図7に示すように、各分割軌跡l上を加工速度Fで工具を移動させるときの各軸を移動させる速度Vx,Vy,Vzの時間変化を表す速度曲線を求める。図7は、Z方向の移動がなくXY平面でのみの移動がある場合を示す。各軸の速度をこの速度曲線に従うように制御することにより、加工位置を分割軌跡lに沿って移動させることができる。そこで、軸制御データAには、例えば、各軸の速度曲線を短い一定の時間間隔Δtで分割した各点における各軸の速さと、分割軌跡lの開始点を記録する。
加工機4には最大加速度や最大加加速度に限界があるため指定された加工速度Fを維持したまま、分割軌跡lに沿って工具の加工位置を移動させることができないところがある。そこで、最大加速度や最大加加速度に関するパラメータに基づいて、加工位置における分割軌跡lの曲率が大きく、加工速度Fで加工を行ったときに分割軌跡lに沿って加工できないと予測される部分では、指定された加工速度Fより小さくなるように各軸方向の速度を求める。具体的には、分割軌跡を時間間隔Δtで分割した各点における分割軌跡の曲率に基づいて、指定された加工速度Fで各軸を移動させたときの加速度と加加速度を求め、その加速度や加加速度が、パラメータに設定されている加工機4の最大加速度や最大加加速度を超えている部分は、加工位置の移動速度を加工速度Fよりも小さい速度にして最大加速度や最大加加速度を超えないように各軸方向の速度を求めて軸制御データAを生成する。
また、図7に示す、時間T0から時間Tnまでの速度曲線の積分値が時間T0から時間Tnまでに移動した距離となるので、時間Tnにおける各軸の位置は、分割軌跡lの開始点P0に速度曲線のT0〜Tn間の積分値を加えることにより各軸の位置が求められる。
ここでは、軸制御データAに、一定の時間間隔Δtで各軸の速度を記録する場合について説明するが、直線上を工具の加工位置を移動する場合のように速度に変化がない場合には、直線移動の区間は各軸の速度を記録しなくてもよい。また、曲率が小さい区間は大きい時間間隔で速度を記録し、曲率が大きい区間は小さい時間間隔で速度を記録するようにして、一定の時間間隔で速度を記録しなくてもよい。時間間隔が一定でない場合には、軸制御データAに速度を記録した時間間隔も記録する。常に、一定の時間間隔で、速度を記録する場合には、精度が維持できるように、最も小さい時間間隔で速度を記録しなければならないが、曲率に応じて時間間隔を変えようにすることで、データ量を減らすことができる。
上記の各処理により、通常、NCプログラムで定義される1つのプログラムブロックで表される1つの工具軌跡のブロック(Gコードで定義される範囲)が、軸制御データで定義される加工用工具軌跡が実際の工具軌跡から大きく外れないようにするために、複数の軸制御データAに変換されることが多いが、例えば、長い1つ直線の工具軌跡が複数のプログラムブロックで指定され複数の工具軌跡のブロックで形成されているような部分は、複数の工具軌跡のブロックが1つの軸制御データAに変換されることもある。生成された軸制御データAを工具軌跡の加工開始位置から順にファイルに記録して、ハードディスク(軸制御データ記憶手段35F)に一旦記憶される。
描画表示手段35Gは、軸制御データ記憶手段35Fに記憶されているファイルに記録されている軸制御データAに従って、加工用工具軌跡を表す描画データを生成し、生成した描画データを用いて加工用工具軌跡を表示装置の表示画面上に表示する。まず、先頭の軸制御データAから始点P(T0)の位置を読み取り、始点P(T0)の位置から軸制御データAに記録されている速度V(T0)で各軸(X軸、Y軸、Z軸)の加工位置を時間Δtの間に移動させた位置P(T1)=P(T0)+V(T0)・Δt までの加工用工具軌跡を表す描画データを生成して表示装置上に表示する。さらに、軸制御データAに記録されている次のΔt時間後の各軸の速度V(T1)で加工位置を時間Δtの間に移動させた位置P(T2)=P(T1)+V(T1)・Δtまでの加工用工具軌跡を表す描画データを生成して表示装置上に表示する。このようにして、Δtの時間間隔で軸制御データAに記録されている各軸の速度で時間Δtの間に加工位置を移動させたときの加工用工具軌跡を表す描画データを生成して、順次、表示装置上に表示する。下式(1)に、i番目の位置P(Ti)とその位置での速度V(Ti)とi+1番目の位置P(Ti+1)の関係を示す。
P(Ti+1)=P(Ti)+V(Ti)・Δt (1)
指定区間受付手段35Hは、表示画面上に表示された加工用工具軌跡上で、指定された区間を、速度の変化の度合いを変更する区間として受け付ける。具体的には、表示画面上に表示された加工用工具軌跡上を、操作者がマウスのようなポインティングデバイスを用いて曲線または所定の形状で囲み、囲まれた範囲内に存在する加工用工具軌跡を指定区間として受け付ける。ここで、速度の変化の度合いとは、概ねある位置にある速度とその位置から単位距離離れた位置における速度との速度差が単位距離毎に増大または減少していくときの増加または減少の割合を示す。したがって、速度の変化の度合いが大きいときは、単位距離進む毎の単位距離間の速度差が増大または減少する程度がより大きく、速度の変化の度合いが小さいときは、単位距離進む毎の単位距離間の速度差が増大または減少する程度が小さい。
通常、実際に加工を行う前に、CAM装置2や加工制御装置3で軸制御データAによって定義される加工用工具軌跡のシミュレーションを行うが、実際に加工を行った際に、シミュレーションでは現れなかった不具合が現れることがある。多くの場合は、コーナー部分のように、加工方向が大きく変化することころに現れる可能性が高い。例えば、図8に示すように、等高線状に複数のレイヤーの加工を行う場合、各レイヤーの同じコーナー部分に工具の振動による線が現れる場合がある。このような不具合が現れたコーナー部分を、例えば、表示装置上に表示された加工用工具軌跡上でポインティングデバイスを用いて矩形の形状(図8の破線)で囲んで指定区間とする。図8に示すように、複数のレイヤーのコーナー部分をまとめて指定区間として設定することができる。ここでは、矩形の形状で指定区間を指定する場合について説明するが、円形などの他の形状であってもよく、囲まれた範囲が特定できるものであれば自由曲線であってもよい。
減速率受付手段35Jは、工具軌跡上の任意の指定区間における速度の変化の度合い、言い換えると任意の指定区間の現在の速度に対する減速する割合の設定を受け付ける。以下、上記速度の変化の度合いを部分減速率という。部分減速率は、GUI(グラフィカルユーザーインターフェース)等を用いて操作者が設定する。また、この実施の形態では、部分減速率は、初期設定値を最大値100%として、100%以下の比率(オーバライド値)で設定する。
軸制御データ変更手段35Iは、減速率受付手段35Jを通して与えられ小さくされた部分減速率に従って指定区間受付手段35Hで与えられた指定区間における速度変化を再計算し軸制御データを書き換える。以下、図8ないし図10を用いて、軸制御データ変更手段35Iの動作を具体的に説明する。
図9に、図8で指定された複数のレイヤーの指定区間のうち1つのレイヤーの指定区間を示す。また、図8の加工用工具軌跡上の矢印の方向に加工がおこなわれる。図8では、指定区間は3つの軸制御データA1,A2,A3に亘る。軸制御データA1のうち始点Psから最終位置までの範囲(網掛け部分)が指定区間に該当し、軸制御データA2は全範囲が指定区間に該当し、軸制御データA3のうち開始位置から終点Peまでの範囲(網掛け部分)が指定区間に該当する。
図10は、時間tに対するx軸方向の速度Vxの変化を示す。H1(t)は、部分減速率を変更する前の速度の変化を表し、ts(開始時刻)からte(終了時刻)までが指定区間である。部分減速率を変更する前は指定区間を時間Q1=te−tsで通過する。また、開始時刻tsの速度がVsであり、終了時刻teの速度がVeである。H2(t)は、変更後の速度の変化を表す。具体的に、図9に示されるような曲線の指定区間のときは、指定区間の始点Psから加工用工具軌跡の各位置における速度を徐々に小さくして指定区間の中間点で最も減速された速度になるようにする。中間点を過ぎたところから指定区間の終点Peまでの間に速度を変更前の速度Veに戻す。指定区間を工具が通過する通過時間がΔQ延長され、指定区間の通過時間はQ2=Q1+ΔQとなる。Y軸およびZ軸の速度についても同様に速度が変更されるが、加工用工具軌跡上の各位置における接線方向に加工位置が移動するように決定される。
基本的な概念では、軸制御データA1,A2,A3の始点Psから終点Peの範囲の加工用工具軌跡を変えることなく、部分減速率が小さくなるように指定区間を工具が通過する通過時間を延長して指定区間に対応する軸制御データAを変更する。図8では1つのレイヤーについて指定区間に該当する軸制御データAの範囲を特定した様子を示すが、図9で指定された全てのレイヤーの指定区間に該当する軸制御データA(A1,A2,A3)の範囲を特定して軸制御データAを変更する。
軸制御データ変更手段35Iは、まず、操作者によって表示画面に表示された加工用工具軌跡上で指定された指定区間に対応する軸制御データAの範囲を特定する。このとき、表示画面上の加工用工具軌跡は、単なる位置データの集合ではなく、速度の時間変化で表わされる軸制御データに基づいて描画されているので、指定区間受付手段35Hによって指定された指定区間の始点と終点の位置を特定することによって、特定された始点と終点におけるそれぞれの速度と加速度と時間を求めることができる。例えば、図9において、操作者が囲んだ線と表示されている加工用工具軌跡との交点を求めて始点Psと終点Peとを特定し、特定された始点Psと終点Peにおいて、図10に示される始点Psにおける速度Vs、加速度、時刻tsと、終点Peにおける速度Ve、加速度、時刻teをそれぞれ求めることができる。
速度が大き過ぎると曲線を曲り切れないところから、指定区間における部分減速率をより小さくすればよいが、NCプログラムに基づく工具軌跡のデータでは、操作者が部分減速率を設定することができない。本発明の実施の形態の加工データ演算装置では、軸制御データ変更手段35Iと、減速率受付手段35Jを有するので、指定区間における部分減速率に従って速度を変更することができる。具体的に操作者が、減速率受付手段35Jを通して部分減速率のオーバライド値を与えて速度を下げると、軸制御データ変更手段35Iは、与えられた部分減速率に従って速度が変化するように指定区間内の軸制御データを書き換える。このとき、指定区間の前後で速度を繋げなければならないので、指定区間の始点Psにおける速度Vsと加速度、および終点Peにおける速度Veと加速度は変更しない。また、指定区間を通過している間の任意の時刻において部分減速率が変わると、その時刻における速度と、加速度と、加加速度が変わる。
このようなことから、軸制御データ変更手段35Iは、始点の位置Psと速度Vsと時刻tsとから、順次指定区間内にある所定の時間間隔に対応する時刻tsn(=ts+Δt・n、n:自然数)毎に減速率受付手段35Jを通して与えられた部分減速率kに従って再計算した速度Vsniを得る。例えば、図10に示されるように、始点Psの時刻tsからΔt時間後の時刻ts1では、速度を再計算する前と後で速度がVs1からVs1iに変わるために時刻ts1における位置が速度を変更する前と後でずれる。部分減速率をkとして、部分減速率kを変更する前の時刻ts1における速度Vs1のときの位置Ps1が速度Vs1iに変わったときの時刻tiで同じPs1にあるとすると、始点Psから部分減速率kを変更し速度を再計算した後の速度変化と加速度で到達する時刻tiを下式(2)で特定することができる。その結果、図10に示されるように、部分減速率が変わると指定区間を通過するために要する所要時間が時間ΔQ1延長されるが、部分減速率が変わっても指定区間の工具軌跡が変化することないように速度変化を調整することができる。
ti=(Vs1・Δt/Vs1i) (2)
但し、 Vs1i=Vs1・k,ts=0
以上のようにして、工具軌跡を変えることなく、各時刻tsn毎に、変更前の速度と時刻および変更後の速度から順次変更後の時刻tiを計算して、部分減速率を変更する前の速度変化H1(t)から減速率受付手段35Jを通して与えられた部分減速率で変更した速度変化H2(t)を得る。そして、軸制御データ変更手段35Iは、速度変化H2(t)によって軸制御データAを書き換える。軸制御データ算出手段35E−2はパラメータで設定された最大加速度に基づいて、軸制御データAの速度を決定しているが、直線を基準にして可能な限り大きい加工速度Fで移動するように想定して設定されている最大加速度で工具の加工位置を移動させた場合、曲率が急激に変化するような曲線部分では、工具が指定されている工具軌跡を逸脱してしまうことがある。したがって、軸制御データ変更手段35Iは、書き換えた軸制御データにおいて、部分減速率に応じて最大加速度を小さい値に再設定し、軸制御データ算出手段35E−2と同様の手法で軸制御データAを再度算出する。なお、加工速度、最大加加速度を再設定して再演算してもよい。
ここで、図9の終点Peの位置は、図10における始点Psの時刻tsから終点Peの時刻teまでの速度変化H1(t)で囲まれた斜線で示す領域の面積r1に相当する。また、部分減速率kを変更した後の速度変化H2(t)で囲まれた斜線で示す領域の面積r2に相当する。終点Peにおいて、部分減速率kを変更する前と変更した後とで位置が変わらないとすると、面積r1と面積r2が一致する。曲線H2(t)は、曲線H1(t)と部分減速率kによって求めることができる。したがって、各時刻tsn毎に時刻tiを順次求めて曲線H2(t)を生成する方法に代えて、面積r2が面積r1と一致する曲線H2(t)を求めてから、所定の時間間隔で軸制御データを再構成するようにすることができる。この場合は、変更後の軸制御データをより容易に求めることができる利点がある。
以上のようにして、工具軌跡を変えることなく、部分減速率を変更する前の速度変化H1(t)から減速率受付手段35Jを通して与えられた部分減速率で変更した速度変化H2(t)を得る。そして、軸制御データ変更手段35Iは、速度変化H2(t)によって軸制御データAを書き換える。軸制御データ変更手段35Iは、変更後の軸制御データを一度軸制御データ演算手段35Eに送り、軸制御データ演算手段35Eにおいて所定の時間間隔で軸制御データを再構成する。軸制御データ演算手段35Eの軸制御データ算出手段35E−2はパラメータで設定された最大加速度に基づいて、軸制御データAの速度を決定しているが、直線を基準にして可能な限り大きい加工速度Fで移動するように想定して設定されている最大加速度で工具の加工位置を移動させた場合、曲率が急激に変化するような曲線部分では、工具が指定されている工具軌跡を逸脱してしまうことがある。したがって、軸制御データ変更手段35Iは、書き換えた軸制御データにおいて、部分減速率に応じて最大加速度を小さい値に再設定し、軸制御データ算出手段35E−2と同様の手法で軸制御データAを再度算出する。なお、加工速度、最大加加速度を再設定して再演算してもよい。
図11に工具の合成速度Fの変化を示す。G1(t)は、変更前の合成速度の変化を表し、G2(t)は、変更後の合成速度の変化を表す。図11は、指定区間はコーナー部分などの曲率が大きい部分であるため合成速度が変更前に既に指定された加工速度F1より小さくなっている例を示す。変更後、指定区間の加工用工具軌跡上の各位置における合成速度は元の速度より小さくなるが、指定区間を除く区間では、変更前の元の速度と一致する。図11では、指定区間の開始時刻tsと終了時刻teの合成速度が加工速度F1よりも小さいF2になっている例を示す。変更後も開始時刻tsと終了時刻te+ΔQでは速度がF2で一致している。また、合成速度を表すG1(t)の開始時刻tsから終了時刻teまでを積分した面積(距離)R1と、G2(t)の開始時刻tsから終了時刻te+ΔQまでを積分した面積R2は一致するように変更後の速度が決定され、速度が各軸方向の成分に分配される。図10に示すように、各軸の移動距離を表すH1(t)の開始時刻tsから終了時刻teまでを積分した面積r1と、H2(t)の開始時刻tsから終了時刻te+ΔQまでを積分した面積r2は一致する。
軸制御データ変更手段35Iは、変更された軸制御データAを含めて一連の加工全体における軸制御データを記憶手段35Eに記憶させる。なお、部分的に変更された軸制御データAは、同じ加工を繰返し行なうときのために元のNCプログラムと関連付けてNCプログラム記憶手段35Aに保存しておくことができる。このとき、一連の加工全体における軸制御データを軸制御データ記憶手段35Fに保存して残しておくことができる。ただし、NCプログラムがNCプログラム記憶手段35Aに保存されているので、再び加工するときに、軸制御データを再計算する手間を除けば、特に保存して残しておく必要はない。
軸制御データ出力部37は、軸制御データ記憶手段35Eに記憶した軸制御データAを加工機4の軸制御データ受信部44に順に送信する。
加工機4の指令値演算部45は、軸制御データ受信部44で受信した軸制御データAの速度に従って、実指令値を生成し各軸のモータ制御部46a、46b、46cに出力する。さらに、モータ制御部46a、46b、46cは実指令値をリニアアンプ47a、47b、47cを通して駆動電流としてリニアモータ48a、48b、48cに出力する。図7に示すように、軸制御データAにΔtの間隔で速度変化が記録され、時間TiのときX軸方向の移動速度がVxiで、時間Ti+1のときX軸方向の移動速度がVx(i+1)であるときには、移動信号は時間Ti〜時間Ti+1の間で、X軸方向の移動速度がVxiからVx(i+1)に変化するような移動信号をモータ制御部46aはリニアアンプ47aに出力する。同様に、時間TiのときY軸方向の移動速度がVyiで、時間Ti+1のときY軸方向の移動速度がVy(i+1)であるときには、移動信号は時間Ti〜時間Ti+1の間で、Y軸方向の移動速度がVyiからVy(i+1)に変化するような移動信号をモータ制御部46bはリニアアンプ47bに出力する。このように各軸の移動速度を変えることで、分割軌跡lに沿って加工位置を始点の位置P1から終点の位置P2まで移動させることができる。
ここで、本発明の加工システム1で、ワークを加工した後に仕上げ形状を目視で確認し、目視で確認された不具合部分の軸制御データAの速度を変更するための操作および処理の流れの一例を、図12のフローチャートを用いて説明する。
操作者は、CAM装置2または加工制御装置3を操作してCAM装置2の記憶装置に保存されているか、またはLAN経由で接続されているサーバのような外部の記憶装置に記憶されているNCプログラムを選択する(S1)。そして、選択されたNCプログラムを加工制御装置3の入出力部33を通して加工制御装置3のNCプログラム記憶手段35Aに記憶させる。なお、加工データ演算装置の機能をCAM装置2が備えている場合は、操作者は、GUIを用いて、加工に用いる加工機4を選択して、遠隔操作をできるようにする。このとき、CAM装置2では、パラメータ記憶手段22から選択された加工機4に対応するパラメータが既定値となる。
次に、操作者が加工制御装置3の軸制御データ演算部35のNCプログラム記憶手段35Aに記憶されているNCプログラムのファイルの中から加工しようとする所望のNCプログラムを選択したとき、軸制御データ演算部35のNCプログラム解読手段35Bは、NCプログラム記憶手段35Aから選択されたNCプログラムを読み出してプログラムブロック毎にプログラムされた順番に解析して、NCデータを生成する。そして、NCプログラム解読手段35Bは、生成したNCデータのうち少なくとも相対移動と工具軌跡の形状に関するNCコード、例えばGコードを含むNCデータを工具軌跡生成手段35Cに送る。また、NCプログラム解読手段35Bは、NCデータから得ることができる複数種類のパラメータのデータをパラメータ記憶部34に記憶させる(S2)。
工具軌跡生成手段35Cは、NCプログラム解読手段35Bから軸制御データを生成するために要求されるNCデータを取得し、取得したNCデータに基づいてNCプログラムで定義されている形状を複数のパラメトリック曲線に変換して工具軌跡を生成する。工具軌跡生成手段35Cは、生成した工具軌跡のデータを工具軌跡記憶手段35Dに記憶させておく(S3)。
軸制御データ生成手段35Eは、すでに説明されている演算プロセスで、NCプログラムで指定されている送り速度(加工速度)Fと、工具軌跡記憶手段35Dに記憶されている工具軌跡であるパラメトリック曲線と、選択された加工機4に対応するパラメータを用いて、もともとはNCプログラムで定義されていた移動指令を軸制御データAに変換して、生成された軸制御データAをファイルとして軸制御データ記憶手段35Fに記憶させる(S4)。続いて、加工制御装置3の軸制御データ演算部35は、軸制御データ記憶手段35Fに記憶させてある軸制御データAを順次軸制御データ出力部37から加工機4の軸制御データ受信部44に送信して、加工機4でワークをテスト加工する(S5)。
操作者は、加工機4で加工が完了すると、加工物の仕上げ形状を目視で確認する(S6)。仕上げ形状に問題がない場合には(S6−OK)作業は終了するが、仕上げ形状に不具合がある場合には(S6−NG)不具合箇所を特定する。加工終了直後は、加工で使用したNCプログラムが加工制御装置3において選択されているままの状態になっているので、操作者は、加工制御装置3を操作してNCプログラムの内容を表示部31に表示させて不具合箇所を発生させたプログラムブロックを見付け出て不具合箇所を特定する。あるいは、軸制御データ記憶手段35Fに記憶されている軸制御データを使って表示部31に工具軌跡を描画させ、工具の相対移動のシミュレーションを行なって加工用工具軌跡上で不具合箇所を特定する。以下は、シミュレーションによって不具合箇所を特定する工程を示す。
まず、操作者がシミュレーションを実行させると、描画表示手段35Gは、選択されている状態であるNCプログラムに相当する軸制御データAのファイルを軸制御データ記憶手段35Fから読み出す。そして、描画表示手段35Gは、読み出した軸制御データAに従って加工用工具軌跡を表す描画データを生成し、生成した描画データを用いて加工用工具軌跡をシミュレーション部36を通して表示部31の表示画面上に表示する(S7)。
操作者は、加工物の仕上げ形状と表示画面に表示されている加工用工具軌跡とを見比べて、不具合が現れている部分を特定する。操作者は、マウスなどを用いて、表示画面に表示されている加工用工具軌跡上で不具合が現れている部分を囲んで(図8参照)、指定区間を指定する(S8)。さらに、操作者は、不具合の状態に応じて、適切な部分減速率を入力する(S9)。このとき、部分減速率は、オーバライド値であるため、操作者は厳密にパラメータの実数値を入力する必要がなく、感覚的にあった適切な部分減速率を与えることができる。
加工制御装置3の軸制御データ演算部35の制御データ変更手段35Iは、指定区間受付手段35Hを通して操作者によって設定された指定区間を受け取るとともに、減速率受付手段35Jから部分減速率を受け取る。軸制御データ変更手段35Iは、シミュレーションした表示部31の表示画面に表示されている加工用工具軌跡の描画データの元である軸制御データAのうち指定区間に該当する軸制御データの範囲を特定し、さらに、入力された部分減速率に従って、軸制御データAを変更して、変更後の軸制御データAをファイルに記録する(S10)。このときに、軸制御データ変更手段35Iにおいて部分減速率に従って軸制御データを変更するプロセスは、指定区間の始点の位置Ps、速度vs、時刻ts、加速度の各データから、順次指定区間内にある所定の時間間隔に対応する時刻tsn毎に、与えられている部分減速率に従って速度Vsniを再計算し、始点Psから位置Ps+nとの間の速度変化と加速度とから速度Vsniに速度が変わっても位置Psnが変わらない時刻tiを特定することによって速度の変化H2(t)を得るというものであるが、すでに説明されているので、ここでは、具体的なプロセスの説明は省略する。
軸制御データ変更手段35Iは、演算した速度の変化H2(t)に基づいて指定区間おける部分的な軸制御データを生成し、指定区間における軸制御データを元の加工全体の軸制御データに書き込んで軸制御データを生成し直す(ただし、必ずしも部分的に修正した軸制御データを元の軸制御データに組み込む必要はない)。そして、変更後の軸制御データAに従って加工機4を稼働させてテスト加工を行い(S5)、もう一度、仕上げ形状を確認する(S6)。操作者は、目視で仕上げ形状に不具合が確認されなくなるまで、以上の操作を繰り返す。
また、軸制御データAにはある時間間隔で各軸の速度を記録する場合について説明したが、速度の変化分を記録するようにしてもよい。
上述では、一定の時間間隔で速度変化を記録した軸制御データAを駆動部に出力する場合について説明したが、各軸方向の速度の時間変化を表す数式のデータを軸制御データAとして駆動部に出力し、駆動部で受け取った数式に従って各軸の速度を変化させるようにしてもよい。
上述の実施形態では、加工制御装置3で軸制御データAを変更する場合について説明したが、CAM装置2に、上記で説明した指定区間受付手段35Hと、軸制御データ変更手段35Iと、を設けて、シミュレーション部36で表示した加工用工具軌跡のうち加工速度を変更する指定区間をスタイラスペンなどを用いて設定して軸制御データAを変更するようにしてもよい。
以上、詳細に説明したように、本発明では、全体の加工効率を低下させることなく、必要な部分のみ加工速度を下げることが可能になる。
ところで、稀ではあるが、速度を部分的に元の速度よりも大きくしたほうが加工効率が向上できる場合がある。具体的には、例えば、操作者が軸制御データに基づく速度分布や速度変化を参照して最大加速度を設定する場合には、設定可能な限界の最大加速度の値よりも相当低く設定してしまう可能性があり、部分的に送り速度が低くなりすぎることがある。
指定区間の速度を元の速度よりも大きく操作する必要があるときは、設定されている最大の送り速度以下で機械固有の最大加速度を超えない範囲でオーバライド値100%よりも大きい比率で部分減速率を設定するようにすればよい。なお、本発明では、説明の便宜上、速度が元の速度よりも大きくなるときの比率も“部分減速率”という。
指定区間の速度を元の速度より大きくなるように変更するとき、軸制御データ変更手段35Iは、速度を小さくなるように変更するときと同様に、始点の位置Psと速度Vsと時刻tsとから、順次指定区間内にある所定の時間間隔に対応する時刻tns毎に減速率受付手段35Jを通して与えられた部分減速率kに従って再計算した速度Vsniを得る。このときの変更前の速度と変更後の速度との関係は、図10を参照すると、図10における変更前の変化曲線と変更後の変化曲線がちょうど反対になると考えることができる。したがって、部分減速率が変わると指定区間を通過するために要する所要時間が短くなるが、部分減速率が変わっても指定区間の工具軌跡が変化することがないように速度変化を調整することができる。