A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present disclosure relates to creating bills of sale. More specifically, bills of sale are automatically generated as part of a model-based design process.
Almost all building controls today are model-free. The model-free approach, while simple to implement, becomes quite difficult to manage and optimize as the complexity of the system increases. It also lacks the inherent self-knowledge to provide new approaches to programming, such as model-driven graphical programming, or to govern the interconnections between components and sub-system synergistics. Digital model based approaches to date have been limited in scope and specific to known models defined a-priori. They have thus lacked the ability to understand the connections between the various portions of a building project, and therefore find it very difficult to create a bill of materials automatically as part of the design process. Furthermore, more complex building controls generally require internet access which leaves the buildings prone to malfunction when outside networks go down, and high latency times even when outside networks are behaving as expected. This can lead to problems with desired building behavior.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description section. This summary does not identify required or essential features of the claimed subject matter. The innovation is defined with claims, and to the extent this Summary conflicts with the claims, the claims should prevail.
In general, one innovative embodiment comprises receiving a building plan into a computer system with a processor, memory, and user interface. The computer system has, within memory, a plurality of predefined device types, a wire type, and a controller type. An instance of the device type is then placed within the building plan, or is already known. A controller type is chosen by a user or is already known. The computer system uses at least a portion of the building plan, the device instance, the location of the device instance, and the controller instance to create a partially finished building diagram. Using the partially finished building diagram, the computer system generates a wiring diagram that connects the controller instance to the device instance within the partially finished building diagram, the wiring diagram comprising wire lengths and wire locations within the building plan. The computer system can then use information found on the wiring diagram to generate a bill of materials.
In some embodiments generating the bill of materials further includes generating installation labor times or installation material requirements. The labor times may be priced, and the price may scale with quantity. Material requirements may also include price, and the price may scale with quantity. Some embodiments include a parts list. This parts list may include at least one of a device supplier, wire lengths from the wiring diagram, a wire supplier, or wire cost.
In some embodiments, a controller with a user interface may be used to input the building plan. The controller may house the computer system with a processor and memory. The controller may also be used to input the location of the device instance, as well as choosing the device instance type. This controller may then be used to generate the bill of materials.
In some embodiments, the controller is connected to a database associated with one or more suppliers. A user may be able to determine if a suppler has sufficient materials for the parts requested on the bill of materials. The user may be able to write a bill of sale for the given supplier, and change the inventory of the supplier to reflect the amount of goods that the user wishes to purchase.
Disclosed below are representative embodiments of methods, computer-readable media, and systems having particular applicability to systems and methods for automated point mapping generation. Described embodiments implement one or more of the described technologies.
Various alternatives to the implementations described herein are possible. For example, embodiments described with reference to flowchart diagrams can be altered, such as, for example, by changing the ordering of stages shown in the flowcharts, or by repeating or omitting certain stages.
With reference to
The controller may also have residing within memory a model that can be used to help the controller determine how to effectively control the physical space 105 the controller 107 is controlling. This model may be a thermodynamic model, a heterogenous neural network, a thermodynamic model representing a space, a thermodynamic model representing devices in the space, a model representing desired comfort in the space, and so on. The controller may be able to run the model, may be able to run the model by divvying up the model among several controllers, or a different way.
In some embodiments, a bill of materials (BOM) can be created using at least a portion of the building plan 125 that has been created. In some instances, this bill of materials includes the price. This model may have been created using a controller and the model may be stored on the controller. The bill of materials may be created by the controller. The term “bill of materials” is used as understood by one of normal skill in the art; it can be thought of as an inventory of the materials at a given level need to create something What the specific levels are called are industry dependent, but may include number of assemblies, systems, subsystems, components, parts, and components needed to build a structure, portion of a structure, subsystem of a structure, etc. One or more of the cost, cost type, cost version, subsystem level, etc., description, type, part number, sku, quantity, subcontracting, overhead cost, labor level, or labor amount, may also be included. The specific supplier may be included, as well as supplier location, and other information deemed useful. Some prices may scale with quantity. These quantity scales might also be included.
The technical character of embodiments described herein will be apparent to one of ordinary skill in the art, and will also be apparent in several ways to a wide range of attentive readers. Some embodiments address technical activities that are rooted in computing technology, such as, determining what materials are required for a given project, where controllers should go for various optimizations, more efficiently creating wiring diagrams for the controllers, and then automatically generating bills of material to provide the material necessary for such installations. This, in turn, makes constructing buildings and similar structures much easier, as inventory can be automatically checked, and bills of material can be automatically sent to the correct suppliers, saving the time that would otherwise be spent chasing down parts and materials. Other advantages based on the technical characteristics of the teachings will also be apparent to one of skill from the description provided.
With continuing reference to
The computer system 110 comprises computer hardware 115, and a memory 120. The hardware 115 comprises at least one processing unit. The processing unit executes computer-executable instructions and may be a real or a virtual processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. The memory 120 can be any appropriate volatile or non-volatile storage subsystem. For example, the external memory can be volatile memory, e.g., static memory cells, as in FPGAs and some CPLDs; or non-volatile memory, e.g., FLASH memory, as in some CPLDs, or in any other appropriate type of memory cell. The memory itself may have within it a model of the physical space 105. The controller 107 also has one or more devices 130 associated with it. These devices may be any sort of device that can connect to a controller in a building, as know to those of skill in the art. These may include HVAC equipment, security equipment, entertainment equipment, irrigation equipment, and so on.
The devices may be sensors, which may indicate information about a specific device; or may give information about state of the physical space 105, or some portion of the physical space 105. The devices may change state of the physical space 105, or a portion of the physical space. Example of state that can be modified by a device include temperature, humidity, noise levels, air flow noise levels, lighting levels, entertainment noise levels, CO2, VOC, and so on. Some of these devices may be connected by being physically wired to the computer system/controller 110, others may be connected by an interface network connection. This network connection may be a wired connection, such as an ethernet connection, or may be a wireless connection, or both. A user interface 135 is also included, which allows information to be input and output from the computer system/controller. The user interface may be a screen with a keyboard, a printer, a touch screen, a motion sensor, a 3-d input device that can be used to scan a space, such as a room; data may be input using a mouse, a voice-based command system, a touchscreen, a joystick controller, a pointing stick, a trackball, a wii remote, a digital camera, a digital camera with scanning software and/or hardware, a 3-d scanner, a barcode reader, etc.
The computing environment may have additional features. For example, the computing environment may include storage, one or more input devices, one or more output devices, one or more network components, such as network interface card, a wireless transceiver, a modem, a router, a wireless access point, etc. Other communication connections may also be included. An interconnection mechanism such as a bus, controller, or network interconnects the components of the computing environment. Typically, operating system software provides an operating environment for other software executing in the computing environment, and coordinates activities of the components of the computing environment. The storage may be removable or non-removable. In some embodiments the computing environment is networked together with no requirement for an outside network connection. This network connection may be entirely within the physical space 105.
The computer system 110, like other suitable systems, also includes one or more computer-readable storage media 155. Media 155 may be of different physical types. The media 155 may be volatile memory, non-volatile memory, fixed in place media, removable media, magnetic media, optical media, solid-state media, and/or of other types of physical durable storage media (as opposed to merely a propagated signal). In particular, a configured medium 155 such as a portable (i.e., external) hard drive, CD, DVD, memory stick, or other removable non-volatile memory medium may become functionally a technological part of the computer system when inserted or otherwise installed, making its content accessible for interaction with and use by central processing unit within the hardware 115. The removable configured medium 155 is an example of a computer-readable storage medium 155. Some other examples of computer-readable storage media 155 include built-in RAM, ROM, hard disks, and other memory storage devices which are not readily removable by users. Neither a computer-readable medium, nor a computer-readable storage medium nor a computer-readable memory is a signal per se.
An exemplary embodiment of a generated bill of materials is shown with reference to
Name of a part 220, description of the part, the part number, and the quantity are shown in this exemplary embodiment under an “equipment” heading or a “sensor” heading. Other headings are also envisioned. In some embodiments (not shown), price may also be shown. Some parts themselves can comprise slots for other parts. For example, in some embodiments, a controller has some number of slots for modules that plug into the controllers. The device wires directly into a terminal on the module. The module then sends signals from the controller 107 to the device 130, and vice-versa. Some modules may have processors and memories of their own that allow them to modify the signal to and from the controller and/or to and from the device 130. To signify the module-controller relationship, the chosen controller (a “hive” controller 220) has an “In Use” column 215 which tells how many total modules have been accounted for within the current plan, as reflected in the parts list. In this example, the column says “1 of 8,” which indicates that one module of eight total modules possible to fit in the controller are being used. In this illustrative embodiment, a “motor” module has six wire attachment locations. The motor module description line says “2 of 6” in the “In Use” 215 column. This indicates that there is room for 6 wires to be attached to devices in the motor module, 2 of which will be used in the current installation.
The bill of materials may be divided into logical subgroups. For example, parts may be grouped by supplier, by part type, by cost, by availability, by distance from a location, and so on.
When the bill of material (BOM) is grouped by supplier, information about the supplier may be displayed 205. This information may include address, a map showing the location of the supplier 210, a picture of the location 230, email information, phone number, fax number, and so on.
The bill of materials may be displayed on a user interface 135 display device such as a computer screen, may be printed out, may be saved to a computer file, may be sent by email to the supplier, may be faxed, etc. The bill of materials display may be by system, subsystem, or by another grouping.
The bill of materials may be in a form that can be used to purchase the supplies from the supplier, such as an invoice. A method to send the bill of materials directly to the supplier or to an intermediary that will then contact the supplier may also be included. This may include sending the bill of materials by mail, by fax, by email, etc.
With reference to
At 305, a building plan is received into a computer system with a user interface, such as that shown with reference to
In some embodiments, at 310, a device instance is received. This device instance may be received by a user selecting it from a list of the predefined device types on the computer system interface, or the device instance may be input in a different way, such as being stored on a computer-readable medium, and read directly into the computer. A screenshot embodiment that shows predefined devices is shown in
The predefined device type definition may include wiring information. The device instance may be sent through an internet connection to the computer, etc. If the device type of the device instance has not been previously defined, the computer system may allow the new device type to be defined. Once the system knows about the device type, an instance of that device type may be received. A screenshot embodiment that shows user ability to define devices is shown in
In some embodiments, at 315, a location of the instance within the building plan is received. This location may be received along with the device instance or may be sent separately. In some embodiments, at 320, a controller instance is received of one of the controller types that are a part of the system. If the controller type has not been previously defined, the computer system may allow the new controller type to be defined. Once the system knows about the controller type, an instance of that controller type may be received.
In some embodiments, a controller instance is received 320. The controller instance may be the type of the controller 107 that the bill of materials may be generated on.
In some embodiments, at 325, the computer system creates a building diagram using, e.g., at least a portion of the building plan, the device instance, the location of the device instance, and the controller instance. This building diagram may be partially finished. This building diagram includes the locations of the device and the controller within the building.
In some embodiments, fill rate indicates how full each of the controllers should be, which may be listed in percentages, (0, 20, 40, . . . 100) as shown at 810, though other methods are envisioned, as well. A high fill rate saves money on controllers, but most likely raises installation costs, as, on average, the controllers will be further from the devices they will be wired to. When a low controller fill rate is chosen, such as 40%, the controllers may be closer to the devices they will control. There is also more room for future devices to be added to the controller, thus minimizing new controller installation costs.
These choices affect the number of controllers that will be needed to create the building diagram, and the location of the controller(s) within the building diagram.
In some embodiments, at 330, the computer system generates a wiring diagram that connects the controller instance to the device within the partially finished building diagram. At a minimum, the wiring diagram comprises the wire lengths, and/or the location of the wiring in the partially finished building diagram. Because the computer system 110 knows where the device(s) and the controller(s) are, and what the device wiring requirements are within the building, the computer can determine how to route the necessary wires in the building between the device and the controller, using methods well-known to those of skill in the art.
In some embodiments, wiring distances within the building are determined using, at least in part, a Manhattan distance algorithm formula, also called taxicab geometry. Manhattan distance is conceptually thought of as the distance between two points that a taxicab would travel in Manhattan, turning at 90° around the city blocks to get from point A to point B. With reference to
In some embodiments, at 335, the computer system generates a bill of materials comprising the device, wire lengths, and a wire cost. The bill of materials may also generate other parts that could be used to wire the physical building. A sample bill of materials can be seen with reference to
With reference to
With reference to
Installation labor costs 1130 may also be determined automatically, based on features of the building plan that may require extra work, the amount of work needed to install the device, and the amount of work needed to wire the device to the controller. This labor cost may comprise an installation scale factor 1135, in that there may be different prices for labor depending on how much labor is required. Installation may also use other materials 1140, which can be tracked and included on a parts list. Material prices may also have a materials scale 1145, such that the price depends on the amount of materials that are used. This may also be stored in memory, placed in the parts list, and/or included on the bill of materials. Different devices may have different suppliers. The parts list may also include a device supplier 1150 for each device with a separate supplier, one or more labor suppliers 1155, one or more wire suppliers 1160, and one or more materials suppliers 1165 for other material needed for installation.
The process of building the bill of materials may allow the user to make decisions about what parts will be chosen. If several suppliers can provide the same part (for example), a list with information about them (such as cost, location, and other information) may be included. A user may be able to choose the desired supplier. If several different sorts of parts may be used, a user may be able to specify which sort to choose, or choose several of one, and several of another. With reference to
With reference to
With reference to
With reference to
With reference to
In view of the many possible embodiments to which the principles of the disclosed invention may be applied, it should be recognized that the illustrated embodiments are only examples of the invention and should not be taken as limiting the scope of the invention. Rather, the scope of the invention is defined by the following claims. We therefore claim as our invention all that comes within the scope and spirit of these claims.