FEED SPEED CONTROL METHOD OF NUMERIC CONTROLLER

Abstract: A feed speed control method of a numeric controller for controlling the feed speed of a tool moving along an instructed machining path in accordance with a machining program. The speed of each axis is determined (S2) and acceleration of each axis is determined (S3) from the change in the speed of preceding and succeeding blocks. When acceleration (ΔVx) is greater than an allowable acceleration/deceleration (ΔVxmax) (S4), a first ratio (K1) between the allowable acceleration and the acceleration described above is determined (S5) and the smallest first ratio among the first ratios of the axes is selected. The actual feed speed is determined by multiplying the instruction speed by the root of the smallest first ratio (S9). In this manner, shock of a machine in the block in which very small distribution distances continue can be reduced and an over-load to a servo-motor can be reduced.

Description: Technical Field This invention relates to a feed speed control method for a numerical control device, and more particularly, to a feed speed control method for a numerical control device by which a correct feed speed is automatically derived. Background Art In numerical control devices (CNC), a workpiece is machined to a desired shape by moving a tool at a commanded speed along a machining path instructed by a machining program. To efficiently effect the machining operation at a high precision, the machining speed for each block must be determined by taking into account the shape to be machined, the maximum torque of a motor, the degree of shock to a machine, and the like. In particular, when a machining program is prepared, an exact stop command is inserted at, for example, a corner portion of an instructed path for a workpiece at which the cutting direction is greatly changed. To create such a program, however, a relatively high level of skill, and a great deal of labor are required. Namely, a programmer must determine an optimum machining speed (feed speed) by taking the machine tool, the shape of a workpiece, and the like into consideration. Further, if the machining speed is set to a value which is unnecessarily low in comparison with the performance of the machine tool, when the program is prepared, a problem arises in that the performance of the machine tool cannot be fully utilized. The inventors of this invention proposed, in Japanese Patent Application No. 63-224932, a method of deriving a feed speed which causes a speed variation of each axis at a corner portion to be smaller than a maximum permissible speed difference derived from a predetermined maximum permissible torque, for the control of the speed. Further, as a related application, a method of controlling the acceleration/deceleration was proposed in Japanese Patent Application No. 1-15595, which method can reduce a load caused by a repetition of an acceleration/deceleration of a servomotor when blocks continue for infinitesimal distribution distances. The method proposed in Japanese Patent Application No. 63-224932 is effective for a corner portion with a large angular variation, but a correct feed speed cannot be derived where individual speed variations are small but an actual acceleration for each axis is large, because the variations occur successively in a short time; for example, in the case of a free curve approximately represented by straight lines. In this case, the mechanical shock may be increased and an excessively large load may be applied to a servomotor. DE-A-3545795 discloses a numerical control apparatus having a feedrate difference reduction capability in which feedrate differences for respective control axes are calculated from a program and decelerations for the respective control axes are calculated from preestablished allowable feedrate difference settings and the calculated feedrate differences. This invention has been made in view of the above circumstances, and an object thereof is to provide a feed speed control method for a numerical control device by which shock to the machine can be reduced. Further, another object of this invention is to provide a feed speed control method for a numerical control device by which the occurrence of shock to a machine or an excessively large load on a servomotor can be prevented during the execution of a machining program containing successive infinitesimal distribution distances. According to the present invention, there is provided a feed speed control method for a numerical control device in which a feed speed of a tool travelling along an instructed machining path is controlled in accordance with a machining program, the feed speed control method comprising the steps of: deriving an acceleration of each axis based on a variation in speed between adjacent blocks and distribution distances and speeds of the adjacent blocks; and, comparing said acceleration with a permissible acceleration for each axis; characterised by: deriving a first ratio of a permissible acceleration to the acceleration for each axis when the acceleration of each axis is larger than a permissible acceleration; selecting the smallest of the first ratios associated with individual axes; and, multiplying a command speed by the square root of the smallest first ratio to derive an actual feed speed. An acceleration of each axis is derived based on a variation in speed at a corner portion of each block, and the distribution distances of the blocks before and after the corner, and a feed speed which makes the acceleration smaller than the maximum permissible acceleration is derived to effect the speed control. As a result, it is possible to reduce shock to the machine which may occur in the blocks having successive infinitesimal distribution distances, where a curve is approximated by straight lines, for example, and thus an excessively large load on the servomotor can be prevented. In the drawings: Fig. 1(a) and Fig. 1(b) are flowcharts illustrating a feed speed control method for a numerical control device according to this invention; Fig. 2 is a block diagram showing hardware of the numerical control device (CNC) for carrying out this invention; Fig. 3 is a diagram showing an example of an actual machining path; and, Fig. 4 is a graph showing a speed in an X-axis direction when a machining operation is effected at a constant command feed speed. Best Mode of Carrying Out the Invention An embodiment of this invention will be described with reference to the accompanying drawings. Figure 3 is a diagram showing an example of an actual machining path. In this figure, N1 to N7 indicate the machining paths of individual blocks. In this case, the machining path lies in an XY plane and the speed of each axis is greatly varied, although the command speed is constant. For example, the speed in the X-axis direction is small in the block N1, but becomes high in the block N2 because an angle of the machining path with respect to the X-axis becomes small. Figure 4 is a graph showing a speed in the X-axis direction when a machining operation is effected at a constant command feed speed. In this case, the abscissa indicates time (t) and the ordinate indicates a velocity Vx in the X-axis direction. Since a large speed difference exists at a corner between the blocks N1 and N2, a deceleration may be considered necessary because the speed difference is larger than the permissible speed difference, when employing a conventional method or a method in which the permissible speed difference and the speed difference between the blocks are compared to reduce the speed. On the other hand, since a variation in speed is smaller than the permissible speed difference at corner portions between the blocks N2 and N3 and between the blocks N3 and N4, a deceleration is considered unnecessary when using the conventional method. In practice, however, a large speed variation exists from the block N2 to N7. For example, the speed difference between the blocks N1 and N2, i.e., the acceleration, can be expressed by the broken line L1. On the other hand, speed variations between the blocks N2 and N3 and between the blocks N3 and N4, i.e., acceleration in these blocks, can be expressed by the broken line L2. The latter acceleration is larger than the acceleration expressed by the broken line L1, and accordingly, an excessively large load may be applied to the motor or the machine may suffer an excessively large shock. Therefore, the variation rate of speed or the acceleration must be made less than a permissible value, in addition to the magnitude of the speed variation. The acceleration is derived by the following equation. α = (Vm - Vn)/min{(lm/Fm), (ln/Fn)} In the above equation, min{ } means that the smallest of the elements in { } is used. Next, assuming that the accelerations in the X-axis, Y-axis and Z-axis directions are A(X), A(Y) and A(Z), and the maximum permissible accelerations thereof are Ap(X), Ap(Y) and Ap(Z), respectively, then an actual feed speed F at a corner is derived by the following equation. F = Fcmin{(Ap(X)/A(X), Ap(Y)/A(Y), Ap(Z)/A(Z)} 1/2 A smooth and high-precision machining operation in which no shock is given to the machine and an excessively large load is not applied to the motor can be performed by effecting a control such that a smaller of the feed speed F and a feed speed derived by the conventional method is selected as a feed speed at a corner. Figures 1(a) and 1(b) are flowcharts illustrating a feed speed control method for a numerical control device according to this invention. In these figures, a numeral following "S" indicates a step number. In practice, the ratio of the permissible speed difference to the speed difference and the ratio of the permissible acceleration to the acceleration are derived for each axis, and then the smallest of the ratios is selected. The flowcharts, however, describe only the ratio with respect to the X-axis, for the sake of simplicity. S2 to S6 are steps for deriving the ratio of the permissible speed difference to the speed difference, and S7 to S10 are steps for deriving the ratio of the permissible acceleration to the acceleration, and the smaller of these ratios is selected in S11 to determine the actual feed speed. [S1] A variable MK1 and a variable MK2 are set to "1." The variable MK1 is the speed ratio and the variable MK2 is the acceleration ratio. [S2] The speed Vx along the X-axis corresponding to the command speed F is derived. In the case of a machining path in the XY plane, this can be derived by Vx = Fcosϑ assuming that an angle between the machining path and the X-axis is ϑ. [S3] A difference ΔVx in speed between blocks is derived by the following equation. ΔVx = Vxm - Vxn where Vxm denotes the speed of the preceding block along the X-axis and Vxn denotes the speed of the current block along the X-axis. [S4] It is determined whether or not the speed difference ΔVx between the blocks is larger than the permissible speed difference ΔVxmax. If the former is larger than the latter, it is necessary to reduce the speed, and thus S5 is executed; if not, S7 is executed. [S5] The ratio of the permissible speed difference ΔVxmax to the speed difference ΔVx is derived and is set as K1. K1 is a value used for the reduction of the speed. [S6] K1 is substituted for the variable MK1. [S7] An acceleration α is derived by the following equation. α = ΔVx/min{(lm/Fm), (ln/Fn)} where ΔVx: the speed difference in the X-axis direction at a corner; lm: the distance of travel of the preceding block; ln: the distance of travel of the current block. Further, min{ } indicates that the smaller of the elements in the brackets is selected. [S8] It is determined whether or not the derived acceleration α is larger than the permissible acceleration αmax, and if the former is larger than the latter, S9 is executed; if not, S11 is executed. [S9] The square roots of the permissible acceleration αmax and acceleration α are derived. K2 = (αmax/α) 1/2 where K2 is the ratio used for the reduction of the feed speed and derived from the acceleration. [S10] The ratio K2 is substituted for the variable MK2. [S11] The smaller of the ratio MK1(K1) derived from the speed difference and the ratio MK2(K2) derived from the ratio of the accelerations is selected for the actual command feed speed, and is multiplied by the command feed speed Fc to derive an actual feed speed F. Thus, shock to the machine and excessive load on the servomotor can be prevented by reducing the feed speed, to thereby enhance the machining precision. Figure 2 is a block diagram of hardware of a numerical control device (CNC) for carrying out this invention. A processor 11 controls the entire numerical control device in accordance with the system program stored in a ROM 12, which is an EPROM or EEPROM. A DRAM is used as a RAM 13 for storing various data. A nonvolatile memory 14 is used for storing a machining program 14a, parameters and the like, and the contents thereof can be preserved after the power supply to the numerical control device is cut off since a CMOS or the like backed up by a battery is used therefor. Further, parameters such as the permissible acceleration αmax and the permissible speed difference ΔVmax are also stored in the nonvolatile memory 14. A PMC (programmable machine controller) 15 receives commands such as M function, S function and T function, decodes and processes the commands in accordance with the sequence program 15a, and outputs a signal for controlling the machine tool. Further, a signal from a limit switch on the machine side or a switching signal from a machine control panel is received and processed in accordance with the sequence program 15a, an output signal for controlling the machine side is output, and a signal for the numerical control device is supplied to the RAM 13 via a bus 25 and read by the processor 11. A graphic control circuit 16 converts data stored in the RAM 13, such as current positions, traveled distances, etc. of the individual axes, into display signals, and supplies the same to a display unit 16a at which they are displayed. A CRT, liquid crystal display unit or the like is used for the display unit 16, and a keyboard 17 is used for inputting various data. An axis control circuit 18 receives a position command from the processor 11 and outputs a speed command signal to a servo amplifier 19 to control a servomotor 20. Namely, the servo amplifier 19 amplifies the speed command signal to drive the servomotor 20. The servomotor 20 is connected to a pulse coder 21 for outputting a position feedback signal, and the pulse coder 21 feeds back a position feedback pulse to the axis control circuit 18. Instead of the pulse coder 21, a position detector such as a linear scale may be used. These elements must be provided in a number thereof corresponding to that of the axes, but in this example, only the elements for one axis are shown because these elements all have the same construction. An input/output circuit 22 transfers input/output signals with respect to the machine side, i.e., receives a limit switch signal on the machine side and a switching signal of the machine control panel, which signals are read by the PMC. Further, the input/output circuit receives a signal for controlling pneumatic actuator or the like on the machine side, output from the PMC 15, and outputs the same to the machine side. A manual pulse generator 23 is used to output a pulse train for moving the individual axes at a high precision in accordance with a rotation angle, and to determine the machine position at a high precision. The manual pulse generator 23 is normally mounted on the machine control panel. In the figure, a spindle motor, a spindle amplifier and a spindle control circuit for controlling a spindle are omitted. Further, only one processor is used here, but a multi-processor having a plurality of processors can be used, depending on the system. As described above, according to this invention, since the feed speed is reduced in accordance with the permissible acceleration and the acceleration between the blocks, an excessively large shock to the machine and the occurrence of machining error caused by a failure of the motor to follow the command can be prevented. As a result, the machining precision is enhanced and the reliability of the machine is improved.

Claims: A feed speed control method for a numerical control device in which a feed speed of a tool travelling along an instructed machining path is controlled in accordance with a machining program, the feed speed control method comprising the steps of: deriving an acceleration of each axis based on a variation in speed between adjacent blocks and distribution distances and speeds of the adjacent blocks; and, comparing said acceleration with a permissible acceleration for each axis; characterised by: deriving a first ratio of a permissible acceleration to the acceleration for each axis when the acceleration of each axis is larger than a permissible acceleration; selecting the smallest of the first ratios associated with individual axes; and, multiplying a command speed by the square root of the smallest first ratio to derive an actual feed speed. A method according to claim 1, wherein the speed difference and the permissible speed difference of each axis between the adjacent blocks are compared, and a second ratio of the permissible speed difference to the speed difference is derived for each axis when the speed difference is larger than the permissible speed difference; the smallest of the second ratios associated with the individual axes is selected; and, a smaller of the first and second ratios is multiplied by the command feed speed to derive an actual feed speed. A method according to claim 1, wherein the acceleration α for each axis is derived by the following equation: α = (Vm - Vn)/min{(lm/Fm), (ln/Fn)} where (Vm - Vn) is a speed difference of each axis at a corner; lm is a distance of travel of a preceding block; ln is a distance of travel of a current block; Fm is the feed speed of the preceding block; and Fn is the feed speed of the current block; and, an actual feed speed F is derived by the following equation when the acceleration α is larger than a maximum permissible acceleration αmax, which is separately set, F = Fc.(αmax/α) 1/2 where αmax is the maximum permissible acceleration and α is the acceleration.

Inventors: FUJIBAYASHI KENTARO - - NISHIK, OTSUKI TOSHIAKI - - SHINMEI, SAITO YASUHIRO FANUC DAI- VIRA, SASAKI TAKAO ESTATE HACHIOJI -, FUJIBAYASHI, KENTARO 2-8-6, NISHIKUBO, OTSUKI, TOSHIAKI 4-10-7, SHINMEI, SAITO, YASUHIRO FANUC DAI-3 VIRA-KARAMATSU, SASAKI, TAKAO ESTATE HACHIOJI 2-502
Applicants: FANUC LTD, FANUC LTD.
Application year: 1990
Main classification: G05B19
IPC codes: G05B19