Numerical controller that controls an output value in feedback control

10261492 ยท 2019-04-16

Assignee

Inventors

Cpc classification

International classification

Abstract

A numerical controller, which is capable of controlling an output value without causing delay or the like in feedback control, includes an instruction program analysis unit configured to analyze a program instruction and generate instruction data instructing movement of the axis, and a speed computation unit configured to start speed computation processing to compute a feeding speed of the axis by the instruction data or an override for the feeding speed by feedback control such that the spindle load value becomes constant. The speed computation unit is configured to update a feature amount intended for elimination of deviation between a desired value and a feedback value in the feedback control when another override that is different than the override that has been computed is output. The feature amount is updated to a value obtained by back calculation from the other override that is to be output.

Claims

1. A numerical controller adapted to control a machine that includes a spindle and an axis driving the spindle on the basis of a program instruction and carry out feedback control to control a moving speed of the axis such that a load value of the spindle becomes constant, the numerical controller comprising: an instruction program analysis unit configured to analyze the program instruction and generate instruction data instructing movement of the axis; and a speed computation unit configured to start speed computation processing to compute a feeding speed of the axis by the instruction data or an override for the feeding speed by feedback control such that the spindle load value becomes constant, the speed computation unit being configured to compute an integral term used in the feedback control based on the spindle load value and compute the override based on the integral term, and when another override that is different than the override is defined as an output value, assign a substitute value computed by the output value to the integral term.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The above and other objects and features of the present invention will become apparent from the following description of the embodiments with reference to the accompanying drawings, in which:

(2) FIG. 1 is a schematic block diagram of a numerical controller in accordance with an embodiment of the present invention;

(3) FIG. 2 is a diagram illustrating changes in a depth of cut, an override, a spindle load value, and a value of an integral term in PID control by the numerical controller in accordance with the embodiment of the present invention;

(4) FIG. 3 is a flowchart of processing executed by a speed computation unit 11 provided in the numerical controller 1 of FIG. 1 in accordance with the embodiment of the present invention;

(5) FIG. 4 illustrates an example of a block diagram of feedback control using PID control;

(6) FIG. 5 is a diagram illustrating changes in a depth of cut, an override, a spindle load value, and a value of an integral term in normal PID control; and

(7) FIG. 6 is a diagram illustrating changes in the depth of cut, the override, the spindle load value, and the value of the integral term in the PID control with the output restricted.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

(8) Embodiments of the present invention are described below with reference to the drawings.

(9) FIG. 1 is a functional block diagram of a numerical controller in accordance with one embodiment of the present invention. The numerical controller 1 in accordance with this embodiment includes an instruction program analysis unit 10, a speed computation unit 11, an interpolation unit 12, a post-interpolation acceleration/deceleration unit 13, a servo motor control unit 14, and a spindle load measurement unit 15.

(10) The instruction program analysis unit 10 is configured to read, sequentially, blocks that instruct operations of a machine which is the target of control (the blocks are read from a program or the like stored in not-shown memory unit); carry out analysis of the blocks that have been read; create instruction data to instruct movement of a axis driven by a servo motor 2 based on the result of the analysis; and output the created instruction data to the speed computation unit 11.

(11) The speed computation unit 11 is configured to compute an override for the feeding speed of the instruction data input from the instruction program analysis unit 10 such that the spindle load becomes constant. The override is computed on the basis of a spindle load of a spindle motor 3 measured by the spindle load measurement unit 15. Also, the speed computation unit 11 is configured to output, to the interpolation unit 12, the instruction data with the feeding speed adjusted on the basis of the computed override.

(12) The interpolation unit 12 is configured to generate interpolation data on the basis of the instruction data with the adjusted feeding speed input from the speed computation unit 11. The interpolation data is generated as a point for each interpolation period on a path of the instruction by the instruction data. The interpolation unit 12 is also configured to output the generated interpolation data to the post-interpolation acceleration/deceleration unit 13.

(13) The post-interpolation acceleration/deceleration unit 13 is configured to compute the speeds of the respective axes in each interpolation period on the basis of the interpolation data input from the interpolation unit 12, and output result data to the servo motor control unit 14.

(14) Finally, the servo motor control unit 14 is configured to control the servo motor 2 that drives the axis of the machine which is the target of control on the basis of the output by the post-interpolation acceleration/deceleration unit 13.

(15) It should be noted that FIG. 1 does not explicitly illustrate other functional elements which may or should exist therein such as a spindle motor control circuit and an amplifier for the spindle motor.

(16) The computation of the speed carried out by the speed computation unit 11 will be described below. It is envisaged that the PID control in the context of the present invention includes the following extension. (Extension) Any appropriate value can be assigned to an integral term at any appropriate time, and such an integral term is notated by an indefinite integral symbol with its lower endpoint omitted.

(17) According to the above-identified extension, the present invention uses the following third mathematical expression as the mathematical expression of the PID control.

(18) O ( t ) = K p e L ( t ) + t K i e L ( t ) dt + K d d dt e L ( t ) + C [ Expression 3 ]

(19) In the PID control carried out under the condition that the above-described upper limit value is specified for the output value, the speed computation unit 11 provided in the numerical controller 1 of this embodiment assigns a substitute value I (which is computed by the following fourth mathematical expression) to the integral term at the time t at which the output value O(t) computed by the third mathematical expression exceeded the upper limit value O.sub.t. After that, the substitute value calculated for each control period in accordance with the fourth mathematical expression is assigned to the integral term of the third mathematical expression and O.sub.t is output in place of O(t) while the output value O(t) computed by the third mathematical expression is larger than the upper limit value O.sub.t. The substitute value I computed by the fourth mathematical expression is a value obtained by back calculation from the value of the override that has been output (the upper limit value O.sub.t).

(20) I = O t - K p e L ( t ) - K d d dt e L ( t ) - C [ Expression 4 ]

(21) The result of simulation of a case where the above-described processing is applied under the same conditions as those of FIG. 6 is illustrated in FIG. 2. As illustrated in FIG. 2, the output is restricted by the numerical controller 1 of this embodiment in the same or similar manner as in FIG. 6. Meanwhile, according to the numerical controller 1, a process is added according to which a value which ensures that the output after the restricting is output is assigned to the integral term when the calculation of PID control is performed. As a result, even when the feeding speed reaches the upper limit value at the timing (D), the value of the integral term does not increase as in FIG. 6 and remains to be a constant value. Also, although the spindle load at the moment the depth of cut increased at the timing (E) becomes equivalent to that in FIG. 6, the feeding speed decreases immediately after the timing (E) and the spindle load also decreases. In this manner, according to the numerical controller 1 of this embodiment, it will be appreciated that unintended increase or decrease of the integral term is prevented and thereby responsiveness of control is increased.

(22) FIG. 3 is a flowchart of the processing carried out for each control period by the speed computation unit 11 in accordance with this embodiment. It should be noted that, in the flowchart of FIG. 3, L(t) is a value of the current spindle load, Lm is a value of the spindle load at which the control method introduced by the present invention becomes effective, O(t) is the output value computed by the PID control, and O.sub.t is the predetermined upper limit value for the output value.

(23) [Step SA01] The speed computation unit 11 determines whether or not the current spindle load value L(t) of the spindle motor 3 measured by the spindle load measurement unit 15 is equal to or larger than the spindle load value Lm which is specified in advance and at which the control method of this embodiment becomes effective. When the current spindle load value L(t) is equal to or larger than the spindle load value Lm, the process proceeds to the step SA02, or otherwise proceeds to the step SA06.
[Step SA02] The speed computation unit 11 computes the output value O(t) by the feedback control by the PID control.
[Step SA03] The speed computation unit 11 determines whether or not the output value O(t) computed by the PID control in the step SA02 is equal to or lower than O.sub.t which is the predefined upper limit of the output value. When O(t) is equal to or lower than O.sub.t, the process proceeds to the step SA04. When O(t) exceeds O.sub.t, the process proceeds to the step SA05.
[Step SA04] The speed computation unit 11 defines O(t) that has been computed in the step SA02 as the output value.
[Step SA05] The speed computation unit 11 assigns the substitute value of the fourth mathematical expression to the integral term and defines O.sub.t as the output value.
[Step SA06] The speed computation unit 11 outputs the normal override.
[Step SA07] The speed computation unit 11 adjusts the instruction data on the basis of the computed output value and outputs the adjusted instruction data to the interpolation unit 12, and ends the processing for the control period of this time.

(24) Although the embodiment of the present invention has been described in the foregoing, the present invention is not limited to the above-described embodiment. The present inventions can be implemented in various forms with appropriate modifications made thereto.

(25) For example, descriptions of the above-described embodiment have been provided on the assumption that the present invention is applied to the feedback control based on the PID control. In the case of the PID control, the integral term corresponds to the feature amount intended for the purpose of elimination of the deviation between the feedback value and the desired value which is represented by a sum or a product bridging control periods in the feedback control, so that the above descriptions are provided on the assumption that the substitute value is assigned to the integral term. Meanwhile, when the present invention is to be applied to other control schemes, the control schemes should be configured such that a substitute value obtained by back calculation from the output value is assigned to a term corresponding to the feature amount intended for the purpose of elimination of the deviation between the feedback value and the desired value.