8.2.1.2.15 Binary Output, SBO, Sequence number checking (revision 2.7, subset level 2)

Device under test: Step Function I/O dnp3 outstation

05:24:40.344 Running procedure: 8.2.1.2.15
05:24:40.346 This procedure is enabled because the following options:
05:24:40.346 - supports.binaryOutput.commands == true
05:24:40.346 step: 2
05:24:40.346 - 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.
05:24:40.346 - Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:24:40.346 - g12v1, 1-Byte Count and Index, count: 1
05:24:40.346 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:40.347 --A-> Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:24:40.347 g12v1, 1-Byte Count and Index, count: 1
05:24:40.347 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:40.347 --T-> fir: 1 fin: 1 seq: 0
05:24:40.347 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
05:24:40.347 --P-> 05 64 18 C4 00 04 01 00 5B 61
05:24:40.347 C0 C0 03 0C 01 17 01 00 03 01 64 00 00 00 C8 00 FD 11
05:24:40.347 00 00 00 FF FF
05:24:40.347 step: 3
05:24:40.347 - Read a single fragment response w/ sequence(0x00)
05:24:40.347 - Verify the response contains the exact object header:
05:24:40.347 - g12v1, 1-Byte Count and Index, count: 1
05:24:40.347 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:40.347 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:24:40.348 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
05:24:40.348 C0 C0 81 90 00 0C 01 17 01 00 03 01 64 00 00 00 9C 9A
05:24:40.348 C8 00 00 00 00 78 FB
05:24:40.348 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
05:24:40.348 <-T-- fir: 1 fin: 1 seq: 0
05:24:40.348 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
05:24:40.348 g12v1, 1-Byte Count and Index, count: 1
05:24:40.348 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:40.348 step: 4
05:24:40.348 - Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:24:40.348 - g12v1, 1-Byte Count and Index, count: 1
05:24:40.348 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:40.348 --A-> Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:24:40.348 g12v1, 1-Byte Count and Index, count: 1
05:24:40.348 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:40.348 --T-> fir: 1 fin: 1 seq: 0
05:24:40.348 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
05:24:40.349 --P-> 05 64 18 C4 00 04 01 00 5B 61
05:24:40.349 C0 C2 04 0C 01 17 01 00 03 01 64 00 00 00 C8 00 1D 75
05:24:40.349 00 00 00 FF FF
05:24:40.349 step: 5
05:24:40.349 - Read a single fragment response w/ sequence(0x02)
05:24:40.349 - Verify the response contains the exact object header:
05:24:40.349 - g12v1, 1-Byte Count and Index, count: 1
05:24:40.349 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
05:24:40.349 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
05:24:40.349 C1 C2 81 90 00 0C 01 17 01 00 03 01 64 00 00 00 20 0B
05:24:40.349 C8 00 00 00 02 C4 97
05:24:40.349 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
05:24:40.349 <-T-- fir: 1 fin: 1 seq: 1
05:24:40.349 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
05:24:40.349 g12v1, 1-Byte Count and Index, count: 1
05:24:40.349 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
05:24:40.350 step: 6
05:24:40.350 - Check that no binary control point operated
05:24:41.351 [PLG] Binary output did NOT operate
05:24:41.351 step: 7
05:24:41.351 - Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:24:41.351 - g12v1, 1-Byte Count and Index, count: 1
05:24:41.351 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:41.351 --A-> Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:24:41.351 g12v1, 1-Byte Count and Index, count: 1
05:24:41.351 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 0 (SUCCESS)
05:24:41.351 --T-> fir: 1 fin: 1 seq: 0
05:24:41.351 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
05:24:41.352 --P-> 05 64 18 C4 00 04 01 00 5B 61
05:24:41.352 C0 C1 04 0C 01 17 01 00 03 01 64 00 00 00 C8 00 35 C7
05:24:41.352 00 00 00 FF FF
05:24:41.352 step: 8
05:24:41.352 - Read a single fragment response w/ sequence(0x01)
05:24:41.352 - Verify the response contains the exact object header:
05:24:41.352 - g12v1, 1-Byte Count and Index, count: 1
05:24:41.352 - [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
05:24:41.352 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
05:24:41.352 C2 C1 81 90 00 0C 01 17 01 00 03 01 64 00 00 00 9C 6F
05:24:41.352 C8 00 00 00 02 C4 97
05:24:41.353 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
05:24:41.353 <-T-- fir: 1 fin: 1 seq: 2
05:24:41.353 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
05:24:41.353 g12v1, 1-Byte Count and Index, count: 1
05:24:41.353 [0] - code: 0x03 (LATCH_ON, NUL) count: 1 onTime: 100 offTime: 200 status: 2 (NO_SELECT)
05:24:41.353 step: 9
05:24:41.353 - Check that no binary control point operated
05:24:42.354 [PLG] Binary output did NOT operate
05:24:42.354 Passed procedure: 8.2.1.2.15