Abstract:
By storing, along with each signal or bit controlling a step to be taken in a process sequence, an additional signal or bit to be applied to the gating terminal or pin of respective ones of a plurality of &#34;and&#34; gates, to the other input terminal of each of which is supplied its respective input signal from aprocess control element, such as a sensor, switch or valve (each such input signal indicating a changed condition in the process which requires a changed process control sequence) any sequence may be interrupted following any step in that sequence and a new sequence may be called up to make the needed correction or change in the process.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to sequence controllers and, more particularly to multi-program sequence controllers with preferential priority program designation capability. 
     2. Description of the Prior Art 
     Sequential control circuits, particularly for industry, have, in the past, relied primarily on electro-mechanical relay logic. More recently semiconductor sequences, or hybrid sequencers have appeared on the industrial scene. All of these sequencers suffer from a primary limitation. That is, that once the sequence has begun it cannot be interdicted. This rigidity can and has caused damage to the process or apparatus being controlled. In many practical cases it is desirable to be able to change preferences or priorities during processing. Special problems arise with conventional circuits when a second signal, of the same priority as the first, is introduced for the purpose of pre-empting the sequencing program of the first signal. Similarly, problems arise in the case where the order of priority for two input signals cannot be established until a third signal appears and that signal may occur in the middle of an on-going sequence. 
     The mere introduction of a PROM to store multiple sequencing programs does not solve the problem of fixed priority during sequencing. 
     Therefore, it is one object of this invention to overcome all of the shortcomings of the present systems, as described hereinbefore. 
     It is a further object of this invention to provide a sequence controller with a dynamically changeable program. 
     It is a still further object of this invention to provide a multiple-sequence controller in which an on-going sequence may be interdicted and replaced by a preferred sequence. 
     SUMMARY OF THE INVENTION 
     A plurality of sequencing programs is stored in respective stages of a ROM or PROM. In each stage, in addition to the sequencing program, there is stored a series of binary bits which are fed out to respective input signal gates after each step in the sequence has been executed. At least one of the bits applied to a gate other than that corresponding to the input signal which has triggered the currently active sequence, is a &#34;one&#34;, which makes the gate to which it is applied amenable to shifting the sequencing activity to a different stage in the ROM and a different sequence if an input signal has been applied to that same gate. Thus, the on-going sequence may be interrupted and a preferred sequence, at a different stage in the ROM or PROM may be substituted. This changing may occur after each step in any stage of the stored sequences. A high degree of dynamic, preferential processing may thus be achieved. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     A better understanding of the present invention may be had from a consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which: 
     FIG. 1 is a block diagram of a sequence controller with dynamically changeable program according to the present invention; 
     FIG. 2 is a first timing diagram displaying the relationship of certain signals generated in the operation of my invention; and, 
     FIG. 3 is a second timing diagram showing more detailed relationships of certain signals generated in the operation of my invention; and, 
     FIG. 4 is a detailed block diagram of a portion of the block diagram of FIG. 1. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     In FIG. 1, input signal terminals I 1  through I m  are provided for the application thereto of input signals having corresponding designations. Such input signals are derived from sensors, switches and valves, for example, in a process control system and indicate a changed condition which requires a changed process control sequence. For example, the level of a liquid in a process may have exceeded a desired maximum, causing a float to activate a limit switch. That limit switch closure would constitute an input signal to one of the input signal terminals I 1  through I m  and would indicate that the next step in the process should not be that indicated by the then-controlling sequence, for example bringing the liquid to a boiling state, but, instead should be a pumping out of or a draining off of the excess liquid. Input terminals I 1  through I m  are connected to one input terminal each of &#34;AND&#34; gates A 1  through A m , respectively. The output of each of the &#34;AND&#34; gates is coupled to a respective input terminal P 1  through P m   of stage decision circuit 2. Stage decision circuit 2 may be an encoder such as that manufactured by Texas Instruments, Incorporated and designated Type SN54147 or Type SN54LS147. Detailed information including pin connections and function tables for these MSI chips may be found at pp. 7-151 and 7-152 of Bulletin No. DL-S 7611727 dated October, 1976, and issued by Texas Instruments Incorporated, P. O. Box 5012, Dallas, Tex. 75222. 
     Such a stage decision circuit performs the function of partially determining which input signal should control the sequencing operation. Output stage signals ST 1  through ST m  appear on individual conductors in busses 20 and 22 and are applied to the respective input terminals of control circuit 7 and stage register 3. Stage register 3 may be a semiconductor type SN74194. Device SN74194 is a 4-bit bi-directional universal shift register described in detail as to its functions and pin connections at page 438 of the TTL DATA BOOK published in 1976 by Texas Instrument Incorporated, P. O. Box 5012, Dallas, Tex. 75222. Actually, two such SN74194&#39;s may be required to achieve the desired register capacity for this sequencer. The output signal from register 3 appearing in multi-conductor buss 24 is applied to ROM or PROM 5 and designates a stage-address in memory 5 where desired sequencing data is stored. Counter 4 which may be, for example, a semi-conductor type SN74161 (a synchronous 4-bit counter which is described in detail, both as to its pin connections and operating characteristics at pp. 325, 326 of the TTL DATA BOOK, supra), is coupled through buss 26 to the input terminals of memory 5 for the purpose of designating which step in any stage of memory 5 is to provide the sequence control signals S b  and the gating signals S a , at any moment. 
     Various memory devices may be used for read-only memory 5 but, for maximum flexibility a programmable read-only memory such as semiconductor type INTEL 2708 is preferable. The PROM designated INTEL2708 is described in detail both as to its pin connections and operating characteristics in numerical sequence in the INTEL COMPONENT DATA CATALOG for 1976, published by INTEL CORPORATION, 3065 Bowers Avenue, Santa Clara, Ca. 905051. Two I2708&#39;s may be required to achieve the desired memory capacity for PROM 5. 
     The sequencing signals S b  are fed through multiple conductor buss 28 to buffer register 6, which may be a type SN74194 4-bit bi-directional universal shift register available from Texas Instruments Incorporated and referred to supra. The purpose of buffer register 6 is to isolate the PROM 5 from the controlled devices so that noise or other transient phenomena, which may occur in PROM 5 during stage-shifting, will not cause erroneous sequencing of the equipment being controlled. 
     Buss 30, which contains &#34;n&#34; conductors, carries gating and control signals S 1  through S m  and S m+1  through S n , respectively. The individual conductors are dedicated to carrying the correspondingly designated gating or control signals. The gating signals S 1  through S m  are applied to the remaining input terminal of each of the respective and corresponding &#34;AND&#34; gates A 1  through A m . 
     The control signals S m+1  through S n  are applied to control circuit 7 through their respective conductors in buss 32. Control circuit 7 may be made up of AND gates type SN7408 and flip-flops type SN74107 the characteristics of both of which can be found in THE TTL DATA BOOK published by TEXAS INSTRUMENTS in 1976, the latter device being found at pp. 107 and 120 of that publication. 
     A clock pulse generator 34 is provided to synchronize the stage-decision making, counting, addressing, registering and read-out functions. Such clock pulse generator may be integral with the PROM or ROM chip. 
     A power supply 36, with appropriate output voltages for operating the sequencer is also provided. Power busses, not specifically shown, connect the power supply to appropriate chip terminals. 
     The operation of the sequencer can best be understood by referring to FIGS. 2 and 3, as well as FIG. 1. 
     When power supply 36 is turned on registers 3 and 6 and counter 4 are in a basic state and the designated address in memory 5 is 0,0. The gating signals S 1  through S m  are all &#34;1&#39;s&#34; at this address. Therefore AND gates A 1  through A m  are all receptive to the passage of any input signal. When an input signal I 1  through I m  appears it passes through the respective AND gate with the same subscript designation. As a result, in the stage decision circuit 2, the stage ST i  (i = 1 through m) corresponding to that input signal is determined and a related signal is applied through buss 22 to control circuit 7 and through buss 20 to stage register 3. In response to the stage signal ST i , circuit 7 generates a stage set signal G l  (FIG. 2) which is applied to stage register 3 and counter 4. When signal G l  is applied to stage register 3, terminal 40, it sets in that register the stage which is to be addressed in ROM 5. The application, at any time, of signal G 1  to counter 4, terminal 38, zeroes that counter. 
     The stage in ROM 5 having been designated by register 3 and the step in that stage having been designated as &#34;0&#34; by counter 4, the sequencing data at that address is read out to buffer register 6. The next clock pulse sets that signal S b  into register 6. (See FIG. 2). 
     Whenever counter 4 is reset to zero as a corrolary to a stage designation signal having been set into stage register 3, each of the gating signals S 1  through S m  is brought to zero so that each of the AND gates is closed, at least for that step in the sequence. With those signals at zero there is no output signal from stage decision circuit 2. After a period of time &#34;T&#34;, which is determined for each step of each stage by the information contained in the control pulses S m+1  through S n  fed to control circuit 7 from ROM 5, control circuit 7 generates a stepping signal G 2  which is applied to counter 4 through terminal 42 and causes that counter to step up one step and causes the output from ROM 5 to be derived from the next higher step in the stage which was previously designated in ROM 5. Those output signals are S a  and S b  at that address. S b  is transferred to register 6 and causes a predetermined sequence to occur in the controlled apparatus or process. The control bit signals S 1  through S m , with at least one of them (other than the one corresponding to the then-controlling input signal) being a &#34;1&#34; so as to permit new instructions to the sequencer, are fed to their respective AND gates. 
     If no input signal of higher priority than the one then controlling the sequence appears at an AND gate, the control circuit 7 generates a set signal G 3  which is applied to terminal 44 of register 6 and sets the data from ROM 5 into register 6, and a stepping signal G 2  and the sequence then in progress moves forward one more step. 
     After completion of a series of sequential control operations, ROM 5 outputs a &#34;completion of information&#34; signal in signals S m+1  through S n . The control circuit 7, receiving such completion signal, suspends the generation of the stepping signal G 2  and the output register-set signal G 3 . 
     As for changing the sequencing to a new format during the earlier-designated sequence, each series of control signals S 1  through S m  contains at least one bit that has a value of &#34;1&#34;. For example, control signal S j  may have the value &#34;1&#34;. Correspondingly, AND gate A j  will be open for an input signal I j  and if such input signal appears it will have priority over the previous incoming signal I i  and will reach stage decision circuit 2 which will output a stage setting signal ST j . That signal will be fed to stage register 3 and to control circuit 7. The latter control circuit will generate a stage setting signal G 1  which will zero counter 4 and set register 3 to a new stage ST j . At the next clock pulse, control circuit 7 generates set signal G 3  which is applied to output register 6 through terminal 44 and the output sequencing signal S b  will be set in register 6. 
     When counter 4 is reset to zero by signal G 1 , each of the control signals S 1  through S m  is made a &#34;zero&#34; so that each of the AND gates A 1  through A m  is closed, but, in the fashion already described, any new, higher priority input signal may take over the operation at the end of that step in the sequence. 
     In FIG. 3 the effect of input signal priority in changing output signals from the sequencer is shown. 
     Initially input signal I i  is received at AND gate A i  and causes stage decision circuit 2 to apply a staging signal ST i  to control circuit 7 and to stage register 3. Control circuit 7 outputs a signal G 1  which sets signal ST i  into register 3 and zeroes counter 4. The output of ROM or PROM 5 at this address is read out to buffer register 6 and is set in that register by set signal G 3 . Output signal O 1 , being the output signal for the first step in the sequence at stage &#34;i&#34; in ROM 5, begins. There being no other input signal of higher priority, stepping signal G 2  is generated by control circuit 7 and the next signals, O 2  and O k  in the sequence of stage &#34;i&#34; appear at the output buss 46 from register 6. As shown in FIG. 3, this process continues through signal O 3 , which is produced after the fifth set signal G 3 . 
     After the fifth set signal G 3  there is a time in which no additional set signals are generated. In that period input signal I j  is applied to the sequencer and a &#34;one&#34; signal appears on AND gate A j , permitting stage ST j  to be selected in ROM 5. At that point output signals O 3  to O k  are terminated. After a time T 2  the output O 2  is terminated and after a time T 3  the output O 1  is terminated. Such a pair of sequences may have practical application in process controlling. For example, the I i  signals may cause discharge of certain goods and the I j  signals may terminate the discharge by sequentially closing outlets. 
     During the time when a first input signal has been superseded by a higher priority signal, the contents of stage register 3, counter 4 and output register 6 may be temporarily stored in an auxiliary register (not shown) and, when the sequence of the superseding signal is completed, those contents may be returned to their original places and the eariler sequence resumed. 
     Purely by way of example, control circuit 7 may have the configuration shown in FIG. 4. In that figure, staging signals St 1  through St m  are each applied through &#34;or&#34; circuits 50 to a respective detector 52 which is designed to detect changes between &#34;0&#34; and &#34;1&#34; signal states. The main semiconductor device in detector 52 is an SN 74107. 
     Clock pulse generators 54 and 56 put out clock pulses of differing periodicity from one another. A bit signal included in the S a  signals from PROM 5 (FIG. 1) is sent to monitoring circuitry of clocks 54 and 56. When such bit signal is a &#34;1&#34;, the output of clock 54 is sent to counter 58. When the bit signal is a &#34;0&#34; the output of clock 56 is sent to counter 58. Thus the bit signal from PROM 5 can control timing (period T). 
     Stepping signal G 2  appears at the carry output terminal 60 of counter 58 (which may be a type SN74161) when input signals are applied to the count enable terminals of the SN 74161. 
     The &#34;completion of information&#34; signal referred to in the discussion of FIG. 1 is taken from PROM 5 and applied to flip-flop 62 to cause cessation of the generation of the stepping signal G 2  and the output register-set signal G 3 . Flip-flop 62 may be an SN74107, as may be flip-flop 64. 
     Although there has been described hereinbefore a particular system for a sequence controller with dynamically changeable program in accordance with the invention for the purpose of illustrating the manner in which the invention may be used to advantage, it will be appreciated that the invention is not limited thereto. Accordingly, any and all modifications, variations or equivalent arrangements which may occur to those skilled in the art should be considered to be within the scope of the invention as defined in the appended claims.