Home Member Area Links Events Publications Promotions

LabVIEW drivers - Brooks controllers on 0154 control box

Brooks controllers

It's easy to setup the connection between LabVIEW and your Brooks 0514 control unit. With SmartDDE running and the provided demonstration program it should be easy to create some working program. shows an example of a setup with 2 pressure controllers and 2 flow meters connected to the control unit.


Communication with a Brooks control unit works like this:

  • run the DDE server, SMARTDDE, and open the connection on the right serial port at the right baudrate
  • for all channels in use create a DDE reference
  • for all channels request to read the process value
  • if the channel is a controller write the setpoint if it has changed
  • at fixed time intervals repeat the previous 2 steps until some condition is met e.g. the STOP button has been pressed
  • for all channels remove/close the DDE reference (in reverse order?)
  • stop/close the DDE server


Special feature

The control unit can be used to set the setpoint. This could result in a discrepancy between the setpoint on the user interface and the actual setpoint. Fortunately it is possible to read the actual setpoint from the control unit.
An escpecially designed mechanism allows to change the setpoint either on the Brooks 0154 control unit or on the user interface. A change of the setpoint on the control unit will change the setpoint on the user interface which will not in turn change (with the existing value) the setpoint on the control unit. A change on the user interface will change the setpoint on the control unit which will not in turn change (with the requested value) the setpoint on the user interface.

This file contains:

  • brooks dde -
    This vi opens the DDE connections.
  • brooks dde - read
    This vi (functional global) performs the DDE read (process value) actions.
  • brooks dde - write
    This vi (functional global) performs the DDE write (setpoint) actions.
  • brooks dde - read setpoint
    This special feature vi (functional global) performs the DDE read (setpoint) actions.
  • brooks dde -
    This vi closes the DDE connections.
  • brooks dde -
    This vi (global variables) is required for the DDE read/write (setpoint) actions.
  • brooks dde - 0154
    blockdiagram of brooks dde sample program

    This vi shows how to use the driver vis with a 0154 control unit and a mix of controllers and meters.

  • brooks dde - 0154 sample
    This vi contains the global constants required by the sample program.

All these vis have been made with LabVIEW 8.5.1.
The control unit in the example is connected to COM1 at a baudrate of 9600.


The 0154 control unit accommodates four devices. They are named/tagged CHANNEL1 to CHANNEL4.
It is possible to use more than one control unit but it might be required to rename the channel names.

The 0154 control unit provides only a subset of the information that is available on digital controllers or meters.

If the control unit is not connected to COM1 at 9600 baud, changes must be made to brooks.dde - For example CHANNEL1:COM1,RS232,9600 might become CHANNEL1:COM3,RS232,19200.

It should be possible to open the DDE server from a LabVIEW program automatically.

Bart Boshuizen, 2010/04/27

© copyright 2000-2014,
design by Bb.