Program production assisting device, program production assisting system and program production assisting method

By using program production auxiliary devices and systems in industrial machinery, analyzing and simulating programs, determining call relationships and time, the problem of difficult management of multiple constructor programs is solved, and more efficient program debugging and correction is achieved.

CN112685090BActive Publication Date: 2025-05-09FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202011107216.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-10-18
Filing Date
2020-10-16
Publication Date
2025-05-09
Estimated Expiration
2040-10-16

AI Technical Summary

Technical Problem

During the process of program production of industrial machinery, it is difficult for the prior art to effectively confirm and manage multiple constructed programs, resulting in difficulty in program debugging and correction.

Method used

The program production auxiliary device and system are used to analyze multiple programs, simulate the actions of industrial machinery, determine the program's call relationship and call time, generate program production auxiliary data, and display the program's call relationship, call time and execution time on a predetermined screen.

Benefits of technology

By clarifying the call relationship and execution time of the program, the efficiency of program debugging and correction is significantly improved, the program production time is reduced, and the processing efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112685090B_ABST
    Figure CN112685090B_ABST
Patent Text Reader

Abstract

The present invention provides a program production assisting device, a program production assisting system and a program production assisting method. The program production assisting system (300) produces program production assisting data. The program production assisting system (300) analyzes the program to be simulated, and determines the calling relationship of the program based on the analysis result and the calling time, and determines the execution time based on the analysis result and the simulation result. The program production assisting system (300) displays a program production assisting screen that visually expresses the program production assisting data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program production assisting device, a program production assisting system, and a program production assisting method for assisting the production of a program for controlling a machine. Background Art

[0002] In the creation of programs for industrial machinery including machine tools, a simulator is generally used to simulate the actual machine. The program developer debugs the program while confirming the simulation results.

[0003] The program is recorded in a file. The file recording the program (hereinafter referred to as a program file) is managed in folders. Fig.10 This is an example of a screen that displays a list of program files. In this screen, the name of the actual machine (here, the numerical controller) that is the simulation target is displayed in the "Device" column, the path of the current folder is displayed in the "Current Folder" column, and the program names, capacity, and creation time contained in the current folder are displayed at a glance below. In such a screen, you can confirm information related to the file or folder that stores the program, such as the path of the currently viewed program.

[0004] A program is a multi-layered structure where programs call each other. The main program calls subprograms, and subprograms call subprograms, and each program is executed, and finally returns to the main program, and a series of processing ends.

[0005] Such a multi-layered structure of a program is difficult to confirm on conventional screens.

[0006] In the past, there was a numerical control device with a multi-structure that displays multiple programs in a tree structure. In this numerical control device, a subprogram called by a main program, a subprogram called by a subprogram, and a subprogram further called by the subprogram, etc., is displayed in a tree structure. For example, refer to Japanese Patent Publication No. 5-113818.

[0007] When creating a program, you need to debug the program. To debug, you use a simulator to simulate the program, find the program problems and correct them. In order to find the program problems, it is very important to understand the program structure. Summary of the invention

[0008] In the field of industrial machinery, there is a need for a technology that clarifies the relationship between programs and assists in the creation of programs.

[0009] A program production assistance device in one embodiment of the present invention is a program production assistance device for an industrial machine that executes a plurality of programs having a calling relationship to perform a specific action, and comprises: a program analysis unit that analyzes the plurality of programs; a simulation unit that simulates the action of the industrial machine according to the analysis result of the program analysis unit; a calling relationship determination unit that determines the calling relationship of the programs in the simulation; a calling time determination unit that determines the calling time of the programs in the simulation; and a program production assistance data production unit that produces program production assistance data by associating the calling relationship of the program determined by the calling relationship determination unit with the calling time of the program determined by the calling time determination unit.

[0010] Another embodiment of a program production assistance system disclosed herein is a program production assistance system for an industrial machine that executes a plurality of programs having a calling relationship to perform specific processing, and comprises: a program analysis unit that analyzes the plurality of programs; a simulation unit that simulates the actions of the industrial machine according to the analysis results of the program analysis unit; a calling relationship determination unit that determines the calling relationship of the programs in the simulation; a calling time calculation unit that calculates the calling time of the programs in the simulation; and a program production assistance data production unit that produces program production assistance data by associating the calling relationship of the program determined by the calling relationship determination unit with the calling time of the program calculated by the calling time calculation unit.

[0011] Another embodiment of the program production assistance method disclosed herein is a program production assistance method for an industrial machine that executes a plurality of programs having a calling relationship to perform a specific process, the method comprises analyzing the plurality of programs, simulating the action of the industrial machine according to the analysis results of the programs, determining the calling relationship of the programs in the simulation, calculating the calling time of the programs in the simulation, producing program production assistance data that associates the calling relationship of the programs with the calling time of the programs, producing a program production assistance screen that represents the calling relationship of the programs, the calling time of the programs, and the execution time of the programs along a timeline set on a predetermined screen based on the program production assistance data, and displaying the program production assistance screen on the predetermined screen. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 This is a hardware configuration diagram of a personal computer and a numerical controller according to one embodiment.

[0013] Figure 2 It is a block diagram of a program preparation support system according to one embodiment.

[0014] Figure 3 This is a diagram showing an example of a comment record.

[0015] Figure 4This is a diagram showing an example of program creation auxiliary data.

[0016] Figure 5 This is an example showing how to calculate the program execution time.

[0017] Figure 6 This is a diagram showing an example of a program creation assistance screen.

[0018] Figure 7 This is a diagram showing the process of creating auxiliary data by a creation program.

[0019] Figure 8 This is a diagram for explaining the operation of the numerical control device according to one embodiment.

[0020] Fig. 9 This is a block diagram of a personal computer according to another embodiment.

[0021] Fig.10 This is an example of a conventional screen that displays a list of programs. DETAILED DESCRIPTION

[0022] Below, refer to Figure 1 , the hardware configuration of a personal computer 100 and a numerical controller 200 on which a program creation support system 300 according to the present disclosure is implemented will be described.

[0023] The personal computer 100 includes a CPU 111 , a ROM 112 , a RAM 113 , a nonvolatile memory 114 , interfaces (INT) 115 , 118 , and 119 , a display unit 140 , and an input unit 130 .

[0024] CPU 111 is a processor that controls the entire personal computer 100. CPU 111 reads a system program stored in ROM 112 via bus 120 and controls the entire personal computer 100 according to the system program. RAM 113 temporarily stores temporary calculation data or display data, various data input by an operator via input unit 130, and the like.

[0025] The nonvolatile memory 114 is configured as a memory that maintains the storage state even when the power supply of the personal computer 100 is turned off, for example, by a battery backup not shown. The nonvolatile memory 114 stores programs read from an external device via the interface 115 or input via the input unit 130, and various data (for example, data indicating the operating state of the numerical controller 200) obtained from various parts of the personal computer 100 or the numerical controller 200. The program or various data stored in the nonvolatile memory 114 can be expanded in the RAM 113 when executed / used. In addition, the program creation auxiliary program or system program related to the present disclosure is written in the ROM 112.

[0026] The interface 115 is an interface for connecting the personal computer 100 to an external device such as an adapter. Programs or various data are read from the external device side. In addition, various data edited in the personal computer 100 can be stored in an external storage unit via an external device. The program production auxiliary program described later may also be stored in one or more external storage units instead of being stored in the ROM 112 in the personal computer 100, and read from the outside.

[0027] Data read into the memory and data obtained as a result of executing a program are outputted via interface 118 and displayed on display unit 140 . Input unit 130 including a keyboard and a mouse transmits user input to CPU 111 via interface 119 .

[0028] Next, the hardware structure of the numerical controller 200 is described. The CPU 211 included in the numerical controller 200 of the present embodiment is a processor that controls the entire numerical controller 200. The CPU 211 reads the system program stored in the ROM 212 via the bus 227, and controls the entire numerical controller 200 according to the system program. Temporary calculation data or display data, various data input by the operator via an input unit (not shown), etc. are temporarily stored in the RAM 213.

[0029] The nonvolatile memory 214 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 numerical controller 200 is turned off, the nonvolatile memory 214 maintains the storage state. The nonvolatile memory 214 stores programs read from an external device via the interface 215 or input via the input unit 230, and various data obtained from various parts of the numerical controller 200 or industrial machinery (for example, data indicating the operating state of each axis obtained from the industrial machinery). The program or various data stored in the nonvolatile memory 214 can be expanded in the RAM 213 when executed / used. In addition, various system programs such as a known analysis program are pre-written in the ROM 212.

[0030] The interface 215 is an interface for connecting the numerical control device 200 and the personal computer 100 as an external device. The program or various data are read from the personal computer 100 side. In addition, the program or various data edited in the numerical control device 200 can be sent to the personal computer 100 via the interface. The PMC (Programmable Machine Controller) 216 controls the input and output of signals between the industrial machine and the device such as the sensor installed in the industrial machine via the I / O unit 217 using the timing program built into the numerical control device 200.

[0031] The data read into the memory, the data obtained as a result of executing the program, etc. are outputted via the interface 218 and displayed on the display unit 240. In addition, the input unit 230 composed of an MDI, an operation panel, a touch panel, etc. sends instructions or data based on the operation performed by the operator to the CPU 211 via the interface 219.

[0032] The axis control circuit 220 for controlling each axis of the industrial machine receives the axis movement instruction amount from the CPU 211, and outputs the axis instruction to the servo amplifier 221. The servo amplifier 221 receives the instruction and drives the servo motor 222 for moving the axis of the industrial machine. The servo motor 222 of the axis has a built-in position and speed detector, and feeds back the position and speed feedback signal from the position and speed detector to the axis control circuit 220 to perform feedback control of the position and speed.

[0033] The spindle control circuit 223 receives a spindle rotation instruction for the spindle of the industrial machine and outputs a spindle speed signal to the spindle amplifier 224. The spindle amplifier 224 receives the spindle speed signal and rotates the spindle motor 225 of the spindle at the indicated speed, thereby driving the workpiece axis. The spindle motor 225 is coupled to a position encoder 226, and the position encoder 226 outputs feedback pulses in synchronization with the rotation of the spindle, and the feedback pulses are read by the CPU 211.

[0034] Figure 2 1 is a block diagram of a program creation support system 300 as one embodiment of the present disclosure. The program creation support system 300 is composed of a personal computer 100 that performs simulation and creates program creation support data, and a numerical controller 200 that displays a program creation support screen.

[0035] The personal computer 100 includes: a program storage unit 11 for storing programs, a program analysis unit 12 for analyzing programs, a simulation unit 13 for executing simulation according to the analysis results of the programs, a timing unit 14 for measuring time, an analysis data processing unit 15 for determining the calling relationship of the programs based on the analysis data, a program production auxiliary data generating unit 16 for generating program production auxiliary data including the calling relationship or the execution time, and a data output unit 17 for outputting the program production auxiliary data or data such as the program to the numerical control device 200.

[0036] The analytical data processing unit 15 includes a call relation determination unit 18 for determining a call relation and a comment extraction unit 19 for extracting comments.

[0037] The calling relationship determination unit 18 determines the calling of a subroutine and the ending of a program based on the parsed data of the program. Specifically, the program code is parsed to detect the instruction indicating the calling of a subroutine. When there is a calling instruction of a subroutine, it is notified to the calling time recording unit 21. During the execution of the program, the calling relationship determination unit 18 detects the ending instruction of the program from the parsed data of the program. When there is an ending instruction of the program, it is notified to the execution time calculation unit 22. When there is an ending instruction of the program, the calling relationship determination unit 18 determines whether the simulation is executed by a subroutine or a main program. When the main program ends, the production process of the auxiliary data for program production ends.

[0038] The comment extraction unit 19 extracts comments written in the program from the analysis data.

[0039] The annotations include, for example, descriptions of the processing performed by each program, such as "grooving", "roughing", "finishing", "boring", "drilling", and "tapping". The extracted annotations may also include descriptions that are not necessarily related to the processing. In this case, the annotation extraction unit does not extract all annotations but only extracts some necessary annotations. For example, Figure 3 As shown in FIG. 1 , the comment is recorded in association with the ID of the program described later. The comment can also be associated with the program name. The comment is set as part of the program creation auxiliary data.

[0040] The program creation auxiliary data creation unit 16 includes a call relationship recording unit 20 for recording call relationships in program creation auxiliary data, a call time recording unit 21, an execution time calculation unit 22 for calculating program execution time, and a comment recording unit 23 for recording comments.

[0041] When the call relation determination unit 18 detects a call of a subroutine, the call relation recording unit 20 creates a new node for the program creation auxiliary data. Figure 4 This is an example of program creation auxiliary data. Figure 4 The auxiliary data for program creation is a tree structure that links nodes from the parent level to the child level. Each node consists of the program ID, program name, program execution time, program call time, pointers to sibling programs, and pointers to subprograms. The program ID indicates the execution order of the program, and the pointers to sibling programs use pointers to link subprograms called from the same program in the order of execution. Figure 4 In the program production auxiliary data, the program ID indicates the execution order of the program, the pointer to the subroutine indicates whether there is a subroutine, and the pointer to the sibling program indicates the subroutine of the same level called from the same program. That is, the program production auxiliary data records the calling relationship of the program in a tree structure.

[0042] When the call relationship determination unit 18 detects the calling of a subroutine, the call time recording unit 21 records the time when the subroutine is called in the node of the subroutine.

[0043] When the call relation determination unit 18 detects the calling of a subroutine, the execution time calculation unit 22 obtains the time from the timekeeping unit 14 and starts measuring the execution time of the called subroutine.

[0044] When the call relationship determination unit 18 detects the end of a subroutine, it calculates the execution time of the subroutine by subtracting the end time from the start time of execution of the subroutine.

[0045] When the execution time of the subroutine is calculated, the call relationship recording unit 20 records the execution time of the subroutine in the node corresponding to the program creation auxiliary data.

[0046] The execution time calculation unit 22 calculates the execution time of the main program in addition to the execution time of the subprogram. The execution time calculation unit 22 calculates the execution time of the program when the end instruction of the program is detected. In the case of the main program, the start time of the simulation is recorded as the "time when the main program is called", and the execution time is calculated when the end instruction of the main program is detected.

[0047] like Figure 5 As shown, multiple programs are used to calculate the execution time in parallel. Figure 5 In the example, the main program calls subprogram 1, and subprogram 1 calls subprogram 2. However, when the main program calls subprogram 1, the execution time of subprogram 1 starts to be measured, and when subprogram 1 calls subprogram 2, the execution time of subprogram 2 starts to be measured. When the end instruction of subprogram 2 is detected, the execution time of subprogram 2 is calculated, and when the end instruction of subprogram 1 is detected, the execution time of subprogram 1 is calculated. When the end instruction of the main program is detected, the execution time of the main program is calculated. During the execution of subprogram 2, the execution time of the three programs, the main program, subprogram 1, and subprogram 2, is calculated in parallel. The execution time calculated in this way is recorded in the program production auxiliary data.

[0048] The data output unit 17 outputs the program creation auxiliary data to the numerical controller 200. The interface 115, a removable storage medium, or the like is used to output the program creation auxiliary data.

[0049] Next, the structure of the numerical control device 200 will be described. The numerical control device 200 includes a program storage unit 25 for storing programs, a program creation auxiliary data storage unit 26 for storing program creation auxiliary data, a display unit 27, an input unit 28, a program creation auxiliary screen display processing unit 29 for causing the display unit 27 to display the program creation auxiliary data, and a program editing unit 30 for accepting editing of programs.

[0050] The program storage unit 25 stores a program for controlling an industrial machine (here, a machine tool) by the numerical controller 200. The machine tool performs a specific operation according to the control of the numerical controller 200. The program for controlling the machine tool is composed of a plurality of programs.

[0051] Multiple programs have a calling relationship.

[0052] The program creation auxiliary data storage unit 26 stores program creation auxiliary data created by the personal computer 100. The program creation auxiliary data storage unit 26 does not necessarily need to be provided in the numerical control device 200, and may be stored in a removable storage medium, or may be configured to obtain program creation auxiliary data stored on a network from the outside via the interface 115.

[0053] The program creation assistance screen display processing unit 29 displays a program creation assistance screen that visualizes the calling relationship of the program, the calling time of the program, the execution time of the program, and the execution content of the program based on the program creation assistance data.

[0054] Figure 6 This is an example of a program creation assistance screen. Figure 6 The program creation auxiliary screen has a structure with time on the vertical axis and program name on the horizontal axis. The main program is displayed in a long strip on the left end. The subprogram called by the main program is displayed in a long strip on the right side of the main program. The program name is displayed in the upper part of the strip. The calling relationship from the source program to the target program is displayed by arrows. The position of the arrow indicates the time when the subprogram is called. The characters recorded in the comment are displayed under the arrow. In this example, the processing content of the program is displayed, for example, "grooving", "rough machining", etc. Figure 6 In the example of , programs are displayed one by one. However, when the number of programs is large, a plurality of programs may be displayed collectively, or only a part of the programs may be displayed.

[0055] The program editing unit 30 includes a calling program display unit 31 and a selected program display unit 32. The user selects the calling relationship portion ( Figure 6 In the example of arrow), the calling program display unit 31 displays the program associated with the calling relationship. The program associated with the calling relationship is, for example, a calling source program and a calling target program. In addition, the part in which the calling instruction is recorded can also be displayed.

[0056] When the user selects a program, the selected program is displayed on the selected program display unit 32. The program editing unit 30 accepts the user's editing of the displayed program. The numerical control device 200 controls the machine tool according to the edited program.

[0057] Reference Figure 7, the process of making auxiliary data for a program on the personal computer 100 is described. The program analysis unit 12 reads the program from the program storage unit 11 and analyzes the program (step S1). The simulation unit 13 performs simulation according to the analysis result of the program (step S2). The analysis data processing unit 15 detects the calling instruction of the subroutine based on the analysis data of the program analysis unit 12. When the subroutine is called (step S3; yes), the call relationship recording unit 20 creates a node for calling the target program (step S4). Next, the call relationship recording unit 20 adds 1 to the ID of the calling source program and uses it as the ID of the calling target program (step S5), and sets the pointer to the calling target program in the "pointer to the subroutine" of the node of the calling source program (step S6). The call time recording unit 21 records the time when the program was called in the "time called" of the node (step S7).

[0058] The analytical data processing unit 15 detects the end instruction of the program. When the end instruction of the program is reached (step S8; yes), the execution time calculation unit 22 calculates the execution time of the program from the difference between the current time and the time when the program was called (step S9). The time is measured by the timing unit 14. The call relationship recording unit 20 records the execution time of the program in the node (step S10).

[0059] The analytical data processing unit 15 determines whether the simulation is completed for a subroutine based on the analytical data. If the simulation is completed for a subroutine (step S11; yes), the simulation is returned to the calling source program to continue (step S1). If the simulation is completed for a subroutine (i.e., when the main program is completed) (step S11; no), the production process of the program production auxiliary data is terminated.

[0060] Next, refer to Figure 8 , the operation of the numerical control device 200 of this embodiment is described. First, the program creation assistance screen display processing unit 29 displays the program creation assistance screen on the display unit 27 (step S21). In the program creation assistance screen, the calling relationship of the program, the calling time of the program, the execution time of the program, the execution content of the program, and the execution order of the program are displayed in a visually understandable form.

[0061] The user checks the program creation assistance screen while exploring the part of the program that should be corrected. When the user wants to check the program, he or she uses a finger, a mouse, a numeric keypad, etc. to select a part of the screen. When the user selects the calling relationship of the program (for example, Figure 6 When the user selects the calling relationship (the arrow on the screen) (step S22; yes), the calling program display unit 31 displays the programs associated with the calling relationship selected by the user, such as the calling source program and the calling target program, on the display unit 27 (step S23). When the user does not select the calling relationship (step S22; no), the user's instruction is waited.

[0062] When the user selects a program (step S24; yes), the selected program display unit 32 displays the selected program on the display unit 27 (step S25). When the user does not select a program (step S24; no), the program editing unit 30 accepts the editing of the displayed program in response to the user's instruction (step S26). After the program is edited, when the user instructs the machine tool to execute it, the machine tool controls the machine tool according to the edited program (step S27).

[0063] According to the program production support system 300 of this embodiment, the program production support data is generated by recording the program call relationship and the program execution time and call time during simulation based on the program analysis data. The program production support data includes the program call time and program execution time based on the simulation.

[0064] By using program creation auxiliary data to create a program creation auxiliary screen, you can visually express the call relationship, call time, execution time, and execution content of the program. When using the program creation auxiliary screen, you can visually understand the outline or sequence of processing performed by the main program.

[0065] In addition, the calling relationship and calling time of the programs become clear. By visually expressing the corresponding relationship between programs, it becomes easy to search for the program whose operation you want to confirm on the actual machine or the program that needs to be edited, and the time for program creation can be reduced.

[0066] In addition, it is easy to find redundant parts of the program, such as parts where the wrong direction is selected at the conditional branch, errors in macro variables, and repetition of the same program, thereby improving processing efficiency.

[0067] Next, refer to Fig. 9 Other embodiments are described. In this embodiment, the personal computer 100a has all the functions. The personal computer 100a has: a program storage unit 11, a program analysis unit 12, a simulation unit 13, a timing unit 14, an analysis data processing unit 15, a program production auxiliary data production unit 16, a call relationship determination unit 18, a comment extraction unit 19, a call relationship recording unit 20, a call time recording unit 21, an execution time calculation unit 22, a comment recording unit 23, a display unit 27, an input unit 28, a program production auxiliary screen display processing unit 29, a program editing unit 30, a call program display unit 31, and a selected program display unit 32.

[0068] In this embodiment, the personal computer 100a performs simulation, creates program creation support data, displays a program creation support screen, and edits a program. Thus, the configuration of the program creation support system is not limited to the above configuration, and the functions may be distributed via a network.

[0069] The program creation support system of the present embodiment is based on the support for creation of programs for controlling machine tools, but can also be applied to creation of programs for other industrial machines.

Claims

1. A program preparation assisting device for an industrial machine that executes a plurality of programs having a call relationship to perform a specific action, characterized in that: The program production auxiliary device has: a program analyzing unit configured to analyze the plurality of programs; a simulation unit that simulates the operation of the industrial machine according to the analysis result of the program analysis unit; a calling relationship determination unit configured to determine the calling relationship among the plurality of programs in the simulation; a call time determination unit configured to determine the call time of the plurality of programs in the simulation; a program production auxiliary data producing unit for producing program production auxiliary data obtained by associating the call relations of the plurality of programs determined by the call relation determining unit with the call times of the plurality of programs determined by the call time determining unit; as well as a program production auxiliary screen display processing unit, which displays a program production auxiliary screen indicating the calling relationship of the plurality of programs and the calling time of the plurality of programs on the predetermined screen along a time axis set on the predetermined screen according to the program production auxiliary data, The plurality of programs include a main program, a subprogram called by the main program, and a subprogram further called by the subprogram. The calling relationship includes the relationship between the main program, the subprogram and the further called subprogram.

2. The program production assisting device according to claim 1, characterized in that: The program preparation support device includes: an execution time calculation unit that calculates the execution time of the plurality of programs executed in the simulation; The program production auxiliary data production unit records the calling relationship among the plurality of programs, the calling time of the plurality of programs, and the execution time of the plurality of programs in association with each other.

3. The program production assisting device according to claim 1, characterized in that: The program analyzing unit includes: a comment extracting unit that extracts comments written in the plurality of programs; The program-production auxiliary data producing unit records the calling relationship among the plurality of programs, the calling time of the plurality of programs, and the comments extracted from each program in association with each other.

4. The program production assisting device according to claim 2, characterized in that: The program production assistance device comprises: a program production assistance screen display processing unit, which displays a program production assistance screen indicating the calling relationship of the multiple programs, the calling time of the multiple programs and the execution time of the multiple programs on the predetermined screen along a time axis set on the predetermined screen according to the program production assistance data.

5. The program production assisting device according to claim 3, characterized in that: The program production assistance device comprises: a program production assistance screen display processing unit, which displays the calling relationship of the multiple programs, the calling time of the multiple programs and part or all of the comments extracted from each program along a timeline set on a predetermined screen according to the program production assistance data.

6. The program production assisting device according to claim 1, characterized in that: The program making auxiliary device comprises: a calling program display unit that receives a selection of a calling relationship among the plurality of programs displayed on the program creation assistance screen and displays a program among the plurality of programs associated with the selected calling relationship; as well as The program editing unit receives editing of a displayed program among the plurality of programs.

7. The program production assisting device according to claim 1, characterized in that: The program making auxiliary device comprises: a selected program display unit that receives a selection of the plurality of programs displayed on the program creation assistance screen and displays the selected program; and The program editing unit receives editing of a displayed program among the plurality of programs.

8. A program production support system for an industrial machine that executes a plurality of programs having a call relationship to perform a specific process, characterized in that: The program making auxiliary system has: a program analyzing unit configured to analyze the plurality of programs; a simulation unit that simulates the operation of the industrial machine according to the analysis result of the program analysis unit; a calling relationship determination unit configured to determine the calling relationship among the plurality of programs in the simulation; a call time calculation unit that calculates the call time of the plurality of programs in the simulation; a program production auxiliary data producing unit for producing program production auxiliary data by associating the call relations of the plurality of programs determined by the call relation determining unit with the call times of the plurality of programs calculated by the call time calculating unit; as well as A program production auxiliary screen display processing unit displays a program production auxiliary screen indicating the calling relationship of the plurality of programs and the calling time of the plurality of programs on the predetermined screen along a time axis set on the predetermined screen according to the program production auxiliary data, wherein: The plurality of programs include a main program, a subprogram called by the main program, and a subprogram further called by the subprogram, The calling relationship includes the relationship between the main program, the subprogram and the further called subprogram.

9. A method for assisting the production of a program for an industrial machine that executes a plurality of programs having a calling relationship to perform a specific process, characterized in that: parsing the plurality of programs, Simulating the movement of the industrial machine according to the analysis results of the plurality of programs, determining the calling relationship of the plurality of programs in the simulation, calculating the calling time of the plurality of programs in the simulation, creating program creation auxiliary data that associates the calling relationship of the plurality of programs with the calling time of the plurality of programs, According to the program production auxiliary data, a program production auxiliary screen is produced along a time axis set on a predetermined screen, showing the calling relationship of the plurality of programs, the calling time of the plurality of programs, and the execution time of the plurality of programs. The program making auxiliary screen is displayed on the predetermined screen, wherein The plurality of programs include a main program, a subprogram called by the main program, and a subprogram further called by the subprogram, The calling relationship includes the relationship between the main program, the subprogram and the further called subprogram.

Citation Information

Patent Citations

  • Numerical controller with multi-program function

    JP1993113818A

  • Device and method for simulating the processing of a workpiece on a machine tool

    CN101145047A

  • Computer-readable recording medium with program for tracing / Displaying operation of object-oriented program recorded thereon, and method for tracing / Displaying operation of the same program and its device

    JP2002149443A