IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

<>
  • 特許-数値制御装置および数値制御方法 図1
  • 特許-数値制御装置および数値制御方法 図2
  • 特許-数値制御装置および数値制御方法 図3
  • 特許-数値制御装置および数値制御方法 図4
  • 特許-数値制御装置および数値制御方法 図5
  • 特許-数値制御装置および数値制御方法 図6
  • 特許-数値制御装置および数値制御方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-05-15
(45)【発行日】2025-05-23
(54)【発明の名称】数値制御装置および数値制御方法
(51)【国際特許分類】
   G05B 19/4093 20060101AFI20250516BHJP
   G05B 19/404 20060101ALI20250516BHJP
   B23B 1/00 20060101ALI20250516BHJP
   B23Q 15/12 20060101ALI20250516BHJP
【FI】
G05B19/4093 M
G05B19/404 K
B23B1/00 A
B23Q15/12 Z
【請求項の数】 8
(21)【出願番号】P 2025503449
(86)(22)【出願日】2024-08-06
(86)【国際出願番号】 JP2024028016
【審査請求日】2025-01-22
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100118762
【弁理士】
【氏名又は名称】高村 順
(72)【発明者】
【氏名】植村 浩希
【審査官】亀田 貴志
(56)【参考文献】
【文献】国際公開第2016/084171(WO,A1)
【文献】特開2024-3322(JP,A)
【文献】国際公開第2022/085114(WO,A1)
【文献】特開2002-103101(JP,A)
【文献】特許第7422949(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 - 19/46
B23B 1/00
B23Q 15/12
(57)【特許請求の範囲】
【請求項1】
加工対象物と、工作機械に取り付けられた切削工具とを相対的に振動させる振動切削を制御するとともに、前記工作機械が有する前記加工対象物を回転させる主軸の回転速度の変化に応じて前記振動切削の振動周波数を変化させる数値制御装置であって、
前記振動切削において共振が発生する共振周波数と、前記振動周波数とを比較することで、前記振動周波数で動作した場合に共振が発生するか否かを判定する判定部と、
前記共振が発生すると判定された場合には、前記主軸の1回転当たりの振動回数を維持したまま、前記共振が発生しないように前記振動切削の振動波形を補正する補正部と、
を備え
前記判定部は、前記振動周波数が、前記共振周波数を含む共振周波数領域に重なる周波数である場合に前記共振が発生すると判定し、
前記補正部は、前記共振が発生すると判定された場合には、前記振動の前進位置である振動前進位置および前記振動の後退位置である振動後退位置を維持しつつ、前記振動波形における前記振動の前進時間または前記振動の後退時間を変更することで前記振動波形を補正する、
ことを特徴とする数値制御装置。
【請求項2】
前記補正部は、前記振動の前進または後退の振動周波数の周波数成分の分布が、前記共振周波数の周波数成分の分布とは異なる分布となるように前記振動波形を補正する、
ことを特徴とする請求項に記載の数値制御装置。
【請求項3】
前記補正部は、前記前進時間または前記後退時間の周波数を、特定の波形形状に従って周波数変調させることで前記振動波形を補正する、
ことを特徴とする請求項1または2に記載の数値制御装置。
【請求項4】
前記補正部は、前記振動波形を第1の波形形状を有した第1の波形から第2の波形形状を有した第2の波形に切り替えることで前記振動波形を補正する、
ことを特徴とする請求項1または2に記載の数値制御装置。
【請求項5】
加工対象物と、工作機械に取り付けられた切削工具とを相対的に振動させる振動切削を制御するとともに、前記工作機械が有する前記加工対象物を回転させる主軸の回転速度の変化に応じて前記振動切削の振動周波数を変化させる数値制御装置であって、
前記振動切削において共振が発生する共振周波数と、前記振動周波数とを比較することで、前記振動周波数で動作した場合に共振が発生するか否かを判定する判定部と、
前記共振が発生すると判定された場合には、前記主軸の1回転当たりの振動回数を維持したまま、前記共振が発生しないように前記振動切削の振動波形を補正する補正部と、
を備え、
前記判定部は、前記振動周波数が、前記共振周波数を含む共振周波数領域に重なる周波数である場合に前記共振が発生すると判定し、
前記補正部は、前記共振が発生すると判定された場合には、前記振動の振幅を減衰させることで前記振動波形を補正する、
ことを特徴とする数値制御装置。
【請求項6】
前記振動切削は、前記加工対象物と前記切削工具とを2軸以上で相対的に振動させる振動切削であり、
前記判定部は、前記2軸以上の軸のうちの何れの軸で前記共振が発生するか否かを判定し、
前記補正部は、前記共振が発生すると判定された軸に対して、前記振動切削の振動波形を補正する、
ことを特徴とする請求項1,2,5の何れか1つに記載の数値制御装置。
【請求項7】
加工対象物と、工作機械に取り付けられた切削工具とを相対的に振動させる振動切削を制御するとともに、前記工作機械が有する前記加工対象物を回転させる主軸の回転速度の変化に応じて前記振動切削の振動周波数を変化させる数値制御方法であって、
数値制御装置が、前記振動切削において共振が発生する共振周波数と、前記振動周波数とを比較することで、前記振動周波数で動作した場合に共振が発生するか否かを判定する判定ステップと、
前記数値制御装置が、前記共振が発生すると判定した場合には、前記主軸の1回転当たりの振動回数を維持したまま、前記共振が発生しないように前記振動切削の振動波形を補正する補正ステップと、
を含み、
前記数値制御装置は、前記判定ステップでは、前記振動周波数が、前記共振周波数を含む共振周波数領域に重なる周波数である場合に前記共振が発生すると判定し、前記共振が発生すると判定した場合には、前記補正ステップでは、前記振動の前進位置である振動前進位置および前記振動の後退位置である振動後退位置を維持しつつ、前記振動波形における前記振動の前進時間または前記振動の後退時間を変更することで前記振動波形を補正する、
ことを特徴とする数値制御方法。
【請求項8】
加工対象物と、工作機械に取り付けられた切削工具とを相対的に振動させる振動切削を制御するとともに、前記工作機械が有する前記加工対象物を回転させる主軸の回転速度の変化に応じて前記振動切削の振動周波数を変化させる数値制御方法であって、
数値制御装置が、前記振動切削において共振が発生する共振周波数と、前記振動周波数とを比較することで、前記振動周波数で動作した場合に共振が発生するか否かを判定する判定ステップと、
前記数値制御装置が、前記共振が発生すると判定した場合には、前記主軸の1回転当たりの振動回数を維持したまま、前記共振が発生しないように前記振動切削の振動波形を補正する補正ステップと、
を含み、
前記数値制御装置は、前記判定ステップでは、前記振動周波数が、前記共振周波数を含む共振周波数領域に重なる周波数である場合に前記共振が発生すると判定し、前記共振が発生すると判定した場合には、前記補正ステップでは、前記振動の振幅を減衰させることで前記振動波形を補正する、
ことを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、工作機械を制御する数値制御装置および数値制御方法に関する。
【背景技術】
【0002】
工作機械が加工対象物を加工する際には、切屑が切削工具に絡まる場合がある。切屑が切削工具に絡まることを避ける方法として、加工送り方向に切削工具と加工対象物とを相対的に振動させながら加工対象物を切削加工する振動切削がある。振動切削によれば、加工の際に発生する切屑を当該加工中に分断することが可能となるため、切屑が切削工具に絡まることを避けることができる。
【0003】
この振動切削では、例えば、周速一定制御を行う際、または主軸オーバライドで指令値に対する割合を変更する際に、指令ブロック実行中に主軸回転速度が変化する場合がある。振動切削では、このように主軸回転速度が変動する場合であっても切屑を分断することが望まれる。
【0004】
また、振動切削では、振動切削の振動周波数と工作機械の固有振動数とが一致した場合には共振が発生するので、この共振を回避した振動周波数が設定されることが望まれる。
【0005】
特許文献1に記載の数値制御装置は、指令ブロック実行中に振動切削の主軸回転速度が変動する場合においても、工作機械の共振を回避しつつ切屑の分断不良を防止するため、主軸回転速度の変化に応じて振動周波数を変化させ、主軸1回転当たりの振動回数を動的に変更している。
【先行技術文献】
【特許文献】
【0006】
【文献】特許第6984790号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記特許文献1の技術では、切屑を効率良く分断できる主軸1回転当たりの振動回数が、3.5回、2.5回などのように離散的に切り替わり、この切り替わり箇所において、振動切削に起因する切削跡が途中で途切れるなど視覚的な表面性状が変化する。このため、上記特許文献1の技術では、振動切削を行う際に、振動切削の振動周波数と工作機械の固有振動数との一致による共振を回避しつつ、加工対象物に対して表面性状の良好な加工を実現できないという問題があった。
【0008】
本開示は、上記に鑑みてなされたものであって、振動切削を行う際に、振動切削の振動周波数と工作機械の固有振動数との一致による共振を回避しつつ、加工対象物に対して表面性状の良好な加工を実現できる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本開示の数値制御装置は、加工対象物と、工作機械に取り付けられた切削工具とを相対的に振動させる振動切削を制御するとともに、工作機械が有する加工対象物を回転させる主軸の回転速度の変化に応じて振動切削の振動周波数を変化させる数値制御装置であって、振動切削において共振が発生する共振周波数と、振動周波数とを比較することで、振動周波数で動作した場合に共振が発生するか否かを判定する判定部を備える。また、本開示の数値制御装置は、共振が発生すると判定された場合には、主軸の1回転当たりの振動回数を維持したまま、共振が発生しないように振動切削の振動波形を補正する補正部を備える。判定部は、振動周波数が、共振周波数を含む共振周波数領域に重なる周波数である場合に共振が発生すると判定する。補正部は、共振が発生すると判定された場合には、振動の前進位置である振動前進位置および振動の後退位置である振動後退位置を維持しつつ、振動波形における振動の前進時間または振動の後退時間を変更することで振動波形を補正する。
【発明の効果】
【0010】
本開示にかかる数値制御装置は、振動切削を行う際に、振動切削の振動周波数と工作機械の固有振動数との一致による共振を回避しつつ、加工対象物に対して表面性状の良好な加工を実現できるという効果を奏する。
【図面の簡単な説明】
【0011】
図1】実施の形態にかかる数値制御装置の構成の一例を示すブロックを示す図
図2】実施の形態にかかる工作機械の軸の構成を模式的に示す図
図3】実施の形態にかかる数値制御装置の補間処理部が算出する振動波形の例を説明するための図
図4】実施の形態にかかる数値制御装置が実行する処理の処理手順を示すフローチャート
図5】実施の形態にかかる数値制御装置が算出および変更する振動の前進時間および後退時間を説明するための図
図6】実施の形態にかかる数値制御装置の制御演算部が備える処理回路をプロセッサおよびメモリで実現する場合の処理回路の構成例を示す図
図7】実施の形態にかかる数値制御装置の制御演算部が備える処理回路を専用のハードウェアで構成する場合の処理回路の例を示す図
【発明を実施するための形態】
【0012】
以下に、本開示の実施の形態にかかる数値制御装置および数値制御方法を図面に基づいて詳細に説明する。なお、以下で説明する各図では、同一または相当する部分に同一の符号を付している。また、重複する説明は、適宜簡略化あるいは省略する。また、以下に示す図面においては、現実とは縮尺が異なる場合があるが、これによって本開示の内容は限定されない。
【0013】
実施の形態.
図1は、実施の形態にかかる数値制御装置の構成の一例を示すブロックを示す図である。数値制御装置1は、加工対象(後述する加工対象物60)と工作機械に取り付けられた工具(後述する切削工具50)とを相対的に振動させながら切削工具50による加工対象物60の加工を制御することで工作機械に振動切削を実行させるコンピュータである。数値制御装置1が制御する工作機械は、切削工具50を振動させながら被加工物である加工対象物60を切削加工する機械である。
【0014】
数値制御装置1は、入力操作部20と、表示部30と、制御演算部40とを備えている。なお、入力操作部20および表示部30は、数値制御装置1の構成要素に含まれていなくてもよい。工作機械は、駆動部10を備えており、駆動部10が、数値制御装置1によって制御される。
【0015】
駆動部10は、加工対象物(ワーク)60および切削工具50の何れか一方または両方を少なくとも2軸方向に駆動する機構である。実施の形態の駆動部10は、数値制御装置1で規定されたX軸およびZ軸方向にそれぞれ加工対象物60および切削工具50の少なくとも一方を移動させる。図1では、駆動部10がX軸サーボ制御部11と、Z軸サーボ制御部12と、X軸サーボモータ14と、Z軸サーボモータ15とを有している場合を示している。すなわち、図1の駆動部10は、加工対象物60および切削工具50の少なくとも一方をX軸およびZ軸方向に移動させる。
【0016】
また、駆動部10は、加工対象物60を固定する主軸を回転させるための主軸サーボ制御部13および主軸モータ16を有している。なお、本開示においては説明を簡単にするため、サーボモータとしてX軸サーボモータ14とZ軸サーボモータ15との2軸のサーボモータのみを例示しているが、これに限定されず、駆動部10は、3軸以上のサーボモータを有していてもよい。
【0017】
また、数値制御装置1は、各軸に複数の系統(例えば、X1、X2、・・・)が含まれる駆動部を制御してもよい。数値制御装置1は、例えば、X1軸、Y1軸、およびZ1軸で規定された第1の座標系から、Xn(nは2以上の自然数)軸、Yn軸、およびZn軸で規定された第nの座標系までのn個の座標系で駆動する駆動部を制御してもよい。
【0018】
ここで、数値制御装置1が制御する工作機械の軸の構成について説明する。図2は、実施の形態にかかる工作機械の軸の構成を模式的に示す図である。工作機械110は、数値制御装置1によって制御される。工作機械110は、刃物台51と、主軸台70とを有している。図2では、X軸方向に平行な方向が主軸台70の回転軸71の軸方向であり、Z軸方向に平行な方向が鉛直方向であり、Z軸方向およびX軸方向に直交する方向がY軸方向である場合を示している。
【0019】
刃物台51には、切削工具50が取り付けられる。切削工具50が取り付けられた刃物台51は、数値制御装置1のX軸サーボモータ14およびZ軸サーボモータ15によってそれぞれX軸方向およびZ軸方向の移動が制御される。
【0020】
加工対象物60は、主軸台70に固定される。主軸台70は、主軸モータ16によって回転位置または回転量が制御される。数値制御装置1は、主軸サーボアンプである主軸サーボ制御部13に、回転指令を出力することで、主軸台70が備える回転軸71の回転位置または回転量を制御する。加工対象物60は、主軸台70の回転軸71を中心に主軸台70上で回転する。
【0021】
図2では、主軸台70が回転軸71を中心に回転している状態で、切削工具50が、移動経路52に沿ってX軸方向およびZ軸方向に移動し、加工対象物60を切削する場合を示している。ただし、図中の移動経路52には送り軸側(X軸方向およびZ軸方向)の振動は表現されていない。なお、以下の説明における振動切削では、送り軸側(切削工具50側)を振動させる場合について説明するが、これに限定されず、切削工具50と加工対象物60とが相対的に振動していればよく、工作機械110は、主軸側である加工対象物60を振動させてもよい。
【0022】
入力操作部20は、キーボード、ボタン、マウスなどの入力手段によって構成されており、入力操作部20へは、ユーザによる数値制御装置1に対するコマンドなどの入力、加工プログラム411またはパラメータ412などの入力が行われる。表示部30は、液晶表示装置などの表示手段によって構成され、制御演算部40によって処理された情報が表示される。
【0023】
制御演算部40は、記憶部41と、解析処理部42と、補間処理部43と、主軸処理部44と、軸データ出力部45とを具備している。解析処理部42、補間処理部43、および主軸処理部44は、記憶部41に接続されている。また、補間処理部43は、主軸処理部44に接続されている。また、補間処理部43および主軸処理部44は、軸データ出力部45に接続されており、軸データ出力部45は、駆動部10に接続されている。また、記憶部41は、入力操作部20および表示部30に接続されている。
【0024】
制御演算部40では、解析処理部42、補間処理部43、および主軸処理部44が、記憶部41を介して情報の送受信を行うが、以下の説明では、記憶部41を介していることを省略する場合がある。なお、主軸処理部44は、補間処理部43に対して直接情報を送信する場合がある。
【0025】
入力操作部20は、ユーザから操作情報を受け付け、受け付けた操作情報を記憶部41に入力する。操作情報は、ユーザが操作した内容に対応する情報である。操作情報は、例えば、加工プログラム411を編集するための情報、パラメータ値などである。パラメータ412の例は、後述する共振周波数などである。
【0026】
例えば、入力操作部20から入力された操作情報が加工プログラム411を編集するための情報(編集内容)である場合には、制御演算部40は、記憶部41で記憶されている加工プログラム411に対して、編集内容を反映させる。また、入力操作部20から入力された操作情報がパラメータ値である場合、制御演算部40は、記憶部41のうちのパラメータ412の記憶領域に、受け付けたパラメータ値を記憶させる。
【0027】
記憶部41は、制御演算部40の処理で用いられるパラメータ412、制御演算部40で実行される加工プログラム411、表示部30に表示させる画面表示データ413などの情報を記憶する。また、記憶部41には、パラメータ412、加工プログラム411以外の一時的に使用されるデータ(一時データ)を記憶する一時データ記憶領域414が設けられている。解析処理部42、補間処理部43、および主軸処理部44が、記憶部41を介して情報の送受信を行う場合、一時データ記憶領域414が用いられる。表示部30は、画面表示データ413を表示する。
【0028】
主軸処理部44は、主軸回転指令作成部441と、主軸回転速度算出部442とを有している。主軸回転指令作成部441は、加工プログラム411に基づいて主軸サーボ制御部13に指令すべき主軸回転速度(主軸の回転速度)を演算し、主軸回転速度を軸データ出力部45に出力する。
【0029】
主軸回転速度算出部442は、主軸モータ16に取り付けられた、例えばエンコーダ等の検出器(図示せず)から主軸モータ16の位相を取得し、この位相に基づいて、主軸回転速度を算出する。また、主軸回転速度算出部442は、主軸サーボ制御部13からフィードバックされる信号に基づいて、主軸回転速度を算出してもよい。主軸回転速度算出部442は、主軸サーボ制御部13からフィードバック信号として、例えば、主軸モータ16の駆動電流を取得し、駆動電流に基づいて主軸回転速度を算出してもよい。また、主軸回転速度算出部442は、駆動部10から主軸回転速度の信号を受信してもよい。
【0030】
主軸処理部44は、指令ブロック実行中における主軸回転速度を監視し、主軸回転速度の変化を検出する。例えば、主軸回転速度算出部442が指令ブロック実行中の主軸回転速度を継続的に算出することにより、主軸処理部44は主軸回転速度の変化を検出する。主軸処理部44は継続的に算出される主軸回転速度を逐次補間処理部43に送信する。
【0031】
解析処理部42は、移動指令解析部421と振動指令解析部422とを有している。移動指令解析部421は、記憶部41に格納されている1以上の指令ブロック(以下、単にブロックという場合がある)を含む加工プログラム411を読み込む。移動指令解析部421は、読み込んだ加工プログラム411を1ブロック毎に解析し、各ブロックに含まれる軸の移動量(送り量)、主軸回転数、移動速度、主軸回転速度等に基づいて、移動量、主軸回転数、移動速度、主軸回転速度等の移動指令を生成する。
【0032】
移動指令のうち、移動量および移動速度がX軸方向およびZ軸方向の送りに対する指令であり、主軸回転数および主軸回転速度が主軸の回転に対する指令である。移動量は、単位時間当たりの切削工具50のX軸方向およびZ軸方向の移動量であり、移動速度に対応している。また、主軸回転数は、単位時間当たりの主軸の回転数であり、主軸回転速度等に対応している。したがって、移動指令解析部421は、移動量または移動速度と、主軸回転数または主軸回転速度とを含んだ移動指令を生成する。解析処理部42は、移動指令を一時データ記憶領域414に記憶させる。
【0033】
振動指令解析部422は、加工プログラム411に振動指令が含まれているか否かを解析し、振動指令が含まれている場合には、振動指令に含まれている振動周波数、振動振幅等に基づいて、振動周波数、振動振幅等の振動条件を生成する。振動指令解析部422は、振動条件を一時データ記憶領域414に記憶させる。
【0034】
移動指令解析部421が生成する移動指令は、各ブロックにおける移動指令の初期値であり、振動指令解析部422が抽出する振動条件は、各ブロックにおける振動条件の初期値である。この後、主軸回転速度が変化すると、主軸回転速度に応じて振動条件は変更される。
【0035】
補間処理部43および主軸処理部44は、解析処理部42が解析した移動指令および振動条件を、一時データ記憶領域414から取得する。
【0036】
補間処理部43は、主軸処理部44が主軸回転速度の変化を検出した場合に、主軸回転速度に応じた振動周波数を算出し、振動周波数が、工作機械110の共振周波数領域に含まれているか否かを判定する。補間処理部43は、振動周波数が、工作機械110の共振周波数領域に含まれている場合には、主軸の1回転当たりの振動切削の振動数を維持したまま、共振が発生しないように振動切削の振動波形を補正する。補間処理部43は、補正した振動波形に対応する指令を、軸データ出力部45を介して駆動部10に送る。
【0037】
補間処理部43は、振動周波数算出部431と、共振周波数取得部432と、共振判定部(判定部)433と、振動波形補正部(補正部)434と、振動波形生成部435と、移動指令算出部436と、位相差算出部437と、振動振幅算出部438とを有している。
【0038】
振動周波数算出部431は、周速一定制御または主軸オーバライド変更時において主軸回転速度が変更された場合などに、主軸回転速度と、主軸1回転当たりの振動回数とに基づいて、主軸回転速度に応じた振動周波数を算出する。
【0039】
周速一定制御は、周速(切削工具50に対する加工対象物60の加工表面の回転速度)を一定にする制御である。周速一定制御では、加工対象物60に対する加工径が小さくなるほど主軸回転速度が速くなる。実施の形態では、主軸回転速度が速くなった場合にも、主軸回転速度に応じて振動周波数を大きくすることで、主軸の1回転当たりの振動切削の振動数が維持される。
【0040】
主軸オーバライドは、主軸回転数の指令値を100%とした場合に、主軸回転数を特定の割合で変化させる処理である。主軸回転数を変化させる際には、工作機械110が備える操作盤に設置されているダイヤルによって変化の割合が設定される。
【0041】
位相差算出部437は、振動前進位置(後述する振動前進位置R1)に対する振動後退位置(後述する振動後退位置R2)の時間的な遅れである位相差(後述する位相差W1,W2)を算出する。具体的には、位相差算出部437は、振動の振幅と、加工対象物60に対する切削工具50の送り速度との比率(以下、振動振幅送り比率という)を算出し、振動振幅送り比率と、主軸1回転当たりの所要時間とに基づいて、位相差W1,W2を算出する。振動前進位置R1は、切削工具50が振動した際に最も振動が進んだ位置(前進位置)である。振動後退位置R2は、切削工具50が振動した際に最も後退が進んだ位置(後退位置)である。
【0042】
なお、振動振幅送り比率は、加工プログラム411に格納されていてもよいし、パラメータ412で設定されていてもよい。この場合、位相差算出部437は、加工プログラム411またはパラメータ412から振動振幅送り比率を読み出す。
【0043】
主軸回転速度が変化すると、主軸1回転当たりの所要時間も変化する。このため、主軸回転速度が変化すると、位相差算出部437が算出する位相差W1,W2も変化する。位相差W1,W2の計算方法の詳細については後述する。
【0044】
位相差算出部437は、後述するように指令ブロック実行中に主軸回転速度の変化に応じて位相差W1,W2を再計算する。位相差算出部437は、振動条件および加工条件の少なくとも一方と、算出した位相差W1,W2とを用いて、振動前進位置R1と振動後退位置R2との2種類の経路を作成する。ここでの加工条件は、周速、加工の送り速度(X軸およびZ軸の移動速度)などである。加工条件は、加工プログラム411に格納されており、解析処理部42が、指令ブロック毎に加工プログラム411を解析することで得られる。
【0045】
振動振幅算出部438は、指令ブロックの開始から完了までの各時間における振動前進位置R1と振動後退位置R2との移動量の差分である振動振幅を算出する。
【0046】
振動波形生成部435は、各時間における振動前進位置R1と振動後退位置R2との差分(振動振幅)に対して、振動周波数算出部431が算出した振動周波数の波形を掛け合わせた振動波形を生成する。
【0047】
共振周波数取得部432は、パラメータ412などから工作機械110の共振周波数を含む共振周波数領域を取得する。工作機械110の共振周波数領域は、工作機械110の固有振動数の範囲である。
【0048】
なお、工作機械110の共振周波数領域は複数であってもよい。また、共振周波数領域は、共振周波数の範囲に限らず、特定の共振周波数であってもよい。また、工作機械110の共振周波数領域は、サーボ軸毎の共振周波数領域であってもよい。共振周波数取得部432は、共振周波数領域を共振判定部433に送る。
【0049】
共振判定部433は、共振周波数取得部432から共振周波数領域を取得する。また、共振判定部433は、振動波形生成部435が生成した振動波形から振動周波数を抽出する。なお、共振判定部433は、振動波形補正部434が振動波形を補正した後は、振動前進位置R1に対応する振動周波数(後述する前進周波数)および振動後退位置R2に対応する振動周波数(後述する後退周波数)を抽出してもよい。
【0050】
共振判定部433は、抽出した振動周波数と、工作機械110の共振周波数領域とを比較することで、振動周波数算出部431が算出した振動周波数で動作した場合に共振するか否かを判定する。共振判定部433は、振動周波数算出部431が算出した振動周波数が、共振周波数領域に重なる周波数である場合に共振すると判定する。共振判定部433は、振動切削が加工対象物60と切削工具50とを2軸以上で相対的に振動させる振動切削である場合、すなわち、振動させる軸が2軸以上の振動切削である場合、2軸以上の軸のうちの何れの軸で共振が発生するか否かを判定する。
【0051】
振動波形補正部434は、振動周波数算出部431が算出した振動周波数が、共振周波数領域に重なる周波数である場合には、振動波形を共振しない振動波形に補正する。振動波形補正部434は、振動させる軸が2軸以上の振動切削である場合、共振が発生する軸に対して振動波形を共振しない振動波形に補正する。
【0052】
振動波形補正部434は、例えば、振動の前進時間および後退時間を、共振周波数に一致しない振動の前進時間および後退時間に変化させた振動波形を生成する。振動の前進時間は、切削工具50が振動する際に振動の前進に要する時間であり、振動の後退時間は、切削工具50が振動する際に振動の後退に要する時間である。
【0053】
切削工具50が振動する際には、振動の前進と後退とが繰り返される。振動波形補正部434は、この振動の前進と後退とにおける前進時間および後退時間を変化させることで、共振を回避する。換言すると、振動波形補正部434は、前進時間および後退時間を共振しない前進時間および後退時間に補正することで振動波形を補正する。振動波形補正部434は、振動させる軸が2軸以上の振動切削である場合、共振が発生すると判定された軸に対して、振動切削の振動波形を補正する。
【0054】
移動指令算出部436は、1ブロック毎に解析された移動量(振動無しの移動量)と、振動波形生成部435が生成した振動波形とを合成した合成移動量を算出する。すなわち、移動指令算出部436は、振動波形補正部434が補正した振動波形を用いて、X軸およびZ軸の移動指令を生成する。解析処理部42が生成する軸の移動指令は、例えば、切削工具50のX軸方向およびZ軸方向の移動量および移動速度を指定した位置指令である。移動指令算出部436は、合成移動量に対応する移動指令を軸データ出力部45に送る。
【0055】
軸データ出力部45は、主軸処理部44から主軸回転速度を受け付ける。また、軸データ出力部45は、解析処理部42から移動指令を受け付ける。また、軸データ出力部45は、振動波形が補正された場合には、補間処理部43から合成移動量を受け付ける。
【0056】
軸データ出力部45は、受け付けた主軸回転速度を駆動部10に指令する。また、軸データ出力部45は、受け付けた移動指令を駆動部10に指令する。また、軸データ出力部45は、受け付けた合成移動量を駆動部10に指令する。
【0057】
駆動部10の主軸サーボ制御部13は、主軸回転速度に従って主軸モータ16を駆動する。また、駆動部10のX軸サーボ制御部11は、合成移動量に従ってX軸サーボモータ14を駆動し、駆動部10のZ軸サーボ制御部12は、合成移動量に従ってZ軸サーボモータ15を駆動する。
【0058】
ここで、図3を参照して補間処理部43の機能を説明する。図3は、実施の形態にかかる数値制御装置の補間処理部が算出する振動波形の例を説明するための図である。図3に示す5つのグラフの横軸は時間である。
【0059】
図3の(a)に示す第1段目のグラフでは、主軸回転速度の時間的変化を示している。このグラフの縦軸は主軸回転速度である。図3の(a)では、時刻t0において指令ブロックの実行によって振動切削が開始され、時刻t1において主軸回転速度が増加し始め、時刻t3まで主軸回転速度が増加し続ける場合を示している。このような主軸回転速度の変化は主軸処理部44において検出され、補間処理部43に提供される。
【0060】
図3の(b)に示す第2段目のグラフでは、振動前進位置R1と振動後退位置R2との関係(時間的変化)を示している。このグラフの縦軸は位置指令(振動無し)である。この縦軸は、送り軸(X軸またはZ軸)の移動量に対応している。すなわち、図3における位置指令は、切削工具50への移動指令である。
【0061】
図3の(b)に示すように、振動後退位置R2は、振動前進位置R1に対してt2-t1だけ時間的に遅れて移動を開始する。位相差算出部437は、振動前進位置R1に対する振動後退位置R2のt2-t1の時間的な遅れである位相差(図中のW1およびW2)を算出する。
【0062】
位相差算出部437は、指令ブロック実行中に変化した主軸回転速度に応じた位相差W1,W2を再計算する。具体的には、位相差算出部437は、振動振幅送り比率と、主軸1回転当たりの所要時間とに基づいて、位相差W1,W2を算出する。位相差算出部437は、振動条件および加工条件の少なくとも一方と、算出した位相差W1,W2とを用いて振動前進位置R1と振動後退位置R2との2種類の経路を作成する。
【0063】
なお、補間処理部43は、例えば、切削工具50の移動経路を振動前進位置R1に設定し、振動前進位置R1から振動振幅を減算することで振動後退位置R2を求めてもよい。また、補間処理部43は、例えば、切削工具50の移動経路を振動後退位置R2に設定し、振動後退位置R2に振動振幅を加算することで振動前進位置R1を求めてもよい。これらの場合、補間処理部43は、例えば、加工プログラム411で規定されている移動の終点位置の座標に基づいて、切削工具50の移動経路を算出する。
【0064】
図3の(c)に示す第3段目のグラフでは、時刻t0で開始された処理が時刻t4で終了するまでの振動振幅の時間的変化を示している。このグラフの縦軸は、振動振幅(振動前進位置R1-振動後退位置R2)である。
【0065】
振動振幅算出部438は、指令ブロックの開始から完了までの各時間における振動前進位置R1と振動後退位置R2との移動量の差分である振動振幅を算出する。具体的には、振動振幅算出部438は、図3の(c)に示すグラフの振動前進位置R1および振動後退位置R2に基づいて、時刻t1~時刻t2までの振動振幅、および時刻t3~時刻t4までの振動振幅を算出する。
【0066】
また、振動振幅算出部438は、振動条件に基づいて、時刻t2~時刻t3までの振動振幅を算出する。振動条件に設定されている振動振幅は一定値なので、時刻t2~時刻t3までの振動振幅も一定値である。
【0067】
振動周波数算出部431は、主軸回転速度と、主軸1回転当たりの振動回数とから振動周波数を算出する。振動周波数算出部431が算出する振動周波数は、指令ブロック実行中における主軸回転速度に対応している。このため、振動周波数算出部431は、周速一定制御または主軸オーバライド変更時において主軸回転速度が変更された場合などに、主軸回転速度に応じた振動周波数を算出する。振動周波数算出部431は、主軸の1回転当たりの振動切削の振動数が維持されるように、主軸回転速度に応じた振動周波数を算出する。
【0068】
振動波形生成部435は、各時間における振動前進位置R1と振動後退位置R2との差分(振動振幅)に対して、振動周波数算出部431が算出した振動周波数の波形を掛け合わせた振動波形を算出する。
【0069】
図3の(d)に示す第4段目のグラフでは、図3の(c)に示した振動振幅のグラフに振動周波数の波形を掛け合わせた振動波形の時間的変化を示している。このグラフの縦軸は振動波形である。
【0070】
図3の(e)に示す第5段目のグラフでは、図3の(b)に示したグラフに図3の(d)に示した振動波形を合成した場合の位置指令(合成移動量)の時間的変化を示している。このグラフの縦軸は位置指令(振動あり)である。
【0071】
移動指令算出部436は、1ブロック毎に解析された移動量(振動無しの移動量)と振動波形とを合成した合成移動量を算出する。移動指令算出部436は、合成移動量を軸データ出力部45に送る。
【0072】
軸データ出力部45は、得られた合成移動量を駆動部10に指令する。駆動部10は、合成移動量に従ってX軸サーボ制御部11およびZ軸サーボ制御部12を駆動する。
【0073】
主軸回転速度が変化する場合、振動切削(送り軸)の振動周波数は主軸一回転当たりの振動数に対応しているので、主軸回転数(主軸の単位時間当たりの回転数)が大きくなることに比例して振動切削の振動周波数も高くなる。例えば、主軸回転速度が速くなる場合、主軸回転数が大きくなるので一定時間に振動する回数は多くなり、振動切削の振動周波数も大きくなる。
【0074】
この場合において、振動周波数が変化する過程で、振動周波数と、工作機械110の固有振動数とが一致した場合には、共振が発生し、加工面性状に影響を及ぼす。
【0075】
例えば、工作機械110が、テーパ加工を周速一定制御で行う場合、周速一定制御では加工径が小さくなるほど(切削工具50が加工対象物60の回転中心に近づくほど)、主軸回転速度が速くなる。この場合において、主軸1回転当たりの振動数が変化しない場合、振動周波数は主軸の回転数に比例して高くなる。そして、振動周波数の変化範囲に、工作機械110の固有振動数が存在した場合には、工作機械110に共振が発生する可能性がある。
【0076】
このような共振を発生させないために、振動波形補正部434は、振動周波数が共振周波数領域に重なる周波数である場合には、振動周波数を共振が発生しない振動波形に補正する。具体的には、振動波形補正部434は、現在の主軸の回転数から生成された振動波形に基づいて、振動の前進時間または後退時間の2倍(振動周期)の逆数である、前進または後退の振動周波数(前進振動周波数または後退振動周波数)を算出する。すなわち、振動波形補正部434は、現在の主軸回転速度に応じた前進振動周波数または後退振動周波数を算出する。
【0077】
そして、振動波形補正部434は、前進または後退の振動周波数と、パラメータ等で設定された共振周波数領域とを比較する。振動波形補正部434は、前進または後退の振動周波数が共振周波数領域に重なる周波数である場合には、動的に振動波形を補正することで、振動周波数を共振が発生しない振動波形に補正する。これにより、数値制御装置1は、周速一定制御で制御しつつ、共振を回避できる。
【0078】
なお、共振周波数領域が複数の領域である場合、振動波形補正部434は、前進または後退の振動周波数が複数の共振周波数領域に重ならないよう振動波形を補正してもよい。また、振動波形補正部434は、前進または後退の振動周波数がサーボ軸毎の共振周波数領域に重ならないよう振動波形を補正してもよい。
【0079】
つぎに、数値制御装置1が実行する処理の処理手順について説明する。図4は、実施の形態にかかる数値制御装置が実行する処理の処理手順を示すフローチャートである。ここでは、数値制御装置1が、主軸回転速度(主軸回転数)が変化した場合に振動波形を生成する処理について説明する。
【0080】
数値制御装置1は、加工プログラム411に含まれている指令ブロックを実行する(ステップS10)。これにより、数値制御装置1の解析処理部42は、振動条件を設定する。数値制御装置1は、工作機械110に対し、主軸回転および加工を開始させる(ステップS20)。具体的には、数値制御装置1は、主軸回転速度と、X軸およびZ軸の移動指令とを駆動部10に出力することで、主軸を回転させるとともに、切削工具50による加工対象物60の加工を開始する。
【0081】
主軸処理部44は、主軸回転速度が変化したか否かを判定する(ステップS30)。主軸回転速度が変化していない場合(ステップS30、No)、数値制御装置1は、指令ブロックで定義された現状の振動条件を維持する(ステップS130)。
【0082】
指令ブロック実行中に振動切削の主軸回転速度が変化した場合には(ステップS30、Yes)、位相差算出部437は、主軸回転速度が変化した後の位相差W1,W2を再計算する(ステップS40)。具体的には、位相差算出部437は、振動振幅送り比率と、主軸1回転当たりの所要時間とに基づいて、位相差W1,W2を算出する。
【0083】
振動振幅算出部438は、再計算された位相差W1,W2に基づいて、振動振幅を再計算する(ステップS50)。具体的には、振動振幅算出部438は、位相差算出部437が位相差W1,W2に基づいて作成した振動前進位置R1および振動後退位置R2を位相差算出部437から受け付けて、振動前進位置R1と振動後退位置R2との移動量の差分を振動振幅として算出する。
【0084】
振動振幅を振動振幅Aとすると、加工プログラム411内に定義されている振動振幅送り比率Qは、振動振幅Aと、主軸の回転毎送り量Fとの比率であり、以下の式(1)の関係にある。主軸の回転毎送り量Fは、主軸が1回転する間に切削工具50が送り方向に送られる送り量(移動量)である。
【0085】
Q=A/F・・・(1)
【0086】
主軸1回転当たりの所要時間を所要時間Tとし、位相差を位相差Wとすると、所要時間Tと、位相差Wと、振動振幅Aと、主軸の回転毎送り量Fとには、以下の式(2)の関係がある。位相差算出部437は、以下の式(2)を用いて位相差W1,W2を再計算する。
【0087】
A/W=F/T・・・(2)
【0088】
式(2)におけるA/Wは、図3の(c)における位相差W1と、時刻t2での振動振幅Aとの比率であるA/W1に対応している。なお、式(2)におけるA/Wは、図3の(c)における位相差W2と、時刻t4での振動振幅Aとの比率であるA/W2であってもよい。
【0089】
また、式(2)におけるF/Tは、主軸が1回転する所要時間Tの間に切削工具50が送り方向に送られる送り量(主軸の回転毎送り量F)に対応している。このF/Tは、振動前進位置R1の傾き、または振動後退位置R2の傾きに対応している。式(1)および式(2)から位相差Wについて式(3)が導出される。
【0090】
W=AT/F=QT・・・(3)
【0091】
式(3)は、ブロック実行中の主軸回転速度の変化に伴って、主軸1回転当たりの所要時間Tが変化した場合、位相差Wは主軸1回転当たりの所要時間Tに依存して増減することを示している。
【0092】
振動波形生成部435は、振動波形を再計算する(ステップS60)。具体的には、振動波形生成部435は、各時間における振動前進位置R1と振動後退位置R2との差分である振動振幅に対して、振動周波数の波形を掛け合わせた振動波形を再計算する。
【0093】
共振周波数取得部432は、パラメータ412などから工作機械110の共振周波数領域を取得する。共振判定部433は、再計算された振動波形から、振動の前進時間および後退時間を計算する(ステップS70)。さらに、共振判定部433は、振動の前進時間および後退時間に基づいて、前進および後退の振動周波数(前進の周波数である前進周波数および後退の周波数である後退周波数)を計算する(ステップS80)。
【0094】
共振判定部433は、共振周波数領域と、前進および後退の周波数とが重複するか否かを判定する(ステップS90)。共振周波数領域と、前進および後退の周波数とが重複しない場合(ステップS90、No)、共振判定部433は、工作機械110が共振しないと判定し、数値制御装置1は、指令ブロックで定義された現状の振動条件を維持する(ステップS130)。
【0095】
共振振周波数領域と、前進および後退の周波数の少なくとも一方とが重複する場合(ステップS90、Yes)、共振判定部433は、工作機械110が共振すると判定し、共振を回避できる前進時間および後退時間が存在するか否かを判定する(ステップS100)。
【0096】
共振を回避できる前進時間および後退時間が存在しない場合(ステップS100、No)、振動波形補正部434は、振動振幅Aを減衰させる(ステップS110)。そして、振動波形補正部434は、振動振幅Aを減衰させた振動波形を補正する(ステップS120)。なお、共振を回避できる前進時間および後退時間が存在しない場合、振動波形補正部434は、振動を停止させてもよい。
【0097】
一方、共振を回避できる前進時間および後退時間が存在する場合(ステップS100、Yes)、振動波形補正部434は、振動切削の振動波形を補正する(ステップS120)。振動波形補正部434は、主軸の1回転当たりの振動切削の振動数を維持したまま、共振が発生しないように振動切削の振動波形を補正する。具体的には、振動波形補正部434は、振動振幅Aを減衰させない場合、振動前進位置および振動後退位置を維持しつつ、振動の前進時間または後退時間を変更することで共振が発生しないように振動波形を補正する。また、振動波形補正部434は、振動振幅Aを減衰させる場合、減衰させた振動振幅Aを適用することで共振が発生しないように振動波形を補正する。
【0098】
このように、数値制御装置1は、主軸の1回転当たりの振動切削の振動数を切り替えることなく共振を回避している。これにより、数値制御装置1は、振動切削を行う際に、振動切削の振動周波数と工作機械110の固有振動数との一致による共振を回避しつつ、加工対象物60に対して表面性状の良好な加工を実現できる。
【0099】
本実施の形態における表面性状が良好な状態とは、振動切削によって加工対象物60に生じる模様が途中で変化しないこと、切削跡の特定の模様パターンが途中で途切れたりせず繋がっている状態などである。一方、表面性状が良好でない状態とは、振動切削の結果生じる切削跡が主軸1回転当たりの振動回数が切り替わった箇所で途切れてしまうような状態である。
【0100】
ここで、振動の前進時間および後退時間について説明する。図5は、実施の形態にかかる数値制御装置が算出および変更する振動の前進時間および後退時間を説明するための図である。図5に示す振動波形のグラフの横軸は時間であり、縦軸は振動指令に対応する振動位置である。
【0101】
図5に示す振動波形のうち、点線で示す三角波の振動波形FA1は、指令ブロックで定義された振動条件に基づいて生成された振動波形であり、実線で示す台形波の振動波形FA2は、振動波形補正部434が生成した振動波形である。
【0102】
振動波形FA1,FA2には、前進する際の振動波形と後退する際の振動波形とが含まれている。振動波形FA1では、前進時間Tf1の間だけ前進し、その後、すぐに後退時間Tr1の間だけ後退している。振動波形FA1では、前進時間Tf1の間の前進と、後退時間Tr1の間の後退とが繰り返される。
【0103】
振動波形FA1が、共振周波数領域に重なる周波数である場合には、振動波形補正部434は、前進時間Tf1および後退時間Tr1を、共振周波数に一致しない前進時間Tf2および後退時間Tr2に変化させた振動波形FA2を生成する。換言すると、振動波形補正部434は、前進時間Tf1および後退時間Tr1を共振周波数領域に重ならない前進時間Tf2および後退時間Tr2に補正することで振動波形FA1を振動波形FA2に補正する。
【0104】
振動波形FA2では、前進時間Tf1よりも短い前進時間Tf2の間だけ前進し、その後、振動の前進位置で特定時間だけ切削工具50の振動を停止している。そして、振動波形FA2では、後退時間Tr1よりも短い後退時間Tr2の間だけ後退し、その後、振動の後退位置で特定時間だけ切削工具50の振動を停止している。振動波形FA2では、前進時間Tf2の間の前進と、振動の前進位置での振動の停止と、後退時間Tr2の間の後退と、振動の後退位置での振動の停止とが繰り返される。補間処理部43は、振動波形FA2に対応する指令を、軸データ出力部45を介して、駆動部10に出力することで、駆動部10に振動波形FA2に対応する処理を実行させる。
【0105】
なお、振動波形FA1,FA2は、振動周波数は同じであるが、振動前進時間および振動後退時間が異なる。したがって、振動波形FA1,FA2は、周波数分析が実行された場合の振動の周波数成分の分布などが異なる。例えば、振動波形FA1が振動波形FA2に補正されることで、振動波形FA1に含まれていた基本波の周波数成分のスペクトルが小さくなり、他の周波数の周波数成分のスペクトルが大きくなる。
【0106】
このように、振動波形FA1が、周波数成分の分布が異なる振動波形FA2に補正されることで、工作機械110の共振が回避される。すなわち、振動波形補正部434は、振動波形FA1に対応する振動周波数の周波数成分の分布が、共振周波数または共振周波数領域の周波数成分の分布とは異なる分布となるように、振動波形FA1を補正して振動波形FA2を生成する。
【0107】
振動波形補正部434は、例えば、振動波形FA1の補正に際し、前進時間Tf2および後退時間Tr2を算出するために周波数変調を用いることができる。この場合、振動波形補正部434は、振動波形FA1に基づいて、振動の前進時間Tf1または後退時間Tr1の2倍の逆数である前進振動周波数または後退振動周波数を算出する。そして、振動波形補正部434は、例えば、周波数変調の際に、三角波、ハーシーキス波などの複数の波形の中から特定の波形形状(変調形状)を選択する。ここでの変調形状は、変調の重み付けに対応している。振動波形補正部434は、前進振動周波数を特定の波形形状に従って周波数変調することで前進振動周波数を変形させる。これにより、振動波形補正部434は、変形後の前進振動周波数から前進時間Tf2を計算する。また、振動波形補正部434は、後退振動周波数を特定の波形形状に従って周波数変調することで後退振動周波数を変形させる。これにより、振動波形補正部434は、変形後の後退振動周波数から後退時間Tr2を計算する。
【0108】
なお、振動波形補正部434は、前進振動周波数および後退振動周波数を特定の波形形状に従ってまとめて周波数変調することで前進振動周波数および後退振動周波数をまとめて変形させてもよい。また、振動波形補正部434は、特定の確率分布に基づいて周波数変調を実行してもよい。
【0109】
また、振動波形補正部434は、振動波形FA1の補正に際し、振動振幅Aを変更してもよい。また、振動波形補正部434は、振動波形FA1の補正に際し、振動波形FA1の種類をのこぎり波、三角波、矩形波、台形波およびサイン(Sin)波の何れかに切り替えてもよい。すなわち、振動波形補正部434は、振動波形FA1を第1の波形形状を有した第1の波形から第2の波形形状を有した第2の波形に切り替えてもよい。第1の波形は、のこぎり波、三角波、矩形波、台形波、またはサイン波などであり、第2の波形は、のこぎり波、三角波、矩形波、台形波、またはサイン波などである。なお、振動波形補正部434は、振動波形FA1を同じ種類の振動波形に切り替えてもよいが、この場合にも波形形状を変更することで振動波形FA1を補正する。
【0110】
移動指令算出部436は、振動波形FA2に基づいて、X軸およびZ軸への移動指令(移動量または移動速度を指定した位置指令)を生成する。
【0111】
例えば、振動切削の振動周波数と工作機械110の固有振動数とが一致した場合の共振を避けるために、主軸回転速度に閾値を設けると、周速一定制御を維持した加工を行うことができない。一方、実施の形態の数値制御装置1は、主軸回転速度に閾値を設けていないので、数値制御装置1は、周速一定制御を維持した加工を工作機械110に実行させることができる。また、数値制御装置1は、振動切削中の周速一定制御または主軸オーバライド変更時にも主軸1回転当たりの振動回数を維持しつつ、振動切削の振動周波数と工作機械110の共振周波数との一致による共振を回避した振動切削が可能となる。
【0112】
つぎに、数値制御装置1が備える制御演算部40のハードウェア構成について説明する。数値制御装置1は、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであってもよいし、専用のハードウェアであってもよい。
【0113】
図6は、実施の形態にかかる数値制御装置の制御演算部が備える処理回路をプロセッサおよびメモリで実現する場合の処理回路の構成例を示す図である。図6に示す処理回路90は、プロセッサ91およびメモリ92を備える。処理回路90がプロセッサ91およびメモリ92で構成される場合、処理回路90の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアは制御演算プログラムとして記述され、メモリ92に格納される。メモリ92は、プロセッサ91が各種処理を実行する際の一時メモリにも使用される。
【0114】
処理回路90では、メモリ92に記憶された制御演算プログラムをプロセッサ91が読み出して実行することにより、各機能を実現する。すなわち、処理回路90は、制御演算部40の処理が結果的に実行されることになる制御演算プログラムを格納するためのメモリ92を備える。この制御演算プログラムは、処理回路90により実現される各機能を制御演算部40に実行させるためのプログラムであるともいえる。
【0115】
プロセッサ91が実行する制御演算プログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な(non-transitory)記録媒体を有するコンピュータプログラムプロダクトであってもよい。プロセッサ91が実行する制御演算プログラムは、複数の命令によるデータ処理をコンピュータに実行させる。なお、制御演算プログラムは、通信媒体など他の手段により提供されてもよい。
【0116】
上記制御演算プログラムは、図4のステップS10~S130の処理を制御演算部40に実行させるプログラムであるとも言える。上記制御演算プログラムは、少なくとも共振周波数領域と前進および後退の周波数とが重複するか否かを判定する判定ステップと、共振を回避できる前進時間Tf2および後退時間Tr2となるように振動波形FA1を振動波形FA2に補正する補正ステップとを制御演算部40に実行させるプログラムであるとも言える。
【0117】
ここで、プロセッサ91は、例えば、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)などである。また、メモリ92は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などが該当する。
【0118】
図7は、実施の形態にかかる数値制御装置の制御演算部が備える処理回路を専用のハードウェアで構成する場合の処理回路の例を示す図である。図7に示すように制御演算部40は、専用のハードウェア(処理回路93)で実現されてもよい。図7に示す処理回路93は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。制御演算部40の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、制御演算部40は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【0119】
このように実施の形態の数値制御装置1は、振動切削の振動周波数で動作した場合に共振が発生すると判定した場合には、主軸の1回転当たりの振動切削(送り軸)の振動数を維持したまま、共振が発生しないように振動切削の振動波形FA1を振動波形FA2に補正し、補正した振動波形FA2で工作機械110を制御している。これにより、数値制御装置1は、主軸の1回転当たりの振動切削の振動数を切り替えることなく共振を回避できる。したがって、数値制御装置1は、振動切削の振動周波数と工作機械110の固有振動数との一致による共振を回避した振動切削を行いつつ、加工対象物60に対して表面性状の良好な加工を実現できる。
【0120】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【0121】
1 数値制御装置、10 駆動部、11 X軸サーボ制御部、12 Z軸サーボ制御部、13 主軸サーボ制御部、14 X軸サーボモータ、15 Z軸サーボモータ、16 主軸モータ、20 入力操作部、30 表示部、40 制御演算部、41 記憶部、42 解析処理部、43 補間処理部、44 主軸処理部、45 軸データ出力部、50 切削工具、51 刃物台、52 移動経路、60 加工対象物、70 主軸台、71 回転軸、90,93 処理回路、91 プロセッサ、92 メモリ、110 工作機械、411 加工プログラム、412 パラメータ、413 画面表示データ、414 一時データ記憶領域、421 移動指令解析部、422 振動指令解析部、431 振動周波数算出部、432 共振周波数取得部、433 共振判定部、434 振動波形補正部、435 振動波形生成部、436 移動指令算出部、437 位相差算出部、438 振動振幅算出部、441 主軸回転指令作成部、442 主軸回転速度算出部、FA1,FA2 振動波形、R1 振動前進位置、R2 振動後退位置、Tf1,Tf2 前進時間、Tr1,Tr2 後退時間、W,W1,W2 位相差、t0~t4 時刻。
【要約】
加工対象物と、工作機械に取り付けられた切削工具とを相対的に振動させる振動切削を制御するとともに、工作機械が有する主軸の回転速度の変化に応じて主軸の振動周波数を変化させる数値制御装置(1)であって、振動切削において共振が発生する共振周波数と、振動周波数とを比較することで、振動周波数で動作した場合に共振が発生するか否かを判定する共振判定部(433)と、共振が発生すると判定された場合には、主軸の1回転当たりの振動回数を維持したまま、共振が発生しないように振動切削の振動波形を補正する振動波形補正部(434)と、を備える。
図1
図2
図3
図4
図5
図6
図7