{
 "manufacturer": "Siemens",
 "manufacturer_slug": "siemens",
 "model": "BACnet ATEC VAV Controller - Application 6631 (VAV Cooling and Heating, Changeover)",
 "model_slug": "atec-6631-vav-cooling-and-heating",
 "short_model": "ATEC VAV Cooling and Heating 6631",
 "aliases": [
  "ATEC 6631",
  "Application 6631",
  "App 6631",
  "550-430PA",
  "550-431PA"
 ],
 "equipment_type": "VAV terminal unit controller",
 "applies_to": "Pressure-independent single-duct VAV boxes on changeover systems (cool air in cooling, warm air in heating) on the Siemens BACnet ATEC controller (550-430PA / 550-431PA).",
 "summary": "Application 6631 controls a single-duct VAV box on a changeover air system with a Siemens BACnet ATEC controller over BACnet MS/TP. The cooling or heating loop sets the airflow between the matching minimum and maximum, and the built-in actuator drives the damper. Heat/cool mode comes from a supply duct temperature sensor, a supply temperature written by the field panel or PPCL, or a direct HEAT.COOL command; one of these must be used.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "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 ATEC is the Siemens VAV controller with the damper actuator built in (550-430PA 44 lb-in or 550-431PA 88 lb-in).",
  "The guide's text calls the supply temperature point AI 5, but its point table lists SUPPLY TEMP as AI 15; the table value is used here.",
  "DO 3/DO 4 or DO 5/DO 6 can drive an auxiliary floating motor (MTR2/MTR3); the matching motor command point must then be unbundled."
 ],
 "source": {
  "title": "BACnet ATEC Controller VAV Cooling and Heating, Application 6631, Application Note",
  "doc_number": "140-1211",
  "revision_date": "2017-12-12",
  "url": "https://sid.siemens.com/api/khub/documents/jnhQCDGDK8wNAqnVdZB0Lw/content"
 },
 "integration": {
  "summary": "Give the controller its MS/TP address (CTLR ADDRESS, or Auto Addressing). Pick a changeover method (supply duct sensor, SUPPLY TEMP written by the field panel, or HEAT.COOL commanded directly). The BMS commands occupancy with DAY.NGT (BO 29) and the day setpoints, and reads room temperature, mode, airflow, damper position and the error status.",
  "minimum_points": [
   {
    "ref": "BO 29",
    "name": "DAY.NGT",
    "why": "DAY = occupied, NIGHT = unoccupied"
   },
   {
    "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": "AI 4",
    "name": "ROOM TEMP",
    "why": "Space temperature"
   },
   {
    "ref": "AI 35",
    "name": "AIR VOLUME",
    "why": "Measured box airflow, cfm"
   },
   {
    "ref": "AO 49",
    "name": "DMPR POS",
    "why": "Damper position, %"
   },
   {
    "ref": "AO 99",
    "name": "ERROR STATUS",
    "why": "Controller error code"
   }
  ],
  "enable": "Occupancy is DAY.NGT (BO 29). With a wall switch on AI/DI 4 and WALL SWITCH (BO 18) = YES, the switch sets it; with WALL SWITCH = NO a standalone controller stays in day mode, and on a network the field panel can command DAY.NGT. NGT OVRD (BO 21) shows a temporary day override from the room unit button.",
  "heartbeat": null,
  "remote_sensors": "Without a duct sensor, the field panel or PPCL can command SUPPLY TEMP (AI 15): below COOL TEMP (AO 61) the box goes to cooling, above HEAT TEMP (AO 62) to heating. It can also command HEAT.COOL (BO 5) directly. VENT DMD MIN (AO 47) can be reset by the field panel or PPCL (for example from CO2) to set the occupied ventilation minimum airflow; the larger of it and the cooling or heating minimum is used.",
  "setup": [
   "BACnet MS/TP only. CTLR ADDRESS (AO 1) holds the MS/TP address; the factory value is 255.",
   "APPLICATION (AO 2) shows the application number in the controller; the point table lists a factory value of 6684.",
   "Auto Discovery finds controllers on the MS/TP trunk by serial number; an unaddressed controller can be auto-addressed and detects the baud rate itself.",
   "If PPCL is loaded in the controller (PPCL STATE = LOADED), a new application number from 12000 to 12999 must be assigned."
  ],
  "gotchas": [
   "The guide states the controller, as shipped from the factory, keeps all connected equipment OFF.",
   "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; avoid writing them from the BMS routinely.",
   "If the air velocity sensor fails the box falls back to pressure-dependent damper control; if the room sensor fails it uses the last good value."
  ]
 },
 "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": "RMTMP 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": "DEW POINT",
   "description": "Room dew point",
   "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": "SUPPLY TEMP",
   "description": "Supply (duct) air temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 18,
   "name": "WALL SWITCH",
   "description": "Use a wall switch on AI/DI 4 for day/night",
   "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": "BI",
   "instance": 24,
   "name": "DI 4",
   "description": "Digital input 4",
   "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": "DAY.NGT",
   "description": "Day/night (occupancy) mode",
   "units": "",
   "access": "C",
   "states": "0=DAY, 1=NIGHT"
  },
  {
   "type": "AO",
   "instance": 31,
   "name": "CLG FLOW MIN",
   "description": "Minimum airflow in cooling",
   "units": "cfm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 32,
   "name": "CLG FLOW MAX",
   "description": "Maximum airflow in cooling",
   "units": "cfm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 33,
   "name": "HTG FLOW MIN",
   "description": "Minimum airflow in heating",
   "units": "cfm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 34,
   "name": "HTG FLOW MAX",
   "description": "Maximum airflow in heating",
   "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": "Flow coefficient (box sizing value)",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 37,
   "name": "MTR3 COMD",
   "description": "Motor 3 position command",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 38,
   "name": "MTR3 POS",
   "description": "Motor 3 position",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 39,
   "name": "MTR3 TIMING",
   "description": "Motor 3 full-stroke time",
   "units": "s",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 40,
   "name": "NGT FLOW MIN",
   "description": "Minimum airflow at night",
   "units": "cfm",
   "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": "DO 4",
   "description": "Digital output 4",
   "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": "AO",
   "instance": 47,
   "name": "VENT DMD MIN",
   "description": "Ventilation demand minimum airflow",
   "units": "cfm",
   "access": "C",
   "states": ""
  },
  {
   "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",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 50,
   "name": "AI 4",
   "description": "Spare temperature input on AI 4",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 51,
   "name": "MTR1 TIMING",
   "description": "Motor 1 full-stroke time",
   "units": "s",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 52,
   "name": "MTR2 COMD",
   "description": "Motor 2 position command",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 53,
   "name": "MTR2 POS",
   "description": "Motor 2 position",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 54,
   "name": "STPT SPAN",
   "description": "Room unit setpoint adjustment span",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 55,
   "name": "MTR2 TIMING",
   "description": "Motor 2 full-stroke time",
   "units": "s",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 56,
   "name": "DMPR ROT ANG",
   "description": "Damper rotation angle",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 58,
   "name": "MTR SETUP",
   "description": "Motor setup code",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 59,
   "name": "DO DIR. REV",
   "description": "Digital output direction reverse setting",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 61,
   "name": "COOL TEMP",
   "description": "Supply temp below which mode is cooling",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 62,
   "name": "HEAT TEMP",
   "description": "Supply temp above which mode is heating",
   "units": "°F",
   "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": "BO",
   "instance": 66,
   "name": "CHK OUT",
   "description": "Start the built-in checkout (fault detection) routine",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "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": "CHK STATUS",
   "description": "Checkout result code (additive; -1 = not run)",
   "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": 76,
   "name": "CTL FLOW MIN",
   "description": "Active minimum airflow",
   "units": "cfm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 77,
   "name": "CTL FLOW MAX",
   "description": "Active maximum airflow",
   "units": "cfm",
   "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": 84,
   "name": "AOV 1",
   "description": "Analog output 1 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 87,
   "name": "CAL MODULE",
   "description": "Autozero Module installed",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "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": "Calibration timer",
   "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": 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/atec-6631-vav-cooling-and-heating",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
