Numerical Control Device
The numerical control device optimizes tool pathways in fixed cycles by calculating and selecting faster cut positions, addressing inefficiencies in processing time through advanced cut position and control information management.
Patent Information
- Application Number
- JP2023511145
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-30
- Filing Date
- 2022-03-24
- Publication Date
- 2025-02-04
- Estimated Expiration
- 2042-03-24
AI Technical Summary
Existing numerical control devices with fixed cycles cannot reduce processing time during execution, as the tool pathway is automatically generated, leading to inefficiencies.
A numerical control device that calculates multiple cut positions and corresponding control information based on cut amount specifications in the fixed cycle command, allowing for the selection of a single cut position with faster processing speed through a cut position calculation unit, control information calculation unit, and selection unit.
The execution time of processing programs containing fixed cycles is reduced by optimizing the tool pathway to achieve faster processing times.
Smart Images

Figure 0007626841000001 
Figure 0007626841000002 
Figure 0007626841000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a numerical control device for controlling a machine tool. [Background technology]
[0002] Conventionally, in a numerical control device, a tool movement path is automatically generated using a canned cycle (see Patent Document 1). For example, in a canned cycle for rough turning, multiple tool paths for rough cutting are automatically generated by specifying the coordinate value of the starting point of the canned cycle, the coordinate value indicating the finish shape of the workpiece, and the cutting depth. This simplifies the machining program and reduces the burden of creating the machining program. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2016-177493 A Summary of the Invention [Problem to be solved by the invention]
[0004] In general, the tool path specified in a machining program is determined with consideration given to shortening the machining time of the workpiece. However, in a canned cycle, the tool path is automatically generated, so the machining time during execution of the canned cycle cannot be shortened. Therefore, it is desirable to shorten the machining time during execution of the canned cycle.
[0005] An object of the present disclosure is to provide a numerical control device capable of shortening the execution time of a machining program including a canned cycle. [Means for solving the problem]
[0006] The numerical control device includes: a cutting position calculation unit that calculates a plurality of cutting positions when the canned cycle is executed based on a code that specifies a cutting amount included in a canned cycle command; a control information calculation unit that calculates a plurality of pieces of control information that respectively correspond to the plurality of cutting positions calculated by the cutting position calculation unit; and a selection unit that selects one cutting position from the plurality of cutting positions based on the plurality of pieces of control information calculated by the control information calculation unit. The plurality of pieces of control information include a plurality of pieces of feed rate information. . Effect of the Invention
[0007] The present disclosure makes it possible to reduce the execution time of a machining program that includes a canned cycle. [Brief description of the drawings]
[0008] [Figure 1] FIG. 2 is a diagram illustrating an example of a hardware configuration of a machine tool. [Diagram 2] FIG. 2 is a block diagram showing an example of a function of a numerical control device. [Diagram 3] FIG. 11 is a diagram showing an example of a machining program for turning. [Figure 4A] 11 is a diagram illustrating an example of a candidate cutting position calculated by a cutting position calculation unit; FIG. [Figure 4B] 11 is a diagram illustrating an example of a candidate cutting position calculated by a cutting position calculation unit; FIG. [Figure 5A] 4A and 4B are diagrams illustrating control commands generated by a command generating unit. [Figure 5B] 4A and 4B are diagrams illustrating control commands generated by a command generating unit. [Figure 5C] 4A and 4B are diagrams illustrating control commands generated by a command generating unit. [Figure 6A] 11 is a diagram illustrating an example of a candidate cutting position calculated by a cutting position calculation unit; FIG. [Figure 6B] 11 is a diagram illustrating an example of a candidate cutting position calculated by a cutting position calculation unit; FIG. [Figure 7] 4 is a flowchart showing an example of a flow of processing executed by a numerical control device. [Figure 8] FIG. 13 is a diagram showing an example of a machining program used for internal turning. [Figure 9] FIG. 11 is a diagram illustrating a first cutting operation in a fixed cycle. [Figure 10] 11A to 11C are diagrams illustrating an N-th cutting operation in a fixed cycle. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings. Note that not all combinations of features described in the following embodiment are necessarily required to solve the problem. In addition, unnecessary detailed description may be omitted. In addition, the following description of the embodiment and the drawings are provided to enable a person skilled in the art to fully understand the present disclosure, and are not intended to limit the scope of the claims.
[0010] 1 is a diagram showing an example of a hardware configuration of a machine tool 1. The machine tool 1 is, for example, a lathe or a multi-tasking machine.
[0011] The machine tool 1 includes, for example, a numerical control device 2, an input / output device 3, a servo amplifier 4 and a servo motor 5, a spindle amplifier 6 and a spindle motor 7, and auxiliary equipment 8.
[0012] The numerical control device 2 is a device that controls the entire machine tool 1. The numerical control device 2 includes a CPU (Central Processing Unit) 201, a bus 202, a ROM (Read Only Memory) 203, a RAM (Random Access Memory) 204, and a non-volatile memory 205.
[0013] The CPU 201 is a processor that controls the entire numerical control device 2 in accordance with a system program. The CPU 201 reads the system program and the like stored in the ROM 203 via the bus 202. The CPU 201 also controls the servo motor 5 and the spindle motor 7 based on the machining program.
[0014] The CPU 201, for example, decodes a machining program and outputs a control command to the servo motor 5 for each control period.
[0015] The bus 202 is a communication path that connects each piece of hardware in the numerical control device 2 to each other. The pieces of hardware in the numerical control device 2 exchange data via the bus 202.
[0016] The ROM 203 is a storage device that stores a system program for controlling the entire numerical control device 2. The ROM 203 is a computer-readable storage medium.
[0017] The RAM 204 is a storage device that temporarily stores various data and functions as a working area for the CPU 201 to process various data.
[0018] The non-volatile memory 205 is a storage device that retains data even when the machine tool 1 is turned off and no power is being supplied to the numerical control device 2. The non-volatile memory 205 stores, for example, a machining program and various parameters input from the input / output device 3. The non-volatile memory 205 is a computer-readable storage medium. The non-volatile memory 205 is formed, for example, of an SSD (Solid State Drive).
[0019] The numerical control device 2 further includes an interface 206 , an axis control circuit 207 , a spindle control circuit 208 , a PLC (Programmable Logic Controller) 209 , and an I / O unit 210 .
[0020] The interface 206 connects the bus 202 and the input / output device 3. The interface 206 sends, for example, various data processed by the CPU 201 to the input / output device 3.
[0021] The input / output device 3 is a device that receives various data via the interface 206 and displays the various data. The input / output device 3 also accepts input of various data and sends the various data to the CPU 201 via the interface 206. The input / output device 3 includes a display such as an LCD (Liquid Crystal Display), a keyboard, a mouse, and the like. The input / output device 3 may be a touch panel.
[0022] The axis control circuit 207 is a circuit that controls the servo motor 5. The axis control circuit 207 receives a control command from the CPU 201 and outputs a command to drive the servo motor 5 to the servo amplifier 4. The axis control circuit 207 sends, for example, a torque command to control the torque of the servo motor 5 to the servo amplifier 4.
[0023] The servo amplifier 4 receives a command from the axis control circuit 207 and supplies a current to the servo motor 5 .
[0024] The servo motor 5 is driven by receiving a current supply from the servo amplifier 4. The servo motor 5 is connected to, for example, a ball screw that drives a tool post. When the servo motor 5 is driven, a structure of the machine tool 1, such as the tool post, moves, for example, in the X-axis direction, Y-axis direction, or Z-axis direction. The servo motor 5 may include a built-in speed detector (not shown) that detects the feed speed of each axis.
[0025] The spindle control circuit 208 is a circuit for controlling the spindle motor 7. The spindle control circuit 208 receives a control command from the CPU 201 and outputs a command for driving the spindle motor 7 to the spindle amplifier 6. The spindle control circuit 208 sends, for example, a torque command for controlling the torque of the spindle motor 7 to the spindle amplifier 6.
[0026] The spindle amplifier 6 receives a command from the spindle control circuit 208 and supplies a current to the spindle motor 7. The spindle amplifier 6 includes an ammeter 61 that measures the current value of the current supplied to the spindle motor 7.
[0027] The ammeter 61 detects the current value of the current supplied to the spindle motor 7. The ammeter 61 sends data indicating the detected current value to the CPU 201.
[0028] The spindle motor 7 is driven by receiving a current supply from the spindle amplifier 6. The spindle motor 7 is connected to a main shaft and rotates the main shaft.
[0029] The PLC 209 is a device that executes a ladder program to control the auxiliary device 8. The PLC 209 sends commands to the auxiliary device 8 via the I / O unit 210.
[0030] The I / O unit 210 is an interface that connects the PLC 209 and the auxiliary device 8. The I / O unit 210 transmits commands received from the PLC 209 to the auxiliary device 8.
[0031] The auxiliary device 8 is a device that is installed in the machine tool 1 and performs auxiliary operations in the machine tool 1. The auxiliary device 8 may be a device that is installed in the periphery of the machine tool 1. The auxiliary device 8 operates based on a command received from the I / O unit 210. The auxiliary device 8 is, for example, a tool changer, a cutting fluid ejection device, or an opening / closing door drive device.
[0032] Next, an example of the function of the numerical control device 2 will be described. The numerical control device 2 controls each part of the machine tool 1 based on a machining program. This causes machining of the workpiece. When a canned cycle command is specified in the machining program, the numerical control device 2 determines a tool path when the canned cycle is executed so as to shorten the execution time of the canned cycle. In other words, the numerical control device 2 determines a cutting position when the canned cycle is executed so as to shorten the execution time of the canned cycle.
[0033] 2 is a block diagram showing an example of functions of the numerical control device 2. The numerical control device 2 includes a program storage unit 211, a program interpretation unit 212, a cutting position calculation unit 213, a control information calculation unit 214, a selection unit 215, a command generation unit 216, and a control unit 217.
[0034] The program storage unit 211 is realized by storing a machining program inputted from the input / output device 3 or the like in the RAM 204 or the non-volatile memory 205 .
[0035] The program decoding unit 212, the cutting position calculation unit 213, the control information calculation unit 214, the selection unit 215, the command generation unit 216, and the control unit 217 are realized, for example, by the CPU 201 performing arithmetic processing using the system program stored in the ROM 203 and various data stored in the non-volatile memory 205.
[0036] The program storage unit 211 stores a machining program. The machining program is a program for machining a workpiece by operating each part of the machine tool 1. In the machining program, the movement path of the tool, the rotation speed of the spindle, the feed rate, the cutting depth, and the like are specified using G codes, S codes, F codes, and the like.
[0037] The program decoding unit 212 reads and decodes the machining program stored in the program storage unit 211. The program decoding unit 212 decodes the G code, S code, and F code included in the machining program, as well as coordinate values that specify the finish shape of the workpiece, and the like.
[0038] FIG. 3 is a diagram showing an example of a machining program for turning. The line with sequence number N1 contains "G99G96S50." "G99" is a code that specifies per-feed control. "G96" is a code that specifies constant peripheral speed control. "S50" is a code that specifies the peripheral speed.
[0039] The line with sequence number N2 contains "G00X100.0Z0.0." "G00" is a code that commands positioning. "X100.0" and "Z0.0" are, for example, coordinate values in the work coordinate system. These coordinate values are also the coordinate values of the starting point of the canned cycle.
[0040] The line with sequence number N3 contains "G71U20.0R5.0." "G71" is the code that specifies the canned cycle for rough cutting. "U" is the code that specifies the cutting depth with a radius value. "R" is the code that specifies the clearance amount.
[0041] The line with sequence number N4 contains "G71P100Q200." "P" is a code that specifies the first sequence number for which the finish shape is specified in the canned cycle. "Q" is a code that specifies the last sequence number for which the finish shape is specified. In other words, the workpiece finish shape is specified in the lines from sequence number N100 to sequence number N200.
[0042] The line with sequence number N100 contains "G00X50.0Z0.0". The line with sequence number N101 contains "G01Z- 80.0 In addition, the line with sequence number N200 contains "X100.0." In other words, these lines specify that the finished shape of the workpiece will be a shape formed by sequentially connecting the coordinates (50.0,0.0), (50.0,-80.0), and (100.0,-80.0). "F" is a code that specifies the feed amount in each feed control.
[0043] The cutting position calculation unit 213 calculates multiple cutting positions when the fixed cycle is executed based on a code that specifies the cutting amount included in the fixed cycle command. The cutting position calculation unit 213 calculates multiple candidates for the cutting position in the first cutting operation in the fixed cycle, for example. As will be described later, a selection unit 215 selects one cutting position from the multiple candidates for the cutting position calculated by the cutting position calculation unit 213.
[0044] The cutting position calculation unit 213 first calculates the cutting amount d [mm] specified by the fixed cycle command as a candidate for the cutting amount of the first cutting operation in the fixed cycle. The cutting position calculation unit 213 also calculates the remainder dm = MOD (h / d) [mm] obtained by dividing the total cutting amount in the fixed cycle by the cutting amount d specified by the fixed cycle command as a candidate for the cutting amount of the first cutting operation in the fixed cycle. Here, h is the total cutting amount cut in the cutting operation of the fixed cycle. Also, MOD (h / d) is the remainder of (h / d). In other words, the cutting position calculation unit 213 calculates d and dm as candidates for the cutting amount of the first cutting operation in the fixed cycle.
[0045] Next, the cutting position calculation unit 213 calculates two cutting positions corresponding to the two calculated candidates for the cutting amount.
[0046] 4A and 4B are diagrams for explaining an example of a cutting position calculated by the cutting position calculation unit 213 when outer diameter turning is performed using a canned cycle for rough machining. As described above, when a cutting amount d is specified in a canned cycle command, the candidates for the cutting amount in the first cutting operation of the canned cycle are d and dm. Therefore, the cutting position calculation unit 213 calculates two cutting positions corresponding to the calculated cutting amount candidates d and dm, respectively.
[0047] The cutting position calculation unit 213 calculates the cutting position Ps1 (Xs1, Zs1) corresponding to the cutting amount d (FIG. 4A). Here, Xs1=Xs0-d, Zs1=Zs0, and Xs0 and Zs0 are the X and Z coordinate values of the starting point St of the fixed cycle, respectively. The cutting position calculation unit 213 also calculates the cutting position Pt1 (Xt1, Zt1) corresponding to the cutting amount dm (FIG. 4B). Here, Xt1=Xt0-dm, Zt1=Zt0.
[0048] Moreover, the cutting position calculation unit 213 calculates the cutting positions for performing the second and subsequent cutting operations.
[0049] The cutting position calculation unit 213 calculates PsN(XsN, ZsN) as the cutting position in the Nth cutting operation from the second onwards corresponding to the cutting position Ps1. Here, XsN=Xs1-d×(N-1) (where N is an integer equal to or greater than 2) and ZsN=Zs0. The cutting position calculation unit 213 also calculates PsH(XsH, ZsH) as the cutting position in the final cutting operation. Here, XsH is the coordinate value of the X-axis coordinate indicating the cutting position in the final cutting operation, and ZsH=Zs0. The cutting amount in the final cutting operation is dm.
[0050] The cutting position calculation unit 213 calculates PtN(XtN,ZtN) as the cutting position in the second or subsequent Nth cutting operation corresponding to the cutting position Pt1. Here, XtN=Xt1-d×(N-1) and Zt2=Zt0. The cutting position calculation unit 213 also calculates PtH(XtH,ZtH) as the cutting position in the final cutting operation. Here, XtH is the coordinate value of the X-axis coordinate indicating the cutting position of the final cutting operation, and ZtH=Zt0.
[0051] The control information calculation unit 214 calculates a plurality of pieces of control information corresponding to the plurality of cutting positions calculated by the cutting position calculation unit 213. When the cutting position calculation unit 213 calculates two cutting positions Ps1 and Pt1 as candidates for the cutting position in the first cutting operation, the control information calculation unit 214 calculates control information corresponding to each of these candidates for the cutting position. The control information includes, for example, feed speed information.
[0052] The control information calculation unit 214 calculates, for example, feed speed information at each cutting position Ps1 and Pt1 when each feed control and constant peripheral speed control are executed.
[0053] Constant peripheral speed control is a control that keeps the cutting speed of the workpiece constant. For example, when the peripheral speed is specified as V=50 [m / min] and a position with a radius of 80 [mm] is cut, the spindle speed is controlled to approximately 100 [rpm]. When the peripheral speed is specified as V=50 [m / min] and a position with a radius of 90 [mm] is cut, the spindle speed is controlled to approximately 88 [rpm]. In other words, under constant peripheral speed control, the shorter the distance from the spindle's rotation center to the cutting point, the faster the spindle rotation speed becomes.
[0054] Feed rate control is the control of the feed rate according to the distance traveled during one rotation of the spindle. For example, if the feed rate f = 0.2 [mm / rev], the tool advances 0.2 [mm] during one rotation of the spindle.
[0055] Under feed rate control and constant peripheral speed control, the feed rate F [mm / min] varies depending on the distance from the center of rotation of the spindle to the cutting point. For example, when machining a position with a radius of 80 [mm] along the Z axis with a peripheral speed V = 50 [m / min] and feed rate f = 0.2 [mm / rev], the feed rate F = 20 [mm / min]. On the other hand, when machining a position with a radius of 90 [mm] along the Z axis with a peripheral speed V = 50 [m / min] and feed rate f = 0.2 [mm / rev], the feed rate F = 18 [mm / min]. The feed rate when feed rate control and constant peripheral speed control are performed is calculated as F = fV / (2πP) [mm / min]. Here, P is the X-coordinate value of the cutting position.
[0056] The selection unit 215 selects one of the multiple cutting positions based on the multiple control information calculated by the control information calculation unit 214. For example, when the control information is feed speed information, the selection unit 215 selects one cutting position corresponding to one feed speed information indicating a faster feed speed among the multiple feed speed information. That is, the selection unit 215 selects the cutting position at which the feed speed becomes faster among the multiple cutting positions calculated by the cutting position calculation unit 213 as the first cutting position when the fixed cycle is executed. Under the feed control every time and the constant peripheral speed control, the cutting position at which the feed speed becomes faster is the cutting position closer to the rotation center of the spindle. Therefore, in the example shown in FIG. 4A and FIG. 4B, the selection unit 215 selects Ps1 as the cutting position of the first cutting operation.
[0057] The command generating unit 216 generates a control command for performing a cutting operation at the cutting position selected by the selecting unit 215. The command generating unit 216 also generates a control command for performing a cutting operation following the cutting operation at the cutting position selected by the selecting unit 215. For example, when Ps1 shown in FIG. 4A is selected as the cutting position for the first cutting operation, the command generating unit 216 generates a control command for performing cutting at cutting positions PsN and PsH. The command generating unit 216 also generates a control command corresponding to a command other than the fixed cycle command included in the machining program decoded by the program decoding unit 212.
[0058] 5A to 5C are diagrams for explaining control commands generated by the command generating unit 216 when the machining program shown in FIG. 3 is executed.
[0059] The command generating unit 216 first generates a control command for specifying a first cutting operation (FIG. 5A). That is, the command generating unit 216 generates a control command for the tool to be first positioned at Ps1 (80.0, 0.0), then cut in the negative direction of the Z axis, then perform escape operations in the positive direction of the X axis and the positive direction of the Z axis, then move in the positive direction of the Z axis, and finally return to the start position of the cutting operation.
[0060] The command generator 216 then generates a control command for specifying a second cutting operation (FIG. 5B). That is, the command generator 216 generates a control command for the tool to be positioned at Ps2 (60.0, 0.0), then to cut in the negative direction of the Z axis, then to perform escape operations in the positive direction of the X axis and the positive direction of the Z axis, then to move in the positive direction of the Z axis, and finally to return to the start position of the cutting operation.
[0061] Finally, the command generating unit 216 generates a control command for specifying the final cutting operation (FIG. 5C). That is, the command generating unit 216 generates a control command for the tool to be positioned at PsH (50.0, 0.0), then cut in the negative direction of the Z axis, then perform escape operations in the positive direction of the X axis and the positive direction of the Z axis, then move in the positive direction of the X axis to the height of the starting point (Xs0), and finally return to the starting point St in the positive direction of the Z axis.
[0062] The control unit 217 controls the operation of the spindle and each axis of the machine tool 1 based on the control command generated by the command generating unit 216. In this way, the machine tool 1 machines a workpiece.
[0063] 6A and 6B are diagrams for explaining an example of two candidates for the cutting position calculated by the cutting position calculation unit 213 when internal turning is performed using a canned cycle for rough machining. When a cutting amount d is specified in a canned cycle command, the candidates for the cutting amount in the first cutting operation of the canned cycle are d [mm] and dm = MOD (h / d) [mm]. Therefore, the cutting position calculation unit 213 calculates a plurality of cutting positions corresponding to the calculated candidates for the cutting amount d and dm.
[0064] The cutting position calculation unit 213 calculates the cutting position Pu1 (Xu1, Zu1) corresponding to the cutting amount d (FIG. 6A). Here, Xu1=Xu0+d, Zu1=Zu0, and Xu0 and Zu0 are the X and Z coordinate values of the starting point St of the fixed cycle, respectively. The cutting position calculation unit 213 also calculates the cutting position Pv1 (Xv1, Zv1) corresponding to the cutting amount dm (FIG. 6B). Here, Xv1=Xv0+dm, Zv1=Zv0.
[0065] Moreover, the cutting position calculation unit 213 calculates the cutting positions for performing the second and subsequent cutting operations.
[0066] The cutting position calculation unit 213 calculates PuN(XuN, ZuN) as the cutting position in the Nth cutting operation from the second onwards corresponding to the cutting position Pu1. Here, XuN=Xu1+d×(N-1), ZuN=Zu0. The cutting position calculation unit 213 also calculates PuH(XuH, ZuH) as the cutting position in the final cutting operation. Here, XuH is the coordinate value of the X-axis coordinate indicating the cutting position in the final cutting operation, and ZuH=Zu0. The cutting amount in the final cutting operation is dm.
[0067] The cutting position calculation unit 213 calculates PvN(XvN, ZvN) as the cutting position in the Nth cutting operation from the second onwards corresponding to the cutting position Pv1. Here, XvN=Xv1+d×(N-1) and ZvN=Zv0. The cutting position calculation unit 213 also calculates PvH(XvH, ZvH) as the cutting position in the final cutting operation. Here, XvH is the coordinate value of the X-axis coordinate indicating the cutting position of the final cutting operation, and ZvH=Zv0.
[0068] The control information calculation unit 214 calculates a plurality of pieces of control information corresponding to the plurality of cutting positions calculated by the cutting position calculation unit 213. When the cutting position calculation unit 213 calculates two cutting positions Pu1 and Pv1 as candidates for the cutting position in the first cutting operation, the control information calculation unit 214 calculates the control information corresponding to each of these cutting position candidates. The control information includes, for example, feed speed information.
[0069] The control information calculation unit 214 calculates, for example, feed speed information at each cutting position Pu1 and Pv1 when the per-feed control and the constant peripheral speed control are executed.
[0070] The selection unit 215 selects one cutting position from the multiple cutting positions based on the multiple pieces of control information calculated by the control information calculation unit 214. For example, when the control information is feed speed information, the selection unit 215 selects one cutting position corresponding to one piece of feed speed information indicating a faster feed speed from among two pieces of feed speed information. In other words, the selection unit 215 selects the cutting position with the faster feed speed from among the multiple cutting positions calculated by the cutting position calculation unit 213 as the first cutting position when the fixed cycle is executed.
[0071] Under the feed rate control and the constant peripheral speed control, the cutting position where the feed rate is faster is the cutting position closer to the rotation center of the spindle. Therefore, in the example shown in Figures 6A and 6B, the selection unit 215 selects Pv1 as the cutting position for the first cutting operation.
[0072] The command generating unit 216 generates a control command for performing a cutting operation at the cutting position selected by the selecting unit 215. The command generating unit 216 also generates a control command for performing a cutting operation following the cutting operation at the cutting position selected by the selecting unit 215. That is, when Pv1 shown in FIG. 6B is selected as the cutting position for the first cutting operation, the command generating unit 216 generates a control command for performing cutting at the cutting positions PvN and PvH. Furthermore, the command generating unit 216 generates a control command corresponding to a command other than the fixed cycle command included in the machining program decoded by the program decoding unit 212.
[0073] The control unit 217 controls the operation of the spindle and each axis of the machine tool 1 based on the control command generated by the command generating unit 216. In this way, the machine tool 1 machines a workpiece.
[0074] When the cutting amount in the first cutting operation is d, the control unit 217 executes the cutting operation with the cutting amount dm at the end of the fixed cycle. Also, when the cutting amount in the first cutting operation is dm, the control unit 217 executes the cutting operation with the cutting amount d at the end of the fixed cycle. In other words, the selection unit 215 selects whether the cutting operation with the cutting amount dm is executed first or last, and the control unit 217 controls the cutting operation based on this.
[0075] Next, the flow of processing executed by the numerical control device 2 will be described.
[0076] FIG. 7 is a flowchart showing an example of the flow of processing executed by the numerical control device 2.
[0077] In the numerical control device 2, first, the program decoding unit 212 reads the machining program stored in the program storage unit 211 and decodes the read machining program (step S1).
[0078] Next, the infeed position calculation unit 213 calculates candidates for the infeed position in the canned cycle based on the result of decoding the machining program decoded by the program decoding unit 212 (step S2).
[0079] Next, the control information calculation unit 214 calculates (step S3) control information corresponding to the candidate cut-in position calculated by the cut-in position calculation unit 213. The control information calculated by the control information calculation unit 214 is, for example, feed speed information.
[0080] Next, the selection unit 215 selects one cutting position from among the multiple cutting position candidates based on the control information calculated by the control information calculation unit 214 (step S4).
[0081] Next, the command generating unit 216 generates a control command for performing a cutting operation at the cutting position selected by the selecting unit 215 (step S5).
[0082] Finally, the control unit 217 controls the spindle and each axis of the machine tool 1 based on the control command generated by the command generating unit 216 (step S6), and the process ends.
[0083] As described above, the numerical control device 2 includes the infeed position calculation unit 213 that calculates a plurality of infeed positions when the canned cycle is executed based on a code that specifies the infeed amount included in the canned cycle command, the control information calculation unit 214 that calculates a plurality of pieces of control information that respectively correspond to the plurality of infeed positions calculated by the infeed position calculation unit 213, and the selection unit 215 that selects one infeed position from the plurality of infeed positions based on the plurality of pieces of control information calculated by the control information calculation unit 214. Therefore, the numerical control device 2 can reduce the execution time of a machining program that includes a canned cycle.
[0084] Moreover, the plurality of pieces of control information include a plurality of pieces of feed speed information. In this case, the selection unit 215 selects one infeed position corresponding to one piece of feed speed information indicating the fastest feed speed among the plurality of pieces of feed speed information. Therefore, the numerical control device 2 can perform cutting at the infeed position with the faster feed speed when executing the canned cycle.
[0085] In addition, the control information calculation unit 214 calculates a plurality of pieces of feed speed information when the feed-per-use control and the constant peripheral speed control are executed. This allows cutting to be performed at the infeed position with the fastest feed speed under the feed-per-use control and the constant peripheral speed control.
[0086] In the above-described embodiment, the cutting position PsN is closer to the rotation center of the spindle than the cutting position PtN (see FIGS. 4A and 4B). Therefore, the numerical control device 2 can position the tool at the cutting position where the feed rate is faster in each cutting operation.
[0087] In the above-described embodiment, a plurality of pieces of feed speed information are exemplified as the plurality of pieces of control information. However, the plurality of pieces of control information is not limited to a plurality of pieces of feed speed information. The plurality of pieces of control information may be, for example, a plurality of pieces of distance information indicating respective distances between a plurality of cutting positions and the center of the spindle.
[0088] For example, in the example shown in FIG. 4A and FIG. 4B, the control information calculation unit 214 calculates the distance between Ps1 and the rotation center of the spindle, that is, the coordinate value of the X coordinate of Ps1, as the control information. The control information calculation unit 214 also calculates the distance between Pt1 and the rotation center of the spindle, that is, the coordinate value of the X coordinate of Pt1, as the control information. In this case, the selection unit 215 selects one cutting position corresponding to one distance information indicating the shortest distance among the multiple distance information calculated as the control information. In other words, the selection unit 215 selects Ps1. Therefore, the numerical control device 2 can perform cutting at a cutting position with a faster feed rate when a fixed cycle is executed.
[0089] Furthermore, the multiple pieces of control information may be, for example, multiple pieces of spindle rotation speed information. For example, in the example shown in FIG. 4A and FIG. 4B, the control information calculation unit 214 calculates, as the control information, the spindle rotation speed at Ps1 and the spindle rotation speed at Pt1. In this case, the selection unit 215 selects one cutting position corresponding to one piece of spindle rotation speed information showing the highest speed among the multiple pieces of rotation speed information calculated as the control information. That is, the selection unit 215 selects Ps1. Therefore, the numerical control device 2 can perform cutting at a cutting position with a faster feed rate when executing a fixed cycle.
[0090] In the above embodiment, the incision position calculation unit 213 calculates two incision position candidates in the first incision operation. However, the incision position calculation unit 213 may calculate the incision position every time one incision is performed in the fixed cycle.
[0091] In the following, an embodiment will be described in which the cutting position calculation unit 213 calculates the cutting position every time cutting is performed once in the fixed cycle. Note that a description of the same configuration as in the above-mentioned embodiment will be omitted.
[0092] Fig. 8 is a diagram showing an example of a machining program used for internal turning. When the fixed cycle of the machining program shown in Fig. 8 is executed, the infeed position calculation unit 213 calculates the infeed position every time the infeed operation in the fixed cycle is executed once.
[0093] Fig. 9 is a diagram for explaining the first infeed operation during execution of a fixed cycle used for internal turning. Fig. 10 is a diagram for explaining the second and subsequent N-th infeed operations during execution of a fixed cycle used for internal turning.
[0094] The cutting position calculation unit 213 calculates a plurality of cutting positions in the range of not less than dmin and not more than dmax in the first cutting operation.
[0095] dmin is the minimum cutting depth in one cutting operation. For example, dmin is the remainder dm=MOD(h / d) obtained by dividing the total cutting depth h in the canned cycle by the cutting depth d specified by the canned cycle command. When the machining program shown in FIG. 8 is executed, dmin is 10 [mm].
[0096] dmax is the maximum cutting amount in one cutting operation. dmax is, for example, the cutting amount d specified by the canned cycle command. When the machining program shown in FIG. 8 is executed, dmax is 20 [mm].
[0097] The incision position calculation unit 213 calculates, for example, the position of dmin, the position of dmax, and a position obtained by dividing the distance between the positions of dmin and dmax at equal intervals as the incision positions. 11 and the position of dmax P 13 and the position P that divides the area between dmin and dmax into two equal parts.12 13 shows an example in which the cutting position is calculated as follows:
[0098] When the total number of cuts S in the fixed cycle is set, the cut position calculation unit 213 may adjust the value of dmin so that the number of cuts in the fixed cycle does not exceed the set total number of cuts S. The total number of cuts S is set to, for example, S=1+QUOTIENT(h / d), where QUOTIENT(h / d) is the quotient of (h / d).
[0099] Whether the number of cuts in a fixed cycle exceeds the set total number of cuts S is determined, for example, in the first cut operation, by whether the conditional formula: P0(x)+dmin+remaining number of cuts×dmax≧H(X) is satisfied. Here, P0(X) is a coordinate value indicating the X coordinate of the start point of the fixed cycle, the remaining number of cuts is the number of cuts from the second cut operation to the final cut operation, and H(X) is a coordinate value indicating the X coordinate of the cut position in the final cut operation. If this conditional formula is satisfied in the first cut operation, dmin is not adjusted.
[0100] For example, when the machining program shown in Fig. 8 is executed, P0(X) = 20.0, dmin = 10.0, remaining number of cuts = 2, dmax = 20.0, and H(X) = 70.0. Therefore, P0(X) + dmin + remaining number of cuts × dmax = 20.0 + 10.0 + 2 × 20.0 = 70 ≧ H(X) = 70.0 is satisfied. Therefore, dmin is not adjusted.
[0101] The control information calculation unit 214 calculates the cutting positions P 11 , P 12 and P 13 The incision position calculation unit 213 calculates a plurality of control information corresponding to each of the incision positions P 11 , P 12 and P 13When the candidates for the cutting position are calculated, the control information calculation unit 214 calculates control information corresponding to each of the candidates for the cutting position. The control information includes, for example, feed speed information.
[0102] The control information calculation unit 214 calculates, for example, the cutting position P 11 , P 12 and P 13 In addition, when machining is performed under constant feed rate control and constant peripheral speed control, the feed rate information at the cutting position P 11 The feed rate F1 at the cutting position P 12 Feed rate F2, cutting position P 13 The feed rate decreases in the order of
[0103] The selection unit 215 selects one cutting position from the multiple cutting positions based on the multiple pieces of control information calculated by the control information calculation unit 214. When the control information calculation unit 214 calculates multiple pieces of feed speed information F1, F2, F3, the selection unit 215 selects one cutting position corresponding to one piece of feed speed information indicating the fastest feed speed among the multiple pieces of feed speed information F1, F2, and F3.
[0104] Under the constant feed rate control and the constant peripheral speed control, the cutting position where the feed rate is faster is the cutting position closest to the rotation center of the spindle. Therefore, in the example shown in FIG. 9, the selection unit 215 selects P 11 Select .
[0105] Furthermore, the incision position calculation unit 213 calculates the incision position for the second or subsequent N-th incision operation. The incision position calculation unit 213 calculates a plurality of incision positions in the range of dmin or more and dmax or less. When the total number of incisions S in the fixed cycle is set, the incision position calculation unit 213 determines whether or not dmin needs to be adjusted so that the number of incisions in the fixed cycle does not exceed the set total number of incisions S.
[0106] Whether the number of cuts in a fixed cycle exceeds the total number of cuts is determined, in the N-th cutting operation, by whether P N-1 (x) + dmin + the remaining number of cuts × dmax ≥ H(X) is satisfied. Here, P N-1 (X) is the coordinate value indicating the X coordinate of the cutting position at the (N - 1)-th cut in the fixed cycle.
[0107] In the fixed cycle of the machining program shown in FIG. 8, for example, when the second cutting operation is executed, P1(X) = 30.0, dmin = 10.0, the remaining number of cuts = 1, dmax = 20.0, and H(X) = 70.0. Therefore, P1(X) + dmin + the remaining number of cuts × dmax = 30.0 + 10.0 + 1×20.0 = 60 < H(X) = 70.0, and the above conditional expression is not satisfied. Therefore, dmin is adjusted. That is, if cutting with the cutting amount dmin in the N-th cutting operation would exceed the set total number of cuts even if cutting is performed with dmax in the remaining cutting operations, dmin in the N-th cutting operation is adjusted.
[0108] dmin is adjusted to H(X) - (P1(X) + (the remaining number of cuts) × dmax). That is, it is changed to dmin = 100 - (60 + 1×20) = 20. Therefore, dmin = dmax, and the cutting position calculation unit 213 calculates the cutting position P2 that cuts 20 [mm] from P1 as the cutting position.
[0109] Since there is only one cutting position calculated by the cutting position calculation unit 213, the control information calculation unit 214 calculates the feed speed information at the cutting position P2. Also, the selection unit 215 selects the cutting position P2. Thereby, the N-th cutting operation after the second time in the fixed cycle is executed. Also, in the last cutting operation in the fixed cycle, dmin is not adjusted. Therefore, when the machining program shown in FIG. 8 is executed, dmin is not adjusted in the third cutting operation in the fixed cycle.
[0110] In the above embodiment, dmin is set as dm=MOD(h / d), but dmin is not limited to this. For example, dmin may be a value set in advance by a parameter. In the above embodiment, an example has been described in which the position obtained by dividing the distance between dmin and dmax into two equal parts is calculated as the incision position, but each of the positions obtained by dividing the distance into three or more equal parts may be calculated as the incision position. Alternatively, the incision position may be calculated at every predetermined interval I between dmin and dmax. [Explanation of symbols]
[0111] 1 Machine tools 2. Numerical control device 201 CPU 202 Bus 203 ROM 204 RAM 205 Non-volatile memory 206 Interface 207 Axis control circuit 208 Spindle control circuit 209 PLC 210 I / O Unit 211 Program storage unit 212 Program Decoding Department 213 Cutting position calculation unit 214 Control Information Calculation Unit 215 Selection Section 216 Command generation section 217 Control Unit 3 Input / Output Devices 4 Servo Amplifier 5. Servo motor 6 Spindle Amplifier 61 Ammeter 7 Spindle motor 8 Auxiliary equipment
Claims
1. a cutting position calculation unit that calculates a plurality of cutting positions when the canned cycle is executed based on a code that specifies a cutting amount included in the canned cycle command; a control information calculation unit that calculates a plurality of pieces of control information corresponding to the plurality of cutting positions calculated by the cutting position calculation unit; A selection unit that selects one cutting position from the plurality of cutting positions based on the plurality of control information calculated by the control information calculation unit; Equipped with The plurality of control information includes a plurality of feed rate information.
2. A numerical control device as described in Claim 1, wherein the selection unit selects the one cutting position corresponding to one feed speed information that indicates the fastest feed speed among the multiple feed speed information.
3. A numerical control device as described in claim 1 or 2, wherein the control information calculation unit calculates the multiple feed speed information when each transfer control and constant peripheral speed control are executed.
4. A numerical control device as described in claim 1, wherein the plurality of control information includes a plurality of distance information indicating respective distances between the plurality of cutting positions and the center of rotation of the spindle.
5. A numerical control device as described in Claim 4, wherein the selection unit selects the one cutting position corresponding to the one distance information that indicates the shortest distance among the multiple distance information.
6. A numerical control device as described in claim 1, wherein the multiple control information includes rotational speed information of multiple spindles.
7. A numerical control device as described in Claim 6, wherein the selection unit selects the one cutting position corresponding to the rotational speed information of one spindle that shows the greatest speed among the rotational speed information of the multiple spindles.
Citation Information
Patent Citations
Cutting margin determining method for lathe
JP1993146944A
Numerical controller
JP2000105606A
Numerical controller performing reciprocal turning in complex fixed cycle
JP2016177493A
Numerical controller with function of speeding up by reordering or redistribution of remaining steps in fixed cycle
JP2017173896A
Tool path changing device of cycle processing of machine tool and method thereof
KR1020190068858A