8.4.4.2 Test Procedure (revision 2.7, subset level 2)

Device under test: Step Function I/O dnp3 outstation

05:25:21.094 Running procedure: 8.4.4.2
05:25:21.095 This procedure is enabled because the following options:
05:25:21.095 - supports.analogOutput.commands == true
05:25:21.095 step: 1
05:25:21.095 - Device supports up to 4 command objects in a single request
05:25:21.096 step: 2
05:25:21.096 - Sending 4 commands
05:25:21.096 - Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:25:21.096 - g41v2, 2-Byte Count and Index, count: 4
05:25:21.096 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.096 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.096 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.096 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.096 --A-> Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:25:21.096 g41v2, 2-Byte Count and Index, count: 4
05:25:21.096 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.096 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.096 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.096 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.096 --T-> fir: 1 fin: 1 seq: 0
05:25:21.096 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 33 dest: 1024 src: 1
05:25:21.096 --P-> 05 64 21 C4 00 04 01 00 23 C7
05:25:21.096 C0 C0 03 29 02 28 04 00 0A 00 0A 00 00 0B 00 0A 75 98
05:25:21.096 00 00 0C 00 0A 00 00 0D 00 0A 00 00 D0 44
05:25:21.097 step: 3
05:25:21.097 - Read a single fragment response w/ sequence(0x00)
05:25:21.097 - Verify the response contains the exact object header:
05:25:21.097 - g41v2, 2-Byte Count and Index, count: 4
05:25:21.097 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.097 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.097 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.097 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.097 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:25:21.097 <-P-- 05 64 23 44 01 00 00 04 DE 56
05:25:21.098 C0 C0 81 90 00 29 02 28 04 00 0A 00 0A 00 00 0B BF 79
05:25:21.098 00 0A 00 00 0C 00 0A 00 00 0D 00 0A 00 00 8C 99
05:25:21.098 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 35 dest: 1 src: 1024
05:25:21.098 <-T-- fir: 1 fin: 1 seq: 0
05:25:21.098 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
05:25:21.098 g41v2, 2-Byte Count and Index, count: 4
05:25:21.098 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.098 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.098 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.098 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.098 step: 4
05:25:21.098 - Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:25:21.098 - g41v2, 2-Byte Count and Index, count: 4
05:25:21.098 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.098 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.098 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.098 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.098 --A-> Operate(0x04) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:25:21.098 g41v2, 2-Byte Count and Index, count: 4
05:25:21.098 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.098 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.098 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.098 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.098 --T-> fir: 1 fin: 1 seq: 0
05:25:21.098 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 33 dest: 1024 src: 1
05:25:21.098 --P-> 05 64 21 C4 00 04 01 00 23 C7
05:25:21.098 C0 C1 04 29 02 28 04 00 0A 00 0A 00 00 0B 00 0A BD 4E
05:25:21.098 00 00 0C 00 0A 00 00 0D 00 0A 00 00 D0 44
05:25:21.099 step: 5
05:25:21.099 - Read a single fragment response w/ sequence(0x01)
05:25:21.099 - Verify the response contains the exact object header:
05:25:21.099 - g41v2, 2-Byte Count and Index, count: 4
05:25:21.099 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.099 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.099 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.099 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.099 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:25:21.099 <-P-- 05 64 23 44 01 00 00 04 DE 56
05:25:21.099 C1 C1 81 92 00 29 02 28 04 00 0A 00 0A 00 00 0B 5D E4
05:25:21.099 00 0A 00 00 0C 00 0A 00 00 0D 00 0A 00 00 8C 99
05:25:21.099 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 35 dest: 1 src: 1024
05:25:21.099 <-T-- fir: 1 fin: 1 seq: 1
05:25:21.100 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime, Class1Events)
05:25:21.100 g41v2, 2-Byte Count and Index, count: 4
05:25:21.100 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.100 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.100 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.100 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.100 step: 6
05:25:21.100 - Check that analog control point 10 operate
05:25:21.100 - Check that analog control point 11 operate
05:25:21.100 - Check that analog control point 12 operate
05:25:21.100 - Check that analog control point 13 operate
05:25:21.100 [PLG] Analog output 10 did operate
05:25:21.100 [PLG] Analog output 11 did operate
05:25:21.100 [PLG] Analog output 12 did operate
05:25:21.100 [PLG] Analog output 13 did operate
05:25:21.100 step: 7
05:25:21.100 - number of installed points > max commands per request
05:25:21.100 step: 8
05:25:21.100 - Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:25:21.100 - g41v2, 2-Byte Count and Index, count: 5
05:25:21.100 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.100 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.100 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.100 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.100 - [19] - value: 10 status: 0 (SUCCESS)
05:25:21.100 --A-> Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:25:21.100 g41v2, 2-Byte Count and Index, count: 5
05:25:21.100 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.100 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.100 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.100 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.100 [19] - value: 10 status: 0 (SUCCESS)
05:25:21.100 --T-> fir: 1 fin: 1 seq: 0
05:25:21.100 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 38 dest: 1024 src: 1
05:25:21.100 --P-> 05 64 26 C4 00 04 01 00 1D 19
05:25:21.100 C0 C2 03 29 02 28 05 00 0A 00 0A 00 00 0B 00 0A 27 87
05:25:21.100 00 00 0C 00 0A 00 00 0D 00 0A 00 00 13 00 0A 00 47 82
05:25:21.100 00 FF FF
05:25:21.101 step: 9
05:25:21.101 - Read a single fragment response w/ sequence(0x02)
05:25:21.101 - Verify the response contains the exact object header:
05:25:21.101 - g41v2, 2-Byte Count and Index, count: 5
05:25:21.101 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.101 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.101 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.101 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.101 - [19] - value: 10 status: 8 (TOO_MANY_OPS)
05:25:21.101 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:25:21.101 <-P-- 05 64 28 44 01 00 00 04 52 5F
05:25:21.101 C2 C2 81 92 00 29 02 28 05 00 0A 00 0A 00 00 0B F3 96
05:25:21.101 00 0A 00 00 0C 00 0A 00 00 0D 00 0A 00 00 13 00 C8 68
05:25:21.101 0A 00 08 C6 FE
05:25:21.101 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 40 dest: 1 src: 1024
05:25:21.101 <-T-- fir: 1 fin: 1 seq: 2
05:25:21.101 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime, Class1Events)
05:25:21.101 g41v2, 2-Byte Count and Index, count: 5
05:25:21.101 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.101 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.101 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.101 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.101 [19] - value: 10 status: 8 (TOO_MANY_OPS)
05:25:21.101 step: 10
05:25:21.101 - Devices that support control operations must support direct operate
05:25:21.102 step: 11
05:25:21.102 - Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:25:21.102 - g41v2, 2-Byte Count and Index, count: 5
05:25:21.102 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.102 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.102 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.102 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.102 - [19] - value: 10 status: 0 (SUCCESS)
05:25:21.102 --A-> Direct Operate(0x05) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:25:21.102 g41v2, 2-Byte Count and Index, count: 5
05:25:21.102 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.102 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.102 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.102 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.102 [19] - value: 10 status: 0 (SUCCESS)
05:25:21.102 --T-> fir: 1 fin: 1 seq: 0
05:25:21.102 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 38 dest: 1024 src: 1
05:25:21.102 --P-> 05 64 26 C4 00 04 01 00 1D 19
05:25:21.102 C0 C3 05 29 02 28 05 00 0A 00 0A 00 00 0B 00 0A 1F 6F
05:25:21.102 00 00 0C 00 0A 00 00 0D 00 0A 00 00 13 00 0A 00 47 82
05:25:21.102 00 FF FF
05:25:21.103 step: 12
05:25:21.103 - Read a single fragment response w/ sequence(0x03)
05:25:21.103 - Verify the response contains the exact object header:
05:25:21.103 - g41v2, 2-Byte Count and Index, count: 5
05:25:21.103 - [10] - value: 10 status: 0 (SUCCESS)
05:25:21.103 - [11] - value: 10 status: 0 (SUCCESS)
05:25:21.103 - [12] - value: 10 status: 0 (SUCCESS)
05:25:21.103 - [13] - value: 10 status: 0 (SUCCESS)
05:25:21.103 - [19] - value: 10 status: 8 (TOO_MANY_OPS)
05:25:21.103 - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported)
05:25:21.103 - Check that analog control point 10 operate
05:25:21.103 - Check that analog control point 11 operate
05:25:21.103 - Check that analog control point 12 operate
05:25:21.103 - Check that analog control point 13 operate
05:25:21.103 - Not verified by this tool: that the last point, refused with status 8, didn't operate
05:25:21.103 <-P-- 05 64 28 44 01 00 00 04 52 5F
05:25:21.103 C3 C3 81 92 00 29 02 28 05 00 0A 00 0A 00 00 0B 67 B5
05:25:21.103 00 0A 00 00 0C 00 0A 00 00 0D 00 0A 00 00 13 00 C8 68
05:25:21.103 0A 00 08 C6 FE
05:25:21.103 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 40 dest: 1 src: 1024
05:25:21.103 <-T-- fir: 1 fin: 1 seq: 3
05:25:21.103 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime, Class1Events)
05:25:21.103 g41v2, 2-Byte Count and Index, count: 5
05:25:21.103 [10] - value: 10 status: 0 (SUCCESS)
05:25:21.103 [11] - value: 10 status: 0 (SUCCESS)
05:25:21.103 [12] - value: 10 status: 0 (SUCCESS)
05:25:21.103 [13] - value: 10 status: 0 (SUCCESS)
05:25:21.103 [19] - value: 10 status: 8 (TOO_MANY_OPS)
05:25:21.103 [PLG] Analog output 10 did operate
05:25:21.103 [PLG] Analog output 11 did operate
05:25:21.103 [PLG] Analog output 12 did operate
05:25:21.103 [PLG] Analog output 13 did operate
05:25:21.103 step: 13
05:25:21.103 - Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
05:25:21.103 - g41v2, 2-Byte Count and Index, count: 1
05:25:21.103 - [0] - value: 10 status: 0 (SUCCESS)
05:25:21.103 - g41v2, 2-Byte Count and Index, count: 1
05:25:21.103 - [65535] - value: 10 status: 0 (SUCCESS)
05:25:21.104 --A-> Select(0x03) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
05:25:21.104 g41v2, 2-Byte Count and Index, count: 1
05:25:21.104 [0] - value: 10 status: 0 (SUCCESS)
05:25:21.104 g41v2, 2-Byte Count and Index, count: 1
05:25:21.104 [65535] - value: 10 status: 0 (SUCCESS)
05:25:21.104 --T-> fir: 1 fin: 1 seq: 0
05:25:21.104 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 28 dest: 1024 src: 1
05:25:21.104 --P-> 05 64 1C C4 00 04 01 00 35 2C
05:25:21.104 C0 C4 03 29 02 28 01 00 00 00 0A 00 00 29 02 28 B4 65
05:25:21.104 01 00 FF FF 0A 00 00 90 8C
05:25:21.104 step: 14
05:25:21.104 - Read a single fragment response w/ sequence(0x04)
05:25:21.104 - Verify that the IIN field contains IIN(ParamError)
05:25:21.104 - Verify the response contains the exact object headers:
05:25:21.104 - g41v2, 2-Byte Count and Index, count: 1
05:25:21.104 - [0] - value: 10 status: 0 (SUCCESS)
05:25:21.104 - g41v2, 2-Byte Count and Index, count: 1
05:25:21.104 - [65535] - value: 10 status: 4 (NOT_SUPPORTED)
05:25:21.104 <-P-- 05 64 1E 44 01 00 00 04 C8 BD
05:25:21.104 C4 C4 81 92 04 29 02 28 01 00 00 00 0A 00 00 29 AC 9A
05:25:21.104 02 28 01 00 FF FF 0A 00 04 31 4D
05:25:21.104 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 30 dest: 1 src: 1024
05:25:21.104 <-T-- fir: 1 fin: 1 seq: 4
05:25:21.105 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime, Class1Events, ParamError)
05:25:21.105 g41v2, 2-Byte Count and Index, count: 1
05:25:21.105 [0] - value: 10 status: 0 (SUCCESS)
05:25:21.105 g41v2, 2-Byte Count and Index, count: 1
05:25:21.105 [65535] - value: 10 status: 4 (NOT_SUPPORTED)
05:25:21.105 Passed procedure: 8.4.4.2