Program analysis device and control system

The tool information is automatically determined through the program analysis device, which solves the tool/workpiece damage caused by tool selection errors, and achieves fast and accurate verification of machining program matching.

CN115298624BActive Publication Date: 2025-08-26FANUC LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202180021999.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-18
Filing Date
2021-03-16
Publication Date
2025-08-26
Estimated Expiration
2041-03-16

AI Technical Summary

Technical Problem

When generating a processing program, the operator needs to visually confirm the tool number table, which is prone to selection of wrong tools, resulting in collision and damage of tool and workpiece, and the trial operation confirmation of matching is time-consuming.

Method used

Through the program analysis device, the matching of the processing program is determined based on the tool information, including tool characteristics, feed direction and tool posture, and the program analysis unit, the tool information acquisition unit and the processing instruction confirmation unit, which automatically determines the matching of the instructions.

Benefits of technology

Prevent tool/workpiece damage caused by program errors such as feed direction, simplifies the matching confirmation process of processing procedures, and reduces manual intervention and trial operation time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115298624B_ABST
    Figure CN115298624B_ABST
Patent Text Reader

Abstract

A technology for simply detecting the compatibility of machining-related instructions that can be analyzed from a machining program is provided. The program analysis device (1) disclosed herein comprises: a program analysis unit (100) that analyzes the machining program and extracts instructions for selecting a tool; a tool information acquisition unit (110) that acquires tool-related information corresponding to the selected tool; and a machining instruction confirmation unit (120) that determines the compatibility of the instructions of the machining program executed with the tool selected based on the tool information acquired by the tool information acquisition unit (110).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program analyzing device and a control system, and more particularly to a program analyzing device and a control system having a function of determining compatibility of instructions in a machining program based on information related to a tool. Background Art

[0002] The control device that controls the machine tool controls the movement of each axis of the machine tool according to the machining program. The operator uses the machining program editing function to create the machining program while confirming the machine tool, the workpiece to be machined, and the tools that will machine the workpiece (for example, Patent Document 1).

[0003] In a machining program, the tool number of the tool to be used is specified using a T code. Figure 10 The corresponding relationship between tool numbers and tools is shown in the following example. For example, when "T02" is specified in the machining program, the drill (small) corresponding to tool number 02 is selected when the code is executed. Figure 10 The table of tool numbers shown as an example is used to generate a machining program.

[0004] Prior art literature

[0005] Patent Literature

[0006] Patent Document 1: Japanese Patent Application Laid-Open No. 2017-111516 Summary of the Invention

[0007] Problems to be solved by the invention

[0008] As described above, when creating a machining program while confirming tool numbers using a table, the tool number table is visually checked before the code is written into the machining program. However, if the tool number table is misread or overlooked during confirmation, the wrong tool may be selected. Furthermore, if the machining program instructions cannot be matched due to incorrect tool selection, problems such as tool collision and damage to the workpiece may occur during machining.

[0009] Figure 11 This shows an example of when the wrong tool is selected based on the machining program. Figure 11In the example, the operator originally wanted to select an end mill tool (tool number 05). However, the operator mistakenly selected a drill tool (tool number 02). An end mill tool generally has cutting edges at the front end and side of the tool, which enables the tool to be moved laterally to process the workpiece. In addition, the tool can also be moved longitudinally to process the workpiece. In contrast, a drill tool generally only has cutting edges at the front end of the tool. Therefore, the tool can be moved longitudinally to process the workpiece, but the tool cannot be moved laterally to process the workpiece. Therefore, if the end mill tool and the drill tool are selected by mistake, and the end mill tool is intended to be used but the drill tool is used, the tool or the workpiece may be damaged. For example, as in Figure 11 If the drill tool is fed in a lateral cutting motion to process the workpiece as shown in the "G01 X5.0;" command, the non-cutting edge portion of the drill tool may come into contact with the workpiece, causing damage to the tool or the workpiece.

[0010] To prevent such errors, when generating a machining program, the operator must compare the tool number table with the machining program to confirm their compatibility. However, this operation requires considerable effort on the part of the operator. Another option is to repeatedly perform test runs when generating a machining program to confirm the compatibility between the tool selection and the machining operations performed using the selected tool. However, test runs are time-consuming, leading to a desire to minimize this effort.

[0011] Therefore, a technology that can easily confirm whether the consistency of machining instructions that can be analyzed from a machining program is good or not is desired.

[0012] Means for solving problems

[0013] After selecting a tool, a program analysis device and a control system of one embodiment of the present invention determine the compatibility of the type of instructions, feed direction, tool orientation, etc. executed when the tool is selected based on processing information including information such as the characteristics of the tool, thereby solving the above-mentioned problem.

[0014] Furthermore, one embodiment of the present invention is a program analysis device that determines the matching of a machining program based on tool information, and comprises: a program analysis unit that analyzes the machining program and extracts instructions for selecting a tool; a tool information acquisition unit that acquires tool-related information corresponding to the selected tool; and a machining instruction confirmation unit that determines the matching of the instructions of the machining program executed in a state where the tool is selected based on the tool-related information acquired by the tool information acquisition unit.

[0015] Another embodiment of the present invention is a control system that determines the matching of a machining program based on tool information, the control system comprising: a program analyzing unit that analyzes the machining program and extracts instructions for selecting a tool; a tool information acquiring unit that acquires tool-related information corresponding to the selected tool; and a machining instruction confirming unit that determines the matching of the instructions of the machining program executed in a state where the tool is selected based on the tool-related information acquired by the tool information acquiring unit.

[0016] Effects of the Invention

[0017] According to one aspect of the present invention, the compatibility of commands is determined based on the tool selected in the machining program, thereby preventing damage to the tool or workpiece due to program errors such as feed direction. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 This is a schematic hardware configuration diagram of the program analysis device according to the first embodiment.

[0019] Figure 2 This is a schematic functional block diagram of the program analysis device according to the first embodiment.

[0020] Figure 3 The functions of the processing instruction confirmation unit are schematically shown.

[0021] Figure 4 This shows an example of judging the compatibility of a machining program.

[0022] Figure 5 Another example of judging the consistency of a machining program is shown.

[0023] Figure 6 An example of consistency determination when workpiece information is used is shown.

[0024] Figure 7 This is a schematic hardware configuration diagram of the program analysis device according to the second embodiment.

[0025] Figure 8 This is a schematic functional block diagram of a program analysis device according to the second embodiment.

[0026] Figure 9 This is a schematic functional block diagram of a program analysis device according to a modified example.

[0027] Figure 10 The correspondence between tool numbers and tools is shown as an example.

[0028] Figure 11 This example shows an example where a tool and a workpiece collided due to a lack of program compatibility. DETAILED DESCRIPTION

[0029] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.

[0030] Figure 1 This is a diagram schematically illustrating the hardware configuration of a program analysis device according to the first embodiment of the present invention. The program analysis device 1 of the present invention can be installed in, for example, a control device that controls industrial machinery used for processing, such as a machine tool. Furthermore, the program analysis device 1 of this embodiment can be installed in, for example, a personal computer, fog computer, cloud server, or the like connected to the control device for the machine tool via a wired or wireless network.

[0031] In this embodiment, an example is shown in which the program analyzing device 1 is incorporated into a control device for controlling a machine tool.

[0032] The program analysis device 1 of this embodiment includes a CPU 11, which is a processor that controls the entire program analysis device 1. The CPU 11 reads the system program stored in the ROM 12 via the bus 22. The CPU 11 controls the entire program analysis device 1 according to the system program. The RAM 13 temporarily stores temporary calculation data, display data, and various data input from the outside.

[0033] The non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown) or an SSD (Solid State Drive). Even if the power of the program analysis device 1 is turned off, the non-volatile memory 14 maintains the storage state. The non-volatile memory 14 stores data and processing programs read from the external device 72 via the interface 15. In addition, the non-volatile memory 14 stores data input via the input device 71, processing programs, various data obtained from the machine tool, etc. The data and processing programs stored in the non-volatile memory 14 can be expanded in the RAM 13 when executed / used. In addition, various system programs such as well-known analysis programs are pre-written in the ROM 12.

[0034] The interface 15 is an interface for connecting the CPU 11 of the program analysis device 1 to an external device 72 such as a USB device. For example, a machining program, various parameters, etc. for controlling a machine tool can be read from the external device 72. In addition, the machining program, various parameters, etc. edited in the program analysis device 1 can be stored in an external storage unit via the external device 72. The PLC (Programmable Logic Controller) 16 controls the machine tool and its peripheral devices (for example, tool changers, actuators such as robots, sensors installed on the machine tool, etc.) by outputting signals via the I / O unit 17 through the sequential program built into the program analysis device 1. In addition, the PLC 16 receives signals from various switches and peripheral devices on the operating panel equipped on the main body of the industrial machine, and passes them to the CPU 11 after performing necessary signal processing.

[0035] Data read into the memory and data obtained as a result of executing a machining program or system program are output to a display device 70 for display via the interface 18. Furthermore, an input device 71, such as a keyboard or pointing device, transmits commands and data based on operator operations to the CPU 11 via the interface 19.

[0036] The axis control circuit 30, which controls the axes of the machine tool, receives axis movement commands from the CPU 11 and outputs the axis movement commands to the servo amplifier 40. The servo amplifier 40 receives these commands and drives the servo motor 50 to move the axes of the machine tool. The servo motor 50 for the axis has a built-in position / speed detector. The servo motor 50 feeds the position / speed feedback signal from the position / speed detector back to the axis control circuit 30, performing position / speed feedback control.

[0037] exist Figure 1 The hardware diagram shows only one axis control circuit 30, servo amplifier 40, and servo motor 50. However, in practice, these circuits are prepared according to the number of axes in the machine tool being controlled. For example, when controlling a typical machine tool, three sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 are prepared to move the spindle with the tool attached relative to the workpiece along the three orthogonal axes (X, Y, and Z).

[0038] The spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives this spindle speed signal and rotates the machine tool's spindle motor 62 at the commanded speed, thereby driving the tool. A position encoder 63 is integrated into the spindle motor 62. The position encoder 63 outputs feedback pulses in sync with the spindle's rotation. These feedback pulses are read by the CPU 11.

[0039] Figure 2 The functions of the program analysis device 1 according to the first embodiment of the present invention are schematically shown in a block diagram. Figure 1 This is achieved by the CPU 11 included in the program analysis device 1 shown executing a system program to control the operation of each unit of the program analysis device 1 .

[0040] The program analysis device 1 of this embodiment includes a program analysis unit 100, a tool information acquisition unit 110, a machining instruction confirmation unit 120, a determination result output unit 130, and a control unit 140. Furthermore, a machining program 200 acquired from an input device 71, an external device 72, or the like is pre-stored in the RAM 13 or non-volatile memory 14 of the program analysis device 1. Furthermore, a tool information storage unit 210 is pre-prepared in the RAM 13 or non-volatile memory 14 of the program analysis device 1. This tool information storage unit 210 is an area that pre-stores information related to tools.

[0041] The program analysis unit 100 is implemented by the CPU 11 executing a system program read from the ROM 12, with the CPU 11 performing calculations primarily using the RAM 13 and the non-volatile memory 14. The program analysis unit 100 pre-reads a block of program instructions for the motion instructions of the machine tool 2 from the machining program 200 and performs analysis. Based on the analysis results, the program analysis unit 100 generates instruction data for instructing the motion of the servo motor 50 and the spindle motor 62 included in the machine tool 2. The program analysis unit 100 outputs the generated instruction data to the machining instruction confirmation unit 120. In addition, the program analysis unit 100 extracts a tool selection instruction (T code) from the pre-read instruction and outputs the tool number of the tool selected according to the tool selection instruction to the tool information acquisition unit 110.

[0042] The tool information acquisition unit 110 is implemented primarily by the CPU 11 executing a system program read from the ROM 12, with the CPU 11 performing computational processing using the RAM 13 and non-volatile memory 14. The tool information acquisition unit 110 acquires information related to the tool selected based on the tool selection command extracted by the program analysis unit 100. The tool information acquisition unit 110 may also acquire information related to the tool corresponding to the tool number from the tool information storage unit 210 based on the tool number input from the program analysis unit 100. The tool-related information acquired by the tool information acquisition unit 110 includes, for example, information related to commands executed when the tool is selected, commands not executable when the tool is selected, feed directions that can be cut with the tool, feed directions that cannot be cut with the tool, tool modifications that can be specified for the tool, tool modifications that cannot be specified for the tool, and the tool's mounting posture, etc., related to commands used during machining with the tool.

[0043] The processing instruction confirmation unit 120 is realized by the CPU 11 executing the system program read from the ROM 12, and mainly by the CPU 11 performing calculation processing using the RAM 13 and the non-volatile memory 14. The processing instruction confirmation unit 120 determines the compatibility of the instructions of the processing program 200 analyzed by the program analysis unit 100 based on the information related to the tool obtained by the tool information acquisition unit 110. The processing instruction confirmation unit 120 extracts the instructions executed in the state where the tool is selected according to the tool selection instruction from the instructions of the processing program 200. The processing instruction confirmation unit 120 determines the compatibility of the extracted instructions based on the information related to the selected tool. Figure 3 As shown, the machining command confirming unit 120 includes at least one of a command code confirming unit 122 , a feed direction confirming unit 124 , and a tool posture confirming unit 126 .

[0044] The instruction code confirmation unit 122 determines the compatibility of instructions in the machining program 200 based on information related to instruction codes included in the tool-related information acquired by the tool information acquisition unit 110. If the tool-related information acquired by the tool information acquisition unit 110 includes, for example, information related to instructions that can be executed when the tool is selected (hereinafter referred to as executable instruction information), and if instructions in the machining program 200 that are executed with the tool selected according to the tool selection instruction include instructions that do not fall within the executable instruction information, the instruction code confirmation unit 122 determines that the instructions are not compatible. Furthermore, if the tool-related information acquired by the tool information acquisition unit 110 includes, for example, information related to instructions that cannot be executed when the tool is selected (hereinafter referred to as inexecutable instruction information), and if instructions in the machining program 200 that are executed with the tool selected according to the tool selection instruction include instructions that fall within the inexecutable instruction information, the instruction code confirmation unit 122 determines that the instructions are not compatible.

[0045] The feed direction confirmation unit 124 determines the compatibility of the feed direction according to the instructions in the machining program 200 based on the information related to the feed direction included in the information related to the tool acquired by the tool information acquisition unit 110. For example, the information related to the tool acquired by the tool information acquisition unit 110 includes information related to feed directions that can be cut by the tool (hereinafter referred to as machinable feed direction information). If, among the instructions in the machining program 200, a command executed with the tool selected according to the tool selection command includes a command for cutting and feeding in a direction that does not fall within the machinable feed direction information, the feed direction confirmation unit 124 determines that the command is not compatible. In addition, when the tool-related information acquired by the tool information acquisition unit 110 includes, for example, information related to a feed direction that cannot be cut by the tool (hereinafter referred to as non-cuttable feed direction information), in the instructions of the machining program 200, when the instructions executed in a state where the tool is selected according to the tool selection instruction include an instruction to cut and feed in a direction entering the non-cuttable feed direction information, the feed direction confirmation unit 124 determines that the instruction is an instruction that does not obtain matching.

[0046] The tool posture confirmation unit 126 determines the compatibility between the tool posture according to the instructions in the machining program 200 and the coordinate system specified by the machining program 200 based on information related to the tool installation posture, etc., included in the tool-related information acquired by the tool information acquisition unit 110. If the information related to the tool installation posture acquired by the tool information acquisition unit 110 includes, for example, a maximum angle of tool tilt (hereinafter referred to as the maximum tool tilt angle), and a command executed with the tool selected according to the tool selection command includes a command to change the tool posture so that the tool tilt exceeds the maximum tool tilt angle, the tool posture confirmation unit 126 determines that the command is not compatible. Furthermore, if, for example, a command in the machining program 200 executed with the tool selected according to the tool selection command does not include a command to change the tool posture, such as a command to drive the rotary B-axis to tilt the tool posture, or a command to change the feature coordinate system to match the changed tool posture, the tool posture confirmation unit 126 determines that the command is not compatible.

[0047] If the machining command confirmation unit 120 determines that the commands in the machining program 200 do not match, it outputs a message to that effect to the determination result output unit 130. Furthermore, the machining command confirmation unit 120 of this embodiment outputs command data related to the commands that do match to the control unit 140. On the other hand, if the machining command confirmation unit 120 determines that there are commands that do not match, it instructs the control unit 140 to suspend execution of control operations related to machining by the machine tool 2.

[0048] The determination result output unit 130 is implemented by the CPU 11 executing a system program read from the ROM 12, primarily by the CPU 11 performing computations using the RAM 13 and non-volatile memory 14, and performing input and output processing using the interfaces 18 and 19. The determination result output unit 130 displays the consistency determination results of the instructions in the machining program 200, obtained by the machining instruction confirmation unit 120, on the display device 70. The determination result output unit 130 may also output information about the tool selected when executing an instruction that did not achieve consistency, along with the consistency determination results. The determination result output unit 130 may also output the consistency determination results obtained by the machining instruction confirmation unit 120 as a log to the non-volatile memory 14. Furthermore, the determination result output unit 130 may transmit the consistency determination results obtained by the machining instruction confirmation unit 120 to a management device such as a host computer via a network (not shown).

[0049] The control unit 140 is implemented by the CPU 11 executing a system program read from the ROM 12. The CPU 11 primarily performs computations using the RAM 13 and nonvolatile memory 14, and controls various components of the machine tool 2 using the axis control circuit 30, the spindle control circuit 60, and the PLC 16. The control unit 140 controls various components of the machine tool 2 based on command data analyzed by the program analysis unit 100. For example, based on commands for moving the axes of the machine tool 2, the control unit 140 generates data related to the movement of the axes and outputs it to the servo motor 50. Furthermore, based on commands for rotating the spindle of the machine tool 2, the control unit 140 generates data related to the rotation of the spindle and outputs it to the spindle motor 62. Furthermore, based on commands for operating peripheral devices of the machine tool 2, the control unit 140 generates predetermined signals for operating the peripheral devices and outputs them to the PLC 16. Meanwhile, the control unit 140 obtains the states of the servo motor 50 and the spindle motor 62 (motor current value, position, speed, acceleration, torque, etc.) as feedback values, and uses them for various control processes.

[0050] use Figure 4 、 Figure 5 An operation example of the program analysis device having the above-described configuration will be described.

[0051] Figure 4 The example shows the operation of the program analysis device 1 when the end mill tool (tool number 04) was originally intended to be used in the machining program, but the drill tool (tool number 01) was mistakenly selected by the tool selection command. In addition, the tool information storage unit 210 pre-stores the G codes such as G00, G01, G81 and M codes such as M03 as executable command information in the tool information related to the drill tool, and the Z-axis negative direction (-Z) as the cutting feed direction. Then, the operator wants to write a program for machining using the end mill tool, but Figure 4 As shown in the example on the left, a machining program is mistakenly generated in which T01 (drilling tool) is selected by the tool selection command.

[0052] The program analysis device 1 of this embodiment, instructed to execute such a machining program, sequentially pre-reads the machining program. Then, upon determining that the drill tool with tool number 01 has been selected by the T01 command, the tool information acquisition unit 110 acquires information related to the drill tool from the tool information storage unit 210. The machining instruction confirmation unit 120 then determines the compatibility of the machining program instructions based on the acquired tool information.

[0053] Since the M03, G00, and G01 commands are included in the executable command information of the tool-related information, the command code confirmation unit 122 determines that these commands are compatible. On the other hand, since the G03 command is not included in the executable command information of the tool-related information, the command code confirmation unit 122 determines that this command is not compatible.

[0054] The feed direction confirmation unit 124 responds to the cutting feed instruction (in Figure 4 In the example of the G01 command and the G03 command, the commands whose feed direction matches the negative Z-axis direction ("G01 Z-5.0F45.0;") are judged to be compatible. On the other hand, commands whose feed direction does not match the negative Z-axis direction ("G01 X3.0;" and "G03 X5.0 Y5.0;") are judged to be incompatible.

[0055] The tool posture confirmation unit 126 determines the compatibility based on the tool posture of the drill tool. Figure 4 In the example of , since no command related to the change of the tool posture and no command to change the coordinate system are issued, it is determined that all the commands have achieved consistency.

[0056] Furthermore, for commands ("G01 X3.0;" and "G03 X5.0 Y5.0;") that were determined to be incompatible at any point, the determination result is displayed on the display device 70 by the determination result output unit 130, along with information about the selected tool (drilling tool). The operator can view this display and re-evaluate the incompatible commands and select a tool. For example, the operator, viewing this display, can change the tool selection command to select the correct tool, namely the end mill tool (tool number T04), thereby correcting the machining program.

[0057] Figure 5 The following illustrates the operation of the program analysis device 1 when a drilling operation on an inclined surface of a workpiece is performed using a drill tool with a tilting head (tool number 01) in a machining program without performing three-dimensional coordinate transformation. The tool information storage unit 210 pre-stores executable command information, including G codes such as G00, G01, and G81, M codes such as M03, and the Z-axis negative direction (-Z), which is the cutting feed direction, in tool information related to the drill tool.

[0058] The program analysis device 1 of this embodiment, instructed to execute such a machining program, sequentially pre-reads the machining program. Then, upon determining that the drill tool with tool number 01 has been selected by the T01 command, the tool information acquisition unit 110 acquires information related to the drill tool from the tool information storage unit 210. The machining instruction confirmation unit 120 then determines the compatibility of the machining program instructions based on the acquired tool information.

[0059] Since the M03 command, the G00 command, and the G01 command are included in the executable command information of the tool-related information, the command code confirmation unit 122 determines that these commands are compatible.

[0060] The feed direction confirmation unit 124 responds to the cutting feed instruction (in Figure 5 In the example, the feed direction in the G01 command) is consistent with the negative direction of the Z axis which is the cutting feed direction ("G01 Z-5.0F45.0;"), and is determined to be a compatible command.

[0061] On the other hand, the tool posture confirmation unit 126 determines the compatibility based on the tool posture of the drill tool with the tilted head. Figure 5 In the example shown in FIG, a command related to a tool posture change ("G00B30.0;") is being executed. However, the corresponding three-dimensional coordinate transformation command is not being executed. Therefore, the tool posture confirmation unit 126 determines that the command related to the tool posture change and the subsequent feed command are incompatible.

[0062] Then, for commands that are determined to be mismatched at any point, the judgment result output unit 130 displays the judgment result on the display device 70, along with information about the selected tool (a tilting head drill tool). The operator can review the mismatched commands and select the right tool by observing this display. For example, the operator viewing this display can add "G68X0.Y0.Z0.I0.J1.K0.R30.;" as a three-dimensional coordinate conversion command after "G00 B30.0;" to correct the machining program.

[0063] The program analysis device 1 of this embodiment, having the above-described structure, can determine the compatibility of the instructions corresponding to the selected tool in the machining program. This allows the operator to re-evaluate the machining program without significant effort. This prevents damage to the tool or workpiece caused by incorrect tool selection, machining-related instructions, feed direction, and other program errors.

[0064] As a variation of the program analysis device 1 of the present embodiment, the program analysis device 1 can also use the information of the workpiece to be processed in the determination of the matching of the instructions of the machining program. In the control device, the G00 instruction is processed as a fast forward instruction, and the G01 instruction is processed as a cutting feed instruction. When generating a machining program, the G00 instruction is generally used in the path where the workpiece is not machined, and the G01 instruction is used in the path where the workpiece is machined. However, depending on the situation, the G01 instruction is sometimes used in the path where the workpiece is not machined. Therefore, the workpiece information including information such as the size and shape of the workpiece is obtained, and the machining instruction confirmation unit 120 can process the cutting feed instruction executed at a position where the tool and the workpiece are not in contact as an instruction that is not a cutting feed. By configuring in this way, for example, the feed direction confirmation unit 124 of the machining instruction confirmation unit 120 determines that the cutting feed instruction that is not accompanied by contact between the tool and the workpiece is an instruction that has obtained matching. As Figure 6 As shown in the example, when machining a workpiece using a contour turning tool, if the workpiece is separated by the G01 instruction (cutting feed instruction), cutting feed is performed in a direction not included in the machinable feed direction information. Even in such a case, the feed direction confirmation unit 124 makes a judgment by considering the workpiece information and sets the feed direction to the direction that is not included in the machinable feed direction information. Figure 6 The command "G01 X5.0 Z30.;" in the command is judged as a compatible command. This allows for more flexible compatibility judgments related to cutting feed commands.

[0065] Figure 7This is a schematic hardware configuration diagram showing a program analysis device according to a second embodiment of the present invention. In this embodiment, an example is shown in which the program analysis device 1 is installed in a computer connected to a machine tool (a control device that controls the machine tool) via a network.

[0066] The program analysis device 1 of the present embodiment constitutes a control system 300 connected to a machine tool (a control device that controls the machine tool) via a network.

[0067] The program analysis device 1 of this embodiment includes a CPU 11 , a ROM 12 , a RAM 13 , and a nonvolatile memory 14 similarly to the program analysis device 1 of the first embodiment, and performs input and output processing with a display device 70 and an input device 71 via interfaces 18 and 19 .

[0068] The interface 20 is used to connect the CPU 11 of the program analysis device 1 of this embodiment to the wired or wireless network 5. The network 5 is connected to the machine tool 2, fog computer 6, cloud server 7, etc., and these devices and the program analysis device 1 exchange data with each other.

[0069] Figure 8 The functions of the program analysis device 1 according to the second embodiment of the present invention are shown as a schematic block diagram. Figure 1 This is achieved by the CPU 11 included in the program analysis device 1 shown executing a system program to control the operation of each unit of the program analysis device 1 .

[0070] The program analysis device 1 of this embodiment includes a program analysis unit 100, a tool information acquisition unit 110, a machining instruction confirmation unit 120, a determination result output unit 130, and a communication unit 150. Furthermore, a machining program 200 acquired from an input device 71, an external device 72, or the like is pre-stored in the RAM 13 or non-volatile memory 14 of the program analysis device 1. Furthermore, a tool information storage unit 210 is pre-prepared in the RAM 13 or non-volatile memory 14 of the program analysis device 1. This tool information storage unit 210 is an area that pre-stores information related to tools.

[0071] The program analyzing unit 100 , tool information acquiring unit 110 , machining instruction confirming unit 120 , and determination result output unit 130 included in the program analyzing device 1 of this embodiment have the same functions as those of the program analyzing device 1 of the first embodiment.

[0072] The communication unit 150 is implemented by the CPU 11 executing a system program read from the ROM 12, with the CPU 11 primarily performing computations using the RAM 13 and non-volatile memory 14, and performing input and output processing using the interface 20. The communication unit 150 exchanges machining programs 200 with the machine tool 2, the fog computer 6, the cloud server 7, a program generator (not shown), a simulator, a CAD / CAM system, and the like, and transmits the results of compatibility checks on the machining programs 200. Furthermore, if the machining instruction confirmation unit 120 determines that any instructions in the machining program 200 are incompatible, the communication unit 150 can send a command to the machine tool 2 via the network, causing it to interrupt machining-related operations.

[0073] The program analysis device 1 of this embodiment, having the above-described structure, can receive machining programs executed by a machine tool 2, machining programs stored in a fog computer 6, a cloud server 7, or the like, or machining programs generated by a program generation device (not shown), a simulator, a CAD / CAM device, or the like, determine the compatibility of the instructions in the received machining program, and return the determination result. Therefore, the compatibility of the machining program can be determined before the control device actually executes the machining program, allowing the program to be corrected.

[0074] As mentioned above, although one embodiment of the present invention has been described, the present invention is not limited to the example of the above embodiment, and can be implemented in various forms by adding appropriate changes.

[0075] For example, the program analysis device 1 of the first embodiment and the second embodiment has a tool information storage unit 210 in the internal memory. However, the tool information storage unit 210 may be set in an external host computer, fog computer, cloud server, etc., and the tool information may be obtained via the network. Figure 9 As shown, by providing the tool information storage unit 210 in the cloud server 7, tool information can be shared among a plurality of program analysis devices 1. This allows tool information shared among a plurality of factories to be centrally maintained.

[0076] Description of Reference Numerals

[0077] 1Program analysis device

[0078] 2 Machine Tools

[0079] 5. Network

[0080] 6. Fog Computer

[0081] 7 Cloud Servers

[0082] 11CPU

[0083] 12ROM

[0084] 13 RAM

[0085] 14 Non-volatile memory

[0086] Interfaces 15, 18, 19, and 20

[0087] 16PLC

[0088] 17 I / O units

[0089] 22 bus

[0090] 30-axis control circuit

[0091] 40 servo amplifier

[0092] 50 servo motor

[0093] 60 spindle control circuit

[0094] 61 spindle amplifier

[0095] 62 spindle motor

[0096] 63 position encoder

[0097] 70 display device

[0098] 71 Input device

[0099] 72 external devices

[0100] 100 Program Analysis Department

[0101] 110 Tool Information Acquisition Department

[0102] 120 Processing Instruction Confirmation Department

[0103] 122 instruction code confirmation unit

[0104] 124 Feed direction confirmation unit

[0105] 126 Tool posture confirmation unit

[0106] 130 judgment result output unit

[0107] 140 Control Department

[0108] 150 Department of Communications

[0109] 200 processing procedures

[0110] 210 Tool Information Storage Unit

[0111] 300 control system.

Claims

1. A program analysis device that determines the compatibility of a machining program based on tool information, characterized in that: The program analysis device comprises: a program analysis unit that analyzes the machining program and extracts instructions for selecting tools; a tool information acquisition unit that acquires tool-related information corresponding to the selected tool; and a machining instruction confirmation unit that determines compatibility of instructions of the machining program executed with the tool selected based on the information about the tool acquired by the tool information acquisition unit; The processing instruction confirmation unit includes a tool posture confirmation unit, The tool posture confirmation unit determines the consistency between the actual orientation of the selected tool and the coordinate system specified by the machining program based on the information related to the installation posture of the tool included in the information related to the tool acquired by the tool information acquisition unit. The tool posture confirmation unit determines whether the instructions of the machining program executed with the tool selected include an instruction to drive the rotating axis to tilt the tool posture and an instruction to change the feature coordinate system in accordance with the changed tool posture. If neither of the instructions appears, it is determined that the instructions of the machining program executed with the tool selected are not matched.

2. The program analysis device according to claim 1, wherein The program analysis device further includes a tool information storage unit that stores a tool number and information related to the tool corresponding to the tool number in association with each other. The tool information acquisition unit acquires information related to the selected tool from the tool information storage unit based on a tool number specified by the command for selecting a tool extracted by the program analysis unit.

3. The program analysis device according to claim 1, wherein The processing instruction confirmation unit includes an instruction code confirmation unit, The command code confirmation unit determines consistency of commands in the machining program based on information related to the command code indicated by the information related to the selected tool.

4. The program analysis device according to claim 1, wherein The processing instruction confirmation unit includes a feed direction confirmation unit, The feed direction confirmation unit determines consistency of the feed direction with the instruction in the machining program based on information related to the feed direction indicated by the information related to the selected tool.

5. The program analysis device according to claim 3 or 4, characterized in that The machining instruction confirmation unit acquires workpiece information of a workpiece machined by the machining program, and determines consistency with a feed instruction determined to be actually cutting the workpiece based on the acquired workpiece information and the machining program.

6. The program analysis device according to claim 1, wherein The program analysis device further includes a display unit configured to display a portion where the consistency is not achieved when the processing instruction confirmation unit determines that the consistency is not achieved.

7. The program analysis device according to claim 1, wherein The program analysis device further includes a control unit that controls an industrial machine that performs processing based on the processing program. When the processing instruction confirmation unit determines that the consistency is not achieved, the control unit interrupts control related to processing of the industrial machine.

8. A control system that determines the compatibility of a machining program based on tool information, characterized in that: The control system comprises: a program analysis unit that analyzes the machining program and extracts instructions for selecting tools; a tool information acquisition unit that acquires tool-related information corresponding to the selected tool; and a machining instruction confirmation unit that determines compatibility of instructions of the machining program executed with the tool selected based on the information about the tool acquired by the tool information acquisition unit; The processing instruction confirmation unit includes a tool posture confirmation unit, The tool posture confirmation unit determines the consistency between the actual orientation of the selected tool and the coordinate system specified by the machining program based on the information related to the installation posture of the tool included in the information related to the tool acquired by the tool information acquisition unit. The tool posture confirmation unit determines whether the instructions of the machining program executed with the tool selected include instructions for driving the rotating axis to tilt the tool posture and instructions for changing the feature coordinate system in accordance with the changed tool posture. If neither of the instructions appears, it is determined that the instructions of the machining program executed with the tool selected do not match.

9. The control system according to claim 8, characterized in that: The control system further includes a tool information storage unit that stores a tool number and information related to the tool corresponding to the tool number in association with each other. The tool information acquisition unit acquires information related to the selected tool from the tool information storage unit based on a tool number specified by the command for selecting a tool extracted by the program analysis unit.

10. The control system according to claim 8, characterized in that: When the machining instruction confirmation unit determines that the consistency is not achieved, the machining instruction confirmation unit instructs the industrial machine that performs machining based on the machining program to interrupt the operation related to the machining.

Citation Information

Patent Citations

  • Processing program editing device and machine tool including the same

    JP2017111516A

  • Numerical control apparatus provided with interference checking function

    JP2008027045A

  • Numerical controller equipped with program correction assist function for resolving alarm

    JP2017211872A

  • Control apparatus for machine tool

    WO2015097887A1