Feed rate control method and apparatus in numerical control system

Abstract: The tolerable maximum feed rate Fd is calculated in real time during operation based on the tolerable minimum moving time Ta to be determined by the data interpretation and the moving distance L of each machining block. If the command feed rate Fc exceeds the tolerable maximum feed rate Fd, the actual feed rate for the block is set to the tolerable maximum feed rate Fd, thereby realizing smooth deceleration and preventing mechanical shock of the machine tool and reduction in machining accuracy. Required time for each processing element is determined in advance, the sum of processing times corresponding each element is calculated by judging the processing mode element contained in machining for each block. Then, the feed rate is controlled by determining the tolerable minimum moving time for each block based on the calculated sum of processing times.

Description: The present invention relates to a feed rate control method and an apparatus for use in a numerical control system and more particularly to a feed rate control method and an apparatus for use with a numerically controlled machine tool capable of achieving high precision and smooth operation. Also, the present invention relates to a feed rate control method and an apparatus for a numerical control system which provides minimum shock in the continuous machining of small machining blocks and is capable of high speed machining. As computer technology and numerical control techniques progress, significant improvements are seen in machining speed and accuracy based on numerical control using computers. Apparatus capable of performing various curved surface machining such as free curved surfaces etc. are commercially available. A numerically controlled machine tool interprets the machining data (shape data) of the workpiece to be machined by reading an NC tape or other recording media. A path of movement and feed rate of a cutting tool are set for each machining block or machining unit based on the interpreted data. In U.S. Patent No. 4,894,594 and European Patent specification No. 299080A, acceleration/deceleration control apparatuses are described which automatically initiate deceleration by reading the feed rate previously set in an NC program in advance and determine where to start deceleration so that the feed rate is always less than the specified feed rate for the machining block at the start position of the machining block. Although the deceleration operation is automatic, there remains the time consuming effort to set the feed rate in the NC program. As described before, in a conventional numerical control system, machining modes such as the path of a cutting tool, feed rate, etc. are set based on the data read out of recording media such as an NC tape. However, machining shapes of the workpiece to be machined are non-uniform and the time required for processing each machining block varies over a wide range. On the other hand a certain time is required for the numerical control system to interpret the data depending on its processing speed. This means that the data interpretation of one machining block must be completed before actual processing of that machining block occurs. In order to meet this requirement, it was the conventional technique to provide a buffer memory to save the interpreted data for a plurality of blocks so that the saved data is made available from the buffer memory for machining without causing time lag. It is to be noted, however, that the memory capacity of the buffer memory is limited and is normally minimized for simplicity or cost reduction purpose. If there is no residual memory capacity in the buffer memory, there may be a case where the required interpretation data is not entered before actual machining occurs if the processing time for a machining block is shorter than the interpretation time, i.e. if the machining portion is very short. Illustrated in Fig. 4 is the path of a machining tool (program command path) in an example of linear machining of machining locks N1 through N12 at a constant program command feed rate Fc. An arrow for each block represents the direction and its length represents the distance of movement of the tool. The blocks N11 and N12 show deceleration steps for machining corners. Illustrated in FIG. 5 is the change of the program command feed rate Fc in the machining steps in FIG. 4. In this example, Fc is constant, thereby shortening the operation time as the machining becomes shorter. Accordingly, if the program operation time for each block is shorter than the minimum time of movement Ta as illustrated in FIG. 6, a movement command pulse is not in time, thereby causing the feed rate to change in a step manner. As a result, the feed rate becomes noncontinuous to cause mechanical shock in the machining tool. This will result in poor machining accuracy. On the other hand, disclosed in Japanese patent laid-open No. 195409/90 is a feed rate control method capable of easing the load to the machine and feed motor without degrading machining efficiency in a machining program containing both small and large blocks of movement. This is feed rate control method for a numerical control system to control the feed rate of the tool along the instructed path in accordance with a machining program. It features in comprising the steps of calculating a proper feed rate at command path corners between blocks decelerating the feed rate of the tool to the proper feed rate until the start point of the block is reached in a case where the distance of movement of the block is larger than a predetermined value, accelerating the feed rate of the tool from the start point of the block to reach the maximum feed rate, and setting the feed rate of the tool during the movement in the block within the range between the proper feed rate at the start point of the block and the proper feed rate at the end point in a case where the distance of movement of the block is smaller than a predetermined value. There is no technical idea in this prior art to introduce the tolerable minimum movement time Ta taking the processing speed in the numerical control system into consideration. Accordingly, it contains the inconvenience as illustrated in Fig. 6. In Japanese Patent laid-open No. 130411/62 (published 12th June 1987) a feed rate control method is disclosed which is intended to reduce mechanical shock during machining block movement without interrupting pulse distribution. The length of movement Li of the tool for a particular machining block (i) is taken into account to determine the moving time Ti of the tool at the i-block. This value is then compared with the minimum necessary time TB required for block data processing and the actual feed rate Fi' is set below the maximum tolerable feed speed, calculated from Li/TB. However, for a plurality of continuous machining blocks the actual feed rate Fi'=Li/TB, is different for each machining block. Accordingly mechanical shock due to changes of the actual feed rate Fi' will occur. It is therefore an object of the invention to overcome this problem and provide a feed rate control method in numerical control systems capable of avoiding mechanical shock even if a series of small machining blocks may exist and is also capable of providing high speed machining. It is a further object of the present invention to provide a method and apparatus for controlling feed rate in a numerical control system to realise always stable and highly accurate machining regardless of the length of each machining block. It is a further object of the present invention to provide a feed rate control method in a numerical control system capable of minimizing the tolerable minimum moving time and achieving high speed machining. Thus, according to the invention there is provided a feed rate control method for numerical control to control a feed rate of a tool based on NC data stored in a buffer memory in which machining block NC data is sequentially stored for a time, the method comprising the steps of calculating a target feed rate Ft for the most recently entered machining block based on the NC data for the most recent machining block stored in the buffer memory, comparing a current tool feed rate Fa and the target feed rate Ft, generating a feed rate command curve, based on the result of the comparison, representing a feed rate change from the current feed rate Fa to the target feed rate Ft for the most recent machining block in accordance with an acceleration/deceleration curve over a plurality of machining blocks, updating the generated feed rate command curve whenever new NC data for the most recent machining block is stored and controlling the tool feed rate Fa in accordance with the updated feed rate command curve. The step of calculating the target feed rate Ft may involve calculating a length of movement L of a tool for each machining block, calculating a feed rate Fd as L/Ta, where Ta is a predetermined tolerable minimum moving time, comparing a command feed rate Fc of the NC data with the calculated feed rate Fd and setting a target feed rate F t to the calculated feed rate Fd if the command feed rate Fc is larger than the calculated feed rate Fd and to the command feed rate Fc if the command feed rate Fc is smaller than the calculated feed rate Fd. The invention also provides an apparatus for effecting the method. If the command feed rate Fc exceeds the tolerable maximum feed rate Fd the actual feed rate for the block is set to the tolerable maximum feed rate Fd thereby realising smooth deceleration and preventing mechanical shock of the machine tool and reduction in machining accuracy. Whenever an open area exists in the buffer and NC data for a new machining lock is entered, a feed rate command curve over the processing blocks in the buffer is generated. Specially, whenever the NC data for the new machining block is stored in the buffer memory, the feed rate command curve capable of machining at the highest feed rate and including the current feed rate is updated. The machining processing is carried out based on this updated feed rate command curve, thereby eliminating mechanical shock in performing small machining blocks and realizing a high speed machining. In a preferred embodiment of the invention, the required time for each processing element is determined in advance, the sum of processing times corresponding each element is calculated by judging the processing mode element contained in processing for each block. Then, the feed rate is controlled by determining the tolerable minimum moving time for each block based on the calculated sum of processing times. That is, the feed rate is controlled by using the optimum value as the tolerable minimum moving time for each machining block. In accordance with still another preferred embodiment of the present invention, function pattern of a machining block is analysed and processing time for each analysed pattern is measured and stored in the memory. When processing the pattern stored in the memory, the processing time is set for the pattern read out of the memory to control the feed rate by calculating the tolerable minimum moving time. In this manner, a high speed feed rate control is realised with efficient and accurate tolerable minimum moving time. In the accompanying drawings FIG. 1 is a flowchart showing how a tool feed rate may be calculated for use in a method according to the invention; FIG. 2 is a block diagram of the basic components of one embodiment of the feed rate control apparatus in a numerical control system in accordance with the present invention; FIG. 3 is a graph to show the change in feed rate in each block of a machining operation; FIG. 4 is an example of the path of movement of a cutting tool in numerical control machining; FIG. 5 shows a relationship between the program command feed rate and a block time in the example as illustrated in Fig. 4; FIG. 6 shows the change in actual feed rate in the example shown in Fig. 5 derived from a conventional method and apparatus (such as that described in Japanese laid-open Patent No. 195409/90); FIG. 7 is a block diagram relating to a preferred method for determining the tolerable minimum moving time which may be used in the method according to the invention; FIG. 8 is a flow chart showing the operational steps involved in calculating the tolerable minimum moving time in the method shown in Fig. 7; FIG. 9 shows the relationship between the processing unit affecting the processing time and the required processing time in the method shown in Figs. 7 and 8; FIG. 10 is a flowchart of a further alternative method of determining the tolerable minimum moving time which may be used in the method according to the invention; FIG. 11 is a block diagram relating to the method shown in Fig. 10; FIG. 12 shows the relationship between particular NC program steps in connection with the method shown in Fig. 10; FIG. 13 is a flowchart of the operation steps of an embodiment of the feed rate control method and apparatus in numerical control system of the present invention; FIG. 14 is a flowchart of steps of generating the feed rate command curve in the embodiment in Fig. 13; FIG. 15 shows graphs of changes in time of the feed rate command curve generation to explain the processing steps in the embodiment in Fig. 13; and FIG. 16 shows graphs of changes in time of the feed rate command curve generation for high speed processing by the embodiment in Fig. 13. Illustrated in Fig. 1 is a flowchart of operating steps of a feed rate control method and apparatus in numerical control which may be used in the present invention. Fig. 2 is a block diagram of the feed rate control apparatus. In Fig. 2 data from an NC tape 1 is received and interpreted by a data receiver/interpreter 2. The interpreted data is stored in a buffer memory 3. The buffer memory 3 is a first-in, first-out type memory to save the interpreted data from the NC tape 1 for a plurality of blocks and sent to a feed rate control section 4 in the order of storage. The feed rate control section 4 calculates machining distance (or the length of movement of the cutting tool) L based on the data supplied from the buffer memory 3. The obtained distance data L and the tolerable minimum moving time Ta corresponding to the minimum interpretation time are used to obtain the tolerable maximum feed rate Fd. The obtained feed rate Fd and the command feed rate Fc are compared to set the actual feed rate F equal to Fd if Fc is larger than Fd. A machine tool 6 is controlled by sending a control signal to a servo section 5 to effect deceleration so as to reach the set actual feed rate. An operation of part of the present invention will be described by reference to FIG. 1. Firstly, the length of movement (L) of a block in the NC program is calculated based on the data from the NC tape 1 (Step S1). The tolerable maximum feed rate Fd is calculated from the obtained length of movement L and the tolerable minimum moving time Ta by the equation Fd = L/Ta (Step S2). Then, comparison is made if the command feed rate Fc is larger than the calculated Fd (Step S3). If Fc is larger than Fd, the actual feed rate (or target feed rate) F is set to Fd (Step S4). If Fc is smaller than Fd, F is set to Fc (Step S5). Subsequently, a deceleration start point in the moving zone in the blocks stored in the buffer memory 3 is calculated based on the command speed slope to be determined by the acceleration/deceleration parameter toward the target feed rate F for the blocks (Step S6). A feed rate command curve from the deceleration start point to the start point of the blocks is generated (Step S7). The processing operation is performed by controlling the feed rate in accordance with the feed rate command curve (Step S8). Illustrated in FIG. 3 is a graph of the change in feed rate for each block. As apparent from Fig. 3, the feed rate is reduced in this particular embodiment to secure the minimum data interpretation time in blocks such as N2 through N6, N8 and N9 in which the block moving distance (or block operation time) is short. In the feed rate control method as mentioned above, the actual feed rate is set to the tolerable maximum feed rate Fd if the moving command feed rate Fc exceeds the tolerable maximum feed rate Fd. As for the block tolerable minimum moving time, set in the NC apparatus as particular value is the estimated actual processing time multiplied by a certain safety factor. However, the tolerable minimum moving time varies over a wide range depending on the machining program defining, for example, the content of arithmetic operations, shape of the workpiece to be machined, and the like. Nevertheless, the tolerable minimum moving time is set as fixed value which is considerably large taking safety into consideration. In a preferred arrangement, the tolerable minimum moving time is made variable depending on the content of the machining program. The feed rate control method according to this arrangement is described hereunder by reference to Figs. 7 through 9. Fig. 7 illustrates a block diagram of the feed rate control apparatus in numerical control according to a preferred arrangement. On the other hand, illustrated in Fig. 8 is a flowchart of the feed rate control steps therefor. In Fig. 7, data from the NC tape 1 is received and interpreted by the data receiver/interpreter 2. The interpreted data is stored in the buffer memory 3 which is a first-in, first-out (FIFO) memory to save the interpreted data for a plurality of blocks from the NC tape 1 to be sent out to the feed rate control section 4 in the sequence of storage. The feed rate control section 4 sends a control signal to the servo section 5 for feed rate control in the manner as described hereunder based on the data from the buffer memory 3. The servo section 5 controls the machine tool 6 in the above specified control manner on receiving the control signal. As mentioned above, the arithmetic operation time varies depending on the shape and type of machining. Accordingly, with this arrangement, processing times for the elements to be affected by the shape and type of machining are stored in a memory in advance for each block. The tolerable minimum processing time in actual arithmetic operation is calculated based on the processing time for the elements included in the block read out of the memory. Referring now to Fig. 8, a judgment is first made on the processing time variable elements in the machining program (e.g., E1, E2 and E3 ) (Step S11). The processing time (e.g., α1, α2 and α3) for each judged element is obtained by reading out of the memory (Step S12). Then, additional processing times obtained for each element in the Step S2 are added to the basic processing time To (a time required for processing a single axis command program in linear interpolation) to obtain the block processing time Tp = To + α1 + α2 + α3 (Step S13). The tolerable minimum moving time Ta is obtained by multiplying a predetermined minimum safety factor k to the block processing time Tp (Step S14): Ta = k·Tp (where, k ≥ 1) The use of the above tolerable minimum moving time Ta ensures smooth and high speed machining as described in the above first embodiment. FIG. 9 shows the relationship between arithmetic processing elements in the NC program units and the processing time required for each element. In FIG. 9, the element Eo requires the processing time to define as the basic processing time for a single axis command program by linear interpolation (represented by G01 in G code). The element E1 is a double axis linear interpolation command requiring the processing time α1. The element E2 is a 3-axis linear interpolation command requiring the processing time α2. The element E3 is an arcuate interpolation command (G02/G03) requiring the processing time α3. Processing times for elements E4 through E13 are defined in the similar manner as shown in FIG. 9. The elements E1 through E13 are processings requiring increased time to process the program commands. Also shown in FIG. 9 are elements E20, E21, E22, etc. requiring increased processing time due to added functions. That is, the element E20 is a simultaneous 4 control axis processing (processing time α20), the element E21 is a simultaneous 5 control axis processing (processing time α21) and the element E22 is an interactive editing processing (processing time α22). The processing time for each element in FIG. 9 is saved in the memory 8 in FIG. 7. The tolerable minimum moving time (Ta) calculation section 7 calculates the tolerable minimum moving time Ta based on the block data read out of the buffer memory 3. The Ta is, then, sent to the feed rate control section 4 as a control signal for feed rate control operation. For example, let's assume that the program command a linear 2 axis interpolation (element E1) and a correction of tool diameter (element E6) for a certain block and that simultaneous 4 axis control (element E20) is annexed, the processing times α1, α6 and α20 for the elements E1, E6 and E20 are read out of the memory 8. The program block processing time Tp for the block is obtained by adding these processing times α1, α6 and α20 to the basic processing time To. That is, Tp = To + α1 + α6 + α20 k·Tp which is the program block processing time Tp multiplied by a safety factor k is set as the tolerable minimum moving time Ta for performing the feed rate control. Similarly, the total processing time for the elements contained in the command processing program in other blocks is calculated and multiplied by the safety factor to obtain the tolerable minimum moving time for feed rate control. A further preferred arrangement for setting the tolerable minimum moving time by another method is described by reference to Figs. 10 through 12. Fig. 10 is a flowchart of processing steps of one such arrangement. Firstly, a block processing time for a predetermined basic operation such as, for example, a single axis linear interpolation (pattern 1) is set as an initial value TO (Step S21). Followed by the Step S21 to analyse an additional function machining block by the interpreter (Step S22). A judgment is made if the interpreted pattern is the first appearing pattern (Step S23). If it is a first appearing pattern, a judgment is made to determine if the pattern is the basic operation (pattern 1) (Step S24). If it is the basic operation, the block processing time is set to TO (Step S25) to perform the machining. At that time, a real processing time of the machining block is measured. The measurement is stored in the memory as an accurate processing time Tp1 for the above pattern 1 (Step S26). Then, the tolerable minimum moving time Ta is calculated by the equation Ta = k.To (Step S27). Where, k is set to a predetermined factor slightly larger than 1. On the other hand, in the Step S24, if it is judged not to be the basic operation (any pattern n other than the pattern 1), the block processing time is determined to be α·To, or the time To multiplied by the safety factor α (which is normally set to about 2 to 3 assuming the worst case) (Step S28). The machining is carried out in the same manner as Step S26 and the actual processing time for the block is measured. The accurate processing time Tpn for the above pattern n is stored in the memory (Step S29). The tolerable minimum moving time Ta is calculated by the equation Ta = k·α·To (Step S30). If it is determined in Step S23 not to be the first appearing pattern, the stored accurate processing time Tpn corresponding to the function pattern of the machining block is read out of the memory (Step S31). The tolerable minimum moving time Ta is calculated by the equation Ta = k·Tpn (Step S32). The machining is carried out in accordance with the tolerable minimum time Ta calculated in the above manner. Illustrated in FIG. 11 is a block diagram of the NC apparatus to perform the operations in FIG. 10. In FIG. 11, the data from the NC tape 1 is received and interpreted by the data receiver/interpreter 2. The interpreted data is stored in the buffer memory 3. The machining program block read out of the buffer memory 3 is analyzed by the pattern analyzer 10 to obtain function combined patterns. A processing time determination section 11 determines the processing time based on the processing and the memory content in Steps S27 and S30 in FIG. 10. A processing time measurement section 12 measures the processing times in Steps S22, S23, S27, S28 and S31 and the measurements are stored in a memory 13. In this manner, the tolerable minimum moving time calculation section 14 calculates the tolerable minimum moving time Ta based on the processing time determined by the processing time determination section 11 and sends out the Ta to the feed rate control section 4. The servo section 5 receives the control signal to control the machine tool 6 in the above specified control mode. Illustrated in FIG. 12 is the relationships of the above NC program, the functional pattern, the processing time to be used, and the measurements of the processing time. The processing pattern #1 in the NC program is the pattern 1 for a single axis linear interpolation processing and is the basic operation in this example. The processing time is a relatively large initial value To. It is shown that the actual processing time measurement of this machining is Tp1. The measurement Tp1 is stored in the memory 13 as the machining time corresponding to the pattern 1. Also, the next machining block #2 is a single axis linear interpolation (pattern 1). As a result, the processing time Tp1 for the pattern 1 is read out of the memory 13 and is applicable to the usable processing time. The machining block #3 is a dual (2) axis linear interpolation processing (pattern 2) and is different from the pattern 1. The usable processing time is determined to be α·To and the measured processing time Tp2 obtained from the actual machining is stored in the memory 10. The machining block #4 is an arcuate interpolation and is a different pattern 3 from the previous patterns. The usable processing time is set to α·To and the measured processing time Tp3 obtained in the actual machining is stored in the memory 13. Similarly, machining blocks #5 and #6 are a single axis linear interpolation plus tool diameter correction processing and a dual axis linear interpolation plus tool diameter correction processing different from the above patterns. Thus, the usable processing time is set to α·To and the measured processing times Tp4 and Tp5 are stored in the memory 13. The next appearing machining block #7 is a dual axis linear interpolation plus tool diameter correction processing and is identical to the pattern 5 appeared in the machining block #6. In this case, the usable processing time Tp5 is read out of the memory 13. Similarly, the machining blocks #8, #9, #10 and #11 are respectively the single axis linear interpolation plus tool diameter correction pattern 4, the dual axis linear interpolation pattern 2, the arcuate interpolation pattern 3 and the single axis linear interpolation pattern 1. Accordingly, Tp4, Tp2, Tp3 and Tp1 are read out of the memory 13 as the processing times. The tolerable minimum moving time is set based on the processing times obtained in this manner for the feed rate control. The processing as described with reference to Figs. 1 to 4 is carried out based on the tolerable minimum moving time Ta obtained in the above manner, thereby ensuring smooth and high speed machining. In order to perform the feed rate control as described with reference to Figs. 1 to 4, it is always necessary to accelerate or decelerate if deceleration differs for each machining block, thereby causing adverse effects on the machining surface or the machine tool. Also, if there is even one miniature machining block among a large number of machining blocks, the machining speed is affected because the feed rate must be reduced to the tolerable rate for the particular machining block. An embodiment of the feed rate control method and apparatus is described hereunder by references to Figs. 13 through 16. Illustrated in FIG. 13 is a flowchart of operation step of the feed rate control method and apparatus according to the present invention. A block diagram of the apparatus is the same as FIG. 2. A description is repeated by reference to FIG. 2. Data from the NC tape 1 is received and interpreted by the data receiver/interpreter section 2. And the interpreted data is stored in the buffer memory 3 which is an FIFO type memory to save the interpreted data from the NC tape 1 for a plurality of blocks and sent to the feed rate control section 4 in the sequence of storage. The feed rate control section 4 sends the control signal to the servo section to carry out the feed rate control as described hereunder in response to the data supplied from the buffer memory 3. The servo section 5 receives the control signal to control the machine tool 6 in the specified control mode. In Fig. 13, the receiver/interpreter section 2 reads in the data for the subsequent machining block to interpreter (Step S41). Subsequently, preprocessings such as conversion into the numerical control format, arithmetic operations of the moving distance data are carried out (Step S42). Then, a judgement is made if there is any space in the buffer memory (Step S43). If there is space area, the preprocessed machining block data is saved in the space area in the buffer (Step S44). A target feed rate Ft for the most recent machining block saved in the buffer is calculated (Step S45). Then, the processings as illustrated in Fig. 14 are followed to compare the current feed rate Fa and the calculated most recent target feed rate Ft. The comparison result is used to generate the feed rate command curve to accelerate or decelerate control in a predetermined mode toward the target feed rate over the machining blocks in the buffer (Step S46). then, a feed rate control is performed in accordance with the thus obtained updated feed rate command curve (Step S47). Finally, a judgement is made if the program is terminated (Step S48). If not terminated, processing returns to Step S41. The processing ends if determined to be terminated. As the method for obtaining the target feed rate F t of the most recent machining block stored in the buffer memory the method for obtaining the actual feed rate (the target moving velocity) F in the foregoing embodiment with reference to Fig. 1 may be employed. In other words, F in the embodiment may be replaced with Ft. Here, the most recent machining block stored in the buffer corresponds to the machining block which was lastly stored in the buffer. The operation processing in the feed rate command curve generation in Step S46 in Fig. 13 is described by reference to the subroutine in Fig. 14. In order to generate the updated feed rate command curve, it is a first step to compare the currently operating feed rate Fa with the calculated most recent target feed rate Ft (Step S61). If Ft ≤ Fa, a judgement is made if it is decelerating or operating at a constant feed rate now (Step S62). If the judgement is "NO" or in an acceleration stage, the feed rate is continued to accelerate in accordance with the current feed rate curve (Step S63). If "YES", the feed rate curve will be constant at the current feed rate (Step S64). The obtained feed rate curve is used to determine the start point to initiate deceleration to reach the target feed rate Ft at the head of the most recent machining block over the machining blocks in the buffer in accordance with the acceleration/deceleration curve determined by the parameter. A new feed rate command curve is generated by combining the feed rate curve up to the deceleration start point and the feed rate curve past the deceleration start point (Step S65). On the other hand, if judged Ft > Fa in Step S61, an acceleration command curve to accelerate toward the target feed rate over the machining blocks in the buffer based on the acceleration/deceleration curve predetermined by the parameter (Step S66). An example of steps of generating the feed rate command curve provided with 5 buffers is illustrated in FIG. 15A through 15E. The vertical and horizontal axes in FIG. 15 represent feed rate and time respectively. Arrows N6 through N10 below the horizontal axis represent processing timing for the blocks N6 through N10. For example, processing for machining block N6 is carried out in FIG. 15A. A feed rate Ft6 for machining block N6 is determined and instructions are sent to process the machining blocks N1 through N4 at a predetermined feed rate Fc (command feed rate). In machining block N5, a deceleration start point T DA is calculated based on the acceleration (acceleration/deceleration curve) determined by the parameter so that the feed rate Ft6 is reached at the start of machining block N6. A feed rate command curve is obtained to initiate deceleration from T DA . Referring now to FIG. 15B, processing for machining block N7 is carried out in the similar manner. That is, a new deceleration start point T DB (within the processing period for machining block N5) is calculated so that the feed rate Ft7 will be reached at the start of processing of machining block N7. A feed rate command curve is obtained to decelerate at the above acceleration. In FIG. 15C, a deceleration start point T DC is calculated so that the feed rate Ft8 will be reached when carrying out machining block N8 and a feed rate command curve is obtained to initiate deceleration at time T DC . Similarly, in FIG. 15D, machining block N9 is carried out to obtain the feed rate Ft9 for machining block N9 and deceleration operation is initiated at the deceleration start point T DD (within the processing period for machining block N6). Now, in FIG. 15E, feed rate Ft10 for machining block N10 is obtained while carrying out machining block N7. Since the feed rate Fa at this (present) time is in deceleration and Ft10 is higher than Fa, a feed rate command curve is obtained to enter acceleration mode at time T UE based on the above acceleration. The above described processing not only eliminates mechanical shock in carrying out continuous small machining blocks but also ensures high speed machining. A high speed machining is particularly responsible for processings S62 through S64 in FIG. 14. This will be described in detail by reference to FIG. 16A through 16F showing a similar relationship to FIG. 15. In FIG. 16A, processing feed rate Ft10 is obtained by carrying out machining block N10 among machining blocks N1 through N10. A feed rate command curve is obtained based on the NC data for machining blocks N6 through N10 stored in the buffer. In FIG. 16B, it is impossible to set the feed rate Ftll for the long lasting machining block N11 at the beginning of the machining block N11 because the acceleration is constant. Accordingly, it is in the middle of machining block N11 to be set to Ft11. When a feed rate Ft12 lower than the current feed rate Fa is obtained for machining block N12 while processing the machining block N11, it is normal to maintain the constant feed rate Fa if there are no processing steps S62 through S64 in FIG. 14. A deceleration start point T DC is calculated to achieve feed rate Ft12 at the start of the machining block N12 (FIG.16C). A feed rate command curve is obtained to start deceleration at time T DD and reach feed rate Ft13 for machining block N13 as illustrated in Fig. 16D. On the other hand, in the present embodiment, if the target feed rate Ft12 to be obtained during processing of the machining block N12 is lower than the current feed rate Fa in the acceleration stage as illustrated in Fig. 16E, a feed rate curve is chosen to continue acceleration in accordance with the current feed rate curve. A deceleration start point TDE is calculated so that the feed rate Ft12 is reached at the processing start point for the machining block N12. Deceleration is initiated at this time T DE . When the feed rate Ft13 is obtained by processing the machining block N13, since it is in an acceleration stage as shown in Fig. 16F, a feed rate command curve is generated to continue the acceleration until the time TDE and maintain the feed rate constant until deceleration is initiated at a deceleration start point T DF , thereby the feed rate Ft13 is reached at the start of the machining block N13. A feed rate command curve is generated according to the invention over a plurality of machining blocks in a buffer in such a manner that a new feed rate can be set for a new machining block by storing NC data for a plurality of machining blocks in the buffer memory and sequentially renewing NC data for a new machining block when a space area is available in the buffer memory. The feed rate control is carried out in accordance with the most recently generated or updated feed rate command curve. This eliminates mechanical shock in processing continuous small machining blocks and enables highly efficient and high speed machining by eliminating waste time. As understood from the above description, the feed rate control method and apparatus in a numerical control according to the present invention preferably calculates the tolerable maximum feed rate Fd in the real time based on the tolerable minimum moving time Ta to be determined by the data interpretation time and the like and the length of movement of the machining block. If the command feed rate Fc exceeds the tolerable maximum feed rate Fd, the actual feed rate F for the block is set to the tolerable maximum feed rate Fd. As a result, processing can be done in time even for a small moving block which cannot be processed normally, thereby assuring smooth deceleration to avoid mechanical shock to the machine tool and reduced machining accuracy. Also in the present invention, preferably the tolerable minimum moving time Ta is obtained in the following manner. Firstly, a required machining time is previously calculated for each processing mode element. Machining mode elements contained in processing in each block are judged and the sum of the processing times for the judged elements is calculated to provide the tolerable minimum moving time Ta. As a result, the feed rate control efficiently achieves fast feed rate and highly efficient machining. Alternatively, the tolerable minimum moving time Ta may be obtained in the following manner. Machining blocks are analyzed to determine their function patterns. A time required for processing each analyzed pattern is measured and stored in a memory. When processing a particular pattern, the processing time for the pattern is read out of the memory to achieve high feed rate control. This enables to obtain better suited tolerable minimum moving time while machining, thereby eliminating waste time to calculate the tolerable minimum moving time.

Claims: A feed rate control method in numerical control (NC) to control a feed rate of a tool based on NC data stored in a buffer memory (3) in which machining block (N) NC data is sequentially stored for a time, the method comprising the steps of: calculating a target feed rate (F t ) for the most recently entered machining block (N) based on the NC data for the most recent machining block stored in the buffer memory (3); comparing (S61) a current tool feed rate (F a ) and the target feed rate (F t ); generating (S62, S63, S64, S66) a feed rate command curve, based on the result of the comparison (S61), representing a feed rate change from the current feed rate (F a ) to the target feed rate (F t ) for the most recent machining block in accordance with an acceleration/deceleration curve over a plurality of machining blocks (N) stored in the buffer; updating (S65) the generated feed rate command curve whenever a new NC data for the most recent machining block is stored; and controlling the tool feed rate (F) in accordance with the updated feed rate command curve. A feed rate control method in numerical control in accordance with claim 1, wherein said feed rate command curve is generated (S66) to accelerate the feed rate (F) toward the target feed rate (F t ) in accordance with a predetermined acceleration curve if the comparison result (S61) is that the target feed rate (F t ) is higher than the current feed rate (F a ). A feed rate control method in numerical control in accordance with claim 1 or 2, wherein the new feed rate command curve is generated using the following steps: maintaining the current feed rate (F a ) if the comparison result (S61) shows that the target feed rate (F t ) is slower than the current feed rate (F a ) and that the current feed rate (F a ) is in either deceleration or constant mode; on the other hand, if the current feed rate (F a ) is in the acceleration mode, continuing acceleration in accordance with the current feed rate curve and calculating a deceleration start point (T D ) to decelerate at a predetermined acceleration/deceleration curve so that the feed rate (F t ) for the most recent machining block is reached at the start point for the most recent machining block, thereby intercoupling the feed rate curve up to the deceleration start point (T D ) and the feed rate curve subsequent to the deceleration start point and up to the most recent machining block. A feed rate control apparatus in numerical control (NC) to control a feed rate of a tool based on NC data stored in a buffer memory (3) in which machining block NC data is sequentially stored for a time, the apparatus comprising: calculating means for calculating a target feed rate (F t ) for the most recently entered machining block (N) based on the NC data for the most recent machining block stored in the buffer memory (3); comparing means (S61) for comparing a current tool feed rate (F a ) and the target feed rate (F t ); a feed rate command curve generating means (4, S62, S63, S64, S66) for generating a feed rate command curve, based on the result of the comparison (S61), representing a feed rate change from the current feed rate (F a ) to the target feed rate (F t ) for the most recent machining block in accordance with an acceleration/deceleration curve over a plurality of machining blocks; and updating means (4, S65) for updating the generated feed rate command curve whenever a new NC data for the most recent machining block is stored, thereby controlling tool feed rate (F) in accordance with the obtained feed rate command curve.

Inventors: KAWANA AKIRA, KURISAKI NOBUO, MORI NORIO, TANUMA MASASHI, YOSHIDA JUN, KAWANA, AKIRA, KURISAKI, NOBUO, MORI, NORIO, TANUMA, MASASHI, YOSHIDA, JUN, Kawana, Akira, c/o Makino Milling Machine Co., Ltd, KURISAKI, NOBUO, C/O MAKINO MILLING MACHINE CO.LTD, Mori, Norio, c/o Makino Milling Machine Co., Ltd., Tanuma, Masashi, c/o Makino Milling Machine Co.Ltd, YOSHIDA, JUN, C/O MAKINO MILLING MACHINE CO., LTD.
Applicants: MAKINO MILLING MACHINE, MAKINO MILLING MACHINE CO. LTD.
Application year: 1992
Main classification: G05B19
IPC codes: G05B19