Systems and methods for intelligent pic valves with agent interaction

A flow control device is configured to control fluid flow in an HVAC system. The flow control device includes a valve, an actuator configured to open and close the valve, and one or more sensors. The flow control device further includes a fault detection and correction agent configured to receive data from the one or more sensors, analyze the data according to a set of rules, and detect whether one or more faults have occurred. In response to detecting a fault, the fault detection and correction agent is configured to either operate the actuator to open or close the valve or initiate a corrective action to be taken by another device in the HVAC system.

BACKGROUND

The present disclosure relates generally to building management systems. The present disclosure relates more particularly to systems and methods for extending a wireless mesh network of multiple wireless BMS devices to allow for wireless communication from various BMS monitoring devices to one or more BMS controllers.

A building management system (BMS) is, in general, a system of devices configured to control, monitor, and manage equipment in or around a building or building area. A BMS can include a heating, ventilation, and air conditioning (HVAC) system, a security system, a lighting system, a fire alerting system, another system that is capable of managing building functions or devices, or any combination thereof. BMS devices may be installed in any environment (e.g., an indoor area or an outdoor area) and the environment may include any number of buildings, spaces, zones, rooms, or areas. A BMS may include a variety of devices (e.g., HVAC devices, controllers, chillers, fans, sensors, etc.) configured to facilitate monitoring and controlling the building space. Throughout this disclosure, such devices are referred to as BMS devices or building equipment.

HVAC network control applications have moved beyond the arena of comfort to optimization. The value that optimization brings to customers provides additional efficiency in the customer's mechanical systems, which is expected to yield energy savings. One of the barriers to HVAC upgrades by a customer may be the upfront capital requirements having long lead time for the return on investment. This can lead to deferral of upgrades until mechanical equipment failure occurs. However, new software development techniques can enable optimization with lower upfront costs, by eliminating hardware complexity and relying upon a network of simple devices to accomplish the same level of optimization as more complex hardware devices.

SUMMARY

One implementation of the present disclosure is a flow control device configured to control fluid flow in an HVAC system. The flow control device includes a valve, an actuator configured to open and close the valve, and one or more sensors. The flow control device further includes a fault detection and correction agent configured to receive data from the one or more sensors, analyze the data from the one or more sensors according to a set of rules, and detect whether one or more faults have occurred. In response to detecting a fault, the fault detection and correction agent is configured to determine whether the fault can be corrected by opening or closing the valve. In response to determining the fault can be corrected by opening or closing the valve, the fault detection and correction agent is configured to correct the fault by operating the actuator to open or close the valve. In response to determining the fault cannot be corrected by opening or closing the valve, the fault detection and correction agent is configured to initiate a corrective action to be taken by another device in the HVAC system.

Another implementation of the present disclosure is a flow control system configured to control fluid flow in an HVAC system. The flow control system includes a first flow control device comprising a first valve, one or more sensors, and a first actuator configured to open and close the first valve. The flow control system further includes a second flow control device comprising a second valve, one or more sensors, and a second actuator configured to open and close the second valve. The flow control system further includes an optimization agent configured to receive data from the one or more sensors of the first flow control device and the second flow control device. The optimization agent is further configured to determine an optimal position of the first valve and the second valve using the data from the first flow control device and the second flow control device.

Another implementation of the present disclosure is a flow control system configured to control fluid flow in an HVAC system. The flow control system includes a plurality of flow control devices each comprising a valve, one or more sensors, and an actuator configured to open and close the valve. The flow control system further includes a learning agent configured to receive and use data from the one or more sensors to generate a model for each flow control device using a system identification process. The learning agent operates the actuator of each flow control device according to the generated model.

DETAILED DESCRIPTION

Referring generally to the FIGURES, systems and methods related to an agent based flow control system are shown, according to various embodiments. An HVAC system can include equipment such as chillers, boilers, pumps, and valves used to circulated heated and chilled fluid through piping. An intelligent flow control device includes a valve, one or more sensors, and an actuator configured to open and close the valve. The actuator is dynamically controlled by one or more software agents. A fault detection and correction agent can be configured to diagnose and correct faults in the flow control system. An optimization agent can be configured to determine optimal valve positions throughout the system. A learning agent can be configured to generate and train a model of the system that can be used to operate intelligent flow control devices and other equipment in the system. Agent based control applied to pressure independent control valves provides dynamic control functionality and improved system performance.

Building Management System and HVAC System

Referring now toFIG. 2, a block diagram of a waterside system200is shown, according to one embodiment. In various embodiments, waterside system200may supplement or replace waterside system120in HVAC system100or may be implemented separate from HVAC system100. When implemented in HVAC system100, waterside system200may include a subset of the HVAC devices in HVAC system100(e.g., boiler104, chiller102, pumps, valves, etc.) and may operate to supply a heated or chilled fluid to AHU106. The HVAC devices of waterside system200may be located within building10(e.g., as components of waterside system120) or at an offsite location such as a central plant.

InFIG. 2, waterside system200is shown as a central plant having a plurality of subplants202-212. Subplants202-212are shown to include a heater subplant202, a heat recovery chiller subplant204, a chiller subplant206, a cooling tower subplant208, a hot thermal energy storage (TES) subplant210, and a cold thermal energy storage (TES) subplant212. Subplants202-212consume 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 subplant202may be configured to heat water in a hot water loop214that circulates the hot water between heater subplant202and building10. Chiller subplant206may be configured to chill water in a cold water loop216that circulates the cold water between the chiller subplant206and the building10. Heat recovery chiller subplant204may be configured to transfer heat from cold water loop216to hot water loop214to provide additional heating for the hot water and additional cooling for the cold water. Condenser water loop218may absorb heat from the cold water in chiller subplant206and reject the absorbed heat in cooling tower subplant208or transfer the absorbed heat to hot water loop214. Hot TES subplant210and cold TES subplant212may store hot and cold thermal energy, respectively, for subsequent use.

Although subplants202-212are 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, CO2, etc.) may be used in place of or in addition to water to serve the thermal energy loads. In other embodiments, subplants202-212may provide heating and/or cooling directly to the building or campus without requiring an intermediate heat transfer fluid. These and other variations to waterside system200are within the teachings of the present invention.

Each of dampers316-320may be operated by an actuator. For example, exhaust air damper316may be operated by actuator324, mixing damper318may be operated by actuator326, and outside air damper320may be operated by actuator328. Actuators324-328may communicate with an AHU controller330via a communications link332. Actuators324-328may receive control signals from AHU controller330and may provide feedback signals to AHU controller330. Feedback signals may 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 actuators324-328), status information, commissioning information, configuration settings, calibration data, and/or other types of information or data that may be collected, stored, or used by actuators324-328. AHU controller330may 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) algorithms, feedback control algorithms, etc.) to control actuators324-328.

Cooling coil334may receive a chilled fluid from waterside system200(e.g., from cold water loop216) via piping342and may return the chilled fluid to waterside system200via piping344. Valve346may be positioned along piping342or piping344to control a flow rate of the chilled fluid through cooling coil334. In some embodiments, cooling coil334includes multiple stages of cooling coils that can be independently activated and deactivated (e.g., by AHU controller330, by BMS controller366, etc.) to modulate an amount of cooling applied to supply air310.

Each of valves346and352may be controlled by an actuator. For example, valve346may be controlled by actuator354and valve352may be controlled by actuator356. Actuators354-356may communicate with AHU controller330via communications links358-360. Actuators354-356may receive control signals from AHU controller330and may provide feedback signals to controller330. In some embodiments, AHU controller330receives a measurement of the supply air temperature from a temperature sensor362positioned in supply air duct312(e.g., downstream of cooling coil334and/or heating coil336). AHU controller330may also receive a measurement of the temperature of building zone306from a temperature sensor364located in building zone306.

Client device368may 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 system100, its subsystems, and/or devices. Client device368may be a computer workstation, a client terminal, a remote or local interface, or any other type of user interface device. Client device368may be a stationary terminal or a mobile device. For example, client device368may 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 device368may communicate with BMS controller366and/or AHU controller330via communications link372.

Each of building subsystems428may include any number of devices, controllers, and connections for completing its individual functions and control activities. HVAC subsystem440may include many of the same components as HVAC system100, as described with reference toFIGS. 1-3. For example, HVAC subsystem440may 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 building10. Lighting subsystem442may include any number of light fixtures, ballasts, lighting sensors, dimmers, or other devices configured to controllably adjust the amount of light provided to a building space. Security subsystem438may 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.

Still referring toFIG. 4, BMS controller366is shown to include a communications interface407and a BMS interface409. Interface407may facilitate communications between BMS controller366and external applications (e.g., monitoring and reporting applications422, enterprise control applications426, remote systems and applications444, applications residing on client devices448, etc.) for allowing user control, monitoring, and adjustment to BMS controller366and/or subsystems428. Interface407may also facilitate communications between BMS controller366and client devices448. BMS interface409may facilitate communications between BMS controller366and building subsystems428(e.g., HVAC, lighting security, lifts, power distribution, business, etc.).

Memory408(e.g., memory, memory unit, storage device, etc.) may 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. Memory408may be or include volatile memory or non-volatile memory. Memory408may 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 exemplary embodiment, memory408is communicably connected to processor406via processing circuit404and includes computer code for executing (e.g., by processing circuit404and/or processor406) one or more processes described herein.

In some embodiments, BMS controller366is implemented within a single computer (e.g., one server, one housing, etc.). In various other embodiments BMS controller366may be distributed across multiple servers or computers (e.g., that can exist in distributed locations). Further, whileFIG. 4shows applications422and426as existing outside of BMS controller366, in some embodiments, applications422and426may be hosted within BMS controller366(e.g., within memory408).

Enterprise integration layer410may be configured to serve clients or local applications with information and services to support a variety of enterprise-level applications. For example, enterprise control applications426may 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 applications426may also or alternatively be configured to provide configuration GUIs for configuring BMS controller366. In yet other embodiments, enterprise control applications426can work with layers410-420to optimize building performance (e.g., efficiency, energy use, comfort, or safety) based on inputs received at interface407and/or BMS interface409.

Building subsystem integration layer420may be configured to manage communications between BMS controller366and building subsystems428. For example, building subsystem integration layer420may receive sensor data and input signals from building subsystems428and provide output data and control signals to building subsystems428. Building subsystem integration layer420may also be configured to manage communications between building subsystems428. Building subsystem integration layer420translate communications (e.g., sensor data, input signals, output signals, etc.) across a plurality of multi-vendor/multi-protocol systems.

Demand response layer414may further include or draw upon one or more demand response policy definitions (e.g., databases, XML files, etc.). The policy definitions may 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 may 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 may 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.).

Adaptive Agent Based Control System

Referring now toFIG. 5, a block diagram illustrating an adaptive agent based control system500is shown, according to one embodiment. The system500may be any of the BMS systems described above. Further, the system500may be a peer-to-peer (P2P) network, such as a Verisys system from Johnson Controls. The system500may include a controller502. The controller502may be a dedicated controller within a BMS. In one embodiment, the controller502is a cloud based server (i.e. an internet based server). For example, the controller502may be physically located in one or more server farms and accessible via an internet connection. In some examples, the controller may be a standalone device in a peer-to-peer (P2P) network, such as a Verisys system from Johnson Controls. The controller502may include a processing circuit504including an adaptive interaction manager506. The processing circuit504may include a processor508and a memory510. The processor508may 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. The processor508is configured to execute computer code or instructions stored in the memory510or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

The memory510may 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. The memory510may 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. The memory510may 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. The memory510may be communicably connected to the processor508via the processing circuit504and may include computer code for executing (e.g., by the processor508) one or more processes described herein. When the processor508executes instructions stored in the memory510, the processor508generally configures the processing circuit504to complete such activities.

The memory510may include the adaptive interaction manager506, a learning engine512and an agent manager514. The learning engine512may be used to generate and access historical information, user feedback information, etc. In one embodiment, the learning engine512may access a database516via the processing circuit504. The database516may include data relating to one or more BMS's, such as building layouts, system schematics, device information, control schemes, environmental ratings, historical data, etc. In one embodiment, the database516includes contextual information. The contextual information may include dictionaries, historical data, scripts, and/or other data for interpreting contextual information. The database516may further include a knowledgebase, which may include previous commands, user responses, generated outputs, device information, agent specific learning, etc. The database516may further include one or more inferences. The inferences may include contextual inferences, historical inferences, etc. In some embodiments, the learning engine512may provide the inferences to the database516. The learning engine512may further update the inferences, as well as other data, of the database516over time. The learning engine512may further access data within the database516to aid in the generation of agents, as will be discussed below. The database516may further include one or more universal truths associated with the system500. In one embodiment, the universal truths may be associated with one or more BMS controllers or devices within the system500. In one embodiment, the universal truths may be arranged in a universal truth table, which may be populated with universal truths for a given system, such as system500. Example universal truths may include a defined communication schemes between BMS devices and/or controllers.

The agent manager514is further shown to include an agent scheduler520and an agent generator522. In some embodiments, the agent scheduler520maintains a record of all agents previously generated and active within the system500. Further the agent scheduler520may also maintain real time data relating to which agents are currently active, and which agents are not currently active. The agent scheduler may further maintain real time data relating to which device within the system500a particular agent is currently associated with. For example, as shown inFIG. 5, agent ‘A’524is associated with a BMS controller526within a BMS525of the system500. The BMS525can be any combination of BMS devices as described above in regards toFIGS. 1-4. Further, the BMS525can be understood to be a residential system, such as a home controller. The BMS controller526may be any BMS controller, as described above in regards toFIGS. 1-4. Alternatively, the BMS controller526may be a dedicated BMS interface device, such as an Athens Smart Hub device from Johnson Controls. The agent scheduler520may therefore maintain a record of the agent ‘A’524being associated with the BMS controller526, as well as the current status of the agent ‘A’524.

The agent generator522may generate a number of agents, such as agent ‘A’524, for use in the system500. The agents, as described herein, may be software applications that can run automated tasks (scripts). For example, the agents may be software applications that can read and/or write data to one or more devices of the system. In one embodiment, the agents may be able to generate their own software, and inject the software into one or more device it is associated with. The agents may further be capable of communicating with other agents, as will be described in more detail below, along with a more detailed description of the agents generally. The agent generator522may generate an agent based on information received from the adaptive interaction manager506. In some embodiment, the agents are generated to perform a defined task. In other embodiments, the agents are generated to perform a defined set of tasks. In still further embodiments, the agents are generated having a desired goal, and allowed to determine how to meet the desired goal. In some examples, a generalized framework can be provided to a generated agent to provide constraints as to how the goal may be achieved. In further embodiments, the agent generator522may modify an existing agent. For example, the agent generator522may modify an existing agent to provide more functionality. In other examples, the agent generator522may update the agent with additional information related to the device the agent is associated with, such as a new firmware (“FW”) update, or additional hardware (e.g. a new I/O board for a controller).

The agent generator522may communicate the generated agents to the BMS525via a BMS interface528. The BMS interface528may be a serial interface, such as RS-232 or RS-485. In one embodiment, the BMS interface528is a universal asynchronous receiver/transmitter (“UART”). In other examples, the BMS interface528may be a wireless interface such as cellular, Wi-Fi, Zigbee, Bluetooth, RF, LoRa, etc. Additionally, the BMS interface528may include other wired interfaces such as USB, Firewire, Lightning Connectors, CAT5 (wired internet), etc. The agent generator522may further communicate the generated agents to the system500via an adaptive interaction manager interface530. The adaptive interaction manager interface506may allow the agent generator522, as well as the processing circuit504in general, to communicate with the adaptive interaction manager506via a corresponding processing circuit interface532. Similar to above, the adaptive interaction manager interface530may be a serial interface, such as RS-232 or RS-485. In one embodiment, the adaptive interaction manager interface530is a UART interface. In still other examples, the adaptive interaction manager interface530may be a wireless interface such as cellular, Wi-Fi, Zigbee, Bluetooth, RF, LoRa, etc. Additionally, the adaptive interaction manager interface530may include other wired interfaces such as USB, Firewire, Lightning Connectors, CAT5 (wired internet), etc.

In some embodiments, the adaptive interaction manager506provides communication between one or more I/O devices534, one or more cloud-based applications518, the processing circuit504and one or more devices, such as the BMS controller526. The adaptive interaction manager506is shown in include a user interface536for communicating with the one or more I/O devices534. In one embodiment, the user interface536may be a wireless interface such as cellular (3G, 4G, LTE, CDMA, etc.), Wi-Fi, Zigbee, Bluetooth, RF, LoRa, etc. Additionally, the user interface536may include other wired interfaces such as USB, Firewire, Lightning Connectors, CAT5 (wired internet), UART, serial (RS-232, RS-485), etc. The I/O devices534may be any device capable of communicating to the adaptive interaction manager506, as well as providing a device for a user538to interface with the system500. Example I/O devices534may include personal computing devices such as smart phones (iPhone, Android phone, Windows phone), tablet computers (iPad, Android Tablet, Windows Surface, etc.), laptop computers, and/or desktop computers. Example I/O devices may further include a stand-alone device such as an Amazon Echo, or even a non-mobile device such as a voice capable thermostat, or other dedicated I/O devices.

The adaptive interaction manager506may communicate with the cloud-based applications518via a network interface540. The network interface540may be an internet based interface, such as Wi-Fi, CAT5, cellular (3G, 4G, LTE, CDMA, etc.), etc. However, other interfaces, such as Zigbee, Bluetooth, RF, LoRa, etc., are also considered. In one embodiment, the adaptive interaction manager506may communicate with the cloud-based applications518via one or more APIs542. In one embodiment, the APIs542are proprietary APIs for interfacing the adaptive interaction manager506with the cloud based applications518. In one example, the APIs542can be web hosted APIs provided by a third party provider, such as Amazon Cloud Services, Google, Apple, Microsoft, etc. In some embodiments, the APIs542interface with a proprietary voice recognition application, such as a voice recognition application from Johnson Controls. In other examples, the APIs542can interface with gesture recognition APIs, such as those from Johnson Controls. Further examples of possible APIs542can include enterprise resource planning (ERP), or other enterprise management software APIs for interfacing with a company or facility enterprise system (e.g. SAP). Other possible APIs542may include e-mail and/or calendaring interface APIs, for interfacing with an e-mail/calendaring system such as Microsoft Outlook, Apple Mail, Google Gmail, Lotus Notes, etc.

In one embodiment, the APIs542interface with the cloud-based applications518. The cloud based applications518may be supplied by third parties. For example, the cloud based applications518may include voice to text applications, such as Amazon Voice Services, Google Voice, Apple's Siri, or Microsoft's Cortana. The cloud based applications518may further include gesture recognition applications such as those used by Microsoft Kinect. Further, other cloud based applications518can include personal assistant applications such as Apple's Siri, and Microsoft's Cortana. By utilizing one or more cloud based applications on a remote server, the system500can leverage more sophisticated and powerful contextual data processing technology than would be applicable to install on an individual server, system, or device. For example, cloud based voice recognition applications can provide as high as 95% natural voice recognition accuracy. In other embodiments, the cloud-based applications518may include a natural language processor519. The natural language processor519may be a voice to text application, such as those described above. In other embodiments, the natural language processor519may be used to processes natural language text into computer executable commands. For example, the natural language processor519may be able to analyze text provided to the system500, such as via e-mail or text message, and process the natural language text into a format readable by the controller502. While the natural language processor519is shown as part of the cloud-based applications518, it is considered that the natural language processor519may be separate from the cloud based applications518, and communicate directly with the adaptive interaction manager506. In further embodiments, the natural language processor519may be integrated into the controller502.

The adaptive interaction manager506may further be in communication with one or more systems or devices associated with a facility or building. As shown inFIG. 5, example systems and devices can include a BMS controller526. The adaptive interaction manager506may communicate with the system via a system interface544. The system interface544may be a serial interface, such as RS-232 or RS-485. In one embodiment, the system interface544is a UART interface. In still other examples, the system interface544may be a wireless interface such as cellular, Wi-Fi, Zigbee, Bluetooth, RF, LoRa, etc. Additionally, the system interface544may include other wired interfaces such as USB, Firewire, Lightning Connectors, CAT5 (wired internet), etc. WhileFIG. 5shows the adaptive interaction manager506communicating with a BMS controller526of the system500, the adaptive interaction manager506may communicate with communicate with any device associated with the BMS525. For example, the adaptive interaction manager506may be able to interface with the BMS controller526, one or more intermediate devices546, and/or one or more local device548. Example intermediate devices may include device controllers, sub-system controllers, RTU's, AHU's, etc. Example local devices may include thermostats, valves, switches, actuators, etc. In one embodiment, system interface544may communicate with the BMS525via a network connection, such as a BACnet network connection. However, other networks, such as Ethernet, Local Area Network, etc., are also considered.

The adaptive interaction manager506may further interact with other systems associated with the BMS525. Example system may include an e-mail calendaring server550, a security system552, etc. Via the BMS525, the e-mail calendaring server550, the security system552, and/or other systems may all provide data to the adaptive interaction manager506, which can process the information, as will be described in more detail below. In one embodiment, the e-mail calendaring server550, the security system552, and/or other systems may provide contextual data to the adaptive interaction manager506. In one embodiment, the adaptive interaction manager506, via the system interface544, communicates with the one or more systems or devices using one or more network connections. For example, the network connections may include a wired connection to the internet. However, other network connections are contemplated such as wireless connections such as cellular, Wi-Fi, Zigbee, Bluetooth, RF, LoRa, etc. Additionally, other network connections such as serial connections (RS-485, RS-232, USB), or other connections such as Firewire, Lightning Connectors, etc. may be used.

The e-mail/calendaring server550may be a third party e-mail/calendaring server, such as a Microsoft Exchange server. In one embodiment, the e-mail/calendaring server550processes the calendars and schedules for the employees of a facility, as well as for physical areas of the facility. For example, the e-mail/calendaring server550may processes scheduling for conference/meeting rooms, as well as certain technology such as projectors, video conference equipment, etc. In one embodiment, the e-mail/calendaring server550provides information such as schedules to the adaptive interaction manager506. Further, the e-mail/calendaring server550may allow access to e-mails by one or more cloud-based application518such as the personal assistant applications described above. The personal assistant applications may be able to extract contextual information from the data provided by the e-mail/calendaring server550and provide the contextual information to the adaptive interaction manager506via an API542.

The security system552may include multiple elements associated with a facility or building security system. For example, the security system552can include multiple devices such as cameras, microphones, motion detectors, thermal sensors, access devices (RFID locks, biometric locks, etc.), entry logs, etc. In one embodiment, the security system552provides data to the adaptive interaction manager506. The data may include occupancy data provided by the motion detectors and/or thermal sensors. Further, the data may include video and/or digital images provided by the cameras. In one embodiment, the digital images may be provided to the cloud-based application518for processing via the adaptive interaction manager506. For example, the cloud-based application518may be a gesture recognition application, such as Microsoft Kinect.

Turning now toFIG. 6, a block diagram of a generated agent600is shown, according to some embodiments. The agent600may include a number of attributes602, an analytic module604, a troubleshooting knowledgebase interface606, an identifier module608, a system data module610, an attributes/data field module612, and an action module614. The agent600may further include an external interface616and an agent manager interface618. The attributes602may be a number of connections and/or functions available to the agent600. As shown inFIG. 6, the agent600may include a general attribute620, a building automation systems (BAS) attribute622, a time series data attribute624, a command and control engine attribute626, an energy manager attribute628, an ontology attribute630, a user info/profile attribute632, and a constraints attribute634. The attributes602may be used, in conjunction with the other elements of the agent600described above, by the agents to perform their designated operations. For example, the attributes602can include rules, permissions, historical data, etc. which can be used to perform designated tasks by the agent600. In one example the attributes602are located within the agent600. In one embodiment, the attributes602simply provide for data access to the information associated with the attributes602. The information associated with the attributes602may be gathered and provided by a central processing server, such as those described above.

The general attribute620may include information such as schedules (i.e. operating schedules, PM schedules, occupancy schedules, etc.), environmental conditions (e.g. temperature, humidity, weather, etc.) time, date, or other relevant general information. In one embodiment, the general attributes620are connected to external sensors, services, or databases. In one embodiment, the general attributes620may be provided by a controller, such as controller502described above. The controller502may have access to various services which can provided the general attributes620to the agent600. Alternatively, the agent600may have access to the same sensors and services that the controller502may have. For example, the agent600may be able to access weather information by communicating with one or more environmental sensors in a BMS. In other examples, the agent600may have access to the internet and can access weather information from known weather websites relevant to the location of the BMS, (e.g. Yahoo Weather, Weatherbug, etc.). Alternatively, BMS influencers such as weather, and access to the internet of other cloud-based applications may be provided by the adaptive interaction manager506, as described above.

The BAS attributes622may include or have access to general building information such as layouts. The BAS attributes622may further include or have access to information relating a BMS associated with the building, including control schemes, device information, etc. Further, the BAS attribute622may have access to scheduling information relating to certain assets for the building. For example, the BAS attribute622may have access to schedules for one or more conference rooms associated with the building. Additional schedules, such as building occupancy schedules may also be accessed by the BAS attributes622. The time series data attribute624may provide access to long term data records related to multiple functions associated with a building. In one embodiment, the time series data may be stored on a database, such as database516above, and accessed by the time series data attribute624. The time series data attribute624may be accessed by a training module or a task-conditioning module, such as those described above, to allow the agent600to make decisions based on long term historical data. The command and control engine attribute626may include the necessary data, including permissions, to allow the agent600to perform control actions in addition to only monitoring actions.

The energy manager attribute628may include an enterprise optimization system (EOS). The EOS may allow for direct communication with a utility provider such as a water company, a power company, water treatment plant, etc. to allow the agent600to determine parameters such as utility rates, peak demand times, potential brown outs, etc. The energy manager attribute628may further allow for communication with distributed energy storage (DES) systems. The connections associated with the energy manager attribute628allow the agent600to manage energy usage for a facility, building, or even an individual room within a building. The ontology attribute630may provide a hierarchical listing of all the items within a given facility or building. Items may include one or more BMS devices (controllers, HVAC equipment, AHUs, VAVs, etc.), lighting, A/V resources, rooms, utilities, etc. In one embodiment, the ontology attribute630provides spatial locations and configurations of BMS devices within a building or facility. The ontology attribute630may further provide attributes between one or more BMS devices and an area of the building or facility. For example, the ontology attribute630may provide information such as “damper BX1F affects area XYZ of building Q.” In one embodiment, the ontology attribute630may have access to the database516, which may contain ontology data relating to a BMS, such as BMS525.

The connection user info/profile attribute632may include permissions associated with individual users. The connection user info/profile attribute632may further include other information about the user, such as workspace location, work schedule, direct reports, supervisor, listed skills, maintenance responsibilities, etc. The above attributes examples are exemplary only, and it is contemplated that more attributes or fewer attributes may be used in the agent600, as required. Finally, the constraints attribute634may include constraints applied to the agent. In one embodiment, the constraints can be implemented by the agent generator522during generation of the agent600. In some embodiments, the constraints are system based. For example, the constraint attributes634may include BMS related constraints such as fault tolerances, communication capabilities, etc. Example communication capability restrictions may include constraints based on system communication types (mesh, P2P, hierarchical, etc.). Further communication capability constraints may include baud rates, latency, bandwidth, etc. The constraint attributes634may further include information system constrains such as system storage capacity, system and/or device processing capability, timing and synchronization of data to the system, etc.

The analytic module604may be a computational module capable of analyzing data received via the agent manager interface618, or from the system via the external interface616. WhileFIG. 6shows only a single analytic module604, it is contemplated that multiple analytic modules604may be located within a single agent600. In some embodiments, an analytic module604can be created for each type of data received by the agent600. In other embodiments, an analytic module604may be created for each function or analysis function assigned to the agent. In some embodiments, the agent600may generate analytic modules604dynamically to better analyze data, or perform functions based on dynamically changing inputs. For example, the agent may detect a fault or other abnormal data pertaining to a BMS device. The agent600may then create an new analytic module604to receive the data and provide additional analysis.

The troubleshooting knowledgebase606may provide a connection to a troubleshooting knowledgebase stored on a database, such as database516. The troubleshooting knowledgebase interface606may allow the agent600to access data and information provided over time by multiple agents, as well as by user such as service personnel, administrators, smart devices, etc. For example, the agent600may access one or more knowledgebases via the troubleshooting knowledgebase interface606to obtain historical data regarding maintenance for a given device or system. The troubleshooting knowledgebase interface606may therefore provide agents with historical maintenance data as well as previous solutions presented by the problems. In one embodiment, the agent600may use one or more analytic modules604to analyze data received by troubleshooting knowledgebase interface606to help provide more helpful information to a user. For example, the agent600may perform a statistical analysis on the historical data received via the troubleshooting knowledgebase interface606, such as a Monte Carlo analysis. This may be used to provide probabilities regarding possible problems and solutions with a given BMS device or system. The troubleshooting knowledgebase interface606may allow the agent600to analyze the historical data to perform problem categorization. Problem categorization may allow the agent600to analyze similar historical problems similar to the current problem and provide data and/or suggestions to a user.

In some embodiments, multiple agents may be used in parallel to perform certain actions. For example, multiple agents may be used to address a problem by generating a hypothesis, and then subsequently testing the hypothesis. By using multiple agents, the workload can be spread out among multiple systems to allow for quicker analysis of data. In some examples, the parallel Agents can use a divide and conquer technique to perform complex tasks more efficiently. For example, multiple Agents can be generated to address a potentially faulty device. In one example, the Agents are generated only as needed. Furthermore, the parallel agents can communicate with each other to build upon the information gathered/learned by an individual agent, thereby allowing for more effective performance by the parallel agents as a whole.

The identifier module608may include identification data related to the generated agent600. In one embodiment, the identifier module608can include a name and/or an address for the agent600within the system. In some embodiments, the agent600can generate its own address to allow for integration into an ad hoc network. In some embodiments, the identifier module608may include other identification data of the agent600, such as assigned functionality, associated devices, communication protocol, size (e.g. kb, Mb, etc.), etc. In some embodiments, the data contained within the identifier module608may allow other agents in the system500to identify each other. This can be advantageous where multiple agents are present in a system, and or parallel agent architectures are implemented.

The system data module610may include information regarding the devices in the system500. Further, the system data module610may include information such as communication protocols used between devices, the communication architecture (mesh, P2P, hierarchical), available communication ports, etc. The system data module610may further provide communication data such as required handshaking for communication between devices, and or in-kind communications. The system data may further include information relating to other active agents.

The attributes/data fields module612may include attributes of the agent600. In some embodiments, the attributes can be those attributes provided by the agent generator522during the generation of the agent600. In other embodiments, the attributes can be learned attributes. In some embodiments, the agent600can be configured to learn attributes over time. Example learned attributes may include report formats, data values, etc. The attributes/data fields module612may further include values received via the external interface616from the system, or via the agent manager interface618. In some embodiments, the values are sensed values, such as those provided by various sensing devices within a system. For example, voltage sensors, current sensors, temperature sensors, pressure sensors, etc., may all provide sensed values to the agent600. The values may also be inferred values. In one example, the analytic module604may analyze one or more measured values provided by the attributes/data fields module612and infer one or more values associated with the measured values, and store the inferred value in the attributes/data fields module612. For example, the analytic module604may receive a measured current flow value (Amps) associated with a coil of an actuator from the attributes/data fields module612. The analytic module604may then infer a temperature of the actuator, and provide that inferred data to the attributes/data fields module612.

Finally, the agent may include an action module614. The action module614may generate outputs that can be output via the external interface616and/or the agent manager interface618. For example, the action module614may output a changed setpoint to a device in the BMS via the external interface616. In one embodiment, the action module614may change the setpoint based on data provided by the analytic module604, the troubleshooting knowledgebase interface606and/or one or more of the attributes602. In other embodiments, the action module may output data to a user via the agent manager interface618. For example, the action module614may generate a report to be provided to a user, which can be communicated to the adaptive interaction manager506via the agent manager interface618. The adaptive interaction manager506may then output the report to a user via one or more of the I/O devices534. In one embodiment, the agent manager interface618may provide direct communication to the agent manager514. In other embodiments, the agent manager interface618may communicate with the agent manager514via a communication link to the adaptive interaction manager506. The above modules and attributes shown within agent600are exemplary only, and it is considered that more modules/attributes and/or less modules/attributes may be present in an agent.

Intelligent PIC Valves with Agent Interaction

Smart buildings are buildings that are able to intelligently manage an indoor environment of the building to optimize the environment for occupant comfort, safety, security, productivity and energy efficiency. Control strategies implemented during the design and commissioning phases are usually designed to meet comfort and efficiency outcomes. The comfort and efficiency outcomes are generally established based on a set of assumed parameters regarding the usage of the building, equipment configurations, building codes, stated preferences, and the like. The goal of maintaining and achieving comfort and efficiency outcomes may be continuously challenged due to the certain parameters. The parameters may include: unplanned and variable occupancy and usage of the space; interdependencies of control sub-systems within the building and across a set of buildings depending on configuration of the chiller plant, optimization technologies, equipment settings and integrated auxiliary systems; and manual interventions in case of alarms, equipment replacement, service, and occupant request which could affect initial configurations.

Generally, to achieve the above described optimizations, consultants specializing in optimizations were used during installation to optimize the various systems. These consultants may have used hardware driven tools to configure the system and relied on terminal points when optimizing the system. Further, continuous commissioning processes utilizing data-driven analytics and ongoing performance monitoring of inputs may be used to drive configuration changes and thereby to drive up efficiency. The continuous commissioning process may have an emphasis on energy and operational savings.

The above solutions, while workable, require high levels of competency and experience in a facility management team in order to provide effective returns. This may be especially true in that the above solutions generally have high up-front costs. For HVAC product and service companies, this may be a viable business model, but far too costly to operate due to intensive high-cost manual investments for creating smart analytics, diagnostic rulesets and prove out benefits using tons of historical data. Additionally, the challenge in applying optimization routines to legacy building and legacy equipment continues to be a gap in what the HVAC industry can offer and prevents these buildings from achieving the level of efficiency and environmental impact.

The solution for the above listed challenges may generally need to operate based on the following assumptions: 1. The solution works with simple low cost hardware alternatives in the space of valves, actuators, controllers and large equipment (chillers, AHU, fan coils, etc.); 2. The solution works with simple low cost software routines that can be physically deployed to an edge device, controller, or cloud based routine depending on cost and fitment to current architecture; 3. The solution can be deployed on legacy buildings and building systems; 4. The solution does not require manual intelligence and intervention to adapt to changing systemic condition, occupancy/usage conditions or weather conditions; 5. The solution is able to exist in an ecosystem of connected and co-dependent sub systems and smart technologies; and 6. The solution is able to scale from small spaces to large building and further to smart campus and district level controls implementation.

In one embodiment, the solution may be based on using artificial intelligence using agent based technologies. The use of agent based technologies in a smart building or HVAC system is described in U.S. patent application Ser. No. 15/367,167, “Systems and Methods for Agent Interaction with Building Management System,” filed Dec. 1, 2016, and is herein incorporated by reference in its entirety. Generally, an agent is a self-contained program capable of controlling its own decision making and actions. The agent may base its decisions and actions based on a perception of the environment, or in pursuit of one or more objectives. Key characteristics of software agents that are of interest and applicability are as follows: Autonomy—the ability to function largely independent of human interference; social ability—ability to interact intelligently and constructively with other agents and/or humans; responsiveness—ability to perceive the environment and respond in a timely fashion to events occurring in the environment; and pro-activeness—an ability to take initiative whenever the situation demands.

The above characteristics may be combined with self-learning technologies, adaptive interactions, and integration with critical human-machine interface (HMI) touch points, a multi-agent system may be an ideal solution for creating a smart, self-adapting, continuously optimizing system that can be deployed at scale. A conditioned water flow system may include an electronic pressure independent valve (NV). The PIV control valve is used to provide a specific flow of water to a coil used in HVAC equipment in order to condition air. The advantage of pressure independent control valves is that they simplify the design process for HVAC control system engineers because they provide a predictable flow of water in pipes. The drawback of a pressure independent control valve is that the additional mechanical complexity required to regulate flow increases the cost of the valve when compared to traditional ball or globe valves. However, traditional ball and globe valves increase the complexity of designing a water loop for HVAC equipment because a pressure drop occurs across each valve and changes the amount of water flowing in the pipe. Designing systems that compensate for the pressure drop across each valve forces HVAC control system engineers to select each valve based on the size of the pipe and with the necessary flow characteristics to meet system requirements. Traditional valves can also require the installation of additional balancing valves throughout a water loop to manage the water flow rates. On top of these system design challenges, buildings do not typically operate within the specific design conditions. Once the valve is installed, the pressure drop characteristics cannot be adjusted with the dynamic building environment. This can result in occupants experiencing decreased comfort levels when traditional valves are chosen over pressure independent valves.

Turning now toFIG. 7, an improved system700is shown, according to some embodiments. InFIG. 7, an actuator702in communication with a valve is shown. The actuator702may include a processing circuit704. The processing circuit704may include a processor and a memory. The processor may 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. The processor may be configured to execute computer code or instructions stored in memory or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

The memory may 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. The memory may 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. The memory may 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. The memory may be communicably connected to the processor and may include computer code for executing (e.g. by processor) one or more processes described herein.

The processing circuit704may include an integrated software agent706. The agent can be used to accomplish the same tasks as the PIV described above, but with reduced mechanical complexity. The agent706may use data from a temperature sensor in the valve body to approximate water flow for controlling the flow of water through the valve by adjusting the position of the actuator. Further, the use of an intelligent agent, such as agent706, in combination with the actuator can remove the need for additional flow sensors to be installed, which are generally required for a PIV valve to operate correctly. Instead, the agent706may monitor a heated thermistor or other temperature sensing device in the valve body, and can subsequently approximate a flow in the valve using advanced mathematics. This flow calculation by the agent706can remove the need for additional flow sensors in the system, for example. Additional sensors may also be included in this configuration.

Turning now toFIGS. 8-10, three example systems800,900, and1000in which an intelligent flow control device can be implemented are shown, according to some embodiments. The intelligent flow control device is configured to control fluid flow in HVAC system100and includes a valve, one or more sensors, and an actuator configured to open and close the valve. In some embodiments, the flow control device is the device shown inFIG. 7(i.e., actuator702, processing circuit704, agent706, and valve). Flow control systems800,900, and1000can provide efficient and effective fluid flow control in system100. For example, various software agents such as a fault detection and correction agent, a learning agent, and an optimization agent can be configured to dynamically adjust various system parameters. Each of the agents described below are analogous to agent600described above. Systems800,900, and1000are meant to be exemplary and it should be noted that different configurations as well as more complex systems are contemplated within the scope of the present disclosure.

Turning now toFIG. 8, an example flow control system800is shown, according to some embodiments. System800is shown to include a chiller802and a pump812. Chiller802may be analogous to chiller102and pump812may be analogous to pumps234and236, for example. Chiller802is configured to produce chilled fluid and pump812is configured to circulate the chilled fluid to a cooling coil832. The chilled fluid is circulated through piping (e.g., piping108) and passes through two flow control devices822and824before arriving at cooling coil832. Cooling coil832may be located in an air handler (e.g., AHU106), for example, and is involved in a heat exchange process similar to cooling coil334described above. Flow control devices822and824operate in series in order to provide chilled fluid to cooling coil832. Devices822and824each include a valve, one or more sensors (e.g., thermistor embedded in valve), and an actuator configured to open and close the valve. The actuators may include a processing circuit comprising a software agent configured to receive data from the one or more sensors and generate control signals (e.g., “effectors”) used to operate the valve.

System800is also shown to include a controller840including a communications interface842. Controller840, for example, may be any of controllers330,336,502, or526described above. Controller840may also be a separate controller configured to interact with at least the equipment shown as part of system800. Communications interface842can be configured to facilitate wireless and/or wired communication with chiller802, pump812, flow control devices822and824, and/or cooling coil832. Controller840is also shown to include a learning agent862and an optimization agent872. Learning agent862, for example, can be configured to receive data from one or more sensors associated with flow control devices822and824. Learning agent862can use this data to develop and train a model for each flow control device as well as the system as a whole. In some embodiments, learning agent862uses a system identification process to generate these models upon installation of the system. Optimization agent872can also receive data from flow control devices822and824. Optimization agent872can use this data from both flow control devices in order to determine an optimal position of each of the valves.

In addition, flow control device822is shown to include a fault detection and correction agent852and flow control device824is shown to include a fault detection and correction agent854. FDC agents852and854can be configured to receive data from sensors in order to detect whether one or more faults have occurred in system800. For example, FDC agents852and854can detect a fault if a reading from a temperature sensor, pressure sensor, or flow sensor is out of bounds. FDC agents852and854along with learning agent862and optimization agent872provide system800with dynamic control functionality. More detail regarding these agents is presented below with respect toFIGS. 11-13.

Turning now toFIG. 9, another example flow control system900is shown, according to some embodiments. System900includes a boiler904configured to produce heated fluid and a pump914configured to circulate the heated fluid through piping to two heating coils932and934. System900includes two flow control devices922and924configured to control the flow of heated fluid through the piping. Devices922and924operate in parallel with a common intake of heated fluid from boiler904. Device922is configured to control the flow of heated fluid to heating coil932and device924is configured to control the flow of heated fluid to heating coil934. Boiler904may operate in a manner similar to boiler104and pump914may operate in a manner similar to pumps222and224, for example. Heating coils932and934may be located in an air handling unit (e.g., AHU106).

Turning now toFIG. 10, another example flow control system1000is shown, according to some embodiments. System1000includes two flow control devices1022and1024that receive chilled water from two separate chillers. Devices1022and1024are configured to operate in parallel with a common discharge that provides chilled fluid to a cooling coil1032. In this manner, devices1022and1024can use the supply of chilled water from two separate chillers1002and1004to provide cooling coil1032with a desired amount of chilled fluid. The chilled fluid can be circulated through the system by pumps1012and1014. Similar to systems800and900, system1000is shown to include a controller1040with a learning agent1062, an optimization agent1072, and a communications interface1042. Flow control devices1022and1024are shown to include FDC agents1052and1054, respectively.

Referring now toFIG. 11, a flow diagram of an agent based flow control process1100is shown, according to some embodiments. Process1100can be used in HVAC system100and can be performed by adaptive agent control system500, for example. In some embodiments, process1100is performed by a fault detection and correction agent as described above (e.g., agents852,854,952,954,1052, and1054). Process1100can allow a flow control system to adaptively detect and correct faults, thus allowing for more efficient and effective operation of the system.

Process1100is shown to include receiving input data from one or more sensors associated with a flow control device (step1102). The sensors can include a temperature sensor, a pressure sensor, a flow sensor, and/or any other types of sensors. A temperature sensor may be used to measure a temperature of fluid passing through the flow control device (e.g., devices822,824,922,924,1022,1024), for example. In some embodiments, a temperature sensor is embedded in the valve of the flow control device. A pressure sensor or a flow sensor may be used to calculate a flow rate of fluid through the flow control device. In some embodiments, one or more proximity sensors or other types of sensors can be used to determine the valve position of the flow control device. The fault detection and correction agent can use this input data to detect faults and initiate corrective actions.

Process1100is shown to include analyzing the input data according to a set of rules to determine if one or more faults have occurred (step1104). The set of rules, for example, can include various threshold levels and relationships between different variables received in the input data. The fault detection and correction agent can be configured to dynamically adjust the rules used to detect faults based on training data and/or communication with other agents or devices. As an example, referring to system900, FDC agent952can detect a fault if the fluid flowing through device922to heating coil932is not heated enough. In this case, heating coil932may not receive enough heated fluid and insufficient heating of a building space may be the result. As another example, referring to system1000, FDC agent1052can detect that fluid flowing through device1022to cooling coil1032is within the correct temperature range but not enough fluid is flowing through the device. In this case, an insufficient amount of chilled fluid is provided to cooling coil1032and insufficient cooling of a building space may result.

Process1100is shown to include determining whether a fault can be corrected by opening or closing the valve of the flow control device (steps1106and1108). For example, in the case where FDC agent1052detects insufficient flow of chilled fluid through device1022, the insufficient flow may result from the valve of device1022being in a mostly closed position. In this case, FDC agent1052can determine the fault can be corrected by operating the actuator of device1022to move the valve to a more open position (step1110). However, if the valve of device1022is already fully open, FDC agent1052can determine the fault cannot be fixed by opening or closing the valve.

Process1100is shown to include initiating a corrective action to be taken by another device in the HVAC system if the fault cannot be corrected by opening or closing the valve (step1112). The FDC agent can communicate with a controller (e.g., controllers840,940,1040), can communicate directly with the HVAC device, and/or can communicate with other agents to initiate the corrective action. For example, in the case where FDC agent1052detects insufficient flow of chilled fluid through device1022even though the valve is fully open, FDC agent1052can initiate the corrective action of instructing pump1012to increase pressure. FDC agent1052may communicate with an agent responsible for controlling pump1012and/or may communicate with controller1040to initiate this corrective action.

Referring now toFIG. 12, a flow diagram of an agent based flow control process1200is shown, according to some embodiments. Process1200can be used in HVAC system100and can be performed by adaptive agent control system500, for example. In some embodiments, process1200is performed by an optimization agent as described above (e.g., agents872,972, and1072). Process1200can allow a flow control system to adaptively and dynamically adjust the valve position of various flow control devices in order to optimize performance of the system as a whole.

Process1200is shown to include receiving input data from two or more flow control devices (step1202). Each of the flow control devices (e.g., devices822,824,922,924,1022,1024) can include a temperature sensor, a pressure sensor, a flow sensor, and/or any other types of sensors, as mentioned above. The input data can be used by the optimization agent to obtain a perception of the operating environment of each of the flow control devices. For example, the input data can provide the optimization agent with awareness of the flow of fluid through each device, the temperature of fluid flowing through each device, and the valve position of each device. The optimization agent may also receive input data directly and/or indirectly from all types of different building equipment (e.g., from chiller, pump, boiler, AHU, etc.).

Process1200is shown to include analyzing the performance of the flow control system according to a set of parameters (step1204). For example, referring to system1000, optimization agent1072may analyze the performance of the system according to input data received from flow control devices1022and1024. In this case, optimization1072may analyze the input data in order to determine if cooling coil1032is receiving enough chilled fluid and if the chilled fluid is the correct temperature. Devices1022and1024are configured to operate in parallel with a common discharge, so the chilled fluid entering cooling coil1032is a sum of the chilled water being output from devices1022and1024. One of the parameters used by optimization agent1072may be a supply air temperature setpoint measured by sensor362of airside system300, for example. Depending on setpoint error, for example, optimization agent1072can be configured to open and/or close the valve of device1022and/or1024to optimize system performance.

Process1200is shown to include determining an optimal valve position for each flow control device (step1206). The optimization agent can determine the optimal valve positions based on the analysis of the input data from the flow control devices. For example, referring to system800, optimization agent872can determine that cooling coil832is not receiving enough chilled fluid. In response, optimization agent872can adjust the position of the valve of device822and/or device824to achieve the desired amount of flow to coil832.

Process1200is shown to include sharing the optimal valve position with each flow control device in the system (step1208). In some embodiments, the optimization agent shares the optimal valve position with the FDC agent of each device. In other embodiments, the optimization shares the optimal valve position with another agent local to the flow control devices. The optimization agent may also communicate a setpoint to the actuator of each flow control device. As an example, referring to system900, if heating coil932is not receiving enough heated fluid and the valve of flow control device922is in a fully open position, optimization agent972can determine that the valve of device924can be moved to a more closed position in order to increase flow through device922.

Referring now toFIG. 13, a flow diagram of an agent based flow control process1300is shown, according to some embodiments. Process1300can be used in HVAC system100and can be performed by adaptive agent control system500, for example. In some embodiments, process1300is performed by a learning agent as described above (e.g., agents862,962, and1062). Process1300can allow a flow control system to adaptively and dynamically model components of the system (e.g., flow control device) in order to tune operating parameters.

Process1300is shown to include generating a model for the flow control system (step1302). In some embodiments, the learning agent receives a framework model for the system. This framework model can be received from a variety of sources within adaptive agent control system500and may define relationships between the equipment included in the flow control system. For example, a model used to represent flow control system800can include mathematical relationships defining the series connection between flow control devices822and824. In addition, the model may include variables related to inputs and outputs of chiller802, pump812, and cooling coil832in addition to variables related to flow control devices822and824(e.g., valve position, temperature readings, flow readings). All of these variables may be modeled as an equation or a system of equations, for example. Learning agent862can be configured to “fine tune” various parameters of this model. Learning agent862may additionally or alternatively use layout information from BAS attributes622to generate the model.

Process1300is shown to include receiving training data from one or more devices of the flow control system (step1304). Training data can be received by varying inputs of the system in order to achieve a better understanding of how outputs of the system will react. For example, in system900, learning agent962can adjust various control inputs to boiler904and pump914in order to learn and observe how the resulting flow of heated fluid reacts to these changes in input. In addition, learning agent962can gain a better understanding of how the flow of heated fluid through flow control device922changes if the valve position of device924is adjusted. The model of system900used by learning agent962becomes more accurate as more training data is received.

Process1300is shown to include filtering extraneous data and disturbances (step1306). Step1306can be performed in order to allow the learning agent to distinguish between intended changes and changes caused by extraneous disturbances. For example, referring to system1000, various measurements obtained from sensors associated with flow control device1022may be inaccurate due to sensor design challenges. Problems may arise due to communication issues or hardware issues, for example. Over time, learning agent1062can develop an ability to detect bad readings and filter such readings out of consideration. For example, if four consecutive samples of temperature readings from device1022are 22.1° F., 22.2° F., 31.4° F., and 22.1° F., learning agent1062can detect that 31.4° F. is an extraneous reading. Over time, learning agent1062can detect that a temperature change between successive samples should never be more than 2° F., for example. The ability to filter extraneous data and disturbances allows the learning agent to avoid reacting to false alarms.

Process1300is shown to include determining the optimal model parameters (step1308). The learning agent can perform step1308at pre-defined time intervals (e.g., sampling period), for example. After training data is received and extraneous data is filtered, the learning agent can determine a set of optimal system parameters and use the optimal parameters to operate the flow control devices (step1310).

Configuration of Exemplary Embodiments