WO1994012916A1 - Acceleration/deceleration control method for servo motor - Google Patents

Acceleration/deceleration control method for servo motor Download PDF

Info

Publication number
WO1994012916A1
WO1994012916A1 PCT/JP1993/001709 JP9301709W WO9412916A1 WO 1994012916 A1 WO1994012916 A1 WO 1994012916A1 JP 9301709 W JP9301709 W JP 9301709W WO 9412916 A1 WO9412916 A1 WO 9412916A1
Authority
WO
WIPO (PCT)
Prior art keywords
acceleration
absolute value
deceleration control
maximum
value
Prior art date
Application number
PCT/JP1993/001709
Other languages
English (en)
French (fr)
Inventor
Takashi Idei
Original Assignee
Fanuc Ltd
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 Fanuc Ltd filed Critical Fanuc Ltd
Publication of WO1994012916A1 publication Critical patent/WO1994012916A1/ja

Links

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/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
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43034Form of profile, ramp, trapezoid, S-curve, exponential

Definitions

  • the present invention relates to an improvement in a servomotor acceleration / deceleration control method.
  • the acceleration / deceleration control method applied to the servomotors of machine tools and industrial robots is from the current speed (VI) to the target speed (V2).
  • Linear acceleration / deceleration control that performs acceleration / deceleration control at a constant acceleration, and an exponential function that gradually reduces the acceleration from the current speed (VI) to the target speed (V2), as shown in Figure 10.
  • Shape acceleration / deceleration control is known.
  • the acceleration / deceleration control at the completion of the acceleration / deceleration control (t1 in Fig. 10) Since the change in acceleration is a relatively small value, at the time of completion of acceleration / deceleration, Force that can reduce the generated shock to some extent Acceleration generated at the start of acceleration / deceleration control (t0 in Fig. 10) cannot be reduced, and acceleration / deceleration control It is necessary to gradually reduce the acceleration from the start point, and the time required to reach the target speed becomes longer, causing adverse effects, such as the discovery of the invention.
  • An object of the present invention is to control acceleration and deceleration of a servomotor, which can reliably suppress the shock generated in servomotors and various parts of a machine without increasing the time required for acceleration and deceleration. To provide a method.
  • the acceleration / deceleration control method for a servo motor is implemented by gradually increasing the absolute value of the acceleration to reach a preset maximum absolute value of the acceleration, and then setting the absolute value of the maximum acceleration After holding the value for a certain period of time or instantaneously, the absolute value of this acceleration is gradually reduced from the above-mentioned maximum absolute value of the acceleration so that the speed becomes the commanded speed.
  • the absolute value of acceleration is linearly increased from zero to reach a preset maximum absolute value of acceleration.
  • the speed is set to the commanded speed by holding it for a certain period of time or instantaneously, then linearly decreasing the absolute value of this acceleration from the absolute value of the maximum acceleration and reaching zero, and then reaching zero.
  • the absolute value of the maximum acceleration and the absolute value of the acceleration are linearly increased from zero to perform the above-described maximum acceleration absolute value.
  • the target time is set by inputting the time to reach the counter value and the time to reach the absolute value of acceleration from the maximum absolute value of the acceleration to zero to the controller that controls the servo motor. Acceleration / deceleration control is performed at this speed.
  • the maximum acceleration absolute value, the acceleration increase rate when the absolute value of the acceleration is linearly increased, and the linear acceleration decrease from the maximum acceleration absolute value are performed.
  • acceleration reduction rate By setting and inputting the acceleration reduction rate in most cases, acceleration / deceleration is controlled to the target speed.
  • the time during which the maximum acceleration is maintained during acceleration / deceleration control is calculated according to the speed change that is raised or lowered by the acceleration / deceleration control.
  • the acceleration / deceleration control according to the present invention is executed only when the value becomes zero or a positive value.
  • the change in the driving force acting on the servomotor becomes smooth, and the conventional linear acceleration / deceleration control or exponential function acceleration / deceleration control can be performed.
  • the impact acting on the servomotor and each part of the machine is reduced.
  • acceleration / deceleration control is performed while maintaining a preset maximum acceleration in the constant acceleration section, which is an intermediate area of acceleration / deceleration control, so that the acceleration / deceleration time required to reach the target speed can be reduced. .
  • FIG. 1 is a functional block diagram showing the main parts of the servo control system of a numerical control device that controls machine tools, industrial robots, etc.
  • FIG. 2 is a flowchart showing an outline of “acceleration / deceleration control processing” of one embodiment for implementing the method of the present invention.
  • FIG. 3 and FIG. 4 are continuations of a flowchart showing the outline of “—acceleration / deceleration control processing” of the embodiment.
  • Fig. 5 is a diagram showing an example of the change in acceleration due to the "acceleration / deceleration control process" of the embodiment.
  • FIG. 6 is a diagram showing an example of a change in speed due to the “acceleration / deceleration control process” of the embodiment.
  • Figure 9 shows a conventional linear acceleration / deceleration control method.
  • FIG. 10 is a diagram showing a conventional exponential function type acceleration / deceleration control method.
  • FIGS. 7 and 8 show an outline of the servomotor acceleration / deceleration control method of the present invention.
  • acceleration / deceleration control method of the present invention immediately after switching from normal control to acceleration / deceleration control, and from acceleration / deceleration control to normal control. It is characterized in that a very small value of acceleration is given immediately before the acceleration, and that the maximum allowable acceleration (set value cr max) is given in the middle of the acceleration / deceleration control period.
  • the section from time t0 to time t1 is the acceleration increase section A
  • the section from time tl to time t2 is the constant acceleration section B
  • the section from time t2 to time t3 is The acceleration reduction section C.
  • the acceleration / deceleration control section consisting of sections A to C is described in detail.
  • section A the acceleration increases by a fixed amount () every unit time.
  • Section B is a straight line parallel to the time axis that maintains a constant acceleration (am ax).
  • Section C is a downward slope where the acceleration decreases by a fixed amount (a) every unit time. It becomes a straight line, and the acceleration curve becomes trapezoidal as a whole at this coordinate throughout the acceleration / deceleration control section.
  • the operator in order to perform acceleration / deceleration control with such a trapezoidal acceleration curve, the operator must use the maximum acceleration and the elapsed time in section A and section C, or the maximum acceleration and the acceleration in section A and section C.
  • the change rate is set and input.
  • Fig. 8 shows the relationship between time and acceleration in the acceleration / deceleration control section shown in Fig. 7 as the relationship between time and speed.
  • C In Fig. 7, the acceleration increases from time t0 to time t1.
  • acceleration A is
  • VA ⁇ t 2 -V ⁇
  • VI is expressed as a quadratic function of the time t at the time t0, that is, the initial speed).
  • the acceleration is constant irrespective of time, and in this section B, the speed increases linearly.
  • the acceleration ⁇ A is a value that is much closer to the set maximum acceleration a max, and it is further increased to the end of section A, that is, at the start of section B.
  • the acceleration reaches the set maximum acceleration ct max.Therefore, there is no sharp change in the acceleration when moving from section A to section B. Transition smoothly to interval B.
  • the acceleration cr C is
  • t a is the elapsed time from time t 0 to time t 3, that is, the time from the start of acceleration / deceleration control to the end, a> 0
  • V C -1 ⁇ (t-t a V 2
  • the acceleration curve passes through all sections of the constant speed section before entering the acceleration / deceleration control section, the section where acceleration / deceleration control is performed, and the constant speed section after exiting the acceleration / deceleration control section. It is represented as a polygonal line consisting of a series of straight lines with no breaks in the middle, so the acceleration fluctuates rapidly at any point during the operation of the servo motor. No. Therefore, the speed change is extremely smooth both when shifting from the constant speed section to the acceleration / deceleration control section and when shifting from the acceleration / deceleration control section to the constant speed section. There will be no unreasonable impact on the machine parts during the evening.
  • FIG. 1 is a functional block diagram showing the main part of the servo control system of a numerical control device that controls a machine tool, industrial robot, etc. by applying the servo motor acceleration / deceleration control method according to the present invention. is there.
  • the numerical control device cooperates the servo motors M1, M2, ... of each axis of machine tools, industrial robots, etc. by moving the NC commands related to feed, etc.
  • a pulse distribution function that moves a tool, table, or hand to the position indicated by the movement data by linear interpolation or circular interpolation, and a feed rate according to an NC command before interpolation is started in each distribution cycle.
  • acceleration / deceleration control function for calculating the speed command for acceleration / deceleration control of each axis based on the degree, and the movement calculated by NC command and the speed calculated by the acceleration / deceleration control function.
  • Command the movement command per unit time to the servo control circuit that drives and controls the servomotors Ml, M2, ... Outputs speed command.
  • the relationship between the pulse distribution function and the acceleration / deceleration control function is the same as that of the conventional numerical controller, but the linear acceleration / deceleration control and the exponential function acceleration / deceleration control are performed by the acceleration / deceleration control function. Instead, the acceleration / deceleration control that changes the acceleration into a trapezoidal shape as shown in Fig. 7 is different from the conventional one.
  • acceleration / deceleration control by a numerical controller that performs acceleration / deceleration control by pulse distribution, the value of the speed command for acceleration / deceleration control is calculated and output for each distribution cycle.
  • the acceleration does not change linearly as shown in Fig. 7, but changes stepwise every distribution period as shown in Fig. 5. And.
  • the operating system gives the time corresponding to the acceleration increase section A and the acceleration decrease section C in Fig. 7 and the value of the maximum acceleration ct max, so that the acceleration from zero acceleration is given.
  • the CPU is made to calculate the rate of change of acceleration /?
  • the time is given me in the number of distribution period
  • acceleration in the following examples c given by the change value of the speed at the elapsed time period 1 distribution station min Therefore, the absolute value of both the change in acceleration at the start of acceleration / deceleration control, base ⁇ ( ⁇ > 0), and the rate of change of acceleration at the completion of acceleration / deceleration control (a>(a> 0)) will be equal.
  • a description will be given of an apparatus that performs acceleration / deceleration control.
  • the numerical controller sets the time corresponding to the acceleration increase section ⁇ as the number of processings n (n: integer) based on one distribution cycle, and as shown in Fig. 5, the acceleration becomes zero. Starting from the initial value, it works ascending one after another n equal steps to reach the maximum acceleration ma-,. ::: at time t1. That is, In this section A, the acceleration is
  • the speed is the value obtained by adding the initial speed (speed V1 at time t0) to the value obtained by integrating the acceleration over time, so that i speeds from the start time t0
  • the velocity V Ai at which the distributing pulse, (in) is emitted, is
  • V Ai ⁇ a max n + V 1
  • i n, that is, the speed V A at time (t 1) when n distributed pulses are emitted from time t 0 is.
  • V A (max / n) ⁇ n (n + 1) 2 ⁇ + V 1
  • section B with constant acceleration, the velocity increases from ⁇ by ⁇ max for each distribution cycle, and the velocity at the time when j distribution cycles are issued counting from the beginning of section B. Is VB j.
  • V B j j
  • V B ⁇ ⁇ max V A
  • the acceleration decreasing section C As in the acceleration increasing section A, the time point t 3 is reached in n distribution cycles from the start time point t 2 of the section C.
  • the acceleration Ck in the k-th distribution cycle (k ⁇ n) in this section C is
  • H Ck a max one (a max / n) k
  • the speed is obtained by adding the initial speed (the speed VB at the time point t2) to the value obtained by integrating the acceleration expressed by the above equation with respect to time.
  • the velocity V Ck at the k-th distribution cycle (k ⁇ n) from t 2 is
  • V Ck ⁇ “max ⁇ 1-kn] ⁇ tens V B
  • V A, V B, and V 2 are summarized as follows.
  • V 2 max (n-1) 2 + V B
  • N-a max V 2-max (n-1) / 2
  • Figs. 2 to 4 are flowcharts showing the outline of the "acceleration / deceleration control process" adopted to perform such processing.
  • the numerical control that realizes the pulse distribution function and the acceleration / deceleration control function is shown in Figs. It is repeatedly executed every distribution cycle by the micro processor (hereinafter simply referred to as CPU) of the device.
  • CPU micro processor
  • the CPU that has started the “acceleration / deceleration control process” in the distribution cycle first determines whether or not the preprocessing completion flag F1 is set in the memory of the numerical controller, that is, newly reads. It is determined whether or not the preprocessing for the NC command for one block thus completed has been completed (step S1). Then, if there is a block for which preprocessing has been completed, the CPU shifts to the processing of step S2 to attain the target speed commanded by the newly read one block. While the acceleration / deceleration control is started, if the pre-processing has not been completed, the processing shifts to the processing of step S12, and the block currently being executed, that is, the block for which the pre-processing has been completed, is executed. Thus, the acceleration / deceleration control started at the time of completion of the preprocessing is continuously performed.
  • the CPU first resets the pre-processing completion flag F1 and executes the new one block.
  • the fact that the acceleration / deceleration control is started is stored (step S2), and the normal processing execution flag F2 for inhibiting the trapezoidal acceleration / deceleration control is reset (step S2). 3)
  • the difference ⁇ between the command speed commanded by the newly read NC command and the command speed commanded by the previous block is found, and is the value of this speed difference ⁇ V zero?
  • Step S4 Here, the difference ⁇ between the command speed commanded by the newly read NC command and the command speed commanded by the previous block If the value is zero, there is no need to perform acceleration / deceleration control.
  • the CPU resets the acceleration / deceleration control execution flag F3 (step S13), and stores the immediately preceding speed command value, that is, the speed command value commanded by the previous block.
  • the value of the speed command V stored in the register R (V) is output as it is (Step S11), and the "acceleration / deceleration control process" in the distribution cycle ends.
  • the pre-processing completion flag F1 and the acceleration / deceleration control execution flag F3 are reset in the "acceleration / deceleration control process" in the distribution cycle.
  • step S1 the distribution cycle after the next cycle
  • step S12 the processes of step S1, step S12, step S19, and step S11 are repeatedly executed.
  • the constant velocity control with zero acceleration is performed.
  • step S5 The acceleration / deceleration control execution flag F3 indicating that control is required is set (step S5), the maximum acceleration ⁇ max (set value), the acceleration increase section A and the acceleration decrease section
  • the value n (set value) of the distribution cycle number determined to specify the time corresponding to C is read from the memory of the numerical controller, and the maximum acceleration ct max maintained during acceleration / deceleration control is maintained. (Step S6), and it is determined whether or not this value N is equal to or greater than zero (step S6). Step S7).
  • the value of the distribution cycle number N is less than zero, it means that it is not possible to provide a period during which the set maximum acceleration cr max is maintained in the acceleration / deceleration control. Therefore, acceleration / deceleration control based on a trapezoidal or triangular acceleration curve according to the present invention cannot be performed.
  • the CPU sets the normal processing execution flag F 2 (step S 8), and performs the conventional processing.
  • the speed command V value at this point is stored in the register R (V) (step S10), the speed command value V is output (step S11). Then, the “acceleration / deceleration control process” in the distribution cycle ends.
  • step Sl the processing of step Sl, step S12, and step S9 to step S11 are repeated. Then, the same linear acceleration / deceleration control and exponential function acceleration / deceleration control as in the past are performed.
  • step S7 When the result of the determination in step S7 becomes true, that is, when the value N of the distribution cycle number corresponding to the constant acceleration section B is equal to or greater than zero, trapezoidal acceleration / deceleration control is possible.
  • the CPU determines whether the value of the difference ⁇ between the speed command of the previous block and the speed command of the block is positive or negative, ie, It is determined whether acceleration / deceleration control should be performed or acceleration / deceleration control for deceleration should be performed (step S14). If the value of ⁇ V is positive and acceleration / deceleration control for acceleration is required, the CPU stores the value of the maximum acceleration am ax in the maximum acceleration storage register R (a max).
  • step S15 If the value of ⁇ is negative and acceleration / deceleration control for deceleration is required, the maximum acceleration storage register The value of the maximum acceleration a max is stored in R (a max) with the sign inverted (step S16).
  • the CPU sets the initial value 1 to the count i that counts the number of distribution cycles after the start of the acceleration / deceleration control (step S17), and sets the maximum acceleration H max to the acceleration increase section A. Multiply the increase rate max / n of the acceleration for each distribution cycle, divided by the corresponding distribution cycle number n, by the value of the counter i, and calculate the distribution cycle.
  • the value of the acceleration command to be output in the distribution cycle is calculated by adding the value of the acceleration command to the register R (V) storing the immediately preceding speed command value, and calculating the value V of the speed command to be output in the distribution cycle.
  • the data is updated and stored in the register R (V) (step S18), the speed command value V is output (step Sll), and the "acceleration / deceleration control process" in the distribution cycle ends.
  • the CPU executes the discrimination processing of step S1, step S12, and step S19, and then shifts to the processing of step S20.
  • the CPU increments the value of count i, which counts the number of distribution cycles after the start of acceleration / deceleration control, by one, and then the value of count i Is determined to be smaller than the value of the distribution cycle number n corresponding to the acceleration increasing section A, that is, whether the distribution cycle is that of the acceleration increasing section A (step S21).
  • the value of the acceleration in the distribution cycle is obtained by the processing in step S18, and the immediately preceding speed command value is stored.
  • the value of the acceleration ⁇ is added to the register R (V), the speed command value V to be output in the distribution cycle is calculated, updated and stored, the speed command value V is output, and the acceleration / deceleration in the distribution cycle is output.
  • the control process ends (step S11).
  • the CPU sets the value of the counter i to the acceleration increase section A Step S1, Step S12, Step S19 to Step S21, for each distribution cycle until the value of the number n of distribution cycles corresponding to n is exceeded.
  • the processing of steps S18 and S11 is repeated and executed, and the value of the acceleration for each distribution cycle is stored in the register R (V) in an integrated manner.
  • the speed command value V to be output at that time is obtained, and the acceleration / deceleration control in the acceleration increasing section A is performed.
  • step S21 the determination result of step S21 becomes false.
  • the CPU sets the distribution cycle number n and the constant acceleration section B corresponding to the acceleration increasing section A to It is determined whether or not the value of count i is smaller than the value obtained by adding the corresponding number of distribution cycles N and, that is, whether or not the distribution cycle is that of the constant acceleration section B (step Step S22).
  • the CPU adds the value of the maximum acceleration cr max to the register R (V) storing the immediately preceding speed command value, and Calculates and updates the speed command value V to be output in step (step S23), outputs the speed command value V, and ends the "acceleration / deceleration control process" in the distribution cycle (step S23). Step S11).
  • Step S 1 the maximum acceleration ⁇ ma is stored in an integrated manner and the acceleration ⁇ is integrated to obtain the speed command value V to be output at that time. Control will be performed.
  • the value of count i becomes the distribution cycle number n corresponding to the acceleration increasing section A and the distribution cycle number N corresponding to the constant acceleration section B.
  • the CPU determines the number of distribution cycles n and the acceleration corresponding to the acceleration increasing section A. Whether the value of counter i is smaller than the value obtained by adding the number N of distribution cycles corresponding to the fixed section B and the number n of distribution cycles corresponding to the acceleration decreasing section C, that is, the distribution cycle Is determined to be in the acceleration decreasing section C (step S 24).
  • the CPU corresponds to the acceleration increasing section A.
  • the value obtained by multiplying by the value of ax / n is subtracted from the maximum acceleration am ax to obtain the value of acceleration in the distribution cycle, and the speed command immediately before
  • the value of the acceleration ⁇ is added to the register R (V) in which the value is stored, the value V of the speed command to be output in the distribution cycle is calculated, and updated and stored in the register R (V) (step S 25)
  • the speed command value V is output (Step SI1), and the "acceleration / deceleration control process" in the distribution cycle is terminated.
  • the CPU determines that the value of the counter i is the distribution cycle number n corresponding to the acceleration increasing section A, the distribution cycle number N corresponding to the constant acceleration section B, and the distribution cycle number n corresponding to the acceleration decreasing section C.
  • Step S1 The processing of steps S24 to S25 and step S11 is repeatedly executed, and the value of the acceleration ⁇ for each distribution cycle is stored in the register R (V, and the acceleration is stored. By integrating the magnitude, the speed command value V to be output at that time is obtained, and the acceleration / deceleration control in the acceleration reduction section C is performed.
  • step SI the value of the counter i is increased by the number n of distribution cycles corresponding to the acceleration increase section A, the number N of distribution cycles corresponding to the constant acceleration section B, and the acceleration decrease. If the determination result of step S24 becomes false beyond the value obtained by adding the number n of distribution cycles corresponding to the small section C and, the value of the acceleration rate becomes zero and the command speed V matches the target speed. Then: The NC command for one block is newly read and the pre-processing for one block is completed, so that the pre-processing il completion flag F1 is set again. Until the CPU is In each cycle, the processing of step SI, step SI2, step S19 to step S22 to step S22, step S24, and step SI1 is performed.
  • Step S11 the command speed V currently stored in the register R (V), that is, the target speed, is output for each distribution cycle, and the speed of the server is maintained at the target speed.
  • Step S11 every time the pre-processing for the next block is completed and the pre-processing completion flag F1 is set, the CPU repeats the "acceleration / deceleration control processing" in the same manner as described above. Then, the servo motor speed is smoothly accelerated and changed from the current command speed to the command speed commanded in the next block.
  • the maximum acceleration amax is reduced by setting the maximum acceleration amax to a large value while keeping the distribution cycle number n corresponding to the acceleration increase section A and the acceleration decrease section C constant.
  • max and the rate of change of acceleration am ax n are large values, and the servo mode is accelerated smoothly but rapidly, and the value of the maximum acceleration max is reduced with the value of the number of distribution cycles n constant. If this is set to a small value, the maximum acceleration a max and the acceleration change rate max / n will be small, and the servomotor will be accelerated slowly.
  • the acceleration change rate max / n becomes small and the acceleration increase section A and the acceleration decrease section C
  • the driving force acting on the servomotor changes slowly, and the value of the distribution cycle number n corresponding to the acceleration increasing section A and the acceleration decreasing section C is fixed with the value of the maximum acceleration a max being constant.
  • drive force jerk max / n acts Te large value and tuna to servomotors evening to have you in the acceleration increasing segment a and the acceleration decreasing segment C is a smooth Raka varies sharply c
  • the rate of change of acceleration (> 5) in the acceleration increase section A and the rate of change of acceleration (Ia) in the acceleration decrease section C are expressed as max / max.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)
  • Control Of Electric Motors In General (AREA)

Description

明 細 書
サ一ボモー夕の加減速制御方法
技 術 分 野
本発明は、 サーボモータの加減速制御方法の改良に関 する。
背 景 技 術
工作機械や産業用 ロ ボッ ト のサ一ボモー夕 に適用 され る加減速制御方法と しては、 図 9 に示すよ う に、 現在速 度 ( V I ) か ら 目標速度 ( V 2 ) ま で一定の加速度で加 減速制御を行 う 直線形加減速制御と、 図 1 0 に示すよ う に、 現在速度 ( V I ) から 目標速度 ( V 2 ) まで加速度 を徐々 に減少させてゆ く 指数関数形加減速制御が公知で める。
しか し、 直線形加減速制御では加減速中にお ける加速 度が常に一定と なるため、 加速度零で維持されて いる現 在速度か ら 目標速度に向けて加減速制御を開始する時点 ( 図 9 の t O ) 、 お よび、 速度が目標に達 して加速度零 となる加減速制御の完了時点 (図 9 の t 1 ) の各々 にお いて加速度、 即ち、 サーボモー夕 に作用する駆動力が著 し く 変動 し、 サ一ボモ一夕や機械の各部に大きな衝撃を 与える と いった問題がある。
—方、 加減速時の加速度を最初に与えた大き い値か ら 徐々 に減少させてゆ く 指数関数形加減速制御によれば、 加減速制御の完了時点 ( 図 1 0 の t 1 ) における加速度 の変化が比較的小さ な値と な るので、 加減速完了時点で 生 じる衝撃をあ る程度緩和する こ とができ る力 加減速 制御開始時点 ( 図 1 0 の t 0 ) で生 じる衝擎は緩和する こ とができず、 ま た、 加減速制御開始時点から加速度を 徐々 に減少させてゆ く 必要上、 目標速度に到達する ま で に必要と される所要時間が長 く なる と いった弊害が生 じ 発 明 の 開 示
本発明の目的は、 加減速に必要 と される所要時間を増 大させる こ とな く サーボモータや機械各部に生 じる衝撃 を確実に抑制する こ とのでき るサーボモー夕の加減速制 御方法を提供する こ と にある。
上記目的を達成するため、 本発明のサーボモータの加 減速制御方法は、 加速度の絶対値を徐々 に増大させて行 つて予め設定 した最大の加速度絶対値に到達させてか ら この最大の加速度絶対値に一定時間または瞬時保持 した 後、 この加速度の絶対値を上記最大の加速度絶対値か ら 徐々 に減少 して速度を指令速度にするよ う に して いる。
ま た、 本発明の別の態様によれば、 加速度の絶対値を ゼロか ら直線的に増大させて行って予め設定 した最大の 加速度絶対値に到達させてか ら この最大の加速度絶対値 を一定時間ま たは瞬時保持 し、 その後に この加速度の絶 対値を上記最大加速度の絶対値か ら直線的に減少 して行 つてゼロ に到達させる こ とで速度を指令速度に して い る。 好ま し く は、 最大の加速度絶対値、 加速度の絶対値を ゼロ か ら直線的に増大させて行って上記最大の加速度絶 対値に到達させるま での時間、 及び加速度の絶対値を上 記最大の加速度絶対値か らゼロ に到達させるま での時間 をサ一ボモータ を制御する制御装置に設定入力する こ と で目標の速度に加減速制御する よ う に して いる。 ある い は、 これに代えて、 最大の加速度絶対値、 加速度の絶対 値を直線的に増大させて行 く 場合の加速度増加率、 及び 上記最大の加速度絶対値か ら直線的に減少させて行 く 場 合の加速度減少率を設定入力する こ とで、 目標の速度に 加減速制御する よ う に して いる。
さ ら に好ま し く は、 加減速制御によっ て引 き上げられ るまたは引 き下げられる速度変化量に応 じて加減速制御 中最大加速度を維持すべき時間が算出され、 この算出結 果がゼロ または正の値となった場合に限 り、 本発明によ る加減速制御を実行するよ う に して いる。
本発明の方法によれば、 以上の構成を備える こ と によ つ て、 サーボモー夕 に作用する駆動力の変化が滑らかに な り、 従来の直線形加減速制御や指数関数形加減速制御 に比べてサーボモータ および機械各部に作用する衝擎が 緩和される。 しかも、 加減速制御の中間区域である加速 度一定区間では予め設定された最大加速度を維持 して加 減速制御が行われるので、 目標速度に到達する までの加 減速時間を短縮する こ とができる。
図 面 の 簡 単 な 説 明 図 1 は工作機械や産業用 ロ ボッ ト 等を制御する数値制 御装置のサーボ制御系の要部を示す機能ブロ ッ ク 図、 図 2 は本発明の方法を実施する一実施例の 「加減速制 御処理」 の概略を示すフ ロ ーチャー ト、
図 3 及び図 4 は同実施例の —加減速制御処理」 の概略 を示すフ ローチヤ一 卜 の続き、
図 5 は同実施例の 「加減速制御処理」 に よる加速度の 変化を一例で示す図、
図 6 は同実施例の 「加減速制御処理」 による速度の変 化を一例で示す図、
図 7 及び図 8 は本発明の方法を概略で説明する作用原 理図、
図 9 は従来例であ る直線形加減速制御方法を示す図、 及び、
図 1 0 は従来例である指数関数形加減速制御方法を示 す図である。
発 明 を 実 施 す る た め の 最 良 の 形 態
本発明のサーボモータの加減速制御方法の概略を図 7、 図 8 に示す。
まず、 本発明によ る方法で制御されるサ一ボモ一夕 の 加速度について図 7 の横軸を時間 t、 縦軸を加速度ひ に と った直交座標でも って説明する と、 加速度を現在 ( 時 刻 t 0 ) ゼロ の状態か ら時間経過に伴い徐々 にその値を 直線的に増大 して行って時刻 t 1 で最大加速度 a m ax に 到達 し、 この時刻 t 1 から時刻 t 2 までは一定加速度 と し、 すなわち、 最大加速度 a m ax を維持 し、 次ぎに時刻 t 2 か ら時刻 t 3 ま では時間経過に伴い徐々 にその値を 直線的に減少 して行っ てつ い に時刻 t 3 で加速度ゼロ に 到達する。
このよ う に、 本発明のサ一ボモ一夕の加減速制御方法 によ る と、 通常の制御か ら加減速制御に切換え られた直 後、 及び加減速制御か ら通常の制御に切換え ら れる直前 は極 く 小さ い値の加速度が与え られ、 しかも、 途中の加 減速制御期間では許容 し得る最大の加速度 (設定値 cr m a x ) が与え られるのが特徴である。
以下、 この図 7 にお いて時刻 t 0 から時刻 t 1 までの 区間を加速度増加区間 A、 時刻 t l から時刻 t 2 までの 区間を加速度一定区間 B、 時刻 t 2 から時刻 t 3 までの 区間を加速度減少区間 C と呼び、 この区間 A〜 Cからな る加減速制御区間につ いて詳述する と、 区間 Aは単位時 間経過ごと に加速度が一定量 ( ) づっ増加 して行 く 右 上が り の直線、 区間 B は一定加速度 ( a m ax ) を保持す る時間軸に平行な直線、 区間 Cは単位時間経過ごと に加 速度が一定量 ( ァ ) づっ減少 して行 く 右下がり の直線と な り、 加速度曲線はこの座標にお いて加減速制御全区間 を通 して全体的に台形状と なる。
図 7 に示すよ う に、 時点 t 0 で加減速制御が開始さ れ 時点 t 3 で終了する と、 この加減速制御によ り 速度はこ の台形状をなす加速度曲線の面積分だけ増加する こ と に なる。 こ れは区間 Aの三角形の面積と、 区間 Bの長方形 の面積と、 区間 Cの面積と を加えたものである。 この う ち、 区間 A及び区間 C の三角形は、 高さ が最大加速度 ( ひ m ax ) で与え られて いる と、 あ とは斜辺の傾き、 す なわち、 加速度の変化率 ( ?、 ァ ) か底辺の長さ、 すな わち、 区間 A及び区間 Cの時間かの いずれか一方が与え られれば特定される こ と になる。 したがっ て、 オペレー 夕 はこのよ う な台形状の加速度曲線で加減速制御を行う には、 最大加速度と区間 A及び区間 Cの経過時間、 ある いは最大加速度と区間 A及び区間 Cでの加速度変化率を 設定入力する こ と になる。
図 7 に示 した加減速制御区間における時間一加速度の 関係を時間一速度の関係に して表 したものを図 8 に示す c 図 7 において、 時刻 t 0 か ら時刻 t 1 までの加速度増 加区間 Aは、 加速度ひ A が、
k = β t
( ただ し、 t は時刻 t 0 か らの経過時間、 時刻 t 0 での 加速度はゼロ、 〉 ひ )
の時間 t の一次関数で表されるか ら、 この区間 Aでの速 度 V A は、 上記の式を時間 t で積分 して、
V A = β t 2 - V \
2
( ただ し、 V I は時刻 t 0 での速度、 すなわち初速度) の時間 t の 2次関数で表される こ と になる。
この加速度増加区間 Aでは、 上記の式及び図 7、 図 8 か ら明かなよ う に、 この区間 A に入った直後の加速度を この区間 A に入る直前の加速度 (ゼロ加速度) に等 し く して いる。 したがっ て、 加減速制御を開始する に際 して 速度の変動が滑 らかに行われる こ と となる。
そ して、 図 7 に示される よ う に、 サ一ボ乇一夕 の加速 度 α A が時刻 t 1 で最大加速度 ct max に到達する と、 時 刻 t 1 以後の加速度一定区間 Bでは、 加速度 α B が、 ひ B = a max とな り、 ( a: niax 〉 0 )
加速度は時間に関係な く 一定とな り、 この区間 Bで速度 は直線的に増加する。
区間 Aの終了間際では加速度 α A は設定の最大加速度 a max にかな り 近づ いた値と なってお り、 さ ら に増加 し て行って区間 Aの終了時点、 すなわち、 区間 Bの開始時 点の時刻 t 1 で加速度は設定最大加速度 ct max になるの で、 区間 Aか ら区間 B に移行する と きに加速度の急激な 変動は見られず、 したがって、 速度曲線は区間 Aか ら区 間 B に滑らかに移行する。
同様に、 時刻 t 2 か ら時刻 t 3 までの加速度減少区間 Cは、 加速度 cr C が、
C = ー ァ ( t 一 t a)
( ただ し、 t a は時刻 t 0 か ら時刻 t 3 までの経過時間、 すなわち、 加減速制御を開始 してか ら終了する までの時 間、 ァ 〉 0 )
の時間 t の一次関数で表さ れるか ら、 この区間 Cでの速 度 V C は、 上記の式を時間 t で積分する こ とで、
V C = - 一 Ύ ( t - t a V 2
2
( ただ し、 V 2 は目標と する速度 で与え られる。
区間 B から区間 C に移行する と、 加速度は前の区間 B での加速度ひ m a x か ら時間経過と と も に徐々 に減少 して 行 く ので、 区間 Bか ら区間 C に移行する と き に加速度の 急激な変化は見 られず、 したがって、 速度曲線は区間 B か ら区間 C に滑 らかに移行する
そ して、 区間 Cの終了時刻 t 3 、 換言すれば加減速制 御終了時点に近づ く につれ、 加速度の値は徐々 にゼロ に 近づいて いってつい に終了時刻 t 3 でゼロ になるので、 加減速制御区間 (区間 A〜区間 C ) からそれ以後の目標 速度 V 2 の定速区間への移行に際 して加速度の急激な変 化は見 られず、 区間 Cの速度曲線は目標速度の直線に滑 らかに引 き継がれる。
以上述べた よ う に、 加速度曲線は、 加減速制御区間に 入る前の定速区間、 加減速制御が行われる区間、 加減速 制御区間を抜けた後の定速区間の、 すべての区間を通 じ て途中に断絶のない、 直線を何本も前後に連ねた折れ線 と して表されるので、 サ一ボモータの運転中、 いかな る 時点でも加速度が急激に変動する と いう こ とがな い。 し たがって、 定速区間か ら加減速制御区間に移行する際で も、 加減速制御区間か ら定速区間に移行する際にも速度 の変動は極めて滑らかに行われ、 そのため、 サ一ボモー 夕や機械各部に無理な衝撃を与える と い う こ とがな い。 以下、 図 1 か ら図 6 を参照 して本発明の一実施例を説 明する。 図 1 は本発明に よ るサーボモー夕の加減速制御方法を 適用 して工作機械や産業用 ロ ボッ 卜等を制御する数値制 御装置のサーボ制御系の要部を示す機能ブロ ッ ク図であ る。 数値制御装置は、 送 り 等に関する N C指令の移動デ —夕 によ り工作機械や産業用 ロボ ッ ト等の各軸のサ一ボ モータ M l, M 2 , · · ' を協調動作させて該移動デー 夕で示さ れる位置に工具, テーブルやハ ン ド を直線補間 ま たは円弧補間等で移動させるパルス分配機能、 および、 各分配周期における補間開始前に N C指令によ る送 り速 度に基いて各軸の加減速制御のための速度指令を算出す るための加減速制御機能と を備え、 N C指令によ る移動 デ一夕および加減速制御機能によ り算出された速度指令 と によ り、 各分配周期毎に、 各軸のサ一ボモ一夕 M l , M 2 , · · · 'を駆動制御するサ一ボ制御回路に単位時間 当 り の移動指令、 即ち、 速度指令を出力するよ う になつ て いる。
パルス分配機能と加減速制御機能との関係に関 して は 従来の数値制御装置の場合と同様であるが、 加減速制御 機能に よ って直線形加減速制御や指数関数形加減速制御 を行う代 り に、 図 7 に示されるよ う に加速度を台形状に 変化させる加減速制御を行う よ う に した点が従来のもの と は異な る。
パル ス分配で加減速制御を行う数値制御装置に よ る加 減速制御では、 加減速制御のための速度指令の値が 1 分 配周期毎 に算出お よび出力されるので、 図 7 にお ける加 速度増加区間 Aおよび加速度減少区間 Cでは、 加速度は 図 7 に示 した よ う な直線的な変化ではな く、 図 5 に示さ れるよ う に 1 分配周期毎に ステ ップ状に変化する こ と と なる。
そ こで、 次に、 パルス分配によ ってス テ ップ状に加減 速制御を行う数値制御装置に対 して図 7 に示した よ う な 加減速制御を適用するための原理について説明する。 こ こでは、 一例と して、 図 7 における加速度増加区間 Aお よび加速度減少区間 C に対応する時間と、 最大加速度 ct m a x の値と をオペレー夕が与える こ と に よ り、 加速度零 か ら最大加速度 a m ax までの加速度の変化率 /?およびァ を C P U に計算させる よ う に して い る。
なお、 この数値制御装置による加減速制御では、 時間 は分配周期の数でも って与え られ、 加速度は 1 分配局期 分の経過時間における速度の変化値と して与え られる c 以下の実施例では、 加減速制御開始時の加速度の変化 卑 β { β > 0 ) および加減速制御完了時の加速度の変化 率ー ァ ( ァ 〉 0 ) の双方の絶対値が等 し く なる = ァ ) よ う に して加減速制御を行う よ う したもの につ いて説明 する。
まず、 数値制御装置は、 加速度増加区間 Α に対応する 時間を 1 分配周期を基準と した処理回数 n ( n : 整数) でもっ て設定する と、 図 5 に示すよ う に、 加速度をゼロ の初期値から出発 し n 個の等ス テ ブを次々昇って時点 t 1 で最大加速度ひ m a -、. :::.到達す る よ- う働 く。 すなわち、 加速度はこの区間 A にお いて は 1 分配周期ごと
ct m ax Ζ π
毎増加 して行って、 区間 Αの終了時点で最大加速度 a ma x に到達する。
このよ うな加速度増加区間 Aにおいて、 速度は、 加速 度を時間積分 した値に初期速度 (時点 t 0 での速度 V 1 ) を加えた ものであるか ら、 開始時点 t 0 か ら i 個の分配 パルス、 ( i n ) が発せられた と きの速度 V Aiは、
V Ai = ∑ a max n + V 1
= ( a max / n ) ( 1 + 2 + 3 + + + V 1
となる。
上の式よ り、 i = n、 すなわち、 時点 t 0 から n個の 分配パルスが発せられた と き (時点 t 1 ) の速度 V A は.
V A = ( max / n ) { n ( n + 1 ) 2 } + V 1
= ( a max/ 2 ) - ( n 十 1 ) + V 1
となる。
加速度一定区間 B では、 速度が V A か ら 1 分配周期ご と に α max ごと増加 して行 く か ら、 区間 Bの関始か ら数 えて j 個の分配周期が発せられた時点での速度は V B jは.
V B j = j · a max 十 V A
で表さ れる。
なお、 この区間 Bで発せ られる分配周期の総数を N と する と ( この N の値の求め方につ いては後述する ) 、 区 間 Bの終了 した時点 t. 2 での速度 V B は
V B = Ν · ひ max V A
と なる。
次に、 加速度減少区間 Cでは、 加速度増加区間 A と 同 様に、 区間 Cの開始時点 t 2 から n回の分配周期で時点 t 3 に到達する。 図 5 に示されるよ う に、 この区間 Cで の第 k回 目の分配周期 ( k ≤ n ) での加速度ひ Ckは
ひ Ck = a max 一 ( a max/ n ) · k
= a max { 1 - ( k / n ) }
となる。
このよ うな加速度減少区間 C においては、 速度は、 上 記式で表される加速度を時間積分 した値に初期速度 (時 点 t 2 での速度 V B ) を加えたものであるから、 開始時 点 t 2 か ら k回目の分配周期 ( k ≤ n ) での速度 V Ckは、
k = k
V Ck = ∑ 「 m ax { 1 - k n ] } 十 V B
k =l
= a max [ { 1 一 ( 1 / n
十 { 1 — ( 2 / n ) }
+ . . . 卞 { 1 一 ( k n ) } ] + V B
= a max [ k - ( 1 / n ) + 2 十
+ k ) 二 一 V B
と なる。
と こ ろで、 加速度減少区間 Cの終了時点 t 3 にお いて、 速度は目標速度 V 2 に到達するのであるか ら、 上記式で k = n とおいた V Ck、 すなわち、 V C は V 2 に等 し く な らなければな ら な い。 したがって、
max L n - { 1 / n ) ( 1 十 2 + · · · + η ) ] + V Β
= max ( η - 1 ) / 2 + V Β
= V 2
と なる。
以上、 上記 V A の式、 V B の式、 V 2 の式をま とめる と、
V 2 = max ( n - 1 ) 2 + V B
= a max ( n - 1 ) 2 + N · a max + V A = a max ( n - 1 ) . 2 + N · a max
十 ( a max/ 2 ) ( n + 1 ) + V 1 であるか ら、
N - a max = V 2 - max ( n - 1 ) / 2
一 a max ( n + 1 ) / 2 - V 1 二- V 2 - n a max - V I こ こで、 V 2 — V I を Δ ν とお く と、
Ν = [ A V - n - a max] / a niax
となる。 こ こで、 Δ ν ( = V 2 - V I ) と ct raax は加速 度増加 · 減少時間 n と共に与え られて いるから、 したが つて N は求める こ とができ る。
図 2 〜図 4 は斯る処理を実施するために採用 した 「加 減速制御処理」 の概略を示すフ ロ ーチャー ト であ り、 パ ルス分配機能お よび加減速制御機能を実現する数値制御 装置のマイ ク ロプロセ ッサ (以下、 単に C P U と いう ) によ り、 分配周期毎に繰 り返 し実行される。
分配周期における 「加減速制御処理」 を開始 した C P U は、 ま ず、 前処理完了フ ラ グ F 1 が数値制御装置のメ モ リ にセ ヅ ト されて いるか否か、 即ち、 新た に読込ま れ た 1 ブロ ヅ ク分の N C指令に関する前処理が完了 して い るか否かを判別する ( ステ ップ S 1 ) 。 そ して、 前処理 が完了 して いるブロ ッ クがあれば C P U はステ ップ S 2 の処理へと移行 して新た に読込ま れた 1 ブロ ッ クで指令 された 目標速度に向けて加減速制御を開始する一方、 前 処理が完了 して いなければステヅブ S 1 2 の処理へと移 行 して現在実行中のブロ ッ ク、 即ち、 前処理が完了 した ブロ ッ ク に対 して、 その前処理完了時点で開始された加 減速制御を継続 して行う こ と となる。
新た に読込ま れた 1 ブロ ッ ク分の移動データ に関する 前処理が完了 してい る場合、 C P U は、 まず、 前処理完 了フラ グ F 1 を リ セ ヅ 卜 して新たな 1 ブロ ッ ク に対する 加減速制御が開始さ れた こ と を記憶する と共に (ステ ツ プ S 2 ) 、 台形状の加減速制御を禁止する通常処理実行 フ ラグ F 2 を リ セ ッ ト し ( ステ ヅブ S 3 ) 、 新た に読込 ま れた N C指令で指令された指令速度と前ブロ ッ クで指 令されて いた指令速度との差 Δ νを求め、 この速度差 Δ Vの値が零であるか否かを判別する (ステ ップ S 4 ) = こ こで、 新た に読込ま れた N C指令で指令さ れた指令 速度と前ブロ ッ クで指令さ れて いた指令速度との差 Δ ν が零であった場合に は加減速制御を行う必要がな いので
C P U は、 加減速制御実行フ ラ グ F 3 を リ セ ッ ト し ( ス テ ツプ S 1 3 ) 、 直前の速度指令値、 即ち、 前ブロ ッ ク で指令された速度指令値を記憶 した レ ジス 夕 R ( V ) に 格納されてい る速度指令 Vの値をそのま ま 出力 して ( ス テ ツプ S 1 1 ) 、 当該分配周期における 「加減速制御処 理」 を終了する。 この場合、 当該分配周期における 「加 減速制御処理」 にお いて前処理完了フラ グ F 1 お よび加 減速制御実行フ ラ グ F 3 が リ 5セ ッ ト される結果、 次周期 以降の分配周期にお ける 「加減速制御処理」 ではス テ ヅ ブ S 1 , ス テ ッ プ S 1 2, ス テ ッ プ S 1 9, ス テ ヅブ S 1 1 の処理のみが繰 り返し実行され、 加速度零の等速度 制御が行われる こ と と なる。
一方、 前ブロ ッ クの速度指令と 当該ブロ ッ クの速度指 令との間に差があってステ ップ S 4の判別結果が偽と な つた場合には、 C P U は、 まず、 加減速制御が必要であ る こ と を示す加減速制御実行フラグ F 3 をセッ ト し ( ス テ ツプ S 5 ) 、 最大加速度 α m ax (設定値) お よび加速 度増加区間 A と加速度減少区間 C に対応する時間を特定 するために決め られた分配周期数の値 n (設定値) を数 値制御装置のメ モ リ か ら読込んで、 加減速制御中設定最 大加速度 ct m ax を維持する時間 ( すなわち、 加速度一定 区間 B ) に対応する分配周期数 N を求める計算を実行す る と共に ( ステ ップ S 6 ) 、 この値 Nが零以上であるか 否かを判別する ( ステ ップ S 7 ) 。 こ こで、 加速度一定区間 B に対応する分配周期数の値 Nが零ま たはそれ以上である と い う こ と は、 加減速制御 中、 設定最大加速度ひ m ax が維持されるべき期間を設定 する こ とができ る と い う こ とである。 したがって、 加減 速制御は分配周期 n回の加速度増大区間、 N回の加速度 —定区間及び n回の加速度減少区間からなる台形状 ( N 〉 0 ) ま たは三角形状 ( N = 0 ) 加速度曲線に よ る こ と と なる。
これに対 し、 分配周期数の値 Nが零を下回って いる場 合には、 加減速制御において設定最大加速度 cr m ax が維 持される期間を設ける こ とができない と いう こ と を意味 するから、 本発明によ る台形状ま たは三角形状の加速度 曲線に基づいた加減速制御を行う こ とはできな い。
そ こで、 加速度一定区間 B に対応する分配周期数の値 Nが零を下回った場合、 C P Uは通常処理実行フ ラ グ F 2 をセ ッ ト し ( ステ ップ S 8 ) 、 従来から実施されて い. る直線形加減速制御や指数関数形加減速制御を実施 して 分配周期 当 り の移動指令、 即ち、 速度指令 V.を算出 し ( ス テ ッ プ S 9 ) 、 速度指令値を記憶す る レ ジス 夕 R ( V ) に この時点における速度指令 Vの値を記憶 した後 ( ステ ップ S 1 0 ) 、 該速度指令値 Vを出力 して ( ステ ップ S 1 1 ) 、 当該分配周期における 「加減速制御処理」 を終了する。 この場合、 当該分配周期における 「加減速 制御処理」 にお いて前処理完了フ ラ グ F 1 が リ セ ヅ 卜 さ れ、 かつ、 通常処理実行フ ラ グ F 2 がセ ッ 卜 される結果、 次周期以降の分配周期における 「加減速制御処理」 では ス テ ッ プ S l, ス テ ッ プ S 1 2, ス テ ヅ ブ S 9 〜 ス テ ツ プ S 1 1の処理のみが繰 り返 し実行され、 従来と同様の 直線形加減速制御や指数関数形加減速制御が実施される こ と となる。
ま た、 前述 したステ ップ S 7の判別結果が真となった 場合、 即ち、 加速度一定区間 Bに対応する分配周期数の 値 Nが零以上であって台形状の加減速制御が可能である 場合には、 C P Uは、 次いで、 前ブロ ッ クの速度指令と 当該ブロ ッ クの速度指令との間の差 Δ νの値が正である か負であるか、 即ち、 加速のための加減速制御を行うベ きであるのか減速のための加減速制御を行うべきである のかを判別する (ステ ップ S 1 4 ) 。 そ して、 Δ Vの値 が正であって加速のための加減速制御を行う必要があれ ば、 C P Uは最大加速度記憶レジス夕 R ( a max ) に最 大加速度 a m ax の値 (但 し、 a m ax 〉 0 ) を格納する一 方 (ステ ップ S 1 5 ) 、 Δ νの値が負であって減速のた めの加減速制御を行う必要があれば、 最大加速度記憶レ ジス夕 R ( a max ) に最大加速度 a max の値を符号を反 転 して格納する ( ステ ップ S 1 6 ) 。
次いで、 C P Uは、 加減速制御開始後の分配周期の数 を数えるカ ウ ン夕 i に初期値 1 をセ ッ ト し ( ステ ップ S 1 7 ) 、 最大加速度ひ max を加速度増加区間 Aに対応す る分配周期数 nで除 した、 分配周期毎の加速度の増加率 max/ n にカ ウ ンタ i の値を乗 じて当該分配周期にお ける加速度ひ の値を求め、 直前の速度指令値を記憶 し た レ ジス 夕 R ( V ) に該加速度ひ の値を加算 して 当該分配 周期で出力すべき速度指令の値 Vを算出 して レ ジス 夕 R ( V ) に更新記憶 し ( ステ ップ S 1 8 ) 、 速度指令値 V を出力 して ( ステ ップ S l l ) 、 当該分配周期における 「加減速制御処理— を終了する。
次の分配周期では、 前処理完了フ ラグ: F 1 および通常 処理実行フラ グ F 2が既に リ セ ヅ 卜 されてお り、 かつ、 加減速制御実行フラ グ F 3がセ ッ 卜 されて いるので、 C P Uは、 ステ ップ S l, ステ ップ S 1 2, ステ ップ S 1 9 の判別処理を実行 した後、 ステ ップ S 2 0の処理へ と 移行する こ と となる。 ステ ップ S 2 0へと移行 した C P Uは加減速制御開始後の分配周期数を数えるカ ウ ン夕 i の値を 1 イ ン ク リ メ ン ト した後、 該カ ウ ン夕 i の値が加 速度増加区間 A に対応する分配周期数 nの値よ り も小さ いか否か、 即ち、 当該分配周期が加速度増加区間 Aの も のであるか否かを判別 し ( ステップ S 2 1 ) 、 加速度增 加区間 Aのものであれば、 直前の分配周期 と同様、 ステ ップ S 1 8の処理に よ り、 当該分配周期における加速度 ひ の値を求め、 直前の速度指令値を記憶 した レ ジスタ R ( V ) に該加速度 αの値を加算 して当該分配周期で出力 すべき速度指令の値 Vを算出 して更新記憶 し、 速度指令 値 Vを出力 して 当該分配周期における 「加減速制御処理」 を終了する ( ステ ップ S 1 1 ) 。
以下、 C P U は、 カ ウ ンタ i の値が加速度増加区間 A に対応する分配周期数 nの値を越えるま での間、 分配周 期毎に、 ステ ップ S l, ステ ップ S 1 2, ステ ップ S 1 9 〜ス テ ッ プ S 2 1 , ス テ ッ プ S 1 8, ス テ ッ プ S 1 1 の処理を繰り 返 し実行 し、 レ ジス タ R ( V ) に各分配周 期毎の加速度ひ の値を積算的 に記憶 して加速度ひ を積分 する こ と によ り その時点で出力すべき速度指令値 Vを求 め、 加速度増加区間 Aの加減速制御を行う こ と となる。
このよ うな処理を繰 り返 し実行する間に、 カ ウ ン夕 i の値が加速度増加区間 Aに対応する分配周期数 nの値を 越えてステップ S 2 1 の判別結果が偽とな り、 加速度 α の値が最大加速度 a max に到達する こ と によって加速度 増加区間 Aの加減速制御が完了する と、 C P Uは、 加速 度増加区間 Aに対応する分配周期数 n と加速度一定区間 B に対応する分配周期数 N と を加算 した値よ り もカ ウ ン 夕 iの値が小さ いか否か、 即ち、 当該分配周期が加速度 一定区間 Bのものであるか否かを判別する (ステ ップ S 2 2 ) 。 そ して、 当該分配周期が加速度一定区間 Bのも のであれば、 C P Uは、 直前の速度指令値を記憶 した レ ジス夕 R ( V ) に最大加速度 cr max の値を加算 して当該 分配周期で出力すべき速度指令の値 Vを算出 して更新記 憶 し ( ステ ップ S 2 3 ) 、 速度指令値 Vを出力 して当該 分配周期にお ける 「加減速制御処理」 を終了する ( ス テ ップ S 1 1 ) 。
以下、 C P Uは、 カ ウ ンタ i の値が、 加速度増加区間 Aに対応する分配周期数 n と加速度一定区間 B に対応す る分配周期数 N と を加算 した値を越える ま での間、 分配 周期毎に、 ステ ップ S 1 , ステ ップ S 1 2, ステ ップ S 1 9 〜ステ ップ S 2 3 , ステ ップ S 1 1 の処理を繰 り 返 し実行 し、 レ ジスタ !? ( V ) に加速度 α =最大加速度 α m a の値を積算的に記憶 して加速度 α を積分する こ と に よ り その時点で出力すべき速度指令値 Vを求め、 加速度 一定区間 Βの加減速制御を行う こ と となる。
この よ う な処理を繰 り返 し実行する間に、 カ ウ ン夕 i の値が、 加速度増加区間 A に対応する分配周期数 n と加 速度一定区間 B に対応する分配周期数 N と を加算 した値 を越えてステップ S 2 2の判別結果が偽とな り、 加速度 —定区間 Bの加減速制御が完了する と、 C P Uは、 加速 度増加区間 A に対応する分配周期数 n と加速度一定区間 B に対応する分配周期数 Nお よび加速度減少区間 C に対 応する分配周期数 n と を加算 した値よ り もカ ウ ン夕 i の 値が小さ いか否か、 即ち、 当該分配周期が加速度減少区 間 Cのものであるか否かを判別する (ステップ S 2 4 ) そ して、 当該分配周期が加速度減少区間 Cのものであれ ば、 C P Uは、 加速度増加区間 A に対応する分配周期数 nの値と加速度一定区間 B に対応する分配周期数 Nの値 と を加算 した値をカ ウ ン 夕 i の現在値か ら減 じて加速度 減少制御開始後の分配周期数の値を求め、 更に、 当該分 配周期数の値に分配周期毎の加速度の減少率ひ m ax / n の値を乗 じて得た値を最大加速度 a m ax か ら減 じて当該 分配周期における加速度ひ の値を求め、 直前の速度指令 値を記憶 した レ ジ ス タ R ( V ) に該加速度 αの値を加算 して当該分配周期で出力すべき速度指令の値 Vを算出 し て レジスタ R ( V ) に更新記憶 し (ステップ S 2 5 ) 、 速度指令値 Vを出力 して ( ス テ ッ プ S I 1 ) 、 当該分配 周期にお ける 「加減速制御処理」 を終了する。
以下、 C P Uは、 カ ウ ンタ i の値が、 加速度増加区間 Aに対応する分配周期数 n と加速度一定区間 B に対応す る分配周期数 Nおよび加速度減少区間 C に対応する分配 周期数 n と を加算 した値を越える までの間、 分配周期每 に、 ス テ ッ プ S l, ス テ ッ プ S 1 2, ス テ ッ プ S 1 9 〜 ス テ ッ プ S 2 2, ス テ ッ プ S 2 4 〜 ステ ッ プ S 2 5, ス テツブ S 1 1 の処理を繰 り返 し実行 し、 レ ジス夕 R ( V に各分配周期毎の加速度 αの値を積算的に記憶 して加速 度 なを積分する こ と に よ り その時点で出力すべき速度指 令値 Vを求め、 加速度減少区間 Cの加減速制御を行う こ と となる。
このよ う な処理を繰 り返 し実行する間に、 カ ウ ンタ i の値が、 加速度増加区間 Aに対応する分配周期数 n と加 速度一定区間 B に対応する分配周期数 Nおよび加速度減 少区間 C に対応する分配周期数 n と を加算 した値を越え てステ ップ S 2 4の判別結果が偽となる と、 加速度ひ の 値が零と なる と共に指令速度 Vが目標速度と一致する: 以下、 1ブロ ッ ク分の N C指令が新た に読込ま れて 1 ブロ ヅ ク分の前処理が完了する こ と によ り 再び前処 il完 了フラ グ F 1 がセ ッ ト される までの間、 C P Uは、 分配 周期毎 に、 ス テ ッ プ S I , ス テ ヅ ブ S I 2, ス テ ッ プ S 1 9 〜 ス テ ッ プ S 2 2, ス テ ッ プ S 2 4, ス テ ッ プ S I 1 の処理を繰 り返 し実行 し、 レ ジス 夕 R ( V ) に現時点 で記憶されて いる指令速度 V、 即ち、 目標速度を分配周 期毎に出力 してサ一ボモ一夕の速度を目標速度に維持す る ( ステ ヅ S 1 1 ) 。 そ して、 次ブロ ッ ク分の前処理が 完了 して前処理完了 フラ グ F 1 がセ ヅ ト される毎に、 C P Uは前記と同様に して 「加減速制御処理」 を繰 り返 し 実行 し、 サーボモータ の速度を現在の指令速度か ら次ブ ロ ッ クで指令される指令速度へと滑らかに加速 して変化 させる。
加減速制御を実行する間に出力される速度指令 Vの値 は分配周期毎に変化するため、 厳密にいえば図 6 に示す よ うなステップ状の関数となる力 s'、 分配周期の刻みが十 分に小さ いので、 実質上、 図 6 に一点鎖線で示すよ う な 連続関数と同値である。
図 5 か ら も明らかなよ う に、 加速度増加区間 Aおよび 加速度減少区間 C に対応する分配周期数 nの値を一定と して最大加速度 a max の値を大き く 設定すれば最大加速 度ひ max および加速度変化率 a m ax n と も大きな値と なってサーボモー夕 は滑らかではあるが急激に加速さ れ、 ま た、 分配周期数 nの値を一定と して最大加速度ひ max の値を小さ く 設定すれば最大加速度 a max および加速度 変化率ひ max/ n と も小さな値となってサ一ボモータ は 緩慢に加速さ れる e —方、 最大加速度 a max の値を一定 と して加速度増加区間 Aお よび加速度減少区間 C に対応 する分配周期数 nの値を大き く 設定すれば加速度変化率 max/ n が小さな値ご なつて加速度増加区間 Aおよび 加速度減少区間 C にお いてサ―ボモータ に作用する駆動 力が緩慢に変化 し、 ま た、 最大加速度 a max の値を一定 と して加速度増加区間 Aお よび加速度減少区間 C に対応 する分配周期数 nの値を小さ く 設定すれば加速度変化率 max/ n が大きな値と つなて加速度増加区間 Aおよび 加速度減少区間 C にお いてサーボモー夕 に作用する駆動 力は滑 らかではあるが急激に変化する c
なお、 上記実施例では加速度増加区間 Aの加速度変化 率 ( >5 ) 、 加速度減少区間 Cの加速度変化率 ( 一 ァ ) を = ァ = ひ max/' n
とお いて、 n と ct max を入力 して区間 A及び区間 Cの加 速度の変化率 ( ?、 ァ ) を決定 した。 しか し、 これに代 えて、 最大加速度 a max 及び区間 A及び区間 Cの加速度 変化率 ( ?、 r ) を入力する こ と によ り、 区間 A及び区 間 Cの経過時間 (分配周期の数 n ) を求めるよ う に して も よ い。

Claims

請 求 の 範 囲 .
1 . 加速度の絶対値を徐々 に増大させて行って予め設定 した最大の加速度絶対値に到達させてか ら この最大の加 速度絶対値に一定時間ま たは瞬時保持した後、 この加速 度の絶対値を上記最大の加速度絶対値か ら徐々 に減少 し て速度を指令速度にするよ う に したサ一ボモー夕の加減 速制御方法。
2 . 加速度ゼロ で維持されて いる現在の状態か らその加 速度を徐々 に增大させて行って予め設定 した最大加速度 に到達させ、 その最大加速度を一定時間ま たは瞬時保持 した後、 その最大加速度を徐々 に減少させて行ってゼロ の値にする こ とで速度を指令速度にするサ一ポモータの 加速制御方法。
3 . 加速度ゼロで維持されて いる現在の状態からその加 速度を徐々 に減少させて行っ て予め設定 した最大の絶対 値を有する負の加速度に到達させ、 その負の加速度を一 定時間ま たは瞬時保持 した後、 その加速度を徐々 に増大 させて行ってゼロの値にする こ とで速度を指令速度にす るサーボモ一夕の減速制御方法。
4 . 加速度の絶対値をゼロから直線的に増大させて行つ て予め設定 した最大の加速度絶対値に到達させてから こ の最大の加速度絶対値を一定時間ま たは瞬時保持 し、 そ の後に この加速度の絶対値を上記最大加速度の絶対値か ら直線的に減少 して行ってゼロ に到達させる こ とで速度 を指令速度にするサーボモー夕の加減速制御方法。
5 . 上記最大の加速度絶対値、 加速度の絶対値をゼロ か ら直線的に増大させて行って上記最大の加速度絶対値に 到達させるまでの時間、 及び加速度の絶対値を上記最大 の加速度絶対値か らゼロ に到達させるまでの時間をサー ボモ一夕制御する制御装置に設定入力する こ とで、 目標 の速度に加減速制御するよ う に した請求の範囲第 4項記 載のサーボモー夕の加減速制御方法。
6 . 上記最大の加速度絶対値、 加速度の絶対値を直線的 に増大させて行 く 場合の加速度増加率、 及び上記最大の 加速度絶対値か ら直線的に減少させて行 く 場合の加速度 減少率をサ一ボモ一夕制御する制御装置に設定入力する こ とで、 目標の速度に加減速制御するよ う に した請求の 範囲第 4項記載のサ一ボモータの加減速制御方法。
7 . 上記の設定入力はパルス分配で数値制御を行う数値 制御装置に対 して行われ、
この数値制御装置に よ る加減速制御では加速度の絶対値 をゼロか ら直線的に増大させて行って上記最大の加速度 絶対値に到達させる ま での時間、 及び加速度の絶対値を 上記最大の加速度絶対値か らゼロ に到達させる までの時 間、 及び最大の加速度絶対値を保持する時間が上記パル ス分配の分配周期に対応 した整数で与え ら れる請求の範 囲第 5項ま たは第 5 項記載のサ一ボモー夕 の加減速制御 力法。
8 . ( a ) 加減速制御によ って引 き上げ られる ま たは引 き下げ られる速度変化量、 上記最大の加速度絶対値、 加 速度の絶対値をゼロ か ら直線的に增大させて行って上記 最大の加速度絶対値に到達させる ま での時間、 及び加速 度の絶対値を上記最大の加速度絶対値か らゼロ に到達さ せるまでの時間を数値制御装置に入力する工程、
( b ) 上記工程 ( a ) で入力されたデ一夕 をも と に 加減速制御中最大加速度を保持すべき時間を算出するェ 程、
( c ) 上記工程 ( b ) で算出された値がゼロ ま たは 正の値か負の値かを判別する 2
6ェ程、 及び、
( d ) 上記工程 ( c ) での判別の結果がゼロ または 正の値の と きは、 請求の範囲第 4項記載の加減速制御を 上記数値制御装置に実行させ、 ま た、 上記工程 ( c ) で の判別の結果が負の と きは、 直線加減速制御かま たは指 数関数形加減速制御を実行させる工程
からなるサ一ボ乇一夕の加減速制御方法。
9 . ( a ) 加減速制御によって引 き上げ られる ま たは引 き下げられる速度変化量、 上記最大の加速度絶対値、 加 速度の絶対値をゼロか ら直線的に増大させて行って上記 最大の加速度絶対値に到達さ.せる までの時間、 及び加速 度の絶対値を上記最大の加速度絶対値か らゼロ に到達さ せるまでの時間を数値制御装置に入力する工程、
( b ) 上記工程 ( a ) で入力 さ れたデ一夕 を も と に 加減速制御中最大加速度を保持すべき時間を算出するェ 程、
( c ) 上記工程 ( b ) で算出 さ れた値がゼロ ま た は 正の値か負の値かを判別するェ程、 及び、
( d ) 上記工程 ( c ) での判別の結果がゼロ ま たは 正の値の と きは、 請求の範囲第 4項記載の加減速制御を 上記数値制御装置に実行させ、 ま た、 上記工程 ( c ) で の判別の結果が負の と きは、 通常の直線加減速制御かま たは指数関数形加減速制御を実行させる工程、
か らなるサーボモー夕の加減速制御方法。
PCT/JP1993/001709 1992-11-27 1993-11-22 Acceleration/deceleration control method for servo motor WO1994012916A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4/339562 1992-11-27
JP33956292A JPH06168021A (ja) 1992-11-27 1992-11-27 サーボモータの加減速制御方法

Publications (1)

Publication Number Publication Date
WO1994012916A1 true WO1994012916A1 (en) 1994-06-09

Family

ID=18328648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1993/001709 WO1994012916A1 (en) 1992-11-27 1993-11-22 Acceleration/deceleration control method for servo motor

Country Status (2)

Country Link
JP (1) JPH06168021A (ja)
WO (1) WO1994012916A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996012992A1 (de) * 1994-10-21 1996-05-02 Siemens Aktiengesellschaft Ruckbegrenzte geschwindigkeitsführung

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19939137A1 (de) * 1999-08-18 2001-03-08 Bosch Gmbh Robert Vorrichtung und Verfahren zur Erzeugung eines Sollwerts für die Ansteuerung eines Antriebs
JP4775059B2 (ja) * 2006-03-24 2011-09-21 パナソニック株式会社 指令パターン生成方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50121681A (ja) * 1974-03-12 1975-09-23
JPS54114686A (en) * 1978-02-28 1979-09-06 Toyo Electric Mfg Co Ltd Positional controller
JPS5913046B2 (ja) * 1977-06-01 1984-03-27 株式会社安川電機 位置制御装置における停止指令発生回路
JPS59168508A (ja) * 1983-03-15 1984-09-22 Matsushita Electric Ind Co Ltd 高速位置決め制御装置
JPH0253110A (ja) * 1988-08-18 1990-02-22 Fujitsu Ltd ディジタルサーボ制御用関数発生装置
JPH0433011A (ja) * 1990-05-24 1992-02-04 Nachi Fujikoshi Corp 疑似余弦加減速方式

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50121681A (ja) * 1974-03-12 1975-09-23
JPS5913046B2 (ja) * 1977-06-01 1984-03-27 株式会社安川電機 位置制御装置における停止指令発生回路
JPS54114686A (en) * 1978-02-28 1979-09-06 Toyo Electric Mfg Co Ltd Positional controller
JPS59168508A (ja) * 1983-03-15 1984-09-22 Matsushita Electric Ind Co Ltd 高速位置決め制御装置
JPH0253110A (ja) * 1988-08-18 1990-02-22 Fujitsu Ltd ディジタルサーボ制御用関数発生装置
JPH0433011A (ja) * 1990-05-24 1992-02-04 Nachi Fujikoshi Corp 疑似余弦加減速方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996012992A1 (de) * 1994-10-21 1996-05-02 Siemens Aktiengesellschaft Ruckbegrenzte geschwindigkeitsführung
US5854544A (en) * 1994-10-21 1998-12-29 Siemens Aktiengesellschaft Velocity control with limited jolting

Also Published As

Publication number Publication date
JPH06168021A (ja) 1994-06-14

Similar Documents

Publication Publication Date Title
JP3900789B2 (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
JPS63284601A (ja) 最短時間経路生成による運動制御装置
EP0089156B1 (en) Method and apparatus for controlling acceleration and/or deceleration
JP2007094936A (ja) 数値制御装置
JP3681972B2 (ja) 加減速制御方法
JP5838681B2 (ja) アクチュエータの制御方法及びアクチュエータの制御装置
CN101477354A (zh) 位置s型指令产生方法
JP7376260B2 (ja) 数値制御装置
JP4627740B2 (ja) 数値制御装置
WO1994012916A1 (en) Acceleration/deceleration control method for servo motor
JPH0378006A (ja) 数値制御装置の加減速制御方法
US10528035B2 (en) Numerical controller
JP5834628B2 (ja) アクチュエータの制御方法及びアクチュエータの制御装置
JPH1189291A (ja) モータの加減速制御方法
CN115963782A (zh) 一种基于初始加速度不为零的s型速度规划方法
JP2001327194A (ja) パルス発振ic並びにそのicを使用したモータの位置決め制御方法とその装置
US6809491B2 (en) Positioning control method
JP2551868B2 (ja) 工作機械の加減速制御方法とその装置
JPH0850504A (ja) 極座標補間の速度制御を行う数値制御装置
TWI399029B (zh) 馬達速度控制方法、馬達速度控制器及具有馬達速度控制器之製造系統
WO2024057910A1 (ja) 数値制御装置と工作機械と数値制御方法と数値制御プログラム
JP2653130B2 (ja) 加減速制御装置
JP3188396B2 (ja) 数値制御における送り速度制御方法および装置
JPS6015718A (ja) 速度サ−ボ制御方法
JP2023042983A (ja) 制御装置、制御方法及びコンピュータプログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase