(57)【特許請求の範囲】
【請求項１】
工作機械を制御する数値制御装置であって、
移動指令に基づいて移動を行うかどうかの判定に用いるノイズ指令許容幅を記憶するパラメータ記憶部と、
加工プログラムのブロックに、指定された平面に含まれない軸方向である指令非対象軸方向の移動指令が含まれている場合、前記指令非対象軸方向の移動指令による移動量の絶対値と前記ノイズ指令許容幅とを比較し、前記指令非対象軸方向の移動指令による移動量の絶対値の方が小さいときは前記指令非対象軸方向の移動指令をノイズ指令と判定し、前記ノイズ指令による移動量をゼロにする経路修正を行う経路修正処理部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記経路修正処理部は、
前記経路修正によって前記ノイズ指令の移動量をゼロにしたときは、前記ノイズ指令による移動量を累積加算した無視移動量を記憶し、
前記加工プログラムの次ブロック以降の対象ブロックに、指令非対象軸方向の移動指令が含まれている場合、前記対象ブロックの指令非対象軸方向の移動指令による移動量と前記無視移動量とを加算して判定対象移動量とし、前記判定対象移動量の絶対値と前記ノイズ指令許容幅とを比較し、前記判定対象移動量の絶対値の方が小さいときは前記対象ブロックの指令非対象軸方向の移動指令をノイズ指令と判定し、前記ノイズ指令による移動量をゼロにする経路修正を行う、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記経路修正処理部は、
前記判定対象移動量の絶対値と前記ノイズ指令許容幅とを比較し、前記判定対象移動量の絶対値が前記ノイズ指令許容幅以上のときは前記無視移動量をゼロにする、
ことを特徴とする請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する数値制御装置に関する。
【背景技術】
【０００２】
従来、数値制御（Numerical  Control、以下ＮＣという）装置は、ＣＡＤ（Computer  Aided  Design）およびＣＡＭ（Computer  Aided  Manufacturing）から出力された加工プログラムを読み込んで、加工対象物であるワークを加工する工作機械の動作を制御する。ＮＣ装置が工作機械を制御する加工パターンに、等高線平面を加工する等高線加工がある。等高線加工において、ＣＡＤおよびＣＡＭから等高線加工の微小線分プログラムが出力される場合、等高線平面以外の軸への微小な移動指令が誤って出力されることがある。従来のＮＣ装置では、微小な移動指令が誤って出力されたノイズ指令かどうか判断できないため、誤ったプログラム通りのノイズ指令を工作機械の駆動部へ出力する。【０００３】
駆動部は、移動指令に従い各軸のモータへトルク指令を出力し、指令された位置までモータによりワークなどを移動させる。ここで、駆動部の機能の１つにロストモーション補正（Lost  Motion  Compensation、以下ＬＭＣという）機能がある。ＬＭＣ機能とは、軸の象限切り換わり時、機械の進行方向が反転する際に生じる、摩擦、ねじれ、伸縮及びバックラッシ等に起因する応答遅れを補正する機能である。駆動部では、ＬＭＣ機能を使用することで、象限切り換わり時の突起現象、円切削における象限切り替わり時の筋目を改善することが可能である。【０００４】
ＮＣ装置より移動指令を受け取った駆動部は、移動指令がノイズ指令であっても、ノイズ指令の方向が正方向から負方向、または負方向から正方向に反転したとき、ＬＭＣを含んだトルク指令を出力する。そのため、駆動部において、ノイズ指令へのＬＭＣ量が過剰な場合、ワークに傷をつけることがある。駆動部でＬＭＣをかけないために、ＮＣ装置では、プログラムを先読みし、プログラムが微小反転すると判断するタイミングと駆動部がＬＭＣをかけるタイミングの同期をとる制御、すなわち、駆動部へＬＭＣをかけない指令をする制御が必要になる。【０００５】
例えば、下記特許文献１では、ＣＡＭの演算誤差などで生成されるプログラムの微小線分による悪影響を解消するため、移動経路を補正する技術が開示されている。また、下記特許文献２では、５軸加工機を制御する数値制御において、ＮＣプログラムからブロックを間引く処理の有効無効をＭコードまたはＧコードで切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−１２５６１６号公報
【特許文献２】特開２００９−２１７３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術は、直交３軸の加工において等高線平面を対象とするものではない。そのため、等高線加工において、等高線平面に含まれない軸方向の移動を対象にした制御ができない、という問題があった。【０００８】
本発明は、上記に鑑みてなされたものであって、指定された加工平面に含まれない軸方向の移動指令の出力を制御可能な数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、工作機械を制御する数値制御装置であって、移動指令に基づいて移動を行うかどうかの判定に用いるノイズ指令許容幅を記憶するパラメータ記憶部と、加工プログラムのブロックに、指定された平面に含まれない軸方向である指令非対象軸方向の移動指令が含まれている場合、前記指令非対象軸方向の移動指令による移動量の絶対値と前記ノイズ指令許容幅とを比較し、前記指令非対象軸方向の移動指令による移動量の絶対値の方が小さいときは前記指令非対象軸方向の移動指令をノイズ指令と判定し、前記ノイズ指令による移動量をゼロにする経路修正を行う経路修正処理部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明にかかる数値制御装置は、指定された加工平面に含まれない軸方向の移動指令の出力を制御できる、という効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態にかかるＮＣ装置の全体構成を示すブロック図
【図２】等高線加工モードでのＮＣ装置の加工パターンを示す図
【図３】プログラム入力解析部の加工プログラムの解析処理を示すフローチャート
【図４】経路修正処理部の経路修正処理を示すフローチャート
【図５】ノイズ指令および経路修正後の経路を示す図
【図６】移動指令および経路修正なしの場合の経路を示す図
【発明を実施するための形態】
【００１２】
以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態．
図１は、本発明の実施の形態にかかるＮＣ装置の全体構成を示すブロック図である。ＮＣ装置は、駆動部６を含む工作機械の動作を制御する数値制御装置である。本実施の形態では、Ｘ軸、Ｙ軸、Ｚ軸の直交３軸で動作する工作機械をＮＣ装置の制御対象とする。
【００１４】
本実施の形態のＮＣ装置が行う経路修正処理の概要について、従来との比較により説明する。図２は、等高線加工モードでのＮＣ装置の加工パターンを示す図である。図２（ａ）は従来のＮＣ装置による加工パターンを示し、図２（ｂ）は本実施の形態のＮＣ装置による加工パターンを示す。図２（ａ）および図２（ｂ）において、上段はＸ−Ｙ平面の加工パターンを示し、下段はＹ−Ｚ平面の加工パターンを示す。従来のＮＣ装置では、図２（ａ）に示すように、Ｘ−Ｙ平面の等高線加工モードにおいてＺ軸方向に１μｍ以下程度の誤った移動指令が含まれていた場合でも、そのまま移動指令を出力してしまう。そのため、図２（ａ）に示すＺ軸方向の移動指令では、反転とみなされてＺ軸の負方向に過剰なＬＭＣがかけられた場合、ワークに傷をつけることがある。本実施の形態のＮＣ装置では、図２（ｂ）に示すように、Ｘ−Ｙ平面の等高線加工モードにおいてＺ軸方向の誤った移動指令を出力しない。これにより、過剰なＬＭＣがかかる事態を回避し、ワークに傷がつくことを防止することができる。
【００１５】
図１に戻って、ＮＣ装置では、まず、プログラム入力解析部１が、図示しないＣＡＤおよびＣＡＭから入力された加工プログラムを読み込んで、加工プログラムを構成するブロック単位、すなわち１ブロックごとに解析する。プログラム入力解析部１は、解析後、１ブロックごとの送り速度、各軸の終点座標、各モーダル指令用フラグのデータをデータ記憶部２に保存する。
【００１６】
データ記憶部２は、プログラム入力解析部１が、解析後のブロックについて、送り速度、各軸の終点座標、各モーダル指令用フラグのデータを保存する記憶部である。なお、図１では、データ記憶部２を独立した構成にしているが、これに限定するものではない。プログラム入力解析部１内にデータ記憶部２を備えてもよい。また、データ記憶部２では、データテーブルを設けて、データテーブル上で各データを保存してもよい。
【００１７】
経路修正処理部３は、プログラム入力解析部１で加工プログラムの１ブロックの解析後、等高線加工モード中の場合、パラメータ記憶部４に記憶されているノイズ指令許容幅に基づいて、解析後のブロックにノイズ指令が含まれているかどうかを判断する。ノイズ指令が含まれている場合、経路修正処理部３は、ノイズ指令の移動を無視する経路に修正するため、プログラム入力解析部１で求められ、データ記憶部２に保存されている終点座標および送り速度の変更を行う。
【００１８】
パラメータ記憶部４は、等高線加工モードにおいて等高線平面に含まれない軸方向の移動について、ノイズ指令を許容する移動量を示すパラメータであるノイズ指令許容幅を記憶している。ノイズ指令許容幅は、経路修正処理部３が、移動指令に基づいて移動を行うかどうかの判定に用いる閾値である。本実施の形態では、移動量がノイズ指令許容幅より小さい移動指令をノイズ指令とみなし、移動量がノイズ指令許容幅以上の移動指令はノイズ指令とはみなさないこととする。ユーザは、あらかじめＮＣ装置の動作開始前にノイズ指令許容幅を設定する。なお、ノイズ指令許容幅については、図示しないＮＣ装置の表示画面を通してユーザが変更可能な構成にしてもよく、また、加工プログラムの段階で変更してもよい。
【００１９】
補間演算部５は、経路修正処理部３での経路修正の有無に係わらず、プログラム入力解析部１または経路修正処理部３で指定された終点座標および送り速度に基づいて、軸ごとの単位時間あたりの移動量および移動方向を計算し、Ｘ軸、Ｙ軸、Ｚ軸の各軸のサーボアンプを備えた工作機械の駆動部６へ移動指令を出力する。駆動部６は、移動指令に基づいて、図示しない各軸のモータを駆動する。これにより、ＮＣ装置では、読み込んだ加工プログラムに基づいて、工作機械を制御することができる。
【００２０】
つぎに、ＮＣ装置への等高線加工モードの設定方法について説明する。ユーザは、ＮＣ装置が読み込む加工プログラムを作成し、加工プログラム中のプログラム指令により、ＮＣ装置を等高線加工モードに設定することができる。例えば、以下に示す４指令を各等高線加工モードにおける選択平面通知用指令および等高線加工モードのキャンセル通知用指令とし、加工プログラムのパラメータにあらかじめ登録する。Ｍが付いている番号は加工を行うための補助機能の指令であるＭコードの指令番号を示し、各Ｍコードの指令番号の横に実行する指令の内容を示す。
【００２１】
Ｍ３１７  等高線加工モード（Ｘ−Ｙ平面）
Ｍ３１８  等高線加工モード（Ｚ−Ｘ平面）
Ｍ３１９  等高線加工モード（Ｙ−Ｚ平面）
Ｍ３２０  等高線加工モードキャンセル
【００２２】
上記の指令の例では、加工プログラムによりＭ３１７，Ｍ３１８，Ｍ３１９のいずれかの等高線加工モードを指令された場合、ＮＣ装置は等高線加工モードとなる。等高線加工モードにあるＮＣ装置では、選択平面に含まれない軸方向の移動指令を含むブロックに対して、経路修正処理部３で経路修正を実行するかどうかの条件判定処理である、経路修正要求フラグをオンする。
【００２３】
ここで、選択平面に含まれない軸を指令非対象軸とする。指令非対象軸は、等高線加工モードを選択するＭ３１７，Ｍ３１８，Ｍ３１９の各Ｍコード指令がどの平面を選択するのかを登録することで、ＮＣ装置で求めることができる。上記の指令の例では、Ｍ３１７の等高線加工モードはＸ−Ｙ平面を選択する指令のため、残りのＺ軸が選択平面に含まれない指令非対象軸となる。また、Ｍ３１８の等高線加工モードはＺ−Ｘ平面を選択する指令のため、残りのＹ軸が選択平面に含まれない指令非対象軸となる。また、Ｍ３１９の等高線加工モードはＹ−Ｚ平面を選択する指令のため、残りのＸ軸が選択平面に含まれない指令非対象軸となる。
【００２４】
つづいて、プログラム入力解析部１での加工プログラムの解析処理について説明する。図３は、プログラム入力解析部１の加工プログラムの解析処理を示すフローチャートである。
【００２５】
プログラム入力解析部１は、入力された加工プログラムを１ブロックごとに読み込み（ステップＳ１）、読み込んだ加工プログラムのブロックについて、終点座標、送り速度、モーダル指令の情報を作成する（ステップＳ２）。終点座標とは、読み込んだブロックについて移動後の目標位置を座標で示したものである。また、送り速度とは、目標位置である終点座標までの移動速度である。モーダル指令とは、準備機能の指令であるＧコードについて複数のＧコードで規定されているグループにおいて、グループ内のＧコードのうち常に１つをＮＣ装置の動作モードに指定する指令である。ＮＣ装置は、モーダル指令が指令されてからキャンセル指令または同一グループの他のＧコードが指令されるまで動作モードを保持する。
【００２６】
プログラム入力解析部１は、読み込んだブロックに等高線加工モード指令がある、または、前のブロックから継続して等高線加工モード中であると判定した場合（ステップＳ３：Ｙｅｓ）、つぎに、等高線加工モードキャンセル指令があるか確認する（ステップＳ４）。前のブロックから継続して等高線加工モード中であると判定した場合を想定したものである。プログラム入力解析部１は、等高線加工モードキャンセル指令がないと判定した場合（ステップＳ４：Ｎｏ）、等高線加工モード中フラグをオンし（ステップＳ５）、経路修正処理要求フラグをオンし（ステップＳ６）、現在の等高線加工モードが示す選択平面の情報から求めた指令非対象軸を記憶して（ステップＳ７）、処理を終了する。
【００２７】
プログラム入力解析部１は、読み込んだブロックに等高線加工モード指令がなく、かつ、等高線加工モード中ではないと判定した場合（ステップＳ３：Ｎｏ）、または、前のブロックから継続して等高線加工モード中であったが、等高線加工モードキャンセル指令があると判定した場合（ステップＳ４：Ｙｅｓ）、等高線加工モード中フラグをオフし（ステップＳ８）、経路修正処理要求フラグをオフして（ステップＳ９）、処理を終了する。
【００２８】
つづいて、経路修正処理部３での経路修正処理について説明する。プログラム入力解析部１では、加工プログラムの１ブロックを解析後、経路修正処理要求フラグがオンの場合、経路修正処理部３へ経路修正処理を指示する。経路修正処理部３は、プログラム入力解析部１で解析されたブロックである解析ブロックに含まれている移動指令がノイズ指令かどうかを判定し、ノイズ指令と判定した場合、等高線平面に含まれない指令非対象軸方向の移動指令を無視し、終点座標を再計算して変更する。なお、経路修正処理要求フラグがオフの場合、経路修正処理部３では、経路修正処理をせず、データ記憶部２に保存されているデータをそのまま補間演算部５へ出力すればよい。
【００２９】
図４は、経路修正処理部３の経路修正処理を示すフローチャートである。経路修正処理部３は、解析ブロックに指令非対象軸方向の移動指令があるかどうかを確認し（ステップＳ１１）、解析ブロックに指令非対象軸方向の移動指令がない場合は処理を終了する（ステップＳ１１：Ｎｏ）。
【００３０】
解析ブロックに指令非対象軸方向の移動指令がある場合（ステップＳ１１：Ｙｅｓ）、経路修正処理部３は、解析ブロックの指令非対象軸方向の移動指令の終点座標を読み取り、指令非対象軸の現在位置からの移動量ａを算出する（ステップＳ１２）。なお、移動量ａには、正負があるものとする。
【００３１】
経路修正処理部３は、保持している前回までの無視移動量ｂを読み出す（ステップＳ１３）。無視移動量ｂは、ノイズ指令を含むとみなされた解析ブロックで無視された移動指令による移動量であり、指令非対象軸方向の実際の移動指令と現在位置との差分を意味する。すなわち、無視移動量ｂは、複数回に渡ってノイズ指令を含むとみなされている場合は、ノイズ指令である無視された移動指令による移動量を累積加算した値となる。なお、経路修正処理の初回、または前回までの経路修正処理で経路修正が発生していない場合、無視移動量ｂは“０”となる。
【００３２】
経路修正処理部３は、パラメータ記憶部４に記憶されているノイズ指令許容幅と比較する判定対象移動量ｃを、移動量ａと無視移動量ｂとを加算した値で更新する（ステップＳ１４）。
【００３３】
経路修正処理部３は、判定対象移動量ｃの絶対値と、パラメータ記憶部４に記憶されているノイズ指令許容幅とを比較し、判定対象移動量ｃの絶対値がノイズ指令許容幅より小さい場合（ステップＳ１５：Ｙｅｓ）、解析ブロック中の指令非対象軸方向の移動指令をノイズ指令とみなし、指令非対象軸の終点座標を「解析ブロックの終点座標−判定対象移動量ｃ」の計算結果で更新する（ステップＳ１６）。これにより、経路修正処理部３では、等高線平面に含まれている軸の終点座標を変更せず、指令非対象軸のノイズ指令を無視、すなわち、指令非対象軸においてノイズ指令による移動量を終点座標から除去することができる。
【００３４】
経路修正処理部３は、無視したノイズ指令の移動量を記憶するため、無視移動量ｂを判定対象移動量ｃで更新し（ステップＳ１７）、処理を終了する。更新した無視移動量ｂは、経路修正処理部３が、次ブロック以降の経路修正処理の際にステップＳ１３で読み出す無視移動量ｂとなる。
【００３５】
一方、判定対象移動量ｃの絶対値がノイズ指令許容幅以上の場合（ステップＳ１５：Ｎｏ）、経路修正処理部３は、解析ブロック中の指令非対象軸方向の移動指令をノイズ指令とみなさず、終点座標を更新しない（ステップＳ１８）。この場合、経路修正処理部３は、無視移動量ｂをクリア（ステップＳ１９）、すなわち、無視移動量ｂを“０”にして処理を終了する。
【００３６】
経路修正処理部３での経路修正処理の完了後、補間演算部５は、プログラム入力解析部１で指定された、または経路修正処理部３で更新された終点座標および送り速度に基づいて、軸ごとの単位時間あたりの移動量および移動方向を計算して駆動部６へ移動指令を出力する。補間演算部５が移動指令を出力している間に、プログラム入力解析部１は、次ブロックの解析を行う。
【００３７】
経路修正処理後の経路について、図５および図６を用いて概要を説明する。
【００３８】
図５は、ノイズ指令、経路修正ありの場合の経路、および無視移動量ｂを更新した状態を示す図である。横軸をＸ軸方向の移動量、縦軸をＺ軸方向の移動量とし、Ｚ軸についてのノイズ指令許容幅を示している。図５（ａ）では無視移動量ｂ＝０とする。この場合、判定対象移動量ｃ＝移動量ａとなる。経路修正処理部３は、判定対象移動量ｃの絶対値がノイズ指令許容幅より小さいため、Ｇ１７平面選択中かつＭ３１７の選択平面通知用指令中にＺ軸についての移動指令がノイズ指令であると判定し（図５（ａ））、ノイズ指令による移動量を無視する経路修正あり、すなわち、経路修正によりＺ軸方向の移動量を“０”にする（図５（ｂ））。また、経路修正処理部３は、無視移動量ｂを判定対象移動量ｃで更新し、次のブロックの経路修正処理において、更新後の無視移動量ｂを用いる（図５（ｂ），（ｃ））。
【００３９】
図６は、ノイズ指令ではない移動指令、経路修正なしの場合の経路、および無視移動量ｂをクリアした状態を示す図である。図６（ａ）では無視移動量ｂ＝０ではないため、判定対象移動量ｃ＝移動量ａ＋無視移動量ｂとなる。経路修正処理部３は、判定対象移動量ｃの絶対値がノイズ指令許容幅以上のため、Ｇ１７平面選択中かつＭ３１７の選択平面通知用指令中にＺ軸方向の移動指令がノイズ指令ではない移動指令と判定し（図６（ａ））、Ｚ軸方向の移動指令はノイズ指令ではないため経路修正なしで、Ｚ軸方向の移動指令の移動量に基づく経路とする（図６（ｂ））。また、経路修正処理部３は、無視移動量ｂをクリアして“０”にし、次のブロックの経路修正処理において、更新後の無視移動量ｂ＝０を用いる（図６（ｃ））。
【００４０】
以上説明したように、本実施の形態によれば、工作機械を制御する数値制御装置は、加工プログラムにより等高線加工モードを指定され、加工プログラムに指定された等高線平面以外の軸方向の移動指令が誤って含まれていた場合、等高線平面以外の軸方向の移動指令による移動量の絶対値がパラメータで設定されたノイズ指令許容幅より小さいときは等高線平面以外の軸方向の移動指令をノイズ指令とし、等高線平面以外の軸方向のノイズ指令の移動指令を無視して駆動部６へ出力しないこととした。これにより、ＣＡＤおよびＣＡＭで生成された等高線平面用加工プログラムにノイズ指令が含まれる場合でも、数値制御装置では、指定された加工平面に含まれない軸方向の移動指令の出力を制御でき、駆動部６において不適切なＬＭＣを実行しなくなるため、ワーク加工面に傷をつける事態を回避することができる。また、ノイズブロックを修正する工数を削減することができる。
【００４１】
なお、本実施の形態では、数値制御装置は、等高線平面以外の軸方向の移動指令による移動量の絶対値とノイズ指令許容幅とを比較していたが、これに限定するものではない。例えば、ノイズ指令許容幅を正の方向と負の方向で異なる許容幅とし、数値制御装置は、等高線平面以外の軸方向の移動指令による移動量が、正の方向と負の方向のノイズ指令許容幅で示される許容範囲内の場合はノイズ指令と判定してもよい。
【００４２】
また、本実施の形態では、等高線平面を加工する等高線加工の場合について説明したが、これに限定するものではない。例えば、走査線平面を加工する走査線加工についても適用可能である。
【００４３】
また、本実施の形態では、数値制御装置について、制御対象をＸ軸、Ｙ軸、Ｚ軸の直交３軸で動作する工作機械としたが、一例であり、Ｘ軸、Ｙ軸、Ｚ軸の直交３軸で加工可能であれば、３軸以上で動作する工作機械についても適用可能である。
【００４４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００４５】
１  プログラム入力解析部、２  データ記憶部、３  経路修正処理部、４  パラメータ記憶部、５  補間演算部、６  駆動部。
【要約】
直交３軸で加工可能な工作機械を制御する数値制御装置であって、移動指令に基づいて移動を行うかどうかの判定に用いるノイズ指令許容幅を記憶するパラメータ記憶部（４）と、加工プログラムのブロックに、指定された等高線平面に含まれない軸方向である指令非対称軸方向の移動指令が含まれている場合、指令非対称軸方向の移動指令による移動量の絶対値とノイズ指令許容幅とを比較し、指令非対称軸方向の移動指令による移動量の絶対値の方が小さいときは指令非対称軸方向の移動指令をノイズ指令と判定し、ノイズ指令による移動量をゼロにする経路修正を行う経路修正処理部（３）と、を備える。【図１】
0005875740.tif 000002
【図２】
0005875740.tif 000003
【図３】
0005875740.tif 000004
【図４】
0005875740.tif 000005
【図５】
0005875740.tif 000006
【図６】
0005875740.tif 000007