Abstract:
An automatic transfer method and apparatus for a multi-variable control unit having at least two process control units is disclosed which initiates transfer from the selected controller to the non-selected controller through failure of the selected controller to produce transfer preventing signals.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to apparatus and methods for transferring control from one control unit of a multi-variable control unit to another and more particularly to apparatus and methods for transferring control which include intercommunication between control units of a multi-variable control unit, that is, a unit processing many variables. 
     Prior art has disclosed several systems for transferring control from one control unit to another control unit. Most of these transfer systems are manual, that is, when one control unit ceased to function, a technician would manually transfer control from one unit to a back-up unit. Prior art has also disclosed a sophisticated automatic transfer system wherein the back-up controller monitors the primary controller and automatically initiates transfer whenever the primary controller performs a function with which the back-up controller does not agree. 
     The deficiency of manual control systems is that it is unreliable, requiring both the presence and alertness of a technician to manually transfer control from one controller to another. Although the technician may be extremely reliable, a complex system requires close evaluation of several variables which will divide his or her attention. Sophisticated automatic transfer systems have their deficiency in the complexity of circuitry involved and in the fact that when transfer is initiated due to a disagreement between controllers, the differences between the back-up controller calculations and the primary controller calculations could be due to circuit imbalances as well as a faulty primary controller. In addition, the back-up controller may be incorrectly calculating values due to its own component failure. The two systems, although identical in component content, may nevertheless be imbalanced due to manufacturing inequalities of the components. While any imbalance may not be apparent in macroscopic calculations, it may show up in microscopic calculations. This detracts from the overall system accuracy since percentage errors must be permitted to prevent &#34;false&#34; or unnecessary transfers. 
     It is therefore an object of the present invention to provide a reliable automatic transfer system and apparatus. 
     It is also an object of the present invention to provide an automatic transfer system which requires no complex circuitry. 
     It is a further object of the present invention to provide an inexpensive automatic transfer system. 
     SUMMARY OF THE INVENTION 
     The present invention overcomes the deficiencies of prior art manual systems by performing an automatic transfer when a primary controller, the controller operating the system, malfunctions. It overcomes the deficiency of prior art automatic transfer systems by initiating transfer through controller self-diagnostics. The controller in control performs self-diagnostic functions and permits control transfer when it is no longer capable of performing its function. The present invention comprises two control units, a selected controller controlling the specific functions for which it is designed and a non-selected controller tracking, or making identical calculations but feeding its control outputs to an open circuit. The selected controller periodically indicates to the non-selected controller that it is operating in conformity with design standards. When the selected controller is no longer capable of performing the desired functions, it will cease sending an indication that &#34;all is well&#34; to the non-selected controller and the non-selected controller will take control from the selected controller. By providing a self-test feature, the present invention eliminates the deficiencies of prior art automatic transfer systems wherein the alternate controller will take control of the system whenever its outputs disagree with the outputs of the primary controller. Since this may be due to imbalance in the systems due to manufacturing inequalities between identical components, false transfers are prevented. Furthermore, when an automatic transfer has taken place, the selected controller is incapable of taking control from the non-selected controller. Thus, an automatic transfer system is provided which totally eliminates the problem of false transfers in automatic transfer systems and the unreliability of manual transfer systems. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     The accompanying FIGURE illustrates in block form, a dual control system embodying the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The FIGURE illustrates a dual control system 10, having identical control units 12 and 14. Identical components of units 12 and 14 are similarly numbered, the components of unit 12 having a suffix A and the components of unit 14 having the suffix B. In the preferred embodiment multi-variable control unit 10 is illustrated as receiving the control information from host computer 16 through bus 18 which connects to control units 12 and 14 through slave coupler 20A and 20B, respectively. All interconnections between control units 12 and 14 are permanently fixed in interconnect area 21. Further description will be with respect to control unit 12, however, it is to be understood that control unit 14 is an identical unit having identical components distinguished only by the suffix in their numerical designation. 
     Slave coupler 20A is connected to serial input output 22A which is connected to information bus 24A. Information bus 24A receives inputs from and issues outputs to central processing unit 26A, random access memory 28A, read only memory 30A, serial input output 32A and parallel input output 34A. Serial input output 32A is connected to an identical serial input output 32B in controller 14. Parallel input output 34 receives additional inputs from address 36A, analog-to-digital converter 38A and digital inputs from bus 40. Parallel input output 34A supplies inputs to digital-to-analog converter 42A, interface switch 44A, NAND gate 46A, ground switch 48A, a control input to two-way switch 50A and receives indication that it is the selected controller by ground connection 51 located in interconnect area 21. Digital-to-analog converter 42A supplies the second input to interface switch 44A and the alternate input to a switch 50A through conductor 52A. NAND gate 46A receives an additional input from the output side of NAND gate 46B and supplies its output to the input side of NAND gate 46B. The output of NAND gate 46A controls the position of interface switch 44A and the output of NAND gate 46B controls the position of interface switch 44B. Interface switch 44A receives analog inputs from digital-to-analog converter 42A and digital inputs directly from parallel input output 34A and supplies digital and analog outputs to busses 56 and 54, respectively. 
     Two-way switch 50A may have as its input either the output of multiplexer 58A or the output of digital-to-analog converter 42A. Multiplexer 58A receives analog inputs from bus 60. Parallel input output 34 controls the position of two-way switch 50A as indicated at 62A. Power supply 64A supplies all power for the individual control units, that is, power supply 64A supplies the power for control unit 12 while power supply 64B supplies the power for control unit 14. Power supply 64A is connected to relay 65A which may be an undervoltage relay or a loss of power relay known in the art. 
     In operation, host computer 16 feeds program information to both control units simultaneously through bus 18. Indication as to which controller is to be selected is determined by ground connection 51. Address 36 identifies whether its controller has been selected and proceeds accordingly. For the purposes of this example controller 12 is the selected controller and controller 14 is the non-selected controller. Both control units 12 and 14 will receive analog and digital process information through busses 60 and 40, respectively. The controller which has been selected to control the system process will perform programmed calculations and issue analog and digital outputs to the system through busses 54 and 56, respectively while the non-selected controller will perform the calculation and issue outputs to open circuits. Analog inputs from bus 60 will be received by multiplexer 58A and be transferred to analog-to-digital converter 38A which will supply a digital input to parallel input output 34B. Parallel input output 34A will feed the information to the microprocessor comprising central processing unit 26A, random access memory 28A and read only memory 30A. The information received by parallel input output 34A will be processed by central processing unit 26A according to the program contained in read only memory 30A and produce calculated values to be transmitted by parallel input output 34A to busses 54 and 56 through interface switch 44A. Interface switch 44A connects the outputs of parallel input output 34A and digital-to-analog converter 42A to busses 56 and 54, respectively, when controller 12 has system control. When controller 12 does not have system control, the outputs of parallel input output 34A and digital-to-analog converter 42A are fed to an open circuit. Interface switches 44A and 44B are interlocked so that only controller 12 or controller 14 is permitted to have system control at any given time. That is, when interface switch 44A is closed, interface switch 44B must be open and when interface switch 44A is open, interface switch 44B must be closed. While the selected controller, for example control unit 12, is functioning properly, a message signal &#34;all is well&#34; is sent by central processing unit 26A to the non-selected controller, control unit 14, through serial input outputs 32A and 32B. Similarly, non-selected controller, central processing unit 26B in control unit 14 sends a message signal &#34;I am ready&#34; to selected controller, control unit 12. The &#34;all is well&#34; and &#34;I am ready&#34; messages may be in any digital format such as a burst of four digital pulses to indicate &#34;all is well&#34; and a burst of three digital pulses to indicate &#34;I am ready.&#34; However, the exact format of the message may be of any type known to one skilled in the art. When the selected controller is not functioning properly, the &#34;all is well&#34; message will not be sent by central processing unit 26A. Typical conditions under which the selected controller is not considered to be functioning properly; first, faulty analog-to-digital or digital-to-analog conversion, second, loss of power, third, incorrect information in the read only memory and fourth, failure of the memory. However, as can be determined by one skilled in the art, there are many other conditions under which the selected controller will not be considered as functioning properly and an automatic transfer may be desired. 
     The first basis for automatic transfer is error between analog and digital conversion. Information which must be converted to analog signals for bus 54 will be converted in digital-to-analog converter 42A. Periodically, preferably every few seconds, parallel input output 34A transfers inputs to switch 50A from multiplexer 58A to digital-to-analog converter 42A. A predetermined digital signal from access memory 28A will be fed to digital-to-analog converter 42A through parallel input output 34A. Digital-to-analog converter 42A will convert the predetermined digital signal to an analog signal. The analog signal is then fed through switch 50A to analog-to-digital converter 38A to be converted back to a digital signal. This digital signal from analog-to-digital converter 38A will be compared with the predetermined digital signal sent by parallel input output 34A to digital-to-analog converter 42A. The predetermined signal may be one or may be a series of signals testing all possible combinations of digital information within the range of analog information sent to the system (not shown). If these digital signals do not coincide, the &#34;all is well&#34; signal indicating that everything is functioning properly sent by controller 12 from central processing unit 26A to controller 14 through serial input output 32A will cease and controller 14 will take control of the system operation. 
     The second condition under which the selected controller will shut down and cease sending the signal to the non-selected controller is when power supply 64A fails as indicated by a percentage drop in voltage. This may be accomplished preferably by an undervoltage relay 65A. However, other undervoltage detection or loss of power systems are equally suitable and known by those skilled in the art. When the voltage supplied by power supply 64A drops 5% or more, undervoltage relay 65A will indicate loss of power to central processing unit 26A which will cease sending an &#34;all is well&#34; signal to the non-selected controller through serial input outputs 32A and 32B. Absence of the &#34;all is well&#34; signal will indicate to controller 14 that it should take system control from controller 12. 
     The third condition under which the selected controller will cease sending the signal to the non-selected controller is when read only memory 30A fails its self test. Read only memory 30A is tested by supplying information from random access memory 28A which central processing unit 26A processes according to the program in read only memory 30A and produces a response. The information is processed through a programmed algorithm and the response should always be the same. If the response calculated through the programmed algorithm deviates from the response required which is supplied by random access memory 28A, central processing unit 26A will cease sending the &#34;all is well&#34; signal to non-selected controller 14 and controller 14 will take control of the system. This test may also be performed by doing a comparison between read only memories 30A and 30B or by host computer 16 requesting or reading the information in read only memory 30A. The essence of this test is that the information in read only memory 30A is incorrect and system control should be transferred to non-selected controller 14. 
     The fourth circumstance under which control will be transferred from the selected controller to non-selected controller is a circumstance where the selected controller is requiring too much time to perform the system functions, indicating memory failure. Selected controller 12, by central processing unit 26A, periodically sends an &#34;all is well&#34; signal to the non-selected controller through serial input output 32A to 32B when it finishes the predetermined program in read only memory 30A. This signal is sent every time the system inputs have been calculated and sent. If the selected controller requires excess amounts of time to calculate the parameters, an &#34;all is well&#34; signal is not forwarded to non-selected controller 14. When this happens, non-selected controller 14 begins a timing function and after a brief period of time, several milliseconds preferred, the non-selected controller will take control from the selected controller. 
     The transfer from the selected controller to the nonselected controller takes place through the use of two NAND gates 46A and 46B which comprise an RS flip-flop. For the purposes of this discussion high signals are referred to as true signals and low signals are referred to as false signals. During normal operation central processing unit 26A through parallel input output 34A feeds a status signal in the form of a true signal to NAND gate 46A and central processing unit 26B through parallel input output 34B feeds a status signal in the form of a true signal to NAND gate 46B. The second input to NAND gate 46A will be false. Thus, the output of NAND gate 46A will be a true. Since the output of NAND gate 46A comprises the second input to NAND gate 46B, the output of NAND gate 46B will be a false. 
     Whenever the non-selected controller, in this example, control unit 14, ceases to receive an &#34;all is well&#34; signal from selected controller, control unit 12, central processing unit 26B changes its status input to NAND gate 46B to a false. The combination of a true input and a false input to NAND gate 46B changes the output from a false to a true. This true signal is fed back to the second input to NAND gate 46A. The two true inputs to NAND gate 46A change its output to a false. The two false inputs to NAND 46B will still maintain its output as a true. The true output from NAND gate 46B will transfer interface switch 44B from its open circuit position to a closed circuit so that non-selected controller, control unit 14, now provides the output to busses 54 and 56. The false signal from the output of NAND gate 46A will permit interface switch 44A to transfer from a complete circuit to an open circuit for the outputs of parallel input output 34. 
     As indicated by the foregoing, the present invention eliminates the problems inherent in a manual transfer by providing an automatic transfer system. The present invention eliminates the &#34;false&#34; transfer problems of prior art automatic transfer systems by providing a self-diagnostic function to initiate automatic transfer. 
     The foregoing embodiment of the present invention is given by way of example only and is not limited thereto but is limited by the scope of the following claims.