(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】数値制御装置
(51)【国際特許分類】
G05B 19/416 20060101AFI20250107BHJP
【FI】
G05B19/416 E
(21)【出願番号】P 2023526760
(86)(22)【出願日】2021-06-10
(86)【国際出願番号】 JP2021022140
(87)【国際公開番号】W WO2022259469
(87)【国際公開日】2022-12-15
【審査請求日】2024-01-12
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】大西 庸士
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開平05-127731(JP,A)
【文献】特開2004-030540(JP,A)
【文献】特開2000-020118(JP,A)
【文献】特開2008-225825(JP,A)
【文献】特開2021-002092(JP,A)
【文献】米国特許第04163184(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416
(57)【特許請求の範囲】
【請求項1】
それぞれ指令速度を指定する複数の移動ブロックを含む加工プログラムに基づいて工作機械の駆動軸を制御する数値制御装置であって、
連続して実行される2つの前記移動ブロックのうち前記指令速度が小さい方の他方に対する隣接領域における前記指令速度を、当該指令速度以上かつ大きい方の指令速度以下の値に修正した目標速度を設定する目標速度設定部
と、
前記駆動軸の速度が、前記目標速度を超えず、かつそれぞれの前記駆動軸の速度のN階微分要素及び複数の前記駆動軸の合成速度のN階微分要素(Nは任意の自然数)のうち少なくともいずれか1つについての速度制御制約を守るような指令値を生成する速度指令生成部と、
を備える、数値制御装置。
【請求項2】
前記目標速度設定部は、前記隣接領域の距離幅又は時間幅を前記連続して実行される2つの前記移動ブロックの前記指令速度の差に応じて変化させる、請求項
1に記載の数値制御装置。
【請求項3】
前記目標速度設定部は、前記隣接領域の距離幅又は時間幅を前記連続して実行される2つの前記移動ブロックの前記指令速度の差及び前記速度制御制約に応じて定める、請求項
2に記載の数値制御装置。
【請求項4】
前記目標速度設定部は、前記隣接領域の距離幅又は時間幅を予め設定される幅とする、請求項
1に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置に関する。
【背景技術】
【0002】
ブロックごとに速度を指定する加工プログラムに基づいて工作機械の駆動軸を制御する数値制御装置において、加工プログラム通りに駆動軸を制御すると、過大な加速度で工作機械を駆動することになり、工作機械に振動が発生したり、過大な負荷がかかるおそれがある。このため、駆動軸の加減速度(速度の変化率)に制限を設定し、加工プログラムに対して加速度を軽減した速度変化をさせる機能を備える数値制御装置が広く利用されている。
【0003】
数値制御装置において、上述のように加減速度を制限すると、加工時間(サイクルタイム)が延びる。そこで、加工プログラムを解析し、移動距離と指令速度との関係を定義したパラメトリック曲線を生成することにより、加減速度を抑制する制御に起因する加工時間の増大を抑制する技術が提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されるように、加工プログラムを解析して指令速度の変化を再構成するためには、特殊な処理を行う必要があるために設計が煩雑となるうえ、演算負荷も増大する。また、ユーザが加減速度をどの程度抑制するか等のパラメータ調整を行う場合には、新たな知識と経験を要求される。このため、容易に加工時間の増大を抑制できる技術が望まれる。
【課題を解決するための手段】
【0006】
本開示の一態様に係る数値制御装置は、それぞれ指令速度を指定する複数の移動ブロックを含む加工プログラムに基づいて工作機械の駆動軸を制御する数値制御装置であって、連続して実行される2つの前記移動ブロックのうち前記指令速度が小さい方の他方に対する隣接領域における指令速度を、当該指令速度以上かつ大きい方の指令速度以下の値に修正した目標速度を設定する目標速度設定部を備える。
【発明の効果】
【0007】
本開示に係る数値制御装置によれば、容易に加工時間の増大を抑制できる。
【図面の簡単な説明】
【0008】
【
図1】本開示の第1実施形態に係る数値制御装置の構成を示すブロック図である。
【
図2】
図1の数値制御装置における制御の手順を示すフローチャートである。
【
図3】
図1の数値制御装置における指令速度、目標速度及び速度指令値の関係を示すグラフである。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態について、図面を参照しながら説明する。
図1は、本開示の第1実施形態に係る数値制御装置1の構成を示すブロック図である。
【0010】
数値制御装置1は、加工プログラムに基づいて、工作機械2の駆動軸を制御する。数値制御装置1により制御される工作機械2は、工具又はワークを移動又は回転させる複数の駆動軸を有する。なお、本明細書において、駆動軸は、加工後の形状を定めるために工具とワークを相対移動させるための駆動軸に限られず、切削を行うために工具又はワークを回転させる主軸、その他の補助機器を動作させる駆動軸を含み得る。
【0011】
数値制御装置1は、プログラム記憶部11と、読込制御部12と、プログラム解析部13と、目標速度設定部14と、速度指令生成部15と、指令出力部16と、を備える。数値制御装置1は、メモリ、プロセッサ(CPU)、入出力インターフェイス等を有するコンピュータ装置に適切な制御プログラムを実行させることにより実現され得る。具体的には、数値制御装置1は、プログラム記憶部11、読込制御部12、プログラム解析部13、目標速度設定部14、速度指令生成部15及び指令出力部16のそれぞれの機能をプロセッサに実行させる複数の処理部を備える数値制御プログラムによって実現される。このような数値制御プログラムは、非一時的記憶媒体に記憶した状態で提供され得る。なお、数値制御装置1の上述の各構成要素は、数値制御装置1の機能を類別したものであって物理構成及びプログラム構成において明確に区分できるものでなくてもよい。
【0012】
プログラム記憶部11は、加工プログラムを記憶する。加工プログラムは、例えばGコード等の所定の言語によって記述され、それぞれ工作機械2の単位動作又は処理を指定する複数の指令ブロックから構成され得る。指令ブロックには、工具とワークの相対速度である指令速度と目標座標位置とを指定する移動ブロックが含まれる。
【0013】
加工プログラムにおいて指定される指令速度は、工作機械2の機構上の制約を考慮せずに設定され得るため、時間的に連続して実行される2つの移動ブロックが指定する指令速度が不連続に変化し得る。このため、加工プログラムに忠実に工作機械2の駆動軸を速度変化させると、工作機械2に振動が発生したり、過負荷となったりするおそれがある。
【0014】
読込制御部12は、加工プログラムに従う工作機械2の制御を行う際に、実際に駆動軸を駆動するよりも早く、プログラム記憶部11から加工プログラムの指令ブロックを読み出す先読みを行う。
【0015】
プログラム解析部13は、先読みした指令ブロックの内容を解析し、加工プログラムに含まれる移動ブロックに従う動作を時刻毎の指令速度として表す。指令速度は、速度指令生成部15の構成に応じて、複数の駆動軸の合成速度(例えば工具とワークの相対速度の絶対値)であってもよく、各駆動軸のそれぞれの速度であってもよい。
【0016】
目標速度設定部14は、プログラム解析部13が加工プログラムから導出した指令速度を部分的に修正した目標速度を設定する。具体的には、目標速度設定部14は、時間的に連続して実行される2つの移動ブロックのうち指令速度が小さい方の他方に対する隣接領域における指令速度を、当該指令速度以上かつ大きい方の指令速度以下の値に修正した目標速度を設定する。つまり、目標速度設定部14が設定する目標速度は、隣接領域以外では指令速度と等しい速度であり、隣接領域では、当該移動ブロックの指令速度が連続する移動ブロックの指令速度より小さい場合には当該移動ブロックの指令速度以上かつ連続する移動ブロックの指令速度以下の速度、当該移動ブロックの指令速度が連続する移動ブロックの指令速度以下の場合には当該移動ブロックの指令速度と等しい速度である。
【0017】
このような目標速度を設定することにより、実際の駆動軸の動作を加工プログラムにおいて指定される目標速度と略同視できる動作を行いつつ、速度指令生成部15において加減速度を制限する処理を行うことに起因する加工時間の増大を抑制できる。
【0018】
目標速度設定部14は、加工プログラムにおいて指定された指令速度と異なる目標速度を設定する隣接領域の距離幅又は時間幅を予め設定される幅としてもよい。つまり、隣接領域の時間幅は、予め設定される一定の幅であってもよく、駆動距離が予め設定される一定の距離となる時間、つまり目標速度の積分値が一定の値となる時間であってもよい。これにより、演算負荷を比較的抑制しつつ、加工時間の増大を抑制できる。
【0019】
また、目標速度設定部14は、隣接領域の距離幅又は時間幅を連続して実行される2つの移動ブロックの指令速度の差に応じて変化させてもよい。例として、目標速度設定部14は、隣接領域の距離幅又は時間幅を連続して実行される2つの移動ブロックの指令速度の差及び速度指令生成部15に設定される後述の速度制御制約に応じて定めてもよい。これにより、隣接領域の幅を最適化することができるので、加工時間の増大を抑制しつつ、速度指令値の指令速度との差異をより小さくできる。より具体的には、隣接領域の時間幅を、{0.5×(2つの移動ブロックの指令速度の差)/(加減速度上限値)}とすることができる。これにより、移動ブロック間の切れ目において速度指令値が2つの移動ブロックの指令速度の略中間速度(時間を考慮せず2つの指令速度の値を平均した速度)となり、速度指令値の指令速度との差異を極小化できる。移動ブロック間の切れ目において速度指令値をより正確に2つの移動ブロックの指令速度の略中間速度に一致させるために、目標速度設定部14は、速度指令生成部15における加加速度(躍度)の制限等をさらに考慮して隣接領域の幅を決定してもよい。
【0020】
目標速度設定部14は、指令速度が小さい方の隣接領域における目標速度を、連続する2つの移動ブロックの指令速度の中間速度とすれば、隣接領域の幅が十分であれば、指令速度が大きい方の移動ブロック内での加速度上限値に起因する速度指令値と指令速度との差の積分値を全体で必要な差の積分値の略半分にすることができるので、加速度の制限による差を2つの移動ブロックに略均等に振り分けることができる。
【0021】
目標速度設定部14は、指令速度が小さい方の隣接領域における目標速度を、大きい方の指令速度と等しい速度としてもよい。これにより、速度指令値が2つの指令速度の間で一度頭打ちになることで、加工時間が延びることを防止できる。但し、この場合、隣接領域の幅を適切に設定することが、速度指令値の指令速度との差異を小さくするために重要となる。
【0022】
目標速度設定部14は、ユーザの選択により、その機能を停止して、プログラム解析部13が導出した指令速度をそのまま速度指令生成部15に入力できるよう構成されてもよい。目標速度設定部14の機能を停止することで、本実施形態の数値制御装置1は従来の数値制御装置と同様の制御を行うものとなる。
【0023】
速度指令生成部15は、工作機械2の駆動軸の速度(合成速度)が目標速度設定部14により設定された目標速度を超えず、かつそれぞれの駆動軸の速度のN階微分要素及び複数の駆動軸の合成速度のN階微分要素(Nは任意の自然数、つまり非負整数)のうち少なくともいずれか1つについての速度制御制約を守るような速度指令値を生成する。つまり、「速度制御制約」は、速度指令値に従う場合の各駆動軸のそれぞれの速度及び合成速度のN階微分値の少なくともいずれか1つについて設定される上限値を超えないようにすること意味する。
【0024】
具体的には、速度指令生成部15は、各駆動軸の個々の加減速度(速度の1階微分要素)又は複数の駆動軸により実現される合成動作の加減速度が予め設定される加減速度上限値を超えないような速度指令値を生成するよう構成され得る。また、速度指令生成部15は、工作機械2の駆動軸の加加速度(速度の2階微分要素)が予め設定される加加速度上限値を超えないような指令値を生成してもよい。つまり、目標速度設定部14により設定された目標速度は、速度指令生成部15が速度指令値を設定する際の目標値であるとともに、目的とする加工に応じて速度の上限を定める制約条件の一つでもある。また、速度制御制約は、主に工作機械の仕様に基づいて定められる制約条件である。このような制約条件下で速度指令値を生成する処理は、従来の数値制御装置において、指令速度に基づいて速度指令値を生成する処理と同じである。
【0025】
指令出力部16は、速度指令生成部15が生成した速度指令値に従って工作機械2の各駆動軸を動作させるよう、つまり各時刻における駆動軸の速度が速度指令値に合致する速度となるよう、各駆動軸の駆動電流を調整する。
【0026】
以上の構成を有する数値制御装置1の制御手順を
図2のフローチャートに示す。数値制御装置1による制御は、最初の処理対象の移動ブロックを読み込む工程(ステップS01)と、処理対象の移動ブロックの指令速度と直前の移動ブロックの指令速度とを比較する工程(ステップS02)と、前側の隣接領域の目標速度を調整する工程と(ステップS03)と、加工プログラムを先読みする工程(ステップS04)と、次の移動ブロックの存在の有無を確認する工程(ステップS05)と、処理対象の移動ブロックの指令速度と直後の移動ブロックの指令速度とを比較する工程(ステップS06)と、後側の隣接領域の目標速度を調整する工程と(ステップS07)と、処理対象の移動ブロックの目標速度に基づいて速度制御を行う工程(ステップS08)と、加工プログラムの終了を確認する工程(ステップS09)と、備える。
【0027】
このフローチャートの処理は、読込制御部12による処理から指令出力部16による処理までを工作機械2の動作に合わせてリアルタイムに逐次処理するものと解釈してもよいが、ステップS01及びステップS04の指令ブロックの読み込みを目標速度設定部14がプログラム解析部13から指令速度のデータを取得する工程、ステップS08の速度制御処理を目標速度設定部14が速度指令生成部15に目標速度のデータを受け渡す工程と解釈することもできる。つまり、数値制御装置1の各構成要素に必要に応じてデータバッファを設けることで、各構成要素の動作を時間的に分離してもよい。
【0028】
図3に、数値制御装置1における指令速度、目標速度及び速度指令値の時間変化をグラフとして示す。このグラフでは、加工プログラムに従う指令速度は一点鎖線で、目標速度設定部14が設定する目標速度は破線で、速度指令生成部15が目標速度に基づいて生成する速度指令値(本実施形態による速度指令値)は実線で、速度指令生成部15が指令速度に基づいて生成する速度指令値(従来の速度指令値)は二点鎖線で示されている。なお、指令速度が小さい移動ブロックの隣接領域における目標速度は、大きい方の指令速度と等しい値とされている。また、
図3のグラフは、速度変化の波形の差を強調して示すものであり、実際の速度指令値を正確に表すものではない。
【0029】
以上のように、数値制御装置1は、目標速度設定部14によって、連続して実行される2つの移動ブロックのうち指令速度が小さい方の他方に対する隣接領域における指令速度を、当該指令速度以上かつ大きい方の指令速度以下の値に修正した目標速度を設定する工程を備える数値制御方法を採用したため、速度指令生成部15において加減速度が上限値を超えないようにして振動及び過負荷を抑制しても、速度指令値が指令速度に近い変化をするので加工時間の増大を抑制できる。
【0030】
従来の数値制御装置では、指令速度をそのまま目標速度とするため、加減速度を制限する処理により、実際の速度変化が加工プログラムを作成したユーザが想定している速度変化とは異なる波形となり、加工時間が想定よりも長くなり、指令速度からの乖離も大きい。これに対し、本実施形態の数値制御装置1は、指令速度を修正した目標速度を設定するため、ユーザが想定している速度変化に近い速度変化を実現でき、加工時間の増大を抑制できる。
【0031】
また、従来の数値制御装置においても、移動ブロックを複数に分割して記述することによって、数値制御装置1と略等しい速度変化を実現できるが、分割幅等を正確に定めることが難しく、適切な加工プログラムを作成することは容易ではない。これに対し、数値制御装置1では、目標速度設定部14が適切な目標速度を自動的に設定するため、適切な加工を比較的短いサイクルタイムで行うことができる。
【0032】
また、数値制御装置1は、従来の数値制御装置に、比較的簡単な演算を行う目標速度設定部14を追加しただけの構成であるため、従来の数値制御に対する演算負荷の増大を抑制しつつ、加工時間の増大を抑制できる。
【0033】
また、数値制御装置1は、目標速度設定部14において指令速度を微修正した目標速度を設定する以外は、従来の数値制御と同様の処理を行うため、パラメータ調整が速度指令値にもたらす変化を従来の数値制御装置に慣れ親しんだユーザが比較的容易に予想することができることにより、加工の最適化を容易に行うことができる。
【0034】
以上、本開示の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、前述した実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0035】
1 数値制御装置
11 プログラム記憶部
12 読込制御部
13 プログラム解析部
14 目標速度設定部
15 速度指令生成部
16 指令出力部
2 工作機械