Functional block diagram language is preferred in PLC programming for its efficient troubleshooting and ease of writing. It is best suitable for many large-scale and complex applications.
PLC for Oil and Water Process
Let us see one application of separating oil and water in a tank. This is a process application and can be written and viewed easily in a functional block diagram. In this post, we will see a case scenario of writing a PLC program for separating oil and water using a functional block diagram.
Let us understand the process first. Refer to the below image. It consists of a tank with the following components – tank filling valve, heater, level sensor, temperature sensor, water valve, oil valve and diverter valve.
The process starts with a tank fill valve. This valve opens to fill the mixture of oil and water first. It fills until a certain level of 50 liters is reached. Once reached, the heater starts to heat the mixture. As it is heating, the oil starts to separate from the water after a certain period of time, and the water starts to settle down in the bottom of the tank.
Once the temperature of 100 degrees is reached, the heater stops. After that, the diverter wall mounted on the wall opens to move downwards. This starts to spill the oil present on the upper layer in the other part of the wall. This goes on till the valve-on-timer.
Once the timer is done, the output goes off and it starts to move up automatically, as it is a single-acting valve. As soon as the valve starts to move up, the drain valves of water and oil open and remain on for a certain time. After this time, the logic resets and starts again from the filling cycle.
Functional Block Diagram in PLC
Now that we have seen the case, let us see the program written for the same. Refer to the below image.
We will require the following PLC IO’s:-
- 5 digital outputs (tank filling valve, heater, water valve, oil valve, and diverter valve),
- 2 analog inputs (level sensor and temperature sensor).
As we see the logic, we first start the filling cycle from the top of the logic by turning the fill valve on. For that, we use an AND block comprising a logic running bit, tank level reached negate bit, and a condition checking tank level for more than 50 liters.
The logic running bit is assumed here to be coming from some other part of logic and is the master one. When the level is reached, the bit tank level reached is set and this cuts-off the fill valve. (Note that the level is checked after a delay of 3 seconds, to avoid any fluctuations.)
As soon as the level is reached, the heater starts to heat the tank. For that, we use an AND block comprising a logic running bit, tank temperature reached negate bit, tank level reached bit, and a condition checking tank temperature for more than 100 degrees. When the temperature is reached, the bit tank temperature reached is set and this cuts-off the heater. (Note that the temperature is checked after a delay of 3 seconds, to avoid any fluctuations.)
As soon as the temperature is reached, the diverter valve starts to empty the tank by spilling the upper layer of oil separated after heating. For that, we use an AND block comprising a logic running bit, diverter valve off negate bit and diverter valve on delay timer done bit. When the on-time is reached, the bit diverter valve off is set and this cuts-off the diverter valve. As soon as the valve supply goes off, it starts to move upwards automatically and comes back to it’s original position.
As soon as the diverter valve goes off, the drain timer starts to throw the oil and water out of the tank by opening the water and oil valves. For that, we use an AND block comprising a logic running bit, diverter valve off bit and drain timer over negate bit. When the on-time is reached, the bit drain timer over is set and this cuts-off the oil valve and water valve. Immediately following it, all the bits are reset as seen in the image and the logic restarts once again.
In this way, we saw the PLC program for oil and water separation process using a functional block diagram.
Read Next:
- Inside the PLC Control Panel: Test Quiz
- AI, AO, DI, DO Questions (PLC I/O Types)
- Codesys Timer ON, Timer OFF, Pulse Timer
- Mixing Program with Timers and Counters
- Oven Control Application with PLC Control