8.2.1.2.15 Binary Output, SBO, Sequence number checking (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

10:56:17.975 Running procedure: 8.2.1.2.15
10:56:17.976 This procedure is enabled because the following options:
10:56:17.976 - supports.binaryOutput.commands == true
10:56:17.977 step: 2
10:56:17.977 - Tell a manual tester: Watch binary output 0 during this procedure: it should not operate at all, after the OPERATE in step 4 or the one in step 7. You'll be asked what you saw after the steps, so make sure you can tell one operation from two (e.g. a counter, or an on-time long enough to see). Get ready, then press ENTER.
10:56:17.977 - Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
10:56:17.977 - g12v1, 1-Byte Count and Index, count: 1
10:56:17.977 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:17.977 --A-> Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
10:56:17.977 g12v1, 1-Byte Count and Index, count: 1
10:56:17.977 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:17.977 --T-> fir: 1 fin: 1 seq: 0
10:56:17.977 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:17.977 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:17.977 C0 C0 03 0C 01 17 01 00 03 01 64 00 00 00 C8 00 FD 11
10:56:17.977 00 00 00 FF FF
10:56:17.977 step: 3
10:56:17.977 - Read a single fragment response w/ sequence(0x00)
10:56:17.977 - Verify the response contains the exact object header:
10:56:17.977 - g12v1, 1-Byte Count and Index, count: 1
10:56:17.977 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:17.977 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:17.979 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:17.979 C0 C0 81 90 00 0C 01 17 01 00 03 01 64 00 00 00 9C 9A
10:56:17.979 C8 00 00 00 00 78 FB
10:56:17.979 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:17.979 <-T-- fir: 1 fin: 1 seq: 0
10:56:17.979 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
10:56:17.979 g12v1, 1-Byte Count and Index, count: 1
10:56:17.979 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:17.979 step: 4
10:56:17.979 - Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
10:56:17.979 - g12v1, 1-Byte Count and Index, count: 1
10:56:17.979 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:17.979 --A-> Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
10:56:17.979 g12v1, 1-Byte Count and Index, count: 1
10:56:17.979 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:17.979 --T-> fir: 1 fin: 1 seq: 0
10:56:17.979 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:17.980 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:17.980 C0 C2 04 0C 01 17 01 00 03 01 64 00 00 00 C8 00 1D 75
10:56:17.980 00 00 00 FF FF
10:56:17.980 step: 5
10:56:17.980 - Read a single fragment response w/ sequence(0x02)
10:56:17.980 - Verify the response contains the exact object header:
10:56:17.980 - g12v1, 1-Byte Count and Index, count: 1
10:56:17.980 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
10:56:17.980 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:17.980 C1 C2 81 90 00 0C 01 17 01 00 03 01 64 00 00 00 20 0B
10:56:17.980 C8 00 00 00 02 C4 97
10:56:17.980 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:17.980 <-T-- fir: 1 fin: 1 seq: 1
10:56:17.980 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
10:56:17.980 g12v1, 1-Byte Count and Index, count: 1
10:56:17.980 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
10:56:17.980 step: 6
10:56:17.980 - Check that no binary control point operated
10:56:18.981 [PLG] Binary output did NOT operate
10:56:18.982 step: 7
10:56:18.982 - Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:18.982 - g12v1, 1-Byte Count and Index, count: 1
10:56:18.982 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:18.982 --A-> Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:18.982 g12v1, 1-Byte Count and Index, count: 1
10:56:18.982 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
10:56:18.982 --T-> fir: 1 fin: 1 seq: 0
10:56:18.982 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:18.982 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:18.982 C0 C1 04 0C 01 17 01 00 03 01 64 00 00 00 C8 00 35 C7
10:56:18.982 00 00 00 FF FF
10:56:18.982 step: 8
10:56:18.982 - Read a single fragment response w/ sequence(0x01)
10:56:18.982 - Verify the response contains the exact object header:
10:56:18.982 - g12v1, 1-Byte Count and Index, count: 1
10:56:18.982 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
10:56:18.983 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:18.983 C2 C1 81 90 00 0C 01 17 01 00 03 01 64 00 00 00 9C 6F
10:56:18.983 C8 00 00 00 02 C4 97
10:56:18.983 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:18.983 <-T-- fir: 1 fin: 1 seq: 2
10:56:18.983 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
10:56:18.983 g12v1, 1-Byte Count and Index, count: 1
10:56:18.983 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
10:56:18.983 step: 9
10:56:18.983 - Check that no binary control point operated
10:56:19.984 [PLG] Binary output did NOT operate
10:56:19.984 Passed procedure: 8.2.1.2.15