{
 "manufacturer": "TROX",
 "manufacturer_slug": "trox",
 "model": "TROX UNIVERSAL static BUPNF duct pressure controller (VRU-...-BAC, BACnet MS/TP)",
 "model_slug": "trox-universal-static-bupnf",
 "aliases": [
  "BUPNF",
  "TROX UNIVERSAL static",
  "VRU-D3-BAC",
  "VRU-M1-BAC",
  "VRU-M1R-BAC",
  "VRU-D3-M/B TR",
  "VRU-M1-M/B TR",
  "VRU-M1R-M/B TR"
 ],
 "equipment_type": "VAV / static pressure controller",
 "applies_to": "TROX UNIVERSAL static BUPNF controllers (VRU-D3/M1/M1R-BAC control electronics) for airflow, duct pressure and room pressure control.",
 "summary": "The BUPNF product data sheet includes the BACnet MS/TP object list of its VRU-...-BAC control electronics: 39 objects (Device not counted). The BMS writes the relative setpoint to AO 1 (flow, pressure or damper position, depending on MV 2 ApplicationSel), can force states with MO 1, and reads airflow, differential pressure, damper position and five status objects.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "Firmware 10.02.0000, application 01.02.0001",
 "default_device_instance": 1,
 "access_inferred": false,
 "notes": [
  "The PICS names the product VRU-D3-BAC, VRU-M1-BAC, VRU-M1R-BAC; the object list follows the Belimo VAV-Universal VRU numbering, so it shares firmware with that Belimo product.",
  "Several objects go Out_Of_Service depending on MV 2 ApplicationSel, MV 122 SpSource or MV 220 Sens1Type (see the status-flag notes in the data sheet).",
  "SpSource leaves the factory set to Analogue; set it to Bus before writing AO 1.",
  "The object name RmPCasacade (MV 10) is spelled this way in the data sheet."
 ],
 "source": {
  "title": "TROX UNIVERSAL static BUPNF - Product data sheet",
  "doc_number": "PD-01/2024",
  "revision_date": "2024-01",
  "url": "https://cdn.trox.de/9fc405e75348e839/11320132561f/BUPNF_PD_2024_01_17_DE_en.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "RelPos",
   "description": "Damper blade position",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "AbsPos",
   "description": "Absolute position over the rotation range",
   "units": "°",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "SpAnalogue",
   "description": "Analogue setpoint (when SpSource = analogue)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "RelDeltaP",
   "description": "Differential pressure, % of DeltaPnom_Pa",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "RelFlow",
   "description": "Airflow, % of Vnom_m3h",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "AbsFlow_m3h",
   "description": "Absolute airflow",
   "units": "m³/h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "DeltaP_UnitSel",
   "description": "Differential pressure in the unit set by MV 127",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 19,
   "name": "AbsFlow_UnitSel",
   "description": "Airflow in the unit set by MV 121",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "Sens1Analogue",
   "description": "Sensor 1 value (0-10 V or resistance)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "DeltaP_Pa",
   "description": "Absolute differential pressure",
   "units": "Pa",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "SpRel",
   "description": "Relative setpoint (flow, pressure or position) when SpSource = bus",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 97,
   "name": "Min",
   "description": "Minimum setpoint qvmin / dpmin",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 98,
   "name": "Max",
   "description": "Maximum setpoint qvmax / dpmax",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 112,
   "name": "Vnom_m3h",
   "description": "Nominal airflow",
   "units": "m³/h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 119,
   "name": "Vnom_UnitSel",
   "description": "Nominal airflow in the unit set by MV 121",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 120,
   "name": "SystemAltitude",
   "description": "System altitude above sea level",
   "units": "m",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 122,
   "name": "DeltaPnom_Pa",
   "description": "Nominal differential pressure or max. pressure limit",
   "units": "Pa",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 129,
   "name": "DeltaPnom_UnitSel",
   "description": "Nominal differential pressure in the unit set by MV 127",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 130,
   "name": "BusWatchdog",
   "description": "Bus timeout monitoring time, 0 = off (factory)",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "Sens1Switch",
   "description": "Switch status at the sensor input",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 99,
   "name": "BusTermination",
   "description": "120 ohm terminating resistor activated via service tool",
   "units": "",
   "access": "R",
   "states": "0=Deactivated, 1=Activated"
  },
  {
   "type": "BI",
   "instance": 101,
   "name": "SummaryStatus",
   "description": "Condensed status of MI 103/104/106/109/110",
   "units": "",
   "access": "R",
   "states": "0=OK, 1=Not OK"
  },
  {
   "type": "MV",
   "instance": 10,
   "name": "RmPCasacade",
   "description": "Room pressure cascade (sensor 1 as cascade input)",
   "units": "",
   "access": "R",
   "states": "1=Inactive, 2=Active, 3=Active fast (M1R only)"
  },
  {
   "type": "MI",
   "instance": 100,
   "name": "InternalActivity",
   "description": "Internal status",
   "units": "",
   "access": "R",
   "states": "1=None, 3=Adaption, 4=Synchronisation"
  },
  {
   "type": "MI",
   "instance": 103,
   "name": "StatusSensor",
   "description": "Differential pressure sensor status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=dP sensor not OK, 3=dP sensor outside of measuring range, 4=dP sensor incorrectly connected"
  },
  {
   "type": "MI",
   "instance": 104,
   "name": "StatusFlow",
   "description": "Airflow status (3 if no airflow within 600 s)",
   "units": "",
   "access": "R",
   "states": "1=OK, 3=No airflow detected"
  },
  {
   "type": "MI",
   "instance": 106,
   "name": "StatusActuator",
   "description": "Actuator status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Actuator cannot be moved, 3=Gear release active, 4=Mechanical travel exceeded, 5=Actuator not suitable for application"
  },
  {
   "type": "MI",
   "instance": 109,
   "name": "StatusPressure",
   "description": "Pressure status (3 if not reached within 180 s)",
   "units": "",
   "access": "R",
   "states": "1=OK, 3=Pressure not reached"
  },
  {
   "type": "MI",
   "instance": 110,
   "name": "StatusDevice",
   "description": "Bus timeout monitoring status (per AV 130)",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Bus timeout monitoring activated"
  },
  {
   "type": "MO",
   "instance": 1,
   "name": "Override",
   "description": "Forced command over the setpoint",
   "units": "",
   "access": "C",
   "states": "1=None, 2=OPEN, 3=CLOSED, 4=qvmin/dpmin, 6=qvmax/dpmax"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "ApplicationSel",
   "description": "Application of the controller",
   "units": "",
   "access": "R",
   "states": "1=Flow control, 2=Pressure control, 3=Room pressure control, 4=Flow measurement"
  },
  {
   "type": "MV",
   "instance": 100,
   "name": "ControlMode",
   "description": "Control mode",
   "units": "",
   "access": "R",
   "states": "1=PosCtrl, 2=FlowCtrl"
  },
  {
   "type": "MV",
   "instance": 102,
   "name": "OperationMode",
   "description": "Negative or positive pressure (VRU-M1R-BAC only)",
   "units": "",
   "access": "W",
   "states": "1=Negative pressure, 2=Positive pressure"
  },
  {
   "type": "MV",
   "instance": 120,
   "name": "Command",
   "description": "Trigger test functions",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Adaption, 4=Reset"
  },
  {
   "type": "MV",
   "instance": 121,
   "name": "UnitSelAirFlow",
   "description": "Airflow unit for AI 19 and AV 119",
   "units": "",
   "access": "W",
   "states": "2=m³/h, 3=l/s, 7=cfm"
  },
  {
   "type": "MV",
   "instance": 122,
   "name": "SpSource",
   "description": "Setpoint source",
   "units": "",
   "access": "W",
   "states": "1=Analogue (0-10 V, 2-10 V), 2=Bus (Modbus, BACnet, MP-Bus)"
  },
  {
   "type": "MV",
   "instance": 127,
   "name": "UnitSelPressure",
   "description": "Pressure unit for AI 18 and AV 129",
   "units": "",
   "access": "W",
   "states": "1=Pascal, 3=Water column"
  },
  {
   "type": "MV",
   "instance": 128,
   "name": "UnitSelTemp",
   "description": "Temperature unit for AI 20",
   "units": "",
   "access": "W",
   "states": "1=K, 2=°C, 3=°F"
  },
  {
   "type": "MV",
   "instance": 220,
   "name": "Sens1Type",
   "description": "Sensor type at the sensor input",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Active sensor (hybrid mode), 3=Passive sensor, 5=Switch"
  }
 ],
 "integration": {
  "summary": "Set MV 122 SpSource to Bus (factory setting is Analogue), then write AO 1 SpRel as a percentage between Min and Max; what it controls (airflow or pressure) follows MV 2 ApplicationSel. Read AI 19 airflow or AI 18 pressure, AI 1 damper position and BI 101 SummaryStatus. Set AV 130 if the unit should react to a lost BMS.",
  "minimum_points": [
   {
    "ref": "AO 1",
    "name": "SpRel",
    "why": "Flow, pressure or position setpoint"
   },
   {
    "ref": "MV 122",
    "name": "SpSource",
    "why": "Must be Bus (2); factory setting is Analogue"
   },
   {
    "ref": "AI 19",
    "name": "AbsFlow_UnitSel",
    "why": "Measured airflow"
   },
   {
    "ref": "AI 18",
    "name": "DeltaP_UnitSel",
    "why": "Measured differential pressure"
   },
   {
    "ref": "AI 1",
    "name": "RelPos",
    "why": "Damper position feedback"
   },
   {
    "ref": "BI 101",
    "name": "SummaryStatus",
    "why": "Overall OK / not OK alarm"
   }
  ],
  "enable": "MV 122 SpSource: 2 = Bus makes AO 1 SpRel active; 1 = Analogue (factory setting) uses the analogue input and AO 1 is ignored.",
  "heartbeat": "AV 130 BusWatchdog (0-3600 s, factory 0 = off). When set, the unit watches AO 1 and MO 1 for changes and resets the timer on each change; MI 110 StatusDevice shows when bus timeout monitoring has tripped. With SpSource = Analogue only MO 1 is watched.",
  "remote_sensors": "Sensor 1 (AI 20 / BI 20) is configured with MV 220 Sens1Type; with RmPCasacade active it is the 0-10 V room cascade input.",
  "setup": [
   "Default device instance 1.",
   "MS/TP baud rates 9600, 19200, 38400, 76800 and 115200."
  ],
  "gotchas": [
   "Min must stay below Max; Max range is 20-100 %.",
   "MV 102 OperationMode only matters for VRU-M1R-BAC room pressure control."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/trox/trox-universal-static-bupnf",
 "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"
}
