{
 "manufacturer": "Siemens",
 "manufacturer_slug": "siemens",
 "model": "BACnet PTEC Unit Conditioner - Application 6644 (Two-Pipe Fan Coil Unit Cooling or Heating)",
 "model_slug": "ptec-6644-two-pipe-fan-coil",
 "short_model": "PTEC Two-Pipe Fan Coil 6644",
 "aliases": [
  "PTEC 6644",
  "Application 6644",
  "App 6644",
  "550-496PA",
  "Siemens 2-pipe fan coil",
  "Unit Conditioner"
 ],
 "equipment_type": "Fan coil unit controller",
 "applies_to": "Two-pipe changeover fan coil units with one valve for heating or cooling and an optional second heating valve, on the Siemens BACnet PTEC unit conditioner controller 550-496PA.",
 "summary": "Application 6644 runs a two-pipe fan coil unit on a Siemens BACnet PTEC unit conditioner controller over BACnet MS/TP. One valve serves heating or cooling depending on the water the plant supplies, an optional second valve adds heating, and the fan runs in day mode or cycles with demand. Heat/cool mode comes from a supply water pipe sensor (SUPPLY TEMP against COOL TEMP and HEAT TEMP) or a field panel command.",
 "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); the guide also lists SI factory defaults.",
  "The guide covers controllers with firmware newer than revision Bx40; older firmware has separate documentation.",
  "The guide requires one of three heat/cool switchover methods: a supply pipe sensor, a commanded SUPPLY TEMP, or a commanded HEAT.COOL."
 ],
 "source": {
  "title": "BACnet PTEC Controller Unit Conditioner - Two-Pipe Fan Coil Unit Cooling or Heating, Application 6644, Application Note",
  "doc_number": "140-1171",
  "revision_date": "2015-03-31",
  "url": "https://sid.siemens.com/api/khub/documents/EgU6g84R6dfh5UBi29YtiQ/content"
 },
 "integration": {
  "summary": "Address the controller on the BACnet MS/TP trunk (manually or with auto addressing). The BMS commands occupancy with DAY.NGT (BO 29) and the day setpoints, sets heat/cool mode if no pipe sensor is fitted, and reads room temperature, fan status, valve 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": "HEAT or COOL; command it if no pipe sensor"
   },
   {
    "ref": "BO 46",
    "name": "FAN",
    "why": "Fan on/off"
   },
   {
    "ref": "AI 4",
    "name": "ROOM TEMP",
    "why": "Space temperature"
   },
   {
    "ref": "AO 49",
    "name": "VLV 1 POS",
    "why": "Valve position, %"
   },
   {
    "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": "Without a supply pipe sensor, the field panel or PPCL either commands SUPPLY TEMP (AI 15) above HEAT TEMP or below COOL TEMP, or commands HEAT.COOL (BO 5) directly.",
  "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 6691."
  ],
  "gotchas": [
   "The guide's application notes state that the controller keeps all associated 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; don't write them from the BMS routinely."
  ]
 },
 "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": 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 water temperature for heat/cool changeover",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 16,
   "name": "VLV 1 START",
   "description": "Heating loop % where valve 1 starts to open",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 17,
   "name": "VLV 1 END",
   "description": "Heating loop % where valve 1 is fully open",
   "units": "%",
   "access": "C",
   "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": "AO",
   "instance": 22,
   "name": "VLV 2 START",
   "description": "Heating loop % where valve 2 starts to open",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 23,
   "name": "VLV 2 END",
   "description": "Heating loop % where valve 2 is fully open",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "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": "BI",
   "instance": 26,
   "name": "DI 4",
   "description": "Digital input 4",
   "units": "",
   "access": "R",
   "states": "0=OFF, 1=ON"
  },
  {
   "type": "BI",
   "instance": 28,
   "name": "DI 6",
   "description": "Digital input 6",
   "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": "AI",
   "instance": 30,
   "name": "AI 3",
   "description": "Spare analog input 3",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "AI 4",
   "description": "Spare analog input 4",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 32,
   "name": "AOV1",
   "description": "Analog output 1 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 33,
   "name": "AOV2",
   "description": "Analog output 2 (0-10 V)",
   "units": "V",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 34,
   "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": "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": "FAN",
   "description": "Fan command",
   "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": "VLV 1 COMD",
   "description": "Heating/cooling valve command",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 49,
   "name": "VLV 1 POS",
   "description": "Heating/cooling valve 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": "MTR 1 TIMING",
   "description": "Motor 1 full-stroke time",
   "units": "s",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 52,
   "name": "VLV 2 COMD",
   "description": "Second valve command (optional)",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 53,
   "name": "VLV 2 POS",
   "description": "Second valve position (calculated)",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 55,
   "name": "MTR 2 TIMING",
   "description": "Motor 2 full-stroke time",
   "units": "s",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 56,
   "name": "MTR1 ROT ANG",
   "description": "Motor 1 rotation angle",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 57,
   "name": "MTR2 ROT ANG",
   "description": "Motor 2 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": "BO",
   "instance": 60,
   "name": "CYCLE FAN",
   "description": "Cycle the fan with demand in day mode",
   "units": "",
   "access": "C",
   "states": "0=NO, 1=YES"
  },
  {
   "type": "AO",
   "instance": 61,
   "name": "COOL TEMP",
   "description": "Supply water temp below which mode is cooling",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 62,
   "name": "HEAT TEMP",
   "description": "Supply water 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": "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": 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": "STAGE FAN",
   "description": "Valve opening that turns the fan on when cycling",
   "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": 88,
   "name": "VALVE CNT",
   "description": "Number of valves used",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 92,
   "name": "CTL STPT",
   "description": "Active control setpoint",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 96,
   "name": "CAL TIMER",
   "description": "Hours between automatic calibrations",
   "units": "h",
   "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": "AI",
   "instance": 121,
   "name": "DEW POINT",
   "description": "Room dew point",
   "units": "°F",
   "access": "R",
   "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-6644-two-pipe-fan-coil",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
