Program analysis device

By dividing the process and calculating the differential integral value of the processing program, reordering the process to show the maximum difference between the instruction speed and the actual speed, the process is solved, and the problem of inconsistent with the instruction speed is achieved, and the cycle time is shortened and processing efficiency is achieved. promote.

CN112904802BActive Publication Date: 2025-02-07FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202011298688.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-19
Filing Date
2020-11-19
Publication Date
2025-02-07
Estimated Expiration
2040-11-19

AI Technical Summary

Technical Problem

In the processing procedures of industrial machinery, the actual feed speed often does not match the command speed, resulting in a prolonged cycle time and it is difficult for the operator to effectively correct the processing procedures to improve speed consistency.

Method used

By dividing the processing program by process, the difference integral value of the instruction speed and the actual speed is calculated, and the process is reordered so that the operator can clearly identify the process with the greatest correction effect.

Benefits of technology

This enables the operator to quickly identify and optimize the process that affects the maximum difference between the actual speed and the command speed, thereby shortening cycle time and improving processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112904802B_ABST
    Figure CN112904802B_ABST
Patent Text Reader

Abstract

The present invention provides a program analysis device. The program analysis device divides a machining program into processes, obtains the command speed of the machining program according to each divided process, and measures the actual speed of the axis of each process when the machining of the machining program is performed. In addition, the integral value of the difference between these command speeds and the actual speed is calculated, the order of the processes is reordered based on the integral value, and screen data for displaying the reordered processes in order is generated. The present invention provides a support technology for effectively improving the difference between the command speed of the machining program and the actual speed of the axis movement of the machine tool through the screen data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program analyzing device. Background Art

[0002] The control device for controlling industrial machinery such as machine tools and injection molding machines controls the operation of the industrial machinery according to the control program generated by the operator. When the control device generates a processing program for controlling the machine tool, the operator determines the command speed of the axis based on the specifications of the tool used for processing, the required surface roughness of the workpiece after processing, etc.

[0003] However, due to various reasons exemplified below, the feed speed in actual machining may not conform to the instruction of the machining program.

[0004] 1) Inertia, acceleration and deceleration of the machine tool or its motor

[0005] 2) Instructions that exceed the hardware capabilities of the control device

[0006] 3) Processing paths with multiple acceleration and deceleration

[0007] 4) The upper speed limit is set incorrectly

[0008] In order to solve these various problems, the operator studies the writing method of the machining program and makes the feed speed close to the speed according to the program instruction, thereby shortening the cycle time. In addition, for example, Japanese Patent Publication No. 2017-126199 and Japanese Patent Publication No. 2017-194904 disclose a technology for grasping the difference between the instruction speed and the actual speed.

[0009] When the operator corrects the machining program, he needs to know not only the instruction unit, but also the process in which the actual speed deviates from the instruction speed of the machining program. In addition, since it takes a lot of effort to correct all the processes of the machining program, it is desirable to correct the machining program effectively for the process with the largest correction effect if possible. However, it is difficult to fully understand the degree of improvement effect in each process. Summary of the invention

[0010] Therefore, a support technology for effectively improving the difference between the command speed of a machining program and the actual speed of axis movement of a machine tool is required.

[0011] The program analysis device of the present invention divides the machining program into steps, and obtains the command speed (composite speed of each axis) based on the machining program and the actual speed of the axis movement of the machine tool for each step. Then, the integral value of the difference between the command speed and the actual speed is obtained, and the steps are arranged and displayed in descending order.

[0012] Furthermore, one embodiment of the program analysis device of the present invention is to obtain the difference between the command speed of the instruction of the machining program for an axis of a machine that is a control object and the actual speed of the axis when the machining program is executed according to a predetermined machining unit composed of a plurality of program blocks in the machining program, and the program analysis device comprises: a process division unit that divides the machining program into processes; a command speed calculation unit that obtains the command speed of the machining program according to each process divided by the process division unit; an actual speed measurement unit that measures the actual speed of the axis in each process when the machining of the machining program is performed; a difference calculation unit that calculates the integral value of the difference between the command speed obtained by the command speed calculation unit and the actual speed measured by the actual speed measurement unit; a process reordering unit that reorders the order of the processes according to the integral value of the difference between the command speed and the actual speed calculated by the difference calculation unit; and a result screen generation unit that generates screen data for sequentially displaying the processes reordered by the process reordering unit.

[0013] The result screen generator may display, in a graph form, an integrated value of a difference between a command speed and an actual speed of each process when sequentially displaying the processes rearranged by the process rearrangement unit.

[0014] The program analysis device further includes a simulation unit that simulates movement of the axis included in the machine when the machining program is executed, and the actual speed measurement unit regards the speed of the axis calculated by the simulation unit as the actual speed.

[0015] The program analysis device further includes a suggestion generating unit that generates suggestions for improvement points for the machining program based on an integrated value of a difference between a command speed and an actual speed of each process in the graph shape generated by the result screen generating unit.

[0016] According to the program analysis device of the present invention, by having the above-described configuration, the operator can understand at a glance which process has a greater correction effect. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 This is a schematic hardware configuration diagram of a program analysis device according to one embodiment.

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

[0019] Figure 3 This is a diagram illustrating the difference between the command speed and the actual speed.

[0020] Figure 4 It means that according to the command speed v c With actual speed vr A diagram of an example of reordering the steps in order from large to small by the integrated value of the difference between them.

[0021] Figure 5 is the actual speed v r Reaching the limit at a fixed speed without rising to the command speed v c FIG. 1 is an example of the case of FIG.

[0022] Figure 6 is the actual speed v r The result of acceleration and deceleration is repeated, and the actual speed v r Not rising to the command speed v c FIG. 1 is an example of the case of FIG.

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

[0024] Figure 8 This is a schematic functional block diagram of a program analysis device according to a third embodiment.

[0025] Fig. 9 is a diagram showing an example of suggestion data.

[0026] Fig.10 This is a diagram illustrating the difference between the command speed and the motor command speed and the actual speed.

[0027] Fig.11 This is a diagram for explaining the flow of speed calculation processing within the control device. DETAILED DESCRIPTION

[0028] Figure 1 This is a schematic hardware configuration diagram showing the main parts of a program analysis device according to one embodiment of the present invention.

[0029] The program analysis device 1 of the present invention can be installed as a control device for controlling a machine tool, for example. In addition, the program analysis device 1 of the present invention can be installed on a personal computer arranged in parallel with the control device for controlling a machine tool, a personal computer connected to the control device via a wired / wireless network, a cell computer, a fog computer, or a cloud server. In the embodiment of the present invention described below, the program analysis device 1 is installed on the control device for controlling a machine tool.

[0030] The CPU 11 included in the program analysis device 1 of the present embodiment is a processor that controls the entire program analysis device 1. The CPU 11 reads a system program stored in the ROM 12 via the bus 22, and controls the entire program analysis device 1 according to the system program. Temporary calculation data, display data, various data input from the outside, and the like are temporarily stored in the RAM 13.

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

[0032] 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. used in the control of 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 outputs signals to the machine tool and the peripheral devices of the machine tool (for example, tool changers, actuators such as robots, sensors installed on the machine tool, etc.) through the timing program built into the program analysis device 1 via the I / O unit 17 for control. In addition, the signals of various switches, peripheral devices, etc. of the operating panel equipped with the main body of the machine tool are received, and after necessary signal processing, they are transmitted to the CPU 11.

[0033] The display device 70 outputs and displays various data read from the memory, data obtained as a result of executing a machining program, a system program, etc., via the interface 18. In addition, the input device 71 composed of a keyboard, a pointing device, etc. transmits instructions, data, etc. based on the operator's operation to the CPU 11 via the interface 19.

[0034] The axis control circuit 30 for controlling the axis of the machine tool receives the axis movement instruction from the CPU 11 and outputs the axis instruction to the servo amplifier 40. The servo amplifier 40 receives the instruction and drives the servo motor 50 for moving the axis of the machine tool. The servo motor 50 of the axis has a built-in position and speed detector, and the position and speed feedback signals from the position and speed detector are fed back to the axis control circuit 30 to perform position and speed feedback control. Figure 1In the hardware structure diagram of FIG, only one axis control circuit 30, servo amplifier 40, and servo motor 50 are shown, but in reality, only the number of axes of the machine tool to be controlled is prepared. For example, when controlling a general machine tool, three sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 are prepared to relatively move a workpiece and a spindle to which a tool is mounted in three linear axes (X-axis, Y-axis, and Z-axis).

[0035] The spindle control circuit 60 receives the spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal and rotates the spindle motor 62 of the machine tool at the commanded rotation speed to drive the tool. The spindle motor 62 is coupled to a position encoder 63, which outputs feedback pulses in synchronization with the rotation of the spindle, and the feedback pulses are read by the CPU 11.

[0036] Figure 2 Functions included in the program analysis device 1 according to the first embodiment of the present invention are shown as a schematic block diagram.

[0037] The functions of the program analysis device 1 of this embodiment are Figure 1 This is realized by the CPU 11 included in the program analysis device 1 executing a system program to control the operation of each unit of the program analysis device 1 .

[0038] The program analysis device 1 of the present embodiment includes a control unit 100, an actual speed measuring unit 110, a process dividing unit 120, a command speed calculating unit 130, a difference calculating unit 140, a process reordering unit 150, and a result screen generating unit 160. In addition, a machining program 200 acquired from an input device 71, an external device 72, etc. is pre-stored in the RAM 13 and the non-volatile memory 14 of the program analysis device 1. In addition, a speed data storage unit 210 is pre-prepared in the RAM 13 and the non-volatile memory 14 of the program analysis device 1 as an area for storing command speeds related to commands of the machining program 200 and actual speeds of axes when the machine tool 2 is controlled based on the machining program 200.

[0039] implement Figure 1 The system program read from the ROM 12 by the CPU 11 of the program analysis device 1 shown in the figure mainly implements the control unit 100 by performing arithmetic processing using the RAM 13 and the nonvolatile memory 14 and control processing of each part of the machine tool 2 using the axis control circuit 30, the spindle control circuit 60, and the PMC 16. The control unit 100 analyzes the program blocks of the machining program 200 and controls each part of the machine tool 2 based on the analysis result.

[0040] For example, when a program block of the machining program 200 instructs to move each axis of the machine tool 2, the control unit 100 generates movement instruction data according to the instruction of the program block, and outputs the generated movement instruction data to the servo motor 50. In addition, when a program block of the machining program 200 instructs to rotate the spindle of the machine tool 2, the control unit 100 generates spindle rotation instruction data according to the instruction of the program block, and outputs the generated spindle rotation instruction data to the spindle motor 62. Furthermore, when a program block of the machining program 200 instructs to operate a peripheral device of the machine tool 2, the control unit 100 generates a predetermined signal for operating the peripheral device, and outputs the generated signal to the PLC 16. On the other hand, the control unit 100 obtains the status of the servo motor 50 and the spindle motor 62 (motor current value, position, speed, acceleration, torque, etc.), and uses the obtained data for each control process.

[0041] By executing Figure 1 The system program read from the ROM 12 by the CPU 11 of the program analysis device 1 shown in the figure is mainly processed by the CPU 11 using the RAM 13 and the non-volatile memory 14, thereby realizing the actual speed measuring unit 110. The actual speed measuring unit 110 calculates the composite speed of each axis based on the actual speed of each axis obtained by the control unit 100, and stores the calculated composite speed of each axis as actual speed data in the speed data storage unit 210. The actual speed data at least includes the correspondence relationship with the time from the execution of each program block of the machining program 200.

[0042] By executing Figure 1 The system program read from the ROM 12 by the CPU 11 of the program analysis device 1 shown in the figure is mainly processed by the CPU 11 using the RAM 13 and the non-volatile memory 14, thereby realizing the process division unit 120. The process division unit 120 divides each program block included in the processing program 200 into processes. In the present invention, a process refers to a predetermined processing unit composed of a plurality of program blocks in the processing program 200.

[0043] The process dividing unit 120 may, for example, divide the program blocks included in the process program 200 by process, using the tool change command recorded in the process program 200 as a dividing position. The process dividing unit 120 may, for example, divide the program blocks included in the process program 200 by process, using the specific auxiliary command (auxiliary command indicating the predetermined dividing position of the process program 200) recorded in the process program 200 as a dividing position. The process dividing unit 120 may, for example, divide the program blocks included in the process program 200 by process, using the comments in a predetermined format recorded in the process program 200 by the operator (comments indicating the predetermined dividing position of the process program 200) as a dividing position. The process dividing unit 120 may, for example, divide the program blocks included in the process program 200 by process, using the subroutine of the process program 200 as a unit of process. In addition to the above, the process dividing unit 120 may divide the program blocks included in the process program 200 by process, using a plurality of program blocks that allow the operator to recognize one machining shape as a series of program blocks formed on the workpiece as a unit of process.

[0044] By executing Figure 1 The system program read from the ROM 12 by the CPU 11 of the program analysis device 1 shown in the figure is mainly processed by the CPU 11 using the RAM 13 and the non-volatile memory 14, thereby realizing the command speed calculation unit 130. The command speed calculation unit 130 analyzes the machining program 200, obtains the composite speed of each axis commanded by the program block of the machining program 200, and stores the obtained composite speed of each axis in the speed data storage unit 210 as command speed data. The command speed calculation unit 130 obtains the composite speed of each axis based on, for example, the speed indicated by the F command of the program block of the machining program 200, a preset default command speed, etc. The command speed data at least includes a correspondence relationship with the time from the execution of each program block of the machining program 200. In addition, the command speed data is stored in the speed data storage unit 210 for each process divided by the process division unit 120. At this time, the command speed data may also change within the process.

[0045] By executing Figure 1The system program read from the ROM 12 by the CPU 11 of the program analysis device 1 shown in the figure is mainly processed by the CPU 11 using the RAM 13 and the non-volatile memory 14, thereby realizing the difference calculation unit 140. The difference calculation unit 140 calculates the difference between the command speed and the actual speed of the command of the program block in the machining program 200 for each process based on the command speed data and the actual speed data stored in the speed data storage unit 210. The difference calculation unit 140 calculates the difference between the command speed and the actual speed at each time since the execution of the machining program, and calculates the integral value of the calculated difference for each process. The difference calculation unit 140 may also calculate the integral value of the difference between the command speed and the actual speed for each process by adding the integral value of the difference calculated for each program block for each process.

[0046] Figure 3 2 is a diagram illustrating the difference between the command speed and the actual speed calculated by the difference calculation unit 140. Figure 3 In the figure, the dotted line represents the command speed v c , the solid line represents the actual speed v r The shaded area represents the command speed v calculated for each process. c With actual speed v r Thus, the difference calculation unit 140 is characterized in that it not only calculates the command speed v at each moment, but also calculates the integral value of the difference between c With actual speed v r The difference is calculated for each process and the integral value of the difference is calculated for each process.

[0047] By executing Figure 1 The CPU 11 of the program analysis device 1 shown in FIG. 1 reads the system program from the ROM 12, and the CPU 11 performs arithmetic processing mainly using the RAM 13 and the nonvolatile memory 14, thereby realizing the process reordering unit 150. The process reordering unit 150 calculates the command speed v based on the difference calculation unit 140. c With actual speed v r The integral value of the difference is calculated according to the command speed v c With actual speed v r Rearrange the steps from large to small by the integral value of the difference. Assume that the command speed v c With actual speed v r Most of the processes with large integral values ​​of the difference include actual speed v r The command speed v is not reached c That is, the order of the processes reordered by the process reordering unit 150 becomes an order in which the improvement effect of the cycle time is likely to be high. Figure 4 The process reordering unit 150 is shown as follows: cWith actual speed v r An example of reordering the steps in order of the integral value of the difference from large to small.

[0048] exist Figure 4 In the order of process c>process a>process b, the command speed v c The integral value of the difference from the actual speed v is large. c With actual speed v r The size of the integrated value of the difference indicates the degree of improvement in the cycle time.

[0049] By executing Figure 1 The system program read from the ROM 12 by the CPU 11 of the program analysis device 1 shown in the figure mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14 of the CPU 11 and output processing using the interface 18, thereby realizing the result screen generation unit 160. The result screen generation unit 160 generates a display of the command speed v according to the order of the processes reordered by the process reordering unit 150. c With actual speed v r Then, the generated screen data is displayed on the display device 70. The result screen generation unit 160 may simply generate a screen data displaying the command speed v of each process in order with numerical values. c With actual speed v r In this case, the operator who sees the display on the screen can improve the cycle time more effectively by studying and improving a plurality of program blocks included in a process located further up the sequence.

[0050] The result screen generation unit 160 may also be as follows Figure 4 As shown in the example, the command speed v of each process is displayed in the form of a graph. c With actual speed v r Displaying it in a graph helps the operator to intuitively study the improvement points.

[0051] For example, Figure 5 As shown in the example, in the predetermined process, the actual speed v r Reaching the limit at a fixed speed without rising to the command speed v c In this case, there may be a problem with the setting of the maximum speed parameter of the control device. In order to perform the process more efficiently, the operator who observes this situation can conduct research such as using the machining program 200 on a control device (machine tool) that can set the maximum speed higher or changing to a tool that can set a higher speed than the maximum speed.

[0052] In addition, for example, Figure 6As shown in the example, in the predetermined process, the actual speed v r Acceleration and deceleration are repeated, and as a result, the actual speed v r Not rising to the command speed v c In the case of , there is a possibility of returning to an unnecessary number of machining paths. The operator who sees this situation can conduct research on improvements such as correcting the machining paths instructed by the machining program 200 in order to perform the process more efficiently.

[0053] The operator can also look at the integrated value in the form of a graph and further refer to the information of the process block to study the improvement points. Figure 5 As shown in the example, the actual speed v r The speed reaches the limit at a fixed speed, but the actual speed v r Rise to command speed v c In the case of the vicinity of the limit, the information of the program block of the part that has reached the limit is referred to. At this time, if the program block of the part that becomes the vertex is a continuous small program block, it may be the limit of the processing capacity of the hardware of the control device. The operator who sees this situation can use a higher-performance control device to perform the process more efficiently, or conduct research on improvements such as correcting the path length of each program block to be longer for the small program block part of the processing program 200.

[0054] The program analysis device 1 of the present embodiment having the above-mentioned structure rearranges the order according to the integral value of the difference between the command speed and the actual speed of the instructions of the machining program, and displays each process of the machining program. The operator who sees the display can understand at a glance which process has a greater correction effect. In addition, by displaying the integral value of the difference between the command speed and the actual speed in a graph, the correction content of the machining program can be studied based on the shape of the integral value of the difference between the command speed and the actual speed shown in the graph.

[0055] Figure 7 This is a diagram showing, as a schematic block diagram, the functions of the program analysis device 1 according to the second embodiment of the present invention.

[0056] The functions of the program analysis device 1 of this embodiment are Figure 1 This is realized by the CPU 11 included in the program analysis device 1 executing a system program to control the operation of each unit of the program analysis device 1 .

[0057] The program analysis device 1 of the present embodiment includes an actual speed measuring unit 110, a process dividing unit 120, a command speed calculating unit 130, a difference calculating unit 140, a process reordering unit 150, a result screen generating unit 160, and a simulation unit 170. In addition, the processing program 200 acquired from the input device 71, the external device 72, etc. is stored in advance in the RAM 13 and the nonvolatile memory 14 of the program analysis device 1. In addition, in the RAM 13 and the nonvolatile memory 14 of the program analysis device 1, a speed data storage unit 210 is prepared in advance as an area for storing the command speed of the command of the processing program 200 or the speed of the axis of the machine tool calculated by the simulation process based on the processing program 200 as the actual speed.

[0058] The process division unit 120, the instruction speed calculation unit 130, the difference calculation unit 140, the process reordering unit 150, and the result screen generation unit 160 of the present embodiment have the same functions as the process division unit 120, the instruction speed calculation unit 130, the difference calculation unit 140, the process reordering unit 150, and the result screen generation unit 160 of the first embodiment.

[0059] By executing Figure 1 The system program read from the ROM 12 by the CPU 11 of the program analysis device 1 shown in the figure is mainly processed by the CPU 11 using the RAM 13 and the non-volatile memory 14, thereby realizing the simulation unit 170. The simulation unit 170 analyzes the program blocks of the machining program 200, and performs a known machining simulation process based on the analysis result to calculate the moving speed of each axis of the virtual machine tool. The simulation process performed by the simulation unit 170 is already known in, for example, Japanese Patent Application Laid-Open No. 2009-098982, and therefore a detailed description thereof is omitted in this specification.

[0060] The actual speed measuring unit 110 calculates the composite speed of each axis based on the actual speed of each axis calculated by the simulation unit 170, and stores the calculated composite speed of each axis as actual speed data in the speed data storage unit 210. The actual speed measuring unit 110 of this embodiment has the same function as the actual speed measuring unit 110 of the first embodiment, except that the speed calculated by the simulation unit 170 in the simulation process is processed as the actual speed.

[0061] The program analysis device 1 of the present embodiment having the above-mentioned structure can calculate the integral value of the difference between the command speed of the instruction of the machining program and the actual speed without actually operating the machine tool 2. Therefore, the operator can study the correction content of the machining program without spending time to actually operate the machine tool. In addition, it can also be implemented using a computer such as a personal computer that does not have a mechanism for controlling the machine tool 2.

[0062] Figure 8 This is a diagram showing, as a schematic block diagram, the functions of the program analysis device 1 according to the third embodiment of the present invention.

[0063] The functions of the program analysis device 1 of this embodiment are Figure 1 This is realized by the CPU 11 included in the program analysis device 1 executing a system program to control the operation of each unit of the program analysis device 1 .

[0064] The program analysis device 1 of the present embodiment includes a control unit 100, an actual speed measuring unit 110, a process dividing unit 120, a command speed calculating unit 130, a difference calculating unit 140, a process reordering unit 150, a result screen generating unit 160, and a suggestion generating unit 180. In addition, the processing program 200 acquired from the input device 71, the external device 72, etc. is stored in advance in the RAM 13 and the nonvolatile memory 14 of the program analysis device 1. In addition, in the RAM 13 and the nonvolatile memory 14 of the program analysis device 1, a speed data storage unit 210 is prepared as an area for storing the command speed related to the command of the processing program 200 and the actual speed of the axis when the machine tool 2 is controlled based on the processing program 200, and a suggestion data storage unit 220 is prepared as an area for storing suggestion data for suggesting improvement points of the processing program 200.

[0065] The control unit 100, actual speed measuring unit 110, process dividing unit 120, command speed calculating unit 130, difference calculating unit 140, process reordering unit 150, and result screen generating unit 160 of the present embodiment have the same functions as the control unit 100, actual speed measuring unit 110, process dividing unit 120, command speed calculating unit 130, difference calculating unit 140, process reordering unit 150, and result screen generating unit 160 of the first embodiment.

[0066] By executing Figure 1 The CPU 11 of the program analysis device 1 shown in the figure reads the system program from the ROM 12, and the CPU 11 mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14, thereby realizing the suggestion generation unit 180. The result screen generation unit 160 generates the command speed v of each process. c With actual speed v rWhen the display data is displayed in the form of a graph of the integral value of the difference between the processing program 200 and the processing program 200, the suggestion generation unit 180 selects suggestions related to the improvement points of the processing program 200 according to the shape of the graph of the integral value and outputs the suggestions to the result screen generation unit 160. For example, the suggestion generation unit 180 uses a known pattern matching technique to perform pattern matching processing between the shape of the graph of the integral value and the suggestion data stored in the suggestion data storage unit 220, selects suggestions included in the matched suggestion data, and outputs the suggestions to the result screen generation unit 160. The suggestion generation unit 180 may also generate suggestions by combining the pattern matching processing with other processing (for example, analysis of the program blocks of each process, etc.).

[0067] Fig. 9 An example of advice data stored in the advice data storage unit 220 is shown.

[0068] exist Fig. 9 In the example of , the suggestion data stored in the suggestion data storage unit 220 is data that associates the suggested article with the shape pattern of the integral value. When the shape of the graph of the integral value generated by the result screen generation unit 160 matches the suggestion data 1 for a certain process, the suggestion generation unit 180 outputs the suggestions included in the suggestion data 1, i.e., suggestions A-1, A-2, ... (for example, "Please consider changing to a control device or machine tool that can be set higher than the maximum speed.", "Please consider changing to a tool that can be set higher than the maximum speed.", etc.) to the result screen generation unit 160. In addition, the suggestions included in the suggestion data may also include more analysis contents and suggested articles associated with the result. In this case, the analysis processing corresponding to more analysis contents may be performed by the operator or automatically by the suggestion generation unit 180.

[0069] Then, the result screen generator 160 displays the advice generated by the advice generator 180 in association with each of the sequentially arranged steps.

[0070] The program analysis device 1 of the present embodiment having the above-mentioned structure can calculate the integral value of the difference between the command speed based on the command of the machining program and the actual speed for each process, and suggest improvement points for the process based on the graph shape of the calculated integral value. The operator can refer to the suggestion of improvement points for the process displayed by the program analysis device 1 to study the correction content of the machining program.

[0071] 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-mentioned embodiment, and can be implemented in various forms by adding appropriate changes.

[0072] For example, in the above-mentioned embodiment, an embodiment of studying the improvement point of the machining program based on the integral value of the difference between the command speed and the actual speed is shown, but it is also possible to Fig.10 As illustrated, in addition to the command speed based on the machining program, the integral value of the difference between each command speed calculated inside the control device, such as the motor command speed, and the actual speed is also calculated, and the above-mentioned processing is performed based on the calculated integral value. Each command speed calculated inside the control device has a different meaning from the control point of view. By referring to this situation for research, the operator can conduct a more appropriate research on the improvement points of the machining program. In addition, it is also possible to recommend which part should be improved based on the shape pattern of the integral value of the difference between these speeds. As an example, the integral value of the difference between the motor command speed and the actual speed and the integral value of the difference between the program command speed and the actual speed are compared. The result of the comparison is that when the integral value of the difference between the motor command speed and the actual speed is large, it is considered that the adjustment of the motor and the machinery is insufficient, so it can be recommended to adjust the gain of the motor.

[0073] When calculating the integral value of the speed difference calculated inside the control device, the calculation may be performed in multiple stages according to the functions of the control device. Fig.11 As shown, the control device calculates the motor command speed by applying functions (including associated parameters) to program instructions in stages. Therefore, the integral value of the difference between each internal command speed calculated inside the control device and the actual speed is displayed in a graphical form, so that the operator can identify the internal command speed with a large difference from the actual speed and study how to improve the functions and parameters associated with it. In addition, based on the shape pattern of the integral value of the difference between each internal command speed calculated inside the control device and the actual speed, it is possible to make suggestions on which function and parameter improvement point should be reconsidered.

Claims

1. A program analysis device for finding the difference between the command speed of a machining program for an axis of a machine to be controlled and the actual speed of the axis when the machining program is executed, according to a predetermined machining unit, i.e., a process, composed of a plurality of program blocks in the machining program, wherein: The program analysis device has: A process division unit that divides the processing program into processes; a command speed calculation unit for calculating a command speed of the machining program for each step divided by the step division part; an actual speed measuring unit for measuring an actual speed of the axis in each of the steps when machining according to the machining program is performed; a difference calculation unit that calculates an integral value of a difference between the command speed calculated by the command speed calculation unit and the actual speed measured by the actual speed measurement unit; a process reordering unit for reordering the process in descending order of the integral value of the difference between the command speed and the actual speed calculated by the difference calculating unit; A result screen generating unit generates screen data for displaying the processes in the order of the processes reordered by the process reordering unit.

2. The program analysis device according to claim 1, characterized in that The result screen generator displays, in order to display the steps rearranged by the step rearrangement unit, an integrated value of a difference between a command speed and an actual speed of each step in a graph form.

3. The program analysis device according to claim 1, characterized in that The program analysis device further includes: a simulation unit that simulates movement of the axis included in the machine when the machining program is executed; The actual speed measuring unit regards the speed of the axis calculated by the simulation unit as the actual speed.

4. The program analysis device according to claim 2, characterized in that The program analysis device further includes a suggestion generating unit that generates suggestions for improvement of the machining program based on an integrated value of a difference between a command speed and an actual speed of each process in the graph shape generated by the result screen generating unit.

Citation Information

Patent Citations

  • Working simulation device and its program

    JP2009098982A

  • Numerical controller having block time display means

    JP2017126199A

  • Numerical control device and cause analysis method

    JP2017194904A

  • Position control device

    CN102201772A

  • Numerical control device and cause analyzing method

    CN107305364A