Machine tool control system and method
United States Patent 1191 Slawson 1 Apr. s, 1975 1 1 MACHINE TOOL CONTROL SYSTEM AND METHOD {75] Inventor: Kenneth Leonard Slawson. Depew. N.Y. [731 Assignee: Haudaillelndustrles. Ines, Buffalo.  
 [22] Filed: Dec. 20. 1973 211 Appl. No.: 426.591  
  Related US. Application Data 162] Division at Ser. No. 150.637, June 7. 1971 Pat. No.  
  311116.723. which is a division of Scr. No. 811L131. June 6. 1969. Pat. No. 3.629560.  
 [52] U.S.Cl. 235/l5l.11:318/561;318/571 [51] Int. Cl. G06b 15/46; GOSb 19/28 [58] Field 01 Search 235/l51.l1; 318/561, 570. 318/571. 573. 574, 568, 601, 591. 603;  
 [56] References Cited UNITED STATES PATENTS 3.344.260 9/1967 Lukens 318/571 X (use;  
 Ml1 M10 rem Fredriksen 318/561 3.486.012 12/1969 Burnett et a1 235/l$1.11 1617.715 11/1971 Dummermuth 318/571 3.727.191 4/1973 McGee 235/151.ll 3.748.563 7/1973 Pomella et a1.. 318/571 X Primary Bummer-Joseph F. Ruggiero Attorney. Agent, or Firm-Hill. Gross. Simpson. Van Santcn. Steadman. Chiara &amp; Simpson [57] ABSTRACT A machine tool control method wherein a supervising computer is operated to observe acceleration and deceleration characteristics of the particular control system and then to compute optimum deceleration points with respect to subsequent commands to the system on the basis of the observed characteristics and to initiate deceleration of the system at the optimum points in executing the successive commands to the system.  
 16 Claims, 15 Drawing Figures CWl/EE I If CM) 1067C V w I x ii ria w j IT I c M MA QT/9W5 PATENTEUAPR ems smear? FATENTEBAPR ems 87G saw 5 or 7 Fig 101) rear owe/46: 37025 PI&#39;JENTEUAPR 8W5 v V 3 75.573;  
 &#39; 211m B or 1 aware/err K123 zwggrem MACHINE TOOL CONTROL SYSTEM AND METHOD CROSS REFERENCES TO RELATED APPLICATIONS The present application is a division of my pending application Ser. No. l50,637 filed June 7, I971, now U.S. Pat. No. 3,8l6,723. Saidapplication Ser. No.  
  l50,637 refers under 35 USC I20 to my earlier applifiled July 12, I967 (now abandoned) and Ser. No.  
 744.392 lfiled July l2. I968, (now U.S. Pat. No. 3,634,662 issued Jan. ll, I972) and the disclosures of each of these applications is hereby reference in its entirety.  
 SUMMARY OF THE INVENTION The present invention relates to a control system and method capable of determining its own individual characteristics such as acceleration and deceleration times and distances under given conditions and capable of I automatically utilizing such observed characteristics in the optimum execution of subsequent commands to the system.  
  The invention also relates to methods and apparatus for deriving acceleration and/or deceleration characteristics for a given control system for subsequent use in adjusting the operation of the control system in response to successive commands.  
  It is an object of the present invention to provide a control system capable of providing more nearly opti mum operation in executing a series of commands.  
  It is another object of the invention to provide a control system which may be adapted to the particular characteristics of a given load with which it is associated.  
  Another object of the invention is to provide a control system which may readily be retuned from time to time so as to maintain more nearly optimum operating conditions during the life of the system.  
 Still another and further object of the present invention is to provide a control system capable of automatically determining its own current operating characteristics at&#39;desired intervals and for thereafter taking into account any changes in such operating characteristics in executing future commands to the system.  
 A more specific object of the present invention is to scription of a preferred embodiment thereof. taken in conjunction with the accompanying drawings, although I variations and modifications may be effected without departing from the spirit and scope of the novel concepts of the disclosure.  
 BRIEF DESCRIPTION OF THE DRAWINGS FIG. I is a schematic diagram illustrating a portion of a control system in accordance with the present invention;  
  FIG. 2 is a schematic diagram illustrating another portion of a control system in accordance with the present invention;  
  FIG. 3 is a schematic diagram illustrating still a further portion of a control system in accordance with the present invention;  
  FIG. 4 is a graphical illustration of the response of the control system for the case of a relatively long move;  
  FIG. 5 is a graphical representation of the response of the control system for the case of a relatively short move;  
  FIG. 6 is graphical representation of the operating characteristic of a typical numerical control system for a 2.000 inch move;  
  FIG. 7 is a graphical illustration of the response characteristics of the numerical control system for a 4.000 inch move; I  
  FIG. 8 is a graphical illustration showing the improved results obtained with the control system of the present invention;  
  FIG. 9 consisting of FIGS. 90. 9b and 9c is a flow diagram illustrating the determination of acceleration and decelereation characteristics for the control system; and  
  FIG. 10 consisting of FIGS. 10a, 10b and 100 and FIG. 11 consisting of FIGS. Ila and Ila are flow diagrams showing exemplary control logic for determining a more nearly optinum deceleration point in executing successive commands to the system. i  
 DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 illustrates a portion of a control system in accordance with the present invention. By way of example, the system may be utilized to control successive punching operations on a punch press such as disclosed in my pending applications Ser. No. 653,968 and Ser.  
 I No. 744,392. A specific transducer direction and rate sensing circuit corresponding to component 10 of FIG. I is illustrated in the fourth Figure of said copending applications, and the overall control system is illustrated in the sixth Figure of such copending applications. During a positioning operation of such a control system, motion along the X-axis, for example results in a series of motion pulses at the output of pulse amplifier 11 or pulse amplifier 12, depending on the direction of such motion. As illustrated in detail in the copending applications, the outputs of the pulse amplifiers I1 and 12 are supplied to positioning control logic as represented by component 14 in FIG. 1. The positioning control logic 14 includes a bidirectional counter (indicated at 30 in FIG. 3) whose initial count is set by means of a computer as illustrated in the copending applications. With the present embodiment.  
 however, the counter is loaded with a binary number equal to the commanded distance of movement along the axis, S less an optimum deceleration distance 5, The positioning control logic 14 is utilized to emit a signal at output line 15 when the distance 8 traversed by the load with respect to the given axis is equal to the total commanded distance 8 minus the optimum deceleration distance S desired direction.  
 Referring to FIG. 3 of the present application, the illustrated control system has provision for a command ment in the positive direction (from punched tape for I example), the input BAG 1 from the computer may be at a logical one level, while for a negative displacement command the computer may place the line BAC at the logical one level. Thereafter, the computer selects components 20, FIG. 3, so as to set flip-fiop 21 for a I positive command or flip-flop 22 for a negative command. For a positive command, driver 23 is activated from the set output of fiip-l&#39;lop 21, while for a negative associated axis components at a maximum rate in the When the computer receives the deceleration point signalvia line 15, FIG. I, the computer actuates the clear selector component 27, FIG. 3, so as to transmit a clear signal to the flip-flops 21 and 22 removing the previous energizing input to the servo amplifier 25.  
  from pulse amplifier 11 or 12 (via line 28 or 29, FIGS.  
 1 and 3) so that now the counter 30 will count down 1 toward zero as the load approaches the commanded end position. If the load should overshoot slightly, counter 30 will begin counting up with opposite polarity in the same way as described for the reversible counter of the prior applications.  
  Since the prior applications have disclosed in detail a reversible binary counter such as counter 30 with a substantial number of stages including a plurality of input stages such as stages 33 and 34 in FIG. 3, and a sign representing stage such as stage 35, the representation olthe counter 30 in FIG. 3 will be sufficient. It will be understood from the prior applications that the counter 30 is actuated by the count pulse output from amplifier 11 or 12, FIG. 1, via conductor 28 and 29 and transducer logic 36, FIG. 3, and will progressively count down as the load approaches the commanded I position. The counter 30 provides a linear analog output from converter 31 over a range of positive and negative error counts in the vicinity of zero, and the linear range has a sufficient extent to cover any possible overshoot of the system in either direction of travel. The action of the converter 31 and servo amplifier within the linear error range will correspond to that explained in detail in the copending applications. The same reversible binary counter is preferably utilized both for obtaining the deceleration point signal at line 15 and for providing the control of converter 31 thereafter. The analog signal at the output 37 from the converter 31 thereafter. The analog signal at the output 37 from converter 31 prior to the occurrence of the decelferation point signal is not detrimental since amplifier 25 is saturated at this time. The converter and zero count logic component 38 is utilized to control the digital to analog converter 31 so as to provide a linear output as a funcntion of error count as shown in the fourtheenth and fifteenth Figures of the copending application Ser. No. 744,392. 1  
 Referring to FIG. 3, the computer is considered as controlling load selector components 39 and 40 and clear selector components 41 and 42 so that the counter stages such as 33-35 can be cleared and than have the desired optimum deceleration count inserted therein as determined by the levels applied to the computer output conductors such as indicated at &#39;BAC 0, BAC 10 and BAC 11.  
  The deceleration point signal at line 15 serves to set a deceleration point status flag flip-flop 43, FIG. 3, which controls NOR gates 43a and 43b having output lines 430 and 43d to the Interrupt bus and skip bus of the computer. Also test and clear selector components 43c and 43f are provided to enable the computer to determine that the deceleration point interrupt signal has occurred and to enable the computer to thereafter remove the interrupt signal from the deceleration point status flag flip-flop 43.  
 Referring to FIG. 3, the means for generating the deceleration point signal at line 15 has been indicated.  
 Specifically the output line 44 from component 38 corresponds to the X Zero output line (1445) in the fourteenth Figure of the copending application Ser. No. 744,392. This line 44 supplies a positive going signal when the count in counter 30 equals zero, which signal is inverted by component 45. The resultantnegative going signal at input to NOR gate 46 is transmitted to line 15 providing a control flip-flop I47 has been placed in a set condition during loading of counter 30. The computer will set flip-flop 47 when loading the value S=S S, but will leave the flip-flop 47 reset when loading the value S into the counter.  
 In the illustrated system, which may utilize the digital computer described in detail in the copending applications, it is necessary to determine a desired value of deceleration distance S so as to enable the computer to compute the deceleration point S equals S minus S,- where 8,- represents the total desired distance of movement along the axis under consideration.  
  For the case of a relatively long move as represented in FIG. 4, the operation of the control system may be represented by curve 50. The curve 50 includes an acceleration portion 51 where speed is progressively increasing, a rapid traverse portion 52 where speed is relatively constant and a deceleration portion 53 where speed is decreased to zero. Where a tachometer provides an output of voltage as a function of speed, this output voltage is measured to provide the ordinate in the graphical representation of FIG. 4. From FIG. 4, it will be observed that the load moves a distance 8, as it accelerates from rest to the rapid traverse speed. Similarly, the load moves a distance S D as it decelerates from the rapid traverse speed essentially to the rest condition. The distance the load travels at the rapid traverse speed is represented by the symbol S in FIG. 4, and the total distance travelled is represented by S The voltage from the tachometer while the load is travelling at the rapid traverse speed is indicated by the symbol V, in FIG. 4.  
  The other case of interest is that where the distance to be travelled S is sufficiently short so that the load does not attain the rapid traverse speed. This is represented in FIG. 5 by the curve 55 including an acceleration portion 56 and deceleration portion 57. Where the less than the deceleration distance 8,, of FIG. 4. Thus the computer must determine a distance 8,,- which will be equal to S in the case of a movement where rapid traverse speed is attained as in FIG. 4, and which will be equal to S, in the event that rapid traverse speed is not attained, for example as represented in FIG. 5.  
  In a preferred embodiment in accordance with the present invention, the control system is itself operable to determine its own operating characteristics from which the value 8,, or S, can be computed with reference to each input command to be executed by the control system.  
  For the purpose of enabling the control system to determine the necessary parameters, certain components are included in the system as indicated in FIGS. 1 and 2. Simply by way of example selector switch contacts 60a, 60b (FIG. 1) and 60c (FIG. 2) are shown which are closed manually or under computer control when the control system parameters are to be observed. Re-  
 ferring to FIG. 1, status flag flip-flops 61 and 62 are provided for coupling to the outputs respectively of pulse amplifiers I1 and 12. Thus, status flag 6] will be set by each count pulse produced by a positive increment of movement of the load, and status flag 62 will be set in response to each count pulse representing a negative incrementof movement of the load. NOR  
 gates 63 and 64 are shown coupled to respective outputs of the flip-flops 61 and 62 so as to supply an interrupt signalat output line 65 or 66 for signalling the computer that one of the flip-flops is in the set condition. The computer, then successively tests selector components such as 71 and 72 to determine the cause of the interrupt signal. For example if flag component 61 is in set condition, NAND gate 73 will be enabled, and a &#34;SKIP&#34; signal will be transmitted from selector l7l to output line 74 leadingto the computer. Similarly, if flag component 62 is in set condition, NAND gate 75 is enabled so that the signal from selector component 72 will be transmitted as a SKIP&#34; signal at output line 76. When the computer has determined the cause of the interrupt condition, the computer actuates the corresponding clear selector component 78 or 79 so as to reset or clearthe clag component which was in the set condition.  
  This logical structure of FIG. 1 enables the computer to observe the successive count pulses and to determine the polarity of such pulses during its testing of the control system to determine its operating characteristics.  
  FIG. 2 illustrates circuit components which enable thetiming of certain test operations on the control system. These components may include, for example, an eight kilohertz oscillator component 81, and a clock status flag flip-flop 82. So long as switch contact 600 is closed flip-flop 82 willbe set at intervals for 125 microseconds, causing an interrupt signal to be supplied to the computer via line 84 from NOR component 85. With the status flag component 82 in set condition, NAND gate 87 is enabled so as to transmit a SKIP&#34; signal to output line 88 when the computer activates the associated test selector component 89. When the computer detennines that the clock status flag component 82 is the cause of the interruption, the computer will then activate the associated clear selector component 90 so as to clear the clock status flag component 82. Thus the circuit of FIG. 2 enables the computer to observe and count a series of clock pulses to provide a time base to its observation of the operating characteristics of the control system.  
  Having outlined the general characteristics of a preferred embodiment of the present invention, the background considerations, details of practical mechanization, and operation of the system will now be discussed.  
 DISCUSSION OF THE ILLUSTRATED CONTROL SYSTEM The following criteria were adopted in order to generate the desired control technique: l the control system should be general in nature so that it could apply to any machine tool, (2) the control system should have the ability to adapt to a change of characteristics, and (3) it should be capable of tolerating unlimited controllable overshoot in positioning to a given coordinate. Two primary problems which had to be solved in implementing the new concepts were: I) how to determine the proper point to begin the deceleration, and  
 (2) what procedure should be followed if the desired is to use on-off deceleration control by means of a small I general purpose digital computer, such as described in the copending applications. The benefits realized being that: (I) a digital computer determines the deceleration point, not an arbitrary factory adjustment, (2) the computer may be used to close the control loop, thus saving hardware cost, and (3) numerical programming effort can be significantly reduced by using the computer as a combination calculator and tape preparation facility The digital computer, through the use of previously stored program, can detennine the proper deceleration point by experimentally interrogating the machine tool and measuring the acceleration distance (8,) and deceleration distance (S These experimentally derived values would then be available either for use by the computer or by external hardware to position the machine tool. The advantage of using a computer to accomplish this task is that it can be repeated either periodically or at any time at the discretion of the operator, should machine tool characteristics change because of equipment replacement of load change, or should be control system be applied to other unrelated machine tools.  
  These are two possible conditions to be considered in trying to determine the deceleration boundary:  
 Digital peeition position feedback is available in the a form of discrete pulses from a Trump Ross rotary trans- I ducers connected to the carriage leadscrew. The transducers provide two amplified square wave pulse trains, each being 50 counts per revolution shifted ninety degrees&#39;out of phase. The direction of travel and linear count pulses must be obtained by properly decoding move and the distance required to stop using maximum a deceleration is fairly constant deviations being nonlin- .earities in the machine tool. Therefore. for the case where the desired move (S is t (S il-S the computermerely beginsthe move and waits until the reg lmaining distance is less than or equal to S then at-this M f point the machine tool&#39;is commanded to stop, using maximum deceleration. I l Case2, S L S +S (see FIG. ).,Thesecond case ina I] volves a&#39;condition where the desired move (8,) read p frornpunched tape isfless than the sum of the accelerate ying anddecelerating distances. in this case the deceleration point is dependentf&#39;on the size of the proposed move. Actualgrphical recordings, typified by FIGS. 6 and &#34;I, show the machine&#39;tool&#39;s output response in relaion to condition of Case 2. Because of the dynamics of he sym r acceleration and the deceleration curves 92 and &#39;93., FIG. 6 and 94m 95, FIG. 7, may  
 10 FIG. 1 illustrates two control lines 28 and 29 which I the information presented by the transducers. Decoding Network are used to signal the control system as to the direction and amount of movement in positioning toa given -coordinate. The direction of travel is determined by the ordered sequence in which the pulses from the transducer are observed. A device which will operate as a pulse decoder approximately is designated as type R601 and ,is manufactured by the Ditigal Equipment Corporation. in order to operate, a ground levelmust precede a pulse change to ground by 400 nanoseconds;  
  this&#39;provid&#39;es an idealdecoding network when connected, as shown in the fourth figure of the pending applications. Positive pulses appear at the output of one.  
  beapproxi&#39;rnated byparabolas which are substantially linear near the principal axis. Because of this observal tion an approximation was made whichgreatlysimplifled the&#39;calculation of the deceleration point for variou sizemoves. Theapproxirnation assumes the slope of the acceleration and deceleration curves near the prin- 1 cipal-axis to be linearfBased on this &#39;asumption, the followingresult can derived for the: deceleration dis- I where K, and K, are&#39;the slope l a n the time required for the load to accelerateto rapid traceleration&#39; slopeK, is larger thanlg becasue-of the presenceof output dampingin&#39;the present control sys- R60l amplifier (11, FIG. 1), while negative pulses appear at the output of the other R601 amplifier (12, FIG. I). Since every leading or trailing edge of the transducer output generates a unique pulse, 200 pulses are generated per revolution of the leadscrew, producing on pulse for every one thousandth of an inch of linear travel. Digital Computer A general purpose PDP8/S digital computer, also manufactured by the Digital Equipment Corporation, is specified to be used in the control loop, to 1) sample the actual system in orderto determine the decelera tion, and (2) to actually provide appropriate signals to control point to point positioning. Digital to Analog Converter a The purpose of the digital to analog converter(3l,  
 7 FIG. 3) is to accept discrete digital signals from the verse speed, and rgisfthe required for deceleration essentiallyto a rest condition {tom such speed. The detern, andthis tends toi&#39;niprove over-alliresponse by perining fasterdeceleration when compared to Systems .jwith no outputdam i g Y &#34;The preferred control system has &#34;the&#39; advantage of major components, namely (1) digital transducers, (2) a decoderand pulse generating network.&#34;(3) edigital computer. (4) digital to analog converters, (5 ),a servo fiamplifier, and (6) a-DC drive motor. a a (The specific components employed in the system are described as follows (with reference numerals in parenthesis referring to the presc-ntdrawings where app p iate) Digital Transducers being used not only to determine acceleration; and a a celeration characteristics but alsoto position the machine tool. Thepositioningloop is comprisedof six computer (e.g. counter 30, and logic 38, FIG. 3), and  
 provide an appropriate analog voltage to be used as an I input by the servo amplifier (25, FIG. 3). Thespecified component for this operation is an A601 digital to anament Corporation. Servo Amplifier The-component specified (25, P16. 3) is manufactured by Hughes lndustral Controls and is the same type as that used in Hughes numerical controls. It is lSO which saturates at an output voltage of volts. The amplifier receives input signals from the digital to analog converter, also manufactured by the Digital Equipment Corporation.  
  The component specified (25, FIG. 3) is manufacQ tured by hughes Industrial Controls and isthesame type as that used in Hughes numerical controls. it is a shunt wound motorcan be used. The motor is made for log converter. also manufactured by the Digital&#39;Equiphalf wave SCR amplifier having a gain of approximately of providhalf wave operation and requires 75 volts for the armatur&#39;e, 50 volts for the field and runs at a speed of I725 R PM at these stated conditions.  
  FIG. l showsa portion of the hardware necessaryto interfacea machine toolfto aPDP8/S digitalcomputer.  
 needs adigital clock 81, FIG. 2) with a frequency of approximately 8 kilohertz.  
  both for the purpose of determining machinejt&#39;ool char-t.  
  acteristics and to assistin closing the control loop. Transducer pulsesfare shaped and reduced to standard &#34;jgxlogic levelsthroughthe use of twow50l Schmitt trigflgers whose&#39;outputs are used by R60l pulse decoders.  
  f-T he -R601 pulseamplifiers (II andl2) controltwosta- (from&#39;conductor &#39;l t or I76), andt&#39;he next sequential *programinstruction will be skipped. e e  
 * no.3 illustrates the method the computer uses to provide inputs to the servo amplifier 25 in order to pcsition the machine tool. The gain of the servo amplifier wareQand-if the device beingltested caused an inter-f I rupt. a signalwill be present on the computerskip bus At the start of atest calculation. the computer initializes all the internal counters. turns on the interrupt sys- I item, closes switches 60a. 60b and 60c, and applies a voltalge to the servo amplifier 25 sufficient to drive the motor at full speed; The computer then waits for a clock or countpulse program interrupt. Upon receiving interrupts.clock pulses occurring between count pulses 1 are stored in computer memory locations (C) and CH) where a comparison is made to determine if any twocount pulse intervals occur within one clock pulse of each other. If so. the machine tool is assumed to be traversing at constant maximum traverse speed. At this point counter B in thecomputer memory will contain the number of clockpulses, and counter S (acceleration distance will contain the number of count pulses is adjusted so that a display of one count in theerror digital tofanalog&#39;cjonverttar 31 which causes a minimum tem is running under a rapid traverse conditiomthe register produces a DC voltage at the output of the a f movement tomake a correction. Thus. when the sys- I servo amplifier 25 receives a command input only from.  
 &#39; Digital Equipment CorporationWOSO orWldrivers (23 or 24). Whenthe tdeceleration point(S#$ r-S has been reachedan d therapid traverse input has been removed.th&#39;e system is&#39;decelerated-rapid.y. Final positioning is underthe control of the error count supplied to the digital to analog converterlil. I a  
 Q Maintaining closed loop controlonce the rapid trawhen using thefconverteris howto obtain linearity 1 verse input hasbeen removed involves the use of A601 1digital1&#39;to analoggconverter stages (manufactured by Digital Equipment Corporation). A problem that arises to achieve rapid traverse speed. and the machine tool g will make a move of 5.000 inches before beginning deceleration. 4 r I f During deceleration, the total numberof-clock pulses &#39;to stop is stored in rnemory location F. and counter 8 (deceleration distance) will contain the number of count pulses to complete deceleration. At this point the test is completed and the machine, tool is assumed av.  
 rest if no count pulse occurs for approximately 2.5 &#39;sec onds or 20.000-clock pulses. e *1 It is a matter of routine to prepare a computer program in accordance with FIG. 9 to carry out the test and determine the necessary information to use on-off deceleration control.  
 OPERATION OFTl-IE CONTROL SYSTEM&#39;OF FIGS. 1 and 3 to Control Deceleration The flowdiagram represented&#39;in FIG. 10 shows how a system according to FIG. 3 couldbe controlled using I the previously determined informatiom-The ,discisionwhen the count changes .from a plus one count.(00 j .al) to aminus onecount (ll L l) and vice versa, re- I memberingthat the computer. operates in 2&#39;s &#39;complement arithmetic. This is solved by proper application of the position count to the digital toanalog converter.  
  Thus thetmost significant stage 35 of the converter displays the=negation of the &#34;sign bit, which normally isthe most significant bit ofithe&#39;error display register. It is this last connectionwhich allows &#39;a bias voltage to be changewhen the errorregister changes polarity.  
  &#34;Using thistechnique provides a linearmode of operavtion for small errors when used I; eration control concept.  
 a j OPERATION To DETERMINE MACHINE TOOL t Y CHARACTERISTICS FIG. 9 is a flow diagram used in the experimental determination of machine tool characteristics. The r scheme employs the useof an interruptsystem such as that used by the PDPB/S digital computer. &#39;lnaddition with the non-ofi&#39; decel-.  
 to a machine tool and required interface. the computer process is extremely simple oncethe machine tool characteristics are known. The computer merely reads a position coordinate from previously prepared punched tape. and determines if the proposed move will cause the carriage to attain a rapid traverse speed.  
 If so (see FIG. 4). the motor is driven at full speed until the remaining distanceto the objective is equal to 8,, (deceleration distance), then the carriage isstopped as f I quickly as possible by removing the rapid traverse input and allowing the converter 31 to complete positioning should a small overshoot or undershoot occur. If the required command move&#39;is less than the distance needed .to attain full speed (see FIG. 5) the computer will compute the distance away from the command position where the input must be reduced to zero in order to minimize positioning time by solving the equation summed with the converter output to produce a linear 5 a where K, and K, equal the contents of B and F storage locations previously defined.  
 A reasonable and good approximately of the savings to be realized by using the omoff deceleration control was obtained by recording the tachometer response with respect to time on a Brush recorder. FIG. 8 shows an example of the typical results obtained. First. data was obtained showing the acceleration and deceleration times for positioning to various size moves using conventional deceleration methods. Then, while the C machine tool was running at a rapid traverse speed, the I servo command input was reduced to ground potential and the results recorded. Using this simple procedure provides a rather good insight into what can be expected when the on-off deceleration control method is fully implemented.  
  The results of this test showed that the on-off deceleration control reduced the deceleration time by approximately 60 percent when compared with conventional methods. Reflected in the over-all time to position and punch a hole. A Strippit Fabramatic 30/30 could punch 80 holes per minute on 1 inch centers, as opposed to 60 holes per minute which presently results from using conventional methods of controlling deceleration.  
 It should also be remembered that since a digital computer is used in the control loop. deceleration is not anarbitrary tuning procedure, but it is uniquely adapted to individual machine tools. always readily available in the form of a computer program. Normal usage would include l initial installation, (2) periodic checking. Should machine tool characteristics change.  
  or (3) application of the control system to other machine tools.  
 ALTERNATIVE EMBODIMENTS As an alternative to the system heretofore described. the computer could use its own core memory as a counter S to store the distance remaining to the commanded end point i.e. (Sr-S). The computer would then decrease the stored count by one each time a count pulse interrupt signal appeared at the count interrupt output line 65 or 66, FIG. I. When the stored count reached S, the computer would load the count S y into the stages of counter 30, which would then I22, FIG. 10a. and 123. FIG. 10b (found on sheet No.  
 5 of the drawings along with FIG. 10c), apply for the example where the computer core memory is used as a register 5 to store a count value Sr-S. When using the hardware shown in FIG. 3, these program steps are omitted and the decision steps of blocks 124, FIG. 10a and I25, FIG. 10b. involve an interrogation of test selector 43e. FIG. 3.  
  The executive steps represented by block 130, FIG. 106 (found on sheet No. 5 of the drawings). would include loading of 8,. (S or S into the binary counter 30. FIG. 3. where the hardware of FIG. 3 is utilized to count transducer pulses directly.  
  FIG. 11 shows an alternative to the operation indicated in FIG. 10c. and has been specifically drawn to illustrate operation where the computer uses its core memory as a counter S to accomulate a count value equal to the remaining displacement S S, of the axis I from its position at the beginning ofa move. In this case the steps of blocks -123 of FIG. 10 be included:  
  For operation as represented in FIGS. Ila and 11b. switches 60a and 60b. FIG. 1, would be closed. and switch 60c. FIG. 2 would be open. The counter 30 would operate as a register. and switches (not shown) in lines 28 and 29, FIGS. 1 and 3, would be opened so that the counter would not respond to transducer pulses directly. Flip-flop 47. FIG. 3 would remain in the reset condition so that status flag flip-flop 43 could not be actuated to set condition. In carrying out the function of decision block 124, FIG. 100. or 125, FIG. 10b. the computer would simply compare the count stored in its register S with the value 8,, or S also stored in its core memory. When the count in the register S was equal to the stored value S or 8,. the computer would begin executing the steps represented in FIGS. lla and III). This is indicated by the use of the circle with the character 28 therein at the output flow lines 141 and I42 of decision blocks 124 and 125, FIGS. 10a and 10b. and at the input flow line 143 to function block 144, FIG. Ila.  
  The step of block 144, FIG. 11a. would be executed by the computer by actuating the clear selector 27,  
 FIG. 3. Block 145, FIG. Ila. would be executed by transferring the contents of register S to the various stagcs of&#39;counter 30. FIG. 3. As represented by components 146 and 147 in FIG. lla. an interrupt would occur only with the setting of status flag flip-flop 61 or 62, FIG. 1.  
 The function of block 148, FIG. lla. may be carried out by having the computer determine if the count in register S has previously passed through zero. (See blocks 151. I60 and 161 whose mechanization will be described hereinafter) In block 149, the computer would respond to an overshoot pulse by adding an absolute value of one to a register 08 in the computer core memory. In carrying out block 150, the computer would substract a count from the register S More particularly component I50 serves toadd each count pulse to register S in accordance with its polarity so that the register maintains an algebraic count at all times in accordance with the displacement of the load from the commanded end point. even when the load has overshot the commanded end point. (This can be done since the computer can determine whether status flip-flop 61 or 62. FIG. I. has been actuated to represent the count pulse.)  
  Having reference to block 151. FIG. Ila. it will be noted that the procedural steps of FIG. Ila are repeated as indicated by flow line 152 until the count registered by the computer in register S is zero. at which time control moves to the sequence of FIG. llb.  
  Referring to block 160, FIG. llb. it will be noted that in the event of a further count pulse. control is transferred to the block 161 to determine if the count pulse following the condition Sr-O has the polarity of the command being executed. If the polarity reflects movement in the commanded direction. the pulse would constitute an overshoot pulse. For the particular logic illustrated. it may be assumed that once an overshoot has occurred. the computer will store this fact and answer the interrogation at block 161 and a block 148 in the affirmative throughout the remainder of the positioning cycle. Also the observation of an overshoot condition by the computer will cause overshoot pulse to be registered as negative counts (i.e. as counts of opposite polarity) in register S For example if the register S initially is counting down from a given positive 13 displacement value overshoot pulses will be registered as negative values in two&#39;s complement notation. Any count pulses occurring after the overshootwill be register in the OS register of the computer core memory regardless of whether the count pulse results from movement in the overshoot direction or in the return direction. Thus. the actual value of the overshoot will be equal to one-half the final value registered in the location OS of the computer memory. Thecounter 30 will be controlled during an overshoot so as to register successive counters representing the overshoot just as though it were responding directly to transducer pulses.  
  From block 162, FIG. lib. control passes to block 150 whereby the further count is algebraically applied to the previous count of the&#39;register S Thus after a first overshoot pulse the count in register S will be a value applied to this register. Since S is equal to one, control now passes via flow line 152, FIG. Ila, back to block 145, with further count pulses being applied as absolute values to the OS counter as indicated by block 149, and being applied algebraically to the register S as indicated by block 50. t  
  The illustrateed logic assumes that there will not be an oscillation about the end point value once an overshoot has occurred. Of course. oscillation after an overshoot could be taken into account by algebraically applying counts to the OS register as well as to the S register.  
  Once the load returns to the commanded end point andS is again equal to zero, it may be assumed that the logic will follow the path 160, 165-469. The operation of block 165 may be performed by means of components such as illustrated in the eighteenth Figure of ser. No. 744,372.  
  With the system of FIG. ii, the computer corrects the value of S after each move so as to correct it for many changes in the operating characteristics of the particular machine tool with which the computer is associated. Where the initial command has been less than the sum S -i-S the blocks 168 and 169 may represent the correction of future values of S, so as to tend to eliminate overshoot for example by an appropriate modification of the constant K, stored by the computer. Anydesired formula may be used for computing adjusted values of S1 and S to insure that a stable optimum adjustment will be maintained for a given machine tool.  
 &#39; With respect to each of the embodiments, it will be understood that the maximum output from the digital to analog converter 31 is far less than the output from driver 23 and 24. Further, a speed responsive tachometer is connectedto line 180, FIG. 3, and this tachometer will supply a feedback voltlage when the rapid traverse movement of the load is interrupted which feedbackvoltage will be sufficient in many cases to saturate the amplifier 25 will a reverse polarity current so as to provide very rapid braking action or plugging on the drive motor. Normally, the accuracy of the system is such that the digital to analog converter 31 need comprise only a relatively few stages, so that the linear range of the converter will correspond to error counts in the vicinity of zero. For example. the linear range of the converter would correspond to error counts of less than plus or minus l6.  
 I claim as my invention:  
 . l. The method of operating a computerized numerical control system wherein a machine tool control includes an external hardware counter for receiving pulses representing successive increments of movement of a load. and a minicomputer is connected on line with said machine tool control, which method comprises operating said minicomputer to respond to a displacement command specifying movement to a commanded end point to generate a deceleration distance signal representing a deceleration distance at which the load is to be decelerated in order to be positioned at the commanded end point. operating said minicomputer to actuate said machine tool control for producing movement toward said commanded end point,  
 monitoring said external hardware counter to determine when said hardware counter has received a total number of pulses corresponding to movement to a point location a distance equal to said deceleration distance in advance of said commanded end point, and  
 operating said minicomputer in response to reaching said point to actuate said machine tool control to progressively reduce the velocity of movement so as to stop said load at the commanded end point.  
  2. The method of operating a computerized numerical control system wherein a machine tool control includes an external hardware counter for receiving pulses representing increments of movements of a load. and a minicomputer is connected on line with said machine tool control, which method comprises operating said minicomputer to respond to a displacement command representing a distance of movement less than that in which the load is to achieve maximum speed and to generate an acceleration distance and a deceleration distance to be traversed in response to respective acceleeration and deceleration commands supplied by the minicomputer to the machine tool control such that the total of the acceleration distance and the decelera tion distance will equal thedistance represented by said displacement command. operating said minicomputer to supply to said machine tool control said acceleration command to accelerate the load, monitoring said external hardware counter to determine when the acceleration distance has been traversed by the load, and operating the minicomputer thereafter to apply said deceleration command to said machine tool control for decelerating said load as it traverses said deceleration distance. v  
  3. The method of determining characteristics of a control system which comprises 1 driving the system at a predetermined speed and de veloping motion pulses in response to successive increments of movement thereof,  
 shifting the system to a deceleration mode and generating clock pulses during deceleration of the system, and  
 counting such motion pulses and such clock pulses during deceleration of the system to detennine the time and distance required to bring the system substantially to a stop so as to obtain parameters for use in determining an optimum deceleration point for the control system.  
  4. The method of claim 3 further comprising storing the parameters so obtained and automatically applying the stored parameters to determine the deceleration point in subsequent moves executed by the control system.  
 5. The method of operating a control system which comprises 1 ing the response of the system to a subsequent move,  
 and adjusting the stored characteristics in accordance with such observations so as to take account of subse quent changes in the operating characteristics of the individual control system.  
 7. A machine tool control system comprising a machine tool control including an external hardware counter (30, HO. 3) for receiving pulses representing successive increments of movement of a load during execution of a given displacement command,  
 a minicomputer (200, FIG. 12) connected on line with said hardware counter (30) and operable to receive said displacement command and to compute a deceleration point in advance of the end point to which the load is to be moved in executing the displacement command,  
  an electric drive circuit (25) responsive to a maximum input signal to accelerate the load toward a rapid traverse operating speed,  
 bistable drive control circuitry (21-24, FIG. 3) connected with said electric drive circuit (25) for selectively supplying said maximum input signal to said electric drive circuit (25), and shiftable between afirst bistable condition where said maximum input signal is applied to said electric drive circuit (25) and a second bistable condition where said maximum input signal is removed,  
 drive control selector circuitry (20, 27, FIG. 3) connected with said minicomputer (200) and with said bistable drive control circuitry (21-24), andoperable in response to a first signal from said minicomputer to place said bistable drive control circuitry (21-24) in said first bistable condition to cause the acceleration of the load to the rapid traverse operating speed, and operable in response to a second signal from said minicomputer (200) to shift said bistable drive control circuit (21-24) to the second bistable condition,  
 a bistable counter condition circuit (38, 43, 45, 46, FIG, 3) connected with said counter (30) and shiftable between first and second bistable conditions, and responsive to a predetermined count condition of said counter (30)to shift from the first bistable condition to said second bistable condition. and  
 counter condition sensing circuitry (43b, 43e) connected with said minicomputer (200) and with said bistable counter condition circuit (38, 43, 45, 46) and responsive to a predetermined selection signal from the minicomputer (200) to transmit a counter condition signal to the minicomputer (200) in accordance with the bistable condition of said bistable counter condition circuit (38, 43, 4, 46),  
  the minicomputer being in control of rapid traverse movement of the load by means of said counter condition circuit (38, 43, 45, 46) and said drive control selection circuitry (20, 27) and being operable by means of said drive control selector circuitry (20, 27) to intervene during execution of the displacement command to initate deceleration of the load for stopping thereof at the commanded end point, whereby the deceleration point may be changed in accordance with changes in the operating characteristics of the system during its useful life.  
  8. A machine tool control system in accordance with claim 7 with said drive circuit (25) comprising a servo amplifier whose output direct current signal controls the speed of operation of the load.  
  9. A machine tool control system in accordance with claim 8 with tachometer means responsive to the spced of movement of the load and supplying a feedback voltage to said servo amplifier and operable for producing a braking action when rapid traverse movement is interrupted.  
  10. A machine&#39;tool control system in accordance with claim 7 with a digital to analog converter (31, P10. 3) connected with said counter (30) and having its output connected with said electric drive circuit (25) for controlling positioning of the load when the bistable drive control circuitry (21-24) has been shifted to said second bistable condition.  
  11. A machine tool control system in accordance with claim 8 with a digital to analog converter (31) connected with said counter for control thereby and having its output connected with said servo amplifier (25) in parallel with said bistable drive control circuitry (21-24) for controlling the speed of operation of the load when said bistable drive control circuitry (21-24) is in said second bistable condition.  
 12. Amachine tool control system comprising a machine tool control including a minicomputer (200, P10. 12) having storage means (61, 62, FIG. 1) for receiving pulses representing successive increments of movement of a load,  
 an electric drive circuit including a servo amplifier (25, FIG. 3) responsive to a maximum input signal to accelerate the load toward a rapid traverse operating speed and responsive to progressively reduced input signal levels to correspondingly reduce the speed of movement of the load,  
 bistable drive control circuitry (21-24, FIG. 3) connected with said servo amplifier (25) for selectively supplying said maximum input signal thereto, and shiftable between a first bistable condition where said maximum input signal is applied and a second bistable condition where said maximum input signal is removed,  
 drive control selector circuitry (20, 27, FIG. 3) connected with said minicomputer (200) and with said bistable drive control circuitry (21-24), and operable in response to a first signal from said minicomputer (200) to place said bistable drive control circuitry (21-24) in said first bistable condition to cause the acceleration of the load to rapid traverse operating speed, and operable in response to a second signal from said minicomputer (200) to shift said bistable drive control circuit (21-24) to the second bistable condition, and a digital to analog converter circuit (30, 31, FIG. 3) connected with said minicomputer (200) and with said servo amplifier (2S) and operable to supply progressively reduced input signal levels to the servo amplifier (25) once the bistable drive control circuitry (21-24) has been shifted to said second 17 bistable condition to progressively decelerate said oad,  
 the minicomputer (200) being in control of the duration of the rapid traverse movement by virtue of its connection with said drive control selector circuitry (20, 27), and being in control of the deceleration of the load by means of its connection with saiddigital to analog converter circuit (30, 31), whereby the deceleration point may be changed by the minicomputer (200) in accordance with changes in the operating characteristics of the system during its useful life.  
  13. A machine tool control system in accordance with claim 12 withtachometer means (180, FIG. 3) responsive tothe speed of movement of the load and supplying a feedback voltage to said servo amplifier (25) and opeable for producing a braking action when rapid traverse movements is interrupted.  
  14. A machine tool control system in accordance with claim 12 with said digital to analog converter (30, 31) having a generally linear range of output for a range of input count values of less than plus or minus sixteen.  
  15. A machine tool control system in accordance with claim 12 with an oscillator (81, FIG. 2) connected with said minicomputer (200) for supplying timing pulses to the minicomputer (200) and thereby enabling the minicomputer (200) to determine when the spacing between pulses representing successive increments of movement of the load correspond to the rapid traverse operating speed.  
  16. A machine tool control system in accordance with claim 12 with said machine tool control including a transducer direction and rate sensing circuit (10, FIG. 1) connected with saidstorage means (61, 60, 62) for supplying said pulses representing successive increments of movement of the load thereto, and a feedback condition sensing circuit (71, 73, 72, 75, FIG. 1) connected with said bistable pulse receiving circuit (61, 62) and with said minicomputer (200) and incluging a feedback condition selector circuit (71, 72, FIG. l) rcsponsive to a selection signal from said minicomputer (200) to transmit a feedback condition signal to the minicomputer (200) in accordance with the condition of said storage means (61, 62).