11:55:53.469 Running procedure: 8.5.4.2.4
11:55:53.473 This procedure is enabled because the following options:
11:55:53.473 - class.supportClass3 == true
11:55:53.474 step: 1
11:55:53.474 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
11:55:53.474 - g60v4, All Objects
11:55:53.475 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
11:55:53.475 g60v4, All Objects
11:55:53.475 --T-> fir: 1 fin: 1 seq: 0
11:55:53.475 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:55:53.476 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:55:53.476 C0 C0 01 3C 04 06 7B CC
11:55:53.477 steps: 2 to 3
11:55:53.477 - Read any number of valid responses beginning w/ sequence(0x00) and incrementing by 1 modulo 16
11:55:53.477 - If the response is not Null, verify that the device requests an application layer confirmation.
11:55:53.477 <-P-- 05 64 0A 44 01 00 00 04 67 88
11:55:53.477 C0 C0 81 90 00 9B 2C
11:55:53.477 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
11:55:53.477 <-T-- fir: 1 fin: 1 seq: 0
11:55:53.477 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
11:55:53.478 step: 4
11:55:53.478 - Generate known Class Class 3 event data
11:55:53.478 Updated AI 65535: value=100.0, flags=1, timestamp=DNPTime(1586534153478)
11:55:53.479 Updated AI 65535: value=200.0, flags=1, timestamp=DNPTime(1586534153478)
11:55:53.479 Updated AI 0: value=100.0, flags=1, timestamp=DNPTime(1586534153479)
11:55:53.480 step: 5
11:55:53.480 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:55:53.480 - g60v4, All Objects
11:55:53.480 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:55:53.480 g60v4, All Objects
11:55:53.481 --T-> fir: 1 fin: 1 seq: 0
11:55:53.481 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:55:53.482 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:55:53.482 C0 C1 01 3C 04 06 7D EF
11:55:53.483 steps: 6 to 10
11:55:53.483 - Read a single fragment response w/ sequence(0x01)
11:55:53.483 - Verify that the device responds with all the Class 3 event data generated in a single response
11:55:53.483 - Verify that the response only contains objects, variations, and qualifiers specified in table 8-4
11:55:53.483 - Verify that flag behavior complies with Section 2, Note #5.
11:55:53.483 - Verify that an application layer confirmation is requested.
11:55:53.484 <-P-- 05 64 24 44 01 00 00 04 E0 88
11:55:53.484 C1 E1 81 90 00 20 01 28 03 00 FF FF 01 64 00 00 C5 54
11:55:53.484 00 FF FF 01 C8 00 00 00 00 00 01 64 00 00 00 13 20
11:55:53.485 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 36 dest: 1 src: 1024
11:55:53.485 <-T-- fir: 1 fin: 1 seq: 1
11:55:53.486 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
11:55:53.486 g32v1, 2-Byte Count and Index, count: 3
11:55:53.486 [65535] - flags: 0x01 value: 100
11:55:53.486 [65535] - flags: 0x01 value: 200
11:55:53.486 [0] - flags: 0x01 value: 100
11:55:53.487 step: 11
11:55:53.487 - Do not issue an application layer confirm to the device.
11:55:53.487 step: 12
11:55:53.487 - Wait for 3000 milliseconds
11:55:56.488 step: 13
11:55:56.488 - Expect no response.
11:55:58.689 step: 14
11:55:58.689 - Generate known Class Class 3 event data
11:55:58.690 Updated AI 0: value=200.0, flags=1, timestamp=DNPTime(1586534158690)
11:55:58.690 Updated AI 41: value=100.0, flags=1, timestamp=DNPTime(1586534158690)
11:55:58.691 Updated AI 41: value=200.0, flags=1, timestamp=DNPTime(1586534158690)
11:55:58.692 step: 15
11:55:58.692 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:55:58.692 - g60v4, All Objects
11:55:58.692 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:55:58.692 g60v4, All Objects
11:55:58.693 --T-> fir: 1 fin: 1 seq: 0
11:55:58.693 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:55:58.693 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:55:58.693 C0 C2 01 3C 04 06 77 8A
11:55:58.695 steps: 16 to 17
11:55:58.695 - Read a single fragment response w/ sequence(0x02)
11:55:58.695 - Verify that the device responds with the same Class 3 event data and the additional data generated
11:55:58.695 - Verify that the response only contains objects, variations, and qualifiers specified in table 8-4
11:55:58.695 - Verify that flag behavior complies with Section 2, Note #5.
11:55:58.695 - Verify that an application layer confirmation is requested.
11:55:58.696 <-P-- 05 64 39 44 01 00 00 04 74 92
11:55:58.696 C2 E2 81 90 00 20 01 28 06 00 FF FF 01 64 00 00 23 7E
11:55:58.696 00 FF FF 01 C8 00 00 00 00 00 01 64 00 00 00 00 9C 05
11:55:58.696 00 01 C8 00 00 00 29 00 01 64 00 00 00 29 00 01 5D 7E
11:55:58.696 C8 00 00 00 62 00
11:55:58.696 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 57 dest: 1 src: 1024
11:55:58.696 <-T-- fir: 1 fin: 1 seq: 2
11:55:58.698 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
11:55:58.698 g32v1, 2-Byte Count and Index, count: 6
11:55:58.698 [65535] - flags: 0x01 value: 100
11:55:58.698 [65535] - flags: 0x01 value: 200
11:55:58.698 [0] - flags: 0x01 value: 100
11:55:58.698 [0] - flags: 0x01 value: 200
11:55:58.698 [41] - flags: 0x01 value: 100
11:55:58.698 [41] - flags: 0x01 value: 200
11:55:58.698 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:55:58.699 --T-> fir: 1 fin: 1 seq: 0
11:55:58.699 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
11:55:58.699 --P-> 05 64 08 C4 00 04 01 00 9A 19
11:55:58.699 C0 C2 00 D6 8D
11:55:58.700 step: 18
11:55:58.700 - Send an application layer confirmation with sequence(0x02)
11:55:58.701 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:55:58.701 --T-> fir: 1 fin: 1 seq: 0
11:55:58.701 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
11:55:58.702 --P-> 05 64 08 C4 00 04 01 00 9A 19
11:55:58.702 C0 C2 00 D6 8D
11:55:58.703 step: 19
11:55:58.703 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:55:58.703 - g60v4, All Objects
11:55:58.703 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:55:58.703 g60v4, All Objects
11:55:58.703 --T-> fir: 1 fin: 1 seq: 0
11:55:58.704 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:55:58.704 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:55:58.704 C0 C3 01 3C 04 06 71 A9
11:55:58.705 step: 20
11:55:58.705 - Read a single fragment response w/ sequence(0x03)
11:55:58.705 - Verify that the response is empty
11:55:58.706 <-P-- 05 64 0A 44 01 00 00 04 67 88
11:55:58.706 C3 C3 81 90 00 D0 43
11:55:58.706 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
11:55:58.706 <-T-- fir: 1 fin: 1 seq: 3
11:55:58.706 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
11:55:58.707 Passed procedure: 8.5.4.2.4