U.S. patent application number 11/169283 was filed with the patent office on 2006-01-12 for method and apparatus for accessing a building system model.
Invention is credited to Osman Ahmed, Raphael Imhof, George Phoenix, Thomas Rule, Pornsak Songkakul.
Application Number | 20060009862 11/169283 |
Document ID | / |
Family ID | 34973068 |
Filed Date | 2006-01-12 |
United States Patent
Application |
20060009862 |
Kind Code |
A1 |
Imhof; Raphael ; et
al. |
January 12, 2006 |
Method and apparatus for accessing a building system model
Abstract
A software interface is disclosed for a model of a building
system stored in a memory, wherein the model comprises a plurality
of building space objects. The software interface comprises: (a)
logic for receiving a call comprising a function identifier and at
least one object identifier, the function identifier representative
of a function applicable to a plurality of object types; and (b)
logic for employing the function identifier and the at least one
object to call a software function in a function library, the
software function corresponding to the function applicable to the
object type that corresponds to the at least one object.
Inventors: |
Imhof; Raphael; (Palatine,
IL) ; Rule; Thomas; (Arlington Heights, IL) ;
Ahmed; Osman; (Hawthorn Woods, IL) ; Songkakul;
Pornsak; (Mequon, WI) ; Phoenix; George;
(Vernon Hills, IL) |
Correspondence
Address: |
Siemens Corporation;Intellectual Property Department
170 Wood Avenue South
Iselin
NJ
08830
US
|
Family ID: |
34973068 |
Appl. No.: |
11/169283 |
Filed: |
June 28, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60583519 |
Jun 28, 2004 |
|
|
|
60583572 |
Jun 28, 2004 |
|
|
|
60583585 |
Jun 28, 2004 |
|
|
|
Current U.S.
Class: |
700/19 ; 700/20;
700/276; 700/277 |
Current CPC
Class: |
G05B 15/02 20130101;
G06Q 50/08 20130101; Y10S 707/99948 20130101; Y10S 707/99945
20130101; G06Q 10/10 20130101 |
Class at
Publication: |
700/019 ;
700/020; 700/276; 700/277 |
International
Class: |
G05B 11/01 20060101
G05B011/01; G01M 1/38 20060101 G01M001/38; G05B 13/00 20060101
G05B013/00; G05B 15/00 20060101 G05B015/00; G05B 21/00 20060101
G05B021/00; G05D 23/00 20060101 G05D023/00 |
Claims
1. A software interface for a model of a building system stored in
a memory, the model comprising a plurality of building space
objects, at least one building space object including a reference
to at least one of the group consisting of a parent building space
object and a child building space object, and a reference to
information regarding one or more building automation devices
associated with the building space object, and at least one
building automation device object, each building automation device
object including a reference to a corresponding building space
object, and a reference to at least one operating value of the
building automation device, the software interface comprising:
logic for receiving a call comprising a function identifier and at
least one object identifier, the function identifier representative
of a function applicable to a plurality of object types; logic for
employing the function identifier and the at least one object to
call a software function in a function library, the software
function corresponding to the function applicable to the object
type that corresponds to the at least one object.
Description
[0001] This application claims the benefit of U.S. Provisional
Patent Application Ser. Nos. 60/583,519, 60/583,572, and
60/583,585, each filed Jun. 28, 2004, all of which are incorporated
herein by reference.
FIELD OF THE INVENTION
[0002] The present invention relates generally to building
automation systems, and more particularly, to methods and apparatus
for representing and/or storing building automation system
data.
BACKGROUND OF THE INVENTION
[0003] Building automation systems are comprehensive and
distributed control and data collection systems for a variety of
building automation functions. Such functions may include comfort
systems (also known as heating, ventilation and air condition or
HVAC systems), security systems, fire safety systems, as well as
others. Building automation systems include various end points from
which data is collected. Examples of such end points include
temperature sensors, smoke sensors, and light sensors. Building
automation systems further include elements that may be controlled,
for example, heating coil valves, ventilation dampers, and
sprinkler systems. Between the data collection end points and
controlled elements are various control logic elements or
processors that use the collected data to control the various
elements to carry out the ends of providing a comfortable, safe and
efficient building.
[0004] Building automation systems often employ one or more data
networks to facilitate data communication between the various
elements. These networks may include local area networks, wide area
networks, and the like. Such networks allow for single point user
access to many variables in the system, including collected end
point data as well as command values for controlling elements. To
this end, a supervisory computer having a graphical user interface
is connected to one of the networks. The supervisory computer can
then obtain selected data from elements on the system and provide
commands to selected elements of the system. The graphical display
allows for an intuitive representation of the elements of the
system, thereby facilitating comprehension of system data. One
commercially available building automation system that incorporates
the above described elements is the Apogee system available from
Siemens Building Technologies, Inc. of Buffalo Grove, Ill.
[0005] Increasingly, building automation systems have acquired more
useful features to assist in the smooth operation of building
systems. For example, in addition to controlling physical devices
based on sensor readings to achieve a particular result, building
automation systems increasingly are capable of providing trending
data from sensors, alarm indications when thresholds are crossed,
and other elements that directly or indirectly contribute to
improved building system services.
[0006] However, most building systems have limited ability to
associate sensor values with other building system or general
building attributes. Advanced systems allow graphic representations
of portions of the building to be generated, and for multiple
sensor and/or actuator points to be associated with that graphic
representation. By way of example, the Insight.TM. Workstation,
also available from Siemens Building Technologies, Inc. is capable
of complex graphical representations of rooms or large devices of
the building system. While systems with such graphics provide at
least some integrated visible representation of portions of the
building automation system, the ability to use such data is
limited.
[0007] Accordingly, there is a need for a more comprehensive manner
in representing various types of data related to a building system.
Such manner of representation could facilitate the development of
significant new automated services. Such manner of representation
could preferably facilitate remote building control.
SUMMARY OF THE INVENTION
[0008] The present invention provides an improved building system
model and method for accessing the same for use in software
applications. The model is a data mode that links information
regarding building topology and building automation devices, among
other things. The model facilitates a large set of extended
services.
[0009] A first embodiment of the invention is a model of a building
system that is stored in a memory. The model comprises a plurality
of building space objects and at least one building automation
device object. At least one building space object includes a
reference to at least one of the group consisting of a parent
building space object and a child building space object, a
reference to at least one graphic file containing a graphic image
representation of the building space, and a reference to
information regarding one or more building automation devices
associated with the building space object. Each building automation
device object includes a reference to a corresponding building
space object, and a reference to at least one operating value of
the building automation device. Optionally building automation
device objects may further include a reference to a link to a file
containing information regarding the at least one building
automation device object.
[0010] A second embodiment is a method of generating a model of a
building system that includes a step of selecting an object
template for an element of a building system from an object
template library, the object template library including building
space object templates and building automation device objects. The
method also includes instantiating first information into at least
one building space object using the selected object template if the
selected object template is a building space object template. In
such a case, the first information comprises information associated
with the space within a building with which the building system is
associated. Another step includes instantiating second information
into at least one building automation device object using the
selected object template if the selected object template is a
building automation device template. The second information in such
a case is information associated with a building automation device
within the building. The second information includes at least a
reference to a building space object corresponding to a building
space associated with the building automation device.
[0011] Each of the above embodiments links building automation
device information to a building structure or space information,
and the building structure or space information is preferably
arranged in a hierarchical manner. The resulting model of these
embodiments thus provides a useful representation of a building
system.
[0012] The above described features and advantages, as well as
others, will become more readily apparent to those of ordinary
skill in the art by reference to the following detailed description
and accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 shows a mechanical top view floor plan diagram of a
building space wherein various HVAC elements are schematically
represented;
[0014] FIG. 2 shows a schematic diagram of the building automation
system that employs the HVAC elements of the building space of FIG.
1;
[0015] FIG. 3 shows a block diagram representation of an exemplary
model of the building system illustrated in FIGS. 1 and 2, the
model incorporating aspects of the invention;
[0016] FIG. 4 shows a flow diagram of an exemplary set of
operations performed to generate a model in accordance with aspects
of the invention;
[0017] FIG. 5 shows a block diagram of an exemplary building zone
template for use in generating building zone objects in a model
according to an embodiment of the invention;
[0018] FIG. 5a shows a block diagram of a building zone object of
the model of FIG. 4 generated from the building zone template of
FIG. 5;
[0019] FIG. 6 shows a block diagram of an exemplary room space
template for use in generating room space objects in a model
according to an embodiment of the invention;
[0020] FIGS. 6a and 6b shows a block diagram of room space objects
of the model of FIG. 4 generated from the room space template of
FIG. 6;
[0021] FIG. 7 shows a block diagram of an exemplary inlet shaft
segment template for use in generating inlet shaft segment objects
in a model according to an embodiment of the invention;
[0022] FIGS. 7a and 7b show block diagrams of inlet shaft segment
objects of the model of FIG. 4 generated from the inlet shaft
segment template of FIG. 7;
[0023] FIG. 8 shows a block diagram of an exemplary temperature
sensor template for use in generating temperature sensor objects in
a model according to an embodiment of the invention;
[0024] FIGS. 8a and 8b show block diagrams of temperature sensor
objects of the model of FIG. 4 generated from the temperature
sensor template of FIG. 8;
[0025] FIG. 9 shows a block diagram of an exemplary damper template
for use in generating damper objects in a model according to an
embodiment of the invention;
[0026] FIGS. 9a, 9b and 9c show block diagrams of damper objects of
the model of FIG. 4 generated from the damper template of FIG.
9;
[0027] FIG. 10 shows a block diagram of an arrangement for
providing software functions that employ the building model
disclosed herein according to one aspect of the invention; and
[0028] FIG. 11 shows an exemplary set of steps of a software
interface.
DETAILED DESCRIPTION
[0029] FIG. 1 shows a top view of a building zone 100 that includes
a number of building automation devices that form a portion of the
heating, ventilation and air conditioning ("HVAC") for the building
system. The building zone 100 includes a first room space 102, a
first window 102a, a second room space 104, a hall space 106 and
mechanical space 108. The mechanical space 108 is illustrated as
being adjacent to the room spaces 102 and 104 for clarity of
exposition, but in actuality would also typically extend over the
top of the first room space 102, the second room space 104, and the
hall space 106.
[0030] The portion of the HVAC system shown in FIG. 1 includes a
blower 110, a shaft damper 112, a first room damper 114, a second
room damper 116, a flow sensor 118, a first room inlet 120, a
second room inlet 122, a shaft branch 124, a first temperature
sensor 126, a second temperature sensor 128, and a space
temperature adjuster 130. Also shown in FIG. 1 is a security sensor
132 that may be a portion of a security system in the building zone
100. The HVAC system has further control elements and networks that
are not illustrated in FIG. 1, but are represented schematically in
FIG. 2, which is discussed further below. FIG. 1 shows largely only
the mechanical devices in the HVAC system.
[0031] In general, the HVAC system is designed to, among other
things, regulate temperature in the first room space 102 and the
second room space 104. To this end, the HVAC system advances cool
(or warm air) into the first and second room spaces 102, 104 as
needed to maintain a desired temperature. The "desired temperature"
may vary from room space to room space, or may be uniform through
the building zone 100. The desired temperature is referred to
herein as the set point temperature, and may be dictated by a local
thermostat setting or from a central control device, as will be
discussed in further detail below.
[0032] Referring to the structure of the HVAC system of FIG. 1, the
blower 110 is a mechanical device well known in the art that is
configured to blow air through the shaft branch 124, as well as
other similar shaft branches, not shown. The shaft branch 124
extends adjacent to the room spaces 102 and 104. The first room
inlet 120 extends from a portion of the shaft branch 124 toward the
first room space 102 and is in fluid communication with the first
room space 102. The first room damper 114 is disposed in the first
room inlet 120 and operates to controllably meter the flow of air
from the shaft branch 124 to the first room space 102. Similarly,
the second room inlet 122 extends from another portion of the shaft
branch 124 toward the second room space 104 and is in fluid
communication with the second room space 104. The second room
damper 116 is disposed in the second room inlet 122 and operates to
controllably meter the flow of air from the shaft branch 124 to the
second room space 104. The shaft damper 112 is arranged in the
shaft branch 124 to meter the overall air flow through the shaft
branch 124.
[0033] In order to determine whether more or less cold (or warm
air) is needed to achieve or maintain a set point temperature, the
controlling units of the HVAC system (see FIG. 2 discussed below)
obtain measured or sensed temperatures from the temperature sensors
126 and 128. If the measured temperature is higher than the set
point temperature, then the HVAC system controlling units may cause
additional cold air to be advanced into the room spaces 102 and 104
by further opening the dampers 112, 114 and/or 116. Likewise, if
the measured temperature is lower than the set point temperature,
then the HVAC system controlling units may cause reduced cold air
flow into the room spaces 112, 114 and 116 by further closing the
dampers 112, 114 and/or 116. The HVAC system may also control other
devices, not shown, such as chiller plants or the like, that affect
temperature, in conjunction with the dampers 112, 114 and/or
116.
[0034] FIG. 2 shows a schematic representation of the HVAC system
200 that includes electrical control and communication devices as
well as the HVAC system mechanical elements shown in FIG. 1. The
HVAC system 200 includes a control station 202, a building network
204, first and second equipment controllers 206 and 208, and a
blower controller 210. The control station 202 is a device that
provides status monitoring and control over various aspects of the
HVAC system 200. By way of example, the control station 202 may
suitably be an INSIGHT.TM. model workstation available from Siemens
Building Technologies, Inc., discussed further above. The building
network 204 is a communication network that allows communication
between the control station 202 and the controllers 206, 208 and
210, as well as other devices not depicted in FIG. 2. Such building
networks are known in the art. Suitable building communication
networks designed for use with the INSIGHT.TM. model workstation
include building level networks available with the APOGEE.TM.
building automation system also available from Siemens Building
Technologies, Inc.
[0035] The first controller 206 is a device that is operable to
receive one or more sensor inputs and generate controlled process
outputs based on the sensor inputs and one or more set points.
Sensor inputs, for example, may be representative of measured
temperature values. Controlled process outputs, for example, may be
actuator signals that cause a ventilation damper to further open or
further close. Various suitable commercially available equipment
controllers are known in the art, including modular equipment
controllers available from Siemens Building Technologies, Inc.
[0036] To generate the process output based on set points and
sensor inputs, the first controller 206 is operable to perform a
control function, such as a proportional control function, a
proportional-integral control function, or a
proportional-integral-derivative ("PID") control function (or
possibly others). Such control functions use values representative
of a measured phenomenon to determine how to manipulate a physical
process to attempt to bring the measured phenomenon toward a set
point.
[0037] In the embodiment shown in FIG. 2, the equipment controller
206 is operable to generate an output that causes either or both of
the dampers 114 and 116 to open or close in response to temperature
sensor values received from the temperature sensors 126 and 128.
The equipment controller 206 is further operable to receive the set
point temperature value from the space temperature adjuster 130. In
some embodiments, the equipment controller 206 may receive
temperature set points from other devices, such as the control
station 202, via the building network 204. The equipment controller
206 may utilize set points from the control station 202 and the
space temperature adjuster 130 at different times of day, or for
different purposes.
[0038] Regardless of whether the set point is received from the
control station, the equipment controller 206 is also operable to
communicate to other system control elements such as the control
station 202 and the other equipment controllers 208 and 210, over
the building network 204. Thus, for example, the equipment
controller 206 is operable to communicate sensor values generated
by the temperature sensors 126 and 128 to the control station 202
and/or the other controllers 208 and 210.
[0039] The other equipment controller 208 is operable to generate
an output that causes the shaft damper 112 to open or close in
response to one or more sensor signals and set points. For example,
the determination to further open or close the shaft damper 112 may
depend at least in part on the measured air flow in the shaft
branch 124. To this end, the equipment controller 208 is also
operable to receive shaft air flow values from the shaft flow
sensor 118. The controller 208 may then suitably be configured to
generate the output based on the received shaft air flow values and
a set point set by the control station 202. The control station 202
may alter the set point based in part on the temperature values
measured by the temperature sensors 126 and 128, operating
characteristics of the blower 110, or combinations of many
factors.
[0040] It will be appreciated that the control algorithms and
schemes of the HVAC system 200 are given by way of illustrative
example, and that those of ordinary skill in the art may readily
device suitable control schemes for HVAC systems of any particular
building space. The exact nature of how to develop specific
applications of control schemes is outside the scope of the
disclosure and would be readily apparent to those of ordinary skill
in the art.
[0041] In accordance with the present invention, a system 150 for
developing and storing a model of the building system 100 is
operably connected to communicate to the control station 202. Such
a connection may be through an intranet, the Internet, or other
suitable communication scheme. In alternative embodiments, the
system 150 and the control station 202 are present on the same host
computer system.
[0042] In any event, the system 150 includes I/O devices 152, a
processing circuit 154 and a memory 156. The I/O devices 152 may
include a user interface, graphical user interface, keyboards,
pointing devices, remote and/or local communication links,
displays, and other devices that allow externally generated
information to be provided to the processing circuit 154, and that
allow internal information of the system 150 to be communicated
externally.
[0043] The processing circuit 154 may suitably be a general purpose
computer processing circuit such as a microprocessor and its
associated circuitry. The processing circuit 154 is operable to
carry out the operations attributed to it herein.
[0044] Within the memory 156 is a model 158 of the building system
100. The model 158 is a collection of interrelated data objects
representative of, or that correspond to, elements of the building
system 100. Elements of the building system may include any of the
illustrated in FIGS. 1 and 2, as well as other elements typically
associated with building systems. Building system elements are not
limited to HVAC elements, but may include security devices such as
the security sensor 132 or the like, fire safety system devices,
lighting equipment, or other building equipment.
[0045] An example of the model 158 of the HVAC system 200 of FIGS.
1 and 2 is illustrated in FIG. 3 in further detail. With reference
to FIG. 3, the model 158 includes a building zone object 301, a
first room space object 302, a first window object 302a, a second
room space object 304, a hall space object 306, a mechanical space
object 308, a blower object 310, a shaft damper object 312, a first
room damper object 314, a second room damper object 316, a flow
sensor object 318, a first room inlet object 320, a second room
inlet object 322, a shaft branch object 324, a first temperature
sensor object 326, a second temperature sensor object 328, a space
temperature adjuster object 330, a first equipment controller
object 406, a second equipment controller object 408 and a blower
controller object 410.
[0046] The objects generally relate to either primarily physical
building structures or building automation system devices. Building
structure (or space) objects correspond to static physical
structures or locations within a building space, such as room
spaces, hall spaces, mechanical spaces, and shaft elements.
Building automation system device objects correspond to active
building automation system elements such as sensors, dampers,
controllers and the like. It is noted that some elements, such as
ventilation shaft elements, could reasonably qualify as both types
of elements in other embodiments. However, in the exemplary
embodiment described herein, the shaft elements are considered to
be building structure elements as they tend to define a subspace
within the building space.
[0047] Each object in the model 158 corresponds to an element of
the building system of FIGS. 1 and 2. Table 1, below lists the
objects, and defines the element of the building system to which
they correspond. TABLE-US-00001 TABLE 1 OBJECT No. CORRESPONDING
ELEMENT 301 Zone 100 302 Room Space 102 302a Window 102a 304 Room
Space 104 306 Hall Space 106 308 Mechanical Space 108 310 Blower
110 312 Shaft Damper 112 314 First Room Damper 114 316 Second Room
Damper 116 318 Flow Sensor 118 320 Room Inlet 120 322 Room Inlet
122 324 Shaft Branch 124 326 Temperature Sensor 126 328 Temperature
Sensor 128 330 Temperature Adjuster 130 406 Equipment Controller
206 408 Equipment Controller 208 410 Equipment Controller 210
[0048] Each object is a data object having a number of fields. The
number and type of fields are defined in part by the type of
object. For example, a room space object has a different set of
fields than a temperature sensor object. A field usually contains
information relating to a property of the object, such as a
description, identification of other related objects, and the
like.
[0049] The model 158 is built by creating objects from a library of
templates 160 (see FIG. 2), which may also be stored in the memory
156. The library of templates 160 contain templates for several
types of objects, and ideally for all types of object. Various
examples of templates are discussed herein. In particular, FIG. 5
shows a building zone template 502, FIG. 6 shows a room space
template 602, FIG. 7 shows an inlet shaft segment template 702,
FIG. 8 shows a temperature sensor template 802, and FIG. 9 shows a
damper space template. Other templates for other elements may be
developed by those of ordinary skill in the art applying the
principles illustrated herein.
[0050] FIG. 4 shows an exemplary method that may be used to
generate a model such as the model 158. In step 402, the user
generates a new object for a selected building system element, and
gives the object an identification value or name. To this end, the
user may enter information through the I/O devices 152 of the
system 150 of FIG. 2.
[0051] Thereafter, in step 404, the user selects an object template
corresponding to the selected building system element. To this end,
the processing device 154 may cause the I/O devices 152 to display
one or more menus of templates available from the template library
160 stored in the memory 156. The user may then use the I/O devices
152 to enter a selection, which is received by the processing
device 154.
[0052] Then, in step 406, the user instantiates the selected object
template by providing appropriate values to the fields available in
the object template. To this end, the processing device 154 may
suitably prompt the user for each value to be entered as defined by
the selected template. The types of values entered will vary based
on the type of template. Building structure templates vary, but
share some similarities, as do building automation device
templates.
[0053] Once the object is instantiated, the processing circuit 154
stores the object in the memory 156 in a manner that associates the
object with the model 158. In step 408, the user may select whether
additional objects are to be created. If not, then the process is
completed. If so, however, then the user creates and names a new
object in step 402 and proceeds as described above.
[0054] Examples of templates, and how such templates would be
populated or instantiated using the data of the building system of
FIGS. 1 and 2, are provided below in connection with FIGS. 5-9. It
will be appreciated that the objects may suitably take the form of
an XML object or file.
[0055] FIG. 5, for example, shows a building zone template 502.
When the user creates an object for the building zone 100 of the
building system of FIGS. 1 and 2, the user employs the building
zone template 502. The building zone template 502 in the exemplary
embodiment described herein has an identifier value, a type
identifier, and four fields: a child field 512, a graphic field
514, a parent field 516, and a common name field 518. The data
structure contained in, or pointed to by the value in, the child
field 512 is an array. Each element of the array is an identifier
value for child entities of the building, such as room spaces, hall
spaces and the like. The identifier value may suitably be the
identifier of the object corresponding to those child entities. The
child field 512 thus allows the building object to be associated
with other objects, namely room space, hall space and other space
objects, in the model 158.
[0056] The graphic field 514 contains a pointer to a graphics file.
The graphics file contains a graphical representation of the zone,
such as a floor plan similar to that illustrated in FIG. 1. The
data structure for the parent field 516 may suitably be a single
value, as most building structure objects should have only single
parent object. The value of the parent field 516 may suitably be
the identifier for the building object of the building in which the
building zone is located. For example, the building zone 100 of
FIG. 1 may be a floor or wing of a building, and thus its parent
object is the object for the entire building. The common name field
518 is a string. The common name field 518 could contain a commonly
known name for the building zone, such as the "first floor", or
"eastern wing". Thus, the building zone template 502 provides two
ways to identify the building: the system object identifier and the
common name.
[0057] FIG. 5a shows the building object 301 formed by
instantiating the building template 502 with the data associated
with the zone 100. The name "100_GRAPHIC" represents the file
reference for the graphic of the zone 100, and the name
"BLDG_OBJECT" represents an object name for an object that
describes the overall building, not shown, but which includes the
building zone 100.
[0058] FIG. 6 shows a room space object template 602. When the user
creates an object for each of the first room space 102 and the
second room space 104, the user employs the room space object
template 602. The room space object template 602 in the exemplary
embodiment described herein has an identifier value, a type
identifier, and seven or more fields: a child field 612, a parent
field 614, a graphic field 616, a sensor value field 620, a square
foot field 622, a volume field 624, a location field 626, as well
as others. The data structure for the child field 612 is an array,
with each element of the array being an identifier value for child
entities of the room space, such as cubicles, work spaces or other
subdivisions of a room. The data structure of the parent field 614
may suitably be a value, as each room space typically should have
only one direct parent.
[0059] The graphic field 616 contains a pointer to a graphics file
that contains a graphical representation of the room space. The
data structure for the sensor value field 620 is an array
containing the identification of each sensor value generated within
the room. In most advanced HVAC systems, each sensor value is a
data point that may accessed by an identifier. Each sensor value is
associated (within the model 158 and the HVAC system 200) with the
sensor device that created it. For example, the temperature
measured by the temperature sensor 126 may be identified as data
point 126t. As discussed above, the sensor value field 620 contains
an array of such sensor value data point identifiers.
[0060] The square foot field 622 and the volume field 624 may be
integer or floating point values that provide information on the
dimensions of the room space. The location field 626 is a data
structure that contains coordinates and possibly shape information
of the room space. The data structure of the location field 626 may
suitable be an array of coordinates of four corners of the room
space. Other fields, not shown, may otherwise identify the building
automation equipment that is present in the room space.
[0061] FIG. 6a shows the room space object 302 formed by
instantiating the room space template 602 with the data associated
with the first room space 102. FIG. 6b shows the room space object
304 formed by instantiating the room space template 602 with the
data associated with the second room space 104. It will be
appreciated that in FIGS. 6a and 6b, the location field is
populated by a single coordinate of a reference point, e.g. the
centerpoint, of the room space. As discussed above, the location
field 626 may be implemented in many different ways. It will
further be appreciated the sensor value identifiers for the sensor
devices 126 and 128 are named 126t and 128t in the exemplary
embodiment of FIGS. 6a and 6b.
[0062] FIG. 7 shows an inlet object template 702. When the user
creates an object for each of the room inlets 120 and 122, the user
employs the inlet object template 702. The inlet object template
702 in the exemplary embodiment described herein has an identifier
value, a type identifier, and eight or more fields: a parent field
712, a space field 714, a graphic field 716, a sensor value field
718, a cross-sectional area field 720, a length field 722, a BAS
device field 724, a location field 726, and possibly others. The
data structure for the parent field 712 may suitably be a single
value that identifies a parent shaft to which the inlet shaft
segment is connected. The space field 714 is a value that
identifies the room space, hall space or other type of space into
which the inlet segment provides fluid communication. The value is
the object identifier the corresponds to that space.
[0063] The graphic field 716 contains a pointer to a graphics file
that contains a graphical representation of the inlet shaft
segment. The data structure for the sensor value field 718 is an
array containing the identification of each sensor value generated
within the inlet shaft segment. The cross section area field 720
and the length field 722 may be integer or floating point values
that provide the dimensions of the inlet shaft segment. The BAS
device field 724 contains the identifiers of any controllable BAS
devices within the inlet shaft segment. The location field 726 is a
data structure that contains location coordinates for the inlet
shaft segment.
[0064] FIG. 7a shows the inlet segment object 320 formed by
instantiating the inlet segment template 702 with the data
associated with the first inlet segment 120. FIG. 7b shows the
inlet segment object 322 formed by instantiating the inlet segment
template 702 with the data associated with the second inlet segment
122.
[0065] FIG. 8 shows a temperature sensor object template 802. When
the user creates an object for each of the first temperature sensor
object 126 and the second temperature sensor object 128, the user
employs the temperature sensor object template 802. The temperature
sensor object template 802 in the exemplary embodiment described
herein has an identifier value, a type identifier, and five or more
fields: a space location field 812, a vendor field 814, a
characteristics field 816, a vendor model field 818, a measured
temperature point identifier field 820 and possibly others. The
data structure for the space location field 812 is a value of the
identifier of the object for the room space, hall space or other
space in which the sensor device is located. The vendor field 814
may suitably be a string value (or a look-up table code) that
identifies the vendor for the sensor. The characteristics field 816
contains a pointer a string, array, graphic or other file that
provides characteristics of operation of the sensor, such as
graphic performance information or the like. The vendor model field
818 is a string value providing the commercial model number for the
device. The measured temperature point identifier field 820
contains of the identification of the system data point of the
temperature measured by the sensor. As discussed further above,
each measured value (and also control value) has a data point
identifier in a typical HVAC network. The temperature sensor object
template 802 thus contains at least one field that identifies the
data point in which the temperature data obtained by the
temperature sensor is stored and transported.
[0066] FIG. 8a shows the temperature sensor object 326 formed by
instantiating the temperature sensor template 802 with the data
associated with the first temperature sensor 126. FIG. 8b shows the
temperature sensor object 328 formed by instantiating the
temperature sensor template 802 with the data associated with the
second temperature sensor 128.
[0067] FIG. 9 shows a damper object template 902. When the user
creates an object for each of the dampers 112, 114 and 116, the
user employs the damper object template 902. The damper object
template 902 in the exemplary embodiment described herein has an
identifier value, a type identifier, and five or more fields: a
space location field 912, a vendor field 914, a characteristics
field 916, a vendor model field 918, and a damper actuator control
value point identifier field 920, and possibly others. The data
structure for the space location field 912 is a value of the
identifier of the shaft branch, inlet segment, outlet segment or
other shaft space in which the damper is located. The vendor field
914 may suitably be a string value (or a look-up table code) that
identifies the vendor for the damper and/or its actuator. The
characteristics field 916 contains a pointer a string, array,
graphic or other file that provides characteristics of operation of
the damper and/or its actuator, such as energy characteristics,
performance information, or the like. The vendor model field 918 is
a string value providing the commercial model number for the
device. The damper actuator control value point identifier field
920 contains of the identification of the system data point of the
control value used to change the position of the damper. As is
known in the art, the damper position is physically moved by an
actuator, the actuator causing movement responsive to control
value. The damper object 902 thus contains thee field 920 to
identify the data point in which the control information for the
damper is stored and transported.
[0068] FIG. 9a shows the damper object 312 formed by instantiating
the damper template 902 with the data associated with the shaft
damper 112. FIG. 9b shows the damper object 314 formed by
instantiating the damper template 902 with the data associated with
the first room damper 114. FIG. 9c shows the damper object 316
formed by instantiating the damper template 902 with the data
associated with the second room damper 116.
[0069] It will be appreciated that suitable templates may readily
be created by those of ordinary skill in the art for other
elements, such as, for example, flow sensors and shaft branches,
water valve actuators, controllers, and other devices of the
building system 100, as extensions of the examples described above.
Using the above examples as a guide, those of ordinary skill in the
art may readily develop appropriate templates for other building
automation systems, such as security systems, fire safety systems,
and the like.
[0070] The building model 158 thus provides a relatively
comprehensive description of each of the building automation system
devices, and relates those devices to the physical structure of the
building. To this end, the building automation system device
objects include, in addition to references to relevant control
values of the device, but also information as to what part of the
building space in which the device is located. Moreover, the
building space objects are arranged hierarchically, to further
interrelate system devices and values with different "zoom" levels
of the building structure. It will be appreciated that the actual
data objects may take many forms and still incorporate these
features of the invention.
[0071] The model 158 and different models incorporating the same
general principles have limitless potential for enhancing building
automation system services. Software applications may use the model
158 to relate building information innumerable ways to provide
better understanding and operation of building systems.
[0072] FIG. 10 shows an exemplary structure for providing a
software interface arrangement 1000 to a building model such as the
model 158. The software interface 1000 includes a library of
functions 1002 that utilize the model 158 to provide useful
information about the building system 100, and an interface 1008.
By way of example, FIG. 10 shows first and second user applications
1004 and 1006, respectively, that utilize library functions 1002
and the model 158 to obtain building system information.
[0073] The function library 1002 contains, among other things,
generic software functions 1002a, 1002b, and so forth, for various
elements of the building system. By way of example, there may be
one or more trend functions that generate trend information for
various sensor measurements in the building system 101,
selfdiagnose functions that perform diagnostic functions of various
building automation devices, and/or maxtemp functions that obtain a
maximum temperature reading for a zone in the building system 100.
Any number of other functions useful in building control systems
may be employed. Because most if not all objects in the model 158
are built from standard templates, software routines that use the
model may be made in a relatively generic sense. At a minimum, a
user application 1004 or 1006 may easily incorporate functions
involving various building devices that would have been extremely
difficult to incorporate using prior building control systems.
[0074] User applications 1004, 1006 could call system functions by
identifying the function name and one or more building objects for
or on which the function is being performed. A protocol may allow a
single code line of the application 1004 (or 1006) to generate the
call. For example, the following function calls may be made with
the objects of the model 158 (see Table I, above). [0075]
301.304.128.trend //calls a "trend" function for the temperature of
room space 104 [0076] 301.310.selfdiagnose //calls a
self-diagnostic function for the blower 110 [0077] 301.maxtemp
//calls a maximum temperature reading function for the zone 100
[0078] The software interface 1008 in each case would identify the
proper function based on at least the function name (i.e. trend,
selfdiagnose, maxtemp) and the information identifying the relevant
device (i.e. object identifiers 128, 310, 301). To this end, as
shown in FIG. 11, the software interface 1008 first, in step 1102,
receives the call (i.e. 301.310.selfdiagnose) and identifies the
selfdiagnose function and object 301. The software interface 1008
then, in step 1104, uses rules associated with selfdiagnose to
identify the library function 1002 to call, based on the object
310. By way of example, there may exist several library functions
selfdiagnose corresponding to each type of object or building
automation device. The rules of the software interface 1008
preferably cause the software interface 1008 to reference the
object 310 to determine that the object type=blower, and then
identifies the routine that performs a self diagnosis operation on
a blower. Other selfdiagnose library functions may perform
self-diagnostics on other equipment, such as sensors, actuators,
chillers and the like.
[0079] In step 1106, the software interface 1008 calls the
appropriate library function as identified in step 1104 and passes
the appropriate parameters. For example, the software interface
calls the library function 1002x that has the process for
performing self-diagnostics on a blower. The software interface
1008 further passes parameters to the library function 1002x that
identify the blower object 310 itself, along with any other
parameters generated by the application 1004 or the interface 1008
itself. The model 158 provides the necessary information to allow
the library function 1002x to perform the diagnostics on the blower
110.
[0080] In some cases, a single library function 1002n may serve for
all instances of a particular function, such as maxtemp, discussed
below. In an exemplary maxtemp routine, a software application may
be developed to find the highest temperature in each "zone" of a
building. The general function may be made generic, regardless of
what "kind" of zone is used. In other words, the maxtemp routine
may be made generic for buildings, floors, rooms, halls or other
space configuration.
[0081] Such a generic routine may be readily accomplished using the
general operations listed below: [0082] 1) check all child objects
of the identified zone (i.e. room objects, hall objects, etc.) to
identify all temperature sensor values associated with the child
objects of each zone. The identified temperature sensor values for
each zone constitute list of temperature data point identifiers for
each zone; [0083] 2) obtain the current measured temperatures for
each zone, or in other words, obtain the values of the identified
temperature point identifiers for each zone; and [0084] 3) identify
the highest value for each zone. The model 158 makes it simple to
identify which temperature data points are associated with each
room space, zone space or building space. The above example is
non-limiting is merely illustrates one of the advantages of the
model.
[0085] It will be appreciated that the above describe embodiments
are merely exemplary, and that those of ordinary skill in the art
may readily devise their own modifications and implementations that
incorporate the principles of the present invention and fall within
the spirit and scope thereof.
[0086] Additional features of some embodiments of the invention are
descried in Appendix A.
* * * * *