QUOTE(BobLfoot @ Jan 14 2009, 09:35 PM) [snapback]77723[/snapback]
QUOTE(paulengr @ Jan 14 2009, 06:00 PM) [snapback]77716[/snapback]
In practice, you really don't need these functions with AB PLC's like you do with the others. An AFI will always work as a "fail" or "open" condition. A shorted branch (insert a branch with no instructions on it) is perfectly legal as an "always true" condition.
Paul I respectfully suggest there are a couple of holes in your statement above.
1. Not all AB PLC's have the AFI - mentioned by others.
Forgot about that one. I rarely encounter this problem. In my shop we only have one SLC. The others are PLC-5, Micrologix, or CLX. The SLC is running canned software from a burner vendor. We do NOT to make any changes (liability/warranty issues).
QUOTE
2. A shorted branch cannot be commented and the reason for the short can be lost over the years.
I wasn't aware that any processor except the CLX had "instruction" level comments. You really can't document a universal "fail" bit either except to call it a "fail" bit. Since at the moment the PLC-5's outnumber the others by roughly a 10:1 margin, we didn't adopt any other commenting methods. I also realize that RS-Logix has a nasty habit of losing the ordering on your comments if they aren't attached to particular bits (if program is modified but not saved) but we've survived.
QUOTE
My approach is to us the following:
1. A early always scanned rung with an XIC XIO and OTE of the same bit for an always off.
2. A early always scanned rung with an XIO OTL of the same bit for an always on.
3. A set of Debug Bits, INTS, Counters and Timers. These are commented or named Debug_???? depending on the AB platform. It is generally understood that Debug Tags can be deleted without adverse response of the program.
We didn't label the debugging stuff separately. Hadn't thought about doing that. But one issue with those is the fact that it's sort of like jumper wires...they always get made permanent over time. So we have incorporated PLC code into the "safety" rules. Jumper wires, shorted branches, forces, and AFI's used for temporary purposes are treated just like jumpers...they are OK for troubleshooting and debugging. But if you end your shift with them still in place, they get logged and go on the work order list as a safety item. When we plan/schedule work orders, safety items always take priority over everything else on the list. This gets the "debugging" code swept from the system as quickly as feasibly possible.
The exceptions are those things that are there for a purpose other than debugging/troubleshooting code.
Otherwise it has a tendency to fester there for years and gets lost over time, as previously mentioned.
And yes, I do sweeps once in a while to verify that we're still following the rules because it took a while to change the culture.