BlockWerk Documentation
MFC

Bronkhorst MFC

Connectivity

BronkhorstMFC is a source block (with an optional setpoint sink) that reads live flow, temperature, frequency, and alarm data from a physical Bronkhorst mass flow controller connected over the browser's Web Serial API. Communication uses the PROPAR protocol with automatic ASCII / Enhanced Binary mode negotiation. On connection the block identifies the instrument, reads its full-scale capacity and engineering unit, and scales flow readings from percent-of-full-scale into real units automatically.

Use this block to bring a live MFC into a BlockWerk control diagram — for example, to close a pressure or concentration control loop using actual hardware measurements. The block also writes a flow setpoint back to the instrument, either from its setpoint parameter or from the on-canvas input field, allowing real-time hardware actuation from within the simulation.

Simulate in BlockWerk

Interactive sandbox directly in your browser — zero installation, WASM-powered.

Simulate in BlockWerk →

Inputs & Outputs

Direction ID Label Type Status
← Out measure Flow (%) number Output
← Out fmeasure Flow (Value) number Output
← Out temperature Temperature (°C) number Output
← Out frequency Frequency (Hz) number Output
← Out alarm Alarm Status number Output

Parameters

Parameters Label Type Default Description
nodeAddress Node Address number 3 PROPAR node address of the instrument (typically 3 for directly connected single instrument)
baudRate Baud Rate select 115200 Serial baud rate. Must match the instrument configuration. 115200 gives best throughput.
pollRateMs Poll Rate (ms) number 10 Target poll interval in ms. The bus fires immediately when RTT exceeds this — so 0–10ms gives maximum speed (~40 Hz at 115200 baud). Increase to reduce CPU load.
enableLegacyPorts Enable Legacy Ports boolean false Enable polling for legacy Measure and Alarm ports. Disable this to maximize bus speed when using fMeasure.
setpoint Setpoint (%) number 0 Flow setpoint as percentage of full scale (0–100%).

Usage Examples

Live flow measurement fed into a closed-loop controller

BronkhorstMFC ──► [Flow (Value)] ──► PIDController → [measured]
  nodeAddress: 3
  baudRate:    115200
  pollRateMs:  10

Monitor flow and temperature on a scope

BronkhorstMFC ──► [Flow (Value)]    ┐
              ──► [Temperature (°C)] ├──► Scope

Multi-instrument bus scan and auto-configure

Use the SCAN BUS button on the block face to discover all PROPAR devices. Selecting multiple instruments automatically places additional BronkhorstMFC blocks on the canvas, one per instrument.

Remarks & Best Practices

  • Source block with setpoint output: All measurement outputs are on the right side. The setpoint is written to hardware via the block face input or the setpoint parameter — there is no left-side setpoint input port.
  • Web Serial API required: Only available in Chromium-based browsers (Chrome, Edge, Brave, Opera). The block displays a "Browser Not Supported" warning in Firefox and Safari.
  • Automatic flow scaling: After connection the block calls identify() to read the instrument's full-scale capacity and unit. Flow values on fmeasure and measure ports are then automatically multiplied by (capacity / 100) and reported in engineering units.
  • Selective polling: Only ports with outgoing connections are polled, minimising bus traffic. fmeasure and temperature are always polled to keep the block face display live.
  • fmeasure vs measure: When both ports are active, measure (16-bit integer) is skipped in favour of fmeasure (float, higher precision). Enable legacy ports only when the instrument does not support process 33.
  • Parameter Explorer: While connected, the wrench button opens a full PROPAR register browser, allowing any DDE parameter to be added as a named output port.
  • Tunable params: pollRateMs and setpoint can be changed live from the Properties panel during an active simulation.

Related Components

  • BronkhorstEmulator: Emulates a Bronkhorst instrument on a serial port for software-in-the-loop testing without physical hardware.
  • ExternalInput: Inject synthetic flow values into a control diagram without hardware.