Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
HVAC SYSTEM USING MODEL PREDICTIVE CONTROL WITH DISTRIBUTED LOW-LEVEL AIRSIDE OPTIMIZATION
Document Type and Number:
WIPO Patent Application WO/2018/005180
Kind Code:
A1
Abstract:
A building HVAC system includes an airside system having a plurality of airside subsystems, a high-level model predictive controller (MPC), and a plurality of low-level airside MPCs. Each airside subsystem includes airside HVAC equipment configured to provide heating or cooling to the airside subsystem. The high-level MPC is configured to perform a high-level optimization to generate an optimal airside subsystem load profile for each airside subsystem. The optimal airside subsystem load profiles optimize energy cost. Each of the low-level airside MPCs corresponds to one of the airside subsystems and is configured to perform a low-level optimization to generate optimal airside temperature setpoints for the corresponding airside subsystem using the optimal airside subsystem load profile for the corresponding airside subsystem. Each of the low-level airside MPCs is configured to use the optimal airside temperature setpoints for the corresponding airside subsystem to operate the airside HVAC equipment of the corresponding airside subsystem.

Inventors:
PATEL NISHITH R (US)
TURNEY ROBERT D (US)
ELLIS MATTHEW J (US)
Application Number:
PCT/US2017/038450
Publication Date:
January 04, 2018
Filing Date:
June 21, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
JOHNSON CONTROLS TECH CO (US)
International Classes:
G05B13/04; G05B15/02
Foreign References:
US20090112369A12009-04-30
US201514717593A2015-05-20
US201514634609A2015-02-27
US9235657B12016-01-12
US201514717593A2015-05-20
Other References:
SORIN C. BENGEA ET AL: "Implementation of model predictive control for an HVAC system in a mid-size commercial building", HVAC&R RESEARCH, vol. 20, no. 1, 8 January 2014 (2014-01-08), ATLANTA, GA; US, pages 121 - 135, XP055421986, ISSN: 1078-9669, DOI: 10.1080/10789669.2013.834781
ATAM ERCAN: "New Paths Toward Energy-Efficient Buildings: A Multiaspect Discussion of Advanced Model-Based Control", IEEE INDUSTRIAL ELECTRONICS MAGAZINE, IEEE, US, vol. 10, no. 4, 1 January 2016 (2016-01-01), pages 50 - 66, XP011637815, ISSN: 1932-4529, [retrieved on 20161221], DOI: 10.1109/MIE.2016.2615127
ABDUL AFRAM ET AL: "Theory and applications of HVAC control systems - A review of model predictive control (MPC)", BUILDING AND ENVIRONMENT, vol. 72, 1 February 2014 (2014-02-01), GB, pages 343 - 355, XP055404171, ISSN: 0360-1323, DOI: 10.1016/j.buildenv.2013.11.016
Attorney, Agent or Firm:
ZIEBERT, Joseph, N. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A heating, ventilation, or air conditioning (HVAC) system for a building, the HVAC system comprising:

an airside system having a plurality of airside subsystems, each airside subsystem comprising airside HVAC equipment configured to provide heating or cooling to the airside subsystem;

a high-level model predictive controller configured to perform a high-level optimization to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems, wherein the optimal airside subsystem load profiles optimize energy cost; a plurality of low-level airside model predictive controllers, each corresponding to one of the airside subsystems and configured to perform a low-level optimization to generate optimal airside temperature setpoints for the corresponding airside subsystem using the optimal airside subsystem load profile for the corresponding airside subsystem;

wherein each of the plurality of low-level airside model predictive controllers is configured to use the optimal airside temperature setpoints for the corresponding airside subsystem to operate the airside HVAC equipment of the corresponding airside subsystem.

2. The HVAC system of Claim 1, further comprising:

a waterside system comprising waterside HVAC equipment, wherein the high-level model predictive controller is configured to generate an optimal waterside demand profile for the waterside system; and

a low-level waterside model predictive controller configured to perform a low-level optimization to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile;

wherein the low-level waterside model predictive controller is configured to use the optimal waterside setpoints to operate the waterside HVAC equipment.

3. The HVAC system of Claim 1, wherein the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the airside subsystems.

4. The HVAC system of Claim 1, wherein the high-level model predictive controller is configured to generate a high-level cost function defining the energy cost as a function of a waterside demand profile, the waterside demand profile indicating a thermal energy production of a waterside system at each of a plurality of time steps in an optimization period.

5. The HVAC system of Claim 4, wherein the high-level model predictive controller is configured to use a waterside demand model to define the waterside demand profile as a function of the plurality of airside subsystem load profiles, each airside subsystem load profile indicating a thermal energy allocation to one of the airside subsystems at each of the plurality of time steps.

6. The HVAC system of Claim 5, wherein the high-level model predictive controller is configured to generate an airside subsystem temperature model for each of the plurality of airside subsystems, each airside subsystem temperature model defining a relationship between the thermal energy allocation to an airside subsy stem and a temperature of the airside subsystem.

7. The HVAC system of Claim 6, wherein the high-level model predictive controller is configured to optimize the energy cost and the plurality of airside subsystem load profiles subject to constraints provided by the waterside demand model and each airside subsystem temperature model.

8. The HVAC system of Claim 1 , wherein:

each airside subsystem comprises a plurality of building zones; and

each of the low-level airside model predictive controllers is configured to generate optimal airside temperature setpoints for each of the plurality of building zones in the corresponding airside subsystem.

9. The HVAC system of Claim 8, wherein each of the low-level airside model predictive controllers is configured to generate a zone load profile for each of the plurality of building zones in the corresponding airside subsystem, each zone load profile indicating a thermal energy allocation to one of the building zones at each of a plurality of time steps in an optimization period.

10. The HVAC system of Claim 1, wherein each of the optimal airside subsystem load profiles comprises at least one of:

optimal thermal energy load values for the corresponding airside subsystem at each of a plurality of time steps in an optimization period, and

optimal temperature values for the corresponding airside subsystem at each of the plurality of time steps in the optimization period.

1 1. A method for optimizing energy cost in a building HVAC system including an airside system having a plurality of airside subsystems, the method comprising:

performing a high-level optimization at a high-level model predictive controller to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems, wherein the optimal airside subsystem load profiles optimize the energy cost; providing the optimal airside subsystem load profiles from the high-level model predictive controller to a plurality of low-level airside model predictive controllers, each of the low-level airside model predictive controllers corresponding to one of the plurality of airside subsystems;

performing a low-level optimization at each of the low-level airside model predictive controllers to generate optimal airside temperature setpoints for the corresponding airside subsystem subject to load constraints based on the optimal airside subsystem load profile for the corresponding airside subsystem; and

using the optimal airside temperature setpoints to operate airside HVAC equipment in each of the plurality of airside subsystems.

12. The method of Claim 1 1, wherein the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the airside subsystems.

13. The method of Claim 11, wherein performing the high-level optimization comprises generating an optimal waterside demand profile for a waterside system, the method further comprising:

providing the optimal waterside demand profile to a low-level waterside model predictive controller; performing a low-level optimization at the low-level waterside model predictive controller to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile; and

using the optimal waterside setpoints to operate waterside HVAC equipment in the waterside system.

14. The method of Claim 11, wherein performing the high-level optimization comprises generating a high-level cost function defining the energy cost as a function of a waterside demand profile, the waterside demand profile indicating a thermal energy production of a waterside system at each of a plurality of time steps in an optimization period. 5. The method of Claim 14, wherein performing the high-level optimization comprises using a waterside demand model to defi ne the waterside demand profile as a function of the plurality of airside subsystem load profiles, each airside subsystem load profile indicating a thermal energy allocation to one of the airside subsystems at each of the plurality of time steps.

16. The method of Claim 15, wherein performing the high-level optimization comprises generating an airside subsystem temperature model for each of the plurality of airside subsystems, each airside subsystem temperature model defining a relationship between the thermal energy allocation to an airside subsystem and a temperature of the airside subsystem.

17. The method of Claim 16, wherein performing the high-level optimization comprises optimizing the energy cost and the plurality of airside subsystem load profiles subject to constraints provided by the waterside demand model and each airside subsystem temperature model.

18. The method of Claim 1 1 , wherein:

each airside subsystem comprises a plurality of building zones; and

performing the low-level optimization comprises generating optimal airside temperature setpoints for each of the plurality of building zones.

19. The method of Claim 18, wherein performing the low-level optimization comprises generating zone load profile for each of the plurality of building zones, each zone load profile indicating a thermal energy allocation to one of the building zones at each of a plurality of time steps in an optimization period.

20. A method for optimizing energy cost in a building HVAC system including an airside system having a plurality of airside subsystems, the method comprising:

performing a high-level optimization at a high-level model predictive controller to generate an optimal airside subsystem temperature profile for each of the plurality of airside subsystems, wherein the optimal airside subsystem temperature profiles optimize the energy cost;

providing the optimal airside subsystem temperature profiles from the high-level model predictive controller to a plurality of low-level airside model predictive controllers, performing a low-level optimization at each of the low-level airside model predictive controllers to generate optimal airside temperature setpoints for the plurality of airside subsystems, wherein the optimal airside temperature setpoints minimize an error between airside subsystem temperatures and the optimal airside subsystem temperature profiles; and using the optimal airside temperature setpoints to operate airside HVAC equipment in each of the plurality of airside subsystems.

21. A heating, ventilation, or air conditioning (HVAC) system for a building, the HVAC system comprising:

an airside system having a plurality of airside subsystems, each airside subsystem comprising airside HVAC equipment configured to provide heating or cooling to the airside subsystem;

a waterside system comprising waterside HVAC equipment configured to produce thermal energy used by the airside system to provide the heating or cooling;

a high-level model predictive controller configured to perform a high-level optimization to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems, wherein the optimal airside subsystem load profiles optimize a total energy cost of both airside power consumption by the airside system and waterside power consumption by the waterside system at each of a plurality of time steps in an optimization period; and a plurality of low-level airside model predictive controllers, each corresponding to one of the airside subsystems and configured to use the optimal airside subsystem load profile for the corresponding airside subsystem to operate the airside HVAC equipment of the corresponding airside subsystem.

22. The HVAC system of Claim 21, wherein the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the airside subsystems.

23. The HVAC system of Claim 21, wherein:

each airside subsystem load profile indicates a thermal energy allocation to one of the plurality of airside subsystems at each of the plurality of time steps; and

the high-level model predictive controller is configured to use an airside power consumption model to define the airside power consumption of each airside subsystem as a function of the thermal energy allocation to the airside subsystem,

24. The HVAC system of Claim 21, wherein the high-level model predictive controller is configured to generate an airside subsystem temperature model for each of the plurality of airside subsystems, each airside subsystem temperature model defining a relationship between one of the airside subsystem load profiles and a temperature of the corresponding ai side subsystem,

25. The HVAC sy stem of Claim 21, wherein the high-level model predictive controller is configured to generate an optimal waterside demand profile for the waterside system;

the system further comprising a low-level waterside model predictive controller configured to perform a low-level optimization to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile,

wherein the low-level waterside model predictive controller is configured to use the optimal waterside setpoints to operate waterside HVAC equipment in the waterside system.

26. The HVAC system of Claim 21, wherein the high-level model predictive controller is configured to: perform the high-level optimization by optimizing a high-level cost function which defines the total energy cost as a function of a waterside demand profile indicating a thermal energy production of the waterside system at each of the plurality of time steps in the optimization period; and

use a waterside demand model to define the waterside demand profile as a function of the plurality of airside subsystem load profiles.

27. The HVAC system of Claim 21, wherein each of the low-level airside model predictive controllers is configured to:

perform a low-level optimization to generate optimal airside temperature setpoints for the corresponding airside subsystem using the optimal airside subsystem load profile for the corresponding airside subsystem; and

use the optimal airside temperature setpoints for the corresponding airside subsystem to operate the airside HVAC equipment in the corresponding airside subsystem.

28. The HVAC system of Claim 27, wherein:

each airside subsystem comprises a plurality of building zones; and

the optimal airside temperature setpoints for each airside subsystem comprise optimal airside temperature setpoints for each of the plurality of building zones in the airside subsystem.

29. The HVAC system of Claim 27, wherein each of the low-level airside model predictive controllers is configured to generate a zone load profile for each of the plurality of building zones in the corresponding airside subsystem, each zone load profile indicating a thermal energy allocation to one of the building zones at each of the plurality of time steps in the optimization period.

30. The HVAC sy stem of Claim 21, wherein each of the optimal airside subsystem load profiles comprises at least one of:

optimal thermal energy load values for the corresponding airside subsystem at each of the plurality of time steps; and

optimal temperature values for the corresponding airside subsystem at each of the plurality of time steps.

31. A method for optimizing energy cost in a building HVAC system including a waterside system and an airside system having a plurality of airside subsystems, the method comprising:

generating a high-level cost function defining the energy cost as a function of both a waterside power consumption of the waterside system and an airside power consumption of each airside subsystem at each of a plurality of time steps in an optimization period,

performing a high-level optimization at a high-level model predictive controller to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems, wherein the optimal airside subsystem load profiles optimize the energy cost; providing the optimal airside subsystem load profiles from the high-level model predictive controller to a plurality of low-level airside model predictive controllers, each of the low-level airside model predictive controllers corresponding to one of the plurality of airside subsystems;

using the optimal airside subsystem load profiles at each of the low-level airside model predictive controllers to operate airside HVAC equipment in the corresponding airside subsystem.

32. The method of Claim 31, wherein the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the ai side subsystems.

33. The method of Claim 31, wherein each airside subsystem load profile indicates a thermal energy allocation to one of the plurality of airside subsystems at each of the plurality of time steps;

the method further comprising using an airside power consumption model to define the airside power consumption of each airside subsystem as a function of the thermal energy allocation to the airside subsystem,

34. The method of Claim 31, further comprising generating an airside subsystem temperature model for each of the plurality of airside subsystems, each airside subsystem temperature model defining a relationship between one of the airside subsystem load profiles and a temperature of the corresponding airside subsystem.

35. The method of Claim 31, wherein performing the high-level optimization comprises generating an optimal waterside demand profile for the waterside system, the method further comprising:

providing the optimal waterside demand profile to a low-level waterside model predictive controller;

performing a low-level optimization at the low-level waterside model predictive controller to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile; and

using the optimal waterside setpoints to operate waterside HVAC equipment in the waterside system.

36. The method of Claim 31, wherein the high-level cost function defines the energy cost as a function of a waterside demand profile indicating a thermal energy production of the waterside system at each of the plurality of time steps in the optimization period;

the method further comprising using a waterside demand model to define the waterside demand profile as a function of the plurality of airside subsystem load profiles.

37. The method of Claim 31, further comprising:

performing a low-level optimization at each of the low-level airside model predictive controllers to generate optimal airside temperature setpoints for the corresponding airside subsystem using the optimal airside subsystem load profile for the corresponding airside subsystem; and

using the optimal airside temperature setpoints for the corresponding airside subsystem to operate the airside HVAC equipment in the corresponding airside subsystem.

38. The method of Claim 37, wherein:

each airside subsystem comprises a plurality of building zones; and

performing the low-level optimization comprises generating optimal airside temperature setpoints for each of the plurality of building zones.

39. The method of Claim 38, wherein performing the low-level optimization comprises generating a zone load profile for each of the plurality of building zones, each zone load profile indicating a thermal energy allocation to one of the building zones at each of the plurality of time steps in the optimization period.

40. A method for optimizing energy cost in a building HVAC system including a waterside system and an airside system having a plurality of airside subsystems, the method comprising:

generating a high-level cost function defining the energy cost as a function of both a waterside power consumption of the waterside system and an airside power consumption of each airside subsystem at each of a plurality of time steps in an optimization period,

performing a high-level optimization at a high-level model predictive controller to generate an optimal airside subsystem temperature profile for each of the plurality of airside subsystems, wherein the optimal airside subsystem temperature profiles optimize the energy cost defined by the cost function;

providing the optimal airside subsystem temperature profiles from the high-level model predictive controller to a plurality of low-level airside model predictive controllers, each of the low-level airside model predictive controllers corresponding to one of the plurality of airside subsystems; and

using the optimal airside subsystem temperature profiles at each of the low-level airside model predictive controllers to operate airside HVAC equipment in the corresponding ai side subsystems.

Description:
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

[0001] This application claims the benefit of and priority to U.S. Patent Application No. 15/199,909 filed June 30, 2016, and U.S. Patent Application No. 15/199,910 filed June 30, 2016. Both of these patent applications are incorporated by reference herein in their entireties.

BACKGROUND

[0002] The present disclosure relates generally to a heating, ventilation, or air conditioning (HVAC) system for a building. The present disclosure relates more particuiariy to a building HVAC system which uses model predictive control (MFC) to optimize the cost of energy- consumed by the HVAC system.

[0003] Commercial buildings consume approximately 20% of the total U.S. energy consumption and account for roughly $200 billion per year in primary energy expenditures. The Energy Information Administration projects that commercial floor space and primary energy consumption will continue to grow into the future. Average energy prices, on the other hand, are expected to remain relatively stable. Therefore, the amount spent on energy in commercial buildings will continue to increase significantly. Given the significance of these energy cost values and their projected growth, buildings have become a prime target for control strategies designed to reduce consumption or improve efficiency, particularly in the area of temperature control.

[0004] Many HVAC systems in commercial buildings and educational facilities use simple on/off and proportional-integral-derivative (PID) controllers for control of their equipment. They rely on temperature controllers whose only goal is to converge to the desired temperature set point and stay there, within some tolerance. However, a better goal is to minimize total energy consumption or minimize total energy cost. In a utility market with time-varying prices, there exists the potential for cost savings by temporally shifting heating or cooling loads using some form of energy storage. To achieve these savings, predictive optimization can be used with a model of the system to forecast the future load. Load shifting decreases the burden on power plants during peak hours, allowing them to operate more efficiently. Furthermore, chillers operate more efficiently at night when the cooling water temperature is lower.

[0005] MPC is a method of advanced process control that has been highly successful over the past two decades. MPC uses a model of the system that relates the inputs (control actions) to outputs (process measurements). The model is used to predict the process variables based on the actions taken by the controller over a period of time called the horizon. At each step, MPC solves an online optimization problem using this model to determine a sequence of control actions that achieve an objective such as minimizing tracking error or input usage while respecting process constraints such as equipment capacity and safety bounds. The first control action in the sequence is implemented and the optimization problem is solved again at the next step after new measurements are obtained. In economic MPC, the objective in the optimization problem is to minimize total cost.

[0006] Economically optimal control systems have not been deployed widely in the HVAC industry. One fundamental obstacle to the successful deployment of MPC in HVAC systems is the large number of building zones. To implement MPC in HVAC systems, it may be desirable to solve the optimization problem in a reasonably short time (e.g., on the order of a few minutes). Campus-wide implementations may contain hundreds of buildings and thousands of air handler regions each with tens of zones. A single, combined control system for these applications is impractical and undesirable since the resulting single optimization problem is too large to solve in real time.

SUMMARY

[0007] One implementation of the present disclosure is a heating, ventilation, or air conditioning (HVAC) system for a building. The HVAC system includes an airside system having a plurality of airside subsystems, a high-level model predictive controller (MPC), and a plurality of low-level airside MPCs. Each airside subsystem includes airside HVAC equipment configured to provide heating or cooling to the airside subsystem. The high-level model predictive controller is configured to perform a high-level optimization to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems. The optimal airside subsystem load profiles optimize energy cost. Each low-level airside MPC corresponds to one of the airside subsystems and is configured to perform a low-level optimization to generate optimal airside temperature setpoints for the corresponding airside subsystem using the optimal airside subsystem load profile for the corresponding airside subsystem. Each of the low-level airside MPCs is configured to use the optimal airside temperature setpoints for the corresponding airside subsystem to operate the airside HVAC equipment of the corresponding airside subsystem.

[0008] In some embodiments, the HVAC system includes a waterside system having waterside HVAC equipment. The high-level MPC can be configured to generate an optimal waterside demand profile for the waterside system. The HVAC system can include a low- level waterside MPC configured to perform a low-level optimization to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile. The low-level waterside IvIPC can be configured to use the optimal waterside setpoints to operate the waterside HVAC equipment.

[0009] In some embodiments, the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the airside subsystems.

[0010] In some embodiments, the high-level MPC is configured to generate a high-level cost function defining the energy cost as a function of a waterside demand profile. The waterside demand profile can indicate a thermal energy production of the waterside system at each of a plurality of time steps in an optimization period.

[0011] In some embodiments, the high-level MPC is configured to use a waterside demand model to define the waterside demand profile as a function of the plurality of airside subsystem load profiles. Each airside subsystem load profile cam indicate a thermal energy allocation to one of the airside subsystems at each of the plurality of time steps.

[0012] In some embodiments, the high-level MPC is configured to generate an airside subsystem temperature model for each of the plurality of airside subsystems. Each airside subsystem temperature model can define a relationship between the thermal energy allocation to an airside subsystem and a temperature of the airside subsystem.

[0013] In some embodiments, the high-level MPC is configured to optimize the energy cost and the plurality of airside subsystem load profiles subject to constraints provided by the waterside demand model and each airside subsystem temperature model. [0014] In some embodiments, each airside subsystem includes a plurality of building zones. Each of the low-level airside MFCs can be configured to generate optimal airside temperature setpoints for each of the plurality of building zones in the corresponding airside subsystem.

[0015] In some embodiments, each of the low-level airside MFCs is configured to generate a zone load profile for each of the plurality of building zones in the corresponding airside subsystem. Each zone load profile can indicate a thermal energy allocation to one of the building zones at each of a plurality of time steps in an optimization period.

[0016] In some embodiments, each of the optimal airside subsystem load profiles includes at least one of optimal thermal energy load values for the corresponding airside subsystem at each of the plurality of time steps and optimal temperature values for the corresponding airside subsystem at each of the plurality of time steps.

[0017] Another implementation of the present disclosure is a method for optimizing energy cost in a building HVAC system. The building HVAC system includes an airside system having a plurality of airside subsystems. The method includes performing a high-level optimization at a high-level model predictive controller (MFC) to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems. The optimal airside subsystem load profiles optimize the energy cost. The method includes providing the optimal airside subsystem load profiles from the high-level MFC to a plurality of low-level airside MFCs. Each of the low-level airside MFCs corresponds to one of the plurality of airside subsystems. The method includes performing a low-level optimization at each of the low- level airside MFCs to generate optimal airside temperature setpoints for the corresponding airside subsystem. Each of the low-level optimizations is subject to load constraints based on the optimal airside subsystem load profile for the corresponding airside subsystem. The method includes using the optimal airside temperature setpoints to operate airside HVAC equipment in each of the plurality of airside subsystems.

[0018] In some embodiments, the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the airside subsystems.

[0019] In some embodiments, performing the high-level optimization includes generating an optimal waterside demand profile for a waterside system. The method can further include providing the optimal waterside demand profile to a low-level waterside MPC, performing a low-level optimization at the low-level waterside MPC to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile, and using the optimal waterside setpoints to operate waterside HVAC equipment in the waterside system.

[0020] In some embodiments, performing the high-level optimization includes generating a high-level cost function defining the energy cost as a function of a waterside demand profile. The waterside demand profile can indicate a thermal energy production of the waterside system at each of a plurality of time steps in an optimization period.

[0021] In some embodiments, performing the high-level optimization includes using a waterside demand model to define the waterside demand profile as a function of the plurality of airside subsystem load profiles. Each airside subsystem load profile can indicate a thermal energy allocation to one of the airside subsystems at each of the plurality of time steps.

[0022] In some embodiments, performing the high-level optimization includes generating an airside subsystem temperature model for each of the plurality of airside subsystems. Each airside subsystem temperature model can define a relationship between the thermal energy allocation to an airside subsystem and a temperature of the airside subsystem.

[0023] In some embodiments, performing the high-level optimization includes optimizing the energy cost and the pluralit of airside subsystem load profiles subject to constraints provided by the waterside demand model and each airside subsystem temperature model.

[0024] In some embodiments, each airside subsystem includes a plurality of building zones. Performing the low-level optimization can include generating optimal airside temperature setpoints for each of the plurality of building zones.

[0025] In some embodiments, performing the low-level optimization includes generating zone load profile for each of the plurality of building zones. Each zone load profile can indicate a thermal energy allocation to one of the building zones at each of a plurality of time steps in an optimization period.

[0026] Another implementation of the present disclosure is a method for optimizing energy cost in a building HVAC system. The building HVAC system includes an airside system having a plurality of airside subsystems. The method includes performing a high-level optimization at a high-level model predictive controller (MPC) to generate an optimal airside subsystem temperature profile for each of the plurality of airside subsystems. The optimal airside subsystem temperature profiles optimize the energy cost. The method includes providing the optimal airside subsystem temperature profiles from the high-level MFC to a plurality of low-level airside MFCs. The method includes performing a low-level optimization at each of the low-level airside MFCs to generate optimal airside temperature setpoints for the plurality of airside subsystems. The optimal airside temperature setpoints minimize an error between airside subsystem temperatures and the optimal airside subsystem temperature profiles. The method includes using the optimal airside temperature setpoints to operate airside HVAC equipment in each of the plurality of airside subsystems.

[0027] Another implementation of the present disclosure is a heating, ventilation, or air conditioning (HVAC) system for a building. The HVAC system includes an airside system having a plurality of airside subsystems, a waterside system, a high-level model predictive controller (MFC), and a plurality of low-level airside MFCs, Each airside subsystem includes airside HVAC equipment configured to provide heating or cooling to the airside subsystem. The waterside system includes waterside HVAC equipment configured to produce thermal energy used by the airside system to provide the heating or cooling. The high-level MFC is configured to perform a high-level optimization to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems. The optimal airside subsystem load profiles optimize a total energy cost of both airside power

consumption by the airside system and waterside power consumption by the waterside system at each of a plurality of time steps in an optimization period. Each of the low-level airside MFCs corresponds to one of the airside subsystems and is configured to use the optimal airside subsystem load profile for the corresponding airside subsystem to operate the airside HVAC equipment of the corresponding airside subsystem.

[0028] In some embodiments, the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the airside subsy tems.

[0029] In some embodiments, each airside subsystem load profile indicates a thermal energy allocation to one of the plurality of airside subsystems at each of the plurality of time steps. The high-level MFC can be configured to use an airside power consumption model to define the airside power consumption of each airside subsystem as a function of the thermal energy allocation to the airside subsystem,

[0030] In some embodiments, the high-level MPC is configured to generate an airside subsystem temperature model for each of the plurality of airside subsystems. Each airside subsystem temperature model can define a relationship between one of the airside subsystem load profiles and a temperature of the corresponding airside subsystem.

[0031] In some embodiments, the high-level MFC is configured to generate an optimal waterside demand profile for the waterside system. The system can include a low-level waterside model predictive controller configured to perform a low-level optimization to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile. The low-level waterside model predictive controller can be configured to use the optimal waterside setpoints to operate waterside HVAC equipment in the waterside sy stem.

[0032] In some embodiments, the high-level MPC is configured to perform the high-level optimization by optimizing a high-level cost function which defines the total energy cost as a function of a waterside demand profile indicating a thermal energy production of the waterside system at each of the plurality of time steps in the optimization period. The high- level MPC can use a waterside demand model to define the waterside demand profile as a function of the plurality of airside subsystem load profiles.

[0033] In some embodiments, each of the low-level airside model predictive controllers is configured to perform a low-level optimization to generate optimal airside temperature setpoints for the corresponding airside subsystem using the optimal airside subsystem load profile for the corresponding airside subsystem. Each low-level airside MPC can use the optimal airside temperature setpoints for the corresponding airside subsystem to operate the airside HVAC equipment in the corresponding airside subsystem.

[0034] In some embodiments, each airside subsystem includes a plurality of building zones. The optimal airside temperature setpoints for each airside subsystem can include optimal airside temperature setpoints for each of the plurality of building zones in the airside subsystem.

[0035] In some embodiments, each of the low-level airside MFCs is configured to generate a zone load profile for each of the plurality of building zones in the corresponding airside subsystem. Each zone load profile can indicate a thermal energy allocation to one of the building zones at each of the plurality of time steps in the optimization period,

[0036] In some embodiments, each of the optimal airside subsystem load profiles includes at least one of optimal thermal energy load values for the corresponding airside subsystem at each of the plurality of time steps and optimal temperature values for the corresponding airside subsystem at each of the plurality of time steps.

[0037] Another implementation of the present disclosure is a method for optimizing energy cost in a building HVAC system. The building HVAC system includes a waterside system and an airside system having a plurality of airside subsystems. The method includes generating a high-level cost function defining the energy cost as a function of both a waterside power consumption of the waterside system and an airside power consumption of each airside subsystem at each of a plurality of time steps in an optimization period. The method includes performing a high-level optimization at a high-level model predictive controller (MPC) to generate an optimal airside subsystem load profile for each of the plurality of airside subsystems. The optimal airside subsystem load profiles optimize the energy cost. The method includes providing the optimal airside subsystem load profiles from the high-level MPC to a plurality of low-level airside MFCs, Each of the low-level airside MFCs corresponds to one of the plurality of airside subsystems. The method includes using the optimal airside subsystem load profiles at each of the low-level airside MFCs to operate airside HVAC equipment in the corresponding airside subsystem.

[0038] In some embodiments, the airside subsystems represent separate buildings thermally decoupled from one another such that no direct heat exchange occurs between the airside subsystems.

[0039] In some embodiments, each airside subsystem load profile indicates a thermal energy allocation to one of the plurality of airside subsystems at each of the plurality of time steps. The method can further include using an airside power consumption model to define the airside power consumption of each airside subsystem as a function of the thermal energy allocation to the airside subsystem.

[0040] In some embodiments, the method includes generating an airside subsystem temperature model for each of the plurality of airside subsystems. Each airside subsystem temperature model can define a relationship between one of the airside subsystem load profiles and a temperature of the corresponding airside subsystem.

[0041] In some embodiments, performing the high-level optimization includes generating an optimal waterside demand profile for the waterside system. The method can include providing the optimal waterside demand profile to a low-level waterside MPC, performing a low-level optimization at the low-level waterside MPC to generate optimal waterside setpoints for the waterside system subject to a demand constraint based on the optimal waterside demand profile, and using the optimal waterside setpoints to operate waterside HVAC equipment in the waterside system.

[0042] In some embodiments, the high-level cost function defines the energy cost as a function of a waterside demand profile indicating a thermal energy production of the waterside system at each of the plurality of time steps in the optimization period. The method can include using a waterside demand model to define the waterside demand profile as a function of the plurality of airside subsystem load profiles,

[0043] In some embodiments, the method includes performing a low-level optimization at each of the low-level airside MFCs to generate optimal airside temperature setpoints for the corresponding airside subsystem using the optimal airside subsystem load profile for the corresponding airside subsystem. The method can include using the optimal airside temperature setpoints for the corresponding airside subsystem to operate the airside HVAC equipment in the corresponding airside subsystem.

[0044] In some embodiments, each airside subsystem includes a plurality of building zones. Performing the low-level optimization can include generating optimal airside temperature setpoints for each of the plurality of building zones.

[0045] In some embodiments, performing the low-level optimization includes generating a zone load profile for each of the plurality of building zones. Each zone load profile can indicate a thermal energy allocation to one of the building zones at each of the plurality of time steps in the optimization period.

[0046] Another implementation of the present disclosure is a method for optimizing energy cost in a building HVAC system. The building HVAC system includes a waterside system and an airside system having a plurality of airside subsystems. The method includes generating a high-level cost function defining the energy cost as a function of both a waterside power consumption of the waterside system and an airside power consumption of each airside subsystem at each of a plurality of time steps in an optimization period. The method includes performing a high-level optimization at a high-level model predictive controller (MPC) to generate an optimal airside subsystem temperature profile for each of the plurality of airside subsystems. The optimal airside subsystem temperature profiles optimize the energy cost defined by the cost function. The method includes providing the optimal airside subsystem temperature profiles from the high-level MPC to a plurality of low-level airside MFCs. Each of the low-level airside MFCs corresponds to one of the plurality of airside subsystems. The method includes using the optimal airside subsystem temperature profiles at each of the low-level airside MFCs to operate airside HVAC equipment in the corresponding airside subsystems.

[0047] Those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the devices and/or processes described herein, as defined solely by the claims, will become apparent in the detailed description set forth herein and taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0048] FIG. 1 A is a schematic diagram of a waterside system and an airside system with multiple airside subsystems, according to some embodiments.

[0049] FIG. IB is a drawing of a building equipped with a HVAC system having an airside system and a waterside system, according to some embodiments.

[0050] FIG. 2 is a schematic diagram of a waterside system which can be used in the systems of FIGS 1A-1B, according to some embodiments.

[0051] FIG 3 is a block diagram of an airside system which can be used in the systems of FIGS 1A-1B, according to some embodiments.

[0052] FIG. 4 is a block diagram of a building management system (BMS) which can be used to monitor and control the building of FIG. I B, according to some embodiments.

[0053] FIG. 5 is a block diagram of another BMS which can be used to monitor and control the building of FIG. IB, according to some embodiments.

[0054] FIG. 6 is a block diagram of a distributed model predictive control system with a high-level model-predictive controller, several low-level airside model predictive controllers, and a low-level waterside model predictive controller, according to some embodiments.

[0055] FIG. 7 is a block diagram illustrating the high-level model predictive controller of FIG. 6 in greater detail, according to some embodiments.

[0056] FIG 8 is a block diagram illustrating one of the low-level model predictive controllers of FIG, 6 in greater detail, according to some embodiments. [0057] FIG. 9 is a graph of ambient temperature and power cost as a function of time, both of which can be provided as inputs to the high-level model predictive controller of FIGS. 6-7, according to some embodiments.

[0058] FIG. 10 is a graph of building temperature and cooling duty as a function of time, both of which can be provided as results of a high-level optimization performed by the high- level model predictive controller of FIGS. 6-7 when the cost of airside power consumption is not included in the high-level optimization, according to some embodiments.

[0059] FIG. 11 is a graph of building temperature and cooling duty as a function of time, both of which can be provided as results of the high-level optimization performed by the high-level model predictive controller of FIGS. 6-7 when the cost of airside power consumption is included in the high-level optimization, according to some embodiments.

[0060] FIG. 12. is a graph of zone temperatures and zone temperature setpoints as a function of time, both of which can be provided as results of a low-level optimization performed by the low-level model predictive controller of FIGS. 6 and 8, according to some embodiments.

[0061] FIG. 13 is a graph of waterside demand, production, thermal energy storage, and waterside equipment utilization as a function of time, representing the performance of the waterside system of FIG. 6 resulting from the high-level optimization and a low-level waterside optimization, according to some embodiments.

[0062] FIG. 14 is a flow diagram of a high-level and distributed low-level model predictive control technique which can be used to optimize energy cost in the MPC system of FIG. 6 when airside subsystem loads are used as constraints in the low-level optimizations, according to some embodiments.

[0063] FIG. 15 is another flow diagram of a high-level and distributed low-level model predictive control technique which can be used to optimize energy cost in the MPC system of FIG. 6 when the low-level optimizations track temperature profiles provided by the high- level optimization, according to some embodiments.

DETAILED DESCRIPTION

[0064] Referring generally to the FIGURES, heating, ventilation, and air conditioning (HVAC) system for a building is shown, according to some embodiments. The HVAC system includes a waterside system and an airside system having a plurality of airside subsystems. The HVAC system uses model predictive control (MPC) system to generate optimal setpoints for HVAC equipment of the waterside system and each of the airside subsystems.

[0065] MPC is a control technique that uses a model of a controlled system to relate sy stem inputs (e.g., control actions, setpoints, etc.) to system states and system outputs (e.g., measurements, process variables, etc.). The model can be used to predict the system states and system outputs based on the actions taken by a controller at each time step during an optimization period. At each time step, MPC solves an online optimization problem using the system model to determine a sequence of control actions that achieve an objective (e.g., minimizing tracking error, minimizing energy cost, etc.) while respecting process constraints such as equipment capacity and safety bounds (e.g., temperature constraints, equipment switching constraints, etc.). The first control action in the sequence is implemented and the optimization problem is solved again at the next time step after new measurements are obtained.

[0066] The HVAC system described herein can optimize (e.g., minimize) the total cost of energy used to provide heating and/or cooling to a building or campus. Numerous studies have shown that MPC outperforms existing control systems due to its ability to forecast into the future and anticipate events before they occur. MPC enables shifting of the energy load from peak hours to off-peak hours by using the mass of the building for passive thermal energy storage (TES). Active thermal energy storage (e.g., chilled water tanks, hot water tanks, etc.) can also be used to further facilitate load shifting. Through a combination of active and passive storage systems, energy costs can be decreased by concentrating equipment usage to times of low resource prices, all while maintaining comfort limits within each building.

[0067] In some embodiments, the HVAC system includes a MPC layer and a regulatory layer. The MPC layer can receive measurements from the regulatory layer and provide setpoints to the regulatory layer. The MPC layer can generate optimal values for various decision variables including, for example, zone temperature setpoints, equipment on/off decisions, and TES charging/discharging rates. The MPC layer can determine the optimal values of the decision variables using system models such a zone temperature to

cooling/heating duty model, a cooling/heating duty to temperature setpoint model, equipment models, and active TES models. The MPC layer can determine the optimal values of the decision variables by performing an optimization process subject to several constraints. The constraints can include comfort bounds on the zone air temperatures, equipment capacity constraints, TES tank size, and rate of change bounds on the equipment of the regulator}' layer.

[0068] Solving a single MFC problem to determine the optimal values for all of the decision variables can be difficult for large-scale applications. For example, some airside systems can include thousands of discrete zones and some waterside systems can include thousands of unique HVAC devices. The discrete decisions (e.g., turning equipment on/off) can result in a mixed integer optimization problem, which further increases complexity. Due to the difficulty and computational complexity of the MFC problem, the MFC layer can decompose the overall MFC problem into smaller, more manageable, optimization problems.

[0069] The HVAC system can decompose the overall MFC problem into a high-level optimization problem and a low-level optimization problem. The high-level problem can be solved by a high-level model predictive controller to determine a load profile for each of a plurality of low-level airside subsystem and a demand profile for a waterside system. In some embodiments, the high-level controller uses active TES models and aggregate low-level models for each airside subsystem to reduce computational complexity. The high-level controller can determine load profiles that optimize (e.g., minimize) the total operational cost of the MFC system over the optimization period. Each load profile can include a load value for each time step in the optimization period. The high-level controller can provide the load profiles to a plurality of low-level airside model -predictive controllers. The low-level airside controllers can use the load profiles as constraints defining maximum permissible load values for each airside subsystem for each time step in the optimization period.

[0070] The low-level optimization problem can be further decomposed into a low-level waterside optimization problem and one or more low-level airside optimization problems. Each low-level airside problem can be solved by one of low-level airside controllers to determine zone temperature setpoints for the airside equipment of each airside subsystem. Each low-level airside controller can determine the zone temperature setpoints that optimize (e.g., minimize) the energy consumption of the corresponding airside subsystem while maintaining zone temperatures within defined temperature limits and without exceeding the load values provided by the high-level controller. Alternatively, each low-level airside controller can determine temperature setpoints that track the average building temperatures (e.g., predicted building temperature states) from the high-level optimization problem. These and other components of the HVAC system are described in greater detail below.

Building and Campus H VAC Systems

[0071] Referring now to FIGS. lA-!B, embodiments of a heating, ventilation, and air conditioning (HVAC) system for a building or campus (i .e., a collection of buildings) are shown. FIG. 1 A is a schematic diagram of a large-scale HVAC system 20 including a waterside system 30 and an airside system 50, Waterside system 30 is shown as a central plant having boilers 32, chillers 34, heat recover}' chillers 36, cooling towers 38, a cold thermal energy storage (TES) tank 40, a hot TES tank 42, and a pump 44. The equipment of waterside system 30 can operate to heat or chill a working fluid (e.g., water, glycol, etc.) and provide the working fluid to airside system 50. Airside system 50 can use the heated fluid or chilled fluid from waterside system 30 to heat or cool airflows provided to various building zones. Examples of a waterside system and airside system which can be used in HVAC system 20 are described in greater detail with reference to FIGS. 2-3.

[0072] In the campus-wide implementation shown in FIG. 1 A, airside system 50 can be distributed across multiple buildings 11-17. Airside system 50 can include multiple air handling units (AHUs) distributed across buildings 1 1-17. In some embodiments, the AHUs are rooftop AHUs located on the rooftops of buildings 1 1-17. In other embodiments, the AHUs can be distributed across multiple floors or zones of buildings 11-17. Each of buildings 1 1-17 can include one or more AHUs. For example, building 11 is shown to include a first AHU 52 located on the first floor 53, a second AHU 54 located on the second floor 55, a third AHU 56 located on the third floor 57, a fourth AHU 58 located on the fourth floor 59, and a fifth AHU 60 located on the fifth floor 61.

[0073] Each AHU of airside system 50 can receive the heated fluid and/or the chilled fluid from waterside system 30 and can use such fluids to provide heating or cooling for various building zones. Each AHU can be configured to provide airflow to a single building zone or multiple building zones. For example, AHU 52 can be configured to provide airflow to building zones 62, 64, 66, and 68. In a large scale HVAC system such as HVAC system 20, airside system 50 can include a large number of buildings (e.g., tens, hundreds, etc.) with each building having multiple AHUs and a large number of building zones. Each building zone can be controlled independently (e.g., via dampers or variable air volume (VAV) units) and can have different temperature setpoints. In some embodiments, the control objective for HVAC system 20 is to determine the appropriate temperature setpoints for all of the building zones and to operate the equipment of waterside system 30 and airside system 50 to meet the corresponding load.

[0074] Referring now to FIG, I B, a perspective view of a building 10 is shown. Building 10 is served by a HVAC system 100 which operates on a relatively smaller scale than HVAC system 20. HVAC system 100 can include a plurality of HVAC devices (e.g., heaters, chillers, air handling units, pumps, fans, thermal energy storage, etc.) configured to provide heating, cooling, ventilation, or other services for building 10. For example, HVAC system 100 is shown to include a waterside system 120 and an airside system 130, Waterside system 120 can provide a heated or chilled fluid to an air handling unit of airside system 130.

Airside system 130 can use the heated or chilled fluid to heat or cool an airflow provided to building 10. An exemplary waterside system and airside system which can be used in HVAC system 100 are described in greater detail with reference to FIGS. 2-3.

[0075] HVAC system 100 is shown to include a chiller 102, a boiler 104, and a rooftop AHU 106. Waterside system 120 can use boiler 104 and chiller 102 to heat or cool a working fluid (e.g., water, glycol, etc) and can circulate the working fluid to AHU 106. In various embodiments, the HVAC devices of waterside system 120 can be located in or around building 10 (as shown in FIG. IB) or at an offsite location such as a central plant (as shown in FIG. 1 A). The working fluid can be heated in boiler 104 or cooled in chiller 102, depending on whether heating or cooling is required in building 10. Boiler 104 can add heat to the circulated fluid, for example, by burning a combustible material (e.g., natural gas) or using an electric heating element. Chiller 102 can place the circulated fluid in a heat exchange relationship with another fluid (e.g., a refrigerant) in a heat exchanger (e.g., an evaporator) to absorb heat from the circulated fluid. The working fluid from chiller 102 and/or boiler 104 can be transported to AHU 106 via piping 108.

[0076 J AHU 106 can place the working fluid in a heat exchange relationship with an airflow passing through AHU 106 (e.g., via one or more stages of cooling coils and/or heating coils). The airflow can be, for example, outside air, return air from within building 10, or a combination of both. AHU 106 can transfer heat between the airflow and the working fluid to provide heating or cooling for the airflow. For example, AHU 106 can include one or more fans or blowers configured to pass the airflow over or through a heat exchanger containing the working fluid. The working fluid can then return to chiller 102 or boiler 104 via piping 110.

[0077] Airside system 130 can deliver the airflow supplied by AHU 106 (i.e., the supply airflow) to building 10 via air supply ducts 1 12 and can provide return air from building 10 to AHU 106 via air return ducts 1 14. In some embodiments, airside system 130 includes multiple variable air volume (VAV) units 116. For example, airside system 130 is shown to include a separate V AV unit 116 on each floor or zone of building 10. VAV units 1 16 can include dampers or other flow control elements that can be operated to control an amount of the supply airflow provided to individual zones of building 10. In other embodiments, airside system 130 delivers the supply airflow into one or more zones of building 10 (e.g., via supply- ducts 112) without using intermediate VAV units 1 16 or other flow control elements, AHU 106 can include various sensors (e.g., temperature sensors, pressure sensors, etc.) configured to measure attributes of the supply airflow. AHU 106 can receive input from sensors located within AHU 106 and/or within the building zone and can adjust the flow rate, temperature, or other attributes of the supply airflow through AHU 106 to achieve setpoint conditions for the building zone.

Waterside System

[0078] Referring now to FIG. 2, a block diagram of a waterside system 200 is shown, according to some embodiments. In some embodiments, waterside system 200 can supplement or replace waterside system 30 in HVAC system 20 or waterside system 120 in HVAC system 100, Waterside system 200 can include some or all of the HVAC devices in HVAC system 20 (e.g., boilers 32, chillers 34, heat recovery chillers 36, etc.) or HVAC system 100 (e.g., boiler 104, chiller 102, pumps, valves, etc.) and can operate to supply a heated or chilled fluid to airside system 50 or airside system 130. The HVAC devices of waterside system 200 can be located within building 10 (as shown in FIG, IB) or at an offsite location such as a central plant (as shown in FIG. 1 A).

[0079] Waterside system 200 is shown as a central plant having a plurality of subplants 202-212. Subplants 202-212 are shown to include a heater subplant 202, a heat recovery chiller subplant 204, a chiller subplant 206, a cooling tower subplant 208, a hot thermal energy storage (TES) subplant 210, and a cold thermal energy storage (TES) subplant 212. Subplants 202-212 consume resources (e.g., water, natural gas, electricity, etc.) from utilities to serve the thermal energy loads (e.g., hot water, cold water, heating, cooling, etc.) of a building or campus. For example, heater subplant 202 can be configured to heat water in a hot water loop 214 that circulates the hot water between heater subplant 202 and buildings 10-17. Chiller subplant 206 can be configured to chill water in a cold water loop 216 that circulates the cold water between chiller subplant 206 buildings 10-17. Heat recovery chiller subplant 204 can be configured to transfer heat from cold water loop 216 to hot water loop 214 to provide additional heating for the hot water and additional cooling for the cold water. Condenser water loop 218 can absorb heat from the cold water in chiller subplant 206 and reject the absorbed heat in cooling tower subplant 208 or transfer the absorbed heat to hot water loop 214. Hot TES subplant 210 and cold TES subplant 212 can store hot and cold thermal energy, respectively, for subsequent use,

[0080] Hot water loop 214 and cold water loop 216 can deliver the heated and/or chilled water to AHUs located on the rooftop of building 10 (as shown in FIG. IB) or to individual floors or zones of buildings 11-17 (as shown in FIG. 1 A). The AHUs push air past heat exchangers (e.g., heating coils or cooling coils) through which the water flows to provide heating or cooling for the air. The heated or cooled air can be delivered to individual zones of buildings 10-17 to serve the thermal energy loads of buildings 10-17. The water then returns to subplants 202-212 to receive further heating or cooling.

[0081] Although subplants 202-212 are shown and described as heating and cooling water for circulation to a building, it is understood that any other type of working fluid (e.g., glycol, C02, etc.) can be used in place of or in addition to water to serve the thermal energy loads. In other embodiments, subplants 202-212 can provide heating and/or cooling directly to the building or campus without requiring an intermediate heat transfer fluid. These and other variations to waterside system 200 are within the teachings of the present disclosure.

[0082] Each of subplants 202-212 can include a variety of equipment configured to facilitate the functions of the subplant. For example, heater subplant 202 is shown to include a plurality of heating elements 220 (e.g., boilers, electric heaters, etc.) configured to add heat to the hot water in hot water loop 214. Heater subplant 202 is also shown to include several pumps 222 and 224 configured to circulate the hot water in hot water loop 214 and to control the flow rate of the hot water through individual heating elements 220. Chiller subplant 206 is shown to include a plurality of chillers 232 configured to remove heat from the cold water in cold water loop 216. Chiller subplant 206 is also shown to include several pumps 234 and 236 configured to circulate the cold water in cold water loop 216 and to control the flow rate of the cold water through individual chillers 232.

[0083] Heat recovery chiller subpiant 204 is shown to include a plurality of heat recovery heat exchangers 226 (e.g., refrigeration circuits) configured to transfer heat from cold water loop 216 to hot water loop 214. Heat recovery chiller subpiant 204 is also shown to include several pumps 228 and 230 configured to circulate the hot water and/or cold water through heat recovery heat exchangers 226 and to control the flow rate of the water through individual heat recover}' heat exchangers 226. Cooling tower subpiant 208 is shown to include a plurality of cooling towers 238 configured to remove heat from the condenser water in condenser water loop 218. Cooling tower subpiant 208 is also shown to include several pumps 240 configured to circulate the condenser water in condenser water loop 218 and to control the flow rate of the condenser water through individual cooling towers 238.

[0084] Hot TES subpiant 210 is shown to include a hot TES tank 242 configured to store the hot water for later use. Hot TES subpiant 210 can also include one or more pumps or valves configured to control the flow rate of the hot water into or out of hot TES tank 242. Cold TES subpiant 212 is shown to include cold TES tanks 244 configured to store the cold water for later use. Cold TES subpiant 212 can also include one or more pumps or valves configured to control the flow rate of the cold water into or out of cold TES tanks 244.

[0085] In some embodiments, one or more of the pumps in waterside system 200 (e.g., pumps 222, 224, 228, 230, 234, 236, and/or 240) or pipelines in waterside system 200 include an isolation valve associated therewith. Isolation valves can be integrated with the pumps or positioned upstream or downstream of the pumps to control the fluid flows in waterside system 200, In various embodiments, waterside system 200 can include more, fewer, or different types of devices and/or subplants based on the particular configuration of waterside system 200 and the types of loads served by waterside system 200.

Airside System

[0086] Referring now to FIG. 3, a block diagram of an airside system 300 is shown, according to some embodiments. In some embodiments, airside system 300 can supplement or replace airside system 50 in HVAC system 20 or airside system 130 in HVAC system 100. Airside system 300 can include some or all of the HVAC devices in HVAC system 20 (e.g., Ai l Us 52-60) or HVAC sy stem 100 (e.g., AHU 106, VAV units 1 16, ducts 12-1 14, fans, dampers, etc.) and can be located in or around buildings 10-17. Airside system 300 can operate to heat or cool an airflow provided to buildings 10-17 using a heated or chilled fluid provided by waterside systems 200.

[0087] Airside system 300 is shown to include an economizer-type AHU 302.

Economizer- type AHUs vary the amount of outside air and return air used by the air handling unit for heating or cooling. For example, AHU 302 can receive return air 304 from building zone 306 via return air duct 308 and can deliver supply air 310 to building zone 306 via supply air duct 312. In some embodiments, AHU 302 is a rooftop unit located on the roof of building 10 (e.g., AHU 106 as shown in FIG. IB) or otherwise positioned to receive both return air 304 and outside air 314, AHU 302 can be configured to operate exhaust air damper 316, mixing damper 318, and outside air damper 320 to control an amount of outside air 314 and return air 304 that combine to form supply air 310. Any return air 304 that does not pass through mixing damper 318 can be exhausted from AHU 302 through exhaust damper 316 as exhaust air 322,

[0088] Each of dampers 316-320 can be operated by an actuator. For example, exhaust air damper 316 can be operated by actuator 324, mixing damper 318 can be operated by actuator 326, and outside air damper 320 can be operated by actuator 328, Actuators 324-328 can communicate with an AHU controller 330 via a communications link 332. Actuators 324- 328 can receive control signals from AHU controller 330 and can provide feedback signals to AHU controller 330. Feedback signals can include, for example, an indication of a current actuator or damper position, an amount of torque or force exerted by the actuator, diagnostic information (e.g., results of diagnostic tests performed by actuators 324-328), status information, commissioning information, configuration settings, calibration data, and/or other types of information or data that can be collected, stored, or used by actuators 324-328. AHU controller 330 can be an economizer controller configured to use one or more control algorithms (e.g., state-based algorithms, extremum seeking control (ESC) algorithms, proportional-integral (PI) control algorithms, proportional-integral-derivative (PID) control algorithms, model predictive control (MPC) aigorithms, feedback control algorithms, etc.) to control actuators 324-328.

[0089] Still referring to FIG. 3, AHU 302 is shown to include a cooling coil 334, a heating coil 336, and a fan 338 positioned within supply air duct 312. Fan 338 can be configured to force supply air 310 through cooling coil 334 and/or heating coil 336 and provide supply air 310 to building zone 306. AHU controller 330 can communicate with fan 338 via communications link 340 to control a flow rate of supply air 310. In some embodiments, AHU controller 330 controls an amount of heating or cooling applied to supply air 310 by modulating a speed of fan 338.

[0090] Cooling coil 334 can receive a chilled fluid from waterside system 200 (e.g., from cold water loop 2 6) via piping 342 and can return the chilled fluid to waterside system 200 via piping 344. Valve 346 can be positioned along piping 342 or piping 344 to control a flow rate of the chilled fluid through cooling coil 334. In some embodiments, cooling coil 334 includes multiple stages of cooling coils that can be independently activated and deactivated (e.g., by AHU controller 330, by BMS controller 366, etc.) to modulate an amount of cooling applied to supply air 3 10.

[0091] Heating coil 336 can receive a heated fluid from waterside system 200(e.g., from hot water loop 214) via piping 348 and can return the heated fluid to waterside system 200 via piping 350. Valve 352 can be positioned along piping 348 or piping 350 to control a flow rate of the heated fluid through heating coil 336. In some embodiments, heating coil 336 includes multiple stages of heating coils that can be independently activated and deactivated (e.g., by AHU controller 330, by BMS controller 366, etc.) to modulate an amount of heating applied to supply air 310.

[0092] Each of valves 346 and 352 can be controlled by an actuator. For example, valve 346 can be controlled by actuator 354 and valve 352 can be controlled by actuator 356.

Actuators 354-356 can communicate with AHU controller 330 via communications links 358-360. Actuators 354-356 can receive control signals from AHU controller 330 and can provide feedback signals to controller 330. In some embodiments, AHU controller 330 receives a measurement of the supply air temperature from a temperature sensor 362 positioned in supply air duct 312 (e.g., downstream of cooling coil 334 and/or heating coil 336). AHU controller 330 can also receive a measurement of the temperature of building zone 306 from a temperature sensor 364 located in building zone 306.

[0093] In some embodiments, AHU controller 330 operates valves 346 and 352 via actuators 354-356 to modulate an amount of heating or cooling provided to supply air 310 (e.g., to achieve a setpoint temperature for supply air 310 or to maintain the temperature of supply air 310 within a setpoint temperature range). The positions of valves 346 and 352 affect the amount of heating or cooling provided to supply air 310 by cooling coil 334 or heating coil 336 and may correlate with the amount of energy consumed to achieve a desired supply air temperature. AHU controller 330 can control the temperature of supply air 310 and/or building zone 306 by activating or deactivating coils 334-336, adjusting a speed of fan 338, or a combination of both.

[0094] Still referring to FIG. 3, airside system 300 is shown to include a building management system (BMS) controller 366 and a client device 368. BMS controller 366 can include one or more computer systems (e.g., servers, supervisor}' controllers, subsystem controllers, etc.) that serve as system level controllers, application or data servers, head nodes, or master controllers for airside system 300, waterside system 200, HVAC system 100, HVAC system 20 and/or other controllable systems that serve buildings 10-17, BMS controller 366 can communicate with multiple downstream building systems or subsystems (e.g., HVAC systems 20 or 100, a security system, a lighting system, waterside system 200, etc.) via a communications link 370 according to like or disparate protocols (e.g., LON, BACnet, etc.). In various embodiments, AHU controller 330 and BMS controller 366 can be separate (as shown in FIG. 3) or integrated. In an integrated implementation, AHU controller 330 can be a software module configured for execution by a processor of BMS controller 366.

[0095] In some embodiments, AHU controller 330 receives information from BMS controller 366 (e.g., commands, setpoints, operating boundaries, etc.) and provides information to BMS controller 366 (e.g., temperature measurements, valve or actuator positions, operating statuses, diagnostics, etc.). For example, AHU controller 330 can provide BMS controller 366 with temperature measurements from temperature sensors 362- 364, equipment on/off states, equipment operating capacities, and/or any other information that can be used by BMS controller 366 to monitor or control a variable state or condition within building zone 306,

[0096] Client device 368 can include one or more human-machine interfaces or client interfaces (e.g., graphical user interfaces, reporting interfaces, text-based computer interfaces, client-facing web services, web servers that provide pages to web clients, etc.) for

controlling, viewing, or otherwise interacting with HVAC system 20, HVAC system 100, and/or the various devices thereof. Client device 368 can be a computer workstation, a client terminal, a remote or local interface, or an other type of user interface device. Client device 368 can be a stationary terminal or a mobile device. For example, client device 368 can be a desktop computer, a computer server with a user interface, a laptop computer, a tablet, a smartphone, a PDA, or any other type of mobile or non-mobile device. Client device 368 can communicate with BMS controller 366 and/or AHU controller 330 via communications link 372.

Buildmg Management Systems

[0097] Referring now to FIG. 4, a block diagram of a building management system (BMS) 400 is shown, according to an exemplary embodiment. BMS 400 can be implemented in one or more of buildings 10-17 to automatically monitor and control various building functions, BMS 400 is shown to include BMS controller 366 and a plurality of building subsystems 428. Building subsystems 428 are shown to include a building electrical subsystem 434, an information communication technology (ICT) subsystem 436, a security subsystem 438, a HVAC subsystem 440, a lighting subsystem 442, a lift/escalators subsystem 432, and a fire safety subsystem 430. In various embodiments, building subsystems 428 can include fewer, additional, or alternative subsystems. For example, building subsystems 428 can also or alternatively include a refrigeration subsystem, an advertising or signage subsystem, a cooking subsystem, a vending subsystem, a printer or copy service subsystem, or any other type of building subsystem that uses controllable equipment and/or sensors to monitor or control buildings 10-17. In some embodiments, building subsystems 428 include waterside system 200 and/or airside system 300, as described with reference to FIGS. 2-3,

[0098] Each of building subsystems 428 can include any number of devices, controllers, and connections for completing its individual functions and control activities. HVAC subsystem 440 can include many of the same components as HVAC system 20 or HVAC system 100, as described with reference to FIGS, lA-3, For example, HVAC subsystem 440 can include a chiller, a boiler, any number of air handling units, economizers, field

controllers, supervisory controllers, actuators, temperature sensors, and other devices for controlling the temperature, humidity, airflow, or other variable conditions within buildings 10-17. Lighting subsystem 442 can include any number of light fixtures, ballasts, lighting sensors, dimmers, or other devices configured to contrail ably adjust the amount of light provided to a building space. Security subsystem 438 can include occupancy sensors, video surveillance cameras, digital video recorders, video processing servers, intrusion detection devices, access control devices and servers, or other security -related devices,

[0099] Still referring to FIG. 4, BMS controller 366 is shown to include a communications interface 407 and a BMS interface 409. Interface 407 can facilitate communications between BMS controller 366 and external applications (e.g., monitoring and reporting applications 422, enterprise control applications 426, remote systems and applications 444, applications residing on client devices 448, etc.) for allowing user control, monitoring, and adjustment to BMS controller 366 and/or subsystems 428. Interface 407 can also facilitate communications between BMS controller 366 and client devices 448. BMS interface 409 can facilitate communications between BMS controller 366 and building subsystems 428 (e.g., HVAC, lighting security, lifts, power distribution, business, etc.).

[0100] Interfaces 407, 409 can be or include wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with building subsystems 428 or other external systems or devices. In various embodiments, communications via interfaces 407, 409 can be direct (e.g., local wired or wireless communications) or via a communications network 446 (e.g., a WAN, the Internet, a cellular network, etc.). For example, interfaces 407, 409 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications link or network. In another example, interfaces 407, 409 can include a WiFi transceiver for communicating via a wireless communications network. In another example, one or both of interfaces 407, 409 can include cellular or mobile phone communications transceivers. In one embodiment, communications interface 407 is a power line communications interface and BMS interface 409 is an Ethernet interface. In other embodiments, both communications interface 407 and BMS interface 409 are Ethernet interfaces or are the same Ethernet interface.

[0101] Still referring to FIG. 4, BMS controller 366 is shown to include a processing circuit 404 including a processor 406 and memory 408. Processing circuit 404 can be

communicably connected to BMS interface 409 and/or communications interface 407 such that processing circuit 404 and the various components thereof can send and receive data via interfaces 407, 409. Processor 406 can be implemented as a general purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components.

[0102] Memory 408 (e.g., memory, memory unit, storage device, etc) can include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present application. Memory 408 can be or include volatile memory or nonvolatile memory. Memory 408 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present application. According to an exemplar}' embodiment, memory 408 is communicably connected to processor 406 via processing circuit 404 and includes computer code for executing (e.g., by processing circuit 404 and/or processor 406) one or more processes described herein.

[0103] In some embodiments, BMS controller 366 is implemented within a single computer (e.g., one server, one housing, etc.). In various other embodiments BMS controller 366 can be distributed across multiple servers or computers (e.g., that can exist in distributed locations). Further, while FIG. 4 shows applications 422 and 426 as existing outside of BMS controller 366, in some embodiments, applications 422 and 426 can be hosted within BMS controller 366 (e.g., within memory 408).

[0104] Still referring to FIG. 4, memory 408 is shown to include an enterprise integration layer 410, an automated measurement and validation (AM&V) layer 412, a demand response (DR) layer 414, a fault detection and diagnostics (FDD) layer 416, an integrated control layer 418, and a building subsystem integration later 420. Layers 410-420 can be configured to receive inputs from building subsystems 428 and other data sources, determine optimal controi actions for building subsystems 428 based on the inputs, generate control signals based on the optimal control actions, and provide the generated control signals to building subsystems 428. The following paragraphs describe some of the general functions performed by each of layers 410-420 in BMS 400.

[0105] Enterprise integration layer 410 can be configured to serve clients or local applications with information and services to support a variety of enterprise-level

applications. For example, enterprise control applications 426 can be configured to provide subsystem-spanning control to a graphical user interface (GUI) or to any number of enterprise-level business applications (e.g., accounting systems, user identification systems, etc). Enterprise control applications 426 can also or alternatively be configured to provide configuration GUIs for configuring BMS controller 366. In yet other embodiments, enterprise control applications 426 can work with layers 410-420 to optimize building performance (e.g., efficiency, energy use, comfort, or safety) based on inputs received at interface 407 and/or BMS interface 409. [0106] Building subsystem integration layer 420 can be configured to manage communications between BMS controller 366 and building subsystems 428. For example, building subsystem integration layer 420 can receive sensor data and input signals from building subsystems 428 and provide output data and control signals to building subsystems 428. Building subsystem integration layer 420 can also be configured to manage

communications between building subsystems 428. Building subsystem integration layer 420 translate communications (e.g., sensor data, input signals, output signals, etc.) across a plurality of multi-vendor/multi-protocol systems,

[0107] Demand response layer 414 can be configured to optimize resource usage (e.g., electricity use, natural gas use, water use, etc.) and/or the monetary cost of such resource usage in response to satisfy the demand of buildings 10-17, The optimization can be based on time-of-use prices, curtailment signals, energy availability, or other data received from utility providers, distributed energy generation systems 424, from energy storage 427 (e.g., hot TES 242, cold TES 244, etc.), or from other sources. Demand response layer 414 can receive inputs from other layers of BMS controller 366 (e.g., building subsystem integration layer 420, integrated control layer 418, etc.). The inputs received from other layers can include environmental or sensor inputs such as temperature, carbon dioxide levels, relative humidity levels, air quality sensor outputs, occupancy sensor outputs, room schedules, and the like. The inputs can also include inputs such as electrical use (e.g., expressed in kWh), thermal load measurements, pricing information, projected pricing, smoothed pricing, curtailment signals from utilities, and the like.

[0108] According to an exemplary embodiment, demand response layer 414 includes control logic for responding to the data and signals it receives. These responses can include communicating with the control algorithms in integrated control layer 418, changing control strategies, changing setpoints, or activating/deactivating building equipment or subsystems in a controlled manner. Demand response layer 414 can also include control logic configured to determine when to utilize stored energy. For example, demand response layer 414 can determine to begin using energy from energy storage 427 just prior to the beginning of a peak use hour.

[0109] In some embodiments, demand response layer 414 includes a control module configured to actively initiate control actions (e.g., automatically changing setpoints) which minimize energy costs based on one or more inputs representative of or based on demand (e.g., price, a curtailment signal, a demand level, etc.). In some embodiments, demand response layer 414 uses equipment models to determine an optimal set of control actions. The equipment models can include, for example, thermodynamic models describing the inputs, outputs, and/or functions performed by various sets of building equipment.

Equipment models can represent collections of building equipment (e.g., subpiants, chiller arrays, etc) or individual devices (e.g., individual chillers, heaters, pumps, etc.).

[0110] Demand response layer 414 can further include or draw upon one or more demand response policy definitions (e.g., databases, XML files, etc.). The policy definitions can be edited or adjusted by a user (e.g., via a graphical user interface) so that the control actions initiated in response to demand inputs can be tailored for the user's application, desired comfort level, particular building equipment, or based on other concerns. For example, the demand response policy definitions can specify which equipment can be turned on or off in response to particular demand inputs, how long a system or piece of equipment should be turned off, what setpoints can be changed, what the allowable set point adjustment range is, how long to hold a high demand setpoint before returning to a normally scheduled setpoint, how close to approach capacity limits, which equipment modes to utilize, the energy transfer rates (e.g., the maximum rate, an alarm rate, other rate boundary information, etc.) into and out of energy storage devices (e.g., thermal storage tanks, battery banks, etc.), and when to dispatch on-site generation of energy (e.g., via fuel cells, a motor generator set, etc.).

[0111] Integrated control layer 418 can be configured to use the data input or output of building subsystem integration layer 420 and/or demand response later 414 to make control decisions. Due to the subsystem integration provided by building subsystem integration layer 420, integrated control layer 418 can integrate control activities of the subsystems 428 such that the subsystems 428 behave as a single integrated supersystem. In an exemplary embodiment, integrated control layer 418 includes control logic that uses inputs and outputs from a plurality of building subsystems to provide greater comfort and energy savings relative to the comfort and energy savings that separate subsystems could provide alone. For example, integrated control layer 418 can be configured to use an input from a first subsystem to make an energy-saving control decision for a second subsystem. Results of these decisions can be communicated back to building subsystem integration layer 420.

[0112] Integrated control layer 18 is shown to be logically below demand response layer 414. Integrated control lay er 418 can be configured to enhance the effectiveness of demand response layer 414 by enabling building subsystems 428 and their respective control loops to be controlled in coordination with demand response layer 414. This configuration can reduce disruptive demand response behavior relative to conventional systems. For example, integrated control layer 4 8 can be configured to assure that a demand response-driven upward adjustment to the setpoint for chilled water temperature (or another component that directly or indirectly affects temperature) does not result in an increase in fan energy (or other energy used to cool a space) that would result in greater total building energy use than was saved at the chiller,

[0113] Integrated control layer 418 can be configured to provide feedback to demand response layer 414 so that demand response layer 414 checks that constraints (e.g., temperature, lighting levels, etc.) are properly maintained even while demanded load shedding is in progress. The constraints can also include setpoint or sensed boundaries relating to safety, equipment operating limits and performance, comfort, fire codes, electrical codes, energy codes, and the like. Integrated control layer 418 is also logically below fault detection and diagnostics layer 416 and automated measurement and validation layer 412. Integrated control layer 418 can be configured to provide calculated inputs (e.g.,

aggregations) to these higher levels based on outputs from more than one building subsystem,

[0114] Automated measurement and validation (AM&V) layer 412 can be configured to verify that control strategies commanded by integrated control layer 41 8 or demand response layer 414 are working properly (e.g., using data aggregated by AM&V layer 412, integrated control layer 418, building subsystem integration layer 420, FDD layer 416, or otherwise). The calculations made by AM&V layer 412 ca be based on building system energy models and/or equipment models for individual BMS devices or subsystems. For example, AM&V layer 412 can compare a model-predicted output with an actual output from building subsystems 428 to determine an accuracy of the model,

[0115] Fault detection and diagnostics (FDD) layer 416 can be configured to provide ongoing fault detection for building subsystems 428, building subsystem devices (i.e., building equipment), and control algorithms used by demand response layer 414 and integrated control layer 418. FDD layer 416 can receive data inputs from integrated control layer 418, directly from one or more building subsystems or devices, or from another data source. FDD layer 416 can automatically diagnose and respond to detected faults. The responses to detected or diagnosed faults can include providing an alert message to a user, a maintenance scheduling system, or a control algorithm configured to attempt to repair the fault or to workaround the fault.

[0116] FDD layer 416 can be configured to output a specific identification of the faulty component or cause of the fault (e.g., loose damper linkage) using detailed subsystem inputs available at building subsystem integration layer 420. In other exemplary embodiments, FDD layer 416 is configured to provide "fault" events to integrated control layer 418 which executes control strategies and policies in response to the received fault events. According to an exemplar}' embodiment, FDD layer 416 (or a policy executed by an integrated control engine or business rules engine) can shut-down systems or direct control activities around faulty devices or systems to reduce energy waste, extend equipment life, or assure proper control response.

[0117] FDD layer 416 can be configured to store or access a variety of different system data stores (or data points for live data). FDD l ayer 416 can use some content of the data stores to identify faults at the equipment level (e.g., specific chiller, specific AHIJ, specific terminal unit, etc.) and other content to identify faults at component or subsystem levels. For example, building subsystems 428 can generate temporal (i.e., time-series) data indicating the performance of BMS 400 and the various components thereof. The data generated by building subsystems 428 can include measured or calculated values that exhibit statistical characteristics and provide information about how the corresponding system or process (e.g., a temperature control process, a fl ow control process, etc.) is performing in terms of error from its setpoint. These processes can be examined by FDD layer 416 to expose when the system begins to degrade in performance and alert a user to repair the fault before it becomes more severe.

[0118] Referring now to FIG. 5, a block diagram of another building management system (BMS) 500 is shown, according to some embodiments. BMS 500 can be implemented in one or more of buildings 10-17 and used to monitor and control the devices of H VAC systems 20 and 100, waterside system 200, airside system 300, building subsystems 428, as well as other types of BMS devices (e.g., lighting equipment, security equipment, etc.) and/or HVAC equipment.

[0119] BMS 500 provides a system architecture that facilitates automatic equipment discovery and equipment model distribution. Equipment discovery can occur on multiple levels of BMS 500 across multiple different communications busses (e.g., a system bus 554, zone buses 556-560 and 564, sensor/actuator bus 566, etc) and across multiple different communications protocols. In some embodiments, equipment discovery is accomplished using active node tables, which provide status information for devices connected to each communications bus. For example, each communications bus can be monitored for new devices by monitoring the corresponding active node table for new nodes. When a new device is detected, BMS 500 can begin interacting with the new device (e.g., sending control signals, using data from the device) without user interaction.

[0120] Some devices in BMS 500 present themselves to the network using equipment models. An equipment model defines equipment object attributes, view definitions, schedules, trends, and the associated BACnet value objects (e.g., analog value, binary value, multistate value, etc.) that are used for integration with other systems. Some devices in BMS 500 store their own equipment models. Other devices in BMS 500 have equipment models stored externally (e.g., within other devices). For example, a zone coordinator 508 can store the equipment model for a bypass damper 528. In some embodiments, zone coordinator 508 automatically creates the equipment model for bypass damper 528 or other devices on zone bus 558. Other zone coordinators can also create equipment models for devices connected to their zone busses. The equipment model for a device can be created automatically based on the types of data points exposed by the device on the zone bus, device type, and/or other device attributes. Several examples of automatic equipment discovery and equipment model distribution are discussed in greater detail below.

[01211 Still referring to FIG. 5, BMS 500 is shown to include a system manager 502;

several zone coordinators 506, 508, 510 and 518; and several zone controllers 524, 530, 532, 536, 548, and 550. System manager 502 can communicate with client devices 504 (e.g., user devices, desktop computers, laptop computers, mobile devices, etc.) via a data

communications link 574 (e.g., BACnet IP, Ethernet, wired or wireless communications, etc.). System manager 502 can provide a user interface to client devices 504 via data communications link 574. The user interface may allow users to monitor and/or control BMS 500 via client devices 504.

[0122] In some embodiments, system manager 502 is connected with zone coordinators 506-510 and 518 via a system bus 554. System manager 502 can be configured to communicate with zone coordinators 506-510 and 518 via system bus 554 using a master- slave token passing (MSTP) protocol or any other communications protocol. System bus 554 can also connect system manager 502 with other devices such as a constant volume (CV) rooftop unit (RTU) 512, an input/output module (IOM) 514, a thermostat controller 516 (e.g., a TEC5000 series thermostat controller), and a network automation engine (NAE) or third- party controller 520. RTU 512 can be configured to communicate directly with system manager 502 and can be connected directly to system bus 554. Other RTUs can

communicate with system manager 502 via an intermediate device. For example, a wired input 562 can connect a third-party RTU 542 to thermostat controller 516, which connects to system bus 554.

[0123] System manager 502 can provide a user interface for any device containing an equipment model. Devices such as zone coordinators 506-510 and 518 and thermostat controller 516 can provide their equipment models to system manager 502 via system bus 554. In some embodiments, system manager 502 automatically creates equipment models for connected devices that do not contain an equipment model (e.g., IOM 514, third party controller 520, etc.). For example, system manager 502 can create an equipment model for any device that responds to a device tree request. The equipment models created by system manager 502 can be stored within system manager 502. System manager 502 can then provide a user interface for devices that do not contain their own equipment models using the equipment models created by system manager 502, In some embodiments, system manager 502 stores a view definition for each type of equipment connected via system bus 554 and uses the stored view definition to generate a user interface for the equipment.

[0124] Each zone coordinator 506-510 and 518 can be connected with one or more of zone controllers 524, 530-532, 536, and 548-550 via zone buses 556, 558, 560, and 564. Zone coordinators 506-510 and 518 can communicate with zone controllers 524, 530-532, 536, and 548-550 via zone busses 556-560 and 564 using a MSTP protocol or any other

communications protocol. Zone busses 556-560 and 564 can also connect zone coordinators 506-510 and 518 with other types of devices such as variable air volume (VAV) RTUs 522 and 540, changeover bypass (COBP) RTUs 526 and 552, bypass dampers 528 and 546, and PEAK controllers 534 and 544.

[0125] Zone coordinators 506-510 and 518 can be configured to monitor and command various zoning systems. In some embodiments, each zone coordinator 506-510 and 518 monitors and commands a separate zoning system and is connected to the zoning system via a separate zone bus. For example, zone coordinator 506 can be connected to VAV RTU 522 and zone controller 524 via zone bus 556. Zone coordinator 508 can be connected to COBP RTU 526, bypass damper 528, COBP zone controller 530, and VAV zone controller 532 via zone bus 558. Zone coordinator 510 can be connected to PEAK controller 534 and VAV zone controller 536 via zone bus 560, Zone coordinator 518 can be connected to PEAK controller 544, bypass damper 546, COBP zone controller 548, and VAV zone controller 550 via zone bus 564.

[0126] A single model of zone coordinator 506-510 and 518 can be configured to handle multiple different types of zoning systems (e.g., a VAV zoning system, a COBP zoning system, etc.). Each zoning system can include a RTU, one or more zone controllers, and/or a bypass damper. For example, zone coordinators 506 and 510 are shown as Verasys VAV engines (VVEs) connected to VAV RTUs 522 and 540, respectively. Zone coordinator 506 is connected directly to VAV RTU 522 via zone bus 556, whereas zone coordinator 510 is connected to a third-party VAV RTU 540 via a wired input 568 provided to PEAK controller 534. Zone coordinators 508 and 518 are shown as Verasys COBP engines (VCEs) connected to COBP RTUs 526 and 552, respectively. Zone coordinator 508 is connected directly to COBP RTU 526 via zone bus 558, whereas zone coordinator 518 is connected to a third-party COBP RTU 552 via a wired input 570 provided to PEAK controller 544.

[0127] Zone controllers 524, 530-532, 536, and 548-550 can communicate with individual BMS devices (e.g., sensors, actuators, etc.) via sensor/actuator (SA) busses. For example, VAV zone controller 536 is shown connected to networked sensors 538 via SA bus 566. Zone controller 536 can communicate with networked sensors 538 using a MSTP protocol or any other communications protocol. Although only one S A bus 566 is shown in FIG. 5, it should be understood that each zone controller 524, 530-532, 536, and 548-550 can be connected to a different SA bus. Each SA bus can connect a zone controller with various sensors (e.g., temperature sensors, humidity sensors, pressure sensors, light sensors, occupancy sensors, etc.), actuators (e.g., damper actuators, valve actuators, etc.) and/or other types of controllable equipment (e.g., chillers, heaters, fans, pumps, etc.).

[0128] Each zone controller 524, 530-532, 536, and 548-550 can be configured to monitor and control a different building zone. Zone controllers 524, 530-532, 536, and 548-550 can use the inputs and outputs provided via their S A busses to monitor and control various building zones. For example, a zone controller 536 can use a temperature input received from networked sensors 538 via SA bus 566 (e.g., a measured temperature of a building zone) as feedback in a temperature control algorithm. Zone controllers 524, 530-532, 536, and 548-550 can use various types of control algorithms (e.g., state-based algorithms, extremum seeking control (ESC) algorithms, proportional -integral (PI) control algorithms, proportional-integral-derivative (FDD) control algorithms, model predictive control algorithms, feedback control algorithms, etc.) to control a variable state or condition (e.g., temperature, humidity, airflow, lighting, etc.) in or around building 10.

Distributed Model Predictive Control System

[0129] Referring now to FIG. 6, a block diagram of a distributed model predictive control (MPC) system 600 is shown, according to some embodiments. MPC system 600 uses a MPC technique to determine optimal setpoints for the equipment of an airside system and a waterside system over a time horizon. MPC system 600 can be used in combination with I I V AC system 20, waterside system 20, airside system 50, HVAC system 100, waterside system 120, airside system 130, waterside system 200, airside system 300, BMS 400, and/or BMS 500, as described with reference to FIGS. 1A-5. For example, MPC system 600 can determine optimal temperature setpoints for the airside equipment 622-626 of airside system 50 and/or airside system 300. Similarly, MPC system 600 can determine optimal setpoints for the waterside equipment 628 of waterside system 30 and/or waterside system 200.

[0130] MPC is a control technique that uses a model of a controlled system to relate system inputs (e.g., control actions, setpoints, etc.) to system states and system outputs (e.g., measurements, process variables, etc.). The model can be used to predict the system states and system outputs based on the actions taken by a controller at each time step during an optimization period. At each time step, MPC solves an online optimization problem using the system model to determine a sequence of control actions that achieve an objective (e.g., minimizing tracking error, minimizing energy cost, etc.) while respecting process constraints such as equipment capacity and safety bounds (e.g., temperature constraints, equipment switching constraints, etc.). The first control action in the sequence is implemented and the optimization problem is solved again at the next time step after new measurements are obtained.

[0131] In economic MPC, the objective in the optimization problem is often to minimize total cost, as defined by a cost function. Numerous studies have shown that MPC

outperforms existing control systems due to its ability to forecast into the future and anticipate events before they occur. MPC enables shifting of the energy load from peak hours to off-peak hours by using the mass of the building for passive thermal energy storage (TES). Active thermal energy storage (e.g., chilled water tanks, hot water tanks, etc.) can also be used to further facilitate load shifting. Through a combination of active and passive storage systems, energy costs can be decreased by concentrating equipment usage to times of low resource prices, ail while maintaining comfort limits within each building.

[0132] Still referring to FIG. 6, distributed MPC system 600 is shown to include a MPC layer 610 and a regulator} ' layer 620. MPC layer 610 is shown to include a high-level model predictive controller 608 and several low-level model predictive controllers 612-618.

Controllers 612, 614, and 616 are shown as low-level airside model predictive controllers, whereas controller 618 is shown as a low-level waterside model predictive controller. MPC layer 610 can be configured to determine and provide optimal temperature setpoints and equipment operating setpoints to the equipment of regulatory layer 620. In some

embodiments, MPC layer 610 can be retrofit to any existing BMS to provide setpoint optimization for the airside equipment and waterside equipment of the BMS.

[0133] Regulatory layer 620 is shown to include airside equipment 622-626 and waterside equipment 628. Airside equipment 622-626 can include some or all of the equipment of airside system 50, airside system 130, and/or airside system 300, as described with reference to FIGS. LA-IB and FIG. 3. Waterside equipment 628 can include some or all of the equipment of waterside system 30, waterside system 120, and/or waterside system 200, as described with reference to FIGS. 1 A-2. In some embodiments, regulatory layer 620 includes some or all of the equipment of BM S 400 and/or BMS 500, as described with reference to FIGS. 4-5. For example, regulatory layer 620 can include PID controllers, operable equipment (e.g., chillers, boilers, air handling units, etc.), and/or other systems or devices configured to control a process variable to a setpoint.

[0134] In some embodiments, distributed MPC system 600 includes a load/rate predictor 602. Load/rate predictor 602 can provide MPC layer 610 with load and rate predictions including, for example, disturbance forecasts, electricity prices, demand charge prices, and outside air temperatures. Load/rate predictor 602 is shown receiving weather forecasts from a weather service 604. In some embodiments, load/rate predictor 602 generates the disturbance forecasts as a function of the weather forecasts. In some embodiments, load/rate predictor 602 uses feedback from regulatory layer 620 to generate the disturbance forecasts. Feedback from regulatory layer 620 can include various types of sensory inputs (e.g., temperature, flow, humidity, enthalpy, etc.) or other data relating to the controlled building or campus (e.g., building occupancy data, building electric load, etc.). In some embodiments, load/rate predictor 602 generates a disturbance forecast including a predicted disturbance value for each time step within the optimization period.

[0135] In some embodiments, load/rate predictor 602 uses a deterministic plus stochastic model trained from historical load data to generate the disturbance forecast. Load/rate predictor 602 can use any of a variety of prediction methods to generate the disturbance forecast (e.g., linear regression for the deterministic portion and an autoregressive model for the stochastic portion). Load/rate predictor 602 can predict one or more different types of disturbances for the building or campus. For example, load/rate predictor 602 can predict a thermal load resulting from heat transfer between the air within a building and the outside air through the wails of the building. Load/rate predictor 602 can predict a thermal load resulting from internal heat generation within the building (e.g., heat generated by electronics in the building, heat generated by building occupants, etc.). In some embodiments, load/rate predictor 602 makes load/rate predictions using the techniques described in U.S. Patent Application No. 14/717,593, titled "Building Management System for Forecasting Time Series Values of Building Variables" and filed May 20, 2015, the entire disclosure of which is incorporated by reference herein,

[0136] Load/rate predictor 602 is shown receiving utility rates from utilities 606. Utility rates can indicate a cost or price per unit of a resource (e.g., electricity, natural gas, water, etc.) provided by utilities 606 at each time step in the optimization period. In some embodiments, the utility rates are time-variable rates. For example, the price of electricity can be higher at certain times of day or days of the week (e.g., during high demand periods) and lower at other times of day or days of the week (e.g., during low demand periods). The utility rates can define various time periods and a cost per unit of a resource during each time period. Utility rates can be actual rates received from utilities 606 or predicted utility rates estimated by load/rate predictor 602,

[0137] In some embodiments, the utility rates include demand charges for one or more resources provided by utilities 606. A demand charge can define a separate cost imposed by- utilities 606 based on the maximum usage of a particular resource (e.g., maximum energy- consumption) during a demand charge period. The utility rates can define various demand charge periods and one or more demand charges associated with each demand charge period. In some instances, demand charge periods can overlap partially or completely with each other and/or with the optimization period. Advantageously, MPC layer 610 can account for demand charges in the high-level optimization process performed by high-level model predictive controller 608. Utilities 606 can be defined by time-variable (e.g., hourly) prices, a maximum service level (e.g., a maximum rate of consumption allowed by the physical infrastructure or by contract) and, in the case of electricity , a demand charge or a charge for the peak rate of consumption within a certain period. Load/rate predictor 602 can store the predicted loads and the utility rates in memory and/or provide the predicted loads and the utility rates to high-level MPC 608.

[0138] MPC layer 610 can receive measurements from regulatory layer 620 and provide setpoints to regulatory layer 620. MPC layer 610 can generate optimal values for various decision variables including, for example, zone temperature setpoints, equipment on/off decisions, and TES charging/discharging rates. MPC layer 610 can determine the optimal values of the decision variables using system models such a zone temperature to

cooling/heating duty model, a cooling/heating duty to temperature setpoint model, equipment models, and active TES models. MPC layer 610 can determine the optimal values of the decision variables by performing an optimization process subject to several constraints. The constraints can include comfort bounds on the zone air temperatures, equipment capacity constraints, TES tank size, and rate of change bounds on the equipment of regulatory layer 620.

[0139] As discussed above, solving a single MPC problem to determine the optimal values of the decision variables can be difficult for large-scale applications. For example, airside system 50 can include thousands of discrete zones and waterside system 30 can include thousands of unique HVAC devices. The discrete decisions (e.g., turning equipment on/off) can result in a mixed integer optimization problem, which further increases complexity. Due to the difficulty and computational complexity of the MPC problem, MPC layer 610 can decompose the overall MPC problem into smaller, more manageable, optimization problems.

[0140] As shown in FIG. 6, distributed MPC system 600 can decompose the overall MPC problem into a high-level optimization problem and a low-level optimization problem. The high-level problem can be solved by high-level controller 608 to determine a load profile for each low-level airside subsystem 632-636 and a demand profile for waterside system 30. In some embodiments, high-level controller 608 uses active TES models and aggregate low- level models for each airside subsystem 632-636 to reduce computational complexity. High- level controller 608 can determine load profiles that optimize (e.g., minimize) the total operational cost of MPC system 600 over the optimization period. Each load profile can include a load value for each time step in the optimization period. Low-level airside controllers 612-616 can use the load profiles as constraints defining maximum permissible load values for each airside subsystem 632-636 for each time step in the optimization period. High-level controller 608 can provide the load profiles to each of the low-level airside controller 612-616. The high-level optimization performed by high-level controller 608 is described in greater detail with reference to FIG. 7.

[0141] The low-levei optimization problem can be further decomposed into a low-level waterside optimization problem and one or more low-level airside optimization problems. Each low-level airside problem can be solved by one of low-level airside controllers 612-616 to determine zone temperature setpoints for the airside equipment 622-626 of each airside subsystem 632-636. Each low-level airside controller 612-616 can determine the zone temperature setpoints that optimize (e.g., minimize) the energy consumption of the corresponding airside subsystem 632-636 while maintaining zone temperatures within defined temperature limits and without exceeding the load values provided by high-level controller 608, Alternatively, each low-level airside controller 612-616 can determine temperature setpoints that track the average building temperatures (e.g., predicted building temperature states) from the high-level optimization problem. The low-level optimization performed by low-level controllers 612-616 is described in greater detail with reference to FIG 8,

[0142] The low-levei waterside problem can be solved by low-level waterside controller 618. In some embodiments, the low-level waterside problem is a mixed-integer linear program. Low-level waterside controller 618 can determine optimal setpoints for waterside equipment 628 that minimize operating cost while meeting the demand profile from high- level controller 608, Decision variables optimized by low-level waterside controller 618 can include, for example, equipment on/off states, thermal loads for chillers, flow rates for pumps, setpoints for other auxiliary waterside equipment, and TES charge/discharge rates. Low-level waterside controller 618 can use the demand profile from high-level controller 608 as an input specifying the overall demand to be met by waterside system 30 at each time step of the optimization period. [0143] In some embodiments, low-level waterside controller 628 decomposes the low-level waterside optimization problem into a first waterside optimization problem and a second waterside optimization problem. The first waterside optimization problem can allocate the demand specified by high-level controller 608 across multiple sub plants of the waterside system (e.g., heater subplant 202, heat recover}' chiller subplant 204, chiller subplant 206, cooling tower subplant 208, hot TES subplant 210, and cold TES subplant 212). The second waterside optimization problem can be decomposed into a mixed-integer optimization problem for each subplant to determine optimal equipment on/off states and equipment setpoints for waterside equipment 628. An example of a waterside optimization technique which can be used by low-level waterside controller 628 is described in detail in U.S. Patent Application No. 14/634,609 filed February 27, 2015, the entire disclosure of which is incorporated by reference herein.

[0144] As shown in FIG. 6, each low-level airside model predictive controller 612-616 can control a subsystem 632-636 of the entire airside system 50. Each low-level airside controller 612-616 can perform a separate airside optimization process to determine optimal temperature setpoints for the airside equipment 622-626 of the corresponding airside subsystem 632-636. Each airside subsystem 632-636 (e.g., each building) can include multiple AHUs, each of which can be configured to deliver air to multiple building zones. Accordingly, each airside system 632-636 can include many building zones.

[0145] In some embodiments, high-level controller 608 uses an aggregate model of each airside subsystem 632-636 and allocates a thermal energy load to each airside subsystem 632- 636. Low-level airside controllers 612-626 can use more detailed zone-level models during the low-level optimization processes to determine the optimal temperature setpoints for each building zone of the corresponding airside subsystem. Decomposing airside system 50 into separate airside subsystems 632-636 can improve computational performance and

substantially decrease the amount of time required to solve the low-level MPC problems. For example, all of the low-level MPC problems can be solved within a few minutes.

[0146] In some embodiments, each airside subsystem 632-636 represents a separate building. Significant coupling between airside subsystems 632-636 (e.g., heat exchange between subsystems 632-636) can affect performance since low-level controllers 612-616 are not required to coordinate their solutions. One way to decompose airside system 50 to guarantee that there is no coupling between subsystems 632-636 is to decompose by building since separate buildings do not exchange heat with one another. For this reason, it may be desirable to select airside subsystems 632-636 so that each airside subsystem 632-636 represents a separate building. In other embodiments, each airside subsystem 632-636 can represent a single building zone, a collection of zones within a building, or even multiple buildings.

[0147] In MPC system 600, high-level model predictive controller 608 determines the thermal energy loads to allocate to each airside subsystem 632-636 (e.g., each building) and the demand profile for waterside system 30, Each airside subsystem 632-636 can include a separate low-level airside controller 612-616 that computes the temperature setpoints for each zone in that airside subsystem 632-636 (e.g., each zone in the building). If each low-level airside subsystem 632-636 represents a separate building the low-level airside problem can be solved in a distributed manner since there is no heat transfer between the separate buildings. The low-level airside problem can be easily extended to handle large industrial and campus- wide implementations without increasing computational complexity.

[0148] Distributed MPC system 600 provides several advantages over alternative control strategies. For example, high-level controller 608 can coordinate operation low-level airside subsystems 632-636 via the load profiles provided to each low-level controller 612-616. By including a demand charge in the high-level objective function, high-level controller 608 can generate load profiles which stager the operation of low-level airside subsystems 632-636. In other words, high-level controller 608 can generate load profiles which ensure that low-level airside subsystems 632-636 do not all consume power at the same time. This allows high- level controller 608 to coordinate operation of low-level airside subsystems 632-636 and account for the demand charge without requiring communication between low-level airside controllers 612-616. The coupling caused by the presence of a single waterside system 30 for all airside subsystems 632-636 is also addressed by high-level controller 608. Hence, the low-level control problems are completely decoupled such that iterations and communication between low-level controllers 612-616 are not required.

[0149] Data communication between MPC layer 610 and regulatory layer 620 can also be greatly reduced. For example, data communication between MPC layer 610 and regulatory layer 620 can be limited to measurements and setpoints, as shown in FIG. 6. This allows MPC system 600 to be integrated with any existing BMS. High level controller 608 can use aggregate models of each airside subsystem 632-636 and waterside system 30 to reduce computational complexity during the high-level optimization. Each low-level airside controller 612-616 can provide high-level controller 608 with an aggregate disturbance estimate, an aggregate building temperature, and aggregate system parameters (e.g., thermal capacitance, heat transfer coefficient, etc.) for the corresponding airside subsystem 632-636,

[0150] Distributed MPC system 600 can be used to control a variety of different systems including, for example, a chiller plant, air handling units, rooftop units, variable refrigerant flow systems, airside systems, waterside systems, building management systems, and/or other types of systems for which power consumption or thermal energy loads can be allocated to different subsystems. Most building temperature regulation methods do not consider detailed models of waterside equipment 628 or integer decision variables, which decreases the fidelity of energy cost calculations. However, MPC system 600 can include integer variables in the waterside optimization problem to determine when to turn equipment on and off rather than relying on heuristics. Active TES can also be used in the waterside optimization problem, which allows for the greatest potential for load shifting and cost savings. However, MPC system 600 can still be applied generally, whether or not active TES is available.

High-Level Model Predictive Controller

[0151] Referring now to FIG. 7, a block diagram illustrating high-level model predictive controller (MPC) 608 in greater detail is shown, according to some embodiments. High-level MPC 608 is shown a communications interface 702 and a processing circuit 704.

Communications interface 702 can include wired or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with various systems, devices, or networks. For example, communications interface 702 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network and/or a WiFi transceiver for communicating via a wireless communications network. Communications interface 702 can be configured to communicate via local area networks or wide area networks (e.g., the Internet, a building WAN, etc.) and may use a variety of communications protocols (e.g., BACnet, IP, LON, etc.),

[0152] Communications interface 702 can be a network interface configured to facilitate electronic data communications between high-level MPC 608 and various external systems or devices (e.g., weather service 604, utilities 606, low-level controllers 612-618, BMS equipment, etc.). For example, high-level MPC 608 can receive weather forecasts from weather service 604, utility rates from utilities 606, and/or load and rate predictions from load/rate predictor 602. High-level MPC 608 can receive measurements from the BMS indicating one or more measured states of the controlled building or campus (e.g., temperature, humidity, electric loads, etc) and one or more states of waterside system 30 (e.g., equipment status, power consumption, equipment availability, etc.). In some embodiments, high-level IvIPC 608 receives a measurement of the TES state from waterside system 30, which indicates the current fill level of the TES tanks,

[0153] High-level MPC 608 can receive building disturbance estimates from each low-level airside controller 612-616. The building disturbance estimates can indicate an estimated thermal energy load for each airside subsystem 632-636. High-level MPC 608 can receive aggregate system curves, aggregate building parameters, and/or coefficients of performance from each low-level controller 612-618. High-level MPC 608 can use the information received at communications interface 702 to generate load profiles for each low-level airside subsystem 632-636 and a demand profile for waterside system 30. High-level MPC 608 can provide the load profiles and the demand profile to low-level controllers 612-6 8.

[0154] Processing circuit 704 is shown to include a processor 706 and memory 708.

Processor 706 can be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor 706 can be configured to execute computer code or instructions stored in memory 708 or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

[0155] Memory 708 can include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory 708 can include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. Memory 708 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory 708 can be communicably connected to processor 706 via processing circuit 704 and can include computer code for executing (e.g., by processor 706) one or more processes described herein. When processor 706 executes instructions stored in memory 708, processor 706 generally configures high-level MPC 608 (and more particularly processing circuit 704) to complete such activities.

[0156] Still referring to FIG. 7, high-level MPC 608 is shown to include a building temperature modeler 714. Bui lding temperature modeler 714 can generate a temperature model for each airside subsystem 632-636. The temperature models generated by building temperature modeler 714 are referred to as building temperature models under the assumption that each airside subsystem 632-636 represents a separate building. However, the

temperature models generated by building temperature modeler 714 can be temperature models for other types of subsystems if airside subsystems 632-636 represent other types of spaces. Building temperature modeler 714 can generate a temperature model for each bui lding. Although only three airside subsystems 632-636 are shown in FIG. 6, it should be understood that any number of buildings and airside subsystems 632-636 may be present. In general, building temperature modeler 714 can generate n b building temperature models, where n b is the total number of buildings and/or airside subsystems 632-636.

[0157] In some embodiments, building temperature modeler 714 model s the temperature of each building using a building heat transfer model. The dynamics of heating or cooling a single building zone are described by the energy balance:

dT

C— = -H(T - T a ) - Q c + Q other where C is the thermal capacitance of the building zone, H is the ambient heat transfer coefficient for the building zone, T is the temperature of the building zone, T a is the ambient temperature outside the building zone (e.g., the outside air temperature), Q c is the amount of cooling applied to the building zone (i.e., the cooling load), and Q ot f ier is the external load, radiation, or other disturbance experienced by the building zone. In the previous equation, Q c represents heat transfer out of the building zone (i.e., cooling) by the HVAC system and therefore has a negative sign. However, if heating is applied to the building zone rather than cooling, the sign on Q c can be switched to a positive sign such that Q c represents the amount of heating applied to the building zone by the HVAC sy stem (i.e., the heating load).

[0158] The previous equation combines all mass and air properties of the building zone into a single zone temperature. Other heat transfer models which can be used by building temperature modeler 714 include the following air and mass zone models: d,T z . . .

Cz = H az (T a - T z ) + H mz {T m - T z ) - Q c ÷ Q other r — III = /-/ (T .... T )

m dt rnz L z 1 mJ where C z and T z are the thermal capacitance and temperature of the air in the building zone, T a is the ambient air temperature, H az is the heat transfer coefficient between the air of the building zone and ambient air outside the building zone (e.g., through external walls of the building zone), C m and T m are the thermal capacitance and temperature of the non-air mass within the building zone, and H mz is the heat transfer coefficient between the air of the building zone and the non-air mass.

[0159] The previous equation combines all mass properties of the building zone into a single zone mass, Other heat transfer models which can be used by building temperature modeler 714 include the following air, shallow mass, and deep mass zone models:

C ^ = H az( a - + H SZ T S ~ T z ) - Q c + Q other

= H SZ (T Z - T s ) + H ds (T d - 7 " )

dT d

Q = Hds (T s — T d ) where C z and T z are the thermal capacitance and temperature of the air in the building zone, T a is the ambient air temperature, H az is the heat transfer coefficient between the air of the building zone and ambient air outside the building zone (e.g., through external walls of the building zone), C s and T s are the thermal capacitance and temperature of the shallow mass within the building zone, H sz is the heat transfer coefficient between the air of the building zone and the shallow mass, C d and T d are the thermal capacitance and temperature of the deep mass within the building zone, and H ds is the heat transfer coefficient between the shallow mass and the deep mass.

[0160] In some embodiments, building temperature modeler 714 models the temperature of each building using the following building temperature model:

d,T b

Cjj — ~ Hb (Tb — T a )— Q Cib ÷ Q other, b where C b and T b are the thermal capacitance and temperature of the building designated by building index b, T a is the ambient air temperature outside building b (e.g., outside air temperature), H b is the heat transfer coefficient between building b and the ambient air, Q c b is the amount of cooling applied to the building by MPC system 600 (i.e., the amount of heat removed from the building), and Q other , b * s ti e external load, radiation, or disturbance experienced by building b. If heating is provided to the building rather than cooling, the sign on Q c b can be switched from a negative sign to a positive sign.

[0161] Building temperature modeler 714 can use the building disturbance estimates received from low-level airside controllers 612-616 to identify appropriate values of the external disturbance Q other , b r eacn building b at each time step of the optimization period. In some embodiments, building temperature modeler 714 uses the weather forecasts from weather service 604 and/or the load and rate predictions provided by load/rate predictor 602 to determine appropriate values for the ambient air temperature T a and/or the external disturbance Q other , b r eacn building b at each time step of the optimization period. Values of C b and H b can be specified as parameters of the building b, received from the low-level airside controller for the building b, received from a user, retrieved from memory 708, or otherwise provided to building temperature modeler 714. Building temperature modeler 714 can generate a building temperature model for each building b, where b = 1 ... n b and n b is the total number of buildings.

[0162] Still referring to FIG. 7, high-level MPC 608 is shown to include a thermal energy storage (TES) modeler 724. TES modeler 724 can generate a model for the active thermal energy storage provided by TES tanks 42 and 40. In some embodiments, TES modeler 724 uses the following equation to model the active thermal energy storage:

ds

~ j— ·— - —O S T Q s t or ge where s is the amount of thermal energy (e.g., heating or cooling potential) stored in a given TES tank, a is the decay constant for the TES tank, and Qstorage * s tne rate at which thermal energy is stored in the TES tank. TES modeler 724 can generate an active TES model for each TES tank.

[0163] High level MPC 608 is shown to include a waterside demand modeler 722.

Waterside demand modeler 722 can generate a model representing the demand on waterside system 30 as a function of the thermal energy load Q c b allocated to each building b and the amount of thermal energy storage Qstorage at eac h time step of the optimization period. In some embodiments, waterside demand modeler 722 uses the following equation to model waterside demand:

h r .

QviVAC.k = ^ Qc.b.k + Qstorage.k

6 = 1

where QHVACM 15 the waterside demand at time step k (e.g., the thermal energy production of waterside system 30 at time step k), Qc, ,f c * s the thermal energy load allocated to building h at time step k, and Qstorage.k is the amount of thermal energy being stored in the TES tanks during time step k. The previous equation indicates that the total demand QHVACM on the waterside system 30 is a summation of the thermal energy loads Q c 0i i allocated to each building h and the thermal energy Qstorage.k being stored in the TES tanks. This equation can be used by high level MPC 608 as an energy balance constraint to ensure that waterside system 30 generates enough thermal energy to cover the building loads and the thermal energy storage at each time step k.

[0164] High level MPC 608 is shown to include a constraints modeler 710. Constraints modeler 710 can generate and impose optimization constraints on the optimization procedure performed by high-level optimizer 712. Constraints imposed by constraints modeler 710 can include, for example, equipment capacity constraints and building temperature constraints. In some embodiments, constraints modeler 710 imposes the following constraint:

QHVACM — QuvAc.max to ensure that the waterside demand QHVACM at each time step k is less than or equal to the maximum capacity Qnv A c.max of waterside system 30. Similarly, constraints modeler 710 can impose the following constraint:

0 < S f c < s max to ensure that the amount of thermal energy stored in the TES tanks at any time step k is between the minimum possible level of the TES tanks (i.e., zero) and the maximum possible level of the TES tanks (i.e., s max ).

[0165] In some embodiments, constraints modeler 710 imposes constraints on the building temperature T b . For example, constraints modeler 710 can constrain the building temperature T b between a minimum temperature T min and a maximum temperature T max as shown in the following equation:

T 1 mi .n < --- T 1 b. <— T 1 τ max

where the values of T min and T max can be adjusted based on the temperature setpoints of the building. In some embodiments, constraints modeler 710 automatically adjusts the values of Tmin an d T max based on information received from the low-level airside controller and/or BMS for the building. For example, constraints modeler 710 can use a temperature setpoint schedule and/or occupancy schedule for the building to automatically adjust the values of min and T max for each time step k. This allows constraints modeler 710 to use temperature limits based on the time-varying setpoint temperature range for the building so that the building temperature T b is maintained within time-appropriate temperature limits T min and T 1 max

[0166] Still referring to FIG. 7, high-level MPC 608 is shown to include an energy cost modeler 720 and a demand charge modeler 718. Energy cost modeler 720 can generate an energy cost model representing the cost of energy consumed by MPC system 600. The cost of energy can include both a per-unit cost of energy resources (e.g., electricity, water, natural gas, etc.) consumed by MPC system 600 during the optimization period and a demand charge based on the maximum power consumption. The demand charge component of the energy cost model can be modeled by demand charge modeler 718 and enforced via demand charge constraints. In some embodiments, the energy cost model accounts for only the energy resources consumed by waterside sy stem 30. In other embodiments, the energy cost model also accounts for the power consumption of airside system 50, which can be modeled by airside power consumption modeler 716. Examples of both scenarios are described below.

Example 1 : Energy Cost Model Without Airside Power Consumption

[0167] In some embodiments, energy cost modeler 720 generates an energy cost model that accounts for the energy consumption of waterside system 30 without including airside power consumption. For example, energy cost modeler 720 can model total energy cost during the optimization period using the following equation: [0168] The first term of the energy cost model accounts for the per unit costs (e.g., $/kWh) of energy consumed during each time step k of the optimization period. In some

embodiments, c k is the cost per unit of energy consumed at time step k to satisfy the total waterside demand QHVACM ai time step k, the parameter η ίοί is the inverse of the coefficient of performance of the aggregate airside/waterside system (e.g., 0.1 < r\ tot < 0.25), and Δ is the duration of time step k. Accordingly, the term rj tot Q HVACik A represents the total amount of energy consumed (e.g., kWh) during time step k to satisfy the waterside demand QHVACM - Multiplying by the cost c k per unit energy consumed (e.g., $/kWh) yields the total cost (e.g., $) of the energy consumed during time step k. The energy cost model can include a summation of the energy costs during each time step k to determine the total cost of energy consumption over the optimization period.

[0169] The second term of the energy cost model accounts for the demand charge. In some embodiments, c peak is the demand charge rate (e.g., $/kW), Q PEAK * s the peak waterside demand during the demand charge period (e.g., the maximum f Q HVAC k ), and r\ tQt is the inverse of the coefficient of performance of the aggregate airside/waterside system.

Accordingly, the term ri COT Q PEAK represents the peak power consumption to satisfy the peak waterside demand Q pea k- Multiplying by the demand charge rate c peak yields the total cost (e.g., $) of the demand charge.

[0170] In some embodiments, demand charge modeler 718 generates demand charge constraints to ensure that Q pea k nas the appropriate value. If the demand charge period is contained entirely within the optimization period (e.g., between time steps k = 0 and k = N— 1), then the appropriate value of Q PEAK is simply the maximum of QHVACM during the optimization period. Demand charge modeler 718 can implement the fol lowing demand charge constraint:

0≤ QHVAC ≤ Qpeak to ensure that the peak waterside demand Q PEAK is always greater than or equal to the waterside demand QHVACM at each time step. This forces the peak waterside demand Q PEA to be at least as large as the maximum waterside demand during the optimization period.

[0171] If the demand charge period begins before the optimization period, it is possible that the maximum value of Q VACM during the demand charge period occurred prior to the beginning of the optimization period. Demand charge modeler 7 8 can implement the following demand charge constraint:

Qpeak,past — Qpeak to ensure that the peak waterside demand Q pea k is always greater than or equal to the maximum waterside demand Q pea k , pa , st that occurred during the same demand charge period, even if the maximum waterside demand occurred prior to the beginning of the current optimization period. In some embodiments, demand charge modeler 718 updates Q pea k,past each time a new maximum waterside demand is set to ensure that the energy cost model accurately represents the demand charge imposed by the power utility,

[0172] High-level optimizer 712 can use the energy cost model, demand charge model, building temperature model, thermal energy storage model, waterside demand model, and optimization constraints to formulate an optimization problem. In some embodiments, high- level optimizer 712 seeks to minimize the total cost of energy consumed by waterside system 30 (i.e., energy cost and demand charge) subject to the building temperature constraints and other constraints provided by the high-level models described herein. For example, high- level optimizer 712 can formulate the high-level optimization problem as:

N-l

m n c k ] tot Q HVAC ( Δ + peak j] tot Q peak subject to the following constraints:

dT b

~~ | ~ 7— ~ Hb Tb ~ T a )— Qc.b + Q other, b

ds

— —OS + Q storage

b r ,

QHVAC — ^ Qc,b,k + Q storage, k

6=1

0 < QnVACk≤ Qpeak

Qpeak.past ≤ Qpeak ≤= QuVA>C;max

0 < S k S max

T ■ < T < T

1 mm — 1 o — 1 max [0173] In some embodiments, high-level optimizer 712 converts one or more of the above- identified models and/or constraints to state-space form for use in the high-level optimization problem. For example, high-level optimizer 712 can convert the preceding equations into a discretized state-space model of the form:

Xk+i = Ax k + Bu k + B d d k

y k = Cx k + Du k where x k is a vector of system states at time step k, u k is a vector of system inputs at time step k, y k is a vector of measurements or system outputs at time step k, d k is a vector of disturbances at time step k, and x +1 is a vector of (predicted) system states at time k + 1. Table 1 illustrates the variables that can be included in each of these vectors:

Table : Variables in High-Levei Optimization

States x = [T b Π = = n b + 1

Inputs u = [Qc,b ( Istoragel m - = n b + 1

Measurements y = [T b s} T p = - n b + 1

Disturbances d = [T a Q other.bj = n b + 1

[0174] As shown in Table 1 , the system states vector x includes the building temperature T b and the TES storage level s. In some embodiments, the system states vector x includes a building temperature T for each of the n b buildings and a TES storage level s such that the total number n of variables in the system states vector x is equal to n b + 1. The inputs vector u can include the thermal energy load Q C:b allocated to each building b and the thermal energy load Q storage allocated to thermal energy storage. In some embodiments, the inputs vector u includes a thermal energy load Q Cib for each of the n b buildings and a TES load Qstoraqe sucn tnat tne tota number m of variables in the inputs vector u is equal to n b + 1. The disturbance vector d can include the ambient air temperature T a and the estimated disturbance Q other, b f° r eacn building. In some embodiments, the disturbances vector d includes an estimated disturbance Q ot er,b f° r eacn °f the n b buildings and a single ambient air temperature T a such that the total number n d of variables in the disturbances vector d is equal to n b ÷ 1.

[0175] In some embodiments, the measurements vector y is the same as the system states vector x. This indicates that all of the system states are directly measured (i.e., y k = x k ) and the values of the C and D matrices in the state-space model are C = I and D = 0. In other embodiments, the system states x can be constmcted or predicted from the measurements y. For example, high-level MFC 608 can use a Kalman filter or other predictive technique to construct the system states x from the measurements y. Accordingly, the system states x can be replaced with f b and s, where the hat notation indicates that such states are predicted. The values of the A, B, C, and D, matrices in the state-space representation can be identified using a system identification technique. Examples of state prediction and system identification techniques which can be used by high-level MFC 608 are described in detail in U. S. Patent No. 9,235,657 titled "System Identification and Model Development" and filed March 13, 2013, the entire di sclosure of which is incorporated by reference herein.

Example 2: Energy Cost Model With Airside Power Consumption

[0176] In some embodiments, energy cost modeler 720 generates an energy cost model that accounts for both the energy consumption of waterside system 30 and the energy

consumption of airside system 50. For example, the energy cost model can account for the power W air ] , consumed by fans and other types of airside equipment 622 to deliver the allocated thermal energy load Q Cib to the building. In some embodiments, the power consumption W air b of each airside subsystem 632-636 is a function of the thermal energy load Qcfr allocated to that airside subsystem.

[0177] Airside power consumption modeler 716 can generate an airside power consumption model which relates airside power consumption W a ir ,b to thermal energy load Q Cib . In some embodiments, airside power consumption modeler 716 models airside power consumption using the following equation:

Wair.b ~ airQcb

[0178] where W a ir ,b i " S the amount of power consumed by the airside equipment 622 of building b to deliver the thermal energy load Q Cib . The conversion factor η αίτ can be a function of the coefficient of performance of the airside equipment 622 (e.g., an inverse of the coefficient of performance). In some embodiments, η αίγ is a constant, which indicates that the relationship between airside power consumption W air>b and thermal energy load Q c b is linear. In other embodiments, i] air can be calculated by airside power consumption modeler 716 as a nonlinear function of load and other parameters using operating data. [0179] In some embodiments, airside power consumption modeler 716 calculates the conversion factor 7] air as a function of various airside system parameters such as the type of AHUs, the time of day, comfort bounds, ambient conditions, chilled water supply temperature, chilled water supply flow rate, and/or other parameters that characterize airside system 50 or any of the airside subsystems 632-636. For example, airside power

consumption modeler 716 can collect operating data from airside equipment 622 and/or low- level airside controller 612 and use the operating data to determine an appropriate value of

Vair -

[0180] In some embodiments, airside power consumption modeler 716 calculates η αίγ as a function of the thermal energy load Q c and individual fan power models. For example, air at 20 °C can have a density p air and heat capacity C p air as shown in the following equations: kg kJ

Pair = 1 205 - C pMr - 1.005

m 3 pMiT kg · K

The thermal energy load Q c provided by an airflow can be represented using the following model:

Qc rii a i r Cp iCl i r AT

Qc ~~ Pair ^ air^p.air i ' room Ί supply )

Ty "" Pair^p,air ^room ~ ^supplv)

Vair

where V air is the volumetric flow rate of supply air into a building zone, T room is the temperature of the building zone, and T suppiy is the temperature of the supply air. Assuming that the supply air temperature T suppiy is approximately 55 °F and the room air temperature ' Troom is approximately 72 °F, airside power consumption modeler 716 can calculate the thermal energy load per unit volume of airflow (e.g., the cooling capacity of the air) as follows: kg\ kJ

, 1.205 -4) 1.005 (72 °F - 55 C F)

[0181] Airside power consumption modeler 714 can use this value of cooling capacity Qc/Vair and the estimated power consumption per unit volume of a typical airside fan to estimate the value οΐ η αίΓ . For example, typical HVAC fans consume approximately 1 horsepower (hp) to provide between 1000 cubic feet per minute (CFM) and 1500 CFM of airflow. These values can be converted to metric values as follows:

1 hp \ 21 18.9 CFM\ Ό.7457 kW\ _ kJ , _ kJ

==1.05— ~ - 1 ,58 -

.1000 CFM - 1500 CFM A 1 m 3 /s A hp / " " m 3 Substituting these values into the airside power consumption model yields:

Wat vc

V„

0.091 - 0.1 which indicates that the airside power consumption W air>b of each airside subsystem 622-626 is approximately 10% of the thermal energy load Q Cib delivered by the airside subsystem .

[0182] Given that airside power consumption W atr b can be modeled as r) air Q Cib , energy cost modeler 720 can model total energy cost during the optimization period using the following equation:

[0183] The first portion of the energy cost model accounts for the per unit costs (e.g., $/kWh) of energy consumed by waterside system 30 during each time step k of the optimization period. In some embodiments, c k is the cost per unit of energy consumed at time step k, A is the duration of time step k, and I]HVAC ^ s ^e inverse of the coefficient of performance of waterside system 30 (e.g., r) HVAC ~ 0.2). The term rj HVAC Q HVAC k represents the amount of power consumption (e.g., kW) by waterside system 30 during time step k to satisfy the waterside demand QHVAC , - Multiplying by the cost c k per unit energy consumed (e.g., $/kWh) and the duration Δ (e.g., hours) yields the total cost (e.g., $) of the energy consumed during time step k by waterside system 30. The first portion of the energy cost model can be summed across ail time steps k = 0 ... iV— 1 of the optimization period to determine the total energy consumed by waterside system 30 over the duration of the optimization period. [0184] The second portion of the energy cost model accounts for the per unit costs (e.g., $/kWh) of energy consumed by each airside subsystem (e.g., each building b) during each time step k of the optimization period. As described above, r\ air is the inverse of the coefficient of performance of the airside subsystems (e.g., 7] air - 0.1 ) and Q c ,k,k * s the thermal energy load delivered by the airside subsystem for building b at time step k. The term VairQc ,b, k represents the power consumption W air b of the airside equipment for building b. The second portion of the energy cost model can be summed across all buildings b = 1 ... n ¾ and across all time steps k = 0 ... N— 1 to determine the total power consumption of all airside subsystems over the duration of the optimization period. Multiplying by the cost c k per unit energy consumed (e.g., $/kWh) and the duration Δ (e.g., hours) yields the total cost (e.g., $) of the energy consumed by the airside subsystems over the duration of the optimization period,

[0185] The third portion of the energy cost model accounts for the demand charge. In some embodiments, c peak is the demand charge rate (e.g., $/kW) and W peak is the peak aggregate airside and waterside power consumption during the applicable demand charge period.

Multiplying by the demand charge rate c peak yi elds the total cost (e.g., $) of the demand charge. In some embodiments, demand charge modeler 718 generates demand charge constraints to ensure that W peak has the appropriate value. If the demand charge period is contained entirely within the optimization period (e.g., between time steps k = 0 and k = N— 1), then the appropriate value of W peak is the maximum of the combined waterside/airside power consumption at any time step k during the optimization period.

Demand charge modeler 718 can implement the following demand charge constraint:

to ensure that the peak power consumption W peak is always greater than or equal to the sum of the waterside power consumption Tj HVAC Q HVA C k and the airside power consumption Vair∑fct j Qc,h,k at each time step. This forces the peak power consumption W peak to be at least as large as the maximum combined airside/waterside demand during the optimization period. [0186] If the demand charge period begins before the optimization period, it is possible that the maximum peak power consumption during the demand charge period occurred prior to the beginning of the optimization period. Demand charge modeler 718 can implement the following demand charge constraint:

Wpeak,past — ^peak to ensure that the peak power consumption W peak is always greater than or equal to the maximum power consumption W pea , pas t tri at occurred during the same demand charge period, even if the maximum power consumption occurred prior to the beginning of the current optimization period. In some embodiments, demand charge modeler 718 updates Wpeak .past eac ^ ^ nie a new maximum power consumption is set to ensure that the energy cost model accurately represents the demand charge imposed by the power utility.

[0187] High-level optimizer 712 can use the energy cost model, airside power consumption model, demand charge model, building temperature model, thermal energy storage model, waterside demand model, and optimization constraints to formulate an optimization problem. In some embodiments, high-level optimizer 712 seeks to minimize the total cost of energy consumed by the aggregate airside/waterside system subject to the building temperature constraints and other constraints provided by the high-level models described herein. For example, high-level optimizer 712 can formulate the high-level optimization problem as: min Δ + c peak W peak

subject to the following constraints:

dT b

Cb == ~ Hb Tb ~ T a )— Qc.b + Q other. b

ds

— —OS + Qstorage

QnVAC.k— ^ Qc.b.k + Qstorage.k

6=1

0 < ≤ W peak

w peak.past <— w ' 'peak 0≤ QuVAC.k≤ QuVACmax

0 < S ' r < S '

[0188] In some embodiments, high-level optimizer 712 converts one or more of the above- identified models and/or constraints to state-space form for use in the high-level optimization problem. For example, high-level optimizer 712 can convert the preceding equations into a discretized state-space model of the form: x k+1 = Ax k + Bu k + B d d k

y k = Cx k + Du k where x k is a vector of system states at time step k, u k is a vector of system inputs at time step k, y k is a vector of measurements or system outputs at time step k, d k is a vector of disturbances at time step k, and x k+1 is a vector of (predicted) system states at time k + 1. The variables included in each vector can be the same as shown in Table 1 above.

[0189] High-level optimizer 712 can perform an optimization procedure to determine optimal values for each the input variables in the vector u at each time step k of the optimization period. For example, high-level optimizer 712 can determine optimal values for each of the thermal energy loads Q c ,k,k allocated to each building b at each time step k and the thermal energy load Q st0 raqe,k allocated to thermal energy storage at each time step k. Each set of thermal energy loads Q C(jb#fc with the same building index b forms a load profile for a particular airside subsystem and includes a load value for each time step k in the optimization period. Similarly, the set of TES loads Q s torage,k forms a load profile for the TES tanks and includes a load value for each time step k in the optimization period. High- level optimizer 712 can provide the airside subsystem load profiles to the low-level airside controllers 612-616 and can provide the TES load profile to the low-level waterside controller 618.

[0190] In some embodiments, high-level optimizer 712 generates a vector of predicted temperature states† b for each low-level airside subsystem 632-636. Each vector of predicted temperature states† b can include a predicted building temperature state T b k for each time step k during the optimization period. Temperature states T b k can be predicted using any of a variety of predictive techniques including, for example, a Kalman filter as described in U.S. Patent No. 9,235,657. High-level optimizer 712 can provide each vector of predicted temperature states† b to the low-level airside controller 612-6 6 for the corresponding low- level airside subsystem 632-636. In some embodiments, low-level airside controllers 612- 616 use the predicted temperature states T b to generate zone temperature setpoints that track the predicted temperature states f b>k at each time step k.

[0191] In some embodiments, high-level optimizer 712 calculates the total demand QJWAC K on waterside system 30 at each time step k as a summation of the building thermal energy loads Q c ,b,k an d the TES load Qstor ge.k at time step k. The set of waterside demand values forms a demand profile for waterside system 30 and includes a demand value for each time step k in the optimization period. The demand value QHVAC f° r a particular time step k represents the total demand which must be satisfied by waterside system 30 at that time step k. High-level optimizer 712 can provide the waterside demand profile to low-level waterside controller 618.

Low-Level Airside Model Predictive Controller

[0192] Referring now to FIG. 8, a block diagram illustrating low-level model predictive controller (MPC) 612 in greater detail is shown, according to some embodiments. Although only one low-level airside MPC 612 is shown in detail, it should be understood that any other low-level airside MFCs in control system 600 (e.g., low-level airside MFCs 614-616) can include some or all of the same components as low-level airside MPC 612, Control system 600 can include any number of low-level airside MFCs, each of which can operate independently to monitor and control a separate low-level airside subsystem (e.g., airside subsystems 632-636).

[0193] Low-level airside MPC 612 is shown a communications interface 802 and a processing circuit 804. Communications interface 802 can include wired or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with various systems, devices, or networks. For example, communications interface 802 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network and/or a WiFi transceiver for communicating via a wireless communications network. Communications interface 802 can be configured to communicate via local area networks or wide area networks (e.g., the Internet, a building WAN, etc.) and may use a variety of communications protocols (e.g., BACnet, IP, LON, etc.). [0194] Communications interface 802 can be a network interface configured to facilitate electronic data communications between low-level airside MPC 612 and various external systems or devices (e.g., weather service 604, high-level MPC 608, airside equipment 622, etc). For example, low-level airside MPC 612 can receive weather forecasts from weather sendee 604 and/or load predictions from load/rate predictor 602. Low-level airside MPC 612 can receive measurements from the BMS indicating one or more measured states of the controlled building or campus (e.g., temperature, humidity, electric loads, etc.) and one or more states of airside subsystem 632 (e.g., equipment status, power consumption, equipment availability, etc.). Low-level airside MPC 612 can receive predicted temperature states and/or a load profile from high-level MPC 608. Low-level airside MPC 612 can use the information received at communications interface 802 to generate zone temperature setpoints each zone of low-level airside subsystem 632. Low-level airside MPC 612 can provide the zone temperature setpoints to airside equipment 622.

[0195] Processing circuit 804 is shown to include a processor 806 and memory 808.

Processor 806 can be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor 806 can be configured to execute computer code or instructions stored in memory 808 or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

[0196] Memory 808 can include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory 808 can include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. Memory 808 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory 808 can be communicably connected to processor 806 via processing circuit 804 and can include computer code for executing (e.g., by processor 806) one or more processes described herein. When processor 806 executes instructions stored in memory 808, processor 806 generally configures low-level airside MPC 612 (and more particularly processing circuit 804) to complete such activities. [0197] Still referring to FIG, 8, low-level airside MPC 612 is shown to include a zone disturbance predictor 824. Zone disturbance predictor 824 can generate a disturbance forecast for each zone i of airside subsystem 632. Throughout this disclosure, the index i is used to denote individual zones, where i = 1 ... n z and n z is the total number of zones in a given airside subsystem. The disturbance forecast for zone i can include a vector of disturbance values Qother, where each element of the vector Qother,ί includes a predicted disturbance value Qother,i,k ^ " " a particular time step k ot the optimization period.

[0198] Zone disturbance predictor 824 is shown receiving weather forecasts from a weather semce 604. In some embodiments, zone disturbance predictor 824 generates the disturbance forecasts as a function of the weather forecasts. In some embodiments, zone disturbance predictor 824 uses feedback from regulatory layer 620 to generate the disturbance forecasts. Feedback from regulatory layer 620 can include various types of sensory inputs (e.g., temperature, flow, humidity, enthalpy, etc.) or other data relating to the controlled building or campus (e.g., building occupancy data, building electric load, etc.). In some embodiments, zone disturbance predictor 824 uses a deterministic plus stochastic model trained from historical load data to generate the disturbance forecasts. Zone disturbance predictor 824 can use any of a variety of prediction methods to generate the disturbance forecasts (e.g., linear regression for the deterministic portion and an autoregressive model for the stochastic portion).

[0199] Zone disturbance predictor 824 can predict one or more different types of disturbances for each building zone i. For example, zone disturbance predictor 824 can predict a thermal load resulting from heat transfer between the air within building zone i and outside air through the walls of the building. Zone disturbance predictor 824 can predict a thermal load resulting from internal heat generation within the building zone (e.g., heat generated by electronics in the building zone, heat generated by zone occupants, etc.). In some embodiments, zone disturbance predictor 824 makes disturbance predictions using the predictive techniques described in U.S. Patent Application No. 14/717,593.

[0200] Still referring to FIG. 8, low-level airside MPC 612 is shown to include a zone temperature modeler 814. Zone temperature modeler 814 can generate a temperature model for each building zone i of airside subsystem 632, Airside subsystem 632 can have any number of zones. In some embodiments, the temperature of each zone can be independently controlled and/or adjusted. Some building zones can exchange heat with each other (e.g., if the building zones are adjacent to one another), whereas other building zones do not directly exchange energy. In general , zone temperature modeler 814 can generate n z zone temperature model s, where n z i s the total number of zones in airside subsystem 632,

[0201] In some embodiments, zone temperature modeler 814 models the temperature of each building zone using a zone heat transfer model. The dynamics of heating or cooling a single bui lding zone are described by the energy balance:

cLT

C - C = -H (T - Ta) - Q c + Q other where C is the thermal capacitance of the building zone, H is the ambient heat transfer coefficient for the building zone, T is the temperature of the building zone, T a is the ambient temperature outside the building zone (e.g., the outside air temperature), Q c is the amount of cooling applied to the building zone (i .e., the cooling load), and Q 0 ther * s the external load, radiation, or other disturbance experienced by the building zone. In the previous equation, Q c represents heat transfer out of the building zone (i.e., cooling) by the HVAC system and therefore has a negative sign. However, if heating is applied to the building zone rather than cooling, the sign on Q c can be switched to a positive sign such that Q c represents the amount of heating applied to the building zone by the HVAC system (i.e., the heating load).

[0202] The previous equation combines all mass and air properties of the building zone into a single zone temperature. Other heat transfer models which can be used by zone

temperature modeler 814 include the following air and mass zone models:

d,T z . . .

cz = H az (T a - T z ) + H mz {T m - T z ) - Q c ÷ Q other r — III = /-/ (T .... T )

dt rnz L z 1 mJ where C z and T z are the thermal capacitance and temperature of the air in the building zone, T a is the ambient air temperature, H az is the heat transfer coefficient between the air of the bui lding zone and ambient air outside the bui lding zone (e.g., through external walls of the bui lding zone), C m and T m are the thermal capacitance and temperature of the non-air mass within the building zone, and H mz is the heat transfer coefficient between the air of the building zone and the non-air mass. [0203] The previous equation combines all mass properties of the building zone into a single zone mass. Other heat transfer models which can be used by zone temperature modeler 814 include the following air, shallow mass, and deep mass zone models:

dT z

Cz ~ dt = ¾ζ(Γω "" Tz) + Hsz(Ts "" Tz) "" Qc Qother

Cs ¾ = SZ (T Z - ' ) + n ds a d - T S )

where C z and T z are the thermal capacitance and temperature of the air in the building zone, T a is the ambient air temperature, H az is the heat transfer coefficient between the air of the building zone and ambient air outside the building zone (e.g., through external walls of the building zone), C s and T s are the thermal capacitance and temperature of the shallow mass within the building zone, H SZ is the heat transfer coefficient between the air of the building zone and the shallow mass, C d and T d are the thermal capacitance and temperature of the deep mass within the building zone, and H ds is the heat transfer coefficient between the shallow mass and the deep mass,

[0204] In some embodiments, zone temperature modeler 814 models the temperature of each building using the following zone temperature model:

where Q and T t are the thermal capacitance and temperature of the building zone designated by zone index i, T a is the ambient air temperature outside zone i (e.g., outside air

temperature), H T is the heat transfer coefficient between zone i and the ambient air, Q c i is the amount of cooling applied to the building zone i by MPC system 600 (i.e., the amount of heat removed from the zone), and Q ot her , i I ' S tne external load, radiation, or disturbance experienced by zone i. If heating is provided to the zone rather than cooling, the sign on Q c i can be switched from a negative sign to a positive sign,

[0205] The parameter characterizes the degree of coupling between zone i and another zone j (e.g., a building zone adjacent to zone i). If zones i and j are not adjacent and/or do not directly exchange heat with each other, zone temperature modeler 814 can set the value of fiij equal to zero. The zone temperature model can include a summation of the heat transfers between building zone i and each other building zone j≠ i as a function of the zone temperatures T t and 7} and the coupling coefficient β^ . In other embodiments, heat transfer between zones can be accounted for using the external disturbance estimate Q other, i-

[0206] Zone temperature modeler 814 can use the zone disturbance estimates received from zone disturbance predictor 824 to identify appropriate values of the external disturbance Qother.i f° r eacn zone i at eac ^ ti∞e step of the optimization period. In some embodiments, zone temperature modeler 824 uses the weather forecasts from weather service 604 and/or the load and rate predictions provided by load/rate predictor 602 to determine appropriate values for the ambient air temperature T a and/or the external disturbance Q ot her , i f° r eaCQ zone l" at each time step of the optimization period. Values of and Hi can be specified as parameters of the zone i, received from the BMS that manages the building zone i, received from a user, retrieved from memory 808, or otherwise provided to zone temperature modeler 814. Zone temperature modeler 714 can generate a zone temperature model for each zone i, where i = 1 ... n z and n z is the total number of zones.

[0207] Still referring to FIG. 8, low-level airside MPC 612 is shown to include a building load modeler 816. Building load modeler 816 can generate a model of the total amount of thermal energy delivered to the airside subsystem Q tota i ! -.g.. the total amount of heating or cooling delivered to the building) as a function of the individual zone loads Q Cii . In some embodiments, building load modeler 816 models the total building load using the following equation:

where Qtot i 1 " S tne tota ^ amount of thermal energy (e.g., heating or cooling) delivered to the airside subsystem and Q c i is the rate at which thermal energy is being delivered (units of power) of a particular zone i. The building load model can sum the thermal energy loads Q Cii of each building zone to calculate the total airside subsystem thermal energy load

which is the derivative of the total amount of thermal energy (? £ota >delivered to the airside subsystem.

[0208] Low-level airside MPC 612 is shown to include a cooling/heating duty modeler 820. Cooling/heating duty modeler 820 can generate one or more models that define the thermal energy load Q Cii of each building zone as a function of the zone temperature T t and the zone temperature setpoint T sp i as shown in the following equation:

The models generated by cooling/heating duty modeler 820 can be used as optimization constraints to ensure that the thermal energy load Q Cii is not reduced to a value that would cause the zone temperature 1 to deviate from an acceptable or comfortable temperature range.

[020 1 In some embodiments, cooling/heating duty modeler 820 relates zone thermal energy load Q c L - to the zone temperature T: and the zone temperature setpoint T sp i using multiple models. For example, cooling/heating duty modeler 820 can use a model of the zone regulator} 1, controller to determine the control action performed by the controller as a function of the zone temperature 1 and the zone temperature setpoint sp i . An example of such a zone regulator}' controller model is shown in the following equation;

where v aiTii is the rate of airflow to building zone i (i.e., the control action). The function f can be identified from data. For example, cooling/heating duty modeler 820 can collect measurements ΐ ν αίΤιί and T, and identify the corresponding value of T sp i . Cooling/heating duty modeler 820 can perform a system identification process using the collected values of y ai r i, Γ;, and T sp>i as training data to determine the function f x that defines the relationship between such variables.

[0210] Cooling/heating duty modeler 820 can use an energy balance model relating the control action v air ; to the zone thermal energy load Q Cii , as shown in the following equation:

Qc,i ^ fl iVairi)

where the function f 2 can be identified from training data. Cooling/heating duty modeler 820 can perform a system identification process using collected values of ν αίγ χ and Q Cii to determine the function f 2 that defines the relationship between such variables.

[0211] In some embodiments, a linear relationship exists between Q c i and v airii .

Assuming an ideal proportional-integral (Pi) controller and a linear relationship between Q c i and ν αίΤιί , a simplified linear controller model can be used to define the thermal energy load Q Cii of each building zone as a function of the zone temperature 7 " ; and the zone temperature setpoint T sp i . An example of such a model is shown in the following equations: ic,i s,i. + K< E; + Ε Ί { ί ') ά ί '

sp,i where Q SSii is the steady-state rate of heating or cooling rate, K c i is the scaled zone PI controller proportional gain, τ, is the zone PI controller integral time, and ε, : is the setpoint error (i.e., the difference between the zone temperature setpoint T i sp and the zone

temperature T sp ). Saturation can be represented by constraints on Q c i . If a linear model is not sufficiently accurate to model the PI controller and heat transfer in the AHU for zone i, a nonlinear heating/cooling duty model can be used instead.

[0212] Advantageously, modeling the regulatory controllers (e.g., zone PI controllers) in the low-level airside optimization problem allows low-level airside MPC 612 to use the dynamics of the regulatory controllers when determining the optimal temperature setpoints. In some embodiments, the responses of the regulatory controllers can be sluggish. For example, it can take some zones up to an hour to reach a new temperature setpoint. Using the dynamics of the regulaton,' controllers in the low-level MPC problem allows low-level airside MPC 612 to consider the time between control action and effect such that optimal temperature setpoints can be selected in view of time-varying energy prices.

[0213] Still referring to FIG. 8, low-level airside MPC 612 is shown to include a constraints modeler 810. Constraints modeler 810 can generate and impose optimization constraints on the optimization procedure performed by low-level optimizer 812. Constraints imposed by constraints modeler 810 can include, for example, equipment capacity constraints and zone temperature constraints. In some embodiments, constraints modeler 810 imposes constraints on the zone temperature T L . For example, constraints modeler 810 can constrain the zone temperature T t between a minimum temperature T min and a maximum temperature T max as shown in the following equation:

Ίγηίη— Ά— Tmax

where the values of T min and T max can be adjusted based on the temperature setpoints of the building. [0214] In some embodiments, constraints modeler 810 automatically adjusts the values of T-min an d T-max based on information received from the BMS for the building zone. For example, constraints modeler 810 can use a temperature setpoint schedule and/or occupancy schedule for the building zone to automatically adjust the values of T min and T max for each time step k. This allows constraints modeler 810 to use temperature limits based on the time- varying setpoint temperature range for the zone so that the zone temperature T, is maintained within time-appropriate temperature limits T min and T max .

[0215] In some embodiments, constraints modeler 810 imposes a constraint to ensure that the total airside subsystem load during any time step k is no greater than the thermal energy- load allocated to the airside subsystem by high-level MPC 608. For example, constraints modeler 810 can impose the constraint:

where Q to tai,k+i * s the total airside subsystem energy consumed at time step k + 1, Q to tai , k l " s the total airside subsystem energy consumed at time step k, Q c ,b,k * s the thermal energy load allocated to the airside subsystem b by high-level MPC 608, and Δ is the duration of each time step. The left side of the equation represents the airside subsystem thermal energy load during time step k (i.e., the change in total thermal energy delivered between consecutive time steps divided by the time step duration), whereas the right side of the equation represents the thermal energy load allocated to airside subsystem b during time step k by high-level MPC 608.

[0216] In some embodiments, constraints modeler 810 imposes an additional constraint to ensure that the total amount of thermal energy delivered does not decrease between consecutive time steps, as shown in the following equation:

Qtotal.k+1 ~~ Qtotal.k≥ 0

Since Q to tai,k+i ls a summation of the amount of thermal energy delivered up to time step k + 1, this constraint prevents low-level optimizer 812 from selecting a negative value for the thermal energy load Q C/i at time step k. In other words, the rate at which thermal energy is delivered (i.e., Q Ci i) can add to the total amount of thermal energy delivered over the optimization period, but cannot subtract from the total amount of thermal energy delivered. [0217] Low-level optimizer 812 can use the zone temperature models, building load model, cooling/heating duty model, and optimization constraints to formulate an optimization problem. In some embodiments, the low-level optimi zation problem seeks to minimize the total amount of thermal energy Q to tai.N use d by the airside subsystem 632 over the optimization period subject to the zone temperature constraints and other constraints provided by the low-level airside models described herein. For example, low-level optimizer 812 can formulate the low-level optimization problem as: mill Qtotal,N subject to the following constraints:

di ■ ""

C * = - Hi ( T. - To) - ) Ptj fa - Tj) - <? Cfi + Q other

dt dQ. total

i c,i

dt

Q total,k+l vtotal.k

!total,k+l ""' i total.k >

Qc,i = f{Ti sp,i) where the function / is defined according to the following relationship between Q c i , T and

T 1 l,SV

Qc.i - Qss.i + K c,i £i +— \ F H (t') dt !

[0218] In some embodiments, low-level optimizer 812 converts one or more of the above- identified models and/or constraints to state-space form for use in the low-level optimization problem . For example, low-level optimizer 812 can convert the preceding equations into a discretized state-space model of the form: xk+i ~ Ax k + Bu k + B d d k

Jk = Cx k + Dn k where x k is a vector of system states at time step k, u k is a vector of system inputs at time step k, y k is a vector of measurements or system outputs at time step k, d k is a vector of disturbances at time step k, and x k+1 is a vector of (predicted) system states at time k + 1. Table 2 illustrates the variables that can be included in each of these vectors:

Table 2: Variables in Low-Level Optimization

States x = [T L . e t Q total ] T n = 2n z + 1

Inputs m = n z

Measurements y = I i Q totalY P = n z + 1

[0219] As shown in Table 2, the system states vector x includes the zone temperature Ί , the integral of the zone tracking error c,-, and the total thermal energy delivered to the airside subsystem. In some embodiments, the system states vector x includes a zone temperature T t and an integrated zone tracking error β έ for each of the n z zones and single total therm al energy value such that the total number n of variables in the system states vector x is equal to 2n z + 1. The inputs vector u can include the temperature setpoint T sp i . In some

embodiments, the inputs vector u includes a temperature setpoint T sp i for each of the n z zones such that the total number m of variables in the inputs vector u is equal to n z .

[0220] In some embodiments, the measurements vector y is the same as the system states vector x, but without the integrated zone tracking error e L . This indicates that the zone temperature T t and the total amount of thermal energy delivered Qtotai are directly measured. The value of the integrated zone tracking error€ t can be calculated from the difference between T i sp and T t . The disturbance vector d can include the ambient air temperature T a , the estimated disturbance Q other, ί f° r eac h zone, and the steady-state rate of heating/cooling Q Si ;,i for each zone. In some embodiments, the disturbances vector d includes an estimated disturbance Q other , i an d a steady-state rate of heating/cooling Q ss i for each of the n z

buildings and a single ambient air temperature T a such that the total number n d of variables in the disturbances vector d is equal to n z + 1.

[0221] In some embodiments, the system states x can be constructed or predicted from the measurements y. For example, low-level airside MPC 612 can use a Kalman filter or other predictive technique to construct the system states x from the measurements y. The values of the A, B, C, and D, matrices in the state-space representation can be identified using a system identification technique. Examples of state prediction and system identification techniques which can be used by low-level MPC 612 are described in detail in U.S. Patent No.

9,235,657.

[0222] Still referring to FIG. 8, low-level airside MPC 612 is shown to include a model aggregator 818. Model aggregator 818 can generate aggregate values for various building parameters and/or variables used in the low-level optimization. For example, model aggregator 818 can generate an aggregate building temperature T b for the low-level airside subsystem by aggregating the individual zone temperatures T L of each zone in the building. In some embodiments, model aggregator 818 generates the aggregate building temperature T b using the following equation:

where Q is the thermal capacitance of zone i and Ί is the temperature of zone i. The numerator of the previous equation represents the total amount of heat in the building, whereas the denominator represents the total thermal capacitance of the building. Both quantities are summed across all building zones i = 1 ... n z . Model aggregator 818 can divide the total amount of heat by the total thermal capacitance to estimate an average building temperature T b . Model aggregator 818 can calculate an aggregate building temperature T b k for each time step k of the optimization period.

[0223] Model aggregator 818 can calculate aggregate values for other building parameters or variables such as the building thermal capacitance C b , the building heat transfer coefficient H b , and the estimated building disturbance Q other , b - ^ n some embodiments, model aggregator 818 calculates the aggregate values for these variables and parameters using the following equations:

where the building thermal capacitance C b is the summation of the zone thermal capacitance Q values for each building zone, the building heat transfer coefficient H b is the summation of the zone heat transfer coefficients H l values for each building zone, and the estimated building disturbance Qother.b * s the summation of the estimated building disturbances Q 0 ther,i for each building zone. Model aggregator 818 can calculate aggregate values of C b < , H bik , and Qo her.b.k or eacn ti me ste P °f tne optimization period.

0224] In some embodiments, model aggregator 818 provides the aggregate buildin;

parameters and variables T b , C b , H b , and Q other, b to high-level MPC 608. High-level MPC

608 can use such values as inputs to the high-level models, constraints, and optimization function used in the high-level optimization. Advantageously, the model aggregation performed by model aggregator 8 8 helps to reduce the amount of information exchanged between each low-level airside MFC 612-616 and high-level MFC 608. For example, each low-level MFC 612-616 can provide high-level MFC 608 with the aggregate values described above rather than individual values of such variables and parameters for each building zone.

[0225] Still referring to FIG. 8, low-level airside MFC 612 is shown to include a temperature tracker 822. In some embodiments, temperature tracker 822 performs an alternative optimization which can supplement or replace the low-level optimization performed by low-level optimizer 812. Rather than minimizing the total thermal energy Qtotai,N use d by the low-level airside subsystem, temperature tracker 822 can generate zone temperature setpoints T sp i which track the predicted building temperature states T b k

generated by high-level MFC 608 as a result of the high-level optimization. For example, high-level MFC 608 can calculate the building temperature states T b k for each low-level airside subsystem 632-636 predicted to result from the load profiles generated by high-level MFC 608. As described above, the predicted temperature states T bJi can be calculated using a Kalman filter or any other type of state prediction technique. High-level MFC 608 can provide the predicted temperature states T k to each low-level airside MPC 6 2-616 for use in the temperature tracking process.

[0226] Temperature tracker 822 is shown receiving the predicted temperature states T b k via communications interface 802. Temperature tracker 822 can also receive the aggregate building temperatures T b < generated by model aggregator 818. Temperature tracker 822 can formulate an objective function which seeks to minimize the error between the aggregate building temperatures T k and the predicted temperature states f bik , as shown in the following equation: where μ is a small penalty factor applied to the total amount of thermal energy Q tota i,N use d by the airside subsystem over the optimization period. The value of μ can be adjusted to increase or decrease the weight assigned to the total amount of thermal energy Q to tai,N relative to the temperature tracking error.

[0227] Temperature tracker 822 can use the previous equation as the objective function in an optimization procedure to determine optimal values for the zone temperature setpoints Ί ' ε , ί- The optimization performed by temperature tracker 822 can be similar to the optimization performed by low-level optimizer 812, with the exception that temperature tracker 822 is not constrained by the load profile provided by high-level MPC 608 and seeks to optimize a different objective function. For example, temperature tracker 822 can minimize the objective function:

subject to the following constraints: e i i(r -~ i)) -~ Q , ÷ Q other, i

dQ total 1 A

/ t ¾ C,l

dl

£= 1

T ■ < T. < T

1 rain — 1 1 — 1 max

otal,k+l ""' Qtotal.k

Qci = f( i sp ,i) where the function / is defined according to the following relationship between Q c i , T and

^ i,sp

Qci = Qss,i + K c .i £i + f ! (l : )dl '

xli Jo

[0228] In some embodiments, temperature tracker 822 converts one or more of the above- identified models and/or constraints to state-space form for use in the low-level optimization problem. For example, temperature tracker 822 can convert the preceding equations into a discretized state-space model of the form: ½+ι = Αχ κ, + Bu k + B d d k

Vk = Cx k + Du k

where x k is a vector of system states at time step k, u k is a vector of system inputs at time step k, y k is a vector of measurements or system outputs at time step k, d k is a vector of disturbances at time step k, and x k+1 is a vector of (predicted) system states at time k + 1. The variables included in each vector can be the same as shown in Table 2 above.

Simulation Study

[0229] Referring now to FIGS, 9-13, several graphs 900-1350 illustrating the results of a simulation study are shown, according to some embodiments. The simulation study involved using model predictive control system 600 to monitor and control a five-zone building with a large active TES tank. Each of graphs 900-1350 shows a set of values for a particular variable or parameter as a function of time. Some variables or parameters can be received as input data to control system 600 (e.g., weather data, utility rates, etc.), whereas other variables or parameters can be calculated and/or optimized by control system 600 as previously described.

[0230] FIG. 9 shows the weather and electricity pricing data for the duration of an optimization period. Graph 900 illustrates ambient temperature 902 as a function of time. Ambient temperature 902 can be received as a weather forecast from a weather service 604 and used to determine appropriate values for the variable T a in the high-level and low-level optimizations. Graph 950 illustrates electricity pricing 952 as a function of time. Electricity pricing 954 can be received as an input from utilities 606 and/or predicted by load/rate predictor 602.

[0231] FIG. 10 shows the results of the high-level optimization performed by high-level MPC 608 when the cost of airside power consumption is not included in the high-level optimization function. Graph 1000 illustrates building temperature 1002 (e.g., building temperature T b , building temperature T b ) as a function of time. Building temperature 1002 can be measured as an output of the building (e.g., using equipment of airside subsystem 632) and/or predicted as a result of the high-level optimization. When airside power consumption is not included, high-level MPC 608 may choose to keep the building temperature at the upper bound of the comfort zone (i.e., T max ) at all times. [0232] Graph 1050 illustrates the cooling duty 1052 of airside subsystem 632 (e.g., Q c,b ) as a function of time. Cooling duty 1052 is an example of a load profile which can be optimized by high-level MPC 608 for each airside subsystem ear and provided to the low-level airside MPC 612-616 for the airside subsystem. Cooling duty 1052 can be calculated by high-level MPC 608 as a result of the optimal building temperature 1002. In some embodiments, high- level MPC 608 does not utilize passive thermal energy storage when airside power consumption is not included, but rather only uses active TES (e.g., TES tanks) for shifting the waterside power load.

[0233] FIG. 1 1 shows the results of the high-level optimization performed by high-level MPC 608 when the cost of airside power consumption is included in the high-level optimization function. Graph 1 100 illustrates building temperature 1 102 (e.g., building temperature T b , bui lding temperature T b ) as a function of time. Building temperature 1 102 can be measured as an output of the building (e.g., using equipment of airside subsystem 632) and/or predicted as a result of the high-level optimization. When airside power consumption is included, high-level MPC 608 may choose to precool the building using passive TES before the peak period when electricity prices are highest.

[0234] Graph 1 150 illustrates the cooling duty 1 152 of airside subsystem 632 (e.g., Q Cib ) as a function of time. Cooling duty 1 1 52 i s an example of a load profile which can be optimized by high-level MPC 608 for each airside subsystem ear and provided to the low-level airside MPC 612-616 for the airside subsystem. Cooling duty 1 152 can be calculated by high-level MPC 608 as a result of the optimal building temperature 1 102. In some embodiments, high- level MPC 608 uses passive thermal energy storage when airside power consumption is included, which allows high-level MPC 608 to shift the load from peak to non-peak periods. The flat portions 1 154 of the cooling duty profile can result from high-level MPC 608 attempting to smooth cooling duty 1 152 to reduce the peak demand charge.

[0235] FIG. 12 shows the results of the low-level airside optimization performed by low- level airside MPC 612. Graph 1200 illustrates the zone temperatures 1202, 1204, 1206, 1208, and 1210 (e.g., Tj) for several building zones as a function of time. Zone temperatures 1202-1210 can be measured as an output of the zones (e.g., using equipment of airside subsystem 632) and/or predicted as a result of the low-level optimization. When precooling occurs, the zone temperatures 1202-1210 begin decreasing at different (e.g., staggered or offset) times to reduce the overall building load at any given time. This is a result of low- level airside MPC 612 complying with the cooling duty limit (e.g., the value of cooling duty 102 or 1 52) received from high-level MPC 608.

[0236] Graph 1250 illustrates the temperature setpoints 1252, 1254, 1256, 1258, and 1260 (e.g., T sp i ) for several building zones as a function of time. Zone temperature setpoints 1252-1260 can be calculated by low-level airside MPC 612 as a result of the low-level airside optimization. For example, low-level airside MPC 612 can use the cooling duty model defining a relationship between Q c T sp i , and T L to determine the appropriate temperature setpoints T sp i for each building zone. In some embodiments, low-level airside MPC 612 causes the zone temperature setpoints 1252-1260 to begin decreasing at different (e.g., staggered or offset) times to reduce the overall building load at any given time and/or to achieve the temperatures T t shown in graph 1200.

[0237] FIG. 13 shows the results of the low-level waterside optimization performed by low- level waterside MPC 618. Graph 1300 illustrates how the demand 1302 from the high-level optimization is met using a combination of thermal energy production 1304 from chillers and thermal energy storage 1306 from the TES tank. Thermal energy storage 1306 can be positive to indicate that the TES tank is discharging stored thermal energy or negative to indicate that the TES tank is charging (e.g., filling) using a portion of the thermal energy production 1304. The unmet load 1308 represents an amount of the demand profile 1302 not met by either the production 1304 or the storage 1306. Unmet load 1308 can be assigned a penalty in the waterside optimization function to ensure that unmet loads do not occur unless the waterside equipment 628 cannot meet the total demand 1302.

[0238] Graph 1350 illustrates the equipment operating schedules 1352 and 1354 for two chillers used to satisfy the thermal energy production 1304, The regions in boxes 1356 indicate that the corresponding chiller is active, whereas the non-boxed regions 1358 indicate that chiller is not active. The loading fraction of each chiller (e.g., between zero and one) are indicated by load lines 1360 and 1362. With active TES available, the chillers can produce more chilled water when energy prices are low (e.g., overnight) to charge the TES tank. The TES tank can then be discharged when energy prices are high (e.g., during the day) to reduce the overall cost of electricity consumption. Flow Diagrams

[0239] Referring now to FIG. 14, a flow diagram 1400 i llustrating a model predictive control technique which can be performed by MPC system 600 is shown, according to some embodiments. Flow diagram 1400 i s shown to include performing a high-level optimization at a high-level model predictive controller (MPC) to generate an optimal load profile for each of a plurality of airside subsystems (block 1402). In some embodiments, the high-level optimization is performed by high-level MPC 608, as described with reference to FIGS. 6-7. For example, the high-level optimization can include generating a high-level energy cost function defining the energy cost as a function of a waterside demand profile QHVAC - In some embodiments, the waterside demand profile QHVAC indicates a thermal energy production of the waterside system at each of a plurality of time steps k in an optimization period,

[0240] In some embodiments, high-level MPC 608 generates an energy cost function that accounts for the per-unit costs of energy consumption in waterside system 30 and the demand charge, but does not account for energy consumption in airside system 50, An example of such an energy cost function is shown in the following equation:

jy-i

Energy Cost = c K TOT Q HVAC I A + c PEA ^ IOT Q PEAK

k=0

[0241] The first term of the energy cost function accounts for the per-unit costs (e.g., $/kWh) of energy consumed during each time step k of the optimization period. In some embodiments, c k is the cost per unit of energy consumed at time step k to satisfy the total waterside demand QHVAC at time ste P the parameter i tot is the inverse of the coefficient of performance of the aggregate airside/waterside system (e.g., 0.1 < r/ tot < 0.25), and Δ is the duration of time step k. Accordingly, the term r) cot Q HVACik represents the total amount of energy consumed (e.g., kWh) during time step k to satisfy the waterside demand QuvACk - Multiplying by the cost c k per unit energy consumed (e.g., $/kWh) yields the total cost (e.g., $) of the energy consumed during time step k. The energy cost function can include a summation of the energy costs duri ng each time step k to determine the total cost of energy consumption over the optimization period.

[0242] The second term of the energy cost function accounts for the demand charge. In some embodiments, c peak is the demand charge rate (e.g., $/kW), Q PEAK is the peak waterside demand during the demand charge period (e.g., the maximum of QHVAC, k an ^ Vtot i " S the inverse of the coefficient of performance of the aggregate airside/waterside system.

Accordingly, the term i] tot Q peak represents the peak power consumption to satisfy the peak waterside demand Q pea k- Multiplying by the demand charge rate c peak yields the total cost (e.g., $) of the demand charge.

[0243] In some embodiments, high-level MPC 608 generates an energy cost function that accounts for the per-unit costs of energy consumption in waterside system 30, the demand charge, and the energy consumption in airside system 50. An example of such an energy cost function is shown in the following equation:

Energy Cost = + c PEAK W PEAK

[0244] The first portion of the energy cost function accounts for the per unit costs (e.g., $/kWh) of energy consumed by waterside system 30 during each time step k of the optimization period. In some embodiments, c k is the cost per unit of energy consumed at time step k, A is the duration of time step k, and v l HVAC is the inverse of the coefficient of performance of waterside system 30 (e.g., r) HVAC ~ 0.2). The term represents the amount of power consumption (e.g., kW) by waterside system 30 during time step k to satisfy the waterside demand Quv A c.k- Multiplying by the cost c k per unit energy consumed (e.g., $/kWh) and the duration Δ (e.g., hours) yields the total cost (e.g., $) of the energy- consumed during time step k by waterside system 30, The first portion of the energy cost function can be summed across all time steps k = 0 ... N— 1 of the optimization period to determine the total energy consumed by waterside system 30 over the duration of the optimization period,

[0245] The second portion of the energy cost function accounts for the per unit costs (e.g., $/kWh) of energy consumed by each airside subsystem (e.g., each building b) during each time step k of the optimization period. As described above, η αίγ is the inverse of the coefficient of performance of the airside subsystems (e.g., η α ι τ ~ 0.1) and Q c, h , k * s the thermal energy load delivered by the airside subsystem for building b at time step k. The term VairQc ,b, k represents the power consumption W air b of the airside equipment for building b. The second portion of the energy cost function can be summed across all buildings b =

1 ... n b and across ail time steps k = 0 ... N— 1 to determine the total power consumption of all airside subsystems over the duration of the optimization period. Multiplying by the cost c k per unit energy consumed (e.g., $/kWh) and the duration Δ (e.g., hours) yields the total cost (e.g., $) of the energy consumed by the airside subsystems over the duration of the optimization period.

[0246] The third portion of the energy cost function accounts for the demand charge. In some embodiments, c peak is the demand charge rate (e.g., $/kW) and W peak is the peak aggregate airside and waterside power consumption during the applicable demand charge period. Multiplying by the demand charge rate c peak yields the total cost (e.g., $) of the demand charge.

[0247] In some embodiments, performing the high-level optimization in block 1402 includes using a waterside demand model to define the waterside demand profile QHVAC AS A function of the plurality of airside subsystem load profiles Q c b . Each airside subsystem load profile Q Cib can indicate a thermal energy allocation to one of the airside subsystems at each of the plurality of time steps,

[0248] In some embodiments, the waterside demand model represents the demand on waterside system 30 as a function of the thermal energy load Q c b allocated to each airside subsystem and the amount of thermal energy storage Q st : 0 rage at eac -h time step of the optimization period. An example of such a waterside demand model is shown in the following equation:

b ri

QuVACk — ^ Qc,b,k + Qstorage.k

6=1

where QRVAC s the waterside demand at time step k (e.g., the thermal energy production of waterside system 30 at time step k), Q Cii! k is the thermal energy load allocated to building b at time step k, and Q stor age,k iS the amount of thermal energy being stored in the TES tanks during time step k . The previous equation indicates that the total demand QHVAC, k 011 the waterside system 30 is a summation of the thermal energy loads Q Cib , allocated to each building b and the thermal energy Q st0 rage,k being stored in the TES tanks. This equation can be used by high-level MPC 608 as an energy balance constraint to ensure that waterside system 30 generates enough thermal energy to cover the building loads and the thermal energy storage at each time step k. [0249] In some embodiments, the high-level optimization in block 1402 includes generating an airside subsystem temperature model for each of the plurality of airside subsystems. Each airside subsystem temperature model can define a relationship between the thermal energy allocation Q c b to an airside subsystem and a temperature T b of the airside subsystem. An example of such an airside subsystem temperature model is shown in the following equation:

dT b

^ b ~ dt = ~ ^ b ^ b "" ^ ^ Cib + ^ other, b where C b and T b are the thermal capacitance and temperature of the airside subsystem designated by index b, T a is the ambient air temperature outside airside subsystem b (e.g., outside air temperature), H b is the heat transfer coefficient between airside subsystem b and the ambient air, Q c b is the amount of cooling applied to the airside subsystem by MPC system 600 (i.e., the amount of heat removed from the airside subsystem), and Q other, b l ' s the external load, radiation, or disturbance experienced by the airside subsystem b. If heating is provided to the airside subsystem rather than cooling, the sign on Q c b can be switched from a negative sign to a positive sign.

[0250] The high-level optimization can use the building disturbance estimates received from low-level airside controllers 612-616 to identify appropriate values of the external disturbance Q 0 ther , h f° r each airside subsystem b at each time step of the optimization period. In some embodiments, the high-level optimization uses the weather forecasts from weather service 604 and/or the load and rate predictions provided by load/rate predictor 602 to determine appropriate values for the ambient air temperature T a and/or the external disturbance Qother.b f° r eac h airside subsystem b at each time step of the optimization period. Values of C b and H b can be specified as parameters of the airside subsystem b, received from the low-level airside controller for the airside subsystem b, received from a user, retrieved from memory, or otherwise provided to high-level MPC 608. The high-level optimization can include generating a temperature model for each airside subsystem b, where b = 1 ... n b and n b is the total number of airside subsystems.

[0251] In some embodiments, performing the high-level optimization in step 1402 includes optimizing the energy cost and the plurality of airside subsystem load profiles subject to constraints provided by the waterside demand model and each airside subsystem temperature model. The high-level optimization can use the energy cost model, demand charge model, building temperature model, thermal energy storage model, waterside demand model, and optimization constraints to formulate an optimization problem.

[0252] In some embodiments, the high-level optimization seeks to minimize the total cost of energy consumed by waterside system 30 (i.e., energy cost and demand charge) subject to the building temperature constraints and other constraints provided by the high-level models described herein. For example, the high-level optimization can formulate the high-level optimization problem as:

N-l

min c k 7] tot Q HVAC k Δ + c Oea rj tot Q peak

' k=0

subject to the following constraints:

dT b

Cb = ~ Hb (T b - T a ) - Q c b + Qo c er,b

ds

—— — ffS + Q storage

b r ,

Qvi VAC,k = ^ Qc.b.k + Qstorage.k

6 =1

0 < QiiVACk≤ Qpeak

Qpeak, past — Qpeak — QHVAC.max

0 ≤ S k ≤ S m ax

' ^min — Tb — ^ max

[0253] In some embodiments, the high-level optimization seeks to minimize the total cost of energy consumed by the aggregate airside/waterside system subject to the building temperature constraints and other constraints provided by the high-level models described herein. For example, the high-level optimization can formulate the high-level optimization problem as:

Ρβακ fc=0 \ \ 6 = 1 subject to the following constraints

dT b

^b ~~^T— ~ Hb (T"b ~ Ta) ~ Qc.b + Q other, b ds

as + Q s

dt storage

}HVAC:K — 2 ^ Qc.b.k ÷ Qstorage.k

6=1

VHVAcQlWACk + ' Vair ^ Qc.h.k j≤ ^peak

b =i

Wpeak.past≤ ^peak

0 — QHVAC, k — QHVAC, max

0 < s k ≤ s max

1 nun— 1 o— 1 max

[0254] Still referring to FIG. 14, flow diagram 1400 is shown to include providing the optimal airside subsystem load profiles Q Cib from the high-level MPC to a plurality of low- level MFCs (block 1404). Each load profile Q c b can be sent from high-level MPC 608 to one of low-level airside MPCs 612-616, as shown in FIG. 6. In some embodiments, each low-level airside MPC is configured to monitor and control a particular airside subsystem. Each low-level airside MPC can receive the optimal subsystem load profile for the airside subsystem monitored and controlled by that low-level airside MPC.

[0255] Flow diagram 1400 is shown to include performing a low-level optimization at each of the low-level MPCs to generate optimal temperature setpoints for each of the airside subsystems (block 1406). In some embodiments, the low-level optimization in block 1406 includes generating a zone temperature model for each zone i of each airside subsystem. The zone temperature model can define a relationship between the temperature T L of the zone and the thermal energy load profile Q c i for the zone. An example of such a zone temperature model is shown in the following equation:

dTi _ r _ t r _ Y "1

Ci ~dt ~ ~ Hi ^ Ti ~ ~~ _ j / i ~~ T U " Qc,l + Qother.i where C and Ί are the thermal capacitance and temperature of the building zone designated by zone index i, T a is the ambient air temperature outside zone i (e.g., outside air

temperature), H T is the heat transfer coefficient between zone i and the ambient air, Q c i is the amount of cooling applied to the building zone i by MPC system 600 (i.e., the amount of heat removed from the zone), and Q other, ί I ' S tne external load, radiation, or disturbance experienced by zone i . If heating is provided to the zone rather than cooling, the sign on Q c i can be switched from a negative sign to a positive sign,

[0256] The parameter characterizes the degree of coupling between zone i and another zone j (e.g., a building zone adjacent to zone i). If zones i and j are not adjacent and/or do not directly exchange heat with each other, zone temperature modeler 814 can set the value of ?y equal to zero. The zone temperature model can include a summation of the heat transfers between building zone i and each other building zone j≠ i as a function of the zone temperatures T t and 7} and the coupling coefficient β^ . In other embodiments, heat transfer between zones can be accounted for using the external disturbance estimate Q other, i -

[0257] The low-level optimization can include using the zone disturbance estimates received from zone disturbance predictor 824 to identify appropriate values of the external disturbance Q other, i f° r eacn zone ' at eacn ti me ste P °f the optimization period. In some embodiments, the low-level optimization uses the weather forecasts from weather serace 604 and/or the load and rate predictions provided by load/rate predictor 602 to determine appropriate values for the ambient air temperature T a and/or the external disturbance Q ot her,i for each zone i at each time step of the optimization period. Values of Cf and ¾ can be specified as parameters of the zone i, received from the BMS that manages the building zone i, received from a user, retrieved from memory 808, or otherwise provided to zone temperature modeler 814.

[0258] In some embodiments, the low-level optimization in block 1406 includes generating a model of the total amount of thermal energy delivered to the airside subsystem Q tota i (e.g., the total amount of heating or cooling delivered to the building) as a function of the individual zone loads Q c ; . In some embodiments, the low-level optimization includes modeling the total building load using the following equation: dQ total __ "1 A

~~ ΊΓ - L Qc *

i=i

where Q to tai i ~ S tne tota amount of thermal energy (e.g., heating or cooling) delivered to the airside subsystem and Q c L - is the rate at which thermal energy is being delivered (units of power) of a particular zone i. The building load model can sum the thermal energy loads Q C:i of each buildins zone to calculate the total airside subsystem thermal enerev load ■■ ■■■ ■■ , which is the derivative of the total amount of thermal energy Q to tai delivered to the airside subsystem.

[0259] In some embodiments, the low-level optimization includes generating one or more models that define the thermal energy load Q Cii of each building zone as a function of the zone temperature T t and the zone temperature setpoint T sp i as shown in the following equation:

The models generated by the low-level optimization can be used as optimization constraints to ensure that the thermal energy load Q C/i is not reduced to a value that would cause the zone temperature T t to deviate from an acceptable or comfortable temperature range.

[0260] In some embodiments, the low-level optimization in block 1406 seeks to minimize the total amount of thermal energy Q to t i,N use d by the airside subsystem over the optimization period subject to the zone temperature constraints and other constraints provided by the low-level airside models described herein. For example, the low-level optimization can formulate the low-level optimization problem as: m n Q totalN

X,SJ

subject to the following constraints: - Q c + Q other

dQ total "1 A

dt ~~ L i-i c

nti!t- — ι — T luX

Q otal,k+ i ~~ Qtotal.k , A

^ ≤= Vc.b.k

Qtotal,k+l ~ Qtotal.k≥ ®

where the function / ' is defined according to the following relationship between Q c h T t , and

T.

i,sp

[0261] Still referring to FIG. 14, flow diagram 1400 is shown to inciude using the optimal temperature setpoints to operate HVAC equipment in each of the airside subsystems (block 1408), For example, each low-level airside MPC 612-616 can operate the airside HVAC equipment 622-626 of the corresponding airside subsystem 632-636. Airside equipment 622- 626 can include some or all of the equipment of airside system 50, airside system 130, and/or airside system 300, as described with reference to FIGS. 1 A-1B and FIG. 3. Operating airside equipment 622-626 can include activating or deactivating the equipment, adjusting an operating setpoint, or otherwise controlling the airside equipment.

[0262] Referring now to FIG. 15, a flow diagram 1500 illustrating a model predictive control technique which can be performed by MPC system 600 is shown, according to some embodiments. Flow diagram 1500 is shown to inciude performing a high-level optimization at a high-level model predictive controller (MPC) to generate an optimal temperature profile for each of a plurality of airside subsystems (block 1502). In some embodiments, the high- level optimization is performed by high-level MPC 608, as described with reference to FIGS. 6-7. The high-level optimization can be the same or similar to the high-level optimization described with reference to FIG. 14.

[0263] The high-level optimization in block 1502 can generate an optimal temperature profile f b for each airside subsystem. The optimal temperature profile† b can include a vector of predicted temperature states f b for each low-level airside subsystem 632-636. Each vector of predicted temperature states f can include a predicted building temperature state ,k for each time step k during the optimization period. Temperature states T b k can be predicted using any of a variety of predictive techniques including, for example, a aiman filter as described in U. S. Patent No. 9,235,657.

[0264] Flow diagram 1500 is shown to include providing the optimal airside subsystem temperature profiles f b from the high-level MPC to a plurality of low-level MPCs (block 1504). Each subsystem temperature profiles f b can be sent from high-level MPC 608 to one of low-level airside MPCs 612-616. In some embodiments, each low-level airside MPC i s configured to monitor and control a particular airside subsystem. Each low-level airside MPC can receive the optimal subsystem temperature profile T b for the airside subsystem monitored and controlled by that low-level airside MPC.

[0265] Flow diagram 1500 is shown to include performing a low-level optimization at each of the low-level MFCs to generate optimal temperature setpoints for each of the airside subsystems (block 1506). The low-level optimization in block 1506 can be similar to the low-level optimization in block 1406. However, the low-level optimization in block 1506 can formulate the low-level optimization problem to track the optimal temperatures generated by the high-level optimization in block 1502 rather than minimizing total amount of thermal energy used.

[0266] In some embodiments, the low-level optimization in block 1506 can be formulated as:

subject to the following constraints

dT:

& - Tj) - Q c + Q other

dt i - T a ) - ) β ί ι (Ί\ dQ total

dt

1 = 1

Tmin— T i — ^ max

l.k

where the function f is defined according to the following relationship between Q c i , T L , and T.

( 'l 1 sp,i 1 1

)7] Still referring to FIG. 15, flow diagram 1500 is shown to include using the optimal temperature setpoints to operate HVAC equipment in each of the airside subsystems (block 1508). For example, each low-level airside MPC 612-616 can operate the airside HVAC equipment 622-626 of the corresponding airside subsystem 632-636. Airside equipment 622- 626 can include some or all of the equipment of airside system 50, airside system 130, and/or airside system 300, as described with reference to FIGS. 1A-1B and FIG. 3. Operating airside equipment 622-626 can include activating or deactivating the equipment, adjusting an operating setpoint, or otherwise controlling the airside equipment.

Configuration of Exemplary Embodiments

[0268] The construction and arrangement of the systems and methods as shown in the various exemplar}' embodiments are illustrative only. Although only a few embodiments have been described in detail in this disclosure, many modifications are possible (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations, etc.). For example, the position of elements can be reversed or otherwise varied and the nature or number of discrete elements or positions can be altered or varied. Accordingly, ail such modifi cations are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps can be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions can be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.

[0269] The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure can be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data staictures stored thereon. Such machine-readable media can be any available media that can be accessed by a general puipose or special purpose computer or other machine with a processor. By way of example, such machine- readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions,

[0270] Although the figures show a specific order of method steps, the order of the steps may differ from what is depicted. Also two or more steps can be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. Ail such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps.