(57)【要約】【課題】加工効率を上げつつ、加工面質の低下を抑制できる数値制御装置、数値制御方法及び数値制御プログラムを提供する。【解決手段】数値制御装置１は、工作機械を制御するための加工プログラムを解析し、指定された座標に基づいて、指令ブロック毎の累積の移動距離を算出するプログラム解析部１１と、指令ブロック毎の移動距離、及び指定された速度に基づいて、指令ブロックの始点及び終点における移動距離及び速度の組である制御点を生成する制御点生成部１２と、制御点から、移動距離に対する指令速度を定義したパラメトリック曲線を生成する指令速度生成部１３と、生成された指令速度を補間単位で出力する指令速度出力部１４と、を備える。【選択図】図５
2020009102.tif 000002
【特許請求の範囲】
【請求項１】
工作機械を制御するための加工プログラムを解析し、指定された座標に基づいて、指令ブロック毎の累積の移動距離を算出するプログラム解析部と、
前記指令ブロック毎の前記移動距離、及び指定された速度に基づいて、当該指令ブロックの始点及び終点における前記移動距離及び前記速度の組である制御点を生成する制御点生成部と、
前記制御点から、前記移動距離に対する指令速度を定義したパラメトリック曲線を生成する指令速度生成部と、
生成された前記指令速度を補間単位で出力する指令速度出力部と、を備える数値制御装置。
【請求項２】
前記指令速度生成部は、所定の係数により前記指令速度を調整する請求項１に記載の数値制御装置。
【請求項３】
前記パラメトリック曲線は、Ｂ−スプライン曲線、ベジェ曲線、又はＮＵＲＢＳ（Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｒａｔｉｏｎａｌ  Ｂ−Ｓｐｌｉｎｅ）曲線のいずれかである請求項１又は請求項２に記載の数値制御装置。
【請求項４】
前記制御点生成部は、前後の制御点それぞれと速度が等しい制御点を省略する請求項１から請求項３のいずれかに記載の数値制御装置。
【請求項５】
前記制御点生成部は、前後の制御点それぞれと速度の差が指定された速度範囲の制御点を省略する請求項４に記載の数値制御装置。
【請求項６】
工作機械を制御するための加工プログラムを解析し、指定された座標に基づいて、指令ブロック毎の累積の移動距離を算出するプログラム解析ステップと、
前記指令ブロック毎の前記移動距離、及び指定された速度に基づいて、当該指令ブロックの始点及び終点における前記移動距離及び前記速度の組である制御点を生成する制御点生成ステップと、
前記制御点から、前記移動距離に対する指令速度を定義したパラメトリック曲線を生成する指令速度生成ステップと、
生成された前記指令速度を補間単位で出力する指令速度出力ステップと、をコンピュータが実行する数値制御方法。
【請求項７】
工作機械を制御するための加工プログラムを解析し、指定された座標に基づいて、指令ブロック毎の累積の移動距離を算出するプログラム解析ステップと、
前記指令ブロック毎の前記移動距離、及び指定された速度に基づいて、当該指令ブロックの始点及び終点における前記移動距離及び前記速度の組である制御点を生成する制御点生成ステップと、
前記制御点から、前記移動距離に対する指令速度を定義したパラメトリック曲線を生成する指令速度生成ステップと、
生成された前記指令速度を補間単位で出力する指令速度出力ステップと、をコンピュータに実行させるための数値制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工中に指令速度を変化させる数値制御装置、数値制御方法及び数値制御プログラムに関する。
【背景技術】
【０００２】
従来、工作機械を制御するための加工プログラムにおいては、送り速度が初期設定され、一定の速度で加工が行われることが多かった。
また、加工プログラムでは、指令ブロックの単位で速度の指令が可能なため（例えば、特許文献１参照）、形状又は加工箇所に応じて変わる加工負荷に応じて、指令ブロック毎に速度指令を変更して加工時間を短縮し、加工効率の向上を図る場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２０４０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、加減速が高速な機械は、速度の指令に素早く追従できるため、加工中に指令値が変化する場合、スムーズな速度変化とはならない。したがって、加減速の衝撃による加工負荷の急激な増大で切削振動等が発生し、これによる工具寿命及び加工面質の低下が課題となっていた。
【０００５】
また、加減速を制御して衝撃を抑制することもできるが、これにより加工時間が延びるため、短時間での加減速が設定される。すると、同一加工面であっても、速度が変化する箇所で異なる加工面質が不連続に発生し、加工面質不良と判断される場合があった。
【０００６】
本発明は、加工効率を上げつつ、加工面質の低下を抑制できる数値制御装置、数値制御方法及び数値制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）  本発明に係る数値制御装置（例えば、後述の数値制御装置１）は、工作機械を制御するための加工プログラムを解析し、指定された座標に基づいて、指令ブロック毎の累積の移動距離を算出するプログラム解析部（例えば、後述のプログラム解析部１１）と、前記指令ブロック毎の前記移動距離、及び指定された速度に基づいて、当該指令ブロックの始点及び終点における前記移動距離及び前記速度の組である制御点を生成する制御点生成部（例えば、後述の制御点生成部１２）と、前記制御点から、前記移動距離に対する指令速度を定義したパラメトリック曲線を生成する指令速度生成部（例えば、後述の指令速度生成部１３）と、生成された前記指令速度を補間単位で出力する指令速度出力部（例えば、後述の指令速度出力部１４）と、を備える。
【０００８】
（２）  （１）に記載の数値制御装置において、前記指令速度生成部は、所定の係数により前記指令速度を調整してもよい。
【０００９】
（３）  （１）又は（２）に記載の数値制御装置において、前記パラメトリック曲線は、Ｂ−スプライン曲線、ベジェ曲線、又はＮＵＲＢＳ（Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｒａｔｉｏｎａｌ  Ｂ−Ｓｐｌｉｎｅ）曲線のいずれかであってもよい。
【００１０】
（４）  （１）から（３）のいずれかに記載の数値制御装置において、前記制御点生成部は、前後の制御点それぞれと速度が等しい制御点を省略してもよい。
【００１１】
（５）  （４）に記載の数値制御装置において、前記制御点生成部は、前後の制御点それぞれと速度の差が指定された速度範囲の制御点を省略してもよい。
【００１２】
（６）  本発明に係る数値制御装置方法は、工作機械を制御するための加工プログラムを解析し、指定された座標に基づいて、指令ブロック毎の累積の移動距離を算出するプログラム解析ステップと、前記指令ブロック毎の前記移動距離、及び指定された速度に基づいて、当該指令ブロックの始点及び終点における前記移動距離及び前記速度の組である制御点を生成する制御点生成ステップと、前記制御点から、前記移動距離に対する指令速度を定義したパラメトリック曲線を生成する指令速度生成ステップと、生成された前記指令速度を補間単位で出力する指令速度出力ステップと、をコンピュータ（例えば、後述の数値制御装置１）が実行する。
【００１３】
（７）  本発明に係る数値制御プログラムは、工作機械を制御するための加工プログラムを解析し、指定された座標に基づいて、指令ブロック毎の累積の移動距離を算出するプログラム解析ステップと、前記指令ブロック毎の前記移動距離、及び指定された速度に基づいて、当該指令ブロックの始点及び終点における前記移動距離及び前記速度の組である制御点を生成する制御点生成ステップと、前記制御点から、前記移動距離に対する指令速度を定義したパラメトリック曲線を生成する指令速度生成ステップと、生成された前記指令速度を補間単位で出力する指令速度出力ステップと、をコンピュータ（例えば、後述の数値制御装置１）に実行させるためのものである。
【発明の効果】
【００１４】
本発明によれば、数値制御装置は、加工効率を上げつつ、加工面質の低下を抑制できる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係る加工プログラムを例示する図である。
【図２】第１実施形態に係る加工プログラムの指令ブロック毎に指定された速度の推移を例示する図である。
【図３】第１実施形態に係る加工プログラムに基づいて、指定された速度への加減速を従来の技術により制御した場合の速度の推移を例示する図である。
【図４】第１実施形態に係る数値制御装置が加工プログラムから生成したパラメトリック曲線に沿って、工作機械への指令速度を制御した場合の速度の推移を例示する図である。
【図５】第１実施形態に係る数値制御装置の機能構成を示す図である。
【図６】第１実施形態に係る指令ブロックと、累積の移動距離及び指定速度との対応付けを示す図である。
【図７】第１実施形態に係る制御点の生成方法を示すフローチャートである。
【図８】第１実施形態に係る制御点の生成例を示す図である。
【図９】第１実施形態に係る制御点及びＢ−スプライン曲線の生成例を示す図である。
【図１０】第２実施形態に係るパラメトリック曲線の次数による変化を示す図である。
【図１１】第２実施形態に係る加工プログラムにおける係数の指定方法を例示する図である。
【図１２】第２実施形態に係る指令速度の調整結果を例示する図である。
【図１３】第３実施形態に係る加工プログラムにおけるモーダル速度情報を例示する図である。
【図１４】第３実施形態に係る加工プログラムの指令ブロックに記述された速度及びモーダル速度情報を用いて生成した制御点と、これらの制御点に基づくパラメトリック曲線とを例示する図である。
【図１５】第３実施形態に係る加工プログラムから省略して生成された制御点と、これらの制御点に基づくパラメトリック曲線とを例示する図である。
【図１６】第３実施形態に係る制御点の生成方法を示すフローチャートである。
【図１７】第３実施形態に係る加工プログラムから生成され得る制御点のうち、いずれも省略しない場合の制御点の生成例を示す図である。
【図１８】第３実施形態に係る加工プログラムから生成され得る制御点のうち、一部を省略した場合の制御点の生成例を示す図である。
【図１９】第３実施形態に係る加工プログラムにおける、制御点の省略機能の指定方法を例示する図である。
【発明を実施するための形態】
【００１６】
［第１実施形態］
以下、本発明の第１実施形態について説明する。
本実施形態に係る数値制御装置１は、指令ブロック単位で各軸の位置を示す座標及び送り速度が指定された加工プログラムを実行し、工作機械を制御する。
数値制御装置１は、加工プログラムを実行する際に各指令ブロックを解析し、指定された座標まで、指定された速度に基づいて実際の送り速度の制御を行う。このとき、数値制御装置１は、指令ブロック毎に指定された座標から算出される累積の移動距離と、指定された速度とを対応付けた複数の制御点に対して、速度変化を緩やかにしたパラメトリック曲線を生成し、このパラメトリック曲線に沿って、移動距離に対する指令速度を出力する。
【００１７】
図１は、本実施形態に係る加工プログラムを例示する図である。
この例では、ブロック番号１で指定された原点から、ブロック番号２において座標（１０．０，１０．０）まで送り速度Ｆ１０００で加工することが指定されている。同様に、ブロック番号３において座標（１５．０，１３．０）まで送り速度Ｆ２０００で、ブロック番号４において座標（１８．０，１１．０）まで送り速度Ｆ２５００で、ブロック番号５において座標（２０．０，５．０）まで送り速度Ｆ１１００で加工することが指定されている。
【００１８】
図２は、本実施形態に係る加工プログラムの指令ブロック毎に指定された速度の推移を例示する図である。
この例では、図１に示した加工プログラムから読み取れる、原点からの累積の移動距離に対して、指令ブロック毎に指定された速度が描画されている。
【００１９】
指定された速度の通りに工作機械を制御すると、指令ブロックが切り替わる位置、例えば、ブロック番号２からブロック番号３に切り替わる位置Ａ、及びブロック番号３からブロック番号４に切り替わる位置Ｂ等）で速度が不連続に変化する。このため、これらの位置で加工負荷が急激に上昇し、工具寿命及び加工面質の低下が懸念される。
【００２０】
図３は、本実施形態に係る加工プログラムに基づいて、指定された速度への加減速を従来の技術により制御した場合の速度の推移を例示する図である。
この場合、指令速度の変化が図２の場合よりも緩やかとなり、加工負荷の急激な上昇は抑制されるが、加減速に掛かる時間に応じて加工に要する時間が長くなる。そこで、加減速に掛ける時間を短くすると、速度の変化に伴う指令ブロック間での加工面質の変化も急となるため、連続した面質が要求される場合に加工面質不良と判断されやすい。
【００２１】
図４は、本実施形態に係る数値制御装置１が加工プログラムから生成したパラメトリック曲線に沿って、工作機械への指令速度を制御した場合の速度の推移を例示する図である。
この例では、指令ブロックの始点及び終点に対応する制御点が設けられ、これらの制御点に基づいてパラメトリック曲線が描画されている。
【００２２】
この場合、指令速度の変化が緩やかになり、かつ、加工プログラムで指定された速度に基づく加工時間と比較して、速度が高い部分及び低い部分が生じ、同等の加工時間が維持される。
【００２３】
図５は、本実施形態に係る数値制御装置１の機能構成を示す図である。
数値制御装置１は、制御部１０及び記憶部２０を備えた情報処理装置である。
加工プログラムの指令ブロックで指定された座標及び速度からパラメトリック曲線を生成し、このパラメトリック曲線に沿って実際の指令速度を出力するために、制御部１０は、プログラム解析部１１と、制御点生成部１２と、指令速度生成部１３と、指令速度出力部１４とを備える。これらの各機能部は、制御部１０が記憶部２０に格納された数値制御プログラムを読み込み実行することにより実現される。
【００２４】
プログラム解析部１１は、工作機械を制御するための加工プログラムを記憶部２０又は外部機器から読み込み解析する。具体的には、本実施形態において、プログラム解析部１１は、加工プログラムを構成する指令ブロックのそれぞれから、終点座標及び速度の指定値を抽出する。
【００２５】
さらに、プログラム解析部１１は、抽出した座標に基づいて、加工開始点から各指令ブロックの終点までの累積の移動量Ｂｐを算出し、指令ブロック毎に累積の移動距離Ｂｐ及び指定速度Ｆｐを取得する。
【００２６】
図６は、本実施形態に係る指令ブロックと、累積の移動距離及び指定速度との対応付けを示す図である。
各指令ブロックからは、座標及び速度の指定値が抽出され、ブロック番号に累積の移動距離と指定速度とが対応付けられる。
【００２７】
ここで、指令ブロック毎の移動距離ΔＢｐは、各軸の移動量ΔＡｉを用いて、
【数１】
2020009102.tif 000003
と定義される。例えば、ＸＹの２軸の指令の場合、
【数２】
2020009102.tif 000004
である。したがって、指令ブロック毎に指定された座標から、
【数３】
2020009102.tif 000005
と計算でき、累積の移動距離は、
Ｂ０＝ΔＢ０＝０
Ｂ１＝ΔＢ０＋ΔＢ１＝１４．１４２
Ｂ２＝ΔＢ０＋ΔＢ１＋ΔＢ２＝１９．９７３
となる。
【００２８】
制御点生成部１２は、指令ブロック毎の終点までの累積の移動距離Ｂｐ及び速度Ｆｐに基づいて、これらの指令ブロックの始点及び終点における累積の移動距離及び速度の組である制御点Ｐｉ＝（Ｐｂｉ，Ｐｆｉ）を生成する。
【００２９】
図７は、本実施形態に係る制御点の生成方法を示すフローチャートである。
ステップＳ１において、プログラム解析部１１は、加工プログラムの指令ブロックそれぞれの指定内容に基づいて、指令ブロック毎の累積の移動距離Ｂｐ及び速度Ｆｐを算出する。
【００３０】
ステップＳ２において、制御点生成部１２は、制御点のインデックスｉ、及び指令ブロックのインデックスｐを０に初期化する。
ステップＳ３において、制御点生成部１２は、ｉ（≧０）番目の制御点を、Ｐｆｉ＝Ｆｐ、Ｐｂｉ＝Ｂｐと計算する。
【００３１】
ステップＳ４において、制御点生成部１２は、ｐ＋１番目の指令ブロック、すなわちＢｐ＋１及びＦｐ＋１があるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ５に移り、判定がＮＯの場合、制御点の生成が完了したので、処理は終了する。
【００３２】
ステップＳ５において、制御点生成部１２は、現在（ｐ番目）の指令ブロックと次（ｐ＋１番目）の指令ブロックとで指定速度が等しいか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ８に移り、判定がＮＯの場合、処理はステップＳ６に移る。
【００３３】
ステップＳ６において、制御点生成部１２は、次（ｐ＋１番目）の指令ブロックの始点に相当し現在（ｐ番目）と速度が異なる制御点を生成するために、インデックスｉをカウントアップする。
ステップＳ７において、制御点生成部１２は、ｉ番目の制御点を、Ｐｆｉ＝Ｆｐ＋１、Ｐｂｉ＝Ｂｐと計算する。
【００３４】
ステップＳ８において、次（ｐ＋１番目）の指令ブロックの終点に相当する制御点を生成するために、インデックスｉ及びｐをカウントアップする。その後、処理は、ステップＳ３に戻る。
【００３５】
図８は、本実施形態に係る制御点の生成例を示す図である。
この例では、各指令ブロックの指定速度がそれぞれ異なる場合を示している。
この場合、まず、ブロック番号１からは、加工開始点に対応する制御点Ｐ０＝（Ｂ０，Ｆ０）が生成される。
ブロック番号ｉ（ｉ≧２）からは、始点に対応する制御点Ｐ２ｉ−１＝（Ｂｉ−１，Ｆｉ）と、終点に対応する制御点Ｐ２ｉ＝（Ｂｉ，Ｆｉ）が生成される。
【００３６】
指令速度生成部１３は、生成された制御点に基づいて、移動距離に対する指令速度を定義したパラメトリック曲線を生成する。
パラメトリック曲線は、例えば、Ｂ−スプライン曲線、ベジェ曲線、又はＮＵＲＢＳ（Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｒａｔｉｏｎａｌ  Ｂ−Ｓｐｌｉｎｅ）曲線のいずれかであってよい。以下、パラメトリック曲線は、Ｂ−スプライン曲線であるものとして説明する。
【００３７】
Ｂ−スプライン曲線Ｃ（ｔ）は、基底関数（ブレンディング関数）Ｎｉｎ（ｔ）、制御点Ｐｉ、ノット（ノットベクトル）ｔ、次数ｎ、制御点の数ｍ＋１によって定義される。また、移動距離Ｂ（ｔ）及び指令速度Ｆ（ｔ）は、それぞれＰｂｉ及びＰｆｉから次のように求められる。
【数４】
2020009102.tif 000006
【００３８】
ここで、最初の制御点Ｐ０及び最後の制御点Ｐｍを通過する開一様Ｂ−スプラインを得るためには、次のように、最初と最後にｎ＋１個の多重ノットが設けられる。なお、ノットベクトルの数ｐは、ｐ＝ｍ＋ｎ＋１である。
ｔ０＝ｔ１＝・・・＝ｔｎ＝０
ｔｐ−ｎ＝ｔｐ−ｎ＋１＝・・・＝ｔｐ＝１
【００３９】
図９は、本実施形態に係る制御点及びＢ−スプライン曲線の生成例を示す図である。
この例では、移動距離Ｂと速度Ｆとを軸とする座標系において、図８の制御点Ｐ０〜Ｐ８が設けられている。例えば、ブロック番号３の指令ブロックにおける始点に相当する制御点Ｐ３は、座標（Ｐｂ３，Ｐｆ３）に設けられる。
これらの制御点に基づいて、指定された次数、例えば２次のＢ−スプライン曲線Ｃ（ｔ）が作成される。
【００４０】
指令速度出力部１４は、生成された指令速度を補間単位である所定の移動量毎に出力し、工作機械を制御する。
具体的には、指令速度出力部１４は、補間単位毎に移動距離Ｂ（ｔ）が測定されると、次のようにノットｔの２次方程式の解としてｔを算出し、ｔから指令速度Ｆ（ｔ）を計算して出力する。なお、α、β、γは、制御点における移動距離Ｐｂｉ及び与えられたＢ（ｔ）から定まる係数である。
【数５】
2020009102.tif 000007
【００４１】
次に、Ｂ−スプライン曲線の計算例を示す。
（計算例１：  セグメント数Ｌ＝１、次数ｎ＝２、制御点数ｍ＋１＝３の場合）
Ｐ０，Ｐ１，Ｐ２を制御点とし、両端のＰ０及びＰ２を通り、１セグメントからなる２次のＢ−スプライン曲線Ｃ（ｔ）は、次の式で表される。なお、制御点数ｍ＋１、次数ｎ及びセグメント数Ｌの関係は、ｍ＝ｎ＋Ｌ−１である。
【数６】
2020009102.tif 000008
【００４２】
ここで、ノットベクトル｛ｔ０，・・・，ｔｐ｝の数ｐは、ｐ＝ｍ＋ｎ＋１＝５である。
開一様Ｂ−スプライン曲線を得るために、始点及び終点において、ｎ＋１＝３個の多重ノットを設けると、ノットベクトルは｛ｔ０，・・・，ｔ５｝＝｛０，０，０，１，１，１｝となる。
また、定義域がｔ２≦ｔ＜ｔ３なので、０次の基底関数は、ｔ２≦ｔ＜ｔ３のみ１となり、０次から２次の基底関数は、それぞれ次のように計算される。
【数７】
2020009102.tif 000009
【００４３】
したがって、補間単位で移動距離Ｂ（ｔ）が与えられると、指令速度Ｆ（ｔ）は、次のようにノットｔを介して計算される。
【数８】
2020009102.tif 000010
【００４４】
（計算例２：  セグメント数Ｌ＝２、次数ｎ＝２、制御点数ｍ＋１＝４の場合）
Ｐ０，Ｐ１，Ｐ２，Ｐ３を制御点とし、両端のＰ０及びＰ４を通り、２セグメントからなる２次のＢ−スプライン曲線Ｃ（ｔ）は、次の式で表される。
【数９】
2020009102.tif 000011
【００４５】
ここで、ノットベクトル｛ｔ０，・・・，ｔｐ｝の数ｐは、ｐ＝ｍ＋ｎ＋１＝６である。
開一様Ｂ−スプライン曲線を得るために、始点及び終点において、ｎ＋１＝３個の多重ノットを設けると、ノットベクトルは｛ｔ０，・・・，ｔ６｝＝｛０，０，０，１，２，２，２｝となる。なお、多重ノット区間外で一様の変化をすることで、開一様Ｂ−スプライン曲線が得られ、非一様の変化又は多重をさせることで、各制御点の重みを変化させた非一様Ｂ−スプライン曲線が得られる。
また、定義域がｔ２≦ｔ＜ｔ４なので、０次の基底関数は、次のようにｔ２≦ｔ＜ｔ４のみ１となる。
【数１０】
2020009102.tif 000012
【００４６】
また、１セグメント目のノットｔの範囲０≦ｔ＜１において、１次及び２次の基底関数は、それぞれ次のように計算される。
【数１１】
2020009102.tif 000013
【００４７】
また、２セグメント目のノットｔの範囲１≦ｔ＜２において、１次及び２次の基底関数は、それぞれ次のように計算される。
【数１２】
2020009102.tif 000014
【００４８】
したがって、補間単位で移動距離Ｂ（ｔ）が与えられると、指令速度Ｆ（ｔ）は、ノットｔを介してセグメント別に計算される。
すなわち、１セグメント目の０≦ｔ＜１では、移動距離Ｂ０（ｔ）に対して、指令速度Ｆ（ｔ）が次のように計算される。
【数１３】
2020009102.tif 000015
【００４９】
また、２セグメント目の１≦ｔ＜２では、移動距離Ｂ１（ｔ）に対して、指令速度Ｆ（ｔ）が次のように計算される。
【数１４】
2020009102.tif 000016
【００５０】
本実施形態によれば、数値制御装置１は、加工プログラムの指令ブロック毎に指定された移動距離及び速度に基づいて、この指令ブロックの始点位置及び終点位置に対応した累積の移動距離及び速度の組で表される制御点を生成する。そして、数値制御装置１は、これらの制御点から、移動距離に対する指令速度を定義したパラメトリック曲線を生成し、補間単位毎の移動距離に対応する指令速度をパラメトリック曲線に沿って出力する。
【００５１】
したがって、数値制御装置１は、加工効率を図るために指令速度を指令ブロック単位で変化させた加工プログラムを用いた場合に、加減速による衝撃を低減し、かつ、指定速度の変更箇所で加工面質に連続性を持たせることができる。この結果、数値制御装置１は、加工効率を上げつつ、加工面質の低下を抑制できる。
【００５２】
数値制御装置１は、パラメトリック曲線として、Ｂ−スプライン曲線、ベジェ曲線、又はＮＵＲＢＳ曲線を用いて、適切な指令速度を算出できる。
【００５３】
［第２実施形態］
以下、本発明の第２実施形態について説明する。
第１の実施形態では、数値制御装置１は、パラメトリック曲線を用いて、速度変化を緩やかに制御した。
このとき、パラメトリック曲線の特性により、次数ｎを増加させることで、速度変化がより滑らかに、すなわち変化率が一定に近づいていく。一方、パラメトリック曲線で示される指令速度は、加工プログラムにより指定された速度からは乖離してしまう。
【００５４】
図１０は、本実施形態に係るパラメトリック曲線の次数による変化を示す図である。
２次のＢ−スプライン曲線に比べて、５次のＢ−スプライン曲線では、指定速度を大きく上回ったり、逆に下回ったりする。例えば、破線の円で示した極大部分では、５次のＢ−スプライン曲線が指定速度を下回っている。
【００５５】
そこで、本実施形態では、指令速度生成部１３は、所定の係数を乗じることにより指令速度を調整する。
具体的には、指令速度生成部１３は、加工プログラムにおいて指定された係数ａを用いて、次のように、指令速度Ｆ（ｔ）を増減させる。
【数１５】
2020009102.tif 000017
【００５６】
図１１は、本実施形態に係る加工プログラムにおける係数の指定方法を例示する図である。
パラメトリック曲線による速度制御機能をオンにする際（Ｍ４００）、例えば、パラメータＣにより次元ｎが指定され、パラメータＡにより係数ａが指定される。
この例では、「Ｃ５」により５次のパラメトリック曲線が生成され、「Ａ１１０」により指令速度は１１０％に増加する。
【００５７】
図１２は、本実施形態に係る指令速度の調整結果を例示する図である。
実線で示したグラフは、係数を用いない（Ａ０）又は等倍する（Ａ１００）指定がされた場合のパラメトリック曲線である。
破線で示したグラフは、「Ａ１１０」等により倍率が指定された場合のパラメトリック曲線であり、調整前に比べて、加工中の全域にわたって指令速度が高く調整される。
【００５８】
本実施形態によれば、数値制御装置１は、係数を用いて指令速度を調整することにより、高次のパラメトリック曲線を用いた場合に、指令速度の過度な低下又は上昇を抑制できる。この結果、数値制御装置１は、加工の効率性を高め、かつ、高品質な加工を実現できる。
【００５９】
［第３実施形態］
以下、本発明の第３実施形態について説明する。
第１実施形態及び第２実施形態では、指令ブロックそれぞれにおいて、速度が明示的に指定されていたが、加工プログラムにおける速度の指定方法はこれに限られない。複数の連続した指令ブロックで同一の速度が求められる場合、連続した最初の指令ブロックのみに速度の指定値が記述されてもよい。この場合、プログラム解析部１１により、省略した指定速度がモーダル速度情報として抽出される。
【００６０】
図１３は、本実施形態に係る加工プログラムにおけるモーダル速度情報を例示する図である。
例えば、ブロック番号２で指定された「Ｆ１０００」がブロック番号３においても、モーダル速度情報として継続して用いられる。同様に、ブロック番号４で指定された「Ｆ１００５」がブロック番号５において、ブロック番号６で指定された「Ｆ２０００」がブロック番号７において、ブロック番号８で指定された「Ｆ２５００」がブロック番号９において、ブロック番号１０で指定された「Ｆ１０００」がブロック番号１１において、それぞれモーダル速度情報として継続して用いられる。
【００６１】
図１４は、本実施形態に係る加工プログラムの指令ブロックに記述された速度及びモーダル速度情報を用いて生成した制御点と、これらの制御点に基づくパラメトリック曲線とを例示する図である。
図１３の加工プログラムに基づいて制御点Ｐ０〜Ｐ１４が生成されると、モーダル速度情報、又はブロック番号４の「Ｆ１００５」のように前ブロックからの変化が小さい速度情報があるために、略直線上に制御点が多数（３個以上）配置される。
【００６２】
このような配置の制御点に基づくパラメトリック曲線は、その特性上、局所的に横軸方向への直進性を持つ。したがって、図のように、５次のＢ−スプライン曲線であっても、急激な速度変化が認められ、さらに高次であっても同様の特徴が現れ、加工面質が低下するおそれがある。
【００６３】
そこで、本実施形態では、制御点生成部１２は、制御点の生成に際して、前後の制御点の両方と速度が等しい制御点を省略する。そして、指令速度生成部１３は、一部が省略された制御点に基づいてパラメトリック曲線を生成する。
このとき、制御点生成部１２は、前後の制御点の両方との速度の差が指定された速度範囲内の制御点を省略してもよい。
【００６４】
図１５は、本実施形態に係る加工プログラムから省略して生成された制御点と、これらの制御点に基づくパラメトリック曲線とを例示する図である。
この例では、図１４に示した制御点Ｐ０〜Ｐ１４のうち、前後の制御点と速度が等しいか又は近似している制御点が省かれている。この結果、略直線上に並んだ制御点のうち、両端の制御点のみが残っている。
省略後の制御点Ｐ０〜Ｐ８に基づくパラメトリック曲線には、図１４に見られた横軸方向への直進性がなく、速度変化が緩やかとなっている。
【００６５】
図１６は、本実施形態に係る制御点の生成方法を示すフローチャートである。
ステップＳ１〜Ｓ８は、第１実施形態のフローチャート（図７）と同様であるが、ステップＳ５ａが変更され、ステップＳ９及びＳ１０が追加されている。
【００６６】
ステップＳ５ａにおいて、制御点生成部１２は、所定範囲Ｄ以内の速度変化を、等しい場合と同様に扱う。すなわち、制御点生成部１２は、現在（ｐ番目）の指令ブロックと次（ｐ＋１番目）の指令ブロックとで指定速度の差がＤ以内か否かを判定する。
【００６７】
また、ステップＳ８においてインデックスｉ及びｐをカウントアップした後、ステップＳ９において、制御点生成部１２は、現在（ｐ番目）の指令ブロックと指定速度の差がＤ以内である次（ｐ＋１番目）の指令ブロックがあるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１０に移り、判定がＮＯの場合、処理はステップＳ３に移る。
【００６８】
ステップＳ１０において、制御点生成部１２は、現在（ｐ番目）の指令ブロックの終点に相当する制御点の生成を省略し、インデックスｐをカウントアップする。その後、処理はステップＳ９に戻る。
【００６９】
図１７は、本実施形態に係る加工プログラムから生成され得る制御点のうち、いずれも省略しない場合の制御点の生成例を示す図である。
この場合、図１３の加工プログラムからは、指定速度が等しい又は近似した制御点が連続して生成されている。具体的には、制御点Ｐ１〜Ｐ５、制御点Ｐ６〜Ｐ８、制御点Ｐ９〜Ｐ１１、制御点Ｐ１２〜Ｐ１４は、それぞれ横軸方向の略直線上に生成されている。
【００７０】
図１８は、本実施形態に係る加工プログラムから生成され得る制御点のうち、一部を省略した場合の制御点の生成例を示す図である。
この場合、図１７で生成された制御点Ｐ０〜Ｐ１４のうち、Ｐ２〜Ｐ４、Ｐ７、Ｐ１０、Ｐ１３が省略され、新たな制御点Ｐ０〜Ｐ８が生成されている。
【００７１】
図１９は、本実施形態に係る加工プログラムにおける、制御点の省略機能の指定方法を例示する図である。
パラメトリック曲線による速度制御機能をオンにする際（Ｍ４００）、例えば、パラメータＢにより制御点の省略機能のオン（Ｂ１）又はオフ（Ｂ０）が指定され、パラメータＤにより省略する速度範囲が指定される。
この例では、「Ｄ１０」により、±１０ｍｍ／ｍｉｎの速度変化が無視される。
【００７２】
本実施形態によれば、数値制御装置１は、速度が等しい連続した制御点の一部を省略することにより、これらの制御点から生成されるパラメトリック曲線の横軸（移動距離）方向への直進性を低減し、速度変化が緩やかにできる。
したがって、数値制御装置１は、連続する複数の指令ブロックから同一の速度（記述された速度又はモーダル速度情報）が抽出され場合であっても、適切なパラメトリック曲線を生成できるため、加工効率を上げつつ、加工面質の低下を抑制できる。
【００７３】
また、数値制御装置１は、前後の制御点と速度が同一の制御点に加えて、速度の差が指定された範囲内の制御点を省略することにより、パラメトリック曲線の横軸方向への直進性をさらに低減し、速度変化を緩やかにできる。
【００７４】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００７５】
数値制御装置１による数値制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータにインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００７６】
１  数値制御装置
１０  制御部
１１  プログラム解析部
１２  制御点生成部
１３  指令速度生成部
１４  指令速度出力部
２０  記憶部
【図１】
2020009102.tif 000018
【図２】
2020009102.tif 000019
【図３】
2020009102.tif 000020
【図４】
2020009102.tif 000021
【図５】
2020009102.tif 000022
【図６】
2020009102.tif 000023
【図７】
2020009102.tif 000024
【図８】
2020009102.tif 000025
【図９】
2020009102.tif 000026
【図１０】
2020009102.tif 000027
【図１１】
2020009102.tif 000028
【図１２】
2020009102.tif 000029
【図１３】
2020009102.tif 000030
【図１４】
2020009102.tif 000031
【図１５】
2020009102.tif 000032
【図１６】
2020009102.tif 000033
【図１７】
2020009102.tif 000034
【図１８】
2020009102.tif 000035
【図１９】
2020009102.tif 000036