8.4.1.2.10 Analog Output, SBO, Same Sequence Number Operate Retries (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

10:56:42.862 Running procedure: 8.4.1.2.10
10:56:42.863 This procedure is enabled because the following options:
10:56:42.863 - supports.analogOutput.commands == true
10:56:42.863 step: 2
10:56:42.863 - Tell a manual tester: Watch analog output 0 during this procedure: it should operate once after the OPERATE in step 4, and not again after the repeated 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:42.863 - Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
10:56:42.863 - g41v2, 1-Byte Count and Index, count: 1
10:56:42.863 - [0] - value: 10 status: 0 (SUCCESS)
10:56:42.863 --A-> Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
10:56:42.863 g41v2, 1-Byte Count and Index, count: 1
10:56:42.863 [0] - value: 10 status: 0 (SUCCESS)
10:56:42.863 --T-> fir: 1 fin: 1 seq: 0
10:56:42.863 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 16 dest: 1024 src: 1
10:56:42.863 --P-> 05 64 10 C4 00 04 01 00 87 FB
10:56:42.863 C0 C0 03 29 02 17 01 00 0A 00 00 9F B0
10:56:42.864 step: 3
10:56:42.864 - Read a single fragment response w/ sequence(0x00)
10:56:42.864 - Verify the response contains the exact object header:
10:56:42.864 - g41v2, 1-Byte Count and Index, count: 1
10:56:42.864 - [0] - value: 10 status: 0 (SUCCESS)
10:56:42.864 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:42.864 <-P-- 05 64 12 44 01 00 00 04 7A 6A
10:56:42.864 C0 C0 81 90 00 29 02 17 01 00 0A 00 00 6A 73
10:56:42.864 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 18 dest: 1 src: 1024
10:56:42.864 <-T-- fir: 1 fin: 1 seq: 0
10:56:42.864 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
10:56:42.864 g41v2, 1-Byte Count and Index, count: 1
10:56:42.864 [0] - value: 10 status: 0 (SUCCESS)
10:56:42.864 step: 4
10:56:42.864 - Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:42.864 - g41v2, 1-Byte Count and Index, count: 1
10:56:42.864 - [0] - value: 10 status: 0 (SUCCESS)
10:56:42.864 --A-> Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:42.864 g41v2, 1-Byte Count and Index, count: 1
10:56:42.864 [0] - value: 10 status: 0 (SUCCESS)
10:56:42.864 --T-> fir: 1 fin: 1 seq: 0
10:56:42.864 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 16 dest: 1024 src: 1
10:56:42.864 --P-> 05 64 10 C4 00 04 01 00 87 FB
10:56:42.864 C0 C1 04 29 02 17 01 00 0A 00 00 48 F1
10:56:42.864 step: 5
10:56:42.864 - Read a single fragment response w/ sequence(0x01)
10:56:42.864 - Verify the response contains the exact object header:
10:56:42.864 - g41v2, 1-Byte Count and Index, count: 1
10:56:42.864 - [0] - value: 10 status: 0 (SUCCESS)
10:56:42.864 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:42.864 <-P-- 05 64 12 44 01 00 00 04 7A 6A
10:56:42.864 C1 C1 81 92 00 29 02 17 01 00 0A 00 00 0B 0B
10:56:42.864 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 18 dest: 1 src: 1024
10:56:42.864 <-T-- fir: 1 fin: 1 seq: 1
10:56:42.865 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime, Class1Events)
10:56:42.865 g41v2, 1-Byte Count and Index, count: 1
10:56:42.865 [0] - value: 10 status: 0 (SUCCESS)
10:56:42.865 step: 6
10:56:42.865 - Check that analog control point 0 operate
10:56:42.865 [PLG] Analog output 0 did operate
10:56:42.865 step: 7
10:56:42.865 - Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:42.865 - g41v2, 1-Byte Count and Index, count: 1
10:56:42.865 - [0] - value: 10 status: 0 (SUCCESS)
10:56:42.865 --A-> Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:42.865 g41v2, 1-Byte Count and Index, count: 1
10:56:42.865 [0] - value: 10 status: 0 (SUCCESS)
10:56:42.865 --T-> fir: 1 fin: 1 seq: 0
10:56:42.865 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 16 dest: 1024 src: 1
10:56:42.865 --P-> 05 64 10 C4 00 04 01 00 87 FB
10:56:42.865 C0 C1 04 29 02 17 01 00 0A 00 00 48 F1
10:56:42.865 step: 8
10:56:42.865 - Read a single fragment response w/ sequence(0x01)
10:56:42.865 - Verify the response contains the exact object header:
10:56:42.865 - g41v2, 1-Byte Count and Index, count: 1
10:56:42.865 - [0] - value: 10 status: 0 (SUCCESS)
10:56:42.865 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:42.865 <-P-- 05 64 12 44 01 00 00 04 7A 6A
10:56:42.865 C2 C1 81 92 00 29 02 17 01 00 0A 00 00 46 EA
10:56:42.865 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 18 dest: 1 src: 1024
10:56:42.865 <-T-- fir: 1 fin: 1 seq: 2
10:56:42.865 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime, Class1Events)
10:56:42.865 g41v2, 1-Byte Count and Index, count: 1
10:56:42.865 [0] - value: 10 status: 0 (SUCCESS)
10:56:42.865 step: 9
10:56:42.865 - Check that no analog control point operated
10:56:43.866 [PLG] Analog output did NOT operate
10:56:43.866 Passed procedure: 8.4.1.2.10