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

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

▶ 国立大学法人名古屋大学の特許一覧 ▶ ブラザー工業株式会社の特許一覧

特開2023-149799数値制御装置、及び数値制御装置の制御方法
<>
  • 特開-数値制御装置、及び数値制御装置の制御方法 図1
  • 特開-数値制御装置、及び数値制御装置の制御方法 図2
  • 特開-数値制御装置、及び数値制御装置の制御方法 図3
  • 特開-数値制御装置、及び数値制御装置の制御方法 図4
  • 特開-数値制御装置、及び数値制御装置の制御方法 図5
  • 特開-数値制御装置、及び数値制御装置の制御方法 図6
  • 特開-数値制御装置、及び数値制御装置の制御方法 図7
  • 特開-数値制御装置、及び数値制御装置の制御方法 図8
  • 特開-数値制御装置、及び数値制御装置の制御方法 図9
  • 特開-数値制御装置、及び数値制御装置の制御方法 図10
  • 特開-数値制御装置、及び数値制御装置の制御方法 図11
  • 特開-数値制御装置、及び数値制御装置の制御方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023149799
(43)【公開日】2023-10-16
(54)【発明の名称】数値制御装置、及び数値制御装置の制御方法
(51)【国際特許分類】
   B23Q 15/12 20060101AFI20231005BHJP
   G05B 19/416 20060101ALI20231005BHJP
【FI】
B23Q15/12 A
G05B19/416 K
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022058561
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】近藤 大智
(72)【発明者】
【氏名】佐藤 隆太
(72)【発明者】
【氏名】寺田 弦
【テーマコード(参考)】
3C001
3C269
【Fターム(参考)】
3C001KA07
3C001KB02
3C001KB04
3C001KB06
3C001TA05
3C001TB08
3C269AB03
3C269AB05
3C269AB06
3C269BB03
3C269CC02
3C269CC17
3C269EF03
3C269EF15
3C269EF39
3C269GG01
3C269MN07
3C269MN21
3C269MN24
3C269QC01
3C269QD02
(57)【要約】
【課題】機械装置が駆動する時に発生する振動を適切に抑制できる数値制御装置、及び数値制御装置の制御方法を提供する。
【解決手段】数値制御装置のCPUは、許容値と送り量とを取得する。CPUは、取得した許容値と送り量Lとに基づき、記憶装置に記憶した振動面積マップを参照して、加減速時間を決定する(S203)。CPUは決定した加減速時間に基づき、記憶装置に記憶したTsum-T1テーブルを参照して、第一時間を決定する(S205)。CPUは、決定した第一時間に基づき、加速度指令を作成する。
【選択図】図12
【特許請求の範囲】
【請求項1】
加速度指令に基づきモータを駆動して機械装置を駆動する数値制御装置であって、
前記加速度指令は、
連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、
前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、
前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、
前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、
前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、
前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、
前記機械装置の振動の大きさの許容値と、前記機械装置の送り量と、前記第一時間、前記第二時間、前記第三時間、及び前記第四時間の合計時間との関係を示す第一情報、及び、前記合計時間と前記第一時間との関係を示す第二情報とを記憶する記憶部と、
前記許容値と前記送り量とを取得する取得手段と、
前記取得手段により取得した前記許容値と前記送り量とに基づき、前記記憶部に記憶した前記第一情報を参照して、前記合計時間を決定する第一決定手段と、
前記第一決定手段により特定した前記合計時間に基づき、前記記憶部に記憶した前記第二情報を参照して、前記第一時間を決定する第二決定手段と、
前記第二決定手段により決定した前記第一時間に基づき、前記加速度指令を作成する作成手段と
を備えたことを特徴とする数値制御装置。
【請求項2】
前記第一情報は、前記合計時間と前記送り量とを変化させた場合に、前記合計時間と前記送り量の組み合わせ毎に発生した前記振動の大きさの計測値に基づき規定される情報である
ことを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記第一情報に含まれる前記機械装置の前記振動の大きさは、前記加速度指令の指令完了後に前記機械装置に発生した前記振動の大きさを示す振動波形を、所定時間に亘って積分した積分値である
ことを特徴とする請求項2に記載の数値制御装置。
【請求項4】
前記第二情報は、前記合計時間に対して前記加速度指令の特定の周波数成分を0とする方程式に基づき規定される情報であり、
前記第二決定手段は、前記方程式において、前記合計時間に対して前記方程式の解が存在するときは、前記方程式の解となる値を前記第一時間と決定し、前記方程式に解が存在しないときは、前記特定の周波数成分の大きさを最小とする値を前記第一時間と決定する
ことを特徴とする請求項1~3の何れか一つに記載の数値制御装置。
【請求項5】
前記第二情報は、前記合計時間に対して前記加速度指令の特定の周波数成分を0とする方程式に基づき規定される情報であり、
前記第二決定手段は、前記方程式において、前記合計時間に対して前記特定の周波数成分の大きさを最小とする前記第一時間の解が複数存在する場合、前記合計時間の1/2に最も近い値を前記第一時間と決定する
ことを特徴とする請求項1~4の何れか一つに記載の数値制御装置。
【請求項6】
前記機械装置は、複数の固有振動数を有し、
前記第二情報は、前記複数の固有振動数に対する重み係数で規定された重みを、夫々の前記加速度指令の特定の周波数成分を0とする方程式に対して適用した情報である
ことを特徴とする請求項1~5の何れか一つに記載の数値制御装置。
【請求項7】
加速度指令に基づきモータを駆動して機械装置を駆動する数値制御装置の制御方法であって、
前記加速度指令は、
連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、
前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、
前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、
前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、
前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、
前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、
前記数値制御装置は、
前記機械装置の振動の大きさの許容値と、前記機械装置の送り量と、前記第一時間、前記第二時間、前記第三時間、及び前記第四時間の合計時間との関係を示す第一情報、及び、前記合計時間と前記第一時間との関係を示す第二情報とを記憶する記憶部
を備え、
前記許容値と前記送り量とを取得する取得ステップと、
前記取得ステップにより取得した前記許容値と前記送り量とに基づき、前記記憶部に記憶した前記第一情報を参照して、前記合計時間を決定する第一決定ステップと、
前記第一決定ステップにより特定した前記合計時間に基づき、前記記憶部に記憶した前記第二情報を参照して、前記第一時間を決定する第二決定ステップと、
前記第二決定ステップにより決定した前記第一時間に基づき、前記加速度指令を作成する作成ステップと
を備えたことを特徴とする数値制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置、及び数値制御装置の制御方法に関する。
【背景技術】
【0002】
特許文献1は振動抑制装置を開示する。振動抑制装置は、工作機械が送り軸指令に応じて駆動した時に発生する振動を抑制する為、送り軸指令に補償トルク指令を付加する。補償トルク指令は、振動の位相に対して逆位相となる波形を有する。該時、振動の振幅は補償トルク指令により減少するので、工作機械は振動を抑制できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-153085号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
工作機械が送り軸指令に応じて駆動時に生じる振動の周波数が、送り軸指令の条件に応じて変化する時がある。該時、特許文献1の如く補償トルク指令を用いる方法では駆動時に生じる振動を抑制できない時がある。
【0005】
本発明の目的は、機械装置が駆動する時に発生する振動を適切に抑制できる数値制御装置、及び数値制御装置の制御方法を提供することである。
【課題を解決するための手段】
【0006】
本発明の第一態様に係る数値制御装置は、加速度指令に基づきモータを駆動して機械装置を駆動する数値制御装置であって、前記加速度指令は、連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、前記機械装置の振動の大きさの許容値と前記機械装置の送り量と、前記第一時間、前記第二時間、前記第三時間、及び前記第四時間の合計時間との関係を示す第一情報、及び、前記合計時間と前記第一時間との関係を示す第二情報とを記憶する記憶部と、前記許容値と前記送り量とを取得する取得手段と、前記取得手段により取得した前記許容値と前記送り量とに基づき、前記記憶部に記憶した前記第一情報を参照して、前記合計時間を決定する第一決定手段と、前記第一決定手段により特定した前記合計時間に基づき、前記記憶部に記憶した前記第二情報を参照して、前記第一時間を決定する第二決定手段と、前記第二決定手段により決定した前記第一時間に基づき、前記加速度指令を作成する作成手段とを備えたことを特徴とする。
【0007】
数値制御装置は、決定した加速度指令で機械装置のモータを駆動することにより、モータの駆動時に発生する機械装置の振動を抑制できる。
【0008】
第一態様によれば、前記第一情報は、前記合計時間と前記送り量とを変化させた場合に、前記合計時間と前記送り量の組み合わせ毎に発生した前記振動の大きさの計測値に基づき規定される情報であってもよい。数値制御装置では、第一情報は、振動を計測した計測値に基づく。故に、数値制御装置は、計算のみで決定した場合よりも最適な加速度指令を作成できる。
【0009】
第一態様によれば、前記第一情報に含まれる前記機械装置の前記振動の大きさは、前記加速度指令の指令完了後に前記機械装置に発生した前記振動の大きさを示す振動波形を、所定時間に亘って積分した積分値であってもよい。数値制御装置は、振動波形の積分値を用いることで最適な加速度指令を作成できる。
【0010】
第一態様によれば、前記第二情報は、前記合計時間に対して前記加速度指令の特定の周波数成分を0とする方程式に基づき規定される情報であり、前記第二決定手段は、前記方程式において、前記合計時間に対して前記方程式の解が存在するときは、前記方程式の解となる値を前記第一時間と決定し、前記方程式に解が存在しないときは、前記特定の周波数成分の大きさを最小とする値を前記第一時間と決定してもよい。数値制御装置は、方程式の解が無い場合にも、特定の周波数成分の大きさを最小とする値を第一時間と決定することで最適な加速度指令を作成できる。
【0011】
第一態様によれば、前記第二情報は、前記合計時間に対して前記加速度指令の特定の周波数成分を0とする方程式に基づき規定される情報であり、前記第二決定手段は、前記方程式において、前記合計時間に対して前記特定の周波数成分の大きさを最小とする前記第一時間の解が複数存在する場合、前記合計時間の1/2に最も近い値を前記第一時間と決定してもよい。数値制御装置は、合計時間の1/2に近い値を第一時間に決定することで、最適な加速度指令を作成できる。
【0012】
第一態様によれば、前記機械装置は、複数の固有振動数を有し、前記第二情報は、前記複数の固有振動数に対する重み係数で規定された重みを、夫々の前記加速度指令の特定の周波数成分を0とする方程式に対して適用した情報であってもよい。数値制御装置は、機械装置が複数の固有振動数を有する場合でも、重み係数を適用することで適切に振動を低減できる。
【0013】
本発明の第二態様に係る数値制御装置の制御方法は、加速度指令に基づきモータを駆動して機械装置を駆動する数値制御装置の制御方法であって、前記加速度指令は、連続する第一期間、第二期間、第三期間、第四期間に亘り前記モータの加速度を制御し、前記第一期間では、前記モータの加速度が零から第一加速度迄増加し、前記第二期間では、前記モータの加速度が前記第一加速度から零迄減少し、前記第三期間では、前記モータの加速度が零から第二加速度迄減少し、前記第四期間では、前記モータの加速度が前記第二加速度から零迄増加し、前記第一期間の長さである第一時間、前記第二期間の長さである第二時間、前記第三期間の長さである第三時間、前記第四期間の長さである第四時間の内、前記第一時間と前記第四時間とが同一であり、且つ、前記第二時間と前記第三時間とが同一であり、前記数値制御装置は、前記機械装置の振動の大きさの許容値と前記機械装置の送り量と、前記第一時間、前記第二時間、前記第三時間、及び前記第四時間の合計時間との関係を示す第一情報、及び、前記合計時間と前記第一時間との関係を示す第二情報とを記憶する記憶部を備え、前記許容値と前記送り量とを取得する取得ステップと、前記取得ステップにより取得した前記許容値と前記送り量とに基づき、前記記憶部に記憶した前記第一情報を参照して、前記合計時間を決定する第一決定ステップと、前記第一決定ステップにより特定した前記合計時間に基づき、前記記憶部に記憶した前記第二情報を参照して、前記第一時間を決定する第二決定ステップと、前記第二決定ステップにより決定した前記第一時間に基づき、前記加速度指令を作成する作成ステップとを備えたことを特徴とする。
【0014】
数値制御装置は、上記制御方法により制御することで、第一態様と同様の効果を得る。
【図面の簡単な説明】
【0015】
図1】工作機械1の斜視図。
図2】数値制御装置30と工作機械1の電気的構成を示すブロック図。
図3】工具4の位置、速度波形、加速度波形を示すグラフ。
図4】振幅Amplitudeの周波数特性を示す図。
図5】コンプライアンスの周波数特性を示す図。
図6】振幅マップ、及び加減速時間Tsumを0.06secとした場合の第一時間Tと振幅Amplitudeとの関係を示す図。
図7】Tsum-T1テーブルを示す図。
図8】振動面積マップを示す図。
図9】送り量TsumテーブルとTsum-T1テーブルとを示す図。
図10】事前処理の流れ図。
図11】主処理の流れ図。
図12】最適化処理の流れ図。
【発明を実施するための形態】
【0016】
本発明の実施形態を説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々工作機械1のX軸方向、Y軸方向、Z軸方向である。図1に示す工作機械1は主軸9に装着した工具4を回転し、テーブル13上面に保持した被削材3に切削加工を施す機械である。数値制御装置30(図2参照)は工作機械1の動作を制御する。
【0017】
図1を参照し、工作機械1の構造を説明する。工作機械1は、基台2、コラム5、主軸ヘッド7、主軸9、テーブル装置10、工具交換装置20、制御箱6、操作パネル15(図2参照)、及び加速度センサ18(図2参照)等を備える。基台2は金属製の略直方体状の土台である。コラム5は基台2上部後方に固定する。主軸ヘッド7はコラム5前面に沿ってZ軸方向に移動可能に設ける。主軸ヘッド7は内部に主軸9を回転可能に支持する。主軸9は下部に装着穴(図示略)を有する。主軸9は該装着穴に工具4を装着し、主軸モータ52(図2参照)の駆動で回転する。主軸モータ52は主軸ヘッド7に設ける。主軸ヘッド7はコラム5前面に設けたZ軸移動機構(図示略)でZ軸方向に移動する。数値制御装置30はZ軸モータ51(図2参照)の駆動を制御して主軸ヘッド7をZ軸方向に移動制御する。
【0018】
テーブル装置10は、Y軸移動機構(図示略)、Y軸テーブル12、X軸移動機構(図示略)、テーブル13等を備える。Y軸移動機構は基台2上面前側に設け、一対のY軸レール、Y軸ボール螺子、Y軸モータ54(図2参照)等を備える。Y軸レールとY軸ボール螺子はY軸方向に延びる。Y軸レールは上面にY軸テーブル12をY軸方向に案内する。Y軸テーブル12は略直方体状に形成し、底部にナット(図示略)を備える。該ナットはY軸ボール螺子に螺合する。Y軸モータ54がY軸ボール螺子を回転すると、Y軸テーブル12はナットと共にY軸レールに沿って移動する。故にY軸移動機構はY軸テーブル12をY軸方向に移動可能に支持する。
【0019】
X軸移動機構はY軸テーブル12上面に設け、一対のX軸レール(図示略)、X軸ボール螺子(図示略)、X軸モータ53(図2参照)等を備える。X軸レールとX軸ボール螺子はX軸方向に延びる。テーブル13は平面視矩形板状に形成し、Y軸テーブル12上面に設ける。テーブル13は底部にナット(図示略)を備える。該ナットはX軸ボール螺子に螺合する。X軸モータ53がX軸ボール螺子を回転すると、テーブル13はナットと共に一対のX軸レールに沿って移動する。故にX軸移動機構はテーブル13をX軸方向に移動可能に支持する。故にテーブル13は、Y軸移動機構、Y軸テーブル12、X軸移動機構により、基台2上をX軸方向とY軸方向に移動する。
【0020】
工具交換装置20は主軸ヘッド7の前側に設け、円盤型の工具マガジン21を備える。工具マガジン21は外周に複数の工具(図示略)を放射状に保持する。工具交換装置20はマガジンモータ55(図2参照)により工具マガジン21を駆動し、工具交換指令が指示する工具を工具交換位置に位置決めする。工具交換指令はNCプログラムで指令する。工具交換位置は工具マガジン21の最下部位置である。工具交換装置20は主軸9に装着する工具4と工具マガジン21に取り付けた工具とを主軸ヘッド7の上昇、工具マガジン21の回転、主軸ヘッド7の下降の一連の動作により入れ替え交換する。
【0021】
制御箱6は数値制御装置30(図2参照)を格納する。数値制御装置30は、工作機械1に設けたZ軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54(図2参照)を夫々制御し、テーブル13上に保持した被削材3と主軸9に装着した工具4を相対移動して各種加工を被削材3に施す。各種加工とは、ドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
【0022】
操作パネル15(図2参照)は、例えば工作機械1を覆うカバー(図示略)の外壁に設ける。操作パネル15は入力部16と表示部17(図2参照)を備える。入力部16は各種情報、操作指示等の入力を受け付け、数値制御装置30に出力する。表示部17は数値制御装置30からの指令に基づき、各種画面を表示する。加速度センサ18(図2参照)は、工作機械1の主軸9に設け、主軸9に発生する振動を計測する。
【0023】
図2を参照し、数値制御装置30と工作機械1の電気的構成を説明する。数値制御装置30と工作機械1は、CPU31、ROM32、RAM33、記憶装置34、入出力部35、駆動回路51A~55A、及び加速度センサ18等を備える。CPU31は数値制御装置30を統括制御する。ROM32は、事前処理プログラム、主プログラム等を記憶する。事前処理プログラムは、事前処理(図10参照)を実行する為のプログラムである。主プログラムは、主処理(図11参照)を実行する為のプログラムである。事前処理は主処理の前に実行する。主処理は、NCプログラムを一行ずつ読み込んで各種動作を実行する。NCプログラムは各種制御指令を含む複数行で構成し、制御指令は工作機械1の軸移動、工具交換等である。なお、軸移動は送り量LによりZ軸モータ51等の回転位置を制御する指令である。CPU31は送り量Lから、後述する加速度指令を作成する。
【0024】
RAM33は各種情報を一時的に記憶する。記憶装置34は不揮発性であり、NCプログラム、各種情報を記憶する。CPU31は作業者が操作パネル15の入力部16で入力したNCプログラムに加え、外部入力で読み込んだNCプログラム等を記憶装置34に記憶できる。
【0025】
駆動回路51AはZ軸モータ51とエンコーダ51Bに接続する。駆動回路52Aは主軸モータ52とエンコーダ52Bに接続する。駆動回路53AはX軸モータ53とエンコーダ53Bに接続する。駆動回路54AはY軸モータ54とエンコーダ54Bに接続する。駆動回路55Aはマガジンモータ55とエンコーダ55Bに接続する。Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55は何れもサーボモータである(以下、総称する場合は単にモータ50と称す)。駆動回路51A~55AはCPU31から指令を受け、対応する各モータ51~55に駆動電流を夫々出力する。駆動回路51A~55Aはエンコーダ51B~55Bからフィードバック信号を受け、位置と速度のフィードバック制御を行う。入出力部35は操作パネル15の入力部16と表示部17、及び加速度センサ18に夫々接続する。
【0026】
被削材3に対して工具4をX軸方向、Y軸方向、Z軸方向に夫々移動するNCプログラムの指令(以下、送り軸指令と称す。)に基づき、工作機械1が駆動する場合を例示する。以下、被削材3に対して工具4をZ軸方向に沿って下向きに移動する時を例示して説明する。詳細説明は省略するが、被削材3に対して工具4をX軸方向、Y軸方向に夫々移動して加工する時も同様である。図3に示すグラフの縦軸は、Z軸方向の位置(図3(A))、速度(図3(B)(C))、加速度(図3(D))を示す。以後、説明を簡単にする為に図3(A)~(D)において下向きを正、上向きを負として説明する。図3(A)において、所定の基準位置にある工具4の位置を示すZ軸座標を零で示す。基準位置よりも下側にある工具4の位置を示すZ軸座標を正の値で示す。図3(B)~(D)において、工具4が下向きに移動する時の速度及び加速度を正の値で示す。
【0027】
CPU31はNCプログラムの送り軸指令を読み込んだ時、主軸9を保持した主軸ヘッド7を送り軸指令により指定した位置まで移動する為、主軸ヘッド7の目標位置の時系列データを生成する。CPU31は、所定周期で目標位置のデータを駆動回路51Aに出力する。駆動回路51Aは、CPU31が出力した目標位置のデータに基づき、Z軸モータ51を駆動する。Z軸モータ51は、主軸ヘッド7を介して工具4を目標位置までZ軸方向に移動する。CPU31が駆動回路51Aに目標位置のデータを入力する都度、駆動回路51AはZ軸モータ51を駆動する。これにより、工具4は、送り軸指令により指定した位置(以下、指令位置と称す。)に最終的に到達する(図3(A)参照)。送り軸指令に基づきCPU31が実行する上記の制御を送り軸制御と称す。
【0028】
上記において目標位置の時系列データを生成時、CPU31は、指令位置まで工具4がZ軸方向に移動する時の速度が一定に推移するように、各目標位置を決定する(図3(B)参照)。次にCPU31は、速度の時系列変化を示す波形(以下、速度波形と称す。)の立ち上がり特性及び立ち下がり特性に対応する加減速特性を調整する。図3(C)(D)は目標位置が短く一定速区間を持たない場合の速度波形及び加速度波形を示す。本特許ではこのように一定速区間(=加速度0の区間)を持たない場合の加速度指令の算出について扱う。以下、速度波形の加減速特性を調整する処理を、加減速処理と称す。加減速処理を実行した速度波形の立ち上がり及び立ち下がりの夫々の傾きは、工具4の加速度に対応する。
【0029】
CPU31は、加減速処理を実行した速度波形に基づき、所定周期毎の目標位置を決定する。CPU31は、決定した目標位置のデータを所定周期で駆動回路51Aに出力する。該時、図3(C)に示すように、駆動回路51Aが駆動するZ軸モータ51により移動する工具4は、移動開始時に加速期間Paで加速し、移動終了時に減速期間Pdで減速する。以下、加速期間Paの長さを加速時間Taと称し、減速期間Pdの長さを減速時間Tdと称す。
【0030】
以下、CPU31がNCプログラムの送り軸指令に基づき駆動回路50Aに出力する制御指令を加速度指令と称す。加速度指令は、工具4を加速する加速指令、及び、工具4が減速する減速指令を含む概念である。図3(D)は、加速度指令に応じて工具4が移動時の加速度の時系列変化(以下、加速度波形と称す。)を示す。加速期間Paにおいて工具4の加速度が増加する期間を第一期間Pと称し、第一期間Pの長さを第一時間Tと称す。第一期間Pでは、モータ50の加速度が零から第一加速度A迄増加する。加速期間Paにおいて工具4の加速度が減少する期間を第二期間Pと称し、第二期間Pの長さを第二時間Tと称す。第二期間Pでは、モータ50の加速度が第一加速度Aから零迄減少する。減速期間Pdにおいて工具4の加速度が減少する期間を第三期間Pと称し、第三期間Pの長さを第三時間Tと称す。第三期間Pでは、モータ50の加速度が零から第二加速度A迄減少する。減速期間Pdにおいて工具4の加速度が増加する期間を第四期間Pと称し、第四期間Pの長さを第四時間Tと称す。第四期間Pでは、モータ50の加速度が第二加速度Aから零迄増加する。
【0031】
加速度指令は、連続する第一期間P~第四期間Pに亘りモータ50の加速度を制御する。第一期間Pの開始から第四期間Pの終了迄の長さを加減速時間Tsumと称す。第一時間T~第四時間Tを加減速時定数Tαと総称する。なお、加速度指令は、T=T、T=Tを満たし、第一時間Tと加減速時間Tsumは、0<T1<Tsum/2を満たすことを前提とする。
【0032】
既に述べた通り、本特許では図3(D)に示すように加速度0で推移する期間を含まない加速度波形であることを前提とする。
【0033】
図4を参照し、工作機械1の固有振動数ωn/2πについて説明する。固有振動数ωn/2πは、工作機械1が有する固有の共振周波数である。nは自然数である。工作機械1の固有振動数ωn/2πを特定する為、作業者は、インパルスハンマで、例えば工作機械1の主軸9をZ軸方向にインパルス加振する。該時、加速度センサ18は、主軸9に発生したZ軸方向の振幅Amplitudeの振動波形を検出する。CPU31は、加速度センサ18が検出した振動波形を、フーリエ変換する。これにより、図4に示す振幅Amplitudeの周波数特性を取得する。図4示す振幅Amplitudeの周波数特性では、30Hzと50Hzの位置に、振幅Amplitudeのピークが発生している。この場合、工作機械1の固有振動数ω1/2π、ω2/2πは、30Hzと50Hzであると特定できる。
【0034】
図5は、図4に示した振幅Amplitudeの周波数特性をインパルスハンマで測定した加振力で除することで求めたコンプライアンス値であり、機械の周波数毎の振動のし易さを表している。図5を参照し、固有振動数ωn/2πが2つある場合の重み係数Q、Rの取得方法を説明する。重み係数Q、Rは、後述の式(1-1)で使用する。図5に示すように、固有振動数ω1/2πが30Hzの場合のコンプライアンスは、0.1142mm/Nである。固有振動数ω/2πが50Hzの場合のコンプライアンスは、0.6263mm/Nである。固有振動数ω/2π、ω2/2πとコンプライアンスとの比は、30Hzのコンプライアンス:50Hzのコンプライアンス=0.1142:0.6263となる。それぞれの比の合計が1となるように調整すると、比は、30Hzのコンプライアンス:50Hzのコンプライアンス=0.15:0.85となる。従って、30Hzの場合の重み係数Qは0.15と決定する。50Hzの場合の重み係数Rは0.85と決定する。
【0035】
図6を参照し、固有振動数が複数ある場合の振幅マップの作製方法について説明する。振幅マップは、横軸を第一時間T、縦軸をTsumを変数とした場合における振幅Amplitudeの大きさを示す。振幅マップの作製は、以下の式(1-1)を用いる。以下の式(1-1)は、加速度指令が含む工作機械1の固有振動成分の振幅Amplitudeを示す。工作機械1に発生する固有振動の大きさは、振幅Amplitudeで決まる。また、aは、第一時間Tと第二時間Tとの比を示す。ここで、固有振動数ω1/2πが30Hz、固有振動数ω2/2πが50Hz、重み係数Qが0.15、重み係数Rが0.85であるとする。
【数1】
【0036】
式(1-1)の第一項は、固有振動数ω/2πが30Hzの場合に対応する。角周波数ωは、2・π・30である。送り量Lは定数である。ここで、第一時間T及び加減速時間Tsumを変数とし、第一時間T、加減速時間Tsumの組毎に、式(1-1)の第一項に代入する。これにより、各組毎に振幅Amplitudeを得る。これにより、CPU31は、図6(A)に示す振幅マップ(30Hz)を得る。
【0037】
式(1-1)の第二項は、固有振動数ω/2πが50Hzの場合に対応する。角周波数ωは、2・π・50である。送り量Lは定数である。ここで、CPU31は、第一時間T及び加減速時間Tsumを変数とし、第一時間T、加減速時間Tsumの各組毎に、式(1-1)の第二項に代入する。これにより、CPU31は各組毎に振幅Amplitudeを得る。これにより、CPU31は、図6(B)に示す振幅マップ(50Hz)を得る。
【0038】
振幅マップ(30Hz+50Hz)の作成では、CPU31は、第一時間T及び加減速時間Tsumを変数とし、第一時間T、加減速時間Tsumの組毎に、式(1-1)の第一項及び第二項に代入する。CPU31は、演算した組毎の振幅Amplitudeに対して、重み係数Q、Rを乗算する。重み係数Qは、0.15、重み係数Rは、0.85である。これにより、各組毎に振幅Amplitudeを得る。これにより、CPU31は、図6(C)に示す振幅マップ(30Hz+50Hz)を得る。なお、振幅マップ(30Hz+50Hz)は、振幅マップ(50Hz)と振幅マップ(30Hz)を加算したものに相当する。
【0039】
図6(D)に示すグラフは、振幅マップ(30Hz)から加減速時間Tsumが0.06secの場合の振幅Ampliitudeを抽出したグラフである。縦軸は振幅Amplitudeであり、横軸は第一時間Tである。図6(E)に示すグラフは、振幅マップ(50Hz)から加減速時間Tsumが0.06secの場合における振幅Ampliitudeを抽出したグラフである。図6(F)に示すグラフは、振幅マップ(30Hz+50Hz)から加減速時間Tsumが0.06secの場合における振幅Ampliitudeを抽出したグラフである。なお。図6(F)に示すグラフは、図6(D)のグラフと図6(E)のグラフとを加算した結果に相当する。
【0040】
この場合、振幅Amplitudeが最小となる第一時間Tは、0.011secとなる(図6(F)参照)。例えば、CPU31は、加速度指令のうち加減速時間Tsumを0.06secとした場合、第一時間Tを0.011secに決定する。これにより、工作機械1に発生する振幅Amplitudeが最小となる。なお、振幅Amplitudeが最小となる第一時間Tは、式(1-1)の振幅Amplitudeを0とした方程式を第一時間Tについて解くことで演算できる。
【0041】
図7を参照し、Tsum-T1テーブルについて説明する。Tsum-T1テーブルは、加減速時間Tsumと第一時間Tとの関係を示す。例えば、図6(C)の振幅マップ(30Hz+50Hz)の関係に基づいて加減速時間Tsumを0~0.1まで可変した場合、CPU31は、可変した加減速時間Tsum毎に、第一時間Tと振幅Amplitudeの関係を示すデータを取得する。図6(F)のグラフは、加減速時間Tsumが0.06secの場合の、第一時間Tと振幅Amplitudeの関係を示すデータをグラフ化したものである。
【0042】
CPU31は、可変した加減速時間Tsum毎に取得した第一時間Tと振幅Amplitudeの関係に基づき、振幅Amplitudeが最小となる第一時間Tを決定する。なお、図6(F)のグラフでは、加減速時間Tsumが0.06secの場合、振幅Amplitudeが最小となる第一時間Tは、0.011secである。
【0043】
ここで、振幅Amplitudeの最小値は、式(1-1)について振幅Amplitudeを0とした方程式の第一時間Tの解に相当する。つまり、CPU31は、式(1-1)の振幅Amplitudeを0とした方程式を第一時間Tについて解くことで、振幅Amplitudeが最小となる第一時間Tを演算できる。従って、CPU31は、可変した加減速時間Tsum毎に、第一時間Tについて方程式(式(1-1)=0)を解くことで、Tsum-T1テーブルを作成できる。つまり、Tsum-T1テーブルは、複数の固有振動数ωn/2πに対する重み係数Q、Rで規定された重みを、夫々の加速度指令の特定の周波数成分を0とする方程式(式(1-1)=0)に対して適用した情報である。
【0044】
ここで、CPU31は、加減速時間Tsumに対して方程式(式(1-1)=0)の解が存在するときは、方程式(式(1-1)=0)の解となる値を第一時間Tと決定する。CPU31は、方程式(式(1-1)=0)の第一時間Tの解が複数存在する場合、加減速時間Tsumの1/2に最も近い値を第一時間Tと決定する。これは、複数の解について振動を比較したとき、第一時間Tの時に加速度指令の最大値が最も小さく、加振力も小さいためである。一方、方程式(式(1-1)=0)に解が存在しないときは、振動マップと加減速時間Tsumに基づき、振幅Amplitudeの大きさを最小とする値を第一時間Tと決定する。CPU31は、Tsum-T1テーブルを記憶装置34に記憶する。
【0045】
なお、固有振動数ωn/2πが一つの場合、例えば、固有振動数ω/2πが30Hzの一つの場合、CPU31は、式(1-1)にQ=1、Q=0を代入し、上記した演算を実行する。これにより、CPU31は、振幅マップ、及びTsum-T1テーブルを作成できる。また、固有振動数ω/2πが50Hzの一つの場合、CPU31は、式(1-1)にQ=0、R=1を代入し、上記した演算を実行する。これにより、CPU31は、振幅マップ、及びTsum-T1テーブルを作成できる。また、CPU31は、固有振動数ωn/2πが一つの場合にもTsum-T1テーブルを記憶装置34に記憶する。
【0046】
図8を参照して振動面積マップについて説明する。振動面積マップは、加減速時間Tsumと送り量Lとを変化させた場合に、加減速時間Tsumと送り量Lの組み合わせ毎に発生した振動の大きさの計測値に基づき規定される情報である。なお、第一時間TはTsum-T1テーブルに基づき決定されるものとする。
【0047】
振動面積マップを作成する為、作業者は、送り量Lと加減速時間Tsumの組毎に、送り軸指令を実行する。一例として、送り量Lは、0mm~6mmまでの1mmづつ変化させる。加減速時間Tsumは、0.05sec~0.1secまで0.01secづつ変化させる。に示す。
【0048】
送り軸指令を実行すると、加速度センサ18は、工作機械1に発生した振動を計測する。振動の計測結果は、例えば、送り量Lを4mm、加減速時間Tsumを0.07、第一時間Tを0.0167としたときの加速度指令を図8(A)に、計測した振動波形を図8(B)に示す。振動波形は、工作機械1に発生した振動の大きさを示す。CPU31は、加速度指令の指令完了後に、計測した振動波形について、位置Displacementの絶対値を所定時間t1に亘って積分する。所定時間t1は、例えば0.3secである。以下、振動波形の積分値は、振動面積という。つまり、振動面積マップに含まれる工作機械1の振動の大きさは、加速度指令の指令完了後に工作機械1に発生した振動の大きさを示す振動波形を、所定時間t1に亘って積分した積分値である。
【0049】
作業者は、送り量Lと加減速時間Tsumの組毎に送り軸指令を実行させる。CPU31は、送り軸指令毎に振動面積を演算する。CPU31は、演算した振動面積を、加減速時間Tsumと送り量Lの組に対応付けてプロットしていく。これにより、CPU31は、図8(C)、(D)に示す振動面積マップを得る。
【0050】
CPU31は、図8(C)、(D)に示す振動面積マップについて、2次元線形補間を実行する。これにより、図8(E)、(F)に示す補間後の振動面積マップを得る。CPU31は、計測を行っていない送り量Lと加減速時間Tsumの組に関する振動面積の情報を取得可能となる。CPU31は、補間後の振動面積マップを記憶装置34に記憶する。
【0051】
図9を参照し、工作機械1を駆動して被削材3を加工する場合を説明する。被削材3の加工時、例えば、作業者は、送り軸指令の送り量Lを4mmとし、且つ許容可能な振動の許容値を0.0003mmに設定した。この場合、CPU31は、記憶装置34に記憶した補間後の振動面積マップ(図8(F)参照)を参照して、送り量Tsumテーブルを作成する(図9(A)参照)。送り量Tsumテーブルは、記憶装置34に記憶した補間後の振動面積マップ(図8(F)参照)から、振動の許容値を示す一点鎖線をプロットしたものである。図9(A)では、一点鎖線は、許容値が0.0003mmの位置を示す。従って、図9(A)に示す送り量Tsumテーブルは、許容値と、送り量Lと、加減速時間Tsumとの関係を示す。
【0052】
ここで、CPU31は、送り量Lが4mmの場合、送り量Tsumテーブルに基づき、許容値を満たす最短の加減速時間Tsumを、0.065secであると決定する(図9(A)参照)。CPU31は、Tsum-T1テーブルを参照し、加減速時間Tsumが0.065secの場合の最適な第一時間Tを、0.0138secであると決定する(図9(B)参照)。
【0053】
この場合、加速度指令は、加減速時間Tsumを0.065sec、第一時間Tを0.0138sec、第二時間Tを0.0187sec、第三時間Tを0.0187sec、第四時間Tを0.0138secと決定する。最適化された加速度指令で、工作機械1を駆動することにより、CPU31は、振動を許容値以下に抑制しつつ、最速での駆動が可能となる。
【0054】
なお、図9(B)に示すTsum-T1テーブルは、工作機械1の固有振動数が30Hz、50Hzの場合である。例えば、工作機械1の固有振動数が30Hz又は50Hzの一つの場合、夫々に対応するTsum-T1テーブルを参照することで、最適な加減速時間Tsumに対する第一時間Tを決定する。
【0055】
図10を参照し、事前処理について説明する。事前処理は、後述の主処理を実行する前に実行する。CPU31は、記憶装置34に記憶した事前処理プログラムを読み出して実行することにより、事前処理を実行する。事前処理を実行すると、CPU31は、工作機械1の固有振動数ωn/2πを取得したか否か判断する(S1)。固有振動数ωn/2πを取得していないと判断した場合(S1:NO)、CPU31は、処理を戻して待機する。
【0056】
作業者は、インパルスハンマにより工作機械1の主軸9をインパルス加振する。CPU31は、インパルス加振を行った後に振幅Amlitudeの周波数特性(図4参照)を演算し、固有振動数ωn/2πを取得する。例えば、固有振動数ω/2π、ω2/2πは夫々、30Hz、50Hzである(図4参照)。
【0057】
固有振動数ωn/2πを取得したと判断した場合(S1:YES)、CPU31は、固有振動数ωn/2πが複数存在するか否か判断する(S3)。固有振動数ωn/2πが複数存在しないと判断した場合(S3:NO)、CPU31は、一つの固有振動数ωn/2πに基づき、振幅マップを作成する(S9)。例えば、固有振動数ωn/2πが30Hzの場合、CPU31は、30Hzの振幅マップを作成する。CPU31は、処理をS11に進める。
【0058】
固有振動数ωn/2πが複数存在すると判断した場合(S3:YES)、CPU31は、固有振動数ωn/2πごとに重み係数Q、Rを決定する(S5)。例えば、固有振動数ω/2π、ω2/2πが夫々、30Hz、50Hzである場合(図4参照)、CPU31は、例えば、コンプライアンスの周波数特性(図5参照)を参照して、重み係数Q、Rを決定する。重み係数Q、Rは夫々、0.15、0.85である。
【0059】
CPU31は、決定した重み係数Q、Rを用いて、振幅マップを作成する(S7)。この場合、CPU31は、例えば図6(C)に示す振幅マップ(30Hz+50Hz)を作成する。CPU31は、処理をS11に進める。
【0060】
CPU31は、S7の処理又はS9の処理で作成した振幅マップに基づき、Tsum-T1テーブルを作成する(S11)。この場合、CPU31は、例えば、図7に示すTsum-T1テーブルを作成する。CPU31は、作成したTsum-T1テーブルを記憶装置34に記憶する。
【0061】
次いで、作業者は、送り量Lと加減速時間Tsumとの組み合わせに対応する振動面積の演算が完了したか否か判断する(S13)。振動面積の演算が完了していないと判断した場合(S13:NO)、CPU31は、処理を戻して待機する。作業者は、送り量Lと加減速時間Tsumの組毎に送り軸指令を変更して、工作機械1の振動を計測する。CPU31は、送り量Lと加減速時間Tsumの組毎に計測した振動波形に基づき、振動面積の演算を実行する。
【0062】
振動面積の演算が完了したと判断した場合(S13:YES)、CPU31は、振動面積の演算結果に基づき振動面積マップを作成する(S15)。CPU31は、例えば図8(C)、(D)に示す振動面積マップを作成する。ここで、振動面積マップを作成するとは、送り量Lと加減速時間Tsumの2変数に対する振動波形の積分値の関係を取得することをいう。CPU31は、振動面積マップを補間する(S17)。この場合、CPU31は、例えば図8(E)、(F)に示す振動面積マップを作成する。CPU31は、補間後の振動面積マップを記憶装置34に記憶する。CPU31は、処理を終了する。
【0063】
図11を参照し、主処理について説明する。CPU31は、記憶装置34に記憶した主プログラムを読み出して実行することにより、主処理を実行する。主処理を実行すると、CPU31は、予め入力部16より入力し、記憶装置34に保存してあった設定パラメータより振動の許容値を取得する(S101)。
【0064】
振動の許容値を取得したと判断した場合(S101:YES)、CPU31は、事前処理で記憶装置34に記憶した振動面積マップと、S101の処理で取得した振動の許容値に基づき、送り量Tsumテーブルを作成する(S103)。振動の許容値は、例えば、0.0003mmである。この場合、CPU31は、例えば、図9(A)に示す送り量Tsumテーブルを作成する。
【0065】
CPU31は、NCプログラム名を入力部より受け付けたか否か判断する(S105)。NCプログラム名を受け付けていないと判断した場合(S105:NO)、CPU31は、処理を戻して待機する。NCプログラム名を受け付けたと判断した場合(S105:YES)、CPU31は、記憶装置34よりNCプログラム名に対応するNCプログラムより、NCプログラムを一行分読み込む(S107)。なお、ここには示されていないがNCプログラムは事前に入力部16より入力し、記憶装置34に保存してあるものとする。
【0066】
CPU31は、NCプログラムのうち読み込んだ一行分が送り軸指令か否か判断する(S109)。送り軸指令ではないと判断した場合(S109:NO)、CPU31は、送り軸指令以外の読み込んだ指令を実行する(S117)。送り軸指令でない場合は、例えば、工具交換指令等である。CPU31は、処理をS119に進める。
【0067】
一方、送り軸指令であると判断した場合(S109:YES)、CPU31は、図12に示す最適化処理を実行する(S111)。最適化処理では、加減速時間Tsum、第一時間Tの最適化を実行する。最適化処理を実行すると、CPU31は、送り軸指令に含まれる送り量Lを取得する(S201)。なお、送り量Lを取得するとは、入力部16で入力した値、又は予め記憶装置34に設定して記憶した値を取得してもよい。送り量Lは、例えば4mmである。
【0068】
CPU31は、加減速時間Tsumを決定する(S203)。この場合、CPU31は、S103の処理で作成した送り量Tsumテーブル(図9(A)参照)を参照して、送り量Lに対応する加減速時間Tsumを決定する。図9(A)に示すように、送り量Lが4mmの場合、最適な加減速時間Tsumは、0.065secである。
【0069】
CPU31は、S203の処理で決定した加減速時間Tsumと、Tsum-T1テーブルに基づき、第一時間Tを決定する(S205)。CPU31は決定した加減速時間Tsumに基づき、記憶装置34に記憶したTsum-T1テーブル(図9(B))を参照して、第一時間Tを決定する。加減速時間Tsumが0.065secの場合、最適な第一時間Tは、0.0138secである(図9(B)参照)。CPU31は、処理を主処理に処理を戻す。
【0070】
CPU31は、最適化処理で決定した第一時間Tと加減速時間Tsumとに基づき、加速度指令を作成する(S113)。この場合、CPU31は、例えば、加減速時間Tsumを0.065sec、第一時間Tを0.0138sec、第二時間Tを0.0187sec、第三時間Tを0.0187sec、第四時間Tを0.0138secとした加速度指令を作成する。
【0071】
CPU31は、作成した加速度指令に基づき、送り軸指令を実行する。すなわち、加速度指令に基づき所定周期毎の目標位置を駆動回路50Aに出力し、送り量Lの移動を行う(S115)。CPU31は、NCプログラムが最終行であるか否か判断する(S119)。NCプログラムが最終行でないと判断した場合(S119:NO)、CPU31は、処理をS107に戻す。NCプログラムが最終行であると判断した場合(S119:YES)、CPU31は、処理を終了する。
【0072】
以上、説明したように、CPU31は、許容値と送り量Lとを取得する。CPU31は、取得した許容値と送り量Lとに基づき、送り量Tsumテーブルを参照して、加減速時間Tsumを決定する。CPU31は決定した加減速時間Tsumに基づき、Tsum-T1テーブルを参照して、第一時間Tを決定する。CPU31は、決定した第一時間Tに基づき、加速度指令を作成する。
【0073】
数値制御装置30は、決定した加速度指令で工作機械1のモータ50を駆動することにより、モータ50の駆動時に発生する工作機械1の振動を抑制できる。
【0074】
振動面積マップは、加減速時間Tsumと送り量Lとを変化させた場合に、加減速時間Tsumと送り量Lの組み合わせ毎に発生した振動の大きさの計測値に基づき規定される情報である。数値制御装置30では、振動面積マップは、振動を計測した計測値に基づく。故に、数値制御装置30は、計算のみで決定した場合よりも最適な加速度指令を作成できる。
【0075】
振動面積マップに含まれる工作機械1の振動の大きさは、加速度指令の指令完了後に工作機械1に発生した振動の大きさを示す振動波形を、所定時間t1に亘って積分した積分値である。数値制御装置30は、振動波形の積分値を用いることで最適な加速度指令を作成できる。
【0076】
CPU31は、方程式において、加減速時間Tsumに対して方程式の解が存在するときは、方程式の解となる値を第一時間Tと決定する。CPU31は、方程式に解が存在しないときは、特定の周波数成分の大きさを最小とする値を第一時間Tと決定する。数値制御装置30は、方程式の解が無い場合にも、特定の周波数成分の大きさを最小とする値を第一時間T決定することで最適な加速度指令を作成できる。
【0077】
CPU31は、方程式において、加減速時間Tsumに対して特定の周波数成分の大きさを最小とする第一時間T1の解が複数存在する場合、加減速時間Tsumの1/2に最も近い値を第一時間Tと決定する。数値制御装置30は、加減速時間Tsumの1/2に近い値を第一時間Tに決定することで、最適な加速度指令を作成できる。
【0078】
工作機械1は、複数の固有振動数ωn/2πを有する。Tsum-T1テーブルは、複数の固有振動数ωn/2πに対する重み係数Q、Rで規定された重みを、夫々の加速度指令の特定の周波数成分を0とする方程式に対して適用した情報である。数値制御装置30は、工作機械1が複数の固有振動数ωn/2πを有する場合でも、重み係数Q、Rを適用することで適切に振動を低減できる。
【0079】
本発明は上記実施形態に限定されず、種々の変更が可能である。本発明は、工作機械1の振動を低減したが、これに限らず他の機械装置において上記実施形態の技術を適用してもよい。数値制御装置30のCPU31により事前処理、主処理を実行する場合に限らず、例えばPC等により事前処理、主処理を実行してもよい。該時、PC等により事前処理、主処理を実行することで決定した加速度波形を示す情報を、数値制御装置30に入力してもよい。数値制御装置30は、入力した加速度波形を示す加速度指令により、工作機械1のモータ50を制御してもよい。
【0080】
上記実施形態では、工作機械1の固有振動数が一つ又は2つの場合を説明したがこれに限らない。例えば、工作機械1の固有振動数が3つ以上でもよい。その場合、式(1-1)には、固有振動数に相当する項を増せばよい。この場合でも、重み係数は、上記実施形態と同様の手法で取得できる。
【0081】
上記実施形態では、加減速時間Tsumと送り量Lとを変化させた場合に、加減速時間Tsumと送り量Lの組み合わせ毎に発生した振動の大きさを表す振動面積マップを実測により作製したが、これは振動面積マップ作製手段の一例である。例えば、工作機械1の振動特性を表す数値シミュレーションを用いて振動面積マップを作成しても良い。また、加減速時間Tsumと送り量Lを入力として、振動の大きさを出力とする関数を振動面積マップの代わりに用いても良い。
【0082】
上記実施形態では、振動面積マップを2次元線形補間により求めたが、これは補間方法の1例である。例えば、NURBS(非一様有理Bスプライン)補間等による曲面補間を行い、振動面積マップを求めても良い。
【0083】
上記実施形態では、方程式において、第一時間T1の解が複数存在する場合、加減速時間Tsumの1/2に最も近い値を第一時間Tと決定したがこれに限らない。例えば、加減速時間Tsumの1/4としてもよいし、他の値を設定してもよい。
【0084】
上記実施形態では、加減速時間Tsumに対するTの関係を求めるために方程式を用いたが、これはTを求める方法の一例である。例えば、図7に示したTsum-T1テーブルを近似する関数を用いることで、加減速時間Tsumに対するTを求めても良い。
【0085】
工作機械1は、本発明の「機械装置」の一例である。加減速時間Tsumは、本発明の「合計時間」の一例である。送り量Tsumテーブルは、本発明の「第一情報」の一例である。Tsum-T1テーブルは、本発明の「第二情報」の一例である。記憶装置34は、本発明の「記憶部」の一例である。S101、201の処理は、本発明の「取得手段」の一例である。S203の処理は、本発明の「第一決定手段」の一例である。S205の処理は、本発明の「第二決定手段」の一例である。S113の処理は、本発明の「作成手段」の一例である。
【符号の説明】
【0086】
1 :工作機械
4 :工具
30 :数値制御装置
31 :CPU
34 :記憶装置
50 :モータ
50A :駆動回路
:第一時間
:第二時間
:第三時間
:第四時間
Tsum :加減速時間
L :送り量
ωn/2π、ω/2π、ω/2π :固有振動数
Q、R :重み係数
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12