A BMS points list is the register of every input and output the building control system reads or commands. Each point is typed as AI, AO, BI or BO, mapped to its BACnet object, and tied to the equipment it serves and the controller it lands on.
To create one, you gather the per-equipment control schematics, the points tables, and the sequence-of-operation narratives for a building, then resolve them into one coherent register the DDC integrator can build against. The work is not drawing a diagram. It is typing each point correctly, mapping it to the right BACnet object, preserving the equipment-relative tag, assigning it to a controller and trunk, and keeping hardwired life-safety trips separate from ordinary network points.
This is a working method, not a marketing piece. If your input is a pile of air-handler, chiller-plant and VAV control sheets and your output has to be one clean points register, this is the sequence that gets you there.
Key takeaways
- A BMS points list types every point as AI, AO, BI or BO and maps it to a BACnet object type with an instance number, engineering units, and often a change-of-value threshold.
- Tagging is equipment-relative. A sensor is named by the unit it serves, not by an ISA loop number, and that equipment prefix is the key that holds the register together.
- The sequence of operation drives which points must exist. ASHRAE Guideline 36 sequences each imply a specific set of sensed and commanded points.
- Network topology belongs on the list. Each device lands on an MS/TP RS-485 trunk or on BACnet/IP, under a named controller. A list without the trunk assignment is incomplete.
- Hardwired life-safety interlocks stay separate from network points, and packaged equipment enters as mapped integration objects with the protocol noted per point.
What the deliverable actually contains
A BMS points list sits in the same family as any I/O list, but it carries protocol detail a process list never would. Every row answers a fixed set of questions: what is sensed or commanded, what signal class it is, which BACnet object represents it, what units it reads in, what equipment it belongs to, and where it terminates on the network.
The signal classes are the building-automation cousin of the process AI/AO/DI/DO you already know. If the process convention is unfamiliar, the AI/AO/DI/DO reference covers the parent idea. In building automation the four types map straight onto BACnet objects.
| Point type | What it carries | Example tag | BACnet object |
|---|---|---|---|
| AI, analog input | A sensed continuous value | TT-AHU-201 supply air temperature | Analog Input |
| AO, analog output | A modulating command | DMP-OA-201 outside-air damper signal | Analog Output |
| BI, binary input | A status or alarm contact | fan proof of a supply fan | Binary Input |
| BO, binary output | An on-off command | supply fan start on AHU-201 | Binary Output |
Each object gets an instance number, engineering units where it applies, and frequently a change-of-value threshold that governs how often the controller reports a new value on the network. That protocol metadata is why the list is expressed in BACnet object types rather than plain signal classes. The BACnet reference covers the object model in more depth.
A points list is not the diagram. It is the register the diagram implies, and the whole job is making every row survive the trip from control sheet to controller intact.
Step 1. Assemble the source set
The input is rarely a single classic P&ID. It arrives as a set of mechanical control schematics, one per air handler, chiller plant, boiler plant, pump set, cooling tower or VAV riser, usually paired with a points table and a written sequence narrative. These come from the controls contractor or the MEP consultant, often as vendor-formatted sheets that mix ISA-style bubbles with equipment-relative sensor callouts and no loop numbers at all.
Sort the set by equipment before anything else. Every point you eventually list belongs to exactly one piece of equipment, so the equipment list is the spine the register hangs on. Build it first: AHUs, chillers, boilers, pumps, cooling towers, and every VAV terminal.
Step 2. Type each point and map it to a BACnet object
Walk each schematic and its points table and assign the signal class per point. A supply-air temperature sensor is an AI. A modulating valve or damper command is an AO. A status contact, a differential-pressure switch, or a freezestat contact reporting to the controller is a BI. A fan start, a pump enable, or a two-position valve command is a BO.
Then attach the BACnet object type and an instance number. Keep units explicit, degrees for temperature, percent for a modulating command, inches of water column or pascals for pressure. Where the sequence calls for reporting on change rather than on a poll, record the change-of-value threshold so the integrator does not have to reverse-engineer it later.
Modulating versus two-position control elements
Control elements are dampers and two- or three-way valves, and the actuator type changes the point. A modulating actuator driven by 0 to 10 V or 4 to 20 mA is an AO. A two-position, spring-return actuator is a BO. The normally-open versus normally-closed fail state is a safety-relevant attribute, so it belongs in the valve and damper schedule beside the point, not in a separate note. A hot-water reheat valve such as CV-HW-VAV-114 reads as a modulating AO with a defined fail position; an outside-air damper such as DMP-OA-201 is an economizer element whose fail position matters for freeze protection.
Step 3. Preserve the equipment-relative tag
Tagging here is equipment-relative, not plant-relative. A sensor is named by the unit it serves, so a supply-air temperature transmitter on air handler 201 stays associated with AHU-201 rather than being forced into a hyphenated ISA loop number it never had. Many controls sheets carry no loop numbering at all, so the equipment prefix is the only stable key you have.
The tags below are synthetic, but they show the pattern. The prefix binds each point to its unit, and points that share a unit share the prefix.
| Tag | Meaning |
|---|---|
TT-AHU-201 | Supply-air temperature transmitter on air handler 201 |
RH-AHU-201 | Relative humidity sensor on the same air handler |
DPT-FLT-201 | Differential pressure across the filter bank of unit 201 |
CHW-DPT-01 | Chilled-water differential pressure at the plant, used for pump speed control |
CO2-ZN-330 | Zone carbon dioxide sensor in space 330, feeding demand-controlled ventilation |
Hold the prefix intact all the way to the exported register. The moment a point loses its equipment association, the list stops sorting cleanly by unit and the integrator has to rebuild the relationship by hand.
Step 4. Let the sequence of operation drive the point count
The written sequence is not commentary. It dictates which points must exist. An ASHRAE Guideline 36 air-handler sequence with economizer high-limit lockout, supply-air-temperature reset, and trim-and-respond static-pressure reset each imply a specific set of sensed and commanded points. If the sequence resets duct static pressure, there is a static-pressure sensor and a fan-speed command to account for. If it runs an economizer, there is an outside-air temperature or enthalpy input and a mixed-air damper command.
Read the sequence against the schematic and reconcile the two. A point named in the sequence but missing from the schematic is a gap to resolve before the list ships. ASHRAE Standard 90.1 mandates several of these controls, such as air-side economizers and supply-air reset, and ASHRAE Standard 62.1 drives the outdoor-air and CO2 sensing behind demand-controlled ventilation, so the required points are traceable to a named standard rather than to preference.
Step 5. Assign each point to a controller and a network trunk
Network topology is on the drawing, and it belongs on the list. Devices sit on an MS/TP RS-485 field trunk or on BACnet/IP, and the sheet shows which controller and trunk each device lands on. Capture that assignment per point. A points list without the trunk assignment is incomplete for the integrator, who needs the controller and network layout to size panels and lay out wiring.
This is also where the DDC controller and panel schedule takes shape: point count per controller, and the trunk each controller serves. VAV terminal boxes repeat one point pattern across dozens or hundreds of zones, damper command, zone temperature, reheat valve, and airflow, so the value is in extracting the repeated per-zone schedule cleanly and assigning each zone controller to its trunk, not in one hero diagram.
Step 6. Keep hardwired life-safety interlocks separate
Life-safety interlocks are frequently hardwired outside the DDC. Low-limit freezestats, duct smoke detectors, high-static cutouts and firestats are shown as hardwired trips, sometimes on a separate sheet from the DDC point list. A freezestat such as FS-AHU-201 is typically a hardwired interlock, not an ordinary DDC point, even when its contact is also monitored by the controller.
Capture these as interlocks rather than folding them into the AI and BI counts. NFPA 90A governs duct smoke detection and smoke-damper interlocks, and keeping the life-safety function distinct means it stays traceable to its hardwired path and is not lost inside the network point total.
A hardwired freezestat is a life-safety trip, not a data point. Fold it into the AI count and it disappears exactly where it most needs to stay visible.
Step 7. Fold in packaged-equipment integration points
Packaged equipment integrates over a gateway. Chillers, boilers, VFDs and packaged rooftop units arrive as vendor equipment exposed through a BACnet or Modbus RTU/TCP integration points list. Those mapped objects go on the register alongside the hardwired field I/O, with the protocol noted per point. The result mixes physical wiring with vendor objects reached through a gateway, and the integrator needs to know which is which to address them correctly.
Common mistakes
- Dropping the equipment prefix. Once a point loses its unit association, the register no longer sorts by equipment and the relationship has to be rebuilt by hand.
- Typing a modulating element as binary. A 0 to 10 V damper is an AO, not a BO. Getting the signal class wrong misizes the controller point count.
- Omitting the trunk assignment. A list without the controller and network trunk per point is not buildable as delivered.
- Burying life-safety trips in the AI or BI count. Hardwired freezestats and smoke detectors belong in the interlock schedule, distinct from network points.
- Treating a packaged unit as hardwired I/O. A chiller on a gateway is a set of mapped objects, and the protocol has to be noted so the integrator addresses it through the gateway rather than wiring it point by point.
Where this sits in the cluster
For the wider picture of turning HVAC control sheets into registers, see the building automation hub, the BACnet object model reference, and the Dutch regeltechniek puntlijst page for NEN and ISSO tagging conventions. Once the register is typed, mapped, tagged, trunk-assigned, and split cleanly between network points and hardwired interlocks, the DDC integrator has a points list they can build against without re-typing a single row.
