{
 "manufacturer": "Siemens",
 "manufacturer_slug": "siemens",
 "model": "BACnet PTEC Constant Volume Controller - Application 6662 (Constant Volume with Electric Heat)",
 "model_slug": "ptec-6662-constant-volume-electric-heat",
 "short_model": "PTEC Constant Volume Electric Heat 6662",
 "aliases": [
  "PTEC 6662",
  "Application 6662",
  "App 6662",
  "550-498PA",
  "Siemens constant volume electric reheat"
 ],
 "equipment_type": "Constant volume terminal unit controller",
 "applies_to": "Constant volume terminal boxes with up to three stages of electric reheat on the Siemens BACnet PTEC constant volume controller 550-498PA.",
 "summary": "Application 6662 runs a constant volume terminal box with up to three stages of electric heat on a Siemens BACnet PTEC controller over BACnet MS/TP. The flow loop holds OCC FLOW when occupied and UNOCC FLOW when unoccupied, and the heating loop runs the heat stages to hold room temperature. There is no automatic heat/cool switchover; PPCL or the field panel commands HEAT.COOL to pick the seasonal setpoints.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "Newer than revision Bx40",
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "AI and BI objects are read-only. AO and BO objects are BACnet output objects with a priority array; the guide has no access column, so access is inferred from object type. Many AOs are calculated status values, not commands.",
  "Instances shown in braces in the guide may be unbundled at a field panel; that marking is not reproduced here.",
  "Units are given in US units (°F, cfm, ft²); the guide also lists SI factory defaults.",
  "The guide covers controllers with firmware newer than revision Bx40; older firmware has separate documentation.",
  "The point database names the occupancy points OCC.UNOCC, OCC/UOC CLG/HTG STPT and UNOCC OVRD; parts of the guide text still call them DAY.NGT, DAY/NGT setpoints and NGT OVRD.",
  "FAIL MODE (BO 40) sets whether the damper opens or closes if the air velocity sensor fails; the guide text calls CLOSED the default, but the point table lists OPEN.",
  "Heat stages are on DO 3-DO 5 (BO 43-45); STAGE COUNT (AO 88) sets how many are used and unused ones are spare."
 ],
 "source": {
  "title": "BACnet PTEC Controller Constant Volume with Electric Reheat, Application 6662, Application Note",
  "doc_number": "140-1108",
  "revision_date": "2014-10-27",
  "url": "https://sid.siemens.com/api/khub/documents/PST6TEXgJdFgmH99XSL08Q/content"
 },
 "integration": {
  "summary": "Address the controller on the BACnet MS/TP trunk (manually or with auto addressing), then release the box to application control. The BMS commands occupancy with OCC.UNOCC (BO 29), sets heat/cool mode with HEAT.COOL (BO 5) for the season, writes the occupied setpoints, and reads room temperature, airflow, heat stage status and the error status.",
  "minimum_points": [
   {
    "ref": "BO 29",
    "name": "OCC.UNOCC",
    "why": "OCC = occupied, UNOCC = unoccupied"
   },
   {
    "ref": "BO 5",
    "name": "HEAT.COOL",
    "why": "Seasonal HEAT/COOL; no automatic switchover"
   },
   {
    "ref": "AO 6",
    "name": "OCC CLG STPT",
    "why": "Occupied cooling setpoint, °F"
   },
   {
    "ref": "AO 7",
    "name": "OCC HTG STPT",
    "why": "Occupied heating setpoint, °F"
   },
   {
    "ref": "AI 4",
    "name": "ROOM TEMP",
    "why": "Space temperature"
   },
   {
    "ref": "AI 35",
    "name": "AIR VOLUME",
    "why": "Measured box airflow, cfm"
   },
   {
    "ref": "BO 43",
    "name": "HEAT STAGE 1",
    "why": "Electric heat stage 1 on/off"
   },
   {
    "ref": "AO 99",
    "name": "ERROR STATUS",
    "why": "Controller error code"
   }
  ],
  "enable": "Occupancy is OCC.UNOCC (BO 29). With a wall switch on DI 2 and WALL SWITCH (BO 18) = YES, the switch sets it; standalone with no switch the controller stays occupied; on a network the field panel or BMS commands OCC.UNOCC. UNOCC OVRD (BO 21) shows a temporary occupied override from the room unit button.",
  "heartbeat": null,
  "remote_sensors": "PPCL or the field panel must command HEAT.COOL (BO 5) for seasonal switchover; the electric heat holds room temperature at the active setpoint in either mode.",
  "setup": [
   "BACnet MS/TP only. CTLR ADDRESS (AO 1) holds the MS/TP address; the factory value is 255.",
   "APPLICATION (AO 2) holds the application number; the point table lists its factory default as 6694."
  ],
  "gotchas": [
   "As shipped, the controller keeps all equipment OFF until it is released to application control (see Siemens start-up procedures).",
   "With a digital room unit (revision 26 and later), a command sent through the room unit puts the matching BACnet input Out Of Service.",
   "Loop gains, motor timing, rotation angles and setup codes are commissioning values; don't write them from the BMS routinely.",
   "Electric heat runs only while FLOW is above EHEAT FLOW (AO 60); don't set EHEAT FLOW below 5 % or the airflow interlock is disabled.",
   "UNOCC FLOW (AO 31) may be set equal to or below OCC FLOW (AO 32), never above it."
  ]
 },
 "points": [
  {
   "type": "AO",
   "instance": 1,
   "name": "CTLR ADDRESS",
   "description": "Controller MS/TP address",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 2,
   "name": "APPLICATION",
   "description": "Application number running in the controller",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "ROOM TEMP",
   "description": "Room temperature from the room unit",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 5,
   "name": "HEAT.COOL",
   "description": "Current heating/cooling mode",
   "units": "",
   "access": "C",
   "states": "0=COOL, 1=HEAT"
  },
  {
   "type": "AO",
   "instance": 6,
   "name": "OCC CLG STPT",
   "description": "Occupied cooling setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 7,
   "name": "OCC HTG STPT",
   "description": "Occupied heating setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 8,
   "name": "UOC CLG STPT",
   "description": "Unoccupied cooling setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 9,
   "name": "UOC HTG STPT",
   "description": "Unoccupied heating setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 11,
   "name": "RM STPT MIN",
   "description": "Lowest setpoint allowed from the room unit",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 12,
   "name": "RM STPT MAX",
   "description": "Highest setpoint allowed from the room unit",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "RM STPT DIAL",
   "description": "Setpoint from the room unit dial or keypad",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 14,
   "name": "STPT DIAL",
   "description": "Use the room unit setpoint dial",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "AUX TEMP AI5",
   "description": "Auxiliary temperature input on AI 5",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 18,
   "name": "WALL SWITCH",
   "description": "Wall switch connected to DI 2",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "BI",
   "instance": 19,
   "name": "DI OVRD SW",
   "description": "Room unit night override button",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "AO",
   "instance": 20,
   "name": "OVRD TIME",
   "description": "Night override duration",
   "units": "h",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 21,
   "name": "UNOCC OVRD",
   "description": "Unoccupied override status (room unit button)",
   "units": "",
   "access": "C",
   "states": "0=OCC, 1=UNOCC"
  },
  {
   "type": "BI",
   "instance": 24,
   "name": "DI 2",
   "description": "Digital input 2",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BI",
   "instance": 25,
   "name": "DI 3",
   "description": "Digital input 3",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 29,
   "name": "OCC.UNOCC",
   "description": "Occupied/unoccupied mode",
   "units": "",
   "access": "C",
   "states": "0=OCC, 1=UNOCC"
  },
  {
   "type": "AO",
   "instance": 31,
   "name": "UNOCC FLOW",
   "description": "Constant airflow setpoint, unoccupied",
   "units": "cfm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 32,
   "name": "OCC FLOW",
   "description": "Constant airflow setpoint, occupied",
   "units": "cfm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 35,
   "name": "AIR VOLUME",
   "description": "Measured airflow",
   "units": "cfm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 36,
   "name": "FLOW COEFF",
   "description": "Airflow pickup correction coefficient",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 40,
   "name": "FAIL MODE",
   "description": "Damper position if the air velocity sensor fails",
   "units": "",
   "access": "C",
   "states": "0=OPEN, 1=CLOSED"
  },
  {
   "type": "BO",
   "instance": 41,
   "name": "DO 1",
   "description": "Digital output 1",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 42,
   "name": "DO 2",
   "description": "Digital output 2",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 43,
   "name": "HEAT STAGE 1",
   "description": "Electric heat stage 1 output",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 44,
   "name": "HEAT STAGE 2",
   "description": "Electric heat stage 2 output",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 45,
   "name": "HEAT STAGE 3",
   "description": "Electric heat stage 3 output",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 46,
   "name": "DO 6",
   "description": "Digital output 6",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 47,
   "name": "DO 7",
   "description": "Digital output 7",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "AO",
   "instance": 48,
   "name": "DMPR COMD",
   "description": "Damper position command",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 49,
   "name": "DMPR POS",
   "description": "Damper position (calculated)",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 50,
   "name": "DO 8",
   "description": "Digital output 8",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "AO",
   "instance": 51,
   "name": "MTR1 TIMING",
   "description": "Motor 1 full-stroke time",
   "units": "s",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 56,
   "name": "DPR1 ROT ANG",
   "description": "Damper 1 rotation angle",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 58,
   "name": "MTR SETUP",
   "description": "Motor enable/reverse setup (additive code)",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 59,
   "name": "DO DIR. REV",
   "description": "Digital output direction reverse (additive code)",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 60,
   "name": "EHEAT FLOW",
   "description": "Airflow % needed before electric heat may run",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 67,
   "name": "HTG P GAIN",
   "description": "Heating loop proportional gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 68,
   "name": "HTG I GAIN",
   "description": "Heating loop integral gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 69,
   "name": "HTG D GAIN",
   "description": "Heating loop derivative gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 70,
   "name": "HTG BIAS",
   "description": "Heating loop bias",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 71,
   "name": "FLOW P GAIN",
   "description": "Flow loop proportional gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 72,
   "name": "FLOW I GAIN",
   "description": "Flow loop integral gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 73,
   "name": "FLOW D GAIN",
   "description": "Flow loop derivative gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 74,
   "name": "FLOW BIAS",
   "description": "Flow loop bias",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 75,
   "name": "FLOW",
   "description": "Airflow as percent of maximum",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 78,
   "name": "CTL TEMP",
   "description": "Temperature the controller is controlling to",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 80,
   "name": "HTG LOOPOUT",
   "description": "Heating loop output",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 81,
   "name": "AVG HEAT OUT",
   "description": "Average auxiliary heat output",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 82,
   "name": "STAGE MAX",
   "description": "Staged heat maximum, percent",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 83,
   "name": "STAGE MIN",
   "description": "Staged heat minimum, percent",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 87,
   "name": "CAL MODULE",
   "description": "Calibration module installed",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "AO",
   "instance": 88,
   "name": "STAGE COUNT",
   "description": "Number of electric heat stages",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 89,
   "name": "STAGE TIME",
   "description": "Electric heat cycle time",
   "units": "min",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 91,
   "name": "TOTAL VOLUME",
   "description": "Total air volume",
   "units": "ft³",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 92,
   "name": "CTL STPT",
   "description": "Active control setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 93,
   "name": "FLOW STPT",
   "description": "Airflow setpoint, percent",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 94,
   "name": "CAL AIR",
   "description": "Start air velocity sensor calibration",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "AO",
   "instance": 95,
   "name": "CAL SETUP",
   "description": "Calibration setup code",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 96,
   "name": "CAL TIMER",
   "description": "Hours between automatic calibrations",
   "units": "h",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 97,
   "name": "DUCT AREA",
   "description": "Inlet duct area for airflow calculation",
   "units": "ft²",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 98,
   "name": "LOOP TIME",
   "description": "Control loop interval",
   "units": "s",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 99,
   "name": "ERROR STATUS",
   "description": "Controller error status code",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 102,
   "name": "AOV 1",
   "description": "Analog output 1 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 103,
   "name": "AOV 2",
   "description": "Analog output 2 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 104,
   "name": "AOV 3",
   "description": "Analog output 3 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 105,
   "name": "AI 3",
   "description": "Spare analog input 3",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 106,
   "name": "AI 4",
   "description": "Spare analog input 4",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 107,
   "name": "RMTMP OFFSET",
   "description": "Room temperature calibration offset",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 108,
   "name": "DI 4",
   "description": "Digital input 4",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BI",
   "instance": 109,
   "name": "DI 5",
   "description": "Digital input 5",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BI",
   "instance": 110,
   "name": "DI 6",
   "description": "Digital input 6",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "AO",
   "instance": 111,
   "name": "STPT SPAN",
   "description": "Room unit setpoint adjustment span",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 121,
   "name": "DEW POINT",
   "description": "Room dew point",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 124,
   "name": "SENSOR SEL",
   "description": "Room unit / sensor select code (additive)",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 125,
   "name": "RM CO2",
   "description": "Room CO2",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 126,
   "name": "RM RH",
   "description": "Room relative humidity",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 127,
   "name": "PPCL STATE",
   "description": "PPCL program loaded or empty",
   "units": "",
   "access": "C",
   "states": "0=EMPTY, 1=LOADED"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/siemens/ptec-6662-constant-volume-electric-heat",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
