Numerical control device

The numerical control device addresses interference issues by splitting machining blocks and generating tool paths to prevent workpiece damage during tool retraction and return, enhancing machining stability.

DE102020124371B4Active Publication Date: 2026-01-08FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE102020124371
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-09-25
Filing Date
2020-09-18
Publication Date
2026-01-08
Estimated Expiration
2040-09-18

AI Technical Summary

Technical Problem

Numerical control devices face issues with tool retraction and return paths interfering with machining paths when using external storage, leading to potential workpiece damage due to unstable data transfer and look-ahead buffering inefficiencies.

Method used

A numerical control device with a tool operation control unit, block splitting unit, and toolpath generation unit that splits machining blocks and generates tool retraction and return paths to minimize interference with machining paths.

Benefits of technology

Minimizes the likelihood of tool retraction and return paths interfering with machining paths, preventing workpiece damage by strategically retracting and returning the tool from positions remote from block ends.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Numerical control device (1) that controls a relative position between a tool of a machine tool and a workpiece in order to machine the workpiece according to a block of a program (200), wherein the numerical control device (1) comprises: a tool operation control unit (140) configured to control a withdrawal and return of the tool when a withdrawal of the tool is necessary, a block splitting unit (150) configured to split a block in order to perform a split at a position remote from both ends of the block according to a command from the tool operation control unit (140), and a toolpath generation unit (160) configured to generate a tool retraction path and a tool return path and to insert the generated paths at a splitting position in the block split by the block splitting unit (150).
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND OF THE INVENTION Area of ​​the invention

[0001] The present invention relates to a numerical control device and, in particular, a numerical control device that automatically retracts and returns a tool. Description of the relevant state of the art

[0002] Numerical control devices (NCDs) read in and execute machining programs to operate automatically. While the machining programs executed by NCDs were historically created manually, modern CAD / CAM systems can generate interpolated freeform surfaces using tiny line segments. Machining programs generated by CAD / CAM systems consist of more blocks than those created manually, resulting in a larger scope.

[0003] To execute a large-scale machining program, immediately reading the entire program into the internal memory of the numerical control device (NCD) requires implementing a larger-capacity NCD. However, the larger the NCD's internal memory capacity, the higher the cost of the NCD itself. Therefore, when executing a large-scale machining program, a cost reduction is achieved by storing the program in an external storage device connected to the NCD and then sequentially retrieving it from the external storage device for execution.The external storage devices connected to the numerical control device include SD cards, CF cards, USB storage devices and servers connected via Ethernet (R).

[0004] Reading the machining program from external storage results in a longer transfer time than from internal memory and an unstable transfer speed. For example, when using a server connected via Ethernet (R) as external storage, a disconnection from Ethernet (R) causes the machining program to pause during transfer. Consequently, while the machining program is paused during cutting, the next block cannot be executed. This stops the tool in a state where it is in contact with the workpiece, potentially causing damage to a machining surface.

[0005] Numerical control devices (NCDs) typically have look-ahead functions that perform a look-ahead analysis of machining programs. To control a machine tool using the look-ahead function, the NCD looks ahead to the blocks of the machining program, buffers them, and then controls the machine tool according to these buffered blocks. Blocks that have already been executed and used for control are removed from the buffer at this point. A technology is known that slows down the cutting speed when, due to a look-ahead speed that is lower than the machining speed, all buffered blocks of the machining program are about to be removed from the buffer.However, slowing down the cutting speed using this technology is sometimes insufficient for further buffering, so the tool may need to be retracted. Furthermore, a common technique exists where the tool is retracted from the machining surface, but a restart after retraction is neglected.

[0006] JP H11 - 15 513 A discloses a technology in which, if a predicted and cached amount of data of a toolpath is equal to or less than a predetermined amount, a tool is retracted in such a way that a tangent path is drawn relative to the toolpath, and if the amount of data is equal to or greater than the predetermined amount, the tool is retracted in such a way that a tangent path is drawn relative to the toolpath in order to restart the cutting operation.

[0007] If a point in time at which the buffered data is equal to or less than the specified amount is, for example, close to a point where a velocity vector changes during machining of the inside of a workpiece, there is a possibility that the tool will impair the workpiece when withdrawing and retracting the tool. Fig. Figure 8 shows a situation in which the tool is withdrawn from a machining position on the inside of the workpiece, and Fig. Figure 9 shows a different situation in which the tool is returned to a machining position on the inside of the workpiece. For example, consider the one in Fig. Figure 8 illustrates the case where a concave shape on the workpiece is machined using feed commands to advance the tool along two consecutive straight segments of a block N100 and a block N101. In this case, if block N101 is not buffered during machining according to commands issued by block N100 due to a delay in reading from the external memory device, the tool is retracted from a machining surface in the direction of a tangent to block N100 upon completion of the commands issued by block N100. This retraction prevents the tool from stopping at the machining surface, potentially allowing a tool tip to be pushed from a machining path specified by block N101 into a workpiece side, thus causing damage to a workpiece surface.

[0008] This phenomenon can also occur when the withdrawn tool is returned. Consider, for example, the case where a block N102 is not cached. As in Fig. As shown in Figure 9, if the tool is withdrawn from the machining surface when block N101 is started and then returned in the direction of a tangent to block N101 when block N102 is temporarily stored, the tool tip may be pushed into the workpiece side from a machining path specified by block N100, potentially causing damage to the workpiece surface.

[0009] Further state of the art is revealed in DE 10 2008 035 710 A1. SUMMARY OF THE INVENTION

[0010] To prevent such phenomena, the task is to provide a technology that enables tool retraction and return while minimizing the possibility that a tool retraction path and a tool return path may interfere with a machining path.

[0011] The problem is solved by a numerical control device with the features of claim 1.

[0012] The numerical control device according to the embodiment of the present invention controls a relative position between the tool of a machine tool and a workpiece in order to machine the workpiece according to a block of a program. The numerical control device comprises a tool operation control unit configured to control tool retraction and return when tool retraction is necessary; a block splitting unit configured to split a block in order to perform a split at a position remote from both ends of the block according to a command from the tool operation control unit; and a toolpath generation unit configured to generate the tool retraction path and the tool return path and to insert the generated paths at a split position in the block split by the block splitting unit.

[0013] According to the embodiment of the present invention, retracting the workpiece in a block enables the tool to be withdrawn and retracted while minimizing the possibility that the tool withdrawal path and the tool return path may interfere with a machining path. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The aforementioned and other objectives and features of the present invention will become apparent from the following description of the embodiments and the accompanying drawings. These show: Fig. 1 a schematic hardware configuration representation of a numerical control device according to an embodiment of the present invention; Fig. 2 a schematic functional block diagram of a numerical control device according to a first embodiment; Fig. 3 a representation showing an example of an arc-shaped tool retraction path and an arc-shaped tool return path; Fig. 4 a representation showing a method for generating an arc-shaped tool retraction path and an arc-shaped tool return path; Fig. 5 a representation showing an example of a tool retraction path and a tool return path according to the present embodiment; Fig. 6 a schematic functional block diagram of a numerical control device according to a second embodiment; Fig. 7 a representation showing another embodiment of a unit for determining a block to be divided and a block division unit; Fig. 8 a representation showing an example of interference between a tool and a workpiece during tool retraction; and Fig. 9 A representation showing an example of interference between a tool and a workpiece during tool return. DETAILED DESCRIPTION OF THE PREFERRED EXECUTION FORMS

[0015] One embodiment of the present invention is described below with reference to the drawings.

[0016] Fig. Figure 1 is a schematic hardware configuration representation of essential parts of a numerical control device according to an embodiment of the present invention. A numerical control device 1 of the present invention can, for example, be implemented as a numerical control device that controls a machine tool according to a machining program.

[0017] A CPU 11 of the numerical control device 1 according to the present embodiment is a processor that controls the entire numerical control device 1. The CPU 11 reads a system program stored in a ROM 12 via a bus 22 and controls the entire numerical control device 1 according to the system program. Temporary computational data, display data, various externally entered data, and the like are temporarily stored in a RAM 13.

[0018] A non-volatile memory 14 is formed, for example, by a battery-backed memory (not shown), a solid-state drive (SSD), and the like, and maintains its memory state even when the numerical control device 1 is switched off. The non-volatile memory 14 stores parameters read from an external device 72 via an interface 15, parameters entered via a display / MDI unit 70, and the like. Parameters and various data stored in the non-volatile memory 14 can be read into a RAM 13 during their execution or use. Furthermore, various system programs, such as a well-known analysis program, are pre-written into the ROM 12.

[0019] An interface 15 connects the CPU 11 of the numerical control device 1 to the external device 72, such as a USB device. The external device 72 reads the machining program used to control the machine tool, various parameters, and the like into the numerical control device 1. Furthermore, programs, various parameters, and the like edited in the numerical control device 1 can be stored in an external storage unit via the external device 72. A programmable machine controller (PMC) 16 outputs signals to the machine tool and a peripheral device of the machine tool (e.g., a tool changer, an actuator such as a robot, and a sensor attached to the machine tool) via an input / output unit 17, according to a sequence program stored in the numerical control device 1, in order to control the machine tool and the peripheral device.The PMC 16 also receives signals from various switches on an operator panel attached to the body of the machine tool, the peripheral device and the like, performs necessary signal processing on the signals and then sends the resulting signals to the CPU 11.

[0020] An interface 20 connects the CPU of the numerical control device 1 and a wired or wireless network 5. The network 5 is connected to at least one computer 3, which exchanges data with the numerical control device 1. The computer 3 can be another control device, a server storing an editing program, a fog computer, a cloud server, and the like.

[0021] A display / MDI unit 70 is a manual data input (MDI) device equipped with a display, a keyboard, and the like. An interface 18 receives commands and data from the keyboard of the display / MDI unit 70 for output to the CPU 11. An interface 19 is connected to an operator panel 71, which includes a manual pulse generator used for manually driving individual axes.

[0022] An axis control circuit 30 for controlling an axis of the machine tool receives a movement command for the axis from the CPU 11 and outputs a command for the axis to a servo amplifier 40. The servo amplifier 40 receives the command and drives a servo motor 50, which moves the axis of the machine tool. The servo motor 50 of the axis includes a position / speed detector and returns a position / speed feedback signal from the position / speed detector to the axis control circuit 30 for position / speed feedback control. It should be noted that the hardware configuration diagram of Fig. Figure 1 shows only one axis control circuit 30, one servo amplifier 40, and one servo motor 50, but in reality, one set of these is provided according to the number of axes contained in the machine tool to be controlled. For example, to move the tool attached to a spindle and a workpiece relative to each other by three linear axes for controlling a machine tool machining a workpiece, three sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 for moving the spindle in the X, Y, and Z axis directions are provided.

[0023] A spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to a spindle amplifier 61. Upon receiving the spindle speed signal, the spindle amplifier 61 rotates a spindle motor 62 of the machine tool at a specified speed to drive a tool. A position encoder 63 is coupled to the spindle motor 62. The position encoder 63 outputs a feedback pulse synchronously with the rotation of the spindle. The feedback pulse is read by the CPU 11.

[0024] Fig. Figure 2 is a schematic functional block diagram of a numerical control device 1 according to the first embodiment of the present invention. Each in Fig. The functional block shown in section 2 is operated by CPU 11 of the system described in Fig. Figure 1 shows the implementation of the numerical control device 1, which executes the system program and controls the operation of each part of the numerical control device 1. According to the present embodiment, the numerical control device 1 controls the servo motor 50 to move the tool attached to the spindle and a workpiece relative to each other, thereby controlling the machine tool which machines the workpiece using the tool rotated by the spindle motor 62.

[0025] The numerical control device 1 according to the present embodiment comprises a look-ahead unit 100, a remaining block determination unit 110, an analysis unit 120, a control unit 130, a tool operation control unit 140, a block splitting unit 150, a tool path generation unit 160, and a tool return determination unit 170. Furthermore, a buffer 210 is pre-assigned to the RAM 13 or the non-volatile memory 14 of the numerical control device 1 as an area for temporarily storing blocks of a program 200 that have been look-ahead from the external storage device 4.

[0026] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from the ROM 12 in a lookahead unit 100. Furthermore, the lookahead unit 100 performs arithmetic operations primarily through the CPU 11 and read operations through the interface 15 or the interface 20, using the RAM 13 and the non-volatile memory 14. The lookahead unit 100 reads a block of the program 200 stored in the external memory device 4 and stores the block in the buffer 210. If sufficient free space is available in the buffer 210 to store one or more blocks of the program 200, the lookahead unit 100 reads a block of the program 200 from the external memory device 4 and stores the block in the buffer 210.If there is no specific problem, the foresight unit 100 performs a foresight of a block that follows the block that has already been foresighted from the external storage device 4.

[0027] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from ROM 12 in the remaining block determination unit 110. Furthermore, the remaining block determination unit 110 performs arithmetic operations, primarily through the CPU 11, using RAM 13 and non-volatile memory 14. The remaining block determination unit 110 determines the data quantity of a block remaining in buffer 210. If it is determined that the data quantity of the remaining block is greater than a previously set predefined first threshold or if all blocks of the program 200 are previewed into buffer 210, the remaining block determination unit 110 reads the block from buffer 210 and then outputs the block to the analysis unit 120.If it is determined that the data amount of the remaining block in buffer 210 is equal to or less than the previously set predefined first threshold, the remaining block determination unit 110 alternatively notifies the tool operation control unit 140 of the determination. The remaining block determination unit 110 then reads the block located in buffer 210 in response to a request from the block splitting unit 150 to output the block and then temporarily stops reading the block from buffer 210. The remaining block determination unit 110 monitors the data amount of the remaining block in buffer 210 and simultaneously temporarily stops reading the block.If it is determined that the amount of data of the remaining block looked ahead into buffer 210 is equal to or greater than a previously set predefined second threshold, the unit for determining a remaining block 110 outputs the determination to the tool operating control unit 140 and restarts the readout from the buffer.

[0028] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from ROM 12 in the analysis unit 120. Furthermore, the analysis unit 120 performs arithmetic operations, primarily through the CPU 11, using RAM 13 and non-volatile memory 14. The analysis unit 120 analyzes a block input from the remaining block determination unit 110, the block division unit 150, the tool return determination unit 170, and the like, and generates motion command data for each servo motor and spindle command data that specify a spindle speed. The analysis unit 120 generates motion command data for servo motor 50 according to a feed command issued by the block. Additionally, the analysis unit 120 generates spindle command data for spindle motor 62 according to the spindle rotation command issued by the block of program 200.

[0029] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from the ROM 12 in the control unit 130. Furthermore, the control unit 130 performs arithmetic processing via the CPU 11 using the RAM 13 and the non-volatile memory 14, control processing for the servo motor 50 via the axis control circuit 30 and the servo amplifier 40, and control processing for the spindle motor 62 via the spindle control circuit 60 and the spindle amplifier 61. The control unit 130 drives the servo motor 50 and the spindle motor 62 according to the motion command data and spindle command data generated by the analysis unit 120.

[0030] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from the ROM 12 in the tool operation control unit 140. Furthermore, the tool operation control unit 140 performs arithmetic operations, primarily through the CPU 11, using the RAM 13 and the non-volatile memory 14. If tool retraction is necessary, the tool operation control unit 140 instructs the block splitting unit 150 to split the current block and retract the tool. If tool retraction is possible, the tool operation control unit 140 instructs the tool retraction determination unit 170 to retract the tool from a retracted state. The tool operation control unit 140 can control the retraction and retraction of the tool, for example, according to an input from the remaining block determination unit 110.Furthermore, the tool operation control unit 140 can also receive a notification from a unit other than the remaining block determination unit 110. For example, if a feed stop signal is received, the tool operation control unit 140 can determine that the tool must be stopped immediately and receive a current block from the remaining block determination unit 110, then instruct the block splitting unit 150 to retract the tool in the current block. At this point, the tool operation control unit 140 instructs the remaining block determination unit 110 to temporarily stop reading from the buffer 210 until a machining restart signal is received.

[0031] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from the ROM 12 in the block splitting unit 150. The block splitting unit 150 is primarily implemented by the CPU 11, which performs arithmetic operations using the RAM 13 and the non-volatile memory 14. The block splitting unit 150 receives the current block from the remaining block determination unit 110 and splits the block according to an input from the tool operation control unit 140. The block splitting unit 150 then outputs a first part of the split block to the analysis unit 120 and a second part of the split block to the toolpath generation unit 160. In the simplest implementation, the block splitting unit 150 can split a named block at its midpoint.It should be noted that if a block to be split is intended for a non-cutting path, the block splitting unit 150 instructs the toolpath generation unit 160 not to generate a tool retraction path and a tool return path.

[0032] Furthermore, the Block Splitting Unit 150 can, for example, analyze a block to be split and split the block at any position located a distance from both ends of the block, calculated by multiplying a tool movement velocity within the block by an acceleration / deceleration time constant. This largely prevents the tool from deviating from a path defined by the block during retraction or return. The Block Splitting Unit 150 splits the block at a position located a predetermined distance from the calculated position, thus minimizing the possibility of the tool retraction path interfering with a machining path defined by a subsequent block.It should be noted that if, due to a short block length, there is no possible position that is a calculated distance from both ends of a block, the block can be split at its midpoint as the splitting position.

[0033] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from the ROM 12 in the toolpath generation unit 160. The toolpath generation unit 160 is primarily implemented by the CPU 11, which performs computational processing using the RAM 13 and the non-volatile memory 14. The toolpath generation unit 160 generates a path into which the tool retraction path and the tool return path are inserted before the second part of the split block input by the block splitting unit 150. The toolpath generation unit 160 outputs the generated path to the tool return determination unit 170. As shown in Figure 1, the toolpath generation unit 160 is then used to determine the tool return path. Fig. As shown in Figure 3, the toolpath generation unit 160 can generate a tool retraction path and a tool return path, each having an arc shape with a tangent to a split path. Furthermore, the toolpath generation unit 160 can generate a tool retraction path and a tool return path that, instead of an arc shape, each have an oval shape with a tangent to a split path. As a further alternative shape, the toolpath generation unit 160 can generate a tool retraction path and a tool return path that have the shape of an inverted triangle, and the like, along which a tool is retracted from the splitting position of the block at a predetermined angle away from a workpiece, or returned to the tool at a predetermined angle.The tool retraction path and tool return path generated by the toolpath generation unit 160 can be any paths, as long as the tool is retracted from a workpiece at a gentle angle along the respective paths and returned to the workpiece at a gentle angle, so that it is less likely that cutting marks will remain on the workpiece after the tool has been retracted or returned.

[0034] Fig. Figure 4 shows a method by which the toolpath generation unit 160 generates the tool retraction path and the tool return path, each of which has an arc shape. To generate the tool retraction path and the tool return path, the toolpath generation unit 160 first computes a tool direction vector Tool, which is a vector in a direction along an axis of the tool and points away from the workpiece. Next, the toolpath generation unit 160 computes a vector product of the tool direction vector Tool and a velocity vector v of the tool at the split position of the block. If modal information of an actual machining operation specifies "Offset to the Left" (G41), the resulting vector product is a tool radial direction retraction vector Ed, which is a vector specifying a radial direction of the tool and pointing away from the workpiece.Whereas, when modal information specifies "offset to the right" (G42), a value of the resulting vector product multiplied by -1 is a tool radial direction retraction vector Ed. Additionally, the toolpath generation unit 160 computes a tool length direction retraction vector that is perpendicular to a velocity vector v in a plane containing a velocity vector v and a tool direction vector Tool. (If an axis direction of the tool is tilted about a rotational axis, such as on a five-axis machine and the like, a tool direction vector Tool and a tool length direction retraction vector Eh may differ.) The toolpath generation unit 160 then computes a tool retraction unit vector E1 by adding a unit vector of the tool radial direction retraction vector Ed and a unit vector of the tool length direction retraction vector Eh.A vector obtained by multiplying the tool retraction unit vector E1 by a previously set predefined tool retraction amount is defined as the tool retraction vector E. Finally, the toolpath generation unit 160 can generate a path that traces a 180-degree arc (a helical shape) around the calculated tool retraction vector E to create a tool retraction path and a tool return path. As in . Fig. As shown in Figure 5, the tool retraction path and tool return path generated in this way retract a tool from a workpiece at a gentle angle or guide the tool back to the workpiece at a gentle angle, so that damage to the workpiece is largely prevented in a machine tool with three linear axes and a five-axis machine tool with two rotary axes.

[0035] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from the ROM 12 in the tool return determination unit 170. The tool return determination unit 170 is primarily implemented by the CPU 11, which performs computational processing using the RAM 13 and the non-volatile memory 14. When instructed by the tool operation control unit 140 to return a tool from a retracted state before executing a control command instructed by the split first subblock, the tool return determination unit 170 discards the tool retraction path and the tool return path and outputs the split second subblock to the analysis unit 120.Whereas the tool return determination unit 170, unless instructed by the tool operation control unit 140 to return a tool from a retraction state before executing the split first sub-block, outputs the tool return path to the analysis unit 120. Upon receiving a command to return a tool from a retraction state from the tool operation control unit 140, the tool return determination unit 170 then outputs the tool return path and the split second sub-block to the analysis unit 120.

[0036] The numerical control device 1 equipped with the above configuration according to the present embodiment, when retracting a tool from a workpiece, retracts the tool from a position that is away from both ends of a block, thereby being able to minimize the possibility that the tool retraction path and the tool return path may interfere with a machining path.

[0037] Fig. Figure 6 is a schematic functional block diagram of the numerical control device 1 according to the second embodiment of the present invention. The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program in each step. Fig. The functional block shown in Figure 6 is used to control the operation of each part of the numerical control device 1. According to the present embodiment, the numerical control device 1 controls the servo motor 50 to move a tool attached to the spindle and a workpiece relative to each other, thereby controlling the machine tool which machines the workpiece using the tool rotated by the spindle motor 62.

[0038] The numerical control device 1 according to the present embodiment comprises a look-ahead unit 100, a remaining block determination unit 110, an analysis unit 120, a control unit 130, a tool operation control unit 140, a block splitting unit 150, a tool path generation unit 160, a tool return determination unit 170, and a unit for determining a block to be split 180. Furthermore, a buffer 210 is pre-assigned to the RAM 13 or the non-volatile memory 14 of the numerical control device 1 as an area for temporarily storing blocks of a program 200 that have been look-ahead from the external storage device 4.

[0039] The foresight unit 100, the analysis unit 120, the control unit 130, the toolpath generation unit 160 and the tool return determination unit 170 according to the present embodiment have the same functions as the foresight unit 100, the analysis unit 120, the control unit 130, the toolpath generation unit 160 and the tool return determination unit 170 according to the first embodiment.

[0040] If it is determined that a data quantity of the remaining block is greater than a previously set predefined first threshold, or if all blocks of program 200 are forwarded to buffer 210, the remaining block determination unit 110 reads a remaining block from buffer 210 and outputs the block to the analysis unit 120. Alternatively, if it is determined that a data quantity of the remaining block is equal to or less than the previously set predefined first threshold, the remaining block determination unit 110 notifies the tool operation control unit 140 of the determination.Then, when the block to be split unit 180 designates a block to be split for the purpose of withdrawing and returning a tool, the remaining block determination unit 110 reads up to the block immediately preceding the block to be split in order to output the block to the analysis unit 120, and then reads the block to be split in order to output the block to the block splitting unit 150. The remaining block determination unit 110 then temporarily stops reading the block from buffer 210. The remaining block determination unit 110 monitors a data set of the block remaining in buffer 210 and simultaneously temporarily stops reading the block.If it is determined that the amount of data of the remaining block looked ahead into buffer 210 is equal to or greater than a previously set predefined second threshold, the unit for determining a remaining block 110 outputs the determination to the tool operating control unit 140 and restarts the readout from the buffer.

[0041] If tool retraction is necessary, the tool operation control unit 140, for example, instructs the unit for determining a block to be split 180 to determine a block to be split for tool retraction, based on an input from the unit for determining a remaining block 110. Whereas, if tool retraction is possible, the tool operation control unit 140, for example, instructs the tool retraction determination unit 170 to retract the tool from a retracted state, based on an input from the unit for determining a remaining block 110.If it is notified by a unit other than the unit for determining a remaining block 110, the tool operation control unit 140 instructs the unit for determining a block to be split 180 to split a current block if the notification indicates a tool retraction in the current block, for example by a feed stop signal or the like. Alternatively, if the tool operation control unit 140 is notified that no retraction is necessary in the current block, it instructs the unit for determining a block to be split 180 to determine a block to be split for tool retraction.

[0042] The CPU 11 of the in Fig. The numerical control device 1 shown in Figure 1 executes the system program read from the ROM 12 in the block-to-split unit 180. Furthermore, the block-to-split unit 180 performs arithmetic operations, primarily through the CPU 11, using the RAM 13 and the non-volatile memory 14. When instructed by the tool operation control unit 140 to determine a block to split for tool retraction, the block-to-split unit 180 references each block in the buffer 210 and determines a block to split based on the referenced block. For example, if a non-cutting block is among the forward-facing blocks in the buffer 210, the block-to-split unit 180 determines the non-cutting block as the block to split.Alternatively, if there is no non-cutting block among the anticipated blocks in buffer 210, the unit for determining a block to be split 180 can, for example, determine the block with the longest path among the cutting blocks as the block to be split. In this case, if the tool operation control unit 140 has designated a block to be split, the unit for determining a block to be split 180 designates the designated block as the block to be split.

[0043] The block splitting unit 150 receives the block designated as the block to be split from the unit for determining a remaining block 110 according to an input from the unit for determining a block to be split 180, and then splits the block. The block splitting unit 150 then outputs a first part of the split block to the analysis unit 120 and a second part of the split block to the toolpath generation unit 160. Other functions of the block splitting unit 150 correspond to those of the block splitting unit 150 according to the first embodiment.

[0044] The numerical control device 1 according to the present embodiment with the above configuration can select a suitable block from the blocks forwarded in the current buffer 210 as the block for retracting a tool from the workpiece. Thus, by retracting the tool from a position remote from both ends of a block, it is possible to minimize the possibility that the tool retraction path and the tool return path interfere with a machining path.

[0045] Although one embodiment of the present invention is described herein, the invention is not limited to the embodiment described above and can be suitably modified and implemented in various ways.

[0046] For example, in the embodiment described above, the block splitting unit 150 and the unit for determining a block to be split 180 determine a position at which a block is split and a block to be split according to a predefined rule. The block splitting unit 150 and the unit for determining a block to be split 180 can also be configured to detect the presence or absence of interference with a machining path by the tool retraction path and the tool return path, and subsequently to determine a position at which a block is split without interference occurring, as well as a block to be split. As in Fig. As shown in Figure 7, the block splitting unit 150 and the unit for determining a block to be split 180, for example, when a temporary stop of machining becomes necessary after the execution of a block N3 of a program for moving a tool along a crank-shaped path and for machining, place the tool retraction path and the tool return path at each of the positions instructed by respective forward-looking blocks in the buffer, and then determine whether the resulting tool retraction path and the resulting tool return path overlap other machining paths.Then a block where a machining path defined by the block does not overlap other machining paths, even when the tool retraction and tool return paths are placed on the machining path, can be defined as the block to be split, and a position within the block to be split, where the machining path defined by the block does not overlap other machining paths, even when the tool retraction and tool return paths are placed on the machining path, can be defined as the splitting position. For example, in... Fig. 7, assuming that a block N4 or a block N7 is a block to be split, for which block N4 is determined a position closer to a front end of the block as the splitting position.

[0047] Furthermore, for example, although in the embodiment described above a tool retraction amount is specified for retracting a tool, when a block splitting unit 150 retracts a tool from a position where a block is split, a tool retraction amount can be calculated and used based on a distance from the splitting point of the block to both ends of the block and the like, which has a suitable value in a range in which the tool can be stopped sufficiently without exceeding both ends of the block.

Claims

[1] Numerical control device (1) which controls a relative position between a tool of a machine tool and a workpiece in order to machine the workpiece according to a block of a program (200), wherein the numerical control device (1) comprises: a tool operation control unit (140) configured to control a withdrawal and return of the tool when a withdrawal of the tool is necessary, a block splitting unit (150) configured to split a block in order to perform a split at a position remote from both ends of the block according to a command from the tool operation control unit (140), and a toolpath generation unit (160) configured to generate a tool retraction path and a tool return path and to insert the generated paths at a splitting position in the block split by the block splitting unit (150). [2] Numerical control device (1) according to claim 1, further comprising: a foresight unit (100) configured to foresight the block of the program (200) into a buffer (210), and a unit for determining a remaining block (110) which is configured to determine, based on a data set of the block looked ahead into the buffer (210), whether a withdrawal of the tool or a return of the tool is necessary, wherein the tool operation control unit (140) controls a withdrawal and a return of the tool when the unit for determining a remaining block (110) determines that a withdrawal of the tool or a return of the tool is necessary. [3] Numerical control device (1) according to claim 1, wherein the tool operation control unit (140) controls a withdrawal and return of the tool upon receipt of a notification instructing a withdrawal of the tool. [4] Numerical control device (1) according to claim 1, wherein the tool path generation unit (160) generates the tool retraction path for retracting the tool and simultaneously maintains a feed rate in a cutting direction of the tool. [5] Numerical control device (1) according to claim 1, wherein the tool path generation unit (160) generates the tool return path for returning the tool and simultaneously maintains a feed rate in a cutting direction of the tool at the same rate as a feed rate in the cutting direction during retraction. [6] Numerical control device (1) according to claim 2, which further comprises a unit for determining a block (180) to be divided, which is configured to determine the block to be divided for withdrawal and return of the tool from among the blocks looked ahead in the buffer (210).

Citation Information

Patent Citations

  • Method for returning tool of machining center after interruption of program sequence, involves automatically determining tool returning path such that tool present in interruption position is led back to neutral position

    DE102008035710A1

  • JP0000H1115513A