(57)【要約】【課題】加工サイクルの途中で加工を止めた後、加工サイクルの加工条件を変更しても、適切にプログラム再開を行うことが可能な数値制御装置を提供する。【解決手段】加工サイクルの途中で加工が止められた後にプログラム再開を行う数値制御装置１００は、加工サイクルにより定義された加工領域内に存在する再開位置を取得し、再開位置で前記加工領域を分割して新たな加工領域を作成し、新たな加工領域に対して加工を再開するプログラム再開部１１０を有することを特徴とする。【選択図】図２０
2019067331.tif 000002
【特許請求の範囲】
【請求項１】
加工サイクルの途中で加工が止められた後にプログラム再開を行う数値制御装置であって、
前記加工サイクルにより定義された加工領域内に存在する再開位置を取得し、
前記再開位置で前記加工領域を分割して新たな加工領域を作成し、
前記新たな加工領域に対して加工を再開するプログラム再開部を有することを特徴とする
数値制御装置。
【請求項２】
前記再開位置は座標値で与えられることを特徴とする
請求項１記載の数値制御装置。
【請求項３】
前記再開位置は加工中断時点における切込量又は加工再開時における取代で与えられることを特徴とする
請求項１記載の数値制御装置。
【請求項４】
前記プログラム再開部は、前記加工が止められた時の工具位置を、前記再開位置として記憶することを特徴とする
請求項１記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は数値制御装置に関し、特に加工サイクルの途中からプログラムを再開する機能を備えた数値制御装置に関する。
【背景技術】
【０００２】
プログラム再開とは、加工プログラム（以下、プログラムと称する）に基づく加工を途中で止めた後に、止めた位置から加工を再開する機能をいう。プログラム再開機能によれば、加工を止める前に実行されていたプログラムのうち、再開したいブロックのシーケンス番号又はブロック番号（プログラムの先頭から再開したいブロックまでのブロック数）を指定することで、空運転すること無しに加工を再開することができる。例えば、加工中に工具が破損したとき、又は休暇前に中断した加工を休暇明けに再開したいとき等にプログラム再開機能は有用である。
【０００３】
プログラム再開に関する従来技術として、例えば特許文献１乃至３がある。特許文献１には、加工を途中で止めた後に加工条件を変更した場合、当該変更に誤りがないかどうかをプログラム再開前に確認することのできる数値制御装置が記載されている。特許文献２には、加工を途中で止めた後、最適なアプローチで加工を再開する加工制御装置が記載されている。特許文献３には、加工を途中で止めた後に加工プログラムの編集などの設定変更を行った場合、プログラム再開時に、加工中断時と再開時とにおける機械の状態（モーダル情報等）の違いを表示する数値制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１５３０６３号公報
【特許文献２】特開２００８−１５８７２６号公報
【特許文献３】特開２０１４−０２６４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の装置では、加工条件の変更の結果、加工経路のブロック数が変化した場合に適切にプログラムを再開することができない。特許文献２記載の装置では、加工条件の変更の結果、加工サイクルの工具経路が変化した場合に適切にプログラムを再開することができない。特許文献３の装置は、加工中断前後の機械の状態（モーダル情報等）が一致するか否かをチェックするのみであり、プログラム再開時に必要な調整は手動で実施する必要がある。
【０００６】
本発明はこのような問題点を解決するためになされたものであって、加工サイクルの途中で加工を止めた後、加工サイクルの加工条件を変更しても、適切にプログラム再開を行うことが可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施の形態にかかる数値制御装置は、加工サイクルの途中で加工が止められた後にプログラム再開を行う数値制御装置であって、前記加工サイクルにより定義された加工領域内に存在する再開位置を取得し、前記再開位置で前記加工領域を分割して新たな加工領域を作成し、前記新たな加工領域に対して加工を再開するプログラム再開部を有することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記再開位置は座標値で与えられることを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記再開位置は加工中断時点における切込量又は加工再開時における取代で与えられることを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記プログラム再開部は、前記加工が止められた時の工具位置を、前記再開位置として記憶することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、加工サイクルの途中で加工を止めた後、加工サイクルの加工条件を変更しても、適切にプログラム再開を行うことが可能な数値制御装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】加工サイクルを含むプログラムの一例を示す図である。
【図１Ｂ】加工領域の一例を示す図である。
【図２】加工サイクルに基づいて生成される工具経路を示す図である。
【図３】加工サイクルに基づいて生成される工具経路を示す図である。
【図４】加工サイクルの切削条件を変更することによる影響を説明する図である。
【図５】加工サイクルの切削条件を変更することによる影響を説明する図である。
【図６】加工サイクルの切削条件を変更することによる影響を説明する図である。
【図７】加工サイクルの切削条件を変更することによる影響を説明する図である。
【図８】実施例１にかかる数値制御装置１００の動作を示す図である。
【図９】実施例１にかかる数値制御装置１００の動作を示す図である。
【図１０】実施例１にかかる数値制御装置１００の動作を示す図である。
【図１１】実施例１にかかる数値制御装置１００の動作を示す図である。
【図１２】実施例１にかかる数値制御装置１００の動作を示す図である。
【図１３】実施例１にかかる数値制御装置１００の動作を示すフローチャートである。
【図１４】実施例２にかかる数値制御装置１００の動作を示す図である。
【図１５】実施例２にかかる数値制御装置１００の動作を示す図である。
【図１６】実施例２にかかる数値制御装置１００の動作を示す図である。
【図１７】実施例２にかかる数値制御装置１００の動作を示す図である。
【図１８】実施例２にかかる数値制御装置１００の動作を示す図である。
【図１９】実施例２にかかる数値制御装置１００の動作を示すフローチャートである。
【図２０】数値制御装置１００の機能構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
まず本発明の課題を明確にするため、加工サイクルの途中で加工を止めた後、加工サイクルの加工条件を変更し、プログラムを再開した場合に生じうる問題について説明する。
【００１１】
プログラムには加工サイクルが含まれる場合がある。加工サイクルとは、切削条件と加工領域とを定義した指令群である。数値制御装置は、加工サイクルで定義された切削条件と加工領域とに基づいて、工具経路を定義した指令群を生成する。そして数値制御装置は、加工サイクルの指令群を工具経路の指令群によって置き換え、その工具経路に従って稼働軸を制御する。
【００１２】
図１Ａに、加工サイクルを含むプログラムの一例を示す。外径荒旋削加工を行うこのプログラムにおいては、Ｇ１１２０からＧ１４５６に至るブロックが加工サイクルである。Ｇ１１２０は切削条件（Ｐ：切削方向、Ｑ：切込量、Ｈ：切込量変化率、Ｃ：Ｘ軸方向仕上げ代、Ｄ：Ｚ軸方向仕上げ代、Ｆ：切削方向送り速度、Ｋ：初回送りオーバライド、Ｗ：切上方法指定、Ｖ：切上方向送り速度、Ｌ：Ｘ軸方向クリアランス、Ｍ：Ｚ軸方向クリアランス、Ｚ：アプローチ動作方法指定、Ｘ：ポケット部分加工方法指定、Ｙ：オーバハング部分加工方法指定、等を含む）を指令している（切削条件指令）。Ｇ１４５０乃至Ｇ１４５６は加工形状を指令している（形状指令）。図１Ｂに、形状指令により定義される加工領域を示す。加工領域とは、旋削加工により形成される部品形状と、加工前の素材の外形を示す素材形状とにより囲まれる領域を言う。
【００１３】
図２に、図１Ａの加工サイクルを運転した時に指令されるブロック群を示す。このブロック群は、数値制御装置が加工サイクルに記述された指令を解釈して生成した、工具経路を示す指令ブロック（ＩＳＯコード）からなる。図３は、図２の指令による工具経路を示している。破線は早送りブロック、実線は切削送りブロックを示す。
【００１４】
このように、数値制御装置は加工サイクルを解釈して自動的に工具経路を生成する。生成される工具経路は一般に切削条件によって異なる。工具経路が異なれば、生成されるブロックの数も異なり得る。例えば、旋削荒加工を行う加工サイクルの場合、切削条件の１つである切込量が半分になると、工具経路のブロック数は約２倍になる。具体例を示す。図４に示すように、加工サイクルにおいて切込量を５．０から２．５に変更する。すると図５に示すように、数値制御装置が生成する工具経路のブロック数は約２倍になる（図３との比較）。図６は、図５の指令による工具経路を示している。破線は早送りブロック、実線は切削送りブロックを示す。
【００１５】
さて、プログラム再開機能は、プログラムを再開したいブロックのシーケンス番号やブロック番号が指定されたなら、指定されたブロックから加工を再開する。プログラム内に加工サイクルが存在しているなら、加工サイクルの途中からプログラム再開を行うこともある。例えば、加工サイクルの途中で一旦加工を止め、切削条件を変更してから、プログラムを再開する場合がこれに含まれる。具体的には、加工サイクルを運転中、加工負荷が高すぎるために一旦運転を止めて、切削条件のうち切込量を小さく変更した後、加工を再開するような場合である。あるいは、加工サイクルを運転中、加工を速めるために一旦運転を止めて、切込量をもっと大きく変更してから加工を再開するような場合である。
【００１６】
上述のように、数値制御装置は、加工サイクルのブロックを工具経路のブロックに置き換えてから加工を行う。また切込量を変更すると、数値制御装置が生成する工具経路のブロック数は増減する。したがって、プログラムを止め、加工サイクルを編集して切込量を変更してからプログラムを再開すると、再開位置にあたるブロックの番号が変化してしまうことがある。それにも関わらず、プログラムを止めたときの停止位置であるブロック番号を指定してプログラムを再開すると、予期せぬ動作が実行されてしまう。例えば空運転を行ってしまうため、無駄が生じる。あるいは未加工の位置から運転を再開してしまうので、非常に危険である。図７に、このような問題の一例を示す。図７上図における矢印は、プログラムの第１２ブロックの加工の終点を示している。いまプログラムの第１２ブロックで加工を一旦停止し、加工サイクルを編集して切込量を２倍に変更してから加工を再開するものとする。すると、プログラム再開時の工具位置は、図７下図における矢印の位置となってしまう。
【００１７】
本発明の実施の形態にかかる数値制御装置１００は、このような問題を解決するための構成を有する。図２０は、数値制御装置１００の機能構成を示すブロック図である。数値制御装置１００は、プログラム再開機能を実現するプログラム再開部１１０、加工サイクルを編集する加工サイクル編集部１２０を有する。典型的な数値制御装置１００は、中央処理装置（ＣＰＵ）、記憶装置及び入出力装置等を有し、記憶装置に格納されたプログラムをＣＰＵが実行することにより、プログラム再開部１１０及び加工サイクル編集部１２０を論理的に実現する。
【００１８】
プログラム再開部１１０は、従来のプログラム再開機能と同様、プログラムを運転中に加工を止める機能、加工の再開位置を指定する機能、指定された再開位置から加工を再開する機能を有する。本実施の形態のプログラム再開部１１０は、加工サイクルの途中で加工を中断及び再開する場合は、加工の再開位置を、従来のようなブロック番号ではなく、加工領域内の物理的位置を用いて指定する点に特徴を有する。加工領域内の物理的位置とは例えば、座標値や、既に加工が終了した切込量又は加工を再開したい取代である。
【００１９】
加工サイクル編集部１２０は、ユーザの入力操作等に応じて加工サイクルを編集して、切削条件などを変更する処理を行う。プログラム再開部１１０は、例えば加工サイクル編集部１２０により加工停止中に加工サイクルが編集されたことを検知したときに、加工領域内の物理的位置を用いた再開位置の指定を受け付けるよう構成しても良い。
【００２０】
＜実施例１＞
実施例１として、加工サイクル（加工領域を図８上図に示す）を実行中に運転が中断され（中断地点を図８下図に矢印で示す）、加工サイクル編集部１２０において切削条件が変更された後、プログラム再開部１１０が加工を再開する例を示す。ここでプログラム再開部１１０は、加工の再開位置を決定するため座標値の入力を受け付ける。図９に、座標値の入力インターフェイスの一例を示す。通常は、プログラムが中断された時点における工具位置が座標値として用いられる。なお、図９のようなインターフェイスを介して座標値を入力させる代わりに、プログラム再開部１１０がプログラムが中断された時点における工具位置の座標を記憶しておき、当該座標を用いて加工の再開位置を決定しても良い。
【００２１】
図１３のフローチャートを用いて、プログラム再開部１１０がプログラムを再開する際の動作を示す。
Ｓ１０１：プログラム再開処理が開始される。プログラム再開部１１０は、プログラムの実行を再開すべきブロックが加工サイクルである否かを判定する。加工サイクルである場合は、再開位置となる座標値を受け付けた後、ステップＳ１０２に遷移する。その他の場合はＳ１０７に遷移する。
【００２２】
Ｓ１０２：プログラム再開部１１０は、再開位置として指定された座標値を含み、かつ切り込み方向に垂直な直線を算出する（図１０、上から２段目の図を参照）。
Ｓ１０３：プログラム再開部１１０は、Ｓ１０２で算出した直線と加工領域との交点２点を求める。
Ｓ１０４：プログラム再開部１１０は、Ｓ１０３で求めた２つの交点を結ぶ線分で加工領域を分割する（図１０、上から３段目の図を参照）。
Ｓ１０５：プログラム再開部１１０は、分割された加工領域のうち、切り込み方向に対して正の方向に位置する領域を、新たな加工領域とする（図１０、上から４段目の図を参照）。
【００２３】
Ｓ１０６：プログラム再開部１１０は、加工サイクルの開始点までプログラムを仮実行（工具を駆動せずモーダル情報等のみ変化させること）し、モーダル情報等を復元する。その後、Ｓ１０５で生成した新たな加工領域の加工開始点まで工具をアプローチし、加工サイクル編集部１２０において変更された切削条件に従って加工を開始する（図１１参照）。すなわち、Ｓ１０５で生成した新たな加工領域と、加工サイクル編集部１２０において変更された切削条件とによって、新たな加工サイクルが定義される。プログラム再開部１１０は、新たな加工サイクルに基づいて、新たに工具経路を生成し、新たな工具経路に従って加工を再開する（図１２参照）。
【００２４】
Ｓ１０７：再開位置が加工サイクルでない場合は、プログラム再開部１１０は、従来通りブロック番号で再開位置の指定を受け付けることができる。プログラム再開部１１０は、指定されたブロック番号までプログラムを仮実行した後、プログラムの実行を再開する。
【００２５】
本実施の形態によれば、プログラム再開部１１０は、指定された座標値で加工領域を分割し、分割された加工領域に対して加工を再開する。これにより、加工サイクルの途中で加工を止めた後、加工サイクルの加工条件を変更しても、適切な位置から加工を再開することができる。
【００２６】
＜実施例２＞
実施例２として、加工サイクル（加工領域を図１４上図に示す）を実行中に運転が中断され（中断地点を図１４下図に矢印で示す）、加工サイクル編集部１２０において切削条件が変更された後、プログラム再開部１１０が加工を再開する例を示す。ここでプログラム再開部１１０は、加工の再開位置を決定するため、加工中断時点における切込量又は加工再開時における取代の入力を受け付ける。なお加工中断時点における切込量とは、素材の外縁から、旋削処理が既に終了している工具経路までの距離をいう。加工再開時における取代とは、旋削処理が既に終了している工具経路から、最も深い加工点までの距離をいう（図１４下図参照）。図１５に、加工中断時点における切込量又は加工再開時における取代の入力インターフェイスの一例を示す。なお、図１５のようなインターフェイスを介して加工中断時点における切込量又は加工再開時における取代を入力させる代わりに、プログラム再開部１１０がプログラムが中断された時に、加工中断時点における切込量又は加工再開時における取代を記憶しておき、当該加工中断時点における切込量又は当該加工再開時における取代を用いて加工の再開位置を決定しても良い。
【００２７】
図１９のフローチャートを用いて、プログラム再開部１１０がプログラムを再開する際の動作を示す。
Ｓ２０１：プログラム再開処理が開始される。プログラム再開部１１０は、プログラムの実行を再開すべきブロックが加工サイクルである否かを判定する。加工サイクルである場合は、加工中断時点における切込量又は加工再開時における取代を受け付けた後、ステップＳ２０２に遷移する。その他の場合はＳ２０７に遷移する。
【００２８】
Ｓ２０２：プログラム再開部１１０は、指定された加工中断時点における切込量又は加工再開時における取代の位置にあり、かつ切り込み方向に垂直な直線を算出する（図１６、上から２段目の図を参照）。
Ｓ２０３：プログラム再開部１１０は、Ｓ２０２で算出した直線と加工領域との交点２点を求める。
Ｓ２０４：プログラム再開部１１０は、Ｓ２０３で求めた２つの交点を結ぶ線分で加工領域を分割する（図１６、上から３段目の図を参照）。
Ｓ２０５：プログラム再開部１１０は、分割された加工領域のうち、切り込み方向に対して正の方向に位置する領域を、新たな加工領域とする（図１６、上から４段目の図を参照）。
【００２９】
Ｓ２０６：プログラム再開部１１０は、加工サイクルの開始点までプログラムを仮実行（工具を駆動せずモーダル情報等のみ変化させること）し、モーダル情報等を復元する。その後、Ｓ２０５で生成した新たな加工領域の加工開始点まで工具をアプローチし、加工サイクル編集部１２０において変更された切削条件に従って加工を開始する（図１７参照）。すなわち、Ｓ２０５で生成した新たな加工領域と、加工サイクル編集部１２０において変更された切削条件とによって、新たな加工サイクルが定義される。プログラム再開部１１０は、新たな加工サイクルに基づいて、新たに工具経路を生成し、新たな工具経路に従って加工を再開する（図１８参照）。
【００３０】
Ｓ２０７：再開位置が加工サイクルでない場合は、プログラム再開部１１０は、従来通りブロック番号で再開位置の指定を受け付けることができる。プログラム再開部１１０は、指定されたブロック番号までプログラムを仮実行した後、プログラムの実行を再開する。
【００３１】
本実施の形態によれば、プログラム再開部１１０は、指定された加工中断時点における切込量又は加工再開時における取代で加工領域を分割し、分割された加工領域に対して加工を再開する。これにより、加工サイクルの途中で加工を止めた後、加工サイクルの加工条件を変更しても、適切な位置から加工を再開することができる。
【００３２】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態又は実施例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００３３】
例えば、上述の実施の形態では主に旋削加工を例として説明したが、ミリングなど他の加工においても本発明を同様に適用可能である。すなわち、プログラム中に加工サイクルを含み得、かつ加工ブロックを変更することでブロック数が変わり得るあらゆる加工に対して本発明は適用可能である。
【符号の説明】
【００３４】
１００  数値制御装置
１１０  プログラム再開部
１２０  加工サイクル編集部
【図１Ａ】
2019067331.tif 000003
【図１Ｂ】
2019067331.tif 000004
【図２】
2019067331.tif 000005
【図３】
2019067331.tif 000006
【図４】
2019067331.tif 000007
【図５】
2019067331.tif 000008
【図６】
2019067331.tif 000009
【図７】
2019067331.tif 000010
【図８】
2019067331.tif 000011
【図９】
2019067331.tif 000012
【図１０】
2019067331.tif 000013
【図１１】
2019067331.tif 000014
【図１２】
2019067331.tif 000015
【図１３】
2019067331.tif 000016
【図１４】
2019067331.tif 000017
【図１５】
2019067331.tif 000018
【図１６】
2019067331.tif 000019
【図１７】
2019067331.tif 000020
【図１８】
2019067331.tif 000021
【図１９】
2019067331.tif 000022
【図２０】
2019067331.tif 000023