question for RSLogix 500

joseph_eid

Member
Join Date
Apr 2003
Location
Toledo, OH
Posts
4
how can I start this project?

Three pumps are arranged as follows to provide cooling water for a manufacturing plant. For cooling to occur, at least one of the pumps must be on at all times. For more cooling, a second pump is requested to turn on, followed by a third pump if sufficient cooling is still not received. To protect each from wearing out prematurely, a plan has been devised to allow each pump to turn on and off by using logic to turn on the next pump in sequence and turn off the pump that has been on the longest. Timers should not be used to determine the pump on longest but rather logic should be used to determine which pump should have been on the longest. For example, if pump 2 and 3 are on but 1 is off, pump 2 is the one that should be turned off since it probably came on before 3 did. If a call for less cooling is received and all three pumps are on, the pump that was logically on for the longest time should be turned off. The system starts out with no pumps on and when a call for more occurs, pump 1 will turn on. Then the system is cyclical rotating through pumps 2, 3, 1, 2, etc. And add auto/manual switches for 1, 2, or 3 pumps. Auto will allow cycling of a pump normally while manual will allow a pump to be started and stopped with a push-button.

Regards,

Joseph Eid
 
The problem with your question is that someone has asked You to answer it, because more than likely you have paid them to teach you this, and you will rip off your future employer if we answer it for you. Show where you are stuck.
 
I am stuck on putting all three pumps on one switch. I did it using 3 switchs, and having the first pump on turn off first, I can't put them on one switch, that is where i am stuck.
Thank you for your reply, I was only asking for some help.
Regards,

Joseph Eid
 
Joesph I would probably be as lost as you are now but maybe you could look at using a shift register to do this. The how you will need to investigate but basically it would follow and "if then format" (which I have learned here is the basics of any form of plc programming).

The point I am trying to make is one switch can activate any/all pumps but something else may condition the need for the number of pumps. The logic behind the sequence...ie which pump to use in what order would be a first in first out sequence..ie first pump to start will be first pump to go off...this would sequence each pump.

As I stated I am not versed in doing this plus can not state specifics on HOW to do this, its just a thought on an approach. If this information is helpful and you do determine a procedure I would appreciate your posting the code so I could look at it.

I imagine the number of possibilities are kind of endless for this type procedure, wish I had the opportunity to actually do this.
 
rsdoran,
I want to thank you first, I was working with counters on one try, second like I said it works if each pump has it's own switch. I will look into shift register. I like the saying that you have, "tell me and I forget, show me and I remmember, involve me and I understand". Thank you.

Regards,
 
Your project is well defined and the program can be written based on what you have outlined, but, why are you not allowed to use timers or more than one switch? Is this a school exercise? If not, as others have said in the past, please post some of the code and we'll try to help solve the problem.
 
This is obviously a school project, because in the real world nobody eliminate the use of timers to solve a problem like this. The instructor obvioulsly wants to illustrate a certain type of logic structure. What have you been going through the last few classes? As a clue, try setting internal "flag" bits or coils to indicate which pump came on first, and then change them when that pump is turned off.
 
One method would be to count starts for each pump, then start the pump with the least amount of starts first and so on.
Another method, if system stops and starts often then each
time systems starts which sequences 1,2,3 or 2,3,1 or 3,1,2.
Over time each pumps run time would balence out.
 
Won't your counters work if you add a one to the counter with each button press, and then reset your counter if it is greater than 3 and MOV a 1 into your counter? Then run each pump based on counter value.

I don't want to be the grumpy one here, but how can you track the "Time" each pump has run without the use of "Timers"? When your instructor tells you, let me know.

Thanks,

Vetteboy
 
Last edited:
The pumps are prioritized. Pump 1 runs by default, pump 2 is added if demand increases, pump 3 if still more is needed.

Logically, if you are comparing pump 1 and 2, pump 1 would have been running first, ergo, it has been on longer. Likewise 2 and 3 - 2 was on before 3.

At least, that's what I got from it.

TM
 
I see it as a circular FIFO problem. You can construct a pretty good analog to a FIFO with two counters; one counter holding the number of the pump to start, the other holding the number of the pump to stop. Pump start requests increment the start number counter, pump stop requests increment the pump stop counter. You will obviously need logic to handle the wrap point of the counters (3 to 1) and a check to make sure the stop counter doesn't get ahead of the start counter. Two shift registers would probably do this pretty well also.

Keith
 
Timothy, I get what you are saying, but if you program in logic to balance it out based on those assumtions, how do you know when you have overcompensated. I don't see a real world application working without timers. If I'm wrong I really do want to know, that way I can say I've learned something.
 
I think the idea wasnt to know how many hours, minutes or days which pump has been on but to know which pump was started first, which 2nd and which 3rd. The first pump on would then be first pump off. Its just a practice to make someone think in logic (I think) then they could add timers, counters etc later to develop more.

I am not in most of y'alls class when it comes to programming. I need to sit down and do some of these "student assignments" so I could learn to think in logic better. I did notice one thing though:
Keith:
I see it as a circular FIFO problem. You can construct a pretty good analog to a FIFO with two counters; one counter holding the number of the pump to start, the other holding the number of the pump to stop. Pump start requests increment the start number counter, pump stop requests increment the pump stop counter. You will obviously need logic to handle the wrap point of the counters (3 to 1) and a check to make sure the stop counter doesn't get ahead of the start counter. Two shift registers would probably do this pretty well also.
I said
The point I am trying to make is one switch can activate any/all pumps but something else may condition the need for the number of pumps. The logic behind the sequence...ie which pump to use in what order would be a first in first out sequence ..ie first pump to start will be first pump to go off...this would sequence each pump

It may take me years but I will learn.
 
Ron-
I thought someone already brought that up. I missed it on my second scan of the posts before I wrote this.
I think you're right about the intent of the assignment. It's not meant to be a real world application. It is most likely intended to force the thinkers to narrowly focus on a very specific logical idea. Not a bad little assignment all in all, though.

Keith
 
I solved a problem of that kind last year, but it was with 6 pumps, and a level (tank) of water (before the pumps) so the level automaticaly turns a numbers of pumps. Was not easy, uses timer, and if a pump was in manual (turned on) it counts for the timers, and for the quantity of pumps on, and.,....... well really large to explain,


so, try something (ladder) and bring it back to the forum so we can help you.....




Luis
 

Similar Topics

Hi all, I'm using a Micrologix 1400 PLC. I have 8 physical DI's, 4 DO, 4 AI's that will be radio transmitted to a DCS Master. The DCS is a Bailey...
Replies
8
Views
9,384
We recently had an issue with one of our systems. I was trying to trouble shoot from RsLogix, however I dont have the original logic file, so...
Replies
2
Views
1,283
I've done a few AB projects, but have not seen either of the following in a MOV instruction (I can't figure how to take a "snippet" and insert). I...
Replies
9
Views
3,283
when your pointer gets indexed, if your previous reference is true, and your current reference is true before getting indexed, will the...
Replies
13
Views
5,472
Hi I deal with the micrologix series of PLCs on a weekly basis from the maintenance and operations side so thought I might have look whats going...
Replies
3
Views
1,773
Back
Top Bottom