8.24.2a Binary Inputs (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

05:31:57.459 Running procedure: 8.24.2a
05:31:57.465 This procedure is enabled because the following options:
05:31:57.465 - supports.binaryInput == false or (supports.binaryInput == true and supports.binaryInputReads == true)
05:31:57.465 step: 1
05:31:57.465 - Set every binary input point's flags normal: ONLINE set, all others clear
05:31:57.466 [PLG] Every binary input point's flags are normal
05:31:57.466 step: 2
05:31:57.466 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:31:57.466 - g1v1, All Objects
05:31:57.466 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00
05:31:57.466 g1v1, All Objects
05:31:57.466 --T-> fir: 1 fin: 1 seq: 0
05:31:57.466 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:57.466 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:57.466 C0 C0 01 01 01 06 15 D4
05:31:57.466 steps: 3 to 4
05:31:57.466 - Read any number of valid responses beginning w/ sequence(0x00) and incrementing by 1 modulo 16
05:31:57.466 - Verify that each point comes back in a variation the request for g1v1 allows
05:31:57.466 - 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:57.466 - Confirm each response that asks for a confirmation
05:31:57.467 <-P-- 05 64 13 44 01 00 00 04 9D DF
05:31:57.467 C0 C0 81 90 00 01 01 01 00 00 0B 00 00 00 B1 41
05:31:57.467 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 19 dest: 1 src: 1024
05:31:57.467 <-T-- fir: 1 fin: 1 seq: 0
05:31:57.467 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(DeviceRestart, NeedTime)
05:31:57.467 g1v1, 2-Byte Start/Stop, start: 0 stop: 11
05:31:57.467 [0] - BooleanValue(false)
05:31:57.467 [1] - BooleanValue(false)
05:31:57.467 [2] - BooleanValue(false)
05:31:57.467 [3] - BooleanValue(false)
05:31:57.467 [4] - BooleanValue(false)
05:31:57.467 [5] - BooleanValue(false)
05:31:57.467 [6] - BooleanValue(false)
05:31:57.467 [7] - BooleanValue(false)
05:31:57.467 [8] - BooleanValue(false)
05:31:57.467 [9] - BooleanValue(false)
05:31:57.467 [10] - BooleanValue(false)
05:31:57.467 [11] - BooleanValue(false)
05:31:57.470 step: 5
05:31:57.470 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:31:57.470 - g1v2, All Objects
05:31:57.470 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:31:57.470 g1v2, All Objects
05:31:57.470 --T-> fir: 1 fin: 1 seq: 0
05:31:57.470 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:57.470 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:57.470 C0 C1 01 01 02 06 B8 47
05:31:57.470 step: 6
05:31:57.470 - Read any number of valid responses beginning w/ sequence(0x01) and incrementing by 1 modulo 16
05:31:57.470 - Verify that each point comes back in a variation the request for g1v2 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:57.470 - 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:57.470 - Confirm each response that asks for a confirmation
05:31:57.471 <-P-- 05 64 1D 44 01 00 00 04 98 2E
05:31:57.471 C1 C1 81 90 00 01 02 01 00 00 0B 00 01 01 01 01 51 0D
05:31:57.471 01 01 01 01 01 01 01 01 2E 66
05:31:57.471 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 29 dest: 1 src: 1024
05:31:57.471 <-T-- fir: 1 fin: 1 seq: 1
05:31:57.471 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
05:31:57.471 g1v2, 2-Byte Start/Stop, start: 0 stop: 11
05:31:57.471 [0] - flags: 0x01
05:31:57.471 [1] - flags: 0x01
05:31:57.471 [2] - flags: 0x01
05:31:57.471 [3] - flags: 0x01
05:31:57.471 [4] - flags: 0x01
05:31:57.471 [5] - flags: 0x01
05:31:57.471 [6] - flags: 0x01
05:31:57.471 [7] - flags: 0x01
05:31:57.471 [8] - flags: 0x01
05:31:57.471 [9] - flags: 0x01
05:31:57.471 [10] - flags: 0x01
05:31:57.471 [11] - flags: 0x01
05:31:57.471 step: 7
05:31:57.471 - Set one of the flags abnormal of the first binary input where that's allowed
05:31:57.472 [PLG] binary input 0 has COMM_LOST set
05:31:57.472 step: 8
05:31:57.472 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:31:57.472 - g1v1, All Objects
05:31:57.472 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:31:57.472 g1v1, All Objects
05:31:57.472 --T-> fir: 1 fin: 1 seq: 0
05:31:57.472 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:57.472 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:57.472 C0 C2 01 01 01 06 19 92
05:31:57.473 step: 9
05:31:57.473 - Read any number of valid responses beginning w/ sequence(0x02) and incrementing by 1 modulo 16
05:31:57.473 - Verify that each point comes back in a variation the request for g1v1 allows, with an 8-bit (0x00) or 16-bit (0x01) start/stop qualifier
05:31:57.473 - 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:57.473 - Confirm each response that asks for a confirmation
05:31:57.473 <-P-- 05 64 1B 44 01 00 00 04 41 45
05:31:57.473 C2 C2 81 90 00 01 02 01 00 00 00 00 05 01 01 01 4A BC
05:31:57.473 01 00 0B 00 00 00 76 B5
05:31:57.473 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 27 dest: 1 src: 1024
05:31:57.473 <-T-- fir: 1 fin: 1 seq: 2
05:31:57.473 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
05:31:57.473 g1v2, 2-Byte Start/Stop, start: 0 stop: 0
05:31:57.473 [0] - flags: 0x05
05:31:57.473 g1v1, 2-Byte Start/Stop, start: 1 stop: 11
05:31:57.473 [1] - BooleanValue(false)
05:31:57.473 [2] - BooleanValue(false)
05:31:57.473 [3] - BooleanValue(false)
05:31:57.473 [4] - BooleanValue(false)
05:31:57.473 [5] - BooleanValue(false)
05:31:57.473 [6] - BooleanValue(false)
05:31:57.473 [7] - BooleanValue(false)
05:31:57.473 [8] - BooleanValue(false)
05:31:57.473 [9] - BooleanValue(false)
05:31:57.473 [10] - BooleanValue(false)
05:31:57.473 [11] - BooleanValue(false)
05:31:57.474 Note on the result: with one of its flags set abnormal, binary input 0 came back with flags 0x05
05:31:57.474 step: 10
05:31:57.474 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:31:57.474 - g1v2, All Objects
05:31:57.474 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:31:57.474 g1v2, All Objects
05:31:57.474 --T-> fir: 1 fin: 1 seq: 0
05:31:57.474 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:31:57.474 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:31:57.474 C0 C3 01 01 02 06 B4 01
05:31:57.475 step: 11
05:31:57.475 - Read any number of valid responses beginning w/ sequence(0x03) and incrementing by 1 modulo 16
05:31:57.475 - Verify that each point comes back in a variation the request for g1v2 allows
05:31:57.475 - 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:57.475 - Confirm each response that asks for a confirmation
05:31:57.475 <-P-- 05 64 1D 44 01 00 00 04 98 2E
05:31:57.475 C3 C3 81 90 00 01 02 01 00 00 0B 00 05 01 01 01 52 96
05:31:57.475 01 01 01 01 01 01 01 01 2E 66
05:31:57.475 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 29 dest: 1 src: 1024
05:31:57.475 <-T-- fir: 1 fin: 1 seq: 3
05:31:57.475 <-A-- Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
05:31:57.475 g1v2, 2-Byte Start/Stop, start: 0 stop: 11
05:31:57.475 [0] - flags: 0x05
05:31:57.475 [1] - flags: 0x01
05:31:57.475 [2] - flags: 0x01
05:31:57.475 [3] - flags: 0x01
05:31:57.475 [4] - flags: 0x01
05:31:57.475 [5] - flags: 0x01
05:31:57.475 [6] - flags: 0x01
05:31:57.475 [7] - flags: 0x01
05:31:57.475 [8] - flags: 0x01
05:31:57.475 [9] - flags: 0x01
05:31:57.475 [10] - flags: 0x01
05:31:57.475 [11] - flags: 0x01
05:31:57.475 Passed procedure: 8.24.2a
05:31:57.475 restore
05:31:57.475 - Set every binary input point's flags normal: ONLINE set, all others clear
05:31:57.475 [PLG] Every binary input point's flags are normal