(57)【要約】【課題】系統内の軸組合せにインデックスを設定し、このインデックスで適切な補正モデルを選択することができる数値制御装置を提供すること。【解決手段】数値制御装置は、制御軸が識別可能な制御軸情報データから、熱変位補正の実行対象である軸組合せにインデックスを設定し、前記インデックスと一致する補正モデルインデックスを見出すことによって対応する補正モデルを選択する熱変位補正設定部と、熱変位と相関を持つ動作状態データと補正モデルとから補正量を算出する熱変位補正部と、を有する。【選択図】図２
2020059104.tif 000002
【特許請求の範囲】
【請求項１】
制御軸が識別可能な制御軸情報データから、熱変位補正の実行対象である軸組合せにインデックスを設定し、前記インデックスと一致する補正モデルのインデックスを見出すことによって、対応する補正モデルを選択する熱変位補正設定部と、
熱変位と相関を持つ動作状態データと、前記選択した補正モデルと、から補正量を算出する熱変位補正部と、
を有する熱変位補正装置。
【請求項２】
前記熱変位補正設定部は、
前記制御軸情報データに基づき、系統毎に軸組合せを示す対象軸インデックスを生成する対象軸インデックス生成部と、
補正モデルと、補正を行いたい軸組合せを示す補正モデルインデックスとのセットを記憶する補正モデルセット記憶部と、
前記生成された対象軸インデックスと、前記補正モデルインデックスとを比較するインデックス比較部と、
前記インデックス比較部が、前記対象軸インデックスと、前記補正モデルインデックスとが一致した場合に、前記補正モデルインデックスにかかる前記補正モデルを、前記対象軸インデックスが生成された前記系統に対して設定する補正モデル設定部と、
を有する請求項１記載の熱変位補正装置。
【請求項３】
前記対象軸インデックスは、各軸を示す対象軸番号を、少なくとも系統内の軸の数だけ含むベクトルであり、
前記対象軸番号は、系統番号と軸番号とから算出され、対応する軸を識別できる番号である請求項２記載の熱変位補正装置。
【請求項４】
前記補正モデルインデックスは、各軸を示す補正軸番号を、少なくとも系統内の軸の数だけ含むベクトルであり、
前記補正軸番号は、系統番号と軸番号とから算出され、対応する軸を識別できる番号である請求項２記載の熱変位補正装置。
【請求項５】
前記インデックス比較部が、前記対象軸インデックスと一致する前記補正モデルインデックスを見つけられなかった場合に、対応する補正モデルがないことを報知する報知部、を有する請求項２記載の熱変位補正装置。
【請求項６】
いずれかの系統の軸組合せに変更が生じたことを検出し、前記熱変位補正設定部の他の部に、前記補正モデルの再設定を指示する軸切り替え判定部、を有する請求項２記載の熱変位補正装置。
【請求項７】
前記軸切り替え判定部が、軸制御情報生成部が生成する制御軸情報データに基づき、前記軸組合せに変更が生じたことを検出した場合、前記対象軸インデックス生成部は、対象軸インデックスを再度生成する請求項６記載の熱変位補正装置。
【請求項８】
工作機械に対して指令を出力する数値制御装置であって、
請求項１から７のいずれか１項に記載の熱変位補正装置が算出する前記補正量を、前記指令に加え、補正された前記指令を工作機械に対して出力する軸制御部、を有する数値制御装置。
【請求項９】
前記工作機械の動作状態を表す前記動作状態データを記憶し、前記動作状態データを前記熱変位補正部に供給する動作状態データ記憶部、を備える請求項８記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、熱変位補正モデルの自動設定機能を有する熱変位補正装置及び数値制御装置に関する。
【背景技術】
【０００２】
従来、工作機械の仕様に応じた機械情報を読み取り可能にし、機械情報に基づいて、熱変位補正のための推定パラメータ（補正モデル）を選択する技術が提案されている（例えば、特許文献１）。
この技術では、仕様の数が多い工作機械でも、各仕様における工作機械の熱変位補正量を推定するための補正量推定装置や、パラメータ自動選択装置等を備えることによって、各仕様に応じた機械情報に基づき、データベースからその仕様に属するパラメータを選択することができる。選択されたパラメータより各機械部分における推定熱変位を演算し、その推定熱変位を合算する技術である。
【０００３】
また、複数の熱変位の補正モデルを切り替える際の熱変位補正量の急激な変化をキャンセルする技術が提案されている（例えば、特許文献２）。
この技術では、熱変位補正モデルとして、第１補正モデルと第２補正モデルとを備え、これらモデルを切り替える（例えば第１から第２に切り替える）際に、補正量の差分と第二補正モデルの補正量を用いて指令値の補正量を決定する（補正量の補完）。したがって、補正量の急激な変化をキャンセルすることができる技術である。なお、補正モデルの切り替えは座標位置に基づいて実行される。
【０００４】
また、工作機械の熱変位に対して熱変位補正モデルと温度データとから熱変位を推定し、熱変位分の補正量を軸移動量に加える、熱変位補正機能が提案されている（例えば、特許文献３）。
この技術では、例えば、機械学習を用いて熱変位モデルを作成し、補正モデルと動作状態データ（温度データ等）から補正量を算出する。そして、推定値と実測値と差が閾値以下でない場合は、再度補正モデルを計算するという技術である。
【０００５】
この技術の説明図が図１２に示されている。まず、工作機械１には、温度センサ２、変位センサ３が設けられており、温度と変位とを検出することができる。なお、ここで、工作機械１は、種々の工作機械が含まれ、例えばマシニングセンタ（ｘ軸、ｙ軸、ｚ軸を備える）、旋盤（ｘ軸、ｚ軸のみを備える）等が含まれる。
【０００６】
検出した温度と変位とを学習用データ４として用いて（熱変位）補正モデル計算５が実行される。補正モデル計算５とは、機械学習により熱変位補正モデル５−３を決定する計算処理である。具体的には、学習ソフト５−１が、学習用データ４に基づき機械学習５−２を行い、熱変位補正モデル５−３を作成する計算処理となる。
このような機械学習によって熱変位補正モデルを作成する手法の一つが、特許文献３（特開２０１８-１１１１４５）に開示されている。特許文献３に記載されているような手法で、教師データを作成することが好適な方法の一つである。学習ソフト５−１は、所定のコンピュータ上で実行してよい。なお、学習データ４は、工作に先立って予め取得しておいたデータであってよい。
【０００７】
次に、求められた熱変位補正モデル５−３を利用して、実際の工作過程において、補正量の計算・出力６が実行される。この補正量の計算・出力６は、例えばＣＮＣ（Computerized Numerical Control）装置６−２が実行してよい。ＣＮＣ装置６−２は工作機械１への指示（軸移動量）を算出して出力するが、その際、熱変位補正モデル５−３を利用して補正量を計算し、軸移動量に加える。このようにして補正した軸移動量を工作機械１に出力する。これによって工作機械１は、補正６−３された軸移動量に従って動作を実行する。一方、工作機械１には、温度センサ２が備えられており、マルチセンサＩ／Ｏユニット６−１がこの温度センサ２から温度を読み取り、ＣＮＣ装置６−２に供給する。ＣＮＣ装置６−２は、供給されてきた温度に基づき熱変位補正モデル５−３を利用して補正量計算・出力６を実行する。以下、同様の処理が繰り替えされる。これによって、熱の影響の受けにくい工作が可能となる。このような処理はすでにあり、例えばＡＩ熱変位補正と呼ばれる場合もある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第５５６８００５号公報
【特許文献２】特開２０１７−１７０５３２号公報
【特許文献３】特開２０１８−１１１１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このような技術によって、熱の影響を受けにくい工作がすることができるとされている。
しかし、特許文献３に記載された技術では、系統内の軸組合せ毎に補正モデルを変更する必要があるため、どの系統（軸組合せ）にどの補正モデルを利用するか、ユーザが手動で対応付ける必要がある。
【００１０】
すなわち、
（１）加工前に、使用する系統と補正モデルとの対応付けが必要であり、系統数が増えると、「誤設定の増大」、「ユーザ負担の増加」、が発生する恐れがある。
（２）加工中に軸切り替え制御等を行い、軸組合せが変更された際に、軸組合せに応じて自動的に補正モデルを切り替えることが困難である。
という問題点がある。
この様子が、図１３に示されている。図１３においては、補正モデル１（７−１）、補正モデル（７−２）、補正モデル３（７−３）、補正モデル（７−４）の４種類の補正モデルが準備されている例を示す。そして、系統１（８）は、Ｘ１軸１０と、Ｚ１軸１１とがあることが示されており、系統２（９）は、Ｘ２軸１２と、Ｚ２軸１３とがあることが示されている。
そして、加工処理を実行する前に、この系統１（８）のＸ１軸１０とＺ１軸１１とに対して、補正モデルを対応付ける必要がある。同様に、加工処理を実行する前に、この系統２（９）のＸ２軸１０とＺ１軸１１とに対して、補正モデルを対応付ける必要がある。そして、加工中に軸の切り替え等があった場合には、ユーザが妥当な補正モデルを選択して切り替える必要があり、ユーザの負担は大きくなる傾向にあると考えられる。
【００１１】
また、特許文献１、２、３に関してはいずれも、
（３）系統と軸組合せに応じて補正モデルを自動的に設定することは考慮されていない。
（４）工作機械の軸組合せ情報をリアルタイムに取得して加工中でも自動的に補正モデルの切り替えを行うことは想定されていない。
したがって、特許文献１、２、３によれば、ユーザの手による作業が多くユーザの負担は大である。
【００１２】
本発明は、このような事情に鑑み、系統内の軸組合せにインデックスを設定し、このインデックスで適切な補正モデルを選択することができる熱変位補正装置を提供することを目的とする。また、係る熱変位補正装置を備えた数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る熱変位補正装置（例えば、後述の数値制御装置２００）は、制御軸が識別可能な制御軸情報データから、熱変位補正の実行対象である軸組合せにインデックスを設定し、前記インデックスと一致する補正モデルのインデックスを見出すことによって、対応する補正モデルを選択する熱変位補正設定部（例えば、後述の熱変位補正設定部２１０）と、熱変位と相関を持つ動作状態データと補正モデルとから補正量を算出する熱変位補正部（例えば、後述の熱変位補正部２２０）と、を有する。
【００１４】
前記熱変位補正設定部は、前記制御軸情報データに基づき、系統毎に軸組合せを示す対象軸インデックスを生成する対象軸インデックス生成部（例えば、後述の対象軸インデックス生成部２１０−１）と、補正モデルと、補正を行いたい軸組合せを示す補正モデルインデックスとのセットを記憶する補正モデルセット記憶部（例えば、後述の補正モデルセット記憶部２１０−２）と、前記生成された対象軸インデックスと、前記補正モデルインデックスとを比較するインデックス比較部（例えば、後述のインデックス比較部２１０−３）と、前記インデックス比較部が、前記対象軸インデックスと、前記補正モデルインデックスと、が一致した場合に、前記補正モデルインデックスにかかる前記補正モデルを、前記対象軸インデックスが生成された前記系統に対して設定する補正モデル設定部（例えば、後述の補正モデル設定部２１０−４）と、を有してよい。
【００１５】
前記対象軸インデックスは、各軸を示す対象軸番号を、少なくとも系統内の軸の数だけ含むベクトルであり、前記対象軸番号は、系統番号と軸番号とから算出され、対応する軸を識別できる番号であってよい。
【００１６】
前記補正モデルインデックスは、各軸を示す補正軸番号を、少なくとも系統内の軸の数だけ含むベクトルであり、前記補正軸番号は、系統番号と軸番号とから算出され、対応する軸を識別できる番号であってよい。
【００１７】
前記インデックス比較部が、前記対象軸インデックスと一致する前記補正モデルインデックスを見つけられなかった場合に、対応する補正モデルがないことを報知する報知部、を有してもよい。
【００１８】
いずれかの系統の軸組合せに変更が生じたことを検出し、前記熱変位補正設定部の他の部に、前記補正モデルの再設定を指示する軸切り替え判定部（例えば、後述の軸切り替え判定部２１０−５）を有してよい。
【００１９】
前記軸切り替え判定部が、軸制御情報生成部が生成する制御軸情報データに基づき、前記軸組合せに変更が生じたことを検出した場合、前記対象軸インデックス生成部は、対象軸インデックスを再度生成してよい。
【００２０】
また、工作機械に対して指令を出力する数値制御装置（例えば、後述の数値制御装置２００）であって、これまで述べた熱変位補正装置（例えば、後述の熱変位補正部２２０）が算出する前記補正量を、前記指令に加え、補正された前記指令を工作機械に対して出力する軸制御部（例えば、後述の軸制御部２５０）、を有する数値制御装置であってよい。
【００２１】
また、前記数値制御装置（例えば、後述の数値制御装置２００）は、前記工作機械の動作状態を表す前記動作状態データを記憶し、前記動作状態データを前記熱変位補正部に供給する動作状態データ記憶部（例えば、後述の動作状態データ記憶部２３０）、を備えてよい。
【発明の効果】
【００２２】
本発明によれば、系統内の軸組合せ毎に適切な補正モデルを自動的に設定することができる。また、加工中に軸切り替え制御で系統内の軸組合せが変更された場合に、軸組合せに応じて自動的に補正モデルを切り替えることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の原理を示す原理図である。
【図２】本発明の第１実施形態の数値制御装置のブロック図である。
【図３】本発明の第１実施形態における工作機械の制御軸に関するパラメータから対象軸インデックスを作成する動作の説明図である。
【図４】本発明の第１実施形態における工作機械の制御軸に関するパラメータから対象軸インデックスを作成する動作の説明図である。
【図５】本発明の第１実施形態における学習ソフトで設定した各補正モデルの補正モデルインデックスと、対象軸インデックスとを比較し、各系統に補正モデルを設定する動作の説明図である。
【図６】本発明の第１実施形態における学習ソフトで設定した各補正モデルの補正モデルインデックスと、対象軸インデックスとを比較し、各系統に補正モデルを設定する動作の説明図である。
【図７】本発明の第１実施形態における数値制御装置２００の動作を表すフローチャートである。
【図８】本発明の第２実施形態における数値制御装置２００が、加工中に軸切り替えが発生した場合の動作を説明する説明図である。
【図９】本発明の第２実施形態における数値制御装置２００が、加工中に軸切り替えが発生した場合の動作を説明する説明図である。
【図１０】本発明の第２実施形態における数値制御装置２００の動作を表すフローチャートである。
【図１１】本発明の第２実施形態における数値制御装置２００の動作を表すフローチャートである。
【図１２】従来の熱変位補正機能の説明図である。
【図１３】従来の熱変位補正機能の説明図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態を図面に基づいて説明する。
［原理］
図１は、本発明の原理図である。
（１）まず、学習ソフトが、各補正モデルに、補正したい系統と、補正したい軸組合せを示す「補正モデルインデックス」を付与する。具体的には、「系統」と「軸番号」に対応して補正モデルインデックスを作成して、各補正モデルに付与する。この様子が図１の（１）に示されている。このような学習ソフトによる機械学習の仕組みは、例えば、上述した特許文献３（特開２０１８-１１１１４５号公報）に開示されている手法を用いてよい。
【００２５】
図１の（１）では、ユーザが、学習ソフトを利用して各補正モデルに対して適用したい系統と軸番号とを入力する。なお、学習ソフトは所定のコンピュータ上で動作しているものとする。所定のコンピュータは、図１２でに示すように、数値制御装置とは別個のコンピュータであってよい。
ユーザが、補正モデルに対して、「系統番号」ｐと、「軸番号」ａ１、ａ２、ａ３とを入力すると、学習ソフトは、これら「系統」と、「軸番号」とから補正モデルインデックスを算出し、算出した補正モデルインデックスを補正モデルに付与する。図１のＡに示すように、補正モデルインデックスはベクトルで表され、補正モデルインデックス：Ｂは、
ｂ１＝１００＊ｐ＋ａ１
ｂ２＝１００＊ｐ＋ａ２
ｂ３＝１００＊ｐ＋ａ３
を用いて、（ｂ１、ｂ２、ｂ３）と表される。このようにして、学習ソフトは、補正モデルインデックスを各補正モデル毎に算出して付与し、補正モデルのデータファイル１００を作成する。この補正モデルのデータファイル１００中には、図１の例では、補正モデル１（１００−１）として、補正を行うための補正パラメータと、補正モデルインデックスＢ１＝｛ｂ１１、ｂ２１、ｂ３１｝が示されている。また、補正モデル２（１００−２）として、補正を行うための補正パラメータと、補正モデルインデックスＢ２＝｛ｂ１２、ｂ２２、ｂ３２｝が示されている。以下、補正モデルｎ（１００−ｎ）も同様である。
【００２６】
このような補正モデルインデックスを各補正モデルに付与しているため、系統と軸暗号とに自動的に対応付けることが可能となったものである。
なお、ここでは、軸の数は「３」である場合を例にして説明したが、軸の数は何個でもよい。また、軸の数が少ない系統がある場合は、使用しない軸に相当する部分の上記インデックスは「０」としておいてもよい。
【００２７】
（２）次に、数値制御装置側では、各系統の軸組合せに関する「対象軸インデックス」を作成する。具体的には、「系統」毎の制御軸番号の組合せを算出して、その軸組合せを示す「対象軸インデックス」を付与する。この様子が図１の（２）に示されている。
図１の（２）では、数値制御装置側が、工作機械の系統毎の制御軸番号の組合せから、対象軸インデックスの算出を行う。なお、数値制御装置は、予め系統の軸番号に関する情報は取得しているものとする。
【００２８】
具体的には、図１のＢに示すように、対象軸インデックスはベクトルで表され、対象軸インデックス：Ｄは、
ｄ１＝１００＊ｐ＋ａ１
ｄ２＝１００＊ｐ＋ａ２
ｄ３＝１００＊ｐ＋ａ３
を用いて、（ｄ１、ｄ２、ｄ３）と表される。ｐや、ａ１、ａ２、ａ３の意味は、補正モデルインデックスの場合と同様である。このようにして数値制御装置側は、対象軸インデックスを系統毎に算出して付与し、系統毎の軸組合せに対する対象軸インデックスファイル１０１を作成する。この対象軸インデックスファイル１０１の中には、図１の例では、系統１（１０１−１）として、対象軸インデックスＤ１＝｛ｄ１１、ｄ２１、ｄ３１｝が示されている。また、系統２（１０１−２）として、対象軸インデックスＤ２＝｛ｄ１２、ｄ２２、ｄ３２｝が示されている。以下、系統ｍ（１００−ｍ）も同様である。
このような対象軸インデックスを各系統に付与しているため、補正モデルインデックスと比較しやすく、対応する補正モデルと比較を行いやすくなる。
【００２９】
（３）次に、補正モデルインデックスと対象軸インデックスとを比較する。この比較は、例えば数値制御装置が実行してよい。数値制御装置が、補正モデルのデータファイル１００の内容と、対象軸インデックスファイル１０１の内容と、を比較し、系統毎に一致する補正モデルインデックスを探す。
【００３０】
（４）そして、系統毎に補正モデルインデックスが対象軸インデックスと一致した補正モデルを、当該系統に設定する。この処理は、数値制御装置が実行してよい。以降、数値制御装置は、設定された補正モデルに基づき工作機械の制御を実行する。
【００３１】
［第１実施形態］
図２は、第１実施形態に係る数値制御装置２００のブロック図である。図３及び図４は、工作機械の制御軸に関するパラメータから対象軸インデックスを作成する動作の説明図である。図５及び図６は、学習ソフトで設定した各補正モデルの補正モデルインデックスと、対象軸インデックスとを比較し、各系統に補正モデルを設定する動作の説明図である。図７は第１実施形態の数値制御装置２００の動作を表すフローチャートである。
【００３２】
図２に示すように、第１実施形態に係る数値制御装置２００は、熱変位補正設定部２１０、熱変位補正部２２０、動作状態データ記憶部２３０、軸制御情報生成部２４０、軸制御部２５０を備えている。
熱変位補正設定部２１０は、対象軸インデックスと、補正モデルインデックスとを比較し、その対象軸インデックスに対応した補正モデルを設定する。このような動作によって、熱変位補正設定部２１０は、制御軸が識別可能な制御軸情報データから熱変位補正を行いたい軸組合せに対応する補正モデルを選択していることになる。
また、熱変位補正設定部２１０は、対象軸インデックス生成部２１０−１と、補正モデルセット記憶部２１０−２と、インデックス比較部２１０−３と、補正モデル設定部２１０−４と、軸切り替え判定部２１０−５とを備えている。なお、インデックスは、インデックスと略称する場合もある。
【００３３】
対象軸インデックス生成部２１０−１は、これまで説明した対象軸インデックスを生成する。対象軸インデックス生成部２１０−１は、対象軸インデックスの生成に必要な情報である系統番号と軸番号とを、制御軸情報データから取得する。制御軸情報データは、後述する軸制御情報生成部２４０が生成するデータであって、制御軸が識別可能なデータである。
インデックス比較部２１０−３は、生成した対象軸インデックスと、補正モデルのセットとを比較し、合致する補正モデルを選択する。なお、補正モデルのセットは、補正モデルセット記憶部２１０−２が記憶しており、インデックス比較部２１０−３に供給する。
【００３４】
インデックス比較部２１０−３は合致した補正モデルを補正モデル設定部２１０−４に送る。
補正モデル設定部２１０−４は、送られてきた補正モデルを受信し、当該数値制御装置２００がその系統に対して使用する補正モデルとして設定する。設定は、例えば内部の記憶手段に補正モデルの内容を書き込んでおき、熱変位補正部２２に提供する等の処理で実行される。補正モデル設定部２１０−４は、このような処理を実行する。
補正モデルセット記憶部２１０−２は、補正モデルセットを記憶し、インデックス比較部２１０−３に供給する。
軸切り替え判定部２１０−５は、加工中に軸が変更されたことを判定する。その詳細な動作は第２実施形態で説明する。
【００３５】
熱変位補正部２２０は、設定された補正モデルに基づき、工作機械に供給される指令に、所定の補正を実行する。すなわち、熱変位補正部２２０は、熱変位と相関を持つ動作状態データと、補正モデルと、から補正量を算出し、この補正量を軸制御部２５０に供給する。これによって熱による変位の補正を実行することができる。ここで、動作状態データは、動作状態データ記憶部２３０から提供を受け、補正モデルは、上記補正モデル設定部２１０−４によって設定された補正モデルを使用する。
熱変位補正部２２０は、補正量算出部２２０−１と、補正実行部２２０−２と、を備える。
補正量算出部２２０−１は、動作状態データと、補正モデルとから、補正量を算出し、この補正量を補正実行部２２０−２に供給する。
【００３６】
動作状態データ記憶部２３０は、系統（工作機械）がどのような動作状態（温度も含む）にあるのかを記憶するデータ記憶部である。この動作状態データ記憶部２３０は、動作状態データを、補正量算出部２２０−１に提供する。また、この動作状態データは、工作機械の動作状態を示すデータであるが、特に温度も含むデータであり、熱変位と相関を持つデータである。この温度に基づき、熱変位の補正を行うことができる。また、動作状態データは、温度以外の、軸のトルクや回転数、その他動作状態を示すデータであればどのようなデータを含んでいてもよい。
軸制御情報生成部２４０は、その系統がどのような軸を有するかに関する情報である制御軸情報データを生成する。制御軸情報データは、対象軸インデックス生成部２１０−１に供給され、対象軸インデックスを生成するのに利用される。また、制御軸情報データは、軸制御部２５０にも提供され、軸への指令の供給に利用される。
【００３７】
軸制御部２５０は、工作機械への指令を出力する手段であり、基本的には、加工プログラムに基づく指令をその系統の工作機械に供給する。この際、その系統の軸制御情報を利用して実行する。また、温度による補正量を補正実行部から受信し、指令にその補正量を加えてから、工作機械へ指令を供給する。
【００３８】
＜熱変位補正装置と数値制御装置＞
本文の実施形態では、少なくとも熱変位補正設定部２１０と熱変位補正部２２０とを含む部分であって、補正量を算出する構成を、熱変位補正装置と呼ぶ。この熱変位補正装置は、さまざまな用途に利用でき、工作機械に内蔵してもよいし、ロボットに搭載してもよい。
この熱変位補正装置を含み、工作機械への指令を出力する数値制御装置として構成することもできる。そのような構成の数値制御装置２００が図２のブロック図に示されている。図２のブロック図によれば、熱変位補正装置の補正量を指令に加算する軸制御部２５０は、補正された指令を工作機械に出力し、数値制御装置として動作することができる。また、図２のブロック図において、動作状態データ記憶部２３０は、工作機械の動作状態を動作状態データとして記憶し、この動作状態データを熱変位補正部２２０（の補正量算出部）に供給する。これによって、補正量をより正確に算出することができ、熱に対する性能が向上した数値制御装置２００を提供することができる。
【００３９】
＜対象軸インデックスの作成＞
対象軸インデックスの作成の説明図が図３及び図４に示されている。
図３に示すように、系統１（３００）と、系統２（３０１）の２系統がある例を説明する。系統１（３００）には、タレット１を移動させるＸ１軸３０２と、ワーク１を移動させるＺ１軸３０３がある。系統２（３０１）には、タレット２を移動させるＸ２軸３０４と、ワーク２を移動させるＺ２軸３０５がある。
【００４０】
この状態において、各軸に対する、絶対系統番号と、相対軸番号とが図４に示されている。図４に示すように、例えばＺ１軸は、絶対系統番号が１であり、相対軸番号が１であることが示されている。他の軸に関しては図３、図４の通りである。対象軸インデックスの各数値ｄを、対象軸番号と呼べば、対象軸インデックスを、［第１対象軸番号、第２対象軸番号、第３対象軸番号］と表される。
【００４１】
図１の通り、対象軸番号（ｄ）＝絶対系統番号×１００＋相対軸番号であるから、図４の例によれば、
系統１の対象軸インデックス  ＝  ［１０１、１０２、０］
系統２の対象軸インデックス  ＝  ［２０１、２０２、０］
となる。なお、第３対象軸番号まで準備しているのは、マシニングセンタ等を考慮したものであり、３軸未満の場合は、上記の通り、０等をいれておいてよい。対象軸番号は、このように、（絶対）系統番号と（相対）軸番号とから算出される数であり、対応する軸を識別できる数である。
このように、第１実施形態においては、軸毎に絶対系統番号と、相対軸番号とが予め決定され、付与されているものとする。なお、ここで相対軸番号は、当該系統中で、何番目の軸かを表す順番であり、相対的なものである。一方、系統の番号は、絶対的な順番を表す。
【００４２】
＜補正モデルの設定＞
次に、補正モデルの設定の説明図が図５、図６に示されている。上述したように学習ソフトで設定した各補正モデルの補正モデルインデックスと、上述した対象軸インデックスとを比較して、各系統に補正モデルを設定する。
図５に示すように、絶対系統番号と、相対軸番号と、から補正モデルが算出される。図５の例では、補正モデル１（３１０−１）、補正モデル２（３１０−２）、補正モデル３（３１０−３）、補正モデル４（３１０−４）が示されており、それらを合わせて補正モデルセット３１０と呼ぶ。
【００４３】
ここで、補正モデルインデックスの要素であるｂ（図１参照）を、補正軸番号と呼び、補正モデルインデックス＝［第１補正軸番号、第２歩正軸番号、第３補正軸番号］と規定すると、補正軸番号＝絶対系統番号×１００＋相対軸番号であるから（図１参照）、例えば、補正モデル１の補正モデルインデックスは、［１０１、１０２、０］と表される。以下、補正モデル２、補正モデル３、補正モデル４も同様に算出される。具体的な数値は図５を参照されたい。
【００４４】
なお、必ずしもすべての組合せについて補正モデル、補正モデルのインデックスを準備しなければいけないわけではない。事実上、実用に供することができるパターンが数種類だけであることもある。そのような場合は、実際に使用する可能性のある組合せについてのみ、補正モデル、補正モデルインデックスを算出しておいてもよい。このような補正モデル、補正モデルインデックスは、補正モデルセット記憶部２１０−２に記憶させておいてもよい。そして、インデックス比較部２１０−３において、対象軸インデックスと比較される。
【００４５】
ここで、図６に示すように、系統１（３２０）と、系統２（３２１）の２系統がある例を説明する。系統１（３２０）には、タレット１を移動させるＸ１＋Ｃ１１軸３２２と、ワーク１を移動させるＺ１＋Ｃ２１軸３２３とがある。系統２（３２１）には、タレット２を移動させるＸ２＋Ｃ１２軸３２４と、ワーク２を移動させるＺ２＋Ｃ２２軸２３０５とがある。
【００４６】
なお、ここでＣ１１、Ｃ２１、Ｃ１２、Ｃ２２は、補正量算出部２２０−１が出力した補正量を表し、補正実行部２２０−２が「指示」中に加算するものである。
この状態において、系統１（３２０）の対象軸インデックスは、｛１０１  １０２  ０｝である。また、系統２（３２１）の対象軸インデックスは、｛２０１  ２０２  ０｝である。これらと、補正モデルインデックスとを比較すれば、系統１（３２０）には、補正モデル１の補正モデルインデックス｛１０１  １０２  ０｝（図５参照）が合致し、系統２（３２１）には、補正モデル２の補正モデルインデックス｛２０１  ２０２  ０｝が合致することが理解されよう。この比較は、インデックス比較部２１０−３が実行する。
【００４７】
この結果、系統１（３２０）には、補正モデル１（１００−１）（３１０−１）が設定され、系統２（３２１）には、補正モデル（１００−２）（３１０−２）が設定される。このような設定は、補正モデル設定部２１０−４が実行する。
【００４８】
＜数値制御装置の動作＞
図７には、数値制御装置の動作例を示すフローチャートが示されている。
まず、ステップＳ１において、熱変位補正設定を開始する。これは、系統に対して使用する補正モデルの設定を開始するということである。
ステップＳ２において、初期値を設定する。系統番号を表すｉが１であり、補正モデルを表すｊも１に設定する。これは対象軸インデックスの生成に適用されるので、対象軸インデックス生成部２１０−１が設定する。
【００４９】
ステップＳ３において、対象軸インデックス生成部２１０−１が、系統番号ｉの対象軸インデックスを生成（作成）し、インデックス比較部２１０−３に供給する。
ステップＳ４において、インデックス比較部２１０−３は、補正モデルｊの補正モデルインデックスを補正モデルセット記憶部２１０−２から呼び出す。
【００５０】
ステップＳ５において、インデックス比較部２１０−３は、供給された対象軸インデックスと、呼び出した補正モデルインデックスとが一致するか比較する。比較の結果、一致すればステップＳ６に移行し、一致しない場合はステップＳ１１に移行する。
ステップＳ６において、インデックス比較部２１０−３は、一致したので、一致した補正モデルインデックスの補正モデルｊを補正モデル設定部２１０−４に供給する。補正モデル設定部２１０−４は、供給された補正モデルをその系統ｉに設定する。
【００５１】
ステップＳ７において、ｉが最大の系統数か否か検査され、ＹＥＳであれば、ステップ８に移行する。ＮＯであれば、再び処理を繰り返すために、ステップＳ９に移行する。
ステップＳ８において、すべての系統について補正モデルを設定したので、熱変位補正の設定を終了する。
【００５２】
ステップＳ９において、ｉが＋１され、ｊは１にリセットされる。これらの変数は対象軸インデックスの生成に適用されるので、対象軸インデックス生成部２１０−１が実行する。その後、ステップＳ３に移行し、再び対象軸インデックスの生成（作成）が実行される。
ステップＳ１１において、インデックス比較部２１０−３が、ｊが最大補正モデル数であるか否かを検査する。検査の結果、最大モデル数である場合は、ステップＳ１２に移行し、最大モデル数ではない場合は、ステップＳ１０に移行する。
【００５３】
ステップＳ１２において、その系統ｉにおいては、補正モデルは未設定とする。つまり、補正モデル設定部２１０−４はその系統ｉに対して、補正モデルを設定しない。これは、合致する補正モデルが見いだせなかったためである。
この時、単に補正モデルを設定しないだけでもよいが、対応する補正モデルが見いだせなかったことをユーザ等に報知する報知部（不図示）を備えてもよい。このような報知部があれば、ユーザは補正モデルが足りないことを認識することができ、補正モデルを準備するモチベーションとなる。また、補正モデル設定部２１０−４が、報知部を兼ねてもよい。その後、ステップＳ７に移行し、（もしあれば）次の系統の処理に移行する。
【００５４】
ステップＳ１０において、ｊが＋１される。この変数は対象軸インデックスの生成に適用されるので、対象軸インデックス生成部２１０−１が実行する。その後、ステップＳ４に移行し、別の補正モデルの呼び出しが実行される。
【００５５】
以上のような処理によって、各系統に合致した補正モデルの設定を行うことができる。
【００５６】
［第２実施形態］
図８は、第２実施形態に係る数値制御装置２００が、加工中に軸切り替えが発生した場合の動作を説明する説明図である。図９も、加工中に軸切り替えが発生した場合の動作の状況を説明する説明図である。図１０及び図１１は、第２実施形態に係る数値制御装置２００の動作を表すフローチャートである。
【００５７】
図８は、加工の途中で、軸が切り替わった場合の説明図である。図８に示すように、ここでは、系統１（３４０）と、系統２（３４１）との２種の系統がある場合を説明する。加工開始時点では、系統１（３４０）にＸ１軸３４２、Ｚ１軸３４３が存在した。また、系統２（３４１）にＸ２軸３４４、Ｚ２軸３４５が存在した。
この状態の系統１の対象軸インデックスは、［１０１  １０２  ０］であり、系統２の対象軸インデックスは、［２０１  ２０２  ０］である。
【００５８】
加工の都合上、軸が入れ替わった例を説明する。図８では上記のような軸構成から、Ｘ軸が入れ替わり、系統１（３４０）にＸ２軸３４４、Ｚ１軸３４３が存在する。また、系統２（３４１）にＸ１軸３４２、Ｚ２軸３４５が存在する。
この状態の系統１の対象軸インデックスは、［２０１  １０２  ０］であり、系統２の対象軸インデックスは、［１０１  ２０２  ０］である。
つまり、Ｘ１軸とＸ２軸とが入れ替わったのである。該当する対象軸暗号も胃入れ替えて対象軸インデックスを再作成する。
なお、補正モデルセットは変更されていない。上述した図５と同様の補正モデルのままである。
このような入れ替えが発生した場合、新しい対象軸インデックスを再作成して、再び補正モデルインデックスとの比較を行えばよい。
その結果、新たに、図９のような補正モデルの設定が行われる。
【００５９】
＜補正モデルの設定＞
図９の系統１（３６０）は、Ｘ２＋Ｃ１２軸３６２と、Ｚ１＋Ｃ２１軸３６３とを備えているので、対象軸インデックスは｛２０１  １０２  ０｝となる。また、図９の系統２（３６１）は、Ｘ１＋Ｃ１１軸３６４と、Ｚ１＋Ｃ２２軸３６５とを備えているので、対象軸インデックスは｛１０１  ２０２  ０｝となる。
この状態で、再び合致する補正モデルインデックスを探せば、系統１（３６０）には、補正モデル３（１００−３）（３１０−３）が設定され、系統２（３６１）には、補正モデル４（１００−４）（３１０−４）が設定される。このように、第２実施形態によれば、途中で軸が入れ替わったような場合でも、再度対象軸インデックスを際算出することによって、新たに合致する補正モデルを探すことができる。従って、加工の途中で軸の構成に変化があった場合でも、熱変位補正を実行することが可能である。
【００６０】
＜軸構成の変更があった場合の処理＞
図１０には、軸構成の変更が生じる場合を含めた、数値制御装置の処理動作を表すフローチャートが示されている。
まず、ステップＳ１３において、ワークに対する加工が実行される。数値制御装置２００が加工プログラムを読み取り、しかるべく指令を工作機械のサーボモータに出力することによって、加工が実行される。
【００６１】
ステップＳ１４において、軸構成の変更があったか否かが検査される。この検査は図２の軸切り替え判定部２１０−５が実行する。軸切り替え判定部２１０−５は、軸制御情報生成部２４０の軸制御情報を監視することによって、軸切り替えがあったか否かを判定する。軸切り替えがあったことを検出した場合は、ステップＳ１５に移行し、熱変位補正設定部２１０の他の部に、補正モデルの再設定を行うように促す。具体的には、補正モデルの設定動作を再度実行するように各部に指示（通知）する。一方、軸切り替えがなかった場合は、ステップＳ１６に移行する。
【００６２】
ステップＳ１５においては、数値制御装置２００が、軸構成の変更に対応するために又新たに設定をやり直す。その詳細は、図１１のフローチャートで説明する。
ステップＳ１６において、加工の終了か否か確認される。終了である場合は、加工を終了し、終了ではない場合は、ステップＳ１３に移行し、加工の続きをおこなう。
【００６３】
＜補正モデル再設定（ステップＳ１５）の詳細＞
図１１には、図１０の補正モデルの再設定（ステップＳ１５）の詳細な動作を表すフローチャートが示されている。
まず、ステップＳ１７において、補正モデルの再設定が開始される。これは軸切り替え判定部２１０−５が軸の構成が変更された系統を検出したので、当該系統について補正モデルの再設定を行う処理である。したがって、系統は１種のみであるので、図７と異なり、変数ｉは使用せずに、補正モデルを表すｊのみを変数として用いている。
ステップＳ１８において、変数Ｊを初期値１をセットする。対象軸インデックス生成部２１０−１がこの処理を実行する。
【００６４】
ステップＳ１９において、対象軸インデックス生成部２１０−１が、対象となる系統について、対象軸インデックスを再作成する。つまり、軸切り替え判定部２１０−５が軸の構成が変更された系統を検出したので、この検出を契機として、対象軸インデックス生成部２１０−１が、対象となる系統について、対象軸インデックスを再度作成したものである。
ステップＳ２０において、インデックス比較部２１０−３は、補正モデルセット記憶部２１０−２から補正モデルｊを読み出す。
【００６５】
ステップＳ２１において、インデックス比較部２１０−３は、読みだした補正モデルｊと、再作成した対象軸インデックスと、を比較し、一致するか否か確認する。その結果、一致すればステップＳ２２に移行し、一致しない場合は、ステップＳ２５に移行する。
ステップＳ２２においては、一致したので、当該補正モデルｊをその系統に設定する。
【００６６】
ステップＳ２３においては、補正モデルの再設定が終了する。
ステップＳ２５においては、ｊが補正モデルの最大数であるか否かが検査される。最大数であった場合は、ステップＳ２６に移行する。最大数でなかった場合は、ステップＳ２４に移行する。
ステップＳ２６において、現在着目している系統では補正モデルが設定できないと判断し、ステップＳ２３に移行し、処理を終了する。この時、ステップＳ１２と同様に、ユーザ等に補正モデルが見いだせなかったことを報知する報知部が備えられてもよい。このような報知によれば、ユーザは補正モデルを準備しようとする契機となろう。
【００６７】
なお、報知は、種々の方法で実行してよい、ディスプレイに表示して報知してもよい。また、音声で放置してもよい。ブザー音や警告音で報知してもよい。これはステップＳ１２でも同様である。
ステップＳ２４においては、補正モデルを変えて比較するために、ｊを＋１してから、ステップＳ２０に移行し、新たに比較対象となる補正モデルの呼び出しを続行する。
このような処理によって、補正モデルを再設定することができる。
【００６８】
＜本実施形態の効果＞
以上のように、本第１実施形態、第２実施形態によれば、補正モデルのインデックスと、対象軸インデックスとを比較して一致すれば、当該補正モデルをその系統に設定した。そのため、系統が多い場合でも、迅速に対応する補正モデルを設定することができる。また、第２実施形態でも説明したように、系統の軸の構成が変更された場合でも、軸切り替えに対応して、再び、合致する補正モデルを探して設定することができる。
【００６９】
［その他の実施形態］
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００７０】
［変形例１］
第１実施形態、第２実施形態では、熱変位補正設定部２１０を、数値制御装置２００内に格納する例を示したが、数値制御装置２００の筐体の外部に位置していてもよい。外部の付属装置として構成してもよいし、通信回線で遠隔地に設けてもよい。また、ネットワーク上に配置されていてもよく、クラウドを利用しても熱変位補正設定部２１０を構成してもよい。
工作機械を制御する機能をクラウドで共有するFog Computing（Fog Computingはシスコ社の登録商標）が知られており、そのようなシステムを用いてもよい。
また、このFog Computingを利用して工作機械やロボットをネットワーク化したシステムとしてField Systemが知られている（FIELDはファナック株式会社の登録商標）。本発明をこのようなシステム上に載せることも好適である。
【００７１】
［変形例２］
第１実施形態、第２実施形態における数値制御装置２００は、ＣＰＵを備えるコンピュータシステムとしてよい。その場合、ＣＰＵは、例えばＲＯＭ等の記憶部に格納されたプログラムを読み出し、このプログラムに従って、コンピュータを、熱変位補正設定部２１０、熱変位補正部２２０、動作状態データ記憶部２３０、軸制御情報生成部２４０、軸制御部２５０として実行させることができる。
【００７２】
［変形例３］
第１実施形態、第２実施形態においては工作機械を数値制御する数値制御装置２００の例を説明したが、同様の処理動作を実行するものであれば、工作機械そのもので同様の処理動作を実現してもよい。また、工場全体を管理する管理コンピュータが統括して同様の処理動作を実現してもよい。
【符号の説明】
【００７３】
１……工作機械
２……温度センサ
３……変位センサ
４……工作機械
５……補正モデル計算
５−１……学習ソフト
５−２……機械学習
５−３……熱変位補正モデル
６……補正量計算・出力
６−１……マルチセンサＩ／Ｏユニット
６−２……ＣＮＣ装置
６−３……補正
７−１……補正モデル１
７−２……補正モデル２
７−３……補正モデル３
７−４……補正モデル４
８……系統１
９……系統２
１０……Ｘ１軸
１１……Ｚ１軸
１２……Ｘ２軸
１３……Ｚ２軸
１００……補正モデルのデータファイル
１００−１……補正モデル１
１００−２……補正モデル２
１００−ｎ……補正モデルｎ
１０２……工作機械
１０１……対象軸インデックスファイル
１０１−１……対象軸インデックス１
１０１−２……対象軸インデックス２
１０１−ｍ……対象軸インデックスｍ
２００……数値制御装置
２１０……熱変位補正設定部
２１０−１……対象軸インデックス生成部
２１０−２……補正モデルセット記憶部
２１０−３……インデックス比較部
２１０−４……補正モデル設定部
２１０−５……軸切り替え判定部
２２０……熱変位補正部
２２０−１……補正量算出部
２２０−２……補正実行部
２３０……動作状態データ記憶部
２４０……軸制御情報生成部
２５０……軸制御部
３００……系統１
３０１……系統２
３０２……Ｘ１軸
３０３……Ｚ１軸
３０４……Ｘ２軸
３０５……Ｚ２軸
３１０……補正モデルセット
３１０−１……補正モデル１
３１０−２……補正モデル２
３１０−３……補正モデル３
３１０−４……補正モデル４
３２０……系統１
３２１……系統２
３２２……Ｘ１＋Ｃ１１軸
３２３……Ｚ１＋Ｃ２１軸
３２４……Ｘ２＋Ｃ１２軸
３２５……Ｚ２＋Ｃ２２軸
３４０……系統１
３４１……系統２
３４２……Ｘ１軸
３４３……Ｚ１軸
３４４……Ｘ２軸
３４５……Ｚ２軸
３６０……系統１
３６１……系統２
３６２……Ｘ２＋Ｃ１２軸
３６３……Ｚ１＋Ｃ２１軸
３６４……Ｘ１＋Ｃ１１軸
３６５……Ｚ２＋Ｃ２２軸
【図１】
2020059104.tif 000003
【図２】
2020059104.tif 000004
【図３】
2020059104.tif 000005
【図４】
2020059104.tif 000006
【図５】
2020059104.tif 000007
【図６】
2020059104.tif 000008
【図７】
2020059104.tif 000009
【図８】
2020059104.tif 000010
【図９】
2020059104.tif 000011
【図１０】
2020059104.tif 000012
【図１１】
2020059104.tif 000013
【図１２】
2020059104.tif 000014
【図１３】
2020059104.tif 000015