Friday, July 29, 2016

800xA Version 6.0 Now Supported

I'll keep this short and sweet: our ASSYST-made extraction tools for 800xA PG2 graphics have been updated to include support for version 6.0, and I've updated our frontend launcher to support the new programs. You can download the installer from our website where you can also find instructions for building 800xA graphics into a BuildPlus project, and of course you can always contact us if you have any questions or issues.

Tuesday, February 23, 2016

Light Rung Humor

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?

Thursday, February 11, 2016

50% of Systems Have Certain Function Blocks Unintentionally Disabled. Is Yours One of Them?

DBDOC is unique in giving you significant help in finding integrity issues in your system. Every INFI 90 system in the world will benefit from improving safety, reliability and operation with DBDOC's Integrity Plus approach. Our Error Browser and Error Marker development was designed to make it possible to manage errors and improve the integrity of your systems. 
 
In our most recent versions, we have added tests for three function blocks that are disabled by default.
  • FC 3 - Lead / Lag - S2 defaults to 0 disabling the function
  • FC 8 - Rate Limiter - S2 defaults to 0 disabling the function
  • FC 166 - Integrator - S4 defaults to 0 disabling the function
For a function block to be disabled by default is horrific. Only three of the 200 types or so are (the rest are enabled by default). The hapless users put function blocks in place, but they do nothing that they were intended to do, because they are disabled. Now and forever, they are booby-trapped.

What do you think? Can there be any justification for most function blocks being enabled by default, with only these three exceptions?

Am I wrong? Are there other booby-traps we have missed? Please let us know.

In my review of test data for 228 systems around the world, I found
  • Lead / Lag - 605 disabled in 83 systems
  • Rate Limiter - 392 disabled in 86 systems
  • Integrator - 50 disabled in 26 systems
In actuality, 75 systems had one of these; 42 systems had two and 8 hit the TriFecta! In total 125 of the 228 systems had one to three of these errors - 55% of them.

What about the "real world" - places where DBDOC checking has not been used yet? Here is what this test detected in a small power plant being worked on now by extremely competent people:
  • Module 1,02,02 Block 8507 FC8 disabled by spec values
  • Module 1,02,02 Block 9541 FC8 disabled by spec values
  • Module 1,02,02 Block 10295 FC8 disabled by spec values
  • Module 1,02,02 Block 11049 FC8 disabled by spec values
  • Module 1,02,02 Block 11803 FC8 disabled by spec values

 
Holy Rate Unlimiter, Batman! http://holysmokesbatman.com/directory contains 350 actual sayings, perhaps the best being "Holy Time Bomb".
 
The 5 errors out of 152 Rate Limiter blocks show that only DBDOC can protect you from these problems.
 
Here are examples of each from real systems.
 

The objective of this FC 3 Lead/Lag block is to apply a time constant of 60 seconds to changes in the PV as applied to the APID control algorithm. This is not happening here because, unbeknownst to (or unnoticed by) the DCS specialist, the block is disabled and feeds the input directly to the output.

 

The first Rate Limiter example looked like it was booby-trapped in the sense that sometime in the future an unsuspecting body would put meaningful values on the limits and expect them to work. As you can see here, the negative going rate limit of 0.00333 per second presumably is intended to prevent larger drops in the value from affecting the process. However, the block does not function.

 
 
 

In the case of the integrator, it is S4 that is the trap. Clearly, nobody puts an integrator and tag into a system not intending to get data. This one will not get data because S4 is not wired to a constant value 1.
 
Only DBDOC can improve your system integrity by detecting these relatively common oversights.
 


Friday, February 5, 2016

System Integrity — DBDOC Detects Bad TSTALM Blocks

DBDOC is unique in giving you significant help in finding integrity issues in your system. Every INFI 90 system in the world will benefit from improving safety, reliability and operation with DBDOC's Integrity Plus approach. Our Error Browser and Error Marker development was designed to make it possible to manage errors and improve the integrity of your systems.
 
In August 2014, we showed examples of detectable TSTALM errors from one system, but we continue to find this error being made. We have been reporting it for a decade, since 2006. DBDOC is the only valid way to identify this problem.
 
We report Function Code 69 TSTALM blocks that test the same block and mode. This usually happens when a TSTALM block is copied without S1 the specification that tells what block is being tested being made to match the new block numbers. Any of these TSTALM problems could have an adverse affect on a plant.
 
I did a review of test data for 228 systems around the world:
  • 22 had no TSTALM blocks - basically small systems averaging 1219 sheets each.
  • 206 systems had 3 or more - average size was 4022 sheets.
  • 90 had from one to 111 multiple TSTALM messages - average 8.2 errors.

The three systems with the largest number of messages looked like this:
  • 111 errors - 114 actions missed, 114 actions falsely triggered
  • 100 errors - 10 actions missed, 10 actions falsely triggered, 96 duplications
  • 84 errors - 84 actions missed, 84 actions falsely triggered
 
Holy Crossfire, Batman! This is from http://holysmokesbatman.com/directory.
 
The problem is that good logic gets cloned to do the same job again and again. The block numbers get changed and the changes compile cleanly. However, S1 must be changed when the logic is cloned in the same module, because the cloned value of S1 is guaranteed to be the only block in the module that is wrong. The failure to do this is not caught by Composer or WinCAD compilers, so the error does not get corrected.
 
Let's start with an example. Here is our message, as shown in Error Browser, with the good stuff circled in green:
 
 
 
Block 2614 is clearly expected to be asserted when block 2609 is put into Auto mode.
 
DBDOC shows you the block index for block 2609, which you see here with the green highlight for the intended and correct logic.
 
 
 
  
What do you make of the purple, red and blue highlighted references? Click on each of them to go to the TSTALM block that is strangely testing block 2609.
 
 
 
 
 
S1 of block 2115 (purple) obviously should be 2111, not 2609.
S1 of block 2365 (red) obviously should be 2361, not 2609.
S1 of block 2490 (blue) obviously should be 2486, not 2609.
 
Count the errors:
  • Blocks 2116, 2366 and 2491 will be asserted when MSDVDR block 2609 goes into automatic mode - three errors.
  • Blocks 2116, 2366 and 2491 will NOT be asserted when MSDVDR blocks 2111, 2361 and 2480 respectively go into automatic mode - three more errors
 
Six errors for the price of one! Good value from DBDOC, eh?
 
Composer should be made to set the value of S1 to -1 when a TSTALM FC 69 block is placed on a page. The illegal value should force the user to enter one that would work.
 
Note also that the warning triangles (Error Markers) are in front of you when you get to the dysfunctional logic, so you can see right away that there is possibly a problem. The two messages they show are:
 
Tested block on different page (which should be a clue), and
TSTALM block tests subsequent block, which means they are out of natural sequence.
 
I have found as many as seven such duplications (that is, 14 errors) that came from the cloning of a single set of functioning blocks. Clearly, this error can be made and missed. DBDOC can find it for you.
 
When you review these using DBDOC Error Browser, you simply hide any that are of no consequence. You flag ones like this that affect the process. When they are fixed, they will disappear from the diagnostics. If you create such an error, it will show up as a new error, highlighted in yellow.
 
DBDOC helps improve your system integrity.

Friday, January 29, 2016

DBDOC 10.6.1— Ready for Download

DBDOC 10.6.1 is now available. Download it here.  There are major improvements to usability in a couple of areas, new features, new error checking and a variety of minor fixes and additional conveniences for users.

Read on for a quick overview of some of the highlights of DBDOC 10.6.1, or see the complete release notes here.

Watch Window Performance & Usability


As we gain experience with Watch Window use patterns, we are honing this tool to better meet the needs of the most prolific users.  There are some important improvements in this release that greatly improve Watch Window performance and responsiveness in highly loaded situations with groups containing large numbers of blocks.  In addition, the ability to hide and restore entire Watch Window groups has been added.  This allows you to define and configure a group, and set it aside so that it doesn't clutter up the interface when it's not needed.  It can be restored (with all of its setup) at any time.  Last, but not least, there is now a command line switch for specifying default date format in the Watch Window, so that if you are DDMM, you don't have to look at MMDD.

 

 

HTML Support (Available in the International Version)


We have been moving the Hyperview browser toward full Unicode support in all documents for some time now.  Unicode characters are supported on graphics and most Hyperview tools. The last step in the journey is the complete implementation of HTML-based Hyperview text display.  This support is substantially enhanced in DBDOC 10.6.1: documents are more faster, scroll better, behave better, and there have been numerous small improvements. HTML support will continue to be expanded in upcoming releases.



New Feature: Detect Module Load Changes

A major new feature involves the creation of .dmpcfg files, text dumps of CFG files from the project and the same information from the DBDOC compile. They allow comparison of current and historical module load images. If you archive the files, you will be able to analyze specification and logic changes over whatever time intervals you choose. This feature applies both the the CLD / CAD logic and the compiled CFG files.

New Errors Detected


Some new error types are now detected by DBDOC, and viewable in the Error Browser.  Errors are reported for non-functioning lead/lag, rate limiter and integrator blocks. Duplicate local OREFs are also now flagged, as they can cause a problem for Composer and WinCAD. Segment control blocks are checked for violations. The most important checking involves reports on numerous violations of the limits on specifications. Fully two-thirds of sites we checked had such errors.


And More...

  • Numerous improvements have been made in handling S+ and 800xA graphics, including support for the Welcome_dall graphic and for the SetFont function.
  • Support for AutoCAD 2016 is now included.
  • Support for the 2015 single­ volume function code manual and other two volume versions has been added.
  • Top level symbol locations are now shown in the Audit Window for Conductor NT and PPB.
See the 10.6.1 Release Notes for information on the many upgrades and improvements in DBDOC 10.6.1

Download DBDOC 10.6.1

Wednesday, August 26, 2015

Announcing DBDOC 10.6

We're delighted to announce that DBDOC 10.6 is now available for download, with major usability improvements, new subsystem support, and of course bug fixes and general enhancements. 

Read on to learn more about some of DBDOC's new features and capabilities.

Error Markers

In Hyperview, you will notice the new error markers right away, flagging locations on documents where DBDOC has detected a possible error situation.


Mouse over a marker to see the detailed error message.  Double click on the marker to bring up the error browser with full error information. 


 
 
You may see error markers that turn out to be flagging harmless situations. If this is the case, just hide the error (or category of errors) in the error browser, and set it to display only "Active" (i.e. non-hidden) errors. The error marker will no longer show up on your document.

Watch Window Navigation Plot 

Managing large datasets in the Watch Window has become much easier with the introduction of the "navigation plot".  This is a birds-eye view of all the data collected in a plot, with a draggable frame showing the part of the plot visible in the main plot area, essentially a graphical scrollbar.  Just drag the frame to view different data collection runs.
 
In addition, there are now automatic markers inserted at the beginning and end of every data run (indicated by small green or flag flags on the plot).  You can jump from marker to marker using the new "Data Run Marker Navigation" buttons below the plot.
 



No More Missing Lines*

* with minor caveats (see below).

Users of Hyperview on remote desktops and certain other situations will be happy to learn that the issue of "missing lines" on CAD sheets and the like has been sorted out once and for all (except for on Win NT 6.0 platforms Windows Server 2008 and Vista, which have different underlying graphics support -- we are still working on those).  If missing lines affect you, most likely in a remote desktop context, switch to the GDI+ graphics library in the View tab of the Options dialog.

Do your lines look like this?
 
Enable GDI+ to fix them.
 

Copy Text from Graphics

For the first time, DBDOC supports the right-click copying and pasting of text from graphics or CAD/CLDs.  You can also directly search the project or the help for text obtained in this manner.



Function Block Hotspots

For the first time, function blocks on configuration diagrams are live "hotspots".  Use them to add all the inputs and outputs for a function block at once to the Watch Window.


Bookmark Sharing

We are continuing to create support for user data sharing in Hyperview. In the last release we enabled the sharing of error information, so groups could collaborate on analyzing and reviewing errors.  Clearly the sharing of error data itself is highly desirable, and we are considering approaches.

In the meantime, bookmark sharing has been added to Hyperview.  No more copying and importing of bookmark files -- simply share them directly and interactively. You will see shared bookmarks right in your bookmarks list.



Chinese, PGP, and PG2

DBDOC 10.6 continues to expand the file types and subsystems supported. Most notably, Chinese language support for Composer and PGP graphics is now implemented (read more). Full HTML text support is on its way. General support for PGP and PG2 graphics has been improved in many ways.



Sibling Projects

DBDOC 10.6 introduces the concept of  "Sibling Projects," a major new capability.  Basically, if you have a huge system, you can break it up into sub-projects, and build each one with the configuration information from the other "sibling" projects, without including all the associated documents and graphics.  So you can get most of the benefit of DBDOC's connection analysis while keeping individual builds to a manageable size (and build time).   Learn more about sibling projects here.

CIUMon Configuration Manager

CIUMon supports more options and run modes with each passing year.  Ports and protocols, collector or relay, logging and statistics: once you have set up a configuration, you won't want to lose it.  Keep track of CIUMon configurations more easily than ever with the new CIUMON Configuration Manager, which makes it easy to store, filter, and retrieve configurations.



These are some of the new features you will encounter in DBDOC 10.6.  We would love your feedback, and to hear your suggestions for improvements in the next release.



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!