Abstract:
A method for operating a boiler including sensing a demand for heat and generating and ignition request to a flame safety controller. An ordered succession of evaluation modes compares normal operation to actual operation of control devices through the step of controlled ignition and transitions to a failure mode if an evaluation mode is not successfully completed. In addition, a series of status modes with each status mode being represented as an input condition are tested. A relative priority structure is established among the status modes and a unique message is associated with each status mode having an input condition that is true. Testing of the individual status modes proceeds in a predefined order until a status mode in a true condition is found and the unique message is displayed. In multiple boiler installations, a sequencer maintains a record of run times, determines an energy need and issues control commands to vary a firing rate or add or delete boilers giving consideration to the runtimes of the boilers.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    The present invention relates generally to boiler control systems and more specifically to a boiler control system for use with only one boiler or with multiple boilers. The present invention relates specifically to a Boiler Interface Controller, a Human Interface Panel and a Fault Tolerant Multiple Boiler Sequencer. The system will be explained with reference to hot water boiler(s) but it is understood that it applies as well to water heater(s).  
           [0002]    The application of a thermostat to boiler control has traditionally been handled by an electromechanical control that presents a digital (on or off) request for heat to a flame safety controller that would actuate a gas valve and purge system on a typical gas boiler. With the advent of microprocessor-based controls, many new features allow display and control of thermostat information, e.g., setpoint information and control point status on an annunciator screen.  
           [0003]    Flame safety boiler controls directly affect those elements that may cause an unsafe condition. Flame safety controls have very high safety standards and require strict testing and failure analysis, particularly for microprocessor-based controls. This level of safety and control can demand extra dollar value in the market place due to the liability issues and the difficulty of implementing controls that meet these safety standards. Customization and feature enhancements of flame safety controllers are prohibitively expensive, due to the cost of certification and testing. Components of the gas flame safety controller ignition cycle include safety checks, pre-purge, igniter surface preparation, trial for ignition, gas valve actuation, ignition, and post-purge. Manufacturers of flame safety products typically provide flame safety controllers to an original equipment manufacturer (OEM) for boilers. The OEM then integrates these controls into their boiler designs. Some of the boiler control products also incorporate temperature control sensing and setpoints into the device, but these are usually limited to single standalone boiler devices.  
           [0004]    Smaller boilers can be designed to be “condensing”; meaning the efficiency will be much higher than a traditional boiler design. These condensing designs typically require a feedback loop of hot water to ensure that the water temperature to the main heat exchanger does not go below the condensing temperature of the waste combustion gas, typically 130 degrees F. In the past this feedback loop normally included a manually controlled valve.  
           [0005]    New gas valve technologies have evolved that will automatically adjust the boiler combustion air to fuel ratio based on the air pressure of firing rate combustion rate. With the new gas valve technologies, the addition of a variable frequency drive (VFD) allows for “modulating” or controlling the firing rate of the boilers from low to high firing rate. In addition, VFD allows purging of the combustion chamber when gas is not intended to be present.  
           [0006]    Thus a need exists for a low-cost high-performance Boiler Interface Controller (BIC) that interfaces with a Flame Safety Controller and other boiler devices to provide the benefits of digital boiler control and includes control of a bypass valve in a condensing boiler, control of variable firing rate and greatly increased information on the operation of the boiler.  
           [0007]    The present invention also relates to a Human Interface Panel (HIP) for use with a Boiler Interface Controller (BIC) that may be used with systems having only one boiler or having multiple boilers. The HIP will first be described for use with a BIC, but it is to be understood that the HIP of the present invention is also useful with any boiler that is arranged as described herein.  
           [0008]    In the past human interface devices have typically been related to just one aspect independent of others, e.g., such individual aspects could include flame safety, thermostat, gas valve, bypass control, sequencer, and maintenance. There has been no integration of these aspects in previous interfaces. In addition, past displays require expensive and numerous remote interfaces, relays and complicated electrical communication protocols that require highly specialized, flame-safety-robust, fail safe communications protocols. This was necessary because an improper electrical connection or short in a flame safety controller interface could shut down or disable a crucial flame control activity. Thus a high cost interface with substantial safeties and electrical protections was required.  
           [0009]    Boiler controls require that a number of sequential events occur before the controlled ignition of gas in the boiler occurs. Examples of these events include but are not limited to proof of water flow, proof of satisfactory gas pressure, and proof of combustion fan operation. If any of these and other events fail to be proven, then the sequence of events that normally leads to controlled ignition is halted and the cause of the failure must be investigated and corrected. In the past when this occurs the only known fact is likely to be that the boiler is not functioning and this may only become known after the occupied space served by the boiler is no longer heated to a comfort condition. Typically a boiler service person would then be called and would eventually inspect the boiler and through trained observation and/or a series of tests identify the problem and do what is necessary to correct the problem. This process may result in considerable period during which the space served by the boiler is not heated to a comfort condition. An uncomfortable occupied space can result in dissatisfied tenants and/or a considerable loss of productivity. In addition to the scenario just described there are needs for regular inspection and servicing of boilers under circumstances where the boiler has not failed. Boilers are complicated devices that should be periodically inspected and the necessary sequential events that lead to controlled ignition of gas should be observed by a qualified boiler service person to determine that they are properly functioning. Testing or diagnostic tools that enable the service person to observe the sequential events will help to assure that the boiler is functioning properly. Thus a need exists for a device that allows a person to better understand the functions that are occurring or not occurring within the boiler control system.  
           [0010]    The present invention also relates to a Fault-tolerant Multi-Node stage Sequencer. The design of boiler systems for commercial, industrial, and institutional buildings is typically performed by a consulting engineer, who specifies the type, number, and size of boilers needed for heating systems. There are many factors that weigh into the decisions an engineer makes when selecting and sizing boilers for a heating system including capacity of the system, what is the load present on the system, and what is the worst case load conditions that would be required for the system to provide adequate heat. The specification of a single, large heating capacity boiler can satisfy the heating demand for the worst load conditions, which in cold climate Heating Ventilating and Air Conditioning (HVAC) applications would be defined as the “design temperature”. Typically, a very cold outside air temperature requires the full capacity of the boiler to provide heat for the building. However, the typical use of this load level would be limited to a total of less than 2% of the total year time. Design of smaller, but multiple boiler system can lead to a reduction of the “excess capacity” of the boiler system on a typical system from 40% to 4%, which represents significant operational savings, increased system efficiency, and improved heat system reliability. For example a lightly loaded system could have its requirements met by using only 1 of 3 smaller, more efficient boilers instead of using ⅓ the capacity of a larger boiler.  
           [0011]    The control system for a multiple boiler or staged boiler system is necessarily different than the control system for a single boiler. For example, in a multiple boiler system, consideration must be given to the number of stages, whether the boilers have variable firing rates, under what conditions an individual boiler will be turned on or turned off, the strategy for equalizing run time of the individual boilers, what occurs in the event of the failure of an individual boiler and other factors. In the past these considerations have frequently required a more or less custom design and installation process and the increased costs that accompany such a process. Thus there is a need for a boiler control system that takes into consideration the number of boiler stages and whether the boilers have a variable firing rate, provides a technique for decisions as to adding or deleting a boiler, equalizes run times and automatically compensates in the event of failure of an individual boiler.  
         SUMMARY OF THE INVENTION  
         [0012]    The present invention solves these and other needs by providing in a first aspect a method for operating a boiler including sensing a demand for heat and generating and ignition request to a flame safety controller. A first evaluation mode in a succession of evaluation modes then sets certain defined conditions, reads certain defined conditions and compares selected conditions. If the comparison indicates normal operation, then a next evaluation mode occurs. The boiler control system transitions to a failure mode if an evaluation mode is not successfully completed. In another aspect the boiler control system provides a signal for controlling a variable firing rate boiler  
           [0013]    In another aspect the HIP of the present invention solves these and other needs by providing a method of analyzing information from a boiler control system. The method includes providing a series of status modes with each status mode being represented as an input condition to be tested. A relative priority structure is established among the status modes and a unique message is associated with each said status mode having an input condition that is true. The individual status modes are then tested in an order defined by the priority structure until a status mode in a true condition is found. The unique message associated with the status mode found to be true is then provided on an electronic display. The status modes may be selected from one or more of diagnostic modes, start up modes emergency modes and stage information modes.  
           [0014]    In yet another aspect, the Sequencer of the present invention provides a method for controlling energy systems such as multiple boiler systems to meet an energy need. A controller is configured as a sequencer and the remaining controllers act as individual boiler controllers. The energy need is determined by measurements at the sequencer. Individual boiler controllers periodically send status messages to the sequencer and a record of runtimes of the boilers is maintained at the sequencer. The sequencer periodically sends control commands to the boiler controllers to add or delete boilers. The control commands give consideration to the runtimes of the boilers. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0015]    [0015]FIG. 1 is a diagram of a single boiler arrangement.  
         [0016]    [0016]FIG. 2 is a functional block diagram of a Boiler Interface Controller (BIC) according to the principles of that invention.  
         [0017]    [0017]FIG. 3 is a functional block diagram of a Human Interface Panel (HIP) for use with one BIC according to the principles of the HIP invention.  
         [0018]    [0018]FIG. 4 is a functional block diagram of a Human Interface Panel for use with a Sequencer according to the principles of the HIP invention.  
         [0019]    [0019]FIG. 5 is a contextual software drawing of the Sequencer and modular boiler system of FIG. 4.  
         [0020]    [0020]FIG. 6 is an illustration of certain details of the Sequencer of FIGS. 4 and 5. FIG. 7 a  and FIG. 7 b  are a diagram illustrating an overview of the operation of the BIC invention of FIG. 2.  
         [0021]    [0021]FIG. 8 is a flowchart diagram illustrating the operation of the BIC invention in the idle mode, mode  0 .  
         [0022]    [0022]FIG. 9 a  is a flowchart illustrating the operation of the BIC invention in the water flow evaluation mode, mode  1 .  
         [0023]    [0023]FIG. 9 b  is a flowchart illustrating the operation of the BIC invention in the water flow failure mode, mode  1 A.  
         [0024]    [0024]FIG. 9 c  is a flowchart illustrating the operation of the BIC invention in a water flow test routine, T 1 .  
         [0025]    [0025]FIG. 10 a  is a flowchart illustrating the operation of the BIC invention in the low gas pressure evaluation mode, mode  2 .  
         [0026]    [0026]FIG. 10 b  is a flowchart illustrating the operation of the BIC invention in the low gas pressure failure mode, mode  2 A.  
         [0027]    [0027]FIG. 10 c  is a flowchart illustrating the operation of the BIC invention in a low gas pressure test routine, T 2 .  
         [0028]    [0028]FIG. 11 a  is a flowchart illustrating the operation of the BIC invention in the low air evaluation mode, mode  3 .  
         [0029]    [0029]FIG. 11 b  is a flowchart illustrating the operation of the BIC invention in the low air failure mode, mode  3 A.  
         [0030]    [0030]FIG. 11 c  is a flowchart illustrating the operation of the BIC invention in a low air test routine, T 4 .  
         [0031]    [0031]FIG. 12 a  is a flowchart illustrating the operation of the BIC invention in the blocked drain evaluation mode, mode  4 .  
         [0032]    [0032]FIG. 12 b  is a flowchart illustrating the operation of the BIC invention in the blocked drain failure mode, mode  4 A.  
         [0033]    [0033]FIG. 12 c  is a flowchart illustrating the operation of the BIC invention in a blocked drain test routine, T 4 .  
         [0034]    [0034]FIG. 13 a  is a flowchart illustrating the operation of the BIC invention in the prepurge evaluation mode, mode  5 .  
         [0035]    [0035]FIG. 13 b  is a flowchart illustrating the operation of the BIC invention in the soft lockout mode, mode  5 A.  
         [0036]    [0036]FIG. 14 a  is a flowchart illustrating the operation of the BIC invention in the ignition evaluation mode, mode  6 .  
         [0037]    [0037]FIG. 14 b  is a flowchart illustrating the operation of the BIC invention in the flame failure mode, mode  6 A.  
         [0038]    [0038]FIG. 14 c  is a flowchart illustrating the operation of the BIC invention in a flame failure test routine, T 5 .  
         [0039]    [0039]FIG. 15 is a flowchart illustrating the operation of the BIC invention in the boiler on evaluation mode, mode  7 .  
         [0040]    [0040]FIG. 16 is a flowchart illustrating the operation of the BIC invention in the heat mode, mode  8 .  
         [0041]    [0041]FIG. 17 is a flowchart illustrating the operation of the BIC invention in the post purge preparation mode, mode  9 A.  
         [0042]    [0042]FIG. 18 is a flowchart illustrating the operation of the BIC invention in the post purge mode, mode  9 B.  
         [0043]    [0043]FIG. 19 is a functional block diagram of a network which provides automatic self-configuration of controllers acting as nodes on a network according to the principles of that invention.  
         [0044]    [0044]FIGS. 20 a  through  20   d  are flowcharts illustrating a portion of the operation of the HIP invention of FIGS. 3 and 4.  
         [0045]    [0045]FIG. 21 is an example of a menu for an operator interface according to the prior art.  
         [0046]    [0046]FIG. 22 is an example of a menu according to the principles of the HIP invention of FIGS. 3 and 4. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0047]    A single boiler arrangement is shown in FIG. 1 including water circulating pump  12 , primary heat exchanger  14  and secondary heat exchanger  16  which utilizes combustion waste heat  17 . Recirculating valve  20  insures that a minimum water temperature is maintained in the boiler. Supply or outlet water temperature sensor  22 , return or inlet water temperature sensor  24 , and bypass water temperature sensor  26  are also shown. A variable firing rate is provided for the boiler by variable frequency drive (VFD) combustion/purge blower  18 . Other techniques for providing a variable firing rate could be used.  
         [0048]    A boiler interface controller (BIC) for use in a single boiler arrangement according to the teachings of the present invention is shown in the figures and generally designated  10 . BIC  10  is shown for interfacing with a flame safety controller  30 , which provides the required flame safety functions.  
         [0049]    BIC  10  in the preferred embodiment employs a Neuron (a registered trademark of Echelon Corp.) microprocessor that is well adapted to building control system networks.  
         [0050]    The Neuron Chip Distributed Communications and Control Process includes three 8-bit pipelined processors for concurrent processing of application code and network packets. The 3150 contains 512 bytes of in-circuit programmable EEPROM, 2048 bytes of static Ram, and typically 32768 bytes of external EPROM memory. The 3150 typically uses a 10 MHz clock speed. Input/Output capabilities are built into the microprocessor. The LonWorks® firmware is stored in EPROM and allows support of the application program. The Neuron Chip performs network and application-specific processing within a node. Nodes typically contain the Neuron Chip, a power supply, a communications transceiver, and interface electronics.  
         [0051]    The Neuron Microprocessor is part of the LonWorks® technology that is a complete platform for implementing control network systems. The LonWorks networks consist of intelligent devices or nodes that interact with each other, communicating over pre-defined media using a message control protocol.  
         [0052]    The processor is programmed using the LonBuilder Workstation hardware and software in Neuron-C (the language for the Neuron chip). The firmware application is developed using the LonBuilder development station. Typically the application generated by the LonBuilder Development software environment is compiled and stored in the custom EPROM for use by the node during execution. Certainly other microprocessors may be employed, but the programming will have to be appropriately modified.  
         [0053]    Various control modules are implemented in firmware in BIC  10  as is shown in a single boiler configuration in FIG. 2 including boiler temperature control module  28 , bypass temperature control module  32 , and status and mode control module  34 . BIC  10  is shown interfacing to various elements of a boiler control system for controlling a boiler for heating a medium which is typically water. Temperature control module  28  receives signal  36  from sensor  22  located in the boiler supply water, signal  38  from sensor  24  located in the boiler return water, and signal  44  from sensor  42  located in outdoor air. Boiler temperature control module  32  also provides for receiving a setpoint signal related to a desired control set point signal. Bypass temperature control module  32  receives signal  40  from bypass temperature sensor  26  and provides signal  46  to bypass valve  20 . Module  32  provides for receiving a set point signal.  
         [0054]    BIC  10  as well as the Human Interface Panel and the Fault Tolerant Multi-Boiler Sequencer described herein may be prepared for a particular boiler installation using a configuration tool which is external to BIC  10 . Flame safety controller  30  provides an ignition command  54  to ignition element  56 , a gas valve command  58  to gas valve  60  and a variable frequency drive (VFD) command  62  to variable speed combustion/purge motor  18 .  
         [0055]    BIC  10  provides a request for heat signal  52  to flame safety controller  30  through boiler safety devices but BIC  10  does not perform flame safety functions. While BIC  10  does not perform flame safety functions, it does receive status information from boiler safety switches  66  and other devices. Typical safety switches relate to proving water flow is present, supply gas pressure is not too high or too low, combustion purge pressure is not to high or too low and a condensate drain is not blocked. These boiler safety status signals may be provided by an auxiliary contact (not shown) for each of contact closures  66  related to each of the four (4) safety switches. Safety switch status signals would be provided on conductors  68 . The order in which such auxiliary contacts are electrically connected is to be coordinated with the order of the modes described herein. Status and mode control module  34  of BIC  10  in its preferred form receives signal  70  as to the “on” or “off” status of ignition element  56 , signal  72  as to the “on” or “off” status of gas valve  60 , signal  64  as to the status of combustion/purge fan  18 , signal  76  as to the status of pump  12  and signal  78  as to the status of flame safety controller  30 . Boiler temperature control module  28  of BIC  10  provides a VFD speed control signal  74  to variable speed combustion/purge motor  18 .  
         [0056]    Now that certain aspects of BIC  10  have been disclosed, the operation can be set forth and appreciated. Boiler temperature control module  28  utilizes supply water temperature signal  36 , outdoor air temperature signal  44  (optional), the setpoint of module  28  and an internal algorithm to cause an internal call for heat condition within BIC  10  and to issue external request for heat signal  52 . As an alternative, a space temperature sensor could have been connected as an input to module  28  to allow the internal call for heat condition to be a function of space temperature.  
         [0057]    The operation of BIC  10  is best understood by reference to the state diagram shown in FIG. 7 a  and FIG. 7 b,  which identifies the modes and transitions between modes and then by reference to a flowchart that provides the details of a specific mode. In general, the BIC mode state transition diagram is intended to be used in a task scheduled environment. The scheduling mechanism should schedule the state transition software to run on a regular nominal 1-second interval.  
         [0058]    In the preferred embodiment, the state information is stored between task executions in the nvoData.Mode variable to maintain the last known boiler state. This will allow the software executive to multi-task and perform other operations between successive state transition tasks, and allow other functions to be performed without loosing the last known state of the boiler. This allows efficient use of the host microprocessor and computer system resources.  
         [0059]    The various modes are designated in FIGS. 7 a  and  7   b  by a reference numeral corresponding to the mode designation preceded by the numeral  7 , for example mode  1  is designated as  7 - 1 . For simplicity it may also be referred to herein as Mode  1 . With reference to FIG. 7 a,  in Mode  0 , Idle mode, the BIC has no call for heat and is awaiting a signal to start heating. If the call for heat is on, then initiate transition  7 - 12  to mode  1 , water flow evaluation. The order of electrical wiring of boiler safety switches, for example water flow and gas pressure, is to correspond with the order of the modes related to these switches.  
         [0060]    Transitions out of Mode  1 : If the call for heat is off, then initiate transition  7 - 14  to mode  0 . If the Low Water Flow input is on and has been on for a predetermined time, then initiate transition  7 - 16  to Mode  1 A, Water Flow Fail Mode. If the Low Water flow input is satisfactory, then initiate transition  7 - 18  to Mode  2 , Gas Pressure Evaluation.  
         [0061]    Transitions out of Mode  1 A: If the call for heat is off, then initiate transition  7 - 20  to mode  0 . If the Low Water flow input returns to off, then initiate transition  7 - 22  to Mode  1 .  
         [0062]    Transitions out of Mode  2 : If the call for heat is off, then initiate transition  7 - 24  to mode  0 . If the Low Water Flow input is low, then initiate transition  7 - 26  to Mode  1 A. If The Gas Pressure Fail input is ON, then initiate transition  7 - 28  to mode  2 A Gas Pressure Fail. If the gas pressure fail input is off and all tests are complete, then initiate transition  7 - 30  to mode  3 , Air Pressure Evaluation.  
         [0063]    Transitions out of Mode  2 A: If the call for heat is off, then initiate transition  7 - 32  to mode  0 . If the Gas Pressure Fail input is OFF, then initiate transition  7 - 34  to Mode  2 .  
         [0064]    Transitions out of mode  3 : If the call for heat is off, then initiate transition  7 - 36  to mode  0 . If the Low Water Flow input is low, then initiate transition  7 - 38  to Mode  1 A. If The Gas Pressure Fail input is ON, then initiate transition  7 - 40  to mode  2 A. If the Low air input is ON, then initiate transition  7 - 42  to mode  3 A Low Air Fail. If Low air input is off, and all tests are complete, then initiate transition  7 - 44  to Mode  4  Block Drain.  
         [0065]    Transitions out of Mode  3 A: If the call for heat is off, then initiate transition  7 - 46  to mode  0 . If the Low air input is off then initiate transition  7 - 48  to Mode  3 .  
         [0066]    Transitions out of Mode  4 : If the call for heat is off, then initiate transition  7 - 50  to mode  0 . If the Low Water Flow input is on, then initiate transition  7 - 52  to Mode  1 A. If The Gas Pressure Fail input is on, then initiate transition  7 - 54  to mode  2 A. If the Low air input is on, then initiate transition  7 - 56  to mode  3 A. If Block drain input is on, then initiate transition  7 - 58  to Mode  4 A Block Drain. If Block drain input is off, and all tests are complete then initiate transition  7 - 60  to Mode  5 , Prepurge.  
         [0067]    Transitions out of Mode  4 A: If the call for heat is off, then initiate transition  7 - 62  to mode  0 . If the Low air input is off then initiate transition  7 - 64  to Mode  4 .  
         [0068]    Transitions out of Mode  5 : If the call for heat is off, then initiate transition  7 - 66  to mode  0 . If the Low Water Flow input is on, then initiate transition  7 - 68  to Mode  1 A. If The Gas Pressure Fail input is on, then initiate transition  7 - 70  to mode  2 A. If the Low air input is on, then initiate transition  7 - 72  to mode  3 A. If Block drain input is on, then initiate transition  7 - 74  to Mode  4 A Block Drain. Refer to flowcharts for information on transition  7 - 76  to Mode  5 A, Soft Lockout and transition  7 - 78  to Mode  6 , Ignition Evaluation.  
         [0069]    Transition out of Mode  5 A: If the call for heat is off, then initiate transition  7 - 82  to Mode  0 . Refer to flowcharts for conditions for transition  7 - 80 . Transitions out of Mode  6 : Refer to flow charts for conditions for transition  7 - 88  to Mode  5 A, transition  7 - 92  to Mode  5 A, transition  7 - 90  to Mode  6 A, transition  7 - 86  to 60 Sec timer and transition  7 - 94  to Mode  7  Boiler On Evaluation.  
         [0070]    Transitions out of Mode  6 A: If the call for heat is off, then initiate transition  7 - 96  to mode  0 . If the Low Water Flow input is on, then initiate transition  7 - 98  to Mode  1 A  
         [0071]    Transitions out of Mode  7 : Refer to flow charts for conditions for transition  7 - 100  to Mode  9 A, Post Purge Prepare, and transition  7 - 102  to Mode  8 , Heat.  
         [0072]    Transitions out of Mode  8 : Refer to flow charts for transition  7 - 104  to Mode  9 , Bypass Temp Control, and transition  7 - 110  to Mode  9 A Post Purge Prepare.  8 A, Bypass Temperature Control represents the control of valve  20  from bypass temperature  26  and bypass temperature control  32 .  
         [0073]    Transitions out of Mode  9 A: Refer to flow chart for transition  7 - 112  to Mode  9 B, Post Purge.  
         [0074]    Transitions out of Mode  9 B: When Post Purge timer expires, initiate transition to Mode  0 , Idle.  
         [0075]    By way of example, if no call for heat exists, then BIC  10  is in an “Idle” mode, mode  0  as illustrated in FIG. 8. When a call for heat condition occurs, BIC  10  selects a first evaluation mode within an ordered succession of evaluation modes. In the preferred form, the first evaluation mode is the Water Flow Evaluation, mode  1  as illustrated in FIG. 9 a . The water flow evaluation mode may result in BIC  10  returning to the Idle mode if a call for heat no longer exists, or initiating a next evaluation mode, i.e., the Gas Pressure Evaluation, mode  2  as illustrated in the FIG. 10 a.  In the event that water flow is not proven in mode  1 , then a water flow failure mode, mode  1 A as shown in FIG. 9 b  is initiated. Mode  1 A provides for a predetermined number of cycles, e.g., 5 cycles or 5 seconds. If water flow is not satisfactorily proven in this time, then a water flow test routine is initiated which results in water flow failure shutdown of the boiler. An understanding of the other modes may be had by reference to the appropriate flowcharts.  
         [0076]    A particular embodiment of BIC  10  has been described and many variations are possible. By way of example, and not by way of limitation, BIC  10  is useful with boilers that employ a greater number or a lesser number of boiler safety switches, boilers that do not have a variable firing rate and boilers that are not condensing type boilers and therefore do not use the system bypass valve.  
         [0077]    Although the BIC has adequate evidence for mode changes, it is not to be depended on for any flame safety control functions. However, the information that the BIC has will be highly useful information for performance evaluation and troubleshooting of boiler systems.  
         [0078]    In the event of a boiler failure the use of BIC  10  will permit a boiler service person to quickly diagnose many problems. Using only typical portable testing devices, e.g. a volt-ohm-meter, a service person can determine at what point in the boiler operating sequence a problem exists. In addition, more sophisticated diagnostic tools such as a laptop or handheld device may be used to query nodes and perform other diagnostic tests. That is, through the monitoring of the modes, or outputs, or alarms of BIC  10 , the service person can easily isolate the problem and take action to correct the problem and restore boiler operation.  
         [0079]    The operation of BIC  10  has been explained by describing its application to a boiler for a heating system. BIC  10  is also very useful in the control of water heaters. Certain features of BIC  10 , for example the reset of the water temperature setpoint as a function of the outdoor air temperature would not be used in the water heater application.  
         [0080]    A human interface panel (HIP) for use with BIC  10  is shown in the figures and generally designated  100 . HIP  100  will be explained by reference to its use with BIC  10 , but it is to be understood that the principles will be useful with any boiler system that is arranged to take advantage of the features of the HIP of the present invention. HIP  100  in a single boiler configuration with BIC  10  is illustrated in FIG. 3. Where inputs to BIC  10  from sensors are designated with a reference numeral and a letter, e.g., return water temperature  24   a  indicating that a sensor for the same purpose was described with regard to FIG. 2. Temperature control module  28   a  receives signal  36   a  from sensor  22   a  located in the boiler supply water, signal  38   a  from sensor  24   a  located in the boiler return water, and signal  44   a  from sensor  42   a  located in outdoor air. BIC  10  also provides for receiving a setpoint signal related to a desired control setpoint signal. Bypass temperature control module  32   a  receives signal  40   a  from bypass temperature sensor  26   a  and provides signal  46   a  to bypass valve  20   a.    
         [0081]    HIP  100  in the preferred form includes arbitration logic module  102  having a number of status inputs that will be further explained, transceiver  106  and a command display device (CDD)  104 . According to the principles of the HIP invention, arbitration logic module  102  receives status inputs from BIC  10  and other status devices including boiler safety switch status  68   a,  ignition device status signal  70   a,  gas valve status signal  72   a,  combustion/purge fan status  64   a,  pump status  76   a,  flame safety controller status signal  78   a , temperature control status  130 , bypass status  132 , and bypass resynch status  134 . For simplicity, only representative inputs to arbitration logic  102  have been shown in FIG. 3. In operation, the arbitration logic is implemented by reading all inputs to arbitration logic module  102  including the following: request for heat, sys disable, sys init, emergency, factory test, high temp, freeze protect, hvac emerg, hvac off, water flow safety, gas pressure safety, high/low gas pressure safety, low air pressure safety, block drain safety, pre-purge, ignition ON, gas valve ON, flame fail, post-purge, sequencer, fire low, fire mid, fire hi, number of stages, total stages, staged firing rate, min firing timer.  
         [0082]    After reading all inputs, arbitration logic  102  then processes the readings according to the structure shown in the flow chart of FIG. 20. Arbitration logic module  102  provides output  108  to transceiver  106  which provides signal  110  to CDD  104 . Arbitration logic module  102  and transceiver  106  are located at the boiler and may be in the same enclosure as BIC  10  while CDD  104  may be located at a distance from the boiler. CDD  104  in the preferred form includes an Echelon transceiver  112 , Echelon Neuron 3120 processor  114 , microprocessor  116 , configuration memory  118 , memory  120 , keypad  122  and LCD screen display  124 . Neuron processor  114  periodically, e.g., once per sec, requests the status of a specific status variable using the address and identification of the device and status variable. Arbitration logic module  102  responds with arbitration encoded signal  110  which is received thru transducer  112  and stored in a communications buffer in Neuron processor  114 . Microprocessor  116  processes and decodes the message to user friendly text and buffers and displays the message on display  124 .  
         [0083]    Permanent configuration information on identification structure and address of information is stored permanently in electrically erasable memory or flash memory  120 . Keypad  122  is used to select information for display and to move to different displays, e.g. from the status of individual boilers within a group of boilers to individual status values within a specific boiler.  
         [0084]    The HIP of the present invention is a single status variable that can display the current status of an individual boiler or a system that includes a group of boilers. The display includes status information such as single stage firing status, multiple stage firing status, safety conditions, pre-purge, post purge, unknown safety, ignition evaluation, and post purge preparation. In addition the HIP provides monitoring of flame safety controller status, and active management of non-flame-safety mode changes in a real time temperature control environment. The HIP invention in the specific embodiment shown utilizes the Status_Mode display variable. This technique consolidates critical system functions and error information in one efficient variable structure using the LonWorks protocol to transfer information from the boiler devices. This data structure can be transferred to a low cost peer to peer device through the Echelon bus. Information on the use of the Lonworks System is available from the Echelon Corporation, 4015 Miranda Avenue, Palo Alto, Calif. 94304, USA. While certain specific embodiments of the present invention are described with reference to the LonWorks System, it is not intended that the invention be so limited. Other processors and communication protocols could be used.  
         [0085]    The use of the HIP with a single boiler has been described. In addition, the HIP may be used in a multiple boiler system where a number of individual boilers are installed with the pumping and water piping arranged to provide for common system return water temperature, common system supply temperature and common system bypass temperature. The use of HIP  100  in a multiple boiler embodiment is illustrated in FIG. 4 where BIC  1  interfaces to Boiler  1  and BIC X interfaces to Boiler X. The use of HIP  100  with multiple boilers includes the use a sequencing controller  200 , the operation of which is more completely described herein.  
         [0086]    In the multiple boiler embodiment BIC  10  is configured with modules as shown in FIG. 4 including system temperature control module  202 , outdoor air reset module  210 , analog stage control module  216 , stager module  204 , sequencer control module  222 , stage status module  224 , runtime mode stage control module  226 , pump controller  227 , system bypass control module  250  and network interface  228 . In operation, temperature control module  202  and stager module  204  both receive system return water temperature from sensor  206  and system supply temperature from sensor  208 . Outdoor air reset module  210  receives outdoor air temperature from sensor  212  and provides a reset setpoint to system temperature control module  202 . System temperature control module  202  provides request for heat signal  276  to pump controller  227  and, to arbitration logic module  102   a  as well as freeze protection signal  274  to arbitration logic module  102   a.  Analog stage control module  216  receives temperature control information signal  218  from and provides system firing rate signal  220  to sequencer control module  222  and to arbitration logic module  102   a.  Stager module  204  provides a requested number of stages signal  238  to sequencer control module  222  and to arbitration logic module  102   a  based on a rate of change of the temperature difference between the supply temperature  208  and return temperature  206  and other variables. Stage status module  224  receives information from BIC  1  and BIC X. System bypass control module  250  receives a system bypass temperature from sensor  252  and provides bypass status  256  and system resynch status  258 . Multiple boiler arbitration logic module  102   a  has a number of additional inputs including system factory test  264 , system waterflow  266 , manual  268 , low gas pressure  270 , pump status  272 , freeze protection  274 , disabled mode  278  and emergency mode  280 . For simplicity, only representative inputs are shown. Arbitration logic module  102   a  responds through a network interface module (not shown) with arbitration encoded signal  282  which is received by network interface module  228  and provided to CCD  104 . The functioning of CCD  104  in the multiple boiler implementation is as described under the HIP  100  description for the single boiler embodiment and includes the ability to display status information from a multiple boiler system as well as individual boilers within the multiple boiler system.  
         [0087]    The single status variable from the Temperature controller allows the monitor boiler system status displayed in a hard real time, state machine task environment that will not require uninterrupted and sequential access to conditions.  
         [0088]    In the preferred form, unique status modes are displayed as shown in Table 1. The term status mode or application mode may be used interchangeably. The meaning of the individual status modes will be apparent from the EnumType.  
                       TABLE 1                       DataType bice.txt   EnumType   EnumValue                   STATUS_MODE   START_UP_WAIT    0       STATUS_MODE   IDLE    1       STATUS_MODE   WATER_FLOW_EVAL    2       STATUS_MODE   AIR_PRES_EVAL    3       STATUS_MODE   BLOCK_DRAIN_EVAL    4       STATUS_MODE   LOW_GAS_PRESS_EVAL    5       STATUS_MODE   PRE_PURGE    6       STATUS_MODE   IGNITION_EVAL    7       STATUS_MODE   BOILER_ON_EVAL    8       STATUS_MODE   HEAT    9       STATUS_MODE   WATER_FLOW_FAIL_MODE   10       STATUS_MODE   AIR_PRESS_FAIL_MODE   11       STATUS_MODE   BLOCK_DRAIN_FAIL_MODE   12       STATUS_MODE   BLOCK_FLUE_FAIL_MODE   13       STATUS_MODE   LOW_GAS_PRESS_FAIL_MODE   14       STATUS_MODE   FLAME_FAILURE_MODE   15       STATUS_MODE   SOFT_LOCK_OUT_FAIL_MODE   16       STATUS_MODE   HEAT_MOD_FAIL_MODE   17       STATUS_MODE   MANUAL   18       STATUS_MODE   FACTORY_TEST   19       STATUS_MODE   PUMP_ONLY   20       STATUS_MODE   EMERGENCY_MODE   21       STATUS_MODE   DISABLED_MODE   22       STATUS_MODE   HIGH_TEMP_MODE   23       STATUS_MODE   OFF_MODE   24       STATUS_MODE   SMOKE_EMERGENCY   25       STATUS_MODE   POST_PURGE   26       STATUS_MODE   FREEZE_PROTECT_MODE   27       STATUS_MODE   POST_PURGE_PREPARE   28       STATUS_MODE   FLOAT_OUT_SYNC   29       STATUS_MODE   IDLE_MIN_DELAY   30       STATUS_MODE   SPARE_MODE2   31       STATUS_MODE   SEQ_HEAT_0STGS   32       STATUS_MODE   SEQ_HEAT_1STGS   33       STATUS_MODE   SEQ_HEAT_2STGS   34       STATUS_MODE   SEQ_HEAT_3STGS   35       STATUS_MODE   SEQ_HEAT_4STGS   36       STATUS_MODE   SEQ_HEAT_5STGS   37       STATUS_MODE   SEQ_HEAT_6STGS   38       STATUS_MODE   SEQ_HEAT_7STGS   39       STATUS_MODE   SEQ_HEAT_8STGS   40       STATUS_MODE   SEQ_HEAT_9STGS   41       STATUS_MODE   SEQ_HEAT_10STGS   42       STATUS_MODE   SEQ_HEAT_11STGS   43       STATUS_MODE   SEQ_HEAT_12STGS   44       STATUS_MODE   SEQ_HEAT_13STGS   45       STATUS_MODE   SEQ_HEAT_14STGS   46       STATUS_MODE   SEQ_HEAT_15STGS   47       STATUS_MODE   SEQ_HEAT_16STGS   48       STATUS_MODE   HEAT_LOW   49       STATUS_MODE   HEAT_MEDIUM   50       STATUS_MODE   HEAT_HIGH   51                  
 
         [0089]    The HIP boiler status display variable structure is shown in Table 2.  
                                                                 TABLE 2                                       Example Data   Field       Field           Field Name   (Range)   Length   Data Type   Description                                    NvoBoilerStatus   ApplicMode   HEAT   1 byte   ENUMERATION   Current       Share:       (See table 1       (BYTE)   Application       Polled From       for list of       of type   Mode of to be       Boiler to HIP or       Enumerations)       STATUS_MODE   commanded to       monitoring node                   the boiler - See                           Table 1 for                           possible values           Additional     —   —     —     —           fields           Additional     —   —     —     —           fields                  
 
         [0090]    The HIP provides access to all control boiler functionality such as mode progression monitoring, pre-purge speed, pre-ignition speed control, Heat evaluation mode, and post purge ignition shutdown capabilities from the temperature control BIC. By proper boiler system design, all mode monitoring and transitions present in the BIC can be implemented without interfering with the flame-safety controller&#39;s safety requirements. In addition, the BIC provide temperature control of multiple stages of a high efficiency condensing, automatic bypass control, modulating firing rate boiler at both the individual modular boiler level and system sequencing level.  
         [0091]    Now that the operation of HIP  100  has been set forth, many advantages can be further set forth and appreciated:  
         [0092]    Safety and Health Factor: Hot Water boilers, gas boilers, high-pressure steam, and boiler devices are prone to very critical safety issues. Traditionally these safety issues are solved through extremely stringent regulations on boiler manufacturers concerning “flame safety” devices and rigid safety mode analysis. One area that has not been exploited is to use the non-flame safety status of the boiler and display this information to the user in an intelligent combination that provides safety diagnostic information, and allows monitoring of the boilers for characteristics of unsafe conditions (such as flame fail or repeated attempts at ignition) that will allow tracking of problems before they start. By making the status of the boiler modes and safety conditions readily available, safety is improved and the chance of injury due to boiler explosion is reduced. Safety and Health benefits are accrued though addition system incorporation into the HIP display.  
         [0093]    Cost: By using, in the preferred mode, the UNVT_Status_Mode display variable to transfer information from the boiler devices, significant cost reductions of interface can be achieved and realized by consolidation of critical system functions and error information in one very efficient variable structure. This data structure can be transferred to a low cost peer to peer device through the Echelon bus, which provides for interoperability, interoperability standards, cross-industry support, and low cost interface. By using fewer relays to interface the information to traditionally expensive automation panels, and through the use of low cost displays, multiple display locations of boiler status results are possible.  
         [0094]    Ease of use: no Boiler operation knowledge is necessary, as all information is available “at a glance” from HIP main view screen. This ergonomically pleasing display is easy and compelling for the user to interact with and can easily be used to evaluate complete boiler system status.  
         [0095]    Ease of production: Due to the significantly reduced complexity of the display and general-purpose interface of the display, the end device could be produced very inexpensively. Multiple HIP devices could be added to the system as both a local and remote display. Subsets of Boiler Data and System Data could be displayed from the local device or at a remote location such as the System engineers office, or the Church Custodians or Fast Food Restaurant Managers office.  
         [0096]    Durability: Since there is no remote relay connections and wiring, the traditionally expensive and complex remote status display is now very cost effective, and is supported by true 3 rd  party interoperability with a ubiquitous and commodity interface. Without the wide variety of wiring and remote connections, the design is much more durable than previous  
         [0097]    Interoperability—Since the boiler system preferred implementation is performed on the Echelon LonWorks System, multi-vendor support, internet communication, cell phone access, and remote diagnostics, trending, database analysis, and support can be afforded through 3 rd  party solutions. By utilizing a non-flame safety device, the communications interface is removed from the failure recovery and acknowledgment mechanisms inherent in the protocol used for flame safety devices.  
         [0098]    Convenience/Repair—by being aware of the operation and failure modes of the boiler, a repairperson would be able to save a trip or carry the correct part with them before making a service trip to the boiler installation. Careful inspection and monitoring of a boiler transition of the status modes, and observation of the conditions up to the failure can reveal the boiler operation condition with startling accuracy. The Hip and Boiler Interface units themselves are quite simple and lead to quick repair of failed units.  
         [0099]    Efficiency: By observing the actual firing status and system operation, conclusions about the operational efficiency and number of stages required to achieve stable control of heat transfer can be observed directly in real time from a remote location. By detailed observation of the boiler status and sequence status selected, an efficiency comparison of operational savings of boiler operation can be observed and documented.  
         [0100]    Precision: By observing timely, efficient updates of Boiler Modes and sequencing status, a precise view of the operation of the boiler can be achieve without requiring a separate trip to the boiler room.  
         [0101]    Enhancements: Related products can add new features that depend on the mode behavior such as state monitors, dial in tools to bus, and combinations product that would combine for instance VFD efficiency and air/fuel ratio tuning.  
         [0102]    Although a separate state controller and flame safety control mechanism is presumed to already exist in the boiler flame safety controller, the best location for the logic is in the BIC temperature controller and sequencer, where access to open system communications, sequencing controls, temperature control, and programming schedule information resides. The BIC implementation allows for all of the invention&#39;s features described above.  
         [0103]    Boiler systems that utilize a number of modular boilers require a control system that provides for the sequencing of the modular boilers. Certain aspects of fault tolerant multi-node stage sequencing controller  200  were partially explained in relation to arbitration logic module  102   a  in the explanation of the use of HIP  100  with multiple boilers. The operation of sequencing controller  200  may be represented as illustrated in FIG. 5 including a Sequencer Node  300  and a stage node  380 . Sequencer node  300  is a temperature control device that monitors the system control temperatures and makes decisions to actively manage multiple-stage node analog control level and on/off stage decisions changes such as and adding and removing functioning stages. Sequencer node  300  includes sequencer  302 , Runtime &amp; Mode Stage Controller  304 , Stage Status Array  306 , temperature controller  308 , stager  310 , analog stage control  312 , mode controller  314 , and Network Interface  316 . In operation, temperature controller  308  provides firing rate temperature demand signal  320  to analog stage controller  312  and stage temperature demand signal  322  to stager  310 . Sequencer module  302  receives number of stages required signal  324  from stager  310  and provides sequencing information signal  326  to runtime and Mode stage controller  304 . Mode controller  314  receives temperature control status signal  328  and provides mode status signal  330 . Mode controller  314  provides mode status signal  332  to runtime and mode stage controller  304  and mode signal  334  to network interface  316 . Analog stage controller  312  provides firing rate system signal and status signal  336  to runtime mode stage controller  304 . Stage status array  306  receives stage number and firing rate signals  338  from runtime and mode stage controller  304  and provides stage status signal  340  to controller  304 . Stage status array  306  receives boiler identification (ID), mode and run time information signal  342  from interface controller  316  and provides communications formatted signal  344  to controller  316 .  
         [0104]    Stage Node  330  is an active communications and control node that interfaces to an active energy source. In the context of boiler systems, stage node  330  may be a boiler interface controller such as BIC  10  that interfaces to a flame safety controller  30  and to various sensors, boiler safeties and status signals as previously described herein. Stage node  330  implements decisions made in sequencer node  300  algorithms for control relating to analog firing rate and the addition or deletion of a stage. Information on runtime, control status, and safeties is communicated back to Sequencer Node  300 .  
         [0105]    The present invention is a multi-node sequencing controller (based on stage runtime), which uses the runtime and node stage controller piece to process unique data-collecting information stored in the stage data array. Though the use of the decision technique implemented in the runtime and mode stage controller, operations and total runtime hours from the modular stages are reflected in decisions to request control actions for the modular heat units in the system. This allows dynamic load balancing as problems affect single and multiple modular heating nodes.  
         [0106]    Sequencing controller  200  provides a method to control dynamic loading and staging of boiler stage node functionality such as mode progression monitoring, pre-purge speed, pre-ignition speed control, Heat evaluation mode, and post purge ignition shutdown capabilities. By proper boiler system design, all mode monitoring and transitions present in the stage node can be implemented without interfering with the sequencer nodes staging requests. In addition, if any errors or faults occur in stage node  380 , then sequencer node  300  can dynamically adjust the control of the remaining multiple stages individually of a high efficiency condensing, automatic bypass control, modulating firing rate boiler by taking into account the failed status and readjusting the load dynamically independent of the source control algorithm.  
         [0107]    Referring to FIG. 6, periodically sequencer  200  broadcasts a nvoSeqShare message  286  globally to all the nodes, however each nvoSeqShare message is intended for a specific node address and the message contains this specific node address. Similarly all stage nodes broadcast their nvoModBoilerShare message  288  back to sequencer  200  where the message is decoded. Sequencer node  300  uses an efficient array to collect and rank boiler interface controllers based on the runtime and mode stage controller. A more complete understanding of the Sequencer invention may be obtained from Pseudocode included as an Appendix and the following information regarding data structure herein.  
         [0108]    Data structure 1, Stage Array [0 to 16] in Sequencer  
                                                             Values                                    Percent heat stage   0 to 100%   Actual Heat % from stage       Heat stage runtime   0 to 65534 hrs.   Number of hours from stage       Heat stage add rank   0 to 16   See note 1       Heat stage del rank   0 to 16   See note 1                  
 
         [0109]    Note 1  
                                   Heat stage combination   Resultant Action                   add rank = !0, del rank = 0   Off Stage !0 means not 0       add rank = 0, del rank = !0   On Stage !0 means not 0       add rank = 0, del rank = 0   Stage disabled, Invalid or Offline       add rank = !0, del rank = !0   Invalid, will be reset to add rank = 0           and del rank = 0                  
 
         [0110]    Data structure 2 and data structure 3 are shown in tables 3 and 4 respectively.  
                                                                 TABLE 3                                       Example Data   Field       Field           Field Name   (Range)   Length   Data Type   Description                                    nvoSeqShare:   ShareTempHeat   45%   2 bytes   SIGNED LONG   Share       From   Cmd   (0 to 100%)           Temperature       Sequencer to                   Heat Command -       Modular Boiler                   Output       Nodes                   Command of       (nviSeqShare)                   heat to modular                           boiler           ModularBlrID   3   1 bytes   UNSIGNED   ID# of Mod                       INTEGER   boiler for which                           this command is                           intended           ApplicMode   HEAT = 9   1 byte   ENUMERATION   Current               (See table 1       (BYTE)   Application               for list of       of type   Mode to be               Enumerations)       STATUS_MODE   commanded to                           the boiler - See                           Table 1 for                           possible values           Stage Enable   ON = 1   1 byte   UNSIGNED INT   Stage                           Enable/disable                           command to be                           commanded to                           the boiler                  
 
         [0111]    [0111]                                                                 TABLE 4                                       Example Data   Field                   Field Name   (Range)   Length   Data Type   Field Description                                    NvoModBoiler -   BoilerMode   HEAT   1 byte   ENUMERATION   Current Application       Share:       (See table 1 for       (BYTE)   Mode of modular       From Modular       list of           boiler. See Table 1       Boiler to       Enumerations)           for possible values       Sequencer   Stage Enable   ON, 100%   2 byte   SNVT_SWITCH   Stage Enable/disable       (nviModBoiler                   command to be       share)                   commanded to the                           boiler           ModularBlrID   3   1 bytes   UNSIGNED   ID#of Mod boiler for                       INTEGER   which this command                           is intended           ModBlrAlarm   ON   1 byte   ENUMERATION   Current Alarm Mode                       (BYTE)   of the modular boiler.                       of type   Enumeration to be                       STATUS_MODE   defined customer for                           boiler application           BoilLoad   45%   2 bytes   SIGNED LONG   Actual Mod Boiler               (0 to 100%)           firing rate -           BoilerRunTime   250 hrs (0 to   2 bytes   UNSIGNED   Number of hours that           Hr   65535 hrs)       LONG   this modular boiler                           stage has run.                    
         [0112]    The pseudocode contained in the Appendix illustrates a sequence referred to as Efficiency Optimized with Runtime. This Sequence provides a technique for adding capacity by turning on a boiler having the lowest runtime and reducing capacity by turning off a boiler having the highest runtime. It will be apparent that using the principles of the present invention, variations or options may be implemented. For example one option could employ a first on/first off sequence as capacity is reduced. Another option could employ operating boilers at a capacity that is most efficient. For example, if the highest efficiency occurs at minimum loading, then this option would add a boiler when the load is such that the added boiler can run at minimum capacity. For example, if boiler number 1 reaches a 60% load, then boiler number 2 could be added such that both boilers can operate at 30% loading. Other variations will be apparent to those of ordinary skill in the art.  
         [0113]    This invention has applications to analog staged energy systems with fault tolerant and transparent dynamic load distribution based on stage status and runtime.  
         [0114]    While Sequencer  200  has been described in terms of its application to a boiler control system or hot water system it is not limited to these uses. Sequencer  200  may be used to stage other energy systems, for example water chillers or electric generators.  
         [0115]    The self-configuration invention, an automatic self-configuration technique, will now be described. This technique acts in place of a network configuration tool such that it provides status and information to be transferred from client nodes back to a designated supervisory node so that proper operation can take place without the use of a configuration tool. This technique represents substantial value as a self-configuration technique for automatic node addressing and self-configuration for multi-node Supervisory/Client control systems. Referring to FIG. 19, a diagram illustrating self configuration technique  400  is shown including a supervisory node  402 , client node  404 , client node  406 , client node  408  and client node  410 . Additional details of the self-configuration invention are provided in Table 5. In general nvoClientID could replace the functionality of nvoSupvShare and assign the client nodes to a client ID.  
                                                 TABLE 5                       Network Variable   Field Description   Example Data   Field Length   Data Type                   nvoSupvShare:   NID field [6]   00 01 5D 4F 11 26   6 bytes   HEX       from Supervisor   ui Client Cmd S4   45%   2 bytes   UNSIGNED       Controller to   Client ID   3   1 byte   UNSIGNED       Client Nodes   applic Mode   HEAT   1 byte   ENUM of type       (assigns client               STATUS_MODE       nodes to a client   Effective Occ   Occ   1 byte   SNVT_OCCUPANCY       ID)   Node Enable   ON   1 byte   ENUM       nvoClientShare:   Client Mode   HEAT   1 byte   ENUM of type       from Client to               STATUS_MODE       Supervisor   Node Enable   ON   1 byte   ENUM       Controller   Client ID   3   1 byte   UNSIGNED           Effective Occ   Occ   1 byte   SNVT_OCCUPANCY           ALARM   ON   1 byte   ENUM           ui Client Load S4   44%   2 bytes   UNSIGNED       nvoClientID:   NID field [6]   00 01 5D 4F 11 26   6 bytes   HEX (OWN NID)       periodically   Client ID   3   1 byte   UNSIGNED            broadcast from       1 to FE   Client ID from Client to Supervisor       Client to       Ø→   sending from Supervisor (optional Ø to       Supervisor           FE) to Client       (broadcast client&#39;s       neuron ID for       collection by       supervisor)                  
 
         [0116]    This invention resides in the Node firmware portion of the control system and provides for binding of a minimally configured supervisory/client control node system.  
         [0117]    Supervisory Node/Client Node Binding &amp; Configuration Procedure  
         [0118]    1. The firmware in the client nodes is the same as the firmware in the supervisory node.  
         [0119]    2. Initially all nodes are pre-configured identically at the factory default values.  
         [0120]    3. Initially nvoSupvShare of all nodes are bound to nviSupvShare of all nodes in a group, and nvoClientID of all nodes is bound to nviClientID of all nodes in a group  
         [0121]    4. All nodes have the same domain/subnet/node addresses with the clone_domain-bit set  
         [0122]    5. By the use of a digital or analog input, the node with a short (digital) or resistive value set (analog) to a fixed special value at the input, node  402  is identified as the supervisory node. The internal programming of the controller automatically changes the configuration parameter network variable nciConfig. Application Type to Type “Supervisory Node to 16 nodes”—providing nci ConfigSrc is set to CFG_LOCAL showing that no configuration tool has changed any configuration parameters.  6 .  
         [0123]    Periodically (every 30 seconds) the individual client nodes broadcasts nvoClientID to the supervisory node nviClientID. Other clients also receive nviClientID but ignore nviClientID. NvoClientID contains nviClientID.NIDOut (a 6-character NID string) and the ClientIDOut field which contains the Client ID ( 0 - 254 ) of the client node. Initially all the client Ids are set to 0 (unconfigured).  
         [0124]    7. All non-supervisory Nodes discard the nviClientID information, but the Supervisory stores the nvoClientID information into and array and sorts them by NID (Neuron ID). For example:  
         [0125]    Sequence Array [0].NID=00 OF 30 FF 1C 00 Sequence Array [0] .rank=1  
         [0126]    Sequence Array [1].NID=00 OF 31 FF 1C 00 Sequence Array [1] .rank=3  
         [0127]    Sequence Array [2].NID=00 OF 31 FF 1F 00 Sequence Array [2] .rank=2  
         [0128]    Sequence Array [3].NID=00 FF 31 FF 1F 00 Sequence Array [3] .rank=4  
         [0129]    8. Supervisory node  402  periodically broadcasts nvoSupvShare to nviSupvShare of all nodes. nvoSupvShare contains a field to identify the NID and its ClientID (the index of the array). The supervisory node receives nviSupvShare but ignores nviSupvShare. Client nodes respond to the nvoSupvShare broadcast if the NID matches their own Neuron ID (set in by the manufacturer of the neuron integrated circuit).  9 . At the client node, if the NID matches its own node, the new ClientID will be updated to match the new ClientID assigned to it. This involves changing the Subnet/Node assignment also so that the Subnet is fixed to 1 and the Node is set to the same as the ClientID. From now on, when the client node broadcasts nvoClientID, the ClientID will use the ClientID assigned to it by the supervisory node.  
         [0130]    10. Optionally, other feedback and status of the Client node is Broadcast (via nvoClientShare) back to the Supervisory node to give a positive ID status of the client ID, the Client state and the client analog value.  
         [0131]    Control systems that utilize a number of client nodes with individual interfaces to the client controllers require a control system that provides for the coordination of the client nodes. Supervisory node  402  and the individual client Controllers  404 ,  406 ,  408 , and  410  must be configured so that communication can occur between supervisory node  402  and the individual clients.  
         [0132]    All nodes in this invention are initially factory-configured as “clone-domain”, and Echelon LonWorks attribute indicating a special mode where unique subnet and nodes IDs are not necessary for communication, thus allowing a single configuration to be used to communicate to all other nodes through the same domain.  
         [0133]    A single manufactured node type is allowed to be used in both the Supervisor and the individual client node identified as Client  1  to Client  16 . Supervisory node  402  is self identified by means of a shorted configuration identification input, and client nodes  404 ,  406 ,  408 , and  410  are assumed identified by means of the lack of the presence of the shorted configuration identification input. The binding is simply three sets of network variables, called:  
         [0134]    nvoClientID and nviClientID  
         [0135]    nvoSupvShare and nviSupvShare  
         [0136]    nvoClientShare and nviClientShare  
         [0137]    Individual fields within the network variables are identified in FIG. —   
         [0138]    Periodically, Each individual node nvoClientID is broadcast globally to all the nodes. All non-Supervisory nodes discard the message, but the supervisory node uses a predefined array to collect, rank and assign an individual boiler&#39;s unique identifier (called NID or Neuron ID). The unconfigured client node will broadcast a client ID of “00”. The Supervisory will broadcast a boiler ID of “FF.” 
         [0139]    Internally, the Supervisory node&#39;s client number ranking is now broadcast (via nvoSupvShare) on the clone domain to all the nodes found, including itself. Only the client nodes are programmed to listen to the NID that matches its own node, and subsequently internalize the Client ID and optional analog value commands including mode, analog value, and occupancy status. The process of internalizing the client ID may include internal changes such as updating unique binding and configuration assignments associated with the client node.  
         [0140]    Upon reception of the Client ID assignment for the node, the new nvoClientID from the client nodes will broadcast a client ID of “XX,” where XX represents the client ID number of that node.  
         [0141]    Other feedback from the client node is broadcast (via nvoClientShare or nvoClientID) back to the Supervisory to give positive identification status of the Client ID, the Client State, and analog value.  
         [0142]    The self-configuration technique of the present invention has applications to an unknown quantity Supervisory/Client node system to provide self-configured, automatic addressed, multi-stage-modulating control.  
         [0143]    Another aspect of the Human Interface Panel  100  of the present invention involves the display of boiler status information on a menu level.  
         [0144]    The traditional method of displaying user point information and grouping structures as shown in FIG. 21 involves navigating a user menu with descriptions. The menus conform to a hierarchical directory structure with a menu structure of organization eventually ending in a selection that reveals point description and values on a multi-line text screen. For an example, a user at a text-based terminal could Select the Mechanical room menu  2  and receive a List of selections including Sequencer, Boiler #1, and Boiler #2. After selecting item 1-Sequencer, the point information for the sequencer, i.e., point information items  1 - 5 , which relate only to the Sequencer would be displayed.  
         [0145]    HIP  100  provides for displaying selective controller information in combination with the Menu choice of controller, for example Sequencer, Boiler #1, Boiler #2. The selective information from the controller is combined with the logical controller name information (Sequencer, Boiler #1, and Boiler #2) and results in a “concentration” of information from the associated boiler. To address the need for a low cost display, the point information must be relatively short (small number of characters) and must be able to be displayed in a short space, appropriate for a smaller LCD screen terminal device.  
         [0146]    HIP  100  provides for combining information from a number of controllers. With reference to FIG. 22, where the controller name, Boiler #1 (available from the node variable for Boiler #1 as nciDevicename) is combined with the Boiler Status variable “nvoBoilerStatus.ApplicMode”. Optionally, the additional information from nvoFiringRate could be also included in the result.  
         [0147]    For example, 2.ModBlr#01—Heat 17% would be an aggregation of 3 parts:  
         [0148]    the first part is the Boiler#1 nciDevice name or boiler node name stored in the boiler interface controller which is “ModBlr#01”, the second part is the Boiler #1 nvoBoilerStatus.ApplicMode value which is “Heat”, and the third part is the Boiler #1 nvoData.firingRate value which is 17%.  
         [0149]    The nvBoilerStatus data Structure is shown in Table 6.  
                                                                 TABLE 6                                       Example Data   Field                   Field Name   (Range)   Length   Data Type   Field Description                                    NvoBoilerStatus:   ApplicMode   HEAT   1 byte   ENUMERATION   Current       Polled From       (See table 1       (BYTE)   Application Mode       Boiler to HIP or       for list of       of type   of to be       monitoring node       Enumerations)       STATUS_MODE   commanded to the                           boiler - See Table                           1 for possible                           values           Additional     —   —     —     —           fields           Additional     —   —     —     —           fields                  
 
         [0150]    Each choice of the Sequencer, Boiler #1, and Boiler #2 represent point information from different controllers. The Boiler Status display variable is a result of an arbitration of many different operating and failure modes, resulting in an extremely useful and pertinent information status on the boiler. The result of this synthesis of grouping structures and boiler system status information/firing rate in one menu allows dense; information disclosure of 48 arbitrated operating mode and firing rate information on a controller. Enumerations of the Boiler Status Information variable structure are listed in Table 1.  
         [0151]    As implemented in HIP  100 , the system level menu of FIG. 22 is the primary display associated with the Boiler System.  
         [0152]    The meaning of the system level information on a line by line basis may be explained as follows:  
         [0153]    Line  1 . Sequencer—Heat2Stg-33% ------  
         [0154]    In this example, a Sequencer is sequencing 3 modular boilers. The Sequencer menu displays the Sequencer Status mode in the Heat producing stage, requesting 2 modular boiler for heat with a total system demand of 33% of capacity:  
         [0155]    Line 2. ModBlr#01—Heat17%  
         [0156]    The sequencer is requesting Boiler #2 to produce heat at 17% of capacity and is functioning normally in the Heat Mode.  
         [0157]    Line 3. ModBlr#02—LoGasFail 0%  
         [0158]    Modular Boiler #2 is being requested to produce heat by the sequencer, however due to a low gas pressure condition, the boiler is not firing. The firing rate is 0% due to the failure mode. If the HIP operator was knowledgeable about the system firing rate request information, the user could have noticed that the system request is for 33% firing rate, and the first stage is request 17%, leaving 15% load for the 2 nd  stage.  
         [0159]    Line 4 ModBlr#03—Idle 0%  
         [0160]    The Sequencer is not requesting this stage to produce heat, and this stage is off. It is active and has no problems, so it is in the “idle” mode waiting for a request for heat signal from the sequencer.  
         [0161]    The Boiler repair person could view the system level view just described and take additional steps such as the following: verify that the gas supply is available; call the gas company to see if the gas supply to that boiler has been turned off; and perform or view other diagnostic information before traveling to the boiler location.  
         [0162]    The information and organization of this rich content menu system for boilers results in reduce troubleshooting time, additional operation information, and reduced cost through fast and proper diagnosis of a boiler system problem.  
         [0163]    The method used in HIP  100  for displaying information offers many advantages, some of which have been described. In addition, it provides quick viewing of a boiler node status without the user being overwhelmed with information at the point level. System boiler information is typically viewable on one screen. The method provides for easy navigation at a system level to nodes that require more attention or have problems. Significant diagnostics abilities are provided though monitoring at the “system level” view. By viewing of the data at the system level menu, a system perspective of the performance and problems can be observed without ever taking the time to view the individual point information screens for the sequencer and 3 modular boilers.  
         [0164]    Thus, since the invention disclosed herein may be embodied in other specific forms without departing from the spirit or general characteristics thereof, some of which forms have been indicated, the embodiments described herein are to be considered in all respects illustrative and not restrictive. The scope of the invention is to be indicated by the appended claims, rather than the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are intended to be embraced therein.  
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       APPENDIX                       PSEUDOCODE FOR SEQUENCING RUNTIME                                    (Turns on lowest runtime)           (Turns off high runtime)            if (Lead Lag Config. = Effiency Optimized With Runtime)             mark invalid runtimes   or                disabled boilers   or    {close oversize brace}    comment        invalid combos                repeat for Boiler index 1 to MAXSTAGES (typical MAXSTAGE = 16)                if (Stage [index].Heat Stage Runtime = IN VALID) (e.g. 65535)                 set stage [index].AddRank = 0             {open oversize bracket}     {open oversize bracket}     {open oversize bracket}     {close oversize bracket}                  set stage [index].DelRank = 0                endif                andrepeat           repeat for Boiler index 1 to MAXSTAGES                if (Stage [index].Heat Stage Runtime! = INVALID) (e.g. not 65535)                and Stage [index].AddRank = 0           and Stage [index].DelRank = 0)                 set stage [index].AddRank = 15                 {open oversize bracket}     {close oversize bracket}                  set stage [index].DelRank = 0                elseif (Stage [index].AddRank ! = 0             {open oversize bracket}     {open oversize bracket}    and Stage [index].DelRank ! = 0)                 set stage [index].AddRank = 15                 {open oversize bracket}     {close oversize bracket}                  set stage [index].DelRank = 0                else                [do nothing]                endif                endrepeat               y = 0   ! stage y has the lowest runtime hours           Lowest Runtime = 65535           Boiler On Tot = 0           v = 0   ! stage v has the high runtime hours           Highest Runtime = 0           Comment:           calculate add ranks of runtimes                → calculate ADD ranks of Runtime                repeat for Boiler index 1 to MAXSTAGES                if (Stage [index].Heat Stage Runtime != INVALID)                and Stage [index].AddRank != 0                 {close oversize brace}    current stage is off                and Stage [index].DelRank = 0)                 {open oversize bracket}    and Stage [index].Heat Stage Runtime ≦ lowest Runtime                     Lowest Runtime = Stage[index].Heat StageRuntime            {open oversize bracket}                 y = [index]                endif                → calculate DEL ranks                    if (Stager [index].1AddRank = 0                            {close oversize brace}    current stage is on                and (Stager [index].DelRank != 0                if(Numberof Stages Requested = 0)                 {open oversize bracket}         set Stage [index].AddRank = 15                    {open oversize bracket}        setTotalOnStages ++                    set Stage [index].DelRank = 0                 {open oversize bracket}    else if (Stage [index].Heat Stage Runtime ≧ Highest Runtime                    Highest Runtime = Stage [index].Heat Stage Runtime            {close oversize brace}                 ν = [index]                endif                endif                endrepeat            Add Stages                (number of Stages Requested ≧ Total On Stages)                !requested stages are greater than what is currently on So add stages!           !stage y has the lowest runtime total so add it first                     set stage [index].AddRank = 0                    {open oversize bracket}         {close oversize bracket}    set stage on!                set stage [index].DelRank = 0                elsseif (number of Stages Requested &lt; BirOnTol                !requested stages are less than what is currently on so del stages           !stage ν has the highest runtime total                     set stage [index].AddRank = 15                    {open oversize bracket}         {close oversize bracket}    set stage off!                set stage [index].DelRank = 0                else                no change                end if