(57)【特許請求の範囲】
【請求項１】
加工プログラムを解析する解析手段と、
この解析手段により解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める変換行列設定手段と、
この求められた変換行列を記憶する変換行列記憶手段と、
前記変換行列を記憶する退避変換行列記憶手段と、
前記解析手段により解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化するクリア手段と、
前記解析手段により解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる変換行列復元手段と、
前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する三次元座標変換手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記変換行列設定手段は、求めた変換行列を前記変換行列記憶手段に記憶させるものであり、前記クリア手段は、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させるものであることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記変換行列設定手段は、求めた変換行列を前記変換行列記憶手段及び退避変換行列記憶手段に記憶させるものであることを特徴とする請求項１に記載の数値制御装置。
【請求項４】
解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める第１の工程と、
この求められた変換行列を変換行列記憶手段に記憶させる第２の工程と、
前記変換行列を退避変換行列記憶手段に記憶させる第３の工程と、
解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化する第４の工程と、
解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる第５の工程と、
前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する第６の工程と、
を有することを特徴とする数値制御方法。
【請求項５】
前記第１の工程は、前記第２の工程を含むものであり、前記第４の工程は、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させる工程を含むものであることを特徴とする請求項４に記載の数値制御方法。
【請求項６】
前記第１の工程は、前記第２の工程及び第３の工程を含むものであることを特徴とする請求項４に記載の数値制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は数値制御（Numerical  Control；以下ＮＣという）装置における三次元座標変換復元手段に関するものである。
【０００２】
【従来の技術】
従来のＮＣ装置における三次元座標変換手段として特開昭６３−１９２１０７号公報がある。該公報によれば、三次元座標変換を変換行列によって実現することが記載されている。
【０００３】
NC装置の三次元座標変換の動作を図９及び図１０によって説明する。図９は、加工プログラム、図１０は三次元座標変換図である。図９において、N101ブロックは三次元座標変換指令で、G68等には下記の意味がある。
N101 G68 X100. Y0 Z0 I0 J1 K0 R−30. ;
G68 --- 三次元座標変換指令を示す準備機能コード
X,Y,Z ・・・ 平行移動座標値
I,J,K ・・・ 回転中心軸の有無指定 ・・・ 1：指定あり,0：指定なし。
IはX軸，JはY軸，KはZ軸に対応。
R ・・・ 回転角度
したがって、N101は現在設定されているワーク座標系に対して(X,Y,Z)=(100., 0, 0) 原点が平行移動し、Y軸を回転中心として−30°回転した、図１０に示す新しいG68プログラム座標系(A)、すなわち、P'座標系が設定される。
【０００４】
N102ブロック「N102 G68 X0 Y100. Z0 I1 J0 K0 R45. ;」は、N101で設定されたG68プログラム座標系(A)に対して(X,Y,Z)=(0, 100., 0) 原点が平行移動し、X軸を回転中心として45°回転した、図１０に示す新しいG68プログラム座標系(B) 、すなわち、P'座標系が設定される。上記のように三次元座標変換指令G68は重複することができる。
【０００５】
N103ブロック「N103 G01 XYZ ;」は、直線補間指令を示し図１０に示すP"座標系でプログラムするもので、三次元座標変換されるとワーク座標系すなわちW座標系になる。同様に図９に示すN104〜N198ブロックも三次元座標変換される。
N199ブロック「N199 G69 ;」は, 三次元座標変換キャンセル指令で、該指令により三次元座標変換がキャンセルされ、該キャンセル後、通常の座標変換しない状態になる。上記がNC装置における三次元座標変換の動作である。
【０００６】
次に三次元座標変換に用いる変換行列を図１１及び図１２によって説明する。図１１は変換行列、図１２は変換法則の説明図である。
図１１において、変換行列は3行3列の回転行列[R]と3行1列の平行移動行列[T]から成り、三次元座標変換指令G68時に設定されると共に、三次元座標変換キャンセルG69時に初期化される。
図１２において、回転行列[R]は加工プログラムI,J,Kの回転中心軸指定とRの回転角度から演算され、平行移動行列[T]は加工プログラムX,Y,Zの値になる。
【０００７】
次に、三次元座標変換式を図１３によって説明する。三次元座標変換式は、変換前のプログラム座標値[P]を３行１列の行列とし、変換後のワーク座標値[W]を3行1列の行列とすれば、下記となる。
[W]=[R][P]+[T]
ここに、プログラム座標値[P]は直線・円弧指令G00〜G03時に設定される。
【０００８】
次に、図１４に示す加工プログラム、変換行列、三次元座標変換について説明する。図１４の(１)において、加工プログラム「G68 X0 Y0 Z−100. I0 J0 K1 R30. ;」は、三次元座標変換指令で、ワーク座標系に対して(0, 0,−100)中心が平行移動し、Z軸を中心とし、反時計方向に30°回転したプログラム座標系を設定するものである。
図１４の(２)において、三次元座標変換指令時の変換行列は、回転行列[R]にはZ軸回りの回転すなわちXY平面上で30°回転するデータが設定され、平行移動行列[T]にはZ軸方向に−100.平行移動するデータが設定される。
図１４の(３)において、加工プログラム「G01 X50. Y0 Z20. ;」は直線補間指令で、プログラム座標値P'(50., 0, 20.)への指令である。プログラム座標行列[P]には前記プログラム座標値データが設定される。
次に、プログラム座標行列[P]を三次元座標変換し、ワーク座標行列[W]を[R][P]+[T]によって求めてワーク座標値W(43.3, 25.,−80.)を得ている。
【０００９】
図９に示す加工プログラムに基づいてＮＣ装置の三次元座標変換を図１７のフローチャートによって説明する。該フローチャートは指令された加工プログラムから、三次元座標変換指令により座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧のときプログラム座標値と変換行列とから三次元座標変換を実行してワーク座標値を求める。そして三次元座標変換キャンセル時には変換行列を初期化しキャンセルさせるものである。
【００１０】
まず、N101の加工プログラムを読み込み、三次元座標変換G68指令, 直線・円弧(G00〜G03)指令、三次元座標変換キャンセルG69指令を判断し(ステップＳ１０，Ｓ１２)、N101の加工プログラムが初めての三次元座標変換指令G68であるから、加工プログラムの「G68 XYZIJKR;」、すなわち座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出し(ステップＳ３０)、所定の回転行列[Ri]、平行移動行列[Ti]を更新する(ステップＳ３２，Ｓ３４)。かかる変換行列の更新は、指令値の変換行列[Ri]、[Ti]、更新前の変換行列を[Ro]、[To]、更新後の変換行列を[R]、[T]とすれば図１６に示す下式を実行する。
[R]=[Ro][Ri]       ----回転行列の更新
[T]=[Ro][Ti]+[To]        ----平行移動行列の更新
N102の加工プログラムでは２回目の三次元座標変換指令G68で上記ステップＳ１０，Ｓ１２，Ｓ３０，Ｓ３２，Ｓ３４を実行する。これによりN101用の変換行列にさらにN102用の変換行列が重複され新たな変換行列[R]、[T]が設定される。すなわち、三次元座標変換(G68)指令毎に前記行列の更新演算が実行されるので、複数の三次元座標変換指令G68を重複できるようになっている。以降三次元座標変換モード中となり同処理が終了する。
【００１１】
N103加工プログラムを読み込み、上記ステップＳ１０，Ｓ１２を実行して直線指令G01と判断すると、加工プログラムの座標値X,Y,Zから座標変換前のプログラム座標値[P]を抽出する。加工プログラム「G01 XYZ; 」から所定のプログラム座標値[P]を求め(ステップＳ１４)、変換前のプログラム座標値を[P]、変換行列を[R]、[T]、変換後のワーク座標値を[W]とすれば、図１４、下式に示す三次元座標変換式、すなわち、三次元座標変換処理を実行する(ステップＳ１６)。
[W]=[R][P]+[T]    ----三次元座標変換
変換されたワーク座標値[W]を、指令速度に対応した直線補間演算を実行して直線指令G01処理が終了する(ステップＳ１８)。同様に、N104~N198の加工プログラムも同一ルートを通り、一連の三次元座標変換が行なわれる。
上記のように、一連の直線・円弧指令G00〜G03が毎回、変換行列[R]、[T]による三次元座標変換が行なわれる。プログラム指令値[P]を変換行列[R]、[T]を用いて三次元座標変換を実行してワーク座標値[W]が求め、その後直線補間演算がなされる。
【００１２】
N199加工プログラムを読み込み、上記ステップＳ１０，Ｓ１２を実行して三次元座標変換キャンセル指令(G69)と判断すると、変換行列[R]、[T]を図１５に示す次式のように初期化する(ステップＳ４２，Ｓ４４)。
[R]=[E]   ---[E]は単位行列
[T]=[O]   ---[O]は零行列
以降三次元座標変換モードがキャンセルされ同処理が終了する。
【００１３】
【発明が解決しようとする課題】
第一に、斜め穴加工時の加工プログラムを示す図１８において、穴加工シーケンスを定めた固定サイクル指令すなわちG81~G89指令を使用するのが一般的である。該固定サイクルは複数のG0、G1動作に分解され、G指令毎に加工シーケンスが異なる。
上記加工プログラムは、センタ穴加工時G81、下穴ドリル加工時G83、仕上げボーリング加工時G85を用い、三次元座標変換指令G68とを組合せて斜め穴加工を実行するものである。
N101〜N199はセンタ穴加工のプログラムで、N101、N102の三次元座標変換指令G68にて三次元座標変換モードとし、N103~N198の固定サイクルG81モードで一連の穴加工動作を行せる。該穴加工はN101とN102とで指令された値で座標変換をして斜め穴となる。
N199は、三次元座標変換キャンセル指令G69で一旦三次元座標変換キャンセルする。これは、工具交換位置に戻る動作シーケンス等を指令するためである。
【００１４】
N201〜N299は下穴ドリル加工のプログラムで、N201とN202とでN101とN102全く同一の三次元座標変換G68指令の再設定を行い、N203~N298の固定サイクルG83モードで一連の穴加工動作を行わせる。該穴加工も座標変換がなされて斜め穴となる。N299で三次元座標変換キャンセル指令G69にて再度三次元座標変換キャンセルする。
N301〜N399は仕上げボーリング加工のプログラムで、N301とN302とでN101とN102全く同一の三次元座標変換G68指令の再々設定を実行して、N303~N398の固定サイクルG85モードで一連の穴加工動作を実行する。該穴加工も座標変換がなされて斜め穴となる。N399で三次元座標変換キャンセル指令G69にて三次元座標変換キャンセルする。
【００１５】
以上のように一旦キャンセルした三次元座標変換データとなる変換行列を復元する手段がないので、N101・N102の三次元座標変換指令G68をN201・N202およびN301・N302にて、同一内容を再度複数行プログラムしなければならず、手数がかかり煩雑であった。
【００１６】
また、第二に、NC装置には工具長オフセット指令G43、レファレンス点復帰指令G28などの多くの機能を有する。かかる機能を三次元座標変換モード中にすべて正常動作させると、ＮＣ装置を複雑にせしめ開発時間が増大していた。そこで、三次元座標変換モードにおいて指令不可の機能を選別し、加工プログラムで指令が選択されると、プログラムエラー等の仕様制約をしていた。
【００１７】
かかる仕様制約の例として三次元座標変換モードG68において上記指令不可となる指令があった場合の動作を図１９に示すサブプログラムを用いて説明する。ここで、レファレンス点復帰指令G28が指令不可でプログラムエラーになる制約仕様とする。
まず、メインプログラムN101の三次元座標変換G68指令で、初回の三次元座標変換が設定され、N102サブプログラム呼び出し指令M98でサブプログラムO1000が呼び出される。サブプログラムO1000におけるN201の三次元座標変換G68指令で、２回目の三次元座標変換が重複設定され、次のN202サブプログラム呼び出し指令M98でさらにサブプログラムO2000が呼び出される。サブプログラムO2000のN301の三次元座標変換G68指令で、３回目の三次元座標変換が重複設定される。次のN302~N338の直線補間指令G01にてN101・N201・N302で重複設定された三次元座標変換指令G68で三次元座標変換が行なわれる。
【００１８】
次に、N341に工具交換指令M06を実行したいため、その前提としてZ軸をレファレンス点復帰しなければならない。よってN340でレファレンス点復帰指令G28をプログラムする必要がある。しかし、レファレンス点復帰指令G28は三次元座標変換モードでは指令できない仕様のため、N339で三次元座標変換キャンセル指令G69を指令している。その結果、三次元座標変換キャンセル指令G69、レファレンス点復帰指令G28、工具交換指令M06の手順でプログラムする。次にN342の開始位置復帰指令G29でレファレンス点復帰指令G28の開始位置に戻す。
【００１９】
次にN350の三次元座標変換指令G68にて、メインプログラムN101と、サブプログラムO1000のN201と、サブプログラムO2000のN301との三次元座標変換指令G68で重複設定した三次元座標変換を復元し、N351~N398の直線補間指令G01をN302~N338と同様の変換値で三次元座標変換しようとする。
しかしながら、メインプログラムN101と、サブプログラムO1000のN201の三次元座標変換までの復元は、別個の上位プログラムで、且つサブプログラムO2000自体が他のプログラムから呼び出されるため、上記三次元座標変換の復元が極めて困難であった。
【００２０】
本発明は上記課題を解決するためになされたもので、三次元座標変換指令がキャンセルされた後の復元を容易にするＮＣ装置を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上記の目的を達成するため、この発明に係る数値制御装置は、加工プログラムを解析する解析手段と、この解析手段により解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める変換行列設定手段と、この求められた変換行列を記憶する変換行列記憶手段と、前記変換行列を記憶する退避変換行列記憶手段と、前記解析手段により解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化するクリア手段と、前記解析手段により解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる変換行列復元手段と、前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する三次元座標変換手段と、を備える構成としたものである。
またこの発明に係る数値制御装置は、前記変換行列設定手段を、求めた変換行列を前記変換行列記憶手段に記憶させるものとし、また前記クリア手段を、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させるものとしたものである。
またこの発明に係る数値制御装置は、前記変換行列設定手段を、求めた変換行列を前記変換行列記憶手段及び退避変換行列記憶手段に記憶させるものとしたものである。
係る数値制御装置によれば、三次元座標変換復元が容易になりプログラムが簡易になるという効果がある。
【００２２】
またこの発明に係る数値制御方法は、解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める第１の工程と、  この求められた変換行列を変換行列記憶手段に記憶させる第２の工程と、前記変換行列を退避変換行列記憶手段に記憶させる第３の工程と、解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化する第４の工程と、解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる第５の工程と、前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する第６の工程と、を有するものである。
またこの発明に係る数値制御方法は、前記第１の工程を、前記第２の工程を含むものとし、また前記第４の工程を、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させる工程を含むものとしたものである。
またこの発明に係る数値制御方法は、前記第１の工程を、前記第２の工程及び第３の工程を含むものとしたものである。
係る数値制御方法によれば、三次元座標変換復元が容易になりプログラムが簡易になるという効果がある。
【００２５】
【発明の実施の形態】
実施の形態１．
本発明の一実施の形態を図１及び図２によって説明する。図１は一実施の形態によるＮＣ装置のブロック図、図２は図１に示す三次元座標変換演算部のブロック図である。
図１において、ＮＣ装置は加工情報となる指令手段としての加工プログラムを読み込むプログラム入力部１０と、プログラム入力部１０から読み込まれた加工プログラムに基づいて加工軌跡および加工速度を演算すると共に、制御部１４に出力する演算部１２と、加工指示指令に基づいて制御信号を駆動部１６に出力する制御部１４と、駆動部１６で工作機械１８の加工制御を成す駆動部１６とを備えている。ここに、加工プログラムは、ワーク座標系のＸ，Ｙ，Ｚ軸に対して、回転及び原点の平行移動した新しい座標系を、変換行列を用いて定義すると共に、空間上の任意の平面を定義して作成された三次元座標変換指令、該三次元変換指令を無効にするキャンセル指令等を記述している。
【００２６】
演算部１２には加工プログラムに基づいて三次元座標変換を処理する三次元座標変換演算部２０と、直線，円弧を処理する直線・円弧補間演算部２２と、加工情報に対応して演算処理をする工具径補正演算部、固定サイクル演算部(図示せず)とを有している。
上記のように加工プログラム(例えば、直線補間Ｇ０１Ｘ――Ｙ――Z――Ｆ――；など)を演算部１２にて加工軌跡および加工速度信号に変換し、加工プログラムに基づいて工作機械１８が数値制御する。
【００２７】
図２において、三次元座標変換演算部２０は、プログラム入力部１０で読み込んだ加工プログラムから三次元座標変換の場合、座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧の場合、プログラム座標値と変換行列とから三次元座標変換をしてワーク座標値を求め、直線・円弧補間演算部２２に印加している。そして、三次元座標変換キャンセル時には変換行列を退避してキャンセルし、その後、三次元座標変換復元指令に基づいて変換行列を復元し、再度一連の直線または円弧のプログラム座標値と、変換行列とから三次元座標変換を実行してワーク座標値を求め、直線・円弧補間演算部２２に印加している。
【００２８】
解析手段としてのプログラム解析手段４０は、加工プログラムから三次元座標変換(G68)指令, 直線・円弧(G00〜G03)指令、三次元座標変換キャンセル(G69)指令、三次元座標変換復元指令(G68.1)を判断し、該判断結果に基づいて変換行列設定手段４２、プログラム座標値記憶手段４６、変換行列クリア手段５２、変換行列復元手段６０に処理を実行させるものである。
【００２９】
変換行列設定手段４２は三次元座標変換(G68)指令により加工プログラムの座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出し、変換行列記憶手段４４に変換行列[R]、[T]を記憶する。かかる記憶の際、変換行列記憶手段４４にすでに変換行列[Ro]、[To]に記憶(設定)されている場合、すでに記憶された値に[Ri]、[Ti]を重複した新たな変換行列[R]、[T]を下式により求めて、複数の三次元座標変換指令G68に基づく変換行列を重複して記憶(設定)できるようになっている。
[R]=[Ro][Ri]    ---- 回転行列の更新
[T]=[Ro][Ti]+[To]  ---- 平行移動行列の更新
【００３０】
第１の記憶手段としての変換行列記憶手段４４は、図１１に示す変換行列としての回転行列[R]と平行移動行列[T]を記憶しており、三次元座標変換キャンセル指令G69により記憶していた変換行列[R]、[T]を読み出して退避変換行列記憶手段６２に退避変換行列[Rs]、[Ts]として退避し、記憶すると共に、三次元座標変換復元指令G68.1により退避変換行列記憶手段６２に記憶していた退避変換行列[Rs]、[Ts]を読み出して変換行列記憶手段４４に復元して記憶するものである。
【００３１】
プログラム座標値記憶手段４６は一連の直線・円弧(G00〜G03)指令により加工プログラムの座標値X,Y,Zを座標変換前のプログラム座標値[P]として記憶し、読み出したプログラム座標値[P]を三次元座標変換手段４８に加えるものである。三次元座標変換手段４８はプログラム座標値[P]と変換行列記憶手段４４に記憶されている変換行列[R]、[T]から図１３に示す下式の三次元座標変換式を実行してワーク座標値[W]を求める。
[W]=[R][P]+[T]   ----三次元座標変換
ワーク座標値記憶手段５０は座標変換されたワーク座標値[W]を記憶し、ワーク座標値[W]を読み出して直線・円弧補間演算部２２に加えるものである。
【００３２】
クリア手段としての変換行列クリア手段５２は三次元座標変換キャンセル指令G69により変換行列記憶手段４４に記憶していた変換行列[R]、[T]を読み出して退避変換行列記憶手段６２に退避変換行列[ [Rs]、[Ts]として退避して記憶する。その後変換行列[R]、[T]を図１５に示す下式のように初期化するものである。
[R]=[E]   ---[E]は単位行列
[T]=[O]   ---[O]は零行列
【００３３】
変換行列復元手段６０は、三次元座標変換復元指令(G68.1)により退避変換行列記憶手段６２に記憶していた退避変換行列[Rs]、[Ts]を変換行列記憶手段４４に変換行列[R]、[T]として復元させる。該復元後に、一連の直線・円弧指令G00〜G03指令時のプログラム座標値[P]を、復元した変換行列[R]、[T]で三次元座標変換手段４８に座標変換させるものである。
第２の記憶手段としての退避変換行列記憶手段６２は、三次元座標変換キャンセル指令G69時に変換行列記憶手段４４の変換行列[R]、[T]を変換行列[Rs]、[Ts]として記憶し、三次元座標変換復元指令G68.1時に読み出した変換行列[Rs]、[Ts]を変換行列記憶手段４４に変換行列[R]、[T]として復元させるものである。
【００３４】
初期化手段６８は、ＮＣ装置の電源投入時又は、加工プログラム中断などのリセット操作時に実施される処理で、変換行列記憶手段４４および退避変換行列記憶手段６２の変換行列を図１５に示す下式のように初期化するものである。
[R]=[E]   ---[E]は単位行列
[T]=[O]   ---[O]は零行列
【００３５】
上記のように構成されたＮＣ装置の動作を、図１及び図２のブロック図、図３及び図４のフローチャート、図５の加工プログラムによって説明する。
＜三次元座標変換復元の動作の概要＞
指令された加工プログラムから三次元座標変換の場合、座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧の場合、プログラム座標値と変換行列とから三次元座標変換を実行してワーク座標値を求める。三次元座標変換キャンセルがされた時には、変換行列を退避させて、三次元座標変換をキャンセルする。その後の三次元座標変換復元のときに変換行列を復元して、再度一連の直線または円弧のプログラム座標値と、変換行列とから三次元座標変換を実行してワーク座標値を求めるものである。
【００３６】
図５に示す加工プログラムを、プログラム入力部１０を介して読み込み、プログラム解析手段４０は、三次元座標変換指令(G68)、直線・円弧指令(G00〜G03)、三次元座標変換キャンセル指令(G69)、三次元座標変換復元指令(G68.1)を解析して判断し(ステップＳ１０，Ｓ１２)、N101が三次元座標変換指令G68であるから、変換行列設定手段４２は加工プログラムの座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出し、加工プログラム「G68 X_Y_Z_I_J_K_R;」から所定の回転行列[Ri]、平行移動行列[Ti]を求め、指令値の変換行列[Ri]、[Ti]、更新前の変換行列を[Ro]、[To]、更新後の変換行列を[R]、[T]とすれば図１６に示す下式の演算を実行する(ステップＳ３２，Ｓ３４)。
[R]=[Ro][Ri]       ----回転行列の更新
[T]=[Ro][Ti]+[To]   ----平行移動行列の更新
次のN102の加工プログラムでは、上記ステップＳ１０，Ｓ１２おいて、２回目の三次元座標変換指令G68と判断し、変換行列記憶手段４４にN101用の変換行列にさらにN102用の変換行列が重複され新たな変換行列[R]、[T]を記憶(設定する(ステップＳ３０，Ｓ３２，Ｓ３４、第１、第２の工程)。
上記のように三次元座標変換指令G68が指令される毎に上記行列の更新演算をするため、複数の三次元座標変換指令G68を重複設定できるようになっている。
【００３７】
次のN103の加工プログラムでは、プログラム解析手段４０は上記ステップＳ１０，Ｓ１２おいて、直線指令G01と判断し、加工プログラムの座標値X,Y,Zから座標変換前のプログラム座標値[P]を抽出する。すなわち加工プログラム「G01 X_Y_Z;」から所定のプログラム座標値[P]を抽出してプログラム座標値記憶手段４６に記憶する(ステップＳ１４)。
次に、三次元座標変換手段４８は、変換前のプログラム座標値を[P]、変換行列を[R]、[T]、変換後のワーク座標値を[W]とすれば、図１３に示す三次元座標変換を下式のように求めてワーク座標記憶手段５０に記憶する(ステップＳ１６)。
[W]=[R][P]+[T]    ----三次元座標変換
直線・円弧補間演算部２２は、変換されたワーク座標値[W]を、指令速度に対応した直線補間演算を実行し(ステップＳ１８)、直線指令G01処理が終了する。
上記のように、一連の直線・円弧指令G00〜G03により毎回、変換行列[R]、[T]を用いて三次元座標変換を実行する。
同様にN104~N198の加工プログラムも、上記と同様に、一連の三次元座標変換を実行する(図３のステップＳ１４，Ｓ１６，Ｓ１８)。
N199の加工プログラムでは、プログラム解析手段４０は三次元座標変換キャンセル指令G69と判断し、変換行列クリア手段５２は該キャンセル指令に基づいて変換行列[R]、[T]を退避変換行列[Rs]、[Ts]として変換行列記憶手段６２に退避して記憶する(ステップＳ４０)。
[R]→[Rs]   ----回転行列の退避
[T]→[Ts]   ----平行移動行列の退避
つづいて、変換行列[R]、[T]を図１５に示す下式の初期化を実行する(ステップＳ４２，Ｓ４４)。これにより三次元座標変換モードをキャンセルして終了する。
なお、上記ステップＳ４０，Ｓ４２，Ｓ４４が第３、第４の工程を成す。
[R]=[E]   ---[E]は単位行列
[T]=[O]   ---[O]は零行列
【００３８】
N203〜N298の加工プログラムでは直線指令G01であるため、上記のようにステップS１４，Ｓ１６，Ｓ１８を実行する。しかし、上記ステップＳ４２，Ｓ４４により変換行列[R]、[T]を初期化しているので、プログラム指令値[P]を三次元座標変換しない。
【００３９】
次のN301の加工プログラムではステップＳ１２おいて三次元座標変換復元(G68.1)指令と判断すると、変換行列復元手段６０は、退避変換行列[Rs]、[Ts]の有無を判断し(ステップＳ５０)、有りならば、退避変換行列記憶手段６２に退避した退避変換行列[Rs]、[Ts]を読み出して変換行列記憶手段４４に変換行列[R]、[T]を復元して記憶する(ステップＳ５２  第５の工程)。
[Rs]→[R]    ----回転行列の復元
[Ts]→[T]    ----平行移動行列の復元
一方、ステップＳ５０において、変換行列復元手段６０は退避変換行列[Rs]、[Ts]が無いと判断すると、エラー処理を実行する(ステップＳ５４)。
N303〜N398の加工プログラムではステップＳ１０，Ｓ１２において、G01と判断すると、プログラム指令値[P]を復元された変換行列[R]、[T]で三次元座標変換を実行してワーク座標値[W]が演算され、その後直線・円弧補間演算がなされる(ステップＳ１４，Ｓ１６，Ｓ１８  第６の工程)。
上記のように三次元座標変換キャンセル指令G69により三次元座標変換指令G68をキャンセルした後、加工プログラムの三次元座標変換復元指令G68.1により三次元座標変換が可能となる。その後、三次元座標変換復元指令G68.1 を実行する。
【００４０】
次に、ＮＣ装置の初期化の動作を図４のフローチャートによって説明する。初期化はＮＣ装置の電源投入時、又は加工プログラム中断などのリセット操作時に実施される処理である。変換行列[R]、[T]と、退避変換行列[Rs]、[Ts]とを図１５の下式に示すように初期化する(ステップＳ６０，Ｓ６２)。
[R]=[E]、[Rs]=[E]   ---[E]は単位行列
[T]=[O]、[Ts]=[O]   ---[O]は零行列
以降三次元座標変換モードがキャンセルされて初期状態になる。
【００４１】
次に、上記ＮＣ装置の基本構成及び動作を前提として図６の加工プログラムを用いて説明する。
図６の斜め穴加工の加工プログラム例を用いて本実施の形態の特徴を説明する。本加工プログラムは、センタ穴加工G81、下穴ドリル加工G83、仕上げボーリング加工G85を使用し、三次元座標変換指令G68とを組合せて、斜め穴加工を実行するものである。
穴加工において、穴加工シーケンスを定めた固定サイクル指令すなわちG81~G89指令を使用するのが一般的である。この固定サイクルは複数のG0、G1動作に分解され、G指令毎に加工シーケンスが異なる。
N101〜N199はセンタ穴加工の加工プログラムで、N101とN102の三次元座標変換指令G68にて三次元座標変換モード中とし、N103~N198の固定サイクルG81モードで一連の穴加工動作を実行する。このときの穴加工はN101とN102とで指令された値で座標変換がなされて斜め穴となる。
【００４２】
N199の三次元座標変換キャンセル指令G69は、工具交換位置に戻る動作シーケンス等を指令するため、一旦三次元座標変換キャンセルする。
N201〜N299は下穴ドリル加工を示すもので、N201は三次元座標変換復元指令G68.1にて、N101とN102の三次元座標変換指令G68で設定した三次元座標変換を復元し、N203~N298の固定サイクルG83モードで一連の穴加工動作を実行する。このときの穴加工も座標変換がなされて斜め穴となる。
N299で三次元座標変換キャンセル指令G69にて一旦三次元座標変換キャンセルする。
N301〜N399は仕上げボーリング加工を示すもので、N301は三次元座標変換復元指令G68.1にて、N101とN102の三次元座標変換指令G68で設定した三次元座標変換を再度復元し、N303~N398の固定サイクルG85モードで一連の穴加工動作を実行する。このときの穴加工も座標変換がなされて斜め穴となる。N399で三次元座標変換キャンセル指令G69にて三次元座標変換キャンセルする。
【００４３】
本実施の形態によれば、N201およびN301にて、三次元座標変換指令G68.1を単独で指令すれば良く、加工プログラムが簡素になるという効果がある。
【００４４】
実施の形態２．
本発明の他の実施の形態を説明する。他の実施の形態のＮＣ装置の構成は図１及び図２で、図３のフローチャートを基本として動作する。
次に、図７に示す加工プログラムを用いて、三次元座標変換モード中に指令不可の指令があった場合のＮＣ装置の動作を説明する。
ここで、三次元座標変換G68モードを実行している時に、レファレンス点復帰指令G28が指令不可でプログラムエラーになる制約仕様とする。
まず、メインプログラムN101の三次元座標変換G68指令で、初回の三次元座標変換が設定され、次のN102サブプログラム呼び出し指令M98でサブプログラムO1000を呼び出す。
サブプログラムO1000のN201の三次元座標変換G68指令で、2回目の三次元座標変換が重複設定され、次のN202サブプログラム呼び出し指令M98でサブプログラムO2000を呼び出す。サブプログラムO2000のN301の三次元座標変換G68指令で、３回目の三次元座標変換を重複設定する。次のN302~N338の直線補間指令G01にて、N101・N201・N302で重複設定された三次元座標変換指令G68で三次元座標変換が行なわれる。
【００４５】
次に、N341に工具交換指令M06を実行したいため、前提としてZ軸をレファレンス点復帰する必要がある。そのためN340でレファレンス点復帰指令G28をプログラムする必要がある。ところがレファレンス点復帰指令G28は三次元座標変換モード中指令できない仕様のため、N339で三次元座標変換キャンセル指令G69を指令している。その結果、三次元座標変換キャンセル指令G69、レファレンス点復帰指令G28、工具交換指令M06の手順でプログラムする。次にN342の開始位置復帰指令G29でレファレンス点復帰指令G28の開始位置に戻す。
次にN350の三次元座標変換復元指令G68.1にて、メインプログラムN101と、サブプログラムO1000のN201と、サブプログラムO2000のN301との三次元座標変換指令G68で重複設定した三次元座標変換を復元し、N351~N398の直線補間指令G01をN302~N338と同様に三次元座標変換ができる。
本実施の形態によれば、サブプログラムO2000のN350三次元座標変換指令G68.1を単独で指令し容易に復元することができる。
【００４６】
実施の形態３．
次に、三次元座標変換指令G68のタイミングで変換行列[R]、[T]を退避する動作を図８に示すフローチャートによって説明する。図８中、図３と同一符号は、同一または相当部分を示し、適宜、説明を省略する。
【００４７】
次に、三次元座標変換指令G68指令により加工プログラムの座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出する。すなわち加工プログラム「G68 XYZIJKR; 」から所定の回転行列[Ri]、平行移動行列[Ti]を演算する(ステップＳ３０)。指令値の変換行列[Ri]、[Ti]、更新前の変換行列を[Ro]、[To]、更新後の変換行列を[R]、[T]とすれば図１６に示す下式の演算を求め、変換行列の更新処理を実行する(ステップＳ３２，Ｓ３４)。
[R]=[Ro][Ri]       ----回転行列の更新
[T]=[Ro][Ti]+[To]   ----平行移動行列の更新
つづいて変換行列[R]、[T]を退避変換行列[Rs]、[Ts]として退避する(ステップＳ４０)。
[R]→[Rs]   ----回転行列の退避
[T]→[Ts]   ----平行移動行列の退避
退避変換行列[Rs]、[Ts]は三次元座標変換復元指令G68.1により変換行列[R]、[T]に復元させるものである。
【００４８】
三次元座標変換キャンセル指令G69により変換行列[R]、[T]を図１５に示す下式のように初期化する(ステップＳ４２，Ｓ４４)。
[R]=[E]   ---[E]は単位行列
[T]=[O]   ---[O]は零行列
上記のように、変換行列の退避タイミングを三次元座標変換指令G68のタイミングで実行しても良い。
【図面の簡単な説明】
【図１】 本発明の実施の形態によるＮＣ装置の全体構成を示すブロック図である。
【図２】 図１に示すＮＣ装置の三次元座標変換復元部を示すブロック図である。
【図３】 図１及び図２に示す三次元座標変換復元部を用いて三次元座標変換復元の実行手順を示すフローチャートである。
【図４】 図２に示す三次元座標変換復元部を用いて初期化の実行手順を示すフローチャートである。
【図５】 一実施の形態による三次元座標変換の加工プログラム例を示す図である。
【図６】 一実施の形態による三次元座標変換の斜め加工プログラム例を示す図である。
【図７】 一実施の形態による三次元座標変換の加工プログラム例を示す図である。
【図８】 一実施の形態による三次元座標変換復元の実行手順を示すフローチャートである。
【図９】 一般的な三次元座標変換の加工プログラム例を示す図である。
【図１０】 一般的な三次元座標変換の説明図である。
【図１１】 一般的な三次元座標変換の変換行列の説明図である。
【図１２】 一般的な三次元座標変換の変換行列の説明図である。
【図１３】 一般的な三次元座標変換式の説明図である。
【図１４】 一般的な三次元座標変換の具体例を示す説明図である。
【図１５】 三次元座標変換の行列の初期化を示す説明図である。
【図１６】 三次元座標変換の行列の更新を示す説明図である。
【図１７】 従来の三次元座標変換の行列の実行手順を示すフローチャートである。
【図１８】 従来の三次元座標変換の加工プログラム例を示す図である。
【図１９】 従来の三次元座標変換の加工プログラム例を示す図である。
【符号の説明】
１０  プログラム入力部、１２ 演算部、１４  制御部、１６ 駆動部、１８ 工作機械、２０  三次元座標変換演算部、２２  直線・円弧補間演算部、４０ プログラム解析手段、４２ 変換行列設定手段、４４ 変換行列記憶手段(第１の記憶手段)、４６ プログラム座標値記憶手段、４８ 三次元座標変換手段、５０ ワーク座標値記憶手段、５２  変換行列クリア手段、６０  変換行列復元手段、６２退避変換行列記憶手段(第２の記憶手段)、６８  初期化手段。
【図１】
0004036151.tif 000002
【図２】
0004036151.tif 000003
【図３】
0004036151.tif 000004
【図４】
0004036151.tif 000005
【図５】
0004036151.tif 000006
【図６】
0004036151.tif 000007
【図７】
0004036151.tif 000008
【図８】
0004036151.tif 000009
【図９】
0004036151.tif 000010
【図１０】
0004036151.tif 000011
【図１１】
0004036151.tif 000012
【図１２】
0004036151.tif 000013
【図１３】
0004036151.tif 000014
【図１４】
0004036151.tif 000015
【図１５】
0004036151.tif 000016
【図１６】
0004036151.tif 000017
【図１７】
0004036151.tif 000018
【図１８】
0004036151.tif 000019
【図１９】
0004036151.tif 000020