8.25.2c Counter Events (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

05:31:59.532 Running procedure: 8.25.2c
05:31:59.535 step: 1
05:31:59.535 - Set every counter point's flags normal: ONLINE set, all others clear
05:31:59.535 - Generate 2 Counter Change Event(s)
05:31:59.535 [PLG] Every counter point's flags are normal
05:31:59.535 [PLG] Updated Counter 0: value=1, flags=1, timestamp=1793251919535 (UNSYNCHRONIZED_TIME)
05:31:59.535 [PLG] Updated Counter 0: value=2, flags=1, timestamp=1793251919535 (UNSYNCHRONIZED_TIME)
05:31:59.535 step: 2
05:31:59.535 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:31:59.535 - g22v1, All Objects
05:31:59.535 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:31:59.535 g22v1, All Objects
05:31:59.535 --T-> fir: 1 fin: 1 seq: 0
05:31:59.535 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:59.535 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:59.535 C0 C1 01 16 01 06 C2 6D
05:31:59.536 steps: 3 to 6
05:31:59.536 - If the DUT has no points of the type, it must answer with a Null Error Response with IIN2.1 or IIN2.2, and the rest of the test is skipped. If it doesn't support the type, or isn't tested at subset level 3, the same answer passes too, and with the points but not the events, a Null Response or IIN2.1
05:31:59.536 - Read a single fragment response w/ sequence(0x01)
05:31:59.536 - Verify that each event comes back in g22v1, or in the other width for a point the DUT keeps only in that one, with 1-octet (0x17) or 2-octet (0x28) indexes
05:31:59.536 - Verify that every event reports its flags normal (ONLINE set, all others clear)
05:31:59.536 - Verify that the response holds every counter event generated
05:31:59.536 - Verify that an application layer confirmation is requested.
05:31:59.536 - Confirm each response that asks for a confirmation
05:31:59.536 <-P-- 05 64 1D 44 01 00 00 04 98 2E
05:31:59.536 C0 E1 81 90 00 16 01 28 02 00 00 00 01 01 00 00 6D 28
05:31:59.536 00 00 00 01 02 00 00 00 50 14
05:31:59.536 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 29 dest: 1 src: 1024
05:31:59.536 <-T-- fir: 1 fin: 1 seq: 0
05:31:59.536 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
05:31:59.536 g22v1, 2-Byte Count and Index, count: 2
05:31:59.536 [0] - flags: 0x01 count: 1
05:31:59.536 [0] - flags: 0x01 count: 2
05:31:59.536 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:31:59.536 --T-> fir: 1 fin: 1 seq: 0
05:31:59.536 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:31:59.536 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:31:59.536 C0 C1 00 7D 3D
05:31:59.538 [PLG] Verified 2 counter point event(s)
05:31:59.538 step: 7
05:31:59.538 - Generate 2 Counter Change Event(s)
05:31:59.538 [PLG] Updated Counter 0: value=3, flags=1, timestamp=1793251919538 (UNSYNCHRONIZED_TIME)
05:31:59.538 [PLG] Updated Counter 0: value=4, flags=1, timestamp=1793251919538 (UNSYNCHRONIZED_TIME)
05:31:59.538 step: 8
05:31:59.538 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:31:59.538 - g22v2, All Objects
05:31:59.538 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:31:59.538 g22v2, All Objects
05:31:59.538 --T-> fir: 1 fin: 1 seq: 0
05:31:59.538 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:59.538 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:59.538 C0 C2 01 16 02 06 63 B8
05:31:59.538 steps: 9 to 10
05:31:59.538 - Read a single fragment response w/ sequence(0x02)
05:31:59.538 - Verify that each event comes back in g22v2, or in the other width for a point the DUT keeps only in that one, with 1-octet (0x17) or 2-octet (0x28) indexes
05:31:59.538 - Verify that every event reports its flags normal (ONLINE set, all others clear)
05:31:59.538 - Verify that the response holds every counter event generated
05:31:59.538 - Verify that an application layer confirmation is requested.
05:31:59.538 - Record the events
05:31:59.538 <-P-- 05 64 19 44 01 00 00 04 F6 63
05:31:59.538 C1 E2 81 90 00 16 02 28 02 00 00 00 01 03 00 00 66 EC
05:31:59.538 00 01 04 00 8D D1
05:31:59.538 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
05:31:59.538 <-T-- fir: 1 fin: 1 seq: 1
05:31:59.538 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
05:31:59.538 g22v2, 2-Byte Count and Index, count: 2
05:31:59.538 [0] - flags: 0x01 count: 3
05:31:59.538 [0] - flags: 0x01 count: 4
05:31:59.538 [PLG] Verified 2 counter point event(s)
05:31:59.539 step: 10.5
05:31:59.539 - Expect no response within 6000 ms.
05:32:05.545 step: 10.6
05:32:05.545 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:05.545 - g22v2, All Objects
05:32:05.545 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:05.545 g22v2, All Objects
05:32:05.545 --T-> fir: 1 fin: 1 seq: 0
05:32:05.545 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:05.545 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:05.545 C0 C3 01 16 02 06 65 9B
05:32:05.546 steps: 10.7 to 10.8
05:32:05.546 - Read a single fragment response w/ sequence(0x03)
05:32:05.546 - Verify that each event comes back in g22v2, or in the other width for a point the DUT keeps only in that one, with 1-octet (0x17) or 2-octet (0x28) indexes
05:32:05.546 - Verify that every event reports its flags normal (ONLINE set, all others clear)
05:32:05.546 - Verify that an application layer confirmation is requested.
05:32:05.546 - Verify that the response reports the same events as the one before
05:32:05.546 - Confirm each response that asks for a confirmation
05:32:05.546 <-P-- 05 64 19 44 01 00 00 04 F6 63
05:32:05.546 C2 E3 81 90 00 16 02 28 02 00 00 00 01 03 00 00 EA 54
05:32:05.546 00 01 04 00 8D D1
05:32:05.546 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
05:32:05.546 <-T-- fir: 1 fin: 1 seq: 2
05:32:05.546 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
05:32:05.546 g22v2, 2-Byte Count and Index, count: 2
05:32:05.546 [0] - flags: 0x01 count: 3
05:32:05.546 [0] - flags: 0x01 count: 4
05:32:05.546 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:05.546 --T-> fir: 1 fin: 1 seq: 0
05:32:05.546 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:05.546 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:05.546 C0 C3 00 98 26
05:32:05.546 Passed procedure: 8.25.2c