8.20.2b Multiple Object Types (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

05:30:16.426 Running procedure: 8.20.2b
05:30:16.431 This procedure is enabled because the following options:
05:30:16.431 - (supports.binaryInput == true and supports.binaryInputReads == true) or (supports.binaryInput == true and supports.binaryInputChangeEvents == true and supports.binaryInputEventReads == true) or (supports.doubleBitInput == true and supports.doubleBitInputReads == true) or (supports.doubleBitInput == true and supports.doubleBitInputChangeEvents == true and supports.doubleBitInputEventReads == true) or (supports.counter == true and supports.counterReads == true) or (supports.counter == true and supports.counterChangeEvents == true and supports.counterEventReads == true) or (supports.frozenCounter == true and supports.frozenCounterReads == true) or (supports.frozenCounter == true and supports.frozenCounterChangeEvents == true and supports.frozenCounterEventReads == true) or (supports.analogInput == true and supports.analogInputReads == true) or (supports.analogInput == true and supports.analogInputChangeEvents == true and supports.analogInputEventReads == true) or supports.binaryOutput.status == true or supports.analogOutput.status == true
05:30:16.431 step: 1
05:30:16.431 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:30:16.431 - g2v0, All Objects
05:30:16.431 - g4v0, All Objects
05:30:16.431 - g22v0, All Objects
05:30:16.431 - g23v0, All Objects
05:30:16.431 - g32v0, All Objects
05:30:16.431 - g1v0, All Objects
05:30:16.431 - g3v0, All Objects
05:30:16.431 - g20v0, All Objects
05:30:16.431 - g21v0, All Objects
05:30:16.431 - g30v0, All Objects
05:30:16.431 - g10v0, All Objects
05:30:16.431 - g40v0, All Objects
05:30:16.432 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:30:16.432 g2v0, All Objects
05:30:16.432 g4v0, All Objects
05:30:16.432 g22v0, All Objects
05:30:16.432 g23v0, All Objects
05:30:16.432 g32v0, All Objects
05:30:16.432 g1v0, All Objects
05:30:16.432 g3v0, All Objects
05:30:16.432 g20v0, All Objects
05:30:16.432 g21v0, All Objects
05:30:16.432 g30v0, All Objects
05:30:16.432 g10v0, All Objects
05:30:16.432 g40v0, All Objects
05:30:16.432 --T-> fir: 1 fin: 1 seq: 0
05:30:16.432 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 44 dest: 1024 src: 1
05:30:16.432 --P-> 05 64 2C C4 00 04 01 00 76 A5
05:30:16.432 C0 C0 01 02 00 06 04 00 06 16 00 06 17 00 06 20 54 69
05:30:16.432 00 06 01 00 06 03 00 06 14 00 06 15 00 06 1E 00 27 AC
05:30:16.432 06 0A 00 06 28 00 06 AC 41
05:30:16.432 steps: 2 to 4
05:30:16.432 - Read any number of valid responses beginning w/ sequence(0x00) and incrementing by 1 modulo 16
05:30:16.432 - Verify that the IIN field does not contain bits IIN(Reserved2, Reserved1, ConfigCorrupt, AlreadyExecuting, EventBufferOverflow, ParamError, ObjectUnknown, FuncNotSupported)
05:30:16.432 - Verify that the response holds only objects of the groups requested (g40, g32, g2, g23, g30, g1, g22, g20, g21, g10, g3, g4) and the CTOs relative-time events follow
05:30:16.432 - Verify that event objects are prefixed with 1-octet (qualifier 0x17) or 2-octet (qualifier 0x28) indexes
05:30:16.432 - Verify that static objects are in start/stop ranges with 1-octet (qualifier 0x00) or 2-octet (qualifier 0x01) indexes
05:30:16.432 - Verify that each event returned is valid; the DUT may omit event objects when it has no events
05:30:16.432 - Verify that the response reports each input's present state
05:30:16.432 - Verify that, across every fragment, all event objects come before any static object
05:30:16.432 - Confirm each response that asks for a confirmation
05:30:16.432 <-P-- 05 64 EA 44 01 00 00 04 1B C6
05:30:16.432 C0 C0 81 90 00 01 01 01 00 00 0B 00 00 00 03 01 AF E6
05:30:16.432 01 00 00 09 00 55 55 05 14 02 01 00 00 09 00 01 7B 5C
05:30:16.432 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
05:30:16.432 00 01 00 00 01 00 00 01 00 00 01 00 00 15 02 01 3C 92
05:30:16.432 00 00 09 00 01 00 00 01 00 00 01 00 00 01 00 00 8F E5
05:30:16.432 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
05:30:16.432 00 00 1E 02 01 00 00 09 00 01 00 00 01 00 00 01 4E C8
05:30:16.432 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
05:30:16.432 00 01 00 00 01 00 00 0A 02 01 00 00 13 00 01 01 AC DA
05:30:16.432 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 BB C3
05:30:16.432 01 01 28 02 01 00 00 13 00 01 00 00 01 00 00 01 35 E8
05:30:16.432 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
05:30:16.432 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 9E 0F
05:30:16.432 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
05:30:16.432 00 00 01 00 00 47 E6
05:30:16.432 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 234 dest: 1 src: 1024
05:30:16.432 <-T-- fir: 1 fin: 1 seq: 0
05:30:16.435 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
05:30:16.435 g1v1, 2-Byte Start/Stop, start: 0 stop: 11
05:30:16.435 [0] - BooleanValue(false)
05:30:16.435 [1] - BooleanValue(false)
05:30:16.435 [2] - BooleanValue(false)
05:30:16.435 [3] - BooleanValue(false)
05:30:16.435 [4] - BooleanValue(false)
05:30:16.435 [5] - BooleanValue(false)
05:30:16.435 [6] - BooleanValue(false)
05:30:16.435 [7] - BooleanValue(false)
05:30:16.435 [8] - BooleanValue(false)
05:30:16.435 [9] - BooleanValue(false)
05:30:16.435 [10] - BooleanValue(false)
05:30:16.435 [11] - BooleanValue(false)
05:30:16.435 g3v1, 2-Byte Start/Stop, start: 0 stop: 9
05:30:16.435 [0] - DoubleBit(1)
05:30:16.435 [1] - DoubleBit(1)
05:30:16.435 [2] - DoubleBit(1)
05:30:16.435 [3] - DoubleBit(1)
05:30:16.435 [4] - DoubleBit(1)
05:30:16.435 [5] - DoubleBit(1)
05:30:16.435 [6] - DoubleBit(1)
05:30:16.435 [7] - DoubleBit(1)
05:30:16.435 [8] - DoubleBit(1)
05:30:16.435 [9] - DoubleBit(1)
05:30:16.435 g20v2, 2-Byte Start/Stop, start: 0 stop: 9
05:30:16.435 [0] - flags: 0x01 count: 0
05:30:16.435 [1] - flags: 0x01 count: 0
05:30:16.435 [2] - flags: 0x01 count: 0
05:30:16.435 [3] - flags: 0x01 count: 0
05:30:16.435 [4] - flags: 0x01 count: 0
05:30:16.435 [5] - flags: 0x01 count: 0
05:30:16.435 [6] - flags: 0x01 count: 0
05:30:16.435 [7] - flags: 0x01 count: 0
05:30:16.435 [8] - flags: 0x01 count: 0
05:30:16.435 [9] - flags: 0x01 count: 0
05:30:16.435 g21v2, 2-Byte Start/Stop, start: 0 stop: 9
05:30:16.435 [0] - flags: 0x01 count: 0
05:30:16.435 [1] - flags: 0x01 count: 0
05:30:16.435 [2] - flags: 0x01 count: 0
05:30:16.435 [3] - flags: 0x01 count: 0
05:30:16.435 [4] - flags: 0x01 count: 0
05:30:16.435 [5] - flags: 0x01 count: 0
05:30:16.435 [6] - flags: 0x01 count: 0
05:30:16.435 [7] - flags: 0x01 count: 0
05:30:16.435 [8] - flags: 0x01 count: 0
05:30:16.435 [9] - flags: 0x01 count: 0
05:30:16.435 g30v2, 2-Byte Start/Stop, start: 0 stop: 9
05:30:16.435 [0] - flags: 0x01 value: 0
05:30:16.435 [1] - flags: 0x01 value: 0
05:30:16.435 [2] - flags: 0x01 value: 0
05:30:16.435 [3] - flags: 0x01 value: 0
05:30:16.435 [4] - flags: 0x01 value: 0
05:30:16.435 [5] - flags: 0x01 value: 0
05:30:16.435 [6] - flags: 0x01 value: 0
05:30:16.435 [7] - flags: 0x01 value: 0
05:30:16.435 [8] - flags: 0x01 value: 0
05:30:16.435 [9] - flags: 0x01 value: 0
05:30:16.435 g10v2, 2-Byte Start/Stop, start: 0 stop: 19
05:30:16.435 [0] - flags: 0x01
05:30:16.435 [1] - flags: 0x01
05:30:16.435 [2] - flags: 0x01
05:30:16.435 [3] - flags: 0x01
05:30:16.435 [4] - flags: 0x01
05:30:16.435 [5] - flags: 0x01
05:30:16.435 [6] - flags: 0x01
05:30:16.435 [7] - flags: 0x01
05:30:16.435 [8] - flags: 0x01
05:30:16.435 [9] - flags: 0x01
05:30:16.435 [10] - flags: 0x01
05:30:16.435 [11] - flags: 0x01
05:30:16.435 [12] - flags: 0x01
05:30:16.435 [13] - flags: 0x01
05:30:16.435 [14] - flags: 0x01
05:30:16.435 [15] - flags: 0x01
05:30:16.435 [16] - flags: 0x01
05:30:16.435 [17] - flags: 0x01
05:30:16.435 [18] - flags: 0x01
05:30:16.435 [19] - flags: 0x01
05:30:16.435 g40v2, 2-Byte Start/Stop, start: 0 stop: 19
05:30:16.435 [0] - flags: 0x01 value: 0
05:30:16.435 [1] - flags: 0x01 value: 0
05:30:16.435 [2] - flags: 0x01 value: 0
05:30:16.435 [3] - flags: 0x01 value: 0
05:30:16.435 [4] - flags: 0x01 value: 0
05:30:16.435 [5] - flags: 0x01 value: 0
05:30:16.435 [6] - flags: 0x01 value: 0
05:30:16.435 [7] - flags: 0x01 value: 0
05:30:16.435 [8] - flags: 0x01 value: 0
05:30:16.435 [9] - flags: 0x01 value: 0
05:30:16.435 [10] - flags: 0x01 value: 0
05:30:16.435 [11] - flags: 0x01 value: 0
05:30:16.435 [12] - flags: 0x01 value: 0
05:30:16.435 [13] - flags: 0x01 value: 0
05:30:16.435 [14] - flags: 0x01 value: 0
05:30:16.435 [15] - flags: 0x01 value: 0
05:30:16.435 [16] - flags: 0x01 value: 0
05:30:16.435 [17] - flags: 0x01 value: 0
05:30:16.435 [18] - flags: 0x01 value: 0
05:30:16.435 [19] - flags: 0x01 value: 0
05:30:16.436 [PLG] Verified 0 returned event(s)
05:30:16.438 [PLG] Verified 92 point(s)
05:30:16.438 Passed procedure: 8.20.2b