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

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