Numerical Control Device

The numerical control device maintains a constant relative posture between the tool and workpiece by setting a relative attitude and dividing blocks, addressing unevenness in machined surfaces and reducing editing effort.

JP7787196B2Active Publication Date: 2025-12-16FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023555908
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-10-25
Publication Date
2025-12-16
Estimated Expiration
2041-10-25

AI Technical Summary

Technical Problem

Existing machine tools cause unevenness in machined surfaces due to continuous changes in the relative position of the workpiece, requiring extensive program editing to maintain a constant relative posture between the tool and workpiece.

Method used

A numerical control device that sets a constant relative attitude between the tool and workpiece using a relative attitude setting unit, divides blocks into sections based on division points, and controls axes to maintain this attitude, preventing unevenness.

Benefits of technology

Prevents unevenness on machined surfaces by performing continuous machining with a constant relative posture, reducing the need for extensive program editing and improving surface quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007787196000001
    Figure 0007787196000001
  • Figure 0007787196000002
    Figure 0007787196000002
  • Figure 0007787196000003
    Figure 0007787196000003
Patent Text Reader

Abstract

The present invention performs continuous machining while keeping the relative attitude of a tool and a workpiece stable during a program route and thus prevents unevenness occurring in a machining surface of the workpiece. This numerical control device is for a machining tool that performs machining while changing the relative position and relative attitude of a tool and a workpiece in accordance with a program and is provided with: a relative attitude setting unit that sets the relative attitude of the tool and the workpiece during each block or cycle of the program; a dividing unit that provides one or more division points in each block / cycle to divide the block / cycle into two or more sections; and a shaft control unit that moves the tool and workpiece relative to each other such that the tool and the workpiece take the relative attitude set by the relative attitude setting unit in at least one section among the two or more sections.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a numerical control device. [Background technology]

[0002] BACKGROUND ART Machine tools (for example, five-axis machining centers and multi-tasking machines) are known that machine a workpiece while changing the relative posture between the tool and the workpiece through the cooperative operation of linear axes and rotary axes. In machining with such machine tools, a technique is known in which the position and relative orientation of the cutting point are specified in each block of the program, and linear and rotary axes are controlled in accordance with these commands and preset tool offsets (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 5-100723 Summary of the Invention [Problem to be solved by the invention]

[0004] In Patent Document 1, the relative position of the workpiece changes continuously midway through the block, which causes the surface roughness of the workpiece to become non-uniform, resulting in unevenness in the machined surface. To prevent unevenness in the machined surface, the block can be divided and the program can be modified so that the relative orientation is constant in the middle section, but this requires a lot of time and effort to edit the program.

[0005] Therefore, it is desirable to prevent unevenness from occurring on the machined surface of the workpiece by performing continuous machining while maintaining a constant relative posture between the tool and the workpiece along the programmed path. [Means for solving the problem]

[0006] One aspect of the numerical control device disclosed herein is a numerical control device for a machine tool that performs machining while changing the relative position and relative attitude between a tool and a workpiece based on a program, and includes: a relative attitude setting unit that sets the relative attitude between the tool and the workpiece during each block or cycle of the program; a dividing unit that sets one or more division points in each block or cycle and divides the block or cycle into two or more sections; and an axis control unit that moves the tool or the workpiece relatively so that it takes the relative attitude set by the relative attitude setting unit in at least one of the two or more sections. [Effects of the Invention]

[0007] According to one aspect, by performing continuous machining while maintaining a constant relative posture between the tool and the workpiece along the programmed path, it is possible to prevent unevenness from occurring on the machined surface of the workpiece. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a functional block diagram showing an example of the functional configuration of a numerical control device according to a first embodiment. [Figure 2] 10A and 10B are diagrams showing an example of the geometric shape of a multi-edge tool for turning stored in a tool shape storage unit; [Figure 3] FIG. 10 is a diagram showing an example of a machining program. [Figure 4] 4 is a diagram showing an example of a program path (machining path) indicated by the machining program of FIG. 3. FIG. [Figure 5] FIG. 10 is a diagram showing an example of the operation of a multi-edge tool for turning on a program path N3. [Figure 6] 4 is a flowchart illustrating a control process of the numerical control device. [Figure 7] FIG. 10 is a functional block diagram showing an example of the functional configuration of a numerical control device according to a second embodiment. [Figure 8] FIG. 10 is a diagram showing an example of a geometric shape of a ball end mill stored in a tool shape storage unit. [Figure 9]FIG. 10 is a diagram showing an example of a machining program. [Figure 10] 10 is a diagram showing an example of a program path (machining path) indicated by the machining program of FIG. 9. FIG. [Figure 11] 10A and 10B are diagrams illustrating an example of a setting process of a relative attitude setting unit. [Figure 12] FIG. 10 is a diagram illustrating an example of division processing by a division unit. [Figure 13] FIG. 10 is a diagram showing an example of the relationship between the tool center point of a ball end mill and a projected ball end mill. [Figure 14] 4 is a flowchart illustrating a control process of the numerical control device. [Figure 15] FIG. 10 is a functional block diagram showing an example of the functional configuration of a numerical control device according to a third embodiment. [Figure 16] FIG. 10 is a diagram showing an example of a machining program. [Figure 17] 17 is a diagram showing an example of a program path (machining path) indicated by the machining program of FIG. 16. FIG. [Figure 18] FIG. 10 is a diagram showing an example of the operation of a multi-edge tool for turning on a program path N3. [Figure 19] 4 is a flowchart illustrating a control process of the numerical control device. DETAILED DESCRIPTION OF THE INVENTION

[0009] The first to third embodiments will be described in detail with reference to the drawings. Here, each embodiment has in common the configuration that one or more division points are set in each block or cycle based on the relative attitude of the tool and workpiece during the block or cycle and the geometric shape of the tool, and the block or cycle is divided into two or more sections. However, in the first embodiment, the relative attitude of the multi-edge turning tool is set using the angle of the B axis to calculate the positions of the block division points and the feed rate. In contrast, in the second embodiment, the relative attitude of the ball end mill is set using vectors at the middle and end of the block to calculate the positions of the block division points and the feed rate, which is different from the first embodiment. The third embodiment differs from the first and second embodiments in that the positions of the block division points are set without using the relative attitude and geometric shape of the multi-edge turning tool. In the following, the first embodiment will be described in detail first, and then the second and third embodiments will be described, focusing on the differences from the first embodiment.

[0010] First Embodiment 1 is a functional block diagram showing an example of the functional configuration of a numerical control device according to a first embodiment. Here, a case where a multi-edge tool for turning is used as a tool is illustrated. Note that the present invention is not limited to a multi-edge tool for turning, and can be applied to any tool. The numerical control device 10 and the machine tool 20 may be directly connected to each other via a connection interface (not shown). The numerical control device 10 and the machine tool 20 may also be connected to each other via a network (not shown), such as a LAN (Local Area Network) or the Internet. In this case, the numerical control device 10 and the machine tool 20 are provided with a communication unit (not shown) for communicating with each other via such a connection.

[0011] <Machine tools 20> The machine tool 20 is, for example, a lathe for lathe machining known to those skilled in the art, and operates based on operation commands from the numerical control device 10, which will be described later.

[0012] <Numerical control device 10> The numerical control device 10 is a numerical control device known to those skilled in the art, and generates operation commands based on control information and transmits the generated operation commands to the machine tool 20. In this way, the numerical control device 10 controls the operation of the machine tool 20. 1, the numerical control device 10 includes a control unit 100 and a storage unit 200. The control unit 100 further includes an NC command decoder 110, a relative attitude setting unit 120, a division unit 130, and an axis control unit 140.

[0013] <Storage section 200> The storage unit 200 is a storage unit such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive), etc. The storage unit 200 includes a tool shape storage unit 210 and an allowable change amount storage unit 220.

[0014] The tool shape storage unit 210 stores, for example, information on the geometric shapes of multi-edge tools for turning that can be selected for the machine tool 20. FIG. 2 is a diagram showing an example of the geometric shape of a multi-edge tool for turning stored in the tool shape storage unit 210. As shown in FIG. As shown in Fig. 2, the tool shape memory unit 210 stores the offsets in the X-axis direction and Z-axis direction indicated by the arrows of each edge of the multi-edge turning tool when the B-axis around the Y-axis is "0 degrees", for each multi-edge turning tool and for each edge. For example, in the case of the multi-edge turning tool 40 shown in Fig. 2, the tool shape memory unit 210 stores the X-axis offset of "6.000" and the Z-axis offset of "0.000" of edge 1, the X-axis offset of "-3.000" and the Z-axis offset of "4.000" of edge 2, and the X-axis offset of "-3.000" and the Z-axis offset of "-4.000" of edge 3. The angle between the vector connecting edge 1 and edge 2 and the X-axis is calculated by tan -1 (4 / 9) (= 23.9625 degrees). As will be explained later, this angle represents the condition for an approach angle of 90 degrees. In addition, the tool shape memory unit 210 is not limited to the offsets in the X-axis and Z-axis directions indicated by the arrows of each edge of the multi-edge tool 40 for turning, but may store the geometric shape of the multi-edge tool 40 for turning consisting of a combination of one or more of a portion of a straight line, a portion of a curve, a portion of a plane, and a portion of a curved surface.

[0015] The allowable change amount storage unit 220 stores the allowable change amount (i.e., threshold value) per unit time of the relative attitude between the turning multi-edge tool 40 and the workpiece 50. The allowable change amount is, for example, the maximum allowable rotation speed of the B-axis of the turning multi-edge tool 40, and may be determined in advance by the user depending on the mechanical characteristics of the machine tool 20 and the machining conditions.

[0016] <Control unit 100> The control unit 100 includes a CPU, a ROM, a RAM, a CMOS memory, and the like, which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art. The CPU is a processor that controls the entire numerical control device 10. The CPU reads out system programs and application programs stored in ROM via the bus and controls the entire numerical control device 10 in accordance with the system programs and application programs. As a result, as shown in FIG. 1, the control unit 100 is configured to realize the functions of an NC command decoder 110, a relative attitude setting unit 120, a division unit 130, and an axis control unit 140. The RAM stores various data such as temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its stored state even when the power to the numerical control device 10 is turned off.

[0017] The NC command interpreter 110 acquires a machining program 30 generated by an external device such as a CAD / CAM device, and analyzes the acquired machining program 30. Fig. 3 is a diagram showing an example of a machining program 30. Fig. 4 is a diagram showing an example of a program path (machining path) indicated by the machining program 30 of Fig. 3. Fig. 4 illustrates an example in which "Edge 1" of the multi-edge tool 40 for turning is selected for turning. Also, in Fig. 4, program paths (machining paths) corresponding to sequence numbers N1 to N5 in the machining program 30 are indicated by N1 to N5, respectively. The NC command interpreter 110 analyzes the block with sequence number N99 in the machining program 30 shown in FIG. 3 as follows: In the tool center point control mode indicated by "G43.4," the offset of edge 1 indicated by tool offset number "D1" of the multi-edge turning tool 40 stored in the tool shape memory unit 210 is used. When changing the relative orientation midway through the block, the B-axis angle of the multi-edge turning tool 40 is set to "-23.9625 degrees" and the feed rate is set to "F0.2 (mm / spindle rotation)." Here, the tool center point control mode refers to a mode in which the X, Y, and Z values ​​commanded by the numerical control device 10 coincide with the tool center point. Furthermore, the tool center point control mode of G43.4 refers to a tool center point control mode in which the relative orientation is determined by the angle of the rotation axis, as described in the first embodiment. The block with sequence number N99 also indicates various information used in blocks N1 and onward. In this example, as will be described later, blocks other than the block with sequence number N3 do not satisfy the condition for changing the relative attitude midway through the block.

[0018] The NC command interpreter 110 also analyzes the block with sequence number N1 to be turned by -5 mm in the negative direction of the Z axis with the B-axis angle of the turning multi-edge tool 40 set to 45.0 degrees in the tool center point control mode of "G43.4" at a feed rate of F0.2 (mm / spindle rotation).The NC command interpreter 110 also analyzes the block with sequence number N2 to be turned by -1 mm in the negative direction of the X axis with the B-axis angle of the turning multi-edge tool 40 kept at 45.0 degrees in the tool center point control mode of "G43.4" at a feed rate of F0.2 (mm / spindle rotation). The NC command interpreter 110 also analyzes the block with sequence number N3 to be turned by -10 mm in the negative direction of the Z axis at a feed rate of F0.2 (mm / spindle rotation) with the B-axis angle of the turning multi-edge tool 40 set to -45.0 degrees in the tool center point control mode of "G43.4." The NC command interpreter 110 also analyzes the block with sequence number N4 to be turned by 1 mm in the positive direction of the X axis at a feed rate of F0.2 (mm / spindle rotation) with the B-axis angle of the turning multi-edge tool 40 kept at -45.0 degrees in the tool center point control mode of "G43.4." In addition, the NC command interpretation unit 110 analyzes that the block with sequence number N5 will be turned "-5 mm" in the negative direction of the Z axis at a feed rate of "F0.2 (mm / per spindle rotation)" with the B-axis angle of the multi-edge turning tool 40 kept at "-45.0 degrees" in the tool center point control mode of "G43.4."

[0019] The relative attitude setting unit 120 sets the relative attitude between the turning multi-edge tool 40 and the workpiece 50 during each block or cycle of the machining program 30 based on command values ​​of the machining program 30 or values ​​previously stored in the allowable change amount storage unit 220. Specifically, the relative attitude setting unit 120 may directly command the relative attitude using a program command as shown in FIG. 3. Alternatively, for example, as described below, the approach angle may be specified in an interactive program format. Alternatively, the relative attitude may be previously stored in the storage unit as an NC parameter, and the stored relative attitude may be used. As shown in Fig. 3, since the B-axis angle of the multi-edge turning tool 40 is "B-45.0" in the block with sequence number N3, it is necessary to change the B-axis angle of the multi-edge turning tool 40 from "45 degrees" to "-45 degrees" in the middle of the block, as shown in Fig. 4. Therefore, the relative attitude setting unit 120 may directly specify the relative attitude in the middle of the block (or in the middle of the cycle) by a program command. For example, the relative attitude setting unit 120 may be configured such that the user inputs an approach angle K of "90 degrees" of the turning multi-edge tool 40 midway through a block where the B-axis angle of the turning multi-edge tool 40 changes from "45 degrees" to "-45 degrees" in the block of sequence number N3, as shown in Fig. 5, on an interactive programming screen displayed on a display device (not shown) such as a liquid crystal display included in the numerical control device 10, via an input device (not shown) such as a keyboard or touch panel included in the numerical control device 10. The relative attitude setting unit 120 may use the input approach angle K of "90 degrees" to automatically calculate the tool direction (the arrow pointing from edge 1 toward the rotation axis shown in Fig. 5) when the turning multi-edge tool 40 is moving in the negative direction of the Z-axis in the block of sequence number N3, and automatically calculate the B-axis angle of "-23.9625 degrees." The relative attitude setting unit 120 may set the B-axis angle program command "Q-23.9625" in advance in the block with sequence number N99 of the machining program 30, as shown in FIG.

[0020] In addition, the relative posture setting unit 120 may use the approach angle K of "90 degrees" (or the B-axis angle of "-23.9625 degrees") stored in advance in the memory unit 200 to set the program command "Q-23.9625" for the B-axis angle of the multi-edge tool 40 for turning in the block with sequence number N99 of the machining program 30.

[0021] The dividing unit 130 sets one or more division points in each block or cycle in the machining program 30 based on the relative posture between the multi-edge tool 40 for turning and the workpiece 50, and the geometric shape of the multi-edge tool 40 for turning, and divides the block or cycle into two or more sections. Specifically, for example, as shown in Figure 5, the B-axis angle of the turning multi-edge tool 40 changes from "45 degrees" to "-45 degrees" in the middle of the block with sequence number N3, and therefore the division unit 130 determines division points D1 and D2 so that the contour (program path) and the turning multi-edge tool 40 do not interfere with each other when the turning multi-edge tool 40 and the workpiece 50 assume the relative posture specified by the command "Q-23.9625".

[0022] For example, the dividing unit 130 determines vectors V2 and V3 from the tip of edge 1 of the turning multi-edge tool 40 to edges 2 and 3 (interference check points), respectively, based on the offsets of each edge of the turning multi-edge tool 40 stored in the tool shape storage unit 210, the machining shapes (program paths) N1 to N5 indicated by the machining program 30 decoded by the NC command decoding unit 110, the B-axis angle "45 degrees" of the turning multi-edge tool 40 at the start point (contour change point) of the block with sequence number N3, and the relative posture indicated by the command "Q-23.9625." The dividing unit 130 determines whether the determined vectors V2 and V3 intersect with the machining shapes (program paths) N1 to N5. The division unit 130 determines the position coordinates of the division point D1 that can change the B-axis angle of the multi-edge tool 40 for turning from "45 degrees" at the starting point (contour change point) to "-23.9625 degrees" (approach angle K "90 degrees") without causing interference between the determined vectors V2 and V3 and the machining shapes N1 to N5. Specifically, when the distance from the start point of the block with sequence number N3 to division point D1 is Ls and the feed rate in the block with sequence number N3 is f (a command value of the machining program 30), the dividing unit 130 calculates the time Ts required for edge 1 of the turning multi-edge tool 40 to move from the start point of the block with sequence number N3 to division point D1 as Ls / f. The dividing unit 130 calculates the B-axis rotational speed Vb1 when edge 1 of the turning multi-edge tool 40 moves from the start point of the block with sequence number N3 to division point D1 as Vb1=(-23.9625 degrees-45 degrees) / Ts. Then, the division unit 130 calculates the position coordinates of the division point D1 at which the B-axis rotation speed Vb1 does not exceed the allowable change amount when the B-axis angle changes from "45 degrees" to "-23.9625 degrees", and the feed rate f at which the tip point of edge 1 of the multi-edge tool 40 for turning moves from the block start point (contour change point) to the division point D1.

[0023] In addition, the division unit 130 determines the position coordinates of division point D2 that can change the B-axis angle of the multi-edge tool 40 for turning from "-23.9625 degrees" to "-45 degrees", the end point (contour change point) of the block with sequence number N3, without causing interference between the determined vectors V2 and V3 and the machining shapes N1 to N5. That is, when the distance from division point D2 to the end point of the block with sequence number N3 is Le and the feed rate in the block with sequence number N3 is f (a command value of the machining program 30), the dividing unit 130 calculates the time Te required for edge 1 of the turning multi-edge tool 40 to move from division point D2 to the end point of the block with sequence number N3 as Te = Le / f. The dividing unit 130 calculates the B-axis rotational speed Vb2 when edge 1 of the turning multi-edge tool 40 moves from division point D2 to the end point of the block with sequence number N3 as Vb2 = (-45 degrees - (-23.9625 degrees)) / Te. The division unit 130 determines the position coordinates of the division point D2 at which the B-axis rotation speed Vb2 does not exceed the allowable change amount when the B-axis angle changes from "-23.9625 degrees" to "-45 degrees", and the feed rate f at which the tip point of edge 1 of the multi-edge tool 40 for turning moves from the division point D2 to the block end point (contour change point).

[0024] If the set value of the allowable change amount is small, or if the distance Ls from the block start point to the division point D1 or the distance Le from the division point D2 to the block end point is short, the change amount per unit time of the relative attitude, i.e., the rotational speeds Vb1 and Vb2 of the B axis, may exceed the allowable change amount. In such cases, if the dividing unit 130 determines that the change amount per unit time of the relative attitude exceeds the allowable change amount, it may not divide the block (or cycle). Furthermore, the dividing unit 130 may not divide a block or a cycle if the movement amount in a specific direction (for example, the Z-axis direction) of the block or cycle is smaller than a predetermined value (for example, 2 mm) that is the minimum movement amount. For example, as shown in Fig. 3, in the machining paths (program paths) N2 and N4, the movement amount in the Z-axis direction is 0 mm, which is smaller than the minimum movement amount when set to 2 mm, and therefore the dividing unit 130 may not divide the blocks of sequence numbers N2 and N4. By doing so, the numerical control device 10 can prevent adverse effects on the machined surface caused by intermittent changes in the relative posture of blocks with small movement amounts.

[0025] The axis control unit 140 moves the multi-edge turning tool 40 or the workpiece 50 relatively so as to take the relative posture set by the relative posture setting unit 120 in at least one of the two or more sections. Specifically, the axis control unit 140 moves the multi-edge tool 40 for turning relatively so that it takes the relative posture set by the relative posture setting unit 120 in the section connecting adjacent division points D1 and D2 among the sections divided by the dividing unit 130.

[0026] <Control processing of the numerical control device 10> Next, the flow of control processing of the numerical control device 10 will be described with reference to FIG. 6 is a flowchart illustrating the control processing of the numerical control device 10. The flow shown here is repeatedly executed every time the machining program 30 is executed.

[0027] In step S11, the NC command interpreter 110 acquires the machining program 30.

[0028] In step S12, the NC command interpreter 110 analyzes the machining program 30 acquired in step S11.

[0029] In step S13, the relative posture setting unit 120 obtains the position of the B axis from the program command "Q-23.9625" in the block with sequence number N99 of the machining program 30 in Figure 3 and the program commands "B45.0" and "B-45.0" in the blocks with sequence numbers N1 and N3.

[0030] In step S14, the division unit 130 calculates vectors V2 and V3 from the edge tip of edge 1 of the multi-edge tool 40 for turning to edges 2 and 3 (interference check points), respectively, based on the offsets of each edge of the multi-edge tool 40 for turning stored in the tool shape memory unit 210, the machining shape (program path) indicated by the machining program 30 decoded in step S12, and the B-axis positions "Q-23.9625", "B45.0", and "B-45.0" obtained in step S13.

[0031] In step S15, the dividing unit 130 calculates the position of division point D1 that can change the B-axis angle of the turning multi-edge tool 40 in the block with sequence number N3 from "45 degrees" at the start point (contour change point) to "-23.9625 degrees" without interfering with the machining shape and the vectors V2 and V3 calculated in step S14. The dividing unit 130 also calculates the position of division point D2 that can change the B-axis angle of the turning multi-edge tool 40 in the block with sequence number N3 from "-23.9625 degrees" to "-45 degrees" at the end point (contour change point) without interfering with the machining shape and the vectors V2 and V3 calculated in step S14.

[0032] In step S16, the dividing unit 130 calculates the speed of the tip point of edge 1 of the turning multi-edge tool 40 so that the B-axis rotational speed does not exceed the allowable change amount when the B-axis angle changes from "45 degrees" to "-23.9625 degrees" as edge 1 of the turning multi-edge tool 40 moves from the start point (contour change point) to division point D1. The dividing unit 130 also calculates the speed of the tip point of edge 1 of the turning multi-edge tool 40 so that the B-axis rotational speed does not exceed the allowable change amount when the B-axis angle changes from "-23.9625 degrees" to "-45 degrees" as edge 1 of the turning multi-edge tool 40 moves from division point D2 to the block end point (contour change point).

[0033] In step S17, the axis control unit 140 moves the multi-edge tool 40 for turning relatively so that it takes the relative posture set by the relative posture setting unit 120 in the section connecting adjacent division points D1 and D2 among the sections divided in step S15.

[0034] As described above, the numerical control device 10 according to the first embodiment can prevent unevenness from occurring on the machined surface of the workpiece 50 by adding the program command "Q-23.9625" to the machining program 30, thereby performing continuous machining while maintaining a constant relative posture between the tool and the workpiece midway through the block, i.e., in the section connecting adjacent division points D1 and D2. Furthermore, the numerical control device 10 eliminates the need to divide the blocks of the machining program 30 so that the relative orientation remains constant midway through the blocks, thereby reducing the user's workload. The first embodiment has been described above.

[0035] Second Embodiment Next, a second embodiment will be described. In the first embodiment, the relative attitude of the multi-edge turning tool 40 was set using the angle of the B axis in the tool center point control mode of "G43.4," thereby calculating the positions of the block division points and the feed rate. In contrast, the second embodiment differs from the first embodiment in that the relative attitude of the ball end mill 45 is set using vectors at the middle and end of the block in the tool center point control mode of "G43.5," thereby calculating the positions of the block division points and the feed rate. As a result, the numerical control device 10A of the second embodiment can prevent unevenness from occurring on the machined surface of the workpiece by performing continuous machining while maintaining a constant relative posture between the tool and the workpiece midway through the program path. The second embodiment will be described below.

[0036] Fig. 7 is a functional block diagram showing an example of the functional configuration of a numerical control device 10A according to the second embodiment. Elements having the same functions as those of the numerical control device 10 in Fig. 1 are denoted by the same reference numerals, and detailed description thereof will be omitted. The numerical control device 10A and the machine tool 20A may be directly connected to each other via a connection interface (not shown). The numerical control device 10A and the machine tool 20A may also be connected to each other via a network (not shown), such as a LAN or the Internet. In this case, the numerical control device 10A and the machine tool 20A are provided with a communication unit (not shown) for communicating with each other via such a connection.

[0037] <Machine tool 20A> Machine tool 20A is, for example, a five-axis machining center known to those skilled in the art, and operates based on operation commands from numerical control device 10A, which will be described later.

[0038] <Numerical control device 10A> 7, the numerical control device 10A includes a control unit 100a and a storage unit 200a. The control unit 100a further includes an NC command decoder 110, a relative attitude setting unit 120a, a dividing unit 130a, and an axis control unit 140.

[0039] <Storage section 200a> The storage unit 200a is a storage unit such as an SSD or HDD, etc. The storage unit 200a includes a tool shape storage unit 210a and an allowable change amount storage unit 220a.

[0040] The tool shape storage unit 210a stores, for example, information about the geometric shape of a ball end mill that can be attached to the machine tool 20A. FIG. 8 is a diagram showing an example of the geometric shape of a ball end mill stored in the tool shape storage unit 210a. As shown in FIG. 8, the tool shape storage unit 210a stores the tool length correction amount of the ball end mill 45 and the tool holder diameter. The tool shape memory unit 210a is not limited to storing the tool length correction amount and the tool holder diameter of the ball end mill 45, but may also store the geometric shape of the ball end mill 45 consisting of a combination of one or more of a part of a straight line, a part of a curve, a part of a plane, and a part of a curved surface.

[0041] The allowable change amount storage unit 220a stores the allowable change amount per unit time (i.e., threshold value) of the relative posture between the ball end mill 45 and the workpiece 50. The allowable change amount is, for example, the maximum value of the rotation speed of each of the A-axis and C-axis of the ball end mill 45, and may be determined in advance by the user depending on the mechanical characteristics and machining conditions of the machine tool 20A.

[0042] <Control unit 100a> The control unit 100a includes a CPU, a ROM, a RAM, a CMOS memory, and the like, which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art. The CPU is a processor that controls the entire numerical control device 10A. The CPU reads out the system program and application program stored in the ROM via the bus and controls the entire numerical control device 10A in accordance with the system program and application program. As a result, as shown in Fig. 7, the control unit 100a is configured to realize the functions of the NC command decoding unit 110, the relative attitude setting unit 120a, the dividing unit 130a, and the axis control unit 140.

[0043] The NC command decoder 110 and the axis control unit 140 have the same functions as the NC command decoder 110 and the axis control unit 140 in the first embodiment.

[0044] Fig. 9 is a diagram showing an example of a machining program 30. Fig. 10 is a diagram showing an example of a program path (machining path) shown by the machining program 30 of Fig. 9. Fig. 10 illustrates an example in which a ball end mill 45 cuts a pocket shape based on the machining program 30 shown in Fig. 9. In Fig. 10, program paths (machining paths) corresponding to sequence numbers N1 to N3 in the machining program 30 are indicated by N1 to N3, respectively. The NC command interpreter 110 analyzes the second block of the machining program 30 with the program name "O1002" in Fig. 9 to determine that the ball end mill 45 will be cut at a feed rate of "F500 (mm / min)" in the control mode indicated by "G43.5" using the tool length compensation amount indicated by the tool offset number "H1" for the ball end mill 45 shown in Fig. 8 stored in the tool shape memory unit 210a. Here, the tool center point control mode of G43.5 refers to a tool center point control mode that determines the relative posture at the end of the block using addresses I (X-axis direction), J (Y-axis direction), and K (Z-axis direction) and the relative posture midway through the block using addresses P (X-axis direction), Q (Y-axis direction), and R (Z-axis direction), as will be described in the second embodiment.

[0045] The NC command interpretation unit 110 also analyzes the third block with sequence number N1 as follows: in the tool tip point control mode of "G43.5", the A-axis and / or C-axis of the ball end mill 45 are rotated so that the relative orientation between the vector from the tip of the ball end mill 45 to the base of the tool holder and the workpiece 50 becomes "(P,Q,R)=(0,1,1)" midway through the block and becomes "(I,J,K)=(1,1,1)" at the end of the block, and cutting is performed by "-10 mm" in the negative direction of the X-axis at a feed rate of "F500 (mm / min)". In addition, the NC command interpretation unit 110 analyzes the fourth block with sequence number N2 as follows: in the tool tip point control mode of "G43.5", the A-axis and / or C-axis of the ball end mill 45 are rotated so that the relative orientation between the vector from the tip of the ball end mill 45 to the base of the tool holder and the workpiece 50 becomes "(P,Q,R)=(1,0,1)" midway through the block and becomes "(I,J,K)=(1,-1,1)" at the end of the block, and 10 mm is cut in the positive direction of the Y-axis at a feed rate of "F500 (mm / min)". The NC command interpretation unit 110 also analyzes the fifth block with sequence number N3 as follows: in the tool tip point control mode of "G43.5", the A-axis and / or C-axis of the ball end mill 45 are rotated so that the relative orientation between the vector from the tip of the ball end mill 45 to the base of the tool holder and the workpiece 50 becomes "(P, Q, R) = (0, -1, 1)" midway through the block and becomes "(I, J, K) = (-1, -1, 1)" at the end of the block, and 10 mm is cut in the positive direction of the X-axis at a feed rate of "F500 (mm / min)".

[0046] The relative posture setting unit 120a sets the relative posture between the ball end mill 45 and the workpiece 50 at the middle and end of each block of sequence numbers N1 to N3 of the machining program 30 based on the command value of the machining program 30 or a value previously stored in the allowable change amount memory unit 220a. Fig. 11 is a diagram showing an example of the setting process of relative attitude setting unit 120a. Note that Fig. 11 illustrates the setting process of relative attitude setting unit 120a for the block with sequence number N2, but the same applies to blocks with sequence numbers N1 and N3 as for the block with sequence number N2.

[0047] 9 and 11, the relative orientation setting unit 120a may be configured such that the user inputs "(P, Q, R) = (1, 0, 1)" and "(I, J, K) = (1, -1, 1)" as the relative orientations in the middle and end points of the block with sequence number N2 via an input device (not shown) of the numerical controller 10A on an interactive programming screen displayed on a display device (not shown) of the numerical controller 10A. Using the input "(P, Q, R) = (1, 0, 1)," the relative orientation setting unit 120a calculates the coordinate values ​​of the A-axis and C-axis of the ball end mill 45 in the middle of the block with sequence number N2 as (A, C) = (-45°, 270°) and (45°, 90°). Furthermore, the relative attitude setting unit 120a uses the input "(I, J, K) = (1, -1, 1)" to calculate the coordinate values ​​of the A-axis and C-axis of the ball end mill 45 at the end point of the block with sequence number N2 as (A, C) = (-54.7356°, 225°) and (54.7356°, 45°). Note that the relative attitude setting unit 120a sets the relative attitude at the start point of the block with sequence number N2 to the relative attitude of the end point of the block with sequence number N1, "(I, J, K) = (1, 1, 1)," and calculates the coordinate values ​​of the A-axis and C-axis of the ball end mill 45 as (A, C) = (-54.7356°, 315°) and (54.7356°, 135°). Then, the relative posture setting unit 120a selects and sets the combinations (A, C) = (-54.7356°, 315°), (-45°, 270°), (-54.7356°, 225°) that result in a small amount of movement of the C-axis of the ball end mill 45 when the ball end mill 45 moves from the start point of the block with sequence number N2 to the end point of the block.

[0048] In addition, the relative orientation setting unit 120a may set (P, Q, R) and (I, J, K) in the blocks of sequence numbers N1 to N3 of the machining program 30 using the relative orientation in the middle of the block and the relative orientation at the end of the block for each block that are stored in advance in the memory unit 200a.

[0049] The division unit 130a determines the division points at which the relative posture of the ball end mill 45 at the start of the block with sequence number N2 changes to the relative posture of the ball end mill 45 midway through the block, and the division points at which the relative posture of the ball end mill 45 at the midpoint of the block changes to the relative posture of the ball end mill 45 at the end of the block. FIG. 12 is a diagram showing an example of the division process of the division unit 130a. As shown in FIG. 12, when the relative orientation of the ball end mill 45 is ((I, J, K) = (1, 0, 1) or (A, C) = (-45°, 270°)) in the middle of the block with sequence number N2, the dividing unit 130a projects the ball end mill 45 onto a plane spanned by the program path with sequence number N1 and the program path with sequence number N2. As shown in FIG. 13, the dividing unit 130a calculates vectors V4 and V5 projected from the tool tip point of the ball end mill 45 toward the bottom end of the tool holder of the ball end mill 45 (broken line). Using the calculated vectors V4 and V5, the dividing unit 130a determines a division point D3 as a position where the projected ball end mill 45 does not intersect with the program path with sequence number N1. The ball end mill 45 moves from the start point of the block with sequence number N2 to the division point D3 while maintaining the relative orientation (I, J, K) = (1, 1, 1) (or (A, C) = (-54.7356°, 315°)), and after passing the division point D3, changes to the relative orientation midway through the block specified by (P, Q, R) = (1, 0, 1) (or (A, C) = (-45°, 270°)). Therefore, when the distance from division point D3 to division point D4 is Ls and the feed rate in the block with sequence number N2 is f (a command value of the machining program 30), the dividing unit 130a calculates the time Ts required for the ball end mill 45 to move from division point D3 to division point D4 as Ls / f. The dividing unit 130a calculates the A-axis rotational speed Va1 = (-45 degrees - (-54.7356 degrees)) / Ts and the C-axis rotational speed Vc1 = (270 degrees - 315 degrees) / Ts when the ball end mill 45 moves from division point D3 to division point D4. The dividing unit 130a determines the position coordinates of division point D4 and the feed rate f at which the ball end mill 45 moves from division point D3 to division point D4 so that the rotational speeds Va1 and Vc1 of the A-axis and C-axis do not exceed the allowable change amounts stored in the allowable change amount storage unit 220a.

[0050] Furthermore, when the relative posture of the ball end mill 45 in the middle of the block with sequence number N2 is ((I, J, K) = (1, 0, 1) or (A, C) = (-45°, 270°)), the dividing unit 130a projects the ball end mill 45 onto a plane spanned by the program path with sequence number N2 and the program path with sequence number N3, and calculates vectors V4 and V5 in the same manner as in Figure 13. The dividing unit 130a determines the position where the ball end mill 45 projected using the calculated vectors V4 and V5 does not intersect with the program path with sequence number N3 as division point D6. Note that the ball end mill 45 changes its relative orientation from the midpoint of the block specified by (P, Q, R) = (1, 0, 1) (or (A, C) = (-45°, 270°)) to the relative orientation at the end of the block with sequence number N2 (I, J, K) = (1, -1, 1) (or (A, C) = (-54.7356°, 225°)) before passing through division point D6. Therefore, the division unit 130a determines the position of division point D5 so that the rotational speeds of the A-axis and C-axis do not exceed the allowable change amount stored in the allowable change amount storage unit 220a. Specifically, when the distance from division point D5 to division point D6 is Le and the feed rate in the block with sequence number N2 is f (a command value of the machining program 30), the dividing unit 130a calculates the time Te required for the ball end mill 45 to move from division point D5 to division point D6 as Le=Le / f. The dividing unit 130a calculates the A-axis rotational speed Va2=(-54.7356 degrees-(-45 degrees)) / Te and the C-axis rotational speed Vc2=(225 degrees-270 degrees) / Te when the ball end mill 45 moves from division point D5 to division point D6. The dividing unit 130a calculates the position coordinates of division point D5 and the feed rate f at which the ball end mill 45 moves from division point D5 to division point D6 so that the A-axis and C-axis rotational speeds Va2 and Vc2 do not exceed the allowable change amounts stored in the allowable change amount storage unit 220a.

[0051] If the set value of the allowable change amount is small, or if the distance Ls from division point D3 to division point D4 or the distance Le from division point D5 to division point D6 is short, the change amount per unit time of the relative attitude, i.e., the rotational speeds Va2 and Vc2 of the A-axis or C-axis, may exceed the allowable change amount. In such cases, if the dividing unit 130a determines that the change amount per unit time of the relative attitude exceeds the allowable change amount, it may not divide the block (or cycle). In addition, the dividing unit 130a may not divide a block or a cycle if the amount of movement of the block or the cycle in a particular direction (for example, the X-axis, Y-axis, or Z-axis direction) is smaller than a predetermined value (for example, 2 mm) that is the minimum amount of movement. By doing so, the numerical control device 10 can prevent adverse effects on the machined surface caused by intermittent changes in the relative posture of blocks with small movement amounts.

[0052] <Control processing of the numerical control device 10A> Next, the flow of control processing of the numerical control device 10A will be described with reference to FIG. 14 is a flowchart illustrating the control process of the numerical control device 10 A. The flow shown here is repeatedly executed every time the machining program 30 is executed. The processes in steps S21 and S22 are the same as those in steps S11 and S12 in FIG. 6, and therefore will not be described again.

[0053] In step S23, the relative attitude setting unit 120a calculates the positions of the A-axis and C-axis of the ball end mill 45 for each block of the machining program in Fig. 9 based on the relative attitude at the start point of the block, the relative attitude midway through the block, and the relative attitude at the end point of the block. The relative attitude setting unit 120a selects, acquires (sets) a combination of the positions of the A-axis and C-axis for each block so that the movement amount of the C-axis of the ball end mill 45 is small.

[0054] In step S24, the division unit 130a projects the ball end mill 45 at the relative posture at the start point of the block (or end point of the block) onto a plane that spans the adjacent program path (machining path), and calculates vectors V4 and V5 projected from the tool tip point of the ball end mill 45 to the bottom end of the tool holder of the ball end mill 45.

[0055] In step S25, the dividing unit 130a calculates a division point D3 (or a division point D6) at which the projected ball end mill 45 does not intersect with the adjacent program path (machining path) using the vectors V4 and V5 calculated in step S24.

[0056] In step S26, the dividing unit 130a calculates a division point D4 that becomes the relative posture of the ball end mill 45 at the position of division point D3, which is the relative posture midway through the block, from the relative posture of the ball end mill 45 at the position of division point D3, so that the rotational speeds of the A-axis and C-axis do not exceed the allowable change amount stored in the allowable change amount storage unit 220a. The dividing unit 130a also calculates a division point D5 that becomes the relative posture of the ball end mill 45 at the position of division point D6, from the relative posture midway through the block, so that the rotational speeds of the A-axis and C-axis do not exceed the allowable change amount stored in the allowable change amount storage unit 220a.

[0057] In step S27, the axis control unit 140 moves the ball end mill 45 relatively so that it takes the relative posture set by the relative posture setting unit 120a in the section between the block start point and division point D3, the section connecting adjacent division points D4 and D5, and the section between division point D6 and the block end point, among the sections divided in steps S25 and S26.

[0058] As described above, the numerical control device 10A according to the second embodiment sets the relative posture midway through the block using the program commands "P0 Q1 R1," "P1 Q0 R1," and "P0 Q-1 R1" in the machining program 30, thereby performing continuous machining while maintaining a constant relative posture between the tool and workpiece in the section between the start point of the block and division point D3, the section connecting adjacent division points D4 and D5, and between division point D6 and the end point of the block, thereby preventing unevenness from occurring on the machined surface of the workpiece 50. Furthermore, the numerical control device 10 eliminates the need to divide the blocks of the machining program 30 so that the relative orientation remains constant midway through the blocks, thereby reducing the user's workload. The second embodiment has been described above.

[0059] Next, a third embodiment will be described. In the first embodiment, the relative orientation of the turning multi-edge tool 40 was set using the angle of the B-axis in the tool center point control mode of "G43.4," thereby calculating the positions of the block division points and the feed rate. On the other hand, in the second embodiment, the relative orientation of the ball end mill 45 was set based on vectors at the middle and end of the block in the tool center point control mode of "G43.5," thereby calculating the positions of the block division points and the feed rate. In contrast, in the third embodiment, the relative orientation of the turning multi-edge tool 40 is set using the angle of the B-axis in the tool center point control mode of "G43.4," but the positions of the block division points are set without using the relative orientation and geometric shape of the turning multi-edge tool 40, which is different from the first and second embodiments. As a result, the numerical control device 10B of the third embodiment can prevent unevenness from occurring on the machined surface of the workpiece by performing continuous machining while maintaining a constant relative posture between the tool and the workpiece midway through the program path. The third embodiment will be described below.

[0060] Fig. 15 is a functional block diagram showing an example of the functional configuration of a numerical control device 10B according to the third embodiment. Elements having the same functions as those of the numerical control device 10 in Fig. 1 are denoted by the same reference numerals, and detailed description thereof will be omitted. The numerical control device 10B and the machine tool 20 may be directly connected to each other via a connection interface (not shown). The numerical control device 10B and the machine tool 20 may also be connected to each other via a network (not shown), such as a LAN or the Internet. In this case, the numerical control device 10B and the machine tool 20 are provided with a communication unit (not shown) for communicating with each other via such a connection.

[0061] <Numerical control device 10B> 15, the numerical control device 10B includes a control unit 100b and a storage unit 200b. The control unit 100b further includes an NC command decoder 110, a relative attitude setting unit 120, a division unit 130b, and an axis control unit 140.

[0062] <Storage section 200b> The storage unit 200b is a storage unit such as an SSD or HDD. The storage unit 200b includes an allowable change amount storage unit 220. The allowable change amount storage unit 220 stores data similar to that of the allowable change amount storage unit 220 of the first embodiment.

[0063] <Control unit 100b> The control unit 100b includes a CPU, a ROM, a RAM, a CMOS memory, and the like, which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art. The CPU is a processor that controls the entire numerical control device 10B. The CPU reads out the system program and application program stored in the ROM via the bus and controls the entire numerical control device 10B in accordance with the system program and application program. As a result, as shown in FIG. 15, the control unit 100b is configured to realize the functions of the NC command decoding unit 110, the relative attitude setting unit 120, the dividing unit 130b, and the axis control unit 140.

[0064] The NC command decoder 110, the relative attitude setting unit 120, and the axis control unit 140 have the same functions as the NC command decoder 110, the relative attitude setting unit 120, and the axis control unit 140 in the first embodiment.

[0065] Fig. 16 is a diagram showing an example of a machining program 30. Fig. 17 is a diagram showing an example of a program path (machining path) shown by the machining program 30 of Fig. 16. Note that Fig. 17 illustrates an example in which a multi-edge tool 40 for turning performs turning based on the machining program 30 shown in Fig. 16, similar to the first embodiment. In addition, the machining program 30 shown in Figure 16 is the same as the machining program 30 in Figure 3, except that the block with sequence number N3 has been changed to "W-50.0", i.e., the length of the program path (machining path) corresponding to sequence number N3 has been changed from "10 mm" to "50 mm", and detailed explanation will be omitted.

[0066] Furthermore, the B-axis angle of the multi-edge tool 40 for turning, "-25 degrees" when changing the relative posture midway through the block with sequence number N99, is a value that a user (or machine manufacturer, etc.) has empirically decided upon as "this will prevent the machined surface from becoming rough." That is, as in the first embodiment, for example, the relative attitude setting unit 120 may be configured such that the user inputs, via an input device (not shown) of the numerical control device 10, a B-axis angle of "-25 degrees" of the turning multi-edge tool 40 midway through a block where the B-axis angle of the turning multi-edge tool 40 changes from "45 degrees" to "-45 degrees" in the block with sequence number N3 on an interactive programming screen displayed on a display device (not shown) of the numerical control device 10. Then, the program command for the B-axis angle "Q-25" may be set in the block with sequence number N99 of the machining program 30.

[0067] The division unit 130b sets one or more division points in each block or cycle in the machining program 30 and divides the block or cycle into two or more sections without using the relative posture between the multi-edge tool 40 for turning and the workpiece 50 or the geometric shape of the multi-edge tool 40 for turning. 18, for example, a user (or a machine manufacturer, etc.) may empirically know values ​​(e.g., 10 mm) from "the block start point to the division point D1" and "the division point D2 to the block end point" that "if done like this, the turning multi-edge tool 40 and the workpiece 50 will not interfere with each other," and therefore the distances (e.g., 10 mm) from "the block start point to the division point D1" and "the division point D2 to the block end point" may be stored in advance in the storage unit 200b. The dividing unit 130b may determine the division point D1 located 10 mm away from the block start point of the block with sequence number N3 and the division point D2 located 40 mm away from the block start point based on the distances from "the block start point to the division point D1" and "the division point D2 to the block end point" stored in the storage unit 200b, without using the relative posture and geometric shape of the turning multi-edge tool 40.

[0068] <Control processing of the numerical control device 10B> Next, the flow of control processing of the numerical control device 10B will be described with reference to FIG. 19 is a flowchart illustrating the control processing of the numerical control device 10. The flow shown here is repeatedly executed every time the machining program 30 is executed. The processes from step S31 to step S33, step S35, and step S36 are similar to the processes from step S11 to step S13, step S16, and step S17 in FIG. 6, and therefore will not be described again.

[0069] In step S34, the division unit 130b calculates the positions of the division points D1 and D2 based on the distances "from the block start point to the division point D1" and "from the division point D2 to the block end point" stored in the storage unit 200b.

[0070] As described above, the numerical control device 10B according to the third embodiment sets the program command "Q-25" in the machining program 30 based on a value empirically determined by the user (or machine manufacturer, etc.), and determines the positions of the division points D1 and D2, thereby performing continuous machining while maintaining a constant relative posture between the tool and the workpiece along the program path, i.e., in the section connecting adjacent division points D1 and D2, thereby preventing unevenness from occurring on the machined surface of the workpiece 50. Furthermore, the numerical control device 10B eliminates the need to divide the block of the machining program 30 so that the relative posture remains constant midway through the block, thereby reducing the user's workload. The third embodiment has been described above.

[0071] The first, second, and third embodiments have been described above, but the numerical control devices 10, 10A, and 10B are not limited to the above-described embodiments and include modifications, improvements, etc. within the scope that can achieve the objectives.

[0072] <Variation 1> In the first, second, and third embodiments, the numerical control devices 10, 10A, and 10B are devices different from the machine tools 20 and 20A, but this is not limiting. For example, the numerical control devices 10, 10A, and 10B may be included in the machine tools 20 and 20A.

[0073] <Variation 2> Furthermore, for example, in the first, second, and third embodiments, the turning multi-edge tool 40 or the ball end mill 45 is used as the tool, but the present invention is not limited to this. For example, the present invention can be applied to any tool.

[0074] Note that the functions included in the numerical control devices 10, 10A, and 10B in the first, second, and third embodiments can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the functions are realized by a computer reading and executing a program.

[0075] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can be supplied to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.

[0076] In addition, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically in accordance with the order, but also processes that are not necessarily performed chronologically but are performed in parallel or individually.

[0077] In other words, the numerical control device of the present disclosure can take various forms having the following configurations.

[0078] (1) The numerical control device 10 disclosed herein is a numerical control device for a machine tool 20 that performs machining while changing the relative position and relative attitude between a tool 40 and a workpiece 50 based on a machining program 30, and includes a relative attitude setting unit 120 that sets the relative attitude between the tool 40 and the workpiece 50 during each block or cycle of the machining program 30, a dividing unit 130 that sets one or more division points in each block or cycle and divides the block or cycle into two or more sections, and an axis control unit 140 that moves the tool 40 or the workpiece 50 relatively so that it assumes the relative attitude set by the relative attitude setting unit 120 in at least one of the two or more sections. According to this numerical control device 10, by performing continuous machining while maintaining a constant relative posture between the tool and the workpiece during the program path, it is possible to prevent unevenness from occurring on the machined surface of the workpiece.

[0079] (2) In the numerical control device 10 described in (1), the relative attitude set by the relative attitude setting unit 120 may be set based on a command value of the machining program 30 or a value stored in advance in the numerical control device 10.

[0080] (3) The numerical control device 10 described in (1) or (2) may be provided with a tool shape memory unit 210 that stores the geometric shape of the tool 40, and the division points D1 and D2 may be determined using the geometric shape so that the tool 40 is positioned so as not to interfere with the workpiece 50 when a predetermined point on the tool 40 coincides with the division point and the tool 40 assumes the relative posture set by the relative posture setting unit 120. This allows the numerical control device 10 to move the tool relatively without interfering with the workpiece.

[0081] (4) In the numerical control device 10A described in any one of (1) to (3), an allowable change amount memory unit 220a is provided that stores an allowable change amount per unit time of the relative posture, and the division unit 130a may determine the division points D4 and D5 so that the change amount per unit time of the relative posture when the tool 45 and the workpiece 50 move relatively in the section between the start point or end point of the block or cycle and the division points D3 and D6, and in the section connecting adjacent division points D4 and D5, does not exceed the allowable change amount. By doing so, the numerical control device 10A can determine appropriate division points.

[0082] (5) In the numerical control device 10A described in (4), the dividing unit 130a may not divide the block or cycle if it determines that the change in the relative attitude per unit time exceeds the allowable change in the section between the start or end point of the block or cycle and division points D3, D6, or in the section connecting adjacent division points D4, D5. By doing so, the numerical control device 10A can avoid dividing the blocks or cycles into unnecessary blocks or cycles.

[0083] (6) In the numerical control device 10, 10A, 10B described in any one of (1) to (5), the dividing unit 130, 130a may not divide the block or cycle if the movement amount of the block or cycle in a specific direction is smaller than a predetermined value. By doing so, the numerical control devices 10, 10A, 10B can prevent adverse effects on the machined surface caused by intermittent changes in the relative posture in blocks or cycles with small movement amounts.

[0084] (7) In the numerical control device 10 described in any one of (1) to (4), an allowable change amount memory unit 220 is provided that stores the allowable change amount of the relative posture per unit time, and the division unit 130 may determine the speed of the relative movement so that the change amount of the relative posture per unit time when the tool 40 and the workpiece 50 move relatively in the section between the start point or end point of the block or cycle and the division points D1, D2, and in the section connecting adjacent division points D1, D2, does not exceed the allowable change amount. By doing so, the numerical control device 10 can relatively move the tool 40 at an appropriate speed. [Explanation of symbols]

[0085] 10, 10A, 10B Numerical control device 100, 100a, 100b Control unit 110 NC command interpretation unit 120, 120a Relative attitude setting unit 130, 130a, 130b split section 140 Axis control unit 200, 200a, 200b storage section 210, 210a Tool shape memory section 220, 220a Allowable change amount storage unit 20, 20A machine tool 30 Machining Programs

Claims

1. A numerical control device for a machine tool that performs machining while changing the relative position and relative posture of a tool and a workpiece based on a program, a relative attitude setting unit that sets the relative attitude between the tool and the workpiece during each block or cycle of the program; a division unit that provides one or more division points in each of the blocks or the cycles and divides the blocks or the cycles into two or more sections; an axis control unit that relatively moves the tool or the workpiece so that the tool or the workpiece takes the relative posture set by the relative posture setting unit in at least one section of the two or more sections; Equipped with A numerical control device that determines the division point so that a predetermined point on the tool coincides with the division point and the tool is positioned so that it does not interfere with the workpiece when it takes the relative posture set by the relative posture setting unit.

2. 2. The numerical control device according to claim 1, wherein the relative attitude set by said relative attitude setting unit is set based on a command value of said program or a value stored in advance in said numerical control device.

3. a tool shape memory unit that stores the geometric shape of the tool; 3. The numerical control device according to claim 1, wherein the division point is determined using the geometric shape so that the tool is at a position where it does not interfere with the workpiece when a predetermined point on the tool coincides with the division point and the tool takes the relative posture set by the relative posture setting unit.

4. an allowable change amount storage unit that stores an allowable change amount per unit time of the relative attitude; 4. The numerical control device according to claim 1, wherein the dividing unit determines the division points so that a change amount per unit time of the relative attitude when the tool and the workpiece move relatively in a section between the division point and a start point or an end point of the block or the cycle, and in a section connecting adjacent division points, does not exceed the allowable change amount.

5. 5. The numerical control device according to claim 4, wherein the dividing unit does not divide the block or the cycle when it determines that a change amount per unit time of the relative attitude exceeds the allowable change amount in a section between a start point or an end point of the block or the cycle and the division point, or in a section connecting adjacent division points.

6. The numerical control device according to claim 1 , wherein the dividing unit does not divide the block or the cycle when a movement amount of the block or the cycle in a specific direction is smaller than a predetermined value.

7. an allowable change amount storage unit that stores an allowable change amount per unit time of the relative attitude; 5. The numerical control device according to claim 1, wherein the dividing unit determines a speed of the relative movement so that a change amount per unit time of the relative attitude when the tool and the workpiece move relatively in a section between a start point or an end point of the block or the cycle and the division point, and in a section connecting adjacent division points, does not exceed the allowable change amount.

Citation Information

Patent Citations

  • Tool length correcting system for machine tool

    JP1993100723A

  • Machining method and device

    JP1994254742A

  • Numerical control device for five-axis processing machine

    JP2010140312A

  • Numerical controller with rotary axis clamping function

    JP2011039582A

  • Process program processing device and multiple spindle processor having the same

    JP2017204072A