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

Device under test: Step Function I/O dnp3 outstation

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