(57)【要約】【課題】三次元座標変換復元を加工プログラムで容易にできる数値制御装置を得ること。【解決手段】該解析手段４０により加工プログラムの指令が三次元座標変換指令と判断すると、変換行列を記憶する変換行列記憶手段４４と、変換行列記憶手段４４から変換行列を読み出して記憶する退避変換行列記憶手段６２と、解析手段の解析結果に基づいて変換行列記憶手段４４から変換行列を読み出して退避変換行列記憶手段６２に記憶すると共に、変換行列を初期化するクリア手段６２と、三次元座標変換復元指令に基づいて退避変換行列記憶手段６２から読み出した変換行列を変換行列記憶手段４４に記憶すると共に、変換行列記憶手段４４から読み出された変換行列に基づいて三次元座標変換指令が可能な変換行列復元手段６０とを備えた数値制御装置。【選択図】      図２
2005031981.tif 000002
【特許請求の範囲】
【請求項１】
ワーク座標系のＸ，Ｙ，Ｚ軸に対して、回転及び原点の平行移動した新しい座標系を、変換行列を用いて定義すると共に、空間上の任意の平面を定義して作成された三次元座標変換指令、該三次元変換指令を無効にするキャンセル指令を、有する加工プログラムを解析する解析手段と、
該解析手段により前記加工プログラムの指令が前記三次元座標変換指令と判断すると、前記変換行列を記憶する第１の記憶手段と、
該第１の記憶手段から前記変換行列を読み出して記憶する第２の記憶手段と、
前記解析手段の解析結果に基づいて前記第１の記憶手段から前記変換行列を読み出して前記第２の記憶手段に記憶すると共に、前記変換行列を初期化するクリア手段と、
三次元座標変換復元指令に基づいて前記第２の記憶手段から読み出した前記変換行列を前記第１の記憶手段に記憶すると共に、前記第１の記憶手段から読み出された前記変換行列に基づいて前記三次元座標変換指令が可能な変換行列復元手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
ワーク座標系のＸ，Ｙ，Ｚ軸に対して、回転及び原点の平行移動した新しい座標系を、変換行列を用いて定義すると共に、空間上の任意の平面を定義して作成された三次元座標変換指令、該三次元変換指令を無効にするキャンセル指令を、有する加工プログラムを解析手段により解析する数値制御方法であって、
該解析手段により前記加工プログラムの指令が前記三次元座標変換指令と判断すると、第１の記憶手段に前記変換行列を記憶する第１の工程と、
前記解析手段の解析結果に基づいて、クリア手段により前記第１の記憶手段から前記変換行列を読み出して第２の記憶手段に記憶すると共に、前記変換行列を初期化する第２の工程と、
変換行列復元手段により三次元座標変換復元指令に基づいて前記第２の記憶手段から読み出した前記変換行列を前記第１の記憶手段に記憶すると共に、前記第１の記憶手段から読み出された前記変換行列に基づいて前記三次元座標変換指令を可能とする第３の工程と、
前記第１から前記第３の工程を順に実行することを特徴とする数値制御方法。
【請求項３】
前記加工プログラムは、メインプログラムと該メインプログラム内に記述されたサブプログラムとから成り、
前記三次元座標変換指令が前記メインプログラムと前記サブプログラムに記述されており、
前記変換行列復元手段は前記三次元座標変換復元指令に基づいて前記メインプログラム、前記サブプログラムに記述された前記第２の記憶手段から読み出した前記変換行列を前記第１の記憶手段に記憶する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記解析結果に基づいてとは、前記三次元座標変換指令又は前記前記キャンセル指令に基づいて前記第１の記憶手段から読み出す、
ことを特徴とする請求項１又は３に記載の記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は数値制御（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ；以下ＮＣという）装置における三次元座標変換復元手段に関するものである。
【０００２】
【従来の技術】
従来のＮＣ装置における三次元座標変換手段として特開昭６３−１９２１０７号公報がある。該公報によれば、三次元座標変換を変換行列によって実現することが記載されている。
【０００３】
ＮＣ装置の三次元座標変換の動作を図９及び図１０によって説明する。図９は、加工プログラム、図１０は三次元座標変換図である。図９において、Ｎ１０１ブロックは三次元座標変換指令で、Ｇ６８等には下記の意味がある。
2005031981.tif 000003
したがって、Ｎ１０１は現在設定されているワーク座標系に対して（Ｘ，Ｙ，Ｚ）＝（１００．，  ０，  ０）  原点が平行移動し、Ｙ軸を回転中心として−３０°回転した、図１０に示す新しいＧ６８プログラム座標系（Ａ）、すなわち、Ｐ’座標系が設定される。
【０００４】
Ｎ１０２ブロック「Ｎ１０２  Ｇ６８  Ｘ０  Ｙ１００．  Ｚ０  Ｉ１  Ｊ０  Ｋ０  Ｒ４５．  ；」は、Ｎ１０１で設定されたＧ６８プログラム座標系（Ａ）に対して（Ｘ，Ｙ，Ｚ）＝（０，  １００．，  ０）  原点が平行移動し、Ｘ軸を回転中心として４５°回転した、図１０に示す新しいＧ６８プログラム座標系（Ｂ）  、すなわち、Ｐ’座標系が設定される。上記のように三次元座標変換指令Ｇ６８は重複することができる。
【０００５】
Ｎ１０３ブロック「Ｎ１０３  Ｇ０１  ＸＹＺ  ；」は、直線補間指令を示し図１０に示すＰ”座標系でプログラムするもので、三次元座標変換されるとワーク座標系すなわちＷ座標系になる。同様に図９に示すＮ１０４〜Ｎ１９８ブロックも三次元座標変換される。
Ｎ１９９ブロック「Ｎ１９９  Ｇ６９  ；」は，  三次元座標変換キャンセル指令で、該指令により三次元座標変換がキャンセルされ、該キャンセル後、通常の座標変換しない状態になる。上記がＮＣ装置における三次元座標変換の動作である。
【０００６】
次に三次元座標変換に用いる変換行列を図１１及び図１２によって説明する。図１１は変換行列、図１２は変換法則の説明図である。
図１１において、変換行列は３行３列の回転行列［Ｒ］と３行１列の平行移動行列［Ｔ］から成り、三次元座標変換指令Ｇ６８時に設定されると共に、三次元座標変換キャンセルＧ６９時に初期化される。
図１２において、回転行列［Ｒ］は加工プログラムＩ，Ｊ，Ｋの回転中心軸指定とＲの回転角度から演算され、平行移動行列［Ｔ］は加工プログラムＸ，Ｙ，Ｚの値になる。
【０００７】
次に、三次元座標変換式を図１３によって説明する。三次元座標変換式は、変換前のプログラム座標値［Ｐ］を３行１列の行列とし、変換後のワーク座標値［Ｗ］を３行１列の行列とすれば、下記となる。
［Ｗ］＝［Ｒ］［Ｐ］＋［Ｔ］
ここに、プログラム座標値［Ｐ］は直線・円弧指令Ｇ００〜Ｇ０３時に設定される。
【０００８】
次に、図１４に示す加工プログラム、変換行列、三次元座標変換について説明する。図１４の（１）において、加工プログラム「Ｇ６８  Ｘ０  Ｙ０  Ｚ−１００．  Ｉ０  Ｊ０  Ｋ１  Ｒ３０．  ；」は、三次元座標変換指令で、ワーク座標系に対して（０，  ０，−１００）中心が平行移動し、Ｚ軸を中心とし、反時計方向に３０°回転したプログラム座標系を設定するものである。
図１４の（２）において、三次元座標変換指令時の変換行列は、回転行列［Ｒ］にはＺ軸回りの回転すなわちＸＹ平面上で３０°回転するデータが設定され、平行移動行列［Ｔ］にはＺ軸方向に−１００．平行移動するデータが設定される。
図１４の（３）において、加工プログラム「Ｇ０１  Ｘ５０．  Ｙ０  Ｚ２０．  ；」は直線補間指令で、プログラム座標値Ｐ’（５０．，  ０，  ２０．）への指令である。プログラム座標行列［Ｐ］には前記プログラム座標値データが設定される。
次に、プログラム座標行列［Ｐ］を三次元座標変換し、ワーク座標行列［Ｗ］を［Ｒ］［Ｐ］＋［Ｔ］によって求めてワーク座標値Ｗ（４３．３，  ２５．，−８０．）を得ている。
【０００９】
図９に示す加工プログラムに基づいてＮＣ装置の三次元座標変換を図１７のフローチャートによって説明する。該フローチャートは指令された加工プログラムから、三次元座標変換指令により座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧のときプログラム座標値と変換行列とから三次元座標変換を実行してワーク座標値を求める。そして三次元座標変換キャンセル時には変換行列を初期化しキャンセルさせるものである。
【００１０】
まず、Ｎ１０１の加工プログラムを読み込み、三次元座標変換Ｇ６８指令，  直線・円弧（Ｇ００〜Ｇ０３）指令、三次元座標変換キャンセルＧ６９指令を判断し（ステップＳ１０，Ｓ１２）、Ｎ１０１の加工プログラムが初めての三次元座標変換指令Ｇ６８であるから、加工プログラムの「Ｇ６８  ＸＹＺＩＪＫＲ；」、すなわち座標値、回転軸、回転量から指令値の変換行列［Ｒｉ］、［Ｔｉ］を抽出し（ステップＳ３０）、所定の回転行列［Ｒｉ］、平行移動行列［Ｔｉ］を更新する（ステップＳ３２，Ｓ３４）。かかる変換行列の更新は、指令値の変換行列［Ｒｉ］、［Ｔｉ］、更新前の変換行列を［Ｒｏ］、［Ｔｏ］、更新後の変換行列を［Ｒ］、［Ｔ］とすれば図１６に示す下式を実行する。
［Ｒ］＝［Ｒｏ］［Ｒｉ］              −−−−回転行列の更新
［Ｔ］＝［Ｒｏ］［Ｔｉ］＋［Ｔｏ］                −−−−平行移動行列の更新
Ｎ１０２の加工プログラムでは２回目の三次元座標変換指令Ｇ６８で上記ステップＳ１０，Ｓ１２，Ｓ３０，Ｓ３２，Ｓ３４を実行する。これによりＮ１０１用の変換行列にさらにＮ１０２用の変換行列が重複され新たな変換行列［Ｒ］、［Ｔ］が設定される。すなわち、三次元座標変換（Ｇ６８）指令毎に前記行列の更新演算が実行されるので、複数の三次元座標変換指令Ｇ６８を重複できるようになっている。以降三次元座標変換モード中となり同処理が終了する。
【００１１】
Ｎ１０３加工プログラムを読み込み、上記ステップＳ１０，Ｓ１２を実行して直線指令Ｇ０１と判断すると、加工プログラムの座標値Ｘ，Ｙ，Ｚから座標変換前のプログラム座標値［Ｐ］を抽出する。加工プログラム「Ｇ０１  ＸＹＺ；  」から所定のプログラム座標値［Ｐ］を求め（ステップＳ１４）、変換前のプログラム座標値を［Ｐ］、変換行列を［Ｒ］、［Ｔ］、変換後のワーク座標値を［Ｗ］とすれば、図１４、下式に示す三次元座標変換式、すなわち、三次元座標変換処理を実行する（ステップＳ１６）。
［Ｗ］＝［Ｒ］［Ｐ］＋［Ｔ］        −−−−三次元座標変換
変換されたワーク座標値［Ｗ］を、指令速度に対応した直線補間演算を実行して直線指令Ｇ０１処理が終了する（ステップＳ１８）。同様に、Ｎ１０４￣Ｎ１９８の加工プログラムも同一ルートを通り、一連の三次元座標変換が行なわれる。
上記のように、一連の直線・円弧指令Ｇ００〜Ｇ０３が毎回、変換行列［Ｒ］、［Ｔ］による三次元座標変換が行なわれる。プログラム指令値［Ｐ］を変換行列［Ｒ］、［Ｔ］を用いて三次元座標変換を実行してワーク座標値［Ｗ］が求め、その後直線補間演算がなされる。
【００１２】
Ｎ１９９加工プログラムを読み込み、上記ステップＳ１０，Ｓ１２を実行して三次元座標変換キャンセル指令（Ｇ６９）と判断すると、変換行列［Ｒ］、［Ｔ］を図１５に示す次式のように初期化する（ステップＳ４２，Ｓ４４）。
［Ｒ］＝［Ｅ］      −−−［Ｅ］は単位行列
［Ｔ］＝［Ｏ］      −−−［Ｏ］は零行列
以降三次元座標変換モードがキャンセルされ同処理が終了する。
【００１３】
【発明が解決しようとする課題】
第一に、斜め穴加工時の加工プログラムを示す図１８において、穴加工シーケンスを定めた固定サイクル指令すなわちＧ８１￣Ｇ８９指令を使用するのが一般的である。該固定サイクルは複数のＧ０、Ｇ１動作に分解され、Ｇ指令毎に加工シーケンスが異なる。
上記加工プログラムは、センタ穴加工時Ｇ８１、下穴ドリル加工時Ｇ８３、仕上げボーリング加工時Ｇ８５を用い、三次元座標変換指令Ｇ６８とを組合せて斜め穴加工を実行するものである。
Ｎ１０１〜Ｎ１９９はセンタ穴加工のプログラムで、Ｎ１０１、Ｎ１０２の三次元座標変換指令Ｇ６８にて三次元座標変換モードとし、Ｎ１０３￣Ｎ１９８の固定サイクルＧ８１モードで一連の穴加工動作を行せる。該穴加工はＮ１０１とＮ１０２とで指令された値で座標変換をして斜め穴となる。
Ｎ１９９は、三次元座標変換キャンセル指令Ｇ６９で一旦三次元座標変換キャンセルする。これは、工具交換位置に戻る動作シーケンス等を指令するためである。
【００１４】
Ｎ２０１〜Ｎ２９９は下穴ドリル加工のプログラムで、Ｎ２０１とＮ２０２とでＮ１０１とＮ１０２全く同一の三次元座標変換Ｇ６８指令の再設定を行い、Ｎ２０３￣Ｎ２９８の固定サイクルＧ８３モードで一連の穴加工動作を行わせる。該穴加工も座標変換がなされて斜め穴となる。Ｎ２９９で三次元座標変換キャンセル指令Ｇ６９にて再度三次元座標変換キャンセルする。
Ｎ３０１〜Ｎ３９９は仕上げボーリング加工のプログラムで、Ｎ３０１とＮ３０２とでＮ１０１とＮ１０２全く同一の三次元座標変換Ｇ６８指令の再々設定を実行して、Ｎ３０３￣Ｎ３９８の固定サイクルＧ８５モードで一連の穴加工動作を実行する。該穴加工も座標変換がなされて斜め穴となる。Ｎ３９９で三次元座標変換キャンセル指令Ｇ６９にて三次元座標変換キャンセルする。
【００１５】
以上のように一旦キャンセルした三次元座標変換データとなる変換行列を復元する手段がないので、Ｎ１０１・Ｎ１０２の三次元座標変換指令Ｇ６８をＮ２０１・Ｎ２０２およびＮ３０１・Ｎ３０２にて、同一内容を再度複数行プログラムしなければならず、手数がかかり煩雑であった。
【００１６】
また、第二に、ＮＣ装置には工具長オフセット指令Ｇ４３、レファレンス点復帰指令Ｇ２８などの多くの機能を有する。かかる機能を三次元座標変換モード中にすべて正常動作させると、ＮＣ装置を複雑にせしめ開発時間が増大していた。そこで、三次元座標変換モードにおいて指令不可の機能を選別し、加工プログラムで指令が選択されると、プログラムエラー等の仕様制約をしていた。
【００１７】
かかる仕様制約の例として三次元座標変換モードＧ６８において上記指令不可となる指令があった場合の動作を図１９に示すサブプログラムを用いて説明する。ここで、レファレンス点復帰指令Ｇ２８が指令不可でプログラムエラーになる制約仕様とする。
まず、メインプログラムＮ１０１の三次元座標変換Ｇ６８指令で、初回の三次元座標変換が設定され、Ｎ１０２サブプログラム呼び出し指令Ｍ９８でサブプログラムＯ１０００が呼び出される。サブプログラムＯ１０００におけるＮ２０１の三次元座標変換Ｇ６８指令で、２回目の三次元座標変換が重複設定され、次のＮ２０２サブプログラム呼び出し指令Ｍ９８でさらにサブプログラムＯ２０００が呼び出される。サブプログラムＯ２０００のＮ３０１の三次元座標変換Ｇ６８指令で、３回目の三次元座標変換が重複設定される。次のＮ３０２￣Ｎ３３８の直線補間指令Ｇ０１にてＮ１０１・Ｎ２０１・Ｎ３０２で重複設定された三次元座標変換指令Ｇ６８で三次元座標変換が行なわれる。
【００１８】
次に、Ｎ３４１に工具交換指令Ｍ０６を実行したいため、その前提としてＺ軸をレファレンス点復帰しなければならない。よってＮ３４０でレファレンス点復帰指令Ｇ２８をプログラムする必要がある。しかし、レファレンス点復帰指令Ｇ２８は三次元座標変換モードでは指令できない仕様のため、Ｎ３３９で三次元座標変換キャンセル指令Ｇ６９を指令している。その結果、三次元座標変換キャンセル指令Ｇ６９、レファレンス点復帰指令Ｇ２８、工具交換指令Ｍ０６の手順でプログラムする。次にＮ３４２の開始位置復帰指令Ｇ２９でレファレンス点復帰指令Ｇ２８の開始位置に戻す。
【００１９】
次にＮ３５０の三次元座標変換指令Ｇ６８にて、メインプログラムＮ１０１と、サブプログラムＯ１０００のＮ２０１と、サブプログラムＯ２０００のＮ３０１との三次元座標変換指令Ｇ６８で重複設定した三次元座標変換を復元し、Ｎ３５１￣Ｎ３９８の直線補間指令Ｇ０１をＮ３０２￣Ｎ３３８と同様の変換値で三次元座標変換しようとする。
しかしながら、メインプログラムＮ１０１と、サブプログラムＯ１０００のＮ２０１の三次元座標変換までの復元は、別個の上位プログラムで、且つサブプログラムＯ２０００自体が他のプログラムから呼び出されるため、上記三次元座標変換の復元が極めて困難であった。
【００２０】
本発明は上記課題を解決するためになされたもので、三次元座標変換指令がキャンセルされた後の復元を容易にするＮＣ装置を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上記の目的を達成するため、第１の発明に係るＮＣ装置は、ワーク座標系のＸ，Ｙ，Ｚ軸に対して、回転及び原点の平行移動した新しい座標系を、変換行列を用いて定義すると共に、空間上の任意の平面を定義して作成された三次元座標変換指令、該三次元変換指令を無効にするキャンセル指令を、有する加工プログラムを解析する解析手段と、該解析手段により前記加工プログラムの指令が前記三次元座標変換指令と判断すると、前記変換行列を記憶する第１の記憶手段と、該第１の記憶手段から前記変換行列を読み出して記憶する第２の記憶手段と、前記解析手段の解析結果に基づいて前記第１の記憶手段から前記変換行列を読み出して前記第２の記憶手段に記憶すると共に、前記変換行列を初期化するクリア手段と、三次元座標変換復元指令に基づいて前記第２の記憶手段から読み出した前記変換行列を前記第１の記憶手段に記憶すると共に、前記第１の記憶手段から読み出された前記変換行列に基づいて前記三次元座標変換指令とする変換行列復元手段と、を備えたことを特徴とするものである。
かかるＮＣ装置によれば、三次元座標変換指令により演算された変換行列として例えば［Ｒ］、［Ｔ］を変換行列記憶手段に記憶させるとともに三次元座標変換モードとし、キャンセル指令で第１の記憶手段の変換行列［Ｒ］、［Ｔ］を第２の記憶手段に退避して記憶すると共に、変換行列［Ｒ］、［Ｔ］を初期化し、三次元座標変換復元指令により第２の記憶手段に記憶していた変換行列を第１の列記憶手段に復元すると共に、三次元座標変換モードとする。したがって、三次元座標変換復元が容易になりプログラムが簡易になるという効果がある。
【００２２】
第２の発明に係るＮＣ方法は、ワーク座標系のＸ，Ｙ，Ｚ軸に対して、回転及び原点の平行移動した新しい座標系を、変換行列を用いて定義すると共に、空間上の任意の平面を定義して作成された三次元座標変換指令、該三次元変換指令を無効にするキャンセル指令を、有する加工プログラムを解析手段により解析する数値制御方法であって、該解析手段により前記加工プログラムの指令が前記三次元座標変換指令と判断すると、第１の記憶手段に前記変換行列を記憶する第１の工程と、前記解析手段の解析結果に基づいて、クリア手段により前記第１の記憶手段から前記変換行列を読み出して第２の記憶手段に記憶すると共に、前記変換行列を初期化する第２の工程と、変換行列復元手段により三次元座標変換復元指令に基づいて前記第２の記憶手段から読み出した前記変換行列を前記第１の記憶手段に記憶すると共に、前記第１の記憶手段から読み出された前記変換行列に基づいて前記三次元座標変換指令を可能とする第３の工程と、前記第１から前記第３の工程を順に実行することを特徴とするものである。
かかるＮＣ方法によれば、三次元座標変換復元が容易になりプログラムが簡易になるという効果がある。
【００２３】
第３の発明に係るＮＣ装置における加工プログラムは、メインプログラムと該メインプログラム内に記述されたサブプログラムとから成り、三次元座標変換指令が前記メインプログラムと前記サブプログラムに記述されており、変換行列復元手段は三次元座標変換復元指令に基づいて前記メインプログラム、前記サブプログラムに記述された第２の記憶手段から読み出した変換行列を第１の記憶手段に記憶する、ことを特徴とするものである。
かかるＮＣ装置によれば、加工プログラムがメインプログラムとサブプログラムとにそれぞれ三次元座標変換指令が記述されていても、三次元復元指令により容易に変換行列を復元できるので、三次元座標変換が簡易になるという効果がある。
【００２４】
第４の発明に係るＮＣ装置における解析結果に基づいてとは、三次元座標変換指令又は前記キャンセル指令に基づいて変換行列を第１の記憶手段から読み出すことを特徴とするものである。
かかるＮＣ装置によれば、三次元座標変換指令又は前記キャンセル指令に基づいて変換行列を第１の記憶手段に記憶するので、処理の速度が速いという効果がある。
【００２５】
【発明の実施の形態】
実施の形態１．
本発明の一実施の形態を図１及び図２によって説明する。図１は一実施の形態によるＮＣ装置のブロック図、図２は図１に示す三次元座標変換演算部のブロック図である。
図１において、ＮＣ装置は加工情報となる指令手段としての加工プログラムを読み込むプログラム入力部１０と、プログラム入力部１０から読み込まれた加工プログラムに基づいて加工軌跡および加工速度を演算すると共に、制御部１４に出力する演算部１２と、加工指示指令に基づいて制御信号を駆動部１６に出力する制御部１４と、駆動部１６で工作機械１８の加工制御を成す駆動部１６とを備えている。ここに、加工プログラムは、ワーク座標系のＸ，Ｙ，Ｚ軸に対して、回転及び原点の平行移動した新しい座標系を、変換行列を用いて定義すると共に、空間上の任意の平面を定義して作成された三次元座標変換指令、該三次元変換指令を無効にするキャンセル指令等を記述している。
【００２６】
演算部１２には加工プログラムに基づいて三次元座標変換を処理する三次元座標変換演算部２０と、直線，円弧を処理する直線・円弧補間演算部２２と、加工情報に対応して演算処理をする工具径補正演算部、固定サイクル演算部（図示せず）とを有している。
上記のように加工プログラム（例えば、直線補間Ｇ０１Ｘ――Ｙ――Ｚ――Ｆ――；など）を演算部１２にて加工軌跡および加工速度信号に変換し、加工プログラムに基づいて工作機械１８が数値制御する。
【００２７】
図２において、三次元座標変換演算部２０は、プログラム入力部１０で読み込んだ加工プログラムから三次元座標変換の場合、座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧の場合、プログラム座標値と変換行列とから三次元座標変換をしてワーク座標値を求め、直線・円弧補間演算部２２に印加している。そして、三次元座標変換キャンセル時には変換行列を退避してキャンセルし、その後、三次元座標変換復元指令に基づいて変換行列を復元し、再度一連の直線または円弧のプログラム座標値と、変換行列とから三次元座標変換を実行してワーク座標値を求め、直線・円弧補間演算部２２に印加している。
【００２８】
解析手段としてのプログラム解析手段４０は、加工プログラムから三次元座標変換（Ｇ６８）指令，  直線・円弧（Ｇ００〜Ｇ０３）指令、三次元座標変換キャンセル（Ｇ６９）指令、三次元座標変換復元指令（Ｇ６８．１）を判断し、該判断結果に基づいて変換行列設定手段４２、プログラム座標値記憶手段４６、変換行列クリア手段５２、変換行列復元手段６０に処理を実行させるものである。
【００２９】
変換行列設定手段４２は三次元座標変換（Ｇ６８）指令により加工プログラムの座標値、回転軸、回転量から指令値の変換行列［Ｒｉ］、［Ｔｉ］を抽出し、変換行列記憶手段４４に変換行列［Ｒ］、［Ｔ］を記憶する。かかる記憶の際、変換行列記憶手段４４にすでに変換行列［Ｒｏ］、［Ｔｏ］に記憶（設定）されている場合、すでに記憶された値に［Ｒｉ］、［Ｔｉ］を重複した新たな変換行列［Ｒ］、［Ｔ］を下式により求めて、複数の三次元座標変換指令Ｇ６８に基づく変換行列を重複して記憶（設定）できるようになっている。
［Ｒ］＝［Ｒｏ］［Ｒｉ］        −−−−  回転行列の更新
［Ｔ］＝［Ｒｏ］［Ｔｉ］＋［Ｔｏ］    −−−−  平行移動行列の更新
【００３０】
第１の記憶手段としての変換行列記憶手段４４は、図１１に示す変換行列としての回転行列［Ｒ］と平行移動行列［Ｔ］を記憶しており、三次元座標変換キャンセル指令Ｇ６９により記憶していた変換行列［Ｒ］、［Ｔ］を読み出して退避変換行列記憶手段６２に退避変換行列［Ｒｓ］、［Ｔｓ］として退避し、記憶すると共に、三次元座標変換復元指令Ｇ６８．１により退避変換行列記憶手段６２に記憶していた退避変換行列［Ｒｓ］、［Ｔｓ］を読み出して変換行列記憶手段４４に復元して記憶するものである。
【００３１】
プログラム座標値記憶手段４６は一連の直線・円弧（Ｇ００〜Ｇ０３）指令により加工プログラムの座標値Ｘ，Ｙ，Ｚを座標変換前のプログラム座標値［Ｐ］として記憶し、読み出したプログラム座標値［Ｐ］を三次元座標変換手段４８に加えるものである。三次元座標変換手段４８はプログラム座標値［Ｐ］と変換行列記憶手段４４に記憶されている変換行列［Ｒ］、［Ｔ］から図１３に示す下式の三次元座標変換式を実行してワーク座標値［Ｗ］を求める。
［Ｗ］＝［Ｒ］［Ｐ］＋［Ｔ］      −−−−三次元座標変換
ワーク座標値記憶手段５０は座標変換されたワーク座標値［Ｗ］を記憶し、ワーク座標値［Ｗ］を読み出して直線・円弧補間演算部２２に加えるものである。
【００３２】
クリア手段としての変換行列クリア手段５２は三次元座標変換キャンセル指令Ｇ６９により変換行列記憶手段４４に記憶していた変換行列［Ｒ］、［Ｔ］を読み出して退避変換行列記憶手段６２に退避変換行列［  ［Ｒｓ］、［Ｔｓ］として退避して記憶する。その後変換行列［Ｒ］、［Ｔ］を図１５に示す下式のように初期化するものである。
［Ｒ］＝［Ｅ］      −−−［Ｅ］は単位行列
［Ｔ］＝［Ｏ］      −−−［Ｏ］は零行列
【００３３】
変換行列復元手段６０は、三次元座標変換復元指令（Ｇ６８．１）により退避変換行列記憶手段６２に記憶していた退避変換行列［Ｒｓ］、［Ｔｓ］を変換行列記憶手段４４に変換行列［Ｒ］、［Ｔ］として復元させる。該復元後に、一連の直線・円弧指令Ｇ００〜Ｇ０３指令時のプログラム座標値［Ｐ］を、復元した変換行列［Ｒ］、［Ｔ］で三次元座標変換手段４８に座標変換させるものである。
第２の記憶手段としての退避変換行列記憶手段６２は、三次元座標変換キャンセル指令Ｇ６９時に変換行列記憶手段４４の変換行列［Ｒ］、［Ｔ］を変換行列［Ｒｓ］、［Ｔｓ］として記憶し、三次元座標変換復元指令Ｇ６８．１時に読み出した変換行列［Ｒｓ］、［Ｔｓ］を変換行列記憶手段４４に変換行列［Ｒ］、［Ｔ］として復元させるものである。
【００３４】
初期化手段６８は、ＮＣ装置の電源投入時又は、加工プログラム中断などのリセット操作時に実施される処理で、変換行列記憶手段４４および退避変換行列記憶手段６２の変換行列を図１５に示す下式のように初期化するものである。
［Ｒ］＝［Ｅ］      −−−［Ｅ］は単位行列
［Ｔ］＝［Ｏ］      −−−［Ｏ］は零行列
【００３５】
上記のように構成されたＮＣ装置の動作を、図１及び図２のブロック図、図３及び図４のフローチャート、図５の加工プログラムによって説明する。
＜三次元座標変換復元の動作の概要＞
指令された加工プログラムから三次元座標変換の場合、座標値、回転軸、回転量から変換行列を求め、一連の直線または円弧の場合、プログラム座標値と変換行列とから三次元座標変換を実行してワーク座標値を求める。三次元座標変換キャンセルがされた時には、変換行列を退避させて、三次元座標変換をキャンセルする。その後の三次元座標変換復元のときに変換行列を復元して、再度一連の直線または円弧のプログラム座標値と、変換行列とから三次元座標変換を実行してワーク座標値を求めるものである。
【００３６】
図５に示す加工プログラムを、プログラム入力部１０を介して読み込み、プログラム解析手段４０は、三次元座標変換指令（Ｇ６８．１）、直線・円弧指令（Ｇ００〜Ｇ０３）、三次元座標変換キャンセル指令（Ｇ６９）、三次元座標変換復元指令（Ｇ６８．１）を解析して判断し（ステップＳ１０，Ｓ１２）、Ｎ１０１が三次元座標変換指令Ｇ６８であるから、変換行列設定手段４２は加工プログラムの座標値、回転軸、回転量から指令値の変換行列［Ｒｉ］、［Ｔｉ］を抽出し、加工プログラム「Ｇ６８  ＸＹＺＩＪＫＲ；」から所定の回転行列［Ｒｉ］、平行移動行列［Ｔｉ］を求め、指令値の変換行列［Ｒｉ］、［Ｔｉ］、更新前の変換行列を［Ｒｏ］、［Ｔｏ］、更新後の変換行列を［Ｒ］、［Ｔ］とすれば図１６に示す下式の演算を実行する（ステップＳ３２，Ｓ３４）。
［Ｒ］＝［Ｒｏ］［Ｒｉ］              −−−−回転行列の更新
［Ｔ］＝［Ｒｏ］［Ｔｉ］＋［Ｔｏ］      −−−−平行移動行列の更新
次のＮ１０２の加工プログラムでは、上記ステップＳ１０，Ｓ１２おいて、２回目の三次元座標変換指令Ｇ６８と判断し、変換行列記憶手段４４にＮ１０１用の変換行列にさらにＮ１０２用の変換行列が重複され新たな変換行列［Ｒ］、［Ｔ］を記憶（設定する（ステップＳ３０，Ｓ３２，Ｓ３４、第１の工程）。
上記のように三次元座標変換指令Ｇ６８が指令される毎に上記行列の更新演算をするため、複数の三次元座標変換指令Ｇ６８を重複設定できるようになっている。
【００３７】
次のＮ１０３の加工プログラムでは、プログラム解析手段４０は上記ステップＳ１０，Ｓ１２おいて、直線指令Ｇ０１と判断し、加工プログラムの座標値Ｘ，Ｙ，Ｚから座標変換前のプログラム座標値［Ｐ］を抽出する。すなわち加工プログラム「Ｇ０１  ＸＹＺ；」から所定のプログラム座標値［Ｐ］を抽出してプログラム座標値記憶手段４６に記憶する（ステップＳ１４）。
次に、三次元座標変換手段４８は、変換前のプログラム座標値を［Ｐ］、変換行列を［Ｒ］、［Ｔ］、変換後のワーク座標値を［Ｗ］とすれば、図１３に示す三次元座標変換を下式のように求めてワーク座標記憶手段５０に記憶する（ステップＳ１６）。
［Ｗ］＝［Ｒ］［Ｐ］＋［Ｔ］        −−−−三次元座標変換
直線・円弧補間演算部２２は、変換されたワーク座標値［Ｗ］を、指令速度に対応した直線補間演算を実行し（ステップＳ１８）、直線指令Ｇ０１処理が終了する。
上記のように、一連の直線・円弧指令Ｇ００〜Ｇ０３により毎回、変換行列［Ｒ］、［Ｔ］を用いて三次元座標変換を実行する。
同様にＮ１０４￣Ｎ１９８の加工プログラムも、上記と同様に、一連の三次元座標変換を実行する（図２のステップＳ１４，Ｓ１６，Ｓ１８）。
Ｎ１９９の加工プログラムでは、プログラム解析手段４０は三次元座標変換キャンセル指令Ｇ６９と判断し、変換行列クリア手段５２は該キャンセル指令に基づいて変換行列［Ｒ］、［Ｔ］を退避変換行列［Ｒｓ］、［Ｔｓ］として変換行列記憶手段６２に退避して記憶する（ステップＳ４０）。
［Ｒ］→［Ｒｓ］      −−−−回転行列の退避
［Ｔ］→［Ｔｓ］      −−−−平行移動行列の退避
つづいて、変換行列［Ｒ］、［Ｔ］を図１５に示す下式の初期化を実行する（ステップＳ４２，Ｓ４４）。これにより三次元座標変換モードをキャンセルして終了する。なお、上記ステップＳ４０，Ｓ４２，Ｓ４４が第２の工程を成す。
［Ｒ］＝［Ｅ］      −−−［Ｅ］は単位行列
［Ｔ］＝［Ｏ］      −−−［Ｏ］は零行列
【００３８】
Ｎ２０３〜Ｎ２９８の加工プログラムでは直線指令Ｇ０１であるため、上記のようにステップＳ１４，Ｓ１６，Ｓ１８を実行する。しかし、上記ステップＳ４２，Ｓ４４により変換行列［Ｒ］、［Ｔ］を初期化しているので、プログラム指令値［Ｐ］を三次元座標変換しない。
【００３９】
次のＮ３０１の加工プログラムではステップＳ１２おいて三次元座標変換復元（Ｇ６８．１）指令と判断すると、変換行列復元手段６０は、退避変換行列［Ｒｓ］、［Ｔｓ］の有無を判断し（ステップＳ５０）、有りならば、退避変換行列記憶手段６２に退避した退避変換行列［Ｒｓ］、［Ｔｓ］を読み出して変換行列記憶手段４４に変換行列［Ｒ］、［Ｔ］を復元して記憶する（ステップＳ５２）。
［Ｒｓ］→［Ｒ］        −−−−回転行列の復元
［Ｔｓ］→［Ｔ］        −−−−平行移動行列の復元
一方、ステップＳ５０において、変換行列復元手段６０は退避変換行列［Ｒｓ］、［Ｔｓ］が無いと判断すると、エラー処理を実行する（ステップＳ５４）。
Ｎ３０３〜Ｎ３９８の加工プログラムではステップＳ１０，Ｓ１２において、Ｇ０１と判断すると、プログラム指令値［Ｐ］を復元された変換行列［Ｒ］、［Ｔ］で三次元座標変換を実行してワーク座標値［Ｗ］が演算され、その後直線・円弧補間演算がなされる（ステップＳ１４，Ｓ１６，Ｓ１８）。
上記のように三次元座標変換キャンセル指令Ｇ６９により三次元座標変換指令Ｇ６８をキャンセルした後、加工プログラムの三次元座標変換復元指令Ｇ６８．１により三次元座標変換が可能となる（ステップＳ５２と共に、第３の工程を成す）。その後、三次元座標変換復元指令Ｇ６８．１  を実行する。
【００４０】
次に、ＮＣ装置の初期化の動作を図４のフローチャートによって説明する。初期化はＮＣ装置の電源投入時、又は加工プログラム中断などのリセット操作時に実施される処理である。変換行列［Ｒ］、［Ｔ］と、退避変換行列［Ｒｓ］、［Ｔｓ］とを図１５の下式に示すように初期化する（ステップＳ６０，Ｓ６２）。
［Ｒ］＝［Ｅ］、［Ｒｓ］＝［Ｅ］      −−−［Ｅ］は単位行列
［Ｔ］＝［Ｏ］、［Ｔｓ］＝［Ｏ］      −−−［Ｏ］は零行列
以降三次元座標変換モードがキャンセルされて初期状態になる。
【００４１】
次に、上記ＮＣ装置の基本構成及び動作を前提として図６の加工プログラムを用いて説明する。
図６の斜め穴加工の加工プログラム例を用いて本実施の形態の特徴を説明する。本加工プログラムは、センタ穴加工Ｇ８１、下穴ドリル加工Ｇ８３、仕上げボーリング加工Ｇ８５を使用し、三次元座標変換指令Ｇ６８とを組合せて、斜め穴加工を実行するものである。
穴加工において、穴加工シーケンスを定めた固定サイクル指令すなわちＧ８１￣Ｇ８９指令を使用するのが一般的である。この固定サイクルは複数のＧ０、Ｇ１動作に分解され、Ｇ指令毎に加工シーケンスが異なる。
Ｎ１０１〜Ｎ１９９はセンタ穴加工の加工プログラムで、Ｎ１０１とＮ１０２の三次元座標変換指令Ｇ６８にて三次元座標変換モード中とし、Ｎ１０３￣Ｎ１９８の固定サイクルＧ８１モードで一連の穴加工動作を実行する。このときの穴加工はＮ１０１とＮ１０２とで指令された値で座標変換がなされて斜め穴となる。
【００４２】
Ｎ１９９の三次元座標変換キャンセル指令Ｇ６９は、工具交換位置に戻る動作シーケンス等を指令するため、一旦三次元座標変換キャンセルする。
Ｎ２０１〜Ｎ２９９は下穴ドリル加工を示すもので、Ｎ２０１は三次元座標変換復元指令Ｇ６８．１にて、Ｎ１０１とＮ１０２の三次元座標変換指令Ｇ６８で設定した三次元座標変換を復元し、Ｎ２０３￣Ｎ２９８の固定サイクルＧ８３モードで一連の穴加工動作を実行する。このときの穴加工も座標変換がなされて斜め穴となる。
Ｎ２９９で三次元座標変換キャンセル指令Ｇ６９にて一旦三次元座標変換キャンセルする。
Ｎ３０１〜Ｎ３９９は仕上げボーリング加工を示すもので、Ｎ３０１は三次元座標変換復元指令Ｇ６８．１にて、Ｎ１０１とＮ１０２の三次元座標変換指令Ｇ６８で設定した三次元座標変換を再度復元し、Ｎ３０３￣Ｎ３９８の固定サイクルＧ８５モードで一連の穴加工動作を実行する。このときの穴加工も座標変換がなされて斜め穴となる。Ｎ３９９で三次元座標変換キャンセル指令Ｇ６９にて三次元座標変換キャンセルする。
【００４３】
本実施の形態によれば、Ｎ２０１およびＮ３０１にて、三次元座標変換指令Ｇ６８．１を単独で指令すれば良く、加工プログラムが簡素になるという効果がある。
【００４４】
実施の形態２．
本発明の他の実施の形態を説明する。他の実施の形態のＮＣ装置の構成は図１及び図２で、図３のフローチャートを基本として動作する。
次に、図７に示す加工プログラムを用いて、三次元座標変換モード中に指令不可の指令があった場合のＮＣ装置の動作を説明する。
ここで、三次元座標変換Ｇ６８モードを実行している時に、レファレンス点復帰指令Ｇ２８が指令不可でプログラムエラーになる制約仕様とする。
まず、メインプログラムＮ１０１の三次元座標変換Ｇ６８指令で、初回の三次元座標変換が設定され、次のＮ１０２サブプログラム呼び出し指令Ｍ９８でサブプログラムＯ１０００を呼び出す。
サブプログラムＯ１０００のＮ２０１の三次元座標変換Ｇ６８指令で、２回目の三次元座標変換が重複設定され、次のＮ２０２サブプログラム呼び出し指令Ｍ９８でサブプログラムＯ２０００を呼び出す。サブプログラムＯ２０００のＮ３０１の三次元座標変換Ｇ６８指令で、３回目の三次元座標変換を重複設定する。次のＮ３０２￣Ｎ３３８の直線補間指令Ｇ０１にて、Ｎ１０１・Ｎ２０１・Ｎ３０２で重複設定された三次元座標変換指令Ｇ６８で三次元座標変換が行なわれる。
【００４５】
次に、Ｎ３４１に工具交換指令Ｍ０６を実行したいため、前提としてＺ軸をレファレンス点復帰する必要がある。そのためＮ３４０でレファレンス点復帰指令Ｇ２８をプログラムする必要がある。ところがレファレンス点復帰指令Ｇ２８は三次元座標変換モード中指令できない仕様のため、Ｎ３３９で三次元座標変換キャンセル指令Ｇ６９を指令している。その結果、三次元座標変換キャンセル指令Ｇ６９、レファレンス点復帰指令Ｇ２８、工具交換指令Ｍ０６の手順でプログラムする。次にＮ３４２の開始位置復帰指令Ｇ２９でレファレンス点復帰指令Ｇ２８の開始位置に戻す。
次にＮ３５０の三次元座標変換復元指令Ｇ６８．１にて、メインプログラムＮ１０１と、サブプログラムＯ１０００のＮ２０１と、サブプログラムＯ２０００のＮ３０１との三次元座標変換指令Ｇ６８で重複設定した三次元座標変換を復元し、Ｎ３５１￣Ｎ３９８の直線補間指令Ｇ０１をＮ３０２￣Ｎ３３８と同様に三次元座標変換ができる。
本実施の形態によれば、サブプログラムＯ２０００のＮ３５０三次元座標変換指令Ｇ６８．１を単独で指令し容易に復元することができる。
【００４６】
実施の形態３．
次に、三次元座標変換指令Ｇ６８のタイミングで変換行列［Ｒ］、［Ｔ］を退避する動作を図８に示すフローチャートによって説明する。図８中、図３と同一符号は、同一または相当部分を示し、適宜、説明を省略する。
【００４７】
次に、三次元座標変換指令Ｇ６８指令により加工プログラムの座標値、回転軸、回転量から指令値の変換行列［Ｒｉ］、［Ｔｉ］を抽出する。すなわち加工プログラム「Ｇ６８  ＸＹＺＩＪＫＲ；  」から所定の回転行列［Ｒｉ］、平行移動行列［Ｔｉ］を演算する（ステップＳ３０）。指令値の変換行列［Ｒｉ］、［Ｔｉ］、更新前の変換行列を［Ｒｏ］、［Ｔｏ］、更新後の変換行列を［Ｒ］、［Ｔ］とすれば図１６に示す下式の演算を求め、変換行列の更新処理を実行する（ステップＳ３２，Ｓ３４）。
［Ｒ］＝［Ｒｏ］［Ｒｉ］              −−−−回転行列の更新
［Ｔ］＝［Ｒｏ］［Ｔｉ］＋［Ｔｏ］      −−−−平行移動行列の更新
つづいて変換行列［Ｒ］、［Ｔ］を退避変換行列［Ｒｓ］、［Ｔｓ］として退避する（ステップＳ４０）。
［Ｒ］→［Ｒｓ］      −−−−回転行列の退避
［Ｔ］→［Ｔｓ］      −−−−平行移動行列の退避
退避変換行列［Ｒｓ］、［Ｔｓ］は三次元座標変換復元指令Ｇ６８．１により変換行列［Ｒ］、［Ｔ］に復元させるものである。
【００４８】
三次元座標変換キャンセル指令Ｇ６９により変換行列［Ｒ］、［Ｔ］を図１５に示す下式のように初期化する（ステップＳ４２，Ｓ４４）。
［Ｒ］＝［Ｅ］      −−−［Ｅ］は単位行列
［Ｔ］＝［Ｏ］      −−−［Ｏ］は零行列
上記のように、変換行列の退避タイミングを三次元座標変換指令Ｇ６８のタイミングで実行しても良い。
【図面の簡単な説明】
【図１】本発明の実施の形態によるＮＣ装置の全体構成を示すブロック図である。
【図２】図１に示すＮＣ装置の三次元座標変換復元部を示すブロック図である。
【図３】図１及び図２に示す三次元座標変換復元部を用いて三次元座標変換復元の実行手順を示すフローチャートである。
【図４】図２に示す三次元座標変換復元部を用いて初期化の実行手順を示すフローチャートである。
【図５】一実施の形態による三次元座標変換の加工プログラム例を示す図である。
【図６】一実施の形態による三次元座標変換の斜め加工プログラム例を示す図である。
【図７】一実施の形態による三次元座標変換の加工プログラム例を示す図である。
【図８】一実施の形態による三次元座標変換復元の実行手順を示すフローチャートである。
【図９】一般的な三次元座標変換の加工プログラム例を示す図である。
【図１０】一般的な三次元座標変換の説明図である。
【図１１】一般的な三次元座標変換の変換行列の説明図である。
【図１２】一般的な三次元座標変換の変換行列の説明図である。
【図１３】一般的な三次元座標変換式の説明図である。
【図１４】一般的な三次元座標変換の具体例を示す説明図である。
【図１５】三次元座標変換の行列の初期化を示す説明図である。
【図１６】三次元座標変換の行列の更新を示す説明図である。
【図１７】従来の三次元座標変換の行列の実行手順を示すフローチャートである。
【図１８】従来の三次元座標変換の加工プログラム例を示す図である。
【図１９】従来の三次元座標変換の加工プログラム例を示す図である。
【符号の説明】
１０    プログラム入力部、１２  演算部、１４    制御部、１６  駆動部、１８  工作機械、２０    三次元座標変換演算部、２２    直線・円弧補間演算部、４０  プログラム解析手段、４２  変換行列設定手段、４４  変換行列記憶手段（第１の記憶手段）、４６  プログラム座標値記憶手段、４８  三次元座標変換手段、５０  ワーク座標値記憶手段、５２    変換行列クリア手段、６０    変換行列復元手段、６２退避変換行列記憶手段（第２の記憶手段）、６８    初期化手段。
【図１】
2005031981.tif 000004
【図２】
2005031981.tif 000005
【図３】
2005031981.tif 000006
【図４】
2005031981.tif 000007
【図５】
2005031981.tif 000008
【図６】
2005031981.tif 000009
【図７】
2005031981.tif 000010
【図８】
2005031981.tif 000011
【図９】
2005031981.tif 000012
【図１０】
2005031981.tif 000013
【図１１】
2005031981.tif 000014
【図１２】
2005031981.tif 000015
【図１３】
2005031981.tif 000016
【図１４】
2005031981.tif 000017
【図１５】
2005031981.tif 000018
【図１６】
2005031981.tif 000019
【図１７】
2005031981.tif 000020
【図１８】
2005031981.tif 000021
【図１９】
2005031981.tif 000022