[go: up one dir, main page]

JP2004046558A - Numerical controller - Google Patents

Numerical controller Download PDF

Info

Publication number
JP2004046558A
JP2004046558A JP2002203583A JP2002203583A JP2004046558A JP 2004046558 A JP2004046558 A JP 2004046558A JP 2002203583 A JP2002203583 A JP 2002203583A JP 2002203583 A JP2002203583 A JP 2002203583A JP 2004046558 A JP2004046558 A JP 2004046558A
Authority
JP
Japan
Prior art keywords
moving
axis
angle
block
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002203583A
Other languages
Japanese (ja)
Inventor
Masanobu Nakai
中井 正信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nachi Fujikoshi Corp
Original Assignee
Nachi Fujikoshi Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nachi Fujikoshi Corp filed Critical Nachi Fujikoshi Corp
Priority to JP2002203583A priority Critical patent/JP2004046558A/en
Publication of JP2004046558A publication Critical patent/JP2004046558A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide such a numerical controller that a moving axis has no effect on acceleration and deceleration control, in the moving axis having no effect of the variation in the moving direction between continued moving blocks on working accuracy. <P>SOLUTION: A positioning instructions section 2 inputs the continued moving blocks of simultaneous linear interpolation instructions with respect to a plurality of moving axes from an NC (Numerical Control) instructions section 1, forms the vector component of the moving axes except a standard axis to zero to calculate an angle formed by the continued moving blocks when the standard axis as an axis specified out of the plurality of moving axes in the continued moving blocks is present, and performs the acceleration and deceleration control between the continued moving blocks on the basis of the angle. Thus, the operation of the moving axes having no effect on the working accuracy becomes free from having effect on the acceleration and deceleration control between the moving blocks by specifying the moving axis having effect on the working accuracy as the standard axis. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、NC指令部より移動データを取得した位置指令部がサンプル時間毎の指令位置を位置制御部に指令するようにされた数値制御装置に関し、特に、連続した移動ブロックの多軸同時補間を行う場合における加減速制御に関する。
【0002】
【従来の技術】
従来の工作機械に用いられる数値制御装置において、例えば図1に示すようなXYZ軸の3軸同時直線補間指令を有する移動ブロックの実行を連続して行った場合、移動ブロック1の補間開始点をP1s(x1s,y1s,z1s)、目標位置をP1e(x1e,y1e,z1e)、移動ブロック2の目標位置をP2e(x2e,y2e,z2e)とすると、これら2つの移動ブロック間のなす角度θは式(1)により算出することができる。なお、移動ブロック間のなす角度とは、図1に示すように、移動ブロック1の移動ベクトルと移動ブロック2の移動ベクトルとのなす角度をいう。ここで、移動ブロック1の移動ベクトルは(x1s−x1e,y1s−y1e,z1s−z1e)、移動ブロック2の移動ベクトルは(x2e−x1e,y2e−y1e,z2e−z1e)でそれぞれ定義することができる。
【0003】
【数1】

Figure 2004046558
【0004】
また、N軸の同時直線補間についての移動ブロック間のなす角度の算出は、式(1)を拡張した式(2)により行うことができる。
【0005】
【数2】
Figure 2004046558
【0006】
従来の数値制御装置では、切削送り等の補間指令を有する移動ブロックが連続して指令された場合、サイクルタイムの短縮時や、移動ブロック間で加減速を行うことによる速度変動などにより、ワーク加工面が影響を受けないようにするため、移動ブロック間では減速を行わないようにすることが通常である。しかし、図2に示すように移動ブロック1と移動ブロック2の移動方向が直角に変化するような動作形態において移動ブロック間で減速を行わないようにすると、各移動軸の速度変動が大きくなってワーク加工面に悪影響を及ぼすことがあるので、この場合は移動ブロック間で減速させることが必要となる。そのため、前述した式(2)を使用して移動ブロック間のなす角度を算出し、これに基づいて加減速制御を行うことになる。具体的には、算出された移動ブロック間のなす角度が予め設定した臨界角度以下の場合は、移動ブロック間で減速を行うような加減速制御を行うことになる。
【0007】
【発明が解決しようとする課題】
従来の移動ブロック間のなす角度の算出においては、式(1)、(2)で示されるように、移動ブロック内で指令された全ての移動軸で構成される空間について行うようにしていた。ここで、複数の移動軸の多軸同時補間を行う移動ブロックにおいて、特定の移動軸(これを「基準軸」と呼ぶ)で構成される移動ベクトルについてそのなす角度を規定し、これを基準ベクトルと呼ぶことにし、この基準ベクトル空間での移動ブロック間での加減速制御について考えることにする。複数軸の同時補間において基準ベクトル空間での移動方向のみを考慮したい場合、前述した従来の算出方法では、基準軸以外の移動軸の移動ブロック間での移動方向の変化の影響を受けてしまい、基準軸として指定した移動軸のみについての移動ブロック間のなす角度を算出することはできなかった。そのため、連続する移動ブロック間での移動方向の変化が加工精度に影響を及ぼさないような移動軸について、その移動軸の移動ブロック間での移動方向の変化が大きい場合にも、それに起因して移動ブロック間で加減速制御が行われてしまい、ワーク加工面の加工精度が悪くなってしまうという問題があった。
【0008】
本発明は、係る従来技術の問題点を解決するためになされたものであり、連続する移動ブロック間での移動方向の変化が加工精度に影響を及ぼさないような移動軸について、その移動軸が加減速制御に影響を及ぼさないような数値制御装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
前述した目的を達成するために、請求項1に係る発明では、NCプログラムの解析を行うことにより移動ブロックのデータを作成するNC指令部と、移動ブロックのデータに含まれる目標位置及び目標速度に基づいて所定のサンプル時間毎に移動軸の指令位置を算出するようにされた位置指令部と、を有する数値制御装置において、前記位置指令部では、前記NC指令部から複数の移動軸に対する同時直線補間指令の連続した移動ブロックとしての第1の移動ブロックおよび第2の移動ブロックが入力され、かつ、この連続した移動ブロック中に前記複数の移動軸の中から指定された軸としての基準軸が存在した場合には、この基準軸以外の移動軸のベクトル成分を0としたのち第1の移動ブロックによるベクトルと第2の移動ブロックによるベクトルとのなす角度を算出し、この算出された角度に基づいて第1の移動ブロックと第2の移動ブロック間の加減速制御を行うようにしたことを特徴とする数値制御装置を提供した。
【0010】
係る構成によれば、基準軸以外の移動軸のベクトル成分を0としたことにより、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになる。そのため、算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、複数の移動軸の同時移動指令を行っても基準軸以外の移動が移動ブロック間の加減速制御に影響を与えることはなくなる。これにより、実際のワーク加工においては、移動ブロック間の加減速制御が加工精度に影響を与える移動軸を基準軸に指定し、その一方、移動ブロック間の加減速制御が加工精度に影響をほとんど与えない移動軸については基準軸に指定しないようにすれば、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになるため、この算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、移動ブロック間で基準軸以外の移動軸についてその移動方向の変化が大きい場合でも、安定した移動速度で基準軸として指定した移動軸の移動を行うことができ、その結果ワークの加工精度が向上することになる。
【0011】
請求項2に係る発明では、請求項1に係る発明において、算出された第1の移動ブロックによるベクトルと第2の移動ブロックによるベクトルとのなす角度が、予め設定された臨界角度以上であった場合は、連続した移動ブロック間では減速を行わないようにした。なお、予め設定する臨界角度は、算出された前述の角度が臨界角度となった場合は移動ブロック間で減速をしなくてもワーク加工面に悪影響を及ぼさないような大きさに設定するものである。これにより、連続した移動ブロック間で減速を行わなくてもよい場合、例えば、第1の移動ブロックのベクトルと第2の移動ブロックのベクトルがほぼ同一であった場合などは、算出された前述のなす角度が予め設定された臨界角度以上となり、この場合は第1の移動ブロックと第2の移動ブロックとの間では減速は行われないことになる。
【0012】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を参照して説明する。図3は、本発明の一実施形態に係る数値制御装置の基本的な構成を示すブロック図である。NC指令部1では、NCプログラムの解析を行い、目標位置や目標速度等の移動ブロック指令データを作成する。位置指令部2では、実行中の現在の移動ブロックが完了した時点で次の移動ブロック指令データをNC指令部1より受け取り、この移動ブロック指令データを位置指令部2内のデータ取得部3に格納する。データ取得部3では、移動ブロック間のなす角度の算出および指令のと切れを発生することなく補間処理を行うために、バッファが一杯になるまで次の移動ブロック指令データの先読みを行うことができる。位置指令部2内の加減速処理部4では、移動ブロック指令データに基づいて指令速度を考慮したサンプル時間毎の指令位置を算出する。位置指令部2内の補間部5では、加減速処理部4で算出されたサンプル時間毎の指令位置に基づいて、実際の各移動軸の指令位置の展開を行う。位置制御部6では、位置指令部2から指令されるサンプル時間毎の各移動軸の指令位置に基づいて、駆動系7に対してサーボ制御を行う。なお、本発明に係る数値制御装置の特徴である直線補間指令の加減速制御処理は、補間部5にて実施される。
【0013】
ここで、補間部5において実施される移動ブロック間における加減速制御について、計算式を交えて説明する。ここでは実例として、図4に示すようなXZB軸の同時直線補間を行う場合を想定して、ある特定の移動軸を基準軸とした際の連続した移動ブロック間すなわち図4に示したブロック1(第1の移動ブロック)とブロック2(第2の移動ブロック)との間の加減速制御について説明する。
【0014】
なお、基準軸の設定については、これは複数の移動軸の中から任意に設定すればよい。具体的には、基準軸の数については、2軸に限定されず、1軸や3軸以上であってもよく、また、基準軸の属性については、直線軸に限定されず、回転軸であってもよい。実際の数値制御装置における基準軸の設定方法としては、基準軸設定用のNCパラメータを新たに設ける方法が最も一般的であるが、基準軸を規定するGコード等のコマンドをNCプログラムにおいて新たに設けるようにしてもよい。
【0015】
なお、図4に示した本例においては、X軸とZ軸は互いに直交関係にあり、B軸はX軸とZ軸の双方に対して直交する軸回りに回転する回転軸となっている。図4に示すように、ブロック1については、その補間開始点の座標は(x1s,z1s,b1s)、その目標位置の座標は(x1e,z1e,b1e)であり、ブロック2については、その目標位置の座標は(x2e,z2e,b2e)である。このとき、従来の方法における全移動軸で構成される移動ベクトルでの移動ブロック間すなわちブロック1とブロック2との間のなす角度θは、式(3)により算出される。なお、ブロック1とブロック2との間のなす角度θは、図4に示すブロック1のベクトルとブロック2のベクトルとのなす角度であり、図1に示したθに準拠するものであるが、本例では移動軸の一つであるB軸が回転軸となっているため、なす角度θの表記が難しいので、図4には記載していない。
【0016】
【数3】
Figure 2004046558
【0017】
次に、本実施形態における加減速制御においては、例えば、X軸およびZ軸を基準軸とし、それ以外の移動軸すなわちB軸を基準軸でないとすると、基準軸での移動方向は、式(3)においてB軸のベクトル成分(p13,p23)をそれぞれ0とすることにより、式(4)で表わされる。
【0018】
【数4】
Figure 2004046558
【0019】
同様に、B軸を基準軸とし、それ以外の移動軸すなわちX軸およびZ軸を基準軸でないとすると、基準軸での移動方向は、式(3)においてXZ軸のベクトル成分(p11,p21)、(p12,p22)をそれぞれ0とすることにより、式(5)で表わされる。
【0020】
【数5】
Figure 2004046558
【0021】
このように、式(3)における全ての移動軸により構成されるベクトルのなす角度を算出する式において、基準軸以外のベクトル成分を0とすることにより、任意の基準軸の組み合わせに対して移動ブロック間での移動方向を算出することができる。
【0022】
次に、本発明の一実施形態に係る数値制御装置内で行われる移動ブロック間の加減速制御における処理の流れについて、図7に示したフローチャートを参照して説明する。なお、以下の説明において、「ステップ**」の表記中の「**」(数字)は、図7に示したフローチャート中の各処理ステップを意味するものである。なお、基準軸は、NCパラメータにおける設定や、NCプログラムにおけるGコード等の指令などにおいて、予め設定されているものとする。また、移動ブロック1および移動ブロック2の移動ブロック指令データは、図3に示したデータ取得部3において予め取得されているものとする。第i軸目について、その移動ブロック1の補間開始点をPsi、目標位置をP1ei、その移動ブロック2の目標位置をP2eiとする。
【0023】
まず、NC指令部1から位置指令部2へ複数の移動軸に対する同時直線補間指令の移動ブロックが連続して入力された場合には、移動ブロック1の補間開始点Psiと目標位置P1eiとから、移動ブロック1の移動ベクトル成分aを算出する(ステップ30Y)。基準軸に設定されている移動軸については、その移動ブロック1の補間開始点Psiと目標位置P1eiよりベクトル成分を算出する(ステップ36)。一方、基本軸に設定されていない移動軸については、そのベクトル成分を0とする(ステップ35)。そして、これらの処理を全移動軸について行う(ステップ31、32、37、38)。
【0024】
同様に、移動ブロック2の目標位置P2eiと移動ブロック1の目標位置P1eiとから、移動ブロック2の移動ベクトル成分bを算出する(ステップ41Y)。基本軸に設定されている移動軸については、その移動ブロック2の目標位置P2eiと移動ブロック1の目標位置P1eiよりベクトル成分を算出する(ステップ44)。一方、基本軸に設定されていない移動軸については、そのベクトル成分を0とする(ステップ43)。そして、これらの処理を全移動軸について行う(ステップ39、40、45、46)。
【0025】
次に、移動ブロック間のなす角度を求めるために算出した前述の移動ブロック1および移動ブロック2の移動ベクトルの各成分より、それぞれの移動ベクトルの長さL1およびL2を算出し(ステップ47、48、49、50、54、55)、各ベクトル成分の積和算Sabを算出し(ステップ51)、移動ブロック間のなす角度angle(単位°)を求める(ステップ57)。angleが移動ブロック間で減速を行わせるために予め設定した臨界角度以上の場合は(ステップ58Y)、その移動ブロックでは減速を行わないことを示すフラグをセットする(ステップ59)。これは、angleが臨界角度以上の場合、例えば、移動ブロック1のベクトルと移動ブロック2のベクトルがほぼ同一であった場合などは、移動ブロック間で減速をしなくてもワーク加工面に悪影響を及ぼさないことによるものである。以上の処理により、移動ブロック1と移動ブロック2のなす角度を算出し、移動ブロック間での減速の要否の判定を行う。
【0026】
最後に、本発明の一実施形態に係る数値制御装置が適用される加工システムを例にあげて、本実施形態の効果について説明する。図5は本実施形態に係る数値制御装置が適用される加工システムの機構を示した概念図であり、図6はワーク加工の様子を示した概念図である。本加工システムにおいては、工具送り用X軸テーブル10と切り込み用のZ軸テーブル12が互いに水平面(XZ平面)内に直交動作するよう配置されており、さらにXZ平面に直交する回転軸を有する工具角度制御用のB軸テーブル14がX軸テーブル10上に載置されている。なお、11はX軸テーブル10の駆動モータ、13はZ軸テーブル12の駆動モータ、15はB軸テーブル14の駆動モータである。
【0027】
図6は図5で示した本加工システムを用いたワーク加工の様子をY方向から示したものであり、Z軸テーブル12に設けられたチャック部23に把持されたワーク21に対して、B軸テーブル14に設けられた図示しない把持部材に取り付けられたバイト等の工具20により、切削加工が行われるというものである。具体的には、主軸に把持された工具20が回転し、その工具20がワーク21に接触することにより、ワーク21が加工される。加工プログラムにおいて微小移動ピッチを行わせる移動ブロックの連続指令を設定することにより、工具20がワーク21と一定角度で接触するようX軸テーブル10、Z軸テーブル12及びB軸テーブル14との間で同時直線補間を行い、X軸及びZ軸の移動に対してB軸の回転角度を制御しながら加工を行わせている。
【0028】
本例の加工では、B軸テーブル14は主にワーク21と工具20の接触角度を制御するためのものであり、加工精度に大きく関与する要素はX軸とZ軸の移動である。実際のところ、X軸とZ軸の合成移動速度の変動が大きい場合はワークの加工精度に悪影響を及ぼしてしまう。ここで、X軸とZ軸の合成移動速度が常にプログラム指令速度fになるよう速度指令を行うような移動を実施する場合を想定し、従来の移動ブロック間の加減速制御方法と本実施形態の数値制御装置に係る移動ブロック間の加減速制御方法とを比較することにする。
【0029】
まず、従来の移動ブロック間の加減速制御方法では、例えば図6において加工点22で示される箇所、すなわち工具20とワーク加工面の接触角度の変化が大きい箇所、いわゆる変極点での加工の場合、XZ軸での移動方向の変化量に対してB軸の移動方向が反転して移動ブロック間のなす角度が臨界角度以下になり、減速処理を行う必要があると判断され、その結果X軸とZ軸の合成移動速度の変動が大きくなり、ワークの加工精度や面粗さに悪影響を及ぼしてしまうという問題が生じる。一方、本実施形態の数値制御装置に係る移動ブロック間の加減速制御方法では、X軸とZ軸を基準軸として設定することにより、X軸とZ軸で構成される空間でのみ移動方向が判定されるため、XZ軸以外の軸移動方向の変化が大きい個所においても安定した移動速度でX軸及びZ軸の移動を行うことができ、その結果、ワークの加工精度を向上させることができる。
【0030】
なお、本例はZ軸テーブル12にワーク21を取り付け、B軸テーブル14に工具20を取り付けるような構成であったが、例えば、これとは逆に、Z軸テーブル12に工具20を取り付け、B軸テーブル14にワーク21を取り付けるような構成であっても、本発明は適用可能である。
【0031】
【発明の効果】
本発明における数値制御装置においては、位置指令部では、NC指令部から複数の移動軸に対する同時直線補間指令の連続した移動ブロックとしての第1の移動ブロックおよび第2の移動ブロックが入力され、かつ、この連続した移動ブロック中に前記複数の移動軸の中から指定された軸としての基準軸が存在した場合には、この基準軸以外の移動軸のベクトル成分を0としたのち第1の移動ブロックによるベクトルと第2の移動ブロックによるベクトルとのなす角度を算出し、この算出された角度に基づいて第1の移動ブロックと第2の移動ブロック間の加減速制御を行うようにしたので、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになるため、算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、複数の移動軸の同時移動指令を行っても基準軸以外の移動が移動ブロック間の加減速制御に影響を与えることはなくなった。
【0032】
これにより、実際のワーク加工においては、移動ブロック間の加減速制御が加工精度に影響を与える移動軸を基準軸に指定し、その一方、移動ブロック間の加減速制御が加工精度に影響をほとんど与えない移動軸については基準軸に指定しないようにすれば、基準軸として指定した移動軸のみについての移動ブロック間のなす角度が算出されることになるため、算出された移動ブロック間のなす角度の大きさに基づいて加減速制御を行う際に、移動ブロック間で基準軸以外の移動軸についてその移動方向の変化が大きい場合でも、安定した移動速度で基準軸として指定した移動軸の移動を行うことができ、その結果ワークの加工精度が向上することになった。
【図面の簡単な説明】
【図1】XYZ軸の3軸同時直線補間指令を行う場合における、各移動軸を示す模式図である。
【図2】移動ブロック間での加減速を行わない場合における各移動軸の速度変動の様子を示す模式図である。
【図3】本発明の一実施形態に係る移動ブロック間の加減速制御方法が適用される数値制御装置の基本的な構成を示すブロック図である。
【図4】XZB軸の3軸同時直線補間指令を行う場合における、各移動軸を示す模式図である。
【図5】本発明の一実施形態に係る数値制御装置が適用される加工システムの一例を示した概念図である。
【図6】図5に示した加工システムにおけるワーク加工の様子を示した概念図である。
【図7】本発明の一実施形態に係る数値制御装置において行われる、移動ブロック間の移動方向を求める処理を示したフローチャートである。
【符号の説明】
1  NC指令部
2  位置指令部
3  データ取得部
4  加減速処理部
5  補間部
6  位置制御部
7  駆動系
10  X軸テーブル
11  X軸駆動モータ
12  Z軸テーブル
13  Z軸駆動モータ
14  B軸テーブル
15  B軸駆動モータ
20  工具
21  ワーク
22  ワーク加工面変極点
23  チャック部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a numerical control device in which a position command unit that acquires movement data from an NC command unit commands a command position for each sample time to a position control unit, and more particularly, to a multi-axis simultaneous interpolation of a continuous moving block. The acceleration / deceleration control when the control is performed.
[0002]
[Prior art]
In a numerical control device used in a conventional machine tool, for example, when a moving block having a three-axis simultaneous linear interpolation command of XYZ axes as shown in FIG. Assuming that P1s (x1s, y1s, z1s), the target position is P1e (x1e, y1e, z1e), and the target position of the moving block 2 is P2e (x2e, y2e, z2e), the angle θ between these two moving blocks is It can be calculated by equation (1). The angle between the moving blocks refers to the angle between the moving vector of the moving block 1 and the moving vector of the moving block 2, as shown in FIG. Here, the movement vector of the movement block 1 can be defined by (x1s-x1e, y1s-y1e, z1s-z1e), and the movement vector of the movement block 2 can be defined by (x2e-x1e, y2e-y1e, z2e-z1e). it can.
[0003]
(Equation 1)
Figure 2004046558
[0004]
In addition, the calculation of the angle between the moving blocks for the simultaneous linear interpolation of the N axes can be performed by Expression (2) obtained by expanding Expression (1).
[0005]
(Equation 2)
Figure 2004046558
[0006]
In a conventional numerical controller, when a moving block having an interpolation command such as a cutting feed is continuously commanded, a work processing is performed due to a reduction in a cycle time or a speed change due to acceleration / deceleration between the moving blocks. It is common practice not to decelerate between moving blocks to keep the surface unaffected. However, if the deceleration is not performed between the moving blocks in an operation mode in which the moving directions of the moving blocks 1 and 2 change at a right angle as shown in FIG. 2, the speed fluctuation of each moving axis becomes large. In this case, it is necessary to reduce the speed between the moving blocks, since the work processing surface may be adversely affected. Therefore, the angle formed between the moving blocks is calculated using the above-described equation (2), and the acceleration / deceleration control is performed based on the calculated angle. Specifically, when the calculated angle between the moving blocks is equal to or smaller than a predetermined critical angle, acceleration / deceleration control for decelerating between the moving blocks is performed.
[0007]
[Problems to be solved by the invention]
In the conventional calculation of the angle between the moving blocks, as shown by the equations (1) and (2), the calculation is performed on a space formed by all the moving axes specified in the moving block. Here, in a movement block for performing simultaneous multi-axis interpolation of a plurality of movement axes, an angle formed by a movement vector composed of a specific movement axis (referred to as a “reference axis”) is defined, and this is defined as a reference vector. Let us consider acceleration / deceleration control between moving blocks in the reference vector space. When it is desired to consider only the movement direction in the reference vector space in simultaneous interpolation of a plurality of axes, the conventional calculation method described above is affected by a change in the movement direction between the movement blocks of the movement axes other than the reference axis, It was not possible to calculate the angle between the moving blocks for only the moving axis designated as the reference axis. Therefore, for a moving axis in which a change in the moving direction between successive moving blocks does not affect the machining accuracy, even when the moving direction of the moving axis changes greatly between the moving blocks, There is a problem that the acceleration / deceleration control is performed between the moving blocks, and the machining accuracy of the workpiece machining surface is deteriorated.
[0008]
The present invention has been made in order to solve the problems of the related art, and for a moving axis in which a change in the moving direction between successive moving blocks does not affect machining accuracy, the moving axis is It is an object of the present invention to provide a numerical control device that does not affect acceleration / deceleration control.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, an NC command unit for creating data of a moving block by analyzing an NC program, and a target position and a target speed included in the data of the moving block. And a position command unit configured to calculate a command position of the moving axis for each predetermined sample time based on the NC command unit. A first moving block and a second moving block as continuous moving blocks of an interpolation command are input, and a reference axis as an axis designated from among the plurality of moving axes in the continuous moving block is input. If there is, the vector component of the moving axis other than the reference axis is set to 0, and then the vector by the first moving block and the vector by the second moving block. Calculating an angle between the vector and provides a numerical controller, characterized in that to perform the deceleration control between the first movable block and the second movable block on the basis of the calculated angle.
[0010]
According to such a configuration, by setting the vector components of the moving axes other than the reference axis to 0, the angle between the moving blocks with respect to only the moving axis designated as the reference axis is calculated. Therefore, when performing acceleration / deceleration control based on the calculated magnitude of the angle between the moving blocks, even if a simultaneous movement command for a plurality of moving axes is issued, the movement other than the reference axis causes the acceleration / deceleration control between the moving blocks. Will not be affected. As a result, in actual work processing, the acceleration / deceleration control between the moving blocks designates the moving axis that affects the processing accuracy as a reference axis, while the acceleration / deceleration control between the moving blocks hardly affects the processing accuracy. If the moving axes that are not given are not designated as the reference axes, the angle between the moving blocks for only the moving axes designated as the reference axes will be calculated. When performing acceleration / deceleration control based on the magnitude of the angle, the movement of the movement axis specified as the reference axis at a stable movement speed even if the movement direction of the movement axis other than the reference axis between the movement blocks is large. Can be performed, and as a result, the processing accuracy of the workpiece is improved.
[0011]
In the invention according to claim 2, in the invention according to claim 1, the calculated angle between the vector by the first moving block and the vector by the second moving block is equal to or larger than a predetermined critical angle. In such a case, deceleration was not performed between consecutive moving blocks. The critical angle set in advance is set to a size that does not adversely affect the work surface of the workpiece without deceleration between the moving blocks when the calculated angle becomes the critical angle. is there. Accordingly, when deceleration does not need to be performed between consecutive moving blocks, for example, when the vector of the first moving block and the vector of the second moving block are substantially the same, the above-described calculated value is used. The angle formed is equal to or larger than the preset critical angle, and in this case, no deceleration is performed between the first moving block and the second moving block.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a block diagram showing a basic configuration of the numerical control device according to one embodiment of the present invention. The NC command unit 1 analyzes the NC program and creates moving block command data such as a target position and a target speed. The position command unit 2 receives the next moving block command data from the NC command unit 1 when the current moving block being executed is completed, and stores the moving block command data in the data acquisition unit 3 in the position command unit 2. I do. The data acquisition unit 3 can pre-read the next moving block command data until the buffer is full in order to calculate the angle between the moving blocks and perform the interpolation processing without causing a break in the command. . The acceleration / deceleration processing unit 4 in the position command unit 2 calculates a command position for each sample time in consideration of the command speed based on the moving block command data. The interpolation unit 5 in the position command unit 2 expands the actual command position of each moving axis based on the command position for each sample time calculated by the acceleration / deceleration processing unit 4. The position control unit 6 performs servo control on the drive system 7 based on the command position of each moving axis for each sample time commanded by the position command unit 2. The acceleration / deceleration control processing of the linear interpolation command, which is a feature of the numerical controller according to the present invention, is performed by the interpolation unit 5.
[0013]
Here, the acceleration / deceleration control between the moving blocks performed by the interpolation unit 5 will be described using calculation formulas. Here, as an actual example, assuming a case where simultaneous linear interpolation of the XZB axes as shown in FIG. 4 is performed, between successive moving blocks when a certain moving axis is used as a reference axis, that is, block 1 shown in FIG. The acceleration / deceleration control between (first moving block) and block 2 (second moving block) will be described.
[0014]
The reference axis may be set arbitrarily from a plurality of moving axes. Specifically, the number of reference axes is not limited to two axes, and may be one axis or three or more axes. The attribute of the reference axis is not limited to a linear axis, but may be a rotation axis. There may be. The most common method of setting a reference axis in an actual numerical controller is to newly provide an NC parameter for setting the reference axis. However, a command such as a G code for defining the reference axis is newly added to the NC program. It may be provided.
[0015]
In the example shown in FIG. 4, the X axis and the Z axis are orthogonal to each other, and the B axis is a rotation axis that rotates about an axis orthogonal to both the X axis and the Z axis. . As shown in FIG. 4, for block 1, the coordinates of the interpolation start point are (x1s, z1s, b1s), the coordinates of the target position are (x1e, z1e, b1e), and for block 2, the target is The coordinates of the position are (x2e, z2e, b2e). At this time, the angle θ formed between the moving blocks, that is, between the block 1 and the block 2 in the moving vector composed of all the moving axes in the conventional method is calculated by Expression (3). The angle θ between the block 1 and the block 2 is an angle between the vector of the block 1 and the vector of the block 2 shown in FIG. 4 and conforms to the angle θ shown in FIG. In this example, since the B axis, which is one of the moving axes, is the rotation axis, it is difficult to indicate the angle θ to be formed.
[0016]
[Equation 3]
Figure 2004046558
[0017]
Next, in the acceleration / deceleration control in the present embodiment, for example, if the X axis and the Z axis are used as reference axes, and the other movement axis, that is, the B axis is not the reference axis, the movement direction on the reference axis is expressed by the formula ( In (3), the vector components (p13, p23) on the B axis are each set to 0, whereby the expression (4) is obtained.
[0018]
(Equation 4)
Figure 2004046558
[0019]
Similarly, assuming that the B axis is the reference axis and the other movement axes, that is, the X axis and the Z axis are not the reference axes, the movement direction on the reference axis is expressed by the vector components (p11, p21) of the XZ axis in Expression (3). ) And (p12, p22) are each set to 0, thereby expressing by equation (5).
[0020]
(Equation 5)
Figure 2004046558
[0021]
As described above, in the equation for calculating the angle formed by the vectors constituted by all the movement axes in the equation (3), the vector component other than the reference axis is set to 0, so that the movement with respect to an arbitrary combination of the reference axes is possible. The direction of movement between blocks can be calculated.
[0022]
Next, the flow of processing in acceleration / deceleration control between moving blocks performed in the numerical control device according to one embodiment of the present invention will be described with reference to the flowchart shown in FIG. In the following description, “**” (number) in the notation of “step **” means each processing step in the flowchart shown in FIG. It is assumed that the reference axis is set in advance in the setting of the NC parameter, the command such as the G code in the NC program, and the like. Further, it is assumed that the moving block command data of the moving block 1 and the moving block 2 has been obtained in advance by the data obtaining unit 3 shown in FIG. For the i-th axis, the interpolation start point of the moving block 1 is Psi, the target position is P1ei, and the target position of the moving block 2 is P2ei.
[0023]
First, when a moving block of a simultaneous linear interpolation command for a plurality of moving axes is continuously input from the NC command unit 1 to the position commanding unit 2, the interpolation start point Psi of the moving block 1 and the target position P1ei are calculated as follows. The movement vector component a of the movement block 1 is calculated (step 30Y). For the moving axis set as the reference axis, a vector component is calculated from the interpolation start point Psi and the target position P1ei of the moving block 1 (step 36). On the other hand, the vector component of the moving axis not set as the basic axis is set to 0 (step 35). Then, these processes are performed for all the moving axes (steps 31, 32, 37, 38).
[0024]
Similarly, the movement vector component b of the movement block 2 is calculated from the target position P2ei of the movement block 2 and the target position P1ei of the movement block 1 (step 41Y). For the moving axis set as the basic axis, a vector component is calculated from the target position P2ei of the moving block 2 and the target position P1ei of the moving block 1 (step 44). On the other hand, the vector component of the moving axis not set as the basic axis is set to 0 (step 43). Then, these processes are performed for all the moving axes (steps 39, 40, 45, 46).
[0025]
Next, the lengths L1 and L2 of the respective moving vectors are calculated from the respective components of the moving vectors of the moving blocks 1 and 2 calculated to obtain the angle between the moving blocks (steps 47 and 48). , 49, 50, 54, 55), the sum of products Sab of each vector component is calculated (step 51), and the angle angle (unit degrees) between the moving blocks is obtained (step 57). If the angle is equal to or larger than a critical angle set in advance for deceleration between the moving blocks (step 58Y), a flag indicating that deceleration is not performed in the moving block is set (step 59). This is because when the angle is equal to or larger than the critical angle, for example, when the vector of the moving block 1 and the vector of the moving block 2 are almost the same, the work processing surface is adversely affected without deceleration between the moving blocks. It is because it has no effect. By the above processing, the angle between the moving block 1 and the moving block 2 is calculated, and it is determined whether or not deceleration between the moving blocks is necessary.
[0026]
Lastly, effects of the present embodiment will be described using a processing system to which the numerical control device according to the embodiment of the present invention is applied as an example. FIG. 5 is a conceptual diagram showing a mechanism of a machining system to which the numerical control device according to the present embodiment is applied, and FIG. 6 is a conceptual diagram showing a state of workpiece machining. In this processing system, a tool feed X-axis table 10 and a cutting Z-axis table 12 are arranged so as to operate orthogonally to each other in a horizontal plane (XZ plane), and a tool having a rotation axis orthogonal to the XZ plane. A B-axis table 14 for angle control is mounted on the X-axis table 10. Reference numeral 11 denotes a drive motor of the X-axis table 10, 13 denotes a drive motor of the Z-axis table 12, and 15 denotes a drive motor of the B-axis table 14.
[0027]
FIG. 6 shows a state of the work processing using the present processing system shown in FIG. 5 from the Y direction. The work 21 held by the chuck portion 23 provided on the Z-axis table 12 is Cutting is performed by a tool 20 such as a tool attached to a gripping member (not shown) provided on the shaft table 14. Specifically, the tool 20 gripped by the main shaft rotates and the tool 20 contacts the work 21, whereby the work 21 is processed. By setting a continuous command of a moving block for performing a minute moving pitch in the machining program, the X-axis table 10, the Z-axis table 12, and the B-axis table 14 allow the tool 20 to contact the work 21 at a fixed angle. Simultaneous linear interpolation is performed, and processing is performed while controlling the rotation angle of the B axis with respect to the movement of the X axis and the Z axis.
[0028]
In the machining of this example, the B-axis table 14 is mainly for controlling the contact angle between the workpiece 21 and the tool 20, and the factor that greatly affects the machining accuracy is the movement of the X axis and the Z axis. As a matter of fact, if the fluctuation of the combined moving speed of the X axis and the Z axis is large, it adversely affects the processing accuracy of the workpiece. Here, assuming a case where a movement is performed such that a speed command is issued so that the combined movement speed of the X axis and the Z axis always becomes the program command speed f, a conventional acceleration / deceleration control method between moving blocks and the present embodiment Will be compared with the acceleration / deceleration control method between the moving blocks according to the numerical control device.
[0029]
First, in the conventional acceleration / deceleration control method between moving blocks, for example, in the case of machining at a point indicated by a machining point 22 in FIG. , The moving direction of the B axis is reversed with respect to the amount of change in the moving direction on the XZ axis, and the angle between the moving blocks becomes less than the critical angle, and it is determined that deceleration processing needs to be performed. Therefore, there is a problem that the fluctuation of the combined moving speed of the Z-axis becomes large, which adversely affects the processing accuracy and the surface roughness of the work. On the other hand, in the acceleration / deceleration control method between the moving blocks according to the numerical control device of the present embodiment, by setting the X axis and the Z axis as the reference axes, the moving direction is limited only in the space formed by the X axis and the Z axis. Since the determination is made, it is possible to move the X-axis and the Z-axis at a stable moving speed even in a portion where the change in the axis moving direction other than the XZ-axis is large, and as a result, it is possible to improve the processing accuracy of the workpiece. .
[0030]
In this example, the work 21 is attached to the Z-axis table 12 and the tool 20 is attached to the B-axis table 14. For example, in contrast to this, the tool 20 is attached to the Z-axis table 12, The present invention is applicable to a configuration in which the work 21 is attached to the B-axis table 14.
[0031]
【The invention's effect】
In the numerical controller according to the present invention, in the position command unit, the first command block and the second command block are input from the NC command unit as consecutive blocks of simultaneous linear interpolation commands for a plurality of moving axes, and If a reference axis as an axis designated from among the plurality of movement axes is present in the continuous movement block, the vector component of the movement axis other than the reference axis is set to 0, and then the first movement is performed. Since the angle between the vector by the block and the vector by the second moving block is calculated, and the acceleration / deceleration control between the first moving block and the second moving block is performed based on the calculated angle. Since the angle between the moving blocks for only the moving axis specified as the reference axis is calculated, the magnitude of the calculated angle between the moving blocks is calculated. Based on when performing acceleration and deceleration control, the movement other than the reference even if the simultaneous movement command of the plurality of moving axes shaft no longer affect the acceleration and deceleration control between the moving block.
[0032]
As a result, in actual work processing, the acceleration / deceleration control between the moving blocks designates the moving axis that affects the processing accuracy as a reference axis, while the acceleration / deceleration control between the moving blocks hardly affects the processing accuracy. If the moving axis that is not given is not specified as the reference axis, the angle between the moving blocks for only the moving axis specified as the reference axis will be calculated, so the angle between the calculated moving blocks will be calculated. When performing acceleration / deceleration control based on the size of the movement axis, even if the movement direction of the movement axis other than the reference axis greatly changes between the movement blocks, the movement of the movement axis specified as the reference axis at a stable movement speed As a result, the processing accuracy of the work was improved.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing each moving axis when a three-axis simultaneous linear interpolation command of XYZ axes is issued.
FIG. 2 is a schematic diagram showing a state of speed fluctuation of each moving axis when acceleration / deceleration is not performed between moving blocks.
FIG. 3 is a block diagram illustrating a basic configuration of a numerical control device to which a method for controlling acceleration / deceleration between moving blocks according to an embodiment of the present invention is applied.
FIG. 4 is a schematic diagram showing each moving axis when performing a three-axis simultaneous linear interpolation command of XZB axes.
FIG. 5 is a conceptual diagram showing an example of a processing system to which a numerical control device according to an embodiment of the present invention is applied.
FIG. 6 is a conceptual diagram showing a state of work processing in the processing system shown in FIG. 5;
FIG. 7 is a flowchart illustrating a process of obtaining a moving direction between moving blocks, which is performed in the numerical control device according to the embodiment of the present invention.
[Explanation of symbols]
Reference Signs List 1 NC command unit 2 Position command unit 3 Data acquisition unit 4 Acceleration / deceleration processing unit 5 Interpolation unit 6 Position control unit 7 Drive system 10 X-axis table 11 X-axis drive motor 12 Z-axis table 13 Z-axis drive motor 14 B-axis table 15 B-axis drive motor 20 Tool 21 Workpiece 22 Workpiece processing surface inflection point 23 Chuck

Claims (2)

NCプログラムの解析を行うことにより移動ブロックのデータを作成するNC指令部と、
前記移動ブロックのデータに含まれる目標位置及び目標速度に基づいて所定のサンプル時間毎に移動軸の指令位置を算出するようにされた位置指令部と、
を有する数値制御装置において、
前記位置指令部では、前記NC指令部から複数の移動軸に対する同時直線補間指令の連続した移動ブロックとしての第1の移動ブロックおよび第2の移動ブロックが入力され、かつ、該連続した移動ブロック中に前記複数の移動軸の中から指定された軸としての基準軸が存在した場合には、前記基準軸以外の移動軸のベクトル成分を0としたのち前記第1の移動ブロックによるベクトルと前記第2の移動ブロックによるベクトルとのなす角度を算出し、該算出された角度に基づいて前記第1の移動ブロックと前記第2の移動ブロック間の加減速制御を行うようにしたことを特徴とする数値制御装置。
An NC command unit that creates data of a moving block by analyzing an NC program;
A position command unit configured to calculate a command position of the moving axis for each predetermined sample time based on a target position and a target speed included in the data of the moving block,
In the numerical controller having
In the position command unit, a first moving block and a second moving block as continuous moving blocks of a simultaneous linear interpolation command for a plurality of moving axes are input from the NC command unit, and during the continuous moving blocks, If there is a reference axis as an axis designated from among the plurality of movement axes, the vector component of the movement axis other than the reference axis is set to 0, and then the vector by the first movement block and the An angle between the second moving block and the vector is calculated, and acceleration / deceleration control between the first moving block and the second moving block is performed based on the calculated angle. Numerical control unit.
前記算出された角度が予め設定された臨界角度以上であった場合は、前記連続した移動ブロック間では減速を行わないようにしたことを特徴とする請求項1に記載の数値制御装置。The numerical control device according to claim 1, wherein when the calculated angle is equal to or greater than a predetermined critical angle, deceleration is not performed between the continuous moving blocks.
JP2002203583A 2002-07-12 2002-07-12 Numerical controller Withdrawn JP2004046558A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002203583A JP2004046558A (en) 2002-07-12 2002-07-12 Numerical controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002203583A JP2004046558A (en) 2002-07-12 2002-07-12 Numerical controller

Publications (1)

Publication Number Publication Date
JP2004046558A true JP2004046558A (en) 2004-02-12

Family

ID=31709415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002203583A Withdrawn JP2004046558A (en) 2002-07-12 2002-07-12 Numerical controller

Country Status (1)

Country Link
JP (1) JP2004046558A (en)

Similar Documents

Publication Publication Date Title
JP6457432B2 (en) Servo control device, control method and computer program for machine tool for rocking cutting
JP6140130B2 (en) Numerical control device for protecting tools and workpieces
JP4809488B1 (en) Numerical control device with oscillating function capable of changing speed in any section
JP6450732B2 (en) Numerical controller
JP5323280B1 (en) Numerical controller
JP2017182336A (en) Servo controller, control method, and computer program for oscillation-cutting machine tool
JP5452788B1 (en) Numerical controller
JP2013058035A (en) Numerical control device for multiple spindle machine tool including workpiece installation error correction section
JP2014021759A (en) Numerical control device having corner multiple curve insertion section
TWI498695B (en) Numeric control device
JP6321586B2 (en) Numerical control device that enables error correction in consideration of axis movement direction
JPWO2012101789A1 (en) Numerical controller
JP2013117924A (en) Numerical control for performing processing by cut point command on tool rear surface
JP2005071016A (en) Numerical control device
JP3563077B2 (en) Numerical control command creation device and method
CN109874403B (en) CNC device
JP5347421B2 (en) Numerical control device for NC and NC data analysis device
JP5734336B2 (en) Numerical control device that enables display and input of tool direction relative to workpiece
JP2004046558A (en) Numerical controller
TW201715321A (en) Apparatus and method for transforming NC programs
JP2006227701A (en) Circular machining command creation device, method and program
JP4560191B2 (en) Numerical controller
JP6423827B2 (en) Numerical control apparatus and tool movement control method
JP2007172325A (en) Method of machining free curve and numerical control device
JP3902353B2 (en) Numerical controller

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051004