Controller for a machine tool to perform efficient warm-up control
09956660 ยท 2018-05-01
Assignee
Inventors
Cpc classification
B23Q11/14
PERFORMING OPERATIONS; TRANSPORTING
G05B19/404
PHYSICS
B23Q15/18
PERFORMING OPERATIONS; TRANSPORTING
B23Q15/12
PERFORMING OPERATIONS; TRANSPORTING
B23Q11/0007
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/49204
PHYSICS
International classification
B23Q11/14
PERFORMING OPERATIONS; TRANSPORTING
B23Q11/00
PERFORMING OPERATIONS; TRANSPORTING
G05B19/404
PHYSICS
B23Q15/12
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A thermal displacement state (target thermal displacement state) in which thermal displacement of a machine tool is saturated when the machine tool is operated based on a machining program is previously stored, and a warm-up operation pattern of a motor is determined so as to approach the target thermal displacement state. The motor is driven based on the warm-up operation pattern and the warm-up operation of the motor is stopped if the thermal displacement state of the machine tool is within a predetermined range.
Claims
1. A controller for a machine tool, the controller being configured to drive at least one motor based on a machining program to drive a spindle and a feed screw of the machine tool, the controller comprising: a memory that stores, as target thermal displacement states of the spindle and the feed screw, thermal displacement states of the spindle and the feed screw when operated by respective warm-up operations such that thermal displacements of the spindle and the feed screw are saturated, wherein a thermal displacement state indicates at least one of thermal displacement amounts, thermal displacement distributions, and temperature distributions, and wherein a thermal displacement is determined to be saturated when displacement is stabilized; and a processor configured to: calculate the thermal displacement states for the spindle and the feed screw, wherein the thermal displacement state of the spindle is calculated by dividing the spindle into a plurality of sections, calculating temperatures of the plurality of sections of the spindle, and calculating heat conduction between adjacent sections of the spindle, and wherein the thermal displacement of the feed screw is calculated by dividing the feed screw into a plurality of sections, calculating temperatures of the plurality of sections of the feed screw, and calculating heat conduction between adjacent sections of the feed screw; determine a warm-up operation pattern of the spindle and a warm-up pattern of the feed screw on the basis of the thermal displacement states calculated for the spindle and the feed screw, wherein, when the thermal displacement of the machine tool is saturated, the warm-up operation pattern of the spindle is determined from a rotating speed of the spindle obtained based on a total value of the temperatures of the plurality of sections of the spindle, and from a frequency of acceleration and deceleration of the spindle obtained based on an average value of temperature differences between adjacent sections of the spindle, and the warm-up operation pattern of the feed screw is determined from a feed rate obtained based on a total value of thermal displacement amounts of the plurality of sections of the feed screw, and from turning points obtained based on the thermal displacement amounts of the plurality of sections of the feed screw; drive the at least one motor according to the warm-up operation patterns determined for the spindle and the feed screw, wherein the spindle and the feed screw are driven to perform the respective warm-up operations up to a warm-up operation termination; and determine the warm-up operation termination by calculating a current thermal displacement state of the spindle and a current thermal displacement state of the feed screw, comparing the calculated respective current thermal displacement states of the spindle and the feed screw with the stored respective target thermal displacement states of the spindle and the feed screw, and respectively stopping the at least one motor driving the spindle or the feed screw in response to a respective difference between the calculated respective current thermal displacement state and the stored respective target thermal displacement state of the spindle or the feed screw being not larger than a respective predetermined threshold value, to terminate the respective warm-up operation of the spindle or the feed screw.
2. The controller according to claim 1, wherein the processor is configured to calculate the thermal displacement states of the spindle and the feed screw even after the at least one motor is stopped, and resume driving the motor by the at least one motor in response to a determination that the calculated thermal displacement states do not conform with the respective target thermal displacement states.
3. The controller according to claim 1, further comprising: a position sensor configured to measure actual thermal displacement amounts for the plurality of sections obtained by dividing the feed screw; and a temperature sensor configured to measure actual temperatures of the plurality of sections of the feed screw, wherein the processor is configured to obtain a value of the thermal displacement state of one part of the plurality of sections of the feed screw from the position sensor, and estimate the thermal displacement state of the other part of the plurality of sections of the feed screw from the obtained value.
4. The controller according to claim 1, wherein a relationship between a moving speed of the machine tool and a heat quantity on the feed screw is previously obtained and stored into the memory in the form of a table.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other objects and features of the present invention will be obvious from the ensuing description of embodiments with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(13) A controller for a machine tool according to the present invention will be described with reference to the block diagram of
(14) A numerical controller 10 for controlling a machine tool constitutes a thermal displacement compensation device (described later) for the machine tool. A processor (CPU) 11 of the numerical controller 10 reads a system program stored in a ROM 12 through a bus 21 and generally controls the numerical controller 10 according to the read system program. A RAM 13 is loaded with temporary calculation data, display data, various data input by an operator through an LCD/MDI unit (manual data input device with a liquid crystal display) 70, and the like.
(15) An SRAM 14 is constructed as a nonvolatile memory, which is backed up by a battery (not shown) so that it can maintain its storage state even after the numerical controller 10 is powered off. The SRAM 14 is stored with a program for the measurement of an initial position, a program for thermal displacement compensation of the machine tool, a machining program (described later) read through an interface 15, a machining program input through the LCD/MDI unit 70, and the like. Further, the ROM 12 is preloaded with various system programs for the execution of edit-mode processing required for the creation and editing of the machining programs and processing for automatic operation.
(16) The interface 15 is an interface for external equipment that can be connected to the numerical controller 10, to which an external device 72 such as an external storage device is connected. The machining programs, thermal displacement measurement program, and the like are read from the external storage device. A programmable machine controller (PMC) 16 controls auxiliary devices and the like on the machine-tool side by means of sequential programs in the numerical controller 10. Necessary signals on the auxiliary-device side are converted according to these sequential programs, based on M-, S- and T-functions commanded by the machining programs. The converted signals are output to the auxiliary-device side through an input-output unit 17. The auxiliary devices, e.g., various actuators, are activated by these output signals. When signals are received from various switches of a control panel on the body of the machine tool, moreover, they are processed as required and delivered to the processor 11.
(17) Image signals indicative of current positions of the axes of the machine tool, alarms, parameters, image data, and the like are delivered to the LCD/MDI unit 70 and displayed on its display. The LCD/MDI unit 70 is a manual data input device including the display, a keyboard, and the like. An interface 18 receives data from the keyboard of the LCD/MDI unit 70 and delivers it to the processor 11.
(18) An interface 19 is connected to a manual pulse generator 71. The manual pulse generator 71 is mounted on the control panel of the machine tool and used to precisely position movable parts of the machine tool by individual-axis control with distributed pulses based on manual operation. X- and Y-axis control circuits 30 and 31 for moving a table T of the machine tool and a Z-axis control circuit 32 receive axis movement commands from the processor 11 and output the commands for the individual axes to servo amplifiers 40 to 42. On receiving these commands, the servo amplifiers 40 to 42 drive servomotors 50 to 52 for the individual axes of the machine tool, respectively. Position detectors for position detection are incorporated in the servomotors 50 to 52, individually. Position signals from these position detectors are fed back as pulse trains.
(19) A spindle control circuit 60 receives a spindle rotation command for the machine tool and outputs a spindle rotating speed signal to a spindle amplifier 61. On receiving this spindle speed signal, the spindle amplifier 61 rotates a spindle motor 62 of the machine tool at a commanded rotational speed, thereby driving a tool. A position detector 63 is coupled to the spindle motor 62 by gears, a belt, or the like. The position detector 63 outputs feedback pulses in synchronization with the rotation of a spindle, and the feedback pulses are read through an interface 20 by the processor 11. Reference numeral 65 denotes a clock device adjusted so as to synchronize with the current time.
(20) The following is a description of steps of processing performed by the numerical controller 10.
(21) <1. Calculation of Thermal Displacement State>
(22) A method of thermal displacement state calculation performed by the numerical controller 10 of
(23) <1.1. Calculation of Spindle Thermal Displacement State>
(24) As an example of a method for calculating the thermal displacement state of the spindle, there is a method in which the thermal displacement state of a spindle system is estimated from the drive state of the machine tool. As shown in
(25) The friction of the spindle and the spindle motor are assumed to be heat sources, and heat from these heat sources applied to the adjacent sections is calculated. Since each section radiates heat into the atmosphere, moreover, heat removed from each section is also calculated. The temperature distribution of each section is estimated by combining these calculations.
(26)
Q.sub.1=Q.sub.21+Q.sub.31+Q.sub.SM+Q.sub.SPQ.sub.air,(1)
where Q.sub.21 and Q.sub.31 are heat quantities exchanged between Section 1 and Sections 2 and 3, respectively, and Q.sub.air is a heat quantity exchanged between Section 1 and the outside air. Further, Q.sub.SM and Q.sub.SP are heat quantities given from the spindle motor and the spindle as the heat sources to Section 1.
(27) The heat quantities Q.sub.21 and Q.sub.31 can be obtained based on temperature differences between the sections and are given by expression (2) as follows:
Q.sub.21=k.sub.21.Math.(T.sub.2T.sub.1),
Q.sub.31=k.sub.31.Math.(T.sub.3T.sub.1)(2)
(28) T.sub.1, T.sub.2 and T.sub.3 of expression (2) are temperatures of Sections 1, 2 and 3, respectively. Further, k.sub.21 and k.sub.31 are coefficients of heat transfer between Sections 2 and 1 and between Sections 3 and 1, respectively, and are previously calculated by experiment or the like and loaded into a memory.
(29) Furthermore, the heat quantity Q.sub.air can be obtained based on the difference between the temperature of Section 1 and the outside air temperature and is given by expression (3) as follows:
Q.sub.air=f.sub.1.Math.(T.sub.airT.sub.1).(3)
(30) Here f.sub.1 of expression (3) is a function indicative of the state of heat dissipation to the outside air and is previously obtained in the form of a function or a table for each section by experiment or the like and loaded into the memory or the like.
(31) For the heat quantities Q.sub.SM and Q.sub.SP, moreover, relation between parameters such as the temperature of the winding of the spindle motor and number of revolutions of the spindle and the given heat quantities Q.sub.SM and Q.sub.SP are previously obtained in the form of a table by experiment or the like and loaded into the memory or the like.
(32) A temperature change T.sub.1 in Section 1 due to the heat exchange can be obtained by dividing the heat quantity Q.sub.1 by a heat capacity q.sub.1 for Section 1 according to expression (4) as follows:
T.sub.1=Q.sub.1/q.sub.1.(4)
(33) Thus, a temperature T.sub.1 of Section 1 can be obtained by calculating the temperature change T.sub.1 in Section 1 for each predetermined period and adding the change T.sub.1 to the temperature T.sub.1 of Section 1 according to expression (5) as follows:
T.sub.1T.sub.1+T.sub.1.(5)
(34) While the above expression is a calculation formula for the estimation of the temperature of Section 1 in the two-dimensional model of
(35) The method of division into the sections of
(36) Instead of estimating the thermal displacement state, moreover, measured values of the thermal displacement amounts and thermal displacement distributions may be obtained by means of a position sensor or measured values of temperature distributions may be obtained by means of a temperature sensor. Alternatively, these two methods may be combined so that a measured value of the thermal displacement state of a part is obtained and the thermal displacement state of the remaining part is estimated from the obtained value.
(37) <1.2. Calculation of Feed Screw Thermal Displacement State>
(38) As an example of a method for calculating the thermal displacement state of the feed screws by the controller of the present invention, there is a method in which the thermal displacement state of the feed screws is estimated from the drive state of the machine tool. As shown in
(39) Frictional heat between the feed screw 90 and a ball nut 91 due to axial movement is assumed to be a heat source, and heat from the heat source applied to the adjacent sections is calculated. Since each section radiates heat into the atmosphere, moreover, heat removed from each section is also calculated. The temperature distribution of each section is estimated by combining these calculations.
(40)
Q.sub.I=Q.sub.I1+Q.sub.I+1+Q.sub.BNQ.sub.air,(6)
where Q.sub.I1 and Q.sub.I+1 are heat quantities exchanged between Section I and Sections (I1) and (I+1), respectively, and Q.sub.air is a heat quantity exchanged between Section I and the outside air. Further, Q.sub.BN is a heat quantity given from the heat of friction with the ball nut to Section I. The heat quantities Q.sub.I1 and Q.sub.I+1 can be obtained based on the temperature differences between the sections and are given by expression (7) as follows:
Q.sub.I1=k.sub.I.Math.(T.sub.I1T.sub.I),
Q.sub.I+1=k.sub.I.Math.(T.sub.I+1T.sub.I).(7)
(41) T.sub.I, T.sub.I1 and T.sub.I+1 of expression (7) are temperatures of Sections I, (I1) and (I+1), respectively. Further, k.sub.I is a coefficient of heat transfer between Section I and Sections (I1) and (I+1) and is previously calculated by experiment or the like and loaded into a memory. Furthermore, the heat quantity Q.sub.air can be obtained based on the difference between the temperature of Section I and the outside air temperature and is given by expression (8) as follows:
Q.sub.air=g.sub.I.Math.(T.sub.airT.sub.I).(8)
(42) Here g.sub.I of expression (8) is a function indicative of the state of heat dissipation to the outside air and is previously obtained in the form of a function or a table for each section by experiment or the like and loaded into the memory or the like. For the heat quantity Q.sub.BN, moreover, the relationship between the moving speed of the ball nut 91 and the heat quantity Q.sub.BN is previously obtained in the form of a table by experiment or the like and loaded into the memory or the like.
(43) A temperature change T.sub.1 in Section I due to the heat exchange expressed by expression (6) can be obtained by dividing the heat quantity Q.sub.I by a heat capacity q.sub.I for Section I according to expression (9) as follows:
T.sub.I=Q.sub.I/q.sub.I.(9)
(44) Thus, a temperature T.sub.1 of Section I can be obtained by calculating the temperature change T.sub.1 in Section I for each predetermined period and adding the change T.sub.1 to the temperature T.sub.1 of Section I according to expression (10) as follows:
T.sub.IT.sub.I+T.sub.1.(10)
(45) If the ball nut 91 is not in contact with Section I in a period to be calculated, the heat quantity Q.sub.BN as a term of expression (6) is treated as zero.
(46) The expansion and contraction of each section are estimated based on the temperature T.sub.I estimated in this manner, whereby the elongation of the feed screws is calculated. A thermal displacement amount .sub.nI for each section (Section 0 to Section X) is estimated from the estimated temperature T.sub.I according to expression (11) as follows:
.sub.nI=.sub.I.Math.W.sub.I.Math.(T.sub.IT.sub.0).(11)
(47) In expression (11), T.sub.0, W.sub.I and .sub.I are an initial temperature, length of Section I, and linear expansion coefficient, respectively. Further, a thermal displacement distribution L.sub.nI in each position of the feed screw is estimated according to expression (12) as follows:
L.sub.nI=.sub.n0+.sub.n1+ . . . +.sub.nI.(12)
(48) The thermal displacement amounts and thermal displacement distributions can be simultaneously estimated by this method. In the present invention, the estimation of the thermal displacement state of the feed screw is not limited to the aforementioned method and can alternatively be achieved by a conventional method disclosed in, for example, Japanese Patent Application Laid-Open No. 2002-018677.
(49) Instead of estimating the thermal displacement state, moreover, measured values of the thermal displacement amounts and thermal displacement distributions may be obtained by means of a position sensor or measured values of temperature distributions may be obtained by means of a temperature sensor. Alternatively, these two methods may be combined so that a measured value of the thermal displacement state of a part is obtained and the thermal displacement state of the remaining part is estimated from the obtained value.
(50) <2. Entire Flow of Warm-Up Operation>
(51) The following is a description of the entire flow of warm-up operation performed by the numerical controller 10 of
(52)
(53) In the process shown in the flowchart of
(54) [Step SA01] The same operation as actual workpiece machining operation is performed until the thermal displacement of the machine tool is saturated. Whether or not the thermal displacement of the machine tool is saturated should only be determined by measuring the displacements of each feed screw and the spindle for each predetermined period during the same operation as the actual workpiece machining operation. In this case, it can be determined that the thermal displacement is saturated when the displacement is stabilized.
(55) [Step SA02] The thermal displacement state of each feed screw and the spindle is calculated based on the drive state of the machine tool when the thermal displacement of the machine tool is saturated. In the present embodiment, the thermal displacement state is calculated by, for example, the method described in <1. Calculation of Thermal Displacement State>.
(56) [Step SA03] The thermal displacement state calculated in Step SA02 is stored in the memory and warm-up operation patterns for each feed screw and the spindle is determined. A method for determining the warm-up operation pattern will be described later.
(57) In the process shown in the flowchart of
(58) [Step SB01] The warm-up control is repeated according to the warm-up operation pattern determined in the processing of Step SA03 in the flowchart of
(59) [Step SB02] The current thermal displacement state of each feed screw and the spindle calculated during the warm-up operation is compared with the thermal displacement state of each feed screw and the spindle at the point in time when the thermal displacement is saturated, which is stored in Step SA03. If the comparison indicates that the difference between the current thermal displacement state and the thermal displacement state at the point in time when the thermal displacement of the machine tool is saturated is larger than a predetermined threshold value, the processing proceeds to Step SB01. If the difference is not larger than the predetermined threshold value, in contrast, the processing proceeds to Step SB03.
(60) [Step SB03] The warm-up operation ends.
(61) <3. Method for Determining Warm-Up Operation Pattern>
(62) The following is a description of a method for determining a warm-up operation pattern performed by the numerical controller 10 of
(63) In this determination of the warm-up operation pattern, a warm-up program is used in place of the machining programs that are used for the actual workpiece machining operation. The warm-up operation pattern for each feed screw and the spindle is described in the warm-up program, and each feed screw and the spindle can be individually activated and stopped by changing the parameters.
(64) <3.1. Determination of Warm-Up Operation Pattern for Spindle>
(65) In determining the warm-up operation pattern that reproduces a situation in which thermal displacement of a spindle is saturated, it is desirable to reproduce the temperature distribution of the entire spindle system, as well as the partial temperature of the spindle. This is because deformations of the spindle mount and the column vary depending on the temperature distribution of the spindle system and the thermal displacement amount due to the inclination of the spindle changes.
(66) In general, the spindle warms more easily at high rotation than at lower. If the spindle is continuously rotated, the spindle motor and the spindle are gradually increased in temperature, providing a gentle temperature distribution such that the temperature is high in the sections near the spindle and lower in the sections distant from the spindle. If the spindle is intermittently rotated, that is, repeatedly rotated and stopped, the spindle motor easily gets warm, in particular. If the spindle motor suddenly warms, the temperatures of the adjacent sections drastically increase, so that a sharp temperature distribution is provided. The warm-up operation pattern is determined so that these gentle and sharp temperature distributions can be reproduced by the warm-up operation.
(67) The warm-up operation pattern according to the present embodiment is based on a spindle rotating speed R.sub.S and a frequency f as parameters. The spindle repeats rotation and stop at the frequency f and is commanded with the spindle rotating speed R.sub.S when it is rotated. Such a program as shown in
(68) The warm-up operation pattern is determined based on the processing as shown in the flowchart of
(69) Before performing this processing, the relationship of a total value T.sub.SUM of temperatures and an average value T.sub.DIF of temperature differences and the spindle rotating speed R.sub.S and the spindle frequency f is previously measured by experiment or the like. A table in which these values are associated with one another is previously stored as a database in a memory such as the SRAM 14 of the numerical controller. Based on this table, the spindle rotating speed R.sub.S and the spindle frequency f are obtained in Steps SC03 and SC04. In the experiment, the total value T.sub.SUM of the temperatures and the average value T.sub.DIF of the temperature differences are recorded at the point in time when the thermal displacement is saturated with the spindle being intermittently rotated at the spindle rotating speed R.sub.S and the spindle frequency f, for example.
(70) [Step SC01] The total value T.sub.SUM of the temperatures of all the sections of the spindle system at the time of saturation of the thermal displacement is calculated. If T.sub.I is the temperature of Section I, the total value T.sub.SUM of the temperatures, in the two-dimensional model of
T.sub.SUM=T.sub.1+T.sub.2+ . . . +T.sub.9.(13)
(71) [Step SC02] The average value T.sub.DIF of the temperature differences between the adjacent sections of the spindle system at the time of saturation of the thermal displacement is calculated. In the two-dimensional model of
T.sub.DIF=(|T.sub.1T.sub.2|+|T.sub.1T.sub.3|+ . . . +|T.sub.8T.sub.9|)/13.(14)
(72) [Step SC03] Based on data on the spindle rotating speed and the total value T.sub.SUM of the temperatures, the spindle rotating speed R.sub.S corresponding to the total value T.sub.SUM of the temperatures is determined. If the total value T.sub.SUM of the temperatures is large, the determined spindle rotating speed R.sub.S is high. If the total value T.sub.SUM of the temperatures is small, the determined spindle rotating speed R.sub.S is low.
(73) [Step SC04] Based on data on the spindle rotating speed and the average value T.sub.DIF of the temperature differences, for the spindle rotating speed R.sub.S determined in Step SC03, the spindle frequency f corresponding to the average value T.sub.DIF of the temperature differences is determined. If the average value T.sub.DIF of the temperature differences is large, the determined frequency f is short. If the average value T.sub.DIF of the temperature differences is small, the determined frequency f is long.
(74) [Step SC05] The warm-up operation pattern for the spindle is determined from the spindle rotating speed R.sub.S and the spindle frequency f, and the warm-up program based on the determined warm-up operation pattern is created.
(75) <3.2. Determination of Warm-Up Operation Pattern for Feed Screw>
(76) In determining the warm-up operation pattern that reproduces situation in which thermal displacement is saturated, it is desirable to reproduce a range in which heat is produced by the actual workpiece machining operation, as well as to equalize the thermal displacement amount of the entire feed screw. This is because the feed screw is not uniformly heated, in general, and its parts exposed to the movement of the ball nut are locally heated, so that the thermal displacement is large in some parts and small in others.
(77) In general, the feed screw warms more easily when it is rotated at a high speed that produces higher friction than at a lower speed. That part of the feed screw in contact with the ball nut generates heat, which propagates to the ends of the feed screw with time. The warm-up operation pattern is determined by the warm-up operation so that the thermal displacement distributions can be reproduced.
(78) In the warm-up operation pattern performed by the numerical controller 10 of
(79) The warm-up operation pattern is determined with reference to the flowchart of
(80) Before performing this processing, the relationship between the feed rate and a total value L.sub.nX of thermal displacement amounts described in Step SD01 is previously measured by experiment or the like. A table in which these values are associated with one another is previously loaded as a database into a memory such as the SRAM 14 of the numerical controller. Based on this table, the feed rate F.sub.B is obtained from the total value L.sub.nX of the thermal displacement amounts in Step SD03 described later. The total value L.sub.nX of the thermal displacement amounts is recorded at the point in time when the thermal displacement is saturated as the table of the machine tool is reciprocated at the feed rate F.sub.B, for example. Further, an offset amount , which is determined depending on the thermal conductivity characteristics of the feed screw, is also determined in advance.
(81) [Step SD01] The total value L.sub.nX of the thermal displacement amounts is calculated according to expression (15) as follows:
L.sub.nX=.sub.n0+.sub.n1+ . . . +.sub.nI+ . . . +.sub.nX.(15)
(82) [Step SD02] The turning points R.sub.1 and R.sub.2 are calculated. Processing for the calculation of the turning points R.sub.1 and R.sub.2 will be described with reference to
(83) [Step SD03] The feed rate F.sub.B corresponding to the total value L.sub.nX of the thermal displacement amounts is determined based on data on the feed rate and the total value L.sub.nX of the thermal displacement amounts. If the total value L.sub.nX of the thermal displacement amounts is large, the determined feed rate F.sub.B is high. If the total value L.sub.nX of the thermal displacement amounts is small, the determined feed rate F.sub.B is low.
(84) [Step SD04] The warm-up operation pattern for the feed screw is determined from the turning points R.sub.1 and R.sub.2 and the feed rate F.sub.BI and the warm-up program based on the determined warm-up operation pattern is created.
(85) In order to reduce the influence of ambient temperature change and the like, the warm-up operation pattern may be switched in real time based on the result of calculation of the temperature and thermal displacement amount during the warm-up operation.
(86) <4. Determination of Termination of Warm-Up Operation>
(87) The following is a description of means for determining termination of warm-up operation.
(88) <4.1. Determination of Termination of Warm-Up Operation of Spindle>
(89) The warm-up operation is performed as the thermal displacement state of the spindle is calculated for each predetermined period. The temperatures of the individual sections calculated in Step SA02 are compared with the current temperature. If the differences for all the sections are not larger than a predetermined threshold value, the warm-up of the spindle is stopped by changing the parameters.
(90) <4.2. Determination of Termination of Warm-Up Operation of Feed Screw>
(91) The warm-up operation is performed as the thermal displacement state of each feed screw is calculated for each predetermined period. The thermal displacement amounts calculated in Step SA02 are compared with the current thermal displacement amounts .sub.nI for all Sections 0 to X. If the comparison indicates the difference for any of the sections is not larger than a predetermined threshold value, the warm-up operation of the feed screw concerned is stopped by changing the parameters.