Identifying the Last Pump ON

learner

Lifetime Supporting Member
Join Date
Apr 2007
Location
British Columbia
Posts
81
Hi guys,

This is not an assignment.

I am facing this challenge:
• Four pumps
• They could come up in any order
• Count how many pumps are on
• Count how many flow meters inlet valves are open
• If the flow goes past a certain value (High Flow alarm) shut the last pump down
My challenge is only the last item (Identifying the last pump so I can shut it down if the flow goes too high).

I know how to specify the last pump that came on. The issue is that I think I have to do a lot of repetitive logic. I also really want to avoid the indirect addressing as the customer just doesn’t like it. Basically, I am looking for a hint to avoid doing too many lines in SLC. would time stamping the start time and comparing with the others be a good idea???
I already started with my repetitive logic anyways but it just isn't the smart way to this task.

Thanks,

Always a learner :geek:
 
I also really want to avoid the indirect addressing as the customer just doesn’t like it.

:confused: I'd like to avoid customers who don't want me to use basic programming techniques, but oh well.

If the pumps can come on in any order, does it really matter which order they go off in? Is it truly "random", or is there a duty cycle setup? If so, you may be able to look at the duty cycle to work out which pump was the last one to come on.

Without using indirect addressing you have a few options, but as you say, they all involve a little bit of repetitive coding. My best option would be to have a B or N word with the first four bits representing the four pumps. In parallel with each of the pump output coils, use a oneshot to clear the word, and latch the bit corresponding to that pump. That way each time a pump starts, it turns off all the other "pump started" bits and turns on it's own bit. When another pump starts, it clears that bit and turns on it's own. Then, assuming you have a bit come on when such a shutdown is required, put it in series with your pump starter logic, but bridge it out with an XIO of it's own "started last" bit. So only the pump with it's "started last" bit ON will shut down.
 
Last edited:
OK, so what's the sequence if you have to shut down 2 pumps or 3 pumps??
If you really only care about the last one, write the pump number into a register every time a pump starts. That register will always contain the number of the last pump that started.
 
Yup. That is a good solution too. At this point I don't care about shutting down the 2nd and 3rd pumps. However, I am always willing to learn. If you have something with that regard and willing to share, please fire away.

I should also mention that I have done a fairly complex ramp up / down of 4 VFD's using indirect addressing based on their Runhours and flow. But it's ugly. :).

Regards,

Learner
 
I should also mention that I have done a fairly complex ramp up / down of 4 VFD's using indirect addressing based on their Runhours and flow. But it's ugly. :).
Learner

Your first foray into any new programming technique always is ;)
 
I would warn the customer that "last on, first off" can cause some unwanted short-cycling. If the last pump on immediately causes excess flow that immediately huts it back off, you risk more starts per hour than the motor can safely handle. I would recommend stopping the pump that has been running the longest. Just food for thought.
 
i don't understand this.
He means to shut down the "last pump that was started" if the flow becomes too large (as shown by the High Flow Alarm). It may be confusing because in most pump-rotation schemes, it would be the "first pump that was started" that is shut off first. Perhaps here the first pumps are larger, and the smaller pumps are always started last to make up the small flow differences.
 
why not say,shut down present pump and shift to other pump

Either way he states it someone will not see it correctly especially with so many people that may not have English as first language or speak the same "dialect" (dialect used loosely) of English.

To me what you said doesn't make sense because if there are three pumps running there are three present pumps, and he only wants to shut down 1 not three. However what you said is not incorrect, just taken from a different perspective.
 
Perhaps here the first pumps are larger, and the smaller pumps are always started last to make up the small flow differences.

If that is the case it should simplify the process since certain pumps would be designated as lead or boosters already.
 
what this means/explanation ?
There are 4 pumps, and they can start in any order (example 4, 2, 1, 3). He (Learner) wants to know a way to find which pump was the last one that started.
 
I'm also going to suggest that if learner has been instructed to the point of being told which programming techniques he can and can't use, he probably doesn't have much of a chance at changing the process too significantly. Unfortunately. Sounds like a micromanager hard at work.
 

Similar Topics

Hello, I'm looking for a source for the white connectors in the picture below. This controller has 6.3mm spade connectors potted into it in rows...
Replies
4
Views
1,434
I have seen the canned transfer functions that are used to teach and transform a function from the (s) domain to the (t) time domain, but how can...
Replies
4
Views
2,789
Attached is a picture of a PLC from the mid to late 80's... It is currently running a machine that is struggling after a power disruption. Can...
Replies
22
Views
8,380
Hello everyone, I want to indentifying harware of a B&R Automation PC online to diagnose and set an encoder for the B&R ACOPOS servo drive but...
Replies
0
Views
1,499
I have a CompactLogix 1756-L72/B with only an EN2TR/C in a 4 slot chassis. Port 2 of the EN2TR is connected to two POINT I/O racks, while port 1...
Replies
8
Views
1,908
Back
Top Bottom