Robot control device, numerical control system and numerical control method
The robot control device addresses the challenge of integrating with multi-functional machine tools by analyzing and updating shared variables, enabling efficient and coordinated control between robot and machine tool operations.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2022-04-18
- Publication Date
- 2026-04-30
AI Technical Summary
Existing robot controllers lack the ability to seamlessly integrate with multi-functional machine tools by linking operations through macro variables, complicating the control process.
A robot control device that interacts with a numerical control device having multiple control systems by analyzing robot control programs, issuing commands to read and write variables of the target system, and updating these variables via a data communication unit, allowing for interlocking control without complicating the system.
Enables efficient and seamless control of both robot and machine tool operations by distinguishing and updating shared variables, facilitating coordinated control between different systems without increasing complexity.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present disclosure relates to a robot control device, a numerical control system and a numerical control method.
[0002] Traditionally, a system was created that interconnects the respective controls of a machine tool, robot, etc., to automate a processing machine. Patent document 1 and patent document 2 are examples of documents relating to this type of technology.
[0003] Patent document 1 describes that in a numerical control device, a comparative relationship between parameters relating to settings of the numerical control device is stored in a memory unit for comparative relationships, that data having a comparative relationship are extracted from parameters relating to settings of the numerical control device based on the comparative relationship stored in the memory unit for comparative relationships, and that the data having this comparative relationship are displayed on a display unit to be associated with each other.
[0004] Patent document 2 describes that in a machining system comprising a machine control and a robot control, the machine control includes a communication unit configured to read setting data and a robot operating program corresponding to a machining type set by a setting unit from a storage unit and to transmit the setting data and the robot operating program to the robot control when a determination unit detects that a mobile robot is positioned at a predetermined location next to a machining device.
[0005] Patent document 1: Unexamined Japanese patent application, Publication No. JP 2021 - 009 480 A.
[0006] Patent document 2: Unexamined Japanese patent application, Publication No. JP 2018 - 124 910 A.
[0007] DE 11 2021 003 517 T5 discloses a numerical control system. The numerical control system comprises a numerical control device that generates a machine tool command signal as a command directed to a machine tool in accordance with a numerical machine tool control program and generates a robot command signal as a command directed to a robot in accordance with a numerical robot control program.
[0008] DE 10 2020 204 118 A1 discloses a machining control system and machining system designed to enable a machine tool and a robot to operate cooperatively in a simple arrangement. The machining control system includes: a numerical control unit that controls a machine tool; a robot control unit that communicates with the numerical control unit and controls a robot having a plurality of drive axes, including the numerical control unit.
[0009] German patent DE 10 2019 129 041 A1 discloses a machine tool system that can reduce the time required to generate a robot program, even for a machine tool user with no prior experience in robot operation. A machine tool control unit comprises an operator panel and an interactive program generator. The system sets an operating parameter for the robot using a template screen prepared for each stylized robot operation. The interactive program generator creates a robot preprogram using the set operating parameter, reads the preprogram during the execution of a machine tool program, and transfers the program to a robot preprocessor. The robot preprocessor interprets the preprogram and issues a control command to a robot control unit.
[0010] DE 11 2019 006 613 T5 discloses a numerical control device and a numerical control method.The numerical control device comprises a control computing unit which controls a machine tool and a robot using an NC program defined in a first coordinate system, wherein the control computing unit comprises a storage unit which stores the NC program containing a first instruction, which is an instruction for the machine tool described in a first programming language, and a second instruction, which is an instruction for the robot described in the first programming language, and a program conversion unit which converts the second instruction into a third instruction, which is a robot program used to control the robot, and wherein the control computing unit controls the machine tool using the first instruction and controls the robot using the third instruction.
[0011] DE 10 2018 206 241 B4 discloses a machine tool control device and manufacturing system. The machine tool control device is connected to a robot control device for controlling a robot and controls a machine tool used in combination with the robot. The machine tool control device comprises: a receiving unit for accepting setting information for the robot, wherein the acceptance consists of a user entering an instruction to an operational element; and a transmitting unit for assigning this as an input signal to the robot control device using PLC software, and transmitting to the robot control device a parameter that selects an operating program of the robot, and a parameter that sets the operation of the operating program thus selected based on the setting information received by the receiving unit.
[0012] DE 10 2017 000 864 A1 discloses a manufacturing system for controlling several types of manufacturing equipment with a program based on a common language specification. The manufacturing system comprises several types of manufacturing equipment controlled by operation programs whose language specifications differ from one another. The manufacturing system includes a cell control device that generates the operation program to be executed in the manufacturing equipment, and communication devices that send the operation programs generated by the cell control device to the respective manufacturing equipment. A common language specification for the manufacturing equipment, which differs in type, is predetermined.The cell control device includes a read part that reads a common program created based on the common language specification, and a conversion part that converts the common program into operation programs for the respective manufacturing devices.
[0013] In a system with a robot and a machine tool, a robot controller that controls the robot can link the operation of the robot and the machine tool by reading / writing macro variables of the machine tool. For example, the robot controller can perform processing by sensing the operating state by activating an operating request to the machine tool via the macro variable, reading the machine tool's macro variable, and deactivating the operating request when the operating state reaches completion, and then proceeding to the next sequence. However, since there is no concept of a machine control system in a conventional robot controller, it is not possible to link the operation with an existing machine consisting of a variety of tool stands and spindles, such as...a multi-functional machine tool consists of linking it via macro variables.
[0014] The aim of the present disclosure is to provide a robot control device, a numerical control system and a numerical control method that are capable of implementing a control that interacts with a numerical control device having a plurality of control systems, without complicating the control.
[0015] These problems are solved by the subject matter of claims 1 and 7. One aspect of the present disclosure relates to a robot control device comprising: a program input unit that receives a robot control program for controlling a robot from a storage unit; an analysis unit that analyzes the robot control program input by the program input unit and receives a read command and a write command specifying a variable of a numerical control program controlling a numerical control device and system information specifying a target system from a plurality of control systems possessed by the numerical control device; a system setting unit that issues a command to read and write a variable of the target system based on information received by the analysis unit;and a data communication unit that causes an update of the variables of the target system to be executed in the numerical control device by transmitting a command to read and write the variables of the target system to the numerical control device.
[0016] Additionally, one aspect of the present disclosure relates to a numerical control system comprising: a numerical control device having a plurality of control systems; and a robot control device that interacts with the numerical control device to control a robot, wherein the robot control device comprises: a program input unit that receives a robot control program for controlling a robot from a memory unit; an analysis unit that analyzes the robot control program received from the program input unit and receives a read instruction and a write instruction specifying a variable of a numerical control program controlling the numerical control device and system information specifying a target system from a plurality of control systems possessed by the numerical control device;a system setting unit that issues a command to read and write a variable of the target system based on information acquired by the analysis unit; and a data communication unit that transmits a command to read and write a variable of the target system to the numerical control device, and in which the numerical control device performs an update of the variables of the target system based on a command to read and write a variable of the target system received from the robot control device.
[0017] Furthermore, one aspect of the present invention relates to a numerical control method for the interconnected control of a robot control device and a numerical control device, wherein the numerical control method comprises: a program input step for acquiring a robot control program for controlling a robot from a memory unit; an analysis step for analyzing the robot control program entered in the program input step and for acquiring a read command and a write command in which a variable of a numerical control program controlling the numerical control device and system information specifying a target system from a plurality of control systems possessed by the numerical control device are defined;a system setup step for issuing a command to read and write a variable of the target system based on information acquired in the analysis step; and an update step of the robot control device that causes the update of a variable of the target system to be executed in the numerical control device by transmitting a command to read and write the variable of the target system to the numerical control device.
[0018] According to the present disclosure, it is possible to provide a robot control device, a numerical control system, and a numerical control method that are capable of realizing interlocking control with a numerical control device that has a plurality of control systems without complicating the control. Brief description of the drawings Fig. Figure 1 is a schematic representation of a numerical control system according to an embodiment of the present disclosure; Fig. Figure 2 is a functional block diagram of a robot control device and a numerical control device according to an embodiment of the present disclosure; Fig. Figure 3 is a representation showing an example of a robot control program with a read command and a write command; Fig. Figure 4 is a representation that schematically shows a mechanical configuration of system 1 and system 2; Fig. Figure 5 is a representation showing an example of a robot control program of the robot control device; Fig. Figure 6 is a representation showing an assignment example of user-defined macro variables of a numerical control program that are updated by the robot control device; Fig. Figure 7 is a representation showing an example of a main program and a subroutine of System 1; Fig. Figure 8 is a representation showing an example of a main program and a subroutine of System 2; and Fig. Figure 9 is a flowchart showing an example of the processing of a numerical control system 1 according to an embodiment of the disclosure.
[0019] An embodiment of the present disclosure is described in detail below with reference to the drawings.
[0020] Fig. Figure 1 is a schematic representation of a numerical control system 1 according to an embodiment of the present disclosure.
[0021] The numerical control system 1 comprises a numerical control device (CNC) 2, which controls a machine tool 20, and a robot control device 3, which is communicatively connected to the numerical control device 2 and controls a robot 30 located near the machine tool 20. The numerical control system 1 according to the present embodiment is an intermediary for controlling the operations of the machine tool 20 and the robot 30 using the numerical control device 2 and the robot control device 3, which are communicatively connected to each other.
[0022] The numerical control device 2 generates machine tool command signals, which are commands for the machine tool 20 according to a predetermined numerical control program, and transmits these signals to the machine tool 20.
[0023] The machine tool 20 machines a workpiece (not shown) in accordance with machine tool command signals transmitted by the numerical control device 2. The machine tool 20 is, for example, a combined machining device with a turret head, a table, a tool holder, a spindle, and the like. The machine tool 20 can be a compound machining device produced by combining a lathe, a ball mill, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, and the like, as required.
[0024] The robot 30 operates under the control of the robot control device 3 and performs predetermined tasks on the workpiece, which is being machined, for example, within the machine tool 20. The robot 30 is, for example, an articulated robot, and a tool 30b for gripping, processing, or inspecting a workpiece is attached to an arm tip section 30a thereof. A case is described below in which the robot 30 is used as a six-axis articulated robot; however, the present invention is not limited to this.
[0025] Fig. Figure 2 is a functional block diagram of the robot control device 3 and the numerical control device 2 according to an embodiment of the present disclosure.
[0026] The numerical control device 2 and the robot control device 3 are each computers configured as: hardware such as an arithmetic processing unit, for example a CPU (Central Processing Unit), an auxiliary storage unit, for example an HDD (Hard Disk Drive) or an SSD (Solid State Drive) that stores various computer programs, a main memory unit, for example a RAM (Random Access Memory) for temporarily storing the data that the processing unit needs to execute the computer programs, an operator unit, for example a keyboard, on which an operator performs various operations, and a display unit, for example a display, for showing various information to the operator.The numerical control device 2 and the robot control device 3 can, for example, send and receive various signals to each other via Ethernet (registered trademark).
[0027] First, the configuration of the numerical control device 2 is described. The numerical control device 2 implements a machine tool control function for controlling the operation of the machine tool 20, which is to be linked to the operation of the robot's control axis 30 by the hardware configuration described above. More precisely, to implement these functions, the numerical control device 2 includes a memory unit 21, a program input unit 22, an analysis unit 23, a robot control variable unit 26, an I / O control unit 25, an interpolation control unit 24, a servo control unit 27, a data communication unit 28, and the like.
[0028] Memory unit 21 stores numerical control programs. The numerical control program is created, for example, based on operations performed by an operator. The numerical control program is configured by a variety of command blocks, etc., which relate to the machine tool 20 in order to control its operation. The numerical control program is written in a well-known programming language such as G-code or M-code.
[0029] It should be noted that the memory unit stores 21 different types of information, other than the numerical control programs. These different types of information include, for example, machine coordinate values, robot coordinate values, and robot learning positions.
[0030] The machine coordinate values are values that specify the positions of various axes of the machine tool 20, which are operated by the numerical control program (i.e., positions of a tool stand, table, etc., of the machine tool 20). The machine coordinate values are defined in a machine tool coordinate system, which has a reference point as its origin, defined at or near any location on the machine tool 20. The latest machine coordinate values, which change sequentially under the numerical control program, are sequentially updated by the processing unit (not shown) to be stored in the memory unit 21.
[0031] The robot coordinate values are values that specify the position and orientation of a control point of the robot 30 (e.g., the arm tip section 30a of the robot 30), which is operated under the control of the robot control device 3; in other words, the position of each control axis of the robot 30. The robot coordinate values are defined in a robot coordinate system, which differs from the machine tool coordinate system, as described above. The robot coordinate system is a coordinate system with a reference point defined as the origin at any position on or near the robot 30. A case in which the robot coordinate system differs from the machine tool coordinate system is described below. The robot coordinate system can also be the same as the machine tool coordinate system.In other words, the origin or coordinate axis direction of the robot coordinate system can coincide with the origin or coordinate axis direction of the machine tool coordinate system. Furthermore, the robot coordinate system can be switched between two or more coordinate formats with different control axes. More precisely, in the numerical control program, the position and orientation of the robot's control points 30 can be specified using Cartesian coordinate formats or corresponding axis coordinate formats.
[0032] The latest robot coordinate values, which change sequentially under the numerical control program, are sequentially updated by the robot coordinate values that are captured by the robot control device 3 through processing (not shown) to be stored in the memory unit 21.
[0033] The robot learning positions are learning positions, such as a start and end point of the robot 30, that are entered by an operator, in particular a learning position of the robot 30 that is entered by a programming handheld device or similar, a learning position that is entered, for example, via a keyboard, or similar. The learning positions of the robot 30 include robot coordinate values that specify the positions of each control axis of the robot 30.
[0034] The program input unit 22 reads the numerical control program from the memory unit 21 and enters it sequentially into the analysis unit 23. In addition, the program input unit 22 reads various types of information, such as the machine coordinate values, the robot coordinate values, and the robot learning positions, which are stored in the memory unit 21, and enters this information into the analysis unit 23.
[0035] The analysis unit 23 analyzes the instruction classification based on the numerical control program entered by the program input unit 22 for each instruction block and receives information about the user-defined macro variable from the robot control variable unit 26. Based on the analysis result of the numerical control program and the user-defined macro variable, the analysis unit 23 issues an instruction to the interpolation control unit 24 and the I / O control unit 25 to control the machine tool 20. Hereinafter, the user-defined macro variable is referred to as the variable.
[0036] In the present embodiment, when the robot control variable is updated, the analysis unit 23 issues a command to operate the target system to the interpolation control unit 24 and the I / O control unit 25 based on the information specifying the system.
[0037] The interpolation control unit 24 is connected to the servo control unit 27 and performs interpolation control for linear interpolation, arc interpolation, spiral interpolation, etc., via the servo control unit 27. The servo control unit 27 generates machine tool control signals to control the operation of the machine tool 20 and forwards these signals to the actuators that drive various axes of the machine tool 20. The machine tool 20 operates in accordance with these control signals to machine a workpiece (not shown). After controlling the operation of the machine tool 20 according to the numerical control program, the aforementioned machine coordinate values are updated with the latest machine coordinate values.
[0038] The robot control variable unit 26 analyzes the commands read and written by the robot control device 3 in the machining program and updates the variable.
[0039] The data communication unit 28 sends and receives various commands and data to and from the data communication unit 39 of the robot control device 3.
[0040] Next, the construction of the robot control device 3 will be described in detail. As in Fig. As shown in Figure 2, the robot control device 3 for controlling the operation of the robot 30 comprises a storage unit 31, a program input unit 32, an analysis unit 33, a path control unit 34, a kinematic control unit 35, a servo control unit 36, a system setting unit 37, a robot control variable unit 38, a data communication unit 39 and the like.
[0041] Memory unit 31 stores various types of information, such as the robot control program. The robot control program is created, for example, based on operations performed by an operator. The robot control program is configured for robot 30 using a variety of command blocks, etc., to control the robot's operation. The different types of information include, for example, machine coordinate values, robot coordinate values, and robot positions.
[0042] The program input unit 32 reads the robot control program from the storage unit 31 and enters the robot control program into the analysis unit 33.
[0043] Analysis unit 33 determines a command classification of the input robot control program. Based on the analysis results, analysis unit 33 transmits commands from an operating plan to path control unit 34.
[0044] When the operating plan commands are entered by the analysis unit 33, the path control unit 34 calculates time series data from control points of the robot 30 and outputs the time series data to the kinematic control unit 35.
[0045] The kinematics control unit 35 calculates a target angle of each joint of the robot 30 by inverse kinematic calculation based on the input time series data and outputs the target angles to the servo control unit 36. The inverse kinematic calculation of the robot 30 is a method for calculating the angle of each joint from the tool position and the posture of the robot 30.
[0046] The servo control unit 36 generates robot control signals for the robot 30 by feedback control of each servo motor of the robot 30, so that the target angles entered by the kinematic control unit 35 are implemented, and passes the robot control signals to the servo motor of the robot 30.
[0047] Furthermore, in the analysis unit 33 of the present embodiment, when the instruction classification of the input robot control program is analyzed as a read / write instruction of the variables of the numerical control device 2, the target system contained in the read / write instruction is communicated by the analysis unit 33.
[0048] The read / write command includes a read command and a write command. Fig. Figure 3 is a diagram showing an example of a robot control program with read commands 60 and write commands 70. Each read command 60 has four parameters: a first argument 61, a second argument 62, a third argument 63, and a fourth argument 64. The first argument 61 specifies a machine to be the target of the read command 60 and is "MACHINE1" in this example. The second argument 62 is a system number (system information) to specify which system from a multitude of systems and is "1" in this example. The third argument 63 is a macro variable number to specify a target macro variable and is "100" in this example. The fourth argument 64 specifies an address for storing the read value and is "1" in this example.
[0049] Similarly, every write command 70 also has four parameters: a first argument 71, a second argument 72, a third argument 73, and a fourth argument 74. The first argument 71 specifies a machine that is the target of the write command 70 and is "MACHINE1" in this example. The second argument 72 is a system number (system information) to specify which system from a multitude of systems and is "1" in this example. The third argument 73 is a macro variable number to specify a target macro variable and is "100" in this example. The fourth argument 74 specifies a value to be written to the target macro variable and is "1" in this example.
[0050] The system setting unit 37 sends commands to read and write variables of a target system to the robot control variable unit 38, based on the robot control program which contains the read command 60 and the write command 70.
[0051] The robot control variable unit 38 sends commands to read and write variables to the data communication unit 39, based on commands communicated by the system setting unit 37. The data communication unit 39 sends and receives command signals to and from the data communication unit 28. The commands to read and write the variables are transmitted via the data communication unit 28 to the robot control variable unit 26.
[0052] Next, specific examples of the control of System 1 and System 2 are described with reference to Figures 4 to 8. Fig. Figure 4 is a diagram that schematically shows the mechanical configurations of System 1 and System 2. Fig. Figure 4 shows a system 1 that uses a second turret head 52 to machine a workpiece W1 lying on the table 53, and a system 2 that uses a first turret head 51 to machine a workpiece W2 lying on the table 54.
[0053] In Fig. 4. Z1 of system 1 specifies the z-axis direction and corresponds to a variable that indicates the coordinates in the z-axis direction of system 1. X2 specifies the x-axis direction and corresponds to a variable that indicates the coordinates in the x-axis direction of system 1. Similarly, Z2 of system 2 specifies the z-axis direction and corresponds to a variable that indicates the coordinates in the z-axis direction of system 2. X1 specifies the x-axis direction and corresponds to a variable that indicates the coordinates in the x-axis direction of system 2.
[0054] Fig. Figure 5 is a diagram showing an example of a robot control program being entered from the program input unit 32 to the analysis unit 33. As shown in Fig. As shown in Figure 5, the label [1] is written in the first line. In the second line, “CALL WR CNC_MACRO (‚MACHINE1', 1, 101, 1)” is a read command from System 1, and the read processing of the machining start request from System 1 is performed. In the third line, “CALL WR CNC_MACRO (‚MACHINE1', 2, 101, 1)” is a read command from System 2, and the read processing of the machining start request from System 2 is performed.
[0055] The fourth line writes a label [2]. The fifth line, "WAIT 10.0 sec", performs standby processing for 10 seconds. The sixth line, "CALL RD_CNC_MACRO ( 'MACHINE1', 1, 101, 1)", is a write command for System 1. "IF REGISTER [1]=ON, Jump Label 2" handles the confirmation of processing completion from System 1, and if the condition of "IF REGISTER [1]=ON" is met, processing proceeds to "Label 2".
[0056] The seventh line writes a label [3]. The eighth line, "WAIT 10.0 sec", performs standby processing for 10 seconds. The ninth line, "CALL RD_CNC_MACRO ( 'MACHINE1', 2, 101, 2)", is a write command for system 2. "IF REGISTER [2]=ON, Jump Label 3" is the processing confirmation of the completion of processing by system 2, and if the condition of "IF REGISTER [2]=ON" is met, processing proceeds to label 3.
[0057] As in Fig. As shown in Figure 5, the systems are distinguished from each other in the robot control program, and the processing of read and write variables is carried out by the robot control device 3. Fig. Figure 6 is a diagram showing an assignment example of user-defined macro variables of the numerical control program, which are read and written by the robot control device 3. In the example of Fig. Variable #100 represents a program stop request, with #100=0 indicating an OFF request and #100=1 indicating an ON request. Additionally, variable #101 represents a processing request, variable #102 a door opening request, variable #103 a door closing request, variable #104 a feeder opening request, and variable #105 a feeder closing request. In each of variables #101 through #105, 0 represents an OFF request and 1 represents an ON request.
[0058] Next, with reference to Figures 7 and 8, the control of System 1 and System 2 is described in a situation where the conditions in the example of Fig. The 7 variables shown are set.
[0059] Fig. Figure 7 is a representation showing an example of a main program and a subroutine of System 1. Fig. Figure 7 shows a program of System 1, which is executed by the robot control program of Fig. 5 is called.
[0060] First, the control of system 1 is described. A conditional branch is set to sequence number "N10". If the variable #101=1 is created in the first "IF [#101 EQ 1] GOTO20", processing switches to sequence number "N20". In sequence number "N20", the subroutine O1000, which corresponds to program number 1000, is called and executed by "M98P1000".
[0061] In subroutine O1000, positioning processing is performed in "G00" based on the coordinates X2=100 and Z1=100. During positioning, a linear movement with a feed rate based on F=1000 to the coordinate Z1=0 is performed by "G01". Subsequently, a 0 is entered in "#101", indicating the OFF request, and the subroutine terminates at "M99". After subroutine O1000 completes, processing returns to sequence number "N10" at "GOTO10", and the conditional branching process is repeated.
[0062] If #101=1 is not created in the first "IF [#101 EQ 1] GOTO20", processing proceeds to "IF [#102 EQ 1] GOTO30". If #102=1 is created in this "IF [#102 EQ 1] GOTO30", processing proceeds to sequence number "N30" (not shown), and in sequence number "N30", although the specific processing is omitted, processing related to the door opening operation is performed. If #102=1 is not created in "IF [#102 EQ 1] GOTO30", processing proceeds to "IF [#103 EQ 1] GOTO40". If #103=1 is created in this "IF [#103 EQ 1] GOTO40", processing proceeds to sequence number "N40" (not shown), and in sequence number "N40", processing related to the door closing operation is performed, although the specific processing is omitted. If #103=1 is not created in "IF [#103 EQ 1] GOTO40", processing proceeds to "IF [#104 EQ 1] GOTO50".If #104=1 is created in "IF [#104 EQ 1] GOTO50", processing proceeds to sequence number "N50" (not shown), and in sequence number "N50", processing related to the operation of opening the feeder is performed, although the specific processing is omitted. If #104=1 is not created in "IF [#104 EQ 1] GOTO50", processing proceeds to "IF [#105 EQ 1] GOTO60". If #105=1 is created in "IF [#105 EQ 1] GOTO60", processing proceeds to sequence number "N60" (not shown), and in sequence number "N60", processing related to the operation of closing the feeder is performed, although the specific processing is omitted.
[0063] If the condition for determining "IF [#105 EQ 1] GOTO 60" is not met, the condition for determining "IF [#100 EQ 1] GOTO 100" is executed. If the condition for determining "IF [#100 EQ 1] GOTO 100" is met, the program terminates with "M30" in sequence number "N100".
[0064] Fig. Figure 8 is a representation showing an example of a main program and a subroutine of System 2. Fig. Figure 8 shows a program of System 2, which is run by the robot control program of Fig. 5 is called. Also in Fig. 8 will use the same processing as in the one in Fig. The example shown in 7 was carried out. The example of Fig. 8 differs in that the subroutine O2000, which corresponds to program number 2000, is called by “M98P2000” in sequence number “N20”.
[0065] In subroutine O2000, positioning processing is performed based on the coordinates X1=200 and Z2=0 in "G00". During positioning, a linear movement operation is performed with a feed rate based on F=1000 to the coordinate Z2=1000 in "G01". Subsequently, a 0 is entered in "#101", indicating the OFF request, and the subroutine terminates at "M99". After subroutine O2000 completes, processing returns to sequence number "N10" at "GOTO10", and the conditional branching process is repeated.
[0066] In the example described with reference to Figures 8 and 9, variables #100 to #105 are shared between System 1 and System 2. Since, in the configuration of the present embodiment, System 1 and System 2 are distinguished from each other by the command output of the robot control device 3, the system can be specified on the side of the numerical control device 2.
[0067] Next, the process of system selection for numerical control system 1 will be described with reference to Fig. 9 described. Fig. Figure 9 is a flowchart that provides an example of the processing of the numerical control system 1 according to the embodiment of the present disclosure. Fig. Figure 9 shows only one example of the system selection processing flow, and other parallel processing steps are omitted.
[0068] First, the program input unit 32 of the robot control device 3 reads the robot control program from the storage unit 31 and then performs input processing to enter the robot control program into the analysis unit 33 (step S1).
[0069] Next, the analysis unit 33 determines an instruction classification of the input robot control program, captures system information that specifies the system and the variables belonging to the system when the instruction classification is analyzed as a variable read / write instruction of the numerical control device 2, and performs the analysis processing of the notification of the target system to the system setting unit 37 (step S2).
[0070] The system setting unit 37, which is informed about the target system in step S2, performs a setting processing of the output of the target system communicated by the analysis unit 33 and the variables belonging to the target system to the robot control variable unit 38 (step S3).
[0071] The robot control variable unit 38 transmits the target system and the associated variables via the data communication unit 39 to the data communication unit 28 of the numerical control device 2 and performs an update processing to update the target system and the associated variables of the robot control variable unit 26 of the numerical control device 2 (step S4).
[0072] The robot control device 3 executes a machining request processing to instruct a target system of the machine tool 20 to perform a machining operation, and the target system of the machine tool 20 performs a machining operation on a workpiece (step S5). This completes the present processing operation.
[0073] As described above, the numerical control system 1 of the present embodiment comprises the numerical control device 2, which has a plurality of control systems, and the robot control device 3, which interacts with the numerical control device 2 to control the robot 30. The robot control device 3 then comprises: a program input unit 32, which receives a robot control program for controlling the robot 30 from the memory unit 31; an analysis unit 33, which analyzes the robot control program input by the program input unit 32 and receives a read command and a write command, in which a variable of the numerical control program for controlling the numerical control device 2 and system information (system number), which specifies a target system from a plurality of control systems contained in the numerical control device, are set;a system setting unit 37 that issues a command to read and write a variable of the target system based on the information acquired by the analysis unit 33; and a data communication unit 39 that causes the numerical control device 2 to update the variable of the target system by transmitting a command to read and write a variable of the target system to the numerical control device 2.
[0074] Furthermore, a numerical control method for controlling the robot control device 3 and the numerical control device 2, which are to interact, according to the present embodiment, comprises: a program input step for acquiring a robot control program for controlling the robot 30 from the memory unit 31; an analysis step for analyzing the robot control program entered in the program input step and for acquiring a read command and a write command in which variables of a numerical control program for controlling the numerical control device 2 and system information (system number) specifying a target system from a plurality of control systems contained in the numerical control device 2 are set;a system setting step to issue a command to read and write the variables of the target system based on the information obtained in the analysis step; and an update step of the robot control device 3, which transmits a command to read and write the variables of the target system to the numerical control device 2 in order to cause the update of the variables of the target system to be executed in the numerical control device 2.
[0075] The robot control device 3, the numerical control system 1, and the numerical control method according to the present embodiment have the following effects. That is, even if the numerical control device 2 has a plurality of control systems and the variables are shared between each of the control systems, it is possible to distinguish the systems by the robot control device 3 and to read and write the variables of the numerical control device 2.Therefore, an update of the variables of the target system can be appropriately performed without specifying the variables of different systems on the side of the numerical control device 2, and the interlocking control of the numerical control device 2, which has a multitude of control systems, and the robot control device 3 can be appropriately implemented without making the interlocking control more complicated.
[0076] Furthermore, according to the present embodiment, the analysis unit 33 of the robot control device 3 issues a command to perform robot control in order to interact with a variety of control systems controlled by the numerical control device 2 on the basis of the updated variables of the target system.
[0077] This makes it possible to implement an interaction between the numerical control device 2, which has a multitude of control systems, and the robot control device 3 in a suitable manner.
[0078] Furthermore, in the present embodiment, each of the plurality of control systems (System 1 and System 2) controls the tool holder and / or the turret and / or the table and / or the spindle to machine a workpiece, and the tool holder and / or the turret and / or the table and / or the spindle are controlled based on the variables of the target system, which are updated by the numerical control device 2. In the present embodiment, the first turret 51, the second turret, the table 53, and the table 54 are control targets.
[0079] Since each of the many control systems includes the tool holder and / or the turret head and / or the table and / or the spindle, it is possible to implement an efficient creation of a control program using variables, even in a case where different controls are set.
[0080] The present disclosure is not limited to the above embodiment, and various modifications and variations are possible. Explanation of reference symbols 1 Numerical Control System 2 Numerical control device 3 Robot control device 20 machine tools 30 robots 31 storage units 32 Program input unit 33 analysis units 37 System settings unit 39 Data communication unit
Claims
[1] A robot control device (3) comprising: a program input unit (32) that receives a robot control program for controlling a robot (30) from a memory unit (31); an analysis unit (33) that analyzes the robot control program entered by the program input unit (32) and captures a read command and a write command in which a variable of a numerical control program that controls a numerical control device (2) and system information that specifies a target system from a plurality of control systems that the numerical control device (2) possesses are set; a system setting unit (37) that issues a command to read and write a variable of the target system based on information acquired by the analysis unit (33); and a data communication unit (39) that causes an update of the variables of the target system to be executed in the numerical control device (2) by sending a command to read and write the variables of the target system to the numerical control device (2). [2] Robot control device (3) according to claim 1, wherein the analysis unit (33) issues a command to perform robot control in order to interact with the plurality of control systems controlled by the numerical control device (2) on the basis of the variables of the target system that has been updated. [3] Robot control device (3) according to claim 1 or 2, wherein each of the plurality of control systems processes a workpiece by controlling a tool holder and / or a turret head and / or a table and / or a spindle, and wherein the tool holder and / or the turret head and / or the table and / or the spindle are controlled on the basis of the target system variables updated by the numerical control device (2). [4] A numerical control system (1), comprising: a numerical control device (2) with a plurality of control systems; and a robot control device (3) which interacts with the numerical control device (2) to control a robot (30), wherein the robot control device (3) comprises: a program input unit (32) that receives a robot control program for controlling a robot (30) from a memory unit (31); an analysis unit (33) that analyzes the robot control program entered by the program input unit (32) and captures a read command and a write command in which a variable of a numerical control program that controls the numerical control device (2) and system information that specifies a target system from a plurality of control systems that the numerical control device (2) possesses are set; a system settings unit (37) that issues a command to read and write a variable of the target system based on the information acquired by the analysis unit (33); and a data communication unit (39) which transmits a command to read and write a variable of the target system to the numerical control device (2), and wherein the numerical control device (2) performs an update of the variables of the target system based on a command received from the robot control device (3) to read and write a variable of the target system. [5] Numerical control system (1) according to claim 4, wherein the analysis unit (33) issues a command to perform robot control in order to interact with the plurality of control systems controlled by the numerical control device (2) on the basis of the variable of the target system that has been updated. [6] Numerical control system (1) according to claim 4 or 5, wherein each of the plurality of control systems processes a workpiece by controlling a tool holder and / or a turret head and / or a table and / or a spindle, and wherein the tool holder and / or the turret head and / or the table and / or the spindle are controlled on the basis of the variables of the target system updated by the numerical control device (2). [7] Numerical control method for interlocking control of a robot control device (3) and a numerical control device (2) together, wherein the numerical control method comprises: a program input step for capturing a robot control program for controlling a robot (30) from a memory unit (31); an analysis step for analyzing the robot control program entered in the program input step and for capturing a read command and a write command in which a variable of a numerical control program that controls the numerical control device (2) and system information that specifies a target system from a plurality of control systems that the numerical control device (2) possesses are set; a system configuration step to issue a command to read and write a variable of the target system based on the information obtained in the analysis step; and an update step of the robot control device (3) which causes an update of a variable of the target system to be executed in the numerical control device (2) by transmitting a command to read and write the variables of the target system to the numerical control device (2).
Citation Information
Patent Citations
manufacturing system for controlling several types of manufacturing devices with one program based on the common language specification
DE102017000864A1
Machine tool control device and manufacturing system
DE102018206241B4
machine tool system
DE102019129041A1
PROCESSING CONTROL SYSTEM AND PROCESSING SYSTEM
DE102020204118A1
Numerical control device and numerical control method
DE112019006613T5