8.6.5b Test Procedure, Confirmed Response Options (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

10:57:28.508 Running procedure: 8.6.5b
10:57:28.511 step: 1
10:57:28.511 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: the next
10:57:28.511 - g60v1, All Objects
10:57:28.511 - g60v2, All Objects
10:57:28.511 - g60v3, All Objects
10:57:28.511 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
10:57:28.511 g60v1, All Objects
10:57:28.511 g60v2, All Objects
10:57:28.511 g60v3, All Objects
10:57:28.511 --T-> fir: 1 fin: 1 seq: 0
10:57:28.511 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 17 dest: 1024 src: 1
10:57:28.511 --P-> 05 64 11 C4 00 04 01 00 60 4E
10:57:28.511 C0 C0 01 3C 01 06 3C 02 06 3C 03 06 CF AE
10:57:28.511 step: 2
10:57:28.511 - While the response carries data and asks for confirmation, confirm it and repeat step 1, so that no events are left
10:57:28.512 <-P-- 05 64 E0 44 01 00 00 04 70 7A
10:57:28.512 C0 C0 81 90 00 01 01 01 00 00 0B 00 00 00 0A 02 97 78
10:57:28.512 01 00 00 13 00 01 01 01 01 01 01 01 01 01 01 01 96 07
10:57:28.512 01 01 01 01 01 01 01 01 01 14 02 01 00 00 09 00 26 7E
10:57:28.512 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
10:57:28.512 00 00 01 00 00 01 00 00 01 00 00 01 00 00 15 02 85 CD
10:57:28.512 01 00 00 09 00 01 00 00 01 00 00 01 00 00 01 00 B6 06
10:57:28.512 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 9E 0F
10:57:28.512 01 00 00 1E 02 01 00 00 09 00 01 00 00 01 00 00 0A 10
10:57:28.512 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
10:57:28.512 00 00 01 00 00 01 00 00 28 02 01 00 00 13 00 01 EF FE
10:57:28.512 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
10:57:28.512 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 9E 0F
10:57:28.512 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
10:57:28.512 00 00 01 00 00 01 00 00 01 00 00 61 8D
10:57:28.512 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 224 dest: 1 src: 1024
10:57:28.512 <-T-- fir: 1 fin: 1 seq: 0
10:57:28.513 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
10:57:28.513 g1v1, 2-Byte Start/Stop, start: 0 stop: 11
10:57:28.513 [0] - BooleanValue(false)
10:57:28.513 [1] - BooleanValue(false)
10:57:28.513 [2] - BooleanValue(false)
10:57:28.513 [3] - BooleanValue(false)
10:57:28.513 [4] - BooleanValue(false)
10:57:28.513 [5] - BooleanValue(false)
10:57:28.513 [6] - BooleanValue(false)
10:57:28.513 [7] - BooleanValue(false)
10:57:28.513 [8] - BooleanValue(false)
10:57:28.513 [9] - BooleanValue(false)
10:57:28.513 [10] - BooleanValue(false)
10:57:28.513 [11] - BooleanValue(false)
10:57:28.513 g10v2, 2-Byte Start/Stop, start: 0 stop: 19
10:57:28.513 [0] - flags: 0x01
10:57:28.513 [1] - flags: 0x01
10:57:28.513 [2] - flags: 0x01
10:57:28.513 [3] - flags: 0x01
10:57:28.513 [4] - flags: 0x01
10:57:28.513 [5] - flags: 0x01
10:57:28.513 [6] - flags: 0x01
10:57:28.513 [7] - flags: 0x01
10:57:28.513 [8] - flags: 0x01
10:57:28.513 [9] - flags: 0x01
10:57:28.513 [10] - flags: 0x01
10:57:28.513 [11] - flags: 0x01
10:57:28.513 [12] - flags: 0x01
10:57:28.513 [13] - flags: 0x01
10:57:28.513 [14] - flags: 0x01
10:57:28.513 [15] - flags: 0x01
10:57:28.513 [16] - flags: 0x01
10:57:28.513 [17] - flags: 0x01
10:57:28.513 [18] - flags: 0x01
10:57:28.513 [19] - flags: 0x01
10:57:28.513 g20v2, 2-Byte Start/Stop, start: 0 stop: 9
10:57:28.513 [0] - flags: 0x01 count: 0
10:57:28.513 [1] - flags: 0x01 count: 0
10:57:28.513 [2] - flags: 0x01 count: 0
10:57:28.513 [3] - flags: 0x01 count: 0
10:57:28.513 [4] - flags: 0x01 count: 0
10:57:28.513 [5] - flags: 0x01 count: 0
10:57:28.513 [6] - flags: 0x01 count: 0
10:57:28.513 [7] - flags: 0x01 count: 0
10:57:28.513 [8] - flags: 0x01 count: 0
10:57:28.513 [9] - flags: 0x01 count: 0
10:57:28.513 g21v2, 2-Byte Start/Stop, start: 0 stop: 9
10:57:28.513 [0] - flags: 0x01 count: 0
10:57:28.513 [1] - flags: 0x01 count: 0
10:57:28.513 [2] - flags: 0x01 count: 0
10:57:28.513 [3] - flags: 0x01 count: 0
10:57:28.513 [4] - flags: 0x01 count: 0
10:57:28.513 [5] - flags: 0x01 count: 0
10:57:28.513 [6] - flags: 0x01 count: 0
10:57:28.513 [7] - flags: 0x01 count: 0
10:57:28.513 [8] - flags: 0x01 count: 0
10:57:28.513 [9] - flags: 0x01 count: 0
10:57:28.513 g30v2, 2-Byte Start/Stop, start: 0 stop: 9
10:57:28.513 [0] - flags: 0x01 value: 0
10:57:28.513 [1] - flags: 0x01 value: 0
10:57:28.513 [2] - flags: 0x01 value: 0
10:57:28.513 [3] - flags: 0x01 value: 0
10:57:28.513 [4] - flags: 0x01 value: 0
10:57:28.513 [5] - flags: 0x01 value: 0
10:57:28.513 [6] - flags: 0x01 value: 0
10:57:28.513 [7] - flags: 0x01 value: 0
10:57:28.513 [8] - flags: 0x01 value: 0
10:57:28.513 [9] - flags: 0x01 value: 0
10:57:28.513 g40v2, 2-Byte Start/Stop, start: 0 stop: 19
10:57:28.513 [0] - flags: 0x01 value: 0
10:57:28.513 [1] - flags: 0x01 value: 0
10:57:28.513 [2] - flags: 0x01 value: 0
10:57:28.513 [3] - flags: 0x01 value: 0
10:57:28.513 [4] - flags: 0x01 value: 0
10:57:28.513 [5] - flags: 0x01 value: 0
10:57:28.513 [6] - flags: 0x01 value: 0
10:57:28.513 [7] - flags: 0x01 value: 0
10:57:28.513 [8] - flags: 0x01 value: 0
10:57:28.513 [9] - flags: 0x01 value: 0
10:57:28.513 [10] - flags: 0x01 value: 0
10:57:28.513 [11] - flags: 0x01 value: 0
10:57:28.513 [12] - flags: 0x01 value: 0
10:57:28.513 [13] - flags: 0x01 value: 0
10:57:28.513 [14] - flags: 0x01 value: 0
10:57:28.513 [15] - flags: 0x01 value: 0
10:57:28.513 [16] - flags: 0x01 value: 0
10:57:28.513 [17] - flags: 0x01 value: 0
10:57:28.513 [18] - flags: 0x01 value: 0
10:57:28.513 [19] - flags: 0x01 value: 0
10:57:28.514 step: 3
10:57:28.514 - Freeze(0x07) fir: 1 fin: 1 con: 0 uns: 0 seq: the next using link options: { destination == 0xFFFE }
10:57:28.514 - g20v0, All Objects
10:57:28.514 --A-> Freeze(0x07) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:57:28.514 g20v0, All Objects
10:57:28.514 --T-> fir: 1 fin: 1 seq: 0
10:57:28.514 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 65534 src: 1
10:57:28.514 --P-> 05 64 0B C4 FE FF 01 00 77 CD
10:57:28.514 C0 C1 07 14 00 06 7E E1
10:57:28.514 steps: 4 to 5
10:57:28.514 - Verify that no link layer frames are received within 2000 ms
10:57:30.516 frame receive timeout
10:57:30.517 step: 6
10:57:30.517 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: the next
10:57:30.517 - g60v2, All Objects
10:57:30.517 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
10:57:30.517 g60v2, All Objects
10:57:30.517 --T-> fir: 1 fin: 1 seq: 0
10:57:30.517 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
10:57:30.517 --P-> 05 64 0B C4 00 04 01 00 CA 8A
10:57:30.517 C0 C2 01 3C 02 06 58 A6
10:57:30.517 step: 7
10:57:30.517 - Read a single fragment response w/ the sequence number of the request before it
10:57:30.517 - Verify that the response is empty
10:57:30.517 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:57:30.517 - Verify that the IIN field contains IIN(Broadcast)
10:57:30.517 - Verify that an application layer confirmation is requested.
10:57:30.517 <-P-- 05 64 0A 44 01 00 00 04 67 88
10:57:30.517 C1 E2 81 91 00 4D 6F
10:57:30.517 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
10:57:30.517 <-T-- fir: 1 fin: 1 seq: 1
10:57:30.517 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime, Broadcast)
10:57:30.517 step: 8
10:57:30.517 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: the next
10:57:30.517 - g60v2, All Objects
10:57:30.517 - Read a single fragment response w/ the sequence number of the request before it
10:57:30.517 - Verify that the IIN field contains IIN(Broadcast)
10:57:30.517 - Verify that an application layer confirmation is requested.
10:57:30.517 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
10:57:30.517 g60v2, All Objects
10:57:30.517 --T-> fir: 1 fin: 1 seq: 0
10:57:30.517 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
10:57:30.518 --P-> 05 64 0B C4 00 04 01 00 CA 8A
10:57:30.518 C0 C3 01 3C 02 06 5E 85
10:57:30.518 <-P-- 05 64 0A 44 01 00 00 04 67 88
10:57:30.518 C2 E3 81 91 00 AF C8
10:57:30.518 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
10:57:30.518 <-T-- fir: 1 fin: 1 seq: 2
10:57:30.518 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime, Broadcast)
10:57:30.518 step: 9
10:57:30.518 - Send the application layer confirmation the response asked for
10:57:30.518 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
10:57:30.518 --T-> fir: 1 fin: 1 seq: 0
10:57:30.518 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
10:57:30.518 --P-> 05 64 08 C4 00 04 01 00 9A 19
10:57:30.518 C0 C3 00 98 26
10:57:30.519 step: 10
10:57:30.519 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: the next
10:57:30.519 - g60v2, All Objects
10:57:30.519 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
10:57:30.519 g60v2, All Objects
10:57:30.519 --T-> fir: 1 fin: 1 seq: 0
10:57:30.519 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
10:57:30.519 --P-> 05 64 0B C4 00 04 01 00 CA 8A
10:57:30.519 C0 C4 01 3C 02 06 4C 6C
10:57:30.519 step: 11
10:57:30.519 - Read a single fragment response w/ the sequence number of the request before it
10:57:30.519 - Verify that the response is empty
10:57:30.519 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:57:30.519 - Verify that the IIN field does not contain bits IIN(Broadcast)
10:57:30.519 <-P-- 05 64 0A 44 01 00 00 04 67 88
10:57:30.519 C3 C4 81 90 00 BA 95
10:57:30.519 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
10:57:30.519 <-T-- fir: 1 fin: 1 seq: 3
10:57:30.519 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
10:57:30.519 step: 12
10:57:30.519 - Freeze(0x07) fir: 1 fin: 1 con: 0 uns: 0 seq: the next using link options: { destination == 0xFFFD }
10:57:30.519 - g20v0, All Objects
10:57:30.519 --A-> Freeze(0x07) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
10:57:30.519 g20v0, All Objects
10:57:30.519 --T-> fir: 1 fin: 1 seq: 0
10:57:30.519 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 65533 src: 1
10:57:30.519 --P-> 05 64 0B C4 FD FF 01 00 36 C7
10:57:30.519 C0 C5 07 14 00 06 66 6D
10:57:30.519 steps: 13 to 14
10:57:30.519 - Verify that no link layer frames are received within 2000 ms
10:57:32.521 frame receive timeout
10:57:32.521 step: 15
10:57:32.521 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: the next
10:57:32.521 - g60v2, All Objects
10:57:32.522 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
10:57:32.522 g60v2, All Objects
10:57:32.522 --T-> fir: 1 fin: 1 seq: 0
10:57:32.522 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
10:57:32.522 --P-> 05 64 0B C4 00 04 01 00 CA 8A
10:57:32.522 C0 C6 01 3C 02 06 40 2A
10:57:32.522 step: 16
10:57:32.522 - Read a single fragment response w/ the sequence number of the request before it
10:57:32.522 - Verify that the response is empty
10:57:32.522 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:57:32.522 - Verify that the IIN field contains IIN(Broadcast)
10:57:32.522 - Verify that the response doesn't ask for an application layer confirmation.
10:57:32.522 <-P-- 05 64 0A 44 01 00 00 04 67 88
10:57:32.522 C4 C6 81 91 00 4F 1F
10:57:32.522 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
10:57:32.522 <-T-- fir: 1 fin: 1 seq: 4
10:57:32.523 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06 IIN(DeviceRestart, NeedTime, Broadcast)
10:57:32.523 Passed procedure: 8.6.5b