Numerical control systems and control methods for industrial machinery
By realizing variable storage and reading/writing between machine tool and robot control devices in the numerical control system, the flexibility problem of machine tool and robot linkage control in the prior art is solved, and flexible linkage control without adding I/O signals and editing ladder circuits is realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-05
- Publication Date
- 2026-03-10
AI Technical Summary
In existing technologies, when controlling machine tools and robots in a coordinated manner, it is necessary to connect numerical control devices and robot control devices, and to add I/O signals and edit ladder circuits, which makes it impossible to flexibly meet the needs of the processing site.
A numerical control system is provided, which realizes the linkage control of machine tool and robot actions through variable storage and reading/writing between numerical control device and robot control device, avoiding the addition of I/O signals and external devices and the editing of ladder circuit.
It enables the linkage control of machine tools and robots, reduces the dependence on I/O signals and external devices, and improves the flexibility of the processing site and the adaptability of automation methods.
Smart Images

Figure CN116368440B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to a numerical control system and a control method of an industrial machine. BACKGROUND
[0002] In recent years, in order to promote automation of a processing site, a numerical control system capable of controlling the operation of a machine tool that processes a workpiece and the operation of a robot that loads and unloads the workpiece to and from the machine tool in conjunction has been desired (for example, refer to Patent Literature 1). Generally, the operation of the machine tool is controlled by a numerical control device, and the operation of the robot is controlled by a robot control device. Therefore, in order to control the operation of the machine tool and the operation of the robot in conjunction, it is necessary to operate both the numerical control device and the robot control device. In contrast, in the numerical control system shown in Patent Literature 1, the operation program of the robot can be selected and the operation program can be set in accordance with a user instruction from the numerical control device side, thereby making the user's setting easy.
[0003] PRIOR ART DOCUMENTS
[0004] PATENT LITERATURE
[0005] Patent Literature 1: Japanese Patent Application Publication No. 2018-195055 SUMMARY
[0006] PROBLEMS TO BE SOLVED BY THE INVENTION
[0007] However, when the set machine tool and the subsequently set robot are controlled in conjunction, it is necessary to connect the numerical control device that controls the operation of the machine tool and the robot control device that controls the operation of the robot. At this time, it is also necessary to newly add I / O signals, M codes, and the like to these numerical control device and robot control device, or to newly set an external device such as a PLC (Programmable Logic Controller). At this time, since it is also necessary to transmit the I / O signals to the robot control device via the ladder circuit of the numerical control device, it is also necessary to edit the set ladder circuit. Therefore, in actual processing sites, it is sometimes difficult to respond flexibly.
[0008] The present disclosure was made in view of the above problems, and provides a numerical control system and a control method of an industrial machine that can easily control a machine tool and a robot in conjunction.
[0009] MEANS FOR SOLVING THE PROBLEMS
[0010] One embodiment of the present disclosure provides a numerical control system that controls the operations of a machine tool and a robot in linkage, including a numerical control device that controls the operation of the machine tool according to a numerical control program, a robot control device that controls the operation of the robot according to a robot control program, and a storage device that stores values of variables that can be read and written by the first control section and the second control section, the first control section reading the values of the variables stored in the storage device and controlling the operation of the machine tool according to the read values of the variables, and the second control section reading the values of the variables stored in the storage device and controlling the operation of the robot according to the read values of the variables.
[0011] One embodiment of the present disclosure provides a control method of an industrial machine that controls the operations of a machine tool and a robot in linkage using a numerical control system including a first control section that controls the operation of the machine tool according to a numerical control program, a second control section that controls the operation of the robot according to a robot control program, and a storage device that stores values of variables that can be read and written by the first control section and the second control section, the control method of the industrial machine including the steps of the first control section reading the values of the variables stored in the storage device and controlling the operation of the machine tool according to the read values of the variables, and the second control section reading the values of the variables stored in the storage device and controlling the operation of the robot according to the read values of the variables.
[0012] Effects of Invention
[0013] In one embodiment of the present disclosure, a numerical control system includes a first control section that controls the operation of a machine tool according to a numerical control program, a second control section that controls the operation of a robot according to a robot control program, and a storage device that stores values of variables that can be read and written from both the first control section and the second control section. The first control section reads the values of the variables that can be rewritten from the second control section, controls the operation of the machine tool according to the read values of the variables, and the second control section reads the values of the variables that can be rewritten from the first control section, controls the operation of the robot according to the read values of the variables. According to one embodiment of the present disclosure, notification and requests from the first control section to the second control section, notification and requests from the second control section to the first control section, and the like can be performed via the variables that can be read and written from both, and thus, the machine tool and the robot can be easily linked without newly adding I / O signals and external devices, or without editing the existing ladder circuit. In addition, according to one embodiment of the present disclosure, various automation methods can be addressed by causing the storage device to store the values of the variables. BRIEF DESCRIPTION OF DRAWINGS
[0014] Figure 1is a functional block diagram of the numerical control system of one embodiment of the present disclosure.
[0015] Figure 2 is a functional block diagram of the numerical control device and the robot control device.
[0016] Figure 3 is a diagram showing a first example of a numerical control program executed in a machine tool control module.
[0017] Figure 4 is a diagram showing a second example of a numerical control program executed in a machine tool control module.
[0018] Figure 5 is an example of a subroutine called by a numerical control program. DETAILED DESCRIPTION
[0019] Hereinafter, a numerical control system 1 of one embodiment of the present disclosure will be described with reference to the drawings.
[0020] Figure 1 is a functional block diagram of the numerical control system 1 of the present embodiment.
[0021] The numerical control system 1 has a machine tool 2 that machines a workpiece not shown, a numerical control device (CNC) 5 that controls the operation of the machine tool 2, a robot 3 that is provided in the vicinity of the machine tool 2, and a robot control device 6 that controls the operation of the robot 3. The numerical control system 1 controls the operations of the machine tool 2 and the robot 3 in linkage by using the numerical control device 5 and the robot control device 6 that are connected in a manner capable of communicating with each other.
[0022] The machine tool 2 is, for example, a lathe, a drill press, a milling machine, a grinder, a laser processing machine, an injection molding machine, or the like, but is not limited thereto. The machine tool 2 performs various operations such as a machining operation of a workpiece not shown, an opening and closing operation of a chuck that holds the workpiece, and an opening and closing operation of a door provided in a workpiece machining area, in accordance with various command signals transmitted from the numerical control device 5 in accordance with a process described later.
[0023] The robot 3 performs an operation under the control of the robot control device 6, such as a prescribed operation on a workpiece machined by the machine tool 2. The robot 3 is, for example, a multi-joint robot, and a tool 32 for holding, machining, and inspecting a workpiece is attached to a front end portion 31 of an arm portion thereof. Hereinafter, a case where the robot 3 is a 6-axis multi-joint robot will be described, but is not limited thereto. In addition, a case where the robot 3 is a 6-axis multi-joint robot will be described hereinafter, but the number of axes is not limited thereto.
[0024] The numerical control device 5 and the robot control device 6 are respectively computers composed of the following hardware units: a processing unit such as a CPU (Central Processing Unit), an auxiliary storage unit such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) for storing various programs, a main storage unit such as RAM (Random Access Memory) for storing data temporarily needed by the processing unit when executing programs, an operation unit such as a keyboard for the operator to perform various operations, and a display unit such as a display for showing various information to the operator. These robot control devices 6 and numerical control devices 5 can, for example, send and receive various signals to each other via Ethernet (registered trademark).
[0025] Figure 2 This is a functional block diagram of the numerical control device 5 and the robot control device 6.
[0026] First, the detailed structure of the numerical control device 5 will be explained. For example... Figure 2 As shown, in the numerical control device 5, the above-described hardware structure enables various functions such as a machine tool control module 50, which serves as the first control unit for controlling the operation of the machine tool 2; a storage unit 51 for storing numerical control programs; a variable storage unit 58 for storing the values of multiple variables that can be read and written by the machine tool control module 50 and the robot control module 60 described later; and a data transceiver unit 59.
[0027] The storage unit 51 stores numerical control programs for controlling the movements of the machine tool 2 (e.g., the movement of control axes, the rotation of the spindle, the opening and closing of the chuck, and the opening and closing of doors). In order to control the movements of the machine tool 2 in conjunction with the movements of the robot 3 under the control of the robot control device 6, the operator prepares the numerical control programs stored in the storage unit 51 in advance. These numerical control programs are described using programming languages such as G-code or M-code.
[0028] The machine tool control module 50 reads and writes variable values stored in the variable storage unit 58 according to the numerical control program, and controls the operation of the machine tool 2. More specifically, the machine tool control module 50 includes: a program input unit 52, an input parsing unit 53, an interpolation control unit 54, an I / O control unit 55, and a servo control unit 56.
[0029] The program input unit 52 reads the numerical control program from the storage unit 51 and inputs it sequentially into the input parsing unit 53.
[0030] The input parsing unit 53 parses the instruction categories of the numerical control program input from the program input unit 52 sequentially according to the program block, and sends the parsing results to the I / O control unit 55, the interpolation control unit 54, and the variable storage unit 58.
[0031] When the input parsing unit 53 receives a command based on the type of command obtained from the numerical control program, such as the command to open or close the chuck of the machine tool 2, or the command to open or close the door of the machine tool 2, it inputs the obtained command to the I / O control unit 55. When a command is input from the input parsing unit 53, the I / O control unit 55 inputs an I / O signal corresponding to the input command to the machine tool 2. As a result, the chuck and door of the machine tool 2 open and close according to the process determined by the numerical control program.
[0032] When the input parsing unit 53 receives a command from the numerical control program, such as a command to move the control axis of the machine tool 2, it inputs the received command to the interpolation control unit 54. When a command is input from the input parsing unit 53, the interpolation control unit 54 performs interpolation processing to calculate the movement path of the control axis corresponding to the command, and inputs the calculated movement path to the servo control unit 56. The servo control unit 56 performs feedback control on the servo motor of the machine tool 2, causing the control axis to move along the movement path calculated by the interpolation control unit 54. Thus, the operation of the machine tool 2 is controlled according to the process determined by the numerical control program.
[0033] When the input parsing unit 53 obtains the instruction category according to the numerical control program, such as the category of reading the variable value stored in the variable storage unit 58 or the category of rewriting the variable value stored in the variable storage unit 58, it inputs the obtained instruction into the variable storage unit 58.
[0034] The variable storage unit 58 has a variable memory 58m that stores the values of multiple variables. Based on the instructions input from the input parsing unit 53 and the instructions input from the robot control module 60 of the robot control device 6 (described later) via the data transceiver unit 59, the variable values stored in the variable memory 58m are read out or rewritten.
[0035] The variable memory 58m stores the values of multiple variables, specified by numbers or strings, in the numerical control program for controlling the actions of the machine tool 2 in the machine tool control module 50 and the robot control program for controlling the actions of the robot 3 in the robot control module 60. In this embodiment, the variables stored in the variable memory 58m are described as a subset of macro variables (e.g., #100 to #199, #500 to #599) defined by many numerical control devices, but are not limited thereto.
[0036] When the input parsing unit 53 inputs an instruction to read the variable value stored in the variable memory 58m, the variable storage unit 58 reads the variable value specified by the instruction from the variable memory 58m and sends the read value to the input parsing unit 53. Furthermore, when the input parsing unit 53 inputs an instruction to rewrite the variable value stored in the variable memory 58m, the variable storage unit 58 rewrites the variable value specified by the instruction in the variable memory 58m to a value corresponding to the instruction. Thus, the machine tool control module 50 can read or rewrite the values of variables stored in the variable memory 58m.
[0037] When the robot control module 60 inputs an instruction to read the variable value stored in the variable memory 58m via the data transceiver 59, the variable storage unit 58 reads the variable value specified by the instruction from the variable memory 58m and sends the read value to the robot control module 60 via the data transceiver 59. Furthermore, when the robot control module 60 inputs an instruction to rewrite the variable value stored in the variable memory 58m via the data transceiver 59, the variable storage unit 58 rewrites the variable value specified by the instruction in the variable memory 58m to a value corresponding to the instruction. Thus, the robot control module 60 can read or rewrite the values of variables stored in the variable memory 58m.
[0038] The variable memory 58m has: a first storage area 581, which stores the values of a plurality of first variables, the values of which are intended for notification and requests from the machine tool control module 50 to the robot control module 60; and a second storage area 582, which stores the values of a plurality of second variables, the values of which are intended for notification and requests from the robot control module 60 to the machine tool control module 50. The following explanation describes the case where variables #500 to #599 are assigned as first variables and variables #100 to #199 are assigned as second variables.
[0039] Since the first variable, which is intended to be stored in the first storage area 581, is used for notifications and requests from the machine tool control module 50 to the robot control module 60, it is preferable that it can be read from both the machine tool control module 50 and the robot control module 60, and at least can be rewritten from the machine tool control module 50. Similarly, since the second variable, which is intended to be stored in the second storage area 582, is used for notifications and requests from the robot control module 60 to the machine tool control module 50, it is preferable that it can be read from both the machine tool control module 50 and the robot control module 60, and at least can be rewritten from the robot control device 6.
[0040] For example, a first variable #500 is assigned to notify the robot control module 60 of the stop status of the spindle of machine tool 2 from machine tool control module 50. When the value of the first variable #500 is 0, it indicates that the spindle of machine tool 2 is in motion; when the value of the first variable #500 is 1, it indicates that the spindle of machine tool 2 is stopped.
[0041] For example, a first variable #501 is assigned to notify the robot control module 60 from the machine tool control module 50 that each axis of the machine tool 2 has retreated to a position outside the interference area when the robot 3 intrudes. When the value of the first variable #501 is 0, it indicates that each axis of the machine tool 2 is within the specified interference area; when the value of the first variable #501 is 1, it indicates that each axis of the machine tool 2 is outside the interference area.
[0042] For example, a first variable #502 is assigned to notify the robot control module 60 of the opening and closing status of the door of the machine tool 2. When the value of the first variable #502 is 0, it indicates that the door of the machine tool 2 is not open; when the value of the first variable #502 is 1, it indicates that the door of the machine tool 2 is open.
[0043] For example, a first variable #503 is assigned to request the robot control module 60 from the machine tool control module 50 to change the workpiece of the machine tool 2. When the value of the first variable #503 is 0, it indicates that no workpiece change has been requested; when the value of the first variable #503 is 1, it indicates that a workpiece change has been requested.
[0044] For example, a second variable #100 is assigned to request the robot control module 60 to stop the numerical control program being executed in the machine tool control module 50. When the value of the second variable #100 is 0, it indicates that the numerical control program has not been requested to be stopped; when the value of the second variable #100 is 1, it indicates that the numerical control program has been requested to be stopped.
[0045] For example, a second variable #101 is assigned to request the opening action of the door of the machine tool 2 from the robot control module 60 to the machine tool control module 50. When the value of the second variable #101 is 0, it indicates that the door opening action has not been requested, and when the value of the second variable #101 is 1, it indicates that the door opening action has been requested.
[0046] For example, a second variable #102 is assigned to request the closing action of the door of the machine tool 2 from the robot control module 60 to the machine tool control module 50. When the value of the second variable #102 is 0, it indicates that the door closing action has not been requested, and when the value of the second variable #102 is 1, it indicates that the door closing action has been requested.
[0047] For example, a second variable #103 is assigned to request the chuck opening action of the machine tool 2 from the robot control module 60 to the machine tool control module 50. When the value of the second variable #103 is 0, it indicates that the chuck opening action has not been requested; when the value of the second variable #103 is 1, it indicates that the chuck opening action has been requested.
[0048] For example, a second variable #104 is assigned to request the chuck closing action of the machine tool 2 from the robot control module 60 to the machine tool control module 50. When the value of the second variable #104 is 0, it indicates that the chuck closing action has not been requested; when the value of the second variable #104 is 1, it indicates that the chuck closing action has been requested.
[0049] For example, a second variable #105 is assigned to request the machine tool 2 to perform the first machining operation from the robot control module 60 to the machine tool control module 50. When the value of the second variable #105 is 0, it indicates that the first machining operation has not been requested; when the value of the second variable #105 is 1, it indicates that the first machining operation has been requested.
[0050] For example, a second variable #106 is assigned to request the machine tool 2 to perform a second machining operation from the robot control module 60 to the machine tool control module 50. When the value of the second variable #106 is 0, it indicates that the second machining operation has not been requested; when the value of the second variable #106 is 1, it indicates that the second machining operation has been requested.
[0051] For example, a second variable #107 is assigned to request the machine tool control module 50 from the robot control module 60 to perform a third machining operation on the machine tool 2. When the value of the second variable #107 is 0, it indicates that the third machining operation has not been requested; when the value of the second variable #107 is 1, it indicates that the third machining operation has been requested.
[0052] For example, a second variable #150 is assigned to notify the machine tool control module 50 of the motion status of robot 3 from robot control module 60. When the value of the second variable #150 is 0, it indicates that robot 3 is in motion; when the value of the second variable #150 is 1, it indicates that the motion of robot 3 is completed.
[0053] Furthermore, multiple variable values stored in the variable memory 58m are reset to a specified initial value (e.g., 0) in response to the activation of the numerical control device 5.
[0054] Next, the structure of the robot control device 6 will be described in detail. For example... Figure 2As shown, in the robot control device 6, the above-described hardware structure enables various functions such as the robot control module 60, which serves as the second control unit for controlling the actions of the robot 3, the storage unit 61 for storing the robot control program, and the data transceiver unit 69.
[0055] The storage unit 61 stores a robot control program for controlling the movements of the robot 3. The robot control program, which is stored in the storage unit 61, is created in advance by the operator in order to control the movements of the robot 3 in conjunction with the movements of the machine tool 2 under the control of the numerical control device 5.
[0056] The robot control module 60 reads and writes the values of variables stored in the variable storage unit 58 according to the robot control program, and controls the actions of the robot 3. More specifically, the robot control module 60 includes: a program input unit 62, an input parsing unit 63, a trajectory control unit 64, an I / O control unit 65, and a servo control unit 66.
[0057] The program input unit 62 reads the robot control program from the storage unit 61 and inputs it sequentially into the input parsing unit 63.
[0058] The input parsing unit 63 parses the instruction categories based on the robot control program input from the program input unit 62 in sequence according to the program blocks, and sends the parsing results to the trajectory control unit 64, the I / O control unit 65, and the data transceiver unit 69.
[0059] When the input parsing unit 63 receives an instruction from the robot control program, such as an instruction to move the control point of the robot 3 (e.g., the fore-end of the arm 31), it inputs the received instruction to the trajectory control unit 64. When the trajectory control unit 64 receives an instruction from the input parsing unit 63, it calculates the motion trajectory of the control point of the robot 3 to move to the position specified by the instruction, calculates the angles of each joint of the robot 3 corresponding to the calculated motion trajectory as target angles, and sends these target angles to the servo control unit 66. To achieve the target angles of each joint sent from the trajectory control unit 64, the servo control unit 66 generates robot control signals for the robot 3 by performing feedback control on each servo motor of the robot 3, and inputs these signals to the servo motors of the robot 3. Thus, the robot 3's movements are controlled according to the process determined in the robot control program.
[0060] When the input parsing unit 63 receives an instruction from the robot control program, such as an instruction to drive the tool 32 mounted on the arm end 31 of the robot 3, it inputs the received instruction to the I / O control unit 65. When the I / O control unit 65 receives an instruction from the input parsing unit 63, it inputs an I / O signal corresponding to the input instruction to the tool 32. Thus, the tool 32 of the robot 3 operates according to the process determined by the robot control program.
[0061] When the input parsing unit 63 obtains the instruction according to the type of instruction obtained from the robot control program, such as an instruction to read the variable value stored in the variable storage unit 58, or an instruction to rewrite the variable value stored in the variable storage unit 58, it inputs the obtained instruction to the data transceiver unit 69.
[0062] When the data transceiver unit 69 receives an instruction to read a variable value from the input parsing unit 63, it sends the instruction to the data transceiver unit 59 of the numerical control device 5. As described above, when such a read instruction is input, the variable storage unit 58 reads the variable value specified by the instruction from the variable memory 58m and sends the read value back to the input parsing unit 63 via the data transceiver unit 59 and the data transceiver unit 69. Furthermore, when the data transceiver unit 69 receives an instruction to rewrite a variable value from the input parsing unit 63, it sends the instruction to the data transceiver unit 59 of the numerical control device 5. As described above, when such a rewrite instruction is input, the variable storage unit 58 rewrites the variable value specified by the instruction in the variable memory 58m to a value corresponding to the instruction. Thus, the robot control module 60 can read or rewrite the values of variables stored in the variable memory 58m.
[0063] In the numerical control system 1 described above, the following steps are repeatedly executed in the order determined by the numerical control program and the robot control program: first variable rewriting step, second variable rewriting step, first variable reading step, second variable reading step, machine tool control step, and robot control step, thereby controlling the actions of the machine tool 2 and the robot 3 in a coordinated manner.
[0064] In the first variable rewriting process, the machine tool control module 50 rewrites the value of the first variable stored in the first storage area 581 of the variable memory 58m according to the numerical control program. This enables the machine tool control module 50 to send various notifications and requests to the robot control module 60.
[0065] In the second variable rewriting process, the robot control module 60 rewrites the value of the second variable stored in the second storage area 582 of the variable memory 58m according to the robot control program. This enables the robot control module 60 to send various notifications and requests to the machine tool control module 50.
[0066] In the second variable readout process, the machine tool control module 50 reads the value of the second variable stored in the second storage area 582 of the variable memory 58m according to the numerical control program. As described above, the value of the second variable is appropriately rewritten by the robot control module 60 in the second variable rewrite process. Therefore, by reading the value of the second variable, the machine tool control module 50 can obtain various notifications and requests from the robot control module 60.
[0067] In the first variable reading process, the robot control module 60 reads the value of the first variable stored in the first storage area 581 of the variable memory 58m according to the robot control program. As mentioned above, the value of the first variable is appropriately rewritten by the machine tool control module 50 in the first variable rewriting process. Therefore, by reading the value of the first variable, the robot control module 60 can obtain various notifications and requests from the machine tool control module 50.
[0068] In the machine tool control process, the machine tool control module 50 controls the movement of the machine tool 2 based on the numerical control program and the value of the second variable read in the aforementioned second variable readout process. Thus, the movement of the machine tool 2 can be controlled according to the timing and method determined by various notifications and requests sent from the robot control module 60.
[0069] In the robot control process, the robot control module 60 controls the actions of the robot 3 and the tool 32 according to the robot control program and the value of the first variable read in the aforementioned first variable readout process. Thus, the actions of the robot 3 can be controlled according to the timing and method determined by various notifications and requests sent from the machine tool control module 50.
[0070] Figure 3 This is a diagram showing the first example of a numerical control program executed in the machine tool control module 50.
[0071] First, in the program blocks numbered "N10" to "N16", various commands "G00", "M03", "G83", and "G80" for machining workpieces using the machine tool 2 are input to the machine tool control module 50. Thus, the machine tool control module 50 controls the actions of the machine tool 2 according to the process determined by the numerical control program, thereby machining the workpiece.
[0072] Next, in the program block indicated by serial number "N20", the command "S0" to stop the spindle rotation of machine tool 2 is input to machine tool control module 50. As a result, machine tool control module 50 stops the spindle rotation of machine tool 2.
[0073] Next, in the program block indicated by serial number "N21", the command "#500=1" is input to the machine tool control module 50 to change the value of the first variable #500 from its initial value of "0" to "1". Thus, in order to notify the robot control module 60 that the spindle of the machine tool 2 has stopped, the machine tool control module 50 changes the value of the first variable #500 stored in the first storage area 581 of the variable memory 58m from "0" to "1".
[0074] Next, in the program block indicated by serial number "N30", the machine tool control module 50 inputs a command "G00" to retract each axis of the machine tool 2 to outside the predetermined interference area. As a result, the machine tool control module 50 moves each axis of the machine tool 2 to the position specified by the command "G00".
[0075] Next, in the program block indicated by serial number "N31", the command "#501=1" is input to the machine tool control module 50 to change the value of the first variable #501 from its initial value of "0" to "1". Thus, in order to notify the robot control module 60 that each axis of the machine tool 2 exists outside the interference area, the machine tool control module 50 changes the value of the first variable #501 stored in the first storage area 581 of the variable memory 58m from "0" to "1".
[0076] Next, in the program block indicated by serial number "N32", the command "M88" to open the door of machine tool 2 is input to machine tool control module 50. As a result, machine tool control module 50 opens the door of machine tool 2.
[0077] Next, in the program block indicated by serial number "N33", the command "#502=1" is input to the machine tool control module 50 to change the value of the first variable #502 from its initial value of "0" to "1". Thus, in order to notify the robot control module 60 that the door of the machine tool 2 is open, the machine tool control module 50 changes the value of the first variable #502 stored in the first storage area 581 of the variable memory 58m from "0" to "1".
[0078] Next, in the program block indicated by serial number "N34", the machine tool control module 50 is input with the command "#503=1" to change the value of the first variable #503 from its initial value of "0" to "1". Thus, in order to respond to the robot control module 60's request for a workpiece replacement operation within the machine tool 2, the machine tool control module 50 changes the value of the first variable #503 stored in the first storage area 581 of the variable memory 58m from "0" to "1".
[0079] On the other hand, the robot control module 60 reads the values of the first variables #500, #501, #502, and #503 at a predetermined cycle according to the robot control program. Furthermore, when the values of the first variables #500, #501, #502, and #503 stored in the first storage area 581 of the variable memory 58m are all "1"—that is, when the spindle of machine tool 2 is stopped, each axis is outside the interference area, the door is open, and a workpiece change operation is requested from the machine tool control module 50—the robot control module 60 controls the actions of robot 3 and tool 32 according to a pre-determined process in the robot control program to change the workpiece. Therefore, in the machine tool control module 50, the robot control module 60 begins using the workpiece change operation of robot 3 and tool 32, triggered by the completion of the program block indicated by serial number "N34". In addition, when the workpiece changing action is completed, the robot control module 60 rewrites the value of the second variable #150 stored in the second storage area 582 of the variable memory 58m from the initial value "0" to "1" according to the robot control program.
[0080] Next, in the program blocks indicated by serial numbers "N36" to "N37", the machine tool control module 50 reads the value of the second variable #150 and repeatedly checks whether the read value is "0" at a predetermined period. That is, the machine tool control module 50 is in a state of waiting for the workpiece changing action performed by the robot control module 60 to be completed. When the value of the second variable #150 read is "1", that is, when the robot control module 60 receives a notification indicating that the workpiece changing action is completed, the machine tool control module 50 moves to the next program block indicated by serial number "N38".
[0081] Next, in the program block indicated by serial number "N38", the command "#503=0" is input to the machine tool control module 50 to change the value of the first variable #503 from "1" to "0". As a result, the machine tool control module 50 cancels (OFFs) the request for workpiece changing action from the robot control module 60.
[0082] Next, in the program block indicated by serial number "N39", the command "M89" to close the door of machine tool 2 is input to the machine tool control module 50. As a result, the machine tool control module 50 closes the door of machine tool 2.
[0083] Next, in the program block indicated by serial number "N40", the command "#502=0" is input to the machine tool control module 50 to change the value of the first variable #502 from "1" to "0". Thus, in order to notify the robot control module 60 that the door of the machine tool 2 is closed, the machine tool control module 50 changes the value of the first variable #502 stored in the first storage area 581 of the variable memory 58m from "1" to "0".
[0084] Next, in the program blocks indicated by serial numbers "N41" to "N43", various commands "M03" and "G00" for machining the new workpiece on the machine tool 2 are input to the machine tool control module 50. Thus, the machine tool control module 50 controls the actions of the machine tool 2 according to the process determined by the numerical control program, and performs machining on the workpiece.
[0085] Figure 4 This is a diagram representing the second example of a numerical control program executed in the machine tool control module 50.
[0086] In addition, the robot control module 60 controls the actions of the robot 3 according to the robot control program, and rewrites the values of the second variables #100 to #107 stored in the second storage area 582 of the variable memory 58m according to the robot control program.
[0087] Figure 4 The numerical control program shown monitors requests from the robot control module 60 by reading the values of the second variables #100 to #107 in the machine tool control module 50 at a predetermined cycle, and controls the actions of the machine tool 2 according to the read values of the second variables #100 to #107.
[0088] First, in the program blocks indicated by serial numbers "N60" to "N62", the machine tool control module 50 reads the value of the second variable #101 stored in the second storage area 582 of the variable memory 58m and determines whether the read value is "1". Additionally, when the value of the second variable #101 is "1", that is, when the robot control module 60 requests the door opening action of the machine tool 2, the machine tool control module 50 calls the subroutine with program number "0001" according to the command "M98" for calling the subroutine. When the value of the second variable #101 is "0", it moves to the next program block.
[0089] Figure 5 This is a diagram representing an example of a subroutine with program number "0001".
[0090] When calling Figure 5 When the subroutine is as shown, after the machine tool control module 50 opens the door of machine tool 2 according to the command "M88", it resets the value of the second variable #101 to "0", and then restores it to the previous state according to the command "M99". Figure 4 The main program shown.
[0091] Next, in the program blocks indicated by serial numbers "N70" to "N72", the machine tool control module 50 reads the value of the second variable #102 stored in the second storage area 582 of the variable memory 58m and determines whether the read value is "1". Furthermore, when the value of the second variable #102 is "1", that is, when the robot control module 60 requests the door closing action of the machine tool 2, the machine tool control module 50 executes the subroutine with program number "0002". When the value of the second variable #102 is "0", it moves to the next program block. Here, the machine tool control module 50 closes the door of the machine tool 2 by executing the subroutine with program number "0002", resets the value of the second variable #102 to "0", and then returns to the previous program block. Figure 4 The main program shown.
[0092] Next, in the program blocks indicated by serial numbers "N80" to "N82", the machine tool control module 50 reads the value of the second variable #103 stored in the second storage area 582 of the variable memory 58m and determines whether the read value is "1". Furthermore, when the value of the second variable #103 is "1", that is, when the robot control module 60 requests the chuck opening action of the machine tool 2, the machine tool control module 50 executes the subroutine with program number "0003". When the value of the second variable #103 is "0", it moves to the next program block. Here, the machine tool control module 50 closes the chuck of the machine tool 2 by executing the subroutine with program number "0003", resets the value of the second variable #103 to "0", and then returns to... Figure 4 The main program shown.
[0093] Next, in the program blocks indicated by serial numbers "N80" to "N82", the machine tool control module 50 reads the value of the second variable #103 stored in the second storage area 582 of the variable memory 58m and determines whether the read value is "1". Furthermore, when the value of the second variable #103 is "1", that is, when the robot control module 60 requests the chuck opening action of the machine tool 2, the machine tool control module 50 executes the subroutine with program number "0003". When the value of the second variable #103 is "0", it moves to the next program block. Here, the machine tool control module 50 closes the chuck of the machine tool 2 by executing the subroutine with program number "0003", resets the value of the second variable #103 to "0", and then returns to... Figure 4 The main program shown.
[0094] Next, in the program blocks indicated by serial numbers "N90" to "N92", the machine tool control module 50 reads the value of the second variable #105 stored in the second storage area 582 of the variable memory 58m and determines whether the read value is "1". Furthermore, when the value of the second variable #105 is "1", that is, when the robot control module 60 requests the first machining action based on the machine tool 2, the machine tool control module 50 executes the subroutine with program number "0005". When the value of the second variable #105 is "0", it moves to the next program block. Here, the machine tool control module 50 executes the first machining action of the machine tool 2 by executing the subroutine with program number "0005", and after resetting the value of the second variable #105 to "0", it returns to the previous program block. Figure 4 The main program shown.
[0095] Next, in the program blocks indicated by serial numbers "N100" to "N101", the machine tool control module 50 reads the value of the second variable #100 stored in the second storage area 582 of the variable memory 58m and determines whether the read value is "0". Furthermore, if the value of the second variable #100 is "0", that is, if no request to stop the numerical control program is received from the robot control module 60, the machine tool control module 50 returns to the program block indicated by serial number "N50" and monitors the values of the second variables #100 to #107 again. Conversely, if the value of the second variable #100 is "1", that is, if a request to stop the numerical control program is received from the robot control module 60, the machine tool control module 50 transfers to the program block indicated by serial number "N110" and ends the process. Figure 4 The numerical control program shown.
[0096] Based on the above, before the value of the second variable #100 is rewritten from "0" to "1", in other words, before requesting the robot control module 60 to stop the numerical control program, the machine tool control module 50 monitors the request from the robot control module 60 by reading the values of the second variables #101 to #107 at a predetermined period. When the robot control module 60 rewrites one of the values of the second variables #101 to #107 from "0" to "1", the machine tool 2 is controlled to move in a manner corresponding to the rewritten second variable at the timed interval after the rewriting.
[0097] According to this embodiment, the following effects are obtained.
[0098] The numerical control system 1 includes: a machine tool control module 50, which controls the movement of machine tool 2 according to a numerical control program; a robot control module 60, which controls the movement of robot 3 according to a robot control program; and a variable storage unit 58, which stores the values of multiple variables that can be read and written from both the machine tool control module 50 and the robot control module 60. The machine tool control module 50 reads the values of the rewritable variables from the robot control module 60 and controls the movement of machine tool 2 based on these values. The robot control module 60 reads the values of the rewritable variables from the machine tool control module 50 and controls the movement of robot 3 based on these values. According to the numerical control system 1, notifications and requests from machine tool control module 50 to robot control module 60, and vice versa, can be made via variables that can be read and written from both sides. Therefore, the machine tool 2 and robot 3 can be easily linked without adding new I / O signals, external devices, or editing existing ladder circuits. Furthermore, according to the numerical control system 1, various automation methods can be handled simply by storing the values of various variables in the variable storage unit 58.
[0099] In the numerical control system 1, the machine tool control module 50 reads and writes the values of variables stored in the variable storage unit 58 according to the numerical control program, and the robot control module 60 reads and writes the values of variables stored in the variable storage unit 58 according to the robot control program. That is, in the numerical control system 1, variables defined in the numerical control program and the robot control program are used as variables for sending notifications and requests between the machine tool control module 50 and the robot control module 60. Therefore, without updating the software of the existing numerical control device 5 and robot control device 6, the movements of the machine tool 2 and the robot 3 can be controlled in a coordinated manner.
[0100] In the numerical control system 1, the first storage area 581 of the variable storage unit 58 stores the value of the first variable rewritten according to the numerical control program, and the second storage area 582 of the variable storage unit 58 stores the value of the second variable rewritten according to the robot control program. The machine tool control module 50 controls the operation of the machine tool 2 according to the value of the second variable and rewrites the value of the first variable according to the numerical control program. The robot control module 60 controls the operation of the robot 3 according to the value of the first variable and rewrites the value of the second variable according to the robot control program. Thus, in the numerical control system 1, it is possible to send notifications and requests from the machine tool control module 50 to the robot control module 60 using the first variable, and to send notifications and requests from the robot control module 60 to the machine tool control module 50 using the second variable.
[0101] In the numerical control system 1, the machine tool control module 50 of the numerical control device 5 and the robot control module 60 of the robot control device 6 can communicate via data transceivers 59 and 69. A variable storage unit 58 is provided in the numerical control device 5, and the robot control module 60 reads and writes the values of variables stored in the variable storage unit 58 via communication using the data transceivers 59 and 69. Therefore, the actions of the machine tool 2 and the robot 3 can be controlled in a coordinated manner without adding any external devices for storing variable values.
[0102] This disclosure is not limited to the above-described embodiments, and various changes and modifications are possible.
[0103] For example, in the above embodiment, a variable storage unit 58 is provided in the numerical control device 5 to store the values of multiple variables that can be read and written from both the machine tool control module 50 and the robot control module 60, but it is not limited thereto.
[0104] The variable storage unit can be provided, for example, in a robot control device that is communicatively connected to a numerical control device. In this case, the machine tool control module of the numerical control device can read and write the values of variables stored in the variable storage unit of the robot control device via the aforementioned communication, thus achieving approximately the same effect as the embodiment described above.
[0105] Alternatively, the variable storage unit can be located on a server that is communicatively connected to both the numerical control device and the robot control device. In this case, the machine tool control module of the numerical control device and the robot control module of the robot control device can read and write the values of the variables stored in the variable storage unit on the server via the aforementioned communication, thus achieving approximately the same effect as the embodiment described above.
[0106] Symbol Explanation
[0107] 1…Numerical Control System
[0108] 2… machine tools
[0109] 3… Robot
[0110] 31… Anterior end of the arm
[0111] 32… tools
[0112] 5…Numerical control device
[0113] 51… Storage Department
[0114] 50…Machine Tool Control Module (First Control Unit)
[0115] 58… Variable storage section (storage device)
[0116] 58m… Variable Memory
[0117] 581…First storage area
[0118] 582…Second storage area
[0119] 59…Data Transceiver Department
[0120] 6… Robot control device
[0121] 61…Storage Department
[0122] 60… Robot Control Module
[0123] 69…Data Transmission and Reception Department.
Claims
1. A numerical control system that cooperatively controls actions of a machine tool and a robot, characterized by the numerical control system having: a numerical control device that has a first storage section that stores a numerical control program and a first control section that controls actions of the machine tool in accordance with the numerical control program read out from the first storage section; a robot control device that has a second storage section that stores a robot control program and a second control section that controls actions of the robot in accordance with the robot control program read out from the second storage section; and a storage device that reads and writes values of a plurality of first variables and values of a plurality of second variables stored in a storage area in accordance with readout instructions and rewrite instructions from the first control section and the second control section, the first control section inputs, to the storage device, first rewrite instructions that rewrite the values of the first variables in accordance with the numerical control program and first readout instructions that read out the values of the second variables, the second control section sends, to the storage device, second rewrite instructions that rewrite the values of the second variables in accordance with the robot control program and second readout instructions that read out the values of the first variables, the first control section controls actions of the machine tool in accordance with the numerical control program and the values of the second variables read out from the storage device based on the first readout instructions, the second control section controls actions of the robot in accordance with the robot control program and the values of the first variables read out from the storage device based on the second readout instructions.
2. The numerical control system according to claim 1, characterized in that the first variables and the second variables are specified by numbers or strings in the numerical control program and the robot control program.
3. The numerical control system according to claim 1 or 2, characterized in that the numerical control device and the robot control device are communicable, the storage device is provided to the numerical control device, the second control section sends the second readout instructions and the second rewrite instructions to the storage device via the communication.
4. The numerical control system according to claim 1 or 2, characterized in that the numerical control device and the robot control device are communicable, the storage device is provided to the robot control device, the first control section sends the first readout instructions and the first rewrite instructions to the storage device via the communication.
5. The numerical control system according to claim 1 or 2, characterized in that the storage device is provided to a server communicably connected to the numerical control device and the robot control device, the first control section sends the first readout instructions and the first rewrite instructions to the storage device via the communication, the second control section sends the second readout instructions and the second rewrite instructions to the storage device via the communication.
6. A control method of an industrial machine that cooperatively controls actions of a machine tool and a robot using a numerical control system, the numerical control system having: A numerical control device has a first storage section that stores a numerical control program and a first control section that controls an operation of a machine tool based on the numerical control program read from the first storage section; A robot control device has a second storage section that stores a robot control program and a second control section that controls an operation of a robot based on the robot control program read from the second storage section; and A storage device reads and writes values of a plurality of first variables and values of a plurality of second variables stored in a storage area based on read and rewrite instructions from the first control section and the second control section, The control method of the industrial machine is characterized by having the following steps: The first control section transmits a first rewrite instruction that rewrites the values of the first variables based on the numerical control program to the storage device, The second control section transmits a second rewrite instruction that rewrites the values of the second variables based on the robot control program to the storage device, and the first control section transmits a first read instruction that reads the values of the second variables based on the numerical control program to the storage device, The first control section controls the operation of the machine tool based on the numerical control program and the values of the second variables read from the storage device based on the first read instruction; The second control section transmits a second read instruction that reads the values of the first variables based on the robot control program to the storage device; and The second control section controls the operation of the robot based on the robot control program and the values of the first variables read from the storage device based on the second read instruction.
Citation Information
Patent Citations
Machine tool control device and production system
JP2018195055A
Program creation device, program creation method, and program
JP6761158B1
Numerical control device and numerical control method
WO2020144772A1