8.24.2f Analog Inputs (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

05:31:58.626 Running procedure: 8.24.2f
05:31:58.627 This procedure is enabled because the following options:
05:31:58.627 - supports.analogInput == false or (supports.analogInput == true and supports.analogInputReads == true)
05:31:58.627 step: 2
05:31:58.627 - Set every analog input point's flags normal: ONLINE set, all others clear
05:31:58.628 [PLG] Every analog input point's flags are normal
05:31:58.628 step: 3
05:31:58.628 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:31:58.628 - g30v1, All Objects
05:31:58.628 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:31:58.628 g30v1, All Objects
05:31:58.628 --T-> fir: 1 fin: 1 seq: 0
05:31:58.628 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.628 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.628 C0 C0 01 1E 01 06 04 83
05:31:58.628 steps: 4 to 9
05:31:58.628 - Read any number of valid responses beginning w/ sequence(0x00) and incrementing by 1 modulo 16
05:31:58.628 - Verify that each point comes back in a variation the request for g30v1 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.628 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.628 - Confirm each response that asks for a confirmation
05:31:58.630 <-P-- 05 64 43 44 01 00 00 04 21 09
05:31:58.630 C0 C0 81 90 00 1E 01 01 00 00 09 00 01 00 00 00 46 74
05:31:58.630 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 83 71
05:31:58.630 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 44 27
05:31:58.630 00 00 00 00 01 00 00 00 00 01 00 00 00 00 9B 1F
05:31:58.630 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 67 dest: 1 src: 1024
05:31:58.630 <-T-- fir: 1 fin: 1 seq: 0
05:31:58.630 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
05:31:58.630 g30v1, 2-Byte Start/Stop, start: 0 stop: 9
05:31:58.630 [0] - flags: 0x01 value: 0
05:31:58.630 [1] - flags: 0x01 value: 0
05:31:58.630 [2] - flags: 0x01 value: 0
05:31:58.630 [3] - flags: 0x01 value: 0
05:31:58.630 [4] - flags: 0x01 value: 0
05:31:58.630 [5] - flags: 0x01 value: 0
05:31:58.630 [6] - flags: 0x01 value: 0
05:31:58.630 [7] - flags: 0x01 value: 0
05:31:58.630 [8] - flags: 0x01 value: 0
05:31:58.630 [9] - flags: 0x01 value: 0
05:31:58.631 step: 10
05:31:58.631 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:31:58.631 - g30v2, All Objects
05:31:58.631 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:31:58.631 g30v2, All Objects
05:31:58.631 --T-> fir: 1 fin: 1 seq: 0
05:31:58.631 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.631 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.631 C0 C1 01 1E 02 06 A9 10
05:31:58.631 steps: 11 to 14
05:31:58.631 - Read any number of valid responses beginning w/ sequence(0x01) and incrementing by 1 modulo 16
05:31:58.631 - Verify that each point comes back in a variation the request for g30v2 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.631 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.631 - Confirm each response that asks for a confirmation
05:31:58.633 <-P-- 05 64 2F 44 01 00 00 04 6C 81
05:31:58.633 C1 C1 81 90 00 1E 02 01 00 00 09 00 01 00 00 01 53 69
05:31:58.633 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
05:31:58.633 00 01 00 00 01 00 00 01 00 00 61 8D
05:31:58.633 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 47 dest: 1 src: 1024
05:31:58.633 <-T-- fir: 1 fin: 1 seq: 1
05:31:58.633 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
05:31:58.633 g30v2, 2-Byte Start/Stop, start: 0 stop: 9
05:31:58.633 [0] - flags: 0x01 value: 0
05:31:58.633 [1] - flags: 0x01 value: 0
05:31:58.633 [2] - flags: 0x01 value: 0
05:31:58.633 [3] - flags: 0x01 value: 0
05:31:58.633 [4] - flags: 0x01 value: 0
05:31:58.633 [5] - flags: 0x01 value: 0
05:31:58.633 [6] - flags: 0x01 value: 0
05:31:58.633 [7] - flags: 0x01 value: 0
05:31:58.633 [8] - flags: 0x01 value: 0
05:31:58.633 [9] - flags: 0x01 value: 0
05:31:58.633 step: 15
05:31:58.633 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:31:58.633 - g30v3, All Objects
05:31:58.633 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:31:58.633 g30v3, All Objects
05:31:58.633 --T-> fir: 1 fin: 1 seq: 0
05:31:58.633 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.633 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.633 C0 C2 01 1E 03 06 ED DE
05:31:58.633 steps: 16 to 20
05:31:58.633 - Read any number of valid responses beginning w/ sequence(0x02) and incrementing by 1 modulo 16
05:31:58.633 - Verify that each point comes back in a variation the request for g30v3 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.633 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.633 - Confirm each response that asks for a confirmation
05:31:58.633 <-P-- 05 64 39 44 01 00 00 04 74 92
05:31:58.633 C2 C2 81 90 00 1E 03 01 00 00 09 00 00 00 00 00 3B 3A
05:31:58.633 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
05:31:58.633 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
05:31:58.633 00 00 00 00 FF FF
05:31:58.633 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 57 dest: 1 src: 1024
05:31:58.633 <-T-- fir: 1 fin: 1 seq: 2
05:31:58.634 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
05:31:58.634 g30v3, 2-Byte Start/Stop, start: 0 stop: 9
05:31:58.634 [0] - value: 0
05:31:58.634 [1] - value: 0
05:31:58.634 [2] - value: 0
05:31:58.634 [3] - value: 0
05:31:58.634 [4] - value: 0
05:31:58.634 [5] - value: 0
05:31:58.634 [6] - value: 0
05:31:58.634 [7] - value: 0
05:31:58.634 [8] - value: 0
05:31:58.634 [9] - value: 0
05:31:58.634 step: 21
05:31:58.634 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:31:58.634 - g30v4, All Objects
05:31:58.634 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:31:58.634 g30v4, All Objects
05:31:58.634 --T-> fir: 1 fin: 1 seq: 0
05:31:58.634 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.634 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.634 C0 C3 01 1E 04 06 8A 7A
05:31:58.634 steps: 22 to 26
05:31:58.634 - Read any number of valid responses beginning w/ sequence(0x03) and incrementing by 1 modulo 16
05:31:58.634 - Verify that each point comes back in a variation the request for g30v4 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.634 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.634 - Confirm each response that asks for a confirmation
05:31:58.634 <-P-- 05 64 25 44 01 00 00 04 07 3D
05:31:58.634 C3 C3 81 90 00 1E 04 01 00 00 09 00 00 00 00 00 73 CB
05:31:58.634 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
05:31:58.634 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 37 dest: 1 src: 1024
05:31:58.634 <-T-- fir: 1 fin: 1 seq: 3
05:31:58.634 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
05:31:58.634 g30v4, 2-Byte Start/Stop, start: 0 stop: 9
05:31:58.634 [0] - value: 0
05:31:58.634 [1] - value: 0
05:31:58.634 [2] - value: 0
05:31:58.634 [3] - value: 0
05:31:58.634 [4] - value: 0
05:31:58.634 [5] - value: 0
05:31:58.634 [6] - value: 0
05:31:58.634 [7] - value: 0
05:31:58.635 [8] - value: 0
05:31:58.635 [9] - value: 0
05:31:58.635 step: 27
05:31:58.635 - Set one of the flags abnormal of the first analog input where that's allowed
05:31:58.635 [PLG] analog input 0 has COMM_LOST set
05:31:58.635 step: 28
05:31:58.635 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
05:31:58.635 - g30v1, All Objects
05:31:58.635 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
05:31:58.635 g30v1, All Objects
05:31:58.635 --T-> fir: 1 fin: 1 seq: 0
05:31:58.635 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.635 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.635 C0 C4 01 1E 01 06 1C 0F
05:31:58.635 steps: 29 to 33
05:31:58.635 - Read any number of valid responses beginning w/ sequence(0x04) and incrementing by 1 modulo 16
05:31:58.635 - Verify that each point comes back in a variation the request for g30v1 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.635 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.635 - Confirm each response that asks for a confirmation
05:31:58.635 <-P-- 05 64 43 44 01 00 00 04 21 09
05:31:58.635 C4 C4 81 90 00 1E 01 01 00 00 09 00 05 00 00 00 3D 26
05:31:58.635 00 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 83 71
05:31:58.635 01 00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 44 27
05:31:58.635 00 00 00 00 01 00 00 00 00 01 00 00 00 00 9B 1F
05:31:58.635 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 67 dest: 1 src: 1024
05:31:58.635 <-T-- fir: 1 fin: 1 seq: 4
05:31:58.636 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
05:31:58.636 g30v1, 2-Byte Start/Stop, start: 0 stop: 9
05:31:58.636 [0] - flags: 0x05 value: 0
05:31:58.636 [1] - flags: 0x01 value: 0
05:31:58.636 [2] - flags: 0x01 value: 0
05:31:58.636 [3] - flags: 0x01 value: 0
05:31:58.636 [4] - flags: 0x01 value: 0
05:31:58.636 [5] - flags: 0x01 value: 0
05:31:58.636 [6] - flags: 0x01 value: 0
05:31:58.636 [7] - flags: 0x01 value: 0
05:31:58.636 [8] - flags: 0x01 value: 0
05:31:58.636 [9] - flags: 0x01 value: 0
05:31:58.636 Note on the result: with one of its flags set abnormal, analog input 0 came back with flags 0x05
05:31:58.636 step: 34
05:31:58.636 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
05:31:58.636 - g30v2, All Objects
05:31:58.636 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05
05:31:58.636 g30v2, All Objects
05:31:58.636 --T-> fir: 1 fin: 1 seq: 0
05:31:58.636 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.636 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.636 C0 C5 01 1E 02 06 B1 9C
05:31:58.636 steps: 35 to 39
05:31:58.636 - Read any number of valid responses beginning w/ sequence(0x05) and incrementing by 1 modulo 16
05:31:58.636 - Verify that each point comes back in a variation the request for g30v2 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.636 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.636 - Confirm each response that asks for a confirmation
05:31:58.636 <-P-- 05 64 2F 44 01 00 00 04 6C 81
05:31:58.636 C5 C5 81 90 00 1E 02 01 00 00 09 00 05 00 00 01 28 3B
05:31:58.636 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49
05:31:58.636 00 01 00 00 01 00 00 01 00 00 61 8D
05:31:58.636 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 47 dest: 1 src: 1024
05:31:58.636 <-T-- fir: 1 fin: 1 seq: 5
05:31:58.636 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x05 IIN(DeviceRestart, NeedTime)
05:31:58.636 g30v2, 2-Byte Start/Stop, start: 0 stop: 9
05:31:58.636 [0] - flags: 0x05 value: 0
05:31:58.636 [1] - flags: 0x01 value: 0
05:31:58.636 [2] - flags: 0x01 value: 0
05:31:58.636 [3] - flags: 0x01 value: 0
05:31:58.636 [4] - flags: 0x01 value: 0
05:31:58.636 [5] - flags: 0x01 value: 0
05:31:58.636 [6] - flags: 0x01 value: 0
05:31:58.636 [7] - flags: 0x01 value: 0
05:31:58.636 [8] - flags: 0x01 value: 0
05:31:58.636 [9] - flags: 0x01 value: 0
05:31:58.637 step: 40
05:31:58.637 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
05:31:58.637 - g30v3, All Objects
05:31:58.637 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06
05:31:58.637 g30v3, All Objects
05:31:58.637 --T-> fir: 1 fin: 1 seq: 0
05:31:58.637 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.637 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.637 C0 C6 01 1E 03 06 F5 52
05:31:58.637 steps: 41 to 45
05:31:58.637 - Read any number of valid responses beginning w/ sequence(0x06) and incrementing by 1 modulo 16
05:31:58.637 - Verify that each point comes back in a variation the request for g30v3 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.637 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.637 - Confirm each response that asks for a confirmation
05:31:58.637 <-P-- 05 64 41 44 01 00 00 04 96 2F
05:31:58.637 C6 C6 81 90 00 1E 01 01 00 00 00 00 05 00 00 00 2E 4E
05:31:58.637 00 1E 03 01 01 00 09 00 00 00 00 00 00 00 00 00 A3 B8
05:31:58.637 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
05:31:58.637 00 00 00 00 00 00 00 00 00 00 00 00 FF FF
05:31:58.637 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 65 dest: 1 src: 1024
05:31:58.637 <-T-- fir: 1 fin: 1 seq: 6
05:31:58.637 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x06 IIN(DeviceRestart, NeedTime)
05:31:58.637 g30v1, 2-Byte Start/Stop, start: 0 stop: 0
05:31:58.637 [0] - flags: 0x05 value: 0
05:31:58.637 g30v3, 2-Byte Start/Stop, start: 1 stop: 9
05:31:58.637 [1] - value: 0
05:31:58.637 [2] - value: 0
05:31:58.637 [3] - value: 0
05:31:58.637 [4] - value: 0
05:31:58.637 [5] - value: 0
05:31:58.637 [6] - value: 0
05:31:58.637 [7] - value: 0
05:31:58.637 [8] - value: 0
05:31:58.637 [9] - value: 0
05:31:58.638 step: 46
05:31:58.638 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07
05:31:58.638 - g30v4, All Objects
05:31:58.638 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07
05:31:58.638 g30v4, All Objects
05:31:58.638 --T-> fir: 1 fin: 1 seq: 0
05:31:58.638 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:58.638 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:58.638 C0 C7 01 1E 04 06 92 F6
05:31:58.638 steps: 47 to 51
05:31:58.638 - Read any number of valid responses beginning w/ sequence(0x07) and incrementing by 1 modulo 16
05:31:58.638 - Verify that each point comes back in a variation the request for g30v4 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:58.638 - Verify that every point with flags reports them normal (ONLINE set, all others clear), but for the first point after its flag is set abnormal, which must come back with flags, reporting it
05:31:58.638 - Confirm each response that asks for a confirmation
05:31:58.638 <-P-- 05 64 2D 44 01 00 00 04 DB A7
05:31:58.638 C7 C7 81 90 00 1E 02 01 00 00 00 00 05 00 00 1E 43 9D
05:31:58.638 04 01 01 00 09 00 00 00 00 00 00 00 00 00 00 00 97 F0
05:31:58.638 00 00 00 00 00 00 00 00 FF FF
05:31:58.638 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 45 dest: 1 src: 1024
05:31:58.638 <-T-- fir: 1 fin: 1 seq: 7
05:31:58.638 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x07 IIN(DeviceRestart, NeedTime)
05:31:58.638 g30v2, 2-Byte Start/Stop, start: 0 stop: 0
05:31:58.638 [0] - flags: 0x05 value: 0
05:31:58.638 g30v4, 2-Byte Start/Stop, start: 1 stop: 9
05:31:58.638 [1] - value: 0
05:31:58.638 [2] - value: 0
05:31:58.638 [3] - value: 0
05:31:58.638 [4] - value: 0
05:31:58.638 [5] - value: 0
05:31:58.638 [6] - value: 0
05:31:58.638 [7] - value: 0
05:31:58.638 [8] - value: 0
05:31:58.638 [9] - value: 0
05:31:58.638 Passed procedure: 8.24.2f
05:31:58.639 restore
05:31:58.639 - Set every analog input point's flags normal: ONLINE set, all others clear
05:31:58.639 [PLG] Every analog input point's flags are normal