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

Device under test: Step Function I/O dnp3 outstation

11:03:58.982 Running procedure: 8.25.2e
11:03:58.983 step: 1
11:03:58.983 - Set every analog input point's flags normal: ONLINE set, all others clear
11:03:58.983 - Generate 2 Analog Input Change Event(s)
11:03:58.983 [PLG] Every analog input point's flags are normal
11:03:58.983 [PLG] Updated AI 0: value=100.0, flags=1, timestamp=1793185438983 (UNSYNCHRONIZED_TIME)
11:03:58.983 [PLG] Updated AI 0: value=200.0, flags=1, timestamp=1793185438983 (UNSYNCHRONIZED_TIME)
11:03:58.983 step: 2
11:03:58.983 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:58.983 - g32v1, All Objects
11:03:58.983 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:58.983 g32v1, All Objects
11:03:58.983 --T-> fir: 1 fin: 1 seq: 0
11:03:58.983 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:58.983 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:58.983 C0 C1 01 20 01 06 20 0E
11:03:58.983 steps: 3 to 6
11:03:58.983 - 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
11:03:58.983 - Read a single fragment response w/ sequence(0x01)
11:03:58.983 - 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
11:03:58.983 - Verify that every event reports its flags normal (ONLINE set, all others clear)
11:03:58.983 - Verify that the reported value is the one the analog input was set to
11:03:58.983 - Verify that an application layer confirmation is requested.
11:03:58.983 - Confirm each response that asks for a confirmation
11:03:58.984 <-P-- 05 64 1D 44 01 00 00 04 98 2E
11:03:58.984 C0 E1 81 90 00 20 01 28 02 00 00 00 01 64 00 00 5E 22
11:03:58.984 00 00 00 01 C8 00 00 00 64 23
11:03:58.984 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 29 dest: 1 src: 1024
11:03:58.984 <-T-- fir: 1 fin: 1 seq: 0
11:03:58.984 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
11:03:58.984 g32v1, 2-Byte Count and Index, count: 2
11:03:58.984 [0] - flags: 0x01 value: 100
11:03:58.984 [0] - flags: 0x01 value: 200
11:03:58.984 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
11:03:58.984 --T-> fir: 1 fin: 1 seq: 0
11:03:58.984 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
11:03:58.984 --P-> 05 64 08 C4 00 04 01 00 9A 19
11:03:58.984 C0 C1 00 7D 3D
11:03:58.984 [PLG] Verified 2 analog input point event(s)
11:03:58.984 step: 7
11:03:58.984 - Generate 2 analog input events, with values whose magnitudes are below 32768
11:03:58.984 [PLG] Updated AI 0: value=300.0, flags=1, timestamp=1793185438984 (UNSYNCHRONIZED_TIME)
11:03:58.984 [PLG] Updated AI 0: value=400.0, flags=1, timestamp=1793185438984 (UNSYNCHRONIZED_TIME)
11:03:58.984 step: 8
11:03:58.984 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:03:58.984 - g32v2, All Objects
11:03:58.984 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
11:03:58.984 g32v2, All Objects
11:03:58.984 --T-> fir: 1 fin: 1 seq: 0
11:03:58.984 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:03:58.984 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:03:58.984 C0 C2 01 20 02 06 81 DB
11:03:58.985 steps: 9 to 10
11:03:58.985 - Read a single fragment response w/ sequence(0x02)
11:03:58.985 - 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
11:03:58.985 - Verify that every event reports its flags normal (ONLINE set, all others clear)
11:03:58.985 - Verify that the reported value is the one the analog input was set to
11:03:58.985 - Verify that an application layer confirmation is requested.
11:03:58.985 - Record the events
11:03:58.985 <-P-- 05 64 19 44 01 00 00 04 F6 63
11:03:58.985 C1 E2 81 90 00 20 02 28 02 00 00 00 01 2C 01 00 C4 3F
11:03:58.985 00 01 90 01 1E 14
11:03:58.985 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
11:03:58.985 <-T-- fir: 1 fin: 1 seq: 1
11:03:58.985 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
11:03:58.985 g32v2, 2-Byte Count and Index, count: 2
11:03:58.985 [0] - flags: 0x01 value: 300
11:03:58.985 [0] - flags: 0x01 value: 400
11:03:58.985 [PLG] Verified 2 analog input point event(s)
11:03:58.985 step: 10.5
11:03:58.985 - Expect no response within 6000 ms.
11:04:04.991 step: 10.6
11:04:04.991 - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:04:04.991 - g32v2, All Objects
11:04:04.991 --A-> Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:04:04.991 g32v2, All Objects
11:04:04.991 --T-> fir: 1 fin: 1 seq: 0
11:04:04.991 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
11:04:04.991 --P-> 05 64 0B C4 00 04 01 00 CA 8A
11:04:04.991 C0 C3 01 20 02 06 87 F8
11:04:04.991 steps: 10.7 to 10.8
11:04:04.991 - Read a single fragment response w/ sequence(0x03)
11:04:04.991 - 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
11:04:04.991 - Verify that every event reports its flags normal (ONLINE set, all others clear)
11:04:04.991 - Verify that an application layer confirmation is requested.
11:04:04.991 - Verify that the response reports the same events as the one before
11:04:04.991 - Confirm each response that asks for a confirmation
11:04:04.992 <-P-- 05 64 19 44 01 00 00 04 F6 63
11:04:04.992 C2 E3 81 90 00 20 02 28 02 00 00 00 01 2C 01 00 48 87
11:04:04.992 00 01 90 01 1E 14
11:04:04.992 <-L-- master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 25 dest: 1 src: 1024
11:04:04.992 <-T-- fir: 1 fin: 1 seq: 2
11:04:04.992 <-A-- Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
11:04:04.992 g32v2, 2-Byte Count and Index, count: 2
11:04:04.992 [0] - flags: 0x01 value: 300
11:04:04.992 [0] - flags: 0x01 value: 400
11:04:04.992 --A-> Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
11:04:04.992 --T-> fir: 1 fin: 1 seq: 0
11:04:04.992 --L-> master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
11:04:04.992 --P-> 05 64 08 C4 00 04 01 00 9A 19
11:04:04.992 C0 C3 00 98 26
11:04:04.992 Passed procedure: 8.25.2e