WO2016024338A1 - Numerical control device - Google Patents

Numerical control device Download PDF

Info

Publication number
WO2016024338A1
WO2016024338A1 PCT/JP2014/071328 JP2014071328W WO2016024338A1 WO 2016024338 A1 WO2016024338 A1 WO 2016024338A1 JP 2014071328 W JP2014071328 W JP 2014071328W WO 2016024338 A1 WO2016024338 A1 WO 2016024338A1
Authority
WO
WIPO (PCT)
Prior art keywords
speed
path
acceleration
movement
curve
Prior art date
Application number
PCT/JP2014/071328
Other languages
French (fr)
Japanese (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 CN201480081114.1A priority Critical patent/CN106662860B/en
Priority to JP2016542470A priority patent/JP6410826B2/en
Priority to PCT/JP2014/071328 priority patent/WO2016024338A1/en
Publication of WO2016024338A1 publication Critical patent/WO2016024338A1/en

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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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

Definitions

  • the present invention relates to a numerical controller capable of smoothing a moving path during acceleration / deceleration control before interpolation.
  • machining is performed while moving the movable part by controlling each drive shaft so as to move to the position commanded by the machining program.
  • the numerical control apparatus there is acceleration / deceleration before interpolation as a technique for accurately moving a moving path described in a machining program at a commanded speed.
  • the pre-interpolation acceleration / deceleration is a technique in which, after generating an acceleration / deceleration waveform in the direction along the movement path, that is, a tangential direction, interpolation is performed while associating the generated acceleration / deceleration waveform with the movement path.
  • Patent Document 1 when an allowable route error with respect to the movement route is designated, a route error that is a difference between the movement route described in the machining program and the movement route after smoothing is designated.
  • a technique is disclosed in which a path is smoothed by inserting a clothoid curve at a corner within a range that is equal to or less than the allowable path error.
  • the velocity on the clothoid curve that does not exceed the allowable acceleration is calculated based on the clothoid curve formula, and the velocity at the connecting portion between the path before the clothoid curve is inserted and the clothoid curve is continuously calculated. Techniques for changing are disclosed. As a result, the acceleration / deceleration performed for each corner becomes unnecessary, and the travel time can be shortened.
  • Patent Document 1 it is described that the acceleration generated by inserting a clothoid curve can be made not to exceed the allowable acceleration range, but only when the allowable path error is a large value. If the allowable path error is small, an excessive speed change occurs. That is, there is a problem that if the path is smoothed within a given tolerance, the acceleration becomes excessive. In addition, in order to make it below the allowable acceleration when passing on the clothoid curve, it is necessary to adjust the allowable path error, which makes it difficult to manage the path error.
  • the present invention has been made in view of the above, and when smoothing the connection portion of each movement command, in addition to the smoothness of the movement path, before and after the start and end points of the insertion curve at the connection portion of each movement command
  • An object of the present invention is to obtain a numerical control device capable of smoothing a speed change.
  • the present invention provides a numerical value of a machine tool that controls the positional relationship between a work on the table and the tool by moving the table or tool by a plurality of translation axes.
  • a control device based on a machining program including a plurality of command blocks, an analysis processing unit that outputs a movement path and a feed speed on the movement path, a preset allowable acceleration, allowable jerk, and the feed speed
  • a speed waveform calculation unit for calculating a speed waveform between the stop state and the feed speed state, and at a joint of the command block based on a preset allowable path error, the movement path, and the speed waveform.
  • a corner curve calculation unit that calculates a curve equation of a corner curve obtained by smoothing the movement route, and based on the movement route and the curve equation Characterized in that it and a movement command generating unit for outputting a movement command to the translation axis.
  • the numerical control device of the present invention when smoothing the connection part of each movement command, in addition to the smoothness of the movement path, the speed change before and after the start and end points of the insertion curve at the connection part of each movement command is also obtained. There is an effect that it can be made smooth.
  • the block diagram which shows the structure of the numerical control apparatus concerning embodiment of this invention The figure which shows the time change of the acceleration concerning embodiment of this invention.
  • the flowchart which shows the process of the corner curve calculation part concerning embodiment of this invention The figure which shows the corner curve path
  • FIG. 1 is a block diagram showing a configuration of a numerical control apparatus 1 according to the first embodiment of the present invention.
  • the numerical control device 1 is a device that performs numerical control (NC: Numerical Control) on a machine tool (not shown).
  • NC numerical Control
  • the numerical control device 1 includes an analysis processing unit 21, a movement command generation unit 22, a speed waveform calculation unit 23, a corner curve calculation unit 24, and a database holding unit 25.
  • the machine tool on which the numerical control device 1 is mounted is a table or a movable part on which a workpiece can be mounted by controlling each translational axis so as to move to a position commanded by the machining program 2, that is, the NC machining program. By moving the tool, the processing of the workpiece is performed by controlling the positional relationship between the workpiece on the table and the tool.
  • the numerical control apparatus 1 performs machining on a workpiece by appropriately controlling each of a plurality of translation axes (not shown), that is, the X axis, the Y axis, and the Z axis so that the tool position becomes a desired tool position.
  • the movement command generator 22 of the numerical controller 1 outputs a movement command 220 to the servo amplifier 4.
  • the servo amplifier 4 has an X-axis amplifier 4X, a Y-axis amplifier 4Y, and a Z-axis amplifier 4Z corresponding to the X, Y, and Z axes, respectively, and the movement command 220 is an X-axis amplifier 4X, a Y-axis amplifier 4Y.
  • the X-axis amplifier 4X, the Y-axis amplifier 4Y, and the Z-axis amplifier 4Z output and drive voltage commands to an X-axis servo motor, a Y-axis servo motor, and a Z-axis servo motor (not shown), respectively.
  • the machining program 2 in FIG. 1 is an NC machining program described using a command code called a G code, and is described using a command code such as a positioning command “G00” and a cutting command “G01” as a movement command. NC machining program.
  • the feed speed 200 in the case of a cutting command is described in the machining program 2 and is described using an F address.
  • each movement command described in the machining program 2 is expressed as a command block. Normally, each line of the machining program 2 corresponds to one command block, and the machining program 2 includes a plurality of command blocks.
  • the database holding unit 25 holds, as a database, an allowable acceleration 5 that is an allowable value of acceleration, an allowable jerk 6 that is an allowable value of a differential value of acceleration, and an allowable path error 7.
  • the allowable acceleration 5 and the allowable jerk 6 are values set according to the capabilities of the drive shafts attached to the machine, and are values set in advance as a database.
  • the allowable acceleration 5 must be set, but the allowable jerk 6 may not be set, and the allowable jerk 6 is set to be set to zero. You may consider it not.
  • the allowable acceleration 5 and the allowable jerk 6 may be expressed by a combination of speed and a plurality of moving average filter time constants, and the allowable acceleration 5 is a value obtained by dividing the maximum speed by the first moving average filter time constant.
  • the allowable jerk 6 may be calculated by further dividing the value obtained by dividing the maximum speed by the first moving average filter time constant by the second moving average filter time constant.
  • the first moving average filter time constant is a linear acceleration / deceleration time constant
  • the second moving average filter time constant is an S-shaped acceleration / deceleration time constant, that is, a soft acceleration / deceleration filter time constant.
  • a mode in which the allowable acceleration 5 and the allowable jerk 6 common to all axes are calculated from the allowable acceleration and allowable jerk of each axis and used as an allowable value at the time of acceleration / deceleration may be used.
  • the tolerance path error 7 which is tolerance is a tolerance value of a path error between a movement path described in the machining program 2 and a movement command 220 which is an output of the numerical controller 1 described later, and is a database in the numerical controller 1 in advance. This is the distance stored in the holding unit 25.
  • the allowable path error 7 may be instructed by the machining program 2 and may be changed in the middle of the machining program 2.
  • the numerical control device 1 analyzes the machining program 2 and controls, for example, a machine tool (not shown) via the servo amplifier 4 in accordance with the analysis result to determine the relative tool position with respect to the workpiece placed on the table. Machining the workpiece while controlling.
  • the analysis processing unit 21 reads the machining program 2 one command block at a time, analyzes the operation command described in the read command block, generates the movement data 210 for each command block, the movement command generation unit 22, the velocity waveform calculation To the unit 23 and the corner curve calculation unit 24. Based on the machining program 2, the analysis processing unit 21 obtains the feed speed 200 on the movement path included in the movement data 210.
  • the movement data 210 is data obtained as a result of interpreting the command of each command block, and includes a movement path described in the machining program 2, a movement position of each translation axis for each command block, a movement distance of each drive axis, This is information necessary for determining an interpolation point for each axis, such as the axis ratio, the moving speed, the interpolation mode, the angle formed by the front and rear command paths, that is, the amount of change in the axis ratio.
  • the movement position of each translation axis is, for example, the start point position and end point position of the command block
  • the interpolation mode is, for example, straight line, circular arc, or non-interpolation.
  • the movement command generation unit 22 outputs a movement command 220 to each translation axis along the movement path described in the machining program 2 to the servo amplifier 4 based on the movement data 210 and the corner curve equation 240.
  • the movement command generator 22 first calculates the post-acceleration / deceleration speed in the direction along the route based on the information such as the movement amount and the axial ratio, and then describes it in the machining program 2 according to the post-acceleration / deceleration speed.
  • the movement command 220 is output by interpolating on the route.
  • the post-acceleration / deceleration speed is a temporal change in speed smoothed so as to satisfy the limits of the allowable acceleration 5 and the allowable jerk 6.
  • the movement command generation unit 22 When the movement command generation unit 22 interpolates a route defined by a corner curve equation 240 that is an output of a corner curve calculation unit 24 described later, the movement command generation unit 22 generates a movement command 220 that passes the route defined by the corner curve equation 240. When outputting and interpolating a route in which the corner curve formula 240 is not defined, a movement command 220 that passes the movement route described in the machining program 2 is output.
  • the post-acceleration / deceleration speed generated by the movement command generation unit 22 is calculated using a process similar to that of the conventional known technology, and is calculated within a range not exceeding the allowable acceleration 5 and the allowable jerk 6. It may be obtained by filtering such as a moving average filter.
  • the acceleration / deceleration speed may be determined based on the amount of change in the axial ratio between adjacent command blocks, or may be determined based on the angle between adjacent command blocks. It may be what performs.
  • the speed waveform calculation unit 23 is described in the machining program 2 from the state of the feed speed 0 which is a stop state based on the preset allowable acceleration 5 and allowable jerk 6 and the feed speed 200 described in the machining program 2.
  • the speed equation 230 indicating the speed waveform until the feed speed F is reached is calculated.
  • the velocity equation 230 calculated by the velocity waveform calculator 23 is output to the corner curve calculator 24.
  • the speed waveform calculation unit 23 calculates the speed equation 230 from the feed speed 0 to the feed speed F by the same calculation method as the calculation method of the post-acceleration / deceleration speed of the movement command generation unit 22.
  • the obtained velocity waveform is a velocity waveform that accelerates or decelerates at a constant acceleration
  • the number after “ ⁇ ” indicates an exponent, and the expression (2) expresses the square of t.
  • the same notation is used.
  • the speed equation V2 (t) differs depending on the relationship between the allowable acceleration A, the allowable jerk J, and the feed speed F.
  • the speed equation includes a state in which the acceleration matches the allowable acceleration A, and the acceleration changes as shown in FIG.
  • V2 (t) J / 2 ⁇ t ⁇ 2 (when 0 ⁇ t ⁇ T2)
  • V2 (t) J ⁇ T2 ⁇ t ⁇ J / 2 ⁇ (T2) ⁇ 2 (when T2 ⁇ t ⁇ T1)
  • V2 (t) F ⁇ J / 2 ⁇ (T1 + T2-t) ⁇ 2 (when T1 ⁇ t) (5)
  • T1 F / J ⁇ A ⁇ 2
  • the acceleration change may not include a state in which the acceleration matches the allowable acceleration A, and the acceleration change As shown in FIG. 3, it may be triangular.
  • V2 (t) F ⁇ J / 2 ⁇ (2 ⁇ T3-t) ⁇ 2 (when T3 ⁇ t) (7)
  • T3 ⁇ t
  • V2 (t) J / 2 ⁇ t ⁇ 2 (when 0 ⁇ t ⁇ T1) (8)
  • V2 (t) J ⁇ T1 ⁇ t ⁇ J / 2 ⁇ (T1) ⁇ 2 (when T1 ⁇ t ⁇ T2) (9)
  • V2 (t) F ⁇ J / 2 ⁇ (T1 + T2 ⁇ t) ⁇ 2 (when T2 ⁇ t) (10)
  • the movement distance X2 (t) at time t can be calculated by integrating V2 (t).
  • An example of derivation of the velocity equation for the case of the acceleration waveform when taking into account is shown. However, it may be a velocity waveform that changes more smoothly than the example of the velocity equation obtained above. In this case, an allowable value may be set for the amount of change in jerk over time, and a velocity waveform may be generated. Therefore, the velocity waveform obtained by the velocity waveform calculation unit 23 is not limited to the above-described example.
  • the corner curve calculation unit 24 based on the velocity equation 230 indicating the velocity waveform, the movement data 210, and the allowable route error 7, shows a corner curve equation indicating a smoothed route that is a route obtained by smoothing the moving route at the joint of the command block. 240 is calculated, and the corner curve equation 240 is output to the movement command generator 22.
  • a route obtained by smoothing the movement route is a corner curve, and a curve equation of the corner curve is a corner curve equation 240.
  • FIG. 5 is a flowchart showing the processing of the corner curve calculation unit 24, and the corner curve formula 240 is calculated in the following procedure.
  • step S110 the joint of the command block that curves the movement route is determined. More specifically, based on the movement data 210, the command block seam that exhibits vibrational behavior, that is, the change in the direction of the movement path is discontinuous or the movement path curvature is discontinuous. Extract command block seams that may cause vibrational behavior in machine operation. Here, whether or not the behavior is oscillating may be determined based on an angle formed by adjacent command blocks, or may be determined based on an axial ratio change amount. In addition, regardless of changes in the path, the movement path of all command block seams may be smoothed, and the command block seams to be smoothed are taken into account in consideration of the processing load when generating the smoothed path. You may make it restrict
  • step S111 the movement path before and after the joint of the command block selected in step S110 is expressed by a mathematical expression.
  • P1 (s) and P2 (s) are expressed as position vectors having the positions of all the drive shafts as elements, and are mathematical expressions indicating positions according to s.
  • step S112 the path equation calculated in step S111 and the velocity waveform calculation unit 23 are respectively calculated for the path after the joint of the command block determined in step S110 and the path before the joint of the command block.
  • the speed equation 230 calculated in step 1 is associated.
  • step S113 the relationship between t1 and t2 is calculated based on the TOL that is the allowable path error 7 and the mathematical expressions indicating the previous path P1 (s) and the subsequent path P2 (s), and the corner curve formula at time t is calculated.
  • 240 is derived.
  • FIG. 6 shows a path generation method that matches the allowable path error TOL when moving the Y axis after moving the X axis.
  • FIG. 7 shows the time change of the velocity of the X axis and the Y axis in the path of FIG.
  • ⁇ sa X1 (2 ⁇ ⁇ t) (15)
  • the corner curve formula Q (t) is calculated by the following formula.
  • Q (t) P1 ( ⁇ X1 ( ⁇ t + ⁇ t)) + P2 (X1 (t + ⁇ t)) ⁇ P2 (0) (16)
  • Q ( ⁇ t) P1 ( ⁇ sa) (17)
  • Q ( ⁇ t) P2 ( ⁇ sa) (18) It becomes.
  • FIG. 8 is a block diagram showing the configuration of the movement command generation unit in the first embodiment.
  • the movement command generation unit 22 includes a corner curve insertion unit 22A, a corner curve speed calculation unit 22B, an acceleration / deceleration processing unit 22C, and an interpolation processing unit 22D.
  • the corner curve insertion unit 22A inserts the corner curve formula 240 obtained by the corner curve calculation unit 24 into the movement path included in the movement data 210, and performs processing to replace a rapidly changing path with a smooth path. Specifically, the corner curve starts at a position before the joint block of the command block by ⁇ sa along the path, and the position advanced along the path by ⁇ sa from the joint of the command block. A process is performed in which a point between the start point and the end point of the corner curve is replaced with a route having a corner curve formula Q (t) as an end point.
  • the corner curve speed calculation unit 22B calculates the moving speed that passes on the corner curve according to the corner curve formula 240.
  • the moving speed passing on the corner curve is calculated by differentiating the corner curve formula Q (t) with time.
  • the acceleration / deceleration processing unit 22C follows the movement path so as to satisfy the limits of the allowable acceleration 5 and the allowable jerk 6 based on information such as a movement amount and an axial ratio along the movement path in which the corner curve is inserted. Calculate the speed after acceleration / deceleration in the direction.
  • the interpolation processing unit 22D performs interpolation on the moving path including the corner curve on the basis of the moving speed passing through the corner curve obtained by the corner curve speed calculating unit 22B and the speed after acceleration / deceleration, and sends the movement command 220 to the servo amplifier. 4 is output. Specifically, the interpolation processing unit 22D interpolates the travel path using the travel speed obtained by the corner curve speed calculation unit 22B on the corner curve, and uses the post-acceleration / deceleration speed other than the corner curve. Is interpolated.
  • machining program 2 is described as follows.
  • machining program 100 indicates the machining program number by the number following the “O address”, and indicates the machining program number 100.
  • the machining program 2 will be referred to as machining program 100.
  • the allowable acceleration 5 is 1 m / s ⁇ 2
  • the allowable jerk 6 is 100 m / s ⁇ 3
  • the allowable path error 7 TOL is 0.1 mm
  • the F indicating the feed rate 200 is 3000 mm / min.
  • the derivation of P1 (s), P2 (s), and ⁇ s can be calculated using Equation (19), Equation (20), and Equation (21).
  • Equation (22 ) Is different from).
  • a time ⁇ t that coincides with ⁇ s is calculated using X2 (t) obtained by integrating the velocity equation V2 (t) of any one of Equations (3) to (10).
  • X2 (t) J / 6 ⁇ t ⁇ 3 (25)
  • T2 ⁇ t ⁇ T1 X2 (t) is expressed by the following mathematical formula.
  • X2 (t) J * T2 / 6 * ⁇ 3 * t ⁇ 2-3 * T2 * t + T2 ⁇ 2 ⁇ (26)
  • T1 ⁇ t X2 (t) is expressed by the following mathematical formula.
  • X2 (t) J / 6 ⁇ ⁇ t ⁇ 3 + 3 (T1 + T2) t ⁇ 2 ⁇ 3t (T1 ⁇ 2 + T2 ⁇ 2) + (T1 ⁇ 3 + T2 ⁇ 3) ⁇
  • a corner curve formula Q (t) is derived.
  • X2 (t) is a curved line expression expressed by a piecewise different expression because the expression changes with time.
  • FIG. 9 The corner curve path when the above curve curve formula Q (t) is used is FIG. 9, and the velocity waveforms of the X axis and the Y axis in FIG. 9 are FIG.
  • a smoothing path that satisfies the allowable path error 7 is generated according to the speed equation 230 calculated by the speed waveform calculation unit 23, and the smoothing path is then generated. It is possible to move the doorway without causing distortion of the velocity waveform. That is, the path can be smoothed without distorting the velocity waveform at the entrance / exit of the smoothing path. Accordingly, it is possible to avoid the acceleration / deceleration waveform having a plurality of steps, and thus it is possible to shorten the movement time.
  • Embodiment 2 the numerical controller 1 according to the second embodiment will be described.
  • the configuration of the numerical control apparatus 1 according to the second embodiment is the same as that shown in FIG. Below, it demonstrates focusing on a different part from Embodiment 1.
  • FIG. 1 the configuration of the numerical control apparatus 1 according to the second embodiment is the same as that shown in FIG. Below, it demonstrates focusing on a different part from Embodiment 1.
  • the movement command generation unit 22 uses a method of smoothing each axis speed by replacing the movement path described in the machining program 2 with a path including a corner curve. It was.
  • the movement command generation unit 22 of the numerical control device 1 according to the second embodiment is different in configuration from the movement command generation unit 22 of the first embodiment.
  • a method of smoothing each axis velocity waveform by providing a plurality of components that execute interpolation processing is used.
  • FIG. 11 is a block diagram showing a configuration of the movement command generation unit 22 according to Embodiment 2 of the present invention.
  • the movement command generation unit 22 includes an acceleration / deceleration processing unit 22C, a speed distribution unit 22E, a first interpolation processing unit 221F, a second interpolation processing unit 222F, and an addition unit 22G. That is, the movement command generation unit 22 has a plurality of interpolation processing units.
  • the acceleration / deceleration processing unit 22C performs the same processing as the acceleration / deceleration processing unit 22C of FIG. 8 described in the first embodiment, and uses a known technique to determine the movement amount, the axial ratio, and the like along the movement path. Based on the information, the post-acceleration / deceleration speed in the direction along the movement path is calculated so as to satisfy the limits of the allowable acceleration 5 and the allowable jerk 6.
  • the speed distribution unit 22E distributes the moving speed on the corner curve to the first interpolation processing unit 221F and the second interpolation processing unit 222F based on the post-acceleration / deceleration speed and the corner curve formula 240. Distributing the moving speed is the same as distributing the moving amount in terms of the interpolation period.
  • the speed distribution unit 22E converts the movement speed into the first interpolation processing unit 221F and the second interpolation so that different interpolation processing units process a path before the joint of the command block and a path after the joint of the command block. A process of distributing to the processing unit 222F is executed.
  • the operations of the first interpolation processing unit 221F and the second interpolation processing unit 222F are the same as those of the interpolation processing unit 22D of the first embodiment, except that the moving speed distributed by the speed distribution unit 22E is used. Execute. However, as will be described below, the first interpolation processing unit 221F and the second interpolation processing unit 222F execute interpolation processing of different paths on the corner curve and the movement path in parallel.
  • the moving speed is such that the interpolation of the path after the joint of the command block is performed by the second interpolation processing unit 222F. Execute the process of distributing.
  • the first interpolation processing unit 221F moves so that the path after the command block seam is interpolated Execute processing to distribute speed.
  • the speed distribution unit 22E when the speed distribution unit 22E interpolates the route in which the corner curve formula 240 is defined, the speed distribution unit 22E distributes the moving speed so that the first interpolation processing unit 221F and the second interpolation processing unit 222F perform the interpolation processing at the same time. I do.
  • the speed distribution unit 22E when the speed distribution unit 22E interpolates on a route where the corner curve formula 240 is not defined, among the interpolation processes of the first interpolation processing unit 221F or the second interpolation processing unit 222F, The moving speed is distributed so that only one process is performed.
  • the first interpolation processing unit 221F performs interpolation processing on the path before the command block joint
  • Interpolation processing when the second interpolation processing unit 222F performs interpolation processing on the path after the command block joint will be described with reference to the flowchart shown in FIG.
  • step S210 the speed distribution unit 22E determines whether or not the movement route to be interpolated in the current interpolation cycle includes a route in which the corner curve equation 240 is defined, and the subsequent processing branches.
  • the process proceeds to step S220, and the movement path to be interpolated is a path in which the corner curve formula 240 is defined.
  • step S210: No it transfers to step S250.
  • the movement distance ⁇ s10 from the time ⁇ t to the time t on the movement path P1 before the joint of the command block is the distance ⁇ X1 (2 ⁇ ⁇ t) along the path at the time ⁇ t and the time It is calculated as the difference of the distance ⁇ X1 ( ⁇ t + ⁇ t) along the route at t, and is expressed by the following equation (30).
  • ⁇ s10 ⁇ X1 ( ⁇ t + ⁇ t) + X1 (2 ⁇ ⁇ t)
  • step S230 the speed distribution unit 22E uses the speed equation 230 to calculate the movement distance s1 on the movement path P1 at time ⁇ t + ⁇ t and the movement distance s2 on the movement path P2 at time t + ⁇ t from the time t calculated in step S220. calculate.
  • step S240 the first interpolation processing unit 221F calculates the difference between s1 in the previous interpolation cycle and s1 in the current interpolation cycle, and obtains and outputs the difference as the current moving distance on the route P1.
  • the second interpolation processing unit 222F calculates the difference between s2 in the previous interpolation cycle and s2 in the current interpolation cycle, and calculates and outputs the difference as the current moving distance on the path P2.
  • the first interpolation processing unit 221F and the second interpolation processing unit 222F execute the interpolation processing in step S240 in parallel.
  • Step S250 is a process for interpolating a route for which the corner curve equation 240 is not defined.
  • the speed distribution unit 22E sends all movement speeds to the first interpolation processing unit 221F.
  • the first interpolation processing unit 221F calculates the distance between the interpolation point and the end point of the movement path P1.
  • the second interpolation processing unit 222F performs a process of setting s2 to zero.
  • the speed distribution unit 22E sets the distribution amount of the movement speed to the first interpolation processing unit 221F to be zero, and distributes all the movement speeds to the second interpolation processing unit 222F.
  • the first interpolation processing unit 221F sets s1 to zero, and the second interpolation processing unit 222F performs processing to set the distance between the starting point of the movement path P2 and the interpolation point as s2.
  • the first interpolation processing unit 221F and the second interpolation processing unit 222F execute the interpolation processing in step S250 in parallel.
  • the first interpolation processing unit 221F and the second interpolation processing unit 222F use the speed distributed by the speed distribution unit 22E as an input, perform the interpolation of the movement paths P1 and P2, and add the movement amount as a result of the interpolation by the addition unit 22G. Addition and output to the servo amplifier 4 as a movement command 220.
  • the first interpolation processing unit 221F performs the process of interpolating on the route P1
  • the second interpolation processing unit 222F performs the process of interpolating on the route P2. That is, interpolation on each path is executed according to the speed distributed by the speed distribution unit 22E.
  • connection portion of each movement command described in the machining program 2 is smoothed, and the movement path described in the machining program 2 is smoothed.
  • the speed at the connection part of the path can be smoothed, and the dead time in acceleration / deceleration can be reduced. Furthermore, an unprecedented remarkable effect is obtained such that it is possible to reduce the vibration of the machine tool caused by the distortion of the velocity waveform.
  • the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage.
  • the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent requirements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and is described in the column of the effect of the invention. When an effect is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.
  • the constituent elements over different embodiments may be appropriately combined.
  • 1 numerical control device 2 machining program, 4 servo amplifier, 4X X axis amplifier, 4Y Y axis amplifier, 4Z Z axis amplifier, 5 allowable acceleration, 6 allowable jerk, 7 allowable path error, 21 analysis processing unit, 22 movement command Generation unit, 22A corner curve insertion unit, 22B corner curve speed calculation unit, 22C acceleration / deceleration processing unit, 22D interpolation processing unit, 22E speed distribution unit, 22G addition unit, 23 speed waveform calculation unit, 24 corner curve calculation unit, 25 database Holding section, 200 feed speed, 210 movement data, 220 movement command, 230 speed formula, 240 corner curve formula, 221F first interpolation processing section, 222F second interpolation processing section.

Abstract

This numerical control device (1) for a machine tool, which controls the positional relationship between a workpiece on a table and a tool by moving the table or the tool along a plurality of translation axes, is provided with the following: an analysis processing unit (21) that outputs a movement path and a feed speed along said movement path on the basis of a machining program that contains a plurality of command blocks; a speed-waveform calculation unit (23) that calculates a speed waveform between a stationary state and a state corresponding to the aforementioned feed speed on the basis of said feed speed and preset acceleration and jerk limits; a corner-curve calculation unit (24) that calculates curve equations for corner curves obtained by smoothing the abovementioned movement path at the boundaries between the abovementioned command blocks on the basis of a preset path-error limit, the movement path, and the aforementioned speed waveform; and a movement-command generation unit (22) that outputs a movement command for each translation axis on the basis of the movement path and the aforementioned curve equations.

Description

数値制御装置Numerical controller
 本発明は、補間前加減速制御中に移動経路を平滑化可能な数値制御装置に関する。 The present invention relates to a numerical controller capable of smoothing a moving path during acceleration / deceleration control before interpolation.
 数値制御装置が搭載された工作機械では、加工プログラムにて指令された位置に移動するよう、各駆動軸の制御を行うことで可動部を移動させながら加工が行われる。数値制御装置では、加工プログラムに記載された移動経路を指令された速度で精度よく移動させるための技術として補間前加減速がある。補間前加減速は、移動経路に沿った方向、即ち接線方向の加減速波形を生成した後、生成した加減速波形と移動経路を対応させながら補間を行う技術である。一般に、補間前加減速を用いる場合、各移動指令の接続部であるコーナのように急峻に変化する経路において過大な加速度が発生するため、コーナ毎に適切な速度になるまで減速し、コーナ部を通過した後に指令された送り速度にまで加速していたため移動時間が長くなる問題があった。 In a machine tool equipped with a numerical control device, machining is performed while moving the movable part by controlling each drive shaft so as to move to the position commanded by the machining program. In the numerical control apparatus, there is acceleration / deceleration before interpolation as a technique for accurately moving a moving path described in a machining program at a commanded speed. The pre-interpolation acceleration / deceleration is a technique in which, after generating an acceleration / deceleration waveform in the direction along the movement path, that is, a tangential direction, interpolation is performed while associating the generated acceleration / deceleration waveform with the movement path. In general, when acceleration / deceleration before interpolation is used, excessive acceleration occurs in a path that changes sharply like the corner that is the connection part of each movement command, so decelerate until it reaches an appropriate speed for each corner. There was a problem that the moving time was prolonged because the speed was increased to the commanded feed speed after passing through the.
 これに対し、以下に示す特許文献1では、移動経路に対する許容経路誤差が指定された場合に、加工プログラムに記載された移動経路と平滑化後の移動経路の差である経路誤差が、指定された許容経路誤差以下となる範囲で、コーナ部分にクロソイド曲線を挿入することで経路を平滑化する技術が開示されている。この特許文献1では、さらに、クロソイド曲線式に基づいて、許容加速度を超えないクロソイド曲線上の速度を計算し、クロソイド曲線を挿入する前の経路とクロソイド曲線との接続部における速度を連続的に変化させる技術が開示されている。これより、コーナ毎に行っていた加減速が不要となり、移動時間の短縮が可能になるとされている。 On the other hand, in Patent Document 1 shown below, when an allowable route error with respect to the movement route is designated, a route error that is a difference between the movement route described in the machining program and the movement route after smoothing is designated. A technique is disclosed in which a path is smoothed by inserting a clothoid curve at a corner within a range that is equal to or less than the allowable path error. Further, in Patent Document 1, the velocity on the clothoid curve that does not exceed the allowable acceleration is calculated based on the clothoid curve formula, and the velocity at the connecting portion between the path before the clothoid curve is inserted and the clothoid curve is continuously calculated. Techniques for changing are disclosed. As a result, the acceleration / deceleration performed for each corner becomes unnecessary, and the travel time can be shortened.
特開平7-64622号公報JP 7-64622 A
 しかしながら、特許文献1に記載された技術によれば、加工プログラムに記載された移動経路に対する経路誤差が予め定めた値以下になるような移動経路を生成することはできても、発生する加速度が許容加速度の範囲を超えないことを保証することはできない。例えば、許容経路誤差が限りなく0に近い、小さな値である場合、微小な範囲でクロソイド曲線が挿入されることになる。この場合、クロソイド曲線を挿入したとしても、許容経路誤差が0の場合の移動経路、即ち、加工プログラムに記載された経路にほぼ一致する経路となるため、クロソイド曲線上を計算した速度で通過させても急加減速してしまう問題があった。 However, according to the technique described in Patent Document 1, even if it is possible to generate a movement path such that the path error with respect to the movement path described in the machining program is equal to or less than a predetermined value, the generated acceleration is reduced. It cannot be guaranteed that the allowable acceleration range is not exceeded. For example, when the allowable path error is a small value that is as close to 0 as possible, a clothoid curve is inserted in a very small range. In this case, even if a clothoid curve is inserted, the movement path when the allowable path error is 0, that is, a path that substantially matches the path described in the machining program, is passed through the clothoid curve at the calculated speed. But there was a problem of sudden acceleration and deceleration.
 このように、特許文献1においては、クロソイド曲線を挿入することで発生する加速度を許容加速度の範囲を超えないようにできると記載されているが、許容経路誤差が大きな値である場合にしか対応できず、許容経路誤差が小さい場合には過大な速度変化が発生するという問題があった。即ち、与えられたトレランスの範囲内で経路の平滑化を行うと加速度が過大になってしまうという問題があった。また、クロソイド曲線上を通過する際に許容加速度以下にするには、許容経路誤差の調整が必要となるため、経路誤差の管理が難しくなるといった問題があった。 As described above, in Patent Document 1, it is described that the acceleration generated by inserting a clothoid curve can be made not to exceed the allowable acceleration range, but only when the allowable path error is a large value. If the allowable path error is small, an excessive speed change occurs. That is, there is a problem that if the path is smoothed within a given tolerance, the acceleration becomes excessive. In addition, in order to make it below the allowable acceleration when passing on the clothoid curve, it is necessary to adjust the allowable path error, which makes it difficult to manage the path error.
 また、特許文献1に記載の技術の範囲ではないが、特許文献1の技術を改良することで、例えば、クロソイド曲線部の始点に到達するまでの加工プログラムに記載された移動経路上の直線部で予め定めた速度にまで減速を行い、減速後の速度を直線部の指令速度とみなして特許文献1に記載の技術を用いることで、上記問題を解決することも考えられる。 Further, although not within the scope of the technique described in Patent Document 1, by improving the technique of Patent Document 1, for example, a straight line part on the movement path described in the machining program until reaching the starting point of the clothoid curve part. It is conceivable that the above-mentioned problem can be solved by decelerating to a predetermined speed in step (b) and regarding the speed after deceleration as the command speed of the straight line portion and using the technique described in Patent Document 1.
 この場合、直線部での減速方式により得られる速度波形が、クロソイド曲線式により得られる速度波形と異なるため、直線部と曲線部の接続部における速度波形が歪むといった問題があった。これは、特に、加速度が連続になるような加減速波形で動作させる場合には、2段減速波形のように加減速波形が歪んでしまう結果となり、無用に移動時間が長くなる、場合によっては振動を励起してしまう問題となっていた。即ち、平滑化した経路の出入り口での無用な加減速による無駄時間が大きくなるという問題があった。 In this case, since the speed waveform obtained by the deceleration method at the straight line portion is different from the speed waveform obtained by the clothoid curve equation, there is a problem that the speed waveform at the connecting portion between the straight line portion and the curved portion is distorted. This is especially the case when operating with an acceleration / deceleration waveform in which the acceleration is continuous, resulting in the acceleration / deceleration waveform being distorted like the two-stage deceleration waveform, which unnecessarily increases the travel time. It was a problem that excited vibration. That is, there has been a problem that a dead time is increased due to unnecessary acceleration / deceleration at the entrance / exit of the smoothed path.
 本発明は、上記に鑑みてなされたものであって、各移動指令の接続部を平滑化する際に、移動経路の滑らかさに加えて各移動指令の接続部における挿入曲線の始終点前後における速度変化をも滑らかにすることができる数値制御装置を得ることを目的とする。 The present invention has been made in view of the above, and when smoothing the connection portion of each movement command, in addition to the smoothness of the movement path, before and after the start and end points of the insertion curve at the connection portion of each movement command An object of the present invention is to obtain a numerical control device capable of smoothing a speed change.
 上述した課題を解決し、目的を達成するために、本発明は、複数の並進軸によりテーブルまたは工具を移動させることにより前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置において、複数の指令ブロックを含む加工プログラムに基づいて、移動経路および前記移動経路上の送り速度を出力する解析処理部と、予め設定された許容加速度および許容加加速度と前記送り速度に基づいて、停止状態と前記送り速度の状態の間の速度波形を計算する速度波形計算部と、予め設定された許容経路誤差、前記移動経路、および前記速度波形に基づいて、前記指令ブロックの継ぎ目において、前記移動経路を平滑化したコーナ曲線の曲線式を計算するコーナ曲線計算部と、前記移動経路および前記曲線式に基づいて、前記並進軸それぞれへの移動指令を出力する移動指令生成部と、を備えることを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention provides a numerical value of a machine tool that controls the positional relationship between a work on the table and the tool by moving the table or tool by a plurality of translation axes. In the control device, based on a machining program including a plurality of command blocks, an analysis processing unit that outputs a movement path and a feed speed on the movement path, a preset allowable acceleration, allowable jerk, and the feed speed A speed waveform calculation unit for calculating a speed waveform between the stop state and the feed speed state, and at a joint of the command block based on a preset allowable path error, the movement path, and the speed waveform. A corner curve calculation unit that calculates a curve equation of a corner curve obtained by smoothing the movement route, and based on the movement route and the curve equation Characterized in that it and a movement command generating unit for outputting a movement command to the translation axis.
 この発明にかかる数値制御装置によれば、各移動指令の接続部を平滑化する際に、移動経路の滑らかさに加えて各移動指令の接続部における挿入曲線の始終点前後における速度変化をも滑らかにすることができるという効果を奏する。 According to the numerical control device of the present invention, when smoothing the connection part of each movement command, in addition to the smoothness of the movement path, the speed change before and after the start and end points of the insertion curve at the connection part of each movement command is also obtained. There is an effect that it can be made smooth.
本発明の実施の形態にかかる数値制御装置の構成を示すブロック図The block diagram which shows the structure of the numerical control apparatus concerning embodiment of this invention 本発明の実施の形態にかかる加速度の時間変化を示す図The figure which shows the time change of the acceleration concerning embodiment of this invention. 本発明の実施の形態にかかる加速度の時間変化を示す図The figure which shows the time change of the acceleration concerning embodiment of this invention. 本発明の実施の形態にかかる加速度の時間変化を示す図The figure which shows the time change of the acceleration concerning embodiment of this invention. 本発明の実施の形態にかかるコーナ曲線計算部の処理を示すフローチャートThe flowchart which shows the process of the corner curve calculation part concerning embodiment of this invention 本発明の実施の形態にかかるコーナ曲線経路を示す図The figure which shows the corner curve path | route concerning embodiment of this invention. 図6におけるX軸およびY軸の速度波形を示す図The figure which shows the velocity waveform of the X-axis in FIG. 6, and a Y-axis 本発明の実施の形態1における移動指令生成部の構成を示すブロック図The block diagram which shows the structure of the movement command production | generation part in Embodiment 1 of this invention. 本発明の実施の形態にかかるコーナ曲線経路を示す図The figure which shows the corner curve path | route concerning embodiment of this invention. 図9におけるX軸およびY軸の速度波形を示す図The figure which shows the velocity waveform of the X-axis and Y-axis in FIG. 本発明の実施の形態2における移動指令生成部の構成を示すブロック図The block diagram which shows the structure of the movement command production | generation part in Embodiment 2 of this invention. 本発明の実施の形態2における補間処理を説明するフローチャートFlowchart explaining interpolation processing in Embodiment 2 of the present invention
 以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Hereinafter, an embodiment of a numerical control device according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
実施の形態1.
 図1は、本発明の実施の形態1にかかる数値制御装置1の構成を示すブロック図である。数値制御装置1は、図示しない工作機械に対して数値制御(NC:Numerical Control)を実行する装置である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a numerical control apparatus 1 according to the first embodiment of the present invention. The numerical control device 1 is a device that performs numerical control (NC: Numerical Control) on a machine tool (not shown).
 数値制御装置1は、解析処理部21、移動指令生成部22、速度波形計算部23、コーナ曲線計算部24、およびデータベース保持部25を有する。数値制御装置1が搭載された工作機械は、加工プログラム2、即ちNC加工プログラムにより指令された位置に移動するよう、各並進軸の制御を行うことでワークを搭載可能な可動部であるテーブルまたは工具を移動させることにより、テーブル上のワークと工具との位置関係を制御することによりワークに対する加工を実行する。 The numerical control device 1 includes an analysis processing unit 21, a movement command generation unit 22, a speed waveform calculation unit 23, a corner curve calculation unit 24, and a database holding unit 25. The machine tool on which the numerical control device 1 is mounted is a table or a movable part on which a workpiece can be mounted by controlling each translational axis so as to move to a position commanded by the machining program 2, that is, the NC machining program. By moving the tool, the processing of the workpiece is performed by controlling the positional relationship between the workpiece on the table and the tool.
 数値制御装置1は、工具の位置を所望の工具位置となるように、図示しない複数の並進軸であるX軸、Y軸、およびZ軸のそれぞれを適切に制御することで、ワークに対する加工を実現している。具体的には、数値制御装置1の移動指令生成部22が移動指令220をサーボアンプ4に出力する。サーボアンプ4は、X、Y、およびZ軸にそれぞれ対応するX軸アンプ4X、Y軸アンプ4Y、およびZ軸アンプ4Zを有しており、移動指令220はX軸アンプ4X、Y軸アンプ4Y、およびZ軸アンプ4Zに与えられる。これにより、X軸アンプ4X、Y軸アンプ4Y、およびZ軸アンプ4Zは、それぞれ、図示しないX軸サーボモータ、Y軸サーボモータ、およびZ軸サーボモータに電圧指令を出力し駆動する。 The numerical control apparatus 1 performs machining on a workpiece by appropriately controlling each of a plurality of translation axes (not shown), that is, the X axis, the Y axis, and the Z axis so that the tool position becomes a desired tool position. Realized. Specifically, the movement command generator 22 of the numerical controller 1 outputs a movement command 220 to the servo amplifier 4. The servo amplifier 4 has an X-axis amplifier 4X, a Y-axis amplifier 4Y, and a Z-axis amplifier 4Z corresponding to the X, Y, and Z axes, respectively, and the movement command 220 is an X-axis amplifier 4X, a Y-axis amplifier 4Y. , And the Z-axis amplifier 4Z. Thereby, the X-axis amplifier 4X, the Y-axis amplifier 4Y, and the Z-axis amplifier 4Z output and drive voltage commands to an X-axis servo motor, a Y-axis servo motor, and a Z-axis servo motor (not shown), respectively.
 図1の加工プログラム2は、Gコードと呼ばれる指令コードを用いて記述されたNC加工プログラムであり、移動指令として、位置決め指令「G00」および切削指令「G01」などの指令コードを用いて記述されたNC加工プログラムである。一般に、切削指令の場合の送り速度200は加工プログラム2に記載され、Fアドレスを用いて記述されるものである。なお、以降では、加工プログラム2に記載された移動指令のそれぞれを指令ブロックと表現し、通常、加工プログラム2の1行ずつがそれぞれ1つの指令ブロックに相当し、加工プログラム2は複数の指令ブロックを有する。 The machining program 2 in FIG. 1 is an NC machining program described using a command code called a G code, and is described using a command code such as a positioning command “G00” and a cutting command “G01” as a movement command. NC machining program. In general, the feed speed 200 in the case of a cutting command is described in the machining program 2 and is described using an F address. In the following, each movement command described in the machining program 2 is expressed as a command block. Normally, each line of the machining program 2 corresponds to one command block, and the machining program 2 includes a plurality of command blocks. Have
 データベース保持部25は、加速度の許容値である許容加速度5、加速度の微分値の許容値である許容加加速度6、および許容経路誤差7をデータベースとして保持している。許容加速度5および許容加加速度6は、機械に取りつけられた駆動軸それぞれの能力に応じて設定される値であり、予めデータベースとして設定される値である。なお、許容加速度5は、必ず設定されている必要があるが、許容加加速度6は、設定されていなくてもよく、許容加加速度6をゼロとして設定することを許容加加速度6が設定されていないとみなしてもよい。 The database holding unit 25 holds, as a database, an allowable acceleration 5 that is an allowable value of acceleration, an allowable jerk 6 that is an allowable value of a differential value of acceleration, and an allowable path error 7. The allowable acceleration 5 and the allowable jerk 6 are values set according to the capabilities of the drive shafts attached to the machine, and are values set in advance as a database. The allowable acceleration 5 must be set, but the allowable jerk 6 may not be set, and the allowable jerk 6 is set to be set to zero. You may consider it not.
 なお、許容加速度5、許容加加速度6は、速度と複数の移動平均フィルタ時定数の組み合わせで表現する形態でもよく、許容加速度5を最大速度を第1の移動平均フィルタ時定数で除算した値とし、最大速度を第1の移動平均フィルタ時定数で除算した値をさらに第2の移動平均フィルタ時定数で除算することで、許容加加速度6を計算する形態でもよい。ここで、第1の移動平均フィルタ時定数は直線加減速時定数であり、第2の移動平均フィルタ時定数はS字加減速時定数、即ちソフト加減速フィルタ時定数である。 The allowable acceleration 5 and the allowable jerk 6 may be expressed by a combination of speed and a plurality of moving average filter time constants, and the allowable acceleration 5 is a value obtained by dividing the maximum speed by the first moving average filter time constant. The allowable jerk 6 may be calculated by further dividing the value obtained by dividing the maximum speed by the first moving average filter time constant by the second moving average filter time constant. Here, the first moving average filter time constant is a linear acceleration / deceleration time constant, and the second moving average filter time constant is an S-shaped acceleration / deceleration time constant, that is, a soft acceleration / deceleration filter time constant.
 また、各軸の許容加速度および許容加加速度から、全軸共通の許容加速度5および許容加加速度6を計算し、加減速時の許容値として使用する形態でもよい。 Also, a mode in which the allowable acceleration 5 and the allowable jerk 6 common to all axes are calculated from the allowable acceleration and allowable jerk of each axis and used as an allowable value at the time of acceleration / deceleration may be used.
 トレランスである許容経路誤差7は、加工プログラム2に記載された移動経路と後述する数値制御装置1の出力である移動指令220との経路誤差の許容値であり、予め数値制御装置1内部のデータベース保持部25に保存されている距離である。なお、許容経路誤差7は、加工プログラム2にて指令し、加工プログラム2の途中での変更を可能とする形態でもよい。 The tolerance path error 7 which is tolerance is a tolerance value of a path error between a movement path described in the machining program 2 and a movement command 220 which is an output of the numerical controller 1 described later, and is a database in the numerical controller 1 in advance. This is the distance stored in the holding unit 25. The allowable path error 7 may be instructed by the machining program 2 and may be changed in the middle of the machining program 2.
 数値制御装置1は、加工プログラム2を解析し、解析結果に応じてサーボアンプ4を介して、例えば、図示しない工作機械を制御して、テーブルに載置されたワークに対する相対的な工具位置を制御しながら、ワークの加工を行う。 The numerical control device 1 analyzes the machining program 2 and controls, for example, a machine tool (not shown) via the servo amplifier 4 in accordance with the analysis result to determine the relative tool position with respect to the workpiece placed on the table. Machining the workpiece while controlling.
 解析処理部21は、加工プログラム2を1指令ブロックずつ読み込み、読み込んだ指令ブロックに記述された動作命令を解析して指令ブロック毎の移動データ210を生成し、移動指令生成部22、速度波形計算部23、およびコーナ曲線計算部24へ供給する。解析処理部21は、加工プログラム2に基づいて、移動データ210に含まれる移動経路上の送り速度200を求める。 The analysis processing unit 21 reads the machining program 2 one command block at a time, analyzes the operation command described in the read command block, generates the movement data 210 for each command block, the movement command generation unit 22, the velocity waveform calculation To the unit 23 and the corner curve calculation unit 24. Based on the machining program 2, the analysis processing unit 21 obtains the feed speed 200 on the movement path included in the movement data 210.
 移動データ210は、各指令ブロックの命令を解釈した結果得られたデータであって、加工プログラム2に記載された移動経路、指令ブロック毎の各並進軸の移動位置、各駆動軸の移動距離、軸比、移動速度、補間モード、前後の指令経路のなす角度、即ち軸比変化量など、軸毎の補間点を決定するために必要な情報である。ここで、各並進軸の移動位置は、例えば指令ブロックの始点位置および終点位置であり、補間モードは、例えば直線、円弧、非補間である。 The movement data 210 is data obtained as a result of interpreting the command of each command block, and includes a movement path described in the machining program 2, a movement position of each translation axis for each command block, a movement distance of each drive axis, This is information necessary for determining an interpolation point for each axis, such as the axis ratio, the moving speed, the interpolation mode, the angle formed by the front and rear command paths, that is, the amount of change in the axis ratio. Here, the movement position of each translation axis is, for example, the start point position and end point position of the command block, and the interpolation mode is, for example, straight line, circular arc, or non-interpolation.
 移動指令生成部22は、移動データ210およびコーナ曲線式240に基づいて、加工プログラム2に記載された移動経路に沿った各並進軸への移動指令220をサーボアンプ4に出力する。移動指令生成部22では、まず、移動量、軸比などの情報に基づいて経路に沿った方向の加減速後速度を計算し、次に、加減速後速度に応じて加工プログラム2に記載された経路上を補間することで移動指令220を出力する。加減速後速度は、許容加速度5および許容加加速度6の制限を満たすように平滑化された速度の時間変化である。 The movement command generation unit 22 outputs a movement command 220 to each translation axis along the movement path described in the machining program 2 to the servo amplifier 4 based on the movement data 210 and the corner curve equation 240. The movement command generator 22 first calculates the post-acceleration / deceleration speed in the direction along the route based on the information such as the movement amount and the axial ratio, and then describes it in the machining program 2 according to the post-acceleration / deceleration speed. The movement command 220 is output by interpolating on the route. The post-acceleration / deceleration speed is a temporal change in speed smoothed so as to satisfy the limits of the allowable acceleration 5 and the allowable jerk 6.
 なお、移動指令生成部22は、後述するコーナ曲線計算部24の出力であるコーナ曲線式240が規定された経路を補間する場合、コーナ曲線式240で規定された経路を通過する移動指令220を出力し、コーナ曲線式240が規定されていない経路を補間する場合、加工プログラム2に記載された移動経路を通過する移動指令220を出力する。 When the movement command generation unit 22 interpolates a route defined by a corner curve equation 240 that is an output of a corner curve calculation unit 24 described later, the movement command generation unit 22 generates a movement command 220 that passes the route defined by the corner curve equation 240. When outputting and interpolating a route in which the corner curve formula 240 is not defined, a movement command 220 that passes the movement route described in the machining program 2 is output.
 また、移動指令生成部22で生成される加減速後速度は、従来の公知技術と同様の処理を用いて計算するものとし、許容加速度5、許容加加速度6を超えない範囲で計算されるものであり、移動平均フィルタなどの、フィルタ処理により得られるものでよい。また、加減速後速度は、隣接する指令ブロック間の軸比変化量に基づいて減速するかどうかの判定を行うものでもよく、隣接する指令ブロック同士のなす角度に基づいて減速するかどうかの判定を行うものでもよい。 Further, the post-acceleration / deceleration speed generated by the movement command generation unit 22 is calculated using a process similar to that of the conventional known technology, and is calculated within a range not exceeding the allowable acceleration 5 and the allowable jerk 6. It may be obtained by filtering such as a moving average filter. The acceleration / deceleration speed may be determined based on the amount of change in the axial ratio between adjacent command blocks, or may be determined based on the angle between adjacent command blocks. It may be what performs.
 速度波形計算部23は、予め設定された許容加速度5および許容加加速度6、加工プログラム2に記載された送り速度200に基づいて、停止状態である送り速度0の状態から加工プログラム2に記載された送り速度200である送り速度Fの状態になるまでの間の速度波形を示す速度式230を計算する。速度波形計算部23によって計算された速度式230はコーナ曲線計算部24に出力される。速度波形計算部23では、移動指令生成部22の加減速後速度の計算方法と同様の計算方法により、送り速度0から送り速度Fまでの速度式230を計算する。 The speed waveform calculation unit 23 is described in the machining program 2 from the state of the feed speed 0 which is a stop state based on the preset allowable acceleration 5 and allowable jerk 6 and the feed speed 200 described in the machining program 2. The speed equation 230 indicating the speed waveform until the feed speed F is reached is calculated. The velocity equation 230 calculated by the velocity waveform calculator 23 is output to the corner curve calculator 24. The speed waveform calculation unit 23 calculates the speed equation 230 from the feed speed 0 to the feed speed F by the same calculation method as the calculation method of the post-acceleration / deceleration speed of the movement command generation unit 22.
 以下に、許容加速度A、送り速度F、加速開始時刻をt=0とした場合を例に、速度式計算の一例を示す。この場合、得られる速度波形は、一定加速度で加減速する速度波形であり、速度式V1(t)は、
 V1(t)=A×t …(1)
で計算でき、時刻t=F/Aで速度Fに到達する速度式となる。なお、このとき時刻tにおける移動距離X1(t)は、V1(t)をtで積分することで計算でき、
 X1(t)=A/2×t^2 …(2)
となる。なお、「^」の後の数字は指数を示し、式(2)ではtの2乗を表現している。以下同様な表記を用いる。
In the following, an example of speed equation calculation is shown, taking as an example the case where the allowable acceleration A, the feed speed F, and the acceleration start time are t = 0. In this case, the obtained velocity waveform is a velocity waveform that accelerates or decelerates at a constant acceleration, and the velocity equation V1 (t) is
V1 (t) = A × t (1)
The speed equation reaches the speed F at time t = F / A. At this time, the moving distance X1 (t) at time t can be calculated by integrating V1 (t) with t,
X1 (t) = A / 2 × t ^ 2 (2)
It becomes. The number after “^” indicates an exponent, and the expression (2) expresses the square of t. Hereinafter, the same notation is used.
 次に、許容加速度A、許容加加速度J、送り速度F、加速開始時刻をt=0とした場合の速度式を示す。このケースは、速度式V2(t)は、許容加速度A、許容加加速度J、送り速度Fの関係に応じて異なる。 Next, the speed equation when the allowable acceleration A, the allowable jerk J, the feed speed F, and the acceleration start time are set to t = 0 is shown. In this case, the speed equation V2 (t) differs depending on the relationship between the allowable acceleration A, the allowable jerk J, and the feed speed F.
 例えば、F>1/J×A^2の場合、加速度が許容加速度Aに一致する状態を含む速度式となり、図2に示すような加速度変化となる。ここで、T1=F/A、T2=A/Jとした場合、速度式V2(t)は、
 V2(t)=J/2×t^2 (0<t<T2の場合) …(3)
 V2(t)=J×T2×t-J/2×(T2)^2 (T2<t<T1の場合) …(4)
 V2(t)=F-J/2×(T1+T2-t)^2 (T1<tの場合)   …(5)
と計算することができる。
For example, in the case of F> 1 / J × A ^ 2, the speed equation includes a state in which the acceleration matches the allowable acceleration A, and the acceleration changes as shown in FIG. Here, when T1 = F / A and T2 = A / J, the velocity equation V2 (t) is
V2 (t) = J / 2 × t ^ 2 (when 0 <t <T2) (3)
V2 (t) = J × T2 × t−J / 2 × (T2) ^ 2 (when T2 <t <T1) (4)
V2 (t) = F−J / 2 × (T1 + T2-t) ^ 2 (when T1 <t) (5)
And can be calculated.
 なお、上記では、F>1/J×A^2の場合についての速度式V2(t)の例について説明したが、加速度が許容加速度Aに一致する状態を含まない加速度変化でもよく、加速度変化が図3に示すように、三角形状になる場合でもよい。この場合、F<1/J×A^2の条件が成り立ち、T3=√(F/J)とすると、速度式V2(t)は、
 V2(t)=J/2×t^2 (0<t<T3の場合) …(6)
 V2(t)=F-J/2×(2×T3-t)^2 (T3<tの場合) …(7)
と計算することができる。
In the above description, the example of the velocity equation V2 (t) in the case of F> 1 / J × A ^ 2 has been described. However, the acceleration change may not include a state in which the acceleration matches the allowable acceleration A, and the acceleration change As shown in FIG. 3, it may be triangular. In this case, if the condition of F <1 / J × A ^ 2 holds, and T3 = √ (F / J), the velocity equation V2 (t) is
V2 (t) = J / 2 × t ^ 2 (when 0 <t <T3) (6)
V2 (t) = F−J / 2 × (2 × T3-t) ^ 2 (when T3 <t) (7)
And can be calculated.
 また、F<1/J×A^2の条件が成り立つ場合でも、図4で示した加速度変化の時刻T1から時刻T2の区間のように、加速度が一定状態となる区間を含む場合でもよく、この場合、速度式V2(t)は、
 V2(t)=J/2×t^2 (0<t<T1の場合) …(8)
 V2(t)=J×T1×t-J/2×(T1)^2 (T1<t<T2の場合) …(9)
 V2(t)=F-J/2×(T1+T2-t)^2 (T2<tの場合) …(10)
と計算することができる。なお、このとき、時刻tにおける移動距離X2(t)は、V2(t)を積分することで計算することができる。
Further, even when the condition of F <1 / J × A ^ 2 is satisfied, it may include a section where the acceleration is constant, such as the section from the time T1 to the time T2 of the acceleration change shown in FIG. In this case, the velocity equation V2 (t) is
V2 (t) = J / 2 × t ^ 2 (when 0 <t <T1) (8)
V2 (t) = J × T1 × t−J / 2 × (T1) ^ 2 (when T1 <t <T2) (9)
V2 (t) = F−J / 2 × (T1 + T2−t) ^ 2 (when T2 <t) (10)
And can be calculated. At this time, the movement distance X2 (t) at time t can be calculated by integrating V2 (t).
 以上、送り速度0から送り速度Fまで加速する波形として許容加速度5のみを考慮に入れた場合の加速度波形の場合についての速度式の導出例、および、許容加速度5と許容加加速度6の両方を考慮に入れた場合の加速度波形の場合についての速度式の導出例を示した。しかし、以上で求めた速度式の例よりもさらに滑らかに変化するような速度波形であってもよい。この場合、加加速度の時間変化量に許容値を設定し、速度波形を生成すればよいので、速度波形計算部23が求める速度波形は、上述した例に限定されるものではない。 As described above, the derivation example of the velocity equation in the case of the acceleration waveform when only the allowable acceleration 5 is taken into consideration as the waveform accelerating from the feed speed 0 to the feed speed F, and both the allowable acceleration 5 and the allowable jerk 6 are obtained. An example of derivation of the velocity equation for the case of the acceleration waveform when taking into account is shown. However, it may be a velocity waveform that changes more smoothly than the example of the velocity equation obtained above. In this case, an allowable value may be set for the amount of change in jerk over time, and a velocity waveform may be generated. Therefore, the velocity waveform obtained by the velocity waveform calculation unit 23 is not limited to the above-described example.
 コーナ曲線計算部24は、速度波形を示す速度式230、移動データ210、および許容経路誤差7に基づいて、指令ブロックの継ぎ目において移動経路を平滑化した経路である平滑化経路を示すコーナ曲線式240の計算を行い、コーナ曲線式240を移動指令生成部22に出力する。移動経路を平滑化した経路はコーナ曲線であり、当該コーナ曲線の曲線式がコーナ曲線式240である。 The corner curve calculation unit 24, based on the velocity equation 230 indicating the velocity waveform, the movement data 210, and the allowable route error 7, shows a corner curve equation indicating a smoothed route that is a route obtained by smoothing the moving route at the joint of the command block. 240 is calculated, and the corner curve equation 240 is output to the movement command generator 22. A route obtained by smoothing the movement route is a corner curve, and a curve equation of the corner curve is a corner curve equation 240.
 図5は、コーナ曲線計算部24の処理を示すフローチャートであり、以下の手順でコーナ曲線式240の計算を行う。 FIG. 5 is a flowchart showing the processing of the corner curve calculation unit 24, and the corner curve formula 240 is calculated in the following procedure.
 まず、ステップS110では、移動経路を曲線化する指令ブロックの継ぎ目を決定する。具体的には、移動データ210に基づいて、振動的な挙動を示す指令ブロック継ぎ目、即ち、移動経路の方向の変化が不連続、または移動経路の曲率が不連続であることに起因して工作機械の動作に振動的な挙動が発生してしまうおそれがある指令ブロック継ぎ目の抽出を行う。ここでは、振動的な挙動となるかどうかを隣接する指令ブロックのなす角度を基準に判定してもよく、軸比変化量に基づいて判定してもよい。また、経路の変化によらず、すべての指令ブロックの継ぎ目の移動経路を平滑化の対象としてもよく、平滑化経路を生成する際の処理負荷を考慮に入れて、平滑化する指令ブロックの継ぎ目を制限するようにしてもよい。その後、ステップS111に移行する。 First, in step S110, the joint of the command block that curves the movement route is determined. More specifically, based on the movement data 210, the command block seam that exhibits vibrational behavior, that is, the change in the direction of the movement path is discontinuous or the movement path curvature is discontinuous. Extract command block seams that may cause vibrational behavior in machine operation. Here, whether or not the behavior is oscillating may be determined based on an angle formed by adjacent command blocks, or may be determined based on an axial ratio change amount. In addition, regardless of changes in the path, the movement path of all command block seams may be smoothed, and the command block seams to be smoothed are taken into account in consideration of the processing load when generating the smoothed path. You may make it restrict | limit. Thereafter, the process proceeds to step S111.
 ステップS111では、ステップS110で選択した指令ブロックの継ぎ目を中心とする前後の移動経路を数式で表現する。具体的には、経路に沿った距離sを入力とし、s=0をステップS110で選択した指令ブロックの継ぎ目とし、s<0の範囲を指令ブロックの継ぎ目より前の経路P1(s)とし、s>0の範囲を指令ブロックの継ぎ目より後の経路P2(s)とする。ここで、P1(s)およびP2(s)は、全ての駆動軸の位置を要素とする位置ベクトルとして表現したものであり、sに応じた位置を示す数式となっている。 In step S111, the movement path before and after the joint of the command block selected in step S110 is expressed by a mathematical expression. Specifically, the distance s along the route is input, s = 0 is the joint of the command block selected in step S110, the range of s <0 is the route P1 (s) before the joint of the command block, A range of s> 0 is defined as a path P2 (s) after the command block joint. Here, P1 (s) and P2 (s) are expressed as position vectors having the positions of all the drive shafts as elements, and are mathematical expressions indicating positions according to s.
 次にステップS112では、ステップS110で決定した指令ブロックの継ぎ目よりも後の経路と指令ブロックの継ぎ目よりも前の経路のそれぞれに対して、ステップS111で計算した経路式と、速度波形計算部23で計算した速度式230の対応付けを行う。 Next, in step S112, the path equation calculated in step S111 and the velocity waveform calculation unit 23 are respectively calculated for the path after the joint of the command block determined in step S110 and the path before the joint of the command block. The speed equation 230 calculated in step 1 is associated.
 具体的には、例えば、指令ブロックの継ぎ目よりも後の経路の場合、経路に沿った距離s=0における時刻をt2=0とし、許容加速度5が設定された場合の速度式V1(t)を用いて時刻t2における位置X1(t2)を計算する。そして、位置X1(t2)を指令ブロックの継ぎ目より後の経路P2(s)の媒介変数であるsとすることで、時刻t2における経路に沿った距離s2を計算する。つまり、以下の数式により距離s2を計算する。
 s2=X1(t2) …(11)
Specifically, for example, in the case of a route after the joint of the command block, the speed formula V1 (t) when the time at a distance s = 0 along the route is t2 = 0 and the allowable acceleration 5 is set. Is used to calculate the position X1 (t2) at time t2. Then, the position s2 along the route at time t2 is calculated by setting the position X1 (t2) to be s which is a parameter of the route P2 (s) after the joint of the command block. That is, the distance s2 is calculated by the following mathematical formula.
s2 = X1 (t2) (11)
 次に、指令ブロックの継ぎ目よりも前の経路に対して、経路に沿った距離s=0における時刻をt1=0とし、速度式を用いて時刻-t1における位置X1(t1)を計算する。そして、位置X1(t1)を指令ブロックの継ぎ目より前の経路P1(s)の媒介変数であるsとすることで、時刻-t1における経路に沿った距離s1を計算する。つまり、以下の数式により距離s1を計算する。
 s1=-X1(t1) …(12)
Next, with respect to the path before the joint of the command block, the time at the distance s = 0 along the path is set to t1 = 0, and the position X1 (t1) at time −t1 is calculated using the velocity equation. Then, the position s1 along the route at time -t1 is calculated by setting the position X1 (t1) as s which is a parameter of the route P1 (s) before the joint of the command block. That is, the distance s1 is calculated by the following mathematical formula.
s1 = −X1 (t1) (12)
 ステップS113では、許容経路誤差7であるTOLと、前の経路P1(s)および後の経路P2(s)を示す数式に基づいて、t1とt2の関係を算出し、時刻tにおけるコーナ曲線式240の導出を行う。例えば、図6を用いて、X軸移動後にY軸移動する場合に許容経路誤差TOLに一致する経路生成方法を示す。図7は、図6の経路におけるX軸およびY軸の速度の時間変化を示す。 In step S113, the relationship between t1 and t2 is calculated based on the TOL that is the allowable path error 7 and the mathematical expressions indicating the previous path P1 (s) and the subsequent path P2 (s), and the corner curve formula at time t is calculated. 240 is derived. For example, FIG. 6 shows a path generation method that matches the allowable path error TOL when moving the Y axis after moving the X axis. FIG. 7 shows the time change of the velocity of the X axis and the Y axis in the path of FIG.
 まず、移動経路と経路誤差ERRとの関係を、経路式P1(s)およびP2(s)、並びに指令ブロック継ぎ目を中心とする移動距離Δsを用いて、以下の数式で表す。
ERR=|P1(-Δs)-P1(0)+P2(Δs)-P2(0)| …(13)
そして、この関係から経路誤差ERRが許容経路誤差TOLに一致する場合のΔsを計算する。
First, the relationship between the movement route and the route error ERR is expressed by the following equation using the route expressions P1 (s) and P2 (s) and the movement distance Δs around the command block seam.
ERR = | P1 (−Δs) −P1 (0) + P2 (Δs) −P2 (0) | (13)
From this relationship, Δs is calculated when the path error ERR matches the allowable path error TOL.
 次に、指令ブロックの継ぎ目から経路上の距離Δsだけ移動する際の移動時間Δtを以下の関係式から計算する。
 Δs=X1(Δt) …(14)
Next, the movement time Δt when moving by a distance Δs on the route from the joint of the command block is calculated from the following relational expression.
Δs = X1 (Δt) (14)
 上記のようにして得たΔtを使って、以下の数式よりΔsaを計算する。
 Δsa=X1(2×Δt) …(15)
Using Δt obtained as described above, Δsa is calculated from the following equation.
Δsa = X1 (2 × Δt) (15)
 上記のようにして得たΔsaにより、s=Δsaを平滑化経路の終点位置とし、s=-Δsaを平滑化経路の始点位置とすることでコーナ曲線式240の端点が決定する。 The end point of the corner curve equation 240 is determined by Δsa obtained as described above, with s = Δsa as the end point position of the smoothing path and s = −Δsa as the start point position of the smoothing path.
 次にコーナ曲線式Q(t)の導出を行う。Q(t)は時間に関する関数であり、コーナ曲線始点における時刻をt=-Δt、コーナ曲線終点における時刻をt=Δtとし、経路P1(s)におけるs=-Δsaからs=0までの移動と、経路P2(s)におけるs=0からs=Δsaまでの移動を合成することにより得られる経路である。 Next, the corner curve formula Q (t) is derived. Q (t) is a function related to time, and the time at the corner curve start point is t = −Δt, the time at the corner curve end point is t = Δt, and the movement from s = −Δsa to s = 0 in the path P1 (s) And a route obtained by synthesizing the movement from s = 0 to s = Δsa in the route P2 (s).
 コーナ曲線式Q(t)は、以下の数式で計算する。
 Q(t)=P1(-X1(-t+Δt))+P2(X1(t+Δt))-P2(0) …(16)
そして、時刻t=-Δtで、
 Q(-Δt)=P1(-Δsa) …(17)
となり、時刻t=Δtで、
 Q(Δt)=P2(Δsa) …(18)
となる。
The corner curve formula Q (t) is calculated by the following formula.
Q (t) = P1 (−X1 (−t + Δt)) + P2 (X1 (t + Δt)) − P2 (0) (16)
At time t = −Δt,
Q (−Δt) = P1 (−Δsa) (17)
And at time t = Δt,
Q (Δt) = P2 (Δsa) (18)
It becomes.
 以上より、許容加速度5が設定された場合についてのコーナ曲線式240を導出することができた。なお、許容加速度5に加え、許容加加速度6が設定された場合でも同様の処理を行えばよく、この場合、ステップS112、ステップS113で使用する速度式として、X1(s)の代わりにX2(s)を使えばよい。 From the above, it was possible to derive the corner curve equation 240 when the allowable acceleration 5 was set. It should be noted that the same processing may be performed even when the allowable jerk 6 is set in addition to the allowable acceleration 5, and in this case, X2 (instead of X1 (s) is used as the velocity equation used in steps S112 and S113. Use s).
 以下では、本実施の形態1における移動指令生成部22の構成について詳細に説明を行う。図8は、本実施の形態1における移動指令生成部の構成を示すブロック図である。移動指令生成部22は、コーナ曲線挿入部22A、コーナ曲線速度計算部22B、加減速処理部22C、および補間処理部22Dを有する。 Hereinafter, the configuration of the movement command generation unit 22 in the first embodiment will be described in detail. FIG. 8 is a block diagram showing the configuration of the movement command generation unit in the first embodiment. The movement command generation unit 22 includes a corner curve insertion unit 22A, a corner curve speed calculation unit 22B, an acceleration / deceleration processing unit 22C, and an interpolation processing unit 22D.
 コーナ曲線挿入部22Aは、コーナ曲線計算部24で求められたコーナ曲線式240を移動データ210に含まれる移動経路に挿入し、急峻に変化する経路を滑らかな経路に置き換える処理を行う。具体的には、指令ブロックの継ぎ目よりΔsaだけ経路に沿って戻った位置である手前の位置をコーナ曲線の始点とし、指令ブロックの継ぎ目より、Δsaだけ経路に沿って進んだ位置をコーナ曲線の終点とし、コーナ曲線の始点から終点の間をコーナ曲線式Q(t)となる経路に置き換える処理を行うものである。 The corner curve insertion unit 22A inserts the corner curve formula 240 obtained by the corner curve calculation unit 24 into the movement path included in the movement data 210, and performs processing to replace a rapidly changing path with a smooth path. Specifically, the corner curve starts at a position before the joint block of the command block by Δsa along the path, and the position advanced along the path by Δsa from the joint of the command block. A process is performed in which a point between the start point and the end point of the corner curve is replaced with a route having a corner curve formula Q (t) as an end point.
 コーナ曲線速度計算部22Bは、コーナ曲線式240に従って、コーナ曲線上を通過する移動速度を計算する。コーナ曲線上を通過する移動速度は、コーナ曲線式Q(t)を時間微分することで計算する。 The corner curve speed calculation unit 22B calculates the moving speed that passes on the corner curve according to the corner curve formula 240. The moving speed passing on the corner curve is calculated by differentiating the corner curve formula Q (t) with time.
 加減速処理部22Cは、コーナ曲線が挿入された移動経路に沿った移動量、軸比などの情報に基づいて、許容加速度5および許容加加速度6の制限を満たすように、移動経路に沿った方向の加減速後速度を計算する。 The acceleration / deceleration processing unit 22C follows the movement path so as to satisfy the limits of the allowable acceleration 5 and the allowable jerk 6 based on information such as a movement amount and an axial ratio along the movement path in which the corner curve is inserted. Calculate the speed after acceleration / deceleration in the direction.
 補間処理部22Dは、コーナ曲線速度計算部22Bが求めたコーナ曲線上を通過する移動速度および上記加減速後速度に基づき、コーナ曲線を含む移動経路上の補間を行い、移動指令220をサーボアンプ4に出力する。具体的には、補間処理部22Dは、コーナ曲線上においてはコーナ曲線速度計算部22Bが求めた移動速度を用いて移動経路を補間し、コーナ曲線以外においては加減速後速度を用いて移動経路を補間する。 The interpolation processing unit 22D performs interpolation on the moving path including the corner curve on the basis of the moving speed passing through the corner curve obtained by the corner curve speed calculating unit 22B and the speed after acceleration / deceleration, and sends the movement command 220 to the servo amplifier. 4 is output. Specifically, the interpolation processing unit 22D interpolates the travel path using the travel speed obtained by the corner curve speed calculation unit 22B on the corner curve, and uses the post-acceleration / deceleration speed other than the corner curve. Is interpolated.
 以上の計算により、経路の平滑化による経路誤差が許容経路誤差に一致する平滑化範囲を計算することが可能となる。 By the above calculation, it is possible to calculate a smoothing range in which the path error due to path smoothing matches the allowable path error.
 以下では、具体的な加工プログラム2の例を用いて、本実施の形態1における数値制御装置1の動作を具体的に説明する。 Hereinafter, the operation of the numerical control apparatus 1 according to the first embodiment will be specifically described using an example of a specific machining program 2.
 例えば、加工プログラム2が、以下のように記載されていたとする。 For example, it is assumed that the machining program 2 is described as follows.
 O100
 N1 G54 G90
 N2 G0 X0.Y0.;
 N10 G1 X100.F3000;
 N20 Y100.;
O100
N1 G54 G90
N2 G0 X0. Y0. ;
N10 G1 X100. F3000;
N20 Y100. ;
 上記した加工プログラム2の1行目の「O100」は、「Oアドレス」に続く数字により、加工プログラム番号を示すものであり、加工プログラム100番を示している。上記した加工プログラム2を以下では、加工プログラム100番と呼ぶことにする。 “O100” on the first line of the machining program 2 indicates the machining program number by the number following the “O address”, and indicates the machining program number 100. Hereinafter, the machining program 2 will be referred to as machining program 100.
 加工プログラム100番のシーケンス番号「N1」の指令ブロックにおいて、「G54」は座標系原点位置を指定し、「G90」で指令された座標値が座標系の絶対位置であることを示している。 In the command block of sequence number “N1” of machining program number 100, “G54” designates the coordinate system origin position, and indicates that the coordinate value commanded by “G90” is the absolute position of the coordinate system.
 次に、加工プログラム100番のシーケンス番号「N2」の指令ブロックにおいては、「G0」で現在の位置から、座標系上の点(X,Y)=(0,0)の位置に移動し、各軸の最大速度での移動を行う。 Next, in the command block of the sequence number “N2” of the machining program No. 100, “G0” moves from the current position to the position of the point (X, Y) = (0, 0) on the coordinate system, Move at the maximum speed of each axis.
 そして、加工プログラム100番のシーケンス番号「N10」の指令ブロックでは、「N2」の指令ブロックで位置決めした位置から、(X,Y)=(100,0)まで速度3000mm/minで移動する指令を行う。 And in the command block of sequence number “N10” of machining program No. 100, a command to move at a speed of 3000 mm / min from the position positioned by the command block of “N2” to (X, Y) = (100, 0). Do.
 加工プログラム100番のシーケンス番号「N20」の指令ブロックでは、「N10」の指令ブロックの終点から(X,Y)=(100,100)の位置に移動する指令を行っている。 In the command block with the sequence number “N20” of the machining program No. 100, a command to move to the position of (X, Y) = (100, 100) from the end point of the command block of “N10” is issued.
 この加工プログラム100番の「N10」および「N20」の指令ブロックの継ぎ目における動作について示す。例えば、許容加速度を1m/s^2とし、許容経路誤差を0.1mmとして設定した場合、「N10」の指令ブロックの経路、即ち指令ブロックの継ぎ目より前の経路P1(s)は、以下の数式で表わされる。
 P1(s)=(100+s,0) …(19)
そして、「N20」の指令ブロックの経路、即ち指令ブロック継ぎ目より後の経路P2(s)は、以下の数式で表わされる。
 P2(s)=(100,s) …(20)
The operation at the joint of the command blocks “N10” and “N20” of the machining program No. 100 will be described. For example, when the allowable acceleration is set to 1 m / s ^ 2 and the allowable path error is set to 0.1 mm, the path of the command block “N10”, that is, the path P1 (s) before the joint of the command block is It is expressed by a mathematical formula.
P1 (s) = (100 + s, 0) (19)
The path of the command block “N20”, that is, the path P2 (s) after the command block joint is expressed by the following mathematical formula.
P2 (s) = (100, s) (20)
 数式(19)および数式(20)より、許容経路誤差7と経路誤差との関係から、
 Δs=TOL/√2≒0.0707mm …(21)
が得られる。そしてΔtは、数式(14)のΔs=X1(Δt)の関係より、
 Δt=√(√2×TOL)≒11.89ms …(22)
となる。これより経路式Q(t)が、
 Q(t)=(100-1/2×(-t+Δt)^2,1/2×(t+Δt)^2) …(23)
として計算される。
From Equation (19) and Equation (20), from the relationship between the allowable route error 7 and the route error,
Δs = TOL / √2≈0.0707 mm (21)
Is obtained. And Δt is expressed by the relationship of Δs = X1 (Δt) in Equation (14).
Δt = √ (√2 × TOL) ≈11.89 ms (22)
It becomes. From this, the path equation Q (t) becomes
Q (t) = (100−1 / 2 × (−t + Δt) ^ 2, 1/2 × (t + Δt) ^ 2) (23)
Is calculated as
 この経路式Q(t)を時間微分することで、コーナ曲線上の通過速度式が計算され、
 dQ(t)/dt=(-t+Δt,t+Δt) …(24)
となり、時刻-Δtから時刻Δtまでの間に、X軸が速度2Δtから速度0まで加速度1m/s^2で減速し、Y軸が速度0から速度2Δtまで加速度1m/s^2で加速することになる。このようにコーナ曲線部での加速度をコーナ曲線部以外の加速度と同じ加速度にできるため、移動経路と、各軸速度波形の両方を滑らかにすることが可能となり、図7の速度波形を得ることができる。
By differentiating this path formula Q (t) with respect to time, a passing speed formula on the corner curve is calculated,
dQ (t) / dt = (− t + Δt, t + Δt) (24)
From time −Δt to time Δt, the X axis decelerates from speed 2Δt to speed 0 with an acceleration of 1 m / s ^ 2, and the Y axis accelerates from speed 0 to speed 2Δt with an acceleration of 1 m / s ^ 2. It will be. Since the acceleration at the corner curve portion can be made the same acceleration as the acceleration other than the corner curve portion in this way, both the moving path and each axis velocity waveform can be smoothed, and the velocity waveform of FIG. 7 is obtained. Can do.
 次に、許容加速度5を1m/s^2、許容加加速度6を100m/s^3、許容経路誤差7であるTOLを0.1mm、送り速度200を示すFを3000mm/minとした場合について示す。この場合、P1(s)、P2(s)、およびΔsの導出は、数式(19)、数式(20)、および数式(21)を用いて計算することができ、Δtの計算において数式(22)とは異なる数式を使用する。この場合、数式(3)~数式(10)のいずれかの速度式V2(t)を積分して得られるX2(t)を用いて、Δsに一致する時間Δtを計算する。 Next, a case where the allowable acceleration 5 is 1 m / s ^ 2, the allowable jerk 6 is 100 m / s ^ 3, the allowable path error 7 TOL is 0.1 mm, and the F indicating the feed rate 200 is 3000 mm / min. Show. In this case, the derivation of P1 (s), P2 (s), and Δs can be calculated using Equation (19), Equation (20), and Equation (21). In calculating Δt, Equation (22 ) Is different from). In this case, a time Δt that coincides with Δs is calculated using X2 (t) obtained by integrating the velocity equation V2 (t) of any one of Equations (3) to (10).
 F>1/J×A^2=1/100×1^2=0.01m/s=600mm/min
の関係より、使用する速度式は、数式(3)~数式(5)となり、速度式V2(t)を時間積分することで、移動距離X2(t)を計算することができる。
0<t<T2の場合は、以下の数式でX2(t)が表わされる。
 X2(t)=J/6×t^3 …(25)
T2<t<T1の場合は、以下の数式でX2(t)が表わされる。
 X2(t)=J×T2/6×{3×t^2-3×T2×t+T2^2} …(26)
T1<tの場合は、以下の数式でX2(t)が表わされる。
 X2(t)=J/6×{-t^3+3(T1+T2)t^2-3t(T1^2+T2^2)+(T1^3+T2^3)} …(27)
F> 1 / J × A ^ 2 = 1/100 × 1 ^ 2 = 0.01 m / s = 600 mm / min
Therefore, the speed equation to be used is expressed by Equations (3) to (5), and the moving distance X2 (t) can be calculated by time-integrating the velocity equation V2 (t).
In the case of 0 <t <T2, X2 (t) is expressed by the following mathematical formula.
X2 (t) = J / 6 × t ^ 3 (25)
In the case of T2 <t <T1, X2 (t) is expressed by the following mathematical formula.
X2 (t) = J * T2 / 6 * {3 * t ^ 2-3 * T2 * t + T2 ^ 2} (26)
In the case of T1 <t, X2 (t) is expressed by the following mathematical formula.
X2 (t) = J / 6 × {−t ^ 3 + 3 (T1 + T2) t ^ 2−3t (T1 ^ 2 + T2 ^ 2) + (T1 ^ 3 + T2 ^ 3)} (27)
 以上より、
 TOL/√2=X2(Δt) …(28)
の関係を満たすΔtは、数式(26)を使用した場合であることがわかり、数式(26)および数式(28)をΔtについて解くことで、
 Δt≒0.0165s
と計算することができる。
From the above,
TOL / √2 = X2 (Δt) (28)
It can be seen that Δt satisfying the relationship is a case where the equation (26) is used, and by solving the equations (26) and (28) for Δt,
Δt ≒ 0.0165s
And can be calculated.
 次に、コーナ曲線式Q(t)を導出する。コーナ曲線式Q(t)は、
 Q(t)=P1(-X2(-t+Δt))+P2(X2(t+Δt))-P2(0) …(29)
であるが、X2(t)は時間に応じて数式が変化するため、区分的に異なる数式で表現される曲線式となる。
Next, a corner curve formula Q (t) is derived. The corner curve formula Q (t) is
Q (t) = P1 (−X2 (−t + Δt)) + P2 (X2 (t + Δt)) − P2 (0) (29)
However, X2 (t) is a curved line expression expressed by a piecewise different expression because the expression changes with time.
 これより、-Δt≦t<-T2の場合、P1の変数X2(t)には数式(26)を使い、P2の変数X2(t)には数式(25)を使うことでコーナ曲線式Q(t)が計算できる。 Accordingly, when −Δt ≦ t <−T2, the expression (26) is used for the variable X2 (t) of P1, and the expression (25) is used for the variable X2 (t) of P2, so that the corner curve formula Q (T) can be calculated.
 また、-T2≦t<T2の場合、P1の変数X2(t)には数式(26)を使い、P2の変数X2(t)には数式(26)を使うことでコーナ曲線式Q(t)が計算できる。 Further, when −T2 ≦ t <T2, the expression (26) is used for the variable X2 (t) of P1, and the expression (26) is used for the variable X2 (t) of P2. ) Can be calculated.
 最後に、T2≦t<Δtの場合、P1の変数X2(t)には数式(25)を使い、P2の変数X2(t)には数式(26)を使うことでコーナ曲線式Q(t)が計算できる。 Finally, when T2 ≦ t <Δt, the expression (25) is used for the variable X2 (t) of P1, and the expression (26) is used for the variable X2 (t) of P2, so that the corner curve formula Q (t ) Can be calculated.
 以上のコーナ曲線式Q(t)を用いた場合のコーナ曲線経路は図9となり、図9におけるX軸およびY軸の速度波形は図10となる。 The corner curve path when the above curve curve formula Q (t) is used is FIG. 9, and the velocity waveforms of the X axis and the Y axis in FIG. 9 are FIG.
 以上説明したように、本実施の形態1においては、速度波形計算部23で計算した速度式230に応じて、許容経路誤差7を満たした平滑化経路を生成してその上を平滑化経路の出入り口において速度波形の歪みを生ずることなく移動させることが可能となる。即ち、平滑化経路の出入り口における速度波形が歪むことなく、経路の平滑化が可能となる。従って、加減速波形が複数段状になることを回避できるので、移動時間を短くすることが可能となる。 As described above, in the first embodiment, a smoothing path that satisfies the allowable path error 7 is generated according to the speed equation 230 calculated by the speed waveform calculation unit 23, and the smoothing path is then generated. It is possible to move the doorway without causing distortion of the velocity waveform. That is, the path can be smoothed without distorting the velocity waveform at the entrance / exit of the smoothing path. Accordingly, it is possible to avoid the acceleration / deceleration waveform having a plurality of steps, and thus it is possible to shorten the movement time.
実施の形態2.
 次に、実施の形態2にかかる数値制御装置1について説明する。実施の形態2にかかる数値制御装置1の構成は図1と同様である。以下では、実施の形態1と異なる部分を中心に説明する。
Embodiment 2. FIG.
Next, the numerical controller 1 according to the second embodiment will be described. The configuration of the numerical control apparatus 1 according to the second embodiment is the same as that shown in FIG. Below, it demonstrates focusing on a different part from Embodiment 1. FIG.
 実施の形態1にかかる数値制御装置1においては、移動指令生成部22において、加工プログラム2に記載された移動経路をコーナ曲線を含む経路に置き換えることで、各軸速度を滑らかにする方式を用いていた。これに対し、実施の形態2にかかる数値制御装置1の移動指令生成部22は、実施の形態1の移動指令生成部22とは構成が異なる。実施の形態2にかかる移動指令生成部22においては、補間処理を実行する構成要素を複数設けることで各軸速度波形を滑らかにする方式を用いる。 In the numerical control apparatus 1 according to the first embodiment, the movement command generation unit 22 uses a method of smoothing each axis speed by replacing the movement path described in the machining program 2 with a path including a corner curve. It was. On the other hand, the movement command generation unit 22 of the numerical control device 1 according to the second embodiment is different in configuration from the movement command generation unit 22 of the first embodiment. In the movement command generation unit 22 according to the second embodiment, a method of smoothing each axis velocity waveform by providing a plurality of components that execute interpolation processing is used.
 図11は、本発明の実施の形態2における移動指令生成部22の構成を示すブロック図である。移動指令生成部22は、加減速処理部22C、速度分配部22E、第1の補間処理部221F、第2の補間処理部222F、および加算部22Gを有する。即ち、移動指令生成部22は複数の補間処理部を有している。 FIG. 11 is a block diagram showing a configuration of the movement command generation unit 22 according to Embodiment 2 of the present invention. The movement command generation unit 22 includes an acceleration / deceleration processing unit 22C, a speed distribution unit 22E, a first interpolation processing unit 221F, a second interpolation processing unit 222F, and an addition unit 22G. That is, the movement command generation unit 22 has a plurality of interpolation processing units.
 加減速処理部22Cは、実施の形態1で説明した図8の加減速処理部22Cと同じ処理を行うものであり、公知の技術を用いて、移動経路に沿った移動量、軸比などの情報に基づいて、許容加速度5および許容加加速度6の制限を満たすように、移動経路に沿った方向の加減速後速度を計算する。 The acceleration / deceleration processing unit 22C performs the same processing as the acceleration / deceleration processing unit 22C of FIG. 8 described in the first embodiment, and uses a known technique to determine the movement amount, the axial ratio, and the like along the movement path. Based on the information, the post-acceleration / deceleration speed in the direction along the movement path is calculated so as to satisfy the limits of the allowable acceleration 5 and the allowable jerk 6.
 速度分配部22Eは、加減速後速度とコーナ曲線式240とに基づいて第1の補間処理部221Fおよび第2の補間処理部222Fにコーナ曲線上の移動速度を分配する。移動速度を分配することは、補間周期当たりで考えると移動量を分配することと同じである。速度分配部22Eは、指令ブロックの継ぎ目より前の経路と指令ブロックの継ぎ目より後の経路とを異なる補間処理部が処理するように、移動速度を第1の補間処理部221Fおよび第2の補間処理部222Fに分配する処理を実行する。 The speed distribution unit 22E distributes the moving speed on the corner curve to the first interpolation processing unit 221F and the second interpolation processing unit 222F based on the post-acceleration / deceleration speed and the corner curve formula 240. Distributing the moving speed is the same as distributing the moving amount in terms of the interpolation period. The speed distribution unit 22E converts the movement speed into the first interpolation processing unit 221F and the second interpolation so that different interpolation processing units process a path before the joint of the command block and a path after the joint of the command block. A process of distributing to the processing unit 222F is executed.
 第1の補間処理部221Fおよび第2の補間処理部222Fの動作は、速度分配部22Eによって分配された移動速度を用いる点を除いては、実施の形態1の補間処理部22Dと同様な動作を実行する。ただし、第1の補間処理部221Fおよび第2の補間処理部222Fは、以下に説明するように、コーナ曲線上および移動経路上の異なる経路の補間処理を並列的に実行する。 The operations of the first interpolation processing unit 221F and the second interpolation processing unit 222F are the same as those of the interpolation processing unit 22D of the first embodiment, except that the moving speed distributed by the speed distribution unit 22E is used. Execute. However, as will be described below, the first interpolation processing unit 221F and the second interpolation processing unit 222F execute interpolation processing of different paths on the corner curve and the movement path in parallel.
 例えば、指令ブロックの継ぎ目より前の経路の補間を第1の補間処理部221Fで行う場合は、指令ブロックの継ぎ目よりも後の経路の補間は第2の補間処理部222Fで行うように移動速度を分配する処理を実行する。逆に、指令ブロックの継ぎ目より前の経路の補間を第2の補間処理部222Fで行う場合は、指令ブロックの継ぎ目よりも後の経路の補間を第1の補間処理部221Fで行うように移動速度を分配する処理を実行する。 For example, when the first interpolation processing unit 221F performs the interpolation of the path before the joint of the command block, the moving speed is such that the interpolation of the path after the joint of the command block is performed by the second interpolation processing unit 222F. Execute the process of distributing. On the contrary, when the interpolation of the path before the command block seam is performed by the second interpolation processing unit 222F, the first interpolation processing unit 221F moves so that the path after the command block seam is interpolated Execute processing to distribute speed.
 なお、速度分配部22Eは、コーナ曲線式240が規定されている経路を補間する場合、第1の補間処理部221Fおよび第2の補間処理部222Fが同時に補間処理を行うように移動速度の分配を行う。また、速度分配部22Eは、コーナ曲線式240が規定されていない経路上を補間する場合には、第1の補間処理部221Fまたは第2の補間処理部222Fのいずれかの補間処理のうち、一方のみの処理が行われるように移動速度を分配する。 In addition, when the speed distribution unit 22E interpolates the route in which the corner curve formula 240 is defined, the speed distribution unit 22E distributes the moving speed so that the first interpolation processing unit 221F and the second interpolation processing unit 222F perform the interpolation processing at the same time. I do. In addition, when the speed distribution unit 22E interpolates on a route where the corner curve formula 240 is not defined, among the interpolation processes of the first interpolation processing unit 221F or the second interpolation processing unit 222F, The moving speed is distributed so that only one process is performed.
 以下において、コーナ曲線式がQ(t)であって、速度式がV1(t)であるときに、指令ブロック継ぎ目よりも手前の経路を第1の補間処理部221Fにて補間処理を行い、指令ブロック継ぎ目よりも後の経路を第2の補間処理部222Fにて補間処理を行う場合の補間処理について、図12に示すフローチャートを用いて説明する。 In the following, when the corner curve equation is Q (t) and the velocity equation is V1 (t), the first interpolation processing unit 221F performs interpolation processing on the path before the command block joint, Interpolation processing when the second interpolation processing unit 222F performs interpolation processing on the path after the command block joint will be described with reference to the flowchart shown in FIG.
 ステップS210では、速度分配部22Eは、今回の補間周期における補間対象となる移動経路がコーナ曲線式240が規定された経路を含むか否かの判定を実行し、その後の処理が分岐する。補間対象となる移動経路がコーナ曲線式240が規定された経路を含む場合(ステップS210:Yes)は、ステップS220に移行し、補間対象となる移動経路がコーナ曲線式240が規定された経路を含まない場合(ステップS210:No)は、ステップS250に移行する。 In step S210, the speed distribution unit 22E determines whether or not the movement route to be interpolated in the current interpolation cycle includes a route in which the corner curve equation 240 is defined, and the subsequent processing branches. When the movement path to be interpolated includes a path in which the corner curve formula 240 is defined (step S210: Yes), the process proceeds to step S220, and the movement path to be interpolated is a path in which the corner curve formula 240 is defined. When not including (step S210: No), it transfers to step S250.
 ステップS220は、コーナ曲線式240が規定された経路を補間する場合の速度分配部22Eの処理であり、コーナ曲線始点から移動経路上の距離sまでの距離(s+Δsa)から、指令ブロック継ぎ目における時刻をt=0とする時刻tが計算される。 Step S220 is a process of the speed distribution unit 22E in the case of interpolating a route in which the corner curve equation 240 is defined. From the distance (s + Δsa) from the corner curve starting point to the distance s on the moving route, the time at the command block joint is determined. A time t with t = 0 is calculated.
 具体的には、指令ブロックの継ぎ目より前の移動経路P1における時刻-Δtから時刻tまでの間の移動距離Δs10は、時刻-Δtにおける経路に沿った距離-X1(2×Δt)と、時刻tにおける経路に沿った距離-X1(-t+Δt)の差として計算され、以下の数式(30)で表現される。
 Δs10=-X1(-t+Δt)+X1(2×Δt) …(30)
Specifically, the movement distance Δs10 from the time −Δt to the time t on the movement path P1 before the joint of the command block is the distance −X1 (2 × Δt) along the path at the time −Δt and the time It is calculated as the difference of the distance −X1 (−t + Δt) along the route at t, and is expressed by the following equation (30).
Δs10 = −X1 (−t + Δt) + X1 (2 × Δt) (30)
 また、指令ブロックの継ぎ目より後の移動経路P2における時刻-Δtから時刻tまでの間の移動距離Δs20は、時刻-Δtにおける経路に沿った距離X1(0)と、時刻tにおける経路に沿った距離X1(t+Δt)の差として計算され、以下の数式(31)で表現される。
 Δs20=X1(t+Δt)-X1(0) …(31)
Further, the travel distance Δs20 from the time −Δt to the time t on the travel path P2 after the joint of the command block is the distance X1 (0) along the path at the time −Δt and the path at the time t. It is calculated as the difference of the distance X1 (t + Δt) and is expressed by the following mathematical formula (31).
Δs20 = X1 (t + Δt) −X1 (0) (31)
 そして、Δs10とΔs20の和が、s+Δsaに一致するtが計算される。つまり、Δs10+Δs20=s+Δsaの関係から、数式(30)および数式(31)を用いて、tについて解き、
 t=(s+Δsa)/(2×A×Δt)-Δt …(32)
を計算する。
Then, t in which the sum of Δs10 and Δs20 matches s + Δsa is calculated. That is, from the relationship of Δs10 + Δs20 = s + Δsa, using equation (30) and equation (31), solve for t,
t = (s + Δsa) / (2 × A × Δt) −Δt (32)
Calculate
 ステップS230では、速度分配部22Eは、ステップS220で計算した時刻tから、速度式230を用いて時刻-t+Δtにおける移動経路P1での移動距離s1、時刻t+Δtにおける移動経路P2での移動距離s2を計算する。 In step S230, the speed distribution unit 22E uses the speed equation 230 to calculate the movement distance s1 on the movement path P1 at time −t + Δt and the movement distance s2 on the movement path P2 at time t + Δt from the time t calculated in step S220. calculate.
 具体的には、
 s1=-X1(-t+Δt) …(33)
 s2=X1(t+Δt) …(34)
を計算する。
In particular,
s1 = −X1 (−t + Δt) (33)
s2 = X1 (t + Δt) (34)
Calculate
 ステップS240において、第1の補間処理部221Fは、前回の補間周期におけるs1と今回の補間周期におけるs1との差分を計算し、当該差分を経路P1上の今回の移動距離として求めて出力する。第2の補間処理部222Fは、前回の補間周期におけるs2と今回の補間周期におけるs2との差分を計算し、当該差分を経路P2上の今回の移動距離として求めて出力する。第1の補間処理部221Fおよび第2の補間処理部222FはステップS240の補間処理を並列的に実行する。 In step S240, the first interpolation processing unit 221F calculates the difference between s1 in the previous interpolation cycle and s1 in the current interpolation cycle, and obtains and outputs the difference as the current moving distance on the route P1. The second interpolation processing unit 222F calculates the difference between s2 in the previous interpolation cycle and s2 in the current interpolation cycle, and calculates and outputs the difference as the current moving distance on the path P2. The first interpolation processing unit 221F and the second interpolation processing unit 222F execute the interpolation processing in step S240 in parallel.
 ステップS250では、コーナ曲線式240が規定されていない経路を補間する場合の処理であり、移動経路P1上を補間する場合、速度分配部22Eは、第1の補間処理部221Fに全ての移動速度を分配し、第2の補間処理部222Fへの移動速度の分配量をゼロとする処理を行うとともに、第1の補間処理部221Fは、補間点と移動経路P1の終点との間の距離をs1として設定し、第2の補間処理部222Fは、s2をゼロとする処理を行う。また、移動経路P2上を補間する場合、速度分配部22Eは、第1の補間処理部221Fへの移動速度の分配量をゼロとし、第2の補間処理部222Fに全ての移動速度を分配する処理を行うとともに、第1の補間処理部221Fは、s1をゼロとし、第2の補間処理部222Fは、移動経路P2の始点と補間点との間の距離をs2として設定する処理を行う。第1の補間処理部221Fおよび第2の補間処理部222FはステップS250の補間処理を並列的に実行する。 Step S250 is a process for interpolating a route for which the corner curve equation 240 is not defined. When interpolating on the movement route P1, the speed distribution unit 22E sends all movement speeds to the first interpolation processing unit 221F. And the first interpolation processing unit 221F calculates the distance between the interpolation point and the end point of the movement path P1. Set as s1, the second interpolation processing unit 222F performs a process of setting s2 to zero. Further, when interpolating on the movement path P2, the speed distribution unit 22E sets the distribution amount of the movement speed to the first interpolation processing unit 221F to be zero, and distributes all the movement speeds to the second interpolation processing unit 222F. While performing the processing, the first interpolation processing unit 221F sets s1 to zero, and the second interpolation processing unit 222F performs processing to set the distance between the starting point of the movement path P2 and the interpolation point as s2. The first interpolation processing unit 221F and the second interpolation processing unit 222F execute the interpolation processing in step S250 in parallel.
 第1の補間処理部221Fおよび第2の補間処理部222Fは、速度分配部22Eが分配した速度を入力として、移動経路P1およびP2の補間を行い、補間した結果の移動量を加算部22Gで加算し、移動指令220としてサーボアンプ4に出力する。 The first interpolation processing unit 221F and the second interpolation processing unit 222F use the speed distributed by the speed distribution unit 22E as an input, perform the interpolation of the movement paths P1 and P2, and add the movement amount as a result of the interpolation by the addition unit 22G. Addition and output to the servo amplifier 4 as a movement command 220.
 以上のようにして、第1の補間処理部221Fは、経路P1上を補間する処理を行い、第2の補間処理部222Fは、経路P2上を補間する処理を行う。即ち、速度分配部22Eによって分配された速度に応じて、それぞれの経路上の補間が実行される。 As described above, the first interpolation processing unit 221F performs the process of interpolating on the route P1, and the second interpolation processing unit 222F performs the process of interpolating on the route P2. That is, interpolation on each path is executed according to the speed distributed by the speed distribution unit 22E.
 以上説明したように、コーナ曲線式に応じて複数の補間処理部に移動速度を分配することで、速度波形計算部23で計算した速度式230に応じて、許容経路誤差7に一致する平滑化経路上を平滑化経路の出入り口における速度の歪みをなく移動させることが可能となる。これにより、加減速波形が複数段状になることを回避できるので、移動時間を短くすることが可能となる。 As described above, by distributing the moving speed to a plurality of interpolation processing units according to the corner curve equation, smoothing that matches the allowable path error 7 according to the velocity equation 230 calculated by the velocity waveform calculating unit 23. It is possible to move on the route without distortion of speed at the entrance / exit of the smoothing route. As a result, it is possible to avoid the acceleration / deceleration waveform from having a plurality of stages, so that the movement time can be shortened.
 実施の形態1および2にかかる数値制御装置1によれば、加工プログラム2に記載された各移動指令の接続部を平滑化するとともに、加工プログラム2に記載された移動経路と平滑化した後の経路の接続部における速度を滑らかにすることが可能となり、加減速における無駄時間を削減することが可能となる。さらに、速度波形が歪むことにより発生する工作機械の振動を低減することが可能になるといった従来にない顕著な効果が得られる。 According to the numerical control device 1 according to the first and second embodiments, the connection portion of each movement command described in the machining program 2 is smoothed, and the movement path described in the machining program 2 is smoothed. The speed at the connection part of the path can be smoothed, and the dead time in acceleration / deceleration can be reduced. Furthermore, an unprecedented remarkable effect is obtained such that it is possible to reduce the vibration of the machine tool caused by the distortion of the velocity waveform.
 さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。 Furthermore, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent requirements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and is described in the column of the effect of the invention. When an effect is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention. Furthermore, the constituent elements over different embodiments may be appropriately combined.
 1 数値制御装置、2 加工プログラム、4 サーボアンプ、4X X軸アンプ、4Y Y軸アンプ、4Z Z軸アンプ、5 許容加速度、6 許容加加速度、7 許容経路誤差、21 解析処理部、22 移動指令生成部、22A コーナ曲線挿入部、22B コーナ曲線速度計算部、22C 加減速処理部、22D 補間処理部、22E 速度分配部、22G 加算部、23 速度波形計算部、24 コーナ曲線計算部、25 データベース保持部、200 送り速度、210 移動データ、220 移動指令、230 速度式、240 コーナ曲線式、221F 第1の補間処理部、222F 第2の補間処理部。 1 numerical control device, 2 machining program, 4 servo amplifier, 4X X axis amplifier, 4Y Y axis amplifier, 4Z Z axis amplifier, 5 allowable acceleration, 6 allowable jerk, 7 allowable path error, 21 analysis processing unit, 22 movement command Generation unit, 22A corner curve insertion unit, 22B corner curve speed calculation unit, 22C acceleration / deceleration processing unit, 22D interpolation processing unit, 22E speed distribution unit, 22G addition unit, 23 speed waveform calculation unit, 24 corner curve calculation unit, 25 database Holding section, 200 feed speed, 210 movement data, 220 movement command, 230 speed formula, 240 corner curve formula, 221F first interpolation processing section, 222F second interpolation processing section.

Claims (3)

  1.  複数の並進軸によりテーブルまたは工具を移動させることにより前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置において、
     複数の指令ブロックを含む加工プログラムに基づいて、移動経路および前記移動経路上の送り速度を出力する解析処理部と、
     予め設定された許容加速度および許容加加速度と前記送り速度に基づいて、停止状態と前記送り速度の状態の間の速度波形を計算する速度波形計算部と、
     予め設定された許容経路誤差、前記移動経路、および前記速度波形に基づいて、前記指令ブロックの継ぎ目において、前記移動経路を平滑化したコーナ曲線の曲線式を計算するコーナ曲線計算部と、
     前記移動経路および前記曲線式に基づいて、前記並進軸それぞれへの移動指令を出力する移動指令生成部と、
     を備えることを特徴とする数値制御装置。
    In a numerical control device for a machine tool that controls the positional relationship between a work on the table and the tool by moving the table or the tool by a plurality of translation axes,
    Based on a machining program including a plurality of command blocks, an analysis processing unit that outputs a movement path and a feed speed on the movement path;
    A speed waveform calculation unit that calculates a speed waveform between a stop state and the feed speed state based on a preset allowable acceleration and allowable jerk and the feed speed;
    A corner curve calculation unit that calculates a curve equation of a corner curve obtained by smoothing the movement path at a joint of the command block based on a preset allowable path error, the movement path, and the velocity waveform;
    A movement command generator for outputting a movement command to each of the translation axes based on the movement path and the curve equation;
    A numerical control device comprising:
  2.  前記移動経路生成部は、
     前記曲線式に基づいて、前記移動経路に前記コーナ曲線を挿入するコーナ曲線挿入部と、
     前記曲線式に基づいて、前記コーナ曲線上での移動速度を計算するコーナ曲線速度計算部と、
     前記コーナ曲線が挿入された前記移動経路に沿った移動量および軸比に基づいて、前記許容加速度および前記許容加加速度の制限を満たすように、前記移動経路に沿った加減速後速度を計算する加減速処理部と、
     前記加減速後速度および前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する補間処理部と、
     を有する
     ことを特徴とする請求項1に記載の数値制御装置。
    The movement path generation unit
    A corner curve insertion unit that inserts the corner curve into the movement path based on the curve formula;
    A corner curve speed calculation unit for calculating a moving speed on the corner curve based on the curve formula;
    Based on the movement amount and the axial ratio along the movement path in which the corner curve is inserted, the post-acceleration / deceleration speed along the movement path is calculated so as to satisfy the limits of the allowable acceleration and the allowable jerk. An acceleration / deceleration processing unit;
    Based on the post-acceleration / deceleration speed and the travel speed, the travel path is interpolated using the travel speed on the corner curve, and the post-acceleration / deceleration speed is used for the travel path other than the corner curve. An interpolation processing unit for interpolating the movement path;
    The numerical control device according to claim 1, comprising:
  3.  前記移動経路生成部は、
     前記移動経路に沿った移動量および軸比に基づいて、前記許容加速度および前記許容加加速度の制限を満たすように、前記移動経路に沿った加減速後速度を計算する加減速処理部と、
     前記曲線式および前記加減速後速度に基づいて、前記コーナ曲線上の移動速度を分配する速度分配部と、
     前記加減速後速度および前記速度分配部によって分配された前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する第1補間処理部と、
     前記加減速後速度および前記速度分配部によって分配された前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する第2補間処理部と、
     を有し、
     前記第1補間処理部と前記第2補間処理部とは、前記コーナ曲線上および前記移動経路上の異なる経路の補間処理を並列的に実行する
     ことを特徴とする請求項1に記載の数値制御装置。
    The movement path generation unit
    An acceleration / deceleration processing unit that calculates a post-acceleration / deceleration speed along the movement path so as to satisfy the limits of the allowable acceleration and the allowable jerk based on the movement amount and the axial ratio along the movement path;
    A speed distribution unit that distributes a moving speed on the corner curve based on the curve formula and the speed after acceleration / deceleration;
    Based on the speed after acceleration / deceleration and the moving speed distributed by the speed distributing unit, the moving path is interpolated using the moving speed on the corner curve, and the moving path other than the corner curve is interpolated. A first interpolation processing unit for interpolating the movement path using the post-acceleration / deceleration speed;
    Based on the speed after acceleration / deceleration and the moving speed distributed by the speed distributing unit, the moving path is interpolated using the moving speed on the corner curve, and the moving path other than the corner curve is interpolated. A second interpolation processing unit for interpolating the movement path using the post-acceleration / deceleration speed;
    Have
    2. The numerical control according to claim 1, wherein the first interpolation processing unit and the second interpolation processing unit execute interpolation processing of different paths on the corner curve and the moving path in parallel. apparatus.
PCT/JP2014/071328 2014-08-12 2014-08-12 Numerical control device WO2016024338A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201480081114.1A CN106662860B (en) 2014-08-12 2014-08-12 Numerical control device
JP2016542470A JP6410826B2 (en) 2014-08-12 2014-08-12 Numerical controller
PCT/JP2014/071328 WO2016024338A1 (en) 2014-08-12 2014-08-12 Numerical control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/071328 WO2016024338A1 (en) 2014-08-12 2014-08-12 Numerical control device

Publications (1)

Publication Number Publication Date
WO2016024338A1 true WO2016024338A1 (en) 2016-02-18

Family

ID=55303982

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/071328 WO2016024338A1 (en) 2014-08-12 2014-08-12 Numerical control device

Country Status (3)

Country Link
JP (1) JP6410826B2 (en)
CN (1) CN106662860B (en)
WO (1) WO2016024338A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085533A (en) * 2014-10-23 2016-05-19 ファナック株式会社 Numerical control device capable of designating shape of arc or curved surface having small curvature
CN107272758A (en) * 2017-08-01 2017-10-20 深圳市雷赛控制技术有限公司 The method for improving and device of spooling equipment efficiency and stationarity
CN113874799A (en) * 2019-07-24 2021-12-31 株式会社日立制作所 NC program creation system and NC program creation method
CN113885443A (en) * 2020-07-01 2022-01-04 大族激光科技产业集团股份有限公司 Linear acceleration and deceleration control method based on segmented filtering and acceleration limiting
JP7355952B1 (en) 2022-08-23 2023-10-03 ファナック株式会社 Control device and computer readable recording medium
JP7355951B1 (en) * 2022-08-23 2023-10-03 ファナック株式会社 Control device and computer readable recording medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6740199B2 (en) * 2017-10-30 2020-08-12 ファナック株式会社 Numerical control device, CNC machine tool, numerical control method, and numerical control program
JP7047525B2 (en) * 2018-03-26 2022-04-05 日本電産株式会社 Robot control device, robot control method, program
DE112018000172B4 (en) * 2018-07-05 2020-09-24 Mitsubishi Electric Corporation Numerical control device
JP6823037B2 (en) * 2018-11-09 2021-01-27 ファナック株式会社 Numerical control device, machining route setting method and program

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764621A (en) * 1993-08-25 1995-03-10 Matsushita Electric Ind Co Ltd Track interpolating device for robot
JPH07210225A (en) * 1994-01-25 1995-08-11 Okuma Mach Works Ltd Numerical controller
JPH10329068A (en) * 1997-05-30 1998-12-15 Tokico Ltd Teaching device for robot
JPH11194813A (en) * 1997-12-26 1999-07-21 Yaskawa Electric Corp Operation command generating method for industrial machine
JP2006285885A (en) * 2005-04-05 2006-10-19 Yaskawa Electric Corp Parallel processing method of distributed motion control system and motion controller
JP2010511919A (en) * 2005-03-23 2010-04-15 ハーコ カンパニーズ,インコーポレイテッド Tolerance-based path design and control methods
JP2010267169A (en) * 2009-05-18 2010-11-25 Sodick Co Ltd Numerical controller and program for controlling the same
JP2011134169A (en) * 2009-12-25 2011-07-07 Mitsubishi Heavy Ind Ltd Control parameter adjusting method and adjusting device
JP2012137990A (en) * 2010-12-27 2012-07-19 Brother Ind Ltd Numerical control unit, movement control method, movement control program, and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3034843B2 (en) * 1998-05-28 2000-04-17 ファナック株式会社 Processing machine control device
JP5192578B2 (en) * 2011-06-03 2013-05-08 ファナック株式会社 Numerical control device with a function to correct the movement path of machining programs
WO2013038543A1 (en) * 2011-09-15 2013-03-21 三菱電機株式会社 Processing program creation device, numeric control device, processing system, processing program creation method, numeric control method, and processing program
JP5255108B2 (en) * 2011-11-04 2013-08-07 ファナック株式会社 Numerical control device for speed control by command path speed condition

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764621A (en) * 1993-08-25 1995-03-10 Matsushita Electric Ind Co Ltd Track interpolating device for robot
JPH07210225A (en) * 1994-01-25 1995-08-11 Okuma Mach Works Ltd Numerical controller
JPH10329068A (en) * 1997-05-30 1998-12-15 Tokico Ltd Teaching device for robot
JPH11194813A (en) * 1997-12-26 1999-07-21 Yaskawa Electric Corp Operation command generating method for industrial machine
JP2010511919A (en) * 2005-03-23 2010-04-15 ハーコ カンパニーズ,インコーポレイテッド Tolerance-based path design and control methods
JP2006285885A (en) * 2005-04-05 2006-10-19 Yaskawa Electric Corp Parallel processing method of distributed motion control system and motion controller
JP2010267169A (en) * 2009-05-18 2010-11-25 Sodick Co Ltd Numerical controller and program for controlling the same
JP2011134169A (en) * 2009-12-25 2011-07-07 Mitsubishi Heavy Ind Ltd Control parameter adjusting method and adjusting device
JP2012137990A (en) * 2010-12-27 2012-07-19 Brother Ind Ltd Numerical control unit, movement control method, movement control program, and storage medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10429814B2 (en) 2014-10-23 2019-10-01 Fanuc Corporation Numerical control apparatus
US10684604B2 (en) 2014-10-23 2020-06-16 Fanuc Corporation Numerical control apparatus enabling specification of a circular arc shape movement trajectory
JP2016085533A (en) * 2014-10-23 2016-05-19 ファナック株式会社 Numerical control device capable of designating shape of arc or curved surface having small curvature
CN107272758A (en) * 2017-08-01 2017-10-20 深圳市雷赛控制技术有限公司 The method for improving and device of spooling equipment efficiency and stationarity
CN107272758B (en) * 2017-08-01 2020-08-07 深圳市雷赛控制技术有限公司 Method and device for improving efficiency and stability of winding equipment
CN113874799B (en) * 2019-07-24 2024-04-02 株式会社日立制作所 NC program generation system and NC program generation method
CN113874799A (en) * 2019-07-24 2021-12-31 株式会社日立制作所 NC program creation system and NC program creation method
CN113885443A (en) * 2020-07-01 2022-01-04 大族激光科技产业集团股份有限公司 Linear acceleration and deceleration control method based on segmented filtering and acceleration limiting
CN113885443B (en) * 2020-07-01 2023-11-21 大族激光科技产业集团股份有限公司 Linear acceleration and deceleration control method based on piecewise filtering and jerk limiting
JP7355951B1 (en) * 2022-08-23 2023-10-03 ファナック株式会社 Control device and computer readable recording medium
WO2024042618A1 (en) * 2022-08-23 2024-02-29 ファナック株式会社 Control device and computer-readable recording medium
WO2024042617A1 (en) * 2022-08-23 2024-02-29 ファナック株式会社 Control device and computer-readable recording medium
JP7355952B1 (en) 2022-08-23 2023-10-03 ファナック株式会社 Control device and computer readable recording medium

Also Published As

Publication number Publication date
CN106662860A (en) 2017-05-10
JP6410826B2 (en) 2018-10-24
JPWO2016024338A1 (en) 2017-04-27
CN106662860B (en) 2019-01-08

Similar Documents

Publication Publication Date Title
JP6410826B2 (en) Numerical controller
Sencer et al. High speed cornering strategy with confined contour error and vibration suppression for CNC machine tools
JP5762625B2 (en) Trajectory control device
JP5653972B2 (en) Numerical control device with multi-curve insertion section
US7902785B2 (en) Method and device for guiding the movement of a moveable machine element of a machine
TWI512417B (en) Apparatus for creating processing program, numerical control apparatus, processing system, method for creating processing program, and numerical control method
US7348748B2 (en) Motorized system and method of control
JP6450732B2 (en) Numerical controller
JP5800888B2 (en) Numerical control device with smoothing function for operation by table format data
US10048675B2 (en) Numerical controller performing 3-dimensional interference check corresponding to feedrate change
JP2013030103A (en) Numerical controller
JP2011145884A (en) Locus control device
Hayasaka et al. A lightweight interpolation algorithm for short-segmented machining tool paths to realize vibration avoidance, high accuracy, and short machining time
JP4796936B2 (en) Processing control device
JP2015035021A (en) Numerical control device
JP6321605B2 (en) Numerical control device for speed control by curvature and curvature variation
US10444728B2 (en) Numerical controller performing positioning for avoiding interference with workpiece
JP2013069123A (en) Numerical control device performing speed control by allowable inward-turning amount in corner section
JP2014229134A (en) Numerical controller for controlling feed speed
JP4627740B2 (en) Numerical controller
WO2020079829A1 (en) Numerical control device and method for controlling additive manufacturing device
JP2018030162A (en) Laser control device
JP6356658B2 (en) Numerical control device with easy press adjustment
CN116710862A (en) Numerical controller
JP5573664B2 (en) Numerical control apparatus, movement control method, movement control program, and storage medium

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: 14899846

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016542470

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14899846

Country of ref document: EP

Kind code of ref document: A1