(57)【要約】【課題】移動方向が反転する動作において、インポジション幅内で反転動作の反転開始タイミングを最大限早めることによりサイクルタイムを短縮することが可能な工作機械を制御する数値制御装置を提供する。【解決手段】数値制御装置は、プログラム解析部２で加工プログラム１を読込み解析して解析データを作成する。移動指令開始部４で解析データによる移動（補間）を開始し、補間処理部５で解析データによる補間を行い補間データを作成し、加減速処理部６で補間データに対して加減速を行い、各軸サーボモータ（Ｘ軸サーボモータ７Ｘ，Ｙ軸サーボモータ７Ｙ，Ｚ軸サーボモータ７Ｚ）を駆動する。本発明では、プログラム解析部２と移動指令開始部４の間にタイミング算出部３を有し、移動指令開始部４はタイミング算出部３で算出された開始タイミングに従い反転後移動指令を開始する。【選択図】図８
2015210563.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の軸の移動方向が反転する指令を含む加工プログラムに従って工作機械の各軸を制御し対象物の加工を行う場合、前記１つ以上の軸の反転位置が反転前移動指令の終点位置のインポジション幅内に入るように反転後移動指令を開始する工作機械の数値制御装置において、
前記反転前移動指令と前記反転後移動指令の速度の和が０となる時の位置が前記反転前移動指令の終点位置からインポジション幅離れた位置と等しくなる前記反転後移動指令の開始タイミングを算出するタイミング算出部と、
前記タイミング算出部で算出された前記開始タイミングに従い前記反転後移動指令を開始する移動指令開始部と、
を備えることを特徴とする工作機械の数値制御装置。
【請求項２】
前記タイミング算出部は、２つ以上の軸の移動方向が反転する場合には、前記反転前移動指令と前記反転後移動指令の速度の和が０となる時の位置が前記反転前移動指令の終点位置からインポジション幅離れた位置と等しくなる前記反転後移動指令の前記開始タイミングを軸ごとに算出し、前記軸ごとに算出した開始タイミングのうち一番遅い開始タイミングに従い、前記反転後移動指令を開始する前記タイミング算出部であることを特徴とする請求項１に記載の工作機械の数値制御装置。
【請求項３】
前記タイミング算出部において複数のインポジション幅を有し、前記複数のインポジション幅は加工モードまたは送り速度に応じて切換えられることを特徴とする請求項１または請求項２に記載の工作機械の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は工作機械を制御する数値制御装置に関し、特に、工作機械の反転動作を高速化する数値制御装置に関する。
【背景技術】
【０００２】
工作機械を用いた従来の移動方向が反転する動作の加工では、反転前移動指令のサーボ遅れ量が反転時のインポジション幅（要求精度）以下になった時に、反転後移動指令（反転前移動指令の次の移動指令）を開始することで、反転時の位置決め精度を確保している（特許文献１参照）。
また、反転動作を高速化するため、フィードフォワード制御を使用してサーボ遅れ量をほぼ０とし、反転前移動指令の残り移動量が反転時のインポジション幅（要求精度）以下になった時に、反転後移動指令を開始（オーバラップ）することで、反転動作を高速化している（特許文献２，３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特公平７−１６８４９号公報
【特許文献２】特開平１１−３９０１７号公報
【特許文献３】特許第５３１７５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、一般的に移動指令には加減速がかかっており、反転時は、反転前移動指令の加減速と反転後移動指令の加減速が合成されることにより、合成された最終的な移動指令が反転するタイミングは、反転後移動指令の開始よりも遅れることになる。このため、従来技術では、実際の反転時の精度はインポジション幅（要求精度）よりも更に良くなるが、サイクルタイムはその分遅くなる。  
そこで本発明の目的は、移動方向が反転する動作において、インポジション幅内で反転動作の反転開始タイミングを最大限早めることによりサイクルタイムを短縮することが可能な工作機械を制御する数値制御装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明に係る工作機械を制御する数値制御装置は、反転前移動指令と反転後移動指令の速度の和が０となる時の位置が反転前移動指令の終点位置からインポジション幅離れた位置と等しくなるような反転後移動指令の開始（オーバラップ）タイミングを求め、そのタイミングで反転後移動指令を開始する特徴を有する。なお、反転動作は、加工する対象物が工具に対して反転動作する場合、または、工具が加工する対象物に対して反転動作する場合を意味する。
【０００６】
本願の請求項１に係る発明は、１つ以上の軸の移動方向が反転する指令を含む加工プログラムに従って工作機械の各軸を制御し対象物の加工を行う場合、前記１つ以上の軸の反転位置が反転前移動指令の終点位置のインポジション幅内に入るように反転後移動指令を開始する工作機械の数値制御装置において、前記反転前移動指令と前記反転後移動指令の速度の和が０となる時の位置が前記反転前移動指令の終点位置からインポジション幅離れた位置と等しくなる前記反転後移動指令の開始タイミングを算出するタイミング算出部と、前記タイミング算出部で算出された前記開始タイミングに従い前記反転後移動指令を開始する移動指令開始部と、を備えることを特徴とする工作機械の数値制御装置である。
【０００７】
請求項２に係る発明は、前記タイミング算出部は、２つ以上の軸の移動方向が反転する場合には、前記反転前移動指令と前記反転後移動指令の速度の和が０となる時の位置が反転前移動指令の終点位置からインポジション幅離れた位置と等しくなる前記反転後移動指令の前記開始タイミングを軸ごとに算出し、前記軸ごとに算出した開始タイミングのうち一番遅い開始タイミングに従い、前記反転後移動指令を開始する前記タイミング算出部であることを特徴とする請求項１に記載の工作機械の数値制御装置である。  
請求項３に係る発明は、前記タイミング算出部において複数のインポジション幅を有し、前記複数のインポジション幅は加工モードまたは送り速度に応じて切換えられることを特徴とする請求項１または請求項２に記載の工作機械の数値制御装置である。
【発明の効果】
【０００８】
本発明により、移動方向が反転する動作において、インポジション幅内で反転動作の反転開始タイミングを最大限早めることによりサイクルタイムを短縮することが可能な工作機械を制御する数値制御装置を提供できる。
【図面の簡単な説明】
【０００９】
【図１】タイミング算出部による反転後移動指令の開始時刻（タイミング）を説明する図である。
【図２】タイミング算出部による具体的な算出例を説明する図である。
【図３】１軸のみの移動指令で移動方向が反転する（反転前後の経路が同じ）場合の経路を説明する図である。
【図４】切削送り時と早送り時の加工モードでインポジション幅を使い分け、１軸のみの移動指令で移動方向が反転する（反転前後の経路が同じ）場合の経路を説明する図である。
【図５】２軸の移動指令で移動方向が反転する（反転前後の経路が同じ）場合の経路を説明する図である。
【図６】２軸の移動指令で移動方向が反転する（反転前後の経路が異なる）場合であって、各軸の反転後移動指令の開始時刻（タイミング）を説明する図である。
【図７】２軸の移動指令で移動方向が反転する（反転前後の経路が異なる）場合の経路を説明する図である。
【図８】本発明に係る数値制御装置の機能ブロック図である。
【図９】本発明に係る処理のフローを示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面と共に説明する。  
（タイミング算出部について）  
本発明において、反転動作の開始時刻を算出するタイミング算出部を説明する。図１はタイミング算出部による反転後移動指令の開始タイミングを説明する図である。まず、記号を説明する。
【００１１】
ｖ１（ｔ）：反転前移動指令の速度  
ｖ２（ｔ）：反転後移動指令の速度  
ｖ（ｔ）  ：ｖ１とｖ２の和  
Ｔａ      ：反転後移動指令の開始時刻  
Ｔｂ      ：移動指令が反転する時刻  
Ｔｃ      ：反転前移動指令の完了時刻  
Ｓ１      ：ＴａからＴｂまでの移動量  
Ｓ２      ：反転時の行き足りない量
【００１２】
次に、反転後移動指令の開始時刻（タイミング）Ｔａの求め方を説明する。図１の速度指令ｖ２（ｔ）について反転後移動指令の開始時刻（タイミング）Ｔａを求める。  
＜１＞
反転前移動指令の移動量と反転前移動指令の速度ｖ１（ｔ）から反転前移動指令の完了時刻Ｔｃを求める。
＜２＞
反転前移動指令の速度ｖ１（ｔ）と反転後移動指令の速度ｖ２（ｔ）の合成（和）の速度ｖ（ｔ）を表す数１式において、ｖ（ｔ）＝０として、移動指令が反転する時刻Ｔｂを求める。
【００１３】
【数１】
2015210563.tif 000003
【００１４】
＜３＞
反転時のインポジション幅をδとすると、移動指令が反転する時刻Ｔｂ，反転前移動指令の完了時刻Ｔｃと数２式から、反転時の行き足りない量Ｓ２の絶対値，｜Ｓ２｜＝δとして反転後移動指令の開始時刻（タイミング）Ｔａを求める。なお、インポジション幅とは、実行中のブロックの位置決めが、その目標位置に対して所定の範囲に到達すれば、次のブロックの移動を開始する場合の前記所定の範囲を意味し、位置決めの要求精度（許容誤差）である。
ＴａからＴｂまでの移動量Ｓ１は数２で表される。  
【００１５】
【数２】
2015210563.tif 000004
【００１６】
ＴａからＴｂまでの移動量Ｓ１と反転時の行き足りない量Ｓ２を加算すると数３式で表される。
【００１７】
【数３】
2015210563.tif 000005
【００１８】
したがって、反転時の行き足りない量Ｓ２は数４式で表される。
【００１９】
【数４】
2015210563.tif 000006
【００２０】
そして、求められた反転後移動指令の開始時刻（タイミング）Ｔａに従い、反転後移動指令を開始する。
なお、従来技術においては図１のＳ１＋Ｓ２がインポジション幅δとなるときに反転後移動指令が開始されていたため反転後移動指令は図１のＴａよりも後で開始されていた。本発明はより正確にＳ２（反転時の行き足りない量）を算出し、インポジション幅δとなる時刻Ｔａで反転指令を開始するため、従来技術よりも早く反転指令による反転動作の開始を行うことができる。
【００２１】
（タイミング算出部における具体的な算出例）
ここで、タイミング算出部における具体的な算出例について図２を用いて説明する。まず、記号を説明する。
【００２２】
ｖ１（ｔ）：反転前移動指令の速度  
ｖ２（ｔ）：反転後移動指令の速度  
ｖ（ｔ）  ：ｖ１とｖ２の和  
Ｔａ      ：反転後移動指令の開始時刻  
Ｔｂ      ：移動指令が反転する時刻  
Ｔｃ      ：反転前移動指令の完了時刻  
Ｓ２      ：反転時の行き足りない量  
Ｖ        ：速度（定数）
Ａ        ：加速度（定数）
【００２３】
図２に示される反転後移動指令の開始時刻（タイミング）Ｔａを求める。なお、説明を簡単にするため、ｖ１（ｔ），ｖ２（ｔ）は数５式，数６式に示されるように直線型加減速とする。加減速に着目するため、反転前移動指令の減速開始時刻をｔ＝０とする。
【００２４】
【数５】
2015210563.tif 000007
【００２５】
【数６】
2015210563.tif 000008
【００２６】
＜１＞
反転前移動指令の完了時刻Ｔｃは数５式においてｖ１＝０であるから、Ｔｃは数７式により求められる。
【００２７】
【数７】
2015210563.tif 000009
【００２８】
＜２＞
数１式，数５式，および、数６式により、Ｔａ〜Ｔｃ間の速度ｖは数８式により求められる。
【００２９】
【数８】
2015210563.tif 000010
【００３０】
ここで、ｖ＝０として、移動指令が反転する時刻Ｔｂを数９式により求める。
【００３１】
【数９】
2015210563.tif 000011
【００３２】
＜３＞
数４式，数５式，および，数６式より、反転時の行き足りない量Ｓ２は数１０式により求められる。
【００３３】
【数１０】
2015210563.tif 000012
【００３４】
数１０式に、数７式，数９式よりＴｃ，Ｔｂに値を代入すると、数１１式として表される。
【００３５】
【数１１】
2015210563.tif 000013
【００３６】
反転時のインポジション幅をδとすると、数１１式において｜Ｓ２｜＝δであり、数１２式として表される。
【００３７】
【数１２】
2015210563.tif 000014
【００３８】
この例ではＳ２＜０であるから、数１３式として表され、Ｔａについて解くと、反転後移動指令の開始時刻Ｔａが求まる。
【００３９】
【数１３】
2015210563.tif 000015
【００４０】
なお、ｖ１（ｔ），ｖ２（ｔ）が直線型加減速ではない場合も同様に計算することにより、反転後移動指令の開始時刻（タイミング）Ｔａを求めることができる。したがって、このように求めた反転後移動指令の開始時刻（タイミング）Ｔａに従い反転後移動指令を開始することにより、インポジション（δ）幅内で反転開始時刻（タイミング）を最大限早めることが可能となる。
【００４１】
次に、本発明に係るタイミング算出部により算出された反転後移動指令の開始時刻に反転後移動指令がなされた場合の指令経路と実際の経路との関係を説明する。
【００４２】
◎実施形態１
実施形態１は１軸のみの移動指令で移動方向が反転する（反転前後の経路が同じ）場合である。タイミング算出部において、１軸の速度、加速度と１軸の反転時のインポジション幅で反転後移動指令の開始時刻（タイミング）Ｔａを計算する。この場合の加工プログラムの例を記載する。この加工プログラムはＹ軸方向の反転動作を行う移動指令を含む。
【００４３】
［加工プログラム］
Ｎ１  Ｇ０１  Ｙ−１０．Ｆ１０００；
Ｎ２  Ｇ００  Ｙ１０．；
【００４４】
［経路図］
図３は１軸のみの移動指令で移動方向が反転する（反転前後の経路が同じ）場合の経路を説明する図である。Ｙ軸のδ（反転時のインポジション幅）＝０．０１ｍｍ、Ａ（加速度）＝１０００ｍｍ／ｓｅｃ２とし、Ｆ１０００からＶ（速度）＝１０００ｍｍ／ｍｉｎであるから、数１３式を解くと、反転後移動指令の開始時刻（タイミング）Ｔａ＝０．０１０３ｓｅｃとなる。
【００４５】
したがって、反転前移動指令（Ｎ１）の実行中に、反転後移動指令の開始時刻（タイミング）Ｔａ＝０．０１０３ｓｅｃに従い反転後移動指令（Ｎ２指令）を開始することにより、Ｙ軸の反転時のインポジションδ幅内で反転開始タイミングを最大限早めることが可能となる。なお、ここではブロック間で移動方向が反転する例としたが、穴あけサイクルのように１ブロック内で移動方向が反転する場合も同様である。
【００４６】
図４は１軸のみの移動指令で移動方向が反転する（反転前後の経路が同じ）場合であって、切削送り時と早送り時の加工モードでインポジション幅を使い分けることを説明する図である。  
インポジション幅（δ）については、複数のインポジション幅（δ１，δ２，δ３）を有し、例えば、図４に示されるように、切削送り時はインポジション幅（δ１）をインポジション幅（δ）とし、早送り時はインポジション幅（δ２）を上記実施形態１におけるインポジション幅（δ）とするように、切削送り時と早送り時の加工モードでインポジション幅を使い分けても良い。
【００４７】
あるいは、送り速度Ｆ指令についてＦ指令がある設定値Ｆｓより小さい場合はインポジション幅（δ１）をインポジション幅（δ）とし、Ｆｓより大きい場合はインポジション幅（δ３）を上記実施形態１におけるインポジション幅（δ）とするように送り速度でインポジション幅を使い分けるようにしてもよい。  
また、場合に応じてδ１＋δ３、δ２＋δ３などの組み合わせを上記実施形態１におけるインポジション幅（δ）とするようにしてもよい。  
このように、複数のインポジション幅を用い、場合に応じて使い分けることは後述の実施形態においても同様である。
【００４８】
◎実施形態２
実施形態２は２軸の移動指令で移動方向が反転する（反転前後の経路が同じ）場合である。Ｎ１は反転前移動指令、Ｎ２は反転後移動指令である。タイミング算出部において、接線方向（Ｘ軸，Ｙ軸の合成）の速度、加速度と接線方向の反転時のインポジション幅（接線方向のδ）で接線方向の反転後移動指令の開始時刻（タイミング）Ｔａを算出する。
【００４９】
［加工プログラム］
Ｎ１  Ｇ０１  Ｘ−１０．Ｙ−１０．Ｆ１０００；
Ｎ２  Ｇ００  Ｘ１０．Ｙ１０．；
【００５０】
［経路図］
図５は２軸の移動指令で移動方向が反転する（反転前後の経路が同じ）場合を説明する図である。実施形態１は１軸で算出するが、実施形態２は全て接線方向（各軸の合成）で算出する。後の算出は実施形態１と同様であるので省略する。
【００５１】
◎実施形態３
実施形態３は、２軸の移動指令で移動方向が反転する（反転前後の経路が異なる）場合である。図６は２軸の移動指令で移動方向が反転する（反転前後の経路が異なる）場合を説明する図である。タイミング算出部において、各軸の速度、加速度と各軸の反転時のインポジション幅（Ｘ軸：δｘ、Ｙ軸：δｙ）で各軸の反転後移動指令の開始タイミングＴａｘ（Ｘ軸）とＴａｙ（Ｙ軸）を算出する。全軸の反転時のインポジション幅を満たすため、Ｔａｘ（Ｘ軸）とＴａｙ（Ｙ軸）を比較し、遅い方のタイミング（図６、図７ではＴａｙ（Ｙ軸）のタイミング）を採用する。
【００５２】
［加工プログラム］
Ｎ１  Ｇ０１  Ｘ−５．  Ｙ−１０．  Ｆ１０００  ；
Ｎ２  Ｇ００  Ｘ１０．  Ｙ７．  ；
【００５３】
Ｘ軸の反転後移動指令の開始タイミングＴａｘは、Ｘ軸の速度、加速度、δｘ（Ｘ軸反転時のインポジション幅）と数４式から、反転時の行き足りない量｜Ｓ２｜＝δｘとして、反転後移動指令の開始時刻Ｔａについて解くことにより求めることができる。
【００５４】
また、Ｙ軸の反転後移動指令の開始タイミングＴａｙは、同様にＹ軸の速度、加速度、δｙ（Ｙ軸反転時のインポジション幅）と数４式から、反転時の行き足りない量｜Ｓ２｜＝δｙとして、反転後移動指令の開始時刻Ｔａについて解くことにより求めることができる。
それぞれの軸における反転後移動指令の開始タイミングの算出については、実施形態１と同様であるので省略する。
【００５５】
このようにして求めたＴａｘ（Ｘ軸）とＴａｙ（Ｙ軸）を比較し、遅い方のタイミング（図６、図７ではＴａｙ（Ｙ軸）のタイミング）で反転後移動指令（Ｎ２指令）を開始する。これにより、全軸の反転時のインポジション幅内で反転開始タイミングを最大限早めることが可能となる。
【００５６】
図８は本発明に係る数値制御装置の機能ブロック図である。一般に、数値制御装置は、プログラム解析部２で加工プログラム１を読込み解析して解析データを作成する。移動指令開始部４で解析データによる移動（補間）を開始し、補間処理部５で解析データによる補間を行い補間データを作成し、加減速処理部６で補間データに対して加減速を行い、各軸サーボモータ（Ｘ軸サーボモータ７Ｘ，Ｙ軸サーボモータ７Ｙ，Ｚ軸サーボモータ７Ｚ）を駆動する。本発明では、プログラム解析部２と移動指令開始部４の間にタイミング算出部３を有し、移動指令開始部４はタイミング算出部３で算出された開始タイミングに従い反転後移動指令を開始する。
【００５７】
図９は本発明に係る処理のフローを示す図である。加工プログラムを読込み、解析から各軸のサーボモータを駆動制御する出力までをフローチャートで示す。タイミング算出部、移動指令開始部が本発明の特徴部である。以下、各ステップに従って説明する。
【００５８】
●［ステップｓａ０１］加工プログラムを読込み、解析する（プログラム解析部）。  
●［ステップｓａ０２］前の移動指令と移動方向が反転するか否かを判断し、反転する場合（ｙｅｓ）ステップｓａ０３へ移行し、反転しない場合（ｎｏ）ステップｓａ０４へ移行する。  
●［ステップｓａ０３］反転前移動指令と反転後移動指令の速度の和が０となる時の位置が反転前移動指令の終点位置からインポジション幅離れた位置と等しくなるような反転後移動指令の開始タイミング（Ｔａ）を算出する。  
●［ステップｓａ０４］次の移動指令の移動を開始してよいか否かを判断し、移動を開始してよい場合（ｙｅｓ）ステップｓａ０６へ移行し、そうでない場合（ｎｏ）ステップｓａ０７へ移行する。
【００５９】
●［ステップｓａ０５］反転後移動指令の移動開始タイミングか否か判断し、移動開始タイミングの場合（ｙｅｓ）ステップｓａ０６へ移行し、そうでない場合（ｎｏ）ステップｓａ０７へ移行する。  
●［ステップｓａ０６］次の移動指令（反転後移動指令）の移動を開始する。  
●［ステップｓａ０７］各軸の移動指令を補間する（補間処理部）。  
●［ステップｓａ０８］各軸の移動指令の加減速処理を行う（加減速処理部）。  
●［ステップｓａ０９］各軸のサーボモータに移動指令を出力する。
【００６０】
上記フローチャートを補足説明すると、ステップｓａ０１はプログラム解析部２に対応する。ステップｓａ０２およびステップｓａ０３はタイミング算出部３に対応する。ステップｓａ０５およびｓａ０６は移動指令開始部４に対応する。ステップｓａ０７は補間処理部５に対応する。ステップｓａ０８は加減速処理部６に対応する。
【符号の説明】
【００６１】
１  加工プログラム
２  プログラム解析部
３  タイミング算出部
４  移動指令開始部
５  補間処理部
６  加減速処理部
７Ｘ  Ｘ軸サーボモータ
７Ｙ  Ｙ軸サーボモータ
７Ｚ  Ｚ軸サーボモータ
【図８】
2015210563.tif 000016
【図９】
2015210563.tif 000017
【図１】
2015210563.tif 000018
【図２】
2015210563.tif 000019
【図３】
2015210563.tif 000020
【図４】
2015210563.tif 000021
【図５】
2015210563.tif 000022
【図６】
2015210563.tif 000023
【図７】
2015210563.tif 000024