Numerical Control System
The numerical control system addresses the challenge of operating multiple machine tools with a single robot by allowing flexible adjustment of control modules and managing communication effectively, ensuring efficient and high-performance robot operation.
Patent Information
- Application Number
- JP2023529400
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-06-25
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2041-06-25
AI Technical Summary
Existing numerical control systems face challenges when operating multiple machine tools in parallel with a single robot, as the robot control device's communication interface is limited, leading to reduced robot operating performance due to increased communication load.
A numerical control system where a robot control device generates robot commands based on a numerical control program, allowing the number of control modules to be adjusted independently of the robot control device's communication interface size, thereby managing communication load effectively.
Enables efficient operation of multiple machine tools and robots in parallel without degrading robot performance, as the system optimizes communication by reusing communication interfaces and managing connection approvals dynamically.
Smart Images

Figure 0007674481000001 
Figure 0007674481000002 
Figure 0007674481000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to numerical control systems. [Background technology]
[0002] Generally, the programming languages used for the numerical control programs for controlling machine tools and the robot programs for controlling robots are different, so that in order to operate the machine tools and the robots in parallel, the operators need to be familiar with both the numerical control programs and the robot programs.
[0003] Patent Document 1 discloses a numerical control device that controls both a machine tool and a robot by a numerical control program. According to the numerical control device of Patent Document 1, an operator familiar with numerical control programs can also control a robot without becoming familiar with robot programs. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 6647472 Summary of the Invention [Problem to be solved by the invention]
[0005] Incidentally, Patent Document 1 discloses a technology for operating one robot and one machine tool in parallel, but in an actual factory, for example, one robot and multiple machine tools may be operated in parallel. In such a configuration, when communication is to be performed between a robot control device that directly controls the operation of the robot and multiple numerical control devices that control each machine tool, the robot control device needs to have a communication interface for each of the numerical control devices. In other words, 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.
[0006] Furthermore, if one robot control device is provided with as many communication interfaces as there are numerical control devices, while the robot control device is controlling the robot's operation based on a command sent from a certain numerical control device, the other numerical control devices must constantly check through communication whether the robot's operation has been completed. This places a communication load on the robot control device in proportion to the number of numerical control devices, which may result in a corresponding decrease in the robot's operating performance.
[0007] Some numerical control devices can control the operation of multiple machine tools in parallel using multiple control modules. When attempting to communicate between such a numerical control device and a robot control device, the robot control device needs to have a communication interface for each control module. For this reason, the above problem can occur even when one robot control device and one numerical control device are connected.
[0008] The present disclosure has been made in consideration of the above-mentioned problems, and provides a numerical control system including a robot control device that controls the operation of a robot based on robot commands generated in a control module of the numerical control device based on a numerical control program, in which the number of numerical control devices connected to the robot control device and the number of their control modules can be changed regardless of the size of the communication interface of the robot control device. [Means for solving the problem]
[0009] One aspect of the present disclosure is a numerical control system comprising: a numerical control device that controls operation of a machine tool based on a numerical control program; and a robot control device that controls operation of the robot based on a robot command, wherein the numerical control device has one or more control modules that generate the robot commands based on the numerical control program, and the control modules comprise: a robot command generation unit that generates the robot commands based on the numerical control program, a robot connection request unit that generates a connection request for the robot control device, and a command sending side communication interface that transmits the connection request and the robot command to the robot control device, wherein the robot control device comprises: a command receiving side communication interface that receives the connection request and the robot command, a robot operation control unit that controls operation of the robot based on the robot command, and a robot connection response unit that receives the connection request by the command receiving side communication interface and generates a connection acknowledgement for the connection request, wherein the command receiving side communication interface transmits the connection acknowledgement to the command sending side communication interface, and the command sending side communication interface starts transmitting the robot command to the command receiving side communication interface after receiving the connection acknowledgement. Effect of the Invention
[0010] According to one aspect of the present disclosure, an operator familiar with a numerical control program used to control a machine tool can control a robot without having to become familiar with a robot program written in a language different from the numerical control program. According to another aspect of the present disclosure, the command transmission communication interface of the numerical control device starts transmitting the robot command generated by the robot command generation unit to the command reception communication interface after receiving a connection acknowledgement generated by the robot connection response unit of the robot control device as a response to a connection request generated by the robot connection request unit of the numerical control device. In other words, the robot control device can manage the timing of starting transmission of the robot command from the numerical control device to the robot control device in response to the connection request transmitted from the numerical control device. Thus, according to one aspect of the present disclosure, by reusing one command reception communication interface, it is possible to receive robot commands from multiple command transmission communication interfaces. Thus, according to one aspect of the present disclosure, it is possible to change the number of numerical control devices connected to the robot control device and the number of their control modules regardless of the size of the command reception communication interface of the robot control device. Furthermore, according to one aspect of the present disclosure, for example, while a robot control device is controlling the operation of a robot based on a robot command transmitted from a certain numerical control device, the other numerical control devices do not need to constantly check through communication whether the robot's operation has been completed. Therefore, even if the number of connected numerical control devices increases, the communication load on the robot control device does not increase, and a decrease in the robot's operational performance can be prevented. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a schematic diagram of a numerical control system according to a first embodiment of the present disclosure. [Figure 2A] FIG. 2 is a functional block diagram of a first numerical control device and an Nth numerical control device. [Figure 2B] FIG. 2 is a functional block diagram of a robot control device. [Figure 3A] 1 is a first example of a first numerical control program. [Figure 3B] This is a first example of the Nth numerical control program. [Figure 4] FIG. 11 is a sequence diagram showing the flow of signals and information between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are operated based on the numerical control program of the first example. [Figure 5A] 11 is a second example of the first numerical control program. [Figure 5B] This is a second example of the Nth numerical control program. [Figure 6] FIG. 11 is a sequence diagram showing the flow of signals and information between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are operated based on the numerical control program of the second example. [Figure 7A] 11 is a third example of the first numerical control program. [Figure 7B] This is a third example of the Nth numerical control program. [Figure 8] FIG. 11 is a sequence diagram showing the flow of signals and information between the first and Nth numerical control devices and the robot control device when the first and Nth numerical control devices are operated based on the numerical control program of the third example. [Figure 9] FIG. 11 is a diagram comparing the cycle time of the entire system when two numerical control devices are connected to one robot control device, between a conventional numerical control system and the numerical control system according to the above embodiment. [Figure 10] FIG. 11 is a functional block diagram of a numerical control system according to a second embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] First Embodiment Hereinafter, a numerical control system 1 according to a first embodiment of the present disclosure will be described with reference to the drawings.
[0013] FIG. 1 is a schematic diagram of a numerical control system 1 according to the present embodiment.
[0014] The numerical control system 1 includes a plurality of (in this embodiment, N, which is an integer equal to or greater than 2) machine tools 2_1, ..., 2_N, a plurality of (in this embodiment, N, the same number as the number of machine tools) numerical control devices 5_1, ..., 5_N that control the operation of each of the machine tools 2_1, ..., 2_N, a robot 3 provided near each of the machine tools 2_1, ..., 2_N, and a robot control device 6 communicatively connected to each of the numerical control devices 5_1, ..., 5_N. In the following, illustration and detailed description of the second to N-1th machine tools and numerical control devices among the N machine tools 2_1, ..., 2_N and the N numerical control devices 5_1, ..., 5_N will be omitted.
[0015] In this embodiment, a case will be described in which N numerical control devices 5_1, ... 5_N are communicatively connected to one robot control device 6, but the present disclosure is not limited thereto. The number of numerical control devices connected to a robot control device may be one, as will be described in a third embodiment below.
[0016] The first numerical control device 5_1, which is the first of the N numerical control devices, generates a first machine tool control signal for the first machine tool 2_1, which is the first of the N machine tools, and a first robot command for the robot 3 in accordance with a predetermined first numerical control program, and transmits this first machine tool control signal and first robot command to the first machine tool 2_1 and the robot control device 6, respectively.
[0017] The Nth numerical control device 5_N, which is the Nth of the N numerical control devices, generates an Nth machine tool control signal for the Nth machine tool 2_N, which is the Nth of the N machine tools, and an Nth robot command for the robot 3 in accordance with a predetermined Nth numerical control program, and transmits this Nth machine tool control signal and Nth robot command to the Nth machine tool 2_N and the robot control device 6, respectively.
[0018] The robot control device 6 controls the operation of the robot 3 in response to robot commands transmitted from each of the numerical control devices 5_1, . . . , 5_N.
[0019] Each of the machine tools 2_1, ..., 2_N processes a workpiece (not shown) in response to a machine tool control signal transmitted from each of the numerical control devices 5_1, ..., 5_N. Here, each of the machine tools 2_1, ..., 2_N is, for example, a lathe, a drill press, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, etc., but is not limited to these.
[0020] The robot 3 operates under the control of a robot control device 6, and performs a predetermined task on a workpiece that has been machined by each of the machine tools 2_1, ..., 2_N, for example. The robot 3 is, for example, an articulated robot, and a gripping tool 32 for gripping a workpiece is attached to an arm tip 31. In the following, a case will be described in which the robot 3 grips the workpieces that have been machined by each of the machine tools 2_1, ..., 2_N at a predetermined position with the gripping tool 32, and transports the workpieces to a predetermined position, but this is not limited thereto. In the following, a case will be described in which the robot 3 is a six-axis articulated robot, but the number of axes is not limited thereto.
[0021] Each of the numerical control devices 5_1, ..., 5_N and the robot control device 6 is a computer configured with hardware such as a calculation processing means such as a CPU (Central Processing Unit), auxiliary storage means such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) storing various programs, main storage means such as a RAM (Random Access Memory) for storing data temporarily required for the calculation processing means to execute the programs, operation means such as a keyboard for an operator to perform various operations, and display means such as a display for displaying various information to the operator. Various signals can be transmitted and received between the robot control device 6 and each of the numerical control devices 5_1, ..., 5_N, for example, by Ethernet (registered trademark).
[0022] Fig. 2A is a functional block diagram of a first numerical control device 5_1 and an Nth numerical control device 5_N, and Fig. 2B is a functional block diagram of a robot control device 6. In the following, detailed configurations of the numerical control devices 5_1 and 5_N will be described first, and then detailed configurations of the robot control device 6 will be described.
[0023] 2A, in the first numerical control device 5_1, various functions such as a control module 50_1 as a control system for the first machine tool 2_1 and the robot 3, and a program storage unit 59_1 are realized by the above hardware configuration. Note that, in the following, a case will be described in which the first numerical control device 5_1 is provided with a control module 50_1 that controls the operations of both the first machine tool 2_1 and the robot 3, but the present disclosure is not limited to this. The first numerical control device 5_1 may be provided with a machine tool control module that controls the operation of the first machine tool 2_1 and a robot control module that controls the operation of the robot 3 separately.
[0024] The program storage unit 59_1 stores a plurality of first numerical control programs created based on, for example, an operation by an operator. More specifically, the program storage unit 59_1 stores a first numerical control program configured by a plurality of command blocks for the first machine tool 2_1 for controlling the operation of the first machine tool 2_1 and a plurality of command blocks for the robot 3 for controlling the operation of the robot 3. The first numerical control program stored in the program storage unit 59_1 is written in a known program language such as G-code or M-code. Note that, in the following, a case will be described in which the first numerical control program includes a command block for the first machine tool 2_1 and a command block for the robot 3, but the present disclosure is not limited thereto. The command block for the first machine tool 2_1 and the command block for the robot 3 may be written in different numerical control programs.
[0025] In the first numerical control program stored in program storage unit 59_1, a command block for the first machine tool 2_1 is described based on a first machine tool coordinate system having a reference point defined on or in the vicinity of the first machine tool 2_1 as its origin. That is, in the first numerical control program, the positions, attitudes, etc. of the control points of the first machine tool 2_1 are described by coordinate values in the first machine tool coordinate system.
[0026] In addition, in the first numerical control program stored in the program storage unit 59_1, the command block for the robot 3 is described based on a robot coordinate system different from the above-mentioned first machine tool coordinate system. That is, in the first numerical control program, the position and posture of the control point of the robot 3 (for example, the arm tip 31 of the robot 3) are described by coordinate values in 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 the robot 3 or in the vicinity of the robot 3. Note that, in the following, a case where the robot coordinate system is different from the first machine tool coordinate system will be described, but the present disclosure is not limited to this. The robot coordinate system may be made to coincide with the first machine tool coordinate system. In other words, the origin and coordinate axis directions of the robot coordinate system may be made to coincide with the origin and coordinate axis directions of the first machine tool coordinate system.
[0027] In addition, in this first numerical control program, the robot coordinate system can be switched between two or more coordinate formats with different control axes. More specifically, in the first numerical control program, the position and orientation of the control point of the robot 3 can be specified in the Cartesian coordinate format or the coordinate format for each axis.
[0028] In each axis coordinate format, the position and posture of the control point of the robot 3 is specified by a total of six real coordinate values whose components are the rotation angle values (J1, J2, J3, J4, J5, J6) of the six joints of the robot 3.
[0029] In the Cartesian coordinate format, the position and orientation of the control point of the robot 3 is specified by a total of six real coordinate values consisting of three coordinate values (X, Y, Z) along three Cartesian coordinate axes and three rotation angle values (A, B, C) around each Cartesian coordinate axis.
[0030] Here, in the case of each axis coordinate system, the rotation angle of each joint of the robot 3 is directly specified, so that the axial arrangement of each arm and wrist of the robot 3 and the number of rotations of the joints that can rotate 360 degrees or more (hereinafter, these are collectively referred to as the "configuration of the robot 3") are uniquely determined. In contrast, in the case of the Cartesian coordinate system, the position and posture of the control point of the robot 3 are specified by six coordinate values (X, Y, Z, A, B, C), so that the configuration of the robot 3 cannot be uniquely determined. Therefore, in the first numerical control program, it is possible to specify the configuration of the robot 3 by a configuration value P, which is an integer value of a predetermined number of digits. Therefore, the position and posture of the control point of the robot 3 and the configuration of the robot 3 are represented by six coordinate values (J1, J2, J3, J4, J5, J6) in the case of each axis coordinate system, and by six coordinate values and one configuration value (X, Y, Z, A, B, C, P) in the case of the Cartesian coordinate system. In the following, the configuration value P is also referred to as a coordinate value for convenience.
[0031] In the first numerical control program, the coordinate format can be set by the G codes "G68.8" and "G68.9". More specifically, by inputting the G code "G68.8", the coordinate format is set to each axis coordinate format, and by inputting the G code "G68.9", the coordinate format is set to the Cartesian coordinate format. The G codes "G68.8" and "G68.9" for setting these coordinate formats are modal. Therefore, after the coordinate format is set to each axis coordinate format or Cartesian coordinate format by these G codes, the coordinate format is maintained until the coordinate format is changed again by these G codes. In this embodiment, if the G codes for setting these coordinate formats are not described in the first numerical control program, the coordinate format is automatically set to the Cartesian coordinate format, but this is not limited to this.
[0032] 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 command generation unit 54_1, a robot connection request unit 55_1, and a communication interface 56_1, and by using these, controls the operation of the first machine tool 2_1 based on a first numerical control program and generates a first robot command for controlling the operation of the robot 3.
[0033] The program input unit 51_1 reads out a predetermined first numerical control program from the program storage unit 59_1, and sequentially inputs it to the input analysis unit 52_1.
[0034] The input analysis unit 52_1 analyzes the command type based on the first numerical control program input from the program input unit 51_1 for each command block, and transmits the analysis result to the machine tool control unit 53_1, the robot command generation unit 54_1, and the robot connection request unit 55_1. More specifically, when the command type of the command block is a command for the first machine tool 2_1, the input analysis unit 52_1 transmits it to the machine tool control unit 53_1, when the command type of the command block is a command for the robot 3, the input analysis unit 52_1 transmits it to the robot command generation unit 54_1, and when the command type of the command block is a request for the robot control device 6, the input analysis unit 52_1 transmits it to the robot connection request unit 55_1.
[0035] The machine tool control unit 53_1 generates a first machine tool control signal for controlling the operation of the first machine tool 2_1 in accordance with the analysis result of the first numerical control program transmitted from the input analysis unit 52_1, and inputs the signal to actuators that drive various axes of the first machine tool 2_1. The first machine tool 2_1 operates in accordance with the first machine tool control signal input from the machine tool control unit 53_1, and machines a workpiece (not shown).
[0036] The robot connection request unit 55_1 generates a connection request to the robot controller 6 or a connection release request to the robot controller 6 based on the analysis result of the first numerical control program transmitted from the input analysis unit 52_1. More specifically, the connection request to the robot controller 6 refers to a request to the robot controller 6 for permission to transmit a first robot command from a communication interface 56_1 of the first numerical control device 5_1 to a communication interface 60 (described later) of the robot controller 6 so that the operation of the robot 3 can be controlled based on a first robot command generated by a robot command generation unit 54_1 (described later) based on the first numerical control program. More specifically, the connection release request to the robot controller 6 refers to a request to notify the robot controller 6 of the end of transmission of the first robot command from the communication interface 56_1 to the communication interface 60 so as to end control of the operation of the robot 3 based on the first robot command.
[0037] Here, in the first numerical control program, a connection request can be generated for the robot connection request unit 55_1 by the G code "G200", and a disconnection request can be generated for the robot connection request unit 55_1 by the G code "G201". In addition, in the first numerical control program, a priority value for a connection request can be specified by describing a priority designation command "P_" following the G code "G200". Note that an arbitrary integer value of 1 or more is input as a value indicating the level of priority in the underscore portion of the priority designation command. Note that, hereinafter, the higher the priority value, the higher the priority, but the present disclosure is not limited to this. The lower the priority value, the higher the priority may be.
[0038] When the robot connection request unit 55_1 generates a connection request based on the first numerical control program through the above-mentioned procedure, it writes the generated connection request together with connection request information associated with this connection request into the communication interface 56_1, and transmits the connection request and the connection request information to the robot control device 6. Here, the connection request information includes identification information (e.g., an IP address unique to the first numerical control device 5_1) for identifying the first numerical control device 5_1, which is the source of the connection request, on the robot control device 6 side, and a priority value designated based on the above-mentioned priority designation command.
[0039] In this embodiment, when a priority value for a connection request is not specified by the first numerical control program, i.e., when a priority designation command is not written in the first numerical control program, the robot connection request unit 55_1 writes a predetermined initial value as a priority value into the communication interface 56_1 and transmits it to the robot control device 6, but the present disclosure is not limited to this. As will be described later with reference to Fig. 7B and Fig. 8, when a priority value for a connection request is not specified by the first numerical control program, the robot connection request unit 55_1 may transmit only the identification information to the robot control device 6 without transmitting a priority value.
[0040] In addition, when the robot connection request unit 55_1 generates a connection release request based on the first numerical control program through the above-mentioned procedure, it writes the generated connection release request to the communication interface 56_1 and transmits this connection release request to the robot control device 6.
[0041] The robot command generation unit 54_1 generates a first robot command for moving a control axis of the robot 3 based on the analysis result of the first numerical control program transmitted from the input analysis unit 52_1, writes the generated robot command to the communication interface 56_1, and transmits the robot command to the robot control device 6. Note that hereinafter, a case will be described in which a command block between the G-code "G200" for generating a connection request to the robot connection request unit 55_1 and the G-code "G201" for generating a connection release request to the robot connection request unit 55_1 in the first numerical control program is used as a command for the robot 3, but the present disclosure is not limited to this.
[0042] In addition, after confirming that the robot command generating unit 54_1 has received, via the communication interface 56_1, a connection acknowledgement, which will be described later, sent from the robot control device 6 as a response from the robot control device 6 to the connection request generated in the robot connection request unit 55_1 as described above, the robot command generating unit 54_1 starts generating a first robot command based on the first numerical control program as described above and transmitting this first robot command to the robot control device 6.
[0043] When the robot connection request unit 55_1 writes a connection request and connection request information to the communication interface 56_1, the communication interface 56_1 transmits the connection request 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 to the communication interface 56_1, the communication interface 56_1 transmits the connection release request to the communication interface 60.
[0044] When the communication interface 56_1 receives a connection approval transmitted in a procedure described below from the robot control device 6 as a response to the above-mentioned connection request, the communication interface 56_1 notifies the robot command generating unit 54_1 that the connection approval has been received. After receiving the connection approval, when a first robot command is written by the robot command generating unit 54_1 as described above, the communication interface 56_1 transmits the first robot command to the communication interface 60.
[0045] The Nth numerical control device 5_N differs from the first numerical control device 5_1 in that the control object is the Nth machine tool 2_N. Other configurations are almost the same as those of the first numerical control device 5_1, so the detailed configuration of the Nth numerical control device 5_N will not be described below. That is, the Nth numerical control device 5_N includes a program memory unit 59_N in which a plurality of Nth numerical control programs are stored, a control module 50_N having approximately the same configuration as the control module 50_1 of the first numerical control device 5_1, a program input unit 51_N having approximately the same configuration as the program input unit 51_1 of the first numerical control device 5_1, an input analysis unit 52_N having approximately the same configuration as the input analysis unit 52_1 of the first numerical control device 5_1, a machine tool control unit 53_N having approximately the same configuration as the machine tool control unit 53_1 of the first numerical control device 5_1, a robot command generating unit 54_N having approximately the same configuration as the robot command generating unit 54_1 of the first numerical control device 5_1, a robot connection request unit 55_N having approximately the same configuration as the robot connection request unit 55_1 of the first numerical control device 5_1, and a communication interface 56_N having approximately the same configuration as the communication interface 56_1 of the first numerical control device 5_1.
[0046] Next, the configuration of the robot control device 6 will be described with reference to Fig. 2B. As shown in Fig. 2B, the robot control device 6 has various functions realized by the above hardware configuration, such as a communication interface 60, a robot connection response unit 63, a robot connection determination unit 64, an input analysis unit 65, a robot program generation unit 66, and a robot operation control unit 67.
[0047] The communication interface 60 is communicatively connected to the communication interfaces 56_1, ..., 56_N of each of the numerical control devices 5_1, ..., 5_N, and it is possible to transmit and receive various information between the communication interface 60 and the communication interfaces 56_1, ..., 56_N, such as robot commands, connection requests, connection request information, connection release requests, and connection approvals described below.
[0048] The communication interface 60 includes a control area 61 and a connection request buffer 62 as storage areas for temporarily storing various information transmitted from the communication interfaces 56_1, . . . , 56_N.
[0049] When the communication interface 60 receives the robot commands transmitted from each of the communication interfaces 56_1, ..., 56_N, it stores these robot commands in the control area 61. As described above, each of the numerical control devices 5_1, ..., 5_N starts transmitting the robot commands after receiving the connection approval transmitted from the robot control device 6 as a response to the connection request transmitted from each of the numerical control devices 5_1, ..., 5_N. Therefore, the robot control device 6 can prevent the transmission timing of the robot commands from each of the numerical control devices 5_1, ..., 5_N from overlapping by shifting the transmission timing of the connection approval to each of the numerical control devices 5_1, ..., 5_N. Therefore, according to this embodiment, the control area 61 for temporarily storing the robot commands can be reused, so that the size of the control area 61 does not need to be increased even if the number of numerical control devices connected to the robot control device 6 is increased.
[0050] When the communication interface 60 receives a connection request transmitted from each of the communication interfaces 56_1, ..., 56_N, it stores connection request information associated with the connection request in the connection request buffer 62 in the order of reception. As described above, the connection request information includes identification information required for the robot control device 6 to identify the source of the connection request, and a priority value (a value designated based on a priority designation command or a predetermined initial value). When the communication interface 60 receives a connection release request transmitted from each of the communication interfaces 56_1, ..., 56_N, it deletes, from the multiple connection request information stored in the connection request buffer 62, the connection request information having the same source as the received connection release request.
[0051] The robot connection response unit 63 checks at a predetermined cycle whether connection request information is stored in the connection request buffer 62, and if connection request information is stored, reads it and transmits it to the robot connection determination unit 64. If multiple sets of connection request information are stored in the connection request buffer 62, the robot connection response unit 63 transmits all of the multiple sets of connection request information stored in the connection request buffer 62 to the robot connection determination unit 64.
[0052] The robot connection determination unit 64 determines a connection approval transmission destination based on the connection request information transmitted from the robot connection response unit 63 , and transmits this connection approval transmission destination to the robot connection response unit 63 .
[0053] Here, if only one set of connection request information is stored in the connection request buffer 62, the robot connection determination unit 64 identifies the sender of this connection request information based on the identification information, and determines this sender as the connection approval destination.
[0054] Furthermore, when a plurality of sets of connection request information are stored in the connection request buffer 62, the robot connection determination unit 64 identifies the transmission source of each connection request information based on the identification information, and determines one of the transmission sources as the connection approval transmission destination. Since each connection request information includes a priority value for the connection request as described above, the robot connection determination unit 64 determines one of the transmission sources as the connection approval transmission destination based on these priority values. More specifically, the robot connection determination unit 64 compares the priority values included in each connection request information, and determines the transmission source with the largest priority value (i.e., the highest priority) as the connection approval transmission destination. Note that when the priority values are the same, the robot connection determination unit 64 determines the transmission source of the connection request received first in the communication interface 60 as the connection approval transmission destination. Note that when the priority value is set higher as the priority value is smaller as described above, the robot connection determination unit 64 determines the transmission source with the smallest priority value as the connection approval transmission destination.
[0055] When the connection approval destination is determined by the robot connection determination unit 64 through the above procedure, the robot connection response unit 63 generates a connection approval and transmits the connection approval to the communication interface of the connection approval destination via the communication interface 60. As a result, a robot command generated based on the numerical control program is transmitted from the communication interface of the connection approval destination to the communication interface 60.
[0056] The input analysis unit 65 reads and analyzes the robot commands stored in the control area 61 , and transmits the analysis results to the robot program generation unit 66 .
[0057] The robot program generation unit 66 generates a robot program according to the analysis result of the robot command transmitted from the input analysis unit 65. More specifically, when a robot command is input from the input analysis unit 65, the robot program generation unit 66 adds a robot command corresponding to the robot command to a robot program stored in a storage unit (not shown).
[0058] The robot operation control unit 67 starts the robot program generated by the robot program generation unit 66, and sequentially executes the robot commands described in the started robot program to control the operation of the robot 3. More specifically, the robot operation control unit 67 calculates target positions for each control axis of the robot 3 by executing the robot commands, and generates robot control signals for the robot 3 by feedback-controlling each servo motor of the robot 3 so that the calculated target positions are realized, and inputs these signals to the servo motors of the robot 3.
[0059] Next, a first example of the flow of various signals and information in the numerical control system 1 configured as above will be described with reference to FIGS. 3A, 3B, and 4. FIG.
[0060] Fig. 3A is a first example of a first numerical control program, and Fig. 3B is a first example of an Nth numerical control program. Note that in Fig. 3A and Fig. 3B, among the multiple command blocks constituting each numerical control program, command blocks for the first and Nth machine tools are omitted.
[0061] FIG. 4 is a sequence diagram showing the flow of signals and information between the first and N numerical control devices and the robot control device when the first and N numerical control devices are operated based on the numerical control program shown in FIGS. 3A and 3B.
[0062] First, in the block indicated by sequence number "N10", a command "G200 P1" is input to the robot connection request unit of the first numerical controller, which generates a connection request to the robot controller and specifies a priority value of "1". In response to this, the robot connection request unit and communication interface of the first numerical controller transmit a connection request and connection request information to the communication interface of the robot controller. Here, the connection request information transmitted from the first numerical controller to the robot controller includes the IP address "192.168.0.10" unique to the first numerical controller and the priority value "1".
[0063] Next, in the block indicated by sequence number "N20", a command "G200 P2" is input to the robot connection request unit of the Nth numerical control device, which generates a connection request to the robot control device and specifies a priority value of "2". In response to this, the robot connection request unit and communication interface of the Nth numerical control device transmit a connection request and connection request information to the communication interface of the robot control device. Here, the connection request information transmitted from the Nth numerical control device to the robot control device includes the IP address "192.168.0.255" unique to the Nth numerical control device and the priority value "2".
[0064] On the other hand, in response to receiving the connection request and the connection request information from the first and Nth numerical control devices by the above-mentioned procedure, the communication interface of the robot control device stores the received connection request information in the connection request buffer in the order of reception. After that, the robot connection determination unit of the robot control device determines the connection approval transmission destination based on the two sets of connection request information stored in the connection request buffer. In the example shown in FIG. 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". In other words, 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 connection approval transmission destination. In addition, the robot connection response unit and the communication interface of the robot control device transmit the connection approval to the communication interface of the Nth numerical control device.
[0065] The robot command generation unit of the Nth numerical control device sequentially reads the blocks indicated by "N21" to "N23" in response to confirmation of reception of the connection approval from the robot control device, generates the Nth robot command according to these commands "N21" to "N23", and the communication interface of the Nth numerical control device sequentially transmits the generated Nth robot command to the robot control device. The robot control device also controls the operation of the robot based on the received Nth robot command, and transmits a read completion notification to the Nth numerical control device in response to completion of reading the Nth robot command. Note that while controlling the operation of the robot based on the Nth robot command transmitted from the Nth numerical control device in this way, the first numerical control device, which has a lower priority, is in a state of waiting for connection approval from the robot control device. Therefore, during this time, the first numerical control device does not need to actively confirm the operation state of the robot by communication with the robot control device.
[0066] Next, in the block indicated by sequence number "N24", a command "G201" for generating a disconnection request for the robot controller is input to the robot connection request unit of the Nth numerical control device. In response to this, the robot connection request unit and the communication interface of the Nth numerical control device transmit a disconnection request to the communication interface of the robot controller. In addition, in response to receiving the disconnection request from the Nth numerical control device, the communication interface of the robot control device deletes the connection request information having the Nth numerical control device as the sender from among the multiple sets of connection request information stored in the connection request buffer. As a result, the connection request information stored in the connection request buffer will only have the connection request information having the first numerical control device as the sender.
[0067] Then, the robot connection determination unit of the robot controller determines the first numerical control device, which is the sender of the set of connection request information stored in the connection request buffer, as the connection approval destination. Also, the robot connection response unit and the communication interface of the robot controller transmit the connection approval to the communication interface of the first numerical control device.
[0068] The robot command generation unit of the first numerical control device, upon confirming receipt of the connection approval from the robot control device, sequentially reads the blocks indicated by "N11" to "N14" and generates first robot commands corresponding to these commands "N11" to "N14", and the communication interface of the first numerical control device sequentially transmits the generated first robot commands to the robot control device. The robot control device also controls the operation of the robot based on the received first robot commands, and transmits a read completion notification to the first numerical control device upon completion of reading the first robot commands.
[0069] Next, in the block indicated by sequence number "N15", a command "G201" for generating a disconnection request to the robot controller is input to the robot connection request unit of the first numerical controller. In response to this, the robot connection request unit and the communication interface of the first numerical controller transmit a disconnection request to the communication interface of the robot controller. In addition, in response to receiving the disconnection request from the first numerical controller, the communication interface of the robot controller deletes the connection request information stored in the connection request buffer that has the first numerical controller as the sender.
[0070] Next, a second example of the flow of various signals and information in the numerical control system 1 configured as above will be described with reference to FIGS. 5A, 5B, and 6. FIG.
[0071] Fig. 5A is a second example of the first numerical control program, and Fig. 5B is a second example of the Nth numerical control program. Note that the first numerical control program shown in Fig. 5A and the Nth numerical control program shown in Fig. 5B differ from the first numerical control program shown in Fig. 3A and the Nth numerical control program shown in Fig. 3B in that the priority designation command "P_" is not described.
[0072] FIG. 6 is a sequence diagram showing the flow of signals and information between the first and N numerical control devices and the robot control device when the first and N numerical control devices are operated based on the numerical control programs shown in FIGS. 5A and 5B.
[0073] First, in the block indicated by sequence number "N30", a command "G200" for generating a connection request to the robot controller is input to the robot connection request unit of the first numerical control device. In response to this, the robot connection request unit and the communication interface of the first numerical control device transmit a connection request and connection request information to the communication interface of the robot controller. Here, if a priority value is not specified based on the first numerical control program, the robot connection request unit transmits a predetermined initial value ("1" in the example of FIG. 6) to the robot controller as the priority value.
[0074] Next, in the block indicated by sequence number "N40", a command "G200" for generating a connection request to the robot controller is input to the robot connection request unit of the Nth numerical control device. In response to this, the robot connection request unit and the communication interface of the Nth numerical control device transmit a connection request and connection request information to the communication interface of the robot controller. Here, if a priority value is not specified based on the Nth numerical control program, the robot connection request unit transmits a predetermined initial value ("1" in the example of FIG. 6) to the robot control device as the priority value.
[0075] On the other hand, in response to receiving the connection request and the connection request information from the first and N numerical control devices by the above-mentioned procedure, the communication interface of the robot control device stores the received connection request information in the connection request buffer in the order of reception. After that, the robot connection determination unit of the robot control device determines the connection approval transmission destination based on the two sets of connection request information stored in the connection request buffer. In the example shown in FIG. 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". In other words, the priority is the same between the first numerical control device and the Nth numerical control device. In this case, the robot connection determination unit determines the first numerical control device that received the connection request first as the connection approval transmission destination. Therefore, the robot connection response unit and the communication interface of the robot control device transmit the connection approval to the communication interface of the first numerical control device. Note that the flow from this point on is almost the same as the example shown in FIG. 4 except that the order in which the connection approval is transmitted from the robot control device is reversed, so detailed explanations will be omitted.
[0076] Next, a third example of the flow of various signals and information in the numerical control system 1 configured as above will be described with reference to FIGS. 7A, 7B, and 8. FIG.
[0077] Fig. 7A is a third example of the first numerical control program, and Fig. 7B is a third example of the Nth numerical control program. The first numerical control program shown in Fig. 7A differs from the first numerical control program shown in Fig. 3A in the priority value specified based on the priority specification command "P_". The Nth numerical control program shown in Fig. 7B differs from the Nth numerical control program shown in Fig. 3B in that the priority specification command "P_" is not described.
[0078] FIG. 8 is a sequence diagram showing the flow of signals and information between the first and N numerical control devices and the robot control device when the first and N numerical control devices are operated based on the numerical control programs shown in FIGS. 7A and 7B.
[0079] First, in the block indicated by sequence number "N50", a command "G200 P3" is input to the robot connection request unit of the first numerical controller, which generates a connection request to the robot controller and specifies a priority value of "3". In response to this, the robot connection request unit and communication interface of the first numerical controller transmit a connection request and connection request information to the communication interface of the robot controller. Here, the connection request information transmitted from the first numerical controller to the robot controller includes the IP address "192.168.0.10" unique to the first numerical controller and the priority value "3".
[0080] Next, in the block indicated by sequence number "N60", a command "G200" for generating a connection request to the robot control device is input to the robot connection request unit of the Nth numerical control device. In response to this, the robot connection request unit and the communication interface of the Nth numerical control device transmit a connection request and connection request information to the communication interface of the robot control device. In the example shown in FIG. 6, when a priority value is not specified based on the Nth numerical control program, a predetermined initial value is transmitted to the robot control device as the priority value, but the present disclosure is not limited to this. As shown in FIG. 8, when a priority value is not specified based on the Nth numerical control program, the robot connection request unit and the communication interface may transmit only identification information to the robot control device without transmitting a priority value.
[0081] On the other hand, in response to receiving the connection requests and connection request information from the first and Nth numerical control devices through the above-mentioned procedure, the communication interface of the robot control device stores the received connection information in the connection request buffer in the order of reception. Note that at this time, the connection request information transmitted from the Nth numerical control device does not include a priority value as described above. Therefore, of the two sets of connection request information stored in the connection request buffer, the priority value of the one whose sender is the Nth numerical control device is blank, as shown in FIG. 8.
[0082] Thereafter, the robot connection determination unit of the robot control device determines the connection approval transmission destination based on the two sets of connection request information stored in the connection request buffer. Here, if the connection request information stored in the connection request buffer does not include a priority value, the robot connection determination unit determines the connection approval transmission destination based on a predetermined initial value (e.g., "1"). Therefore, in the example shown in FIG. 8, the robot connection determination unit determines the connection approval transmission destination by setting the priority value of the connection request from the first numerical control device to "3" specified based on the numerical control program and the priority value of the connection request from the Nth numerical control device to the initial value "1". Therefore, the robot connection determination unit determines the first numerical control device with the higher priority as the connection approval transmission destination. Therefore, the robot connection response unit and the communication interface of the robot control device transmit the connection approval to the communication interface of the first numerical control device. Note that the flow from this point on is almost the same as the example shown in FIG. 6, so detailed explanation will be omitted.
[0083] According to this embodiment, the following effects are achieved. According to this embodiment, an operator familiar with a numerical control program used to control the machine tools 2_1, ..., 2_N can also control the robot 3 without becoming familiar with a robot program written in a language different from the numerical control program. Also, according to this embodiment, the communication interfaces 56_1, ..., 56_N of the numerical control devices 5_1, ..., 5_N start transmitting the first to Nth robot commands to the communication interface 60 of the robot control device 6 after receiving a connection acknowledgement generated by the robot connection response unit 63 of the robot control device 6 as a response to a connection request generated by the robot connection request unit 55_1, ..., 55_N of each of the numerical control devices 5_1, ..., 5_N. In other words, the timing of starting transmission of robot commands from each of the numerical control devices 5_1, ..., 5_N to the robot control device 6 can be managed on the robot control device 6 side according to the connection request transmitted from each of the numerical control devices 5_1, ..., 5_N side. Therefore, according to this embodiment, by reusing the control area 61 of one communication interface 60 provided in the robot controller 6, it is possible to receive robot commands from a plurality of communication interfaces 56_1, ..., 56_N. Therefore, according to this embodiment, the number of numerical control devices connected to the robot controller 6 and the number of their control modules can be changed regardless of the size of the control area 61 of the communication interface 60 of the robot controller 6. Furthermore, according to this embodiment, for example, while the robot controller 6 is controlling the operation of the robot 3 based on a robot command transmitted from a certain numerical control device, the other numerical control device does not need to constantly check whether the operation of the robot 3 has been completed by communication. Therefore, even if the number of connected numerical control devices increases, the communication load on the robot controller 6 does not increase, and therefore it is possible to prevent a decrease in the operating performance of the robot 3.
[0084] In this embodiment, the robot control device 6 includes a robot connection determination unit 64 that determines one of the N numerical control devices 5_1, ..., 5_N as a connection approval transmission destination, and the robot connection response unit 63 and the communication interface 60 transmit a connection approval to the connection approval transmission destination determined by the robot connection determination unit 64. As described above, according to this embodiment, a connection approval is transmitted to only one of the N numerical control devices 5_1, ..., 5_N that has been determined as the connection approval transmission destination, and only a robot command from this connection approval transmission destination is received in the control area 61 of the communication interface 60, so that the control area 61 of the communication interface 60 can be used for the multiple numerical control devices 5_1, ..., 5_N.
[0085] In this embodiment, the robot connection request units 55_1, ..., 55_N of the numerical control devices 5_1, ..., 5_N generate a connection request to the robot control device 6 based on a numerical control program. This makes it possible to generate a connection request to the robot control device 6 at an appropriate timing determined by an operator in consideration of the cycle time of the entire system.
[0086] In this embodiment, the robot control device 6 further includes a connection request buffer 62 that stores connection request information associated with a connection request received by the communication interface 60, and the robot connection determination unit 64 determines a connection approval transmission destination based on the connection request information stored in the connection request buffer 62. According to this embodiment, a plurality of pieces of connection request information transmitted from each of the numerical control devices 5_1, ..., 5_N are accumulated in the connection request buffer 62, and the robot connection determination unit 64 can determine the connection approval transmission destination at any timing.
[0087] In this embodiment, the connection request information stored in the connection request buffer 62 includes identification information for identifying the source of the connection request and a priority value of the connection request, and this priority value can be specified by a priority specification command "P_" based on the numerical control program. 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 connection approval transmission destination based on these priority values. This allows the connection approval to be transmitted from the robot control device 6 in an appropriate order determined by the operator so as to shorten the cycle time of the entire system as much as possible. Here, the effect of setting priorities for the connection requests from the numerical control devices 5_1, ..., 5_N will be described with reference to FIG. 9.
[0088] Fig. 9 is a diagram comparing the cycle time of the entire system when two numerical control devices are connected to one robot control device, with different priority settings. In the example of Fig. 9, the cycle time of the first numerical control device (denoted as "NC1" in Fig. 9) is set longer than the cycle time of the second numerical control device (denoted as "NC2" in Fig. 9). Therefore, the frequency with which the second numerical control device controls the robot's operation via the robot control device is higher than the frequency with which the first numerical control device controls the robot's operation via the robot control device.
[0089] The left side of Fig. 9 shows the cycle time of the entire system when no priority value is specified for the connection requests sent from the two numerical control devices to the robot control device, and connection approvals are sent on a first-come, first-served basis. The right side of Fig. 9 shows the cycle time of the entire system when the priority of the connection request from the second numerical control device, which has a shorter cycle time, is set higher than the priority of the connection request from the first numerical control device, which has a longer cycle time.
[0090] As shown in the left side of FIG. 9, when the connection approval is sent on a first-come-first-served basis, the connection approval may be sent first to the first numerical control device having a longer cycle time than the second numerical control device. In this case, as shown in the left side of FIG. 9, while the robot is being controlled by the first numerical control device, in other words while the first numerical control device is occupying the control area of the communication interface of the robot control device, the second numerical control device is in a state of waiting for the connection approval from the robot control device. Also, in this case, as shown in the left side of FIG. 9, when the control of the robot by the first numerical control device is completed, the first control of the robot by the second numerical control device starts. However, since the cycle time of the second numerical control device is shorter than that of the first numerical control device, the robot may be in a standby state from the completion of the first control of the robot by the second numerical control device to the start of the second control of the robot, that is, while the second numerical control device is controlling the second machine tool. Such a standby state of the robot may occur, for example, when the robot is waiting for the completion of machining of the workpiece by the machine tool when the robot attaches or removes a workpiece to or from the machine tool.
[0091] In contrast, if the priority of a connection request from the second numerical control device, which has a relatively short cycle time, is set higher than that of the first numerical control device, the second machine tool can be controlled in parallel with the robot control by the first numerical control device after the first robot control by the second numerical control device is completed, as shown on the right side of Fig. 9. Therefore, the time that the second numerical control device waits for connection approval from the robot control device can be made shorter than in the example on the left side of Fig. 9. Also, in this case, the second robot control by the second numerical control device can be started immediately after the robot control by the first numerical control device is completed, so the waiting time of the robot can also be made shorter than in the example on the left side of Fig. 9.
[0092] As described above, according to this embodiment, the operator can specify priority values for connection requests from each of the numerical control devices 5_1, ..., 5_N so that the cycle time of the entire system is as short as possible according to the cycle time of each of the numerical control devices 5_1, ..., 5_N.
[0093] In this embodiment, when a priority value for a connection request is not specified by the numerical control program, the robot connection request units 55_1, ..., 55_N of the numerical control devices 5_1, ..., 5_N transmit a predetermined initial value as a priority value to the robot control device 6. According to this embodiment, even if an operator forgets to specify a priority value when creating a numerical control program, for example, the numerical control system 1 can be operated under the predetermined initial value, which is convenient.
[0094] In this embodiment, the robot connection determination unit 64 determines the connection approval transmission destination based on a predetermined initial value when the connection request information stored in the connection request buffer 62 does not include a priority value. According to this embodiment, even if an operator forgets to specify a priority value when creating a numerical control program, for example, the numerical control system 1 can be operated under the predetermined initial value, which is convenient.
[0095] <Second embodiment> Hereinafter, a numerical control system according to a second embodiment of the present disclosure will be described with reference to the drawings.
[0096] 10 is a functional block diagram of a numerical control system 1A according to this embodiment. In the following description of the numerical control system 1A, the same components as those in the numerical control system 1 according to the first embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0097] The numerical control system 1A includes a plurality of machine tools 2_1, ..., 2_N (in this embodiment, N, where N is an integer greater than or equal to 2), one numerical control device 4 that controls the operation of each of the machine tools 2_1, ..., 2_N, a robot 3 provided in the vicinity of each of the machine tools 2_1, ..., 2_N, and a robot control device 6A that is communicatively connected to the numerical control device 4.
[0098] The numerical control device 4 and the robot control device 6A are computers each composed of hardware such as a calculation processing means such as a CPU (Central Processing Unit), auxiliary storage means such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) storing various programs, main storage means such as a RAM (Random Access Memory) for storing data temporarily required for the calculation processing means to execute the programs, operation means such as a keyboard for an operator to perform various operations, and display means such as a display for displaying various information to the operator. The robot control device 6A and the numerical control device 4 can mutually transmit and receive various signals, for example, via Ethernet (registered trademark).
[0099] As shown in FIG. 10, in the numerical control device 4, various functions of N control modules 40_1, ..., 40_N as control systems for the machine tools 2_1, ..., 2_N and the robot 3 are realized by the above hardware configuration.
[0100] Each of the control modules 40_1, ..., 40_N includes a program storage unit, a program input unit, an input analysis unit, a machine tool control unit, a robot command generation unit, a robot connection request unit, and a communication interface, each of which has substantially the same configuration as the first numerical control device 5_1 according to the first embodiment. The communication interface of each of the control modules 40_1, ..., 40_N is communicatively connected to the communication interface 60 of the robot control device 6A. The connection request information transmitted from the robot connection request unit and the communication interface of each of the control modules 40_1, ..., 40_N includes, as identification information for identifying the source of the connection request, an IP address unique to the numerical control device 4, as well as a module number assigned to each of the control modules 40_1, ..., 40_N.
[0101] 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 determination unit 64A, an input analysis unit 65, a robot program generation unit 66, and a robot operation control unit 67.
[0102] The robot connection determination unit 64A determines one of the control modules 40_1, ..., 40_N as a connection approval transmission destination based on the connection request information transmitted from the robot connection response unit 63, and transmits this connection approval transmission destination to the robot connection response unit 63. Note that the specific procedure for determining the connection approval transmission destination based on the connection request information in the robot connection determination unit 64A is almost the same as the procedure in the robot connection determination unit 64 according to the first embodiment, and therefore a detailed description thereof will be omitted.
[0103] According to this embodiment, substantially the same effects as those of the numerical control system 1 according to the first embodiment are achieved.
[0104] Although one embodiment of the present disclosure has been described above, the present disclosure is not limited thereto. Detailed configurations may be appropriately modified within the scope of the present disclosure. [Explanation of symbols]
[0105] 1,1A…Numerical control system 2_1,2_N…Machine tool 3. Robot 4,5_1,5_N…Numerical control device 40_1, 40_N, 50_1, 50_N…Control module 51_1, 51_N…Program input section 52_1, 52_N…Input analysis section 53_1, 53_N…Machine tool control section 54_1, 54_N: Robot command generation section 55_1, 55_N…Robot connection request section 56_1, 56_N…Communication interface 59_1, 59_N…Program memory section 6, 6A…Robot control device 60…Communication interface 61...Control area 62...Connection request buffer 63…Robot connection response section 64, 64A…Robot connection determination section 65...Input analysis section 66...Robot program generation section 67...Robot motion control unit
Claims
1. a numerical control device that controls an operation of a machine tool based on a numerical control program; A robot control device that controls the operation of the robot based on the robot command; In a numerical control system including two or more of the numerical control devices each communicably connected to the robot control device, The numerical control device includes: a robot command generating unit that generates the robot command based on the numerical control program; a robot connection request unit that generates a connection request for the robot control device; a command transmission communication interface that transmits the connection request and the robot command to the robot control device, The robot control device includes: a command receiving communication interface for receiving the connection request and the robot command; a robot operation control unit that controls an operation of the robot based on the robot command; a robot connection response unit that generates a connection acknowledgement for the connection request after receiving the connection request via the command receiving communication interface; a connection request buffer for storing connection request information associated with the connection request received by the command receiving communication interface; a robot connection determination unit that determines one of the plurality of numerical control devices as a destination of the connection approval based on the connection request information, The command receiving communication interface transmits the connection acknowledgement to the command sending communication interface of the destination; A numerical control system, wherein the command sending communication interface starts sending the robot command to the command receiving communication interface after receiving the connection approval.
2. A numerical control device that controls the operation of a machine tool based on a numerical control program; A robot control device that controls the operation of a robot based on a robot command, the numerical control device has two or more control modules each communicably connected to the robot control device and generating the robot command based on the numerical control program; The control module includes: a robot command generating unit that generates the robot command based on the numerical control program; a robot connection request unit that generates a connection request for the robot control device; a command transmission communication interface that transmits the connection request and the robot command to the robot control device, The robot control device includes: a command receiving communication interface for receiving the connection request and the robot command; a robot operation control unit that controls an operation of the robot based on the robot command; a robot connection response unit that generates a connection acknowledgement for the connection request after receiving the connection request via the command receiving communication interface; a connection request buffer for storing connection request information associated with the connection request received by the command receiving communication interface; a robot connection determination unit that determines one of the control modules as a destination of the connection approval based on the connection request information, The command receiving communication interface transmits the connection acknowledgement to the command sending communication interface of the destination; A numerical control system, wherein the command sending communication interface starts sending the robot command to the command receiving communication interface after receiving the connection approval.
3. The numerical control system according to claim 1 , wherein the robot connection request unit generates the connection request based on the numerical control program.
4. the connection request information includes identification information for identifying a source of the connection request and a priority value; The numerical control system according to claim 3 , wherein the priority value is specifiable based on the numerical control program.
5. 5. The numerical control system according to claim 4, wherein the robot connection determination unit determines the destination based on the priority value when a plurality of pieces of connection request information are stored in the connection request buffer.
6. 6. The numerical control system according to claim 5, wherein when the priority value is not specified by the numerical control program, a predetermined initial value is stored in the connection request buffer as the priority value.
7. The numerical control system according to claim 5 , wherein the robot connection determination unit determines the transmission destination based on a predetermined initial value when the connection request information does not include a priority 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