{
 "manufacturer": "Contemporary Controls",
 "manufacturer_slug": "contemporary-controls",
 "model": "Fox Thermal Instruments FT2 via BASgatewayLX",
 "short_model": "BASgatewayLX Fox Thermal FT2",
 "model_slug": "basgatewaylx-fox-thermal-ft2",
 "aliases": [
  "FT2",
  "Fox FT2",
  "Fox Thermal FT2 flow meter"
 ],
 "equipment_type": "Thermal mass flow meter",
 "applies_to": "Fox Thermal Instruments FT2 thermal mass gas flow meters on Modbus, read by a BASgatewayLX.",
 "summary": "Gateway profile for the Fox FT2: 31 objects (15 AI, 16 BI), all polled. Inputs give flow, total, temperature, elapsed time and velocity (raw and in the selected units, plus scaled copies) and status bits for power-up, limits, sensor range, calibration, settings, simulation, outputs, Anybus, RTC and CRC errors.",
 "bacnet_transport": [
  "BACnet IP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "Built from Contemporary Controls' BASgatewayLX Modbus device profile Fox_Thermal_Instuments_Model_FT2_LX.csv; the profile maps the registers in the maker's Modbus register document (https://www.ccontrols.com/support/dp/FoxThermalFT2.pdf).",
  "Object instances are the ones this profile assigns when it is loaded into the gateway. A site that edited or rebuilt the profile may use different instances.",
  "All 31 rows are flagged for polling in the profile, so every object is served to BACnet once the profile is loaded.",
  "The CSV has no read/write column: Analog/Binary Inputs are read-only and Analog/Binary Outputs are commandable (priority array), which is how the gateway maps them (access inferred). Descriptions give the Modbus register each object reads.",
  "Some names appear more than once in the profile as published (Status Flow rate reached high limit threshold); they are kept as printed and told apart by instance."
 ],
 "source": {
  "title": "BASgatewayLX Modbus device profile Fox_Thermal_Instuments_Model_FT2",
  "doc_number": "Fox_Thermal_Instuments_Model_FT2_LX.csv",
  "revision_date": null,
  "url": "https://www.ccontrols.com/support/dp/Fox_Thermal_Instuments_Model_FT2_LX.zip"
 },
 "integration": {
  "summary": "Map flow rate (engineering units), totalized flow and gas temperature first. The listed objects are read-only.",
  "minimum_points": [
   {
    "ref": "AI 26",
    "name": "Flow in Eng Unit",
    "why": "Flow rate (engineering units)"
   },
   {
    "ref": "AI 27",
    "name": "Total in Eng Unit",
    "why": "Totalized flow"
   },
   {
    "ref": "AI 29",
    "name": "Temperature in selected unit",
    "why": "Gas temperature"
   },
   {
    "ref": "AI 31",
    "name": "Velocity in selected unit",
    "why": "Velocity"
   },
   {
    "ref": "BI 15",
    "name": "Status Sensor reading is out of range",
    "why": "Sensor reading out of range"
   },
   {
    "ref": "BI 17",
    "name": "Status Incorrect Settings",
    "why": "Incorrect settings"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "The BASgatewayLX presents each Modbus device as its own virtual BACnet device on BACnet IP; give it a unique device instance and Modbus address (serial) or IP address (Modbus TCP) when you add it with this profile.",
   "One BASgatewayLX handles up to 100 Modbus devices and 1000 polled points in total, so leave unneeded rows unpolled."
  ],
  "gotchas": [
   "Status Flow rate reached high limit threshold is printed twice (BI 11 = bit 1, BI 12 = bit 2 of register 400016); check the FT2 register document for which bit is the low limit."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Flow in Eng unit",
   "description": "Modbus 400001",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Total",
   "description": "Modbus 400003",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Temperature",
   "description": "Modbus 400005",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Elapsed time",
   "description": "Modbus 400007",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Velocity",
   "description": "Modbus 400009",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Flow in Eng unit * 10",
   "description": "Modbus 400011",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Flow in Eng unit *100",
   "description": "Modbus 400012",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Total *100",
   "description": "Modbus 400013",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Total2",
   "description": "Modbus 400014",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "Status Power up indication",
   "description": "Modbus 400016 bit 0",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 11,
   "name": "Status Flow rate reached high limit threshold",
   "description": "Modbus 400016 bit 1",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 12,
   "name": "Status Flow rate reached high limit threshold",
   "description": "Modbus 400016 bit 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 13,
   "name": "Status Temperature reached high limit threshold",
   "description": "Modbus 400016 bit 3",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 14,
   "name": "Status Temperature reached low limit threshold",
   "description": "Modbus 400016 bit 4",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 15,
   "name": "Status Sensor reading is out of range",
   "description": "Modbus 400016 bit 5",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 16,
   "name": "Status Velocity flow rate outside of calibration table",
   "description": "Modbus 400016 bit 6",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 17,
   "name": "Status Incorrect Settings",
   "description": "Modbus 400016 bit 7",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 18,
   "name": "Status In simulation mode",
   "description": "Modbus 400016 bit 8",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 19,
   "name": "Status Frequency output is out of range",
   "description": "Modbus 400016 bit 9",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "Status Analog 4-20 mA for flow is out of range",
   "description": "Modbus 400016 bit 10",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 21,
   "name": "Status Analog 4-20 mA for temperature is out of range",
   "description": "Modbus 400016 bit 11",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 22,
   "name": "Status Anybus error",
   "description": "Modbus 400016 bit 12",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 23,
   "name": "Status RTC error (only for FT2 with RTC)",
   "description": "Modbus 400016 bit 13",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 24,
   "name": "Status CRC error",
   "description": "Modbus 400016 bit 14",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 25,
   "name": "Status Tot Error",
   "description": "Modbus 400016 bit 15",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "Flow in Eng Unit",
   "description": "Modbus 400020",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "Total in Eng Unit",
   "description": "Modbus 400022",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "Total#2 for 2 gas curve",
   "description": "Modbus 400024",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "Temperature in selected unit",
   "description": "Modbus 400026",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "Elapsed time in hours",
   "description": "Modbus 400028",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "Velocity in selected unit",
   "description": "Modbus 400030",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/contemporary-controls/basgatewaylx-fox-thermal-ft2",
 "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"
}
