Friday, June 26, 2015

Serious Function Code Generator Errors Your INFI 90 Tools Won't Warn You About (And How to Protect Your System)

DBDOC Integrity Plus system is unique in giving you significant help in finding integrity issues.  Every INFI 90 system in the world will benefit from improving safety, reliability and operation. Even a tiny glitch like an incorrectly parameterized function generator could have an adverse affect.
DBDOC reports F(x) Blocks that have non-ascending X coordinates. If successive X coordinates are in descending order, the block does not do what you think. This applies to all controller versions so far as we know, so tell us if some firmware or modern module solves the problem, of course.
My check of test data showed 132 of 136 sites had this issue. This is 97% of a range of systems from small to huge around the world. DBDOC is the only tool that will identify this problem
Here is the message, as shown in Error Browser:
This is what it looks like on the CLD.
The X coordinates are, in order, 100.0, 20.0, 0.0, -4192.0, -4192.0, -4192.0. The calculation goes (likely), like this:
  • If input is less than S2, which is 100.0, output is S3, which is 5.0.
  • Done!
Perhaps, it goes like this by trying to establish a line segment that works first:
  • Start with S2. Read S4. S4 is less than S2, so throw S2 away
  • Start with S4. Read S6. S6 is less than S4, so throw S4 away
  • Start with S6. Read S8. S8 is less than S6, so throw S6 away
  • Start with S8. Read S10. S10 is less than S8, so throw S8 away
  • Start with S10. Read S12. S12 is less than S10, so throw S10 away
  • Start with S12. Output is S13 which is 0.0.
  • Done!
What it does not do is turn the numbers around, at least not in firmware we know about.
 
Actually, we have had both the results above reported to us. Here is my speculation about the calculation:
  • If input is less than S2, which is 100.0, output is S3, which is 5.0. This gives the first result of 5.0 for the output.
  • If input is greater than S2, then it is greater than S4, S6, S8, S10 and S12, so make the output S13 or 0.0.
  • If the input drops below S2, perhaps the output stays at 0.0.
What we really need is some experimentation to tell that reports not only the specifications but also the module type and firmware revision.
 
Some examples from actual systems:
 
X coordinates out of order for F(x) Module 1,04,04 Block 1680
 
  ( S2, S3) 650.0 1.171
  ( S4, S5) 600.0 1.156
  ( S6, S7) 550.0 1.147
  ( S8, S9) 500.0 1.131
  (S10,S11) 450.0 1.124
  (S12,S13) 400.0 1.108
 
Output is either 1.171 or 1.108. Neither is correct over the working input range.
 
X coordinates out of order for F(x) Module 40,31,04 Block 9860
 
  ( S2, S3) 41.0 5.0
  ( S4, S5) 35.0 0.0
  ( S6, S7) 35.0 0.0
  ( S8, S9) 35.0 0.0
  (S10,S11) 35.0 0.0
  (S12,S13) 35.0 0.0
 
Output is 5.0 or 0.0, but is never what is intended.
Reviewing these errors with the Error Browser:
 
When you review these using DBDOC Error Browser, you can simply hide the ones that are of no consequence. You star ones like this that affect the process. When they are fixed, they will disappear from the diagnostics. If such an error is created in the configuration, it will show up as a new error, highlighted in yellow.
 
DBDOC helps make your system do what you want. This is Integrity Plus and you will be happy you have it!

No comments:

Post a Comment