-
Notifications
You must be signed in to change notification settings - Fork 1
Model Overview
Let's start with a picture:

This is the basic structure of a System, which contains most of the scope you would be creating for a bid. In the diagram above you will see that a System contains an Equipment, Controller, Panel, and Miscellaneous Cost. A real system would have a list of each of these items (for example 2 Equipment, 3 Controllers, 2 Panels, and 4 Miscellaneous Costs).
A System is meant to encapsulate the control scope for a physical system as described in the sequence of operations. Let's say our sequence details a hot water system complete with control of boilers, pumps, and expansion tanks. The sequence also calls for hot water system points to be brought back to the BMS. We might do the following:
- Create a System object to contain all the parts of the hot water system
- Add an Equipment object for each of the pumps in the hot water system
- Add a Point object for start/stop/status to the pump Equipment object
- Add a Device object for a current sensing relay to the start/stop/status Point object
- Add an IO object for start to the start/stop/status Point object
- Add an IO object for stop to the start/stop/status Point object
- Add an IO object for status to the start/stop/status Point object
- Add a Point object for start/stop/status to the pump Equipment object
- Add an Equipment object for each of the boilers in the hot water system
- Add Point objects with devices and IO (such as above) for the boiler Equipment objects
- Add an Equipment object for each of the expansion tanks in the hot water system
- Add Point objects with devices and IO (such as above) for the expansion tank Equipment objects
- Add an Equipment object for hot water system points (we'll get back to this)
- Add Point objects for each of the hot water system points the sequence calls for
- Add Device Objects to their respective Point objects
- Add IO objects to their respective Point objects
- Add Point objects for each of the hot water system points the sequence calls for
- Add a Controller object, which will be responsible for picking up the points, to the hot water system
- Add a Panel object to the hot water system
- Add a Miscellaneous Cost object for any wiring or other lump costs associated with the system
- Add an Equipment object for each of the pumps in the hot water system
Hopefully you can see how this process could be applied to a chilled water system, condenser water system, or any other system which would appear in a sequence of operations.
Let's look at how a hot water system might be represented in an excel spreadsheet:

This hot water system spreadsheet easily translates to a System object.
- In this case, the "Panel Name" column categorizes our hot water system with "lcp-hw". Every line who's "Panel Name" is "lcp-hw" belongs in our system.
- The equipment in that system are defined by the "system" column. So every line whose "system" is "b-1" belongs in the same Equipment object, every line whose "system" is "hwp-1" belongs in the same Equipment object, etc.
- Every line of the spreadsheet is its own Point object, contained in its respective Equipment and System as described above
- In each line, the "Control Device" column would be a Device object
- In each line, the "AI", "AO", "BI", "BO", and "Serial Points" columns would each be an IO objects
An Excel workbook might also contain a separate sheet for DDC controls, panel hardware, and miscellaneous wiring for our system. All of those pieces of information now reside in the System object to which they belong, instead of in their own silos.

All wiring takes the form of a Connection object. Connections exist between a Controller and a Point, as shown in the diagram above. Connections have information about the material and distance associated with a physical electrical connection.
Let's go back to the hot water system. We need to pick up start, stop, and status for a pump through a current sensing relay. We made our start/stop/status Point object and added it to the pump Equipment Object in the hot water system. We've already added a Controller object to the hot water system. Now we need to define a Connection between the Controller and the start/stop/status point. We would:
- Make a new Connection object between our Controller and Point objects
- Add the length of the wire run (likely between the LCP and the field device)
- Add the length of the conduit run (could be the same as the wire run, or perhaps a stub-up)
- Assign the kind of conduit (EMT, Rigid, etc.)
You'll notice that we did not define the kind of wire we would be using. This is automatically determined by the accepted terminations of the Device object, and therefore cannot be manually set.
The other type of Connection object that might exist is a network connection. In this case, you define the wire type, protocol, and length first before adding objects. A network connection will start from a Controller object just like before, but the connection can be made to other Controller objects, Points whose IO contains network protocols, and can also have multiple objects in one connection in a daisy chain.