(57)【要約】【課題】被加工物の加工の問題の発生原因が工具の移動方向の反転によるものかどうか判断する。【解決手段】  加工プログラムに基づいて位置指令を出力する位置指令生成部と、位置指令に基づいてサーボモータを制御するサーボ制御部と、加工プログラムに基づいて機械の軸の方向の反転を検出する第１の反転検出部、位置指令に基づいて軸の方向の反転を検出する第２の反転検出部、軸を駆動するサーボモータを制御するサーボ制御部の位置偏差又は位置フィードバック情報に基づいて軸の方向の反転を検出する第３の反転検出部、及び機械の可動部の位置情報に基づいて軸の方向の反転を検出する第４の反転検出部のうちの少なくとも１つの反転検出部と、少なくとも１つの反転検出部により検出された反転箇所を可視化して被加工物の画像に重ねた画像を生成する描画部と、描画部で生成された前記画像を出力する出力部と、を備える。【選択図】図１
2020098523.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づいて位置指令を出力する位置指令生成部と、
前記位置指令に基づいてサーボモータを制御するサーボ制御部と、
前記加工プログラムに基づいて機械の軸の方向の反転を検出する第１の反転検出部、前記加工プログラムを用いて生成される前記位置指令に基づいて前記軸の方向の反転を検出する第２の反転検出部、前記軸を駆動する前記サーボモータを制御する前記サーボ制御部の位置偏差又は位置フィードバック情報に基づいて前記軸の方向の反転を検出する第３の反転検出部、及び前記機械の可動部の位置情報に基づいて前記軸の方向の反転を検出する第４の反転検出部のうちの少なくとも１つの反転検出部と、
前記少なくとも１つの反転検出部により検出された反転箇所を可視化して被加工物の画像に重ねた画像を生成する描画部と、
前記描画部で生成された前記画像を出力する出力部と、
を備えた、数値制御装置。
【請求項２】
前記第１の反転検出部、前記第２の反転検出部、並びに前記第３の反転検出部及び第４の反転検出部のいずれか一方のうち、少なくとも２つの反転検出部を備え、
前記描画部は、前記少なくとも２つの反転検出部により検出された少なくとも２つの反転箇所を反転箇所ごとに表示方法を変えて前記被加工物の画像に重ねた画像を生成する請求項１に記載の数値制御装置。
【請求項３】
前記出力部は、前記反転箇所を可視化して重畳された前記被加工物の画像を表示する表示部である請求項１又は２に記載の数値制御装置。
【請求項４】
前記機械は複数の軸を備え、
前記検出された反転箇所を可視化して、前記被加工物の画像に重ねるかどうかを前記複数の軸の軸ごとに指定する操作部を備えた、請求項１から３のいずれか１項に数値制御装置。
【請求項５】
請求項１から４のいずれか１項に記載の数値制御装置と、機械と、前記機械の軸を駆動するサーボモータと、
を備えた、数値制御機械システム。
【請求項６】
加工プログラムに基づいて機械の軸の方向の反転を検出する第１の反転検出部、前記加工プログラムを用いて生成される位置指令に基づいて前記軸の方向の反転を検出する第２の反転検出部、前記軸を駆動するサーボモータを制御するサーボ制御部の位置偏差又は位置フィードバック情報に基づいて前記軸の方向の反転を検出する第３の反転検出部、及び前記機械の可動部の位置情報に基づいて前記軸の方向の反転を検出する第４の反転検出部のうちの少なくとも１つの反転検出部と、
前記少なくとも１つの反転検出部により検出された反転箇所を可視化して被加工物の画像に重ねた画像を生成する描画部と、
前記描画部で生成された前記画像を出力する出力部と、
を備え、
コンピュータ上で動作する加工シミュレーション装置。
【請求項７】
加工プログラムに基づいて機械の軸の方向の反転を検出する第１の反転検出、前記加工プログラムを用いて生成される位置指令に基づいて前記軸の方向の反転を検出する第２の反転検出、前記軸を駆動するサーボモータを制御するサーボ制御装置の位置偏差又は位置フィードバック情報に基づいて前記軸の方向の反転を検出する第３の反転検出、及び前記機械の可動部の位置情報に基づいて前記軸の方向の反転を検出する第４の反転検出のうちの少なくとも１つの反転検出を行い、
前記少なくとも１つの反転検出により検出された反転箇所を可視化して被加工物の画像に重ねた画像を生成し、
生成された前記画像を出力する、
加工シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置、数値制御機械システム、加工シミュレーション装置、及び加工シミュレーション方法に係り、特に、工作機械、ロボット又は産業機械等の機械と、機械の軸を駆動するサーボモータを制御する数値制御装置、数値制御機械システム、加工シミュレーション装置、及び加工シミュレーション方法に関する。
【背景技術】
【０００２】
従来から、加工シミュレーションで解析したデータを実加工に使用する数値制御システムが知られている（例えば、特許文献１を参照）。
特許文献１には、「プログラムに基づいて機械を制御する数値制御装置と、前記プログラムの加工シミュレーション処理を実行する加工シミュレーション装置と、を備えた数値制御システムにおいて、前記プログラムに基づいて加工を行う際に用いられる加工情報を記憶する加工情報記憶部を備え、前記加工シミュレーション装置は、前記プログラムの加工シミュレーション処理に必要な情報を前記数値制御装置から取得する設定データ取得部と、前記設定データ取得部が取得した情報に基づいて前記プログラムの解析を行うプログラム解析部と、前記プログラム解析部が解析した結果から加工に必要となる情報である加工情報を取得する加工情報取得部と、前記加工情報取得部が取得した加工情報を前記加工情報記憶部に保存する加工情報保存部と、を備え、前記数値制御装置は、前記加工情報記憶部から加工情報を取得する解析情報取得部と、前記解析情報取得部が取得した加工情報を実際の加工に使用される情報を復元する復元部と、を備える、ことを特徴とする数値制御システム」が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３４５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
工作機械を用いて被加工物を加工する場合、被加工物の加工面に筋のような加工の問題が生ずる場合がある。このような加工の問題は工具の移動方向の反転箇所で生じやすく、加工の問題の発生原因が工具の移動方向の反転によるものかどうかを判断することが望まれている。
【課題を解決するための手段】
【０００５】
（１）  本開示の一態様の数値制御装置は、加工プログラムに基づいて位置指令を出力する位置指令生成部（例えば、後述の位置指令生成部１１０）と、
前記位置指令に基づいてサーボモータ（例えば、後述のサーボモータ２００）を制御するサーボ制御部（例えば、後述のサーボ制御部１２０）と、
前記加工プログラムに基づいて機械（例えば、後述の機械３００）の軸の方向の反転を検出する第１の反転検出部（例えば、後述の反転検出部１３１）、前記加工プログラムを用いて生成される前記位置指令に基づいて前記軸の方向の反転を検出する第２の反転検出部（例えば、後述の反転検出部１３２）、前記軸を駆動する前記サーボモータを制御する前記サーボ制御部の位置偏差又は位置フィードバック情報に基づいて前記軸の方向の反転を検出する第３の反転検出部（例えば、後述の反転検出部１３３）、及び前記機械の可動部の位置情報に基づいて前記軸の方向の反転を検出する第４の反転検出部（例えば、後述の反転検出部１３４）のうちの少なくとも１つの反転検出部と、
前記少なくとも１つの反転検出部により検出された反転箇所を可視化して被加工物の画像に重ねた画像を生成する描画部（例えば、後述の描画部１３５）と、
前記描画部で生成された前記画像を出力する出力部（例えば、後述の表示部１３６）と、
を備えた、数値制御装置（例えば、後述の数値制御装置１００）である。
【０００６】
（２）  上記（１）の数値制御装置において、前記第１の反転検出部、前記第２の反転検出部、並びに前記第３の反転検出部及び第４の反転検出部のいずれか一方のうち、少なくとも２つの反転検出部を備え、
前記描画部は、前記少なくとも２つの反転検出部により検出された少なくとも２つの反転箇所を反転箇所ごとに表示方法を変えて前記被加工物の画像に重ねた画像を生成してもよい。
【０００７】
（３）  上記（１）又は（２）のいずれかの数値制御装置において、前記出力部は、前記反転箇所を可視化して重畳された前記被加工物の画像を表示する表示部（例えば、後述の表示部１３６）であってもよい。
【０００８】
（４）  上記（１）から（４）のいずれかの数値制御装置において、前記機械は複数の軸を備え、
前記検出された反転箇所を可視化して、前記被加工物の画像に重ねるかどうかを前記複数の軸の軸ごとに指定する操作部（例えば、後述の操作部１３７）を備えてもよい。
【０００９】
（５）本開示の一態様の数値制御機械システムは、上記（１）から（４）のいずれかの数値制御装置と、機械と、前記機械の軸を駆動するサーボモータと、を備えた、数値制御機械システム（例えば、後述の数値制御機械システム１０）である。
【００１０】
（６）  本開示の一態様の加工シミュレーション装置は、加工プログラムに基づいて機械（例えば、後述の機械３００）の軸の方向の反転を検出する第１の反転検出部（例えば、後述の反転検出部１３１）、前記加工プログラムを用いて生成される位置指令に基づいて前記軸の方向の反転を検出する第２の反転検出部（例えば、後述の反転検出部１３２）、前記軸を駆動するサーボモータ（例えば、後述のサーボモータ２００）を制御するサーボ制御装置（例えば、後述のサーボ制御部１２０、２００Ａ）の位置偏差又は位置フィードバック情報に基づいて前記軸の方向の反転を検出する第３の反転検出部（例えば、後述の反転検出部１３３）、及び前記機械の可動部の位置情報に基づいて前記軸の方向の反転を検出する第４の反転検出部（例えば、後述の反転検出部１３４）のうちの少なくとも１つの反転検出部と、
前記少なくとも１つの反転検出部により検出された反転箇所を可視化して被加工物の画像に重ねた画像を生成する描画部（例えば、後述の描画部１３５）と、
前記描画部で生成された前記画像を出力する出力部（例えば、後述の表示部１３６）と、
を備え、
コンピュータ上で動作する加工シミュレーション装置（例えば、後述の加工シミュレーション部１３０）である。
【００１１】
（７）  本開示の一態様の加工シミュレーション方法は、加工プログラムに基づいて機械（例えば、後述の機械３００）の軸の方向の反転を検出する第１の反転検出、前記加工プログラムを用いて生成される位置指令に基づいて前記軸の方向の反転を検出する第２の反転検出、前記軸を駆動するサーボモータ（例えば、後述のサーボモータ２００）を制御するサーボ制御装置（例えば、後述のサーボ制御部１２０、２００Ａ）の位置偏差又は位置フィードバック情報に基づいて前記軸の方向の反転を検出する第３の反転検出、及び前記機械の可動部の位置情報に基づいて前記軸の方向の反転を検出する第４の反転検出のうちの少なくとも１つの反転検出を行い、
前記少なくとも１つの反転検出により検出された反転箇所を可視化して被加工物の画像に重ねた画像を生成し、
生成された前記画像を出力する、
加工シミュレーション方法である。
【発明の効果】
【００１２】
本開示の一態様によれば、被加工物の加工面上の筋のような加工の問題が生じた場合に加工の問題の発生原因が工具の移動方向の反転によるものかどうか判断でき、又は加工の問題が生じる可能性がある場所を認識することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態の数値制御機械システムの一構成例を示すブロック図である。
【図２】サーボモータを含む工作機械の一部を示すブロック図である。
【図３】加工プログラムの一部を示す図である。
【図４】加工プログラムにおけるＺ軸方向の反転箇所を検出するための処理を示すフローチャートである。
【図５】表示部に表示される、反転箇所を含まない場合のワークの描画を示す図である。
【図６】表示部に表示される、反転箇所を含む場合のワークの描画を示す図である。
【図７】工具先端点制御を説明するための図である。
【図８】加工形状が円弧の場合のオーバーシュートを説明するための図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を用いて詳細に説明する。
なお、以下に説明する実施形態では機械のＺ軸方向の反転を例にとって説明するが、本発明はＺ軸方向の反転に限定されず、例えば、Ｘ軸方向の反転及びＹ軸方向の反転等にも適用される。
【００１５】
図１は本発明の一実施形態の数値制御機械システムの一構成例を示すブロック図である。図１に示す数値制御機械システム（以下、ＮＣ機械システムという）１０は、数値制御装置（以下、ＮＣ装置という）１００、サーボモータ２００、及び機械３００を備えている。機械３００は、例えば、工作機械、ロボット、又は産業機械であるが、以下の説明では工作機械の例を取り上げて説明する。ＮＣ装置１００は機械３００に含まれてもよい。また、サーボモータ２００は、機械３００に含まれてもよい。
機械３００が複数の軸、例えばＸ軸、Ｙ軸、及びＺ軸の３軸を有する場合、サーボモータ２００は軸ごとに設けられる。
【００１６】
ＮＣ装置１００は、位置指令生成部１１０、サーボ制御部１２０、及び加工シミュレーション部１３０を備えている。加工シミュレーション部１３０は加工シミュレーション装置を構成する。
位置指令生成部１１０は、保存部１１１、スムージング制御部１１２、及び加減速制御部１１３を備えている。
保存部１１１は、入力される、加工経路を示す指令経路（指令点の配置）を含む加工プログラム及び工具情報を保存する。加工プログラムはＣＡＭ(Computer Aided Manufacturing)から出力される。加工実行指示に基づいて、加工ブログラム及び工具情報は保存部１１１から読みだされ、スムージング制御部１１２に入力される。加工プログラムは後述する反転検出部１３１に出力される。
スムージング制御部１１２は、加工プログラムが示す移動指令に基づく移動経路のスムージング制御を行う。具体的には、スムージング制御部１１２は、移動指令を滑らかな経路に補正した後、補正後の移動経路上の点を補間周期で補間する（経路補正）。
加減速制御部１１３は、スムージング制御部１１２で補間された移動指令、加減速時定数に基づく加減速度、最大速度に基づいて移動速度パターンを生成し、移動速度パターンに基づいて位置指令を生成し、位置指令をサーボ制御部１２０及び後述する反転検出部１３２へ出力する。
【００１７】
サーボ制御部１２０は、入力される位置指令と位置フィードバック情報の位置検出値との差となる位置偏差を求め、位置偏差を用いて速度指令を作成し、更に速度指令に基づいてトルク指令を生成してサーボモータ２００に出力する。位置偏差は後述する反転検出部１３３に出力される。
サーボモータ２００は、機械３００のＺ軸を駆動する。位置フィードバック情報は、機械３００に取り付けられたリニアスケールからの位置検出値を用いてもよい。図１では、サーボモータ２００及び機械３００から位置フィードバック情報がサーボ制御部１２０に出力されているが、いずれかの位置フィードバック情報がサーボ制御部１２０に出力されればよい。
【００１８】
図２はサーボモータを含む機械の一部を示すブロック図である。
サーボ制御部１２０は、サーボモータ２００で連結機構３０１を介してテーブル３０２を移動させ、テーブル３０２の上に搭載された被加工物（ワーク）を加工する。連結機構３０１は、サーボモータ２００に連結されたカップリング３０１１と、カップリング３０１１に固定されるボールねじ３０１３（可動部となる）とを有し、ボールねじ３０１３にナット３０１２が螺合されている。サーボモータ２００の回転駆動によって、ボールねじ３０１３に螺着されたナット３０１２がボールねじ３０１３の軸方向に移動する。連結機構３０１及びテーブル３０２は機械３００の一部である。
【００１９】
サーボモータ２００の回転角度位置は、サーボモータ２００に関連付けられた、位置検出部となるロータリエンコーダ２０１によって検出され、検出された信号は積分することで位置フィードバック情報（位置ＦＢ）としてサーボ制御部１２０へ出力される（「オープンループ制御」という）。
位置フィードバック情報は、機械３００のボールねじ３０１３の端部に取り付けられたリニアスケール３０３からの位置検出値を用いてもよい（「クローズドループ制御」という）。リニアスケール３０３は、ボールねじ３０１３の移動距離を検出し、その出力を位置フィードバック情報としてサーボ制御部１２０へ出力し、また機械３００の可動部となるボールねじ３０１３の位置情報として反転検出部１３４に入力する。
【００２０】
加工シミュレーション部１３０は、反転検出部１３１、反転検出部１３２、反転検出部１３３及び反転検出部１３４のいずれか一方、描画部１３５、表示部１３６及び操作部１３７を備えている。加工シミュレーション部１３０は加工シミュレーション装置として、ＮＣ装置１００の外部に設けることができ、パーソナルコンピュータ（ＰＣ）、サーバ等の情報処理装置で構成することができる。反転検出部１３１〜１３４は、第１の反転検出部、第２の反転検出部、第３の反転検出部及び第４の反転検出部に対応する。表示部１３６は液晶表示装置、プリンター等を用いることができる。表示部１３６は反転箇所が重畳された被加工物（ワーク）の画像を出力する出力部となる。出力部は画像を外部に送信する通信部又は画像を記憶する記憶部であってもよい。
以下の説明において、「反転検出部１３１、反転検出部１３２、反転検出部１３３及び反転検出部１３４のいずれか一方」は、特に断らない限り、単に「反転検出部１３１〜１３４」と記載する。
【００２１】
反転検出部１３１は、保存部１１１から出力される加工プログラムから例えば、Ｚ軸方向の反転箇所を検出する。図３は加工プログラムの一部を示す図である。図３に示すように、Ｚ軸方向の反転箇所は、「Ｘ２１．１６９６Ｙ１．２０３３Ｚ−２．７３８１」の位置であることが分かる。図３において、Ｘ、Ｙ及びＺはＸ軸、Ｙ軸及びＺ軸を示し、それに続く数値は座標を示す。
なお、図３では、加工プログラムの一部を示し、反転箇所を１カ所のみ示しているが、加工形状によって、反転箇所が複数存在し得ることは勿論である。
【００２２】
反転検出部１３１におけるＺ軸方向の反転箇所を検出するための処理について図４を用いて説明する。
図４は加工プログラムにおけるＺ軸方向の反転箇所を検出するための処理を示すフローチャートである。
ステップＳ１１において、加工プロラムのＺ軸方向の反転箇所検出を開始する開始行を第１行に設定する（ｎ＝１）。すなわち、反転箇所検出の開始行の番号をｎ（ｎは自然数）としたとき、ｎ＝１とする。なお、反転箇所検出の開始行は第１行以外の行に設定してもよい。
ステップＳ１２において、設定された第ｎ行のＺ軸の値と、次の行である第（ｎ＋１）行のＺ軸の値とを比較して移動方向を検出する。第（ｎ＋１）行のＺ軸の値＞第ｎ行のＺ軸の値ならば正の移動方向、第（ｎ＋１）行のＺ軸の値＝第ｎ行のＺ軸の値ならば停止（ゼロの移動方向）、第（ｎ＋１）行のＺ軸の値＜第ｎ行のＺ軸の値ならば負の移動方向とする。
【００２３】
ステップＳ１３において、ステップＳ１２において検出された移動方向が、記録した移動方向と異なるかを判断する。第ｎ行前のＺ軸の移動方向は記憶部に記録されており、例えば、Ｚ軸の移動方向として正の移動方向、又は負の移動方向が記録されている。この第ｎ行前のＺ軸の移動方向が記録した移動方向となる。
ステップＳ１３において、ステップＳ１２において検出された移動方向が、記録した移動方向と異なると判断された場合、ステップＳ１４において、移動方向が反転しているとして第ｎ行に反転フラグを設定して記憶部に保存（記録）する。ここで、移動方向が異なるとは、正の移動方向と負の移動方向との関係であることをいう。
なお、ステップＳ１３において、ｎ＝１の場合には第ｎ行前のＺ軸の移動方向がなく、記憶した移動方向がないので、ステップＳ１６に移る。
【００２４】
ステップＳ１５において、記録した移動方向を逆にして記憶部に保存して、ステップＳ１６に移る。具体的には、第ｎ行前のＺ軸の移動方向が正の方向であれば、負の方向として保存し、第ｎ行前のＺ軸の移動方向が負の方向であれば、正の方向として保存する。また、第ｎ行のＺ軸の値を反転箇所として記憶部に保存する。
【００２５】
ステップＳ１３において、検出された移動方向が、記録した移動方向と異ならない場合、ステップＳ１６に移る。ステップＳ１３において、検出された移動方向が停止場合には反転していないので、ステップＳ１６に移る。
【００２６】
ステップＳ１６において、ｎに１を加えて新たなｎの値（ｎ＝ｎ＋１）を設定する。
【００２７】
ステップＳ１７において、第ｎ行が加工プログラムにおける最終行かの判断を行う。第ｎ行が加工プログラムにおける最終行の場合には、Ｚ軸方向の反転箇所の検出処理を終了する。第ｎ行が加工プログラムにおける最終行でない場合には、ステップＳ１２に戻り、ステップＳ１２からステップＳ１７までの処理を行う。ステップＳ１２からステップＳ１７までの処理の繰り返しにより、加工プログラムのＺ軸方向の反転箇所は、行番号、反転フラグ、軸の値が記憶部に保存されていく
以上説明した、反転検出部１３１におけるＺ軸方向の反転の検出処理により、加工プログラムに定義された指令経路に基づいてＺ軸方向の反転箇所を得ることができる。
【００２８】
描画部１３５は、反転検出部１３１で加工プログラムから検出された反転箇所を可視化して被加工物（ワーク）の画像に重ねて、ワークに反転箇所が示された画像情報を作成して（第１画像情報という）、表示部１３６に送る。ここで、反転箇所の可視化はワークの画像と視覚で判別できるように処理することをいい、例えば、表示色、線の太さ、線のパターン（実線、破線、一点鎖線等）等の表示方法をワークの画像と変えることをいう。
描画部１３５は、可視化された反転箇所を含む指令経路点をプロットした描画情報（２次元のワークの画像情報）を作成したり、３次元ソリッドモデルを用いて可視化された反転箇所を重ねたワークの画像情報を作成することができる。なお、後述するように、描画部１３５は、後述する反転検出部１３２、反転検出部１３３及び反転検出部１３４により検出された反転箇所を可視化して、それぞれワークの画像に重ねて、ワークに反転箇所が示された画像情報をそれぞれ作成して（それぞれ第２画像情報、第３画像情報、第４画像情報という）、表示部１３６に送る。
【００２９】
操作部１３７は、ユーザから入力される選択情報に基づいて、描画部１３５から表示部１３６に送られる画像情報を描画部１３５に対して指示する。描画部１３５は、操作部１３７からの指示に基づいて、第１画像情報、第２画像情報、第３画像情報及び第４画像情報のうちから１つを選択して表示部１３６に送る。
表示部１３６は描画部１３５で作成された画像情報を表示する。
上述したように、機械３００が複数の軸、例えばＸ軸、Ｙ軸、及びＺ軸の３軸を有する場合、サーボモータ２００は軸ごとに設けられる。この場合、操作部１３７は、ユーザによる軸の選択情報に基づいて、検出された反転箇所を可視化して、被加工物（ワーク）の画像に重ねるかどうかを機械３００の軸ごとに選択して表示部１３６に送るように、描画部１３５に指定してもよい。
【００３０】
図５は表示部に表示される、反転箇所を含まない場合のワークの描画を示す図である。図６は表示部に表示される、反転箇所を含む場合のワークの描画を示す図である。図５及び図６は、３次元ソリッドモデルを用いた描画を示す図である。
図５に示す、表示部１３６の表示画面上のワーク２０は、傾斜部２１−１、傾斜部２１−１と逆形状の傾斜部２１−２、円状の穴部２２−１、穴部２２−１と逆形状の円状の突出部２２−２、断面が円弧状の凹面２３−１、凹面２３−１と逆形状の、断面が円弧状の凸面２３−２、四角溝２４−１、及び四角溝２４−１と逆形状の四角凸部２４−２を備えている。
【００３１】
図６に示す、表示部１３６の表示画面上のワーク２０Ａは、図５に示すワーク２０の画像に反転箇所を重ね合わせたワークの画像である。
工具の往復加工などで隣接する工具経路で高低差が規則的に揃うと筋となり、肉眼で確認することができる。実際に加工プログラムに基づいて機械３００で作製されるワークに筋が生じた場合、ユーザは作製されたワークの筋が、図６に示される、反転検出部１３１で検出された、Ｚ軸方向の反転箇所の線と一致するかどうかを観察する。作製されたワークの筋が、図６に示される、Ｚ軸方向の反転箇所の線と一致する場合は、当該筋が加工プログラムに定義された指令経路におけるＺ軸方向の反転が原因となって生じたものであることが分かる。作製されたワークの筋が、図６に示される、Ｚ軸方向の反転箇所の線と一致しない場合は、当該筋は加工プログラムのＺ軸方向の反転以外の要因が原因となって生じたものであることが分かる。
以上のようにして、ワークの加工不具合（筋の形成）の原因が、反転検出部１３１を用いることで、加工プログラムに定義された指令経路における反転に基づくものであるか否かの判断が可能となる。
【００３２】
次に、反転検出部１３２におけるＺ軸方向の反転箇所を検出するための処理について説明する。反転検出部１３２におけるＺ軸方向の反転箇所を検出するための処理は、加工プログラムの第ｎ行のＺ軸の値と第（ｎ＋１）行のＺ軸の値とを比較して移動方向を検出していたのを、位置指令生成部１１０により生成された位置指令の変化（増加、維持又は減少）に基づいて移動方向を検出することを除いて、図４に示したフローチャートと同様にして行われる。
【００３３】
反転検出部１３２は、加減速制御部１１３から出力される位置指令から、Ｚ軸方向の反転箇所を検出する。
描画部１３５は、反転検出部１３２で検出された反転箇所を可視化してワークの画像に重ねて、ワークに反転箇所が示された画像情報を作成し、表示部１３６は描画部１３５で作成された画像情報を表示する。
【００３４】
実際に加工プログラムに基づいて機械３００で作製されるワークに筋が生じた場合、ユーザは作製されたワークの筋が、反転検出部１３２で検出されたＺ軸方向の反転箇所の線と一致するかどうかを観察する。作製されたワークの筋が、Ｚ軸方向の反転箇所の線と一致する場合は、当該筋が位置指令生成部１１０により生成された位置指令におけるＺ軸方向の反転が原因となって生じたものであることが分かる。作製されたワークの筋が、Ｚ軸方向の反転箇所の線と一致しない場合は、当該筋は位置指令生成部１１０によるＺ軸方向の反転以外の要因が原因となって生じたものであることが分かる。
加工プログラムでは各軸の移動指令が一般的であるが、同時５軸加工では、直線軸の３軸に回転軸の２軸が付加されるため、機械構造と工具長を考慮した制御点の移動量を考慮することが求められる。５軸加工機械の加工プログラムは、工具の先端位置とワークに対する工具の傾きを指令することで、図７に示すように工具先端点制御で経路Ｌ１のように工具３０４の先端点の経路を指令するが、位置指令生成部１１０は工具の先端位置とワークの対する工具の傾きとの両者を満たすように工具と機械構造を考慮した各軸の制御点を計算する。例えば、図７に示す経路Ｌ２のように位置指令生成部１１０は工具３０４の制御点のＺ軸方向の円弧状の経路Ｌ２を求める。このような経路Ｌ２のＺ軸方向の反転箇所は加工プログラムを解析しても検出することができないため、反転検出部１３２は位置指令に基づいて経路Ｌ２でのＺ軸方向の反転箇所を検出する。
以上のようにして、ワークの加工不具合（筋の形成）の原因が、反転検出部１３２を用いることで、位置指令におけるＺ軸方向の反転に基づくものであるか否かの判断が可能となる。
【００３５】
次に、反転検出部１３３におけるＺ軸方向の反転箇所を検出するための処理について説明する。
反転検出部１３３におけるＺ軸方向の反転箇所を検出するための処理は、加工プログラムの第ｎ行のＺ軸の値と第（ｎ＋１）行のＺ軸の値とを比較して移動方向を検出していたのを、位置偏差（位置指令と位置フィードバック情報との差）の変化（増加、維持又は減少）に基づいて移動方向を検出することを除いて、図４に示したフローチャートと同様にして行われる。
反転検出部１３３は、サーボ制御部１２０から出力される位置偏差から、例えば、Ｚ軸方向の反転箇所を検出する。サーボモータ２００は機械３００の工具をＺ軸の目標位置に位置決めするときに、サーボ制御部１２０の特性に起因してオーバーシュートが発生する場合がある。このオーバーシュートによりＺ軸の目標位置を超えた位置から目標位置に戻すためにＺ軸方向の反転が生ずる。このオーバーシュートにより生ずる反転はサーボ制御部１２０の、フィードフォワード制御等の特性に基づくものであって、加工プログラムに定義された指令経路及び位置指令生成部１１０により生成された位置指令に基づくものではない。反転検出部１３３は、位置偏差からＺ軸方向の反転箇所を検出することで、例えばオーバーシュート等により生ずる反転を検出することができる。
【００３６】
具体的には、加工形状が円弧の場合は、図８に示すように、工具をＺ軸方向に移動するサーボモータ２００は位置Ａ１で、回転方向が反転し、工具をＸ軸方向に移動するサーボモータは位置Ａ１の近傍でほぼ定速度で一定方向に回転する。このとき、工具をＺ軸方向に移動するサーボモータの回転方向が位置Ａ１で反転しようとした時に、オーバーシュートが生じると、半径方向に突起が生ずる。この突起の部分で位置偏差が増大しその後減少するので反転検出部１３３はＺ軸方向の反転箇所を検出することができる。
【００３７】
描画部１３５は、反転検出部１３３で検出された反転箇所を可視化して被加工物（ワーク）の画像に重ねて、ワークに反転箇所が示された画像情報を作成し、表示部１３６は描画部１３５で作成された画像情報を表示する。
【００３８】
実際に加工プログラムに基づいて機械３００で作製されるワークに筋が生じた場合、ユーザは作製されたワークの筋が、反転検出部１３３で検出されたＺ軸方向の反転箇所の線と一致するかどうかを観察する。作製されたワークの筋が、Ｚ軸方向の反転箇所の線と一致する場合は、当該筋がサーボ制御部１２０の制御によるＺ軸方向の反転が原因となって生じたものであることが分かる。作製されたワークの筋が、Ｚ軸方向の反転箇所の線と一致しない場合は、当該筋がサーボ制御部１２０の制御によるＺ軸方向の反転以外の要因が原因となって生じたものであることが分かる。
【００３９】
なお、ここでは、図２に示したサーボモータ２００に取り付けられたロータリエンコーダ２０１の出力を積分して得らえる位置フィードバック情報（位置検出値）を用いてＺ軸方向の反転箇所を検出した。
以上のようにして、ワークの加工不具合（筋の形成）の原因が、オープンループ制御方式における反転検出部１３３を用いることで、フィードフォワード制御等の特性によるオーバーシュート等により生ずる反転に基づくものであるか否かの判断が可能となる
【００４０】
次に、反転検出部１３４におけるＺ軸方向の反転箇所を検出するための処理について説明する。
反転検出部１３４におけるＺ軸方向の反転箇所を検出するための処理は、加工プログラムの第ｎ行のＺ軸の値と第（ｎ＋１）行のＺ軸の値とを比較して移動方向を検出していたのを、リニアスケール３０３からの位置情報（位置検出値）の変化（増加、維持又は減少）に基づいて移動方向を検出することを除いて、図４に示したフローチャートと同様にして行われる。リニアスケール３０３から出力される位置情報はリニアスケール３０３から出力される位置フィードバック情報と同じ信号である。
ボールネジの劣化、バックラシュ等により、Ｚ軸の目標位置に位置決めするときに、オーバーシュートが発生する場合がある。このオーバーシュートによりＺ軸の目標位置を超えた位置から目標位置に戻すために反転が生ずる。
このオーバーシュートにより生ずる反転は、ボールネジの劣化、バックラシュ等の機械３００の特性に起因する場合は、加工プログラム、位置指令によっては検出できない。また、オープンループ制御方式は検出できない場合がある。機械３００に取り付けられたリニアスケール３０３の位置情報を用いて、反転検出部１３４によってＺ軸方向の反転箇所を検出する。サーボ制御部１２０は、位置フィードバック情報として、機械３００に取り付けらえたリニアスケール３０３から求められる位置情報を用いてもよい。
【００４１】
なお、ボールネジの劣化、バックラシュ等の機械３００の特性に起因するオーバーシュートもサーボ制御部１２０の特性に起因してオーバーシュートと同様に、オーバーシュートが生じると、図８に示すような、半径方向に突起が生ずる。この突起の部分で位置検出値が増大しその後減少するので反転検出部１３４はＺ軸方向の反転箇所を検出することができる。
【００４２】
描画部１３５は、反転検出部１３４で検出された反転箇所を可視化してワークの画像に重ねて、ワークに反転箇所が示された画像情報を作成し、表示部１３６は描画部１３５で作成された画像情報を表示する。
【００４３】
実際に加工プログラムに基づいて機械３００で作製されるワークに筋が生じた場合、ユーザは作製されたワークの筋が、反転検出部１３４で検出されたＺ軸方向の反転箇所の線と一致するかどうかを観察する。作製されたワークの筋が、Ｚ軸方向の反転箇所の線と一致する場合は、当該筋が機械３００の駆動によるＺ軸方向の反転が原因となって生じたものであることが分かる。作製されたワークの筋が、Ｚ軸方向の反転箇所の線と一致しない場合は、当該筋が機械３００の駆動によるＺ軸方向の反転以外の要因が原因となって生じたものであることが分かる。
以上のようにして、ワークの加工不具合（筋の形成）の原因が、クローズドループ制御方式における反転検出部１３４を用いることで、機械３００の駆動によるＺ軸方向の反転に基づくものであるか否かの判断が可能となる
【００４４】
以上の説明では、操作部１３７が、ユーザから入力される選択情報に基づいて、描画部１３５から表示部１３６に送られる画像情報（第１画像情報、第２画像情報、第３画像情報及び第４画像情報のうちの１つ）を描画部１３５に対して指示するとしていた。そして、機械３００で作製されたワークの筋と、反転検出部１３１〜１３４のいずれかで検出されたＺ軸方向の反転箇所の線とを比較することで、ワークの加工不具合の発生原因を判断していた。
【００４５】
しかし、反転検出部１３１〜１３４のうちの少なくとも２つの反転検出部で検出された、少なくとも２つのＺ軸方向の反転箇所を可視化して図５に示したワークに重ねて表示部１３６に表示して、機械３００で作製されたワークの筋と比較して、発生原因を判断することができる。その場合、少なくとも２つの反転箇所のそれぞれの反転箇所ごとに表示色、線の太さ、線のパターン（実線、破線）等の表示方法を変えて表示することが好ましい。
例えば、反転検出部１３１、反転検出部１３２及び反転検出部１３３で検出されたＺ軸方向の３つの反転箇所の線を赤色、青色、緑の３色でワークに重ねて表示することで、Ｚ軸方向の３つの反転箇所の線と、機械３００で作製されたワークの筋と比較して、機械３００で作製されたワークの筋が３つの反転箇所のどの線と一致するかで、筋が生じた原因が、加工プログラムと、ＮＣ装置と、サーボ制御装置とのいずれにあるのかを判断できる。
なお、図１に示した加工シミュレーション部１３０は反転検出部１３１〜１３４のすべてを含んでいなくともよく、反転検出部１３１、反転検出部１３２、反転検出部１３３、反転検出部１３４のうちの少なくとも１つの反転検出部を備えていればよい。
【００４６】
（変形例）
上述した実施形態では、ＮＣ機械システム１０は、ＮＣ装置１００がサーボ制御部１２０及び加工シミュレーション部１３０を含む例について説明した。しかしながら、サーボ制御部１２０又は／及び加工シミュレーション部１３０の一部はＮＣ装置の外部に設けてもよい。
サーボ制御部１２０及び加工シミュレーション部１３０の一部をＮＣ装置の外部に設けた場合、第３の反転検出部となる反転検出部１３３はサーボ制御部１２０に、反転検出部１３４はＮＣ装置１００の外部に設けられるようにしてもよい。
【００４７】
以上説明した、本実施形態によれば、被加工物の加工面上の筋のような加工の問題が生じた場合に加工の問題の発生原因が工具の移動方向の反転によるものかどうか判断でき、又は加工の問題が生じる可能性を判断できる。
更に、工具の移動方向の反転箇所は、加工プログラム、位置指令生成部、サーボ制御部、及び機械によって影響される。しかしながら、本実施形態によれば、被加工物の加工面に筋のような加工の問題が生じた場合、発生原因が加工プログラムと、位置指令生成部と、サーボ制御部と、機械との少なくとも一方と、のうちのどれによって生じたかを特定することができる。
更に、機械加工前においても、工具の移動方向の反転による加工の問題が生じる可能性がある場所を認識することができる。
【００４８】
以上本発明に係る各実施形態について説明したが、上記のＮＣ装置、及びＮＣ装置に含まれる位置指令生成部１１０、サーボ制御部１２０、及び加工シミュレーション部等の各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記各構成部のそれぞれの協働により行なわれる加工シミュレーション方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００４９】
プログラムは、様々なタイプの非一時的なコンピュータ読み取り可能な記録媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ読み取り可能な記録媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ読み取り可能な記録媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。
【００５０】
図１に示したＮＣ装置１００、位置指令生成部１１０、サーボ制御部１２０、及び加工シミュレーション部（ＮＣ装置１００等という）に含まれる機能ブロックを実現するために、ＮＣ装置１００等は、ＣＰＵ（Central Processing Unit）等の演算処理装置を備えるコンピュータで構成することができる。また、ＮＣ装置１００等は、アプリケーションソフトウェアやＯＳ（Operating System）等の各種の制御用プログラムを格納したＨＤＤ（Hard Disk Drive）等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Random Access Memory）といった主記憶装置も備える。
【００５１】
そして、ＮＣ装置１００等において、演算処理装置が補助記憶装置からアプリケーションソフトウェアやＯＳを読み込み、読み込んだアプリケーションソフトウェアやＯＳを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやＯＳに基づいた演算処理を行なう。また、この演算結果に基づいて、ＮＣ装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００５２】
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
例えば、機械の例として工作機械について説明したが、ロボット及び産業機械にも適用でき、ロボットのアームが軸方向の反転を伴なって往復移動で塗装又は溶接を行う場合に本実施形態の数値制御装置、数値制御機械システム、加工シミュレーション装置、及び加工シミュレーション方法を適用することができる。
【符号の説明】
【００５３】
１０、１０Ａ  ＮＣ機械システム
１００  ＮＣ装置
１１０  位置指令生成部
１２０  サーボ制御部
１３０  加工シミュレーション部
１３１〜１３４  反転検出部
１３５  描画部
１３６  表示部
１３７  操作部
２００  サーボモータ
３００  機械
【図１】
2020098523.tif 000003
【図２】
2020098523.tif 000004
【図３】
2020098523.tif 000005
【図４】
2020098523.tif 000006
【図５】
2020098523.tif 000007
【図６】
2020098523.tif 000008
【図７】
2020098523.tif 000009
【図８】
2020098523.tif 000010