Abstract:
A method of displaying building system controller data includes receiving a user login associated with predefined user access privileges and receiving a building system controller selection, requesting a listing of building system controller applications and activities from a building system controller associated with the building system controller selection, and generating a display of available building system controller applications and allowable activities based on the user access privileges and based on the listing.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application is a divisional of U.S. patent application Ser. No. 11/394,380 filed on Mar. 30, 2006, which is a continuation of PCT International Application No. PCT/US06/05917, filed on Feb. 21, 2006, which claims the benefit of U.S. Provisional Application No. 60/654,719, filed on Feb. 21, 2005. The disclosures of the above applications are incorporated herein by reference. 
     
    
     FIELD  
       [0002]     The present disclosure relates to a method of displaying building system controller data.  
       BACKGROUND  
       [0003]     The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.  
         [0004]     Retail outlets, particularly food retailers, require a plurality of building systems during operation. Such building systems often include refrigeration systems, anti-condensate heating (ACH) systems, lighting systems, and HVAC systems. Each of these building systems includes associated equipment and controllers configured to perform various functions. For example, refrigeration systems include compressors, condensers, evaporators, and the like, connected to a refrigeration system controller and configured to cool refrigeration cases to a desired temperature.  
         [0005]     Building system performance may be monitored by monitoring building system operating parameters and associated data, such as set point, temperature and pressure data, via the refrigeration system controller. Building system performance impacts the retailer profit. Building system operating data and operating parameters must be monitored to ensure that the building systems are operating correctly, efficiently, and cost effectively.  
         [0006]     Traditionally, access to building system controller operating data and parameters is done piece meal, one controller at a time. It is difficult for a retailer, accessing building system controllers in this manner, to monitor all the building systems of a given retail location. It is even more difficult to monitor all the building systems of a retailer across all of the various retail locations. It is also difficult for a retailer to backup, or restore, building system data and operating parameters for all the retailer&#39;s various building systems. It is also difficult to effectuate an operating parameter change across all building systems.  
       SUMMARY  
       [0007]     Further areas of applicability will become apparent from the for purposes of illustration only and are not intended to limit the scope of the present disclosure.  
         [0008]     A method is provided comprising grouping a plurality of building system controllers into at least one control system group. The at least one control system group corresponds to at least one connected group of the building system controllers. The method also comprises grouping the at least one control system group into at least one site group, the at least one site group corresponding to a physical location of the at least one control system group. The method further comprises selecting a group from the at least one site group and the at least one control system group, performing an activity on each controller within said selected group.  
         [0009]     In other features, the method may comprise grouping the at least one site group into at least one directory, selecting a directory, and performing the activity on all controllers within said selected directory.  
         [0010]     In other features, the activity may be a backup activity comprising retrieving operating data from each controller within the selected group, and storing the operating data from each controller within the selected group in a database.  
         [0011]     In other features, the activity may be a restore activity comprising retrieving operating data from a database, and providing the operating data to each controller within the selected group.  
         [0012]     In other features, the activity may comprise receiving inputted data, and providing the inputted data to each controller within said selected group.  
         [0013]     In other features, the activity may comprise retrieving logged data from each controller within the selected group.  
         [0014]     In other features, the method may further comprise displaying the at least one site group and the at least one control system group in a navigational tree, wherein the navigational tree includes a node for each of the at least one site group and the at least one control system group.  
         [0015]     In other features, the plurality of building system controllers may include at least one of a refrigeration system controller, an anti-condensate heater controller, an HVAC controller, a lighting controller, a sprinkler irrigation system controller, a fire alarm system controller, a carbon monoxide alarm system controller, an elevator system controller, and a fuel pump dispenser system controller.  
         [0016]     In other features, the method may further comprise scheduling the activity to be performed at a predetermined time, wherein the performing the activity occurs at the predetermined time.  
         [0017]     In other features, the method may further comprise receiving an alarm from at least one building system controller of the plurality of building system controllers, wherein the performing the activity occurs in response to the alarm.  
         [0018]     In other features, the method may further comprise scheduling the activity to be performed on a recurring basis, wherein the performing the activity occurs according to the recurring basis.  
         [0019]     In other features, the method may further comprise viewing a history of performed activities.  
         [0020]     In other features, the method may further comprise displaying the history in a navigational tree including a node for each activity performed, expanding a partially completed activity node, and displaying portions of the partially completed activity associated with said partially completed activity node that completed and portions that failed.  
         [0021]     A method of displaying building system controller data is also provided comprising receiving a user login associated with predefined user access privileges, receiving a building system controller selection, requesting a listing of building system controller applications and activities from a building system controller associated with the building system controller selection, and generating a display of available building system controller applications and allowable activities based on the user access privileges and based on the listing.  
         [0022]     In other features, the activities may include at least one of a backup activity, a restore activity, a send data to controller activity, a retrieve logs activity, a refresh activity, and a terminal mode activity.  
         [0023]     In other features, the method may further comprise displaying groups of building system controllers in a navigational tree, wherein the navigational tree includes a node for each group.  
         [0024]     In other features, the receiving the building system controller selection may comprise receiving a node selection from said navigational tree.  
         [0025]     In other features, the method may comprise receiving at least one additional building system controller selection, wherein the requesting the listing of building system controller applications and activities and the generating the display of available building system controller applications and allowable activities occurs with each selection of the at least one additional building system controller selection.  
         [0026]     In other features, the building system controller selection may comprise at least one of a refrigeration system controller, an anti-condensate heater controller, an HVAC controller, a lighting controller, a sprinkler irrigation system controller, a fire alarm system controller, a carbon monoxide alarm system controller, an elevator system controller, and a fuel pump dispenser system controller.  
         [0027]     In other features, the method may further comprise receiving a user configuration instruction and modifying the user access privileges based on the user configuration instruction.  
         [0028]     A method of displaying building system controller data is also provided comprising receiving a first set of building system controller data points associated with a first building system controller, receiving a second set of building system controller data points associated with a second building system controller; and displaying the first and second building system controller data points.  
         [0029]     In other features, the method comprises generating a graphical display of the first and second building system controller data points.  
         [0030]     In other features, the first building system controller and the second building system controller are located at different sites.  
         [0031]     In other features, the first and second set of data points may be displayed according to a time zone location of a user viewing said graph.  
         [0032]     In other features, the first and second set of data points may be displayed according to a time zone location of the first and second building system controllers.  
         [0033]     A building system control and monitoring system is provided comprising a building system controller having a network connection, a server communicatively connected to the network connection, and a plurality of clients communicatively connected to the server. The server provides data associated with the building system controller to each of the plurality of clients by sharing the network connection across the plurality of clients.  
         [0034]     In other features, at least one of the plurality of clients may generate a terminal mode display based on said received data associated with the building system controller.  
         [0035]     In other features, the building system controller may be at least one of a refrigeration system controller, an anti-condensate heater controller, an HVAC controller, a lighting controller, a sprinkler irrigation system controller, a fire alarm system controller, a carbon monoxide alarm system controller, an elevator system controller, and a fuel pump dispenser system controller.  
         [0036]     In other features, the first client of the plurality of clients may initiate a first activity for the building system controller, a second client of the plurality of clients may initiate a second activity for the building system controller, and the first activity and the second activity may be concurrently performed by the server.  
         [0037]     In other features, the first activity and the second activity may be selected from the group consisting of a backup activity, a restore activity, a refresh activity, a send data to controller activity, a terminal mode activity, and a retrieve logs activity.  
         [0038]     In other features, the network connection comprises a modem.  
         [0039]     In other features, a computer-readable medium having computer executable instructions for performing the above methods is provided. 
     
    
     DRAWINGS  
       [0040]     The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.  
         [0041]      FIG. 1  is a schematic illustration of an exemplary enterprise control and monitoring system;  
         [0042]      FIG. 2  is a schematic illustration of another exemplary enterprise control and monitoring system;  
         [0043]      FIG. 3  is a schematic illustration of another exemplary enterprise control and monitoring system;  
         [0044]      FIG. 4  is a schematic illustration of a refrigeration system;  
         [0045]      FIG. 5  is a schematic illustration of an HVAC system;  
         [0046]      FIG. 6  is a schematic illustration of a lighting system;  
         [0047]      FIG. 7  is a schematic illustration of an anti-condensate heater system;  
         [0048]      FIG. 8  is a data structure of an enterprise control and monitoring system;  
         [0049]      FIG. 9  is a flow chart for an enterprise control and monitoring system;  
         [0050]      FIG. 10A  is a flow chart for displaying node data, activities, and applications in an enterprise control and monitoring system;  
         [0051]      FIG. 10B  is a flow chart for performing a send-to activity in an enterprise control and monitoring system;  
         [0052]      FIG. 11A  is a flow chart for performing a backup activity in an enterprise control and monitoring system;  
         [0053]      FIG. 11B  is a flow chart for performing a restore activity in an enterprise control and monitoring system;  
         [0054]      FIG. 11C  is a flow chart for performing a retrieve log data activity in an enterprise control and monitoring system;  
         [0055]      FIG. 12  is a screen shot of a login screen of an enterprise control and monitoring system;  
         [0056]      FIG. 13  is a screen shot of a navigational display of an enterprise control and monitoring system;  
         [0057]      FIG. 14  is a screen shot of another navigational display of an enterprise control and monitoring system;  
         [0058]      FIG. 15  is a screen shot of available options of a node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0059]      FIG. 16  is another screen shot of available options of a node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0060]      FIG. 17  is a screen shot of a backup activity of an enterprise control and monitoring system;  
         [0061]      FIG. 18  is a screen shot of a terminal mode of an enterprise control and monitoring system;  
         [0062]      FIG. 19  is another screen shot of a terminal mode of an enterprise control and monitoring system;  
         [0063]      FIG. 20  is another screen shot of a terminal mode of an enterprise control and monitoring system;  
         [0064]      FIG. 21  is a screen shot of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0065]      FIG. 22  is another screen shot of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0066]      FIG. 23  is a screen shot of available data points of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0067]      FIG. 24  is a screen shot of selected data points of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0068]      FIG. 25  is another screen shot of selected data points of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0069]      FIG. 26  is a screen shot of a graph of selected data points of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0070]      FIG. 27  is another screen shot of a graph of selected data points of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0071]      FIG. 28  is another screen shot of a graph of selected data points of an expanded node of a navigational tree of a navigational display of an enterprise control and monitoring system;  
         [0072]      FIG. 29  is a screen shot of a user manager display of an enterprise control and monitoring system;  
         [0073]      FIG. 30  is a screen shot of a directory manager display of an enterprise control and monitoring system;  
         [0074]      FIG. 31  is a screen shot of a site manager display of an enterprise control and monitoring system; and  
         [0075]      FIG. 32  is a screen shot of an activity history of an enterprise control and monitoring system.  
         [0076]      FIG. 33  is a screen shot of an expanded activity history of an enterprise control and monitoring system. 
     
    
     DETAILED DESCRIPTION  
       [0077]     The following description is merely exemplary in nature and is not intended to limit the present teachings, applications, or uses. It should be understood that throughout the drawings, corresponding reference numerals indicate like or corresponding parts and features. As used herein, the terms module, control module, computer, and controller refer to an application specific integrated circuit (ASIC), one or more electronic circuits, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. Further, as used herein, computer-readable medium refers to any medium capable of storing data for a computer. Computer-readable medium may include, but is not limited to, CD-ROM, floppy disk, magnetic tape, other magnetic medium capable of storing data, memory, RAM, ROM, PROM, EPROM, EEPROM, flash memory, punch cards, dip switches, or any other medium capable of storing data for a computer.  
         [0078]     With reference to  FIG. 1 , an enterprise control and monitoring system  100  may include a server  102 , networked with building system controllers  104 , and connected to a database  106  and to a client  108 . The server  102  and the client  108  are computers that execute portions the enterprise control and monitoring system software. The controllers  104  may control refrigeration systems  110 , ACH systems  112 , lighting systems  114 , HVAC systems  116 , fire alarm systems  118 , and carbon monoxide alarm systems  120 . Other building systems, with associated controllers, may be included as well. For example, sprinkler irrigation systems, elevator systems, fuel pump dispenser systems, and the like, may also be included.  
         [0079]     A single controller  104  may control one or more building systems. For example, a single controller  104  may control both a refrigeration system  110  and an ACH system  112 . Further, a single controller  104  may also control both a lighting system  114  and an HVAC system  116 . A single controller  104  may also control a refrigeration system  110 , a lighting system  114 , an ACH system  112 , and an HVAC system  116 . The controllers  104  may be Einstein or E2 controllers available from Computer Process Controls, Inc., 1640 Airport Road Suite# 104, Kennesaw, Ga. 31044, such as the E2 RX refrigeration controller, the E2 BX HVAC controller, or the E2 CX convenience store controller.  
         [0080]     The controller  104  may include an output monitor screen  122  and keyboard input controls  124 . A user in front of the controller  104  may view controller operating data and operating parameters on the output monitor screen  122  by navigating the controller menu navigation system with the keyboard input controls  124 . A user may also modify certain controller operating parameters, such as set points, with the keyboard input controls  124 . As described below, a user may also view an output monitor screen  122  of a controller by utilizing the terminal mode of the client.  
         [0081]     The server  102  may load server software from a computer-readable medium  126  that stores the server software. The server may access building system operating parameters and data via network connections to the various controllers  104 . Client software may be loaded from computer readable medium as well. The client software may be executed on a local or remote computer. The client software may include a dynamic web based user interface that allows a user to access and view the building system operating parameters and data retrieved and stored by the server  102 . The server  102  may perform data management activities, such as data backups and data restores, in response to instructions from the client software. A user operating the client may also modify building system operating parameters of the controllers  104 , or perform activities on the controllers  104 , as desired.  
         [0082]     Controllers  104  may be grouped together in control systems  128 . In a control system  128 , one of the controllers  104  may function as a gateway and provide communication access to the other controllers  104  in the control system  128 . A control system  128  may include a single controller  104  as well.  
         [0083]     A site  130  may include one or more control systems  128  in one physical location, such as a retail store.  
         [0084]     As shown in  FIG. 1 , three different sites  130 , representing three different physical locations, are shown. The sites  130  are all located remote from each other and from the server  102  and database  106 . As can be appreciated, the server  102  may alternatively be located at any site  130 .  
         [0085]     Controllers  104  may communicate with each other, and with the server  102  via TCP/IP connections or other suitable network communication protocols. Control systems  128  may be connected to a local area network (LAN) or a wide area network (WAN), ie.. LAN/WAN  132  at a site  130 . The server  102  may connect to the control systems  128 , and the controllers  104 , via the internet  134  and the LAN/WAN  132  at the site  130 . The control systems  128  and controllers  104  may alternatively be connected directly to the internet  134  via a suitable modem and dialup, DSL, cable, or other internet connection.  
         [0086]     With reference to  FIG. 2 , the server  102 , database  106 , controllers  104 , control systems  128 , and client  108  may be contained entirely within a site  130  and connected to each other via the LAN/WAN  132 . In such case, a local user accesses the server  102  locally via the LAN/WAN  132 .  
         [0087]     With reference to  FIG. 3 , a controller  104  may be connected directly to a computer via a modem located on the controller  104 . The computer executes the server and client software. In such case, the computer functions as both client  108  and server  102 . The computer may communicate with the controller  104 , and receive operating data and operating parameters related to each controller  104  within the control system  128 , via the controller modem. In this way, communication is made directly with the controller  104  without accessing a LAN/WAN  132  or the internet  134 . Such a “stand alone” system may provide additional desired security.  
         [0088]     As can be appreciated, while specific network configurations are shown in  FIGS. 1-3 , any number of network configuration variations may be used, with any number of combinations of controllers  104 , control systems  128 , and sites  130 . As shown in  FIG. 1 , multiple sites  130 , each with different local network configurations, may be connected to the server  102 .  
         [0089]     The building systems are described with reference to  FIGS. 4-7 . In  FIG. 4 , a refrigeration system  110  may include refrigeration cases  412 , as well as a plurality of compressors  414  piped together. A discharge output of each compressor  414  may include a respective compressor temperature sensor  416 . A suction inlet may include both a suction pressure sensor  418  and a suction temperature sensor  420 . Further, a discharge outlet may include a compressor discharge pressure sensor  422 . An electrical current sensor  424  may be attached to each compressor  414 . The various sensors may be connected to the controller  104  which controls and monitors compressor operation.  
         [0090]     The compressors  414  compress refrigerant vapor that is delivered to a condenser  426 . Condenser fans  428  may enable improved heat transfer from the condenser  426 . The condenser  426  may include an associated ambient temperature sensor  430 , a condenser temperature sensor  432 , and a condenser discharge pressure sensor  434 . An electrical current sensor  436  may be attached to each condenser fan  428 . The various sensors may each be connected to the controller  104  which controls condenser fan operation.  
         [0091]     Each refrigeration case  412  may include its own evaporator  436 , its own expansion valve  438  for controlling the superheat of the refrigerant, and its own temperature sensor  440 . A case controller  442  may control the refrigeration cases  412  and may be connected to the controller  104 . Additional case controllers  442  may be used as needed. Alternatively, the controller  104  may control the refrigeration cases  412  directly. Refrigerant passes through the expansion valve  438  where a pressure drop causes the high pressure liquid refrigerant to achieve a lower pressure combination of liquid and vapor. The temperature sensor  440  may be connected to the case controller  442  which communicates with the controller  104 .  
         [0092]     As with all of the building systems, the controller  104  may receive operating data for the refrigeration system  110  from the respective temperature, pressure, and current sensors. The operating data, along with various operating parameters such as set points, may be utilized by the controller  104  to operate the refrigeration system  110 . The controller  104  may store the operating data and operating parameters in various logs. The server  102  may communicate with the controller  104  to retrieve and monitor the operating data, operating parameters, and logs. The server  102  may also direct the controller  104  to modify certain operating parameters, such as set points, to control the refrigeration system  110  as desired.  
         [0093]     Referring now to  FIG. 5 , the HVAC system  116  may include a fan  502  as well as a cooling apparatus  504 , a heating apparatus  506 , and a damper  508 , if appropriate. The controller  104  may control the fan  502 , cooling apparatus  504 , heating apparatus  506 , and damper  508  to heat or cool as desired. A temperature sensor  510  may indicate a temperature of air exiting the cooling apparatus  504  or heating apparatus  506 . An electrical current sensor  512  may be attached to the fan  502 . A room temperature sensor  514  is also placed proximate the heated/cooled area. The controller  104  may receive operating data and operating parameters of the HVAC system  116  from the temperature sensor  514  and electrical current sensor  512 . As can be appreciated, additional room temperature sensors may be used depending on the size and configuration of the interior of the building to be heated or cooled.  
         [0094]     Referring now to  FIG. 6 , a lighting system  114  may include one or more lighting fixtures  602  which communicate with the lighting controller  104 . The lighting fixtures  602  are shown in various areas of the building and its exterior, with some areas including multiple types of fixtures. For example, a sales area  604 , a department area  606 , and a parking lot  608  each include lighting fixtures  602 . The department area  606  may include lighting fixtures  602  for a display case  610  therein. The parking lot  608  may include lighting fixtures  602  as well as exterior sign lighting  612 . The parking lot lighting fixtures  602  may be equipped with a light sensor  614  and configured to turn on at dusk. The various lighting fixtures  602  may be in communication with the lighting controller  104  via direct or wireless connections. Any suitable network connection, allowing communication between the lighting controller  104  and the lighting fixtures  602  may be used.  
         [0095]     Referring to  FIG. 7 , an ACH system  112  may include anti-condensate heaters  702  in communication with the controller  104 . The controller  104  may receive dew point data from a dew point sensor  704 . Alternatively, the controller  104  may receive temperature and relative humidity data from temperature and relative humidity sensors and calculate the dew point. The controller  104  may operate the anti-condensate heaters  702  based on the dew point to heat glass refrigeration case displays to prevent condensation.  
         [0096]     The controllers  104  may receive operating data and operating parameters for each of the building systems. The server  102  may communicate with the controllers  104  to retrieve and monitor the operating data, operating parameters, and logs. In this way, the server  102  may access the operating data and operating parameters, including sensed and calculated variables. As described below, a user may access the data retrieved and stored by the server  102  to monitor or modify the operation of a specified building system, controller  104 , control system  128 , site  130  or grouping thereof. In this way, the server  102  may provide the user, via a dynamic web based user interface, a “view” into the building systems, controllers  104 , control systems  128 , sites  130  and groupings thereof.  
         [0097]     Referring now to  FIG. 8 , an enterprise control and monitoring system data structure  800  may include, at the highest level, a directory  802 . A directory may hold a list of multiple site records  804  and may also include other directories. The site records  804  correspond to the sites  130  described above with reference to  FIGS. 1-3 . The site records  804  may hold one or more control system records  806 . The control system records  806  correspond to the control systems  128  described above with reference to  FIGS. 1-3 . The control system records  806  may hold controller records  808 . The controller records  808  may correspond to the controllers  1904  described above with reference to  FIGS. 1-3 . The server  102  may utilize the data structure  800  to organize building system data in a hierarchical form. The data structure  800  allows the server  102  to perform a desired operation at a given node of the data structure  800 . As described in more detail below, the operation is performed on the lower nodes in the hierarchy. In this way, a user may update or modify multiple controllers  104  with a single command.  
         [0098]     Referring now to  FIG. 9 , and with additional reference to screen shots shown in  FIGS. 12-32 , an enterprise control and monitoring system algorithm  900  is described. The algorithm is executed by the server based on instructions received from a client.  
         [0099]     The client software may include a dynamic web based graphical user interface, depicted by the screen shots shown in  FIGS. 12-32 . The user interface is dynamic in that user interface displays are built “on-the-fly” according to the options, applications, and activities available to the particular user, based on the user&#39;s login access privileges, and based on the particular data, applications, and activities allowable or available for a given controller, control system, site, or directory.  
         [0100]     In step  902 , a user login may be received. The login screen is shown in  FIG. 12 . In step  904 , a navigation tree may be loaded into the user interface, including the directories associated with the received user login. In  FIG. 13 , a navigation tree  1300  is shown with two directories: a directory labeled “CPC” and a directory labeled “Florida.” Once the navigation tree  1300  has been loaded, user input is received in step  906 .  
         [0101]     The user may navigate the navigation tree  1300 , or perform certain operations on a selected node of the navigation tree  1300 . Navigation tree nodes may be directories, sites, control systems, controllers, or associated data points.  
         [0102]     The user may make a navigation selection to expand or collapse a node in step  908 . The user may make a node selection to retrieve and display available node data, activities, applications, and other data in step  910 . The user may make an activity selection to perform a selected backup, refresh, restore, retrieve logs, send-to, or terminal mode activity in step  912 . The user may make a data selection to display, graph, or export data in step  914 . The user may make a configuration selection to configure system, users, groups, directories, sites, activities, etc., in step  916 . After steps  908 ,  910 ,  912 ,  914 , and  916 , the algorithm loops back to step  906  to receive the next user input. Each of steps  908 ,  910 ,  912 ,  914 , and  916  are described in turn below.  
         [0103]     When a navigation selection is received, the selected node may be expanded or collapsed in step  908 . The nodes of the navigation tree  1300  are displayed with either a “+” symbol or a “−” symbol. By selecting the “+” symbol, the associated node is expanded. By selecting the “−” symbol, the associated node is collapsed. For example, in  FIG. 14 , both the CPC and the Florida directories have been expanded. The CPC directory contains one site labeled CPC. The Florida directory contains one site labeled Store  153 . The CPC site contains four control systems labeled: back lab, E2 Control System, L, and S-E2. The back lab control system contains one controller: RX-400 1: CPC LAB. The E2 Control System contains three controllers: BX-400 1: Suite 101, BX-400 2: Suite 104, and BX400 3: Suite 105.  
         [0104]     By right clicking on a particular node of the navigation tree  1300 , the particular options and selections available for the selected node are shown. For example, in  FIG. 15  the options and selections available for the “RX-400 1: CPC LAB” controller are shown in a drop down menu below the “RX-400 1: CPC LAB” node of the navigation tree  1300 .  
         [0105]     When a node is selected, the available node data, activities, applications, and other data, may be displayed in step  910 . The main frame  1600  (to the right of the navigation frame) of the user interface may be populated with the available properties, activities, and other available options. For example, in  FIG. 16  the “RX-400 1: CPC LAB” controller is selected and the unit properties, activities, activity configuration, system configurations, details, and backup data are loaded into the main frame to the right of the navigation tree.  
         [0106]     The “Applications” displayed are dictated by the selected controller and generally correspond to groupings of variables or operating parameters that are sensed or calculated by the controller. For example, the “RX-400 1: CPC LAB” controller has an application labeled “Condensers.” The variables and operating parameters associated with each of the condensers controlled by the “RX-400 1: CPC LAB” controller are grouped under the “Condensers” application.  
         [0107]     The “Activities” that are displayed correspond to the activities that may be performed. For example, in  FIG. 16  the listed activities include: Backup, Refresh Applications, Restore, Retrieve Logs, and Terminal Mode. The displayed activities correspond to activities that are allowed based on the user login. User access privileges, determined by an administrator, determine the activities that are allowed to be performed by a given user.  
         [0108]     With reference to  FIG. 10A , a node display algorithm is shown. The node display algorithm may be executed by either the Server or the client software. In step  1002 , a node selection may be received. In step  1004 , the user&#39;s access rights may be checked based on the user login. In step  1006 , the available node properties may be checked. When the node to be displayed is a controller, the server may query the controller to determine the applications and data available for display. In step  1008 , the node data, activities, and applications are displayed based on the user&#39;s access rights and the available node properties.  
         [0109]     Referring again to  FIG. 9 , when an activity is selected, the activity is performed in step  912 . When an activity is to be performed on a selected node of the navigation tree  1300 , the activity is performed on all of the nodes contained within, or below, the selected node. In this way, when an activity is to be performed on a directory, the activity is performed on all of the directories, sites, control systems, and controllers contained within the selected directory.  
         [0110]     The activities may be performed by the server  102  based on instructions received from the client  108 . For this reason, after initiating the activity, the user may move on to perform another operation while the server  102  performs the activity in the background. The user may check the status of pending activities by clicking on “My Pending Activities.” 
         [0111]     When a “backup activity” is selected, the operating data and operating parameters for all the controllers within the selected node may be retrieved and stored as back up copies in the database  106 . The progress of the backup activity is displayed in the main frame, as shown in  FIG. 17 .  
         [0112]     As shown in  FIG. 11A , a backup algorithm may be executed by the server  102 . The backup activity selection may be received in step  1102 . In step  1104 , controller data may be retrieved. In step  1106 , the server  102  checks for additional controllers  104  within the selected node of the navigation tree  1300 . Steps  1104  and  1102  may be repeated for each controller  104  of each control system  128  of each site  130  of each directory of the selected node of the navigation tree  1300 . When no additional controllers  104  remain, the retrieved data is stored in the database  106  in step  1108 . In this way, all of the operating data and operating parameters for the controllers  104  in the selected group are backed up to the database  106 . Multiple controllers  104  may be backed up in response to a single received instruction from the user operating the client  108 .  
         [0113]     Referring again to  FIG. 9 , the user may select a refresh activity in step  912 . When refresh is selected, the current display may be updated to reflect any changes in the currently selected node of the navigation tree  1300 . The refresh activity may be performed according to the node display algorithm described above with reference to  FIG. 10A .  
         [0114]     The user may select a restore activity in step  912 . The restore activity may retrieve backup data from the database  106  and restore the backup data to the selected controllers  104 . As shown in  FIG. 11B , a restore algorithm may be executed by the server. In step  1110 , the restore activity selection is received. In step  1112 , the controller data may be retrieved from the database  106  and restored to the controller memory. In step  1114 , the server  102  may check for additional controllers  104  within the selected node of the navigation tree  1300 . Steps  1112  and  1114  may be repeated for each controller  104  of each control system  128  of each site  130  of each directory of the selected node of the navigation tree  1300 . When no additional controllers  104  remain, the algorithm ends. In this way, multiple controllers  104  may be restored in response to a single received instruction from a user operating the client  108 .  
         [0115]     The user may select a retrieve logs activity in step  912 . The retrieve logs activity may retrieve updated log data from the controllers  104  within the selected node of the navigation tree  1300  for use and display by the server  102  and client  108 . As shown in  FIG. 11C , a retrieve logs algorithm may be executed by the server  102 . In step  1116 , the retrieve logs activity selection may be received. In step  1118 , the controller log data may be retrieved from the controller  104  for use by the server  102  and client  108 . In step  1120 , the server  102  checks for additional controllers  104  within the selected node of the navigation tree  1300 . Steps  1118  and  1120  may be repeated for each controller  104  of each control system  128  of each site  130  of each directory of the selected node of the navigation tree  1300 . When no additional controllers  104  remain, the algorithm ends. In this way, log data from multiple controllers  104  may be retrieved in response to a single received instruction from a user operating the client  108 .  
         [0116]     The user may select a send-to activity in step  912 . The send-to activity may send a data update or modification to all the controllers  104  within the selected node of the navigation tree  1300 . A user may want to change an operating parameter across multiple controllers  104 , control systems  128 , sites  130 , or directories. For example, controllers  104  may be configured with a “closing time” operating parameter. At the specified closing time, the controllers  104  may turn off the lights, lower HVAC heating set point temperature, or raise the HVAC cooling set point temperature, etc. A retailer may want to change the closing time across all retail locations. During a holiday season, the retailer may decide to stay open two hours later. By using the send-to activity, the retailer may simply enter the new closing time, and perform a send-to activity to send the later closing time to all of the controllers  104  selected by the retailer. The new closing time will be “broadcast” to all controllers  104  within the selected node of the navigation tree  1300 .  
         [0117]     Referring now to  FIG. 10B , a send-to algorithm may be executed by the server. In step  1010 , the send-to activity selection may be received with the specified new data to be sent. In step  1012 , the controller data may be sent to the controller  104 . In step  1014 , the server  102  may check for additional controllers  104  within the selected node of the navigation tree  1300 . Steps  1012  and  1014  may be repeated for each controller  104  of each control system  128  of each site  130  of each directory of the selected node of the navigation tree  1300 . When no additional controllers  104  remain, the algorithm ends. In this way, updated controller data may be sent to multiple controllers  104  in response to a single received instruction from a user operating the client  108 .  
         [0118]     Referring again to  FIG. 9 , the user may select terminal mode in step  912 . In terminal mode, a display of the selected controller  104  may be loaded in the main frame  1600  of the user interface as shown in  FIGS. 18-20 . Terminal Mode may be initiated by selecting Terminal Mode from the Activities list. In Terminal Mode, the controller display may be seen in the user interface exactly as it appears on the display monitor of the controller itself. User input may be sent directly to the controller  104 . In this way, a user operating the client  108  may view the controller display as if the user were directly in front of the terminal. User keyboard input received by the client  108  may be sent to the controller  104  which responds in the same way as if the user were entering the keyboard input directly on the keyboard of the controller  104  itself.  
         [0119]     Referring to  FIG. 18 , a terminal mode display for an HVAC and lighting controller is shown. The outside temperature, the light status, and roof top unit (RTU) status are displayed. Referring to  FIG. 19 , a setpoint modification screen is shown in terminal mode for an HVAC and lighting controller. Referring to  FIG. 20 , a RTU status screen is displayed in terminal mode for an HVAC and lighting controller. By pressing the appropriate functions keys, such as F1, F2, F3, and F4, the controller menu screens may be navigated.  
         [0120]     Referring again to  FIG. 9 , the user may make a data selection to display, graph, or export data in step  914 . Referring now to  FIGS. 21-24 , screen shots associated with a data selection are shown. For example, in  FIG. 21 , the BX-400 1: Suite 101 controller (in the E2 Control System, CPC site and CPC directory), has been expanded. The applications associated with the controller are displayed indented below the controller. In  FIG. 22 , the first application under the controller, the Air Handlers (AHUs) has been expanded. Under the AHU&#39;s, two RTU&#39;s are displayed: RTU 1 -OFFICES and RTU 3 -ENG LAB.  
         [0121]     In  FIG. 23 , the RTU 1 -OFFICES node has been expanded to reveal the data fields associated with RTU 1 -OFFICES. In  FIG. 24 , two data fields are selected: ACTIVE SETPT and SPACE TEMP OUT. By selecting the graph button in the navigation frame, a log points display window may be shown in the main frame, as in  FIG. 25 . The log points display window shows the current data points selected for graphing.  
         [0122]     In addition, the log points display window provides for a time zone selection. The time zone selection may be set to “Site Time” or “My Time.” When viewing data points for different controllers in different time zones, or when viewing data points for a controller in a time zone different than the user time zone, the time zone selection determines which time zone to use. For example, the user may be in the Eastern Time zone and viewing data points from controllers in the Central and Pacific Time zones. By selecting “My Time,” all of the data points may be displayed according to the Eastern Time zone. By selecting “Site Time” the Central Time zone may be used for the data points of the controller in the Central Time zone and the Pacific Time zone may be used for the data points of the controller in the Pacific Time zone. When the time zone is selected, the user may select “Display Log Graph.” 
         [0123]     The graph of the log points is shown in  FIG. 26 . The set point data of the AHU is displayed with the space temperature. As can be seen from the graph, the set point is lowered to 60 degrees between 11:00 p.m. and 7:00 a.m.. Between 7:00 a.m. and 11:00 p.m., the set point is raised to 72 degrees. As displayed by the graph, the space temperature decreases when the set point is lowered, and increases when the set point is raised.  
         [0124]     Another log point graph is shown in  FIG. 27 . In this case, data associated with a condenser application is shown. The condenser discharge temperature is displayed with outside ambient temperature. As shown in  FIG. 27 , outside temperature (“OAT OUT”) is classified as “Global Data.” Global data refers to data that is shared across controllers. It would not be economical for each controller to have its own outside temperature sensor. Thus, one controller is configured with an outside temperature sensor. The outside temperature is then designated as “Global Data” during configuration of the controller. The controller may then share the sensed outside temperature with other connected controllers.  
         [0125]     In  FIG. 28 , three data log points are displayed: space temperature, outside temperature, and heat stage. As can be seen from the graph, the space temperature increases when the heat stage is on.  
         [0126]     As shown in  FIGS. 26-28 , the data log points may be exported by selecting the export button.  
         [0127]     Any data log points from any controllers in the navigation tree  1300  may be graphed alongside each other. Specifically, data log points from controllers in different sites may be graphed together and compared. For example, if a particular retailer is experiencing increased power consumption during a particular time of day, across all retail locations, the retailer may graph the appropriate power consumption data log points for all retail locations for the desired time of day. The data points for the controllers  104  across all directories, sites  130 , and control systems  128  selected are displayed together.  
         [0128]     Referring again to  FIG. 9 , the user may make a configuration selection and configure system, users, groups, directories, sites, etc., in step  916 . The configuration options available may depend on the current user login and access privileges.  
         [0129]     In  FIG. 29 , a user manager configuration screen is shown. The user profiles may be edited, and user access privileges may be modified.  
         [0130]     In  FIG. 30 , a directory manager configuration screen is shown. Directories may be added, deleted, or edited.  
         [0131]     In  FIG. 31 , a site manager configuration screen is shown. Sites may be added, deleted, or edited.  
         [0132]     In  FIG. 32 , an activity history report is shown. The history of performed activities is displayed, along with activity results. The activity may be “Completed”, “Failed”, or “Partially Completed.” When an activity is partially completed, the activity history may be navigated to determine the portion of the activity that was not completed.  
         [0133]     Referring now to  FIG. 33 , a “Backup Directory” activity is shown as partially completed. Expanding the activity reveals that the backup directory activity included a backup site activity, which also shows as partially completed. Expanding the backup site activity reveals that the activity included four control system backups. Reviewing the control system backups reveals that the first three control system backups were completed successfully, while the fourth control system backup for the “L” control system failed. Based on the activity history, the user may then investigate further to determine the cause of the activity failure.  
         [0134]     Activities may be configured as well. Specifically, activities may be scheduled to occur on a recurring basis. For example, backup activities may be scheduled and may be staggered.  
         [0135]     In addition, activities may occur automatically in response to an event. For example, controllers may generate alarm notifications. A controller  104  may generate an alarm notification to alert of a high or low pressure or temperature, of a system malfunction, of a maintenance requirement, etc. The server  102  may receive the alarm notification and perform a specified activity in response to the alarm. When a malfunction occurs, the server  102  may backup and retrieve all logs from the controller  104  associated with the malfunction. In this way, the data may be later analyzed to determine the cause of the malfunction.  
         [0136]     To be compatible with the enterprise control and monitoring system software, the individual controllers  104  are configured with a number of high-level commands. The software may then communicate with the controllers  104  via the high-level commands. In this way, a communication protocol is established such that any controller  104  configured to communicate via the high-level commands may be used with the enterprise control and monitoring system software.  
         [0137]     The high-level commands include: backup controller, restore controller, controller inventory, controller log-points. In addition, each high-level command may have a corresponding high-level command that is used to determine whether a particular controller  104  can perform the associated high-level command. For example, a high-level command may be used to determine whether a controller  104  can perform a backup, or a restore, etc. The backup and restore commands correspond to the backup and restore activities described above. The controller inventory command requests the controller  104  to provide a listing of all applications and data. The controller log-points command requests the controller to provide all of the log data points.  
         [0138]     All communication access to the individual controllers  104  is controlled by the server  102 . When multiple users access the same controller  104 , the server  102  shares the controller connection between the two requesting users. The two users may perform different activities on the same controller  104  simultaneously. For example, a first user may graph desired log data points associated with the controller while the second user accesses a terminal mode associated with the controller  104 . In this way, resource conflicts between multiple users are managed by the server which shares access to the controllers  104  between users as needed.