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

Device under test: Step Function I/O dnp3 outstation

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