These examples are taken from current projects being engineered at this time. I offer them for amusement and comment. You can decide if they are good engineering or not.
First some prototype logic that works, but might not be termed "nice". The block will serve as a 5-input OR block, but the second input is wired, not the first. It works. It is also booby-trapped, as proven by how this logic was cleaned up in the same project.
Next (below), you can see how that logic got cleaned up. Not nice at all, eh? The output is always Boolean 0 and the input on S8 is always ignored.
Why did this client not get burned? DBDOC gives a message when the input on S8 is not being used, as is the case here. Note also that only DBDOC shows the ladder logic diagram based on what is there. Close call for this client, but no harm done.
Finally, where it was done nicely in a different system. It is absolutely natural and works. The unused specifications have been cleaned up correctly.
You might ask why leave the rung block in there at all? Good question. It allows for changes to be made later to add more conditions. I do not know if people get paid by the block, but that would also justify it. Also, why clean up the specifications. In the ugly case, it changed working logic into non-working. Left alone, any additional inputs would be OR'd in as expected.
If this were your system, would you insist on S7 being used for the first input? Would you let the specifications be changed to make it work?
Funny? What do you think? What would you accept?
No comments:
Post a Comment