Control device

By automatically detecting and notifying changes in program call information in the control device, the unexpected processing problem caused by the operator's difficulty in mastering the changes in the folder retrieval order is solved, ensuring the safety and consistency of machine tool operation.

CN116057482BActive Publication Date: 2025-07-04FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180057158.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-08-07
Filing Date
2021-08-03
Publication Date
2025-07-04
Estimated Expiration
2041-08-03

AI Technical Summary

Technical Problem

In the control device, it is difficult for the operator to grasp the changes in the call relationship of the program, which leads to different processing flows and intentions when the machine tool is running. Especially when the program of the same name is stored in a folder with high priority order, it is difficult to notice changes in the call of the subroutine, which may lead to unexpected processing results.

Method used

The control device has a mechanism for generating, determining and warning calls, automatically detecting changes in the corresponding relationship of the program, and notifying the operator through display or sound to ensure the consistency of program call information.

Benefits of technology

It realizes automatic detection and notification of operators when program file operations or folder retrieval sequence changes, prevents unwanted processing and device damage, and ensures processing safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116057482B_ABST
    Figure CN116057482B_ABST
Patent Text Reader

Abstract

The control device (1) of the present invention includes: a setting information storage unit (210) that stores at least a folder retrieval priority setting which defines the priority of folders retrieved when a program is called; a call information storage unit (220) that stores call information which is information related to the correspondence between the calling source program and the called destination program in the programs pre-stored in the program storage unit (200); a call information generation unit (110) that generates call information when there is an opportunity for the correspondence of the programs to change; and a call information determination unit (130) that compares the call information generated by the call information generation unit (110) with the call information stored in the call information storage unit (220) to determine whether the correspondence of the programs has changed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] The control device reads a machining program and controls a machine tool or other working machine according to the read instructions. An operator does not necessarily need to include the instructions required for control in one machining program. For example, an instruction to call another machining program can be embedded in the machining program. This call instruction is called a subprogram call instruction (for example, Patent Document 1, etc.).

[0003] When calling another machining program from a machining program, the machining program can specify the path of the folder storing the other program of the call destination. In addition, it is also possible to perform a subprogram call without specifying the path of the folder storing the program of the call destination. In the control device, a priority order is preset for a plurality of folders storing programs. In the latter case where the folder path is not specified, according to the priority order set in the folders, it is retrieved whether there is a program with the specified name in the folder. Then, when a program with the specified name is found, the program is called as a subprogram.

[0004] For example, the priority order of the folders is set as follows in 1. to 5. below. In this case, when calling a program of the call destination without specifying a path from the calling source program, the program of the call destination is retrieved starting from the folder storing the calling source program, and then, in the order of LIBRARY folder -> MTB2 folder -> MTB1 folder -> SYSTEM folder.

[0005] 1. Folder storing the calling source program

[0006] 2. Shared program folder (LIBRARY) of the initial folder

[0007] 3. MTB (Machine Tool Builder) dedicated folder 2 (MTB2) of the initial folder

[0008] 4. MTB dedicated folder 1 (MTB1) of the initial folder

[0009] 5. System folder (SYSTEM) of the initial folder

[0010] Prior Art Documents

[0011] Patent Documents

[0012] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2019-153042 Summary of the Invention

[0013] Problems to be Solved by the Invention

[0014] The control device can store multiple programs with the same name. Such programs with the same name can be distinguished and used by specifying the path of the folder. Additionally, even when making a subroutine call without specifying the folder path, as long as the priority order involved in the folder call is mastered, no problem will occur.

[0015] However, when the operator inadvertently changes the program with the same name as the program to be called to a folder with a higher priority order, sometimes the process of the machining program during the operation of the machine tool is different from the intended process.

[0016] For example, consider the case of calling program O1003 as a subroutine from O0001, which is the main program, when the above priority order is set. In this example, assume that the program O1003 to be called is stored in the MTB1 folder, and no program with the name O1003 is stored in other folders. In this case, when executing program O0001, even if the subroutine in the main program does not specify the folder name, the folder is retrieved according to the set priority order, and the program O1003 stored in the MTB1 folder is called as a subroutine.

[0017] Here, assume that the operator reads a certain program from an external device and stores the program O1003 with the same name (hereinafter, denoted as O1003’ for distinction) in the LIBRARY folder. Then, when executing program O0001, this time, instead of calling the program O1003 stored in the MTB1 folder, the program O1003’ stored in the LIBRARY folder with a higher priority order is called as a subroutine. And if the operator then executes the program without noticing and starts the operation of the machine tool, machining different from the operator's intention will be performed.

[0018] When the operator intentionally edits the program to be called or changes the name or folder of the program to be called, it will not be a problem. However, as described above, in cases such as occasionally storing programs with the same name in a folder with a higher priority order, there is a problem that it is difficult for the operator to notice the change in the subroutine call. Since there are a large number of programs stored in the control device, it is difficult for one operator to master all the call relationships between programs. Additionally, when multiple operators use one machine (control device), it is also difficult to be aware of the situation when other operators change the program configuration in the folder. To prevent such situations, measures such as prohibiting files with the same name are considered, but the advantages of using folders are impaired.

[0019] Therefore, a technique that can easily grasp the change in the correspondence relationship of programs is desired.

[0020] Means for Solving the Problem

[0021] In one aspect of the present invention, when the correspondence relationship of the program is changed, the control device automatically detects this situation and notifies the operator, thereby solving the above problem.

[0022] Moreover, one aspect of the present invention is a control device that controls an industrial machine based on a program. The control device includes a program storage unit that stores one or more programs, and is capable of calling and executing other programs from the program. The control device is characterized in that it includes: a setting information storage unit that stores at least a folder retrieval priority setting that defines the priority of folders retrieved when calling a program; a call information storage unit that stores call information, which is information related to the correspondence relationship between the calling source program and the called destination program among the programs pre-stored in the program storage unit; a call information generation unit that generates call information based on the programs stored in the program storage unit and the folder retrieval priority setting stored in the setting information storage unit when there is an opportunity for the correspondence relationship of the programs to change; and a call information determination unit that compares the call information generated by the call information generation unit with the call information stored in the call information storage unit to determine whether the correspondence relationship of the programs has changed.

[0023] Advantages of the Invention

[0024] According to one aspect of the present invention, when the call information of the program changes due to file operations or changes in the folder retrieval order, etc., this situation can be automatically detected and notified to the operator. Thus, it is possible to prevent unwanted processing during actual machining, damage to the device, and injury to personnel. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 is a schematic hardware structure diagram of the control device of the first embodiment.

[0026] Figure 2 is a schematic functional block diagram of the control device of the first embodiment.

[0027] Figure 3 is a diagram showing an example of call information.

[0028] Figure 4 is a diagram showing an example of the call information stored in the call information storage unit.

[0029] Figure 5 is a diagram for explaining the comparison of call information performed by the call information determination unit.

[0030] Figure 6This is a diagram showing an example of a warning message.

[0031] Figure 7 This is a diagram showing other examples of call information. Detailed implementation

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

[0033] Figure 1 This is a schematic hardware structure diagram of the main part of the control device according to the first embodiment of the present invention. The control device 1 of the present invention can be installed, for example, as a numerical control device for controlling industrial machines 3 such as machine tools for machining.

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

[0035] 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 control device 1 is turned off. Data read from an external device 72 via the interface 15, machining programs, data input via the input device 71, machining programs, and various data obtained from the machine tool are stored in the non-volatile memory 14. The data and machining programs stored in the non-volatile memory 14 can also be expanded in the RAM 13 during execution / use. In addition, various system programs such as a known analysis program are pre-written in the ROM 12.

[0036] The interface 15 is an interface for connecting the CPU 11 of the control device 1 to an external device 72 such as a USB device. For example, a machining program and various parameters used in the control of the machine tool can be read in from the external device 72 side. In addition, the machining programs and various parameters edited in the control device 1 can be stored in an external storage unit via the external device 72. The PLC (Programmable Logic Controller) 16 outputs signals via the I / O unit 17 to the machine tool and peripheral devices of the machine tool (for example, actuators such as a tool changer and a robot, sensors installed on the machine tool, etc.) through a timing program built into the control device 1 to perform control. In addition, the PLC 16 receives signals from various switches, peripheral devices, etc. of the operation panel provided on the main body of the industrial machine, and after performing necessary signal processing, transfers them to the CPU 11.

[0037] In the display device 70, each data read into the memory is output and displayed via the interface 18, as well as data obtained as a result of executing a machining program, a system program, etc. In addition, an input device 71 composed of a keyboard, a pointing device, etc. transmits instructions, data, etc. based on the operator's operations to the CPU 11 via the interface 19.

[0038] The axis control circuit 30 for controlling the axes of the machine tool receives the axis movement command amount from the CPU 11 and outputs the axis command to the servo amplifier 40. The servo amplifier 40 receives this command and drives the servo motor 50 that causes the drive unit of the machine tool of the industrial machine 3 to move along the axis. The servo motor 50 of the axis has a position / speed detector built in, and feeds back the position / speed feedback signal from this position / speed detector to the axis control circuit 30. The axis control circuit 30 performs feedback control of the position / speed of the servo motor 50. In addition, in Figure 1 the hardware structure diagram, only one axis control circuit 30, servo amplifier 40, and servo motor 50 are shown respectively, but actually, the number corresponding to the number of axes of the machine tool to be controlled is prepared. For example, in the case of controlling a general machine tool, three sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 for relatively moving the spindle with a tool and the workpiece in the linear three-axis (X-axis, Y-axis, Z-axis) directions are prepared.

[0039] 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 this spindle speed signal and rotates the spindle motor 62 of the machine tool at the commanded rotational speed to drive the tool. A position encoder 63 is coupled to the spindle motor 62. The position encoder 63 outputs feedback pulses synchronously with the rotation of the spindle, and these feedback pulses are read by the CPU 11.

[0040] Figure 2 is a diagram showing the functions of the control device 1 of the first embodiment of the present invention as a schematic block diagram. Each function of the control device 1 of the present embodiment is realized by Figure 1 the CPU 11 of the control device 1 shown executing a system program and controlling the operations of each part of the control device 1.

[0041] The control device 1 of the present embodiment includes a control unit 100, a call information generation unit 110, a call information determination unit 130, a warning unit 150, an operation reception unit 160, and a call information update unit 170. In addition, in the RAM 13 or the non-volatile memory 14 of the control device 1, there are preset in advance: a program storage unit 200, which is an area for storing programs executed as main programs, programs called as subroutines, etc.; a setting information storage unit 210, which stores various setting information of the control device including settings of folder retrieval priorities in program calls; and a call information storage unit 220, which is an area for storing information related to the correspondence relationship of programs.

[0042] The control unit 100 Figure 1 executes the system program read from the ROM 12 through the CPU 11 included in the control device 1 shown, and mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14 based on the CPU 11, control processing of the servo motor 50 based on the axis control circuit 30 and the servo amplifier 40, control processing of the spindle motor 62 based on the spindle control circuit 60 and the spindle amplifier 61, and control processing of peripheral devices such as the PLC 16. The control unit 100 analyzes the instructions of the program read from the program storage unit 200. Then, based on the analysis result, movement instruction data for each servo motor, spindle instruction data indicating the rotation speed of the spindle, control instruction data indicating the control of peripheral devices, etc. are generated. Then, by outputting the generated instruction data to each unit, the servo motor 50, the spindle motor 62, and peripheral devices are controlled. The detailed content of the control actions performed by the control unit 100 is already well known, so the detailed description in this specification is omitted.

[0043] The call information generation unit 110 Figure 1The CPU 11 included in the control device 1 shown executes a system program read from the ROM 12, which is mainly implemented by the CPU 11 performing arithmetic processing using the RAM 13 and the non-volatile memory 14. The call information generation unit 110 generates call information including information related to the correspondence of programs based on the subroutine call instructions included in the multiple programs stored in the program storage unit 200 and the setting of the folder search priority in the program call set in the setting information storage unit 210. In addition, in this specification, the "subroutine call instruction" includes not only an instruction that, after calling a program at the call destination for processing, the processing resumes to the program at the call source, but also an instruction that, after calling a program at the call destination, the processing does not resume to the program at the call source. The call information generation unit 110 extracts subroutine call instructions from each program. Next, when the extracted subroutine call instruction includes the path of a folder, the call information generation unit 110 generates call information with the program as the call source program and the program called as the subroutine from this program as the call destination program.

[0044] Figure 3 It is a diagram showing an example of call information. In Figure 3 this example, call information indicating that the program named O1001 stored in the folder LIBRARY is called from the program named O0001 stored in the folder FOLDER1, call information indicating that the program named O4002 stored in the folder LIBRARY is called, and call information indicating that the program named O5003 stored in the folder MTB2 is called are respectively shown. As Figure 3 exemplified, the call information represents the correspondence between the program at the call source and the program at the call destination. The call information includes a group of program names including at least the folder path of the program at the call source and the program name including the folder path of the program at the call destination. By including the folder path in each program name, the program stored in the program storage unit 200 of the control device 1 can be uniquely determined. By storing in such a form, even programs with the same name stored in different folders can be uniquely determined as different programs.

[0045] The call information generation unit 110 generates call information on the occasion that the correspondence relationship of programs may change. Among the occasions when the correspondence relationship of programs may change, for example, they include addition of programs to the program storage unit 200, program deletion, program movement, and change of program names. In addition, among the occasions when the correspondence relationship of this program may change, it includes a change in the setting of the folder search priority in the program call stored in the setting information storage unit 210. Moreover, among the occasions when the correspondence relationship of this program may change, for example, it may also include the editing of the programs stored in the program storage unit 200. This is because by performing program editing, subroutine call instructions may sometimes be changed.

[0046] The call information determination unit 130 is implemented mainly by the CPU 11 of the control device 1 shown in Figure 1 executing the system program read from the ROM 12 and performing arithmetic processing using the RAM 13 and the non-volatile memory 14 by the CPU 11. The call information determination unit 130 determines whether the correspondence relationship of the programs has actually changed. The call information determination unit 130 compares the call information generated by the call information generation unit 110 with the call information stored in the call information storage unit 220. Then, when there are differences in the mutual call information, it is determined that the correspondence relationship of the programs has actually changed, and the warning unit 150 is instructed to output a warning. In addition, the call information determination unit 130 may also instruct the control unit 100 to temporarily stop operation when a difference is detected in the call information related to the program being run by the control unit 100.

[0047] Figure 4 An example of the call information stored in the call information storage unit 220 is shown. The call information stored in the call information storage unit 220 is the call information previously generated by the call information generation unit 110. Regarding the call information stored in the call information storage unit 220, for example, on the occasion of the initial startup of the control device 1, for the programs stored in the program storage unit 200, the call information generation unit 110 generates the call information and stores the generated call information. In addition, the call information stored in the call information storage unit 220, for example, on the occasion of an operator's instruction, for the programs stored in the program storage unit 200, the call information generation unit 110 generates the call information and stores the generated call information. Then, it is updated by the call information update unit 170 as needed.

[0048] As Figure 5As illustrated, the call information determination unit 130 compares whether there is stored call information that is the same as the call information generated by the call information generation unit 110 in the call information stored in the call information storage unit 220 at an opportunity when the correspondence of the program may change. Then, when there is no stored matching information, it is determined that there is a difference in the call information, and it is sufficient to instruct the warning unit 150 to output a warning.

[0049] The warning unit 150 is implemented mainly by the CPU 11 of the control device 1 shown in Figure 1 executing the system program read from the ROM 12 and performing arithmetic processing using the RAM 13 and the non-volatile memory 14 and output processing using the interface 18, for example, by the CPU 11. When the warning unit 150 receives an instruction from the call information determination unit 130, it outputs a warning indicating that the information related to the correspondence of the program has been changed. Typically, the warning unit 150 can display a warning indicating that the information related to the correspondence of the program has been changed on the display device 70. In addition, the warning unit 150 can also warn the operator by sound, light, etc. accordingly. Moreover, the warning unit 150 can also send and output to the main computer that manages the factory via a network (not shown).

[0050] Figure 6 An example of a warning message displayed and output by the warning unit 150 to the display device 70 is shown. In the warning message displayed and output by the warning unit 150 to the display device 70, for example, it may include a message indicating how the correspondence of the program has changed due to what kind of change. Regarding how the correspondence of the program has changed due to what kind of change, for example, it can be determined by comparing the operation log, action log, etc. of the control device 1 with the name of the program at the call destination in the call information determined by the call information determination unit 130 to be inconsistent. In addition, in the warning message displayed and output by the warning unit 150 to the display device 70, for example, it may include a message indicating the correspondence of the program before the change and the correspondence of the program after the change. Regarding this message, for example, it can also be determined by comparing the operation log, action log, etc. of the control device 1 with the name of the program at the call destination in the call information determined by the call information determination unit 130 to be inconsistent.

[0051] The operation reception unit 160 is implemented by Figure 1The CPU 11 included in the control device 1 shown executes the system program read from the ROM 12, and is mainly implemented by the CPU 11 performing arithmetic processing using the RAM 13 and the non-volatile memory 14 and input processing using the interface 19, for example. The operation reception unit 160 receives an operation from the operator in response to a warning from the warning unit 150. When the operator inputs a meaning indicating no problem due to a change in the correspondence of the program, the operation reception unit 160 issues an instruction to the call information update unit 170 to update the call information stored in the call information storage unit 220 using the call information generated by the call information generation unit 110. At this time, when the operation of the control unit 100 is temporarily stopped, the operation reception unit 160 can also issue an instruction to the control unit 100 to resume the operation. On the other hand, when the operator inputs a meaning indicating a problem due to a change in the correspondence of the program, the operation reception unit 160 can also issue an instruction to the management function of the program stored in the program storage unit 200 (not shown) to prompt the operator to correct the problem.

[0052] The call information update unit 170 Figure 1 The CPU 11 included in the control device 1 shown executes the system program read from the ROM 12, and is mainly implemented by the CPU 11 performing arithmetic processing using the RAM 13 and the non-volatile memory 14. The call information update unit 170 receives an instruction from the operation reception unit 160, and at an opportunity when the correspondence of the program may change, updates the call information stored in the call information storage unit 220 using the call information generated by the call information generation unit 110.

[0053] In the control device 1 of the present embodiment having the above structure, at an opportunity when the correspondence of the program may change, such as the addition or deletion of a program, or the setting change of the folder search priority order during program call, it is determined whether the correspondence of the program actually changes. If it changes, the operation is stopped and the operator is warned. Therefore, it is possible to easily grasp a change in the correspondence of the program that the operator would otherwise hardly notice. In the control device 1 of the present embodiment, not only can it cope with the addition or deletion of a program by the operator himself / herself, but it can also cope when the correspondence of the program is changed due to the addition or deletion of a program by another operator, or the automatic update of the program via the network from the computer of the management control device 1.

[0054] As a modification example of the control device 1 of the present embodiment, in the call information generated by the call information generation unit 110, as Figure 7As illustrated, in addition to the program name that includes the paths of the folders of the programs containing the call source and the call destination respectively, information on file attributes such as file size and timestamp can also be included. Thus, for example, even when a different program with the same name is overwritten on a program already stored in a folder, etc., it is possible to detect a program change due to a change in file attributes.

[0055] As described above, one embodiment of the present invention has been described, but the present invention is not limited to the above-described example of the embodiment and can be implemented in various ways by making appropriate changes.

[0056] Description of Reference Numerals

[0057] 1 Control device

[0058] 3 Industrial machine

[0059] 11 CPU

[0060] 12 ROM

[0061] 13 RAM

[0062] 14 Non-volatile memory

[0063] 15, 18, 19 Interface

[0064] 16 PLC

[0065] 17 I / O unit

[0066] 22 Bus

[0067] 30 Axis control circuit

[0068] 40 Servo amplifier

[0069] 50 Servo motor

[0070] 60 Spindle control circuit

[0071] 61 Spindle amplifier

[0072] 62 Spindle motor

[0073] 63 Position encoder

[0074] 70 Display device

[0075] 71 Input device

[0076] 72 External device

[0077] 100 Control unit

[0078] 110 Call information generation unit

[0079] 130 Call information determination unit

[0080] 150 Warning section

[0081] 160 Operation receiving section

[0082] 170 Call information update section

[0083] 200 Program storage section

[0084] 210 Setting information storage section

[0085] 220 Call information storage section.

Claims

1. A control device that controls industrial machinery based on a program. The control device includes a program storage unit that stores one or more programs and can call and execute other programs from the programs. The control device is characterized in that the control device includes: a setting information storage unit that stores at least a folder retrieval priority setting that defines the priority order of folders retrieved when calling a program; a call information storage unit that stores call information, which is information related to the correspondence relationship between the calling source program and the called destination program among the programs pre-stored in the program storage unit; a call information generation unit that generates call information based on the programs stored in the program storage unit and the folder retrieval priority setting stored in the setting information storage unit when there is a possibility of a change in the correspondence relationship of the programs; a call information determination unit that compares the call information generated by the call information generation unit with the call information stored in the call information storage unit to determine whether the correspondence relationship of the programs has changed; and a warning unit that outputs a warning when the call information determination unit determines that the correspondence relationship of the programs has changed, the opportunity for the possibility of a change in the correspondence relationship of the programs is any one of the addition of a program to the program storage unit, the deletion of a program, the movement of a program, the change of a program name, the change of the folder retrieval priority setting in the program call stored in the setting information storage unit, and the editing of the programs stored in the program storage unit.

2. The control device according to claim 1, characterized in that the call information storage unit stores the call information previously generated by the call information generation unit, with respect to the call information stored in the call information storage unit, taking the initial startup of the control device or an operator's instruction as an opportunity, it is generated by the call information generation unit for the programs stored in the program storage unit, the call information generation unit generates the call information including information related to the correspondence relationship of the programs based on the subroutine call instructions included in one or more programs stored in the program storage unit and the folder retrieval priority setting in the program call set in the setting information storage unit.

3. The control device according to claim 1, characterized in that when the call information determination unit determines that the correspondence relationship of the programs has changed, the operation of the industrial machinery is stopped.

4. The control device according to claim 1, characterized in that based on an operator's operation, the call information stored in the call information storage unit is updated with the call information generated by the call information generation unit.

5. The control device according to claim 1, characterized in that the call information includes at least the path name and program name of the folder storing the calling source program and the called destination program among the programs.

6. The control device according to claim 5, characterized in that The call information further includes at least any one of the file size and timestamp of the program of the call source and the program of the call destination.

Citation Information

Patent Citations

  • Numerical control device

    JP2019153042A

  • Machining program management apparatus

    CN108107843A

  • Program activation controller

    JP1999143756A