Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

'First-In Latch'

Status
Not open for further replies.

JPolano

Mechanical
Mar 10, 2003
4
0
0
US
Hello All;

Looking at enhancing the PLC code for troubleshooting - using AB SLC504s for Boiler Management (control).

The system has 8 discrete inputs from various switches (Hi Boiler Pressure; Low Water Alarm; etc) When any of these inputs go TRUE the boiler shuts down. I'd like to be able to 'trap' the first input that causes the shutdown and mask out any others. The 'trap' would remain Set until a 'Reset' is performed.

I'm sure that others out there in Industry have run into this situation, and I was hoping there might be a sample of code that I could look at, rather than reinvent the wheel.

Any assistance is appreciated!

Thanks!

Jim Polanosky
 
Replies continue below

Recommended for you

You might check the AB support forums and search for "first out annunciator logic". Something should turn up.

With PLCs, the problem is that this can be scan dependent, so you might get fooled by two events that happen in very close sequence.

 
Thanks for the quick replies!

itsmoked: I hadn't thought about the S-R latches - with a little code, that would probably do the trick. By the way, interesting 'handle' - would it have anything to do with the 'factory smoke' that's packaged with all electronic components???

dpc:
- I'll check on the AB forums (I guess I didn't think about that since it's too obvious !!!!!)
- Re: scan times & events: In this application all inputs are 120VAC and the PLC scan times are on the order of 3-5ms, if I remember correctly. Good point made, though - I'll keep it in mind!

Thanks again,

Jim Polanosky
 
You could probably do this by simply testing the value of the input register, say I:1.0 for example.
If all the bits were normally off, then if I:1.0 > 0, you would save the value of I:1.0 to a register such as N7:1, and set a bit to inhibit the logic from executing again until you had looked at the value in N7:1 to see what bit or bits had turned on, and then cleared the inhibit bit.
If I:1.0 happened to contain other bits that you wanted to ignore, then you could use an MVM masked move to N7:2, for example, and then test to see if N7:2 > 0, and if so save it to N7:1.
 
Sequence Of Event recording is certainly a good way to go, especially if the events occur faster than the PLC scan time.

I believe that Jim is using a SLC504 though, so a 1756 I/O module might not work too well. Perhaps someone makes an SER module for 1746 I/O?

Another idea along that line of thinking would be something like this perhaps:


A stand alone SER module.

After thinking about a little more though, if the events didn't occur faster than the scan time, I would use a FIFO to capture the events in the PLC logic. It would only take a few rungs of logic to do.
 
Status
Not open for further replies.
Back
Top