EP3211498A2 - Control apparatus, control program, and recording medium - Google Patents

Control apparatus, control program, and recording medium Download PDF

Info

Publication number
EP3211498A2
EP3211498A2 EP16204754.2A EP16204754A EP3211498A2 EP 3211498 A2 EP3211498 A2 EP 3211498A2 EP 16204754 A EP16204754 A EP 16204754A EP 3211498 A2 EP3211498 A2 EP 3211498A2
Authority
EP
European Patent Office
Prior art keywords
counting
pulse
motor
range
work
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP16204754.2A
Other languages
German (de)
French (fr)
Other versions
EP3211498B1 (en
EP3211498A3 (en
Inventor
Eiji Yamamoto
Daisuke Matsunaga
Tomonori Shimamura
Yoshimi Kamitani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of EP3211498A2 publication Critical patent/EP3211498A2/en
Publication of EP3211498A3 publication Critical patent/EP3211498A3/en
Application granted granted Critical
Publication of EP3211498B1 publication Critical patent/EP3211498B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
    • H02P8/14Arrangements for controlling speed or speed and torque
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36495Recording position and other parameters, current, tool diameter, voltage

Definitions

  • the present invention generally relates to a control apparatus controlling rotation of a rotator.
  • a controller performing motion control uses a target value (position, speed, torque and the like) of an instruction in a user program to perform, at regular periods, output of an instruction position of a control object such as a motor and information obtaining from the control object required for implementing required actions.
  • the controller converts an instruction movement amount of the rotator to a unit of a pulse quantity processed by a servo driver.
  • an instruction position indicating a rotator position is set by using an angle as a unit.
  • a driver of the motor processes an instruction value by using a pulse as a unit. Therefore, the unit of the instruction position needs to be converted from an angle to a pulse quantity. For example, when the motor rotates for a turn from 0° to 360° and returns to 0°, in a coordinate system repeatedly rotating from 0°, a turn (360°) rotated by the motor is converted into a prescribed pulse quantity.
  • Patent document 1 JP Patent Publication No. H05-150808 gazette (disclosed on June 18, 1993)
  • a deviation counter is used to control a motor based on a deviation pulse between an instruction position and a current position.
  • pulses indicating the instruction position and pulses indicating the current position need to be counted.
  • a ring counter is often used to count. When a rotator starts rotating, the ring counter starts counting pulses of the instruction position from a counting lower limit value. When the rotator rotates for a turn and a pulse quantity of the instruction position reaches a counting upper limit value, the ring counter starts counting again from a counting lower limit value.
  • the system converts a movement amount of each turn rotated by the work into a pulse unit, which sometimes is a non-integer.
  • a pulse unit which sometimes is a non-integer.
  • the instruction position sent by the driver to the controller is an integer value
  • the work rotates a mantissa of a small numerical part is generated.
  • the counting of the ringer counter is switched from the counting upper limit value to the lower limit value, the mantissa is removed at a controller side, and during repeated rotation of the work, a deviation is generated between numerical rotations and actual rotations.
  • a quantity P of conversion pulses of the work with the reduction ratio rotating for a turn is shown in the following formula, and is obtained by multiplying a prescribed pulse quantity (10000 pulses) for a turn rotated by the motor by a reciprocal of the reduction ratio.
  • a pulse position using the pulse quantity to indicate a rotation position of the work is shown in Fig. 7(c) .
  • the quantity reaches the counting upper limit value of the ring counter, that is, 16666, the quantity is restored to a counting lower limit value 0. Therefore, a position of the work (the work position) actually driven is shown in Fig. 7(a) .
  • a deviation D of the work position is generated based on the quantity P of the conversion pulses which removes the small numerical value. The deviation D is accumulated so as to be amplified during repeated rotations.
  • the method includes accumulating and monitoring a quantity of mantissa pulses (which is 0.6666...in this case) of a decimal of each rotation, and output a correction value at a time point when an accumulative value of the quantity of mantissa pulses is at least 1, so as to correct the quantity P of conversion pulses to eliminate the accumulative value of the quantity of mantissa pulses.
  • the method may generate the following bad condition: a speed is not continuous when the correction value is output, or a monitored position is inconsistent with a quantity of output pulses.
  • a structure of an operation part is complex.
  • the present invention is completed based on the problem, and is directed to precisely control the position of the rotator by using a simple structure.
  • the control apparatus of the present invention sends a pulse for controlling rotation of a rotator to a driver, where the rotator uses is rotated by a motor according to a reduction ratio as prescribed of a decelerator in which the motor is driven by the driver using a pulse quantity of the pulse for indicating an instruction position.
  • the control apparatus includes a counting range determining part, configured to determine a counting range of a counter for counting the pulse quantity, where the counting range determining part multiples a prescribed pulse quantity for each rotation turn of the motor by a reciprocal of the reduction ratio and a correction value, and determines the correction value which enables a multiplication result to be an integer.
  • the pulse quantity obtained by multiplying the prescribed pulse quantity by the reciprocal of the reduction ratio and the correction value is an integer. Therefore, as that in a past system, a numerical value error is not generated when a counting range is switched from an upper limit value to a lower limit value. Therefore, an accumulation of the error is not accumulated on a current position. Therefore, a position of the rotator actually driven is consistent with a position of the work that is set according to the instruction position. Moreover, not as that of a past controller, a management correction processing is not required to be performed on a quantity of mantissa pulses of the numerical value.
  • the decelerator is a gear pair with the reduction ratio being N/M, the gear pair enabling the rotator to rotate for N (N is an integer) turns relative to the motor rotating for M (M is an integer) turns; and the counting range determining part determines a rotational speed N of the rotator as the correction value.
  • the counting range determining part also uses a positive integer as a multiplier, multiplies the multiplier sequentially increasing from 1 by a multiplicative value of the prescribed pulse quantity and the reciprocal of the reduction ratio, and determines the multiplier multiplying the multiplicative value as the the correction value when a multiplication result is an integer.
  • the control apparatus of the present invention may also be implemented by using a computer.
  • a control program of the control apparatus that enables the computer as parts (software elements) of the control apparatus and that uses the computer to implement the control apparatus, and a computer readable recoding medium recording the control program also belong to a scope of the present invention.
  • the present invention has the following effect: a simple structure can be used to precisely control a position of a rotator.
  • Fig. 1 to Fig. 6(a) and Fig. 6(b) are used to illustrate an implementation manner of the present invention as follows.
  • Fig. 1 is block diagram of a general structure of a control system 100 of implementation manner 1.
  • Fig. 2 is a stereogram of a structure of a mechanism part 3 in the control system.
  • Fig. 3 is a diagram of an action of a counter part 21 of a servo driver 2 in the control system 100.
  • Fig. 4 is a block diagram of a structure of a unit conversion part 131 of a controller 1 in the control system 100.
  • the control system 100 includes the controller 1, the servo driver 2 (driver), and the mechanism part 3.
  • the mechanism part 3 is a control object of the controller 1, and includes a motor 31, a rotary encoder 32, a decelerator 33, and a work 34 as a rotator.
  • the motor 31 such as a servo motor drives the work 34 to rotate.
  • the motor 31 is integrally provided with a rotary encoder 32 configured for detecting a rotation angle and a rotation angular velocity.
  • the rotary encoder 32 outputs periodical pulse signals along with rotation of the motor 31.
  • the decelerator 33 is a gear pair including a work side gear 33a (a first gear) of a rotation shaft 36 installed on the work 34 and a motor side gear 33b (a second gear) of a rotation shaft 35 installed on the motor 31, and the work side gear 33a and the motor side gear 33b are engaged.
  • the driving of the work 34 by the motor 31 is intervened by the decelerator 33, so that when the motor 31 rotates for M turns and the work 34 rotates for N turns, a prescribed reduction ratio of the decelerator 33 is represented by N/M (M: a positive integer, N: a positive integer less than M).
  • the servo driver 2 has a counter part 21, a deviation counter 22, and a control part 23. Moreover, the servo driver 2 receives an instruction position sent by a communication processing part 14, and sends information such as a feedback position detected based on an output of the rotary encoder 32 to the controller 1.
  • the counter part 21 includes an instruction position counter 21 a (counter) and a feedback counter 21b.
  • the instruction position counter 21 a counts a pulse quantity of an instruction position (an instruction value) provided by the controller 1 in a form of a pulse signal.
  • the feedback counter 21b counts a pulse quantity of a feedback position (a current position) provided by the rotary encoder 32 in a form of a pulse signal.
  • the counter part 21 is as shown in Fig. 3 .
  • a ring counter is included.
  • a ring counter function of various counter functions included in a counter unit that is set independent of the servo driver 2 may also be used.
  • the deviation counter 22 counts a deviation between the instruction position counted by the counter part 21 and the current position, and provides the deviation to a control part 23.
  • the control part 23 controls rotation of the motor 31 so as to eliminate the deviation between the instruction position and the current position as a deviation pulse remained in the deviation counter 22. Specifically, as optimal drive energy corresponding to a status parameter (a rotation angle or a rotation angular velocity) of the motor 31, the control part 23 provides a torque so as to drive the motor 31.
  • the control part 23 performs position control according to a feedback position (a rotation angle) of a pulse signal output by the rotary encoder 32 and an instruction value from the controller 1 as a position control function.
  • the control part 23 performs speed control according to a control pulse obtained as a position control result and a feedback speed (a rotation angular velocity) of a pulse signal output by the rotary encoder 32 as a speed control function.
  • the control part 23 performs torque control according to an input torque and an output torque (a feedback torque) as a torque control function.
  • the controller 1 is a control apparatus that generates an instruction position (an instruction value) used for motion control and provided by the servo driver 2, and includes a programmable logic controller (PLC).
  • the controller 1 includes a motion control part 11, a memory 12, a unit conversion management part 13, and a communication processing part 14.
  • the motion control part 11 analyzes a motion control command included in a subsequent user program, and performs motion operation at regular periods based on an analysis result, so as to generate an instruction position provided by the servo driver 2. Moreover, the motion control part 11 determines, based on a deviation between the position of the motion control part 11 and the current position of the servo driver 2, whether the work 34 reaches the instruction position (in position (in position)).
  • the memory 12 is a storage apparatus that is set for storing user programs and parameters.
  • the user programs are prescribed with a motion control command for prescribing actions of the work 34 and a condition for performing the motion control command, and are made by a user.
  • the parameters are information used for prescribing actions of the work 34 and are set by the user.
  • the parameters are used for determining a rotational speed M of the motor 31 with a reduction ratio, a rotational speed N of the work 34, a prescribed quantity Pr of pulses, a counting upper limit value, and a counting lower limit value.
  • the prescribed quantity Pr of pulses is a pulse quantity of fixed intervals allocated when the motor 31 rotates for a turn (a rotation range).
  • the counting upper limit value and the counting lower limit value indicate a rotation range of the work 34 designated by the user, and a unit system is also set by using a same unit (such as a rotation angle).
  • the unit conversion management part 13 converts a unit of an instruction value generated by the motion control part 11 into a unit processed in the servo driver 2, and manages a counting period of the counting part 21. Therefore, as shown in Fig. 4 , the unit conversion management part 13 includes a unit conversion part 131 and a counting range determining part 132.
  • the unit conversion part 131 includes a range amplification part 131 a, a conversion processing part 131b, and a range narrowing part 131c.
  • the range amplification part 131a amplifies an angle range (an upper limit of the angle is 360°) ofN turns rotated by the work 34 to N times (M[N] ⁇ 360°) that of the range. Moreover, the range amplification part 131a amplifies a range (an upper limit of the prescribed pulse quantity is Pr) of a pulse quantity of M turns rotated by the motor 31 to M times (M ⁇ Pr) of that of the range.
  • M is the rotational speed of the motor 31
  • N is the rotational speed of the work 34.
  • the range amplification part 131a converts the input instruction position into a corresponding value in an amplified angle range, and converts the current position into a corresponding value in an amplified range of the pulse quantity.
  • the conversion processing part 131b converts an instruction position of an angle converted by the range amplification part 131 a into a corresponding value in an amplified range of the pulse quantity. Moreover, the conversion processing part 131b converts a current position of the pulse quantity converted by the range amplification part 131a into a corresponding value in an amplified angle range.
  • a range narrowing part 131c restores (narrows) an angle range amplified by the range amplification part 131 a to a range before the amplification. Moreover, the range narrowing part 131c restores (narrows) a range of the pulse quantity amplified by the range amplification part 131a to a range before the amplification.
  • the counting range determining part 132 multiplies the prescribed quantity Pr of pulses by a reciprocal of the reduction ratio N/M, so as to calculate a range of a value obtained by counting, by the instruction position counter 21a and the feedback counter 21b of the counter part 21, the pulse quantity equivalent to an angle of a turn rotated by the work 34, as a conversion value (a multiplicative value). Moreover, during initial processing, the counting range determining part 132 determines a multiplier multiplying a conversion value when a result is an integer as a correction value, and multiplies a conversion value by the correction value so as to calculate a quantity Pc of conversion pulses.
  • the quantity Pc of conversion pulses is a pulse quantity equivalent to n (n: a positive integer) turns rotated by the work 34.
  • the counting range determining part 132 determines the rotational speed N of the work 34 as a multiplier.
  • the counting range determining part 132 may also use a positive integer as a multiplier, multiplies the multiplier sequentially increasing from 1 by a conversion value, and determines the multiplier multiplying the conversion value as the correction value when a multiplication result is an integer (the minimum integer is especially preferred).
  • the communication processing part 14 sends an instruction value on which unit conversion is performed by the unit conversion management part 13 to the servo driver 2 during each process data communication period by means of communications of process data objects (PDO).
  • PDO communication is suitable for a situation in which real-time information exchange is performed at regular periods.
  • FIG. 5(a) to Fig. 5(c) are respective diagrams of relationships among a work position, a motor position, and a pulse position that are managed by the controller.
  • Fig. 6(a) and Fig. 6(b) are diagrams of unit conversion actions of a unit conversion part.
  • Fig. 6(a) indicates a position of the work 34
  • Fig. 6(b) indicates conversion of the position of the work 34 into a pulse position of a pulse.
  • the counting range determining part 132 reads a rotational speed N of the work 34 stored in the memory 12 as a parameter, and determines the rotational speed N as a correction value.
  • the counting range determining part 132 calculates a quantity Pc of conversion pulses by using the following formula based on a rotational speed M of the motor 31, a rotational speed N of the work 34, a prescribed quantity Pr of pulses, and the correction value that are stored in the memory 12 as parameters, and stores the quantity Pc in the memory 12.
  • the counting range determining part 132 instructs the quantity Pc of conversion pulses to the counter part 21 by means of the communication processing part 14, and sets a new counting range of the instruction position counter 21a and the feedback counter 21b for the quantity Pc of conversion pulses.
  • the counter part 21 accepts the instruction, and sets a counting range of the instruction position counter 21 a and the feedback counter 21b as the quantity Pc of conversion pulses.
  • the instruction position counter 21a and the feedback counter 21b are continuously counted until a counting value reaches the quantity Pc of conversion pulses, and restores the counting value to 0.
  • the quantity Pc of conversion pulses is calculated according to the following formula.
  • the following illustrates an unit conversion action performed by the unit conversion 131 on the instruction position and the current position.
  • the conversion processing part 131b converts, as stated above, the instruction position that is indicated by a converted angle as shown in Fig. 6(b) into a corresponding value in an amplified range of the pulse quantity. Further, the range narrowing part131c narrows the amplified range of the quantity pulses, as stated above, to a range before the amplification.
  • the range amplification part 131 a When a unit of the current position is converted, first, similar to the situation of converting the unit of the instruction position, the range amplification part 131 a amplifies an angle range of 3 turns rotated by the work 34 into 3 times of the range, and amplifies a range of the pulse quantity of 5 turns rotated by the motor 31 to 5 times of the range. Moreover, the range amplification part 131 a converts the current position input from the servo driver 2 into a corresponding value in an amplified angle range.
  • the conversion processing part 131b converts, as stated above, the converted current position indicated by the pulse quantity as shown in Fig. 6(a) into a corresponding value in an amplified angle range. Further, the range narrowing part131c narrows the amplified angle range, as stated above, to a range before the amplification.
  • a value of the convert unit of the instruction position is a reduction ratio. Therefore, a small numerical value may be included.
  • 720° is converted into 33333.33333...pulses.
  • the unit conversion part 131 removes the small numerical value of the instruction position and provides the value to the servo driver 2.
  • the servo driver 2 drives, based on the provided instruction position, the motor 31 so as to rotate the work 34, a current position of 3 rotation turns detected by the feedback counter 21b is 33333 pulses. Therefore, a deviation is generated relative to the 33333.33333...pulses in the controller 1.
  • the counting range is prescribed as an integral quantity Pc of conversion pulses, not as stated above, an error of removing the small numerical value is not accumulated, and the error does not exceed 1.
  • the pulse quantity processed at a receiving side (the servo driver 2) is an integral unit. Therefore, the deviation may be an error that always exists.
  • the controller 1 in the present implementation manner includes a counting range determining part 132, and the counting range determining part 132 determines a counting range of an instruction position counter 21a for counting a pulse quantity.
  • the counting range determining part 132 multiples a prescribed pulse quantity Pr of each rotation of the motor 31 by a reciprocal of the reduction ratio (N/M) and a correction value, and determines the correction value which enables a multiplication result to be an integer.
  • the counting range of the instruction position counter 21a and the feedback counter 21b is set as an integral quantity Pc of conversion pulses. Therefore, as stated above, when the counting range is switched from an upper limit value to a lower limit value, an error of a small numerical value is not generated. Therefore, an accumulation of the error is not accumulated on a current position. Therefore, a position of the rotator actually driven is consistent with a position of the work that is set according to the instruction position. Moreover, not as that of a past controller, a management correction processing is not required to be performed on a quantity of mantissa pulses of the numerical value.
  • a rotary encoder 32 is an absolute position encoder, because the pulse quantity of the counting range is used to manage the current position, when a power supply is cut off, not keeping additional information such as accumulative data of the mantissa may reduce a data amount kept by the memory when the power supply is cut off. Therefore, a simple structure can be used to precisely control the work position.
  • the counting range determining part 132 determines the rotational speed N of the work 34 as a correction value. Hence, a process of determining the correction value is simple.
  • Control blocks (especially a motion control part 11, a unit conversion management part 13, and a communication processing part 14) of a controller 1 may be implemented by a logic circuit (hardware) formed in an integrated circuit (an IC chip), and may be also implemented by using a central processing unit (CPU) by way of software.
  • a logic circuit hardware
  • CPU central processing unit
  • the controller 1 includes software for implementing functions of various parts, that is, a CPU controlling program commands, a Read Only Memory (ROM) or a storage apparatus (called “recording media”) that can be read by a computer (or the CPU) and that records the program and various data, and a Random Access Memory (RAM) extending the program.
  • the computer or the CPU reads form the recoding medium and executes the program, so as to achieve the objective of the present invention.
  • a non-temporary tangible medium may be used, for example, a tape, a disk, a card, a semiconductor memory, and a programmable logic circuit may be used.
  • the program may be provided to the computer by using any transmission medium (a communication network or a broadcast wave) that can transmit the program.
  • the present invention can be implemented by a form of a data signal that specifies the program by using electronic transmission and that is embedded into carrier.

Abstract

The present invention uses a simple structure to precisely control a position of a rotator. A controller (1) sends a pulse for controlling rotation of a work (34) to a servo driver (2), and the work (34) is rotated by a motor (31) according to a reduction ratio as prescribed of a decelerator in which the motor (31) is driven by the servo driver (2) using a pulse quantity of the pulse for indicating an instruction position. The controller (1) includes a counting range determining part (132), and the counting range determining part (132) determines a counting range of an instruction position counter (21a) for counting the pulse quantity. The counting range determining part (132) multiples a prescribed pulse quantity of each turn of the motor (31) by a reciprocal of the reduction ratio and a correction value, and determines the correction value which enables a multiplication result to be an integer.

Description

    BACKGROUND OF THE INVENTION 1. Field of the Invention
  • The present invention generally relates to a control apparatus controlling rotation of a rotator.
  • 2. Description of Related Art
  • A controller performing motion control uses a target value (position, speed, torque and the like) of an instruction in a user program to perform, at regular periods, output of an instruction position of a control object such as a motor and information obtaining from the control object required for implementing required actions. The controller, as disclosed in patent document 1, converts an instruction movement amount of the rotator to a unit of a pulse quantity processed by a servo driver.
  • For example, when the rotator is driven in a system which uses the motor to rotate the rotator such as a table, during manufacturing of the user program, an instruction position indicating a rotator position is set by using an angle as a unit. Correspondingly, a driver of the motor processes an instruction value by using a pulse as a unit. Therefore, the unit of the instruction position needs to be converted from an angle to a pulse quantity. For example, when the motor rotates for a turn from 0° to 360° and returns to 0°, in a coordinate system repeatedly rotating from 0°, a turn (360°) rotated by the motor is converted into a prescribed pulse quantity.
  • Prior art documents Patent documents
  • Patent document 1: JP Patent Publication No. H05-150808 gazette (disclosed on June 18, 1993)
  • SUMMARY OF THE INVENTION [Problems to be resolved by the present invention]
  • Moreover, in a driver, a deviation counter is used to control a motor based on a deviation pulse between an instruction position and a current position. In order to obtain the deviation pulse, pulses indicating the instruction position and pulses indicating the current position need to be counted. A ring counter is often used to count. When a rotator starts rotating, the ring counter starts counting pulses of the instruction position from a counting lower limit value. When the rotator rotates for a turn and a pulse quantity of the instruction position reaches a counting upper limit value, the ring counter starts counting again from a counting lower limit value.
  • When a decelerator of a gear is used to perform deceleration drive on a work as the rotator, according to a reduction ratio of the decelerator, the system converts a movement amount of each turn rotated by the work into a pulse unit, which sometimes is a non-integer. At this time, because the instruction position sent by the driver to the controller is an integer value, when the work rotates, a mantissa of a small numerical part is generated. When the counting of the ringer counter is switched from the counting upper limit value to the lower limit value, the mantissa is removed at a controller side, and during repeated rotation of the work, a deviation is generated between numerical rotations and actual rotations.
  • For example, when the motor rotates for 5 turns and the work rotates for 3 turns, the reduction ratio of the decelerator is 3/5. At this time, a quantity P of conversion pulses of the work with the reduction ratio rotating for a turn is shown in the following formula, and is obtained by multiplying a prescribed pulse quantity (10000 pulses) for a turn rotated by the motor by a reciprocal of the reduction ratio. P = 10000 × 5 / 3 = 16666.66666
    Figure imgb0001
  • Because the quantity P of the conversion pulses of the instruction position needs to be an integer, when the small numerical value (0.66666...) is removed, a pulse position using the pulse quantity to indicate a rotation position of the work is shown in Fig. 7(c). When the work rotates for a turn, the quantity reaches the counting upper limit value of the ring counter, that is, 16666, the quantity is restored to a counting lower limit value 0. Therefore, a position of the work (the work position) actually driven is shown in Fig. 7(a). Correspondingly, as shown in Fig. 7(b), a deviation D of the work position is generated based on the quantity P of the conversion pulses which removes the small numerical value. The deviation D is accumulated so as to be amplified during repeated rotations.
  • As a method for correcting the deviation D, the method includes accumulating and monitoring a quantity of mantissa pulses (which is 0.6666...in this case) of a decimal of each rotation, and output a correction value at a time point when an accumulative value of the quantity of mantissa pulses is at least 1, so as to correct the quantity P of conversion pulses to eliminate the accumulative value of the quantity of mantissa pulses. However, the method may generate the following bad condition: a speed is not continuous when the correction value is output, or a monitored position is inconsistent with a quantity of output pulses. Moreover, in order to avoid this bad condition, a structure of an operation part is complex.
  • The present invention is completed based on the problem, and is directed to precisely control the position of the rotator by using a simple structure.
  • [Manner for solving the problems]
  • To solve the problem, the control apparatus of the present invention sends a pulse for controlling rotation of a rotator to a driver, where the rotator uses is rotated by a motor according to a reduction ratio as prescribed of a decelerator in which the motor is driven by the driver using a pulse quantity of the pulse for indicating an instruction position. The control apparatus includes a counting range determining part, configured to determine a counting range of a counter for counting the pulse quantity, where the counting range determining part multiples a prescribed pulse quantity for each rotation turn of the motor by a reciprocal of the reduction ratio and a correction value, and determines the correction value which enables a multiplication result to be an integer.
  • According to the structure, the pulse quantity obtained by multiplying the prescribed pulse quantity by the reciprocal of the reduction ratio and the correction value is an integer. Therefore, as that in a past system, a numerical value error is not generated when a counting range is switched from an upper limit value to a lower limit value. Therefore, an accumulation of the error is not accumulated on a current position. Therefore, a position of the rotator actually driven is consistent with a position of the work that is set according to the instruction position. Moreover, not as that of a past controller, a management correction processing is not required to be performed on a quantity of mantissa pulses of the numerical value.
  • In the control apparatus, the decelerator is a gear pair with the reduction ratio being N/M, the gear pair enabling the rotator to rotate for N (N is an integer) turns relative to the motor rotating for M (M is an integer) turns; and the counting range determining part determines a rotational speed N of the rotator as the correction value.
  • According to the structure, a process for determining the correction value is simple.
  • In the control apparatus, the counting range determining part also uses a positive integer as a multiplier, multiplies the multiplier sequentially increasing from 1 by a multiplicative value of the prescribed pulse quantity and the reciprocal of the reduction ratio, and determines the multiplier multiplying the multiplicative value as the the correction value when a multiplication result is an integer.
  • The control apparatus of the present invention may also be implemented by using a computer. At this time, a control program of the control apparatus that enables the computer as parts (software elements) of the control apparatus and that uses the computer to implement the control apparatus, and a computer readable recoding medium recording the control program also belong to a scope of the present invention.
  • [Effects of the present invention]
  • The present invention has the following effect: a simple structure can be used to precisely control a position of a rotator.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
    • Fig. 1 is block diagram of a general structure of a control system of implementation manner 1 of the present invention.
    • Fig. 2 is a stereogram of a structure of a mechanism part in the control system.
    • Fig. 3 is a diagram of an action of a counter part of a servo driver in the control system.
    • Fig. 4 is a block diagram of a structure of a unit conversion part of a controller in the control system.
    • Fig. 5 is a respective diagram of relationships among a work position, a motor position, and a pulse position that are managed by the controller.
    • Fig. 6 is a diagram of unit conversion actions of the unit conversion part, wherein Fig. 6(a) is a diagram of a position of a work 34, and Fig. 6(b) is a diagram of a pulse position on which the position of the work 34 is converted into a pulse.
    • Fig. 7 is a respective diagram of relationships of an actual work position, a work position and a pulse position when a decimal point of the quantity of conversion pulses is removed.
    DESCRIPTION OF THE EMBODIMENTS
  • Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
  • Fig. 1 to Fig. 6(a) and Fig. 6(b) are used to illustrate an implementation manner of the present invention as follows.
  • [The structure of a control system 100]
  • Fig. 1 is block diagram of a general structure of a control system 100 of implementation manner 1. Fig. 2 is a stereogram of a structure of a mechanism part 3 in the control system. Fig. 3 is a diagram of an action of a counter part 21 of a servo driver 2 in the control system 100. Fig. 4 is a block diagram of a structure of a unit conversion part 131 of a controller 1 in the control system 100.
  • As shown in Fig. 1, the control system 100 includes the controller 1, the servo driver 2 (driver), and the mechanism part 3.
  • The mechanism part 3 is a control object of the controller 1, and includes a motor 31, a rotary encoder 32, a decelerator 33, and a work 34 as a rotator. The motor 31 such as a servo motor drives the work 34 to rotate. Moreover, as shown in Fig. 2, the motor 31 is integrally provided with a rotary encoder 32 configured for detecting a rotation angle and a rotation angular velocity. The rotary encoder 32 outputs periodical pulse signals along with rotation of the motor 31.
  • The decelerator 33 is a gear pair including a work side gear 33a (a first gear) of a rotation shaft 36 installed on the work 34 and a motor side gear 33b (a second gear) of a rotation shaft 35 installed on the motor 31, and the work side gear 33a and the motor side gear 33b are engaged. The driving of the work 34 by the motor 31 is intervened by the decelerator 33, so that when the motor 31 rotates for M turns and the work 34 rotates for N turns, a prescribed reduction ratio of the decelerator 33 is represented by N/M (M: a positive integer, N: a positive integer less than M).
  • The servo driver 2 has a counter part 21, a deviation counter 22, and a control part 23. Moreover, the servo driver 2 receives an instruction position sent by a communication processing part 14, and sends information such as a feedback position detected based on an output of the rotary encoder 32 to the controller 1.
  • The counter part 21 includes an instruction position counter 21 a (counter) and a feedback counter 21b. The instruction position counter 21 a counts a pulse quantity of an instruction position (an instruction value) provided by the controller 1 in a form of a pulse signal. The feedback counter 21b counts a pulse quantity of a feedback position (a current position) provided by the rotary encoder 32 in a form of a pulse signal. The counter part 21 is as shown in Fig. 3. When the pulse quantity is counted, an action of restoring an upper limit value to a lower limit value of a counting range is repeated. Therefore, a ring counter is included. In addition, for the counter part 21, a ring counter function of various counter functions included in a counter unit that is set independent of the servo driver 2 may also be used.
  • The deviation counter 22 counts a deviation between the instruction position counted by the counter part 21 and the current position, and provides the deviation to a control part 23.
  • The control part 23 controls rotation of the motor 31 so as to eliminate the deviation between the instruction position and the current position as a deviation pulse remained in the deviation counter 22. Specifically, as optimal drive energy corresponding to a status parameter (a rotation angle or a rotation angular velocity) of the motor 31, the control part 23 provides a torque so as to drive the motor 31. The control part 23 performs position control according to a feedback position (a rotation angle) of a pulse signal output by the rotary encoder 32 and an instruction value from the controller 1 as a position control function. Moreover, the control part 23 performs speed control according to a control pulse obtained as a position control result and a feedback speed (a rotation angular velocity) of a pulse signal output by the rotary encoder 32 as a speed control function. Moreover, the control part 23 performs torque control according to an input torque and an output torque (a feedback torque) as a torque control function.
  • The controller 1 is a control apparatus that generates an instruction position (an instruction value) used for motion control and provided by the servo driver 2, and includes a programmable logic controller (PLC). The controller 1 includes a motion control part 11, a memory 12, a unit conversion management part 13, and a communication processing part 14.
  • The motion control part 11 analyzes a motion control command included in a subsequent user program, and performs motion operation at regular periods based on an analysis result, so as to generate an instruction position provided by the servo driver 2. Moreover, the motion control part 11 determines, based on a deviation between the position of the motion control part 11 and the current position of the servo driver 2, whether the work 34 reaches the instruction position (in position (in position)).
  • The memory 12 is a storage apparatus that is set for storing user programs and parameters. The user programs are prescribed with a motion control command for prescribing actions of the work 34 and a condition for performing the motion control command, and are made by a user. The parameters are information used for prescribing actions of the work 34 and are set by the user. The parameters are used for determining a rotational speed M of the motor 31 with a reduction ratio, a rotational speed N of the work 34, a prescribed quantity Pr of pulses, a counting upper limit value, and a counting lower limit value.
  • The prescribed quantity Pr of pulses is a pulse quantity of fixed intervals allocated when the motor 31 rotates for a turn (a rotation range).
  • The counting upper limit value and the counting lower limit value indicate a rotation range of the work 34 designated by the user, and a unit system is also set by using a same unit (such as a rotation angle).
  • The unit conversion management part 13 converts a unit of an instruction value generated by the motion control part 11 into a unit processed in the servo driver 2, and manages a counting period of the counting part 21. Therefore, as shown in Fig. 4, the unit conversion management part 13 includes a unit conversion part 131 and a counting range determining part 132.
  • In order to convert units of the instruction position and the current position, the unit conversion part 131 includes a range amplification part 131 a, a conversion processing part 131b, and a range narrowing part 131c.
  • The range amplification part 131a amplifies an angle range (an upper limit of the angle is 360°) ofN turns rotated by the work 34 to N times (M[N]×360°) that of the range. Moreover, the range amplification part 131a amplifies a range (an upper limit of the prescribed pulse quantity is Pr) of a pulse quantity of M turns rotated by the motor 31 to M times (M×Pr) of that of the range. Here, M is the rotational speed of the motor 31, and N is the rotational speed of the work 34. Moreover, the range amplification part 131a converts the input instruction position into a corresponding value in an amplified angle range, and converts the current position into a corresponding value in an amplified range of the pulse quantity.
  • The conversion processing part 131b converts an instruction position of an angle converted by the range amplification part 131 a into a corresponding value in an amplified range of the pulse quantity. Moreover, the conversion processing part 131b converts a current position of the pulse quantity converted by the range amplification part 131a into a corresponding value in an amplified angle range.
  • A range narrowing part 131c restores (narrows) an angle range amplified by the range amplification part 131 a to a range before the amplification. Moreover, the range narrowing part 131c restores (narrows) a range of the pulse quantity amplified by the range amplification part 131a to a range before the amplification.
  • During initial processing, the counting range determining part 132 multiplies the prescribed quantity Pr of pulses by a reciprocal of the reduction ratio N/M, so as to calculate a range of a value obtained by counting, by the instruction position counter 21a and the feedback counter 21b of the counter part 21, the pulse quantity equivalent to an angle of a turn rotated by the work 34, as a conversion value (a multiplicative value). Moreover, during initial processing, the counting range determining part 132 determines a multiplier multiplying a conversion value when a result is an integer as a correction value, and multiplies a conversion value by the correction value so as to calculate a quantity Pc of conversion pulses. Here, the quantity Pc of conversion pulses is a pulse quantity equivalent to n (n: a positive integer) turns rotated by the work 34.
  • Specifically, the counting range determining part 132 determines the rotational speed N of the work 34 as a multiplier. Alternatively, the counting range determining part 132 may also use a positive integer as a multiplier, multiplies the multiplier sequentially increasing from 1 by a conversion value, and determines the multiplier multiplying the conversion value as the correction value when a multiplication result is an integer (the minimum integer is especially preferred).
  • The communication processing part 14 sends an instruction value on which unit conversion is performed by the unit conversion management part 13 to the servo driver 2 during each process data communication period by means of communications of process data objects (PDO). PDO communication is suitable for a situation in which real-time information exchange is performed at regular periods.
  • <Actions of the controller 1>
  • A unit conversion action of the controller 1 in the control system 100 composed by the foregoing manner is illustrated. Fig. 5(a) to Fig. 5(c) are respective diagrams of relationships among a work position, a motor position, and a pulse position that are managed by the controller. Fig. 6(a) and Fig. 6(b) are diagrams of unit conversion actions of a unit conversion part. In Fig. 6(a) and Fig. 6(b), Fig. 6(a) indicates a position of the work 34, and Fig. 6(b) indicates conversion of the position of the work 34 into a pulse position of a pulse.
  • First, the determining of the counting range by the counting range determining part 132 is illustrated.
  • The counting range determining part 132 reads a rotational speed N of the work 34 stored in the memory 12 as a parameter, and determines the rotational speed N as a correction value. The counting range determining part 132 calculates a quantity Pc of conversion pulses by using the following formula based on a rotational speed M of the motor 31, a rotational speed N of the work 34, a prescribed quantity Pr of pulses, and the correction value that are stored in the memory 12 as parameters, and stores the quantity Pc in the memory 12. Pc = Pr × M / N × N = M × Pr
    Figure imgb0002
  • The counting range determining part 132 instructs the quantity Pc of conversion pulses to the counter part 21 by means of the communication processing part 14, and sets a new counting range of the instruction position counter 21a and the feedback counter 21b for the quantity Pc of conversion pulses. The counter part 21 accepts the instruction, and sets a counting range of the instruction position counter 21 a and the feedback counter 21b as the quantity Pc of conversion pulses.
  • Hence, the instruction position counter 21a and the feedback counter 21b are continuously counted until a counting value reaches the quantity Pc of conversion pulses, and restores the counting value to 0.
  • Here, a set example of a specific counting range is illustrated. In the set example of the counting range, the following parameters are used.
    • A prescribed quantity Pr of pulses: 10000 pulses
    • A counting upper limit value: 360°
    • A counting lower limit value: 0°
    • A rotational speed N of the work 34: 3
    • A rotational speed M of the motor 31: 5
  • Based on the parameters, the quantity Pc of conversion pulses is calculated according to the following formula. Pc = 10000 × 5 / 3 × 3 = 50000 pulses
    Figure imgb0003
  • In the set example of the counting range, actually, as shown in Fig. 5(b), the motor 31 rotates for 5 turns, and relatively, as shown in Fig. 5(a), the work 34 rotates for 3 turns. Moreover, as shown in Fig. 5(c), as a pulse position using the pulse quantity to indicate a rotation position of the work 34, 50000 pulses of 3 turns rotated by the work 34 are obtained by counting of the instruction position counter 21a and the feedback counter 21b. In this way, the quantity Pc of conversion pulses is an integer. Therefore, when a counting value is switched from an upper limit value of the counting range to a lower limit value, an error accumulation generated in the past technology and removed of a small numerical value is not generated. Hence, an assumed position of the work 34 based on the quantity Pc of conversion pulses is also indicated as shown in Fig. 5(a), and there is no deviation between the assumed position of the work 34 and an actual position of the work 34.
  • The following illustrates an unit conversion action performed by the unit conversion 131 on the instruction position and the current position.
  • Here, an example of converting units using the parameters is illustrated.
  • When a unit of the instruction position is converted, first, as shown in Fig. 6(a) and Fig. 6(b), the range amplification part 131a amplifies an angle range that has an upper limit of 360° and that is of 3 turns rotated by the work 34 to 3 times (3×360°=1080°) of the angle range, and amplifies a range of the pulse quantity that has an upper limit of 10000 pulses and that is of 5 turns rotated by the motor 31 to 5 times (5×Pr) of the range. Moreover, the range amplification part 131a converts the instruction position input from the motion control part 11 into a corresponding value in an amplified angle range.
  • The conversion processing part 131b converts, as stated above, the instruction position that is indicated by a converted angle as shown in Fig. 6(b) into a corresponding value in an amplified range of the pulse quantity. Further, the range narrowing part131c narrows the amplified range of the quantity pulses, as stated above, to a range before the amplification.
  • When a unit of the current position is converted, first, similar to the situation of converting the unit of the instruction position, the range amplification part 131 a amplifies an angle range of 3 turns rotated by the work 34 into 3 times of the range, and amplifies a range of the pulse quantity of 5 turns rotated by the motor 31 to 5 times of the range. Moreover, the range amplification part 131 a converts the current position input from the servo driver 2 into a corresponding value in an amplified angle range.
  • The conversion processing part 131b converts, as stated above, the converted current position indicated by the pulse quantity as shown in Fig. 6(a) into a corresponding value in an amplified angle range. Further, the range narrowing part131c narrows the amplified angle range, as stated above, to a range before the amplification.
  • As stated above, a value of the convert unit of the instruction position is a reduction ratio. Therefore, a small numerical value may be included. For example, when the instruction position is 2 turns rotated, in the unit conversion example, 720° is converted into 33333.33333...pulses. The unit conversion part 131 removes the small numerical value of the instruction position and provides the value to the servo driver 2. When the servo driver 2 drives, based on the provided instruction position, the motor 31 so as to rotate the work 34, a current position of 3 rotation turns detected by the feedback counter 21b is 33333 pulses. Therefore, a deviation is generated relative to the 33333.33333...pulses in the controller 1.
  • However, because the counting range is prescribed as an integral quantity Pc of conversion pulses, not as stated above, an error of removing the small numerical value is not accumulated, and the error does not exceed 1. The pulse quantity processed at a receiving side (the servo driver 2) is an integral unit. Therefore, the deviation may be an error that always exists.
  • Relatively, in a history counting range, an error of 0.6666... is generated for each turn. Therefore, an error of 1.3333... exceeding 1 is generated during 2 turns of rotation.
  • <Effects of the controller for correction of the counting range>
  • The controller 1 in the present implementation manner includes a counting range determining part 132, and the counting range determining part 132 determines a counting range of an instruction position counter 21a for counting a pulse quantity. The counting range determining part 132 multiples a prescribed pulse quantity Pr of each rotation of the motor 31 by a reciprocal of the reduction ratio (N/M) and a correction value, and determines the correction value which enables a multiplication result to be an integer.
  • Hence, the counting range of the instruction position counter 21a and the feedback counter 21b is set as an integral quantity Pc of conversion pulses. Therefore, as stated above, when the counting range is switched from an upper limit value to a lower limit value, an error of a small numerical value is not generated. Therefore, an accumulation of the error is not accumulated on a current position. Therefore, a position of the rotator actually driven is consistent with a position of the work that is set according to the instruction position. Moreover, not as that of a past controller, a management correction processing is not required to be performed on a quantity of mantissa pulses of the numerical value. Moreover, when a rotary encoder 32 is an absolute position encoder, because the pulse quantity of the counting range is used to manage the current position, when a power supply is cut off, not keeping additional information such as accumulative data of the mantissa may reduce a data amount kept by the memory when the power supply is cut off. Therefore, a simple structure can be used to precisely control the work position.
  • Moreover, the counting range determining part 132 determines the rotational speed N of the work 34 as a correction value. Hence, a process of determining the correction value is simple.
  • <Embodiments by means of software>
  • Control blocks (especially a motion control part 11, a unit conversion management part 13, and a communication processing part 14) of a controller 1 may be implemented by a logic circuit (hardware) formed in an integrated circuit (an IC chip), and may be also implemented by using a central processing unit (CPU) by way of software.
  • Under a latter condition, the controller 1 includes software for implementing functions of various parts, that is, a CPU controlling program commands, a Read Only Memory (ROM) or a storage apparatus (called "recording media") that can be read by a computer (or the CPU) and that records the program and various data, and a Random Access Memory (RAM) extending the program. Moreover, the computer (or the CPU) reads form the recoding medium and executes the program, so as to achieve the objective of the present invention. As the recoding medium, "a non-temporary tangible medium" may be used, for example, a tape, a disk, a card, a semiconductor memory, and a programmable logic circuit may be used. Moreover, the program may be provided to the computer by using any transmission medium (a communication network or a broadcast wave) that can transmit the program. In addition, the present invention can be implemented by a form of a data signal that specifies the program by using electronic transmission and that is embedded into carrier.
  • [Attachment]
  • The present invention is not limited to the embodiments, and various changes can be made in scopes shown in the claims. Embodiments obtained by appropriately combining technical components that are respectively disclosed in different embodiments are included in the technical scope of the present invention.
  • It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.

Claims (5)

  1. A control apparatus (1), configured to send a pulse used to control rotation of a rotator (34) to a driver (2), wherein the rotator (34) is rotated by a motor (31) according to a reduction ratio as prescribed of a decelerator (33) in which the motor (31) is driven by the driver (2) using a pulse quantity of the pulse for indicating an instruction position, the control apparatus (1) characterized by comprising:
    a counting range determining part (132), configured to determine a counting range of a counter (21a) for counting the pulse quantity, wherein
    the counting range determining part (132) multiples a prescribed pulse quantity for each rotation turn of the motor (31) by a reciprocal of the reduction ratio and a correction value, and determines the correction value which enables a multiplication result to be an integer.
  2. The control apparatus according to claim 1, wherein
    the decelerator (33) is a gear pair with the reduction ratio being N/M, the gear pair enabling the rotator to rotate for integer N turns relative to the motor rotating for integer M turns; and
    the counting range determining part (132) determines a rotational speed N of the rotator as the correction value.
  3. The control apparatus according to claim 1, wherein
    the counting range determining part (132) uses a positive integer as a multiplier, multiplies the multiplier sequentially increasing from 1 by a multiplicative value of the prescribed pulse quantity and the reciprocal of the reduction ratio, and determines the multiplier multiplying the multiplicative value as the correction value when a multiplication result is an integer.
  4. A control program, configured to use a computer as the control apparatus according to any one of claims 1 to 3 to implement functions, wherein the control program is configured to causes the computer to serve as all parts to implement functions.
  5. A recording medium, wherein the recording medium records the control program according to claim 4 and is readable by the computer.
EP16204754.2A 2016-02-26 2016-12-16 Control apparatus, control program, and recording medium Active EP3211498B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016036459A JP6504081B2 (en) 2016-02-26 2016-02-26 Control device, control program and recording medium

Publications (3)

Publication Number Publication Date
EP3211498A2 true EP3211498A2 (en) 2017-08-30
EP3211498A3 EP3211498A3 (en) 2017-12-06
EP3211498B1 EP3211498B1 (en) 2022-07-13

Family

ID=58266330

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16204754.2A Active EP3211498B1 (en) 2016-02-26 2016-12-16 Control apparatus, control program, and recording medium

Country Status (4)

Country Link
US (1) US9996076B2 (en)
EP (1) EP3211498B1 (en)
JP (1) JP6504081B2 (en)
CN (1) CN107134956B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6828482B2 (en) * 2017-02-08 2021-02-10 オムロン株式会社 Control system and pulse output device
JP7031204B2 (en) * 2017-09-29 2022-03-08 オムロン株式会社 Control device, control method of control device, information processing program, and recording medium
JP7255095B2 (en) * 2018-05-30 2023-04-11 株式会社デンソー Rotation detection device and electric power steering device using the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150808A (en) 1991-11-28 1993-06-18 Mitsubishi Electric Corp Motion controller

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH565946A5 (en) * 1973-07-23 1975-08-29 Hartig Gunter
US4046229A (en) * 1975-12-12 1977-09-06 Westinghouse Electric Corporation Elevator system
US4102436A (en) * 1975-12-12 1978-07-25 Westinghouse Electric Corp. Elevator system
US4081732A (en) * 1976-03-02 1978-03-28 Tadamasa Aoyama Automatic positioning method and apparatus
US4150734A (en) * 1978-01-24 1979-04-24 Hitachi, Ltd. Elevator control apparatus
JPS55157011A (en) * 1979-05-25 1980-12-06 Sanesu Shoko:Kk Decelerating method for driving source in positioning control
JPS5676398A (en) * 1979-11-22 1981-06-23 Nasuko Kk Reciprocating travelling cutter
US4404626A (en) * 1981-02-02 1983-09-13 Kabushiki Kaisha Sanesu Shoko Positioning controlling method
JPS5854181A (en) * 1981-09-28 1983-03-31 ワイケイケイ株式会社 Control apparatus of automatic opening and closing door
JPS58110778A (en) * 1981-12-23 1983-07-01 ワイケイケイ株式会社 Control apparatus of automatic opening and closing door
JPS62156489A (en) * 1985-12-28 1987-07-11 ワイケイケイ株式会社 Method for opening and closing control of car door at time of abnormality
JPH0268781A (en) * 1988-09-02 1990-03-08 Sharp Corp Access control system
DE19504032C2 (en) * 1994-05-02 1996-11-14 Dorma Gmbh & Co Kg Method for controlling an automatic door driven by a drive motor
JP3228050B2 (en) * 1995-01-23 2001-11-12 富士電機株式会社 Rotation angle detection method
JPH0916261A (en) * 1995-06-29 1997-01-17 Shinko Electric Co Ltd Positioning controller
JPH09101175A (en) * 1995-10-04 1997-04-15 Yaskawa Electric Corp Multiple rotation type absolute value encoder
JP3832712B2 (en) * 2000-09-21 2006-10-11 セイコーエプソン株式会社 PRINT CONTROL DEVICE, CONTROL METHOD, AND RECORDING MEDIUM CONTAINING PRINT CONTROL PROGRAM
US6598859B1 (en) * 2001-05-31 2003-07-29 Magnetek, Inc. Multiple hoist synchronization apparatus and method
JP4289845B2 (en) * 2002-08-26 2009-07-01 キヤノン株式会社 Driving device and optical apparatus
US7228253B2 (en) * 2004-08-19 2007-06-05 Pacific Telescope Corp. Instrument mounting system with dual encoders
TW200736509A (en) * 2006-03-21 2007-10-01 King Motor Technology Co Ltd A position-locating method for servomotor controller
CN101424946B (en) * 2007-11-02 2011-01-12 深圳迈瑞生物医疗电子股份有限公司 Pulse positioning system and method for compensating pulse positioning error thereof
JP2010220461A (en) * 2009-02-20 2010-09-30 Seiko Instruments Inc Stepping motor control circuit and analog electronic clock
JP5704849B2 (en) * 2010-07-02 2015-04-22 キヤノン株式会社 Image forming apparatus
CN102332859B (en) * 2011-09-16 2015-06-03 天津市亚安科技股份有限公司 Closed-loop control method and system for stepping motor
JP5814767B2 (en) * 2011-12-09 2015-11-17 シチズンホールディングス株式会社 Electronic clock
CN103516271A (en) * 2012-06-29 2014-01-15 苏州张扬能源科技有限公司 Stepping motor stroke control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05150808A (en) 1991-11-28 1993-06-18 Mitsubishi Electric Corp Motion controller

Also Published As

Publication number Publication date
EP3211498B1 (en) 2022-07-13
CN107134956B (en) 2020-02-07
JP6504081B2 (en) 2019-04-24
US20170248938A1 (en) 2017-08-31
EP3211498A3 (en) 2017-12-06
CN107134956A (en) 2017-09-05
US9996076B2 (en) 2018-06-12
JP2017151937A (en) 2017-08-31

Similar Documents

Publication Publication Date Title
EP3211498A2 (en) Control apparatus, control program, and recording medium
EP3305482B1 (en) Failure diagnosis device and failure diagnosis method
CN106909074B (en) Control device
JP6582521B2 (en) CONTROL DEVICE, CONTROL SYSTEM, CONTROL DEVICE CONTROL METHOD, CONTROL PROGRAM, AND RECORDING MEDIUM
US9037300B2 (en) Controller for a machine tool for executing tapping
CN102104361A (en) Motor control apparatus having a function to calculate amount of cogging torque compensation
CN107769643B (en) Stepping motor control method and device, stepping motor and storage medium
CN112636660B (en) Servo drive control system and absolute position signal processing method, device and equipment
CN112491313A (en) Motor control method, device, equipment and computer readable storage medium
CN113653793B (en) Harmonic reducer transmission error compensation method and device and electronic equipment
CN100498610C (en) Method and apparatus for positioning the object
CN105269583A (en) Robot motion control method and device and robot
US8890460B2 (en) Servo control device
CN108964553B (en) Path planning method and device for servo motor control
CN109067284B (en) Motor control method and device based on filtering error
EP1796263A1 (en) Time constant automatic estimation method, time constant automatic estimation apparatus and servo motor control system
US10481568B2 (en) One-click motor configuration
EP3185092B1 (en) Systems and methods to enhance machine designs and production rate schedules for minimized energy cost
CN110535380A (en) A kind of method for controlling stepping motor, device, system and storage medium
CN114377874A (en) Spraying equipment flow monitoring method and device and readable storage medium
JP6895531B2 (en) Speed calculator and power converter
CN105553383B (en) Servo-driver super large gear ratio drive control method
CN109067288B (en) Motor control method and device based on current loop
EP3669241B1 (en) Drive controller equipped with independent error correction of position errors
US20140049543A1 (en) Method and system for monitoring operation of a system asset

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20161216

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

RIC1 Information provided on ipc code assigned before grant

Ipc: G05B 19/416 20060101ALI20171031BHEP

Ipc: G05B 19/404 20060101AFI20171031BHEP

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20201222

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20220307

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602016073472

Country of ref document: DE

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1504592

Country of ref document: AT

Kind code of ref document: T

Effective date: 20220815

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG9D

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20220713

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20221114

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20221013

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1504592

Country of ref document: AT

Kind code of ref document: T

Effective date: 20220713

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20221113

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20221014

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602016073472

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

26N No opposition filed

Effective date: 20230414

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20221216

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20221231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221216

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221231

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221216

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221216

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221231

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20221231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20231214

Year of fee payment: 8

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20161216

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20220713