Gerry:
Thank you. That's exactly the difference between the two methods, except that instead of lights, its a line of text on the HMI's canned Alarm Summary screen.
Again, it comes back to what I said at the beginning:
What do you mean by 'Acknowledge'.
If you insist that the operator can't acknowledge the alarm until the alarm is cleared, then use a system like Tom's or Chris' (chakorules).
If you want the PLC to 'remember' that the alarm has been acknowledge, and to clear it from the list once it's been both cleared and acknowledged, then use my alarm engine.
One note of caution: Not all HMI's allow you to acknowledge an alarm that's already been acknowledge (for example: Panelview). So if you are going to use the former strategy, you have to re-annunciate an active alarm after the HMI sets the acknowledge bit (assuming you are acknowledging individual alarms, and not all alarms with one PB).
John Paley:
Your post brings up a very interesting point.
Imagine an output with a single "Output Is Energized" feedback (Motor/Aux contact; or Valve/Open_LS)
There are two ways to program the alarm coil:
METHOD 'A'
OUTPUT TIMER
---| |-----+----------------------(TON)
|
| FEEDBACK TIMER.DN ALARM
+------| |-------| |------( )
METHOD 'B'
OUTPUT FEEDBACK TIMER
---| |----------| |----+-----------(TON)
|
| TIMER.DN ALARM
+------| |------( )
`
For 95+% of operating conditions, those where the FEEDBACK will never come on in time, the two rungs behave identically.
The major difference between them is that Rung A will generate an alarm if the FEEDBACK drops out for even a single scan after the timer is done, while Rung B, FEEDBACK must be off for the entire length of the timer to trigger the alarm.
Now consider Ron Beaufort's superb
POST on MrPLC.com , regarding the differnces between DC and AC inputs (which I hope he will reproduce on this forum - it should be required reading for ALL PLC programmers, not just AB)
Because the PLC is powered by DC, it can survive minor interruptions in power. DC inputs can too. AC inputs don't.
So if FEEDBACK is an AC input, what Rung A produces is not just a "Failure to Energize" alarm, but also serves as a "Power Lost while OUTPUT was energized" alarm.
Depending on your plant, and the cleanliness/reliability of your power, this can be a good thing, or a bad thing. There's no way to make a generalization, but it's something else to consider.