JP7230872B2 - 数値制御装置及び数値制御方法 - Google Patents

数値制御装置及び数値制御方法 Download PDF

Info

Publication number
JP7230872B2
JP7230872B2 JP2020062824A JP2020062824A JP7230872B2 JP 7230872 B2 JP7230872 B2 JP 7230872B2 JP 2020062824 A JP2020062824 A JP 2020062824A JP 2020062824 A JP2020062824 A JP 2020062824A JP 7230872 B2 JP7230872 B2 JP 7230872B2
Authority
JP
Japan
Prior art keywords
time constant
vibration
acceleration
tool
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020062824A
Other languages
English (en)
Other versions
JP2021163077A (ja
Inventor
弦 寺田
太樹 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2020062824A priority Critical patent/JP7230872B2/ja
Priority to CN202110236796.0A priority patent/CN113467379A/zh
Publication of JP2021163077A publication Critical patent/JP2021163077A/ja
Application granted granted Critical
Publication of JP7230872B2 publication Critical patent/JP7230872B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller

Description

本発明は、数値制御装置及び数値制御方法に関する。
特許文献1は、数値制御装置を開示する。数値制御装置は、被削材を固定するテーブルを駆動する時に生じる振動の周波数を求め、該周波数の逆数をフィルタの時定数に決定する。数値制御装置は、テーブルを移動する為の速度指令信号に該フィルタを適用する。数値制御装置は、フィルタ適用後の速度指令信号によりテーブルを移動制御することで、テーブルが移動する時に生じる振動を抑制する。
特開2014-191631号公報
被削材の加工に要する時間を抑制する為、テーブルを駆動するモータは、被削材の重量等に応じて定まる加速度の許容範囲の最大値(許容加速度と称す)で駆動することが好ましい。しかし、特許文献1に記載の方法では、フィルタ適用後の速度指令信号に応じてモータを駆動した時、加速度が許容加速度より小さくなる時がある。該時、被削材の加工に要する時間を抑制できない時がある。
本発明の目的は、振動を抑制し且つ被削材の加工に要する時間を抑制できる数値制御装置及び数値制御方法を提供することである。
本発明の第1態様に係る数値制御装置は、テーブルに固定した被削材を、前記テーブル又は工具を駆動して加工可能な機械の動作を制御し、前記テーブル又は前記工具の移動時の時定数に基づき加減速処理を実行可能な制御部を備えた数値制御装置において、前記制御部は、前記時定数を算出する時定数算出部と、前記テーブル又は前記工具を駆動することで発生する前記機械の振動量を算出する振動算出部と、前記振動算出部が算出した該振動量が予め設定した閾値を超えないように前記時定数を補正する時定数補正部と、前記時定数補正部が補正した前記時定数を用いて加減速を行う加減速処理部とを備えたことを特徴とする。
数値制御装置は、機械の振動量が閾値を超えない範囲で時定数を補正することにより、テーブル又は工具の移動速度の低下を抑制できる。故に、数値制御装置は、機械の振動量を抑制しつつ被削材の加工に要する時間を短縮できる。
第1態様において、前記時定数は、前記テーブル又は前記工具の移動時に加速度を制限する前記時定数である第一時定数と、ジャークを制限する前記時定数である第二時定数とを含んでもよい。該時、数値制御装置は、第一時定数を補正することにより、被削材の加工時におけるテーブル又は工具の移動時の加速度を適正に維持できる。数値制御装置は、第二時定数を補正することにより、被削材の加工時におけるテーブル又は工具の移動時のジャークを適正に維持できる。故に、数値制御装置は、テーブル又は工具の移動速度の低下を効率良く抑制できる。
第1態様において、前記テーブル又は前記工具のイナーシャの合計である合計イナーシャを算出するイナーシャ算出部を更に備え、前記時定数算出部は、前記テーブル又は前記工具の移動時における速度の変化量と前記イナーシャ算出部が算出した前記合計イナーシャに基づき、前記第一時定数を算出してもよい。数値制御装置は、第一時定数を正確に算出できる。
第1態様において、前記振動算出部は、前記テーブル又は前記工具の移動時における加速度と前記機械の前記振動量との関係に基づき、前記振動量を振動周波数毎に示す第一振動情報を算出する第一振動算出部と、前記テーブル又は前記工具の移動時における前記時定数と前記加速度の関係を前記機械の固有振動周波数毎に示す第二振動情報を算出する第二振動算出部と、前記第一振動算出部が算出した前記第一振動情報と、前記第二振動算出部が算出した前記第二振動情報に基づき、前記機械の振動を前記機械の固有振動周波数毎に示す第三振動情報を算出する第三振動算出部と、を備えてもよい。数値制御装置は、テーブル又は工具を駆動することで発生する機械の振動量を、時定数に基づき予測できる。
第1態様において、前記振動算出部は、前記機械の固有振動周波数毎の前記第三振動情報のうち最大の前記第三振動情報を前記振動量として算出する振動量算出部を更に備えてもよい。数値制御装置は、複数の固有振動周波数のうち最も振動量が大きい固有振動周波数での振動を抑制できる。
第1態様において、前記時定数補正部は、前記振動量が前記閾値以下となる迄前記第一時定数を増加することで、前記第一時定数を補正してもよい。数値制御装置は、テーブル又は工具を移動する為のモータの加速度を最大限維持しつつ、振動量が閾値以上となる速度差の領域について第一時定数を変更できる。故に、数値制御装置は、テーブル又は工具の移動に応じた機械の振動を抑制しつつ、切削加工の加工時間を抑制できる。
第1態様において、時定数補正部は、前記振動量が前記閾値以下となる迄、前記第一時定数及び前記第二時定数の少なくとも一方を増加することで、前記第一時定数及び前記第二時定数の少なくとも一方を補正してもよい。数値制御装置は、テーブルを移動する為のモータの加速度を最大限維持しつつ、振動量が閾値以上となる速度差の領域について第一時定数及び第二時定数の少なくとも一方を変更できる。故に、数値制御装置は、テーブル又は工具の移動に応じた機械の振動を抑制しつつ、切削加工の加工時間を抑制できる。
第1態様において、前記振動算出部は、前記テーブルに固定する前記被削材及び前記被削材を前記テーブルに固定するための治具の質量に基づき前記振動量を算出してもよい。数値制御装置は、テーブルに固定した被削材の質量に応じて振動の条件が変動する時も、移動時の時定数を精度良く補正できる。
第1態様において、前記テーブル又は前記工具は、異なる複数の基準軸に沿って相対移動可能であり、前記時定数算出部は、前記複数の基準軸毎の前記時定数を算出し、前記振動算出部は、前記複数の基準軸毎の前記振動量を算出し、前記時定数補正部は、前記複数の基準軸毎の前記時定数を補正し、前記加減速処理部は、前記時定数補正部が補正した複数の前記時定数により、前記複数の基準軸毎に加減速処理を行ってもよい。数値制御装置は、複数の基準軸毎の速度波形に対し、対応する時定数を適用することにより加減速処理を行う。故に、数値制御装置は、テーブル又は工具の移動に応じた振動を、複数の基準軸毎に抑制できるので、振動を更に適切に抑制できる。
第1態様において、前記テーブル又は前記工具は、異なる複数の基準軸に沿って相対移動可能であり、前記時定数算出部は、前記複数の基準軸毎の前記時定数のうち最も長い前記時定数を全軸時定数として算出し、前記振動算出部は、前記複数の基準軸毎の振動量のうち最も大きい前記振動量を全軸振動量として算出し、前記時定数補正部は、前記全軸時定数と前記全軸振動量に基づいて全軸時定数を補正し、前記加減速処理部は、前記時定数補正部が補正した前記全軸時定数に基づき前記複数の基準軸の加算速処理を行ってもよい。該時、数値制御装置は、変更対象となる時定数を限定できるので、時定数の変更に要する処理量を抑制できる。
本発明の第2態様に係る数値制御方法は、テーブルに固定した被削材を、前記テーブル又は工具を駆動して加工可能な機械の動作を制御し、前記テーブル又は前記工具の移動時の時定数に基づき加減速処理を実行可能な数値制御方法であって、前記時定数を算出する時定数算出工程と、前記テーブル又は前記工具を駆動することで発生する前記機械の振動量を算出する振動算出工程と、前記振動算出工程で算出した該振動量が予め設定した閾値を超えないように前記時定数を補正する時定数補正工程と、前記時定数補正工程で補正した前記時定数を用いて加減速を行う加減速処理工程とを備えたことを特徴とする。
工作機械1の斜視図。 数値制御装置30と工作機械1の電気的構成を示すブロック図。 加減速処理の説明図。 振動抑制方法の説明図。 加速度指令のスペクトル、振動の位置スペクトルの算出方法の説明図。 振動し易い時定数の範囲の算出方法の説明図。 算出処理の流れ図。 主処理の流れ図。 補正処理(第一時定数T1のみ補正)の流れ図。 補正処理(第一時定数T1及び第二時定数T2を補正)の流れ図。 選択処理の流れ図。
本発明の実施形態を説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々工作機械1のX軸方向、Y軸方向、Z軸方向である。図1に示す工作機械1は主軸9に装着した工具4を回転し、テーブル13上面に保持した被削材3に切削加工を施す機械である。数値制御装置30(図2参照)は工作機械1の動作を制御する。
<工作機械1の概要>
図1を参照し、工作機械1の構造を説明する。工作機械1は、基台2、コラム5、主軸ヘッド7、主軸9、テーブル装置10、工具交換装置20、制御箱6、操作パネル15(図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軸方向に移動制御する。
テーブル装置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軸方向に移動可能に支持する。
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軸方向に移動する。
工具交換装置20は主軸ヘッド7の前側に設け、円盤型の工具マガジン21を備える。工具マガジン21は外周に複数の工具(図示略)を放射状に保持する。工具交換装置20はマガジンモータ55(図2参照)により工具マガジン21を駆動し、工具交換指令が指示する工具を工具交換位置に位置決めする。工具交換指令はNCプログラムで指令する。工具交換位置は工具マガジン21の最下部位置である。工具交換装置20は主軸9に装着する工具4と工具マガジン21に取り付けられた工具とを主軸ヘッド7の上昇、工具マガジン21の回転、主軸ヘッド7の下降の一連の動作により入れ替え交換する。
制御箱6は数値制御装置30(図2参照)を格納する。数値制御装置30は、工作機械1に設けたZ軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54(図2参照)を夫々制御し、テーブル13及び工具4を、X軸方向、Y軸方向、Z軸方向に沿って相対移動する。該時、テーブル13上に固定した被削材3と主軸9に装着した工具4は相対移動し、各種加工を被削材3に施す。各種加工とは、ドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
操作パネル15(図2参照)は、例えば工作機械1を覆うカバー(図示略)の外壁に設ける。操作パネル15は入力部16と表示部17(図2参照)を備える。入力部16は各種情報、操作指示等の入力を受け付け、数値制御装置30に出力する。表示部17は数値制御装置30からの指令に基づき、各種画面を表示する。
<電気的構成>
図2を参照し、数値制御装置30と工作機械1の電気的構成を説明する。数値制御装置30と工作機械1は、CPU31、ROM32、RAM33、記憶装置34、入出力部35、駆動回路51A~55A等を備える。CPU31は数値制御装置30を統括制御する。ROM32は、主プログラム、算出プログラム等を記憶する。主プログラムは、主処理(図8~図11参照)を実行する為のプログラムである。主処理は、NCプログラムを一行ずつ読み込んで各種動作を実行する。NCプログラムは各種制御指令を含む複数行で構成し、工作機械1の軸移動、工具交換等を含む各種動作を行単位で制御する。算出プログラムは、算出処理(図7参照)を実行する為のプログラムである。RAM33は各種情報を一時的に記憶する。記憶装置34は不揮発性であり、NCプログラム、各種情報を記憶する。CPU31は作業者が操作パネル15の入力部16で入力したNCプログラムに加え、外部入力で読み込んだNCプログラム等を記憶装置34に記憶できる。
駆動回路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は何れもサーボモータである。駆動回路51A~55AはCPU31から指令を受け、対応するモータ51~55に駆動電流を夫々出力する。駆動回路51A~55Aはエンコーダ51B~55Bからフィードバック信号を受け、位置と速度のフィードバック制御を行う。入出力部35は操作パネル15の入力部16と表示部17に夫々接続する。以下、モータ51~55を総称する時、モータ50と称す。駆動回路51A~55Aを総称する時、駆動回路50Aと称す。
<加減速処理>
被削材3に対して工具4をX軸、Y軸、Z軸方向に相対移動させて加工するNCプログラムの指令(以下、送り軸指令と称す。)に基づき、工作機械1が駆動する時を例示する。以下、被削材3を固定したテーブル13を、工具4に対してX軸方向に相対移動させて加工する時を例示して説明する。工具4に対してテーブル13をY軸方向に相対移動させて加工する時、及び、テーブル13に対して工具4をZ軸方向に相対移動させて加工する時については、工具4に対してテーブル13をX軸方向に相対移動させて加工する時と同様であるので、説明は省略する。
CPU31は送り軸指令を読み込んだ時、被削材3を保持したテーブル13を送り軸指令により指定した位置まで移動する為、テーブル13の目標位置の時系列データを生成する。CPU31は、所定周期で目標位置のデータを駆動回路53Aに出力する。駆動回路53Aは、CPU31が出力した目標位置のデータに基づき、X軸モータ53を駆動する。X軸モータ53は、テーブル13を目標位置までX軸方向に移動する。CPU31が駆動回路53Aに目標位置のデータを入力する都度、駆動回路53AはX軸モータ53を駆動する。これにより、テーブル13は、送り軸指令により指定した位置(以下、指令位置と称す。)に最終的に到達する。送り軸指令に基づきCPU31が実行する上記の制御を、送り軸制御と称す。
CPU31による目標位置の時系列データの生成方法について説明する。図3(A)(B)に示すように、はじめにCPU31は、送り軸指令の指定位置までテーブル13が移動する時の速度が一定(Vmax)に推移する(図3(B))ように、各目標位置を決定する(図3(A))。次にCPU31は、図3(B)に示す速度の時系列変化を示す波形(以下、速度波形と称す。)に移動平均フィルタ(以下、FIRフィルタと称す)を二回適用し、速度変化を滑らかにする(図3(C)(D))。
一回目に適用するFIRフィルタを第一FIRフィルタと称し、図3においてFIR1と表す。第一FIRフィルタを適用した時の速度の時定数を、第一時定数T1と称す。二回目に適用するFIRフィルタを第二FIRフィルタと称し、図3においてFIR2と表す。第二FIRフィルタを適用した時の速度の時定数を、第二時定数T2と称す。
図3(B)に示す速度波形に第一FIRフィルタを適用した時、図3(C)に示すように、速度波形のうち速度が0からVmaxまで変化する部分(立ち上がり部分)、及び、速度がVmaxから0まで変化する部分(立ち下がり部分)の傾き(加速度)は一定となる。速度波形の立ち上がり部分及び立ち下がり部分の時間(以下、夫々を立ち上がり時間、立ち下がり時間と称す。)は、何れもt1となる。t1は、速度波形に第一FIRフィルタを適用した時の第一時定数T1に対応する。故に、第一時定数T1は、テーブル13の移動時における加速度を制限する時定数に対応する。
第一FIRフィルタを適用した速度波形(図3(C)参照)に第二FIRフィルタを適用した時、図3(D)に示すように、速度波形の立ち上がり部分及び立下り部分の傾き(加速度)が一定となる部分の開始部分及び終了部分で、速度は緩やかに変化する。該時、図3(E)に示すように、加速度の時系列変化を示す波形(以下、「加速度波形」と称す。)において、速度が緩やかに変化する部分に対応する傾きは一定となる。速度波形の立ち上がり時間及び立ち下がり時間は、夫々t2ずつ増加し、「t1+t2」となる。t2は、速度波形に第二FIRフィルタを適用した時の第二時定数T2に対応する。故に、第二時定数T2は、工具4の移動時おけるジャーク(加加速度)を制限する時定数に対応する。尚、第一時定数T1≧第二時定数T2とする。以下、速度波形に移動平均フィルタを適用する処理を、加減速処理と称す。
CPU31は、NCプログラムの送り軸指令に基づいて、所定周期毎にテーブル13の速度(図3(B)参照)を取得し、加減速処理を実行する。より詳細には、CPU31は、取得した速度に第一時定数T1の第一FIRフィルタを適用し(図3(C))、更に第二時定数T2の第二FIRフィルタを適用することで(図3(D))、速度波形の形状に対応する加減速特性を調整する。CPU31は、算出した速度波形(図3(D)参照)に基づき、所定周期毎の目標位置を決定する。CPU31は、決定した目標位置のデータを所定周期で駆動回路53Aに出力する。これにより、駆動回路53AはX軸モータ53を駆動し、X軸モータ53は、テーブル13を目標位置までX軸方向に移動する。
なお、CPU31は、テーブル13をY軸方向に移動する時、及び、工具4をZ軸方向に移動する時の夫々についても、上述と同様の方法で加減速処理を実行する。CPU31は、決定したY軸方向における目標位置のデータを、所定周期で駆動回路52Aに出力する。これにより、駆動回路52AはY軸モータ54を駆動し、Y軸モータ54は、テーブル13を目標位置までY軸方向に移動する。CPU31は、決定したZ軸方向における目標位置のデータを、所定周期で駆動回路51Aに出力する。これにより、駆動回路51AはZ軸モータ51を駆動し、Z軸モータ51は、工具4を目標位置までZ軸方向に移動する。
上記に依り、テーブル13は所定周期毎に目標位置迄X軸方向、Y軸方向、Z軸方向に移動する動作を繰り返す。これにより、テーブル13は、送り軸指令により指定した指令位置に最終的に到達する。
なお、加減速処理において適用するFIRフィルタの最大数は2つに限らない。CPU31は、加減速処理において第一FIRフィルタのみ適用してもよいし、3つ以上のFIRフィルタを適用してもよい。
<振動抑制の考え方>
CPU31は、工作機械1によるテーブル13及び工具4の移動を高速化して加工時間を抑制する為、例えば図4(A)に示す速度波形の立ち上がり部分の加速度(速度波形の傾き)が、モータ50にて駆動可能な最大値(以下、許容加速度と称す)となるように、第一FIRフィルタの第一時定数T1を決定する。例えば、送り軸指令に応じて移動するテーブル13又は工具4の移動前後における速度差(以下、「指令速度差」と称す。)がF11の時、CPU31は、モータ50の加速度が許容加速度となるように、FIRフィルタの時定数をt11とする。なお指令速度差は、送り軸指令の前にテーブル13又は工具4が停止していた場合には送り軸指令における指令速度そのものとし、既に移動中であった場合には、送り軸指令における指令速度から現在の移動速度を減じたものとする。指令速度差がF12の時、CPU31は、モータ50の加速度が許容加速度となるように、FIRフィルタの時定数をt12とする。該時、図4(B)に示すように、指令速度差とFIRフィルタの時定数との関係は線形を示す。例えばF11<F12の時、T11<T12となる。
CPU31は、テーブル13及び工具4の移動に応じて発生する工作機械1の固有振動を抑制する為、FIRフィルタの時定数を設定する。具体的には、例えば図4(C)に示すように、固有振動周波数における振動量が所定の閾値Th(図6(D)参照、後述)よりも大きくなる時定数の範囲(「振動し易い時定数の範囲」という。)が、t13(指令速度差F13)~t14(指令速度差F14)の時を例示する。該時、CPU31は、時定数がt13~t14の範囲とならないよう、指令速度差がF13~F14の範囲で、FIRフィルタの時定数をt14一定に補正する。尚、CPU31は、加減速処理で第一FIRフィルタ及び第二FIRフィルタを用いる時、第一時定数T1を補正する。
尚、上記にて時定数が大きくなることに応じ、テーブル13又は工具4の移動時間は長くなる。しかし、例えば図4(C)の指令速度差がF13~F14の範囲で時定数をt13で一定とした場合、モータ50の許容加速度を超えてしまうことになる。よってCPU31は、指令速度差がF13~F14の範囲で時定数をt13で一定にできない。
<加速度指令のスペクトルの算出方法>
振動し易い時定数の範囲を決定する時に用いる加速度指令のスペクトルは、以下の方法に依り導出する。図5(A)に示す指令速度差Vの加速度インパルス指令に第一FIRフィルタ及び第二FIRフィルタを適用して図5(B)に示す加速度波形を得る時を例示する。尚、加速度波形を積分した値は、指令速度差Vと一致する。第一FIRフィルタ及び第二FIRフィルタのラプラス変換結果をGavr(s)と表記する時、Gavr(s)は式(1)で表せる。
Figure 0007230872000001
sをjωで置換したGavr(jω)の絶対値|Gavr(jω)|を、フィルタ伝達関数ゲインと称す。ここでωは角周波数[rad/s]、jは虚数単位である。|Gavr(jω)|は、第一FIRフィルタ及び第二FIRフィルタをあわせた特性を示す伝達関数であり、式(2)で表せる。
Figure 0007230872000002
フィルタ伝達関数ゲインに指令速度差を乗算することで、送り軸の加減速による周波数毎の加振力に比例する特性値(以下、「加速度指令のスペクトル」)を得る(式(3)参照)。
加速度指令のスペクトル=指令速度差×フィルタ伝達関数ゲイン (3)
式(3)において、角周波数ωとして固有振動周波数[Hz]×2πを代入した時、加速度指令のスペクトルは、固有振動周波数における送り軸の加減速による加振力に比例する。
<工作機械1の振動特性の算出方法>
速度指令に対してFIRフィルタを適用せずに工作機械1を駆動し、テーブル13又は工具4を移動する(速度ステップ指令)ことで工作機械1の振動特性を測定する。該時の工作機械1の振動量(振幅)を、工作機械1に取り付けた加速度計等により測定する。次に、テーブル13又は工具4の移動時における加速度と、測定した振動量との関係に基づき、加速度指令に対する振動量を周波数毎に示す特性値(以下、「振動伝達関数の位置ゲイン」と称す。)を算出する(図5(C)参照)。尚、測定した振動量が極大値を示す時の周波数は、工作機械1の固有振動周波数に対応する。図5(C-1)に示す例では、1つの固有振動周波数(第一固有振動周波数)に対応する1つの極大値が出現している。固有振動数は二つ以上存在する場合もある。図5(C-2)に示す例では、(C-1)に示した一つ目の固有振動周波数(第一固有振動周波数)だけでなく、二つ目の固有振動周波数(第二固有振動周波数)に対応する極大値が出現している。
次に、加速度指令のスペクトル(式(3)参照)と振動伝達関数の位置ゲインとを乗算することで、指令速度差に対する工作機械1の振動の大きさを周波数毎に示すパラメータ(以下、「振動の位置スペクトル」と称す。)を算出する。図6(D)は、上記の方法で固有振動周波数毎に算出した振動の位置スペクトル値とFIRフィルタの時定数の関係を示したグラフである。FIRフィルタの時定数は、指令速度差と許容加速度の関係から求める(図4(B)参照)。図6(D-1)のグラフの極小値は、FIRフィルタの時定数が図5(C-1)に示す第一固有振動周波数の逆数となる時定数と、その整数倍の時定数に対応する。これは、FIRフィルタはその時定数の逆数である周波数の振動を抑える効果がある為である。図6(D-2)のグラフの極小値は、FIRフィルタの時定数が図5(C-2)に示す第二固有振動周波数の逆数となる時定数と、その整数倍の時定数に対応する。第一固有振動周波数<第二固有振動周波数の関係より、図6(D-2)のグラフの一つ目の極小値は、図6(D-1)のグラフの一つ目の極小値よりも小さい。
<振動し易い時定数の範囲の決定方法>
図6(D-1)(D-2)のグラフのThは、工作機械1の振動の大きさに対する閾値である。例えばCPU31は、第一固有振動周波数に関して図6(D-1)に示した振動の位置スペクトルがThを下回るように第一時定数T1を決定することで、第一固有振動周波数における工作機械1の振動をTh以下に抑えることができる。同様に、第二固有振動周波数に関して図6(D-2)に示した振動の位置スペクトルがThを下回るように第二時定数T2を決定することで、第二固有振動周波数における工作機械1の振動をTh以下に抑えることができる。
<算出処理>
図7を参照し、算出処理を説明する。CPU31は、工作機械1による被削材3の加工を開始する前に作業者が入力部16を介して算出処理の実行指示を入力した時、ROM32に記憶した算出プログラムを読み出して実行することにより、算出処理を開始する。尚、算出処理の開始時、振動を測定する為の加速度計等が工作機械1に取り付けてあることを前提とする。又、テーブル13に被削材3が固定してあることを前提とする。
図7に示すように、CPU31は、X軸方向、Y軸方向、Z軸方向の何れかを選択する(S101)。CPU31は、選択した軸方向においてテーブル13又は工具4に対する速度ステップ指令により、工作機械1を駆動する(S103)。工作機械1は、テーブル13又は工具4の移動に応じて振動する。加速度計等は、工作機械1の振動を周波数毎に測定する。作業者は、加速度計等による測定結果を、入力部16を介して数値制御装置30に入力する。CPU31は、入力部16を介して測定結果を取得する(S105)。
CPU31は、取得した測定結果に基づき、振動量が極大となる周波数を固有振動周波数として決定する(S107)。CPU31は、S101の処理により選択した軸方向における固有振動周波数として、記憶装置34に記憶する。CPU31は、取得した測定結果に基づき、速度ステップ指令に応じてテーブル13又は工具4が移動する時の加速度と、該移動に応じて発生した振動の振動量とを関連付ける。CPU31は、テーブル13又は工具4が移動する時の加速度と振動量の関係を周波数毎に示すパラメータである振動伝達関数の位置ゲインを算出する(S109)。CPU31は、S101の処理により選択した軸方向における振動伝達関数の位置ゲインとして記憶装置34に記憶する。
CPU31は、S101の処理にてX軸方向、Y軸方向、Z軸方向の全てを選択したか判定する(S111)。CPU31は、選択していない軸方向が残存する時(S111:NO)処理をS101に戻す。CPU31は、選択していない軸方向の何れかを選択し(S101)、S103~S109の処理を繰り返す。CPU31は、X軸方向、Y軸方向、Z軸方向の全てを選択したと判定した時(S111:YES)、算出処理を終了する。
作業者は、テーブル13に固定する被削材3の質量が異なる複数の条件で算出処理の実行指示を繰り返し入力する。CPU31は、S107の処理により決定した固有振動周波数を、被削材3の質量と、被削材をテーブル13に固定する為の治具の質量との合計(以下、合計質量と称す。)毎に記憶装置34に記憶する。CPU31は、S109の処理により算出した振幅の位置ゲインを、被削材3と治具との合計質量毎に記憶装置34に記憶する。
<主処理(固有振動周波数及びFIRフィルタが1つの時)>
図8~図11を参照し、主処理を説明する。CPU31は、工作機械1による被削材3の加工を開始する時、ROM32に記憶した主プログラムを読み出して実行することにより、主処理を開始する。尚、主処理の開始時、算出処理(図7参照)の実行により固有振動周波数と振動伝達関数の位置ゲインが記憶装置34に記憶してあることを前提とする。又、主処理の開始時、加工対象としてテーブル13に固定した被削材3と治具との合計質量が記憶装置34に記憶してあることを前提とする。尚、被削材3と治具との合計質量は、主処理の開始前に作業者が入力部16を介して数値制御装置30に入力してもよい。CPU31は、入力部16を介して被削材3と治具との合計質量を取得し、RAM33に記憶してもよい。
CPU31は、RAM33に記憶した変数iを初期化する。CPU31は、記憶装置34に記憶した振動伝達関数の位置ゲイン及び固有振動周波数を取得する(S11)。該時、CPU31は、記憶装置34が被削材3と治具との合計質量毎に記憶した振動伝達関数の位置ゲイン及び固有振動周波数の内、RAM33に記憶した被削材3と治具との合計質量と一致又は近似する合計質量に対応する振動伝達関数の位置ゲイン及び固有振動周波数を取得する(S11)。
CPU31は、記憶装置34に記憶したNCプログラムのi番目の指令を取得する(S13)。CPU31は、読み出したi番目の指令が送り軸指令であるか判定する(S15)。CPU31は、i番目の指令が送り軸指令でないと判定した時(S15:NO)、処理をS23に進める。CPU31は、i番目の指令に応じた駆動方法で工作機械1を制御し、i番目の指令を実行する(S23)。CPU31は、処理をS25に進める。
CPU31は、i番目の指令が送り軸指令であると判定した時(S15:YES)、処理をS17に進める。CPU31は、i番目の指令に応じて移動するテーブル13又は工具4の移動前後におけるX軸方向、Y軸方向、Z軸方向の夫々の速度差を、指令速度差として算出する(S17)。CPU31は、X軸方向、Y軸方向、Z軸方向の夫々の指令速度差を、RAM33に記憶する。
CPU31は、FIRフィルタの時定数を補正する為に補正処理を実行する(S19)。S11の処理により取得した固有振動周波数が1つの時、CPU31は、第一FIRフィルタの第一時定数T1を補正する為、図9に示す補正処理を実行する。
図9を参照し、固有振動周波数が1つの時に実行する補正処理を説明する。CPU31は、X軸方向、Y軸方向、Z軸方向の何れかを選択する(S41)。以下、選択した軸方向を、「選択軸」と称す。CPU31は、選択軸に対応した合計イナーシャを算出する(S42)。合計イナーシャは、等価イナーシャと回転部のイナーシャの合計である。等価イナーシャは、テーブル13又は工具4の可動部分の質量×ボール螺子のリード÷(2π)により算出される。回転部のイナーシャは、テーブル13又は工具4の移動とともに回転するモータの回転子、ボール螺子等のイナーシャの合計であり、予め記憶装置34に記憶してある。CPU31は、選択軸に沿ってテーブル13又は工具4が移動する時の加速度が、許容加速度と等しくなるように、第一時定数T1を算出する(S43、図4(B)参照)。尚、許容加速度は、選択軸に対応するモータ50(X軸モータ53、Y軸モータ54、Z軸モータ51)の最大トルク÷合計イナーシャ=許容加速度により算出される。故に許容加速度は、合計イナーシャに応じて変動する。CPU31は、合計イナーシャに基づき許容加速度を決定し、テーブル13又は工具4の移動時における指令速度差との関係に基づいて第一時定数T1を算出する。
CPU31は、式(3)に基づき、選択軸における加速度指令のスペクトルを算出する。該時、フィルタ伝達関数ゲインがパラメータとして含む第一時定数T1として、S43の処理によって算出した第一時定数を適用する。CPU31は、S11(図8参照)の処理により取得した固有振動周波数×2πを、フィルタ伝達関数ゲインの変数ωとして代入し、指令速度差を乗じることで固有振動周波数における加速度指令のスペクトル値を算出する(S45)。該値は、第一FIRフィルタの第一時定数T1と、テーブル13又は工具4の移動時における加速度との関係を固有振動周波数毎に示す。
CPU31は、S11(図8参照)の処理により取得した振動伝達関数の位置ゲインのうち選択軸に対応する振動伝達関数の位置ゲインを取得する。CPU31は、取得した振動伝達関数の位置ゲインと、S45の処理により算出した加速度指令のスペクトル値とを乗算することで、選択軸の固有振動周波数における振動の大きさを示す振動の位置スペクトル値を算出する(S47、図6(D-1)参照)。
CPU31は、振動の位置スペクトル値が閾値Th以上であるか判定する(S49)。CPU31は、振動の位置スペクトル値が閾値Th以上であると判定した時(S49:YES)、第一時定数T1に1ms加算して更新し(S51)、処理をS45に戻す。
CPU31は、更新した第一時定数T1に基づいてフィルタ伝達関数ゲインを決定し、加速度指令のスペクトル値を再度算出する(S45)。CPU31は、S45の処理により算出した加速度指令のスペクトル値と振動伝達関数の位置ゲインとを乗算し、振動の位置スペクトル値を算出する(S47)。CPU31は、算出した振動の位置スペクトル値に基づき、振動の位置スペクトル値が閾値Th以上であるか判定する(S49)。CPU31は、S45~S47の処理を、振動の位置スペクトル値が閾値Th未満であると判定する迄繰り返す。
CPU31は、振動の位置スペクトル値が閾値Th未満であると判定した時(S49:NO)、処理をS53に進める。CPU31は、S41の処理によって、X軸方向、Y軸方向、Z軸方向の全てを選択したか判定する(S53)。CPU31は、選択していない軸方向が残存する時(S53:NO)、処理をS41に進める。CPU31は、選択していない軸方向の何れかを選択し(S41)、S43~S51の処理を繰り返す。
CPU31は、S43の処理を繰り返すことにより、テーブル13又は工具4が移動する時の加速度が許容加速度以下となるような第一時定数T1を、X軸方向、Y軸方向、Z軸方向毎に算出する。CPU31は、S45、S47の処理を繰り返すことにより、固有振動周波数に対応する振動の大きさを示す振動の位置スペクトル値を、X軸方向、Y軸方向、Z軸方向毎に算出する。CPU31は、S49、S51の処理を繰り返すことにより、X軸方向、Y軸方向、Z軸方向毎の第一時定数T1を、振動量が閾値Th以下となるように補正する。CPU31は、X軸方向、Y軸方向、Z軸方向の全てを選択したと判定した時(S53:YES)、補正処理を終了して処理を主処理(図8参照)に戻す。
図8に示すように、CPU31は、補正処理(S19)の終了後、補正後の第一時定数T1に基づく第一FIRフィルタにより加減速処理を実行する(S21)。より具体的には、CPU31は、テーブル13をX軸方向に移動する時の速度波形に、X軸方向に対応する補正後の第一時定数T1に応じた第一FIRフィルタを適用する。CPU31は、テーブル13をY軸方向に相対移動する時の速度波形に、Y軸方向に対応する補正後の第一時定数T1に応じた第一FIRフィルタを適用する。CPU31は、工具4をZ軸方向に相対移動する時の速度波形に、Z軸方向に対応する補正後の第一時定数T1に応じた第一FIRフィルタを適用する。CPU31は、加減速処理後の速度波形に基づき、テーブル13又は工具4をX軸方向、Y軸方向、Z軸方向の夫々に移動して被削材3を加工する(S21)。
CPU31は、NCプログラムの指令を最後まで実行したか判定する(S25)。CPU31は、NCプログラムの指令総数よりも変数iが小さい時、NCプログラムの指令を最後まで実行していないと判定する(S25:NO)。該時、CPU31は、変数iに1加算して更新し(S27)、処理をS13に戻す。CPU31は、更新後の変数iに基づいてNCプログラムの次の指令を取得し(S13)、S15~S25の処理を繰り返す。CPU31は、変数iがNCプログラムの指令総数以上の時、NCプログラムの指令を最後まで実行したと判定する(S25:YES)。該時、CPU31は主処理を終了する。
<主処理(固有振動周波数及びFIRフィルタが2つ以上の時)>
図8に示す主処理のS11の処理により取得した固有振動周波数が2つ以上の時、CPU31は、S19の処理により、図10に示す補正処理を実行する。該時、CPU31は、第一FIRフィルタの第一時定数T1及び第二FIRフィルタの第二時定数T2の少なくとも一方を補正する。主処理のうち補正処理(S19)を除く処理は、固有振動周波数が1つの時と同一であるので、説明を省略又は簡略化する。
図10に示すように、CPU31は、X軸方向、Y軸方向、Z軸方向の何れかを、選択軸として選択する(S61)。CPU31は、選択軸に沿ってテーブル13又は工具4が移動する時の加速度が許容加速度と等しくなるように、指令速度差毎の第一時定数T1の最小値である最小第一時定数T1limを算出する(S63、図4(B)参照)。CPU31は、S63の処理によって算出したT1limを、RAM33に記憶した合計時定数Tlimとして設定する(S65)。CPU31は、選択処理(図11参照)を実行する(S67)。
図11を参照し、選択処理を説明する。CPU31は、
(a)第一時定数T1と第二時定数T2とを加算した値がTlimと一致し(T1+T2=Tlim)、
(b)第一時定数T1がT1lim以上(T1≧T1lim)、且つ、第二時定数T2が0以上(T2≧0)であり、
(c)第一時定数T1が第二時定数T2よりも大きい(T1>T2)
という条件を全て満たす第一時定数T1及び第二時定数T2の組み合わせの何れかを選択する(S81)。尚、時定数の組合せはCPU31の処理周期に依存する。ここでCPU31は1ms周期で動作するものとし、時定数の最小単位は1msとする。
CPU31は、S11の処理により取得した2つ以上の固有振動周波数の何れか一つを選択する(S83)。以下、選択した固有振動周波数を、「選択固有振動周波数」と称す。CPU31は、式(3)に基づき、選択軸における加速度指令のスペクトルを算出する。該時、フィルタ伝達関数ゲインがパラメータとして含む第一時定数T1及び第二時定数T2として、S81の処理によって選択した第一時定数T1及び第二時定数T2を適用する。CPU31は、選択固有振動周波数×2πを、フィルタ伝達関数ゲインの変数ωとして代入し、指令速度差を乗じることで選択固有振動周波数における加速度指令のスペクトル値を算出する(S85)。該値は、選択固有振動周波数における、第一FIRフィルタの第一時定数T1及び第二FIRフィルタの第二時定数T2と、テーブル13又は工具4の移動時における加速度との関係を示す。
CPU31は、S11(図8参照)の処理により取得した振動伝達関数の位置ゲインのうち選択軸に対応する選択固有振動周波数における振動伝達関数の位置ゲインを取得する。CPU31は、取得した振動伝達関数の位置ゲインと、S85の処理により算出した加速度指令のスペクトルとを乗算することで、選択軸を選択した時定数で加減速した時の選択固有振動周波数における振動の大きさを示す振動の位置スペクトル値を算出し、記憶する(S87、図6(D-1)(D-2)参照)。
CPU31は、S11の処理により取得した2つ以上の固有振動周波数の全てを、S83の処理によって選択したか判定する(S89)。CPU31は、選択していない固有振動周波数が残存する時(S89:NO)、処理をS83に戻す。CPU31は、選択していない固有振動周波数の何れか一つを、選択固有振動周波数として選択し(S83)、S85、S87の処理を繰り返す。CPU31は、S11の処理により取得した2つ以上の固有振動周波数の全てを、S83の処理によって選択したと判定した時(S89:YES)、処理をS91に進める。
CPU31は、S87の処理で固有振動周波数毎に記憶した振動の位置スペクトル値の夫々について、閾値Thと比較する。CPU31は、固有振動周波数毎に記憶した振動の位置スペクトルの何れかが閾値Th以上か判定する(S91)。CPU31は、S87で固有振動周波数毎に記憶した振動の位置スペクトル値が何れも閾値未満であると判定した時(S91:NO)、処理をS93に進める。CPU31は、S81の処理により選択した第一時定数T1及び第二時定数T2の組み合わせと、S87の処理により記憶した振動の位置スペクトル値の最大値を、RAM33に記憶する(S93)。CPU31は、処理をS95に進める。CPU31は、固有振動周波数毎に記憶した振動の位置スペクトルの何れかが閾値Th以上と判定した時(S91:YES)、処理をS95に進める。
CPU31は、S81の処理によって、(a)~(c)の条件を満たす第一時定数T1及び第二時定数T2の組み合わせを全て選択したか判定する(S95)。CPU31は、条件を満たす第一時定数T1及び第二時定数T2を全て選択していないと判定した時(S95:NO)、処理をS81に戻す。CPU31は、(a)~(c)の条件を満たす第一時定数T1及び第二時定数T2の組み合わせのうち未だ選択していな組み合わせを選択し(S81)、S83~S93の処理を繰り返す。CPU31は、条件を満たす第一時定数T1及び第二時定数T2を全て選択したと判定した時(S95:YES)、選択処理を終了して補正処理(図10参照)に戻る。
図10に示すように、CPU31は、選択処理(S67)の終了後、S93(図11参照)の処理により、第一時定数T1及び第二時定数T2の組み合わせと固有振動周波数に対応する振動の位置スペクトル値の最大値を一つ以上RAM33に記憶したか判定する(S69)。CPU31は、第一時定数T1及び第二時定数T2の組み合わせと振動の位置スペクトル値の最大値をRAM33に記憶していないと判定した時(S69:NO)、処理をS71に進める。CPU31は、合計時定数Tlimに1ms加算して更新する(S71)。CPU31は、処理をS67に戻す。
CPU31は、更新した合計時定数Tlimに基づき、(a)~(c)の条件を全て満たす第一時定数T1及び第二時定数T2の組み合わせを選択しながら(S81、図11参照)、補正処理を繰り返し実行する。CPU31は、第一時定数T1及び第二時定数T2の組み合わせと振動の位置スペクトル値の最大値をRAM33に記憶したと判定した時(S69:YES)、処理をS73に進める。
CPU31は、補正処理のS93(図11参照)の処理によってRAM33に記憶した、固有振動周波数毎の振動の位置スペクトル値の最大値のうち、最も小さい値に対応する第一時定数T1及び第二時定数T2の組み合わせを選択する(S73)。即ち、CPU31は、第一FIRフィルタの第一時定数T1及び第二FIRフィルタの第二時定数T2を、S73の処理によって選択された第一時定数T1及び第二時定数T2に補正する。該時、選択した第一時定数T1及び第二時定数T2の組み合わせを用いて加減速処理を行うことで、工作機械1を駆動した時の振動量を最も小さくできる。
CPU31は、S41の処理によって、X軸方向、Y軸方向、Z軸方向の全てを選択したか判定する(S75)。CPU31は、選択していない軸方向が残存する時(S75:NO)、処理をS61に戻す。CPU31は、選択していない軸方向の何れかを選択し(S61)、S63~S73の処理を繰り返す。CPU31は、S63の処理を繰り返すことにより、テーブル13又は工具4が移動する時の加速度が許容加速度以下となるような指令速度差毎の第一時定数T1を、X軸方向、Y軸方向、Z軸方向毎に算出する。CPU31は、選択処理(S67参照)を繰り返すことにより、固有振動周波数における振動の大きさを示す振動の位置スペクトル値を、X軸方向、Y軸方向、Z軸方向毎に算出する。CPU31は、X軸方向、Y軸方向、Z軸方向毎に、振動の位置スペクトル値が閾値Th未満となるような第一時定数T1及び第二時定数T2の組み合わせを選択する。CPU31は、X軸方向、Y軸方向、Z軸方向の全てを選択したと判定した時(S75:YES)、補正処理を終了して処理を主処理(図8参照)に戻す。
図8に示すように、CPU31は、補正処理(S19)の終了後、X軸方向、Y軸方向、Z軸方向毎に算出した補正後の第一時定数T1に基づき、第一FIRフィルタにより加減速処理を実行し、且つ、補正後の第二時定数T2に基づき、第二FIRフィルタにより加減速処理を実行する(S25)。CPU31は、加減速処理後の速度波形に基づき、テーブル13又は工具4をX軸方向、Y軸方向、Z軸方向の夫々に移動して被削材3を加工する(S21)。
<本実施形態の主たる作用、効果>
数値制御装置30は、工作機械1の振動量を示す振動の位置スペクトル値が閾値Thを超えない範囲で、FIRフィルタの時定数を補正する(S49、S51、S69、S71)。該時、数値制御装置30は、加減速制御後の速度波形に基づきテーブル13又は工具4を駆動した時、テーブル13又は工具4の移動速度の低下を最小限に抑制できる。故に、数値制御装置30は、工作機械1の振動量を抑制しつつ被削材3の加工に要する時間を短縮できる。
数値制御装置30は、第一FIRフィルタの第一時定数T1を補正することにより、被削材3の加工時におけるテーブル13又は工具4の移動時の加速度を適正に維持できる。数値制御装置30は、第二時定数を補正することにより、被削材3の加工時におけるテーブル13又は工具4の移動時のジャークを適正に維持できる。故に、数値制御装置30は、テーブル13又は工具4の移動速度の低下を効率良く抑制できる。
数値制御装置30は、テーブル13又は工具4の移動時における指令速度差と、テーブル13又は工具4の合計イナーシャに基づいて、第一時定数T1を算出する(S43)。故に、数値制御装置30は、テーブル13又は工具4の可動部分に作用するイナーシャを考慮して第一時定数T1を算出できるので、第一時定数T1を正確に算出できる。
数値制御装置30は、テーブル13又は工具4の移動時における加速度と工作機械1の振動量との関係に基づき、振動量を振動周波数毎に示す振動伝達関数の位置ゲインを算出する(S109)。CPU31は、テーブル13又は工具4の移動時における時定数と加速度の関係を、工作機械1の固有振動周波数毎に示す加速度指令のスペクトル値を算出する(S45、S85)。数値制御装置30は、振動伝達関数の位置ゲインと加速度指令のスペクトル値に基づき、工作機械1の振動の大きさを固有振動周波数毎に示す振動の位置スペクトル値を算出する(S47、S87、S93)。該時、数値制御装置30は、テーブル13又は工具4を駆動することで発生する工作機械1の振動量を、FIRフィルタの時定数に基づき予測できる。故に、数値制御装置30は、工作機械1の振動量が閾値Thを超えないように時定数を補正する処理(S51、S71)を、算出した振動の位置スペクトル値に基づいて精度良く実現できる。
数値制御装置30は、選択した第一時定数T1及び第二時定数T2の組み合わせと、対応する振動の位置スペクトル値の最大値をRAM33に記憶する(S93)。つまり、数値制御装置30は、工作機械1の固有振動周波数毎の振動の位置スペクトル値のうち最大値を、工作機械1の振動量として決定する。該時、数値制御装置30は、工作機械1の固有振動周波数が複数ある時、最も振動量が大きい固有振動周波数での工作機械1が振動することを、時定数の補正により抑制できる。
数値制御装置30は、第一時定数T1に1msずつ加算する処理(S51)を繰り返すことにより、振動量が閾値Th未満となるように第一時定数T1を補正する。該時、数値制御装置30は、テーブル13又は工具4を移動する為のモータの加速度を最大限維持しつつ、振動量が閾値Th以上となる指令速度差の領域について第一時定数T1を補正できる。故に、数値制御装置30は、テーブル13又は工具4の移動に応じた工作機械1の振動を抑制しつつ、切削加工の加工時間を抑制できる。
数値制御装置30は、合計時定数Tlimに1ms加算して更新しながら(S71)、条件を満たす第一時定数T1及び第二時定数T2の組み合わせを選択する(S81)。数値制御装置30は、選択した組み合わせに応じた振動量が閾値Th未満となる迄、合計時定数Tlimを更新する処理を繰り返す。該時、数値制御装置30は、テーブル13又は工具4を移動する為のモータの加速度を最大限維持しつつ、振動量が閾値Th以上となる指令速度差の領域について第一時定数T1及び第二時定数T2を補正できる。故に、数値制御装置30は、テーブル13又は工具4の移動に応じた工作機械1の振動を抑制しつつ、切削加工の加工時間を抑制できる。
数値制御装置30は、速度ステップ指令に応じてテーブル13が移動する時の振動量の測定結果に基づき、被削材3と治具との合計質量毎に振動伝達関数の位置ゲインを算出し(S109)、記憶装置34に予め記憶する。数値制御装置30は、被削材3と治具との合計質量毎に記憶した振動伝達関数の位置ゲイン及び固有振動周波数の内、実際の被削材3と治具との合計質量と一致又は近似する合計質量に対応する振動伝達関数の位置ゲイン及び固有振動周波数を取得し(S11)、加速度指令のスペクトル及び振動の位置スペクトルを算出する(S45、S47、S85、S87、S93)。故に、数値制御装置30は、テーブル13に固定した被削材3と治具との合計質量に応じて振動の条件が変動する時も、時定数を精度良く補正できる。
数値制御装置30は、X軸、Y軸、Z軸毎に時定数を算出し、振動伝達関数の位置ゲイン、加速度指令のスペクトル、及び振動の位置スペクトルを算出する。数値制御装置30は、X軸方向、Y軸方向、Z軸方向毎の時定数を、振動量が閾値Th未満となるように補正する。該時、数値制御装置30は、X軸、Y軸、Z軸毎の速度波形に対し、対応するFIRフィルタを適用することにより、加減速処理を行う。故に、数値制御装置30は、テーブル13又は工具4の移動に応じた工作機械1の振動を、X軸、Y軸、Z軸毎に抑制できるので、振動を更に適切に抑制できる。
<変形例>
本発明は上記実施形態に限らない。数値制御装置30は、速度ステップ指令に応じてテーブル13が移動する時の振動量の測定結果に基づき、被削材3と治具との合計質量毎に振動伝達関数の位置ゲインを算出した(S109)。工作機械1を駆動する時の命令は、速度ステップ指令に限定しない。例えば数値制御装置30は、加速度インパルス指令等の広いスペクトル成分を有する命令に応じてテーブル13が移動する時の振動量の測定結果に基づき、振動伝達関数の位置ゲインを算出してもよい。また、インパルスハンマー等による加振試験の結果を用いて振動伝達関数の位置ゲインを算出しても良い。
数値制御装置30は、移動平均フィルタを用いないで加減速処理を実行してもよい。加速度、ジャークに対して制限値(加速度制限値、ジャーク制限値)を設けることで加減速を行う制御系において、例えば数値制御装置30は、上記処理によって算出した第一時定数T1で指令速度差を除算することにより、加速度の制限値を求めても良い。又、例えば数値制御装置30は、上記処理によって算出した第二時定数T2で加速度の制限値を除算することによりジャークの制限値を求めても良い。
数値制御装置30は、移動平均フィルタを用いる場合と用いない場合とを併用してもよい。例えば、複数の固有振動周波数のうち一部に対応する振動は、移動平均フィルタの時定数を補正することにより抑制し、残りの固有振動周波数に対応する振動は、移動平均フィルタを用いない制限値(加速度制限値、ジャーク制限値)を補正することにより抑制してもよい。指令速度差は、常に指令速度そのものとしても良い。
工作機械1の振動量を算出する為の方法は、上記方法以外でもよい。具体的には、数値制御装置30は、振動伝達関数の位置ゲイン、加速度指令のスペクトル、及び振動の位置スペクトルを算出せずに工作機械1の振動量を算出してもよい。数値制御装置30は、工作機械1の制御系を含む理論モデルに基づくシミュレーションにより、指令速度差、第一時定数T1、第二時定数T2に対応する工作機械1の振動量を算出してもよい。数値制御装置30は、該算出結果に基づいて時定数を決定してもよい。該シミュレーションは、主処理の開始前に予め実行してもよいし、補正処理(図9、図10参照)において時定数を算出する時に実行してもよい。
加減速処理で用いるFIRフィルタの数は、3以上でもよい。該時、数値制御装置30は、振動量が閾値Th未満となるような3つ以上のFIRフィルタの夫々の時定数を決定してもよい。又、固有振動周波数の数とFIRフィルタの数が一致する時、固有振動周波数の夫々にFIRフィルタを対応付けてもよい。数値制御装置30は、固有振動周波数の振動量を抑制する為の時定数として、対応するFIRフィルタの時定数を補正してもよい。数値制御装置30は、加減速時の加速度がモータの定格に基づき決定した加速度制限値を超えないように、指令速度差毎の時定数を算出してもよい。
時定数を補正する時(S51、S71)に加算する値は1msに限らず、他の値でもよい。振動の位置スペクトルと閾値Thとの差分に応じ、時定数を補正する時に加算する値を切り替えてもよい。
数値制御装置30は、記憶装置34が被削材3と治具との合計質量毎に記憶した振動伝達関数の位置ゲイン及び固有振動周波数の内、実際の被削材3と治具との合計質量と一致又は近似する合計質量に対応する振動伝達関数の位置ゲイン及び固有振動周波数を取得し(S11)、時定数補正に用いた。数値制御装置30は、被削材3と治具との合計質量と振動伝達関数の位置ゲインとの関係を示す関係式を記憶装置34に記憶してもよい。数値制御装置30は、実際の被削材3と治具との合計質量を、該関係式に適用することで、振動伝達関数の位置ゲインを導出してもよい。数値制御装置30は、二つ以上の被削材3と治具との合計質量毎に記憶した振動伝達関数の位置ゲイン及び固有振動周波数を用いて、補間もしくは捕外によって、異なる合計質量に対応する振動伝達関数の位置ゲイン及び固有振動周波数を求めても良い。
工作機械1の固有振動周波数は3つ以上であっても良い。また、固有振動周波数として1つの周波数を決定する代わりに、一定の範囲を持った固有振動周波数範囲を決定し、固有振動周波数範囲に含まれる全周波数に対して振動の位置スペクトル値を算出し、すべての振動の位置スペクトル値が閾値以下になるように時定数を補正してもよい。固有振動周波数範囲として、振動伝達関数の位置ゲインが閾値を超える周波数範囲を求めてもよい。
数値制御装置30は、X軸、Y軸、Z軸毎に算出した時定数のうち最も大きい時定数を、全軸時定数として算出してもよい。数値制御装置30は、X軸、Y軸、Z軸毎に算出した振動の位置スペクトルのうち最も大きい値を、全軸振動量として算出してもよい。数値制御装置30は、全軸振動量が閾値Th未満となるように全軸時定数を補正してもよい。数値制御装置30は、補正した全軸時定数を、X軸、Y軸、Z軸毎の速度波形に適用することで、加算速処理を行ってもよい。数値制御装置30は、加減速処理により得られたX軸、Y軸、Z軸毎の速度波形に基づき、にテーブル13又は工具4の移動を制御してもよい。該時、数値制御装置30は、変更対象となる時定数を限定できるので、時定数の変更に要する処理量を抑制できる。
<その他>
工作機械1は、本発明の「機械」の一例である。CPU31は、本発明の「制御部」の一例である。S43、S63の処理を行うCPU31は、本発明の「時定数算出部」の一例である。S51、S71の処理を行うCPU31は、本発明の「時定数補正部」の一例である。S109、S45、S85、S47、S87、S93の処理を行うCPU31は、本発明の「振動算出部」の一例である。S42の処理は、本発明の「イナーシャ算出部」の一例である。S109の処理を行うCPU31は、本発明の「第一振動算出部」の一例である。S45、S85の処理を行うCPU31は、本発明の「第二振動算出部」の一例である。S47、S87の処理を行うCPU31は、本発明の「第三振動算出部」の一例である。S93の処理は、本発明の「振動量算出部」の一例である。振動伝達関数の位置ゲインは、本発明の「第一振動情報」の一例である。加速度指令のスペクトルは、本発明の「第二振動情報」の一例である。振動の位置スペクトルは、本発明の「第三振動情報」の一例である。S21の処理を行うCPU31は、本発明の「加減速処理部」の一例である。S109の処理を行うCPU31は、本発明の「第一振動算出処理」の一例である。
1 :工作機械
3 :被削材
4 :工具
30 :数値制御装置
31 :CPU
34 :記憶装置

Claims (10)

  1. テーブルに固定した被削材を、前記テーブル又は工具を駆動して加工可能な機械の動作を制御し、前記テーブル又は前記工具の移動時の時定数に基づき加減速処理を実行可能な制御部を備えた数値制御装置において、
    前記制御部は、
    前記時定数を算出する時定数算出部と、
    前記テーブル又は前記工具の移動時における加速度と前記テーブル又は前記工具を駆動することで発生する前記機械の振動量との関係に基づき、前記振動量を周波数毎に示す振動伝達関数の位置ゲインを算出し、前記テーブル又は前記工具の移動時における前記時定数と前記加速度の関係を前記機械の固有振動周波数毎に示す加速度指令のスペクトル値を算出し、算出した前記振動伝達関数の位置ゲインと、前記加速度指令のスペクトル値とに基づき、前記機械の振動を前記機械の固有振動周波数毎に示す振動の位置スペクトル値を算出する算出部と、
    記算出部が算出した該位置スペクトル値が予め設定した閾値を超えないように前記時定数を補正する時定数補正部と、
    前記時定数補正部が補正した前記時定数を用いて加減速を行う加減速処理部と
    を備えたことを特徴とする数値制御装置。
  2. 前記時定数は、
    前記テーブル又は前記工具の移動時に加速度を制限する前記時定数である第一時定数と、ジャークを制限する前記時定数である第二時定数とを含むことを特徴とする請求項1に記載の数値制御装置。
  3. 前記テーブル又は前記工具のイナーシャの合計である合計イナーシャを算出するイナーシャ算出部を更に備え、
    前記時定数算出部は、
    前記テーブル又は前記工具の移動時における速度の変化量と前記イナーシャ算出部が算出した前記合計イナーシャとに基づき、前記第一時定数を算出することを特徴とする請求項2に記載の数値制御装置。
  4. 記算出部は、
    前記機械の固有振動周波数毎の前記位置スペクトル値のうち最大の前記位置スペクトル値を算出する振動量算出部
    を更に備えることを特徴とする請求項1から3の何れかに記載の数値制御装置。
  5. 前記時定数補正部は、
    前記位置スペクトル値が前記閾値以下となる迄前記第一時定数を増加することで、前記第一時定数を補正することを特徴とする請求項2に記載の数値制御装置。
  6. 前記時定数補正部は、
    前記位置スペクトル値が前記閾値以下となる迄、前記第一時定数及び前記第二時定数の少なくとも一方を増加することで、前記第一時定数及び前記第二時定数の少なくとも一方を補正することを特徴とする請求項2に記載の数値制御装置。
  7. 前記算出部は、
    前記テーブルに固定する前記被削材及び前記被削材を前記テーブルに固定するための治具の質量に基づき前記振動伝達関数の位置ゲインを算出することを特徴とする請求項1からの何れかに記載の数値制御装置。
  8. 前記テーブル又は前記工具は、異なる複数の基準軸に沿って相対移動可能であり、
    前記時定数算出部は、
    前記複数の基準軸毎の前記時定数を算出し、
    記算出部は、
    前記複数の基準軸毎の前記位置スペクトル値を算出し、
    前記時定数補正部は、
    前記複数の基準軸毎の前記時定数を補正し、
    前記加減速処理部は、
    前記時定数補正部が補正した複数の前記時定数により、前記複数の基準軸毎に加減速処理を行うことを特徴とする請求項1からの何れかに記載の数値制御装置。
  9. 前記テーブル又は前記工具は、異なる複数の基準軸に沿って相対移動可能であり、
    前記時定数算出部は、
    前記複数の基準軸毎の前記時定数のうち最も長い前記時定数を全軸時定数として算出し、
    記算出部は、
    前記複数の基準軸毎の前記位置スペクトル値のうち最も大きい前記位置スペクトル値を全軸位置スペクトル値として算出し、
    前記時定数補正部は、
    前記全軸時定数と前記全軸位置スペクトル値に基づいて前記全軸時定数を補正し、
    前記加減速処理部は、
    前記時定数補正部が補正した前記全軸時定数に基づき前記複数の基準軸の加算速処理を行うことを特徴とする請求項1からの何れかに記載の数値制御装置。
  10. テーブルに固定した被削材を、前記テーブル又は工具を駆動して加工可能な機械の動作を制御し、前記テーブル又は前記工具の移動時の時定数に基づき加減速処理を実行可能な数値制御方法であって、
    前記時定数を算出する時定数算出工程と、
    前記テーブル又は前記工具の移動時における加速度と前記テーブル又は前記工具を駆動することで発生する前記機械の振動量との関係に基づき、前記振動量を周波数毎に示す振動伝達関数の位置ゲインを算出し、前記テーブル又は前記工具の移動時における前記時定数と前記加速度の関係を前記機械の固有振動周波数毎に示す加速度指令のスペクトル値を算出し、算出した前記振動伝達関数の位置ゲインと、前記加速度指令のスペクトル値とに基づき、前記機械の振動を前記機械の固有振動周波数毎に示す振動の位置スペクトル値を算出する算出工程と、
    記算出工程で算出した該位置スペクトル値が予め設定した閾値を超えないように前記時定数を補正する時定数補正工程と、
    前記時定数補正工程で補正した前記時定数を用いて加減速を行う加減速処理工程と
    を備えたことを特徴とする数値制御方法。
JP2020062824A 2020-03-31 2020-03-31 数値制御装置及び数値制御方法 Active JP7230872B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020062824A JP7230872B2 (ja) 2020-03-31 2020-03-31 数値制御装置及び数値制御方法
CN202110236796.0A CN113467379A (zh) 2020-03-31 2021-03-03 数值控制装置和数值控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020062824A JP7230872B2 (ja) 2020-03-31 2020-03-31 数値制御装置及び数値制御方法

Publications (2)

Publication Number Publication Date
JP2021163077A JP2021163077A (ja) 2021-10-11
JP7230872B2 true JP7230872B2 (ja) 2023-03-01

Family

ID=77868268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020062824A Active JP7230872B2 (ja) 2020-03-31 2020-03-31 数値制御装置及び数値制御方法

Country Status (2)

Country Link
JP (1) JP7230872B2 (ja)
CN (1) CN113467379A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023146304A (ja) * 2022-03-29 2023-10-12 Ntn株式会社 産業機器の制御装置
WO2024057784A1 (ja) * 2022-09-13 2024-03-21 パナソニックIpマネジメント株式会社 数値制御装置および駆動システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151951A (ja) 2015-02-18 2016-08-22 ファナック株式会社 機械の負荷を低減する数値制御装置
JP2017102532A (ja) 2015-11-30 2017-06-08 ブラザー工業株式会社 数値制御装置と数値制御装置の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3083870B2 (ja) * 1991-05-10 2000-09-04 ファナック株式会社 数値制御装置
JP5710367B2 (ja) * 2011-04-28 2015-04-30 学校法人東京理科大学 制御装置および制御方法、並びにプログラム
JP6192849B2 (ja) * 2014-09-10 2017-09-06 三菱電機株式会社 振動モード測定装置
JP6435872B2 (ja) * 2015-01-20 2018-12-12 ブラザー工業株式会社 数値制御装置と制御方法
JP7002072B2 (ja) * 2017-10-30 2022-01-20 ブラザー工業株式会社 数値制御装置と制御方法
JP6511573B1 (ja) * 2018-06-28 2019-05-15 オークマ株式会社 転がり軸受の異常診断方法及び異常診断装置、異常診断プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151951A (ja) 2015-02-18 2016-08-22 ファナック株式会社 機械の負荷を低減する数値制御装置
JP2017102532A (ja) 2015-11-30 2017-06-08 ブラザー工業株式会社 数値制御装置と数値制御装置の制御方法

Also Published As

Publication number Publication date
CN113467379A (zh) 2021-10-01
JP2021163077A (ja) 2021-10-11

Similar Documents

Publication Publication Date Title
JP5566469B2 (ja) 数値制御方法
JP6439542B2 (ja) 数値制御装置と制御方法
CN111123842B (zh) 数值控制装置
JP7230872B2 (ja) 数値制御装置及び数値制御方法
JP6107306B2 (ja) 数値制御装置及び駆動制御方法
JP6693013B2 (ja) 振動抑制装置と振動抑制方法
JP4847428B2 (ja) 加工シミュレーション装置およびそのプログラム
JP6398254B2 (ja) 数値制御装置と数値制御装置の制御方法
JP6311635B2 (ja) 数値制御装置と制御方法
JP6903485B2 (ja) 制振装置および加工機
Wang et al. Active vibration control for robotic machining
JP6893792B2 (ja) 工作機械および振動抑制方法
JP4115925B2 (ja) 工作機械の制御方法及びその制御装置
JP7020649B2 (ja) 振動抑制装置と振動抑制方法
JP7002072B2 (ja) 数値制御装置と制御方法
CN112748702B (zh) 振动抑制方法和振动抑制装置
JP7238673B2 (ja) 数値制御装置及び制御方法
JP2023149799A (ja) 数値制御装置、及び数値制御装置の制御方法
JP2020140504A (ja) 数値制御装置と制御方法
JP2022131354A (ja) 振動抑制方法、振動抑制装置、及び工作機械
JP2661942B2 (ja) Ncデータ作成装置
JP7039772B1 (ja) 表示装置、工作機械、および表示方法
US11003171B2 (en) Parameter setting device, system, and parameter setting method
JP2023122980A (ja) 数値制御装置と制御方法
JP2023051318A (ja) 数値制御装置と制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R150 Certificate of patent or registration of utility model

Ref document number: 7230872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150