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

Device under test: Step Function I/O dnp3 outstation

11:03:46.509 Running procedure: 8.25.2c
11:03:46.511 step: 1
11:03:46.511 - Set every counter point's flags normal: ONLINE set, all others clear
11:03:46.511 - Generate 2 Counter Change Event(s)
11:03:46.511 [PLG] Every counter point's flags are normal
11:03:46.511 [PLG] Updated Counter 0: value=1, flags=1, timestamp=1793185426511 (UNSYNCHRONIZED_TIME)
11:03:46.511 [PLG] Updated Counter 0: value=2, flags=1, timestamp=1793185426511 (UNSYNCHRONIZED_TIME)
11:03:46.511 step: 2
11:03:46.511 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:46.511 - g22v1, All Objects
11:03:46.512 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:46.512 g22v1, All Objects
11:03:46.512 --T-> fir: 1 fin: 1 seq: 0
11:03:46.512 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:46.512 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:46.512 C0 C1 01 16 01 06 C2 6D
11:03:46.512 steps: 3 to 6
11:03:46.512 - 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
11:03:46.512 - Read a single fragment response w/ sequence(0x01)
11:03:46.512 - 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
11:03:46.512 - Verify that every event reports its flags normal (ONLINE set, all others clear)
11:03:46.512 - Verify that the response holds every counter event generated
11:03:46.512 - Verify that an application layer confirmation is requested.
11:03:46.512 - Confirm each response that asks for a confirmation
11:03:46.512 <-P-- 05 64 1D 44 01 00 00 04 98 2E
11:03:46.512 C0 E1 81 90 00 16 01 28 02 00 00 00 01 01 00 00 6D 28
11:03:46.512 00 00 00 01 02 00 00 00 50 14
11:03:46.512 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 29 dest: 1 src: 1024
11:03:46.512 <-T-- fir: 1 fin: 1 seq: 0
11:03:46.512 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
11:03:46.512 g22v1, 2-Byte Count and Index, count: 2
11:03:46.512 [0] - flags: 0x01 count: 1
11:03:46.512 [0] - flags: 0x01 count: 2
11:03:46.512 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:46.512 --T-> fir: 1 fin: 1 seq: 0
11:03:46.512 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
11:03:46.512 --P-> 05 64 08 C4 00 04 01 00 9A 19
11:03:46.512 C0 C1 00 7D 3D
11:03:46.513 [PLG] Verified 2 counter point event(s)
11:03:46.513 step: 7
11:03:46.513 - Generate 2 Counter Change Event(s)
11:03:46.513 [PLG] Updated Counter 0: value=3, flags=1, timestamp=1793185426513 (UNSYNCHRONIZED_TIME)
11:03:46.513 [PLG] Updated Counter 0: value=4, flags=1, timestamp=1793185426513 (UNSYNCHRONIZED_TIME)
11:03:46.513 step: 8
11:03:46.513 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:03:46.513 - g22v2, All Objects
11:03:46.513 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:03:46.513 g22v2, All Objects
11:03:46.513 --T-> fir: 1 fin: 1 seq: 0
11:03:46.513 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:46.513 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:46.513 C0 C2 01 16 02 06 63 B8
11:03:46.514 steps: 9 to 10
11:03:46.514 - Read a single fragment response w/ sequence(0x02)
11:03:46.514 - 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
11:03:46.514 - Verify that every event reports its flags normal (ONLINE set, all others clear)
11:03:46.514 - Verify that the response holds every counter event generated
11:03:46.514 - Verify that an application layer confirmation is requested.
11:03:46.514 - Record the events
11:03:46.514 <-P-- 05 64 19 44 01 00 00 04 F6 63
11:03:46.514 C1 E2 81 90 00 16 02 28 02 00 00 00 01 03 00 00 66 EC
11:03:46.514 00 01 04 00 8D D1
11:03:46.514 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
11:03:46.514 <-T-- fir: 1 fin: 1 seq: 1
11:03:46.514 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
11:03:46.514 g22v2, 2-Byte Count and Index, count: 2
11:03:46.514 [0] - flags: 0x01 count: 3
11:03:46.514 [0] - flags: 0x01 count: 4
11:03:46.514 [PLG] Verified 2 counter point event(s)
11:03:46.514 step: 10.5
11:03:46.514 - Expect no response within 6000 ms.
11:03:52.520 step: 10.6
11:03:52.520 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:03:52.520 - g22v2, All Objects
11:03:52.520 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:03:52.520 g22v2, All Objects
11:03:52.520 --T-> fir: 1 fin: 1 seq: 0
11:03:52.520 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:52.520 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:52.520 C0 C3 01 16 02 06 65 9B
11:03:52.521 steps: 10.7 to 10.8
11:03:52.521 - Read a single fragment response w/ sequence(0x03)
11:03:52.521 - 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
11:03:52.521 - Verify that every event reports its flags normal (ONLINE set, all others clear)
11:03:52.521 - Verify that an application layer confirmation is requested.
11:03:52.521 - Verify that the response reports the same events as the one before
11:03:52.521 - Confirm each response that asks for a confirmation
11:03:52.521 <-P-- 05 64 19 44 01 00 00 04 F6 63
11:03:52.521 C2 E3 81 90 00 16 02 28 02 00 00 00 01 03 00 00 EA 54
11:03:52.521 00 01 04 00 8D D1
11:03:52.521 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
11:03:52.521 <-T-- fir: 1 fin: 1 seq: 2
11:03:52.521 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
11:03:52.521 g22v2, 2-Byte Count and Index, count: 2
11:03:52.521 [0] - flags: 0x01 count: 3
11:03:52.521 [0] - flags: 0x01 count: 4
11:03:52.521 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:03:52.521 --T-> fir: 1 fin: 1 seq: 0
11:03:52.521 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
11:03:52.521 --P-> 05 64 08 C4 00 04 01 00 9A 19
11:03:52.521 C0 C3 00 98 26
11:03:52.521 Passed procedure: 8.25.2c