FEEDBACK POSITION CONTROL METHOD

Abstract: A feedback position control method of performing appropriately and easily a position control in a variety of machinery. A pulse count converter (5) calculates the sum of the product of the number (xn) of feedback pulses delivered from a pulse coder (4) within a predetermined period and a first conversion coefficient (A) and the remainder (Rn - 1) in the preceding period (S1 ∼ S3). If the sum is positive or zero, it produces as many position feedback pulses as a quotient (yn') obtained by dividing the absolute value of the sum by a second conversion coefficient (B) and the remainder (Rn') resulting from the division is stored as a remainder (Rn) for obtaining a sum in the next period (S4 ∼ S8). If the sum is negative, the number of the position feedback pulses is set to a value (-yn' - 1) obtained by inverting the sign of the quotient and substracting 1 from the resulting value and a value (B - Rn') obtained by substracting the remainder from the second conversion coefficient is used as a remainder (S9, S10). The weight of a (1) position feedback pulse is equal to a moving distance of a mechanical moving portion per (1) position instruction pulse and position control various machines can be performed by one kind of pulse coder.

Description: The present invention relates to a feedback-type position control method, and more particularly, to a method by which position control can be effected properly and easily in machines of various specifications without using various position sensors. In a machine which comprises a movable section, connected to a servomotor by means of a rotary-motion-to-linear-motion converter mechanism or the like, and a rotary position sensor attached to the servomotor, as is generally known, the position of the machine movable section is detected according to feedback pulses delivered from the position sensor accompanying the motor rotation, while the machine movable section is being moved by means of the servomotor with the aid of the converter mechanism or the like, whereby position control of the machine movable section is effected. Also known is an arrangement such that position control for a target moved position is finished when the actual moved position of the machine movable section, detected according to the feedback pulses, enters an in-position zone which contains the target position, and a warning is issued to the effect that a deviation between the target moved position and the actual moved position is too large when the positional deviation departs from an allowable range. In consideration of the allowable ranges for the in-position zone and the positional deviation, it is advisable to set a movement of the machine movable section corresponding to the number of input feedback pulses at a value divisible by the pulse number. Meanwhile, a movement of the machine movable section for each revolution of the servomotor varies depending on the equipment arrangement, such as the screw pitch of the rotary-motion-to-linear-motion converter mechanism, the gear ratio of a speed reduction mechanism, etc. Conventionally, therefore, a position sensor, such as a pulse coder, is used which has a resolution high enough to fulfill the aforementioned requirements for the relationship between the movement of the machine movable section, such as a table, and the feedback pulse number. Used in a machine whose table movement for each revolution of the servomotor is 6 mm, for example, is a pulse coder of a type such that 3,000 pulses are generated with every servomotor revolution in each of two phases with a phase difference of 90°, and feedback pulses are delivered at the leading and trailing edges of each of the generated pulses. In this case, 12,000 feedback pulses are delivered from the pulse coder with every motor revolution, so that the resolution (table movement per one feedback pulse) of the pulse coder is 0.5 µ. Used in a machine whose table movement for each motor revolution is 8 mm or 10 mm, according to another example, is a pulse coder of a type such that 8,000 or 10,000 feedback pulses are generated with every motor revolution, that is, the resolution is 1 µ or 0.5 µ. The conventional method described above uses a pulse coder whose resolution is suited for the specifications of the machine and servomotor. When controlling the operations of machines and servomotors of various types, therefore, various pulse coders of different resolutions must be provided for use. Naturally, moreover, the types of available pulse coders are limited, so that the machines and servomotors to which the aforementioned conventional method are limited. Furthermore, the management of the machines, servomotors, and pulse coders is complicated. As another method which fulfills the aforementioned requirements for the relationship between the movement of the machine movable section and the feedback pulse number, use of a control system (Fig. 3) including an optional CMR (command multiplied ratio) 6, whose operation characteristic can be variably adjusted so as to change the significance of a position command depending on the resolution of the pulse coder, is generally known. If a pulse coder 4 which generates one feedback pulse for each table movement of 1 µ is used, for example, the operation characteristic of the CMR 6 is set so that one movement command pulse is delivered from the CMR when a movement command (variation of position command) of 1 µ is applied to the input of the CMR. If another pulse coder 4 which generates. e.g., 2.5 feedback pulses for each table movement of 1 µ is used. moreover, the operation characteristic of the CMR 6 is set so that two or three movement command pulses are alternately generated, and therefore, 2.5 movement command pulses are delivered on the average when 1-µ movement commands are inputted in succession. Even though the movement command is fixed, however, different numbers of movement command pulses are delivered from optional CMRs 6 with different operation characteristics. According to the aforementioned conventional method in which the operation characteristic of the CMR 6 is variably set, therefore, the in-position zone, used to discriminate the arrival at the target position, and the allowable range, used to detect an excessive positional deviation, must be modified every time the operation characteristic of the CMR 6 is changed. Naturally, moreover, the setting range for the operation characteristic of the CMR 6 is limited, so that available pulse coders for the execution of the aforementioned conventional method are limited. The object of the present invention is to provide a feedback-type position control method by which position control can be effected properly and easily in various machines without using various position sensors. According to the present invention there is provided a feedback position control method performed in a machine which comprises a movable section driven by a servomotor, there being a rotary position sensor connected to the servomotor and supplying pulses which are used for feedback control of the servomotor, the method being characterised in that: an original sequence of pulses from the rotary position sensor is converted into a new sequence of feedback pulses having a spacing between successive ones of the new feedback pulses which differs from the spacing between successive ones of said original pulses, such that each interval between successive ones of the new feedback pulses is set to correspond to a movement, of the machine movable section, defined by a unit of command movement provided for the servomotor. According to the present invention, as described above, the feedback pulses delivered from the rotary position sensor accompanying the rotation of the servomotor are converted into position feedback pulses having a pulse number capable of dividing the movement of the machine movable section corresponding to the number of the feedback pulses, so that the significance of one input feedback pulse, and therefore, the significance of the position feedback pulse, can be properly set in accordance with the specifications of the machine. As a result, the position control of machines of various specifications can be executed by using a position sensor of one type, and it is unnecessary to selectively use various position sensors depending on the types of the machines and servomotors. Thus, the complicated management of the machines, servomotors, and position sensors are needless, and there are no restrictions on the respective specifications of the machines, servomotors, and position sensors. Furthermore, the in-position zone, used to discriminate the arrival at the target position, and the allowable position deviation range, used to detect an excessive positional deviation, can be properly set, and the set values need not be frequently modified. Brief Description of the Drawings Fig. 1 is a functional block diagram showing a digital servo system for embodying a feedback-type position control method according to one embodiment of the present invention; Fig. 2 is a flow chart illustrating an optional DMR process executed by means of a processor of the digital servo system; and Fig. 3 is a schematic block diagram showing a conventional servo system including an optional CMR. Referring to Fig. 1, a servo system for embodying a position control method according to an embodiment of the present invention comprises a digital servo circuit for accomplishing the respective functions of a position control section 1, a speed control section 2, and a pulse number converter means (optional DMR) 5, the servo circuit including a processor (not shown) used to execute software processing for fulfilling the respective functions of those elements. A servomotor 3 is fitted with a rotary position sensor, such as a pulse coder 4, which is designed so as to deliver, e.g., 40,000 feedback pulses while the servomotor 3 makes one revolution. Functionally, the digital servo circuit is arranged to convert the feedback pulses delivered from the pulse coder 4 into position feedback pulses by means of the optional DMR 5, as described in detail later, obtain a speed command Vc in the position control section 1 on the basis of a deviation (positional deviation) between the number of position feedback pulses and a position command ΔMn distributed from a numerical control device for use as a host control device, and execute proportional-plus-integral control and the like in the speed control section 2 on the basis of the speed command Vc, thereby obtaining a torque command. The servo system, which is provided with a PWM control circuit (not shown) for generating a PWM signal from the torque command, is operable to drive the servomotor 3 by the use of the PWM signal. A machine, which is operated under the control of the servo system, includes a rotary-motion-to-linear-motion converter mechanism which is formed of, for example, a ball screw/ball nut mechanism disposed between a speed reducer, connected to the output shaft of the servomotor 3, and a machine movable section such as a table. More specifically, the optional DMR 5 is operable to deliver yn number of position feedback pulses depending on an input pulse number xn and a pulse number conversion coefficient yn/xn which can be set variably when it is supplied with the xn number of feedback pulses, thereby making the significance of one input feedback pulse, and therefore, the significance of one position feedback pulse, changeable. Further specifically, a command movement of the machine movable section for each pulse of the position command ΔMn is determined depending on the specifications of the servo system and the servomotor and the specifications of the machine, such as the ball screw pitch, the gear ratio of the speed reducer, etc.. while the resolution of the pulse coder 4 (actual movement of the machine movable section sufficient for the delivery of one feedback pulse from the pulse coder 4) is determined depending on the specifications of the pulse coder 4. Accordingly, the pulse number conversion coefficient yn/xn is set so that the significance of one position feedback pulse (actual movement of the machine movable section sufficient for the delivery of one position feedback pulse from the optional DMR 5) is equivalent to the command movement for each position command pulse. If the command movement of the machine movable section for each position command pulse is 1 µ, and if the number of feedback pulses delivered from the pulse coder 4 for each revolution of the servomotor 3 is 40,000, for example, the pulse number conversion coefficient yn/xn is set at 3/20, 1/5, 1/4, and 3/10 in cases where the method of the present embodiment is applied to machines in which the actual movement of the machine movable section for each revolution of the servomotor is 6 mm, 8 mm, 10 mm, and 12 mm, respectively. If the command movement of the machine movable section for each position command pulse, the number of feedback pulses delivered for each motor revolution, and the actual movement of the machine movable section for each motor revolution are 0.5 µ, 40,000, and 6 mm, respectively, the pulse number conversion coefficient yn/xn is set at 3/10. The processor of the digital servo circuit, which is operable to execute the software processing, including a position loop process, speed loop process, and optional DMR process, in order to fulfill the respective functions of the position control section 1, the speed control section 2, and the optional DMR 5 of Fig. 1, as described above, is so arranged as to execute the software processing at intervals of a predetermined cycle. In this case, if the number of position feedback pulses is calculated by simply multiplying the number of feedback pulses delivered from the pulse coder 4 within one processing cycle by the conversion coefficient yn/xn, the calculation result generally involves a fraction, so that position control is subject to an error. In order to obviate this, the optional DMR 5 of the present embodiment comprises a first arithmetic logical unit 51 for multiplying the number xn of feedback pulses delivered from the pulse coder 4 within one processing cycle by a conversion coefficient A, a second arithmetic logical unit 52 for dividing the sum of the remainder Rn-1 and the product of the pulse number xn and the coefficient A by a second conversion coefficient B and delivering position feedback pulses corresponding in number to the quotient resulting from this calculation, and a storage unit 53 for storing the remainder Rn resulting from the calculation in the second arithmetic logical unit. Referring now to Fig. 2, the optional DMR process executed by means of the processor of the digital servo circuit of Fig. 1 will be described. The processor reads the number xn of feedback pulses delivered from the pulse coder 4 within a period corresponding to the present processing cycle (Step S1), multiplies the pulse number xn by the first conversion coefficient A, and loads the resulting value xn ˙ A into a first register (Step S2). Then, the processor adds the remainder Rn-1 obtained as a result of the calculation in the preceding cycle to the value stored in the first register, and loads the resulting value xn ˙ A + Rn-1 into a second register (Step S3). Further, the processor divides the absolute value | xn ˙ A + Rn-1 | of the value stored in the second register by the second conversion coefficient B, thereby obtaining a quotient yn' and a remainder Rn' (Step S4). Then, the processor determines whether or not the stored value xn ˙ A + Rn-1 of the second register is positive or zero (Step S5). If the result of the decision is affirmative, the quotient yn' and the remainder Rn' obtained in Step S4 are loaded, as the position feedback pulse number yn and the remainder Rn for the present processing cycle, into third and fourth registers, respectively (Steps S6 and S7). If the result of the decision in Step S5 is negative, on the other hand, the value 1 is subtracted from a value -yn' obtained by inverting the sign of the quotient yn' obtained in Step S4, and the resulting value (-yn' - 1) is loaded as the position feedback pulse number yn for the present processing cycle into the third register (Step S9). Then, the remainder Rn' obtained in Step S4 is subtracted from the second conversion coefficient B, and the resulting value (B - Rn') is loaded as the remainder Rn for the present processing cycle into the fourth register (Step S10). In Step S8 directly following Step S7 or S10, the processor reads out the position feedback pulse number yn for the present processing cycle loaded in Step S6 or S9, whereupon the optional DMR process for the present processing cycle ends. Then, the position loop control process based on the pulse number yn is entered. xn yn Rn ∑xn ∑yn 0 0 0 0 0 1 0 3 1 0 2 1 4 3 1 3 2 3 6 3 4 3 0 10 6 5 3 0 15 9 6 3 3 21 12 5 3 3 26 15 4 3 0 30 18 3 1 4 33 19 2 2 0 35 21 1 0 3 36 21 0 0 3 36 21 xn yn Rn ∑xn ∑yn 0 0 3 36 21 -1 0 0 35 21 -2 -2 4 33 19 -3 -2 5 30 17 -4 -2 3 26 15 -5 -3 3 21 12 -6 -4 5 15 8 -5 -3 5 10 5 -4 -2 3 6 3 -3 -2 4 3 1 -2 -1 3 1 0 -1 0 0 0 0 0 0 0 0 0 If the conversion coefficient A/B in the optional DMR 5 is set at 3/5, and if the feedback pulse number xn for each processing cycle increases one by one from 1 to 6, and then decreases one by one, the position feedback pulse number yn, remainder Rn, cumulative feedback pulse number Σxn, and cumulative position feedback pulse number Σyn for each processing cycle vary as shown in Table 1. In the meantime, the respective initial values of the parameters xn to Σyn are zero. Thereafter, if the servomotor 3 rotates reversely, and if the feedback pulse number xn for each processing cycle changes in like manner, the parameters yn, Rn, Σxn, and Σyn vary as shown in Table 2. The present invention is not limited to the embodiment described above, and various modifications may be effected therein. For example, the present invention may be embodied using a servo system which is provided with the optional CMR 6 shown in Fig. 3. In this case, it is necessary only that the significance of one position feedback pulse be equivalent to that of one pulse delivered from the optional CMR 6. In the embodiment described above, moreover, the first conversion coefficient A is set to a value equal to or smaller than that of the second conversion coefficient B, that is, the conversion coefficient A/B in the optional CMR 6 is set equal to or smaller than the value 1. If a low-resolution pulse coder is used, however, the first conversion coefficient A may be set at a value greater than that of the second conversion coefficient B so that the conversion coefficient A/B in the optional CMR 6 is greater than the value 1.

Claims: A feedback position control method performed in a machine which comprises a movable section driven by a servomotor (3), there being a rotary position sensor (4) connected to the servomotor (3) and supplying pulses which are used for feedback control of the servomotor (3), the method being characterised in that: an original sequence of pulses from the rotary position sensor (4) is converted into a new sequence of feedback pulses having a spacing between successive ones of the new feedback pulses which differs from the spacing between successive ones of said original pulses, such that each interval between successive ones of the new feedback pulses is set to correspond to a movement, of the machine movable section, defined by a unit of command movement (ΔMn) provided for the servomotor (3) . A feedback position control method according to claim 1, wherein said original sequence of pulses is cyclically received at intervals of a predetermined period for each cycle; and wherein the conversion thereof into said new sequence of feedback pulses includes the sub-steps of: (b1) obtaining the product of the number of input feedback pulses for each cycle and a first conversion coefficient (A), (b2) obtaining a quotient and a remainder by dividing the sum of the product for each cycle and a remainder for each preceding cycle by a second conversion coefficient (B), (b3) storing the remainder (Rn) obtained in said step (b2) as the remainder used to obtain the sum for the next cycle, and (b4) delivering the new position feedback pulses corresponding in number to the quotient obtained in said step (b2). A feedback position control method according to claim 2, wherein the first conversion coefficient (A) is set at a value smaller than that of the second conversion coefficient (B). A feedback position control method according to claim 1, wherein said original sequence of pulses is cyclically received at intervals of a predetermined period for each cycle; and wherein the conversion thereof into said new sequence of feedback pulses includes the sub-steps of: (b1) obtaining the product of the number of input feedback pulses for each cycle and a first conversion coefficient (A), (b2) obtaining the sum of the product for each cycle and a remainder for each preceding cycle, (b3) obtaining a quotient and a remainder (Rn) by dividing the absolute value of the sum by a second conversion coefficient (B), (b4) delivering the new position feedback pulses corresponding in number to the quotient when the sum is positive or zero and storing the remainder obtained in said step (b3) as the remainder used to obtain the sum for the next cycle, and (b5) delivering the new position feedback pulses corresponding in number to a value obtained by subtracting the value of 1 from a value obtained by inverting the sign of the quotient when the sum is negative and storing a value obtained by subtracting the remainder obtained in said step (b3) from the second conversion coefficient (B) as the remainder used to obtain the sum for the next cycle. A feedback position control method according to claim 4, wherein the first conversion coefficient (A) is set at a value smaller than that of the second conversion coefficient (B).

Inventors: MATSUBARA SHUNSUKE, MATSUBARA, SHUNSUKE, MATSUBARA, SHUNSUKE 8-203 FANUC MANSHONHARIMOMI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1990
Main classification: G05B19
IPC codes: G05B19, G05D3, B23Q15