8.24.2d Counters (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

11:03:45.151 Running procedure: 8.24.2d
11:03:45.152 This procedure is enabled because the following options:
11:03:45.152 - supports.counter == false or (supports.counter == true and supports.counterReads == true)
11:03:45.152 step: 1
11:03:45.152 - Set every counter point's flags normal: ONLINE set, all others clear
11:03:45.152 [PLG] Every counter point's flags are normal
11:03:45.152 step: 2
11:03:45.152 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
11:03:45.152 - g20v1, All Objects
11:03:45.153 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
11:03:45.153 g20v1, All Objects
11:03:45.153 --T-> fir: 1 fin: 1 seq: 0
11:03:45.153 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:45.153 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:45.153 C0 C0 01 14 01 06 B4 7D
11:03:45.153 steps: 3 to 8
11:03:45.153 - Read any number of valid responses beginning w/ sequence(0x00) and incrementing by 1 modulo 16
11:03:45.153 - Verify that each point comes back in a variation the request for g20v1 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
11:03:45.153 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
11:03:45.153 - Confirm each response that asks for a confirmation
11:03:45.153 <-P-- 05 64 43 44 01 00 00 04 21 09
11:03:45.153 C0 C0 81 90 00 14 01 01 00 00 09 00 01 00 00 00 2A ED
11:03:45.153 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 83 71
11:03:45.153 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 44 27
11:03:45.153 00 00 00 00 01 00 00 00 00 01 00 00 00 00 9B 1F
11:03:45.153 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 67 dest: 1 src: 1024
11:03:45.153 <-T-- fir: 1 fin: 1 seq: 0
11:03:45.153 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
11:03:45.153 g20v1, 2-Byte Start/Stop, start: 0 stop: 9
11:03:45.153 [0] - flags: 0x01 count: 0
11:03:45.153 [1] - flags: 0x01 count: 0
11:03:45.153 [2] - flags: 0x01 count: 0
11:03:45.153 [3] - flags: 0x01 count: 0
11:03:45.153 [4] - flags: 0x01 count: 0
11:03:45.153 [5] - flags: 0x01 count: 0
11:03:45.153 [6] - flags: 0x01 count: 0
11:03:45.153 [7] - flags: 0x01 count: 0
11:03:45.153 [8] - flags: 0x01 count: 0
11:03:45.153 [9] - flags: 0x01 count: 0
11:03:45.154 step: 9
11:03:45.154 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:45.154 - g20v2, All Objects
11:03:45.154 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:45.154 g20v2, All Objects
11:03:45.154 --T-> fir: 1 fin: 1 seq: 0
11:03:45.154 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:45.154 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:45.154 C0 C1 01 14 02 06 19 EE
11:03:45.154 steps: 10 to 14
11:03:45.154 - Read any number of valid responses beginning w/ sequence(0x01) and incrementing by 1 modulo 16
11:03:45.154 - Verify that each point comes back in a variation the request for g20v2 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
11:03:45.154 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
11:03:45.154 - Confirm each response that asks for a confirmation
11:03:45.154 <-P-- 05 64 2F 44 01 00 00 04 6C 81
11:03:45.154 C1 C1 81 90 00 14 02 01 00 00 09 00 01 00 00 01 3F F0
11:03:45.154 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
11:03:45.154 00 01 00 00 01 00 00 01 00 00 61 8D
11:03:45.154 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 47 dest: 1 src: 1024
11:03:45.154 <-T-- fir: 1 fin: 1 seq: 1
11:03:45.154 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
11:03:45.154 g20v2, 2-Byte Start/Stop, start: 0 stop: 9
11:03:45.154 [0] - flags: 0x01 count: 0
11:03:45.154 [1] - flags: 0x01 count: 0
11:03:45.154 [2] - flags: 0x01 count: 0
11:03:45.154 [3] - flags: 0x01 count: 0
11:03:45.154 [4] - flags: 0x01 count: 0
11:03:45.154 [5] - flags: 0x01 count: 0
11:03:45.154 [6] - flags: 0x01 count: 0
11:03:45.154 [7] - flags: 0x01 count: 0
11:03:45.154 [8] - flags: 0x01 count: 0
11:03:45.154 [9] - flags: 0x01 count: 0
11:03:45.154 step: 15
11:03:45.154 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:03:45.154 - g20v5, All Objects
11:03:45.154 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:03:45.154 g20v5, All Objects
11:03:45.154 --T-> fir: 1 fin: 1 seq: 0
11:03:45.154 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:45.154 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:45.154 C0 C2 01 14 05 06 72 0C
11:03:45.154 steps: 16 to 20
11:03:45.154 - Read any number of valid responses beginning w/ sequence(0x02) and incrementing by 1 modulo 16
11:03:45.154 - Verify that each point comes back in a variation the request for g20v5 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
11:03:45.154 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
11:03:45.154 - Confirm each response that asks for a confirmation
11:03:45.155 <-P-- 05 64 39 44 01 00 00 04 74 92
11:03:45.155 C2 C2 81 90 00 14 05 01 00 00 09 00 00 00 00 00 E9 B2
11:03:45.155 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
11:03:45.155 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
11:03:45.155 00 00 00 00 FF FF
11:03:45.155 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 57 dest: 1 src: 1024
11:03:45.155 <-T-- fir: 1 fin: 1 seq: 2
11:03:45.155 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
11:03:45.155 g20v5, 2-Byte Start/Stop, start: 0 stop: 9
11:03:45.155 [0] - count: 0
11:03:45.155 [1] - count: 0
11:03:45.155 [2] - count: 0
11:03:45.155 [3] - count: 0
11:03:45.155 [4] - count: 0
11:03:45.155 [5] - count: 0
11:03:45.155 [6] - count: 0
11:03:45.155 [7] - count: 0
11:03:45.155 [8] - count: 0
11:03:45.155 [9] - count: 0
11:03:45.155 step: 21
11:03:45.155 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:03:45.155 - g20v6, All Objects
11:03:45.155 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:03:45.155 g20v6, All Objects
11:03:45.155 --T-> fir: 1 fin: 1 seq: 0
11:03:45.155 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:45.155 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:45.155 C0 C3 01 14 06 06 DF 9F
11:03:45.155 steps: 22 to 25
11:03:45.155 - Read any number of valid responses beginning w/ sequence(0x03) and incrementing by 1 modulo 16
11:03:45.155 - Verify that each point comes back in a variation the request for g20v6 allows
11:03:45.155 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
11:03:45.155 - Confirm each response that asks for a confirmation
11:03:45.155 <-P-- 05 64 25 44 01 00 00 04 07 3D
11:03:45.155 C3 C3 81 90 00 14 06 01 00 00 09 00 00 00 00 00 A2 99
11:03:45.155 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
11:03:45.155 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 37 dest: 1 src: 1024
11:03:45.155 <-T-- fir: 1 fin: 1 seq: 3
11:03:45.155 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
11:03:45.155 g20v6, 2-Byte Start/Stop, start: 0 stop: 9
11:03:45.155 [0] - count: 0
11:03:45.155 [1] - count: 0
11:03:45.155 [2] - count: 0
11:03:45.155 [3] - count: 0
11:03:45.155 [4] - count: 0
11:03:45.155 [5] - count: 0
11:03:45.155 [6] - count: 0
11:03:45.155 [7] - count: 0
11:03:45.155 [8] - count: 0
11:03:45.155 [9] - count: 0
11:03:45.155 step: 26
11:03:45.155 - Set one of the flags abnormal of the first counter where that's allowed
11:03:45.156 [PLG] counter 0 has COMM_LOST set
11:03:45.156 step: 27
11:03:45.156 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
11:03:45.156 - g20v1, All Objects
11:03:45.156 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
11:03:45.156 g20v1, All Objects
11:03:45.156 --T-> fir: 1 fin: 1 seq: 0
11:03:45.156 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:45.156 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:45.156 C0 C4 01 14 01 06 AC F1
11:03:45.156 steps: 28 to 31
11:03:45.156 - Read any number of valid responses beginning w/ sequence(0x04) and incrementing by 1 modulo 16
11:03:45.156 - Verify that each point comes back in a variation the request for g20v1 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
11:03:45.156 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
11:03:45.156 - Confirm each response that asks for a confirmation
11:03:45.156 <-P-- 05 64 43 44 01 00 00 04 21 09
11:03:45.156 C4 C4 81 90 00 14 01 01 00 00 09 00 05 00 00 00 51 BF
11:03:45.156 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 83 71
11:03:45.156 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 44 27
11:03:45.156 00 00 00 00 01 00 00 00 00 01 00 00 00 00 9B 1F
11:03:45.156 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 67 dest: 1 src: 1024
11:03:45.156 <-T-- fir: 1 fin: 1 seq: 4
11:03:45.156 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
11:03:45.156 g20v1, 2-Byte Start/Stop, start: 0 stop: 9
11:03:45.156 [0] - flags: 0x05 count: 0
11:03:45.156 [1] - flags: 0x01 count: 0
11:03:45.156 [2] - flags: 0x01 count: 0
11:03:45.156 [3] - flags: 0x01 count: 0
11:03:45.156 [4] - flags: 0x01 count: 0
11:03:45.156 [5] - flags: 0x01 count: 0
11:03:45.156 [6] - flags: 0x01 count: 0
11:03:45.156 [7] - flags: 0x01 count: 0
11:03:45.156 [8] - flags: 0x01 count: 0
11:03:45.156 [9] - flags: 0x01 count: 0
11:03:45.156 Note on the result: with one of its flags set abnormal, counter 0 came back with flags 0x05
11:03:45.156 step: 32
11:03:45.156 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
11:03:45.156 - g20v2, All Objects
11:03:45.156 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
11:03:45.156 g20v2, All Objects
11:03:45.156 --T-> fir: 1 fin: 1 seq: 0
11:03:45.156 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:45.156 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:45.156 C0 C5 01 14 02 06 01 62
11:03:45.156 steps: 33 to 36
11:03:45.156 - Read any number of valid responses beginning w/ sequence(0x05) and incrementing by 1 modulo 16
11:03:45.156 - Verify that each point comes back in a variation the request for g20v2 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
11:03:45.156 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
11:03:45.156 - Confirm each response that asks for a confirmation
11:03:45.157 <-P-- 05 64 2F 44 01 00 00 04 6C 81
11:03:45.157 C5 C5 81 90 00 14 02 01 00 00 09 00 05 00 00 01 44 A2
11:03:45.157 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
11:03:45.157 00 01 00 00 01 00 00 01 00 00 61 8D
11:03:45.157 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 47 dest: 1 src: 1024
11:03:45.157 <-T-- fir: 1 fin: 1 seq: 5
11:03:45.157 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05 IIN(DeviceRestart, NeedTime)
11:03:45.157 g20v2, 2-Byte Start/Stop, start: 0 stop: 9
11:03:45.157 [0] - flags: 0x05 count: 0
11:03:45.157 [1] - flags: 0x01 count: 0
11:03:45.157 [2] - flags: 0x01 count: 0
11:03:45.157 [3] - flags: 0x01 count: 0
11:03:45.157 [4] - flags: 0x01 count: 0
11:03:45.157 [5] - flags: 0x01 count: 0
11:03:45.157 [6] - flags: 0x01 count: 0
11:03:45.157 [7] - flags: 0x01 count: 0
11:03:45.157 [8] - flags: 0x01 count: 0
11:03:45.157 [9] - flags: 0x01 count: 0
11:03:45.157 step: 37
11:03:45.157 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
11:03:45.157 - g20v5, All Objects
11:03:45.157 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
11:03:45.157 g20v5, All Objects
11:03:45.157 --T-> fir: 1 fin: 1 seq: 0
11:03:45.157 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:45.157 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:45.157 C0 C6 01 14 05 06 6A 80
11:03:45.157 steps: 38 to 41
11:03:45.157 - Read any number of valid responses beginning w/ sequence(0x06) and incrementing by 1 modulo 16
11:03:45.157 - Verify that each point comes back in a variation the request for g20v5 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
11:03:45.157 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
11:03:45.157 - Confirm each response that asks for a confirmation
11:03:45.157 <-P-- 05 64 41 44 01 00 00 04 96 2F
11:03:45.157 C6 C6 81 90 00 14 01 01 00 00 00 00 05 00 00 00 42 D7
11:03:45.157 00 14 05 01 01 00 09 00 00 00 00 00 00 00 00 00 F8 45
11:03:45.157 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
11:03:45.157 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
11:03:45.157 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 65 dest: 1 src: 1024
11:03:45.157 <-T-- fir: 1 fin: 1 seq: 6
11:03:45.157 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06 IIN(DeviceRestart, NeedTime)
11:03:45.157 g20v1, 2-Byte Start/Stop, start: 0 stop: 0
11:03:45.157 [0] - flags: 0x05 count: 0
11:03:45.157 g20v5, 2-Byte Start/Stop, start: 1 stop: 9
11:03:45.157 [1] - count: 0
11:03:45.157 [2] - count: 0
11:03:45.157 [3] - count: 0
11:03:45.157 [4] - count: 0
11:03:45.157 [5] - count: 0
11:03:45.157 [6] - count: 0
11:03:45.157 [7] - count: 0
11:03:45.157 [8] - count: 0
11:03:45.157 [9] - count: 0
11:03:45.158 Passed procedure: 8.24.2d
11:03:45.158 restore
11:03:45.158 - Set every counter point's flags normal: ONLINE set, all others clear
11:03:45.158 [PLG] Every counter point's flags are normal