IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許-数値制御装置及び数値制御プログラム 図1
  • 特許-数値制御装置及び数値制御プログラム 図2
  • 特許-数値制御装置及び数値制御プログラム 図3
  • 特許-数値制御装置及び数値制御プログラム 図4
  • 特許-数値制御装置及び数値制御プログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】数値制御装置及び数値制御プログラム
(51)【国際特許分類】
   G05B 19/416 20060101AFI20240925BHJP
   B23Q 15/00 20060101ALI20240925BHJP
【FI】
G05B19/416 V
G05B19/416 L
B23Q15/00 K
【請求項の数】 4
(21)【出願番号】P 2023509122
(86)(22)【出願日】2022-03-18
(86)【国際出願番号】 JP2022012571
(87)【国際公開番号】W WO2022202656
(87)【国際公開日】2022-09-29
【審査請求日】2023-10-10
(31)【優先権主張番号】P 2021049701
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】谷 召輝
(72)【発明者】
【氏名】小出 直矢
【審査官】松浦 陽
(56)【参考文献】
【文献】特開平06-110534(JP,A)
【文献】特開2020-019125(JP,A)
【文献】特開平01-099103(JP,A)
【文献】特開平06-187026(JP,A)
【文献】特開平03-292508(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/416
B23Q 15/00
(57)【特許請求の範囲】
【請求項1】
対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御する数値制御装置であって、
前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出部と、
前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出部と、
前記指令ブロックが前記曲線ブロックであるか直線移動を指定する直線ブロックであるかを判別するブロック判別部と、
前記直線ブロックについて、前記指定速度を実現する各駆動軸の時間毎の基準速度を算出する基準速度算出部と、
前記基準速度を、最初にゼロから後修正時定数で加速し、最後にゼロまで前記後修正時定数で減速するよう修正した後修正速度を算出する後修正速度算出部と、
前記前修正速度と前記後修正速度とを加算した出力速度を算出する出力速度算出部と、
を備える、数値制御装置。
【請求項2】
合成速度算出部は、前記合成速度を、前記曲線ブロックの始点時刻から加速するとともに、前記曲線ブロックの終点時刻から減速するよう定め、
前記後修正速度算出部は、前記後修正速度を、前記直線ブロックの始点時刻から加速するとともに、前記直線ブロックの終点時刻から減速するよう定める、請求項に記載の数値制御装置。
【請求項3】
前記合成速度算出部は、直前の前記指令ブロックが前記直線ブロックである場合には、前記前修正時定数を直前の前記直線ブロックに適用される前記後修正時定数と等しくする、請求項1又は2に記載の数値制御装置。
【請求項4】
対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御するための数値制御プログラムであって、
前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出制御部と、
前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出制御部と、
前記指令ブロックが前記曲線ブロックであるか直線移動を指定する直線ブロックであるかを判別するブロック判別制御部と、
前記直線ブロックについて、前記指定速度を実現する各駆動軸の時間毎の基準速度を算出する基準速度算出制御部と、
前記基準速度を、最初にゼロから後修正時定数で加速し、最後にゼロまで前記後修正時定数で減速するよう修正した後修正速度を算出する後修正速度算出制御部と、
前記前修正速度と前記後修正速度とを加算した出力速度を算出する出力速度算出制御部と、
を備える、数値制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置及び数値制御プログラムに関する。
【背景技術】
【0002】
数値制御装置は、ワーク、工具等の対象物の移動経路を対象物が通過すべき複数の指定座標、移動速度等によって表した加工プログラムに従って加工装置を制御する。数値制御装置は、加工プログラムを解析し、加工装置の各駆動軸について、時刻ごとにあるべき速度又は位置を算出する補間処理を行い、補間した情報に基づいて各駆動軸を駆動する。
【0003】
加工プログラムは、加工装置の特性を考慮せずに作成される。このため、加工プログラムに記述された通りの動作を実行しようとすると、大きな速度又は加速度が要求され、駆動軸の能力を超えたり、振動が発生したりするおそれがある。このため、数値制御装置では、加工プログラムをそれぞれ連続する2つの指定座標間の動作を指定するブロックごとに、最初に速度をゼロから加速し、最後に速度をゼロまで減速させるよう、各ブロックの移動速度を修正する加減速処理を行う場合がある。通常、加減速処理では、ブロックの始点で速度をゼロとして一定の加速度で速度を増大させると共にブロックの終点で速度がゼロになるよう終点の手前から一定の加速度で速度を減少させる。この場合、それぞれブロックの開始直後は、ゼロから当該ブロックの速度まで増速するための速度データと、1つ前のブロックの終点で減速停止するための速度データと、を足し合わせた速度で各駆動軸を駆動することになる。
【0004】
しかしながら、このような加減速処理を行うと、対象物の移動経路が加工プログラムにおいて指定される経路からずれが生じる。特に、円弧を描くよう対象物を移動させる場合、加減速処理を行うことで対象物が加工プログラムにおいて指定される経路よりも内側を通ることが知られている。このため、円弧状の移動経路を指定するブロックの開始時に加減速の時定数(加速度)を徐々に小さくすることにより、移動経路の誤差を小さくすることが提案されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【文献】特開平3-292508号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ブロック開始時に加減速の時定数を小さくすると、このブロックの開始直後の増速のための速度データと、1つ前のブロックの終点で減速停止するための速度とを足し合わせたときに、駆動軸の能力を超える速度又は振動を発生する過大な加速度を要求するものとなる可能性がある。このため、移動経路の誤差を抑制しつつ、過大な速度及び加速度を要求しない技術が望まれる。
【課題を解決するための手段】
【0007】
本開示の一態様に係る数値制御装置は、対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御する数値制御装置であって、前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出部と、前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出部と、を備える。
【0008】
本開示の一態様に係る数値制御プログラムは、対象の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、前記対象を駆動する複数の駆動軸を有する加工装置を制御するための数値制御プログラムであって、前記複数の指令ブロックのうち、少なくとも曲線移動を指定する曲線ブロックについて、前記指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前記前修正時定数で減速するよう修正した合成速度を算出する合成速度算出制御部と、前記合成速度を実現する各駆動軸の時間毎の前修正速度を算出する前修正速度算出制御部と、を備える。
【発明の効果】
【0009】
本発明によれば、移動経路の誤差を抑制しつつ、過大な速度及び加速度を要求しない数値制御装置及び数値制御プログラムを提供できる。
【図面の簡単な説明】
【0010】
図1】本開示の一実施形態に係る数値制御装置の構成を示すブロック図である。
図2】加工プログラムによって特定される移動経路の一例を示す図である。
図3図1の数値制御装置が図2の移動経路を実現するために算出する各種速度を示す図である。
図4図2の移動経路と、曲線ブロックについて前修正速度を算出した場合の移動経路と、曲線ブロックついて後修正速度を算出した場合の移動経路とを示す図である。
図5】加工プログラムに従う場合、前修正速度を算出した場合及び後修正速度を算出した場合の移動速度の時間変化を示すグラフである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を参照しながら説明する。図1は、本開示の一実施形態に係る数値制御装置1の構成を示すブロック図である。
【0012】
数値制御装置10は、対象(例えば工具、ワーク等)の指定速度をそれぞれ特定する複数の指令ブロックを含む加工プログラムに従って、対象を駆動する複数の駆動軸を有する加工装置を制御する。つまり、数値制御装置1は、加工装置の複数の駆動軸を駆動する駆動回路(サーボドライブ)20に指令値を入力する。加工プログラムの中で、指令ブロックは、一般的に、移動経路の始点及び終点の座標と、移動速度とを指定することにより、対象の移動経路を特定する。
【0013】
数値制御装置10は、例えばCPU、メモリ、入出力インターフェイス等を有するコンピュータ装置に、本開示に係る数値制御プログラムを実行させることにより実現することができる。数値制御装置10は、プログラム読込部11、前処理部12、ブロック判別部13、基準速度算出部14、後修正速度算出部15、合成速度算出部16、前修正速度算出部17及び出力速度算出部18を有する。これらの構成要素は、数値制御装置10の機能を類別したものであって、物理構造及びプログラム構造において明確に区分できるものでなくてもよい。
【0014】
プログラム読込部11は、記憶媒体に記憶されている加工プログラムを指令ブロックごとに作業メモリ内に読み込む。プログラム読込部11は、記憶領域の容量が許す範囲内で、後で実行すべき指令ブロックを前もって読み込んでもよい。
【0015】
前処理部12は、加工プログラムにおいて連続して処理すべき指令ブロックの最初と最後にステップ状の速度変化が指定されている場合、許容範囲内の加速度で速度変化するよう、指令ブロックの内容を修正する。
【0016】
ブロック判別部13は、指令ブロックが対象の直線移動を指定する直線ブロックであるか対象の曲線移動を指定する曲線ブロックであるかを判別する。
【0017】
基準速度算出部14は、直線ブロックについて、指定速度を実現する各駆動軸の時間毎の速度の理想値である基準速度を算出する。つまり、基準速度算出部14は、指令ブロックにより特定される対象の移動経路の始点と終点との間での各駆動軸の時間毎の速度の理想値(指令ブロックに忠実な移動を再現する速度)を算出する。このため、基準速度算出部14は、指令ブロックの始点と終点との間における速度指令値を補間する演算を行う。
【0018】
後修正速度算出部15は、基準速度算出部14が算出した基準速度を、最初にゼロから後修正時定数で加速し、最後にゼロまで後修正時定数で減速するよう修正した後修正速度を算出する。従って、後修正速度は、速度が徐々に増大する加速区間、速度が一定の定速区間、及び速度が徐々に減少する減速区間をこの順番に有する。後修正時定数は、加工装置の特性等に応じて、予め設定される。
【0019】
後修正速度算出部15は、後修正速度を、直線ブロックの始点時刻から加速するとともに、直線ブロックの終点時刻から減速するよう定めることが好ましい。つまり、後修正速度算出部15は、直線ブロックの始点時刻における駆動軸の速度をゼロとし、直線ブロックの始点時刻から駆動軸の減速を開始するよう、基準速度の時間変化を修正することによって、当該指令ブロックにおける後修正速度の最初の時間変化を決定することが好ましい。また、後修正速度算出部15は、直線ブロックの始点時刻における駆動軸の速度を基準速度算出部14が算出した速度とし、直線ブロックの始点時刻から駆動軸の減速を開始するよう、基準速度の時間変化を修正(終点時刻の後に速度変化を付加)することによって、当該指令ブロックにおける後修正速度の最後の時間変化を決定することが好ましい。このような後修正速度は、例として、ある時刻の後修正速度を、当該時刻よりも後修正時定数だけ前の時刻から当該時刻までの基準速度の平均値として算出できる。
【0020】
合成速度算出部16は、曲線ブロックについて、指定速度を、最初にゼロから前修正時定数で加速し、最後にゼロまで前修正時定数で減速するよう修正した合成速度を算出する。つまり、合成速度算出部16は、時刻毎の駆動軸の速度を算出する前に、時刻毎の駆動軸の速度の算出根拠となる対象の移動速度を修正する。この合成速度算出部16は、曲線ブロックが指定する移動経路上で加速及び減速を行う。つまり、合成速度算出部16は、指定速度の加速及び減速を、角速度の変化として算出する。
【0021】
合成速度算出部16は、加速区間の前修正時定数と減速区間の前修正時定数とを異なる値に設定してもよく、指令ブロックごとに前修正時定数の値を異なる値に設定してもよい。ただし、合成速度算出部16は、直前の指令ブロックが直線ブロックである場合には、前修正時定数を直前の指令ブロックに適用される後修正時定数と等しくすることが好ましい。これにより、合成速度算出部16による曲線ブロックの最初の移動速度の減速が、後修正速度算出部15が直前の直線ブロックの速度変化の最後に付加した減速部分によって相殺される。このため、直線ブロックと曲線ブロックとの境界においていびつな速度変化が生じないため、加工装置の振動等が抑制される。また、曲線ブロックが連続し、先の曲線ブロックの終点における移動方向と後の曲線ブロックの始点における移動方向とが一致する場合、先の曲線ブロックの減速区間の前修正時定数及び後の曲線ブロックの加速区間の前処理時定数は、ゼロであってもよい。
【0022】
前修正速度算出部17は、合成速度算出部16が算出した合成速度を実現する各駆動軸の時間毎の速度である前修正速度を算出する。このように、指令ブロックに基づく速度変化を始点近傍及び終点近傍で過大な速度変化が生じないように修正した合成速度に基づいて、始点と終点との間の速度変化を補間することで、指令ブロックにより特定される移動経路からの実際の対象の移動経路のずれを小さくすることができる。
【0023】
出力速度算出部18は、後修正速度算出部15が算出した後修正速度と、前修正速度算出部17が算出した前修正速度とを加算した出力速度を算出する。つまり、出力速度算出部18は、先の指令ブロックの終点時刻と次の指令ブロックの始点時刻を重ね合わせるようにして、各指令ブロックの後修正速度又は前修正速度を繋ぎ合わせることで、各駆動軸の速度の時間変化を指定する出力速度を算出する。これにより、過大な速度及び加速度を要求することなく、複数の指令ブロックによって特定される複雑な移動経路に沿って比較的正確に対象を移動させられる指令値を駆動回路20に入力できる。
【0024】
以上の説明から明らかなように、数値制御装置10を実現するための本開示に係る数値制御プログラムは、プログラム読込部11を実現するプログラム読込制御部と、前処理部12を実現する前処理制御部と、ブロック判別部13を実現するブロック判別制御部と、基準速度算出部14を実現する基準速度算出制御部と、後修正速度算出部15を実現する後修正速度算出制御部と、合成速度算出部16を実現する合成速度算出制御部と、前修正速度算出部17を実現する前修正速度算出制御部と、出力速度算出部18を実現する出力速度算出制御部と、を備える。本開示に係る数値制御プログラムは、プログラムを非一時的に記憶する記憶媒体に記憶された状態で提供され得る。
【0025】
数値制御装置10における加工プログラムからの出力速度の算出について、具体的に説明する。例として、加工プログラムが、図2に示すように、第1直線ブロックN1、曲線ブロックN2及び第2直線ブロックN3をこの順番に連続して有する場合を説明する。この例では、加工装置は、対象をX方向に移動させるX方向駆動軸と、対象をY方向に移動させるY方向駆動軸と、を有し、対象をX-Y平面上で移動させる。
【0026】
図3は、図2の第1直線ブロックN1、曲線ブロックN2及び第2直線ブロックN3について、指令ブロックごとの指定速度と、駆動軸ごとの合成速度、前修正速度、基準速度、後修正速度及び出力速度を示す。なお、図中のマーカは、速度の値が特定される点を示す。
【0027】
図示する例において第1直線ブロックN1、曲線ブロックN2及び第2直線ブロックN3における指定速度(移動速度の絶対値)は変化せずその向きだけが変化している。具体的には、第1直線ブロックN1は、X方向の等速移動を指定し、曲線ブロックN2は、中心角90°の円弧を描く等速移動を指定し、第2直線ブロックN3はY方向の等速移動を指定する。
【0028】
基準速度算出部14は、第1直線ブロックN1の速度及び第2直線ブロックN3の速度をそれぞれX方向の成分とY方向の成分とに分解し、X方向の成分及びY方向の成分の時間毎の値を算出(補間)する。これにより、X方向駆動軸の各時刻における速度の連続データであるX軸基準速度と、Y方向駆動軸の速度である各時刻における速度の連続データであるY軸基準速度と、が得られる。第1直線ブロックN1は、一定の値を有するX軸基準速度と値を有しない(速度が常にゼロである)Y軸基準速度とによって表される。第2直線ブロックN3は、値を有しないX軸基準速度と一定の値を有するY軸基準速度とによって表される。
【0029】
後修正速度算出部15は、X軸基準速度及びY軸基準速度を所定の後修正時定数で加速及び減速するよう修正することで、X軸後修正速度及びY軸後修正速度を算出する。図示する例では、X軸後修正速度及びY軸後修正速度は、直線ブロックの始点時刻から加速し、直線ブロックの終点時刻から減速している。この結果、第1直線ブロックN1は、台形状に速度変化するX軸後修正速度と値を有しないY軸後修正速度とによって表される。第2直線ブロックN3は、値を有しないX軸後修正速度と台形状に速度変化するY軸後修正速度とによって表される。
【0030】
合成速度算出部16は、曲線ブロックN2の指定速度を修正して、最初にゼロから前修正時定数で加速し、最後にゼロまで前修正時定数で減速する合成速度を算出する。これにより、曲線ブロックN2は、絶対値が台形状に速度変化する合成速度によって表される。曲線ブロックN2の前修正時定数は、直前の第1直線ブロックN1に適用された後修正時定数と等しく設定される。
【0031】
前修正速度算出部17は、合成速度を実現できるX方向駆動軸及びY方向駆動軸の時刻毎の速度であるX軸前修正速度及びY軸前修正速度を算出する。曲線ブロックN2の経路の中心から見て、その時刻における対象の位置の始点位置からの角度をθとすると、X軸前修正速度は、合成速度にsinθを乗じたものとなり、Y軸前修正速度は、合成速度にcosθを乗じたものとなる。
【0032】
出力速度算出部18は、第1直線ブロックN1のX軸後修正速度と、曲線ブロックN2のX軸前修正速度と、第2直線ブロックN3のX軸後修正速度と、を加算することによって、X方向駆動軸の動作指令値となるX軸出力速度を算出し、第1直線ブロックN1のY軸後修正速度と、曲線ブロックN2のY軸前修正速度と、第2直線ブロックN3のY軸後修正速度と、を加算することによって、Y方向駆動軸の動作指令値となるY軸出力速度を算出する。
【0033】
第1直線ブロックN1のX軸後修正速度の減速区間と曲線ブロックN2のX軸前修正速度の加速区間とは時間的に重複するため、この時間範囲では、第1直線ブロックN1のX軸後修正速度と曲線ブロックN2のX軸前修正速度とを足し合わせた速度がX軸出力速度となる。同様に、曲線ブロックN2のX軸前修正速度の減速区間と第2直線ブロックN3のX軸後修正速度の加速区間とも足し合わされる。減速区間を付加するための速度増加と、加速区間を形成するための速度減少とが相殺し合うため、X軸出力速度は、過度に大きい速度又は加速度を含まず連続的に増減する変化となり、対象の移動経路の誤差も抑制される。また、Y軸出力速度についても、X軸出力速度と同様にY、軸後修正速度及びY軸前修正速度の減速区間と加速区間とが足し合わされ、過度に大きい速度又は加速度を含まず連続的に増減する変化となり、対象の移動経路の誤差も抑制される。
【0034】
図4に、図2の加工プログラムにおいて指定される対象の移動経路と、数値制御装置10の動作指令値(曲線ブロックN2について合成速度算出部16及び前修正速度算出部17により前修正速度を算出した場合の動作指令値)に従う経路と、曲線ブロックN2についても基準速度算出部14及び後修正速度算出部15により後修正速度を算出した場合の動作指令値に従う経路とを示す。また、図5には、図4に対応する対象の移動速度の時間変化を示す。
【0035】
前修正速度を算出した場合の移動経路(実線)及び後修正速度を算出した場合の移動経路(二点鎖線)は、加工プログラムが指定する移動経路(一点鎖線)における円弧移動開始点AにおいてY軸方向の加速が始まり、点C1及びC2においてそれぞれY軸方向の加速が完了する。前修正速度を算出した場合の加速距離L1は、後修正速度を算出した場合の加速距離L2よりも短くなる。このため、前修正速度を算出した場合の速度勾配は、後修正速度を算出した場合の速度勾配よりも大きくなる。
【0036】
以上のように、数値制御装置10は、曲線ブロックの指定速度に加速区間及び減速区間を設けた合成速度を算出してから、各軸の時刻毎の速度である前修正速度を算出することによって、移動経路の誤差を抑制しつつ、過大な速度及び加速度を要求しない。
【0037】
以上、本開示に係る数値制御装置及び数値制御プログラムの実施形態について説明したが、本開示に係る数値制御装置及び数値制御プログラムは前述した実施形態に限るものではない。また、上述の実施形態に記載された効果は、本開示に係る数値制御装置及び数値制御プログラムから生じる最も好適な効果を列挙したに過ぎず、本開示に係る数値制御装置及び数値制御プログラムによる効果は、上術の実施形態に記載されたものに限定されるものではない。
【0038】
本開示に係る数値制御装置及び数値制御プログラムにおいて、曲線ブロックは、円弧を特定するものに限られず、例えば楕円曲線、渦巻き曲線、インボリュート曲線などの2次元曲線、ヘリカル曲線等の3次元曲線を特定するものであってもよい。
【0039】
本開示に係る数値制御装置及び数値制御プログラムは、曲線ブロックと直線ブロックとを判別せず、直線ブロックも合成速度算出部及び前修正速度算出部で処理して前修正速度を算出するよう構成されてもよい。
【符号の説明】
【0040】
10 数値制御装置
11 プログラム読込部
12 前処理部
13 ブロック判別部
14 基準速度算出部
15 後修正速度算出部
16 合成速度算出部
17 前修正速度算出部
18 出力速度算出部
20 駆動回路
図1
図2
図3
図4
図5