8.23.2.4 Variation nnn – specific attributes write request (revision 2.7, subset level 2)

Device under test: Step Function I/O dnp3 outstation

11:02:54.821 Running procedure: 8.23.2.4
11:02:54.823 This procedure is enabled because the following options:
11:02:54.823 - supports.deviceAttributes == true
11:02:54.823 steps: 1 to 4, g0v245
11:02:54.823 - Read g0v245, which must be a visible string
11:02:54.823 - Write a test string to g0v245 and expect a Null Response
11:02:54.823 - Read g0v245 and verify that it is the test string
11:02:54.823 - Write the original value back to g0v245, even if a step above failed, and verify it by reading it back
11:02:54.823 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:02:54.823 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.823 --T-> fir: 1 fin: 1 seq: 0
11:02:54.824 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1
11:02:54.824 --P-> 05 64 0D C4 00 04 01 00 13 E1
11:02:54.824 C0 C1 01 00 F5 00 00 00 1A 1F
11:02:54.824 <-P-- 05 64 19 44 01 00 00 04 F6 63
11:02:54.824 C0 C1 81 90 00 00 F5 00 00 00 01 08 42 65 6E 64 A5 B0
11:02:54.824 2C 20 4F 52 10 FB
11:02:54.824 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
11:02:54.824 <-T-- fir: 1 fin: 1 seq: 0
11:02:54.824 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
11:02:54.824 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.824 [0] - vstr: "Bend, OR"
11:02:54.825 --A-> Write(0x02) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:02:54.825 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.825 [0] - vstr: "dnp3c test 245"
11:02:54.825 --T-> fir: 1 fin: 1 seq: 0
11:02:54.825 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 29 dest: 1024 src: 1
11:02:54.825 --P-> 05 64 1D C4 00 04 01 00 D2 99
11:02:54.825 C0 C2 02 00 F5 00 00 00 01 0E 64 6E 70 33 63 20 F3 4B
11:02:54.825 74 65 73 74 20 32 34 35 DE CC
11:02:54.825 <-P-- 05 64 0A 44 01 00 00 04 67 88
11:02:54.825 C1 C2 81 90 00 34 C7
11:02:54.825 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
11:02:54.825 <-T-- fir: 1 fin: 1 seq: 1
11:02:54.825 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
11:02:54.825 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:02:54.825 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.825 --T-> fir: 1 fin: 1 seq: 0
11:02:54.825 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1
11:02:54.825 --P-> 05 64 0D C4 00 04 01 00 13 E1
11:02:54.825 C0 C3 01 00 F5 00 00 00 DE A1
11:02:54.826 <-P-- 05 64 1F 44 01 00 00 04 2F 08
11:02:54.826 C2 C3 81 90 00 00 F5 00 00 00 01 0E 64 6E 70 33 18 33
11:02:54.826 63 20 74 65 73 74 20 32 34 35 04 C3
11:02:54.826 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 31 dest: 1 src: 1024
11:02:54.826 <-T-- fir: 1 fin: 1 seq: 2
11:02:54.826 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
11:02:54.826 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.826 [0] - vstr: "dnp3c test 245"
11:02:54.826 --A-> Write(0x02) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
11:02:54.826 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.826 [0] - vstr: "Bend, OR"
11:02:54.826 --T-> fir: 1 fin: 1 seq: 0
11:02:54.826 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 23 dest: 1024 src: 1
11:02:54.826 --P-> 05 64 17 C4 00 04 01 00 B9 25
11:02:54.826 C0 C4 02 00 F5 00 00 00 01 08 42 65 6E 64 2C 20 1D 55
11:02:54.826 4F 52 A8 31
11:02:54.826 <-P-- 05 64 0A 44 01 00 00 04 67 88
11:02:54.826 C3 C4 81 90 00 BA 95
11:02:54.826 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
11:02:54.826 <-T-- fir: 1 fin: 1 seq: 3
11:02:54.826 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
11:02:54.826 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
11:02:54.826 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.826 --T-> fir: 1 fin: 1 seq: 0
11:02:54.826 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1
11:02:54.826 --P-> 05 64 0D C4 00 04 01 00 13 E1
11:02:54.826 C0 C5 01 00 F5 00 00 00 EB 2F
11:02:54.826 <-P-- 05 64 19 44 01 00 00 04 F6 63
11:02:54.826 C4 C5 81 90 00 00 F5 00 00 00 01 08 42 65 6E 64 F5 3E
11:02:54.826 2C 20 4F 52 10 FB
11:02:54.826 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
11:02:54.826 <-T-- fir: 1 fin: 1 seq: 4
11:02:54.826 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05 IIN(DeviceRestart, NeedTime)
11:02:54.826 g0v245, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.826 [0] - vstr: "Bend, OR"
11:02:54.827 steps: 1 to 4, g0v247
11:02:54.827 - Read g0v247, which must be a visible string
11:02:54.827 - Write a test string to g0v247 and expect a Null Response
11:02:54.827 - Read g0v247 and verify that it is the test string
11:02:54.827 - Write the original value back to g0v247, even if a step above failed, and verify it by reading it back
11:02:54.827 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
11:02:54.827 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.827 --T-> fir: 1 fin: 1 seq: 0
11:02:54.827 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1
11:02:54.827 --P-> 05 64 0D C4 00 04 01 00 13 E1
11:02:54.827 C0 C6 01 00 F7 00 00 00 E4 06
11:02:54.827 <-P-- 05 64 14 44 01 00 00 04 A3 01
11:02:54.827 C5 C6 81 90 00 00 F7 00 00 00 01 03 44 55 54 55 80
11:02:54.827 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 20 dest: 1 src: 1024
11:02:54.827 <-T-- fir: 1 fin: 1 seq: 5
11:02:54.827 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06 IIN(DeviceRestart, NeedTime)
11:02:54.827 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.827 [0] - vstr: "DUT"
11:02:54.827 --A-> Write(0x02) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07
11:02:54.827 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.827 [0] - vstr: "dnp3c test 247"
11:02:54.827 --T-> fir: 1 fin: 1 seq: 0
11:02:54.827 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 29 dest: 1024 src: 1
11:02:54.827 --P-> 05 64 1D C4 00 04 01 00 D2 99
11:02:54.827 C0 C7 02 00 F7 00 00 00 01 0E 64 6E 70 33 63 20 45 44
11:02:54.827 74 65 73 74 20 32 34 37 62 A0
11:02:54.827 <-P-- 05 64 0A 44 01 00 00 04 67 88
11:02:54.827 C6 C7 81 90 00 E5 30
11:02:54.827 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
11:02:54.827 <-T-- fir: 1 fin: 1 seq: 6
11:02:54.827 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07 IIN(DeviceRestart, NeedTime)
11:02:54.827 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x08
11:02:54.827 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.827 --T-> fir: 1 fin: 1 seq: 0
11:02:54.827 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1
11:02:54.827 --P-> 05 64 0D C4 00 04 01 00 13 E1
11:02:54.827 C0 C8 01 00 F7 00 00 00 33 E9
11:02:54.828 <-P-- 05 64 1F 44 01 00 00 04 2F 08
11:02:54.828 C7 C8 81 90 00 00 F7 00 00 00 01 0E 64 6E 70 33 03 DB
11:02:54.828 63 20 74 65 73 74 20 32 34 37 B8 AF
11:02:54.828 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 31 dest: 1 src: 1024
11:02:54.828 <-T-- fir: 1 fin: 1 seq: 7
11:02:54.828 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x08 IIN(DeviceRestart, NeedTime)
11:02:54.828 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.828 [0] - vstr: "dnp3c test 247"
11:02:54.828 --A-> Write(0x02) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x09
11:02:54.828 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.828 [0] - vstr: "DUT"
11:02:54.828 --T-> fir: 1 fin: 1 seq: 0
11:02:54.828 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 18 dest: 1024 src: 1
11:02:54.828 --P-> 05 64 12 C4 00 04 01 00 30 DD
11:02:54.828 C0 C9 02 00 F7 00 00 00 01 03 44 55 54 B2 00
11:02:54.828 <-P-- 05 64 0A 44 01 00 00 04 67 88
11:02:54.828 C8 C9 81 90 00 15 4E
11:02:54.828 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
11:02:54.828 <-T-- fir: 1 fin: 1 seq: 8
11:02:54.828 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x09 IIN(DeviceRestart, NeedTime)
11:02:54.828 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0A
11:02:54.828 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.828 --T-> fir: 1 fin: 1 seq: 0
11:02:54.828 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1
11:02:54.828 --P-> 05 64 0D C4 00 04 01 00 13 E1
11:02:54.828 C0 CA 01 00 F7 00 00 00 F7 57
11:02:54.828 <-P-- 05 64 14 44 01 00 00 04 A3 01
11:02:54.828 C9 CA 81 90 00 00 F7 00 00 00 01 03 44 55 54 3E 93
11:02:54.828 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 20 dest: 1 src: 1024
11:02:54.828 <-T-- fir: 1 fin: 1 seq: 9
11:02:54.828 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0A IIN(DeviceRestart, NeedTime)
11:02:54.828 g0v247, 1-Byte Start/Stop, start: 0 stop: 0
11:02:54.828 [0] - vstr: "DUT"
11:02:54.829 Passed procedure: 8.23.2.4