Sign in to follow this  
Followers 0
Surefire

Tank level program

5 posts in this topic

Hi all I'm trying to make a program for a tank level exercise in RSLogix but need a little help. The program I have writen so far can be seen here: http://www.flickr.com/photos/22988086@N02/3906513996/ the Tank consists of the following: a fill solenoid to fill the tank, a pump out motor to drain the tank, a high level detector and a low level detector. The problem I would like help with is concerning a safety feature which needs to be incorperated should the low detector malfunction the drain pump would run dry. I have incorperated a timer that starts timing when the high level sensor becomes uncovered and resets when the low level sensor becomes uncovered (if the low level sensor fails for some reason the drain pump will be shut off when the timer reaches its time limit) The problem I have is that the timer starts timing again when the low level sensor becomes covered by the rising liquid. I don't want this to happen. I would like the timer to be inhibited until the next time the high level sensor becomes uncovered. I know that there are lots of way to achieve this but I would like to do it using the simplest method ie not using compares etc If anyone could spend a few munutes on this I would be very grateful.

Share this post


Link to post
Share on other sites
Surefire, First of all, congratulations on submitting the kind of "request for help" post that actually stands a chance of getting some results. You have asked for a specific kind of help rather than a "Write This Logic For Me" post. You have displayed some work - that goes a long way. Second, I'm not going to attempt to answer your question directly – partly because I would have written this completely differently and partly because you really need to figure this out for yourself. You are clearly attempting to learn this, so giving you a direct answer will be of little help there. Instead, I want to ask you to re-think your logic – re-examine what it is that you are wanting to do. After looking at your logic, I think your real solution is in a different location than you suspect and is a result of how you have chosen to describe how the system works. I suggest starting here: We want to: 1) Start the pump when a HI limit is detected and seal it in until either a LO limit is detected OR the timer times out. 2) Once shut off, the pump remains off until a HI limit is detected again. 3) The timer runs when the pump runs. 4) The timer stops when the pump stops. 5) The Valve is open when XXXX (I don't know – its not clear from your description) I will say that there is no need for compare statements or anything more complex here nor should there need to be any more rungs than there currently are. Simply re-writing what you already have should do it. Hope this helps. Steve Edited by Steve Etter

Share this post


Link to post
Share on other sites
Just to amplify on Steve's excellent response, you have noted that the timer is part of a safety check. If the timer times out while pumping then you have two possibilities: the pump has failed or the low level detector has failed. Whichever it is (and you don't have enough inputs to tell which) you can't keep the standard program functioning. You can't trust the inputs or the outputs until the system is checked. (I know this is just an exercise but this is a consideration in the real world.) At the least the solenoid and pump outputs have to be disabled until some type of reset event takes place. And from the picture of the logic it appears that, in normal usage, the system will alternately fill and pump as the low level switch makes and unmakes. Is that the desired action? Edited by b_carlton

Share this post


Link to post
Share on other sites
Even though this is an exercise, in a real world application a second type sensor would be used if there were machinery protection or environmental concerns about the pump running dry in the event of a failure. One common way is to monitor the load on the pump motor. Once the tank is empty the pump motor load will drop dramatically because it is no longer doing any work, ie, it is not moving any fluid. In fact, there are sensors on the market made specifically for this purpose. Something to keep in mind when you encounter an actual application.

Share this post


Link to post
Share on other sites
You've got some excellent responses and I hope to add another couple of suggestions. 1. Look at cutepdf or some other pdf printer program shareware. This way you can print a pdf of your program you can attach to posts and not have to refer to a second location. 2. Concerning your program - I'll remind you the standard construct for a motor output rung in AB mnemonic would be as follows: SOR BST XIC Start_PB NXB XIC RunOutput XIO StopPB BND XIO OverloadProtector XIO InterlockProtection OTE RunOutput EOR If you let Hi Level be your Start Button and Lo level be your Stop Button and timer be your OverloadProttection the change is easy to follow. 3. In the real world liquids have ripples and a flutter in your low level would produce a flutter in your fill solenoid. 4. How does your program continue to fill between Lo and Hi Levels I don't see it?

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
Sign in to follow this  
Followers 0