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

Device under test: Step Function I/O dnp3 outstation

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