Jump to content
thecarb

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.

 

Share this post


Link to post
Share on other sites

Have you got a differential set up on the setpoint?  Without this a change of +/- 1 might trip things incessantly.

cheers,

Aus

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Reviewing it today I realize that what I wrote won't work; it was late when I put it together.

As I like to say, my code never works right the first time.

Take a look at this

 

Jazz deadband.jpg

Joe T.

Share this post


Link to post
Share on other sites

Carb,

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

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

 

HotwireS

example1.JPG

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×