(57)【要約】【課題】近傍点距離内にブロック始点が複数存在するような加工において、より相応しいブロック始点を近傍点とすることが可能な近傍点サーチ機能を備えた数値制御装置を提供すること。【解決手段】本発明の数値制御装置は、移動軸と回転軸により制御される工具を、工具の現在位置から近傍点距離内の加工プログラムにより指令される加工経路上に移動させる近傍点サーチ機能を備え、近傍点をサーチするに際して、工具の先端点の位置と、工具姿勢との両方を考慮して近傍点を決定する。本サーチ手法を採用することにより、現在の工具位置から近傍点距離内にブロック始点が複数存在するときであっても、本来再開したいブロック始点を近傍点として決定することが可能となる。【選択図】図２
2016143111.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づいて少なくとも１つの移動軸と少なくとも１つの回転軸により制御される工具を、前記工具の現在位置から近傍点距離内の、前記加工プログラムにより指令される加工経路上に移動させる近傍点サーチ機能を有する数値制御装置において、
現在の前記工具の工具先端点位置を取得する現在工具先端点位置取得手段と、
現在の前記工具の工具姿勢を取得する現在工具姿勢取得手段と、
前記加工プログラムからブロックを読み出して解析する加工プログラム解析手段と、
前記加工プログラム解析手段の解析結果に基づいて、前記ブロックの実行開始時における前記工具の先端点位置を取得するブロック実行開始時工具先端点位置取得手段と、
前記ブロックの実行開始時における前記工具の先端点位置が、前記現在の前記工具の工具先端点位置から、あらかじめ設定されている近傍点距離内にあるか否かを判定する距離近傍判定手段と、
前記距離近傍判定手段により前記近傍点距離内にあると判定された場合、前記加工プログラム解析手段の解析結果に基づいて、前記ブロックの実行開始時における前記工具の工具姿勢を取得するブロック実行開始時工具姿勢取得手段と、
前記ブロックの実行開始時における前記工具の工具姿勢と、前記現在の前記工具の工具姿勢との差があらかじめ設定された所定の値以内であるかを判定する姿勢近傍判定手段と、
前記姿勢近傍判定手段によりあらかじめ設定された所定の値以内であるかを判定された場合、前記ブロックの実行開始時における前記工具の先端点位置を近傍点として出力する近傍点出力手段と、を備え、
前記近傍点出力手段により近傍点が出力されるか、または、前記加工プログラムが終了するまで、前記加工プログラムから順次ブロックを読み出して解析する、
ことを特徴とする数値制御装置。
【請求項２】
前記工具姿勢は、前記回転軸の角度により定義され、
前記姿勢近傍判定手段は、前記ブロックの実行開始時における前記回転軸の角度と前記現在の前記回転軸の角度の差があらかじめ設定された所定の値以内であるかを判定する、
ことを特徴とする請求項１に記載された数値制御装置。
【請求項３】
前記工具姿勢は、前記工具の制御点から工具先端点へのベクトルである工具ベクトルにより定義され、
前記姿勢近傍判定手段は、前記ブロックの実行開始時における工具ベクトルと、前記現在の工具ベクトルとの為す角度があらかじめ設定された所定の値以内であるかを判定する、
ことを特徴とする請求項１に記載された数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に工具姿勢を考慮した近傍点サーチが可能な数値制御装置に関する。
【背景技術】
【０００２】
近傍点サーチ機能を実行すると、加工プログラムを先頭から仮実行し、現在の工具先端点と、仮実行中の各ブロック始点での工具先端点の二点間の距離を計算する。この距離が設定距離（近傍点距離）内に入っていて、更にそのブロック終点で工具先端点が現在の工具先端点から遠ざかる場合に、このブロック始点を近傍点とする。近傍点が決定すると近傍点に工具が位置決めされ、そのブロック始点からプログラムを再開することが可能となる。
【０００３】
図６は、近傍点サーチ機能による近傍点の判定とサーチ中の再開への位置決めを示している。工具先端点から近傍点距離内にあるブロック始点を近傍点とし、そのブロック始点までプログラムを実行して中断したときと同じようにプログラムを再開することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−１２８０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術における近傍点サーチ機能は、加工プログラムを先頭から仮実行したときの各ブロックの工具先端点と、実際の工具先端点との距離でのみ近傍点の判定を行っているため、三次元の加工で工具の姿勢は変わるが先端はあまり移動しないときや、現在の工具から近傍点距離内にブロック始点が複数存在するときなどに、本来再開したいブロックではないブロックの始点を近傍点とすることがあるという問題があった。
【０００６】
例えば、図７のように、プログラムによっては再開しようとしてノズル先端を近づけたブロック始点とは異なるブロック始点が先に近傍点距離内に入り、近傍点として決定してしまうことがある。
【０００７】
そこで本発明の目的は、近傍点距離内にブロック始点が複数存在するような加工において、より相応しいブロック始点を近傍点とすることが可能な近傍点サーチ機能を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、加工プログラムに基づいて少なくとも１つの移動軸と少なくとも１つの回転軸により制御される工具を、前記工具の現在位置から近傍点距離内の、前記加工プログラムにより指令される加工経路上に移動させる近傍点サーチ機能を有する数値制御装置において、現在の前記工具の工具先端点位置を取得する現在工具先端点位置取得手段と、現在の前記工具の工具姿勢を取得する現在工具姿勢取得手段と、前記加工プログラムからブロックを読み出して解析する加工プログラム解析手段と、前記加工プログラム解析手段の解析結果に基づいて、前記ブロックの実行開始時における前記工具の先端点位置を取得するブロック実行開始時工具先端点位置取得手段と、前記ブロックの実行開始時における前記工具の先端点位置が、前記現在の前記工具の工具先端点位置から、あらかじめ設定されている近傍点距離内にあるか否かを判定する距離近傍判定手段と、前記距離近傍判定手段により前記近傍点距離内にあると判定された場合、前記加工プログラム解析手段の解析結果に基づいて、前記ブロックの実行開始時における前記工具の工具姿勢を取得するブロック実行開始時工具姿勢取得手段と、前記ブロックの実行開始時における前記工具の工具姿勢と、前記現在の前記工具の工具姿勢との差があらかじめ設定された所定の値以内であるかを判定する姿勢近傍判定手段と、前記姿勢近傍判定手段によりあらかじめ設定された所定の値以内であるかを判定された場合、前記ブロックの実行開始時における前記工具の先端点位置を近傍点として出力する近傍点出力手段と、を備え、前記近傍点出力手段により近傍点が出力されるか、または、前記加工プログラムが終了するまで、前記加工プログラムから順次ブロックを読み出して解析する、ことを特徴とする数値制御装置である。
【０００９】
本願の請求項２に係る発明は、前記工具姿勢は、前記回転軸の角度により定義され、前記姿勢近傍判定手段は、前記ブロックの実行開始時における前記回転軸の角度と前記現在の前記回転軸の角度の差があらかじめ設定された所定の値以内であるかを判定する、ことを特徴とする請求項１に記載された数値制御装置である。
【００１０】
本願の請求項３に係る発明は、前記工具姿勢は、前記工具の制御点から工具先端点へのベクトルである工具ベクトルにより定義され、前記姿勢近傍判定手段は、前記ブロックの実行開始時における工具ベクトルと、前記現在の工具ベクトルとの為す角度があらかじめ設定された所定の値以内であるかを判定する、ことを特徴とする請求項１に記載された数値制御装置である。
【発明の効果】
【００１１】
本発明により、近傍点距離内にブロック始点が複数存在するような加工において、意図しないブロック始点を近傍点としてサーチすることがなくなり、より相応しいブロック始点を近傍点とすることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態における数値制御装置の要部ブロック図である。
【図２】本発明の第１の実施形態における近傍点サーチ処理の概要を説明する図である。
【図３】本発明を第１の実施形態における近傍点サーチ処理のフローチャートである。
【図４】本発明の第２の実施形態における近傍点サーチ処理の概要を説明する図である。
【図５】本発明を第２の実施形態における近傍点サーチ処理のフローチャートである。
【図６】従来技術における近傍点サーチ機能を説明する図である。
【図７】従来技術における近傍点サーチ機能の問題点を説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面と共に説明する。
本発明の近傍点サーチ機能において、従来の近傍点の判別に加えて工具の姿勢による判別を備えることで、より正確な近傍点のサーチおよび再開を可能とする。すなわち、現在の工具姿勢とサーチ中の各ブロック始点での工具姿勢を比較して近傍点の判別を行う。
【００１４】
本発明では、以下のような機能手段を実装することで、工具姿勢を考慮した近傍点サーチ機能を実現する。
＜手段１＞
工具先端点から近傍点距離内に入るブロック始点を見つけた場合、そのブロック始点での回転軸と、現在の回転軸の差分を計算する。各回転軸の角度差が設定された範囲内に無い場合は近傍点と見なさず、続けて次のブロックをサーチする。
【００１５】
＜手段２＞
工具先端点から近傍点距離内に入るブロック始点を見つけた場合、そのブロック始点での制御点からノズル先端点へのベクトルと、現在の制御点からノズル先端点へのベクトルのなす角を計算する。この角度が設定された範囲内に無い場合は近傍点と見なさず、続けて次のブロックをサーチする。
【００１６】
＜第１の実施形態＞
本実施形態では、上述した手段１を用いた近傍点サーチ機能を備えた数値制御装置の実施形態を説明する。
図１は、本発明に係る実施の形態の数値制御装置１の要部ブロック図である。ＣＰＵ１１は数値制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。
【００１７】
ＳＲＡＭ１４は図示しないバッテリでバックアップされ、数値制御装置１の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＳＲＡＭ１４中には、インタフェース１５を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
本発明を実行する加工プログラム等の各種加工プログラムはインタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＳＲＡＭ１４に格納することができる。
【００１８】
インタフェース１５は、数値制御装置１とアダプタ等の外部機器７２との接続を可能とするものである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に転送する。
【００１９】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令やデータを受けてＣＰＵ１１に転送する。インタフェース１９は手動パルス発生器等を備えた操作盤７１に接続されている。
【００２０】
各軸の軸制御回路３０〜３４はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４４に出力する。サーボアンプ４０〜４４はこの指令を受けて、各軸のサーボモータ５０〜５４を駆動する。各軸のサーボモータ５０〜５４は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３４にフィードバックし、位置・速度のフィードバック制御を行う。なお、本ブロック図では、位置・速度のフィードバックについては省略している。
【００２１】
本実施形態の説明では、工具としてレーザ加工のためのノズルを備え、該ノズルの駆動する軸として、図１に示したように、移動軸がＸ軸，Ｙ軸，Ｚ軸の３軸、回転軸が第１回転軸（Ａ軸）および第２回転軸（Ｂ軸）の２軸を備えた工作機械を制御する数値制御装置を例とする。
【００２２】
本実施形態の近傍点サーチ機能では、現在のノズル先端点から近傍点距離内に入るブロック始点を見つけ、更にそのブロック終点がブロック始点よりもノズル先端点から遠ざかる場合、そのブロック始点での第１回転軸および第２回転軸（ブロック始点でのノズル姿勢）と、現在の第１回転軸および第２回転軸（現在のノズル姿勢）との差分を計算する。各回転軸の角度差があらかじめ設定された所定の範囲内に無い場合は近傍点と見なさず、続けて次のブロックをサーチする。
【００２３】
図２は、本実施形態の近傍点サーチ機能による近傍点サーチ処理の概要を説明する図である。２（ａ）において、プログラム経路Ｒは、加工プログラム指令に含まれるブロックＮ１〜ブロックＮ５により指令されるノズル先端点の経路である。
【００２４】
本実施形態の近傍点サーチ機能において、加工プログラムを先頭から仮実行（解析）すると、最初にＮ２ブロックの始点でノズル先端点があらかじめ数値制御装置に設定された近傍点距離Ｄ内に入り、Ｎ２ブロックの終点が始点よりも遠ざかることが判定され、Ｎ２ブロック始点（Ｎ２ブロック開始時点でのノズル先端点の位置）での第１回転軸（Ａ軸）および第２回転軸（Ｂ軸）の角度と、現在のノズル位置（サーチ開始時のノズル位置）での第１回転軸（Ａ軸）および第２回転軸（Ｂ軸）の角度の差分を計算する。
【００２５】
Ｎ２ブロックの開始時点における第１回転軸（Ａ軸）の角度と、現在の第１回転軸（Ａ軸）の角度との差分Ａ１、Ｎ２ブロックの開始時点における第２回転軸（Ｂ軸）の角度と、現在の第２回転軸（Ｂ軸）の角度との差分Ｂ１とが算出されると、次に、各角度差を、あらかじめ回転軸毎に数値制御装置に設定された回転軸近傍角度（第１回転軸近傍角度θ１、第２回転軸近傍角度θ２）と比較する。
そして、図２（ｂ）に示すように、各回転軸の角度差（Ａ１，Ｂ１）が大きくＡ１＞θ１、Ａ２＞θ２が成立するため、Ｎ２ブロック始点は近傍点と見なさず、近傍点サーチを継続する。
【００２６】
次に、近傍点サーチを継続すると、Ｎ５ブロックの始点が近傍点距離Ｄ内に入り、Ｎ５ブロックの終点が始点よりも遠ざかることが判定され、Ｎ５ブロック始点（Ｎ５ブロック開始時点でのノズル先端点の位置）での第１回転軸（Ａ軸）および第２回転軸（Ｂ軸）の角度と、現在のノズル位置（サーチ開始時のノズル位置）での第１回転軸（Ａ軸）および第２回転軸（Ｂ軸）の角度の差分を計算する。
【００２７】
Ｎ５ブロックの開始時点における第１回転軸（Ａ軸）の角度と、現在の第１回転軸（Ａ軸）の角度との差分Ａ２、Ｎ５ブロックの開始時点における第２回転軸（Ｂ軸）の角度と、現在の第２回転軸（Ｂ軸）の角度との差分Ｂ２とが算出されると、次に各角度差を、第１回転軸近傍角度θ１、第２回転軸近傍角度θ２と比較する。
そして、図２（ｂ）に示すように、各回転軸の角度差（Ａ２，Ｂ２）は小さく、Ａ２≦θ１、Ｂ２≦θ２が成立するため、Ｎ５ブロックの開始時点のノズル先端点位置を近傍点サーチの結果として出力し、移動軸を制御して出力された近傍点の位置にノズルの先端点を移動させる。
【００２８】
図３は、本実施形態における近傍点サーチ処理のフローチャートである。
●［ステップＳＡ０１］サーチ開始時の第１回転軸（Ａ軸）の角度Ａｓを取得する。
●［ステップＳＡ０２］サーチ開始時の第２回転軸（Ｂ軸）の角度Ｂｓを取得する。
●［ステップＳＡ０３］加工プログラムを読み込んでブロックを順次仮実行（解析）し、各ブロックの開始時点におけるノズルの各座標値（ノズル制御点位置及び先端点位置の座標値、及び第１回転軸（Ａ軸）、第２回転軸（Ｂ軸）の角度）を仮更新する。
【００２９】
●［ステップＳＡ０４］仮実行時（解析）における、ブロックの開始時点でのノズル先端点の位置と、現在のノズル先端点の位置との距離Ｌ１を計算する。
●［ステップＳＡ０５］ステップＳＡ０４で計算した距離Ｌ１が、近傍点距離Ｄ以下であるか否かを判定する。近傍点距離Ｄ以下である場合にはステップＳＡ０６へ進み、そうでない場合には当該ブロックの開始時点での位置は近傍点ではないと判断し、ステップＳＡ０３へ戻って次のブロックへ処理を移す。
●［ステップＳＡ０６］仮実行時（解析）における、ブロックの終点でのノズル先端点の位置と、現在のノズル先端点の位置との距離Ｌ２を計算する。
●［ステップＳＡ０７］ステップＳＡ０６で計算した距離Ｌ２が、ステップＳＡ０４で計算した距離Ｌ１より大きいか否かを判定する。距離Ｌ１より大きい場合にはステップＳＡ０８へ進み、そうでない場合には当該ブロックの開始時点での位置は近傍点ではないと判断し、ステップＳＡ０３へ戻って次のブロックへ処理を移す。
【００３０】
●［ステップＳＡ０８］ブロック開始時点における第１回転軸（Ａ軸）の角度Ａｎを取得する。
●［ステップＳＡ０９］サーチ開始時の第１回転軸（Ａ軸）の角度Ａｓと、ブロック開始時点における第１回転軸（Ａ軸）の角度Ａｎとの差分を計算し、該差分が第１回転軸の近傍角度θ１以下であるか否かを判定する。差分が第１回転軸の近傍角度θ１以下である場合にはステップＳＡ１０へ進み、そうでない場合には当該ブロックの開始時点での位置は近傍点ではないと判断し、ステップＳＡ０３へ戻って次のブロックへ処理を移す。
【００３１】
●［ステップＳＡ１０］ブロック開始時点における第２回転軸（Ｂ軸）の角度Ｂｎを取得する。
●［ステップＳＡ１１］サーチ開始時の第２回転軸（Ｂ軸）の角度Ｂｓと、ブロック開始時点における第２回転軸（Ｂ軸）の角度Ｂｎとの差分を計算し、該差分が第２回転軸の近傍角度θ２以下であるか否かを判定する。差分が第２回転軸の近傍角度θ２以下である場合にはステップＳＡ１２へ進み、そうでない場合には当該ブロックの開始時点での位置は近傍点ではないと判断し、ステップＳＡ０３へ戻って次のブロックへ処理を移す。
【００３２】
●［ステップＳＡ１２］仮実行（解析）中のブロックの開始時点の位置を近傍点として決定する。
●［ステップＳＡ１３］ステップＳＡ１２で決定した近傍点に、ノズルの先端点を位置決めする。
●［ステップＳＡ１４］近傍点から加工を再開する。
【００３３】
以上に述べたように、本実施形態の近傍点サーチ機能は、近傍点サーチ処理実行開始時におけるノズル先端点の位置およびノズルの回転角と、加工プログラムに含まれる各ブロックの開始時点におけるノズル先端点の位置およびノズルの回転角とが、一定の近傍範囲内にある点を近傍点として決定する。
【００３４】
なお、本実施形態では、近傍点サーチ機能を移動軸３軸、回転軸２軸の工作機械を制御する数値制御装置を例として説明しているが、本発明の近傍点サーチ機能をこれに限定されるものではなく、少なくとも移動軸１軸、回転軸１軸以上を備えた工作機械を制御する数値制御装置に適用可能である。また、工具の例としてレーザ加工のノズルを例としたが、切削工具や研磨工具など、工具姿勢を制御する必要がある加工に用いる、いずれの工具に対しても適用可能である。
【００３５】
＜第２の実施形態＞
第１の実施形態では、近傍点サーチ処理実行開始時における工具先端点の位置および工具の回転角と、加工プログラムに含まれる各ブロックの開始時点における工具先端点の位置および工具の回転角とが、一定の近傍範囲内にある点を近傍点として決定する近傍点サーチ機能について説明したが、本実施形態では、工具の回転角の代わりに工具の向き（工具の制御点から工具先端点へのベクトル）を用いて近傍点の判定を行う例を説明する。なお、本実施形態の説明においては第１の実施形態と同様の工作機械を制御する数値制御装置を例とする。
【００３６】
本実施形態の近傍点サーチ機能では、ノズル先端点から近傍点距離内に入るブロック始点を見つけた場合、そのブロックの開始時点における、ノズルの制御点からノズル先端点へのベクトルと、現在のノズルの制御点からノズル先端点へのベクトルのなす角を計算する。この角度があらかじめ設定された所定の範囲内に無い場合は近傍点と見なさず、続けて次のブロックをサーチする。
【００３７】
図４は、本実施形態の近傍点サーチ機能による近傍点サーチ処理の概要を説明する図である。４（ａ）において、プログラム経路Ｒは、加工プログラム指令に含まれるブロックＮ１〜ブロックＮ５により指令されるノズル先端点の経路である。
【００３８】
本実施形態の近傍点サーチ機能において、加工プログラムを先頭から仮実行（解析）すると、最初にＮ２ブロックの始点でノズル先端点があらかじめ数値制御装置に設定された近傍点距離Ｄ内に入ることが判定され、Ｎ２ブロック始点（Ｎ２ブロック開始時点でのノズル先端点の位置）でのノズルの制御点からノズル先端点へのベクトルＶ１と、現在のノズル位置（サーチ開始時のノズル位置）でのノズルの制御点からノズル先端点へのベクトルＶａを算出し、ベクトルＶ１とベクトルＶａの為す角度を計算する。
【００３９】
Ｎ２ブロックの開始時点におけるノズルの制御点からノズル先端点へのベクトルＶ１と、サーチ開始時のノズルの制御点からノズル先端点へのベクトルＶａとが為す角度αが算出されると、該角度αをあらかじめ数値制御装置に設定された近傍ベクトル角度φと比較する。
そして、図４（ｂ）に示すように、ベクトルＶ１，Ｖａの為す角度αは大きく、α＞φが成立するため、Ｎ２ブロック始点は近傍点と見なさず、近傍点サーチを継続する。
【００４０】
次に、近傍点サーチを継続すると、Ｎ５ブロックの始点が近傍点距離Ｄ内に入ることが判定され、Ｎ５ブロック始点（Ｎ５ブロック開始時点でのノズル先端点の位置）でのノズルの制御点からノズル先端点へのベクトルＶ２を算出し、ベクトルＶ２とベクトルＶａの為す角度を計算する。
【００４１】
Ｎ５ブロックの開始時点におけるノズルの制御点からノズル先端点へのベクトルＶ２と、サーチ開始時のノズルの制御点からノズル先端点へのベクトルＶａとが為す角度βが算出されると、該角度βをあらかじめ数値制御装置に設定された近傍ベクトル角度φと比較する。
そして、図４（ｂ）に示すように、ベクトルＶ２，Ｖａの為す角度αは小さく、β≦φが成立するため、Ｎ５ブロックの開始時点のノズル先端点位置を近傍点サーチの結果として出力し、移動軸を制御して出力された近傍点の位置にノズルの先端点を移動させる。
【００４２】
図５は、本実施形態における近傍点サーチ処理のフローチャートである。
●［ステップＳＢ０１］サーチ開始時のノズルの各座標値（ノズル先端点位置の座標値、及び第１回転軸（Ａ軸）、第２回転軸（Ｂ軸）の角度など）を取得し、取得した座標値に基づいて、サーチ開始時のノズルの制御点からノズル先端点へのベクトルＶａを計算する。
●［ステップＳＢ０２］加工プログラムを読み込んでブロックを順次仮実行（解析）し、各ブロックの開始時点におけるノズルの各座標値を仮更新する。
【００４３】
●［ステップＳＢ０３］仮実行（解析）時における、ブロックの開始時点でのノズル先端点の位置と、現在のノズル先端点の位置との距離Ｌ１を計算する。
●［ステップＳＢ０４］ステップＳＢ０３で計算した距離Ｌ１が、近傍点距離Ｄ以下であるか否かを判定する。近傍点距離Ｄ以下である場合にはステップＳＢ０５へ進み、そうでない場合には当該ブロックの開始時点での位置は近傍点ではないと判断し、ステップＳＢ０２へ戻って次のブロックへ処理を移す。
【００４４】
●［ステップＳＢ０５］仮実行時（解析）における、ブロックの終点でのノズル先端点の位置と、現在のノズル先端点の位置との距離Ｌ２を計算する。
●［ステップＳＢ０６］ステップＳＢ０５で計算した距離Ｌ２が、ステップＳＢ０３で計算した距離Ｌ１より大きいか否かを判定する。距離Ｌ１より大きい場合にはステップＳＢ０７へ進み、そうでない場合には当該ブロックの開始時点での位置は近傍点ではないと判断し、ステップＳＢ０２へ戻って次のブロックへ処理を移す。
【００４５】
●［ステップＳＢ０７］ブロック開始時点におけるノズルの制御点からノズル先端点へのベクトルＶ１を計算する。
●［ステップＳＢ０８］サーチ開始時のノズルの制御点からノズル先端点へのベクトルＶａと、ブロック開始時点における、ノズルの制御点からノズル先端点へのベクトルＶ１の為す角度を計算し、該角度が近傍ベクトル角度φ以下であるか否かを判定する。ベクトルの為す角度が近傍ベクトル角度φ以下である場合にはステップＳＢ０９へ進み、そうでない場合には当該ブロックの開始時点での位置は近傍点ではないと判断し、ステップＳＢ０２へ戻って次のブロックへ処理を移す。
【００４６】
●［ステップＳＢ０９］仮実行（解析）中のブロックの開始時点の位置を近傍点として決定する。
●［ステップＳＢ１０］ステップＳＢ０９で決定した近傍点に、ノズルの先端点を位置決めする。
●［ステップＳＢ１１］近傍点から加工を再開する。
【００４７】
以上の述べたように、本実施形態の近傍点サーチ機能は、近傍点サーチ処理実行開始時におけるノズル先端点の位置およびノズルの制御点からノズル先端点へのベクトルと、加工プログラムに含まれる各ブロックの開始時点におけるノズル先端点の位置およびノズルの制御点からノズル先端点へのベクトルとが、一定の近傍範囲内にある点を近傍点として決定する。
【符号の説明】
【００４８】
１    数値制御装置
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    ＳＲＡＭ
１５，１８，１９    インタフェース
１６    ＰＭＣ
１７    Ｉ／Ｏユニット
２０    バス
３０，３１，３２，３３，３４    軸制御回路
４０，４１，４２，４３，４４    サーボアンプ
５０，５１，５２，５３，５４    サーボモータ
７０    表示器／ＭＤＩユニット
７１    操作盤
７２    外部機器
【図１】
2016143111.tif 000003
【図３】
2016143111.tif 000004
【図５】
2016143111.tif 000005
【図２】
2016143111.tif 000006
【図４】
2016143111.tif 000007
【図６】
2016143111.tif 000008
【図７】
2016143111.tif 000009