(57)【特許請求の範囲】
【請求項１】
加工プログラムに基づいて加工を制御する数値制御装置であって、
切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、
前記プログラム指令解析部は、前記早送りブロックの直前の前記切削送りブロックの減速に要する時間、及び前記早送りブロックの実行に要する時間に基づき、前記加工プログラムによる指令の実行に要する実行時間を計算する
数値制御装置。
【請求項２】
加工プログラムに基づいて加工を制御する数値制御装置であって、
切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、
前記プログラム指令解析部は、加工領域に基づく所定の条件判定の結果に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換える、
数値制御装置。
【請求項３】
加工プログラムに基づいて加工を制御する数値制御装置であって、
切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、
前記プログラム指令解析部は、前記数値制御装置の外部からの信号に基づく所定の条件判定の結果に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換える、
数値制御装置。
【請求項４】
加工プログラムに基づいて加工を制御する数値制御装置であって、
切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、
前記プログラム指令解析部は、工具の種類に基づく所定の条件判定の結果に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換える、
数値制御装置。
【請求項５】
加工プログラムに基づいて加工を制御する数値制御装置であって、
切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、
前記プログラム指令解析部は、軸ごとに行う所定の条件判定に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換える、
数値制御装置。
【請求項６】
加工プログラムに基づいて加工を制御する数値制御装置であって、
切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部と、
前記早送りブロックが切削送りブロックに置換えられた場合、置換えられた前記切削送りブロックの前後でインポジションチェックを行うインポジションチェック処理部と、
を備えた数値制御装置。
【請求項７】
前記インポジションチェック処理部は、置換えられた前記切削送りブロックのためにあらかじめ設定されたインポジション幅で前記インポジションチェックを行う
請求項６記載の数値制御装置。
【請求項８】
前記インポジションチェック処理部は、軸ごとに設定された前記インポジション幅で前記インポジションチェックを行う
請求項６記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に切削送りと早送りとの切換えにより生じる時間を短縮し、サイクルタイムを短縮する技術に関する。
【背景技術】
【０００２】
従来、加工プログラムにおいて切削送りブロックの間に早送りブロックが存在する場合、数値制御装置は、切削送り、早送り、切削送りの順に送り動作の種類を切換えていた。数値制御装置は、送りの種類が切換わる際に、指令速度を一旦ゼロまで減速させた後、実際に工具があらかじめ決められた範囲内に到達したことを確認する（インポジションチェック）。このため、送りの種類の切換えには時間がかかっていた。一方、切削送りが連続する場合には、数値制御装置は、速度変化を伴わず連続的に送りを実行する。この際、減速やインポジションチェックは実施しない。
【０００３】
特許文献１には、早送りブロックの動作が完了する前に次の切削送りブロックの動作を開始することで加工時間を短縮する技術が公開されている。図９に示すように、この技術は、通常、指令速度がゼロになる位置（５）に工具が達した後に行われるインポジションチェックを、所定のインポジション幅だけ手前の位置（７）で行うことで、インポジションチェックに要する時間を短縮するものである。
【０００４】
例えば、数値制御装置が以下のような加工プログラムを実行する場合、特許文献１記載の技術の適用前後における時間と工具の速度（ＸＺ軸の合成速度）との関係は、図１０のようになる。
【０００５】
加工プログラム
Ｎ２  Ｇ９１  Ｇ００  Ｘ１５０．０；
Ｎ３  Ｇ０１  Ｚ−５０．０；
【０００６】
また、特許文献２には、切削送りと早送りとを切換える場合に、送り速度を連続的に接続する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−２６２７４２号公報
【特許文献２】特許第２９２５４１４号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１記載の技術は、インポジションチェックを前倒しするものにすぎないため、短縮できる加工時間は限定される。また、特許文献２記載の技術は、加工形状に影響のない同一方向の送りにしか適用できないため、複数の軸を切換えながら加工を実行する際には適用できない。
【０００９】
一般に、早送り速度は、切削送り速度よりも十分に速い。そのため、早送りブロックの移動距離が十分に長ければ、送りの種類の切換わりに時間を要したとしても、全体としては短時間で移動できる。しかし、早送りブロックの移動距離が短い場合、例えば指定された早送り速度まで加速する前にブロック終点に到達するなどの場合には、早送りブロックを利用することの速度的な優位性が失われることがあった。
【００１０】
本発明は、このような問題点を解決するためになされたものであり、切削送りと早送りとの切換えにより生じる時間を短縮し、サイクルタイムを短縮できる数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施の形態にかかる数値制御装置は、加工プログラムに基づいて加工を制御する数値制御装置であって、切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、前記プログラム指令解析部は、前記早送りブロックの直前の前記切削送りブロックの減速に要する時間、及び前記早送りブロックの実行に要する時間に基づき、前記加工プログラムによる指令の実行に要する実行時間を計算することを特徴とする。
【００１６】
他の実施の形態にかかる数値制御装置は、加工プログラムに基づいて加工を制御する数値制御装置であって、切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、前記プログラム指令解析部は、加工領域に基づく所定の条件判定の結果に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換えることを特徴とする。
【００１７】
他の実施の形態にかかる数値制御装置は、加工プログラムに基づいて加工を制御する数値制御装置であって、切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、前記プログラム指令解析部は、前記数値制御装置の外部からの信号に基づく所定の条件判定の結果に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換えることを特徴とする。
【００１８】
他の実施の形態にかかる数値制御装置は、加工プログラムに基づいて加工を制御する数値制御装置であって、切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、前記プログラム指令解析部は、工具の種類に基づく所定の条件判定の結果に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換えることを特徴とする。
【００１９】
他の実施の形態にかかる数値制御装置は、加工プログラムに基づいて加工を制御する数値制御装置であって、切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部を備え、前記プログラム指令解析部は、軸ごとに行う所定の条件判定に応じ、前記早送りブロックを切削送りブロックに置換えるか否かを切換えることを特徴とする。
【００２０】
他の実施の形態にかかる数値制御装置は、加工プログラムに基づいて加工を制御する数値制御装置であって、切削送りブロックの間に存在する早送りブロックを検出し、前記加工プログラムによる指令どおりに前記早送りブロックを実行する場合の前記加工プログラムによる指令の実行に要する実行時間よりも、前記早送りブロックを切削送りブロックに置換えた場合の前記加工プログラムによる指令の実行に要する実行時間の方が短い場合に、前記早送りブロックを切削送りブロックに置換えるプログラム指令解析部と、前記早送りブロックが切削送りブロックに置換えられた場合、置換えられた前記切削送りブロックの前後でインポジションチェックを行うインポジションチェック処理部と、を備えたことを特徴とする。
【００２１】
他の実施の形態にかかる数値制御装置は、前記インポジションチェック処理部は、置換えられた前記切削ブロックのためにあらかじめ設定されたインポジション幅で前記インポジションチェックを行うことを特徴とする。
【００２２】
他の実施の形態にかかる数値制御装置は、前記インポジションチェック処理部は、軸ごとに設定された前記インポジション幅で前記インポジションチェックを行うことを特徴とする。
【発明の効果】
【００２４】
本発明により、切削送りと早送りとの切換えにより生じる時間を短縮し、サイクルタイムを短縮できる数値制御装置を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の適用前後における、速度と時間との関係を示す図である。
【図２】短縮時間を計算する際に用いられる変数を示す図である。
【図３】早送りブロックの実行に要する時間Ｔｒｐｄの計算方法を示す図である。
【図４】実施例における工具の動きを示す図である。
【図５】実施の形態１における数値制御装置１００の動作を示すフローチャートである。
【図６】実施の形態１における数値制御装置１００の構成を示すブロック図である。
【図７】実施の形態２における数値制御装置１００の動作を示すフローチャートである。
【図８】実施の形態２における数値制御装置１００の構成を示すブロック図である。
【図９】従来技術を説明する図である。
【図１０】従来技術を説明する図である。
【発明を実施するための形態】
【００２６】
本発明は、早送りブロックを利用することの速度的な優位性が失われる場合には、送りの種類を切換えずに切削送りを連続的に実行する方が、より短時間で工具を移動できることに着目したものである。
【００２７】
本発明にかかる数値制御装置は、切削送りブロック間に早送りブロックが存在する場合、プログラム指令どおりに早送りブロックを実行する場合の実行時間と、早送りブロックを切削送りブロックに置換えて実行する場合の実行時間とを計算する。早送りブロックを切削送りブロックに置換えて実行する場合の方が実行時間が短いならば、早送りブロックを切削送りブロックに置換えることでサイクルタイムの短縮を行う。切削送りが連続する場合には、加減速時にオーバラップが行われるので、ブロックの切換え時間を短縮することができる。
【００２８】
以下、本発明の実施の形態を図面と共に説明する。
＜実施の形態１＞
図６は、本発明の実施の形態１にかかる数値制御装置１００の構成を示すブロック図である。数値制御装置１００は、プログラム指令解析部１０１を有する。
【００２９】
なお、数値制御装置１００は、図示しない工作機械に接続され、工作機械が備える工具の動作を加工プログラムに従って制御する。数値制御装置１００は、プロセッサが、記憶装置に格納された処理プログラムを実行することにより、種々の処理部を論理的に実現する。
【００３０】
プログラム解析指令部１０１は、加工プログラムを解析して、ブロックパターンの検出、実行時間の計算及び比較、早送りブロックの切削ブロックへの置換、送り速度の決定等の処理を行う。
【００３１】
次に、図５に示すフローチャートを用いて、数値制御装置１００の動作について説明する。
【００３２】
Ｓ１：
まず、プログラム解析指令部１０１が、ブロック実行中に、次ブロック以降の先読みを行う。ここで、切削送り、早送り、切削送り、と変化するブロックを検出した場合、以下の処理を実行する。
【００３３】
Ｓ３：
プログラム解析指令部１０１は、切削送りの減速に要する時間Ｔｃｕｔ［ｍｓ］、及び早送りブロックの実行に要する時間Ｔｒｐｄ［ｍｓ］をそれぞれ計算する。インポジションチェックに要する時間を無視すれば、Ｔｃｕｔ＋Ｔｒｐｄが、１つ目の切削ブロックの減速開始から２つ目の切削ブロック開始までの時間となる。
【００３４】
機械制御では、機械にショックを与えずスムーズな動作を実現するため、加減速制御が必須である。そのため、本実施形態でも、上述のように加減速にかかる時間を考慮するものとする。なお、送りの種類が切換わる場合、実際にはＴｃｕｔ＋Ｔｒｐｄに加えてインポジションチェックの時間が必要となる。しかしながら、インポジションチェックの時間は、機械のイナーシャや摩擦、制御モータの影響等を受けるため定量的に算出することは困難である。よって、本実施形態ではインポジションチェックの時間をゼロと考えて計算を行うものとする。
【００３５】
次に、プログラム解析指令部１０１が、早送りブロックを切削送りに置換した場合の分配時間Ｔｉｐｌ［ｍｓ］を計算する。切削送りが連続して実行される場合、先のブロックの分配が終わると直ちに次のブロックの実行が開始される。よって、Ｔｉｐｌが、１つ目の切削ブロックの減速開始から、置換える前の２つ目の切削ブロック開始までの時間となる。
【００３６】
Ｓ４：
プログラム解析指令部１０１は、Ｔｉｐｌ  ＜  Ｔｃｕｔ＋Ｔｒｐｄであるか否かを判定する。
Ｔｉｐｌ  ＜  Ｔｃｕｔ＋Ｔｒｐｄであれば、早送りブロックを切削送りに置換えたほうが、実行時間を短縮できることになる。よって、プログラム解析指令部１０１は、早送りブロックを切削送りに置換える。一方、Ｔｉｐｌ  ≧  Ｔｃｕｔ＋Ｔｒｐｄであれば、置換処理を行わず、Ｓ７に遷移する。
【００３７】
Ｓ７：
プログラム解析指令部１０１は、プログラムに従って加工を制御する。もしＳ４で早送りブロックが切削送りブロックに置換されていれば、その置換された解析情報によって加工が実施される。
【００３８】
この置換処理による計算上の短縮時間は、Ｔｃｕｔ＋Ｔｒｐｄ  −  Ｔｉｐｌであるが、実際には、計算上無視していたインポジションチェックに要する時間も含めて短縮される。したがって、時間短縮効果はより大きくなる。
【００３９】
図１に、所定の指令経路と送り種類とで加工を行った場合の、ＸＺ軸の合成速度と時間との関係を示す。上図は、早送りブロックをそのまま実行した場合を示す。下図は、早送りブロックを切削送りに置換えて実行した場合を示す。本図からも、早送りブロックを切削送りに置換えて実行した場合の方が、実行時間を短縮できることが分かる。
【００４０】
ここで、Ｔｃｕｔ、Ｔｒｐｄ、Ｔｉｐｌの具体的な計算方法を説明する。
切削送りの減速に要する時間Ｔｃｕｔ［ｍｓ］は、送り速度やブロック長によらず、あらかじめ設定されている切削送りの時定数Ｔｃ［ｍｓ］である。
【００４１】
早送りブロックの実行に要する時間Ｔｒｐｄ［ｍｓ］は、早送りブロックが、早送り速度に達するブロック長よりも長いか否かに依存する。早送りでは、早送り速度Ｆｒと加減速時間（時定数Ｔｒ１）があらかじめ設定されており、加速度が変化しないように加減速が制御される。つまり、時定数に設定された時間だけ経過して初めて、工具は早送り速度に達することになる。このときの移動距離Ｌ［ｍｍ］は、早送り速度と加減速時間との積であり、（Ｆｒ／６０，０００）×Ｔｒ１である。
【００４２】
Ｌ  ≧  （Ｆｒ／６０，０００）×Ｔｒ１である場合、すなわち工具が早送り速度に到達する場合は、Ｔｒｐｄは式（１）で計算できる。
Ｔｒｐｄ  ＝  （６０，０００×Ｌ）／Ｆｒ  ＋  Ｔｒ１  ＋  Ｔｒ２  ・・（１）
【００４３】
ただし、変数の意味は以下のとおりである（図２参照）。
Ｌ：早送りブロックのブロック長［ｍｍ］
Ｔｒ１：早送りの時定数１［ｍｓ］
Ｔｒ２：早送りの時定数２［ｍｓ］
Ｆｒ：早送り速度［ｍｍ／ｍｉｎ］
【００４４】
Ｌ  ＜  （Ｆｒ／６０，０００）×Ｔｒ１である場合、すなわち工具が早送り速度に到達しない場合は、Ｔｒｐｄは式（２）で計算できる。
Ｔｒｐｄ  ＝  ２×√（（６０，０００×Ｌ×Ｔｒ１）／Ｆｒ）  ＋  Ｔｒ２  
・・（２）
【００４５】
式（２）は、直線形加減速における時刻ｔまでの移動距離、すなわち図３に示す時間と速度の関係の図の面積から求められる。まず、直線形加減速における時刻ｔ／２における速度は、早送りでは加速度が一定となる制御が行われることから（Ｆｒ／Ｔｒ１）＊（ｔ／２）である。時刻ｔまでの移動距離Ｌは、図３の三角形の面積であるから（Ｆｒ／Ｔｒ１）＊（ｔ／２）＊（ｔ／２）となる。ｔについて解いて、ベル部の時定数Ｔｒ２を考慮すると式（２）となる。
【００４６】
次に、早送りブロックを切削送りブロックに置換えて実行した場合の分配時間Ｔｉｐｌは、以下の式（３）で計算できる。
Ｔｉｐｌ  ＝  （６０，０００×Ｌ）／Ｆｃｕｔ  ・・（３）
【００４７】
ただし、変数の意味は以下のとおりである。
Ｆｃｕｔ：切削送り速度（Ｆ）、又はあらかじめ設定された値［ｍｍ／ｍｉｎ］
Ｌ：早送りブロックのブロック長［ｍｍ］
【００４８】
本実施の形態によれば、数値制御装置１００は、切削送り間に早送りブロックが含まれるプログラムの実行時間を、加工プログラムを変更せずに短縮することが可能となる。なお、上述のとおり、本実施の形態では短縮時間として加減速部分のみを考慮しているが、実際にはインポジションチェックに要する時間も短縮される。通常、送りの種類が切換わる際には、インポジションチェックのために数十ｍｓの時間を要するから、本実施の形態による時間短縮効果は、より大きくなる。
【００４９】
また、本実施の形態では、工具の移動方向は同一方向に制限されない。そのため、ブロック間で複数の軸にまたがる移動指令がある場合にも適用が可能である。
【００５０】
＜実施例＞
実施の形態１にかかる数値制御装置１００が、以下の加工プログラムＯ０００１を実行した場合の動作について説明する。なお、この加工プログラムを実行した場合の工具の動きを、図４に示す。
【００５１】
加工プログラム
Ｏ０００１  （ＳＡＭＰＬＥ）  ；
Ｎ１０  Ｇ９０  Ｘ１００．０  Ｙ１００．０  Ｚ１００．０  ；
Ｎ２０  Ｓ５０００  ；
Ｎ３０  Ｇ０１  Ｇ９１  Ｘ２０．０  Ｆ２０００．０  ；
Ｎ４０  Ｇ００  Ｚ-１．０  ；  
Ｎ５０  Ｇ０１  Ｘ-２０．０  ；
Ｎ６０  Ｇ００  Ｚ-５．０  ；  
Ｎ７０  Ｇ０１  Ｘ２０．０  ；
Ｎ８０  Ｇ００  Ｚ-２．０  ；  
Ｎ９０  Ｇ０１  Ｘ-２０．０  ；
：
：
【００５２】
また、本実施例に関連する設定値は以下のとおりである。
切削送りの時定数Ｔｃ：２４［ｍｓ］
早送りの時定数Ｔｒ１：８０［ｍｓ］
早送りの時定数Ｔｒ２：１６［ｍｓ］
早送り速度Ｆｒ：１５，０００［ｍｍ／ｍｉｎ］
【００５３】
プログラム解析指令部１０１は、プログラム実行中に、随時次ブロック以降の解析を行い、送りの種類を判定する。ここで、Ｎ３０、Ｎ４０、Ｎ５０を解析すると、送りの種類が切削送り、早送り、切削送りと変化することが分かる。
【００５４】
ここで、プログラム解析指令部１０１は、Ｎ４０ブロックを早送りのまま実行した場合に、Ｎ３０の減速開始からＮ５０が開始されるまでの時間を計算する。まず、プログラム解析指令部１０１は、切削送りの減速に要する時間Ｔｃｕｔと早送りブロックの実行に要する時間Ｔｒｐｄをそれぞれ計算する。
【００５５】
切削送りの減速に要する時間Ｔｃｕｔは、あらかじめ設定されている時定数Ｔｃであるから、２４［ｍｓ］である。
【００５６】
早送りブロックの実行に要する時間Ｔｒｐｄは、そのブロック長により計算式が異なる。早送りブロックＮ４０は、ブロック長が上述の式で求められる移動距離Ｌ（１５，０００／６０，０００＊８０＝２０［ｍｍ］）未満である。よって、式（２）によりＴｒｐｄを計算する。
Ｔｒｐｄ＝２＊√（６０，０００＊１＊８０／１５，０００）＋１６≒５２［ｍｓ］
【００５７】
したがって、Ｎ４０ブロックを早送りのまま実行すると、Ｎ３０の減速開始からＮ５０が開始されるまでの時間は、約７６［ｍｓ］（＝２４＋５２）である。
【００５８】
次に、プログラム解析指令部１０１は、Ｎ４０ブロックを切削送りに置換えた場合に、Ｎ３０の減速開始からＮ５０が開始されるまでの時間を計算する。早送りブロックを切削送りに置換えて実行した場合の分配時間Ｔｉｐｌは、式（３）で計算できる。
Ｔｉｐｌ＝（６０，０００＊１／２，０００）＝３０［ｍｓ］
【００５９】
よって、切削送りに置換えて実行することで約４６［ｍｓ］（＝７６−３０）の短縮となる。
【００６０】
同様に、Ｎ５０、Ｎ６０、Ｎ７０についても、送りの種類が切削送り、早送り、切削送りと変化することが分かる。先の場合との違いは、早送りブロックのブロック長のみである。
【００６１】
切削送りの減速に要する時間Ｔｃｕｔは、あらかじめ設定されている時定数Ｔｃであるから、２４［ｍｓ］である。
【００６２】
早送りブロックの実行に要する時間Ｔｒｐｄは、そのブロック長により計算式が異なる。早送りブロックＮ６０についても、ブロック長が上述の式で求められる移動距離Ｌ（１５，０００／６０，０００＊８０＝２０［ｍｍ］）未満である。よって、式（２）によりＴｒｐｄを計算する。
Ｔｒｐｄ＝２＊√（６０，０００＊５＊８０／１５，０００）＋１６＝９６［ｍｓ］
【００６３】
したがって、Ｎ６０ブロックを早送りのまま実行すると、Ｎ５０の減速開始からＮ７０が開始されるまでの時間は、１２０［ｍｓ］（＝２４＋９６）である。
【００６４】
一方、Ｎ６０ブロックを切削送りに置換えた場合の分配時間Ｔｉｐｌは式（３）で計算できる。
Ｔｉｐｌ＝（６０，０００＊５／２，０００）＝１５０［ｍｓ］
【００６５】
そうすると、Ｎ６０ブロックは早送りのまま実行した方が短時間である。したがって、プログラム解析指令部１０１は、Ｎ６０ブロックを置換えずにそのまま実行する。
【００６６】
＜実施の形態２＞
実施の形態１に加え、数値制御装置１００は、次のような制御を行うこととしてもよい。
プログラム解析指令部１０１は、任意の条件判定を行い、その判定結果に応じ、早送りブロックを切削ブロックに置換える処理を実行するか否かを切換える。すなわち、所定の条件をみたす場合のみ、Ｓ３以降の、早送りブロックを切削ブロックに置換する処理を実施することとしてもよい。これにより、置換え処理が実行される条件を任意に設定することができるので、早送りブロックが不用意に切削送りに置換えられないよう制御することができる。
【００６７】
また、早送りブロックを切削ブロックに置換えた場合、実行時間は短縮されるが、加工精度の低下が懸念される。このような場合において、加工精度が維持できるよう、置換えたブロックの前後では、必要に応じて任意のインポジション幅でのインポジションチェックを行うこととしてもよい。ここでのインポジション幅は、置換えを行った場合専用の値とすることが、時間短縮の観点から好ましい。
【００６８】
また、早送りブロックを切削送りブロックに置換えた場合の移動速度に関しては、直前の切削ブロックの速度を継続することとしても良く、あらかじめ指定された速度としても良い。又は、いずれか一方の速度を選択可能としても良い。
【００６９】
図８に、実施の形態２にかかる数値制御装置１００の構成を示す。数値制御装置１００は、実施の形態１で説明したプログラム指令解析部１０１に加え、インポジションチェック処理部１０２を有する。なお、後述のステップＳ６を実行しない場合には、数値制御装置１００はインポジションチェック処理部１０２を備えなくても良い。
【００７０】
インポジションチェック処理部１０２は、早送りブロックが切削ブロックに置換えられた場合に、置換えられた切削送りブロックの前後でインポジションチェックを実行する。
【００７１】
図７のフローチャートを用いて、実施の形態２にかかる数値制御装置１００の動作について説明する。なお、ステップＳ１、Ｓ３、Ｓ４及びＳ７については、実施の形態１と同じ動作を行うため、詳細な説明を省略する。
【００７２】
Ｓ１：
プログラム解析指令部１０１は、プログラム実行中にブロックを先読みし、切削送り、早送り、切削送りのパターンを検出する。
【００７３】
Ｓ２：
プログラム解析指令部１０１は、所定の条件判定の結果に応じ、早送りブロックを切削ブロックに置換える処理を実行するか否かを切換える。例えば、プログラム指令解析部１０１は、Ｓ１で検出されたパターンに含まれる早送りブロックの長さが、あらかじめ設定された距離未満であるか否かを判定する。ここで、早送りブロックの長さがあらかじめ設定された距離未満であれば、プログラム解析指令部１０１は、Ｓ３以降の処理を実行する。
【００７４】
あるいは、プログラム解析指令部１０１は、早送りブロックの実行時間があらかじめ設定された時間未満である場合に、置換え処理を実行しても良い。あるいは、プログラム解析指令部１０１は、所定の加工領域の範囲内においてのみ、置換え処理を実行しても良い。あるいは、プログラム解析指令部１０１は、加工の際に使用する工具の種類（Ｔコード）に応じて、置換え処理を実行の有無を決定しても良い。あるいは、プログラム解析指令部１０１は、数値制御装置１００の外部からの信号、加工プログラム内の指令など、任意のトリガやパラメータに基づいて置換え処理を実行の有無を決定しても良い。
【００７５】
Ｓ３：
プログラム解析指令部１０１は、早送りブロックをそのまま実行した場合の実行時間と、切削送りに置換えた場合の実行時間とを計算する。
【００７６】
Ｓ４：
プログラム解析指令部１０１は、早送りブロックを切削送りに置換えた方が実行時間が短くなる場合は、早送りブロックを切削送りブロックに置換し、Ｓ５以降の処理を実行する。その他の場合は、Ｓ７に遷移する。
【００７７】
Ｓ５：
プログラム解析指令部１０１は、Ｓ４で置換えられた切削送りブロックにおける移動速度を決定する。例えば、直前の切削ブロックの速度を引継ぐか、あらかじめ定められた専用の速度を使用するか、何らかの手段で与えられる速度を使用するかを、あらかじめ設定されたパラメータ等に基づいて決定する。
【００７８】
ここで、プログラム解析指令部１０１は、数値制御装置１００の外部からの信号、加工プログラム内の指令など、任意のパラメータに基づいて、使用すべき移動速度の種類や、移動速度の値を決定してもよい。
【００７９】
Ｓ６：
インポジションチェック処理部１０２は、Ｓ４で置換えられた切削送りブロックの前後で、所定のインポジション幅でインポジションチェックを行う。
【００８０】
ここで、インポジションチェック処理部１０２は、数値制御装置１００の外部からの信号、加工プログラム内の指令など、任意のパラメータに基づいて、インポジション幅を決定してもよい。
【００８１】
また、インポジションチェック処理部１０２は、インポジション幅を軸ごとに独立に決定することとしてもよい。
【００８２】
Ｓ７：
プログラム解析指令部１０１はブロックの実行を開始する。
【００８３】
本実施の形態によれば、数値制御装置１００は、切削送り間に早送りブロックが含まれるプログラムの実行時間を、加工プログラムを変更せずに、必要な加工精度を維持しつつ短縮することが可能となる。
【００８４】
なお、本発明は上述の種々の実施の形態に限られたものではなく、趣旨を逸脱しない範囲で、構成要素の置換、省略、付加、順序の入れ替え等の変更を施すことが可能である。例えば、実施の形態２で説明したＳ２、Ｓ５、Ｓ６の各処理については、いずれかを省略しても構わない。
【００８５】
また、上述の実施の形態では、ベル形加減速を考慮して説明を行ったが、Ｔｒ２＝０とすれば直線形加減速となるため、本発明は、加減速タイプによらず有効である。
【符号の説明】
【００８６】
１００  数値制御装置
１０１  プログラム指令解析部
１０２  インポジションチェック処理部
【図１】
0006603140.tif 000002
【図２】
0006603140.tif 000003
【図３】
0006603140.tif 000004
【図４】
0006603140.tif 000005
【図５】
0006603140.tif 000006
【図６】
0006603140.tif 000007
【図７】
0006603140.tif 000008
【図８】
0006603140.tif 000009
【図９】
0006603140.tif 000010
【図１０】
0006603140.tif 000011