{
 "manufacturer": "Badger Meter",
 "manufacturer_slug": "badger-meter",
 "model": "Dynasonics TFX-500w clamp-on ultrasonic flow meter (BACnet MS/TP)",
 "model_slug": "tfx-500w-bacnet-mstp",
 "aliases": [
  "TFX-500w",
  "TFX-500",
  "Dynasonics TFX-500w",
  "TTM-UM-02773"
 ],
 "equipment_type": "Ultrasonic flow meter (clamp-on)",
 "applies_to": "Badger Meter Dynasonics TFX-500w clamp-on transit-time ultrasonic flow meters with the RS-485 port set to BACnet MS/TP.",
 "summary": "The TFX-500w's RS-485 port runs Modbus RTU or BACnet MS/TP. Over BACnet it gives flow rate and velocity (home-screen units, US and metric), net/positive/negative/gross totals as single-precision AVs and 64-bit Large Analog Values, overflow counters, unit selections, three writable cutoff settings, signal strength and four command BOs.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "v2.00.278 (PICS)",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Each total exists three ways: in home-screen units, gallons and liters; each as an AV (32-bit) and an LAV (64-bit). Map one set.",
  "Names are the manual's descriptive names.",
  "Writes need the meter's BACnet access setting to allow read/write; it can be set read-only.",
  "MV 3001 is not listed.",
  "Source: TFX-500w Clamp-On Meter BACnet MS/TP Protocol User Manual TTM-UM-02773-EN-04 (January 2022)."
 ],
 "source": {
  "title": "TFX-500w Clamp-On Meter BACnet MS/TP Protocol User Manual",
  "doc_number": "TTM-UM-02773-EN-04",
  "revision_date": "2022-01",
  "url": "https://badgermeter.widen.net/content/vyanyuy7x7/original?download=true&x.app=api"
 },
 "integration": {
  "summary": "In Main Menu > System Setup > Communication select BACnet MS/TP, set MAC and BACnet ID, match the trunk settings and choose read-only or read/write access. Read flow rate, a net or positive total and signal strength.",
  "minimum_points": [
   {
    "ref": "AV 800",
    "name": "Flow Rate (gal/min)",
    "why": "Flow rate, gpm"
   },
   {
    "ref": "AV 2401",
    "name": "Positive Flow Totalizer (gal)",
    "why": "Forward flow total, gallons"
   },
   {
    "ref": "AV 2400",
    "name": "Net Flow Totalizer (gal)",
    "why": "Net (forward minus reverse) total, gallons"
   },
   {
    "ref": "AV 801",
    "name": "Velocity (ft/sec)",
    "why": "Fluid velocity, ft/s"
   },
   {
    "ref": "AV 5500",
    "name": "Signal Strength",
    "why": "Ultrasonic signal strength (low = bad reading)"
   }
  ],
  "enable": "BACnet writes only work when the meter's Access setting in the BACnet MS/TP menu is read/write.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Main Menu > System Setup > Communication > BACnet MS/TP: MAC 1-254, BACnet ID 0-4,194,303.",
   "Baud (9600-115200), parity, stop bits and max MAC must match the master.",
   "Built-in termination resistor is enabled in the communication settings.",
   "Connecting the USB programming cable disables the RS-485 port."
  ],
  "gotchas": [
   "Writing BO 0 Reset Totalizers zeroes every total.",
   "Totals overflow; the overflow counters (AV 2304-2307) count rollovers of the home-screen totals."
  ]
 },
 "points": [
  {
   "type": "AV",
   "instance": 600,
   "name": "Flow Rate on Screen",
   "description": "Flow rate as shown on the home screen",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 601,
   "name": "Velocity on Screen",
   "description": "Fluid velocity as shown on the home screen",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 602,
   "name": "Delta Time Filtered (ns)",
   "description": "Upstream/downstream transit time difference",
   "units": "ns",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 800,
   "name": "Flow Rate (gal/min)",
   "description": "Flow rate",
   "units": "gpm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 801,
   "name": "Velocity (ft/sec)",
   "description": "Fluid velocity",
   "units": "ft/s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1000,
   "name": "Flow Rate (l/min)",
   "description": "Flow rate",
   "units": "l/min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1001,
   "name": "Velocity (m/sec)",
   "description": "Fluid velocity",
   "units": "m/s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2300,
   "name": "Net Flow Totalizer (home screen units)",
   "description": "Total volume, forward minus reverse (can be negative)",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2301,
   "name": "Positive Flow Totalizer (home screen units)",
   "description": "Total volume, forward flow only",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2302,
   "name": "Negative Flow Totalizer (home screen units)",
   "description": "Total volume, reverse flow only",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2303,
   "name": "Gross Flow Totalizer (home screen units)",
   "description": "Total volume, forward plus reverse",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2304,
   "name": "Totalizer Overflow Counter (Net)",
   "description": "Times the net total has overrun (home screen units)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2305,
   "name": "Totalizer Overflow Counter (Positive)",
   "description": "Times the positive total has overrun (home screen units)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2306,
   "name": "Totalizer Overflow Counter (Negative)",
   "description": "Times the negative total has overrun (home screen units)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2307,
   "name": "Totalizer Overflow Counter (Gross)",
   "description": "Times the gross total has overrun (home screen units)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2400,
   "name": "Net Flow Totalizer (gal)",
   "description": "Total volume, forward minus reverse (can be negative)",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2401,
   "name": "Positive Flow Totalizer (gal)",
   "description": "Total volume, forward flow only",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2402,
   "name": "Negative Flow Totalizer (gal)",
   "description": "Total volume, reverse flow only",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2403,
   "name": "Gross Flow Totalizer (gal)",
   "description": "Total volume, forward plus reverse",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2500,
   "name": "Net Flow Totalizer (liters)",
   "description": "Total volume, forward minus reverse (can be negative)",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2501,
   "name": "Positive Flow Totalizer (liters)",
   "description": "Total volume, forward flow only",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2502,
   "name": "Negative Flow Totalizer (liters)",
   "description": "Total volume, reverse flow only",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2503,
   "name": "Gross Flow Totalizer (liters)",
   "description": "Total volume, forward plus reverse",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2600,
   "name": "Net Flow Totalizer (home screen units)",
   "description": "Total volume, forward minus reverse (can be negative) (64-bit)",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2601,
   "name": "Positive Flow Totalizer (home screen units)",
   "description": "Total volume, forward flow only (64-bit)",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2602,
   "name": "Negative Flow Totalizer (home screen units)",
   "description": "Total volume, reverse flow only (64-bit)",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2603,
   "name": "Gross Flow Totalizer (home screen units)",
   "description": "Total volume, forward plus reverse (64-bit)",
   "units": "home screen units",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2700,
   "name": "Net Flow Totalizer (gal)",
   "description": "Total volume, forward minus reverse (can be negative) (64-bit)",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2701,
   "name": "Positive Flow Totalizer (gal)",
   "description": "Total volume, forward flow only (64-bit)",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2702,
   "name": "Negative Flow Totalizer (gal)",
   "description": "Total volume, reverse flow only (64-bit)",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2703,
   "name": "Gross Flow Totalizer (gal)",
   "description": "Total volume, forward plus reverse (64-bit)",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2800,
   "name": "Net Flow Totalizer (liters)",
   "description": "Total volume, forward minus reverse (can be negative) (64-bit)",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2801,
   "name": "Positive Flow Totalizer (liters)",
   "description": "Total volume, forward flow only (64-bit)",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2802,
   "name": "Negative Flow Totalizer (liters)",
   "description": "Total volume, reverse flow only (64-bit)",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "LAV",
   "instance": 2803,
   "name": "Gross Flow Totalizer (liters)",
   "description": "Total volume, forward plus reverse (64-bit)",
   "units": "l",
   "access": "R",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 3000,
   "name": "Flow Rate Units",
   "description": "Home screen flow rate units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 3002,
   "name": "Velocity Units",
   "description": "Home screen velocity units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 3003,
   "name": "Flow Total Units",
   "description": "Home screen totalizer units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4000,
   "name": "Low Flow Cutoff",
   "description": "Below this flow, show zero and stop totalizing",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4001,
   "name": "Low Signal Cutoff",
   "description": "Below this signal, show zero, stop totalizing, low signal error",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4002,
   "name": "High Signal Cutoff",
   "description": "Above this signal, show zero, stop totalizing, oversaturation error",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5500,
   "name": "Signal Strength",
   "description": "Ultrasonic signal strength",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 0,
   "name": "Reset Totalizers",
   "description": "Resets all flow totals to zero",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 1,
   "name": "Unlatch Alarms",
   "description": "Unlatches outputs held in alarm",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 2,
   "name": "Clear Alarm History",
   "description": "Clears errors, alarms and event codes",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 3,
   "name": "Reboot Device",
   "description": "Reboots the meter",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/badger-meter/tfx-500w-bacnet-mstp",
 "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"
}
