Tank Draining Interlocks in FBD: Porting a PLC Recipe to a Yokogawa DCS
Rebuilding a classic two-tank FBD interlock on CENTUM VP, with HART and Foundation Fieldbus level inputs.
The Example Is Simple. Production Rarely Is.
InstrumentationTools walked through a two-tank draining program in functional block diagram (FBD) form: two analog level inputs, two digital pump outputs, and one pump running at a time. Tank one drains above 500 liters while tank two sits below 400 liters. Pump one stops below 300 liters, and the roles swap. The logic is clean and easy to troubleshoot. FBD was a good choice by the author, and I agree.
However, that example assumes perfect level signals and healthy pumps. Real blending areas violate both assumptions daily. Therefore, let me port the recipe to a Yokogawa CENTUM VP environment and harden it for continuous duty in a production Yokogawa DCS.
Choosing the Level Input: HART or Foundation Fieldbus
On a CENTUM VP with an analog input card and terminal modules (such as the Yokogawa Analog Terminal Board), a Yokogawa EJA-E level transmitter arrives over 4–20 mA with HART. You read the primary variable in the DCS and keep device diagnostics in a handheld communicator or Plant Resource Manager (PRM).
With a Foundation Fieldbus card, the AI block lives inside the transmitter. The segment carries status with every value. Both architectures work, but they behave differently under fault conditions:
- Step 1: For HART inputs, enable the ADV159 signal converter's open-wire detection and map it directly to an I/O error.
- Step 2: For Fieldbus inputs, configure the AI block failure mode. Choose "use last good value" with a short timeout, never "hold forever."
- Step 3: Add damping of two to four seconds on agitated tank levels. Excess damping hides real level loss, so keep it modest.
- Step 4: Route I/O status into the interlock. A pump must not trust a dead or frozen level input.
Rebuilding the Interlock Logic Block by Block
In CENTUM VP logic, the comparison and set-reset structure translates directly. The original bit names deserve keeping because they document engineering intent:
-
Step 1: Feed LT-101 through a CALCU comparison block. Set
start_T1_drainwhen level exceeds 500 liters and LT-102 sits below 400 liters. - Step 2: Wire the set output into an RS flip-flop. Connect the reset side to level below 300 liters on tank one.
- Step 3: Mirror the structure for tank two with its own threshold pair, as the original article specified.
- Step 4: Cross-couple the resets. Each running pump forces the other tank's start condition to false. This replaces the implicit single-pump guarantee with an explicit mutual interlock.
- Step 5: Add a minimum-off timer of thirty seconds per pump. Rapid restarts overheat small drain pumps.
Moreover, verify the setpoints against the actual tank geometry. The 500, 400, and 300 liter values assume linear tanks. A vertical cylindrical tank with a dished bottom shifts the effective volume-to-level ratios.
What the Original Skipped: Pump Protection
The article's scope excluded filling logic, which is fair. However, two essential protections belong beside any drain logic:
- Step 1: Add a low-low level trip ahead of each pump. Never rely on the drain setpoint alone, because transmitter drift is inevitable.
- Step 2: Add a discharge pressure or flow permissive on the common header. A stuck blending valve must not trap a running pump against a closed discharge path.
Therefore, the two-tank blend becomes a coordinated sequence rather than two isolated comparators. FBD still handles it well, while sequence tables in CENTUM VP can orchestrate the campaign if the tanks drain alternately by recipe.
Conclusion & Action Advice
The InstrumentationTools example teaches the right skeleton: comparisons, set-reset memory, and mutual interlock. A production Yokogawa system needs more. Choose HART or Foundation Fieldbus inputs deliberately, and wire I/O status into the logic. Add damping, minimum-off timers, and hard low-level trips. Finally, verify every setpoint against tank geometry and commissioning data.
FBD remains my preferred language for this work, because a technician can read the logic during a night shift without a manual. Build the simple version first. Then protect it like the asset it runs.
About the Author: Zhang Yuchen is an industrial automation engineer with over 10 years of experience in PLC, DCS, and control systems.