Lead/Lag between different PLC's

ganutenator

Lifetime Supporting Member
Join Date
May 2002
Location
kansas
Posts
1,440
I need to figure out how to design Lead/Lag Logic between two Compressors. I have done this in the past with not too much difficulty. What makes this unique, is that there are two different PLC's. Also, because the Compressors are Vapor Recovery Units, one must be running at all times in order to not get fined by the state. So, when they switch Lead/Lag status, both will be need to be temporarily running.

Current Configuration:

Two SLC 5/04 PLC's with identical PLC programs connected via Data Highway Plus. One PLC per compressor.

Two identical Panel Views, each connected to their respected PLC via DH 485.

Conditions to Cause Switch

1) Loss of current running compressor.
2) Selection at either Panel View
3) Selection at HMI (Wonderware Screen)
4) Hours running greater than ?
5) etc. other suggestions accepted

Questions:

Should I use discrete I/O between the two PLC's for better results, or will the Data Highway + Network suffice.

There is existing code in one of the PLC programs to handle this, but it doesn't work. I would like to re-write that section from scratch, but am for some reason stumped. Too late in the day, Too many drugs as a kid, etc.?
 
I have zero experience with DH+, but I don't see the need to go discrete when you already have a way to talk back and forth.

I'm concerned about putting the lead/lag program in only ONE SLC. If that one goes down for any reason, how will the second compressor operate? Ideally, you'd have a separate PLC acting as the master, with both compressors as slaves, but that's not cost-effective. You might want to look at having identical programs in both where each will query the status of the other compressor.

The compressors can update each other with their current status, simple on/off states for stuff like:
  • "I'm alive"
  • "I can run if necessary"
  • "I'm running"
  • "I've run a long time and would like a break"
  • "I'm on break"
You can probably think up a lot more, but I think ONE data word would be sufficient to handle all the status info you could ever need. This way, each compressor can make up it's own mind about what to do.

Just an idea... :D

beerchug

-Eric
 
Just a reminder, Allen-Bradley rules are "No control done over DH+", they do not endorse or support control done over DH+.
A lot of folks misinterpret that statement as being absolutely nothing that has the word “Control” attached to it, that isn’t so. For example A-B don’t want you to have a motor operating a valve on PLC#1 and the pressure switch that stops that motor on PLC#2 being sent to PLC#1 via DH+.
On one of my projects I used PanelView 1400e’s as HMI devices sending operating commands via fiber optic Ethernet, which would fall under the same rule as DH+, to PLC-5/40E’s to operate high voltage breakers. This was permissible because the breaker operating device/limit switches/safeguards/alarms/warning devices and such were all on the local PLC. The operating commands came over the Ethernet link which were not critical and besides the SOP was to always have a repairman at the remote location to verify operation and perform testing and lock-outs when necessary.
In short, you should use RI/O for controlling the interaction of the compressors. DH+ for non-critical functions.

Roger
 
Last edited:
Using hard-wired signals is probably the easiest way to go, and certainly the safest.

Here are two suggestions how you can increase the reliability of the "data-transfer":

1. Let all critical signals be doubled with one of the two signals being an invert of the other. Check in the receiving end that only ON+OFF or OFF+ON signals combinations are sent.

2. Make a "heart-beat" signal for each compressor. This will indicate that it REALLY is alive and not just frozen in a state.
 
[Originally posted by ganutenator


5) etc. other suggestions accepted


Just a suggestion

The Lead-Lag systems that I have seen (Hard-wired) are influenced by pressure switches (ie Not enough pressure + time period = both compressors run...etc)

(You didn't mention pressure switches in your post)

How was it done with the existing code??
 
Not too difficult. Just operate the control from 1 PLC. Do the lead lag selection etc in the one place. Have a heart beat from each PLC so the each one knows the other is alive. Also have an "available" signal from the second to first PLC for obvious reasons. Then send a "your in the lead" signal from PLC1 to PLC2, provided the heartbeat from PLC2 is ok and the "I'm available" signal is also present.
Expand the logic slightly in PLC2 in case the heart beat vanishes from PLC1.
2 signals from each PLC only required.
beerchug
 
I've had similar problems with hospital lead/lag compressor systems.

The only critical control function is switching Lag machine to lead when lead compressor faults. This can be done with a generic "Not available" contact caused by fault shutdown, use a held-closed contact that opens if PLC faults or looses power.

The Lead/Lag switchover function I presume is to equalize wear on the two units. Thus is a non-critical function that can be triggered via DH+, when switch over is requested, from any location in the network. Having the logic for this in one PLC is not a problem, for if the compressor with the controlling PLC is offlione, there are not two compressors to lead/lag anyway (see prev paragraph)

The parallel run before shutdown has caused me the most fits. You have to set both compressors to lead, mayhaps force the previous lag to start, then when the previous lag is running and providing air allow the previous lead to become lag and shutdown.

Luck!
 
Here is logic for a similar requirement from a project I did a few years back. I used Micrologix 1000's, so it was hardwired I/O. You should be able to substitute bits over DH+ for the I/O.

As far as running the two blowers simultaneously, I ususally just put an interlock so that barring failure the "old lead" won't stop until it gets a run bit from the "old lag".

altern8.jpg
 
Thus is a non-critical function that can be triggered via DH+, when switch over is requested, from any location in the network.
I gathered that it would be considered a critical situation if both compressors stopped. Although the actual triggering of the changeover may not be critical the conformation and status communication between the two compressors would be considered so.
I think it is a timing concern with Allen-Bradley DH+ rather than reliability, DH+ can be really slow.
In my experience compressors don't always stay on line when they come on line, you wouldn't want the retiring compressor to come off line because of old data, now you have both off-line.

Roger
 
Sweet

I need to digest this, digest the existing logic, and get back to you all. This is great info. Lately I have been loving this place.

Right now I have to fix the problem where someone implemented the PanelView Buttons incorrectly. i.e. Used Latched buttons but didn't implement the handshaking tag correctly.

I am loving this site.
 
Last edited:
hard wire

I recently (well, last year) had a similar challenge, with
a 'back up' air compressor. There were two PLCs, and the
back up compressor was to run, if assigned, if the main
compressor failed.

The two PLCs were connected with ethernet, but, the design
philosophy was to not use the ethernet for this. Instead,
we actually hard-wired the motor controls for the back up
compressor, and used interposing relays from each of the
two systems to start or stop the compressor.

Each PLC could 'see' what was going on, and, I recall that
I used an unusual acronym for a logic condition that existed
at times. The fact was that 'Somebody, Not Me' started
the compressor. [yea, I forgot, there were bucket-front
HOA type controls too.]. So, all through the logic, I
had bit labeled 'SNM history', 'SNM oneshot'.

sweet.

We also had to assign 'which' PLC had command of the spare
compressor. There were four relays commanded by each PLC, with
the status of each relay read as an input to the other. Using
these four relays, I was able to send and receive a rudimentary
code system, power sensitive, and achieve success.

Of course, it had to take all kinds of things into account that
time (calendar) and age (mine) are causing me to forget.
 
BobG wrote:
The only critical control function is switching Lag machine to lead when lead compressor faults. This can be done with a generic "Not available" contact caused by fault shutdown, use a held-closed contact that opens if PLC faults or looses power.
You should consider the possible even if unlikely, for example that the abovementioned signal is welded (if a relay-contact) or burnt to ON (if discrete output). So if the signal is critical, it should be a doubled signal or a heart-beat type signal.

BobG wrote:
The Lead/Lag switchover function I presume is to equalize wear on the two units. Thus is a non-critical function that can be triggered via DH+
Actually, this function can trigger a shutdown of both compressors at the same time (!) if both compressors signal correctly that they are running, but one is signalling incorrectly that it has the lead. So these signals are critical as well. I think that it is what RogerHollingsWorth also wants to point to:
I gathered that it would be considered a critical situation if both compressors stopped
 
who is first??

The answer is simpler as you think use one input from other mainsswitch if on fine.
if off start up this one.
if wanted to switch just switch over and and leave compressor stopped until it is asked for so just keep it in lag until started. then the lead lag will be activated and if one needs stopping it will stop the lag only if other is running.
so just use two inputs to check the running of the compresors.
 

Similar Topics

Good day everyone. if you have a logic for 3 pumps (lead/lag/off), would you please email it to me? I really appreciate it!
Replies
7
Views
207
Hello everyone. I am trying to figure out what the best way to control three pumps would be. I have searched the forums and cannot seem to find...
Replies
11
Views
2,215
Hello all, I have a triplex pump skid, which they want up to 2 pumps to operate and the other to be on standby. I am kind of racking my brain on...
Replies
7
Views
2,202
I am a novice at ladder logic programming but I needed a lead/lag function for two pumps that I am controlling. I bought a cheap FX1N(C) board...
Replies
14
Views
3,146
To begin, before the Trolls pop out, I know you get your tools/test your tools/find the right tools. Thats great, but at this point Im on a...
Replies
15
Views
5,193
Back
Top Bottom