The present disclosure relates generally to building management systems. A 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, for example, a HVAC system, a security system, a lighting system, a fire alerting system, any other system that is capable of managing building functions or devices, or any combination thereof.
One implementation of the present disclosure is a building management system (BMS) including building equipment operable to affect a physical state or condition of a building. The BMS further comprises a gateway device coupled to the building equipment and a network adapter removably coupled to the gateway device. The network adapter is configured to communicably couple the gateway device to a cloud-based platform. The gateway device is configured to communicate building data from the building equipment to the cloud-based platform via the network adapter. The cloud-based platform includes a hub configured to receive the building data, a plurality of cloud applications, wherein the plurality of cloud applications are configured to receive the building data from the hub and process the building data to provide a building data output. The cloud-based platform is configured to communicate the building data output to at least one of a control application, an analytic application, or a monitoring application, and receive a command from at least one of the control application, the analytic application, or the monitoring application based on the building data output. The gateway device is further configured to operate according to the command.
Another implementation of the present disclosure is a building management system (BMS) including a wired master slave/token passing (MS/TP) network associated with the BMS comprising a first building automation control network (BACnet) MS/TP device operable to affect a physical state or condition of a building and a wireless MS/TP network associated with the BMS comprising a second BACnet MS/TP device operable to affect a physical state or condition of a building. A gateway device is coupled to the wired MS/TP network and the wireless MS/TP network, the gateway device comprising a network interface configured to connect to a network adapter. The network adapter is removably coupled to the network interface and configured to couple the gateway device to a cloud-based platform. The gateway device is configured to communicate building data from the first BACnet MS/TP device and the second BACnet MS/TP device and gateway data from the gateway device to a platform external to the gateway device via the network adapter. The platform external to the gateway device includes a hub configured to receive the building data and a plurality of applications, wherein the plurality of applications are configured to receive the building data from the hub and process the building data to provide a building data output. The platform external to the gateway device is configured to communicate the building data output to at least one of a control application, an analytic application, or a monitoring application and receive a command from at least one of the control application, the analytic application, or the monitoring application based on the building data output. The gateway device is further configured to operate according to the command.
Another implementation of the present disclosure is a method for monitoring and controlling building equipment in a building management system, the method comprising:
providing a gateway device coupled to a first BACnet MS/TP device via a wireless MS/TP network or a wired MS/TP network and coupling a user-detachable network adapter to a network interface of the gateway device, the user-detachable network adapter configured to connect the gateway device to a cloud-based platform according to regional network protocols. The method further includes communicating building data from the first BACnet MS/TP device and the second BACnet MS/TP device to the cloud-based platform via the user-detachable network adapter of the gateway device, receiving at a hub of the cloud-based platform the building data, routing the building data from the hub to a plurality of cloud applications in the cloud-based platform and generating a building data output based on the building data at the plurality of cloud applications. The method further includes communicating via the cloud-based platform the building data output to at least one of a control application, an analytic application, or a monitoring application, receiving a command from at least one of the control application, the analytic application, or the monitoring application at the cloud-based platform based on the building data output, and operating the gateway device according to the command.
Referring generally to the FIGURES, a building management system (BMS) with automatic equipment discovery and equipment model distribution is shown, according to some embodiments. A 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, for example, a HVAC system, a security system, a lighting system, a fire alerting system, any other system that is capable of managing building functions or devices, or any combination thereof.
In brief overview, the BMS described herein provides a system architecture that facilitates control of the BMS and devices within it over via a gateway device. Some devices of this network may be unable to communicate over an IP network and/or are not “Internet enabled.” In this regard, only local control, i.e., commands sent over the building network for the devices may be available, i.e., commands can only be sent to the devices of the building via the building network. To allow the various devices of the building network access to the Internet or an IP based network, one or more gateways can be installed in the building which bridge the gap between the building networks and IP based networks (e.g., the Internet). By establishing a link between the building networks of the building and various IP based networks, local control of the building is extended to remote control of the building via the Internet as users can access the various devices of the building remotely, via the internet.
To properly enable the devices of the building to be controlled via the Internet, a logical network representation of the building network, the devices of the building, and the gateways (e.g., configuration data) can be maintained by a building server. The building server may be any Internet server which the gateways of the building communicate with. This remote building server may store and maintain a logical network representation of the gateways and the devices of the building. In this regard, the gateways of the building may pass equipment models and indications of the devices connected to the gateway to the building server. Further, the various connections between the gateways and the devices may be recorded by the building server, this data received by the remote building server via the gateways.
A equipment model, as referred to herein, may indicate a list of point objects of one or more devices that a particular gateway is responsible for collecting data from and/or sending control signals to. For example, an analog input may be a particular point object in an equipment model. The equipment model may indicate that the analog input is sampled every minute. In this regard, the gateway may sample the analog input every minute. In another example, the same equipment model may include a point object which is a “valve position point.” A building server may send a command to the gateway which may be a command position (e.g., 45 degrees, 5 Volts, and/or 455 steps) which the gateway may send to the device with the “valve position point.” As referred to herein, “collect” may refer to extracting data from a device.
The BMS described below can provide automatic equipment discovery and equipment model distribution for equipment connected to the gateways. Equipment discovery can occur across multiple different master slave token passing (“MS/TP”) communications busses (e.g., wireless MS/TP buses, wired MS/TP buses, etc.) and across multiple different communications protocols (BACnet, MODbus, etc.). 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, the BMS can begin interacting with the new device (e.g., sending control signals, using data from the device) without user interaction.
Some devices in the BMS 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 the BMS store their own equipment models. Other devices in the BMS have equipment models stored externally (e.g., within other devices). For example, a gateway device can store the equipment model for a chiller. In some embodiments, the gateway device automatically creates the equipment model for the chiller and/or other devices on the MS/TP bus. Other gateway devices can also create equipment models for devices connected to their MS/TP buses. The equipment model for a device can be created automatically based on the types of data points exposed by the device on the MS/TP bus, device type, and/or other device attributes. Several examples of automatic equipment discovery and equipment model distribution are discussed in greater detail below. Throughout this disclosure, the terms “equipment model,” “equipment model template,” and “equipment template” are used interchangeably.
Building and HVAC System
Referring now to
HVAC system 100 is shown to include a chiller 102, a boiler 104, and a rooftop air handling unit (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
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.
Airside system 130 can deliver the airflow supplied by AHU 106 (i.e., the supply airflow) to building 10 via air supply ducts 112 and can provide return air from building 10 to AHU 106 via air return ducts 114. 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 VAV unit 116 on each floor or zone of building 10. VAV units 116 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 116 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.
Airside System
Referring now to
Airside system 200 is shown to include an economizer-type air handling unit (AHU) 202. 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 202 can receive return air 204 from building zone 206 via return air duct 208 and can deliver supply air 210 to building zone 206 via supply air duct 212. In some embodiments, AHU 202 is a rooftop unit located on the roof of building 10 (e.g., AHU 106 as shown in
Each of dampers 216-220 can be operated by an actuator. For example, exhaust air damper 216 can be operated by actuator 224, mixing damper 218 can be operated by actuator 226, and outside air damper 220 can be operated by actuator 228. Actuators 224-228 can communicate with an AHU controller 230 via a sensor/actuator (SA) bus 232. Actuators 224-228 can receive control signals from AHU controller 230 and can provide feedback signals to AHU controller 230. 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 224-228), 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 224-228. AHU controller 230 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) algorithms, feedback control algorithms, etc.) to control actuators 224-228.
Still referring to
Cooling coil 234 can receive a chilled fluid from waterside system 120 via piping 242 and can return the chilled fluid to waterside system 120 via piping 244. Valve 246 can be positioned along piping 242 or piping 244 to control a flow rate of the chilled fluid through cooling coil 234. In some embodiments, cooling coil 234 includes multiple stages of cooling coils that can be independently activated and deactivated (e.g., by AHU controller 230) to modulate an amount of cooling applied to supply air 210.
Heating coil 236 may receive a heated fluid from waterside system 120 via piping 248 and can return the heated fluid to waterside system 120 via piping 250. Valve 252 can be positioned along piping 248 or piping 250 to control a flow rate of the heated fluid through heating coil 236. In some embodiments, heating coil 236 includes multiple stages of heating coils that can be independently activated and deactivated (e.g., by AHU controller 230) to modulate an amount of heating applied to supply air 210.
Each of valves 246 and 252 can be controlled by an actuator. For example, valve 246 can be controlled by actuator 254 and valve 252 can be controlled by actuator 256. Actuators 254-256 can communicate with AHU controller 230 via SA bus 232. Actuators 254-256 can receive control signals from AHU controller 230 and can provide feedback signals to AHU controller 230. In some embodiments, AHU controller 230 receives a measurement of the supply air temperature from a temperature sensor 262 positioned in supply air duct 212 (e.g., downstream of cooling coil 234 and/or heating coil 236).
In some embodiments, AHU controller 230 operates valves 246 and 252 via actuators 254-256 to modulate an amount of heating or cooling provided to supply air 210 (e.g., to achieve a setpoint temperature for supply air 210 or to maintain the temperature of supply air 210 within a setpoint temperature range). The positions of valves 246 and 252 affect the amount of heating or cooling provided to supply air 210 by cooling coil 234 or heating coil 236 and may correlate with the amount of energy consumed to achieve a desired supply air temperature. In some embodiments, AHU controller 230 receives a measurement of the zone temperature from a temperature sensor 264 positioned within building zone 206. AHU controller 230 can control the temperature of supply air 210 and/or building zone 206 by activating or deactivating coils 234-236, adjusting a speed of fan 238, or a combination of both.
Still referring to
Client device 272 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 100, airside system 200, BMS 300 of
Building Management System with Cloud-Based Monitoring and Control
Referring now to
In brief overview, BMS 300 provides a system architecture that facilitates central control of smart and non-smart building equipment of BMS 300 from a networked location. In some embodiments, BMS 300 can provide automatic equipment discovery and equipment model distribution. Equipment discovery can occur across multiple different communications networks (e.g., system bus, wireless system bus, etc.) and across multiple different communications protocols (e.g., LONworks, MODbus, BACnet, etc.). For the purposes of simplicity, this disclosure will describe a building management system with reference to the BACnet protocol, but it should be understood by one of ordinary skill in the art that other building management protocols may be used. 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 300 can begin interacting with the new device (e.g., sending control signals, using data from the device) without user interaction.
Some devices in BMS 300 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. An equipment model for a device can include a collection of points objects that provide information about the device (e.g., device name, network address, model number, device type, etc.) and store present values of variables or parameters used by the device. For example, the equipment model can include point objects (e.g., standard BACnet point objects) that store the values of input variables accepted by the device (e.g., setpoint, control parameters, etc.), output variables provided by the device (e.g., temperature measurement, feedback signal, etc.), configuration parameters used by the device (e.g., operating mode, actuator stroke length, damper position, tuning parameters, etc.). The point objects in the equipment model can be mapped to variables or parameters stored within the device to expose those variables or parameters to external systems or devices. The equipment models and associated BACnet value objects and point objects can make up the building data that can be collected by BMS 300. For example, gateway device 302 can collect building data (e.g., output variables provided by the device) and communicate that building data to cloud platform 324 for processing and control of BMS 300.
In some embodiments, gateway device 302 automatically creates the equipment model for chiller 316 or other devices connected to it. Other gateway devices can also create equipment models for devices connected to them. The equipment model for a device can be created automatically based on the types of data points exposed by the device on the communications bus, device type, and/or other device attributes. In some embodiments, BMS 300 is configured to perform some or all of the operations described in U.S. patent application Ser. No. 16/844,328 filed Apr. 9, 2020, the entire disclosure of which is incorporated by reference herein.
Still referring to
In some embodiments, gateway device 302 is connected to building equipment via a system bus 330. Building equipment can be devices of HVAC system 100 as well as other types of BMS devices (e.g., lighting equipment, security equipment, etc.) and/or any BACnet MS/TP master device. In some embodiments, building equipment are smart communicating equipment controllers, SC-EQ, manufactured by Johnson Controls, Inc. Further details of the SC-EQ device may be found in U.S. patent application Ser. No. 16/659,155 filed Oct. 21, 2019. The entire disclosure of U.S. patent application Ser. No. 16/659,155 is incorporated by reference herein.
System bus 330 can include any of a variety of communications hardware (e.g., wire, optical fiber, terminals, etc.) configured to facilitate communications between gateway device 302 and other devices connected to system bus 330. In some embodiments system bus 330 can additionally include and/or alternatively be replaced by a wireless system bus, shown as a wireless system bus 332.
Wireless system bus 332 can include a plurality of wireless bridge devices forming a multi-point to multi-point network. The wireless bridge devices of wireless system bus 332 are shown as MS/TP coordinator 306 and MS/TP routers 308 and 310. In some embodiments, MS/TP coordinator 306 is a component of gateway device 302. Still in others, MS/TP coordinator 306 is a separate device and may be connected to gateway device 302 using a RJ12 or MS/TP COM port. MS/TP routers 308 and 310 interface between building equipment (e.g., MS/TP devices) such as controller 312 and chiller 314 to allow them to be discovered by MS/TP coordinator 306 and posted on system bus 330 as if the devices were connected directly to system bus 330. The multi-point to multi-point network can be a mesh network created between a MS/TP coordinator 306 and MS/TP routers 308 and 310. For example, the mesh network may be an 802.15.4 based network such as ZIGBEE. Wireless system bus 332 may allow the gateway device 302 to communicate with devices connected to via the wireless system bus 332. Wireless system bus devices may include any BACnet MS/TP device and/or any device that can be connected to gateway device 302 over system bus 330. Referring still to
In some embodiments, gateway device 302 is connected to wireless system bus 332 via system bus 330. In other embodiments, gateway device 302 is connected directly to wireless system bus 332. In some embodiments, BMS 300 operates only using wireless system bus 332. In some embodiments BMS 300 can include both a wired system bus 330 and a wireless system bus 332, as shown in
Gateway device 302 can be configured to communicate using a MS/TP protocol or any other communications protocol. Gateway device 302 can collect building data (e.g., equipment models, value objects, point objects, and/or any other data made available by building equipment) and communicate that data to cloud platform 324. Cloud platform 324 can process the data and direct gateway device 302 to collect specific data (e.g., listed value objects, point objects, etc.) from specific building equipment. Gateway device 302 can subscribe to the indicated objects and communicate the data to cloud platform 324 periodically.
Still referring to
Cloud platform 324 can include a variety of cloud-based services and/or applications configured to store, process, analyze, or otherwise consume the data collected from gateway device 302. Cloud platform 324 may be accessed by various users (e.g., enterprise users, mechanical contractors, cloud application users, etc.) via control applications. Some users can access and interact with gateway device 302 directly via client devices 304 (e.g., via a UI provided locally by gateway device 302), whereas other users can interact with cloud platform 324 (e.g., via a UI provided by cloud platform 324). Users can interact with cloud platform 324 via control applications configured to display the building data and provide a user with control of the gateway device 302. The features of cloud platform 324 and gateway device 302 are described in greater detail below.
Gateway device 302 can provide a user interface for any device containing an equipment model. Building equipment such as thermostat controller 334 can provide their equipment models to gateway device 302 via system bus 330. In some embodiments, gateway device 302 automatically creates equipment models for connected devices that do not contain an equipment model (e.g., non-smart equipment, legacy equipment, third-party equipment, etc.). For example, gateway device 302 can create an equipment model for any device that responds to a device tree request. In some embodiments, gateway device 302 can create an equipment model for any device that responds to a read object list attributes request. The equipment models created by gateway device 302 can be stored within gateway device 302 and/or transferred to cloud platform 324. Gateway device 302 can then provide a user interface for devices that do not contain their own equipment models using the equipment models created by gateway device 302. In some embodiments, gateway device 302 stores a view definition for each type of equipment connected via system bus 330 and wireless system bus 332 and uses the stored view definition to generate a user interface for the equipment.
Referring now to
Referring now to
Gateway Device
Referring now to
In some embodiments, the automatic equipment discovery is based on an active node tables for system bus 330. Still referring to
The active node table can be stored within one or more devices connected to the system bus 330. For example, as shown in
The equipment list generated by gateway device 302 can include information about each device connected to system bus 330 and wireless system bus 332 (e.g., device type, device model, device ID, MAC address, device attributes, etc.). When a new device is detected on system bus 330 and/or wireless system bus 332, gateway device 302 can automatically update the equipment list. Gateway device 302 can provide the updated equipment list to cloud platform 324. In some embodiments, if cloud platform 324 is missing an equipment model template for building equipment listed in the equipment list, it may request the equipment model template from gateway device 302. Gateway device 302 can retrieve the equipment model from the device if the device stores its own equipment model. If the device does not store its own equipment model, gateway device 302 can retrieve a list of point values provided by the device. Gateway device 302 can then use the equipment model and/or list of point values to generate an equipment model template for the device. Gateway device 302 may present information about the connected devices on system bus 330 and wireless system bus 332 to a user. Several examples of automatic equipment discovery and equipment model distribution can be found in commonly owned U.S. patent application Ser. No. 16/844,328 filed Apr. 9, 2020, the entire disclosure of which has been incorporated by reference herein.
Still referring to
Memory 510 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 510 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 510 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 510 can be communicably connected to processor 508 via processing circuit 506 and can include computer code for executing (e.g., by processor 508) one or more processes described herein. When processor 508 executes instructions stored in memory 510, processor 508 generally configures gateway device 302 (and more particularly processing circuit 506) to complete such activities.
Still referring to
Communications interface 516 can include wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with client device 304 or other external systems or devices. In various embodiments, communications conducted via interface 516 can be direct (e.g., local wired or wireless communications) or via a communications network (e.g., a WAN, the Internet). Communications interface 516 can conduct communication using a variety of network protocols (e.g., BACnet MS/TP, BACnet IP, MODbus, etc.). In various embodiments, communications can be conducted over various network types (e.g., a cellular network, Wi-Fi network, ZIGBEE network, etc.). For example, communications interface 516 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications link or network. In another example, communications interface 516 can include a Wi-Fi transceiver for communicating via a wireless communications network. In another example, communications interface 516 can include cellular or mobile phone communications transceivers. In one embodiment, communications interface 516 is a power line communications interface and/or an Ethernet interface. In some embodiments, client devices 304 can communicate directly to gateway device 302 via communications link 516 without going through cloud platform 324. For example, a user may be able to access gateway device 302 using local UI 512 via communications interface 516.
In some embodiments, the above network interfaces are components of communications interface 516. In some embodiments, the network interfaces require external network adapters to facilitate communicate over various networks. The external network adapters may be detachable network adapters. For example, the external network adapters may be USB “dongles” configured to provide network connectivity over USB to connected devices. Gateway device 302 can be configured to automatically operate a network adapter that is attached. The detachable external network adapters can connect to gateway device 302 via communications interface 516. For example, an external Wi-Fi adapter may connect to Wi-Fi client 690 shown in
Referring now to
Still referring to
Communications interface 616 of gateway device 602 allows configuring and operating building equipment of BMS 300 that may each operate on various and possible distinct networks all from a single gateway device. The single gateway can eliminate the need for intermediate controllers associated with specific networks that handle only building equipment on that network. Gateway device 302 can also eliminate the need to connect all building equipment over a wired interface as it combines both a wired and wireless MS/TP connection interface in a single device.
Referring now to
Detachable network adapters allow gateway device 302 to function with over networks in the local region of the BMS which may have regional-specific network protocols. The same gateway device 302 can operate in various regions with independent network protocols by swapping a detachable network adapter configured to operate in Region A with another detachable network adapter configured to operate in Region B. In some embodiments, the detachable network adapters are installed by a local installer or user. For example, the cellular adapter 1538 can be attached to communications interface 1516 by an installer of the BMS. Cellular adapter 1538 may be preconfigured to operate according to regional regulations and protocols that apply to the BMS. Cellular adapter 1538 can be included on a separate device that is configured to connect with communications interface 1516 and operate automatically. In some embodiments, one or more of the network adapters can be included as components of communications interface 1516. For example, referring specifically to
In some embodiments, communications interface 1516 is connected to just a single network adapter. For example, communications interface 1516 can be connected to only Ethernet adapter 1542. In some embodiments, communications interface 1516 can be connected to a plurality of network adapters. For example, communications interface 1516 can include Ethernet adapter 1542 and Wi-Fi adapter 1540. In some embodiments, communications interface can include cellular adapter 1538, Wi-Fi adapter 1540, and Ethernet adapter 1542. It should be understood by those of ordinary skill in the art that any combination of network adapters may be used by gateway device 302. In some embodiments, gateway device 302 is connected to a plurality of network adapters, and a user, either via local UI 512 or cloud platform 324 can direct gateway device 302 to use a specific network adapter. Any network not selected may be disabled. In some embodiments, the Wi-Fi AP 688 may still operate to allow a user to connect directly to the gateway device despite Wi-Fi adapter 1540 being disabled. In some embodiments, a gateway device, such as gateway device 302, automatically chooses a network adapter to operate over. In some embodiments, there may be a pre-installed hierarchy. For example, gateway device 302 can be configured to operate over Ethernet, then Wi-Fi, then cellular in that order. Depending on which detachable network adapters are connected to communications interface 1516, gateway device can operate them in order of priority. In some embodiments, the hierarchy may be set by a user. Still in other embodiments gateway device 302 operates over a chosen network adapter and automatically switches to another network adapter when the connection provided by the chosen network adapter fails.
In some embodiments, gateway device 302 can communicate with via a communications interface, such as communications interface 1516 cloud platform 324 over Ethernet adapter 1542 while communicating with client devices 1504 via Wi-Fi adapter 1540 and/or cellular adapter 1538. In some embodiments, client devices 1504 connect to gateway device 302 via cloud platform 1524 as shown in
Referring now to
Still referring to
Referring now to
In some embodiments, Wi-Fi adapter 1604 is connected to external cell modem 1602. External cell modem 1602 can then connect to cloud platform 324 via cell network 1608. In some embodiments, multiple gateway devices of a BMS can connect to a single external cell modem 1602. Using Wi-Fi adapter 1604 and Wi-Fi client 690 (shown in
Referring now to
Referring now to
Process 1900 is shown to include collecting building data from building equipment (step 1906). The building data may include equipment models, BACnet value objects, BACnet point objects, view definitions, COV data, and/or any other data available from building equipment. The gateway device may collect the data over a wired and/or wireless system bus. The system bus may be an MS/TP system bus using the BACnet MS/TP protocol.
Process 1900 is shown to include sending the building data to a cloud-based platform using the attached network adapter(s) (step 1908). Gateway device 302 may stream the collected data to cloud platform 324. In some embodiments, gateway device 302 stores the collected data in a local buffer and sends it periodically. In some embodiments with multiple network adapters attached to gateway device 302, gateway device 302 may send the building data over a single network selected by a user. For example, a user may select a network to use via local UI 512. In some embodiments, the user may select the appropriate network via cloud platform 324.
Data Access Layer
Referring again to
Still referring to
In some embodiments, data access layer 520 can sign up or subscribe to a change in value (COV) of the change counter attribute of active node table 528. In some embodiments, active node table 528 is a part of data access layer 520. When a change to active node table 528 occurs, system bus datalink 526 can provide a COV notification to data access layer 520. In response to receiving the COV notification, data access layer 520 can read active node table 528. Data access layer 520 can use the information from active node table 528 to identify building equipment connected to gateway 302 and generate a list of identified devices (e.g., equipment list). The equipment list can be stored in data access layer 520 and/or provided to cloud client 514 to be pushed to cloud platform 324.
In some embodiments, gateway device 302 can collect and send COV data to cloud platform 324. Throughout this disclosure COV data may also be referred to as “telemetry data.” Data access layer 520 can receive from cloud platform 324 a subscription list for the building equipment identified in the equipment list. The subscription list may be included as part of a device twin generated by cloud platform 324. The device twin is explained in further detail below with reference to
In some embodiments, data access layer 520 can provide the collected data to capability provider 518 for use in presenting the data to a user (e.g., via local UI 512) or pushing the data to cloud platform 324 (e.g., via cloud client 514). Capability provider 518 can be configured to function as a feature server for gateway device 302. Capability provider 518 can be connected to data access layer 520, cloud client 514, and local UI 512 and can process the inputs and outputs of gateway device 302 (e.g., both device- and user-oriented). Capability provider 518 can interact with cloud platform 324 to serve various features of cloud platform 324 to gateway device 302. Features of cloud platform 324 served by capability provider 518 can include, for example, time series, alarms, schedules, write property, data model, system settings, and software update. Other features of cloud platform 324 served by capability provider 518 may include interlock, data share, audit, and fault detection and diagnostics (FDD). The features and functionality of cloud platform 324 are described in greater detail below. Several of these features are described further in U.S. patent application Ser. No. 16/844,328 filed on Apr. 9, 2020 the entire disclosure of which has been incorporated by reference herein.
Still referring to
In some embodiments, view definitions for all the devices in BMS 300 are stored within gateway device 302. In other embodiments, view definitions can be stored in the devices themselves (e.g., within thermostat controllers, RTUs, etc.). In some embodiments, view definitions are stored in cloud platform 324. In some embodiments, the view definition for a device is a component of the device's equipment model and is provided to gateway device 302 by connected devices along with the equipment models. For example, devices connected to system bus 330 and/or wireless system bus 332 can provide their own view definitions to gateway device 302.
If a device does not provide its own view definition, gateway device 302 can create or store view definitions for the device. If the view definition provided by a particular device is different from an existing view definition for the device stored in gateway device 302, the gateway device's view definition may override or supersede the view definition provided by the device. In some embodiments, the view definition for a device includes the device's user name and description. Accordingly, the web interface generated by local UI 512 can include the device's user name and description when the web interface is generated according to the view definition.
Equipment Model Generation
Referring now to
Process 700 is shown to include tech 714 installing a BACnet MS/TP device on the system bus 712 (step 716). The BACnet MS/TP device 754 may be a third-party controller, third-party RTU controller and/or any other BACnet device that does not have an equipment model for gateway device 302 to download. The BACnet MS/TP device 754 may be an MS/TP master device. System bus 712 can be a wired MS/TP bus such as system bus 330 and/or wireless such as wireless system bus 332. System bus 712 connects to gateway device 302 and allows gateway device 302 to communicate and/or control building equipment connected to system bus 712. System bus 712 can send an object startup message to FDEV 710 (step 718). FDEV 710 may be a part of data access layer 520 of gateway device 302. FDEV 710 can then communicate with device object 708 to “handle special request” (step 720) and device object 708 can send a message to initiate discovery back to FDEV 710 (step 722). In some embodiments, process 700 may also include polling a connected MS/TP coordinator such as MS/TP coordinator 306 to identify new MS/TP devices on a wireless MS/TP bus when one is used. FDEV 710 can then read the object list of BACnet MS/TP device 754. The object list may include the list of all BACnet exposed objects (e.g., value objects, point objects, etc.) BACnet MS/TP device 754 chooses to make available. The objects may include Analog Inputs, Analog Outputs, Analog Values, Binary Inputs, Binary Outputs, Binary Values, Multi-State Inputs, Multi-State Outputs, and Multi-State Values. For some devices such as JCI BACnet equipment, FDEV 710 may read the object list by sending a “GET DEVICE TREE” command to BACnet MS/TP device 754 instead, and receive an object list composed of additional objects not made available using the read command. FDEV 710 then accepts the object list from BACnet MS/TP device 754 (step 726).
Process 700 is shown to include FDEV 710 automatically discovering BACnet device(s) using the object list passed to it (step 728). This process can include reading the metadata for the objects from BACnet MS/TP device 754 (step 730). FDEV 710 can read the “object_list_ATTR” reply from BACnet MS/TP device 754 (step 732) and cache the metadata, build a BACnet device view definition, and build a BACnet equipment model template (step 936) based on the BACnet objects exposed by the BACnet MS/TP device 754. The view definition may be automatically generated using the object list of BACnet MS/TP device 754. The BACnet template can be populated with metadata from the BACnet device, or with pre-defined values based on the data type. The creation of a BACnet view definition and equipment model template is explained further below with reference to FIG. C.
FDEV 710 then ensures the read process 732 is complete (step 738) and informs device object 708 accordingly (step 740). Device object 708 can then send to data access layer 706 a field device registration (step 742). data access layer 706 can register the device in the data model manager (DMM) (step 744) which may involve reading the “Device_list_ATTR” from device object 708 (step 746) and receiving a response (step 748). This process is explained in further detail below with reference to FIG. C. The device list may contain all devices from system bus 712, be they connected over a wired or wireless MS/TP bus, that have been mapped to the system. Data access layer 706 can then send an updated device list to CP 704 (step 750) which can pass it to UI 702 (step 752).
Equipment Model Discovery
Referring now to
Similar to process 700, process 800 may involve FDEV 810 sending a field device registration message to data access layer 806 (step 842), and further includes data access layer 806 registering the device to DMM 856 (step 844). Process 800 is shown to include DMM 856 requesting to download a view definition from BACnet MS/TP device 854. BACnet MS/TP device 854 can send the view definition to DMM 856 (step 862). DMM 856 is shown to then request to download the equipment model template from BACnet MS/TP device 854 (step 864) and BACnet MS/TP device 854 can respond by sending its pre-configured equipment model template (step 866). Each equipment model template may define a set of properties associated with a given device, and can be populated with metadata that is read from BACnet MS/TP device 854. An example equipment model template can be found in Appendix B. In some embodiments, the components of gateway device 302 performing process 800 may upload the received view definitions and equipment templates to the cloud, such as cloud platform 324. Cloud platform 324 may itself use the templates to fetch the metadata to fill the equipment model template.
DMM 856 can then add the template to template hash 858 (step 868), which can return a templateKEY to DMM 856 (step 870). The template key can then be cached in FDEV 810 (step 872), to be used to recall the equipment model template when needed.
Equipment Model Processes
Referring now to
Process 1300 is shown to include monitoring an active node table for new nodes (step 1302). In some embodiments, step 1302 is performed by gateway device 302. For example, gateway device 302 can monitor active node table 528 for new nodes. Each node in active node table 528 can represent a device communicating on system bus 330. In some embodiments, gateway device 302 monitors active node table 528 for new nodes by subscribing to a change of value (COV) of a change counter attribute for active node table 528. Each time a change to active node table 528 occurs (e.g., a new device begins communicating on system bus 330), the change counter attribute can be incremented by wired system bus datalink 526. When the change counter attribute is incremented, wired system bus datalink 526 can report the COV to data access layer 520.
Still referring to
Still referring to
Still referring to
Process 1300 is shown to include providing a user interface including the equipment list (step 1310). In some embodiments, step 1310 is performed by cloud platform 324. In some embodiments, step 1310 is performed by local UI 512 of gateway device 302. In some embodiments, local UI 512 uses a view definition for each device in the device list to determine which attributes of the devices to include in the web interface. In some embodiments, local UI 512 generates a home page for each type of equipment based on a home page view definition for the equipment type. The home page view definition can be stored in gateway device 302 (e.g., in view definition storage). Other view definitions can be stored in gateway device 302 or received from other devices at runtime.
Process 1300 is shown to include interacting with the system bus devices via the user interface (step 1312). Step 1312 can include accessing the equipment models for the system bus devices to obtain data values for display in the user interface. In some embodiments, step 1312 includes receiving input from a user via the user interface. The user input can change an attribute of a device (e.g., device name, setpoint, device type, etc.) presented in the user interface. Gateway device 302 can use the updated value of the device attribute to update the value in the equipment model for the device and/or to provide a control signal to the device.
Referring now to
Process 1400 is shown to include identifying a new device communicating on the system bus (step 1402). Step 1402 can include using address information (e.g., MAC addresses, network addresses, etc.) from active node table 528 to send a request for information to a new system bus device. The request can include a request for an equipment model stored within the new system bus device and/or a request for point values provided by the new system bus device (e.g., a get equipment list request). In response to the request, the new system bus device may provide information that can be used to identify the device (e.g., device type, model number, types of data points, etc.). Gateway device 302 can identify the new system bus device based on such information.
Process 1400 is shown to include determining whether the new system bus device includes an equipment model (step 1404). Some devices in BMS 300 present themselves to gateway device 302 using equipment models. An equipment model can define equipment object attributes, view definitions, schedules, trends, and the associated BACnet value objects that may also compose an equipment model template (e.g., analog value, binary value, multistate value, etc.) that are used for integration with other systems. Some system bus devices store their own equipment models (e.g., CV RTU 218, thermostat controller 334). Other devices in BMS 300 do not store their own equipment models (e.g., IO controller 320, third party controller 322, etc.). Step 1404 can include sending a request for an equipment model to the new system bus device or reading a list of point values provided by the new system bus device. If the new system bus device includes an equipment model, the system bus device may present an equipment model to gateway device 302 in response to the request.
If the system bus device includes an equipment model (i.e., the result of step 1404 is “yes”), gateway device 302 can read the equipment model from the system bus device (step 1406). Since the equipment model is already stored within the system bus device, the equipment model can be retained within the system bus device (step 1408). However, if the system bus device does not include an equipment model (i.e., the result of step 1404 is “no”), gateway device 302 can automatically generate a new equipment model for the system bus device (step 1410). In some embodiments, gateway device 302 retrieves a list of point values (e.g., BACnet objects) provided by the device and uses the list of point values to create a new equipment model for the device. The new equipment model can be stored within gateway device 302 (step 1412).
Process 1400 is shown to include interacting with the system bus device via the equipment model (step 1414). Step 1414 can include reading data values from the equipment model and writing data values to the equipment model. If the equipment model is stored in the system bus device, step 1414 can include interacting directly with the system bus device. However, if the equipment model is stored in gateway device 302, step 1414 can include interacting with gateway device 302. Gateway device 302 can then interact with the system bus device. Gateway device 302 can provide a user interface for any system bus device using the equipment models stored within the wired system bus devices and/or the equipment models created by gateway device 302. In some embodiments, gateway device 302 stores a view definition for each type of equipment connected via system bus 330 and uses the stored view definition to generate a user interface for the equipment.
Cloud Client
Referring again to
Referring now to
Cloud client 912 can be configured to interact with cloud platform 924. In some embodiments, cloud client 912 includes a feature server client, shown as CP client 914, a cloud connector 916, a server device provisioning software development kit (SDK) 918, and a library that encapsulates an internet-of-things (IoT) hub SDK with a data platform wrapper, shown as IoT hub client 920. Cloud connector 916 can be configured to interact with both capability provider 910 via CP client 914 and IoT hub client 920. Cloud connector 916 can translate gateway device concepts (e.g., Verasys concepts) into cloud concepts to allow gateway device 302 to communicate with cloud platform 924. Cloud connector 916 can also translate cloud concepts into gateway device concepts to allow data from cloud platform 924 to be received and processed by gateway device 302. Cloud client 912 can be configured to understand the endpoints, APIs, and other services provided by cloud platform 324 and can be configured to communicate with cloud platform 324. In some embodiments, cloud client 912 is configured to exchange messages with cloud platform 324 via communications interface 922 using the native messaging format of cloud platform 324 (e.g., JSON).
Cloud Platform
Referring now to
Cloud platform 1000 can include a variety of cloud-based services and/or applications (e.g., APIs) configured to store, process, analyze, or otherwise consume the data provided by gateway device 302. For example, cloud platform 1000 may include cloud applications such as a heartbeat service, telemetry (e.g., timeseries, COV, etc.) service, equipment list service, account service, and/or other types of services. In addition to the services (e.g., cloud applications) shown in
Referring still to
IoT hub 1004 and/or other components of cloud platform 1000 such as telemetry processor 1006 can provide plug & play functionality for gateway device 302 by automatically determining which values need timeseries data. Cloud platform 324 can use the equipment list in combination with equipment model templates for the identified equipment to determine which properties (i.e., data points, attributes, etc.) of equipment to bind. Cloud platform 324 can then create timeseries for the identified properties with telemetry processor 1006 and update the a subscription list. The timeseries may initially be empty, but can be updated as data samples are collected from gateway device 302 and/or equipment. In some embodiments, cloud platform 324 updates the twin subscription list to identify all of the properties that cloud platform 324 is interested in receiving change-of-value (COV) updates from gateway device 302 and/or equipment.
Gateway device is shown connected to device provisioning service 1034. Device provisioning service 1034 may be updated prior to installation of gateway device 302 into BMS 300 with the device ID, ID scope, and keys associated with gateway device 302. Device provisioning service 1034 may create the device in enroll gateway device 302 into a specific IoT hub.
IoT hub 1004 is connected to various event hubs and/or services, otherwise known as cloud applications, (shown as telemetry processor 1006, heartbeat processor 1008, equipment list processor 1010, and account processor 1012), and CED/CSD event hub 1024. The gateway device 302 sends all building data (e.g., equipment models, view definitions, COVs for subscribed properties and/or any exposed value and point objects of building equipment) it has collected on system bus 330 and wireless system bus 332 through the IoT hub 1004. IoT Hub 1004 routes all messages to the appropriate event hubs in cloud platform 1000 (e.g., telemetry messages to telemetry processor 1006, heartbeat messages to heartbeat processor 1008, etc.). For example, gateway device 302 may send a heartbeat message to IoT hub 1004, which can direct the heartbeat message to heartbeat processor 1008, which can process and send a signal to CED/CSD event hub 1024. The heartbeat message can also be sent to heartbeat auditor 1022 for storage. Files sent to IoT hub 1004 can be uploaded to the accounts storage container (e.g., services storage account 1014, D2C storage 1016, etc.). Any data received by an event hub (e.g., telemetry processor 1006, heartbeat processor 1008, etc.) can trigger an automatic function to process the data. In some embodiments, the event hubs are associated with corresponding cloud objects (e.g., template processor 1018, telemetry auditor 1020, heartbeat auditor 1022) for recording data. The processed data can be sent to CED/CSD event hub 1024. In some embodiments, there are different functions for different message types (e.g., heartbeat message, telemetry message, equipment list, etc.).
IoT hub 1004 can include components such as a file upload component, IoT device component, and message routing component. The file upload component may include a device diagnostic file and/or an equipment model template. The gateway device 302 may automatically upload an equipment model template when it determines the equipment model template cannot be found on cloud platform 1000.
The IoT devices component can consist of all devices (e.g., BACnet MS/TP devices) connected to gateway device 302 over system bus 330 and wireless system bus 332. The IoT devices component may be based on the equipment list built by gateway device 302 of all BACnet devices it has discovered on system bus 330 and wireless system bus 332.
In some embodiments, cloud platform 1000 is configured to generate and maintain a virtual “twin” for each gateway device 302 that sends data to cloud platform 1000. In some embodiments, IoT hub 1004 creates and maintains the device twin. The twin may function as a virtual service-side representation of a physical gateway device 302. For example, the twin for a given gateway device 302 may be a data object (e.g., a JSON object) that contains attributes indicating the state of gateway device 302. The twin may contain desired properties and reported properties. The reported properties can represent the current state of gateway device 302. The desired properties can represent desired modification made by a user through cloud platform 1000. For example, a user may input a desired modification to gateway device 302 through cloud platform 1000, which can update the desired properties of the device twin of gateway device 302. Gateway device 302 can periodically read the device twin and adjust its local properties to reflect the desired properties in the device twin. In some embodiments, gateway device 302 can then update the reported properties in the device twin so they match the desired properties. This can provide an indication to the user through the cloud platform that the modification has been made. In some embodiments, the updated device twin can be pushed to gateway device 302. An example of a twin for a gateway device 302 is as follows:
Gateway device 302 can be configured to fill in the “Reported” field of the twin with information describing gateway device 302 (e.g., BAS units, time zone, etc.). It should be noted that the “Reported” field is different from the equipment list, which is a separate file. An example of the information which can be specified in the “Reported” field is as follows:
The “Bound” field of the twin can be filled in by cloud-based event hub (e.g., equipment list processor 1010, telemetry processor 1006, etc.) to indicate the properties of building equipment for which the event hub wants telemetry data. The cloud-based event hub may create a timeseries for the bound properties. The telemetry data may be a component of the building data sent from gateway device 302 to cloud platform 1000. The “Bound” field can include the following information:
The “Revision” field of the twin may be incremented each time the twin is modified by either cloud platform 1000 or by gateway device 302. Both gateway device 302 and cloud platform 1000 can update the “Revision” field of the twin each time a change is made. Both gateway device 302 and cloud platform 1000 can also synchronize with the twin to ensure that each has the most recent version of the information provided by the twin. For example, gateway device 302 and cloud platform can periodically read the twin and copy the information contained in the twin if the version of the twin is more recent than the local version of the information. A sample of another device twin may be found in Appendix D.
Data Control Template Info
In some embodiments, the device twin may include properties useful to control the data rate between gateway device 302 and cloud platform 1000. The properties, referred to herein as data control properties, may be modified by a user to control how much data is exchanged between gateway device 302 and cloud platform 1000. The data control properties may be passed to a gateway device as part of the desired properties contained in the device twin as explained above with reference to
Telemetry rate may be the rate at which COV data samples are posted from gateway device 302 to cloud platform 1000. For example, a telemetry rate of 30 seconds may direct gateway device 302 to send COV update values collected from building equipment to cloud platform 1000 every 30 seconds. Modifying telemetry rate can affect the number and rate of messages exchanged between gateway device 302 and cloud platform 1000.
Heartbeat rate may be the rate at which gateway device 302 posts heartbeat messages to the cloud. Heartbeat messages are explained in further detail below with reference to
The equipment list rate may be the rate at which the equipment list update message are posted from gateway device 302 to cloud platform 1000. The equipment list, as explained above, informs the cloud of discovered MS/TP devices connected to gateway device 302 via wired system bus 330 and/or wireless system bus 332.
The subscription list may be the list of equipment and points (e.g., BACnet point objects, value objects, etc.) that cloud platform 1000 desires COV and/or other data for. The subscription list may contain a fully qualified reference. The fully qualified reference may be a reference to a specific piece of building equipment contained with the equipment list. In some embodiments, the subscription list property within the device twin may include a COV increment. The COV increment may be the minimum amount of change in a subscribed points value required to generate a COV sample to be sent to cloud platform 1000. For example, a thermostat controller may include a temperate object exposed to gateway device 302 and included in the subscription list by cloud platform 1000. A device twin pushed to gateway device 302 may include a COV increment value of 1 degree. Gateway device 302 can be configured not to transmit a new value until the COV value is at least and/or greater than the COV increment value.
The subscription list may also include a COV minimum time point. COV minimum time point may dictate the minimum amount of time that must pass from when gateway device 302 sends a COV message to cloud-platform 1000 before another COV message can be sent. In some embodiments, the COV sent at the end of the COV minimum time point is the most recent COV. In some embodiments, gateway device 302 temporarily stores the COV values and sends them in groups based according to the COV minimum time point.
The data compression setting may be an option in the device twin indicating to gateway device 302 whether or not to compress or encode the collected COV data samples before posting the data samples to cloud platform 1000.
The COV file upload threshold setting may allow gateway device 302 to upload collected COV data samples as a file upload rather than MQTT and/or HTTPS streamed data if the COV data samples exceed a certain size. In some embodiments, a BMS may have a lower telemetry rate data control setting, and accordingly the COV samples data may exceed the MQTT and/or HTTPS threshold. In some embodiments, a gateway device may be offline, and offline data storage of the gateway device may include collected COV data that was not streamed to cloud platform 1000. The collected data can be uploaded as a file if larger than the COV file upload threshold.
In some embodiments, data control properties included in the device twin may be saved as a data control template. The data control template may be stored in cloud platform 1000 and/or gateway device 302. The data control template may be associated with a customer ID, an organization, a geographic location and/or other metadata related to the BMS. In some embodiments, a single data control template can be included in the device twin of multiple gateway devices in a BMS. In some embodiments, a data control template may be set as a default for a user and apply automatically apply to all gateway devices connected to that user. In some embodiments, a BMS may store multiple data control templates. For example, cloud platform 1000 may include a Wi-Fi data control template, a cellular data control template, and an Ethernet data control template. Cloud platform 1000 may automatically select and include in a device twin for a gateway device the data control template associated with the network used by the gateway device to connect to cloud-platform 1000. In some embodiments, a user may select the data control template to be applied to a gateway device.
The data control template is useful for a BMS constrained by monthly internet or data services such as those connected over a cellular network. Data control settings allow a user or contractor to dynamically modify and control the data rate between a gateway device and/or multiple gateway devices and a cloud platform utilizing the existing device twin messaging features of the BMS.
Referring now to
The data control template may control properties of the device twin such as the telemetry rate, the heartbeat rate, the COV increment value, the COV minimum threshold value, and/or other properties that affect the data rate between gateway device 302 and cloud platform 1000. In some embodiments the data control template is populated with default data control property values during device provisioning.
User 1030 may send a request to modify the data control template (2002). In some embodiments, the request may be to modify data control template tied to a single gateway device. In some embodiments, the data control template may be associated with multiple gateway devices. The user request may include altering the data control properties for all gateway devices associated with the data control template. The request may be to web UI 1028. Web UI 1028 may be configured to fetch subscription lists, templates, equipment list, diagnostic information, and data control properties, and/or data control templates stored in D2C storage 10106 and display such things to user 1030 for modification and control of the BMS. Web UI 1028 may pass the modification request to IoT Hub 1004 (step 2004). In some embodiments, web UI may have already retrieved from D2C storage 1016 the data control template. In some embodiments, IoT hub 1004 may request the data control template to be modified from D2C storage 1016 (step 2006) which may then provide the data control template to IoT Hub 1004 (step 2008). IoT hub 1004 may generate a new device twin incorporating the modification to the data control template. The data control template may be one or more properties contained within a device twin.
IoT Hub 1004 may update the data control properties and generate a new/updated device twin for gateway device 302 (step 2010). In some embodiments, the updated properties are contained in the desired properties of the device twin. Gateway device 302 may receive and/or request the updated device twin from IoT hub 1004 (step 2012). In some embodiments, gateway device 302 may be configured to periodically poll IoT Hub 1004 to determine if the device twin has been updated. In some embodiments, the IoT Hub 1004 may push a new device twin to gateway device 302 each one is created. Once gateway device 302 receives the new device twin it may then read the updated data control properties and update its local (e.g., reported properties) in accordance with the new data control properties in the data control template.
Referring back to
Gateway device 302 can evaluate the subscription list to identify one or more properties specified by the twin. Gateway device 302 can then subscribe to COV updates for any properties specified by the twin and unsubscribe from COV updates for any properties not specified by the twin. When a COV for a subscribed property occurs, equipment can send a COV notification to gateway device 302. The COV notification may identify the property for which a COV has occurred and may include the current value of the property. In some embodiments, telemetry processor 1006 is configured to perform some or all of the timeseries processing operations described in U.S. patent application Ser. No. 15/644,519 filed Jul. 7, 2017, U.S. patent application Ser. No. 15/644,560 filed Jul. 7, 2017, U.S. patent application Ser. No. 15/644,581 filed Jul. 7, 2017, and U.S. patent application Ser. No. 16/844,328 filed on Apr. 9, 2020. The entire disclosure of each of these patent applications is incorporated by reference herein.
Telemetry Data Process
Referring now to
When a point object in the bound point list generates telemetry data (e.g., COV data), gateway device 302 can receive the telemetry data and the COV data to IoT hub 1004 as a device-to-cloud (D2C) message. The message may include the value of the bound point, and a timestamp. Gateway device 302 can then send the telemetry data to telemetry processor 1006. The telemetry data may include a telemetry ID, a value as a string (e.g., the enumerated string), and a timestamp. telemetry processor 1006 may respond to gateway device 302 acknowledging receipt of the telemetry data. An example of a telemetry message may be found in Appendix E.
Heartbeat Telemetry
Referring now to
Process 2200 is shown to include IoT hub 1004 automatically triggering heartbeat processor 1008 (step 2204). Heartbeat processor 1008 can update a heartbeat timestamp based on the latest heartbeat message and store the updated timestamp in D2C storage 1016 (step 2206). Process 2200 is shown to include D2C storage 1016 forwarding the heartbeat message to CED/CSD event hub 1024 (step 2208). In some embodiments, D2C storage 1016 can send the heartbeat message to heartbeat auditor 1022, shown in
Equipment List Upload and Subscription List Generation
Referring now to
Process 1100 is shown to include gateway device 302 sending an equipment list as a device to cloud (D2C) message to IoT hub 1004 (step 1102). Gateway device 302 may identify building equipment on system bus 330 and generate a report (e.g., equipment list) listing the identified building equipment. In some embodiments, the equipment list is in JSON format. An example equipment list can be found in Appendix G. Gateway device 302 can periodically send the equipment list to the IoT Hub 1004. IoT hub 1004 can be configured to automatically invoke a server function and pass the equipment list format to equipment list processor 1010 (step 1104). Process 1100 is shown to include storing the new (e.g., updated) equipment list in D2C storage 1016 (step 1106). Equipment list processor 1010 can be configured to retrieve from D2C storage 1010 all available equipment templates to check for an equipment template for each building device (e.g., BACnet MS/TP device) in the new equipment list (step 1108). If equipment lists are found for all building devices in the new equipment list, process 1100 can skip to step 1118. If an equipment list is not found, process 1100 is shown to include sending request for any missing equipment templates to IoT Hub 1004 (step 1110).
In some embodiments, the equipment templates may only be sent from gateway device 302 if requested by cloud platform 324. An equipment list may contain a large number of building equipment and it may be prohibitive from a data use stand point to send equipment templates for each piece of equipment every time an equipment list is provided to cloud platform 1000. In some embodiments to conserve data and avoid duplication of equipment templates, gateway device 302 may send the equipment list first and equipment list processor 1010 may be configured to check D2C storage 1016 for equipment templates before requesting gateway device 302 to send them. In some embodiments, D2C storage 1016 is associated with a customer ID and includes equipment templates for all building equipment previously connected to cloud platform 1000. A single building equipment template may associated with multiple pieces of building equipment. By first checking for pre-existing equipment model templates cloud-platform 1000 ensures only a single equipment template is stored, avoiding duplicate meta data.
If an equipment template is not found, equipment list processor 1010 may then request gateway device 302 to provide it (step 1110). IoT hub 1004 can passes the request to gateway device 302 as a cloud-to-device (C2D) message (step 1112). Gateway device 302 can be configured to respond with equipment files (e.g., JSON equipment files) and send them to IoT hub 1004 (step 1114). The process for collecting missing equipment templates from gateway device 302 is explained in greater detail below with reference to
Process 1100 is shown to include forwarding the new equipment list to the CED/CSD event hub 1024 (step 1118). Equipment list processor 1010 can be configured to use the equipment list in combination with equipment templates for the building devices determine which properties (i.e., data points, attributes, etc.) of equipment to subscribe to (step 1120). The subscribed properties may also be referred to as bound properties throughout this disclosure. Equipment list processor 1010 may generate telemetry data for the bound properties with a timeseries service (not shown). The subscription list can be used to update the device twin including a list of bound properties for gateway device 302 to subscribe too based on the subscription list as an aspect of an updated device twin sent to IoT hub 1004 (step 1122), as explained above with reference to the bound properties of the device twin. Process 1100 is shown to include gateway device 302 receiving the updated device twin (step 1124) and gateway device 302 notifying a device 1128 (e.g., BACnet MS/TP device 754) of the new/updated subscription list (step 1126).
Template Upload
Referring now to
Process 1200 is shown to include gateway device 302 receiving a cloud-to-device (C2D) message from cloud platform 1000 requesting gateway device 302 to upload equipment template files (step 1202). For example, the C2D message is the C2D message sent in step 1112 of process 1100. In some embodiments, equipment templates may only be uploaded when a request is sent. In some embodiments, gateway device 302 may upload an equipment template whenever it discovers new building equipment on system bus 330 and/or wireless system bus 332. Gateway device 302 can be configured to send the equipment template file to IoT hub 1004 (step 1204). In some embodiments, the equipment template is sent as a JSON file. Process 1200 is shown to include IoT hub 1004 uploading the equipment template file to D2C storage 1016 (step 1206). In some embodiments, equipment templates can be upload as a file directly to D2C storage 1016, bypassing IoT hub 1004. Process 1200 is shown to include IoT hub 1004 acknowledge the successful upload to gateway device 302 (step 1208).
The uploading of an equipment template to D2C storage 1016 may automatically trigger template processor 1018 to perform a server function with the equipment template file (step 1210). Process 1200 is shown to include template processors 1018 updating the equipment template (step 1218). Template processor 1018 may request CED/CSD event hub 1024 to provide update instructions (step 1214) and may receive update instructions (1216). In some embodiments, template processor 1018 may update the equipment template without requesting instructions from CED/CSD event hub 1024.
Process 1200 is shown to include template processor 1018 saving the updated template to D2C storage 1016 (step 1220). Template processor 1018 can create and/or update the subscription list (e.g., subscription list) in accordance with the newly received equipment template (step 1222). Template processor 1018 can store the updated subscription list in D2C storage 1016 (step 1224). Process 1200 is shown to include template processor 1018 updating the device twin with the subscription list URL and SAS token. The modifying of the device twin to pass configuration settings to gateway device 302 is explained in detail above with reference to cloud platform 1000. Process 1200 is shown to include IoT hub 1004 notifying gateway device 302 of the new subscription list (step 1228). In some embodiments, step 1228 can be a part of the device twin messaging interface implemented by cloud platform 1000.
Time Synchronization
In some embodiments, gateway device 302 will not connect to cloud platform 1000 until it has established a good time basis. Time synchronization process 2300 can be configured to provide gateway device 302 with the latest time in UTC format. Time synchronization process 2300 is important to ensure the timestamps on building data collected from gateway device 302 are not materially different from the actual time the building data was received. Time synchronization process 2300 is also used to ensure gateway device 302 has a secure connection to the cloud platform 1000 via HTTPS. In some embodiments, gateway device 302 does not have a battery-powered clock. Accordingly, time synchronization process 2300 may be used to ensure the device is not left with a poor time basis if unpowered for a period of time.
Referring now to
If time synchronization is successful either at step 2304 or 2306, gateway device 302 may broadcast the time to all devices connected on the system bus, including devices connected over the wired system bus 330 and wireless system bus 332. Time synchronization process 2300 is then shown to include gateway device 302 checking if it is connected to an IoT hub (step 2308). The IoT hub may be a part of cloud platform 324. If gateway device 302 is connected, then the time synchronization process is complete (step 2316). If gateway device 302 is not connected time synchronization process 2300 is shown to include starting an IoT hub connection (no at step 2310). Time synchronization process 2300 is shown to include retrieving the latest NTP configuration from the IoT hub (step 2312). This step is optional, and in some embodiments gateway device 302 may be configured with a hardcoded default NTP server. Time synchronization process 2300 is shown to include configuring the NTP client according to the latest NTP configuration information (step 2314). Time synchronization process 2300 is shown to include completing the time synchronization process (step 2316).
Firmware Update
Referring now to
Referring back to
In some embodiments, web UI 1028 allows a user to command and control the equipment of BMS 300 by writing data values to gateway device 302. It should be noted that a local user of gateway device 302 can command and control BMS 300 via a local user interface generated by gateway device 302. However, remote users (e.g., technical support, a store manager, an enterprise user, etc.) can command and control BMS 300 via web UI 1028. Web UI 828 can be configured to change any data values including setpoints, configuration parameters, schedules, and other types of data used by gateway device 302 and/or equipment.
In some embodiments, cloud platform 1000 is configured to maintain a manifest for each instance of gateway device 302 that sends data to cloud platform 1000. The manifest may indicate the most recent available version of software for gateway device 302, the installed version of software for gateway device 302, a retrieval URL for the most recent version of software for gateway device 302, and a list of endpoint URLs that define the location of cloud platform 1000. The endpoint URLs may be helpful in the event that gateway device 302 is deployed in a country that requires data to be kept within the country for legal reasons. Accordingly, the URL may be different for each country. If the endpoint URL is left empty, gateway device 302 may not send data to cloud platform 1000.
High Level Process Flow
Referring now to
Once connected to the internet, gateway device 302 may initiate a time synchronization with time sync service to get the current time in UTC Format and will store it. An exemplary embodiment of the time synchronization service is shown with reference to FIG. TIME. All future data transmissions will be based on the time and the time zone of gateway device 302. Gateway device 302 can get the twin version from cloud platform 324 and store it locally. Gateway device 302 may request a telemetry ID (e.g., timeseries ID) for device status/heartbeat messages from telemetry service 1016. The telemetry ID can be stored locally in gateway device 302 and in the twin for gateway device 302. Gateway device 302 can be configured to send out “heartbeat” messages at a regular frequency (e.g., every 15 mins) to heartbeat processor 1008 using the status/heartbeat telemetry ID. These messages can be stored for device connection status monitoring and for audit purposes.
Gateway device 302 can discover the building equipment connected to it and generate an equipment list from the discovered systems. Gateway device 302 can send the equipment list to cloud platform 324. Cloud platform 324 can use retrieve internally equipment model template for equipment included on the equipment list. If cloud platform 324 does not have equipment model templates for the equipment it can request them from gateway device 302. Cloud platform 324 can use the equipment model files and the equipment list to create a reported points list (e.g., point objects). Cloud platform 324 can generate a list of bound points from a default subscription list for each system/equipment. For the bound points, telemetry service 1016 can create telemetry IDs. The point ID to telemetry ID mapping can be stored in cloud platform 324. The bound points along with their telemetry IDs can also be stored in the devices cloud twin and can be updated when changes of value occur. Gateway device 302 can synchronize with the twin by downloading and storing a list of the bound points in local memory. Gateway device 302 may transmit telemetry data for only the points listed in the bound points list.
When additional systems/equipment are connected to gateway device 302, gateway device 302 can discover the new systems/equipment and can update the equipment list. Gateway device 302 can send the updated equipment list to cloud platform 324. Cloud platform 324 can use the updated equipment list to generate an updated bound points list. Cloud platform 324 can generate bound point and telemetry IDs for any new points and can update the device's twin to be synchronized by gateway device 302.
Gateway device 302 can be configured to transmit telemetry data for the points identified in the bound points list. Such data can be sent to telemetry service 1016 along with the timestamp. If the telemetry data contains an enumerated set and an enumerated value, gateway device 302 can store the enumerated values as JSON formatted data strings and pass the strings to telemetry service 1016 with the timestamp.
Command and control messages can be initiated from an enterprise portal and routed to gateway device 302 by cloud platform 324 (e.g., from web UI 1028 and/or CED/CSD event hub 1024). At a scheduled time, gateway device 302 can log into cloud platform 324 and get the latest firmware information for gateway device 302. If the latest firmware information doesn't match the installed firmware version at gateway device 302, gateway device 302 can download the latest firmware from the URL available in the message.
Personnel can log into the web UI 1028 and manually enter the serial number of systems and/or equipment. For some equipment, cloud platform 324 can automatically fetch warranty information from a web service and update the warranty information stored in cloud platform 324. Equipment schedules can be pushed by gateway device 302 and stored in cloud platform 324. The schedules can be updated in the cloud via the enterprise portal and pushed back to gateway device 302. Setpoint changes for the system's bound points can be initiated from the enterprise portal. When a user makes a setpoint change to an item of equipment, the information can be directed to gateway device 302 and a response can be stored in cloud platform 324.
In some embodiments, gateway device 302 includes a device ID and a hashed key for secure communication. The device ID, key, and/or other password can be encoded to generate a SAS token, which can be transmitted over the network during communications with cloud platform 324. For example, the SAS token can be transmitted during telemetry data transmission, equipment alarms transmission, schedule synchronization between gateway device 302 and cloud platform 324, and/or modifying setpoints and configuration parameters.
This application is related to U.S. Pat. No. 10,880,107 and U.S. patent application Ser. No. 16/740,279, filed Jan. 10, 2020, both of which are incorporated herein by reference in their entireties.
The present disclosure relates generally to building networks for monitoring and controlling building equipment in or around a building. More specifically, the present disclosure relates to systems and methods for wirelessly communicating in a building network.
In a building, various pieces of building equipment (e.g., HVAC equipment, lighting equipment, security equipment, etc.) can communicate via a network within the building. The network may be a wired network, such a building automation and control network (BACnet) network. Pulling communication cable for a wired network through a building adds to the labor expense when installing building equipment. In retrofit scenarios, pulling new communication cable can be even more difficult or damaging to the building.
A building network system for a building including wireless bridge devices forming a multi-point-to-multi-point network for the building. The first wireless bridge device of the wireless bridge devices includes a radio, a wired communications interface configured to communicate with a first building automation control network master slave/token passing (BACnet MS/TP) device connected to the first wireless bridge device; and a processing circuit. The processing circuit is configured to provide wireless communications to and from the first BACnet MS/TP device and a second BACnet IP device such that the first BACnet MS/TP device and the second BACnet MS/TP device are operationally unaware of the wireless communications. The wireless communications are master to master communications.
One implementation of the present disclosure is related to a method. The method includes providing a first message from a first building automation and control network master slave token passing (BACnet MS/TP) device via wired communication on a first BACnet network segment to a first wireless bridge device. The first message is for a second BACnet device in wired communication with a second wireless bridge device. The method also includes providing the first message from the first wireless bridge device to the second wireless bridge device via direct or indirect wireless communication and providing the first message from the second wireless bridge device to the second BACnet MS/TP device. The first BACnet MS/TP device and the second BACnet MS/TP device are operationally unaware of the wireless communications and the first BACnet MS/TP device and the second BACnet MS/TP device are master devices. The first wireless bridge device and the second wireless bridge device are part of multi-point to multi-point network
One implementation of the present disclosure is related to a wireless bridge device for a building network including a plurality of bridge devices forming a wireless system and building automation and control network master slave/token passing (BACnet MS/TP) network segments comprising BACnet MSTP devices. The wireless bridge device includes a wired communications interface configured to communicate with a first BACnet MS/TP device connected to the first wireless bridge device. The wireless bridge device also includes a processing circuit configured to wirelessly transmit and receive messages to and from BACnet MS/TP devices. The processing circuit is configured to transparently communicate the messages such that the BACnet MS/TP devices are operationally unaware of the wireless bridge system and is configured to participate multi-point-to-multi-point network.
One implementation of the present disclosure is related to a building network system for a building. The building network system includes wireless bridge devices forming a network for the building. A first wireless bridge device of the wireless bridge devices includes a radio, a wired communications interface configured to communicate with a first master slave/token passing (MS/TP) device connected to the first wireless bridge device, and a processing circuit configured to provide a temporary reply to a request from the first MS/TP device to a second MS/TP device in wired communication with a second wireless bridge of the wireless bridge devices. The processing circuit is configured to pass a token on behalf of the second MS/TP device, and the processing circuit is configured to provide a first reply to the request from the second MS/TP device received via the second bridge device to the first MS/TP device when a token for the second MS/TP device is obtained.
One implementation of the present disclosure is related to a method. The method includes providing a request from a first building automation and control network (BACnet) device via wired communication on a first BACnet network to a first bridge device. The request is for a second BACnet device in wired communication with a second bridge device. The method also includes passing a token on behalf of the second BACnet device by the first bridge device to the first BACnet network, receiving a reply to the request at the second bridge device from the second BACnet device, and providing the reply from the second bridge device to the first bridge device via wireless communications. The method also includes providing the reply to the first BACnet device via wired communication on the first BACnet network from the first bridge device when a token for the second BACnet device is obtained.
One implementation of the present disclosure is related to a bridge device for a building network. The bridge device includes a radio, a wired communications interface configured to communicate with a first master slave/token passing (MS/TP) network, and a processing circuit configured to wirelessly transmit and receive messages to and from MS/TP devices coupled to the MS/TP network. The processing circuit is configured to transparently communicate the messages such that the MS/TP devices on the first MS/TP network are operationally unaware of a wireless network associated with the bridge device by passing tokens for MS/TP devices outside of the MS/TP network.
Various objects, aspects, features, and advantages of the disclosure will become more apparent and better understood by referring to the detailed description taken in conjunction with the accompanying drawings, in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements.
Overview
Referring generally to the FIGURES, a wireless interface or bridge device is used by building equipment connected to wired building networks to exchange data according to various exemplary embodiments. In many buildings, building equipment is connected together in addition to being connected to external networks that may provide centralized services when the building equipment is being installed, tested, or used. In some embodiments, a wireless bridge for BACnet master slave/token passing (MS/TP) network is provided that addresses challenges associated with BACnet communications due to the multi-master configuration and stricter timing constraints of BACnet networks. In some embodiments, a wireless bridge or interface allows a wireless network to be used as a seamless replacement for some or all of physical wiring between MS/TP devices on a BACnet MS/TP network. In some embodiments, a wireless bridge system bridges segments of an MS/TP bus transparently such that MS/TP devices are operationally unaware of the wireless system. In some embodiments, each wireless bridge device forwards messages received on its local MS/TP interface to the appropriate destination via the wireless network and forwards BACnet messages received from other wireless bridge devices to applicable local MS/TP devices. In some embodiments, the wireless bridge device automatically detects MS/TP devices on its bus and notifies other wireless bridge devices on its network. Automatically detecting MS/TP devices and assigning wireless addresses allows MS/TP devices to be operationally unaware in some embodiments.
The wired networks (e.g., BACnet slave/token passing (MS/TP)) networks can achieve connectivity across building assets in some embodiments. The connectivity may include equipment-to-equipment connectivity, equipment-to-the cloud connectivity, mobile device to the cloud, and mobile devices-to-equipment in the building. Equipment-to-equipment connectivity may be necessary since during installation, equipment may need to communicate with each other to verify proper operation before network infrastructure of a building is in place. Equipment-to-the cloud connectivity may be necessary since equipment may need to be connected to the cloud to perform optimized service operations or other operations (e.g., remote configuration, remote status reporting, receiving remote control operations, cloud service testing, access diagnostic tools, device authentication for equipment to cloud operations, etc.).
Building Management System and HVAC System
Referring now to
The BMS that serves building 10 includes an HVAC system 100. HVAC system 100 can include a plurality of HVAC devices (e.g., thermostats, sensors, controllers, 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
HVAC system 100 is shown to include a chiller 102, a boiler 104, and a rooftop air handling unit (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
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. Airside system 130 can deliver the airflow supplied by AHU 106 (i.e., the supply airflow) to building 10 via air supply ducts 112 and can provide return air from building 10 to AHU 106 via air return ducts 114. 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 VAV unit 116 on each floor or zone of building 10. VAV units 116 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 116 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.
Referring now to
In
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, CO2, 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 invention.
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.
Heat recovery chiller subplant 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 subplant 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 recovery heat exchangers 226. Cooling tower subplant 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 subplant 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.
Hot TES subplant 210 is shown to include a hot TES tank 242 configured to store the hot water for later use. Hot TES subplant 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 subplant 212 is shown to include cold TES tanks 244 configured to store the cold water for later use. Cold TES subplant 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.
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.
Referring now to
In
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) algorithms, feedback control algorithms, etc.) to control actuators 324-328.
Still referring to
Cooling coil 334 can receive a chilled fluid from waterside system 200 (e.g., from cold water loop 216) 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 310.
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.
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.
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.
Still referring to
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.
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 100, its subsystems, and/or devices. Client device 368 can be a computer workstation, a client terminal, a remote or local interface, or any 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.
Building Wireless Network
Some embodiments relate to a system for and method of providing a wireless bridge system for a building, such as the building 10 (
In some embodiments, the wireless bridge device automatically detects MS/TP devices on its bus and notifies other wireless bridge devices on its network. In some embodiments, the wireless bridge device optimizes MS/TP throughput by proxying multiple MS/TP devices with a single token. In some embodiments, the MS/TP tokens are maintained independently on each wired MS/TP network segment. In some embodiments, the wireless bridge device simulates an MS/TP token on behalf of each MS/TP device available over the wireless bridge device. In some embodiments, the wireless bridge device optionally postpones responses on behalf of an MS/TP device based on latency. In some embodiments, a mesh network is formed and each mesh node is equivalent for minimal configuration.
Referring now to
Wired interface 406 is a communication interface (e.g., including a RS-485 interface) in some embodiments. Wired interface 406 includes a RS-485 serial port for communication with the wired network 408 (e.g., a BACnet MS/TP network). The wired network 408 can be coupled with wired devices, such as HAVC devices, lighting devices, security devices, etc. In some embodiments, the wired network 408 is coupled to building devices associated with a BMS.
Radio 402 is a wireless network radio for communication with other wireless bridge devices in some embodiments. The wireless bridge devices form a wireless network in some embodiments. Depending on the radio technology in the wireless bridge device, the wireless network can be a Zigbee network using an 802.15.4 radio, WiFi network using an 802.11 radio, a Bluetooth mesh network, Wi-Fi (star, mesh, Direct) network, etc. The radio 402 can configured to communicate with a mesh network via Wi-Fi, ZigBee (e.g., ZigBee IP, ZigBee Pro Green Power), Bluetooth, LoRa, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) (e.g., the Internet), ad hoc wireless communication (e.g., MANET, VANET, SPANET, iMANET), and/or any other type of wireless communication. In some embodiments, each wireless bridge device, such as bridge device 400, is connected to the MS/TP port of an MS/TP device (controller, actuator, sensor, lighting devices, security devices, any HVAC device discussed above, etc.) or directly to a segment of a wired network 408 (e.g., an MS/TP wired network) via the wired interface 406.
The communications processor 404 executes firmware and coordinate reception and transmission of BACnet messages to and from the wired interface 406. In some embodiments, the communications processor 404 of bridge device 400 automatically discovers the MS/TP devices that are present on the MS/TP network segment (e.g., MS/TP network or wired network 408) and shares that information with other wireless bridge devices so that the other bridge devices know to which wireless bridge device messages destined for those MS/TP devices should be forwarded. The communications processor 404 and other bridge devices maintain proper timing and token passing on the MS/TP network.
The communications processor 404 can include memory according to some embodiments. The communications processor 404 executes firmware stored in memory and performs or supervises media access control (MAC) layer and physical layer operations. The communications processor 404 receives BACnet messages from the wired interface 406. In some embodiments, the communications processor 404 of bridge device 400 uses software to automatically discover the MS/TP devices that are present on the MS/TP network segment (e.g., wired network 408) and shares that information with other wireless bridge devices so that the other bridge devices know to which wireless bridge device messages destined for those MS/TP devices should be forwarded. Automatic discovery can be achieved by monitoring the token on the network 408 or bus to determine which devices are actually communicating and using the token in some embodiments. In some embodiments, automatic discovery can be achieved by inspecting the messages that are being communicated on the wired network 408 or bus to discover messages and addresses. For example, if a device is present and receives a message on the wired side, the bridge device 400 determines the address is present on the wired network 408 and vice versa for the wireless side. Automatic discovery is performed in the media access control (MAC) layer of the wireless device 400 in some embodiments.
Communications processor 404 can be configured to perform some and/or all of the functionality of bridge device 400. In some embodiments, communications processor 404 is configured to perform some or all of the functionality necessary for connecting to mesh, point to point, or star networks and for transmitting information to and from the mesh, point to point, or star network. In some embodiments, communications processor 404 is configured to perform the functionality necessary to operate as an access point and to transfer information between wired network 408 and radio 402. Processor 404 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 404 may be configured to execute computer code and/or instructions stored in memory or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.). In some embodiments, the memory stores a Linux operating system, the Linux operating system can facilitate some and/or all of the functionality of the components of the memory. The memory 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. In some embodiments, the memory stores data and/or computer code for completing and/or facilitating the various processes relevant to the operation of communications. The memory 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. The memory can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures for bridge device 400.
The bridge device 400 can use standards such as IEEE 802.11s or any variation of IEEE 802.11s to implement a mesh network between bridge devices. The bridge device 400 can utilize stored information (e.g., stored and/or shared information) regarding the links between various network devices to determine the most efficient path in the mesh network to forward data.
Bridge device 400 can be configured to establish links with other bridge devices for the purpose of being able to forward data packets on each other's behalf. Forwarding packets allows for data at one bridge device to be passed from bridge device to bridge device to reach its destination on another device on MS/TP network or wired network 408, or the Internet, even when the source and destination devices are not in direct range of each other.
With reference to
With reference to
With reference to
With reference to
Once device B (e.g., device 634) replies, the reply is held at the original wireless bridge device (bridge device 630) until the token for device B is obtained in an operation 806. The reply is wrapped in a wireless message and unwrapped for the wired format by the bridge device 610. When the token for device B is obtained, the bridge device 630 forwards the reply to device A on the MS/TP network segment 632.
Due to this proper maintenance of the MS/TP timing and token passing in flow 800, no changes are needed on the MS/TP devices A and B to support the wireless bridging protocol in some embodiments. The protocol is transparent to the MS/TP devices 604, 606, 608, 624, 624, 636 and 644 and can advantageously be used in new networks as well as existing networks and extensions thereof without any changes to the existing MS/TP devices 604, 606, 608, 624, 624, 636 and 644. The protocol and network structure of networks 500, 600 and 700 also allows for less costly repairs of a network that has been damaged due to the potentially time-consuming search for damaged communication cable and/or the need to install replacement communication cable.
In some embodiments, the bridge device 600 simulates an MS/TP token on behalf of each MS/TP device 604, 606, 608, 624, 624, 636 and 644 available over the bridge device 600. In some embodiments, the wireless bridge device will optionally postpone responses on behalf of an MS/TP device based on latency. In some embodiments, the bridge device 600 includes queue that stores replies or other communications in the queue and provides the replies or other communications when a token is obtained. The queue can maintain the order of the communications.
The wireless connection in networks 500, 600, and 700 can be automatically formed in point to point, mesh or star topologies. For example, the bridge devices in 500, 600, and 700 can be configured to automatically form a mesh network. The mesh network can be a Wi-Fi mesh network, a ZigBee mesh network, a LoRa mesh network, and/or any other mesh network or combination thereof. The number of MS/TP devices (e.g., devices 604, 606, 608, 624, 624, 636 and 644), network segments (e.g., segments 602 and 632), and bridge devices (e.g., bridge devices 510, 520, 610, 620, 630, 640, 710, 720, 730, and 740) shown in the Figures are exemplary only and additional or fewer components can be utilized. In some embodiments, each network segment 502, 602, 632702, and 742 has its own token. Networks 500, 600, and 700 are configured for multipoint to multipoint communications in some embodiments. In some embodiments, the bridge devices 510, 520, 610, 620, 630, 640, 710, 720, 730, and 740 are configured for multipoint to multipoint communications in a multipoint to multipoint capable network. In some embodiments, networks 500, 600, and 700 are configured for master-to-master communications (e.g., through bridge devices 510, 520, 610, 620, 630, 640, 710, 720, 730, and 740).
Devices 604, 606, 608, 624, 624, 636 and 644 as well as the devices in networks 500 and 700 may be any kind of HVAC, security, and/or fire prevention device and/or system. In some embodiments, building equipment on the wired network 408 is one and/or a combination of AHU 106, VAVs 116, boiler 104, chiller 102, thermostats, controllers, sensors, actuators, valves, and/or any other building HVAC device. In some embodiments, devices 604, 606, 608, 624, 624, 636 and 644 can be HVAC controllers, sensors, thermostats, fire detectors, fire panels, security cameras, security panels, and/or any other pieces of building equipment.
Each of devices 604, 606, 608, 624, 624, 636 and 644 may include sub-components which perform different functions, according to some embodiments. Various configurations and numeration of the different devices 604, 606, 608, 624, 624, 636 and 644 are possible according to some embodiments. In some embodiments, for example, all of the 604, 606, 608, 624, 624, 636 and 644 may be environmental controller devices configured to transmit information between other environmental controller devices via bridge devices 610, 620, 620 and 640.
Configuration of Exemplary Embodiments
The construction and arrangement of the systems and methods as shown in the various exemplary 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 may be reversed or otherwise varied and the nature or number of discrete elements or positions may be altered or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions may be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.
The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may 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 structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose 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. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such connection is properly termed a machine-readable medium. 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.
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 may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All 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.
End of Appendix H.
The construction and arrangement of the systems and methods as shown in the various exemplary 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 may be reversed or otherwise varied and the nature or number of discrete elements or positions may be altered or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions may be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.
The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may 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 structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose 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.
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 may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All 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.
A portion of the disclosure of this patent document (including the Appendices) contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
Number | Date | Country | Kind |
---|---|---|---|
202121022969 | May 2021 | IN | national |
This application is a continuation-in-part of U.S. patent application Ser. No. 17/374,135 filed Jul. 13, 2021, and claims the benefit of and priority to Indian Provisional Patent Application No. 202121022969 filed May 24, 2021, the entire disclosures of which are incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
Parent | 17374135 | Jul 2021 | US |
Child | 17750824 | US |