12:02:17.502
|
|
Running procedure: 8.22.2.5
|
12:02:17.506
|
|
This procedure is enabled because the following options:
|
12:02:17.506
|
|
- supports.doubleBitChangeEvents == true
|
12:02:17.507
|
|
step: 1
|
12:02:17.507
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
|
12:02:17.507
|
|
- g4v0, All Objects
|
12:02:17.508
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
|
12:02:17.508
|
|
g4v0, All Objects
|
12:02:17.508
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:02:17.509
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:02:17.509
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:02:17.509
|
|
C0 C1 01 04 00 06 05 23
|
12:02:17.510
|
|
steps: 2 to 3
|
12:02:17.510
|
|
- Read a single fragment response w/ sequence(0x01)
|
12:02:17.510
|
|
- If the response is not Null, verify that the device requests an application layer confirmation.
|
12:02:17.511
|
<-P--
|
05 64 0A 44 01 00 00 04 67 88
|
12:02:17.511
|
|
C0 C1 81 90 00 73 EE
|
12:02:17.511
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
|
12:02:17.511
|
<-T--
|
fir: 1 fin: 1 seq: 0
|
12:02:17.512
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
|
12:02:17.512
|
|
step: 4
|
12:02:17.512
|
|
- Generate several Double-bit Binary Input Change Events
|
12:02:17.513
|
|
Updated DBBI 0: value=DETERMINED_ON, flags=81, timestamp=DNPTime(1586534537512)
|
12:02:17.513
|
|
Updated DBBI 41: value=DETERMINED_OFF, flags=41, timestamp=DNPTime(1586534537513)
|
12:02:17.513
|
|
Updated DBBI 1024: value=DETERMINED_ON, flags=81, timestamp=DNPTime(1586534537513)
|
12:02:17.514
|
|
step: 5
|
12:02:17.514
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
|
12:02:17.514
|
|
- g4v0, All Objects
|
12:02:17.515
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
|
12:02:17.515
|
|
g4v0, All Objects
|
12:02:17.515
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:02:17.515
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:02:17.516
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:02:17.516
|
|
C0 C2 01 04 00 06 0F 46
|
12:02:17.518
|
|
steps: 6 to 10
|
12:02:17.518
|
|
- Read a single fragment response w/ sequence(0x02)
|
12:02:17.518
|
|
- Verify the device responds with all generated Double-bit Binary events
|
12:02:17.518
|
|
- If the variation contains timestamps, verify that they are reasonable according to the resolution specified in the Device Profile
|
12:02:17.518
|
|
- Verify that an application layer confirmation is requested.
|
12:02:17.518
|
|
- Verify that the response contains only the following variations: List(g4v1, g4v2, g4v3)
|
12:02:17.518
|
|
- Verify that the data is reported using 8 bit indexing (qualifier 0x17) or 16 bit indexing (qualifier 0x28).
|
12:02:17.518
|
|
- Verify that flag behavior complies with Section 2, Note #5.
|
12:02:17.519
|
<-P--
|
05 64 18 44 01 00 00 04 11 D6
|
12:02:17.519
|
|
C1 E2 81 90 00 04 01 28 03 00 00 00 81 29 00 41 C9 8D
|
12:02:17.519
|
|
00 04 81 D7 58
|
12:02:17.519
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 24 dest: 1 src: 1024
|
12:02:17.520
|
<-T--
|
fir: 1 fin: 1 seq: 1
|
12:02:17.521
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
|
12:02:17.521
|
|
g4v1, 2-Byte Count and Index, count: 3
|
12:02:17.521
|
|
[0] - flags: 0x81
|
12:02:17.521
|
|
[41] - flags: 0x41
|
12:02:17.521
|
|
[1024] - flags: 0x81
|
12:02:17.522
|
|
step: 11
|
12:02:17.522
|
|
- Do not issue an application layer confirm to the device.
|
12:02:17.522
|
|
step: 12
|
12:02:17.522
|
|
- Wait for 2000 milliseconds
|
12:02:19.522
|
|
step: 13
|
12:02:19.522
|
|
- Expect no response.
|
12:02:21.722
|
|
step: 14
|
12:02:21.722
|
|
- Generate several Double-bit Binary Input Change Events
|
12:02:21.723
|
|
Updated DBBI 0: value=DETERMINED_OFF, flags=41, timestamp=DNPTime(1586534541722)
|
12:02:21.723
|
|
Updated DBBI 65535: value=DETERMINED_OFF, flags=41, timestamp=DNPTime(1586534541723)
|
12:02:21.723
|
|
Updated DBBI 41: value=DETERMINED_ON, flags=81, timestamp=DNPTime(1586534541723)
|
12:02:21.724
|
|
step: 15
|
12:02:21.724
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
|
12:02:21.724
|
|
- g4v0, All Objects
|
12:02:21.724
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
|
12:02:21.724
|
|
g4v0, All Objects
|
12:02:21.725
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:02:21.725
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:02:21.726
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:02:21.726
|
|
C0 C3 01 04 00 06 09 65
|
12:02:21.728
|
|
steps: 16 to 18
|
12:02:21.728
|
|
- Read a single fragment response w/ sequence(0x03)
|
12:02:21.728
|
|
- Verify the device responds with previous data followed by the new events in time order
|
12:02:21.728
|
|
- If the variation contains timestamps, verify that they are reasonable according to the resolution specified in the Device Profile
|
12:02:21.728
|
|
- Verify that an application layer confirmation is requested.
|
12:02:21.728
|
|
- Verify that the response contains only the following variations: List(g4v1, g4v2, g4v3)
|
12:02:21.728
|
|
- Verify that the data is reported using 8 bit indexing (qualifier 0x17) or 16 bit indexing (qualifier 0x28).
|
12:02:21.728
|
|
- Verify that flag behavior complies with Section 2, Note #5.
|
12:02:21.729
|
<-P--
|
05 64 21 44 01 00 00 04 69 70
|
12:02:21.729
|
|
C2 E3 81 90 00 04 01 28 06 00 00 00 81 29 00 41 1F 7B
|
12:02:21.729
|
|
00 04 81 00 00 41 FF FF 41 29 00 81 12 65
|
12:02:21.729
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 33 dest: 1 src: 1024
|
12:02:21.729
|
<-T--
|
fir: 1 fin: 1 seq: 2
|
12:02:21.732
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
|
12:02:21.732
|
|
g4v1, 2-Byte Count and Index, count: 6
|
12:02:21.732
|
|
[0] - flags: 0x81
|
12:02:21.732
|
|
[41] - flags: 0x41
|
12:02:21.732
|
|
[1024] - flags: 0x81
|
12:02:21.732
|
|
[0] - flags: 0x41
|
12:02:21.732
|
|
[65535] - flags: 0x41
|
12:02:21.732
|
|
[41] - flags: 0x81
|
12:02:21.732
|
--A->
|
Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
|
12:02:21.732
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:02:21.732
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
|
12:02:21.733
|
--P->
|
05 64 08 C4 00 04 01 00 9A 19
|
12:02:21.733
|
|
C0 C3 00 98 26
|
12:02:21.735
|
|
step: 19
|
12:02:21.735
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
|
12:02:21.735
|
|
- g4v0, All Objects
|
12:02:21.736
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
|
12:02:21.736
|
|
g4v0, All Objects
|
12:02:21.736
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:02:21.737
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:02:21.738
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:02:21.738
|
|
C0 C4 01 04 00 06 1B 8C
|
12:02:21.739
|
|
step: 20
|
12:02:21.739
|
|
- Read a single fragment response w/ sequence(0x04)
|
12:02:21.739
|
|
- Verify that the response is empty
|
12:02:21.740
|
<-P--
|
05 64 0A 44 01 00 00 04 67 88
|
12:02:21.740
|
|
C3 C4 81 90 00 BA 95
|
12:02:21.740
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
|
12:02:21.740
|
<-T--
|
fir: 1 fin: 1 seq: 3
|
12:02:21.741
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
|
12:02:21.741
|
|
Passed procedure: 8.22.2.5
|