The present invention relates generally to building control systems, and more particularly, to building control systems that include field panel control devices.
Building control systems are employed to regulate and control various environmental and safety aspects of commercial, industrial and residential facilities (hereinafter referred to as “buildings”). In ordinary single-family residences, control systems tend to be simple and largely unintegrated. However, in larger buildings, building control systems often consist of multiple, integrated subsystems employing hundreds of elements.
One common type of building control system is a heating, ventilation and air-conditioning (“HVAC”) building control system. An HVAC system interrelates small, local control loops with larger control loops to coordinate the delivery of heat, vented air, and chilled air to various locations throughout a large building. Local control loops may be used for various purposes, including, for example, opening and closing vents that supply heated or chilled air based on local room temperature readings. Larger control loops, however, may be used to obtain several distributed temperature readings and/or air flow readings that can be used to control the speed of a ventilation fan, or to control the operation of heating or chilling equipment.
As a consequence of the interrelationship of these control loops, many elements of a building control system must communicate information to each other. To this end, communication networks have been incorporated that transmit digital data between and among the various elements in accordance with one or more sets of protocols.
Some of the core elements of a sophisticated building control systems include field panel devices, supervisory control stations, sensors and actuators. Sensors and actuators are terminal devices of the system that collect raw data and physically change output of the system, respectively. For example, sensors may include temperature sensors, humidity sensors, air flow sensors and the like. Actuators may change the physical output of fans, ventilation dampers, air conditioning equipment and the like.
Field panel devices are distributed control devices that in large part determine the operation of the system, at least at the local control loop level. To this end, field panel devices may receive sensor signals from the sensors and provide control signals to the actuators. The field panel devices generate the control signals based on the sensor signals and other control signals or set point signals received from other field panel devices.
A supervisory control station is typically a computer work station having a human user interface that allows technicians to monitor and control overall system operation. Control stations may be used to track alarm conditions, overall performance, and provide a user interface to system variables.
In such systems, the field panel devices are generally connected to each other, as well as to the one or more control stations, in order to share information necessary for coherent building control. In the past, such devices shared data over a token ring network, which are relatively simple to implement on a logical level. However, more recently, field panel devices can communicate with each other, and with control stations, over logical networks on an Ethernet backbone.
One aspect of many building control systems is that the communication protocols used by the field panel devices is typically somewhat specialized, and often proprietary in nature. Thus, access to building control system data is largely limited to devices especially configured for use in the building control system. Thus, in a typical system, a user must employ the user interface at one of the field panel devices, or at the supervisory control station to view or control building control system data.
There have been proposals to allow access to building control data using the World Wide Web, thereby allowing access to system data from normal web-compatible computers. Such systems thereby allow computers that have not been specially configured to access at least some building control system information. One such system is disclosed in U.S. Pat. No. 6,157,943, which describes a system that enables web access to building control system data through a specialized standalone Internet web server. One drawback is that the system has limited capability and flexibility, and furthermore requires a specialized web server host.
There is a need, therefore, for a method or apparatus for use in a building control system that provides broader access such as web access to building control information, and which addresses one or more drawbacks of prior web-capable systems.
The present invention addresses the above needs, as well as others, by providing a controller (e.g. a field panel) that performs ordinary building control functions and furthermore operates as a web server. Thus, a web client may access building control information directly from a field panel or controller without specialized protocols, even if the field panel uses specialize protocols for normal building control operations. The field panel web server preferably further includes the capability of selectively using advanced web features to provide automatic updates of at least some building control information to the web client.
A first embodiment of the invention is a controller for use in a building control system. The controller includes an input, an output, a processing circuit and a communication circuit. The input is operably connected to receive sensor information. The output is operably connected to communicate control information. The processing circuit is configured to generate the control information based on the sensor information and at least one set point. The processing circuit is further operable to generate web pages including one or more building control values. The communication circuit is operable to communicate the generated web pages to an external web client. The communication circuit is preferably further operable to communicate an executable program to the external web client. The executable program is configured to cause the external web client to automatically poll for updates to at least one of the one or more building control values.
A second embodiment of the invention is a related method for use in a building control system that includes a field panel or controller.
The above described features and advantages, as well as others, will become more readily apparent to those of ordinary skill in the art by reference to the following detailed description and accompanying drawings.
In general, the field panels 112, 114 and 116 share building control data with each other. In other words, the field panel 112 can request and obtain certain data from the field panel 114 over the communication network 118. To obtain data from other field panels, the communication network 118 may be any communication network commonly used for HVAC field panel communications. For example, the communication network 118 may suitably be an Ethernet network, a token pass or token ring network, or any other standard communication network. Field panels and communication networks having the general operations discussed above are well known in the art.
In accordance with aspects of the present invention, however, the field panel 112 is further operable to perform web server operations. In particular, the field panel 112 includes a processing circuit 112a configured to generate web pages (or other web-browser compatible data files) that include one or more building control values. The field panel 112 further includes at least one communication circuit 112b operable to communicate the generated web browser compatible files to an external web client 120. The communication circuit 112b is further operable to communicate an executable program to the external web client 120, the executable program operable to cause the external web client 120 to automatically poll for updates to at least one of the one or more building control values.
In this embodiment, the web client 120 is connected to the field panel 112 via an Ethernet network. However, the web client 120 may be connected to the web server 120 using other known configurations.
In some embodiments described herein, the web browser compatible file that is generated by the processing circuit 112 is an HTML-based web page that is readily displayed using most commercially available web browsers. The web page may include sensor values of the building control system. For example, the web page may display temperature sensor values for one or more rooms in a building. The web page also typically includes static text and/or graphics as is known in the art for HTML-based web pages. The static text and/or graphics may suitably form the template or background for the transmitted building control values.
In accordance with one aspect of the invention, the processing circuit 112a can generate a web page that includes building control data that is maintained locally within the field panel 112, or alternatively that is obtained from one of the other field panels 114 and 116 via the communication network 118.
The executable program that is communicated may suitably include a Java script or Java applet that causes the external web client 120 to automatically request updates to certain values, for example, alarm values, from one or more of the field panels 112, 114 and 116. Other applets or scripts may also be downloaded to enable entry and verification of certain input from the web client 120 user.
In the general operation of the system of
The field panels 114 and 116 also perform similar control operations. In addition, other field panels, not shown, may also control larger HVAC equipment such as chiller plants, blowers and the like. It will be appreciated that field panels such as the field panels 112, 114 and 116 may alternatively be used in a non-HVAC system, such as a fire safety or security system.
Regardless of what system they are implemented in, the field panels 112, 114 and 116 from time to time communicate and share data in the course of performing building control functions such as those described above. Field panel to field panel communication over a network such as the communication network 118 is well known in the art and is employed, for example, in the APOGEE™ family of building control systems available from Siemens Building Technologies, Inc. of Buffalo Grove, Ill. Such communications typically employ protocols that are configured primarily for building/industrial control operations, such as the LonTalk protocol, the BACnet protocol and/or proprietary protocols. Typical values that may be shared from field panel to field panel include values of sensors (e.g. temperatures, air flow measurements), values of actuators (e.g. position of ventilator shaft, fan speed), alarms (sensor values out of normal range), scheduling information (changes in controls based on time of day, date or season), reports (maintained in each field panel for its controlled points) and set points. It is known in the art that field panels can also perform statistical trending. Such information may also be shared from field panel to field panel.
One of the reasons that extended information may be shared from field panel to field panel is that it can allow a technician to change or monitor certain aspects of many field panels from a single field panel. In many systems, one or more computer work stations, not shown in
From time to time a party may desire to access information from the building control system from a computer that is not specifically configured to communicate using the specific protocols of the building control system 118. For example, a user at a computer having a commercially available web browser, e.g. the web client 120, may desire to obtain information from the building control system. The embodiment of the present invention described herein enables such operation.
In particular, to obtain data in such a manner, the web client 120 communicates a request for a building control information to the field panel 112. The requested information may include information stored on, or at least derived from information stored on, any of the field panels 112, 114 and 116. The processing circuit 112a receives the request, and generates a responsive web page. To this end, the processing circuit 112a may have to obtain data stored locally, or may obtain data from one of the other field panels 114, 116 over the communication network 118. The processing circuit 112a then assembles the data into a web page, and provides the web page to the web client 120 via a communication circuit 112b.
In addition, for some building control information, for example, alarm information, the communication circuit 112b further provides a program to the web client 120 that is executable by a standard web browser. This program, when executed by the web client 120, automatically generates requests for updates to the certain types of information. Such requests are automatically transmitted from the web client 120 to the field panel 112. The field panel 112 receives the update request, obtains the updated information, and transmits the updated information to the web client 120 via the communication circuit 112b. As with the originally requested information, the field panel 112 may obtain the updated information either locally or from one of the other field panels 114, 116. In addition, will be appreciated that the updated information is typically transmitted as a new, updated web page. Alternatively, the updated information may be transmitted using another file protocol, such as an XML file, which is parsed by a program at the web client 120.
Referring now generally to the system 200, the control system devices 214 include sensors that obtain values representative of a process value within the building control system 200. For example, control system devices 214 may include temperature sensors, flow sensors, humidity sensors, air quality sensors. The control system devices 216 include actuators that affect outputs of the building control system 200. For example, the control system devices 216 may include ventilation damper actuators, hot water valve actuators, variable frequency drives, and other devices that can affect temperature, air flow or other aspects of a building.
The control system devices 214 and 216 are connected to various of the first and second sets of field panel devices 210 and 212, respectively. The first set of field panel devices includes field panel devices 210a, 210b, 210c and 210d, which are all connected to each other by an Ethernet local area network 218. The second set of field panel devices 212 includes field panel devices 212a, 212b and 212c, which are all connected to each other by an Ethernet local area network 220.
The Ethernet local area networks 218 and 220 are bus networks to which the field panel devices 210a-d and 212a-c, respectively are connected. Other nodes, not shown may also be connected to the Ethernet local area networks 218 and 220. The Ethernet local area networks 218 and 220 employ Ethernet standard transmission protocol, including standard Ethernet acknowledgement practices (in one-to-one or unicast messaging), standard Ethernet multicast and broadcast practices, and standard collision handling operations. Ethernet networks in general are well known.
The control stations 202, 204, the printing device 206 and the mass storage device 208 are all connected by an Ethernet network 222. The Ethernet network 222 is a bus network similar to the Ethernet local area networks 218 and 220. The Ethernet local area network 218 is connected to the Ethernet network 222 through a router 224 and the Ethernet local area network 220 is connected to the Ethernet network 222 through a router 226.
As discussed above, the field panels 210a-210d and 212a-212c, the control station 204, and optionally the mass storage device 208 are part of a logical level Internet Protocol (IP) network known as a building level network or BLN. The BLN uses the physical level Ethernet communication networks 218, 220 and 222. However, multiple logical IP level networks may share physical level networks such as the networks 218, 220 and 222. As is known in the building control system art, communication between field panels 210a-210d and 212a-212c and other nodes of the BLN is typically carried out using specialized building control system protocols, whether open standard or proprietary.
Each of the field panels 210a-210d and 212a-212c is preferably operable to receive sensor information from one or more building control devices 214, receive set point or other control information from an external device (such as another field panel 210a-210d, 212a-212c or a control station 202, 204). Each field panel 210a-210d and 212a-212c is preferably also operable to calculate a control output using the sensor information and/or the set point or other control information. The field panels 210a-210d and 212a-212c may suitably communicate the control outputs to building control devices 216 and/or other of the field panels. Each of the field panels 210a-210d and 212a-212c is also preferably operable to communicate sensor information, set point information, device status information, field panel status information, and the like to other field panels and other nodes of the BLN.
In accordance with this embodiment of the present invention, the field panel 210a further operates as a web server that generates web pages and provides the web pages to web clients. The web pages include, among other things, at least some building control system information. Such building control system information may include sensor values, control output values, and/or set point values from any of the field panels 210a-210d, 212a-212c, or information derived from any of such values.
The control stations 202, 204 are preferably computer workstations that include user interface equipment such as displays, keyboards, pointing devices, etc. The control stations 202, 204 can provide overall control and monitoring functions for the system 200, including providing user access to data generated by or for the field panels 210a-210d, 212a-212c. By way of example, the control stations 202, 204 may be able to obtain a sensor reading, for example a temperature sensor reading, from the field panel 210b in response to a request by a user. In another example, the control station 202 may be able to provide a set point flow value to one of the field panels, e.g. field panel 212c, which the field panel 212c would then use in determining a control output to provide to the appropriate actuator. Alarm information generated by any of the control devices 214, 216 or any of the field panels 210a-210d, 212a-212c may be received and displayed at the control stations 202, 204.
While both control stations 202 and 204 access building control information as described above, the control stations 202 and 204 access such information in different ways. In this embodiment, one of the control stations, the control station 202, includes a web client and is configured to receive web pages from the field panel 210a via the local area networks 118 and 122. To this end, the control station 202 may suitably include a commercially available web browser such as Internet Explorer available from Microsoft Corporation of Redmond, Wash., NetScape Navigator, or Safari available from Apple Computer. The control station 202 is thus operable to receive building control information of any of the field panels 210a-210d and 212a-212c through the web server field panel 210a.
As discussed further above, the other control station 204 is a node on the BLN, and is therefore configured to receive building control system data from the various field panels 210a-210d and 212a-212c directly, using the BLN protocols. The control station 204 is therefore specially configured to operate with the building control system 200, while the control station 202 may simply be a standard computer work station that includes a standard web browser. The control station 202 may suitably communicate with the field panel 210a using a TCP/IP protocol.
One example of a suitable control station that may be used as the control station 204 is an Insight™ brand workstation available for use in the Apogee™ building control system, both available from Siemens Building Technologies, Inc., of Buffalo Grove, Ill. The web client control station 202 may suitably be any of a number of general purpose, commercially available computers, including desktop computers, portable computers, web-enabled personal data assistants (via a wireless connection), etc.
The mass data store 208 is a device that stores system related data in one or more databases. The stored system-related data may include historical and statistical information regarding system operation, system configuration information, system graphics, as well as other information not necessarily used in the real-time (or substantially real-time) control operations of the field panels 210a-210d, 212a-212c.
In accordance with aspects of the invention, the use of IP communication networks for the field panels allows for ready communication between and among the field panels 210a-210d and the field panels 212a-212c, taking advantage of existing (or easily added) Ethernet network infrastructure. Moreover, the IP level BLN may use multiple Ethernet networks connected by routers, such as is shown by way of example in
The power supply 302 is a circuit that is operable to convert AC utility power to AC and DC voltages used within the field panel 210a. Such devices are well known in the field panel art. The processing circuit 304 is a circuit that is capable of carrying out a set of instructions to implement the operations ascribed to the processing circuit 304 herein. To this end, the processing circuit 304 may suitably include a microprocessor, a microcontroller, discrete digital circuitry, a programmable logic device, and/or other processing elements, as well as related interface, clocking, and memory circuitry. Suitable circuits in various configurations would be known in the art. One suitable microprocessor is a PowerPC available from Motorola. In one preferred embodiment, a single microprocessor (and its non-processor support circuitry) carries out all of the operations attributed to the processing circuit 304 as described herein.
The data store 306 is a memory device or set of memory devices that have the capacity to retain building control information generated received by and/or maintained by the field panel 210a. The data store 306 may suitably include software instructions necessary to facilitate performance by the field panel 210a of control functions, communication functions, and web server functions. The field panel 210a may suitably include a hard disk or other non-volatile storage devices. Alternatively, or additionally, the field panel 210a may include random access memory or other volatile storage elements.
The Ethernet communication circuit 308 is a circuit that is operable to provide signals to and receive signals from a network bus connection using Ethernet communications protocols. The physical connection to the network bus may suitably be an RS-485 standard connection. In this example, the network bus is the network 218, as shown in
The Ethernet and TCP/IP communications protocols are well known in the art. Ethernet protocols generally require that each message from any device connected to the local area network 218 should propagate to each device on the local area network 218. While all nodes on the local area network 218 “see” each message transmitted on the local area network 218 or bus, only the nodes that are identified as the destination address “listen” to the message. Moreover, each Ethernet communication circuit 308 listens on the bus before transmitting messages, and is operable to send a jamming signal if a collision on the bus is detected. Messages addressed to nodes outside the local area network 218 are intercepted by the router 224, which then retransmits the message to the appropriate destination.
It will be appreciated that the block diagrams of functional blocks of
The I/O circuits 310 are ordinary I/O interface devices used to receive signals from various building control devices 214, and provide signals to one or more control devices 216. The I/O circuits 310 may have many configurations, and may include analog signal transceivers as well as digital communication circuit transceivers. The I/O circuits 310 include circuits that communicate with the building control devices 214 and 216 (see also
The field panel 210a also includes a user interface 312, which may be relatively basic, such as a pushbutton keypad and a small LCD display panel. The user interface 312 allows a user to have local access to building control data in the data store 306, as well as data that can be obtained from other field panels. The user interface 312 may also allow a user to effect a change to building control data, for example, set points. Instead of a user interface 312, or in addition to it, the field panel 210a may include another communication circuit, not shown, that may be connected to a laptop computer or other portable computing device. The field panel may also include a local wireless connection, such as Bluetooth, through which a user may access data via a portable computing device. Such connections are known in the art.
The processing circuit 304 is preferably operable to carry out at least some control operations related to the connected building control devices 214 and 216. Such operations constitute the traditional operations of a building control system field panel device and are not discussed herein in detail. The processing circuit is further operable to generate web pages using building control data maintained locally or maintained at any of the other field panels 210b-210d and 212a-212c. To accomplish the foregoing, the processing circuit 304 includes a standard panel function 406 and a web server function 408.
In the exemplary embodiment described herein, the standard panel function 406 includes, among other things, the functions of maintaining and/processing point values, and of communicating information with other nodes on the BLN.
In particular, the standard panel function 406 of the processing circuit 304 is operable to maintain a number of point values in a manner normally associated with building control system. A point value is a value of control system variable, such as a sensor value, a control output value, or even a set point.
The maintenance of point values by processing circuit 304 includes receiving sensor values from attached sensors 214, generating control values for the actuator 216, receiving set point values from other nodes through the BLN, from the field panel user interface 312, or elsewhere. The maintenance of point values may further include generating alarms, performing scheduling routines, and performing advanced services such as trending of points. Preferably, many or most of the other field panels 210b-210d and 212a-212c maintain point values in a similar manner. The above described operations are known to those of ordinary skill in the art. Additional detail regarding alarm generation, scheduling and trending is provided below.
In particular, to facilitate the generation of alarms, the standard panel function 406 of the processing circuit 304 is operable to monitor point values, for example sensor point values, to determine whether those values exceed one or more alarm thresholds. If so, the processing circuit 304 generates an alarm event. The alarm event may be stored locally, or communicated to other nodes on the BLN such as the control station 204 of
In scheduling operations, the standard panel function 406 of the processing circuit 304 is further operable to use time of day information and/or date or season information in its control operations. For example, the processing circuit may perform a scheduling routine that automatically reduces the temperature set point in winter after 6:00 pm in order to conserve energy. Such a routine could further restore the normal set point at 7:30 am. Other scheduling routines may-change certain operations based on whether the current season is winter or summer. The details of such a scheduling routine will vary from application to application and would be known to those of ordinary skill in the art.
The processing circuit 304 in some embodiments is further operable to perform advanced functions, such as trending of certain point values. Trending of point values may include statistical calculations that are used to study the effectiveness of certain equipment or control algorithms. Again the details of such a trending will vary from system to system and would be known to those of ordinary skill in the art.
As discussed above, in addition to the maintenance of point values, the standard panel function 406 of the processing circuit 304 is further operable to cooperate with the communication circuit 308 to communicate point values and point value-related information to other nodes of the BLN. For example, as briefly mentioned above, the processing circuit 304 is operable to cause alarm event of point values to be communicated to other nodes on the BLN that subscribe to the alarms of that point value. The processing circuit 304 may similarly cooperate with communication circuit 308 to subscribe to and receive alarm event messages from other field panels. The processing circuit 304 may further receive externally generated command messages via the communication circuit 308. Command messages alter a set point value locally maintained within the field panel, or may even alter a locally maintained control output point value.
The standard panel function 406 of the processing circuit 304 and the communication circuit 308 are also configured to generate requests to other field panels to view point values maintained at those field panels, and to view trend values generated and maintained at other field panels. Similarly, the standard panel function 406 of the processing circuit 304 is operable to respond to such requests received from other nodes on the network. Thus, the processing circuit 304 may receive a request for trending data from another field panel. The processing circuit 304 would provide the trending data to the requesting field panel via the communication circuit 308 and the BLN.
The above described operations of the standard panel function 304 are generally known in the art. It will be appreciated that depending on the building control system, the standard panel function 304 may include more or less operations than those described above. However, the above described functions fairly represent a typical assortment of field panel control, monitoring and communication operations.
As discussed above, the processing circuit 304 also includes a web server function 408. The web server function 408 of the processing circuit is generally operable to receive hypertext transfer protocol “http” requests and generate web pages in HTML format responsive thereto. In general, the http requests may include requests for certain building control information, such as point values and other information, regarding one or more of the field panels of the BLN. In some embodiments, the web server function 408 may generate other types of web-browser compatible files, such as XML files, that are parsed and transformed by the web client using XSL, which is a stylesheet language for XML.
As will be described in further detail in connection with
The web server 410 may suitably be commercially available web server software such as the Nucleus WebServ™ brand web server available from Accelerated Technology of Mobile, Alabama. The web server 410 may alternatively include a WINDOWS® CE web server that employs ASP pages or the like.
The general operation of the web server 410 to provide building control data to a web capable computer is described in connection with
Referring to
In step 504, the web server 410 obtains from memory (i.e. the data store 306 of
It will be appreciated that there may be multiple levels of authorization. In particular, some users may be authorized to view information only, while others may both view and command points. Other authorization levels may be used to selectively allow users access to particular subsets of the total population of field panels. In this case, it will be appreciated that the user's authentication status may referenced each time the user requests specific information from the web server 410 (see step 506).
In the embodiment described herein, the new web page provided in step 506 includes a graphic buttons (or pull down menu or the like) that allows the user to pick one of a plurality of applications or functions. An exemplary set of applications that may be called in the exemplary embodiment described herein include Command and View Points, Alarms, View Trends, View Scheduling, and Graphics. Command and View Points enables an authorized client/user view and change set point values or control point values on one or more of field panels in the BLN. Command and View Points also enables an authorized client/user view sensor, control and/or set point values at one or more of field panels in the BLN. Alarms enables an authorized client/user monitor and optionally acknowledge alarm events on one or more of field panels in the BLN. View Trends and View Scheduling enables an authorized client/user view trend data and scheduling information on one or more of field panels in the BLN. Graphics allows an authorized client/user to view and optionally control various points that are grouped together and displayed as a dynamic graphic. Further detail regarding the graphic operation is provided below in connection.
The web server 410 then proceeds to step 508. In step 508, the web server 410 receives a request from the client/user. The request may identify one of the plurality of applications available to the client/user. In response thereto, the web server 410 in step 510 prepares another web page that requests further parameters regarding the selected application. Such parameters include the identification of which points the user would like to view, command, track for alarms, trend, etc. For example, if the selected application is Command and View, then the web server 410 in step 510 formulates a web page that requests the identification of point values to be commanded or viewed. Similarly, if Alarms is selected, then the web server 410 in step 510 similarly formulates a web page that requests the building control system point or points for which Alarms are to be monitored. Other parameters may also be provided, such as format of presentation, etc.
The web page formulated in step 510 may present the request and method for responding in a variety of ways. In one embodiment, the web server 410 formulates a web page that includes a pull down menu with all of the available building control points for which the application may be executed. The client/user would then use the web browser interface to select one or more building control points from the pull down menu.
It is noted that while most applications (i.e. View and Command, Alarms, Trending, etc.) will require the client/user to select one or more building control points, all points are not typically available for all applications. For example, only some points may be commanded (i.e. controlled), only some points have alarm limits, and only some points have available trending data. In addition, the client/user may only have access to certain points based on their user authorization.
Thus, in one embodiment, the web server 410 in step 510 determines, based on the application selected and the client/user identity, those building control points that are available to be selected. The web server 410 then generates the web page to include a pull-down menu with those points. Other user-selected application parameter choices may be presented in the same manner. In other embodiments, the web page may merely include a form with space for receiving text input of the user. In any event, the web server 410 forwards the new page to the client/user to complete step 510.
Assuming the client/user formulates a response to the web page request generated in step 510, the web server 410 in step 512 receives the parameter information for the requested application.
In step 512, the web server 410 makes one or more calls to the interface element 412 that includes information identifying the both the application and the parameters related to the application. The interface element 412 receives the information, performs a corresponding task, and then returns point values or other requested building control system information to the web server 410.
For example, in the Command and View Points application, the web server 410 in step 512 provides to the interface element 412 the application call and the application parameters. The application parameters may include point value identifiers that specify the building control system point value(s) that the client/user wishes to view. The parameters may also include point value identifiers of points the client/user wishes to modify (i.e. command), and may further include the new value of the points that are modified. In such a case, the interface element 412 receives the parameters (and the request for the Command and View Points application) and generates a corresponding request using protocols and formats normally used to request information from the standard panel function 406. The standard panel function 406 then operates to retrieve (or change) the requested point values in the manner normally used by the field panels 210a-210d and 212a-212c. Thus, if the request includes a request for information from another field panel, the standard panel function 406 requests data from the other field panel using the normal BLN field panel protocols. The other field panel may suitably be oblivious as to whether the information is ultimately destined for the client/user in the form of a web page. Once the standard panel function 406 obtains the request value(s), it provides the retrieved information to the interface element 412. The interface element 412 thereafter parses the retrieved information from the BLN protocols and provides the parsed (possibly further processed) building control information to the web browser 410 for inclusion into the page to be sent to the client/user.
In another example, in the View Trends applications, the parameters provided by the web server 410 in step 512 may include point value identifiers that identifies the building control system point or points for which trending information is requested. The web server 410 forwards the parameters to the interface element 412. The interface element 412 then requests the trending data from the standard panel function 406. The standard panel function 406 obtains the requested data from its memory or from another field panel using normal BLN protocols, and returns the information to the interface device 412. The interface element 412 then builds a trending graph in a format that may be included in an HTML web page, and provide the trending graph data to the web server 410 for inclusion into the web page to be sent to the Client/User. In an alternative embodiment, the interface element 412 does not build the graph, but rather provides the data to the web server 410 which, in turn, sends it as an XML file. The web server 410 would also send a Java applet that builds the graph at the web client using the XML file.
If the application requested is View Scheduling or Alarms, then interface element 412 and the standard panel function 406 operate in an analogous manner as that described above to obtain the necessary information. In the exemplary embodiment described herein, however, the Alarms application includes downloading a Java script to the client/user that causes the client/user web browser to automatically renew requests for Alarm messages. Further detail regarding the Alarm operation is provided below in connection with
If the application is Graphics, then the web server 410 and interface element 412 operate to generate information that allows the client/user to display dynamic graphics that may include background elements as well as active graphic controls for various sensor values and set points or control points.
The parameters for such an application may be the identification of a “graphic” object that includes several related building control system values and a graphic environment with graphical controls. For example, a graphic of a room may include temperature sensor graphics, temperature set point control graphics, air flow meter graphics, etc. Such graphic object definitions may be stored at one or more nodes of the BLN. In such an operation, the web server 410 downloads various Java applets via Java jar files that cause the client/user to build graphics specifically at the client/user. Point value data is provided as XML files to allow for ease of update of values. To accomplish these graphic functions, the web server 410 and the interface element 412 may employ the techniques described in U.S. patent application Ser. No. 10/463,818, filed Jun. 17, 2003, U.S. Patent Publication No. US-2004-0049577-A1, which is incorporated herein by reference.
In any event, step 512 includes providing a request for performance of an application corresponding to the client/user request, and providing the parameters of the requested application. In step 514, the web browser 410 receives the requested building control data from the interface element 412. As discussed above the interface element 412 performs the requested application to obtain the building control data from the standard panel function 406.
In step 514, the web browser 410 formulates a web browser compatible transmission that includes the retrieved building control system data to the client/user. The web-browser compatible transmission may suitably be an HTML-compatible web page. In such a case, the web page may include stored web server text and/or graphics, building control values (converted to text) from the interface element 412, building control system graphics from the interface element 412, and Java scripts or applets. In other cases, the web-browser compatible transmission may include XML or other web-based data files that are parsed by special programs in the web browser. Such special programs may include previously downloaded Java applets scripts or XSL stylesheets.
An exemplary HTML page 602 generated by the web server 410 as it would appear on the client/user computer is shown in
Referring again to
Thus, in general, the web server 410 builds web pages (or other web browser web compatible files) that include dynamic building control data. The web server 410 builds such pages responsive to specific requests for pages the human user, for example, a user at the control station 202 of
The Alarms application operates in a manner in which the client/user may automatically receive updates to alarm messages for one or more points.
First, in step 702, the client/user selects the Alarms application and provides the selection information to the web server 410. The web server in step 704 receives the application and generates a new web page that allows the user to select from a set of points for which alarm monitoring is available, and for which the client/user is authorized. The web server 410 forwards the new web page to the client/user. It will be appreciated that step 704 is a specific case of step 508 of
In step 706, the client/user receives the web page and in response, identifies a point for which alarm messages are to be monitored. An alarm message, as is known in the art, is a message that is generated by a field panel or other controller when one of the point values (e.g. sensor value or control output value) is out of range. The point identification information is transmitted to the web server 410 using normal techniques, for example, form elements of a web page, request parameters of URL, etc. In step 708, the web server 410 receives the transmission from the client/user, and provides the identified point information, as well as information identifying a request for alarm monitoring to the interface device 412.
In step 710, the interface device 412 receives the information and runs an application that generates a request, in the format used by the standard panel function 406, for a current alarm status for the identified point. The interface device 412 also requests to subscribe to alarm updates, for the identified point To this end, it will be appreciated that the standard field panel and other nodes on the BLN have the ability to subscribe or register for alarm messages from particular points on the BLN. It is in this manner, or a similar manner, that ordinary building control systems communicate non-life safety alarm conditions to control stations and other nodes on the network. In step 710, the interface device 412 causes the standard panel function 406 to request to receive all alarms from the identified point.
In step 712, the standard panel function 406 contacts the field panel on the BLN that maintains the identified point to be monitored (if that point is not monitored by the standard panel function 406 of the local panel). In particular, the standard panel function 406 contacts that field panel to request current alarm status and to request that all future alarms for the identified point be forwarded to the standard panel function 406.
In step 714, the standard panel function 406 receives the current alarm status and passes the information to the interface element 412. Then, in step 716, the interface element 412 provides the alarm status data to the web server 410 in a format required by the web server 410. In step 718, the web server 410 builds a web page that includes static environmental graphics and text, and which further includes the alarm status data. IN step 720, the web server 410 provides the web page to the client/user. In step 722, the client/user receives the web page data and displays the web page using standard web browser technology.
In step 724, the web server 410 further downloads a Java script that is to be executed on the client/user. The Java script is interpretable by the web browser at the client/user, as is well known in the art. The Java script is configured such that, when executed by the client/user, it causes the client user to automatically generate an http request for updates to the alarm status of the specified point.
In step 726, the client/user receives the downloaded Java script. The web browser of the client/user interprets and executes the Java script. In general, the Java script causes the client/user to automatically generate (i.e. without input from a user) an http request for updates to the alarm status information after a predetermined amount of time. Such an http request may simply be a request for a new web page, the new web page having updated alarm status. In step 728, it is assumed that the predetermined amount of time has passed and that the Java script causes the client/user to send the http request.
In step 730, the web server 410 receives the request for an alarm status update page and calls an alarm update application in the interface element 412. In step 732, the interface element 412 receives the alarm update status request and formulates a query to the standard panel function 406. The query requests an indication of whether any new alarm messages for the selected point have been received at the standard panel function 406. In particular, as discussed above in connection with step 710, the standard panel function 406 is registered to receive any new alarm messages pertaining to that particular point. When new alarm messages are received, the standard panel function 406 logs them, and therefore they are available when the interface element 412 queries for new alarm messages received.
In step 734, the standard panel function 406 returns log information representative of any new alarm messages received for the point. In step 736, the interface element 412 prepares the new alarm message information in a format that may be used by the web server 410 to generate a new web page. In step 738, the web server 410 generates a web page using the updated alarm message information generated by the interface element 412. If no new alarm message (or other change in alarm status) has been received, then the web server 410 may elect not to send an updated web page. Alternatively, the web server 410 may send a new web page with the same alarm status information. The web page, if generated, is provided to the client/user.
In step 740, the client/user displays the newly received web page with the updated alarm status, and then returns to step 728 to await the time period for automatically requesting new alarm status data.
Referring again generally to the web server operation, it will be appreciated that any of the web pages generated by the web server 410 may provide the client/user the ability to select a different application. This ability may be provided in the form of “buttons” on each web page that identify the available applications. (See the buttons menu 612 of
Thus, the above described invention allows for a web client interface to a building control system through a web browser that is embedded in a field panel. The field panel of typical advanced building control systems has the ability to obtain, control and monitor the data that is also available to the web client. However, the present invention allows for access both through proprietary (or open) BLN-specific protocols and through open standard web protocols.
It will be appreciated that the above described embodiments are merely exemplary, and that those of ordinary skill in the art may readily devise their own implementations and embodiments that incorporate the principles of the present invention and fall within the spirit and scope thereof. Other embodiments may employ other environments as well. For example, the field panels according to the invention may be configured to use wireless building level network communications, such as those employing the Konnex or Zigbee standards. The web connection between the field panel according to the invention and any web client may be through any known suitable medium for web communications.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/531,196, filed Dec. 19, 2003 and which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60531196 | Dec 2003 | US |