JP6661062B1 - 数値制御装置および機械学習装置 - Google Patents

数値制御装置および機械学習装置 Download PDF

Info

Publication number
JP6661062B1
JP6661062B1 JP2019556997A JP2019556997A JP6661062B1 JP 6661062 B1 JP6661062 B1 JP 6661062B1 JP 2019556997 A JP2019556997 A JP 2019556997A JP 2019556997 A JP2019556997 A JP 2019556997A JP 6661062 B1 JP6661062 B1 JP 6661062B1
Authority
JP
Japan
Prior art keywords
tool
interrupt
command
processing
unit
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
JP2019556997A
Other languages
English (en)
Other versions
JPWO2020136899A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6661062B1 publication Critical patent/JP6661062B1/ja
Publication of JPWO2020136899A1 publication Critical patent/JPWO2020136899A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B25/00Accessories or auxiliary equipment for turning-machines
    • B23B25/02Arrangements for chip-breaking in turning-machines
    • 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/4155Numerical 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 characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/19Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/27Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device
    • G05B19/29Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for point-to-point control
    • G05B19/291Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for point-to-point control the positional error is used to control continuously the servomotor according to its magnitude
    • G05B19/295Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for point-to-point control the positional error is used to control continuously the servomotor according to its magnitude with current or torque feedback only

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Turning (AREA)

Abstract

加工対象物を加工するための工具を駆動する複数の駆動軸を制御する数値制御装置(1)であって、加工プログラム(432)を解析する解析処理部(45)と、解析処理部(45)による加工プログラム(432)の解析結果に基づいて加工対象物を切削加工する際の工具の移動経路である加工経路を算出する加工経路算出部(483)と、工具が加工経路に沿って移動し、加工対象物を加工している途中に繰り返し実行する動作であり、工具を加工経路から一時的にリフトアップさせるインタラプト動作における工具の移動経路を解析結果に基づいて算出するインタラプト経路算出部(482)と、を備える。

Description

本発明は、旋削加工を行う工作機械を制御する数値制御装置および機械学習装置に関する。
旋削加工を行う工作機械を制御する従来の数値制御装置として、切削工具を加工経路に沿って低周波振動させながらワークを加工する制御を行う数値制御装置が提案されている(例えば、特許文献1)。
特許文献1に記載の数値制御装置は、工具への移動指令から単位時間あたりの指令移動量を算出し、振動条件から単位時間あたりの振動移動量を算出し、指令移動量と振動移動量とを合成して合成移動量を算出し、合成移動量に基づいて振動切削を制御する。特許文献1に記載の数値制御装置は、工具の振動周波数が一定の値を超えないように制御することで、ワークを切削するときに発生する切りくずを細かく分断する。これにより、切りくずが工具に絡み付くのを防ぎ、切りくずが絡み付くことによって工具の寿命が短くなるといった問題などが発生するのを防止できる。
特許第5599523号公報
特許文献1に記載されたような、切削工具を加工経路に沿って低周波振動させながらワークを加工する旋削加工では、切削工具を低周波振動させるときの周波数は主軸の回転数に依存する。そのため、主軸の回転数を自由に指定することができないという問題がある。例えば、主軸の回転数を上げて加工速度を上げようとした場合、切削工具の振動周波数も上昇するため、切りくずを分断することができなくなる可能性がある。
本発明は、上記に鑑みてなされたものであって、旋削加工を行う際に発生する切りくずを主軸の回転数の設定値の影響を受けることなく安定して分断することが可能な数値制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、加工対象物を加工するための工具を駆動する複数の駆動軸を制御する数値制御装置であって、加工プログラムを解析する解析処理部と、解析処理部による加工プログラムの解析結果に基づいて加工対象物を切削加工する際の工具の移動経路である加工経路を算出する加工経路算出部と、を備える。また、数値制御装置は、工具が加工経路に沿って移動し、加工対象物を加工している途中に繰り返し実行する動作であり、工具を加工経路から一時的にリフトアップさせるインタラプト動作における工具の移動経路を解析結果に基づいて算出するインタラプト経路算出部を備える。インタラプト経路算出部は、インタラプト動作において工具を加工経路に対してリフトアップさせるリフトアップ角度を0°より大きく、90°以下の角度で算出する。
本発明にかかる数値制御装置は、旋削加工で発生する切りくずを、主軸の回転数の設定値の影響を受けることなく安定して加工対象物から分断することができる、という効果を奏する。
実施の形態1にかかる数値制御装置の構成例を示す図 実施の形態1にかかる数値制御装置で実行される加工プログラムに含ませることが可能なインタラプト加工指令の構成例を示す図 実施の形態1にかかる数値制御装置が工作機械を制御して行う加工動作の第1の例を示す図 図3に示した加工動作を実現する加工プログラムの一例を示す図 実施の形態1にかかる数値制御装置が工作機械を制御して行う加工動作の第2の例を示す図 図5に示した加工動作を実現する加工プログラムの一例を示す図 実施の形態1にかかる数値制御装置が工作機械を制御して行う加工動作の第3の例を示す図 実施の形態1にかかる数値制御装置が備える解析処理部の動作の一例を示すフローチャート 実施の形態1にかかる数値制御装置が備える補間処理部の動作の一例を示すフローチャート 実施の形態1にかかる数値制御装置を適用して行うインタラプト動作の第1の例を示す図 実施の形態1にかかる数値制御装置を適用して行うインタラプト動作の第2の例を示す図 実施の形態1にかかる数値制御装置を適用して行うインタラプト動作の第3の例を示す図 実施の形態1にかかる数値制御装置を適用して行うインタラプト動作の第4の例を示す図 実施の形態1にかかる数値制御装置が備える制御演算部のハードウェア構成例を示す図 中ぐり加工の一例を示す図 中ぐり加工において発生する問題を説明するための図 工具とワークの干渉が発生する加工動作の一例を示す図 実施の形態2にかかる数値制御装置の構成例を示す図 実施の形態2にかかる数値制御装置が備える動作条件変更部の動作の一例を示すフローチャート
以下に、本発明の実施の形態にかかる数値制御装置および機械学習装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。各実施の形態において、工作機械が備える切削工具を「工具」と記載し、工作機械が行う旋削加工を「加工」と記載する。
実施の形態1.
図1は、実施の形態1にかかる数値制御装置の構成例を示す図である。数値制御装置1は、入力操作部20と、表示部30と、制御演算部40と、を備える。図1では、数値制御装置1により制御される工作機械に設けられた駆動部10も併せて記載している。工作機械の駆動部10以外の構成要素については記載を省略している。
工作機械に設けられた駆動部10は、加工対象物であるワークおよび工具のいずれか一方または両方を少なくとも2軸方向に駆動する機構である。ここでは、数値制御装置1上で規定された各軸方向にワークおよび工具の一方または両方を移動させる複数のサーボモータ11と、各サーボモータ11の回転子の位置および速度を検出する複数の検出器12と、を備える。また、駆動部10は、検出器12が検出した位置および速度に基づいてサーボモータ11の制御を行うX軸サーボ制御部13X,Z軸サーボ制御部13Z,…を備える。なお、以下では、駆動軸の方向を区別する必要がない場合、各軸に対応するサーボ制御部(X軸サーボ制御部13X,Z軸サーボ制御部13Z,…)を単にサーボ制御部13と表記する。また、駆動部10は、ワークを回転させるための主軸を回転させる主軸モータ14と、主軸モータ14の回転子の位置および回転数を検出する検出器15と、検出器15が検出した位置および回転数に基づいて主軸モータ14を制御する主軸サーボ制御部16と、を備える。
数値制御装置1の説明に戻り、入力操作部20は、数値制御装置1に情報を入力する手段である。入力操作部20は、キーボード、ボタン、マウスなどによって構成され、ユーザによる数値制御装置1に対するコマンド、加工プログラム、パラメータなどの入力を受け付け、制御演算部40に受け渡す。
表示部30は、液晶表示装置などによって構成され、制御演算部40によって処理された情報の表示などを行う。
制御演算部40は、入力制御部41と、データ設定部42と、記憶部43と、画面処理部44と、解析処理部45と、機械制御信号処理部46と、PLC(Programmable Logic Controller)47と、補間処理部48と、加減速処理部49と、軸データ出力部50と、を備える。なお、PLC47は制御演算部40の外部に配置されていてもよい。
入力制御部41は、入力操作部20から入力される情報を受け付ける。データ設定部42は、入力制御部41が受け付けた情報を記憶部43に格納する。たとえば入力された内容が加工プログラム432の編集の場合には、記憶部43が保持している加工プログラム432に編集された内容を反映させ、パラメータが入力された場合には記憶部43が保持しているパラメータ431を更新する。
記憶部43は、制御演算部40の処理で使用されるパラメータ431、実行される加工プログラム432、表示部30に表示させる画面表示データ433などを記憶する。ここで、本実施の形態にかかる数値制御装置1は、一般的な数値制御のための指令に加えて、新たに定義されるインタラプト加工指令に従って工作機械を制御することが可能である。そのため、加工プログラム432には、インタラプト加工指令が記述されている場合がある。インタラプト加工指令は、工作機械がワークを加工している途中で一時的に加工を中断して工具をワークから引き離した状態とし、その後、工具とワークが接触した状態に戻して加工を再開する動作の実行を指示する指令である。この一連の動作を本明細書では「インタラプト動作」と称する場合がある。ここで、リフトアップとは、工具を加工経路に沿って動かしながら加工している際に、加工経路上から工具を持ち上げることを言う。また、インタラプト動作において工具をワークから引き離した状態とする動作を「工具のリフトアップ」または単に「リフトアップ」と称する場合がある。また、インタラプト動作において工具がワークから離れた状態から工具とワークが接触した状態に戻す動作を「工具のリフトダウン」または単に「リフトダウン」と称する場合がある。インタラプト加工指令の詳細およびインタラプト動作の詳細については別途説明する。
また、記憶部43には、パラメータ431、加工プログラム432および画面表示データ433以外のデータを記憶する共有エリア434が設けられている。この共有エリア434には、制御演算部40が駆動部10を制御する処理で生成されるデータが一時的に格納される。画面処理部44は、記憶部43が保持する画面表示データ433を表示部30に表示させる制御を行う。
解析処理部45は、インタラプト加工指令解析部451および一般指令解析部452を備える。解析処理部45は、1以上のブロックを含む加工プログラム432を記憶部43から読み込み、読み込んだ加工プログラム432をインタラプト加工指令解析部451または一般指令解析部452で解析する。インタラプト加工指令解析部451は、加工プログラム432に含まれるインタラプト加工指令を解析し、解析結果を記憶部43の共有エリア434に書き込む。一般指令解析部452は、加工プログラム432に含まれるインタラプト加工指令以外の指令を解析し、解析結果を記憶部43の共有エリア434に書き込む。以下、加工プログラム432に含まれるインタラプト加工指令以外の指令を一般指令と称する場合がある。
機械制御信号処理部46は、解析処理部45によって、数値制御軸である駆動軸を動作させる指令以外の機械を動作させる指令としての補助指令を読み込んだ場合に、補助指令が指令されたことをPLC47に通知する。補助指令の例は、MコードまたはTコードである。
PLC47は、機械制御信号処理部46から補助指令が指令されたことの通知を受けると、その補助指令に対応する処理を実行する。PLC47は、機械動作が記述されたラダープログラムを保持している。PLC47は、補助指令であるTコードまたはMコードを受付けると、ラダープログラムに従って補助指令に対応する処理を実行する。PLC47は、補助指令に対応する処理を実行した後、加工プログラム432の次のブロックを実行させるために、補助指令に対応する処理が完了したことを示す完了信号を機械制御信号処理部46に送る。
制御演算部40では、解析処理部45と、機械制御信号処理部46と、補間処理部48とは、記憶部43を介して接続されている。解析処理部45、機械制御信号処理部46および補間処理部48は、記憶部43の共有エリア434を介して、各種情報の受け渡しを行う。以下では、解析処理部45、機械制御信号処理部46および補間処理部48の間で情報の受け渡しを説明する際に、記憶部43が介されていることの記載を省略する場合がある。
補間処理部48は、工具の移動経路に関連する引数を含む指令を解析処理部45が解析した場合、解析した指令に含まれる引数を使用し、補間処理により工具の移動経路を算出する。工具の移動経路に関連する引数を含む指令とは、工具の位置を示す引数、工具の移動速度を示す引数、補間処理で使用する補間方法を示す引数、などを1つ以上含む指令である。後述するインタラプト加工指令も工具の移動経路に関連する引数を含む指令に該当する。
補間処理部48は、インタラプトタイミング判定部481、インタラプト経路算出部482、加工経路算出部483および移動量算出部484を備える。
インタラプトタイミング判定部481は、加工プログラム432に含まれるインタラプト加工指令を解析処理部45のインタラプト加工指令解析部451が解析して得られる解析結果に基づいて、インタラプト動作を実行するタイミングを判定する。
インタラプト経路算出部482は、インタラプト加工指令を解析処理部45のインタラプト加工指令解析部451が解析して得られる解析結果に基づいて、インタラプト動作中の工具の移動経路を算出する。
加工経路算出部483は、加工プログラム432に含まれる一般指令を解析処理部45の一般指令解析部452が解析して得られる解析結果に基づいて、インタラプト動作を行っていない時の工具の移動経路を算出する。加工経路算出部483が算出する工具の移動経路は、ワークを加工する際の工具の移動経路、すなわち、工具がワークを実際に切削するときの工具の移動経路であり、加工経路に相当する。
移動量算出部484は、インタラプト経路算出部482が算出した工具の移動経路および加工経路算出部483が算出した工具の移動経路と、引数によって指令される工具の移動速度とに基づいて、予め定められた長さの単位時間あたりに工具が移動する距離を示す移動量を、駆動軸ごとに算出する。すなわち、移動量算出部484は、駆動軸ごとに、単位時間あたりに工具を移動させる距離を算出する。例えば、駆動軸がX軸およびZ軸の2つである場合、移動量算出部484は、X軸に沿って単位時間あたりに工具が移動する距離を示すX軸の移動量と、Z軸に沿って単位時間あたりに工具が移動する距離を示すZ軸の移動量とを算出する。移動量算出部484は、算出した各駆動軸の移動量を加減速処理部49に出力する。
加減速処理部49は、補間処理部48の移動量算出部484から受け取った各駆動軸の移動量を、予め指定された加減速パターンに従って加減速を考慮した単位時間あたりの移動指令に変換する。
軸データ出力部50は、加減速処理部49から出力される単位時間あたりの移動指令を、各駆動軸を制御するサーボ制御部13(X軸サーボ制御部13X,Z軸サーボ制御部13Z,…)に出力する。なお、各サーボ制御部13は、加減速処理部49から移動指令を受け取ると、受け取った移動指令に従い、サーボモータ11を制御する。
つづいて、インタラプト加工指令について説明する。図2は、実施の形態1にかかる数値制御装置1で実行される加工プログラムに含ませることが可能なインタラプト加工指令の構成例を示す図である。
図2に示したように、本実施の形態では、G150コード91がインタラプト加工指令を示すものとする。また、G150コード91は、引数を示すアドレスとして、X,Z,I,D,R,A,Q,M,E,Pを含ませることが可能な構成である。図2に示したG150コード91の各アドレスのうち、右側にアンダースコア‘_’が付されているものには、アンダースコアの部分に数値が配置される。
数値制御装置1は、インタラプト加工指令を実行してインタラプト動作の実施条件を設定すると、インタラプト加工指令を新たに実行してインタラプト動作の実施条件の設定を変更するか、設定をキャンセルする指令を実行するまで、同じ実施条件でインタラプト動作を繰り返すよう、駆動部10を制御する。設定をキャンセルするための指令の一例は、引数を全て省略したG150コード(G150の単独指令)とすることができる。以下、インタラプト加工指令(G150コード)に含ませることが可能な各アドレスについて説明する。
アドレスXおよびZは、インタラプト動作の対象の軸を指定するために用いられる。XはX軸を示し、ZはZ軸を示す。例えば、G150コードがXを含み、Zを含まない場合、数値制御装置1は、X軸のみを対象としたインタラプト動作を行うよう、駆動部10を制御する。すなわち、数値制御装置1は、工具がX軸方向にのみ移動してワークから離れるよう、駆動部10を制御する。また、G150コードがXおよびZを含む場合、数値制御装置1は、X軸およびZ軸を対象としたインタラプト動作を行うよう、駆動部10を制御する。インタラプト動作で工具が移動する距離は、後述するアドレスRで指定される。設定をキャンセルするための指令として用いる場合を除いて、G150コードは、XおよびZの少なくとも一方を含む必要がある。なお、G150コードがXまたはZのいずれか一方のみを含む場合、後述する各アドレスを用いて指令される指令値に従った動作が不可能となる場合がある。そのため、G150コードにはXおよびZの双方を含ませるのが望ましい。
アドレスIは、インタラプト動作を繰り返すタイミングを指定するために用いられる。具体的には、インタラプト動作を行ってから次にインタラプト動作を行うまでの間の工具の移動量を指定するためにアドレスIが用いられる。Iに添えられる数値が工具の移動量を示す。工具の移動量は、工具が移動する距離または時間で指定可能とする。例えば、移動量を距離で指定された場合、数値制御装置1は、指定された距離だけ工具が移動するごとにインタラプト動作を行うよう、駆動部10を制御する。アドレスIが工具の移動量として距離と時間のどちらを示すかは、アドレスDで指定される。
アドレスDは、移動モード、すなわち、アドレスIが示す移動量が距離と時間のどちらであるかを指定するために用いられる。一例として、本実施の形態では、D0の場合は距離を指定し、D1の場合に時間を指定することとする。
アドレスRは、工具のリフトアップ量、すなわち、工具をワークから引き離す際に工具をどれだけ移動させるかを指定するために用いられる。Rに添えられる数値が工具のリフトアップ量を示す。リフトアップ動作では、指定されたリフトアップ量が示す距離だけ、工具を移動させる。よって、リフトアップ量は、工具をワークから引き離す際の工具の移動量である。リフトアップ量は、通常、加工時の工具の切り込み量よりも大きな値を指定する。これにより、リフトアップ動作時に工具がワークから離れることになり、工具がワークから離れる際に切り屑が分断される。
アドレスAは、工具のリフトアップ角度、すなわち、工具をリフトアップする時の角度を指定するために用いられる。Aに添えられる数値が工具のリフトアップ角度を示す。角度は、加工中の工具の移動方向に対する角度とする。例えば、工具がX軸と平行に移動しながら加工を行っている場合、アドレスAで指定する角度は、X軸に対する角度となる。
アドレスQは、リフトアップ後のドウェル時間、すなわち、上記のアドレスRで指定されたリフトアップ量だけ工具をリフトアップした後、工具が移動を停止した状態を維持する時間の長さを指定するために用いられる。Qに添えられる数値がリフトアップ後のドウェル時間を示す。ドウェル時間の指定は主軸の回転数で行う。例えば、「Q1」の場合のドウェル時間は、主軸が1回転するのに要する時間となる。数値制御装置1は、工具のリフトアップが終了した後、リフトアップ後のドウェル時間として指定された時間が経過すると(指定された数だけ主軸が回転すると)、工具のリフトダウンを開始するよう、駆動部10を制御する。
アドレスMは、リフトダウン戻り位置、すなわち、リフトダウン動作で工具をどの位置に戻すかを指定するために用いられる。Mに添えられる数値がリフトダウン戻り位置を示す。リフトダウン戻り位置は、リフトアップを開始した時点の工具の位置から、リフトダウンで工具が戻る位置までの距離(戻り量)を示す。アドレスMを省略した場合、数値制御装置1は、リフトアップを開始した位置と同じ位置に工具が戻るよう、駆動部10を制御する。
アドレスEは、工具のリフトアップ速度、すなわち、リフトアップする時の工具の移動速度を指定するために用いられる。Eに添えられる数値が工具のリフトアップ速度を示す。なお、リフトダウンする時の工具の移動速度はリフトアップする時の工具の移動速度と同じとする。
アドレスPは、工具をリフトダウンさせる時の工具の経路を直線形状と円弧形状のどちらとするかを指定するために用いられる。インタラプト加工指令にアドレスPが含まれる場合、数値制御装置1は、リフトダウン時の工具経路の形状が円弧となるよう、駆動部10を制御する。一方、インタラプト加工指令にアドレスPが含まれない場合、数値制御装置1は、リフトダウン時の工具経路の形状が直線となるよう、駆動部10を制御する。
つづいて、本実施の形態にかかる数値制御装置1が実現する加工動作の具体例について、図3および図4を用いて説明する。図3は、実施の形態1にかかる数値制御装置1が工作機械を制御して行う加工動作の第1の例を示す図である。図4は、図3に示した加工動作を実現する加工プログラムの一例を示す図である。
図3において、「i」はリフトアップ間隔を示し、「a」はリフトアップ角度を示し、「r」はリフトアップ量を示す。また、図3に示した<1>〜<6>は、図4に示した<1>〜<6>に対応する。図3に示すように、リフトアップ角度は、工具が移動してきた加工経路とリフトアップするときの工具の移動経路との間の角度を言う。本実施の形態では、リフトアップ角度は0°より大きく、90°以下である。
図4に示した加工プログラム92において、「G0」は位置決め指令を示す。「G0」に続く「X400」、「Z10」などが各駆動軸の位置を示す。アドレスXがX軸に対応し、アドレスZがZ軸に対応する。「T0101」は工具指令を示す。Tに続く最初の2桁が工具番号を示し、残りの2桁が工具の位置を補正するためのオフセット量を示す。
シーケンス番号N01の「G150」は上述したインタラプト加工指令である。図4に示した例では、引数として、「X」,「Z」,「I40.」,「D0」,「R20.」,「A45.」,「Q1」,「E10.」が含まれる。このインタラプト加工指令では、インタラプト動作の対称軸としてX軸およびZ軸が指定され、工具が40mm移動するごとにインタラプト動作を実行するよう指定されている。すなわち、インタラプト動作を実施する間隔の指定が40mmとされている。また、工具のリフトアップ量が20mmに指定され、工具のリフトアップ角度が45°に指定され、工具のリフトアップ速度が10mm/revに指定されている。また、リフトアップ後のドウェル時間が主軸1回転相当の時間に指定され、リフトダウンでは、リフトアップ開始位置に戻る経路が直線経路に指定されている。数値制御装置1は、インタラプト加工指令を実行すると、指令に含まれる引数で指定された条件に従ってインタラプト動作を行うよう動作設定を行い、駆動部10の制御を開始する。
シーケンス番号N02〜N06に対応する指令は、直線補間の指令である。シーケンス番号N02の「G01 Z−100. F2.」において、「Z−100.」は、工具のZ軸上の座標を示す指令値、「F2.」は主軸1回転あたりの工具の送り速度を示す指令値である。具体的には、「G01 Z−100. F2.」は、Z軸上の座標が−100となるまで、送り速度2mm/revで工具を移動させることを示す直線補間の指令である。なお、工具のX軸上の座標は変化しないため、シーケンス番号N02の指令では、工具のX軸上の座標を示す指令値が省略されている。数値制御装置1がシーケンス番号N02の指令を実行することによって、図3に示した<2>の区間を工具が移動する。ここで、数値制御装置1は、シーケンス番号N02の指令を実行する前に、インタラプト加工指令を実行している。そのため、数値制御装置1は、図3に示した<2>の区間を工具が移動している間にインタラプト動作の実施条件が満たされると、すなわち、工具の移動量がインタラプト間隔で指定された移動量に達すると、インタラプト動作を実施して工具をリフトアップさせる。図3および図4に示した例では、数値制御装置1は、工具を40mm移動させるごとに、リフトアップ角度45°で工具をリフトアップさせる。リフトアップ角度は、工具の移動方向の逆方向に対する角度である。このときの工具のリフトアップ速度は10mm/rev、リフトアップ量は20mmである。また、数値制御装置1は、工具を20mmリフトアップさせた後、主軸が1回転するまで工具を停止させ、工具を元の位置、すなわち、リフトアップの開始位置に戻す。このとき、数値制御装置1は、移動距離が最短となる直線経路で工具が元の位置に戻るよう、駆動部10を制御する。<2>の区間で工具が移動する距離は110mmであるため、この区間ではインタラプト動作を2回行うことになる。
また、シーケンス番号N03の「X200. Z−150.」は、X軸上の座標が200となり、Z軸上の座標が−150となるまで、送り速度2mm/revで工具を移動させることを示す直線補間の指令である。なお、「X200. Z−150.」は、直前のシーケンス番号N02と同じ直線補間の指令であるため、直線補間の指令を示す「G01」を省略している。また、送り速度の変更が無いため、送り速度の指令値「F2.」も省略している。数値制御装置1がシーケンス番号N03の指令を実行することによって、図3に示した<3>の区間を工具が移動する。このとき、<2>の区間を工具が移動する場合と同様に、数値制御装置1は、インタラプト動作の実施条件が満たされると、工具をリフトアップさせる。数値制御装置1は、上述した<2>の区間と同様の方法で、工具をリフトアップさせる。<3>の区間ではインタラプト動作を1回行う。
シーケンス番号N04の「X150. Z−200.」は、X軸上の座標が150となり、かつZ軸上の座標が−200となるまで、送り速度2mm/revで工具を移動させることを示す直線補間の指令である。シーケンス番号N03の指令と同様に、「G01」および「F2.」が省略されている。数値制御装置1がシーケンス番号N04の指令を実行することによって、図3に示した<4>の区間を工具が移動する。このとき、<2>および<3>の区間を工具が移動する場合と同様に、数値制御装置1は、インタラプト動作の実施条件が満たされると、工具をリフトアップさせる。数値制御装置1は、上述した<2>および<3>の区間と同様の方法で、工具をリフトアップさせる。<4>の区間ではインタラプト動作を1回行う。
シーケンス番号N05の「Z−300.」は、Z軸上の座標が−300となるまで、送り速度2mm/revで工具を移動させることを示す直線補間の指令である。シーケンス番号N03の指令と同様に、「G01」および「F2.」が省略されている。数値制御装置1がシーケンス番号N05の指令を実行することによって、図3に示した<5>の区間を工具が移動する。このとき、<2>〜<4>の区間を工具が移動する場合と同様に、数値制御装置1は、インタラプト動作の実施条件が満たされると、工具をリフトアップさせる。数値制御装置1は、上述した<2>〜<4>の区間と同様の方法で、工具をリフトアップさせる。<5>の区間ではインタラプト動作を2回行う。
シーケンス番号N06の「X300.」は、X軸上の座標が300となるまで、送り速度2mm/revで工具を移動させることを示す直線補間の指令である。シーケンス番号N03の指令と同様に、「G01」および「F2.」が省略されている。数値制御装置1がシーケンス番号N06の指令を実行することによって、図3に示した<6>の区間を工具が移動する。このとき、<2>〜<5>の区間を工具が移動する場合と同様に、数値制御装置1は、インタラプト動作の実施条件が満たされると、工具をリフトアップさせる。数値制御装置1は、上述した<2>〜<5>の区間と同様の方法で、工具をリフトアップさせる。<6>の区間ではインタラプト動作を2回行う。
シーケンス番号N07の「G150」は、引数が全て省略されているため、インタラプト加工の終了、すなわち、インタラプト動作をキャンセルするためのキャンセル指令である。数値制御装置1は、シーケンス番号N07のキャンセル指令を実行すると、インタラプト動作の実施条件の設定をキャンセルする。
つづいて、本実施の形態にかかる数値制御装置1が実現する加工動作の第2の例について、図5および図6を用いて説明する。図5は、実施の形態1にかかる数値制御装置1が工作機械を制御して行う加工動作の第2の例を示す図である。図6は、図5に示した加工動作を実現する加工プログラムの一例を示す図である。
図5において、「i」はインタラプト動作を実施する間隔であるリフトアップ間隔を示し、「a」はリフトアップ角度を示し、「r」はリフトアップ量を示す。また、図5に示した<1>〜<6>は、図6に示した<1>〜<6>に対応する。
図6に示した加工プログラム93のシーケンス番号N01の指令よりも前の指令は図4に示した加工プログラム92と同様であるため、説明を省略する。
シーケンス番号N01の「G150」は上述したインタラプト加工指令である。図6に示した例では、引数として、「X」,「Z」,「I40.」,「D0」,「R20.」,「A45.」,「E10.」,「P」が含まれる。このインタラプト加工指令では、インタラプト動作の対称軸としてX軸およびZ軸が指定され、工具が40mm移動するごとにインタラプト動作を実行するよう指定されている。すなわち、インタラプト動作を実施する間隔の指定が40mmとされている。また、工具のリフトアップ量が20mmに指定され、工具のリフトアップ角度が45°に指定され、工具のリフトアップ速度が10mm/revに指定されている。以上の条件は、図3に示した第1の例におけるインタラプト動作と同様である。一方、リフトアップ後のドウェル時間は指定されていない。また、リフトダウンでは、リフトアップの開始位置に戻る経路が円弧に指定されている。数値制御装置1は、インタラプト加工指令を実行すると、指令に含まれる引数で指定された条件に従ってインタラプト動作を行うよう動作設定を行い、駆動部10の制御を開始する。
図6に示したシーケンス番号N02〜N04の指令は、図4に示した同じシーケンス番号の指令と同一である。そのため、図5に示した<2>〜<4>の区間において工具がワークを加工する時の経路は、図3に示した<2>〜<4>の区間において工具がワークを加工する時の経路と同一である。ただし、インタラプト動作の条件が一部異なるため、インタラプト動作時の工具の経路、具体的には、リフトダウンする時の工具の経路が、図3に示した第1の例とは異なる。
図5および図6に示した例の場合、数値制御装置1は、工具を40mm移動させるごとに、リフトアップ角度45°で、かつリフトアップ速度10mm/revで、リフトアップ量20mmだけ工具をリフトアップさせる。ここまでの動作は図3および図4に示した例と同様である。数値制御装置1は、リフトアップ量20mmだけ工具をリフトアップさせた後、すぐに、工具を元の位置、すなわち、リフトアップの開始位置に戻す。数値制御装置1は、このときの工具の経路が円弧となるよう、駆動部10を制御する。数値制御装置1は、リフトダウンを開始する時点の工具の座標と、工具の元の位置の座標(リフトダウン終了時点の工具の座標)とを用いて、円弧補間により工具の経路を求める。リフトアップした工具が元の位置に戻る経路を円弧とする場合、工具とワークが再度接触する際にワークの表面に筋目がつきにくくすることができ、加工精度の向上を実現できる。
図6に示したシーケンス番号N05の「Z−230.」は、Z軸上の座標が−230となるまで、送り速度2mm/revで工具を移動させることを示す直線補間の指令である。数値制御装置1が図6に示したシーケンス番号N05の指令を実行することによって、図5に示した<5>の区間を工具が移動する。ここで、図5の<5>の区間で工具が移動する距離は30mmであり、インタラプト加工指令で指定されたインタラプト動作の実施間隔40mmよりも短い。そのため、図5の<5>の区間ではリフトアップを行わない。
図6に示したシーケンス番号N06の「G02 X300. Z−300. I70. F2.」は、X軸上の座標が300となり、かつZ軸上の座標が−300となるまで、送り速度2mm/revで工具を移動させることを示す、時計回りの円弧補間の指令である。数値制御装置1が図6に示したシーケンス番号N06の指令を実行することによって、図5に示した<6>の区間を工具が移動する。この場合も、数値制御装置1は、インタラプト動作の実施間隔に設定された40mmだけ工具が移動するごとに、インタラプト動作を実施する。この時のリフトアップ角度は、リフトアップを開始する時点の工具の位置における円弧の接線に対する角度とする。図5に示した<6>の区間では、リフトアップを2回行うことになる。
図6に示したシーケンス番号N07の「G150」は、図4に示したシーケンス番号N07の「G150」と同様の指令(キャンセル指令)である。
つづいて、本実施の形態にかかる数値制御装置1が実現する加工動作の第3の例について、図7を用いて説明する。図7は、実施の形態1にかかる数値制御装置1が工作機械を制御して行う加工動作の第3の例を示す図である。
図7に示した第3の例は、図3に示した第1の例と比較して、リフトアップを行った後の工具の戻り位置が異なる。すなわち、図7に示した例の場合、数値制御装置1は、リフトアップを開始した位置から、インタラプト加工指令のリフトダウン戻り位置(アドレスM)で指定された距離mだけ後退した位置に工具を戻す。例えば、図7に示したm=5(リフトアップ戻り位置が5mm)の場合、第3の例の加工を行うためには、第1の例の加工を行うための加工プログラム(図4に示した加工プログラム92)のシーケンス番号N01の「G150 X Z I40. D0 R20. A45. Q1 E10.」を「G150 X Z I40. D0 R20. A45. Q1 M5 E10.」とすればよい。図7に示したような、リフトアップした工具を元の位置(リフトアップを開始した位置)よりも後退した位置に戻して加工を再開する場合、リフトアップを行っても切りくずが切り落とされずにワーク上に残っていたとしても、加工を再開する際に、残っていた切りくずを切り落とすことができる。
つづいて、本実施の形態にかかる数値制御装置1の構成要素のうち、上述したインタラプト加工指令に従って工作機械を制御する動作を実現するための構成要素、具体的には、解析処理部45および補間処理部48について、詳しく説明する。
図8は、実施の形態1にかかる数値制御装置1が備える解析処理部45の動作の一例を示すフローチャートである。解析処理部45は、例えば、加工プログラム432に従って工作機械を制御する動作の開始を指示する操作を入力操作部20がユーザから受け付けると、図8に示した動作を開始する。
解析処理部45は、動作を開始すると、まず、加工プログラム432を記憶部43から読み出して解析する(ステップS11)。具体的には、解析処理部45は、加工プログラム432を解析して1つの指令である1ブロックを読み出す。
解析処理部45は、次に、読み出した指令がインタラプト加工指令であるか否かを確認し(ステップS12)、インタラプト加工指令の場合、すなわち、G150コードである場合(ステップS12:Yes)、インタラプト加工のキャンセル指令に該当するか否かを確認する(ステップS13)。このステップS13および後述するステップS14〜S16の処理は、インタラプト加工指令解析部451が行う。インタラプト加工指令解析部451は、G150コードがアドレスXなどの引数を一切含まない単独指令の場合、キャンセル指令に該当すると判断する。
インタラプト加工指令解析部451は、キャンセル指令に該当しない場合(ステップS13:No)、インタラプト加工指令から指令値を抽出する(ステップS14)。ここでの指令値とは、インタラプト加工指令に含まれる引数で与えられる情報であり、例えば、アドレスXおよびZで示されるインタラプト動作の対象の軸を示す情報、アドレスIで示されるインタラプト動作を繰り返すタイミングの情報、などが該当する。
インタラプト加工指令解析部451は、次に、ステップS14で抽出した指令値を用いて、インタラプト動作の実施条件を設定する(ステップS15)。具体的には、インタラプト加工指令解析部451は、抽出した指令値を、記憶部43の共有エリア434に書き込むことで、インタラプト動作の実施条件を設定する。このとき、インタラプト加工指令解析部451は、各指令値を、共有エリア434内の予め定められた領域に書き込む。なお、インタラプト動作の実施条件が既に設定されている状態でインタラプト加工指令解析部451がステップS15を実行すると、インタラプト動作の実施条件が更新される。
また、インタラプト加工指令解析部451は、読み出した指令がインタラプト加工のキャンセル指令に該当する場合(ステップS13:Yes)、インタラプト動作の実施条件の設定を解除する(ステップS16)。具体的には、インタラプト加工指令解析部451は、記憶部43の共有エリア434に書き込まれている、インタラプト動作の実施条件を消去する。なお、インタラプト動作の実施条件の設定が有効であることを示すフラグを共有エリア434内に設けておき、このフラグをインタラプト加工指令解析部451がクリアすることで、インタラプト動作の実施条件の設定を解除するようにしてもよい。この場合、インタラプト加工指令解析部451は、上記のステップS15において、インタラプト加工指令から抽出した指令値を共有エリア434へ書き込む処理と、インタラプト動作の実施条件の設定が有効であることを示すフラグを設定する処理とを行う。
また、解析処理部45は、加工プログラム432を解析して読み出した指令がインタラプト加工指令ではない場合(ステップS12:No)、読み出した指令から指令値を抽出し(ステップS17)、抽出した指令値に従い、ワークを加工する動作の動作条件を設定する(ステップS18)。これらのステップS17およびS18は、一般指令解析部452が行う。例えば、読み出した指令が直線補間の指令であるG01コードの場合、一般指令解析部452は、ステップS17において、工具の座標を示す指令値および工具の送り速度を示す指令値を抽出する。また、一般指令解析部452は、ステップS18において、抽出した指令値を、共有エリア434内の予め定められた領域に書き込むことで、動作条件を設定する。このとき、一般指令解析部452は、読み出した指令を示す情報、すなわち、直線補間の指令を示す情報も共有エリア434に書き込む。一般指令解析部452は、読み出した指令がG01コードで示される直線補間の指令とは異なる場合も同様に、読み出した指令から指令値を抽出し、抽出した指令値と、読み出した指令の種類を示す情報とを共有エリア434内の予め定められた領域に書き込むことにより、動作条件を設定する。なお、ワークを加工する動作の動作条件は、一般指令解析部452がステップS18を実行するごとに更新される。以下の説明では、「指令の種類を示す情報」を単に「指令の種類」と記載する場合がある。
解析処理部45は、ステップS15、S16およびS18を実行した後は、ステップS11に戻り、次の指令を読み出して動作を継続する。
図9は、実施の形態1にかかる数値制御装置1が備える補間処理部48の動作の一例を示すフローチャートである。図9のフローチャートは、数値制御装置1が工作機械の駆動部10を制御してワークを加工する場合の補間処理部48の動作を示す。
補間処理部48は、例えば、記憶部43の共有エリア434に書き込まれている情報を定期的に確認し、工具の座標を示す指令値が更新されたことを検出すると、図9に示した動作を開始する。
補間処理部48は、動作を開始すると、共有エリア434に書き込まれている指令値が示す位置へ工具を移動させる制御を開始する(ステップS21)。ステップS21において、補間処理部48は、共有エリア434に書き込まれている情報のうち、指令の種類、工具の各駆動軸の座標を示す指令値および工具の送り速度を示す指令値といった情報に基づいて、駆動部10に対する制御情報を生成する。具体的には、まず、加工経路算出部483が、指令の種類と、工具の各駆動軸の座標を示す指令値と、工具の現在位置とに基づいて、指令値が示す位置である指令位置までの工具の移動経路を算出する。次に、移動量算出部484が、加工経路算出部483で算出された移動経路と、工具の送り速度とに基づいて、単位時間あたりの工具の移動量を、駆動軸ごとに算出する。移動量算出部484は、駆動軸ごとに算出した単位時間あたりの工具の移動量を加減速処理部49に出力する。
補間処理部48は、次に、インタラプト動作の実施条件が設定されているか否かを確認し(ステップS22)、実施条件が設定されていない場合(ステップS22:No)、指令位置まで工具を移動させ(ステップS26)、動作を終了する。
一方、インタラプト動作の実施条件が設定されている場合(ステップS22:Yes)、補間処理部48は、インタラプト動作の実施タイミングか否かを確認する(ステップS23)。インタラプト動作の実施タイミングか否かの確認は、インタラプトタイミング判定部481が行う。ステップS23において、インタラプトタイミング判定部481は、工具が移動を開始してからの工具の移動量、または、インタラプト動作を前回実施してからの工具の移動量が、共有エリア434に書き込まれているインタラプト動作の実施条件に設定されているインタラプト間隔が示す移動量に達したか否かを確認する。インタラプトタイミング判定部481は、工具の移動量が、インタラプト間隔が示す移動量に達した場合、インタラプト動作の実施タイミングと判断する。
補間処理部48は、インタラプト動作の実施タイミングである場合(ステップS23:Yes)、インタラプト動作を実施させる(ステップS24)。すなわち、補間処理部48は、工作機械にインタラプト動作を実施させるための制御情報を生成する。具体的には、まず、インタラプト経路算出部482が、インタラプト動作の実施条件に含まれる各指令値に従い、インタラプト動作中の工具の経路を算出する。例えば、解析処理部45が図4に示した加工プログラム92のシーケンス番号N01のインタラプト指令を読み出してインタラプト動作の実施条件を設定した状態の場合、インタラプト経路算出部482は、図3に示したインタラプト動作となるような工具の経路を算出する。次に、移動量算出部484が、インタラプト経路算出部482で算出された工具の経路と、インタラプト動作の実施条件が示すリフトアップ速度とに基づいて、単位時間あたりの工具の移動量を、駆動軸ごとに算出する。移動量算出部484は、駆動軸ごとに算出した単位時間あたりの工具の移動量を加減速処理部49に出力する。ステップS24において、移動量算出部484は、インタラプト動作が終了するまで、すなわち、インタラプト動作の実施条件が示す位置に工具が戻るまで、単位時間あたりの工具の移動量を算出して加減速処理部49に出力する処理を繰り返す。
補間処理部48は、ステップS24でのインタラプト動作が終了すると、ステップS23に戻る。また、補間処理部48は、インタラプト動作の実施タイミングではない場合(ステップS23:No)、指令位置に工具が到着したか否かを確認する(ステップS25)。補間処理部48は、指令位置に工具が到着していない場合(ステップS25:No)、ステップS23に戻る。補間処理部48は、指令位置に工具が到着した場合(ステップS25:Yes)、動作を終了する。
つづいて、本実施の形態にかかる数値制御装置1が実現するインタラプト動作のバリエーションについて説明する。
図10は、実施の形態1にかかる数値制御装置1を適用して行うインタラプト動作の第1の例を示す図である。
図10に示したインタラプト動作は、インタラプト加工指令が、リフトダウン時の戻り量(m)を指定する引数と、リフトダウン時の工具経路の形状として円弧を指定する引数とを含む場合に対応する。図2を用いて説明したように、リフトダウン時の戻り量はアドレスMを用いて指定し、リフトダウン時の工具経路の形状(円弧軌跡)はアドレスPを用いて指定する。リフトダウン時の円弧軌跡は、リフトアップを完了した時点の工具の位置とリフトダウンを完了する時点の工具の位置を通り、かつ、リフトダウンを完了する時点の工具位置での接線が、直線補間指令に対応する直線と同じになる軌跡である。
図10に示したインタラプト動作を実施すると、リフトアップ時に切りくずの残りがワークに残っていた場合に、切りくずの残りを旋削で切り落とすことができる。また、工具がリフトダウンしてワークと再接触する際にワークに筋がつきにくくなる。
図11は、実施の形態1にかかる数値制御装置1を適用して行うインタラプト動作の第2の例を示す図である。
図11に示したインタラプト動作は、インタラプト加工指令が、リフトダウン時の戻り量(m)を指定する引数と、リフトダウン時の工具経路の形状として円弧を指定する引数とを含まない場合であって、かつ円弧補間指令(G02コード)に従い加工を行う場合に対応する。図11に示した例では、工具が円弧に沿って、指定されたリフトアップ間隔だけ移動するごとにリフトアップを行う。リフトアップ角度は、工具がリフトアップを開始する位置での接線に対する角度となる。
図11に示したインタラプト動作を実施すると、加工の所要時間であるサイクルタイムがインタラプト動作の実行に伴い伸びるのを最小限に抑えることができる。
図12は、実施の形態1にかかる数値制御装置1を適用して行うインタラプト動作の第3の例を示す図である。
図12に示したインタラプト動作は、インタラプト加工指令が、リフトダウン時の戻り量(m)を指定する引数を含み、かつ円弧補間指令(G02コード)に従い加工を行う場合に対応する。図11に示したインタラプト動作との違いは、リフトダウンで工具が戻る位置である。図12に示した例では、リフトアップを開始した位置から指定された戻り量mだけ後退した位置に工具を戻す。
図12に示したインタラプト動作を実施すると、リフトアップ時に切りくずの残りがワークに残っていた場合に、切りくずの残りを旋削で切り落とすことができる。
図13は、実施の形態1にかかる数値制御装置1を適用して行うインタラプト動作の第4の例を示す図である。
図13に示したインタラプト動作は、インタラプト加工指令が、リフトダウン時の戻り量(m)を指定する引数と、リフトダウン時の工具経路の形状として円弧を指定する引数とを含み、かつ円弧補間指令(G02コード)に従い加工を行う場合に対応する。図12に示したインタラプト動作との違いは、リフトダウン時の工具経路の形状である。図13に示した例では、リフトダウン時の工具経路の形状が円弧軌跡となる点である。リフトダウン時の円弧軌跡は、リフトアップを完了した時点の工具の位置とリフトダウンを完了する時点の工具の位置を通り、かつ、リフトダウンを完了する時点の工具位置での接線が、円弧補間指令に対応する円弧の接線となる軌跡である。
図13に示したインタラプト動作を実施すると、図10に示したインタラプト動作を実施する場合と同様に、リフトアップ時に切りくずの残りがワークに残っていた場合に、切りくずの残りを旋削で切り落とすことができる。また、工具がリフトダウンしてワークと再接触する際にワークに筋がつきにくくなる。
ここで、数値制御装置1が備える制御演算部40のハードウェア構成について説明する。図14は、実施の形態1にかかる数値制御装置1が備える制御演算部40のハードウェア構成例を示す図である。
制御演算部40は、図14に示したプロセッサ101およびメモリ102により実現することができる。プロセッサ101の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ102の例は、RAM(Random Access Memory)またはROM(Read Only Memory)である。
制御演算部40は、プロセッサ101が、メモリ102で記憶されている、制御演算部40の動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、制御演算部40の手順または方法をコンピュータに実行させるものであるともいえる。メモリ102は、プロセッサ101が各種処理を実行する際の一時メモリにも使用される。
プロセッサ101が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な(non-transitory)記録媒体を有するコンピュータプログラムプロダクトであってもよい。プロセッサ101が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
また、制御演算部40を専用のハードウェアで実現してもよい。また、制御演算部40の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
以上のように、本実施の形態にかかる数値制御装置1は、新たに定義されるインタラプト加工指令を読み込み、この指令に含まれる各種指令値で指令される動作、具体的には、ワークの加工を一時的に中断し、工具をワークから引き離した後、工具をワークに再度接触させて加工を再開するインタラプト動作を行うよう、工作機械に設けられた駆動部10を制御する。これにより、インタラプト動作で工具がワークから離れる際に、切りくずをワークから分断することができる。また、インタラプト動作の実施条件はインタラプト加工指令を用いて指定されるため、主軸の回転数を変更しても、インタラプト動作は影響を受けない。すなわち、数値制御装置1は、主軸の回転数の設定値が変更された場合も、同じ実施条件でインタラプト動作を継続させることができ、加工によって発生する切りくずを、主軸の回転数の設定値の影響を受けることなく安定して分断する動作を実現できる。
実施の形態2.
実施の形態1では、ワークの外側を加工する場合のインタラプト動作を説明したが、旋削加工によって、図15に示すような、ワークに孔などを設ける場合がある。このような加工は中ぐり加工と呼ばれる。ここで、中ぐり加工においてインタラプト動作を実施して切りくずをワークから分断する場合、図16に示したような問題が発生する可能性がある。すなわち、中ぐり加工を行っている最中に、実施の形態1で説明したインタラプト動作を実施すると、工具である中ぐりバイトをリフトアップした際に、図16に示すように工具と加工対象物であるワークが干渉する可能性がある。干渉が発生すると、加工精度が劣化する、工具が破損する、などの弊害が起こり得る。
そのため、本実施の形態では、上記のような問題が発生した場合に、インタラプト動作の実施条件を自ら変更して問題を解決することが可能な数値制御装置について説明する。なお、工具とワークが干渉する問題は、中ぐり加工を行う場合に限らない。例えば、図17に示したような加工を行う場合にも発生する。図17においては、矢印がインタラプト動作時の工具の経路を示している。図17に示した例の場合、インタラプト動作の実施条件に含まれるリフトアップ間隔、リフトアップ角度およびリフトアップ量の設定値の関係から、破線の矢印に対応するインタラプト動作で工具をリフトアップした際に干渉が発生する。
図18は、実施の形態2にかかる数値制御装置1aの構成例を示す図である。数値制御装置1aは、実施の形態1にかかる数値制御装置1に動作条件変更部51を追加した構成である。
動作条件変更部51は、インタラプト動作において工具とワークの干渉が発生したときに行う、インタラプト動作の実施条件の変更方法を学習する。具体的には、動作条件変更部51は、インタラプト動作中に工具とワークの干渉が発生する状態を学習し、学習結果を使用してインタラプト動作の実施条件を変更する。動作条件変更部51は、例えば機械学習装置で実現される。インタラプト動作の実施条件の例は、工具のリフトアップ量である。以下、工具のリフトアップ量がインタラプト動作の実施条件である場合を例として、動作条件変更部51の説明を行う。動作条件変更部51は、状態観測部511および学習部512を備える。
状態観測部511は、軸データ出力部50が出力する電流値(j)と、補間処理部48が出力するインタラプト中情報(int)と、解析処理部45が出力するリフトアップ量(r)とを状態変数として観測する。電流値(j)は、駆動部10のサーボモータ11および主軸モータ14に流れる電流の値を示す。インタラプト中情報(int)は、インタラプト動作を実施中か否かを示す。リフトアップ量(r)は、インタラプト動作を行うときの工具のリフトアップ量を示す。軸データ出力部50が出力する電流値(j)は、工具とワークの干渉が発生すると急激に大きくなる。そのため、状態観測部511は、インタラプト中情報(int)がインタラプト動作の実施中を示しているときに電流値(j)が急激に大きくなった場合、工具とワークの干渉が発生したと判断する。
学習部512は、インタラプト中情報(int)、リフトアップ量(r)および電流値(j)の状態変数に基づいて作成される訓練データセットに従って、リフトアップ量の変更方法を学習する。すなわち、学習部512は、状態観測部511によるインタラプト中情報(int)、リフトアップ量(r)および電流値(j)の観測結果がどのような内容となった場合にリフトアップ量をどのように変更すべきかを学習する。
学習部512が上記の学習を行う際に用いる学習アルゴリズムはどのようなものであってもよい。一例として、強化学習(Reinforcement Learning)を適用した場合について説明する。強化学習は、ある環境内におけるエージェント(行動主体)が、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q−learning)やTD学習(TD−learning)が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式(行動価値テーブル)は式(1)で表される。
Figure 0006661062
式(1)において、stは時刻tにおける環境を表し、atは時刻tにおける行動を表す。行動atにより、環境はst+1に変わる。rt+1はその環境の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。Q学習を適用した場合、インタラプト動作の実施条件の変更(リフトアップ量の変更)が行動atとなる。
式(1)で表される更新式は、時刻t+1における最良の行動aの行動価値Qが、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
学習部512は、報酬計算部513と、関数更新部514と、をさらに備えている。
報酬計算部513は、インタラプト中情報(int)、リフトアップ量(r)および電流値(j)に基づいて、報酬(k)を計算する。例えば、インタラプト動作を実施中に電流値(j)が急激に大きくなった場合には報酬(k)を低減させる。報酬計算部513は、例えば、「−1」の報酬を与えることで、報酬(k)を低減させる。他方、インタラプト動作を実施中に電流値(j)が大きく変化しない場合には、「1」の報酬を与えることで、報酬(k)を増加させる。なお、学習に用いるリフトアップ中情報、リフトアップ量(r)および電流値(j)は、公知の方法に従って抽出される。「−1」の報酬のときは、ワークと工具が干渉したと判定して最低報酬になる。
関数更新部514は、報酬計算部513によって計算される報酬に従って、行動(n)すなわち、インタラプト動作の実施条件の変更内容(リフトアップ量(r)の変更内容)を決定するための関数を更新する。例えばQ学習の場合、式(1)で表される行動価値関数Q(st,at)を行動(リフトアップ量(r)の変更内容)を決定するための関数として用いる。例えば、学習部512は、報酬が最大となるリフトアップ量(r)の変更量を決定する。決定した変更量を用いて更新されたリフトアップ量(r)は、学習部512から補間処理部48のインタラプト経路算出部482に行動(n)として伝えられる。インタラプト経路算出部482は、学習部512から与えられた更新後のリフトアップ量(r)を使用して、インタラプト動作中の工具の移動経路を算出する。
以上の手順により、数値制御装置1aの動作条件変更部51は、リフトアップ量(r)の変更量を決定し、報酬(k)が最大となるよう、リフトアップ量(r)を変更する。数値制御装置1aの動作条件変更部51以外の構成要素は、実施の形態1にかかる数値制御装置1が備える、同じ符号が付された構成要素と同様の処理を実行する。そのため、動作条件変更部51以外の構成要素については説明を省略する。
図19は、実施の形態2にかかる数値制御装置1aが備える動作条件変更部51の動作の一例を示すフローチャートである。
図19に示したように、動作条件変更部51は、インタラプト動作を実施中か否かを監視し(ステップS31)、実施中ではない場合(ステップS31:No)、監視を継続する。動作条件変更部51は、インタラプト中情報(int)を確認することにより、インタラプト動作を実施中か否かを判定する。動作条件変更部51は、インタラプト動作を実施中の場合(ステップS31:Yes)、工具とワークの干渉が発生したか否かを確認する(ステップS32)。動作条件変更部51は、電流値(j)が急激に大きくなった場合、干渉が発生したと判断する。動作条件変更部51は、干渉が発生していない場合(ステップS32:No)、ステップS31に戻って動作を継続する。
これに対して、工具とワークの干渉が発生した場合(ステップS32:Yes)、動作条件変更部51は、干渉の発生条件を学習する(ステップS33)。動作条件変更部51は、例えば、干渉の発生条件をリフトアップ量(r)および電流値(j)を用いて学習する。
動作条件変更部51は、次に、ステップS33での学習結果に基づいて、インタラプト動作の実施条件を変更する(ステップS34)。ステップS34で変更する対象が工具のリフトアップ量である場合、動作条件変更部51は、補間処理部48のインタラプト経路算出部482がインタラプト動作中の工具の経路を次回以降に算出する際に使用する工具のリフトアップ量を、現在の値よりも小さい値に変更する。動作条件変更部51は、工具のリフトアップ量の変更量を、電流値(j)に基づいて決定してもよい。動作条件変更部51は、例えば、電流値(j)が急激に大きくなってから小さくなるまでの所要時間が長いほど変更量が大きくなるようにする。動作条件変更部51は、ステップS34を実行した後はステップS31に戻って動作を継続する。
なお、本実施の形態において、動作条件変更部51は、インタラプト動作において工具とワークの干渉が発生したことを検出すると、干渉が発生しないように、工具のリフトアップ量を変更することとしたが、これに限定されない。動作条件変更部51は、工具とワークの干渉発生を検出した場合に工具のリフトアップ角度を変更するようにしてもよい。また、工具のリフトアップ量および工具のリフトアップ角度の双方を変更するようにしてもよい。すなわち、動作条件変更部51は、工具とワークの干渉が発生した場合、工具のリフトアップ量および工具のリフトアップ角度の少なくとも一方を変更する。
また、本実施の形態において、動作条件変更部51は、インタラプト動作において工具とワークの干渉が発生したことを検出すると、工具のリフトアップ量を一律に変更する、すなわち、全てのインタラプト動作における工具のリフトアップ量を変更することにしたがこれに限定されない。動作条件変更部51は、繰り返し実行するインタラプト動作のうち、どのインタラプト動作において工具とワークの干渉が発生するかについても学習し、干渉が発生するインタラプト動作においてのみ、工具のリフトアップ量を変更するようにしてもよい。この場合、動作条件変更部51の状態観測部511は、上記のインタラプト中情報(int)、リフトアップ量(r)および電流値(j)に加えて、例えば、数値制御装置1aが実行中の命令のシーケンス番号を観測する。学習部512は、インタラプト中情報(int)、リフトアップ量(r)、電流値(j)および実行中の命令のシーケンス番号を用いて、リフトアップ量の変更方法を学習する。
工具とワークの干渉が発生した場合に動作条件変更部51が全てのインタラプト動作における工具のリフトアップ量を変更する場合、1つのワークの加工が完了するまでの所要時間であるサイクルタイムの短縮化につながる。
実施の形態2にかかる数値制御装置1aが備える制御演算部40aは、実施の形態1にかかる数値制御装置1が備える制御演算部40を実現するハードウェア(図14参照)と同様のハードウェアで実現することができる。
以上のように、本実施の形態にかかる数値制御装置1aは、インタラプト動作を実施したときに工具とワークの干渉が発生する条件を学習し、学習結果を使用してインタラプト動作の実施条件を変更する。これにより、工具とワークが干渉する状態を自動的に解消させることが可能となり、加工精度の劣化、工具の破損などの問題が発生するのを抑制できる。
本実施の形態では、動作条件変更部51が数値制御装置1aの内部に存在する場合について説明したが、動作条件変更部51は数値制御装置1aの外部に存在する構成であってもよい。例えば、外部の機械学習装置が、実施の形態1にかかる数値制御装置1から上記のインタラプト中情報(int)、リフトアップ量(r)および電流値(j)といった学習用データを取得し、インタラプト動作の実施条件の変更方法を学習することで動作条件変更部51を実現してもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1,1a 数値制御装置、10 駆動部、11 サーボモータ、12,15 検出器、13X X軸サーボ制御部、13Z Z軸サーボ制御部、14 主軸モータ、16 主軸サーボ制御部、20 入力操作部、30 表示部、40,40a 制御演算部、41 入力制御部、42 データ設定部、43 記憶部、44 画面処理部、45 解析処理部、46 機械制御信号処理部、47 PLC、48 補間処理部、49 加減速処理部、50 軸データ出力部、51 動作条件変更部、431 パラメータ、432 加工プログラム、433 画面表示データ、434 共有エリア、451 インタラプト加工指令解析部、452 一般指令解析部、481 インタラプトタイミング判定部、482 インタラプト経路算出部、483 加工経路算出部、484 移動量算出部、511 状態観測部、512 学習部、513 報酬計算部、514 関数更新部。

Claims (9)

  1. 加工対象物を加工するための工具を駆動する複数の駆動軸を制御する数値制御装置であって、
    加工プログラムを解析する解析処理部と、
    前記解析処理部による前記加工プログラムの解析結果に基づいて前記加工対象物を切削加工する際の前記工具の移動経路である加工経路を算出する加工経路算出部と、
    前記工具が前記加工経路に沿って移動し、前記加工対象物を加工している途中に繰り返し実行する動作であり、前記工具を前記加工経路から一時的にリフトアップさせるインタラプト動作における前記工具の移動経路を前記解析結果に基づいて算出するインタラプト経路算出部と、
    を備え
    前記インタラプト経路算出部は、前記インタラプト動作において前記工具を前記加工経路に対してリフトアップさせるリフトアップ角度を0°より大きく、90°以下の角度で算出する、
    ことを特徴とする数値制御装置。
  2. 前記解析処理部は、
    前記加工プログラムに含まれる指令のうち、前記インタラプト動作の実施条件を指令する指令値を含んだインタラプト加工指令を解析するインタラプト加工指令解析部、
    を備え、
    前記インタラプト経路算出部は、前記インタラプト加工指令に含まれる指令値に従い前記インタラプト動作における前記工具の移動経路を算出する、
    ことを特徴とする請求項1に記載の数値制御装置。
  3. 前記インタラプト加工指令は、前記工具を前記加工経路からリフトアップさせる際の前記工具の移動量を指令する指令値と、前記工具を前記加工経路からリフトアップさせる際の前記工具の移動方向と前記加工経路との角度を指令する指令値と、を含むことを特徴とする請求項に記載の数値制御装置。
  4. 前記インタラプト加工指令は、前記工具を前記加工経路からリフトアップさせた後に前記工具が前記加工対象物と接触する状態に戻す際に前記工具をどこに戻すかを指令する指令値、を更に含むことを特徴とする請求項に記載の数値制御装置。
  5. 前記インタラプト加工指令は、前記工具を前記加工経路からリフトアップさせた後に前記工具が前記加工対象物と接触する状態に戻す際の前記工具の経路を直線形状と円弧形状のどちらにするかを指令する指令値、を更に含むことを特徴とする請求項またはに記載の数値制御装置。
  6. 前記インタラプト加工指令は、前記工具を前記加工経路からリフトアップさせた後に前記工具が移動を停止した状態を維持する時間の長さを指令する指令値、を更に含むことを特徴とする請求項からのいずれか一つに記載の数値制御装置。
  7. 前記インタラプト動作において前記工具と前記加工対象物の干渉が発生した場合の前記実施条件の変更方法を学習する動作条件変更部、
    を備えることを特徴とする請求項からのいずれか一つに記載の数値制御装置。
  8. 前記動作条件変更部は、
    前記インタラプト動作を実施中に前記工具を移動させるサーボモータに流れる電流値と、前記インタラプト加工指令に含まれる指令値のうち、前記工具を前記加工経路からリフトアップさせる際の前記工具の移動量を指令する指令値と、を使用して前記学習を行う機械学習装置で実現される、
    ことを特徴とする請求項に記載の数値制御装置。
  9. 請求項からのいずれか一つに記載の数値制御装置が実施する前記インタラプト動作において前記工具と前記加工対象物の干渉が発生した場合に、前記インタラプト動作の実施条件の変更方法を学習する機械学習装置であって、
    前記インタラプト動作を実施中に前記工具を移動させるサーボモータに流れる電流値と、前記インタラプト加工指令に含まれる指令値のうち、前記工具を前記加工経路からリフトアップさせる際の前記工具の移動量を指令する指令値と、を使用して前記学習を行うことを特徴とする機械学習装置。
JP2019556997A 2018-12-28 2018-12-28 数値制御装置および機械学習装置 Active JP6661062B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/048575 WO2020136899A1 (ja) 2018-12-28 2018-12-28 数値制御装置および機械学習装置

Publications (2)

Publication Number Publication Date
JP6661062B1 true JP6661062B1 (ja) 2020-03-11
JPWO2020136899A1 JPWO2020136899A1 (ja) 2021-02-18

Family

ID=69998060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019556997A Active JP6661062B1 (ja) 2018-12-28 2018-12-28 数値制御装置および機械学習装置

Country Status (5)

Country Link
US (1) US20220043426A1 (ja)
JP (1) JP6661062B1 (ja)
CN (1) CN113260933B (ja)
DE (1) DE112018008169B4 (ja)
WO (1) WO2020136899A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578755B (zh) * 2022-03-03 2024-04-02 东莞市正森精密零件有限公司 一种具有刀具自动进给补偿功能的数控加工装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06285701A (ja) * 1993-04-05 1994-10-11 Fanuc Ltd Nc旋削加工装置
JPH10124127A (ja) * 1996-10-16 1998-05-15 Mori Seiki Co Ltd Nc旋盤を用いたねじ切り装置及びその方法
WO2004024378A1 (ja) * 2002-09-12 2004-03-25 Kabushiki Kaisha Daido Kikai Seisakusho 鋼管端部の加工方法
JP5599523B1 (ja) * 2013-02-12 2014-10-01 三菱電機株式会社 数値制御装置
JP2015225518A (ja) * 2014-05-28 2015-12-14 ファナック株式会社 切上げ・切込み運動または円運動挿入機能を有する数値制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004011015A1 (de) 2004-03-02 2005-09-15 Brose Fahrzeugteile Gmbh & Co. Kg, Coburg Verfahren zum Überwachen der Verstellbewegung eines von einer Antriebseinrichtung angetriebenen Bauteils
US8240234B2 (en) 2007-10-16 2012-08-14 University Of North Carolina At Charlotte Methods and systems for chip breaking in turning applications using CNC toolpaths
EP3213848A4 (en) * 2014-10-28 2018-07-11 Mitsubishi Electric Corporation Numerical control device
JP6457432B2 (ja) 2016-05-16 2019-01-23 ファナック株式会社 揺動切削を行う工作機械のサーボ制御装置、制御方法及びコンピュータプログラム
JP6499709B2 (ja) 2017-04-14 2019-04-10 ファナック株式会社 揺動切削を行う工作機械の制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06285701A (ja) * 1993-04-05 1994-10-11 Fanuc Ltd Nc旋削加工装置
JPH10124127A (ja) * 1996-10-16 1998-05-15 Mori Seiki Co Ltd Nc旋盤を用いたねじ切り装置及びその方法
WO2004024378A1 (ja) * 2002-09-12 2004-03-25 Kabushiki Kaisha Daido Kikai Seisakusho 鋼管端部の加工方法
JP5599523B1 (ja) * 2013-02-12 2014-10-01 三菱電機株式会社 数値制御装置
JP2015225518A (ja) * 2014-05-28 2015-12-14 ファナック株式会社 切上げ・切込み運動または円運動挿入機能を有する数値制御装置

Also Published As

Publication number Publication date
WO2020136899A1 (ja) 2020-07-02
CN113260933B (zh) 2022-06-07
DE112018008169B4 (de) 2023-02-23
US20220043426A1 (en) 2022-02-10
CN113260933A (zh) 2021-08-13
JPWO2020136899A1 (ja) 2021-02-18
DE112018008169T5 (de) 2021-09-02

Similar Documents

Publication Publication Date Title
US11131979B2 (en) Numerical control device and numerical control method
EP1471404A2 (en) Numerical control apparatus for machine tool
JP2018077778A (ja) 数値制御装置
CN112912804B (zh) 数控装置、机器学习装置及数控方法
JP7015260B2 (ja) 機械の制御装置及び制御方法
JP2019152936A (ja) 工作機械の加工シミュレーション装置
EP3263268B1 (en) Offline teaching device
JP6661062B1 (ja) 数値制御装置および機械学習装置
US20230286169A1 (en) Numerical control system and robot control method
KR100898034B1 (ko) 공구경로 수정 방법
JP2002373008A (ja) 数値制御装置
JP6362795B1 (ja) 加工制御装置及び工作機械、並びに加工制御方法
JP3696805B2 (ja) 工作機械の移動位置設定方法
JP6324616B1 (ja) 数値制御装置
JP5875740B1 (ja) 数値制御装置
JP2006227894A (ja) 切削再開方法、切削加工システム及び切削加工用制御装置
JP4112433B2 (ja) 工作機械の数値制御装置と工作機械の数値制御方法
JP2019003404A (ja) 評価用プログラム、評価方法、及び制御装置
JP6693927B2 (ja) 制御装置
JP6110250B2 (ja) Ncプログラムにおける回転送り軸指令の変化度合いの算出及び表示方法並びに装置
CN106325221A (zh) 事先通知辅助功能的执行的数值控制装置
JP2009110223A (ja) 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体
WO2024105842A1 (ja) 工作機械の制御装置
JP7433570B1 (ja) 数値制御装置および数値制御方法
WO2024127673A1 (ja) 数値制御装置、及びコンピュータが読み取り可能な記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191018

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191018

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200109

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: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6661062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250