6
32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator for a Computer Numerical Control System YOHAM KOHEN Abstract-A software interpolator which is comprised of linear and circular interpolations is compared with its hardware counterpart and with other circular interpolation methods. The software inter- polator and the feed-rate control are contained in the numerical control (NC) program of a computer numerical control (CNC) system and enable a contouring control of the machine tool in any required feed-rate. Index Terms-Adaptive control (AC), analog-to-digital processor (ADP), computer numerical control (CNC), digital differential analyzer (DDA), numerical control (NC), point-to-point (PTP), time base generator (TBG ). INTRODUCTION THE comp ut er numerical control (CNC) co ncept <'Ill- ploys a digital com puter, usually a minicomputer, for on-line control of the nunwrical co ntrol rna<·hinc tool and eliminating, as far as possibh·, add itional hard- ware circuits in the controller cabinet. Th e change from the use of a controller unit to CNC may b<• n•garded as the most importa nt advance in the philosophy of the dPsign of NC systems that oc<"urred during the first years of tlw seventies. The development of CNC systems has ad- Manuscript received Jun e 15, 1974; revised December 15 1974. The author is with the Engineering Experiment Station 'univer- sity of Wisconsin-Madison, Madison, WI 53706. ' vanccd as a n•sult of t lw rapidly improving c·apabilities and falling pric<'H of small computers, which makP it sud- denly attractive to U foie standard eomp ut ers as part of the systpms. Therd'on•. it is l><' eoming increasingly evi- dent that the cost of a CNC unit will be ac tu ally lmn•r th an its equivalent conventional countPrparts. functions of the co nv<•nt ional NC eo nt roll<'r are rPplaced in a CNC system by a eomp ut<•r program ut•noted as the NC program. Nat ur a ll y, the data proeessing, fPed- rate calculations, and tht• intt•rpolating between two data points arc p<•rformed by softwar e, while the contro ll er co nt ains only t he position and v<'locity control loops. A fped-rate control and an interpolator based on a simu- lation of digital differential analyz er ( DDA ) int<•grators arc discussed in this papt•r. Although the principles of a hardware DDA integrator an• \n·ll knmm [1]- [:n , they arc at the outset since \YC found it tlw simpk.'t way to represent the no tat ions used in t hi s paper. Th e interpolator is capable of ii1war and circular interpolation in accordance with in Ht ru ctions from the data tap<' . The hardware circuit is comp arcd wi th its soft,m re co unt<•r- part. The l atter is a part of a CKC systcm for a milling maehi1w whieh \\·as developed at Uni- V<'rsity, Hamilton, Ont., Canada . The blo<"k diagram of the system is shown in Fig. 1. It includes fiv e major component s: a milling machim•, a

Interpolator for a Computer Numerical Control Systemykoren/uploads/Interpolator_for_a_Compute… · 32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator

  • Upload
    domien

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Interpolator for a Computer Numerical Control Systemykoren/uploads/Interpolator_for_a_Compute… · 32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator

32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976

Interpolator for a Computer Numerical Control System

YOHAM KOHEN

Abstract-A software interpolator which is comprised of linear and circular interpolations is compared with its hardware counterpart and with other circular interpolation methods. The software inter­polator and the feed-rate control are contained in the numerical control (NC) program of a computer numerical control (CNC) system and enable a contouring control of the machine tool in any required feed-rate.

Index Terms-Adaptive control (AC), analog-to-digital processor (ADP), computer numerical control (CNC), digital differential analyzer (DDA), numerical control (NC), point-to-point (PTP), time base generator (TBG ).

INTRODUCTION

THE computer numerical control (CNC) concept <'Ill-ploys a digital computer, usually a minicomputer, for

on-line control of t he nunwrical control (~C) rna<·hinc tool and eliminating, as far as possibh·, additional hard­ware circuits in t he controller cabinet. The change from the use of a controller unit to CNC may b<• n•garded as t he most important advance in the philosophy of the dPsign of NC systems that oc<"urred during the first years of tlw seventies. The development of CNC systems has ad-

Manuscript received June 15, 1974; revised December 15 1974. The author is with the Engineering Experiment Station 'univer-

sity of Wisconsin-Madison, Madison, WI 53706. '

vanccd as a n•sult of t lw rapidly improving c·apabilities and falling pric<'H of small computers, which makP it sud­denly attractive to Ufoie standard eomputers as part of the ~C systpms. Therd'on•. it is l><'eoming increasingly evi­dent t hat the cost of a CNC unit will be actually lmn•r than its equivalent conventional ~C countPrparts.

~Iany functions of the conv<•ntional NC eont roll<'r are rPplaced in a CNC system by a eomput<•r program ut•noted as the NC program. Naturally, t he data proeessing, fPed­rate calculations, and tht• intt•rpolating between two data points arc p<•rformed by software, while the controller contains only t he position and v<'locity control loops.

A fped-rate control and an interpolator based on a simu­lation of digital differential analyzer (DDA) int<•grators arc discussed in this papt•r. Although the principles of a hardware DDA integrator an• \n·ll knmm [1]- [:n, they arc ~mmmarized at the outset since \YC found it tlw simpk.'t way to represent t he notations used in t his paper. The interpolator is capable of ii1war and circular interpolat ion in accordance with inHtructions from the data tap<' . The hardware circuit is comparcd with its soft,m re count<•r­part. The latter is a part of a CKC systcm for a :~-axis

milling maehi1w whieh \\·as developed at ~lc.!\ J a:;tcr Uni­V<'rsity, Hamilton, Ont., Canada.

The blo<"k diagram of the system is shown in Fig. 1. It includes five major components: a milling machim•, a

Page 2: Interpolator for a Computer Numerical Control Systemykoren/uploads/Interpolator_for_a_Compute… · 32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator

KOREN: INTERPOLATOR FOR CNC SYSTEM 33

Interrupts MINI - COMPUTERw c T

circuitsCforthe3axes-of-eotions of the millingmac .ROUTINE

The copue hade tw prgasDCadaatv-LNA CIRCULATR||

control (A) p . OLATI lFig. 1. Block diagram of the system.o a u

minicomputer (HTh2100A), a dataprost essing systemputr[analog-to-digital processor(ADi )i , a time basegsp n- TELECT INTERPOLATORerator (TBG), and a cointropler ,hichcoutains 3 controlncircuits for the 3 axes-of-maotionfof the niilling machine.The computer handles two prograftlos:NC and adaptive- 2 c otE Is RCisae

control (AC) programs.t r sThe AC program accepts the sensor outputs and uses

them tocaxculate a feed-rate eorrectionc mhinh is supplied bytUTPUT ROUTINE

to the NC program. The interrupt systes of thecvmputer NOv / \takes care of the simultaneous running of both programis. i at o uTIONtoThe geyleral structure of theS C prograin is shola.in d

Fig. 2. Theprograet a ontains five subroutines: point-to- ( + - q (3point (eITI), feed, interpolator, output, andproutinetsThe NC prograsi uses ant additiof approprtutide axis isrequ

decremented by one unit. The counters.areFlwchartcontainedproinam

the initiator routine. The inaii function of the iicutitiatorroutine is the loading of a ontewdata rlok to the neansrythatithesmachiningofe te currcntsuseenths2) The content of the y register is added to that of r and

loatid), the c leNprogramjmpt thc uinitito routieein rderthe=lattder(5

The feed routinegab nerates interpolationcoa. nands in arate dependent on the feed wword (Sf) iqathcadata block. ri+l =dth + Yi+.q (2)The maximum Drate of interpolation ioneysuands is inqual solving differential is bya hDto the frequency of the interrupt pulses. Ilor every iiiter- ihntegratr at

qthe output o puls isappiedbtheitnso r e

polation. command wthich is produced b)y the, feed roultine, a ducegrtoby th upt/aadtecnetso r esingleAhyal heD igDDA istsicnulated in thw iriterpolator. sup.If as the result of a DDA cycle anDoverfla pulse is gen- W i+l = (ri + yi+A)- q E (3)eratei l eitser in one orta o axes, the output routine seNds Co ro la coifimand pulse to thes controller. For every commanld Th ruccyt oteovflw lssisgenbtepulse, the position counter of the appropriate axis is equatqondecreimented by onte unit. The couters are contained in dz ythueposition routiine. A zedtoposition check of both lounters tcuz= c = r t . (4)is performed. WhepI botu counters are zero (wauhilhmtaw ae wthat the machining of the curreAit segment has te.rmin- Thus,ated), the programjumt ps to the initiator routictoin order furhe diuo th tw c o ato load a niew bloek anid process itS data.

where S =wd q and called.the seale fae-tor. Equation(cornDDA INTEorGRATOR is very useful in solving differential equationsF by a DDA

A hardware DDA integr-ator consists of twro re gisters of setup.equal length, usually- designiatedl y and r, aiid a srliall addi- HAJIDWAIIE INTER1l'OLA.TOR AND FEED-RATEtional register designated Ay. Usually, Ay is a 1I-bit register CONTROTL

Page 3: Interpolator for a Computer Numerical Control Systemykoren/uploads/Interpolator_for_a_Compute… · 32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator

34 IEEE TRANSACTIONS ON COMPUJTERS, JANUARY 1976

Circular Linear cutting path and

r~-~ = > L = (a2 + b2)"12 (10)dI:}X axis

Comparing (9a) and (9b) with (5), we see that the

13 rL--wz It bY 1_ _ J number a must be fed as the initial condition to the yregister of integrator 1, and the number b to that of in-

I d y axis tegrator 2. In this case (V/L) serves as the scale factorj I , I > S, which yields from (S)

L_- : ufwvo V

f __ J- (11)qqo L

Fig. 3. Hardware interpolator and feed-rate control.The condition prescribed by (11) inust be fulfilled in order

y register is fed by the number f, which is the feed-rate to control the tool in the required feed-rate.In circular interpolation, the y register of integrator 2nuimber, such that is fed intiallv writh the number j (j = R sin. cot) and its

= Sof = fwo/qo, (6) output is connected to the X axis, while integrator 1 is

tvo (supplied to (dt) o in Fig. 3) being a fixed external clock fed initially with the number i (i =t cos ct) and its(whlich is replaced by a source of interrupt pulses in the output in turn is connected to the Y axis. The content

ft sin cot of the y register of integrator 21iS updated through-software interpolator). wz, is fed as clock pulses to inte- .otthe.ircuaroeratintby a incremethoygrators 1 and 2 thereby enabling the motor speeds to becontrolled, at the desired ratio, by fin both types of inter- d(R sin co) obtained from the output of integrator 1,

' 7 ' ' . AN'~~~~~~~hichiS supplied slimultaneously also the Y axis. Simillarly,polatioin. That means that the scale factor S of integrators theouputiof intgator2-( co t), isconnectedlto1 and 2 is ~~~~~~~~~~theoutput of integrator 2, -d (R COS cd)t) iS connected to

-Ay of integrator 2 for updating the R cos t value in itsS = w,/q. (7) y register, and at the same time it is coninected to the X

axis as -"Tll.Substituting of (6) into (7) yields a a wlFor generating a circular arc, the following conditions

8 = fto/qqo. (8) must be fulfilled:

Notice that it is not necessary that the maximum content Ag2 = c(R sin cot) = R cos cot dt = V, dt Az, (12a)of the interpolator registers (q) be equal to that of the -Ay - d (f cos ct) ft sin ct dt = V, dt AZ2.registers of the feed-rate DDA (qo).The interpolator generates simultaneously two feed-rate (12b)

commands V,, and V,, wvhich are supplied to two axes ofcommands V-and V., which are supplied to. two axes of In this case, the angular velocity o is the scale factor S,the milling machine. The feed-rate command is measured . . "u

in pulses per second. The respective position commandsw mu 8will be denoted as -q, and qy, ineasured in pulses. Notice co = fi0o/qqo (13)that (after linearization)r The feed-rate numberf must be programmed in such a way

Vx - ix and V, = n^, as to fulfill the condition given in (13).

In NC systems, the required distances are represenited FEED-RATE INSTRUCTIONon the data tape in basic length units (BLU's). One BLU The feed-rate number f in NC systems which use hard-in the described system is 0.0001 in. The overflow pulses

ware interpolators is calculated by the "inverse timefrom the Az outputs are fed directlv to the control loops, mdI method." This niethod provide,s the svstem with a codeserving as cornmands to the motors. w i t r o i

Each output pulse from the interpolat-or will cause a Thecf in liearmoiponcalculatedoby thmefrmiulmotion of one BLU in the appropriate direction. Thisenables a discussion about distances in termns of pulses. A f = lOVo/l, (14)detailed explanation of a hardw-are interpolator is given win [4]-[6]. However, a short explanation and the principal e VO is the velocity along th( path-of-motion measuredequations are presented below, in inches per rninutteand I S the incremental length of the

F'or linear milling wsith paths a and b along the X anld tool-path me(asured inl inches, thle formula forf in a circularY axis, respectively, wse have cutting moti(:)n is

Az, = dij = V ,dl = (V/L)a dt (9a) f= 10V0 v. (15-)

Az, = =/1J Vy dt = (V/L)b dt, (9b) V0) is measured inl inc(hes pewr mainute, and r, the+ radius ofthe arc, i>s in inches.

where V is the required feed-rate (velocity) along the B3y converting the distance aind time- units, (14) and

Page 4: Interpolator for a Computer Numerical Control Systemykoren/uploads/Interpolator_for_a_Compute… · 32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator

KOREN: INTERPOLATOR FOR CNC SYSTEM 35

(15) can be rewritten as follows: I = + I| rI = +

For linear motion f = 600V/L, (16) OUT AI rO qo- A rl- ql

For circular motion f = 600V/R, (17) Y >0? N>0 DA

where V is in pulses per second and L or R in pulses. Sub- Aro Ar A

stituting f from (16) into (11) yields (a) LPULSE Y

wo = qqo/600. (18) 2=

Bearing in minid that V = WR, the same result is ob-tained by substituting f from (17) into (13), i.e., for the 'Iriy;I+ r, r.- Y21+ r2circular interpolator. ANO A' -

No

Notice that qo is measured in the same units as f, which v > DDA I NO > DDA 2are E1/mmii] in the discussion of this section, and that q is YES YESmeasured in pulses. The clock frequency obtained from 2rA r2:A2(18) is measured in pulses per second. Pulse X7 Pulse XAccording to the Electronic Industries Association

(EIA) standards [7], f is given by a four-digit number, DDA 2 for Y

thus the mffinimum value of qo is 10 000. Let us assume (c)that the maximumn incremental motion (and the Tnaximumradius) is limited to 12 in and that one BLU is 0.0001 in. Fig. 4. Flowcharts of the (a) feed-rate calculator, (b) linear inter-For these data, the frequency of the external clock is 2 polator, (c) circular interpolator.

MHz. The clock frequency can reach much higher fre-quencies when using a serial DDA instead of the parallel be fulfilled:type which was discussed so far. fwvo L\

V = - (19)SOFTWARE INTERl'OLATOR qo q/

For a circular motion, L in (19) is replaced by the arcThe interpolator in a CNC system is a softwiare one.

The software interpolator is a computer programn whicbsimulates a single cyclofthehaThe efficiency of the hardware interpolator, which issiniulates a single cycle of the lardNNIare interpolator andthe feed-rate control. The external clock w0 is replaced given by the ratio (L/q), might be very low. L/q repre-

sents the ratio betwseen the actual distance of motion (L)by a source of interrupt pulses which are supplied to thesand the maximum allowable one (q). An incrementalcomputer. This enables the computer to run simlultayne-

an th maiu. aloal n q. Ai nrmna

computer.bthi theNCab the Co progrn simultane- otion of a relatively small distance with a high feed-rateouslyonbth the Nn the AC program . Normal prescribes the requirement of the high frequency wo.

the computer runs on the AC program, but whenever an Hee, the frequen an be decreased by increasinginterrupt occurs the computer starts to execute the NC the efficiency of the interpolator. In computer software,

this can be easily done by using a variable q rather than acontrol returns to the AC program and continues to per- fixed one as in a hardware interpolator, thus increasingform it from the point of interruption. the efficiene to 1.

Fig. 4 shows the flowcharts of the feed calculator, the Ylinear interpolator, and the circular interpolator. Simpler Te v f at bcDDA's with Ay = 0 are used in the simulation of the feed gcalculator and the linear interpolator, wrhile full software For linear motion q = L.DDA's are used for the circular interpolator. Notice thatq and qo represent in a hardware DDA the maximum con-tent of the registers of the interpolator and the feed cal- L is given in (10) while R = (i2 + j2) 1/2. The initial valuesculator, respectively. of i and j are known since they are used as the initialA simple calculation in the previous section had proved conditions for the y registers of the interpolator. By using

that the frequency of the external clock in the hardware the variable q, (11), (13), and (19) reduce tointerpolator is in the range of megahertz. Howe(ver, since V= wloJ/o. (20)the cycle time of a mninicomputer iS about 1 ,us (and anexecution time of one inlstruction is 2 ,us), it is impoSssible Since wo is a constant, the termn f/qo represents the ratioto use such a high frequency for the interrupt pulses. This between the required feed-rate and the maximum allowv-leads to another definition for q, and therefore the soft- able one. But as this ratio is equal to V/wo, the clock fre-ware interpolator is slightly different from a direct simula- quency mu0 is the maximum allowable velocity measuredtion of a hardware one. in pulses per second. B3y this method, much lower clock

In order to obtain the required feed-rate V in linear frequencies are obtained. In the described .systemn, a maxi-motion, the condition which was prescribed by (11) must mum feed-rate of 30 in/mmn and a BLU of 0.0001 in were

Page 5: Interpolator for a Computer Numerical Control Systemykoren/uploads/Interpolator_for_a_Compute… · 32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator

36 IEEE TRANSACTIONS ON COMPUTERS, JANUARY 1976

chosen. For these data, the frequency of the interrupt in [11] as an example to trapezoidal integration, and inpulses is 5000 pps. Such a frequency allows time intervals [12]. The precalculation of A and B is relatively sinmple,of 200 ,us for the execution of the NTC program. In fact, the and if T is sufficiently small this approximation providesmaximum execution time of the NC program is 170 ,us accurate results. It can be shown that the radius trunca-(2 Ms/instruction) which always permits enough time for tion error resulting in this case decreases linearly with T4the execution of the AC program. [9], [12].

Another advantage of a software interpolator which A similar method is the Tustin method [8] which yieldsuses q = L or q = R (depending on the interpolation the same equations as (24) but with the following defini-type) is in calculating the feed-rate number f. Instead of tions for A and B:using the inverse time mnethod, the feed-rate number isprogrammed directly in inches per minute and multiplied A = - (wT/2)2 B T 25)by a constant depending on the required resolution. In the 1 + (wT/2)2 1 + (coT '/2)2described system, a resolution of 0.01 in/rnin- was chosen, The truncation error is of the same order of magnitudeand since the maximum feed-rate is 30 in/min the value as in the previous one, but since the constants A and B areof qo is 3000 and f is calculated according to the formula more complicated, the round-off error can be slightly

f = lOOVo, (21) greater.A more accurate result can be achieved by using the

where Vo is the required feed-rate in inches per minute. Runge-Kutame Aesoltion usingbthis methodgfor* Runge-K(utta mnethod. A solution using this method forCOM'IPARISON WITH OTHER M\1ETHODS our case can be found in [8] and [9]. The truncation error

in this case decreases with T6. The Runge-Kutta methodThe circular interpolator wshich was presented applies a requires an enormous number of calculations and there-

method of solving a second-order differential equation by fore an eonirds an on c ont method.fore cannot be consid'ered as an on-line control method.converting it to a set of two difference equations. It might The approach presented in [4]-[6] using hardwarebe interesting to compare the proposed algorithm with DDA's is equivalent, to using Euler's method. Euler'sother known methods from the literature. Two errors method as applied to the given problem is discussed inmight appear in any solution: the truncation error which [8]-[10]. The differential equations are given in (12);can be determined analytically, and the round-off error the corresponding difference equations are as in (24) withwhich has a nonlinear effect on the solution. When dealing the following definitions for A and B:with difference equations, it is convenient to signify thetime interval (or step size) by T rather than dt. The radius A = 1 B = coT. (26)of the circle is assumed to be one in the following discussion. The Euler method yields a truncation error which de-An algorithm which is not affected by truncation error creases linearly with a decrease of T [9].

is the state-transition method [8]. In this method, the dif- Now leanlyzeith easof ieo rppsn ~~Now let us analyze the software interpolator proposalference equations to be solved are in this paper. Considerinig the flowchart in Fig. 4, one seesCos co((n + 1) T = cos coT cos conT - sin cT sin conT that for calculating the sine in the nth step the new value

of the cosine is used, which meanssin co(n + 1) T = cos coT sin conT + sin coT cos cnT.

cos w(n + 1) T = coswnT -coT sin cnT(22)

sin co((n + 1) T = sin conT + coT cos co(n + 1)TSince the initial conditions are known, (22) generates thesequence of points which approximate a circle. Notice that = (1- co2T2) sin conT + coT cos cnT.the values of cos cT and sin wT must be precalculated for (27)each co by a Taylor's series expansion. The accuracy of thesolution depends upon the accuracy to which the series Thus, anotable improvement overthehardware methodexpansion was computed. is achieved. The approximation of cos 0T is not 1 as for

Consider a case in which the following expansion is the hardwNvare interpolator but is 1 in the first equation andtaken: (1 -co2T2) in the second equation, with an average of

1 -w2T2 2 as in (23). Thus the radius truncation errorcos uT = 1 - (coT)2 2 = A decreased w-ith T4 rather than with T2 as for the hardwaresin co = XoT =B. (23) DA

To summarize the discussion up to this point, four typesEquation (22) becomes of mlethods. have been presented.

1) Euler method, wrhich is a first-order approximationCOS co(n + 1) T = A cos conT1- B sin on>T mnethod and is used in hardw-are DDA's.

sin co(n -+ 1 ) T = A sin conT + B cos conT. (24) 2) Second-order approximation methods, wthich includet.he Tustin met.hod, the Adams or Heun method, and the

Equation (24) was analyzed in [9] as an example of proposed softwsare interpolator mzethod. All produce trun-Heun's method, in [10] as an example of Adam's method, cation errors of the same order of magnitude.

Page 6: Interpolator for a Computer Numerical Control Systemykoren/uploads/Interpolator_for_a_Compute… · 32 IEEE TRANSACTIONS ON COMPUTERS, VOL. C-25, NO. 1, JANUARY 1976 Interpolator

KOREN: INTERPOLATOR FOR CNC SYSTEM 37

TABLE I using the other methods constants such as (23) or (25)NUMERICAL RESULTS OF FOUR METHODS AT HALF PERIOD OF

A CIRCLE must be accurately computed.The main disadvantage of the method is the limitation

T Runge- State- of the maximum feed-rate. In the described system, the(seconds) Euler Tustin Kutta Transition maximum feed-rate is 30 in/min, which is enough for1 _ 9460 9795 10000 metal-cutting applications. However, if a higher feed-rate0.1 - 9996 10000 10000 is required, a method wvhich permits a larger step size0.01 10160 10000 10000 100000.001 10020 10000 10000 10000 [like the one prescribed by (24)1 must be chosen.0.0001 10000 9997 9998 99960.00001 9982 9963 9982 9945 REFERENCES

[1] F. V. Mayorov, Electronic Digital Integrating Computers-Digital Differential Analyzers. London, England: Iliffe Books,

3) Runge--Kutta method. 1964.4) State-transition method. [2] T. R. Sizer, The Digital Differential Analyzer. London, Eng-4) State-transltlon metnoa.land: Chapman and Hall, 1968.The four methods were numerically compared in [8]. [3] G. A. Korn and T. Korn, Electronic Analog and Hybrid Corn-

The actual radii obtained at the half period of a circle puters. New York: McGraw-Hill, 1964, ch. 11.The ctua raiiotaied a th hal perod f a irce [4 G.G. Ertell, Numerical Control. New York: Wiley-Inter-wvith radius R = 10 000 and w = 1 rad/s are given in science, 1969.

[5] Y. Koren, A. Shani, and J. Ben Uri, "Numerical control of aTable I. lathe," IEEE Trans. Ind. Gen. Appl., vol. IGA-6, pp. 175-

For large values of T, the truncation error is large in the 179, Mar. 1970.methods* truncatin* [6] Y. Koren and J. Ben Uri, "Digital control of multiaxial-motionEuler, Tustin, and Runge-Kutta methods; truncation system," in 5th Int. Fed. Automat. Contr. World Congr., Paper

error is 0 in the state transition method. On the other 375, Paris, June 12-17, 1972.hand, when T is too small the round-off error becomes the and[7] Interchangeable Perforated Tape Variable Block Format for Con-hand Nvhn Tsto smll te rond-of eror ecoies te turing and Contouring/Positioning NC Machine Tools, Elec-significant factor in the accuracy of the solution. For T = tron. Industries Ass., May 1967.0.0001, the results indicate no error for the E:uler method Contl[5J. A. Cadzow and H. R. Martens, Discrete-Time and Computer0.000, th resutsidicae no rrorfor he Euer mthod Control Systems. Englewood Cliffs, N. J.: Prentice-Hall, 1970,vhile the other three methods are beginning to show the [ p. 376-394.

effects of round-off.] E. G. Gilbert "Dynamic error analysis of digital and combinedeffectsof round-off. analog digitaf computer systems," Simulation, vol. 6, pp. 241-In a DDA interpolator, the number of pulses required 257, Apr. 1966.

10 R. B. McGhee and R. N. Nilsen, "The extended resolutionto comiiplete a half-circle is irR, supplied during 7r/(.o seconds. digital differential analyzer: A new computing structure forThus, the step size is 1/.cR, or 0.0001 s for the above solving differential equations," IEEE Trans. Comput., vol.numerical example. It is interesting that in this particular I19]p. E.D1anilsson, "Incremental curve generation," IEEE Trans.example, when using the hardware interpolator, T is auto- Comput., vol. C-19, pp. 783-793, Sept. 1970.matically chosen to be at its .

v that the [12] C. Bergren, "A simple algorithm for circular interpolation."matlallchsen o b atltsoptimal value sota h Control Eng., vol. 18, pp. 57-5'3, Sept. 1971.total error due to both round-off and truncation is min-imized. The software interpolator was checked for thesame data and a step size of 0.0001 s. The actual radius pro-duced at half period of a circle was 10 001 BLU's, wvhichmeans an error of 1 unit due to round-off. Yoram Koren received the B.Sc., M.Sc.

CONCLUSIONS and D.Sc. degrees, all in electrical engineering,from the Technion-Israel Institute of Tech-

A software interpolator which uses the DDA technique nology, Haifa, Israel, in 1965, 1968 andwvas presented and compared with its hardware counter- In1971, respectively.part on the one hand and with other softwvare methods on gineer by Elbit Control Inc., Haifa. Duringthe other hand. In NC applications, the higher order 1971 through 1973, he was a Lecturer at the

Technion and at the B.G. University ofmethods will not improve the result since the round-off Beer-Sheva. He later joined the Metal-error dominates truncation error at small step sizes and Working IResearch Group of McMasterits influence increases with the complexity of the method. A University, Hamilton, Ont., Canada, where he conducted the devel-further advantage of the software DDA interpolator is that °Inpml97n4opment of the computer numerical control milling machine project.afprtheralculanta of thecsonstwantseis DDA interpolaore, is In1vh974, he joined the Staff of the Engineering Experiment Station,a precalculation of constants is not required, while when University of Wisconsin-Madison, Madison.