8.2.5.2.2 Binary Output, Single Function Support (revision 2.7, subset level 2)

Device under test: Step Function I/O dnp3 outstation

10:56:29.896 Running procedure: 8.2.5.2.2
10:56:29.899 This procedure is enabled because the following options:
10:56:29.899 - supports.binaryOutput.commands == true
10:56:29.899 step: 3
10:56:29.899 - The plugin knows what each control below should do, and checks that it happened
10:56:29.899 step: 4
10:56:29.899 - DUT supports the 0x01 (Pulse On/NUL) control code for single function binary output point at index 5.
10:56:29.899 step: 5
10:56:29.899 - Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:29.899 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.899 - [5] - code: 0x01 (PULSE_ON, NUL) count: 25 onTime: 1100 offTime: 1200 status: 0 (SUCCESS)
10:56:29.899 - Read a single fragment response w/ sequence(0x01)
10:56:29.899 - Verify the response contains the exact object header:
10:56:29.899 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.899 - [5] - code: 0x01 (PULSE_ON, NUL) count: 25 onTime: 1100 offTime: 1200 status: 0 (SUCCESS)
10:56:29.899 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:29.900 --A-> Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
10:56:29.900 g12v1, 1-Byte Count and Index, count: 1
10:56:29.900 [5] - code: 0x01 (PULSE_ON, NUL) count: 25 onTime: 1100 offTime: 1200 status: 0 (SUCCESS)
10:56:29.900 --T-> fir: 1 fin: 1 seq: 0
10:56:29.900 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:29.900 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:29.900 C0 C1 05 0C 01 17 01 05 01 19 4C 04 00 00 B0 04 09 D3
10:56:29.900 00 00 00 FF FF
10:56:29.901 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:29.901 C0 C1 81 90 00 0C 01 17 01 05 01 19 4C 04 00 00 83 D2
10:56:29.901 B0 04 00 00 00 6F F0
10:56:29.901 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:29.901 <-T-- fir: 1 fin: 1 seq: 0
10:56:29.901 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
10:56:29.901 g12v1, 1-Byte Count and Index, count: 1
10:56:29.901 [5] - code: 0x01 (PULSE_ON, NUL) count: 25 onTime: 1100 offTime: 1200 status: 0 (SUCCESS)
10:56:29.901 step: 6
10:56:29.901 - Check that binary control point 5 operate
10:56:29.901 [PLG] Binary output 5 did operate
10:56:29.901 step: 7
10:56:29.901 - DUT supports the 0x03 (Latch On/NUL) control code for single function binary output point at index 6.
10:56:29.901 step: 8
10:56:29.901 - Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
10:56:29.901 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.901 - [6] - code: 0x03 (LATCH_ON, NUL) count: 30 onTime: 1300 offTime: 1400 status: 0 (SUCCESS)
10:56:29.901 - Read a single fragment response w/ sequence(0x02)
10:56:29.901 - Verify the response contains the exact object header:
10:56:29.901 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.901 - [6] - code: 0x03 (LATCH_ON, NUL) count: 30 onTime: 1300 offTime: 1400 status: 0 (SUCCESS)
10:56:29.901 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:29.901 --A-> Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
10:56:29.901 g12v1, 1-Byte Count and Index, count: 1
10:56:29.901 [6] - code: 0x03 (LATCH_ON, NUL) count: 30 onTime: 1300 offTime: 1400 status: 0 (SUCCESS)
10:56:29.901 --T-> fir: 1 fin: 1 seq: 0
10:56:29.901 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:29.901 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:29.901 C0 C2 05 0C 01 17 01 06 03 1E 14 05 00 00 78 05 C0 34
10:56:29.901 00 00 00 FF FF
10:56:29.904 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:29.904 C1 C2 81 90 00 0C 01 17 01 06 03 1E 14 05 00 00 FA 4E
10:56:29.904 78 05 00 00 00 00 36
10:56:29.904 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:29.904 <-T-- fir: 1 fin: 1 seq: 1
10:56:29.904 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
10:56:29.904 g12v1, 1-Byte Count and Index, count: 1
10:56:29.904 [6] - code: 0x03 (LATCH_ON, NUL) count: 30 onTime: 1300 offTime: 1400 status: 0 (SUCCESS)
10:56:29.904 step: 9
10:56:29.904 - Check that binary control point 6 operate
10:56:29.904 [PLG] Binary output 6 did operate
10:56:29.904 step: 10
10:56:29.904 - DUT supports the 0x04 (Latch Off/NUL) control code for single function binary output point at index 7.
10:56:29.904 step: 11
10:56:29.904 - Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
10:56:29.904 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.904 - [7] - code: 0x04 (LATCH_OFF, NUL) count: 35 onTime: 1500 offTime: 1600 status: 0 (SUCCESS)
10:56:29.904 - Read a single fragment response w/ sequence(0x03)
10:56:29.904 - Verify the response contains the exact object header:
10:56:29.904 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.904 - [7] - code: 0x04 (LATCH_OFF, NUL) count: 35 onTime: 1500 offTime: 1600 status: 0 (SUCCESS)
10:56:29.904 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:29.904 --A-> Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
10:56:29.904 g12v1, 1-Byte Count and Index, count: 1
10:56:29.904 [7] - code: 0x04 (LATCH_OFF, NUL) count: 35 onTime: 1500 offTime: 1600 status: 0 (SUCCESS)
10:56:29.904 --T-> fir: 1 fin: 1 seq: 0
10:56:29.904 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:29.904 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:29.904 C0 C3 05 0C 01 17 01 07 04 23 DC 05 00 00 40 06 76 DD
10:56:29.904 00 00 00 FF FF
10:56:29.907 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:29.907 C2 C3 81 90 00 0C 01 17 01 07 04 23 DC 05 00 00 2F C0
10:56:29.907 40 06 00 00 00 C7 DB
10:56:29.907 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:29.907 <-T-- fir: 1 fin: 1 seq: 2
10:56:29.908 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
10:56:29.908 g12v1, 1-Byte Count and Index, count: 1
10:56:29.908 [7] - code: 0x04 (LATCH_OFF, NUL) count: 35 onTime: 1500 offTime: 1600 status: 0 (SUCCESS)
10:56:29.908 step: 12
10:56:29.908 - Check that binary control point 7 operate
10:56:29.908 [PLG] Binary output 7 did operate
10:56:29.908 step: 13
10:56:29.908 - DUT supports the 0x41 (Pulse On/Close) control code for single function binary output point at index 8.
10:56:29.908 step: 14
10:56:29.908 - Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
10:56:29.908 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.908 - [8] - code: 0x41 (PULSE_ON, CLOSE) count: 40 onTime: 1700 offTime: 1800 status: 0 (SUCCESS)
10:56:29.908 - Read a single fragment response w/ sequence(0x04)
10:56:29.908 - Verify the response contains the exact object header:
10:56:29.908 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.908 - [8] - code: 0x41 (PULSE_ON, CLOSE) count: 40 onTime: 1700 offTime: 1800 status: 0 (SUCCESS)
10:56:29.908 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:29.908 --A-> Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
10:56:29.908 g12v1, 1-Byte Count and Index, count: 1
10:56:29.908 [8] - code: 0x41 (PULSE_ON, CLOSE) count: 40 onTime: 1700 offTime: 1800 status: 0 (SUCCESS)
10:56:29.908 --T-> fir: 1 fin: 1 seq: 0
10:56:29.908 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:29.908 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:29.908 C0 C4 05 0C 01 17 01 08 41 28 A4 06 00 00 08 07 E6 59
10:56:29.908 00 00 00 FF FF
10:56:29.908 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:29.908 C3 C4 81 90 00 0C 01 17 01 08 41 28 A4 06 00 00 09 61
10:56:29.908 08 07 00 00 00 DC 7C
10:56:29.908 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:29.908 <-T-- fir: 1 fin: 1 seq: 3
10:56:29.908 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
10:56:29.908 g12v1, 1-Byte Count and Index, count: 1
10:56:29.908 [8] - code: 0x41 (PULSE_ON, CLOSE) count: 40 onTime: 1700 offTime: 1800 status: 0 (SUCCESS)
10:56:29.909 step: 15
10:56:29.909 - Check that binary control point 8 operate
10:56:29.909 [PLG] Binary output 8 did operate
10:56:29.909 step: 16
10:56:29.909 - DUT supports the 0x81 (Pulse On/Trip) control code for single function binary output point at index 9.
10:56:29.909 step: 17
10:56:29.909 - Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
10:56:29.909 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.909 - [9] - code: 0x81 (PULSE_ON, TRIP) count: 45 onTime: 1900 offTime: 2000 status: 0 (SUCCESS)
10:56:29.909 - Read a single fragment response w/ sequence(0x05)
10:56:29.909 - Verify the response contains the exact object header:
10:56:29.909 - g12v1, 1-Byte Count and Index, count: 1
10:56:29.909 - [9] - code: 0x81 (PULSE_ON, TRIP) count: 45 onTime: 1900 offTime: 2000 status: 0 (SUCCESS)
10:56:29.909 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
10:56:29.909 --A-> Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
10:56:29.909 g12v1, 1-Byte Count and Index, count: 1
10:56:29.909 [9] - code: 0x81 (PULSE_ON, TRIP) count: 45 onTime: 1900 offTime: 2000 status: 0 (SUCCESS)
10:56:29.909 --T-> fir: 1 fin: 1 seq: 0
10:56:29.909 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 24 dest: 1024 src: 1
10:56:29.909 --P-> 05 64 18 C4 00 04 01 00 5B 61
10:56:29.909 C0 C5 05 0C 01 17 01 09 81 2D 6C 07 00 00 D0 07 E5 1E
10:56:29.909 00 00 00 FF FF
10:56:29.909 <-P-- 05 64 1A 44 01 00 00 04 A6 F0
10:56:29.909 C4 C5 81 90 00 0C 01 17 01 09 81 2D 6C 07 00 00 6B 0B
10:56:29.909 D0 07 00 00 00 C9 D2
10:56:29.909 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 26 dest: 1 src: 1024
10:56:29.909 <-T-- fir: 1 fin: 1 seq: 4
10:56:29.909 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05 IIN(DeviceRestart, NeedTime)
10:56:29.909 g12v1, 1-Byte Count and Index, count: 1
10:56:29.909 [9] - code: 0x81 (PULSE_ON, TRIP) count: 45 onTime: 1900 offTime: 2000 status: 0 (SUCCESS)
10:56:29.909 step: 18
10:56:29.909 - Check that binary control point 9 operate
10:56:29.909 [PLG] Binary output 9 did operate
10:56:29.909 Passed procedure: 8.2.5.2.2