Abstract:
A miniaturized computer controller system utilizes reprogrammable &#34;read only&#34; ultraviolet memory chips instead of conventional core memories to store a control program comprising variable information regarding all electrical elements in all electrical circuit lines of the controller. The memory chips are reprogrammable within the controller and thus delicate removal of the chips for reprogramming is eliminated. The controller utilizes a central processor removably interfitting with a reprogramming module that also communicates with a programming panel. 
     When in a &#34;monitor&#34; mode, the programming panel, in conjunction with the reprogramming module, allows the operator to view any particular electrical circuit line while the controller is operating. A scroll switch on the programming panel further allows the operator to view sequentially higher or lower numbered electrical circuit lines while a trace switch provides for examining any electrical circuit line to which a currently viewed element is referenced. 
     When in a &#34; program&#34; mode, the programming panel, in combination with the reprogramming module, replaces the variable memory &#34;read only&#34; chips and allows the controller to continue operation while the operator is programming, adjusting, or de-bugging the electrical circuit lines. Following the programming of the electrical circuit lines with the desired electrical elements, the information regarding these lines is transferred to the reprogrammable &#34;read only&#34; memory chips when the programming panel is in a &#34;write&#34; mode. In this mode all the information previously stored in the memory chips is first erased by ultraviolet light, followed by the insertion of the new information regarding the electrical circuit lines. 
     Following the transferral of information to the memory chips, the reprogramming module is disconnected from the central processor and replaced by a removably interfitting power supply module, whereby the system operates with electrical circuit line information stored in the reprogrammable memory chips.

Description:
BACKGROUND OF THE INVENTION 
     Computer controller systems such as those disclosed in U.S. Pat. No. 3,686,639 entitled &#34;Digital Computer-Industrial Controller System and Apparatus&#34;, have been utilized in recent years to control many industrial operations such as automatic assembly equipment, textile machinery, materials handling equipment, and chemical processes. Computer controller systems have generally utilized core memories in order to store variable information relating to electrical circuit lines found in standard electrical circuit ladder diagrams commonly used in industrial control systems. These core memories require a significant amount of peripheral electronic circuitry in order to properly write-in and read-out information. Because of these inherent problems encountered with core memories and also because of their relatively high price, computer controller systems have not been readily adaptable to small industrial control systems utilizing from 10 to 30 simulated outputs and from 20 to 60 input signals. 
     During the last several years, new methods of storing variable data have been developed in the electronic industry. Thus the use of integrated circuit random access memories has allowed the electronic designer to store and retrieve variable information without the need for core memories. However, such electronic memory devices are unable to retain stored information upon de-energization of the integrated circuits. Therefore, such integrated circuits are unable to be utilized in storing electrical circuit line information if the system is periodically de-energized either for work shutdowns or during power failures. 
     Recently however, the Intel Corporation of Santa Clara, California has invented memory chips which are able to retain stored information regardless of the energized state of the memory chip. Information is electrically written into the chip but only ultraviolet light is able to erase the memory chip. Since the ultraviolet light erases the entire memory of the chip, selective erasure of information within the memory chip is unobtainable. 
     Some manufacturers of electronic equipment have utilized Intel Corporation&#39;s ultraviolet &#34;read only&#34; memory chips in various electronic devices including industrial computer controllers. However, these manufacturers require that the delicate memory chip be physically removed from the electronic structure when reprogramming of the memory chip is desired. Such a technique is highly undesirable in industrial computer controllers since these controllers are commonly used in very harsh industrial environment where soot, oil and grime are frequently found. In addition, the removal of the memory chip in an industrial controller system requires that the equipment being controlled be shutdown during the removal and reprogramming of the memory chip. Such shutting down of highly expensive equipment is of course undesirable; and also, since a desired change may require more than one adjustment to the industrial controller, repeated removals of the memory chip from the controller may be necessary. 
     The present invention eliminates these problems by reprogramming the memory chips without physically removing them from the central processor in which they are located. In addition, the present invention allows the operator to vary the electrical circuit line network or control program without shutting down the controller. Therefore, &#34;on-line&#34; de-bugging of the control program is possible with the present invention. 
     The present invention thus allows the operator to observe the present electrical circuit line network, to reprogram this network, and to store this reprogrammed network into the memory chips while the industrial computer controller system is operating. In addition, the present invention provides a &#34;trace&#34; feature which greatly facilitates de-bugging the control program by allowing the operator to view the entire electrical circuit line to which an electrical element in a presently viewed electrical circuit line has its state referenced. Furthermore, the present invention provides a &#34;scroll&#34; feature that allows the operator to sequentially view higher or lower numbered electrical circuit lines of the electrical circuit diagram. The present invention also allows the operator to disable any electrical circuit line without the need for erasing the entire memory chips and reprogramming the chips with the previous control program minus the disabled circuit line. In addition, the present invention allows a new electrical circuit line to be programmed into the memory chips without first erasing the entire memory chips. 
     Thus the present invention is a miniaturized computer controller system providing relay type logic as well as timers and counters for controlling industrial control systems having relatively few inputs and outputs. The present invention is compact, rugged, and inexpensive and so is readily suited for small industrial systems including designers and manufacturers of automatic machine tools. 
     SUMMARY OF THE INVENTION 
     The use of computer controller systems to monitor and control industrial process systems has become highly prevalent since U.S. Pat. No. 3,686,639, entitled &#34;Digital Computer-Industrial Controller System and Apparatus&#34; was issued in 1972. Industrial controllers, such as the Model 084 and the Model 184 of Modicon Corporation, Andover, Massachusetts utilize a schematic electrical circuit diagram to control industrial control systems. These diagrams consist of two spaced apart vertical bus lines, each theoretically connected to one terminal of a power supply. Connected between the parallel vertical lines are horizontal circuit lines which form the schematic electrical circuit diagram resembling a ladder. 
     Each electrical circuit line terminates in a relay and preceding the relay are a plurality of electrical elements such as normally open or normally closed switches which control the operation of the relay to provide an output signal when the circuit line conducts. The electrical elements commonly utilized are the normally open and the normally closed switch as well as the parallel normally open and the parallel normally closed switches so as to provide both AND functions and OR functions. In addition, timers and counters may be entered into these electrical circuit lines so as to energize the simulated relay coil when the time or the number of counts received is equal to a preselectable time or count respectively. 
     It has been found that in order to store variable information regarding electrical circuit lines as well as the particular electrical elements within these circuit lines, it is necessary to have a random access memory that is capable of retaining its stored information when the industrial computer controller is de-energized during normal shutdowns or during possible power failures. In the recent past, the only feasible, economic way of providing such a random access memory was through the use of core memories. These memories however, have inherent limitations due to the electronic circuitry needed to write-in information and read-out information from the core memories as well as the expense of the core memory itself. 
     Recently the Intel Corporation of Santa Clara, California has devised a &#34;read only&#34; memory chip that is capable of storing information while the memory chip is de-energized. In addition these &#34;read only&#34; memories may be completely erased by the use of ultraviolet light and then reprogrammed by electrically energizing the desired bits within the memory chip. These memory chips thus provide an alternative to the use of core memories in industrial computer controllers with the major disadvantage being that selective bits of the memory chip may not be erased. In order to erase any particular bit in the memory chip all the bits of the chip must be erased. 
     The present invention, however, is able to overcome this particular disadvantage of reprogrammable &#34;read only&#34; memories (RROM) by providing an industrial computer controller that is able to reprogram the information in the memory chips without the need for de-energizing the particular industrial process being controlled by the invention. 
     More particularly, the present invention incorporates a central processor that is able to solve the relay logic of the electrical circuit lines including timers and counters entered within these electrical circuit lines. This central processor consists entirely of solid state circuitry that processes and controls the electrical circuit lines and the electrical elements within the circuit lines that are stored in the RROM within the central processor. The central processor also incorporates a counting memory for solving counters placed within the electrical circuit lines as well as a clock for solving timing functions placed within the electrical circuit lines. Furthermore, the central processor includes a sequence processor for allowing a particular electrical circuit line to energize up to 100 other electrical circuit lines, as well as other modules for storing information relating to the relay coils of the electrical circuit lines and additional modules for properly receiving and transmitting information to an input/output assembly. 
     Other manufacturers have devised reprogrammable &#34;read only&#34; memories that are erasable. However, most of these memories require that they be removed from the control circuit during reprogramming since electrical signals of a non-compatible nature to the control circuitry must be applied to them during reprogramming. In all these cases the data from the reprogrammable chips is not available for a significant time interval during programming of the chips. 
     The input/output assembly consists of input/output modules for receiving and transmitting either alternating current or direct current signals to and from industrial equipment that is to be controlled by the computer controller system. The operation and mechanical design of these input/output modules and the accompanying input/output housing in which they are placed is similar to the modules currently utilized on the Modicon Model 184, manufactured by the Modicon Corporation, Andover, Massachusetts. Some of the output lines to the input/output assembly have retentive memories that energize certain inputs when power is restored after a power shutdown if corresponding outputs were energized before the shutdown. 
     Mechanically and electrically removably interfitting with the central processor is a reprogramming assembly consisting of a reprogramming module and a programming panel. The reprogramming module incorporates a controller interface for communicating to the central processor as well as from a random access memory (RAM), a RROM interface, and a microprocessor. 
     The microprocessor communicates with the programming panel which allows the operator to observe the present electrical circuit lines within the central processor&#39;s RROM as well as providing means for changing the electrical circuit lines within this RROM. In addition, the reprogramming module incorporates a power supply for energizing the reprogramming module itself as well as the programming panel and the central processor which in turn provides power to the input/output assembly. 
     When the programming panel is in a &#34;monitor&#34; mode, the reprogramming module retrieves the electrical circuit line information stored in the RROM of the central processor and transfers this information back to the central processor for solving the electrical circuit lines. The reprogramming panel also transfers information regarding any operator selected circuit line to the programming panel where the entire status of the line is displayed. In addition the programming panel provides a &#34;scroll&#34; switch that allows the operator to sequentially view higher or lower numbered electrical circuit lines without the need for entering each circuit line on a numeric key pad of the programming panel. 
     When the programming panel is in a &#34;program&#34; mode, the reprogramming module retrieves all the information in the RROM of the central processor and stores this information in its random access memory. The information is then transferred to the central processor so that the electrical circuit lines may be solved. In addition, the operator may view any electrical circuit line as well as add additional circuit lines to the random access memory. These new electrical circuit lines will automatically be transferred to the central processor to be solved. Furthermore, the operator may vary any of the previously programmed electrical circuit lines that were initially stored in the central processor&#39;s RROM. 
     When the operator has obtained the desired electrical circuit lines and elements therein so as to properly control the industrial process, the information may then be transferred to the central processor&#39;s RROM. In order to do this, the programming panel is placed in the &#34;write&#34; mode. In this mode the reprogramming module first erases all the information in the central processor&#39;s RROM. Specifically, when the Intel type RROM is used, this is achieved by activating an ultraviolet light source within the reprogramming module that visually communicates through a quartz window to the RROM memory chips within the central processor. Generally, the appropriate erasing means is employed for whatever RROM type is used. When the information in the RROM has been completely erased, the reprogramming module then transfers the electrical circuit line information in its random access memory to the RROM. During this time, the computer controller system is capable of controlling the desired industrial process so that de-energization of the controlled process is unnecessary at any time. 
     Following the reprogramming of the RROM, the reprogramming module may be disconnected from the central processor, with the insertion of a power supply in its place. This power supply provides the electrical energy to the central processor as well as interconnecting the RROM to the other modules of the central processor for the continued control of the desired industrial process. If at a later time the electrical circuit line configurations stored in the RROM are to be monitored or changed, the reprogramming module may again be interconnected to the central processor. 
     The reprogramming assembly is also used to initially store the information regarding the electrical circuit lines into the RROM. The reprogramming module includes a teletype interface for allowing a pre-stored control program to be transferred from the reprogramming module to the RROM without the need for the operator to manually enter each electrical circuit line via the switches on the programming panel. In addition, the reprogramming module allows the operator to enter additional electrical circuit lines to a previously stored circuit line program without the need for erasing the entire RROM memory and re-entering the updated program. When new lines are to be entered into the RROM of the central processor, the reprogramming module merely transfers this updated information from its random access memory through the RROM interface to the central processor&#39;s RROM. 
     Furthermore, in the troubleshooting of a control program, the operator may utilize a &#34;trace&#34; switch on the programming panel that allows the operator to observe an electrical circuit line to which an electrical element in a presently observed electrical circuit line is referenced. The operator may then look at an electrical circuit line to which a particular element in this latter circuit line is referenced for ascertaining if an error in the control program lies in this particular circuit line. After observing these referenced electrical circuit lines, the operator may, by changing the position of the &#34;trace&#34; switch, return to the initial electrical circuit line that he was observing. The above trace operation may be performed any number of times in either direction, thus allowing the operator to sequentially view lines that reference the condition of any element in any other circuit line. 
     This feature, in combination with the &#34;scroll&#34; feature, greatly facilitates the de-bugging of the control programs. 
     OBJECTS OF THE INVENTION 
     It is therefore an object of the present invention to provide an industrial computer controller that utilizes reprogrammable &#34;read only&#34; memory chips for the storage of variable information related to a desired control program consisting of electrical circuit lines incorporating electrical elements. 
     A further object of the invention is to provide a computer controller of the above character whereby the reprogrammable &#34;read only&#34; memory chips may be reprogrammed without their removal from the controller. 
     Another object of the present invention is to provide a computer controller of the above character that allows an operator to observe the condition of the electrical circuit lines of the control program while the controller is operating. 
     An additional object of the present invention is to provide a computer controller of the above character that allows the operator to vary or add to the control program without deenergizing the controller. 
     Another object of the present invention is to provide a computer controller of the above character that allows the operator to reprogram the reprogrammable &#34;read only&#34; memory chips while the controller is operating. 
     Another object of the present invention is to provide a means for allowing an operator to sequentially view electrical circuit lines of the control program without the need for numerically entering each of these electrical circuit lines on a programming panel of the controller. 
     Another object of the present invention is to provide a computer controller of the above character having a programming panel that provides means for observing an electrical circuit line that references an electrical element in a presently viewed electrical circuit line without the need for numerically entering this referencing circuit line. 
     A further object of the present invention is to provide a computer controller of the above character that utilizes a reprogramming assembly that removably interconnects with a central processor. 
     Another object of the present invention is to provide a computer controller of the above character that monitors, varies, and rewrites the reprogrammable &#34;read only&#34; memory chips of the controller. 
     A further object of the present invention is to provide a computer controller of the above character that is compact, rugged, and easy to operate. 
     A still further object of the present invention is to provide a computer controller of the above character that is inexpensive and easy to service. 
     An additional object of the present invention is to provide a computer controller of the above character having a programming panel that is capable of displaying an entire electrical circuit line of the control program including the electrical elements in the electrical circuit line as well as the other electrical circuit lines or inputs that may reference the condition of these electrical elements. 
     A further object of the present invention is to provide a computer controller of the above character that generates self-diagnostic signals regarding the condition of the controller. 
     Other objects of the invention will, in part, be obvious and will in part appear hereinafter. 
    
    
     THE DRAWINGS 
     FIG. 1 is a perspective diagrammatic view of a computer controller system according to the present invention; 
     FIG. 2 is a diagrammatic side view of a central processor and a reprogramming module of the computer controller system of FIG. 1 communicating with a programming panel of this system; 
     FIG. 3 is a schematic diagram showing the ladder diagram form of the electrical circuit lines that are simulated by the computer controller system of FIG. 1; 
     FIG. 4 is a schematic diagram showing a counter or timer type of electrical circuit line that is simulated by the computer controller system of FIG. 1; 
     FIG. 5 is a front view of the central processor of the computer controller system of FIG. 1; 
     FIG. 6 is a diagrammatic front view of the programming panel of the computer controller system of FIG. 1 displaying a typical relay type electrical circuit line; 
     FIG. 7A is a diagram showing six, eight bit &#34;read only&#34; memory words used to store one electrical circuit line of the computer controller system of FIG. 1; 
     FIG. 7B is a diagram showing how the six &#34;read only&#34; memory words are used to define four, 12 bit words used to define each of the four nodes of one electrical circuit line of the computer controller system of FIG. 1; 
     FIG. 7C is a diagram showing the various bit locations of the twelve bit words used to define one electrical circuit line of the computer controller system of FIG. 1; 
     FIG. 7D is a diagram showing the type of electrical element generated by various states of designated bits of the four, twelve bit words used to define one electrical circuit line of the computer controller system of FIG. 1; 
     FIG. 7E is a diagram showing the various states of an electrical circuit line of the computer controller system of FIG. 1 depending on the states of two bits of the four, twelve bit words of FIG. 7C; 
     FIG. 8 is a functional block diagram of the computer controller system of FIGS. 1 and 2; 
     FIG. 9 is a diagrammatic representation of a sequencer function of the computer controller system of FIG. 1; 
     FIG. 10 is a diagrammatic representation of a &#34;trace&#34; feature of the computer controller system of FIGS. 1 and 2; 
     FIG. 11 is a diagrammatic representation of a &#34;scroll&#34; feature of the computer controller system of FIGS. 1 and 2; 
     FIG. 12 comprising FIGS. 12A, 12B, 12C, 12D, 12E, and 12F is a schematic diagram of a first portion of the central processor of the computer controller system of FIGS. 1 and 2; 
     FIG. 12G is a diagram showing how FIGS. 12A, 12B, 12C, 12D, 12E, and 12F are put together to form FIG. 12; 
     FIG. 13 comprising FIGS. 13A, 13B, 13C, 13D, 13E, 13F, 13G, and 13H is a schematic diagram of a second portion of the central processor of the computer controller system of FIGS. 1 and 2; 
     FIG. 13I is a diagram showing how FIGS. 13A, 13B, 13C, 13D, 13E, 13F, 13G, and 13H are put together to form FIG. 13; 
     FIG. 14 comprising FIGS. 14A, 14B, 14C, 14D, 14E, 14F, 14G, 14H, 14I, and 14J is a schematic diagram of a third portion of the central processor of the computer controller system of FIGS. 1 and 2; 
     FIG. 14K is a diagram showing how FIGS. 14A, 14B, 14C, 14D, 14E, 14F, 14G, 14H, 14I, and 14J are put together to form FIG. 14; 
     FIG. 15 comprising FIGS. 15A, 15B, 15C, 15E, 15F, and 15G is a schematic diagram of the random access memory of the programming panel of the computer controller system of FIG. 1; 
     FIG. 15H is a diagram showing how FIGS. 15A, 15B, 15C, 15E, 15F, and 15G are put together to form FIG. 15; 
     FIG. 16 comprising FIGS. 16A, 16B, 16C, 16D, 16E, 16F, 16G, 16H, 16I, 16J, 16K, 16L and 16N is a schematic diagram of a processor portion of the programming panel of the computer controller system of FIG. 1; 
     FIG. 16M is a diagram showing how FIGS. 16A, 16B, 16C, 16D, 16E, 16F, 16G, 16H, 16I, 16J, 16K, 16L, and 16N are put together to form FIG. 16; 
     FIG. 17 comprising FIGS. 17A, 17B, 17C, 17D, and 17E is a schematic diagram of a first portion of the central processor interface of the computer controller system of FIGS. 1 and 2; 
     FIG. 17F is a diagram showing how FIGS. 17A, 17B, 17C, 17D, and 17E are put together to form FIG. 17; 
     FIG. 18 comprising FIGS. 18A, 18B, 18C, and 18D is a schematic diagram of a second portion of the central processor interface of the computer controller system of FIGS. 1 and 2; 
     FIG. 18E is a diagram showing how FIGS. 18A, 18B, 18C, and 18D are put together to form FIG. 18; 
     FIG. 19 comprising FIGS. 19A, 19B, 19C, and 19D is a schematic diagram of the reprogrammable &#34;read only&#34; memory of the computer controller system of FIGS. 1 and 2; 
     FIG. 19E is a diagram showing how FIGS. 19A, 19B, 19C and 19D are put together to form FIG. 19; 
     FIG. 20 comprising FIGS. 20A, 20B and 20C is a schematic diagram of the control protion of the programming panel of the computer controller system of FIGS. 1 and 2; 
     FIG. 20D is a diagram showing how FIGS. 20A, 20B, and 20C are put together to form FIG. 20; 
     FIG. 21 comprising FIGS. 21A, 21B, and 21C is a schematic diagram of the programming panel interface of the computer controller system of FIGS. 1 and 2; 
     FIG. 21D is a diagram showing how FIGS. 21A, 21B and 21C are put together to form FIG. 21; 
     FIG. 22 comprising FIGS. 22A, 22B, 22C, 22D, 22E, 22F, and 22G is a flow chart of a portion of the computer program of the microprocessor of the computer controller system of FIGS. 1 and 2; 
     FIG. 22H is a diagram showing how FIGS. 22A, 22B, 22C, 22D, 22E, 22F, and 22G are put together to form FIG. 22; 
     FIG. 23 is a flow chart of the binary to binary coded decimal subroutine used by the microprocessor of the computer controller system of FIGS. 1 and 2; 
     FIG. 24 is a flow chart of an &#34;exclusive or&#34; subroutine used by the microprocessor of the computer controller system of FIGS. 1 and 2; and 
     FIG. 25 is a flow chart of a &#34;power-up&#34; subroutine used by the microprocessor of the computer controller system of FIGS. 1 and 2; 
     FIG. 26 comprising FIGS. 26A, 26B, 26C, 26D, 26E, 26F, and 26G, is a schematic diagram of a typical input/output module used in the computer controller system of FIGS. 1 and 2. 
     FIG. 26H is a diagram showing how FIGS. 26A, 26B, 26C, 26D, 26E, and 26F are put together to form FIG. 26. 
    
    
     DETAILED DESCRIPTION 
     As can best be seen in FIGS. 1 and 2, a computer controller system of the present invention incorporates a central processor 30 that mechanically and electrically interconnects with a power supply module 32 or a reprogramming module 34. In addition, the central processor mechanically and electrically removably interconnects with an input/output housing 36 that in turn mechanically and electrically removably interfits with input/output modules 38 and 40. 
     As can best be seen in FIG. 1 in phantom, additional input/output housings 42 may interconnect with input/output housing 36 to provide expandable input/output capabilities to the computer controller system. The additional input/output housing further incorporates additional input/output modules 44 and 46 to properly receive and transfer electrical signals from external devices 41. 
     As best seen in FIG. 2 the reprogramming module 34 removably interconnects with central processor 30 via interconnector knob 48 communicating with controller 30 via interconnecting rod 50. The reprogramming panel incorporates a keel 52 of approximately 2 inches in width that is spaced in a longitudinal configuration on the rearward portion of the programming panel. The keel incorporates an L-shaped portion 54 on its upper portion that mechanically communicates with a finger portion 56 of the central processor 30. When the reprogramming module is disconnected from the central processor via interconnecting knob 48 and interconnecting rod 50, the module may be pivoted and removed from the central processor via a handle portion 58 of the reprogramming module as shown in phantom in FIG. 2. 
     The power supply 32 as shown in FIG. 1, similarly incorporates an interconnector knob 60 and an interconnecting rod (not shown). The power supply also includes a keel 62 and a handle 64 so as to allow easy removal of the power supply from the central processor 30. 
     It is thus apparent that both the power supply module 32 and the reprogramming module 34 incorporate similar features that allow their easy interconnecting to the same central processor 30. As will be discussed more fully later in this description, the power supply module is utilized once the proper control program has been obtained while the reprogramming module 34 is utilized to enter or monitor the desired control program into the central processor. 
     As also seen in FIG. 2, when the reprogramming module is connected to the central processor 30, a programming panel 66 is electrically connected to the reprogramming module via cable 68. 
     As is disclosed in U.S. Pat. No. 3,686,639, entitled &#34;Digital Computer-Industrial Controller System and Apparatus&#34;, present-day computer controller systems are capable of controlling external devices by entering into the central processor various electrical circuit lines that represent the manner in which external devices are controlled by switches, timers, and counters. As described in the U.S. Pat. No. 3,686,639 and as shown in FIG. 3, these electrical circuit lines cause simulated relay coils 70, 71, 72, 73, and 74 to be energized when there is simulated electrical continuity between both ends of the electrical circuit lines. The energization of the electrical circuit line relay coil may then be used to drive external devices or as a reference for simulated electrical elements in any electrical circuit line of the computer controller system. Thus, as shown in FIG. 3, the relay coil of electrical circuit line No. 3 is a reference to the normally open switch in line No. 2. When relay coil 72 is energized the normally open switch in line 2 will be closed. 
     The electrical circuit lines disclosed in the U.S. Pat. No. 3,686,639 as well as the electrical circuit lines utilized in the present invention in its preferred embodiment consist of four nodes, 76, 77, 78, and 79 with a relay coil following the lattermost node. Thus when the simulated electrical elements close, continuity is obtained throughout the line and the central processor interprets this continuity by energizing the simulated relay coil of that particular line. 
     Similarly, as best seen in FIG. 4 the four nodes of the U.S. Pat. No. 3,686,639 as well as the preferred embodiment of the present invention may represent a timer or counter. In this configuration, the A-node generates a count or sweep if it is in the closed position whereas the electrical element in the B-node resets the count or time if it is in the open position. The preset count or time is entered into the C-node and the D-node stores the accumulated count or time of this particular counter or timer. When the number stored in the D-node is equal to the present count or time, the relay coil 82 is energized. 
     Thus, it can be readily seen that present-day computer controller systems as well as the preferred embodiment of the present invention are able to control external devices such as machine tools, chemical batch processing, and conveyor systems, by use of logic lines that represent electrical devices such as normally open switches, normally closed switches, parallel open switches, parallel closed switches, timers, and counters. 
     However, most present-day controller systems utilize core memories in order to store the variable information regarding the electrical elements in the various electrical circuit lines desired. Core memories are inherently expensive and the peripheral electronic circuitry needed to write-in information and read-out information to and from the core memories is also complicated and expensive. 
     Thus, computer controller systems have generally been used in applications requiring a relatively great number of input and output signals to external devices in order to justify the relatively large expense involved in using a core memory system to store variable information. However, since 1972, the Intel Corporation, of Santa Clara, California, has perfected a &#34;read only&#34; memory that is capable of being reprogrammed. Such a memory can be used to store the variable information regarding the electrical elements in the electrical circuit lines. Indeed, at least one manufacturer of computer controller systems has utilized the Intel Corporation reprogrammable memory chip (Part No. 1702A) to store this variable information. However, an inherent difficulty using these memory chips is that ultraviolet light must be used in order to erase these memory chips and that selective erasure of information within a particular chip is unobtainable. Thus in order to change a control program representing an electrical circuit line network, it has been necessary to remove the memory chip from the controller system, to reprogram it with a potentially desirable new control program, and to re-insert the memory chip into the controller. All these operations are not only time consuming to operators of industrial equipment but also, due to the inherently dirty industrial environments, a rather hazardous procedure to undertake on the factory floor. In addition, it requires the operator of the controller system to be well versed in the removal of these memory chips as well as the reprogramming of these chips on special devices. If the operator has dirty or greasy hands, the removal of the memory chips may prevent the chip from being properly erased or possibly from the chip making proper electrical continuity in the reprogramming device. 
     All these inherent difficulties in using reprogrammable &#34;read only&#34; memory chips have been eliminated in the present invention. As best seen in FIG. 5, the memory chips 80 communicate to the outside world via a quartz glass window 84 mounted on the central processor 30. The quartz glass window, unlike ordinary glass, is transparent to ultraviolet light and thus allows the RROM chips 80 to be erased from an external source of ultraviolet light. The reprogramming module 34 contains a source of ultraviolet light 83 (see FIG. 8) which when activated causes the data stored within the RROM to be completely erased. The power supply module 32 does not contain such a light source, and therefore it is apparent that in order to erase the memory of the RROM, it is necessary that the reprogramming module 34 be connected to central processor 30. 
     Thus, in order to change the variable data within the RROM of the central processor, it is necessary that the reprogramming module be connected to the central processor and that the programming panel in turn be connected to the reprogramming module. As best seen in FIG. 2, to initially generate the electrical circuit line ladder network or control program into the RROM chips 80, it is first necessary to generate this information in the programming panel 66. The information may be entered line by line by the operator via the push buttons on the programming panel. As can best be seen in FIG. 6, a key lock switch 86 is then placed in a PROGRAM mode. When in this mode, the reprogramming module 34 provides the variable information to the central processor 30. Also the programming panel 66 can enter new electrical circuit lines in the reprogramming module. To enter a logic line consisting of normally open, normally closed, parallel normally open, and parallel normally closed switches the operator must perform the following operations: 
     A. set a line number (see FIG. 3) on key pad switches 88. The numbers selected are then displayed in a composition display 89. This display shows any number selected on key pad switches 88 before any other switch is depressed; 
     B. depress a LINE push button 90. At this time, the type of line will be shown in a display window 92. As shown in FIG. 6, line No. 15 is shown to be a relay type line. Designated lines of the controller system are relay lines while others are counter or timer lines; 
     C. put the key lock switch 86 into the PROGRAM position: 
     D. if the DISABLE lamp 94 is lit, and not specifically desired, press a DISABLE OFF switch 96 in order to turn off the DISABLE light; 
     E. press the A node push button 98; 
     F. set the desired line number or input number that is to set the initial condition of the electrical element in the A-node on the key pad switches 88; 
     G. press the desired electrical element to be entered in the A node via electrical element switches 100; and 
     H. repeat steps D, E, and F for the B, C, and D, nodes of the chosen circuit line. When this operation has been completed, a circuit line such as line No. 15 shown in FIG. 6 will be entered into the reprogramming module 34 and simultaneously displayed in display window 92 of the programming panel. 
     To enter a counter or timer line as shown in FIG. 4, a similar procedure is utilized except that the line number must be one that is designated to be a counter line. Such a line number is entered on key pad switches 88 and when LINE push button 90 is depressed, the display window will indicate that a counter line has been selected. The same steps as discussed in the relay type line are utilized to enter the electrical elements into the A and B nodes of the counter line. To finish the counter line, the following steps are undertaken: 
     A. press the C button; 
     B. set the preset count on the key pad switches 88. 
     The D node does not need to be set since this node merely accumulates the count or time for this particular electrical circuit line and is thus initially set to zero. 
     Once the desired electrical circuit lines are programmed into the reprogrammable module, the information may then be transferred to the RROM by turning the key lock switch 86 to the WRITE position. At this point an ultraviolet lamp within the reprogramming module activates causing the information in the RROM to be erased. When the reprogramming module ascertains via ultraviolet sensor 93 (see FIG. 8) and via the RROM interface 128 that all the information in the RROM has been erased, the control program in the reprogramming module RAM 130 is transferred to the RROM. Once this transferral of information has been completed, the reprogramming module 34 may be removed from the central processor 30 and the power supply module 32 re-connected to the central processor. As best seen in FIG. 2 a paper tape module 102 may be connected to the programming panel 66 via cable 104 wherein the paper tape contains a desired control program. To enter the information on the paper tape into the programming panel and thus into the reprogramming module, the paper tape READ push button 106 on the programming panel (see FIG. 6) must first be depressed. A CHECK push button 108 is utilized to verify that the information has been properly received by the reprogramming module. This feature is generally used to verify a tape which has been recently punched, and to check a RROM memory image against source data. Once the desired information from the paper tape has been received by the reprogramming module, the transferral of this information to the RROM chips 80 of the central processor is accomplished by the identical method described above. It should also be noted that a paper tape record of a control program within the reprogramming module may be obtained by depressing a PUNCH push button 109 located on the programming panel. 
     THE FUNCTIONAL BLOCKS 
     As can best be seen in FIG. 8, the functional block diagram of the computer controller system of the present invention consists of two sections that communicate with one another via the connector 49 and quartz window 84. A first area is the central processor and a second area is the reprogramming module and programming panel. The central processor comprises functional blocks which perform all the logic solving, counting and timing that is needed to update each electrical circuit line of the controller system as well as generating output information that is to be relayed to the input/output assembly comprising the input/output housing 36 as well as input/output modules 38 and 40 (see FIG. 1). The detailed electrical schematics for the central processor are shown in FIGS. 12A through 12F, 13A through 13H, and 14A through 14J. 
     The reprogrammable &#34;read only&#34; memory consists of ultraviolet &#34;read only&#34; memory chips (INTEL CORPORATION, PART Number 1702A). These memory chips contain 256 eight-bit electrically programmable words that are capable of being erased via ultraviolet light. As seen in FIG. 8 an ultraviolet light source 83, contained in the reprogramming module 34, is able to impinge on these memory chips via quartz window 84. The RROMs store all the variable information regarding all the electrical circuit lines and the electrical elements within those electrical circuit lines. To store an electrical circuit line as shown in FIG. 3, six RROM words are utilized. These six words, as shown in FIG. 7A present four, 12-bit words which make up one electrical circuit line of information. These 12-bit words are broken into three, four-bit sub-words denoted by A1, A2, A3, B1, B2, B3, C1, C2, C3, D1, D2, and D3 (see FIG. 7B). As shown in FIG. 7C these four, 12-bit words represent one of the four nodes of the electrical circuit line selected. Thus with respect to the A-node, the first three bits of the A3 sub-word are utilized to define the state of the line as well as the electrical element chosen for that line. The last line bits of the A word comprising one bit of the A1 sub-word as well as the A2 and A1 sub-words refer to the address of the electrical circuit line relay coil to which this particular electrical element in this node is referenced to or to an input address that references this particular electrical element. The same configuration is also used for the B, C, and D nodes of the electrical circuit line stored in the six, eight-bit words of the RROM memory area. 
     It should be noted that each electrical circuit line of the computer controller system refers to a designated area in the RROM comprising six, eight-bit words in the RROM. Thus the entire memory area of the RROM memory chips utilized by the central processor is designated to particular electrical circuit lines of the computer controller system. Thus if line No. 3 is selected on the programming panel, a particular area in the RROM, comprising six, eight-bit words, is selected to store this information. As will be discussed further in this description, the selection of the particular address of the RROM that will contain the information regarding a particular electrical circuit line is performed by modules stored in the reprogramming module. 
     As best seen in FIG. 7D, the first column (a column) of each of the 12 bit words as well as the third column (b column) represent the particular electrical element chosen for the particular node of this particular twelve-bit word. Thus, if for the A word a φ is put into the a and b bit columns, the electrical element is a normally open switch. Similarly if the φ is placed in the a column and a 1 is placed in the b column, a normally closed switch is to be entered in the A-node. A similar procedure is utilized for the B, C, and D nodes to enter the particular electrical element desired for each of these nodes. As also seen in FIG. 7C under the a column with respect to the A 12-bit word, an X1 is shown, while for the c column in the D 12-bit word an X2 is shown. As seen in FIG. 7E, the states of the X1 and X2 bits refer to the particular state of the entire electrical circuit line. Thus if a φ is in the X1 and the X2 bits, this particular electrical circuit line will be disabled in an OFF state. What this state means is that when the central processor comes to solve this particular circuit line once every sweep through all the electrical circuit lines, it will sense this φφ state in the X1 and X2 bits and will completely disregard any other information stored in the remaining 46 bits dedicated to this particular electrical circuit line. The purpose for this type of disable state is that if the operator is programming electrical circuit lines in his ladder diagram (see FIG. 3) and a particular line has not been utilized (for instance lines 5 through 17) the operator need not input any information with regard to these circuit lines. When the RROM is then supplied the information regarding all the electrical circuit lines and no information is received regarding lines 5 through 17, states φ and φ will be placed in the X1 and X2 bits, and the central processor will then interpret these lines as being disabled. It should be noted that the X1 position is the a column bit of the A 12-bit word instead of the B, C or D words since parallel normally open and closed switches in the A-node are redundant with respect to normally open and closed switches. 
     As also seen in FIG. 7E, it is possible to disable a particular electrical circuit line in the ON state. When this occurs the relay coil of the particular electrical line is energized regardless of the conditions of the A, B, C, and D-nodes of that circuit line. The operator obtains this state by depressing DISABLE ON switch 99 on programming panel 66. 
     When the circuit line is to be used in normal operation as either a relay line or as a timer or counter, a 1 is placed in the X1 bit and a φ is placed in the X2 bit. The central processor will then interpret this circuit line as a normally programmed circuit line and will proceed to solve the electrical elements in the four nodes of this circuit line. 
     In addition it may be desired to disable a circuit line that has previously been programmed into the RROM without the necessity of erasing the entire memory of the RROM. Thus if the line was previously a normal circuit line, the X1 bit would be a 1 and the X2 bit would be a φ. If it is desired to make this line a disabled OFF, the operator would depress the DISABLE OFF switch 96 which would then cause a 1 to be placed within the X2 bit when key lock switch 86 is placed in the WRITE mode and LINE WRITE switch 110 is depressed (see FIG. 6). It is therefore always possible to disable in an OFF state any previously programmed electrical circuit line. 
     As best seen in FIG. 8, a logic and counter processor 112 of the central processor performs the actual solving of the electrical circuit lines stored within the RROM 80. The logic and counter processor sequentially solves each of the electrical circuit lines once ever 5 milliseconds. The processor as well as the other function blocks of the central processor is composed of solid state devices as shown in FIGS. 12, 13 and 14. 
     More particularly the processor retrieves data concerning the electrical circuit lines by addressing the RROM along address lines 114. When the power supply module 32 is interconnected with the central processor 30, the address lines 114 communicate with address lines 116 of the RROM via cable 118 located within the power supply (shown in phantom in FIG. 8). The addressing of the RROM causes data within the RROM to be transferred to the logic and counter processor 112 via data lines 120, 122, and 124 if the power supply module is placed. 
     If the reprogramming module 34 is connected to the central processor the logic and counter processor 112 retrieves data on its data lines 124 from a controller interface 126 located within the reprogramming module. In this particular case the logic and counter processor 112 addresses a RROM interface 128 which in turn receives electrical circuit line information from a random access memory 130. 
     Once the logic and counter processor receives the data for a particular electrical circuit line it proceeds to solve each electrical element in that electrical circuit line with respect to the particular referenced relay or input to which that electrical element is referenced. If the particular electrical circuit line is a dedicated counter line, the processor proceeds to ascertain if the A-node of this line is closed during this particular sweep. If the A-node is closed and the B-node is not open, a count is added to the previous count of this line and stored in the D-node. This counting information is stored in a portion of the central processor&#39;s electronic circuitry shown in the block diagram as a counting memory 132. The counting memory stores counting information regarding every counter or timer line utilized in the control program of the computer controller system. 
     If a particular line is chosen to be a timer, it is solved in the same manner as a counter line except that an internal clocking signal is utilized to trigger a count in counting memory 132. 
     If the logic and counter processor 112 ascertains that the electrical elements in a relay type line are all closed or that the count in a counter line or the time in a timer line is equal to the preset count or time respectively, the processor indicates to a coil data random access memory (RAM)134 that the simulated relay coil of this particular electrical circuit line is to be energized. The coil data RAM maintains information on each simulated relay coil of each electrical circuit line of the computer controller system. If a particular relay coil is to be energized, the coil data RAM stores information indicating the energized state of this coil. 
     This information is then transferred to an input/output refresher 136, which in turn sequentially transfers information regarding each electrical circuit line&#39;s relay coil to an input/output multiplexer 138. The refresher incorporates shift registers that perform this sequential transfer of data from the coil data RAM to the input/output multiplexer. The input/output multiplexer communicates with the input/output housing 36 and modules 38 and 40 (see FIG. 1) so as to energize the proper areas of an interconnected external device 40. The input/output multiplexer incorporates de-multiplexing circuitry which transforms the sequential information from the input/output refresher to a parallel form of output signal to the input/output assembly. 
     The input/output multiplexer also includes a latch circuit 139 that communicates with the remainder of the multiplexer via circuit lines 141 and 143. This latch circuit allows designated outputs to have retentive memories in case of a power failure. Thus if a latch output is energized before the power shutdown, a corresponding latch input will be initially energized when the computer controller system is re-energized, but will follow the corresponding latch output after an initial time delay. 
     As shown in FIG. 8, the input/output multiplexer also receives inputs from the input/output assembly. These signals are digitized equivalents of signals (including possible sensor signals) generated by the external device being controlled by the computer controller system. The input multiplexer section of the input/output refresher 136 sequentially looks at all the inputs from the input/output assembly. If an energized or high signal is found to exist on any particular input line during any one of five sequential scans of that input line, the refresher will interpret this high signal as indicating that the input from the external device is in the energized state. The reason that the refresher looks at each input five times is to eliminate the need for capacitive energy storage and rectification circuitry for each input line. 
     The output multiplexer section of the input/output refresher employs a shift register which stores a group of simulated relay coils. The contents of this register is sequentially distributed to triac gates (via suitable isolating circuitry) to drive external AC loads. This technique also eliminates energy storage and triggering circuitry for each output line. 
     The transferral of information between the refresher and the logic and counter processor is sequentially performed by the shift registers within the refresher. The input/output refresher transfers all the information regarding each of the inputs and outputs between the input/output multiplexer and the logic and counter processor 112 which in turn utilizes this information to determine the particular state of the electrical elements in the electrical circuit lines. 
     The central processor 30 also includes a sequence processor module 140 that is used to generate a sequence function on a particular dedicated counter line of the computer controller system. As best seen in FIG. 9, a sequencer allows a counter line to program up to 100 steps of sequence control. If the B node is closed, each time the A-node of this particular electrical circuit line is closed the sequencer sequentially energizes the next higher reference memory location in the sequence processor 140 and simultaneously de-energizes the current location. This particular memory location acts like an internal input and may be referenced to any electrical element in any particular electrical circuit line. In the preferred embodiment, any node may directly reference any of the 100 reference memory locations of the sequencer. When a sequencer coil is referenced the sequence processor 140 communicates with the logic processor to determine the state of the sequencer memory reference location. When the B node is open, reference memory location φ is energized and all other locations are de-energized. 
     The central processor receives the proper electrical energy to drive the central processor as well as the input/output assembly from the power supply module 32 if it is connected to the central processor or via a programmable power supply 142 of reprogramming module 34 if the reprogramming module is connected to the central processor. In either case, the electrical energy is received by the central processor through pin connections in the peripheral interface connector 49. 
     Furthermore, the central processor 30 communicates through peripheral interface connector 49 to the power supply 32 with respect to the internal running condition of the central processor via internal signal lines 144 and 146. If the central processor is operating properly in solving the electrical circuit lines a RUN light 48 on the power supply module 32 is energized (see FIG. 1). When the reprogramming module is connected to the central processor, a programming panel POWER switch 149 must be in the ON state before the RUN light will be energized (see FIG. 6). It should further be noted that the power supply module 32 as well as the reprogramming module 34 have a POWER light 150 that is energized when each module respectively is energized. A POWER switch 151 on the power supply module or reprogramming module is respectively used. 
     The central processor utilizes the same internal signal lines when the reprogramming module 34 is interconnected to the central processor. In this case, a similar RUN light 148 is energized if the controller is properly solving the electrical circuit lines and similarly the POWER light 150 is energized when the reprogramming module&#39;s programmable power supply 142 is supplying electrical energy to the central processor (see FIG. 2). 
     As can best be seen in FIG. 8, the reprogramming module 34 and programming panel 66 incorporate a number of functional blocks which are utilized by the computer controller system to monitor, program and write in the electrical circuit lines to the RROM 80 of the central processor 30. 
     As best seen in FIG. 6, when the programming panel is in the MONITOR mode, the information regarding the electrical circuit lines is stored in the RROM 80 and is viewable in display window 92 of the programming panel. Thus, in order to view line number 15, the operator would depress the 1 and 5 push buttons of key pad switches 88, and then depress LINE push button 90. At this point the programming panel would display the information shown in the display window 92. As seen in FIG. 6, this particular circuit line has a normally open switch in the A-node and a normally closed switch in the B-node, a normally open parallel switch in the C-node and a normally closed switch in the D-node. The reference relay coils for these nodes respectively are lines 096, 120, 207, and 240. As seen in FIG. 6, these reference coils are in the state to cause their respective electrical element to have continuity as shown by the arrows in each node location. The arrows shown in the display window indicate that electrical continuity and thus power is passing through each particular node and therefore relay coil number 015 is energized. 
     If electrical circuit line 016 is to be observed, the SCROLL UP push button 152 is depressed. On the next sweep through the electrical circuit lines, the information in the electrical circuit line 016 is displayed in display window 92. Similarly, if line 14 is to be observed, the SCROLL DOWN push button 154 is depressed until line number 014 is displayed in display window 92. As best seen in FIG. 11, the scroll function allows sequentially higher or lower circuit lines to be observed in display window 92. Thus the scroll function provides an easy technique to observe electrical circuit lines in sequential order from any particular circuit line previously observed by the operator. 
     If the operator desires to observe an electrical circuit line that is referencing a condition of a particular electrical element of a particular node in a presently observed electrical circuit line, the trace function of the present invention is utilized. Thus, in the present example, where line 015 is being observed, if the operator desires to observe the condition of electrical circuit line 207 which is referencing the condition of the normally open parallel switch in the C-node, the operator depresses a C-node push button 156 and then depresses the TRACE UP push button 158. At this time, electrical circuit line 207 is displayed in the display window 92. If the operator then wants to observe a circuit line whose output coil is referencing a particular node in line 207, a similar procedure is again performed. When the operator wants to return to line 015, he simply depresses the TRACE DOWN push button 160 until line 015 is redisplayed in display window 92. The operation of the trace function is best seen in FIG. 10. 
     As best seen in FIG. 8, when the programming panel is in the MONITOR mode, information in the RROM 80 is transferred to the RROM interface 128 via address information from controller interface 126 on address lines 162 of the reprogramming module and address lines 116 of the central processor. The data in the RROM is then transferred via data lines 120 and data lines 164 to the RROM interface 128. From the RROM interface 128, the electrical circuit line information is transferred to the random access memory 130 where it is in turn transferred to the controller interface 126 and a microprocessor 166. The information transferred to the controller interface is in turn transferred to the logic and counter processor 112 where the electrical circuit lines are solved in conjunction with the other blocks of the central processor. The electrical circuit line information transferred to the microprocessor 166 is transformed and acted upon by the microprocessor and in turn transferred to a panel interface 168 via data lines 170. The panel interface serially transmits this data in standard UART form to panel lights and switches 172 of the programming panel 66 via data lines 174. The information regarding the particular electrical circuit line desired as selected by the operator is first transferred to the panel interface 68 via data lines 176 when this information programming transferred in a proper form to microprocessor 166 via DATA FROM lines 178. 
     When the programming panel&#39;s key lock switch 86 is placed in the PROGRAM mode, the computer controller system is no longer operating from information within the RROM 80 but is being controlled by information from the reprogramming module 34 and proramming panel 66. When the computer controller system is placed in the PROGRAM mode, all the electrical circuit line information in the RROM is transferred to RROM interface 128 and in turn to the random access memory 130 where it is stored. In this manner, all the previous information in the RROM is retained by the reprogramming module so as to allow the central processor to initially control the external devices in the same manner as when the power supply 32 is interconnected with the central processor 30. If the operator desires to observe any particular electrical circuit line, he merely dials on key pad switches 88 the desired number of that particular line and the information regarding that line will be shown in display window 92 (see FIG. 6). If the operator desires to add an electrical circuit line to the current control program, he merely dials this particular electrical circuit line on the key pad switches 88, depresses the LINE push button 90 and then selects the element types and reference relays or input address that is to govern the initial condition of each element type chosen. At this point, the information in the panel lights and switches 172 is transferred to the panel interface 168 and in turn transferred to the microprocessor 166. It should be noted that the information transferred to the microprocessor also includes control information from the panel interface via control lines 180. The microprocessor 166 proceeds to act upon this information and transfers it to the random access memory 130 in such a manner that it may be accepted by the logic and counter processor 112 and acted upon by the processor so as to solve this new electrical circuit line along with the previous electrical circuit lines stored in the random access memory. 
     The microprocessor 166 comprises an Intel Corporation Model MCS4 microprocessor, and this microprocessor is programmed to perform all the interfacing and transferral of control and data to the various functional blocks in the reprogramming module so as to provide the central processor with information regarding all the electrical circuit lines as well as providing the desired receipt and transferral of information to the programming panel and a teletype interface 182. The various programs stored in the microprocessor 166 are shown in Tables 1 and 2 and the flow charts of these programs is shown in FIGS. 22, 23, 24 and 25. ##SPC1## ##SPC2## ##SPC3## ##SPC4## ##SPC5## ##SPC6## ##SPC7## ##SPC8## ##SPC9## ##SPC10## ##SPC11## ##SPC12## ##SPC13## ##SPC14## ##SPC15## ##SPC16## ##SPC17## ##SPC18## ##SPC19## ##SPC20## ##SPC21## 
     If RROM 80 of the central processor is initially empty and a complete control program is desired to be placed within the central processor, it is possible to transfer this information to the random access memory 130 via the teletype interface 182. The teletype interface is a functional block consisting of electronic circuitry. The schematic diagram for this functional block as well as the remaining functional blocks of the reprogramming module and the programming panel are inclusively shown in FIGS. 15, 16, 17, 18, 19, 20, and 21. The teletype interface accepts paper tape information from a paper tape reader (see FIG. 2) and transfers this information to microprocessor 166 where it is interpreted and transferred to the random access memory and there stored representing the particular electrical lines of the control program. 
     It is thus apparent that when the programming panel is in the PROGRAM mode, information regarding electrical circuit lines may be readily entered into any existing program and also that entirely new programs may be transferred to the random access memory 130 by use of the teletype interface 182. It should be noted that when information from the teletype interface is to be read into the reprogramming module 34, it is necessary that the operator depress the READ push button 106 of the programming panel 66 (see FIG. 6). 
     While in the PROGRAM mode not only is the random access memory 130 capable of receiving additional information regarding new electrical circuit lines but it is also transferring this information via the control interface 126 to the central processor 30 where each electrical circuit line is repeatedly being solved every 5 milliseconds. Thus the present invention allows an operator to de-bug an existing control program or insert an entirely new control program and then de-bug it while the computer controller system is on-line and controlling external devices. This feature is of extreme importance in industrial control situations since it may be necessary in many circumstances to see what affect a new or an altered electrical circuit line will have on the total control of the industrial process. 
     It should also be noted that not only will new electrical circuit lines be added to a current program but that the same electrical circuit lines of the original control program, which may have been initially stored in the RROM, may also be altered by the operator. 
     Following the obtainment of the desired control program, the information within the reprogramming module concerning the electrical circuit lines may be transferred to the RROM 80 of the central processor 30. In order to perform this function, the programming panel key lock switch 86 must be placed in the WRITE mode. If all the information in the random access memory concerning the electrical circuit lines is to be entered in the RROM, then ALL push button 186 is then depressed. When this switch is depressed, the reprogramming module initiates the erasing of all the information in the RROM. This is performed by the microprocessor 166 sending control information to a RROM erase module 188 via control lines 190. The RROM erase module 188 then activates ultraviolet light source 83 which communicates through quartz window 84 to the RROM memory chips 80. The light is detected by an ultraviolet sensor 93 which indicates to the RROM erase module 188 that the light source is functioning properly. 
     While the RROM erase module 188 is causing the ultraviolet light source 83 to erase the information in the RROM memory chips, the microprocessor 166 is sensing the current state of all the memory bits in the RROM memory chips. The reason for this operation is that it takes approximately 21/2 minutes to erase all the information in the RROM memory chips and thus the microprocessor ensures that all the information in these chips is erased before the RROM erase module is deactivated causing the ultraviolet light source 83 to be deactivated. 
     Once the microprocessor determines that all the information in the RROM memory chips is erased, the microprocessor initiates the reprogramming of these chips by causing the information stored in the random access memory 130 to be sequentially transferred to designated words of the memory chips as discussed above and as shown in FIG. 7A. In order to program these memory chips, it is necessary that approximately 50 volts be placed on each memory bit that is to be placed in the ON state. Since under normal operations approximately 12 volts DC is used, it is necessary that the power supply 142 in the reprogramming module be capable of supplying the 50 volts DC when the RROM memory chips are to be reprogrammed. In such a case, the microprocessor sends a signal to a timing and reset control module 194 which in turn transfers a signal to the programmable power supply 142 via circuit line 196. The power supply then transmits to the RROM the necessary 50 volt DC current via power lines 198. 
     After all the information in the random access memory has been transferred in the proper form to the designated areas in the RROM memory chips, the microprocessor 166 terminates the WRITE operation and causes this completion of the WRITE operation to be displayed in one of a number of special display areas 167, 169, 171, 173, and 175 of the display window 92 of the programming panel. The other display areas are used to show error signals generated by the microprocessor in response to a fault in the computer controller system or an impermissible entry on the programming panel. 
     If only an additional line or lines is desired to be added to the control program originally stored in the RROM 80, it is possible to program in this information without first erasing all the information in the RROM. To do this operation, the key lock switch 86 is first placed in the WRITE mode and then the WRITE LINE push button 110 is depressed. At this time, the microprocessor 166 causes the particular line chosen on key pad switches 88 to be entered into its designated area of the RROM memory chips 80. If the line number chosen on the key pad 173, switches is the same as a previously stored line in the RROM memory chips, the new information desired for this particular line may be entered into the RROM if this new information comprises the changing of certain bits from a φ state to a 1 state. If this new information requires a previously programmed 1 bit to be placed in the 0 state, the desired change may not be performed since it is impossible to selectively erase bit locations in the ultraviolet memory chips. In this case, the microprocessor, through the panel interface 168 causes an error signal to be shown in one of the error display areas 169, 171, 173 or 175 of display window 92. 
     It should be noted, as discussed above, that it is always possible to cause a previously entered electrical circuit line to be disabled in the OFF state without erasing the entire memory of the RROM memory chips. This is because a 1 may always be entered into the X1 and X2 positions of two of the twelve-bit data words comprising one electrical circuit line (see FIGS. 7C and 7E). Once all the information with respect to a particular control program has been properly transferred to the RROM memory chips, it is possible to remove the reprogramming module 34 from the central processor 30 and replace the reprogramming module with the power supply module 32. The power supply module then supplies the necessary electrical power to the central processor and also prevents the RROM memory chips from being erased by stray ultraviolet light. If at a later time, it is desired to observe the electrical conditions of these electrical circuit lines or to change or even to write in a new control program, the reprogramming module 134 is again connected to the central processor 30 and the operations described above are repeated with respect to the desired change. 
     Thus a computer controller system has been described that utilizes reprogrammable &#34;read only&#34; memory chips to store the control program selected by the operator to control and monitor an industrial process. The computer controller system allows the control program to be varied by an operator while the system is on-line. 
     It should be noted that although hardwire electronics were disclosed with respect to the central processor, that the solving of the electrical circuit lines could also be performed by a digital computer. In addition it is apparent to one skilled in the art that the reprogrammable &#34;read only&#34; memory chips may be used with central processors that perform functions other than the solving of electrical circuit lines. It is therefore also apparent that the reprogramming assembly that enters, varies, and monitors these memory chips may do so when these chips are providing the variable memory for such non-electrical circuit line solving central processors.