Patent Publication Number: US-10310469-B2

Title: Automation system

Description:
TECHNICAL FIELD OF THE INVENTION 
     The present invention relates to an automation system comprising multiple programmable logic controllers connected to a communication network. 
     PRIOR ART 
     In a known manner, a programmable logic controller (PLC) is tasked with executing its own automation application so as to control a set of input/output modules. The programmable logic controller reads data sent to the input modules and writes data to the output modules. The input modules are, for example, connected to sensors and the output modules are, for example, connected to actuators. 
     An automation system may comprise multiple programmable logic controllers, called primary programmable logic controllers, connected to each other over a communication network. The sets of input/output modules, each controlled by a separate programmable logic controller, are also connected to this communication network. 
     In the prior art, a backup programmable logic controller is associated with each primary programmable logic controller of the network in order to be able to stand in for it in the event that it is voluntarily or involuntarily taken out of service. Being taken out of service can occur for various reasons such as, for example, a fault, a power cut, maintenance, replacement or updating of software and/or hardware. Once in service, the backup programmable logic controller controls the set of input/output modules associated with the primary programmable logic controller that it replaces. 
     The automation architecture is therefore especially cumbersome and expensive, as it requires the provision of a backup programmable logic controller for each primary programmable logic controller. 
     Another solution is described in the document U.S. Pat. No. 4,672,537. This solution has the drawback that all of the modules of the multiprocessor system are in operation and that when one of them breaks down, the system is deprived of a module, thereby reducing its performance. 
     The aim of the invention is to propose an automation system having an architecture that is simplified with respect to the prior art, less expensive and easy to implement and making it possible to keep the system in the same operating configuration and at the same level of performance. 
     SUMMARY OF THE INVENTION 
     This aim is achieved using an automation system implemented through a communication network and comprising at least:
         a first programmable logic controller connected to said communication network and designed to execute a first automation application,   a first set of input/output modules controlled by the first programmable logic controller through the communication network,   a second programmable logic controller connected to said communication network and designed to execute a second automation application,   a second set of input/output modules controlled by the second programmable logic controller through the communication network,   a third programmable logic controller, called backup programmable logic controller, connected to said communication network and designed to stand in for the first programmable logic controller or the second programmable logic controller when taken out of service,       the backup programmable logic controller comprising storage means storing both the first automation application and the second automation application and being designed to execute the first automation application for the purpose of standing in for the first programmable logic controller and controlling the first set of input/output modules, or to execute the second automation application for the purpose of standing in for the second programmable logic controller and controlling the second set of input/output modules.   

     With respect to the prior art, the system comprises a backup programmable logic controller which is activated only when one of the primary programmable controllers breaks down, thereby making it possible to ensure a reliable and functional solution in the event of failure of one of these primary programmable logic controllers. The system hence always maintains the same number of active programmable logic controllers. 
     Furthermore, the solution of the invention employs only one backup programmable logic controller, as the latter stores the automation applications of all of the other logic controllers of the system, making it possible for it to stand in for any of the primary programmable logic controllers. 
     According to one specific feature, the first programmable logic controller and the second programmable logic controller are connected to the backup programmable logic controller by a monitoring link. 
     According to another specific feature, the backup programmable logic controller comprises means for detecting the taking out of service of the first programmable logic controller or of the second programmable logic controller. 
     According to another specific feature, the first programmable logic controller and the second programmable logic controller each comprise means for generating an image representative of an internal state and are designed to send this state to the backup programmable logic controller through the monitoring link. 
     According to another specific feature, the first programmable logic controller stores the first automation application and the second automation application in a mass memory. 
     According to another specific feature, the second programmable logic controller stores the first automation application and the second automation application in a mass memory. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       Other features and advantages will become apparent in the detailed description that follows, which makes reference to the following appended drawings: 
         FIGS. 1, 2 and 3  show the automation system of the invention and illustrate the operating principle of this automation system. 
     
    
    
     DETAILED DESCRIPTION OF AT LEAST ONE EMBODIMENT 
     The invention relates to an automation system comprising multiple programmable logic controllers A, B, C, called primary programmable logic controllers (denoted by PR in the drawings), interconnected over a communication network R. A set of input/output modules E/S_A, E/S_B, E/S_C is associated with each primary programmable logic controller. The sets of input/output modules E/S_A, E/S_B, E/S_C are preferably removed with respect to their respective programmable logic controller A, B, C and are connected to the communication network. Each programmable logic controller A, B, C executes a specific automation application for controlling its input/output modules. Each programmable logic controller controls its set of input/output modules through the communication network R. The automation system may be wired according to a ring or star topology. In the rest of the description and in the figures, the example of a ring network architecture is used, but it should be understood that the invention may be applied to a star network architecture or to any other type of network architecture. 
     In  FIG. 1 , an automation system comprising three primary programmable logic controllers A, B, C and three sets of input/output modules E/S_A, E/S_B, E/S_C is considered, each set of input/output modules being associated with a separate programmable logic controller A, B, C. Of course, the number of controllers chosen is not limiting and the invention is applicable to any automation system comprising more than two programmable logic controllers. 
     The programmable logic controller A executes a first automation application app_A and controls a first set of input/output modules E/S_A, the programmable logic controller B executes a second automation application app_B and controls a second set of input/output modules E/S_B and the programmable logic controller C executes a third automation application app_C and controls a third set of input/output modules E/S_C. 
     According to the invention, the automation system also comprises a programmable logic controller D called backup programmable logic controller (denoted by STB in the drawings). This backup programmable logic controller D is intended to stand in for any of the primary programmable logic controllers A, B or C if one of them is out of service. There are many possible causes for being taken out of service. These may be, for example, a power cut, a fault, a shutdown for updating or for maintenance, etc. The backup programmable logic controller is inactive as long as the primary programmable logic controllers are in working order. It can become active only when one of the primary programmable logic controllers breaks down. By replacing a primary programmable logic controller which has broken down with the backup programmable logic controller, the system always maintains the same number of active controllers. 
     The backup programmable logic controller D is also connected to the communication network R so as to be able to communicate with the primary programmable logic controllers A, B, C and the sets of input/output modules E/S_A, E/S_B, E/S_C of the system. Furthermore, the primary programmable logic controllers A, B, C are also connected to the backup programmable logic controller D by a monitoring link L, which is separate from the communication network R. 
     A first type of signal is exchanged over the communication network R to make it possible for each primary programmable logic controller A, B or C to communicate with its set of input/output modules E/S_A, E/S_B, E/S_C. A second type of signal is sent over the monitoring link L by each primary programmable logic controller A, B, C to the backup programmable logic controller D in order to keep it permanently informed of its state. In each cycle, the primary programmable logic controller A, B, C constructs an image of its internal state and sends this state to the backup programmable logic controller over the monitoring link L. The backup programmable logic controller D stores the states received from the different primary programmable logic controllers A, B, C. 
     In order to be able to stand in for any of the primary programmable logic controllers A, B or C of the system, the backup programmable logic controller D permanently stores all of the automation applications app_A, app_B, app_C executed by the primary programmable logic controllers A, B, C of the system. The applications of the primary programmable logic controllers A, B, C are stored in the RAM of the backup programmable logic controller D in order to be executable immediately following detection, over the monitoring link L, that a primary programmable logic controller A, B or C of the network has been taken out of service. As soon as it detects that a primary programmable logic controller A, B or C has been taken out of service, the backup programmable logic controller D selects the application of the out-of-service programmable logic controller and immediately executes it by taking control, through the communication network, of the set of input/output modules that is associated with the out-of-service programmable logic controller. 
     The backup programmable logic controller is intended to detect instances of the primary programmable logic controllers of the network being taken out of service. A primary programmable logic controller A, B or C is considered to be out of service when it no longer communicates with the backup programmable logic controller D, either over the communication network R or over the monitoring link L. 
     When the backup programmable logic controller D detects that a primary programmable logic controller A, B or C has been taken out of service, it selects, in its memory, the application of this primary programmable logic controller and executes it. It also takes control of the set of input/output modules of the programmable logic controller that has been replaced. The application to be executed is identified in the frames exchanged over the communication network and over the monitoring link. 
     Once the backup programmable logic controller D has replaced the out-of-service primary programmable logic controller A, B or C, a new programmable logic controller must become the backup programmable logic controller. The primary programmable logic controllers of the system monitor the commissioning of the new backup programmable logic controller in order to be able to send it their state over the monitoring line, as previously described. Preferably, once restored, it is the programmable logic controller (B in  FIG. 2 ) that was out of service which becomes the new backup programmable logic controller for all of the primary programmable logic controllers of the system. Preferably, each programmable logic controller of the system stores, in a mass memory (e.g. flash memory or ROM), the automation applications of all of the programmable logic controllers of the system, thereby making it possible for each programmable logic controller to have all of the automation applications if it is required to become the backup programmable logic controller of the system. In a variant implementation, the new backup programmable logic controller is, for example, required to download all of the automation applications of the primary programmable logic controllers of the system from a remote server. 
     In  FIG. 2 , the primary programmable logic controller B breaks down. The backup programmable logic controller D replaces the primary programmable logic controller B which has broken down and thus becomes a primary programmable logic controller (PR). It thus executes the application app_B already present in the RAM and takes control of the set of input/output modules E/S_B that is associated with the primary programmable logic controller B. In  FIG. 3 , the primary programmable logic controller B becomes the new backup programmable logic controller (STB) and has, in memory, applications app_A, app_B and app_C of the programmable logic controllers of the system.