(57)【特許請求の範囲】
【請求項１】
工具及び加工対象の少なくともいずれか一方に設けられた駆動軸に接続されるモータを、当該モータの位置情報を検出する検出器を用いてフィードバック制御する駆動軸制御部に対し、前記工具及び前記加工対象を相対的に移動させながら前記加工対象の加工を行う振動切削指令を出力する数値制御装置であって、
前記振動切削指令によって指定される指令振動移動量の波形を単位時間ごとに分割する第１波形分割部と、
前記検出器によって検出される実位置の波形を前記単位時間ごとに分割する第２波形分割部と、
時間軸に対し、ｎを自然数として、前記第１波形分割部によって分割されたｎ番目の指令振動移動量の波形であるｎ番目指令振動波形、前記第１波形分割部によって分割されたｎ＋１番目の指令振動移動量の波形であるｎ＋１番目指令振動波形、前記第２波形分割部によって分割されたｎ番目の実位置の波形であるｎ番目実位置波形、及び前記第２波形分割部によって分割されたｎ＋１番目の実位置の波形であるｎ＋１番目実位置波形を、表示部に重畳表示する表示制御部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記表示制御部は、前記ｎ番目指令振動波形及び前記ｎ＋１番目指令振動波形にて囲まれる領域のうち、前記ｎ番目指令振動波形の方が前記ｎ＋１番目指令振動波形よりも大きい領域である第１空振り領域を、当該第１空振り領域の他の領域と識別可能に強調表示する
請求項１に記載の数値制御装置。
【請求項３】
前記表示制御部は、前記ｎ番目指令振動波形及び前記ｎ＋１番目指令振動波形にて囲まれる領域のうち、前記ｎ番目指令振動波形の方が前記ｎ＋１番目指令振動波形よりも大きい領域である第１空振り領域がない場合、当該第１空振り領域が出現するための第１ガイダンスを表示する
請求項１又は２に記載の数値制御装置。
【請求項４】
請求項３に記載の数値制御装置から出力される、前記第１空振り領域の情報、及び前記第１空振り領域が出現しなかった場合に変更された各種パラメータの変更情報を観測し、これら情報を関連付けた情報である第１状態情報を出力する観測部と、
前記観測部から出力された前記第１状態情報を状態変数として学習し、前記第１空振り領域がない場合、当該第１空振り領域が出現するための前記第１ガイダンスの情報を前記数値制御装置に出力する学習部と、
を備える機械学習装置。
【請求項５】
前記表示制御部は、前記ｎ番目実位置波形及び前記ｎ＋１番目実位置波形にて囲まれる領域のうち、前記ｎ番目実位置波形の方が前記ｎ＋１番目実位置波形よりも大きい領域である第２空振り領域を、当該第２空振り領域の他の領域と識別可能に強調表示する
請求項１〜３のいずれか一項に記載の数値制御装置。
【請求項６】
前記表示制御部は、前記ｎ番目実位置波形及び前記ｎ＋１番目実位置波形にて囲まれる領域のうち、前記ｎ番目実位置波形の方が前記ｎ＋１番目実位置波形よりも大きい領域である第２空振り領域がない場合、当該第２空振り領域が出現するための第２ガイダンスを表示する
請求項１、２、５のいずれか一項に記載の数値制御装置。
【請求項７】
請求項６に記載の数値制御装置から出力される、前記第２空振り領域の情報、及び前記第２空振り領域が出現しなかった場合に変更された各種パラメータの変更情報を観測し、これら情報を関連付けた情報である第２状態情報を出力する観測部と、
前記観測部から出力された前記第２状態情報を状態変数として学習し、前記第２空振り領域がない場合、当該第２空振り領域が出現するための前記第２ガイダンスの情報を前記数値制御装置に出力する学習部と、
を備える機械学習装置。
【請求項８】
前記表示制御部は、前記ｎ番目指令振動波形及び前記ｎ＋１番目指令振動波形にて囲まれる領域のうち、前記ｎ番目指令振動波形の方が前記ｎ＋１番目指令振動波形よりも大きい領域である第１空振り領域があり、かつ、前記ｎ番目実位置波形及び前記ｎ＋１番目実位置波形にて囲まれる領域のうち、前記ｎ番目実位置波形の方が前記ｎ＋１番目実位置波形よりも大きい領域である第２空振り領域がない場合、当該第２空振り領域が出現するための第２ガイダンスを表示する
請求項１又は２に記載の数値制御装置。
【請求項９】
工具及び加工対象の少なくともいずれか一方に設けられた駆動軸に接続されるモータを、当該モータの位置情報を検出する検出器を用いてフィードバック制御する駆動軸制御部に対し、前記工具及び前記加工対象を相対的に移動させながら前記加工対象の加工を行う振動切削指令を出力する数値制御方法であって、
前記振動切削指令によって指定される指令振動移動量の波形を単位時間ごとに分割する第１波形分割ステップと、
前記検出器によって検出される実位置の波形を前記単位時間ごとに分割する第２波形分割ステップと、
時間軸に対し、ｎを自然数として、前記第１波形分割ステップによって分割されたｎ番目の指令振動移動量の波形であるｎ番目指令振動波形、前記第１波形分割ステップによって分割されたｎ＋１番目の指令振動移動量の波形であるｎ＋１番目指令振動波形、前記第２波形分割ステップによって分割されたｎ番目の実位置の波形であるｎ番目実位置波形、及び前記第２波形分割ステップによって分割されたｎ＋１番目の実位置の波形であるｎ＋１番目実位置波形を、表示部に重畳表示する表示制御ステップと、
を備えることを特徴とする数値制御方法。
【請求項１０】
工具に設けられた駆動軸及び加工対象に設けられた主軸に接続されるモータを、当該モータの位置情報を検出する検出器を用いてフィードバック制御する駆動軸制御部に対し、前記工具及び前記加工対象を相対的に移動させながら前記加工対象の加工を行う振動切削指令を出力する制御演算部を備える数値制御装置であって、
前記振動切削指令によって指定される指令振動移動量の波形を前記主軸の１回転ごとに分割する第３波形分割部と、
前記検出器によって検出される実位置の波形を前記主軸の１回転ごとに分割する第４波形分割部と、
前記主軸の１回転の回転角度に対し、ｎを自然数として、前記第３波形分割部によって分割されたｎ番目の指令振動移動量の波形であるｎ番目指令振動波形、前記第３波形分割部によって分割されたｎ＋１番目の指令振動移動量の波形であるｎ＋１番目指令振動波形、前記第４波形分割部によって分割されたｎ番目の実位置の波形であるｎ番目実位置波形、及び前記第４波形分割部によって分割されたｎ＋１番目の実位置の波形であるｎ＋１番目実位置波形を、表示部に重畳表示する表示制御部と、
を備えることを特徴とする数値制御装置。
【請求項１１】
前記表示制御部は、前記ｎ番目指令振動波形及び前記ｎ＋１番目指令振動波形にて囲まれる領域のうち、前記ｎ番目指令振動波形の方が前記ｎ＋１番目指令振動波形よりも大きい領域である第３空振り領域を、当該第３空振り領域の他の領域と識別可能に強調表示する
請求項１０に記載の数値制御装置。
【請求項１２】
前記表示制御部は、前記ｎ番目指令振動波形及び前記ｎ＋１番目指令振動波形にて囲まれる領域のうち、前記ｎ番目指令振動波形の方が前記ｎ＋１番目指令振動波形よりも大きい領域である第３空振り領域がない場合、当該第３空振り領域が出現するための第３ガイダンスを表示する
請求項１０又は１１に記載の数値制御装置。
【請求項１３】
請求項１２に記載の数値制御装置から出力される、前記第３空振り領域の情報、及び前記第３空振り領域が出現しなかった場合に変更された各種パラメータの変更情報を観測し、これら情報を関連付けた情報である第３状態情報を出力する観測部と、
前記観測部から出力された前記第３状態情報を状態変数として学習し、前記第３空振り領域がない場合、当該第３空振り領域が出現するための前記第３ガイダンスの情報を前記数値制御装置に出力する学習部と、
を備える機械学習装置。
【請求項１４】
前記表示制御部は、前記ｎ番目実位置波形及び前記ｎ＋１番目実位置波形にて囲まれる領域のうち、前記ｎ番目実位置波形の方が前記ｎ＋１番目実位置波形よりも大きい領域である第４空振り領域を、当該第４空振り領域の他の領域と識別可能に強調表示する
請求項１０〜１２のいずれか一項に記載の数値制御装置。
【請求項１５】
前記表示制御部は、前記ｎ番目実位置波形及び前記ｎ＋１番目実位置波形にて囲まれる領域のうち、前記ｎ番目実位置波形の方が前記ｎ＋１番目実位置波形よりも大きい領域である第４空振り領域がない場合、当該第４空振り領域が出現するための第４ガイダンスを表示する
請求項１０、１１、１４のいずれか一項に記載の数値制御装置。
【請求項１６】
請求項１５に記載の数値制御装置から出力される、前記第４空振り領域の情報、及び前記第４空振り領域が出現しなかった場合に変更された各種パラメータの変更情報を観測し、これら情報を関連付けた情報である第４状態情報を出力する観測部と、
前記観測部から出力された前記第４状態情報を状態変数として学習し、前記第４空振り領域がない場合、当該第４空振り領域が出現するための前記第４ガイダンスの情報を前記数値制御装置に出力する学習部と、
を備える機械学習装置。
【請求項１７】
前記表示制御部は、前記ｎ番目指令振動波形及び前記ｎ＋１番目指令振動波形にて囲まれる領域のうち、前記ｎ番目指令振動波形の方が前記ｎ＋１番目指令振動波形よりも大きい領域である第３空振り領域があり、かつ、前記ｎ番目実位置波形及び前記ｎ＋１番目実位置波形にて囲まれる領域のうち、前記ｎ番目実位置波形の方が前記ｎ＋１番目実位置波形よりも大きい領域である第４空振り領域がない場合、当該第４空振り領域が出現するための第４ガイダンスを表示する
請求項１０又は１１に記載の数値制御装置。
【請求項１８】
工具に設けられた駆動軸及び加工対象に設けられた主軸に接続されるモータを、当該モータの位置情報を検出する検出器を用いてフィードバック制御する駆動軸制御部に対し、前記工具及び前記加工対象を相対的に移動させながら前記加工対象の加工を行う振動切削指令を出力する数値制御方法であって、
前記振動切削指令によって指定される指令振動移動量の波形を前記主軸の１回転ごとに分割する第３波形分割ステップと、
前記検出器によって検出される実位置の波形を前記主軸の１回転ごとに分割する第４波形分割ステップと、
前記主軸の１回転の回転角度に対し、ｎを自然数として、前記第３波形分割ステップによって分割されたｎ番目の指令振動移動量の波形であるｎ番目指令振動波形、前記第３波形分割ステップによって分割されたｎ＋１番目の指令振動移動量の波形であるｎ＋１番目指令振動波形、前記第４波形分割ステップによって分割されたｎ番目の実位置の波形であるｎ番目実位置波形、及び前記第４波形分割ステップによって分割されたｎ＋１番目の実位置の波形であるｎ＋１番目実位置波形を、表示部に重畳表示する表示制御ステップと、
を備えることを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具及び加工対象を相対的に移動させて切り屑を分断しながら加工対象の加工する振動切削を行う数値制御装置、機械学習装置、及び数値制御方法に関する。
【背景技術】
【０００２】
従来、この種の数値制御装置として、例えば特許文献１に記載の装置のように、主軸の１回転当たりの時間又は主軸の１回転分の回転角度を横軸とし、送り軸の位置指令値又は実位置を縦軸として、振動波形を表示部に表示する数値制御装置が知られている。ある周期の振動波形とその次の周期の振動波形とが部分的に重なる箇所の有無を確認することにより、振動切削における切り屑の細断の可否、すなわち振動切削の可否を、オペレータが容易に判断することができるようになる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１９５００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の数値制御装置によれば、オペレータは振動切削の可否を確認することはできる。しかしながら、振動切削ができていない場合、オペレータ、特に経験の浅いオペレータは、どのように対処すれば振動切削が可能となるのか、その対処が分からなかった、あるいは、オペレータ自身の経験に基づいて対処する必要があった。【０００５】
本発明は、上記に鑑みてなされたものであって、振動切削ができていない場合にその対処の推測を支援することのできる数値制御装置、機械学習装置、及び数値制御方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の発明では、工具及び加工対象の少なくともいずれか一方に設けられた駆動軸に接続されるモータを、当該モータの位置情報を検出する検出器を用いてフィードバック制御する駆動軸制御部に対し、工具及び加工対象を相対的に移動させながら加工対象の加工を行う振動切削指令を出力する数値制御装置であって、振動切削指令によって指定される指令振動移動量の波形を単位時間ごとに分割する第１波形分割部と、検出器によって検出される実位置の波形を単位時間ごとに分割する第２波形分割部と、時間軸に対し、ｎを自然数として、第１波形分割部によって分割されたｎ番目の指令振動移動量の波形であるｎ番目指令振動波形、第１波形分割部によって分割されたｎ＋１番目の指令振動移動量の波形であるｎ＋１番目指令振動波形、第２波形分割部によって分割されたｎ番目の実位置の波形であるｎ番目実位置波形、及び第２波形分割部によって分割されたｎ＋１番目の実位置の波形であるｎ＋１番目実位置波形を、表示部に重畳表示する表示制御部と、を備えることとした。
【発明の効果】
【０００７】
本発明に係る数値制御装置によれば、時間軸に対し、ｎ番目指令振動波形、ｎ＋１番目指令振動波形、ｎ番目実位置波形、及びｎ＋１番目の実位置の波形であるｎ＋１番目実位置波形が表示部に重畳表示されることから、振動切削ができていない場合に、オペレータがその要因を推測することを支援することができるようになる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１に係る数値制御システムの構成の一例を示すブロック図。
【図２Ａ】実施形態１に係る数値制御システムにおいて、加工対象を固定して工具のみをＺ軸方向及びＸ軸方向に移動させる場合を模式的に示す図。
【図２Ｂ】実施形態１に係る数値制御システムにおいて、加工対象をＺ軸方向に移動させるとともに工具をＸ軸方向に移動させる場合を模式的に示す図。
【図３】実施形態１の加工方法を模式的に示す図。
【図４】実施形態１の加工プログラムの一例を示す図。
【図５】実施形態１によって実行される波形表示処理の一例を示すフローチャート。波形表示処理
【図６Ａ】指令振動移動量にのみ空振り領域が出現する場合の、実施形態１の波形表示処理によって表示される表示画面の一例を示す図。
【図６Ｂ】指令振動移動量及びＦＢ振動移動量の両方に空振り領域が出現する場合の、実施形態１の波形表示処理によって表示される表示画面の一例を示す図。
【図６Ｃ】実施形態１の波形表示処理によって表示される表示画面の別例を示す図。
【図７】実施形態２に係る数値制御システムの構成の一例を示すブロック図。
【図８】実施形態２に係る数値制御システムによって実行されるガイダンス表示処理の一例を示すフローチャート。
【図９Ａ】実施形態２のガイダンス表示処理によって表示される表示画面の一例を示す図。
【図９Ｂ】実施形態２のガイダンス表示処理によって表示される表示画面の別例を示す図。
【図１０】実施形態３に係る数値制御システムの構成の一例を示すブロック図。
【図１１】実施形態３によって表示される表示画面の一例を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明に実施形態に係る数値制御装置を含む数値制御システム、機械学習装置、及び数値制御方法を図面に基づいて詳細に説明する。なお、これら実施形態によりこの発明が限定されるものではない。
【００１０】
実施形態１．
図１は、実施形態１に係る数値制御（ＮＣ：Numerical  Control）装置を含む数値制御システム１の一例を示すブロック図である。この図１に示すように、数値制御システム１は、駆動部１０と、入力操作部２０と、表示部３０と、制御演算部４０と、を有する。なお、駆動部１０及び制御演算部４０が駆動軸制御部及び数値制御装置にそれぞれ相当する。
【００１１】
駆動部１０は、制御演算部４０と接続されており、工作機械の加工対象である加工ワークを加工するための工具、及び加工ワークの少なくとも一方を駆動する機構である。実施形態１では、駆動部１０は、例えば、加工ワークを回転させながら、Ｘ軸方向に平行な方向とＺ軸方向に平行な方向の２方向に工具を駆動し、加工ワークの加工を行う機構である。なお、実施形態１では、加工ワークの中心軸線をＺ軸とし、当該Ｚ軸に直交する方向をＸ軸と規定している。
【００１２】
駆動部１０は、数値制御システム１上で規定されたＸ軸に工具を移動させるＸ軸サーボモータ１０１ｘと、このＸ軸サーボモータ１０１ｘの位置及び速度を検出する検出器１０２ｘと、数値制御システム１からの指令（後述するＸ軸指令振動移動量）並びに検出器１０２ｘにて検出された位置情報及び速度情報に基づいて、Ｘ軸サーボモータ１０１ｘのフィードバック制御（以下、ＦＢ制御とも記載）を行うＸ軸サーボ制御部１０３ｘと、を有する。Ｘ軸サーボ制御部１０３ｘは、Ｘ軸サーボモータ１０１ｘのＦＢ制御を行うことにより、工具のＸ軸方向の動作を実現する。また、駆動部１０は、検出器１０２ｘにて検出された位置情報（すなわち、実位置）を、後述するＸ軸ＦＢ振動移動量として数値制御システム１に出力する。
【００１３】
また、駆動部１０は、数値制御システム１上で規定されたＺ軸に工具を移動させるＺ軸サーボモータ１０１ｚと、このＺ軸サーボモータ１０１ｚの位置及び速度を検出する検出器１０２ｚと、数値制御システム１からの指令（後述するＺ軸指令振動移動量）並びに検出器１０２ｚにて検出された位置情報及び速度情報に基づいて、Ｚ軸サーボモータ１０１ｚのＦＢ制御を行うＺ軸サーボ制御部１０３ｚと、を有する。制御演算部４０から出力されたＺ軸指令振動移動量を実現すべく、Ｚ軸サーボ制御部１０３ｚは、Ｚ軸サーボモータ１０１ｚのＦＢ制御を行うことにより、工具のＺ軸方向の動作を制御する。また、駆動部１０は、検出器１０２ｚにて検出された位置情報（すなわち、実位置）を、後述するＺ軸ＦＢ振動移動量として数値制御システム１に出力する。以下、Ｘ軸ＦＢ振動移動量及びＺ軸ＦＢ振動移動量を総称して単にＦＢ振動移動量とも記載する。
【００１４】
また、駆動部１０は、加工ワークを回転させる主軸を回転させる主軸モータ１０１ｓと、主軸モータ１０１ｓの位置及び回転数を検出する検出器１０２ｓと、数値制御システム１からの指令並びに検出器１０２ｓにて検出された位置情報及び速度情報に基づいて、主軸モータ１０１ｓのＦＢ制御を行う主軸制御部１０３ｓと、を有する。主軸制御部１０３ｓは、主軸モータ１０１ｓのＦＢ制御を行うことにより、加工ワークの回転動作を制御する。なお、検出器１０２ｓが検出する回転数は、主軸モータ１０１ｓの回転数に対応する。
【００１５】
なお、本実施形態１では、工作機械が単一の刃物台を備えることとしたが、刃物台の数は限定されず、複数の刃物台を備えることとしてもよい。この場合、駆動部１０は、刃物台毎に、１組のＸ軸サーボモータ１０１ｘ及びＺ軸サーボモータ１０１ｚ、１組の検出器１０２ｘ及び１０２ｚ、１組のＸ軸サーボ制御部１０３ｘ及びＺ軸サーボ制御部１０３ｚを各々備え、主軸モータ１０１ｓ、検出器１０２ｓ、及び主軸制御部１０３ｓを備えることとすればよい。
【００１６】
入力操作部２０は、制御演算部４０に対して情報を入力する手段であり、例えば、キーボード、ボタン、又はマウス等の入力手段によって構成されている。入力操作部２０は、例えば、オペレータによる数値制御システム１に対するコマンド等の入力、加工プログラム番号の入力、及び振動切削に関連するパラメータ等の入力等を受け付けて、制御演算部４０に入力する。
【００１７】
表示部３０は、制御演算部４０からの情報を表示する手段であり、例えば液晶表示装置等の表示手段によって構成されている。表示部３０は、制御演算部４０によって処理された情報が表示画面に表示される。なお、実施形態１では、表示部３０として液晶表示装置を備えたこととしたが、この構成に限らない。他に例えば、数値制御システム１がネットワークに接続され、当該ネットワークに接続された表示装置またはコンピュータの表示装置を表示部として備えることとしてもよい。
【００１８】
制御演算部４０は、入力制御部４１と、データ設定部４２と、記憶部４３と、画面処理部４４と、解析処理部４５と、機械制御信号処理部４６と、ＰＬＣ（Programmable Logic Controller）回路部４７と、補間処理部４８と、加減速処理部４９と、軸データ入出力部５０と、を有する。なお、本実施の形態１では、制御演算部４０の内部にＰＬＣ回路部４７を配置することとしたが、制御演算部４０の外部にＰＬＣ回路部４７を配置してもよい。
【００１９】
入力制御部４１は、入力操作部２０から入力される情報を受け付ける。データ設定部４２は、入力制御部４１で受け付けられた情報を記憶部４３に記憶する。すなわち、入力操作部２０が受け付けた入力情報は、入力制御部４１およびデータ設定部４２を介して記憶部４３に書き込まれる。
【００２０】
記憶部４３は、パラメータ記憶エリア４３１、加工プログラム記憶エリア４３２、表示データ記憶エリア４３３、および共有エリア４３４を有している。パラメータ記憶エリア４３１内には、制御演算部４０の処理で使用されるパラメータ、具体的には、数値制御システム１を動作させるための制御パラメータ、サーボパラメータ、工具データ、及び振動切削に関するパラメータが格納される。加工プログラム記憶エリア４３２内には、加工ワークの加工に用いられる１以上のブロックを含む加工プログラムが格納される。なお、本実施形態１では、加工プログラムは、工具を移動させる指令である移動指令や、主軸を回転させる回転指令等を含んでいる。表示データ記憶エリア４３３内には、表示部３０で表示される画面表示データが格納される。画面表示データは、表示部３０に情報を表示するためのデータである。また、共有エリア４３４には、制御演算部４０が各処理を実行する際に一時的に使用するデータが格納される。例えば、入力操作部２０が受け付けた加工プログラム番号は、入力制御部４１及びデータ設定部４２を介して記憶部４３の共有エリア４３４に書き込まれる。
【００２１】
画面処理部４４は、指令振動移動量取得部４４１と、ＦＢ振動移動量取得部４４２と、表示制御部４４３と、を有し、記憶部４３の表示データ記憶エリア４３３に格納された画面表示データを表示部３０に表示させる制御を行う。なお、画面処理部４４の各構成については後述する。
【００２２】
制御演算部４０では、解析処理部４５、機械制御信号処理部４６、及び補間処理部４８が、記憶部４３を介して互いに接続されており、当該記憶部４３を介して情報の書き込み及び情報の読み出しが行われる。以下では、解析処理部４５、機械制御信号処理部４６、及び補間処理部４８の間の情報の書き込み及び読み出しを説明する際に、記憶部４３が介されることを省略する場合がある。
【００２３】
解析処理部４５は、記憶部４３に接続されている。解析処理部４５は、当該記憶部４３の共有エリア４３４に書き込まれた加工プログラム番号を参照しており、共有エリア４３４内の選択された加工プログラム番号を共有エリア４３４から受け付けると、選択された加工プログラムを加工プログラム記憶エリア４３２内から読み出して、加工プログラムの各ブロック（各行）に対して解析処理を行う。解析処理部４５は、主軸モータ回転数指令であるＳコード、軸移動等に関する指令であるＧコード、及び機械動作指令であるＭコード等を解析する。解析処理部４５は、加工プログラムの各行に対して解析処理を終えると、Ｓコード、Ｇコード、及びＭコード等の解析結果を、記憶部４３の共有エリア４３４に書き込む。
【００２４】
詳しくは、解析処理部４５は、加工プログラムにＳコードが含まれている場合、当該Ｓコードを解析することによって、単位時間当たりの主軸の回転数である主軸回転数を取得する。そして、解析処理部４５は、この取得した主軸回転数を、記憶部４３の共有エリア４３４に書き込む。なお、実施形態１では、単位時間として、主軸１回転にかかる時間としている。また、解析処理部４５は、加工プログラムにＧコードが含まれている場合、当該Ｇコードを解析することによって、工具が加工位置を移動するための工具送りの条件である移動条件を取得する。この移動条件は、刃物台を移動させるＸ軸方向及びＺ軸方向の速度や、刃物台を移動させるＸ軸方向及びＺ軸方向の位置等によって示される。そして、解析処理部４５は、この取得した移動条件を、記憶部４３の共有エリア４３４に書き込む。また、解析処理部４５は、加工プログラムにＧコードが含まれている場合、当該Ｇコードを解析することによって、工具を振動させる周波数及び振幅である振動条件を取得する。そして、解析処理部４５は、この取得した振動条件を、記憶部４３の共有エリア４３４に書き込む。なお、解析処理部４５の、加工プログラムに含まれる移動条件について解析する部分が移動指令解析部４５１であり、加工プログラムに含まれる振動条件について解析する部分が振動指令解析部４５２である。また、Ｍコードは、数値制御軸である駆動軸を動作させる指令以外の指令である補助指令であり、公知であることから、ここでの具体的な説明を割愛する。
【００２５】
機械制御信号処理部４６は、記憶部４３及びＰＬＣ回路部４７に接続されている。機械制御信号処理部４６は、解析処理部４５によってＭコード等の補助命令が記憶部４３の共有エリア４３４に書き込まれると、この補助命令を読み出し、ＰＬＣ回路部４７に出力する。また、機械制御信号処理部４６は、機械制御が完了したことを示す完了信号をＰＬＣ回路部４７から受け付けると、Ｍコード等の補助命令の完了を示す結果を記憶部４３の共有エリア４３４に書き込む。機械制御信号処理部４６によって記憶部４３の共有エリア４３４に書き込まれた信号情報は、補間処理部４８によって加工運転時に参照される。
【００２６】
ＰＬＣ回路部４７は、機械制御信号処理部４６に接続されており、当該ＰＬＣ回路部４７が実行する機械動作が記述されたラダープログラムを図示しない記憶部に格納している。ＰＬＣ回路部４７は、Ｍコード等の補助指令を機械制御信号処理部４６から受け付けると、ラダープログラムに従って補助指令に対応する処理を工作機械に対し実行する。また、ＰＬＣ回路部４７は、補助指令に対応する処理を実行した後、機械制御が完了したことを示す完了信号を機械制御信号処理部４６に出力する。
【００２７】
補間処理部４８は、記憶部４３及び加減速処理部４９と接続されている。補間処理部４８は、当該記憶部４３の共有エリア４３４を参照しており、解析処理部４５によって上記移動条件及び上記振動条件が当該共有エリア４３４に書き込まれると、上記移動条件及び上記振動条件を読み出し、読み出した上記移動条件及び振動条件を用いて、Ｘ軸方向への指令振動移動量であるＸ軸指令振動移動量を生成するとともに、Ｚ軸方向への指令振動移動量であるＺ軸指令振動移動量を生成する。なお、Ｘ軸指令振動移動量及びＺ軸指令振動移動量を総称して単に指令振動移動量とも記載する。補間処理部４８は、この生成した指令振動移動量を、記憶部４３の共有エリア４３４に書き込むとともに、加減速処理部４９に出力する。また、補間処理部４８は、加減速処理部４９からＦＢ振動移動量を取得すると、記憶部４３の共有エリア４３４に書き込む。なお、補間処理部４８の、移動条件及び振動条件を用いて指令振動移動量を生成する部分が指令振動移動量生成部４８１であり、加減速処理部４９からＦＢ振動移動量を取得する部分がＦＢ振動移動量取得部４８２である。
【００２８】
加減速処理部４９は、補間処理部４８及び軸データ入出力部５０と接続されている。加減速処理部４９は、補間処理部４８から出力された指令振動移動量を、予め指定された加減速パターンに従って加減速を考慮した単位時間当たりの移動指令に変換し、この変換した移動指令を軸データ入出力部５０に出力する。また、加減速処理部４９は、軸データ入出力部５０から出力されたＦＢ振動移動量を補間処理部４８に出力する。
【００２９】
軸データ入出力部５０は、加減速処理部４９及び駆動部１０と接続されている。軸データ入出力部５０は、加減速処理部４９から出力された単位時間当たりの移動指令を駆動部１０に出力する。また、軸データ入出力部５０は、駆動部１０から出力されたＦＢ振動移動量を加減速処理部４９に出力する。
【００３０】
工具または加工対象を振動させながら加工を行うためには、加工を行う際に、加工対象と工具とを相対的に移動させればよい。図２Ａ及び図２Ｂは、実施形態１による数値制御システム１の軸の構成を模式的に示す図である。これら図２Ａ及び図２Ｂでは、紙面内に直交するＺ軸とＸ軸を設けている。図２Ａは、加工対象６１を固定し、例えば旋削加工を行う旋削加工用工具である工具６２のみをＺ軸方向及びＸ軸方向に移動させる場合であり、図２Ｂは、加工対象６１をＺ軸方向に移動させ、工具６２をＸ軸方向に移動させる場合である。これらのいずれの場合でも、移動させる対象にサーボモータを設けることで、以下に説明する処理を行うことが可能となる。
【００３１】
図３は、実施形態１による加工方法を模式的に示す図である。ここでは、紙面内に直交するＸ軸とＺ軸が設けられ、このＸＺ面内の移動経路１０１に沿って工具６２と加工対象とを相対的に移動させながら加工を行う場合が示されている。実施形態１では、移動経路１０１に沿って工具６２を加工対象に対して相対的に移動させる際に、移動経路１０１をなぞるように工具６２を振動させるようにしている。すなわち、直線の区間では直線に沿って往復するように工具６２を振動させ、曲線の区間では曲線に沿って往復するように工具６２を振動させる。なお、工具６２を振動させるという記載は、工具６２の加工対象６１に対する相対的な運動であり、実際には図２Ｂに示したように、工具６２と加工対象６１のいずれを動かしてもよい。以下の説明も同様である。
【００３２】
図４は、実施形態１による加工プログラムの一例を示す図である。加工プログラムは、行（ブロック）ごとに読み込まれ、実行される。この加工プログラム中の行４０１の「Ｍ３  Ｓ１０００；」は、Ｍコードであり、主軸の回転指令である。また、加工プログラム中の行４０３の「Ｇ０１  Ｘ１０．０  Ｚ２０．０  Ｆ０．０１；」は、Ｇコードであり、直線補間の指令である。同様に、加工プログラム中の行４０４の「Ｇ０２  Ｘ１４．０  Ｚ２３．５  Ｒ４．０；」は、Ｇコードであり、時計回りの円弧補間の指令である。これらは、いずれも、一般的な数値制御装置で使用される指令である。
【００３３】
また、行４０２の「Ｇ２００  Ａ０．０３  Ｄ１．５；」と行４０５の「Ｇ２０１；」は、Ｇコードであり、実施形態１の振動切削を指令する振動切削指令である。ここでは、指令「Ｇ２００」は振動切削の開始を意味するものであり、指令「Ｇ２０１」は振動切削の終了を意味するものである。また、「Ａ」とそれに続く数値は振動させる振幅（例えばｍｍ）を意味するものであり、「Ｄ」とそれに続く数値は主軸１回転あたりの振動回数（すなわち、周波数）を意味するものである。なお、これは一例であり、振動切削の開始と終了、振動させる振幅と主軸１回転あたりの振動回数を意味する記号は、他のものであってもよく、振幅と主軸１回転あたりの振動回数の指令値についても任意の数値で構わないが、曲線経路上で精度良く振動させるため、また、切削により発生する切屑を振動により細かく分断するために、微小な振動（振幅が数十マイクロメートル以下かつ相当する周波数が数百Ｈｚ以下）を一般的に指令する。
【００３４】
以上のように構成された数値制御システム１によって実行される波形表示処理について、図５を併せ参照して説明する。図５は、実施形態１の数値制御システム１によって実行される波形表示処理の一例を示すフローチャートである。
【００３５】
予め定められた操作がオペレータによって入力操作部２０により行われることによって波形表示処理Ｓ１０が実行開始される。詳しくは、オペレータによって、Ｘ軸及びＺ軸のいずれの指令振動移動量及びＦＢ振動移動量を縦軸に表示するかを選択する操作、及び単位時間及び主軸の回転角度のいずれを横軸に表示するかを選択する操作が行われ、記憶部４３の共有エリア４３４に当該選択結果が書き込まれる。
【００３６】
波形表示処理Ｓ１０が実行開始されると、画面処理部４４の指令振動移動量取得部４４１は、共有エリア４３４に書き込まれた上記選択結果を読み出し、Ｘ軸指令振動移動量及びＺ軸指令振動移動量のうちオペレータによって選択された軸の指令振動移動量を当該共有エリア４３４から読み出し取得する。そして、画面処理部４４は、続くステップＳ１２の処理に移行する。
【００３７】
ステップＳ１２に移行すると、画面処理部４４のＦＢ振動移動量取得部４４２は、共有エリア４３４に書き込まれた上記選択結果を読み出し、Ｘ軸ＦＢ振動移動量及びＺ軸ＦＢ振動移動量のうちオペレータによって選択された軸のＦＢ振動移動量を当該共有エリア４３４から読み出し取得する。そして、画面処理部４４は、続くステップＳ１３の処理に移行する。
【００３８】
ステップＳ１３に移行すると、画面処理部４４の表示制御部４４３は、ステップＳ１１において取得された指令振動移動量の波形を分割する。詳しくは、表示制御部４４３は、オペレータによって横軸として単位時間が選択された場合、振動条件である周波数（すなわち、周期）を用いて、横軸左端から横軸右端までが単位時間、すなわち１周期となるよう、ステップＳ１１において取得された指令振動移動量の波形を周期毎に分割する。また、表示制御部４４３は、オペレータによって横軸として主軸の回転角度が選択された場合、主軸の回転指令を用いて、横軸左端から横軸右端までが主軸の１回転（すなわち、３６０度）となるよう、ステップＳ１１の処理において取得された指令振動移動量の波形を主軸の１回転毎に分割する。そして、表示制御部４４３は、続くステップS１４の処理に移行する。なお、表示制御部４４３のうち指令振動移動量の波形を分割する部分が第１波形分割部及び第３波形分割部に相当し、ステップＳ１３の処理が第１波形分割ステップ及び第３波形分割ステップに相当する。
【００３９】
ステップＳ１４に移行すると、画面処理部４４の表示制御部４４３は、ステップＳ１２において取得されたＦＢ振動移動量の波形を分割する。詳しくは、表示制御部４４３は、オペレータによって横軸として単位時間が選択された場合、振動条件である周波数（すなわち、周期）を用いて、横軸左端から横軸右端までが単位時間、すなわち１周期となるよう、ステップＳ１２において取得されたＦＢ振動移動量の波形を周期毎に分割する。また、表示制御部４４３は、オペレータによって横軸として主軸の回転角度が選択された場合、主軸の回転指令を用いて、横軸左端から横軸右端までが主軸の１回転（すなわち、３６０度）となるよう、ステップＳ１２の処理において取得されたＦＢ振動移動量の波形を主軸の１回転毎に分割する。そして、表示制御部４４３は、続くステップＳ１５の処理に移行する。なお、表示制御部４４３のうちＦＢ振動移動量の波形を分割する部分が第２波形分割部及び第４波形分割部に相当し、ステップＳ１４の処理が第２波形分割ステップ及び第４波形分割ステップに相当する。
【００４０】
ステップＳ１５に移行すると、画面処理部４４の表示制御部４４３は、ステップＳ１３において分割された指令振動移動量を用いて、ｎ周期目又はｎ回転目の指令振動移動量とｎ＋１周期目又はｎ＋１回転目の指令振動移動量との差分を算出する。
【００４１】
詳しくは、表示制御部４４３は、オペレータによって横軸として単位時間が選択された場合、ｎ周期目の指令振動移動量の波形であるｎ周期目指令振動波形、及びｎ＋１周期目の指令振動移動量の波形であるｎ＋１周期目指令振動波形において、対応する時点における指令振動移動量の差分を算出する。なお、この差分が零より大きい場合、すなわち、ｎ周期目の対応する時点における指令振動移動量の方がｎ＋１周期目の対応する時点における指令振動移動量より大きい場合、振動切削において切り屑が分断されうる指令振動移動量が駆動部１０に出力されていることを意味する。一方、この差分が零以下になる場合、すなわち、ｎ周期目の対応する時点における指令振動移動量の方がｎ＋１周期目の対応する時点における指令振動移動量以下である場合、振動切削において切り屑が分断されうる指令振動移動量でさえ駆動部１０に出力されていないことを意味する。
【００４２】
また、表示制御部４４３は、オペレータによって横軸として主軸の回転角度が選択された場合、ｎ回転目の指令振動移動量の波形であるｎ回転目指令振動波形、及びｎ＋１回転目の指令振動移動量の波形であるｎ＋１回転目指令振動波形において、対応する主軸の回転角度における指令振動移動量の差分を算出する。なお、この差分が零より大きい場合、すなわち、ｎ回転目の対応する時点における指令振動移動量の方がｎ＋１回転目の対応する時点における指令振動移動量より大きい場合、振動切削において切り屑が分断される指令振動移動量が駆動部１０に出力されていることを意味する。一方、この差分が零以下になる場合、すなわち、ｎ回転目の対応する時点における指令振動移動量の方がｎ＋１回転目の対応する時点における指令振動移動量以下である場合、振動切削において切り屑が分断される指令振動移動量が駆動部１０に出力されていないことを意味する。
【００４３】
そして、表示制御部４４３は、続くステップＳ１６の処理に移行する。なお、ここでｎは自然数であり、ステップＳ１０の開始時にオペレータによって指定される。また、以下、上記差分が零より大きい領域を指令振動移動量の空振り領域と記載する。さらに、ｎ周期目指令振動波形及びｎ＋１周期目指令振動波形が、ｎ番目指令振動波形及びｎ＋１番目指令振動波形にそれぞれ相当する。
【００４４】
ステップＳ１６に移行すると、画面処理部４４の表示制御部４４３は、先のステップＳ１５の処理と同様に、ステップＳ１４において分割されたＦＢ振動移動量を用いて、ｎ周期目又はｎ回転目のＦＢ振動移動量とｎ＋１周期目又はｎ＋１回転目のＦＢ振動移動量との差分を算出する。
【００４５】
詳しくは、表示制御部４４３は、オペレータによって横軸として時間が選択された場合、ｎ周期目のＦＢ振動移動量の波形であるｎ周期目ＦＢ振動波形、及びｎ＋１周期目のＦＢ振動移動量の波形であるｎ＋１周期目ＦＢ振動波形において、対応する時点におけるＦＢ振動移動量の差分を算出する。なお、この差分が零より大きい場合、すなわち、ｎ回転目の対応する時点におけるＦＢ振動移動量の方がｎ＋１回転目の対応する時点におけるＦＢ振動移動量より大きい場合、振動切削において切り屑が実際に分断されたことを意味する。一方、この差分が零以下になる場合、すなわち、ｎ回転目の対応する時点におけるＦＢ振動移動量の方がｎ＋１回転目の対応する時点におけるＦＢ振動移動量以下である場合、振動切削において切り屑が分断されなかったことを意味する。
【００４６】
また、表示制御部４４３は、オペレータによって横軸として主軸の回転角度が選択された場合、ｎ回転目のＦＢ振動移動量の波形であるｎ回転目指令振動波形、及びｎ＋１回転目のＦＢ振動移動量の波形であるｎ＋１回転目ＦＢ振動波形において、対応する回転角度におけるＦＢ振動移動量の差分を算出する。なお、この差分が零より大きい場合、すなわち、ｎ回転目の対応する主軸の回転角度におけるＦＢ振動移動量の方がｎ＋１回転目の対応する主軸の回転角度におけるＦＢ振動移動量より大きい場合、振動切削において切り屑が実際に分断されたことを意味する。一方、この差分が零以下なる場合、すなわち、ｎ回転目の対応する主軸の回転角度におけるＦＢ振動移動量の方がｎ＋１回転目の対応する主軸の回転角度におけるＦＢ振動移動量以下である場合、振動切削において切り屑が実際に分断されなかったことを意味する。
【００４７】
そして、表示制御部４４３は、続くステップＳ１７の処理に移行する。なお、ここでもｎは自然数であり、ステップＳ１０の開始時にオペレータによって指定される。また、以下、上記差分がより大きい領域をＦＢ振動移動量の空振り領域と記載する。さらに、ｎ周期目ＦＢ振動波形及びｎ＋１周期目ＦＢ振動波形が、ｎ番目実位置波形及びｎ＋１番目実位置波形にそれぞれ相当する。
【００４８】
ステップＳ１７に移行すると、画面処理部４４の表示制御部４４３は、ステップＳ１３及びＳ１４にて分割された指令振動移動量及びＦＢ振動移動量を用いて画面表示データを作成し、共有エリア４３４に書き込むとともに表示部３０に表示する。詳しくは、表示制御部４４３は、単位時間を横軸として、ｎ周期目指令振動波形及びｎ＋１周期目指令振動波形に、ｎ周期目ＦＢ振動波形及びｎ＋１周期目ＦＢ振動波形を、それぞれ重畳させて表示部３０に表示する。または、表示制御部４４３は、主軸の１回転の回転角度を横軸として、ｎ回転目及びｎ＋１回転目の指令振動移動量の波形に、ｎ回転目及びｎ＋１回転目のＦＢ振動移動量の波形を、それぞれ重畳して表示する。そして、表示制御部４４３は、続くステップＳ１８に移行する。なお、ステップＳ１７の処理が表示制御ステップに相当する。
【００４９】
ステップＳ１８に移行すると、画面処理部４４の表示制御部４４３は、ステップＳ１５及びステップＳ１６にて算出した差分が零より大きい場合、この空振り領域を他の領域とは識別可能に強調表示する。本実施形態１では、強調表示の例として、例えば緑色等で領域を塗り潰して表示することを採用するが、塗り潰す色は別の色であってもよく、塗り潰さなくても透過するようにしてもよく、他の領域と識別可能であれば、その手段は任意である。ちなみに、ｎ周期目指令振動波形及びｎ＋１周期目指令振動波形によって形成される空振り領域が第１空振り領域に相当し、ｎ周期目ＦＢ振動波形及びｎ＋１周期目ＦＢ振動波形によって形成される空振り領域が第２空振り領域に相当する。また、ｎ回転目指令振動波形及びｎ＋１回転目指令振動波形によって形成される空振り領域が第３空振り領域に相当し、ｎ回転目ＦＢ振動波形及びｎ＋１回転目ＦＢ振動波形によって形成される空振り領域が第４空振り領域に相当する。
【００５０】
図６Ａ及び図６Ｂに、実施形態１の数値制御システム１が上記波形表示処理Ｓ１０を実行することによって表示部３０に表示される表示画面３１及び３１ａの一例を示す。なお、波形表示処理Ｓ１０では、Ｘ軸の指令振動移動量及びＦＢ振動移動量を縦軸に表示する選択操作、及び単位時間を横軸として表示する選択操作が行われたものとする。
【００５１】
図６Ａ及び図６Ｂに示されるように、数値制御システム１は、ｎ周期目及びｎ＋１周期目のＸ軸指令振動移動量の波形を実線の曲線Ｃｎ及びＣｎ＋１にてそれぞれ表示し、ｎ周期目及びｎ＋１周期目のＸ軸ＦＢ指令振動移動量の波形を破線の曲線ＦＢｎ及びＦＢｎ＋１にてそれぞれ表示している。図６Ａ及び図６Ｂでは、曲線Ｃｎ及びＣｎ＋１は互いに交差しており空振り領域Ｓ１及びＳ２が形成されていることから、数値制御システム１は、当該空振り領域Ｓ１及びＳ２を、他の領域と識別可能に強調表示している。図６Ｂでは、曲線ＦＢｎ及びＦＢｎ＋１は互いに交差しており空振り領域Ｓ３及びＳ４が形成されていることから、数値制御システム１は、当該空振り領域Ｓ３及びＳ４を、他の領域と識別可能に強調表示している。なお、図示の都合上、図６Ａ及び図６Ｂでは、空振り領域Ｓ１〜Ｓ４について斜線を付すことによって強調表示している。
【００５２】
図６Ａに示した例では、指令振動移動量の波形には、空振り領域Ｓ１及びＳ２が出現しているものの、ＦＢ振動移動量の波形には、空振り領域が出現していない。すなわち、数値制御システム１では、制御演算部４０から駆動部１０に対して、振動切削において切り屑が分断される指令振動移動量が出力されているものの、実際には、振動切削において切り屑が分断されておらず、振動切削ができていないことを示している。このように表示されることから、オペレータは、例えば、指令振動移動量を見直す、Ｘ軸サーボ制御部１０３ｘのサーボパラメータを見直す等、その対処を推測することができるようになる。
【００５３】
また、図６Ｂに示した例では、指令振動移動量の波形に空振り領域Ｓ１及びＳ２が出現しており、かつ、ＦＢ振動移動量の波形にも空振り領域Ｓ３及びＳ４が出現している。すなわち、数値制御システム１では、制御演算部４０から駆動部１０に対して、振動切削において切り屑が分断される指令振動移動量が出力されており、その結果、振動切削において切り屑が分断され、振動切削ができていることを示している。
【００５４】
以上のように構成された数値制御システム１では、単位時間を横軸（すなわち時間軸）として、ｎ周期目指令振動波形及びｎ＋１周期目指令振動波形に、ｎ周期目ＦＢ振動波形及びｎ＋１周期目ＦＢ振動波形を、それぞれ重畳させて表示部３０に表示することとした。また、主軸の１回転の回転角度を横軸として、ｎ回転目指令振動波形及びｎ＋１回転目指令振動波形に、ｎ回転目ＦＢ振動波形及びｎ＋１回転ＦＢ振動波形を、それぞれ重畳して表示することとした。これにより、振動切削ができていない場合に、オペレータがその対処を推測することを支援することができるようになる。
【００５５】
また、数値制御システム１では、ｎ周期目指令振動波形Ｃｎ及びｎ＋１周期目指令振動波形Ｃｎ＋１にて囲まれる領域のうち、ｎ周期目指令振動波形Ｃｎの方がｎ＋１周期目指令振動波形Ｃｎ＋１よりも大きい領域である指令上の空振り領域Ｓ１及びＳ２を、当該空振り領域Ｓ１及びＳ２の他の領域と識別可能に強調表示することとした。また、ｎ周期目ＦＢ振動波形ＦＢｎ及びｎ＋１周期目ＦＢ振動波形ＦＢｎ＋１にて囲まれる領域のうち、ｎ周期目ＦＢ振動波形ＦＢｎの方がｎ＋１周期目ＦＢ振動波形ＦＢｎ＋１よりも大きい領域である加工上の空振り領域Ｓ３及びＳ４を、当該空振り領域Ｓ３及びＳ４の他の領域と識別可能に強調表示することとした。また、ｎ回転目指令振動波形及びｎ＋１回転目指令振動波形にて囲まれる領域のうち、ｎ回転目指令振動波形の方がｎ＋１回転目指令振動波形よりも大きい領域である指令上の空振り領域を、当該空振り領域の他の領域と識別可能に強調表示することとした。また、ｎ回転目ＦＢ振動波形ＦＢｎ及びｎ＋１回転目ＦＢ振動波形ＦＢｎ＋１にて囲まれる領域のうち、ｎ回転目ＦＢ振動波形ＦＢｎの方がｎ＋１回転目ＦＢ振動波形ＦＢｎ＋１よりも大きい領域である加工上の空振り領域を、当該空振り領域の他の領域と識別可能に強調表示することとした。これにより、オペレータは、空振り領域の有無の識別をより容易に行うことができるようになる。
【００５６】
なお、実施形態１の数値制御システム１では、ｎ周期目指令振動波形、ｎ＋１周期目指令振動波形、ｎ周期目ＦＢ振動波形、及びｎ＋１周期目ＦＢ振動波形を重畳表示する、あるいは、ｎ回転目指令振動波形、ｎ＋１回転目指令振動波形、ｎ回転目ＦＢ振動波形、及びｎ＋１回転目ＦＢ振動波形を重畳表示することとしたが、この構成に限らない。他に例えば、ｎ周期目の工具の切削移動量の波形及びｎ＋１周期目の工具の切削移動量の波形、あるいは、ｎ回転目の工具の切削移動量の波形及びｎ＋１回転目の工具の切削移動量の波形をさらに重畳表示させることとしてもよい。具体的には、図６Ａに示した表示画面３１に対応する図として、図６Ｃに示す表示画面３１ｂ中の一点鎖線にて示すように、工具の切削移動量Ｔｐを重畳表示させることとしてもよい。これによっても、実施形態１の数値制御システム１と同様の作用効果を奏することができる。なお、工具の切削移動量の生成については、加工プログラムに記載された切削指令を用いて算出することができる。また、実施形態１の数値制御システム１では、図６Ｂに示した表示画面３１において、空振り領域Ｓ１〜Ｓ４すべてを強調表示したが、この構成に限らない。空振り領域Ｓ３及びＳ４が出現した場合にこれらを強調表示する一方、空振り領域Ｓ１及びＳ２については強調表示をしなくてもよい。これにより、オペレータは、振動切削において切り屑が分断され振動切削ができていることを示す、空振り領域Ｓ３及びＳ４の出現をより認識しやすくなる。
【００５７】
実施形態２．
実施形態２の数値制御装置を含む数値制御システム２について、図７〜図９Ａ及び図９Ｂを参照して説明する。図７は、数値制御システム２の一例を示すブロック図である。図８は、実施形態２の数値制御システム２によって実行されるガイダンス表示処理の一例を示すフローチャートである。図９Ａ及び図９Ｂは、実施形態２の数値制御システム２がガイダンス表示処理Ｓ２０を実施することによって表示部３０に表示される表示画面３２ａ及び３２ｂの一例を示す図である。
【００５８】
図７に示すように、実施形態２の数値制御システム２は、図１に示した実施形態１の数値制御システム１に準じた構成を有している。そのため、以下では、実施形態１と重複する説明を割愛する。なお、駆動部１０及び制御演算部４０ａが駆動軸制御部及び数値制御装置にそれぞれ相当する。
【００５９】
図８に示すように、実施形態２では、画面処理部４４ａの表示制御部４４３ａは、実施形態１の表示制御部４４３が実行する上記ステップＳ１１〜Ｓ１７に加え、ステップＳ２１〜Ｓ２４ｂを実行する。
【００６０】
詳しくは、表示制御部４４３ａは、上記ステップＳ１８を実行すると、ステップＳ２１の処理へ移行する。表示制御部４４３ａは、ステップＳ２１において、上記ステップＳ１５にて算出した差分が零より大きいか否かを判断する。ここで、差分が零より大きい場合、表示制御部４４３ａは、空振り領域があると判断し（ステップＳ２１で「Ｙｅｓ」）、続くステップＳ２２へ移行する。表示制御部４４３ａは、ステップＳ２２において、上記ステップＳ１６にて算出した差分が零より大きいか否かを判断する。ここで、差分が零より大きい場合、表示制御部４４３ａは、空振り領域があると判断し（ステップＳ２２で「Ｙｅｓ」）、続くステップＳ２３へ移行する。表示制御部４４３ａは、ステップＳ２３において、空振り領域を他の領域とは識別可能に強調表示する。
【００６１】
一方、上記ステップＳ２１の処理において、指令振動移動量に指令上の空振り領域がないと判断すると（ステップＳ２１で「Ｎｏ」）、表示制御部４４３ａは、続くステップＳ２４ａの処理へ移行し、指令振動移動量の問題点について解決方法のガイダンスを表示する。詳しくは、指令振動波形に空振り領域がないことは、指令振動波形の振動振幅が小さいことを意味する。そのため、表示制御部４４３ａは、図９Ａに表示画面３２ａの一例を示すように、例えば、『指令振動波形に空振り領域がないため、振動条件の振幅が大きくなるよう振動条件を見直して下さい。見直し後、指令振動波形及びＦＢ振動波形に空振り領域が出現するか確認して下さい。』、『指令振動波形の振幅を大きくした結果、工作機械が振動する場合、振幅を大きくしたまま、振動条件の振動回数（すなわち、周波数）が小さくなるように振動条件を見直して下さい。見直し後、指令振動波形及びＦＢ振動波形に空振り領域が出現するか確認して下さい。』等をガイダンス表示する。ちなみに、ステップＳ２４ａにおいて表示されるガイダンスが第１ガイダンス及び第３ガイダンスに相当する。
【００６２】
また、上記ステップＳ２２の処理において、ＦＢ振動移動量に空振り領域がないと判断すると（ステップＳ２２で「Ｎｏ」）、表示制御部４４３ａは、続くステップＳ２４ｂの処理へ移行し、ＦＢ振動移動量の問題点について解決方法のガイダンスを表示する。詳しくは、指令振動波形に指令上の空振り領域があるにもかかわらず、ＦＢ振動波形に加工上の空振り領域がないことは、指令振動波形に追従できずＦＢ振動波形の振動振幅が小さいことを意味する。そのため、表示制御部４４３ａは、図９Ｂに表示画面３２ｂの一例を示すように、例えば、『指令振動波形に空振り領域があるため、振動条件の振幅が大きくなるように振動条件を見直して下さい。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。ただし、工作機械が大きく振動する場合は、他の処置を行って下さい。』、『指令振動波形に空振り領域があるため、振動条件の振動回数（すなわち、周波数）が小さくなるように振動条件を見直して下さい。サーボモータが追従できていない可能性があります。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。』、『指令振動波形に空振り領域があるため、主軸回転数が小さくなるように見直して下さい。サーボモータが追従できていない可能性があります。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。』、及び『指令振動波形に空振り領域があるため、応答性が上がるように駆動部の制御パラメータを見直して下さい。サーボモータが追従できていない可能性があります。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。ただし、工作機械が大きく振動する場合は、他の処置を行って下さい。』等をガイダンス表示する。ちなみに、ステップＳ２４ｂにおいて表示されるガイダンスが第２ガイダンス及び第４ガイダンスに相当する。
【００６３】
以上説明した実施形態２の数値制御システム２では、指令振動波形に指令上の空振り領域がない場合、空振り領域が出現するためのガイダンスを表示することとした。さらに、指令振動波形に指令上の空振り領域があり、かつ、ＦＢ振動波形に加工上の空振り領域がない場合に、空振り領域が出現するためのガイダンスを表示することとした。空振り領域が出現するためのガイダンスが表示されることから、経験の浅いオペレータであっても、ガイダンス表示内容を見て、振動切削ができていないことへの対策を容易に採ることができるようになる。
【００６４】
なお、実施形態２の数値制御システム２では、指令振動波形に空振り領域があり、かつ、ＦＢ振動波形に空振り領域がない場合に、空振り領域が出現するためのガイダンスを表示することとしたが、指令振動波形に空振り領域があるかないかにかかわらず、ＦＢ振動波形に空振り領域がない場合に、空振り領域が出現するためのガイダンスを表示することとしてもよい。これによっても、実施形態２の数値制御システム２と同様の作用効果を奏することができる。また、指令振動波形に指令上の空振り領域がなく、ＦＢ振動波形に加工上の空振り領域がある場合にも、ガイダンス表示してもよい。指令振動波形に指令上の空振り領域がなく、ＦＢ振動波形に加工上の空振り領域がある場合は、サーボモータの過応答で発生する可能性がある。この場合の対処として、サーボモータの制御パラメータ（サーボゲイン）を小さくする必要があるため、この旨をガイダンス表示することとしてもよい。これによっても、実施形態２の数値制御システム２と同様の作用効果を奏することができる。
【００６５】
実施形態３
実施形態３の数値制御装置を含む数値制御システム３について、図１０を参照して説明する。図１０は、数値制御システム３の一例を示すブロック図である。
【００６６】
図１０に示すように、実施形態３の数値制御システム３は、図１に示した実施形態１の数値制御システム１及び図７に示した実施形態２の数値制御システム２に準じた構成を有している。そのため、以下では、実施形態１及び実施形態２と重複する説明を割愛する。
【００６７】
図１０に示されるように、数値制御システム３は、機械学習部７０を有している。機械学習部７０は、制御演算部４０ｂと接続されており、観測部７１と、学習部７２とを有する。
【００６８】
機械学習部７０は、上記指令振動波形によって形成される第１空振り領域又は第３空振り領域の情報（ｒ）、上記ＦＢ振動波形によって形成される第２空振り領域又は第４空振り領域の情報（ｒ）、及び第２空振り領域又は第４空振り領域が出現しなかった場合に変更された各種パラメータの変更情報（ｒ）を用いて、振動切削ができていない場合（すなわち、切り屑が分断されない場合）の対処であるガイダンス情報（ｎ）を推測する。なお、各種パラメータの変更情報（ｒ）には、各種パラメータが変更された旨の情報であるオペレータ変更情報（ｒ）、及びその変更内容の情報であるパラメータ変更情報（ｒ）が含まれる。さらに、各種パラメータとしては、第２空振り領域又は第４空振り領域が出現しなかった場合にその対処としてオペレータが変更することの多い、サーボパラメータ（すなわち、サーボゲイン）の変更情報、振動指令（すなわち、上記振動条件）の変更情報、主軸回転数の変更情報等の少なくともいずれか一つである。なお、以下の説明では、上記第１空振り領域又は第３空振り領域の情報（ｒ）、上記第２空振り領域又は第４空振り領域の情報（ｒ）、及び上記各種パラメータの変更情報（ｒ）が互いに関連付けられた情報を状態情報（ｉ）とも記載する。ちなみに、状態変数（ｉ）が第１〜第４状態変数に相当する。
【００６９】
観測部７１は、データ観測した結果である状態情報（ｉ）を学習部７２に出力する。詳しくは、観測部７１は、上記オペレータ変更情報（ｒ）をトリガとして、上記第１空振り領域又は第３空振り領域の情報（ｒ）、上記第２空振り領域又は第４空振り領域の情報（ｒ）、及び上記各種パラメータの変更情報（ｒ）を、上記オペレータ変更情報（ｒ）とともに観測し、上記状態情報（ｉ）を学習部７２に出力する。
【００７０】
学習部７２は、観測部７１から出力された状態情報（ｉ）を状態変数として学習し、振動切削ができていない場合（すなわち、切り屑が分断されない場合）の対応策であるガイダンス情報（ｎ）を推測する。
【００７１】
詳しくは、実施形態３では、学習部７２は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、上記状態情報（ｉ）から学習し、ガイダンス情報（ｎ）を学習結果（推測値）として出力する。ここで、教師あり学習とは、ある入力と結果のデータの組を大量に学習部に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデルをいう。ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、及び複数のニューロンからなる出力層で構成される。中間層は、１層、又は２層以上でもよい。例えば、３層のニューラルネットワークであれば、複数の入力が入力層に入力されると、その値に重みを掛けて中間層に入力され、その結果にさらに重みを掛けて出力層から出力される。この出力結果は、各々の重みの値によって変わる。すなわち、学習部７２は、ニューラルネットワークを有しており、上記状態情報（ｉ）を用いてニューラルネットワークの上記重みを調整することにより、ガイダンス情報（ｎ）を学習結果（推測値）として制御演算部４０ｂに出力する。
【００７２】
図１１は、実施形態２によって表示される表示画面３２ｂに対応する、実施形態３によって表示される表示画面３３の一例である。この図１１を併せ参照して説明する。制御演算部４０ｂの表示制御部４４３ｂは、機械学習部７０からガイダンス情報（ｎ）が学習結果として出力されると、図１１に表示画面３３の一例を示すように、例えば１位から４位までの優先順位をつけて精度の高い解決方法をガイダンス表示する。
【００７３】
詳しくは、表示制御部４４３ｂは、例えば、『指令振動波形に空振り領域があるため、振動条件の振幅が大きくなるように振動条件を見直して下さい。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。ただし、工作機械が大きく振動する場合は、次の処置を行って下さい。』、『指令振動波形に空振り領域があるため、応答性が上がるように駆動部の制御パラメータを見直して下さい。サーボモータが追従できていない可能性があります。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。ただし、工作機械が大きく振動する場合は、次の処置を行って下さい。』、『指令振動波形に空振り領域があるため、振動条件の振動回数（すなわち、周波数）が小さくなるように振動条件を見直して下さい。サーボモータが追従できていない可能性があります。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。空振り領域が出現しない場合は、次の処置を行って下さい。』、及び『指令振動波形に空振り領域があるため、主軸回転数が小さくなるように見直して下さい。サーボモータが追従できていない可能性があります。見直し後、ＦＢ振動波形に空振り領域が出現するか確認して下さい。』等を、１位から４位までの可能性が高い順位をつけて精度の高い解決方法をガイダンス表示する。これにより、経験の浅いオペレータでも、振動切削ができていない場合の対応策を、精度よく、かつ、容易に採ることができるようになる。
【００７４】
なお、実施形態３では、学習部７２は、いわゆる教師あり学習によって、ガイダンス情報（ｎ）を学習していたが、この構成に限らない。他に例えば、学習部７２は、いわゆる教師なし学習によって、ガイダンス情報（ｎ）を学習してもよい。ここで、教師なし学習とは、入力データのみを大量に機械学習部７０に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮・分類・整形等を行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすること等ができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。
【００７５】
また、実施形態３（変形例を含む）では、学習部７２は、単一の制御演算部４０ｂに対して作成されるデータセットに従ってガイダンス情報（ｎ）を学習結果（推測値）として出力していたが、この構成に限られない。学習部７２は、複数の制御演算部４０ｂに対して作成されるデータセットに従って、ガイダンス情報（ｎ）を学習結果（推測値）として出力してもよい。他にも、学習部７２は、同一の現場で使用される複数の制御演算部４０ｂからデータセットを取得してもよいし、あるいは、異なる現場で独立して稼働する複数の工作機械の制御演算部４０ｂから収集されるデータセットを利用してもよい。さらに、データセットを収集する制御演算部４０ｂを、学習の途中で、学習対象として追加したり、あるいは、学習対象から切り離したりしてもよい。また、ある制御演算部４０ｂで学習した機械学習部７０を、これとは別の制御演算部４０ｂと接続し、当該別の制御演算部４０ｂが実行する上記振動切削に関する情報に再学習してガイダンス情報（ｎ）の学習結果（推測値）を更新するようにしてもよい。また、学習部７２に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）を用いることもでき、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【００７６】
なお、機械学習部７０を例えばサーバ等に配置し、制御演算部４０ｂと機械学習部７０とを有線通信にて接続してもよく、機械学習部７０を例えばクラウドサーバ等に配置し、制御演算部４０ｂと機械学習部７０とを無線通信にて接続してもよい。また、制御演算部４０ｂと機械学習部７０とを別個の構成とするのではなく、機械学習部７０を制御演算部４０ｂに内蔵させた構成としてもよい。
【００７７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【産業上の利用可能性】
【００７８】
本発明は、工具及び加工対象を相対的に移動させて切り屑を分断しながら加工対象の加工する振動切削を行う数値制御装置及び数値制御方法の実現に好適である。
【符号の説明】
【００７９】
１，２，３  数値制御システム、１０  駆動部、２０  入力操作部、３０  表示部、３１，３１ａ，３１ｂ，３２，３２ａ，３３  表示画面  ４０，４０ａ，４０ｂ  制御演算部、４１  入力制御部、４２  データ設定部、４３  記憶部、４４，４４ａ，４４ｂ  画面処理部、４５  解析処理部、４６  機械制御信号処理部、４７  ＰＬＣ回路部、４８  補間処理部、４９  加減速処理部、５０  軸データ入出力部、６１  加工対象、６２  工具、７０  機械学習部、７１  観測部、７２  学習部、１０１ｘ  Ｘ軸サーボモータ、１０１ｚ  Ｚ軸サーボモータ、１０１ｓ  主軸モータ、１０２ｘ、１０２ｚ、１０２ｓ  検出器、１０３ｘ  Ｘ軸サーボ制御部、１０３ｚ  Ｚ軸サーボ制御部、１０３ｓ  主軸制御部、４３１  パラメータ記憶エリア、４３２  加工プログラム記憶エリア、４３３  表示データ記憶エリア、４３４  共有エリア、４４１  指令振動移動量取得部、４４２  ＦＢ振動移動量取得部、４４３，４４３ａ，４４３ｂ  表示制御部、４５１  移動指令解析部、４５２  振動指令解析部、４８１  指令振動移動量生成部、４８２  ＦＢ振動移動量取得部。
【要約】
数値制御装置４０は、振動切削指令によって指定される指令振動移動量の波形、及び検出器１０２ｘ〜１０２ｓによって検出される実位置の波形を、単位時間ごとにそれぞれ分割する画像処理部４４を有しており、この画像処理部４４は、時間軸に対し、ｎを自然数として、ｎ番目の指令振動移動量の波形であるｎ番目指令振動波形、ｎ＋１番目の指令振動移動量の波形であるｎ＋１番目指令振動波形、ｎ番目の実位置の波形であるｎ番目実位置波形、及びｎ＋１番目の実位置の波形であるｎ＋１番目実位置波形を、表示部３０に重畳表示する。【図１】
0006813129.tif 000002
【図２Ａ】
0006813129.tif 000003
【図２Ｂ】
0006813129.tif 000004
【図３】
0006813129.tif 000005
【図４】
0006813129.tif 000006
【図５】
0006813129.tif 000007
【図６Ａ】
0006813129.tif 000008
【図６Ｂ】
0006813129.tif 000009
【図６Ｃ】
0006813129.tif 000010
【図７】
0006813129.tif 000011
【図８】
0006813129.tif 000012
【図９Ａ】
0006813129.tif 000013
【図９Ｂ】
0006813129.tif 000014
【図１０】
0006813129.tif 000015
【図１１】
0006813129.tif 000016