Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AN INDUSTRIAL ROBOT SYSTEM
Document Type and Number:
WIPO Patent Application WO/2009/097895
Kind Code:
A1
Abstract:
The present invention relates to an industrial robot system comprising a plurality of robots, a plurality of robot controllers for controlling the robots, a handheld teach pendant unit (7) for teaching and programming the robots, and a communication link arranged for transmitting and receiving information between the teach pendant unit and the robot controllers. The robot system comprises login means (26) for login the teach pendant unit to one of the controllers, thereby allowing the teach pendant unit access to control programs on the controller, the teach pendant unit comprises a display means (12) for displaying control programs retrieved from the controller. The login means is configured to allow the teach pendant unit to simultaneously be logged on to two or more of the controllers, thereby allowing the teach pendant unit simultaneous access to control programs on two or more controllers, and said display means is configured to simultaneously display control programs from at least two controllers.

Inventors:
NYLEN OLOV (SE)
SVENSSON KJELL I (SE)
SJOEBERG RALPH (SE)
Application Number:
PCT/EP2008/051404
Publication Date:
August 13, 2009
Filing Date:
February 05, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ABB TECHNOLOGY AB (SE)
NYLEN OLOV (SE)
SVENSSON KJELL I (SE)
SJOEBERG RALPH (SE)
International Classes:
B25J9/16; G05B19/408; G05B19/409
Domestic Patent References:
WO2001071878A12001-09-27
WO2006096695A22006-09-14
Foreign References:
EP1716983A12006-11-02
EP1462895A12004-09-29
JP2005122584A2005-05-12
US20080009969A12008-01-10
EP1820611A12007-08-22
EP1815951A12007-08-08
Attorney, Agent or Firm:
Ann-Mari Reyier (Box 128, Västerås, SE)
Download PDF:
Claims:
CLAIMS

1 . An industrial robot system comprising a plurality of robots, a plurality of robot controllers (1 -4) for controlling the robots, a handheld teach pendant unit (7) for teaching and programming the robots, and a communication link arranged for transmitting and receiving information between the teach pendant unit and the robot controllers, the robot system comprises login means (26) for login the teach pendant unit to one of the controllers, thereby allowing the teach pendant unit access to control programs on the controller, the teach pendant unit comprises a display means (12) for displaying control programs retrieved from the controller, characterized in that said login means is configured to allow the teach pendant unit to simultaneously be logged on to two or more of the controllers, thereby allowing the teach pendant unit simultaneous access to control programs on two or more controllers, and said display means is configured to simultaneously display control programs from at least two controllers.

2. The industrial robot system according to claim 1 , wherein the handheld teach pendant unit (7) comprises safety equipment (15, 16), and said login means is configured to: upon request login the teach pendant unit to a controller as a local client, thereby allowing the teach pendant unit access to control programs on the controller, upon request login the teach pendant unit to a controller as a remote client, thereby allowing the teach pendant unit access to control programs on the controller, activate the safety equipment of the teach pendant unit upon login as a local client, thereby allowing the teach pendant unit manual control of the movement of the robot controlled by the controller, and not activate the safety equipment of the teach pendant unit upon login as a remote client to the controller, thereby no allow- ing the teach pendant unit manual control of the movement of the robot controlled by the controller.

3. The industrial robot system according to claim 1 or 2, wherein the system comprises a difference engine (28) configured to compare control programs from two or more controllers, and said display means is configured to display the difference between the control programs.

4. The industrial robot system according to any of the previous claims, wherein the system comprises an editor that allows a user to move, or copy and paste control programs or parts of a control program from one controller to another controller by means of the teach pendant unit.

5. The industrial robot system according to claim 4, wherein the system is configured to allows a user to copy a control programs from one controller and install the control program on another controller by means of the teach pendant unit.

6. The industrial robot system according to any of the previous claims, wherein said login means is configured to allow the teach pendant unit simultaneous access to configuration data and I/O status on two or more controllers, and said display means is configured to simultaneously display configuration data and I/O status from at least two controllers.

7. The industrial robot system according to any of the previous claims, wherein the system is configured to update the control programs and other data from the controller displayed on the display unit upon change of the control programs and other data on the controller.

8. The industrial robot system according to any of the previous claims, wherein the system comprises a network and the controllers and the teach pendant unit are connected to the net- work.

9. The industrial robot system according to claim 8, wherein the TPU is wirelessly connected to the network.

10. The industrial robot system according to any of the previous claims, wherein the teach pendant unit is configured to discovery which controllers are connected to the robot system, and to display the discovered controllers on the display means as options for the user to select to log in to.

Description:

AN INDUSTRIAL ROBOT SYSTEM

FIELD OF THE INVENTION AND PRIOR ART

The present invention relates to a an industrial robot system comprising a plurality of robots, a plurality of robot controllers for controlling the robots, a handheld teach pendant unit for teaching and programming the robots, and a communication link arranged for transmitting and receiving information between the teach pendant unit and the robot controllers. The robot system comprises login means for logging the teach pendant unit to one of the controllers, thereby allowing the teach pendant unit access to control programs on the controller, and the teach pendant unit comprises a display means for displaying control programs retrieved from the controller.

An industrial robot is programmed to carry out work along an operating path. In order to program or teach the robot the work, the robot is manipulated to positions along the desired operating path. These positions are stored as instructions in a control pro- gram in a memory in the robot controller. During operation of the robot, the control program is executed, thereby making the robot operate as desired.

The person controlling a robot is denoted an operator. In the fol- lowing the words user and operator are used synonymously. An industrial robot can be operated in different operation modes. For example, when the robot is put in manual operation mode, the robot is controlled be means of a handheld operator control device, generally denoted a Teach Pendant Unit, hereafter de- noted a TPU. The TPU is used for manually controlling the robot, for example, to teach or program the robot to follow an op-

erating path. The TPU may also be used for monitoring the robot program, changing certain variables in the program, starting, stopping and editing the program. When the robot is put in automatic mode, a stationary robot controller controls the robot.

A TPU normally comprises operator control means, for example a joystick, a ball, a set of buttons or any combination thereof, a visual display unit, and safety equipment such as an enabling device and an emergency stop button or a stop button. Nor- mally, the enabling device is a switch or a push button, which has to be pressed by the operator to enable control of the robot by the TPU. The enabling device affects the current to the motors of the robot. When the enabling device is released it is not possible to operate the robot by means of the TPU. For safety reasons the TPU normally is provided with either an emergency stop button, which makes it possible for the operator to unconditionally stop the robot at any time by pushing the button, or a stop button, which makes it possible for the operator to conditionally stop the robot.

In order to facilitate the automation of complex series of actions under safe conditions, a plurality of robots can be placed together into a robot cell. Due to the considerable risk for twisting the cables, it is particularly advantageous to use a wireless TPU when there are several robots arranged near each other in a robot line. One advantage with a wireless connection between the robot and the TPU is the possibility of using the same TPU for several robots. Then, the TPU does not belong to a certain robot, and can be used together with any of the robots in the robot cell.

The first thing to be done, when a wireless TPU is to be used for controlling a robot is to establish a communication link between the robot controller and the TPU. Generally, if there is more than one robot in a robot cell they are connected to each other via a common network so that the robots can communicate with each

other. Then, to establish a communication link between the robot and the TPU, the TPU must be connected to the common network. If the TPU is not wireless, then it is typically connected directly to one of the robots in the cell but may also be physi- cally connected to the network.

To avoid accidents and unintended emergency stops of the robot, the enabling device and the safety button should be out of function as long as the wireless TPU is not coupled to any spe- cific robot. When the TPU has been connected to the network and communication has been established between the TPU and the robot controllers, the operator may select one of the robots for manual control by the TPU. To be able to control a specific robot with the TPU, the TPU has to be coupled to the robot. To couple the TPU to the robot includes connect the TPU to the safety system of the robot, and login the operator to the controller of the robot. To connect the TPU to the safety system of the robot includes activating the enabling function of the robot, which means to put the enabling device of the TPU into function for the selected robot. Thus, when the enabling function is activated, the enabling device of the TPU functions and it is possible to move the selected robot, for example by means of the joystick, when the enabling button of the TPU is pressed.

When the operator has decided to couple the TPU to a certain controller, the TPU has to be logged in to the controller. The login procedure includes feeding information about the authorization of the operator (identity and safety code) to the system. The controller performs an authorization check based on the au- thorization information, and if the operator is authorized the TPU is logged in to the controller of the robot. When the operator desires to control one of the other robots, for safety reasons he first has to logout from the controller of the first robot by sending a logout order from the TPU to the controller, and then to login to the controller of the next robot to be controlled by the TPU.

WO2006/04955 disclosed a method for automatic login and logout of a wireless TPU to a robot controller depending on the position of the TPU in relation to the robot. The TPU is automati- cally logged in to the controller when the TPU enters an area defined in the vicinity of the robot and automatically logged out from the controller when the TPU leaves the area.

Thus, according to the prior art it is only possible to log in a TPU to one controller at a time and access data and programs stored in the controller.

In a factory there are many robots and many different teach pendant units. Robots and controllers can be placed on different side of a robot line, or placed in inaccessible locations, for example, several meters up on a shelf. The problem facing a development engineer is the fact that in a large robot line, the robots often are to be configured and programmed similarly. Thus, much of the information in each robot should be the same. However, what happens over time is that somebody makes a change to one robot without making the identical change to another robot. Thus, the robot programs and the configuration of the robots will differ, which may lead to trouble in the production. Today, it is time consuming to find out which program has been amended, and to install the correct program to the controller. For example, the operator has to store the program on a floppy or a memory stick in order to move the program from one robot to another robot and alternatively collect all the programs and data and compare them on a PC.

EP1 752 848 discloses an industrial robot system comprising a plurality of robots, a plurality of robot controllers for controlling the robots, a teaching operation panel for teaching and programming the robots. The controllers are connected to a com- mon network for transmitting and receiving information between the controllers. At least one of the controllers is provided with

communication means or sending a query concerning the status of the network to each robot controller and for receiving a response from each robot controller. The teaching operation panel of a robot controller displays the statuses of the other robots.

OBJECTS AND SUMMARY OF THE INVENTION

An object with the present invention is to facilitate for an operator to detect changes between control programs installed on dif- ferent controllers in a production line while using a single TPU, thus saving time and effort in making, adjusting, and configuring the plurality of robot controllers.

This object is achieved by an industrial robot system according to claim 1 .

Such a system is characterized in that the login means is configured to allow the teach pendant unit to simultaneously be logged on to two or more of the controllers, thereby allowing the teach pendant unit simultaneous access to control programs on two or more controllers, and said display means is configured to simultaneously display control programs from at least two controllers.

According to the invention, the teach pendant unit is configured such that a user is allowed to access control programs stored on each of the controllers from the teach pendant unit, and to simultaneously display control programs stored on different controllers on the teach pendant unit. This makes it possible for the user to compare the programs and detect differences between the programs. For example, the programs can be displayed in two different window on the display device of the teach pendant unit. The windows can be displayed neighboring each other, or wholly or partly overlapping each other. Which one of the over- lapping windows to be shown at the moment is decided by the user. The user is allowed to switch between the windows dis-

played. Thus, the term simultaneously also covers displaying the control programs in overlapping windows, and switching between displaying control programs from different controllers

When the person comes to fix the problem, the invention provides a quick way of comparing programs and data from one robot to another.

According to an embodiment of the invention, the login means is configured to allow the teach pendant unit simultaneous access to configuration data and I/O status on two or more controllers, and the display means is configured to simultaneously display configuration data and I/O status from at least two controllers. It is also advantageous for the operator to be able to compare configuration data and I/O status from two controllers in a quick way in order to detect differences between the controllers and to correct the differences.

According to an embodiment of the invention, the handheld teach pendant unit comprises safety equipment, and said login means is configured to: upon request login the teach pendant unit to a controller as a local client, thereby allowing the teach pendant unit access to control programs on the controller, upon request login the teach pendant unit to a controller as a remote client, thereby allowing the teach pendant unit access to control programs on the controller, activate the safety equipment of the teach pendant unit upon login as a local client, thereby allowing the teach pendant unit manual control of the movement of the robot controlled by the controller, and not activate the safety equipment of the teach pendant unit upon login as a remote client to the controller, thereby no allowing the teach pendant unit manual control of the movement of the robot controlled by the controller. Local client has unlimited access to configuration and I/O signals. A remote client has read-only access to configura- tion parameters and limited ability to change I/O unless in Manual mode.

This embodiment of the invention provides two possibilities for the teach pendant unit to login to a controller; as a local client and as a remote client. If the teach pendant is logged in as a local client, the safety equipment of the teach pendant unit is activated and it is possible to manually control the robot connected to the controller by means of the teach pendant unit. If the teach pendant is logged in as a local client, the safety equipment of the teach pendant unit is not activated and thus it is only possible to access data and control programs on the controller, not to manually control the robot connected to the controller by the teach pendant unit. Independent on whether the teach pendant unit is logged in as a local or as a remote client, it is possible to access data and control programs on the con- troller. It is only possible to log in as a local client on one controller at a time, but it is no limitations on the number of controller the teach pendant unit can be simultaneously logged on to as a remote client. However, it is not possible to log in as both a local and remote client to one controller. This embodiment makes it possible to simultaneously access data and control programs by means of the TPU on two and more controllers. This embodiment makes it possible to access data and control programs on a controller, which is not coupled to the same safety chain as the teach pendant unit.

According to an embodiment of the invention, the system comprises a difference engine configured to compare control programs from two or more controllers, and said display means is configured to display the difference between the control pro- grams. This embodiment enables a quick comparison of data and control programs from two or more controllers. Suitably, the difference engine is further configured to compare configuration data and I/O status from two controllers. This embodiment, makes it possible for a user, from one robot's teach pendant unit, access programs, configuration, and I/O status of another robot and compare with the programs, configuration, and I/O

status of the own robot. With own robot is meant the robot of the controller to which the teach pendant unit is locally connected, i. e. the robot which can be manually controlled by the teach pendant unit.

According to an embodiment of the invention, the system comprises an editor that allows a user to move, or copy and paste control programs or parts of a control program from one controller to another controller by means of the teach pendant unit. This embodiment allows a user to access as well as to modify information and data, such as control programs, configuration data, of any robot controller, which can be reached by the teach pendant unit.

According to an embodiment of the invention, the system is configured to allows a user to copy a control programs from one controller and install the control program on another controller by means of the teach pendant unit. The TPU is configures such that it is possible for the user to copy a program from one of the controllers to another of the controllers and to install the copied program on the other controller.

According to an embodiment of the invention, the system is configured to update the control program and other data from the controller displayed on the display unit upon change of the control program and other data on the controller. Thus, the data displayed is real-time data.

Similarly during commissioning, the same problem as mentioned above exists, one robot in the line is working fine, but the other's haven't been programmed or loaded yet. Then, it is very advantageous to be able to take the program from one robot and install it on the second robot without having to manually go with a floppy or memory stick. In an embodiment of the invention, the user simply points out a robot controller from the teach pendant unit and then accesses the program and other data and copy-

ing/installing it on the current robot controller, i.e. the local client controller.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be explained more closely by the description of different embodiments of the invention and with reference to the appended figures.

Fig. 1 shows an industrial robot system according to an embodiment of the invention.

Fig. 2 shows an example of a TPU.

Fig. 3 shows an example of a view on the display unit of the teach pendant unit.

Fig. 4 shows another example of a view on the display unit of the teach pendant unit.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

Figure 1 shows an industrial robot system comprising a plurality of (four in this embodiment) robot controllers 1 -4, for controlling a plurality of robots. Each controller is configured to control at least one robot. The robot system further comprises a network 5. All of the robot controllers are connected to the network. The robot system further comprises a hand-held teach pendant unit 6 for teaching and programming the robots. In this embodiment, the teach pendant unit 6 is adapted to communicate wirelessly with the network 5. Alternatively, the teach pendant unit communicates with the robot controllers 1 -4 through wires. The network 5 comprises an access point 10 configured to communicate wirelessly with the teach pendant unit 6. When the teach pendant unit is connected to the access point 10 information can be

transmitted and received to and from the network 5. It is advantageous to use a network in a robot system according to the invention, but it is not necessary.

In an alternative embodiment, the robots are not connected in a network, but in a ring or star, each robot connects to only one other robot, or to a central robot. In this embodiment the only addition is that there is a communications module in each robot that forwards communications so that the TPU can still access data from the other robots.

The teach pendant unit 6 comprises a portable box 7 including a display screen 12, function keys 13, a joystick 14, an emergency stop device 15, and an enabling device 16. The enabling device 16 and emergency stop device 15 are parts of the safety equipment of the teach pendant unit. The teach pendant unit also includes an antenna 8 for wireless communication with the network 5. The joystick 12 is used for controlling the movement of a robot when it is manually operated. The enabling device 16 comprises a button, which has to be pressed down by the operator to enable to manual control of a robot by the teach pendant unit. The emergency stop button causes an emergency stop of the robot upon activation. The enabling device and the emergency stop device are parts of the safety equipment of the teach pendant unit.

The teach pendant unit includes login means, for example in the form of a software module, configured to allow the teach pendant unit to login to any of the controllers 1 -4. The login means is configured to allow the teach pendant to simultaneously be logged on to two or more of the controllers, thereby allowing the teach pendant unit simultaneous access to control programs on two or more of the controllers connected to the network. The teach pendant unit further comprises a display means 24, in the form of a software module configured to display control programs retrieved from the controllers on the display device 12.

The display means is configured to simultaneously display control programs from at least two controllers. For example, the control programs are displayed in two different windows on the display device.

The teach pendant unit and the controllers are configured to provide a user two possibilities to login to the controllers. One possibility is to login as a local client. The user decides which type of login to be used for a certain controller. If a user has or- dered a local login to a controller, the following steps are carried out:

a) The teach pendant unit must be connected to the network 5 in order to be able to communicate with the controllers. If the teach pendant unit is not already connected to the network, a connection has to be made.

b) When a connection has been established, the login procedure starts. An authorization check is performed based on authorization information fed by the operator (identity and preferably a safety code) and information about authorized user, for example stored in the teach pendant unit. If the authorization check is OK, the controller is informed about that the teach pendant unit has been logged in to the con- troller.

c) A check of the safety equipment of the teach pendant unit is carried out. If the safety equipment is OK, the teach pendant unit is connected to the safety system of the robot controller. To connect the teach pendant unit to the safety system of the robot includes activating the safety equipment of the teach pendant unit, such as the enabling device and the emergency stop device, which means to put the enabling device and emergency stop function of the teach pendant unit into function for a selected controller.

It is only possible to select one of the controllers as a local client due to safety aspects. When the safety equipment has been activated, it is possible to manually move the robot connected to the selected controller by means of the joystick 14.

The second possibility to login to the controllers is to login as a remote client. The login procedure to login as a remote client is carried out according to step a and b described above. The third step is not valid for the remote login. It is possible to login as a remote client to all of the controllers connected to the network 5. In the example shown in figure 1 , the teach pendant unit is logged in as a local client to controller 1 , and as a remote client to controllers 2 and 3. The login means is also configured to log out the teach pendant unit from the controller upon a logout re- quest from the user.

Figure 2 shows a detail constitution of the teach pendant unit 6 as shown in figure 1 . The teach pendant unit 6 comprises traditional hardware such as a central processing unit (not shown), memory 40 and hardware for providing communication 20. The communication means 20 is configured to establish a radio communication with the access point 10 of the network upon a user request and thereby a wireless communication with the network 5.

The teach pendant unit 6 further comprises a discovery means, for example in the form a software module 22, configured to discover which controllers are connected to the network and thereby possible to log in to. The discovery means 22 can be adapted to send a query on the network asking for the identity of the controllers connected to the network, or the controllers can be configured to send messages to the discovery means including information on their identity. When the discovery means 22 has collected information on which controllers are connected to the network, a list of the available controllers are displayed on the display device 12 of the teach pendant unit. The user may

then select which controller to log into and also specify if a local or remote login is to be carried out. The user is allowed to select one of the controllers for a local login and two or more of the other controllers for a remote login.

The display means 24 is configured to display a user interface on the display device 12. For example, the display means is configured to display the controllers available for login. Figure 3 shows an example of a view displayed on the display device 12 showing the controllers available for login. As shown from the figure, the user has selected controller 1 as a local client and controllers 2 and 3 as remote clients.

The teach pendant unit further includes login means 26, for ex- ample in the form a software module, configured to log in the user to the controllers. The login means comprises a local login module configured to carry out a local login to the controller, and a remote login module configured to carry out a remote login to the controller. The local login module is configured to carry out a check of the safety equipment of the teach pendant unit upon receiving a request for local check in. If no errors are detected, a login signal is sent to the controller selected for local login via the antenna 8. The local login module communicates with a corresponding login module on the robot controller. Preferably, at least a part of the login procedure is carried out by the robot controller. The local login module on the teach pendant unit is communicating with the login module on the robot controller during the login procedure. During the login procedure, one of the login modules checks whether the user is au- thorized to login to the control system or not, based on stored information about authorization of the user. Information on the authorization of the user is, for example, stored in the memory 40 on the teach pendant unit. The teach pendant unit comprises a central processing unit for executing the software according to the invention.

Each robot controller comprises an enabling circuit, also called an enabling chain. The enabling circuit comprises a switch that is opened or closed in dependence on the state of the enabling device 16 of the teach pendant unit. The enabling circuit is con- nected to the motors of the robot. When the enabling circuit is broken, the brakes are applied to the motors and the robot no longer controls the motors. The enabling circuit has to be activated before the operator is allowed to operate the robot by the teach pendant unit.

The local login unit of the teach pendant unit sends a signal to the selected controller, informing it about that the safety equipment works and that the authorization check of the operator has been successful. Upon receiving this signal the controller acti- vates the enabling circuit. Activation of the enabling circuit means that the enabling function is activated and that manual operation of the robot is enabled accordingly. When the enabling circuit is activated the enabling device is operatable. Further, the emergency stop button 15 of the teach pendant unit is also activated. This means that an emergency stop is carried out on the robot connected to the local controller when the user pushes the stop button 15.

The remote login module is configured to carry out the authori- zation check of the user. When the authorization check has found that the user is authorized to login on the selected controller, a signal is sent via the network to the selected controller informing the controller that a connection shall be established between the teach pendant unit and the controller. This connec- tion enables data, such as control programs, configuration data and I/O status, to be sent to the teach pendant unit upon request.

The system also comprises a difference engine 28, for example in the form of a software module, configured to compare control programs from two or more controllers and the display means is

configured to display the difference between the control programs on the display device 12. In this embodiment, the difference engine 28 is provided on the teach pendant unit. However, in another embodiment, the difference engine could be provided on one of the controllers, or on an external computer. The difference engine 28 can also be configured to compare other types of data from the controllers, such as configuration data and I/O status. The display means 24 is configured to display what types of data it is possible to retrieve from the controllers, and the user selects which data to be retrieved from the controller. Figure 4 shows a view displayed on the display device 12 including two windows. A first window shows a control program retrieved from the first controller 1 and the second window shows a control program retrieved from the second controller 2. The user interface is provided with a software button denoted diff. If the user would like to compare two programs he only has to activate the diff button. When the diff button is activated, a command is sent to the difference engine to compare the two selected programs. The difference engine 28 compares the two programs and displays the difference between the programs in a third window displayed on the display device 12. Thereby, it is possible for the user to study the differences between the programs and decide what to do.

The system also comprises an editor that allows a user to move, or copy and paste control programs or parts of a control program from one controller to another controller by means of the teach pendant unit. In this embodiment, the editor 30 is stored on the teach pendant unit. However, in another embodiment the editor can be stored on one of the controllers, or on an external computer. However, the editor is used on the teach pendant unit, independent on where the software of the editor is stored. The editor enables a user to edit programs and other data from any of the controllers connected to the network on the teach pendant unit. Further, the editor enables a user to move programs between two controllers, and copy a whole program from

one controller to another controller, or a part of a program on one controller to a control program on another controller on the network. The editor also allows the user to delete programs on the controller and delete parts of a control program.

The system also comprises an installation means 32, for example in the form of a software module, configured to carry out an installation of a selected program on any of the controllers connected to the teach pendant unit. This installation means allow a user to install a program copied from a first controller, and possibly edited by the editor, on a second controller.

The display means 24 is configured to update the information displayed on the display device upon receiving information from the controllers about a change in the program or data displayed. The controllers are configured to send information on changes of requested data upon a change in the data. This means that the information displayed on the teach pendant unit is real time data.

The present invention is not limited to the embodiments disclosed but may be varied and modified within the scope of the following claims. For example, the control system may include a plurality of teach pendant units, each physically connected to a certain controller. In this embodiment, the controller is already logged in as a local client to the controller to which it is connected. However, the teach pendant unit is configured to login as a remote client to any of the other controllers, although another teach pendant unit is already logged in as a local client to the same controller.

In alternative embodiments, the software modules, such as the login module, the discovery module, the install module, the editor and the difference engine can at least partly be stored on one of the controllers or on an external computer.