NUMERICAL CONTROLLER
20180181100 ยท 2018-06-28
Assignee
Inventors
Cpc classification
G05B19/404
PHYSICS
G05B19/182
PHYSICS
G05B19/19
PHYSICS
International classification
G05B19/19
PHYSICS
G05B19/18
PHYSICS
G05B19/408
PHYSICS
Abstract
A numerical controller drives, through pressure control, two motors which drives two tables of a driving apparatus while keeping these two tables parallel with each other. When there is a positional deviation between the two motors, the numerical controller calculates a correcting pressure based on correction gains indicating relationships between pressure and position stored in advance and corrects pressure command values of the two motors based on the correcting pressure.
Claims
1. A numerical controller that performs pressure control based on a pressure command and controls a drive apparatus comprising a table driven by at least two motors, a first motor and a second motor, the numerical controller comprising: a state detection unit that detects respective positions of the first motor and the second motor; a correction gain storage unit that stores, for each of the first motor and the second motor, a correction gain indicating a relationship between pressure and position; and a correction command unit that calculates, when the positions of the first motor and the second motor are deviated, a correcting pressure based on the correction gains to correct a pressure command values of each of the first motor and the second motor based on the correcting pressure.
2. The numerical controller according to claim 1, further comprising a correction gain calculation unit that calculates the correction gains.
3. The numerical controller according to claim 1, wherein when the position of the second motor advances more in a driving direction than the position of the first motor, the correction command unit makes a correction by increasing the pressure command value of the first motor and reducing the pressure command value of the second motor.
4. The numerical controller according to claim 1, wherein when the position of the second motor advances more in the driving direction than the position of the first motor, the correction command unit makes a correction by increasing only the pressure command value of the first motor and keeping the pressure command value of the second motor.
5. The numerical controller according to claim 1, wherein when the position of the second motor advances more in the driving direction than the position of the first motor, the correction command unit makes a correction by keeping the pressure command value of the first motor and reducing only the pressure command value of the second motor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0032] A configuration of a numerical controller 100 according to embodiments of the present invention is explained with reference to
[0033] The numerical controller 100 is an apparatus that controls a drive apparatus and is configured to drive a first motor and a second motor according to pressure command values to move an upper table up and down, that is, in a Z-axis direction. In the embodiments, the downward direction, that is, the Z-axis direction, is a positive driving direction. The numerical controller 100 includes a state detection unit 110, a correction command unit 120, a correction gain calculation unit 130, and a correction gain storage unit 140. The numerical controller 100 typically includes a central processing unit (CPU), a storage device, and an input-output device, and the CPU executes a predetermined program to realize the state detection unit 110, the correction command unit 120, the correction gain calculation unit 130, and the correction gain storage unit 140.
[0034] The state detection unit 110 executes a process of detecting a deviation in positions of a plurality of motors. The motors are also provided with position detectors, and position information of the motors can be acquired in the pressure control. The state detection unit 110 acquires coordinate values of the plurality of motors at any time or every certain time and obtains a difference between the coordinate values to detect a deviation.
[0035] The correction command unit 120 executes a process of correcting pressure command values of the motors to eliminate an inclination of the table. The correction command unit 120 determines that the upper table is inclined when an amount of deviation detected by the state detection unit 110 exceeds a predetermined threshold and drives the motors based on new pressure command values (referred to as correcting pressures) obtained by using correction gains described later to correct original pressure command values of the first and second motors. In this way, the inclination of the upper table is corrected to recover the parallel state of the upper table and a lower table. A specific calculation method of the correcting pressures will be described later.
[0036] The correction gain calculation unit 130 executes a process of calculating coefficients, that is, the correction gains, for the correction command unit 120 to correct the pressure command values. The correction gain calculation unit 130 calculates the correction gains based on correlations between the coordinate values and the pressures. In other words, the correction gains are coefficients indicating amounts of change in positions with respect to amounts of pressure applied. In the embodiments, the correction gain calculation unit 130 calculates the correction gains based on motions of the motors just before the correction command unit 120 corrects the pressure command values.
[0037] The correction gain storage unit 140 stores the correction gains calculated by the correction gain calculation unit 130. Note that the correction gain storage unit 140 may store correction gains manually set through input means (not shown) instead of the correction gains calculated by the correction gain calculation unit 130.
[0038] A method of calculating the correction gains by the correction gain calculation unit 130 will be specifically described with reference to
[0039] As shown in
G.sub.L=(P.sub.L/Z.sub.L)(1)
G.sub.R=(P.sub.R/Z.sub.R)(2)
[0040] Here, P.sub.L and P.sub.R indicate pressure changes per unit time of the first motor M1 and the second motor M2 just before the detection of the coordinate values Z.sub.L and Z.sub.R, and Z.sub.L and Z.sub.R indicate position changes per unit time of the first motor M1 and the second motor M2 just before the detection of the coordinate values Z.sub.L and Z.sub.R.
[0041] In this way, the numerical controller 100 basically carries out pressure control and usually drives the plurality of motors M1 and M2 by the same power. When the numerical controller 100 detects that the tables 10 and 20 are not parallel with each other, the numerical controller 100 uses the correction gains to adjust the power balance of the plurality of motors M1 and M2 to eliminate the inclinations of the tables 10 and 20.
FIRST EMBODIMENT
[0042] A most typical operation of the numerical controller 100 will be described with reference to a flow chart of
[0043] Step S1: The state detection unit 110 acquires the coordinate values Z.sub.L and Z.sub.R of the first motor M1 and the second motor M2 in the Z-axis direction every certain time. Preferably, the state detection unit 110 acquires pressure values from force sensors provided on the first motor M1 and the second motor M2, in addition to acquiring the coordinate values of the first motor M1 and the second motor M2. The state detection unit 110 saves the detected coordinate values and pressure values of the first motor M1 and the second motor M2 of the last two times. The coordinate values and the pressure values saved here are used in step S5. Note that the correction gain calculation unit 130 may detect and save the pressure values.
[0044] Step S2: The state detection unit 110 calculates the difference between the coordinate values of the motors, and if the difference exceeds a preset threshold, the state detection unit 110 causes the correction command unit 120 to carry out the processes in step S2 and subsequent steps. On the other hand, if the difference is equal to or smaller than the threshold, the process ends.
[0045] As shown in
[0046] Step S3: The correction command unit 120 calculates an average of the coordinate values of the first motor M1 and the second motor M2 in the Z-axis direction. In the example of
[0047] Step S4: The correction command unit 120 calculates differences between the coordinate values of the first motor M1 and the second motor M2 in the Z-axis direction and the average position calculated in step S3.
[0048] In the example of
[0049] Step S5: The correction gain calculation unit 130 uses the coordinate values and the pressure values of the first motor M1 and the second motor M2 in the Z-axis direction of the last two times saved in step S1 to calculate the correction gain G.sub.L of the first motor M1 and the correction gain G.sub.R of the second motor M2 according to Expression (1) and Expression (2). In the example of
[0050] The correction gain storage unit 140 stores the correction gains G.sub.L and G.sub.R calculated by the correction gain calculation unit 130. Note that process in step S5 can be skipped if the correction gain storage unit 140 stores correction gains set in advance.
[0051] The correction command unit 120 uses the correction gains stored in the correction gain storage unit 140 to calculate the correcting pressures. In the present embodiment, the correcting pressures are the same for the first motor M1 and the second motor M2. More specifically, the pressure of the motor advancing in the Z-axis direction (second motor M2 in
[0052] Here, a calculation method of the correcting pressure according to the present embodiment will be described with reference to
Amount of movement of first motor M1=Z(G.sub.R(G.sub.L+G.sub.R))
[0053] The correcting pressure necessary for realizing the amount of movement of the first motor M1 can be obtained by multiplying the correction gain of the first motor M1 by the amount of movement of the first motor M1.
Correcting pressure of the first motor M1=Z((G.sub.LG.sub.R)(G.sub.L+G.sub.R))
[0054] The correcting pressure of the second motor M2 can be similarly obtained, and thus,
Correcting pressure of the second motor M2=Z((G.sub.LG.sub.R)(G.sub.L+G.sub.R))(3)
[0055] In the example of
[0056] Another example will be used for further description. It is assumed that the coordinate value Z.sub.L of the first motor M1 is 985 mm, and the coordinate value Z.sub.R of the second motor M2 is 1015 mm. It is also assumed that the correction gain G.sub.L of the first motor M1 is 10 N/mm, and the correction gain G.sub.R of the second motor M2 is 5 N/mm. In this case, the correcting pressure can be obtained by the above Expression (3).
Correcting Pressure =(1015985)((105)(10+5))=100 N
[0057] Step S6: The correction command unit 120 corrects the pressure command values by using the correcting pressure to generate new pressure command values (referred to as correcting pressure command values) and outputs the corrected output values to the motors M1 and M2. More specifically, the correction command unit 120 subtracts the correcting pressure from the pressure command value of the motor advancing in the Z-axis direction and adds the correcting pressure to the pressure command value of the delayed motor.
[0058] In the example of
[0059] Another example will be described. It is assumed that the coordinate value Z.sub.L of the first motor M1 is 985 mm, and the coordinate value Z.sub.R of the second motor M2 is 1015 mm. It is also assumed that the pressure command value of the first motor M1 and the pressure command value of the second motor M2 are both 1000 N, and the correcting pressure is 100 N. In this case, the correcting pressure command value of the first motor M1 is 1000 N+100 N=1100 N, and the correcting pressure command value of the second motor M2 is 1000 N100 N=900 N.
[0060] When the process is finished, the correction command unit 120 proceeds to step S2 again and determines whether the inclination of the table 10 is eliminated or not. If the inclination of the table 10 is eliminated, the correction command unit 120 ends the process and then continues to check the inclination of the table 10 every certain time. If the inclination of the table 10 is not eliminated, the correction command unit 120 executes the processes in step S3 and subsequent steps again and further corrects the inclination. In this way, the inclination correction process can be periodically or continually repeated to eliminate the inclination of the upper table 10 and quickly recover the parallel state of the tables.
[0061] According to the present embodiment, if the correction command unit 120 detects the inclination of the table based on the difference in the position information between the plurality of motors, the correction command unit 120 uses the correction gains calculated by the correction gain calculation unit 130 or the correction gains set in advance to calculate the correcting pressures of the plurality of motors. In this case, the absolute values of the correcting pressures of the plurality of motors are the same value. As a result, the inclination of the table can be eliminated to reduce the machining failure rate in the drive apparatus such as a press working apparatus. The reduction in the lifetime of dies used in press working and the like can also be prevented. Furthermore, abnormal sound and abnormal vibration during the drive caused by the inclination of the table can be prevented, and the reduction in the lifetime of the machine can be prevented.
SECOND EMBODIMENT
[0062] In the first embodiment, the correction command unit 120 makes the correction in a manner such that the total pressure of the first motor M1 and the second motor M2 is kept same before and after the correction. In a second embodiment, the correction command unit 120 does not change the pressure command value of the motor advancing in the Z-axis direction and makes a correction by increasing the pressure command value of the delayed motor. The correction method is suitable for, for example, a material which significantly tends to spring back (or material which tends to return to its original shape when a workpiece is released from a load) or a material that completely plastically deforms. If the correction of reducing the pressure is made as in the first embodiment in such a material, the workpiece may be deformed or may jump up. The present embodiment can prevent the phenomenon.
[0063] An operation of the numerical controller 100 according to the present embodiment will be described with reference to
[0064] It is assumed that the second motor M2 advances in the Z-axis direction, and the first motor M1 is delayed as shown in the left side of
THIRD EMBODIMENT
[0065] In a third embodiment, the correction command unit 120 makes a correction by reducing the pressure command value of the motor advancing in the Z-axis direction and keeping the pressure command value of the delayed motor as it is. The correction method is suitable for, for example, a delicate material in which a machining failure easily occurs due to a strong load.
[0066] An operation of the numerical controller 100 according to the present embodiment will be described with reference to
[0067] It is assumed that the second motor M2 advances in the Z-axis direction, and the first motor M1 is delayed as shown in the left side of
[0068] The present invention is not limited to the embodiments, and changes can be appropriately made without departing from the scope of the present invention. Any constituent elements of the embodiments can be modified, or any constituent elements of the embodiments can be eliminated in the present invention within the scope of the invention. For example, although the number of motors is mainly two in the description of the embodiments, the present invention can also be applied when the number of motors is three or more. More specifically, the deviation from the average position can be calculated for each motor, and the correction gain and the correcting pressure can be calculated based on the deviation to eliminate the inclination in the drive apparatus including three or more motors.
[0069] Although the correction command unit 120 sets the same correcting pressure for the plurality of motors or sets one of the correcting pressures to 0 in the embodiments, the correcting pressures may be distributed to the plurality of motors on a gradual basis. For example, when the first motor advances in the Z direction, the absolute value of the correcting pressure for reducing the pressure command value of the first motor may be a value smaller than the absolute value of the correcting pressure for increasing the correcting pressure of the second motor. In this case, the problem of the first embodiment described in the second and third embodiments can be prevented, and the inclination of the table can be eliminated in a shorter time than in the second and third embodiments.