(57)【要約】【課題】高精度な加工を行うために自由曲線の形状に応じた送り速度で補間する補間装置において、送り速度を求める処理時間を短縮する。【解決手段】補間部６で求めた加工パスＳＰの送り速度列ＶＳを基準データとして、同一性判定部５で加工パスＳＰと形状特徴比ＳＲが所定範囲内で同一と判断された加工パスについては、出力データ再利用部８で基準区間の送り速度列ＶＳを形状特徴比ＳＲに応じて再利用し、当該加工パスの送り速度列を生成する。【選択図】図１
2020106991.tif 000002
【特許請求の範囲】
【請求項１】
自由曲線プログラムを自由曲線処理手段により処理して目的の出力データを得る自由曲線プログラムの処理装置において、
自由曲線プログラムを１ブロックずつ読込み、形状特徴量の同類性が判定できる単位に区切って順次区間としていく区間化手段と、
受け取った前記区間の形状特徴量を区間毎に算出し、都度対象区間の形状特徴量として出力すると共に保持する特徴量算出手段と、
前記特徴量算出手段から出力された前記対象区間の形状特徴量と、前記特徴量算出手段に保持された当該対象区間の最近傍の基準区間の形状特徴量とを比較し、両者の差異が所定の範囲内であれば同一形状と判定すると共に、当該対象区間の形状特徴量を出力データ再利用手段に渡す同一性判定手段と、
保持された基準区間の出力データを前記対象区間の形状特徴量に基づいて再利用し、当該対象区間の出力データとして出力する出力データ再利用手段と、
を備え、
前記同一性判定手段で同一形状と判定された場合には、
前記出力データ再利用手段が前記基準区間の出力データを再利用して得たデータを出力する、
ことを特徴とする処理時間短縮機能を備えた自由曲線プログラムの処理装置。
【請求項２】
請求項１に記載の処理時間短縮機能を備えた自由曲線プログラムの処理装置であって、
前記同一性判定手段で同一形状でないと判定された場合には、
前記自由曲線処理手段は前記対象区間を処理したデータを出力すると共に当該出力を前記基準区間の出力データとして保持し、さらに、前記特徴量算出手段に保持された特徴量のうち当該対象区間の特徴量を基準区間の特徴量としなおす、
ことを特徴とする処理時間短縮機能を備えた自由曲線プログラムの処理装置。
【請求項３】
請求項１又は２に記載の処理時間短縮機能を備えた自由曲線プログラムの処理装置であって、
前記自由曲線プログラムの処理装置は、サーボ制御手段によりワークを加工する工作機械の数値制御装置に設けられ、
前記自由曲線処理手段は、目的の出力データである補間周期毎の送り速度列を自由曲線の形状に応じて求め、該補間周期毎の送り速度列により該自由曲線上を補間して得た補間周期毎の補間位置を前記サーボ制御手段に出力する補間手段であり、
前記自由曲線プログラムの処理装置は、
前記サーボ制御手段から機械特性のデータを得て、当該機械特性に見合った所定の範囲を導出する判定範囲導出手段と、
をさらに備え、
前記特徴量算出手段は、区間の形状特徴量として区間の移動距離を順次算出し、
前記同一性判定手段は、対象区間の形状特徴比として基準区間の移動距離に対する対象区間の移動距離の比を算出し、形状特徴量の比較を当該形状特徴比で行うと共に、当該対象区間の形状特徴比を前記出力データ再利用手段に渡し、
前記出力データ再利用手段は、前記対象区間の形状特徴比に基づいて再利用する、
ことを特徴とする処理時間短縮機能を備えた自由曲線プログラムの処理装置。
【請求項４】
請求項１又は２に記載の処理時間短縮機能を備えた自由曲線プログラムの処理装置であって、
前記自由曲線処理手段は自由曲線の形状に応じて送り速度を求め、目的の出力データとして数値制御工作機械にてワークを加工する時間を推定して出力する加工時間推定手段であり、
前記特徴量算出手段は、区間の形状特徴量として区間の移動距離を順次算出し、
前記同一性判定手段は、対象区間の形状特徴量として基準区間の移動距離に対する対象区間の移動距離の比を算出し、形状特徴量の比較を当該移動距離の比で行い、
前記出力データ再利用手段は、前記対象区間の形状特徴量に基づいて再利用する、
ことを特徴とする処理時間短縮機能を備えた自由曲線プログラムの処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御工作機械で自由曲面を加工するための加工プログラムに代表される自由曲線プログラムを処理する装置に関する。自由曲線プログラムを処理する装置としては、高精度な加工を行うために自由曲線の形状に応じた送り速度を目的の出力データとする補間装置や、このような補間装置でワークを加工するのに要する推定時間を目的の出力データとする加工時間推定装置がある。
【０００２】
本発明は、特に、自由曲線プログラムを処理するのに要する時間を短くする処理時間短縮手段を備えた自由曲線プログラムの処理装置に関する。
【背景技術】
【０００３】
数値制御工作機械で高精度な加工を行なうための補間方式として、例えば本出願人が開示した特許文献１の技術がある。また、このような方式は加工プログラムによって与えられた形状に応じて送り速度を制御するので、加工に要する時間は総移動距離を指令された送り速度で割るといった単純な式では算出できない。加工時間を正確に推定するための装置として、本出願人が開示した特許文献２の技術がある。
【０００４】
さて、数値制御工作機械で３次元形状を加工する場合、自由曲面を連続した複数の線分で近似した自由曲線プログラムに従って加工することが一般的である。自由曲面をできるだけ正確に表現するために、近年では１つの移動指令の移動距離を短くするようになってきた。これは、数値制御工作機械のデータ処理能力が高まり、所定時間内に処理できる移動指令数が増えてきたことによる。
【０００５】
所定時間内に処理できる移動指令数が増えてきたとはいえ、やはり上限はあるので、近年においても特許文献３のような処理時間短縮方式が提案されている。特許文献３の技術は、移動距離の短い複数の指令経路をひとつに圧縮して加工を行う数値制御装置において、圧縮による工具の送り速度の変化を防止し、加工精度を悪化させることなく高速に加工を行なわせる、つまり高精度加工のまま処理時間を短縮する技術である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０７−２３９７０８号公報
【特許文献２】特開２００５−３０１４４０号公報
【特許文献３】特開２０１１−１８６９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
補間装置については、加工プログラムの移動指令を補間周期の時間内に処理して補間指令を生成できないと、数値制御工作機械の送り軸を駆動するサーボ制御部に出力できなくなり切削動作が停止してしまう。こうなると加工時間が延びることはもとより、加工精度が悪化したりワークに切削痕が付いたりして加工面品位が極めて悪くなる。下記の加工時間推定装置と共通する指令の増加に対応することに加え、このような加工面品位の悪化を避けるためにも、近年においても一層の処理時間短縮を実現する意義はある。
【０００８】
一方、加工時間推定装置は主に加工計画を立案するために利用される。自由曲線プログラムでは、切削のための移動指令の移動距離が短くなってきたことに併せ、折り返し動作であるピックフィード動作のための移動指令の移動距離（ピックフィード距離）も短くなってきている。仮にピックフィード距離を半分にすると、特許文献２の装置で加工時間を推定に要する時間は約２倍になる。加工内容にもよるが、時間差にして数時間というのも珍しくはない。このような状況であるので、加工時間推定装置でも一層の処理時間短縮を実現する意義はある。
【０００９】
本発明では、ピックフィードも含め移動指令の移動距離が短い自由曲線プログラムの特徴に着目し、補間装置や加工時間推定装置といった自由曲線プログラムを処理する装置において自由曲線プログラムの処理に要する時間を短くする手段を開示する。
【課題を解決するための手段】
【００１０】
本発明は、自由曲線プログラムを自由曲線処理手段により処理して目的の出力データを得る自由曲線プログラムの処理装置において、自由曲線プログラムを１行ずつ読込み、形状特徴量の同類性が判定できる単位に区切って順次区間としていく区間化手段と、受け取った前記区間の形状特徴量を区間毎に算出し、都度対象区間の形状特徴量として出力すると共に保持する特徴量算出手段と、前記特徴量算出手段から出力された前記対象区間の形状特徴量と、前記特徴量算出手段に保持された当該対象区間の最近傍の基準区間の形状特徴量とを比較し、両者の差異が所定の範囲内であれば同一形状と判定すると共に、当該対象区間の形状特徴量を出力データ再利用手段に渡す同一性判定手段と、保持された基準区間の出力データを前記対象区間の形状特徴量に基づいて再利用し、当該対象区間の出力データとして出力する出力データ再利用手段と、を備え、前記同一性判定手段で同一形状と判定された場合には、前記出力データ再利用手段が前記基準区間の出力データを再利用して得たデータを出力する、ことを特徴とする処理時間短縮機能を備えた自由曲線プログラムの処理装置である。
【００１１】
望ましくは、前記同一性判定手段で同一形状でないと判定された場合には、前記自由曲線処理手段は前記対象区間を処理したデータを出力すると共に当該出力を前記基準区間の出力データとして保持し、さらに、前記特徴量算出手段に保持された特徴量のうち当該対象区間の特徴量を基準区間の特徴量としなおす、ことを特徴とする。
【００１２】
望ましくは、前記自由曲線プログラムの処理装置は、サーボ制御手段によりワークを加工する工作機械の数値制御装置に設けられ、前記自由曲線処理手段は、目的の出力データである補間周期毎の送り速度列を自由曲線の形状に応じて求め、該補間周期毎の送り速度列により該自由曲線上を補間して得た補間周期毎の補間位置を前記サーボ制御手段に出力する補間手段であり、前記自由曲線プログラムの処理装置は、前記サーボ制御手段から機械特性のデータを得て、当該機械特性に見合った所定の範囲を導出する判定範囲導出手段と、をさらに備え、前記特徴量算出手段は、区間の形状特徴量として区間の移動距離を順次算出し、前記同一性判定手段は、対象区間の形状特徴比として基準区間の移動距離に対する対象区間の移動距離の比を算出し、形状特徴量の比較を当該形状特徴比で行うと共に、当該対象区間の形状特徴比を前記出力データ再利用手段に渡し、前記出力データ再利用手段は、前記対象区間の形状特徴比に基づいて再利用する、ことを特徴とする。
【００１３】
望ましくは、前記自由曲線処理手段は自由曲線の形状に応じて送り速度を求め、目的の出力データとして数値制御工作機械にてワークを加工する時間を推定して出力する加工時間推定手段であり、前記特徴量算出手段は、区間の形状特徴量として区間の移動距離を順次算出し、前記同一性判定手段は、対象区間の形状特徴量として基準区間の移動距離に対する対象区間の移動距離の比を算出し、形状特徴量の比較を当該移動距離の比で行い、前記出力データ再利用手段は、前記対象区間の形状特徴量に基づいて再利用する、ことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、補間装置においては補間周期の時間内に処理できない懸念の高い自由曲線プログラムであるほど処理済みのデータを再利用できる可能性が高くなるので、さらに多くの指令から成る自由曲線プログラムに対応できるようになったり、加工面品位が悪化する可能性を抑えることができる。
【００１５】
また、加工時間推定装置においても、加工時間の推定に要する時間が長くなりそうな自由曲線プログラムであるほど処理済みのデータを再利用できる可能性が高くなる。したがって、加工時間の推定に要する時間が延びるのを抑えることができ、効率的な加工計画立案を維持することができる。
【図面の簡単な説明】
【００１６】
【図１】実施例１を説明するブロック図である。
【図２】実施例１を説明するフローチャートである。
【図３】自由曲面加工の送り方の例を説明する図である。
【図４Ａ】実施例１の出力データである制御周期毎の送り速度列の例示であり、（ａ）は、自由曲線を処理して得た加工パス（１）の速度列である。
【図４Ｂ】実施例１の出力データである制御周期毎の送り速度列の例示であり、（ｂ）は、自由曲線を処理して得た加工パス（２）の速度列である。
【図４Ｃ】実施例１の出力データである制御周期毎の送り速度列の例示であり、（ｃ）は、加工パス（１）を再利用して得た加工パス（２）の速度列である。
【図５】実施例２を説明するブロック図である。
【図６】実施例２を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
自由曲面加工の典型として金型加工というものがある。金型とはプレス加工用や射出成型機に使われる金属製の型の事であり、例えば自動車のボディーの板金はプレス金型を使ってプレス加工されたものである。自動車のボディーの板金はボンネット部やフェンダー部などいくつかのパーツから成っているが、フェンダー部ひとつとってもサイズは大きく、デザイン性を有した多数の曲面部から成っている（デザイン性を与えるため、金型設計では曲面部を自由曲面で定義する）。
【００１８】
例えば数値制御工作機械で金型を切削加工する場合、一気にその形が形成されるわけではない。数値制御工作機械では切削工具とワークが触れる切削点でワークを削り取っていく。このため模式的に表した図３のように、切削点で線状に加工する、切削点をこの線とほぼ垂直方向にわずかにずらす、そしてまた切削点で線状に加工する、といった動作を何度も繰り返して、自由曲面から成っている金型が得るわけである。自由曲面を加工するので線状とは金型の設計形状に沿った自由曲線であるため、本明細書ではこのような加工プログラムを自由曲線プログラムと称す。また、切削点を線状に加工する動作を本明細書では加工送りと称し、この自由曲線の連続した加工送り動作による経路のことを加工パスと称する。切削点を線とほぼ垂直方向にずらす動作をピックフィードと称する。
【００１９】
ここで本発明の着想について述べる。
【００２０】
自由曲線プログラムにおいては、図３でも例示したように、ひとつのピックフィードを隔てた加工パスの形状どうしは似ていることが非常に多い。前述したように、近年ではピックフィードの距離が短くなってきており、０．３ｍｍである自由曲線プログラムも多い。ピックフィード距離が０．３ｍｍ程度となると、人の目にはひとつのピックフィードを隔てた加工パスの形状は同じに見える。
【００２１】
自由曲線プログラムの処理装置において、自由曲線プログラムを処理して目的の出力データを得るのに時間がかかるのは、加工送り動作部の処理に時間がかかるためである。自由曲線プログラムの処理装置では目的の出力データを加工パスの形状に基づいて算出するので、加工パスの形状が同一なら得られる目的の出力データは同一になる。
【００２２】
これらふたつのことからピックフィード距離が短い自由曲線プログラムに対しては、自由曲線プログラムの処理装置において次のようにすることで、処理時間が短縮できる。既に目的の出力データが得られている加工パスに形状が極めて似ている加工パスに対しては、前者の加工パスの出力データを後者の加工パスの出力データとして再利用する。従来の自由曲線プログラムの処理装置は加工送り動作部の処理も加工送りの指令ごとに逐一処理を施していたため時間がかかったが、再利用する処理は指令ごとの処理より短時間で済むからである。
【００２３】
以上が本発明の着想である。
【００２４】
以下、形状が極めて似ているという同一性の判定の条件や再利用処理した場合の精度について、実用上差し支えない程度に構成した二つの実施例で、本発明を説明する。
【００２５】
＜実施例１＞
実施例１は、自由曲線の形状に応じた送り速度列を目的の出力データとする補間装置に本発明を適用した例である。
【００２６】
図１に実施例１のブロック図を示す。図１のすべての機能ブロックは、数値制御工作機械を制御して加工を行わしめる数値制御装置の機能ブロックである。図２は実施例１のフローチャートである。まず図１で各ブロックの動作を説明し、次に図２で動作の手順を説明する。
【００２７】
自由曲線プログラム１は、数値制御工作機械（図示せず）で自由曲面を加工するための加工プログラムである。その書式は１行１ブロックとして数値制御工作機械の動作を順に指令する普通の数値制御プログラムであるが、前述の「図３」のようにピックフィードを経て往復動作を繰り返すことで自由曲面を加工するよう指令が記述されている。加工パスは自由曲線を微小な直線で近似した送り指令の集まりで記述されている。加工パスはＮＵＲＢＳ形式などによる曲線指令であってもよい。動作は往復ではない一方向であってもよく、等高線加工であってもよい。ピックフィードの指令ブロックにはピックフィードであることを示すコードが付与されている。
【００２８】
区間化部２は自由曲線プログラムを１行ずつ読込み連続する加工パスを１つの区間ＳＰとして抽出する。抽出した加工パスＳＰは順次、特徴量算出部３に出力していく。
【００２９】
前述したようにピックフィードで隔てられた加工パスの形状どうしは似ているので、「形状特徴量の同類性が判定できる単位」を加工パスとしている。加工パスはピックフィード指令ブロックで区切られているので、ピックフィードであることを示すコードを認識して区切っていく。ピックフィードのない自由曲線プログラムであれば、形状特徴量の同類性が判定できる単位つまり一周分でコードを入れて区切るようにしてよい。ピックフィードであることを示すコードがない自由曲線プログラムであれば、公知の方法でピックフィード指令ブロックを認識して区切ってもよい。また、加工パスに前もしくは後ろのピックフィード指令ブロックを統一的に加えたものを区間ＳＰとしてもよい。
【００３０】
特徴量算出部３は、受け取った加工パスＳＰの移動距離を形状特徴量ＳＦとして順次算出していく。加工パスは微小な直線で近似した送り指令の集まりなので、加工パスの移動距離は区間ＳＰ内の送り指令の移動量を全て積算して算出する。形状特徴量ＳＦは同一性判定部５で加工パスの形状の同一性を判定するための指標データである。算出した形状特徴量つまり移動距離を同一性判定部５に、対象区間の形状特徴量ＳＦとして出力する。
【００３１】
併せて特徴量算出部３は、算出した形状特徴量ＳＦを特徴量保持部４に保持させる。特徴量保持部４へは、どの区間のものかが特定できるよう区間番号Ｓｎを付けて、区間ごとに形状特徴量ＳＦ［Ｓｎ］と基準区間フラグＳＳＦ［Ｓｎ］を保持する。基準区間フラグＳＳＦ［Ｓｎ］はその区間が基準区間か否かを示すもので、詳細については後述する。特徴量保持部４では少なくとも１つの基準区間が存在するだけの区間分を保持すればよい。
【００３２】
同一性判定部５は、区間数判定と形状特徴量判定とで同一性の判定を行う。区間数判定については後の動作の流れの説明で詳述する。
【００３３】
形状特徴量判定とは、対象区間の形状特徴量ＳＦと基準区間の形状特徴量ＳＦ［ＳＳ］とを比較し、両者の形状が同一か否かを判定する。対象区間の形状特徴量ＳＦは特徴量算出部３から受け取る。基準区間の形状特徴量ＳＦ［ＳＳ］は特徴量保持部４に保持されている基準区間ＳＳすなわち基準区間フラグＳＳＦの立った区間ＳＳの形状特徴量ＳＦ［ＳＳ］を読み出す（もし基準区間フラグの付いた区間が複数あったならば、その中でも順序的に最も対象区間Ｓｎに近い区間の形状特徴量とする）。
【００３４】
同一性判定部５での形状特徴量比較は式１の形状特徴比ＳＲで判定幅ＪＲを持たせて行う。判定範囲の上限ＪＲｍａｘと下限ＪＲｍｉｎは判定条件記憶部１０に記憶されている。なお、判定範囲の上限ＪＲｍａｘと下限ＪＲｍｉｎは予め判定範囲導出部１１で導出され、判定条件記憶部１０に記憶される。判定範囲導出部１１については後述する。
【００３５】
形状特徴比ＳＲ＝対象区間の移動距離ＳＦ／基準区間の移動距離ＳＦ［ＳＳ］  ・・・式１
【００３６】
形状特徴比ＳＲが上限ＪＲｍａｘ以下でかつ下限ＪＲｍｉｎ以上であれば、対象区間である加工パスと基準区間とした加工パス形状とは同一形状と判定する。
【００３７】
同一形状と判定した場合、同一性判定部５は対象区間の加工パスＳＰとともに前記形状特徴比ＳＲを出力データ再利用部８に渡す。逆に同一形状でないと判定した場合には、対象区間の加工パスＳＰを補間部６に渡す。
【００３８】
補間部６は同一性判定部５から加工パスＳＰを受け取った場合、すなわち同一性判定部５で対象区間の加工パス形状が基準区間の加工パスの形状とは同一形状でないと判定された場合、補間部６が対象区間の補間周期毎の補間位置Ｐ［ｉ］をサーボ制御部９に出力する。この補間位置は受け取った加工パスＳＰを従前の方式にて順次補間していくことで生成される。添え字ｉは補間周期の順番を示す。
【００３９】
前述のように補間部６は、高精度な加工を行うために自由曲線の部分々の形状に応じた送り速度Ｖ［ｉ］を求める。形状がなだらかな曲率の小さい部分では送り速度を落とさずに、逆に形状が複雑で曲率の大きい部分や鋭角を持つコーナ部分では送り速度を落とす、といった具合である。この送り速度Ｖ［ｉ］を求めるのに非常に時間がかかる。
【００４０】
なお、ひとつの区間分の送り速度列ＶＯの要素を積算すると、その区間の加工パスの移動距離ＳＦと等しくなる（式２）。
【数１】
2020106991.tif 000003
【００４１】
Σは積算の演算子である。説明の簡単化のため式２では、１はひとつの区間分の最初の順番を意味するものとし、ｍはひとつの区間分の加工パスがｍ個で補間されたことを意味するものとする。ｉが１からｍまでの送り速度Ｖ［ｉ］は、一括して保持されるので、これらを単に送り速度列ＶＯと称することとする。
【００４２】
生成したひとつの加工パス分の送り速度列ＶＯを、補間部６は基準区間の出力データ保持部７に保持する。さらに補間部６は、受け取った加工パスを基準としたことを同一性判定部５が認識できるように、特徴量保持部４に保持されている該当する区間番号ＳＳの基準区間フラグＳＳＦ［ＳＳ］をＯＮする。つまり基準区間の出力データ保持部７に保持されたデータは基準区間の送り速度列ＶＳとなり、式２は式３のように書き換えることができる。
【数２】
2020106991.tif 000004
【００４３】
一方、出力データ再利用部８が同一性判定部５から加工パスＳＰと形状特徴比ＳＲを受け取った場合、すなわち同一性判定部５で対象区間の加工パス形状が基準区間の加工パスの形状と同一形状と判定された場合、出力データ再利用部８が対象区間の補間周期毎の補間位置Ｐ［ｉ］をサーボ制御部９に出力する。この補間位置Ｐ［ｉ］は基準区間の出力データ保持部７に既に保持されている基準区間の送り速度列ＶＳを再利用して生成される。以下に出力データ再利用部８の再利用について詳説する。
【００４４】
対象区間の加工パスの開始点Ｐ［０］から、まずＶ’［１］のところで補間しＰ［１］を生成する。次にＰ［１］からＶ’［２］のところで補間しＰ［２］を生成する。Ｖ’［ｊ］は式４から求める。これを基準区間の速度列の要素数ｍまで繰り返す。
Ｖ’［ｊ］＝形状特徴比ＳＲ＊基準区間の送り速度Ｖｓ［ｊ］  ・・・式４
Ｖ’［ｊ］＝形状特徴比ＳＲ＊基準区間の送り速度Ｖｓ［ｍ＋１−ｊ］  ・・・式５
【００４５】
式４は往復加工動作で対象区間が基準区間と同じ方向、あるいは一方向動作や等高線加工の場合の式である。往復加工動作の場合で対象区間が基準区間と反対の方向の場合は式５で求める。式５の添え字式は、時間軸においてデータの並び順を反転することを表している。
【００４６】
形状特徴比ＳＲは式１で求めた値である。したがって式６が成り立ち、対象区間の加工パスはちょうどｍ回の補間がなされる。
【数３】
2020106991.tif 000005
【００４７】
基準区間の速度ＶＳは、基準区間の出力データ保持部７に保持されている速度列である。出力データ再利用部８はＶ’［ｊ］を当該の速度列ＶＳを利用して乗算で求めるので、補間部６の従前の方式と比べてきわめて短時間で処理が済む。
【００４８】
以上が出力データ再利用部８の再利用の説明である。
【００４９】
サーボ制御部９は、補間部６あるいは出力データ再利用部８の必ずどちらかから補間位置Ｐ［ｉ］を補間周期毎に受け取り、これらの補間位置Ｐ［ｉ］に従って数値制御工作機械を制御する。これにより自由曲線プログラム１どおりにワークが加工される。
【００５０】
判定範囲導出部１１は同一性判定部５での判定条件を導出し、判定条件記憶部１０に記憶しておく。この判定条件は次のように導出する。
判定範囲の上限ＪＲｍａｘ＝１．０＋（「許容加速度マージン率ＡＭ」−１．０）／２    ・・・式７
判定範囲の上限ＪＲｍｉｎ＝１．０−（「許容加速度マージン率ＡＭ」−１．０）／２    ・・・式８
【００５１】
許容加速度とは数値制御工作機械の機械特性を表すサーボパラメータのひとつであり、送り加速度つまり送り速度の単位時間当たりの変化量が通常この許容加速度を越えないように制御される。許容加速度マージン率ＡＭも機械特性を表すサーボパラメータのひとつであり、機械的ダメージを受けるような限界の加速度を許容加速度との比で表したものである。許容加速度マージン率ＡＭは１より大きな値であるが、大きくてもせいぜい１．２程度である。この１．２が加速度マージン率であった場合、判定範囲の上限ＪＲｍａｘと下限ＪＲｍｉｎはそれぞれ式７と式８から１．１と０．９という値となる。補間部６で補間した結果がもし許容加速度を越えてしまっても、まだ「許容加速度マージン率」の半分のマージンが残るので、実用上の問題はない。判定条件記憶部１０に記憶された判定範囲の上限ＪＲｍａｘと下限ＪＲｍｉｎは、前述の同一性判定部５で参照される。
【００５２】
以上が図１のブロック図を使った実施例１の説明である。
【００５３】
以下、図２のフローチャートで実施例１の動作の流れを説明する。図３はあくまで模式図ではあるが、加工パス（２）が加工パス（１）と同一形状であり、加工パス（３）は加工パス（１）と同一形状ではないという前提で、最初の３つの加工パスを中心に動作の流れを説明していく。図３の加工パスの括弧書きの番号は区間番号であり、区間を区別するために以下の説明にも使用する。
【００５４】
なお、説明の簡単化のために自由曲線プログラム１には切削送り指令しかないものとする。言い換えれば、普通には存在するアプローチや逃げの位置決め指令やＳＴＭコードなどの補助指令はないものとする。また、ピックフィードは切削送りで指令されているものとする。ピックフィードはその部分の出力データを再利用しないものとして説明するが、ピックフィードも加工パスと分けたうえで加工パスと同様な方法で再利用すれば実現可能である。あるいは、ピックフィードを前なら前、後ろなら後ろと統一的に加工パスに繰り込んで区間としてもよい。
【００５５】
まず、数値制御装置自体の電源投入直後など本発明でのプログラム運転起動（ステップＳ１０１）に先立って、判定範囲導出部１１は同一性判定部５での判定条件、すなわち判定範囲の上限ＪＲｍａｘと下限ＪＲｍｉｎを導出して（式７、式８）おき、判定条件記憶部１０に記憶しておく（ステップＳ１００）。
【００５６】
機械オペレータによって自由曲線プログラム１が選択された後にプログラム運転が起動されると（ステップＳ１０１、Ｙｅｓ）、ステップＳ１０２にて最初の加工パスを取り込み、基準区間ＳＰとする。本発明では通常の方法で処理して得た出力データを基準としてそれを再利用することで処理時間を短縮するので、まずはその基準データを確定しておくためである。
【００５７】
手順としては、区間化部２は自由曲線プログラム１を１ブロックずつ読込み、ピックフィードであることを示すコードが現れたら、その前ブロックまでの指令をひとつの加工パスＳＰ（１）とする。そして特徴量算出部３はこの加工パスの各ブロックの送り指令の移動量を全て積算して移動距離ＳＦ（１）を求める。特徴量算出部３は特徴量保持部４に、区間番号に最初の加工パスとして１を、この移動距離ＳＦ（１）を形状特徴量ＳＦ［１］に、さらに基準区間フラグＳＳＦ［１］をＯＮして保持する。この最初の加工パスＳＰ（１）の指令は補間部６で処理され、補間部６は処理して得た送り速度列ＶＯ（１）を基準区間の出力データ保持部７に保持しておく。
【００５８】
ステップＳ１０３からステップＳ１１３までは、自由曲線プログラム１を区間単位で最後まで順次処理するためのループ処理である。ステップＳ１１３にてＭ０２などのプログラムエンドコードが検出されたら終了する。次は区間番号２について説明する。
【００５９】
ステップＳ１０３では、次の加工パスとして区間番号を１増やし、区間化部２は自由曲線プログラム１を次のブロックから１ブロックずつ読込み込んでいく。ピックフィードであることを示すコードが現れたら、その前ブロックまでの指令をひとつの加工パスとする。これを対象区間の加工パスＳＰ（２）とする。
【００６０】
そして特徴量算出部３は対象区間の加工パスＳＰ（２）の各ブロックの送り指令の移動量を全て積算して移動距離ＳＲ（２）を求める（ステップＳ１０４）。特徴量算出部３は特徴量保持部４に区間番号２を、この移動距離ＳＦ（２）を形状特徴量ＳＦ［２］に、さらに基準区間フラグＳＳＦ［２］をＯＦＦして保持する（ステップＳ１０５）。
【００６１】
ステップＳ１０６は、同一性判定部５における区間数判定である。基準区間から所定の区間数が隔たったかを判定する。所定の区間数はあらかじめ設定される数で、例えば４なら、対象区間の区間番号と基準区間の区間番号の差が４となった場合には、ＹｅｓとなりステップＳ１１０に移行する。これにより形状特徴量判定で同一形状と判定され続けたとしても５区間ごとに基準区間パスとなり、移動距離で形状特徴量判定することに対して、加工パスの形状が徐変していくが故に同一性の判定を誤る危険性が軽減される。なお所定の区間数は、あらかじめ設定される距離をピックフィード距離で除した数としてもよい。以下では所定の区間数を４として説明する。
【００６２】
対象区間番号が２なのでステップＳ１０７に移行する。同一性判定部５は式１で説明したように、対象区間の距離を基準区間の距離で除して形状特徴比ＳＲ（２）を求める。
【００６３】
ステップＳ１０８は、同一性判定部５における形状特徴量判定である。判定条件記憶部１０の範囲の上限ＪＲｍａｘと下限ＪＲｍｉｎを参照し、形状特徴比ＳＲ（２）が範囲内つまり上限ＪＲｍａｘ以下でかつ下限ＪＲｍｉｎ以上であれば、対象区間の加工パスと基準区間の加工パスの形状は同一と判定し、ステップＳ１０９に移行する。逆に範囲外であれば、ステップＳ１１０に移行する。
【００６４】
ステップＳ１０９は、形状が同一と判断された場合に出力データ再利用部８にて実行されるステップである。基準区間の出力データ保持部７に保持されている基準区間の送り速度列ＶＳ（１）から対象区間の加工パスの速度Ｖ’（２）［ｊ］を式５により順次算出する。この速度列を使って加工パスを補間していき、補間位置Ｐ［ｉ］を補間周期毎に順次サーボ制御部９に出力する。
【００６５】
ここまでが区間番号２の説明である。次に区間番号３について説明する。
【００６６】
ステップＳ１０３からステップＳ１０６を経てステップＳ１０７は区間番号２と同様である。ステップＳ１０８では範囲外となり、ステップＳ１１０へ移行する。
【００６７】
ステップＳ１１０は、形状が同一と判断されなかった場合に補間部６にて実行されるステップである。従前の方式で対象区間の速度列ＶＯ（３）を求め、この速度列を使って加工パスを補間していき、補間位置を補間周期毎に順次サーボ制御部９に出力する。求めた速度列は、基準区間の出力データ保持部７に保持する（ステップＳ１１１）。補間部６はさらに特徴量保持部４にある対象区間の、すなわち区間番号３の区間番号を持つ基準区間フラグＳＳＦ［３］をＯＮする（ステップＳ１１１）。
【００６８】
以上が区間番号３の説明である。特徴量保持部４にある基準区間フラグＳＳＦ［３］がＯＮとなることで区間番号３の加工パス（３）が新たな基準区間となり、送り速度列ＶＯ（３）は基準区間の速度列ＶＳとして以降の区間番号の処理で再利用することができる。この基準区間の加工パスと同一形状と判断されたならば区間番号２で説明したのと同様な手順で、同一形状ではないと判断されたならば区間番号３で説明したのと同様な手順となる。
【００６９】
なお、同一性判定部５における区間数判定の所定の数が４で、基準区間が加工パス（１）であった場合、仮に加工パス（２）〜（６）が形状特徴量判定で加工パス（１）と同一形状という条件に合致しても、区間数判定により加工パス（５）が加工パス（１）の次の基準区間になる。そして加工パス（６）は加工パス（５）の出力データを再利用することになる。ところで、補間部６が送り指令に対するオーバーライド変更に対応しており、加工パスの途中でオーバーライドが変わった場合は、区間数で基準を更新するだけでなくオーバーライドが変わったタイミングも考慮して、基準区間を更新するようにしてもよい。
【００７０】
最後に、実施例１の出力データである送り速度列の具体例を図４（ａ）から（ｃ）の棒グラフで掲載しておく。
【００７１】
図４（ａ）と図４（ｂ）はいずれもひとつの区間分の加工パス（図示せず）の送り速度列の補間周期毎のグラフであり、従前の方式にて順次補間していくことで生成されたものである。前述のように形状がなだらかな曲率の小さい部分では送り速度を落とさずに、逆に形状が複雑で曲率の大きい部分や鋭角を持つコーナ部分では送り速度を落とす、といった具合で生成されるので送り速度は変動している。
【００７２】
さらに言えば、図４（ａ）と図４（ｂ）との元の加工パスはひとつの自由曲線プログラムの隣接する加工パスである。なお自由曲線プログラムは往復動作しているので横軸の時系列は反転している。図４（ｃ）の送り速度グラフは図４（ｂ）の元の加工パスを実施例１で処理した結果である。この図４（ｃ）の送り速度グラフが得られる過程を説明する。
【００７３】
図４（ａ）と図４（ｂ）の元の加工パスをそれぞれ加工パス（１）と加工パス（２）として、いま加工パス（１）が基準区間で確定したとする。これまでの主たる状況は以下のとおりとする。
・判定範囲の上限ＪＲｍａｘ＝１．１、判定範囲の下限ＪＲｍｉｎ＝０．９
・区間数判定の所定の数＝４
・形状特徴量である移動距離ＳＦ（１）＝特徴量保持部４のＳＦ［１］＝１４８，６４７ｍｍ
・基準区間の出力データ保持部７の送り速度列ＶＳ要素：図４（ａ）の各送り速度
【００７４】
さて、区間化部２で区間化された加工パス（２）について、特徴量算出部３は加工パス（２）の移動距離を積算し形状特徴量ＳＦ（２）とする。
・形状特徴量である移動距離ＳＦ（２）＝１４８，５４９ｍｍ
【００７５】
次に同一性判定部１５で形状特徴比ＳＲ（２）を求める。
・形状特徴比ＳＲ（２）＝ＳＦ（２）／ＳＦ［１］＝１４８，５４９ｍｍ／１４８，６４７ｍｍ＝０．９９９３４０７１９９６０７１２２９１５３６３２４３１１９６０５５
【００７６】
さらに同一性判定部１５で形状特徴量判定を行う。
・上限ＪＲｍａｘ≧形状特徴比ＳＲ（２）≧下限ＪＲｍｉｎ
なので、形状が同一と判断される。
【００７７】
したがって出力データ再利用部８にて基準区間の出力データ保持部７に保持されている基準区間の送り速度列ＶＳ（１）から対象区間の加工パスの速度Ｖ’（２）［ｊ］を、往と復なので式５により順次算出する。このようにして、図４（ｃ）の送り速度列が得られる。
【００７８】
同じ加工パス（２）について、図４（ｃ）すなわち加工パス（１）の速度列を再利用して得た速度列と図４（ｂ）すなわち自由曲線を処理して得た速度列とは、実用上差し支えない程度に似ている。一方、速度列を得た過程は異なっており、図４（ｂ）を得るのに比べ図４（ｃ）を得る処理量はきわめて少なく短時間で済む。
【００７９】
なお、これまで説明した第1の実施例では、同一性判定部５にて同一形状でないと判定された場合には、その加工パスを基準の加工パスとするが、これ以外の構成としてもよい。例えば、加工パスと基準区間をその中のコーナ形状で区切ってそれぞれ細分化し、細分化した各区間同士で再度同一性判定をしてもよい。加工パス全域ではないが、その一部だけでも再利用できる可能性が広がる。あるいは、同様の目的で、基準区間と対象区間の加工パスの高さ方向の差分の偏差を速度列要素ごとに求め、偏差の総和に対する各偏差の比に応じて、速度列要素ごとの再利用係数（式４あるいは式５の形状特徴比ＳＲに相当するもの）を決定してもよい。コーナ形状で区切るよりさらに細分化され、その処理時間もかかるようになるが、それでも補間部６で送り速度を求めるよりは、処理時間が短縮される可能性は十分に高い。
【００８０】
＜第２の実施例＞
実施例２は、ワークを加工するのに要する時間を推定する加工時間推定装置に本発明を適用した例である。
【００８１】
図５に実施例２のブロック図を示す。図５のすべての機能ブロックは一般的なパーソナルコンピュータで動作する。当該のパーソナルコンピュータには加工プログラムを生成する機能が組み込まれていてもよい。あるいは実施例２は数値制御工作機械を制御して加工を行わしめる数値制御装置に組み込まれていてもよい。図６は実施例２のフローチャートである。まず図５で各ブロックの動作を説明し、次に図６で動作の手順を説明する。
【００８２】
自由曲線プログラム１、区間化部２、特徴量算出部３、特徴量保持部４は、実施例１の図１と同じなので詳細な説明を割愛する。これらの機能ブロックにより、加工パスＳＰが順次区間化され、各加工パスＳＰの形状特徴量ＳＦとして移動距離が算出され、特徴量保持部４に保持される。
【００８３】
同一性判定部１５は区間数判定で同一性の判定を行う。区間数判定とは対象の区間が基準区間から所定の区間数が隔たったかを判定するもので、所定の区間数より少なければ対象の区間は基準区間と同一形状とみなす。所定の区間数は装置オペレータが所望する処理時間短縮の程度に応じてあらかじめ設定される。この区間数の値が大きいほど処理時間が短縮されるが、加工時間の推定誤差は大きくなる。２〜４が実用的である。
【００８４】
同一性判定部１５はまた、形状特徴量比ＳＲを式１で算出する。
【００８５】
同一性判定部１５は、同一形状と判定した場合、前記形状特徴比ＳＲを出力データ再利用部１８に渡す。逆に同一形状でないと判定した場合には、対象区間の加工パスＳＰを加工時間推定部１６に渡す。
【００８６】
加工時間推定部１６は同一性判定部１５から加工パスＳＰを受け取った場合、すなわち同一性判定部１５で対象区間の加工パス形状が基準区間の加工パスの形状とは同一形状でないと判定された場合、受け取った加工パスＳＰ基づき従前の方式にて加工時間ＴＣを推定する。この加工時間ＴＣを加工時間積算部１９に出力すると共に、基準区間の出力データ保持部１７に保持する。さらに加工時間推定部１６は、受け取った加工パスを基準としたことを同一性判定部１５が認識できるように、特徴量保持部４に保持されている該当する区間番号ＳＳの基準区間フラグＳＳＦ［ＳＳ］をＯＮする。つまり基準区間の出力データ保持部１７に保持されたデータは基準区間の加工時間ＴＣＳとして扱われる。
【００８７】
一方、出力データ再利用部１８が同一性判定部１５から形状特徴比ＳＲを受け取った場合、すなわち同一性判定部１５で対象区間の加工パス形状が基準区間の加工パスの形状と同一形状と判定された場合、出力データ再利用部１８が加工時間ＴＣを加工時間積算部１９に出力する。この加工時間ＴＣは基準区間の出力データ保持部１７に既に保持されている基準区間の加工時間ＴＣＳを式９のように再利用して生成される。
加工時間ＴＣ＝形状特徴比ＳＲ＊基準区間の加工時間ＴＣＳ  ・・・式９
【００８８】
このように、加工時間ＴＣを基準区間の出力データ保持部１７に保持されている基準区間の加工時間ＴＣＳを利用して乗算で求めるので、加工時間推定部１６の従前の方式と比べてきわめて短時間で処理が済む。
【００８９】
加工時間積算部１９は、加工時間推定部１６あるいは出力データ再利用部１８の必ずどちらかから区間分すなわち加工パス分の加工時間ＴＣを受け取り、都度積算していく。これにより最終的に自由曲線プログラム１の推定された加工時間が導かれる。
【００９０】
以上が図５のブロック図を使った実施例２の説明である。
【００９１】
以下、図６のフローチャートで実施例２の動作の流れを説明する。図３はあくまで模式図ではあるが、各加工パスは形状が似ているという前提で、かつ同一性判定部１５における区間数判定の所定の区間数は３として、最初の４つの加工パスを中心に動作の流れを説明していく。図３の加工パスの括弧書きの番号は区間番号であり、区間を区別するために以下の説明にも使用する。なお、説明の簡単化のために実施例１と同様な前提もおく。
【００９２】
まず、装置オペレータによって自由曲線プログラム１が選択された後、本加工時間推定装置が起動されると（ステップＳＳ）、ステップＳ２００にて加工時間積算部１９は推定する加工時間積算値（以下、加工時間積算値と称する）の値をゼロで初期化する。続いてステップＳ２０１にて最初の加工パスを取り込み、基準区間ＳＰとする。本発明では通常の方法で処理して得た出力データを基準としてそれを再利用することで処理時間を短縮するので、まずはその基準データを確定しておくためである。
【００９３】
手順としては、区間化部２は自由曲線プログラム１を１ブロックずつ読込み、ピックフィードであることを示すコードが現れたら、その前ブロックまでの指令をひとつの加工パスＳＰ（１）とする。そして特徴量算出部３はこの加工パスの各ブロックの送り指令の移動量を全て積算して移動距離ＳＦ（１）を求める。特徴量算出部３は特徴量保持部４に、区間番号に最初の加工パスとして１を、この移動距離ＳＦ（１）を形状特徴量ＳＦ［１］に、さらに基準区間フラグＳＳＦ［１］をＯＮして保持する。この最初の加工パスＳＰ（１）の指令は加工時間推定部１６で処理され、加工時間推定部１６は処理して得た加工時間ＴＣ（１）を基準区間の出力データ保持部１７に保持しておく。
【００９４】
ステップＳ２０２からステップＳ２１２までは、自由曲線プログラム１を区間単位で最後まで順次処理するためのループ処理である。ステップＳ２１２にてＭ０２などのプログラムエンドコードが検出されたら、加工時間積算部１９は加工時間積算値を表示して（ステップＳ２１３）終了する。次は区間番号２について説明する。
【００９５】
ステップＳ２０２では、次の加工パスとして区間番号を１増やし、区間化部２は自由曲線プログラム１を次のブロックから１ブロックずつ読込み込んでいく。ピックフィードであることを示すコードが現れたら、その前ブロックまでの指令をひとつの加工パスとする。これを対象区間の加工パスＳＰ（２）とする。
【００９６】
そして特徴量算出部３は対象区間の加工パスＳＰ（２）の各ブロックの送り指令の移動量を全て積算して移動距離ＳＲ（２）を求める（ステップＳ２０３）。特徴量算出部３は特徴量保持部４に区間番号２を、この移動距離ＳＦ（２）を形状特徴量ＳＦ［２］に、さらに基準区間フラグＳＳＦ［２］をＯＦＦして保持する（ステップＳ２０４）。
【００９７】
ステップＳ２０５は、同一性判定部１５における区間数判定である。基準区間から所定の区間数が隔たったかを判定する。加工パス（２）は基準区間である区間（１）と１つしか隔たっていないのでステップＳ２０６に移行する。
【００９８】
ステップＳ２０６で同一性判定部１５は、式１で説明したように対象区間の距離を基準区間の距離で除して形状特徴比ＳＲ（２）を求める。
【００９９】
ステップＳ２０７は形状が同一と判断された場合に出力データ再利用部１８にて実行されるステップである。基準区間の出力データ保持部１７に保持されている基準区間の加工時間ＴＣＳ（１）から、対象区間の加工時間ＴＣ（２）を式９により算出する。このときの形状特徴比はＳＲ（２）を参照する。加工時間ＴＣ（２）は加工時間積算部１９に出力され、加工時間積算部１９はこれを加工時間積算値に加算する（ステップＳ２１１）。
【０１００】
ここまでが区間番号２の説明である。次の区間番号３は区間番号２と同様な手順であり、基準区間の加工時間ＴＣＳ（１）を利用して加工時間ＴＣ（３）が出力される。次に区間番号４について説明する。
【０１０１】
ステップＳ２０２からステップＳ２０４は区間番号２と同様である。ステップＳ２０５では範囲外となり、ステップＳ２０８へ移行する。
【０１０２】
ステップＳ２０８は、形状が同一と判断されなかった場合に加工時間推定部１６にて実行されるステップである。従前の方式で対象区間の加工時間ＴＣ（４）を求め、加工時間積算部１９に出力する。求めた加工時間ＴＣ（４）は、基準区間の出力データ保持部１７に保持する（ステップＳ２０９）。加工時間推定部１６はさらに特徴量保持部４にある対象区間の、すなわち区間番号４の区間番号を持つ基準区間フラグＳＳＦ［４］をＯＮする（ステップＳ２１０）。加工時間ＴＣ（４）を受けた加工時間積算部１９はこれを加工時間積算値に加算する（ステップＳ２１１）。
【０１０３】
以上が区間番号４の説明である。特徴量保持部４にある基準区間フラグＳＳＦ［４］がＯＮとなることで区間番号４の加工パス（４）が新たな基準区間となり、この加工時間ＴＣ（４）は基準区間の加工時間ＴＣＳとして以降の区間番号の処理で再利用することができる。なお、さらに次の新たな基準区間になるのは区間番号７である。
【０１０４】
以上が図６のフローチャートによる実施例２の動作の流れの説明である。
【０１０５】
実施例１と同様、加工時間推定部１６で加工時間ＴＣを得る処理に比べ、基準区間の加工時間ＴＣＳを利用して加工時間ＴＣを求める方が処理量はきわめて少なく短時間で済む。
【０１０６】
なお、加工時間推定の対象となる補間装置が実施例１であれば、同一性判定部１５に該補間装置と同じ所定の区間数にした区間数判定に加え該補間装置と同じ判定範囲にした形状特徴量判定を備えるようにすると、推定した加工時間の正確性が増す。
【０１０７】
また、加工時間推定部１６で処理して加工時間を求めた基準区間を、実施例２の基準区間（第１の基準区間）に対して所定数離れた第２の基準区間を確定しておき、第１の基準区間の加工時間から第２の基準区間の加工時間へと単調に変化していると仮定して、第１の基準区間と第２の基準区間の間の区間の加工時間を内挿して求めるように構成することは容易である。実施例２と同程度の処理時間短縮効果を維持したうえで、第１の基準区間の出力データだけを再利用する実施例２より推定した加工時間の正確性が増すことが期待できる。
【符号の説明】
【０１０８】
ＳＰ  区間（加工パス）、ＳＦ  形状特徴量（移動距離）、ＳＳ  基準区間、ＳＲ  形状特徴比（移動距離比）、ＪＲ  判定範囲、Ｐ［ｉ］  補間周期毎の補間位置、Ｖ［ｉ］  補間周期毎の送り速度、ＶＯ  対象区間の送り速度列、ＶＳ  基準区間の送り速度列、ＪＲ  判定範囲、ＡＭ  機械特性（加速度マージン率）、ＴＣ  対象区間の加工時間、ＴＣＳ  基準区間の加工時間。
【図１】
2020106991.tif 000006
【図２】
2020106991.tif 000007
【図３】
2020106991.tif 000008
【図４Ａ】
2020106991.tif 000009
【図４Ｂ】
2020106991.tif 000010
【図４Ｃ】
2020106991.tif 000011
【図５】
2020106991.tif 000012
【図６】
2020106991.tif 000013