JP3394121B2 - Numerical control unit - Google Patents

Numerical control unit

Info

Publication number
JP3394121B2
JP3394121B2 JP27063795A JP27063795A JP3394121B2 JP 3394121 B2 JP3394121 B2 JP 3394121B2 JP 27063795 A JP27063795 A JP 27063795A JP 27063795 A JP27063795 A JP 27063795A JP 3394121 B2 JP3394121 B2 JP 3394121B2
Authority
JP
Japan
Prior art keywords
control
control cycle
axis
virtual
numerical control
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.)
Expired - Fee Related
Application number
JP27063795A
Other languages
Japanese (ja)
Other versions
JPH0991024A (en
Inventor
和典 藤墳
俊行 南谷
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.)
Okuma Corp
Original Assignee
Okuma 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 Okuma Corp filed Critical Okuma Corp
Priority to JP27063795A priority Critical patent/JP3394121B2/en
Publication of JPH0991024A publication Critical patent/JPH0991024A/en
Application granted granted Critical
Publication of JP3394121B2 publication Critical patent/JP3394121B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、複数の数値制御軸
を有し、制御対象である各数値制御軸の制御周期毎にあ
るべき位置を予め記憶しておき、前記制御周期毎にある
べき位置に従って前記各数値制御軸を制御すると共に、
加工動作中にフィードレートを変化させることにより送
り速度を変更することが可能な数値制御(以下、NCと
称す)装置に関する。 【0002】 【従来の技術】通常NC装置は、指令された加工プログ
ラムに従って、各制御対象軸の制御を行なう。即ち、N
C装置は加工プログラムに示された軌跡を表すGコード
指令、各送り速度を表すFコード指令、および各制御対
象軸の目標位置指令から制御対象軸の制御周期毎の位置
を補間演算して求め、さらに演算して求めた補間位置に
対してスムーズな動作を可能とするために加減速処理を
施し、加減速処理を施して求めた位置に逐次位置決めす
るようにモータを制御する。このようなNC装置の一例
の構成図を図7に示して説明する。図7の例では、制御
対象軸としてX,Zの2軸を有している。プログラム解
析部31は、プログラム記憶部30より順次加工プログ
ラムPRを1ブロックずつ読出し、解析してその加工プ
ログラムPRに指令されているGコード指令、Fコード
指令や各制御対象軸の目標位置指令などのデータPDを
作成して関数発生部32に送る。関数発生部32は、G
コード指令、Fコード指令や各制御対象軸の目標位置指
令などのデータPDを参照し、制御周期毎の各制御対象
軸の位置を補間演算する。ここにおいて補間演算は、制
御周期時間とFコード指令により指令された送り速度と
から制御周期時間当りの移動距離を算出し、指令された
目標位置に到達するまでGコード指令により指令された
軌跡上、制御周期時間当りの移動距離だけ離れた各制御
対象軸位置を順次算出することを行なう。関数発生部3
2で補間演算した各制御対象軸の位置は、制御クロック
発生部1からクロック信号CLが送られる毎に、X軸の
補間位置データIXはX軸加減速手段33へ、Z軸の補
間データIZはZ軸加減速手段34へ転送される。X軸
加減速手段33は、X軸の補間位置データIXをスムー
ジングした指令データCXを作成してX軸モータ制御部
9に転送し、X軸モータ制御部9は指令データCXに従
ってX軸モータを制御する指令MXを作成してX軸モー
タを制御する。また、Z軸加減速手段34は、Z軸の補
間位置データIZをスムージングした指令データCZを
作成してZ軸モータ制御部10に転送し、Z軸モータ制
御部10は指令データCZに従ってZ軸モータを制御す
る指令MZを作成してZ軸モータを制御する。 【0003】また、多くのNC装置では、加工プログラ
ムPRに指令された送り速度を機械動作実行中に変更す
る機能としてフィードレート機能を有している。このフ
ィードレート機能は、外部スイッチなどにより指令され
た送り速度変更割合FRをフィードレート読込部2を介
して関数発生部32に読込み、関数発生部32では制御
周期時間当りの移動距離に読込んだ送り速度変更割合F
Rを乗算した距離を算出し、Gコード指令により指令さ
れた軌跡上で、この算出した距離だけ離れた各制御対象
軸の位置を算出することによって実現される。 【0004】ここで制御周期は、補間演算及び加減速処
理が短時間に終了する簡単な処理であれば、それだけ制
御周期を短縮化することができる。さて、単純な関数で
表現できない形状(例えばカム形状など)を加工する場
合であって、かつ比較的加工距離が限られており高精度
な加工が必要な場合において、予め補間演算処理及び加
減速処理を施した制御周期毎の指令位置に従って逐次位
置決め処理を行なうNC装置がある。このようなNC装
置では、多くの指令位置データを記憶する記憶装置が必
要であるが、制御周期毎に補間演算処理及び加減速処理
を行う必要がないために制御周期を短くすることが可能
であり、補間間隔を短くすることにより高精度な加工が
可能となる。このようなNC装置の一例の構成図を図8
に示して説明する。図7の例と同様に、制御対象軸とし
てX,Zの2軸を有している。 【0005】補間済みデータ記憶部7は、予め外部装置
(図示せず)にて制御周期毎の補間演算処理及び加減速
処理を行なった各制御対象軸の指令位置を記憶している
ため、データ転送部6は、制御クロック発生部1から制
御クロックCLが転送される毎に補間済みデータ記憶部
7から、制御周期毎の補間演算処理及び加減速処理済み
の各制御対象軸の指令位置PCを読出し、X軸指令位置
CXはX軸モータ制御部9に、Z軸指令位置CZはZモ
ータ制御部10にそれぞれ逐次転送するだけであり、制
御周期毎に行なうべき処理が少く制御周期を短くするこ
とができ、補間間隔を短くすることにより高精度な加工
が可能である。 【0006】 【発明が解決しようとする課題】しかしながらこのよう
なNC装置では、図7に示した一般的なNC装置では可
能であるフィードレート機能を使用することができな
い。送り速度を機械動作中に変更するためには機械動作
中に補間処理を行なわなければならず、結局一般的なN
C装置と同等の補間処理を行なうことになり、制御周期
を短くすることができなくなってしまうためである。従
ってこのようなNC装置では、十分に完成された加工プ
ログラム及び補間済み指令位置データに対しては誤差の
少ない高精度な加工が可能である反面、最適な加工デー
タを得るために行なうテストカットでは送り速度を変更
するたびに外部装置にて膨大な補間済みデータを再作成
する必要があり非常に手間がかかるという欠点があっ
た。本発明は上述した事情からなされたものであり、本
発明の目的は、制御対象である複数の数値制御軸の制御
周期毎にあるべき位置を予め記憶しておき、各制御周期
毎にあるべき位置に従って、各数値制御軸を制御するN
C装置において、過度な処理時間の増加を招くことな
く、かつ誤差の発生も抑えたフィードレート機能を有す
るNC装置を提供することにある。 【0007】 【課題を解決するための手段】本発明は、複数の数値制
御軸を有し、制御対象である前記数値制御軸毎に、該数
値制御軸の制御周期毎にあるべき位置を予め記憶してお
くと共に、前記数値制御軸毎に、前記制御周期毎にある
べき位置に従って該数値制御軸を制御する数値制御装置
において、前記複数の数値制御軸の速度変更割合を指令
するフィードレート指令手段と、前記フィードレート指
令手段により指令された速度変更割合を前記制御周期に
乗算して仮想制御周期を算出する仮想制御周期算出手段
と、前記仮想制御周期算出手段によって算出された前記
仮想制御周期を積算する仮想制御周期積算手段と、前記
数値制御軸毎に、前記予め記憶しておいた該数値制御軸
の前記制御周期毎にあるべき位置と、前記仮想制御周期
積算手段により積算された仮想制御周期積算時間とから
前記制御周期毎の前記数値制御軸の位置を算出する実制
御位置算出手段と、前記数値制御軸毎に、前記実制御位
置算出手段により算出された前記数値制御軸の位置に従
って、該数値制御軸を制御する軸制御手段とを具備した
ことによって達成される。さらに、前記フィードレート
指令手段により指令された速度変更割合の時間的変化を
スムージングするフィードレート加減手段を設け、前記
仮想制御周期算出手段が、前記フィードレート加減手段
によりスムージングされた速度変更割合に前記制御周期
を乗算して仮想制御周期を算出することによって、より
効果的に達成される。 【0008】 【発明の実施の形態】本発明においては、フィードレー
ト指令手段は外部からのフィードレート指令を速度変更
割合として受取り、仮想制御周期算出手段は制御周期及
び前記速度変更割合から仮想制御周期を算出し、仮想制
御周期積算手段は前記仮想制御周期を積算して仮想制御
周期積算時間を算出し、実制御位置算出手段は制御周期
毎にあるべき各制御軸の指令位置と前記仮想制御周期積
算時間とから制御周期毎の各数値制御軸の位置を算出
し、軸制御手段は、実制御位置算出手段により算出され
た前記制御周期毎の各数値制御軸の位置に従って各数値
制御軸を制御する。このため、予め各制御周期毎にある
べき各数値制御軸の位置を記憶しておき、前記制御周期
毎にあるべき位置に従って、前記各数値制御軸を制御す
るNC装置においても、過度な処理時間の増加を招くこ
となくフィードレート指令により送り速度を変更するこ
とが可能となる。さらに、フィードレート加減手段は、
外部からのフィードレート指令をスムージングし、スム
ージングした速度変更割合を参照して仮想制御周期を算
出するため、急激な速度変更指令に対してもスムースな
動作を行なうことが可能となる。 【0009】以下、図面に基づいて本発明の実施例を詳
細に説明する。なお、図7及び図8に示した従来例と同
一の構成要素には、同一符号を付して説明を省略する。 【0010】図1は、本発明に係るNC装置を適用した
NC研削盤の一実施例を示す構成図である。本発明にお
いては、フィードレート読込み部2は、制御クロック発
生部1から制御周期毎に発生されるクロックCLと同期
して外部(図示せず)からフィードレート指令を読込
み、速度変更割合FRとしてフィードレート加減制御部
3に送る。フィードレート加減制御部3は、速度変更割
合FRをスムージングしたスムージング化速度変更割合
FSを作成し、仮想制御周期算出部4に送る。仮想制御
周期算出部4は、NC装置に固定的に決められている制
御周期にスムージング化速度変更割合FSを乗算して仮
想制御周期VTを算出し、仮想制御周期積算部5に送
る。仮想制御周期積算部5は、仮想制御周期VTを積算
して仮想制御周期積算時間IVTを求め、データ転送部
6及び実指令位置算出部8に送る。データ転送部6は仮
想制御周期積算時間IVTを参照して、補間済みデータ
記憶部7から必要なデータPCを読出して実指令位置算
出部8に送り、実指令位置算出部8は、データ転送部6
からのデータPC及び仮想制御周期積算時間IVTから
実指令位置(X軸用データCX及びZ軸用データCZ)
を算出し、X軸用データCXはX軸モータ制御部9に、
Z軸用データCZはZ軸モータ制御部10にそれぞれ転
送する。 【0011】次に、本実施例の主要部であるフィードレ
ート読込部2、フィードレート加減制御部3、仮想制御
周期算出部4、仮想制御周期積算部5、データ転送部
6、実指令位置算出部8における詳細な動作を、図2の
フローチャート、フィードレートFRの時間的変化を示
す図3、スムージング化速度変更割合FSの時間的変化
を示す図4、仮想制御周期積算時間IVTの時間的変化
を示す図5、実指令位置CX,CZの算出方法を説明す
る図6を用いて説明する。 【0012】先ずフィードレート読込部2にて、制御周
期毎に外部からフィードレート(速度変更割合)FRを
読込む(ステップS1)。図3は、軸動作開始から時間
TSが経過した時点で、外部から読込まれたフィードレ
ート(速度変更割合)FRが100%(1)から50%
(0.5)に変化した場合を示す。次に、フィードレー
ト加減制御部3においてフィードレート(速度変更割
合)FRの時間的変化をスムージングし、スムージング
化速度変更割合FSを算出する(ステップS2)。スム
ージング方法に関しては移動平均処理など公知の各種方
法が考えられるが、本願には直接関係ないので詳細な説
明は省略する。図4は、スムージング化速度変更割合F
Sの時間的変化を示すもので、前記時点TSから所定の
時定数時間経過した時点TEまでの区間で、100%
(1)から50%(0.5)にスムージング化速度変更
割合FSを滑らかに減少させている。 【0013】次に、仮想制御周期算出部4において、前
記スムージング化速度変更割合FSを制御装置固有の制
御周期CTに乗算して、下記数1に従って仮想制御周期
VTを算出する(ステップS3)。 【数1】VT=FS*CT そして、仮想制御周期積算部5では仮想制御周期VTを
積算し、仮想制御周期積算時間IVTを算出する(ステ
ップS4)。図5は仮想制御周期積算時間IVTの時間
的変化を示すもので、同じ制御周期CTであってもスム
ージング化速度変更割合FSを乗算することにより、仮
想制御周期VTはVT1,VT2,VT3のように変化
するため、これに対応して仮想制御周期積算時間IVT
もIVT1,IVT2,IVT3というように増加割合
が変化することになる。 【0014】又、データ転送部6は仮想制御周期積算時
間IVTに対応する補間済みデータPCを補間済みデー
タ記憶部7から読出す(ステップS5)。補間済みデー
タ記憶部7には補間済みデータ、即ち各制御周期毎の各
数値制御軸(本例ではX軸及びZ軸)のあるべき位置P
Cnが各制御周期(制御周期積算時間)tnに対応して
記憶されており、仮想制御周期積算時間IVTが制御周
期積算時間tnに等しいものとして読出すデータを選択
する。ここで、仮想制御周期積算時間IVTが制御周期
CTの整数倍でない場合には対応する補間済みデータが
ないことになるが、その場合には仮想制御周期積算時間
IVTの前後の制御周期積算時間に対応する補間済みデ
ータを読出す。即ち、下記数2が成り立つ場合、制御周
期積算時間tn=CT*n及びtn+1=CT*(n+
1)に対応した補間済みデータPCn及びPCn+1を
共に選択し、これらを実指令位置算出部8に送る。 【数2】CT*n < IVT < CT*(n+1) n:整数 【0015】次に、実指令位置算出部8において、仮想
制御周期積算時間IVT及びデータ転送部6から転送さ
れた補間済みデータPCから実指令位置CX,CZを算
出する(ステップS6)。実指令位置算出部8において
仮想制御周期積算時間IVTが制御周期CTの整数倍で
ある場合には、補間済みデータPCをそのまま実指令位
置CX,CZとする。また、そうでない場合には前述の
ように、仮想制御周期積算時間IVTの前後の制御周期
積算時間に対応する補間済みデータPCn,PCn+1
と、仮想制御周期積算時間IVTを制御周期CTで割っ
た端数時間ODと、制御周期CTとからの比例配分によ
り実指令位置Cを算出する。そして、下記数3を使用し
てX軸、Z軸に対して算出した実指令位置Cがそれぞれ
CX、CZである。 【数3】 C=PCn+((PCn+1)−PCn)×OD/CT 【0016】実指令位置CX,CZに従ってX軸モータ
制御部9はX軸モータを、Z軸モータ制御部10はZ軸
モータをそれぞれ制御する(ステップS7)。以上のス
テップS1からステップS7を各制御周期ごとに実行す
る。 【0017】図6は実指令位置Cの算出方法を説明する
図であり,tnはn番目の制御周期積算時間を、PCn
は補間済みデータ記憶部7に記憶されている制御周期積
算時間tnにあるべき各数値制御軸の指令データを、C
nは実指令位置算出部8で算出された実指令位置をそれ
ぞれ示す。図6の例で制御周期積算時間tn+1におけ
る仮想制御周期はCT1、仮想積算時間積算時間はIV
T1であり、tn<IVT1<tn+1であるため、実
指令位置算出部8には、制御周期積算時間tn,tn+
1にあるべき位置指令データPCn、PCn+1が送ら
れ、実指令位置算出部8では、前記数3に従って、X
軸,Z軸に対する実指令位置CX、CZを算出する。こ
こで、フィードレートが100%のまま変更されなかっ
た場合には、制御周期積算時間tn+3には、位置PC
n+3にいるべく制御されるが、例えば前述のようにフ
ィードレートを制御周期積算時間tnにおいて50%に
変更した場合には、制御周期積算時間tn+3における
位置が位置Cn+3にいるべく制御され、実質的に送り
速度を小さくしたことになる。 【0018】 【発明の効果】以上、本発明によれば、予め補間加減速
処理を実施した補間済みデータに基づいて各数値制御軸
を制御するNC装置においても、加工動作中にフィード
レートを変化させることにより送り速度を変更すること
が可能である。また、フィードレートを急激に変更した
場合も、スムージングにより速度変化は滑らかなものと
なり、機械に負担をかけることもない。演算処理も簡単
であり、制御装置処理時間にそれほどの負担をかけるこ
ともない。さらに、送り速度を変更しても指令データに
対し直線近似により発生する形状誤差以上の誤差は発生
せず、高精度な加工を維持することが可能である。また
本発明の方法は、各制御軸それぞれ独立に処理できるた
め、制御軸数が増加しても複数の制御装置で分散処理化
することが容易であるという利点も有する。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention has a plurality of numerical control axes, and stores in advance the positions to be controlled in each control cycle of each numerical control axis to be controlled. In addition, while controlling each numerical control axis according to the position that should be in each control cycle,
The present invention relates to a numerical control (hereinafter, referred to as NC) device capable of changing a feed rate by changing a feed rate during a processing operation. 2. Description of the Related Art Normally, an NC device controls each control target axis in accordance with a commanded machining program. That is, N
The C device obtains the position of each control cycle of the control target axis by interpolation from the G code command indicating the locus indicated in the machining program, the F code command indicating each feed speed, and the target position command of each control target axis. Further, acceleration / deceleration processing is performed to enable a smooth operation with respect to the interpolation position obtained by calculation, and the motor is controlled so as to sequentially perform positioning at the position obtained by performing acceleration / deceleration processing. A configuration diagram of an example of such an NC device will be described with reference to FIG. In the example of FIG. 7, two axes X and Z are provided as control target axes. The program analyzing unit 31 sequentially reads out the machining programs PR from the program storage unit 30 one block at a time, analyzes and analyzes the G code command, the F code command, the target position command of each axis to be controlled, etc. Is generated and sent to the function generator 32. The function generator 32 calculates G
With reference to data PD such as a code command, an F code command, and a target position command for each controlled axis, the position of each controlled axis in each control cycle is interpolated. Here, the interpolation calculation calculates the moving distance per control cycle time from the control cycle time and the feed rate commanded by the F code command, and calculates the travel distance per the command code by the G code command until it reaches the commanded target position. , The positions of the control target axes separated by the movement distance per control cycle time are sequentially calculated. Function generator 3
The position of each control target axis, which has been subjected to the interpolation calculation in step 2, is transmitted to the X-axis acceleration / deceleration means 33 each time the clock signal CL is sent from the control clock generator 1, and to the Z-axis interpolation data IZ. Is transferred to the Z-axis acceleration / deceleration means 34. The X-axis acceleration / deceleration means 33 creates command data CX obtained by smoothing the X-axis interpolation position data IX and transfers it to the X-axis motor control unit 9. The X-axis motor control unit 9 controls the X-axis motor in accordance with the command data CX. A command MX to be controlled is created to control the X-axis motor. Further, the Z-axis acceleration / deceleration means 34 creates command data CZ obtained by smoothing the Z-axis interpolation position data IZ and transfers the command data CZ to the Z-axis motor control unit 10. A command MZ for controlling the motor is created to control the Z-axis motor. [0003] Further, many NC apparatuses have a feed rate function as a function of changing a feed rate instructed by a machining program PR during execution of a machine operation. This feed rate function reads the feed rate change ratio FR commanded by an external switch or the like into the function generating unit 32 via the feed rate reading unit 2, and the function generating unit 32 reads the moving distance per control cycle time. Feed rate change rate F
This is realized by calculating the distance multiplied by R and calculating the positions of the control target axes separated by the calculated distance on the trajectory specified by the G code command. Here, the control cycle can be shortened as long as the interpolation calculation and the acceleration / deceleration processing are simple processes that are completed in a short time. Now, when processing a shape (for example, a cam shape) that cannot be expressed by a simple function, and when the processing distance is relatively limited and high-precision processing is required, interpolation calculation processing and acceleration / deceleration are performed in advance. There is an NC apparatus that performs a sequential positioning process in accordance with a command position for each control cycle in which the process is performed. In such an NC device, a storage device for storing a large amount of command position data is required. However, since there is no need to perform interpolation calculation processing and acceleration / deceleration processing for each control cycle, the control cycle can be shortened. In addition, shortening the interpolation interval enables high-precision machining. FIG. 8 is a configuration diagram of an example of such an NC device.
And will be described. As in the example of FIG. 7, two axes X and Z are provided as control target axes. The interpolated data storage unit 7 stores the command positions of the control target axes which have been subjected to interpolation calculation processing and acceleration / deceleration processing for each control cycle by an external device (not shown) in advance. Each time the control clock CL is transferred from the control clock generator 1, the transfer unit 6 reads, from the interpolated data storage unit 7, the command position PC of each control target axis that has undergone interpolation calculation processing and acceleration / deceleration processing for each control cycle. The reading and the X-axis command position CX are only sequentially transferred to the X-axis motor control unit 9 and the Z-axis command position CZ is only sequentially transferred to the Z motor control unit 10, and the processing to be performed in each control cycle is small, and the control cycle is shortened. High precision processing is possible by shortening the interpolation interval. [0006] However, such an NC device cannot use the feed rate function that is possible with the general NC device shown in FIG. In order to change the feed rate during machine operation, an interpolation process must be performed during machine operation.
This is because the same interpolation processing as that of the C device is performed, and the control cycle cannot be shortened. Therefore, in such an NC device, a highly-completed machining program and interpolated command position data can be machined with high accuracy with little error. Each time the feed rate is changed, a huge amount of interpolated data must be re-created by an external device, which is very troublesome. The present invention has been made in view of the circumstances described above, and an object of the present invention is to store in advance the positions that should be in control cycles of a plurality of numerical control axes to be controlled, and to store the positions in each control cycle. N to control each numerical control axis according to position
An object of the present invention is to provide an NC apparatus having a feed rate function that does not cause an excessive increase in processing time and suppresses the occurrence of errors in the C apparatus. SUMMARY OF THE INVENTION The present invention has a plurality of numerical control axes, and for each of the numerical control axes to be controlled, a position to be present in each control cycle of the numerical control axis is determined in advance. A feed rate command for instructing a speed change rate of the plurality of numerical control axes in the numerical control device for controlling the numerical control axes according to a position that should be in each control cycle for each of the numerical control axes. Means, virtual control cycle calculating means for multiplying the control cycle by a speed change ratio commanded by the feed rate command means to calculate a virtual control cycle, and the virtual control cycle calculated by the virtual control cycle calculating means A virtual control cycle integrating means for integrating the virtual control cycle, a position to be stored for each control cycle of the numerical control axis, the virtual control cycle integration means, Actual control position calculating means for calculating the position of the numerical control axis for each control cycle from the virtual control cycle integration time integrated by the means, and the actual control position calculating means for each numerical control axis. Axis control means for controlling the numerical control axis according to the position of the numerical control axis is achieved. Further, a feed rate adjusting means for smoothing a temporal change of a speed change rate instructed by the feed rate instructing means is provided, and the virtual control cycle calculating means sets the speed change rate to the speed change rate smoothed by the feed rate adjusting means. This is more effectively achieved by calculating the virtual control cycle by multiplying the control cycle. In the present invention, the feed rate command means receives an external feed rate command as a speed change rate, and the virtual control cycle calculation means calculates a virtual control cycle from the control cycle and the speed change rate. The virtual control cycle integration means calculates the virtual control cycle integration time by integrating the virtual control cycle, and the actual control position calculation means calculates the command position of each control axis which should be in each control cycle and the virtual control cycle. The position of each numerical control axis for each control cycle is calculated from the accumulated time and the axis control means controls each numerical control axis according to the position of each numerical control axis for each control cycle calculated by the actual control position calculation means. I do. For this reason, the position of each numerical control axis that should be in each control cycle is stored in advance, and even in the NC device that controls each numerical control axis in accordance with the position that should be in each control cycle, excessive processing time is required. The feed rate can be changed by the feed rate command without causing the increase in the feed rate. Further, the feed rate adjusting means is:
Since the virtual control cycle is calculated by smoothing the external feed rate command and referring to the smoothed speed change ratio, it is possible to perform a smooth operation even for a rapid speed change command. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The same components as those of the conventional example shown in FIGS. 7 and 8 are denoted by the same reference numerals, and description thereof will be omitted. FIG. 1 is a configuration diagram showing an embodiment of an NC grinding machine to which the NC device according to the present invention is applied. In the present invention, the feed rate reading unit 2 reads a feed rate command from the outside (not shown) in synchronization with a clock CL generated for each control cycle from the control clock generating unit 1 and feeds the feed rate command as a speed change rate FR. It is sent to the rate control unit 3. The feed rate adjustment controller 3 creates a smoothed speed change ratio FS obtained by smoothing the speed change ratio FR and sends it to the virtual control cycle calculator 4. The virtual control cycle calculation unit 4 calculates a virtual control cycle VT by multiplying the control cycle fixedly determined by the NC device by the smoothing speed change rate FS, and sends it to the virtual control cycle integration unit 5. The virtual control cycle integration unit 5 calculates the virtual control cycle integration time IVT by integrating the virtual control cycle VT, and sends the virtual control cycle integration time IVT to the data transfer unit 6 and the actual command position calculation unit 8. The data transfer unit 6 reads the necessary data PC from the interpolated data storage unit 7 with reference to the virtual control cycle integration time IVT and sends it to the actual command position calculation unit 8. 6
Command position (X-axis data CX and Z-axis data CZ) from data PC and virtual control cycle integration time IVT
Is calculated, and the X-axis data CX is sent to the X-axis motor controller 9.
The Z-axis data CZ is transferred to the Z-axis motor control unit 10, respectively. Next, a feed rate reading section 2, a feed rate adjustment control section 3, a virtual control cycle calculation section 4, a virtual control cycle integration section 5, a data transfer section 6, an actual command position calculation, which are main parts of the present embodiment. The detailed operation in the unit 8 is shown in the flowchart of FIG. 2, FIG. 3 showing the temporal change of the feed rate FR, FIG. 4 showing the temporal change of the smoothing speed change ratio FS, and the temporal change of the virtual control cycle integration time IVT. 5 and FIG. 6 illustrating a method of calculating the actual command positions CX and CZ. First, the feed rate reading unit 2 reads a feed rate (speed change rate) FR from the outside in each control cycle (step S1). FIG. 3 shows that the feed rate (speed change rate) FR read from the outside is 100% (1) to 50% when the time TS has elapsed from the start of the axis operation.
(0.5) is shown. Next, the feed rate adjustment controller 3 smoothes the temporal change of the feed rate (speed change rate) FR, and calculates a smoothed speed change rate FS (step S2). As the smoothing method, various known methods such as a moving average process can be considered, but a detailed description is omitted because it is not directly related to the present application. FIG. 4 shows the smoothing speed change rate F
S indicates a temporal change of S. In a section from the time point TS to a time point TE at which a predetermined time constant elapses, 100%
The smoothing speed change ratio FS is smoothly reduced from (1) to 50% (0.5). Next, the virtual control cycle calculation section 4 multiplies the smoothing speed change rate FS by the control cycle CT unique to the control device to calculate a virtual control cycle VT according to the following equation (1) (step S3). VT = FS * CT The virtual control cycle integration unit 5 integrates the virtual control cycle VT to calculate a virtual control cycle integration time IVT (step S4). FIG. 5 shows a temporal change of the virtual control cycle integration time IVT. Even in the same control cycle CT, the virtual control cycle VT is changed to VT1, VT2, VT3 by multiplying the smoothing speed change rate FS. , The virtual control cycle integration time IVT correspondingly
Also, the rate of increase changes as IVT1, IVT2, and IVT3. The data transfer section 6 reads out the interpolated data PC corresponding to the virtual control cycle integration time IVT from the interpolated data storage section 7 (step S5). The interpolated data storage unit 7 stores the interpolated data, that is, the position P where each numerical control axis (X axis and Z axis in this example) should be in each control cycle.
Cn is stored corresponding to each control cycle (control cycle integration time) tn, and data to be read is selected assuming that the virtual control cycle integration time IVT is equal to the control cycle integration time tn. Here, when the virtual control cycle integration time IVT is not an integral multiple of the control cycle CT, there is no corresponding interpolated data. In that case, however, the control cycle integration times before and after the virtual control cycle integration time IVT are not included. Read the corresponding interpolated data. That is, when the following equation 2 holds, the control cycle integration time tn = CT * n and tn + 1 = CT * (n +
Both the interpolated data PCn and PCn + 1 corresponding to 1) are selected and sent to the actual command position calculating unit 8. CT * n <IVT <CT * (n + 1) n: integer Next, in the actual command position calculating section 8, the virtual control cycle integration time IVT and the interpolated data transferred from the data transferring section 6 are calculated. The actual command positions CX and CZ are calculated from the PC (step S6). When the virtual control cycle integration time IVT is an integral multiple of the control cycle CT in the actual command position calculator 8, the interpolated data PC is used as the actual command positions CX and CZ. Otherwise, as described above, the interpolated data PCn, PCn + 1 corresponding to the control cycle integration times before and after the virtual control cycle integration time IVT, as described above.
Then, the actual command position C is calculated by proportional distribution from the fractional time OD obtained by dividing the virtual control cycle integration time IVT by the control cycle CT, and the control cycle CT. The actual command positions C calculated with respect to the X axis and the Z axis using Equation 3 below are CX and CZ, respectively. C = PCn + ((PCn + 1) -PCn) × OD / CT The X-axis motor controller 9 controls the X-axis motor and the Z-axis motor controller 10 controls the Z-axis motor according to the actual command positions CX and CZ. Are respectively controlled (step S7). The above steps S1 to S7 are executed for each control cycle. FIG. 6 is a diagram for explaining a method of calculating the actual command position C, where tn is the n-th control cycle integration time and PCn
The command data of each numerical control axis which should be at the control cycle integration time tn stored in the interpolated data storage unit 7 is
n indicates the actual command position calculated by the actual command position calculator 8. In the example of FIG. 6, the virtual control cycle at the control cycle integration time tn + 1 is CT1, and the virtual integration time integration time is IV.
Since T1 and tn <IVT1 <tn + 1, the actual command position calculation unit 8 includes the control cycle integration times tn and tn +
1 is sent, and the actual command position calculator 8 calculates X according to the above equation (3).
The actual command positions CX and CZ with respect to the axis and the Z axis are calculated. Here, if the feed rate remains unchanged at 100%, the position PC is added to the control cycle integration time tn + 3.
Control is performed so as to be at n + 3. For example, when the feed rate is changed to 50% in the control cycle integration time tn as described above, the position at the control cycle integration time tn + 3 is controlled so as to be at the position Cn + 3. This means that the feed speed has been reduced. As described above, according to the present invention, even in the NC apparatus which controls each numerical control axis based on the interpolated data on which the interpolation acceleration / deceleration processing has been performed, the feed rate is changed during the machining operation. By doing so, it is possible to change the feed speed. Also, even when the feed rate is suddenly changed, the speed change becomes smooth due to the smoothing, and no load is imposed on the machine. The arithmetic processing is also simple and does not impose a significant burden on the processing time of the control device. Further, even if the feed speed is changed, no error equal to or larger than the shape error generated by the linear approximation to the command data is generated, and high-accuracy machining can be maintained. Further, since the method of the present invention can perform processing independently for each control axis, there is also an advantage that even if the number of control axes increases, distributed processing can be easily performed by a plurality of control devices.

【図面の簡単な説明】 【図1】 本発明に係る数値制御装置を適用したNC研
削盤の一実施例を示すブロック構成図である。 【図2】 本実施例における数値制御装置の動作例を示
すフローチャートである。 【図3】 本実施例におけるフィードレートの時間的変
化を示す図である。 【図4】 本実施例におけるスムージングされた速度変
更割合の時間的変化を示す図である。 【図5】 本実施例における仮想周期積算時間の時間的
変化を示す図である。 【図6】 本実施例における補間済みデータと実指令位
置との対応を説明する図である。 【図7】 従来のフィードレート機能を有するNC装置
を適用したNC研削盤のブロック構成図の一例である。 【図8】 従来の補間済みデータに基づき制御するNC
装置を適用したNC研削盤のブロック構成図の一例であ
る。 【符号の説明】 1 制御クロック発生部 2 フィードレート読込み部 3 フィードレート加減制御部 4 仮想制御周期算出部 5 仮想制御周期積算部 6 データ転送部 7 補間済みデータ記憶部 8 実指令位置算出部 9 X軸モータ制御部 10 Z軸モータ制御部 30 プログラム記憶部 31 プログラム解析部 32 関数発生部 33 X軸加減速手段 34 Z軸加減速手段
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing an embodiment of an NC grinding machine to which a numerical controller according to the present invention is applied. FIG. 2 is a flowchart illustrating an operation example of the numerical controller according to the present embodiment. FIG. 3 is a diagram showing a temporal change of a feed rate in the present embodiment. FIG. 4 is a diagram showing a temporal change of a smoothed speed change ratio in the embodiment. FIG. 5 is a diagram showing a temporal change of a virtual cycle integration time in the embodiment. FIG. 6 is a diagram illustrating a correspondence between interpolated data and an actual command position in the present embodiment. FIG. 7 is an example of a block configuration diagram of an NC grinding machine to which a conventional NC device having a feed rate function is applied. FIG. 8 shows a conventional NC controlled based on interpolated data.
It is an example of the block block diagram of the NC grinder to which the apparatus is applied. [Description of Signs] 1 control clock generation unit 2 feed rate reading unit 3 feed rate adjustment control unit 4 virtual control cycle calculation unit 5 virtual control cycle integration unit 6 data transfer unit 7 interpolated data storage unit 8 actual command position calculation unit 9 X-axis motor control unit 10 Z-axis motor control unit 30 Program storage unit 31 Program analysis unit 32 Function generation unit 33 X-axis acceleration / deceleration means 34 Z-axis acceleration / deceleration means

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/18 - 19/46 B23Q 15/00 - 15/28 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G05B 19/18-19/46 B23Q 15/00-15/28

Claims (1)

(57)【特許請求の範囲】 【請求項1】複数の数値制御軸を有し、制御対象である
前記数値制御軸毎に、該数値制御軸の制御周期毎にある
べき位置を予め記憶しておくと共に、 前記数値制御軸毎に、 前記制御周期毎にあるべき位置に
従って該数値制御軸を制御する数値制御装置において、前記複数の数値制御軸の 速度変更割合を指令するフィー
ドレート指令手段と、 前記フィードレート指令手段により指令された速度変更
割合を前記制御周期に乗算して仮想制御周期を算出する
仮想制御周期算出手段と、 前記仮想制御周期算出手段によって算出された前記仮想
制御周期を積算する仮想制御周期積算手段と、前記数値制御軸毎に、 前記予め記憶しておいた該数値制
御軸の前記制御周期毎にあるべき位置と、前記仮想制御
周期積算手段により積算された仮想制御周期積算時間と
から前記制御周期毎の前記数値制御軸の位置を算出する
実制御位置算出手段と、前記数値制御軸毎に、 前記実制御位置算出手段により算
出された前記数値制御軸の位置に従って、該数値制御軸
を制御する軸制御手段とを具備したことを特徴とする数
値制御装置。
(57) [Claims] [Claim 1] It has a plurality of numerical control axes and is an object to be controlled.
For each of the numerical control axes, the position that should be in each control cycle of the numerical control axis is stored in advance, and for each of the numerical control axes , the numerical control axis is controlled according to the position that should be in each control cycle. In the numerical control device, a feed rate command unit that commands a speed change ratio of the plurality of numerical control axes, and a virtual control period is calculated by multiplying the control period by a speed change ratio commanded by the feed rate command unit. Virtual control cycle calculation means, virtual control cycle integration means for integrating the virtual control cycle calculated by the virtual control cycle calculation means, and the numerical control system stored in advance for each of the numerical control axes.
Actual control position calculating means for calculating the position of the numerical control axis for each control cycle from the position that should be at each control cycle of the control axis and the virtual control cycle integration time integrated by the virtual control cycle integrating means; Axis control means for controlling the numerical control axis in accordance with the position of the numerical control axis calculated by the actual control position calculating means for each of the numerical control axes .
JP27063795A 1995-09-26 1995-09-26 Numerical control unit Expired - Fee Related JP3394121B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27063795A JP3394121B2 (en) 1995-09-26 1995-09-26 Numerical control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27063795A JP3394121B2 (en) 1995-09-26 1995-09-26 Numerical control unit

Publications (2)

Publication Number Publication Date
JPH0991024A JPH0991024A (en) 1997-04-04
JP3394121B2 true JP3394121B2 (en) 2003-04-07

Family

ID=17488870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27063795A Expired - Fee Related JP3394121B2 (en) 1995-09-26 1995-09-26 Numerical control unit

Country Status (1)

Country Link
JP (1) JP3394121B2 (en)

Also Published As

Publication number Publication date
JPH0991024A (en) 1997-04-04

Similar Documents

Publication Publication Date Title
EP0187864B1 (en) Acceleration/deceleration control system
US5895181A (en) Dynamic error correcting system in a numerically controlled machine tool
US5492440A (en) Apparatus for movement of an object
US7274165B2 (en) Numerical controller
JPH03260708A (en) Position error correcting method
EP0268887B1 (en) Numerical control feed device for machine tool
KR20010108037A (en) Numerical control device
Koren Design of computer control for manufacturing systems
US5986422A (en) Control mode changing over method for servo control system
JP3301494B2 (en) Method of operating numerically controlled machine tool and machine tool for implementing the method
JP3394121B2 (en) Numerical control unit
CN111123844B (en) numerical control system
JPH0815702B2 (en) Method for correcting thermal displacement of ball screw in NC machine tool
KR970002259B1 (en) Method for controlling servomotor
JPH01193146A (en) Numerically controlled machine
JP2826391B2 (en) Backlash acceleration control method
JPH07110714A (en) Method for controlling position, speed, and torque by plural motors
WO1988006752A1 (en) Numerical control method capable of variably setting positioning precision
EP0625739B1 (en) Apparatus for movement of an object
EP0200788A1 (en) Method of returning rotary shaft to reference point
JP3023648B2 (en) Position control device
JPS6232804B2 (en)
JP2566276B2 (en) Automatic allowable speed calculation NC device
JP2001154719A (en) Method for interpolating free curve
JP3219115B2 (en) Block data processing method for numerical controller

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees