Method of machining workpiece using machine tool, and machine tool

A machine tool includes a bed supported on a ground by supporting jigs, a table movable in an X-axis direction, a spindle head movable in a Y-axis direction, a quill provided to be movable in a Z-axis direction, a spindle supported by the quill to be rotatable about its axis, feed mechanisms for moving the table and the like in the axis directions, and a numerical controller controlling operation of the feed mechanisms, and the numerical controller is configured to calculate motion errors based on load values acting on the supporting jigs by a motion locus estimator, an influence coefficient storage, a motion error calculator, and a motion locus storage, generate a correction signal for compensating for the motion errors by a position corrector, and add the generated correction signals to a position control signal transmitted from a position generator to a position controller.

BACKGROUND

Field of the Disclosure

The present disclosure relates to a method of machining a workpiece using a machine tool and to a machine tool for performing the method, and particularly, relates to a method of machining a workpiece on a machine tool having a bed supported by a plurality of supporting jigs in a state where a position error caused by change of a horizontal level of the bed has been compensated for, and to a machine tool for performing the method.

Background of the Disclosure

A machine tool typically has a bed disposed on a floor of a plant or the like via jack bolts (supporting jigs), and horizontal level adjustment of a reference surface of the bed is performed by adjusting supporting states of the jack bolts. Note that such an adjusting operation tends to be very empirical and is a sensory operation, and therefore the operation requires skills. However, in recent years, a load detection type jack that is capable of detecting a load acting on the jack has been used, which makes the adjusting operation comparatively easy to perform

By the way, the horizontal level of the bed of the machine tool is one of factors which have a large influence on accuracy in machining a workpiece. If a workpiece is machined in a state where the horizontal level is outside a predetermined range, there occurs a problem that the machining accuracy is deteriorated. Therefore, as described above, machining of a workpiece is typically performed in a state where the horizontal level of the bed reference surface of the machine tool has been adjusted. However, for example, if, after some time has passed since horizontal level adjustment, the horizontal level is changed due to a secular change of a structure, a change of surrounding environment, or the like, and therefore exceeds a predetermined range, it is not possible to accurately machine a workpiece.

Accordingly, for example, there has been proposed an automatic leveling apparatus for machine tool as disclosed in Japanese Unexamined Patent Application Publication No. H04-336927 as an apparatus which, when the horizontal level of the bed has been changed, automatically adjusts a horizontal level of a bed so that the horizontal level falls within a predetermined range.

This automatic leveling apparatus includes leveling detecting means that detects a level change of the bed, a plurality of leveling blocks that are disposed below the bed and are configured to be driven by their respective hydraulic cylinders, and control means that controls the hydraulic cylinders in accordance with a signal relating to the level change detected by the leveling detecting means.

According to this automatic leveling apparatus, the necessity of level correction is determined based on whether the level change detected by the leveling detecting means is within a predetermined range or not, and when the level change is not within the predetermined range and level correction is therefore needed, the hydraulic cylinders drive their respective leveling blocks under control by the control means, whereby leveling is automatically performed.

SUMMARY OF THE DISCLOSURE

However, in the above-described conventional automatic leveling apparatus, the determination that level correction is needed is made when the level change detected by the leveling detecting means is not within the predetermined range, and then leveling is automatically performed; therefore, leveling is not performed until the detected level change exceeds the predetermined range.

Therefore, a minute level change is ignored when the level change is within the predetermined range; therefore, in a case where machining which requires such a high accuracy that even a minute level change is not allowed to be ignored is performed, there occurs a problem that the required accuracy cannot be satisfied.

Although this problem can be solved by narrowing the range for the determination the necessity of level correction, if the range is narrowed, leveling is performed each time a minute level change is detected, and therefore there occurs another problem that machining efficiency is considerably lowered.

The present disclosure has been achieved in view of the above-described circumstances, and an object thereof is to provide a workpiece machining method using a machine tool which enables machining a workpiece with very high accuracy while preventing machining efficiency from being considerably lowered, and the machine tool.

The present disclosure, for solving the above-described problems, relates to a method of machining a workpiece with a machine tool supported by a plurality of supporting jigs having an adjusting mechanism for adjusting a vertical support position and a load cell detecting a support load, including:estimating, based on the support loads detected by the load cells of the supporting jigs, a motion locus of relative motion of a tool attached to the machine tool and the workpiece;calculating motion errors between the estimated motion locus and a preset reference motion locus at predetermined intervals in a motion direction;correcting the relative motion of the tool and the workpiece based on the calculated motion errors so as to compensate for the motion errors, and then machining the workpiece; andemitting an alarm at least when a maximum value of the calculated motion errors exceeds a predetermined reference value or when a variation value of the motion errors in the motion direction exceeds a predetermined reference value.

This machining method is preferably performed by a machine tool including:a bed;a plurality of supporting jigs having an adjusting mechanism for adjusting a vertical support position and a load cell detecting a support load, and supporting the bed at predetermined support positions;a workpiece holder disposed on the bed for holding a workpiece;a tool holder disposed on the bed for holding a tool;a feed device moving the workpiece holder and the tool holder relative to each other; anda numerical controller generating a position control signal in accordance with a machining program for machining the workpiece into a target shape with the tool, and numerically controlling operation of the feed device in accordance with the generated position control signal,the machine tool further including:a motion error calculator estimating, based on the support loads detected by the load cells of the supporting jigs, a motion locus of relative motion of the tool and the workpiece moved by the feed device, and calculating motion errors between the estimated motion locus and a preset reference motion locus at predetermined intervals in a motion direction; anda motion error judgment part outputting an alarm signal at least when a maximum value of the motion errors calculated by the motion error calculator exceeds a predetermined reference value or when a variation value of the motion errors in the motion direction exceeds a predetermined reference value, andthe numerical controller being configured to, when generating the position control signal, generate, based on the motion errors calculated by the motion error calculator, such a position control signal that the motion errors have been compensated for.

According to this machine tool, first, the motion error calculator estimates a motion locus of relative motion of the tool and the workpiece based on support loads detected by the load cells and calculates motion errors between the estimated motion locus and a preset reference motion locus at predetermined intervals in a motion direction.

Subsequently, the numerical controller generates, based on the calculated motion errors, such a position control signal that the motion errors have been compensated for, and controls operation of the feed device in accordance with the generated position control signal to move the tool holder and the workpiece holder relative to each other. Note that, as for the mode in which the numerical controller generates such a position control signal that the motion errors have been compensated for, for example, if the machining program includes a specified command, the numerical controller may generate such a position control signal that the motion errors have been compensated for in accordance with the command, or regardless of whether the machining program includes a specified command or not, the numerical controller may generate such a position control signal that the calculated motion errors have been compensated for as a series of processing.

Thus, in this machine tool, such a position control signal that the motion errors have been compensated for is generated and operation of the feed device is controlled in accordance with the position control signal to move the tool holder and the workpiece holder relative to each other. Therefore, in a case of a minute motion error, it is possible to move the tool holder and the workpiece holder relative to each other and thereby machine a workpiece in a state where the motion error has been compensated for; consequently, it is possible to machine the workpiece with high accuracy while preventing machining efficiency from being considerably lowered.

Further, the aforementioned workpiece machining method is preferably performed by a machine tool including:a bed;a plurality of supporting jigs having an adjusting mechanism for adjusting a vertical support position and a load cell detecting a support load, and supporting the bed at predetermined support positions;a workpiece holder disposed on the bed for holding a workpiece;a tool holder disposed on the bed for holding a tool;a feed device moving the workpiece holder and the tool holder relative to each other; anda numerical controller generating a position control signal in accordance with a machining program for machining the workpiece into a target shape with the tool, and numerically controlling operation of the feed device in accordance with the generated position control signal,the machine tool further including:a motion error calculator estimating, based on the support loads detected by the load cells of the supporting jigs, a motion locus of relative motion of the tool and the workpiece moved by the feed device, and calculating motion errors between the estimated motion locus and a preset reference motion locus at predetermined intervals in a motion direction;a motion error judgment part outputting an alarm signal at least when a maximum value of the motion errors calculated by the motion error calculator exceeds a predetermined reference value or when a variation value of the motion errors in the motion direction exceeds a predetermined reference value; anda position corrector successively receiving the position control signal generated by the numerical controller, generating a correction signal for the received position control signal based on the motion errors calculated by the motion error calculator, and adding the generated correction signal to the position control signal in the numerical controller.

According to this machine tool, similarly to the foregoing machine tool, first, the motion error calculator calculates the motion errors at predetermined intervals in the motion direction.

Subsequently, the position corrector successively receives the position control signal generated by the numerical controller, generates a correction signal for the received position control signal based on the calculated motion errors, and adds the generated correction signal to the position control signal in the numerical controller. The numerical controller controls operation of the feed device in accordance with the position control signal to which the correction signal has been added to move the tool holder and the workpiece holder relative to each other.

Thus, in this machine tool, a correction signal for compensating for the calculated motion errors is generated and the generated correction signal is added to the position control signal, and operation of the feed device is controlled in accordance with the position control signal to which the correction signal has been added. Therefore, similarly to the foregoing machine tool, in a case of a minute motion error, it is possible to move the tool holder and the workpiece holder relative to each other and thereby machine a workpiece in a state where the motion error have been compensated for; consequently, it is possible to machine the workpiece with high accuracy while preventing machining efficiency from being considerably lowered.

By the way, in a case where a value of the calculated motion errors is too large and in a case where a variation value of the motion errors in the motion direction is too large, a problem may occur that machining accuracy is lowered when the tool holder and the workpiece holder are moved relative to each other so that the motion errors are compensated for, for example, accuracy of form, such as flatness, and surface roughness of a machined surface of the workpiece are deteriorated.

Accordingly, the machine tool of the present disclosure has a configuration in which the motion errors calculated by the motion error calculator are transmitted to the motion error judgment part, and, in a case where a maximum value of the calculated motion errors exceeds a predetermined reference value when comparison is made between the maximum value and the reference value in the motion error judgment part, or in a case where a variation value of the motion errors in the motion direction exceeds a predetermined reference value when comparison is made between the variation value and the reference value in the motion error judgment part, the motion error judgment part outputs an alarm signal. Note that, when an alarm signal is output, for example, machining may be stopped or a warning may be displayed on an operation panel to cause an operator to adjust the support positions.

Therefore, according to the machine tool of the present disclosure, it is possible to prevent the problem that, in the case where a value of the calculated motion errors or a variation value of the motion errors in the motion direction exceeds a predetermined reference value, machining accuracy is lowered when, based on the motion errors, the tool holder and the workpiece holder are moved relative to each other so that the motion errors are compensated for.

Note that the motion error calculator may be configured to estimate the motion locus of relative motion of the tool and the workpiece based on a previously obtained relational equation between support loads acting on the supporting jigs and motion locus of relative motion of the tool and the workpiece as well as the support loads detected by the load cells of the supporting jigs. In this case, machining of a workpiece can be smoothly performed since the previously obtained relational equation is used.

As described above, according to the workpiece machining method using machine tool and the machine tool of the present disclosure, it is possible to machine a workpiece with high accuracy while preventing machining efficiency from being lowered.

DETAILED DESCRIPTION

Hereinafter, an embodiment of the present disclosure will be described with referenced to the drawings.

1. Overall Configuration of Machine Tool

As shown inFIGS. 1 and 2, a machine tool1of the embodiment includes a bed2that is disposed on a ground via supporting jigs30and has two guide portions3and4(a first guide portion3and a second guide portion4) aligned on the top surface thereof, a table5that has two sliding portions6and7(a first sliding portion6and a second sliding portion7) provided on the lower surface thereof and is disposed on the bed2to be movable in an X-axis direction as a horizontal direction with the sliding portions6and7in engagement with the two guide portions3and4, a column8that is disposed on the top surface of the bed2, a quill9that is supported by the column8and is provided to be movable in a Y-axis direction as a vertical direction, a spindle head10that is supported by the quill9to be movable in a Z-axis direction orthogonal to both the X-axis direction and the Y-axis direction and to be rotatable about an axis parallel to the Z axis, and a spindle11that is supported by the spindle head10and has a distal end to which a tool T is to be attached.

Further, the machine tool1includes an X-axis feed mechanism15that is composed of a feed screw16provided between the two guide portions3and4in parallel with them, a nut17fixed on the lower surface of the table5and screwed with the feed screw16, and an X-axis servo motor18rotating the feed screw16about its axis and moves the table5in the X-axis direction, as well as a Y-axis feed mechanism20composed of a Y-axis servo motor21and other components and moving the quill9in the Y-axis direction and a Z-axis feed mechanism25composed of a Z-axis servo motor26and other components and moving the spindle head10in the Z-axis direction. Furthermore, the machine tool1includes a numerical controller40controlling operation of the X-axis feed mechanism15, the Y-axis feed mechanism20, and the Z-axis feed mechanism25.

Further, as shown inFIG. 3, the supporting jigs30for supporting the bed2are each composed of a plate-shaped base31, a jack portion32that consists of a bolt portion32ahaving a screw groove formed in an outer peripheral surface thereof and a basal portion32bsupporting the bolt portion32aand is disposed on the base31for adjusting a vertical support position, a load cell33that is disposed inside the basal portion32bfor measuring a load acting on itself, a transmission cord34for transmitting load data measured by the load cell33, and a transmitter35that receives the load data from the load cell33via the transmission cord34and wirelessly transmits the received load data to the numerical controller40. The supporting jig30is configured to support the bed2by screwing the bolt portion32ain attachment screw hole2aformed in the lower surface of the bed2; a load from the bed2is transmitted to the load cell33via the bolt portion32a. Note that the support position for supporting the bed2can be adjusted by rotating the bolt portion32a(operating the jack portions32). Further, in this embodiment, the bed2is supported by ten supporting jigs30; the ten supporting jigs30are arranged in lines, each of which consists of five supporting jigs30, at left and right sides of the bed2with respect to the drawing sheet inFIG. 2so that the lines are parallel with the guide direction of the first and second guide portions3and4(the X-axis direction), and the supporting jigs30in each line are arranged at regular intervals.

2. Configuration of Numerical Controller

A configuration (functional blocks) of the numerical controller40is described usingFIG. 4. As shown inFIG. 4, the numerical controller40consists of a machining program storage41, a machining program analyzer42, a position generator43, a position controller44, a speed controller45, a current controller46, a motion locus estimator47, an influence coefficient storage48, a motion error calculator49, a reference motion locus storage50, a position corrector51, and a motion error judgment part52.

The machining program storage41is a functional unit storing a previously generated machining program therein, and transmits a stored machining program to the program analyzer42.

The program analyzer42analyzes the machining program received from the machining program storage41to extract commands relating to feed speeds and moving positions of the X-axis feed mechanism15, the Y-axis feed mechanism20, and the Z-axis feed mechanism25, and transmits the extracted commands to the position generator43.

The position generator43generates signals (motion command signals, which are control signals) relating to target moving positions of the X-axis feed mechanism15, the Y-axis feed mechanism20, and the Z-axis feed mechanism25every a period of time (a predetermined period of time) based on signals received from the program analyzer42taking a predetermined time constant into consideration, and successively transmits the generated signals to the position controller44and the position corrector51.

The position controller44generates speed command signals based on the motion command signals (position control signals) transmitted from the position generator43and correction signals transmitted from the position corrector51, and transmits the generated speed command signals to the speed controller45.

The speed controller45generates current command signals based on deviations between the speed command signals transmitted from the position controller44and actual speed data transmitted (fed back) as appropriate from position detectors (not shown) provided on the X-axis servo motor18, the Y-axis servo motor21, and the Z-axis servo motor26, and transmits the generated current command signals to the current controller46.

Further, the current controller46transmits drive currents based on deviations between the current command signals transmitted from the speed controller45and actual current signals fed back thereto to the X-axis servo motor18, the Y-axis servo motor21, and the Z-axis servo motor26. Consequently, operation of the X-axis servo motor18, the Y-axis servo motor21, and the Z-axis servo motor26is controlled in accordance with the drive currents.

The motion locus estimator47estimates a motion locus of relative motion of a workpiece W and the tool T based on load values detected by the load cells33of the ten supporting jigs30and transmitted thereto from the transmitters35and an influence coefficient matrix stored in the influence coefficient storage48, and transmits the estimated motion locus to the motion error calculator49.

In the estimation of the motion locus, first, height positions in the vertical direction (Y-axis direction) are calculated for ten positions (Y1to Y10inFIG. 5) at the first and second guide portion3and4based on the transmitted load values in accordance with Equation 1 given below.

In Equation 1 given above, F10is a ten-by-one matrix and f1to f10are the load values detected by the load cells33of the supporting jigs30positioned at positions X1to X10, respectively. Further, S10is a ten-by-one matrix and s1to s10are the height positions at the ten positions (Y1to Y10inFIG. 5) at the first guide portion3and the second guide portion4. Furthermore, A10,10is a ten-by-ten matrix (influence coefficient matrix) and a1,1to a10,10in the matrix are previously calculated values and are coefficients representing the degree of influence of the load values detected by the load cells33of the supporting jigs30upon the height positions at the ten positions at the first and second guide portions3,4, which will be described later. Note that the load values may be actual values or may be variations from a predetermined reference value. In the case of actual values, the calculated height positions are also actual values; while in the case of variations from a reference value, the obtained height positions are positions obtained by subtracting a reference height position from actual height positions (hereinafter, such a position is referred to as “variation position”).

Subsequently, a motion locus of relative motion of a workpiece W and the tool T is estimated based on the calculated height positions or variation positions at the ten positions. Specifically, as shown inFIG. 5, height positions or variation positions of a point P (intersection P), at which a Y-Z plane including the axis of the spindle11(the dotted and dashed line L inFIG. 5) and the top surface of the table5(reference surface) intersect, when the table5is moved in the X-axis direction are calculated at predetermined intervals in the moving direction of the table5(the X-axis direction) by the CAE analysis or the like based on the height positions or variation positions at the positions Y1to Y10at the first and second guide portions3and4, and a line connecting the calculated positions is estimated to be a motion locus of relative motion of the workpiece W and the tool T; this method is an example. In this embodiment, the point P is set on the top surface of the table5and the motion locus is estimated based on height positions or variation positions of the point P for the reason that the workpiece W is placed on the top surface of the table5. Note that depiction of the workpiece W is omitted inFIG. 5.

Note that the influence coefficient matrix is previously calculated and stored in the influence coefficient storage48, which is to be transmitted as appropriate from the influence coefficient storage48to the motion locus estimator47. Also note that the influence coefficient matrix stored in the influence coefficient storage48was defined by the inventors of the present application based on their findings described below.

The inventors measured loads acting on twelve supporting jigs (J1to J12inFIG. 6) that were supporting a bed B having two parallel guide portions G1and G2provided on the top surface thereof on a ground (seeFIG. 6), and height positions at sixteen positions (positions indicated by numerals1to16inFIG. 6) at the two guide portions G1and G2. In the measurement, as shown inFIG. 7, the distribution of height position at the guide portion G1had a convex form with the peak at the position indicated by numeral7, while the distribution of height position at the guide portion G2had a convex form with the peak at the position indicated by numeral13. Accordingly, the inventors moved the support positions of the two supporting jigs J5and J6upward to increase the loads acting on the two supporting jigs J5and J6, whereby the height positions at the positions indicated by numerals6,7and8were greatly lowered and the height positions at the positions indicated by numerals12,13and14were also changed somewhat. This means that the height position at a certain position at a guide portion is greatly influenced by load values acting on supporting jigs arranged near the certain position, while it is also influenced somewhat by load values acting on the other supporting jigs. Based on these facts, the inventors found out that calculating the degrees of influence of each supporting jig upon the height position at each position as influence coefficients enables calculating a height position at each position based on load values of all supporting jigs.

Specifically, the influence coefficient matrix consisting of influence coefficients representing the degrees of influence of the supporting jigs upon the height positions at the positions can be calculated in the following manner. In this example, first, in a state where the bed2is being supported by the ten supporting jigs30, the jack portion32of any one of the supporting jigs30is operated, and a load value detected by the load cell33of the supporting jig30whose jack portion32was operated and load values detected by the load cells33of the supporting jigs30whose jack portions32were not operated are recorded and the then height positions or variation positions at the ten positions at the first and second guide portions3and4are also recorded. Thereafter, in the same manner, the jack portions32of the remaining nine supporting jigs30are operated one after another, and in each operation, a load value detected by the load cell33of the supporting jig30whose jack portion32awas operated, load values detected by the load cells33of the supporting jigs30whose jack portions32were not operated, and the then height positions or variation positions at the ten positions at the first and second guide portions3and4are recorded. Thereafter, the influence coefficient matrix is calculated in accordance with Equation 2 given below based on the obtained load values and height positions or variation positions.

Note that, in Equation 2, F10,10′ is a ten-by-ten matrix, and f1,1to f10,10in the matrix are the above-described load values detected by the ten load cells33. Specifically, f1,1to f10,1are the load values detected after the jack portion32of one of the ten supporting jigs30(the supporting jig positioned at the position X1inFIG. 5) is operated, the load value detected by the load cell33of the supporting jig30whose jack portion32was operated is f1,1, and the load values detected by the load cells33of the other supporting jigs30whose jack portions32were not operated (the supporting jigs positioned at the positions X2to X10inFIG. 5) are f2,1to f10,1, respectively. Similarly, f1,2to f10,2are the load values detected after the jack portion32of another one of the supporting jigs30(the supporting jig positioned at the position X2inFIG. 5) is operated, the load value detected by the load cell33of the supporting jig30whose jack portion32was operated is f2,2, and the load values detected by the load cells33of the supporting jigs30whose jack portions32were not operated (the supporting jigs positioned at the positions X1, X3to X10inFIG. 5) are f1,2, f3,2to f10,2, respectively. The same is applied to f3,1to f10,10; they are load values detected by the load cell33of the supporting jig30whose jack portion32was operated and the load cells33of the supporting jigs30whose jack portions32were not operated after the jack portion32of any one of the other supporting jigs30has been operated.

Further, S10,10′ is a ten-by-ten matrix and, as described above, s1,1to s10,10in the matrix are the height positions or variation positions at the ten positions at the first and second guide portions3and4after the jack portions32of the supporting jigs30are operated. Specifically, the height positions or variation positions at the positions Y1to Y10after the jack portion32of the supporting jig30positioned at the position X1is operated are s1,1to s10,1, and similarly, the height positions or variation positions at the positions Y1to Y10after the jack portions32of the supporting jigs30positioned at the positions X2to X10are operated are s1,2to s10,10.

Next, the function of the motion error calculator49is described with reference toFIG. 8. Note thatFIG. 8is a diagram which schematically shows the estimated motion locus (solid line) and the reference motion locus (dashed line) with the X axis of the machine tool1as the horizontal axis and the Y axis of the machine tool1as the vertical axis. As shown inFIG. 8, the motion error calculator49calculates motion errors (Δt inFIG. 8) between the estimated motion locus (solid line) transmitted from the motion locus estimator47and the reference motion locus (dashed line) stored in the reference motion locus storage50at predetermined intervals in the direction of the relative motion of the workpiece W and the tool T, and transmits the calculated motion errors to the position corrector51and the motion error judgment part52. Note that the term “motion error” in this example means a difference in the height position in the Y-axis direction between the estimated motion locus and the reference motion locus. More specifically, it is a relative position error in the Y-axis direction between the workpiece W and the tool T in a Y-Z plane including the axis of the spindle11.

The position corrector51generates correction signals for the position control signals transmitted thereto from the position generator43based on the motion errors transmitted from the motion error calculator49, and adds the generated correction signals to the position control signals transmitted from the position generator43to the position controller44.

The motion error judgment part52outputs an alarm signal when the maximum value of the motion errors received from the motion error calculator49exceeds a predetermined reference value, that is, any one of the motion errors calculated at the predetermined intervals in the motion direction exceeds a predetermined reference value, or when a variation value in the motion direction of the motion errors received from the motion error calculator49exceeds a predetermined reference value, that is, a difference between a received motion error and the preceding received motion error exceeds a predetermined reference value.

Next, the process of machining a workpiece W with the machine tool1of the present embodiment having the above-described configuration will be described below.

In the machine tool1, first, a machining program stored in the machining program storage41is read out by the program analyzer42and commands relating to feed speeds and moving positions in the machining program are extracted by the program analyzer42, and the extracted commands are transmitted to the position generator43.

The position generator43generates motion command signals based on signals transmitted thereto from the program analyzer42, and transmits the generated motion command signals to the position controller44and the position corrector51.

By the way, in machining of workpiece performed by a machine tool, a horizontal level of the bed is one of factors having a large influence on machining accuracy. Therefore, if the horizontal level of the bed is changed during machining and the machining is continued in a state where the horizontal level is beyond a predetermined range, there occurs a problem that machining accuracy is deteriorated. Further, even if the horizontal level is to be adjusted after exceeding the predetermined range, since the horizontal level is not adjusted until it exceeds the predetermined range, there is a problem that machining accuracy is deteriorated (even though it is slight deterioration) and it is not possible to deal with a case where an extremely high machining accuracy is required.

Accordingly, the machine tool1of this embodiment is configured to detect load values acting on the ten supporting jigs30with the load cells33, estimate a motion locus of relative motion of a workpiece W and a tool T based on the detected load values, calculate motion errors based on the estimated motion locus, and add correction signals generated based on the calculated motion errors to the motion command signals (position control signals) transmitted from the position generator43to the position controller44.

Specifically, first, load values detected by the load cells33of the ten supporting jigs30are transmitted to the motion locus estimator47. Subsequently, as described above, the motion locus estimator47estimates a motion locus of relative motion of a workpiece W and a tool T based on the received load values and the influence coefficient matrix stored in the influence coefficient storage48, and transmits the estimated motion locus to the motion error calculator49.

The motion error calculator49calculates motion errors between the estimated motion locus and the reference motion locus based on the received motion locus and the reference motion locus stored in the reference motion locus storage50, and transmits the calculated motion errors to the position corrector51and the motion error judgment part52.

Thereafter, the position corrector51generates correction signals for the position control signals transmitted thereto from the position generator43based on the received motion errors, and adds the correction signals to the position controls signals transmitted from the position generator43to the position controller44.

Thus, in the machine tool1, motion errors between the estimated motion locus and the reference motion locus, in other words, differences between the then horizontal level and a reference horizontal level, are calculated, and signals for compensating for the motion errors are added to the position control signals even when the motion errors are very small. Therefore, the position control signals in which the motion errors have been compensated for are transmitted to the position controller44

Subsequently, the position controller44generates speed command signals based on the position controls signals to which the correction signals have been added, and transmits the generated speed command signals to the speed controller45. The speed controller45generates current command signals based on the received speed command signals and transmits the generated current command signals to the current controller46. The current controller46generates drive command signals based on the received current command signals and transmits the generated drive command signals to the X-axis servo motor18, the Y-axis servo motor21, and the Z-axis servo motor26, and the X-axis servo motor18, the Y-axis servo motor21, and the Z-axis servo motor26are driven and controlled in accordance with the drive command signals.

Note that, in this process, tracking errors related to speed is compensated for based on present speed data fed back from appropriate position detectors provided on the X-axis servo motor18, the Y-axis servo motor21, and the Z-axis servo motor26, and tracking errors related to current are compensated for based on feedback of actual current signals.

Note that, in a case where the maximum value of the motion errors calculated by the motion error calculator49is too large or in the case where the variation value of the motion errors in the motion direction (X-axis direction) is too large, if machining is performed in accordance with the position control signals to which the correction signals for compensating for the motion errors have been added, it is not possible to smoothly move the workpiece W and the tool T relative to each other, which may consequently cause a problem that accuracy of form and surface roughness of a machined surface are deteriorated, that is, it is not possible to maintain a high machining accuracy.

Therefore, in the machine tool1, the calculated motion errors are transmitted to the motion error judgment part52from the motion error calculator49, and, as described above, the motion error judgment part52judges whether the maximum value of the received motion errors exceeds a predetermined reference value, or whether the variation value of the motion errors in the motion direction exceeds a predetermined reference value, and outputs an alarm signal when judging that the maximum value exceeds the predetermined reference value or that the variation value exceeds the predetermined reference value. Note that examples of the destination of the alarm signal output include functional units which control informing means, such as a functional unit which controls display of an operation panel and a functional unit which controls lighting of a warning lamp provided on the machine tool1. In such a case, by displaying a warning on the operation panel or lighting the warning lamp, an operator is informed that the maximum value of the motion errors exceeds the reference value or that the variation value of the motion errors exceeds the reference value.

Thus, informing an operator of the possibility that machining accuracy is not maintained (the maximum value of the motion errors exceeds the reference value or the variation value of the motion errors exceeds the reference value) causes the operator to stop machining the workpiece W and perform an operation of adjusting the horizontal level.

As described above, according to the machine tool1of the present embodiment, since the motion errors are calculated based on the load values acting on the supporting jigs30and operation of the X-axis feed mechanism15, operation of the Y-axis feed mechanism20, and operation of the Z-axis feed mechanism25are controlled in accordance with the position control signals in which the calculated motion errors have been compensated for, it is possible to machine a workpiece W in a state where the motion errors have been compensated for even when the motion errors are very small, and therefore a very high machining accuracy is achieved. Further, in the case where a motion error which cannot be dealt with only by compensation occurs, an operator is informed thereof and is thereby prompted to perform an operation of adjusting the horizontal level, and a high machining accuracy is maintained by the operator performing the adjustment of the horizontal level.

One embodiment of the present disclosure has been described above; however, the present disclosure is not limited thereto and can be implemented in other modes.

For example, although Equation 1 given above is an equation for calculating height positions or variation positions at the positions (the ten positions Y1to Y10) at the first and second guide portions3and4based on load values detected by the ten load cells33, the equation can be generalized as an equation for calculating height positions or variation positions at m positions at the first and second guide portions3and4based on load values detected by n load cells33, which is Equation 3 given below.

Note that, in Equation 3, F is an n-by-one matrix and f1to fnare load values detected by n load cells33. Further, S is an m-by-one matrix and s1to smare height positions (variation values of height positions) at m positions at the first and second guide portions3and4. Furthermore, A is an m-by-n matrix (influence coefficient matrix) and a1,1to am,nare constant values representing the degrees of influence of the loads acting on the supporting jigs30upon the height positions at the m positions, which values are previously calculated.

Further, Equation 2 given above can be generalized as an equation (Equation 4) for calculating influence coefficients based on the load values detected by n load cells and the height positions or variation positions at m positions at the first and second guide portions3and4. Note that it is preferred that n and m are equal to each other.

In Equation 4, F′ is an n-by-m matrix, and f1,1to fn,mare, similarly to the foregoing, load values obtained by operating the jack portions32of the n supporting jigs30one after another and, after each operation, detecting the loads with the load cell33of the supporting jig30whose jack portion32was operated and the load cells33of the supporting jigs30whose jack portions32were not operated. Further, S′ is an m-by-m matrix and s1,1to sm,mare height positions or variation positions at m positions at the first and second guide portions3and4when the supporting jigs30are operated. Furthermore, A is, similarly to the foregoing, an m-by-n matrix, and a1,1to am,nare values calculated in accordance with Equation 4 based on the load values and the height positions or variation positions.

Further, although, in the above embodiment, correction signals are generated based on the motion errors by the position corrector51and the position corrector51adds the correction signals to the position control signals, the present disclosure is not limited thereto and another configuration is possible in which position control signals in which the motion errors have been compensated for are generated by a position generator and the position control signals in which the motion errors have been compensated for are transmitted to a position controller.

In this case, as shown inFIG. 9, a numerical controller40′ consists of a machining program storage41, a program analyzer42, a position generator43′, a position controller44, a speed controller45, a current controller46, a motion locus estimator47, an influence coefficient storage48, a motion error calculator49′, a reference motion locus storage50, and a motion error judgment part52. Note that the machining program storage41, the program analyzer42, the position controller44, the speed controller45, the current controller46, the motion locus estimator47, the influence coefficient storage48, the reference motion locus storage50, and the motion error judgment part52are the same as those forming the numerical controller40.

In the numerical controller40′, the motion error calculator49′ transmits generated motion errors to the position generator43′, and the position generator43′ generates position control signals in which the motion errors have been compensated for based on signals received from the program analyzer42and the motion errors received from the motion error calculator49′, and transmits the generated position control signals to the position controller44.

Note that the position generator43′ may be configured to generate position control signals in which the motion errors have been compensated for only when a predetermined code is written in the machining program and generate position control signals based on only signals received from the program analyzer42when the predetermined code is not written in the machining program, or may be configured to generate position control signals in which the motion errors have been compensated for regardless of whether a predetermined code is written in the machining program or not.

Also in this configuration in which position control signals in which the motion errors have been compensated for are generated by the position generator43′, operation of the X-axis feed mechanism15, operation of Y-axis feed mechanism20, and operation of the Z-axis feed mechanism25can be controlled in accordance with position control signals in which the motion errors have been compensated for, similarly to the foregoing embodiment. Therefore, even when a minute motion error occurs, the motion error can be compensated for and a workpiece W can be machined with high accuracy.

Further, although, in the above embodiment, position control signals in which the motion errors have been compensated for are transmitted to the position controller44, the present disclosure is not limited thereto and another configuration is possible in which position control signals in which not only the motion errors but also pitch errors and straightness have been compensated for are transmitted to the position controller44.

Further, although, in the above embodiment, when a motion locus is estimated, the point P at which a Y-Z plane including the axis of the spindle11and the top surface of the table5intersect is a point to be corrected (correction target point) and height positions or variation positions of the point P are calculated at predetermined intervals in the moving direction of the table5, the correction target point is not limited thereto and may be any other point.

For example, the correction target point may be a center point P′ calculated by, as shown inFIG. 10, regarding height positions or variation positions at the positions, of the positions Y1to Y10, closest to the four corners of the top surface of the table5(points P5a, P5b, P5c, and P5dinFIG. 10) as height positions or variation positions at the four points P5a, P5b, P5c, and P5d(the closest position to the point P5ais Y3, the closest position to the point P5bis Y8, the closest position to the point P5cis Y10, and the closest position to the point P5dis Y1inFIG. 10) and performing the CAE analysis or the like based on the coordinates of the four points P5a, P5b, P5c, and P5d. In this case, a line obtained by calculating height positions or variation positions of the center point P′ at predetermined intervals in the moving direction of the table5and connecting the calculated positions can be estimated to be a motion locus. Note that the correction target point may be a center point P′ calculated by regarding height positions or variation positions calculated by an interpolation calculation based on height positions or variation positions at the closet positions and the second closest positions to the four corners of the top surface of the table5(for example, Y3and Y4for the point P5ainFIG. 10) and the positions in the X-axis direction of the four corners of the top surface of the table5(for example, if the position of the point P5ain the X-axis direction is an intermediate position between Y3and Y4, the height position or variation position of the point P5ais the average of Y3and Y4) as height positions or variation positions at the four points P5a, P5b, P5c, and P5d, and similarly to the foregoing, performing the CAE analysis or the like based on the coordinates of the four points P5a, P5b, P5c, and P5d.

Further, in the above embodiment, when the motion error judgment part52judges that the maximum value of the received motion errors exceeds a reference value or that a variation value of the motion errors exceeds a reference value, and outputs an alarm signal, an operator is informed thereof by informing means, e.g., an operation panel or a warning lamp; however, the present disclosure is not limited thereto and machining of the workpiece W may be stopped without informing an operator.