Abstract:
In a method and device to control a multiple-machine arrangement with at least one first controller and one second controller, specific data packages for the controllers are generated, these specific data packages are transferred to the controllers, the transferred data packages are selectively activated, and downloading of the data packages is implemented in the controllers as a result of an activation, in particular installation of at least one program and/or one configuration file.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention concerns a method and a device for controlling a multiple-machine arrangement with multiple controllers, in particular an automation cell with two or more industrial robots. 
         [0003]    2. Description of the Prior Art 
         [0004]    In automation cells—for example production cells such as welding, enameling or installation cells—very dissimilar machines—for example robots, tool machines, conveyors and the like—are frequently used by different manufacturers, and even machines of the same type can still differ, for example by the type and/or the version of their controller. 
         [0005]    This makes it difficult to implement new projects in such heterogeneous automation cells, which projects in particular require different programs and configuration data for the different controllers. 
         [0006]    A control system, method and computer program are known from EP 1 738 235 B1, in which a robot controller sends information to a human-machine interface so that the correct version of a robot program is used at this interface. The controller of heterogeneous multiple-machine arrangements does not satisfactorily facilitate this procedure. Conversely, software distribution programs—known as deployment applications—for installation of new programs on client computers have previously only been known in the field of office applications. 
       SUMMARY OF THE INVENTION 
       [0007]    It is an object of the present invention to improve the control of a multiple-machine arrangement with multiple controllers, in particular of an automation cell with two or more industrial robots. 
         [0008]    According to the invention, a deployment (advantageously an essentially simultaneous deployment) of programs to controllers of a multiple-machine arrangement is implemented. The invention is particularly advantageously used in heterogeneous installations with different systems or systems of varying types, wherein a system includes one or more controllers and/or machines, in particular industrial robots. 
         [0009]    A multiple-machine arrangement in the sense of the present invention accordingly has two or more machines, of which at least one machine is advantageously an industrial robot or includes an industrial robot. At least one controller that can be fashioned, for example, as a PC-based controller and/or memory-programmable controller (SPS, also called a “Programmable Logic Controller” or PLC) is associated with each machine. One controller can be provided for one or more of its associated machines, or multiple controllers can be provided for one machine associated with the multiple controllers together. In a heterogeneous installation, at least two controllers and/or two controller machines differ from one another, for example in their structure. 
         [0010]    To distribute an automation solution for a project—for example the enameling of a new vehicle type by different enameling robots—specific data packages for controllers participating in this project are initially generated according to the invention. 
         [0011]    A data or deployment package (advantageously in a compressed data form) can contain one or more working programs for one or more controllers of the target system for which it is specified that one or more installation programs contain configuration data and/or other data, for example, machine or process data or parameters. A specific project and/or a specific project version can be specified or, respectively, individualized, in particular for a specific controller and/or a specific machine. This advantageously respectively ensues through a controller-specific or system type-specific generator, i.e. a generator is provided for each controller type or system type. A data package advantageously has unambiguous identification features of the target system, in particular the target controller, the target project and/or the target project version. For example, a generator for a PC-based controller of a six-axis industrial robot for the use of the robot to enamel a first car body type can generate a data package specific to this project version; for the enameling of a second car body type said generator can generate a different data package specific to this different version of the “car body enameling” project; and for the use of the robot for welding the generator can generate an additional data package specific to this different project. 
         [0012]    These specific data packages are transferred to the controllers. This ensues essentially in parallel, in particular via a network such as Ethernet and/or via a central planning device, in particular a computer (advantageously a portable computer or, respectively, a notebook). 
         [0013]    If a data package cannot be directly transferred to a target system, a communication interface—in particular a proxy—can be provided that relays data between a controller and the planning device or the network. 
         [0014]    In a preferred embodiment, a target system—in particular its controller—checks a transferred data package as to whether the data package is designated for the target system. For example, for this unique identification, features of the target system (mentioned above) can be compared with those of the data package. In particular it can be checked whether an identity (advantageously an identity that is unique in the entire world) of the system or, respectively, the controller, apparatus type and/or apparatus version agree, whether required subsystems and/or peripheral apparatuses are present and/or possess the required kinematics and/or system extensions (for example technology packages). 
         [0015]    The transferred data package is advantageously stored by the controller of the target system. 
         [0016]    According to the invention, transferred data packages are selectively activated. This enables a project to be activated in parallel at all target systems. Like the generation and/or transfer of the data packages, the activation of the target systems or their controllers can also ensue via a central planning device. For example, the activation can ensue selectively by, in an activation, information being transmitted that identifies target systems to be activated, the project (in particular an identification specific to this project) and/or a version of the project that should be activated. 
         [0017]    The activation can advantageously take place in three phases that are explained separately in the following, wherein phases can also be omitted or executed together, for example. 
         [0018]    In a preparation phase, as a result of an activation target systems—in particular their controllers—can check whether an activation-specific data package is present, for example a data package whose project ID and project version agree with those specified in the activation, i.e. can check whether a deployment package is available for the project to be activated. It is additionally or alternatively checked whether this data package is specified for this target system or this controller, and/or whether the target system or, respectively, the controller and/or a machine controlled by it allows an activation. In particular, it can be checked whether the system state—for instance robot pose, power supply state, drive state and/or controller state—allows the specific activation. 
         [0019]    Additionally or alternatively, controllers and/or machines can be transitioned into a predetermined state as a result of the activation. For example, as a result of the activation a robot can be halted in a predetermined pose (advantageously the home pose) at the end of a production cycle and its previously executed work program can be deselected. 
         [0020]    Notification of a successful and/or an unsuccessful preparation phase is advantageously sent back, for example to the planning device. Before initiating an installation phase (explained in the following), this planning device can thus ensure that all required deployment packages are present and the target systems are ready for their installation. In a preferred embodiment, the activation is terminated if at least one essential target system does not return notification of a successful preparation phase. Instead of this, the previous system state is retained without changes. 
         [0021]    According to the invention, in an installation phase data of the data package are implemented in the controller as a result of the activation; in particular, work and/or installation programs are installed and/or configuration data are updated. For example, a new work program is loaded into the controller of a robot and the configuration files required for this (that can contain machine and/or process data, for example) are applied or adapted. 
         [0022]    State data of system components (for example the controller) are advantageously stored beforehand in order to reverse the activation if necessary. 
         [0023]    Additionally or alternatively, controllers and/or machines can execute additional predetermined actions as a result of the activation, for example a (re)initialization (in particular an IO re-initialization), a system restart, a (re)calibration or the like. 
         [0024]    In a preferred embodiment, notification of a successful and/or an unsuccessful installation phase is sent back in turn, for example to the planning device. Before initiating a start phase (explained in the following), this can thus ensure that all required data packages are implemented. In a preferred embodiment, the activation is terminated if at least one essential target system does not return notification of a successful installation phase. The old system state can then be reestablished (what is known as a “rollback”) on the basis of the state data stored before the implementation. Given a successful installation phase, these old state data that are no longer necessary are erased (successful “rollout”). 
         [0025]    For this purpose, controllers can be informed about the result of the activation of other controllers or, respectively, the entire system, advantageously via the planning device. 
         [0026]    In a subsequent start phase, as a result of the activation target systems—in particular their controllers—can start one or, respectively, more programs installed in the installation phase. If the multiple-machine arrangement or, respectively, the automation cell is already found in an automation mode, a drive (movement) release can immediately ensue so that the machines continue their work process. 
         [0027]    In order to simplify and consolidate the implementation of the programs or, respectively, data in the distributed, heterogeneous target systems or, respectively, controllers, in a preferred embodiment a structure of the multiple-machine arrangement (in particular its controllers) can be defined in a central project. This can ensue largely independent of the concrete properties of the target systems. For example, the structure can contain that a six-axis robot with specific bearing loads and ranges is provided. This is independent of its concrete design or the realization of its controller. This is taken into account via the use of the controller-specific or, respectively, system-specific generator. 
         [0028]    As explained in the preceding, the activation advantageously ensues centrally and/or essentially simultaneously. Inconsistent states of the multiple-machine arrangement or, respectively, an automation cell in which a robot controller (for example) already executes a new work program but a different robot controller is still executing an old work program, and thus can cause a collision of the two robots, can thus advantageously be avoided. 
         [0029]    As explained in the preceding, an in particular central planning device (in particular a computer) automatically implements the activation and monitors this. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0030]      FIG. 1  shows a multiple-machine arrangement with a device to control according to an embodiment of the present invention. 
           [0031]      FIG. 2  shows the workflow of a method executed by the device of  FIG. 1  according to an embodiment of the present invention. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0032]      FIG. 1  shows an automation cell or multiple-machine arrangement with two six-axis industrial robots  11 ,  21  and their respective PC-based robot controllers  10  and  20 . The industrial robots  11 ,  21  insert tools (not shown) into a press  31  with an SPS  30 , or remove tools from the press  31  and place them on a conveyor  41  with an SPS  40 . 
         [0033]    The robot controllers  10 ,  20  and the press SPS  30  are directly linked with an Ethernet network  100  (indicated with a dash-dot line in  FIG. 1 ); the conveyor SPS  40  is indirectly linked with said Ethernet network  100  via a proxy  42 . A notebook  50  and a backup server  60  in which data (for example state data of the controllers  10 , . . . ,  40  can be stored) additionally communicate with this network. 
         [0034]    In order to now implement a new project (for example the processing of different work pieces) or a new project version (for example with modified, optimized workflows) in this heterogeneous automation cell, in a first step S 10  (see  FIG. 2 ) the planning device  50  generates for each controller  10 , . . . ,  40  a data or deployment package P i,Id.V , i= 10 , . . . ,  40  specific to this project (characterized by a unique identification “Id” and to this project version (characterized by a unique identification “V”). For this purpose, type-specific generators are implemented (not shown) in the computer  50  that, for example package the necessary work programs and configuration files for the SPS  30  or the robot controller  10 . For example, if robots  11 ,  21  and controllers  10 ,  20  are similar, the same generator can generate data specific to these. 
         [0035]    In a next step S 20  the planning device  50  sends the corresponding data packages in parallel to all cell participants  10 , . . . ,  42  via Ethernet  100 . A sequential execution with small time intervals is thereby also to be understood as “parallel” in the sense of the present invention. The new project or the new project version can subsequently be activated. 
         [0036]    For this computer  50  sends a corresponding activation signal A i,Id.V  to the individual receivers  10 , . . . ,  42  that uniquely identify the project ID to be activated and its version .V (step  30 ). Alternatively, an activation signal specifying only the project ID to be activated and its version .V can be sent, and it is left to the individual target systems to check whether they are participating in this. 
         [0037]    In a preparation phase (S 40 ), the target systems check whether a corresponding deployment package is present and it is determined whether its system state allows an activation. If necessary the target system then brings itself into a predetermined state. For example, if the activation signal is sent during the production cycle, this is initially executed before the controllers  10 ,  20 ,  30  halt the robots  11 ,  21  or the press  31  in a home position and disenables their previous work program. The individual controllers report success or lack of success of the preparation phase to the central planning device  50  which, given a lack of success of even only one subsystem, stops the further implementation of the project and outputs an error message to the user. 
         [0038]    The planning device  50  informs the target systems about the success of the preparation phase. If this was successful overall, the controllers  10 , . . . ,  40  implement data from their deployment packages. In particular, installation programs are called, work programs are installed and/or configuration files are imported (S 50 ). The previous states of the controllers  10 , . . . ,  40  are advantageously stored in an imaging process (for example stored in the backup server  60 ). Additional predetermined actions—for example re-initializations of the input/output units (IO re-initialization) or system restarts are additionally implemented. 
         [0039]    The individual controllers also report success or, respectively, lack of success of this installation phase to the central planning device which, given a lack of success of even only one subsystem, stops the further implementation of the project, outputs an error message to the user and reestablishes (insofar as it is possible) the old overall system state by reverting to the old state data stored in the backup server  60 . In contrast to this, these old state data can be erased given a successful installation phase. In an alternative embodiment, such state data can naturally also be directly stored in the controllers  10 , . . . ,  40  instead of in the backup server  60 . 
         [0040]    The planning device  50  in turn informs the target systems about the success of the installation phase (S 50 ). If the new work programs and configuration files are implemented at all target controllers  10 , . . . ,  40 , and if the machines  11 , . . . ,  41  are located in the predetermined states (for example home poses) the target controllers  10 , . . . ,  40  start the new work programs (step S 60 ). If the automation cells are in automatic mode, a drive release can take place immediately and the production with new project or, respectively, the new project version can be continued. 
         [0041]    Inconsistent system states can be largely avoided via the coordination and checking of the implementation by the central planning device  50 . Moreover, the present invention enables the fast, safe and automated distribution of automation solutions in heterogeneous systems as shown in the exemplary embodiment. 
         [0042]    Although modifications and changes may be suggested by those skilled in the art, it is the intention of the inventors to embody within the patent warranted hereon all changes and modifications as reasonably and properly come within the scope of their contribution to the art.