Robot controller with teaching device with key for performing a series of instructions

Abstract: A robot controller has keys (30) for input/output control and an execution key (32) for permitting execution therefor. A key (30) can be allocated for a reservation sequence stored beforehand. When an operation program is taught for a robot, the reservation sequence allocated to the key (30) can be executed when the key (30) is pressed while the execution key (32) is pressed. Then, an operation program can be taught more correctly by controlling the robot, and a work time for teaching a sequence program is shortened. Execution of input/output operation due to unintentional or erroneous operation is prevented. Two input/output control sequences can be allocated to one key (30).

Description: BACKGROUND OF THE INVENTION FIELD OF THE INVENTION The present invention relates to a robot controller that deals with input/output signals for a hand, an external jig or the like of a robot. DESCRIPTION OF PRIOR ART An apparatus for teaching an operation program for a robot has a plurality of keys for operation, and each of the keys is used to control only one output. When a series of input/output control (input/output control sequence) is executed while an operation program for the robot is taught, a list of input/output control commands stored in the apparatus is displayed in a display device, and a control command is selected among them. Then, a key for instructing input/output control is pressed to execute the input/output control. That is, in the above-mentioned apparatus, a user has to perform a plurality of operations that (A) a list of input/output control commands to be stored is displayed, and that (B) an input/output control command is selected among them. Alternatively, if a plurality of keys for instructing input/output controls are provided in the apparatus, a user has to press a plurality of keys, to which outputs are allocated, in a predetermined procedure. Then, a user has to remember the contents of the input/output control allocated to each of the keys or has to make a note thereof. The content of the input/output control sequence to be executed is displayed in the display device. However, in order to decide whether all the sequence to be executed is completed or not, a user has to remember it or has to make a note thereof. Further, though the content of an operation program under teaching is displayed usually in the display device, it is not shown whether it is the input/output sequence to be executed by a user or the content of the program under teaching. In the introduction of a robot in a production line, it is a problem to shorten the teaching time. However, as the number of the input/output control commands for a robot becomes larger and the system becomes larger, a time needed for operation of the input/output control becomes much longer. Further, it takes a long time for recovery from an erroneous operation by a user Further, in the above robot controller, an input/output control is performed only by pressing one key. Therefore, an erroneous operation by a user is liable to start an unintentional operation. For example, for a robot for moving an article, it is liable to drop and damage an article. US 4,757,459 discloses an apparatus for teaching a cycle of operation to a computer operated robot arm. An operator teaches a macro by using two terminals, that is, a keyboard and a pendant. The keyboard can be used to input macro commands. The pendant has keys for inputting position and orientation information (coordinates). Further, the pendant may also be operated to teach a macro by a nine-keystroke sequence or to load a macro created at a teach station. That is, the keys are used to input programming abbreviations associated with the special operation keys. However, these keys are used only for inputting a command, a coordinate or a macro. US 5,274,750 discloses that in accordance with levels of skillfulness of operators, guidance of a robot teaching apparatus is automatically changed for facilitated use by beginners and skilled operators. The robot teaching is performed by an interactive procedure with the aid of a display of message for manipulation guidance and a menu for input selection. Based on various experience factors a key manipulation path is automatically determined. SUMMARY OF THE INVENTION An object of the invention is to provide a robot controller which can shorten the teaching time. Another object of the invention is to provide a robot controller which can prevent execution of input/output control due to an unintentional operation by a user. A further object of the invention is to provide a robot controller which can confirm a function of keys and the state of input/output control while an operation program of a robot is taught. In one aspect of the invention, a robot control apparatus comprises an input/output device which communicates input/output signals with a robot, a teaching device, for teaching an operation program, comprising a plurality of first keys each for instructing an input/output control performed through said input/output device and a second key for performing a series of input/output controls instructed by said plurality of first keys, and a controller which controls the robot through said input/output device according to the operation program for the robot. Thus, a series of input/output controls can be performed with one key operation. Preferably, the teaching device comprises a plurality of second keys and the robot controll apparatus further comprises an allocator which allocates the series of input/output controls to one of the second keys. Preferably, in the robot controll apparatus, the teaching device further comprises a third key which permits operation of the input/output device, and the controller performs the series of input/output controls only when the second key is pressed at the same time as the third key while the operation program is taught. Then, because a series of input/output controls is performed by pressing the two keys at the same time, execution of the input/output controls due to an unintentional or erroneous operation can be prevented. Preferably, in the robot controll apparatus, the teaching device further comprises a display device and a storage device storing a character array allocated to the second key. The display device displays the character array when only the second key is pressed while the operation program is taught. Then, the content of the comment on the input/output control sequence to be executed can be confirmed with the display device by only pressing a key. Preferably, in the robot controll apparatus, the teaching device further comprises a lighting device for the second key. The teaching device turns on the lighting device when the series of input/output controls allocated to the second key is completed after the second key is pressed by a user while the operation program is taught. Then, execution of the input/output control sequence can be decided uniquely by the lighting of a lighting device, and a burden by a user can be decreased. The robot controll apparatus further comprises a storage device which stores data on the input/output controls allocated to the second key or data of the character array, and a cell provided for backup of the data in the storage device while a control power supply of the robot controller is turned off. Preferably, the robot control apparatus comprises an allocator allocating one of the series of input/output controls to one of the second keys. Preferably, in the robot controll apparatus, the teaching device further comprises a third key which permits operation of the input/output device, and the controller performs the series of input/output controls only when one of the second keys is pressed at the same time as the third key while the operation program is taught. Preferably, in the robot controll apparatus, the teaching device further comprises a display device and a storage device storing a character array for each of the second keys, wherein the teaching device displays the character array for one of the second keys in the display device when only the one of the second keys is pressed while the operation program is taught. Preferably, in the robot controll apparatus, the teaching device further comprises a lighting device for each of the second keys. The teaching device turns on the lighting device for one of the second keys when one of the series of input/output controls for the one of the second keys is completed after the one of the second keys is pressed by a user while the operation program is taught. In a further aspect of the invention, in the robot controll apparatus, the teaching device further comprises a fourth key for allocating two series of input/output controls for the second key, and a lighting device for the second key. The controller executes a first series of the two series of input/output controls when the second key is pressed while the operation program for the robot is taught, and turns on the lighting device when the execution of the first series is completed. Further, it executes a second series of the two series when the second key is operated while the lighting device is lighted, and turns off the lighting device when the execution of the second series is completed. Then, it is possible to allocate two input/output control sequences for one key, and many input/output sequence can be dealt. Preferably, the robot controll apparatus further comprises a storage device which stores data on the two series of input/output controls, and a cell provided for backup of the data in the storage device while a control power supply of the robot controller is turned off. Then, it is not needed to perform teaching again each time the control power supply is turned on, and this is convenient for a user. An advantage of the present invention is that a series of input/output controls can be performed with one key operation. Another advantage of the present invention is that a work time for teaching an operation program for a robot can be shortened. BRIEF DESCRIPTION OF THE DRAWINGS These and other objects and features of the present invention will become clear from the following description taken in conjunction with the preferred embodiments thereof with reference to the accompanying drawings, and in which: Fig. 1 is a block diagram of a robot controller; Fig. 2 is a plan view of a teaching pendant; Fig. 3 is a flowchart of creating a reservation sequence; Fig. 4 is a flowchart of allocating a reservation sequence to a CTRL key; Fig. 5 is a flowchart of setting a comment to a CTRL key; Fig. 6 is a flowchart of storing a reservation sequence to a teaching point; and Fig. 7 is a diagram of an array of characters for CTRL1 key in a display device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to the drawings, wherein like reference characters designate like or corresponding parts throughout the several views, Fig. 1 is a block diagram of a robot controller 10 for controlling a robot 1. The robot controller 10 has a controller 11 including a central processing unit for controlling the robot controller 10. It further comprises an input/output (I/O) section 13 as an input/output control means, and a random access memory device (RAM) 12. The input/output section 13 receives data from or transmits data to at least a hand or the like or an external equipment such as a jig attached to the robot 1. A cell 15 is provided for backup of the data in the RAM 12. Further, the robot controller 10 is connected with a teaching pendant 20 through a communication controller 14 for communicating signals therewith. The teaching pendant 20 is used by a user for teaching an operation program to be performed by the robot 1. The teaching pendant 20 has a controller 21 including a central processing unit for controlling the teaching pendant 20. The teaching pendant 20 further includes a screen display device 22, a communication controller 23 for the communication with the main body of the robot controller 10, a memory device 24, and a key section 28 for input/output control for the robot 1. Keys in the key section 28 are arranged as a matrix of j lines and n columns. The controller 11 has a function for allocating functions to the keys through the controller 21 and the communication controller 23, 14. It also has a function for recognizing the state of each key in the key section 28 therethrough. Fig. 2 shows the teaching pendant 20. The key section 28 has keys 29 for instructing an input/output control, keys 30 of CTRL1 to CTRL9 (hereinafter referred to as CTRL keys) are provided for allocating and executing input/output control, and a key 32 is provided to permit the execution of the input/output control. They are represented as a whole as 28 in Fig. 1. When a program is taught, it becomes necessary sometimes or the program becomes more correct by controlling a tool such as a hand attached to a robot. The nine CTRL keys 30 can control input/outputs while a program is taught. A light emitting diode (LED) 31 is provided for each of the CTRL keys 30 in the teaching pendant 20. Further the controller 11 stores an input/output control sequence received through the teaching pendant 20 in the RAM 12. It also allocates the input/output control sequence stored in the RAM 12 to the CTRL keys 30 and stores the allocation in the RAM 12. An operation program can be taught more correctly by controlling the robot with the CTRL keys 30. Then, a work time for teaching a sequence program can be shortened. The controller 11 controls the robot controller 10. Some of the controls performed with the teaching pendant 20 operated by a user is explained below with reference to following flowcharts. Fig. 3 is a flowchart of creating a reservation sequence. When creation of reservation sequence is selected in the initial screen in the screen display 22, the number of reservation sequence is set by a user (step S10). Next, a reservation sequence is created and registered for the number (step S12). A sequence consisting of sequence commands is created by a known procedure with the teaching pendant 20, and the procedure is not explained here. Fig. 4 is a flowchart of allocating a reservation sequence to a CTRL key. When allocation of a reservation sequence to a CTRL key 30 is selected in the initial screen in the screen display 22, a desired number of the CTRL key 30 is selected (step S20). Next, allocation of a reservation sequence to the CTRL key 30 is selected (step S22). An individual input/output control known already can also be allocated at this step alternatively, but this is not explained here. Next, a desired reservation sequence stored in the RAM 12 is allocated to the CTRL key (step S24). Fig. 5 is a flowchart of setting a comment to a CTRL key wherein a comment can be set to a CTRL key. When setting of a comment to a CTRL key 30 is selected in the initial screen in the screen display 22, the number of a desired CTRL key 30 is selected (step S30). Next, a comment consisting of an array of characters for the CTRL key 30 is inputted by selecting characters displayed in the screen display, and it is stored the comment in the RAM 12 (step S32). Fig. 6 is a flowchart of storing a reservation sequence at a teaching point. When storing a reservation sequence to a teaching point is selected in the initial screen in the screen display 22, a desired teaching point is selected (step S40). Next, a desired reservation sequence number for the teaching point is inputted (step S42). Thus, the reservation sequence at the teaching point is stored in the RAM 12. A user can execute input/output controls as will be explained below. The user operates the teaching pendant 20 beforehand to create an input/output control sequence or a reservation sequence and to store it in the RAM 12. The user allocates the input/output control sequence stored in the RAM 12 to a CTRL key 30. While a user teaches an operation program, the user presses one of the CTRL keys 30. The controller 11 is notified of the CTRL key30 through communication from the teaching pendant 20, sets an input/output control sequence to be executed for the CTRL key 30 according to the allocation information of the CTRL keys 30 and the input/output control stored in the RAM 12, and controls the signal input/output section 13 according to the content of the selected input/output control sequence. As will be understood from the above-mentioned explanation, a user can perform a series of input/output controls by operating one key. As explained above, as shown in Fig. 2, the key 32 is provided in the teaching pendant 20 for permitting execution of input/output controls. The controller 10 shown in Fig. 1 recognizes the state of the execution key 32 through the communication controllers 14 and 23 and the controller 21. A user can hold the teaching pendant 20 with two hands. The execution key 32 can be pressed with a thumb of the left hand, while one of the CTRL keys 30 can be pressed with a thumb of the right hand. In the teaching of an operation program, when the user presses the execution key 32, the controller 11 receives a notification thereof from the teaching pendant 20. Similarly, when the user releases the execution key 32, the controller 11 receives a notification thereof. Then, the controller 11 can decide whether the execution key 32 is pressed or not. Further, when one of the CTRL keys 30 is pressed, the controller 11 decides a status of the execution key 32, selects an input/output control sequence to be executed according to the allocation information of the CTRL keys 30 and the input/output control stored in the RAM 12, and controls the signal input/output section 13 actually according to the content of the selected input/output control sequence. Then, the input/output control sequence can be performed by pressing one of the CTRL keys 30 while pressing the execution key 32. However, if two or more of the CTRL keys 30 are pressed at the same time, the key operation is neglected, and the control is not executed. Further, when the user presses a CTRL key 30 unintentionally, or when the execution key 32 is pressed after one of the CTRL keys 30 is pressed, the input/output control is not performed. Therefore, input/output controls are not performed, for example, when one of the CTRL keys 30 is pressed erroneously in order to operate a key other than the CTRL keys 30 or when the user presses one of the CTRL keys 30 unconsciously. As explained above, an input/output control sequence is performed by pressing two keys at the same time. Then, execution of input/output control due to an unintentional or erroneous operation can be prevented. Thus, the operation is safe. By operating the teaching pendant 20, the controller 11 stores a comment, consisting of a character array to be displayed with the display device 22 in the RAM 12 and allocates the characters array for each of the CTRL keys 30 (Fig. 5). The allocation is also stored in the RAM 12. Further, the controller 11 decides the state of the execution key 32 when one of the CTRL keys 30 is pressed, while an operation program is taught, and selects a corresponding character array according to the allocation information on the CTRL keys 30 and the character arrays stored in the RAM 12 only when the execution key is not pressed and displays it in the screen display device 22. Fig. 7 shows an example of a screen of the display device 22 when only the CTRL1 key 30 is pressed in the above state. In this example, it is observed that operation of "Open Hand1" is allocated to CTRL1 key. As explained above, the content of execution can be confirmed only by pressing one of the CTRL keys 30 while the operation program is taught, by storing the character arrays suitable for the content of the input/output control sequence allocated to the CTRL keys 30 beforehand for each of the CTRL keys 30 by the user. Therefore, after the content to be executed is confirmed, the input/output control can be performed by pressing the execution key 32 and the corresponding CTRL key 30. Then, the user can confirm simply the content to be executed for each of the CTRL keys 30 and can execute the input/output control readily after confirmation. An erroneous operation can be prevented to be started. As shown in Fig. 2, a light emitting diodes (LED) 31 of the light emitting diode device 25 is allocated to a CTRL key 30 in the teaching pendant 20. Further, the controller 11 turns on or off the LED 31 through the communication controllers 14, 23 and the controller 21. After the controller 21 sets data through data buses LED1, LED2, ..., LEDm connected through a bus (not shown) in a latch circuit 26, it sets write signal WR (negative logic signal) to a low level as a one shot signal to turn on or off the corresponding LED 31. Further, the controller 11 turns on the corresponding LED 31 when the execution of the input/output control sequence stored in the RAM 12 is completed. As explained above, by observing the lighting of the LED 31, a user can decide uniquely whether the execution of the input/output control sequence is completed or not, when a CTRL key 30 (and the execution key 32) are operated for the execution of the input/output control sequence. Previously, the user remembers the content of the input/output sequence, confirms the input/output state and estimates the completion of the processing. However, no such incorrect estimation by a user is needed. Then, a burden by a user is decreased. In a modified embodiment of the invention, the controller 11 allocates first and second input/output control sequences stored in the RAM 12 beforehand for each of the CTRL keys 30 and stores the allocation in the RAM 12. Further, it also stores the states of turning on or off of the LEDs 31 in the RAM 12. In the flow shown in Fig. 4, a reservation sequence is allocated to a CTRL key. In this embodiment, when a reservation sequence stored in the RAM 12 is allocated to the CTRL key, it is also specified whether the reservation sequence is executed when the LED for the CTRL key is turned on or off. The sequence for the LED turned off is performed first. When the input/output sequence allocated to the CTRL keys is executed, the controller 11 executes the input/output control sequence allocated first if the LED 31 for the CTRL key 30 is decided to be turned off according to the state of LED stored in the RAM 12. Next, it executes the input/output control sequence allocated second if the LED is decided to be turned on according to the state of LED stored in the RAM 12. Further, it reverses the state of turning on/off of the corresponding LED 31 and stores it to the RAM 12 when the execution of the input/output control is decided to be completed. As explained above, if there are included an input/output control sequence for opening a hand attached at the top of a robot and another one for closing the hand, the user can allocate the two input/output control sequence for a CTRL key 30. Then, while the operation program is taught, the hand can be opened and closed with one CTRL key. That is, one CTRL key 30 is correlated to the operation of the hand. In this example, the turning on of the LED 31 in correspondence to the CTRL key 30 is correlated to the opening of the hand, and turning off thereof is correlated to the closing of the hand. In other words, it is possible to allocate a group of two input/output control sequences for one key for instructing input/output controls. Then, many input/output sequences can be dealt. Then, if a plurality of end effectors can be mounted to one robot by using a tool changer or the like and if the control sequence is different for each end effector, the resources (number) of the CTRL keys can be used effectively. As shown in Fig. 1, the cell 15 is provided for backup of the data in the RAM 12. Then, all data stored in the RAM 12 can be held even when the power supply for the robot controller 10 is turned off. Then, it is not needed to perform teaching again each time the control power supply is turned on, and this is convenient. Although the present invention has been fully described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications are apparent to those skilled in the art.

Claims: A robot control apparatus comprising: an input/output device (13) which communicates input/output signals with a robot (1); a teaching device (20), for teaching an operation program, comprising a plurality of first keys (29) each for instructing an input/output control performed through said input/output device (13) and a second key (30) for performing a series of input/output controls instructed by said plurality of first keys (29); and a controller (10) which controls the robot (1) through said input/output device (13) according to the operation program for the robot (1). The robot control apparatus according to claim 1, wherein said teaching device (20) comprises a plurality of second keys (30); and said robot control apparatus further comprising an allocator (11) which allocates the series of input/output controls to one of said second keys (30). The robot control apparatus according to claim 1, wherein said teaching device (20) further comprises a third key (32) which permits operation of said input/output device (13), and said controller (10) performs the series of input/output controls only when said second key (30) is pressed at the same time as said third key (32) while the operation program is taught. The robot control apparatus according to claim 1, said teaching device (20) further comprising a display device (22) and a storage device (24) storing a character array allocated to the second key (30), wherein said display device (22) displays the character array when only the second key (30) is pressed while the operation program is taught. The robot control apparatus according to claim 1, said teaching device (20) further comprising a lighting device (31) for the second key (30), wherein said teaching device (20) turns on said lighting device (31) when the series of input/output controls allocated to the second key (30) is completed after said second key (30) is pressed by a user while the operation program is taught. The robot control apparatus according to claim 1, further comprising a storage device (12) which stores data on the input/output controls allocated to the second key (30) and a cell (15) provided for backup of the data in said storage device (12) while a control power supply of said robot controller is turned off. The robot control apparatus according to claim 4, further comprising a storage device (12) which stores data of the character array, and a cell (15) provided for backup of the data in said storage device (12) while a control power supply of said robot controller is turned off. The robot control apparatus according to claim 2, wherein said allocator (11) allocates one of a plurality of the series of input/output controls to one of said second keys (30). The robot control apparatus according to claim 2, wherein said teaching device (20) further comprises a third key (32) which permits operation of said input/output device (13), and said controller (10) performs the series of input/output controls only when one of said second keys (30) is pressed at the same time as said third key (32) while the operation program is taught. The robot control apparatus according to claim 2, said teaching device (20) further comprising a display device (22) and a storage device (24) storing a character array for each of the second keys (30), wherein said teaching device (20) displays the character array for one of the second keys (30) in said display device (22) when only the one of the second keys (30) is pressed while the operation program is taught. The robot control apparatus according to claim 2, said teaching device (20) further comprising a lighting device (31) for each of the second keys (30), wherein said teaching device (20) turns on said lighting device (31) for one of said second keys (30) when one of the series of input/output controls for the one of the second keys (30) is completed after said one of said second keys (30) is pressed by a user while the operation program is taught. The robot control apparatus according to claim 1, said teaching device (20) further comprising a fourth key for allocating two series of input/output controls for said second key (30), and a lighting device (31) for the second key (30), wherein said controller (10) executes a first series of the two series of input/output controls when the second key (30) is pressed while the operation program for the robot (1) is taught, and turns on the lighting device (31) when the execution of the first series is completed, and executes a second series of the two series when said second key (30) is operated while the lighting device (31) is lighted, and turns off the lighting device (31) when the execution of the second series is completed. The robot control apparatus according to claim 12, further comprising a storage device (12) which stores data on the two series of input/output controls, and a cell (15) provided for backup of the data in said storage device (12) while a control power supply of said robot control apparatus is turned off.

Inventors: NAKAJIMA HIROSHI, SHIMOGAMA SHIGERU, NAKAJIMA, HIROSHI, SHIMOGAMA, SHIGERU
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1999
Main classification: G05B19
IPC codes: B25J13, G05B19, B25J9