PID and control algorithms are one of the most used functions in PLC programs. As more and more systems demand accurate control of process variables, these algorithms and functions play a very important role.
Before using PID, we can also use some simple addition and subtraction formulae for controlling a process. Let us see a case of heating a tank here in this post. In this article, we will see how to heat liquid in a tank by steam flow, using the language of functional block diagrams, as it is easy to use and understand.
Tank Liquid Heating Control by Steam Flow
Let us understand the case scenario first. There is a tank with a liquid in it. It needs to be heated and maintained around a set temperature.
For this, a steam valve is used. When the temperature is below the setpoint, the valve will open at a rate of 0.1% / 10 seconds time. When the temperature is above the setpoint, the valve will close at a rate of 0.1% / 10 seconds time.
And to lock the valve at it’s minimum and maximum values, we compare it’s current opening percentage. If it is already 0%, then we prevent it from closing further by forcefully moving value 0 in it. If it is already 100%, then we prevent it from opening further by forcefully moving value 100 in it. Otherwise, there will be no limit in it’s addition and subtraction.
PLC FBD Example
Now, let us write the program. Refer to the below image. There is one PLC analog input – temperature sensor and one PLC analog output – steam valve.
If you see the image, the program is divided into two parts. In the first part of the left hand side, we open the valve and in the second part of the right hand side, we close the valve. As seen in the case, we check the temperature every 10 seconds. So, we use a timer initially which runs continuously for every 10 seconds.
If the temperature is less than equal to 45 degrees and the current steam valve opening is less than 100%, then we add the current value of valve with 0.1 after a 10 second pulse. For that, we use LE block, AND block and ADD block. To limit the valve opening, even if the temperature is low but the current steam valve opening is more than equal to 100%, then we forcefully move 100% in the valve and stop adding now.
If the temperature is more than equal to 45 degrees and the current steam valve opening is more than 0%, then we subtract the current value of valve with 0.1 after a 10 second pulse. For that, we use GE block, AND block and SUB block. To limit the valve opening, even if the temperature is high but the current steam valve opening is less than equal to 0%, then we forcefully move 0% in the valve and stop subtracting now.
The cycle thus goes on according to the temperature and at the same time, we also limit valve opening between it’s minimum and maximum values. This frequent opening and closing of the steam valve thus controls the temperature of the liquid.
In this way, we saw how to write a PLC program for heating liquid in the tank by steam flow, using a functional block diagram.
Read Now:
- Traffic Lights Ladder Diagram using Timers
- PLC Programming With a Move Instructions
- PID Controllers in Closed Loop Control Systems
- Motion Detection based Street Light PLC Logic
- SAVE and BR Memory Instructions in Siemens PLC