NUMERICALLY CONTROLLED MACHINE TOOL

Abstract: A numerically controlled machine tool for machining a non-circular workpiece according to profile data. The servomotor drive unit of the machine tool includes a frequency voltage converter which outputs a velocity compensation signal proportional to the frequency of position command pulses in the servomotor drive units. A position error signal is modulated by the velocity compensation signal. The numerical controller of the machine tool can measure the position error and phase error, and can compensate for these errors. The numerical controller operates according to ideal profile data and measures the actual position change of a tool slide corresponding to the angle position change of a main spindle. Then, the numerical controller calculates the position error and phase error depending on the actual position change and ideal profile data, and produces execution profile data which are compensated for position error. During machining operation, the numerical controller offsets the read out position of the execution profile data by the calculated phase error so as to eliminate the phase error.

Description: The invention relates to a numerically controlled machine tool according to the features indicated in the preamble of claim 1. The present invention is proceeding from a prior art as it is known from GB-A-2 061 554. This document shows a numerically controlled machine tool which is comprising a main spindle and a tool slide which are controlled numerically for grinding a non-circular workpiece according to profile data which define a profile generating movement of a tool along the final shape of the workpiece. Furthermore, there are provided a servomotor for moving the tool slide and a detection means for detecting the position of the tool and for outputting corresponding feed-back signals. By means of a follow error detecting circuit which is detecting a positional follow error of the tool by comparing the profile data and the feedback signal there is produced an error signal corresponding to the detected positional error. In a driving means said error signal is compensated by adding a velocity compensation signal which corresponds to a commanded velocity of the tool, the servomotor being driven according to said compensated error signal. Various experiments by applicants, however, have shown that this known numerically tool is unable to accurately follow the command data without a delay occurring under all circumstances. As a consequence, the profile of the workpiece is not always within prescribed tolerances. In GB-A-2 079 993 it has been proposed to solve the a.m. problems by means of a sensor which is measuring the actual contour of a workpiece, the measured actual contour being feedback to a computer which is calculating the deviation between the prescribed ideal non-circular contour and the actual measured contour. The calculated deviation then can be used as a correction value when grinding the next workpiece. In US-A-4 061 952 there is disclosed a machine tool of the above type wherein an indication of the actual profile of a workpiece (cam) is provided by means of a cam follower which is engaging the cam profile. The known machine tools have the disadvantage that an additional measuring means is needed, thus increasing the total costs of the machine tool. In addition, at least one workpiece may be machined with a low accuracy or outside tolerancy, since the actual profile of the workpiece can be measured only after the grinding process. It therefore is the object of the present invention to improve a numerically controlled machine tool according to the preamble of claim 1 in such a way that the profile of the workpiece always is within prescribed tolerances. According to the present invention this object is achieved by the advantageous measures H through K as indicated in the characterizing portion of claim 1. Accordingly, there are provided measuring means for measuring an instantaneous position change of the tool depending upon the output signal from the detecting means to produce measured profile data which indicate actual position change of the tool with respect to angle position change of said workpiece; by comparing these measured profile data and the ideal profile data errors are calculated; finally execution profile data are produced by compensating the ideal profile data for the errors calculated such that the control means is able to output a control signal in accordance with the execution profile data after the compensation. By the above advantageous measures it is possible to obtain workpieces which are always within prescribed tolerances; this is because the compensation operation is achieved without using any workpiece. In addition, this compensation is achieved without needing an expensive measuring means for measuring the actual profile of the workpiece thus reducing the total costs of the tool. The invention is advantageously developed by the measures mentioned in the subclaims. BRIEF DESCRIPTION OF THE DRAWINGS Various other objects, features and attendant advantages of the present invention will readily be appreciated as the same becomes better understood by reference to the following detailed description of a preferred embodiment when considered in connection with the accompanying drawings, in which: FIGURE 1 is a schematic view of a numerically controlled machine tool according to the present invention; FIGURE 2 is a block diagram showing the structure of the numerical controller 30 shown in Figure 1; FIGURES 3(a) and 3(b) are flow charts explaining the general operation of the main CPU 31 shown in Figure 2; FIGURE 4 is a flow chart for illustrating the details of step 144 shown in Figure 3(a); FIGURE 5 is a flow chart for explaining the sampling operation of the sampling device shown in Figure 2; FIGURE 6 is a flow chart for illustrating the detail of step 130 shown in Figure 3(b); FIGURE 7 is a flow chart for illustrating the detail of step 140 shown in Figure 3(a); FIGURE 8 shows a numerical control program for measuring errors; FIGURE 9 shows a numerical control program for machining a workpiece; FIGURE 10 shows phase error table which is made in the memory 32 shown in Figure 2; FIGURE 11 is an explanatory chart which explains the method of obtaining a phase error; FIGURE 12 is an explanatory chart which explains the method of obtaining measured profile data from sampled data; FIGURE 13 is a block diagram showing the detailed structure of the drive units 40, 41 shown in Figures 1 and 2; FIGURES 14(a) and 14(b) are explanatory charts for explaining the method of calculating the error of measured profile data as compared with ideal profile data; FIGURES 15 through to FIGURE 17 show charts which illustrate the measured error. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Referring now to the drawings and particularly, to Figure 1, thereof, a numerically controlled grinding machine is shown comprising a bed 10, on which a table 11 is slidably guided along a Z axis which is parallel to a main spindle 13. A workhead 12 is mounted on the left-hand end of the table 11. The workhead 12 has rotatably carried therein the main spindle 13, which is connected to a servomotor 14 so as to be rotated thereby. A tail stock 15 is also mounted on the right-hand end of the table 11. A workpiece W having cam C is carried between the center 17 of the main spindle 13 and the center 16 of the tail stock 15. The left end of the workpiece is engaged with a positioning pin 18, which is fixed on the main spindle 13, so as to synchronize the phase of the workpiece W with the phase of the main spindle 13. A tool slide 20 is slidably guided on a rear portion of the bed for movement toward and away from the workpiece W along an X axis. A grinding wheel 22, rotatably supported as a tool on the tool slide 20, is rotated by a motor 21. The tool slide 20 is connected to a servomotor 23 through a feed screw (not shown) so that advancing and retraction movement of the tool slide 20 is effected by the servomotor 23. As indicated in Figure 13, drive units 40, 41 are circuits to drive servomotor 23, 14, respectively, in response to command pulses, which are generated by the numerical controller 30. The drive unit 40 includes an error counter 401, which counts command pulses from the numercial controller 30 and feedback pulses from pulse generator 53 differentially. Digital error data from the error counter 401 are converted to an analogue error signal by a DA converter 42. The error signal of DA counter 42 is led to a subtraction circuit 405, which subtracts a feedback signal generated by a tachogenerator 53 from the error signal. The output signal of the subtraction circuit 405 is led to a amplifier 403, which drives the servomotor 23. Furthermore, a frequency voltage converter 404 (hereafter referred to as a "FV converter"), which outputs a conpensation signal according to the frequency of the command pulses, is added. The compensation signal of the FV converter 404 is led to the subtraction circuit 405 so as to increase the output signal from the subtraction circuit 405 according to the level of the compensation signal from the FV converter 404. Since the frequency of the command pulses is in proportion to the velocity component of the profile data, the compensation signal proportion to the velocity component of the profile data is added to the subtraction circuit 405. Accordingly, the follow delay due to the velocity profile component is improved. The circuit of the drive unit 41 is the same as that of the drive unit 40. The numerical controller 30 controls the rotation of the servomotor 23, 14 numerically so as to grind the workpiece W. A tape reader 42 for inputting ideal profile data and machining cycle data, a keyboard 43 for inputting control data, a CRT display device 44 for displaying various information and a control panel 45 for inputting an operator command are connected to the numerical controller 30. The numerical controller 30 comprises a main central processing unit (hereafter referred to a "main CPU") 31, a read only memory (ROM) 33, in which control program is stored, a random access memory (RAM) 32 and an interface 34 as show n in Figure 2. In the RAM 32, there is a NC data area 321 for storing numerical control programs, an ideal profile data area 322 for storing ideal profile data calculated from the ideal final shape of the workpiece, an execution profile data area 323 for storing compensated ideal profile data as execution profile data, and a phase error memory area 328 for storing phase error data in connection with various rotation speeds of the main spindle 13 and ideal profile data numbers. The RAM 32 also has a feed mode setting area 324, a workpiece mode setting area 325, a spark-out mode setting area 326, and a phase error compensation mode setting area 327. The numerical controller 30 also comprises a drive CPU 36, a RAM 35 and a pulse distribution circuit 37 so as to distribute command pulses to drive units 40, 41. The RAM 35 stores positioning data sent from main CPU 31. The drive CPU 36 executes calculations for slow up, slow down and interpolation depend on the positioning data sent from the main CPU 31 via the RAM 35, and outputs amount of movement data and velocity data at a predetermined interval. The pulse distribution circuit 37 distributes feed command pulses to drive units 40, 41 according to the amount of movement data and velocity data. The numerical controller includes a sampling device 38 and a RAM 39 as elements of profile measurement means. The sampling device 38 comprises counters 381, 382 which count the feedback pulses generated from pulse generator 52, 50, respectively. These counters 381, 382 are reset when the main CPU 31 outputs a reset signal, and start to count the feedback pulses of the tool feed axis (X axis) and the main spindle (C axis) when the main CPU 31 outputs a measuring start signal. Furthermore, the sampling device 38 comprises an address counter 383, which is reset by the main CPU 31 and is incremented at each sampling. In response to the measuring start signal from main CPU 31, the sampling device 38 reads the count values of counter 381, 382 at predetermined sampling time interval, and stores them in successive memory locations of the RAM 39, the address of which is designated by the address counter 383. Operation of the numerical controller 30 is described hereinbelow. In the RAM 32, an NC program for a phase error measuring cycle shown in Figure 8 and an NC program for a machining cycle shown in Figure 9 are stored. When the switch 451 on the control panel 45 is pushed by an operator, the main CPU 31 resets a flag in the phase error compensation mode setting area 327, and executes the NC program for the phase error measuring cycle. On the other hand, when switch 452 is pushed, the main CPU 31 executes the NC program for the machining cycle. These NC programs are decoded by the main CPU 31 according to steps as specified by the flow chart shown in Figures 3(a) and 3(b). One block of an NC program is read out from the NC program area of the RAM 32 at step 100, and it is ascertained whether or not the data of the block shows the end of the program at step 102. If the data shows completion of the NC program, the execution of this program is ended. But if not, the process of main CPU 31 is moved to step 104, and it is ascertained whether or not the block includes code G at step 104. If code G is ascertained at step 104, the process of main CPU 31 is moved to step 106 so as to ascertain the command code in greater detail. In step 106 through step 120, mode flags in the mode setting area 324 ζ 327 of the RAM 32 are set, depending on the detail command code. If code GO1 is ascertained at step 106, the flag in the feed mode setting area 324 is set at step 108 so as to set a feed mode in a grinding feed mode. Similarly, if code GO4 is ascertained at step 110, the flag in the spark out mode setting area 326 is set at step 112 so as to set the feed mode in a spark-out mode. Further, if code G5O is ascertained at step 114, the flag in the phase error compensation mode setting area 327 is set at step 116 so as to set a control mode in a phase error compensation mode. If code G51 is ascertained at step 120, the flag in the workpiece mode setting area 325 is reset to set the workpiece mode in a cam mode. After the above-mentioned mode setting has occurred, the process of the main CPU 31 is moved to step 122 for certain steps depending on the NC program and mode. If code G52 is ascertained at step 122, a reset signal is sent to the sampling device 38, then, sampling condition data are set in the sampling device. If G53 is ascertained at step 124, the measurement start signal is sent to the sampling device 38 at step 126. If code G55 is ascertained at step 128, the sampled data in the RAM 39 are read at step 130. Then, measured profile data are calculated depending on the sampled data, and error data are calculated based on the difference between the measured profile data and the ideal profile data. After that, execution profile data are produced by compensation calculation. Furthermore, if code x is ascertained at step 132, the process of the main CPU 31 is moved to step 134, and it is ascertained whether or not the workpiece mode is set in the cam mode and the feed mode is set in the grinding feed mode {hereafter referred to as the cam grinding mode). If the mode is the cam grinding mode, pulse distribution for grinding the cam is executed at step 140. If not, a regular pulse distribution, which is not synchronized with main spindle rotation, is executed at step 136. (a) Process for Measuring Phase Error: When the switch 451 on the control panel 45 is pushed, the NC program for measuring phase error cycle shown in Figure 8 is decoded block by block according to the processings shown in Figure 3(a) and Figure 3(b). First, in response to code G51 in block N110, the workpiece mode is set in the cam mode, and one set of the ideal profile data designated by profile number P1234 is selected at step 121. In response to code G52 in the next block N120, the initial setting procedure for sampling is accomplished at step 123. Then, a measurement start signal is sent to sampling device 38 in response to code G53 in block N130 at step 126. Subsequently, in response to code GO4 in block N130, pulse distribution for spark-out motion is executed according to the procedure shown in Figure 4. Code P2 in block N130 means that the total rotational amount of the main spindle 13 during spark-out is two revolutions, and code S10 means that the rotational speed of the main spindle 13 during spark-out is 10 rpm. The ideal profile data stored in RAM 32 consists of pulse number data which correspond to the feed amount of the tool slide per unit angle (0.5°) of rotation of the main spindle 13, and the read out address of these pulse number data is designated by read out address I. First, it is ascertained whether or not the mode is in a phase error compensation mode depending on the status of the flag in the phase error compensation mode setting area 327 at step 300. Since the flag is being reset during phase error measurement for indicating that the mode is not in a phase error compensation mode, the process of main CPU 31 is moved to step 302. Then, read out address I and offset address IO are set to 1. The offset address IO is used for phase error compensation, and indicates the read out start address of profile data. Then, it is ascertained whether or not the previous pulse distribution is completed depending on the status of the pulse distribution finish signal sent from the drive CPU 36. If completion of pulse distribution is ascertained, the ideal profile data D(I) is read out at step 306. Then, positioning data is output to the RAM 35 for the drive CPU 36. Then, it is ascertained whether or not read out address I reaches the final address I max of the ideal profile data at step 310. If I is equal to or larger than I max , the read out address I is reset to init ial value 1 at step 312 so as to return the read out address to the beginning address of ideal profile data area 322. If not, the read out address I is incremented by 1 at step 314. Then, it is ascertained whether or not the read out address I is equal to the offset address IO at step 316. If the read out address I reaches the offset address IO, it means that the main spindle 13 is turned one revolution. Then, the process of main CPU 31 is moved to step 318. At the step 318, it is ascertained whether or not the rotation of the main spindle 13 reaches a programmed value (two revolutions). If it is ascertained that the main spindle 13 rotates two revolutions, the process shown in Figure 4 is ended. If not, the process of main CPU 31 is moved to step 304, then, the above-mentioned process is repeated again. By the above-mentioned processes, the grinding wheel G is moved according to the ideal profile data without cut-in feed (spark-out cycle). During this spark-out cycle, the sampling device 38 samples the current positions of the main spindle 13 and the tool slide 20, and stores sampled data in RAM 39. Namely, the sampling device 38 executes processings shown in Figure 5 at a predetermined sampling time interval. At step 400, the contents of counter 382 are stored in memory address MC(I) designated by the count value I of counter 383 of the RAM 39. The contents of counter 381 are also stored in memory address MX(I) designated by the count value I of counter 383. Then, the address counter 383 is incremented by 1 at step 404. The above-mentioned process is repeated at the predetermined sampling interval until the main spindle 13 rotates one revolution so as to sample real positions of the main spindle 13 and the tool slide 20 at the predetermined sampling interval. Subsequently, in responding to code G55 in block N140, the error calculation is executed at step 130 in Figure 3(b). The detailed process at step 130 is shown in Figure G. The sampled data of the C axis and X axis indicate position changes at each sampling time shown in Figure 12. At step 500, the X axis sampled data is converted to X axis position data relating to the angle positions of C axis shown in Figure 11. First, the time (for example t1, t2, t3, t4), which is in accordance with each angle rotation position (for example C1, C2, C3, C4) of C axis, is calculated by interpolating the sampled data of C axis. Then, the X axis position at each calculated time (for example t1, t2, t3,t4) is calculated by interpolating the sampled data of the X axis. From the result of the above-mentioned calculation, the X axis position data relating to the angle positions of the C axis are determined as measured profile data. Subsequently, the angle position ϑI of the C axis, whereat the X axis position of the ideal profile data reaches a maximum value, is determined by using ideal profile data at step 502, and the angle position ϑM of the C axis, whereat the X axis position of the measured profile data reaches a maximum value, is detemined by using measured profile data at step 504. Subsequently, a phase error Δϑ is calculated by substracting ϑI from ϑM at step 506, and the phase error Δϑ is stored in a phase error table shown in Fig. 10 which is made in phase error memory area 328 at step 508. At step 510, position errrors ΔX at each unit angle position are calculated depending on the difference between the ideal profile data and the measured profile data. Namely, as shown in Figure 14(a) and Figure 14(b), the error between the ideal profile data and the measured profile data consists of phase error Δϑ and position error (radial profile error) ΔX. Accordingly, position error ΔX, which is the eliminated effect of phase error Δ ϑ, can be calculated by sifting the read out address of the measured profile data ahead by Δ ϑ before calculating the difference between the ideal profile data and the measured profile data. Then, the compensated execution profile data is c alculated by subtracting the error ΔX(ϑ) from the ideal profile data at step 512 and the compensated execution profile data are stored in the execution profile data area 323 of RAM 32. During grinding operation, this execution profile data is used. As mentioned above, the phase error under the condition of the ideal profile data and the rotational speed of the main spindle 13 is measured by block N120 through N140 of NC program. Similarly, other phase errors for different rotational speeds and different ideal profile data are measured by executing a rest part of the NC program, and stored in the phase error table shown in Figure 10. (b) Process for Grinding Operation with Phase and Position Error Compensation When the switch 452 on the control panel 45 is pushed, the NC program for machining cycle shown in Figure 9 is decoded block by block according to the process shown in Figure 3(a) and Figure 3(b). First, in response to code G51 in block N010, the workpiece mode is set in a cam mode, and one set of the ideal profile data designated by profile number P1234 is selected at step 121. In response to code G52 in next block N020, the flag in the phase error compensation mode setting area 37 is set so that the control mode is set in a phase error compensation mode, in which the can is ground with phase error compensation. Then the feed mode is set in a grinding feed mode in response to the code G01 in block N030 at step 108, and the cam grinding procedure is completed at step 140 in response to feed data X-0.1. Data with code F in block N030 indicates the feed amount per revolution of the main spindle 13, and data with code R indicates the feed speed per revolution of the main spindle 13. Data with code S indicates the rotational speed of the main spindle 13. When data with code F and data with code R are the same value, the grinding wheel G is fed continuously at a constant speed until the total cut-in feed amount reaches a programmed total feed value with code X. The cam grinding operation which position error compensation and phase error compensation is accomplished by the process at step 140. The details of the process at step 140 are shown in Figure 7. First, the pulse number corresponding to the cut-in feed amount per unit rotational angle (0.5°) is calculated depending upon the data with code R at step 200. Then, a phase error data Δϑ corresponding to the selected execution profile data number and rotational speed is read from the phase error table shown in Figure 10, and an offset address IO corresponding to the phase error Δϑ is determined at step 202. The phase error Δϑ can be compensated for by shifting the read out position of the execution profile data ahead from a theoretical read out position, which corresponds to the commanded angle position of the main spindle, to an offset address. Then, the initial value of read out address I is set to offset address IO at step 205. Afterwards, the pulse distribution finish signal is input at step 206 so as to ascertain whether or not the previous pulse distribution is finished. If the previous pulse distribution is finished, the execution profile data D(I) is read out, and then it is ascertained whether or not the cut-in feed within one revolution is finished or completed at step 210. This is ascertained depending on the data with code F. In this case, it is ascertained whether or not the cut-in feed is finished by ascertaining whether or not the feed amount within one revolution reaches 0.1 mm. If the cut-in feed within one revolution is not finished, the amount of movement data is calculated by adding the cut-in amount pre unit angle to execution profile data D(I) at step 212. Then, the positioning data is output to the drive CPU 36 at step 214. On the other hand, if the cut-in feed within one revolution is finished, the moving amount is calculated from only the execution profile data D(I) at step 213. Then, it is a scertained whether or not read out address I reaches the final address I max of the profile data at step 216. If I is equal to or larger than I max , the read out address I is reset to an initial value 1 at step 218 so as to return the read out address to the beginning address of the execution profile data area 323. If not, the read out address I is incremented by 1 at step 220. Then, it is ascertained whether or not read out address I reaches the offset address IO so as to detect one revolution of the main spindle 13. If read out address I reaches the offset address IO, it is ascertained whether or not the total cut-in feed amount reaches a programmed total feed amount, which is programmed with code X. If the total cut-in feed amount does not reach the programmed amount, the process moves to step 206 so as to continue the above-mentioned process repeatedly. If the total cut-in feed amount reaches the programmed amount, the process for grinding the cam according to the NC program in block N030 is finished. Furthermore, the process for spark-out grinding shown in Figure 4 is executed in response to code G04 in block N040. This process is similar to the process shown in Figure 7. But, there is no cut-in feed in this process and spark-out grinding is finished when the number of revolutions of the main spindle 13 reaches a programmed value. Namely, since the control mode is set in a phase error compensation mode at this time, the process is moved to step 322 via step 300, then initial setting procedures for phase error compensation similar to those in steps 202, 204 are executed at step 322 and 324. Then, process steps 304 through 318 are executed. These process steps are similar to those in profile error measurement. But, in this situation, execution profile data is used, and initial setting for the read out address I and the offset address I0 is different. Namely, the phase error data Δϑ corresponding to the execution profile data and the rotational speed of the main spindle is read out from the phase error table, and shifting ahead occurs of the read out position by phase error Δϑ. By the above-mentioned compensation procedure, spark-out grinding with phase error compensation is accomplished. As mentioned above, the pulse distribution is executed depending on the execution profile data, which were compensated for position error, and phase error is compensated for by shifting the read out address of the execution profile data at the time of pulse distribution. Accordingly, the cam can be ground without positioning error and phase error. In the above-mentioned embodiment, sampling device 38 samples current position of C axis and X axis at predetermined time intervals. But, a sample device modified as noted below can be used. In this modified sampling device, there is a circuit for outputting a timing signal at every unit angle of rotation of the main spindle depending on the output of counter 382. Then, the current positions of X axis are sampled when the timing signals are output. In this embodiment, the measured profile data, which consists of X axis current position data at each unit rotational position of C axis, are produced directly from sampled X current positions of the X axis without data convertion. Although phase error Δϑ is calculated from the phase difference between angle positions where X axis current position of ideal profile data and measured profile data reach a maximum value, respectively, the phase error can be determinedby another calculation. Namely, as shown in Figure 11, rotational angles ϑ1 and ϑ3, which are shifted in opposite directions from each other by same angle (for example 30 degree) from the angle position ϑI of the ideal profile data, are determined. Then, other rotational angles ϑ2 and ϑ4, whereat current position of the X axis coincide with those at rotational angles ϑ1 and ϑ3 respectively, are determined. Subsequently, a phase error is calculated by averaging the difference a between rotational angles ϑ1 and ϑ2, and the difference b between rotational angles ϑ3 and ϑ4. Furthermore, in the above-mentioned embodiment, the measured error is divided by the phase error and the position error so as to reduce data length of each position error data output, and error compensation is executed depending on both errors. But, such error can be compensated by only position error compensation. Namely, at the error measuring step, the error shown in circle B in Figure 14(a) is measured as a position error, then the ideal profile data can be compensated for by this measured error. In this case, the phase error compensation is not needed in the grinding operation. On the otherhand, if the positioning error is smaller than the phase error, the error can be compensated by only phase error compensation. Figure 15 shows the position error characteristic of a numerically controlled grinding machine which has adopted neither the FV converter 404 shown in Figure 13 as velocity compensation means nor the above-mentioned position error compensation process, but has adopted only phase error compensation. Figure 16 shows the position error characteristic of a numerically controlled grinding machine which has adopted FV converter 404 as velocity compensation means and phase error compensation but does not adopt the above-mentioned position error compensation process. Figure 17 shows the position error characteristic of a numerically controlled grinding machine which has adopted an FV converter 404 as velocity compensation means and the above-mentioned phase and position error compensation process. It is understood from these error characteristics that position error can be eliminated effectively by adopting both velocity compensation means in drive circuits and the error compensation process in a numerical controller.

Claims: A numerically controlled machine tool for grinding a non-circular workpiece (W) according to profile data which define a profile generating movement of a tool (G) along the final shape of said workpiece (W), said numerical controlled machine tool comprising: [A] a servomotor (23) for moving said tool (G); [B] profile data memory means (322) for storing ideal profile data which indicates the positional change of said ideal profile along the tool feed axis with respect to angle position change of the main spindle axis of said workpiece (W); [C] control means (30, step 140) for outputting a control signal according to said ideal profile data; [D] detecting means (52) for detecting positional changes of said tool (G) in the direction of said tool feed axis to output an output signal corresponding thereto; [E] a follow error detecting circuit (401) for detecting a positional follow error of said tool (G) by comparing said control signal output from said control means (30, step 140) and said output signal from said detecting means (52) and for producing an error signal corresponding to said detected positional error; [F] velocity compensation means (404) for compensating said error signal by adding a velocity compensation signal, which corresponds to a commanded velocity of said tool (G), to said error signal; and [G] driving means (403) for driving said servomotor (23) according to said compensated error signal, characterized by [H] measuring means (38, step 500) for measuring the momentary position change of said tool (G) in a continuous manner depending upon the output signal from said detecting means (52) to produce measured profile data which indicates actual position change of said tool (G) along said tool feed axis with respect to angle position change of said main spindle axis of said workpiece (W); [I] error calculation means (step 150) for calculating errors by comparing said measured profile data and said ideal profile data; and [J] data compensating means (step 512) for producing execution profile data by compensating said ideal profile data for said errors calculated by said error calculation means (step 510); [K] wherein said control means (30, step 140) outputs said control signal in accordance with said execution profile data after the compensation by said data compensating means (step 512). A numerically controlled machine tool according to Claim 1, characterized by phase error calculation means (step 506) for calculating a phase error by comparing said measured profile data and said ideal profile data; and offset means (step 204) for offsetting ahead a read out position of said execution profile data by said calculated phase error from a theoretical read out position of said profile data during actual grinding operation. A numerically controlled machine according to Claim 2, characterized in that said phase error calculation means (step 506) comprises phase error memory means (328) for storing plural phase error data relating to different rotational speeds of said workpiece (W); and said offset means (step 204) comprises read out means (step 202) for reading out phase error data corresponding to the rotational speed of said workpiece (W) during grinding operation from said phase error memory means (328), and for offsetting ahead the read out position of said profile data by a phase error selectively read out from said phase error memory means (328). A numerically controlled machine according to Claim 2, characterized in that said phase error calculation means (step 506) comprises phase error memory means (328) for storing phase error data relating to different profile data for different profiles; and said offset means (step 204) comprises read out means (step 202) for reading out phase error data corresponding to selected profile data during grinding operation from said phase error memory means (328), and for offsetting ahead the read out position of said profile data by a phase error selectively read out from said phase error memory means (328). A numerically controlled machine tool according to Claim 2, characterized in that said phase error calculation means comprises a phase error memory (328) for storing phase error data relating to plural combinations of rotational speeds of said workpiece (W) and profile data; and said offset means (step 204) comprises read out means (step 202) for reading out phase error data corresponding to the rotational speed of said workpiece (W) and selected profile data during grinding operation from said phase error memory means (328), and for offsetting ahead the read out position of said profile data by a phase error selectively read out from said phase error memory means (328). A numerically controlled machine tool according to one of the preceding Claims, characterized by position error calculation means (step 510) for calculating position error data and for eliminating the effect of said phase error; and data compensating means (step 512) for producing execution profile data by compensating said ideal profile data for said position error calculated by said position error calculation means (step 510).

Inventors: ASANO, HIROAKI, ISHIHARA, NOBUHIRO 14-4, KITAKAWAGO, MARUYAMA, TOSHIO, OHTA, NORIO, TSUJIUCHI, TOSHIO, YONEDA, TAKAO 12, HIGASHINAKANE
Applicants: TOYODA KOKI KABUSHIKI KAISHA
Application year: 1987
Main classification: G05B19
IPC codes: G05B19