BronkhorstMFC Block
Reads live flow, temperature and alarm data from a Bronkhorst mass flow controller over WebSerial (PROPAR protocol). Supports both ASCII and Enhanced Binary modes with automatic negotiation.
Open BronkhorstMFC in BlockWerk →# BronkhorstMFC Block
Description
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.
Parameters
nodeAddress
PROPAR node address of the instrument (1–32). For a single directly connected instrument this is typically 3. Default: 3.
baudRate
Serial baud rate. Must match the instrument configuration. Options: 38400, 57600, 115200. Higher rates give better poll throughput. Default: 115200.
pollRateMs
Target poll interval in milliseconds (0–2000 ms). Setting 0 fires the next poll immediately after each response, giving maximum bus throughput (~40 Hz at 115200 baud). Increase to reduce CPU load. This parameter is tunable during an active simulation. Default: 10.
enableLegacyPorts
When false (default), the legacy integer Measure (DDE 8) and Alarm (DDE 40) ports are hidden to maximise bus speed. Enable only when fMeasure is unavailable or when alarm monitoring is required. Default: false.
setpoint
Flow setpoint as a percentage of full scale (0–100 %). Written to the instrument whenever changed. This parameter is tunable during an active simulation. Default: 0.
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
- 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
setpointparameter — 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 onfmeasureandmeasureports are then automatically multiplied by(capacity / 100)and reported in engineering units. - Selective polling: Only ports with outgoing connections are polled, minimising bus traffic.
fmeasureandtemperatureare always polled to keep the block face display live. fmeasurevsmeasure: When both ports are active,measure(16-bit integer) is skipped in favour offmeasure(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:
pollRateMsandsetpointcan be changed live from the Properties panel during an active simulation.
See Also
- 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.