Numerical control device and numerical control method

The numerical control device addresses the challenge of coordinating machine tools and robots with different programming languages and coordinate systems by using a single programming language and automated coordinate system alignment, facilitating efficient and accurate machining program generation.

DE112023004537B4Active Publication Date: 2026-05-28MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE112023004537
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-06-16
Publication Date
2026-05-28
Estimated Expiration
2043-06-16

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Numerical control device for controlling several machine tools and a robot which performs work on the several machine tools, wherein the numerical control device comprises: a measurement processing unit which measures a coordinate system offset of the machine tools using a stop position of the robot at the respective machine tool while performing the work and a measurement start position which is a position to start a measurement process of the coordinate system offset, wherein the coordinate system offset specifies a relationship between a coordinate system of the respective machine tool and a coordinate system of the robot; an association unit that associates the coordinate system offset measured by the measurement processing unit, together with the stop position and the measurement start position, with the respective machine tool; and a consideration processing unit which controls the robot when executing a machine processing program, taking into account the associated coordinate system offset.
Need to check novelty before this filing date? Find Prior Art

Description

Area

[0001] The present disclosure relates to a numerical control device and a numerical control method for controlling a machine tool and a robot. background

[0002] In a system that enables a machine tool and a robot to work cooperatively, the machine tool and the robot typically have separate controllers, the programming languages ​​used to control the machine tool and the robot are different, and the coordinate systems of the machine tool and the robot are also different. In such a system, creating separate programs for controlling the machine tool and the robot makes it difficult to understand cooperative operation between the machine tool and the robot from the programs themselves, potentially increasing the workload during system commissioning. Therefore, a technique for controlling both a machine tool and a robot using a single programming language for the machine tool has been proposed.

[0003] Patent literature 1 discloses a numerical control device that controls a robot by transferring a programming language for a machine tool to a robot controller. A difference between a coordinate system of the machine tool and a coordinate system of the robot is controlled by taking into account the difference obtained by measuring the relative relationship between the coordinate system of the machine tool and the coordinate system of the robot.

[0004] Patent literature 2 discloses a robot controller that controls a robot. The robot performs a loading and unloading operation of a workpiece relative to a machine tool, which is controlled by a machine tool controller. The robot controller is connected to a portable programming device used to operate the robot controller and is further connected to the machine tool controller via a communication network. The programming device has a display area configured to show various information.The robot control is designed to receive information relating to the machine tool from the machine tool control via the communication network, and is further designed to display a machine tool-related screen on the display area of ​​the programming handheld device according to a predefined screen program, and to cause the machine tool-related screen of the display area of ​​the programming handheld device to display the information relating to the machine tool. List of patent literature Patent literature 1: JP 6 647 472 B1 Patent literature 2: DE 10 2010 022 258 A1 Brief description of the invention Problem to be solved by the invention

[0005] Several machine tools are installed in a factory, and in some cases, a single robot can perform loading and unloading operations for these multiple machine tools. According to the technique described in patent literature 1, when a single machine tool controls a robot, the single machine tool must measure, maintain, and apply a relative relationship between the robot's coordinate system and the coordinate systems of the multiple machine tools. While measurement and application typically require control according to, for example, a machine machining program, the need to consider various machine machining processes places a significant burden on an operator when generating the machine machining program.

[0006] The present disclosure was made in view of the above circumstances, and one objective of the present disclosure is to provide a numerical control device which is designed to reduce the burden on an operator when generating a machining program for controlling several machine tools and a robot. Means to solve the problem

[0007] The problem described above is solved by the invention according to the subject matter of the independent claims. Advantageous embodiments of the invention are defined in the dependent claims. Effects of the invention

[0008] The invention reduces the workload for an operator when generating a machine processing program to control several machine tools and a robot. Brief description of the drawings Fig. Figure 1 is a diagram showing an exemplary configuration of a control system comprising a numerical control device according to a first embodiment. Fig. Figure 2 is a diagram showing an exemplary configuration of the numerical control device according to the first embodiment. Fig. Figure 3 is a diagram showing an exemplary measurement of coordinate system offsets using a touch probe in the numerical control device according to the first embodiment. Fig. Figure 4 is a diagram showing an example of a coordinate system offset table stored by the numerical control device according to the first embodiment. Fig. Figure 5 is a diagram showing an example of a machine processing program executed by the numerical control device according to the first embodiment. Fig. Figure 6 is a diagram showing an example of a tool replacement procedure for a robot according to the first embodiment. Fig. Figure 7 is a flowchart showing an operating procedure of a coordinate system offset measurement processing unit of a numerical control device according to a first embodiment. Fig. Figure 8 is a flowchart showing an operating procedure of a coordinate system offset consideration processing unit of the numerical control device according to the first embodiment. Fig. Figure 9 is a diagram showing an exemplary configuration of a control system comprising a numerical control device according to a second embodiment. Fig. Figure 10 is a diagram showing an exemplary configuration of the numerical control device according to the second embodiment. Fig. Figure 11 is a diagram showing an example of a machine processing program executed by the numerical control device according to the second embodiment. Fig. Figure 12 is a flowchart showing an operating procedure of a coordinate system offset consideration processing unit of the numerical control device according to the second embodiment. Fig. Figure 13 is a block diagram showing an exemplary configuration of a control computing unit of each of the numerical control devices according to the first and second embodiments. Description of embodiments

[0009] A numerical control device and a numerical control method according to embodiments are described in detail below with reference to the drawings. First embodiment.

[0010] Fig. Figure 1 is a diagram showing an exemplary configuration of a control system 100, which includes a numerical control device 1 according to a first embodiment. The numerical control device 1 according to the first embodiment generates a machining program for controlling a machine tool 70, a robot 60, and a linear axis 62, and controls the other machine tools 72, 73, and 74. The first embodiment describes an example in which the numerical control device 1, which controls the machine tool 70, the robot 60, and the linear axis 62, has a function of measuring and applying a coordinate system.

[0011] The control system 100 is a system for controlling the machine tool 70, the robot 60, and the traversing axis 62 using a numerical control (NC) program, which is the machine machining program. The control system 100 comprises the machine tool 70, the numerical control device 1, a robot controller 50, the robot 60, the traversing axis 62, and the other machine tools 72 to 74. The numerical control device 1 comprises a computer numerical control (CNC) unit 6 and an input operating unit 3. In the first embodiment, a type of machine tool 70 is described which is primarily intended for metal machining; however, the type of machine tool 70 is not limited to this.

[0012] CNC unit 6 is connected to machine tool 70, input control unit 3, and robot controller 50. Robot controller 50 is connected to robot 60. CNC unit 6 and robot controller 50 are connected to each other via a network, such as a local area network (LAN).

[0013] The input / output unit 3 comprises an input / output unit 51, an emergency stop button 52, and a control panel 53. The control panel 53 receives an operator command and transmits a corresponding signal to the input / output unit 51. In response to activation by the operator, the emergency stop button 52 sends a signal to the robot controller 50 to stop the robot controller 50 and simultaneously sends a signal to the input / output unit 51 to stop the machine tool 70. The input / output unit 51 transmits the signal sent by the control panel 53 and the signal sent by the emergency stop button 52 to the CNC unit 6. In response to receiving the signal from the emergency stop button 52, the robot controller 50 performs an emergency stop of the robot 60.In response to receiving the signal to stop the machine tool 70 from the input and output unit 51, the CNC unit 6 performs an emergency stop of the machine tool 70.

[0014] In control system 100, communication takes place between machine tool 70, numerical control device 1, and robot controller 50, and communication also takes place between robot controller 50, robot 60, and the linear axis 62. As described above, in control system 100, numerical control device 1 is connected to robot 60 and linear axis 62 via robot controller 50. Numerical control device 1 controls robot 60 and linear axis 62 via robot controller 50. In some subsequent sections, the phrase "via robot controller 50" may be omitted when describing the control of robot 60 by numerical control device 1.

[0015] CNC unit 6 is also connected to the other machine tools 72 to 74. CNC unit 6 and the other machine tools 72 to 74 are interconnected via an industrial network, which may include a LAN.

[0016] In the control system 100, communication takes place between the numerical control device 1 and the other machine tools 72 to 74, and the numerical control device 1 controls the other machine tools 72 to 74. The numerical control device 1 can perform activation control of the other machine tools 72 to 74, for example to start a machining operation.

[0017] The numerical control device 1 is located in the machine tool 70. The numerical control device 1 is a computer and instructs the machine tool 70 to machine a workpiece using a tool, and simultaneously instructs the robot 60 to transport a workpiece. Furthermore, the numerical control device 1 performs the transport of the robot 60 using the travel axis 62 and activates the other machine tools 72 to 74, for example, to start a machining operation.

[0018] The NC program comprises a first instruction, described in a first programming language, which is an instruction for the machine tool 70, and a second instruction, also described in the first programming language, which is an instruction for the robot 60 and the linear axis 62. The numerical control device 1 converts the second instruction of the NC program into a third instruction, which is an instruction from a robot program described in a second programming language, and controls the robot 60 and the linear axis 62 using this third instruction.

[0019] The input control unit 3 is a means of inputting information into a control processing unit 2 of the CNC unit 6. The control processing unit 2 will be described later. The input control unit 3 includes input devices such as a keyboard, a touch panel, a button, or a mouse. Fig. Figure 1 shows a keyboard and a touch panel as examples of input devices. The touch panel is, for example, a liquid crystal touch panel.

[0020] The numerical control device 1 sends the robot program, which includes the third command, to the robot controller 50. The robot controller 50 controls the robot 60 and the travel axis 62 according to the robot program sent by the numerical control device 1.

[0021] Robot 60 grasps a workpiece using a robot hand 61 and transports the grasped workpiece. Robot 60 places the unmachined workpiece into machine tool 70 and removes the machined workpiece from machine tool 70. It should be noted that robot 60 can perform processes that differ from transporting the workpiece.

[0022] The travel axis 62 moves the robot 60. Moving the robot 60 to a position in front of one of the other machine tools 72 to 74 by the travel axis 62 enables the robot 60 to transport, load and unload the workpiece for the other machine tools 72 to 74.

[0023] The CNC unit 6 comprises the control unit 2, which is described later, and a display unit 4, which is also described later. The CNC unit 6 controls the machine tool 70, the robot 60, and the linear axis 62 using the NC program. In response to receiving the signal from the input control unit 3, the CNC unit 6 also causes the machine tool 70 to perform a process corresponding to the received signal. Furthermore, the CNC unit 6 displays information on the display unit 4 indicating the status of the machine tool 70, the robot 60, the linear axis 62, and similar information.

[0024] Machine tool 70 and the other machine tools 72 to 74 are each NC machine tools. The NC machine tool machine a workpiece using a tool and moves the tool and the workpiece relative to each other via two or more drive axes. A first coordinate system, which is the coordinate system of the NC machine tool, and a second coordinate system, which is the coordinate system of the robot 60, are different from each other. Machine tool 70, the other machine tools 72 to 74, and the robot 60 are controlled in a Cartesian coordinate system to move the tool, the workpiece, or the robot hand 61 in, for example, three axis directions. The robot 60 comprises rotational axes and can operate the robot hand 61 in a straight direction by rotating joints, which are multiple rotational axes, in response to Cartesian coordinate system commands.

[0025] Fig. Figure 2 is a diagram showing an exemplary configuration of the numerical control device 1 according to the first embodiment. The numerical control device 1 comprises the control calculation unit 2, the input operating unit 3, the display unit 4, and a programmable logic controller (PLC) operating unit 5, such as a machine control panel, for operating a PLC 36. Fig. Figure 2 shows, in addition to the numerical control device 1, the machine tool 70, the robot control 50, the robot 60, the travel axis 62 and the other machine tools 72 to 74.

[0026] The machine tool 70 and the other machine tools 72 to 74 each comprise a drive unit 90, which drives a tool and a workpiece. An example of the drive unit 90 is a drive mechanism for driving a tool and simultaneously rotating a workpiece. In the first embodiment, the tool is driven in two directions, for example, one direction parallel to an X-axis direction and one direction parallel to a Z-axis direction. It should be noted that the axis directions depend on the machine configuration and are therefore not limited to the directions mentioned above.

[0027] The drive unit 90 comprises servomotors 901 and 902 for moving the tool in corresponding axis directions, which are defined in the numerical control device 1, and detectors 97 and 98 for detecting the respective positions and speeds of the servomotors 901 and 902. Detector 97 outputs a signal indicating the result of detecting the position and speed of servomotor 901. Detector 98 outputs a signal indicating the result of detecting the position and speed of servomotor 902. The drive unit 90 comprises servo control units 91 and 92 for corresponding axis directions for controlling the servomotors 901 and 902 based on commands from the numerical control device 1. The servo control units 91 and 92 each perform feedback control of the servomotors 901 and 902 based on the signals from the detectors 97 and 98.

[0028] Servo control unit 91 controls servo motor 901, thereby controlling the operation of the tool in the X-axis direction. Servo control unit 92 controls servo motor 902, thereby controlling the operation of the tool in the Z-axis direction.

[0029] The drive unit 90 also includes a spindle motor 911 for rotating a spindle to rotate a workpiece and a detector 99 for detecting the position and rotational speed of the spindle motor 911. The rotational speed corresponds to the number of rotations per unit of time. The rotational speed detected by the detector 99 corresponds to the rotational speed of the spindle motor 911. A spindle control unit 190 controls the spindle motor 911 to thereby control the rotation of the spindle.

[0030] As described above, the input unit 3 comprises the input means for entering information into the control processing unit 2. The input unit 3 receives a command or the like for the numerical control device 1 from an operator. The input unit 3 also receives an NC program, a parameter, or the like. The display unit 4 is configured with a display means, such as a liquid crystal display, and displays information on its screen that is processed by the control processing unit 2. An example of a display unit 4 is a liquid crystal touch panel. In this case, some functions of the input unit 3 are arranged in the display unit 4.

[0031] The control processing unit 2, which serves as a control unit, controls the machine tool 70, the robot 60, and the travel axis 62 using the NC program defined in the coordinate system of the machine tool 70. The control processing unit 2 comprises a screen processing unit 31, an input control unit 32, a storage unit 34, a control signal processing unit 35, the PLC 36, an analysis processing unit 37, an interpolation processing unit 38, a coordinate system offset measurement processing unit 80 (corresponding to a measurement processing unit), a coordinate system offset consideration processing unit 81 (corresponding to a consideration processing unit), an external communication unit 40, and a robot control unit 41. It should be noted that the PLC 36 can be located outside the control processing unit 2.

[0032] The storage unit 34 is a device for storing data, for example, non-volatile memory or a hard drive. The storage unit 34 stores an NC program memory area 341, in which the NC program is stored, a machine tool instruction code list 342, and a robot instruction code list 343. The storage unit 34 includes a coordinate system offset table 344, a measurement macro 350, and a shared area 345, all of which will be described later.

[0033] The NC program memory area 341 stores a program for the machine tool 70 to perform a machining operation and a program to control the robot 60 and the travel axis 62.

[0034] Machine tool command code list 342 is a list of codes used for commands for machine tool 70. Robot command code list 343 is a list of codes used for commands for robot 60.

[0035] The input control unit 32 receives information entered by the input operating unit 3 and stores, for example, the machine machining program and the like in the NC program memory area 341 of the storage unit 34.

[0036] The screen processing unit 31 performs a control operation that instructs the display unit 4 to display, for example, the machine machining program and the like in the NC program memory area 341. Furthermore, the screen processing unit 31 performs display processing that is used for the user interface, for example, information on the axis position of the machine tool 70, setting information for the machine tool 70, or a graphic display relating to the machine machining.

[0037] The control signal processing unit 35 is connected to the PLC 36. The PLC 36 outputs signal information, such as a command to operate the machine tool 70, to the control signal processing unit 35. The control signal processing unit 35 receives the signal information from the PLC 36 and writes the received signal information to the shared area 345. The interpolation processing unit 38 refers to the signal information from the PLC 36 during machine operation. If the analysis processing unit 37 outputs auxiliary commands to the shared area 345, the control signal processing unit 35 also reads the auxiliary commands from the shared area 345 and sends them to the PLC 36. The auxiliary commands are commands that differ from a command to operate the drive axis, which is a numerically controlled axis. Examples of auxiliary commands are M-code or T-code.

[0038] The external communication unit 40, for example, is a communication component of an industrial network. If commands to activate the other machine tools 72 to 74 are present in the auxiliary commands, the external communication unit 40 sends the commands to the other machine tools 72 to 74 via the industrial network.

[0039] In the control processing unit 2, the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, the robot control unit 41, the coordinate system offset measurement processing unit 80, and the coordinate system offset consideration processing unit 81 are interconnected via the storage unit 34 to write and read information about the shared area 345 of the storage unit 34. In the following, the description of "via the storage unit 34" may be omitted in some cases from the description of writing and reading information to and from the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, the robot control unit 41, the coordinate system offset measurement processing unit 80, and the coordinate system offset consideration processing unit 81.

[0040] The analysis processing unit 37 reads the NC program from the NC program memory area 341 and performs analysis processing on each block of the NC program, i.e., each line of the NC program. If the analyzed line contains G-code for the machine tool 70, the analysis processing unit 37 sends the result of the analysis processing to the interpolation processing unit 38 via the shared area 345. Specifically, the analysis processing unit 37 generates a motion condition corresponding to the G-code and sends the motion condition to the interpolation processing unit 38. The analysis processing unit 37 also sends the spindle rotation speed, specified by S-code, to the interpolation processing unit 38. The spindle rotation speed corresponds to the number of spindle rotations per unit of time.

[0041] The analysis processing unit 37 includes a robot command analysis unit 371. The robot command analysis unit 371 is a means of analyzing the operation of the connected robot 60 and the connected drive axis 62. The robot command analysis unit 371 analyzes the robot command and the travel axis command contained in the NC program and sends the results of the analysis of these commands to the robot control unit 41.

[0042] The robot control unit 41 transmits the command for the robot 60 and the command for the travel axis 62 to the robot controller 50.

[0043] The robot control unit 41 comprises a program conversion unit 414. Using coordinate system offsets 346, which are stored in the coordinate system offset table 344 of the storage unit 34, the program conversion unit 414 performs a coordinate conversion of the second instruction, which is defined in the coordinate system of the machine tool 70, into the third instruction, which is defined in the coordinate system of the robot 60, thereby generating the robot program that is used to control the robot 60. The coordinate system offsets 346 are coordinate values ​​that specify the relationship between the coordinate system of the machine tool 70 and the coordinate system of the robot.

[0044] The robot 60 is used not only for inserting or removing a workpiece or the like into or from the machine tool 70, but also for inserting or removing a workpiece or the like into or from any of the other machine tools 72 to 74. Therefore, the coordinate system offsets 346 are stored in the coordinate system offset table 344 of the storage unit 34 according to the number of machine tools.

[0045] Fig. Figure 3 is a diagram showing an exemplary measurement of coordinate system offsets using a touch probe in the numerical control device 1 according to the first embodiment. As in Fig. As shown in Figure 3, the coordinate system offsets 346 are measured using a sensor, such as a touch probe 65, which is attached to the robot hand 61 of the robot 60. When measuring the coordinate system offsets 346 using the touch probe 65, the touch probe 65 is attached to the end of the robot hand 61, and a movement command for the robot hand 61 is transmitted from the numerical control unit 1 to the robot controller 50, causing the touch probe 65 to be pressed against a table 71 or the like of the machine tool 70. When the touch probe 65 is pressed against the table 71 or the like of the machine tool 70, a detection signal from the touch probe 65 is input into the numerical control unit 1, and coordinate values ​​are obtained in the numerical control unit 1 at that time.By measuring the coordinate values ​​P1, P2, and P3 of the three points, the origin of the machine tool table is calculated, and the coordinate system offsets 346 are determined. At least three points are measured when obtaining the coordinate values, and nine points are measured if an inclination is taken into account.

[0046] Next, a method for measuring the coordinate system offsets 346 for several machine tools is described. The measurement of the coordinate system offsets 346 is performed once when the production line is put into operation. In the first embodiment, the coordinate system offsets 346 are measured for machine tool 70 and the other machine tools 72 to 74.

[0047] In order to measure the multiple coordinate system offsets 346 for the machine tool 70 and the other machine tools 72 to 74, which are multiple machine tools to be controlled, the control calculation unit 2 of the numerical control device 1 includes the coordinate system offset measurement processing unit 80 and the measurement macro 350 and includes in the storage unit 34 measurement start coordinates 348, which specify a measurement start position, and a stop position 349 as the coordinate system offset table 344.

[0048] Stop position 349 is a stop position of the robot 60 on the travel axis 62 when inserting or removing the workpiece into or from the respective machine tool 70 and the other machine tools 72 to 74. The number of stop positions 349, which corresponds to the number of machine tools, is stored in the memory unit 34. The stop positions 349 are determined based on the positions of machine tool 70 and the other machine tools 72 to 74 with respect to the travel axis 62. Therefore, a line designer sets the stop positions once the arrangement of machine tool 70 and the other machine tools 72 to 74 in the production line has been determined.

[0049] Fig. Figure 4 is a diagram showing an example of the coordinate system offset table 344, which is stored by the numerical control device 1 according to the first embodiment. Fig. 4 corresponds to machine number "1" of machine tool 70, machine number "2" to machine tool 72, machine number "3" to machine tool 73, and machine number "4" to machine tool 74. The coordinate system offset table 344 contains the stop position 349, the measurement start coordinates 348, and the coordinate system offsets 346. Coordinate system offset table 344 stores the machine number, stop position 349, measurement start coordinates 348, and coordinate system offsets 346 in association with one another. Coordinate system offset table 344 functions as an association unit that associates the coordinate system offsets 346, along with the stop position 349 and measurement start coordinates 348, with machine tool 70 and the other machine tools 72 to 74.When the stop position is 349, the position of machine tool 70 is, for example, 0, the position of the other machine tool 72 is, for example, 500, the position of the other machine tool 73 is, for example, 1000, and the position of the other machine tool 74 is, for example, 1500. The unit is determined based on the settings of the numerical control device 1.

[0050] The measurement start coordinates 348 specify a starting point for initiating the measurement macro 350 and must be set so that the touch probe 65 of the robot hand 61 can start near the table of the respective machine tool. The measurement start coordinates 348 are determined based on the relationship between the position of the robot 60 and the positions of the tables of machine tool 70 and the other machine tools 72 to 74. However, the table positions, which vary depending on machine tool 70 and the other machine tools 72 to 74, require setting values ​​for each of the machine tools 70 and 72 to 74. For example, if the arrangement of machine tool 70 and the other machine tools 72 to 74 in the production line was determined by simulation, this involves setting values ​​based on the simulation results.A conceivable alternative method involves, if machine tool 70 and the other machine tools 72 to 74 are actually installed, manually moving the robot 60, for example with a handle or the like, to a position where the robot hand 61 is above the table, and saving the coordinate values ​​at that time. The measurement start coordinates 348 are as shown in... Fig. Figure 4 shows, for example, that for machine tool 70, which corresponds to machine number "1", (X, Y, Z) = (500, 500, 500) and for the other machine tool 72, which corresponds to machine number "2", (X, Y, Z) = (510, 520, 515). The measurement start coordinates 348 are also stored in association with the machine number and the stop position 349.

[0051] Measurement macro 350 is a program for performing the aforementioned operation of the touch probe 65, which is attached to the robot 60. Executing measurement macro 350 enables the robot 60 to perform an operation measuring the coordinate system offsets 346.

[0052] The coordinate system offset measurement processing unit 80 controls the operation of measuring the coordinate system offsets 346. The coordinate system offset measurement processing unit 80 is activated, for example, when an operator, after replacing the tool of the robot hand 61 with the touch probe 65, enters a machine number corresponding to a single machine tool, or "all" to specify all machine tools, into the display unit 4 and then presses a measurement start button displayed on the display unit 4. If the measurement start button is pressed after entering "1", which is a machine number corresponding to a single machine tool, the coordinate system offsets 346 of the machine tool 70 corresponding to machine number "1" are measured.When the measurement start button is pressed after entering "all" to specify all machine tools, the respective coordinate system offsets 346 for machine tool 70, which corresponds to machine number "1", up to the other machine tool 74, which corresponds to machine number "4", are measured sequentially.

[0053] For example, the coordinate system offsets 346 of the machine tool 70, which corresponds to machine number "1", are measured as follows. When the measurement start button is pressed after input information "1", the input control unit 32 stores "1" as the input information in the shared area 345 of the storage unit 34. The analysis processing unit 37 reads data from the coordinate system offset table 344, which includes the stop position 349 and the measurement start coordinates 348 of machine number "1", corresponding to the input information "1" stored in shared area 345, stores the data in shared area 345, and informs the coordinate system offset measurement processing unit 80 of the memory address of the data in shared area 345 and a control start instruction.The coordinate system offset measurement processing unit 80, in response to receiving the control start instruction from the analysis processing unit 37 to the display unit 4, outputs a screen display to confirm whether the replacement with the touch probe 65 has been carried out and, if the completion of the replacement has been confirmed, the coordinate system offset measurement processing unit 80 obtains from the shared area 345 the stop position 349 and the measurement start coordinates 348, both of which are associated with the machine number “1”.

[0054] The coordinate system offset measurement processing unit 80 transmits a command to the robot controller 50 for the travel axis 62 to move the robot 60 to a position "0", which is the stop position 349 of the machine tool 70, corresponding to machine number "1", and operates the travel axis 62. The coordinate system offset measurement processing unit 80 transmits a command to the robot controller 50 to move the robot hand 61 to the measurement start coordinates 348 of the machine tool 70, corresponding to machine number "1", and operates the robot 60. Next, the coordinate system offset measurement processing unit 80 measures the coordinate system offset values ​​of the machine tool 70, corresponding to machine number "1", according to the measurement macro 350.The coordinate system offset measurement processing unit 80 stores the measured coordinate system offset values ​​of machine tool 70, which corresponds to machine number "1", in the coordinate system offsets 346 of machine number "1" in the coordinate system offset table 344 of storage unit 34. During this storage, the measured coordinate system offsets 346 are stored in association with the stop position 349. The coordinate system offset values ​​of the other machine tools 72 to 74, which correspond to machine numbers "2" to "4", are measured in the same way. Then, the respective measured coordinate system offset values ​​of the other machine tools 72 to 74 are stored in association with the respective stop positions 349 of the other machine tools 72 to 74.

[0055] Next, a method is described in which, when a movement command for the robot 60 to move to a position in front of a specific machine tool is available, the robot 60 is controlled by the travel axis 62, taking into account the relative relationship after the robot 60 has moved.

[0056] Fig. Figure 5 is a diagram showing an example of the machine processing program executed by the numerical control device 1 according to the first embodiment. Fig. Figure 5 shows an example of the machining program, which includes a G-code that is an instruction for the machine tool 70 or the robot 60. The instruction in the G-code in line N2 of the machining program is an instruction to take into account the movement and offset of the robot 60.

[0057] The analysis processing unit 37 analyzes G1500 in block N2 and determines that G1500 specifies the robot motion and coordinate system offset consideration instruction of the robot instruction from the robot instruction code list 343. The coordinate system offset consideration processing unit 81 then starts processing. Coordinate system offset consideration processing unit 81 analyzes the address following the G-code and transmits the instruction to the robot controller 50. The X address represents the movement of the travel axis 62, X500 represents the stop position after the movement of the travel axis 62, RF300 represents a movement speed of the travel axis 62, and Q0 represents not performing the measurement of the coordinate system offsets 346 after the movement. The analysis processing unit 37 analyzes the instructions and operates the travel axis 62 to move the robot 60 to a position "500" at a speed of "300".If the Q0 command is present, the coordinate system offsets 346 are not measured again. In the command for robot 60 in and after a block N3, the control calculation unit 2 therefore commands the robot controller 50, automatically taking into account X30, Y17 and Z100, which are the coordinate system offsets 346, that correspond to the stop position "500" in the block. Fig. The coordinate system offset table 344 shown in section 4 is associated with the offsets of the robot 60. Such operation is referred to as coordinate system offset consideration processing.

[0058] If the value of X at the X address is not present as data for stop position 349 of the coordinate system offset table 344, the command directs the movement to a position where the machine tool is not located, and therefore the aforementioned coordinate system offset consideration processing is not performed. In this case, the coordinate system offset consideration processing unit 81 may issue an error. Alternatively, even though a movement to the command's stop position is performed, the coordinate system offset consideration processing unit 81 may not consider the coordinate system offsets 346.

[0059] The consideration of coordinate system offsets 346 is a modal function, and a command taking coordinate system offsets 346 into account is transmitted to the robot controller 50 as a next command for robot 60, unless a G-code for considering or aborting the next coordinate system offsets 346 is present. For example, in the command for robot 60 in block N3, the operator only needs to generate a program to specify the movement position of the robot hand 61 in the coordinate system of the machine tool. This means that the operator generating the machining program does not need to generate a program taking into account the difference between the coordinate system of the machine tool and the coordinate system of the robot after block N2.

[0060] Next, a method is described in which, when a movement command for the robot 60 to move to the position in front of a specific machine tool is present, the coordinate system offsets 346 are measured again, and the robot 60 is controlled by the travel axis 62, automatically taking into account the relative relationship after the robot 60 has moved. Even if a physical deviation of the travel axis 62 or the like causes a change in the coordinate system offsets 346, this method enables highly accurate robot work on the machine tool by remeasuring the coordinate system offsets 346 before the robot 60 begins work.

[0061] The M-code in block N4 specifies an auxiliary command and specifies a command to replace the end of the robot hand 61 with the touch probe 65. Fig. Figure 6 is a diagram showing an example of a tool replacement procedure for the robot 60 according to the first embodiment. For replacement by the touch probe 65, it is, as shown in Fig. As shown in Figure 6, it is conceivable, for example, that the robot hand 61 is equipped at its end with a machining tool 64 and with the touch probe 65, which is arranged on the opposite side of the machining tool 64. In such a case, for example, rotating the axis of rotation of the end of the robot hand 61 by 180 degrees according to the M-code help command allows the tool to be replaced by the touch probe 65.

[0062] The procedure for replacement by the touch probe 65 is not limited to the above. A conceivable alternative procedure includes, for example, providing an automatic changer on a table, which is physically in operation simultaneously with the robot hand 61 on the travel axis, and moving the robot hand 61 to the replacement position of the automatic changer for the replacement.

[0063] As described above, the G1500 of block N5 signifies the movement of the travel axis 62, the X1000 signifies the stop position 349 after the movement of the travel axis 62, the RF600 signifies the travel speed of the travel axis 62, and the Q1 signifies performing the measurement of the coordinate system offsets 346 after the movement. The analysis processing unit 37 analyzes the instructions, drives the travel axis 62, and moves the robot 60 to a position "1000" at a speed of "600". If the instruction Q1 to remeasure the coordinate system offsets 346 is present, the coordinate system offset measurement processing unit 80 performs processing to remeasure the coordinate system offsets 346 according to the aforementioned procedure for measuring the coordinate system offsets 346. The remeasured coordinate system offsets 346 are recorded in the coordinate system offset table 344.In the command for robot 60 in and after block N6, the control processing unit 2 instructs the robot controller 50 to operate, automatically taking into account the coordinate system offsets 346, which are associated with the stop position "1000" and were measured again, as the offsets of robot 60. This means that the coordinate system offset consideration processing is carried out.

[0064] As described above, the use of the remeasured coordinate system offsets 346 enables highly accurate robot work on the machine tool.

[0065] Next, the processing of the coordinate system offset measurement processing unit 80 to achieve the aforementioned function is described. Fig. Figure 7 is a flowchart showing an operating procedure of the coordinate system offset measurement processing unit 80 of the numerical control device 1 according to the first embodiment.

[0066] In step S500, a message is displayed on the display unit 4 for the operator to confirm whether the end of the robot hand 61 has been replaced by the touch probe 65. If the replacement was not performed (step S500: no), an error is displayed (step S511) and the processing ends. If the replacement was performed (step S500: yes), in step S501 the machine number of the measurement target, which was entered by the operator, is retrieved from the shared area 345. In step S503, a movement command for the travel axis 62 to move the robot 60 to the stop position 349, which is associated with the machine number, is transmitted to the robot controller 50, so that the robot 60 moves to the stop position 349.In step S504, a movement command to move the robot hand 61 to the measurement start coordinates 348, which are associated with the machine number, is transmitted to the robot controller 50, so that the robot hand 61 is moved to the measurement start coordinates 348.

[0067] In step S505, a macro program is executed to measure the coordinate system offsets 346. In step S506, the measured coordinate system offsets 346 are then stored in the coordinate system offset table 344 in association with the machine number and the stop position 349. As long as the machine tool of the measurement target is present, the processing from step S503 to step S506 is repeated (step S507). Finally, in step S508, a message is displayed on the display unit 4 to return from the touch probe 65 to the original tool, and the processing ends.

[0068] Next, the processing of the coordinate system offset consideration processing unit 81 is described. Fig. Figure 8 is a flowchart showing an operating procedure of the coordinate system offset consideration processing unit 81 of the numerical control device 1 according to the first embodiment.

[0069] In step S600, the X-address following the G-code in the machining program is analyzed, and the address value is stored in temporary memory. In step S601, it is determined whether the address value stored in temporary memory is present as data at stop position 349 of the coordinate system offset table 344. If the X-address is not present at stop position 349 (step S601: no), an error is output in step S610, and processing terminates. If the X-address is present at stop position 349 (step S601: yes), the RF address is analyzed in step S602, and the analyzed value is stored in temporary memory. In step S603, a command for the travel axis 62 to move to stop position 349, which is stored in temporary memory, at the movement speed also stored in temporary memory, is transmitted to the robot controller 50.

[0070] In step S604, the Q address is analyzed. If the Q address is 0 (step S604: no), the processing ends. If the Q address is 1 (step S604: yes), in step S605 the robot 60 is moved to the measurement start coordinates 348, which are associated with the stop position 349. In step S606, the measurement macro 350 is executed, and in step S607 the remeasured values ​​are stored in the coordinate system offsets 346 of the coordinate system offset table 344.

[0071] As described above, according to the first embodiment, the numerical control device 1 stores the stop position 349, the measurement start coordinates 348, and the coordinate system offsets 346 for the machine tool 70 and the other machine tools 72 to 74 in the memory unit 34, wherein the stop position 349, the measurement start coordinates 348, and the coordinate system offsets 346 are associated with the machine tool 70 and the other machine tools 72 to 74. Using the stop position 349 and the measurement start coordinates 348 stored in the memory unit 34, the coordinate system offset measurement processing unit 80 measures the coordinate system offsets 346 of the machine tool 70 and the other machine tools 72 to 74 and stores the measured coordinate system offsets 346 in the memory unit 34. The robot 60 is then controlled taking into account the values ​​stored in the memory unit 34. 34 stored coordinate system offsets 346,when the machine machining program is executed by the coordinate system offset consideration processing unit 81. This makes it easier for the operator to generate the machine machining program to control the multiple machine tools and the robot. Second embodiment.

[0072] A second embodiment uses a configuration in which several machine tools obtain control rights for a single self-propelled robot 161. In the second embodiment, the machine tool that has obtained the control rights moves the self-propelled robot 161 to the measurement start position of the machine tool that has obtained the control rights in order to measure and take into account the coordinate system offsets 346, thereby ensuring that the loading and unloading of the workpiece and the machining of the workpiece are carried out accurately.

[0073] Fig. Figure 9 is a diagram showing an exemplary configuration of a control system comprising a numerical control device according to the second embodiment. The Fig. The control system shown in Figure 9 comprises several machine tools 170 and 172 to 174, the self-propelled robot 161, and a wireless LAN router 180. Machine tool 170 corresponds to a first machine tool, and machine tool 172 corresponds to a second machine tool. A Fig. The numerical control device 1X shown in Figure 10 is located in the machine tool 170. The machine tool 170 is controlled by the numerical control device 1X. The machine tools 172 to 174 are each controlled by one of several other numerical control devices (not shown), which are different from the numerical control device 1X.

[0074] The self-driving robot 161 comprises the robot 60, a self-driving unit 63, and a robot controller 55. The self-driving robot 161 is an automated guided vehicle (AGV) in which the self-driving unit 63 enables the robot 60 and the robot controller 55 to drive autonomously. The self-driving robot 161 includes a memory and a control unit within the self-driving unit 63 and navigates around the multiple machine tools 170 and 172 to 174 by autonomously following a stored route. The robot controller 55 has a wireless LAN communication function and establishes wireless communication with the machine tools 170 and 172 to 174 via the wireless LAN router 180.

[0075] The machine tools 170 and 172 to 174 can communicate with each other via the wireless LAN router 180. Furthermore, the machine tools 170 and 172 to 174 and the robot controller 55 can communicate with each other via the wireless LAN router 180. The machine tools 170 and 172 to 174 transmit commands via a wireless LAN to the robot controller 55 to control the self-propelled robot 161, thereby loading and unloading a workpiece from each of the machine tools 170 and 172 to 174, performing machining operations using a tool attached to the robot hand 61, or the like.

[0076] Regarding the right to control the self-propelled robot 161, the following procedure is used, for example. Among the machine tools 170 and 172 to 174, one of the machine tools 170 and 172 to 174, which has received proximity information from the self-propelled device 63 of the self-propelled robot 161 via wireless LAN communication, indicating that the self-propelled robot 161 has approached, and which is in a state in which it is capable of using the self-propelled robot 161, has the right to control the self-propelled robot 161. A distance measuring sensor, configured to determine a distance to a measurement target, is used as the proximity information.For example, the self-driving robot 161 and the machine tools 170 and 172 to 174 are equipped with devices for short-range wireless communication (e.g., Bluetooth), and the machine tools 170 and 172 to 174 each determine the approach of the self-driving robot 161 and take control.

[0077] The procedure for determining the control right for the self-driving robot 161 is not limited to the above. For example, a separate control system can be provided for the self-driving robot 161 and the machine tools 170 and 172 to 174, which is configured to communicate via a wireless LAN. This control system can determine whether the self-driving robot 161 is approaching the machine tools 170 and 172 to 174, and can control the activation of the self-driving robot 161 and the machine tools 170 and 172 to 174 according to the result of this determination.

[0078] Fig. Figure 10 is a diagram showing an exemplary configuration of the numerical control device 1X according to the second embodiment. In addition to the numerical control device 1 of the first embodiment, the numerical control device 1X of the second embodiment also includes a wireless communication unit 401. Furthermore, the numerical control device 1X of the second embodiment does not include a coordinate system offset measurement processing unit 80 of the numerical control device 1 of the first embodiment, nor a coordinate system offset table 344 of the numerical control device 1 of the first embodiment, in which the stop positions 349, the measurement start coordinates 348, and the coordinate system offsets 346 for the other machine tools 72 to 74 are stored. Moreover, the numerical control device 1X of the second embodiment does not store a stop position 349 for the machine tool 70 itself in the storage unit 34.Other configurations are the same as those of the first embodiment, and a redundant description is omitted.

[0079] The wireless communication unit 401 is a processing unit for achieving wireless LAN communication and processes communication between the robot control unit 41 and the robot controller 55. Furthermore, the external communication unit 40 conducts communication within an industrial network via the wireless communication unit 401.

[0080] Furthermore, in the second embodiment, the machine tools 170 and 172 to 174 each store the measurement start coordinates 348 and the coordinate system offsets 346 for their own machine tools 170 and 172 to 174 in the storage unit 34. As in the first embodiment, the measurement start coordinates 348 are stored, for example, based on a simulation at the time of designing the factory line or based on manual operation.

[0081] Next, a method of measuring the coordinate system offsets 346 by the machine tool, which has the right to control the self-driving robot 161, and of controlling the self-driving robot 161 taking into account the measured coordinate system offsets 346 is described.

[0082] The numerical control device of the machine tool, which the self-propelled robot 161 has approached, receives the proximity information via the wireless LAN communication function of the robot controller 55 of the self-propelled robot 161 and the wireless communication unit 401. The numerical control device receives the proximity information and stores the information in the shared area 345 of the memory unit 34.

[0083] In the machine processing program, which is executed by the machine tools 170 and 172 to 174, the operator has described an instruction which waits for the robot control right, and the machine processing program which contains the instruction which waits for the robot control right is executed. Fig. Figure 11 is a diagram showing an example of a machine processing program executed by the numerical control device 1X according to the second embodiment. The G1501 in block N22 corresponds to the instruction waiting for robot control rights. When the instruction waiting for robot control rights is analyzed by the analysis processing unit 37, the machine tools each enter a robot control rights waiting state through the coordinate system offset consideration processing unit 81, which corresponds to the consideration processing unit.

[0084] If the approach information could be obtained as the robot control right from the shared area 345, the coordinate system offset consideration processing unit 81 first transmits a command to the robot controller 55 to replace the tool of the robot hand 61 with the touch probe 65. Therefore, the tool is replaced by the touch probe 65. Next, the coordinate system offset consideration processing unit 81 moves the self-propelled robot 161 to the measurement start coordinates 348, which are stored in the memory unit 34, then measures the coordinate system offsets 346 according to the measurement macro 350 and stores the measured coordinate system offsets 346 in the memory unit 34.

[0085] Once the measurement of the coordinate system offsets 346 is complete, the control system's wait state is released. Next, a robot command described in block N23 is executed, and a loading and unloading operation is performed by the self-propelled robot 161, or machining is carried out by the robot hand 61. In block N23, command M23 is executed, and the tool is replaced with a tool for gripping the workpiece. In block N24, command G1000 is executed, and the workpiece loading operation is performed. During the workpiece loading operation of block N24, a correction is performed based on the coordinate system offsets 346, which are stored in memory unit 34, and the workpiece loading operation is carried out.

[0086] In block N25, which is a block following the work program of the self-propelled robot 161, G1502 is defined, corresponding to a control rights release auxiliary command. If the control rights release auxiliary command is included, a command to release the control rights is transmitted to the robot controller 55 via the control signal processing unit 35, the external communication unit 40, and the wireless communication unit 401. Upon receiving the control rights release command, the robot controller 55 switches the self-propelled robot 161 to loop operation and moves the self-propelled robot 161 to the next machine tool.

[0087] Fig. Figure 12 is a flowchart illustrating an operating procedure of the coordinate system offset consideration processing unit 81 of the numerical control device 1X according to the second embodiment. The processing of the coordinate system offset consideration processing unit is described with reference to Fig. 12 described.

[0088] In step S700, the coordinate system offset consideration processing unit 81 determines whether robot control authorization is present or not. If robot control authorization is not present (step S700: no), the processing switches to a wait state, and therefore the coordinate system offset consideration processing unit 81 queries again in step S700 whether robot control authorization is present or not. If robot control authorization is present (step S700: yes), in step S702, the coordinate system offset consideration processing unit 81 transmits a command to the robot controller to replace the tool with the touch probe 65, which is a measuring tool.When the replacement by the measuring tool is complete, the coordinate system offset consideration processing unit 81 moves the self-driving robot 161 to the measurement start coordinates 348 in step S703, executes the measurement macro 350 in step S704 to measure the coordinate system offsets 346, and stores the coordinate system offsets 346 in the storage unit 34 in step S705.

[0089] In the second embodiment, the numerical control device of the machine tool, which has acquired the robot control rights, controls the self-propelled robot 161, measures the coordinate system offsets, and then performs the loading and unloading operations, taking these offsets into account, as described above. Even using the self-propelled robot 161, which has a relatively low positioning accuracy relative to the machine tool, it is therefore possible to achieve highly precise collaborative work between the machine tool 170 and the self-propelled robot 161.

[0090] Although the measurement start coordinates 348 are preset in each machine tool in the second embodiment, they are also determined based on the arrangement of the self-propelled robot 161 and the table. Therefore, if several machine tools of the same model are present, the values ​​of the common measurement start coordinates 348 can be set. For example, when setting the measurement start coordinates 348 in the simulation, if it is determined that the machine tools are of the same model, setting the same value as the measurement start coordinates 348 can eliminate the time and effort required for setting them.

[0091] Next, hardware for implementing the control computing unit 2 according to the first and second embodiments is described. The control computing unit 2 is implemented by a processing circuit. If the processing circuit is implemented by software, the processing circuit is, for example, a Fig. 13 control circuits shown. Fig.Figure 13 is a block diagram showing an exemplary configuration of the control processing unit 2 of each of the numerical control devices 1 and 1X according to the first and second embodiments. The control circuit 200 comprises an input unit 201, a processor 202, a memory 203, and an output unit 204. The input unit 201 is an interface circuit for receiving data input from outside the control circuit 200 and for sending the data to the processor 202. The output unit 204 is an interface circuit for sending data from the processor 202 or the memory 203 to an external location outside the control circuit 200.

[0092] The control unit 2 is implemented by software, firmware, or a combination of both. The software or firmware is described as a program and stored in memory 203. In the processing circuit, the processor 202 implements each function by reading and executing the program stored in memory 203. This means that the processing circuit includes memory 203 for storing a program that executes the processing of the control unit 2. In other words, these programs are programs that instruct a computer to execute the procedures and processes of the control unit 2.

[0093] The processor 202 is a central processing unit (CPU) (also known as a central processing device, processing unit, computing unit, microprocessor, microcomputer, processor, or digital signal processor (DSP)). The memory 203 corresponds, for example, to non-volatile or volatile semiconductor memory, such as random access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM, registered trademark), a magnetic floppy disk, a flexible floppy disk, an optical disk, a compact disc, a mini-disc, a digital versatile disc (DVD), or the like.

[0094] The configuration described in each of the above embodiments shows an example of the content of the present disclosure, can be combined with another known technique, and some of the configurations can be omitted or modified without abandoning the core idea of ​​the present disclosure. Reference symbol list 1, 1X Numerical Control Device 2 Control calculation unit 3 Input control unit 4 Display unit 5 PLC operator unit 6 CNC units 31 Screen processing unit 32 Input control unit 34 storage units 35 Control signal processing unit 36 PLCs 37 Analysis Processing Unit 38 Interpolation processing unit 40 External communication unit 41 Robot control unit 50, 55 Robot control 51 Input and output unit 52 Emergency stop button 53 Control Panel 60 robots 61 robot hand 62 driving axle 63 self-driving device 64 Machining tools 65 Touch probe 70, 170 machine tool 71 Table 72 to 74, 172 to 174 other machine tools 80 Coordinate system offset measurement processing unit 81 Coordinate system offset consideration processing unit 90 Drive unit 91, 92 Servo control unit 97, 98, 99 Detector 100 tax system 161 self-driving robots 180 Wireless LAN Routers 190 Spindle control unit 200 control circuit 201 Input unit 202 processor 203 storage 204 output units 341 NC program memory area 342 Machine tool command code list 343 Robot command code list 344 Coordinate system offset table 345 shared area 346 Coordinate system offsets 348 measurement start coordinates 349 Stop position 350 Measurement macro 371 Robot command analysis unit 401 Wireless Communication Unit 414 Program conversion unit 901, 902 servo motor 911 spindle motor.

Claims

[1] Numerical control device for controlling several machine tools and a robot which performs work on the several machine tools, wherein the numerical control device comprises: a measurement processing unit which measures a coordinate system offset of the machine tools using a stop position of the robot at the respective machine tool while performing the work and a measurement start position which is a position to start a measurement process of the coordinate system offset, wherein the coordinate system offset specifies a relationship between a coordinate system of the respective machine tool and a coordinate system of the robot; an association unit that associates the coordinate system offset measured by the measurement processing unit, together with the stop position and the measurement start position, with the respective machine tool; and a consideration processing unit which controls the robot when executing a machine processing program, taking into account the associated coordinate system offset. [2] Numerical control device according to claim 1, wherein the association unit comprises a coordinate system offset table in which the stop position, the measurement start position and the coordinate system offset are associated with the respective machine tool, wherein the stop position, the measurement start position and the coordinate system offset are associated with each other. [3] Numerical control device according to claim 2, wherein The measurement processing unit stores the coordinate system offset in the coordinate system offset table, where the coordinate system offset is associated with the stop position, and The consideration processing unit reads the coordinate system offset, which is associated with the stop position in the machine processing program, from the coordinate system offset table and controls the robot taking the read coordinate system offset into account. [4] Numerical control device according to any one of claims 1 to 3, wherein The machine processing program includes an instruction specifying whether the coordinate system offset is to be measured, and The measurement processing unit determines, based on the contents of the instruction, whether the coordinate system offset of the machine tool needs to be measured again. [5] Numerical control device for controlling a robot which moves around several machine tools, comprising a first machine tool and a second machine tool, and performs work on the several machine tools, and for controlling the first machine tool, wherein the numerical control device comprises: A consideration processing unit which, when a machine processing program is executed by the first machine tool to carry out a machine processing operation, determines whether or not a control right for the robot is present, and which, if the control right for the robot is present, measures a coordinate system offset of the first machine tool using a measurement start position, which is a position for starting a measurement process of the coordinate system offset, wherein the coordinate system offset specifies a relationship between a coordinate system of the first machine tool and a coordinate system of the robot, and controls the robot taking into account the measured coordinate system offset. [6] Numerical control device according to claim 5, wherein the measurement start position and a measurement start position set for the second machine tool have the same value if the second machine tool and the first machine tool are the same model. [7] Numerical control method for controlling several machine tools and a robot which performs work on the several machine tools, wherein the numerical control method comprises: a measurement step of measuring a coordinate system offset of the machine tools using a stop position of the robot at the respective machine tool while performing the work and a measurement start position, which is a position to start a measurement process of the coordinate system offset, wherein the coordinate system offset specifies a relationship between a coordinate system of the respective machine tool and a coordinate system of the robot; an association step of associating the coordinate system offset measured in the measurement step together with the stop position and the measurement start position with the respective machine tool; and a consideration processing step of the control, when executing a machine processing program, of the robot taking into account the associated coordinate system offset. [8] Numerical control method for controlling a robot which moves around several machine tools, comprising a first machine tool and a second machine tool, and performs work on the several machine tools, and for controlling the first machine tool, wherein the numerical control method comprises: a step of determining, when executing a machining program to perform a machining operation by the first machine tool, whether a control right for the robot is present or not, and, if the control right for the robot is present, of measuring a coordinate system offset of the first machine tool using a measurement start position, which is a position to start a measurement process of the coordinate system offset, wherein the coordinate system offset specifies a relationship between a coordinate system of the first machine tool and a coordinate system of the robot, and of controlling the robot taking into account the measured coordinate system offset.

Citation Information

Patent Citations

  • Robot control arrangement provided in a machining arrangement comprising a robot and a machine tool

    DE102010022258A1

  • Numerical control device and numerical control method

    JP6647472B1

  • JP000006647472B1