Determination device, editing device, and control device

WO2026191081A1PCT designated stage Publication Date: 2026-09-17FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/009738
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-13
Publication Date
2026-09-17

Smart Images

  • Figure JP2025009738_17092026_PF_FP_ABST
    Figure JP2025009738_17092026_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a determination device for determining the appropriateness of a cycle command of a machining program, the determination device being configured to: acquire a machining program, and a designated position in the machining program in which a cycle command that is subject to determination is to be placed or is placed; generate a shape model of a workpiece by reading the machining program and executing a machining simulation up to immediately before the designated position; receive an input of cycle information that includes a cycle type and an argument of the cycle command that is subject to determination; calculate a path of the cycle based on the cycle information and an input range of the argument based on the dimensions of said path and the shape model; determine whether a value of the argument included in the cycle information satisfies the input range; and output the determination result.
Need to check novelty before this filing date? Find Prior Art

Description

Determination device, editing device, and control device

[0001] The present disclosure relates to a determination device, an editing device, and a control device.

[0002] Many cycles such as a drilling cycle and an outer diameter cutting cycle are used in machining programs for operating industrial machines. A cycle command, which is an execution command for these cycles, has an argument that specifies coordinate values for designating a position on a plane for drilling, a contour shape of an outer diameter, and the like.

[0003] An operator of an industrial machine may make changes to, that is, edit, an existing machining program in order to achieve desired part machining. Examples of editing a machining program include adding a cycle command and changing the value of a cycle command included in the machining program.

[0004] When editing such a machining program, there is a technology that notifies an operator if any suspicion is found as a result of determining the validity of input data.

[0005] International Publication No. 2004 / 061537, Japanese Unexamined Patent Publication No. Hei 6-250722

[0006] However, none of the conventional techniques take into consideration the shape of a workpiece. Therefore, a determination device using conventional techniques cannot determine whether or not the value of an argument of a cycle command, for which an appropriate range varies depending on the machining position, is appropriate. Furthermore, conventional determination devices cannot determine whether or not the value of an argument of a cycle command is appropriate in consideration of the shape of a workpiece that changes as machining progresses.

[0007] When conventional techniques are used, input of values that are not appropriate as arguments in actual workpiece machining is also permitted. Moreover, even if an operator inputs such a value, the conventional determination device does not issue any display or warning. Therefore, it takes a great deal of labor and time for an operator to correctly edit a machining program.

[0008] Accordingly, there is a demand for the emergence of means capable of quickly determining whether a machining program can be edited.

[0009] The determination device or editing device or control device including it according to this disclosure solves the above problem by having a configuration that can perform a machining simulation up to immediately before a specified position in the read machining program to generate a shape model of the workpiece, calculate the cycle path based on the received cycle information, calculate the input range of the argument based on the dimensions of the generated shape model and the calculated path, and determine whether the value of the argument included in the cycle information satisfies the input range.

[0010] Furthermore, one aspect of the present disclosure is a determination device for determining the appropriateness of a cycle command in a machining program, comprising: a machining program acquisition unit that acquires a machining program; a designated position acquisition unit that acquires a designated position within a machining program where a cycle command to be determined is located or located; a generation unit that reads the machining program and performs a machining simulation up to immediately before the designated position to generate a shape model of the workpiece; a cycle information reception unit that accepts input of cycle information including the cycle type and arguments of the cycle command to be determined; a determination execution unit that calculates the cycle path based on the cycle information, calculates the input range of the arguments based on the path and the dimensions of the shape model, and determines whether the values ​​of the arguments included in the cycle information satisfy the input range; and a determination output unit that outputs the result of the determination by the determination execution unit.

[0011] This is a schematic functional block diagram showing a determination device according to one embodiment. This is a schematic functional block diagram showing an editing device according to one embodiment. This is a schematic functional block diagram showing a control device according to one embodiment. This is a schematic block diagram showing an example of the hardware configuration of the control device according to one embodiment. This is a diagram showing an example of a machining program. This is a diagram showing the shape model of a workpiece generated by performing a machining simulation according to the machining program in Figure 5. This is an explanatory diagram of a drilling machining cycle. This is a diagram showing an example of a cycle input screen. This is a diagram showing the cycle path that satisfies the input range, calculated based on the input cycle information. This is a diagram showing an example of a screen displaying the determination result and input range based on the calculation result shown in Figure 9 machining program after editing. This is a diagram showing the cycle path that does not satisfy the input range, calculated based on the input cycle information. This is a diagram showing an example of a screen displaying the determination result and input range based on the calculation result shown in Figure 13. This is a diagram showing another example of a machining program. This is a diagram showing the shape model of a workpiece generated by performing a machining simulation according to the machining program in Figure 15. This is an explanatory diagram of a turning outer diameter groove machining cycle. This is a diagram showing the cycle path that satisfies the input range, calculated based on the input cycle information. This figure shows an example of a workpiece shape model. This is an explanatory diagram of a circular pocket machining cycle. This figure shows the cycle path calculated based on cycle information 1 for the shape model in Figure 19. This figure shows the cycle path calculated based on different cycle information for the shape model in Figure 19. This figure shows an example of a machining program after replacement and editing of cycle commands.

[0012] <Determination Device> Next, an embodiment of the cycle command determination device of the present disclosure will be described in detail with reference to the attached drawings. In Figure 1, the embodiment of the present disclosure, shown as determination device 10, is a device that determines whether or not a cycle command to be added to a machining program for operating an industrial machine is appropriate. The determination device 10 acquires the machining program, the specified position within the machining program to which the cycle command is to be added, and the cycle information of the cycle command to be added, performs a determination, and outputs the determination result to the outside of the determination device 10.

[0013] The determination device 10 has a machining program acquisition unit 12 that acquires the machining program of an industrial machine. In this application, the machining program may be referred to by reference numeral 13 in the following description. An example of how the machining program acquisition unit 12 acquires the machining program 13 is to have a storage device that records the machining program 13 within the determination device 10, or to connect to such a storage device so that the machining program 13 can be read as appropriate.

[0014] The determination device 10 has a designated position acquisition unit 14 that acquires a specified predetermined position from the machining program 13 acquired via the machining program acquisition unit 12. In this application, such a specified predetermined position from the machining program 13 will be referred to as the designated position 15 and described accordingly.

[0015] The acquisition of a designated position 15 within the machining program 13 can be achieved, for example, by connecting an input device (denoted by reference numeral 130 and described later in the explanation of Figure 4) that can be operated by an industrial machine operator to the designated position acquisition unit 14, and receiving an input operation in the designated position acquisition unit 14 that specifies the position where the operator intends to add an arbitrary cycle command. In this case, the designated position 15 acquired by the designated position acquisition unit 14 will be between existing blocks where a new cycle command requesting a new write to the machining program 13 will be placed.

[0016] The determination device 10 has a cycle information receiving unit 16 that receives information related to a cycle command to be added to a designated position 15 acquired via a designated position acquisition unit 14. The information related to the cycle command to be determined, acquired by the cycle information receiving unit 16, includes at least the type of cycle command and its arguments. In the following description of embodiments of this disclosure, the type of cycle command and its arguments included in the cycle command may be referred to as cycle information. Furthermore, such cycle information will be described hereafter with reference numeral 17.

[0017] The reception of cycle information 17 can be achieved, for example, by connecting an input device 130, which can be operated by an industrial machine operator, to the cycle information reception unit 16, and by the operator operating the input device 130 to input a cycle command including the type of cycle and its arguments.

[0018] The determination device 10 has a generation unit 18 connected to a machining program acquisition unit 12 and a specified position acquisition unit 14. The generation unit 18 simulates and generates a shape model of the workpiece based on the machining program 13 received from the machining program acquisition unit 12 and the specified position 15 within the machining program 13 received from the specified position acquisition unit 14. More specifically, the generation unit 18 reads the machining program and generates a shape model of the workpiece by performing a machining simulation up to just before the specified position to which a cycle command is to be added.

[0019] The determination device 10 has a determination execution unit 20 connected to a cycle information receiving unit 16 and a generation unit 18. Based on the cycle information 17 received from the cycle information receiving unit 16 and the workpiece shape model received from the generation unit 18, the determination execution unit 20 determines whether the cycle command is appropriate for the machining program 13 acquired by the machining program acquisition unit 12.

[0020] The determination of appropriateness by the determination execution unit 20 is achieved by executing the following steps. First, the determination execution unit 20 calculates the cycle path based on the cycle information 17 received via the cycle information reception unit 16. Next, the determination execution unit 20 calculates the input range of the arguments based on the cycle path calculated in the previous step and the dimensions of the shape model generated by the generation unit 18. Subsequently, the determination execution unit 20 determines whether the argument values ​​included in the cycle information 17 received via the cycle information reception unit 16 satisfy the input range calculated in the previous step.

[0021] The determination device 10 has an input side connected to the determination execution unit 20 and a determination output unit 22 that outputs the result of the determination performed by the determination execution unit 20 to the outside of the determination device 10. As illustrated in Figure 1, the output of the determination output unit 22 can be connected to an output device 24, and the determination output unit 22 can convert the output signal containing information which is the processing result of the determination execution unit 20 to the output device 24 into a signal format suitable for processing at the output device 24 before supplying the output signal which is the processing result of the determination execution unit 20 to the output device 24. In other words, the determination output unit 22 can be said to be a component that is in charge of outputting the determination result of the determination execution unit 20 to the outside.

[0022] As a result, the output device 24, which receives an output signal from the judgment output unit 22, outputs the judgment result and the input range of the arguments calculated to be used as judgment criteria in a displayable output format. Examples of output formats that can be displayed by the output device 24 include images, file data, printouts, and sound.

[0023] By using the determination device 10 with this configuration, it becomes easier to determine whether the argument values ​​of the cycle command input by the operator to the machining program are appropriate.

[0024] <Editing Device> Figure 2 shows an editing device 40 as one embodiment of the present disclosure. The editing device 40 is a device for editing the acquired processing program and is configured to include the determination device 10 described above. The editing device 40 can edit the processing program based on the determination derived by the determination device 10.

[0025] The editing device 40 has an editing execution unit 42 that receives output information from the determination output unit 22, and the editing execution unit 42 adds a cycle command to the designated position 15 of the processing program 13, which includes each argument that the determination execution unit 20 has determined to satisfy its respective input range.

[0026] The editing device 40 can supply an output signal containing the edited processing program 44 from the editing execution unit 42 to an external source. For example, by connecting a display to the output of the editing execution unit 42, the operator can visually confirm the edited processing program 44.

[0027] By using the editing device 40 with this configuration, the operator can more easily perform proper editing of the processing program.

[0028] <Control device> Figure 3 shows a control device 50 as one embodiment of the present disclosure. The control device 50 is configured to include the editing device 40 described above and controls a machine, in particular an industrial machine 52, based on a processing program 44 edited by the editing device 40.

[0029] The control device 50 has a control execution unit 54 that receives the edited processing program 44 from the editing device 40 and controls the industrial machine 52 according to the received program.

[0030] By using the control device 50 with this configuration, the industrial machine 52 can be controlled smoothly and quickly based on the edited machining program 44. Furthermore, since the control device 50 includes a judgment device 10 and an editing device 40, the operator can control the operation of the industrial machine 52 while appropriately checking the appropriateness of the cycle command entered to edit the machining program.

[0031] <Hardware Configuration> Figure 4 is a schematic hardware configuration diagram showing the main parts of the control device 50 according to this embodiment. As described above, the control device 50 is configured to include the determination device 10 and the editing device 40, so the determination device 10 and the editing device 40, which do not include the control function of the industrial machine 52, can also be realized with the hardware configuration shown in Figure 4.

[0032] The CPU (Central Processing Unit) 101 in the control device 50 is a processor that controls the control device 50 as a whole. The CPU 101 reads the system program stored in the ROM (Read Only Memory) 112 via the bus 102 and controls the entire control device 50 according to the read system program. The RAM (Random Access Memory) 113 temporarily stores various data, such as temporary calculation data and display data, as well as various data input from external sources.

[0033] The non-volatile memory 114 is composed of, for example, a memory backed up by a battery (not shown), an SSD (Solid State Drive), etc. By providing the non-volatile memory 114 in the control device 50, the stored state is maintained even when the power to the control device 50 is turned off. The non-volatile memory 114 is also connected to the CPU 101 via the bus 102, similar to the ROM 112 and RAM 113, and the data or information stored in the non-volatile memory 114 is used by the CPU 101 to control the control device 50.

[0034] The control device 50 has multiple interfaces, each of which is connected to the bus 102. This connection configuration allows the control device 50 to receive various data, information, and control programs from external devices, and to send generated data to the said external device or another external device. Figure 4 shows some of the multiple interfaces provided by the control device 50, including interfaces 115, 116, 117, and 118.

[0035] Interface 115 serves to connect the CPU 101 of the control device 50 to the input device 130. Examples of the input device 130 include a keyboard, a touch panel, and other operating devices. Through such an operating device, the operator can input a cycle command to the control device 50, which incorporates the determination device 10, specifying a predetermined position in the machining program, or adding to or updating a cycle at the specified position.

[0036] Interface 116 serves to connect the CPU 101 of the control device 50 to the output device 24. Examples of the output device 24 include a display device, an audio device, or a printing device connected to the judgment output section of the judgment device 10 contained within the control device 50. With this connection configuration, the output device 24 can allow the operator to confirm the judgment result 26 from the judgment device 10 in a manner that appeals to the senses such as sight and hearing.

[0037] The output device 24 may be configured to cooperate with the input device 130. For example, when an operator performs a predetermined input operation on the input device 130, the input result may be output to a display, which is one form of the output device 24, so that the operator can confirm the input result.

[0038] Interface 117 serves to connect the CPU 101 of the control device 50 to the industrial machine 52. The industrial machine 52, thus connected, can operate according to the processing program 44 edited by the control device 50, or in other words, by the editing device 40 contained within the control device 50.

[0039] Interface 118 serves to connect the CPU 101 of the control device 50 to any external device 132. The external devices 132 that can be connected to the control device 50 are diverse, but one example is a writing device used to write file data to a recording medium when the edited processing program 44 generated by the editing device 40 contained within the control device 50 is sent outside the editing device 40 in the form of file data.

[0040] <First Operation Example> From here, we will describe some operation examples performed by the determination device 10, editing device 40, or control device 50, which are embodiments of the present disclosure. First, we will describe the operation of the determination device 10, which determines whether or not the insertion of a cycle command is appropriate when the operator attempts to insert a desired cycle command at a position in the machining program 13 specified by the operator.

[0041] First, the machining program acquisition unit 12 receives an operator's selection operation via the input device 130 and acquires the machining program 13. As an example of an acquisition method for the machining program 13, the program pre-stored in the ROM 112 may be read, or the determination device 10 may be connected to an external device 132 that enables communication with the outside to receive the machining program 13. In the present operation example, it is assumed that the machining program acquisition unit 12 has acquired the machining program 13 shown in FIG. 5. The machining program 13 shown in FIG. 5 is an example of a machining program that machines a workpiece by moving a tool that rotates at high speed.

[0042] Next, the specified position acquisition unit 14 acquires a predetermined position in the machining program 13 specified by the operator via the input device 130. In the present operation example, it is assumed that the specified position acquisition unit 14 acquires the position immediately after the block of "N210 T2M6;" in the machining program 13 shown in FIG. 5 as the specified position 15.

[0043] The determination device 10, which has acquired the machining program 13 and the specified position 15, causes the generation unit 18 to execute machining simulation from the start of the machining program 13 to the block of "N210 T2M6;" immediately before the specified position 15. As a result, the generation unit 18 generates the shape model 19 of the workpiece.

[0044] FIG. 6 shows the shape model 19 generated by the generation unit 18 obtained by simulating a case where a cubic workpiece material having a side length of 30 (illustrated by a dotted line) is machined according to the machining program 13 up to immediately before the specified position 15.

[0045] The cycle information reception unit 16 receives information related to a cycle command to be inserted into the specified position 15 of the machining program 13, which is input by the operator via the input device 130. In the case of the present operation example, it is assumed that the operator inputs the character string "G81 X15. Y15. Z5. R12.;" as the cycle command.

[0046] The cycle command in this operation example includes character information "G81" indicating that the type of the cycle command is a drilling cycle. Here, with reference to FIG. 7, the workpiece machining process when executing the drilling cycle G81 is schematically described. A tool 521 of an industrial machine 52 used for machining a workpiece 529 first positions the X and Y axes, and then moves to point R at a rapid feed speed higher than the movement speed during cutting feed (broken line M1). The X and Y coordinates of point R are the same as the X and Y coordinates of the hole to be drilled, while the Z coordinate of point R is a point located a predetermined distance above the Z coordinate of the hole bottom or the top surface of the workpiece before machining. After being positioned at point R, the tool 521 moves at cutting feed while drilling a hole in the workpiece 529 until it reaches the Z coordinate of the hole bottom (solid line M2). After completing the drilling of the workpiece 529, the tool 521 returns to point R at rapid feed (broken line M3).

[0047] The cycle command in this operation example includes arguments "X15.", "Y15.", "Z5.", and "R12." as position information related to the hole to be drilled. In the drilling cycle G81, each argument indicates the X and Y coordinates of the drilling position, the Z coordinate of the hole bottom position, and the Z coordinate of point R, respectively.

[0048] The type and arguments of such a cycle command are used as cycle information 17 in the determination processing performed by the determination device 10.

[0049] As an example of a receiving method for the cycle information 17 input by an operator through the cycle information receiving unit 16, a configuration may be adopted in which the operator is allowed to directly input a character string including the cycle information 17 as a cycle command via an input device 130 such as a keyboard. Alternatively, as shown in FIG. 8, the cycle information 17 may be received by displaying a cycle input screen on a display screen 135 of a display that forms a part of or operates in cooperation with the input device 130, and having the operator input values for each argument.

[0050] In the determination device 10 that has generated the shape model 19 and received the cycle information 17, a determination execution unit 20 determines whether it is appropriate to insert the cycle information 17 into the specified position 15 of the machining program 13. An example of the determination method by the determination execution unit 20 is as follows.

[0051] The system calculates the range of arguments X, Y, and Z in which the path of the cutting feed (M2) intersects with the shape model 19, that is, the range located inside the shape model 19. In the case of the shape model 19 in this example, the determination execution unit 20 derives that either condition 1: Z < 10 and 5 < X < 20 and 0 < Y < 25, or condition 2: Z < 15 and 0 < X ​​< 5 and 0 < Y < 25, must be satisfied.

[0052] In the case of Z ≤ 0, although it is not located inside the shape model 19, considering the operation of the cutting feed tool 521, the cutting feed path will intersect with the shape model 19. Therefore, the determination execution unit 20 includes the range of Z ≤ 0 in the appropriate conditions.

[0053] The range of R point coordinates is calculated such that the rapid traverse (M1) path does not intersect with the shape model 19, i.e., it does not lie inside the shape model 19. In the case of the shape model 19 in this example, the determination execution unit 20, assuming that the arguments X and Y are within the above range, derives that either condition 3: R ≥ 10 and X ≥ 5, or condition 4: R ≥ 15 must be satisfied. Note that if R < 0, it lies outside the shape model 19, but considering the arrangement relationship between the tool 521 and the workpiece 529, the rapid traverse path will intersect with the shape model 19 (see Figure 7).

[0054] From the calculation results of the judgment conditions described above, the arguments of the cycle command "G81 X15.Y15.Z5.R12.;" satisfy the input range in which the rapid traverse path does not intersect with the shape model 19, as shown in Figure 9, and further satisfy the input range in which the cutting feed path intersects with the shape model 19. The judgment execution unit 20 derives the judgment result that the cycle command "G81 X15.Y15.Z5.R12.;" is appropriate as a cycle command to be inserted at the specified position 15 in the machining program 13.

[0055] The judgment result and information regarding the input range derived by the judgment execution unit 20 are sent by the judgment output unit 22 to the output device 24, which in this example is the display device. The judgment result of the cycle command derived by the judgment device 10 and the appropriate input range as an argument to the cycle command are displayed on the display screen 135. The judgment output unit 22 can perform output processing to convert the judgment result and information regarding the input range contained in the output signal into a format compatible with the output method of the output device 24.

[0056] Several examples of display methods for the judgment result and input range derived by the judgment execution unit 20 will be described. First, as shown in Figure 10, the output device 24 can display all of the input ranges of the arguments that enable proper drilling, along with the judgment result "The input range is met," on the display screen 135 of the output device 24, in this example, conditions 1 to 4.

[0057] Alternatively, the judgment execution unit 20 may concisely organize the input range conditions and display the organized conditions on the output device 24. An example of displaying the concisely organized input range conditions in this case will be explained with reference to Figure 11. Note that the display, which is part of the input device 130 that displays the cycle input screen shown in Figure 8, may be used as the output device 24 that displays the judgment result and input range output from the judgment device 10. Therefore, the example shown in Figure 11 displays the judgment result and input range side by side with the input cycle information.

[0058] Conditions 1 to 4 in this example are logical expressions "(Condition 1 or Condition 2) and (Condition 3 or Condition 4)". First, let's consider the case where Condition 1 and Condition 3 are true. If 5. <X < 20. 0. <Y < 25. Z < 10. R ≥ 10. then the argument value will satisfy the input range.

[0059] Similarly, considering the case where both condition 2 and condition 4 apply, if 0. < X < 5. 0. < Y < 25. Z < 15. R ≥ 15. then the argument value will satisfy the input range.

[0060] On the other hand, considering the case of both condition 2 and condition 3, there is no solution that satisfies both 0. < X < 5. and X ≥ 5. Also, considering the case of both condition 1 and condition 4, if 5. < X < 20. 0. < Y < 25. Z < 10. R ≥ 15. then the argument value will satisfy the input range. However, the appropriate input range in this case is included in the case of both condition 1 and condition 3.

[0061] Therefore, as shown in Figure 11, the expressions for each argument, combining "Condition 1 and Condition 3" and "Condition 2 and Condition 4," are displayed on the display screen 135 as appropriate input ranges in the cycle input screen.

[0062] As described above, the cycle command "G81 X15.Y15.Z5.R12.;" was determined by the determination device 10 to be an appropriate cycle command to be inserted into the designated position 15 of the machining program 13.

[0063] If the determination device 10 that performed this determination is part of the editing device 40, as shown in Figure 2, the editing device 40 will then perform editing of the processing program 13 based on the determination result. That is, within the editing device 40, when the editing execution unit 42 receives a determination result from the determination device 10 indicating that the program is suitable, the editing execution unit 42 inserts a cycle command "G81 X15.Y15.Z5.R12.;" containing the cycle information 17 input by the operator into the designated position 15 of the processing program 13, as shown in Figure 12.

[0064] The editing process of the processing program 13 by the editing device 40 may be configured such that the operator confirms the judgment result via the output device 24 and performs the operation to authorize editing, or it may be configured to automatically proceed to the editing process as soon as it is determined to be appropriate.

[0065] Next, we will explain an example of how the judgment device 10 determines the appropriateness of inserting the cycle command "G81 X3.Y15.Z5.R12.;" into the designated position 15 of the machining program 13 shown in Figure 5.

[0066] Of the processing steps performed by the determination device 10, the acquisition of the processing program 13 by the processing program acquisition unit 12, the acquisition of the specified position 15 by the specified position acquisition unit 14, and the generation of the shape model 19 by the generation unit 18 are the same as the operations described above with reference to Figures 5 and 6.

[0067] The cycle information receiving unit 16 receives cycle information 17 of the cycle command "G81 X3.Y15.Z5.R12.;". The method for receiving cycle information 17 may be the method described above.

[0068] The determination execution unit 20 determines whether it is appropriate to insert the cycle command "G81 X3.Y15.Z5.R12.;" at the specified position 15 of the machining program 13. In the case of this cycle command, as shown in Figure 13, the cutting feed path intersects with the shape model 19, that is, the range in which the arguments X, Y and Z are located inside the shape model 19. However, the rapid traverse path also intersects with the shape model 19, that is, the range in which the R point coordinate is located inside the shape model 19.

[0069] The output device 24 displays the judgment result, "The argument range is outside the input range." An example of the display method in this case is shown in Figure 14. The example shown in Figure 14 is the same as the method shown in Figure 11 in terms of display method, but the displayed judgment result is the opposite of the example in Figure 11.

[0070] An operator who recognizes the judgment result via the display of the output device 24 can change and re-enter one or more arguments based on the input range displayed along with the judgment result. For example, if the operator changes the value of argument R from "12." to "17." by referring to the display of the output device 24 shown in Figure 14, the value of the corrected argument will satisfy the input range of "condition 1 and condition 3". If the embodiment is an editing device 40 equipped with a judgment device 10, the cycle command "G81 X3.Y15.Z5.R17.;" can be inserted at the specified position 15 of the machining program 13 according to the judgment result.

[0071] <Second Operation Example> The machining program acquisition unit 12 acquires the machining program 13 shown in Figure 15 based on the operator's selection via the input device 130. The machining program 13 shown in Figure 15 is an example of a machining program for a workpiece that is machined by pressing a cutting tool against a workpiece that is rotating at high speed.

[0072] Next, the designated position acquisition unit 14 acquires a predetermined position within the machining program 13 specified by the operator via the input device 130. In this example, the designated position acquisition unit 14 acquires the position immediately following the block "N210 T2M6;" from the machining program 13 shown in Figure 15 as the designated position 15.

[0073] The determination device 10, having acquired the machining program 13 and the specified position 15, executes a machining simulation in the generation unit 18 from the beginning of the machining program 13 up to the block "N210 T2M6;" immediately before the specified position 15. As a result, the generation unit 18 generates a shape model 19 of the workpiece.

[0074] Figure 16 shows a shape model 19 generated by the generation unit 18 when a cylindrical workpiece material (shown by a dotted line) with a diameter of 50 (i.e., a radius of 25) and a total length of 100 is machined according to the machining program 13 in Figure 15 up to just before the specified position 15.

[0075] The cycle information receiving unit 16 receives information related to the cycle command to be inserted into the specified position 15 of the machining program 13, which is input by the operator via the input device 130. In this example, the operator inputs the string "G1130 X5.Z55.W65.R20.;" as the cycle command.

[0076] The cycle command in this example includes the text information "G1130" indicating that the type of cycle command is a turning external groove machining cycle. Here, with reference to Figure 17, the workpiece machining process when the turning external groove machining cycle G1130 is executed will be schematically explained.

[0077] First, the tool 521 is moved rapidly from its current position so that it is positioned at the reference point (R) (dashed line M1). The tool 521, positioned at the reference point, is pressed against the workpiece 529 and grooves are machined down to the groove bottom (solid line M2). Once machining down to the groove bottom is complete, the tool 521 is moved rapidly back to the height of the reference point and shifted along the rotation axis to perform the next cut (dashed line M3). Then, steps M2 or M3 are repeated N times until the groove side is reached.

[0078] The cycle command in this example includes the arguments "X5.", "Z55.", "W65.", and "R20." as positional information related to the groove to be made. Each argument indicates the starting Z coordinate of the groove, the ending Z coordinate of the groove, the X coordinate of the groove bottom position, and the X coordinate of the R point in the turning external groove machining cycle G1130.

[0079] The type and arguments of such cycle commands are used as cycle information 17 in the determination process by the determination device 10. Various methods can be adopted for receiving the cycle information 17 input by the operator to the cycle information receiving unit 16. For example, the receiving method described in the first operation example may be adopted.

[0080] In the determination device 10, which has generated the shape model 19 and received the cycle information 17, the determination execution unit 20 determines whether it is appropriate to insert the cycle information 17 into the specified position 15 of the machining program 13. An example of the determination method used by the determination execution unit 20 is as follows.

[0081] The range of arguments X, Z, and W in which the cutting feed (M2) path intersects with the shape model 19, that is, the range located inside the shape model 19, is calculated. In the case of the shape model 19 in this example of operation, the determination execution unit 20 derives that either condition 1: 0. < X < 15. and 40. < Z < 100. and 40. < W < 100. or condition 2: 0. < X < 25. and 0. < Z < 40. and 0. < W < 40. is calculated.

[0082] In this example, where the axis extending in the Z direction at the position X=0 is considered the axis of rotation of the workpiece and turning is performed, if X≦0, the workpiece will not form a groove shape on its surface, but will be completely divided. Therefore, the judgment execution unit 20 excludes the range X≦0 from the input range.

[0083] The range of R point coordinates is calculated such that the rapid traverse (M1) path does not intersect with the shape model 19, i.e., it is not located inside the shape model 19. In the case of the shape model 19 in this example, the determination execution unit 20, assuming that the arguments Z and W are within the above ranges, derives that either condition 3: R ≥ 15, Z ≥ 40, and W ≥ 40, or condition 4: R ≥ 25 must be satisfied. Note that if R < 0, it is located outside the shape model 19, but considering the arrangement relationship between the tool 521 and the workpiece 529, the rapid traverse path will intersect with the shape model 19 (see Figure 17).

[0084] From the calculation results of the judgment conditions described above, the arguments of the cycle command "G1130 X5.Z55.W65.R20.;" satisfy the input range in which the rapid traverse path does not intersect with the shape model 19, as shown in Figure 18, and further satisfy the input range in which the cutting feed path intersects with the shape model 19. The judgment execution unit 20 derives a judgment result that this cycle command is appropriate as a cycle command to be inserted at the specified position 15 of the machining program 13.

[0085] The determination result and information regarding the input range derived by the determination execution unit 20 are sent by the determination output unit 22 to the output device 24, which is a display device. The determination result of the cycle command derived by the determination device 10 and the appropriate input range as an argument to the cycle command are displayed on the display screen 135 of the display device. The determination output unit 22 can perform output processing to convert the information regarding the determination result and input range contained in the output signal into a format that is compatible with the output method of the output device 24.

[0086] Various methods can be used to display the judgment result and input range derived by the judgment execution unit 20. For example, the display method described in the first operation example may be adopted. Furthermore, if the judgment device 10 that performed such a judgment is part of the editing device 40 as shown in Figure 2, the editing device 40 can perform editing of the processing program 13 based on this judgment result.

[0087] <Third Operation Example> From here, we will explain how the input range changes depending on the cycle path, even when receiving cycle information for the same shape model. The determination device 10 generates the shape model 19 of the workpiece shown in Figure 19 based on the acquired machining program and specified position. This shape model 19 is a rectangular parallelepiped with side lengths of X=20, Y=25, and Z=15, and has a groove with a depth of 5 that extends across the entire Y direction in the interval where the X coordinate is 5 ≤ ​​X ≤ 15.

[0088] The cycle information receiving unit 16 receives information related to the cycle command to be inserted at a specified position in the machining program 13, which is input by the operator via the input device 130. In this example, the operator inputs the strings "G1040 X2.5 Y15.Z15.L3.R2.Q1.;" and "G1040 X10.Y15.Z15.L10.R7.Q1.;" as the cycle command.

[0089] All of these cycle commands include the character information "G1040" which indicates that the type of cycle command is a circular pocket machining cycle. Here, with reference to Figure 20, the workpiece machining process when the circular pocket machining cycle G1040 is executed will be schematically explained. The circular pocket machining cycle G1040 is a cycle that machines a workpiece into a pocket shape with the center point coordinates XY of the pocket circle, radius R, and a reference height Z and depth L.

[0090] First, the tool 521 is moved rapidly from its current position to the reference point (dashed arrow M1). The coordinates of the reference point are such that the XY position coordinates are the same as the center point of the pocket circle, and the height coordinate is the height obtained by adding the clearance height Q to the reference height Z of the pocket circle.

[0091] The tool 521 is lowered until it cuts into the workpiece. That is, the tool 521 feeds in the axial direction of the pocket shape (solid arrow M2). The position of the tool 521 on the XY coordinate plane is moved linearly by a distance of radius R. That is, the tool 521 feeds in the radial direction of the pocket shape (solid arrow M3). The tool 521 is moved to trace a circle of radius R, with the starting point of the movement of arrow M3 considered as the center point of the circle. That is, the tool 521 feeds in a circular direction corresponding to the outer circumference of the pocket shape (solid arrow M4).

[0092] Once the series of cutting operations indicated by the solid arrows M2 to M4 is complete, the tool 521 moves upward at rapid traverse to the height of the clearance Q with respect to the workpiece surface after cutting. Then, the tool 521 moves laterally at rapid traverse to the XY coordinates where the center point of the circle is located. The tool 521 repeats the series of operations described so far until the depth of the cut pocket circle reaches L.

[0093] The cycle command in this example includes arguments as positional information related to the circular pocket to be cut. For example, if the cycle command is "G1040 X2.5 Y15.Z15.L3.R2.Q1.;", the arguments are "X2.5", "Y15.", "Z15.", "L3.", "R2.", and "Q1.", and these arguments refer to the X coordinate of the circle center, the Y coordinate of the circle center, the reference Z coordinate of the circle, the depth of the circle L, the radius of the circle R, and the clearance height Q, respectively, in the circular pocket machining cycle G1040.

[0094] The type and arguments of such cycle commands are used as cycle information 17 in the determination process by the determination device 10. Various methods can be adopted for receiving the cycle information 17, including the method described above.

[0095] In the determination device 10, which has generated a shape model 19 and received cycle information 17, the determination execution unit 20 determines whether or not it is appropriate to insert the cycle information 17 into the specified position 15 of the machining program 13.

[0096] Furthermore, in the process of determining the appropriateness of the received cycle information 17, it is possible to calculate the appropriate input range for the remaining arguments (e.g., L, R, and Q) when some of the arguments (e.g., X, Y, and Z) are set to predetermined values.

[0097] As an example of the determination method used by the determination execution unit 20, when the input cycle command is "G1040 X2.5 Y15.Z15.L3.R2.Q1.;", the unit calculates the range of arguments L, R, and Q in which the cutting feed path (solid arrows M2 to M4 shown in Figure 20) intersects the shape model 19, given that the X coordinate of the circle center of the circular pocket to be cut into the workpiece, the Y coordinate of the circle center, and the reference Z coordinate of the circle are "X2.5", "Y15.", and "Z15." respectively. In this example, the determination execution unit 20 concludes that it is sufficient to satisfy the conditions L > 0. and R > 0.

[0098] Next, the range in which the fast-forward (M1) path does not intersect with the shape model 19 is calculated. In the case of the shape model 19 in this example, the determination execution unit 20 derives that it is sufficient if the condition Q ≥ 0 is satisfied.

[0099] From the calculation results of the judgment conditions described above, the arguments of the cycle command "G1040 X2.5 Y15.Z15.L3.R2.Q1.;" satisfy the input range in which the rapid traverse path does not intersect with the shape model 19, and furthermore, satisfy the input range in which the cutting feed path intersects with the shape model 19. The judgment execution unit 20 derives the judgment result that this cycle command is appropriate as a cycle command to be inserted at the specified position 15 of the machining program 13. When this cycle command is executed, the shape model 19 will have a circular pocket with a depth of 3 and a radius of 2 formed on the convex part on the left side of the drawing, as shown in Figure 21.

[0100] On the other hand, if the input cycle command is "G1040 X10.Y15.Z15.L10.R7.Q1.;", the range of arguments L, R, and Q in which the cutting feed path intersects the shape model 19 is calculated, assuming that the X coordinate of the circle center of the circular pocket to be cut into the workpiece, the Y coordinate of the circle center, and the reference Z coordinate of the circle are "X10.", "Y15.", and "Z15." respectively. The values ​​of arguments Y and Z are the same as in the previous cycle command, but the value of argument X is different.

[0101] In this example, the judgment execution unit 20 deduces that it is sufficient to satisfy the conditions L > 5 or R > 5. This condition yields a different result than when the argument is "X 2.5".

[0102] Next, the range in which the fast-forward (M1) path does not intersect with the shape model is calculated. In the case of shape model 19 in this example, the determination execution unit 20 derives that it is sufficient if the condition Q > 0 is satisfied.

[0103] From the calculation results of the judgment conditions described above, the arguments of the cycle command "G1040 X10. Y15. Z15. L10. R7. Q1.;" satisfy the input range in which the rapid traverse path does not intersect with the shape model 19, and further satisfy the input range in which the cutting feed path intersects with the shape model 19. The judgment execution unit 20 derives the judgment result that this cycle command is appropriate as a cycle command to be inserted at the specified position 15 of the machining program 13. When this cycle command is executed, as shown in Figure 22, only the convex portions on both sides of the shape model 19 are cut until the Z coordinate reaches a depth of 10 from 15, and a cylindrical hole is cut until the Z coordinate reaches a depth of 5 from 10.

[0104] <Fourth Operation Example> Using the determination device 10, which is one embodiment of the present disclosure, it is also possible to determine whether the operator's editing of the machining program is appropriate. Here, as an example, we will describe the determination process executed by the determination device 10, taking the case where, after the operator adds the cycle command "G81 X15.Y15.Z5.R12.;" to the machining program 13 as described in the first operation example (see Figure 12), the value of the argument X of this cycle command is changed from "15." to "3." and the value of the argument R is changed from "12." to "17.".

[0105] In response to the operator's operation of the input device 130, the determination device 10 receives the specified position 15 of the cycle command designated as the target for editing, and the cycle information string "G81 X3.Y15.Z5.R17.;". The determination device 10 has already acquired the machining program 13 during the process of determining and editing the original cycle command. In this example, the specified position 15 is the position where the existing cycle command to be rewritten, selected by the operator from within the machining program, is located.

[0106] The generation unit 18 of the determination device 10 performs a machining simulation up to the point immediately preceding the existing cycle command to be edited, and the resulting workpiece shape model 19 is as shown in Figure 6.

[0107] The determination execution unit 20 of the determination device 10 calculates the appropriate input range for the arguments to the shape model 19 and determines whether each argument of the received cycle command satisfies the input range. The conditions for the input range of the arguments to the shape model 19 are the same as conditions 1 to 4 defined in the first operation example.

[0108] The arguments of the cycle command "G81 X3.Y15.Z5.R17.;" that the operator is trying to replace satisfy condition 2 and condition 4, namely, 0. < X < 5. 0. < Y < 25. Z < 15. R ≥ 15. Therefore, the determination execution unit 20 determines that the values ​​of the arguments of the cycle command entered by the operator satisfy the input range.

[0109] Furthermore, if the determination device 10 is part of the editing device 40, the editing execution unit 42, upon receiving the determination result from the determination device 10, can replace the cycle command "G81 X15.Y15.Z5.R12.;" at the designated position 15 with a cycle command "G81 X3.Y15.Z5.R17.;" containing the cycle information 17 input by the operator, as shown in Figure 23.

[0110] With a determination device 10 capable of performing such an operation, or an editing device 40 including the same, the operator can immediately confirm whether the editing of the cycle command is appropriate, and prevent an inappropriate cycle command from being entered into the machining program 13.

[0111] <Fifth Operation Example> The determination device 10, which is one embodiment of the present disclosure, can determine whether any cycle command specified from the acquired existing machining program 13 is appropriate or not. When an operator specifies an arbitrary cycle command from the existing machining program, the generation unit 18 of the determination device 10 executes a machining simulation up to just before the cycle command at the specified position 15 and generates a shape model 19. In this example, the specified position 15 is the position where the existing cycle command selected by the operator from the machining program 13 is located, and which is to be determined to confirm its appropriateness.

[0112] Next, the determination execution unit 20 calculates the valid input range for the arguments to the shape model 19 and determines whether each argument of the received cycle command satisfies the input range.

[0113] The determination result is displayed via the output device 24, allowing the operator to confirm whether the specified cycle command is appropriate. Thus, the determination device 10 of this embodiment makes it easy to confirm the appropriateness of the cycle command.

[0114] Although embodiments of this disclosure have been described in detail above, this disclosure is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of the invention or from the idea and spirit of this disclosure derived from the claims and their equivalents. For example, the order of operations and processes in the embodiments described above are shown as examples only and are not limited thereto. The same applies when numerical values ​​or mathematical formulas are used in the description of the embodiments described above.

[0115] The following are additional notes to the embodiments of the present disclosure. (Addendum 1) A determination device (10) for determining the appropriateness of a cycle command of a machining program according to one aspect of the present disclosure includes: a machining program acquisition unit (12) for acquiring a machining program; a designated position acquisition unit (14) for acquiring a designated position within a machining program where a cycle command to be determined is located or located; a generation unit (18) for reading a machining program and performing a machining simulation up to immediately before the designated position to generate a shape model of a workpiece; a cycle information reception unit (16) for receiving input of cycle information including the cycle type and arguments of a cycle command to be determined; a determination execution unit (20) for calculating a cycle path based on the cycle information, calculating an input range for arguments based on the path and the dimensions of the shape model, and determining whether the values ​​of the arguments included in the cycle information satisfy the input range; and a determination output unit (22) for outputting the result of the determination by the determination execution unit (20). (Note 2) In a determination device (10) according to another aspect of the present disclosure, the determination execution unit (20) calculates an input range of arguments that satisfies at least one of the following: the rapid traverse path does not intersect the shape model, and the cutting feed path intersects the shape model. (Note 3) In a determination device (10) according to another aspect of the present disclosure, the determination output unit (22) further outputs the input range of arguments calculated by the determination execution unit (20). (Note 4) In a determination device (10) according to another aspect of the present disclosure, the processing information from the determination execution unit (20) output from the determination output unit (22) is output in a displayable format using one or more output methods from among image, file data, print, and sound. (Note 5) An editing device (40) for editing a processing program according to one aspect of the present disclosure comprises a determination device (10) as described in any of (Note 1) to (Note 4), and an editing execution unit (42) which, when the determination execution unit (20) of the determination device (10) determines that the value of the argument included in the cycle information satisfies the input range, edits the processing program acquired by the processing program acquisition unit (12) to place a cycle command including the argument determined to satisfy the input range at a designated position acquired by the designated position acquisition unit (14).(Note 6) A control device (50) for controlling a machine according to one aspect of the present disclosure comprises an editing device (40) as described in (Note 5) and a control execution unit (54) for controlling an industrial machine according to a processing program edited by the editing device (40).

[0116] 10 Judgment device 12 Processing program acquisition unit 14 Designated position acquisition unit 16 Cycle information reception unit 18 Generation unit 20 Judgment execution unit 22 Judgment output unit 40 Editing device 42 Editing execution unit 50 Control device 54 Control execution unit

Claims

1. A determination device for determining the appropriateness of a cycle command in a machining program, comprising: a machining program acquisition unit for acquiring a machining program; a designated position acquisition unit for acquiring a designated position within the machining program where a cycle command to be determined is located; a generation unit for reading the machining program and executing a machining simulation up to immediately before the designated position to generate a shape model of the workpiece; a cycle information reception unit for receiving input of cycle information including the cycle type and arguments of the cycle command to be determined; a determination execution unit for calculating the cycle path based on the cycle information, calculating the input range of the arguments based on the path and the dimensions of the shape model, and determining whether the values ​​of the arguments included in the cycle information satisfy the input range; and a determination output unit for outputting the result of the determination by the determination execution unit.

2. The determination device according to claim 1, wherein the determination execution unit calculates an input range of the argument that satisfies at least one of the following: the rapid traverse path does not intersect the shape model, and the cutting feed path intersects the shape model.

3. The determination device according to claim 1, wherein the determination output unit further outputs the input range of the argument calculated by the determination execution unit.

4. The determination device according to claim 1, wherein the processing information by the determination execution unit output from the determination output unit is output in a displayable format using one or more output methods selected from images, file data, print, and sound.

5. An editing device for editing a machining program, comprising: a determination device according to any one of claims 1 to 4; and an editing execution unit which, when the determination execution unit of the determination device determines that the value of the argument included in the cycle information satisfies the input range, edits the machining program acquired by the machining program acquisition unit to place a cycle command including the argument determined to satisfy the input range at the designated position acquired by the designated position acquisition unit.

6. A control device for controlling a machine, comprising an editing device according to claim 5, and a control execution unit that controls an industrial machine according to a processing program edited by the editing device.