(57)【特許請求の範囲】
【請求項１】
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御装置において、
前記加工機の前記加工負荷値を取得する監視部と、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更する第一設定部と、
前記加工機が加工中であると判定されると開始され、前記加工機が非加工中であると判定されかつリセット時間を超えると０となる制御タイマと、
前記加工負荷値が、前記加工機の加工判定を行うために設定された加工閾値を超え、かつ、前記制御タイマが０の場合に、前記加工機の前記オーバライド値を前記上限値より小さい初期オーバライド値に変更して前記第一設定部に設定する判定部とを備えた加工機の制御装置。
【請求項２】
前記第一設定部は、前記初期オーバライド値に変更した後において、前記加工機の前記加工負荷値に応じて前記初期オーバライド値を前記上限値まで戻す請求項１に記載の加工機の制御装置。
【請求項３】
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御装置において、
前記加工機の前記加工負荷値を取得する監視部と、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更する第一設定部と、
前記加工負荷値が、前記加工機の加工判定を行うために設定された加工閾値を超えると、前記加工機の前記オーバライド値を前記上限値より小さい初期オーバライド値に変更して前記第一設定部に設定する判定部とを備え、
前記第一設定部は、前記初期オーバライド値に変更した後において、前記加工機の前記加工負荷値に応じて前記初期オーバライド値を前記上限値まで戻し、
前記第一設定部は、前記初期オーバライド値に変更した後に、前記加工機の前記加工負荷値が前記目標負荷値より低くならなければ、前記初期オーバライド値を維持する加工機の制御装置。
【請求項４】
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御装置において、
前記ワークに複数の加工箇所を有する場合、
前記加工機の前記加工負荷値を取得する監視部と、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更する第一設定部と、
前記ワークの前記加工箇所毎に、前記加工負荷値の最大負荷値が前記目標負荷値となるような仮上限値を前記上限値として前記第一設定部に設定する第二設定部とを備え、
前記第二設定部は、前記仮上限値の上限値および前記仮上限値の下限値を設定する加工機の制御装置。
【請求項５】
前記加工負荷値が、前記加工機の加工判定を行うために設定された加工閾値を超えると、前記加工機の前記オーバライド値を前記上限値より小さい初期オーバライド値に変更して前記第一設定部に設定する判定部とを備えた請求項４に記載の加工機の制御装置。
【請求項６】
前記加工プログラムの前記ワークの前記加工箇所毎に、前記仮上限値の使用開始および前記仮上限値の使用終了を追加する修正部を備えた請求項４または請求項５に記載の加工機の制御装置。
【請求項７】
前記加工機は、前記ワークの加工を行う加工部と、前記ワークの移動を行う移動部と、前記加工部の駆動を行う主駆動部と、前記移動部の駆動を行う移動駆動部とを備え、
前記監視部は、前記主駆動部から前記加工負荷値を取得する請求項１から請求項６のいずれか１項に記載の加工機の制御装置。
【請求項８】
前記加工機は、前記ワークの加工を行う加工部と、前記ワークの移動を行う移動部と、前記加工部の駆動を行う主駆動部と、前記移動部の駆動を行う移動駆動部とを備え、
前記監視部は、前記主駆動部および前記移動駆動部から前記加工負荷値を取得する請求項１から請求項６のいずれか１項に記載の加工機の制御装置。
【請求項９】
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御方法において、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更するとともに、
前記加工負荷値が、前記加工機の加工判定を行うために設定された加工閾値を超え、かつ、前記加工機が加工中であると判定されると開始され、前記加工機が非加工中であると判定されかつリセット時間を超えると、前記加工機の前記オーバライド値を前記上限値より小さい初期オーバライド値に変更して制御する加工機の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、加工負荷値の変化に対応して制御値を制御する加工機の制御装置および加工機の制御方法に関するものである。
【背景技術】
【０００２】
従来の加工機の制御装置および加工機の制御方法は、コスト削減、納期短縮のため、加工能率の向上が常に求められている。鋳物や鍛造など形状にばらつきがあるワークを加工する場合、そのワークのばらつきにより加工代が最大になる場合を考慮して、加工回数を多めに設定する必要がある。よって、ワークの加工代が小さい箇所では何も削らないエアカットの時間が発生するため、このエアカット時間を短くする方法が求められていた。【０００３】
このことを解決するために、特許文献１においては、加工前にワークの形状を事前測定し、その測定結果に応じて加工プログラムを変更することにより、エアカット時間を短くしている。【０００４】
しかしながら、特許文献１のように事前測定するには測定時間が必要であり、また、ワークが測定できるものに限られる。【０００５】
具体的な、ワークの測定の方法としては、接触式と非接触式との２種類がある。
接触式は座標を検知する手段を備えたプローブをワークに接触させ、その接触を検知することによりワーク表面の座標を認識する方法である。高精度であるが、プローブが壊れないようゆっくり、かつ、ワークの形状が不定形の場合には遠い位置からワークに当てる必要があり測定時間がかかるという問題点があった。【０００６】
また、非接触式は座標を検知する手段を備えたセンサからＬＥＤまたはＬＤなどの光を照射し、その反射光もしくは透過光を受光素子で検知することによりワークの位置を測定する方法（例えば、特許文献１に参照）である。接触式に比べ検出時間は短くなるが、光学的手段で検知するためワークの材質、表面性状が限定されるという問題や、センサが汚れに弱く検出精度が低くなるという問題や、センサ自体が高価であるという問題点があった。【０００７】
このことを解決する方法として、例えば特許文献２では、目標負荷を予め設定しておき、加工負荷と連動する主軸負荷値が目標負荷値の範囲内に入るよう送り速度、回転数を変更する加工負荷制御により、エアカット時間を短くしている。このように、リアルタイムで測定および制御を行うため、特許文献１のように事前測定は不要であり、ワークの制約もなく、電流または電力を検出すれば実施することができるため、非接触式のセンサに比較して低コストとなる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−１８１０９号公報
【特許文献２】特開２００５−２０５５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の加工機の制御装置および加工機の制御方法において、加工負荷制御を導入する場合、送り速度および回転数を際限なく大きくした場合、加工精度や工具寿命の問題が発生する。よってこれらを、どの程度まで大きくすることが可能であるかという、上限値を定めることとなる。【００１０】
実際には、ワークの形状がばらつくため、実際に複数個のワークを加工し、工具の寿命を確認し、適当な加工時間と工具寿命となる「送り速度の上限値」を決定する必要がある。【００１１】
そのため、「ワークの形状のばらつき」自体が変動した場合、ワークの加工代が大きくなると工具が破損する可能性が高くなり、逆に小さくなると加工効率をもっと高くすることが可能な状態になり、相対的に加工能率が低下するという問題点があった。【００１２】
また、これら防ぐためには、十分なワーク数の加工を実施する必要があり、加工負荷制御の導入まで時間がかかるという問題点があった。【００１３】
この発明は上記のような課題を解決するためになされたものであり、ワークの形状のばらつきが存在しても、加工部の破損を抑制しつつ、適正な加工効率を確保できる加工機の制御装置および加工機の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
この発明の加工機の制御装置は、
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御装置において、
前記加工機の前記加工負荷値を取得する監視部と、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更する第一設定部と、
前記加工機が加工中であると判定されると開始され、前記加工機が非加工中であると判定されかつリセット時間を超えると０となる制御タイマと、
前記加工負荷値が、前記加工機の加工判定を行うために設定された加工閾値を超え、かつ、前記制御タイマが０の場合に、前記加工機の前記オーバライド値を前記上限値より小さい初期オーバライド値に変更して前記第一設定部に設定する判定部とを備えたものである。
【００１５】
また、この発明の加工機の制御装置は、
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御装置において、
前記加工機の前記加工負荷値を取得する監視部と、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更する第一設定部と、
前記加工負荷値が、前記加工機の加工判定を行うために設定された加工閾値を超えると、前記加工機の前記オーバライド値を前記上限値より小さい初期オーバライド値に変更して前記第一設定部に設定する判定部とを備え、
前記第一設定部は、前記初期オーバライド値に変更した後において、前記加工機の前記加工負荷値に応じて前記初期オーバライド値を前記上限値まで戻し、
前記第一設定部は、前記初期オーバライド値に変更した後に、前記加工機の前記加工負荷値が前記目標負荷値より低くならなければ、前記初期オーバライド値を維持するものである。
【００１６】
また、この発明の加工機の制御装置は、
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御装置において、
前記ワークに複数の加工箇所を有する場合、
前記加工機の前記加工負荷値を取得する監視部と、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更する第一設定部と、
前記ワークの前記加工箇所毎に、前記加工負荷値の最大負荷値が前記目標負荷値となるような仮上限値を前記上限値として前記第一設定部に設定する第二設定部とを備え、
前記第二設定部は、前記仮上限値の上限値および前記仮上限値の下限値を設定するものである。
【００１７】
また、この発明の加工機の制御方法は、
加工プログラムに従ってワークの加工を行い、オーバライド値により加工機の制御値を可変して制御するとともに前記加工機の加工負荷値を前記加工負荷値の上限である目標負荷値より低くなるように制御する加工機の制御方法において、
前記オーバライド値を、前記加工負荷値に応じて前記オーバライド値の上限である上限値まで変更するとともに、
前記加工負荷値が、前記加工機の加工判定を行うために設定された加工閾値を超え、かつ、前記加工機が加工中であると判定されると開始され、前記加工機が非加工中であると判定されかつリセット時間を超えると、前記加工機の前記オーバライド値を前記上限値より小さい初期オーバライド値に変更して制御するものである。
【発明の効果】
【００１８】
この発明の上記のように構成された加工機の制御装置および上記のように行われた加工機の制御方法によれば、
ワークの形状のばらつきが存在しても、加工部の破損を抑制しつつ、適正な加工効率を確保できる加工負荷制御を行うことができる。
【図面の簡単な説明】
【００１９】
【図１】この発明の実施の形態１の加工機および加工機の制御装置の構成を示す図である。
【図２】図１に示した制御装置の加工負荷制御を示したフローチャートである。
【図３】図２に示した加工負荷制御における加工判定の制御を示したフローチャートである。
【図４】図２に示した加工負荷制御におけるオーバライド値の設定の制御を示したフローチャートである。
【図５】図１に示した加工機および加工機の制御装置の制御を説明するためのフローチャートである。
【図６】図５に示した仮上限値の設定の制御を示したフローチャートである。
【図７】図５に示した仮上限値の設定の制御を示したフローチャートである。
【図８】図５に示した加工プログラムの修正の制御を示したフローチャートである。
【図９】図１に示した加工機の制御装置の制御を説明するためのフローチャートである。
【図１０】図１に示した加工機を用いて加工を行うワークの構成を説明するための図である。
【図１１】図１に示した加工機の制御装置における加工プログラムの変化を説明するための加工プログラムを示した図である。
【図１２】図１に示した加工機の制御装置における加工プログラムの変化を説明するための加工プログラムを示した図である。
【図１３】図１に示した加工機の制御装置における加工プログラムの変化を説明するための加工プログラムを示した図である。
【図１４】図１に示した加工機の制御装置における加工プログラムの変化を説明するための加工プログラムを示した図である。
【図１５】図１に示した加工機の制御装置における加工プログラムの変化を説明するための加工プログラムを示した図である。
【図１６】図１１の各加工プログラムにより加工した場合の、Ｘ軸方向の移動における加工負荷値および送り速度の遷移説明するための図である。
【図１７】図１２の各加工プログラムで、かつ従来の加工負荷制御を導入し加工した場合の、Ｘ軸方向の移動における加工負荷値および送り速度の遷移説明するための図である。
【図１８】図１２の各加工プログラムで、かつ実施の形態１の加工負荷制御を導入し加工した場合の、Ｘ軸方向の移動における加工負荷値および送り速度の遷移説明するための図である。
【図１９】図１５の各加工プログラムで、かつ実施の形態１の加工負荷制御を導入し加工した場合の、Ｘ軸方向の移動における加工負荷値および送り速度の遷移説明するための図である。
【図２０】この発明の実施の形態２の加工機および加工機の制御装置の構成を示す図である。
【図２１】この発明の実施の形態３の加工機および加工機の制御装置の構成を示す図である。
【図２２】図２１に示した制御装置の加工負荷制御を示したフローチャートである。
【発明を実施するための形態】
【００２０】
実施の形態１．
以下、本願発明の実施の形態について説明する。図１はこの発明の実施の形態１における加工機および加工機の制御装置の構成を示す図である。図２は図１に示した制御装置の加工負荷制御を示したフローチャートである。図３は図２に示した加工負荷制御における加工判定の制御を示したフローチャートである。図４は図２に示した加工負荷制御におけるオーバライド値の設定の制御を示したフローチャートである。図５は図１に示した加工機および加工機の制御装置の制御を説明するためのフローチャートである。
【００２１】
図６および図７は図５に示した仮上限値の設定の制御を示したフローチャートである。図８は図５に示した加工プログラムの修正の制御を示したフローチャートである。図９は図１に示した加工機の制御装置の制御を説明するためのフローチャートである。図１０は図１に示した加工機を用いて加工を行うワークの構成を説明するための図である。図１０（Ａ）はワークの上面図、図１０（Ｂ）はワークの側面図、図１０（Ｃ）はワークのＸ軸方向の位置を示した図である。
【００２２】
図１１から図１５は図１に示した加工機の制御装置における加工プログラムの変化を説明するための加工プログラムを示した図である。図１６から図１９は各加工プログラムにより加工した場合の、Ｘ軸方向の移動における加工負荷値および送り速度の遷移説明するための図である。図１６は図１１の加工プログラムにより加工した場合の図である。図１７は図１２の加工プログラムにより加工した場合の図である。図１８は図１３の加工プログラムにより加工した場合の図である。図１９は図１５の加工プログラムにより加工した場合の図である。
【００２３】
図１において、制御装置１０はマシニングセンタ等の加工機１００を加工プログラムに基づいて制御するＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌの略、数値制御を示し、以下、ＮＣと略して示す）装置１２０の一部、もしくはＮＣ装置１２０の補助装置として構成されるものである。加工機１００はテーブル１０８上にワーク１０７を固定して加工するものである。また加工機１００は、主軸モータ１０１を介して主軸１０５にて回転工具１０６が回転することにより切削加工を行うものである。回転工具１０６は、加工機１００のワーク１０７の加工を行う加工部であり、フライスまたはエンドミルなどにて構成されている。
【００２４】
テーブル１０８はボールねじやリニアガイド等を介してＺ軸モータ１０２により主軸１０５の軸方向（以下、Ｚ軸方向）へ移動することが可能に構成されている。主軸１０５はボールねじやリニアガイド等を介してＸ軸モータ１０３とＹ軸モータ１０４とによってＸ軸方向とＹ軸方向とに自由に移動することが可能に構成されている。Ｘ軸、Ｙ軸およびＺ軸は互いに直交しており、Ｚ軸モータ１０２、Ｘ軸モータ１０３、Ｙ軸モータ１０４を用いて回転工具１０６とワーク１０７との相対位置および相対速度を制御し、ワーク１０７を任意の形状に加工可能に構成されている。また、テーブル１０８、Ｘ軸モータ１０３、Ｙ軸モータ１０４、および、Ｚ軸モータ１０２はワーク１０７の移動を行う移動部である。
【００２５】
主軸モータ１０１、Ｚ軸モータ１０２、Ｘ軸モータ１０３、および、Ｙ軸モータ１０４は例えばサーボモータにて構成されている。主軸モータ１０１、Ｚ軸モータ１０２、Ｘ軸モータ１０３、および、Ｙ軸モータ１０４はＮＣ装置１２０の指令に基づいて、それぞれ主軸サーボアンプ（以下、サーボアンプはアンプと略して示す）１１１、Ｚ軸アンプ１１２、Ｘ軸アンプ１１３、および、Ｙ軸アンプ１１４により制御される。よって、主軸モータ１０１は主駆動部であり、Ｚ軸モータ１０２、Ｘ軸モータ１０３、および、Ｙ軸モータ１０４は移動駆動部である。
【００２６】
制御装置１０は、監視部１、判定部２、第一設定部３、第一記憶部４、統合部５、第二設定部６、第二記憶部７、および、修正部８を備えている。監視部１は、主軸モータ１０１の電力、電流といった主軸１０５の負荷である加工負荷値ＮＰの情報を、主軸アンプ１１１から得て現在の加工負荷値ＮＰとして監視するものである。第一記憶部４は、各パラメータ（初期値を含む）を記憶するものである。
【００２７】
判定部２は、監視部１から出力される現在の加工負荷値ＮＰと、加工閾値ＰＴとを比較し、加工判定を行うものである。また、判定部２は、加工中であると判定すると、オーバライド値ＯＲ（後述に、詳細を示す）を、オーバライド値ＯＲの上限値ＯＲ−ＯＬより小さい初期オーバライド値Ｆ−ＯＲに変更する。第一設定部３は、判定部２の加工判定の結果から、加工プログラムにおいて設定された加工機１００の制御値としての送り速度をどれだけ変化させることができるか（このことをオーバライド値ＯＲと称す）を、オーバライド値ＯＲの上限値ＯＲ−ＯＬまで変更して設定するものである。また、第一設定部３は、判定部２にて設定された初期オーバライド値Ｆ−ＯＲが設定される。統合部５は、加工機１００の加工データを取得するものである。第二記憶部７は、統合部５にて取得された加工データおよび加工プログラムを格納するものである。
【００２８】
第二設定部６は、第二記憶部７の加工データと、第一記憶部４の各パラメータとを比較し、仮上限値Ｋ−ＯＲ−ＯＬを設定するものである。修正部８は、第二設定部６の結果を受けて、各値および加工プログラムを修正するものである。尚、各パラメータおよび各値については、後述の制御の説明において行う。
【００２９】
次に上記のように構成された実施の形態１の加工機の制御装置の制御方法について説明する。尚、加工機の制御装置の制御方法については、まず、各制御の流れについて説明する。その後、その効果が明確となるように、具体的な加工プログラムおよびワークの例を用いて各制御の流れについて説明する。
【００３０】
まず、本実施の形態１の制御装置１０において行われる加工負荷制御について図２に基づいて説明する。まず、以下の制御において使用する各値について説明する。
◎「送り速度のオーバライド値ＯＲ」（以下、単にオーバライド値ＯＲと称す）
送り速度をどれぐらい変動させるかをあらわす値である。オーバライド値ＯＲは後述にて示す、「オーバライド値ＯＲの設定」により設定される。加工プログラム中の送り速度の指令値にオーバライド値ＯＲを掛け算すると、実際の送り速度となる。
【００３１】
◎「オーバライド値の上限値ＯＲ−ＯＬ」（以下、上限値ＯＲ−ＯＬと称す）
オーバライド値ＯＲは図４の「オーバライド値ＯＲの設定」により設定されるが、加工負荷制御は加工負荷値の検出後に送り速度を制御するため、ワーク１０７と回転工具１０６との接触時の衝撃が大きくなりがちである。そこで、オーバライド値ＯＲに上限値ＯＲ−ＯＬを設け、送り速度が過剰に大きくなることを防ぐためのものである。
【００３２】
◎「仮のオーバライド上限値Ｋ−ＯＲ−ＯＬ」（以下、仮上限値Ｋ−ＯＲ−ＯＬと称す）上限値ＯＲ−ＯＬは、第一記憶部４に格納され、その値は１つしか存在しない。そこで、仮上限値Ｋ−ＯＲ−ＯＬを設け、加工プログラム中で任意の値を設定することを可能とするものである。
【００３３】
加工負荷制御について説明する。まず、加工負荷制御の開始指令があると加工負荷制御を開始する（図２のステップＳ１０１）。具体的に、加工負荷制御の開始指令方法は、例えば加工プログラム中に開始指令を記載し、当該指令を読み込んだら開始する。次に、「オーバライド値ＯＲ」、「上限値ＯＲ−ＯＬ」、「仮上限値Ｋ−ＯＲ−ＯＬ」をそれぞれ初期化する（図２のステップＳ１０２）。尚、オーバライド値ＯＲの初期値は１００％、上限値ＯＲ−ＯＬの初期値は１５０％、仮上限値Ｋ−ＯＲ−ＯＬの初期値は０（仮上限値Ｋ−ＯＲ−ＯＬを使用しないＯＦＦとして設定されている）とする。
【００３４】
次に、加工プログラム中に仮上限値Ｋ−ＯＲ−ＯＬの使用終了指令があるか否かを確認する（図２のステップＳ１０３）。そして、仮上限値Ｋ−ＯＲ−ＯＬの使用終了指令があった場合（ＹＥＳ）には、仮上限値Ｋ−ＯＲ−ＯＬは初期値の０に上書きされる（図２のステップＳ１０４）。また、仮上限値Ｋ−ＯＲ−ＯＬの使用終了指令がなかった場合（ＮＯ）には、仮上限値Ｋ−ＯＲ−ＯＬが初期値の０か否かを確認する（図２のステップＳ１０５）。そして、仮上限値Ｋ−ＯＲ−ＯＬが初期値の０でなかった場合（ＮＯ）には、上限値ＯＲ−ＯＬとして仮上限値Ｋ−ＯＲ−ＯＬの値を設定する（図２のステップＳ１０６）。
【００３５】
また、仮上限値Ｋ−ＯＲ−ＯＬが初期値の０であった場合（ＹＥＳ）には、上限値ＯＲ−ＯＬを初期値に設定する（図２のステップＳ１０７）。次に、加工負荷制御の終了指令があるか否かを確認する（図２のステップＳ１０８）。そして、終了指令がある場合（ＹＥＳ）には、加工負荷制御を終了する（図２のステップＳ１０９）。また、終了指令がない場合（ＮＯ）は、「加工判定」を行う（図２のステップＳ１１０）。
【００３６】
次に、「オーバライド値ＯＲの設定」を行う（図２のステップＳ１１１）。尚、「加工判定」、および、「オーバライド値ＯＲの設定」については後述にて説明する。次に、オーバライド値ＯＲをＮＣ装置１２０へ出力する（図２のステップＳ１１２）。次に、再びステップＳ１０３に戻り、上記に示した制御を繰り返す。
【００３７】
このように、仮上限値Ｋ−ＯＲ−ＯＬを設定することにより、加工プログラム中において、危険性が高い箇所のオーバライド値ＯＲの上限値ＯＲ−ＯＬは低く、危険性の低い箇所のオーバライド値ＯＲの上限値ＯＲ−ＯＬは高く設定することが可能となる。これにより、工具寿命を確保しつつ加工能率を高めることができるものである。この効果は、後述する具体例において明らかであると考える。
【００３８】
次に、図２にて示した加工判定の制御について図３のフローチャートに基づいて説明する。まず、以下の制御において使用する各値について説明する。
◎「加工負荷値ＮＰ」
加工機１００が加工を行った際の加工負荷の値である。
◎「加工状態であると判定するための閾値ＰＴ」（以下、加工閾値ＰＴと称す）
加工負荷値ＮＰが一定値（加工閾値ＰＴ）を超えると「加工中」と判定するためのものである。よって、加工負荷値ＮＰの検出精度によって適宜設定されるものであるが、例えば加工負荷値ＮＰの最大値の１〜１０％とし、現在の加工負荷値ＮＰが加工閾値ＰＴを超えない場合は、「非加工中」、超えた場合は「加工中」と判定するように設定されている。
【００３９】
◎「制御タイマＣＴ」
加工負荷制御開始後、加工負荷値ＮＰが加工閾値ＰＴを超えると（「加工中」であると判断されると）ＯＮになるものである。また、加工負荷値ＮＰが加工閾値ＰＴ以下になり、かつ、一定時間（リセット時間ＲＣＴ）が経過すると０になるものである。
◎「リセット時間ＲＣＴ」
先に示したように、制御タイマＣＴをリセットするための時間を設定するものである。
【００４０】
◎「加工初期オーバライド値Ｆ−ＯＲ」（以下、初期オーバライド値Ｆ−ＯＲと称す。但し、オーバライド値ＯＲの初期値とは異なるものである。）
加工負荷値ＮＰが加工閾値ＰＴ以上となり、制御タイマＣＴがＯＮになった時、オーバライド値ＯＲを「オーバライド値ＯＲの設定」を経ることなく強制的に変更するためのものである。また、上限値ＯＲ−ＯＬより小さい値にて設定されている。
【００４１】
判定部２にて行われる加工判定の制御について説明する。まず、加工負荷制御が開始すると加工判定が開始される（図３のステップＳ２０１）。次に、監視部１から現在の加工負荷値ＮＰを読み込む（図３のステップＳ２０２）。次に、読み込んだ現在の加工負荷値ＮＰが、加工閾値ＰＴ以上か否かを判断する（図３のステップＳ２０３）。そして、「加工中」と判定された場合（ＹＥＳ）には、制御タイマＣＴが０か否かを比較する（図３のステップＳ２０４）。
【００４２】
そして、制御タイマＣＴが０でない場合（ＮＯ）には、加工判定の処理を終了する（図３のステップＳ２０９）。また、制御タイマＣＴが０の場合（ＹＥＳ）には、オーバライド値ＯＲを事前に設定した初期オーバライド値Ｆ−ＯＲに変更する（図３のステップＳ２０５）。初期オーバライド値Ｆ−ＯＲは、例えば１００％である。次に、制御タイマＣＴのカウントを開始（ＯＮ）する（図３のステップＳ２０６）。
【００４３】
また、ステップＳ２０３にて、「非加工中」と判定された場合（ＮＯ）には、制御タイマＣＴの値が、事前に設定した第一記憶部４の「リセット時間ＲＣＴ」より大きいか否かを確認する（図３のステップＳ２０７）。そして、制御タイマＣＴの値がリセット時間ＲＣＴ以上の場合（ＹＥＳ）には、制御タイマＣＴを初期化して０とする（図３のステップＳ２０８）。また、制御タイマＣＴの値がリセット時間ＲＣＴより小さい場合（ＹＥＳ）には、加工判定の処理を終了する（図３のステップＳ２０９）。
【００４４】
このような加工判定の制御を行うことにより、「非加工中」から「加工中」に切り替わる際に（ステップＳ２０４からステップＳ２０５に移る制御）、オーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲに強制的に切り替えることができる。この制御により、制御が間に合わず、加工負荷が急激に増大することを抑制することができ、加工部の破損を低減できる。尚、上記に示した以外に、加工判定を終了する方法として、加工負荷値ＮＰが加工閾値ＰＴ以下の状態が一定時間経過すればリセットする方法も考えられる。
【００４５】
次に、先の図２にて示したオーバライド値の設定の制御について図４のフローチャートに基づいて説明する。まず、以下の制御において使用する各値について説明する。
◎「送り速度のオーバライド値ＯＲ」
送り速度をどれぐらい変動させるかをあらわす値である。現在の加工負荷値ＮＰと目標負荷値ＴＰとの比である。例えば、現在の加工負荷値ＮＰを５０、目標負荷値ＴＰを１００とすると、オーバライド値ＯＲは１００÷５０＝２（２００％）となる。そして、加工負荷値ＮＰの変化と共にオーバライド値ＯＲは変化する。プログラム中の送り速度の指令値にオーバライド値ＯＲを掛け算することで実際の送り速度となる。
【００４６】
◎「前のオーバライド値ＯＲ−１」（以下、前オーバライド値ＯＲ−１と称す。）
オーバライド値ＯＲの計算処理を行う、前のオーバライド値ＯＲの値である。オーバライド値ＯＲの計算処理の間、一時的に記憶するための変数として利用するものである。
◎「オーバライド値の上限変化量ＯＲ−ＤＯＬ」（以下、変化量上限値ＯＲ−ＤＯＬと称す）
オーバライド値ＯＲの変化量の上限値である。
◎「上限値ＯＲ−ＯＬ」
オーバライド値ＯＲの上限値である。
【００４７】
第一設定部３にて行われるオーバライド値ＯＲの設定の制御について説明する。まず、オーバライド値ＯＲの計算処理が始まる（図４のステップＳ３０１）。次に、直前の加工判定においてオーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲに変更したか否かを確認する（図４のステップＳ３１１）。そして、変更した場合（ＹＥＳ）には、オーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲとして（図４のステップＳ３１２）、「オーバライド値の設定」の処理を終了する（図４のステップＳ３１０）。また、変更していない場合（ＮＯ）には、現在のオーバライド値ＯＲを、前オーバライド値ＯＲ−１として設定する（図４のステップＳ３０２）。次に、現在の加工負荷値ＮＰを読み込む（図４のステップＳ３０３）。次に、読み込んだ現在の加工負荷値ＮＰと、目標負荷値ＴＰとを比較し、その比をオーバライド値ＯＲとして設定する（図４のステップＳ３０４）。例えば、現在の加工負荷値ＮＰが５０、目標負荷値ＴＰが１００の場合、オーバライド値ＯＲは２００％となる。尚、現在の加工負荷値ＮＰが０の場合には、オーバライド値ＯＲを上限値ＯＲ−ＯＬと設定する。
【００４８】
次に、オーバライド値ＯＲの変化量が上限変化量ＯＲ−ＤＯＬ以下であるか否かを確認する（図４のステップＳ３０５）。具体的には、前オーバライド値ＯＲ−１と、オーバライド値ＯＲとの差を求める。そして、差の絶対値が事前に設定した上限変化量ＯＲ−ＤＯＬ以下であるか否かを確認する。そして、上限変化量ＯＲ−ＤＯＬ以上の場合（ＮＯ）には、変化量を上限変化量ＯＲ−ＤＯＬに変更し、オーバライド値ＯＲを修正する（図４のステップＳ３０６）。
【００４９】
例えばＯＲ−１＝１００％、ＯＲ＝１５０％、ＯＲ−ＤＯＬ＝５％とすると、ＯＲ−１とＯＲとの差の絶対値は５０％となる。次に、前オーバライド値ＯＲ−１とオーバライド値ＯＲとの差の絶対値と、上限変化量ＯＲ−ＤＯＬとを比較すると、上限変化量ＯＲ−ＤＯＬよりもＯＲ−１とＯＲとの差の絶対値の方が大きいため、変化量をＯＲ−ＤＯＬ＝５％とし、ＯＲ＝（ＯＲ−１）＋（ＯＲ−ＤＯＬ）＝１００％＋５％＝１０５％とする。尚、ＯＲ−１よりＯＲが小さい場合には、ＯＲ＝（ＯＲ−１）−（ＯＲ−ＤＯＬ）と計算されるものである。
【００５０】
また、上限変化量ＯＲ−ＤＯＬ以下の場合（ＹＥＳ）には、オーバライド値ＯＲが事前に設定した上限値ＯＲ−ＯＬ以下であるか否かを確認する（図４のステップＳ３０７）。そして、オーバライド値ＯＲが上限値ＯＲ−ＯＬより大きい場合（ＮＯ）には、オーバライド値ＯＲを上限値ＯＲ−ＯＬに変更する（図４のステップＳ３０８）。例えば、ＯＲ＝１５５％、ＯＲ−ＯＬ＝１５０％の場合、オーバライド値ＯＲは上限値ＯＲ−ＯＬよりも大きいので、オーバライド値ＯＲが上限値ＯＲ−ＯＬに書き換えられＯＲ＝ＯＲ−ＯＬ＝１５０％となる。そして、「オーバライド値の設定」の処理を終了する（図４のステップＳ３１０）。
【００５１】
このようにオーバライド値ＯＲの上限変化量ＯＲ−ＤＯＬを設けることで、急激な送り速度の変化を抑制できる。このため、送り速度の急激な変化による加工面の外観の悪化を避けることができる。また、オーバライド値ＯＲの上限値ＯＲ−ＯＬを設けることで送り速度が過度に大きくなり加工面の悪化や工具の破損することを防ぐことができる。
【００５２】
次に、仮上限値Ｋ−ＯＲ−ＯＬの設定の制御について図５に基づいて説明する。まず、ＮＣ装置１２０からの加工開始の指令が出される（図５のステップＳ４０１）と、制御装置１０に加工開始指令が入力される（図５のステップＳ４０７）。次に、加工機１００の加工における加工データの保存が開始される（図５のステップＳ４０７）。次に、ＮＣ装置１２０からの加工終了の指令が出される（図５のステップＳ４０２）と、制御装置１０は加工データの保存を終了する（図５のステップＳ４０９）。
【００５３】
次に、仮上限値Ｋ−ＯＲ−ＯＬの見直し指令がＮＣ装置１２０から出される（図５のステップＳ４０３）と、制御装置１０は仮上限値Ｋ−ＯＲ−ＯＬ見直しの指令を入力する（図５のステップＳ４０８）。次に、「仮上限値の設定」（図５のステップＳ４１０）を行う。次に、「プログラムの修正作業」（図５のステップＳ４１１）を行う。尚、「仮上限値の設定」、および、「プログラムの修正作業」については後述にて説明する。次に、次の加工の準備が完了する（図５のステップＳ４０５）。
【００５４】
以上のように加工が終了する毎に、仮上限値Ｋ−ＯＲ−ＯＬを見直す。このことにより、ワークのばらつきの変動により加工負荷値ＮＰが大きい所、つまり加工部が破損し易い所の送り速度の上限は小さくして工具の破損を低減することができ、加工負荷値ＮＰが小さい所、つまり工具が破損しにくい所は送り速度の上限を大きくして加工能率を高めることができる。
【００５５】
尚、ここでは１つのワークを加工する毎に上限値Ｋ−ＯＲ−ＯＬを見直す例を示したが、これに限られることはなく、例えばワークをＮ個加工し、Ｎ個の加工データの平均値を用いて仮上限値Ｋ−ＯＲ−ＯＬを見直してもよい。
【００５６】
次に、図５にて示した仮上限値Ｋ−ＯＲ−ＯＬの設定の制御について図６および図７のフローチャートに基づいて説明する。まず、以下の制御において使用する各値について説明する。
◎「最大負荷値ＫＦ（Ｎ）」
加工プログラムをｍ個に分割する。そして、分割したプログラムの中でＮ個目のプログラムの加工負荷値ＮＰの中で一番大きい加工負荷値を最大負荷値ＫＦ（Ｎ）とする。
◎「最大時オーバライド値Ｋ−ＯＲ（Ｎ）」
最大負荷値ＫＦ（Ｎ）の時の、オーバライド値ＯＲの値である。
【００５７】
◎「仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬ」
仮上限値Ｋ−ＯＲ−ＯＬの上限値である。
◎「仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬ」
仮上限値Ｋ−ＯＲ−ＯＬの下限値である。
【００５８】
第二設定部６にて行われる仮上限値Ｋ−ＯＲ−ＯＬの設定の制御について説明する。まず、仮上限値Ｋ−ＯＲ−ＯＬの設定を開始する（図６のステップＳ５０１）。次に、最新の加工データと、その加工プログラムとを読み出す（図６のステップＳ５０２）。次に、加工プログラムをルールに則り分割する（図６のステップＳ５０３）。
【００５９】
ここで言う、「ルール」とは、例えば以下のようなものである。
◎加工負荷制御の開始、終了で挟まれている加工箇所毎
◎加工負荷制御の開始、終了で挟まれている加工箇所で、かつ、１行毎
【００６０】
このような「ルール」にて分割した、加工プログラムに対応する加工データについて、以下の値をそれぞれ抽出する（図６のステップＳ５０３）。
加工プログラムの分割数をｍとすると、分割した加工プログラムＮ＝１〜ｍ毎について以下を求める。
◎最大負荷値：ＫＦ（Ｎ）
◎最大時オーバライド値：Ｋ−ＯＲ（Ｎ）
【００６１】
次に、Ｎ番目の分割した加工プログラムにおいて処理を行う（図６のステップＳ５０６）。次に、最大負荷値ＫＦ（Ｎ）が目標負荷値ＴＰより小さいか否かを判断する（図６のステップＳ５０７）。そして、小さいと判断された場合（ＹＥＳ）には、最大負荷値ＫＦ（Ｎ）時の、最大時オーバライド値Ｋ−ＯＲ（Ｎ）が上限値ＯＲ−ＯＬと等しいか否かを判断する（図６のステップＳ５０８）。そして、等しいと判断された場合（ＹＥＳ）には、仮上限値Ｋ−ＯＲ−ＯＬ（Ｎ）を、Ｋ−ＯＲ−ＯＬ（Ｎ）＝ＴＰ÷ＫＦ（Ｎ）として設定する（図６のステップＳ５０９）。
【００６２】
次に、仮上限値Ｋ−ＯＲ−ＯＬ（Ｎ）が予め設定した「仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬ」以下か否かを判断する（図６のステップＳ５１０）。そして、仮上限値Ｋ−ＯＲ−ＯＬの方が大きいと判断された場合（ＮＯ）には、仮上限値Ｋ−ＯＲ−ＯＬを、仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬと設定する（図６のステップＳ５１１）。次に、修正部８にこの設定された仮上限値Ｋ−ＯＲ−ＯＬ（Ｎ）を出力する（図６のステップＳ５１２）。
【００６３】
また、ステップＳ５０７において、最大負荷値ＫＦ（Ｎ）が目標負荷値ＴＰより大きいと判断された場合（ＮＯ）には、仮上限値Ｋ−ＯＲ−ＯＬを、Ｋ−ＯＲ−ＯＬ（Ｎ）＝ＴＰ÷ＫＦ（Ｎ）として設定する（図７のステップＳ５１６）。次に、仮上限値Ｋ−ＯＲ−ＯＬ（Ｎ）が予め設定した「仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬ」以上か否かを比較する（図７のステップＳ５１７）。そして、仮上限値Ｋ−ＯＲ−ＯＬの方が小さいと判断された場合（ＮＯ）には、仮上限値Ｋ−ＯＲ−ＯＬを、仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬと設定する（図７のステップＳ５１８）。
【００６４】
次に、修正部８にこの設定された仮上限値Ｋ−ＯＲ−ＯＬ（Ｎ）を出力する（図６のステップＳ５１２）。そして、分割数がＮ＝ｍであるか否かを判断する（図６のステップＳ５１３）。そして、Ｎ＝ｍでない場合には、Ｎ＝Ｎ＋１とする（図６のステップＳ５２０）。そして、ステップＳ５０７に戻り、上記に示した制御を繰り返す。そして、Ｎ＝ｍである場合には、仮上限値Ｋ−ＯＲ−ＯＬの設定を終了する（図６のステップＳ５１４）。
【００６５】
以上のように、仮上限値Ｋ−ＯＲ−ＯＬに、仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬおよび仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬを設定することにより、送り速度が異常に大きくなり工具の破損や加工精度不良となること、また、送り速度が異常に小さくなり加工が終わらない等のトラブルを抑制することができる。
【００６６】
次に、修正部８にて行われる加工プログラムの修正の制御について図８のフローチャートに基づいて説明する。まず、加工プログラムの修正が開始される（図８のステップＳ６０１）。次に、加工プログラムを読み出す（図８のステップＳ６０２）。次に、加工プログラムをルールに則り分割する（図８のステップＳ６０３）。分割数をｍとすると、Ｎ＝１〜ｍについて以下の制御を行う。
【００６７】
ここで言う、「ルール」とは、例えば以下のようなものである。
◎加工負荷制御の開始、終了で挟まれている加工箇所毎
◎加工負荷制御の開始、終了で挟まれている加工箇所で、かつ、１行毎
尚、この加工プログラムの分割は、上記にて示したステップＳ５０３と同様であるため、そのデータを使用することも可能である。
【００６８】
次に、Ｎ＝１とし（図８のステップＳ６０４）、Ｎ番目の加工プログラムの分割加工箇所に対応する仮上限値Ｋ−ＯＲ−ＯＬ（Ｎ）が出力されているか否かを確認する（図８のステップＳ６０５）。そして、対応する仮上限値Ｋ−ＯＲ−ＯＬ（Ｎ）が存在する場合（ＹＥＳ）には、加工プログラム中に仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令および使用終了指令があるか否かを確認する（図８のステップＳ６０６）。そして、仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令および使用終了指令がある場合（ＹＥＳ）には、加工プログラム中の仮上限値Ｋ−ＯＲ−ＯＬを、上記の制御、「仮上限値の設定」にて出力された仮上限値Ｋ−ＯＲ−ＯＬに修正する（図８のステップＳ６０７）。
【００６９】
また、仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令および使用終了指令がない場合（ＮＯ）は、仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令および使用終了指令を加工プログラムに追加する（図８のステップＳ６０８）。そして、分割数がＮ＝ｍであるか否かを判断する（図８のステップＳ６０９）。そして、Ｎ＝ｍでない場合には、Ｎ＝Ｎ＋１とする（図８のステップＳ６１０）。そして、ステップＳ６０５に戻り、上記に示した制御を繰り返す。そして、Ｎ＝ｍである場合には、加工プログラムの修正を終了する（図８のステップＳ６１１）。
【００７０】
仮上限値Ｋ−ＯＲ−ＯＬがない場合、加工プログラムの分割したそれぞれの箇所に、仮上限値Ｋ−ＯＲ−ＯＬを挿入する例を示したが、これに限られることはなく、例えば、上限値ＯＲ−ＯＬとして仮上限値Ｋ−ＯＲ−ＯＬを使わず、上限値ＯＲ−ＯＬを使用したい場合も考えられる。その場合は、仮上限値Ｋ−ＯＲ−ＯＬを使わず上限値ＯＲ−ＯＬを使用するという指令を作成し、前記指令がある場合には、上限値ＯＲ−ＯＬとして仮上限値Ｋ−ＯＲ−ＯＬを使用せず上限値ＯＲ−ＯＬを使用するように設定してもよい。
【００７１】
次に、本実施の形態１における加工負荷制御の導入について説明する。まず、加工プログラムを修正し、加工負荷制御の指令を加工プログラムに加える（図９のステップＳ８０１）。次に、加工負荷制御のためのパラメータを設定する（図９のステップＳ８０２）。次に、加工試験を実施し、問題なく加工できることを確認したら、寿命試験を実施する（図９のステップＳ８０３）。次に、工具寿命が妥当か否かを確認する（図９のステップＳ８０４）。
【００７２】
そして、加工時間が短くなったとしても工具寿命が極端に短くなり、加工費用よりも工具費や工具交換の人件費が大きくなる恐れがあるためであるなどとして、妥当な工具寿命でないと判断された場合（ＮＯ）には、ステップＳ８０２に戻り、「上限値ＯＲ−ＯＬ」等のパラメータを再設定し、上記に示した制御を繰り返す。また、妥当な工具寿命であると判断された場合（ＹＥＳ）には、加工プログラムに、仮上限値Ｋ−ＯＲ−ＯＬの見直し指令のコマンドを追加して修正する（図９のステップＳ８０６）。ここまでが導入フローであり加工負荷制御の導入を完了する（図９のステップＳ８０７）。
【００７３】
以後のフローは、量産工程において自動的に実行されるものである。まず、先の加工試験および寿命試験により導入された加工負荷制御に基づいて、ワークをＮ台加工する（図９のステップＳ８０８）。次に、Ｎ台加工した加工データに基づいて、仮上限値Ｋ−ＯＲ−ＯＬを設定する（図９のステップＳ８０９）。次に、Ｎ台加工したワークのばらつきに適した「仮上限値Ｋ−ＯＲ−ＯＬ」が設定され、加工プログラムに仮上限値Ｋ−ＯＲ−ＯＬが書き加えられる（図９のステップＳ８１０）。次に、仮上限値Ｋ−ＯＲ−ＯＬの見直しを完了し（図９のステップＳ８１１）、次のＮ台のワークの加工に移り（図９のステップＳ８０８）、上記に示した制御を繰り返す。
【００７４】
このように、ワークのばらつきにあわせた仮上限値Ｋ−ＯＲ−ＯＬに設定することができるため、工具破損の危険性が低くでき、加工負荷制御の導入まで時間を短縮することができる。
【００７５】
以下、上記に示した制御の具体例について説明する。
【００７６】
上記に示した実施の形態１の制御における、具体的なワークについて説明する。まず、ここで加工の対象とするワーク１０７を図１０に示す。図１０（Ａ）は、ワーク１０７の上面図である。図１０（Ｂ）は、ワーク１０７の側面図である。図１０（Ｃ）は、ワーク１０７のＸ軸方向の位置を示すものである。図から明らかなように、ワーク１０７の加工箇所Ｑ１、加工箇所Ｑ２、加工箇所Ｑ３を有している。
【００７７】
各加工箇所Ｑ１、加工箇所Ｑ２、加工箇所Ｑ３のそれぞれの相対的な大きさを比較するために、Ｘ軸、Ｙ軸、Ｚ軸のそれぞれの方向に対する値を示している。但し、各加工箇所Ｑ１、Ｑ２、Ｑ３のＸ軸、Ｙ軸、Ｚ軸のそれぞれの方向に示している値は、本実施の形態１を理解し易くするためのものであり、実際のワーク１０７においては、加工前において、厳密な位置が確認されているものではない。そして、回転工具１０６を回転させながら、Ｘ軸方向に移動していき、ワーク１０７の各加工箇所Ｑ１、Ｑ２、Ｑ３を切削加工する。
【００７８】
また、図１１から図１５はワーク１０７の加工プログラムであり、以下の説明において順次修正されるものである。また、図１６から図１９は、各加工プログラムを使用してワーク１０７を加工した際の状態を示したものである。そして、各図における（Ａ）はワーク１０７の形状を示す。また、各図における（Ｂ）は、加工の経路（Ｘ軸方向であり、以下においても同様である）と加工負荷との推移を示す。また、各図における（Ｃ）は、加工の経路と送り速度との推移を示すものである。
【００７９】
このワーク１０７を加工する加工プログラムの加工負荷制御を導入する前の状態を図１１に示す。図１１に示した加工プログラムの例について説明する。まず、１行目にプログラム名称、２行目に工具の交換指令がある。「Ｍ０６」が工具交換の指令、「Ｔ００１」が交換する工具の番号である。工具交換が終わるとワーク１０７の加工箇所Ｑ１の加工開始位置へ移動するため３行目に座標（０、０、０）への高速移動の指示がある。「Ｇ０」が高速移動、「Ｘ０Ｙ０Ｚ０」が、Ｘ軸、Ｙ軸、およびＺ軸の座標をあらわしている。
【００８０】
次に、４行目は工具の回転指令である。「Ｓ」が回転指令で「１０００」は回転数をあらわしている。単位はｒｐｍである。１０００ｒｐｍで回転すると、加工箇所Ｑ１の部位を削るため６行目に移動指令がある。「Ｇ１」は任意のスピードの移動指令をあらわしている。「Ｘ９０」は移動先の座標をあらわしている。「Ｆ」は移動スピードの指令であり、「５００」が移動速度をあらわしている。
【００８１】
すなわち６行目は加工箇所Ｑ１の部位を５００ｍｍ／ｍｉｎで削れ、という指令になっている。単位はｍｍ／ｍｉｎである。Ｘ９０まで移動すると加工箇所Ｑ１の部位の切削が終わる。次に、加工箇所Ｑ２の位置の切削開始位置へ移動するため、８行目にＸ１２０への高速移動の指示がある。次に、Ｘ１２０まで移動すると加工箇所Ｑ２の部位を削るため、１０行目に移動指令がある。１０行目は加工箇所Ｑ２の部位を５００ｍｍ／ｍｉｎで削れ、という指令になっている。Ｘ１７０まで移動すると加工箇所Ｑ２の部位の加工が終わる。
【００８２】
次に、加工箇所Ｑ３の位置の切削開始位置へ移動するため、１２行目にＸ１９５への高速移動の指示がある。Ｘ１９５まで移動すると加工箇所Ｑ３の部位を削るため１４行目に移動指令がある。１４行目は加工箇所Ｑ３の部位を５００ｍｍ／ｍｉｎで削れ、という指令になっている。
【００８３】
そして、このように加工負荷制御を導入しない（オーバライド値ＯＲの存在しない）図１１に示した加工プログラムを使用して、ワーク１０７を加工すると、加工の経路と加工負荷値との推移（図１６（Ｂ））、加工の経路と送り速度との推移（図１６（Ｃ））のように加工される。
【００８４】
図１６に示すように、回転工具１０６がＸ軸において、Ｘ＝０〜９０までは送り速度Ｆ５００で移動する。次に、Ｘ＝９０〜１２０までは送り速度Ｆ２５００で移動する。次に、Ｘ＝１２０〜１７０までは送り速度Ｆ５００で移動する。次に、Ｘ＝１７０〜１９５までは送り速度Ｆ２５００で移動する。次に、Ｘ＝１９５〜２９０までは送り速度Ｆ５００で移動する。このような加工は、加工負荷に関わらず送り速度が変化しないため加工能率が低い。
【００８５】
まず、このことを解消するために、加工プログラムを修正し、加工負荷制御の指令を追加する（図９のステップＳ８０１）。具体的には、加工指令の前後に、加工負荷制御開始指令と加工負荷制御終了指令とを追加する。また、オーバライド値の上限値が１５０％と設定される。その結果、図１１の加工プログラムは、図１２に示す加工プログラムのように修正される。従来の場合と同様に、ただ単に加工負荷制御を導入し、図１２の加工プログラムを使用してワーク１０７を加工すると、加工の経路と加工負荷との推移（図１７（Ｂ））、加工の経路と送り速度との推移（図１７（Ｃ））のように加工される。
【００８６】
図１７に示すように、回転工具１０６がＸ軸において、Ｘ＝０〜９０までは送り速度Ｆ５００から送り速度の上限値のＦ７５０まで上昇しながら移動する。次に、Ｘ＝９０〜１２０までは送り速度Ｆ２５００（送り速度のＭＡＸ、加工機としての上限値であり、以下においても加工を行わない際の送り速度については同様である。）で移動する。次に、Ｘ＝１２０〜１７０までは送り速度Ｆ５００から送り速度の上限のＦ７５０まで上昇しながら移動する。
【００８７】
次に、Ｘ＝１７０〜１９５までは送り速度Ｆ２５００で移動する。次に、Ｘ＝１９５〜２９０までは送り速度Ｆ５００から送り速度の上限値のＦ７５０まで上昇しながら移動する。しかしながら、途中で、図１７（Ｃ）に示すように、加工負荷値ＮＰが目標負荷値ＴＰを超える。よって、この時点で、送り速度の上限値のＦ７５０から送り速度Ｆ５００まで下降する。
【００８８】
そして、送り速度Ｆ５００で所定の時間までの加工を行う（ここでは、Ｘ軸の２４０まで）。そして、所定の時間が経過した後、再び、Ｘ＝２９０までは送り速度Ｆ５００から送り速度の上限値のＦ７５０まで上昇しながら移動する。このような加工負荷制御を行うと、図１７（Ｂ）に示すように、加工負荷値ＮＰが目標負荷値ＴＰを超えると、回転工具１０６の送り速度が低減され、回転工具１０６の破損する恐れ、または、回転工具１０６が短寿命となることが防止されるものの、加工効率が低下する。
【００８９】
そこで、本実施の形態１においては、以下の制御を行っている。
次に、加工負荷制御のパラメータ（初期値を含む）を設定する（図９のステップＳ８０２）。設定するパラメータは以下のとおりであり、第一記憶部４に設定するものである。
◎オーバライド値ＯＲの初期値（例えば、１００％）
◎上限値ＯＲ−ＯＬの初期値（例えば、１５０％）
◎仮上限値Ｋ−ＯＲ−ＯＬの初期値（例えば、０＝ＯＦＦとする）
◎目標負荷値ＴＰ
◎加工閾値ＰＴ（例えば、目標負荷値ＴＰの１〜１０％）
◎初期オーバライド値Ｆ−ＯＲ（例えば、１００％とする。但し、オーバライド値ＯＲの初期値とは異なるものである。）
◎リセット時間ＲＣＴ（例えば、３秒）
◎仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬ（例えば、５００％）
◎仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬ（例えば、１００％）
◎上限変化量ＯＲ−ＤＯＬ（例えば、５％）
◎制御タイマＣＴの初期値（例えば、０）
【００９０】
次に、加工試験を実施する（図９のステップＳ８０３）。図１８は、図１２の加工負荷制御が設定された加工プログラムを使用して、本実施の形態１における加工制御を行ってワーク１０７を加工した際の、加工の経路と加工負荷との推移（図１８（Ｂ））、加工の経路と送り速度との推移（図１８（Ｃ））を示すものである。
【００９１】
図１２および図１８に基づいて、以下説明する。まず、図１２の加工プログラムの５行目の加工負荷制御の開始指令をＮＣ装置１２０が読み込むと、加工負荷制御が開始される（図２のステップＳ１０１）。次に、オーバライド値ＯＲ、上限値ＯＲ−ＯＬ、仮上限値Ｋ−ＯＲ−ＯＬが初期化され、１００％、１５０％、ＯＦＦと初期値がそれぞれ設定される（図２のステップＳ１０２）。次に、加工が始まる。具体的には図１２の６行目の加工指令である。この時点では、オーバライド値ＯＲが初期値の１００％なので、Ｘ＝０における送り速度は、加工プログラムの図１２の６行目の送り速度の指示値Ｆ５００と同じである（図１８）。
【００９２】
次に、仮上限値Ｋ−ＯＲ−ＯＬの使用終了指令があるか否かを確認する（図２のステップＳ１０３）。ここでは、図１２の６行目より前には、仮上限値Ｋ−ＯＲ−ＯＬの使用終了指令はないのでＮＯとなる。次に、仮上限値Ｋ−ＯＲ−ＯＬがＯＦＦ（０）か否かを確認する（図２のステップＳ１０５）。ここでは、仮上限値Ｋ−ＯＲ−ＯＬがＯＦＦ（初期値の０である）であるのでＹＥＳとなる。次に、上限値ＯＲ−ＯＬを、上限値ＯＲ−ＯＬの初期値の１５０％に設定する（図２のステップＳ１０７）。
【００９３】
次に、加工負荷制御の終了指令があるか否かを確認をする（図２のステップＳ１０８）。この時点では、図１２の６行目より前に加工負荷制御の終了指令はないのでＮＯとなる。次に、加工判定を実行する（図２のステップＳ１１０）。次に、判定部２により加工判定が開始される（図３のステップＳ２０１）。次に、監視部１から加工負荷値ＮＰを入力する（図３のステップＳ２０２）。次に、現在の加工負荷値ＮＰが加工閾値ＰＴより大きいか否かを確認する（図３のステップＳ２０３）。
【００９４】
図１８（Ｂ）から明らかなとおり、ワーク１０７の加工箇所Ｑ１の加工負荷値ＮＰは加工閾値ＰＴより小さいのでＮＯとなる。次に、制御タイマＣＴがリセット時間ＲＣＴより大きいか否かを確認する（図３のステップＳ２０７）。ここでは、制御タイマＣＴがＯＦＦの状態のすなわち初期値の０であるのでＮＯとなる。そして、加工判定を終了する（図３のステップＳ２０９）。
【００９５】
次に、加工判定を終了すると、オーバライド値ＯＲの計算を実行する（図２のステップＳ１１１）。次に、第一設定部３によりオーバライド値ＯＲの設定が開始される（図４のステップＳ３０１）。次に、直前の加工判定においてオーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲに変更したか否かを確認する（図４のステップＳ３１１）。ここでは、変更していないため（ＮＯ）、次に、現在のオーバライド値ＯＲを前オーバライド値ＯＲ−１として保存する（図４のステップＳ３０２）。ここでは、現在のオーバライド値ＯＲは初期値の１００％なので、前オーバライド値ＯＲ−１＝１００％として保存される。
【００９６】
次に、監視部１から現在の加工負荷値ＮＰを取得する（図４のステップＳ３０３）。ここでは、図１８（Ｃ）に示すように、Ｘ＝０〜５０までの加工負荷値ＮＰは０である。よって、現在の加工負荷値ＮＰは０が取得される。次に、現在の加工負荷値ＮＰと目標負荷値ＴＰとの比を計算する（図４のステップＳ３０４）。ここでは、現在の加工負荷値ＮＰ＝０のため、オーバライド値ＯＲ＝上限値ＯＲ−ＯＬ（１５０％）と設定する。
【００９７】
次に、前オーバライド値ＯＲ−１からオーバライド値ＯＲの変化量（絶対値）が、上限変化量ＯＲ−ＤＯＬ以下か否かを確認する（図４のステップＳ３０５）。ここでは、前オーバライド値ＯＲ−１＝１００％、現オーバライド値ＯＲ＝１５０％であるため、｜ＯＲ−ＯＲ−１｜＝５０％である。よって、上限変化値ＯＲ−ＤＯＬ＝５％より｜ＯＲ−ＯＲ−１｜の方が大きいのでＮＯとなる。
【００９８】
次に、現オーバライド値ＯＲ＝前オーバライド値ＯＲ−１＋上限変化値ＯＲ−ＤＯＬ＝１００％＋５％＝１０５％として設定する（図４のステップＳ３０６）。尚、ここでは現オーバライド値ＯＲが前オーバライド値ＯＲ−１より増加側の場合であるため、現オーバライド値ＯＲに上限変化値ＯＲ−ＤＯＬを足す例を示しが、減少側の場合には、オーバライド値ＯＲから上限変化値ＯＲ−ＤＯＬを引いて設定するものである。
【００９９】
次に、オーバライド値ＯＲが上限値ＯＲ−ＯＬ以下か否かを確認する（図４のステップＳ３０７）。ここでは、オーバライド値ＯＲ＝１０５％で、上限値ＯＲ−ＯＬ＝１５０％以下であるためＹＥＳとなる。そして、オーバライド値ＯＲの計算処理を終了する（図４のステップＳ３１０）。次に、ＮＣ装置１２０へオーバライド値ＯＲ＝１０５％であるとして出力する（図２のステップＳ１１２）。よって、オーバライド値ＯＲが１０５％に設定されるため、図１２の６行目の送り速度Ｆ５００の指令値に対し、オーバライド値ＯＲ１０５％の送り速度Ｆ５２５となり加工される。
【０１００】
そして、上記に示したステップＳ１０３〜ステップＳ１１２の制御を、加工負荷制御終了指令があるまで繰り返す。そのため、図１８（Ｃ）のＸ＝０〜５０に示すように、Ｘ＝０〜５０の間に、徐々に送り速度が大きくなり、オーバライド値ＯＲ＝上限値ＯＲ−ＯＬとなった時点で送り速度Ｆ７５０で一定となる。また、図１８（Ｃ）のＸ＝５０〜９０の間でも、加工負荷値ＮＰが加工閾値ＰＴ以下であり、かつ、目標負荷値ＴＰと加工負荷値ＮＰとの比が１５０％以上あるので、送り速度はＦ７５０が維持される。次に、図１２の７行目に負荷加工制御の終了指令があるため（図２のステップＳ１０８）、加工負荷制御を終了する（図２のステップＳ１０９）。
【０１０１】
次に、図１２の加工プログラムの９〜１１行目は基本的には、図１２の５〜７行目と同じある。ここでは、加工判定の処理が異なるため、上記に示した処理と異なる処理について以下に説明する。図１８（Ｂ）に示すように、Ｘ＝１２５で回転工具１０６がワーク１０７の加工箇所Ｑ２と接触し、加工負荷値ＮＰが加工閾値ＰＴ以上となる（図３のステップＳ２０３）。次に、制御タイマＣＴが０であるか否か確認する（図３のステップＳ２０４）。ここでは、制御タイマＣＴはＯＦＦの状態、すなわち０であるためＹＥＳとなる。
【０１０２】
次に、オーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲ（１００％）に変更する（図３のステップＳ２０５）。次に、制御タイマＣＴをＯＮする（図３のステップＳ２０６）。そして、加工判定を終了する（図３のステップＳ２０９）。次に、オーバライド値ＯＲの計算を実行する（図２のステップＳ１１１）。次に、第一設定部３によりオーバライド値ＯＲの設定が開始される（図４のステップＳ３０１）。次に、直前の加工判定においてオーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲに変更したか否かを確認する（図４のステップＳ３１１）。ここでは、直前の加工判定においてオーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲに変更しているため（ＹＥＳ）、オーバライド値ＯＲを初期オーバライド値Ｆ−ＯＲとして（図４のステップＳ３１２）、「オーバライド値の設定」の処理を終了する（図４のステップＳ３１０）。このように、加工中であると判定されると、オーバライド値ＯＲが強制的に初期オーバライド値Ｆ−ＯＲ（１００％）に書き換えられる。よって、Ｘ＝１２５において、送り速度がほぼ１００％のＦ５００に減速される。
【０１０３】
その後、加工負荷値ＮＰが目標負荷値ＴＰ以下あり、かつ目標負荷値ＴＰと加工負荷値ＮＰとの比が３倍以上であるため、ＯＲ−ＯＬ＝１５０％以上となり、送り速度は上記に示した制御と同様に、Ｆ７５０まで増加し一定となる。そして、Ｘ＝１６５〜１７０の間は加工負荷値ＮＰは無負荷の０となる。次に、Ｘ＝１６５まで移動すると、図３のステップＳ２０７において、制御タイマＣＴは３．２秒（＝（１６５−１２５）÷７５０×６０）であり、リセット時間ＲＣＴ＝３秒以上であるため（図３のステップＳ２０４）、制御タイマＣＴをＯＦＦにする（ＣＴ＝０）。
【０１０４】
そして、図１２の１１行目に加工負荷制御の終了指令があるため（図２のステップＳ１０８）、加工負荷制御を終了する（図２のステップＳ１０９）。図１２の加工プログラムにおける１３〜１５行目は、基本的には図１２の９〜１１行目と同じである。但し、加工負荷値ＮＰが異なるため、最終的な送り速度のみが異なる。以上のように加工試験を実施し、問題なければ寿命試験を実施する（図９のステップＳ８０３）。
【０１０５】
次に、寿命試験を実施して妥当か否かを判断する（図９のステップＳ８０４）。そして、工具寿命が妥当として得られたら場合（ＹＥＳ）には、加工プログラムに、仮上限値Ｋ−ＯＲ−ＯＬの見直しコマンドを追加する（図９のステップＳ８０６）。具体的には、図１２の加工プログラムにおいて、図１３に示すＺ行目を追加して加工プログラムを修正する。そして、加工負荷制御の導入が完了する（図９のステップＳ８０７）。
【０１０６】
そして、図１３のように修正された加工プログラムにて実際の加工を行う。加工を開始すると（図５のステップＳ４０１、およびステップＳ４０６）、加工データの保存を開始する（図５のステップＳ４０７）。次に、加工終了すると（図５のステップＳ４０２）、加工データの保存を終了する（図５のステップＳ４０９）。次に、加工を終了した後（図９のステップＳ８０８）、図１３に示した加工プログラムのＺ行目に追加した仮上限値Ｋ−ＯＲ−ＯＬの見直し指令（図５のステップＳ４０３、およびステップＳ４０８）により、「仮上限値Ｋ−ＯＲ−ＯＬの設定」が実行される（図５のステップＳ４１０）。
【０１０７】
そして、仮上限値Ｋ−ＯＲ−ＯＬの設定が開始されると（図６のステップＳ５０１）、最新の加工データと、その加工プログラムが呼び出される（図６のステップＳ５０２）。次に、加工プログラムをルールに則り分割する。図１３の加工プログラムの場合、図１４に示すようにＮｏ．１〜Ｎｏ．３のように３カ所に分割される。このように分割された加工プログラムにより加工される箇所は、Ｎｏ．１はワーク１０７の加工箇所Ｑ１の加工を行う箇所であり、Ｎｏ．２はワーク１０７の加工箇所Ｑ２の加工を行う箇所であり、Ｎｏ．３はワーク１０７の加工箇所Ｑ３の加工を行う箇所である。
【０１０８】
そして、それぞれの分割箇所（Ｎｏ．１〜Ｎｏ．３）の送り速度Ｆと加工負荷値ＮＰとを分析し、分割箇所（Ｎｏ．１〜Ｎｏ．３）毎に加工負荷値ＮＰの最大値を最大負荷値ＫＦ（Ｎ）、最大時オーバライド値Ｋ−ＯＲ（Ｎ）とする（Ｎ＝１〜３）。次に、Ｎ＝１とする（図６のステップＳ５０６）。次に、加工プログラムを分割した１番目（Ｎｏ．１）の加工箇所の最大負荷値ＫＦ（１）と目標負荷値ＴＰとを比較する（図６のステップＳ５０７）。図１８（Ｃ）より明らかに、ワーク１０７の加工箇所Ｑ１の最大負荷値ＫＦ（１）は目標負荷値ＴＰより小さいのでＹＥＳとなる。
【０１０９】
次に、最大時オーバライド値Ｋ−ＯＲ（１）と、初期値ＯＲ−ＯＬとが等しいか否かを確認する（図６のステップＳ５０８）。ここでは、最大時オーバライド値Ｋ−ＯＲ（１）は、１５０％なので上限値ＯＲ−ＯＬと等しいのでＹＥＳとなる。次に、仮上限値Ｋ−ＯＲ−ＯＬ（１）＝ＴＰ÷ＫＦ（Ｎ）＝８００％として算出する（図６のステップＳ５０９）。尚、８００％とは、図１８（Ｂ）において、目標負荷値ＴＰがワーク１０７の加工箇所Ｑ１の最大負荷値ＫＦ（１）の８倍程度であるため、その推定値を示しているものである。
【０１１０】
次に、仮上限値Ｋ−ＯＲ−ＯＬ（１）が仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬ以下か否かを確認する（図６のステップＳ５１０）。仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬは５００％であるため、仮上限値Ｋ−ＯＲ−ＯＬ（１）の８００％の方が大きいのでＮＯとなる。次に、仮上限値Ｋ−ＯＲ−ＯＬ（１）＝仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬ＝５００％と設定する（図６のステップＳ５１１）。次に、仮上限値Ｋ−ＯＲ−ＯＬ（１）を５００％として出力する（図６のステップＳ５１２）。
【０１１１】
次に、Ｎ＝ｍか否かを確認する（図６のステップＳ５１３）。そして、プログラム分割数ｍは３で、現在のＮは１なのでＮＯとなる。次に、Ｎ＝Ｎ＋１＝２とする（図６のステップＳ５２０）。次に、加工プログラムを分割した２番目（Ｎｏ．２）の加工箇所の最大負荷値ＫＦ（２）と目標負荷値ＴＰとを比較する（図６のステップＳ５０７）。図１８（Ｃ）より明らかに、最大負荷値ＫＦ（２）の方が目標負荷値ＴＰより小さいためＮＯとなる。
【０１１２】
次に、最大時オーバライド値Ｋ−ＯＲ（２）と上限値ＯＲ−ＯＬとが等しいか否かを確認する（図６のステップＳ５０８）。次に、最大時オーバライド値Ｋ−ＯＲ（２）は１５０％なので、上限値ＯＲ−ＯＬと等しいためＹＥＳとなる。次に、仮上限値Ｋ−ＯＲ−ＯＬ（２）＝ＴＰ÷ＫＦ（Ｎ）＝３００％として算出する（図６のステップＳ５０９）。尚、３００％とは、図１８（Ｂ）において、目標負荷値ＴＰがワーク１０７の加工箇所Ｑ２の最大負荷値ＫＦ（２）の３倍程度であるため、その推定値を示しているものである。
【０１１３】
次に、仮上限値Ｋ−ＯＲ−ＯＬ（２）が仮上限値の上限値Ｋ−ＯＲ−ＯＬ−ＯＬ以下か否かを確認する（図６のステップＳ５１０）。そして、仮上限値の上限値はＫ−ＯＲ−ＯＬ−ＯＬは５００％であるため、仮上限値Ｋ−ＯＲ−ＯＬ（２）の３００％の方が小さいためＹＥＳとなる。次に、仮上限値Ｋ−ＯＲ−ＯＬ（２）を３００％として出力する（図６のステップＳ５１２）。
【０１１４】
次に、Ｎ＝ｍか確認する（図６のステップＳ５１３）。そして、プログラム分割数ｍは３、現在のＮは２なのでＮＯとなる。次に、Ｎ＝Ｎ＋１＝３とする（図６のステップＳ５２０）。次に、加工プログラムを分割した３番目（Ｎｏ．３）の加工箇所の最大負荷値ＫＦ（３）と目標負荷値ＴＰとを比較する（図６のステップＳ５０７）。
【０１１５】
図１８（Ｃ）から明らかなように、最大負荷値ＫＦ（３）の方が目標負荷値ＴＰより大きいためＮＯとなる。次に、仮上限値Ｋ−ＯＲ−ＯＬ（３）＝ＴＰ÷ＫＦ（Ｎ）＝６０％として算出する（図７のステップＳ５１６）。尚、６０％とは、図１８（Ｂ）において、目標負荷値ＴＰがワーク１０７の加工箇所Ｑ３の最大負荷値ＫＦ（３）の６０％程度であるため、その推定値を示しているものである。
【０１１６】
次に、仮上限値Ｋ−ＯＲ−ＯＬ（３）が仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬ以上か否かを確認する（図７のステップＳ５１７）。そして、仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬは１００％であるため、仮上限値Ｋ−ＯＲ−ＯＬ（３）は仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬ以上であるためＮＯとなる。次に、仮上限値Ｋ−ＯＲ−ＯＬ（３）を仮上限値の下限値Ｋ−ＯＲ−ＯＬ−ＵＬの１００％として設定する（図６のステップＳ５１８）。次に、仮上限値Ｋ−ＯＲ−ＯＬ（３）を１００％として出力する（図６のステップＳ５１２）。次に、Ｎ＝ｍか否かを確認する（図６のステップＳ５１３）。そして、プログラム分割数ｍは３で、現在のＮは３なので「仮上限値の設定」を終了する（図６のステップＳ５１４）。
【０１１７】
次に、「仮上限値の設定」が終了すると「加工プログラムの修正作業」の処理を開始する（図５のステップＳ４１１）。次に、加工プログラムの修正作業を開始する（図８のステップＳ６０１）。次に、加工プログラムを呼び出す（図８のステップＳ６０２）。ここで呼び出す加工プログラムは、加工に使用した図１４の加工プログラムである。次に、呼び出した加工プログラムをｍ個に分割する（図８のステップＳ６０３）。この加工プログラムの分割方法は、先に示した図６のステップＳ５０３と同じである。
【０１１８】
次に、Ｎ＝１とする（図８のステップＳ６０４）。次に、１番目（Ｎｏ．１）の加工プログラムの分割加工箇所に対応する仮上限値Ｋ−ＯＲ−ＯＬ（１）が第二設定部６から出力されているか確認する（図８のステップＳ６０５）。次に、対応する仮上限値Ｋ−ＯＲ−ＯＬ（１）があるため、加工プログラム中に仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令および使用終了指令があるか否かを確認する（図８のステップＳ６０６）。ここでは、加工プログラム中に仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令および使用終了指令がないためＮＯとなる。
【０１１９】
次に、図１４の加工プログラムにＮｏ．１に対して、図１５に示すように６行目、９行目に仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令および使用終了指令を加え、６行目に仮上限値Ｋ−ＯＲ−ＯＬを５００と指定する。この値は「仮上限値の設定」で計算した値Ｋ−ＯＲ−ＯＬ（１）である。以上の制御をＮ＝１〜３まで繰り返し、加工プログラムの修正処理を完了する（図８のステップＳ６１１）。そして、図１５に示すようにそれぞれの指令が追加される。
【０１２０】
図１９は図１５の加工負荷制御を使用した加工プログラムを使用して加工を実施した場合を示す。図１５の加工プログラムの６行目、１２行目、１８行目に仮上限値Ｋ−ＯＲ−ＯＬの使用開始指令があるため、図２の加工負荷制御においてステップＳ１０３はＮＯとなり、ステップＳ１０５ではＹＥＳとなり、上限値ＯＲ−ＯＬとして、仮上限値Ｋ−ＯＲ−ＯＬの値が設定され使用される。
【０１２１】
そのため、図１９に示すように、オーバライド値の上限値ＯＲ−ＯＬがワーク１０７の加工箇所Ｑ１では仮上限値Ｋ−ＯＲ−ＯＬの５００％となり、加工箇所Ｑ２では３００％となり、加工箇所Ｑ３では１００％となる。よって、送り速度はワーク１０７の加工箇所Ｑ１ではＦ２５００、ワーク１０７の加工箇所Ｑ２ではＦ１５００、ワーク１０７の加工箇所Ｑ３ではＦ５００となり制御される。
【０１２２】
仮上限値Ｋ−ＯＲ−ＯＬが上限値Ｋ−ＯＲとして設定される前の図１８と、仮上限値Ｋ−ＯＲ−ＯＬが上限値Ｋ−ＯＲとして設定された後の図１９と比べると、Ｘ＝２１０の時点における最大負荷値は図１９に示す場合の方が図１８の場合より小さくなっており、かつ、図１９に示す斜線部の加工箇所だけ図１８に示す場合より加工能率が大きくなっている。
【０１２３】
このように上限値ＯＲ−ＯＬを仮上限値Ｋ−ＯＲ−ＯＬを用い適宜設定することにより加工能率を高め、かつ工具の破損を抑制できる。また、工具摩耗および破損を抑制できることから、加工精度を確保でき、工具交換回数を減らせるため機械のメンテナンス時間を減らせることができ、機械稼働率を向上でき更に人件費を抑制できる。また、ワークの間のばらつきなどを考慮しなくて済むことから寿命試験の数が減り、加工負荷制御の導入までの時間を短くできる。
【０１２４】
尚、上記実施の形態１においては、Ｘ軸、Ｙ軸、Ｚ軸の３軸を有する加工機を例に示したが、これに限られることはなく、２軸以上の加工機でも同様に実施することが可能であり、同様の効果を奏することができるものである。
【０１２５】
また、目標負荷値ＴＰは１工程に対し１つ、望ましくは工具に対し１つを設定するものとし、更に、目標負荷値ＴＰは対象工程の加工負荷値の最大値を設定することが好ましい。このように、目標負荷値ＴＰを１つとすることで制御の簡易化が図れ、容易に加工負荷制御を導入することができる。
【０１２６】
また、目標負荷値ＴＰを対象工程の加工負荷値の最大値とすることで、加工負荷制御の加工時間短縮効果を最大限に得ることができる。また、仮上限値を設定する際の加工データは、「基準となる加工データ」と「最新工程までの複数の加工データ」とを比較してもよい。
【０１２７】
また、本実施の形態においては、第一記憶部４および第二記憶部７を備え、それぞれに各種情報を格納する例を示したが、これに限られることなく、１つの記憶部として構成する、また、ＮＣ装置１２０に記憶部を備えるようにしてもよい。また、このことは以下の実施の形態においても同様であるためその説明は適宜省略する。
【０１２８】
上記のように構成された実施の形態１の加工機の制御装置および加工機の制御方法によれば、加工負荷値が、加工閾値を超えると初期オーバライド値に変更するため、加工部の急激な加工負荷値の増大を事前に防止することができ、加工部の寿命向上および加工効率向上を行うことができる。
【０１２９】
また、第一設定部は、初期オーバライド値を上限値まで戻すことができるため、加工効率を向上することができる。
【０１３０】
また、第一設定部は、加工負荷値が目標負荷値より低くならなければ、初期オーバライド値を維持するため、加工部としての回転工具の寿命がより一層向上する。
【０１３１】
また、第二設定部は、ワークの加工箇所毎に、仮上限値を上限値として設定するため、加工効率をより一層向上することができる。
【０１３２】
また、第二設定部は、仮上限値の上限値および仮上限値の下限値を設定しているため、加工部の過度な加工を防止したり、加工効率が必要以上に低下したりすることができる。
【０１３３】
また、修正部は、加工プログラムのワークの加工箇所毎に、仮上限値の使用開始および仮上限値の使用終了を追加できるため、加工プログラムを自動的に修正し、仮上限値を使用して制御することが可能となる。
【０１３４】
また、加工機のワークの加工を行う加工部の駆動を行う主駆動部から加工負荷値を取得するため、簡便な加工制御が可能となる。
【０１３５】
尚、上記実施の形態１においては、監視部１が主軸１０５の主軸モータ１０１の負荷値を、主軸アンプ１１１およびＮＣ装置１２０を介して取得し、加工負荷値とする例を示したが、これに限られることはなく、これに加えて、例えば、Ｚ軸モータ１０２の負荷値をＺ軸アンプ１１２、Ｘ軸モータ１０３の負荷値をＸ軸アンプ１１３、Ｙ軸モータ１０４の負荷値をＹ軸アンプ１１４からそれぞれの取得し、電流、消費電力等の各モータ１０１、１０２、１０３、１０４の信号を加工負荷値として設定しても、上記実施の形態１と同様に制御することが可能である。
【０１３６】
その場合、加工機の制御方法によれば、主軸に作用する主分力以外に、背分力、送り分力を制御に反映することが可能となる。背分力、送り分力の増加はびびりおよび工具、ワークの倒れといった精度不良の原因となる。よって、背分力、送り分力を検知し、送り速度を制御することにより、より詳細に加工状態を把握し制御することができ、びびりおよび工具またはワークの倒れを抑制し、精度不良をより一層防止することができる。
【０１３７】
また、上記実施の形態１においては、加工機の制御値として、送り速度を例に示したが、これに限られることなく、例えば、加工機の加工部の回転速度などを制御値として設定することも可能である。
【０１３８】
実施の形態２．
図２０はこの発明の実施の形態２における加工機および加工機の制御装置の構成を示す図である。図において、上記実施の形態１と同様の部分は同一符号を付して説明を省略す。図に示すように、監視部１５０の加工負荷値の取得を、主軸アンプ１１１からではなく、主軸モータ１０１もしくは主軸用サーボなどの配線部に配置されたクランプ電流計２０１から行う。そして、監視部１は、このクランプ電流計２０１の信号から加工負荷値を取得し、上記実施の形態１と同様に行うことができる。
【０１３９】
上記のように構成された実施の形態２の加工機の制御装置および加工機の制御方法によれば、上記実施の形態１と同様の効果を奏するのはもちろんのこと、加工負荷値を取得するためのアンプを配置する必要がないため、制御装置を容易かつ安価に設置することができる。
【０１４０】
実施の形態３．
図２１はこの発明の実施の形態３における加工機および加工機の制御装置の構成を示す図である。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略す。図に示すように、修正部８および第一記憶部４、第二記憶部７、第三記憶部２３にアクセスし、命令を実行可能な入出力インターフェース（以下、入出力ＩＦと称す）２２を備える。尚、第三記憶部２３については、後述にて説明する。第一記憶部４、第二記憶部７および第三記憶部２３に入出力ＩＦ２２からアクセスすることにより加工プログラムの修正が容易になる。
【０１４１】
また、修正部８に入出力ＩＦ２２よりアクセスできることにより、仮上限値Ｋ−ＯＲ−ＯＬを任意のタイミングで変更することができる。また、入出力ＩＦ２２より修正部８にアクセスしてＮＣ装置１２０内の加工負荷制御を導入していない加工プログラムに対して加工データより加工負荷制御に対応した加工プログラムに修正することが可能となる。
【０１４２】
上記のように構成された実施の形態３の加工機の制御装置の制御方法について図２１のフローチャートに基づいて説明する。まず、入出力ＩＦ２２が加工プログラムの修正の制御を開始すると（図２２のステップＳ９０１）、修正する加工プログラムを選択し（図２２のステップＳ９０２）、第二記憶部７から加工プログラムを読み込む（図２２のステップＳ９０３）。
【０１４３】
次に、当該加工プログラムの基準となる加工データを選択し（図２２のステップＳ９０４）、第二記憶部７から加工データを読み込む（図２２のステップＳ９０５）。次に、加工負荷制御に導入する対象工具を指定する（図２２のステップＳ９０６）。次に、選択した対象工具に対応する加工プログラムと加工データとを抽出し（図２２のステップＳ９０７）、その最大負荷値を目標負荷値ＴＰとして設定する（図２２のステップＳ９０８）。尚、最大負荷値の値を目標負荷値ＴＰにするのではなく、最大負荷値に予め設定された係数を乗じた値を目標負荷値ＴＰとして設定してもよい。次に、当該加工プログラムの前後に加工負荷制御の開始指定、および、終了指令の有無を確認し、存在しない場合には追加する（図２２のステップＳ９０９）。
【０１４４】
また、加工プログラムを修正する際、修正対象から除外する項目を第三記憶部２３に設定することも可能である。このように、第三記憶部２３に修正対象から除外する項目を登録することで、加工負荷制御の修正から除外することができる。除外する項目としては、例えば、工具がドリルの場合には、工具の構造から加工途中で送りを変化させると加工が不安定になるため除外する。
【０１４５】
上記のように構成された実施の形態３の加工機の制御装置および加工機の制御方法によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、加工負荷制御の加工プログラムを修正することにより加工負荷制御の導入までの時間を短くできる。
【０１４６】
尚、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【図１】
0006456498.tif 000002
【図２】
0006456498.tif 000003
【図３】
0006456498.tif 000004
【図４】
0006456498.tif 000005
【図５】
0006456498.tif 000006
【図６】
0006456498.tif 000007
【図７】
0006456498.tif 000008
【図８】
0006456498.tif 000009
【図９】
0006456498.tif 000010
【図１０】
0006456498.tif 000011
【図１１】
0006456498.tif 000012
【図１２】
0006456498.tif 000013
【図１３】
0006456498.tif 000014
【図１４】
0006456498.tif 000015
【図１５】
0006456498.tif 000016
【図１６】
0006456498.tif 000017
【図１７】
0006456498.tif 000018
【図１８】
0006456498.tif 000019
【図１９】
0006456498.tif 000020
【図２０】
0006456498.tif 000021
【図２１】
0006456498.tif 000022
【図２２】
0006456498.tif 000023