8.26.2 Test Procedures (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

05:32:18.234 Running procedure: 8.26.2
05:32:18.245 This procedure is enabled because the following options:
05:32:18.245 - supports.binaryInput == true
05:32:18.245 - supports.binaryInputChangeEvents == true
05:32:18.245 step: 1
05:32:18.245 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:32:18.245 - g60v2, All Objects
05:32:18.245 - g60v3, All Objects
05:32:18.245 - g60v4, All Objects
05:32:18.245 - g60v1, All Objects
05:32:18.246 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:32:18.246 g60v2, All Objects
05:32:18.246 g60v3, All Objects
05:32:18.246 g60v4, All Objects
05:32:18.246 g60v1, All Objects
05:32:18.246 --T-> fir: 1 fin: 1 seq: 0
05:32:18.246 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 20 dest: 1024 src: 1
05:32:18.246 --P-> 05 64 14 C4 00 04 01 00 E9 B6
05:32:18.246 C0 C0 01 3C 02 06 3C 03 06 3C 04 06 3C 01 06 8A 51
05:32:18.246 steps: 2 to 5
05:32:18.246 - Read any number of valid responses beginning w/ sequence(0x00) and incrementing by 1 modulo 16
05:32:18.246 - Verify that each fragment followed by another, or carrying events, asks for an application layer confirmation.
05:32:18.246 - Verify that the response reports each input's present state
05:32:18.246 - Confirm each response that asks for a confirmation
05:32:18.247 <-P-- 05 64 E0 44 01 00 00 04 70 7A
05:32:18.247 C0 C0 81 90 00 01 01 01 00 00 0B 00 00 00 0A 02 97 78
05:32:18.247 01 00 00 13 00 01 01 01 01 01 01 01 01 01 01 01 96 07
05:32:18.247 01 01 01 01 01 01 01 01 01 14 02 01 00 00 09 00 26 7E
05:32:18.247 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
05:32:18.247 00 00 01 00 00 01 00 00 01 00 00 01 00 00 15 02 85 CD
05:32:18.247 01 00 00 09 00 01 00 00 01 00 00 01 00 00 01 00 B6 06
05:32:18.247 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 9E 0F
05:32:18.247 01 00 00 1E 02 01 00 00 09 00 01 00 00 01 00 00 0A 10
05:32:18.247 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
05:32:18.247 00 00 01 00 00 01 00 00 28 02 01 00 00 13 00 01 EF FE
05:32:18.247 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
05:32:18.247 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 9E 0F
05:32:18.247 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85
05:32:18.247 00 00 01 00 00 01 00 00 01 00 00 61 8D
05:32:18.247 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 224 dest: 1 src: 1024
05:32:18.247 <-T-- fir: 1 fin: 1 seq: 0
05:32:18.248 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
05:32:18.248 g1v1, 2-Byte Start/Stop, start: 0 stop: 11
05:32:18.248 [0] - BooleanValue(false)
05:32:18.248 [1] - BooleanValue(false)
05:32:18.248 [2] - BooleanValue(false)
05:32:18.248 [3] - BooleanValue(false)
05:32:18.248 [4] - BooleanValue(false)
05:32:18.248 [5] - BooleanValue(false)
05:32:18.248 [6] - BooleanValue(false)
05:32:18.248 [7] - BooleanValue(false)
05:32:18.248 [8] - BooleanValue(false)
05:32:18.248 [9] - BooleanValue(false)
05:32:18.248 [10] - BooleanValue(false)
05:32:18.248 [11] - BooleanValue(false)
05:32:18.248 g10v2, 2-Byte Start/Stop, start: 0 stop: 19
05:32:18.248 [0] - flags: 0x01
05:32:18.248 [1] - flags: 0x01
05:32:18.248 [2] - flags: 0x01
05:32:18.248 [3] - flags: 0x01
05:32:18.248 [4] - flags: 0x01
05:32:18.248 [5] - flags: 0x01
05:32:18.248 [6] - flags: 0x01
05:32:18.248 [7] - flags: 0x01
05:32:18.248 [8] - flags: 0x01
05:32:18.248 [9] - flags: 0x01
05:32:18.248 [10] - flags: 0x01
05:32:18.248 [11] - flags: 0x01
05:32:18.248 [12] - flags: 0x01
05:32:18.248 [13] - flags: 0x01
05:32:18.248 [14] - flags: 0x01
05:32:18.248 [15] - flags: 0x01
05:32:18.248 [16] - flags: 0x01
05:32:18.248 [17] - flags: 0x01
05:32:18.248 [18] - flags: 0x01
05:32:18.248 [19] - flags: 0x01
05:32:18.248 g20v2, 2-Byte Start/Stop, start: 0 stop: 9
05:32:18.248 [0] - flags: 0x01 count: 0
05:32:18.248 [1] - flags: 0x01 count: 0
05:32:18.248 [2] - flags: 0x01 count: 0
05:32:18.248 [3] - flags: 0x01 count: 0
05:32:18.248 [4] - flags: 0x01 count: 0
05:32:18.248 [5] - flags: 0x01 count: 0
05:32:18.248 [6] - flags: 0x01 count: 0
05:32:18.248 [7] - flags: 0x01 count: 0
05:32:18.248 [8] - flags: 0x01 count: 0
05:32:18.248 [9] - flags: 0x01 count: 0
05:32:18.248 g21v2, 2-Byte Start/Stop, start: 0 stop: 9
05:32:18.248 [0] - flags: 0x01 count: 0
05:32:18.248 [1] - flags: 0x01 count: 0
05:32:18.248 [2] - flags: 0x01 count: 0
05:32:18.248 [3] - flags: 0x01 count: 0
05:32:18.248 [4] - flags: 0x01 count: 0
05:32:18.248 [5] - flags: 0x01 count: 0
05:32:18.248 [6] - flags: 0x01 count: 0
05:32:18.248 [7] - flags: 0x01 count: 0
05:32:18.248 [8] - flags: 0x01 count: 0
05:32:18.248 [9] - flags: 0x01 count: 0
05:32:18.248 g30v2, 2-Byte Start/Stop, start: 0 stop: 9
05:32:18.248 [0] - flags: 0x01 value: 0
05:32:18.248 [1] - flags: 0x01 value: 0
05:32:18.248 [2] - flags: 0x01 value: 0
05:32:18.248 [3] - flags: 0x01 value: 0
05:32:18.248 [4] - flags: 0x01 value: 0
05:32:18.248 [5] - flags: 0x01 value: 0
05:32:18.248 [6] - flags: 0x01 value: 0
05:32:18.248 [7] - flags: 0x01 value: 0
05:32:18.248 [8] - flags: 0x01 value: 0
05:32:18.248 [9] - flags: 0x01 value: 0
05:32:18.248 g40v2, 2-Byte Start/Stop, start: 0 stop: 19
05:32:18.248 [0] - flags: 0x01 value: 0
05:32:18.248 [1] - flags: 0x01 value: 0
05:32:18.248 [2] - flags: 0x01 value: 0
05:32:18.248 [3] - flags: 0x01 value: 0
05:32:18.248 [4] - flags: 0x01 value: 0
05:32:18.248 [5] - flags: 0x01 value: 0
05:32:18.248 [6] - flags: 0x01 value: 0
05:32:18.248 [7] - flags: 0x01 value: 0
05:32:18.248 [8] - flags: 0x01 value: 0
05:32:18.248 [9] - flags: 0x01 value: 0
05:32:18.248 [10] - flags: 0x01 value: 0
05:32:18.248 [11] - flags: 0x01 value: 0
05:32:18.248 [12] - flags: 0x01 value: 0
05:32:18.248 [13] - flags: 0x01 value: 0
05:32:18.248 [14] - flags: 0x01 value: 0
05:32:18.248 [15] - flags: 0x01 value: 0
05:32:18.248 [16] - flags: 0x01 value: 0
05:32:18.248 [17] - flags: 0x01 value: 0
05:32:18.248 [18] - flags: 0x01 value: 0
05:32:18.248 [19] - flags: 0x01 value: 0
05:32:18.249 [PLG] Verified 82 point(s)
05:32:18.249 step: 6
05:32:18.249 - Generate an event for a point in class 1
05:32:18.249 - Generate an event for a point in class 2
05:32:18.250 [PLG] Updated BI 0: value=true, flags=81, timestamp=1793251938249 (UNSYNCHRONIZED_TIME)
05:32:18.250 [PLG] Updated BI 10: value=true, flags=81, timestamp=1793251938250 (UNSYNCHRONIZED_TIME)
05:32:18.250 step: 7
05:32:18.250 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:32:18.250 - g60v4, All Objects
05:32:18.250 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:32:18.250 g60v4, All Objects
05:32:18.250 --T-> fir: 1 fin: 1 seq: 0
05:32:18.250 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.250 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.250 C0 C1 01 3C 04 06 7D EF
05:32:18.250 steps: 8 to 9
05:32:18.250 - Read a single fragment response w/ sequence(0x01)
05:32:18.250 - Verify that no events are returned
05:32:18.250 - Verify that IIN1.1 and IIN1.2 set, and the other class bits clear
05:32:18.250 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.250 C1 C1 81 96 00 5A E1
05:32:18.250 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.250 <-T-- fir: 1 fin: 1 seq: 1
05:32:18.250 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime, Class2Events, Class1Events)
05:32:18.250 step: 10
05:32:18.250 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:32:18.250 - g60v2, All Objects
05:32:18.250 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:32:18.250 g60v2, All Objects
05:32:18.250 --T-> fir: 1 fin: 1 seq: 0
05:32:18.250 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.251 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.251 C0 C2 01 3C 02 06 58 A6
05:32:18.251 steps: 11 to 13
05:32:18.251 - Read a single fragment response w/ sequence(0x02)
05:32:18.251 - Verify that the binary input events expected, and only those, are returned
05:32:18.251 - Verify that an application layer confirmation is requested.
05:32:18.251 - Verify that IIN1.2 set, and the other class bits clear
05:32:18.251 - Confirm each response that asks for a confirmation
05:32:18.251 <-P-- 05 64 1E 44 01 00 00 04 C8 BD
05:32:18.251 C2 E2 81 94 00 33 02 07 01 C9 0F 25 86 A1 01 02 76 83
05:32:18.251 03 28 01 00 00 00 81 00 00 9A 2A
05:32:18.251 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 30 dest: 1 src: 1024
05:32:18.251 <-T-- fir: 1 fin: 1 seq: 2
05:32:18.251 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime, Class2Events)
05:32:18.251 g51v2, 1-Byte Count, count: 1
05:32:18.251 time: 1793251938249
05:32:18.251 g2v3, 2-Byte Count and Index, count: 1
05:32:18.251 [0] - flags: 0x81 cto: 0
05:32:18.251 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:32:18.251 --T-> fir: 1 fin: 1 seq: 0
05:32:18.251 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:18.251 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:18.251 C0 C2 00 D6 8D
05:32:18.253 step: 14
05:32:18.253 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:18.253 - g60v3, All Objects
05:32:18.253 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:18.253 g60v3, All Objects
05:32:18.253 --T-> fir: 1 fin: 1 seq: 0
05:32:18.253 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.253 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.253 C0 C3 01 3C 03 06 10 2E
05:32:18.253 steps: 15 to 17
05:32:18.253 - Read a single fragment response w/ sequence(0x03)
05:32:18.253 - Verify that the binary input events expected, and only those, are returned
05:32:18.253 - Verify that an application layer confirmation is requested.
05:32:18.253 - Verify that IIN1.1, IIN1.2 and IIN1.3 clear
05:32:18.253 - Confirm each response that asks for a confirmation
05:32:18.253 <-P-- 05 64 1E 44 01 00 00 04 C8 BD
05:32:18.253 C3 E3 81 90 00 33 02 07 01 CA 0F 25 86 A1 01 02 D1 70
05:32:18.253 03 28 01 00 0A 00 81 00 00 DF 39
05:32:18.253 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 30 dest: 1 src: 1024
05:32:18.253 <-T-- fir: 1 fin: 1 seq: 3
05:32:18.253 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
05:32:18.253 g51v2, 1-Byte Count, count: 1
05:32:18.253 time: 1793251938250
05:32:18.253 g2v3, 2-Byte Count and Index, count: 1
05:32:18.253 [10] - flags: 0x81 cto: 0
05:32:18.253 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:18.254 --T-> fir: 1 fin: 1 seq: 0
05:32:18.254 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:18.254 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:18.254 C0 C3 00 98 26
05:32:18.254 step: 18
05:32:18.254 - Issue an Assign Class request: the class 2 points to class 3, and the class 1 points to class 2
05:32:18.254 --A-> Assign Class(0x16) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
05:32:18.254 g60v4, All Objects
05:32:18.254 g1v0, 1-Byte Start/Stop, start: 10 stop: 10
05:32:18.254 g1v0, 1-Byte Start/Stop, start: 11 stop: 11
05:32:18.254 g60v3, All Objects
05:32:18.254 g1v0, 1-Byte Start/Stop, start: 0 stop: 0
05:32:18.254 --T-> fir: 1 fin: 1 seq: 0
05:32:18.254 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 29 dest: 1024 src: 1
05:32:18.254 --P-> 05 64 1D C4 00 04 01 00 D2 99
05:32:18.254 C0 C4 16 3C 04 06 01 00 00 0A 0A 01 00 00 0B 0B 77 37
05:32:18.254 3C 03 06 01 00 00 00 00 B5 CA
05:32:18.256 step: 19
05:32:18.256 - If the DUT, which isn't tested at subset level 3, answers with a Null Error Response with IIN2.0, it passes and the rest of the test is skipped
05:32:18.256 - Read a single fragment response w/ sequence(0x04)
05:32:18.256 - Verify that the response is empty
05:32:18.256 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:32:18.256 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.256 C4 C4 81 90 00 A8 7C
05:32:18.256 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.257 <-T-- fir: 1 fin: 1 seq: 4
05:32:18.257 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
05:32:18.257 step: 20
05:32:18.257 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
05:32:18.257 - g60v2, All Objects
05:32:18.257 - g60v3, All Objects
05:32:18.257 - g60v4, All Objects
05:32:18.257 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
05:32:18.257 g60v2, All Objects
05:32:18.257 g60v3, All Objects
05:32:18.257 g60v4, All Objects
05:32:18.257 --T-> fir: 1 fin: 1 seq: 0
05:32:18.257 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 17 dest: 1024 src: 1
05:32:18.257 --P-> 05 64 11 C4 00 04 01 00 60 4E
05:32:18.257 C0 C5 01 3C 02 06 3C 03 06 3C 04 06 28 7C
05:32:18.257 step: 21
05:32:18.257 - Read a single fragment response w/ sequence(0x05)
05:32:18.257 - Verify that no events are returned
05:32:18.257 - Verify that IIN1.1, IIN1.2 and IIN1.3 clear
05:32:18.257 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.257 C5 C5 81 90 00 46 9D
05:32:18.257 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.257 <-T-- fir: 1 fin: 1 seq: 5
05:32:18.257 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05 IIN(DeviceRestart, NeedTime)
05:32:18.257 step: 22
05:32:18.257 - Generate an event for a point now in class 2
05:32:18.257 [PLG] Updated BI 0: value=false, flags=1, timestamp=1793251938257 (UNSYNCHRONIZED_TIME)
05:32:18.257 step: 23
05:32:18.257 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
05:32:18.257 - g60v2, All Objects
05:32:18.257 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
05:32:18.257 g60v2, All Objects
05:32:18.257 --T-> fir: 1 fin: 1 seq: 0
05:32:18.257 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.257 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.257 C0 C6 01 3C 02 06 40 2A
05:32:18.258 steps: 24 to 25
05:32:18.258 - Read a single fragment response w/ sequence(0x06)
05:32:18.258 - Verify that no events are returned
05:32:18.258 - Verify that IIN1.2 set, and the other class bits clear
05:32:18.258 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.258 C6 C6 81 94 00 C7 C5
05:32:18.258 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.258 <-T-- fir: 1 fin: 1 seq: 6
05:32:18.258 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06 IIN(DeviceRestart, NeedTime, Class2Events)
05:32:18.258 step: 26
05:32:18.258 - Generate an event for a point now in class 3
05:32:18.258 [PLG] Updated BI 10: value=false, flags=1, timestamp=1793251938258 (UNSYNCHRONIZED_TIME)
05:32:18.258 step: 27
05:32:18.258 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07
05:32:18.258 - g60v3, All Objects
05:32:18.258 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07
05:32:18.258 g60v3, All Objects
05:32:18.258 --T-> fir: 1 fin: 1 seq: 0
05:32:18.258 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.258 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.258 C0 C7 01 3C 03 06 08 A2
05:32:18.258 steps: 28 to 30
05:32:18.258 - Read a single fragment response w/ sequence(0x07)
05:32:18.258 - Verify that the binary input events expected, and only those, are returned
05:32:18.258 - Verify that an application layer confirmation is requested.
05:32:18.258 - Verify that IIN1.3 set, and the other class bits clear
05:32:18.258 - Confirm each response that asks for a confirmation
05:32:18.258 <-P-- 05 64 1E 44 01 00 00 04 C8 BD
05:32:18.258 C7 E7 81 98 00 33 02 07 01 D1 0F 25 86 A1 01 02 2B DE
05:32:18.258 03 28 01 00 00 00 01 00 00 3D 7F
05:32:18.258 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 30 dest: 1 src: 1024
05:32:18.258 <-T-- fir: 1 fin: 1 seq: 7
05:32:18.258 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x07 IIN(DeviceRestart, NeedTime, Class3Events)
05:32:18.258 g51v2, 1-Byte Count, count: 1
05:32:18.258 time: 1793251938257
05:32:18.258 g2v3, 2-Byte Count and Index, count: 1
05:32:18.258 [0] - flags: 0x01 cto: 0
05:32:18.258 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07
05:32:18.258 --T-> fir: 1 fin: 1 seq: 0
05:32:18.258 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:18.259 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:18.259 C0 C7 00 52 11
05:32:18.259 step: 31
05:32:18.259 - Issue an Assign Class request: the points now in class 2 to class 0
05:32:18.259 - Read a single fragment response w/ sequence(0x08)
05:32:18.259 - Verify that the response is empty
05:32:18.259 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:32:18.259 --A-> Assign Class(0x16) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x08
05:32:18.259 g60v1, All Objects
05:32:18.259 g1v0, 1-Byte Start/Stop, start: 0 stop: 0
05:32:18.259 --T-> fir: 1 fin: 1 seq: 0
05:32:18.259 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 16 dest: 1024 src: 1
05:32:18.259 --P-> 05 64 10 C4 00 04 01 00 87 FB
05:32:18.259 C0 C8 16 3C 01 06 01 00 00 00 00 53 A3
05:32:18.259 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.259 C8 C8 81 98 00 69 E3
05:32:18.259 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.259 <-T-- fir: 1 fin: 1 seq: 8
05:32:18.259 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x08 IIN(DeviceRestart, NeedTime, Class3Events)
05:32:18.259 step: 32
05:32:18.259 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x09
05:32:18.259 - g60v2, All Objects
05:32:18.259 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x09
05:32:18.259 g60v2, All Objects
05:32:18.259 --T-> fir: 1 fin: 1 seq: 0
05:32:18.259 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.259 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.259 C0 C9 01 3C 02 06 1B 96
05:32:18.259 steps: 33 to 34
05:32:18.259 - Read a single fragment response w/ sequence(0x09)
05:32:18.259 - Verify that no events are returned
05:32:18.259 - Verify that IIN1.3 set, and the other class bits clear
05:32:18.260 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.260 C9 C9 81 98 00 87 02
05:32:18.260 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.260 <-T-- fir: 1 fin: 1 seq: 9
05:32:18.260 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x09 IIN(DeviceRestart, NeedTime, Class3Events)
05:32:18.260 step: 35
05:32:18.260 - Generate an event for a different point in class 3
05:32:18.260 [PLG] Updated BI 11: value=true, flags=81, timestamp=1793251938260 (UNSYNCHRONIZED_TIME)
05:32:18.260 step: 36
05:32:18.260 - Generate an event for a point that was in class 2, and is now in class 0
05:32:18.260 [PLG] Updated BI 0: value=true, flags=81, timestamp=1793251938260 (UNSYNCHRONIZED_TIME)
05:32:18.260 step: 37
05:32:18.260 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0A
05:32:18.260 - g60v2, All Objects
05:32:18.260 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0A
05:32:18.260 g60v2, All Objects
05:32:18.260 --T-> fir: 1 fin: 1 seq: 0
05:32:18.260 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.260 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.260 C0 CA 01 3C 02 06 11 F3
05:32:18.261 steps: 38 to 39
05:32:18.261 - Read a single fragment response w/ sequence(0x0A)
05:32:18.261 - Verify that no events are returned
05:32:18.261 - Verify that IIN1.3 set, and the other class bits clear
05:32:18.261 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.261 CA CA 81 98 00 CC 6D
05:32:18.261 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.261 <-T-- fir: 1 fin: 1 seq: 10
05:32:18.261 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0A IIN(DeviceRestart, NeedTime, Class3Events)
05:32:18.261 step: 40
05:32:18.261 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0B
05:32:18.261 - g60v2, All Objects
05:32:18.261 - g60v3, All Objects
05:32:18.261 - g60v4, All Objects
05:32:18.261 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0B
05:32:18.261 g60v2, All Objects
05:32:18.261 g60v3, All Objects
05:32:18.261 g60v4, All Objects
05:32:18.261 --T-> fir: 1 fin: 1 seq: 0
05:32:18.261 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 17 dest: 1024 src: 1
05:32:18.261 --P-> 05 64 11 C4 00 04 01 00 60 4E
05:32:18.261 C0 CB 01 3C 02 06 3C 03 06 3C 04 06 7C BF
05:32:18.261 steps: 41 to 43
05:32:18.261 - Read a single fragment response w/ sequence(0x0B)
05:32:18.261 - Verify that the binary input events expected, and only those, are returned
05:32:18.261 - Verify that an application layer confirmation is requested.
05:32:18.261 - Verify that IIN1.1, IIN1.2 and IIN1.3 clear
05:32:18.261 - Confirm each response that asks for a confirmation
05:32:18.261 <-P-- 05 64 23 44 01 00 00 04 DE 56
05:32:18.261 CB EB 81 90 00 33 02 07 01 D2 0F 25 86 A1 01 02 2E 83
05:32:18.261 03 28 02 00 0A 00 01 00 00 0B 00 81 02 00 CA C9
05:32:18.261 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 35 dest: 1 src: 1024
05:32:18.261 <-T-- fir: 1 fin: 1 seq: 11
05:32:18.261 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x0B IIN(DeviceRestart, NeedTime)
05:32:18.261 g51v2, 1-Byte Count, count: 1
05:32:18.261 time: 1793251938258
05:32:18.261 g2v3, 2-Byte Count and Index, count: 2
05:32:18.261 [10] - flags: 0x01 cto: 0
05:32:18.261 [11] - flags: 0x81 cto: 2
05:32:18.261 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0B
05:32:18.261 --T-> fir: 1 fin: 1 seq: 0
05:32:18.261 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:18.261 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:18.261 C0 CB 00 0C 49
05:32:18.262 step: 44
05:32:18.262 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0C
05:32:18.262 - g60v2, All Objects
05:32:18.262 - g60v3, All Objects
05:32:18.262 - g60v4, All Objects
05:32:18.262 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0C
05:32:18.262 g60v2, All Objects
05:32:18.262 g60v3, All Objects
05:32:18.262 g60v4, All Objects
05:32:18.262 --T-> fir: 1 fin: 1 seq: 0
05:32:18.262 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 17 dest: 1024 src: 1
05:32:18.262 --P-> 05 64 11 C4 00 04 01 00 60 4E
05:32:18.262 C0 CC 01 3C 02 06 3C 03 06 3C 04 06 D6 DE
05:32:18.262 step: 45
05:32:18.262 - Read a single fragment response w/ sequence(0x0C)
05:32:18.262 - Verify that no events are returned
05:32:18.262 - Verify that IIN1.1, IIN1.2 and IIN1.3 clear
05:32:18.262 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.262 CC CC 81 90 00 CE DC
05:32:18.262 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.262 <-T-- fir: 1 fin: 1 seq: 12
05:32:18.262 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0C IIN(DeviceRestart, NeedTime)
05:32:18.262 step: 46
05:32:18.262 - Issue an Assign Class request: every class assignment back to the one at startup
05:32:18.262 - Read a single fragment response w/ sequence(0x0D)
05:32:18.262 - Verify that the response is empty
05:32:18.262 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:32:18.262 --A-> Assign Class(0x16) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0D
05:32:18.262 g60v2, All Objects
05:32:18.262 g1v0, 1-Byte Start/Stop, start: 0 stop: 0
05:32:18.262 g60v3, All Objects
05:32:18.262 g1v0, 1-Byte Start/Stop, start: 10 stop: 10
05:32:18.262 g1v0, 1-Byte Start/Stop, start: 11 stop: 11
05:32:18.262 --T-> fir: 1 fin: 1 seq: 0
05:32:18.262 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 29 dest: 1024 src: 1
05:32:18.262 --P-> 05 64 1D C4 00 04 01 00 D2 99
05:32:18.262 C0 CD 16 3C 02 06 01 00 00 00 00 3C 03 06 01 00 9A AB
05:32:18.262 00 0A 0A 01 00 00 0B 0B E0 C5
05:32:18.263 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.263 CD CD 81 90 00 20 3D
05:32:18.263 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.263 <-T-- fir: 1 fin: 1 seq: 13
05:32:18.263 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0D IIN(DeviceRestart, NeedTime)
05:32:18.263 step: 47
05:32:18.263 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0E
05:32:18.263 - g60v2, All Objects
05:32:18.263 - g60v3, All Objects
05:32:18.263 - g60v4, All Objects
05:32:18.263 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0E
05:32:18.263 g60v2, All Objects
05:32:18.263 g60v3, All Objects
05:32:18.263 g60v4, All Objects
05:32:18.263 --T-> fir: 1 fin: 1 seq: 0
05:32:18.263 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 17 dest: 1024 src: 1
05:32:18.263 --P-> 05 64 11 C4 00 04 01 00 60 4E
05:32:18.263 C0 CE 01 3C 02 06 3C 03 06 3C 04 06 CA F3
05:32:18.263 step: 48
05:32:18.263 - Read a single fragment response w/ sequence(0x0E)
05:32:18.263 - Verify that no events are returned
05:32:18.263 - Verify that IIN1.1, IIN1.2 and IIN1.3 clear
05:32:18.263 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.263 CE CE 81 90 00 6B 52
05:32:18.263 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.263 <-T-- fir: 1 fin: 1 seq: 14
05:32:18.263 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0E IIN(DeviceRestart, NeedTime)
05:32:18.263 step: 49
05:32:18.263 - Generate an event for a point in class 1
05:32:18.263 - Generate an event for a point in class 2
05:32:18.264 [PLG] Updated BI 0: value=false, flags=1, timestamp=1793251938263 (UNSYNCHRONIZED_TIME)
05:32:18.264 [PLG] Updated BI 10: value=true, flags=81, timestamp=1793251938264 (UNSYNCHRONIZED_TIME)
05:32:18.264 step: 50
05:32:18.264 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0F
05:32:18.264 - g60v4, All Objects
05:32:18.264 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0F
05:32:18.264 g60v4, All Objects
05:32:18.264 --T-> fir: 1 fin: 1 seq: 0
05:32:18.264 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.264 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.264 C0 CF 01 3C 04 06 20 70
05:32:18.264 steps: 51 to 52
05:32:18.264 - Read a single fragment response w/ sequence(0x0F)
05:32:18.264 - Verify that no events are returned
05:32:18.264 - Verify that IIN1.1 and IIN1.2 set, and the other class bits clear
05:32:18.264 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.264 CF CF 81 96 00 AA 9F
05:32:18.264 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.264 <-T-- fir: 1 fin: 1 seq: 15
05:32:18.264 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x0F IIN(DeviceRestart, NeedTime, Class2Events, Class1Events)
05:32:18.264 step: 53
05:32:18.264 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:32:18.264 - g60v2, All Objects
05:32:18.264 - g60v3, All Objects
05:32:18.264 - g60v4, All Objects
05:32:18.264 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:32:18.264 g60v2, All Objects
05:32:18.264 g60v3, All Objects
05:32:18.264 g60v4, All Objects
05:32:18.264 --T-> fir: 1 fin: 1 seq: 0
05:32:18.264 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 17 dest: 1024 src: 1
05:32:18.264 --P-> 05 64 11 C4 00 04 01 00 60 4E
05:32:18.264 C0 C0 01 3C 02 06 3C 03 06 3C 04 06 9E 30
05:32:18.265 steps: 54 to 56
05:32:18.265 - Read a single fragment response w/ sequence(0x00)
05:32:18.265 - Verify that the binary input events expected, and only those, are returned
05:32:18.265 - Verify that an application layer confirmation is requested.
05:32:18.265 - Verify that IIN1.1, IIN1.2 and IIN1.3 clear
05:32:18.265 - Confirm each response that asks for a confirmation
05:32:18.265 <-P-- 05 64 23 44 01 00 00 04 DE 56
05:32:18.265 D0 E0 81 90 00 33 02 07 01 D7 0F 25 86 A1 01 02 85 79
05:32:18.265 03 28 02 00 00 00 01 00 00 0A 00 81 01 00 A5 68
05:32:18.265 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 35 dest: 1 src: 1024
05:32:18.265 <-T-- fir: 1 fin: 1 seq: 16
05:32:18.265 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
05:32:18.265 g51v2, 1-Byte Count, count: 1
05:32:18.265 time: 1793251938263
05:32:18.265 g2v3, 2-Byte Count and Index, count: 2
05:32:18.265 [0] - flags: 0x01 cto: 0
05:32:18.265 [10] - flags: 0x81 cto: 1
05:32:18.265 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:32:18.265 --T-> fir: 1 fin: 1 seq: 0
05:32:18.265 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:18.265 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:18.265 C0 C0 00 33 96
05:32:18.265 step: 57
05:32:18.265 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:32:18.265 - g60v2, All Objects
05:32:18.265 - g60v3, All Objects
05:32:18.265 - g60v4, All Objects
05:32:18.265 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:32:18.265 g60v2, All Objects
05:32:18.265 g60v3, All Objects
05:32:18.265 g60v4, All Objects
05:32:18.265 --T-> fir: 1 fin: 1 seq: 0
05:32:18.265 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 17 dest: 1024 src: 1
05:32:18.265 --P-> 05 64 11 C4 00 04 01 00 60 4E
05:32:18.265 C0 C1 01 3C 02 06 3C 03 06 3C 04 06 10 26
05:32:18.265 step: 58
05:32:18.265 - Read a single fragment response w/ sequence(0x01)
05:32:18.265 - Verify that no events are returned
05:32:18.265 - Verify that IIN1.1, IIN1.2 and IIN1.3 clear
05:32:18.266 <-P-- 05 64 0A 44 01 00 00 04 67 88
05:32:18.266 D1 C1 81 90 00 E7 67
05:32:18.266 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
05:32:18.266 <-T-- fir: 1 fin: 1 seq: 17
05:32:18.266 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
05:32:18.266 Passed procedure: 8.26.2
05:32:18.266 restore
05:32:18.266 - If the procedure ended with the classes reassigned, assign them back to the ones at startup