Here you see our much loved copy of the function code manual, dog-eared and duct-taped. You've probably read it too, but possibly not as intensely as we have.
Based on studying the documentation and the experiences of our clients, we added new tests for function block specifications that violate the documentation in ways that seem significant. Read on to see what we found.
We reviewed test data for 229 systems around the world, and found 1160 new errors of note in 77 systems involving 33 function codes - 15 errors per system. Of course, this means that 68% of the systems had none of the specification errors we looked for. It also means that over 1/3 of the systems had these new errors Composer did not find, but that DBDOC will.
I expect this will be the most boring blog I ever write. Holy Understatements, Batman!
Here are example of errors found in various specification values for various function codes from real systems. Some could bite! All are now reported by DBDOC in the Error Browser.
FC35 - 45 instances in 21 systems
- Module 5,65,02 Block 133 FC35 S2 value 005 is out of the valid range [000,102]
- Module 5,26,05 Block 6441 FC36 S9 value 9 is out of the valid range [0,8]
- Module 7,101,06 Block 5800 FC36 S10 value -1 is out of the valid range [0,1]
- Module 2,48,02 Block 854 FC45 S2 value 20 is out of the valid range [0,2]
- Module 3,01,04 Block 4082 FC50 S1 value -1 is out of the valid range [0,1]
- Module 32,04,05 Block 3285 FC69 S2 value 5 is out of the valid range [0,2]
- Module 2,78,02 Block 2151 FC80 S6 value 39 is out of the valid range [1-3 or 5-8]
- Module 2,15,05 Block 2039 FC80 S17 value 246 is out of the valid range [0,7]
- Module 1,11,02 Block 2494 FC80 S23 value 5 is out of the valid range [0,4]
- Module 3,02,20 Block 1992 FC82 S5 value 30 is out of the valid range [0,2]
- Module 2,12,06 Block 15 FC82 S15 value 179 is out of the valid range [0,1]
- Module 11,30,15 Block 463 FC83 S1 value 65 is out of the valid range [0,63]
- Module 2,20,02 Block 6641 FC84 S2 value 10 is out of the valid range [0,1]
- Module 2,20,02 Block 6641 FC84 S2 value 10 is out of the valid range [0,1]
- Module 2,104,10 Block 1882 FC86 S6 value 013 is out of the valid range [000,101]
- Module 1,62,03 Block 979 FC95 S7 value 2 is out of the valid range [0,1]
- Module 1,53,02 Block 9062 FC95 S12 value 7 is out of the valid range [0,1]
- Module 5,12,04 Block 4015 FC110 S1 value 20 is out of the valid range [0,3]
- Module 5,23,02 Block 56 FC111 S1 value 10 is out of the valid range [0,3]
- Module 7,09,03 Block 4140 FC112 S1 value 10 is out of the valid range [0,3]
- Module 4,07,06 Block 3793 FC123 S7 value 22 is out of the valid range [0,11]
- Module 4,07,06 Block 3793 FC123 S8 value 22 is out of the valid range [0,11]
- Module 5,33,03 Block 3194 FC124 S11 value 120 is out of the valid range [00,22]
- Module 5,33,03 Block 3194 FC124 S13 value 60 is out of the valid range [00,22]
- Module 1,14,11 Block 8501 FC126 S2 value 115 is out of the valid range [0,2]
- Module 1,15,02 Block 3405 FC129 S7 value 003 is out of the valid range [000,111]
- Module 1,15,06 Block 3133 FC129 S8 value 1000 is out of the valid range [000,111]
- Module 1,20,05 Block 7810 FC129 S9 value 002 is out of the valid range [000,111]
- Module 1,23,03 Block 3995 FC129 S10 value 1000 is out of the valid range [000,111]
- Module 5,15,04 Block 2559 FC129 S11 value 20002 is out of the valid range [0000,2222]
- Module 1,44,04 Block 2509 FC129 S13 value 0003 is out of the valid range [0000,2222]
- Module 1,24,03 Block 1808 FC129 S14 value 222 is out of the valid range [000,142]
- Module 1,04,03 Block 3993 FC129 S15 value 23 is out of the valid range [0,1]
- Module 3,54,04 Block 7764 FC129 S19 value 5 is out of the valid range [Any or All of 0,1,2,3]
- Module 1,01,15 Block 1346 FC132 S3 value 2 is out of the valid range [0,1]
- Module 1,60,02 Block 448 FC132 S3 value 4 is out of the valid range [0,1]
- Module 11,26,04 Block 1106 FC132 S3 value 7 is out of the valid range [0,1]
- Module 34,46,03 Block 8150 FC132 S10 value 78 is out of the valid range [0,5]
- Module 1,03,04 Block 1211 FC132 S13 value 50 is out of the valid range [0,5]
- Module 2,01,02 Block 244 FC132 S16 value 150 is out of the valid range [0,5]
- Module 1,07,03 Block 1258 FC136 S16 value 3.0 is out of the valid range [0.0, 1.0, 2.0]
- Module 10,02,07 Block 1076 FC140 S4 value 8078 is out of the valid range [00,11]
- Module 7,103,02 Block 3250 FC140 S5 value 212 is out of the valid range [0,63]
- Module 1,20,09 Block 8872 FC143 S1 value 3 is out of the valid range [0,2]
- Module 5,41,02 Block 232 FC149 S3 value 8 is out of the valid range [0,1]
- Module 11,01,04 Block 161 FC149 S11 value 5 is out of the valid range [0,2]
- Module 11,01,04 Block 161 FC149 S12 value 5 is out of the valid range [0,2]
- Module 11,01,04 Block 161 FC149 S13 value 5 is out of the valid range [0,2]
- Module 11,01,04 Block 161 FC149 S14 value 5 is out of the valid range [0,2]
- Module 11,01,04 Block 161 FC149 S15 value 5 is out of the valid range [0,2]
- Module 11,01,04 Block 161 FC149 S16 value 5 is out of the valid range [0,2]
- Module 11,01,04 Block 161 FC149 S17 value 5 is out of the valid range [0,2]
- Module 1,65,05 Block 4531 FC151 S6 value 4532.0 is out of the valid range [0.0,127.0]
- Module 2,30,03 Block 7180 FC151 S7 value 3 is out of the valid range [0,1]
Module 1,18,03 Block 6438 FC156 S19 value 32 is out of the valid range [0,1]
- Module 3,03,02 Block 7284 FC156 S20 value 40 is out of the valid range [0,1]
- FC166 - 8 instances in 3 systems
- Module 3,01,04 Block 3807 FC166 S8 value 32767 is out of the valid range [0,1]
- FC182 - 19 instances in 1 system
- Module 1,07,14 Block 56 FC182 S1 value 000 is out of the valid range [001-009, 020-124, 040-041, 064]
- Module 2,32,07 Block 2280 FC190 S2 value 7200 is out of the valid range [1,6553]
- Module 1,09,07 Block 8172 FC216 S3 value 19 is out of the valid range [1,16]
- Module 20,38,07 Block 650 FC216 S4 value 051 is out of the valid range [000-109, 010-113, 020-125, 040-144, 060-161, 099-199]
- Module 1,03,04 Block 1428 FC216 S5 value 2 is out of the valid range [0,1]
- Module 6,60,08 Block 162 FC216 S11 value 0 is out of the valid range [16,24]
- Module 1,09,02 Block 1023 FC222 S2 value 1022 is out of the valid range [0000-1209, 0010-1115, 0210-1214, 0300-1302, 0400-1400, 0500-1500, 0900-1900]
- Module 1,09,02 Block 1048 FC224 S2 value 1047 is out of the valid range [0,2]
- Module 1,09,02 Block 1048 FC224 S3 value 1046 is out of the valid range [0,255]
- Module 20,10,31 Block 8358 FC226 S3 value 10 is out of the valid range [0,4]
- Module 1,13,04 Block 953 FC247 S5 value 5 is out of the valid range [1-4 or 6-8]
No comments:
Post a Comment