US20140129180A1 - Systems and methods for evaluating and reporting events in a building management system - Google Patents

Systems and methods for evaluating and reporting events in a building management system Download PDF

Info

Publication number
US20140129180A1
US20140129180A1 US14/155,276 US201414155276A US2014129180A1 US 20140129180 A1 US20140129180 A1 US 20140129180A1 US 201414155276 A US201414155276 A US 201414155276A US 2014129180 A1 US2014129180 A1 US 2014129180A1
Authority
US
United States
Prior art keywords
event
building
symptom
prior
fault
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/155,276
Inventor
Douglas P. Mackay
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Johnson Controls Technology Co
Original Assignee
Johnson Controls Technology Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/898,589 external-priority patent/US20110087650A1/en
Application filed by Johnson Controls Technology Co filed Critical Johnson Controls Technology Co
Priority to US14/155,276 priority Critical patent/US20140129180A1/en
Assigned to JOHNSON CONTROLS TECHNOLOGY COMPANY reassignment JOHNSON CONTROLS TECHNOLOGY COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MACKAY, DOUGLAS P
Publication of US20140129180A1 publication Critical patent/US20140129180A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • G05B23/0245Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a qualitative model, e.g. rule based; if-then decisions
    • G05B23/0248Causal models, e.g. fault tree; digraphs; qualitative physics
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Definitions

  • the present invention relates generally to the field of building management systems.
  • a building management system is, in general, a system of devices configured to control, monitor, and manage equipment in or around a building or building area.
  • a BMS can include a heating, ventilation, and air conditioning (HVAC) system, a security system, a lighting system, a fire alerting system, another system that is capable of managing building functions or devices, or any combination thereof.
  • HVAC heating, ventilation, and air conditioning
  • BMS devices may be installed in any environment (e.g., an indoor area or an outdoor area) and the environment may include any number of buildings, spaces, zones, rooms, or areas.
  • a BMS may include METASYS building controllers or other devices sold by Johnson Controls, Inc., as well as building devices and components from other sources.
  • a BMS may include one or more computer systems (e.g., servers, BMS controllers, etc.) that serve as enterprise level controllers, application or data servers, head nodes, master controllers, or field controllers for the BMS.
  • Such computer systems may communicate with multiple downstream building systems or subsystems (e.g., an HVAC system, a security system, etc.) according to like or disparate protocols (e.g., LON, BACnet, etc.).
  • the computer systems may also provide 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 the BMS, its subsystems, and devices.
  • 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.
  • One implementation of the present disclosure is a computerized method for evaluating and reporting events in a building management system.
  • the method includes receiving, at a processing circuit, an event indication for building equipment of the building management system.
  • the event indication is associated with an event.
  • the method further includes classifying the event as at least one of a cause event and a symptom event, suppressing the event indication in response to classifying the event as a symptom event, and displaying the event indication in response to classifying the event as a cause event.
  • classifying the event as a symptom event includes retrieving, from the building management system, event information associated with the event, using the event information to determine whether the event is an abnormal event, and classifying the event as a symptom event in response to a determination that the event is an abnormal event.
  • the method further includes, in response to classifying the event as a symptom event, using an ontological model of the building equipment to identify a prior event which could have caused the symptom event and displaying an event indication associated with the prior event.
  • the prior event is a first prior event representing a most direct cause of the symptom event.
  • the method may further include using the ontological model to determine whether the first prior event could have been caused by a second prior event and displaying the second prior event and suppressing the first prior event in response to a determination that the second prior event could have caused the first prior event.
  • using an ontological model of the building equipment to identify a prior event which could have caused the symptom event includes identifying a building object associated with the symptom event, using the ontological model to determine one or more building objects that are causally related to the building object associated with the symptom event, retrieving event information associated with the one or more of the causally-related building objects, and analyzing the event information to identify a prior event which could have caused the symptom event.
  • analyzing the event information to identify a prior event which could have caused the symptom event includes using the event information to identify an abnormal event prior to the symptom event and using the ontological model to determine whether the abnormal event could have caused the symptom event.
  • suppressing the event indication includes at least one of preventing the event indication from being displayed on a user interface and displaying the event indication as a secondary event on the user interface.
  • Another implementation of the present disclosure is a computerized method for evaluating and reporting faults in a building management system.
  • the method includes receiving, at a processing circuit, multiple fault indications for building equipment of the building management system, using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault, and suppressing the multiple fault indications and displaying the single fault in response to a determination that the multiple fault indications could be caused by the single fault.
  • using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault includes identifying one or more building objects associated with the multiple fault indications, using the ontological model to determine a single building object that is causally related to each of the identified building objects, retrieving event information associated with the single building object, and analyzing the event information to identify a single fault which could cause the multiple fault indications.
  • analyzing the event information to identify a single fault which could cause the multiple fault indications includes using the event information to identify an abnormal event prior to the multiple fault indications and using the ontological model to determine whether the abnormal event could have caused the multiple fault indications.
  • using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault includes comparing a timestamp of the single fault to timestamps of the multiple fault indications and determining that the multiple fault indications could be caused by the single fault in response to the timestamp of the single fault antedating the timestamps of the multiple fault indications.
  • suppressing the multiple fault indications comprises at least one of preventing the multiple fault indications from being displayed on a user interface and displaying the multiple fault indications as secondary events on the user interface.
  • the computer system includes a processing circuit configured to receive an event indication for building equipment of the building management system.
  • the event indication is associated with an event.
  • the processing circuit is configured to classify the event as at least one of a cause event and a symptom event.
  • the processing circuit is configured to suppress the event indication in response to classifying the event as a symptom event and to display the event indication in response to classifying the event as a cause event.
  • the processing circuit is configured to retrieve, from the building management system, event information associated with the event, use the event information to determine whether the event is an abnormal event, and classify the event as a symptom event in response to a determination that the event is an abnormal event.
  • the processing circuit is configured to, in response to classifying the event as a symptom event, use an ontological model of the building equipment to identify a prior event which could have caused the symptom event and display an event indication associated with the prior event.
  • the prior event is a first prior event representing a most direct cause of the symptom event.
  • the processing circuit may be configured to use the ontological model to determine whether the first prior event could have been caused by a second prior event and display the second prior event and suppress the first prior event in response to a determination that the second prior event could have caused the first prior event.
  • using an ontological model of the building equipment to identify a prior event which could have caused the symptom event includes identifying a building object associated with the symptom event, using the ontological model to determine one or more building objects that are causally related to the building object associated with the symptom event, retrieving event information associated with the one or more of the causally-related building objects, and analyzing the event information to identify a prior event which could have caused the symptom event.
  • analyzing the event information to identify a prior event which could have caused the symptom event includes using the event information to identify an abnormal event prior to the symptom event and using the ontological model to determine whether the abnormal event could have caused the symptom event.
  • analyzing the event information to identify a prior event which could have caused the symptom event includes comparing a timestamp of the prior event with a timestamp of the symptom event and determining that the prior event could have caused the symptom event in response to the timestamp of the prior event antedating the timestamp of the symptom event.
  • suppressing the event indication includes at least one of preventing the event indication from being displayed on a user interface and displaying the event indication as a secondary event on the user interface.
  • Another implementation of the present disclosure is a computer-readable storage medium having computer-readable instructions embedded therein.
  • the computer-readable instructions when executed by one or more processors, cause the one or more processors to perform operations including receiving an event indication for building equipment of the building management system.
  • the event indication is associated with an event.
  • the operations further include classifying the event as at least one of a cause event and a symptom event, suppressing the event indication in response to classifying the event as a symptom event, and displaying the event indication in response to classifying the event as a cause event.
  • FIG. 1A is a perspective view of a building including a BMS, according to an exemplary embodiment
  • FIG. 1B is a block diagram of the BMS for the building of FIG. 1A , according to an exemplary embodiment
  • FIGS. 1C-D are detailed block diagrams of a portion of the BMS shown in FIG. 1B , according to an exemplary embodiment
  • FIGS. 2A-B are diagrams of causal relationship models, according to an exemplary embodiment
  • FIG. 3 is a flow diagram of a process for building a causal relationship model of the BMS, according to an exemplary embodiment
  • FIG. 4 is a flow diagram of a process for using a hierarchical model of the BMS, according to an exemplary embodiment
  • FIG. 5 is a flow diagram of a process for providing a graphical user interface that allows users to view or interact with a causal relationship model, according to an exemplary embodiment
  • FIG. 6 is a block diagram of the query engine shown in FIGS. 1C and 1D , according to an exemplary embodiment
  • FIG. 7 is a block diagram of the system analysis module shown in FIGS. 1C and 1D , according to an exemplary embodiment
  • FIG. 8 is a flow diagram of a process for evaluating and reporting a cause of an event in a BMS, according to an exemplary embodiment
  • FIG. 9 is a flow diagram of a process for determining a cause of a fault is shown
  • FIG. 10 is a flow diagram of a process for identifying a possible cause of a fault is shown, according to an exemplary embodiment
  • FIG. 11 is a flow diagram of a process for using time data to determine a cause of a fault, according to an exemplary embodiment.
  • FIG. 12 is a detailed flow diagram of a process for determining a cause of a fault using time data, according to an exemplary embodiment.
  • Conventional building management systems receive fault indications from varying subsystems and devices.
  • a server or a client front-end conventionally causes the fault to be reported to a user via, e.g., a graphical user interface.
  • Other building management systems analyze data (e.g., trends, statistics, etc.) to determine whether to derive a fault from the analyzed data.
  • the present application relates to systems and methods for determining and reporting a root cause for a received or determined fault.
  • a causal relationship model including the building equipment associated with the fault is traversed to determine the root cause. This approach can advantageously help building managers or engineers identify and address a fault's source rather than merely identifying and addressing a fault's downstream effects.
  • Embodiments of the present disclosure include a computer system for a BMS (e.g., a BMS controller) that has been configured to help make differences in building subsystems transparent at the human-machine interface, application, or client interface level.
  • the computer system is configured to provide access to different building devices and building subsystems using common or unified building objects (e.g., software objects stored in memory) to provide the transparency.
  • a software defined building object e.g., “virtual building object,” “virtual device” groups multiple properties from disparate building systems and devices into a single software object that is stored in memory and provided by a computer system for interaction with other systems or applications (e.g., front-end applications, control applications, remote applications, client applications, local processes, etc.).
  • Multiple software defined building objects may be described as forming an abstraction layer of a BMS software framework or architecture. Benefits such as allowing developers to write applications that will work regardless of a particular building subsystem makeup (e.g., particular naming conventions, particular protocols, etc.) may be provided by such software defined building objects. Such software defined building objects are further described in Ser. No. 12/887,390, filed Sep. 21, 2010 to Huneycutt et al. Application Ser. No. 12/887,390 is hereby incorporated by reference in its entirety.
  • a BMS serves building 10 .
  • the BMS for building 10 may include any number or type of devices that serve the building.
  • each floor may include one or more security devices, video surveillance cameras, fire detectors, smoke detectors, lighting systems, HVAC systems, or other building systems or devices.
  • BMS devices can exist on different networks within the building (e.g., one or more wireless networks, one or more wired networks, etc.) and yet serve the same building space or control loop.
  • BMS devices may be connected to different communications networks or field controllers even if the devices serve the same area (e.g., floor, conference room, building zone, tenant area, etc.) or purpose (e.g., security, ventilation, cooling, heating, etc.).
  • area e.g., floor, conference room, building zone, tenant area, etc.
  • purpose e.g., security, ventilation, cooling, heating, etc.
  • BMS 11 is shown to include a plurality of BMS subsystems 20 - 26 .
  • Each BMS subsystem 20 - 26 is connected to a plurality of BMS devices and makes data points for varying connected devices available to upstream BMS controller 12 .
  • BMS subsystems 20 - 26 may encompass other lower-level subsystems.
  • an HVAC system may be broken down further as “HVAC system A,” “HVAC system B,” etc.
  • multiple HVAC systems or subsystems may exist in parallel and may not be a part of the same HVAC system 20 .
  • HVAC system 20 includes HVAC system 20 .
  • HVAC system 20 is shown to include a lower-level HVAC system 42 , named “HVAC system A.”
  • HVAC system 20 may control HVAC operations for a given building (e.g., building 10 ), while “HVAC system A” 42 controls HVAC operations for a specific floor of that building.
  • HVAC system A” 42 is connected to air handling units (AHUs) 32 , 34 , named “AHU A” and “AHU B” in the BMS, respectively.
  • AHU 32 may control variable air volume (VAV) boxes 38 , 40 , named “VAV_ 3 ” and “VAV_ 4 ” in the BMS.
  • VAV variable air volume
  • AHU 34 may control VAV boxes 36 and 110 , named “VAV_ 2 ” and “VAV_ 1 .”
  • HVAC system 42 may also include chiller 30 , named “Chiller A” in the BMS. Chiller 30 may provide chilled fluid to AHU 32 and/or to AHU 34 .
  • HVAC system 42 may also receive data from AHUs 32 , 34 (e.g., a temperature setpoint, a damper position, temperature sensor readings). HVAC system 42 may then provide such BMS inputs up to HVAC system 20 and on to middleware 14 and BMS controller 12 .
  • other BMS subsystems may receive inputs from other building devices or objects and provide them to middleware 14 and BMS controller 12 (e.g., via middleware 14 ).
  • a window control system 22 may receive shade control information from one or more shade controls, may receive ambient light level information from one or more light sensors, or may receive other BMS inputs (e.g., sensor information, setpoint information, current state information, etc.) from downstream devices.
  • Window control system 22 may include window controllers 107 , 108 , named “local window controller A” and “local window controller B” in the BMS, respectively. Window controllers 107 , 108 control the operation of subsets of the window control system 22 .
  • window controller 108 may control window blind or shade operations for a given room, floor, or building in the BMS.
  • Lighting system 24 may receive lighting related information from a plurality of downstream light controls, for example, from room lighting 104 .
  • Door access system 26 may receive lock control, motion, state, or other door related information from a plurality of downstream door controls.
  • Door access system 26 is shown to include door access pad 106 , named “Door Access Pad 3F” which may grant or deny access to a building space (e.g., floor, conference room, office, etc.) based on whether valid user credentials are scanned or entered (e.g., via a keypad, via a badge-scanning pad, etc.).
  • a building space e.g., floor, conference room, office, etc.
  • valid user credentials scanned or entered (e.g., via a keypad, via a badge-scanning pad, etc.).
  • BMS subsystems 20 - 26 are shown as connected to BMS controller 12 via middleware 14 and are configured to provide BMS controller 12 with BMS inputs from the various BMS subsystems 20 - 26 and their varying downstream devices.
  • BMS controller 12 is configured to make differences in building subsystems transparent at the human-machine interface or client interface level (e.g., for connected or hosted user interface (UI) clients 16 , remote applications 18 , etc.).
  • BMS controller 12 is configured to describe or model different building devices and building subsystems using common or unified building objects (e.g., software objects stored in memory) to help provide the transparency. Benefits such as allowing developers to write applications that will work regardless of the building subsystem makeup may be provided by such software building objects.
  • FIGS. 1C-D are detailed block diagrams of a portion of the BMS as shown in FIG. 1B , according to an exemplary embodiment. Many different building devices connected to many different BMS subsystems are shown to affect conference room “B 1 _F 3 _CR 5 .”
  • conference room 102 includes or is otherwise affected by VAV box 110 , window controller 108 (e.g., a blind controller), a system of lights 104 named “Room Lighting 12 ,” and door access pad 106 .
  • VAV box 110 , window controller 108 , lights 104 , and door access pad 106 are not otherwise related.
  • the local control circuitry of VAV box 110 may include circuitry that affects an actuator in response to control signals received from a field controller that is a part of HVAC system 20 .
  • Window controller 108 may include circuitry that affects windows or blinds in response to control signals received from a field controller that is part of window control system (WCS) 22 .
  • WCS window control system
  • Root Lighting 12 ” 104 may include circuitry that affects the lighting in response to control signals received from a field controller that is part of lighting system 24 .
  • Access pad 106 may include circuitry that affects door access (e.g., locking or unlocking the door) in response to control signals received from a field controller that is part of door access system 26 .
  • a software defined building object of the present disclosure is intended to group otherwise ungrouped or unassociated devices so that the group may be addressed or handled by applications together and in a consistent manner.
  • a conference room building object may be created in memory for each conference room in the building.
  • each conference room building object may include the same attribute, property, and/or method names as those shown in FIGS. 1C-D .
  • each conference room may include a variable air volume box attribute, a window attribute, a lighting attribute, and a door access device attribute.
  • Such an architecture and collection of building objects is intended to allow developers to create common code for use in buildings regardless of the type, protocol, or configuration of the underlying BMS subsystems.
  • a single automated control application may be developed to restrict ventilation to conference rooms when the conference rooms are not in use (e.g., when the occupied attribute is equal to “true”).
  • a new conference room building object can be created and set-up (e.g., a variable air volume unit mapped to the conference room building object).
  • code written for controlling or monitoring conference rooms can interact with the new conference room (and its actual BMS devices) without modification.
  • the BMS is shown to include a BMS interface 132 in communication with middleware 14 of the BMS.
  • Middleware 14 is generally a set of services that allow interoperable communication to, from, or between disparate BMS subsystems 20 - 26 of the BMS (e.g., HVAC systems from different manufacturers, HVAC systems that communicate according to different protocols, security/fire systems, IT resources, door access systems, etc.).
  • Middleware 14 may be, for example, an EnNet server sold by Johnson Controls, Inc. While middleware 14 is shown as separate from BMS controller 12 , in various exemplary embodiments, middleware 14 and BMS controller 12 are integrated. For example, middleware 14 may be a part of BMS controller 12 .
  • BMS interface 132 (e.g., a communications interface) can be or include wired or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with another system or network.
  • BMS interface 132 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network.
  • BMS interface 132 includes a WiFi transceiver for communicating via a wireless communications network.
  • BMS interface 132 may be configured to communicate via local area networks or wide area networks (e.g., the Internet, a building WAN, etc.).
  • BMS interface 132 is configured to receive building management inputs from middleware 14 or directly from one or more BMS subsystems 20 - 26 .
  • BMS interface 132 can include any number of software buffers, queues, listeners, filters, translators, or other communications-supporting services.
  • BMS controller 12 is further shown to include a processing circuit 134 including a processor 136 and memory 138 .
  • Processor 136 may be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components.
  • ASIC application specific integrated circuit
  • FPGAs field programmable gate arrays
  • Processor 136 is configured to execute computer code or instructions stored in memory 138 or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).
  • memory 138 is communicably connected to processor 136 via electronics circuitry.
  • Memory 138 (e.g., memory unit, memory device, storage device, etc.) is one or more devices for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure.
  • Memory 138 may be RAM, 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 138 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure.
  • Memory 138 for example, includes computer code for executing (e.g., by processor 136 ) one or more processes described herein. When processor 136 executes instructions stored in memory 138 for completing the various activities described herein, processor 136 generally configures BMS controller 12 and more particularly processing circuit 134 to complete such activities.
  • Memory 138 is shown to include building objects 142 and building object templates 140 , which can be used to construct building objects of predefined types.
  • building object templates 140 may contain a “Conference Room” template that can be used to define conference room objects in building objects 142 .
  • software defined building object 142 named “Conference_Room.B 1 _F 3 _CR 5 ” is illustrated as existing within memory 138 of BMS controller 12 .
  • a particular building object for example, a software object of an AHU
  • inputs from building management resources may be mapped (e.g., linked, associated, described, grouped) to attributes of the particular building object.
  • a simplified exemplary result of such mapping might be an object such as:
  • the building object's name is “Floor 1 AHU” which may conform to a naming convention indicating that it is the AHU serving the first floor of a building.
  • the building object “Floor 1 AHU” has three values or attributes: temperature sensor, setpoint, and damper_position that are mapped to the particular BMS resources of “Floor 1 AHU.controllerB.TempS,” “Floor 1 AHU. 345 server.Setpoint,” and “Floor 1 AHU. 345 server.Damper,” respectively.
  • the mapping provides a description for BMS or computing resources (e.g., back end software applications or client applications) so that the BMS or computing resources can identify, access, display, change, or otherwise interact with the particular BMS resources mapped to “Floor 1 AHU” even when the resources are associated with different servers or controllers.
  • BMS or computing resources e.g., back end software applications or client applications
  • BMS controller 12 may group inputs from the various subsystems 20 - 26 to create a building object “Conference_Room.B 1 _F 3 _CR 5 ” including inputs from various systems controlling the environment in the room.
  • An exemplary software defined building object might be an object such as:
  • the software defined building object's name is “Conference_Room.B 1 _F 3 _CR 5 ” which may conform to a naming convention indicating that it is a conference room in a particular location in the building, e.g. Conference Room 5 is on Floor 3 of Building 1 .
  • the building object “Conference_Room.B 1 _F 3 _CR 5 ” has several values or attributes including vav, window, lighting, door_access, occupied, and getSheddableWattage.
  • the attributes of vav, window, lighting, and door_access are mapped to the particular BMS resources of “HVAC_System_A/VAV_ 1 ,” “WCS/WindowControllerB,” “LightingSystem/RL 12 ,” and “AccessSys/DAP 3 F,” respectively.
  • the mapping provides a description for BMS or computing resources (e.g., back end software applications, client applications, BMS control routines, etc.) so that the BMS or other computing resources can identify, access, display, change or otherwise interact with the software defined building object in a meaningful way (e.g., in a way that allows changes to be made to the mapped devices).
  • a software defined building object may be mapped to BMS inputs manually.
  • mapping may be completed by a user with a graphical user interface tool that requires a user to either type in or “drag and drop” BMS inputs to an object.
  • Software defined building objects may also or alternatively be mapped to BMS inputs by computerized systems configured to provide varying degrees of mapping automation.
  • patent application Ser. No. 12/887,390 filed Sep. 21, 2010 and incorporated herein by reference in its entirety, describes systems and methods for creating software defined building objects and mapping BMS inputs to the building objects.
  • “Occupied” is a boolean property unique to the “Conference_Room.B 1 _F 3 _CR 5 ” building object.
  • GetSheddableWattage( ) is a method unique to the “Conference_Room.B 1 _F 3 _CR 5 ” building object.
  • all conference room building objects may have the same attributes as “Conference_Room.B 1 _F 3 _CR 5 ” listed above.
  • the rooms may be treated the same way in code existing in BMS controller 12 , remote applications 18 , or UI clients 16 .
  • an engineer writing software code for UI clients 16 , remote applications 18 or BMS controller 12 can know that each conference room will have attributes listed above (e.g., VAV, window, lighting, door access, occupied, getSheddableWattage( )). Therefore, for example, rather than having to know an address for a particular variable air volume controller in a particular HVAC system, a given conference room's VAV controller may be available at the conference room's vav attribute.
  • the creation of a software defined building object may include three steps:
  • a conference room template or class may be created (e.g., by a developer, by a rapid application development module, etc.) such as the following:
  • Conference_Room extends Device ⁇ def vav def window def lighting def door_access def occupied def getSheddableWattage( ) ⁇ ... ⁇
  • the building object template or class may be a Groovy/Java class configured to inherit a series of benefits such as the ability to extend existing devices.
  • An instance of the class may be created and named (for example “B 1 _F 3 _CR 5 ”).
  • the names can be descriptive, based on an automated routine configured to find building objects, manually applied, or otherwise.
  • the mapping or binding process maps disparate BMS devices or inputs to the instance of the building object.
  • software defined building objects may be used by applications (local, remote, client, etc.) with any suitable programming language or syntax.
  • the following exemplary piece of code is configured to load “B 1 _F 3 _CR 5 ” as ConfRoom, print the result of the method getSheddableWattage for ConfRoom, and set the window parameter to “50” (which may be sent to WCS 22 or “Local Window Controller B” 108 via BMS interface 132 or middleware 14 shown in FIGS. 1C-D to cause the blinds to be 50 percent open) when the ConfRoom object is saved.
  • application services 148 of BMS controller 12 shown in FIGS. 1C-D may be or include web services configured to allow remote applications 18 or local applications 150 to access building object templates 140 , building objects 142 , causal relationship models 152 , hierarchical projection models 154 and query engine 156 directly or indirectly via a set of internet application programming interfaces.
  • each software defined building object may include or be exposed to a to XML( ) method configured to describe the software defined building object using XML.
  • application services 148 allows remote applications 18 on other BMS controllers to communicate with BMS controller 12 over a network.
  • causal relationship models 152 which store the causal relationships between objects in building objects 142 .
  • a “ventilates” causal relationship may be used to relate a VAV box object to a conference room object.
  • Memory 138 is also shown to include hierarchical projection models 154 . While the models of the present disclosure are not stored or represented as static hierarchical models, systems and methods of the present disclosure are configured to allow the creation of multiple hierarchical views of the causal relationship model. Each “view” may be defined as a hierarchical model (e.g., tree model, uni-directional tree, top-down tree having a head node) in memory 138 to which a causal relationship model can be applied. In other words, one or more hierarchical models may be created in memory 138 and one or more causal relationships can be projected onto the one or more hierarchical models.
  • a hierarchical model e.g., tree model, uni-directional tree, top-down tree having a head node
  • Memory 138 is also includes client services 146 configured to allow interaction between internal or external clients or applications and BMS controller 12 .
  • Client services 146 may include web services or application programming interfaces available for communication by UI clients 16 and remote applications 18 (e.g., an energy monitoring application, an application allowing a user to monitor the performance of the BMS, an automated fault detection and diagnostics system, etc.).
  • Memory 138 further includes user interface module 144 .
  • User interface module 144 is configured to generate one or more user interfaces for receiving input from a user.
  • User interface module 144 may be configured to provide, for example, a graphical user interface, a voice driven interface, a text-based interface, or another interface for receiving user input regarding the mapping of BMS inputs to building objects.
  • user interface module 144 is an HTML-based application configured to be served by, for example, client services 146 or another web server of BMS controller 12 or another device.
  • User interface module 144 may be configured to prompt a user (e.g., visually, graphically, audibly, etc.) for input regarding building objects 142 , building object templates 140 , causal relationship models 152 or hierarchical projection models 154 .
  • user interface module 144 prompts the user to create (or otherwise provides a user interface for creating) a template building object 140 .
  • User interface module 144 may also prompt the user to map BMS inputs to the template building object.
  • User interface module 144 may receive and handle the user inputs to initiate the storage of received input mappings.
  • user interface module 144 may prompt the user to identify, define, store, modify or delete a causal relationship in causal relationship models 152 .
  • a user may use a GUI to create a causal relationship between defined building objects in building objects 142 , e.g. relating a conference room object to a VAV box object.
  • User interface module 144 may further be configured to generate and serve graphical user interfaces having information displays of building objects and/or causal relationships. User interface module 144 may also be configured to utilize query engine 156 to query and retrieve information about causal relationships in causal relationship models 152 or via hierarchical projection models 154 .
  • causal relationship models 152 is shown to include a causal relationship model for conference room 102 and a number of building objects (e.g. building objects 30 , 32 , 40 , etc. associated with devices shown in FIG. 1B ) that affect access to conference room 102 or the environment of conference room 102 .
  • the causal relationships from these building objects to conference room 102 are identified and mapped back to conference room 102 .
  • VAV box 110 is shown linked to conference room 102 with a directional link described by the name or tag “ventilates.” This link represent the causal relationship between VAV box 110 and conference room 102 . More particularly, the link identifies the causal relationship between VAV box 110 and conference room 102 as one where VAV box 110 provides ventilation to conference room 102 .
  • VAV box 110 is affected by HVAC System 20 and so the corresponding causal relationship is shown as being directional from conference room 102 to VAV box 110 with “controls” describing the relationship.
  • room lighting 104 lights conference room 102
  • window controller 108 dims conference room 102
  • access pad 106 controls access to conference room 102 .
  • conference room 102 is not a building device that is associated with any one particular controller or BMS subsystem.
  • the exemplary causal relationship information structure shown at the bottom of FIG. 1D provides a multi-level relationship map that more clearly represents the complex control environment of the actual conference room shown at the top of FIG. 1D .
  • the causal relationship models can provide new user interface views, more robust searching “show me all VAV boxes that ventilate conference rooms,” new fault detection and diagnostics tools, and other advantages.
  • a key feature of an ontological model is the ability to define relationships between dissimilar object types.
  • a conventional hierarchical model may have an HVAC server object and a “VAV box” that is a member of the HVAC server object due to its control connection.
  • Such a hierarchical model allows objects to be handled in a hierarchical manner, but lacks the ability to interrelate objects that do not follow the chain of inheritance.
  • Causal relationships or ontological models allow dissimilar objects to be related, thereby adding layers of description, flexibility, and robustness to the system.
  • a “ventilates” causal relationship may be used to relate a VAV box object to a conference room object, even though VAV box objects and conference room objects are dissimilar.
  • Memory 138 is shown to include causal relationship models 152 , which store the causal relationships between objects in building objects 142 .
  • FIGS. 2A-B illustrate two exemplary causal relationship models.
  • causal relationships are shown between various building objects.
  • Building object 210 named “Building 1 ” in the BMS, has causal relationships with chiller 30 and floor 214 , named “Floor 3 .”
  • the causal relationship “has” is shown to link and define the relationships between building 210 , floor 214 and chiller 30 .
  • Chiller 30 in turn, has causal relationships with AHUs 32 , 34 , i.e. it “chills” the air passing through AHUs 32 , 34 .
  • AHU 32 in turn, has a causal relationship, “controls,” with VAV boxes 38 , 40 .
  • AHU 34 has a causal relationship, “controls,” with VAV boxes 36 , 110 .
  • VAV boxes 38 , 40 have “ventilates” causal relationships with conference room 212 , named “Conference Room 4 ” or “CR 4 ” in the BMS.
  • VAV boxes 36 , 110 have “ventilates” causal relationships with conference room 102 , named “Conference Room 5 ” or “CR 5 ” in the BMS.
  • CR 5 102 is shown to have properties 216 , which can be created by default when a new conference room object is added to the BMS, or created by the BMS or a user when more information about the conference room becomes available.
  • conference rooms 102 , 212 are shown to have causal relationships with floor 214 , denoting that both rooms are “on” floor 3 .
  • a software defined building object can be causally related with one or more actual devices (e.g., VAV_ 1 ) or with other software defined building objects (e.g., “Floor 3 ”).
  • causal relationship models may be stored in memory in any number of ways.
  • causal relationship models may be stored within one or more tables.
  • a table may have columns for a relationship type (e.g., a relationship description), a first object identifier, and a second object identifier.
  • a row entry in such a table may include “has” in the relationship column, “Building 1 ” in the first object identifier column, and “Floor 3 ” in the second object identifier column.
  • causal relationship models 152 can be easily queried by relationship type, first object identifier and/or second object identifier.
  • a different table can be established for every type of causal relationship in the system.
  • each software-defined building object may include a number of causal relationship properties or attributes that store the causal relationships.
  • a building object for “CR 4 ” shown in FIG. 2A might include a “ventilated by” property that is a delimited string of devices that ventilate CR 4 (e.g., ventilated by: VAV_ 3 , VAV_ 4 ). Any number of suitable information structures for representing the causal relationship may be stored in memory.
  • FIG. 2B illustrates another exemplary causal relationship model for the building objects in FIG. 2A .
  • causal relationships between building objects are linked with causal relationships that have a directionality that is opposite to that shown in FIG. 2A .
  • the causal relationship model of FIG. 2B may co-exist with the model shown in FIG. 2A . In other embodiments, only one of FIG. 2A and FIG. 2B will exist for a BMS.
  • a set-up process may prompt a user for whether a “top-down” or “bottom-up” directionality is desired.
  • the causal relationship model will be maintained and stored on a “bottom-up” basis such as that shown in FIG. 2B .
  • FIG. 2 A's causal relationship “has” that links building 210 to chiller 30 in FIG. 2A may have a corresponding causal relationship “in” that links chiller 30 to building 210 in FIG. 2B .
  • Causal relationship models such as those shown in FIGS. 2A-B may be created in different ways according to varying embodiments of the invention.
  • a user may be prompted to create, or an automated system may create, a model with immediate references to particular building objects.
  • the system may prompt or otherwise allow a user to define causal relationship classes or templates of causal relationship models that will later be used and reused for particular instances of causal relationship models and objects.
  • a specification of a class, class relationships, and properties can be defined generally as a template.
  • a template for an HVAC class may include default causal relations to equipment objects, such as VAV boxes, and to location objects, such as a floor or building.
  • the representation of the class may be in the form of a directed graph (regardless of the underlying information structure) and not a conventional device tree form. Default properties or attributes may be established for one or more of the nodes.
  • Instantiated objects can then be created or mapped using the relational template.
  • the created causal relationship models may be modified at run-time or via a tool that allows modification outside of a run-time environment.
  • a tool may be provided for adding, modifying, or removing relationships, objects, classes, properties, attributes, and the like.
  • the computing system or tool may be configured to dynamically adjust the model's structure (e.g., as the model is not stored as a static tree hierarchy). For example, if access pad 106 is no longer used to control access to conference room 102 , the causal relationships pointing to access pad 106 may be deleted as well as its corresponding building object—but the rest of the model remains intact and unaffected. While the causal relationship models shown in FIGS. 2A-B primarily relate to software defined objects for building devices, many different building object relationships may be modeled using the systems and methods of the present disclosure.
  • building entities e.g., departments, employees, etc.
  • building devices e.g., departments, employees, etc.
  • other building entities e.g., departments, employees, etc.
  • building devices may be linked with other enterprise systems (e.g., an HR management system having employee objects).
  • Process 300 includes identifying a plurality of building objects (e.g., including building devices, software defined building objects, or other inputs to the BMS that affect the building environment) (step 302 ).
  • Process 300 also includes identifying the causal relationships between the identified building objects (step 304 ).
  • Steps 302 , 304 may include testing building inputs and outputs for the causal relationships using an automated process.
  • the identifying steps may also or alternatively include using an automated process to analyze characteristics of BMS devices and signals to create software defined building objects and their causal relationships to each other.
  • the identifying steps include causing a graphical user interface to be displayed that allows a user to input the building objects and the causal relationships between the objects.
  • Process 300 is further shown to include relating the identified objects by the causal relationships (step 306 ).
  • Relating the identified objects by causal relationships may be completed by an automated process (e.g., based on testing, based on signal or name analysis at a commissioning phase, etc.) or by user configuration (e.g., of tables, of graphs via a graphical user interface, etc.).
  • a graphical user interface may be provided for allowing a user to draw directional links between building objects. Once a link is drawn, a computerized process may cause a dialog box to be shown on the GUI for allowing a user to describe the created causal relationship.
  • Process 300 is yet further shown to include describing the causal relationships (step 308 ).
  • the description may be found and stored using any of the previously mentioned processes (e.g., automated via testing, manually input via a keyboard or other user input device, etc.).
  • the user is able to select (e.g., via a drop down box, via a toolbox, etc.) from a pre-defined list of possible causal relationship descriptions or to insert (e.g., type) a custom causal relationship description at a graphical user interface.
  • Process 300 is yet further shown to include storing the causal relationships and descriptions in a memory device of the BMS (step 310 ).
  • the causal relationships may be stored using any of the above-described information structures (e.g., stored in tables, stored as lists linked to object properties, stored as a systems of linked lists, etc.).
  • causal relationship models of the present disclosure may not be stored or represented as static hierarchical models (e.g., a tag-based hierarchical model description), systems and methods of the present disclosure are configured to allow the creation of multiple hierarchical views of the causal relationship models.
  • Each “view” may be defined as a hierarchical model (e.g., tree model) in memory to which one or more causal relationship models can be applied or projected.
  • hierarchical model e.g., tree model
  • FIGS. 2B-C at least two different hierarchical models may be used to describe the models of FIGS. 2B-C as shown below:
  • the first example shows a small hierarchical tree of building objects related to a conference room.
  • a conference room may be ventilated by a VAV box, which in turn is controlled by an AHU.
  • a similar tree is shown, but from the perspective of an AHU.
  • the AHU may control a VAV box, which in turn ventilates a conference room.
  • Any number or type of hierarchical models may be created and used to describe complex causal relationship models.
  • a building may only be described using a single static hierarchical tree (e.g., top down, one head node, showing control connections).
  • the present disclosure allows the user or the system to establish many different new information structures by applying desired hierarchical models (e.g., bottom-up, top-down, selecting a new head node, etc.) to the stored causal relationship models.
  • the hierarchical models may be used for reporting, displaying information to a user, for communication to another system or device (e.g., PDA, client interface, an electronic display, etc.), or for further searching or processing by the BMS or the computing system.
  • Each level of the resultant hierarchical trees may be optionally constrained or not constrained to a certain number of entities (this may be set via by updating one or more variables stored in memory, providing input to a user interface, by coding, or otherwise).
  • a certain number of entities this may be set via by updating one or more variables stored in memory, providing input to a user interface, by coding, or otherwise.
  • the hierarchical list for each conference room would include all related building objects.
  • the BMS controller may be configured to use causal relationship models that may be updated during run time (e.g., by one or more control processes of the system, by user manipulation of a graphical user interface, etc.). Any modification of the causal relationship structure, in such embodiments, may be immediately reflected in applications of hierarchical models. In other words, as the building changes, the BMS controller (with or without the aid of a user) may be configured to update the causal relationship models which in turn will be reflected in the results of applying a hierarchical models to the causal relationships.
  • Process 400 includes defining a hierarchical model of building objects (e.g., such as those shown above or otherwise formatted) (step 402 ).
  • Process 400 also includes traversing the stored causal relationships to generate a hierarchical result according to the defined hierarchical model (step 404 ).
  • the hierarchical result may be generated by querying the stored causal relationship. For example, a tree storing causal relationships may be traversed to generate the hierarchical results, whereas a table storing causal relationships may be queried.
  • Step 404 may be conducted by one or more client applications configured to have access to the causal relationships, by a process of a server whereby only the hierarchical results are provided to client applications, by a process away from the server, or by any other process or module.
  • Process 400 is further shown to include step 406 , where the hierarchical result is used to create a graphical representation of the result for display (e.g., at a client, on a report, on a local electronic display system, etc.).
  • a graphical user interface including a tool for allowing a user to define new hierarchical models or to revise a previously defined hierarchical model may further be provided to a user via a display system or client.
  • step 408 of process 400 at least a portion of the hierarchical result is traversed to generate a report.
  • the hierarchical result or a group of results may be processed by one or more processing modules, reporting modules, or user interface modules for further analysis of the BMS or for any other purpose (e.g., to further format or transform the results).
  • Process 500 includes providing at least one tool (e.g., to a graphical user interface, as a text-based interface, etc.) for allowing a user to view or to change a directed graph of the causal relationships and building objects displayed on the graphical user interface (step 502 ).
  • the tool for changing the directed graph may be the same as the tool for identifying the objects and the relationships elsewhere in the system or process, or may be a different tool for conducting revisions after an initial modeling.
  • Process 500 also includes displaying a graphical user interface that includes a tool for allowing a user to define a new hierarchical model or to revise the hierarchical model (step 504 ).
  • Process 500 further includes displaying a graphical user interface that includes a directed graph representing the causal relationships (step 506 ).
  • Process 500 also includes providing at least one tool for allowing a user to change the directed graph displayed on the graphical user interface (step 508 ).
  • process 500 includes updating the causal relationships stored in memory based on the changes made by the user to the directed graph (step 510 ).
  • query engine 156 is shown in greater detail, according to an exemplary embodiment.
  • Query engine 156 can use the causal relationship and hierarchical projection and methods described above to allow inspection (e.g., querying, searching, etc.) within the graph through structured searches.
  • query statement 602 may be provided to query engine 156 via user interface module 144 , client services 146 , or application services 148 .
  • a module of the computer system, a client process, or a user via a graphical user interface or another tool may submit a structured query statement 602 to query engine 156 .
  • query engine 156 resides remotely from interface module 144 and from services 146 , 148 and communicates with them via middleware 14 over a network.
  • Query engine 156 is configured to receive and parse the structured query statement 602 using statement parser 604 .
  • the parsing may seek out key words (e.g., causal relationships, object types, object names, class names, property names, property values, etc.) in query statement 602 .
  • Key words that are found may be used by projection generator 606 to construct (e.g., using a computerized process) a hierarchical model for use in conducting a search for relevant objects or for filtering the search via one or more filtering steps.
  • parsing of the statement results in: (a) an identification or generation of relevant classes via projection generator 606 ; (b) an identification of object constraints via object constraints identifier 608 ; and (c) an identification of property/value constraints via property/value constraints identifier 610 .
  • Query engine 156 applies the query aspects identified by projection generator 606 , object constraints identifier 608 and property/value constraints identifier 610 to causal relationship models 152 in series to arrive at a result object set 618 .
  • query engine 156 As an example of how query engine 156 operates, an example query statement is given:
  • projection generator 606 may generate a hierarchical model that would provide a structured hierarchical tree of conference rooms, their floors, and their buildings.
  • Query engine 156 may apply the generated hierarchical tree to the one or more causal relationship models 152 to return hierarchical projection results 612 of the conference rooms, floors and buildings, as well as particular properties and values of each object.
  • object constraints filter 614 Identify the object constraints using object constraints identifier 608 . Then, using the object constrains identified by object constraints identifier 608 , for example, query engine 156 would use object constraints filter 614 to filter the projection results 612 to only those conference rooms with the set of object constraints requested by query statement 602 in their grouping. For example, only those conference rooms on the third floor of Buildings 1 , 2 , or 3 would remain in a hierarchical result set after filtering using the identified object constraints.
  • property/value constraints filter 616 Identify the property and value constraints using property/value constraints identifier 610 . Then, using the property and value constraints identified by property/value constraints identifier 610 , query engine 156 would use property/value constraints filter 616 to filter the hierarchical result set to only those conference rooms with building objects whose temperature is “Greater Than 72 Degrees.”
  • the resultant hierarchical data set will be information and context rich for ease of processing and reporting back to the user or for action by one or more computing processes.
  • memory 138 is also shown to include performance indexing module 164 .
  • Performance indexing module 164 is configured to calculate, update, or otherwise maintain calculations of performance indexes 158 for the BMS equipment.
  • Memory 138 further includes event analysis module 162 .
  • Event analysis module 162 can analyze, for example, event information 160 received from the BMS (e.g., BMS subsystems, BMS equipment, etc.) via BMS interface 132 . In some embodiments, event analysis module 162 may analyze the event information 160 based on performance indexes 158 .
  • Memory 138 also includes system analysis module 166 .
  • System analysis module 166 may be configured to execute a computerized method for evaluating and reporting a cause of a performance change in a building management system.
  • the computerized method includes traversing a causal relationship model (e.g., stored in causal relationship models 152 ) including the building equipment associated with the fault to determine a root cause of the fault.
  • a causal relationship model e.g., stored in causal relationship models 152
  • Performance indexing module 164 may be configured to detect changes (e.g., state changes, undesirable changes, sudden changes, etc.) in performance index values in performance indexes 158 .
  • System analysis module 166 can analyze the cause of the change detected by performance indexing module 164 . In response to a detected change, for example, system analysis module 166 may cause the recall of event information 160 associated with the equipment experiencing a performance issue.
  • Performance indexes 158 may include one or more performance indexes for a variety of BMS equipment (e.g., door access pad 106 , chiller 30 , etc.), BMS subsystems, portions of BMS subsystems, or for BMS portion spanning multiple subsystems.
  • a performance index may be created or maintained in performance indexes 158 for each piece of BMS equipment having a performance parameter available for tracking or indexing.
  • all of the indexes of performance indexes 158 may be created and maintained by performance indexing module 164 .
  • the data for performance indexes 158 may be recalled or received and stored by a different module (e.g., a data gathering module) and performance indexing module 164 may be configured to calculate, for example, an overall performance index value for the equipment.
  • a different module e.g., a data gathering module
  • performance indexing module 164 may be configured to calculate, for example, an overall performance index value for the equipment.
  • Event information 160 may be an archive of BMS events for the BMS equipment (e.g., as an event list, an event database, etc.). Event information 160 may be created by event analysis module 162 . For example, as event information is received from the BMS via BMS interface 132 , event analysis module 162 may be configured to conduct fault detection on the received information. For events possibly relating to a fault or an abnormal condition (e.g., temperature that is higher than expected), event analysis module 162 may then store event information in event information 160 for later retrieval. Event information 160 may be stored with, for example, a timestamp or other identifier from which at least a relative time may be derived.
  • event information 160 may be stored with, for example, a timestamp or other identifier from which at least a relative time may be derived.
  • Event information 160 may be recalled based on a temporal parameter in addition to a relationship to the detected change in performance indexes 158 .
  • event information 160 may be recalled by identifying anomalous events occurring closest to the time at which the performance index value in performance indexes 158 changed.
  • System analysis module 166 may be configured to conduct varying levels of actual event analysis. In some embodiments, for example, system analysis module 166 will actually include routines or functions for conducting analysis. In other embodiments system analysis module 166 calls or coordinates routines or functions of performance indexing module 164 , event analysis module 162 , or other modules of the system.
  • Event analysis module 162 or system analysis module 166 may be configured to provide data to user interface module 144 , client services 146 and/or to application services 148 to cause the display of an indication of a change in performance indexes 158 and a representation of event information 160 .
  • a GUI alert with the following text may be displayed on UI clients 16 : “HVAC Performance Poor for Zone 1—Associated Events: AHU for Zone 1 began to provide ‘Low Flow Rate’ events as early as 2:34 a.m.—Recommended Action: Check for an obstruction of the air flow in or around the AHU for Zone 1.”
  • the air handling unit (AHU) may have multiple quality metrics such as: hours of time running, fan speed, output flow rate, and deviation from setpoint.
  • Each of these metrics may have individual performance index values and an overall performance index value for the AHU may be calculated by, for example, averaging the performance index values for each metric.
  • the overall index of the equipment is discounted over time or because of some other value or state. For example, a process of the system may discount the performance index value (e.g., by one point an hour) for each hour that the AHU's overall performance index value is within the “bad” range (e.g., on a 0-100 point scale, 0-33 may be considered “bad”). Accordingly, while the performance index value may drop just below 33 (e.g., 30) based on actual calculations, over time the performance index value will be caused to approach zero.
  • the system may be able to update a display of the performance index value to indicate its downward trend (e.g., with a down arrow, by showing the number in red, etc.).
  • Event information 160 is retained for the metrics or subsystems of the AHU for later analysis. For example, a “fan speed too low” event (e.g., calculated by an event analysis module or otherwise) may be detected and stored with a timestamp. Next, a “temperature above setpoint” event may be detected and stored with a timestamp. When it is detected that the AHU's overall performance index value has changed and dropped into the “bad” state, both the performance indexes and the event information may be used to help identify the problematic equipment (or subsystems of equipment) and to suggest corrective actions for technicians to take to remedy the issue. For example, using the performance index values of many pieces of equipment in a BMS, the computer system may identify those changed to the “bad” state.
  • a “fan speed too low” event e.g., calculated by an event analysis module or otherwise
  • a “temperature above setpoint” event may be detected and stored with a timestamp.
  • both the performance indexes and the event information may be used to help identify the problematic equipment (
  • the computer system may query for the closest related event (in time) prior to the change to the “bad” state.
  • This event may be evaluated for whether it is a possible cause of the state change.
  • the evaluation may use, for example, causal relationship models as described below and may include an analysis intended to simulate the question of: “could this event for another piece of equipment have caused this equipment's performance to drop?” If the answer is yes, the system may further investigate the cause for the event. For example, another query may be run for events occurring prior to the first identified event and associated with equipment having an appropriate causal relationship with the equipment associated with the first identified event. If the earlier event could not have caused the performance to drop, the system may query for other early events that could have caused the performance index to drop prior to the first identified event.
  • the system may gather the first six events that occurred prior to the performance index change. Once gathered, the system could check each potential event for a causal relationship to overall equipment performance degradation. The process may be iterative (traversing backwards from final performance change or fault to an initial event that may have caused the change) until a primary or root cause for the performance change is identified. Using such a process, the system may be able to group or tag received events into “symptoms” or “causes” categories. By primarily reporting the “causes” category of events to users, the system may advantageously reduce the “noise” of unimportant events or alarms and direct users or technicians to the root causes for system problems.
  • Event analysis module 162 may identify this event as a “symptom” type event and continue working backward in time and/or via causal relationship models 152 to find a “fan speed low” event that occurred prior to the “symptom” event. Accordingly, event analysis module 162 may determine that the fan speed event describes the probable initial failure in the AHU and provide event data to user interface module 144 and/or to client services 146 , which presents that event to the user via a display in UI clients 16 .
  • the setpoint event is identified as a secondary symptom of the primary cause.
  • the system may use causal relationship models 152 and resultant “symptom” and “causes” determinations by event analysis module 162 for fault suppression or highlighting. Those events that are “causes” of further systematic performance degradation may be highlighted or displayed prominently on UI clients 16 . Events that are determined to be “symptoms” may be suppressed from view or displayed as secondary events on UI clients 16 .
  • system analysis module 166 may use the causal relationship model shown in FIG. 2B to detect and diagnose a fault relating to the temperature in conference room 102 .
  • controller 12 may receive temperature data from a temperature sensor in conference room 102 via BMS interface 132 (e.g., the current temperature is 75° F.) and store the data as event information 160 .
  • Performance indexes 158 may include a setpoint temperature for the environment of conference room 102 (e.g., a setpoint temperature of 70° F.) created by performance indexing module 164 in response to data provided by a user via UI client 16 .
  • controller 12 may receive a request from a user (e.g., via user interface module 144 , client services 146 , etc.) for more information about the increase in temperature for conference room 102 .
  • controller 12 may provide information about conference room 102 from performance indexes 158 , event information 160 , and/or query engine 156 to the user.
  • System analysis module 166 may then receive a request from the user (e.g., via user interface module 144 , client services 146 , etc.) to traverse causal relationship models 152 to retrieve possible causes of the increase in temperature.
  • system analysis module 166 automatically traverses causal relationship models 152 and provides this information to UI clients 16 and/or to remote applications 18 .
  • System analysis module 166 may analyze temperature events in event information 160 and detect that the temperature has risen from 73° F. to 75° F., despite performance indexes 158 having a setpoint of 70° F. for conference room 102 (i.e., the rise in temperature is a symptom of a potential fault).
  • System analysis module 166 may access the causal relationship model shown in FIG. 2B within causal relationship models 152 to analyze the symptom. Based on the causal relationship model, conference room 102 is ventilated by VAV box 110 , which is controlled by AHU 34 , which is in turn chilled by chiller 30 .
  • System analysis module 166 may then analyze events relating to VAV box 110 , AHU 34 , and/or chiller 30 .
  • event information 160 may include information indicating that measured temperatures in VAV box 110 and AHU 34 have also risen (i.e., are causes for the rise in temperature of conference room 102 ). These events may also be symptoms in their own right (e.g., the temperature in VAV box 110 is higher than its corresponding setpoint in performance indexes 158 ).
  • Event information 160 may also include information indicating that the prerotation vanes of the compressor in chiller 30 have not changed position for a period of time and is the root cause of the increase in temperature of conference room 102 .
  • causal relationship models 152 may include a causal relationship model for the components of chiller 30 (e.g., a compressor, prerotation vanes, a condenser, etc.).
  • system analysis module 166 can use causal relationship models 152 , performance indexes 158 , and event information 160 to traverse information relating to the increase in temperature of conference room 102 back to chiller 30 .
  • System analysis module 166 can then use the traversed data to request additional event data from event analysis module 162 and provide it to UI clients 16 and/or to remote applications 18 .
  • System analysis module 166 of FIGS. 1C and 1D is shown in greater detail, according to an exemplary embodiment.
  • System analysis module 166 includes fault cause analyzer 708 .
  • Fault cause analyzer 708 coordinates the functions of event analyzer 702 , causal relationship analyzer 704 and performance index analyzer 706 to determine the root cause of a detected fault.
  • System analysis module 166 further includes performance index analyzer 706 .
  • Performance index analyzer 706 receives performance index data from performance indexing module 164 or performance indexes 158 shown in FIG. 1C and 1D .
  • the performance index data may be performance index values, measured values from the BMS, or an indication that performance indexing module 164 has detected a change in a performance index value.
  • performance indexing module 164 provides the performance index data to system analysis module 166 in response to a request from performance index analyzer 706 .
  • performance index analyzer 706 may request one or more performance index values from performance indexing module 164 relating to a damper within an AHU that may be associated with a cause for a fault.
  • performance indexing module 164 provides the performance index data to system analysis module 166 without a request from performance index analyzer 706 .
  • performance indexing module 164 may provide an indication to performance index analyzer 706 that a measured temperature value is moving away from a setpoint value.
  • performance index analyzer 706 accesses performance indexes 158 directly, without performance indexing module 164 .
  • System analysis module 166 is also shown to include event analyzer 702 .
  • Event analyzer 702 receives event data from event information 160 and performs further analysis on the event data.
  • the event data is provided automatically to event analyzer 702 by event information 160 or by event analysis module 162 .
  • event information 160 may provide event data to event analyzer 702 in response to a request from event analyzer 702 .
  • the requested events may or may not be fault events.
  • event analyzer 702 may request events with timestamps prior to timestamp associated with a detected fault.
  • event analysis module 162 shown in FIGS. 1C and 1D is incorporated into event analyzer 702 .
  • event analysis module 162 is a separate module that performs some of the functionality of event analyzer 702 .
  • System analysis module 166 is further shown to include causal relationship analyzer 704 .
  • Causal relationship analyzer 704 may retrieve one or more causal relationship models relating to event information 160 and/or to the performance index data provided by performance indexing module 164 . Multiple relationships of the causal relationship model may be traversed prior to making any root cause decisions.
  • performance index data and/or event data for multiple branches of a causal relationship model may be analyzed before a root cause decision is made by system analysis module 166 .
  • fault cause analyzer 708 begins a process of determining a cause of a detected fault in response to performance indexing module 164 detecting an undesirable change in a performance index value (i.e., something which may be defined as a system fault).
  • performance index analyzer 706 may then provide a fault indication and relevant information to fault cause analyzer 708 .
  • the fault cause analyzer 708 can begin a process for determining a cause of the fault. For example, change in a performance index that tracks power usage of a cooling system may be reported to the fault cause analyzer 708 .
  • the fault cause analyzer 708 traverses a causal relationship model for the cooling system.
  • the causal relationship traversal may first inspect performance index information and event information for a local VAV box before traversing backwards through other devices (e.g., actuators, field controllers, temperature sensors, an economizer, a cooling tower, a chiller, etc.) of the cooling system's causal relationship model.
  • the fault cause analyzer 708 can utilize a recursive and/or iterative approach to traversing the causal relationship model(s) of the system.
  • Fault cause analyzer 708 can traverse multiple parallel branches or paths of a causal relationship model (e.g., a causal relationship model organized as a directed graph).
  • Fault cause analyzer 708 may cause performance index or event analysis to be conducted on the multiple parallel branches or paths of the causal relationship model to select a branch or path that is most likely associated with the root cause for a fault.
  • Fault cause analyzer 708 can be triggered to begin determining a cause of a detected fault in response to an event received by event analyzer 702 .
  • a received event may denote that a raw measured temperature value has increased above a specific value.
  • Event analyzer 702 can include a rule engine to determine whether such an event corresponds to a fault.
  • Event analyzer 702 can provide an indication of this determination and any relevant event information to fault cause analyzer 708 .
  • fault cause analyzer 708 can begin a process for determining a root cause for the fault.
  • fault cause analyzer 708 may request additional information about the BMS equipment associated with the fault from event analyzer 702 , causal relationship analyzer 704 , and/or performance index analyzer 706 .
  • system analysis module 166 may determine that a fault has occurred relating to a room temperature sensor.
  • fault cause analyzer 708 may request recent events related to the temperature sensor from event analyzer 702 .
  • fault cause analyzer 708 may provide an instruction to event analyzer 702 to retrieve all temperature sensor events within ten minutes of the detected fault.
  • Fault cause analyzer 708 may then request one or more causal relationship model for the temperature sensor from causal relationship analyzer 704 .
  • Fault cause analyzer 708 may further request any or all performance index data relating to the temperature sensor from performance index analyzer 706 .
  • Fault cause analyzer 708 may use the causal relationships provided by causal relationship analyzer 704 to generate additional requests for event analyzer 702 , causal relationship analyzer 704 , and/or performance index analyzer 706 .
  • a causal relationship model may relate the room temperature sensor to a damper in an AHU and may relate the room temperature sensor to a fan within the AHU.
  • Causal relationship analyzer 704 may iteratively, recursively, or otherwise traverse and retrieve any number of causal relationships from causal relationship models 152 .
  • fault cause analyzer 708 may then request additional information about the next level from event analyzer 702 , causal relationship analyzer 704 , and/or performance index analyzer 706 .
  • a next level e.g., node, piece of building equipment, etc.
  • fault cause analyzer 708 utilizes a strictly serial or iterative approach to determining the cause of the fault (e.g., determine the next related piece of equipment, request additional information about the next piece of equipment, process the additional information for root cause, request a next piece of equipment based on another causal relationship, etc.).
  • one or more processes of fault cause analyzer 708 may be processed in parallel (e.g., multiple branches or paths of a causal relationship model may be processed in parallel).
  • fault cause analyzer 708 is able to restrict the selection of additional information (e.g., event data, performance index data, etc.) to data that is modeled to cause the fault (e.g., causes a degradation in a performance index value, causes a fault event, etc.).
  • additional information e.g., event data, performance index data, etc.
  • performance indexing module 164 may provide an indication to performance index analyzer 706 that a room temperature value is moving away from its setpoint.
  • Performance index analyzer 706 may retrieve and analyze performance index data from performance indexing module 164 relating to the changing temperature value and determine that a fault has occurred.
  • Performance index analyzer 706 may then provide an indication to fault cause analyzer 708 that a fault has been detected.
  • Fault cause analyzer 708 may then provide a request to causal relationship analyzer 704 for all causal relationships for relating to the room temperature sensor that is the source for the faulty temperature changes.
  • Causal relationship analyzer 704 may then retrieve one or more causal relationships from the room temperature sensor to other pieces of BMS equipment by traversing causal relationship models 152 .
  • the room temperature sensor may be causally related to a VAV box, an AHU, and a chiller.
  • Causal relationship analyzer 704 may provide these relationships to fault cause analyzer 708 , which generates additional requests for the related pieces of equipment.
  • fault cause analyzer 708 may request events from event analyzer 702 related to a vane position sensor in the chiller that is causally related to the room temperature sensor.
  • Fault cause analyzer 708 may restrict the vane position sensor request to events that have occurred within the hours preceding the fault.
  • Fault analyzer 708 may also request performance index data from performance index analyzer 706 related to the chiller (e.g., power consumptions, differences between measured values and setpoints, etc.).
  • fault cause analyzer 708 is able to restrict the event data and/or performance index data to data that may indicate the root cause of the fault (e.g., that the chiller is not functioning properly). If analysis of one possible source for the fault (e.g., analysis of the chiller equipment forming one portion of the causal relationship model), the fault cause analyzer 708 can use causal relationship analyzer 704 to analyze another portion of the causal relationship model associated with the faulty room temperature sensor.
  • fault cause analyzer can analyze a plurality of paths or branches and analysis returns from the different paths can be compared to estimate the root cause for a fault.
  • Fault cause analyzer 708 can use both temporal information and the causal relationships to determine the cause of a fault. For example, fault cause analyzer 708 may request event data from event analyzer 702 based on the time the fault was detected. For example, fault cause analyzer 708 may provide a request to event analyzer 702 for the most recent event information relative to the time of the fault (e.g., to step backwards in time from the time of the detected change to the most recent event information prior to the fault). In another embodiment, fault cause analyzer 708 may provide a request to performance index analyzer 706 for performance index data within a time frame associated with the time of the detected fault. For example, if the performance index for a room temperature sensor changes, fault cause analyzer 708 may request recent performance index data regarding the energy consumption of a causally-related AHU.
  • fault cause analyzer 708 uses statistical analysis to determine likely faults. For example, a statistical model may indicate that an unresponsive damper position measured over a fixed period of time may have a 75% chance of being the root cause of a faulty increase in the room temperature of a room served by the damper. Fault cause analyzer 708 may use statistical analysis to determine which of a plurality of suspect events is most likely to be the root cause for a fault. In some embodiments, for example, fault cause analyzer 708 uses the statistical analysis to generate a set of potential causes of the fault from a plurality of paths of a causal relationship model and uses the statistical analysis to rank the set of potential causes by likelihood of being the root cause of the fault.
  • Fault cause analyzer 708 may communicate with BMS interface 132 to receive fault data. For example, a field controller may determine that a fault condition exists (e.g., using analysis local to the field controller) and provide an indication of the fault to fault cause analyzer 708 . Fault cause analyzer 708 may also provide possible fault causes to other components of the BMS via BMS interface 132 .
  • Fault cause analyzer 708 may also provide the one or more causes of the fault to user interface module 144 , client services 146 , or application services 148 .
  • fault cause analyzer 708 may receive an indication that a potential fault exists from a user or other BMS services via interface module 144 , client services 146 , or application services 148 . Fault cause analyzer 708 may then determine one or more potential causes of the fault.
  • fault cause analyzer 708 may also receive additional parameters from the user or BMS that override the default operation of fault cause analyzer 708 . For example, fault cause analyzer 708 may receive a parameter to limit its search for a cause of a fault to components of an AHU.
  • fault cause analyzer 708 may receive a parameter to traverse only a portion of a recalled causal relationship model.
  • a user may manually provide an indication that a fault condition exists to fault cause analyzer 708 via user interface module 144 , client services 146 , or application services 148 to request a determination of a possible cause.
  • a technician may determine that a damper is stuck and utilize UI client 16 to request a determination of the possible causes from system analysis module 166 .
  • fault cause analyzer 708 may also receive result object set 618 from query engine 156 and add the fault causes to the set before the set is presented to a user.
  • a user may provide query statement 602 to user interface client 16 to request information about the security system of a building. Controller 12 may process this request to provide information about the various pieces of security equipment in the building, events relating to the equipment, performance data relating to the equipment, potential or detected faults of the equipment, and/or the causes of the faults back to user interface client 16 .
  • Process 800 includes accessing data associated with equipment in the BMS (step 802 ).
  • the data may be stored locally, recalled from disparate locations, recalled from remote locations, received from a “push”-based process, or otherwise caused to be accessed. For example, some temperature values may be retrieved from a database, while others are retrieved directly from a temperature sensor.
  • Process 800 further includes calculating a performance index value for the equipment using the accessed data (step 804 ).
  • Performance indexing may refer to a process (e.g., sub-process) of calculating and assigning relative measures of performance to a piece of equipment based on data received over time or from multiple inputs.
  • a current performance index value of a piece of equipment may be determined via one or a plurality of quality metrics, equations, or other expressions.
  • the result of the calculations may be placed along a normalized scale (e.g., “low-medium-high”, “poor-average-good”, “0 to 100”, etc.).
  • the normalization may be conducted across similar types of equipment, across multiple pieces of equipment of the same type, across facilities, or calculated relative to a maximum possible “score” for that particular piece of equipment.
  • the value of a performance index is calculated based on an overall quality metric for the equipment (e.g., power usage v. effectiveness), on sensor output configured to gauge whether the system is meeting its goals (e.g., the difference between temperature sensor output and temperature setpoint), aggregate subsystem performance, a weighted function having inputs from child equipment, etc.
  • the “child” equipment or subsystems used to gather information for the performance indexing may be obtained or processed using causal relationship models as described below.
  • Process 800 further includes receiving new data associated with the equipment in the BMS and calculating an updated performance index value for the equipment using the received new data (step 806 ).
  • the new data may be new setpoint values, sensor values, feedback from BMS control loops, event information, timer values, or any other data pertinent to the performance index.
  • Process 800 also includes detecting a change in the performance index value (step 808 ).
  • the performance index value calculations can result in other than numbers (e.g., integers, real numbers) to describe performance.
  • the calculation of a performance index value may include passing performance index numbers or other related parameters (e.g., inputs from sensors) through a thresholding process or an expert system.
  • the result of such processing may be a value “state” (e.g., “low-medium-high”, “poor-average-good”, etc.).
  • Process 800 further includes recalling, in response to the change, event information associated with the equipment and generated prior to the detected change in the performance index value (step 810 ).
  • event information associated with the equipment and generated prior to the detected change in the performance index value.
  • changes in a measured temperature may be stored as events with timestamp information.
  • the temperature change events may be “symptoms” of the underlying fault that caused the change in the performance index value.
  • Process 800 yet further includes recalling a causal relationship model associated with the equipment (step 812 ).
  • the equipment associated with the performance index value may be a room temperature sensor and the causal relationship model may include causal relationships between the temperature sensor and various other pieces of HVAC equipment (an AHU, a VAV box, a chiller, etc.).
  • Process 800 also includes restricting the selection of events recalled in step 810 to events modeled to cause a degradation in the performance index (step 814 ).
  • events for further analysis can be restricted to those events causally modeled to affect a degradation in the performance index.
  • the causal relationship model may relate a room temperature sensor to an AHU that provides conditioned air to the room. Events associated with the AHU are therefore modeled to cause a degradation in the a temperature-related performance index and the AHU associated events may be included in the restricted selection.
  • Process 800 further includes causing an electronic display system to display an indication of the change in the performance index value and a representation of the event information (step 816 ). For example, room temperature data determined to be moving away from its setpoint may be displayed with an event indicating that an AHU damper is slow to respond. The selected event information may be presented via the display as a possible root cause for the change in performance index (i.e., a BMS fault).
  • Process 900 includes receiving an indication of a fault (step 902 ).
  • a field device of the BMS automatically determines that a fault exists and provides the indication.
  • a field controller may determine that a performance index value for a measurement has changed and provide an indication of the fault to a supervisory controller.
  • the indication is received by the BMS device in response to a query to another device.
  • a supervisory controller may periodically poll a field controller for fault events.
  • a user may manually determine that a fault exists and a user interface may provide the fault indication to the BMS device in response to input from the user. For example, a technician may notice that a room temperature is too high and interact with a user interface to determine the root cause.
  • the indication may be received from another memory location in a single BMS device.
  • Process 900 is also shown to include identifying a building object associated with the fault condition (step 904 ).
  • a fault may indicate that a specific room temperature building object is associated with the faulty temperature.
  • Process 900 further includes determining causally-related building objects for the building object using a causal relationship model.
  • the room temperature sensor building object may be part of a causal relationship model including other building equipment or objects (e.g., a VAV box, a chiller, a cooling tower, an actuator, an AHU, etc.). These other devices or objects affect the temperature of the room and may be the cause of the increase in the room's temperature.
  • Process 900 yet further includes retrieving historical data for the causally-related building objects (step 906 ).
  • the historical data may be events, performance index data, or any other data relating to the operation of the building objects.
  • an AHU fan building object may be associated with fan speed change events and performance indexes relating to the power consumption of the fan. Such data can be analyzed to attempt to determine the root cause for the original temperature fault.
  • Process 900 also includes identifying a cause of the fault using the historical data (step 908 ).
  • the root cause may be estimated to be associated with the device or object in the causal relationship model that has the earliest serious abnormality in its history.
  • the room temperature sensor may be causally related to a VAV box, which is controlled by an AHU, which is in turn chilled by a chiller; a relatively early abnormality relating to the chiller may indicate the root cause of the fault and/or any later abnormalities in the causal relationship model.
  • Process 900 further includes causing the display of an indication of the determined cause of the fault.
  • an indication of the root cause may be displayed on an electronic display to convey the cause to a user. A user can use this information to perform additional diagnostics or repairs for the root cause of the fault.
  • Process 1000 is shown to include receiving an indication of a fault (step 1002 ).
  • the indication may be provided by a user interface (e.g., in response to manual input from a user) or automatically by a BMS component (e.g., a fault detector of a supervisory controller or control module, a downstream device that reports a fault, etc.).
  • Process 1000 further includes identifying a building object associated with the fault (step 1004 ). For example, a fault involving a temperature value may be associated with a temperature sensor building object.
  • Process 1000 is also shown to include retrieving a causal relationship model for the building object (step 1006 ).
  • Process 1000 includes traversing the causal relationship model to identify one or more sets of building objects that may be associated with the root cause of the fault (step 1008 ).
  • Process 1000 further includes retrieving event data for the other building objects (step 1010 ). For example, event data may be retrieved for the AHU and/or the chiller that are causally-related to the room temperature sensor.
  • Process 1000 further includes analyzing the event data to identify abnormal events (step 1012 ).
  • the abnormal events may be fault events themselves or other events indicative of the cause of the fault. For example, if the root cause of a room temperature fault is a stuck damper in an AHU, there may be one or more “stuck damper” events in the event data for a damper building object causally related to a temperature sensor.
  • Process 1000 yet further includes identifying a possible cause of the fault based on the results of the analysis (step 1014 ).
  • the set of abnormal events identified in step 1012 may be further analyzed to identify the root cause of the fault. For example, a room temperature fault may cause the BMS to identify a chiller fault event and an AHU fault event in step 1012 . Since a fault in the chiller may cause the AHU fault (this fact may be determined via traversal of the relevant causal relationship model), the chiller may be identified in step 1014 as the root cause of the room temperature fault.
  • Process 1100 includes receiving an indication of a fault in a BMS system or device (step 1102 ).
  • the indication may be provided by a user interface (e.g., in response to manual input from a user) or automatically by the BMS.
  • Process 1100 also includes retrieving historical data for the related systems or devices using a causal relationship model (step 1104 ).
  • the historical data may be events, performance index data, or any other data relating to the operation of the building objects that are causally-related to the faulty system or device.
  • Process 1100 also includes identifying possible abnormalities in the historical data (step 1106 ).
  • the abnormalities may be fault events, events indicative of the cause of the fault, a change in a performance index value, or any other data indicative of the cause of the fault. For example, an increase in the power consumption of a chiller may indicate a cause of a fault related to a room temperature sensor.
  • Process 1100 further includes using time data to identify the earliest abnormality as a root cause of the fault (step 1108 ).
  • An abnormality for one component of the BMS may cause abnormalities for other components to develop over the course of time. The earliest of the set of abnormalities may then be identified as the root cause of the fault.
  • an abnormality in a chiller may precede an abnormal chilled fluid temperature reading in an AHU, which itself precedes an abnormal temperature reading in a conference room.
  • Process 1100 further includes causing the display, on an electronic display, of an indication of the root cause (step 1110 ). A user viewing the display may utilize the displayed root cause to perform additional diagnostics and repairs on the device associated with the root cause.
  • Process 1200 includes receiving an indication of a fault in a system or device.
  • the indication may be provided by a user interface (e.g., in response to manual input from a user) or automatically by the BMS.
  • a fault may relate to a room temperature sensor.
  • Process 1200 also includes using a causal relationship model to identify other systems or devices (step 1204 ).
  • the room temperature sensor may be causally related to a VAV box, an AHU, and a chiller.
  • Process 1200 further includes retrieving historical data for each identified system or device (step 1206 ).
  • the historical data may be events, performance index data, or any other data relating to the operation of the devices and systems that are causally-related to system or device associated with the fault.
  • Process 1200 also includes processing the historical data for each identified system or device to identify possible abnormalities (step 1208 ).
  • the abnormalities may be fault events, events indicative of the cause of the fault, a change in a performance index value, or any other data indicative of the cause of the fault.
  • Process 1200 also includes using time data for the possible abnormalities to determine the earliest abnormality in the group (step 1210 ). For example, an abnormality in a chiller may precede an abnormal temperature reading in an AHU, which itself precedes an abnormal temperature reading in a conference room.
  • Process 1200 is further shown to include evaluating causal relationships to determine if the earliest abnormality could have been the root cause (step 1212 ). This evaluation may include statistical analysis beyond that applied previously in process 1200 . For example, statistics for multiple causally related building objects can be statistically compared to determine if the earliest abnormality was a likely cause of the fault. In this way, an iterative approach may be taken to evaluate any number of branches of the causal relationships. If the earliest abnormality could not have been the root cause, process 1200 can identify other causally related systems or devices.
  • process 1200 continues on to causing the display on an electronic display of an indication of the root cause (step 1214 ). A user viewing the display can then use the root cause information to perform additional diagnostics and repairs for the device.
  • the present application contemplates methods, systems and program products on any machine-readable media for accomplishing various operations.
  • the embodiments of the present application 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 application 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.
  • 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.
  • 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.

Abstract

Systems and methods for evaluating and reporting events in a building management system are provided. An event indication for building equipment of the building management system is received at a processing circuit. The event indication is associated with an event. The processing circuit classifies the event as at least one of a cause event and a symptom event. The processing circuit suppresses the event indication in response to classifying the event as a symptom event and displays the event indication in response to classifying the event as a cause event.

Description

    CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 13/252,105, filed Oct. 3, 2011, which is a continuation of U.S. application Ser. No. 12/940,853, filed Nov. 5, 2010, which is a continuation-in-part of U.S. application Ser. No. 12/898,589, filed Oct. 5, 2010, which claims priority to U.S. Provisional Application No. 61/249,191, filed Oct. 6, 2009. U.S. application Ser. No. 12/940,853 also claims the benefit of U.S. Provisional Application No. 61/259,044, filed Nov. 6, 2009. U.S. application Ser. No. 13/252,105, U.S. application Ser. No. 12/940,853, U.S. application Ser. No. 12/898,589, U.S. Provisional Application No. 61/249,191, and U.S. Provisional Application No. 61/259,044 are hereby incorporated by reference in their entireties.
  • BACKGROUND
  • The present invention relates generally to the field of building management systems.
  • A building management system (BMS) is, in general, a system of devices configured to control, monitor, and manage equipment in or around a building or building area. A BMS can include a heating, ventilation, and air conditioning (HVAC) system, a security system, a lighting system, a fire alerting system, another system that is capable of managing building functions or devices, or any combination thereof. BMS devices may be installed in any environment (e.g., an indoor area or an outdoor area) and the environment may include any number of buildings, spaces, zones, rooms, or areas. A BMS may include METASYS building controllers or other devices sold by Johnson Controls, Inc., as well as building devices and components from other sources.
  • A BMS may include one or more computer systems (e.g., servers, BMS controllers, etc.) that serve as enterprise level controllers, application or data servers, head nodes, master controllers, or field controllers for the BMS. Such computer systems may communicate with multiple downstream building systems or subsystems (e.g., an HVAC system, a security system, etc.) according to like or disparate protocols (e.g., LON, BACnet, etc.). The computer systems may also provide 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 the BMS, its subsystems, and devices.
  • SUMMARY
  • One implementation of the present disclosure is a computerized method for evaluating and reporting events in a building management system. The method includes receiving, at a processing circuit, an event indication for building equipment of the building management system. The event indication is associated with an event. The method further includes classifying the event as at least one of a cause event and a symptom event, suppressing the event indication in response to classifying the event as a symptom event, and displaying the event indication in response to classifying the event as a cause event.
  • In some embodiments, classifying the event as a symptom event includes retrieving, from the building management system, event information associated with the event, using the event information to determine whether the event is an abnormal event, and classifying the event as a symptom event in response to a determination that the event is an abnormal event.
  • In some embodiments, the method further includes, in response to classifying the event as a symptom event, using an ontological model of the building equipment to identify a prior event which could have caused the symptom event and displaying an event indication associated with the prior event. In some embodiments, the prior event is a first prior event representing a most direct cause of the symptom event. The method may further include using the ontological model to determine whether the first prior event could have been caused by a second prior event and displaying the second prior event and suppressing the first prior event in response to a determination that the second prior event could have caused the first prior event.
  • In some embodiments, using an ontological model of the building equipment to identify a prior event which could have caused the symptom event includes identifying a building object associated with the symptom event, using the ontological model to determine one or more building objects that are causally related to the building object associated with the symptom event, retrieving event information associated with the one or more of the causally-related building objects, and analyzing the event information to identify a prior event which could have caused the symptom event.
  • In some embodiments, analyzing the event information to identify a prior event which could have caused the symptom event includes using the event information to identify an abnormal event prior to the symptom event and using the ontological model to determine whether the abnormal event could have caused the symptom event.
  • In some embodiments, suppressing the event indication includes at least one of preventing the event indication from being displayed on a user interface and displaying the event indication as a secondary event on the user interface.
  • Another implementation of the present disclosure is a computerized method for evaluating and reporting faults in a building management system. The method includes receiving, at a processing circuit, multiple fault indications for building equipment of the building management system, using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault, and suppressing the multiple fault indications and displaying the single fault in response to a determination that the multiple fault indications could be caused by the single fault.
  • In some embodiments, using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault includes identifying one or more building objects associated with the multiple fault indications, using the ontological model to determine a single building object that is causally related to each of the identified building objects, retrieving event information associated with the single building object, and analyzing the event information to identify a single fault which could cause the multiple fault indications.
  • In some embodiments, analyzing the event information to identify a single fault which could cause the multiple fault indications includes using the event information to identify an abnormal event prior to the multiple fault indications and using the ontological model to determine whether the abnormal event could have caused the multiple fault indications.
  • In some embodiments, using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault includes comparing a timestamp of the single fault to timestamps of the multiple fault indications and determining that the multiple fault indications could be caused by the single fault in response to the timestamp of the single fault antedating the timestamps of the multiple fault indications.
  • In some embodiments, suppressing the multiple fault indications comprises at least one of preventing the multiple fault indications from being displayed on a user interface and displaying the multiple fault indications as secondary events on the user interface.
  • Another implementation of the present disclosure is a computer system for evaluating and reporting events a building management system. The computer system includes a processing circuit configured to receive an event indication for building equipment of the building management system. The event indication is associated with an event. The processing circuit is configured to classify the event as at least one of a cause event and a symptom event. The processing circuit is configured to suppress the event indication in response to classifying the event as a symptom event and to display the event indication in response to classifying the event as a cause event.
  • In some embodiments, the processing circuit is configured to retrieve, from the building management system, event information associated with the event, use the event information to determine whether the event is an abnormal event, and classify the event as a symptom event in response to a determination that the event is an abnormal event.
  • In some embodiments, the processing circuit is configured to, in response to classifying the event as a symptom event, use an ontological model of the building equipment to identify a prior event which could have caused the symptom event and display an event indication associated with the prior event.
  • In some embodiments, the prior event is a first prior event representing a most direct cause of the symptom event. The processing circuit may be configured to use the ontological model to determine whether the first prior event could have been caused by a second prior event and display the second prior event and suppress the first prior event in response to a determination that the second prior event could have caused the first prior event.
  • In some embodiments, using an ontological model of the building equipment to identify a prior event which could have caused the symptom event includes identifying a building object associated with the symptom event, using the ontological model to determine one or more building objects that are causally related to the building object associated with the symptom event, retrieving event information associated with the one or more of the causally-related building objects, and analyzing the event information to identify a prior event which could have caused the symptom event.
  • In some embodiments, analyzing the event information to identify a prior event which could have caused the symptom event includes using the event information to identify an abnormal event prior to the symptom event and using the ontological model to determine whether the abnormal event could have caused the symptom event.
  • In some embodiments, analyzing the event information to identify a prior event which could have caused the symptom event includes comparing a timestamp of the prior event with a timestamp of the symptom event and determining that the prior event could have caused the symptom event in response to the timestamp of the prior event antedating the timestamp of the symptom event.
  • In some embodiments, suppressing the event indication includes at least one of preventing the event indication from being displayed on a user interface and displaying the event indication as a secondary event on the user interface.
  • Another implementation of the present disclosure is a computer-readable storage medium having computer-readable instructions embedded therein. The computer-readable instructions, when executed by one or more processors, cause the one or more processors to perform operations including receiving an event indication for building equipment of the building management system. The event indication is associated with an event. The operations further include classifying the event as at least one of a cause event and a symptom event, suppressing the event indication in response to classifying the event as a symptom event, and displaying the event indication in response to classifying the event as a cause event.
  • Alternative exemplary embodiments relate to other features and combinations of features as may be generally recited in the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The disclosure will become more fully understood from the following detailed description, taken in conjunction with the accompanying figures, wherein like reference numerals refer to like elements, in which:
  • FIG. 1A is a perspective view of a building including a BMS, according to an exemplary embodiment;
  • FIG. 1B is a block diagram of the BMS for the building of FIG. 1A, according to an exemplary embodiment;
  • FIGS. 1C-D are detailed block diagrams of a portion of the BMS shown in FIG. 1B, according to an exemplary embodiment;
  • FIGS. 2A-B are diagrams of causal relationship models, according to an exemplary embodiment;
  • FIG. 3 is a flow diagram of a process for building a causal relationship model of the BMS, according to an exemplary embodiment;
  • FIG. 4 is a flow diagram of a process for using a hierarchical model of the BMS, according to an exemplary embodiment;
  • FIG. 5 is a flow diagram of a process for providing a graphical user interface that allows users to view or interact with a causal relationship model, according to an exemplary embodiment;
  • FIG. 6 is a block diagram of the query engine shown in FIGS. 1C and 1D, according to an exemplary embodiment;
  • FIG. 7 is a block diagram of the system analysis module shown in FIGS. 1C and 1D, according to an exemplary embodiment;
  • FIG. 8 is a flow diagram of a process for evaluating and reporting a cause of an event in a BMS, according to an exemplary embodiment;
  • FIG. 9 is a flow diagram of a process for determining a cause of a fault is shown
  • FIG. 10 is a flow diagram of a process for identifying a possible cause of a fault is shown, according to an exemplary embodiment;
  • FIG. 11 is a flow diagram of a process for using time data to determine a cause of a fault, according to an exemplary embodiment; and
  • FIG. 12 is a detailed flow diagram of a process for determining a cause of a fault using time data, according to an exemplary embodiment.
  • DETAILED DESCRIPTION
  • Before turning to the figures, which illustrate the exemplary embodiments in detail, it should be understood that the disclosure is not limited to the details or methodology set forth in the description or illustrated in the figures. It should also be understood that the terminology is for the purpose of description only and should not be regarded as limiting.
  • Conventional building management systems receive fault indications from varying subsystems and devices. A server or a client front-end conventionally causes the fault to be reported to a user via, e.g., a graphical user interface. Other building management systems analyze data (e.g., trends, statistics, etc.) to determine whether to derive a fault from the analyzed data.
  • The present application relates to systems and methods for determining and reporting a root cause for a received or determined fault. A causal relationship model including the building equipment associated with the fault is traversed to determine the root cause. This approach can advantageously help building managers or engineers identify and address a fault's source rather than merely identifying and addressing a fault's downstream effects.
  • Maintaining Building Objects and Causal Relationship Models for the Building Objects
  • Embodiments of the present disclosure include a computer system for a BMS (e.g., a BMS controller) that has been configured to help make differences in building subsystems transparent at the human-machine interface, application, or client interface level. The computer system is configured to provide access to different building devices and building subsystems using common or unified building objects (e.g., software objects stored in memory) to provide the transparency. In an exemplary embodiment, a software defined building object (e.g., “virtual building object,” “virtual device”) groups multiple properties from disparate building systems and devices into a single software object that is stored in memory and provided by a computer system for interaction with other systems or applications (e.g., front-end applications, control applications, remote applications, client applications, local processes, etc.). Multiple software defined building objects may be described as forming an abstraction layer of a BMS software framework or architecture. Benefits such as allowing developers to write applications that will work regardless of a particular building subsystem makeup (e.g., particular naming conventions, particular protocols, etc.) may be provided by such software defined building objects. Such software defined building objects are further described in Ser. No. 12/887,390, filed Sep. 21, 2010 to Huneycutt et al. Application Ser. No. 12/887,390 is hereby incorporated by reference in its entirety.
  • Referring now to FIG. 1A, a perspective view of a building 10 is shown, according to an exemplary embodiment. A BMS serves building 10. The BMS for building 10 may include any number or type of devices that serve the building. For example, each floor may include one or more security devices, video surveillance cameras, fire detectors, smoke detectors, lighting systems, HVAC systems, or other building systems or devices. In modern BMSs, BMS devices can exist on different networks within the building (e.g., one or more wireless networks, one or more wired networks, etc.) and yet serve the same building space or control loop. For example, BMS devices may be connected to different communications networks or field controllers even if the devices serve the same area (e.g., floor, conference room, building zone, tenant area, etc.) or purpose (e.g., security, ventilation, cooling, heating, etc.).
  • Referring now to FIG. 1B, a block diagram of an exemplary BMS 11 for building 10 of FIG. 1A is shown, according to an exemplary embodiment. BMS 11 is shown to include a plurality of BMS subsystems 20-26. Each BMS subsystem 20-26 is connected to a plurality of BMS devices and makes data points for varying connected devices available to upstream BMS controller 12. Additionally, BMS subsystems 20-26 may encompass other lower-level subsystems. For example, an HVAC system may be broken down further as “HVAC system A,” “HVAC system B,” etc. In some buildings, multiple HVAC systems or subsystems may exist in parallel and may not be a part of the same HVAC system 20.
  • As illustrated in FIG. 1B, a BMS subsystem includes HVAC system 20. HVAC system 20 is shown to include a lower-level HVAC system 42, named “HVAC system A.” For example, HVAC system 20 may control HVAC operations for a given building (e.g., building 10), while “HVAC system A” 42 controls HVAC operations for a specific floor of that building. “HVAC system A” 42 is connected to air handling units (AHUs) 32, 34, named “AHU A” and “AHU B” in the BMS, respectively. AHU 32 may control variable air volume (VAV) boxes 38, 40, named “VAV_3” and “VAV_4” in the BMS. Likewise, AHU 34 may control VAV boxes 36 and 110, named “VAV_2” and “VAV_1.” HVAC system 42 may also include chiller 30, named “Chiller A” in the BMS. Chiller 30 may provide chilled fluid to AHU 32 and/or to AHU 34.
  • HVAC system 42 may also receive data from AHUs 32, 34 (e.g., a temperature setpoint, a damper position, temperature sensor readings). HVAC system 42 may then provide such BMS inputs up to HVAC system 20 and on to middleware 14 and BMS controller 12. Similarly, other BMS subsystems may receive inputs from other building devices or objects and provide them to middleware 14 and BMS controller 12 (e.g., via middleware 14). For example, a window control system 22 may receive shade control information from one or more shade controls, may receive ambient light level information from one or more light sensors, or may receive other BMS inputs (e.g., sensor information, setpoint information, current state information, etc.) from downstream devices. Window control system 22 may include window controllers 107, 108, named “local window controller A” and “local window controller B” in the BMS, respectively. Window controllers 107, 108 control the operation of subsets of the window control system 22. For example, window controller 108 may control window blind or shade operations for a given room, floor, or building in the BMS. Lighting system 24 may receive lighting related information from a plurality of downstream light controls, for example, from room lighting 104. Door access system 26 may receive lock control, motion, state, or other door related information from a plurality of downstream door controls. Door access system 26 is shown to include door access pad 106, named “Door Access Pad 3F” which may grant or deny access to a building space (e.g., floor, conference room, office, etc.) based on whether valid user credentials are scanned or entered (e.g., via a keypad, via a badge-scanning pad, etc.).
  • BMS subsystems 20-26 are shown as connected to BMS controller 12 via middleware 14 and are configured to provide BMS controller 12 with BMS inputs from the various BMS subsystems 20-26 and their varying downstream devices. BMS controller 12 is configured to make differences in building subsystems transparent at the human-machine interface or client interface level (e.g., for connected or hosted user interface (UI) clients 16, remote applications 18, etc.). BMS controller 12 is configured to describe or model different building devices and building subsystems using common or unified building objects (e.g., software objects stored in memory) to help provide the transparency. Benefits such as allowing developers to write applications that will work regardless of the building subsystem makeup may be provided by such software building objects.
  • FIGS. 1C-D are detailed block diagrams of a portion of the BMS as shown in FIG. 1B, according to an exemplary embodiment. Many different building devices connected to many different BMS subsystems are shown to affect conference room “B1_F3_CR5.” For example, conference room 102 includes or is otherwise affected by VAV box 110, window controller 108 (e.g., a blind controller), a system of lights 104 named “Room Lighting 12,” and door access pad 106. As is viewable in FIGS. 1C-D and also in FIG. 1B, VAV box 110, window controller 108, lights 104, and door access pad 106 are not otherwise related. Each of the building devices shown at the top of FIGS. 1C-D may include local control circuitry configured to provide signals to their supervisory controllers or more generally to the BMS subsystems 20-26. The local control circuitry of the building devices shown at the top of FIGS. 1C-D may also be configured to receive and respond to control signals, commands, setpoints, or other data from their supervisory controllers. The local control circuitry of VAV box 110 may include circuitry that affects an actuator in response to control signals received from a field controller that is a part of HVAC system 20. Window controller 108 may include circuitry that affects windows or blinds in response to control signals received from a field controller that is part of window control system (WCS) 22. “Room Lighting 12104 may include circuitry that affects the lighting in response to control signals received from a field controller that is part of lighting system 24. Access pad 106 may include circuitry that affects door access (e.g., locking or unlocking the door) in response to control signals received from a field controller that is part of door access system 26.
  • In conventional buildings, the BMS subsystems are often managed separately. Even in BMSs where a unified graphical user interface is provided, a user must typically click through a hierarchy such as is shown in FIG. 1B to view data points for a lower level device or to make changes (e.g., setpoint adjustments, etc.). Such separate management can be particularly true if the subsystems are from different manufacturers or communicate according to different protocols. Conventional control software in such buildings is sometimes custom written to account for the particular differences in subsystems, protocols, and the like. Custom conversions and accompanying software is time consuming and expensive for end-users or their consultants to develop. A software defined building object of the present disclosure is intended to group otherwise ungrouped or unassociated devices so that the group may be addressed or handled by applications together and in a consistent manner.
  • In an exemplary BMS controller, a conference room building object may be created in memory for each conference room in the building. Further, each conference room building object may include the same attribute, property, and/or method names as those shown in FIGS. 1C-D. For example, each conference room may include a variable air volume box attribute, a window attribute, a lighting attribute, and a door access device attribute. Such an architecture and collection of building objects is intended to allow developers to create common code for use in buildings regardless of the type, protocol, or configuration of the underlying BMS subsystems. For example, a single automated control application may be developed to restrict ventilation to conference rooms when the conference rooms are not in use (e.g., when the occupied attribute is equal to “true”). Assuming proper middleware and communications systems, the setup or the installation of a different BMS device or an application for a different BMS may not need to involve a re-write of the application code. Instead, for example, if a new building area is designated as a conference room, a new conference room building object can be created and set-up (e.g., a variable air volume unit mapped to the conference room building object). Once a new conference room building object is created and set-up, code written for controlling or monitoring conference rooms can interact with the new conference room (and its actual BMS devices) without modification.
  • Referring still to FIGS. 1C-D, the BMS is shown to include a BMS interface 132 in communication with middleware 14 of the BMS. Middleware 14 is generally a set of services that allow interoperable communication to, from, or between disparate BMS subsystems 20-26 of the BMS (e.g., HVAC systems from different manufacturers, HVAC systems that communicate according to different protocols, security/fire systems, IT resources, door access systems, etc.). Middleware 14 may be, for example, an EnNet server sold by Johnson Controls, Inc. While middleware 14 is shown as separate from BMS controller 12, in various exemplary embodiments, middleware 14 and BMS controller 12 are integrated. For example, middleware 14 may be a part of BMS controller 12.
  • BMS interface 132 (e.g., a communications interface) can be or include wired or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with another system or network. For example, BMS interface 132 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network. In another example, BMS interface 132 includes a WiFi transceiver for communicating via a wireless communications network. BMS interface 132 may be configured to communicate via local area networks or wide area networks (e.g., the Internet, a building WAN, etc.). BMS interface 132 is configured to receive building management inputs from middleware 14 or directly from one or more BMS subsystems 20-26. BMS interface 132 can include any number of software buffers, queues, listeners, filters, translators, or other communications-supporting services.
  • BMS controller 12 is further shown to include a processing circuit 134 including a processor 136 and memory 138. Processor 136 may be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor 136 is configured to execute computer code or instructions stored in memory 138 or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.). According to an exemplary embodiment, memory 138 is communicably connected to processor 136 via electronics circuitry. Memory 138 (e.g., memory unit, memory device, storage device, etc.) is one or more devices for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory 138 may be RAM, 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 138 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory 138, for example, includes computer code for executing (e.g., by processor 136) one or more processes described herein. When processor 136 executes instructions stored in memory 138 for completing the various activities described herein, processor 136 generally configures BMS controller 12 and more particularly processing circuit 134 to complete such activities.
  • Memory 138 is shown to include building objects 142 and building object templates 140, which can be used to construct building objects of predefined types. For example, building object templates 140 may contain a “Conference Room” template that can be used to define conference room objects in building objects 142.
  • In FIG. 1C, software defined building object 142 named “Conference_Room.B1_F3_CR5” is illustrated as existing within memory 138 of BMS controller 12. To create a particular building object (for example, a software object of an AHU), inputs from building management resources may be mapped (e.g., linked, associated, described, grouped) to attributes of the particular building object. A simplified exemplary result of such mapping might be an object such as:
  • Floor1AHU {
    temperature_sensor: Floor1AHU.controllerB.TempS;
    setpoint: Floor1AHU.345server.Setpoint;
    damper_position: Floor1AHU.345server.Damper;
    }
  • The building object's name is “Floor1AHU” which may conform to a naming convention indicating that it is the AHU serving the first floor of a building. The building object “Floor1AHU” has three values or attributes: temperature sensor, setpoint, and damper_position that are mapped to the particular BMS resources of “Floor1AHU.controllerB.TempS,” “Floor1AHU.345server.Setpoint,” and “Floor1AHU.345server.Damper,” respectively. The mapping provides a description for BMS or computing resources (e.g., back end software applications or client applications) so that the BMS or computing resources can identify, access, display, change, or otherwise interact with the particular BMS resources mapped to “Floor1AHU” even when the resources are associated with different servers or controllers.
  • For example, BMS controller 12 may group inputs from the various subsystems 20-26 to create a building object “Conference_Room.B1_F3_CR5” including inputs from various systems controlling the environment in the room. An exemplary software defined building object might be an object such as:
  • Conference_Room.B1_F3_CR5 {
    vav: //Middleware/HVAC_System_A/VAV_1;
    window: //Middleware/WCS/WindowControllerB;
    lighting: //Middleware/LightingSystem/RL12;
    door_access: //Middleware/AccessSys/DAP3F;
    occupied: true;
    getSheddableWattage( );
    }
  • The software defined building object's name is “Conference_Room.B1_F3_CR5” which may conform to a naming convention indicating that it is a conference room in a particular location in the building, e.g. Conference Room 5 is on Floor 3 of Building 1. The building object “Conference_Room.B1_F3_CR5” has several values or attributes including vav, window, lighting, door_access, occupied, and getSheddableWattage. The attributes of vav, window, lighting, and door_access are mapped to the particular BMS resources of “HVAC_System_A/VAV_1,” “WCS/WindowControllerB,” “LightingSystem/RL12,” and “AccessSys/DAP3F,” respectively. The mapping provides a description for BMS or computing resources (e.g., back end software applications, client applications, BMS control routines, etc.) so that the BMS or other computing resources can identify, access, display, change or otherwise interact with the software defined building object in a meaningful way (e.g., in a way that allows changes to be made to the mapped devices). A software defined building object may be mapped to BMS inputs manually. For example, the mapping may be completed by a user with a graphical user interface tool that requires a user to either type in or “drag and drop” BMS inputs to an object. Software defined building objects may also or alternatively be mapped to BMS inputs by computerized systems configured to provide varying degrees of mapping automation. For example, patent application Ser. No. 12/887,390, filed Sep. 21, 2010 and incorporated herein by reference in its entirety, describes systems and methods for creating software defined building objects and mapping BMS inputs to the building objects. “Occupied” is a boolean property unique to the “Conference_Room.B1_F3_CR5” building object. GetSheddableWattage( ) is a method unique to the “Conference_Room.B1_F3_CR5” building object.
  • As an example of how a building object may be used by the system, all conference room building objects may have the same attributes as “Conference_Room.B1_F3_CR5” listed above. Once each of the conference rooms in building 10 are mapped to a software defined conference room building object, the rooms may be treated the same way in code existing in BMS controller 12, remote applications 18, or UI clients 16. Accordingly, an engineer writing software code for UI clients 16, remote applications 18 or BMS controller 12 can know that each conference room will have attributes listed above (e.g., VAV, window, lighting, door access, occupied, getSheddableWattage( )). Therefore, for example, rather than having to know an address for a particular variable air volume controller in a particular HVAC system, a given conference room's VAV controller may be available at the conference room's vav attribute.
  • The creation of a software defined building object may include three steps:
  • 1. defining a building object template;
  • 2. creating an instance of a building object based on the template; and
  • 3. mapping or binding building object properties or attributes to particular BMS devices or inputs.
  • As an example of the first step, a conference room template or class may be created (e.g., by a developer, by a rapid application development module, etc.) such as the following:
  • public class Conference_Room extends Device {
    def vav
    def window
    def lighting
    def door_access
    def occupied
    def getSheddableWattage( ) { ...
    }
  • In some embodiments, the building object template or class may be a Groovy/Java class configured to inherit a series of benefits such as the ability to extend existing devices.
  • An instance of the class may be created and named (for example “B1_F3_CR5”). The names can be descriptive, based on an automated routine configured to find building objects, manually applied, or otherwise.
  • The mapping or binding process maps disparate BMS devices or inputs to the instance of the building object.
  • Once the building objects are created and BMS devices or inputs are mapped to the building objects, software defined building objects may be used by applications (local, remote, client, etc.) with any suitable programming language or syntax. As an example of interaction with the software defined building object used in previous examples, the following exemplary piece of code is configured to load “B1_F3_CR5” as ConfRoom, print the result of the method getSheddableWattage for ConfRoom, and set the window parameter to “50” (which may be sent to WCS 22 or “Local Window Controller B” 108 via BMS interface 132 or middleware 14 shown in FIGS. 1C-D to cause the blinds to be 50 percent open) when the ConfRoom object is saved.
  • def ConfRoom = factory.load(“Conference_Room.B1_F3_CR5”)
    println ConfRoom.getSheddableWattage( );
    ConfRoom1.window = 50
    factory.save(ConfRoom)
  • In an exemplary embodiment, application services 148 of BMS controller 12 shown in FIGS. 1C-D may be or include web services configured to allow remote applications 18 or local applications 150 to access building object templates 140, building objects 142, causal relationship models 152, hierarchical projection models 154 and query engine 156 directly or indirectly via a set of internet application programming interfaces. To support such interfaces, each software defined building object may include or be exposed to a to XML( ) method configured to describe the software defined building object using XML. In another exemplary embodiment, application services 148 allows remote applications 18 on other BMS controllers to communicate with BMS controller 12 over a network.
  • Conventional building systems do not include organizational models which link and describe building objects by causal relationships (e.g., “ontological models”). Memory 138 is shown to include causal relationship models 152, which store the causal relationships between objects in building objects 142. For example, a “ventilates” causal relationship may be used to relate a VAV box object to a conference room object.
  • Memory 138 is also shown to include hierarchical projection models 154. While the models of the present disclosure are not stored or represented as static hierarchical models, systems and methods of the present disclosure are configured to allow the creation of multiple hierarchical views of the causal relationship model. Each “view” may be defined as a hierarchical model (e.g., tree model, uni-directional tree, top-down tree having a head node) in memory 138 to which a causal relationship model can be applied. In other words, one or more hierarchical models may be created in memory 138 and one or more causal relationships can be projected onto the one or more hierarchical models.
  • Memory 138 is also includes client services 146 configured to allow interaction between internal or external clients or applications and BMS controller 12. Client services 146, for example, may include web services or application programming interfaces available for communication by UI clients 16 and remote applications 18 (e.g., an energy monitoring application, an application allowing a user to monitor the performance of the BMS, an automated fault detection and diagnostics system, etc.).
  • Memory 138 further includes user interface module 144. User interface module 144 is configured to generate one or more user interfaces for receiving input from a user. User interface module 144 may be configured to provide, for example, a graphical user interface, a voice driven interface, a text-based interface, or another interface for receiving user input regarding the mapping of BMS inputs to building objects. In an exemplary embodiment, user interface module 144 is an HTML-based application configured to be served by, for example, client services 146 or another web server of BMS controller 12 or another device. User interface module 144 may be configured to prompt a user (e.g., visually, graphically, audibly, etc.) for input regarding building objects 142, building object templates 140, causal relationship models 152 or hierarchical projection models 154. In an exemplary embodiment, user interface module 144 prompts the user to create (or otherwise provides a user interface for creating) a template building object 140. User interface module 144 may also prompt the user to map BMS inputs to the template building object. User interface module 144 may receive and handle the user inputs to initiate the storage of received input mappings. In another exemplary embodiment, user interface module 144 may prompt the user to identify, define, store, modify or delete a causal relationship in causal relationship models 152. For example, a user may use a GUI to create a causal relationship between defined building objects in building objects 142, e.g. relating a conference room object to a VAV box object. User interface module 144 may further be configured to generate and serve graphical user interfaces having information displays of building objects and/or causal relationships. User interface module 144 may also be configured to utilize query engine 156 to query and retrieve information about causal relationships in causal relationship models 152 or via hierarchical projection models 154.
  • In FIG. 1D, causal relationship models 152 is shown to include a causal relationship model for conference room 102 and a number of building objects (e.g. building objects 30, 32, 40, etc. associated with devices shown in FIG. 1B) that affect access to conference room 102 or the environment of conference room 102. The causal relationships from these building objects to conference room 102 are identified and mapped back to conference room 102. For example, VAV box 110 is shown linked to conference room 102 with a directional link described by the name or tag “ventilates.” This link represent the causal relationship between VAV box 110 and conference room 102. More particularly, the link identifies the causal relationship between VAV box 110 and conference room 102 as one where VAV box 110 provides ventilation to conference room 102. VAV box 110 is affected by HVAC System 20 and so the corresponding causal relationship is shown as being directional from conference room 102 to VAV box 110 with “controls” describing the relationship. Similarly, room lighting 104 lights conference room 102, window controller 108 dims conference room 102, and access pad 106 controls access to conference room 102. As described above, conference room 102 is not a building device that is associated with any one particular controller or BMS subsystem. As a complement to the software defined building object for the conference room, the exemplary causal relationship information structure shown at the bottom of FIG. 1D provides a multi-level relationship map that more clearly represents the complex control environment of the actual conference room shown at the top of FIG. 1D. In addition to more coding and software development advantages, the causal relationship models can provide new user interface views, more robust searching “show me all VAV boxes that ventilate conference rooms,” new fault detection and diagnostics tools, and other advantages.
  • Conventional building systems do not include organizational models which link and describe building objects by causal relationships (e.g., “ontological models”). A key feature of an ontological model is the ability to define relationships between dissimilar object types. A conventional hierarchical model may have an HVAC server object and a “VAV box” that is a member of the HVAC server object due to its control connection. Such a hierarchical model allows objects to be handled in a hierarchical manner, but lacks the ability to interrelate objects that do not follow the chain of inheritance. Causal relationships or ontological models, however, allow dissimilar objects to be related, thereby adding layers of description, flexibility, and robustness to the system. For example, a “ventilates” causal relationship may be used to relate a VAV box object to a conference room object, even though VAV box objects and conference room objects are dissimilar. Memory 138 is shown to include causal relationship models 152, which store the causal relationships between objects in building objects 142.
  • FIGS. 2A-B illustrate two exemplary causal relationship models. In FIG. 2A, causal relationships are shown between various building objects. Building object 210, named “Building 1” in the BMS, has causal relationships with chiller 30 and floor 214, named “Floor 3.” The causal relationship “has” is shown to link and define the relationships between building 210, floor 214 and chiller 30. Chiller 30, in turn, has causal relationships with AHUs 32, 34, i.e. it “chills” the air passing through AHUs 32, 34. AHU 32, in turn, has a causal relationship, “controls,” with VAV boxes 38, 40. Similarly, AHU 34 has a causal relationship, “controls,” with VAV boxes 36, 110. Likewise, VAV boxes 38, 40 have “ventilates” causal relationships with conference room 212, named “Conference Room 4” or “CR4” in the BMS. Similarly, VAV boxes 36, 110 have “ventilates” causal relationships with conference room 102, named “Conference Room 5” or “CR5” in the BMS. CR5 102 is shown to have properties 216, which can be created by default when a new conference room object is added to the BMS, or created by the BMS or a user when more information about the conference room becomes available. Finally, conference rooms 102, 212 are shown to have causal relationships with floor 214, denoting that both rooms are “on” floor 3. As is illustrated with conference room CR5, a software defined building object can be causally related with one or more actual devices (e.g., VAV_1) or with other software defined building objects (e.g., “Floor 3”).
  • Causal relationship models may be stored in memory in any number of ways. In one embodiment, causal relationship models may be stored within one or more tables. For example, a table may have columns for a relationship type (e.g., a relationship description), a first object identifier, and a second object identifier. With reference to FIG. 2A, a row entry in such a table may include “has” in the relationship column, “Building 1” in the first object identifier column, and “Floor 3” in the second object identifier column. In this way, causal relationship models 152 can be easily queried by relationship type, first object identifier and/or second object identifier. In another embodiment, a different table can be established for every type of causal relationship in the system. For example, a “controls” table may be established with a “source identifier” field and a “destination identifier” field. Referring to FIG. 2A, in a row for such a table “AHU B” would populate the “source identifier” field and “VAV_2” would populate the “destination identifier” field. In other embodiment, each software-defined building object may include a number of causal relationship properties or attributes that store the causal relationships. For example, a building object for “CR 4” shown in FIG. 2A might include a “ventilated by” property that is a delimited string of devices that ventilate CR 4 (e.g., ventilated by: VAV_3, VAV_4). Any number of suitable information structures for representing the causal relationship may be stored in memory.
  • FIG. 2B illustrates another exemplary causal relationship model for the building objects in FIG. 2A. In FIG. 2B, causal relationships between building objects are linked with causal relationships that have a directionality that is opposite to that shown in FIG. 2A. The causal relationship model of FIG. 2B may co-exist with the model shown in FIG. 2A. In other embodiments, only one of FIG. 2A and FIG. 2B will exist for a BMS. A set-up process may prompt a user for whether a “top-down” or “bottom-up” directionality is desired. In some embodiments the causal relationship model will be maintained and stored on a “bottom-up” basis such as that shown in FIG. 2B. In a system where the causal relationship models of FIG. 2A and FIG. 2B co-exist, FIG. 2A's causal relationship “has” that links building 210 to chiller 30 in FIG. 2A may have a corresponding causal relationship “in” that links chiller 30 to building 210 in FIG. 2B.
  • Causal relationship models such as those shown in FIGS. 2A-B may be created in different ways according to varying embodiments of the invention. In some embodiments, for example, a user may be prompted to create, or an automated system may create, a model with immediate references to particular building objects. In other embodiments, the system may prompt or otherwise allow a user to define causal relationship classes or templates of causal relationship models that will later be used and reused for particular instances of causal relationship models and objects.
  • In an exemplary embodiment, a specification of a class, class relationships, and properties can be defined generally as a template. For example, a template for an HVAC class may include default causal relations to equipment objects, such as VAV boxes, and to location objects, such as a floor or building. The representation of the class may be in the form of a directed graph (regardless of the underlying information structure) and not a conventional device tree form. Default properties or attributes may be established for one or more of the nodes. Instantiated objects can then be created or mapped using the relational template. The created causal relationship models may be modified at run-time or via a tool that allows modification outside of a run-time environment. For example, a tool may be provided for adding, modifying, or removing relationships, objects, classes, properties, attributes, and the like. When edits are made, the computing system or tool may be configured to dynamically adjust the model's structure (e.g., as the model is not stored as a static tree hierarchy). For example, if access pad 106 is no longer used to control access to conference room 102, the causal relationships pointing to access pad 106 may be deleted as well as its corresponding building object—but the rest of the model remains intact and unaffected. While the causal relationship models shown in FIGS. 2A-B primarily relate to software defined objects for building devices, many different building object relationships may be modeled using the systems and methods of the present disclosure. For example, other building entities (e.g., departments, employees, etc.) may be mapped to the BMS devices or software objects thereof. Therefore, using the causal relationship approach building devices may and the BMS may be linked with other enterprise systems (e.g., an HR management system having employee objects).
  • Referring now to FIG. 3, a flow chart of a process 300 for organizing and using information in a building management system (BMS) is shown, according to an exemplary embodiment. Process 300 includes identifying a plurality of building objects (e.g., including building devices, software defined building objects, or other inputs to the BMS that affect the building environment) (step 302). Process 300 also includes identifying the causal relationships between the identified building objects (step 304). Steps 302, 304 may include testing building inputs and outputs for the causal relationships using an automated process. The identifying steps may also or alternatively include using an automated process to analyze characteristics of BMS devices and signals to create software defined building objects and their causal relationships to each other. In yet other exemplary embodiments, the identifying steps include causing a graphical user interface to be displayed that allows a user to input the building objects and the causal relationships between the objects.
  • Process 300 is further shown to include relating the identified objects by the causal relationships (step 306). Relating the identified objects by causal relationships may be completed by an automated process (e.g., based on testing, based on signal or name analysis at a commissioning phase, etc.) or by user configuration (e.g., of tables, of graphs via a graphical user interface, etc.). In an exemplary embodiment, a graphical user interface may be provided for allowing a user to draw directional links between building objects. Once a link is drawn, a computerized process may cause a dialog box to be shown on the GUI for allowing a user to describe the created causal relationship.
  • Process 300 is yet further shown to include describing the causal relationships (step 308). The description may be found and stored using any of the previously mentioned processes (e.g., automated via testing, manually input via a keyboard or other user input device, etc.). In one set of exemplary embodiments, the user is able to select (e.g., via a drop down box, via a toolbox, etc.) from a pre-defined list of possible causal relationship descriptions or to insert (e.g., type) a custom causal relationship description at a graphical user interface.
  • Process 300 is yet further shown to include storing the causal relationships and descriptions in a memory device of the BMS (step 310). The causal relationships may be stored using any of the above-described information structures (e.g., stored in tables, stored as lists linked to object properties, stored as a systems of linked lists, etc.).
  • Referring again to FIGS. 1C-D, while the causal relationship models of the present disclosure may not be stored or represented as static hierarchical models (e.g., a tag-based hierarchical model description), systems and methods of the present disclosure are configured to allow the creation of multiple hierarchical views of the causal relationship models. Each “view” may be defined as a hierarchical model (e.g., tree model) in memory to which one or more causal relationship models can be applied or projected. For example, at least two different hierarchical models may be used to describe the models of FIGS. 2B-C as shown below:
  • <Conference Room>
    <VAV Box>
    <AHU>
    <VAV Box/>
    <Conference Room/>
    OR
    <AHU>
    <VAV Box>
    <Conference Room/>
    <VAV Box/>
    <AHU>
  • The first example shows a small hierarchical tree of building objects related to a conference room. For example, a conference room may be ventilated by a VAV box, which in turn is controlled by an AHU. In the second example, a similar tree is shown, but from the perspective of an AHU. The AHU may control a VAV box, which in turn ventilates a conference room. Any number or type of hierarchical models may be created and used to describe complex causal relationship models. In conventional systems, a building may only be described using a single static hierarchical tree (e.g., top down, one head node, showing control connections). The present disclosure allows the user or the system to establish many different new information structures by applying desired hierarchical models (e.g., bottom-up, top-down, selecting a new head node, etc.) to the stored causal relationship models. The hierarchical models may be used for reporting, displaying information to a user, for communication to another system or device (e.g., PDA, client interface, an electronic display, etc.), or for further searching or processing by the BMS or the computing system.
  • Each level of the resultant hierarchical trees may be optionally constrained or not constrained to a certain number of entities (this may be set via by updating one or more variables stored in memory, providing input to a user interface, by coding, or otherwise). In the first hierarchical result shown above, for example, only a single primary VAV box may be specified to be shown for each conference room, even though there may be more VAV boxes associated with the conference room. In an un-constrained hierarchical result, the hierarchical list for each conference room would include all related building objects.
  • As mentioned above, the BMS controller may be configured to use causal relationship models that may be updated during run time (e.g., by one or more control processes of the system, by user manipulation of a graphical user interface, etc.). Any modification of the causal relationship structure, in such embodiments, may be immediately reflected in applications of hierarchical models. In other words, as the building changes, the BMS controller (with or without the aid of a user) may be configured to update the causal relationship models which in turn will be reflected in the results of applying a hierarchical models to the causal relationships.
  • Referring now to FIG. 4, a process 400 for using a hierarchical model of building objects is shown, according to an exemplary embodiment. Process 400 includes defining a hierarchical model of building objects (e.g., such as those shown above or otherwise formatted) (step 402). Process 400 also includes traversing the stored causal relationships to generate a hierarchical result according to the defined hierarchical model (step 404). Alternatively, the hierarchical result may be generated by querying the stored causal relationship. For example, a tree storing causal relationships may be traversed to generate the hierarchical results, whereas a table storing causal relationships may be queried.
  • Step 404 may be conducted by one or more client applications configured to have access to the causal relationships, by a process of a server whereby only the hierarchical results are provided to client applications, by a process away from the server, or by any other process or module. Process 400 is further shown to include step 406, where the hierarchical result is used to create a graphical representation of the result for display (e.g., at a client, on a report, on a local electronic display system, etc.). A graphical user interface including a tool for allowing a user to define new hierarchical models or to revise a previously defined hierarchical model may further be provided to a user via a display system or client. In step 408 of process 400, at least a portion of the hierarchical result is traversed to generate a report. In step 410 of process 400, the hierarchical result or a group of results may be processed by one or more processing modules, reporting modules, or user interface modules for further analysis of the BMS or for any other purpose (e.g., to further format or transform the results).
  • Referring now to FIG. 5, a flow diagram of a process 500 to provide a graphical user interface for allowing users to view or interact with a causal relationship model is shown, according to an exemplary embodiment. Process 500 includes providing at least one tool (e.g., to a graphical user interface, as a text-based interface, etc.) for allowing a user to view or to change a directed graph of the causal relationships and building objects displayed on the graphical user interface (step 502). The tool for changing the directed graph may be the same as the tool for identifying the objects and the relationships elsewhere in the system or process, or may be a different tool for conducting revisions after an initial modeling. Process 500 also includes displaying a graphical user interface that includes a tool for allowing a user to define a new hierarchical model or to revise the hierarchical model (step 504). Process 500 further includes displaying a graphical user interface that includes a directed graph representing the causal relationships (step 506). Process 500 also includes providing at least one tool for allowing a user to change the directed graph displayed on the graphical user interface (step 508). Finally, process 500 includes updating the causal relationships stored in memory based on the changes made by the user to the directed graph (step 510).
  • Referring now to FIG. 6, query engine 156 is shown in greater detail, according to an exemplary embodiment. Query engine 156 can use the causal relationship and hierarchical projection and methods described above to allow inspection (e.g., querying, searching, etc.) within the graph through structured searches. According to an exemplary embodiment, query statement 602 may be provided to query engine 156 via user interface module 144, client services 146, or application services 148. In this way, a module of the computer system, a client process, or a user via a graphical user interface or another tool (e.g., text-based query engine) may submit a structured query statement 602 to query engine 156. In some embodiments, query engine 156 resides remotely from interface module 144 and from services 146, 148 and communicates with them via middleware 14 over a network. Query engine 156 is configured to receive and parse the structured query statement 602 using statement parser 604. The parsing may seek out key words (e.g., causal relationships, object types, object names, class names, property names, property values, etc.) in query statement 602. Key words that are found may be used by projection generator 606 to construct (e.g., using a computerized process) a hierarchical model for use in conducting a search for relevant objects or for filtering the search via one or more filtering steps. In one exemplary embodiment, parsing of the statement results in: (a) an identification or generation of relevant classes via projection generator 606; (b) an identification of object constraints via object constraints identifier 608; and (c) an identification of property/value constraints via property/value constraints identifier 610. Query engine 156 applies the query aspects identified by projection generator 606, object constraints identifier 608 and property/value constraints identifier 610 to causal relationship models 152 in series to arrive at a result object set 618.
  • As an example of how query engine 156 operates, an example query statement is given:
      • “All Conference Rooms on Floor 3 of either Building 1, 2, or 3 with an Office Temperature of Greater Than 72 Degrees”
        Such a statement may be parsed by query engine 156 to:
  • a) Identify classes of Conference Room, Floor, and Building from the statement using projection generator 606. Using these identified keywords/classes, projection generator 606 may generate a hierarchical model that would provide a structured hierarchical tree of conference rooms, their floors, and their buildings. Query engine 156 may apply the generated hierarchical tree to the one or more causal relationship models 152 to return hierarchical projection results 612 of the conference rooms, floors and buildings, as well as particular properties and values of each object.
  • b) Identify the object constraints using object constraints identifier 608. Then, using the object constrains identified by object constraints identifier 608, for example, query engine 156 would use object constraints filter 614 to filter the projection results 612 to only those conference rooms with the set of object constraints requested by query statement 602 in their grouping. For example, only those conference rooms on the third floor of Buildings 1, 2, or 3 would remain in a hierarchical result set after filtering using the identified object constraints.
  • c) Identify the property and value constraints using property/value constraints identifier 610. Then, using the property and value constraints identified by property/value constraints identifier 610, query engine 156 would use property/value constraints filter 616 to filter the hierarchical result set to only those conference rooms with building objects whose temperature is “Greater Than 72 Degrees.”
  • After the object selection and the two filtering steps, the resultant hierarchical data set will be information and context rich for ease of processing and reporting back to the user or for action by one or more computing processes.
  • Determining the Root Cause of Faults in a Building Management System
  • Referring again to FIGS. 1C-D, memory 138 is also shown to include performance indexing module 164. Performance indexing module 164 is configured to calculate, update, or otherwise maintain calculations of performance indexes 158 for the BMS equipment. Memory 138 further includes event analysis module 162. Event analysis module 162 can analyze, for example, event information 160 received from the BMS (e.g., BMS subsystems, BMS equipment, etc.) via BMS interface 132. In some embodiments, event analysis module 162 may analyze the event information 160 based on performance indexes 158.
  • Memory 138 also includes system analysis module 166. System analysis module 166 may be configured to execute a computerized method for evaluating and reporting a cause of a performance change in a building management system. The computerized method includes traversing a causal relationship model (e.g., stored in causal relationship models 152) including the building equipment associated with the fault to determine a root cause of the fault.
  • Performance indexing module 164 may be configured to detect changes (e.g., state changes, undesirable changes, sudden changes, etc.) in performance index values in performance indexes 158. System analysis module 166 can analyze the cause of the change detected by performance indexing module 164. In response to a detected change, for example, system analysis module 166 may cause the recall of event information 160 associated with the equipment experiencing a performance issue.
  • Performance indexes 158 may include one or more performance indexes for a variety of BMS equipment (e.g., door access pad 106, chiller 30, etc.), BMS subsystems, portions of BMS subsystems, or for BMS portion spanning multiple subsystems. A performance index may be created or maintained in performance indexes 158 for each piece of BMS equipment having a performance parameter available for tracking or indexing. In some embodiments, all of the indexes of performance indexes 158 may be created and maintained by performance indexing module 164. In other embodiments, the data for performance indexes 158 may be recalled or received and stored by a different module (e.g., a data gathering module) and performance indexing module 164 may be configured to calculate, for example, an overall performance index value for the equipment.
  • Event information 160 may be an archive of BMS events for the BMS equipment (e.g., as an event list, an event database, etc.). Event information 160 may be created by event analysis module 162. For example, as event information is received from the BMS via BMS interface 132, event analysis module 162 may be configured to conduct fault detection on the received information. For events possibly relating to a fault or an abnormal condition (e.g., temperature that is higher than expected), event analysis module 162 may then store event information in event information 160 for later retrieval. Event information 160 may be stored with, for example, a timestamp or other identifier from which at least a relative time may be derived.
  • Event information 160 may be recalled based on a temporal parameter in addition to a relationship to the detected change in performance indexes 158. For example, event information 160 may be recalled by identifying anomalous events occurring closest to the time at which the performance index value in performance indexes 158 changed. System analysis module 166 may be configured to conduct varying levels of actual event analysis. In some embodiments, for example, system analysis module 166 will actually include routines or functions for conducting analysis. In other embodiments system analysis module 166 calls or coordinates routines or functions of performance indexing module 164, event analysis module 162, or other modules of the system.
  • Event analysis module 162 or system analysis module 166 may be configured to provide data to user interface module 144, client services 146 and/or to application services 148 to cause the display of an indication of a change in performance indexes 158 and a representation of event information 160. For example, a GUI alert with the following text may be displayed on UI clients 16: “HVAC Performance Poor for Zone 1—Associated Events: AHU for Zone 1 began to provide ‘Low Flow Rate’ events as early as 2:34 a.m.—Recommended Action: Check for an obstruction of the air flow in or around the AHU for Zone 1.” In an exemplary embodiment the air handling unit (AHU) may have multiple quality metrics such as: hours of time running, fan speed, output flow rate, and deviation from setpoint. Each of these metrics may have individual performance index values and an overall performance index value for the AHU may be calculated by, for example, averaging the performance index values for each metric. In some exemplary embodiments the overall index of the equipment is discounted over time or because of some other value or state. For example, a process of the system may discount the performance index value (e.g., by one point an hour) for each hour that the AHU's overall performance index value is within the “bad” range (e.g., on a 0-100 point scale, 0-33 may be considered “bad”). Accordingly, while the performance index value may drop just below 33 (e.g., 30) based on actual calculations, over time the performance index value will be caused to approach zero. The system may be able to update a display of the performance index value to indicate its downward trend (e.g., with a down arrow, by showing the number in red, etc.).
  • Event information 160 is retained for the metrics or subsystems of the AHU for later analysis. For example, a “fan speed too low” event (e.g., calculated by an event analysis module or otherwise) may be detected and stored with a timestamp. Next, a “temperature above setpoint” event may be detected and stored with a timestamp. When it is detected that the AHU's overall performance index value has changed and dropped into the “bad” state, both the performance indexes and the event information may be used to help identify the problematic equipment (or subsystems of equipment) and to suggest corrective actions for technicians to take to remedy the issue. For example, using the performance index values of many pieces of equipment in a BMS, the computer system may identify those changed to the “bad” state. In response to this detection, the computer system may query for the closest related event (in time) prior to the change to the “bad” state. This event may be evaluated for whether it is a possible cause of the state change. The evaluation may use, for example, causal relationship models as described below and may include an analysis intended to simulate the question of: “could this event for another piece of equipment have caused this equipment's performance to drop?” If the answer is yes, the system may further investigate the cause for the event. For example, another query may be run for events occurring prior to the first identified event and associated with equipment having an appropriate causal relationship with the equipment associated with the first identified event. If the earlier event could not have caused the performance to drop, the system may query for other early events that could have caused the performance index to drop prior to the first identified event.
  • Various exemplary embodiments of the system could work in a variety of ways. For example, in one embodiment, the system may gather the first six events that occurred prior to the performance index change. Once gathered, the system could check each potential event for a causal relationship to overall equipment performance degradation. The process may be iterative (traversing backwards from final performance change or fault to an initial event that may have caused the change) until a primary or root cause for the performance change is identified. Using such a process, the system may be able to group or tag received events into “symptoms” or “causes” categories. By primarily reporting the “causes” category of events to users, the system may advantageously reduce the “noise” of unimportant events or alarms and direct users or technicians to the root causes for system problems.
  • In the AHU example, when the performance index value in performance indexes 158 changes from “good” to “bad”, the closest time-wise event in event information 160 to the performance index value degradation may be a “temperature above setpoint” event. Event analysis module 162 may identify this event as a “symptom” type event and continue working backward in time and/or via causal relationship models 152 to find a “fan speed low” event that occurred prior to the “symptom” event. Accordingly, event analysis module 162 may determine that the fan speed event describes the probable initial failure in the AHU and provide event data to user interface module 144 and/or to client services 146, which presents that event to the user via a display in UI clients 16. The setpoint event is identified as a secondary symptom of the primary cause.
  • In an alternative embodiment, the system may use causal relationship models 152 and resultant “symptom” and “causes” determinations by event analysis module 162 for fault suppression or highlighting. Those events that are “causes” of further systematic performance degradation may be highlighted or displayed prominently on UI clients 16. Events that are determined to be “symptoms” may be suppressed from view or displayed as secondary events on UI clients 16.
  • By way of another example, system analysis module 166 may use the causal relationship model shown in FIG. 2B to detect and diagnose a fault relating to the temperature in conference room 102. For example, controller 12 may receive temperature data from a temperature sensor in conference room 102 via BMS interface 132 (e.g., the current temperature is 75° F.) and store the data as event information 160. Performance indexes 158 may include a setpoint temperature for the environment of conference room 102 (e.g., a setpoint temperature of 70° F.) created by performance indexing module 164 in response to data provided by a user via UI client 16.
  • In some embodiments, controller 12 may receive a request from a user (e.g., via user interface module 144, client services 146, etc.) for more information about the increase in temperature for conference room 102. For example, controller 12 may provide information about conference room 102 from performance indexes 158, event information 160, and/or query engine 156 to the user. System analysis module 166 may then receive a request from the user (e.g., via user interface module 144, client services 146, etc.) to traverse causal relationship models 152 to retrieve possible causes of the increase in temperature. In other embodiments, system analysis module 166 automatically traverses causal relationship models 152 and provides this information to UI clients 16 and/or to remote applications 18.
  • System analysis module 166 may analyze temperature events in event information 160 and detect that the temperature has risen from 73° F. to 75° F., despite performance indexes 158 having a setpoint of 70° F. for conference room 102 (i.e., the rise in temperature is a symptom of a potential fault). System analysis module 166 may access the causal relationship model shown in FIG. 2B within causal relationship models 152 to analyze the symptom. Based on the causal relationship model, conference room 102 is ventilated by VAV box 110, which is controlled by AHU 34, which is in turn chilled by chiller 30. System analysis module 166 may then analyze events relating to VAV box 110, AHU 34, and/or chiller 30. For example, event information 160 may include information indicating that measured temperatures in VAV box 110 and AHU 34 have also risen (i.e., are causes for the rise in temperature of conference room 102). These events may also be symptoms in their own right (e.g., the temperature in VAV box 110 is higher than its corresponding setpoint in performance indexes 158).
  • Event information 160 may also include information indicating that the prerotation vanes of the compressor in chiller 30 have not changed position for a period of time and is the root cause of the increase in temperature of conference room 102. Similarly, causal relationship models 152 may include a causal relationship model for the components of chiller 30 (e.g., a compressor, prerotation vanes, a condenser, etc.). In this way, system analysis module 166 can use causal relationship models 152, performance indexes 158, and event information 160 to traverse information relating to the increase in temperature of conference room 102 back to chiller 30. System analysis module 166 can then use the traversed data to request additional event data from event analysis module 162 and provide it to UI clients 16 and/or to remote applications 18.
  • Referring now to FIG. 7, system analysis module 166 of FIGS. 1C and 1D is shown in greater detail, according to an exemplary embodiment. System analysis module 166 includes fault cause analyzer 708. Fault cause analyzer 708 coordinates the functions of event analyzer 702, causal relationship analyzer 704 and performance index analyzer 706 to determine the root cause of a detected fault.
  • System analysis module 166 further includes performance index analyzer 706. Performance index analyzer 706 receives performance index data from performance indexing module 164 or performance indexes 158 shown in FIG. 1C and 1D. The performance index data may be performance index values, measured values from the BMS, or an indication that performance indexing module 164 has detected a change in a performance index value. In some embodiments, performance indexing module 164 provides the performance index data to system analysis module 166 in response to a request from performance index analyzer 706. For example, performance index analyzer 706 may request one or more performance index values from performance indexing module 164 relating to a damper within an AHU that may be associated with a cause for a fault. In other embodiments, performance indexing module 164 provides the performance index data to system analysis module 166 without a request from performance index analyzer 706. For example, performance indexing module 164 may provide an indication to performance index analyzer 706 that a measured temperature value is moving away from a setpoint value. In yet other embodiments, performance index analyzer 706 accesses performance indexes 158 directly, without performance indexing module 164.
  • System analysis module 166 is also shown to include event analyzer 702. Event analyzer 702 receives event data from event information 160 and performs further analysis on the event data. In some embodiments, the event data is provided automatically to event analyzer 702 by event information 160 or by event analysis module 162. For example, an event indicating a stuck damper in an AHU may be provided automatically to event analyzer 702 for further action. In other embodiments, event information 160 may provide event data to event analyzer 702 in response to a request from event analyzer 702. The requested events may or may not be fault events. For example, event analyzer 702 may request events with timestamps prior to timestamp associated with a detected fault. In some embodiments, event analysis module 162 shown in FIGS. 1C and 1D is incorporated into event analyzer 702. In other embodiments, event analysis module 162 is a separate module that performs some of the functionality of event analyzer 702.
  • System analysis module 166 is further shown to include causal relationship analyzer 704. Causal relationship analyzer 704 may retrieve one or more causal relationship models relating to event information 160 and/or to the performance index data provided by performance indexing module 164. Multiple relationships of the causal relationship model may be traversed prior to making any root cause decisions. In an exemplary embodiment, performance index data and/or event data for multiple branches of a causal relationship model may be analyzed before a root cause decision is made by system analysis module 166.
  • In one embodiment, fault cause analyzer 708 begins a process of determining a cause of a detected fault in response to performance indexing module 164 detecting an undesirable change in a performance index value (i.e., something which may be defined as a system fault). When performance index analyzer 706 determines that a performance index change corresponds to a fault, performance index analyzer 706 may then provide a fault indication and relevant information to fault cause analyzer 708. In response to such indication and the relevant information, the fault cause analyzer 708 can begin a process for determining a cause of the fault. For example, change in a performance index that tracks power usage of a cooling system may be reported to the fault cause analyzer 708. In response to this information, the fault cause analyzer 708 traverses a causal relationship model for the cooling system. The causal relationship traversal may first inspect performance index information and event information for a local VAV box before traversing backwards through other devices (e.g., actuators, field controllers, temperature sensors, an economizer, a cooling tower, a chiller, etc.) of the cooling system's causal relationship model. The fault cause analyzer 708 can utilize a recursive and/or iterative approach to traversing the causal relationship model(s) of the system. Fault cause analyzer 708 can traverse multiple parallel branches or paths of a causal relationship model (e.g., a causal relationship model organized as a directed graph). Fault cause analyzer 708 may cause performance index or event analysis to be conducted on the multiple parallel branches or paths of the causal relationship model to select a branch or path that is most likely associated with the root cause for a fault.
  • Fault cause analyzer 708 can be triggered to begin determining a cause of a detected fault in response to an event received by event analyzer 702. For example, a received event may denote that a raw measured temperature value has increased above a specific value. Event analyzer 702 can include a rule engine to determine whether such an event corresponds to a fault. Event analyzer 702 can provide an indication of this determination and any relevant event information to fault cause analyzer 708. In response to receiving such indication or information, fault cause analyzer 708 can begin a process for determining a root cause for the fault.
  • In one embodiment, fault cause analyzer 708 may request additional information about the BMS equipment associated with the fault from event analyzer 702, causal relationship analyzer 704, and/or performance index analyzer 706. For example, system analysis module 166 may determine that a fault has occurred relating to a room temperature sensor. In response to this determination, fault cause analyzer 708 may request recent events related to the temperature sensor from event analyzer 702. For example, fault cause analyzer 708 may provide an instruction to event analyzer 702 to retrieve all temperature sensor events within ten minutes of the detected fault. Fault cause analyzer 708 may then request one or more causal relationship model for the temperature sensor from causal relationship analyzer 704. Fault cause analyzer 708 may further request any or all performance index data relating to the temperature sensor from performance index analyzer 706.
  • Fault cause analyzer 708 may use the causal relationships provided by causal relationship analyzer 704 to generate additional requests for event analyzer 702, causal relationship analyzer 704, and/or performance index analyzer 706. For example, a causal relationship model may relate the room temperature sensor to a damper in an AHU and may relate the room temperature sensor to a fan within the AHU. Causal relationship analyzer 704 may iteratively, recursively, or otherwise traverse and retrieve any number of causal relationships from causal relationship models 152. When fault cause analyzer 708 receives a next level (e.g., node, piece of building equipment, etc.) of a causal relationship model, fault cause analyzer 708 may then request additional information about the next level from event analyzer 702, causal relationship analyzer 704, and/or performance index analyzer 706.
  • In some embodiments, fault cause analyzer 708 utilizes a strictly serial or iterative approach to determining the cause of the fault (e.g., determine the next related piece of equipment, request additional information about the next piece of equipment, process the additional information for root cause, request a next piece of equipment based on another causal relationship, etc.). In other embodiments, one or more processes of fault cause analyzer 708 may be processed in parallel (e.g., multiple branches or paths of a causal relationship model may be processed in parallel). By using the causal relationship models, fault cause analyzer 708 is able to restrict the selection of additional information (e.g., event data, performance index data, etc.) to data that is modeled to cause the fault (e.g., causes a degradation in a performance index value, causes a fault event, etc.).
  • As an example of an activity that may be conducted by system analysis module 166, performance indexing module 164 may provide an indication to performance index analyzer 706 that a room temperature value is moving away from its setpoint. Performance index analyzer 706 may retrieve and analyze performance index data from performance indexing module 164 relating to the changing temperature value and determine that a fault has occurred. Performance index analyzer 706 may then provide an indication to fault cause analyzer 708 that a fault has been detected. Fault cause analyzer 708 may then provide a request to causal relationship analyzer 704 for all causal relationships for relating to the room temperature sensor that is the source for the faulty temperature changes. Causal relationship analyzer 704 may then retrieve one or more causal relationships from the room temperature sensor to other pieces of BMS equipment by traversing causal relationship models 152. For example, the room temperature sensor may be causally related to a VAV box, an AHU, and a chiller. Causal relationship analyzer 704 may provide these relationships to fault cause analyzer 708, which generates additional requests for the related pieces of equipment. For example, fault cause analyzer 708 may request events from event analyzer 702 related to a vane position sensor in the chiller that is causally related to the room temperature sensor. Fault cause analyzer 708 may restrict the vane position sensor request to events that have occurred within the hours preceding the fault. Fault analyzer 708 may also request performance index data from performance index analyzer 706 related to the chiller (e.g., power consumptions, differences between measured values and setpoints, etc.). In this way, fault cause analyzer 708 is able to restrict the event data and/or performance index data to data that may indicate the root cause of the fault (e.g., that the chiller is not functioning properly). If analysis of one possible source for the fault (e.g., analysis of the chiller equipment forming one portion of the causal relationship model), the fault cause analyzer 708 can use causal relationship analyzer 704 to analyze another portion of the causal relationship model associated with the faulty room temperature sensor. In an exemplary embodiment, fault cause analyzer can analyze a plurality of paths or branches and analysis returns from the different paths can be compared to estimate the root cause for a fault.
  • Fault cause analyzer 708 can use both temporal information and the causal relationships to determine the cause of a fault. For example, fault cause analyzer 708 may request event data from event analyzer 702 based on the time the fault was detected. For example, fault cause analyzer 708 may provide a request to event analyzer 702 for the most recent event information relative to the time of the fault (e.g., to step backwards in time from the time of the detected change to the most recent event information prior to the fault). In another embodiment, fault cause analyzer 708 may provide a request to performance index analyzer 706 for performance index data within a time frame associated with the time of the detected fault. For example, if the performance index for a room temperature sensor changes, fault cause analyzer 708 may request recent performance index data regarding the energy consumption of a causally-related AHU.
  • In other embodiments, fault cause analyzer 708 uses statistical analysis to determine likely faults. For example, a statistical model may indicate that an unresponsive damper position measured over a fixed period of time may have a 75% chance of being the root cause of a faulty increase in the room temperature of a room served by the damper. Fault cause analyzer 708 may use statistical analysis to determine which of a plurality of suspect events is most likely to be the root cause for a fault. In some embodiments, for example, fault cause analyzer 708 uses the statistical analysis to generate a set of potential causes of the fault from a plurality of paths of a causal relationship model and uses the statistical analysis to rank the set of potential causes by likelihood of being the root cause of the fault.
  • Fault cause analyzer 708 may communicate with BMS interface 132 to receive fault data. For example, a field controller may determine that a fault condition exists (e.g., using analysis local to the field controller) and provide an indication of the fault to fault cause analyzer 708. Fault cause analyzer 708 may also provide possible fault causes to other components of the BMS via BMS interface 132.
  • Fault cause analyzer 708 may also provide the one or more causes of the fault to user interface module 144, client services 146, or application services 148. In some embodiments, fault cause analyzer 708 may receive an indication that a potential fault exists from a user or other BMS services via interface module 144, client services 146, or application services 148. Fault cause analyzer 708 may then determine one or more potential causes of the fault. In other embodiments, fault cause analyzer 708 may also receive additional parameters from the user or BMS that override the default operation of fault cause analyzer 708. For example, fault cause analyzer 708 may receive a parameter to limit its search for a cause of a fault to components of an AHU. In another example, fault cause analyzer 708 may receive a parameter to traverse only a portion of a recalled causal relationship model. In yet another example, a user may manually provide an indication that a fault condition exists to fault cause analyzer 708 via user interface module 144, client services 146, or application services 148 to request a determination of a possible cause. For example, a technician may determine that a damper is stuck and utilize UI client 16 to request a determination of the possible causes from system analysis module 166.
  • In some embodiments, fault cause analyzer 708 may also receive result object set 618 from query engine 156 and add the fault causes to the set before the set is presented to a user. For example, a user may provide query statement 602 to user interface client 16 to request information about the security system of a building. Controller 12 may process this request to provide information about the various pieces of security equipment in the building, events relating to the equipment, performance data relating to the equipment, potential or detected faults of the equipment, and/or the causes of the faults back to user interface client 16.
  • Referring now to FIG. 8, a flow diagram of process 800 for evaluating and reporting a cause of an event in a BMS is shown, according to an exemplary embodiment. Process 800 includes accessing data associated with equipment in the BMS (step 802). The data may be stored locally, recalled from disparate locations, recalled from remote locations, received from a “push”-based process, or otherwise caused to be accessed. For example, some temperature values may be retrieved from a database, while others are retrieved directly from a temperature sensor.
  • Process 800 further includes calculating a performance index value for the equipment using the accessed data (step 804). Performance indexing may refer to a process (e.g., sub-process) of calculating and assigning relative measures of performance to a piece of equipment based on data received over time or from multiple inputs. A current performance index value of a piece of equipment may be determined via one or a plurality of quality metrics, equations, or other expressions. The result of the calculations may be placed along a normalized scale (e.g., “low-medium-high”, “poor-average-good”, “0 to 100”, etc.). The normalization may be conducted across similar types of equipment, across multiple pieces of equipment of the same type, across facilities, or calculated relative to a maximum possible “score” for that particular piece of equipment. In some embodiments the value of a performance index is calculated based on an overall quality metric for the equipment (e.g., power usage v. effectiveness), on sensor output configured to gauge whether the system is meeting its goals (e.g., the difference between temperature sensor output and temperature setpoint), aggregate subsystem performance, a weighted function having inputs from child equipment, etc. The “child” equipment or subsystems used to gather information for the performance indexing may be obtained or processed using causal relationship models as described below.
  • Process 800 further includes receiving new data associated with the equipment in the BMS and calculating an updated performance index value for the equipment using the received new data (step 806). The new data may be new setpoint values, sensor values, feedback from BMS control loops, event information, timer values, or any other data pertinent to the performance index.
  • Process 800 also includes detecting a change in the performance index value (step 808). As previously mentioned, the performance index value calculations can result in other than numbers (e.g., integers, real numbers) to describe performance. For example, the calculation of a performance index value may include passing performance index numbers or other related parameters (e.g., inputs from sensors) through a thresholding process or an expert system. The result of such processing may be a value “state” (e.g., “low-medium-high”, “poor-average-good”, etc.).
  • Process 800 further includes recalling, in response to the change, event information associated with the equipment and generated prior to the detected change in the performance index value (step 810). For example, changes in a measured temperature may be stored as events with timestamp information. The temperature change events may be “symptoms” of the underlying fault that caused the change in the performance index value.
  • Process 800 yet further includes recalling a causal relationship model associated with the equipment (step 812). For example, the equipment associated with the performance index value may be a room temperature sensor and the causal relationship model may include causal relationships between the temperature sensor and various other pieces of HVAC equipment (an AHU, a VAV box, a chiller, etc.).
  • Process 800 also includes restricting the selection of events recalled in step 810 to events modeled to cause a degradation in the performance index (step 814). In other words, using the causal relationship model, events for further analysis can can be restricted to those events causally modeled to affect a degradation in the performance index. For example, the causal relationship model may relate a room temperature sensor to an AHU that provides conditioned air to the room. Events associated with the AHU are therefore modeled to cause a degradation in the a temperature-related performance index and the AHU associated events may be included in the restricted selection.
  • Process 800 further includes causing an electronic display system to display an indication of the change in the performance index value and a representation of the event information (step 816). For example, room temperature data determined to be moving away from its setpoint may be displayed with an event indicating that an AHU damper is slow to respond. The selected event information may be presented via the display as a possible root cause for the change in performance index (i.e., a BMS fault).
  • Referring now to FIG. 9, process 900 for determining a cause of a fault is shown. Process 900 includes receiving an indication of a fault (step 902). In one embodiment, a field device of the BMS automatically determines that a fault exists and provides the indication. For example, a field controller may determine that a performance index value for a measurement has changed and provide an indication of the fault to a supervisory controller. In another embodiment, the indication is received by the BMS device in response to a query to another device. For example, a supervisory controller may periodically poll a field controller for fault events. In yet another embodiment, a user may manually determine that a fault exists and a user interface may provide the fault indication to the BMS device in response to input from the user. For example, a technician may notice that a room temperature is too high and interact with a user interface to determine the root cause. In yet another embodiment, the indication may be received from another memory location in a single BMS device.
  • Process 900 is also shown to include identifying a building object associated with the fault condition (step 904). For example, a fault may indicate that a specific room temperature building object is associated with the faulty temperature. Process 900 further includes determining causally-related building objects for the building object using a causal relationship model. For example, the room temperature sensor building object may be part of a causal relationship model including other building equipment or objects (e.g., a VAV box, a chiller, a cooling tower, an actuator, an AHU, etc.). These other devices or objects affect the temperature of the room and may be the cause of the increase in the room's temperature.
  • Process 900 yet further includes retrieving historical data for the causally-related building objects (step 906). The historical data may be events, performance index data, or any other data relating to the operation of the building objects. For example, an AHU fan building object may be associated with fan speed change events and performance indexes relating to the power consumption of the fan. Such data can be analyzed to attempt to determine the root cause for the original temperature fault.
  • Process 900 also includes identifying a cause of the fault using the historical data (step 908). The root cause may be estimated to be associated with the device or object in the causal relationship model that has the earliest serious abnormality in its history. For example, the room temperature sensor may be causally related to a VAV box, which is controlled by an AHU, which is in turn chilled by a chiller; a relatively early abnormality relating to the chiller may indicate the root cause of the fault and/or any later abnormalities in the causal relationship model.
  • Process 900 further includes causing the display of an indication of the determined cause of the fault. For example, an indication of the root cause may be displayed on an electronic display to convey the cause to a user. A user can use this information to perform additional diagnostics or repairs for the root cause of the fault.
  • Referring now to FIG. 10, a process 1000 for identifying a possible cause of a fault is shown, according to an exemplary embodiment. Process 1000 is shown to include receiving an indication of a fault (step 1002). The indication may be provided by a user interface (e.g., in response to manual input from a user) or automatically by a BMS component (e.g., a fault detector of a supervisory controller or control module, a downstream device that reports a fault, etc.). Process 1000 further includes identifying a building object associated with the fault (step 1004). For example, a fault involving a temperature value may be associated with a temperature sensor building object. Process 1000 is also shown to include retrieving a causal relationship model for the building object (step 1006). The causal relationship model relates the building object to other building equipment or building objects that may have affected the device experiencing the fault. Process 1000 includes traversing the causal relationship model to identify one or more sets of building objects that may be associated with the root cause of the fault (step 1008). Process 1000 further includes retrieving event data for the other building objects (step 1010). For example, event data may be retrieved for the AHU and/or the chiller that are causally-related to the room temperature sensor.
  • Process 1000 further includes analyzing the event data to identify abnormal events (step 1012). The abnormal events may be fault events themselves or other events indicative of the cause of the fault. For example, if the root cause of a room temperature fault is a stuck damper in an AHU, there may be one or more “stuck damper” events in the event data for a damper building object causally related to a temperature sensor. Process 1000 yet further includes identifying a possible cause of the fault based on the results of the analysis (step 1014). The set of abnormal events identified in step 1012 may be further analyzed to identify the root cause of the fault. For example, a room temperature fault may cause the BMS to identify a chiller fault event and an AHU fault event in step 1012. Since a fault in the chiller may cause the AHU fault (this fact may be determined via traversal of the relevant causal relationship model), the chiller may be identified in step 1014 as the root cause of the room temperature fault.
  • Referring now to FIG. 11, process 1100 for using time data to determine a cause of a fault is shown, according to an exemplary embodiment. Process 1100 includes receiving an indication of a fault in a BMS system or device (step 1102). The indication may be provided by a user interface (e.g., in response to manual input from a user) or automatically by the BMS. Process 1100 also includes retrieving historical data for the related systems or devices using a causal relationship model (step 1104). The historical data may be events, performance index data, or any other data relating to the operation of the building objects that are causally-related to the faulty system or device. Process 1100 also includes identifying possible abnormalities in the historical data (step 1106). The abnormalities may be fault events, events indicative of the cause of the fault, a change in a performance index value, or any other data indicative of the cause of the fault. For example, an increase in the power consumption of a chiller may indicate a cause of a fault related to a room temperature sensor. Process 1100 further includes using time data to identify the earliest abnormality as a root cause of the fault (step 1108). An abnormality for one component of the BMS may cause abnormalities for other components to develop over the course of time. The earliest of the set of abnormalities may then be identified as the root cause of the fault. For example, an abnormality in a chiller may precede an abnormal chilled fluid temperature reading in an AHU, which itself precedes an abnormal temperature reading in a conference room. In this way, a fault associated with the room's temperature can be traced back to the chiller as the root cause of the room temperature fault. Process 1100 further includes causing the display, on an electronic display, of an indication of the root cause (step 1110). A user viewing the display may utilize the displayed root cause to perform additional diagnostics and repairs on the device associated with the root cause.
  • Referring now to FIG. 12, process 1200 for determining a cause of a fault using time data is shown. Process 1200 includes receiving an indication of a fault in a system or device. The indication may be provided by a user interface (e.g., in response to manual input from a user) or automatically by the BMS. For example, a fault may relate to a room temperature sensor. Process 1200 also includes using a causal relationship model to identify other systems or devices (step 1204). For example, the room temperature sensor may be causally related to a VAV box, an AHU, and a chiller. Process 1200 further includes retrieving historical data for each identified system or device (step 1206). The historical data may be events, performance index data, or any other data relating to the operation of the devices and systems that are causally-related to system or device associated with the fault. Process 1200 also includes processing the historical data for each identified system or device to identify possible abnormalities (step 1208). The abnormalities may be fault events, events indicative of the cause of the fault, a change in a performance index value, or any other data indicative of the cause of the fault. Process 1200 also includes using time data for the possible abnormalities to determine the earliest abnormality in the group (step 1210). For example, an abnormality in a chiller may precede an abnormal temperature reading in an AHU, which itself precedes an abnormal temperature reading in a conference room.
  • Process 1200 is further shown to include evaluating causal relationships to determine if the earliest abnormality could have been the root cause (step 1212). This evaluation may include statistical analysis beyond that applied previously in process 1200. For example, statistics for multiple causally related building objects can be statistically compared to determine if the earliest abnormality was a likely cause of the fault. In this way, an iterative approach may be taken to evaluate any number of branches of the causal relationships. If the earliest abnormality could not have been the root cause, process 1200 can identify other causally related systems or devices. In other words, other branches of the causal relationship model may then be evaluated If the causal relationships indicate that the earliest abnormality could be the root cause, process 1200 continues on to causing the display on an electronic display of an indication of the root cause (step 1214). A user viewing the display can then use the root cause information to perform additional diagnostics and repairs for the device.
  • 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 application, many modifications are possible. For example, the position of elements may be 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 application. 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 application.
  • The present application contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present application 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 application 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. 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.
  • Although the figures may 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.

Claims (21)

What is claimed is:
1. A computerized method for evaluating and reporting events in a building management system, the method comprising:
receiving, at a processing circuit, an event indication for building equipment of the building management system, wherein the event indication is associated with an event;
classifying the event as at least one of a cause event and a symptom event;
suppressing the event indication in response to classifying the event as a symptom event; and
displaying the event indication in response to classifying the event as a cause event.
2. The method of claim 1, wherein classifying the event as a symptom event comprises:
retrieving, from the building management system, event information associated with the event; and
using the event information to determine whether the event is an abnormal event; and
classifying the event as a symptom event in response to a determination that the event is an abnormal event.
3. The method of claim 1, further comprising:
in response to classifying the event as a symptom event, using an ontological model of the building equipment to identify a prior event which could have caused the symptom event; and
displaying an event indication associated with the prior event.
4. The method of claim 3, wherein the prior event is a first prior event representing a most direct cause of the symptom event, the method further comprising:
using the ontological model to determine whether the first prior event could have been caused by a second prior event; and
displaying the second prior event and suppressing the first prior event in response to a determination that the second prior event could have caused the first prior event.
5. The method of claim 3, wherein using an ontological model of the building equipment to identify a prior event which could have caused the symptom event comprises:
identifying a building object associated with the symptom event;
using the ontological model to determine one or more building objects that are causally related to the building object associated with the symptom event;
retrieving event information associated with the one or more of the causally-related building objects; and
analyzing the event information to identify a prior event which could have caused the symptom event.
6. The method of claim 5, wherein analyzing the event information to identify a prior event which could have caused the symptom event comprises:
using the event information to identify an abnormal event prior to the symptom event; and
using the ontological model to determine whether the abnormal event could have caused the symptom event.
7. The method of claim 1, wherein suppressing the event indication comprises at least one of:
preventing the event indication from being displayed on a user interface; and
displaying the event indication as a secondary event on the user interface.
8. A computerized method for evaluating and reporting faults in a building management system, the method comprising:
receiving, at a processing circuit, multiple fault indications for building equipment of the building management system;
using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault; and
suppressing the multiple fault indications and displaying the single fault in response to a determination that the multiple fault indications could be caused by the single fault.
9. The method of claim 8, wherein using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault comprises:
identifying one or more building objects associated with the multiple fault indications;
using the ontological model to determine a single building object that is causally related to each of the identified building objects;
retrieving event information associated with the single building object; and
analyzing the event information to identify a single fault which could cause the multiple fault indications.
10. The method of claim 9, wherein analyzing the event information to identify a single fault which could cause the multiple fault indications comprises:
using the event information to identify an abnormal event prior to the multiple fault indications; and
using the ontological model to determine whether the abnormal event could have caused the multiple fault indications.
11. The method of claim 8, wherein using an ontological model of the building equipment to determine whether the multiple fault indications could be caused by a single fault comprises:
comparing a timestamp of the single fault to timestamps of the multiple fault indications; and
determining that the multiple fault indications could be caused by the single fault in response to the timestamp of the single fault antedating the timestamps of the multiple fault indications.
12. The method of claim 8, wherein suppressing the multiple fault indications comprises at least one of:
preventing the multiple fault indications from being displayed on a user interface; and
displaying the multiple fault indications as secondary events on the user interface.
13. A computer system for evaluating and reporting events a building management system, the computer system comprising:
a processing circuit configured to receive an event indication for building equipment of the building management system, wherein the event indication is associated with an event;
wherein the processing circuit is configured to classify the event as at least one of a cause event and a symptom event;
wherein the processing circuit is configured to suppress the event indication in response to classifying the event as a symptom event and to display the event indication in response to classifying the event as a cause event.
14. The system of claim 13, wherein the processing circuit is configured to:
retrieve, from the building management system, event information associated with the event;
use the event information to determine whether the event is an abnormal event; and
classify the event as a symptom event in response to a determination that the event is an abnormal event.
15. The system of claim 13, wherein the processing circuit is configured to:
in response to classifying the event as a symptom event, use an ontological model of the building equipment to identify a prior event which could have caused the symptom event; and
display an event indication associated with the prior event.
16. The system of claim 15, wherein the prior event is a first prior event representing a most direct cause of the symptom event, wherein the processing circuit is configured to:
use the ontological model to determine whether the first prior event could have been caused by a second prior event; and
display the second prior event and suppress the first prior event in response to a determination that the second prior event could have caused the first prior event.
17. The system of claim 15, wherein using an ontological model of the building equipment to identify a prior event which could have caused the symptom event comprises:
identifying a building object associated with the symptom event;
using the ontological model to determine one or more building objects that are causally related to the building object associated with the symptom event;
retrieving event information associated with the one or more of the causally-related building objects; and
analyzing the event information to identify a prior event which could have caused the symptom event.
18. The system of claim 17, wherein analyzing the event information to identify a prior event which could have caused the symptom event comprises:
using the event information to identify an abnormal event prior to the symptom event; and
using the ontological model to determine whether the abnormal event could have caused the symptom event.
19. The system of claim 17, wherein analyzing the event information to identify a prior event which could have caused the symptom event comprises:
comparing a timestamp of the prior event with a timestamp of the symptom event; and
determining that the prior event could have caused the symptom event in response to the timestamp of the prior event antedating the timestamp of the symptom event.
20. The system of claim 13, wherein suppressing the event indication comprises at least one of:
preventing the event indication from being displayed on a user interface; and
displaying the event indication as a secondary event on the user interface.
21. A computer-readable storage medium having computer-readable instructions embedded therein, wherein the computer-readable instructions, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving an event indication for building equipment of the building management system, wherein the event indication is associated with an event;
classifying the event as at least one of a cause event and a symptom event;
suppressing the event indication in response to classifying the event as a symptom event; and
displaying the event indication in response to classifying the event as a cause event.
US14/155,276 2009-10-06 2014-01-14 Systems and methods for evaluating and reporting events in a building management system Abandoned US20140129180A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/155,276 US20140129180A1 (en) 2009-10-06 2014-01-14 Systems and methods for evaluating and reporting events in a building management system

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US24919109P 2009-10-06 2009-10-06
US25904409P 2009-11-06 2009-11-06
US12/898,589 US20110087650A1 (en) 2009-10-06 2010-10-05 Creation and use of causal relationship models in building management systems and applications
US12/940,853 US8655830B2 (en) 2009-10-06 2010-11-05 Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US13/252,105 US8635182B2 (en) 2009-10-06 2011-10-03 Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US14/155,276 US20140129180A1 (en) 2009-10-06 2014-01-14 Systems and methods for evaluating and reporting events in a building management system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/252,105 Continuation US8635182B2 (en) 2009-10-06 2011-10-03 Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system

Publications (1)

Publication Number Publication Date
US20140129180A1 true US20140129180A1 (en) 2014-05-08

Family

ID=44082991

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/940,853 Active 2031-04-04 US8655830B2 (en) 2009-10-06 2010-11-05 Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US13/252,105 Active 2030-12-07 US8635182B2 (en) 2009-10-06 2011-10-03 Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US14/155,276 Abandoned US20140129180A1 (en) 2009-10-06 2014-01-14 Systems and methods for evaluating and reporting events in a building management system

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US12/940,853 Active 2031-04-04 US8655830B2 (en) 2009-10-06 2010-11-05 Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US13/252,105 Active 2030-12-07 US8635182B2 (en) 2009-10-06 2011-10-03 Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system

Country Status (1)

Country Link
US (3) US8655830B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307613A1 (en) * 2010-06-11 2011-12-15 Electronics And Telecommunications Research Institute Apparatus and method for integrated management of digitalized information and dynamic resources of building
US20150370275A1 (en) * 2014-06-18 2015-12-24 Entic, Llc Dna of energy consuming systems
US11073806B2 (en) * 2014-07-31 2021-07-27 Honeywell International Inc. Building management system analysis
US11362852B2 (en) * 2019-05-08 2022-06-14 Johnson Controls Tyco IP Holdings LLP Systems and methods for configuring and operating building equipment using causal and spatial relationships

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG190293A1 (en) 2010-11-15 2013-06-28 Ecotech Marine Llc Apparatus and methods for controlling a habitat environment
US8839036B2 (en) * 2010-12-30 2014-09-16 Schneider Electric It Corporation System and method for root cause analysis
US9081373B2 (en) * 2011-11-15 2015-07-14 Palo Alto Research Center Incorporated Using model communication as a protocol in a managed electrical system
US20130197698A1 (en) * 2012-01-26 2013-08-01 Carrier Corporation HVAC System Fault Root Cause Self-Determination
WO2013136465A1 (en) 2012-03-14 2013-09-19 三菱電機株式会社 Control device, air conditioning system, and equipment system
US9411327B2 (en) 2012-08-27 2016-08-09 Johnson Controls Technology Company Systems and methods for classifying data in building automation systems
US20140129614A1 (en) * 2012-11-02 2014-05-08 Adobe Systems Incorporated Integrating web analytics products with web conferencing products for better reporting of user interaction and data tracking
KR20140096717A (en) * 2013-01-29 2014-08-06 한국전자통신연구원 BIM-based building energy management apparatus and method
KR101782704B1 (en) 2013-03-15 2017-09-27 뷰라웍스, 엘엘씨 Knowledge capture and discovery system
US11373191B2 (en) 2013-03-15 2022-06-28 Usgbc Systems, devices, components and methods for dynamically displaying performance scores associated with the performance of a building or structure
EP3045025A4 (en) * 2013-09-09 2017-03-22 Schneider Electric IT Corporation A building management rack system
EP3792706A1 (en) * 2013-11-04 2021-03-17 Honeywell International Inc. Methods and systems for providing improved service for building control systems
US9874364B2 (en) 2014-04-28 2018-01-23 Carrier Corporation Economizer damper fault detection
US10274915B2 (en) 2014-10-22 2019-04-30 Carrier Corporation Scalable cyber-physical structure management
US10060642B2 (en) 2014-10-22 2018-08-28 Honeywell International Inc. Damper fault detection
EP3234903A4 (en) * 2014-12-19 2018-05-16 Entit Software LLC Automative system management
EP3101534A1 (en) * 2015-06-01 2016-12-07 Siemens Aktiengesellschaft Method and computer program product for semantically representing a system of devices
CA2991224A1 (en) 2015-07-02 2017-01-05 buildpulse, Inc. Advanced identification and classification of sensors and other points in a building automation system
US9665420B2 (en) 2015-07-31 2017-05-30 Ca, Inc. Causal engine and correlation engine based log analyzer
US10019129B2 (en) * 2015-08-14 2018-07-10 Siemens Schweiz Ag Identifying related items associated with devices in a building automation system based on a coverage area
US10175686B2 (en) 2015-10-14 2019-01-08 Honeywell International Inc. Devices, methods, and systems for a distributed rule based automated fault detection
US10534326B2 (en) 2015-10-21 2020-01-14 Johnson Controls Technology Company Building automation system with integrated building information model
US10429808B2 (en) 2016-01-19 2019-10-01 Honeywell International Inc. System that automatically infers equipment details from controller configuration details
US10649419B2 (en) 2016-06-14 2020-05-12 Johnson Controls Technology Company Building management system with virtual points and optimized data integration
US10055114B2 (en) 2016-01-22 2018-08-21 Johnson Controls Technology Company Building energy management system with ad hoc dashboard
US11268732B2 (en) 2016-01-22 2022-03-08 Johnson Controls Technology Company Building energy management system with energy analytics
US10140345B1 (en) 2016-03-03 2018-11-27 Amdocs Development Limited System, method, and computer program for identifying significant records
US10353888B1 (en) * 2016-03-03 2019-07-16 Amdocs Development Limited Event processing system, method, and computer program
JP6543207B2 (en) * 2016-03-17 2019-07-10 株式会社東芝 DATA MANAGEMENT DEVICE, DATA MANAGEMENT SYSTEM, AND DATA MANAGEMENT METHOD
US11768004B2 (en) 2016-03-31 2023-09-26 Johnson Controls Tyco IP Holdings LLP HVAC device registration in a distributed building management system
US20170286204A1 (en) * 2016-04-04 2017-10-05 Honeywell International Inc. Fault propagation in a building automation system
WO2017192770A1 (en) 2016-05-04 2017-11-09 Johnson Controls Technology Company Systems and methods for agent interaction with building management system
US10505756B2 (en) 2017-02-10 2019-12-10 Johnson Controls Technology Company Building management system with space graphs
US11226598B2 (en) * 2016-05-04 2022-01-18 Johnson Controls Technology Company Building system with user presentation composition based on building context
US11226597B2 (en) 2016-07-11 2022-01-18 Johnson Controls Technology Company Systems and methods for interaction with a building management system
US10417451B2 (en) 2017-09-27 2019-09-17 Johnson Controls Technology Company Building system with smart entity personal identifying information (PII) masking
US11774920B2 (en) 2016-05-04 2023-10-03 Johnson Controls Technology Company Building system with user presentation composition based on building context
US10684033B2 (en) 2017-01-06 2020-06-16 Johnson Controls Technology Company HVAC system with automated device pairing
US20200090085A1 (en) * 2017-01-16 2020-03-19 Siemens Aktiengesellschaft Digital twin graph
US11900287B2 (en) 2017-05-25 2024-02-13 Johnson Controls Tyco IP Holdings LLP Model predictive maintenance system with budgetary constraints
US10095756B2 (en) 2017-02-10 2018-10-09 Johnson Controls Technology Company Building management system with declarative views of timeseries data
US20190361412A1 (en) 2017-02-10 2019-11-28 Johnson Controls Technology Company Building smart entity system with agent based data ingestion and entity creation using time series data
US11307538B2 (en) 2017-02-10 2022-04-19 Johnson Controls Technology Company Web services platform with cloud-eased feedback control
US11360447B2 (en) 2017-02-10 2022-06-14 Johnson Controls Technology Company Building smart entity system with agent based communication and control
US11280509B2 (en) 2017-07-17 2022-03-22 Johnson Controls Technology Company Systems and methods for agent based building simulation for optimal control
US20190095518A1 (en) 2017-09-27 2019-03-28 Johnson Controls Technology Company Web services for smart entity creation and maintenance using time series data
US10515098B2 (en) * 2017-02-10 2019-12-24 Johnson Controls Technology Company Building management smart entity creation and maintenance using time series data
US10854194B2 (en) 2017-02-10 2020-12-01 Johnson Controls Technology Company Building system with digital twin based data ingestion and processing
US10452043B2 (en) 2017-02-10 2019-10-22 Johnson Controls Technology Company Building management system with nested stream generation
US11764991B2 (en) 2017-02-10 2023-09-19 Johnson Controls Technology Company Building management system with identity management
US11042144B2 (en) 2017-03-24 2021-06-22 Johnson Controls Technology Company Building management system with dynamic channel communication
US11087226B2 (en) * 2017-04-25 2021-08-10 Nec Corporation Identifying multiple causal anomalies in power plant systems by modeling local propagations
US10754623B2 (en) * 2017-04-26 2020-08-25 Johnson Controls Technology Company Building management system with graphical programming tool
US10788229B2 (en) 2017-05-10 2020-09-29 Johnson Controls Technology Company Building management system with a distributed blockchain database
US10345772B2 (en) 2017-05-24 2019-07-09 Johnson Controls Technology Company Building management system with integrated control of multiple components
US11022947B2 (en) 2017-06-07 2021-06-01 Johnson Controls Technology Company Building energy optimization system with economic load demand response (ELDR) optimization and ELDR user interfaces
WO2018232147A1 (en) 2017-06-15 2018-12-20 Johnson Controls Technology Company Building management system with artificial intelligence for unified agent based control of building subsystems
US10969775B2 (en) * 2017-06-23 2021-04-06 Johnson Controls Technology Company Predictive diagnostics system with fault detector for preventative maintenance of connected equipment
EP3655825B1 (en) 2017-07-21 2023-11-22 Johnson Controls Tyco IP Holdings LLP Building management system with dynamic rules with sub-rule reuse and equation driven smart diagnostics
US10619882B2 (en) 2017-07-27 2020-04-14 Johnson Controls Technology Company Building management system with scorecard for building energy and equipment performance
US11237576B2 (en) * 2017-08-03 2022-02-01 Johnson Controls Tyco IP Holdings LLP HVAC system with data driven user interfaces for equipment commissioning and operation
WO2019040815A1 (en) 2017-08-24 2019-02-28 Carrier Corporation Building health assessment and commissioning tool with dynamic report generation
US20190095821A1 (en) 2017-09-27 2019-03-28 Johnson Controls Technology Company Building risk analysis system with expiry time prediction for threats
US11258683B2 (en) 2017-09-27 2022-02-22 Johnson Controls Tyco IP Holdings LLP Web services platform with nested stream generation
US10962945B2 (en) 2017-09-27 2021-03-30 Johnson Controls Technology Company Building management system with integration of data into smart entities
US11314788B2 (en) 2017-09-27 2022-04-26 Johnson Controls Tyco IP Holdings LLP Smart entity management for building management systems
US11262741B2 (en) 2017-10-06 2022-03-01 Johnson Controls Tyco IP Holdings LLP Building management system with automatic binding of equipment data
US10642598B2 (en) 2017-10-06 2020-05-05 Johnson Controls Technology Company Building management system with plug and play device registration and configuration
US11368534B2 (en) * 2017-10-06 2022-06-21 Johnson Controls Tyco IP Holdings LLP Building management system with device cloud registration and data adaptor
US10809682B2 (en) 2017-11-15 2020-10-20 Johnson Controls Technology Company Building management system with optimized processing of building system data
US11281169B2 (en) 2017-11-15 2022-03-22 Johnson Controls Tyco IP Holdings LLP Building management system with point virtualization for online meters
US11127235B2 (en) 2017-11-22 2021-09-21 Johnson Controls Tyco IP Holdings LLP Building campus with integrated smart environment
CN109901544A (en) 2017-12-07 2019-06-18 开利公司 Refrigeration system, the fault diagnosis system for it, method for diagnosing faults and controller and storage medium
US20210018203A1 (en) * 2018-05-14 2021-01-21 Mitsubishi Electric Corporation Failure diagnosis system
US11016648B2 (en) 2018-10-30 2021-05-25 Johnson Controls Technology Company Systems and methods for entity visualization and management with an entity node editor
US20200162280A1 (en) 2018-11-19 2020-05-21 Johnson Controls Technology Company Building system with performance identification through equipment exercising and entity relationships
US11334044B2 (en) 2018-11-19 2022-05-17 Johnson Controls Tyco IP Holdings LLP Building system with semantic modeling based searching
AU2020200345A1 (en) 2019-01-18 2020-08-06 Johnson Controls Technology Company Conference room management system
US10788798B2 (en) 2019-01-28 2020-09-29 Johnson Controls Technology Company Building management system with hybrid edge-cloud processing
JP6792670B2 (en) * 2019-06-14 2020-11-25 株式会社東芝 Data management device, data management system and data management method
US11761655B2 (en) * 2019-11-14 2023-09-19 Siemens Industry, Inc. Zone controller and method for identifying a root cause failure
US11782397B2 (en) * 2019-11-27 2023-10-10 Johnson Controls Tyco IP Holdings LLP Operator automation system
US11894944B2 (en) 2019-12-31 2024-02-06 Johnson Controls Tyco IP Holdings LLP Building data platform with an enrichment loop
US20210200807A1 (en) 2019-12-31 2021-07-01 Johnson Controls Technology Company Building data platform with a graph change feed
US11537386B2 (en) 2020-04-06 2022-12-27 Johnson Controls Tyco IP Holdings LLP Building system with dynamic configuration of network resources for 5G networks
US11455199B2 (en) * 2020-05-26 2022-09-27 Micro Focus Llc Determinations of whether events are anomalous
US11874809B2 (en) 2020-06-08 2024-01-16 Johnson Controls Tyco IP Holdings LLP Building system with naming schema encoding entity type and entity relationships
US11138063B1 (en) * 2020-07-07 2021-10-05 Ohio State Innovation Foundation Integrated system failure analysis software toolchain (IS-FAST)
US11397773B2 (en) 2020-09-30 2022-07-26 Johnson Controls Tyco IP Holdings LLP Building management system with semantic model integration
US20220137575A1 (en) 2020-10-30 2022-05-05 Johnson Controls Technology Company Building management system with dynamic building model enhanced by digital twins
US20220169091A1 (en) * 2020-12-01 2022-06-02 Haier Us Appliance Solutions, Inc. Recreational vehicle air conditioner and methods of operation
EP4309013A1 (en) 2021-03-17 2024-01-24 Johnson Controls Tyco IP Holdings LLP Systems and methods for determining equipment energy waste
US11769066B2 (en) 2021-11-17 2023-09-26 Johnson Controls Tyco IP Holdings LLP Building data platform with digital twin triggers and actions
US11899723B2 (en) 2021-06-22 2024-02-13 Johnson Controls Tyco IP Holdings LLP Building data platform with context based twin function processing
US20230067434A1 (en) * 2021-08-27 2023-03-02 Falkonry Inc. Reasoning and inferring real-time conditions across a system of systems
CN113923099B (en) * 2021-09-03 2022-12-27 华为技术有限公司 Root cause positioning method for communication network fault and related equipment
US11796974B2 (en) 2021-11-16 2023-10-24 Johnson Controls Tyco IP Holdings LLP Building data platform with schema extensibility for properties and tags of a digital twin
US11934966B2 (en) 2021-11-17 2024-03-19 Johnson Controls Tyco IP Holdings LLP Building data platform with digital twin inferences
US11704311B2 (en) 2021-11-24 2023-07-18 Johnson Controls Tyco IP Holdings LLP Building data platform with a distributed digital twin
US11714930B2 (en) 2021-11-29 2023-08-01 Johnson Controls Tyco IP Holdings LLP Building data platform with digital twin based inferences and predictions for a graphical building model
CN114492460B (en) * 2022-04-08 2022-07-12 东南大学 Event causal relationship extraction method based on derivative prompt learning

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US6012152A (en) * 1996-11-27 2000-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Software fault management system
US20030135339A1 (en) * 2002-01-17 2003-07-17 Dario Gristina System for managing resource infrastructure and resource consumption in real time
US20040078683A1 (en) * 2000-05-05 2004-04-22 Buia Christhoper A. Systems and methods for managing and analyzing faults in computer networks
US20050210133A1 (en) * 2004-03-12 2005-09-22 Danilo Florissi Method and apparatus for determining monitoring locations in distributed systems
US20070261062A1 (en) * 2006-04-25 2007-11-08 Emerson Retail Services, Inc. Building system event manager
US20070276631A1 (en) * 2006-05-23 2007-11-29 International Business Machines Corporation Causal ladder mechanism for proactive problem determination, avoidance and recovery
US20070288419A1 (en) * 2006-06-07 2007-12-13 Motorola, Inc. Method and apparatus for augmenting data and actions with semantic information to facilitate the autonomic operations of components and systems
US20080015418A1 (en) * 2005-01-28 2008-01-17 Bruce Jarrell Techniques for Implementing Virtual Persons in a System to Train Medical Personnel
US20090064189A1 (en) * 2007-08-29 2009-03-05 International Business Machines Corporation Ontology driven contextual mediation
US20100274892A1 (en) * 2007-01-11 2010-10-28 Ept Innovation Method for Monitoring a message associated with an action generated by an element or the user of an IS, and corresponding computer software product, storage means and device
US20110035202A1 (en) * 2008-04-03 2011-02-10 Karl Quinn Behaviour model for a communication network
US8031634B1 (en) * 2008-03-31 2011-10-04 Emc Corporation System and method for managing a virtual domain environment to enable root cause and impact analysis

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872397A (en) * 1988-11-28 1989-10-10 Johnson Service Company Personal environmental module
JP2533942B2 (en) * 1989-03-13 1996-09-11 株式会社日立製作所 Knowledge extraction method and process operation support system
US5061916A (en) * 1990-05-29 1991-10-29 Barber-Colman Company Event driven remote graphical reporting of building automation system parameters
US5117900A (en) * 1991-04-15 1992-06-02 American Standard Inc. System for providing individual comfort control
US5644686A (en) * 1994-04-29 1997-07-01 International Business Machines Corporation Expert system and method employing hierarchical knowledge base, and interactive multimedia/hypermedia applications
US6842776B1 (en) * 1997-12-05 2005-01-11 Intel Corporation Method for automatic device monitoring by a central computer
US6167316A (en) * 1998-04-03 2000-12-26 Johnson Controls Technology Co. Distributed object-oriented building automation system with reliable asynchronous communication
US6157943A (en) * 1998-11-12 2000-12-05 Johnson Controls Technology Company Internet access to a facility management system
US6366832B2 (en) * 1998-11-24 2002-04-02 Johnson Controls Technology Company Computer integrated personal environment system
US6266774B1 (en) * 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
US6405103B1 (en) * 1998-12-18 2002-06-11 Comfort Systems, Inc. Building control system
US6598056B1 (en) * 1999-02-12 2003-07-22 Honeywell International Inc. Remotely accessible building information system
US7373410B2 (en) * 2002-10-23 2008-05-13 Genesys Telecommunications Laboratories, Inc. Method and system for providing adaptive and proactive interaction management for multiple types of business interactions occurring in a multimedia communications environment
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6332163B1 (en) * 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US6687698B1 (en) * 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US6845396B1 (en) * 2000-02-25 2005-01-18 Navic Systems, Inc. Method and system for content deployment and activation
US7254607B2 (en) * 2000-03-30 2007-08-07 United Devices, Inc. Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US6772216B1 (en) * 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
JP2004531780A (en) * 2000-06-22 2004-10-14 マイクロソフト コーポレーション Distributed computing service platform
WO2002001416A2 (en) * 2000-06-23 2002-01-03 The Johns Hopkins University Architecture for distributed database information access
FR2813471B1 (en) * 2000-08-31 2002-12-20 Schneider Automation COMMUNICATION SYSTEM FOR AUTOMATED EQUIPMENT BASED ON THE SOAP PROTOCOL
AU2001290646A1 (en) 2000-09-08 2002-03-22 The Regents Of The University Of California Data source integration system and method
US7801777B2 (en) * 2001-01-23 2010-09-21 Oracle International Corporation System and method for managing the development and manufacturing of a beverage
CA2436580C (en) * 2001-01-31 2012-07-17 Accenture Llp Configuring architecture for mobile access to at least one business resource
US7792948B2 (en) * 2001-03-30 2010-09-07 Bmc Software, Inc. Method and system for collecting, aggregating and viewing performance data on a site-wide basis
US20030028577A1 (en) 2001-04-30 2003-02-06 Chia-Chu Dorland HTTP distributed XML-based automated event polling for network and E-service management
EP1386199B1 (en) * 2001-05-10 2006-06-14 Ranco Incorporated of Delaware System and method for performing diagnostics using a portable device
DE10123959B4 (en) * 2001-05-17 2005-05-12 Ontoprise Gmbh computer system
US20040093559A1 (en) * 2001-05-25 2004-05-13 Ruth Amaru Web client for viewing and interrogating enterprise data semantically
US7146399B2 (en) * 2001-05-25 2006-12-05 2006 Trident Company Run-time architecture for enterprise integration with transformation generation
US20030163450A1 (en) * 2001-05-25 2003-08-28 Joram Borenstein Brokering semantics between web services
US20030101170A1 (en) * 2001-05-25 2003-05-29 Joseph Edelstein Data query and location through a central ontology model
US7877421B2 (en) * 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US7673282B2 (en) * 2001-05-25 2010-03-02 International Business Machines Corporation Enterprise information unification
US7099885B2 (en) * 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US7152090B2 (en) * 2001-06-01 2006-12-19 Sun Microsystems, Inc. Metadata-aware enterprise application integration framework for application server environment
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7162534B2 (en) * 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7266589B2 (en) * 2001-08-13 2007-09-04 General Electric Company Service-portal enabled automation control module (ACM)
US7035944B2 (en) * 2001-09-19 2006-04-25 International Business Machines Corporation Programmatic management of software resources in a content framework environment
US7343428B2 (en) * 2001-09-19 2008-03-11 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
US7516440B2 (en) * 2001-10-18 2009-04-07 Bea Systems, Inc. System and method for providing a java interface to an application view component
US7392391B2 (en) * 2001-11-01 2008-06-24 International Business Machines Corporation System and method for secure configuration of sensitive web services
US7330473B1 (en) * 2002-04-12 2008-02-12 Rockwell Automation Technologies, Inc. System and methodology providing network data exchange between industrial control components
US7350184B2 (en) * 2002-05-02 2008-03-25 Bea Systems, Inc. System and method for enterprise application interactions
US7295984B2 (en) * 2002-05-09 2007-11-13 Qwest Communications International Inc. Systems and methods for providing voice and data interfaces to web services-based applications
US7009348B2 (en) * 2002-06-03 2006-03-07 Systel Development & Industries Ltd. Multiple channel ballast and networkable topology and system including power line carrier applications
US7151966B1 (en) * 2002-06-04 2006-12-19 Rockwell Automation Technologies, Inc. System and methodology providing open interface and distributed processing in an industrial controller environment
US6873256B2 (en) * 2002-06-21 2005-03-29 Dorothy Lemelson Intelligent building alarm
US7376959B2 (en) * 2002-06-27 2008-05-20 Siebel Systems, Inc. Method and system for outbound web services
US20040216147A1 (en) * 2002-07-18 2004-10-28 Motorola, Inc. Component based application middleware framework
US7370064B2 (en) * 2002-08-06 2008-05-06 Yousefi Zadeh Homayoun Database remote replication for back-end tier of multi-tier computer systems
AU2003270678A1 (en) * 2002-09-20 2004-04-08 Board Of Regents, University Of Texas System Computer program products, systems and methods for information discovery and relational analyses
US6839601B1 (en) * 2002-11-26 2005-01-04 Advanced Micro Devices, Inc. Fabrication architecture including enterprise resource planning integration
US7801171B2 (en) * 2002-12-02 2010-09-21 Redknee Inc. Method for implementing an Open Charging (OC) middleware platform and gateway system
US7401057B2 (en) * 2002-12-10 2008-07-15 Asset Trust, Inc. Entity centric computer system
US7165087B1 (en) * 2002-12-17 2007-01-16 Hewlett-Packard Development Company, L.P. System and method for installing and configuring computing agents
US7219154B2 (en) * 2002-12-31 2007-05-15 International Business Machines Corporation Method and system for consolidated sign-off in a heterogeneous federated environment
US20040267567A1 (en) * 2003-01-24 2004-12-30 Javier Barrera Hospitality management system and methods
US20040218591A1 (en) * 2003-04-29 2004-11-04 Craig Ogawa Bridge apparatus and methods of operation
US7398307B2 (en) * 2003-04-30 2008-07-08 Hewlett-Packard Development Company, L.P. Method and system for managing a network
US7634555B1 (en) * 2003-05-16 2009-12-15 Johnson Controls Technology Company Building automation system devices
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US8307109B2 (en) 2003-08-27 2012-11-06 International Business Machines Corporation Methods and systems for real time integration services
US7539652B2 (en) * 2003-11-28 2009-05-26 Manyworlds, Inc. Adaptive self-modifying and recombinant systems
US20050198255A1 (en) * 2003-12-23 2005-09-08 Johnson Controls Technology Company Value reporting using web services
US7356694B2 (en) * 2004-03-10 2008-04-08 American Express Travel Related Services Company, Inc. Security session authentication system and method
JP2005273911A (en) * 2004-03-25 2005-10-06 Husco Internatl Inc Hydraulic system control method using differential pressure compensation discharge coefficient
US20050222889A1 (en) * 2004-03-31 2005-10-06 Chris Lai Method and system for facility management
US20060070082A1 (en) * 2004-06-15 2006-03-30 Manjula Sridhar Managed object framework for network management application development
US20060064468A1 (en) * 2004-09-20 2006-03-23 Brown K R Web services interface and object access framework
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
US7305278B2 (en) * 2004-11-15 2007-12-04 International Business Machines Corporation Enterprise factory control method and system
KR100622671B1 (en) 2004-12-21 2006-09-19 한국전자통신연구원 Platform-independent remote control system of home devices and method thereof
US7337170B2 (en) 2005-01-18 2008-02-26 International Business Machines Corporation System and method for planning and generating queries for multi-dimensional analysis using domain models and data federation
EP1684192A1 (en) * 2005-01-25 2006-07-26 Ontoprise GmbH Integration platform for heterogeneous information sources
US20070100981A1 (en) * 2005-04-08 2007-05-03 Maria Adamczyk Application services infrastructure for next generation networks including one or more IP multimedia subsystem elements and methods of providing the same
US20070043687A1 (en) * 2005-08-19 2007-02-22 Accenture Llp Virtual assistant
US7461039B1 (en) * 2005-09-08 2008-12-02 International Business Machines Corporation Canonical model to normalize disparate persistent data sources
US8195532B2 (en) * 2005-12-29 2012-06-05 Sap Ag Generating information for use in performing physical operations
US7895257B2 (en) * 2006-02-21 2011-02-22 University Of Florida Research Foundation, Inc. Modular platform enabling heterogeneous devices, sensors and actuators to integrate automatically into heterogeneous networks
US7734572B2 (en) * 2006-04-04 2010-06-08 Panduit Corp. Building automation system controller
US7725577B2 (en) * 2006-07-31 2010-05-25 Sap Ag Method and system to adaptively manage the quality of service of interactions between smart item networks and enterprise applications
US20080059559A1 (en) * 2006-08-31 2008-03-06 Sbc Knowledge Ventures, L.P. System and method for consolidating middleware management
AU2009236311B2 (en) * 2008-04-14 2014-06-12 Osram Sylvania Inc. Modular lighting systems
US9753455B2 (en) * 2009-06-22 2017-09-05 Johnson Controls Technology Company Building management system with fault analysis
US8600556B2 (en) * 2009-06-22 2013-12-03 Johnson Controls Technology Company Smart building manager

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US6012152A (en) * 1996-11-27 2000-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Software fault management system
US20040078683A1 (en) * 2000-05-05 2004-04-22 Buia Christhoper A. Systems and methods for managing and analyzing faults in computer networks
US20030135339A1 (en) * 2002-01-17 2003-07-17 Dario Gristina System for managing resource infrastructure and resource consumption in real time
US20050210133A1 (en) * 2004-03-12 2005-09-22 Danilo Florissi Method and apparatus for determining monitoring locations in distributed systems
US20080015418A1 (en) * 2005-01-28 2008-01-17 Bruce Jarrell Techniques for Implementing Virtual Persons in a System to Train Medical Personnel
US20070261062A1 (en) * 2006-04-25 2007-11-08 Emerson Retail Services, Inc. Building system event manager
US20070276631A1 (en) * 2006-05-23 2007-11-29 International Business Machines Corporation Causal ladder mechanism for proactive problem determination, avoidance and recovery
US20070288419A1 (en) * 2006-06-07 2007-12-13 Motorola, Inc. Method and apparatus for augmenting data and actions with semantic information to facilitate the autonomic operations of components and systems
US20100274892A1 (en) * 2007-01-11 2010-10-28 Ept Innovation Method for Monitoring a message associated with an action generated by an element or the user of an IS, and corresponding computer software product, storage means and device
US20090064189A1 (en) * 2007-08-29 2009-03-05 International Business Machines Corporation Ontology driven contextual mediation
US8031634B1 (en) * 2008-03-31 2011-10-04 Emc Corporation System and method for managing a virtual domain environment to enable root cause and impact analysis
US8570903B1 (en) * 2008-03-31 2013-10-29 Emc Corporation System and method for managing a virtual domain environment to enable root cause and impact analysis
US20110035202A1 (en) * 2008-04-03 2011-02-10 Karl Quinn Behaviour model for a communication network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307613A1 (en) * 2010-06-11 2011-12-15 Electronics And Telecommunications Research Institute Apparatus and method for integrated management of digitalized information and dynamic resources of building
US20150370275A1 (en) * 2014-06-18 2015-12-24 Entic, Llc Dna of energy consuming systems
US11073806B2 (en) * 2014-07-31 2021-07-27 Honeywell International Inc. Building management system analysis
US11362852B2 (en) * 2019-05-08 2022-06-14 Johnson Controls Tyco IP Holdings LLP Systems and methods for configuring and operating building equipment using causal and spatial relationships

Also Published As

Publication number Publication date
US20110137853A1 (en) 2011-06-09
US20120022698A1 (en) 2012-01-26
US8655830B2 (en) 2014-02-18
US8635182B2 (en) 2014-01-21

Similar Documents

Publication Publication Date Title
US8635182B2 (en) Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US9475359B2 (en) Systems and methods for displaying a hierarchical set of building management system information
US20240086399A1 (en) Web services for creation and maintenance of smart entities for connected devices
US20110087650A1 (en) Creation and use of causal relationship models in building management systems and applications
US11272011B1 (en) Systems and methods of configuring a building management system
US11762358B2 (en) Building system with semantic modeling based searching
US11593414B2 (en) Configuring devices of a building automation system
US20230152765A1 (en) Building data platform with schema extensibility for states of a digital twin
AU2021329231B2 (en) Systems and methods to assess and repair data using data quality indicators
US11619923B2 (en) Digital twin management system and method
CN116611593A (en) Method, device and medium for predicting failure of air compressor
AU2021329227B2 (en) Systems and methods for HVAC equipment predictive maintenance using machine learning
KR102498062B1 (en) Metadata management system
US20230205152A1 (en) Creating a workflow from multiple disparate workflow systems leveraging predictive actionable insights for equipment
US11762379B2 (en) Automatic fault detection and diagnostics in a building management system
US11334061B2 (en) Method to detect skill gap of operators making frequent inadvertent changes to the process variables
US20230358429A1 (en) Building data platform with digital twin-based diagnostic routines
US11714930B2 (en) Building data platform with digital twin based inferences and predictions for a graphical building model

Legal Events

Date Code Title Description
AS Assignment

Owner name: JOHNSON CONTROLS TECHNOLOGY COMPANY, MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MACKAY, DOUGLAS P;REEL/FRAME:032278/0086

Effective date: 20110214

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION