Numerical Control System

TWI941683BActive Publication Date: 2026-10-11FANUC LTD
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
TW111120045
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-06-25
Filing Date
2022-05-30
Publication Date
2026-10-11
Estimated Expiration
2042-05-29

AI Technical Summary

Technical Problem

Existing numerical control systems require operators to be proficient in both numerical control programs for machine tools and robot programs, leading to communication interface limitations and increased communication load, which can reduce robot performance when multiple machine tools and robots are operated in parallel.

Method used

A numerical control system that allows operators familiar with numerical control programs to control robots by generating robot commands from the machine tool program, managing communication interfaces to send robot commands at optimal times, and using a robot connection response unit to confirm connections, thereby reducing the need for constant communication checks and interface limitations.

Benefits of technology

Enables operators to control robots using machine tool programs without additional training, reduces communication load on the robot controller, and prevents performance degradation even with increased connections, allowing flexible and efficient operation of multiple machine tools and robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001914858_001
    Figure TWG2TB001914858_001
  • Figure TWG2TB001914858_002
    Figure TWG2TB001914858_002
  • Figure TWG2TB001914858_003
    Figure TWG2TB001914858_003
Patent Text Reader

Abstract

The numerical control system 1 includes: N numerical control devices 5_1,... which control the operation of the machine tool according to a numerical control program and generate robot instructions; and a robot control device 6 which controls the operation of the robot 3 according to the robot instructions. Each numerical control device has a communication interface 56_1,... which sends a connection request to the robot control device 6. The robot control device 6 includes: a robot connection response unit 63, which generates a connection acknowledgment for the connection request after receiving it from the communication interface 60; and a robot connection determination unit 64, which determines one of the plurality of numerical control devices as the destination for the connection acknowledgment. The communication interface 60 is the communication interface for sending the connection acknowledgment to the destination. After receiving the connection acknowledgment, each numerical control device's communication interface begins sending robot instructions to the communication interface 60.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Field of Invention

[0002] This disclosure relates to a numerical control system. [Previous Technology]

[0003] Background of the Invention

[0004] Generally speaking, the programming languages ​​used to control machine tools and robot programs are different. Therefore, in order for machine tools and robots to operate in parallel, operators must be proficient in both numerical control programs and robot programs.

[0005] Patent Document 1 discloses a numerical control device that controls both a machine tool and a robot using a numerical control program. With the numerical control device of Patent Document 1, an operator familiar with numerical control programs can control the robot even if they are not proficient in robot programming. (Prior Art Documents, Patent Documents)

[0006] Patent Document 1: Japanese Patent No. 6647472 [Summary of the Invention]

[0007] Summary of the Invention Problem to be Solved by the Invention

[0008] However, while Patent Document 1 describes a technique for operating one robot and one machine tool in parallel, in actual factories, it is sometimes necessary to operate, for example, one robot and multiple machine tools in parallel. In such a configuration, if communication is to be established between the robot control device that directly controls the robot's movements and the multiple numerical control devices that control each machine tool, the robot control device must ensure a communication interface for the number of numerical control devices. That is, the number of numerical control devices that can be connected to one robot control device is limited by the size of the communication interface of the robot control device.

[0009] Furthermore, when a robot control device is equipped with communication interfaces for as many numerical control devices as there are numerical control devices, while the robot control device is controlling the robot's actions according to instructions sent from one numerical control device, the other numerical control devices must constantly confirm via communication whether the robot's actions have been completed. Therefore, a communication load proportional to the number of numerical control devices will be imposed on the robot control device, potentially reducing the robot's motion performance.

[0010] Furthermore, there are also numerical control devices that can control the actions of multiple machine tools in parallel using multiple control modules. If communication is to be established between such numerical control devices and robot control devices, a number of communication interfaces for the control modules must be ensured within the robot control device. Therefore, the aforementioned issues may also arise when connecting one robot control device and one numerical control device.

[0011] This disclosure addresses the aforementioned problems and provides a numerical control system comprising a robot control device that controls the actions of a robot via robot instructions. These robot instructions are generated in the control module of the numerical control device based on a numerical control program. The numerical control system can change the number of numerical control devices or the number of their control modules connected to the robot control device without considering the size of the robot control device's communication interface. Means for solving the problems

[0012] The numerical control system disclosed herein includes: a numerical control device that controls the movement of a machine tool according to a numerical control program; and a robot control device that controls the movement of the robot according to robot instructions; the numerical control device has one or more control modules that generate the robot instructions according to the numerical control program, and the control module includes: a robot instruction generation unit that generates the robot instructions according to the numerical control program; a robot connection request unit that generates a connection request to the robot control device; and an instruction sending side communication interface that sends the connection request and the robot instructions. The aforementioned robot control device comprises: an instruction receiving communication interface that receives the aforementioned connection request and the aforementioned robot instructions; a robot motion control unit that controls the actions of the aforementioned robot according to the aforementioned robot instructions; and a robot connection response unit that generates a connection acknowledgment for the connection request after receiving the aforementioned connection request from the aforementioned instruction receiving communication interface; the aforementioned instruction receiving communication interface sends the aforementioned connection acknowledgment to the aforementioned instruction sending communication interface, and the aforementioned instruction sending communication interface begins sending the aforementioned robot instructions to the aforementioned instruction receiving communication interface after receiving the aforementioned connection acknowledgment. Effects of the Invention

[0013] According to one aspect of this disclosure, any operator familiar with the numerical control program used to control a machine tool can control the robot without needing to be proficient in a robot program described in a language different from that numerical control program. Furthermore, according to one aspect of this disclosure, after receiving a connection acceptance generated by the robot connection response unit of the robot control device in response to a connection request generated by the robot connection request unit of the numerical control device, the communication interface on the instruction sending side of the numerical control device begins sending robot instructions generated by the robot instruction generation unit to the instruction receiving side communication interface. In other words, the timing of the start of robot instruction transmission from the numerical control device side to the robot control device side can be managed on the robot control device side in response to a connection request sent from the numerical control device side. Therefore, according to one aspect of this disclosure, robot instructions from multiple instruction sending side communication interfaces can be received by repeatedly using one instruction receiving side communication interface. Therefore, according to one aspect of this disclosure, the number of numerical control devices or their control modules connected to the robot control device can be changed without considering the size of the communication interface on the command receiving side of the robot control device. Furthermore, according to one aspect of this disclosure, for example, while the robot control device is controlling the robot's movements based on robot commands sent from one numerical control device, other numerical control devices do not need to constantly confirm whether the robot's movements have been completed via communication. Therefore, even if the number of connected numerical control devices increases, the communication load on the robot control device will not increase, thus preventing a decrease in the robot's motion performance.

Implementation Method

[0015] Form used to implement the invention

[0016] <First Embodiment> The numerical control system 1 of the first embodiment of this disclosure will be described below with reference to the figures.

[0017] Figure 1 is a schematic diagram of the numerical control system 1 of this embodiment.

[0018] The numerical control system 1 includes a plurality of machine tools 2_1,…,2_N (in this embodiment, N or more), a plurality of numerical control devices 5_1,…,5_N (in this embodiment, N as many as the number of machine tools) for controlling the actions of each machine tool 2_1,…,2_N, a robot 3 disposed near each machine tool 2_1,…,2_N, and a robot control device 6 communicatively connected to each numerical control device 5_1,…,5_N. Furthermore, the following illustrations and detailed descriptions of the N machine tools 2_1,…,2_N and the N numerical control devices 5_1,…,5_N, from the 2nd to the (N-1th)th machine tool and numerical control device, are omitted.

[0019] Furthermore, although this embodiment describes a situation where one robot control device 6 can communicatively connect to N numerical control devices 5_1, ..., 5_N, this disclosure is not limited to this. The number of numerical control devices connected to the robot control device can also be set to one, as shown in the third embodiment described later.

[0020] The first of the N numerical control devices, namely the first numerical control device 5_1, generates a first machine tool control signal for the first of the N machine tools, namely the first machine tool 2_1, and a first robot instruction for the robot 3 according to a predetermined first numerical control program, and sends these first machine tool control signals and first robot instructions to the first machine tool 2_1 and the robot control device 6 respectively.

[0021] The Nth numerical control device among the N numerical control devices, namely the Nth numerical control device 5_N, generates the Nth machine tool control signal for the Nth machine tool 2_N among the N machine tools and the Nth robot instruction for the robot 3 according to the predetermined Nth numerical control program, and sends these Nth machine tool control signals and Nth robot instructions to the Nth machine tool 2_N and the robot control device 6 respectively.

[0022] The robot control device 6 controls the action of the robot 3 in response to robot instructions sent from each numerical control device 5_1,...,5_N.

[0023] Each machine tool 2_1,…,2_N processes a workpiece (not shown) in response to machine tool control signals sent from each numerical control device 5_1,…,5_N. Here, each machine tool 2_1,…,2_N is, for example, a lathe, drilling machine, milling machine, grinding machine, laser processing machine, and injection molding machine, but is not limited thereto.

[0024] Robot 3 operates under the control of robot control device 6, for example, performing a predetermined operation on workpieces processed by each machine tool 2_1,...,2_N. Robot 3 is, for example, a multi-joint robot, with a gripping tool 32 for holding the workpiece mounted on the front end 31 of its arm. Although the following describes the robot 3 using the gripping tool 32 to hold the workpieces processed by each machine tool 2_1,...,2_N at a predetermined position and transport these workpieces to the predetermined position, it is not limited to this. Furthermore, although the following describes the robot 3 as a 6-axis multi-joint robot, the number of axes is not limited to this.

[0025] Each numerical control device 5_1,…,5_N and the robot control device 6 are computers composed of the following hardware: a processing unit such as a CPU (Central Processing Unit); an auxiliary memory such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) storing various programs; a main memory such as RAM (Random Access Memory) storing data temporarily needed by the processing unit to execute programs; an operating mechanism such as a keyboard for the operator to perform various operations; and a display mechanism such as a monitor to display various information to the operator. Various signals can be exchanged between the robot control device 6 and each numerical control device 5_1,…,5_N via, for example, an Ethernet network (registered trademark).

[0026] Figure 2A is a functional block diagram of the first numerical control device 5_1 and the Nth numerical control device 5_N, and Figure 2B is a functional block diagram of the robot control device 6. The detailed configuration of the numerical control devices 5_1 and 5_N will be explained first, and then the detailed configuration of the robot control device 6 will be explained.

[0027] As shown in FIG2A, the first numerical control device 5_1, through the aforementioned hardware configuration, realizes various functions such as the control module 50_1 and the program memory unit 59_1, which serve as the control system for the first machine tool 2_1 and the robot 3. Furthermore, although the following describes the case where the first numerical control device 5_1 is equipped with a control module 50_1 for controlling the actions of both the first machine tool 2_1 and the robot 3, this disclosure is not limited thereto. The first numerical control device 5_1 may also be equipped with a machine tool control module for controlling the actions of the first machine tool 2_1 and a robot control module for controlling the actions of the robot 3.

[0028] The program memory unit 59_1 stores a plurality of first numerical control programs, for example, created according to the operator's operation. More specifically, the program memory unit 59_1 stores a first numerical control program, which is constructed by a plurality of instruction blocks for controlling the operation of the first machine tool 2_1, or a plurality of instruction blocks for controlling the operation of the robot 3. The first numerical control program stored in the program memory unit 59_1 is described using a known programming language such as G-code or M-code. Furthermore, although the following description includes the case where the first numerical control program includes instruction blocks for the first machine tool 2_1 and instruction blocks for the robot 3, this disclosure is not limited to this. The instruction blocks for the first machine tool 2_1 and the instruction blocks for the robot 3 may also be described in different numerical control programs.

[0029] In the first numerical control program stored in the program memory unit 59_1, the instruction block for the first machine tool 2_1 is described according to the first machine tool coordinate system, which uses a reference point determined on or near the first machine tool 2_1 as its origin. That is, in the first numerical control program, the position and orientation of the control point of the first machine tool 2_1 are described by the coordinate values ​​of the first machine tool coordinate system.

[0030] Furthermore, in the first numerical control program stored in the program memory unit 59_1, the instruction block for the robot 3 is described according to a robot coordinate system different from the first machine tool coordinate system described above. That is, in the first numerical control program, the position and posture of the control point of the robot 3 (e.g., the forearm end 31 of the robot 3) are described by coordinate values ​​of a robot coordinate system different from the first machine tool coordinate system. This robot coordinate system is a coordinate system whose origin is a reference point determined on or near the robot 3. Furthermore, although the following describes the case where the robot coordinate system is different from the first machine tool coordinate system, this disclosure is not limited to this. The robot coordinate system can also be made consistent with the first machine tool coordinate system. In other words, the origin or coordinate axis direction of the robot coordinate system can also be made consistent with the origin or coordinate axis direction of the first machine tool coordinate system.

[0031] Furthermore, in this first numerical control program, the robot coordinate system can switch between two or more different coordinate forms for the control axes. More specifically, in the first numerical control program, the position and orientation of the control points of the robot 3 can be specified using orthogonal coordinates or coordinate forms for each axis.

[0032] In each axis coordinate form, the position and posture of the control point of the robot 3 are specified by a total of 6 real coordinate values, which are composed of the rotation angle values ​​(J1, J2, J3, J4, J5, J6) of the 6 joints of the robot 3.

[0033] In orthogonal coordinate form, the position and orientation of the control point of robot 3 are specified by a total of 6 real coordinate values, which consist of 3 coordinate values ​​(X, Y, Z) along the 3 orthogonal coordinate axes and 3 rotation angle values ​​(A, B, C) around each orthogonal coordinate axis.

[0034] Here, in the coordinate system, since the rotation angle of each joint of the robot 3 is directly specified, the axis configuration of each arm or wrist of the robot 3, or the number of rotations of joints that can rotate more than 360 degrees (hereinafter collectively referred to as the "shape of the robot 3") is determined without discrepancy. In contrast, in the orthogonal coordinate system, since the position and posture of the control points of the robot 3 are specified by 6 coordinate values ​​(X, Y, Z, A, B, C), the shape of the robot 3 cannot be determined without discrepancy. Therefore, in the first numerical control program, the shape of the robot 3 can be specified by an integer value with a predetermined number of bits, i.e., the shape value P. Therefore, the position and orientation of the control points of robot 3, as well as the shape of robot 3, are represented by 6 coordinate values ​​(J1, J2, J3, J4, J5, J6) in the coordinate system of each axis, and by 6 coordinate values ​​and 1 shape value (X, Y, Z, A, B, C, P) in the orthogonal coordinate system. Furthermore, for convenience, the shape value P will also be referred to as the coordinate value below.

[0035] In the first numerical control program, the coordinate format can be set using G-codes "G68.8" and "G68.9". More specifically, by inputting G-code "G68.8", the coordinate format is set to the coordinate format of each axis; by inputting G-code "G68.9", the coordinate format is set to the orthogonal coordinate format. The G-codes "G68.8" and "G68.9" used to set these coordinate formats are modal. Therefore, after the coordinate format is set to the coordinate format of each axis or the orthogonal coordinate format using these G-codes, it remains until the coordinate format is changed again using these G-codes. Furthermore, in this embodiment, when these G-codes for setting the coordinate format are not recorded in the first numerical control program, the coordinate format is automatically set to the orthogonal coordinate format, but this is not limited to this.

[0036] The control module 50_1 includes a program input unit 51_1, an input analysis unit 52_1, a machine tool control unit 53_1, a robot instruction generation unit 54_1, a robot connection request unit 55_1, and a communication interface 56_1. By using these components, the operation of the first machine tool 2_1 is controlled according to the first numerical control program, and a first robot instruction for controlling the operation of the robot 3 is generated.

[0037] The program input unit 51_1 reads the predetermined first numerical control program from the program memory unit 59_1 and inputs it step by step into the input analysis unit 52_1.

[0038] The input analysis unit 52_1 analyzes the instruction category of each instruction block based on the first numerical control program input from the program input unit 51_1, and sends the analysis results to the machine tool control unit 53_1, the robot instruction generation unit 54_1, and the robot connection request unit 55_1. More specifically, the input analysis unit 52_1 sends the instruction category of the instruction block to the machine tool control unit 53_1 when it is an instruction for the first machine tool 2_1, to the robot instruction generation unit 54_1 when it is an instruction for the robot 3, and to the robot connection request unit 55_1 when it is a request for the robot control device 6.

[0039] The machine tool control unit 53_1 generates a first machine tool control signal to control the operation of the first machine tool 2_1 based on the analysis results of the first numerical control program sent from the input analysis unit 52_1, and inputs it to the actuators of various axes driving the first machine tool 2_1. The first machine tool 2_1 operates in response to the first machine tool control signal input from the machine tool control unit 53_1 to process a workpiece (not shown).

[0040] The robot connection request unit 55_1 generates a connection request or a connection cancellation request for the robot control device 6 based on the analysis results of the first numerical control program sent from the input analysis unit 52_1. More specifically, the connection request for the robot control device 6 refers to requesting permission from the robot control device 6 to send the first robot command from the communication interface 56_1 of the first numerical control device 5_1 to the communication interface 60 of the robot control device 6, described later, in order to control the operation of the robot 3 according to the first robot command generated by the robot command generation unit 54_1 based on the first numerical control program. More specifically, the connection cancellation request for the robot control device 6 refers to notifying the robot control device 6 of the termination of the transmission of the first robot command from the communication interface 56_1 to the communication interface 60, in order to end the control of the robot 3's operation according to the first robot command.

[0041] Here, in the first numerical control program, the robot connection request unit 55_1 can be instructed to generate a connection request using G code "G200", and the robot connection request unit 55_1 can be instructed to generate a connection release request using G code "G201". Furthermore, in the first numerical control program, the priority value for the connection request can be specified by describing the priority specification command "P_" following the aforementioned G code "G200". Moreover, in the underlined part of the aforementioned priority specification command, any integer value greater than 1 can be entered as the value representing the level of priority. Furthermore, although it is assumed below that a larger priority value indicates higher priority, this disclosure is not limited to this. It is also possible to set a smaller priority value to indicate higher priority.

[0042] When a connection request is generated according to the first numerical control program through the above procedure, the robot connection request unit 55_1 writes the generated connection request, along with connection request information associated with this connection request, into the communication interface 56_1, and sends these connection requests and connection request information to the robot control device 6. Here, the connection request information includes: identification information, which identifies the source of the connection request, namely the first numerical control device 5_1 (e.g., the IP address inherent to the first numerical control device 5_1), on the robot control device 6 side; and a priority value, which is specified according to the aforementioned priority specification command.

[0043] Furthermore, in this embodiment, although it is described that when the first numerical control program does not specify a priority value for the connection request, that is, when the first numerical control program does not describe a priority specification command, the robot connection request unit 55_1 writes a predetermined initial value as the priority value into the communication interface 56_1 and sends it to the robot control device 6, this disclosure is not limited to this. As will be explained later with reference to Figures 7B and 8, when the first numerical control program does not specify a priority value for the connection request, the robot connection request unit 55_1 may also send only the identification information to the robot control device 6 without sending the priority value.

[0044] Furthermore, when a connection release request is generated according to the first numerical control program through the above procedure, the robot connection request unit 55_1 writes the generated connection release request into the communication interface 56_1 and sends the connection release request to the robot control device 6.

[0045] The robot instruction generation unit 54_1 generates a first robot instruction to move the control axis of the robot 3 based on the analysis results of the first numerical control program sent from the input analysis unit 52_1, writes the generated robot instruction to the communication interface 56_1, and sends the robot instruction to the robot control device 6. Furthermore, although the following description assumes that the instruction block in the first numerical control program between the G code "G200" used to instruct the robot connection request unit 55_1 to generate a connection request and the G code "G201" used to instruct the robot connection request unit 55_1 to generate a connection release request is an instruction for the robot 3, this disclosure is not limited to this.

[0046] Furthermore, the robot instruction generation unit 54_1, after confirming that it has received a response from the robot control device 6 via the communication interface 56_1 in response to the connection request generated by the robot connection request unit 55_1 as described above, and after receiving the connection acknowledgment sent by the robot control device 6 (described later), begins, as described above, the generation of the first robot instruction according to the first numerical control program and the transmission of this first robot instruction to the robot control device 6. The robot instruction is generated by the robot connection response unit of the robot control device in response to the connection request generated by the robot connection request unit of the numerical control device.

[0047] When the robot connection request unit 55_1 writes a connection request and connection request information, the communication interface 56_1 sends these connection requests and connection request information to the communication interface 60 of the robot control device 6. When the robot connection request unit 55_1 writes a connection release request, the communication interface 56_1 sends this connection release request to the communication interface 60.

[0048] When the communication interface 56_1 receives a connection acknowledgment from the robot control device 6 in response to the aforementioned connection request via the procedure described later, it notifies the robot instruction generation unit 54_1 that the connection acknowledgment has been received. Furthermore, after receiving the connection acknowledgment, when the robot instruction generation unit 54_1 writes the first robot instruction as described above, the communication interface 56_1 sends this first robot instruction to the communication interface 60.

[0049] Furthermore, the Nth numerical control device 5_N differs from the first numerical control device 5_1 at the point where the controlled object is the Nth machine tool 2_N. Since its other configurations are almost identical to those of the first numerical control device 5_1, the detailed configuration of the Nth numerical control device 5_N will be omitted below. That is, the Nth numerical control device 5_N includes a program memory unit 59_N storing a plurality of Nth numerical control programs, a control module 50_N that is almost identical to the control module 50_1 of the first numerical control device 5_1, a program input unit 51_N that is almost identical to the program input unit 51_1 of the first numerical control device 5_1, an input analysis unit 52_N that is almost identical to the input analysis unit 52_1 of the first numerical control device 5_1, a machine tool control unit 53_N that is almost identical to the machine tool control unit 53_1 of the first numerical control device 5_1, a robot instruction generation unit 54_N that is almost identical to the robot instruction generation unit 54_1 of the first numerical control device 5_1, a robot connection request unit 55_N that is almost identical to the robot connection request unit 55_1 of the first numerical control device 5_1, and a communication interface 56_N that is almost identical to the communication interface 56_1 of the first numerical control device 5_1.

[0050] Next, referring to FIG2B, the configuration of the robot control device 6 will be described. As shown in FIG2B, the robot control device 6 implements various functions such as the communication interface 60, robot connection response unit 63, robot connection decision unit 64, input analysis unit 65, robot program generation unit 66, and robot motion control unit 67 through the above-mentioned hardware configuration.

[0051] The communication interface 60 is communicatively connected to the communication interfaces 56_1, ..., 5_N of each numerical control device 5_1, ..., 5_N. Various information such as robot commands, connection requests, connection request information, connection release requests, and connection acknowledgments described later can be sent and received between the communication interface 60 and the communication interfaces 56_1, ..., 56_N.

[0052] The communication interface 60 has a control area 61 and a connection requirement buffer 62, which serve as a memory area for temporarily storing various information sent from the communication interface 56_1,...,56_N.

[0053] When the communication interface 60 receives robot commands sent from each communication interface 56_1,...,56_N, it stores these robot commands in the control area 61. As described above, each numerical control device 5_1,...,5_N begins sending robot commands after receiving a connection acknowledgment sent from the robot control device 6 in response to a connection request sent from itself. Therefore, the robot control device 6 staggers the timing of sending connection acknowledgments to each numerical control device 5_1,...,5_N, thereby preventing the timing of robot command transmissions from each numerical control device 5_1,...,5_N from overlapping. Therefore, according to this embodiment, since the control area 61, which temporarily stores robot commands, can be reused, even if the number of numerical control devices connected to the robot control device 6 is increased, there is no need to increase the size of the control area 61.

[0054] When communication interface 60 receives connection requests sent from each communication interface 56_1,...,56_N, it stores the connection request information associated with this connection request in the connection request buffer 62 according to the order of receipt. As mentioned above, the connection request information includes: identification information necessary to identify the source of the connection request on the robot control device 6 side, and a priority value (a value specified by a priority specification command or a predetermined initial value). When communication interface 60 receives a connection release request sent from each communication interface 56_1,...,56_N, it deletes the connection request information from the plurality of connection request information stored in the connection request buffer 62 that has the same source as the received connection release request.

[0055] The robot connection response unit 63 checks at predetermined intervals whether connection request information is stored in the connection request buffer 62. When connection request information is stored, it reads it and sends it to the robot connection decision unit 64. When multiple sets of connection request information are stored in the connection request buffer 62, the robot connection response unit 63 sends all of the multiple sets of connection request information stored in the connection request buffer 62 to the robot connection decision unit 64.

[0056] The robot connection decision unit 64 determines the connection acceptance sending destination based on the connection request information sent from the robot connection response unit 63, and sends this connection acceptance sending destination to the robot connection response unit 63.

[0057] Here, when the connection request buffer 62 stores only one set of connection request information, the robot connection decision unit 64 identifies the source of the connection request information based on the identification information and determines the source of the information as the connection recognition destination.

[0058] Furthermore, when the connection request buffer 62 stores a complex array of connection request information, the robot connection decision unit 64 identifies the sending source of each connection request information based on the identification information, and determines any one of the sending sources as the connection acknowledgment sending destination. Here, since each connection request information contains a priority value for the connection request as described above, the robot connection decision unit 64 determines any one of the sending sources as the connection acknowledgment sending destination based on these priority values. More specifically, the robot connection decision unit 64 compares the priority values ​​contained in each connection request information and determines the sending source with the highest priority value (i.e., the highest priority) as the connection acknowledgment sending destination. Furthermore, when the priority values ​​are the same, the robot connection decision unit 64 determines the sending source of the connection request received first by the communication interface 60 as the connection acknowledgment sending destination. Furthermore, when the priority value is set to increase priority as described above, the robot connection decision unit 64 determines the sending source with the lowest priority value as the connection acknowledgment sending destination.

[0059] When the robot connection decision unit 64 determines the destination of the connection acknowledgment through the above procedure, the robot connection response unit 63 generates a connection acknowledgment and sends it to the communication interface of the connection acknowledgment destination through the communication interface 60. Thereby, robot instructions generated according to the numerical control program are sent from the communication interface of the connection acknowledgment destination to the communication interface 60.

[0060] The input analysis unit 65 reads and analyzes the robot instructions stored in the control area 61, and sends the analysis results to the robot program generation unit 66.

[0061] The robot program generation unit 66 generates a robot program corresponding to the analysis result of the robot instructions sent from the input analysis unit 65. More specifically, when a robot instruction is input from the input analysis unit 65, the robot program generation unit 66 adds robot commands for that robot instruction to the robot program stored in a memory unit (not shown).

[0062] The robot motion control unit 67 starts the robot program generated by the robot program generation unit 66 and executes the robot commands described in the started robot program step by step to control the movement of the robot 3. More specifically, the robot motion control unit 67 calculates the target position of each control axis of the robot 3 by executing the robot commands, and in order to achieve the calculated target position, performs feedback control on each servo motor of the robot 3, thereby generating robot control signals for the robot 3 and inputting them into the servo motors of the robot 3.

[0063] Next, referring to Figures 3A, 3B and 4, the first example of the flow of various signals or information of the numerical control system 1 constructed as described above will be explained.

[0064] Figure 3A is the first example of the first numerical control program, and Figure 3B is the first example of the Nth numerical control program. Furthermore, in these Figures 3A and 3B, the illustrations of the instruction blocks for the first and Nth machine tools among the plurality of instruction blocks constituting each numerical control program are omitted.

[0065] Figure 4 is a timing diagram showing the signal or information flow between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are activated according to the numerical control program shown in Figures 3A and 3B.

[0066] First, in the block indicated by number "N10", in the robot connection request section of the first numerical control device, a command "G200 P1" is input to generate a connection request for the robot control device and specify "1" as the priority value. In response, the robot connection request section of the first numerical control device and the communication interface send the connection request and connection request information to the communication interface of the robot control device. Here, the connection request information sent from the first numerical control device to the robot control device includes the IP address "192.168.0.10" inherent to the first numerical control device and the priority value "1".

[0067] Next, in the block indicated by number "N20", in the robot connection request section of the Nth numerical control device, a command "G200 P2" is input to generate a connection request for the robot control device and specify "2" as the priority value. In response, the robot connection request section and communication interface of the Nth numerical control device send the connection request and connection request information to the communication interface of the robot control device. Here, the connection request information sent from the Nth numerical control device to the robot control device includes the IP address "192.168.0.255" inherent to the Nth numerical control device and the priority value "2".

[0068] Furthermore, the communication interface of the robot control device receives connection requests and connection request information from the first and Nth numerical control devices through the above procedure, and stores the received connection request information in the connection request buffer in the order of receipt. Subsequently, the robot connection determination unit of the robot control device determines the destination for sending the connection acknowledgment based on the two sets of connection request information stored in the connection request buffer. In the example shown in Figure 4, the priority value of the connection request from the first numerical control device is "1", and the priority value of the connection request from the Nth numerical control device is "2". That is, the priority of the connection request from the Nth numerical control device is higher than the priority of the connection request from the first numerical control device. Therefore, the robot connection determination unit determines the Nth numerical control device as the destination for sending the connection acknowledgment. Furthermore, the robot connection response unit and communication interface of the robot control device send the connection acknowledgment to the communication interface of the Nth numerical control device.

[0069] Upon receiving a connection confirmation from the robot control device, the robot instruction generation unit of the Nth numerical control device sequentially reads the blocks shown as "N21" to "N23" and generates the Nth robot instruction corresponding to these "N21" to "N23" instructions. The communication interface of the Nth numerical control device sequentially sends the generated Nth robot instruction to the robot control device. Furthermore, the robot control device controls the robot's actions according to the received Nth robot instruction, and sends a reading completion notification to the Nth numerical control device upon completion of reading the Nth robot instruction. Moreover, during the period when the robot's actions are controlled according to the Nth robot instruction sent from the Nth numerical control device, the first numerical control device, which has a lower priority, enters a state of waiting for connection confirmation from the robot control device. Therefore, during this period, the first numerical control device does not need to actively confirm the robot's action status with the robot control device via communication.

[0070] Next, in the block indicated by number "N24", a command "G201" for generating a connection cancellation request for the robot control device is input into the robot connection request section of the Nth numerical control device. In response, the robot connection request section and communication interface of the Nth numerical control device send the connection cancellation request to the communication interface of the robot control device. Furthermore, upon receiving the connection cancellation request from the Nth numerical control device, the communication interface of the robot control device deletes the connection request information originating from the Nth numerical control device from the multiple array of connection request information stored in the connection request buffer. Thus, the connection request information stored in the connection request buffer only contains the connection request information originating from the first numerical control device.

[0071] Subsequently, the robot connection decision unit of the robot control device determines the first numerical control device as the destination for sending the connection request information stored in the connection request buffer. Furthermore, the robot connection response unit and communication interface of the robot control device send the connection approval to the communication interface of the first numerical control device.

[0072] Upon receiving a connection confirmation from the robot control device, the robot instruction generation unit of the first numerical control device sequentially reads the blocks indicated by "N11" to "N14" and generates first robot instructions corresponding to these "N11" to "N14" instructions. The communication interface of the first numerical control device sequentially sends the generated first robot instructions to the robot control device. Furthermore, the robot control device controls the robot's actions according to the received first robot instructions, and upon completion of reading the first robot instructions, sends a reading completion notification to the first numerical control device.

[0073] Next, in the block indicated by number "N15", a command "G201" for generating a connection release request for the robot control device is input into the robot connection request section of the first numerical control device. In response, the robot connection request section and communication interface of the first numerical control device send the connection release request to the communication interface of the robot control device. Furthermore, upon receiving the connection release request from the first numerical control device, the communication interface of the robot control device deletes the connection request information with the first numerical control device as the sending source from the connection request information stored in the connection request buffer.

[0074] Next, referring to Figures 5A, 5B and 6, a second example of the flow of various signals or information of the numerical control system 1 constructed as described above will be explained.

[0075] Figure 5A is the second example of the first numerical control program, and Figure 5B is the second example of the Nth numerical control program. Furthermore, the first numerical control program shown in Figure 5A and the Nth numerical control program shown in Figure 5B differ from the first numerical control program shown in Figure 3A and the Nth numerical control program shown in Figure 3B at the point where the priority specification command "P_" is not described.

[0076] Figure 6 is a timing diagram showing the flow of signals or information between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are activated according to the numerical control program shown in Figures 5A and 5B.

[0077] First, in the block indicated by number "N30", the command "G200" for generating a connection request for the robot control device is input in the robot connection request section of the first numerical control device. In response, the robot connection request section and the communication interface of the first numerical control device send the connection request and connection request information to the communication interface of the robot control device. Here, when no priority value is specified according to the first numerical control program, the robot connection request section sends a predetermined initial value (in the example of Figure 6, "1") as the priority value to the robot control device.

[0078] Next, in the block indicated by number "N40", the robot connection request section of the Nth numerical control device inputs a command "G200" to generate a connection request for the robot control device. In response, the robot connection request section and communication interface of the Nth numerical control device send the connection request and connection request information to the communication interface of the robot control device. Here, when no priority value is specified according to the Nth numerical control program, the robot connection request section sends a predetermined initial value (in the example of Figure 6, "1") as the priority value to the robot control device.

[0079] Furthermore, the communication interface of the robot control device receives connection requests and connection request information from the first and Nth numerical control devices through the above procedure, and stores the received connection request information in the connection request buffer in the order of receipt. Subsequently, the robot connection decision unit of the robot control device determines the destination for sending the connection acknowledgment based on the two sets of connection request information stored in the connection request buffer. In the example shown in Figure 6, the priority value of the connection request from the first numerical control device is "1", and the priority value of the connection request from the Nth numerical control device is also "1". That is, the priority is the same for the first and Nth numerical control devices. In this case, the robot connection decision unit determines the first numerical control device, which receives the connection request first, as the destination for sending the connection acknowledgment. Therefore, the robot connection response unit and communication interface of the robot control device send the connection acknowledgment to the communication interface of the first numerical control device. Furthermore, since the subsequent process is almost identical to the example shown in Figure 4, except that the order of sending the connection acknowledgment from the robot control device is reversed, detailed explanation is omitted.

[0080] Next, referring to Figures 7A, 7B and 8, a third example of the flow of various signals or information of the numerical control system 1 constructed as described above will be explained.

[0081] Figure 7A is the third example of the first numerical control program, and Figure 7B is the third example of the Nth numerical control program. Furthermore, the first numerical control program shown in Figure 7A differs from the first numerical control program shown in Figure 3A in that the priority value specified by the priority specification command "P_" is different. Also, the Nth numerical control program shown in Figure 7B differs from the Nth numerical control program shown in Figure 3B at the point where the priority specification command "P_" is not described.

[0082] Figure 8 is a timing diagram showing the flow of signals or information between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are activated according to the numerical control program shown in Figures 7A and 7B.

[0083] First, in the block indicated by serial number "N50", in the robot connection request section of the first numerical control device, a command "G200 P3" is input to generate a connection request for the robot control device and specify "3" as the priority value. Accordingly, the robot connection request section and communication interface of the first numerical control device send the connection request and connection request information to the communication interface of the robot control device. Here, the connection request information sent from the first numerical control device to the robot control device includes the IP address "192.168.0.10" inherent to the first numerical control device and the priority value "3".

[0084] Next, in the block indicated by number "N60", the command "G200" for generating a connection request for the robot control device is input in the robot connection request section of the Nth numerical control device. Accordingly, the robot connection request section and communication interface of the Nth numerical control device send the connection request and connection request information to the communication interface of the robot control device. In the example shown in FIG6, although the case where a predetermined initial value is sent as the priority value to the robot control device when no priority value is specified according to the Nth numerical control program is illustrated, this disclosure is not limited to this. As shown in FIG8, when no priority value is specified according to the Nth numerical control program, the robot connection request section and communication interface may also send only the identification information to the robot control device without sending the priority value.

[0085] Furthermore, the communication interface of the robot control device receives connection requests and connection request information from the first and Nth numerical control devices through the above procedure, and stores the received connection information in the connection request buffer according to the receiving order. Moreover, at this time, the connection request information sent from the Nth numerical control device has a value that does not include priority, as described above. Therefore, the priority value of the set of connection request information with the sending source set to the Nth numerical control device in the two sets stored in the connection request buffer is blank, as shown in Figure 8.

[0086] Subsequently, the robot connection decision unit of the robot control device determines the connection acknowledgment sending destination based on the two sets of connection request information stored in the connection request buffer. Here, when the connection request information stored in the connection request buffer does not contain a priority value, the robot connection decision unit determines the connection acknowledgment sending destination based on a pre-determined initial value (e.g., "1"). Therefore, in the example shown in FIG8, the robot connection decision unit assumes that the priority value of the connection request from the first numerical control device is "3" as specified by the numerical control program, and the priority value of the connection request from the Nth numerical control device is the initial value, i.e., "1", to determine the connection acknowledgment sending destination. Therefore, the robot connection decision unit determines the first numerical control device, which has a higher priority, as the connection acknowledgment sending destination. Therefore, the robot connection response unit and communication interface of the robot control device send the connection acknowledgment to the communication interface of the first numerical control device. Furthermore, since the subsequent process is almost the same as the example shown in FIG6, detailed description is omitted.

[0087] The following effects will be achieved according to this embodiment. According to this embodiment, any operator familiar with the numerical control program used to control the machine tools 2_1,...,2_N can control the robot 3 without needing to be proficient in a robot program described in a language different from this numerical control program. Furthermore, according to this embodiment, the communication interfaces 56_1,...,56_N of each numerical control device 5_1,...,5_N begin sending robot commands from the first to the Nth to the communication interface 60 of the robot control device 6 after receiving a connection acknowledgment generated by the robot connection response unit 63 of the robot control device 6 in response to a connection request generated by the robot connection request unit 55_1,...,55_N for each numerical control device 5_1,...,5_N. In other words, the robot control device 6 can manage the timing of the transmission of robot commands from each of the numerical control devices 5_1,...,5_N to the robot control device 6 in response to connection requests from each of the numerical control devices 5_1,...,5_N. Therefore, according to this embodiment, robot commands from a plurality of communication interfaces 56_1,...,56_N can be received by repeatedly using the control area 61 of one communication interface 60 of the robot control device 6. Therefore, according to this embodiment, the number of numerical control devices or their control modules connected to the robot control device 6 can be changed without considering the size of the control area 61 of the communication interface 60 of the robot control device 6. Furthermore, according to this embodiment, for example, while the robot control device 6 controls the action of the robot 3 based on robot instructions sent from a certain numerical control device, other numerical control devices do not need to constantly confirm whether the action of the robot 3 has been completed through communication. Therefore, even if the number of connected numerical control devices increases, the communication load of the robot control device 6 will not increase, thus preventing the robot 3's motion performance from deteriorating.

[0088] In this embodiment, the robot control device 6 includes a robot connection determination unit 64. The robot connection determination unit 64 determines any one of the N numerical control devices 5_1,...,5_N as the connection acknowledgment sending destination. The robot connection response unit 63 and the communication interface 60 send the connection acknowledgment to the connection acknowledgment sending destination determined by the robot connection determination unit 64. Thus, according to this embodiment, the connection acknowledgment is only sent to one of the N numerical control devices 5_1,...,5_N that is determined as the connection acknowledgment sending destination, and the robot command from this connection acknowledgment sending destination is only received in the control area 61 of the communication interface 60. This allows the control area 61 of the communication interface 60 to be reused for multiple numerical control devices 5_1,...,5_N.

[0089] In this embodiment, the robot connection request units 55_1,...,55_N of each numerical control device 5_1,...,5_N generate connection requests for the robot control device 6 according to the numerical control program. This allows connection requests for the robot control device 6 to be generated at an appropriate time point determined by the operator after considering the overall cycle time of the system.

[0090] In this embodiment, the robot control device 6 further includes a connection request buffer 62. The connection request buffer 62 stores connection request information associated with connection requests received by the communication interface 60. The robot connection decision unit 64 determines the connection approval sending destination based on the connection request information stored in the connection request buffer 62. If, according to this embodiment, multiple connection request information sent from each of the numerical control devices 5_1,...,5_N is accumulated in advance in the connection request buffer 62, the robot connection decision unit 64 can determine the connection approval sending destination at a free time.

[0091] In this embodiment, the connection request information stored in the connection request buffer 62 includes identification information of the specific source of the connection request and a priority value for the connection request. This priority value can be specified by the priority specification command "P_" according to the numerical control program. Furthermore, in this embodiment, when multiple sets of connection request information are stored in the connection request buffer 62, the robot connection determination unit 64 determines the destination for the connection approval transmission based on these priority values. This allows connection approvals to be sent from the robot control device 6 in an appropriate order determined by the operator to minimize the overall cycle time of the system. Here, referring to FIG9, the effect of setting priorities for connection requests from each numerical control device 5_1,...,5_N will be explained.

[0092] Figure 9 is a graph comparing the overall cycle time of the system when one robot control device is connected to two numerical control devices, with different priority settings. In the example of Figure 9, the cycle time of the first numerical control device (labeled "NC1" in Figure 9) is longer than that of the second numerical control device (labeled "NC2" in Figure 9). Therefore, the second numerical control device controls the robot's movements more frequently through the robot control device than the first numerical control device does.

[0093] The left side of Figure 9 shows the total cycle time of the system when connection acceptances are sent in the order of arrival, without specifying priority values ​​for connection requests sent from the two numerical control devices to the robot control device. The right side of Figure 9 shows the total cycle time of the system when the priority of the connection request from the second numerical control device with a shorter cycle time is set to be higher than the priority of the connection request from the first numerical control device with a longer cycle time.

[0094] As shown on the left side of Figure 9, when connection acknowledgments are sent in a first-come, first-served order, sometimes a connection acknowledgment is sent first to the first numerical control device, whose cycle time is longer than that of the second numerical control device. In this case, as shown on the left side of Figure 9, during the period when the first numerical control device controls the robot, in other words, during the period when the first numerical control device occupies the control area of ​​the communication interface of the robot control device, the second numerical control device enters a state of waiting for a connection acknowledgment from the robot control device. Also, in this case, as shown on the left side of Figure 9, when the first numerical control device completes the control of the robot, the second numerical control device begins the first robot control. However, since the cycle time of the second numerical control device is shorter than that of the first numerical control device, the robot may sometimes enter a standby state during the period from after the second numerical control device completes the first robot control to before starting the second robot control, that is, during the period when the second numerical control device is controlling the second machine tool. This type of robot standby state may occur when, for example, the robot needs to install or remove a workpiece from the machine tool, while waiting for the machine tool to complete the workpiece processing.

[0095] In contrast, when the priority of the connection request from the second numerical control device, which has a shorter cycle time, is set to be higher than that from the first numerical control device, as shown on the right side of FIG9, the control of the second machine tool can be performed in parallel with the robot control of the first numerical control device after the second numerical control device completes the first robot control. Therefore, the time for the second numerical control device to wait for connection recognition from the robot control device can be shorter than in the example on the left side of FIG9. Furthermore, in this case, since the second numerical control device can immediately start the second robot control after the first numerical control device completes the robot control, the robot's standby time can also be shorter than in the example on the left side of FIG9.

[0096] As described above, according to this embodiment, the operator can specify the priority value for connection requests from each numerical control device 5_1,...,5_N in a way that minimizes the overall cycle time of the system, based on the cycle time of each numerical control device 5_1,...,5_N.

[0097] In this embodiment, the robot connection request units 55_1,...,55_N of each numerical control device 5_1,...,5_N send a predetermined initial value as the priority value to the robot control device 6 when no priority value for the connection request is specified by the numerical control program. According to this embodiment, even if, for example, the operator forgets to specify the priority value when creating the numerical control program, the numerical control device 1 can still operate at the predetermined initial value, which is very convenient.

[0098] In this embodiment, when the connection request information stored in the connection request buffer 62 does not contain a priority value, the robot connection decision unit 64 determines the connection acceptance destination based on a predetermined initial value. According to this embodiment, even if, for example, the operator forgets to specify a priority value when creating the numerical control program, the numerical control device 1 can still operate under the predetermined initial value, which is very convenient.

[0099] <Second Embodiment> The numerical control system of the second embodiment of this disclosure will be described below with reference to the figures.

[0100] Figure 10 is a functional block diagram of the numerical control system 1A of this embodiment. Furthermore, in the following description of the numerical control system 1A, the same symbols are used for the same configurations as those in the numerical control system 1 of the first embodiment, and detailed descriptions are omitted.

[0101] The numerical control system 1A includes a plurality of machine tools 2_1, ...,2_N (in this embodiment, N is an integer of 2 or more), a numerical control device 4 for controlling the operation of each machine tool 2_1, ...,2_N, a robot 3 installed near each machine tool 2_1, ...,2_N, and a robot control device 6A that can be communicatively connected to the numerical control device 4.

[0102] The numerical control device 4 and the robot control device 6A are computers composed of the following hardware: a processing unit such as a CPU (Central Processing Unit); an auxiliary memory such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores various programs; a main memory such as RAM (Random Access Memory) that stores data temporarily needed by the processing unit to execute programs; an operating mechanism such as a keyboard for the operator to perform various operations; and a display mechanism such as a monitor that displays various information to the operator. Various signals can be exchanged between the robot control device 6A and the numerical control device 4 via, for example, an Ethernet network (registered trademark).

[0103] As shown in Figure 10, the numerical control device 4, through the above-mentioned hardware configuration, realizes various functions of N control modules 40_1, ..., 40_N, which serve as the control systems for each machine tool 2_1, ..., 2_N and robot 3.

[0104] Each control module 40_1,...,40_N has a program memory unit, a program input unit, an input analysis unit, a machine tool control unit, a robot instruction generation unit, a robot connection request unit, and a communication interface, which are configured almost identically to the first numerical control device 5_1 in the first embodiment. The communication interface of each control module 40_1,...,40_N is communicatively connected to the communication interface 60 of the robot control device 6A. The connection request information sent from the robot connection request unit and the communication interface of each control module 40_1,...,40_N includes, in addition to the IP address inherent to the numerical control device 4, the module number assigned to each control module 40_1,...,40_N, as identification information used to identify the source of the connection request.

[0105] The robot control device 6A includes a communication interface 60, a control area 61, a connection request buffer 62, a robot connection response unit 63, a robot connection decision unit 64A, an input analysis unit 65, a robot program generation unit 66, and a robot motion control unit 67.

[0106] The robot connection decision unit 64A determines one of the control modules 40_1, ..., 40_N as the connection acknowledgment sending destination based on the connection request information sent from the robot connection response unit 63, and sends this connection acknowledgment sending destination to the robot connection response unit 63. Furthermore, regarding the specific procedure of the robot connection decision unit 64A in determining the connection acknowledgment sending destination based on the connection request information, since it is almost identical to the procedure of the robot connection decision unit 64 in the first embodiment, a detailed description is omitted.

[0107] According to this embodiment, it will have almost the same effect as the numerical control system 1 of the first embodiment.

[0108] While the above describes one embodiment of this disclosure, this disclosure is not limited thereto. Within the scope of the intent of this disclosure, the details may be appropriately modified. [Simplified Explanation of the Diagram]

[0014] Figure 1 is a schematic diagram of the numerical control system according to the first embodiment of this disclosure. Figure 2A is a functional block diagram of the first and Nth numerical control devices. Figure 2B is a functional block diagram of the robot control device. Figure 3A is a first example of the first numerical control program. Figure 3B is a first example of the Nth numerical control program. Figure 4 is a timing diagram showing the flow of signals or information between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are operated according to the numerical control program of the first example above. Figure 5A is a second example of the first numerical control program. Figure 5B is a second example of the Nth numerical control program. Figure 6 is a timing diagram showing the flow of signals or information between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are operated according to the numerical control program of the second example above. Figure 7A is a third example of the first numerical control program. Figure 7B is a third example of the Nth numerical control program. Figure 8 is a timing diagram showing the signal or information flow between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are activated according to the numerical control program of the third example described above. Figure 9 is a diagram comparing the overall cycle time of the system when one robot control device is connected to two numerical control devices with a conventional numerical control system and the numerical control system of the above embodiment. Figure 10 is a functional block diagram of the numerical control system of the second embodiment disclosed herein.

Claims

1. A numerical control system comprising: a numerical control device that controls the movement of a machine tool by means of a numerical control program; a robot control device that controls the movement of the robot according to robot instructions; and two or more of the aforementioned numerical control devices communicatively connected to the aforementioned robot control device, wherein each numerical control device comprises: a robot instruction generation unit that generates the aforementioned robot instructions according to the aforementioned numerical control program; a robot connection request unit that generates a connection request to the aforementioned robot control device; and an instruction sending side communication interface that sends the aforementioned connection request and the aforementioned robot instructions to the aforementioned robot control device; wherein the aforementioned robot control device comprises: an instruction receiving side communication interface that receives the aforementioned connection request and the aforementioned robot instructions; a robot motion control unit that controls the movement of the aforementioned robot according to the aforementioned robot instructions; and a robot connection response unit that generates a connection acknowledgment for the connection request after receiving the aforementioned connection request from the aforementioned instruction receiving side communication interface. A connection request buffer stores connection request information associated with the connection request received by the aforementioned command receiving side communication interface; and a robot connection decision unit determines, based on the connection request information, any one of the plurality of aforementioned numerical control devices as the destination for the connection acknowledgment. The aforementioned command receiving side communication interface sends the connection acknowledgment to the aforementioned command sending side communication interface at the aforementioned destination. The aforementioned command sending side communication interface begins sending the aforementioned robot command to the aforementioned command receiving side communication interface after receiving the connection acknowledgment.

2. A numerical control system comprising: a numerical control device that controls the movement of a machine tool via a numerical control program; and a robot control device that controls the movement of a robot according to robot instructions, wherein the numerical control device comprises two or more control modules communicatively connected to the robot control device and generating the robot instructions according to the numerical control program; each control module comprising: a robot instruction generation unit that generates the robot instructions according to the numerical control program; a robot connection request unit that generates a connection request to the robot control device; and an instruction sending side communication interface that sends the connection request and the robot instructions to the robot control device; wherein the robot control device comprises: an instruction receiving side communication interface that receives the connection request and the robot instructions; a robot motion control unit that controls the movement of the robot according to the robot instructions; and a robot connection response unit that generates a connection acknowledgment for the connection request after receiving the connection request from the instruction receiving side communication interface. A connection request buffer stores connection request information associated with the connection request received by the aforementioned command receiving side communication interface; and a robot connection decision unit determines, based on the connection request information, any one of the plurality of aforementioned control modules as the destination for the connection acknowledgment. The aforementioned command receiving side communication interface sends the connection acknowledgment to the aforementioned command sending side communication interface at the aforementioned destination. The aforementioned command sending side communication interface begins sending the aforementioned robot command to the aforementioned command receiving side communication interface after receiving the connection acknowledgment.

3. The numerical control system of request item 1 or 2, wherein the aforementioned robot connection request unit generates the aforementioned connection request according to the aforementioned numerical control program.

4. The numerical control system as described in request item 3, wherein the aforementioned connection request information includes identification information specifying the source of the aforementioned connection request and a priority value, the aforementioned priority value being specified according to the aforementioned numerical control program.

5. The numerical control system of request item 4, wherein when the aforementioned connection request buffer stores a plurality of the aforementioned connection request information, the aforementioned robot connection decision unit determines the aforementioned sending destination based on the aforementioned priority value.

6. The numerical control system of request item 5, wherein when the aforementioned priority value is not specified by the aforementioned numerical control program, a predetermined initial value is stored as the aforementioned priority value in the aforementioned connection request buffer.

7. The numerical control system of request item 5, wherein when the aforementioned connection request information does not include the aforementioned priority value, the aforementioned robot connection decision unit determines the aforementioned sending destination based on a predetermined initial value.

Citation Information

Patent Citations

  • Industrial robot control system

    JP1983022412A

  • Numerical control system

    JP1992155406A

  • Automatic machine control system

    JP2005173849A

  • Controller of robot used in combination with machine tool

    JP2010191602A

  • Data collection device and data collection program

    JP2018136765A