This application is based on and claims the benefit of priority from Japanese Patent Application No. 2017-145406, filed on 27 Jul. 2017, the content of which is incorporated herein by reference.
The present invention relates to a robot controller and a production system.
Recently, in machining using a machine tool, in order to reduce a cycle time, an industrial robot has been used for a task of fitting and removing a work. The machine tool and the robot used in the machining are individually controlled by controllers. Here, a controller for a general machine tool such as a lathe or a machining center is referred to as a machine tool controller. In the case of a dedicated machine tool which is designed for a specific application, PLC (Programmable Logic Controller) software is executed in the machine tool controller.
The machine tool controller generally includes a display and an operator's panel for operating the machine tool. The display and the operator's panel are often fixedly installed in a forward position of the machine tool so that it is possible to visually check machining conditions. On the other hand, a controller for a robot is referred to as a robot controller. The robot controller includes a teach pendant which can be carried by a user and which is used for operating the robot.
Even in the case of each of the controllers for the machine tool and the robot, a target which is displayed and operated by the display and the operator's panel provided in the controller is generally limited to the machine tool or the robot which is controlled by the controller. In order to establish a system which is formed with the machine tool and the robot described above, it is necessary to make settings on the side of the robot including the production of a machining program for the machine tool. A setting task on the side of the robot necessary for the establishment of the system includes, for example, a setting for network connection, the assignment of signals and an operation of producing a robot operation program. Here, the task of producing the robot operation program includes the production of an operation sequence, the input of necessary numerical parameters and the teaching of a movement position. Although the setting task on the side of the robot needs to be performed on the teach pendant of the robot, the user of the machine tool is unfamiliar with the handing of the teach pendant in the robot and has difficulty in directly making settings by himself. For example, a connected system of a robot and a machine which makes it possible to operate the robot with a machine control unit is disclosed (for example, Patent Document 1).
Patent Document 1: Japanese Unexamined Patent Application, Publication No. 2001-154717
In the invention disclosed in Patent Document 1, it is assumed that in the control unit 12 of an injection molding machine 10 incorporating a robot 20, various types of programs for operating the robot 20 are stored, and an operation program for the robot is produced in the control unit 12 of the injection molding machine 10. Then, the operation program for the robot produced in the control unit 12 of the injection molding machine 10 is transmitted to the control unit 22 of the robot. As described above, it is difficult to apply the invention disclosed in Patent Document 1 to the conventional machine tool controller without being changed. By contrast, the applicant has filed an application of an invention for simplifying the production of an operation sequence and the input of necessary numerical parameters included in a task of producing a robot operation program (Japanese Patent Application No. 2017-098040). Hence, a robot controller and a production system are required in which functions included in the conventional machine tool controller and the conventional robot controller are used, and in which it is thus possible to simply perform the teaching of a movement position included in a task of producing a robot operation program.
In order to solve the problem described above, the present invention has an object to provide a robot controller and. a production system in which a setup program for storing a teaching position on the side of the robot controller and a robot operation program are previously incorporated such that on the side of a machine tool controller, an I/O function used for communication between the conventional machine tool controller and the robot controller is appropriated without being changed, and in which the setup program is started so as to make it possible to perform the teaching of the movement position of the robot.
(1) A robot controller (for example, a “robot controller 400” which will be described later) of the present invention which controls a robot (for example, a “robot 300” which will be described later) includes: external equipment (for example, a “numerical controller 100” which will be described later) which is connected so as to be able to perform communication; a signal reception unit (for example, a “signal reception unit 410” which will be described later) which receives a preset external signal from the external equipment; a program storage unit (for example, a “program storage unit 430” which will be described later) which. stores a setup program (for example, a “setup program 450” which will be described later) that is previously made to correspond to the external signal; and a program start unit (for example, a “program start unit 420” which will be described later) which starts the setup program that is previously made to correspond to the external signal when the program start unit receives the external signal from the external equipment through the signal reception unit, where, when the setup program is started, the current position of the robot is used as a teaching position to be stored in a position register previously set in the setup program.
(2) Preferably, the external equipment described in (1) includes: a display unit (for example, a “display 70” which will be described later); a teaching position display control unit (for example, a “teaching position. display control unit 110” which will be described later) which displays, on the display unit, only a teaching position that needs to be taught this time to the robot; a robot axis feed unit (for example, a “robot axis feed unit 120” which will be described later) which operates an axis of the robot; and a signal transmission unit (for example, a “signal transmission unit 140” which will be described later) which transmits, to the robot controller, the external signal that is previously made to correspond to the teaching position, where the teaching position display control unit displays, on the display unit, only a teaching position that needs to be subsequently taught to the robot when the signal transmission unit transmits the external signal to the robot controller.
(3) Preferably, in the robot controller (for example, a “robot controller 400” which will be described later) described in (2), the teaching position display control unit further displays the completion of position teaching on the display unit when the signal transmission unit transmits, to the robot controller, the external signal that is made to correspond to a final teaching position.
(4) Preferably, in the robot controller (for example, a “robot controller 400” which will be described later) described in any one of (1) to (3), the program storage unit further stores a robot operation program (for example, a “operation program 460” which will be described later) for moving the robot, the program start unit further starts the robot operation program and when the robot operation program is started, the position register in which the teaching position is stored is called by the setup program.
(5) Preferably, in the robot controller (for example, a “robot controller 400” which will be described later) described in any one of (1) to (4), the external equipment is a machine tool controller (for example, a “numerical controller 100” which will be described later).
(6) A production system (for example, a “production system 1000” which will be described later) of the present invention includes: a robot controller (for example, a “robot controller 400” which will be described later) which controls a robot (for example, a “robot 300” which will be described later); and a machine tool controller (for example, a “numerical controller 100” which will be described later) which is connected to the robot controller so as to control a machine tool that is used by being combined with the robot, where the machine tool controller includes: a display unit (for example, a “display 70” which will be described later); a teaching position. display control unit. (for example, a “teaching position display control unit 110” which will be described later) which displays, on the display unit, only a teaching position that needs to be taught this time to the robot; a robot axis feed unit (for example, a “robot axis feed unit 120” which will be described later) which operates an axis of the robot; and a signal transmission unit (for example, a “signal transmission unit 140” which will be described later) which transmits, to the robot controller, an external signal that is previously made to correspond to the teaching position, the teaching position display control unit displays, on the display unit, only a teaching position that needs to be subsequently taught to the robot when the signal transmission unit transmits the external signal to the robot controller, the robot controller includes: a signal reception unit (for example, a “signal reception. unit 410” which will be described. later) which receives the preset external signal from the machine tool controller; a program storage unit (for example, a “program storage unit 430” which will be described later) which stores a setup program (for example, a “setup program 450” which will be described later) that is previously made to correspond to the external signal; and a program. start unit (for example, a “program start unit 420” which will be described later) which starts the setup program that is previously made to correspond to the external signal when the program start unit receives the external signal from the machine tool controller through the signal reception unit, and when the setup program is started, the current position of the robot is used as a teaching position to be stored in a position register previously set in the setup program.
According to the present invention, it is possible to provide a robot controller and a production system in which a setup program for storing a teaching position on the side of the robot controller and a robot operation program are previously incorporated such that on the side of a machine tool controller, an I/O function used for communication between the conventional machine tool controller and the robot controller is appropriated without being changed, and in which the setup program is started so as to make it possible to perform the teaching of the movement position of a robot.
The configuration of a production system 1000 according to the present embodiment will be described.
The numerical controller 100 controls, according to parameters and programs which are set, servo motors and the like included in the machine tool 200.
A PMC (Programmable Machine Controller) 16 uses a sequence program incorporated in the numerical controller 100 so as to output a signal to an auxiliary device (for example, an automatic turret) of the machine tool through an I/O unit 17 and thereby perform control. The PMC 16 also receives the signals of various types of switches and the like in an operator's panel provided in the main body of the machine tool, performs necessary signal processing and. then feeds them to the CPU 11. The PMC 16 is also generally referred to as a PLC (Programmable Logic Controller). The operator's panel 71 is connected to the PMC 16. The operator's panel 71 may include a manual pulse generator and the like. The display 70 is a manual data input device which includes a display, a keyboard and the like. An interface 18 feeds display screen data to the display of the display 70, receives a command and data from the keyboard of the display 70 and feeds them to the CPU 11.
Axis control circuits 30 to 34 of individual axes receive movement command for the individual axes from the CPU 11, and output the commands for the individual axes to servo amplifiers 40 to 44. Servo amplifiers 40 to 44 receive the commands so as to drive servo motors 50 to 54 of the individual axes. Servo motors 50 to 54 of the individual axes incorporate position and speed detectors, feed back position and speed feedback signals from the position and speed detectors to the axis control circuits 30 to 34 and thereby perform feedback control on the positon and speed. In the block diagram shown in
A spindle control circuit 60 receives a spindle rotation command for the machine tool so as to output a spindle speed signal to a spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal so as to rotate the spindle motor 62 of the machine tool at the commanded rotation speed and thereby drive a tool. A pulse encoder 63 is coupled to the spindle motor 62 with a gear, a belt or the like, the pulse encoder 63 outputs a feedback pulse in synchronization with the rotation of the spindle and the feedback pulse is read by the CPU 11 through the bus 20.
Examples of the machine tool 200 include a lathe, a milling machine, an electrical discharge machine, a grinding machine, a machining center and a laser machining machine.
According to an operation command generated based on a robot operation program (hereinafter also simply referred to as an “operation program 460”) and the setting values of parameters set in the robot controller 400, for example, the robot 300 acquires an unmachined work placed in a work placement area, and the unmachined work is transported to a predetermined position in a delivery region on a work table of the machine tool 200. The robot 300 is, for example, a six-axis articulated robot. The drive axes of individual joint units and the drive axis of a hand unit 310 in the robot 300 are driven by a motor unit (unillustrated), and are controlled by the robot controller 400. As shown in
The robot controller 400 outputs, to the robot 300, the operational command generated based on the operation program 460 and the setting values of the parameters so as to make the robot 300 perform a predetermined operation. The general configuration of the robot controller 400 is substantially the same as that of the numerical controller 100 described with reference to
In the production system 1000 of the present embodiment, for example, in a workspace, while the numerical controller 100 which controls the machine tool 200 and the robot controller 400 which controls the robot 300 coordinate with each other, the hand 310 of the robot 300 (also referred in short as the “robot 300” unless otherwise specified) is moved to a predetermined position.
When the machine tool 200 and the robot 300 are made to coordinate with each other so as to perform machining processing, the positions to which the robot 300 is moved, that is, in the example described above, for example, the machine tool work exchange position A, the machined work placement. position B and the unmachined work taking position C are previously taught to the robot controller 400, and thus it is necessary to set, for the operation program, the movement path moving from the predetermined movement position to the subsequent movement position. In this way, the robot controller 400 uses the operation program 460 and thereby can control the robot 300 such that the robot 300 is moved to an appropriate position in the workspace. Although in the present embodiment, the teaching position is described based on the example discussed above, the teaching position of the robot 300 in the production system 1000 is not limited to this configuration.
It is necessary to previously teach, to the robot controller 400, the positions to which the robot 300 is moved, that is, in the example described above, for example, the machine tool work exchange position A, the machined work placement position B and the unmachined work taking position C. Hence, in the present invention, in order to previously store individual teaching positions, the robot controller 400 includes, in a program storage unit 420, a plurality of setup programs 450 corresponding to the individual teaching positions. For example, when N teaching positions are present, the robot controller 400 includes N setup programs 450 corresponding to the teaching positions. For example, when the teaching position is set to the teaching position (i) (1≤i≤N), the setup program 450 (i) (1≤i≤N) for the teaching position (i) is included. When the setup program 450 (i) corresponding to the teaching position. (i) is started by using, as a trigger, an external signal (i) which is made to correspond to the setup program 450 (i), the position of the robot 300 at the time of the start (specifically, the position of the hand 310 in the robot 300) is stored in a register (i) which is previously made to correspond to the individual teaching position (i).
The robot controller 400 executes the operation program 460 previously produced so as to operate the robot 300. The operation program 460 is produced by setting an operation sequence for providing the instruction of the movement of the robot 300, necessary numerical parameters in individual operations and the like (for example, a movement speed and the like in the movement path) and the teaching positions. In the present embodiment, it is assumed that except the setting of the teaching positions, the operation sequence and the necessary numerical parameters in individual operations and the like in the operation program 460 are previously produced.
Configurations which are included in the numerical controller 100 and the robot controller 400 in order to store the teaching positions in the setup programs 450 included in the robot 300 will be described next.
With reference back to
The teaching position display control unit 110 outputs, to the display of the display 70 serving as a display unit (hereinafter referred to as the “display”), a teaching position display screen 701 for displaying one teaching position which needs to be taught to the robot. 300. On the right side of
The robot axis feed unit 120 selects, on the display, the individual axes (from the J1 axis to the J6 axis) or the orthogonal axes (from the X axis to the Z axis) in the robot 300 and outputs the jog feed screen 702 for providing an instruction to move in a plus direction or a minus direction. On the left side of
As described previously, the signal transmission unit 140 transmits, in response to the pressing of the execution button 7012 displayed on the teaching position. display screen 701, the external signal generated by the teaching position display control unit 110 to the robot controller 400.
The robot controller 400 will be described next. As shown in
The signal reception unit 410 receives the external signal which is transmitted from the numerical controller 100 (the signal transmission unit 140) and which is used for starting the setup program 450 corresponding to a predetermined teaching position.
The program start unit 420 starts the setup program 450 by the macro start of the setup program 450 which is previously assigned to the external signal received in the signal reception unit 410 and which corresponds to the predetermined teaching position, and executes the setup program 450. As described previously, when the setup program 450 corresponding to the predetermined teaching position is started, the position of the robot 300 at the time of the start (specifically, the position of the hand 310 in the robot 300) is stored in the register which is previously made to correspond to the teaching position. In this way, the teaching position (the position data of the individual axes) is stored in the register which is made to correspond to the teaching position.
In the program storage unit 430, the setup programs 450 corresponding to the individual teaching positions and the operation program 460 of the robot 300 are previously stored. In the practice of the invention in the present application, for example, the setup programs 450 and the operation program 460 of the robot 300 can be prepared on the side of a manufacturer, the external signal can be previously assigned to the setup program 450 corresponding to the predetermined teaching position and thus the user can easily perform the position teaching of the robot. Then, when the start of the setup programs 450 corresponding to all the teaching positions is completed, the robot controller 400 can be made to execute the operation program 460.
The flow of processing when the positron teaching on the robot controller 400 is performed from the numerical controller 100 will next be described by use of a specific example. In the operation sequence of the system in this example, a coordinated task is repeated in which (1) the robot 300 is moved to the machine tool work exchange position A within the machine tool and is made to grasp the machined work whose machining is completed in the machine tool 200, (2) while the robot 300 is being made to grasp the machined work, the robot 300 is moved to the machined work placement position B on the conveyor and is made to place the machined work in the machined work placement position B, (3) the robot 300 is moved to the unmachined work taking position. C on the conveyor and is made to grasp the unmachined work, (4) while the robot 300 is being made to grasp the unmachined work, the robot 300 is moved to the machine tool work exchange positron A within the machine tool and is made to fit the unmachined work to the machine tool 200 and thereafter the numerical controller 100 controls the machine tool 200 so as to perform machining processing on the unmachined work, then again (1) the robot controller 400 moves the robot 300 to the machine tool work exchange position A within the machine tool and makes the robot 300 remove the machined work from the machine tool work exchange position A and (2) while the robot 300 is being made to grasp the machined work, the robot 300 is moved to the machined work placement positron B set on the conveyor 2 and is made to place the machined work in the machined work placement position B.
As shown in
When the robot controller 400 (the signal reception. unit 410) receives the external signal, the setup program 450A which is stored in the program storage unit 430 and which corresponds to the machine tool work exchange position A is started by the external signal. As shown in
Then, the numerical controller 100 (the teaching position display control unit 110) displays, as shown in
When the robot controller 400 (the signal reception unit 410) receives the external signal, the setup program 450B corresponding to the machined work placement position B on. the conveyor 2 is started. As shown in
Then, the numerical controller 100 (the teaching position display control unit 110) displays, as shown in
When the robot controller 400 (the signal reception unit 410) receives the external signal, the setup program 450C corresponding to the unmachined work taking position C on the conveyor 1 is started. by the external signal. As shown in
As described above, the setup program 450A, the setup program 450B and the setup program 450C are sequentially started by the external signal, and thus the position data of the machine tool work exchange position A is stored in the position register [21], then the position data of the machined work placement position B on the conveyor is stored in the position register [22] and then the unmachined work taking position C on the conveyor is stored in the position register [20].
The operation program 460 of the robot 300 which is executed after the position data is stored in each of the position registers [20] to [22] will be described next.
in the 9th line so as to perform again the operation in which (1) the robot 300 is moved to the machine tool work exchange position A within the machine tool and is made to grasp the machined work whose machining is completed in the machine tool 200. Here, the position register [21] in which the position data of the machine tool work exchange position A is stored is used. Thereafter, the operation program 460 performs such repeated processing, and completes a movement operation when the external signal (DI signal) is a cycle stop request as described in the 31st line.
As described above, the operation program 460 which is configured such that the operation sequence and the necessary numerical parameters in individual operations and the like are previously produced and that the position registers corresponding to the teaching positions are referenced so as to acquire the position data of the teaching positions and the setup program 450 which is started for each of the teaching positions so as to store the teaching position data (serving as the teaching position) in the position register corresponding to the teaching position are prepared, and thus it is possible to simply perform the teaching of the movement position included in the task of producing the robot operation program 460. As described above, in the production system 1000, it is possible to simply perform the teaching of the movement position included in the task of producing the operation program 460.
Furthermore, in the present embodiment, between the signal generated on the side of the machine tool (the numerical controller 100) and the side of the robot (the robot controller 400), for example, PLC software or a logic circuit is used so as to assign the signal, and thus the setup program 450 is started. In this way, without need to add a special configuration and a modification to the machine tool (the numerical controller 100) and the robot (the robot controller 400), with the existing configuration, it is possible to the present invention By utilization of the assignment of the signal with PLC software or a logic circuit which a person skilled in the art is used to handling, the person skilled in the art who is used to handing the machine tool (the numerical controller 100) can easily practice the present invention.
The programs such as the operation program 460 which are used in the present invention are stored using various types of non-transitory computer readable media and can be supplied to computers. The non-transitory computer readable media include various types of tangible storage media. Examples of the non-transitory computer readable medium include magnetic storage media (for example, a flexible disk, a magnetic tape and a hard disk drive), magneto-optical storage media (for example, a magneto-optical disk), a CD-ROM (Read Only Memory), a CD-R, a CD-R/W, semiconductor memories (for example, a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM and a RAM (random access memory)). The programs may be supplied to computers with various types of transitory computer readable media. Examples of the transitory computer readable medium include an electrical signal, an optical signal and an electromagnetic wave. The transitory computer readable media can supply the programs to computers through wired communication paths such as an electrical wire and an optical fiber or wireless communication paths.
Although the present embodiment is a preferred embodiment of the present invention, the scope of the present invention is not limited to only the embodiment described above, and the present invention can be practiced by providing various modifications without departing from the spirit of the present invention.
Although in the present embodiment, the numerical controller 100 generates the external signal to the robot controller 400, this is not limited to the numerical controller. For example, instead of the numerical controller 100, arbitrary external equipment such as a PC or a tablet machine can be used.
Although in the present embodiment, as the teaching positions, the machine tool work exchange position A, the machined work placement position B on the conveyor and. the unmachined work taking position C on the conveyor are illustrated, teaching positions are not limited to these positions. As described previously, an arbitrary number of teaching positions (N teaching positions) may be present. In this case, in order to correspond to the teaching positions, N different. setup programs, N different position registers and N different external signals are previously produced (prepared), and thus the operator can easily perform the position teaching as in the present embodiment.
Although in the present embodiment, as various types of operation buttons, for example, the touch buttons provided on the display are illustrated, buttons are not limited to these. As the operation buttons, for example, operation buttons on a keyboard may be applied.
Although in the present embodiment, the configuration is illustrated in which the interface of the jog feed screen is provided on the display unit of the external equipment (for example, the numerical controller 100) and in which the jog feed operation on the robot 300 is performed, there is no limitation to this configuration. As the teaching means for the position teaching on the robot 300, an arbitrary known means may be applied. For example, the robot 300 may be operated by a manual operation so as to have a desired positon posture for teaching. The jog feed operation may be performed based on a key operation on an operation key (jog movement key) provided on the teach pendant connected to the robot controller 400.
Although in the description or the present embodiment, the numerical controller 100 controls the one machine tool 200, there is no limitation to this configuration. The numerical controller 100 may control a plurality of machine tools 200. The robot controller 400 may also control a plurality of robots 300. Furthermore, a plurality of numerical controllers 100 and a plurality of robot controllers 400 may be connected to each other through a network.
Although in the present embodiment, the example is described where in the robot controller 400, for example, the one operation program 460 is stored, there is no limitation to this example. In the robot controller 400, a plurality of operation programs 460 may be stored. In this case, a group of setup programs corresponding to the operation. programs 460 are prepared, and thus it is possible to achieve the same effects as in the specific examples of the present embodiment.
Number | Date | Country | Kind |
---|---|---|---|
2017-145406 | Jul 2017 | JP | national |