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

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