Conversion calculator, NC program conversion method, and NC program conversion program
The conversion computer system addresses machining errors by identifying interference and calculating deflection to correct the NC program, preventing interference and improving machining accuracy.
Patent Information
- Application Number
- JP2022176732
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-02
- Publication Date
- 2025-10-30
- Estimated Expiration
- 2042-11-02
AI Technical Summary
Existing NC programs face issues with machining errors due to tool deflection, leading to potential interference between the tool and workpiece, overcutting, or tool breakage, which can be exacerbated by deflection deformation during machining processes.
A conversion computer system that identifies interference positions, calculates deflection amounts, and sets correction amounts for the tool movement path to prevent interference, ensuring appropriate machining by generating a post-corrected NC program.
The system effectively prevents interference and tool breakage while improving machining accuracy by correcting the NC program to account for tool deflection, ensuring precise and reliable machining operations.
Smart Images

Figure 0007762639000001 
Figure 0007762639000002 
Figure 0007762639000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for converting numerically controlled (NC) programs. [Background technology]
[0002] In recent years, workpieces (hereinafter sometimes referred to as workpieces) are sometimes machined by inputting NC programs into NC cutting machines.
[0003] For example, in machining using a rotary tool, machining errors may occur due to deflection of the rotary tool, etc., and a technique is known in which the movement path of the tool is corrected in an NC program in advance to cancel out the machining errors.
[0004] For example, Patent Document 1 discloses a technique for predicting a machining error of a workpiece that occurs due to the action of a cutting force on a rotary tool. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2016-218641 Summary of the Invention [Problem to be solved by the invention]
[0006] For example, a method of correcting the movement path involves predicting the amount of deflection deformation at the tip of the tool and correcting the movement path in the NC program so as to cancel out the amount of deflection deformation.
[0007] In this way, when the movement path is corrected, there is a possibility that the workpiece and the tool may interfere with each other, for example, and there is a risk that the workpiece may be cut too much or that the tool may be overloaded and broken.
[0008] The present invention has been made in view of the above circumstances, and its object is to provide a technique for converting an NC program into an NC program that can perform appropriate machining. [Means for solving the problem]
[0009] A conversion computer according to one aspect includes a processor and converts a pre-corrected NC program to generate a post-corrected NC program, wherein the processor identifies an interference position, which is the position at which a tool of a machining machine interferes with a workpiece during a machining process in the pre-corrected NC program and is the most proximal position of the tool, calculates the cutting force when machining the workpiece with the tool during the machining process, calculates a first deflection amount, which is the deflection deformation amount of the tool at the interference position, based on the cutting force and the rigidity of the tool, and sets a correction amount for the movement path of the tool during the machining process in the pre-corrected NC program to a value greater than 0 and less than or equal to a value obtained by adding a predetermined tolerance to the first deflection amount, and generates the post-corrected NC program. [Effects of the Invention]
[0010] According to the present invention, an NC program can be converted into an NC program capable of performing appropriate machining. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram for explaining cutting processing by an NC program according to a comparative example. [Figure 2] FIG. 2 is a diagram illustrating an outline of an embodiment. [Figure 3] FIG. 3 is a diagram showing the overall configuration of a processing system according to one embodiment. [Figure 4] FIG. 4 is a configuration diagram of a conversion computer according to one embodiment. [Figure 5] FIG. 5 is a flowchart of a path correction process according to an embodiment. [Figure 6] FIG. 6 is a diagram illustrating the maximum adjacent height according to one embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of cutting a workpiece according to an embodiment. [Figure 8] FIG. 8 is a diagram showing a description of an NC program before correction for cutting a workpiece according to one embodiment. [Figure 9] FIG. 9 is a diagram illustrating a tool path according to an NC program before correction according to an embodiment. [Figure 10] FIG. 10 is a diagram showing a description of a corrected NC program according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] The following description of the embodiments will be given with reference to the drawings. Note that the embodiments described below do not limit the scope of the invention as claimed, and not all of the elements and combinations thereof described in the embodiments are necessarily essential to the solution of the invention.
[0013] Before describing an outline of an embodiment, cutting processing using an NC program according to a comparative example will be described first.
[0014] Fig. 1 is a diagram illustrating cutting processing by an NC program according to a comparative example, in which Fig. 1 is a side view (YZ plan view) of a substantially L-shaped workpiece W to be cut and a tool TL.
[0015] In Fig. 1, the tool TL is, for example, a rotary tool such as an end mill. In the cutting process of Fig. 1, the tool TL is rotatably fixed to the spindle of an NC cutting machine 20 (see Fig. 3) on the positive side (base end side) of the Z axis, and is moved in the positive direction of the X axis while being rotated, thereby cutting the processed portion of the workpiece W.
[0016] In this cutting process, ideally, it is preferable to perform the process in the state shown in Figure 1(A), but in reality, as shown in Figure 1(B), a cutting force is applied to the tool TL in the negative direction of the Y axis, and as a result, deformation occurs in the tool TL due to deflection of the tool TL, etc. For example, a deflection deformation amount Bd occurs at the tip of the tool TL.
[0017] Therefore, in the NC program, the movement path of the tool TL is sometimes corrected by the amount of deflection deformation Bd at the tip of the tool TL.
[0018] When the path of the tool TL in the NC program is corrected in this way, there is a risk of interference between the tool TL and the workpiece W, as shown in Fig. 1(C). When interference occurs in this way, if the interfering part with the workpiece W is the cutting edge part TLa of the tool TL, the workpiece W may be cut too much, and if the interfering part is outside the cutting edge part TLa of the tool TL, cutting of the workpiece W may be hindered or excessive force may be applied to the tool TL, causing breakage of the tool TL.
[0019] Next, an overview of one embodiment will be described.
[0020] 2 is a diagram for explaining an outline of one embodiment. The cutting process in FIG. 2 is the same as the cutting process assumed in FIG.
[0021] In this embodiment, the cutting process is simulated using the shape of the workpiece W, the shape of the tool, etc. as input, and the cutting force applied to the tool TL is calculated from the shape of the part to be cut, etc. Next, as shown in Fig. 2(A), the position closest to the base end of the tool TL (interference position) where interference occurs between the tool TL and the workpiece W when cutting is performed is identified. Here, the interference position is represented by, for example, the maximum adjacent height H, which is the distance (height) in the Z-axis direction from the tip of the tool TL.
[0022] Next, based on the spindle rigidity of the NC cutting machine 20, the shape and material of the tool TL, and the calculated cutting force, the deflection deformation amount δmax of the tool TL at the interference position (position of maximum adjacent height H: maximum adjacent height position) is calculated as shown in Figure 2(B). Here, the deflection deformation amount may include not only the deformation amount due to deflection of the tool TL, but also the deformation amount due to deflection of the spindle of the NC cutting machine 20.
[0023] Next, the NC program is corrected so that the path correction amount C is a value equal to or less than the sum of the deflection amount δmax and the tolerance P in the positive direction of the Y axis at the maximum adjacent height position and greater than 0. Here, the tolerance P may be the allowable tolerance on the cutting side at the maximum adjacent height position when the cutting edge part TLa of the tool TL interferes at that position, or may be a tolerance that does not cause breakage of the tool TL at that position when something other than the cutting edge part TLa of the tool TL interferes at the maximum adjacent height position.
[0024] By correcting the NC program in this manner, it is possible to improve the machining accuracy of the workpiece W while appropriately preventing situations where the workpiece W is over-cut or the tool TL is broken at the interference position.
[0025] <System configuration> FIG. 3 is a diagram showing the overall configuration of a processing system according to one embodiment.
[0026] The processing system 1 includes a conversion computer 10, a plurality of NC cutting machines 20 (an example of a processing machine), and a plurality of on-site computers 30. The conversion computer 10, the plurality of NC cutting machines 20, and the plurality of on-site computers 30 are connected via a network 40. The network 40 may be a wired network or a wireless network. In this embodiment, the NC cutting machines 20 and the on-site computers 30 are disposed at locations A and B, respectively, and the conversion computer 10 is disposed at location C. The conversion computer 10 may be disposed at either location A or location B. The plurality of NC cutting machines 20 and the plurality of on-site computers 30 may also be disposed at the same location.
[0027] The conversion computer 10 executes a process of converting an NC program (conversion source NC program: pre-correction NC program) for a certain NC cutting machine 20 into an NC program (conversion destination NC program: corrected NC program) for another NC cutting machine 20. Details of the conversion computer 10 will be described later.
[0028] The on-site computer 30 is a computer operated by an on-site worker, and is configured, for example, by a PC (Personal Computer) equipped with a processor, storage resources, etc. Note that the on-site computer referred to here is typically a location where the NC cutting machine 20 is installed (for example, inside a factory, a building, a floor, etc.) in Fig. 3. However, the on-site computer 30 may be used in a location other than where the NC cutting machine 20 is installed, as long as it is used for displaying the screen of the conversion computer 10.
[0029] In the following explanation, the shop-floor computer 30 is responsible for downloading and displaying the converted NC program and displaying the conversion input screen, etc., while the actual conversion process is performed by the conversion computer 10. However, although this reduces convenience to some extent, the roles (including some roles) of each computer can be interchanged or integrated with each other. The conversion computer 10 may also be composed of multiple computers. Therefore, the term "conversion system" may be used in the following explanation. This system includes one or more computers (shop-floor computer 30 or conversion computer 10) and performs the processing performed by the conversion computer 10 and shop-floor computer 30 described below. Some of the processing performed by the shop-floor computer 30 may be omitted.
[0030] The NC cutting machine 20 is, for example, a machining center, and includes a main body 22 that performs processing, an NC controller 21 that controls the processing of the main body 22, and a tool magazine 25 as an example of a storage unit that can store tools TL of one or more tool sets used in the main body 22.
[0031] The tool magazine 25 has a plurality of slots (SL: 25a, 25b, 25c) each capable of accommodating one tool TL.
[0032] The NC controller 21 controls the machining process of the main body 22 and the tool replacement process in accordance with an NC program stored inside.
[0033] The main body 22 includes a processing head 23, a stage 24, and a tool exchanger 26. The processing head 23 is equipped with a rotatable spindle to which a tool TL can be attached. The processing head 23 may be the spindle itself. The stage 24 is movable with a workpiece W to be processed placed on it. The tool exchanger 26 removes the tool TL from the processing head 23 and stores it in an empty slot in the tool magazine 25. The tool exchanger 26 also removes the tool TL from the slot in the tool magazine 25 and attaches it to the processing head 23. An example of the tool exchanger 26 is a change arm (also called an ATC arm) of an automatic tool changer (ATC). The aforementioned tool magazine 25 is also a component of the automatic tool changer. An NC program can contain a series of commands (called "codes" in NC program terminology or "words" with parameters added to the code) that represent tool change commands. The tool change commands include slot numbers indicating the positions of slots (the meaning of which will be explained later) in the tool magazine 25. The tool changer 26 takes out a tool TL from the slot specified by the slot number included in the parameter of the tool change command in response to an instruction from the NC controller 21 that has read the tool change command, and attaches it to the processing head unit 23 .
[0034] In the NC cutting machine 20, there is a limit to the number of tools TL that can be stored in the tool magazine 25, but by preparing one or more tool sets 50 in advance and changing the tool sets stored in the tool magazine 25 depending on the processing to be performed, it is possible to accommodate a variety of processing operations.
[0035] In this embodiment, the tool TL includes a cutting tool portion TLa such as an end mill, drill, or bit for cutting the workpiece W, and a holder TLb for attaching the cutting tool portion TLa to the processing head portion 23. However, for example, if the cutting tool portion TLa can be attached directly to the processing head portion 23, it does not need to include the holder TLb, and it is sufficient if it includes at least the cutting tool portion TLa.
[0036] In the following description, an entity including at least the machining machine that performed machining using the NC program to be converted (i.e., the source NC program) and the tool set corresponding to that machining machine may be referred to as the "source environment." Furthermore, an entity including at least the machining machine that is planned to perform machining using the converted NC program (i.e., the destination NC program) and the tool set corresponding to that machining machine may be referred to as the "destination environment." The source environment and destination environment may also include physical or logical entities contained in their respective locations (e.g., the temperature, temperature sensor, humidity, humidity sensor, or the floor on which the machining machine is installed at that location, or the building that makes up the location). The "tool set corresponding to the machining machine" includes not only the tool set currently stored in the tool magazine of the machining machine, but also tool sets that may be stored in the tool magazine and used in the future. Typically, the tool set corresponding to the machining machine is installed in the same location as the machining machine.
[0037] Next, the conversion calculator 10 will be described in detail.
[0038] FIG. 4 is a configuration diagram of a conversion computer according to one embodiment.
[0039] <<Hardware>> The conversion computer 10 is, for example, a personal computer or a general-purpose computer. The conversion computer 10 includes a CPU 11, a network interface 12 (abbreviated as Net I / F in the figure), a user interface 13 (User I / F in the figure), a storage resource 14 as an example of a storage unit, and an internal network connecting these components.
[0040] The CPU 11 is an example of a processor, and can execute programs stored in the storage resource 14. The processor may be a GPU (Graphics Processing Unit), or any other semiconductor device that executes predetermined processing. The storage resource 14 stores programs to be executed by the CPU 11, various information used by these programs, NC programs used by the NC cutting machine 20, and the like. The storage resource 14 may be, for example, semiconductor memory, flash memory, HDD (Hard Disk Drive), SSD (Solid State Drive), or the like, and may be either volatile or non-volatile memory.
[0041] The network interface 12 is an interface for communicating with external devices (for example, the on-site computer 30, the NC controller 21 of the NC cutting machine 20, etc.) via the network 40.
[0042] The user interface 13 may be, for example, a touch panel, a display, a keyboard, a mouse, or any other device that can accept operations from an operator (user) and display information. The user interface 13 may be configured from a plurality of these devices.
[0043] <<Data etc.>> The storage resource 14 stores a conversion program 141 as an example of an NC program conversion program, a configuration information acquisition program 142, processing machine configuration information 143, tool set information 144, individual tool information 145, a source NC program 146, a destination NC program 147, and conversion history information 148. Note that the storage resource 14 may also store other information. Details of each data and program will be explained in the following paragraphs. Note that each piece of information, or some items of each piece of information, may be omitted.
[0044] *Machine configuration information 143. The machine configuration information 143 is configured, for example, as a table that stores information about each NC cutting machine 20. The machine configuration information 143 includes the following information for each NC cutting machine 20. (a1) Identifier (machine ID) of the NC cutting machine 20. The identifier of the NC controller 21 or the network address of the NC controller 21 may be used as the machine ID. (a2) Model number of NC cutting machine 20. (a3) Location where the NC cutting machine 20 is installed. (a4) Usage history of the NC cutting machine 20, for example, usage time, etc. (a5) The temperature of a predetermined portion of the NC cutting machine 20. The predetermined portion may be the spindle or stage 24 of the NC cutting machine 20. (a6) Information regarding the rigidity of a predetermined portion of the NC cutting machine 20 (for example, Young's modulus or deflection of the portion). The predetermined portion may be the main shaft of the processing head unit 23 of the NC cutting machine 20 or the stage 24. (a7) The shape of a predetermined portion of the NC cutting machine 20. The shape of the predetermined portion may be the length of the spindle of the NC cutting machine 20 or the length of the stage 24. (a8) The maximum number of tools that can be accommodated in the tool magazine 25, i.e., the number of slots. (a9) Offset value set according to aging and installation environment. This offset value is used to finely adjust the coordinates when moving a tool in an NC program, for example, to correct a situation where the stage has tilted slightly due to aging. (a10) Manufacturer, model number, etc. of the NC controller 21. The description format of the NC program for the NC controller 21 may differ slightly depending on the manufacturer and model number, and this information is used to determine such a situation. (a11) Play of components such as the spindle and stage, movement accuracy (for example, the amount of backlash of the stage), straightness, flatness, degree of parallel movement, vibration amplitude and vibration frequency when the device is operating.
[0045] In this embodiment, the information (a1), (a2), (a4), (a5), (a8), (a9), and (a10) is obtained, for example, from the NC controller 21 of the NC cutting machine 20, while the information (a3), (a6), (a7), and (a11) is obtained from information input by an operator. Note that the method of obtaining the information is not limited to this. At least a portion of the information (a1), (a2), (a4), (a5), (a8), (a9), and (a10) may be obtained from information input by an operator via the user interface 13. Furthermore, the information (a3), (a6), (a7), and (a11) that can be obtained from the NC controller 21 may be obtained from the NC controller 21. Note that the information that is supposed to be obtained from the NC controller 21 may also be obtained from an alternative device (for example, another computer or the sensor itself).
[0046] *Tool information (tool set information 144 and individual tool information 145) The tool set information 144 is information for managing a group (set) consisting of one or more tools TL. The tool set information 144 is a set of identification information (tool set ID) of the tool set and identifiers or model numbers of one or more tools TL that make up the set.
[0047] The individual tool information 145 is information about each tool. The individual tool information 145 includes the following information. (b1) Identifier of the tool TL (tool ID: for example, serial number, etc.). If an individual ID is assigned to the cutting tool part TLa or the holder TLb, the value of the individual ID may be used as the identifier of the tool TL. If no individual ID is assigned, the CPU 11 executing the configuration information acquisition program 142 may automatically assign the individual ID. (b2) Model number of the tool TL (an example of tool identification information). For example, the model numbers of the blade part TLa and the holder TLb that constitute the tool TL. If the tool TL is composed of only the blade part TLa, only the model number of the blade part TLa may be used. If the blade part TLa is composed of multiple parts, the model numbers of all of those parts may be used, or some of the model numbers may be used. (b3) The material, shape, rigidity (Young's modulus, deflection, etc.), usage history, temperature, etc. of the tool TL (for example, each of the cutting tool part TLa and the holder TLb). Here, since the rigidity varies depending on the material and shape of the tool TL, this information is also information about rigidity. Unless otherwise specified, "shape" includes not only the three-dimensional shape and cross-sectional shape generally shown in drawings or CAD data, but also representative values obtained from the shape, such as the length, the length by which the cutting tool part TLa protrudes from the holder TLb (cutting tool protrusion length), the thickness of the cutting tool part TLa, and the straightness of the cutting tool part TLa. (b4) Information (position information, slot number) on the placement position (slot) of the tool magazine 25 where the tool should be stored. In this embodiment, the information (b1) to (b4) is obtained, for example, from information input by an operator via the user interface 13, but information that can be obtained from the NC controller 21 may be obtained from the NC controller 21.
[0048] *The source NC program 146 is an NC program used for machining in the source NC cutting machine 20 (referred to as the source NC cutting machine 20). The source NC program 146 may be tuned to suit the characteristics, state, etc. of the source NC cutting machine 20 in order to maintain a predetermined level of machining accuracy of the target object obtained by machining using the source NC cutting machine 20.
[0049] *The destination NC program 147 is an NC program obtained by converting the source NC program 146 so as to fit the destination NC cutting machine 20 (referred to as the destination NC cutting machine 20). Note that if no conversion process has been performed on any of the source NC programs 146, the destination NC program 147 does not exist.
[0050] *The conversion history information 148 is information that manages the history of the conversion process when converting the source NC program 146 into the destination NC program 147. The conversion history information 148 is information that associates, for example, identification information that identifies the conversion process with various information (input information, etc.) used during the conversion process.
[0051] In addition, the storage resource 14 may store the following information: *Workpiece W information. This information includes, for example, the shape data of the workpiece W before machining, its material, rigidity, and the target machining shape data of the workpiece W. The target machining shape data is data that indicates the target shape when machining using an NC program. If the workpiece W can be machined into the target shape, this means that the error is zero. *Information on the pre-conversion environment or the post-conversion environment other than the processing machine configuration information 143, the tool set information 144, and the individual tool information 145. To clarify this information, it may be referred to as "other pre-conversion environment information" or "other pre-conversion environment information."
[0052] <Programs that run on conversion calculators> <<Conversion program 141>> The conversion program 141 executes the following processes by being executed by the CPU 11. Here, the execution of the conversion program 141 by the CPU 11 constitutes a conversion unit. *When an instruction to start conversion is given via the conversion input screen, the conversion program 141 reflects the various information entered on the conversion input screen in the machining machine configuration information 143, tool set information 144, and individual tool information 145, and executes a conversion process to convert the source NC program 146 to be converted into a destination NC program 147 based on the various information entered on the conversion input screen and the information on the destination environment or the information on the source environment contained in the machining machine configuration information 143, tool set information 144, and individual tool information 145, and stores the obtained destination NC program 147 in the memory resource 14.
[0053] In the conversion process for converting the source NC program 146 into the destination NC program 147, for example, the conversion program 141 changes or adds instructions to the source NC program 146 based on information regarding the stiffness of the destination NC cutting machine 20 or the stiffness of the tool TL of the tool set 50 used in the destination NC cutting machine 20, to create the destination NC program 147. Note that the added or changed instructions may be tool diameter compensation, tool length compensation, tool wear compensation, feed rate, or cutting speed, thereby avoiding a major change in the machining work, such as increasing the number of times the workpiece W is machined with the tool TL. However, a command that increases the number of times the workpiece W is machined (for example, a command corresponding to test cutting) may also be added.
[0054] For example, in the conversion process for converting the source NC program 146 into the destination NC program 147, the conversion program 141 executes a path correction process (see FIG. 5) for correcting the path of the tool TL.
[0055] Furthermore, if at least a portion of the description format for the NC program differs between the NC controller 21 of the source NC cutting machine 20 and the NC controller 21 of the destination NC cutting machine 20, the conversion program 141 converts the portion of the description of the source NC program that has a different description format into the description format for the NC controller 21 of the destination NC cutting machine 20. This allows the NC controller 21 of the destination NC cutting machine 20 to perform machining without any problems.
[0056] *After the conversion process, the conversion program 141 displays a download confirmation screen to confirm the download, and when an instruction to download is given, it transmits the destination NC program 147 to the NC controller 21 of the destination NC cutting machine 20 or the on-site computer 30 at the location where the destination NC cutting machine 20 is located.
[0057] <<Configuration information acquisition program 142>> The configuration information acquisition program 142 is executed by the CPU 11 to perform the following processes. * The configuration information acquisition program 142 acquires various pieces of information related to the NC cutting machine 20 from the NC controller 21. The acquired information includes the above-mentioned information (a1), (a2), (a4), (a5), (a8), (a9), and (a10). *The configuration information acquisition program 142 displays a conversion input screen on the user interface 13 and acquires various information from the worker via the conversion input screen (information (a3), (a6), (a7), and (a11)) about the NC cutting machine 20 acquired from the worker, and information about the tool set 50 (information (b1) to (b4))).
[0058] Next, the processing operation by the conversion computer 10 will be described.
[0059] (Process 1) The configuration information acquisition program 142 (strictly speaking, the CPU 11 that executes the configuration information acquisition program 142) acquires various types of information (e.g., (a1), (a2), (a4), (a5), (a8), (a9), and (a10)) about each NC cutting machine 20 that can be acquired from the NC controller 21 of each NC cutting machine 20 connected via the network 40. Note that this process does not need to be performed each time process 2 and subsequent processes described below are performed.
[0060] (Process 2) Next, the configuration information acquisition program 142 displays a conversion input screen and accepts the following specifications via the conversion input screen. *Specify the source NC program 146 to be converted. *Specifying information (machine ID) for identifying the NC cutting machine 20 (source NC cutting machine) that was processing the workpiece W using the source NC program 146. *Specifying information (tool set ID) for identifying the tool set used in the processing by the NC program 146 for conversion source. *Specifying information (machine ID) that identifies the NC cutting machine (destination NC cutting machine 20) that will perform the new cutting of the workpiece W using the destination NC program 147 converted from the source NC program 146. *Specifying information (tool set ID) for identifying the tool set to be used in the destination NC cutting machine 20. In addition, the configuration information acquisition program 142 accepts input (direct input or selective input) of various information ((a3), (a6), (a7), and (a11)) regarding the source NC cutting machine 20 and the destination NC cutting machine 20, as well as information ((b1) to (b4)) regarding the tool set 50 used in the source NC cutting machine 20 and the tool set 50 to be used in the destination NC cutting machine 20.
[0061] (Process 3) Upon receiving a conversion start instruction from the user, the configuration information acquisition program 142 transmits the conversion start instruction to the conversion program 141. Here, the conversion start instruction includes various information input (direct input or selective input) into the conversion input screen.
[0062] (Process 4) When the conversion program 141 receives a conversion start instruction, it reads the specified source NC program 146 (NC program before correction) and converts the source NC program 146 into a destination NC program 147 (NC program after correction) based on the information included in the conversion start instruction (at least information regarding the rigidity of the destination NC cutting machine 20 or the tool set used in the destination NC cutting machine 20), and stores the converted destination NC program 147 in the memory resource 14.
[0063] (Process 5) Next, the conversion program 141 displays a download confirmation screen. Note that instead of automatically displaying the download confirmation screen after completion of Process 4, the download confirmation screen may be displayed in response to an operation on the shop floor computer 30 by the user of the shop floor computer 30. After this, when a download instruction is received, the conversion program 141 transmits the destination NC program 147 to the NC controller 21 of the destination NC cutting machine 20 or to the shop floor computer 30 at the location where the destination NC cutting machine 20 is located.
[0064] For example, when the destination NC program 147 is transmitted to the NC controller 21, the NC controller 21 stores the received destination NC program 147 and becomes able to execute the destination NC program 147 in the subsequent machining process. On the other hand, when the destination NC program 147 is transmitted to the shop-floor computer 30, the shop-floor computer 30 stores the destination NC program 147. Thereafter, the destination NC program 147 of the shop-floor computer 30 is stored in the NC controller 21 via the network 40 or a recording medium, etc., so that the NC controller 21 can execute the destination NC program 147.
[0065] <Example of conversion process using conversion program> Next, a specific example of the processing operation by the conversion computer 10 will be described.
[0066] 5 is a flowchart of a path correction process according to an embodiment. The path correction process is a process executed in the conversion process.
[0067] First, the conversion program 141 receives information on all blocks of the source NC program 146 to be processed, as well as the material shape and tool shape (S1). Here, a block refers to a description portion containing a command (address) that can be issued to the NC cutting machine 20 at one time in the machining process executed by the source NC program 146. A block contains one or more commands (addresses) that can be issued simultaneously. For example, an address may contain a code indicating the type of command and parameters related to the command content. Note that if the source NC program 146 is large and it is not possible to call up all the blocks in the work area of memory, the blocks to be read can be switched as the processing progresses.
[0068] Next, the conversion program 141 performs the following processing (steps S2 to S7) on each of the blocks (referred to as target blocks) that are to be subjected to cutting processing on the workpiece W among the read blocks:
[0069] For the target block, the conversion program 141 calculates the cutting force to be applied to the tool TL in cutting processing by the target block (S2). Specifically, the conversion program 141 simulates cutting processing using the shape of the workpiece W, the tool shape, etc. as input, and calculates the cutting force to be applied to the tool TL from the shape of the processed part, etc.
[0070] Next, the conversion program 141 determines a provisional correction amount as a correction amount of the path for the tool TL based on the cutting force (S3). Here, the provisional correction amount is, for example, the deflection amount (second deflection amount) generated at the tip of the tool TL.
[0071] Next, the conversion program 141 calculates the maximum adjacent height H, which is the distance in the Z-axis direction from the tip of the tool TL to the interference position closest to the base end of the tool TL where interference between the tool TL and the workpiece W occurs when cutting the target block (S4). Note that whether interference occurs or not may be determined based on whether the distance between the workpiece W and the tool TL is smaller than a predetermined value.
[0072] Next, the conversion program 141 calculates the deflection deformation amount δmax (first deflection deformation amount) of the tool TL at the position of the maximum adjacent height H (maximum adjacent height position) based on the spindle rigidity of the NC cutting machine 20, the shape and material of the tool, and the calculated cutting force (S5).
[0073] Next, the conversion program 141 determines whether the provisional tool correction amount is smaller than the value obtained by adding a predetermined allowable amount to the deflection deformation amount δmax (S6). Here, the predetermined allowable amount may be, for example, an allowable tolerance on the cutting side at the maximum adjacent height position if the maximum adjacent height position is within the Z-axis direction workable range of the cutting tool part TLa of the tool TL, i.e., within the workable range (machinable range), or may be a push-in amount (allowable push-in amount) that prevents breakage even when the tool TL is pushed into the workpiece W if the maximum adjacent height position is outside the Z-axis direction range of the cutting tool part TLa of the tool TL (outside the workable range).
[0074] As a result, if the provisional tool compensation amount is smaller than the value obtained by adding a predetermined tolerance to the deflection amount δmax (S6: Yes), it is considered that interference between the workpiece W and the tool TL will not be a problem, so the conversion program 141 proceeds to step S8 without changing the provisional compensation amount. On the other hand, if the provisional tool compensation amount is not smaller than the value obtained by adding a predetermined tolerance to the deflection amount δmax (S6: No), it is considered that interference between the workpiece W and the tool TL will be a problem, so the conversion program 141 determines the compensation amount to be the value obtained by adding a predetermined tolerance to the deflection amount δmax (S7) and proceeds to step S8. In step S7, the compensation amount may be determined to be a value in the range greater than 0 and less than the value obtained by adding the predetermined tolerance to the deflection amount δmax.
[0075] In step S8, the conversion program 141 updates each target block to a block that reflects the determined correction amount (if step S7 has not been executed, the provisional correction amount determined in step S3; if step S7 has been executed, the correction amount determined in step S7), and stores the destination NC program 147 including the updated blocks in the storage of the memory resource 14.
[0076] This path correction process makes it possible to create a destination NC program 147 in which the cutting blocks have been corrected to an appropriate correction amount.
[0077] Next, a specific example of the maximum adjacent height H will be described.
[0078] FIG. 6 is a diagram illustrating the maximum adjacent height according to one embodiment.
[0079] For example, as shown in FIG. 6(A), if the workpiece W has a chamfered portion 601 at the top of its machining surface, the maximum adjacent height H is the height below the chamfered portion. As shown in FIG. 6(B), if the workpiece W has a non-contact portion 602 at its middle that does not come into contact with the tool TL, the maximum adjacent height H is the height to the highest position where the tool TL comes into contact with the workpiece W. As shown in FIG. 6(C), if the workpiece W is machined at a part other than the tip of the tool TL, the maximum adjacent height H is the height to the highest position where the tool TL comes into contact with the workpiece W. As shown in FIG. 6(D), if the tip of the tool TL has a tapered shape, the maximum adjacent height H is the height to the highest position where the tool TL comes into contact with the workpiece W. As shown in FIG. 6(E), if the tool TL is a stepped tool in which the cutting edge portion TLa at the tip is thicker than the base end, the maximum adjacent height H is the height to the highest position where the cutting edge portion TLa comes into contact with the workpiece W.
[0080] Next, the conversion process of the source NC program will be described using a specific example of machining the workpiece W.
[0081] FIG. 7 is a diagram illustrating an example of cutting a workpiece according to an embodiment.
[0082] This cutting process involves cutting the first processing portion 701 as shown in FIG. 7(B) on the workpiece W before processing, as shown in FIG. 7(A), then cutting the second processing portion 702 as shown in FIG. 7(C), and then cutting the third processing portion 703 as shown in FIG. 7(D).
[0083] 8 is a diagram showing a description of a pre-correction NC program for performing cutting processing on a workpiece according to one embodiment, and is an example of a pre-correction NC program for performing the cutting processing shown in FIG.
[0084] The pre-correction NC program shown in Figure 8 is written in G code. In the pre-correction NC program, each line represents a block, and N + two digits in a block indicates the block number. Furthermore, G + two digits in a block corresponds to the G code. For example, G00 is a positioning command, and G01 is a linear interpolation command that moves in a straight line at a set speed. For example, block N04 means that the tool TL is to be linearly interpolated to the coordinates X100, Y10 at a feed rate of 500 (mm / min).
[0085] Fig. 9 is a diagram illustrating a tool path according to an NC program before correction according to one embodiment. Fig. 9 shows a tool path when the NC program before correction shown in Fig. 8 is executed. Fig. 9(A) is a top view (XY plan view) of the workpiece W, Fig. 9(B) is a side view (YZ plan view) of the workpiece W, and Fig. 9(C) is a side view (XZ plan view) of the workpiece W.
[0086] When the pre-correction NC program shown in FIG. 8 is executed, the tool TL is moved linearly from the origin to the position of X-20, Y0, Z10 by block N01 (FIGS. 9(A), 9(B), and 9(C)). Next, the tool TL is moved linearly to the position of Z-10 by block N02 (FIGS. 9(B) and 9(C)). Next, the tool TL is moved linearly to the position of Y10 by block N03 (FIGS. 9(A) and 9(B)).
[0087] Next, in block N04, the tool TL is moved linearly to the position of X100, Y10 at a feed rate of 500 (FIGS. 9A and 9C). By executing this block, cutting of the first-stage machining portion 701 shown in FIG. 7B is performed.
[0088] Next, in block N05, the tool TL is moved linearly to the Z10 position (FIGS. 9(B) and 9(C)). Next, in block N06, the tool TL is moved linearly to the X-20, Y0 position (FIGS. 9(A), 9(B), and 9(C)). Next, in block N07, the tool TL is moved linearly to the Z-20 position (FIGS. 9(B) and 9(C)). Next, in block N08, the tool TL is moved linearly to the Y10 position (FIGS. 9(A) and 9(B)).
[0089] Next, in block N09, the tool TL is moved linearly to the position of X100, Y10 at a feed rate of 500 (FIGS. 9A and 9C). By executing this block, cutting of the second-stage machining portion 702 shown in FIG. 7C is performed.
[0090] Next, in block N10, the tool TL is moved linearly to the Z10 position (FIGS. 9(B) and 9(C)). Next, in block N11, the tool TL is moved linearly to the X-20, Y0 position (FIGS. 9(A), 9(B), and 9(C)). Next, in block N12, the tool TL is moved linearly to the Z-30 position (FIGS. 9(B) and 9(C)). Next, in block N13, the tool TL is moved linearly to the Y10 position (FIGS. 9(A) and 9(B)).
[0091] Next, in block N14, the tool TL is moved linearly to the position of X100, Y10 at a feed rate of 500 (FIGS. 9A and 9C). By executing this block, cutting of the third machining portion 703 shown in FIG. 7D is performed.
[0092] Next, the tool TL is moved linearly to the position of Z10 by the block N15 (FIGS. 9B and 9C), and the machining process is completed.
[0093] Next, a corrected NC program obtained by executing the above-described path correction process on the pre-correction NC program shown in FIG. 8 will be described.
[0094] FIG. 10 is a diagram showing a description of a corrected NC program according to an embodiment.
[0095] When the path correction process is executed on the pre-correction NC program shown in FIG. 8, blocks N04, N09, and N14 that cut the workpiece W are corrected to blocks that reflect the correction amount for correcting the paths.
[0096] 10, for block N04, the Y coordinate of the path is corrected by a correction amount of 0.01 as shown in N04 G01 X100.Y[10.+0.01]F500, for block N09, the Y coordinate of the path is corrected by a correction amount of 0.01 as shown in N09 G01 X100.Y[10.+0.01]F500, and for block N14, the Y coordinate of the path is corrected by a correction amount of 0.01 as shown in N04 G01 X100.Y[10.+0.01]F500. Note that in the example of FIG. 10, the correction amounts for each block are the same value, but these correction amounts are determined by the path correction process and are not necessarily the same.
[0097] <Actions and Effects> By using the corrected NC program corrected in this manner, it is possible to appropriately prevent situations from occurring in which the workpiece W is over-cut or the tool TL is broken during cutting processing in the NC cutting machine 20.
[0098] <Variations> The present invention is not limited to the above-described embodiment, and can be appropriately modified and implemented without departing from the spirit of the present invention. In addition, the processes described below may be used in combination.
[0099] <<Other uses of on-site computers>> In the above embodiment, an example has been described in which the conversion input screen and the download confirmation screen are displayed on the user interface 13 of the conversion computer 10 to accept input, but the present invention is not limited to this, and the conversion input screen and the download confirmation screen may be displayed on any of the site computers 30 to accept input, for example, they may be displayed on the site computer 30 at the location of the conversion destination NC cutting machine 20 to accept input. Also, a part of the conversion input screen may be displayed on the site computer 30 at the location of the conversion source NC cutting machine 20 to accept input, and the remaining part of the conversion input screen may be displayed on the site computer 30 at the location of the conversion destination NC cutting machine 20 to accept input.
[0100] <<<Others>>> In addition, in the above-described embodiment, some or all of the processing performed by the CPU 11 may be performed by a hardware circuit. Also, the program in the above-described embodiment may be installed from a program source. The program source may be a program distribution server or a non-volatile storage medium (e.g., a portable storage medium).
[0101] The source NC program may be an NC program immediately after it has been generated from target shape data by a CAM program and before it is cut by a machining machine. In this case, the tool set may be input with the tool data used when the NC program was generated by the CAM program. Furthermore, the amount of correction to the tool path may be determined based on the rigidity of the workpiece W and the amount of thermal expansion of the workpiece W during cutting (or, conversely, the amount of thermal contraction after cutting), in addition to the spindle rigidity or tool rigidity described above.
[0102] In the above description, a machining center has been mainly used as an example of a processing machine, but other processing machines may be used as long as they are NC controllable.
[0103] In the above explanation, some of the data transmission and reception between the on-site computer and the conversion computer has been omitted, but naturally, data transmission and reception is performed between the on-site computer and the conversion computer. For example, when the conversion program 141 is executed on the conversion computer and the on-site computer displays a user interface or displays or inputs information through the operation, a program that handles part of the processing that the configuration information acquisition program handles on the on-site computer is executed on the on-site computer. Then, the program that handles that part sends the input information to the conversion computer, or receives display information sent from the conversion computer and displays the user interface. [Explanation of symbols]
[0104] 1 Processing system, 10 Conversion computer, 11 CPU, 12 Network interface, 13 User interface, 14 Storage resource, 20 NC cutting machine, 21 NC controller, 30 On-site computer, 50 Tool set, W work, TL tool
Claims
1. a conversion computer including a processor, which converts an uncorrected NC program to generate a corrected NC program, The processor: Identifying an interference position, which is a position where a tool of a processing machine interferes with a workpiece in a processing process in the pre-correction NC program and is the position closest to the base end of the tool; Calculating a cutting force when machining the workpiece with the tool in the machining process; calculating a first deflection amount, which is a deflection amount of the tool at the interference position, based on the cutting force and the rigidity of the tool; generating the corrected NC program by setting a correction amount of the movement path of the tool in the machining process of the pre-correction NC program to a value greater than 0 and equal to or less than a value obtained by adding a predetermined allowable amount to the first deflection deformation amount; The predetermined allowable amount is an allowable push-in amount at which the tool will not break at the interference position when the interference position is outside the machining range of the tool. Conversion calculator.
2. a conversion computer including a processor, which converts an uncorrected NC program to generate a corrected NC program, The processor: Identifying an interference position, which is a position where a tool of a processing machine interferes with a workpiece in a processing process in the pre-correction NC program and is the position closest to the base end of the tool; Calculating a cutting force when machining the workpiece with the tool in the machining process; calculating a first deflection amount, which is a deflection amount of the tool at the interference position, based on the cutting force and the rigidity of the tool; generating the corrected NC program by setting a correction amount of the movement path of the tool in the machining process of the pre-correction NC program to a value greater than 0 and equal to or less than a value obtained by adding a predetermined allowable amount to the first deflection deformation amount; calculating a second deflection amount at the tip of the tool based on the cutting force and the rigidity of the tool; If the second deflection amount is smaller than a value obtained by adding a predetermined allowable amount to the first deflection amount, a correction amount for the movement path of the tool in the machining process of the pre-correction NC program is set to the second deflection amount, thereby generating the corrected NC program. Conversion calculator.
3. 1. An NC program conversion method using a conversion computer for converting an uncorrected NC program to generate a corrected NC program, comprising: Identifying an interference position, which is a position where a tool of a processing machine interferes with a workpiece in a processing process in the pre-correction NC program, and which is the most proximal position in the axial direction of the tool; Calculating a cutting force when machining the workpiece with the tool in the machining process; calculating a first deflection amount, which is a deflection amount of the tool at the interference position, based on the cutting force and the rigidity of the tool; generating the corrected NC program by setting a correction amount of the movement path of the tool in the machining process of the pre-correction NC program to be greater than 0 and equal to or less than a value obtained by adding a predetermined allowable amount to the first deflection deformation amount; The predetermined allowable amount is an allowable push-in amount at which the tool will not break at the interference position when the interference position is outside the machining range of the tool. NC program conversion method.
4. 1. An NC program conversion method using a conversion computer for converting an uncorrected NC program to generate a corrected NC program, comprising: Identifying an interference position, which is a position where a tool of a processing machine interferes with a workpiece in a processing process in the pre-correction NC program, and which is the most proximal position in the axial direction of the tool; Calculating a cutting force when machining the workpiece with the tool in the machining process; calculating a first deflection amount, which is a deflection amount of the tool at the interference position, based on the cutting force and the rigidity of the tool; generating the corrected NC program by setting a correction amount of the movement path of the tool in the machining process of the pre-correction NC program to be greater than 0 and equal to or less than a value obtained by adding a predetermined allowable amount to the first deflection deformation amount; calculating a second deflection amount at the tip of the tool based on the cutting force and the rigidity of the tool; If the second deflection amount is smaller than a value obtained by adding a predetermined allowable amount to the first deflection amount, a correction amount for the movement path of the tool in the machining process of the pre-correction NC program is set to the second deflection amount, thereby generating the corrected NC program. NC program conversion method.
5. An NC program conversion program executed by a computer to convert a pre-correction NC program and generate a corrected NC program, The computer Identifying an interference position, which is a position where a tool of a processing machine interferes with a workpiece in a processing process in the pre-correction NC program, and which is the most proximal position in the axial direction of the tool; Calculating a cutting force when machining the workpiece with the tool in the machining process; calculating a first deflection amount, which is a deflection amount of the tool at the interference position, based on the cutting force and the rigidity of the tool; generating the corrected NC program by setting a correction amount of the movement path of the tool in the machining process of the pre-correction NC program to a value greater than 0 and equal to or less than a value obtained by adding a predetermined allowable amount to the first deflection deformation amount; The predetermined allowable amount is an allowable push-in amount at which the tool will not break at the interference position when the interference position is outside the machining range of the tool. NC program conversion program.
6. An NC program conversion program executed by a computer to convert a pre-correction NC program and generate a corrected NC program, The computer Identifying an interference position, which is a position where a tool of a processing machine interferes with a workpiece in a processing process in the pre-correction NC program, and which is the most proximal position in the axial direction of the tool; Calculating a cutting force when machining the workpiece with the tool in the machining process; calculating a first deflection amount, which is a deflection amount of the tool at the interference position, based on the cutting force and the rigidity of the tool; generating the corrected NC program by setting a correction amount of the movement path of the tool in the machining process of the pre-correction NC program to a value greater than 0 and equal to or less than a value obtained by adding a predetermined allowable amount to the first deflection deformation amount; calculating a second deflection amount at the tip of the tool based on the cutting force and the rigidity of the tool; When the second deflection amount is smaller than a value obtained by adding a predetermined allowable amount to the first deflection amount, a correction amount of the movement path of the tool in the machining process of the pre-correction NC program is set to the second deflection amount, thereby generating the corrected NC program. NC program conversion program.
Citation Information
Patent Citations
Processing error prediction method, program, and processing error prediction device
JP2016218641A
Processing assist device and processing data correcting method
JP2023046731A