Jump to content

Filling a tank to a specified pressure

Recommended Posts

Hi there!

I am using on a project and one part of it is filling a tank to a specified pressure and then giving an audible alarm. Pressure value will be added from the PLC, and then when the tank connected to the pneumatic line of the device, it will fill the tank to the specified pressure. It is very similar to the tyre inflation stations. However, in my program filling solenoid is not very stable and it opens/closes too fast, like 3 times in 2 seconds. What is the best way to program it for a more stable version? I have used a "Compare" function, which compares the actual pressure with the set value and it opens the filling valve.


Thanks in advance.


Link to comment
Share on other sites

A hysteresis. I use start and stop setpoints for filling liquid levels in tanks (and alarms). open/close valve setpoints that are very close will result in chatter. PSI value reached could be the valve off setpoint and a value some PSI lower could be the fill valve open setpoint. Depends on how tight of a pressure value you are needing to maintain. If you have to keep a tight value at all times..... not sure.... a  PID control? You generally don't want the valve open and close to trigger on the same setpoint. Heavy filtering on the pressure transducer integer would dampen the oscillation potential some. Just a burst of thoughts.

Link to comment
Share on other sites

  • MVP 2023

Both Aus and hotwires are correct in suggesting deadband control.  Your output is going to chatter incessantly with one compare block, which is basically trying to hold 1 PSI.

Here's some simple hysteresis logic for a Jazz:


Jazz Deadband.jpg

Feel free to critique my logic.  I didn't have a Jazz handy to test it on.


Joe T.

Link to comment
Share on other sites

Thanks all for your response. I used a subtract function and high filtering but didn't really help.

@Joe Tauser

Thanks for the example but I couldn't really get the concept of the second net. When tank pressure is equal or below set point, MB0 energized. And when MB0 energized, Output 0 is not energized.

Link to comment
Share on other sites


Here is a modified snippet from some working code I used to control the water level in a tank. It's the simplest form of an OUTPUT commanded by START and STOP setpoints. Might help to scale PSI to include tenths of PSI, if IF you had a 0-100 PSI transducer then linearize to 0- 1000. 1000 meaning 100.0 PSI. Then you can tweak your setpoints down to a tenth of a PSI. Happy composing.

P.S. Obviously you would want to  put an enable/disable contact in between the set/reset bit and the output coil.

      MB1                              MB2                                                                                          O0

 AUTO bit                  S/R bit driven by compare blocks                       Control valve

-----| |---------------------| |---------------------------------------------------(    )--------------




Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...