Numerical control device

CN117120948BActive Publication Date: 2026-08-21FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280023627.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-30
Filing Date
2022-03-24
Publication Date
2026-08-21
Estimated Expiration
2042-03-24

AI Technical Summary

Benefits of technology

[0012]根据本公开,能够缩短包含固定循环的加工程序的执行时间。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117120948B_ABST
    Figure CN117120948B_ABST
Patent Text Reader

Abstract

The numerical control device includes: a cut-in position calculation section that calculates a plurality of cut-in positions at the time of executing a fixed cycle based on a code that specifies a cut-in amount included in a fixed cycle command; a control information calculation section that calculates a plurality of control information corresponding to the plurality of cut-in positions calculated by the cut-in position calculation section; and a selection section that selects one cut-in position from the plurality of cut-in positions based on the plurality of control information calculated by the control information calculation section.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a numerical control device for controlling machine tools. Background Technology

[0002] Conventionally, numerical control devices use fixed cycles to automatically generate tool movement paths (see Patent Document 1). For example, in a fixed cycle for roughing turning, multiple tool paths for roughing are automatically generated by specifying the coordinates of the starting point of the fixed cycle, the coordinates representing the finishing shape of the workpiece, and the depth of cut. Therefore, the machining program can be simplified, and the workload of generating the machining program can be reduced.

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 2016-177493 Summary of the Invention

[0006] The problem that the invention aims to solve

[0007] Typically, the toolpath specified by the machining program is determined to shorten the machining time of a workpiece. However, toolpaths are automatically generated within a fixed cycle, making it impossible to shorten the machining time when executing the fixed cycle. Therefore, it is desirable to shorten the machining time when executing the fixed cycle.

[0008] The purpose of this disclosure is to provide a numerical control device that can shorten the execution time of a machining program containing a fixed cycle.

[0009] Methods for solving problems

[0010] The numerical control device includes: a cut-in position calculation unit that calculates multiple cut-in positions when executing a fixed loop based on the code for specifying the cut-in amount contained in the fixed loop instruction; a control information calculation unit that calculates multiple control information corresponding to the multiple cut-in positions calculated by the cut-in position calculation unit; and a selection unit that selects one cut-in position from the multiple cut-in positions based on the multiple control information calculated by the control information calculation unit.

[0011] Invention Effects

[0012] According to this disclosure, the execution time of processing procedures containing fixed cycles can be shortened. Attached Figure Description

[0013] Figure 1 This is a diagram illustrating an example of the hardware structure of a machine tool.

[0014] Figure 2 This is a block diagram illustrating an example of the function of a numerical control device.

[0015] Figure 3 This is a diagram illustrating an example of a machining process used in turning.

[0016] Figure 4A This is a diagram illustrating an example of a candidate cut-in position calculated by the cut-in position calculation unit.

[0017] Figure 4B This is a diagram illustrating an example of a candidate cut-in position calculated by the cut-in position calculation unit.

[0018] Figure 5A This is a diagram illustrating the control instructions generated by the instruction generation unit.

[0019] Figure 5B This is a diagram illustrating the control instructions generated by the instruction generation unit.

[0020] Figure 5C This is a diagram illustrating the control instructions generated by the instruction generation unit.

[0021] Figure 6A This is a diagram illustrating an example of a candidate cut-in position calculated by the cut-in position calculation unit.

[0022] Figure 6B This is a diagram illustrating an example of a candidate cut-in position calculated by the cut-in position calculation unit.

[0023] Figure 7 This is a flowchart illustrating an example of the processing flow performed by a numerical control device.

[0024] Figure 8 This is a diagram illustrating an example of a machining procedure used for internal diameter turning.

[0025] Figure 9 This diagram illustrates the first cut-in action in a fixed loop.

[0026] Figure 10 This is a diagram illustrating the Nth cut-in action in a fixed loop. Detailed Implementation

[0027] Hereinafter, one embodiment of the present disclosure will be described using the accompanying drawings. Furthermore, not all combinations of the features described in the following embodiment are necessary to solve the problem. Additionally, unnecessary detailed descriptions are sometimes omitted. Moreover, the following description and accompanying drawings are provided to enable those skilled in the art to fully understand the present disclosure and are not intended to limit the scope of protection.

[0028] Figure 1 This is a diagram illustrating an example of the hardware structure of a machine tool. Machine tool 1 is, for example, a lathe and a multi-tasking machine.

[0029] Machine tool 1 may include, 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.

[0030] 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.

[0031] CPU 201 is the processor that controls the entire numerical control device 2 according to the system program. CPU 201 reads the system program and other data stored in ROM 203 via bus 202. In addition, CPU 201 controls servo motor 5 and spindle motor 7 based on the machining program.

[0032] CPU201 interprets the machining program and outputs control commands for the servo motor 5 in each control cycle.

[0033] Bus 202 is a communication path that connects the various hardware components within the numerical control device 2. The various hardware components within the numerical control device 2 exchange data via bus 202.

[0034] ROM 203 is a storage device that stores system programs and other data used to control the entire numerical control device 2. ROM 203 is a computer-readable storage medium.

[0035] RAM204 is a storage device for temporary storage of various data. RAM204 functions as a working area for CPU201 to process various data.

[0036] The non-volatile memory 205 is a storage device that retains data even when the power supply to the machine tool 1 is cut off and no power is supplied to the numerical control device 2. The non-volatile memory 205 stores, for example, machining programs 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, for example, constructed from an SSD (Solid State Drive).

[0037] The numerical control device 2 also 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.

[0038] Interface 206 connects bus 202 to input / output device 3. Interface 206, for example, sends various data processed by CPU 201 to input / output device 3.

[0039] Input / output device 3 is a device that receives and displays various data via interface 206. Additionally, input / output device 3 accepts various data inputs and sends various data to CPU 201 via interface 206. Input / output device 3 includes a display such as an LCD (Liquid Crystal Display), a keyboard, and a mouse. Input / output device 3 can also be a touch panel.

[0040] The axis control circuit 207 is a circuit that controls the servo motor 5. The axis control circuit 207 receives control commands from the CPU 201 and outputs commands to the servo amplifier 4 for driving the servo motor 5. For example, the axis control circuit 207 sends torque commands to the servo amplifier 4 to control the torque of the servo motor 5.

[0041] Servo amplifier 4 receives instructions from axis control circuit 207 and supplies current to servo motor 5.

[0042] The servo motor 5 is driven by receiving current from the servo amplifier 4. The servo motor 5 is connected, for example, to a ball screw that drives the tool post. Driven by the servo motor 5, structures of the machine tool 1, such as the tool post, move in the X-axis, Y-axis, or Z-axis directions. Furthermore, the servo motor 5 may have a built-in speed detector (not shown) that detects the feed rate of each axis.

[0043] The spindle control circuit 208 is a circuit used to control the spindle motor 7. The spindle control circuit 208 receives control commands from the CPU 201 and outputs commands to the spindle amplifier 6 for driving the spindle motor 7. For example, the spindle control circuit 208 sends torque commands to the spindle amplifier 6 to control the torque of the spindle motor 7.

[0044] The spindle amplifier 6 receives instructions from the spindle control circuit 208 and supplies current to the spindle motor 7. The spindle amplifier 6 has a built-in ammeter 61, which measures the current value supplied to the spindle motor 7.

[0045] Ammeter 61 detects the current value supplied to spindle motor 7. Ammeter 61 sends data representing the detected current value to CPU 201.

[0046] The spindle motor 7 is driven by receiving current from the spindle amplifier 6. The spindle motor 7 is connected to the spindle, causing the spindle to rotate.

[0047] PLC 209 is a device that executes ladder logic programs to control auxiliary equipment 8. PLC 209 sends instructions to auxiliary equipment 8 via I / O unit 210.

[0048] I / O unit 210 is the interface connecting PLC 209 and auxiliary device 8. I / O unit 210 sends instructions received from PLC 209 to auxiliary device 8.

[0049] Auxiliary equipment 8 is installed on machine tool 1 and is a device that performs auxiliary actions on machine tool 1. Auxiliary equipment 8 can also be a device located around machine tool 1. Auxiliary equipment 8 operates based on instructions received from I / O unit 210. Auxiliary equipment 8 is, for example, a tool changing device, a coolant spraying device, or a door opening / closing drive device.

[0050] Next, an example of the function of the numerical control device 2 will be explained. The numerical control device 2 controls various parts of the machine tool 1 based on the machining program. This allows for the machining of the workpiece. When a fixed cycle instruction is specified by the machining program, the numerical control device 2 determines the tool path for executing the fixed cycle, thereby shortening the execution time of the fixed cycle. In other words, the numerical control device 2 determines the entry position when executing the fixed cycle, thus shortening the execution time of the fixed cycle.

[0051] Figure 2 This is a block diagram illustrating an example of the function of the numerical control device 2. The numerical control device 2 includes: a program storage unit 211, a program interpretation unit 212, a cut-in position calculation unit 213, a control information calculation unit 214, a selection unit 215, an instruction generation unit 216, and a control unit 217.

[0052] The program storage unit 211 is implemented by storing the processing program input from the input / output device 3, etc., in RAM 204 or non-volatile memory 205.

[0053] The program interpretation unit 212, the cut-in position calculation unit 213, the control information calculation unit 214, the selection unit 215, the instruction generation unit 216, and the control unit 217 are implemented, for example, by the CPU 201 using the system program stored in the ROM 203 and various data stored in the non-volatile memory 205 for calculation and processing.

[0054] The program storage unit 211 stores the machining program. The machining program is used to make the various parts of the machine tool 1 move to perform workpiece machining. In the machining program, G-codes, S-codes, and F-codes are used to specify the tool's movement path, spindle speed, feed rate, and depth of cut, etc.

[0055] The program interpretation unit 212 reads the machining program stored in the program storage unit 211 and interprets the machining program. The program interpretation unit 212 interprets the G code, S code, and F code contained in the machining program, as well as the coordinate values ​​of the specified workpiece finishing shape.

[0056] Figure 3 This is an example of a machining program used for turning. The line containing serial number N1 contains "G99G96S50". "G99" specifies the feed control per revolution. "G96" specifies constant circumferential speed control. "S50" specifies the circumferential speed.

[0057] The line containing serial number N2 contains "G00X100.0Z0.0". "G00" is the code for instruction positioning. "X100.0" and "Z0.0" are, for example, coordinate values ​​in the workpiece coordinate system. Furthermore, these coordinate values ​​are the coordinates of the starting point of a fixed cycle.

[0058] The serial number N3 contains the code "G71U20.0R5.0". "G71" specifies the fixed cycle used for roughing. "U" specifies the depth of cut using a radius value. "R" specifies the retraction amount.

[0059] The line containing serial number N4 contains "G71P100Q200". "P" is the code specifying the initial serial number defining the finishing shape within a fixed cycle. "Q" is the code specifying the final serial number defining the finishing shape. That is, the finishing shape of the workpiece is specified in the lines from serial number N100 to serial number N200.

[0060] The line for serial number N100 contains "G00X50.0Z0.0". The line for serial number N101 contains "G01Z-80.0F0.2". Additionally, the line for serial number N200 contains "X100.0". These lines specify that the workpiece's finishing shape is formed by sequentially connecting the coordinates (50.0, 0.0), (50.0, -80.0), and (100.0, -80.0). "F" is the code specifying the feed amount in the feed control per revolution.

[0061] The cut-in position calculation unit 213 calculates multiple cut-in positions when executing a fixed loop based on the code for specifying the cut-in amount contained in the fixed loop instruction. For example, the cut-in position calculation unit 213 calculates multiple candidate cut-in positions in the initial cut-in action of the fixed loop. As described later, the selection unit 215 selects one cut-in position from the multiple candidate cut-in positions calculated by the cut-in position calculation unit 213.

[0062] The cut-in position calculation unit 213 first calculates the cut-in amount d [mm] specified by the fixed loop command as a candidate cut-in amount for the initial cut-in action in the fixed loop. Additionally, the cut-in position calculation unit 213 calculates the remainder dm = MOD(h / d) [mm] obtained by dividing the total cut-in amount in the fixed loop by the cut-in amount d specified by the fixed loop command, and uses this remainder as a candidate cut-in amount for the initial cut-in action in the fixed loop. Here, h is the total cut-in amount made in the cut-in action of the fixed loop. MOD(h / d) is the remainder of (h / d). In other words, the cut-in position calculation unit 213 calculates d and dm as candidates for the cut-in amount for the initial cut-in action in the fixed loop.

[0063] Next, the cut-in position calculation unit 213 calculates the two cut-in positions corresponding to the two candidate cut-in quantities calculated.

[0064] Figure 4A and Figure 4B An example of the approach position calculated by the approach position calculation unit 213 when performing outer diameter turning using a fixed cycle for roughing will be explained. As described above, when the approach amount d is specified in the fixed cycle command, the candidates for the approach amount in the initial approach action of the fixed cycle are d and dm. Therefore, the approach position calculation unit 213 calculates two approach positions corresponding to the calculated candidates d and dm, respectively.

[0065] The cutting position calculation unit 213 calculates the cutting position Ps1(Xs1, Zs1) corresponding to the cutting amount d. Figure 4A Here, Xs1 = Xs0 - d, Zs1 = Zs0, and Xs0 and Zs0 are the X and Z coordinates of the starting point St of the fixed loop, respectively. Additionally, the cut-in position calculation unit 213 calculates the cut-in position Pt1(Xt1, Zt1) corresponding to the cut-in amount dm. Figure 4B Here, Xt1 = Xt0 - dm, Zt1 = Zt0.

[0066] In addition, the cutting position calculation unit 213 calculates the cutting position for performing the second and subsequent cutting actions.

[0067] The cut-in position calculation unit 213 calculates PsN(XsN, ZsN) as the cut-in position in the second and subsequent Nth cut-in actions corresponding to the cut-in position Ps1. Here, XsN = Xs1 - d × (N - 1) (where N is an integer greater than or equal to 2), and ZsN = Zs0. Additionally, the cut-in position calculation unit 213 calculates PsH(XsH, ZsH) as the cut-in position in the final cut-in action. Here, XsH is the X-axis coordinate value representing the cut-in position of the final cut-in action, and ZsH = Zs0. Furthermore, the cut-in amount in the final cut-in action is dm.

[0068] The cut-in position calculation unit 213 calculates PtN(XtN, ZtN) as the cut-in position in the second and subsequent Nth cut-in actions corresponding to the cut-in position Pt1. Here, XtN = Xt1 - d × (N - 1), and Zt2 = Zt0. Additionally, the cut-in position calculation unit 213 calculates PtH(XtH, ZtH) as the cut-in position in the final cut-in action. Here, XtH is the X-axis coordinate value representing the cut-in position of the final cut-in action, and ZtH = Zt0.

[0069] The control information calculation unit 214 calculates multiple control information corresponding to the multiple entry positions calculated by the entry position calculation unit 213. When the entry position calculation unit 213 calculates two entry positions Ps1 and Pt1 as candidates for entry positions in the initial entry action, it calculates control information corresponding to these candidate entry positions. The control information includes, for example, feed rate information.

[0070] The control information calculation unit 214 calculates, for example, the feed speed information of each cut-in position Ps1 and Pt1 when performing per-rotation feed control and constant circumferential speed control.

[0071] Constant circumferential speed control refers to controlling the cutting speed of the workpiece to remain constant. For example, specifying a circumferential speed of V = 50 [m / min] will control the spindle speed to approximately 100 [rpm] when cutting at a radius of 80 [mm]. Conversely, specifying a circumferential speed of V = 50 [m / min] will control the spindle speed to approximately 88 [rpm] when cutting at a radius of 90 [mm]. In other words, under constant circumferential speed control, the shorter the distance from the spindle's rotation center to the cutting point, the higher the spindle speed.

[0072] Feed per revolution control refers to controlling the feed rate based on the distance the tool travels during one revolution of the spindle. For example, with a feed per revolution rate f = 0.2 mm / rev, the tool travels 0.2 mm during one revolution of the spindle.

[0073] Under both per-rotation feed control and constant circumferential speed control, the feed rate F [mm / min] varies depending on the distance from the spindle's rotation center to the cutting area. For example, when machining along the Z-axis at a radius of 80 [mm] with a circumferential speed V = 50 [m / min] and a per-rotation feed rate f = 0.2 [mm / rev], the feed rate is F = 20 [mm / min]. On the other hand, when machining along the Z-axis at a radius of 90 [mm] with a circumferential speed V = 50 [m / min] and a per-rotation feed rate f = 0.2 [mm / rev], the feed rate is F = 18 [mm / min]. Furthermore, the feed rate under both per-rotation feed control and constant circumferential speed control is calculated using F = fV / (2πP) [mm / min]. Here, P is the X-coordinate value of the cutting position.

[0074] The selection unit 215 selects one cutting position from multiple cutting positions based on multiple control information calculated by the control information calculation unit 214. For example, when the control information is feed rate information, the selection unit 215 selects a cutting position corresponding to one of the multiple feed rate information indicating a faster feed rate. That is, the selection unit 215 selects the cutting position with the faster feed rate from the multiple cutting positions calculated by the cutting position calculation unit 213 as the initial cutting position when executing a fixed cycle. Under per-rotation feed control and constant circumferential speed control, the cutting position with the faster feed rate is the cutting position closer to the spindle's rotation center. Therefore, in Figure 4A as well as Figure 4B In the example shown, the selection unit 215 selects Ps1 as the entry position for the initial entry action.

[0075] The instruction generation unit 216 generates control instructions for performing a cutting action at the cutting position selected by the selection unit 215. Additionally, the instruction generation unit 216 generates control instructions for performing subsequent cutting actions following the cutting action at the cutting position selected by the selection unit 215. For example, when the selection unit 215 selects… Figure 4A When Ps1 is used as the initial cutting position for the cutting action, the instruction generation unit 216 generates control instructions for cutting at cutting positions PsN and PsH. Additionally, the instruction generation unit 216 generates control instructions that correspond to instructions other than the fixed-cycle instructions included in the machining program interpreted by the program interpretation unit 212.

[0076] Figures 5A-5C Explain each of the following: after execution Figure 3 In the case of the machining procedure shown, the control commands are generated by the instruction generation unit 216.

[0077] The instruction generation unit 216 first generates control instructions for specifying the first cut-in action. Figure 5A That is, the instruction generation unit 216 first generates the following control instruction, which positions the tool at Ps1(80.0, 0.0), then cuts in the negative direction of the Z-axis, then performs a retraction action in the positive direction of the X-axis and the positive direction of the Z-axis, then moves in the positive direction of the Z-axis, and finally returns to the starting position of the cutting action.

[0078] Next, the instruction generation unit 216 generates control instructions for specifying the second cut-in action. Figure 5B That is, the instruction generation unit 216 generates the following control instruction, which positions the tool at Ps2 (60.0, 0.0), then cuts in the negative direction of the Z-axis, then performs a retraction action in the positive direction of the X-axis and the positive direction of the Z-axis, then moves in the positive direction of the Z-axis, and finally returns to the starting position of the cutting action.

[0079] Finally, the instruction generation unit 216 generates control instructions for specifying the final cut-in action. Figure 5C That is, the instruction generation unit 216 generates the following control instruction, which positions the tool at PsH(50.0, 0.0), then cuts in the negative direction of the Z-axis, then performs a retraction action in the positive direction of the X-axis and the positive direction of the Z-axis, then moves in the positive direction of the X-axis to the height of the starting point (Xs0), and finally returns to the starting point St in the positive direction of the Z-axis.

[0080] The control unit 217 controls the movement of the spindle and each axis of the machine tool 1 based on the control commands generated by the command generation unit 216. As a result, workpiece machining is performed on the machine tool 1.

[0081] Figure 6A as well as Figure 6B An example will be described of two candidate entry positions calculated by the entry position calculation unit 213 when performing internal diameter turning using a fixed cycle for roughing. When the entry amount d is specified in the fixed cycle command, the candidates for the entry amount in the initial entry action of the fixed cycle are d [mm] and dm = MOD(h / d) [mm]. Therefore, the entry position calculation unit 213 calculates multiple entry positions corresponding to the calculated candidate entry amounts d and dm.

[0082] The cutting position calculation unit 213 calculates the cutting position Pu1(Xu1, Zu1)( corresponding to the cutting amount d). Figure 6A Here, Xu1 = Xu0 + d, Zu1 = Zu0, and Xu0 and Zu0 are the X and Z coordinates of the starting point St of the fixed loop, respectively. Additionally, the cut-in position calculation unit 213 calculates the cut-in position Pv1(Xv1, Zv1) corresponding to the cut-in amount dm. Figure 6BHere, Xv1 = Xv0 + dm, Zv1 = Zv0.

[0083] In addition, the cutting position calculation unit 213 calculates the cutting position for performing the second and subsequent cutting actions.

[0084] The cut-in position calculation unit 213 calculates PuN(XuN, ZuN) as the cut-in position in the second and subsequent Nth cut-in actions corresponding to the cut-in position Pu1. Here, XuN = Xu1 + d × (N-1), and ZuN = Zu0. Additionally, the cut-in position calculation unit 213 calculates PuH(XuH, ZuH) as the cut-in position in the final cut-in action. Here, XuH is the X-axis coordinate value representing the cut-in position of the final cut-in action, and ZuH = Zu0. Furthermore, the cut-in amount in the final cut-in action is dm.

[0085] The cut-in position calculation unit 213 calculates PvN(XvN, ZvN) as the cut-in position in the second and subsequent Nth cut-in actions corresponding to the cut-in position Pv1. Here, XvN = Xv1 + d × (N-1), and ZvN = Zv0. Additionally, the cut-in position calculation unit 213 calculates PvH(XvH, ZvH) as the cut-in position in the final cut-in action. Here, XvH is the X-axis coordinate value representing the cut-in position of the final cut-in action, and ZvH = Zv0.

[0086] The control information calculation unit 214 calculates multiple control information corresponding to the multiple entry positions calculated by the entry position calculation unit 213. When the entry position calculation unit 213 calculates two entry positions, Pu1 and Pv1, as candidates for entry positions in the initial entry action, it calculates control information corresponding to each of these candidate entry positions. The control information includes, for example, feed rate information.

[0087] The control information calculation unit 214 calculates, for example, the feed speed information of each cut-in position Pu1 and Pv1 when executing per-rotation feed control and constant circumferential speed control.

[0088] The selection unit 215 selects one entry position from multiple entry positions based on multiple control information calculated by the control information calculation unit 214. For example, when the control information is feed rate information, the selection unit 215 selects an entry position corresponding to the feed rate information that represents the faster feed rate among the two feed rate information. That is, the selection unit 215 selects the entry position with the faster feed rate from the multiple entry positions calculated by the entry position calculation unit 213 as the initial entry position when executing a fixed cycle.

[0089] Under constant feed rate control and constant circumferential speed control, the feed rate at the entry position is closer to the spindle's rotation center. Therefore, in Figure 6A and Figure 6B In the example shown, the selection unit 215 selects Pv1 as the entry position for the initial entry action.

[0090] The instruction generation unit 216 generates control instructions for performing a cutting action at the cutting position selected by the selection unit 215. Additionally, the instruction generation unit 216 generates control instructions for performing subsequent cutting actions at the cutting position selected by the selection unit 215. That is, after selecting... Figure 6B When Pv1 is used as the initial cutting position for the cutting action, the instruction generation unit 216 generates control instructions for cutting at cutting positions PvN and PvH. Furthermore, the instruction generation unit 216 generates control instructions that correspond to instructions other than the fixed-cycle instructions included in the machining program interpreted by the program interpretation unit 212.

[0091] The control unit 217 controls the movement of the spindle and each axis of the machine tool 1 based on the control commands generated by the command generation unit 216. As a result, workpiece machining is performed on the machine tool 1.

[0092] If the cut-in amount in the initial cut-in action is d, the control unit 217 executes a cut-in action with the cut-in amount set to dm at the end of the fixed loop. Alternatively, if the cut-in amount in the initial cut-in action is dm, the control unit 217 executes a cut-in action with the cut-in amount set to d at the end of the fixed loop. In other words, the selection unit 215 selects whether to execute the cut-in action with the cut-in amount dm initially or last, and the control unit 217 controls the cut-in action accordingly.

[0093] Next, the processing flow performed by the numerical control device 2 will be explained.

[0094] Figure 7 This is a flowchart illustrating an example of the processing flow performed by the numerical control device 2.

[0095] In the numerical control device 2, firstly, the program interpretation unit 212 reads the machining program stored in the program storage unit 211 and interprets the read machining program (step S1).

[0096] Next, the cutting position calculation unit 213 calculates the candidate cutting positions in the fixed cycle based on the interpretation results of the machining program interpreted by the program interpretation unit 212 (step S2).

[0097] Next, the control information calculation unit 214 calculates control information corresponding to the candidate cut-in position calculated by the cut-in position calculation unit 213 (step S3). The control information calculated by the control information calculation unit 214 is, for example, feed speed information.

[0098] Next, the selection unit 215 selects a cutting position from multiple candidates of cutting positions based on the control information calculated by the control information calculation unit 214 (step S4).

[0099] Next, the instruction generation unit 216 generates a control instruction for performing a cutting action at the cutting position selected by the selection unit 215 (step S5).

[0100] Finally, the control unit 217 controls the spindle and each axis of the machine tool 1 based on the control commands generated by the command generation unit 216 (step S6), and ends the process.

[0101] As explained above, the numerical control device 2 includes: a cut-in position calculation unit 213, which calculates multiple cut-in positions for executing a fixed cycle based on the code for specifying the cut-in amount included in the fixed cycle instruction; a control information calculation unit 214, which calculates multiple control information corresponding to the multiple cut-in positions calculated by the cut-in position calculation unit 213; and a selection unit 215, which selects one cut-in position from the multiple cut-in positions based on the multiple control information calculated by the control information calculation unit 214. Therefore, the numerical control device 2 can shorten the execution time of machining programs containing fixed cycles.

[0102] Furthermore, the multiple control information includes multiple feed rate information. In this case, the selection unit 215 selects a cutting position corresponding to the feed rate information representing the fastest feed rate among the multiple feed rate information. Therefore, when executing a fixed cycle, the numerical control device 2 can perform cutting at a cutting position with a faster feed rate.

[0103] Furthermore, the control information calculation unit 214 calculates multiple feed rate information when executing per-rotation feed control and constant circumferential speed control. This allows cutting to be performed at the entry position with the fastest feed rate under both per-rotation feed control and constant circumferential speed control.

[0104] Furthermore, in the above embodiment, the cutting position PsN is closer to the spindle's rotation center than the cutting position PtN (refer to...). Figure 4A as well as Figure 4B Therefore, the numerical control device 2 can position the tool at a faster feed rate during each cutting action.

[0105] In the above embodiments, multiple feed rate information is exemplified as multiple control information. However, the multiple control information is not limited to multiple feed rate information. For example, the multiple control information may also be multiple distance information representing the distances between multiple entry positions and the center of the spindle.

[0106] For example, in Figure 4A as well as Figure 4B In the example shown, the control information calculation unit 214 calculates the distance between Ps1 and the rotation center of the spindle, i.e., the X-coordinate value of Ps1, as control information. Additionally, the control information calculation unit 214 calculates the distance between Pt1 and the rotation center of the spindle, i.e., the X-coordinate value of Pt1, as control information. In this case, the selection unit 215 selects a cutting position corresponding to the shortest distance among the multiple distance information calculated as control information. That is, the selection unit 215 selects Ps1. Therefore, when executing a fixed cycle, the numerical control device 2 can perform cutting at a cutting position with a faster feed rate.

[0107] Additionally, multiple control information can also be, for example, the speed information of multiple spindles. For example, in... Figure 4A as well as Figure 4B In the example shown, the control information calculation unit 214 calculates the spindle speeds at Ps1 and Pt1 as control information. In this case, the selection unit 215 selects a cutting position corresponding to the spindle speed information representing the maximum speed among the multiple speed information calculated as control information. That is, the selection unit 215 selects Ps1. Therefore, when the numerical control device 2 executes a fixed cycle, it can perform cutting at a cutting position with a faster feed rate.

[0108] In the above embodiment, the structure of the cut-in position calculation unit 213 calculating two candidate cut-in positions in the initial cut-in action has been described. However, the cut-in position calculation unit 213 may also calculate the cut-in position during each cut-in in a fixed cycle.

[0109] The following describes an embodiment in which the cut-in position calculation unit 213 calculates the cut-in position each time a cut-in occurs in a fixed cycle. Descriptions of structures identical to those described above are omitted.

[0110] Figure 8 This represents an example of a machining program used for internal diameter turning. During execution... Figure 8 When the machining program shown is in a fixed cycle, the cutting position calculation unit 213 calculates the cutting position each time the cutting action in the fixed cycle is executed.

[0111] Figure 9 This describes the first cutting motion during a fixed cycle used for internal turning. Figure 10 This describes the second and subsequent Nth cutting motions during a fixed cycle used for internal turning.

[0112] The cut-in position calculation unit 213 calculates multiple cut-in positions within the range of dmin and dmax during the first cut-in action.

[0113] `dmin` is the minimum cut-in amount in a single cut-in action. For example, `dmin` is the remainder obtained by dividing the total cut-in amount `h` in a fixed loop by the cut-in amount `d` specified by the fixed loop instruction: `dm = MOD(h / d)`. During execution... Figure 8 In the machining procedure shown, dmin is 10 [mm].

[0114] dmax is the maximum cut-in amount in a single cut-in action. dmax can be, for example, the cut-in amount d specified by a fixed-loop instruction. During execution... Figure 8 In the machining procedure shown, dmax is 20 mm.

[0115] The cutting position calculation unit 213 calculates, for example, the position of dmin, the position of dmax, and the position after dividing the position of dmin and the position of dmax at equal intervals, and uses them as the cutting position. Figure 9 This indicates that the cut-in position calculation unit 213 calculates the position P of dmin during the first cut-in action. 11 The position P of dmax 13 And the position P that divides the space between dmin and dmax into two equally spaced parts. 12 Let's take this as an example of the entry point.

[0116] Furthermore, when the total number of cuts S in a fixed loop is set, the cut position calculation unit 213 can adjust the value of dmin so that the number of cuts in the fixed loop does not exceed the set total number of cuts S. The total number of cuts S is set, for example, as S = 1 + QUOTIENT(h / d). Here, QUOTIENT(h / d) is the quotient of (h / d).

[0117] Regarding whether the number of cut-ins in a fixed loop exceeds the set total number of cut-ins S, for example, in the first cut-in action, it is determined by whether the condition: P0(x) + dmin + remaining cut-ins × dmax ≥ H(x) is satisfied. Here, P0(x) represents the X-coordinate of the starting point of the fixed loop, the remaining cut-ins are the number of cut-ins from the second cut-in action to the last cut-in action, and H(x) represents the X-coordinate of the cut-in position in the last cut-in action. In the first cut-in action, if this condition is satisfied, dmin is not adjusted.

[0118] For example, in execution Figure 8In the machining procedure shown, P0(X) = 20.0, dmin = 10.0, remaining number of cuts = 2, dmax = 20.0, and H(X) = 70.0. Therefore, the following condition is satisfied: P0(X) + dmin + remaining number of cuts × dmax = 20.0 + 10.0 + 2 × 20.0 = 70 ≥ H(X) = 70.0. Therefore, dmin is not adjusted.

[0119] The control information calculation unit 214 calculates the multiple cut-in positions P calculated by the cut-in position calculation unit 213. 11 P 12 and P 13 These correspond to multiple control information sets. The cut-in position calculation unit 213 calculates the three cut-in positions P. 11 P 12 and P 13 When considering the candidates for the first cutting position in the first cutting action, the control information calculation unit 214 calculates control information corresponding to each of these candidate cutting positions. The control information includes, for example, feed rate information.

[0120] The control information calculation unit 214 calculates, for example, the cutting position P when performing feed control per revolution and constant circumferential speed control. 11 P 12 and P 13 The feed rate information. Furthermore, when machining under per-rotation feed control and constant circumferential speed control, the entry position P... 11 The feed rate F1 is the fastest, according to the entry position P. 12 Feed rate F2, cut-in position P 13 The sequential slowdown of the feed rate.

[0121] The selection unit 215 selects one entry position from multiple entry positions based on multiple control information calculated by the control information calculation unit 214. When the control information calculation unit 214 calculates multiple feed rate information F1, F2, and F3, the selection unit 215 selects an entry position corresponding to the feed rate information that represents the fastest feed rate among the multiple feed rate information F1, F2, and F3.

[0122] Under constant feed per revolution and constant circumferential speed control, the cut-in position where the feed rate becomes faster is the cut-in position closest to the spindle's rotation center. Therefore, in Figure 9 In the example shown, selection unit 215 selects P. 11 The entry point for the first entry action.

[0123] Furthermore, the cut-in position calculation unit 213 calculates the cut-in position in the second and subsequent Nth cut-in actions. The cut-in position calculation unit 213 calculates multiple cut-in positions within the range of dmin to dmax. When the total number of cut-ins S in a fixed cycle is set, the cut-in position calculation unit 213 determines whether dmin needs to be adjusted so that the number of cut-ins in the fixed cycle does not exceed the set total number of cut-ins S.

[0124] In the Nth cutting action, depending on whether P is satisfied... N-1 The formula (x) + dmin + remaining number of cuts × dmax ≥ H(X) is used to determine whether the number of cuts in the fixed loop exceeds the total number of cuts. Here, P N-1 (X) represents the X-coordinate of the (N-1)th cut-in position in the fixed loop.

[0125] exist Figure 8 In the fixed loop of the processing procedure shown, for example, when performing the second cutting action, P1(X) = 30.0, dmin = 10.0, remaining cutting times = 1, dmax = 20.0, H(X) = 70.0. Therefore, P1(X) + dmin + remaining cutting times × dmax = 30.0 + 10.0 + 1 × 20.0 = 60 < H(X) = 70.0, which does not satisfy the above condition. Therefore, dmin is adjusted. That is, when cutting with cutting amount dmin in the Nth cutting action, if cutting with dmax in the remaining cutting actions still exceeds the set total number of cutting times, dmin in the Nth cutting action is adjusted.

[0126] The dmin is adjusted to H(X) - (P1(X) + (remaining number of cuts) × dmax). That is, dmin = 100 - (60 + 1 × 20) = 20. Therefore, dmin = dmax, and the cut position calculation unit 213 calculates the position P2, which is the cut position 20 [mm] from P1.

[0127] The cut-in position calculated by the cut-in position calculation unit 213 is singular, therefore the control information calculation unit 214 calculates the feed rate information at the cut-in position P2. Additionally, the selection unit 215 selects the cut-in position P2. Thus, the second and subsequent Nth cut-in actions in the fixed cycle are executed. Furthermore, in the final cut-in action of the fixed cycle, dmin is not adjusted. Therefore, during execution... Figure 8 In the machining procedure shown, dmin is not adjusted during the third cutting action of the fixed cycle.

[0128] Furthermore, in the above embodiment, dmin is set to dm = MOD(h / d), but dmin is not limited to this. For example, it can also be a value preset by parameters. Additionally, in the above embodiment, an example was described where the position between dmin and dmax is divided into two equally spaced intervals as the cutting position, but it is also possible to calculate three or more equally spaced intervals as cutting positions. Alternatively, the cutting position can be calculated at predetermined intervals I between dmin and dmax.

[0129] Explanation of reference numerals in the attached figures

[0130] 1 machine tool

[0131] 2 Numerical control device

[0132] 201CPU

[0133] 202 bus

[0134] 203ROM

[0135] 204 RAM

[0136] 205 non-volatile memory

[0137] 206 interface

[0138] 207-axis control circuit

[0139] 208 spindle control circuit

[0140] 209 PLC

[0141] 210 I / O unit

[0142] 211 Program Storage Department

[0143] 212 Program Interpretation Department

[0144] 213 Cut-in Position Calculation Unit

[0145] 214 Control Information Calculation Department

[0146] 215 Selection Department

[0147] 216 Instruction Generation Department

[0148] 217 Control Department

[0149] 3 Input / Output Devices

[0150] 4 Servo Amplifiers

[0151] 5 servo motors

[0152] 6-spindle amplifier

[0153] 61 Ammeter

[0154] 7 spindle motors

[0155] 8. Auxiliary equipment.

Claims

1. A numerical control device, characterized in that, have: The cut-in position calculation unit calculates multiple cut-in positions when executing a fixed loop based on the code containing a specified cut-in amount in the fixed loop instruction. The control information calculation unit calculates multiple control information corresponding to the multiple cut-in positions calculated by the cut-in position calculation unit. as well as The selection unit selects one entry position from the plurality of entry positions based on the plurality of control information calculated by the control information calculation unit. The multiple control information includes multiple feed rate information. The selection unit selects the cut-in position corresponding to the feed rate information that represents the fastest feed rate among the plurality of feed rate information.

2. The numerical control device according to claim 1, characterized in that, The control information calculation unit calculates the multiple feed rate information when executing per-rotation feed control and constant circumferential speed control.

3. The numerical control device according to claim 1, characterized in that, The multiple control information includes multiple distance information representing the distances between the multiple cut-in positions and the rotation center of the spindle.

4. The numerical control device according to claim 3, characterized in that, The selection unit selects the cut-in position corresponding to the distance information representing the shortest distance among the plurality of distance information.

5. The numerical control device according to claim 1, characterized in that, The multiple control information includes multiple spindle speed information.

6. The numerical control device according to claim 5, characterized in that, The selection unit selects the cut-in position corresponding to the spindle speed information that represents the maximum speed among the plurality of spindle speed information.

Citation Information

Patent Citations

  • Numerical controller performing reciprocal turning in complex fixed cycle

    JP2016177493A

  • Numerical controller having function of speeding up fixed cycle

    CN107203186A