WO2022158428A9 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2022158428A9
WO2022158428A9 PCT/JP2022/001434 JP2022001434W WO2022158428A9 WO 2022158428 A9 WO2022158428 A9 WO 2022158428A9 JP 2022001434 W JP2022001434 W JP 2022001434W WO 2022158428 A9 WO2022158428 A9 WO 2022158428A9
Authority
WO
WIPO (PCT)
Prior art keywords
acceleration
speed
interpolation
block
section
Prior art date
Application number
PCT/JP2022/001434
Other languages
English (en)
French (fr)
Other versions
WO2022158428A1 (ja
Inventor
和彦 村川
武志 持田
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to JP2022576676A priority Critical patent/JPWO2022158428A1/ja
Priority to CN202280009772.4A priority patent/CN116710862A/zh
Priority to DE112022000265.4T priority patent/DE112022000265T5/de
Publication of WO2022158428A1 publication Critical patent/WO2022158428A1/ja
Publication of WO2022158428A9 publication Critical patent/WO2022158428A9/ja

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/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/34Director, elements to supervisory
    • G05B2219/34083Interpolation general
    • 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/34149Circular interpolation
    • 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/43129Speed as function of curvature, in curves, corners smaller than in straight line
    • 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/49Nc machine tool, till multiple
    • G05B2219/49164Corner, making corner

Definitions

  • the present invention relates to a numerical controller for controlling machine tools.
  • Block overlap processing slows the tool down to a sufficient speed (called allowable speed) in the current block to start the next block.
  • Allowable speed a sufficient speed
  • Using block overlap processing shortens the machining time compared to starting the next block with zero velocity at the end point of the current block, and it is possible to keep the impact on the workpiece and tools within the allowable range.
  • the time point when the tool speed is decelerated to the allowable speed does not always coincide with the time point when the tool reaches the end point, and a residual remaining travel amount is generated.
  • the overlap amount S is added to the remaining movement amount R, and the next block is started without causing a speed difference from the allowable speed.
  • the corner which is the joint between the current block and the next block is not passed, but the inside of the corner is passed.
  • the residual movement amount R changes and does not become constant depending on how the current block and the next block are combined.
  • a numerical controller is a numerical controller that controls the relative speed of a tool and a workpiece based on a machining program, and includes a first block that is a movement command included in the machining program and a next movement command. is analyzed, and if there is a corner between the first block and the second block, the allowable corner speed when passing through the corner is calculated, and the first block's A block commanded movement amount, which is the distance between the start point and the end point, is calculated.
  • Acceleration part that accelerates the pre-interpolation speed at the start point of the block to the command speed of the machining program, constant speed part that maintains the command speed of the machining program, and from the command speed of the machining program to the corner part allowable speed of the second block
  • a machining program analysis unit that calculates the amount of movement in the deceleration unit that decelerates, and obtains the remaining amount of movement of the first block from the amount of movement of the acceleration unit, the constant speed unit, the deceleration unit, and the block command movement amount.
  • At least one of the pre-interpolation acceleration of the acceleration section, the command speed of the constant speed section, and the pre-interpolation acceleration of the deceleration section is corrected, and the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section are calculated.
  • the sum of the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section is brought close to the block command movement amount.
  • a computer-readable storage medium that is one aspect of the present disclosure analyzes a first block included in a machining program and a second block that is the next movement command by being executed by one or more processors.
  • the allowable corner speed when passing through the corner portion is calculated, and the distance between the start point and the end point of the first block is the block
  • a command movement amount is calculated, and the pre-interpolation speed at the start point of the first block is calculated based on the pre-interpolation speed at the start point of the first block, the corner allowable speed, and the block command movement amount of the first block.
  • Movement amount in the acceleration part that accelerates to the command speed of the machining program, the constant speed part that maintains the command speed of the machining program, and the deceleration part that decelerates from the command speed of the machining program to the corner part allowable speed with the second block is calculated, and the remaining movement amount of the first block is obtained from the movement amount of the acceleration section, the constant speed section, and the deceleration section, and the block command movement amount, and the acceleration before interpolation of the acceleration section and the command of the constant speed section
  • the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section are adjusted, and the movement amount of the acceleration section and the movement amount of the constant speed section are adjusted.
  • a computer readable instruction is stored for causing the sum of the amount of movement and the amount of movement of the deceleration unit to approach the block commanded amount of movement.
  • FIG. 2 is a hardware configuration diagram of a numerical controller
  • FIG. 1 is a block diagram of a numerical controller
  • FIG. It is an example of a processing program.
  • FIG. 10 is a diagram showing changes in pre-interpolation speed in conventional block overlap processing
  • FIG. 10 is a diagram showing a movement path of a tool in conventional block overlap processing
  • FIG. 5 is a diagram showing changes in pre-interpolation speed in the first disclosure
  • FIG. 10 is a diagram showing changes in pre-correction speed when the correction amount exceeds the threshold in the first disclosure
  • FIG. 10 is a diagram showing changes in pre-interpolation speed in the second disclosure
  • FIG. 10 is a diagram showing changes in pre-interpolation speed in the third disclosure
  • FIG. 10 is a diagram showing changes in pre-interpolation velocity when combining the second and third disclosures;
  • FIG. 1 is a schematic diagram of a numerical controller 100. As shown in FIG. The numerical controller 100 controls the relative speed between the tool attached to the machine tool and the workpiece according to the machining program. For simplicity of explanation, the present disclosure assumes that the workpiece is stationary and considers only the speed of the tool.
  • a numerical controller 100 in FIG. 1 is connected to a machine tool 200 . In FIG. 1, the numerical controller 100 and the machine tool 200 are separate, but they may be integrated.
  • a work is attached to the table of the machine tool 200 .
  • a tool 50 is attached to the spindle of the machine tool 200 .
  • the tool 50 moves in three axial directions of the X-axis, the Y-axis, and the Z-axis. Although an example of moving only along the X-axis and Y-axis will be described here, the present disclosure may be applied to a multi-axis machine tool with three or more axes.
  • a CPU 111 included in the numerical controller 100 in FIG. 1 is a processor that controls the numerical controller 100 as a whole.
  • CPU 111 reads a system program stored in ROM 112 via bus 122 and controls the entire numerical controller 100 according to the system program.
  • the RAM 113 temporarily stores calculation data, display data, various data input by the user via the input unit 71, and the like.
  • the display unit 70 is a monitor or the like attached to the numerical controller 100, and displays a setup support screen, a setup procedure manual, and the like.
  • the input unit 71 is a keyboard, touch panel, or the like integrated with the display unit 70 or separate from the display unit 70 .
  • the user operates the input unit 71 to perform input to the screen displayed on the display unit 70 .
  • the non-volatile memory 114 is, for example, a memory that is backed up by a battery (not shown) and retains its storage state even when the power of the numerical controller 100 is turned off.
  • the nonvolatile memory 114 stores programs read from an external device via an interface (not shown), programs input via the input unit 71, and programs obtained from each unit of the numerical controller 100, the machine tool 200, and the like.
  • Various data for example, setting parameters acquired from the machine tool 200, etc.
  • Programs and various data stored in the non-volatile memory 114 may be developed in the RAM 113 at the time of execution/use.
  • Various system programs are written in the ROM 112 in advance.
  • a controller 40 that controls each axis of the machine tool 200 converts an axis movement command from the CPU 111 into a pulse signal and outputs it to the driver 41 .
  • the driver 41 converts the pulse signal into current to drive the servomotor.
  • the power of the servo motor moves the tool 50 .
  • the tool 50 and the workpiece may be moved relative to each other by moving the table.
  • the table is fixed and only the tool 50 is moved is shown to simplify the explanation.
  • FIG. 2 is a block diagram of the numerical controller 100.
  • the numerical controller 100 includes a machining program storage unit 11, a machining program analysis unit 12, a block buffer 13 that temporarily stores the analyzed machining program, and corrects the command speed F of the current block described in the machining program.
  • a command speed correcting unit 14 that calculates
  • An interpolation processing unit 17 is provided for converting the pre-interpolation speed into distributed pulses for servo motors such as the X-, Y-, and Z-axes.
  • a two-dimensional pre-interpolation speed adjustment method will be described, but the present disclosure can also be applied to control in three or more dimensions.
  • the machining program storage unit 11 stores machining programs.
  • FIG. 3 is an example of a machining program.
  • the numerical controller 100 processes the machining program line by line. One line is called a block.
  • the block on the first line of the machining program in FIG. 3 is "G91G01 X20 F1000;” and the block on the next line is "Y50;”.
  • a machining program has a movement command and a basic operation command.
  • the movement commands include "G00: rapid feed (positioning)", “G01: linear interpolation (cutting feed)", and "G02-G03: circular interpolation".
  • the movement command describes the movement destination and movement speed.
  • the block in FIG. 3 is a movement command, which is a command to move the tool 50 by "50" in the Y direction after moving "20" in the X direction at a moving speed of "F1000".
  • the machining program analysis unit 12 calculates the moving direction and pre-interpolation speed of the tool 50 based on the machining program.
  • the permissible corner movement speed D is the speed of the tool at which the corner can be moved while maintaining the machining quality and avoiding impact on the machine. determined by the angle of The method for determining the permissible corner movement speed is an existing technique, so the description is omitted.
  • the pre-interpolation speed is the speed of the tool 50 before it is distributed in the X-axis direction, the Y-axis direction, and the Z-axis direction by the interpolation processing unit 17, and the speed distributed in the X-axis direction, the Y-axis direction, and the Z-axis direction. is the composite speed of
  • the machining program analysis unit 12 pre-reads the blocks of the machining program, and if there is a corner part at the joint between the block to be analyzed (called the current block) and the next block (called the next block), the corner part A permissible movement speed D is calculated.
  • the machining program analysis unit 12 calculates pre-interpolation velocities of the acceleration section, constant speed section, and deceleration section.
  • the allowable corner speed Da with respect to the previous block has already been calculated when analyzing the previous block.
  • the pre-interpolation acceleration A is a value in consideration of machining quality and safety, and is preset to an appropriate value.
  • deceleration is performed at the pre-interpolation acceleration having the same absolute value as the pre-interpolation acceleration A during deceleration.
  • m be the number of interpolation processes of the acceleration section when accelerating the corner section allowable speed Da to the command speed F.
  • the number m of interpolation processes in the acceleration section is the integer part of (F-Da)/A, which is obtained by dividing the difference between the command speed F and the corner allowable speed Da by the pre-interpolation acceleration/deceleration A.
  • the number m of interpolation processes of the acceleration unit is five.
  • the command speed F is decelerated to the corner portion allowable speed Db.
  • n be the number of interpolation processes in the deceleration unit.
  • the number n of interpolation processes in the deceleration section is the integer part of (F ⁇ Db)/A, which is obtained by dividing the difference between the command speed F and the corner allowable speed Db by the pre-interpolation acceleration/deceleration A.
  • the number of pulse output times n of the deceleration unit is three.
  • the ideal value of the movement amount Lb of the constant speed section is obtained by subtracting the movement amount La of the acceleration section and the movement amount Lc of the deceleration section from the block command movement amount L.
  • the block command movement amount L can be calculated from the coordinates of the start point and end point of the tool 50 described in the machining program.
  • the number of times t of interpolation processing in the constant speed portion is obtained. In the example of FIG. 4, the number of times t of interpolation processing in the constant speed section is seven. Equation 3 below shows the relationship between the number of interpolation processes t in the constant speed section, the command speed F, and the movement amount Lb in the constant speed section.
  • commands for the next block are started while leaving the remaining movement amount R of the current block.
  • the remaining movement amount R and the block overlap amount S are added in the first interpolation cycle of the next block so that the pre-interpolation speed becomes the corner portion allowable speed Db.
  • FIG. 5 shows an example of a tool movement path in conventional block overlap processing.
  • a corner portion is generated between the current block and the next block.
  • the remaining movement amount R is generated, so the remaining movement amount R is output with the first command of the next block.
  • the direction of movement of the residual movement amount R is the direction of arrow a
  • the direction of movement of the block overlap amount is the direction of arrow b.
  • the first command in the next block moves in the direction of the arrow c at the corner allowable speed Db.
  • the command pulse is generated inside the corner without passing through the corner.
  • the remaining movement amount R in the left diagram and the remaining movement amount R in the right diagram are different in magnitude. Since the remaining movement amount R varies depending on conditions such as the pre-interpolation acceleration A, the previous block corner allowable speed Da, and the command speed F, variations occur even at corners having the same angle. The path instructed by the numerical control device 100 changes even at the corner portion with the same angle.
  • the pre-interpolation acceleration of the acceleration section, the pre-interpolation velocity of the constant speed section, and the pre-interpolation acceleration of the deceleration section calculated by the conventional block overlap processing are corrected to set the remaining movement amount R to zero.
  • the numerical controller outputs a command for the tool to pass through the corner while maintaining the allowable corner speed Db.
  • a command speed correction unit 14 corrects the pre-interpolation speed of the constant speed portion.
  • the correction amount r is a quotient obtained by dividing the remaining movement amount R by the number of times t of interpolation processing in the constant speed section.
  • the following formula 5 is a formula for calculating the correction amount r and the post-correction command speed F'.
  • a threshold value is set for the correction amount r. Thresholds are provided to guarantee processing quality and safety. If the correction amount r of the above-described post-correction command speed F' (referred to as the first post-correction command speed F') exceeds the threshold value, the machined surface may become rough or the tool may be damaged. When the correction amount r exceeds the threshold value, the machining program analysis unit 12 adds the number of times t of the interpolation processing of the constant speed unit once. At this time, the pre-interpolation speed of the constant-speed section is calculated by dividing the movement amount Lb' of the constant-speed section by the number of pulse outputs (t+1) so that the movement amount of the constant-speed section becomes Lb'.
  • the speed calculated in this way is called a second post-correction command speed F′′. Since the second post-correction command speed F′′ is slower than the command speed F of the current program, it is likely that the machining quality will deteriorate and the tool will break. It's not.
  • the following formula 7 is a formula for calculating the second post-correction command speed F′′.
  • FIG. 7 shows changes in the pre-interpolation speed when corrected with the second post-correction command speed F′′.
  • the number of times of output of the constant speed section is increased from 7 times to 8 times.
  • the second post-correction command speed F′′ is slower than the command speed F, but the number of outputs of the constant speed portion is added by one, so the movement amount of the constant speed portion is Lb′. , and the remaining movement amount R becomes zero.
  • the acceleration correction unit 16 corrects the pre-interpolation acceleration A to the pre-interpolation acceleration A'.
  • a formula for calculating the pre-interpolation acceleration A' will be described with reference to FIG.
  • the threshold value of the correction amount is ⁇ B
  • the range of acceleration/deceleration before interpolation A′ after correction is AB ⁇ A′ ⁇ A+B.
  • the following formula 8 is a formula for obtaining the movement amount La' of the acceleration unit when accelerating with the pre-interpolation acceleration/deceleration A'. Both the corrected movement amount La' and corner allowable speed Da are known, and the range of pre-interpolation acceleration/deceleration A' is also known. Therefore, the lower limit value (A ⁇ B) of A′ and the upper limit value (A+B) of A′ are input to Equation 8 to obtain the lower limit value mb and the upper limit value ma of m. When the number m of outputs of the acceleration unit obtained by Equation 1 satisfies the condition ma ⁇ m ⁇ mb, the number of times m of pulse outputs calculated by Equation 1 is adopted.
  • Equation 8 the post-correction pre-interpolation acceleration/deceleration A' is obtained. If m does not satisfy the condition ma ⁇ m ⁇ mb, the one of mb and ma that is closer to the value of m is substituted into Equation 8 to obtain the post-correction pre-interpolation acceleration A'. In this manner, the post-correction pre-interpolation acceleration A' at which the residual movement amount R becomes zero is determined.
  • the acceleration correction unit 16 corrects the pre-interpolation acceleration A of the deceleration unit to the pre-interpolation acceleration A′′.
  • a formula for calculating the pre-interpolation acceleration A′′ will be described with reference to FIG.
  • Lc′ Lc+R
  • the threshold value of the correction amount is ⁇ B
  • the range of acceleration/deceleration before interpolation A′′ after correction satisfies the condition AB ⁇ A′′ ⁇ A+B.
  • the following formula 9 is a formula for obtaining the movement amount Lc' of the deceleration section when decelerating with the pre-interpolation acceleration/deceleration A''.
  • the range of deceleration A′′ is also known. Therefore, the lower limit value (A ⁇ B) of A′′ and the upper limit value (A+B) of A′′ are input to Equation 9 to obtain the lower limit value na and the upper limit value nb of n.
  • the number of times n of outputs of the deceleration unit obtained by Equation 2 satisfies the condition of na ⁇ n ⁇ nb, the number of times of output n calculated by Equation 2 is adopted.
  • the post-correction pre-interpolation acceleration/deceleration A′′ can be calculated. If n does not satisfy the condition of na ⁇ n ⁇ nb, the corrected pre-interpolation acceleration A′′ can be obtained by substituting the one of nb and na closer to the value of n into Equation 9. In this manner, the post-correction pre-interpolation acceleration A′′ at which the residual movement amount R becomes zero is determined.
  • the interpolation processing unit 17 performs interpolation processing on the pre-interpolation velocities corrected by the methods disclosed in the first disclosure, the second disclosure, and the third disclosure, and obtains the speed of the X-axis, the speed of the Y-axis, and the speed of the Z-axis. to the corresponding servo motors.
  • the servomotor rotates according to the distributed pulse amount output from the interpolator, and moves the tool 50 .
  • the movement of the tool 50 is described as being controlled, but in reality, the table on which the work is placed may move, and in this case also, the relative movement of the tool and the work may Included in this disclosure as such.
  • Equation 2 By substituting the above values into Equation 2, it is possible to calculate the number of interpolation processes n in the deceleration section and the movement amount Lc of the deceleration section.
  • Equation 3 the number of interpolation processes t in the constant speed section and the movement amount Lb of the constant speed section can be calculated.
  • the remaining movement amount R can be calculated from Equation (4).
  • the first disclosure corrects the command speed of the constant speed section.
  • the correction amount r is a value obtained by dividing the remaining movement amount R by the number of pulse outputs t in the constant speed section.
  • the post-correction command speed F' can be calculated by adding the correction amount r to the command speed F of the constant speed section.
  • the correction amount r has a threshold.
  • the threshold of the correction amount r is ⁇ 100.0 [min/msec]
  • the correction amount r is 0.005632 [mm/msec] ⁇ 60000 ⁇ 336 [min/msec], which exceeds the threshold.
  • the interpolation processing of the constant speed portion is added once.
  • Formula 7 is a formula for calculating the post-correction command speed F′′ when the interpolation processing is added once.
  • the movement amount La of the acceleration section is corrected to make the remaining movement amount R zero.
  • the acceleration correction amount threshold value is ⁇ 10.0 [mm/sec 2 ].
  • ⁇ 10.0/1000 ⁇ 0.01 [mm/msec 2 ]
  • A′ 0.04890909 [mm/msec 2 ] is obtained from the above formula, and if this value is converted to speed per second, the corrected acceleration is 48.90909091 [mm/sec 2 ]. If m does not satisfy the condition in this calculation, the acceleration A' is calculated by selecting the value closest to the number of times m of pulses output from the acceleration unit, from among the upper limit value and the lower limit value of m.
  • the movement amount Lc of the deceleration section is corrected to make the remaining movement amount R zero.
  • the acceleration correction amount threshold value is ⁇ 10.0 [mm/sec 2 ].
  • this threshold value is converted into the unit of the interpolation period, it becomes as follows.
  • ⁇ 10.0/1000 ⁇ 0.01 [mm/msec 2 ]
  • Substituting n 9 into Equation 9 gives the following.
  • the numerical controller 100 sets the machining program for the current block and the next block and the speed at the start point of the current block (in this disclosure, the allowable corner portion speed Da) is used to calculate the allowable corner speed Db.
  • the numerical controller 100 calculates the number of pulse outputs for the acceleration section, the number of pulse outputs for the constant speed section, and the number of pulse outputs for the deceleration section so that the allowable corner speed Db is obtained at the end point of the current block. Then, the movement amount La of the acceleration section, the movement amount Lb of the constant speed section, and the movement amount Lc of the deceleration section are obtained, and the remaining movement amount R is obtained.
  • the numerical controller 100 of the present disclosure corrects the pre-interpolation acceleration A of the acceleration section or the deceleration section and the command speed F of the constant speed section to make the remaining movement amount R zero.
  • the command speed F of the constant speed section is corrected
  • the pre-interpolation acceleration A of the acceleration section is corrected
  • the pre-interpolation acceleration A of the deceleration section is corrected.
  • not only one correction method may be used, but also these correction methods may be combined.
  • the pre-interpolation acceleration of the acceleration section is corrected
  • the pre-interpolation speed of the constant speed section in the second disclosure, the pre-interpolation speed of the constant speed section
  • the pre-interpolation acceleration of the deceleration section is corrected.
  • the second disclosure and the third disclosure may be combined to correct the pre-interpolation acceleration of the acceleration section to A′ and the pre-interpolation acceleration of the deceleration section to A′′.
  • the sum of the movement amount La of the acceleration section, the movement amount Lb of the constant speed section, and the movement amount Lc of the deceleration section may be brought close to the block command movement amount L so that the remaining movement amount R is as small as possible.
  • the machining program analyzed by the machining program analysis unit 12 is stored in the block buffer 13, and the analysis result stored in the block buffer 13 is corrected by the command speed correction unit 14.
  • the command speed correction unit 14 may be arranged after the pre-interpolation acceleration/deceleration processing unit 15 , inside the interpolation processing unit 17 , or after the interpolation processing unit 17 in consideration of speed override.
  • the acceleration correction unit 16 may be arranged after the pre-interpolation acceleration/deceleration processing unit 15 , inside the interpolation processing unit 17 , or after the interpolation processing unit 17 .
  • the pre-interpolation acceleration/deceleration A is a constant, and linear acceleration (or deceleration) is performed at a constant speed, but the pre-interpolation acceleration/deceleration A may not necessarily be a constant.
  • the technology of the present disclosure can also be applied to an exponential acceleration section (or deceleration section) or a bell-shaped acceleration section (or deceleration section).
  • the numerical control device 100 of the present disclosure can generate a command to pass the corner portion, so the machine tool can be controlled with the same command as the machining program. .
  • errors occur due to inertia and overshoot, but by generating commands that always pass through corners, it is possible to perform uniform quality machining with the same errors.
  • the data that can be obtained during machine adjustment is not stable because of variations in commands. Since the numerical controller of the present disclosure outputs commands along the same path, the data used for machine adjustment is stable.

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)

Abstract

数値制御装置は、加工プログラムに基づき工具とワークとの相対速度を制御する。その加工プログラムの現ブロックと次ブロックとの間にコーナ部が存在する場合、次ブロックを先読みし、現ブロックの終点におけるコーナ部許容速度を算出する。工具とワークとの相対速度があらかじめ設定した許容速度を維持しつつ、コーナ部を通過するように、工具とワークとの相対速度の加速部の補間前加速度、定速部の補間前速度、及び減速部の補間前加速度の少なくとも1つを調整する。

Description

数値制御装置
 本発明は、工作機械を制御する数値制御装置に関する。
 従来、工作機械の加工時間を短縮するためにブロックオーバラップという方式が用いられている。例えば、特許文献1には、現ブロックの補間終了後、減速速度がゼロになる前に次のブロックの指令を開始することにより、現ブロックから次のブロックに移行する際、ブロックの繋ぎ目で速度をゼロまで減速することなく加工を行うことが開示されている。
特開平2-40701号公報
[規則91に基づく訂正 10.03.2023]
 ブロックオーバラップ処理は、現ブロックで工具を十分な速度(許容速度という)まで減速し、次のブロックを開始する。ブロックオーバラップ処理を用いると、現ブロックの終点で速度をゼロにして次のブロックを開始する場合よりも加工時間が短くなり、ワークや工具にかかる衝撃を許容範囲内に抑えることができる。工具速度の減速は、補間周期ごとに行うが、許容速度まで減速した時点と工具が終点に達した時点とは必ずしも一致せず、余りである残移動量が発生する。ブロックオーバラップ処理では、残移動量Rにオーバラップ量Sを足して、許容速度との速度差を生じさせずに次のブロックを開始する。このとき、ブロックの終点より残移動量Rだけ手前で次のブロックを開始するため、現ブロックと次のブロックの繋ぎ目であるコーナを通過せず、コーナの内側を通る。ブロックオーバラップ処理では、同じ角度のコーナであっても、現ブロックと次のブロックの合成の仕方によって残移動量Rは変化し一定にならない。
 数値制御装置の分野では、コーナ部を有する加工の加工品質を維持しつつ加工時間を短縮する技術が望まれている。
 本開示の一態様である数値制御装置は、加工プログラムに基づき工具とワークの相対速度を制御する数値制御装置であって、加工プログラムに含まれる移動指令である第1のブロックと次の移動指令である第2のブロックを解析し、第1のブロックと第2のブロックとの間にコーナ部が存在する場合、コーナ部を通過する際のコーナ部許容速度を算出し、第1のブロックの始点と終点の距離であるブロック指令移動量を算出し、第1のブロックの始点における補間前速度と、コーナ部許容速度と、第1のブロックのブロック指令移動量とを基に、第1のブロックの始点における補間前速度を加工プログラムの指令速度まで加速する加速部と、加工プログラムの指令速度を維持する定速部と、加工プログラムの指令速度から第2のブロックとのコーナ部許容速度まで減速する減速部における移動量を算出し、加速部と、定速部と、減速部の移動量と、ブロック指令移動量とから、第1のブロックの残移動量を求める、加工プログラム解析部を備え、加速部の補間前加速度、定速部の指令速度、減速部の補間前加速度の少なくとも1つを補正して、加速部の移動量、定速部の移動量、減速部の移動量を調整し、加速部の移動量と、定速部の移動量と、減速部の移動量との和を前記ブロック指令移動量に近づける。
 本開示の一態様であるコンピュータが読み取り可能な記憶媒体は、1つ又は複数のプロセッサが実行することにより、加工プログラムに含まれる第1のブロックと次の移動指令である第2のブロックを解析し、第1のブロックと第2のブロックとの間にコーナ部が存在する場合、コーナ部を通過する際のコーナ部許容速度を算出し、第1のブロックの始点と終点の距離であるブロック指令移動量を算出し、第1のブロックの始点における補間前速度と、コーナ部許容速度と、第1のブロックのブロック指令移動量とを基に、第1のブロックの始点における補間前速度を加工プログラムの指令速度まで加速する加速部と、加工プログラムの指令速度を維持する定速部と、加工プログラムの指令速度から第2のブロックとのコーナ部許容速度まで減速する減速部とにおける移動量を算出し、加速部と、定速部と、減速部の移動量と、ブロック指令移動量とから、第1のブロックの残移動量を求め、加速部の補間前加速度、定速部の指令速度、減速部の補間前加速度の少なくとも1つを補正して、加速部の移動量、定速部の移動量、減速部の移動量を調整し、加速部の移動量と、定速部の移動量と、減速部の移動量との和を前記ブロック指令移動量に近づける、コンピュータが読み取り可能な命令を記憶する。
 本発明の一態様により、コーナ部を有する加工の加工品質を維持しつつ加工時間を短縮することができる。
数値制御装置のハードウェア構成図である。 数値制御装置のブロック図である。 加工プログラムの一例である。 従来のブロックオーバラップ処理における補間前速度の変化を示す図である。 従来のブロックオーバラップ処理における工具の移動経路を示す図である。 第1の開示における補間前速度の変化を示す図である。 第1の開示において補正量が閾値を超えた場合の補正前速度の変化を示す図である。 第2の開示における補間前速度の変化を示す図である。 第3の開示における補間前速度の変化を示す図である。 第2の開示と第3の開示とを組み合わせた場合の補間前速度の変化を示す図である。
[第1の開示]
 図1は、数値制御装置100の概略図である。
数値制御装置100は、加工プログラムに従い工作機械に取り付けられた工具とワークとの相対速度を制御する。なお、本開示では説明を簡単にするためワークは固定しているものと仮定し工具の速度のみを考える。
 図1の数値制御装置100は、工作機械200に接続されている。図1において、数値制御装置100と工作機械200は別々であるが一体でもよい。
 工作機械200のテーブルにはワークが取り付けられる。工作機械200の主軸には工具50が取り付けられている。工具50は、X軸、Y軸、Z軸の3軸方向に移動する。ここではX軸、Y軸のみに移動する例を説明するが、本開示を3軸以上の多軸の工作機械に適用してもよい。
 以下、数値制御装置100について説明する。図1における数値制御装置100が備えるCPU111は、数値制御装置100を全体的に制御するプロセッサである。CPU111は、バス122を介してROM112に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って数値制御装置100の全体を制御する。RAM113には一時的な計算データや表示データ、入力部71を介してユーザが入力した各種データ等が一時的に格納される。
 表示部70は、数値制御装置100に付属のモニタなどであり、段取り支援画面や段取り手順書などを表示する。
 入力部71は、表示部70と一体の、又は表示部70とは別体のキーボード、タッチパネルなどである。ユーザは入力部71を操作して、表示部70に表示された画面への入力などを行う。
 不揮発性メモリ114は、例えば、バッテリ(図示せず)でバックアップされるなどして、数値制御装置100の電源がオフされても記憶状態が保持されるメモリである。不揮発性メモリ114には、インタフェース(図示せず)を介して外部機器から読み込まれたプログラムや入力部71を介して入力されたプログラム、数値制御装置100の各部や工作機械200等から取得された各種データ(例えば、工作機械200から取得した設定パラメータ等)が記憶される。不揮発性メモリ114に記憶されたプログラムや各種データは、実行時/利用時にはRAM113に展開されてもよい。また、ROM112には各種のシステム・プログラムがあらかじめ書き込まれている。
 工作機械200の各軸を制御するコントローラ40は、CPU111からの軸の移動指令をパルス信号に変換しドライバ41に出力する。ドライバ41はパルス信号を電流に変換してサーボモータを駆動する。
 サーボモータの動力により工具50が移動する。また、テーブルを移動させて工具50とワークとを相対移動させてもよい。本開示では、説明を簡単にするため、テーブルは固定し、工具50のみを移動させる例を示す。
 図2は、数値制御装置100のブロック図である。
数値制御装置100は、加工プログラム記憶部11と、加工プログラム解析部12と、解析済みの加工プログラムを一時的に保管するブロックバッファ13と、加工プログラムに記載された現ブロックの指令速度Fを補正する指令速度補正部14と、補間前加減速Aを基に補間前速度の加減速処理を行う補間前加減速処理部15と、補間前加減速Aを補正する加速度補正部16と、算出した補間前速度をX軸、Y軸、Z軸などのサーボモータの分配パルスに変換する補間処理部17とを備える。
 以下の開示では、2次元での補間前速度の調整方法を説明するが、3次元以上の制御にも本開示を適用できる。
 加工プログラム記憶部11は加工プログラムを記憶する。図3は、加工プログラムの一例である。
数値制御装置100は、加工プログラムを1行ずつ処理する。その1行をブロックと呼ぶ。図3の加工プログラムの1行目のブロックは「G91G01 X20 F1000;」であり、次の行のブロックは「Y50;」である。
 加工プログラムには移動指令と基本動作指令がある。移動指令には、「G00:早送り(位置決め)」、「G01:直線補間(切削送り)」、「G02-G03:円弧補間」などがある。移動指令には、移動先、移動速度が記載されている。図3のブロックは移動指令であり、「F1000」の移動速度でX方向に「20」移動した後、Y方向に「50」工具50を移動させるという指令である。
 加工プログラム解析部12は、加工プログラムを基に工具50の移動方向と補間前速度を算出する。コーナ部移動許容速度Dとは、加工品質を維持し、機械への衝撃を回避した状態でコーナ部を移動することのできる工具の速度であって、工具50の速度、ワークの材質、コーナ部の角度などによって決まる。コーナ部移動許容速度の判定方法は、既存の技術なので説明を省略する。
 補間前速度とは、補間処理部17でX軸方向、Y軸方向、Z軸方向に分配される前の工具50の速度であり、X軸方向、Y軸方向、Z軸方向に分配した速度の合成速度となる。
 図4を参照して従来の補間前速度算出方法について説明する。
加工プログラム解析部12は、加工プログラムのブロックを先読みし、解析対象のブロック(現ブロックと呼ぶ)と次のブロック(次ブロックと呼ぶ)の繋ぎ目にコーナ部が存在する場合には、コーナ部移動許容速度Dを算出する。
 次いで、加工プログラム解析部12は、加速部、定速部、減速部の補間前速度を算出する。
 前ブロックとのコーナ部許容速度Daは、前ブロックの解析時に既に算出している。加速部では、コーナ部許容速度Daから指令速度Fまで加速する。補間前加速度Aは、加工品質や安全性を考慮した値であり、適切な値にあらかじめ設定されている。本開示では、減速時も前記補間前加速度Aと絶対値が等しい補間前加速度で減速する。
 コーナ部許容速度Daを指令速度Fまで加速する際の加速部の補間処理の回数をmとする。加速部の補間処理の回数mは、指令速度Fとコーナ部許容速度Daの差を補間前加減速Aで割った値、(F-Da)/A、の整数部である。図4の例では、加速部の補間処理の回数mは5である。
 加速部における工具50の補間前速度を足し合わせると、加速部における工具50の移動量Laが求まる。加速部における工具50の移動量Laは以下の数式1のように表現できる。
Figure JPOXMLDOC01-appb-M000001
 減速部では、指令速度Fをコーナ部許容速度Dbまで減速する。減速部の補間処理の回数をnとする。減速部の補間処理の回数nは、指令速度Fとコーナ部許容速度Dbとの差を補間前加減速Aで割った値、(F-Db)/A、の整数部である。図4の例では、減速部のパルスの出力回数nは3である。
 減速部における工具50の補間前速度を足し合わせると、減速部における工具50の移動量Lcが求まる。減速部における工具50の移動量Lcは以下の数式2のように表現できる。
Figure JPOXMLDOC01-appb-M000002
[規則91に基づく訂正 10.03.2023]
 ブロック指令移動量Lから、加速部の移動量La及び減速部の移動量Lcを減算したものが、定速部の移動量Lbの理想値である。ブロック指令移動量Lは、加工プログラムに記載された工具50の始点及び終点の座標から算出できる。移動量Lbの理想値を指令速度Fで割ると、定速部の補間処理の回数tが求まる。図4の例において、定速部の補間処理の回数tは7である。
 以下の数式3は定速部の補間処理の回数t、指令速度F、定速部の移動量Lbの関係を示す。
Figure JPOXMLDOC01-appb-M000003
[規則91に基づく訂正 10.03.2023]
 ここで、L=(La+Lb+Lc)が成立する場合は、ブロックオーバラップ処理は不要である。しかし、実際には残移動量Rが発生する。下記数式4は、加速部の移動量La、定速部の移動量Lb、減速部の移動量Lcと、残移動量Rとの関係を示す式と、その変形である。
 加速部の移動量Laと、定速部の移動量Lbと、減速部の移動量Lcとを合計した移動量は、加工プログラムに記載されたブロック指令移動量Lよりも残移動量Rだけ少なくなる。
Figure JPOXMLDOC01-appb-M000004
 従来のブロックオーバラップ処理では、現ブロックの残移動量Rを残したまま、次ブロックの指令を開始する。このとき、補間前速度がコーナ部許容速度Dbとなるように、次ブロックの最初の補間周期で残移動量Rとブロックオーバラップ量Sとを加算する。
 図5は、従来のブロックオーバラップ処理における工具の移動経路の一例を示す。
現ブロックで矢印a方向に移動し、次ブロックで矢印b方向に移動する場合、現ブロックと次ブロックとの間にコーナ部が発生する。
 従来のブロックオーバラップ処理では、残移動量Rが発生するので、残移動量Rを次ブロックの最初の指令で出力する。残移動量Rの移動方向は矢印a方向であり、ブロックオーバラップ量の移動方向は矢印b方向であるため、次ブロックの最初の補間周期では、この2つのベクトルを加算した矢印c方向となる。次ブロックの最初の指令では、コーナ部許容速度Dbで矢印c方向に移動する。ブロックオーバラップ処理では、コーナ部を通らずにコーナ部の内側を指令パルスが生成される。
 図5の例では、左側の図の残移動量Rと右側の図の残移動量Rとは大きさが異なる。残移動量Rは、補間前加速度A、前ブロックのコーナ部許容速度Da、指令速度Fなどの条件によって変化するので、同じ角度のコーナ部でもバラツキが生じる。同じ角度のコーナ部でも数値制御装置100が指令する経路は変化する。
[本開示の説明]
 本開示では、従来のブロックオーバラップ処理で算出した、加速部の補間前加速度、定速部の補間前速度、及び減速部の補間前加速度を補正して、残移動量Rをゼロにする。これにより、数値制御装置は、工具がコーナ部許容速度Dbを維持しつつ、コーナ部を通過する指令を出力する。
[第1の開示]
 指令速度補正部14は、定速部の補間前速度を補正する。補正量rは、残移動量Rを定速部の補間処理の回数tで割った商である。以下の数式5は、補正量rと補正後指令速度F´を算出する式である。
Figure JPOXMLDOC01-appb-M000005
[規則91に基づく訂正 10.03.2023]
 定速部の指令速度Fを補正後指令速度F´に補正することにより、補正後の定速部の移動量Lb´は Lb´=La+Rとなる。これにより、定速部の移動量Lb´が残移動量Rと同じ距離だけ長くなるので残移動量Rがゼロになる。
[規則91に基づく訂正 10.03.2023]
 定速部の補間前速度を補正後指令速度F´に補正すると、図6に示すように、補正後の移動量Lb´は、補正前の定速部の移動量Lbに残移動量Rを加算したものとなる。そのため、ブロック指令移動量Lと、加速部の移動量Laと、定速部の移動量Lb´と、減速部の移動量Lcは、下記の数式6を満たすようになり、残移動量Rがゼロになる。
Figure JPOXMLDOC01-appb-M000006
 補正量rには閾値が設定されている。閾値は、加工品質や安全性を保証するために設けられている。上述した補正後指令速度F´(第1の補正後指令速度F´と呼ぶ)の補正量rが閾値を超えると、加工面が粗くなったり、工具が破損するおそれがある。加工プログラム解析部12は、補正量rが閾値を超える場合には、定速部の補間処理の回数tを1回追加する。このとき、定速部の移動量がLb´となるように、定速部の移動量Lb´をパルスの出力回数(t+1)で割って、定速部の補間前速度を算出する。このように算出した速度を第2の補正後指令速度F″と呼ぶ。第2の補正後指令速度F″は、現プログラムの指令速度Fより遅いので、加工品質の劣化や工具破損は生じるおそれはない。下記の数式7は、第2の補正後指令速度F″を算出する式である。
Figure JPOXMLDOC01-appb-M000007
 図7は、第2の補正後指令速度F″で補正したときの補間前速度の変化を示す。
定速部の出力回数は7回から8回に増加している。第2の補正後指令速度F″は指令速度Fより遅くなるが、定速部の出力回数が1回追加されるので、定速部の移動量はLb´となる。そのため、数式6を満たすようになり、残移動量Rがゼロになる。
[規則91に基づく訂正 10.03.2023]
[第2の開示]
 第2の開示において加速度補正部16は、補間前加速度Aを補間前加速度A´に補正する。図8を参照して補間前加速度A´を算出する式について説明する。
 補間前加速度Aを補正して残移動量Rをゼロにするには、加速部の移動量をLa´(=La+R)に補正する必要がある。補正量の閾値を±Bとした場合、補正後の補間前加減速A´の範囲はA-B≦A´≦A+Bである。下記の数式8は補間前加減速A´で加速したときの加速部の移動量La´を求める式である。補正後の移動量La´及びコーナ部許容速度Daはともに既知であり、補間前加減速A´の範囲も既知である。そのため、数式8にA´の下限値(A-B)とA´の上限値(A+B)とを入力し、mの下限値mbと上限値maとを求める。数式1で求めた加速部の出力回数mが、ma≦m≦mbの条件を満たす場合、数式1で算出したパルスの出力回数mを採用する。このmを数式8に代入して補正後の補間前加減速A´を求める。
 なお、mがma≦m≦mbの条件を満たさない場合、mbとmaのうちでmの値に近い方を数式8に代入して補正後の補間前加速度A´を求める。このようにして、残移動量Rがゼロとなる補正後の補間前加速度A´が決まる。
Figure JPOXMLDOC01-appb-M000008
[規則91に基づく訂正 10.03.2023]
[第3の開示]
 第3の開示において、加速度補正部16は、減速部の補間前加速度Aを補間前加速度A″に補正する。図9を参照して補間前加速度A″を算出する式について説明する。
 減速部における補間前加速度Aを補正して残移動量Rをゼロにするには、減速部の移動量をLc´(=Lc+R)に補正する必要がある。補正量の閾値を±Bとした場合、補正後の補間前加減速A″の範囲はA-B≦A″≦A+Bの条件である。下記の数式9は補間前加減速A″で減速したときの減速部の移動量Lc´を求める式である。補正後の移動量Lc´及びコーナ部許容速度Dbは既知であり、補間前加減速A″の範囲も既知である。そのため、数式9にA″の下限値(A-B)とA″の上限値(A+B)とを入力し、nの下限値naと上限値nbを求める。数式2で求めた減速部の出力回数nがna≦n≦nbの条件を満たす場合、数式2で算出した出力回数nを採用する。このnを数式9に代入して補正後の補間前加減速A″が算出できる。
 なお、nがna≦n≦nbの条件を満たさない場合、nbとnaとのうちでnの値に近い方を数式9に代入して補正後の補間前加速度A″を求めることができる。このようにして、残移動量Rがゼロとなる補正後の補間前加速度A″が決まる。
Figure JPOXMLDOC01-appb-M000009
[規則91に基づく訂正 10.03.2023]
 補間処理部17は、上述の第1の開示、第2の開示、第3の開示の方法で補正した補間前速度に補間処理を行い、X軸の速度、Y軸の速度、Z軸の速度の分配パルス量を対応するサーボモータに出力する。サーボモータは補間部から出力された分配パルス量に応じてサーボモータを回転させ、工具50を移動させる。なお、本開示では、工具50の移動のみを制御するように記載しているが、実際にはワークを載置するテーブルが移動する場合もあり、この場合も工具とワークの相対的な移動であるということで、本開示に含まれる。
[実際の演算例]
 実際の数値を用いた演算例を示す。この演算例で使用する変数の値は以下の通りである。
 ・補間周期:1.0[msec]
 ・指令速度:30000.0[mm/min]
(1補間周期での指令速度F=30000.0/60000=0.5[mm/msec])
 ・ブロック指令移動量(L):50.0[mm]
 ・補間前加減速の加速度:40.0[mm/sec
(1補間周期での加速度(A):40.0/1000=0.04[mm/msec])
 ・前ブロックとのコーナ部許容速度:6000.0[mm/min]
(1補間周期でのコーナ部許容速度Da=6000.0/60000=0.1[mm/msec])
 ・次ブロックとのコーナ部許容速度:9000.0[mm/min]
(1補間周期でのコーナ部許容速度Db=9000.0/60000=0.15[mm/msec])
[第1の開示、第2の開示、第3の開示に共通する演算]
[補間前速度、移動量、残移動量、パルスの出力回数の算出]
 まず、加速部、定速部、減速部の補間前速度と補間処理の回数m、t、n、移動量La、Lb、Lc、残移動量Rを算出する。
 上記の値を数式1に代入すると、加速部における補間処理の回数mと、加速部の移動量Laが算出できる。
 mは(0.5-0.1)/0.04=10.0の整数部、すなわち、 m=10である。
 La=0.1+0.1×10+0.04×(1+2+3+…+10)=3.3[mm]
 上記の値を数式2に代入すると、減速部における補間処理の回数nと、減速部の移動量Lcが算出できる。
 nは(0.5-0.15)/0.04=8.75の整数部、すなわち n=8である。
 Lc=0.5×8-0.04×(1+2+3+…+8)+0.15=2.71[mm]
 数式3より、定速部における補間処理の回数tと、定速部の移動量Lbが算出できる。
 tは(50.0-3.3-2.71)/0.5=87.98の整数部、すなわち、 t=87である。
 Lb=0.5×87=43.5[mm]
 加速部の移動量La、定速部の移動量Lb、減速部の移動量Lcが上記のとおり算出されると、数式4より残移動量Rが算出できる。
 R=50-(3.3+43.5+2.71)=0.49[mm]
[規則91に基づく訂正 10.03.2023]
[第1の開示の演算]
 第1の開示では、定速部の指令速度を補正する。補正量rは、残移動量Rを定速部のパルスの出力回数tで割った値である。定速部の指令速度Fに補正量rを加算すると補正後指令速度F´が算出できる。数式5より、それら補正量r及び補正後指令速度F´が算出できる。
 r=0.49/87=0.005632183・・・
 F´=0.5+0.005632183=0.505632183[mm/msec]
 下式のように、F´を分速に変換すると、加工プログラムでの実際の指令速度となる。
 F´×60000=30337.93103[mm/min]
 但し、補正量rには閾値がある。補正量rの閾値を±100.0[min/msec]とした場合、上記補正量rは 0.005632[mm/msec]×60000 ≒336[min/msec]であり、閾値を超えている。この場合は定速部の補間処理を1回追加する。数式7は、補間処理を1回追加したときの補正後指令速度F″を算出する式である。
 Lb´=43.5+0.49=44.39
 F″=44.39/(87+1)=0.499886363[mm/msec
 第1の開示では、定速部の指令速度を補正量r増加させることによって、定速部の移動量Lbが残移動量Rと同じ距離だけ増加するため、残移動量Rがゼロとなる。補正量rが閾値を超えた場合には、補間処理を1回追加して新たな補正量rを算出する。
[第2の開示の演算]
 第2の開示では、加速部の移動量Laを補正して残移動量Rをゼロにする。加速度の補正量の閾値を±10.0[mm/sec]とする。この閾値を補間周期の単位に変換すると以下のようになる。
 ±10.0/1000=±0.01[mm/msec
 上記の閾値より補正後の加速度A´の上限と下限とが以下のように決まる。
 A-0.01≦A´≦A+0.01
 上記の不等式にA=0.04[mm/msec]を代入するとA´の範囲は0.03≦A´≦0.05となる。
 数式8に前ブロックとのコーナ部許容速度Daと補正後の移動量La´(=La+R)を代入すると以下のようになる。
 La´=3.3+0.49=0.1+0.1×m+A´×(1+2+3+…+m)
 上の式でA´に下限値0.03を代入するとm=13となり、一方、A´に上限値0.05を代入するとm=8となる。これより、8≦m≦10となり、加速部の補間処理の回数m=10は左記の条件を満たす。そこで数式8にm=10を代入すると以下のようになる。
 La´=3.3+0.49=0.1+0.1×10+A´×(1+2+3+…+10)
 上記の式からA´=0.04890909[mm/msec]が求まり、この値を秒速にすると、補正後の加速度は48.90909091[mm/sec]となる。この演算でmが条件を満たさないときには、mの上限値と下限値のうち、加速部のパルスの出力回数mに一番近い値を選択して加速度A´を計算する。
[第3の開示の演算]
 第3の開示では、減速部の移動量Lcを補正して残移動量Rをゼロにする。加速度の補正量の閾値を±10.0[mm/sec]とする。この閾値を補間周期の単位に変換すると以下のようになる。
 ±10.0/1000=±0.01[mm/msec
 補正後の加速度A″の上限と下限とが以下のように決まる。
 A-0.01≦A″≦A+0.01
 上の不等式にA=0.04[mm/msec]を代入するとA″の範囲は0.03≦A″≦0.05となる。
 数式9に次ブロックとのコーナ部許容速度Dbと補正後の移動量Lc´(=Lc+R)を代入すると以下のようになる。
 Lc´=2.71+0.49=0.5×n-A″×(1+2+3+…+n)+0.15
 上の式でA″に下限値0.03を代入するとn=9となり、一方、A″に上限値0.05を代入するとn=13となる。これにより、9≦n≦13となり、減速部の補間処理の回数=8に近いn=9を使用する。そこで数式9にn=9を代入すると以下のようになる。
 Lc´=2.71+0.49=0.5×9-A″×(1+2+3+…+9)+0.15
 上記の式からA″=0.032222222「mm/msec」が求まり、この値を秒速にすると、補正後の加速度は32.222222「mm/sec」となる。
 上述したように、数値制御装置100は、現ブロックと次ブロックとの間にコーナ部が存在する場合、現ブロックと次ブロックの加工プログラムと現ブロックの始点における速度(本開示ではコーナ部許容速度Da)からコーナ部許容速度Dbを算出する。
 数値制御装置100は、現ブロックの終点でコーナ部許容速度Dbとなるように、加速部のパルスの出力回数、定速部のパルスの出力回数、減速部のパルスの出力回数を算出する。そして、加速部の移動量La、定速部の移動量Lb、減速部の移動量Lcを求め、残移動量Rを求める。
 本開示の数値制御装置100は、加速部又は減速部の補間前加速度A、定速部の指令速度Fを補正して、残移動量Rをゼロにする。上述した第1の開示では定速部の指令速度Fを補正し、第2の開示では加速部の補間前加速度Aを補正し、第3の開示では減速部の補間前加速度Aを補正したが、1つの補正方法を用いるだけでなく、これらの補正方法を組み合わせてもよい。
 また、第1の開示では加速部の補間前加速度を補正し、第2の開示では定速部の補間前速度、第3の開示では減速部の補間前加速度を補正したが、図10に示すように、第2の開示と第3の開示を組み合わせて、加速部の補間前加速度をA´、減速部の補間前加速度をA″に補正してもよい。補正により、補正後の加速部の移動量La´と、補正後の減速部の移動量Lc´はLa´+Lc´=La+Lc+Rを満たす。これにより、L=La´+Lb+Lc´の条件が成立し、残移動量Rがゼロになる。
 なお、これまで残移動量Rをゼロにする例を開示したが、残移動量Rのゼロ以外の値への調整も本開示に含む。残移動量Rがなるべく小さくなるよう、加速部の移動量La、定速部の移動量Lb、減速部の移動量Lcの和が、ブロック指令移動量Lに近づけてもよい。
 本開示では、図2に示すように、加工プログラム解析部12で解析した加工プログラムをブロックバッファ13に格納し、ブロックバッファ13に格納された解析結果を指令速度補正部14で補正する構成としたが、指令速度補正部14は、速度オーバライドを考慮して、補間前加減速処理部15の後段、補間処理部17の内部、補間処理部17の後段に配置してもよい。また、加速度補正部16も同様に、補間前加減速処理部15の後段、補間処理部17の内部、補間処理部17の後段に配置してもよい。
 また、本開示では、補間前加減速Aは定数であり、一定の速度で直線的に加速(又は減速)したが、補間前加減速Aは必ずしも定数でなくともよい。指数関数的な加速部(又は減速部)やベル型の加速部(又は減速部)も本開示の技術を適用できる。
[規則91に基づく訂正 10.03.2023]
 本開示の数値制御装置100は、現ブロックと次ブロックとの間にコーナ部が発生する場合、コーナ部を通過する指令を生成することができるため、加工プログラムと同じ指令で工作機械を制御できる。実際の加工では、イナーシャやオーバシュートにより誤差が発生するが、必ずコーナ部を通過する指令を生成することで、同じ誤差を持った、均一な品質の加工を行うことができる。また、従来のブロックオーバラップ処理では、指令にバラツキが生じるため、機械の調整時に取得できるデータが安定しないという問題があった。本開示の数値制御装置は、同じ経路の指令を出力するため、機械の調整に用いるデータが安定する。
  100 数値制御装置
  11  加工プログラム記憶部
  12  加工プログラム解析部
  13  ブロックバッファ
  14  指令速度補正部
  15  補間前加減速処理部
  16  加速度補正部
  17  補間処理部
  111 CPU
  112 ROM
  113 RAM
  114 不揮発性メモリ

Claims (8)

  1.  加工プログラムに基づき工具とワークの相対速度を制御する数値制御装置であって、
     前記加工プログラムに含まれる移動指令である第1のブロックと次の移動指令である第2のブロックを解析し、
     前記第1のブロックと第2のブロックとの間にコーナ部が存在する場合、前記コーナ部を通過する際のコーナ部許容速度を算出し、
     前記第1のブロックの始点と終点の距離であるブロック指令移動量を算出し、
     前記第1のブロックの始点における補間前速度と、前記コーナ部許容速度と、前記第1のブロックのブロック指令移動量とを基に、前記第1のブロックの始点における前記補間前速度を前記加工プログラムの指令速度まで加速する加速部と、前記加工プログラムの指令速度を維持する定速部と、前記加工プログラムの指令速度から前記第2のブロックとのコーナ部許容速度まで減速する減速部における移動量を算出し、
     前記加速部と、前記定速部と、前記減速部の移動量と、前記ブロック指令移動量とから、前記第1のブロックの残移動量を求める、加工プログラム解析部を備え、
     前記加速部の補間前加速度、前記定速部の指令速度、前記減速部の補間前加速度の少なくとも1つを補正して、前記加速部の移動量、前記定速部の移動量、前記減速部の移動量を調整し、前記加速部の移動量と、前記定速部の移動量と、前記減速部の移動量との和を前記ブロック指令移動量に近づける、数値制御装置。
  2.  さらに、前記定速部の指令速度を補正する補間前速度補正部を備え
     前記補間前速度補正部は、前記定速部の指令速度の補正量があらかじめ設定した閾値を超える場合、前記定速部の補間処理の回数を増加して前記定速部の指令速度の補正量を調整する、請求項1記載の数値制御装置。
  3. [規則91に基づく訂正 10.03.2023]
     さらに、前記加速部の補間前加速度を補正する補間前加速度補正部を備え、
     前記補間前加速度補正部は、前記加速部の補間前加速度の補正量があらかじめ設定した閾値を超える場合、前記加速部の補間処理の回数を増減して前記補間前加速度を調整する、請求項1記載の数値制御装置。
  4. [規則91に基づく訂正 10.03.2023]
     さらに、前記減速部の補間前加速度を補正する補間前加速度補正部を備え、
     前記補間前加速度補正部は、前記減速部の補間前加速度の補正量があらかじめ設定した閾値を超える場合、前記加速部の補間処理の回数を増減して前記補間前加速度を調整する、請求項1記載の数値制御装置。
  5.  1つ又は複数のプロセッサが実行することにより、
     加工プログラムに含まれる移動指令である第1のブロックと次の移動指令である第2のブロックを解析し、
     前記第1のブロックと第2のブロックとの間にコーナ部が存在する場合、前記コーナ部を通過する際のコーナ部許容速度を算出し、
     前記第1のブロックの始点と終点の距離であるブロック指令移動量を算出し、
     前記第1のブロックの始点における補間前速度と、前記コーナ部許容速度と、前記第1のブロックのブロック指令移動量とを基に、前記第1のブロックの始点における補間前速度を前記加工プログラムの指令速度まで加速する加速部と、前記加工プログラムの指令速度を維持する定速部と、前記加工プログラムの指令速度から前記第2のブロックとのコーナ部許容速度まで減速する減速部とにおける移動量を算出し、
     前記加速部と、前記定速部と、前記減速部の移動量と、前記ブロック指令移動量とから、前記第1のブロックの残移動量を求め、
     前記加速部の補間前加速度、前記定速部の指令速度、前記減速部の補間前加速度の少なくとも1つを補正して、前記加速部の移動量、前記定速部の移動量、前記減速部の移動量を調整し、前記加速部の移動量と、前記定速部の移動量と、前記減速部の移動量との和を前記ブロック指令移動量に近づける、
     コンピュータが読み取り可能な命令を記憶する記憶媒体。
  6.  前記定速部の指令速度の補正量が閾値を超える場合、前記定速部のパルスの補間処理の回数を増加して前記定速部の指令速度の補正量を調整する、コンピュータが読み取り可能な命令を記憶する請求項5記載の記憶媒体。
  7.  前記加速部の補間前加速度の補正量が閾値を超える場合、前記加速部の補間処理の回数を増減して前記補間前加速度を補正する、コンピュータが読み取り可能な命令を記憶する請求項5記載の記憶媒体。
  8.  前記減速部の補間前加速度の補正量が閾値を超える場合、前記減速部の補間処理の回数を増減して前記補間前加速度を補正する、コンピュータが読み取り可能な命令を記憶する請求項5記載の記憶媒体。
PCT/JP2022/001434 2021-01-20 2022-01-17 数値制御装置 WO2022158428A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022576676A JPWO2022158428A1 (ja) 2021-01-20 2022-01-17
CN202280009772.4A CN116710862A (zh) 2021-01-20 2022-01-17 数值控制装置
DE112022000265.4T DE112022000265T5 (de) 2021-01-20 2022-01-17 Numerische Steuerung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-007425 2021-01-20
JP2021007425 2021-01-20

Publications (2)

Publication Number Publication Date
WO2022158428A1 WO2022158428A1 (ja) 2022-07-28
WO2022158428A9 true WO2022158428A9 (ja) 2023-06-15

Family

ID=82549381

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/001434 WO2022158428A1 (ja) 2021-01-20 2022-01-17 数値制御装置

Country Status (4)

Country Link
JP (1) JPWO2022158428A1 (ja)
CN (1) CN116710862A (ja)
DE (1) DE112022000265T5 (ja)
WO (1) WO2022158428A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024042618A1 (ja) * 2022-08-23 2024-02-29 ファナック株式会社 制御装置及びコンピュータ読み取り可能な記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2880170B2 (ja) 1988-07-30 1999-04-05 ファナック株式会社 ブロックオーバラップ方法
JPH02137006A (ja) * 1988-11-18 1990-05-25 Mitsubishi Electric Corp 速度制御装置
JPH02195409A (ja) * 1989-01-25 1990-08-02 Fanuc Ltd 数値制御装置の送り速度制御方法
JP3341305B2 (ja) * 1992-06-30 2002-11-05 ソニー株式会社 加減速パターン生成装置及び加減速パターン生成方法、並びにこれに用いる逆運動学問題の解法と時間軸補正方法
JPH06187028A (ja) * 1992-12-18 1994-07-08 Toyoda Mach Works Ltd 軌跡制御装置
JP4568343B2 (ja) * 2008-04-03 2010-10-27 ファナック株式会社 機械可動部の加減速制御方法

Also Published As

Publication number Publication date
JPWO2022158428A1 (ja) 2022-07-28
WO2022158428A1 (ja) 2022-07-28
CN116710862A (zh) 2023-09-05
DE112022000265T5 (de) 2023-09-07

Similar Documents

Publication Publication Date Title
JP5566469B2 (ja) 数値制御方法
JP5111589B2 (ja) 送り軸反転時の補正方法
WO2011077791A1 (ja) 制御パラメータ調整方法及び調整装置
JP5506945B2 (ja) 工作機械の数値制御方法及び数値制御装置
JP5059914B2 (ja) 工作機械の減速要因判別手段を備えた工具軌跡表示装置
JP4813616B1 (ja) 円弧動作時の速度制御機能を有する工作機械の数値制御装置
US5477117A (en) Motion controller and synchronous control process therefor
JPS61157909A (ja) ロボツトの経路誤差補正方式
JP2020071734A (ja) 数値制御装置
WO2022158428A9 (ja) 数値制御装置
JP2001125613A (ja) 数値制御シミュレーション装置
JPH0628006A (ja) 2自由度制御装置及び電動機のサーボ制御装置
JP4796936B2 (ja) 加工制御装置
JP3135738B2 (ja) 数値制御装置
JPWO2022158428A5 (ja)
US10261500B2 (en) Numerical controller controlling machining tool based on skiving instruction
JP2000094371A (ja) ロボットの最短時間制御装置
US20190217469A1 (en) Robot controller
JPH07110714A (ja) 複数モータによる位置、速度、トルク制御方法
JPH0752365B2 (ja) 数値制御装置
JPH07210225A (ja) 数値制御装置
JP2012137990A (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
JP4982170B2 (ja) 加工制御装置および加工制御プログラム
JP2001154719A (ja) 自由曲線補間方法
JP7487468B2 (ja) 数値制御装置、数値制御方法、及び記憶媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22742550

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022576676

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18269345

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280009772.4

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112022000265

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22742550

Country of ref document: EP

Kind code of ref document: A1