Numerical control system, numerical control device, industrial device, and computer program
By generating variable list information in the numerical control system, and associating the variables in the machining program with their corresponding program names, the unexpected processing problems that may be caused by custom macro variables when used in the machining program are solved, achieving higher machining program reliability and security.
Patent Information
- Application Number
- CN202280099121.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-26
- Publication Date
- 2025-03-25
AI Technical Summary
In a system where robots and machine tools are linked, when custom macro variables are used in machining programs, they may lead to unexpected machining program processing, resulting in poor processing, damage to tools and machinery, etc.
By generating variable list information in the numerical control system, associating the variables in the machining program with their corresponding program names, ensuring that only associated variables are used when editing or executing the machining program, avoiding reuse or misuse of variables.
It effectively prevents poor processing, machine tool damage and collision between robots and machine tools caused by reuse or misuse of variables, and improves the reliability and safety of processing procedures.
Smart Images

Figure CN119698578A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a numerical control system, a numerical control device, an industrial device and a computer program. Background Art
[0002] In order to promote automation of processing sites, it is desirable to have an automation system that links a machine tool that processes a workpiece with a robot that loads and unloads the workpiece. For example, there is known a technology that can select or set an action program for a robot according to instructions from a user of a numerical control device of a machine tool (see, for example, Patent Document 1).
[0003] In such a system for linking a robot with a machine tool, the robot and the machine tool are linked by a robot control device that controls the robot reading and writing a custom macro variable of the machine tool. For example, the robot control device sets the action request to be enabled by means of a custom macro variable of the machine tool, and reads and writes the custom macro variable of the machine tool, thereby obtaining the action state. Furthermore, when the action state becomes action completion, the robot control device sets the action request to be closed and proceeds to the next sequence (for example, refer to Patent Document 2).
[0004] Prior art literature
[0005] Patent Literature
[0006] Patent Document 1: Japanese Patent Application Publication No. 2018-195055
[0007] Patent Document 2: International Publication No. 2022 / 097719 Summary of the invention
[0008] Problems to be solved by the invention
[0009] Custom macro variables can be used for calculations such as machining conditions of machining programs. When custom macro variables are used in conditional expressions, the processing of machining programs can be changed according to the value of the variable, and the action of the machine tool can be changed. In a system where robots and machine tools are linked, when the robot reads / writes custom macro variables to make the robot and machine tools linked, the user prepares custom macro variables for linkage with the robot.
[0010] When the robot is linked to the machine tool using a custom macro variable of the machine tool, when this variable is used in the machining program, the robot reads and writes the variable used in the machining program. When the robot writes the variable used in the machining program, if the variable is already used in the conditional expression in the machining program, the robot changes the value of the variable. Therefore, it is possible that the conditional expression is different from the value originally expected by the user. As a result, it is possible that the processing of the machining program that is not expected is executed, resulting in machining defects, damage to tools and machinery, etc.
[0011] On the other hand, when the robot reads a variable that is in use in a machining program, if the variable is not used in an operation in the machining program, the robot reads the value that has changed in the operation. The robot may make judgments that the machine tool has completed machining or that the machine tool door is open, which are not what the user expected, based on the value of the variable it reads. As a result, the robot may judge that machining is completed during machining and try to enter the machine tool to remove the workpiece, causing the machine tool and the robot to collide.
[0012] Thus, when variables used in a machining program are reused for different purposes, various adverse conditions may occur. Therefore, in a system in which a robot and a machine tool are linked, a numerical control system, a numerical control device, an industrial device, and a computer program are desired that can prevent adverse conditions that may occur when a custom macro variable is used in a machining program.
[0013] Means for solving problems
[0014] One method of the present disclosure is a numerical control system that controls a robot via a robot control device according to a machining program of the numerical control device, wherein the numerical control system comprises: a variable list information generating unit that obtains variables from all the machining programs in the numerical control device and generates variable list information that associates the variables with the machining programs; and a program editing unit that does not use the variables when the variables of the machining program included in the numerical control device or the robot program in the robot control device are used with a correspondence different from that in the variable list information, and does not use the variables when the variables included in the variable list information are used in the machining program that does not exist in the variable list information.
[0015] One method disclosed herein is a numerical control system that controls a robot via a robot control device according to a processing program of the numerical control device, wherein the numerical control system comprises: a variable list information generating unit that obtains variables from all the processing programs in the numerical control device and generates variable list information that associates the variables with the processing programs; and a variable list information output unit that outputs the variable list information to an output device.
[0016] One embodiment of the present disclosure is a numerical control device that uses a machining program to control a robot via a robot control device, wherein the numerical control device comprises: a variable list information generating unit that obtains variables from the machining program in the numerical control device or the robot program in the robot control device and generates variable list information that associates the variables with the machining program or the robot program; and a program editing unit that does not use the variables when the variables included in the machining program or the robot program are used with a correspondence different from that in the variable list information, and does not use the variables when the variables included in the variable list information are used in the machining program that does not exist in the variable list information.
[0017] One embodiment of the present disclosure is an industrial device, comprising: a receiving unit that receives a machining program or a robot program from a numerical control device or a robot control device; a variable list information generating unit that obtains variables from the machining program in the numerical control device or the robot program in the robot control device and generates variable list information that associates the variables with the machining program or the robot program; and a variable list information output unit that outputs the variable list information to an output device.
[0018] One method of the present disclosure is a computer program, wherein the computer program is used to cause a computer that controls a robot via a robot control device based on a processing program of a numerical control device to execute: the steps of obtaining variables from all processing programs in the numerical control device and generating variable list information that has associated the variables with the processing programs; the step of not using the variables when the variables of the processing program included in the numerical control device or the robot program in the robot control device are used with a correspondence different from that in the variable list information; and the step of not using the variables included in the variable list information when the variables are used in the processing program that does not exist in the variable list information. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 It is a block diagram showing the structure of the numerical control system according to the present embodiment.
[0020] Figure 2 It is a diagram showing an example of a processing program according to the first embodiment.
[0021] Figure 3 This is a diagram showing an example of the process of searching for variables according to the first embodiment.
[0022] Figure 4 It is a diagram showing an example of variable list information according to the first embodiment.
[0023] Figure 5 It is a diagram showing an example of output variable list information according to the first embodiment.
[0024] Figure 6 It is a diagram showing an example of displaying a warning message according to the first embodiment.
[0025] Figure 7 It is a diagram showing an example of suspending or prohibiting the execution of the machining program according to the first embodiment.
[0026] Figure 8 This is a flowchart showing the processing of the industrial device according to the first embodiment.
[0027] Fig. 9 This is a flowchart showing the processing when editing a machining program in the numerical control device according to the first embodiment.
[0028] Fig.10 This is a flowchart showing the processing of the numerical control device according to the first embodiment.
[0029] Fig.11 It is a diagram showing an example of displaying a warning message according to the second embodiment.
[0030] Fig.12 It is a diagram showing an example of suspending or prohibiting the execution of a machining program according to the second embodiment.
[0031] Fig.13 This is a flowchart showing the processing of the industrial device according to the second embodiment.
[0032] Fig.14 This is a flowchart showing the processing when editing or creating a machining program in the numerical control device according to the second embodiment.
[0033] Fig.15 This is a flowchart showing the processing of the numerical control device according to the second embodiment.
[0034] Fig.16 It is a diagram showing an example of a machining program and a robot program according to the third embodiment.
[0035] Fig.17 This is a diagram showing an example of the process of searching for variables according to the third embodiment.
[0036] Fig.18 It is a diagram showing an example of variable list information according to the third embodiment.
[0037] Fig.19 It is a diagram showing an example of output variable list information according to the third embodiment.
[0038] Fig. 20 It is a diagram showing an example of displaying a warning message according to the third embodiment.
[0039] Fig.21 This is a diagram showing an example of suspending or prohibiting the execution of a robot program according to the third embodiment.
[0040] Fig. 22 This is a flowchart showing the processing of the industrial device according to the third embodiment.
[0041] Fig.23 This is a flowchart showing the processing when editing or creating a robot program in the robot control device according to the third embodiment.
[0042] Fig.24 This is a flowchart showing the processing when the robot program is executed in the robot control device according to the third embodiment.
[0043] Fig.25 This is a diagram showing an example of output variable list information according to the fourth embodiment.
[0044] Fig.26 It is a diagram showing an example of a machining program and a robot program according to the fourth embodiment.
[0045] Fig. 27 This is a flowchart showing the processing of the industrial device according to the fourth embodiment. DETAILED DESCRIPTION
[0046] Modes for carrying out the invention
[0047] Hereinafter, an example of an embodiment of the present disclosure will be described. Figure 1 This is a functional block diagram of the numerical control system 1 according to the present embodiment.
[0048] The numerical control system 1 includes: a machine tool 2 that processes a workpiece (not shown); a robot 3 that is installed at the machine tool 2 and near the machine tool 2; an industrial device 4 that is communicably connected to the machine tool 2 and the robot 3; a numerical control device (CNC) 5 that controls the operation of the machine tool 2; and a robot control device 6 that controls the operation of the robot 3. The numerical control system 1 performs linkage control of the operation of the machine tool 2 and the robot 3 by using the industrial device 4, the numerical control device 5, and the robot control device 6 that are communicably connected to each other.
[0049] The machine tool 2 processes a workpiece (not shown) according to a machine tool control signal sent from the numerical controller 5. Here, the machine tool 2 may be, for example, a lathe, a drilling machine, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, etc., but is not limited thereto.
[0050] The robot 3 operates under the control of the robot control device 6 and performs a predetermined operation on a workpiece processed by the machine tool 2. The robot 3 is, for example, a multi-joint robot, and a tool for holding, processing or inspecting a workpiece is installed at the front end of its arm. The following describes a case where the robot 3 is a 6-axis multi-joint robot, but the present invention is not limited thereto. In addition, although the following describes a case where the robot 3 is a 6-axis multi-joint robot, the number of axes is not limited thereto.
[0051] The industrial device 4 may be provided in the numerical controller 5, or may be provided in a computer device or the like outside the numerical controller 5. The following describes an example in which the industrial device 4 is provided outside the numerical controller.
[0052] The industrial device 4, the numerical controller 5, and the robot controller 6 are respectively composed of a CPU (Central Processing Unit) or other processing unit, a HDD (Hard Disk Drive) or SSD (Solid State Drive) or other auxiliary storage unit storing various computer programs, a RAM (Random Access Memory) or other main storage unit for storing data temporarily required when the processing unit executes the computer program, an operation unit such as a keyboard for the operator to perform various operations, and a display unit such as a display for displaying various information to the operator. These industrial devices 4, numerical controllers 5, and robot controllers 6 can send and receive various signals to each other through, for example, Ethernet (registered trademark).
[0053] like Figure 1 As shown, the numerical controller 5 realizes various functions such as a function of controlling the operation of the machine tool 2 and a function of generating an operation path of the control axis of the robot 3 by the above-mentioned hardware configuration.
[0054] The numerical control device 5 includes a storage unit 51 , a program input unit 52 , an analysis unit 53 , a control unit 54 , a data transmission and reception unit 55 , an input unit 56 , a program editing unit 57 , and a display unit 58 .
[0055] The storage unit 51 stores, for example, a plurality of machining programs 511 created based on an operator's operation. More specifically, the storage unit 51 stores a machining program 511 composed of a plurality of instruction blocks for the machine tool 2 for controlling the operation of the machine tool 2 or a plurality of instruction blocks for the robot 3 for controlling the operation of the robot 3. The machining program 511 stored in the storage unit 51 is described in a known programming language for controlling the operation of the machine tool 2, such as a G code or an M code.
[0056] In addition, the storage unit 51 stores, for example, machine coordinate values indicating the positions of various axes of the machine tool 2 operating under the numerical control program (i.e., the positions of the tool rest or work table of the machine tool 2). In addition, these machine coordinate values are defined in a machine tool coordinate system having a reference point defined at an arbitrary position on or near the machine tool 2 as the origin. The storage unit 51 is updated successively by a process not shown in the figure so as to store the latest values of the machine coordinate values successively changed under the numerical control program.
[0057] In addition, the storage unit 51 stores, for example, robot coordinate values indicating the position and posture of the control point of the robot 3 operating under the control of the robot controller 6, in other words, indicating the position of each control axis of the robot 3. In addition, as described above, these robot coordinate values are defined in a robot coordinate system different from the machine tool coordinate system. The storage unit 51 is updated successively by the robot coordinate values obtained from the robot controller 6 by a process not shown in the figure, so that the latest values of the robot coordinate values successively changed under the numerical control program are stored.
[0058] In addition, the storage unit 51 can store, for example, the teaching positions of the start point and the end point of the robot 3 input by the operator. Specifically, the storage unit 51 stores the teaching positions of the robot 3 input from the teaching pendant, etc., the teaching positions input from the keyboard, etc. The teaching positions of the robot 3 include robot coordinate values indicating the positions of the control axes of the robot 3, and these robot coordinate values are defined in a robot coordinate system different from the machine tool coordinate system.
[0059] The storage unit 51 further stores custom macro variables (hereinafter also referred to as variables) 512 and variable list information 513 .
[0060] The custom macro variable 512 can be used for calculation of machining conditions and the like of the machining program 511. If the custom macro variable 512 is used in a conditional expression, the processing of the machining program can be changed according to the value of the variable, and the action of the machine tool 2 can be changed. In the numerical control system 1 in which the machine tool 2 and the robot 3 are linked, the custom macro variable 512 is read and written by the robot 3, so that the machine tool 2 and the robot 3 are linked.
[0061] The variable list information 513 stores the variable 512 in association with the program name of the machining program 511 that uses the variable 512 .
[0062] The program input unit 52 reads out a numerical control program for the robot composed of a plurality of robot command blocks from the storage unit 51 , and sequentially inputs the program to the analysis unit 53 .
[0063] The analyzing unit 53 analyzes the instruction type based on the numerical control program input from the program input unit 52 for each instruction block, and outputs the analysis result to the control unit 54. More specifically, when the instruction type of the instruction block is a machine tool numerical control instruction for the machine tool 2, the analyzing unit 53 sends the machine tool numerical control instruction to the control unit 54. When the instruction type of the instruction block is a robot numerical control instruction for the robot 3, the analyzing unit 53 outputs the robot numerical control instruction to the control unit 54.
[0064] The control unit 54 generates a machine tool control signal for controlling the operation of the machine tool 2 based on the analysis result sent from the analysis unit 53, and inputs the signal to the actuators driving various axes of the machine tool 2. The machine tool 2 operates based on the machine tool control signal input from the control unit 54 to process a workpiece (not shown).
[0065] Furthermore, the control unit 54 generates a robot command signal for each robot command block based on the analysis result of each robot command block input from the analysis unit 53, and writes the generated robot command signal to the data transceiver 55. Specifically, the control unit 54 generates a robot command signal for each robot command block based on the robot numerical control command as the analysis result input from the analysis unit 53, and writes the generated robot command signal to the data transceiver 55.
[0066] The data transceiver 55 sends and receives commands, custom macro variables 512, robot coordinate values and other data to and from the data transceiver 65 of the robot control device 6. Specifically, the data transceiver 55 sends the robot command signal generated by the control unit 54 to the data transceiver 65 of the robot control device 6.
[0067] The input unit 56 is, for example, an input device such as a keyboard or a mouse, or a touch sensor integrally formed with the display unit 58 . The input unit 56 receives input from an operator operating the numerical controller 5 , and outputs the input to the program editing unit 57 .
[0068] The program editing unit 57 edits or creates a machining program 511 based on the input from the input unit 56 , and stores the program 511 in the storage unit 51 .
[0069] The display unit 58 is a liquid crystal display or the like, and displays various information in accordance with the control performed by the control unit 54. For example, the display unit 58 displays variable list information 513.
[0070] Next, the structure of the robot control device 6 will be described in detail. Figure 1As shown in FIG. 1 , in the robot control device 6, various functions such as a storage unit 61, a program input unit 62, an analysis unit 63, a control unit 64, a data transceiver unit 65, an input unit 66, a program editing unit 67, and a display unit 68 are realized by the above hardware configuration. The robot control device 6 controls the operation of the robot 3 based on the robot program 611 or the instruction sent from the numerical controller 5 by using the program input unit 62, the analysis unit 63, the control unit 64, and the data transceiver unit 65.
[0071] The data transceiver 65 receives the robot command signal transmitted from the data transceiver 55 of the numerical controller 5. In addition, the data transceiver 65 sequentially outputs the received robot command signal to the analysis unit 63. In addition, the data transceiver 65 transmits and receives the custom macro variable 512 of the numerical controller 5 based on the robot program 611.
[0072] The storage unit 61 stores the robot program 611 and the variable list information 612. The variable list information 612 stores the variable 512 and the machining program 511 and / or the program name of the robot program 611 using the variable 512 in association with each other.
[0073] The program input unit 62 reads the robot program 611 from the storage unit 61 , and sequentially inputs the robot program 611 to the analysis unit 63 .
[0074] The analyzing unit 63 analyzes the command type based on the robot program 611 input from the program input unit 62 for each command block, and outputs the analysis result to the control unit 64. In addition, the analyzing unit 63 analyzes the robot command signal input from the data transceiver 65. The analyzing unit 63 outputs the analysis result to the control unit 64.
[0075] The control unit 64 performs functions such as a robot command generation unit, a program management unit, a trajectory control unit, a kinematic control unit, and a servo control unit as described below.
[0076] The robot command generation unit generates a robot command corresponding to the robot command signal based on the analysis result of the robot command signal input from the analysis unit 63. The robot command generation unit outputs the generated robot command to the program management unit.
[0077] When the robot command is input from the robot command generation unit, the program management unit generates a motion plan of the robot 3 corresponding to the robot instruction signal by sequentially executing the robot command, and outputs the motion plan to the trajectory control unit.
[0078] Furthermore, when the robot command input from the robot command generating unit is a block robot command, the program management unit adds the input block robot command to the robot program already stored in the storage unit 61. Thus, a robot program corresponding to the robot command signal sent from the numerical controller 5 is generated and stored in the storage unit 61. When the program management unit receives the robot program start command as the robot command, the stored robot program is started and reproduced.
[0079] When the motion plan is input from the program management unit, the trajectory control unit calculates the time series data of the control points of the robot 3 and outputs the time series data to the kinematic control unit.
[0080] The kinematic control unit calculates the target angle of each joint of the robot 3 based on the input time series data, and inputs the target angle to the servo control unit.
[0081] The servo control unit performs feedback control on each servomotor of the robot 3 in order to realize the target angle input from the kinematic control unit, thereby generating a robot control signal for the robot 3 and inputting the signal to the servomotor of the robot 3 .
[0082] The input unit 66 is, for example, an input device such as a keyboard or a mouse, or a touch sensor integrally formed with the display unit 68 . The input unit 66 receives input from an operator operating the robot control device 6 and outputs it to the program editing unit 67 .
[0083] The program editing unit 67 edits or creates a robot program 611 based on the input from the input unit 66 , and stores the program in the storage unit 61 .
[0084] The display unit 68 is a liquid crystal display or the like, and displays various information in accordance with the control performed by the control unit 64. For example, the display unit 68 displays variable list information 612.
[0085] Next, in the numerical control system 1 of the present embodiment, a process for preventing a malfunction that may occur when the custom macro variable 512 is used in the machining program 511 will be described.
[0086] The variable list information generating unit 41 of the industrial device 4 notifies the data transmitting and receiving unit 43 of the industrial device 4 of a request to obtain all the machining programs 511 stored in the storage unit 51 of the numerical controller 5. Here, all the machining programs 511 include variables 512.
[0087] The data transceiver 43 of the industrial device 4 acquires all the machining programs 511 read from the storage unit 51 of the numerical controller 5 via the data transceiver 5 , and inputs the acquired data to the variable list information generating unit 41 .
[0088] The variable list information generating unit 41 creates the variable list information 513 and searches for the variable 512 included in the input machining program 511. The searched variable 512 is associated with the machining program 511 including the variable 512 and added to the variable list information 513. After searching all the input machining programs 511, the variable list information generating unit 41 inputs the variable list information 513 to the variable list information output unit 42.
[0089] The variable list information output unit 42 outputs the variable list information to the display unit 44 of the industrial device 4, and the display unit 44 displays the variable list information 513. The variable list information output unit 42 outputs the variable list information 513 to the data transceiver unit 43 of the industrial device 4, and the data transceiver unit of the industrial device 4 sends the variable list information 513 to the data transceiver unit 55 of the numerical control device 5.
[0090] The numerical controller 5 stores the variable list information 513 received by the data transceiver 55 in the storage unit 51. Thus, the numerical controller 5 can avoid editing, creating, and executing the machining program 511 in which the variables 512 are duplicated, using the variable list information 513.
[0091] Next, when creating or editing the machining program 511 , the input unit 56 of the numerical controller 5 notifies the program editing unit 57 of a request to create or edit the machining program 511 .
[0092] When creating the machining program 511 , the program editing unit 57 generates the machining program 511 and stores it in the storage unit 51 . When editing the machining program 511 , the program editing unit 57 reads the machining program 511 from the storage unit 51 .
[0093] When editing the machining program 511 , the variable 512 is input from the input unit 56 to the program editing unit 57 . Then, the program editing unit 57 reads the variable list information 513 from the storage unit 51 , and determines whether the input variable 512 exists in the variable list information 513 .
[0094] When the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511 being edited and the variable 512 based on the variable list information 513. When the machining program 511 being edited and the variable 512 are not yet associated in the variable list information 513, the program editing unit 57 causes the display unit 58 to display a warning message and deletes the input variable 512.
[0095] When the machining program 511 is saved, the program editing unit 57 reads the variable list information 513 from the storage unit 51. When the variable 512 is used in the machining program 511, the program editing unit 57 determines whether the variable 512 to be used exists in the variable list information 513.
[0096] When the variable 512 exists in the variable list information 513 , the program editing unit 57 determines the correspondence relationship between the machining program 511 to be stored and the variable 512 based on the variable list information 513 .
[0097] When the machining program 511 and the variable 512 are not associated in the variable list information 513, the program editing unit 57 displays a warning message on the display unit 58 and prohibits saving the machining program 511. When the machining program 511 is a variable that does not exist in the variable list information, or when the corresponding relationship between the machining program 511 and the variable 512 is the variable 512 associated in the variable list information 513, the program editing unit 57 saves the machining program 511.
[0098] When the machining program 511 is executed, the program input unit 52 reads the machining program 511 from the storage unit 51 and inputs it to the analysis unit 53. The analysis unit 53 analyzes the instruction type based on the machining program 511 for each instruction block. When analyzing the variable 512, the analysis unit 53 reads the variable list information 513 from the storage unit 51 and determines whether the variable 512 exists in the variable list information 513.
[0099] When the variable 512 exists in the variable list information 513, the analyzing unit 53 determines the correspondence between the machining program 511 being executed and the variable 512 based on the variable list information 513. When the variable 512 is not associated with the machining program 511 being executed in the variable list information 513, the analyzing unit 53 stops the execution of the machining program.
[0100] When the variable 512 does not exist in the variable list information, or when the variable 512 is associated with the machining program 511 in the variable list information 513, the analysis unit 53 reads and writes the value of the variable 512 in the storage unit 51 according to the analysis result. For example, when the analysis unit 53 analyzes the movement command, the control unit 54 receives the movement command and drives the control axis of the machine tool 2 based on the movement command.
[0101] Next, a case where the variable list information 612 is generated from the machining program 511 and the robot program 611 is described. The variable list information generating unit 41 notifies the data transceiver unit 43 of the industrial device 4 of a request to obtain all machining programs 511 including the variables 512 stored in the storage unit 51 of the numerical controller 5 and a request to obtain all robot programs 611 including the variables 512 stored in the storage unit 61 of the robot controller 6.
[0102] The data transceiver 43 of the industrial device 4 acquires all the machining programs 511 including the variables 512 read from the storage unit 51 via the data transceiver 55 of the numerical controller 5. In addition, the data transceiver 43 acquires all the robot programs 611 including the variables 512 read from the storage unit 61 of the robot controller 6 via the data transceiver 65 of the robot controller 6. The data transceiver 43 inputs the acquired all the machining programs 511 and all the robot programs 611 into the variable list information generating unit 41.
[0103] The variable list information generating unit 41 creates the variable list information 612 and searches for the variables 512 included in the input machining program 511 and the robot program 611. The variable list information generating unit 41 associates the searched variables 512 with the machining program 511 or the robot program 611 including the variables 512 and adds the variables 512 to the variable list information 612. After searching all the input machining programs 511 and the robot program 611, the variable list information generating unit 41 inputs the variable list information 612 to the variable list information output unit 42.
[0104] The variable list information output unit 42 displays the variable list information 612 on the display unit 44 . The variable list information output unit 42 outputs the variable list information 612 to the data transceiver 43 , and the data transceiver 43 transmits the variable list information 612 to the data transceiver 65 of the robot controller 6 .
[0105] The robot controller 6 stores the variable list information 612 received by the data transceiver 65 in the storage unit 61 of the robot controller 6 .
[0106] Next, a description will be given of a case where the robot program 611 is created or edited. The input unit 66 of the robot control device 6 notifies the program editing unit 67 of a request to create or edit the robot program 611 .
[0107] When creating the robot program 611 , the program editing unit 67 generates the robot program 611 and stores it in the storage unit 61 . When editing the robot program 611 , the program editing unit 67 reads the robot program 611 from the storage unit 61 .
[0108] When editing a robot program, the input unit 66 inputs the variable 512 to the program editing unit 67. The program editing unit 67 reads the variable list information 612 from the storage unit 61, and determines whether the input variable 512 is a variable existing in the variable list information 612. When the variable 512 exists in the variable list information 612, the program editing unit 67 determines the correspondence between the robot program 611 being edited and the variable 512 based on the variable list information 612.
[0109] When the machining program 511 or the robot program 611 and the variable 512 are not associated with each other in the variable list information 612 , the program editing unit 67 displays a warning message on the display unit 68 of the robot controller 6 and deletes the input variable 512 .
[0110] When saving the robot program 611, the program editing unit 67 reads the variable list information 612 from the storage unit 61. When the variable 512 is used in the robot program 611, it is determined whether the variable 512 to be used exists in the variable list information.
[0111] When the variable 512 exists in the variable list information 612, the program editing unit 67 determines the correspondence between the robot program 611 and the variable 512 based on the variable list information 612. When the robot program 611 and the variable 512 are not associated in the variable list information 612, the program editing unit 67 displays a warning message on the display unit 68 and prohibits saving of the robot program 611.
[0112] When the variable 512 does not exist in the variable list information 612 , or when the robot program 611 and the variable 512 are associated with each other in the variable list information 612 , the program editing unit 67 stores the robot program 611 in the storage unit 61 .
[0113] When the robot program 611 has been executed, the program input unit 62 reads the robot program 611 from the storage unit 61 and inputs the readout to the analysis unit 63 .
[0114] The analyzing unit 63 analyzes the command type based on the robot program 611 for each command block. When analyzing the variable 512 , the analyzing unit 63 reads the variable list information 612 from the storage unit 61 and determines whether the variable 512 exists in the variable list information 612 .
[0115] When the variable 512 exists in the variable list information 612 , the analyzing unit 63 determines the correspondence relationship between the robot program 611 being executed and the variable 512 based on the variable list information 612 .
[0116] When the variable 512 is not associated with the robot program 611 being executed in the variable list information 612, the analyzing unit 63 terminates the execution of the robot program 611. When the variable 512 does not exist in the variable list information, or when the robot program 611 is associated with the variable 512 in the variable list information 612, the analyzing unit 63 reads and writes the variable 512 in the storage unit 51 of the numerical controller 5 via the data transceiver unit 55 and the data transceiver unit 65 according to the analysis result. For example, when the analyzing unit 63 analyzes the movement command, the control unit 64 drives each joint of the robot 3 based on the movement command.
[0117] [First embodiment]
[0118] For reference Figure 2 to Figure 10 , while explaining the processing of the numerical control system 1 according to the first embodiment. Figure 2 to Figure 7 is a diagram showing an example of processing of the numerical control system 1 according to the first embodiment. Figure 8 to Figure 10 This is a flowchart showing the flow of processing of the numerical control system 1 according to the first embodiment.
[0119] The numerical control system 1 according to the first embodiment uses and executes the variable 512 used in the existing machining program 511 a .
[0120] Figure 8 1 is a flowchart showing the processing of the industrial device 4 according to the first embodiment. In step S1, the variable list information generating unit 41 notifies the data transceiver unit 43 of the industrial device 4 of a request to obtain all the processing programs 511 stored in the storage unit 51 of the numerical controller 5. Here, all the processing programs 511 include variables 512. The data transceiver unit 43 obtains all the processing programs 511 read from the storage unit 51 of the numerical controller 5 via the data transceiver unit 55 of the numerical controller 5, and inputs them to the variable list information generating unit 41 (refer to Figure 2 ).
[0121] In step S2, the variable list information generating unit 41 creates variable list information 513 and searches for variables 512 (see Figure 3 The retrieved variable 512 is associated with the machining program 511 including the variable 512 and added to the variable list information 513 (see Figure 4 ). Here, if Figure 4 As shown, the variable list information 513 stores the variables 512 in use in association with the program names of the machining programs 511 that use the variables 512. After searching all the input machining programs 511, the variable list information generating unit 41 inputs the variable list information 513 to the variable list information output unit 42.
[0122] In step S3, the variable list information output unit 42 outputs the variable list information 513 to the data transceiver unit 43 of the industrial device 4, and the data transceiver unit 4 of the industrial device 4 sends the variable list information 513 to the data transceiver unit 55 of the numerical control device 5 (see Figure 5 ).
[0123] Fig. 9 This is a flowchart showing the processing when editing the machining program 511 in the numerical controller 5 of the first embodiment. In step S11, the input unit 56 of the numerical controller 5 notifies the program editing unit 57 of a request to edit the machining program 511a. The program editing unit 57 reads the machining program 511a from the storage unit 51, and the input unit 56 inputs the variable 512 to the program editing unit 57. In addition, the program editing unit 57 reads the variable list information 513 from the storage unit 51.
[0124] In step S12, the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (Yes), the process moves to step S13. On the other hand, if the variable 512 does not exist in the variable list information 513 (No), the process moves to step S16.
[0125] In step S13, when the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511a being edited and the variable 512 based on the variable list information 513. When the correspondence between the machining program 511a and the variable 512 is different, if the machining program 511a and the variable 512 are not associated (Yes), the process moves to step S14. On the other hand, if the machining program 511a and the variable 512 are associated (No), the process moves to step S16.
[0126] In step S14, the program editing unit 57 deletes the input variable 512 in the existing machining program 511a as it is not used.
[0127] In step S15, the program editing unit 57 displays a warning message on the display unit 58 (see Figure 6 ).exist Figure 6 In the example of , the display unit 58 displays a warning message indicating that "variable #121 is used in machining program name O0456, and machining program name O0123 cannot be stored." Here, machining program name O0123 indicates the machining program 511a.
[0128] In step S16 , the program editing unit 57 uses the variable 512 to edit the existing machining program 511 a .
[0129] Fig.10 1 is a flowchart showing the processing of the numerical controller 5 according to the first embodiment. In step S21, the input unit 56 of the numerical controller 5 notifies the program editing unit 57 of a request to execute the machining program 511a. The program editing unit 57 reads the machining program 511a from the storage unit 51, and the input unit 56 inputs the variable 512 to the program editing unit 57. In addition, the program editing unit 57 reads the variable list information 513 from the storage unit 51.
[0130] In step S22, the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (Yes), the process moves to step S23. On the other hand, if the variable 512 does not exist in the variable list information 513 (No), the process moves to step S26.
[0131] In step S23, when the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511a and the variable 512 based on the variable list information 513. When the correspondence between the machining program 511a and the variable 512 is different, that is, when the machining program 511a and the variable 512 are not associated (Yes), the process moves to step S24. On the other hand, when the machining program 511a and the variable 512 are associated (No), the process moves to step S26.
[0132] In step S24, the program editing unit 57 does not use the input variable 512 in the existing machining program 511a, and stops or prohibits the execution of the machining program 511a.
[0133] In step S25, the program editing unit 57 displays a warning message indicating that the existing machining program 511a cannot be executed on the display unit 58 (see Figure 7 ).
[0134] In step S26 , the program editing unit 57 executes the existing machining program 511 a using the variable 512 .
[0135] With such a configuration, the numerical control system 1 of the first embodiment notifies the numerical control device 5 of the variable list information 513 of the variables 512 associated with the machining programs 511 from all the machining programs 511. Thus, the numerical control system 1 can avoid editing machining programs that duplicate variables associated with the machining programs.
[0136] In addition, when executing a machining program that duplicates the variables associated with the machining program, the numerical control system 1 stops or prohibits the execution of the machining program based on the variable list information. Thus, the numerical control system 1 can avoid machining defects, damage to the machine tool 2, collision between the machine tool 2 and the robot 3, and other undesirable conditions that may occur due to duplication of variables associated with the machining program.
[0137] Furthermore, the numerical control system 1 creates variable list information 513 of the variables 512 associated with the machining programs 511 from all the machining programs 511 of the numerical control device 5, and outputs and displays the variable list information 513. Thus, the numerical control system 1 can save the time and effort of confirming the machining program when determining the variables to be used for a new application.
[0138] In addition, in the numerical control system 1, the case where the variable is not used includes at least one of a case where the variable is prohibited from being saved, a case where the variable is prohibited from being referenced, and a case where the machining program including the variable is prohibited from being executed. With such a structure, the numerical control system 1 can appropriately avoid machining defects, damage to the machine tool 2, collision between the machine tool 2 and the robot 3, and other undesirable conditions that may be caused by duplication of variables associated with the machining program.
[0139] In addition, the numerical control device 5 further includes a display unit 58 that displays a warning message indicating that the variable is not used when the variable is not used. With such a configuration, the numerical control system 1 can appropriately notify the user that the variable is not used.
[0140] [Second embodiment]
[0141] One side reference Figure 2 to Figure 5 as well as Figure 11 to Figure 15 , while explaining the processing of the numerical control system 1 according to the second embodiment. Figure 2 to Figure 5 , Fig.11 and Fig.12 is a diagram showing an example of processing of the numerical control system 1 according to the second embodiment. Figure 13 to Figure 15 This is a flowchart showing the flow of processing of the numerical control system 1 according to the second embodiment.
[0142] The numerical control system 1 of the second embodiment uses a new machining program 511 b and executes the variable 512 used in the machining program 511 .
[0143] Fig.131 is a flowchart showing the processing of the industrial device 4 according to the second embodiment. In step S31, the variable list information generating unit 41 notifies the data transceiver unit 43 of the industrial device 4 of a request to obtain all the processing programs 511 stored in the storage unit 51 of the numerical controller 5. Here, all the processing programs 511 include variables 512. The data transceiver unit 43 obtains all the processing programs 511 read from the storage unit 51 of the numerical controller 5 via the data transceiver unit 55 of the numerical controller 5, and inputs them to the variable list information generating unit 41 (refer to Figure 2 ).
[0144] In step S32, the variable list information generating unit 41 creates variable list information 513 and searches for variables 512 (see Figure 3 The retrieved variable 512 is associated with the machining program 511 including the variable 512 and added to the variable list information 513 (see Figure 4 ). Here, if Figure 4 As shown, the variable list information 513 stores the variables 512 in use in association with the program names of the machining programs 511 that use the variables 512. After searching all the input machining programs 511, the variable list information generating unit 41 inputs the variable list information 513 to the variable list information output unit 42.
[0145] In step S33, the variable list information output unit 42 outputs the variable list information 513 to the data transceiver unit 43 of the industrial device 4, and the data transceiver unit 4 of the industrial device 4 sends the variable list information 513 to the data transceiver unit 55 of the numerical control device 5 (see Figure 5 ).
[0146] Fig.14 This is a flowchart showing the processing when editing or creating the machining program 511b in the numerical controller 5 of the second embodiment. In step S41, the input unit 56 of the numerical controller 5 notifies the program editing unit 57 of a request to edit or create the machining program 511b. The program editing unit 57 reads the machining program 511b from the storage unit 51, and the input unit 56 inputs the variable 512 to the program editing unit 57. In addition, the program editing unit 57 reads the variable list information 513 from the storage unit 51.
[0147] In step S42, the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (Yes), the process moves to step S43. On the other hand, if the variable 512 does not exist in the variable list information 513 (No), the process moves to step S46.
[0148] In step S43, when the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511b and the variable 512 based on the variable list information 513. When the correspondence between the machining program 511b and the variable 512 is different, that is, when the machining program 511b and the variable 512 are not associated (Yes), the process moves to step S44. On the other hand, when the machining program 511b and the variable 512 are associated (No), the process moves to step S46.
[0149] In step S44, the program editing unit 57 deletes the input variable 512 without using it in the new machining program 511b. Alternatively, the program editing unit 57 may prohibit the new machining program 511b from being saved without using the input variable 512.
[0150] In step S45, the program editing unit 57 displays a warning message on the display unit 58 (see Fig.11 ).exist Fig.11 In the example of FIG. 5 , the display unit 58 displays a warning message indicating that “variable #101 is used in machining program name O0123, and machining program name O0789 cannot be stored.” Here, machining program name O0789 indicates machining program 511b.
[0151] In step S46 , the program editing unit 57 uses the variable 512 to edit or create a new machining program 511 b .
[0152] Fig.15 1 is a flowchart showing the processing of the numerical controller 5 according to the second embodiment. In step S51, the input unit 56 of the numerical controller 5 notifies the program editing unit 57 of a request to execute the machining program 511b. The program editing unit 57 reads the machining program 511b from the storage unit 51, and the input unit 56 inputs the variable 512 to the program editing unit 57. In addition, the program editing unit 57 reads the variable list information 513 from the storage unit 51.
[0153] In step S52, the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (Yes), the process moves to step S53. On the other hand, if the variable 512 does not exist in the variable list information 513 (No), the process moves to step S56.
[0154] In step S53, when the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511b and the variable 512 based on the variable list information 513. When the correspondence between the machining program 511b and the variable 512 is different, that is, when the machining program 511b and the variable 512 are not associated (Yes), the process moves to step S54. On the other hand, when the machining program 511b and the variable 512 are associated (No), the process moves to step S56.
[0155] In step S54, the program editing unit 57 does not use the input variable 512 in the machining program 511b, and stops or prohibits the execution of the machining program 511b.
[0156] In step S55, the program editing unit 57 displays a warning message indicating that the machining program 511b cannot be executed on the display unit 58 (see Fig.12 ).
[0157] In step S56 , the program editing unit 57 uses the variable 512 to execute the new machining program 511 b .
[0158] With such a configuration, the numerical control system 1 of the second embodiment notifies the numerical control device 5 of the variable list information 513 of the variables 512 associated with the machining program 511 from all the machining programs 511. Thus, the numerical control system 1 can avoid editing or creating a machining program that duplicates the variables associated with the machining program.
[0159] In addition, when executing a machining program that duplicates the variables associated with the machining program, the numerical control system 1 stops or prohibits the execution of the machining program based on the variable list information. Thus, the numerical control system 1 can avoid machining defects, damage to the machine tool 2, collision between the machine tool 2 and the robot 3, and other undesirable conditions that may occur due to duplication of variables associated with the machining program.
[0160] [Third Embodiment]
[0161] For reference Figure 16 to Figure 24 , while explaining the processing of the numerical control system 1 according to the third embodiment. Figure 16 to Figure 21 1 is a diagram showing an example of processing of the numerical control system 1 according to the third embodiment. Figure 22 to Figure 24 This is a flowchart showing the flow of processing of the numerical control system 1 according to the third embodiment. The numerical control system 1 according to the third embodiment uses and executes the variable 512 used in the machining program 511 in the robot program 611 a .
[0162] Fig. 22This is a flowchart showing the processing of the industrial device 4 according to the third embodiment. In step S61, the variable list information generating unit 41 notifies the data transceiver unit 43 of the industrial device 4 of a request to obtain all the machining programs 511 including the variables 512 stored in the storage unit 51 of the numerical controller 5 and a request to obtain all the robot programs 611 including the variables 512 stored in the storage unit 61 of the robot controller 6.
[0163] The data transceiver 43 obtains all machining programs 511 including the variables 512 read from the storage unit 51 via the data transceiver 55 of the numerical controller 5. In addition, the data transceiver 43 obtains all robot programs 611 including the variables 512 read from the storage unit 61 of the robot controller 6 via the data transceiver 65 of the robot controller 6. The data transceiver 43 inputs all the obtained machining programs 511 and all the robot programs 611 into the variable list information generating unit 41. (See Fig.16 ).
[0164] In step S62, the variable list information generating unit 41 creates variable list information 612 and searches for variables 512 (see FIG. 5 ) included in the input machining program 511 and the robot program 611. Fig.17 The variable list information generating unit 41 associates the retrieved variable 512 with the machining program 511 or the robot program 611 including the variable 512 and adds the result to the variable list information 612 (see Fig.18 ). Here, if Fig.18 As shown, the variable list information 612 stores the variables in use in association with the program names of the machining program 511 and / or the robot program 611. After searching all the input machining programs 511 and robot programs 611, the variable list information generating unit 41 inputs the variable list information 612 to the variable list information output unit 42.
[0165] In step S63 , the variable list information output unit 42 outputs the variable list information 612 to the data transceiver unit 43 , and the data transceiver unit 43 outputs the variable list information 612 to the data transceiver unit 65 of the robot controller 6 .
[0166] Fig.23Flowchart showing the processing when editing or creating the robot program 611a in the robot control device 6 of the third embodiment. In step S71, the input unit 66 of the robot control device 6 notifies the program editing unit 67 of a request to create or edit the robot program 611. When creating the robot program 611, the program editing unit 67 generates the robot program 611 and stores it in the storage unit 61. When editing the robot program 611, the program editing unit 67 reads the robot program 611 from the storage unit 61. When editing the robot program, the input unit 66 inputs the variable 512 to the program editing unit 67.
[0167] In step S72, the program editing unit 67 reads the variable list information 612 from the storage unit 61, and determines whether the input variable 512 exists in the variable list information 612. If the input variable 512 exists in the variable list information 612 (Yes), the process moves to step S73. On the other hand, if the variable 512 does not exist in the variable list information 612 (No), the process moves to step S76.
[0168] In step S73, when the variable 512 exists in the variable list information 612, the program editing unit 67 determines the correspondence between the robot program 611a and the variable 512 based on the variable list information 612. When the correspondence between the robot program 611a and the variable 512 is different, that is, when the robot program 611a and the variable 512 are not associated (Yes), the process moves to step S74. On the other hand, when the robot program 611a and the variable 512 are associated (No), the process moves to step S76.
[0169] In step S74, the program editing unit 67 deletes the input variable 512 in the robot program 611a without using it. Alternatively, the program editing unit 67 may prohibit saving the robot program 611a without using the input variable 512.
[0170] In step S75, the program editing unit 57 displays a warning message on the display unit 68 (see Fig. 20 ).exist Fig. 20 In the example of , the display unit 68 displays a warning message indicating that “variable #101 is used by machining program name O0123 and robot program name TEST1, and robot program name TEST2 cannot be saved.” Here, robot program name TEST2 indicates the robot program 611a.
[0171] In step S76 , the program editing unit 67 uses the variable 512 to edit or create the robot program 611 a .
[0172] Fig.24This is a flowchart showing the processing when the robot program 611 a is executed in the robot control device 6 according to the third embodiment. In step S81 , when the robot program 611 is already executed, the program input unit 62 reads the robot program 611 from the storage unit 61 and inputs the robot program 611 to the analysis unit 63 .
[0173] In step S82, the analysis unit 63 analyzes the instruction type based on the robot program 611a for each instruction block. When analyzing the variable 512, the analysis unit 63 reads the variable list information 612 from the storage unit 61 and determines whether the variable 512 exists in the variable list information 612. When the variable 512 exists in the variable list information 612 (yes), the process transfers to step S83. On the other hand, when the variable 512 does not exist in the variable list information 612 (no), the process transfers to step S86.
[0174] In step S83, the analyzing unit 63 determines the correspondence between the robot program 611a being executed and the variable 512 based on the variable list information 612. When the correspondence between the robot program 611a and the variable 512 is different, that is, when the variable 512 is not associated with the robot program 611a being executed (Yes), the process moves to step S84. On the other hand, when the variable 512 does not exist in the variable list information, or when the robot program 611 and the variable 512 are associated in the variable list information 612 (No), the process moves to step S86.
[0175] In step S84 , the analyzing unit 63 does not use the variable 512 in the robot program 611 a , and stops or prohibits the execution of the robot program 611 a .
[0176] In step S85, the analyzing unit 63 displays a warning message indicating that the robot program 611a cannot be executed on the display unit 68 (see Fig.21 ).
[0177] In step S86, the analyzing unit 63 executes the robot program 611a using the variable 512. Specifically, the control unit 64 reads and writes the variable 512 of the storage unit 51 of the numerical controller 5 via the data transceiver 55 and the data transceiver 65 according to the analysis result. For example, when the analyzing unit 63 analyzes the movement command, the control unit 64 drives each joint of the robot 3 based on the movement command.
[0178] With such a configuration, the numerical control system 1 of the third embodiment notifies the robot controller 6 of the variable list information 612. Thus, when editing a robot program, for example, the numerical control system 1 prohibits saving of a robot program that uses variables associated with a machining program based on the variable list information, and notifies a warning message. Thus, the numerical control system 1 can avoid creating a robot program that duplicates the use of variables that have already been associated with a machining program.
[0179] Furthermore, when executing a robot program that repeatedly uses variables associated with a machining program, the numerical control system 1 prohibits the execution of the robot program before reading and writing the variables associated with the machining program based on the variable list information. Thus, the numerical control system 1 can avoid machining defects caused by the robot 3 writing the values of the variables in the machining program, damage to the machine tool 2, and possible collisions between the machine tool 2 and the robot 3 caused by the robot 3 reading the values of the variables in the machining program.
[0180] In addition, the variable list information generating unit 41 obtains the variable 512 from all the robot programs 611 in the robot control device 6, and adds the correspondence between the variable 512 and the robot program 611 to the variable list information 612. When the variable 512 included in the variable list information 612 is used in the robot program 611 that does not exist in the variable list information 612, the program editing unit 67 does not use the variable 512.
[0181] In this way, the numerical control system 1 can avoid adverse conditions such as poor processing caused by the robot 3 writing the value of the variable 512 in the processing program 511, damage to the machine tool 2, and collision between the machine tool 2 and the robot 3 caused by the robot 3 reading the value of the variable 512 in the processing program 511.
[0182] In addition, in the numerical control system 1, the case where the variable is not used includes at least one of a case where the variable is prohibited from being saved, a case where the variable is prohibited from being referenced, and a case where the robot program including the variable is prohibited from being executed. With such a structure, the numerical control system 1 can appropriately avoid undesirable conditions such as machining defects, damage to the machine tool 2, collision between the machine tool 2 and the robot 3, etc., which may be caused by duplication of variables associated with the machining program or the robot program.
[0183] In addition, the robot controller 6 further includes a display unit 68 that displays a warning message indicating that the variable is not used when the variable is not used. With such a configuration, the numerical control system 1 can appropriately notify the user that the variable is not used.
[0184] [Fourth embodiment]
[0185] One side reference Figure 16 to Figure 19 as well as Figure 25 to Figure 27 , while explaining the processing of the numerical control system 1 according to the fourth embodiment. Figure 16 to Figure 19 , Fig.25 as well as Fig.26 1 is a diagram showing an example of processing of the numerical control system 1 according to the fourth embodiment. Fig. 27 This is a flowchart showing the flow of processing of the numerical control system 1 according to the fourth embodiment.
[0186] The numerical control system 1 according to the fourth embodiment displays variable list information on an industrial device 4 .
[0187] Fig. 27 This is a flowchart showing the processing of the industrial device 4 according to the fourth embodiment. In step S91, the variable list information generating unit 41 notifies the data transceiver unit 43 of the industrial device 4 of a request to obtain all the machining programs 511 including the variables 512 stored in the storage unit 51 of the numerical controller 5 and a request to obtain all the robot programs 611 including the variables 512 stored in the storage unit 61 of the robot controller 6.
[0188] The data transceiver 43 obtains all machining programs 511 including the variables 512 read from the storage unit 51 via the data transceiver 55 of the numerical controller 5. In addition, the data transceiver 43 obtains all robot programs 611 including the variables 512 read from the storage unit 61 of the robot controller 6 via the data transceiver 65 of the robot controller 6. The data transceiver 43 inputs all the obtained machining programs 511 and all the robot programs 611 into the variable list information generating unit 41. (See Fig.16 ).
[0189] In step S92, the variable list information generating unit 41 creates the variable list information 612, and searches for the variables 512 (see FIG. 5 ) included in the input machining program 511 and the robot program 611. Fig.17 The variable list information generating unit 41 associates the retrieved variable 512 with the machining program 511 or the robot program 611 including the variable 512 and adds the result to the variable list information 612 (see Fig.18 ). Here, if Fig.18 As shown, the variable list information 612 stores the variables in use in association with the program names of the machining program 511 and / or the robot program 611. After searching all the input machining programs 511 and robot programs 611, the variable list information generating unit 41 inputs the variable list information 612 to the variable list information output unit 42.
[0190] In step S93, the variable list information output unit 42 displays the variable list information 612 on the display unit 44 (see Fig.25 ). In addition, the variable list information output unit 42 outputs the variable list information 612 to the data transceiver unit 43, and the data transceiver unit 43 sends the variable list information 612 to the data transceiver unit 65 of the robot controller 6. In addition, the data transceiver unit 43 sends the variable list information 612 to the data transceiver unit 55 of the numerical controller 5.
[0191] In step S94, the numerical controller 5 stores the variable list information 612 in the storage unit 51, and the robot controller 6 stores the variable list information 612 in the storage unit 61. When creating the machining program 511, the numerical controller 5 uses the variables in the machining program 511 or the robot program 611 that are not included in the variable list information 612 to create a new machining program 511c, and creates a new robot program 611c (see Fig.26 ).
[0192] With such a configuration, the numerical control system 1 of the fourth embodiment can avoid creating a machining program that repeatedly uses the variable 512 that has been associated with the machining program 511. In addition, the numerical control system 1 creates variable list information 612 of the variables 512 that have been associated with the machining program 511 from all the machining programs 511 of the numerical control device, and outputs the variable list information 612. Thus, the numerical control system 1 can save the time and effort of confirming the machining program 511 when deciding the variable to be used for a new purpose.
[0193] In addition, the variable list information generating unit 41 obtains the variable 512 from all the robot programs 611 in the robot control device 6, and adds the correspondence between the variable 512 and the robot program 611 to the variable list information 612. Thus, the numerical control system 1 can avoid the machining failure caused by the robot 3 writing the value of the variable 512 in the machining program 511, the damage of the machine tool 2, and the collision between the machine tool 2 and the robot 3 caused by the robot 3 reading the value of the variable 512 in the machining program 511.
[0194] The industrial device 4 further includes a display unit 44 that displays the correspondence between the variable 512 and the machining program 511 or the robot program 611 based on the variable list information 612. With such a configuration, the numerical control system can appropriately notify the user that the variable 512 is not used.
[0195] The above describes the embodiment of the present invention, but the numerical control system 1 can be implemented by hardware, software, or a combination thereof. In addition, the control method that can be performed by the numerical control system 1 can also be implemented by hardware, software, or a combination thereof. Here, the so-called implementation by software means that the computer reads the program and executes it.
[0196] The program can be stored using various types of non-transitory computer readable media (non-transitorycomputer readable medium) and supplied to the computer. Non-transitory computer readable media include various types of tangible recording media (tangible storage medium). Examples of non-transitory computer readable media include: magnetic recording media (such as hard disk drives), optical magnetic recording media (such as optical disks), CD-ROM (Read Only Memory), CD-R, CD-R / W, semiconductor memory (such as mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).
[0197] Although the present disclosure has been described in detail, the present disclosure is not limited to the above-mentioned embodiments. These embodiments may be subjected to various additions, substitutions, changes, partial deletions, etc., without departing from the scope of the main purpose of the present disclosure, or without departing from the contents recorded in the claims and the purpose of the present disclosure derived from their equivalents. In addition, these embodiments may also be combined for implementation. For example, in the above-mentioned embodiments, the order of each action or the order of each processing is only shown as an example, and the embodiments are not limited to these. In addition, the same is true when numerical values or mathematical formulas are used in the description of the above-mentioned embodiments.
[0198] The following supplementary notes are further disclosed with respect to the above-mentioned embodiment and modified examples.
[0199] (Note 1)
[0200] A numerical control system that controls a robot via a robot control device according to a machining program of the numerical control device, wherein the numerical control system comprises: a variable list information generating unit that obtains variables from all the machining programs in the numerical control device and generates variable list information that associates the variables with the machining programs; and a program editing unit that does not use the variables when the variables of the machining program included in the numerical control device or the robot program in the robot control device are used with a correspondence relationship different from that in the variable list information, and does not use the variables when the variables included in the variable list information are used in the machining program that does not exist in the variable list information.
[0201] (Note 2)
[0202] According to the numerical control system described in Note 1, the variable list information generating unit obtains the variables from all the robot programs in the robot control device and adds the correspondence between the variables and the robot programs to the variable list information. When the variables included in the variable list information are used in the robot program that does not exist in the variable list information, the program editing unit does not use the variables.
[0203] (Note 3)
[0204] A numerical control system according to Note 1 or 2, wherein the situation where the variable is not used includes at least one of a situation where saving the variable is prohibited, a situation where reference to the variable is prohibited, and a situation where execution of the machining program or the robot program containing the variable is prohibited.
[0205] (Note 4)
[0206] The numerical control system according to Supplementary Note 1 or 2, further comprising: a display unit that displays a warning message indicating that the variable is not used when the variable is not used.
[0207] (Note 5)
[0208] A numerical control system that controls a robot via a robot control device according to a machining program of the numerical control device, wherein the numerical control system comprises: a variable list information generating unit that obtains variables from all the machining programs in the numerical control device and generates variable list information that associates the variables with the machining programs; and a variable list information output unit that outputs the variable list information to an output device.
[0209] (Note 6)
[0210] The numerical control system according to Supplementary Note 5, wherein the variable list information generating unit obtains the variables from all robot programs in the robot controller, and adds the correspondence between the variables and the robot programs to the variable list information.
[0211] (Note 7)
[0212] The numerical control system according to Supplementary Note 6, further comprising: a display unit that displays the correspondence between the variable and the machining program or the robot program based on the variable list information.
[0213] (Note 8)
[0214] A numerical control device that uses a machining program to control a robot via a robot control device, wherein the numerical control device comprises: a variable list information generating unit that obtains variables from the machining program in the numerical control device or the robot program in the robot control device and generates variable list information that associates the variables with the machining program or the robot program; and a program editing unit that does not use the variables when the variables included in the machining program or the robot program are used with a correspondence relationship different from that in the variable list information, and does not use the variables when the variables included in the variable list information are used in the machining program that does not exist in the variable list information.
[0215] (Note 9)
[0216] A numerical control device according to Note 8, wherein the situation where the variable is not used includes at least one of a situation where saving the variable is prohibited, a situation where reference to the variable is prohibited, and a situation where execution of the machining program or the robot program containing the variable is prohibited.
[0217] (Note 10)
[0218] The numerical control device according to Supplementary Note 9, further comprising: a display unit that displays a warning message indicating that the variable is not used when the variable is not used.
[0219] (Note 11)
[0220] An industrial device, comprising: a receiving unit that receives a machining program or a robot program from a numerical control device or a robot control device; a variable list information generating unit that obtains variables from the machining program in the numerical control device or the robot program in the robot control device and generates variable list information that associates the variables with the machining program or the robot program; and a variable list information output unit that outputs the variable list information to an output device.
[0221] (Note 12)
[0222] The industrial device according to Supplementary Note 11, further comprising: a display unit that displays correspondence between the variable and the machining program or the robot program based on the variable list information.
[0223] (Note 13)
[0224] A computer program, wherein the computer program is used to cause a computer that controls a robot via a robot control device based on a processing program of a numerical control device to execute: the steps of obtaining variables from all processing programs in the numerical control device and generating variable list information that has associated the variables with the processing programs; the step of not using the variables when the variables of the processing program included in the numerical control device or the robot program in the robot control device are used with a correspondence different from that in the variable list information; and the step of not using the variables when the variables included in the variable list information are used in the processing program that does not exist in the variable list information.
[0225] Description of Reference Numerals
[0226] 1 Numerical control system
[0227] 2 Machine Tools
[0228] 3 Robots
[0229] 4 Industrial equipment
[0230] 5 Numerical control device
[0231] 6 Robot control device
[0232] 41 Variable list information generation unit
[0233] 42 Variable list information output section
[0234] 43 Data transceiver
[0235] 51 Storage
[0236] 52 Program input unit
[0237] 53 Analysis Department
[0238] 54 Control Department
[0239] 55 Data transceiver
[0240] 56 Input
[0241] 57 Program Editing Department
[0242] 58 Display
[0243] 61 Storage
[0244] 62 Program input unit
[0245] 63 Analysis Department
[0246] 64 Control Unit
[0247] 65 Data transceiver
[0248] 66 Input
[0249] 67 Program Editing Department
[0250] 68 Display unit.
Claims
1. A numerical control system, which controls a robot via a robot control device according to a processing program of a numerical control device, characterized in that: The numerical control system comprises: a variable list information generating unit that acquires variables from all the machining programs in the numerical control device and generates variable list information in which the variables are associated with the machining programs; A program editing unit that does not use the variables when the variables of the machining program included in the numerical control device or the robot program in the robot control device are used with a correspondence different from that of the variable list information, and does not use the variables when the variables included in the variable list information are used in the machining program that does not exist in the variable list information.
2. The numerical control system according to claim 1, characterized in that: a variable list information generating unit acquiring the variables from all the robot programs in the robot control device, and adding the correspondence between the variables and the robot programs to the variable list information; When the variable included in the variable list information is used in the robot program that is not present in the variable list information, the program editing unit does not use the variable.
3. The numerical control system according to claim 1 or 2, characterized in that: The case where the variable is not used includes at least one of a case where storage of the variable is prohibited, a case where reference to the variable is prohibited, and a case where execution of the machining program or the robot program including the variable is prohibited.
4. The numerical control system according to claim 1 or 2, characterized in that: The numerical control system further includes: a display unit that displays a warning message indicating that the variable is not used when the variable is not used.
5. A numerical control system that controls a robot via a robot control device according to a processing program of a numerical control device, characterized in that: The numerical control system comprises: a variable list information generating unit that acquires variables from all the machining programs in the numerical control device and generates variable list information in which the variables are associated with the machining programs; A variable list information output unit outputs the variable list information to an output device.
6. The numerical control system according to claim 5, characterized in that: The variable list information generating unit acquires the variables from all robot programs in the robot control device, and adds correspondence between the variables and the robot programs to the variable list information.
7. The numerical control system according to claim 6, characterized in that: The numerical control system further includes a display unit that displays correspondence between the variables and the machining program or the robot program based on the variable list information.
8. A numerical control device that uses a machining program to control a robot via a robot control device, characterized in that: The numerical control device comprises: a variable list information generating unit that acquires variables from the machining program in the numerical control device or the robot program in the robot control device and generates variable list information in which the variables are associated with the machining program or the robot program; A program editing unit that does not use the variable when the variable included in the machining program or the robot program is used with a correspondence different from the variable list information, and does not use the variable when the variable included in the variable list information is used in the machining program that does not exist in the variable list information.
9. The numerical control device according to claim 8, characterized in that: The case where the variable is not used includes at least one of a case where storage of the variable is prohibited, a case where reference to the variable is prohibited, and a case where execution of the machining program or the robot program including the variable is prohibited.
10. The numerical control device according to claim 9, characterized in that: The numerical control device further includes a display unit configured to display a warning message indicating that the variable is not used when the variable is not used.
11. An industrial device, characterized in that: have: a receiving unit that receives a machining program or a robot program from a numerical control device or a robot control device; a variable list information generating unit that acquires variables from the machining program in the numerical control device or the robot program in the robot control device and generates variable list information in which the variables are associated with the machining program or the robot program; A variable list information output unit outputs the variable list information to an output device.
12. The industrial device according to claim 11, characterized in that: The industrial device further includes a display unit configured to display correspondence between the variable and the machining program or the robot program based on the variable list information.
13. A computer program, characterized in that The computer program is used to cause a computer that controls a robot via a robot control device according to a machining program of a numerical control device to execute: A step of acquiring variables from all machining programs in the numerical control device and generating variable list information in which the variables are associated with the machining programs; When the variables of the machining program included in the numerical controller or the robot program included in the robot controller are used in a correspondence relationship different from that in the variable list information, a step of not using the variables; A step of not using the variable when the variable included in the variable list information is used in the machining program that is not present in the variable list information.
Citation Information
Patent Citations
Machine tool control device and production system
JP2018195055A
Numerical control system, and method for controlling industrial machine
WO2022097719A1