8.2.1.2.14 Binary Output, SBO, Incrementing Sequence Number Operate Retries (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

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