WO2018020663A1 - Numerical control device - Google Patents

Numerical control device Download PDF

Info

Publication number
WO2018020663A1
WO2018020663A1 PCT/JP2016/072349 JP2016072349W WO2018020663A1 WO 2018020663 A1 WO2018020663 A1 WO 2018020663A1 JP 2016072349 W JP2016072349 W JP 2016072349W WO 2018020663 A1 WO2018020663 A1 WO 2018020663A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
shape
point
machining program
program command
Prior art date
Application number
PCT/JP2016/072349
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 US16/306,119 priority Critical patent/US20190137975A1/en
Priority to PCT/JP2016/072349 priority patent/WO2018020663A1/en
Priority to JP2017509789A priority patent/JP6242539B1/en
Publication of WO2018020663A1 publication Critical patent/WO2018020663A1/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
    • 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
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34083Interpolation general

Definitions

  • the present invention relates to a numerical control device that numerically controls a machine tool that processes a free-form surface according to a processing program.
  • the processing may be performed according to a processing program in which a free curved surface is approximated by a plurality of continuous command paths.
  • a machining program may be created manually if it is a simple shape, but in the case of a three-dimensional shape including a free-form surface, it is created with a CAM (Computer Aided Manufacturing) on an external device different from the numerical control device. It is common to be done.
  • CAM Computer Aided Manufacturing
  • a machining program is created by CAM, a machining program is generated in which the length of one command path is shortened in order to represent the free-form surface as accurately as possible.
  • a machining program having a minute step in the command path may be created due to a calculation error.
  • the command points of adjacent paths such as the forward path and the return path of the reciprocating machining path will vary. Therefore, there is a problem that scratches occur when processed. Further, when the line segment length of the machining program output from the CAM is long, if the operation is performed in accordance with the command path of the created machining program, the command path of the tool moving to the polygonal line shape is transferred to the workpiece as it is. . Thereby, the target smooth processed surface may not be obtained.
  • a noise block such as a small step in the machining program command path Smoothing techniques that reduce the effect are used.
  • Patent Document 1 a plurality of target points are set at equal intervals on a tool path for the purpose of obtaining a smooth machining surface without generating a step between adjacent tool paths.
  • the approximate curve is calculated based on a plurality of set target points, and a tool path along the approximate curve is generated.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device that can perform high-quality machining based on the shape of a machining program.
  • the present invention provides a program command shape determination unit that determines the shape of a command path formed by a command point based on information on the command point included in the machining program; An insertion point generation unit that generates an insertion point based on the determination result of the program command shape determination unit and information on the command point.
  • the present invention further includes an interpolation processing unit that executes interpolation based on the insertion point to generate a tool path, and causes the motor control unit to control the motor based on the tool path.
  • the numerical control device has an effect that high-quality machining can be performed based on the shape of the machining program.
  • FIG. 1 is a block diagram showing an example of a configuration of a numerical controller according to a first embodiment of the present invention.
  • the figure which shows an example of the circular arc-shaped process program command point in Embodiment 1 The figure which shows an example of the machining program command point of the corner shape in Embodiment 1.
  • the figure which shows an example of the circular arc-shaped process program command point in Embodiment 1 The figure which shows another example of the circular arc-shaped process program command point in Embodiment 1.
  • FIG. 1 The flowchart which shows the procedure from the reading of the processing program in Embodiment 1 to shape determination
  • the figure which shows the circular-arc-shaped machining program command point in Embodiment 1 The figure which shows another machining program command point of the circular arc shape in Embodiment 1.
  • generated with respect to circular arc shape in Embodiment 1 The figure which shows a mode that linear approximation interpolation is performed based on the insertion point of the corner shape in Embodiment 1.
  • 1 is a diagram illustrating a hardware configuration in a case where components of the numerical control device according to the first embodiment are realized by a computer.
  • FIG. 1 is a block diagram showing an example of the configuration of the numerical control device 2 according to the first embodiment of the present invention.
  • the numerical control device 2 according to the first embodiment is a trajectory control device, and is used for an apparatus such as an NC (Numerical Control) machine tool or an industrial robot that operates according to a machining program command.
  • FIG. 1 shows an example in which a numerical controller 2 is used in an NC machine tool 1.
  • the numerical controller 2 controls a motor control unit 16 such as a servo amplifier based on the input machining program 11.
  • the machining program 11 is configured with contents such as a selection signal of a tool to be used, data indicating a movement trajectory of a tool to be controlled, that is, a command path, and tool movement speed data, as well-known G code data.
  • the path formed by the command points is the command path
  • the data representing the command path is coordinate information of the machining program command points that are the command points.
  • the machining program 11 is generated by CAM based on a three-dimensional design drawing created by CAD (Computer-Aided Design) or the like. When the free curve represented by the three-dimensional design drawing described above is used as the movement path, the CAM divides the free curve into minute sections, and replaces the divided minute section curves with line segments.
  • a machining program is created that approximates a curve with a broken line and commands a command path for linear interpolation of the free curve by the approximated broken line.
  • the numerical control apparatus 2 includes a program command reading unit 12 that reads information on a machining program command point from an input machining program 11 and a machining command received from the program command reading unit 12. Based on the program command position 22, the program command shape determination unit 13 that determines the shape of the command path for which machining is commanded, the determination result 23 by the program command shape determination unit 13, and the insertion point based on the machining program command position 22 An insertion point generation unit 14 to be generated, and an interpolation processing unit 15 that generates a tool path by interpolation based on the insertion point generated by the insertion point generation unit 14 and outputs a tool movement amount for each interpolation cycle as a motor command position 25.
  • the machining program command position 22 is machining program command point information.
  • the tool path is a corrected command path.
  • the interpolation period is a constant period determined as a specification for the numerical control device 2.
  • the motor control unit 16 controls the motor based on the tool path obtained by the interpolation processing unit 15. Specifically, the motor control unit 16 receives the motor command position 25 from the interpolation processing unit 15 and controls the motor current and torque so that the motor realizes the movement amount for each interpolation cycle along the tool path. .
  • the motor drives a plurality of shafts.
  • the program command shape determination unit 13 determines the program shape based on the command path indicated by the machining program command position 22 received from the program command reading unit 12.
  • FIG. 2 is a diagram showing an example of a corner-shaped machining program command point in the first embodiment.
  • FIG. 3 is a diagram showing an example of arc-shaped machining program command points in the first embodiment.
  • FIG. 2 shows a machining program command composed of five machining program command points P1, P2, P3, P4 and P5 each having an angle ⁇ a.
  • the position that is, the coordinates of the machining program command point is commanded.
  • Information on the coordinates of the machining program command point is given to the program command shape determination unit 13 as a machining program command position 22. Therefore, the program command shape determination unit 13 can calculate the angle ⁇ a indicating the shape of the command path commanded by the machining program 11 as in the following formula (1).
  • the angle ⁇ a is an angle formed by connected line segments serving as command paths.
  • Rx and Ry are the x component and the y component of the ratio change R of each axis driven by the motor.
  • the ratio change R of each axis is an amount of change in the ratio of the movement amount of each axis that the machining program 11 commands to move.
  • the coordinates of P1 are (x 1 , y 1 )
  • the coordinates of P2 are (x 2 , y 2 )
  • the coordinates of P3 are (x 3 , y 3 )
  • the distance between P1 and P2 is L1
  • P2 and P3 Rx and Ry are expressed by the following formulas (2) and (3), where L2 is the distance between the two.
  • FIG. 3 shows a command path approximating the arc shape.
  • the angle formed by the line segments at each machining program command point to which the line segment serving as the command path is connected is calculated as shown by the mathematical formula (1), the angle at all the machining program command points shown in FIG. ⁇ a, which is the same angle as the angle ⁇ a in FIG.
  • the shape determination may be executed based on the ratio change R of each axis, in addition to the angle ⁇ a formed by the line segments serving as the command path. However, even when the ratio change R of each axis is calculated, the ratio change R of each axis has the same value in FIGS.
  • the calculation method of the clamp speed at the corner is different from the calculation method of the clamp speed at the arc. Therefore, when the angle formed by the line segments that form the command path as shown in FIGS. 2 and 3 is the same angle, the correct speed calculation is performed if the process is performed as the corner shape despite the arc shape. Can not. Failure to calculate the correct speed can cause damage to the machined surface.
  • the program command shape determination unit 13 calculates the index value I.
  • the index value I is a change amount of the ratio change R of each axis.
  • the program command shape determination unit 13 calculates the index value I and determines the program shape based on the index value I.
  • the index value I at a certain machining program command point is the absolute value of the difference between the ratio change R of each axis at the machining program command point and the ratio change R of each axis at the next machining program command point, that is, for each axis. It is assumed that the change amount of the ratio change R. In the case of the corner shape of FIG.
  • the index value I at P2 is a change amount between the ratio change R at P2 and the ratio change R at P3, and therefore has a large value at the command point at P2. As shown in FIG. 2, when P2 to P5 are linear, the index values after P3 are zero.
  • the program command shape determination unit 13 can determine the program command shape. That is, as shown in the flowchart of FIG. 11 to be described later, when the ratio change R of each axis is non-zero and the change amount of the ratio change R of each axis is larger than a predetermined value, it is determined as a corner shape.
  • the ratio change R of each axis When the ratio change R of each axis is non-zero and the change amount of the ratio change R of each axis is smaller than a predetermined value, it is determined that the shape is an arc. When the ratio change R of each axis is zero, that is, when the angle formed by the line segments serving as command paths is 0 °, it can be determined that the shape is linear.
  • the program command shape determination unit 13 calculates an angle ⁇ a formed by line segments connected as command paths based on the ratio change R of each axis, and calculates an index value I of the ratio change R of each axis. It is described as being calculated as a change amount.
  • the index value I may be a value such as the amount of change in curvature or the amount of change in speed, that is, acceleration.
  • the ratio change R, curvature, and speed of each axis are numerical values calculated based on information on a plurality of machining program command points including the machining program command points for each machining program command point. Therefore, the index value I may be a numerical value change calculated based on information on a plurality of machining program command points.
  • FIG. 4 is a diagram illustrating an example of a corner-shaped machining program command point in the first embodiment.
  • FIG. 5 is a diagram illustrating another example of corner-shaped machining program command points in the first embodiment.
  • the calculation of the corner shape index value I in the first embodiment is as follows. As shown in FIG. 4, it may be executed only at three machining program command points of simple P1, P2, and P3 that form the angle ⁇ a. However, unlike FIG. 4, as shown in FIG. 5, the index value I may be calculated at a command point that is a joint between the line segments when the command path is divided into smaller line segments. is there. Furthermore, the intervals between the command points shown in FIG. 5 are not equal intervals but non-uniform intervals. Even when the command point is set as shown in FIG. 5, the index value I increases only at the point P4 that is a corner. The index value I at P2 in FIG. 4 and the index value I at P4 in FIG. 5 are the same value, and the program command shape determination unit 13 can determine that the shape is the same.
  • FIG. 6 is a diagram illustrating an example of a circular arc-shaped machining program command point according to the first embodiment.
  • FIG. 7 is a diagram showing another example of arc-shaped machining program command points in the first embodiment.
  • the program command shape determination unit 13 can similarly determine the arc shape in the case of FIG. 6 and FIG.
  • FIG. 8 is a diagram illustrating an example of a machining program command point including a corner-shaped noise block according to the first embodiment.
  • the machining program command points may include P2 and P4 that are noise blocks.
  • the program command reading unit 12 pre-reads the machining program 11 and executes the calculation of the ratio change R of each axis at the machining program command point globally.
  • the global calculation of the ratio change R of each axis at the machining program command point is not only local information such as information on the machining program command point and machining program command points before and after the machining program command point, but further away
  • it means that the ratio change R of each axis is calculated using information on other machining program command points.
  • a specific method for globally calculating the ratio change R of each axis will be described using P3 in FIG. 8 as an example.
  • An example of a method for globally calculating the ratio change R of each axis is to omit P2 and P4 which are noise blocks which are command points before and after P3 when calculating the ratio change R of each axis in P3.
  • P1, P3 and P5 are used to obtain the ratio change R.
  • the average of the ratio change R of each axis obtained using P2, P3 and P4 and the ratio change R of each axis obtained using P1, P3 and P5 is calculated for each final P3.
  • There is a method for obtaining the ratio change R of the shaft There is a method for obtaining the ratio change R of the shaft.
  • the method of executing the ratio change R calculation globally is not limited to these. As described above, if the ratio change R in P3 is obtained by omitting P2 and P4 which are noise blocks in FIG. 8, the value is the same as the ratio change R in P2
  • the index value I at P3 in FIG. 8 and the index value I at P2 in FIG. 4 are the same or substantially the same value.
  • the shapes of FIGS. 4 and 8 are similarly determined to be corner shapes.
  • FIG. 9 is a diagram illustrating an example of a machining program command point in which adjacent command paths in the first embodiment have corner shapes with different angles.
  • FIG. 9 shows machining program command points of adjacent command paths, and machining is performed with a reciprocating scanning line.
  • the angle formed by the upper command path in FIG. 9 is ⁇ a
  • the angle formed by the lower command path is ⁇ b different from ⁇ a.
  • the ratio change R and index value I of each axis can be obtained at the point where the angle of each route changes. If the ratio change R of each axis is obtained, the angle is also obtained from Equation (1). Therefore, based on the index value I, the program command shape determination unit 13 determines that the upper command path in FIG. 9 and the command path in the lower part of FIG. 9 can be determined as a corner shape with an angle ⁇ b.
  • FIG. 10 is a diagram showing still another example of arc-shaped machining program command points in the first embodiment.
  • FIG. 10 shows an arc shape when the angles formed by the command paths at the respective machining program command points are different from ⁇ a, ⁇ b, and ⁇ c. If the angles ⁇ a, ⁇ b, and ⁇ c are not significantly different, the index value I at each command point is a small value close to 0. As a result, even when the angles formed by the command paths at the command points are different as shown in FIG. 10, the program command shape determining unit 13 can determine that the command path is an arc shape.
  • FIG. 11 is a flowchart showing a procedure from reading of the machining program 11 to shape determination in the first embodiment.
  • the program command reading unit 12 reads the machining program 11 (step S11).
  • the program command shape determination unit 13 calculates the angle ⁇ formed by the command path at the machining program command point based on the read machining program 11 (step S12).
  • the ratio change R may be performed globally as described above.
  • the program command shape determination unit 13 determines whether or not the absolute value
  • the program command shape determination unit 13 determines that the command path is a linear shape (step S16).
  • the program command shape determination unit 13 calculates the index value I (step S14).
  • the program command shape determination unit 13 determines whether or not the index value I is greater than a predetermined value Ic (I> Ic) (step S15). When the index value I is not greater than Ic (step S15: No), the program command shape determination unit 13 determines that the command path is an arc shape (step S17). When the index value I is larger than Ic (step S15: Yes), the program command shape determination unit 13 determines that the command path is a corner shape (step S18).
  • the insertion point generation unit 14 generates an insertion point based on the determination result 23 of the command path shape determination in the program command shape determination unit 13 and the machining program command position 22 received from the program command reading unit 12.
  • the insertion point is a reference point for generating a tool path by interpolating the command path.
  • FIG. 12 is a diagram showing corner shape machining program command points in the first embodiment.
  • FIG. 13 is a diagram illustrating another machining program command point having a corner shape according to the first embodiment. 12 and 13 show the state of the machining program command points in the command path having the same corner shape.
  • FIG. 14 is a diagram showing an example of insertion points generated for the corner shape in the first embodiment.
  • FIG. 14 shows the arrangement of the insertion points Q1, Q2, Q3, Q4, and Q5 generated by the insertion point generation unit 14 with respect to the command paths of FIGS. 12 and 13 that are determined to have a corner shape.
  • the command path is determined to have a corner shape based on the index value I at the machining program command point P4, and in FIG. 13, the index value I at the machining program command point P2, so in FIG.
  • An insertion point Q3 is provided at a point corresponding to P4 in FIG. 12 or P2 in FIG. 13, and Q2 and Q4 that are equidistant from P4 in FIG. 12 or P2 in FIG. 13 are further arranged as insertion points.
  • FIG. 12 and FIG. 13 show machining program command points that connect straight command paths having different line segment lengths so that the command path has a corner shape.
  • FIG. 15 is a diagram illustrating another example of the insertion point generated for the corner shape in the first embodiment.
  • FIG. 15 shows the arrangement of the insertion points Q1, Q2, Q3, and Q4 generated by the insertion point generation unit 14 with respect to the command paths of FIGS. 12 and 13 that are determined to have a corner shape.
  • FIG. 16 is a diagram showing arc-shaped machining program command points in the first embodiment.
  • FIG. 17 is a diagram showing another machining program command point having an arc shape in the first embodiment. 16 and 17 show the state of machining program command points in the same arc-shaped command path.
  • FIG. 18 is a diagram illustrating an example of insertion points generated for the arc shape in the first embodiment.
  • FIG. 18 shows the arrangement of the insertion points Q1, Q2,..., Q9, Q10 generated by the insertion point generation unit 14 with respect to the command paths of FIGS.
  • the program command shape determination unit 13 determines that the shape of the command path commanded by the machining program 11 is an arc shape
  • the insertion point generation unit 14 arranges the insertion points at equal intervals as shown in FIG. . Thereby, the smooth process in a circular arc shape part is attained.
  • the insertion point generation unit 14 determines that the tool path generated by the interpolation processing unit 15 is within the tolerance set by the parameter setting unit 17 from the machining program command point.
  • the interpolation processing unit 15 receives the information of the insertion point arranged by the insertion point generation unit 14 as the insertion point position 24, executes interpolation based on the insertion point, and generates a tool path.
  • the interpolation processing unit 15 performs interpolation based on the insertion point by linear approximation interpolation or curve approximation interpolation with respect to the insertion point.
  • linear approximation interpolation or curve approximation interpolation with respect to the insertion point.
  • the curve approximation NURBS curve approximation, Bezier curve approximation, B-spline curve approximation, or spline curve approximation can be applied.
  • FIG. 19 is a diagram showing a state in which linear approximation interpolation is executed based on the corner-shaped insertion point in the first embodiment.
  • FIG. 19 shows the tool path generated by the linear approximation interpolation with respect to the insertion point arranged as shown in FIG. 14 by a solid line. The tool path in this case overlaps the command path before correction.
  • FIG. 20 is a diagram illustrating a state in which curve approximation interpolation is performed based on the insertion point of the corner shape in the first embodiment.
  • FIG. 20 shows the tool path generated by the curve approximation interpolation with respect to the insertion point arranged as shown in FIG. 15 by a solid line. The broken line indicates the command path before correction.
  • FIG. 21 is a flowchart showing a procedure from generation of an insertion point to generation of a tool path in the first embodiment.
  • the insertion point generator 14 generates an insertion point based on the determination result 23 and the machining program command position 22 (step S21).
  • the interpolation processing unit 15 receives the insertion point position 24 and generates a tool path by performing interpolation using a predetermined interpolation method based on the insertion point (step S22).
  • the interpolation processing unit 15 calculates a clamping speed based on the determination result 23 (step S23).
  • the determination result 23 is “the command path has a corner shape”
  • the interpolation processing unit 15 calculates the allowable speed of the corner as the clamp speed.
  • the determination result 23 is a determination that “the command path has an arc shape”
  • the interpolation processing unit 15 calculates the arc clamp speed as the clamp speed.
  • the interpolation processing unit 15 calculates the tool movement amount for each interpolation cycle along the tool path generated in step S22, and outputs it as the motor command position 25 to the motor control unit 16. (Step S24).
  • FIG. 22 is a diagram illustrating an example in which the constituent elements according to the numerical control device 2 according to the first embodiment are configured by dedicated hardware.
  • each of the program command reading unit 12, the program command shape determining unit 13, the insertion point generating unit 14, the interpolation processing unit 15, and the parameter setting unit 17 included in the numerical control device 2 is a dedicated hardware as shown in FIG.
  • a processing circuit 100 that is hardware.
  • the processing circuit 100 corresponds to a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.
  • each part of the program command reading unit 12, the program command shape determination unit 13, the insertion point generation unit 14, the interpolation processing unit 15 and the parameter setting unit 17 may be realized by a plurality of separate processing circuits 100.
  • the functions of the respective units may be combined and realized by one processing circuit 100.
  • FIG. 23 is a diagram illustrating a hardware configuration when the components according to the numerical control device 2 according to the first embodiment are realized by a computer.
  • the numerical control device 2 includes a program command reading unit 12, a program command shape determination unit 13, an insertion point generation unit 14, an interpolation processing unit 15, and a parameter setting unit 17. 23, and a CPU (Central Processing Unit) 101 and a memory 102 are realized. That is, the function of the numerical control device 2 is realized by software, firmware, or a combination of software and firmware. These software or firmware is described as a program and stored in the memory 102.
  • the above program is a program different from the machining program 11.
  • the CPU 101 reads out and executes the program stored in the memory 102, thereby realizing the functions of the respective units.
  • the numerical control device 2 includes a memory 102 for storing the program in which the step of executing the operation of each unit is executed as a result when the function of each unit is executed by the computer.
  • the program can be said to be a program that causes a computer to execute the procedures or methods of the program command reading unit 12, the program command shape determination unit 13, the insertion point generation unit 14, the interpolation processing unit 15, and the parameter setting unit 17.
  • the memory 102 is a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Nonvolatile Memory, or an EEPROM (Electrically Erasable Memory)
  • RAM Random Access Memory
  • ROM Read Only Memory
  • flash memory an EPROM (Erasable Programmable Read Only Nonvolatile Memory
  • EEPROM Electrically Erasable Memory
  • a semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD (Digital Versatile Disk) are applicable.
  • the functions of the program command reading unit 12, the program command shape determination unit 13, the insertion point generation unit 14, the interpolation processing unit 15, and the parameter setting unit 17 included in the numerical control device 2 are dedicated hardware. It may be realized and a part thereof may be realized by software or firmware. As described above, the components of the numerical controller 2 can realize the functions of the above-described units by hardware, software, firmware, or a combination thereof.
  • the program command shape determination unit 13 is based on the information of the machining program command point included in the machining program command position 22, and the angle and index value formed by the command path at each machining program command point. I is calculated to determine the shape of the command path.
  • the insertion point generation unit 14 generates an insertion point based on the shape determination result 23, and the interpolation processing unit 15 performs interpolation based on the insertion point to generate a tool path.
  • the index value I the insertion point according to the shape of the command path can be arranged. Therefore, even if the machining program 11 includes a step such as a noise block by CAM, the tool path is stabilized. Can be generated. As a result, since it can be smoothly processed with high accuracy irrespective of the corner-shaped portion or the arc-shaped portion, high-quality processing can be performed.
  • the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Provided is a numerical control device (2), comprising: a program command shape assessment unit (13) which, on the basis of information of command points which is included in a working program (11), assesses the shape of a command path which the command points form; an insertion point generating unit (14) which generates insertion points on the basis of the result of the assessment (23) by the program command shape assessment unit (13) and the information of the command points; and an interpolation processing unit (15) which, on the basis of the insertion points, executes an interpolation and generates a tool path, and causes a motor control unit (16) to control a motor on the basis of the tool path.

Description

数値制御装置Numerical controller
 本発明は、加工プログラムに従って自由曲面を加工する工作機械を数値制御する数値制御装置に関する。 The present invention relates to a numerical control device that numerically controls a machine tool that processes a free-form surface according to a processing program.
 数値制御装置が搭載された工作機械に3次元形状の加工を行わせる場合には、連続した複数の指令経路で自由曲面が近似された加工プログラムに従って加工が行われることがある。加工プログラムは、簡単な形状であれば手動により作成されることもあるが、自由曲面を含む3次元形状の場合には、数値制御装置とは異なる外部装置上のCAM(Computer Aided Manufacturing)で作成されることが一般的である。CAMにより加工プログラムが作成される際には、自由曲面をできるだけ正確に表現するために、1つの指令経路の長さである線分長を短くとった加工プログラムが生成される。CAMにおいては、演算誤差により指令経路に微小な段差のある加工プログラムが作られることがある。 When causing a machine tool equipped with a numerical control device to process a three-dimensional shape, the processing may be performed according to a processing program in which a free curved surface is approximated by a plurality of continuous command paths. A machining program may be created manually if it is a simple shape, but in the case of a three-dimensional shape including a free-form surface, it is created with a CAM (Computer Aided Manufacturing) on an external device different from the numerical control device. It is common to be done. When a machining program is created by CAM, a machining program is generated in which the length of one command path is shortened in order to represent the free-form surface as accurately as possible. In CAM, a machining program having a minute step in the command path may be created due to a calculation error.
 加工プログラムの指令経路に微小な段差が含まれることで、往復加工パスの往路と復路とのように隣接したパスの指令点にばらつきが生ずることになる。したがって、加工した際に傷が発生してしまうという問題がある。また、CAMから出力される加工プログラムの線分長が長い場合には、作成された加工プログラムの指令経路に忠実に従って動作すると、折れ線形状に移動する工具の指令経路がそのままワークに転写されてしまう。これにより、目標とする滑らかな加工面を得られない場合がある。 By including a minute step in the command path of the machining program, the command points of adjacent paths such as the forward path and the return path of the reciprocating machining path will vary. Therefore, there is a problem that scratches occur when processed. Further, when the line segment length of the machining program output from the CAM is long, if the operation is performed in accordance with the command path of the created machining program, the command path of the tool moving to the polygonal line shape is transferred to the workpiece as it is. . Thereby, the target smooth processed surface may not be obtained.
 そこで、従来の数値制御装置においては、加工プログラム指令点を数式表現可能なNURBS(Non-Uniform Rational B-Spline)などの曲線で近似することにより、加工プログラムの指令経路の微小段差といったノイズブロックによる影響を軽減するようなスムージング技術が用いられている。 Therefore, in a conventional numerical control device, by approximating a machining program command point with a curve such as NURBS (Non-Uniform Rational B-Spline) capable of expressing a mathematical expression, a noise block such as a small step in the machining program command path Smoothing techniques that reduce the effect are used.
 特許文献1においては、生成した工具経路が、隣り合う工具経路間で段差を発生させずに、滑らかな加工面を得ることを目的として、工具経路上に等間隔に複数の目標点を設定し、複数の設定された目標点に基づいて近似曲線を計算し、近似曲線に沿った工具経路を生成する。 In Patent Document 1, a plurality of target points are set at equal intervals on a tool path for the purpose of obtaining a smooth machining surface without generating a step between adjacent tool paths. The approximate curve is calculated based on a plurality of set target points, and a tool path along the approximate curve is generated.
特開2011-96077号公報JP 2011-96077 A
 特許文献1が開示している方法では、設定する複数の目標点は等間隔で配置するため、加工プログラムの内のコーナ部または円弧形状など、形状にかかわらず目標点を等間隔で配置することとなる。そのため、コーナ形状部では高い精度を得ることができず、また、円弧形状部においては滑らかに工具経路を制御することができないという問題がある。 In the method disclosed in Patent Document 1, since a plurality of target points to be set are arranged at equal intervals, the target points are arranged at equal intervals regardless of the shape such as a corner portion or an arc shape in the machining program. It becomes. Therefore, there is a problem that high accuracy cannot be obtained in the corner shape portion, and the tool path cannot be smoothly controlled in the arc shape portion.
 本発明は、上記に鑑みてなされたものであって、加工プログラムの形状に基づいて高品位な加工ができる数値制御装置を得ることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device that can perform high-quality machining based on the shape of a machining program.
 上述した課題を解決し、目的を達成するために、本発明は、加工プログラムに含まれる指令点の情報に基づいて、指令点が形成する指令経路の形状を判定するプログラム指令形状判定部と、プログラム指令形状判定部の判定結果および指令点の情報に基づいて、挿入点を生成する挿入点生成部と、を備える。さらに本発明は、挿入点に基づいて補間を実行して工具経路を生成して、工具経路に基づいてモータ制御部にモータを制御させる補間処理部を備える。 In order to solve the above-described problems and achieve the object, the present invention provides a program command shape determination unit that determines the shape of a command path formed by a command point based on information on the command point included in the machining program; An insertion point generation unit that generates an insertion point based on the determination result of the program command shape determination unit and information on the command point. The present invention further includes an interpolation processing unit that executes interpolation based on the insertion point to generate a tool path, and causes the motor control unit to control the motor based on the tool path.
 本発明にかかる数値制御装置は、加工プログラムの形状に基づいて高品位な加工ができるという効果を奏する。 The numerical control device according to the present invention has an effect that high-quality machining can be performed based on the shape of the machining program.
本発明の実施の形態1にかかる数値制御装置の構成の一例を示すブロック図1 is a block diagram showing an example of a configuration of a numerical controller according to a first embodiment of the present invention. 実施の形態1におけるコーナ形状の加工プログラム指令点の一例を示す図The figure which shows an example of the machining program command point of the corner shape in Embodiment 1. 実施の形態1における円弧形状の加工プログラム指令点の一例を示す図The figure which shows an example of the circular arc-shaped process program command point in Embodiment 1 実施の形態1におけるコーナ形状の加工プログラム指令点の一例を示す図The figure which shows an example of the machining program command point of the corner shape in Embodiment 1. 実施の形態1におけるコーナ形状の加工プログラム指令点の別の例を示す図The figure which shows another example of the machining program command point of the corner shape in Embodiment 1. 実施の形態1における円弧形状の加工プログラム指令点の一例を示す図The figure which shows an example of the circular arc-shaped process program command point in Embodiment 1 実施の形態1における円弧形状の加工プログラム指令点の別の例を示す図The figure which shows another example of the circular arc-shaped process program command point in Embodiment 1. FIG. 実施の形態1におけるコーナ形状のノイズブロックを含んだ加工プログラム指令点の一例を示す図The figure which shows an example of the machining program command point containing the corner-shaped noise block in Embodiment 1 実施の形態1における隣接する指令経路が角度の異なるコーナ形状になっている加工プログラム指令点の一例を示す図The figure which shows an example of the machining program command point which the adjacent command path | route in Embodiment 1 becomes the corner shape from which an angle differs 実施の形態1における円弧形状の加工プログラム指令点のさらに別の例を示す図The figure which shows another example of the circular arc-shaped process program command point in Embodiment 1. FIG. 実施の形態1における加工プログラムの読み込みから形状判定までの手順を示すフローチャートThe flowchart which shows the procedure from the reading of the processing program in Embodiment 1 to shape determination 実施の形態1におけるコーナ形状の加工プログラム指令点を示す図The figure which shows the machining program command point of the corner shape in Embodiment 1. 実施の形態1におけるコーナ形状の別の加工プログラム指令点を示す図The figure which shows another machining program command point of the corner shape in Embodiment 1. 実施の形態1におけるコーナ形状に対して生成された挿入点の一例を示す図The figure which shows an example of the insertion point produced | generated with respect to the corner shape in Embodiment 1. 実施の形態1におけるコーナ形状に対して生成された挿入点の別の例を示す図The figure which shows another example of the insertion point produced | generated with respect to the corner shape in Embodiment 1. 実施の形態1における円弧形状の加工プログラム指令点を示す図The figure which shows the circular-arc-shaped machining program command point in Embodiment 1 実施の形態1における円弧形状の別の加工プログラム指令点を示す図The figure which shows another machining program command point of the circular arc shape in Embodiment 1. 実施の形態1における円弧形状に対して生成された挿入点の一例を示す図The figure which shows an example of the insertion point produced | generated with respect to circular arc shape in Embodiment 1 実施の形態1におけるコーナ形状の挿入点に基づいて直線近似補間を実行する様子を示す図The figure which shows a mode that linear approximation interpolation is performed based on the insertion point of the corner shape in Embodiment 1. 実施の形態1におけるコーナ形状の挿入点に基づいて曲線近似補間を実行する様子を示す図The figure which shows a mode that a curve approximation interpolation is performed based on the insertion point of a corner shape in Embodiment 1. 実施の形態1における挿入点の生成から工具経路の生成までの手順を示すフローチャートA flowchart showing a procedure from generation of an insertion point to generation of a tool path in the first embodiment. 実施の形態1にかかる数値制御装置にかかる構成要素を専用のハードウェアで構成する例を示す図The figure which shows the example which comprises the component concerning the numerical control apparatus concerning Embodiment 1 with exclusive hardware. 実施の形態1にかかる数値制御装置にかかる構成要素をコンピュータで実現する場合のハードウェア構成を示す図1 is a diagram illustrating a hardware configuration in a case where components of the numerical control device according to the first embodiment are realized by a computer.
 以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Hereinafter, a numerical controller according to an embodiment of 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にかかる数値制御装置2の構成の一例を示すブロック図である。実施の形態1にかかる数値制御装置2は軌跡制御装置であり、加工プログラム指令に従って動作するNC(Numerical Control)工作機械または産業ロボットといった装置に用いられる。図1は、数値制御装置2がNC工作機械1に使用されている例を示している。数値制御装置2は、入力される加工プログラム11に基づいて、サーボアンプといったモータ制御部16を制御する。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing an example of the configuration of the numerical control device 2 according to the first embodiment of the present invention. The numerical control device 2 according to the first embodiment is a trajectory control device, and is used for an apparatus such as an NC (Numerical Control) machine tool or an industrial robot that operates according to a machining program command. FIG. 1 shows an example in which a numerical controller 2 is used in an NC machine tool 1. The numerical controller 2 controls a motor control unit 16 such as a servo amplifier based on the input machining program 11.
 加工プログラム11は、周知のGコードデータのように、使用する工具の選択信号、制御対象である工具の移動軌跡即ち指令経路を表すデータ、工具の移動速度のデータといった内容で構成されている。指令点が形成する経路が指令経路であり、指令経路を表すデータとは、指令点である加工プログラム指令点の座標情報である。加工プログラム11は、CAD(Computer-Aided Design)などにより作成された3次元の設計図に基づいてCAMにより生成される。上述した3次元の設計図によって表わされた自由曲線を移動経路とする場合、CAMは、当該自由曲線を微小区間に分割し、分割された微小区間の曲線を線分に置き換えることにより当該自由曲線を折れ線で近似し、近似した折れ線により当該自由曲線を線形補間する指令経路を指令する加工プログラムを作成する。 The machining program 11 is configured with contents such as a selection signal of a tool to be used, data indicating a movement trajectory of a tool to be controlled, that is, a command path, and tool movement speed data, as well-known G code data. The path formed by the command points is the command path, and the data representing the command path is coordinate information of the machining program command points that are the command points. The machining program 11 is generated by CAM based on a three-dimensional design drawing created by CAD (Computer-Aided Design) or the like. When the free curve represented by the three-dimensional design drawing described above is used as the movement path, the CAM divides the free curve into minute sections, and replaces the divided minute section curves with line segments. A machining program is created that approximates a curve with a broken line and commands a command path for linear interpolation of the free curve by the approximated broken line.
 図1に示すように、実施の形態1にかかる数値制御装置2は、入力された加工プログラム11から加工プログラム指令点の情報を読み取るプログラム指令読み取り部12と、プログラム指令読み取り部12から受け取った加工プログラム指令位置22に基づいて、加工が指令された指令経路の形状を判定するプログラム指令形状判定部13と、プログラム指令形状判定部13による判定結果23および加工プログラム指令位置22に基づいて挿入点を生成する挿入点生成部14と、挿入点生成部14が生成した挿入点を基準にした補間により工具経路を生成し、補間周期毎の工具移動量をモータ指令位置25として出力する補間処理部15と、挿入点生成部14にトレランスを設定するパラメータ設定部17と、を有している。加工プログラム指令位置22は、加工プログラム指令点の情報である。工具経路は、補正後の指令経路である。補間周期は、数値制御装置2に仕様として定められた一定の周期である。モータ制御部16は、補間処理部15が求めた工具経路に基づいて、モータを制御する。具体的には、モータ制御部16は補間処理部15からモータ指令位置25を受け取って、工具経路に沿った補間周期毎の移動量をモータが実現するようにモータの電流およびトルクの制御を行う。モータは、複数の軸を駆動する。 As shown in FIG. 1, the numerical control apparatus 2 according to the first embodiment includes a program command reading unit 12 that reads information on a machining program command point from an input machining program 11 and a machining command received from the program command reading unit 12. Based on the program command position 22, the program command shape determination unit 13 that determines the shape of the command path for which machining is commanded, the determination result 23 by the program command shape determination unit 13, and the insertion point based on the machining program command position 22 An insertion point generation unit 14 to be generated, and an interpolation processing unit 15 that generates a tool path by interpolation based on the insertion point generated by the insertion point generation unit 14 and outputs a tool movement amount for each interpolation cycle as a motor command position 25. And a parameter setting unit 17 for setting tolerance in the insertion point generation unit 14. The machining program command position 22 is machining program command point information. The tool path is a corrected command path. The interpolation period is a constant period determined as a specification for the numerical control device 2. The motor control unit 16 controls the motor based on the tool path obtained by the interpolation processing unit 15. Specifically, the motor control unit 16 receives the motor command position 25 from the interpolation processing unit 15 and controls the motor current and torque so that the motor realizes the movement amount for each interpolation cycle along the tool path. . The motor drives a plurality of shafts.
 プログラム指令形状判定部13は、プログラム指令読み取り部12から受け取った加工プログラム指令位置22が示す指令経路に基づいてプログラム形状を判定する。 The program command shape determination unit 13 determines the program shape based on the command path indicated by the machining program command position 22 received from the program command reading unit 12.
 図2は、実施の形態1におけるコーナ形状の加工プログラム指令点の一例を示す図である。図3は、実施の形態1における円弧形状の加工プログラム指令点の一例を示す図である。 FIG. 2 is a diagram showing an example of a corner-shaped machining program command point in the first embodiment. FIG. 3 is a diagram showing an example of arc-shaped machining program command points in the first embodiment.
 図2は、角度θaからなるP1、P2、P3、P4およびP5の5点の加工プログラム指令点からなる加工プログラム指令を示している。加工プログラム11においては、位置すなわち加工プログラム指令点の座標が指令される。加工プログラム指令点の座標の情報は加工プログラム指令位置22としてプログラム指令形状判定部13に与えられる。したがって、プログラム指令形状判定部13は、加工プログラム11が指令する指令経路の形状を示す角度θaを、以下の数式(1)のように計算する事ができる。角度θaは、指令経路となる接続した線分同士がなす角度である。 FIG. 2 shows a machining program command composed of five machining program command points P1, P2, P3, P4 and P5 each having an angle θa. In the machining program 11, the position, that is, the coordinates of the machining program command point is commanded. Information on the coordinates of the machining program command point is given to the program command shape determination unit 13 as a machining program command position 22. Therefore, the program command shape determination unit 13 can calculate the angle θa indicating the shape of the command path commanded by the machining program 11 as in the following formula (1). The angle θa is an angle formed by connected line segments serving as command paths.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 ここで、RxおよびRyは、モータにより駆動される各軸の比率変化Rのx成分およびy成分である。各軸の比率変化Rは、加工プログラム11が移動を指令する各軸の移動量の比の変化量である。P1の座標を(x,y)、P2の座標を(x,y)、P3の座標を(x,y)、P1とP2との間の距離をL1、P2とP3との間の距離をL2とすると、RxおよびRyは、以下の数式(2)および数式(3)で示される。 Here, Rx and Ry are the x component and the y component of the ratio change R of each axis driven by the motor. The ratio change R of each axis is an amount of change in the ratio of the movement amount of each axis that the machining program 11 commands to move. The coordinates of P1 are (x 1 , y 1 ), the coordinates of P2 are (x 2 , y 2 ), the coordinates of P3 are (x 3 , y 3 ), the distance between P1 and P2 is L1, P2 and P3 Rx and Ry are expressed by the following formulas (2) and (3), where L2 is the distance between the two.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 図3は、円弧形状を近似する指令経路を示す。ここで、指令経路となる線分が接続される各加工プログラム指令点における線分同士がなす角度を数式(1)で示したように計算すると、図3で示す全ての加工プログラム指令点において角度θaとなり、図2の角度θaと同一角度となる。各指令点における角度のみで形状を判定する場合、図2のコーナ形状と、図3の円弧形状の形状判定とは同一の形状であると判定してしまう。形状の判定は、指令経路となる線分同士がなす角度θaの他に、各軸の比率変化Rに基づいて実行してもよい。しかし、各軸の比率変化Rを計算した場合も、図2と図3とでは、各軸の比率変化Rは同じ値になる。 FIG. 3 shows a command path approximating the arc shape. Here, when the angle formed by the line segments at each machining program command point to which the line segment serving as the command path is connected is calculated as shown by the mathematical formula (1), the angle at all the machining program command points shown in FIG. θa, which is the same angle as the angle θa in FIG. When the shape is determined only by the angle at each command point, it is determined that the corner shape in FIG. 2 and the arc shape determination in FIG. 3 are the same shape. The shape determination may be executed based on the ratio change R of each axis, in addition to the angle θa formed by the line segments serving as the command path. However, even when the ratio change R of each axis is calculated, the ratio change R of each axis has the same value in FIGS.
 コーナでのクランプ速度の計算方法と、円弧でのクランプ速度の計算方法とは異なる。したがって、図2および図3に示す様な指令経路となる線分同士がなす角が同一角度の形状の場合に、円弧形状であるにも関わらずコーナ形状としての処理を行うと正しい速度計算ができない。正しい速度計算ができないことは、加工面に傷ができる原因となる。 ∙ The calculation method of the clamp speed at the corner is different from the calculation method of the clamp speed at the arc. Therefore, when the angle formed by the line segments that form the command path as shown in FIGS. 2 and 3 is the same angle, the correct speed calculation is performed if the process is performed as the corner shape despite the arc shape. Can not. Failure to calculate the correct speed can cause damage to the machined surface.
 そこで、プログラム指令形状判定部13は、指標値Iを計算する。指標値Iは、各軸の比率変化Rの変化量である。プログラム指令形状判定部13は、指標値Iを計算し、指標値Iに基づいてプログラム形状を判定する。ここでは、指標値Iの一例を説明する。ある加工プログラム指令点における指標値Iは、当該加工プログラム指令点における各軸の比率変化Rと次の加工プログラム指令点における各軸の比率変化Rとの間の差の絶対値、すなわち各軸の比率変化Rの変化量であるとする。図2のコーナ形状の場合、P2における指標値Iは、P2における比率変化RとP3における比率変化Rとの変化量となるので、P2の指令点で大きな値を持つ。図2に示すようにP2からP5までが直線状の場合は、P3以降の指標値はゼロになる。 Therefore, the program command shape determination unit 13 calculates the index value I. The index value I is a change amount of the ratio change R of each axis. The program command shape determination unit 13 calculates the index value I and determines the program shape based on the index value I. Here, an example of the index value I will be described. The index value I at a certain machining program command point is the absolute value of the difference between the ratio change R of each axis at the machining program command point and the ratio change R of each axis at the next machining program command point, that is, for each axis. It is assumed that the change amount of the ratio change R. In the case of the corner shape of FIG. 2, the index value I at P2 is a change amount between the ratio change R at P2 and the ratio change R at P3, and therefore has a large value at the command point at P2. As shown in FIG. 2, when P2 to P5 are linear, the index values after P3 are zero.
 一方で、図3の円弧形状においては、P2以降の各加工プログラム指令点での各軸の比率変化Rが同一値で算出される。したがって、図3のP2以降の各加工プログラム指令点における指標値Iである各軸の比率変化Rの変化量は、ゼロとなる。このような指標値Iを用いることにより、プログラム指令形状判定部13によるプログラム指令形状の判定が可能となる。すなわち、後述する図11のフローチャートに示すように、各軸の比率変化Rが非ゼロであって各軸の比率変化Rの変化量が予め定めた値より大きい場合にはコーナ形状であると判定され、各軸の比率変化Rが非ゼロであって各軸の比率変化Rの変化量が予め定めた値より小さい場合には円弧形状であると判定される。各軸の比率変化Rがゼロの場合、すなわち指令経路となる線分同士がなす角度が0°の場合は、直線形状であると判定することができる。 On the other hand, in the arc shape of FIG. 3, the ratio change R of each axis at each machining program command point after P2 is calculated with the same value. Therefore, the change amount of the ratio change R of each axis, which is the index value I at each machining program command point after P2 in FIG. 3, is zero. By using such index value I, the program command shape determination unit 13 can determine the program command shape. That is, as shown in the flowchart of FIG. 11 to be described later, when the ratio change R of each axis is non-zero and the change amount of the ratio change R of each axis is larger than a predetermined value, it is determined as a corner shape. When the ratio change R of each axis is non-zero and the change amount of the ratio change R of each axis is smaller than a predetermined value, it is determined that the shape is an arc. When the ratio change R of each axis is zero, that is, when the angle formed by the line segments serving as command paths is 0 °, it can be determined that the shape is linear.
 実施の形態1におけるプログラム指令形状判定部13では、指令経路として接続される線分同士がなす角θaを各軸の比率変化Rに基づいて計算し、指標値Iを各軸の比率変化Rの変化量として計算するとして説明している。しかし、指標値Iは、曲率の変化量、または速度の変化量すなわち加速度といった値であってもかまわない。各軸の比率変化R、曲率および速度は、それぞれが、加工プログラム指令点毎に当該加工プログラム指令点を含んだ複数の加工プログラム指令点の情報に基づいて計算した数値である。したがって、指標値Iは複数の加工プログラム指令点の情報に基づいて計算した数値の変化量であればよい。 The program command shape determination unit 13 according to the first embodiment calculates an angle θa formed by line segments connected as command paths based on the ratio change R of each axis, and calculates an index value I of the ratio change R of each axis. It is described as being calculated as a change amount. However, the index value I may be a value such as the amount of change in curvature or the amount of change in speed, that is, acceleration. The ratio change R, curvature, and speed of each axis are numerical values calculated based on information on a plurality of machining program command points including the machining program command points for each machining program command point. Therefore, the index value I may be a numerical value change calculated based on information on a plurality of machining program command points.
 図4は、実施の形態1におけるコーナ形状の加工プログラム指令点の一例を示す図である。図5は、実施の形態1におけるコーナ形状の加工プログラム指令点の別の例を示す図である。 FIG. 4 is a diagram illustrating an example of a corner-shaped machining program command point in the first embodiment. FIG. 5 is a diagram illustrating another example of corner-shaped machining program command points in the first embodiment.
 加工プログラム11が指令する指令経路の形状が、指令点を挟んだ指令経路となる線分同士がなす角度がθaのコーナ形状である場合、実施の形態1におけるコーナ形状の指標値Iの計算は、図4に示すように角度θaを形成する単純なP1、P2、P3の3点の加工プログラム指令点でのみ実行されることもある。しかし、図4とは異なり、図5に示すように、指令経路をより微小な線分で分割したときの線分同士の繋ぎ目となる指令点において指標値Iの計算が実行されることもある。さらに、図5に示される指令点の間隔は等間隔ではなく、不均一な間隔である。図5のように指令点を設定した場合においても、コーナとなる点であるP4においてのみ指標値Iが大きくなる。図4のP2での指標値Iと図5のP4での指標値Iとは同じ値となり、プログラム指令形状判定部13は同様の形状であると判定することが可能である。 When the shape of the command path commanded by the machining program 11 is a corner shape having an angle θa between the line segments that become command paths sandwiching the command point, the calculation of the corner shape index value I in the first embodiment is as follows. As shown in FIG. 4, it may be executed only at three machining program command points of simple P1, P2, and P3 that form the angle θa. However, unlike FIG. 4, as shown in FIG. 5, the index value I may be calculated at a command point that is a joint between the line segments when the command path is divided into smaller line segments. is there. Furthermore, the intervals between the command points shown in FIG. 5 are not equal intervals but non-uniform intervals. Even when the command point is set as shown in FIG. 5, the index value I increases only at the point P4 that is a corner. The index value I at P2 in FIG. 4 and the index value I at P4 in FIG. 5 are the same value, and the program command shape determination unit 13 can determine that the shape is the same.
 図6は、実施の形態1における円弧形状の加工プログラム指令点の一例を示す図である。図7は、実施の形態1における円弧形状の加工プログラム指令点の別の例を示す図である。 FIG. 6 is a diagram illustrating an example of a circular arc-shaped machining program command point according to the first embodiment. FIG. 7 is a diagram showing another example of arc-shaped machining program command points in the first embodiment.
 加工プログラム11が指令する指令経路の形状が円弧形状の場合も、図6に示すように線分長の長い指令経路同士の繋ぎ目となる指令点で指標値Iを計算した場合と、図7に示すように図6よりも短い間隔で設定した指令点で指標値Iを計算した場合とは共に指標値Iの値は図4および図5の場合に比べて小さくなる。したがって、プログラム指令形状判定部13は、図6の場合および図7の場合は、同様に円弧形状と判定することが可能である。 Even when the shape of the command path commanded by the machining program 11 is an arc shape, as shown in FIG. 6, when the index value I is calculated at a command point that becomes a joint between command paths having a long line segment length, FIG. As shown in FIG. 5, the index value I is smaller than that in FIGS. 4 and 5 when the index value I is calculated at a command point set at an interval shorter than that in FIG. Accordingly, the program command shape determination unit 13 can similarly determine the arc shape in the case of FIG. 6 and FIG.
 図4の指令点P1、P2およびP3がなす角と図5の指令点P1、P4およびP8がなす角とは同じ値である。指令点が誤差を含んだ指令点であるノイズブロックを含まない図4および図5の場合、連続する3つの指令点を用いて数式(2)および(3)に示したように各軸の比率変化Rを求めて、当該比率変化Rを用いて指標値Iを求めたとしても、図4のP2での指標値Iと図5のP4での指標値Iとは同じ値になる。しかし、指令点がノイズブロックを含んでいる場合に、連続する3つの指令点を用いて各軸の比率変化Rを求めると誤差が生じる。 4 are the same values as the angles formed by the command points P1, P2, and P3 in FIG. 4 and the angles formed by the command points P1, P4, and P8 in FIG. In the case of FIG. 4 and FIG. 5 where the command point is a command point including an error and does not include a noise block, the ratio of each axis as shown in Equations (2) and (3) using three consecutive command points. Even if the change R is obtained and the index value I is obtained using the ratio change R, the index value I at P2 in FIG. 4 is the same as the index value I at P4 in FIG. However, when the command point includes a noise block, an error occurs when the ratio change R of each axis is obtained using three consecutive command points.
 図8は、実施の形態1におけるコーナ形状のノイズブロックを含んだ加工プログラム指令点の一例を示す図である。図8に示すように加工プログラム指令点にノイズブロックとなるP2およびP4が含まれる場合がある。このような場合を考慮して、プログラム指令読み取り部12が加工プログラム11を先読みするなどして、加工プログラム指令点における各軸の比率変化Rの計算を大域的に実行する。加工プログラム指令点における各軸の比率変化Rの計算を大域的に実行するとは、当該加工プログラム指令点および当該加工プログラム指令点の前後の加工プログラム指令点の情報といった局所情報のみならず、さらに離れたそれ以外の加工プログラム指令点の情報も用いて各軸の比率変化Rを計算するという意味である。 FIG. 8 is a diagram illustrating an example of a machining program command point including a corner-shaped noise block according to the first embodiment. As shown in FIG. 8, the machining program command points may include P2 and P4 that are noise blocks. In consideration of such a case, the program command reading unit 12 pre-reads the machining program 11 and executes the calculation of the ratio change R of each axis at the machining program command point globally. The global calculation of the ratio change R of each axis at the machining program command point is not only local information such as information on the machining program command point and machining program command points before and after the machining program command point, but further away In addition, it means that the ratio change R of each axis is calculated using information on other machining program command points.
 各軸の比率変化Rの計算を大域的に実行する具体的な方法を図8のP3を例として説明する。各軸の比率変化Rの計算を大域的に実行する方法の一例は、P3における各軸の比率変化Rを求める場合に、P3の前後の指令点であるノイズブロックとなるP2およびP4を省いて、P1、P3およびP5の座標を用いて比率変化Rを求める方法である。また別の方法には、P2、P3およびP4を用いて求めた各軸の比率変化RとP1、P3およびP5を用いて求めた各軸の比率変化Rとの平均を最終的なP3における各軸の比率変化Rとして求める方法がある。ただし、比率変化Rの計算を大域的に実行する方法は、これらに限らない。上述したように、図8においてノイズブロックとなるP2およびP4を省いてP3における比率変化Rを求めたとすれば、その値は、図4のP2における比率変化Rと同じになる。 A specific method for globally calculating the ratio change R of each axis will be described using P3 in FIG. 8 as an example. An example of a method for globally calculating the ratio change R of each axis is to omit P2 and P4 which are noise blocks which are command points before and after P3 when calculating the ratio change R of each axis in P3. , P1, P3 and P5 are used to obtain the ratio change R. In another method, the average of the ratio change R of each axis obtained using P2, P3 and P4 and the ratio change R of each axis obtained using P1, P3 and P5 is calculated for each final P3. There is a method for obtaining the ratio change R of the shaft. However, the method of executing the ratio change R calculation globally is not limited to these. As described above, if the ratio change R in P3 is obtained by omitting P2 and P4 which are noise blocks in FIG. 8, the value is the same as the ratio change R in P2 in FIG.
 各指令点で求める各軸の比率変化Rを、上記した例のように大域的に計算して求めることにより、連続して配置される指令点における各軸の比率変化R同士の差分の絶対値である指標値Iの値も大域的に求めたことになる。その結果、図8のP3における指標値Iと図4のP2における指標値Iとも同じまたはほぼ同じ値になる。その結果、図4および図8の形状は同様にコーナ形状であると判定される。その結果、隣接する指令経路を往復して加工するような場合において、隣接する指令経路のいずれかまたは双方にノイズブロックが含まれていてもノイズブロックに影響されることなく、同じ形状であると判定することが可能になる。これにより、隣接する指令経路の間に段差を生じさせないで、滑らかな加工面を得ることができる。 By calculating the ratio change R of each axis obtained at each command point globally as in the above example, the absolute value of the difference between the ratio changes R of each axis at the command points arranged continuously. That is, the index value I is obtained globally. As a result, the index value I at P3 in FIG. 8 and the index value I at P2 in FIG. 4 are the same or substantially the same value. As a result, the shapes of FIGS. 4 and 8 are similarly determined to be corner shapes. As a result, in the case of processing by reciprocating adjacent command paths, even if a noise block is included in either or both of the adjacent command paths, the shape is the same without being affected by the noise block. It becomes possible to judge. Thereby, a smooth processed surface can be obtained without causing a step between adjacent command paths.
 図9は、実施の形態1における隣接する指令経路が角度の異なるコーナ形状になっている加工プログラム指令点の一例を示す図である。図9は、隣接する指令経路の加工プログラム指令点を表し、往復走査線で加工される。図9の上の指令経路がなす角度はθaであり、下の指令経路がなす角度はθaとは異なるθbである。図9のような指令経路の場合においても、それぞれの経路の角度が変化する点において、各軸の比率変化Rおよび指標値Iを求めることができる。各軸の比率変化Rが得られれば、数式(1)より角度も求まるので、プログラム指令形状判定部13は、指標値Iに基づいて、図9の上の指令経路は角度がθaのコーナ形状と判定し、図9の下の指令経路は角度がθbのコーナ形状と判定することができる。 FIG. 9 is a diagram illustrating an example of a machining program command point in which adjacent command paths in the first embodiment have corner shapes with different angles. FIG. 9 shows machining program command points of adjacent command paths, and machining is performed with a reciprocating scanning line. The angle formed by the upper command path in FIG. 9 is θa, and the angle formed by the lower command path is θb different from θa. Even in the case of a command route as shown in FIG. 9, the ratio change R and index value I of each axis can be obtained at the point where the angle of each route changes. If the ratio change R of each axis is obtained, the angle is also obtained from Equation (1). Therefore, based on the index value I, the program command shape determination unit 13 determines that the upper command path in FIG. 9 and the command path in the lower part of FIG. 9 can be determined as a corner shape with an angle θb.
 図10は、実施の形態1における円弧形状の加工プログラム指令点のさらに別の例を示す図である。図10は、各加工プログラム指令点における指令経路がなす角度がθa、θbおよびθcとそれぞれ異なる場合の円弧形状を示している。角度θa、θbおよびθcが大きく異ならなければ、各指令点における指標値Iは、それぞれ0に近い小さな値となる。その結果、図10のように各指令点における指令経路がなす角度が異なる場合でも、プログラム指令形状判定部13は、指令経路が円弧形状であると判定することができる。 FIG. 10 is a diagram showing still another example of arc-shaped machining program command points in the first embodiment. FIG. 10 shows an arc shape when the angles formed by the command paths at the respective machining program command points are different from θa, θb, and θc. If the angles θa, θb, and θc are not significantly different, the index value I at each command point is a small value close to 0. As a result, even when the angles formed by the command paths at the command points are different as shown in FIG. 10, the program command shape determining unit 13 can determine that the command path is an arc shape.
 図11は、実施の形態1における加工プログラム11の読み込みから形状判定までの手順を示すフローチャートである。 FIG. 11 is a flowchart showing a procedure from reading of the machining program 11 to shape determination in the first embodiment.
 まず、プログラム指令読み取り部12が加工プログラム11を読み込む(ステップS11)。次に、プログラム指令形状判定部13は、読み込まれた加工プログラム11に基づいて、加工プログラム指令点における指令経路がなす角度θを計算する(ステップS12)。指令点において指令経路がなす角度θを求めるためには、当該指令点における各軸の比率変化Rを求める必要がある。ここで、比率変化Rの計算は上述したように大域的に実行されてもかまわない。 First, the program command reading unit 12 reads the machining program 11 (step S11). Next, the program command shape determination unit 13 calculates the angle θ formed by the command path at the machining program command point based on the read machining program 11 (step S12). In order to obtain the angle θ formed by the command path at the command point, it is necessary to obtain the ratio change R of each axis at the command point. Here, the calculation of the ratio change R may be performed globally as described above.
 そして、プログラム指令形状判定部13は、ステップS12で求めた角度θの絶対値|θ|が予め定めた角度θより大きい(|θ|>θ)か否かを判定する(ステップS13)。絶対値|θ|が角度θより大きくない場合(ステップS13:No)、プログラム指令形状判定部13は、指令経路が直線形状であると判定する(ステップS16)。絶対値|θ|が角度θより大きい場合(ステップS13:Yes)、プログラム指令形状判定部13は、指標値Iを計算する(ステップS14)。 Then, the program command shape determination unit 13 determines whether or not the absolute value | θ | of the angle θ obtained in step S12 is larger than a predetermined angle θ 0 (| θ |> θ 0 ) (step S13). . When the absolute value | θ | is not larger than the angle θ 0 (step S13: No), the program command shape determination unit 13 determines that the command path is a linear shape (step S16). When the absolute value | θ | is larger than the angle θ 0 (step S13: Yes), the program command shape determination unit 13 calculates the index value I (step S14).
 ステップS14の後、プログラム指令形状判定部13は、指標値Iが予め定めた値Icより大きい(I>Ic)か否かを判定する(ステップS15)。指標値IがIcより大きくない場合(ステップS15:No)、プログラム指令形状判定部13は、指令経路が円弧形状であると判定する(ステップS17)。指標値IがIcより大きい場合(ステップS15:Yes)、プログラム指令形状判定部13は、指令経路がコーナ形状であると判定する(ステップS18)。 After step S14, the program command shape determination unit 13 determines whether or not the index value I is greater than a predetermined value Ic (I> Ic) (step S15). When the index value I is not greater than Ic (step S15: No), the program command shape determination unit 13 determines that the command path is an arc shape (step S17). When the index value I is larger than Ic (step S15: Yes), the program command shape determination unit 13 determines that the command path is a corner shape (step S18).
 プログラム指令形状判定部13における指令経路の形状判定の判定結果23およびプログラム指令読み取り部12から受け取った加工プログラム指令位置22に基づいて、挿入点生成部14は、挿入点を生成する。挿入点は、指令経路を補間して工具経路を生成するための基準となる点である。 The insertion point generation unit 14 generates an insertion point based on the determination result 23 of the command path shape determination in the program command shape determination unit 13 and the machining program command position 22 received from the program command reading unit 12. The insertion point is a reference point for generating a tool path by interpolating the command path.
 図12は、実施の形態1におけるコーナ形状の加工プログラム指令点を示す図である。図13は、実施の形態1におけるコーナ形状の別の加工プログラム指令点を示す図である。図12および図13は、同一のコーナ形状の指令経路における加工プログラム指令点の様子を示している。 FIG. 12 is a diagram showing corner shape machining program command points in the first embodiment. FIG. 13 is a diagram illustrating another machining program command point having a corner shape according to the first embodiment. 12 and 13 show the state of the machining program command points in the command path having the same corner shape.
 図14は、実施の形態1におけるコーナ形状に対して生成された挿入点の一例を示す図である。図14は、コーナ形状であると判定された図12および図13の指令経路に対して挿入点生成部14が生成した挿入点Q1,Q2,Q3,Q4,Q5の配置を示している。 FIG. 14 is a diagram showing an example of insertion points generated for the corner shape in the first embodiment. FIG. 14 shows the arrangement of the insertion points Q1, Q2, Q3, Q4, and Q5 generated by the insertion point generation unit 14 with respect to the command paths of FIGS. 12 and 13 that are determined to have a corner shape.
 図12においては、加工プログラム指令点P4における指標値I、図13においては、加工プログラム指令点P2における指標値Iに基づいて指令経路がコーナ形状であると判定されるため、図14においては、図12のP4または図13のP2に相当する点に挿入点Q3を設けた上で、図12のP4または図13のP2から等距離だけ離れたQ2およびQ4を挿入点としてさらに配置する。これにより、後述する補間を経てコーナ形状部における加工精度を高めることが可能となる。図12および図13は、指令経路がコーナ形状となるような線分長がそれぞれ異なる直線の指令経路を繋ぐ加工プログラム指令点を示している。しかし、加工プログラム11が示す指令経路の線分長および加工プログラム11が含むノイズブロックに影響されずに、図12のP4における指標値Iと図13のP2における指標値Iとはプログラム指令形状判定部13によって同じ値となるように計算されるので、線分長およびノイズブロックによらずに適切に挿入点を配置することが可能となる。 In FIG. 12, the command path is determined to have a corner shape based on the index value I at the machining program command point P4, and in FIG. 13, the index value I at the machining program command point P2, so in FIG. An insertion point Q3 is provided at a point corresponding to P4 in FIG. 12 or P2 in FIG. 13, and Q2 and Q4 that are equidistant from P4 in FIG. 12 or P2 in FIG. 13 are further arranged as insertion points. As a result, the machining accuracy in the corner shape portion can be increased through interpolation described later. FIG. 12 and FIG. 13 show machining program command points that connect straight command paths having different line segment lengths so that the command path has a corner shape. However, the index value I in P4 of FIG. 12 and the index value I in P2 of FIG. 13 are determined by the program command shape determination without being affected by the line length of the command path indicated by the machining program 11 and the noise block included in the machining program 11. Since the calculation is performed by the unit 13 so as to have the same value, it is possible to appropriately arrange the insertion points regardless of the line segment length and the noise block.
 図15は、実施の形態1におけるコーナ形状に対して生成された挿入点の別の例を示す図である。図15は、コーナ形状であると判定された図12および図13の指令経路に対して挿入点生成部14が生成した挿入点Q1,Q2,Q3,Q4の配置を示している。 FIG. 15 is a diagram illustrating another example of the insertion point generated for the corner shape in the first embodiment. FIG. 15 shows the arrangement of the insertion points Q1, Q2, Q3, and Q4 generated by the insertion point generation unit 14 with respect to the command paths of FIGS. 12 and 13 that are determined to have a corner shape.
 図14と同様に図15においても、図12の加工プログラム指令点P4における指標値Iまたは図13の加工プログラム指令点P2における指標値Iに基づいて指令経路がコーナ形状であると判定されるため、図15においては、図12のP4または図13のP2から等距離だけ離れたQ2およびQ3を挿入点として設けるが、図12のP4または図13のP2に相当する点には挿入点を設けない。このように、指令経路をコーナ形状であると判定するための指標値Iを求めた加工プログラム指令点には必ずしも挿入点を配置しなくてもかまわない。 As in FIG. 14, in FIG. 15, it is determined that the command path has a corner shape based on the index value I at the machining program command point P4 in FIG. 12 or the index value I at the machining program command point P2 in FIG. In FIG. 15, Q2 and Q3 that are equidistant from P4 in FIG. 12 or P2 in FIG. 13 are provided as insertion points, but insertion points are provided at points corresponding to P4 in FIG. 12 or P2 in FIG. Absent. As described above, it is not always necessary to place an insertion point at the machining program command point at which the index value I for determining that the command path has a corner shape is obtained.
 図16は、実施の形態1における円弧形状の加工プログラム指令点を示す図である。図17は、実施の形態1における円弧形状の別の加工プログラム指令点を示す図である。図16および図17は、同一の円弧形状の指令経路における加工プログラム指令点の様子を示している。 FIG. 16 is a diagram showing arc-shaped machining program command points in the first embodiment. FIG. 17 is a diagram showing another machining program command point having an arc shape in the first embodiment. 16 and 17 show the state of machining program command points in the same arc-shaped command path.
 図18は、実施の形態1における円弧形状に対して生成された挿入点の一例を示す図である。図18は、円弧形状であると判定された図16および図17の指令経路に対して挿入点生成部14が生成した挿入点Q1,Q2,…,Q9,Q10の配置を示している。プログラム指令形状判定部13により加工プログラム11が指令する指令経路の形状が円弧形状であると判定された場合は、挿入点生成部14は、図18に示すように挿入点を等間隔に配置する。これにより、円弧形状部における滑らかな加工が可能となる。 FIG. 18 is a diagram illustrating an example of insertion points generated for the arc shape in the first embodiment. FIG. 18 shows the arrangement of the insertion points Q1, Q2,..., Q9, Q10 generated by the insertion point generation unit 14 with respect to the command paths of FIGS. When the program command shape determination unit 13 determines that the shape of the command path commanded by the machining program 11 is an arc shape, the insertion point generation unit 14 arranges the insertion points at equal intervals as shown in FIG. . Thereby, the smooth process in a circular arc shape part is attained.
 なお、図14のQ2とQ3との距離、図14のQ3とQ4との距離、図18の等間隔の距離といった連続して配置される挿入点の配置間隔は、挿入点および後述する補間方法によって補間処理部15が生成する工具経路が、加工プログラム指令点からパラメータ設定部17によって設定されたトレランス以内となるように挿入点生成部14が決定する。 14 is the distance between Q2 and Q3 in FIG. 14, the distance between Q3 and Q4 in FIG. 14, and the equally spaced distance in FIG. Thus, the insertion point generation unit 14 determines that the tool path generated by the interpolation processing unit 15 is within the tolerance set by the parameter setting unit 17 from the machining program command point.
 補間処理部15は、挿入点生成部14によって配置された挿入点の情報を挿入点位置24として受け取って、挿入点に基づいて補間を実行して工具経路を生成する。補間処理部15は、挿入点に基づいた補間を、挿入点に対する直線近似補間または曲線近似補間で実行する。ここで、曲線近似としては、NURBS曲線近似、ベジェ曲線近似、B-スプライン曲線近似またはスプライン曲線近似を適用することができる。 The interpolation processing unit 15 receives the information of the insertion point arranged by the insertion point generation unit 14 as the insertion point position 24, executes interpolation based on the insertion point, and generates a tool path. The interpolation processing unit 15 performs interpolation based on the insertion point by linear approximation interpolation or curve approximation interpolation with respect to the insertion point. Here, as the curve approximation, NURBS curve approximation, Bezier curve approximation, B-spline curve approximation, or spline curve approximation can be applied.
 図19は、実施の形態1におけるコーナ形状の挿入点に基づいて直線近似補間を実行する様子を示す図である。図19は、図14に示すように配置された挿入点に対して、補間処理部15が直線近似補間によって生成した工具経路を実線で示している。この場合の工具経路は、補正前の指令経路に重なっている。 FIG. 19 is a diagram showing a state in which linear approximation interpolation is executed based on the corner-shaped insertion point in the first embodiment. FIG. 19 shows the tool path generated by the linear approximation interpolation with respect to the insertion point arranged as shown in FIG. 14 by a solid line. The tool path in this case overlaps the command path before correction.
 図20は、実施の形態1におけるコーナ形状の挿入点に基づいて曲線近似補間を実行する様子を示す図である。図20は、図15に示すように配置された挿入点に対して、補間処理部15が曲線近似補間によって生成した工具経路を実線で示している。破線は補正前の指令経路を示している。 FIG. 20 is a diagram illustrating a state in which curve approximation interpolation is performed based on the insertion point of the corner shape in the first embodiment. FIG. 20 shows the tool path generated by the curve approximation interpolation with respect to the insertion point arranged as shown in FIG. 15 by a solid line. The broken line indicates the command path before correction.
 図21は、実施の形態1における挿入点の生成から工具経路の生成までの手順を示すフローチャートである。 FIG. 21 is a flowchart showing a procedure from generation of an insertion point to generation of a tool path in the first embodiment.
 まず、判定結果23および加工プログラム指令位置22に基づいて、挿入点生成部14が挿入点を生成する(ステップS21)。補間処理部15は、挿入点位置24を受けとり、挿入点に基づいて予め定めた補間方法により補間を実行して工具経路を生成する(ステップS22)。 First, the insertion point generator 14 generates an insertion point based on the determination result 23 and the machining program command position 22 (step S21). The interpolation processing unit 15 receives the insertion point position 24 and generates a tool path by performing interpolation using a predetermined interpolation method based on the insertion point (step S22).
 さらに、補間処理部15は、判定結果23に基づいて、クランプ速度を計算する(ステップS23)。補間処理部15は、判定結果23が「指令経路がコーナ形状である」との判定である場合には、コーナの許容速度をクランプ速度として計算する。補間処理部15は、判定結果23が「指令経路が円弧形状である」との判定である場合には、円弧クランプ速度をクランプ速度として計算する。 Furthermore, the interpolation processing unit 15 calculates a clamping speed based on the determination result 23 (step S23). When the determination result 23 is “the command path has a corner shape”, the interpolation processing unit 15 calculates the allowable speed of the corner as the clamp speed. When the determination result 23 is a determination that “the command path has an arc shape”, the interpolation processing unit 15 calculates the arc clamp speed as the clamp speed.
 ステップS23で求めたクランプ速度を用いて、補間処理部15は、ステップS22で生成された工具経路に沿った補間周期毎の工具移動量を演算してモータ指令位置25としてモータ制御部16に出力する(ステップS24)。 Using the clamping speed obtained in step S23, the interpolation processing unit 15 calculates the tool movement amount for each interpolation cycle along the tool path generated in step S22, and outputs it as the motor command position 25 to the motor control unit 16. (Step S24).
 図22は、実施の形態1にかかる数値制御装置2にかかる構成要素を専用のハードウェアで構成する例を示す図である。この場合、数値制御装置2が備えるプログラム指令読み取り部12、プログラム指令形状判定部13、挿入点生成部14、補間処理部15およびパラメータ設定部17のそれぞれは、図22に示すように専用のハードウェアである処理回路100で構成される。処理回路100は、単一回路、複合回路、プログラム化したプロセッサー、並列プログラム化したプロセッサー、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。プログラム指令読み取り部12、プログラム指令形状判定部13、挿入点生成部14、補間処理部15およびパラメータ設定部17の各部の機能それぞれを別々の複数の処理回路100で実現してもよいし、上記各部の機能をまとめて一つの処理回路100で実現してもよい。 FIG. 22 is a diagram illustrating an example in which the constituent elements according to the numerical control device 2 according to the first embodiment are configured by dedicated hardware. In this case, each of the program command reading unit 12, the program command shape determining unit 13, the insertion point generating unit 14, the interpolation processing unit 15, and the parameter setting unit 17 included in the numerical control device 2 is a dedicated hardware as shown in FIG. And a processing circuit 100 that is hardware. The processing circuit 100 corresponds to a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The function of each part of the program command reading unit 12, the program command shape determination unit 13, the insertion point generation unit 14, the interpolation processing unit 15 and the parameter setting unit 17 may be realized by a plurality of separate processing circuits 100. The functions of the respective units may be combined and realized by one processing circuit 100.
 図23は、実施の形態1にかかる数値制御装置2にかかる構成要素をコンピュータで実現する場合のハードウェア構成を示す図である。この場合、数値制御装置2が備えるプログラム指令読み取り部12、プログラム指令形状判定部13、挿入点生成部14、補間処理部15およびパラメータ設定部17の各部は、数値制御装置2に設けられた図23に示すようなCPU(Central Processing Unit)101およびメモリ102により実現される。すなわち、数値制御装置2の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。これらのソフトウェアまたはファームウェアはプログラムとして記述され、メモリ102に格納される。上記プログラムは、加工プログラム11とは別のプログラムである。CPU101は、メモリ102に記憶された上記プログラムを読み出して実行することにより、上記各部の機能を実現する。すなわち、数値制御装置2は、上記各部の機能がコンピュータにより実行されるときに、上記各部の動作を実施するステップが結果的に実行されることになる上記プログラムを格納するためのメモリ102を備える。また、上記プログラムは、プログラム指令読み取り部12、プログラム指令形状判定部13、挿入点生成部14、補間処理部15およびパラメータ設定部17の手順または方法をコンピュータに実行させるプログラムであるともいえる。 FIG. 23 is a diagram illustrating a hardware configuration when the components according to the numerical control device 2 according to the first embodiment are realized by a computer. In this case, the numerical control device 2 includes a program command reading unit 12, a program command shape determination unit 13, an insertion point generation unit 14, an interpolation processing unit 15, and a parameter setting unit 17. 23, and a CPU (Central Processing Unit) 101 and a memory 102 are realized. That is, the function of the numerical control device 2 is realized by software, firmware, or a combination of software and firmware. These software or firmware is described as a program and stored in the memory 102. The above program is a program different from the machining program 11. The CPU 101 reads out and executes the program stored in the memory 102, thereby realizing the functions of the respective units. That is, the numerical control device 2 includes a memory 102 for storing the program in which the step of executing the operation of each unit is executed as a result when the function of each unit is executed by the computer. . The program can be said to be a program that causes a computer to execute the procedures or methods of the program command reading unit 12, the program command shape determination unit 13, the insertion point generation unit 14, the interpolation processing unit 15, and the parameter setting unit 17.
 ここで、メモリ102とは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリー、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)といった不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disk)が該当する。 Here, the memory 102 is a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Nonvolatile Memory, or an EEPROM (Electrically Erasable Memory) A semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD (Digital Versatile Disk) are applicable.
 また、数値制御装置2が備えるプログラム指令読み取り部12、プログラム指令形状判定部13、挿入点生成部14、補間処理部15およびパラメータ設定部17の各部の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように数値制御装置2の構成要素は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述した各部の機能を実現することができる。 In addition, some of the functions of the program command reading unit 12, the program command shape determination unit 13, the insertion point generation unit 14, the interpolation processing unit 15, and the parameter setting unit 17 included in the numerical control device 2 are dedicated hardware. It may be realized and a part thereof may be realized by software or firmware. As described above, the components of the numerical controller 2 can realize the functions of the above-described units by hardware, software, firmware, or a combination thereof.
 以上説明したように、実施の形態1におけるプログラム指令形状判定部13は、加工プログラム指令位置22が含む加工プログラム指令点の情報に基づいて、各加工プログラム指令点における指令経路がなす角度および指標値Iを計算して、指令経路の形状を判定する。そして、形状の判定結果23に基づいて挿入点生成部14が挿入点を生成、補間処理部15は、挿入点に基づいて補間を実行して工具経路を生成する。指標値Iを利用することにより、指令経路の形状に応じた挿入点を配置することができるので、加工プログラム11にCAMによるノイズブロックのような段差が含まれていても、工具経路を安定して生成することがでる。その結果、コーナ形状部または円弧形状部によらず高い精度で滑らかに加工することができるため、高品位な加工を行う事ができる。 As described above, the program command shape determination unit 13 according to the first embodiment is based on the information of the machining program command point included in the machining program command position 22, and the angle and index value formed by the command path at each machining program command point. I is calculated to determine the shape of the command path. The insertion point generation unit 14 generates an insertion point based on the shape determination result 23, and the interpolation processing unit 15 performs interpolation based on the insertion point to generate a tool path. By using the index value I, the insertion point according to the shape of the command path can be arranged. Therefore, even if the machining program 11 includes a step such as a noise block by CAM, the tool path is stabilized. Can be generated. As a result, since it can be smoothly processed with high accuracy irrespective of the corner-shaped portion or the arc-shaped portion, high-quality processing can be performed.
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
 1 NC工作機械、2 数値制御装置、11 加工プログラム、12 プログラム指令読み取り部、13 プログラム指令形状判定部、14 挿入点生成部、15 補間処理部、16 モータ制御部、17 パラメータ設定部、22 加工プログラム指令位置、23 判定結果、24 挿入点位置、25 モータ指令位置、100 処理回路、101 CPU、102 メモリ。 1 NC machine tool, 2 numerical control device, 11 machining program, 12 program command reading unit, 13 program command shape determination unit, 14 insertion point generation unit, 15 interpolation processing unit, 16 motor control unit, 17 parameter setting unit, 22 machining Program command position, 23 determination result, 24 insertion point position, 25 motor command position, 100 processing circuit, 101 CPU, 102 memory.

Claims (6)

  1.  加工プログラムに含まれる指令点の情報に基づいて、前記指令点が形成する指令経路の形状を判定するプログラム指令形状判定部と、
     前記プログラム指令形状判定部の判定結果および前記指令点の情報に基づいて、挿入点を生成する挿入点生成部と、
     前記挿入点に基づいて補間を実行して工具経路を生成して、前記工具経路に基づいてモータ制御部にモータを制御させる補間処理部と、
     を備える
     ことを特徴とする数値制御装置。
    A program command shape determination unit that determines the shape of the command path formed by the command point based on information on the command point included in the machining program;
    Based on the determination result of the program command shape determination unit and information on the command point, an insertion point generation unit that generates an insertion point;
    An interpolation processing unit that performs interpolation based on the insertion point to generate a tool path, and causes the motor control unit to control the motor based on the tool path;
    A numerical control device comprising:
  2.  前記プログラム指令形状判定部は、複数の前記指令点の情報に基づいて指令点毎に計算した数値を求め、前記指令点毎に計算した数値の変化量に基づいて前記指令経路の形状を判定する
     ことを特徴とする請求項1に記載の数値制御装置。
    The program command shape determination unit obtains a numerical value calculated for each command point based on information on a plurality of the command points, and determines the shape of the command path based on a change amount of the numerical value calculated for each command point. The numerical controller according to claim 1.
  3.  前記挿入点生成部は、前記判定結果がコーナ形状である場合は、前記変化量を求めた前記指令点から等距離だけ離れた位置に前記挿入点を生成する
     ことを特徴とする請求項2に記載の数値制御装置。
    The insertion point generation unit generates the insertion point at a position equidistant from the command point for which the amount of change is obtained when the determination result is a corner shape. The numerical controller described.
  4.  前記挿入点生成部は、前記判定結果が円弧形状である場合は、等間隔に前記挿入点を生成する
     ことを特徴とする請求項1から3のいずれか1項に記載の数値制御装置。
    The numerical control device according to any one of claims 1 to 3, wherein the insertion point generation unit generates the insertion points at equal intervals when the determination result is an arc shape.
  5.  前記指令点毎に計算した数値は、前記モータが駆動する各軸の比率変化である
     ことを特徴とする請求項1から4のいずれか1項に記載の数値制御装置。
    The numerical control device according to any one of claims 1 to 4, wherein the numerical value calculated for each command point is a change in a ratio of each axis driven by the motor.
  6.  前記補間処理部は、前記判定結果に基づいてクランプ速度を計算し、前記クランプ速度に基づいて前記工具経路に沿った補間周期毎の工具移動量を演算して前記モータ制御部に出力する
     ことを特徴とする請求項1から5のいずれか1項に記載の数値制御装置。
    The interpolation processing unit calculates a clamp speed based on the determination result, calculates a tool movement amount for each interpolation period along the tool path based on the clamp speed, and outputs the tool movement amount to the motor control unit. The numerical control apparatus according to claim 1, wherein the numerical control apparatus is characterized.
PCT/JP2016/072349 2016-07-29 2016-07-29 Numerical control device WO2018020663A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/306,119 US20190137975A1 (en) 2016-07-29 2016-07-29 Numerical control apparatus
PCT/JP2016/072349 WO2018020663A1 (en) 2016-07-29 2016-07-29 Numerical control device
JP2017509789A JP6242539B1 (en) 2016-07-29 2016-07-29 Numerical controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/072349 WO2018020663A1 (en) 2016-07-29 2016-07-29 Numerical control device

Publications (1)

Publication Number Publication Date
WO2018020663A1 true WO2018020663A1 (en) 2018-02-01

Family

ID=60570424

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/072349 WO2018020663A1 (en) 2016-07-29 2016-07-29 Numerical control device

Country Status (3)

Country Link
US (1) US20190137975A1 (en)
JP (1) JP6242539B1 (en)
WO (1) WO2018020663A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021039533A (en) * 2019-09-03 2021-03-11 ファナック株式会社 Tool path modification device
DE112021008100T5 (en) 2021-10-26 2024-05-23 Fanuc Corporation Tool path changing device and tool path changing method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6629808B2 (en) * 2017-10-03 2020-01-15 ファナック株式会社 Numerical control unit
JP6823032B2 (en) * 2018-10-25 2021-01-27 ファナック株式会社 Program modifier
CN110286651B (en) * 2019-07-24 2021-08-27 湘潭大学 High-dimensional track interpolation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6197708A (en) * 1984-10-18 1986-05-16 Komatsu Ltd Continuous route forming method of robot
JPS63205708A (en) * 1987-02-23 1988-08-25 Yaskawa Electric Mfg Co Ltd Path interpolating method for robot
JPH07152417A (en) * 1993-11-29 1995-06-16 Fanuc Ltd Tool path and tool feeding speed control system for numerical controller
JP2006309645A (en) * 2005-05-02 2006-11-09 Fanuc Ltd Curve interpolation method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880002420B1 (en) * 1981-06-20 1988-11-08 이나바 세이우에몽 Numerical control method
JPS5862706A (en) * 1981-10-09 1983-04-14 Fanuc Ltd Numerical control system
US4581698A (en) * 1981-11-18 1986-04-08 General Electric Company Method and system for generating interpolation pulses
JPS58175003A (en) * 1982-04-07 1983-10-14 Fanuc Ltd Command system of numerical control
JPS5981707A (en) * 1982-10-30 1984-05-11 Fanuc Ltd Automatic producing method of nc data
JPH05165514A (en) * 1991-12-12 1993-07-02 Fanuc Ltd Interpolating system for numerical controller
JPH05324045A (en) * 1992-05-22 1993-12-07 Daikin Ind Ltd Method and device for machining work
KR0150064B1 (en) * 1992-10-12 1998-12-15 이나바 세이우에몬 Apparatus and method for numerical control
JP3904993B2 (en) * 2002-08-16 2007-04-11 ファナック株式会社 Curve interpolation method
JP4891528B2 (en) * 2004-04-07 2012-03-07 オークマ株式会社 Machining time calculation device
JP5855692B2 (en) * 2014-02-26 2016-02-09 ファナック株式会社 Wire electric discharge machine with corner shape correction function
CN108369407B (en) * 2015-12-24 2020-08-07 三菱电机株式会社 Tool path correction device and tool path correction method
JP6374456B2 (en) * 2016-09-02 2018-08-15 ファナック株式会社 Electronic equipment and numerical control device
US10235622B2 (en) * 2017-01-24 2019-03-19 Sas Institute Inc. Pattern identifier system
JP6629808B2 (en) * 2017-10-03 2020-01-15 ファナック株式会社 Numerical control unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6197708A (en) * 1984-10-18 1986-05-16 Komatsu Ltd Continuous route forming method of robot
JPS63205708A (en) * 1987-02-23 1988-08-25 Yaskawa Electric Mfg Co Ltd Path interpolating method for robot
JPH07152417A (en) * 1993-11-29 1995-06-16 Fanuc Ltd Tool path and tool feeding speed control system for numerical controller
JP2006309645A (en) * 2005-05-02 2006-11-09 Fanuc Ltd Curve interpolation method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021039533A (en) * 2019-09-03 2021-03-11 ファナック株式会社 Tool path modification device
JP7448322B2 (en) 2019-09-03 2024-03-12 ファナック株式会社 Tool path correction device
DE112021008100T5 (en) 2021-10-26 2024-05-23 Fanuc Corporation Tool path changing device and tool path changing method

Also Published As

Publication number Publication date
US20190137975A1 (en) 2019-05-09
JP6242539B1 (en) 2017-12-06
JPWO2018020663A1 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
JP6242539B1 (en) Numerical controller
US20200139547A1 (en) Teaching device, teaching method, and robot system
US7274969B2 (en) Curve interpolating method
KR101443949B1 (en) Interpolation processing method and interpolation processor
JP5615377B2 (en) Tool path generation method and generation apparatus
US6823234B2 (en) Curve interpolation method
US10112304B2 (en) Robot programming apparatus for teaching machining operation to robot
JP5800888B2 (en) Numerical control device with smoothing function for operation by table format data
He et al. A tolerance constrained G2 continuous path smoothing and interpolation method for industrial SCARA robots
WO2018122988A1 (en) Numerical control device, program conversion device, numerical control method, and program conversion method
JP6012560B2 (en) Numerical controller
JPWO2019082394A1 (en) Numerical controller
JP2006227701A (en) Circular machining command creation device, method and program
US20200201283A1 (en) Numerical control device, numerical control machine system, machining simulation device, and machining simulation method
JP6643462B2 (en) Method, controller, machine, and computer program for providing roaming profile
JP5375703B2 (en) Numerical controller
JP6157793B1 (en) Numerical controller
JP6000496B1 (en) Numerical controller
WO2023058243A9 (en) Control device and computer-readable recording medium storing program
Kaewsaiha et al. A combined linear and circular-arc approximation of curves for feedrate smoothing of CNC machining
JP7428793B2 (en) Machining path creation device
JP6021690B2 (en) Numerical controller
JP2007061934A (en) Moving path creating method of machining tool and machining method
JP2002006917A (en) Curve interpolation method for numerical control system

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017509789

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 16910566

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16910566

Country of ref document: EP

Kind code of ref document: A1