The present application claims priority to Japanese Application Number 2013-122637, filed Jun. 11, 2013, the disclosure of which is hereby incorporated by reference herein in its entirety.
Field of the Invention
The present invention relates to a controller for controlling a machine tool and a robot, and more particularly, to a controller for controlling both a machine tool and a robot based on a single machining program.
Description of the Related Art
Conventionally, an operator of a machine tool generally performs so-called loading and unloading operations, such as workpiece mounting and removing operations. Recently, however, robots have come to be frequently used in these operations to continuously run the machine tool for a long time. In the case where a robot 200 for these operations is attached to a machine tool 100, as shown in
In cooperatively operating the machine tool 100 and the robot 200 according to a first example of a control system for them shown in
(1) The machine tool controller 2 controls the machine tool 100 based on the machining program 22. Further, the robot controller 3 controls the robot 200 based on the robot program 52.
(2) If the machine tool 100 requires operation of the robot 200, a robot work code, such as an M-code, in the machining program 22 is executed.
(3) When a robot work designation code in the machining program 22 is executed, the machine tool control unit 40 notifies a ladder program execution unit 60 of the execution of the robot work designation code.
(4) When notified of the execution of the robot work designation code, the ladder program execution unit 60 turns on the operation command signal for the robot according to the instruction of a ladder program 62. The operation command signal includes the type of the robot operation.
(5) When the robot control unit 50 detects the activation of the operation command signal, the robot controller 3 controls the robot 200 based on a relevant instruction in the robot program 52. When the movement of the robot 200 is completed, the robot control unit 50 turns on the operation completion signal.
(6) The ladder program execution unit 60 of the machine tool controller 2 notifies the machine tool control unit 40 of detected activation of the operation completion signal according to the instruction of the ladder program 62. Thereupon, the machine tool control unit 40 continues to control the machine tool 100 based on the machining program 22.
The machine tool controller 2 manages both the machining program 22 for the machine tool 100 and the robot program 52 for the robot 200. In controlling the robot 200, the ladder program execution unit 60 of the machine tool controller 2 converts the robot program 52 to a corresponding operation command signal based on the instruction of the ladder program 62. This operation command signal includes the content of the operation of the robot 200, that is, the behavior of the robot 200. The ladder program 62 is used to coordinate the machining program 22 for the machine tool 100 with the robot program 52 for the robot 200.
Japanese Patent Application Laid-Open No. 6-149329 discloses a robot controller comprising a CPU for controlling a machine tool, a CPU for controlling a robot, and a shared RAM interposed between these CPUs. This controller is configured so that the CPU for controlling the robot receives a robot program from both commands from an external device and a control panel.
Japanese Patent Application Laid-Open No. 6-134652 discloses a control method for a robot hand of a numerical control machine tool, in which the robot hand is attached to a tool mounting portion of the machine tool so that it can be position-controlled and opened or closed by NC language.
According to the technique shown in
The ladder program is used for the transfer of these data. Since the ladder program includes processing for the basic control of the machine tool, only the manufacturer of the machine tool is allowed to edit it, and users are not. Therefore, the machine tool manufacturer determines specifications for the way the machine tool and the robot cooperate with each other and provides a ladder program to achieve the specifications.
Consequently, the machine tool manufacturer is expected to create the ladder program for the cooperative operations of the machine tool and the robot, thus suffering increased burden in program creation.
Since the mechanism of the coordination is achieved by the ladder program, on the other hand, a user cannot add any new functions, thus proving poor extensibility. While work instructions from the user are given in the form of digital codes, such as M-codes, the number of types of work instructions that can be given from the machining program to the robot program depends on the specifications determined by the machine tool manufacturer. Thus, any of the available work instructions is expected to be based on the specifications, so that the user is not allowed to add new types of work instructions afterward.
Normally, the workpiece loading and unloading operations and the like are previously assumed and incorporated in the ladder program by the machine tool manufacturer. If the user intends to additionally cause the machine tool and the robot to cooperatively carry out various operations related to machining, however, he/she cannot add any new functions to the ladder program. If the user dare add a new function, he/she must ask the machine tool manufacturer to modify the ladder program, thus suffering increased burden.
Since the machining program and the robot program are independent of each other, moreover, it is sometimes difficult to understand from the programs how the machine tool and the robot behave if they are simultaneously operated, for example, in particular. If the behaviors of the machine tool and the robot cannot be easily understood from the programs, identification of the operation is so time-consuming that the user suffers increased burden in start-up operation.
Also in the technique shown in
According to the technique disclosed in Japanese Patent Application Laid-Open No. 6-149329, the robot program for controlling the robot is configured to be received from the command from the external device or the command from the control panel, so that it is independent of the machining program for controlling the machine tool. In some cases, therefore, it is difficult to understand how the machine tool and the robot behave.
According to the technique disclosed in Japanese Patent Application Laid-Open No. 6-134652, in contrast, the robot hand is mounted in a tool mounting position on the machine tool so that it can be position-controlled and opened or closed by NC language. This “robot hand” is attached to the tool mounting portion of the machine tool, not of the robot, and is controlled and driven by the control axis of the numerical control machine tool, so that it should naturally be regarded as a part of the machine tool. Since the operating range of the robot hand is limited to that of the control axis of the machine tool, moreover, it is difficult for the user to perform various operations related to machining along with the loading and unloading operations by means of the robot hand.
Accordingly, the object of the present invention is to provide a controller for controlling a machine tool and a robot, capable of determining cooperative operations of the machine tool and the robot based on a machining program only.
A controller according to the present invention is configured to control at least one machine tool and at least one robot, and comprises a machining program input unit configured to input a machining program, which includes at least one statement for machine tool and at least one statement for robot, to the controller, a machining program storage unit configured to store in the controller the machining program input by the machining program input unit, a machine tool control unit configured to control the machine tool based on the statement for machine tool, a robot control unit configured to control the robot based on a statement for robot, and a machining program distribution unit configured to transfer the statement for machine tool, out of statements for machine tool and statements for robot that are included in the machining program stored in the machining program storage unit, to the machine tool control unit and to transfer the statement for robot to the robot control unit.
The machining program distribution unit may comprise a sequential execution unit configured, if the target of the statement read from the machining program is changed from the machine tool to the robot or from the robot to the machine tool, to transfer the statement to the machine tool control unit or the robot control unit as the target of the post-change statement after the control based on the statement transferred to the machine tool control unit or the robot control unit as the target of the pre-change statement is completed.
The machining program distribution unit may comprise a simultaneous start unit configured to transfer the statements for machine tool and statements for robot, included within a range previously specified by the machining program, to the machine tool control unit and the robot control unit, respectively, and then simultaneously perform instructions of start of control based on the transferred statements to the machine tool control unit and the robot control unit, whereby the machine tool and the robot are simultaneously caused to start to be controlled.
The machining program distribution unit may comprise a waiting unit configured to wait until the completion of both the control by the machine tool control unit based on the statement transferred thereto and the control by the robot control unit based on the statement transferred thereto, whereby, after the end of the control of both the machine tool and the robot is awaited by the waiting unit, the next control is allowed to be performed.
According to the present invention, there can be provided a controller for controlling a machine tool and a robot, capable of determining cooperative operations of the machine tool and the robot based on a machining program only.
The above and other objects and features of the present invention will be apparent from the ensuing description of embodiments with reference to the accompanying drawings, in which:
A first embodiment of a controller according to the present invention will first be described with reference to
A controller 1 comprises a machining program input unit 10, machining program storage unit 20, machining program distribution unit 30, machine tool control unit 40, and robot control unit 50.
The machining program input unit 10 inputs machining programs 22, which include both statements for machine tool and statements for robot. The machining program storage unit 20 stores the machining programs 22 input from the machining program input unit 10. An operator selects an active machining program from the machining programs 22 stored in the machining program storage unit 20 and designates actual machining.
When the machining is designated by the operator, the machining program distribution unit 30 sequentially reads the content of the machining program assigned from the machining programs 22 stored in the machining program storage unit 20. If the read content is the statement for machine tool, it is transferred to the machine tool control unit 40. If the read content is the statement for robot, on the other hand, it is transferred to the robot control unit 50.
The machine tool control unit 40 to which the statement for machine tool is transferred controls a machine tool 100 according to the statement, while the robot control unit 50 to which the statement for robot is transferred controls a robot 200 according to the statement. Thus, both the machine tool 100 and the robot 200 can be controlled based on the machining programs 22 including both the statements for machine tool and statements for robot.
A modification of the first embodiment (
A controller 1 of
Alternatively, a storage medium in which an externally created machining programs 22 may be connected to the controller 1 so that the machining programs can be read and input without being input by the machining program input unit 10, or the machining programs 22 may be read through a network.
A second embodiment of the controller according to the present invention will now be described with reference to
A controller 1 shown in
A first example of a machining program executed by the controller of
If the statement for robot is described in the line next to the statement for machine tool, it is transferred to the robot control unit to instruct it the control of the robot after the control by the machine tool control unit is finished. If the statement for machine tool is described in the line next to the statement for robot, in contrast, it is transferred to the machine tool control unit to instruct it the control of the machine tool after the control by the robot control unit is finished.
Thus, if the target of the statement changes from the machine tool to the robot, as shown in the operation timing diagram of
A flow of processing for the controller of
A second example of the machining program executed by the controller of
The machining program distribution unit is configured to read the lines of the machining program one by one from top to bottom. When the machining program distribution unit reads the statement “SPECIFIED RANGE START”, it transfers the statement between the statements “SPECIFIED RANGE START” and “SPECIFIED RANGE END” to the machine tool control unit and the robot control unit. Thereafter, the machining program distribution unit simultaneously designates the start of control of the machine tool and that of the robot to the machine tool control unit and the robot control unit.
Thus, as shown in the operation timing diagram of
An operation based on a statement (“STATEMENT 4 FOR MACHINE TOOL” in the example of
A third example of the machining program executed by the controller of
In case where the statement “WAIT” directly follows the statement “SPECIFIED RANGE END”, after the end of one of operations based on statements for machine tool and statements for robot that are sandwiched between the statements “SPECIFIED RANGE START” and “SPECIFIED RANGE END”, whichever ends last, the subsequent statement is started.
A flow of processing for the controller of
The controller of
Number | Date | Country | Kind |
---|---|---|---|
2013-122637 | Jun 2013 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4348623 | Kobayashi et al. | Sep 1982 | A |
4590572 | Imanishi | May 1986 | A |
4887014 | Kato | Dec 1989 | A |
5198737 | Harima | Mar 1993 | A |
5444343 | Enomoto | Aug 1995 | A |
5798627 | Gilliland | Aug 1998 | A |
6442436 | Nogami | Aug 2002 | B1 |
6807461 | Kneifel, II | Oct 2004 | B2 |
7729804 | Matsumoto | Jun 2010 | B2 |
20060217841 | Matsumoto | Sep 2006 | A1 |
20110118874 | Tanabe | May 2011 | A1 |
20140316565 | Aoyama | Oct 2014 | A1 |
Number | Date | Country |
---|---|---|
56-11510 | Feb 1981 | JP |
H06134652 | May 1994 | JP |
H06149329 | May 1994 | JP |
10-83211 | Mar 1998 | JP |
2008-23587 | Feb 2008 | JP |
Entry |
---|
Decision to Grant a Patent mailed Apr. 28, 2015, corresponding to Japanese patent application No. 2013-122637. |
Office Action mailed Nov. 18, 2014, corresponding to Japanese patent application No. 2013-122637. |
Number | Date | Country | |
---|---|---|---|
20140364989 A1 | Dec 2014 | US |