Information processing device
The information processing device addresses the challenge of converting CL data into NC programs by using converters and interpreters to generate optimized NC programs for machine tools, improving performance and efficiency.
Patent Information
- Application Number
- JP2024536232
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-25
- Filing Date
- 2022-12-16
- Publication Date
- 2025-01-09
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The conversion of CL data into NC programs is costly and time-consuming due to the need for unique post-processors for each CAM, and machine tools often lack support for their specific functions, limiting their performance.
An information processing device that includes a first converter to convert NC programs into CL data, an interpreter to interpret CL data, and a second converter to generate an NC program with execution codes tailored to the machine tool's capabilities, allowing for optimized program generation.
Enables the creation of NC programs that leverage the full potential of machine tools, enhancing performance through optimized machining times, accuracy, and resource efficiency.
Smart Images

Figure 2025500280000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device that generates an NC program used in a machine tool. [Background technology]
[0002] In the above technical field, Patent Document 1 discloses a technique for correcting a tool path of CL (Cutter Location) data generated by CAM (Computer Aided Manufacturing) and outputting it as a G-code by a post processor.
[0003] This CL data can be generated not only in a format standardized by the International Organization for Standardization (ISO), but also in a unique format that differs depending on the CAM manufacturer. Therefore, to convert CL data into an NC program, a unique post-processor must be developed for each CAM, which requires time and money to develop.
[0004] In addition, with a wide variety of machine tools being offered by various machine tool manufacturers, it is difficult for CAM dealers to develop post-processors that can convert into NC programs that incorporate the various optional functions of each machine tool. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent Publication No. 2021-39533 Summary of the Invention [Problem to be solved by the invention]
[0006] As a result, even if a machine tool is equipped with useful functions, it may not be possible to convert them into an NC program, meaning that only general-purpose functions may be available. [Means for solving the problem]
[0007] Therefore, the present invention is an information processing device that generates a first NC program used in a machine tool, and includes a first conversion unit that converts a second NC program into CL data, an interpretation unit that interprets the CL data, a reception unit that accepts input of an execution code that can be executed by the machine tool, and a second conversion unit that converts the CL data into a first NC program including the execution code accepted by the reception unit based on the interpretation of the CL data. The present invention also provides an information processing device, a machine tool, a program, and the like. Effect of the Invention
[0008] According to the present invention, it is possible to generate a program that can realize a higher level of performance of a machine tool. [Brief description of the drawings]
[0009] [Figure 1] 1 is a block diagram showing a configuration of an information processing device according to a first embodiment. [Diagram 2] FIG. 13 is a block diagram showing a configuration of an information processing device according to a modified example. [Diagram 3] FIG. 11 is a block diagram showing a configuration of an information processing device according to a second embodiment. [Figure 4] FIG. 11 is a diagram showing a specific example of processing of an NC program. [Diagram 5] 13A to 13C are diagrams illustrating a specific example of processing of an NC program according to Modification 1. [Figure 6] 13 is a diagram showing a specific example of processing of an NC program according to Modification 2. FIG. [Figure 7] 13 is a diagram showing a specific example of processing of an NC program according to Modification 3. FIG. [Figure 8] FIG. 13 is a diagram illustrating an execution code setting screen according to the fourth modified example. [Figure 9] 13A to 13C are diagrams showing a specific operation method of the execution code setting screen. [Figure 10]13A to 13C are diagrams showing a specific operation method of the execution code setting screen. [Figure 11] 13A to 13C are diagrams showing a specific operation method of the execution code setting screen. [Figure 12] 13A to 13C are diagrams showing a specific operation method of the execution code setting screen. [Figure 13] 13A to 13C are diagrams showing a specific operation method of the execution code setting screen. [Figure 14] 13A to 13C are diagrams showing a specific operation method of the execution code setting screen. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. However, the components described in the following embodiment are merely examples, and are not intended to limit the technical scope of the present invention.
[0011] [First embodiment] FIG. 1 is a block diagram showing the configuration of an information processing device according to the first embodiment. The information processing device 100 is a device for generating a first NC program 130 as a program used in a machine tool. The information processing device 100 includes an NC code receiving unit 101, a first conversion unit 102, a CL data receiving unit 103, a CL data interpretation unit 104, an input acceptance unit 105, a second conversion unit 106, a code transmission unit 107, and a storage unit 108. The programs are preferably programs used in a machine tool such as machining (machining program), transport of tools and workpieces (transport program), measurement, and photography.
[0012] The NC code receiving unit 101 receives a second NC program 150 from the outside. The first conversion unit 102 converts the second NC program 150 into CL data 153. The CL data receiving unit 103 acquires the CL data 153, and the CL data interpretation unit 104 interprets the CL data 153.
[0013] The input receiving unit 105 receives the selection of a code (execution code) executable by the machine tool based on the user's operation input via the GUI screen 170. As the GUI screen 170, for example, a function selection dialog shown in the figure is displayed. When precision priority (one function) is selected in this function selection dialog as shown in the figure, input of an execution code corresponding to precision priority (a code specifying finishing processing such as PROCMOD / FIN, G332R3) is received. Here, "PROCMOD / FIN" is an example of an execution code in CL data, and "G332R3" is an example of an execution code in NC code.
[0014] The second conversion unit 106 converts the CL data 153 into CL data 153 including an execution code or into an NC program including an execution code based on the interpretation of the CL data 153 by the CL data interpretation unit 104. When the second conversion unit 106 converts the CL data 153 into CL data 153 including an execution code, the second conversion unit 106 further converts the CL data 153 into a first NC program 130. Of course, the second conversion unit 106 may directly convert the CL data 153 into an NC program including an execution code without converting the CL data 153 into CL data 153 including an execution code. The storage unit 108 stores the first NC program 130, but may also store other NC programs inserted from the outside. The code transmission unit 107 transmits the first NC program 130 to a numerical control device of the machine tool. Note that the configuration may not include the code transmission unit 107, and may be configured such that the NC program can be output to a storage medium such as a USB.
[0015] In this embodiment, an information processing device has been described, but all that is required is a CL data interpretation means and a conversion means for converting an input of an execution code executable by a machine tool into an NC program including the execution code. In other words, the present invention can be realized not only by an information processing device but also by a program or an application. In addition, in the present embodiment, the information processing device is described as having a GUI screen, but the GUI screen may be displayed on the screen of the terminal PC via the Internet, and the information processing device may be provided separately from the terminal PC. The storage unit of the information processing device of this embodiment may be provided in a separate second information processing device. If there is an external storage unit, a program acquisition request may be sent to the external storage unit, and if the requested program is available in the storage unit, the program may be sent from the storage unit to the information processing device.
[0016] FIG. 2 is a block diagram showing a configuration of an information processing device according to a modified example. In the first embodiment, a configuration was exemplified in which only an NC program (second NC program) was acquired from outside, and CL data obtained by inversely converting the NC program was interpreted. In this modified example, it is also possible to acquire an NC program and CL data from outside. That is, the CL data receiving unit 103 can acquire CL data 145 from outside. The CL data interpretation unit 104 interprets not only the CL data converted from the NC program, but also the CL data 145 transmitted from outside.
[0017] [Second embodiment] FIG. 3 is a block diagram showing the configuration of an information processing device according to the second embodiment. The information processing device 200 is a device for generating an NC program 230 (first NC program) used in the numerical control device 220. The numerical control device 220 is a device that mainly numerically controls machining in the machine tool 210, and includes an NC code interpretation unit 221 that interprets the NC program 230 and a command output unit 222 that outputs a control command to the machine tool 210.
[0018] Examples of the machine tool 210 include machines that perform additive manufacturing on a workpiece, machines that perform subtractive manufacturing on a workpiece, and machines that perform processing by irradiating light such as a laser. Specifically, any machine that is numerically controlled based on an NC program and performs various processes such as turning, cutting, drilling, grinding, polishing, rolling, forging, bending, forming, fine processing, and lamination processing on workpieces such as metal, wood, stone, and resin, such as a lathe, drilling machine, boring machine, milling machine, gear cutting machine, grinding machine, multi-axis processing machine, laser processing machine, and lamination processing machine, may be used. Furthermore, the machine tool may have a measuring function, and may be configured to be able to measure the dimensions of the workpiece using a measuring device such as a touch probe or a camera.
[0019] Machine tool 210 is, for example, a three-axis machining center, and includes, as machine elements, a spindle motor 211 and a feed axis motor 212. Spindle motor 211 rotates a tool, and feed axis motor 212 linearly moves a table in the X- and Y-axis directions via a ball screw or the like, and linearly moves the tool or table in the Z-axis direction. Machine tool 210 may of course be a five-axis machining center.
[0020] The spindle motor servo controller 213 controls the spindle motor 211 based on a control command from the command output unit 222. The feed shaft motor servo controller 214 controls the feed shaft motor 212 based on the control command from the command output unit 222.
[0021] Each component of the information processing device 200 is realized by software that supplies processing instructions to a CPU (Central Processing Unit) and various computer processors and other arithmetic units. Each block, such as a code filter unit and a CL data interpretation unit, described below, indicates a functional unit block. The information processing device 200 includes an NC code acquisition unit 201, a code filter unit 202, a first conversion unit 203, a CL data interpretation unit 204, a change acceptance unit 205, a second conversion unit 206, a code transmission unit 207, a storage unit 208, and a display unit 209.
[0022] The NC code acquisition unit 201 acquires an NC program 250 (second NC program) generated in a CAM device 240. The CAM device 240 has a main processor unit 241 and a post processor unit 242. The main processor unit 241 generates CL data 243 based on shape data acquired from a CAD device 260 (Computer-Aided Design). The post processor unit 242 generates the NC program 250 from the CL data 243.
[0023] The storage unit 208 stores various program modules. The processor of the information processing device 200 executes various program modules to realize the functions of each unit. The storage unit 208 also stores the correspondence between NC codes and CL data. The code filter unit 202 executes filtering to delete codes that do not have corresponding CL data (also called "non-corresponding codes") from among the NC codes included in the NC program 250. Thereafter, the first conversion unit 203 performs reverse conversion to CL data, which will be described later, and the CL data interpretation unit 204 performs interpretation of the CL data. In this embodiment, the code filter unit 202 and the first conversion unit 203 are described as separate functions, but the first conversion unit 203 may include a code filter function. For example, the first conversion unit 203 performs a process of sequentially converting the codes of the NC program into CL data. When the first conversion unit 203 reaches the order of the non-corresponding codes during the process, it deletes the non-corresponding codes. Then, when the first conversion unit 203 reaches the code next to the non-corresponding codes in the NC program, if the next code is a corresponding code, it performs a process of converting the code into CL data. When a non-compatible code reaches the conversion order, the first conversion unit 203 repeats the above-mentioned process for each non-compatible code that reaches the conversion order, thereby providing a form including a code filter function. That is, the first conversion unit 203 converts a compatible code having corresponding CL data among the codes of the second NC program into CL data. The first conversion unit 203 performs a process different from that for a compatible code for a non-compatible code having no corresponding CL data among the codes of the second NC program.
[0024] In this embodiment, the correspondence between the NC code and the CL data is stored in the storage unit 208 of the information processing device 200, but may be stored outside the information processing device 200. It is preferable that the correspondence between the NC code and the CL data is prepared in advance. For example, G00, G01, G06, etc., whose functions are specified in ISO 6983-1:2009 or JIS B 6315-1:2013, can be associated with the corresponding CL data in advance. Even for G100 to G999, whose functions are not specified in ISO 6983-1:2009 or JIS B 6315-1:2013, it is possible to specify a function executable by a machine tool for some G codes, create corresponding CL data, and associate the NC code with the CL data. For reference, the codes whose functions are specified in JIS B 6315-1:2013 include G00 to G04, G06, G09, etc. Codes with no function specified in JIS B 6315-1:2013 include G100 to G999, etc. Furthermore, codes with no code assigned in JIS B 6315-1:2013 include G1000 to G1100, etc.
[0025] In addition, in the case of filtering by deletion as in this embodiment, the process may be such that a list of NC codes to be deleted is stored and filtering is performed to delete the relevant codes without using data on the correspondence between NC codes and CL data.
[0026] The first conversion unit 203 reversely converts the filtered NC program 250 into CL data 253 written in APT (Automatically Programmed Tools). APT is a programming language developed for the numerical control of machine tools, and can automatically determine tool paths and machining procedures based on the shape of the machine parts to be manufactured. EXAPT (extended subset of APT), which is a more precise improvement of the tool path determination function of APT, may also be used. Usually, APT->NC conversion is generally performed by a post processor, but the first conversion unit 203 performs the reverse conversion from NC to APT.
[0027] Furthermore, when converting an NC program into CL data, it is preferable to classify the data into certain sources and convert them accordingly. For example, assume that there is an NC program that performs machining and measurement. The first conversion unit 203 groups the CL data for machining and the CL data for measurement, and converts them into CL data in a manner that allows each to be identified. In this way, when a change input for the measurement location or the number of measurements is received on the GUI screen, the time required to determine which CL data to change can be reduced. Furthermore, by performing grouping and process division in this manner, it is also possible to present program change options that can be optimized for the machine tool being used based on group and process information.
[0028] The CL data interpretation unit 204 interprets the CL data 253 after inverse conversion, that is, the CL data described in APT (hereinafter also referred to as "APT data").
[0029] The change receiving unit 205 receives input of an execution code executable by the machine tool 210 for the APT data. The execution code executable by the machine tool 210 includes a function code for realizing a function specific to the machine tool 210 or the numerical control device 220, a function code for realizing a specific function such as machining such as finishing, or measurement by camera photography, etc. The display unit 209 displays a GUI screen, which will be described later, when the execution code is received.
[0030] The second conversion unit 206 converts the CL data 253 (APT data) into an NC program 230 including the execution code accepted by the change acceptance unit 205. This NC program can also be called an optimized program. The code transmission unit 207 transmits the NC program 230 to the numerical control device 220.
[0031] Here, optimization processing is a concept including all processing that brings benefits to machining, such as shortening machining time, improving machining accuracy, saving electricity and coolant, efficient removal of chips, efficiency through visualization of process management, measurement processing, etc. Specifically, optimization processing includes, but is not limited to, the following (1) to (4).
[0032] (1) Optimization of servo characteristics When the following processing modes (a) to (d) are implemented by a custom macro, the processing accuracy and processing time can be optimized by specifying a desired processing mode. (a) Time Priority Mode: This mode prioritizes shortening the machining time. It is used when the required accuracy is low, such as in rough machining. (b) Intermediate mode: This mode is intermediate between the time priority mode and the accuracy priority mode. It is used for semi-finishing processes that require high accuracy and short time. (c) Precision priority mode: This mode prioritizes improving machining precision. It is used when precision machining or surface finish is required. (d) Accuracy top priority mode: A mode that gives even higher priority to machining accuracy than the accuracy priority mode.
[0033] (2) Automatic optimization of servo characteristics When a function to automatically adjust the servo is implemented using a PLC, the mass and moment of inertia of the workpiece or jig are measured, and the optimal acceleration / deceleration is set based on the feedback value. Specifically, if the mass of the workpiece or jig is heavy and the moment of inertia is large, acceleration / deceleration is suppressed to achieve stable positioning. On the other hand, if the mass of the workpiece or jig is light and the moment of inertia is small, acceleration / deceleration is maximized to reduce processing time.
[0034] (3) Optimization of chip conveyor on / off control When the chip conveyor that discharges chips is equipped with an on / off function by the PLC, the chip conveyor's on / off control is optimized according to the volume of chips calculated over time by a machining simulation. Specifically, by turning off the chip conveyor during non-cutting periods or periods when the amount of chips is small, the driving power of the chip conveyor is saved and the efficiency of cutting oil usage is improved.
[0035] (4) Optimization of process management If a function is implemented that allows tagging of the same machining process with a common machining process ID between the CAM device, information processing device, and the NC viewer of the machine tool's HMI, the following functions can be realized, optimizing process management. - Ability to view or update changes later - Highlight changes when operating machine tools -Function to stop at the previous positioning command - If only the values such as feed rate and spindle speed have been changed, the function updates the changes to the previous process
[0036] The storage unit 208 stores program modules that realize the NC code acquisition unit 201, the first conversion unit 203, the CL data interpretation unit 204, the change acceptance unit 205, the second conversion unit 206, and the code transmission unit 207. The storage unit 208 also stores the above-mentioned correspondence information between the NC code and the CL data, a command table, machine tool information, numerical control device information, etc. Here, the command table is a table that indicates the correspondence between commands and arguments in the standardized format and the NC codes.
[0037] In addition, the machine tool information is information about various machine tools from different machine tool manufacturers and models, and includes the machine origin, model stroke length, G code and M code (Mxx, Mxy) of machine-specific commands, etc., and may also include the following information: (1) Model number of the machine tool (2) Optional information (number of turrets, spindle diameter, servo, type and availability of chip conveyor, type and availability of measuring device) (3) Types of tools that can be used (e.g. drills, end mills) (4) Number of pots in the magazine or pot numbers
[0038] The optimization process may also be based on the G-code defined by ISO. For example, there are common G-codes for all CAM devices, such as G00, G01, G02, and G03 (defined by ISO). The change acceptance unit 205 can also perform optimization processing that provides optimization functions based on such ISO-compliant G-codes.
[0039] In the present embodiment, the code filter unit 202 filters and deletes non-compliant codes, but the present invention is not limited to this. A configuration in which the user can select from the following two options is also possible. It is preferable that the G·M code filter be editable by the operator. Option 1: Output as is Option 2: Delete the codes in the G·M code filter
[0040] The information processing device 200 may further include a setting unit that sets whether or not the non-compliant code is to be deleted from the NC program. The code filter unit 202 may filter the NC program according to the setting content in the setting unit.
[0041] FIG. 4 is a diagram showing a specific example of the process up to optimization of an NC program. In this example, the second NC program 250a is output from the post processor 242a of the CAM device 240a. The first conversion unit 203 has a code filter means equivalent to a code filter unit, and deletes non-compatible codes (codes with no corresponding APT data) from the second NC program 250a. Figure 4 shows an example in which M51 is deleted before CL data conversion because it corresponds to a non-compatible code. G codes and M codes that correspond to non-compatible codes are stored in a code list in advance.
[0042] The first conversion unit 203 further inversely converts the filtered NC program 250a into CL data 253 (APT data). The CL data interpretation unit 204 adds an interpretation result 501 to the CL data 253. Note that the example in Fig. 4 is merely conceptually shown, and does not mean that data is added in Japanese as described above. The CL data interpretation unit 204 interprets the CL data, but the display remains as NC code so that the processing flow can be easily understood.
[0043] The change acceptance unit 205 displays a GUI screen 270 for allowing the user to select whether or not to insert a cutting mode setting code 502 called G332 immediately before the cutting start code G01 for optimization. The GUI screen 270 can be displayed as a function selection dialog as shown in the figure, for example, and can accept the selection of a code executable by the machine tool. When "Accuracy priority" is selected in the function selection dialog shown in the figure, the input of G332R3 (described later) is accepted.
[0044] The change receiving unit 205 receives the user's selection via the GUI screen 270. This optimizes the machining before the start of cutting. The codes G01 and G332 here may be the NC program code itself, or may be the CL data code corresponding to the NC program code.
[0045] For example, G332 is an NC code for selecting the above-mentioned machining modes (cutting modes) (a) to (d). Specifically, in the NC program, one of "G332R1", "G332R2", "G332R3", or "G332R4" is inserted immediately before the cutting start code G01. The arguments R1 to R4 are set in the following cases. R1: Set for rough machining (time priority mode) R2: Set for intermediate finishing (intermediate mode) R3: Set for finishing (precision priority mode) R4: User sets manually only when desired (precision-first mode)
[0046] For example, if OPTYPE / ROUGH (rough machining) is set as the execution code in the APT data, the G-code G332R1 and arguments are inserted. On the other hand, if OPTYPE / FINISH (finish machining) is set as the execution code in the APT data, the G-code G332R3 and arguments are inserted.
[0047] In this example, when the NC program code is G332R1, the CL data code corresponding to the NC program code is OPTYPE / ROUGH (rough machining). Similarly, when the NC program code is G332R3, the CL data code corresponding to the NC program code is OPTYPE / FINISH (finish machining).
[0048] As mentioned above, G332 is an unspecified code in JIS. Therefore, vendors of machine tools and numerical control devices can specify functions for individual purposes. This allows functions to be specified that are specific to a specific machine tool or a specific numerical control device. In this case, by generating an NC program that includes the execution code of this G332, optimization tailored to the machine tool being used can be achieved.
[0049] The information processing device 200 performs a process of deleting or ignoring (commenting out) preset function codes among function codes whose functions are not specified in ISO 6983-1:2009 or JIS B 6315-1:2013 from the program before processing. Then, it detects an origin code (origin data) that is a starting point among multiple codes included in the program before processing, and presents the code corresponding to the origin code to the user as an execution code (additional code). When the user makes a selection via the GUI screen 270, the change receiving unit 205 performs a process of adding the execution code corresponding to the origin code. The second conversion unit 206 converts pre-processing CL data 253 (pre-processing CL data) before the execution code is added to the NC program 230 based on post-processing CL data (post-processing CL data) to which the execution code has been added.
[0050] For reference, the codes for which functions are specified in JIS B 6315-1:2013 are G00 to G04, G06, G09, M00 to M06, M10, etc. Also, the functions of M07 to M09 are not described in JIS B 6315-1:2013, but are specified in other ISOs, etc. For M07, it is written "See ISO / TR 6983-2."
[0051] Codes with no specified function in JIS B 6315-1:2013 include G05, G07, G50 to G52, G100 to G999, etc. This G code has a number listed in JIS B 6315-1:2013, but its function is listed as unspecified. Codes with no specified function in JIS B 6315-1:2013 also include codes that are not listed in JIS B 6315-1:2013, such as M51 and M59.
[0052] [Variations] FIG. 5 is a diagram showing a specific example of the process of the NC program according to the first modification. In this modification, an NC program 250a (second NC program) is inversely converted by a conversion means that is a first conversion unit 203. Then, the converted CL data 253 (APT data) is interpreted by an interpretation means that is a CL data interpretation unit 204. The CL data interpretation unit 204 also detects processes, correspondence between codes and processes, the meaning of each code, a starting point code, etc. The conversion means that is a second conversion unit 206 adds a code corresponding to a user's selection input on the GUI screen to a location related to the starting point code detected by the CL data interpretation unit 204 to generate an NC program.
[0053] In this modified example, CL data is directly converted into an NC program without generating CL data to which a code of the CL data corresponding to the input received by the change receiving unit 205 is added. In other words, the second conversion unit 206 generates an NC program based on pre-processing CL data 253 (pre-processing CL data) before the execution code is added and the input received by the change receiving unit 205.
[0054] FIG. 6 is a diagram showing a specific example of the process of the NC program according to the second modification. In the second embodiment, an example has been shown in which non-compatible code (code with no corresponding APT data) is deleted from the NC program 250a (second NC program) and is not incorporated into the NC program 230a (first NC program).
[0055] In this modified example, when an incompatible code is detected in the NC program 250a, the code is ignored (commented out). In FIG. 6, since M51 is an incompatible code, the first conversion unit 203 comments out M51 by adding " / / " before it. Meanwhile, as in the second embodiment, the change acceptance unit 205 accepts the user's selection via the GUI screen 270. Furthermore, when the display unit 209 converts the CL data 253 after the change process into the NC program 230a, the GUI screen 272 is displayed. In FIG. 6, the GUI screen 272 is an execution code selection dialog, and the code commented out in the first conversion process is displayed. In the execution code selection dialog of FIG. 6, the codes M51, M59, G05, and G22 are displayed, and in this embodiment, all of them are commented out and ignored as incompatible codes. The user can restore the ignored code (ignored code) via this GUI screen 272.
[0056] At this time, if an ignored code is selected by the user, the second conversion unit 206 incorporates the ignored code (M51 in the illustrated example) as an NC code (execution code) when converting the CL data 253 into the NC program 230a, and generates the NC program. On the other hand, since G05, G22, and M59 were not selected, there is no input to be restored, and therefore the second conversion unit did not generate an NC program including G05, G22, and M59. That is, the change acceptance unit 205 may accept a selection input from the user when processing the non-compatible code. The second conversion unit 206 converts the CL data into the first NC program based on the selection input from the user.
[0057] FIG. 7 is a diagram showing a specific example of the process of the NC program according to the third modification. In this modification, the GUI screen 270, which is a part of the change receiving unit 205 in the modification 2, is not displayed. The CL data interpretation unit 204 interprets the CL data 253 (APT data) to detect the starting point code G01. The second conversion unit 206 generates an NC program into which the execution code G332 corresponding to the starting point code G01 is inserted. The second conversion unit 206 shown in FIG. 7 first generates processed CL data into which the CL data (corresponding CL data) corresponding to the execution code G332 is inserted. Then, the second conversion unit 206 performs a conversion process based on the processed CL data into which the corresponding CL data is inserted, and further inserts the NC code selected in the execution code selection dialog (M51 in the illustrated example) to generate the first NC program 230a.
[0058] FIG. 8 is a diagram showing an execution code setting screen according to the fourth modification. In this modified example, the change acceptance unit 205 accepts user operation input via an execution code setting screen 600. This optimizes the machining program (NC program) before cutting begins. The execution code setting screen 600 includes a work display screen 602 at the top and a process setting screen 604 at the bottom.
[0059] The workpiece display screen 602 displays the shape of the workpiece based on CAD data, with feature numbers superimposed along the shape. The "feature" here refers to processing steps such as machining and measurement, and includes geometric features that characterize the machining steps. The feature numbers corresponding to the machining steps are framed in a circle, and the feature numbers corresponding to the measurement steps are framed in a square, allowing them to be distinguished from each other.
[0060] The process setting screen 604 displays the results of analyzing the NC program or CL data divided by feature, and has columns for feature number (No.), feature content, function, function advisor, etc. The items displayed in each column can be arbitrarily selected by the user through operational input such as tapping on the screen or clicking the mouse.
[0061] Each feature number corresponds to a processing step number. The "Feature Content" column shows the type of processing, such as machining or measurement, and its details. The "Function" column shows settings related to optimization processing. The "Function Advisor" column displays the code that has been filtered by the filtering function. Furthermore, if the filtered code can be used with the corresponding machine tool, a function explanation and the filtered code are displayed as input assistance.
[0062] In the example of Figure 8, features 1 to 8 are set as the first process, features 9 to 12 as the second process, and features 13 and 14 as the third process. Feature 1 is a process in which the workpiece is machined from the right end face to a set outer diameter (feature content), and "time priority" is set as the optimization process (function). For feature 1, M59 is displayed as the filtered code, and "high pressure chuck ON" is shown as the explanation of its function. M59 is a code that can be used with the corresponding machine tool, but is filtered in the illustrated state.
[0063] Feature 8 is a process that performs tool measurement when storing the tool (feature content). For feature 8, G523 is displayed as a filtered code, and "image measurement" is shown as the function description. G523 is also a code that can be used with the corresponding machine tool, but it is filtered in the illustrated state.
[0064] Feature 9 is a process in which the workpiece is machined from the right end face to a set inner diameter (feature content), and "time priority" is set as the optimization process (function). For feature 9, G22 is displayed as a filtered code. Since G22 is a code that is not compatible with the machine tool, no function description is displayed.
[0065] In the "Function" field, either time priority, intermediate, or accuracy priority is displayed. "Time priority" corresponds to the time priority mode described above, "intermediate" corresponds to the intermediate mode, and "accuracy priority" corresponds to the accuracy priority mode. It is also possible to set "accuracy top priority" which corresponds to the accuracy top priority mode.
[0066] Provided below the process setting screen 604 are an edit button 610, a save button 612, an add button 614, a delete button 616, a disable button 618, and a reconfigure button 620. When a setting item is selected on a feature-by-feature basis by the user's operation input, the setting content can be modified by tapping these buttons (described in detail below).
[0067] 9 to 14 are diagrams showing a specific operation method of the execution code setting screen. In addition, the mark resembling a human hand (pointing hand mark) in each figure is an image that indicates the selection of an item by the user, and does not actually appear on the screen. The numbers attached to the pointing hand marks (Figure 10, etc.) indicate the order of selection by the user. When the user performs an input operation, a cursor may be displayed at the position of the pointing hand mark.
[0068] As shown in Fig. 9, the "feature content" column has three columns: a left column, a center column, and a right column. The left column displays an overview (broad outline) of the process, the center column displays the process to be executed, and the right column displays the specific content of the process.
[0069] "End face right" in the left column means that the workpiece will be cut from the right end face, and "end face left" means that the workpiece will be cut from the left end face. When the user touches "end face right", it will be changed to "end face left". In that case, features whose machining position is to the left of the changed feature will be automatically changed to "end face left". In the example in Figure 9, feature 6 was changed to "end face left" by the user's touch, so feature 7 was automatically changed to "end face left". When "end face left" is touched, it will be changed to "end face right". In that case, features whose machining position is to the right of the changed feature will be automatically changed to cut from the right end face.
[0070] The central column displays the type of processing, such as machining or measurement, and for machining, the processing type, such as "turning" or "drilling", is displayed. For machining, the right column displays the machining location, such as "outer diameter" or "inner diameter", and the machining shape, such as "outer diameter groove" or "inner diameter groove". For measurement, the measurement target, such as "groove" or "hole", is displayed. For example, feature 12 is a process for drilling a specific pattern. Feature 13 is a process for measuring a groove formed on the right of the end face. Feature 14 is a process for measuring a hole machined in a specific pattern.
[0071] Touching an item in the "Function" column switches the optimization process contents in sequence. That is, touching "Time Priority" changes the display to "Intermediate," and touching "Intermediate" changes the display to "Accuracy Priority." Touching "Accuracy Priority" changes the display to "Time Priority." These displays make it easy for the user to understand how the optimization process for each feature has been changed. When these settings are saved, they are reflected in the NC program. Note that the internal CL data is actually changed.
[0072] In the "Feature Advisor" column, touching a displayed item will restore a function that was disabled or ignored. In the example in Figure 9, "High-pressure chuck ON (M59)" in feature 1 and "Image measurement (G523)" in features 13 and 14 were once filtered, but the function was restored by the user's touch (see underlined and bold text).
[0073] As shown in FIG. 10, it is also possible to directly edit each feature. For example, when feature 8 is selected and the edit button 610 is tapped, a pop-up window 622 corresponding to that feature is displayed, and specific NC code, CL data, and the like are displayed. In the example of FIG. 10, the NC code and its comments are displayed. The user can directly edit that code. The upper pop-up window (622) in this figure shows the code before editing, and the lower pop-up window 622 shows the code after editing. After editing, the edited state can be saved by tapping the save button 612. As a result, the settings of the NC program become the settings after editing.
[0074] In feature 8 shown in FIG. 10, the filtered item G523 is displayed in the "Function Advisor" column. When the user selects this item, G523 is highlighted as shown in FIG. 11, indicating that the code has been restored. In the example of FIG. 11, this highlighting is shown in bold and underlined, but it may be shown in other forms such as highlighting. In the example of FIG. 10, the code was edited in feature 8, changing it from "M33 R1" to "M33 R2," so the explanation "Screen Measurement" that was in G523 has been deleted in the example of FIG. 11. Note that G22 does not support the machine tool, but it can be restored by editing the code.
[0075] As shown in FIG. 12(A), in the process setting screen 604, feature units (i.e., processes) can also be moved up and down. This movement can be performed by tapping the arrow button on the right end of the feature. In the example shown, feature 7 and feature 6 are moved downward, and feature 13 is moved upward. In other words, the order of features can be changed.
[0076] It is also possible to move a group (multiple features) such as the first process or the second process. In that case, tap the arrow button on the right end of the first process, etc. In the example of Fig. 12(A), the order of feature 7 and feature 6 has been swapped compared to the screen in Fig. 10. This is because features 6 and 7 have been switched to "end face left", and turning is performed from the end face located further to the left.
[0077] As shown in FIG. 12(B), it is also possible to fold and hide some of the entire process. In the illustrated example, the first and second processes are folded in the process setting screen 604, and features 2 to 8 of the first process and features 10 to 14 of the second process are hidden. This folding process can be performed by tapping the triangular button (also called the "fold button") on the right side of each process. When the folding process is performed, the direction of the triangular mark on the fold button is reversed and the notation changes.
[0078] Note that the first feature in a collapsed process is displayed as is, such as feature1 in the first process and feature9 in the second process. This is especially true in the case of processing, because if you know what processing is started with, it is easy to predict what processing will be included in that process. By tapping the collapse button again, you can expand and redisplay such a collapsed process.
[0079] As shown in FIG. 13, feature units that are not used can also be disabled. In the illustrated example, feature 12 and feature 14 are selected and the Disable button 618 is selected to disable these processes. If the Reconfigure button 620 is tapped after disabling, the disabled processes are deleted and an NC program is constructed with an optimized feature configuration. A new feature can also be added by tapping the Add button 614. A feature can also be deleted by selecting any feature and tapping the Delete button 616.
[0080] 14, the change receiving unit 205 constructs a feature configuration of a new program based on the above-mentioned editing. Each feature is replaced with a sequence number that indicates the order of processes after editing. The second conversion unit 206 converts the information into an NC program.
[0081] In this modification, the first conversion unit 203 converts the NC program 250 into CL data 253 (pre-processing CL data), and then the CL data interpretation unit 204 interprets the CL data 253 and breaks it down into features. The change acceptance unit 205 displays a process setting screen 604 (execution code setting screen 600) and edits the features based on the user's operation input. The second conversion unit 206 converts the CL data (post-processing CL data) including the execution code based on the feature editing results into the NC program 230.
[0082] In another modified example, the execution code may be edited by interpreting the NC program instead of the CL data. That is, the program interpretation unit may interpret the NC program 250 (pre-processing NC program) and break it down into features. The change acceptance unit displays the process setting screen 604 and edits the features based on the user's operation input. The program conversion unit generates the NC program 230 (post-processing NC program) so as to include execution code based on the editing results of the features.
[0083] The present invention is not limited to the above-mentioned embodiment and modified examples, and the components can be modified and embodied without departing from the gist of the present invention. Various inventions may be formed by appropriately combining multiple components disclosed in the above-mentioned embodiment and modified examples. Some components may be deleted from all the components shown in the above-mentioned embodiment and modified examples. The present invention can be embodied as a system, device, method, program, storage medium, etc. Specifically, the present invention may be applied to a system composed of multiple devices (e.g., a host computer, an interface device, a web application, etc.), or may be applied to an apparatus composed of one device.
[0084] A recording medium on which the program code of the software for realizing the above-mentioned functions is recorded may be supplied to the system or device, and the computer (CPU, MPU) of the system or device may read and execute the program code stored in the recording medium. In this case, the program code itself read from the recording medium will realize the functions of the above-mentioned embodiments, and the recording medium on which the program code is stored will constitute the above-mentioned device.
[0085] In addition, not only can the above-mentioned functions be realized by the computer executing the program code it has read, but the above-mentioned functions can also be realized by the OS (Operating System) running on the computer performing some or all of the actual processing based on the instructions of the program code.
[0086] Furthermore, the program code read from the storage medium may be written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, and a CPU provided in the function expansion board or function expansion unit may perform part or all of the actual processing based on instructions in the program code to realize the above-mentioned functions.
[0087] The present invention can also be realized by providing a program for implementing one or more of the functions of the above-described embodiment to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
[0088] This patent application claims priority to Japanese Patent Application No. 2021-208246 (filed December 22, 2021) and Japanese Patent Application No. 2022-028305 (filed February 25, 2022), the entire contents of which are incorporated herein by reference.
Claims
1. An information processing device that generates a first NC program used in a machine tool, a first conversion unit that converts the second NC program into CL data; An interpretation unit that interprets the CL data; a reception unit that receives an input of an execution code that can be executed by the machine tool; a second conversion unit that converts the CL data into a first NC program including an execution code received by the reception unit based on an interpretation of the CL data.
2. A program for generating a first NC program for use in a machine tool, a first conversion means for converting the second NC program into CL data; interpretation means for interpreting the CL data; a receiving means for receiving an input of an execution code executable by the machine tool; and second conversion means for converting the CL data into a first NC program including the received execution code based on an interpretation of the CL data.
Citation Information
Patent Citations
Interactive NC device
JP1992360204A
Nc machining program preparation method and device for machine tool
JP2000158290A
NC program display method and editing method
JP2006323582A
Numerical control device with processing process management function, and processing process management program
JP2016164721A
Tool path modification device
JP2021039533A