{
 "manufacturer": "Siemens",
 "manufacturer_slug": "siemens",
 "model": "BACnet PTEC Unit Vent Controller - Application 6679 (Heating and Cooling, Nesbitt Cycle W)",
 "model_slug": "ptec-6679-unit-ventilator-cycle-w",
 "short_model": "PTEC Unit Ventilator 6679",
 "aliases": [
  "PTEC 6679",
  "Application 6679",
  "App 6679",
  "550-493PA",
  "Siemens unit ventilator",
  "Nesbitt Cycle W"
 ],
 "equipment_type": "Unit ventilator (terminal unit) controller",
 "applies_to": "Classroom unit ventilators with a hot water or steam heating coil, optional chilled water or DX cooling and an outdoor air damper, run to Nesbitt Cycle W on the Siemens BACnet PTEC unit vent controller 550-493PA.",
 "summary": "Application 6679 controls a unit ventilator to the Nesbitt Cycle W sequence on a Siemens BACnet PTEC controller over BACnet MS/TP. It modulates the heating coil valve, an optional chilled water valve or DX stage, and the outdoor air damper with a discharge air low limit; it also handles morning warm-up and cool-down, night override and free cooling. Heating-only units are run by holding HEAT.COOL at HEAT.",
 "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, Btu/lb); the guide also lists SI factory defaults.",
  "The guide covers controllers with firmware newer than revision Bx40; older firmware has separate documentation.",
  "LOW TEMP DET (BI 26) state texts are printed as Active = OFF and Inactive = ON; they are kept as printed.",
  "If the room sensor fails or the LTDT trips, the unit closes the outdoor air damper, drives heating full on, cooling off and stops the fan."
 ],
 "source": {
  "title": "BACnet PTEC Controller Unit Vent - Heating and Cooling, Nesbitt Cycle W, Application 6679, Application Note",
  "doc_number": "140-1184",
  "revision_date": "2018-01-23",
  "url": "https://sid.siemens.com/api/khub/documents/0NkzXUXj3oVvMx1ClkA9JQ/content"
 },
 "integration": {
  "summary": "Address the controller on the BACnet MS/TP trunk (manually or with auto addressing), then release the unit to application control. The BMS commands occupancy with DAY.NGT (BO 29) and the day setpoints, turns free cooling on and off with FREE CLG (BO 23), and reads room temperature, fan status, outdoor air damper position, the low temperature detector and the error status.",
  "minimum_points": [
   {
    "ref": "BO 29",
    "name": "DAY.NGT",
    "why": "DAY = occupied, NIGHT = unoccupied"
   },
   {
    "ref": "BO 23",
    "name": "FREE CLG",
    "why": "Free cooling / economizer enable"
   },
   {
    "ref": "AO 6",
    "name": "DAY CLG STPT",
    "why": "Occupied cooling setpoint, °F"
   },
   {
    "ref": "AO 7",
    "name": "DAY HTG STPT",
    "why": "Occupied heating setpoint, °F"
   },
   {
    "ref": "BO 5",
    "name": "HEAT.COOL",
    "why": "Current mode: HEAT or COOL"
   },
   {
    "ref": "BO 50",
    "name": "FAN",
    "why": "Fan on/off"
   },
   {
    "ref": "AI 4",
    "name": "ROOM TEMP",
    "why": "Space temperature"
   },
   {
    "ref": "AO 62",
    "name": "OA DMPR POS",
    "why": "Outdoor air damper position, %"
   },
   {
    "ref": "BI 26",
    "name": "LOW TEMP DET",
    "why": "Low temperature detector; ON = tripped"
   },
   {
    "ref": "AO 99",
    "name": "ERROR STATUS",
    "why": "Controller error code"
   }
  ],
  "enable": "Occupancy is DAY.NGT (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 in day mode; on a network the field panel or BMS commands DAY.NGT. NGT OVRD (BO 21) shows a temporary night override from the room unit button.",
  "heartbeat": null,
  "remote_sensors": "The field panel (or PPCL) turns the free cooling/economizer function on and off by writing FREE CLG (BO 23).",
  "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 6695."
  ],
  "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.",
   "A low temperature detection thermostat on BI 26 is strongly recommended for hot water and steam coils."
  ]
 },
 "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": "AO",
   "instance": 3,
   "name": "TEMP OFFSET",
   "description": "Room temperature calibration offset",
   "units": "°F",
   "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": "DAY CLG STPT",
   "description": "Day (occupied) cooling setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 7,
   "name": "DAY HTG STPT",
   "description": "Day (occupied) heating setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 8,
   "name": "NGT CLG STPT",
   "description": "Night (unoccupied) cooling setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 9,
   "name": "NGT HTG STPT",
   "description": "Night (unoccupied) heating setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 10,
   "name": "OADPR MINPOS",
   "description": "Outdoor air damper minimum position",
   "units": "%",
   "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": "DISCH TEMP",
   "description": "Discharge air temperature",
   "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": "NGT OVRD",
   "description": "Night override status",
   "units": "",
   "access": "C",
   "states": "0=DAY, 1=NIGHT"
  },
  {
   "type": "BO",
   "instance": 23,
   "name": "FREE CLG",
   "description": "Free cooling (economizer) enable",
   "units": "",
   "access": "C",
   "states": "0=DISABL, 1=ENABLE"
  },
  {
   "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 5",
   "description": "Digital input 5",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BI",
   "instance": 26,
   "name": "LOW TEMP DET",
   "description": "Low temperature detection thermostat (LTDT)",
   "units": "",
   "access": "R",
   "states": "0=ON, 1=OFF"
  },
  {
   "type": "BO",
   "instance": 27,
   "name": "DX COOLING",
   "description": "DX cooling coil used",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "BO",
   "instance": 29,
   "name": "DAY.NGT",
   "description": "Day/night (occupancy) mode",
   "units": "",
   "access": "C",
   "states": "0=DAY, 1=NIGHT"
  },
  {
   "type": "BO",
   "instance": 30,
   "name": "WRMUP.COOLDN",
   "description": "Morning warm-up / cool-down",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "AO",
   "instance": 31,
   "name": "AOV1 SPAN",
   "description": "AOV1 output span",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 32,
   "name": "AOV1 START",
   "description": "AOV1 output start voltage",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 33,
   "name": "AOV2 SPAN",
   "description": "AOV2 output span",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 34,
   "name": "AOV2 START",
   "description": "AOV2 output start voltage",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 35,
   "name": "AOV3 SPAN",
   "description": "AOV3 output span",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 36,
   "name": "AOV3 START",
   "description": "AOV3 output start voltage",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 37,
   "name": "AO DIR.REV",
   "description": "Analog output direction reverse (additive code)",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 38,
   "name": "AOV1",
   "description": "Analog output 1 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 39,
   "name": "AOV2",
   "description": "Analog output 2 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 40,
   "name": "AOV3",
   "description": "Analog output 3 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "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": "DO 3",
   "description": "Digital output 3",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 44,
   "name": "DX",
   "description": "DX cooling output",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 45,
   "name": "DO 5",
   "description": "Digital output 5",
   "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": "AI",
   "instance": 48,
   "name": "AI 3",
   "description": "Spare analog input 3",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 49,
   "name": "AUX TEMP AI4",
   "description": "Auxiliary temperature input on AI 4",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 50,
   "name": "FAN",
   "description": "Fan command",
   "units": "",
   "access": "C",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BI",
   "instance": 51,
   "name": "DI 3",
   "description": "Digital input 3",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BI",
   "instance": 52,
   "name": "DI 4",
   "description": "Digital input 4",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BO",
   "instance": 53,
   "name": "NGT HW HTG",
   "description": "Hot water coil at night (YES) or steam (NO)",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "BO",
   "instance": 54,
   "name": "NGT CLG MODE",
   "description": "Cooling allowed in night mode",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "AO",
   "instance": 59,
   "name": "DO DIR.REV",
   "description": "Digital output direction reverse (additive code)",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 60,
   "name": "HTG OUTPUT",
   "description": "Heating coil output",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 61,
   "name": "CLG OUTPUT",
   "description": "Cooling coil output",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 62,
   "name": "OA DMPR POS",
   "description": "Outdoor air damper position",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 63,
   "name": "CLG P GAIN",
   "description": "Cooling loop proportional gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 64,
   "name": "CLG I GAIN",
   "description": "Cooling loop integral gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 65,
   "name": "CLG D GAIN",
   "description": "Cooling loop derivative gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 66,
   "name": "CLG BIAS",
   "description": "Cooling loop bias",
   "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": 75,
   "name": "CMP MIN OFF",
   "description": "Compressor minimum off time",
   "units": "min",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 76,
   "name": "CMP MIN ON",
   "description": "Compressor minimum on time",
   "units": "min",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 77,
   "name": "OA LOOPOUT",
   "description": "Outdoor air (discharge) loop output",
   "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": 79,
   "name": "CLG LOOPOUT",
   "description": "Cooling loop output",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 80,
   "name": "HTG LOOPOUT",
   "description": "Heating loop output",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 81,
   "name": "OA P GAIN",
   "description": "Outdoor air loop proportional gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 82,
   "name": "OA I GAIN",
   "description": "Outdoor air loop integral gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 83,
   "name": "OA D GAIN",
   "description": "Outdoor air loop derivative gain",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 84,
   "name": "OA BIAS",
   "description": "Outdoor air loop bias",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 85,
   "name": "SWITCH LIMIT",
   "description": "Loop output below which mode may switch",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 86,
   "name": "SWITCH TIME",
   "description": "Minimum time before heat/cool switchover",
   "units": "min",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 88,
   "name": "NGT DBAND",
   "description": "Night mode fan deadband",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 89,
   "name": "MORN DBAND",
   "description": "Morning warm-up / cool-down deadband",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 90,
   "name": "SWITCH DBAND",
   "description": "Temperature deadband for heat/cool switchover",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 92,
   "name": "CTL STPT",
   "description": "Active control setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 93,
   "name": "DISCH STPT",
   "description": "Discharge air low limit setpoint",
   "units": "°F",
   "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": 106,
   "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": 122,
   "name": "ENTHALPY",
   "description": "Room enthalpy",
   "units": "Btu/lb",
   "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-6679-unit-ventilator-cycle-w",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
