[0001] This invention relates to an acceleration and deceleration control method executed
by a controller (a numerical control device) which may control automatic machines
such as various working machines and, more specifically, to an acceleration and deceleration
control method suitable for automatic machines such as working machines available
for high-speed positioning.
[0002] It is well known that an acceleration and deceleration control is performed along
with positioning when performing servo control of an automatic machine such as a working
machine with a numerical control device. For acceleration and deceleration control
in positioning, a name suited to the pattern of a graph showing a time-speed transition
is given, so that acceleration and deceleration control of a linear pattern, a bell
pattern or the like is well known heretofore. For acceleration and deceleration control
of a bell pattern, the left-side graph of Fig. 2 shows a time-speed transition, while
the right-side graph shows acceleration and speed. A restricted acceleration curve
is also shown in the right-side graph.
[0003] The restricted acceleration curve illustrates an acceleration which can be outputted,
determined based on machine friction, gravity, motor output torque performance and
the like, as a function of speed. As shown in Fig. 2, actual acceleration (acceleration
to be actually outputted) in acceleration and deceleration control varies within the
interior range of the restricted acceleration curve, since the acceleration and deceleration
control is performed within the foregoing range.
[0004] One of the features of the acceleration and deceleration control in the prior art
as represented by the above control of the bell pattern is that, for the relation
between speed and acceleration, the low speed part is symmetrical with respect to
the high-speed part. That is, a curve representing the relation between speed and
actual acceleration is trapezoidal in shape. On the other hand, in a machine such
as a working machine having axes subjected to acceleration and deceleration control,
it is usual that, for an acceleration and deceleration performance which can be outputted,
the low speed part is not symmetrical with the high speed part due to friction and
gravity acting on the machine parts or due to the torque characteristics of a motor
which drives an axis.
[0005] Accordingly, a restricted acceleration curve, which is a function of a speed and
represents an acceleration and deceleration performance which can be outputted, is
generally provided in the shape of asymmetry with respect to speed. A typical restricted
acceleration curve (which is shown in Fig. 2 along with the acceleration-speed curve
) is shown in Fig. 5 with a horizontal axis denoted as speed and a vertical axis as
acceleration.
[0006] As is apparent from the shape of the curve in Fig. 5, an acceleration and deceleration
performance which can be outputted is restricted particularly in the high-speed part.
For this reason, in the prior art, there is provided a method for realizing sufficient
acceleration and deceleration control as much as possible within the range of the
restricted acceleration curve by generating an actual acceleration curve a part of
which comes into contact with the restricted acceleration curve, even though, for
the actual acceleration curve, the low speed part is symmetrical with respect to the
high speed part (See Japanese Patent Application Laid-open No. 4-362710, for instance).
[0007] However, as the acceleration and deceleration performance according to the above
method is also restricted by the high-speed part of the restricted acceleration curve,
full acceleration meeting the performance cannot be realized in the low-speed part.
In other words, a major part of the acceleration performance is not effectively utilized
in the low speed part, with the result that it takes extra time for positioning and
acceleration and deceleration before and after the positioning.
[0008] It is an object of the present invention to provide a method for acceleration and
deceleration control which can reduce a time required for acceleration and deceleration
associated with positioning performed by a controller for controlling an automatic
machine such as a working machine, enabling high speed positioning and highly efficient
work such as machining.
[0009] In preferred examples of the present invention, a condition that, for the relation
between speed and acceleration, the low speed part be symmetrical with respect to
the high speed part may be eliminated, and acceleration and deceleration control is
performed in which an actual acceleration curve may lie along a restricted acceleration
curve as much as possible.
[0010] According to the present invention, there is provided a method for acceleration and
deceleration control for supplying a movement command, which has been subjected to
acceleration and deceleration processing,to a servo control section, wherein acceleration
in the above acceleration and deceleration processing is determined such that a speed-acceleration
curve of the above movement command which has been subjected to acceleration and deceleration
processing may lie along a predetermined speed-acceleration curve, and the above speed-acceleration
curve is set for each axis and dependent on acceleration or deceleration. Here, the
speed-acceleration curve is set such that it may agree with or may be approximate
to a restricted acceleration curve. However, it is to be understood that speed should
be set not to exceed the restricted acceleration, as a matter of course or preferably.
[0011] The speed-acceleration curve may be set for each direction of movement. In acceleration,
an acceleration in the above acceleration and deceleration processing may be obtained
so that it lies along the speed-acceleration curve, while, in deceleration, the processing
is done with a fixed acceleration.
[0012] Further, in acceleration, an acceleration in the above acceleration and deceleration
processing may be obtained so that it lies along the above speed-acceleration curve,
while, in deceleration, the process may be done through filtering for a certain period
of time with respect to the fixed acceleration.
[0013] Since the characteristics of acceleration may vary for each axis, for each direction
of movement, dependent on acceleration or deceleration and the like in some cases,
it is preferable that the restricted acceleration curve is provided for each axis,
for each direction of movement, for either of acceleration or deceleration.
[0014] Incidentally, the relation between speed and acceleration which corresponds to the
restricted acceleration curve may be set using parameters or the like in advance.
For instance, the above relation between speed and acceleration may be provided in
the shape of a polygonal line connecting points which represent restricted accelerations
corresponding to speeds set as parameters. In the case where characteristics of acceleration
do not agree with that of deceleration for each axis and for each direction of movement,
restricted acceleration curve may be set for each characteristic (an example thereof
will be described later).
[0015] A numerical control device according to the present invention comprises (1) a memory
for storing, for each control axis, the relation between individual speeds in acceleration
and corresponding restricted accelerations and also the relation between individual
speeds in deceleration and corresponding restricted decelerations, in the form of
a table, (2) acceleration-deceleration determination means for determining as to whether
or not an acceleration operation should be done, an operation of a command speed should
be done or a deceleration operation should be done, for the axis, in the present processing
cycle, (3) speed determination means for determining speeds in the present processing
period (3-1) by using a speed in the present processing cycle as a command speed in
the case where the acceleration-deceleration determination means decided that an operation
of a command speed be applied, (3-2) by reading from the memory a restricted acceleration
corresponding to the speed of the axis obtained in the previous processing cycle to
determine a speed in the present processing cycle using the restricted acceleration
thus read in the case where the acceleration-deceleration determination means decided
that acceleration be applied, or (3-3) by reading from the memory a restricted deceleration
corresponding to the speed of the axis obtained in the previous processing cycle to
determine a speed in the present processing cycle using the restricted deceleration
thus read in the case where the acceleration-deceleration determination means decided
that deceleration be applied, and (4) output means for finding data on the amount
of movement of the axis in the present processing cycle by using the speed found by
the speed determining means, and then outputting the data on the amount of movement
to a servo control system for the axis.
[0016] It is accordingly possible to conduct acceleration and deceleration control adapted
to machine characteristics due to machine friction and gravity and the motor torque,
allowing to make a good use of the performance of a machine and a motor, so that high-speed
positioning becomes possible, resulting in an increase in working efficiency.
[0017] The foregoing and other features of the invention will become apparent from the following
description of embodiments of the invention with reference to the accompanying drawings,
in which:
Fig. 1 is a block diagram showing the basic configuration of a numerical control device
for carrying out a method according to the present invention;
Fig. 2 is a diagram graphically illustrating acceleration and deceleration control
for positioning according to the prior art;
Fig. 3 is a diagram graphically illustrating acceleration and deceleration control
for positioning, to which one embodiment according to the present invention is applied;
Fig. 4 is a diagram graphically showing acceleration, speed and output data required
for one embodiment according to the present invention;
Fig. 5 is a diagram graphically illustrating the typical pattern of a speed-restricted
acceleration curve;
Fig. 6 is a numerical table illustrating set patterns of restricted acceleration curves;
Fig. 7 is a diagram graphically illustrating one example of a restricted acceleration
curve applied to "acceleration control in a positive direction", for the set pattern
shown in Fig. 6;
Fig. 8 is a diagram graphically illustrating a restricted acceleration curve applied
to "acceleration control in a negative direction", for the set pattern shown in Fig.
6;
Fig. 9 is a diagram graphically illustrating a restricted acceleration curve applied
to "deceleration control in a positive direction", for the set pattern shown in Fig.
6;
Fig. 10 is a diagram graphically illustrating a restricted acceleration curve applied
to "deceleration control in a negative direction", for the set pattern shown in Fig.
6; and
Figs. 11A and 11B are flowcharts showing an outline of the execution of one embodiment
according to the present invention.
[0018] In the present examples, acceleration and deceleration is performed such that an
actual acceleration curve lies along a restricted acceleration curve as much as possible,
by performing acceleration and deceleration control in which, for a relation between
speed and acceleration, the low speed part need not be symmetrical with the high speed
part.
[0019] Fig. 3 is similar in illustration pattern to Fig. 2 described above, and shows a
time-speed transition (shown in a left-side graph) and a relation between actual acceleration
and speed (shown in a right-side graph) for acceleration and deceleration control
adopted in one embodiment are shown. The right-side graph of Fig. 3 includes a restricted
acceleration curve.
[0020] Since the characteristics of acceleration vary for each axis, for each direction
of movement and dependent on acceleration or deceleration in some cases as described
above, a restricted acceleration curve is set for each axis, for each direction of
movement and for either acceleration or deceleration by using parameters. A description
of a restricted acceleration curve for each condition will be given later.
[0021] Fig. 1 is a block diagram showing a basic part of a numerical control device for
carrying out a method for acceleration and deceleration control according to the present
invention. The numerical control device has a program storage area 1 for storing a
part program and a parameter storage area 2 for determining various operating conditions.
The parameters stored in the parameter storage area 2 include parameters for determining
a restricted acceleration curve to comply with a different cases where a characteristics
varies for each axis, for each direction of movement and dependent on acceleration
or deceleration, as described above.
[0022] The numerical control device further has a command analyzing section 3, a pre- interpolation
acceleration and deceleration processing section 4 and an interpolating section 5.
Output from the interpolating section 5 is used for control of each axis, inclusive
of acceleration and deceleration control associated with positioning. In the present
embodiment, X-axis, Y-axis and Z-axis are controlled.
[0023] In execution of automatic operation, the numerical control device reads out part
program data corresponding to the speed transition as shown in Fig. 3 from the program
storage area 1 and then supplies the readout data to the command analyzing section
3. The command analyzing section 3 is a pre-processing section for generating data
for interpolation from commands of an amount of movement and a feed speed for each
command block. The preprocessed data is subjected to acceleration and deceleration
processing in the pre-interpolation acceleration and deceleration processing section
4, and then is supplied to the interpolating section 5, where the preprocessed data
is divided into movement commands for servomotors of the respective axes (i.e., X-axis,
Y-axis, and Z-axis in this embodiment), and the movement commands are outputted to
a servo control section.
[0024] A description will now be briefly given of the set patterns of restricted acceleration
curves (the speed-acceleration curves) with reference to Figs. 6 to 10.
[0025] Fig. 6 given in the form of a numerical table shows the set patterns of the restricted
acceleration curves every 10m/min in four conditions of "acceleration control in a
positive direction", "acceleration control in a negative direction", "deceleration
control in a positive direction" and "deceleration control in a negative direction".
[0026] If numerical data shown in Fig. 6 is supplied to the numerical control device (See
Fig. 1) by manually operating an operation panel (not shown), for instance, the numerical
control device outputs four kinds of smooth curves (restricted acceleration curves)
correspondingly to these four conditions. Alternatively, the numerical control device
may be also configured to output these curves according to an appropriate command
issued after the start of automatic operation.
[0027] The restricted acceleration curves applied to "acceleration control in the positive
direction", "acceleration control in the negative direction", "deceleration control
in the positive direction" and "deceleration control in the negative direction are
formed correspondingly to the set patterns in Fig. 6, as shown in Figs. 7 to 10. Incidentally,
although the embodiment related to setting and formation of four kinds of restricted
acceleration curves is shown, it is to be understood that if a number of conditions
to be classified generally increases, then a number of restricted acceleration curves
to set and formed increases accordingly.
[0028] A description will now be given of the specific processing in a case where a program
contains a positioning command and the positioning command is identified in the program
analyzing section with reference to flowcharts shown in Figs. 11A and 11B. For the
convenience of explanation, it is assumed that a command on an axis is issued in this
embodiment. If a command on a plurality of axes is issued, the similar processing
on each axis is performed concurrently in synchronization with each other. Synchronization
may be provided by concurrently executing output of data to the servo control system
in a final step (Step S7, S14 or S16 in the flowchart) in a cycle of the processing,
for instance.
[0029] The acceleration, speed and output data are given as shown in Fig. 4. However, for
the simplification of the drawing, a step function for approximating a time-speed
transition curve is described more roughly than it really is. The outline of the procedure
in the processing is as follows.
(1) An amount of movement Is in one command block (command speed Sc) of a program
is found (Step S1). Subsequently, the pre-interpolation acceleration and deceleration
processing and the interpolating processing are performed every certain period Δ t
as follows.
(2) Acceleration control is started (Step S2). In this Step, speed U0 is set to zero
(an initial value), and an index n in the progress of the processing is also set to
1 (an initial value), before the transition of the procedure to Step S3.
(3) In Step S3, the processing in the nth cycle since the start of acceleration control
is started. In this Step, acceleration An-1 corresponding to speed Un-1 found by the
processing in the previous cycle is found from the restricted acceleration curve.
Further, an operation of Un = Un-1 + An-1 × Δt is performed using speed Un-1, acceleration
An-1 and period Δt to find speed Un in the present cycle (the nth cycle) of the processing.
(4) It is decided whether or not the found speed Un in the present cycle of the processing
in Step S3 exceeds the command speed Sc (Step S4). If it exceeds, the transition of
the procedure to Step S8 occurs. On the other hand, if it does not exceed, an operation
of Pn = Un X Δ t is performed to find output data Pn in the present cycle (the nth
cycle) of the processing (Step S5). In this Step, a distance D required for deceleration
to speed 0 with the acceleration based on the set restricted acceleration curve is
calculated from the speed Un. Further, an operation of Ip = Is - Ps is performed using
the output data Pn and the amount of movement Is updated in Step S7 described later
(provided that a value found in Step S1 is used as Is for the processing in the first
(n=1) cycle) to find an amount of movement Ip.
Subsequently, it is decided whether or not the relation between the amount of movement
Ip and the distance D both found in Step S5 satisfies an equation of Ip ≦ D (Step
S6). If it satisfies, the transition of the procedure to Step S11 occurs. On the other
hand, if it does not satisfy, the output data Pn found in Step S5 is supplied to the
servo control system, while the amount of movement Ip found in Step S5 is replaced
with Is, and the index n is incremented by 1 (n = n+1) (Step S7), before return of
the procedure to Step S3 for starting the next cycle of the processing.
(5) When the transition of the procedure to Step S8 occurs according to the result
of decision in Step S4, an operation of Pc = Sc × Δt is performed to find output data
Pc in the present cycle of the processing. Further, a distance D required for decelerating
to the speed 0 with the acceleration based on the set restricted acceleration curve
is calculated from the command speed Sc. Furthermore, an operation of Ip = Is - Pc
is performed using the output data Pc and the amount of movement Is updated in Step
S7 described the above to find an amount of movement Ip.
Subsequently, it is decided whether or not the relation between the amount of movement
Ip and the distance D both found in Step S8 satisfies an equation of Ip ≦D (Step S9).
If it satisfies, the transition of the procedure to Step S11 occurs. On the other
hand, if it does not satisfy, the amount of movement Ip found in Step S8 is supplied
to the servo control system, while the amount of movement Ip is replaced with Is (Step
S10), before return of the procedure to Step S8.
The above procedure from (3) to (5) is applied to the processing in the accelerating
stage and its subsequent constant speed (Speed Sc) stage.
(6) Deceleration is started. The time when to start the deceleration control is judged
according to the result of decision in Step S6 or S9. The speed in the cycle of the
processing immediately before the start of deceleration control is set to V0. Further,
an index m in the progress of the processing is set to 1 (an initial value) (Step
S11), before the transition of the procedure to Step S12.
(7) In Step S12, the processing in the mth cycle since the start of deceleration control
is started. In this Step, acceleration Am-1 corresponding to speed Vm-1 found by the
processing in the previous cycle (the m-1th cycle) is firstly found from the restricted
acceleration curve. Subsequently, found from the restricted acceleration curve. Subsequently,
an operation of Vm = Vm-1 - Am-1 × Δt is performed using speed Vm-1, acceleration
Am-1 and period Δt to find speed Vm in the present cycle (the mth cycle) of the processing.
Further, an operation of Qm = Vm × Δ t is performed using speed Vm and period Δ t
to find output data Qm in the present cycle (the mth cycle) of the processing. Furthermore,
an operation of Ip = Is - Qm is performed using the output data Qm and the amount
of movement Is updated in Step S14 described later (provided that a value updated
in the previous Step S7 or S10 is used as Is for the processing in the first (m=1)
cycle) to find the amount of movement Ip.
Subsequently, it is decided whether or not the amount of movement Ip found in Step
S12 comes to a negative value (Step S13). If not negative, the transition of the procedure
to Step S14 occurs. In Step S14, the output data Qm found in Step S12 is supplied
to the servo control system, while the amount of movement Ip found in Step S12 is
replaced with Is, and the index m is incremented by 1 (m = m+1) (Step S14), and the
procedure returns to Step S12 for starting the next cycle of the processing.
[0030] On the other hand, if it is proved that the amount of movement Ip found in Step S12
is a negative value in the outputted as the output data Qm in the present cycle to
the servo control system for terminating the processing of one block.
1. A method for acceleration and deceleration control for supplying a movement command,
which has been subjected to acceleration and deceleration processing to a servo control
section, wherein
acceleration in said acceleration and deceleration processing is determined such that
a speed-acceleration curve of said movement command which has been subjected to acceleration
and deceleration processing may lie along a predetermined speed-acceleration curve;
and
said speed-acceleration curve is set for each axis and dependent on acceleration or
deceleration.
2. The method for acceleration and deceleration control according to claim 1, wherein
said speed-acceleration curve is set for each direction of movement.
3. The method for acceleration and deceleration control according to claim 1 or 2, wherein,
in acceleration, an acceleration in said acceleration and deceleration processing
is obtained so that it lies along said speed-acceleration curve, while, in deceleration,
the processing is done with a fixed acceleration.
4. The method for acceleration and deceleration control according to claim 1, 2 or 3,
wherein, in acceleration, an acceleration in said acceleration and deceleration processing
is obtained so that it lies along said speed-acceleration curve, while, in deceleration,
the processing is done through filtering for a certain period of time with respect
to the fixed acceleration.
5. A numerical control device, comprising:
a memory for storing, for each control axis, the relation between individual speeds
in acceleration and corresponding restricted accelerations and also the relation between
individual speeds in deceleration and corresponding restricted decelerations, in the
form of a table;
acceleration-deceleration determination means for determining as to whether or not
an acceleration operation should be done, an operation of a command speed should be
done or a deceleration operation should be done, for said axis, in the present processing
cycle:
speed determination means for determining speeds in the present processing period,
by using a speed in the present processing cycle as a command speed in the case where
said acceleration-deceleration determination means decided that an operation of a
command speed be applied, by reading from said memory a restricted acceleration corresponding
to the speed of said axis obtained in the previous processing cycle to determine a
speed in the present processing cycle using said restricted acceleration thus read
in the case where said acceleration-deceleration determination means decided that
acceleration be applied, or by reading from said memory a restricted deceleration
corresponding to the speed of said axis obtained in the previous processing cycle
to determine a speed in the present processing cycle using said restricted deceleration
thus read in the case where said acceleration-deceleration determination means decided
that deceleration be applied; and
output means for finding data on the amount of movement of said axis in the present
processing cycle by using the speed found by said speed determining means, and then
outputting said data on the amount of movement to a servo control system for said
axis.
6. A numerical control device adopted for performing the acceleration and deceleration
control method according to any one of claims 1 to 4.