{
 "manufacturer": "Fulton",
 "manufacturer_slug": "fulton",
 "model": "PURE Control - VSRT Steam Boiler Single (N54 ProtoNode)",
 "short_model": "PURE VSRT Steam Single",
 "model_slug": "pure-vsrt-steam-single-protonode-n54",
 "aliases": [
  "VSRT",
  "Fulton VSRT",
  "Steam PURE",
  "Fulton PURE",
  "N54 ProtoNode"
 ],
 "equipment_type": "Steam boiler controller gateway",
 "applies_to": "Fulton VSRT steam boilers with the PURE control, one boiler per address block on the N54 ProtoNode.",
 "summary": "Fulton's N54 ProtoNode publishes 47 objects for each boiler (one block of objects per boiler), for VSRT steam boilers with the PURE control. It covers burner state, modulation, steam pressures, safety switch states and alarms. The BMS can enable the boiler, send a pressure setpoint and a heartbeat, and supply outdoor and header values when the boiler is set up for them.",
 "bacnet_transport": [],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Object IDs are written (X)001-(X)058, where (X) is the boiler's Modbus address on the ProtoNode. This list shows boiler address 1 (1001-1058); boiler 2 uses 2001-2058.",
  "The sheet does not say which BACnet transport the gateway is set to; ProtoNode gateways are normally configured for BACnet IP or BACnet MS/TP.",
  "The BMS Enable point only works after a physical jumper is removed at the boiler.",
  "Outdoor and header AVs marked Note 1 are writable only when the boiler program is set to take that value from the BMS.",
  "Current Alarm Index is decoded with Fulton's alarm chart and is only valid while Active Alarm = 1.",
  "Object (X)020 has the range \"0.0 to 200.0\" printed in its name column; the Provider sheet names the same ID Start Pressure. The name is kept as printed."
 ],
 "integration": {
  "summary": "Remove the BMS enable jumper at the boiler, write BMS Enable = 1, send the pressure setpoint to BMS Network Setpoint and keep writing 1 to BMS Heartbeat at least every 10 s. Check that Current Setpoint Mode reads BMS Network (3), then read status, outlet pressure, modulation rate and the alarm points.",
  "minimum_points": [
   {
    "ref": "BV 1057",
    "name": "Boiler 1 BMS Enable",
    "why": "Network enable; jumper must be removed first"
   },
   {
    "ref": "AV 1052",
    "name": "Boiler 1 BMS Network Setpoint",
    "why": "Steam pressure setpoint, 0-200 psi"
   },
   {
    "ref": "AV 1058",
    "name": "Boiler 1 BMS Heartbeat",
    "why": "Write 1 at least every 10 s for remote operation"
   },
   {
    "ref": "AI 1051",
    "name": "Boiler 1 Current Setpoint Mode",
    "why": "Setpoint source; 3 = BMS Network"
   },
   {
    "ref": "AI 1001",
    "name": "Boiler 1 LMV Status",
    "why": "Burner phase; 60 = modulating, 0 = lockout"
   },
   {
    "ref": "AI 1017",
    "name": "Boiler 1 Outlet Pressure",
    "why": "Outlet steam pressure, psi"
   },
   {
    "ref": "AI 1005",
    "name": "Boiler 1 Modulation Rate",
    "why": "Actual modulation rate, %"
   },
   {
    "ref": "AI 1044",
    "name": "Boiler 1 Active Alarm",
    "why": "Any alarm active (1 = alarm)"
   },
   {
    "ref": "AI 1043",
    "name": "Boiler 1 Current Alarm Index",
    "why": "Alarm number from Fulton's alarm chart"
   }
  ],
  "enable": "Remove the physical jumper at the boiler, then write BV (X)057 BMS Enable = 1. The setpoint comes from AV (X)052 BMS Network Setpoint (0-200 psi); AI (X)051 Current Setpoint Mode reads 3 when the network setpoint is in use.",
  "heartbeat": "AV (X)058 BMS Heartbeat: the BMS must write 1 at least once every 10 seconds for remote operation. What the boiler does when the heartbeat stops is not stated on this sheet.",
  "remote_sensors": "AV (X)025 outdoor air temperature (°F) and AV (X)026 common header supply pressure (psi) are writable only when the boiler program is set to take that value from the BMS.",
  "setup": [
   "Object ID = boiler Modbus address followed by the three-digit point number: (X)001-(X)058. Boiler 1 = 1001-1058, boiler 2 = 2001-2058.",
   "The sheet gives no device instance, MAC address or baud rate; those are set on the ProtoNode gateway."
  ],
  "gotchas": [
   "BMS Enable does nothing until the physical jumper is removed.",
   "Safety BIs mostly read 0 = Fault, 1 = No Fault; the low water BIs read 1 = Fault."
  ]
 },
 "source": {
  "title": "Steam PURE Per Boiler - Fulton N54 ProtoNode BACnet Network Addressing (VSRT)",
  "doc_number": null,
  "revision_date": "2021-08-02 (file date)",
  "url": "https://fulton.com/app/uploads/2021/08/N54-PURE-VSRT-Single-BACnet-list_2021-0802.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 1001,
   "name": "Boiler 1 LMV Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=LMV Safety Lockout, 2=LMV Safety Phase, 10=LMV Home Run, 12=LMV Standby, 22=Fan Motor, 24=Air Damper, 30=Prepurging, 36=Air Damper, 38=Preignition, 39=Testing Pressure Switch, 40=Fuel Valve, 42=Ignition, 44=Interval 1, 50=Safety Time 2, 52=Interval 2, 60=Modulating, 70=Afterburn Time, 72=Afterburn Time, 74=Postpurge Time, 78=Postpurge Time, 80=Evacuation of Test Space, 81=Atmospheric Pressure Test, 83=Gas Pressure Test, 90=Gas Shortage Waiting Time, 91=Limit String Open"
  },
  {
   "type": "AI",
   "instance": 1002,
   "name": "Boiler 1 Control Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Waiting, 1=Disabled, 2=Not Available, 3=Lead, 4=Lag 1, 5=Lag 2, 6=Lag 3, 7=Lag 4, 8=Lag 5, 9=Lag 6, 10=Lag 7, 11=Lag 8, 12=Lag 9, 14=Lag 1 (T), 15=Lag 2 (T), 16=Lag 3 (T), 17=Lag 4 (T), 18=Lag 5 (T), 19=Lag 6 (T), 20=Lag 7 (T), 21=Lag 8 (T), 22=Lag 9 (T), 23=Not Used, 24=Local, 25=Manual"
  },
  {
   "type": "AI",
   "instance": 1003,
   "name": "Boiler 1 Modulation Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Normal Rate, 1=Low Fire Hold, 2=Cold Start, 3=Freeze Protection, 4=Delta T Protection, 5=Outlet Soft Limit, 6=Venting Limitation"
  },
  {
   "type": "AI",
   "instance": 1004,
   "name": "Boiler 1 Modulation Target",
   "description": "Range 0.0 to 100.0",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1005,
   "name": "Boiler 1 Modulation Rate",
   "description": "Range 0.0 to 100.0",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1006,
   "name": "Boiler 1 Flame Signal",
   "description": "Range 0.0 to 100.0",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1007,
   "name": "Boiler 1 Air Actuator Position",
   "description": "Range -50.0 to 100.0",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1008,
   "name": "Boiler 1 Fuel Actuator Position",
   "description": "Range -50.0 to 100.0",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1009,
   "name": "Boiler 1 VFD Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Fault, 2=Auxiliary Input, 3=Power Loss, 4=Undervoltage, 5=Motor Overload, 8=Heatsink Over Temperature, 12=Hardware Overcurrent 300%, 13=Analog Input Loss, 14=Auto Restart Tried, 38=Phase U to Ground Short, 39=Phase V to Ground Short, 40=Phase W to Ground Short, 41=Phase U / V Short, 42=Phase U / W Short, 63=Software Overcurrent, 70=Power Unit Failure, 80=Autotune Failure, 122=I/O Board Failure"
  },
  {
   "type": "AI",
   "instance": 1010,
   "name": "Boiler 1 O2 Sensor Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Normal Operation, 1=E1: Internal Communication Error, 2=E2: Internal Register Error, 3=E3: Short to Power, 4=E4: Short to Ground, 5=E5: Short to Power, 6=E6: Short to Ground, 7=E7: Short to Power, 8=E8: Short to Ground, 9=E9: Operating Voltage Too Low, 10=E10: Check Sensor Connection, 11=E11: Heater Circuit Short, 12=E12: Heater Circuit Short"
  },
  {
   "type": "AI",
   "instance": 1011,
   "name": "Boiler 1 VFD Command",
   "description": "Range 0.0 to 95.0",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1012,
   "name": "Boiler 1 VFD Feedback",
   "description": "Range 0.0 to 95.0",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1013,
   "name": "Boiler 1 Fan Calculated RPM",
   "description": "Range 0.0 to 5500.0",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1014,
   "name": "Boiler 1 VFD Output Current",
   "description": "Range 0.00 to 15.00",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1015,
   "name": "Boiler 1 VFD Output Voltage",
   "description": "Range 0.0 to 461.0",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1016,
   "name": "Boiler 1 Current O2%",
   "description": "Range 000 to 21.00",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1017,
   "name": "Boiler 1 Outlet Pressure",
   "description": "Range 0.0 to 200.0",
   "units": "psi",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1020,
   "name": "0.0 to 200.0",
   "description": "Range 0.0 to 200.0; start pressure per the Provider sheet",
   "units": "psi",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1021,
   "name": "Boiler 1 Stop Pressure",
   "description": "Range 0.0 to 200.0",
   "units": "psi",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1022,
   "name": "Boiler 1 Stack Temperature",
   "description": "Range -50.0 to 250.0",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1023,
   "name": "Boiler 1 Combustion Air Temperature",
   "description": "Range -50.0 to 250.0",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1024,
   "name": "Boiler 1 Current Setpoint",
   "description": "Range 0.0 to 200.0",
   "units": "psi",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1025,
   "name": "Boiler 1 Outdoor Air Temperature",
   "description": "Range 0.0 to 200.0; writable when BMS-sourced",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1026,
   "name": "Boiler 1 Common Header Supply Pressure",
   "description": "Range 0.0 to 200.0; writable when BMS-sourced",
   "units": "psi",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1030,
   "name": "Boiler 1 Call For Heat",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Call, 1=Call For Heat"
  },
  {
   "type": "BI",
   "instance": 1031,
   "name": "Boiler 1 On/Off Switch",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 1032,
   "name": "Boiler 1 Primary Low Water",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Fault, 1=Fault"
  },
  {
   "type": "BI",
   "instance": 1033,
   "name": "Boiler 1 High Pressure Limit",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Fault, 1=No Fault"
  },
  {
   "type": "BI",
   "instance": 1034,
   "name": "Boiler 1 Operating Pressure Limit",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Fault, 1=No Fault"
  },
  {
   "type": "BI",
   "instance": 1035,
   "name": "Boiler 1 Low Gas Pressure",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Fault, 1=No Fault"
  },
  {
   "type": "BI",
   "instance": 1036,
   "name": "Boiler 1 Blocked Flue",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Fault, 1=No Fault"
  },
  {
   "type": "BI",
   "instance": 1037,
   "name": "Boiler 1 Customer Interlock 1",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Fault, 1=No Fault"
  },
  {
   "type": "BI",
   "instance": 1038,
   "name": "Boiler 1 Customer Interlock 2",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Fault, 1=No Fault"
  },
  {
   "type": "BI",
   "instance": 1039,
   "name": "Boiler 1 Secondary Low Water",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Fault, 1=Fault"
  },
  {
   "type": "AI",
   "instance": 1040,
   "name": "Boiler 1 Run Hours",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1041,
   "name": "Boiler 1 Cycles",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1042,
   "name": "Boiler 1 Powered Hours",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1043,
   "name": "Boiler 1 Current Alarm Index",
   "description": "See Fulton alarm chart",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1044,
   "name": "Boiler 1 Active Alarm",
   "description": "See Fulton alarm chart",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "AI",
   "instance": 1051,
   "name": "Boiler 1 Current Setpoint Mode",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Outdoor Reset Curve, 1=BMS Analog 4-20mA, 2=BMS Analog 0-10VDC, 3=BMS Network, 4=Manual"
  },
  {
   "type": "AV",
   "instance": 1052,
   "name": "Boiler 1 BMS Network Setpoint",
   "description": "Range 0.0 to 200.0",
   "units": "psi",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1053,
   "name": "Boiler 1 Maximum Setpoint",
   "description": "Range 0.0 to 200.0",
   "units": "psi",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1054,
   "name": "Boiler 1 Minimum Setpoint",
   "description": "Range 0.0 to 200.0",
   "units": "psi",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1055,
   "name": "Boiler 1 Outdoor Air Cutoff",
   "description": "Range 40.0 to 185.0",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1056,
   "name": "Boiler 1 Outdoor Air Cutoff Reset",
   "description": "Range 40.0 to 185.0",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1057,
   "name": "Boiler 1 BMS Enable",
   "description": "Needs the enable jumper removed",
   "units": "",
   "access": "W",
   "states": "0=Not Enabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 1058,
   "name": "Boiler 1 BMS Heartbeat",
   "description": "Write 1 at least every 10 s for remote operation",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/fulton/pure-vsrt-steam-single-protonode-n54",
 "note": "Provided as-is. Point availability varies by firmware and options; verify against the live device.",
 "disclaimer": "DISCLAIMER: reference only, provided AS IS with no warranty. May contain errors or be out of date. You must verify every point against the manufacturer's current documentation and the live device before use. easybacnet.com accepts no liability for its use and is not affiliated with the manufacturer. Terms: https://easybacnet.com/terms#content"
}
