Help - Search - Members - Calendar
Full Version: Tank level program
Forums.MrPLC.com > PLCs and Supporting Devices > Allen Bradley
Surefire
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.
Steve Etter
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
b_carlton
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?
Alaric
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.
BobLfoot
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?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.