Home Member Area Links Events Publications Promotions

LabVIEW drivers - Bronkhorst FLOW-BUS

Bronkhorst controllers and indicators using FLOW-BUS

Bronkhorst controllers and indicators are great instruments to control the flow of gasses and liquids. These instruments can be addressed through various protocols such as DeviceNet™, Profibus-DP®, Modbus or FLOW-BUS. This document describes a LabVIEW driver for direct communication with FLOW-BUS devices.

The FLOW-BUS protocol is described in short here and a full description can be found in the instruction manual 'RS232 interface with FLOW-BUS protocol for digital multibus Mass Flow / Pressure instruments' (doc. 9.17.027Q).

Program principle

Using LabVIEW with FLOW-BUS devices goes like this:

  1. open the serial port
  2. if a setpoint has changed on screen write it to the device
  3. for all channels read the process value from the device
  4. at fixed time intervals repeat the previous 2 steps until the STOP button is pressed
  5. close the serial port

Driver specifics

The FLOW-BUS protocol defines some 330 parameters but the driver addresses just 2: write setpoint and read process value. that, if defined for a specific device, can either be read or written or that can both be read and written. The presented LabVIEW driver can be used for the 2 most common parameters: setpoint and process value. Additional parameters, such as valve position, can easiliy be added.

What should be known for each device is its node number and its nominal range. On the LabVIEW BlockDiagram there should should be a reference for each control (setpoint entry) and indicator (process value display).

The driver comes as a functional global which can perform the following 3 tasks: initialize, update and terminate. 'initialize' collects and stores the abovementioned parameters and then open the serial port. 'update' will update the setpoint of any device if the setpoint on screen has changed and updates the process value reading of each next device in each next call. 'terminate' sets all setpoints to 0 and closes the serial port.

The following sample shows how to implement the LabVIEW driver for 4 mass flow controllers.

FrontPanel for FLOW-BUS sample


Blockdiagram for FLOW-BUS sample


The number of mass flow controllers can easily be expanded by putting more control and indicators on the FrontPanel and by expanding the arrays on the left side on de BlockDiagram.



This file includes amongst others:

  • bh ascii - the core of the driver
  • bh ascii - module the abovementioned sample program
  • bh ascii - read process the VI that reads the process value from a given node
  • bh ascii - write the VI that writes the setpoint to a given node


  • All VIs have been created with LabVIEW 2011 SP1 Professional Development System
  • For flowmeters provide a dummy reference for the setpoint.

See also


Bart Boshuizen, 2012/09/27


© copyright 2000-2014,
design by Bb.