8.2.5.2.2 Binary Output, Single Function Support (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

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