(57)【特許請求の範囲】
【請求項１】
加工プログラムに従った位置指令により工作機械の複数の軸の動きを制御し、前記軸の位置情報を取得する制御部と、
前記加工プログラムに記載されている命令の種類または移動に関する命令に基づいて、前記加工プログラム中の監視対象とする監視箇所および監視対象とする前記軸である監視軸を決定する監視箇所決定部と、
前記監視軸の前記監視箇所における前記位置情報に基づいた誤差或いは偏差が所定の閾値を超えるか否かを監視する監視部と、を備え、
前記制御部は前記監視部の監視結果に基づいて前記軸の動きを制御する数値制御装置であって、
前記監視結果に基づいて、前記誤差或いは前記偏差の原因が、機械的な要因であるか或いは制御的な要因であるかを提示し、さらに当該要因の分析結果を出力手段に出力する分析部を備える
ことを特徴とする数値制御装置。
【請求項２】
前記監視部は、前記監視箇所における前記位置情報として、前記工作機械に設置したセンサが測定する前記軸の機械位置と、前記軸を駆動するモータに設置された位置検出器が測定するモータ位置と、を用いる
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記監視箇所は、少なくとも１つの前記軸がお互いに逆方向に移動する一対の位置決め移動の終点もしくは始点を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記監視箇所は、位置決め移動または切削送り移動の後に所定時間停止する箇所を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項５】
前記監視箇所は、象限突起箇所を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項６】
前記監視箇所は、前記加工プログラムに記載されている移動命令から、切削抵抗が大きい又は切削抵抗の変化が大きいと判断される箇所を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項７】
前記切削抵抗が大きい又は切削抵抗の変化が大きいと判断される箇所は、加工サイクルにおける
１）最初の切削送り移動
２）最後の切削送り移動
３）穴の入口、穴底、穴の抜け際
４）溝の端部
５）ポケットのコーナー部
のいずれかもしくはこれらの組合せである
ことを特徴とする請求項６に記載の数値制御装置。
【請求項８】
前記監視箇所は、象限突起箇所或いは切削抵抗が大きい又は切削抵抗の変化が大きいと判断される箇所であって速度指令または加速度指令が小さいと想定される箇所を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項９】
前記速度指令または加速度指令が小さいと想定される箇所は、指令経路が接線連続であるかもしくは接線の方向変化が小さい箇所であり、且つ送り速度指令が一定である箇所であり、且つ少なくとも１つの軸の速度の符号が反転する箇所である
ことを特徴とする請求項８に記載の数値制御装置。
【請求項１０】
前記監視箇所は、前記工作機械の質量、慣性モーメント、または減速比のいずれかの変化が大きい箇所を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項１１】
前記工作機械の質量、慣性モーメント、または減速比のいずれかの変化が大きい箇所は、
１）ワーク、工具または治具を交換した直後
２）ワーク、工具または治具を交換後にサーボ制御を開始した時点
３）ワーク、工具または治具を交換後の最初の移動
のいずれかもしくはこれらの組合せである
ことを特徴とする請求項１０に記載の数値制御装置。
【請求項１２】
前記監視箇所は、仕上げ加工用の加工サイクル、精度が指定された箇所、或いは仕上げ加工用の加工サイクルであって精度が指定された箇所を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項１３】
前記監視箇所は、制御する前記軸の構成を変更した直後、もしくは当該変更後の最初の移動を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項１４】
前記監視箇所は、位置または速度の制御に関する制御モードを変更した後の最初の移動を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項１５】
前記監視箇所は、前記センサから出力されるセンサ信号あるいは前記モータの負荷が所定の値もしくは所定の範囲内となれば移動を停止するような移動命令を含む
ことを特徴とする請求項２に記載の数値制御装置。
【請求項１６】
前記監視箇所決定部は、前記加工プログラムに記載された移動指令の種類に応じて、前記監視軸を変更する
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項１７】
前記監視箇所は、前記加工プログラム中に同一の加工サイクルが複数含まれる場合において、当該同一の加工サイクルの最初の加工または最後の加工あるいはその両方を含む
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項１８】
前記監視部は、前記監視箇所が同一の種類で複数の移動にわたって連続している場合には、その最初の移動または最後の移動或いはその両方のみにおいて監視する
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項１９】
前記監視軸の前記監視箇所における前記位置情報をログデータとして記録する記憶手段を備える
ことを特徴とする請求項１〜１８のいずれか１項に記載の数値制御装置。
【請求項２０】
前記ログデータは、前記監視軸の負荷データを含む
ことを特徴とする請求項１９に記載の数値制御装置。
【請求項２１】
前記出力手段が出力する前記監視箇所決定部が決定した前記監視箇所および前記監視軸を作業者が修正する入力手段を備え、
前記監視部は、修正後の前記監視軸の修正後の前記監視箇所において監視する
ことを特徴とする請求項１〜２０のいずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の各軸の位置を監視することで、精度不良を防ぐための数値制御装置に関する。
【背景技術】
【０００２】
工作機械はワークに対する工具の移動を行なうことで所望の形状のワーク（加工物）を加工するものである。工作機械の運動精度はワークの精度に直結する。したがって精度不良のワークを大量に加工して市場に流出してしまうようなことがないように、数値制御装置には工作機械の各軸の位置を監視する機能が備えられている。【０００３】
例えば、特許文献１または２に記載された従来の数値制御装置においては、位置を監視する箇所を、加工プログラムのシーケンス番号やＧコードあるいは付属情報として作業者が指定を行なっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１０２５６８号公報
【特許文献２】特開２００５−０１１２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来の数値制御装置では、位置の監視箇所を人が指定するため、その設定が手間であるという問題点があった。また人が指定することから、位置監視箇所を誤って指定したり、あるいは指定漏れがあったりして、確実に監視することができない場合があるという問題があった。【０００６】
位置監視箇所を指定した箇所とはしないで、加工プログラムの中の動作全体に対して常時監視を行なうようにすれば、指定の手間も誤りもなくなるが、その反面で、監視の処理や監視のためのデータ量が大きくなり、計算機の処理負荷や使用するメモリ容量が大きくなってしまうという問題があった。また、加工プログラム中にＧコード等で監視箇所を指定する場合には、加工プログラムを誤って修正してしまって加工に影響を与えたり、追加したＧコードの処理のためにサイクルタイムが延びたりするという問題もあった。【０００７】
本発明は、上記に鑑みてかかる問題点を解決するためになされたものであって、加工プログラムを修正せず、自動的に位置監視箇所を決定することで、人の設定をせずとも自動的に必要な箇所の位置が正しいか、位置の誤差が過大ではないかを監視することができる数値制御装置を得ることを目的としている。【０００８】
また位置監視箇所を決定するだけでなく、各位置監視箇所において監視するデータの種類も自動的に決定することができる数値制御装置を得ることを目的としている。【０００９】
さらには、自動的に監視箇所を決定しつつも、計算機の処理時間や必要なメモリ量をさらに削減したり、逆により多くのデータを監視したり出来るように調整が可能なように、自動決定した位置監視箇所および各位置監視箇所において監視するデータの種類を作業者が変更することができることを目的としている。【００１０】
さらに、精度劣化の原因が機械側に起因するか、制御側に起因するかを、切り分けるための情報を簡単に収集し、分析、表示を行なうことができる数値制御装置を得ることを目的としている。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、加工プログラムに従った位置指令により工作機械の複数の軸の動きを制御し、前記軸の位置情報を取得する制御部と、前記加工プログラムに記載されている命令の種類または移動に関する命令に基づいて、前記加工プログラム中の監視対象とする監視箇所および監視対象とする前記軸である監視軸を決定する監視箇所決定部と、前記監視軸の前記監視箇所における前記位置情報に基づいた誤差或いは偏差が所定の閾値を超えるか否かを監視する監視部と、を備え、前記制御部は前記監視部の監視結果に基づいて前記軸の動きを制御する数値制御装置であって、前記監視結果に基づいて、前記誤差或いは前記偏差の原因が、機械的な要因であるか或いは制御的な要因であるかを提示し、さらに当該要因の分析結果を出力手段に出力する分析部を備えることを特徴とする。
【発明の効果】
【００１２】
本発明にかかる数値制御装置は、位置を監視する箇所を加工プログラムの修正なしに自動的に抽出することができるので、手間なく簡単に位置を監視することができる。また、人手で位置監視箇所を指定するのではないので、指定誤りや指定漏れを防ぐことができる。これにより、不良ワークの発生を防止することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態にかかる数値制御装置の構成を示す構成図である。
【図２】図２は、実施の形態にかかる数値制御装置における処理の流れを示すフローチャートである。
【図３】図３は、実施の形態にかかる決定パラメータの一例を示す表である。
【図４】図４は、実施の形態にかかる加工プログラムの第１の例を示す図である。
【図５】図５は、実施の形態にかかる加工プログラムの第２の例を示す図である。
【図６】図６は、実施の形態にかかる加工プログラムの第３の例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態．
図１は、本発明の実施の形態にかかる数値制御装置１の構成を示す構成図である。図１において、数値制御装置１は、工作機械３の各軸のドライブユニット２１および２２（サーボアンプ、主軸アンプ）を制御する。数値制御装置１は、例えば、パーソナルコンピュータのようにバッファ（記憶手段）を備えて出力装置が接続された電子計算機などによって実現される。
【００１６】
工作機械３は、テーブル３１（またはチャック）に取り付けられた図示しないワーク（加工対象物）に対する図示しない工具の相対的な運動を行なうための、Ｘ軸、Ｙ軸、Ｚ軸の直線軸と、ワークまたは工具を回転する主軸を備えるが、図１では紙面の都合でＸ軸とＹ軸のみを記載している。また、各軸はそれぞれ駆動用のモータを備え、モータはそれぞれのドライブユニット２１および２２で駆動制御される。
【００１７】
数値制御装置１は、制御部１０２、位置監視箇所決定部１１１、位置監視部１１３、分析部１１５、出力部１１６、および入力部１３０を備える。制御部１０２は、加工プログラム１０１に従って、所望の運動を行なうために、ドライブユニット２１および２２に位置指令１０３を与え、またドライブユニット２１および２２から位置フィードバック１０４（位置検出値）と負荷フィードバック１０５（負荷検出値）を取得する。また制御部１０２は、工作機械３に設置されたセンサ３２からのセンサ信号３３を取得する。センサ３２が各軸の機械位置を測定するセンサである場合、センサ信号３３は各軸の機械位置を示す。
【００１８】
ここで、位置フィードバック１０４はモータに設置された位置検出器（エンコーダ等）で測定される。また、負荷フィードバック１０５はモータに加わる負荷をモータに設置された負荷検出器で測定するもので、ここでいう負荷は具体的には電流、電圧、トルクあるいは電力を指す。また、センサ３２は、工作機械３の所定の位置に設置されていて、機械の位置を測定または機械が特定の位置にいること判定するセンサであって、例えば、リニアスケール、近接センサ、ドグスイッチ、タッチセンサなどである。センサ信号３３は、センサ３２から制御部１０２に送られる信号であって、機械の位置の検出値、または機械が特定の位置にいることを示す信号（例えば、特定の位置にいればＯＮ、そうでないならＯＦＦとなる信号）である。
【００１９】
制御部１０２から位置監視部１１３に、各軸の位置データ１２１（位置情報）を送る。ここで、位置データ１２１は位置指令１０３、位置フィードバック１０４であり、さらにセンサ３２が設置された機械の場合にはセンサ信号３３を含める。このとき、位置フィードバック１０４、位置指令１０３、センサ信号３３のいずれかもしくは組合せから算出されるデータを送付してもよい。
【００２０】
ここで、算出されるデータとは、位置偏差（＝位置指令１０３と位置フィードバック１０４との差）、同期誤差（＝同期して動作する複数軸の位置フィードバック１０４の位置の同期誤差）、モータ位置（位置フィードバック１０４）と機械位置（機械位置を測定するセンサ３２を用いたときセンサ信号３３）との差（機械的誤差）、などである。例えば、同期誤差は複数軸の位置フィードバック１０４の差から計算できるので、位置監視部１１３で計算により求めても良い。ただし、位置監視部１１３でこのデータを監視するならば、制御部１０２で事前に計算した同期誤差だけを送ることで、制御部１０２から位置監視部１１３への送信データ量を減らすことができるため、通信に伴う処理負荷を減らすことができる。位置データ１２１（位置情報）に機械位置とモータ位置の両方を用いる、即ち、機械の位置を検出できる位置で機械位置とモータ位置の両方を監視することで、位置の誤差が生じた場合に、機械側に問題があるのか、モータを含めた制御側に問題があるのかを切り分けることができるので、問題の解決が容易となる。
【００２１】
さらに、制御部１０２から位置監視部１１３に、各軸の負荷データ１２２を送ることで、位置データ１２１と負荷データ１２２を合わせて記録し、誤差要因の分析や画面表示に利用することが可能となる。負荷データ１２２はドライブユニット２１および２２より取得された負荷フィードバック１０５、または負荷フィードバック１０５から算出される換算後の負荷（例えば、負荷フィードバック１０５はモータ電流、負荷データ１２２はそれにトルク定数を乗じたトルク）の値とする。負荷データ１２２も位置監視部１１３で監視するデータに合わせて送る。
【００２２】
位置監視箇所決定部１１１では加工プログラム１０１から位置監視箇所を自動決定し、位置監視箇所データ１１２として出力する。ここでいう箇所とは位置でもタイミング（時刻、経過時間）でも良い。位置監視箇所決定部１１１では、加工プログラム１０１において指令されている命令（Ｇコード、Ｍコード等）の種類や、移動に関する特徴量から、条件に合致する移動監視箇所を決定する。ここで移動に関する特徴量とは、移動の経路または移動における位置・速度の時間的変化に関わる特徴量であり、具体的には、移動距離、移動方向、曲率半径または曲率、移動方向の変化、移動速度、移動速度の変化、移動時間、加減速時間、停止時間などとする。位置監視箇所の条件とする命令の種類、および位置監視箇所の条件とする移動に関する特徴量（各特徴量のしきい値（基準値）または範囲）は、決定パラメータ１３２として、入力部１３０から位置監視箇所決定部１１１へ入力することが可能であるとする。このようにして移動監視箇所を決定することで、移動動作の中から、監視が必要な箇所に絞って監視することができるので、監視に必要な処理負荷が低減し、またデータを記憶する場合にはそのデータサイズを減らせるという効果が得られる。位置監視箇所決定部１１１が決定パラメータ１３２に基づいて、加工プログラム１０１から位置監視箇所を決定する具体的な手順の説明は図２および図３を用いて後で詳述する。
【００２３】
位置監視部１１３は、位置監視箇所データ１１２に従って、位置を監視する箇所において、位置データ、センサデータおよび負荷データを取得し、位置の監視を行なう。具体的には以下の位置監視を行なう。
・位置フィードバック１０４が基準位置からずれているか
・位置指令１０３が加工プログラム１０１において指令された所定の目標位置からずれているかどうか
・位置偏差が大きいかどうか
・同期誤差が大きいかどうか
・軌跡誤差（指令形状と位置フィードバック１０４の軌跡の誤差）が大きいかどうか
・機械位置とモータ位置の誤差が大きいかどうか
【００２４】
これらの監視においては、誤差や偏差が大きいかどうかを判定するしきい値（基準値）は、監視パラメータ１３４として入力部１３０から位置監視部１１３へ入力される。加工プログラム１０１に作業者１０が位置監視箇所を指令するのではなく、位置監視箇所決定部１１１で自動決定された位置監視箇所において自動的に上記のような監視を行なうことで、作業者１０による加工プログラム作成の手間をかけることなく、位置監視が可能となる。
【００２５】
なお、位置監視部１１３は、位置監視箇所データ１１２による位置監視箇所の全てを監視しないで、同一の種類で複数の移動にわたって連続して位置監視箇所が決定されている場合には、その最初の移動または最後の移動或いはその両方のみにおいて位置監視するようにしても構わない。少ない監視箇所で効果的に監視を行うことで、監視に伴う処理負荷の低減と、監視データを記憶する場合のデータサイズ削減が可能となる。
【００２６】
位置監視部１１３による上述した位置監視の結果である位置監視結果１２５は、位置監視部１１３から制御部１０２に伝達される。制御部１０２では、位置監視部１１３から送られた位置監視結果１２５によって、動作速度を下げる、動作を一時停止する、加工プログラム１０１の運転を中止する、等の制御を行なう。
【００２７】
位置監視結果１２５はログデータ１１４として数値制御装置１のバッファ（記憶手段）に記憶される。ここでログデータ１１４は位置データ１２１を必ず含み、さらに好ましくは負荷データ１２２や位置監視結果１２５も合わせてログデータ１１４として記憶される。ログデータ１１４として位置データ１２１記録することで、誤差の発生前後の動きなどを分析することができる。また、ログデータ１１４としてさらに負荷データ１２２を記録することにより誤差の発生箇所や発生前後の状態を詳細に分析することができる。これらの分析により、以降の不良ワークの流出防止のための対策を取ることができる。
【００２８】
分析部１１５では、記憶されたログデータ１１４から、機械の位置誤差を生じさせる誤差要因を分析する。ここで分析方法としては、機械位置と位置フィードバック１０４（モータ位置）に差があるか、それとも位置フィードバック１０４（モータ位置）と位置指令１０３（またはプログラム指令位置）とに差があるかを判別し、前者に差があれば機械的な要因、後者に差があれば制御的な要因として問題の切り分けをまず行なって、出力部１１６を介して作業者１０に提示する。
【００２９】
そしてさらに、機械の位置誤差を生じさせる誤差要因が機械的な要因であれば、機械位置と位置フィードバック１０４との誤差の移動方向との相関を分析し、＋方向移動時の誤差と−方向移動時の誤差の差からバックラッシ（ガタ）を算出する。また移動方向が反転する箇所で局所的に生じる軌跡誤差成分があれば、クーロン摩擦によるスティックモーションと判断し、方向反転直前および直後のモータトルク（またはモータ推力）から摩擦トルク（または摩擦力）を算出する。また、他の機械的誤差要因として機械振動がある。これは移動後に移動が停止する箇所の自由振動波形から、例えば速度ピーク値とその時刻を読み取ることで、振動周期や減衰比を算出する。
【００３０】
またさらに、機械の位置誤差を生じさせる誤差要因が制御的な要因の場合には、加工プログラム１０１において指令したプログラム指令位置とドライブユニット２１および２２に送る位置指令１０３との間に誤差が生じているか、それとも位置指令１０３と位置フィードバック１０４（モータ位置）との間に誤差が生じているかを分析する。前者の場合は、加工プログラム１０１を修正し、例えば加工プログラム１０１に精度指令の命令を加える、移動と移動の間にドウェル（停止）を入れる、あるいは、加減速方法を変更することで位置指令１０３の精度向上を図る。後者の場合には、ドライブユニット２１および２２の制御ゲインや摩擦補正量など調整することで精度向上を図る。
【００３１】
これらの分析を行なう際の基準値（例えば方向反転前後を分析する時間または距離、誤差の有無を判定するしきい値、など）は、分析パラメータ１３５として入力部１３０より分析部１１５への入力が可能になっているとする。
【００３２】
さらに画面、プリンタ、通信手段等の出力装置に出力する出力部１１６を備え、分析結果を出力（表示、印刷、通信、等）することで、作業者１０に提示すると効果的である。このとき、位置監視箇所データ１１２やログデータ１１４も合わせて出力することで、作業者１０が位置の誤差が生じた際の状況を確認しやすくなる。このように、分析部１１５が、誤差要因を自動的に分析することで、分析ノウハウのない作業者１０であっても、誤差要因が簡単に把握できるので、的確な対策が取りやすくなり、ひいては以降の不良ワークの流出防止が可能となる。
【００３３】
作業者１０は、出力部１１６から出力される位置監視箇所データ１１２、位置監視結果１２５、ログデータ１１４、および分析結果１２３に基づいて、位置誤差を解消するべく、入力部１３０を介して加工プログラム１０１を編集（修正）する。あるいは、位置監視の見直し（監視の詳細化、監視条件の変更、監視の簡易化など）のために、作業者１０は、入力部１３０を介して位置監視箇所データ１１２を編集（修正）する。これにより、位置監視箇所データ１１２を、自動決定するだけではなく、さらに作業者１０の経験・ノウハウに基づいてより適切なものに変更することが可能となり、さらに的確で効果的な監視が可能となる。
【００３４】
図２は数値制御装置１における処理の流れを示すフローチャートである。図２において、ステップＳ１１では、位置監視箇所決定部１１１にて加工プログラム１０１を読み込む。ステップＳ１２では、位置監視箇所決定部１１１で決定パラメータ１３２を参照して位置監視箇所を決定する。ステップＳ１３では、ステップＳ１２で決定した位置監視箇所を位置監視箇所データ１１２として数値制御装置１のバッファ（記憶手段）に記憶させる。ステップＳ１１からステップＳ１３までは、運転前に事前に行なっても良いし、運転中に加工プログラム１０１を先読みして、制御部１０２で制御する位置が位置監視箇所決定部１１１で決定した位置監視箇所に到達するよりも前にステップＳ１１からステップＳ１３までの処理が行なわれるようにしても構わない。
【００３５】
ステップＳ２１では、ステップＳ１３で記憶した位置監視箇所データ１１２を位置監視部１１３が読み込む。ステップＳ２２では、位置監視部１１３において、現在の位置が位置監視箇所かどうかを判定する。位置監視部１１３では、制御部１０２より、現在制御を行なっている現在位置に関する情報(Ｏ／Ｎ／Ｂ番号、各軸の位置、ブロック終点までの残距離など)を含めて位置データ１２１として取得し、現在の位置が位置監視箇所データ１１２に登録された箇所に合致するかどうかを判定する。
【００３６】
現在の位置が位置監視箇所である場合（ステップＳ２２：Ｙｅｓ）には、ステップＳ２３に進み、位置監視部１１３は、位置データ１２１、負荷データ１２２を制御部１０２から取得する。さらにステップＳ２４で、位置監視部１１３は位置データ１２１と監視パラメータ１３４とに基づいて位置を監視する。位置データ１２１から計算される偏差あるいは誤差が監視パラメータ１３４として与えられるしきい値を超えるかどうかを監視し、位置監視結果１２５を監視結果として制御部１０２に通知し、制御部１０２にて停止等の制御を行なう。さらに、ステップＳ２５では、位置データ１２１、負荷データ１２２および位置監視結果１２５をログデータ１１４として数値制御装置１のバッファ（記憶手段）に記憶させる。このログデータ１１４は時系列データとして保持する。そして、ステップＳ２６では、ログデータ１１４と分析パラメータ１３５に基づいて、分析部１１５にて誤差要因を分析して分析結果１２３を得る。そして、ステップＳ２７では、位置監視箇所データ１１２、ログデータ１１４、分析結果１２３を画面等の出力装置に出力し、作業者１０に提示する。少なくともステップＳ２２からステップＳ２５までは、制御部１０２での工作機械３の位置の制御に連動して、リアルタイムに行なう。典型的にはステップＳ２２からステップＳ２５を所定の制御周期毎に実行する。ステップＳ２１は運転に先立って行なってもよいし、運転中に逐次先読みするようにしてもよい。ステップＳ２６およびステップＳ２７は、運転後にまとめて行なってもよいし、運転中にその時点までの分析あるいは出力を逐次行なうようにしてもよい。
【００３７】
一方、現在の位置が位置監視箇所に該当しない場合（ステップＳ２２：Ｎｏ）には、ステップＳ２３以降の処理は行なわない。そのため、位置監視箇所以外では処理負荷を低減して、ログデータ１１４のサイズ低減を図ることができる。
【００３８】
図３は、決定パラメータ１３２の一例を示す表である。図３において、番号１から２４までの位置監視箇所の決定基準（決定ルール）が登録されており、そのうち選択欄にレ点が付与されているものが現在有効となっている決定基準を表している。図３の表中の「指令の種類」は加工プログラム１０１において指令された命令（Ｇコード、Ｍコード、その他のコード、移動の特徴など）であり、具体的には、「指令の種類の判定方法」に合致した箇所を位置監視箇所とする。ここでいう箇所は、加工プログラム１０１の中の実行位置（ブロックあるいはその始点・終点あるいは途中の点）を指すが、その位置を移動するタイミング（時刻または経過時間）で指定しても良い。図３の表中の「監視箇所詳細」は、前述の「指令の種類」に合致する箇所において、さらに具体的に監視箇所（監視する位置あるいは監視するタイミング）を指定（あるいは限定）するものであり、この中で「所定」と記載された値は初期パラメータもしくは作業者１０によって変更可能とする。図３の表中の「監視する軸」は、各位置監視箇所にて監視する対象軸を示しており、必要最小限の軸に絞ることで、処理量およびメモリ使用量の削減を狙っている。この対象軸も作業者１０によって変更可能とする。図３の表中の「記録するログデータ」は、各位置監視箇所にて記憶するデータを指しており、基本的には位置データ１２１（あるいは位置の誤差や偏差）を記憶するが、場合によってはモータ電流等の負荷データ１２２も記憶することで、後で誤差要因を分析することが容易となる。この記録するログデータ１１４も作業者１０によって変更することが可能とする。
【００３９】
番号１の原点復帰の動作では、機械位置が原点位置にあるかを検出するドグスイッチを備えており、スイッチがオンすれば機械位置が原点位置にあると判断できる。スイッチがＯＮしたタイミングでの、機械位置（＝機械原点）とモータ位置との差を監視することで、熱変位などの機械誤差による精度不良を監視することができる。
【００４０】
番号２および番号３は工具およびワークを計測するものであるが、工具やワークの寸法が概略既知であり、大きなバラツキがないような場合には、工具あるいはワークをセンサ３２に接触させて計測した位置フィードバック１０４の基準値（工具あるいはワークの寸法が基準値である場合の位置フィードバック１０４の値、など）からのずれを監視することで、精度不良の発生を監視することができる。
【００４１】
番号４および番号５の工具交換、ワーク交換は、イナーシャ（慣性モーメント）、あるいは質量が変化し、制御系の安定性または指令に対する応答性の変化により、精度不良が起きやすい箇所である。この箇所において位置を監視するともに、電流を記憶し、イナーシャ、あるいは質量の変化を分析する。その他に、一般に、工作機械３のイナーシャ（慣性モーメント）、質量、減速比のいずれかの変化が大きいような動作においては、同様に監視を実行するとよい。具体的には、１）ワーク、工具または治具を交換した直後、２）ワーク、工具または治具を交換後にサーボ制御を開始した時点、３）ワーク、工具または治具を交換後の最初の移動、のいずれかもしくはこれらの組合せを位置監視箇所とする。すなわち、工作機械３の質量、慣性モーメント、または減速比のいずれかが変わることにより、応答性あるいは安定性が明確に変化し、精度に影響を与える箇所を自動的に決定して、手間なく簡単かつ効果的に監視することができる。
【００４２】
番号６の同じ位置に対する逆方向への位置決め（早送り）箇所は、機械のロストモーション（ガタ、バックラッシ）の影響で精度不良になりやすい箇所である。この箇所は、少なくとも１軸がお互いに逆方向に移動する一対の位置決め移動の終点もしくは始点となっており、この箇所を自動的に抽出することで、精度不良を防止する。すなわち、機械のバックラッシの影響の出やすい箇所を自動的に決定して、監視することができるので、手間なく簡単にバックラッシの影響を監視することができる。またこのとき、モータ電流も記憶することで、位置と電流との関係からロストモーションの分析を容易とする。
【００４３】
番号７および番号８は、クーロン摩擦が速度の反転とともに大きく変化することで、外乱の変化の影響で、精度に影響が出る（いわゆる象限突起）箇所であり、この箇所を自動的に抽出することで、精度不良を防止する。外乱である摩擦の影響の出やすい箇所を自動的に決定して、手間なく簡単に監視することができる。なお方向反転箇所は速度指令（位置指令１０３の微分値）の符号も反転するので、この速度指令の変化による精度への影響も現れる。従ってこの影響を抑え、外乱による影響をより正確に捉えるために、指令値の変化が比較的小さい箇所を選ぶのが好適である。すなわち、各軸の位置指令１０３、各軸の速度指令、各軸の加速度指令が小さい箇所、あるいは円弧などの接線連続な形状もしくは浅いコーナー形状で指令経路に沿った送り速度指令の変化が小さい箇所を選ぶとよい。さらに具体的には、指令経路が接線連続であるかもしくは接線の方向変化が小さい箇所であり、且つ送り速度指令が一定である箇所であり、且つ少なくとも１つの軸の速度の符号が反転する箇所であることが望ましい。即ち、速度指令または加速度指令が小さいと想定される箇所を位置監視箇所とすることにより指令速度または加速度の変化に伴う追従誤差の影響を排除し、外乱の影響をより正確につかめるようになるので、より正確に監視することができる。またこのとき、モータ電流も記憶することで、位置と電流の関係から摩擦特性の分析を容易とする。
【００４４】
番号９および番号１０は、位置決め移動または切削送り移動の後に所定時間停止（ドウェル）する箇所であり、移動の終点に向かって減速する際に励起される振動の影響が、その後停止することで、加工面により目立って現れる箇所であり、この箇所を自動的に抽出することで、特に加工面品位の不良を防止する。移動終点前後の所定時間を記録し、振動周期などの特性を分析できるようにする。すなわち、振動の影響の出やすい箇所を自動的に決定して、監視することができるので、手間なく簡単に振動の影響を監視することができる。
【００４５】
番号１１〜番号１４は、数値制御装置１の制御部１０２の制御モードが変更される箇所であり、加工プログラム１０１の作り方や、特に多系統システムの場合は系統間の動作タイミングによって、精度のばらつきなどの不良が生じやすい箇所である。この箇所を自動的に抽出することで、精度不良を防止する。特に監視すべき制御モードは、位置の変換に関する制御モードと、速度の変換に関する制御モード、および位置制御と速度制御の切り替わりである。このうち位置の変換に関する制御モードは、さらに座標変換と、同期制御に分けられる。制御モードを変更するという、位置誤差が発生するリスクの高い箇所を自動的に決定して、手間なく簡単に監視することができる。
【００４６】
番号１１は、座標変換のモードが変更される箇所であり、座標変換には例えば以下のものがある。
・直交座標系、極座標系、円筒座標系、傾斜座標系などの各座標系間の座標変換
・拡大・縮小（スケーリング）、鏡映変換（ミラーイメージ）、座標回転
・３次元座標変換
・５軸加工機やロボットアームにおける工具先端点とモータ位置間の座標変換
【００４７】
番号１２は、同期制御のモードが変更される箇所であり、同期制御には例えば以下のものがある。
・同期タップ（工具主軸と送り軸が同期）
・ねじきり（旋削主軸と送り軸が同期）
・タンデム制御（２軸のモータで１つの可動部（テーブル等）を動かす）
・主軸同期制御（２つの主軸で１つのワークを把持して動かす）
・重畳制御（動いている基準軸に対して重畳軸を指定した相対速度で移動）
【００４８】
番号１３は、加減速方法の変更に関する制御モードが変更される箇所であり、加減速方法には例えば次のものがある。
・補間前加減速、補間後加減速
・直線加減速、多段加減速、Ｓ字加減速、１次遅れ加減速、２次遅れ加減速
また加減速方法には加減速時定数の変更も含めてもよい。
【００４９】
番号１４は、位置制御モードと速度制御モードを切り替える箇所である。例えば、旋盤において、旋削加工中は主軸を一定の速度で回転させるので一般に速度制御が用いられる。一方、主軸を主軸Ｃ軸として位置制御することで、加工物を旋回させる回転軸として制御する場合には位置制御が用いられる。その他、主軸オリエントを行う場合や、主軸同期制御を行なう場合も位置制御が行なわれる。これらの速度制御、位置制御の切換時に位置を監視する。
【００５０】
また、番号１５の系統内の制御対象軸を変更する（軸交換、軸取り外し）場合にも、同様に加工プログラム１０１の作り方や、特に多系統システムの場合は系統間の動作タイミングによって、精度のばらつきなどの不良が生じやすい箇所であり、この箇所を自動的に抽出することで、精度不良を防止する。具体的には、制御する軸の構成を変更した直後、もしくは当該変更後の最初の移動を位置監視箇所とする。制御する軸の構成を変更する所のように、位置誤差が発生するリスクの高い箇所を自動的に位置監視箇所に決定して、手間なく簡単に監視することができる。
【００５１】
番号１６から番号２３は、加工サイクル（固定サイクル等）に関わるものである。
【００５２】
番号１６の仕上げ加工に用いる加工サイクルは精度が重要であり、その中の切削中（切削送りブロック）に監視を行なう。すなわち、仕上げ加工用の加工サイクル、精度が指定された箇所、或いは仕上げ加工用の加工サイクルであって精度が指定された箇所を位置監視箇所とする。これは、加工上、特に精度が必要な箇所に絞って効果的に監視を行なうためである。
【００５３】
番号１７の穴加工（ドリル加工等）の穴底部、番号１８のポケット加工のコーナー部は、負荷（切削抵抗）が高くなる箇所であり、それによる精度不良が起きやすくなる箇所である。この箇所を自動的に抽出することで、精度不良を防止する。加工サイクル中の移動量やその方向変化による方法の他、各ブロックでの加工条件（切り込み量、送り量、エンゲージ角）から負荷あるいは負荷の変化を判定しても良い。またこのとき、モータ電流も記憶することで、切削抵抗の増加傾向を確認できるようにし、加工条件の調整をしやすくする。穴底の他、溝の端部も切削抵抗が高くなる箇所であり、同様に位置を監視すると良い。外乱である切削抵抗の影響の出やすい箇所を自動的に決定して、手間なく簡単に監視することができる。
【００５４】
番号１９は、一般に加工サイクルの、加工開始時（穴の食いつき時、等）および終了時（穴の抜け際、等）は、切削抵抗が変化することで加工状態が過渡的に変化するとともに、加工位置あるいは加工完了時の形状精度に大きな影響を与える箇所であることから、加工不良が起きやすい箇所であり、この箇所を自動的に抽出することで、精度不良を防止する。番号１７および１８の場合も含め、切削抵抗が大きい、または切削抵抗の変化が大きい箇所を自動的に決定して、手間なく簡単に監視することができる。
【００５５】
このように、番号１７、１８、および１９の場合においては、加工サイクルにおける、１）最初の切削送り移動、２）最後の切削送り移動、３）穴の入口、穴底、穴の抜け際、４）溝の端部、５）ポケットのコーナー部、のいずれかもしくはこれらの組合せを、切削抵抗が大きい又は切削抵抗の変化が大きいと判断して位置監視箇所とする。さらに、番号１７、１８、および１９の場合は、速度指令または加速度指令が小さいと想定される箇所を位置監視箇所とすることにより指令速度または加速度の変化に伴う追従誤差の影響を排除し、外乱の影響をより正確につかめるようになるので、より正確に監視することができる。
【００５６】
番号２０および番号２１のタップ加工、ねじ切り加工は同期制御を行いながら加工を行う箇所であり、同期誤差の悪化による精度不良が起きやすい箇所である。同期する主軸と指令軸間の同期誤差を自動的に監視する。
【００５７】
番号２２は、複数の同一の加工サイクルがある場合（同じ寸法の多数の穴、など）である。一般に前工程の加工忘れは途中の加工サイクルよりも、最初または最後で生じやすいという傾向がある。特に、加工プログラムミス、前工程の加工漏れは、一般的な傾向として、一連の加工の中で途中よりも最初あるいは最後に多く見られる。また加工条件不良や工具損傷などの影響は全加工サイクルを監視しなくても、最初または最後を監視すれば十分監視可能である場合が多い。これらの理由から、最初および最後の加工サイクルのみを自動的に監視することで、処理の負荷やメモリ使用量を抑えながら効率的に精度不良を防止する。すなわち、少ない監視箇所で効果的に監視を行うことで、監視に伴う処理負荷の低減と、監視データを記憶する場合のデータサイズ削減が可能となる。
【００５８】
番号２３および番号２４は加工プログラム１０１において、要求精度（公差）が指定されている場合に、その箇所を自動的に抽出することで、精度不良を防止する。
【００５９】
以上の他にも、工作機械３に設置されたセンサ３２から移動中に出力されるセンサ信号３３あるいはモータの負荷が所定の値もしくは所定の範囲内となれば移動を停止するような移動命令を位置監視箇所としてもよい。加工プログラム１０１に指令した位置に移動するタイプの移動ではなく、センサ信号３３あるいは負荷にて移動位置が依存するという、位置のばらつきや誤った位置への位置決めが発生するリスクの高い箇所を自動的に決定して、監視することができるので、手間なく簡単に監視することができる。
【００６０】
これら決定パラメータ１３２に従って位置監視箇所決定部１１１にて位置監視箇所データ１１２として登録する。位置監視箇所データ１１２は、以下の内容である。
（１）加工プログラム１０１の中のどのブロックかを特定する番号
プログラム番号(Ｏ番号)、シーケンス番号(Ｎ番号)、ブロック番号(Ｂ番号)
（２）そのブロックのどこか（始点、終点、ブロック全体）
（３）（２）で始点または終点の場合は、そこからの距離または時間の範囲
（４）位置監視する対象軸
（５）記録するログデータ１１４の種類（記録する場合）
【００６１】
これらの位置監視箇所データ１１２により、監視する箇所および監視に関連するデータが明確に定義される。この位置監視箇所データ１１２自体も入力部１３０より編集可能とすることで、位置監視箇所の直接的な指定も可能とし、より柔軟な位置監視箇所の指定が可能となる。
【００６２】
図４は、実施の形態にかかる加工プログラム１０１の第１の例を示す図である。図４に示す加工プログラム１０１の第１の例の場合は、各決定基準から下記の位置監視箇所が抽出される。図３においては、番号１、２、４、５、８、１４、１５、２０、および２２の決定基準が選択されているとする。この場合は、各決定基準から下記の位置監視箇所が抽出される。
【００６３】
決定基準：位置監視箇所／監視箇所詳細／監視する軸
１：Ｎ１０４／原点復帰直後の位置を監視／Ｚ軸
１：Ｎ１０５／原点復帰直後の位置を監視／Ｘ，Ｙ軸
１：Ｎ１１９／原点復帰直後の位置を監視／Ｘ，Ｙ，Ｚ軸
１：Ｎ１３３／原点復帰直後の位置を監視／Ｘ，Ｙ，Ｚ軸
１：Ｎ１４８／原点復帰直後の位置を監視／Ｘ，Ｙ，Ｚ軸
１：Ｎ１５３／原点復帰直後の位置を監視／Ｘ，Ｙ，Ｚ軸
２：Ｎ１５２／工具長測定器のセンサがＯＮとなったあとの所定時間／Ｚ軸
４：Ｎ１０６／工具交換（Ｎ１０６）直後、工具交換後最初の移動（Ｎ１０８）開始直後の位置を監視／主軸
４：Ｎ１２１／工具交換（Ｎ１２１）直後、工具交換後最初の移動（Ｎ１２３）開始直後の位置を監視／主軸
４：Ｎ１３５／工具交換（Ｎ１３５）直後、工具交換後最初の移動（Ｎ１３６）開始直後の位置を監視／主軸
５：該当なし
８：該当なし
１４：該当なし
１５：該当なし
２０：Ｎ１４０−Ｎ１４３／加工サイクル全体／Ｚ軸,主軸
２２：Ｎ１２６，Ｎ１２９，Ｎ１４０，Ｎ１４３／ブロック全体／全軸
（図４の中で、(★)を記した箇所が上述の位置監視箇所である。）
【００６４】
ここで、「Ｎ１４０」と「Ｎ１４３」は「２０」と「２２」の２つの決定基準から重複して選択されている。この場合には、両者の和をとるか、もしくは決定基準間に優先順位を設けて、優先する方の決定基準に従って監視すればよい。
【００６５】
図５は、実施の形態にかかる加工プログラム１０１の第２の例を示す図である。ここで、図３において、番号２、３、５、６、７、８、９、１１、１３、１６、１８、１９、２３、および２４の決定基準が選択されているとする。この場合は、各決定基準から下記の位置監視箇所が抽出される。
【００６６】
決定基準：位置監視箇所／監視箇所詳細／監視する軸
２：Ｎ２１９／工具計測器のセンサがＯＮとなった前後所定時間／Ｘ軸
３：Ｎ２１４／タッチプローブがＯＮとなった前後所定時間／Ｚ軸
５：Ｎ２０３／交換（Ｎ２０３）直後、交換後最初の移動（Ｎ２１０）開始直後／ワークを駆動する全軸
６：Ｎ２１１，Ｎ２１５／当該位置（Ｚ５０．）から所定の距離の範囲／Ｚ軸
７：Ｎ２３５−Ｎ２３６／方向反転付近の所定時間／Ｙ軸
８：Ｎ２３３／方向反転付近の所定時間／Ｘ軸，Ｙ軸
８：Ｎ２４１／方向反転付近の所定時間／Ｘ軸，Ｙ軸
９：Ｎ２１８／Ｎ２１７の終点（Ｎ２１８の始点）前後所定時間／Ｘ，Ｙ，Ｚ軸
１１：Ｎ２４５／座標系変更（Ｎ２４５）直後または座標変更後最初の移動（＊１）開始直後／Ｘ，Ｙ，Ｚ軸
１１：Ｎ２５０／座標系変更（Ｎ２５０）直後／Ｘ，Ｙ，Ｚ軸
１３：Ｎ２２２／加減速方法変更（Ｎ２２２）直後または変更後最初の移動（Ｎ２７２）開始直後／Ｘ，Ｙ，Ｚ軸
１３：Ｎ２３１／加減速方法変更（Ｎ２３１）直後または変更後最初の移動（Ｎ２３３）開始直後／Ｘ，Ｙ，Ｚ軸
１６：Ｎ２４８／加工サイクル中の切削送りブロック／Ｘ，Ｙ，Ｚ軸
１８：Ｎ２７８−Ｎ２７９／Ｎ２７８終点付近／全軸
１９：Ｎ２７４，Ｎ２９０／最初および最後の切削送りブロック／全軸
２３：Ｎ２３９／Ｎ２３９の終点前後の所定距離／Ｘ，Ｙ軸
２４：Ｎ２４１／ブロック全体／Ｘ，Ｙ軸
（＊１）Ｇ１０１の加工サイクル中の最初の移動
（図５の中で、(★)を記した箇所が上述の位置監視箇所である。）
【００６７】
図６は、実施の形態にかかる加工プログラム１０１の第３の例を示す図である。左側は系統１、右側は系統２の加工プログラムで、並行して運転し、所々、「!Ｌ」指令で系統間の待ち合わせを行なって、両系統のタイミングを合わせながら加工を行う。ここで、図３において、番号１２、１４、１５、および２１の決定基準が選択されているとする。この場合は、各決定基準から下記の位置監視箇所が抽出される。
【００６８】
決定基準：位置監視箇所／監視箇所詳細／監視する軸
１２：Ｎ３１５／変更直後（Ｎ３１５）または変更後最初の移動（Ｎ３１８）開始直後／Ｚ１，Ｚ２軸
１２：Ｎ３２２／変更直後（Ｎ３２２）または変更後最初の移動（Ｎ３２５）開始直後／Ｚ１，Ｚ２軸
１４：Ｎ３０３／変更直後（Ｎ３０３）または変更後最初の移動（Ｎ３０４）開始直後／主軸および主軸Ｃ軸
１４：Ｎ３３２／変更直後（Ｎ３３２）または変更後最初の移動（Ｎ３３５）開始直後／主軸および主軸Ｃ軸
１４：Ｎ４０３／変更直後（Ｎ４０３）または変更後最初の移動（Ｎ４０４）開始直後／主軸および主軸Ｃ軸
１５：Ｎ３２９／変更直後（Ｎ３２９）または変更後最初の移動（Ｎ３３５）開始直後／Ｚ軸
１５：Ｎ４２９／変更直後（Ｎ４２９）または変更後最初の移動（Ｎ４３２）開始直後／Ｚ軸
２１：Ｎ３１０／切削送りブロック全体／Ｚ軸,主軸
（図６の中で、(★)を記した箇所が上述の位置監視箇所である。）
【００６９】
ここで、「Ｎ３２９」と「Ｎ４２９」では系統１と系統２の間でＺ軸を交換しているが、この箇所では交換したＺ軸の位置を監視する。また、「Ｎ３３２」で旋削モードからミリングモードに変更しているが、旋削モードにてワークを把持して速度制御を行なっていた旋削主軸は、ミリングモードではワークを割り出しするＣ軸(主軸Ｃ軸)として位置制御を行なうように切り替わるので、「Ｎ３３２」の次の最初のＣ軸の移動指令（Ｎ３３５）の開始直後のＣ軸位置を監視する。
【００７０】
以上説明したように、本発明の実施の形態にかかる数値制御装置１によれば、位置を監視する箇所を加工プログラム１０１の修正なしに自動的に抽出することができるので、手間なく簡単に位置を監視することができる。また、人手で位置監視箇所を指定するのではないので、指定誤りや指定漏れを防ぐことができる。これにより、精度不良による不良ワークの発生を防止することができる。また、加工プログラムに記載された移動指令の種類に応じて、移動動作の中から監視が必要な箇所に絞って監視し、監視対象とする軸を変更するなどして必要なデータだけを監視する。これにより、監視に伴う処理負荷の低減と、監視データを記憶する場合のデータサイズを削減することが可能となる。
【００７１】
さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【００７２】
以上のように、本発明にかかる数値制御装置は、高品質なワークを加工するための工作機械の制御装置として用いられるのに適している。
【符号の説明】
【００７３】
１  数値制御装置、３  工作機械、１０  作業者、２１，２２  ドライブユニット、３１  テーブル、３２  センサ、３３  センサ信号、１０１  加工プログラム、１０２  制御部、１０３  位置指令、１０４  位置フィードバック、１０５  負荷フィードバック、１１１  位置監視箇所決定部、１１２  位置監視箇所データ、１１３  位置監視部、１１４  ログデータ、１１５  分析部、１１６  出力部、１２１  位置データ、１２２  負荷データ、１２５  位置監視結果、１３０  入力部、１３２  決定パラメータ、１３４  監視パラメータ、１３５  分析パラメータ、Ｓ１１〜Ｓ１３，Ｓ２１〜Ｓ２７  ステップ。
【図１】
0005905158.tif 000002
【図２】
0005905158.tif 000003
【図３】
0005905158.tif 000004
【図４】
0005905158.tif 000005
【図５】
0005905158.tif 000006
【図６】
0005905158.tif 000007