JP4036151B2 - 数値制御装置及び数値制御方法 - Google Patents
数値制御装置及び数値制御方法 Download PDFInfo
- Publication number
- JP4036151B2 JP4036151B2 JP2003196203A JP2003196203A JP4036151B2 JP 4036151 B2 JP4036151 B2 JP 4036151B2 JP 2003196203 A JP2003196203 A JP 2003196203A JP 2003196203 A JP2003196203 A JP 2003196203A JP 4036151 B2 JP4036151 B2 JP 4036151B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- conversion
- dimensional coordinate
- transformation
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Numerical Control (AREA)
Description
【発明の属する技術分野】
本発明は数値制御(Numerical Control;以下NCという)装置における三次元座標変換復元手段に関するものである。
【0002】
【従来の技術】
従来のNC装置における三次元座標変換手段として特開昭63−192107号公報がある。該公報によれば、三次元座標変換を変換行列によって実現することが記載されている。
【0003】
NC装置の三次元座標変換の動作を図9及び図10によって説明する。図9は、加工プログラム、図10は三次元座標変換図である。図9において、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°回転した、図10に示す新しいG68プログラム座標系(A)、すなわち、P'座標系が設定される。
【0004】
N102ブロック「N102 G68 X0 Y100. Z0 I1 J0 K0 R45. ;」は、N101で設定されたG68プログラム座標系(A)に対して(X,Y,Z)=(0, 100., 0) 原点が平行移動し、X軸を回転中心として45°回転した、図10に示す新しいG68プログラム座標系(B) 、すなわち、P'座標系が設定される。上記のように三次元座標変換指令G68は重複することができる。
【0005】
N103ブロック「N103 G01 XYZ ;」は、直線補間指令を示し図10に示すP"座標系でプログラムするもので、三次元座標変換されるとワーク座標系すなわちW座標系になる。同様に図9に示すN104〜N198ブロックも三次元座標変換される。
N199ブロック「N199 G69 ;」は, 三次元座標変換キャンセル指令で、該指令により三次元座標変換がキャンセルされ、該キャンセル後、通常の座標変換しない状態になる。上記がNC装置における三次元座標変換の動作である。
【0006】
次に三次元座標変換に用いる変換行列を図11及び図12によって説明する。図11は変換行列、図12は変換法則の説明図である。
図11において、変換行列は3行3列の回転行列[R]と3行1列の平行移動行列[T]から成り、三次元座標変換指令G68時に設定されると共に、三次元座標変換キャンセルG69時に初期化される。
図12において、回転行列[R]は加工プログラムI,J,Kの回転中心軸指定とRの回転角度から演算され、平行移動行列[T]は加工プログラムX,Y,Zの値になる。
【0007】
次に、三次元座標変換式を図13によって説明する。三次元座標変換式は、変換前のプログラム座標値[P]を3行1列の行列とし、変換後のワーク座標値[W]を3行1列の行列とすれば、下記となる。
[W]=[R][P]+[T]
ここに、プログラム座標値[P]は直線・円弧指令G00〜G03時に設定される。
【0008】
次に、図14に示す加工プログラム、変換行列、三次元座標変換について説明する。図14の(1)において、加工プログラム「G68 X0 Y0 Z−100. I0 J0 K1 R30. ;」は、三次元座標変換指令で、ワーク座標系に対して(0, 0,−100)中心が平行移動し、Z軸を中心とし、反時計方向に30°回転したプログラム座標系を設定するものである。
図14の(2)において、三次元座標変換指令時の変換行列は、回転行列[R]にはZ軸回りの回転すなわちXY平面上で30°回転するデータが設定され、平行移動行列[T]にはZ軸方向に−100.平行移動するデータが設定される。
図14の(3)において、加工プログラム「G01 X50. Y0 Z20. ;」は直線補間指令で、プログラム座標値P'(50., 0, 20.)への指令である。プログラム座標行列[P]には前記プログラム座標値データが設定される。
次に、プログラム座標行列[P]を三次元座標変換し、ワーク座標行列[W]を[R][P]+[T]によって求めてワーク座標値W(43.3, 25.,−80.)を得ている。
【0009】
図9に示す加工プログラムに基づいてNC装置の三次元座標変換を図17のフローチャートによって説明する。該フローチャートは指令された加工プログラムから、三次元座標変換指令により座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧のときプログラム座標値と変換行列とから三次元座標変換を実行してワーク座標値を求める。そして三次元座標変換キャンセル時には変換行列を初期化しキャンセルさせるものである。
【0010】
まず、N101の加工プログラムを読み込み、三次元座標変換G68指令, 直線・円弧(G00〜G03)指令、三次元座標変換キャンセルG69指令を判断し(ステップS10,S12)、N101の加工プログラムが初めての三次元座標変換指令G68であるから、加工プログラムの「G68 XYZIJKR;」、すなわち座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出し(ステップS30)、所定の回転行列[Ri]、平行移動行列[Ti]を更新する(ステップS32,S34)。かかる変換行列の更新は、指令値の変換行列[Ri]、[Ti]、更新前の変換行列を[Ro]、[To]、更新後の変換行列を[R]、[T]とすれば図16に示す下式を実行する。
[R]=[Ro][Ri] ----回転行列の更新
[T]=[Ro][Ti]+[To] ----平行移動行列の更新
N102の加工プログラムでは2回目の三次元座標変換指令G68で上記ステップS10,S12,S30,S32,S34を実行する。これによりN101用の変換行列にさらにN102用の変換行列が重複され新たな変換行列[R]、[T]が設定される。すなわち、三次元座標変換(G68)指令毎に前記行列の更新演算が実行されるので、複数の三次元座標変換指令G68を重複できるようになっている。以降三次元座標変換モード中となり同処理が終了する。
【0011】
N103加工プログラムを読み込み、上記ステップS10,S12を実行して直線指令G01と判断すると、加工プログラムの座標値X,Y,Zから座標変換前のプログラム座標値[P]を抽出する。加工プログラム「G01 XYZ; 」から所定のプログラム座標値[P]を求め(ステップS14)、変換前のプログラム座標値を[P]、変換行列を[R]、[T]、変換後のワーク座標値を[W]とすれば、図14、下式に示す三次元座標変換式、すなわち、三次元座標変換処理を実行する(ステップS16)。
[W]=[R][P]+[T] ----三次元座標変換
変換されたワーク座標値[W]を、指令速度に対応した直線補間演算を実行して直線指令G01処理が終了する(ステップS18)。同様に、N104~N198の加工プログラムも同一ルートを通り、一連の三次元座標変換が行なわれる。
上記のように、一連の直線・円弧指令G00〜G03が毎回、変換行列[R]、[T]による三次元座標変換が行なわれる。プログラム指令値[P]を変換行列[R]、[T]を用いて三次元座標変換を実行してワーク座標値[W]が求め、その後直線補間演算がなされる。
【0012】
N199加工プログラムを読み込み、上記ステップS10,S12を実行して三次元座標変換キャンセル指令(G69)と判断すると、変換行列[R]、[T]を図15に示す次式のように初期化する(ステップS42,S44)。
[R]=[E] ---[E]は単位行列
[T]=[O] ---[O]は零行列
以降三次元座標変換モードがキャンセルされ同処理が終了する。
【0013】
【発明が解決しようとする課題】
第一に、斜め穴加工時の加工プログラムを示す図18において、穴加工シーケンスを定めた固定サイクル指令すなわちG81~G89指令を使用するのが一般的である。該固定サイクルは複数のG0、G1動作に分解され、G指令毎に加工シーケンスが異なる。
上記加工プログラムは、センタ穴加工時G81、下穴ドリル加工時G83、仕上げボーリング加工時G85を用い、三次元座標変換指令G68とを組合せて斜め穴加工を実行するものである。
N101〜N199はセンタ穴加工のプログラムで、N101、N102の三次元座標変換指令G68にて三次元座標変換モードとし、N103~N198の固定サイクルG81モードで一連の穴加工動作を行せる。該穴加工はN101とN102とで指令された値で座標変換をして斜め穴となる。
N199は、三次元座標変換キャンセル指令G69で一旦三次元座標変換キャンセルする。これは、工具交換位置に戻る動作シーケンス等を指令するためである。
【0014】
N201〜N299は下穴ドリル加工のプログラムで、N201とN202とでN101とN102全く同一の三次元座標変換G68指令の再設定を行い、N203~N298の固定サイクルG83モードで一連の穴加工動作を行わせる。該穴加工も座標変換がなされて斜め穴となる。N299で三次元座標変換キャンセル指令G69にて再度三次元座標変換キャンセルする。
N301〜N399は仕上げボーリング加工のプログラムで、N301とN302とでN101とN102全く同一の三次元座標変換G68指令の再々設定を実行して、N303~N398の固定サイクルG85モードで一連の穴加工動作を実行する。該穴加工も座標変換がなされて斜め穴となる。N399で三次元座標変換キャンセル指令G69にて三次元座標変換キャンセルする。
【0015】
以上のように一旦キャンセルした三次元座標変換データとなる変換行列を復元する手段がないので、N101・N102の三次元座標変換指令G68をN201・N202およびN301・N302にて、同一内容を再度複数行プログラムしなければならず、手数がかかり煩雑であった。
【0016】
また、第二に、NC装置には工具長オフセット指令G43、レファレンス点復帰指令G28などの多くの機能を有する。かかる機能を三次元座標変換モード中にすべて正常動作させると、NC装置を複雑にせしめ開発時間が増大していた。そこで、三次元座標変換モードにおいて指令不可の機能を選別し、加工プログラムで指令が選択されると、プログラムエラー等の仕様制約をしていた。
【0017】
かかる仕様制約の例として三次元座標変換モードG68において上記指令不可となる指令があった場合の動作を図19に示すサブプログラムを用いて説明する。ここで、レファレンス点復帰指令G28が指令不可でプログラムエラーになる制約仕様とする。
まず、メインプログラムN101の三次元座標変換G68指令で、初回の三次元座標変換が設定され、N102サブプログラム呼び出し指令M98でサブプログラムO1000が呼び出される。サブプログラムO1000におけるN201の三次元座標変換G68指令で、2回目の三次元座標変換が重複設定され、次のN202サブプログラム呼び出し指令M98でさらにサブプログラムO2000が呼び出される。サブプログラムO2000のN301の三次元座標変換G68指令で、3回目の三次元座標変換が重複設定される。次のN302~N338の直線補間指令G01にてN101・N201・N302で重複設定された三次元座標変換指令G68で三次元座標変換が行なわれる。
【0018】
次に、N341に工具交換指令M06を実行したいため、その前提としてZ軸をレファレンス点復帰しなければならない。よってN340でレファレンス点復帰指令G28をプログラムする必要がある。しかし、レファレンス点復帰指令G28は三次元座標変換モードでは指令できない仕様のため、N339で三次元座標変換キャンセル指令G69を指令している。その結果、三次元座標変換キャンセル指令G69、レファレンス点復帰指令G28、工具交換指令M06の手順でプログラムする。次にN342の開始位置復帰指令G29でレファレンス点復帰指令G28の開始位置に戻す。
【0019】
次にN350の三次元座標変換指令G68にて、メインプログラムN101と、サブプログラムO1000のN201と、サブプログラムO2000のN301との三次元座標変換指令G68で重複設定した三次元座標変換を復元し、N351~N398の直線補間指令G01をN302~N338と同様の変換値で三次元座標変換しようとする。
しかしながら、メインプログラムN101と、サブプログラムO1000のN201の三次元座標変換までの復元は、別個の上位プログラムで、且つサブプログラムO2000自体が他のプログラムから呼び出されるため、上記三次元座標変換の復元が極めて困難であった。
【0020】
本発明は上記課題を解決するためになされたもので、三次元座標変換指令がキャンセルされた後の復元を容易にするNC装置を提供することを目的とする。
【0021】
【課題を解決するための手段】
上記の目的を達成するため、この発明に係る数値制御装置は、加工プログラムを解析する解析手段と、この解析手段により解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める変換行列設定手段と、この求められた変換行列を記憶する変換行列記憶手段と、前記変換行列を記憶する退避変換行列記憶手段と、前記解析手段により解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化するクリア手段と、前記解析手段により解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる変換行列復元手段と、前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する三次元座標変換手段と、を備える構成としたものである。
またこの発明に係る数値制御装置は、前記変換行列設定手段を、求めた変換行列を前記変換行列記憶手段に記憶させるものとし、また前記クリア手段を、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させるものとしたものである。
またこの発明に係る数値制御装置は、前記変換行列設定手段を、求めた変換行列を前記変換行列記憶手段及び退避変換行列記憶手段に記憶させるものとしたものである。
係る数値制御装置によれば、三次元座標変換復元が容易になりプログラムが簡易になるという効果がある。
【0022】
またこの発明に係る数値制御方法は、解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める第1の工程と、 この求められた変換行列を変換行列記憶手段に記憶させる第2の工程と、前記変換行列を退避変換行列記憶手段に記憶させる第3の工程と、解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化する第4の工程と、解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる第5の工程と、前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する第6の工程と、を有するものである。
またこの発明に係る数値制御方法は、前記第1の工程を、前記第2の工程を含むものとし、また前記第4の工程を、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させる工程を含むものとしたものである。
またこの発明に係る数値制御方法は、前記第1の工程を、前記第2の工程及び第3の工程を含むものとしたものである。
係る数値制御方法によれば、三次元座標変換復元が容易になりプログラムが簡易になるという効果がある。
【0025】
【発明の実施の形態】
実施の形態1.
本発明の一実施の形態を図1及び図2によって説明する。図1は一実施の形態によるNC装置のブロック図、図2は図1に示す三次元座標変換演算部のブロック図である。
図1において、NC装置は加工情報となる指令手段としての加工プログラムを読み込むプログラム入力部10と、プログラム入力部10から読み込まれた加工プログラムに基づいて加工軌跡および加工速度を演算すると共に、制御部14に出力する演算部12と、加工指示指令に基づいて制御信号を駆動部16に出力する制御部14と、駆動部16で工作機械18の加工制御を成す駆動部16とを備えている。ここに、加工プログラムは、ワーク座標系のX,Y,Z軸に対して、回転及び原点の平行移動した新しい座標系を、変換行列を用いて定義すると共に、空間上の任意の平面を定義して作成された三次元座標変換指令、該三次元変換指令を無効にするキャンセル指令等を記述している。
【0026】
演算部12には加工プログラムに基づいて三次元座標変換を処理する三次元座標変換演算部20と、直線,円弧を処理する直線・円弧補間演算部22と、加工情報に対応して演算処理をする工具径補正演算部、固定サイクル演算部(図示せず)とを有している。
上記のように加工プログラム(例えば、直線補間G01X――Y――Z――F――;など)を演算部12にて加工軌跡および加工速度信号に変換し、加工プログラムに基づいて工作機械18が数値制御する。
【0027】
図2において、三次元座標変換演算部20は、プログラム入力部10で読み込んだ加工プログラムから三次元座標変換の場合、座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧の場合、プログラム座標値と変換行列とから三次元座標変換をしてワーク座標値を求め、直線・円弧補間演算部22に印加している。そして、三次元座標変換キャンセル時には変換行列を退避してキャンセルし、その後、三次元座標変換復元指令に基づいて変換行列を復元し、再度一連の直線または円弧のプログラム座標値と、変換行列とから三次元座標変換を実行してワーク座標値を求め、直線・円弧補間演算部22に印加している。
【0028】
解析手段としてのプログラム解析手段40は、加工プログラムから三次元座標変換(G68)指令, 直線・円弧(G00〜G03)指令、三次元座標変換キャンセル(G69)指令、三次元座標変換復元指令(G68.1)を判断し、該判断結果に基づいて変換行列設定手段42、プログラム座標値記憶手段46、変換行列クリア手段52、変換行列復元手段60に処理を実行させるものである。
【0029】
変換行列設定手段42は三次元座標変換(G68)指令により加工プログラムの座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出し、変換行列記憶手段44に変換行列[R]、[T]を記憶する。かかる記憶の際、変換行列記憶手段44にすでに変換行列[Ro]、[To]に記憶(設定)されている場合、すでに記憶された値に[Ri]、[Ti]を重複した新たな変換行列[R]、[T]を下式により求めて、複数の三次元座標変換指令G68に基づく変換行列を重複して記憶(設定)できるようになっている。
[R]=[Ro][Ri] ---- 回転行列の更新
[T]=[Ro][Ti]+[To] ---- 平行移動行列の更新
【0030】
第1の記憶手段としての変換行列記憶手段44は、図11に示す変換行列としての回転行列[R]と平行移動行列[T]を記憶しており、三次元座標変換キャンセル指令G69により記憶していた変換行列[R]、[T]を読み出して退避変換行列記憶手段62に退避変換行列[Rs]、[Ts]として退避し、記憶すると共に、三次元座標変換復元指令G68.1により退避変換行列記憶手段62に記憶していた退避変換行列[Rs]、[Ts]を読み出して変換行列記憶手段44に復元して記憶するものである。
【0031】
プログラム座標値記憶手段46は一連の直線・円弧(G00〜G03)指令により加工プログラムの座標値X,Y,Zを座標変換前のプログラム座標値[P]として記憶し、読み出したプログラム座標値[P]を三次元座標変換手段48に加えるものである。三次元座標変換手段48はプログラム座標値[P]と変換行列記憶手段44に記憶されている変換行列[R]、[T]から図13に示す下式の三次元座標変換式を実行してワーク座標値[W]を求める。
[W]=[R][P]+[T] ----三次元座標変換
ワーク座標値記憶手段50は座標変換されたワーク座標値[W]を記憶し、ワーク座標値[W]を読み出して直線・円弧補間演算部22に加えるものである。
【0032】
クリア手段としての変換行列クリア手段52は三次元座標変換キャンセル指令G69により変換行列記憶手段44に記憶していた変換行列[R]、[T]を読み出して退避変換行列記憶手段62に退避変換行列[ [Rs]、[Ts]として退避して記憶する。その後変換行列[R]、[T]を図15に示す下式のように初期化するものである。
[R]=[E] ---[E]は単位行列
[T]=[O] ---[O]は零行列
【0033】
変換行列復元手段60は、三次元座標変換復元指令(G68.1)により退避変換行列記憶手段62に記憶していた退避変換行列[Rs]、[Ts]を変換行列記憶手段44に変換行列[R]、[T]として復元させる。該復元後に、一連の直線・円弧指令G00〜G03指令時のプログラム座標値[P]を、復元した変換行列[R]、[T]で三次元座標変換手段48に座標変換させるものである。
第2の記憶手段としての退避変換行列記憶手段62は、三次元座標変換キャンセル指令G69時に変換行列記憶手段44の変換行列[R]、[T]を変換行列[Rs]、[Ts]として記憶し、三次元座標変換復元指令G68.1時に読み出した変換行列[Rs]、[Ts]を変換行列記憶手段44に変換行列[R]、[T]として復元させるものである。
【0034】
初期化手段68は、NC装置の電源投入時又は、加工プログラム中断などのリセット操作時に実施される処理で、変換行列記憶手段44および退避変換行列記憶手段62の変換行列を図15に示す下式のように初期化するものである。
[R]=[E] ---[E]は単位行列
[T]=[O] ---[O]は零行列
【0035】
上記のように構成されたNC装置の動作を、図1及び図2のブロック図、図3及び図4のフローチャート、図5の加工プログラムによって説明する。
<三次元座標変換復元の動作の概要>
指令された加工プログラムから三次元座標変換の場合、座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧の場合、プログラム座標値と変換行列とから三次元座標変換を実行してワーク座標値を求める。三次元座標変換キャンセルがされた時には、変換行列を退避させて、三次元座標変換をキャンセルする。その後の三次元座標変換復元のときに変換行列を復元して、再度一連の直線または円弧のプログラム座標値と、変換行列とから三次元座標変換を実行してワーク座標値を求めるものである。
【0036】
図5に示す加工プログラムを、プログラム入力部10を介して読み込み、プログラム解析手段40は、三次元座標変換指令(G68)、直線・円弧指令(G00〜G03)、三次元座標変換キャンセル指令(G69)、三次元座標変換復元指令(G68.1)を解析して判断し(ステップS10,S12)、N101が三次元座標変換指令G68であるから、変換行列設定手段42は加工プログラムの座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出し、加工プログラム「G68 X_Y_Z_I_J_K_R;」から所定の回転行列[Ri]、平行移動行列[Ti]を求め、指令値の変換行列[Ri]、[Ti]、更新前の変換行列を[Ro]、[To]、更新後の変換行列を[R]、[T]とすれば図16に示す下式の演算を実行する(ステップS32,S34)。
[R]=[Ro][Ri] ----回転行列の更新
[T]=[Ro][Ti]+[To] ----平行移動行列の更新
次のN102の加工プログラムでは、上記ステップS10,S12おいて、2回目の三次元座標変換指令G68と判断し、変換行列記憶手段44にN101用の変換行列にさらにN102用の変換行列が重複され新たな変換行列[R]、[T]を記憶(設定する(ステップS30,S32,S34、第1、第2の工程)。
上記のように三次元座標変換指令G68が指令される毎に上記行列の更新演算をするため、複数の三次元座標変換指令G68を重複設定できるようになっている。
【0037】
次のN103の加工プログラムでは、プログラム解析手段40は上記ステップS10,S12おいて、直線指令G01と判断し、加工プログラムの座標値X,Y,Zから座標変換前のプログラム座標値[P]を抽出する。すなわち加工プログラム「G01 X_Y_Z;」から所定のプログラム座標値[P]を抽出してプログラム座標値記憶手段46に記憶する(ステップS14)。
次に、三次元座標変換手段48は、変換前のプログラム座標値を[P]、変換行列を[R]、[T]、変換後のワーク座標値を[W]とすれば、図13に示す三次元座標変換を下式のように求めてワーク座標記憶手段50に記憶する(ステップS16)。
[W]=[R][P]+[T] ----三次元座標変換
直線・円弧補間演算部22は、変換されたワーク座標値[W]を、指令速度に対応した直線補間演算を実行し(ステップS18)、直線指令G01処理が終了する。
上記のように、一連の直線・円弧指令G00〜G03により毎回、変換行列[R]、[T]を用いて三次元座標変換を実行する。
同様にN104~N198の加工プログラムも、上記と同様に、一連の三次元座標変換を実行する(図3のステップS14,S16,S18)。
N199の加工プログラムでは、プログラム解析手段40は三次元座標変換キャンセル指令G69と判断し、変換行列クリア手段52は該キャンセル指令に基づいて変換行列[R]、[T]を退避変換行列[Rs]、[Ts]として変換行列記憶手段62に退避して記憶する(ステップS40)。
[R]→[Rs] ----回転行列の退避
[T]→[Ts] ----平行移動行列の退避
つづいて、変換行列[R]、[T]を図15に示す下式の初期化を実行する(ステップS42,S44)。これにより三次元座標変換モードをキャンセルして終了する。
なお、上記ステップS40,S42,S44が第3、第4の工程を成す。
[R]=[E] ---[E]は単位行列
[T]=[O] ---[O]は零行列
【0038】
N203〜N298の加工プログラムでは直線指令G01であるため、上記のようにステップS14,S16,S18を実行する。しかし、上記ステップS42,S44により変換行列[R]、[T]を初期化しているので、プログラム指令値[P]を三次元座標変換しない。
【0039】
次のN301の加工プログラムではステップS12おいて三次元座標変換復元(G68.1)指令と判断すると、変換行列復元手段60は、退避変換行列[Rs]、[Ts]の有無を判断し(ステップS50)、有りならば、退避変換行列記憶手段62に退避した退避変換行列[Rs]、[Ts]を読み出して変換行列記憶手段44に変換行列[R]、[T]を復元して記憶する(ステップS52 第5の工程)。
[Rs]→[R] ----回転行列の復元
[Ts]→[T] ----平行移動行列の復元
一方、ステップS50において、変換行列復元手段60は退避変換行列[Rs]、[Ts]が無いと判断すると、エラー処理を実行する(ステップS54)。
N303〜N398の加工プログラムではステップS10,S12において、G01と判断すると、プログラム指令値[P]を復元された変換行列[R]、[T]で三次元座標変換を実行してワーク座標値[W]が演算され、その後直線・円弧補間演算がなされる(ステップS14,S16,S18 第6の工程)。
上記のように三次元座標変換キャンセル指令G69により三次元座標変換指令G68をキャンセルした後、加工プログラムの三次元座標変換復元指令G68.1により三次元座標変換が可能となる。その後、三次元座標変換復元指令G68.1 を実行する。
【0040】
次に、NC装置の初期化の動作を図4のフローチャートによって説明する。初期化はNC装置の電源投入時、又は加工プログラム中断などのリセット操作時に実施される処理である。変換行列[R]、[T]と、退避変換行列[Rs]、[Ts]とを図15の下式に示すように初期化する(ステップS60,S62)。
[R]=[E]、[Rs]=[E] ---[E]は単位行列
[T]=[O]、[Ts]=[O] ---[O]は零行列
以降三次元座標変換モードがキャンセルされて初期状態になる。
【0041】
次に、上記NC装置の基本構成及び動作を前提として図6の加工プログラムを用いて説明する。
図6の斜め穴加工の加工プログラム例を用いて本実施の形態の特徴を説明する。本加工プログラムは、センタ穴加工G81、下穴ドリル加工G83、仕上げボーリング加工G85を使用し、三次元座標変換指令G68とを組合せて、斜め穴加工を実行するものである。
穴加工において、穴加工シーケンスを定めた固定サイクル指令すなわちG81~G89指令を使用するのが一般的である。この固定サイクルは複数のG0、G1動作に分解され、G指令毎に加工シーケンスが異なる。
N101〜N199はセンタ穴加工の加工プログラムで、N101とN102の三次元座標変換指令G68にて三次元座標変換モード中とし、N103~N198の固定サイクルG81モードで一連の穴加工動作を実行する。このときの穴加工はN101とN102とで指令された値で座標変換がなされて斜め穴となる。
【0042】
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にて三次元座標変換キャンセルする。
【0043】
本実施の形態によれば、N201およびN301にて、三次元座標変換指令G68.1を単独で指令すれば良く、加工プログラムが簡素になるという効果がある。
【0044】
実施の形態2.
本発明の他の実施の形態を説明する。他の実施の形態のNC装置の構成は図1及び図2で、図3のフローチャートを基本として動作する。
次に、図7に示す加工プログラムを用いて、三次元座標変換モード中に指令不可の指令があった場合のNC装置の動作を説明する。
ここで、三次元座標変換G68モードを実行している時に、レファレンス点復帰指令G28が指令不可でプログラムエラーになる制約仕様とする。
まず、メインプログラムN101の三次元座標変換G68指令で、初回の三次元座標変換が設定され、次のN102サブプログラム呼び出し指令M98でサブプログラムO1000を呼び出す。
サブプログラムO1000のN201の三次元座標変換G68指令で、2回目の三次元座標変換が重複設定され、次のN202サブプログラム呼び出し指令M98でサブプログラムO2000を呼び出す。サブプログラムO2000のN301の三次元座標変換G68指令で、3回目の三次元座標変換を重複設定する。次のN302~N338の直線補間指令G01にて、N101・N201・N302で重複設定された三次元座標変換指令G68で三次元座標変換が行なわれる。
【0045】
次に、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を単独で指令し容易に復元することができる。
【0046】
実施の形態3.
次に、三次元座標変換指令G68のタイミングで変換行列[R]、[T]を退避する動作を図8に示すフローチャートによって説明する。図8中、図3と同一符号は、同一または相当部分を示し、適宜、説明を省略する。
【0047】
次に、三次元座標変換指令G68指令により加工プログラムの座標値、回転軸、回転量から指令値の変換行列[Ri]、[Ti]を抽出する。すなわち加工プログラム「G68 XYZIJKR; 」から所定の回転行列[Ri]、平行移動行列[Ti]を演算する(ステップS30)。指令値の変換行列[Ri]、[Ti]、更新前の変換行列を[Ro]、[To]、更新後の変換行列を[R]、[T]とすれば図16に示す下式の演算を求め、変換行列の更新処理を実行する(ステップS32,S34)。
[R]=[Ro][Ri] ----回転行列の更新
[T]=[Ro][Ti]+[To] ----平行移動行列の更新
つづいて変換行列[R]、[T]を退避変換行列[Rs]、[Ts]として退避する(ステップS40)。
[R]→[Rs] ----回転行列の退避
[T]→[Ts] ----平行移動行列の退避
退避変換行列[Rs]、[Ts]は三次元座標変換復元指令G68.1により変換行列[R]、[T]に復元させるものである。
【0048】
三次元座標変換キャンセル指令G69により変換行列[R]、[T]を図15に示す下式のように初期化する(ステップS42,S44)。
[R]=[E] ---[E]は単位行列
[T]=[O] ---[O]は零行列
上記のように、変換行列の退避タイミングを三次元座標変換指令G68のタイミングで実行しても良い。
【図面の簡単な説明】
【図1】 本発明の実施の形態によるNC装置の全体構成を示すブロック図である。
【図2】 図1に示すNC装置の三次元座標変換復元部を示すブロック図である。
【図3】 図1及び図2に示す三次元座標変換復元部を用いて三次元座標変換復元の実行手順を示すフローチャートである。
【図4】 図2に示す三次元座標変換復元部を用いて初期化の実行手順を示すフローチャートである。
【図5】 一実施の形態による三次元座標変換の加工プログラム例を示す図である。
【図6】 一実施の形態による三次元座標変換の斜め加工プログラム例を示す図である。
【図7】 一実施の形態による三次元座標変換の加工プログラム例を示す図である。
【図8】 一実施の形態による三次元座標変換復元の実行手順を示すフローチャートである。
【図9】 一般的な三次元座標変換の加工プログラム例を示す図である。
【図10】 一般的な三次元座標変換の説明図である。
【図11】 一般的な三次元座標変換の変換行列の説明図である。
【図12】 一般的な三次元座標変換の変換行列の説明図である。
【図13】 一般的な三次元座標変換式の説明図である。
【図14】 一般的な三次元座標変換の具体例を示す説明図である。
【図15】 三次元座標変換の行列の初期化を示す説明図である。
【図16】 三次元座標変換の行列の更新を示す説明図である。
【図17】 従来の三次元座標変換の行列の実行手順を示すフローチャートである。
【図18】 従来の三次元座標変換の加工プログラム例を示す図である。
【図19】 従来の三次元座標変換の加工プログラム例を示す図である。
【符号の説明】
10 プログラム入力部、12 演算部、14 制御部、16 駆動部、18 工作機械、20 三次元座標変換演算部、22 直線・円弧補間演算部、40 プログラム解析手段、42 変換行列設定手段、44 変換行列記憶手段(第1の記憶手段)、46 プログラム座標値記憶手段、48 三次元座標変換手段、50 ワーク座標値記憶手段、52 変換行列クリア手段、60 変換行列復元手段、62退避変換行列記憶手段(第2の記憶手段)、68 初期化手段。
Claims (6)
- 加工プログラムを解析する解析手段と、
この解析手段により解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める変換行列設定手段と、
この求められた変換行列を記憶する変換行列記憶手段と、
前記変換行列を記憶する退避変換行列記憶手段と、
前記解析手段により解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化するクリア手段と、
前記解析手段により解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる変換行列復元手段と、
前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する三次元座標変換手段と、
を備えたことを特徴とする数値制御装置。 - 前記変換行列設定手段は、求めた変換行列を前記変換行列記憶手段に記憶させるものであり、前記クリア手段は、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させるものであることを特徴とする請求項1に記載の数値制御装置。
- 前記変換行列設定手段は、求めた変換行列を前記変換行列記憶手段及び退避変換行列記憶手段に記憶させるものであることを特徴とする請求項1に記載の数値制御装置。
- 解析された前記加工プログラムの指令が三次元座標変換指令である場合、この三次元座標変換指令の指令値の変換行列を求める第1の工程と、
この求められた変換行列を変換行列記憶手段に記憶させる第2の工程と、
前記変換行列を退避変換行列記憶手段に記憶させる第3の工程と、
解析された前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段に記憶されていた変換行列を初期化する第4の工程と、
解析された前記加工プログラムの指令が三次元座標復元指令である場合、退避変換行列記憶手段に記憶されていた変換行列を前記変換行列記憶手段に記憶させる第5の工程と、
前記加工プログラムに指令された三次元座標変換前の座標値を、前記変換行列記憶手段に記憶された変換行列に基づいて三次元座標変換する第6の工程と、
を有することを特徴とする数値制御方法。 - 前記第1の工程は、前記第2の工程を含むものであり、前記第4の工程は、前記加工プログラムの指令が三次元座標変換キャンセル指令である場合、前記変換行列記憶手段から前記変換行列を読み出して退避変換行列記憶手段に記憶させる工程を含むものであることを特徴とする請求項4に記載の数値制御方法。
- 前記第1の工程は、前記第2の工程及び第3の工程を含むものであることを特徴とする請求項4に記載の数値制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003196203A JP4036151B2 (ja) | 2003-07-14 | 2003-07-14 | 数値制御装置及び数値制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003196203A JP4036151B2 (ja) | 2003-07-14 | 2003-07-14 | 数値制御装置及び数値制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005031981A JP2005031981A (ja) | 2005-02-03 |
JP4036151B2 true JP4036151B2 (ja) | 2008-01-23 |
Family
ID=34206779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003196203A Expired - Fee Related JP4036151B2 (ja) | 2003-07-14 | 2003-07-14 | 数値制御装置及び数値制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4036151B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4503659B2 (ja) * | 2008-06-11 | 2010-07-14 | ファナック株式会社 | 座標変換工具位相制御用数値制御装置 |
JP6557036B2 (ja) * | 2015-03-30 | 2019-08-07 | オークマ株式会社 | シミュレーション装置 |
JP6542710B2 (ja) | 2016-05-26 | 2019-07-10 | ファナック株式会社 | アラーム解決のためのプログラム修正支援機能を備えた数値制御装置 |
-
2003
- 2003-07-14 JP JP2003196203A patent/JP4036151B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005031981A (ja) | 2005-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4503659B2 (ja) | 座標変換工具位相制御用数値制御装置 | |
JP2009217326A (ja) | 5軸加工機を制御する数値制御装置 | |
EP0402788A2 (en) | Method of controlling robot movements | |
JP2008234319A (ja) | パステーブル運転でgコード指令を実行可能な数値制御装置 | |
WO2022034848A1 (ja) | 数値制御システム及びロボット制御方法 | |
JP4036151B2 (ja) | 数値制御装置及び数値制御方法 | |
US20230251630A1 (en) | Numerical control system | |
WO2014118918A1 (ja) | 数値制御装置 | |
JP2662864B2 (ja) | 産業用ロボット制御装置 | |
JPH0193805A (ja) | ロボットの教示データ作成方法 | |
JP2009538744A (ja) | 旋削加工を制御する方法、および旋削加工に適したnc機械 | |
JP6871280B2 (ja) | 数値制御装置 | |
JPS61100815A (ja) | 回転軸のリフアレンス点復帰方法 | |
WO1990015373A1 (en) | Nc data edition | |
JP4560191B2 (ja) | 数値制御装置 | |
WO2022004647A1 (ja) | 数値制御システム | |
US20240066690A1 (en) | Numerical control apparatus and numerical control system | |
JP2020098428A (ja) | 数値制御装置 | |
JPH1011120A (ja) | 系統間軸交換制御機能を有する多系統数値制御装置 | |
WO2022004651A1 (ja) | 数値制御システム | |
JP3402378B2 (ja) | 7軸マニピュレータの制御方法 | |
JPH05505893A (ja) | ロボット・セルの経路の制御方法 | |
JPH04157505A (ja) | 斜め面加工指令方法 | |
JPH08249039A (ja) | ミラーイメージ制御のための数値制御方法 | |
JP5855882B2 (ja) | Nc工作機械における加工方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051028 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070717 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071009 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071022 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131109 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |