8.25.2e Analog Input Events (revision 3.1r1, subset level 3)

Device under test: Step Function I/O dnp3 outstation

05:32:12.003 Running procedure: 8.25.2e
05:32:12.004 step: 1
05:32:12.004 - Set every analog input point's flags normal: ONLINE set, all others clear
05:32:12.004 - Generate 2 Analog Input Change Event(s)
05:32:12.004 [PLG] Every analog input point's flags are normal
05:32:12.004 [PLG] Updated AI 0: value=100.0, flags=1, timestamp=1793251932004 (UNSYNCHRONIZED_TIME)
05:32:12.004 [PLG] Updated AI 0: value=200.0, flags=1, timestamp=1793251932004 (UNSYNCHRONIZED_TIME)
05:32:12.005 step: 2
05:32:12.005 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:32:12.005 - g32v1, All Objects
05:32:12.005 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:32:12.005 g32v1, All Objects
05:32:12.005 --T-> fir: 1 fin: 1 seq: 0
05:32:12.005 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:12.005 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:12.005 C0 C1 01 20 01 06 20 0E
05:32:12.005 steps: 3 to 6
05:32:12.005 - If the DUT has no points of the type, it must answer with a Null Error Response with IIN2.1 or IIN2.2, and the rest of the test is skipped. If it doesn't support the type, or isn't tested at subset level 3, the same answer passes too, and with the points but not the events, a Null Response or IIN2.1
05:32:12.005 - Read a single fragment response w/ sequence(0x01)
05:32:12.005 - Verify that each event comes back in g32v1, or in the other width for a point the DUT keeps only in that one, with 1-octet (0x17) or 2-octet (0x28) indexes
05:32:12.005 - Verify that every event reports its flags normal (ONLINE set, all others clear)
05:32:12.005 - Verify that the reported value is the one the analog input was set to
05:32:12.005 - Verify that an application layer confirmation is requested.
05:32:12.005 - Confirm each response that asks for a confirmation
05:32:12.005 <-P-- 05 64 1D 44 01 00 00 04 98 2E
05:32:12.005 C0 E1 81 90 00 20 01 28 02 00 00 00 01 64 00 00 5E 22
05:32:12.005 00 00 00 01 C8 00 00 00 64 23
05:32:12.005 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 29 dest: 1 src: 1024
05:32:12.005 <-T-- fir: 1 fin: 1 seq: 0
05:32:12.005 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
05:32:12.005 g32v1, 2-Byte Count and Index, count: 2
05:32:12.005 [0] - flags: 0x01 value: 100
05:32:12.005 [0] - flags: 0x01 value: 200
05:32:12.005 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
05:32:12.005 --T-> fir: 1 fin: 1 seq: 0
05:32:12.005 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:12.006 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:12.006 C0 C1 00 7D 3D
05:32:12.006 [PLG] Verified 2 analog input point event(s)
05:32:12.006 step: 7
05:32:12.006 - Generate 2 analog input events, with values whose magnitudes are below 32768
05:32:12.006 [PLG] Updated AI 0: value=300.0, flags=1, timestamp=1793251932006 (UNSYNCHRONIZED_TIME)
05:32:12.006 [PLG] Updated AI 0: value=400.0, flags=1, timestamp=1793251932006 (UNSYNCHRONIZED_TIME)
05:32:12.006 step: 8
05:32:12.006 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:32:12.006 - g32v2, All Objects
05:32:12.006 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
05:32:12.006 g32v2, All Objects
05:32:12.006 --T-> fir: 1 fin: 1 seq: 0
05:32:12.006 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:12.006 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:12.006 C0 C2 01 20 02 06 81 DB
05:32:12.006 steps: 9 to 10
05:32:12.006 - Read a single fragment response w/ sequence(0x02)
05:32:12.006 - Verify that each event comes back in g32v2, or in the other width for a point the DUT keeps only in that one, with 1-octet (0x17) or 2-octet (0x28) indexes
05:32:12.006 - Verify that every event reports its flags normal (ONLINE set, all others clear)
05:32:12.006 - Verify that the reported value is the one the analog input was set to
05:32:12.006 - Verify that an application layer confirmation is requested.
05:32:12.006 - Record the events
05:32:12.006 <-P-- 05 64 19 44 01 00 00 04 F6 63
05:32:12.006 C1 E2 81 90 00 20 02 28 02 00 00 00 01 2C 01 00 C4 3F
05:32:12.006 00 01 90 01 1E 14
05:32:12.006 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
05:32:12.006 <-T-- fir: 1 fin: 1 seq: 1
05:32:12.006 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
05:32:12.006 g32v2, 2-Byte Count and Index, count: 2
05:32:12.006 [0] - flags: 0x01 value: 300
05:32:12.006 [0] - flags: 0x01 value: 400
05:32:12.007 [PLG] Verified 2 analog input point event(s)
05:32:12.007 step: 10.5
05:32:12.007 - Expect no response within 6000 ms.
05:32:18.010 step: 10.6
05:32:18.010 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:18.010 - g32v2, All Objects
05:32:18.010 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:18.010 g32v2, All Objects
05:32:18.010 --T-> fir: 1 fin: 1 seq: 0
05:32:18.010 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
05:32:18.010 --P-> 05 64 0B C4 00 04 01 00 CA 8A
05:32:18.010 C0 C3 01 20 02 06 87 F8
05:32:18.010 steps: 10.7 to 10.8
05:32:18.010 - Read a single fragment response w/ sequence(0x03)
05:32:18.010 - Verify that each event comes back in g32v2, or in the other width for a point the DUT keeps only in that one, with 1-octet (0x17) or 2-octet (0x28) indexes
05:32:18.010 - Verify that every event reports its flags normal (ONLINE set, all others clear)
05:32:18.010 - Verify that an application layer confirmation is requested.
05:32:18.010 - Verify that the response reports the same events as the one before
05:32:18.010 - Confirm each response that asks for a confirmation
05:32:18.010 <-P-- 05 64 19 44 01 00 00 04 F6 63
05:32:18.010 C2 E3 81 90 00 20 02 28 02 00 00 00 01 2C 01 00 48 87
05:32:18.010 00 01 90 01 1E 14
05:32:18.010 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
05:32:18.010 <-T-- fir: 1 fin: 1 seq: 2
05:32:18.010 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
05:32:18.010 g32v2, 2-Byte Count and Index, count: 2
05:32:18.010 [0] - flags: 0x01 value: 300
05:32:18.010 [0] - flags: 0x01 value: 400
05:32:18.010 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
05:32:18.010 --T-> fir: 1 fin: 1 seq: 0
05:32:18.010 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
05:32:18.011 --P-> 05 64 08 C4 00 04 01 00 9A 19
05:32:18.011 C0 C3 00 98 26
05:32:18.011 Passed procedure: 8.25.2e