Skip to main content

Programming the Bristol FB300 with OpenBSI and ACCOL

By NFM Consulting 3 min read

Key Takeaway

A practical guide to programming the Bristol FB300 RTU using OpenBSI and legacy ACCOL tools — covering project setup, I/O point configuration, control logic development, communication parameter setup, and program download/verification procedures.

Quick Answer

The Bristol FB300 is programmed using OpenBSI for graphical configuration or ACCOL for text-based function-block programming. Both tools handle I/O point definition, control logic, communication setup, and historical data logging. OpenBSI is the modern standard for new deployments.

Choosing Between OpenBSI and ACCOL

Feature OpenBSI ACCOL
Interface Graphical (Windows) Text-based
Learning curve Moderate — visual drag-and-drop Steep — requires ACCOL syntax knowledge
New deployments Recommended Legacy only
Online diagnostics Rich — live point monitoring, trending Basic — register-level viewing
Program portability Export/import between FB300 units Copy source files manually

Step 1 — Project Setup in OpenBSI

  1. Install OpenBSI on a Windows workstation. Ensure you have the correct version that supports your FB300 firmware revision — version mismatches can cause download failures.
  2. Create a new project and select the FB300 as the target device. OpenBSI will present the hardware configuration dialog where you define the installed I/O cards and their slot positions.
  3. Configure the communication path — typically RS-232 direct connect for initial programming, or Ethernet if the FB300 IP address is already configured.

Step 2 — I/O Point Configuration

  1. For each physical I/O channel, create a logical point with:
    • Point name: A descriptive tag name (e.g., TK101_LEVEL, PMP201_RUN).
    • Engineering units: The display unit (PSI, °F, BBL, GPM) and the zero/span scaling parameters.
    • Alarm limits: High, high-high, low, and low-low setpoints with configurable deadbands.
    • Scan rate: How frequently the point is read from the I/O card (typical: 1 second for critical points, 5–10 seconds for non-critical).
  2. Use consistent naming conventions across all FB300 units in your system to simplify SCADA master configuration. A recommended pattern: [AREA]_[EQUIPMENT]_[PARAMETER] — for example, TB01_TK101_LVL for Tank Battery 01, Tank 101, Level.

Step 3 — Control Logic Development

OpenBSI provides function blocks for common oilfield control logic:

  • Analog scaling blocks: Convert raw ADC counts to engineering units (see our analog input scaling guide for details).
  • Alarm blocks: Monitor process values against configurable setpoints and generate alarm events.
  • Timer blocks: Implement on-delay, off-delay, and retentive timers for pump restart delays and sequencing logic.
  • PID blocks: Closed-loop control for pressure regulation, level control, or temperature control applications.
  • Flow calculation blocks: AGA-3, AGA-7, and AGA-8 compliant flow computation for gas measurement applications.
  • Logic blocks: AND, OR, NOT, comparison, and mathematical operations for building custom control sequences.

Step 4 — Communication Parameter Setup

  1. Configure the DNP3 outstation parameters:
    • DNP3 address (unique on the communication network)
    • Data link layer parameters (timeouts, retries)
    • Point-to-DNP3 index mapping
    • Event classes (Class 1, 2, 3) and unsolicited response settings
    See our DNP3 configuration guide for detailed steps.
  2. Configure Modbus if the FB300 will poll downstream instruments:
    • Serial port parameters (baud rate, parity, stop bits)
    • Modbus slave address table
    • Register map (function codes 03, 04, 06, 16)

Step 5 — Historical Data Logging

  1. Select which points to log and at what interval (1-minute, 5-minute, or 15-minute are common for production reporting).
  2. Configure the log buffer depth — the FB300 stores historical data in non-volatile memory, and the buffer depth determines how many hours or days of data are retained locally if communication with the SCADA master is lost.
  3. Enable event logging for digital state changes and alarm transitions so that SCADA can reconstruct the sequence of events after a communication outage.

Step 6 — Program Download and Verification

  1. Connect to the FB300 via OpenBSI (RS-232 or Ethernet).
  2. Download the complete configuration. OpenBSI will transfer the I/O setup, control logic, communication parameters, and logging configuration.
  3. After download, perform a point-by-point verification:
    • Confirm all analog inputs read correctly (use a milliamp source).
    • Toggle digital inputs and verify status in OpenBSI.
    • Test digital outputs and verify field device response.
    • Confirm DNP3 polling from the SCADA master returns valid data.
  4. Save the verified configuration to your version-control system or configuration management archive. Include the FB300 firmware version and OpenBSI project version in the archive metadata.

Frequently Asked Questions

Ready to Get Started?

Our engineers are ready to help with your automation project.