(57)【要約】【課題】積載物の質量変化に合わせて振動を抑制できる数値制御装置と制御方法を提供する。【解決手段】数値制御装置のＣＰＵは、ヘッド側フィルタ設計処理（Ｓ９）で、フィルタｔａを設定する。フィルタｔａは、工作機械の固有振動数の逆数を時定数とする移動平均フィルタである。ＣＰＵは、テーブル側フィルタ設計処理（Ｓ１０）で、フィルタｔｂを設定する（Ｓ１０）。フィルタｔｂは、テーブル上の積載物の質量に応じて変化する振動周波数の逆数を時定数とする移動平均フィルタである。ＣＰＵは、設計したフィルタｔａとフィルタｔｂを合成し、フィルタｔｃを設計する（Ｓ１１）。ＣＰＵは加工制御処理において、フィルタｔｃのうちフィルタｔｂの時定数を、テーブル上の積載物の質量に応じて変更可能に設定し、軸毎にフィルタｔｃで加速度指令を処理する。【選択図】図１２
2019175027.tif 000002
【特許請求の範囲】
【請求項１】
テーブルをモータで移動し、主軸に装着した工具で前記テーブル上に冶具で支持した被削材を加工可能な機械の動作を制御し、前記テーブルの位置指令から生成した加速度指令に対して加減速処理を実行可能な制御部を備えた数値制御装置において、
前記制御部は、
前記機械の固有振動数の逆数を時定数とする第一フィルタで、前記加速度指令を処理する第一処理部と、
前記テーブル上の積載物の質量に応じて変化する振動周波数の逆数を時定数とする第二フィルタで、前記加速度指令を処理する第二処理部と
前記第二フィルタの時定数を、前記質量に応じて変更可能に設定する設定部と
を備えたことを特徴とする数値制御装置。
【請求項２】
前記設定部は、
前記質量の入力を受け付ける受付部と、
前記質量に応じて変化する前記振動周波数の変化割合に基づき、前記受付部が受け付けた前記質量に対応する振動周波数を算出する算出部と
を備え、
前記算出部が算出した前記振動周波数の逆数を前記時定数として設定すること
を特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記テーブルは、交差する二軸方向へ移動可能であって、
前記モータは、前記二軸方向の軸毎に夫々設け、
前記制御部は、前記軸毎に前記加減速処理を実行可能であること
を特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記第一フィルタ及び前記第二フィルタはＦＩＲフィルタであること
を特徴とする請求項１から３の何れかに記載の数値制御装置。
【請求項５】
テーブルをモータで移動し、主軸に装着した工具で前記テーブル上に冶具で支持した被削材を加工可能な機械の動作を制御し、前記テーブルの位置指令から生成した加速度指令に対して加減速処理を実行可能な制御ステップを備えた数値制御装置の制御方法において、
前記制御ステップは、
前記機械の固有振動数の逆数を時定数とする第一フィルタで、前記加速度指令を処理する第一処理ステップと、
前記テーブル上の積載物の質量に応じて変化する振動周波数の逆数を時定数とする第二フィルタで、前記加速度指令を処理する第二処理ステップと
前記第二フィルタの時定数を、前記質量に応じて変更可能に設定する設定ステップと
を備えたことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置と制御方法に関する。
【背景技術】
【０００２】
特許文献１に記載の数値制御装置は、被削材を支持するテーブルを交差する２軸方向へ軸毎に設けたモータで駆動する制御を行う。第１低域通過フィルタは、前記２軸方向のうち一方の軸方向に発生する振動の周波数の逆数を時定数とする。第２低域通過フィルタは、前記２軸方向のうち他方の軸方向に発生する振動の周波数の逆数を時定数とする。数値制御装置は、モータ夫々を変速する変速信号を第１及び第２低域通過フィルタに通過して平滑化する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６１０７３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
テーブルの積載質量の変化により機械振動の周波数は変化する。故に第１及び第２低域通過フィルタを用いて特定の周波数に対して制振を行う上記方法は、効果的に制振できない可能性がある。
【０００５】
本発明の目的は、積載物の質量変化に合わせて振動を抑制できる数値制御装置と制御方法を提供することである。
【課題を解決するための手段】
【０００６】
請求項１の数値制御装置は、テーブルをモータで移動し、主軸に装着した工具で前記テーブル上に冶具で支持した被削材を加工可能な機械の動作を制御し、前記テーブルの位置指令から生成した加速度指令に対して加減速処理を実行可能な制御部を備えた数値制御装置において、前記制御部は、前記機械の固有振動数の逆数を時定数とする第一フィルタで、前記加速度指令を処理する第一処理部と、前記テーブル上の積載物の質量に応じて変化する振動周波数の逆数を時定数とする第二フィルタで、前記加速度指令を処理する第二処理部と前記第二フィルタの時定数を、前記質量に応じて変更可能に設定する設定部とを備えたことを特徴とする。テーブルが移動して停止すると、機械は振動する。テーブル上の積載物の質量を変更した場合、機械の固有振動数はほぼ変化しないが、モータで移動するテーブルの機構に起因する振動周波数は変化する。数値制御装置の制御部は第一処理部と第二処理部で、テーブルの加速度指令を処理する。第一処理部は、固有振動数の逆数を時定数とする第一フィルタで加速度指令を処理する。第二処理部は、積載物の質量に応じて変化する振動周波数の逆数を時定数とする第二フィルタで加速度指令を処理する。設定部は、第二フィルタの時定数を、積載物の質量に応じて変更可能に設定する。故に数値制御装置は、テーブルの移動停止時に機械に発生する振動について、機械の固有振動数による振動を抑制し、且つテーブル上の積載物の質量の変更によって変化する周波数の振動も抑制できる。
【０００７】
請求項２の数値制御装置の前記設定部は、前記質量の入力を受け付ける受付部と、前記質量に応じて変化する前記振動周波数の変化割合に基づき、前記受付部が受け付けた前記質量に対応する振動周波数を算出する算出部とを備え、前記算出部が算出した前記振動周波数の逆数を前記時定数として設定するとよい。数値制御装置は、テーブル上の積載物の質量に応じて変化する振動周波数の変化割合に基づき、受付部が受け付けた質量に対応する振動周波数を算出し、算出した振動周波数の逆数を時定数として設定する。故に数値制御装置は、積載物の質量を入力するだけで、その質量に応じて機械に発生する振動を抑制できる。
【０００８】
請求項３の数値制御装置の前記テーブルは、交差する二軸方向へ移動可能であって、前記モータは、前記二軸方向の軸毎に夫々設け、前記制御部は、前記軸毎に前記加減速処理を実行可能であるとよい。故に数値制御装置は、テーブルが軸方向に移動して位置決めする際に機械に発生する振動を抑制できる。
【０００９】
請求項４の数値制御装置の前記第一フィルタ及び前記第二フィルタはＦＩＲフィルタであるとよい。第一フィルタ及び第二フィルタは、ＦＩＲフィルタであるので、加速度指令で制御する加速度の周波数から、第一フィルタの時定数の逆数である機械の固有振動数と、第二フィルタの時定数の逆数である振動周波数とを取り除くことができる。
【００１０】
請求項５の制御方法は、テーブルをモータで移動し、主軸に装着した工具で前記テーブル上に冶具で支持した被削材を加工可能な機械の動作を制御し、前記テーブルの位置指令から生成した加速度指令に対して加減速処理を実行可能な制御ステップを備えた数値制御装置の制御方法において、前記制御ステップは、前記機械の固有振動数の逆数を時定数とする第一フィルタで、前記加速度指令を処理する第一処理ステップと、前記テーブル上の積載物の質量に応じて変化する振動周波数の逆数を時定数とする第二フィルタで、前記加速度指令を処理する第二処理ステップと、前記第二フィルタの時定数を、前記質量に応じて変更可能に設定する設定ステップとを備えたことを特徴とする。数値制御装置は上記各ステップを実行することにより、請求項１に記載の効果を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】工作機械１０の概略側面図。
【図２】数値制御装置２０と工作機械１０の電気的構成を示すブロック図。
【図３】テーブル５０側の固有振動数を示す図表。
【図４】主軸ヘッド７側の固有振動数を示す図表。
【図５】フィルタＡで処理した時の加速度振幅を示す図表。
【図６】フィルタＢで処理した時の加速度振幅を示す図表。
【図７】フィルタＣで処理した時の加速度振幅を示す図表。
【図８】図５〜図６の各振幅をフーリエ変換した結果を示す図表。
【図９】フィルタｔａ、ｔｂ−１、ｔｂ−２の各処理時間を示す図表。
【図１０】フィルタｔａ、ｔｂ−１、ｔｂ−２の各ゲインを示す図表。
【図１１】フィルタｔａとｔｂの夫々のフィルタ変化率を示す図表。
【図１２】フィルタ設計処理の流れ図。
【図１３】ヘッド側フィルタ設計処理。
【図１４】テーブル側フィルタ設計処理。
【図１５】加工制御処理の流れ図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を説明する。図１に示す工作機械１０は、主軸９に装着した工具４を高速回転し、テーブル５０上に冶具（図示略）で固定した被削材Ｗに接触することで、被削材Ｗの切削加工等を行う。工作機械１０の左右方向、前後方向、上下方向は、夫々Ｘ軸方向、Ｙ軸方向、Ｚ軸方向である。
【００１３】
図１，図２を参照し、工作機械１０の構成を説明する。図１に示すように、工作機械１０は、ベッド部２、コラム５、主軸ヘッド７、主軸９、テーブル装置４０、操作盤１６（図２参照）等を備える。工作機械１は、テーブル装置４０のテーブル５０がＸ、Ｙの二軸方向に移動制御可能な工作機械である。ベッド部２は、工作機械１０の土台である。コラム５は、ベッド部２上面後部に固定する。主軸ヘッド７は、コラム５前面に沿ってＺ軸方向に移動可能である。コラム５は前面にＺ軸移動機構（図示略）を備える。Ｚ軸移動機構は、Ｚ軸モータ１１（図２参照）を駆動源とし、主軸ヘッド７をＺ軸方向に移動可能に制御する。Ｚ軸移動機構は、後述するＹ軸移動機構と同様の構造である。主軸９は主軸ヘッド７内部をＺ軸方向に延び、回転可能に設ける。主軸９の下端部に設けた工具装着穴（図示略）は、主軸９下部に設ける。工具４は工具装着穴に装着する。
【００１４】
テーブル装置４０は、ベッド部２上面で且つ主軸ヘッド７下方に設ける。テーブル装置４０は、テーブル５０をＸ軸とＹ軸の二軸方向に移動制御可能に支持する。なお、説明の便宜上、図１に示すテーブル装置４０は、テーブル５０をＹ軸方向に移動するＹ軸移動機構のみを図示し、Ｘ軸移動機構は省略する。テーブル装置４０は、ベッド部４１、Ｙ軸ガイドレール４２、Ｙ軸モータ１４、カップリング４３、ボールねじ４４、前側軸受部４５、ナット４６、テーブル５０等を備える。ベッド部４１、Ｙ軸ガイドレール４２、Ｙ軸モータ１４、カップリング４３、ボールねじ４４、前側軸受部４５、ナット４６は、Ｙ軸移動機構を構成する。
【００１５】
ベッド部４１は、ベッド部２上面に設置する。ベッド部４１は左右方向中央部にＹ軸方向に長い凹部（図示略）を備え、該凹部の内側に、後述するＹ軸移動機構の大部分を格納する。Ｙ軸ガイドレール４２は、ベッド部４１上部に設け、Ｙ軸方向に延びる。Ｙ軸ガイドレール４２は、テーブル５０をＹ軸方向に移動可能に案内する。Ｙ軸モータ１４は、ベッド部４１の凹部後側に設ける。ボールねじ４４は、ベッド部２の凹部内側に設け、Ｙ軸方向に延びる。カップリング４３は、Ｙ軸モータ１４の前方に突出する出力軸と、ボールねじ４４の後端部を互いに連結する。前側軸受部４５は、ボールねじ４４前端部を回転可能に支持する。故にＹ軸モータ１４の出力軸が回転すると、カップリング４３を介してボールねじ４４は回転する。ナット４６はテーブル５０の下面に固定し、ボールねじ４４に螺合する。故にボールねじ４４の回転に伴い、テーブル５０はナット４６と共にＹ軸方向に移動する。
【００１６】
なお、テーブル装置４０は、上記Ｙ軸移動機構に加え、Ｘ軸の移動機構を備える。Ｘ軸移動機構は、Ｙ軸移動機構をＸ軸方向に移動可能に支持する。Ｘ軸移動機構は、Ｘ軸モータ１３（図２参照）を駆動源とし、Ｙ軸移動機構の構造と同様である。
【００１７】
図２に示すように、操作盤１６は、入力部１７と表示部１８を備える。入力部１７は各種入力、指示、設定等を行う為の機器である。表示部１８は各種画面を表示する機器である。操作盤１６は、数値制御装置２０の入出力部２５に接続する。Ｚ軸モータ１１はエンコーダ１１Ａを備える。主軸モータ１２はエンコーダ１２Ａを備える。Ｘ軸モータ１３はエンコーダ１３Ａを備える。Ｙ軸モータ１４はエンコーダ１４Ａを備える。エンコーダ１１Ａ〜１４Ａは数値制御装置２０の後述する駆動回路２６〜２９に各々接続する。
【００１８】
図２を参照し、数値制御装置２０の電気的構成を説明する。数値制御装置２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、記憶装置２４、入出力部２５、駆動回路２６〜２９等を備える。ＣＰＵ２１は、数値制御装置２０を統括制御する。ＲＯＭ２２は、フィルタ設計プログラム、加工制御プログラム等の各種プログラムを記憶する。フィルタ設計プログラムは、後述するフィルタ設計処理（図１２〜図１４参照）を実行する為のプログラムである。加工制御プログラムは、後述する加工制御処理（図１５参照）を実行する為のプログラムである。ＲＡＭ２３は、各種処理実行中の各種データを記憶する。記憶装置２４は不揮発性メモリであり、ＮＣプログラムの他、各種データを記憶する。入出力部２５は、操作盤１６に接続する。駆動回路２６〜２９はサーボアンプである。駆動回路２６はＺ軸モータ１１とエンコーダ１１Ａに接続する。駆動回路２７は主軸モータ１２とエンコーダ１２Ａに接続する。駆動回路２８はＸ軸モータ１３とエンコーダ１３Ａに接続する。駆動回路２９はＹ軸モータ１４とエンコーダ１４Ａに接続する。
【００１９】
ＣＰＵ２１は、被削材Ｗを加工する為のＮＣプログラムを読込み、送り軸（Ｘ軸、Ｙ軸、Ｚ軸）、主軸９等の各駆動軸を目標位置に移動する為の制御指令を駆動回路２６〜２９に送信する。駆動回路２６〜２９は、ＣＰＵ２１から受信した制御指令（駆動信号）に応じて対応する各モータ１１〜１４に駆動電流（パルス）を夫々出力する。駆動回路２６〜２９はエンコーダ１１Ａ〜１４Ａからフィードバック信号（位置と速度の信号）を受け、モータ１１〜１４の位置と速度の制御を行う。
【００２０】
図１，図３，図４を参照し、テーブル５０上に載置する積載物の質量と、工作機械１０に発生する振動との関係を説明する。積載物とは、テーブル５０上に積載する物であり、例えば被削材Ｗや治具等である。上記構成の工作機械１０は、テーブル５０上に様々な冶具や被削材Ｗを積載して動作する。テーブル５０の加減速制御により、テーブル５０は振動し（図１中Ｖ２参照）、主軸ヘッド７はコラム５を介して振動する（図１中Ｖ１参照）。冶具や被削材Ｗの質量は対象物により、テーブル５０の質量に対し数％〜数１００％の質量になる。故に積載物の質量が大きく変化した場合、テーブル５０の固有振動数も大きく変化する。固有振動数とは、機械が最も振動し易い機械固有の振動周波数を意味する。
【００２１】
本実施形態は、積載物の質量の違いによって工作機械１０の固有振動数が変化するか確認する為、テーブル５０と主軸ヘッド７の夫々の動特性測定試験を行った。動特性試験は、一般的なインパルス応答法で行い、テーブル５０及び主軸ヘッド７の夫々をハンマーで加振したときの振動の周波数特性を、変位センサを用いて測定した。動特性試験では、テーブル５０上の積載物の質量を変え、テーブル５０側の固有振動数、及び主軸ヘッド７側の固有振動数について分析した。質量Ｍはテーブル５０に積載物を積載した時のテーブル５０と積載物の合計の質量である。質量ＭＭＡＸはテーブル５０に積載可能な最大限の質量を積載した時のテーブル５０と積載物の合計の質量であり、質量ＭＭＩＮはテーブル５０に何も積載していない時のテーブル５０のみの質量である。
【００２２】
図３は、テーブル５０側の周波数特性の結果である。図３に示すように、質量ＭＭＡＸのテーブル５０の固有振動数は、６５Ｈｚ付近であった。一方、質量ＭＭＩＮのテーブル５０の固有振動数は、９０Ｈｚ付近であった。故に質量Ｍが変化した場合、テーブル５０の固有振動数も変化することが分かった。
【００２３】
図４は、主軸ヘッド７側の周波数特性の結果である。図４に示すように、質量ＭＭＡＸの主軸ヘッド７の固有振動数、及び質量ＭＭＩＮの主軸ヘッド７の固有振動数の何れも、４０Ｈｚ付近であった。故に質量Ｍが変化した場合であっても、主軸ヘッド７の固有振動数は変化しないことが分かった。固有振動数が変化しない理由は、主軸ヘッド７の質量は変わらないからである。
【００２４】
上記結果より、工作機械１０は、質量ＭＭＡＸのとき、４０Ｈｚ付近と６５Ｈｚ付近で振動し易く、質量ＭＭＩＮのとき、４０Ｈｚ付近と９０Ｈｚ付近で振動し易いことが分かった。故に数値制御装置２０は、加工動作中に発生する振動を効果的に抑制する為に、テーブル５０上の積載物の質量の変更によって変化する周波数の振動を抑制すると共に、積載物の質量の変更によっては変化しない周波数の振動を抑制することが重要である。
【００２５】
図５〜図８を参照し、機械の固有振動数と移動平均フィルタの関係を説明する。移動平均フィルタは、送り軸毎の加減速制御に適用するものであり、ＦＩＲフィルタを用いるのが好ましい。本実施形態は、機械の固有振動数と移動平均フィルタの関係性を理解する為、処理時間の異なる三つの移動平均フィルタＡ〜Ｃを、Ｙ軸の加減速制御に適用したときの振幅を測定し、比較した。移動平均フィルタの処理時間は、時定数である。固有振動数Ｆａに対して、移動平均フィルタＡ（以下、フィルタＡと呼ぶ）の処理時間を１／Ｆａに設定した。その他の移動平均フィルタＢ、Ｃ（以下、フィルタＢ、Ｃと呼ぶ）の処理時間を、フィルタＣの処理時間＜フィルタＡの処理時間＜フィルタＢの処理時間となるように設定した。
【００２６】
図５は、フィルタＡを適用したときの振幅の時間変化を示す。フィルタＡを適用した場合、振幅は小さい。フィルタＡは、固有振動数Ｆａの逆数を処理時間に設定したので、振幅を抑制できることが分かった。図６は、フィルタＢを適用したときの振幅の時間変化を示す。フィルタＢは処理時間がフィルタＡよりも伸びているにも関わらず、振幅は大きくなっている。図７は、フィルタＣを適用したときの振幅の時間変化を示す。フィルタＣは、フィルタＡに比べ、処理時間が短くなっているので、加減速が速くなったことから振幅が大きくなっている。以上結果より、固有振動数Ｆａに対し、フィルタＡが最適なフィルタ機能を有していることが分かった。数値制御装置２０は、加減速時間が短い場合であっても、最適な処理時間の移動平均フィルタを設定することで、振幅を抑制できる。
【００２７】
仮に固有振動数Ｆａが変化した場合、数値制御装置２０は、移動平均フィルタを変更することにより、振幅を小さくできる。上記の動特性試験で説明したように、質量Ｍが変化した場合、テーブル５０の固有振動数Ｆａは変化する。これに合わせ、移動平均フィルタの処理時間を変化させることで、振幅を効果的に抑制できる。
【００２８】
図８は、上記図５〜図７の振幅を夫々フーリエ変換したものである。制振周波数とは、フィルタのゲインが０になる周波数であり、振動を抑制できる周波数である。フィルタＡを適用したときの振幅において、フィルタＡの制振周波数は、固有振動数Ｆａと一致しているので、フィルタＢ，Ｃを適用した場合と比較して、固有振動数Ｆａにおける振幅は小さくなっている。これに対し、フィルタＢを適用したときの振幅では、フィルタＢの制振周波数は、固有振動数Ｆａに対して低周波数側にずれているので、固有振動数Ｆａにおける振幅は抑制されずに、フィルタＡを適用した場合と比較して大きくなっている。フィルタＣを適用したときも同様に、フィルタＣの制振周波数は、固有振動数Ｆａに対して高周波数側にずれているので、固有振動数Ｆａにおける振幅は抑制されずに、フィルタＡを適用した場合と比較して大きくなっている。故に数値制御装置２０は、固有振動数Ｆａに対し、移動平均フィルタの処理時間を合わせることで、固有振動数Ｆａにおける振幅を抑制できる。
【００２９】
図９，図１０を参照し、移動平均フィルタの処理時間と周波数特性の関係を説明する。数値制御装置２０は、移動平均フィルタの処理時間の逆数を、制振周波数から取り除くことができる。図９は、三つの移動平均フィルタの処理時間を示す図表である。三つの移動平均フィルタは、フィルタｔａ、フィルタｔｂ−１、フィルタｔｂ−２である。フィルタｔａの処理時間は０．０２５ｓｅｃである。フィルタｔｂ−１の処理時間は０．０１１ｓｅｃである。フィルタｔｂ−２の処理時間は０．０１５ｓｅｃである。故にフィルタｔａの制振周波数は４０．０Ｈｚ、フィルタｔｂ−１の制振周波数は９０．９Ｈｚ、フィルタｔｂ−２の制振周波数は６６．７Ｈｚになる。
【００３０】
図１０は、図９に示す三つの移動平均フィルタの周波数特性を示す図表である。移動平均フィルタの周波数特性は、フーリエ変換等で求めることができる。ｔは処理時間である。フィルタｔａのゲインは、４０Ｈｚで０（Ｐ１参照）になることから、４０Ｈｚ付近の振動を抑制できる。フィルタｔｂ−１のゲインは、９０．９Ｈｚで０（Ｐ２参照）になることから、９０Ｈｚ付近の振動を抑制できる。フィルタｔｂ−２のゲインは、６６．７Ｈｚで０（Ｐ３参照）になることから、６５Ｈｚ付近の振動を抑制できる。
【００３１】
故に本実施形態の数値制御装置２０は、二つのフィルタｔａとｔｂを設定する。フィルタｔａは、質量Ｍの変更とは関係なく発生する振動を抑制する為に、処理時間を固定したフィルタである。フィルタｔｂは、質量Ｍにより変化した周波数の振動を抑制する為に、処理時間を変更可能なフィルタである。フィルタｔｂの処理時間は、質量Ｍの設定によって、フィルタｔｂ−１の処理時間と、フィルタｔｂ−２の処理時間との間で変更する。
【００３２】
図１１を参照し、フィルタｔｂの処理時間の変化率を説明する。フィルタｔｂの処理時間は、質量Ｍの設定変更により変化する。フィルタｔｂの処理時間の変化率は、質量ＭＭＩＮのときの固有振動数（９０Ｈｚ）と、質量ＭＭＡＸのときの固有振動数（６５Ｈｚ）とに基づき、算出するとよい。具体的に言うと、固有振動数の逆数はフィルタの処理時間であるから、質量ＭＭＩＮの固有振動数の逆数（０．０１１ｓｅｃ）と、質量ＭＭＡＸの固有振動数の逆数（０．０１５ｓｅｃ）とを直線で結ぶと、図１１に示す図表の点線になる。
【００３３】
図１１に示す点線は、質量ＭをＭＭＩＮからＭＭＡＸまで変化させたときのフィルタｔｂの処理時間の変化に相当する。フィルタｔｂの処理時間は、質量ＭＭＩＮからＭＭＡＸにかけて比例する。フィルタｔｂの処理時間の変化の傾きは変化率である。故に数値制御装置２０は、処理時間の変化率に基づき、質量Ｍに対応するフィルタｔｂの処理時間を決定できる。以下説明では、処理時間の変化率をフィルタ変化率と呼ぶ。一方、図１１に示す実線は、質量ＭをＭＭＩＮからＭＭＡＸまで変化させたときのフィルタｔａの処理時間の変化を示す。フィルタｔａの処理時間は、質量Ｍに関係無く、０．０２５ｓｅｃに固定する。
【００３４】
図１２を参照し、フィルタ設計処理を説明する。例えば作業者は、工作機械１０の動的特性に対応する移動平均フィルタを設計して登録する為、操作盤１６の入力部１７で移動平均フィルタの設計操作を入力する。ＣＰＵ２１は、移動平均フィルタの設計操作の入力を受け付けると、ＲＯＭ２２からフィルタ設計プログラムを読出し、本処理を実行する。
【００３５】
ＣＰＵ２１は、工作機械１０の動的特性を測定する為、テーブル５０は積載物無の状態で、準備完了か否か判断する（Ｓ１）。ＣＰＵ２１は、表示部１８に例えば「テーブル上に積載物はありませんか？」等のメッセージを表示するとよい。作業者はテーブル５０上に積載物が無いことを確認し、準備完了であれば、準備完了の操作を入力部１７で入力する。準備完了の操作が入力するまで（Ｓ１：ＮＯ）、ＣＰＵ２１はＳ１に戻って待機する。準備完了の操作が入力した場合（Ｓ１：ＹＥＳ）、ＣＰＵ２１はテーブル５０の位置決め動作を実行する（Ｓ２）。なお、位置決め動作を実行する前に、ＣＰＵ２１はアラーム等を出力して注意喚起するとよい。位置決め動作は、例えばテーブル５０を所定位置Ｙ０からＹ軸方向に移動して目的位置Ｙ１に位置決めする動作である。
【００３６】
ＣＰＵ２１は位置決め動作実行中に、変位センサを用いて、工作機械１０の動特性を測定する（Ｓ３）。工作機械１０の動特性は、主軸ヘッド７側の動特性と、テーブル５０側の動特性である。ＣＰＵ２１は、積載物無の状態で測定した動特性の情報（以下、動特性情報と呼ぶ）をＲＡＭ２３に記憶する（Ｓ４）。動特性情報とは、例えば図３、図４に示す変位の周波数特性の情報である。
【００３７】
ＣＰＵ２１は、テーブル５０は最大質量の積載物を積載した状態で、準備完了か否か判断する（Ｓ５）。ＣＰＵ２１は、表示部１８に例えば「テーブル上に最大質量の積載物を積載しましたか？」等のメッセージを表示するとよい。作業者はテーブル５０上に最大質量の積載物を積載し、準備完了であれば、準備完了の操作を入力部１７で入力する。準備完了の操作が入力するまで（Ｓ５：ＮＯ）、ＣＰＵ２１はＳ５に戻って待機する。準備完了の操作が入力した場合（Ｓ５：ＹＥＳ）、ＣＰＵ２１はテーブル５０の位置決め動作を再度実行する（Ｓ６）。ＣＰＵ２１は位置決め動作実行中に、変位センサを用いて、工作機械１０の動特性を再度測定する（Ｓ７）。ＣＰＵ２１は、最大質量の積載物を積載した状態で測定した動特性情報をＲＡＭ２３に記憶する（Ｓ８）。ＣＰＵ２１は、ヘッド側フィルタ設計処理を実行する（Ｓ９）。
【００３８】
図１３を参照し、ヘッド側フィルタ設計処理を説明する。ＣＰＵ２１は、ＲＡＭ２３に記憶した主軸ヘッド７側の動特性情報（図４参照）に基づき、主軸ヘッド７側のフィルタｔａを設計する（Ｓ２１）。例えば、フィルタｔａの固有振動数は４０Ｈｚであることから、その逆数である０．０２５ｓｅｃを処理時間とするフィルタｔａを設計する。次いで、ＣＰＵ２１は、質量ＭＭＩＮとＭＭＡＸの違いで、固有振動数に変化が有るか否か判断する（Ｓ２２）。動特性の測定結果が正常であれば、質量Ｍが違っていても固有振動数はほぼ一致する。故に固有振動数の差が閾値以下であれば、変化無とみなし（Ｓ２２：ＹＥＳ）、ＣＰＵ２１はフィルタｔａを設定し、ＲＡＭ２３に記憶する（Ｓ２３）。ＣＰＵ２１は本処理を終了し、図１２に示すフィルタ設計処理に戻り、テーブル側フィルタ設計処理を実行する（Ｓ１０）。
【００３９】
一方、質量ＭＭＩＮとＭＭＡＸの違いで、固有振動数に変化があった場合（Ｓ２２：ＮＯ）、動特性の測定に不備があり、測定が正常に行われなかった可能性が高い。故にＣＰＵ２１はエラー報知を行い（Ｓ２４）、本処理を終了する。エラー報知は、例えば表示部１８にエラー表示をしてもよく、アラームを出力してもよい。故に作業者は、移動平均フィルタの再設計を試みることができる。
【００４０】
図１４を参照し、テーブル側フィルタ設計処理を説明する。ＣＰＵ２１は、ＲＡＭ２３に記憶したテーブル５０側の動特性情報（図３参照）に基づき、テーブル５０側のフィルタｔｂｍｉｎとｔｂｍａｘを設計し記憶装置２４に記憶する。（Ｓ３１）。フィルタｔｂｍｉｎは、質量ＭＭＩＮのときの固有振動数の逆数を処理時間とするフィルタｔｂである。フィルタｔｂｍａｘは、質量ＭＭＡＸのときの固有振動数の逆数を処理時間とするフィルタｔｂである。ＣＰＵ２１は、以下の数１を用いて、フィルタｔｂｍｉｎとフィルタｔｂｍａｘの夫々の処理時間であるｔｂｍｉｎ、ｔｂｍａｘからフィルタ変化率ｔｘ（図１１参照）を計算し、記憶装置２４に記憶する（Ｓ３２）。
［数１］
ｔｘ＝（ｔｂｍａｘ／ｔｂｍｉｎ）／Ｍｍａｘ
ＣＰＵ２１は、記憶装置２４に記憶したｔｘ、ｔｂｍｉｎと予め入力された質量Ｍから以下の数２を用いてフィルタｔｂの処理時間を計算し、該計算した処理時間を有するフィルタｔｂをＲＡＭ２３に記憶する（Ｓ３３）。
［数２］
ｔｂ＝ｔｘ×Ｍ＋ｔｂｍｉｎ
ＣＰＵ２１は本処理を終了し、図１２に示すフィルタ設計処理に戻る。
【００４１】
ＣＰＵ２１は、ＲＡＭ２３に記憶したフィルタｔａとｔｂを合成し、フィルタｔｃを設計する（Ｓ１１）。ＣＰＵ２１は、設計したフィルタｔｃを記憶装置２４に記憶し（Ｓ１２）、本処理を終了する。
【００４２】
なお、本実施形態では、説明の便宜上、Ｙ軸方向における加減速処理に適用するフィルタｔａとｔｂの設計について説明したが、Ｘ軸方向における加減速処理に適用するフィルタｔａとｔｂについても同様に設計するとよい。記憶装置２４は、軸毎にフィルタｔａとｔｂを記憶するとよい。
【００４３】
図１５を参照し、加工制御処理について説明する。例えば、作業者は、表示部に表示したメニュー画面から所望のＮＣプログラムを選択し、加工動作実行の操作を入力する。ＣＰＵ２１は、加工動作実行の操作の入力を受け付けると、ＲＯＭ２２から加工制御プログラムを読出し、本処理を実行する。
【００４４】
ＣＰＵ２１は、テーブル５０上に被削材Ｗと冶具の設置が完了したか否か判断する（Ｓ４１）。ＣＰＵ２１は、表示部１８に例えば「テーブル上に被削材を設置しましたか？」のメッセージを表示するとよい。作業者はテーブル５０上に冶具で被削材Ｗを固定したことを確認し、設置完了の操作を入力部１７で入力する。設置完了の操作が入力するまで（Ｓ４１：ＮＯ）、ＣＰＵ２１はＳ４１に戻って待機する。設置完了の操作が入力した場合（Ｓ４１：ＹＥＳ）、ＣＰＵ２１は、積載質量の入力を受け付けたか否か判断する（Ｓ４２）。ＣＰＵ２１は、表示部１８に例えば「積載物の質量を入力して下さい。」のメッセージを表示するとよい。作業者は、テーブル５０上に積載した被削材Ｗと冶具を合わせた総質量を、入力部１７で入力する。積載物の質量の入力を受け付けるまで（Ｓ４２：ＮＯ）、ＣＰＵ２１はＳ４２に戻って待機する。
【００４５】
積載物の質量の入力を受け付けた場合（Ｓ４２：ＹＥＳ）、ＣＰＵ２１は、記憶装置２４に記憶したフィルタｔｃとフィルタ変化率を読込む（Ｓ４３）。ＣＰＵ２１は、読込んだフィルタ変化率を用いて、入力した質量と予め記憶するテーブル５０の質量とを合わせた質量Ｍに対応する処理時間を算出し、算出した処理時間でフィルタｔｃを変更する（Ｓ４４）。具体的には、フィルタｔｃのうちフィルタｔｂの処理時間だけを変更すればよい。変更したフィルタｔｃは、フィルタｔｄとして新たに設定し、ＲＡＭ２３に記憶する（Ｓ４５）。
【００４６】
ＣＰＵ２１は、操作盤１６で作業者が選択したＮＣプログラムを記憶装置２４から読込む（Ｓ４６）。ＣＰＵ２１は加工開始か否か判断する（Ｓ４７）。作業者は、加工開始の操作を入力部１７で入力する。加工開始の操作が入力するまで（Ｓ４７：ＮＯ）、ＣＰＵ２１はＳ４７に戻って待機する。加工開始の操作が入力した場合（Ｓ４７：ＹＥＳ）、ＣＰＵ２１はＮＣプログラムを１行ずつ解釈し、加工動作を実行する（Ｓ４８）。
【００４７】
ＣＰＵ２１は加工動作中において、テーブル５０を移動するか否か判断する（Ｓ４９）。テーブル５０を移動しない場合（Ｓ４９：ＮＯ）、ＣＰＵ２１は、加工が終了したか否か判断する（Ｓ５１）。加工が終了していない場合（Ｓ５１：ＮＯ）、ＣＰＵ２１はＳ４９に戻って処理を繰り返す。
【００４８】
ＣＰＵ２１は、ＮＣプログラムを解釈し、例えばＹ軸の移動指令を生成した場合、テーブル５０をＹ軸方向に移動するので（Ｓ４９：ＹＥＳ）、ＲＡＭ２３に記憶したフィルタｔｄを読込み、Ｙ軸モータ１４に出力する加速度指令をフィルタｔｄで処理する（Ｓ５０）。Ｙ軸モータ１４は、フィルタｔｄで処理した加速度指令に従い、テーブル５０をＹ軸方向に移動する。なお、Ｘ軸の移動指令を生成した場合もＹ軸と同様に、Ｘ軸に対応するフィルタｔｄをＲＡＭ２３から読込み、Ｘ軸モータ１３に出力する加速度指令をフィルタｔｄで処理すればよい。故にＣＰＵ２１は、主軸ヘッド７側の固有振動数による振動を抑制できると共に、テーブル５０上の積載物の質量に応じた周波数の振動も抑制できる。故に数値制御装置２０は、テーブル５０上の被削材Ｗを良好に切削加工できる。ＣＰＵ２１はＳ５１に進み、加工終了するまで（Ｓ５１：ＮＯ）、Ｓ４９に戻って処理を繰り返す。加工終了の場合（Ｓ５１：ＹＥＳ）、ＣＰＵ２１は本処理を終了する。
【００４９】
以上説明したように、本実施形態の数値制御装置２０は、工作機械１０の動作を制御する。工作機械１０はテーブル５０をＸ軸モータ１３及びＹ軸モータ１４で移動し、主軸９に装着した工具４で、テーブル５０上に冶具で支持した被削材Ｗを加工可能である。数値制御装置２０のＣＰＵ２１は、テーブル５０の位置指令から生成した加速度指令に対して加減速処理を実行可能である。ＣＰＵ２１は、フィルタｔａとフィルタｔｂを合成したフィルタｔｃで加速度指令を処理する。フィルタｔａは、工作機械１０の固有振動数の逆数を時定数とする移動平均フィルタである。フィルタｔｂは、テーブル５０上の積載物の質量に応じて変化する振動周波数の逆数を時定数とする移動平均フィルタである。ＣＰＵ２１は、フィルタｔｃのうちフィルタｔｂの時定数を、テーブル５０上の積載物の質量に応じて変更可能に設定し、フィルタｔｄとして記憶する。
【００５０】
テーブル５０が移動して停止すると、工作機械１０は振動する。テーブル５０上の積載物の質量を変更した場合、工作機械１０の固有振動数はほぼ変化しないが、送り軸であるＸ軸モータ１３及びＹ軸モータ１４で移動するテーブル５０の移動機構に起因する振動周波数は変化する。数値制御装置２０のＣＰＵ２１は、上記フィルタｔａとフィルタｔｂで処理するので、テーブル５０の移動停止時に工作機械１０に発生する振動について、工作機械１０の固有振動数による振動を抑制し、且つテーブル５０上の積載物の質量の変更によって変化する周波数の振動も抑制できる。
【００５１】
上記実施形態のＣＰＵ２１は、積載物の質量の入力を受け付け、質量に応じて変化する振動周波数の変化率に基づき、受け付けた質量に対応する振動周波数を算出する。ＣＰＵ２１は算出した振動周波数の逆数を時定数として設定する。故に数値制御装置２０は、積載物の質量を入力するだけで、その質量に応じて工作機械１０に発生する振動を抑制できる。
【００５２】
上記実施形態のフィルタｔａとフィルタｔｂは、ＦＩＲフィルタであるので、加速度指令で制御する加速度の周波数から、フィルタｔａの時定数の逆数である機械の固有振動数と、フィルタｔｂの時定数の逆数である振動周波数とを取り除くことができる。
【００５３】
上記説明にて、Ｘ軸モータ１３、Ｙ軸モータ１４は本発明のモータの一例である。ＣＰＵ２１は本発明の制御部の一例である。フィルタｔａは本発明の第一フィルタの一例であり、フィルタｔｂは本発明の第二フィルタの一例である。図１５のＳ５０の処理を実行するＣＰＵ２１は、本発明の第一処理と第二処理部の一例である。Ｓ４４，Ｓ４５の処理を実行するＣＰＵ２１は、本発明の設定部の一例である。Ｓ４２の処理を実行するＣＰＵ２１は、本発明の受付部の一例である。図１４のＳ３３、及び図１５のＳ４４の処理を実行するＣＰＵ２１は、本発明の算出部の一例である。
【００５４】
本発明は上記実施形態に限らず各種変形が可能である。本実施形態の工作機械１０のテーブル装置４０は、テーブル５０がＸ軸とＹ軸の二軸方向に移動可能な装置であるが、テーブルが一軸方向に移動可能なテーブル装置であってもよい。また、テーブル装置は、Ｚ軸方向に延びる軸を中心に回転可能な回転テーブルであってもよい。その場合、数値制御装置２０は、回転テーブルの回転の加減速制御について、上記実施形態のように、フィルタｔａとｔｂを設計して適用してもよい。
【００５５】
上記実施形態のフィルタは、ＦＩＲフィルタであるが、その他のデジタルフィルタであってもよい。
【００５６】
上記実施形態のフィルタ設計処理では、フィルタｔａとフィルタｔｂを合成して、フィルタｔｃにするが、合成せずに個々に記憶してもよい。加減速制御に適応する場合も、二つのフィルタｔａとｔｂで加速度指令を処理してもよい。
【００５７】
上記実施形態の駆動回路２６〜３０は数値制御装置２０に設けているが、工作機械１０に設けてもよい。
【００５８】
上記実施形態の工作機械１０は、主軸がＺ軸方向に延びる立型工作機械であるが、本発明は主軸が水平方向に延びる横型工作機械にも適用できる。
【００５９】
本実施形態はＣＰＵ２１の代わりに、マイクロコンピュータ、ＡＳＩＣ（Application Specific Integrated Circuits）、ＦＰＧＡ（Field Programmable Gate Array）等を、プロセッサとして用いてもよい。移動制御処理は、複数のプロセッサによって分散処理してもよい。プログラムを記憶するＲＯＭ２２及び記憶装置２４は、例えばＨＤＤ及び又は記憶装置等の他の非一時的な記憶媒体で構成してもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を留めておくことが可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体（例えば、伝送される信号）を含まなくてもよい。各種プログラムは、例えば、図示外のネットワークに接続されたサーバからダウンロードして（即ち、伝送信号として送信され）、フラッシュメモリ等の記憶装置等に記憶してもよい。この場合、プログラムは、サーバに備えられたＨＤＤなどの非一時的な記憶媒体に保存していればよい。
【符号の説明】
【００６０】
１０    工作機械
１３    Ｘ軸モータ
１４    Ｙ軸モータ
２０    数値制御装置
２１    ＣＰＵ
４０    テーブル装置
５０    テーブル
Ｗ    被削材
ｔａ    フィルタ
ｔｂ    フィルタ
【図１】
2019175027.tif 000003
【図２】
2019175027.tif 000004
【図３】
2019175027.tif 000005
【図４】
2019175027.tif 000006
【図５】
2019175027.tif 000007
【図６】
2019175027.tif 000008
【図７】
2019175027.tif 000009
【図８】
2019175027.tif 000010
【図９】
2019175027.tif 000011
【図１０】
2019175027.tif 000012
【図１１】
2019175027.tif 000013
【図１２】
2019175027.tif 000014
【図１３】
2019175027.tif 000015
【図１４】
2019175027.tif 000016
【図１５】
2019175027.tif 000017