PLC Program to Control Level of a Single Tank


This is a PLC Program to Control Level of a Single Tank.

Problem Description

One open tank is installed in the plant of which liquid level is to be controlled. When level reaches the Level Low, Outlet flow is blocked and inlet flow is allowed until high level is achieved. And when Level High is detected, outlet flow is allowed and inlet flow is blocked.

Problem Diagram

Diagram of a single tank level controlplc-program-control-level-single-tank-01

Problem Solution
  • To detect high and low level of liquid in the tank, two level switches are used which gives output in digital terms, that is when corresponding levels are detected, it gives output high otherwise remain low.
  • To control level of this system, Single Acting piston valve can be used which has two states, either fully open or fully close.
  • Low Level Switch is mounted at the bottom of the tank and Level High switch mounted at the side upper most position.
  • When this inputs are detected, output to Control Valve has to be latched in order to continuously fill or empty the system.
  • Master start/stop is also provided to shut down or start the entire process.
PLC Program

Here is PLC program to Control Level of a Single Tank, along with program explanation and run time test cases.

List of Inputs and Outputs
 I:1/0	= Level High Switch	(Input)
 I:1/1	= Level Low Switch	(Input)
 O:2/0	= Inlet Valve		(Output)
 O:2/1	= Outlet Valve		(Output)
 I:1/14	= Start			(Input)
 I:1/15	= Stop			(Input)

Ladder Diagram to control this processplc-program-control-level-single-tank-02

Program Description
  • RUNG000 is simply for latching a coil and master start-stop buttons.
  • RUNG001 is to control the outlet valve through O:2/1. This is done when Level High is detected.
  • Latching of Output O:2/1 is done because when High Level is detected, input to RUNG001 is temporary, like Push Button. So in order to keep outlet valve open until the Level Low I:1/1 is detected, latching is done. XIO of Level Low Switch is connected in series so that when Level Low is detected, it goes true closing the outlet valve.
  • Similarly in RUNG002, it works exactly same. The only difference in RUNG002 is that extra I:1/14 contact in parallel with LLS.
  • Suppose when the system is started and the tank is partially filled, neither LHS nor LLS is detected, in this case, outlet and inlet valves remain closed while inlet valve should open to start filling the tank because it’s partially filled.
  • To eliminate this error, I:1/14 (Start) is connected in parallel to LLS I:1/1 contact. This checks if LHS (I:1/0) is detected or not. If LHS is not detected, then it opens the inlet valve until LHS is detected.
Runtime Test Cases
Inputs	                Outputs	                Physical Elements
I:1/0 = 1, I:1/1 = 0	O:2/1 = 1, O:2/0 = 0	LHS Detected, Open Outlet Valve
I:1/0 = 0, I:1/1 = 1	O:2/0 = 1. O:2/1 = 0	LLS Detected, Inlet Valve
I:1/0 = 0, I:1/1 = 0	O:2/0 = 1. O:2/1 = 0	None detected, Open Inlet Valve

Sanfoundry Global Education & Learning Series – PLC Algorithms.
To practice all PLC programs, here is complete set of 100+ PLC Problems and Solutions.

Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.