(57)【特許請求の範囲】
【請求項１】
モータの駆動対象の経路を規定するプログラムに基づいて前記モータを制御する数値制御装置であって、
前記駆動対象を前記経路上を移動せしめる際の速度をその時点の加速度設定値に基づいて加減速処理し、加減速処理後の速度を出力する加減速処理部と、
前記加減速処理後の速度で前記モータを駆動するように前記モータに対する制御周期毎の位置指令を算出する補間部と、
前記モータを制御中に前記モータに関する状態量を監視して、前記状態量に基づいて前記加速度設定値を前記モータの制御中に変更する変更部と、
を備え、
前記変更部は、前記状態量に基づいて加速度候補値を求め、前記駆動対象の速度を現在値から前記プログラムに規定された目標位置での速度まで前記加速度候補値を用いて減速するための必要距離を求め、前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが可能か否かを前記駆動対象の現在位置から前記目標位置までの距離と前記必要距離とに基づいて判定し、前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが可能と判定した場合には前記加速度設定値を前記加速度候補値に変更し、前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが不可能と判定した場合には前記加速度設定値を変更しない、
ことを特徴とする数値制御装置。 
【請求項２】
前記状態量は、イナーシャ比であって、
前記変更部は、前記イナーシャ比がより大きい値に変化したとき前記加速度設定値をより小さい値に変更するか、または、前記イナーシャ比がより小さい値に変化したとき前記加速度設定値をより大きい値に変更する、
ことを特徴とする請求項１に記載の数値制御装置。 
【請求項３】
前記状態量は、前記モータの電流値であって、
前記変更部は、前記電流値に基づいて前記モータの負荷値を算出し、前記負荷値がより大きい値に変化したとき前記加速度設定値をより小さい値に変更するか、または、前記負荷値がより小さい値に変化したとき前記加速度設定値をより大きい値に変更する、
ことを特徴とする請求項１に記載の数値制御装置。 
【請求項４】
前記状態量は、前記モータの電流値であって、
前記変更部は、前記電流値に基づいて前記モータの負荷値を算出し、予め設定された過負荷しきい値を前記負荷値が越えたとき、前記加速度設定値をその時点の前記加速度設定値よりも小さい値に変更する、
ことを特徴とする請求項１に記載の数値制御装置。 
【請求項５】
前記状態量は、外部から入力される加減速倍率であって、
前記変更部は、前記加速度設定値を、予め設定された加速度基準値に前記加減速倍率を乗算して得られる値に変更する、
ことを特徴とする請求項１に記載の数値制御装置。 
【請求項６】
前記状態量は、イナーシャ比、外部から入力される加減速倍率、および前記モータの電流値のうちの少なくとも２種類であって、種類毎に優先度が設定され、かつ、種類毎に判定条件が設定され、
前記変更部は、複数の種類の状態量にかかる判定条件が同時に満たされたとき、優先度が高い種類の状態量に応じて前記加速度設定値を変更する、
ことを特徴とする請求項１に記載の数値制御装置。 
【請求項７】
前記モータに対する制御周期毎の位置指令を算出する補間部と、
前記制御周期毎の位置指令に対してフィルタ処理を実行するフィルタ部と、
をさらに備え、
前記プログラムは、第１モードまたは第２モードの指定を含み、
前記変更部は、前記第１モードが指定されている場合、前記加速度設定値を変更し、前記第２モードが指定されている場合、前記状態量に基づいて前記フィルタ処理の時定数を変更する、
ことを特徴とする請求項１に記載の数値制御装置。 
【請求項８】
前記状態量は、イナーシャ比であって、
前記変更部は、前記イナーシャ比がより大きい値に変化したとき前記時定数をより大きい値に変更するか、または、前記イナーシャ比がより小さい値に変化したとき前記時定数をより小さい値に変更する、
ことを特徴とする請求項７に記載の数値制御装置。 
【請求項９】
前記状態量は、前記モータの電流値であって、
前記変更部は、前記電流値に基づいて前記モータの負荷値を算出し、前記負荷値がより大きい値に変化したとき前記時定数をより大きい値に変更するか、または、前記負荷値がより小さい値に変化したとき前記時定数をより小さい値に変更する、
ことを特徴とする請求項７に記載の数値制御装置。 
【請求項１０】
前記状態量は、前記モータの電流値であって、
前記変更部は、前記電流値に基づいて前記モータの負荷値を算出し、予め設定された過負荷しきい値を前記負荷値が越えたとき、前記時定数をその時点の前記時定数よりも大きい値に変更する、
ことを特徴とする請求項７に記載の数値制御装置。 
【請求項１１】
前記状態量は、外部から入力されるパラメータであって、
前記変更部は、前記時定数と前記パラメータとに基づいて新たな時定数を演算し、前記演算前の時定数を前記演算された新たな時定数に変更する、
ことを特徴とする請求項７に記載の数値制御装置。 
【請求項１２】
前記状態量は、イナーシャ比、外部から入力される加減速倍率、および前記モータの電流値のうちの少なくとも２種類であって、種類毎に優先度が設定され、かつ、種類毎に判定条件が設定され、
前記変更部は、複数の種類の状態量にかかる判定条件が同時に満たされたとき、優先度が高い種類の状態量に応じて前記時定数を変更する、
ことを特徴とする請求項７に記載の数値制御装置。 
【請求項１３】
前記変更部は、外部信号を受信したとき、または、前記プログラムに記載された予め決められたコードを読み取ったとき、前記加速度設定値を予め設定された値に変更する、
ことを特徴とする請求項１に記載の数値制御装置。 
【請求項１４】
前記変更部は、前記第２モードが指定されている場合において、外部信号を受信したとき、または、前記プログラムに記載された予め決められたコードを読み取ったとき、前記時定数を予め設定された値に変更する、
ことを特徴とする請求項７に記載の数値制御装置。
【請求項１５】
前記変更部は、前記プログラムに記載された予め決められたコードを読み取ったとき、前記加速度設定値を変更する動作を停止する、
ことを特徴とする請求項１から請求項１４の何れか一項に記載の数値制御装置。 
【請求項１６】
数値制御装置が、モータの駆動対象の経路を規定するプログラムに基づいて前記モータを制御する数値制御方法であって、
前記駆動対象を前記経路上を移動せしめる際の速度をその時点の加速度設定値に基づいて加減速処理し、加減速処理後の速度を出力する第１ステップと、
前記加減速処理後の速度で前記モータを駆動するように前記モータに対する制御周期毎の位置指令を算出する第２ステップと、
前記モータを制御中に前記モータに関する状態量を監視する第３ステップと、
前記状態量に基づいて前記加速度設定値を前記モータの制御中に変更する第４ステップと
を備え、
前記第４ステップは、
前記状態量に基づいて加速度候補値を求めるステップと、
前記駆動対象の速度を現在値から前記プログラムに規定された目標位置での速度まで前記加速度候補値を用いて減速するための必要距離を求めるステップと、
前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが可能か否かを前記駆動対象の現在位置から前記目標位置までの距離と前記必要距離とに基づいて判定するステップと、
前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが可能と判定した場合には前記加速度設定値を前記加速度候補値に変更し、前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが不可能と判定した場合には前記加速度設定値を変更しないステップと、
を含む、
ことを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置および数値制御方法に関する。
【背景技術】
【０００２】
従来、工作機械を数値制御してイナーシャ（重量）が大きいワークを加工する場合においては、最大イナーシャ比に応じた時定数が数値制御装置に設定され、加工が終了するまでその時定数が変更されない。そのため、切削等によりイナーシャが小さくなる場合、より大きく加減速させることができる余裕が生じるが、時定数が固定化されたままであるため、サイクルタイムを短縮することができない。そこで、ワークの重量に応じた最適な時定数を選択する機能が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２１１４６７号公報
【特許文献２】特開２０００−３４６７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の技術によれば、数値制御装置は、最初に、加工プログラムに基づいて工作機械を動作させる。その際、数値制御装置は、ワーク重量を推定し、推定結果に基づいて最適な時定数を導出する。数値制御装置は、導出した時定数を加工プログラムと一緒に記録し、再度同じ加工プログラムで動作させるときに、記憶した時定数で動かす。このため、加工プログラムまたはワーク重量が変わる毎に、ワーク重量の推定および時定数の導出を行わなくてはならないという問題点があった。【０００５】
この発明は、上記のような問題点を解決するためになされたものであり、プログラム実行中においてもワークのイナーシャを推定し、推定結果に基づいて最適な加速度または時定数に自動的に変更して動作をさせることでサイクルタイムの短縮効果や振動抑制・過負荷防止効果を得ることを目的としている。また、ワークのイナーシャ以外にも負荷や加減速倍率といった状態量に応じて、加速度または時定数を自動的に変更して動作をさせることでサイクルタイムの短縮効果や振動抑制・過負荷防止効果を得ることも目的としている。【０００６】
本発明は、上記に鑑みてなされたものであって、加工プログラムを試行的に実行することなく加速度を動的に変更することができる数値制御装置および数値制御方法を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、モータの駆動対象の経路を規定するプログラムに基づいて前記モータを制御する数値制御装置であって、前記駆動対象を前記経路上を移動せしめる際の速度をその時点の加速度設定値に基づいて加減速処理し、加減速処理後の速度を出力する加減速処理部と、前記加減速処理後の速度で前記モータを駆動するように前記モータに対する制御周期毎の位置指令を算出する補間部と、前記モータを制御中に前記モータに関する状態量を監視して、前記状態量に基づいて前記加速度設定値を前記モータの制御中に変更する変更部と、を備え、前記変更部は、前記状態量に基づいて加速度候補値を求め、前記駆動対象の速度を現在値から前記プログラムに規定された目標位置での速度まで前記加速度候補値を用いて減速するための必要距離を求め、前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが可能か否かを前記駆動対象の現在位置から前記目標位置までの距離と前記必要距離とに基づいて判定し、前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが可能と判定した場合には前記加速度設定値を前記加速度候補値に変更し、前記加速度候補値で前記駆動対象を前記目標位置に移動せしめることが不可能と判定した場合には前記加速度設定値を変更しない、ことを特徴とする。
【発明の効果】
【０００８】
本発明にかかる数値制御装置は、モータの制御中であってもモータの状態量に基づいて加速度を変更するので、加工プログラムを試行的に実行することなく加速度を動的に変更することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１の数値制御装置の構成を示す図である。
【図２】図２は、実施の形態１のパラメータ変更部の動作を説明するフローチャートである。
【図３】図３は、実施の形態１の変更処理を説明するフローチャートである。
【図４】図４は、合成速度の波形の例を示す図である。
【図５】図５は、合成速度の波形の例を示す図である。
【図６】図６は、実施の形態２の数値制御装置の構成を示す図である。
【図７】図７は、実施の形態２のパラメータ変更部の動作を説明するフローチャートである。
【図８】図８は、実施の形態３の数値制御装置の構成を示す図である。
【図９】図９は、実施の形態３のパラメータ変更部の動作を説明するフローチャートである。
【図１０】図１０は、実施の形態４の数値制御装置の構成を示す図である。
【図１１】図１１は、実施の形態５の数値制御装置の構成を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる実施の形態の数値制御装置および数値制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１の数値制御装置の構成を示す図である。数値制御装置１は、アンプ２に接続されている。アンプ２は、モータ３に駆動電流を供給する。モータ３は、駆動対象としての負荷４が接続されている。モータ３および負荷４を、機械系５と表記する。なお、機械系５は、同一の負荷４を駆動する１以上の駆動軸（以下、単に軸）を備えている。モータ３およびアンプ２は、軸毎に用意される。
【００１２】
数値制御装置１は、プログラム解析部１０、第１補間部１１、補間前加減速処理部１２、第２補間部１３、パラメータ変更部１４およびフィルタ部１５を備えている。
【００１３】
プログラム解析部１０は、外部から入力された加工プログラム６を解析し、解析結果を解析データとして出力する。加工プログラム６は、指令ブロックを複数含んで構成される。加工プログラム６は、駆動対象の経路を少なくとも規定する。加工プログラム６によって規定される経路を、指令経路と表記する。解析データとは、指令ブロック毎の各軸の移動量、指令送り速度、指令情報（例えばＧコード）、など、移動に必要な情報である。
【００１４】
第１補間部１１は、解析データに基づいて補間データを生成し、出力する。補間データは、１制御周期分の移動量を表すデータに加え、終点目標速度等、合成速度計算値（後述する）の生成に用いる情報を含む。
【００１５】
パラメータ変更部１４は、モータ３の制御中に、モータ３に関する状態量を監視して、状態量と解析データとに基づいてモータ３を駆動するためのパラメータをモータ３の制御中に変更する。
【００１６】
実施の形態１では、パラメータ変更部１４によって変更されるパラメータは、具体的には加速度であり、状態量は、具体的にはイナーシャ比である。イナーシャ比とは、モータ３のイナーシャに対する機械系５のイナーシャの比率である。モータ３のイナーシャは既知とする。イナーシャ比は、ここではアンプ２によって推定される。パラメータ変更部１４は、アンプ２からイナーシャ比を取得する。イナーシャ比の推定手法は加工プログラムの実行中に推定されるものであれば任意の手法が採用可能である。例えば、イナーシャ比の推定手法としては、特許文献２に記載されているような逐次最小二乗法を使う方法、加減速中のトルクと加速度との比から算出する手法などが採用可能である。なお、ここでは、加速度は、負の値をとり得る。
【００１７】
補間前加減速処理部１２は、補間データとパラメータ変更部１４から入力される加速度（加速度設定値）とに基づいて、指令経路に沿った接線速度（合成速度）を加減速処理する。具体的には、補間前加減速処理部１２は、パラメータ変更部１４によって加速度設定値が変更されたとき、変更された加速度設定値で加減速されるように合成速度（合成速度計算値）を算出する。補間前加減速処理部１２は、合成速度計算値を出力する。
【００１８】
第２補間部１３は、補間データと、合成速度計算値と、に基づいて各軸の移動量を補間することによって、１制御周期分の位置指令を生成する。具体的には、例えば、第２補間部１３は、複数の位置指令による合成速度が合成速度計算値に一致するように各位置指令を生成する。言い換えると、第２補間部１３は、加減速処理後の速度でモータ３を駆動するように、各位置指令を生成する。
【００１９】
フィルタ部１５は、各位置指令による速度波形が滑らかになるように夫々の位置指令に対するフィルタ処理を実行する。フィルタ部１５は、フィルタ処理後の位置指令をアンプ２に出力する。フィルタ処理は、少なくとも速度波形を滑らかにするためのものであれば任意である。フィルタ処理としては、例えば移動平均フィルタが採用可能である。
【００２０】
アンプ２は、モータ位置または負荷４の位置が、入力された位置指令に一致するように、モータ３を駆動する。
【００２１】
図２は、実施の形態１のパラメータ変更部１４の動作を説明するフローチャートである。なお、パラメータ変更部１４は、イナーシャ比を記憶することができるものとする。パラメータ変更部１４が記憶するイナーシャ比を、イナーシャ比記憶値ということとする。
【００２２】
まず、パラメータ変更部１４は、アンプ２からイナーシャ比を取得する（Ｓ１）。そして、パラメータ変更部１４は、取得したイナーシャ比がイナーシャ比記憶値と一致するか否かを判定する（Ｓ２）。取得したイナーシャ比がイナーシャ比記憶値と一致しない場合（Ｓ２、Ｎｏ）、パラメータ変更部１４は、加速度設定値を変更する変更処理を実行する（Ｓ３）。そして、パラメータ変更部１４は、取得したイナーシャ比をイナーシャ比記憶値として上書き形式で記憶して（Ｓ４）、Ｓ１の処理を再び実行する。取得したイナーシャ比がイナーシャ比記憶値と一致する場合（Ｓ２、Ｙｅｓ）、パラメータ変更部１４は、Ｓ３およびＳ４の処理をスキップする。
【００２３】
図３は、実施の形態１の変更処理を説明するフローチャートである。
【００２４】
まず、パラメータ変更部１４は、補間モードが「補間前モード」に設定されているか否かを判定する（Ｓ１１）。補間モードの設定は、加工プログラム６に記述されている。パラメータ変更部１４は、解析データを参照することによって補間モードが「補間前モード」に設定されているか否かを判定することができる。なお、「補間前モード」とは、補間する前に加減速制御を行うモードである。補間モードが「補間前モード」に設定されていない場合（Ｓ１１、Ｎｏ）、パラメータ変更部１４は、変更処理を終了する。
【００２５】
補間モードが「補間前モード」に設定されている場合（Ｓ１１、Ｙｅｓ）、パラメータ変更部１４は、加速度候補値を算出する（Ｓ１２）。加速度候補値Ａは、例えば次の数式（１）を用いて算出される。
Ａ＝Ａ０＊（Ｊ０／Ｊ）      ・・・（１）
【００２６】
ここで、Ｊは、イナーシャ比の現在値（即ちＳ１の処理によって取得されたイナーシャ比）である。また、Ａ０は、加速度基準値であり、Ｊ０は、加速度基準値を設定した際のイナーシャ比(イナーシャ比基準値)である。加速度基準値Ａ０、イナーシャ比基準値Ｊ０は、予めパラメータ変更部１４に記憶される。なお、イナーシャ比と加速度とを対応付けるテーブルがパラメータ変更部１４に予め設定され、パラメータ変更部１４は、そのテーブルを取得したイナーシャ比を検索キーとして参照することによって加速度候補値を算出してもよい。
【００２７】
続いて、パラメータ変更部１４は、プログラム解析部１０から取得した解析データと補間前加減速処理部１２から取得した合成速度計算値を用いて現在位置から目標位置までの残距離Ｌｍを算出する（Ｓ１３）。目標位置は、例えば加工プログラム６に規定されており、解析データに記述されている。また、パラメータ変更部１４は、加速度候補値を用いて減速所要距離Ｌｄを算出する（Ｓ１４）。減速所要距離Ｌｄは、現在位置での速度から目標位置での速度まで減速するために必要な距離である。
【００２８】
続いて、パラメータ変更部１４は、残距離Ｌｍが減速所要距離Ｌｄより大きいか否かを判定する（Ｓ１５）。即ち、Ｓ１５においては、パラメータ変更部１４は、加速度候補値で駆動対象を目標位置に移動せしめることが可能か否かを判定している。残距離Ｌｍが減速所要距離Ｌｄより小さい場合（Ｓ１５、Ｎｏ）、パラメータ変更部１４は、変更処理を終了する。残距離Ｌｍが減速所要距離Ｌｄより大きい場合（Ｓ１５、Ｙｅｓ）、パラメータ変更部１４は、加速度候補値を加速度設定値として補間前加減速処理部１２に出力し（Ｓ１６）、変更処理を終了する。
【００２９】
図４および図５は、合成速度の波形の例を示す図である。実線１０１、１０３は、実施の形態１による合成速度の推移を示しており、一点鎖線１０２、１０４は、実施の形態１が適用されない場合の合成速度の推移を示している。
【００３０】
実線１０１に示すように、加速開始時においては、加速度設定値Ａ１で加速が開始される。そして、加速中の時刻Ｔ１においてイナーシャ比の変化が検出されたとする。ここでは、イナーシャ比は減少したとしている。その結果、パラメータ変更部１４によって、加速度設定値がＡ１よりも大きいＡ２に変更される。補間前加減速処理部１２は、時刻Ｔ１以降、加速度設定値Ａ２を用いて合成速度計算値を算出する。そのため、合成速度計算値は、加速中に、より急峻な加速を伴う速度波形を形成する。これにより、例えば加工プログラム６の実行中において切削によりワークのイナーシャが大幅に減少した場合、図４のような合成速度計算値を自動で生成することで、加速度設定値Ａ１を常に用いた場合に比べて時間短縮効果の高い位置指令を生成することが可能となる。一定速度中および減速中においても同様にして時間短縮効果の高い指令を生成できる。
【００３１】
また、図５の実線１０３に示すように、加速開始時においては、加速度設定値Ａ３で加速が開始される。イナーシャ比が加速中に増加し、加速中の時刻Ｔ２においてイナーシャ比の変化が検出されたとする。その結果、パラメータ変更部１４によって、加速度設定値がＡ３よりも小さいＡ４に変更される。補間前加減速処理部１２は、時刻Ｔ２以降、加速度設定値Ａ４を用いて合成速度計算値を算出する。そのため、合成速度計算値は、加速中に、より緩やかな加速を伴う速度波形を形成する。これにより、軽いワークから重いワークへの乗せ替えによりイナーシャが増加した場合、図５のような合成速度計算値を生成することで、加速度設定値Ａ３を常に用いた場合に比べて振動抑制効果および過負荷防止効果の高い指令を生成できる。一定速度中および減速中においても同様にして振動抑制効果および過負荷防止効果の高い指令を生成できる。
【００３２】
このように、実施の形態１によれば、パラメータ変更部１４は、モータ３の状態量としてのイナーシャ比に応じてモータ３の加速度を変更するので、加工中にワークのイナーシャが減少した場合にサイクルタイムを短縮することが可能となる。また、加工中にワークのイナーシャが増加した場合に、振動の発生および過負荷を防止することが可能となる。即ち、加工プログラム６を１回以上試行的に実行した結果に基づいて加速度を変更するのではなく、加工プログラム６の実行中に加速度を動的に変更することが可能となる。
【００３３】
また、パラメータ変更部１４は、イナーシャ比に応じて加速度候補値を算出し、加速度候補値で駆動対象を目標位置に移動せしめることが可能か否かを判定する。そして、パラメータ変更部１４は、加速度候補値で駆動対象を目標位置に移動せしめることが可能であると判断した場合に、加速度設定値を加速度候補値に変更する。これにより、目標位置を越えた位置まで駆動対象を移動させることを防止することが可能となる。
【００３４】
なお、パラメータ変更部１４は、加速度を変更するための状態量として機械系５のイナーシャ比を取得している。パラメータ変更部１４は、アンプ２から機械系５（または負荷４）のイナーシャを取得して、イナーシャ比に変換するように構成されてもよい。また、加速度を変更する代わりに時定数を変更するようにしてもよい。
【００３５】
また、パラメータ変更部１４は、数式（１）に従って加速度候補値を算出するものとして説明した。パラメータ変更部１４は、イナーシャ比が増加したときには、加速度候補値がその時点の加速度設定値より小さい値となるように加速度候補値を算出するように構成されてもよい。また、パラメータ変更部１４は、イナーシャ比が減少したときには、加速度候補値がその時点の加速度設定値より大きい値となるように加速度候補値を算出するように構成されてもよい。また、パラメータ変更部１４は、イナーシャ比が増加したとき、またはイナーシャ比が減少したときの、何れか１つの場合にのみ、加速度設定値の変更を実行するようにしてもよい。
【００３６】
また、数値制御装置１が複数の軸を同期させて駆動させる場合には、パラメータ変更部１４は、軸毎に加速度候補値を算出する。そして、パラメータ変更部１４は、軸毎の加速度候補値のうちの最小値を用いて変更処理を実行する。
【００３７】
実施の形態２．
図６は、実施の形態２の数値制御装置の構成を示す図である。実施の形態２以降の説明においては、実施の形態１と等しい構成要素には実施の形態１と同一の名称および符号を付して、重複する説明を省略する。
【００３８】
数値制御装置１ａは、アンプ２に接続されている。アンプ２は、負荷４が接続されたモータ３に駆動電流を供給する。モータ３および負荷４は、機械系５を構成する。数値制御装置１ａは、プログラム解析部１０、第１補間部１１、補間前加減速処理部１２、第２補間部１３、パラメータ変更部１４ａおよびフィルタ部１５ａを備えている。
【００３９】
フィルタ部１５ａは、フィルタ処理の時定数（時定数設定値）が外部から変更可能に構成されている。パラメータ変更部１４ａは、状態量に応じて時定数設定値を変更することができる。ここでは、状態量は、実施の形態１と同じくイナーシャ比を指すものであるとする。時定数設定値が大きいほど、加速度（正確には加速度の絶対値）が小さくなり、時定数設定値が小さいほど、加速度（正確には加速度の絶対値）が大きくなる。パラメータ変更部１４ａは、イナーシャ比が増加したときには、時定数がその時点の時定数設定値より大きい値となるように新たな時定数設定値を算出する。また、パラメータ変更部１４ａは、イナーシャ比が減少したときには、時定数がその時点の時定数設定値より小さい値となるように新たな時定数設定値を算出する。
【００４０】
図７は、実施の形態２のパラメータ変更部１４ａの動作を説明するフローチャートである。
【００４１】
まず、パラメータ変更部１４ａは、補間モードが「補間前モード」に設定されているか否かを判定する（Ｓ２１）。補間モードが「補間前モード」に設定されている場合（Ｓ２１、Ｙｅｓ）、Ｓ２２〜Ｓ２６において、Ｓ１２〜Ｓ１６と同じ処理が実行される。
【００４２】
補間モードが「補間前モード」に設定されていない場合（Ｓ２１、Ｎｏ）、パラメータ変更部１４ａは、第２補間部１３の位置指令を参照して、モータ３の位置が停止しているか否かを判定する（Ｓ２７）。モータ３の位置が停止していない場合（Ｓ２７、Ｎｏ）、パラメータ変更部１４ａは、変更処理を終了する。
【００４３】
モータ３の位置が停止している場合（Ｓ２７、Ｙｅｓ）、パラメータ変更部１４ａは、時定数設定値を算出する（Ｓ２８）。時定数設定値ｔｃは、例えば次の数式（２）を用いて算出される。
ｔｃ＝ｔｃ０＊（Ｊ／Ｊ０）      ・・・（２）
【００４４】
ここで、ｔｃ０は、時定数基準値であり、イナーシャ比基準値Ｊ０を用いて調整された値である。時定数基準値は、予めパラメータ変更部１４ａに設定される。
【００４５】
続いて、パラメータ変更部１４ａは、算出した時定数設定値ｔｃをフィルタ部１５ａに出力し（Ｓ２９）、変更処理を終了する。
【００４６】
このように、実施の形態２によれば、パラメータ変更部１４ａは、フィルタ部１５ａによるフィルタ処理の時定数を変更することによって、加速度を変更することができる。
【００４７】
なお、数値制御装置１ａが複数の軸を同期させて駆動させる場合には、パラメータ変更部１４ａは、軸毎に時定数設定値ｔｃを算出する。そして、パラメータ変更部１４は、軸毎の時定数設定値ｔｃのうちの最大値をフィルタ部１５ａに出力する。
【００４８】
実施の形態３．
図８は、実施の形態３の数値制御装置の構成を示す図である。数値制御装置１ｂは、アンプ２に接続されている。アンプ２は、負荷４が接続されたモータ３に駆動電流を供給する。モータ３および負荷４は、機械系５を構成する。数値制御装置１ｂは、プログラム解析部１０、第１補間部１１、補間前加減速処理部１２、第２補間部１３、パラメータ変更部１４ｂおよびフィルタ部１５を備えている。
【００４９】
実施の形態３においては、パラメータを変換するための状態量として、アンプ２がモータ３に出力する電流値が用いられる。パラメータ変更部１４ｂは、電流値をモータ３の負荷値に変換する。モータ３の負荷値は、電流値の二乗に比例する。負荷値は、加速度が大きくなるほど大きくなる。また、負荷値は、イナーシャ比が大きくなるほど大きくなる。例えば、イナーシャの大きい負荷４を大きな加速度で動かそうとすると、モータ３に過負荷がかかる。モータ３に過負荷がかかっている場合、モータ３または機械系５が故障する虞がある。パラメータ変更部１４ｂは、モータ３に過負荷がかかっているか否かを判定するための過負荷しきい値Ｘｔｈが予め設定される。パラメータ変更部１４ｂは、過負荷を検出すると、加速度設定値を変更する。
【００５０】
図９は、実施の形態３のパラメータ変更部１４ｂの動作を説明するフローチャートである。
【００５１】
パラメータ変更部１４ｂは、まず、アンプ３から電流値を取得する（Ｓ３１）。そして、パラメータ変更部１４ｂは、取得した電流値から負荷値Ｘを算出する（Ｓ３２）。そして、パラメータ変更部１４ｂは、負荷値Ｘが過負荷しきい値Ｘｔｈより大きいか否かを判定する（Ｓ３３）。負荷値Ｘが過負荷しきい値Ｘｔｈより大きい場合（Ｓ３３、Ｙｅｓ）、パラメータ変更部１４ｂは、変更処理を実行し（Ｓ３４）、Ｓ３１の処理を再び実行する。負荷値Ｘが過負荷しきい値Ｘｔｈより小さい場合（Ｓ３３、Ｎｏ）、パラメータ変更部１４ｂは、Ｓ３４の処理をスキップする。
【００５２】
なお、実施の形態３の変更処理は、実施の形態１と同様の処理によって実行される。実施の形態３の変更処理においては、少なくとも直前に設定されていた加速度設定値よりも小さい加速度候補値が算出される。加速度候補値として、モータ３に過負荷がかからない程度の、予め設定された値が用いられてもよい。
【００５３】
従来、過負荷が検出された場合には、動作を停止する措置がとられていたため、作業時間が増大した。実施の形態３によれば、パラメータ変更部１４ｂは、負荷値に応じて加速度設定値を変更する。実施の形態３によって、例えば軽いワークから重いワークに載せ替えて動かした場合でも、加速中において過負荷になる前に加速度を切り替えることで、過負荷を防止するとともに過負荷によって動作を停止する措置を不要とすることが可能となる。
【００５４】
なお、パラメータ変更部１４ｂは、過負荷を検出した際にはフィルタ部１５のフィルタ処理の時定数を変更するようにしてもよい。具体的には、パラメータ変更部１４ｂは、過負荷を検出した際には、時定数をより大きい値に変更する。
【００５５】
また、パラメータ変更部１４ｂは、負荷値が増加したとき、加速度設定値をより小さい値に変更してもよい。また、パラメータ変更部１４ｂは、負荷値が減少したとき、加速度設定値をより大きい値に変更してもよい。また、パラメータ変更部１４ｂは、負荷値が増加したとき、時定数をより大きい値に変更してもよい。また、パラメータ変更部１４ｂは、負荷値が減少したとき、時定数をより小さい値に変更してもよい。
【００５６】
実施の形態４．
図１０は、実施の形態４の数値制御装置の構成を示す図である。数値制御装置１ｃは、アンプ２に接続されている。アンプ２ｃは、負荷４が接続されたモータ３に駆動電流を供給する。モータ３および負荷４は、機械系５を構成する。数値制御装置１ｃは、プログラム解析部１０、第１補間部１１、補間前加減速処理部１２、第２補間部１３、パラメータ変更部１４ｃおよびフィルタ部１５を備えている。
【００５７】
実施の形態４においては、加速度設定値を変更するための状態量として、加減速倍率が用いられる。ここでは、アンプ２ｃは、加減速倍率を算出し、出力する。パラメータ変更部１４ｃは、加減速倍率の変化を検知すると、変更処理を実行する。なお、加減速倍率は、アンプ２ｃ以外から入力されてもよい。例えば、ユーザが操作盤を介して手動で加減速倍率を入力するようにしてもよい。
【００５８】
実施の形態４の変更処理は、実施の形態１と同様の処理によって実行される。実施の形態４の変更処理においては、パラメータ変更部１４ｃは、加速度基準値Ａ０に加減速倍率を乗算し、得られた値を加速度候補値とする。
【００５９】
このように、実施の形態４によれば、パラメータ変更部１４ｃは、予め設定された加速度基準値に外部から入力された加減速倍率を乗算して得られる値に加速度を変更する。これにより、加工プログラム６の実行中であっても加減速倍率に応じて加速度を変更することが可能となる。
【００６０】
なお、パラメータ変更部１４ｃは、加減速倍率に応じてフィルタ部１５のフィルタ処理の時定数を変更するようにしてもよい。例えば、加減速倍率が１より大きい値である場合、パラメータ変更部１４ｃは、その時点の時定数より小さい値で時定数を変更する。また、加減速倍率が１より小さい値である場合、パラメータ変更部１４ｃは、その時点の時定数より大きい値で時定数を変更する。また、パラメータ変更部１４ｃは、外部から時定数倍率が入力され、入力された時定数倍率に応じてフィルタ部１５のフィルタ処理の時定数を変更するようにしてもよい。即ち、パラメータ変更部１４ｃは、外部から入力されるパラメータとその時点に設定されている時定数とに基づいて新たな時定数を演算し、その時点に設定されている時定数を新たな時定数で更新する。
【００６１】
また、パラメータ変更部１４ｃは、イナーシャ比、モータ３の電流値、および加減速倍率のうちの少なくとも２種類が入力されるようにしてもよい。具体的には、種類毎に判定条件と優先度とが設定される。イナーシャ比にかかる判定条件は、Ｓ２の処理が該当する。電流値にかかる判定条件は、Ｓ３３の処理が該当する。加減速倍率にかかる判定条件は、パラメータ変更部１４ｃが加減速倍率の変更を検知することである。パラメータ変更部１４は、２以上の種類の状態量にかかる判定条件が同時に満たされたとき、優先度が最も高い状態量に応じて加速度または時定数を変更してよい。例えば、機械系５のイナーシャ比にかかる判定条件と電流値にかかる判定条件とが同時に満たされた場合、安定して動かすことを優先したい場合には、電流値に基づいて加速度または時定数を変更することで、振動抑制の効果と過負荷防止の効果とを得ることができる。そして、機械系５のイナーシャ比に応じて加速度を変更することで、時間短縮の効果を得ることができる。
【００６２】
実施の形態５．
図１１は、実施の形態５の数値制御装置の構成を示す図である。数値制御装置１ｄは、アンプ２に接続されている。アンプ２は、負荷４が接続されたモータ３に駆動電流を供給する。モータ３および負荷４は、機械系５を構成する。数値制御装置１ｄは、プログラム解析部１０、第１補間部１１、補間前加減速処理部１２、第２補間部１３、パラメータ変更部１４ｄおよびフィルタ部１５を備えている。
【００６３】
実施の形態５においては、パラメータ変更部１４ｄは、特定の外部信号が入力されたとき、または、特定の補助コード指令を読み取ったとき、リセット処理を実行することができる。リセット処理とは、加速度設定値を予め設定された値にリセットする処理である。リセット処理のための外部信号としては、リセット信号、シングルブロック信号、フィードホールド信号など、任意の信号が採用可能である。リセット処理のための補助コード指令は、加工プログラム６に記述されている。プログラム解析部１０は、加工プログラム６に記述されている補助コード指令を解析データに記述する。パラメータ変更部１４ｄは、解析データから補助コード指令を読み取ることができる。
【００６４】
例えば、工具交換の補助コード指令が指令されたとき、工具交換によってイナーシャが変化するため、次の動作時にイナーシャを推定して加速度の切り替えが行われる。イナーシャを推定する際の動作における加速度は切り替え前の加速度設定値が用いられる。そのため加速度設定値によっては過負荷や発振が生じる可能性がある。実施の形態５によれば、工具交換指令が指令された場合、パラメータ変更部１４ｄは、リセット処理を行うか否かを工具交換指令に付された補助コード指令に基づいて判断し、リセット処理を行うと判断した場合、予め設定された加速度に切り替える。振動・過負荷が発生しないことが予め分かっている加速度が予め設定されているものとする。これにより、工具交換時における過負荷および発振を抑制することが可能となる。
【００６５】
なお、パラメータ変更部１４ｄは、特定の外部信号が入力されたとき、または、特定の補助コード指令を読み取ったとき、時定数のリセット処理を実行してもよい。時定数のリセット処理とは、時定数設定値を予め設定された値にリセットする処理である。
【００６６】
また、パラメータ変更部１４ｄは、特定の動作指令を読み取ったとき、その動作指令による動作期間中は加速度の切り替えまたは時定数の切り替えを停止するようにしてもよい。例えば、同期タップまたはねじきり等、加速度の切り替えを実行したくない動作が存在する。このような場合、ユーザは、加工プログラム６に、そのような動作の前に加速度切り替え停止の補助コード、動作の後に加速度切り替え開始の補助コードを加えることができる。パラメータ変更部１４ｄは、補助コードを読み取った際に加速度切り替えの停止または開始を実行する。
【００６７】
また、特定の動作指令についてその動作指令の実行期間は加速度または時定数の切り替えを停止することを予め加工プログラム６に定義したりパラメータ変更部１４ｄに設定したりすることが可能に構成されてもよい。パラメータ変更部１４ｄは、その動作指令を読み取った際に、加速度または時定数の切り替えを停止する。
【００６８】
なお、実施の形態１〜５の数値制御装置を構成する各機能ブロックは、ハードウェアおよびソフトウェアのいずれか、又は両者の組み合わせとして実現することができる。ソフトウェアで実現するとは、演算装置および記憶装置を備えるコンピュータにおいて、構成要素に対応するプログラムモジュールを記憶装置に格納しておき、当該記憶装置に格納されているプログラムモジュールを演算装置が実行することによって当該構成要素の機能を実現することである。
【符号の説明】
【００６９】
１，１ａ，１ｂ，１ｃ，１ｄ  数値制御装置、２，２ｃ  アンプ、３  モータ、４  負荷、５  機械系、６  加工プログラム、１０  プログラム解析部、１１  第１補間部、１２  補間前加減速処理部、１３  第２補間部、１４，１４ａ，１４ｂ，１４ｃ，１４ｄ  パラメータ変更部、１５，１５ａ  フィルタ部、１０１，１０３  実線、１０２，１０４  一点鎖線。
【要約】
加工プログラムを試行的に実行することなく加速度を動的に変更するために、モータの駆動対象の経路を規定する加工プログラムに基づいて前記モータを制御する数値制御装置に、前記モータを制御中に、イナーシャ比、外部から入力することも可能な加減速倍率、あるいは、前記モータの電流値に基づいて前記モータの加速度を前記モータの制御中に変更する変更部を設ける。【図１】
0005669986.tif 000002
【図２】
0005669986.tif 000003
【図３】
0005669986.tif 000004
【図４】
0005669986.tif 000005
【図５】
0005669986.tif 000006
【図６】
0005669986.tif 000007
【図７】
0005669986.tif 000008
【図８】
0005669986.tif 000009
【図９】
0005669986.tif 000010
【図１０】
0005669986.tif 000011
【図１１】
0005669986.tif 000012