12:00:23.394
|
|
Running procedure: 8.14.2.5
|
12:00:23.398
|
|
This procedure is enabled because the following options:
|
12:00:23.398
|
|
- supports.binaryInputChangeEvents == true
|
12:00:23.399
|
|
step: 1
|
12:00:23.399
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
|
12:00:23.399
|
|
- g2v0, All Objects
|
12:00:23.400
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01
|
12:00:23.400
|
|
g2v0, All Objects
|
12:00:23.401
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:00:23.401
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:00:23.402
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:00:23.402
|
|
C0 C1 01 02 00 06 95 76
|
12:00:23.402
|
|
steps: 2 to 3
|
12:00:23.402
|
|
- Read a single fragment response w/ sequence(0x01)
|
12:00:23.402
|
|
- If the response is not Null, verify that the device requests an application layer confirmation.
|
12:00:23.403
|
<-P--
|
05 64 0A 44 01 00 00 04 67 88
|
12:00:23.403
|
|
C0 C1 81 90 00 73 EE
|
12:00:23.403
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
|
12:00:23.404
|
<-T--
|
fir: 1 fin: 1 seq: 0
|
12:00:23.404
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime)
|
12:00:23.405
|
|
step: 4
|
12:00:23.405
|
|
- Generate several Binary Input Change Events
|
12:00:23.405
|
|
Updated BI 65535: value=true, flags=81, timestamp=DNPTime(1586534423405)
|
12:00:23.405
|
|
Updated BI 1024: value=true, flags=81, timestamp=DNPTime(1586534423405)
|
12:00:23.406
|
|
Updated BI 41: value=true, flags=81, timestamp=DNPTime(1586534423405)
|
12:00:23.406
|
|
step: 5
|
12:00:23.406
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
|
12:00:23.406
|
|
- g2v0, All Objects
|
12:00:23.407
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02
|
12:00:23.407
|
|
g2v0, All Objects
|
12:00:23.407
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:00:23.408
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:00:23.408
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:00:23.408
|
|
C0 C2 01 02 00 06 9F 13
|
12:00:23.411
|
|
steps: 6 to 10
|
12:00:23.411
|
|
- Read a single fragment response w/ sequence(0x02)
|
12:00:23.411
|
|
- Verify the device responds with all generated Binary Input events
|
12:00:23.411
|
|
- If the variation contains timestamps, verify that they are reasonable according to the resolution specified in the Device Profile
|
12:00:23.411
|
|
- Verify that an application layer confirmation is requested.
|
12:00:23.411
|
|
- Verify that the response contains only the following variations: List(g2v1, g2v2, g2v3)
|
12:00:23.411
|
|
- Verify that the data is reported using 8 bit indexing (qualifier 0x17) or 16 bit indexing (qualifier 0x28).
|
12:00:23.411
|
|
- Verify that flag behavior complies with Section 2, Note #5.
|
12:00:23.412
|
<-P--
|
05 64 18 44 01 00 00 04 11 D6
|
12:00:23.412
|
|
C1 E2 81 90 00 02 01 28 03 00 FF FF 81 00 04 81 33 21
|
12:00:23.412
|
|
29 00 81 EE 5B
|
12:00:23.412
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 24 dest: 1 src: 1024
|
12:00:23.412
|
<-T--
|
fir: 1 fin: 1 seq: 1
|
12:00:23.413
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime)
|
12:00:23.413
|
|
g2v1, 2-Byte Count and Index, count: 3
|
12:00:23.413
|
|
[65535] - flags: 0x81
|
12:00:23.413
|
|
[1024] - flags: 0x81
|
12:00:23.413
|
|
[41] - flags: 0x81
|
12:00:23.414
|
|
step: 11
|
12:00:23.414
|
|
- Do not issue an application layer confirm to the device.
|
12:00:23.415
|
|
step: 12
|
12:00:23.415
|
|
- Wait for 2000 milliseconds
|
12:00:25.415
|
|
step: 13
|
12:00:25.415
|
|
- Expect no response.
|
12:00:27.616
|
|
step: 14
|
12:00:27.616
|
|
- Generate several Binary Input Change Events
|
12:00:27.616
|
|
Updated BI 1024: value=false, flags=1, timestamp=DNPTime(1586534427616)
|
12:00:27.616
|
|
Updated BI 65535: value=false, flags=1, timestamp=DNPTime(1586534427616)
|
12:00:27.617
|
|
Updated BI 41: value=false, flags=1, timestamp=DNPTime(1586534427616)
|
12:00:27.618
|
|
step: 15
|
12:00:27.618
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
|
12:00:27.618
|
|
- g2v0, All Objects
|
12:00:27.619
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
|
12:00:27.619
|
|
g2v0, All Objects
|
12:00:27.619
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:00:27.619
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:00:27.620
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:00:27.620
|
|
C0 C3 01 02 00 06 99 30
|
12:00:27.622
|
|
steps: 16 to 18
|
12:00:27.622
|
|
- Read a single fragment response w/ sequence(0x03)
|
12:00:27.622
|
|
- Verify the device responds with previous data followed by the new events in time order
|
12:00:27.622
|
|
- If the variation contains timestamps, verify that they are reasonable according to the resolution specified in the Device Profile
|
12:00:27.622
|
|
- Verify that an application layer confirmation is requested.
|
12:00:27.622
|
|
- Verify that the response contains only the following variations: List(g2v1, g2v2, g2v3)
|
12:00:27.622
|
|
- Verify that the data is reported using 8 bit indexing (qualifier 0x17) or 16 bit indexing (qualifier 0x28).
|
12:00:27.622
|
|
- Verify that flag behavior complies with Section 2, Note #5.
|
12:00:27.623
|
<-P--
|
05 64 21 44 01 00 00 04 69 70
|
12:00:27.623
|
|
C2 E3 81 90 00 02 01 28 06 00 FF FF 81 00 04 81 E5 D7
|
12:00:27.623
|
|
29 00 81 00 04 01 FF FF 01 29 00 01 D1 CC
|
12:00:27.624
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 33 dest: 1 src: 1024
|
12:00:27.624
|
<-T--
|
fir: 1 fin: 1 seq: 2
|
12:00:27.626
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime)
|
12:00:27.626
|
|
g2v1, 2-Byte Count and Index, count: 6
|
12:00:27.626
|
|
[65535] - flags: 0x81
|
12:00:27.626
|
|
[1024] - flags: 0x81
|
12:00:27.626
|
|
[41] - flags: 0x81
|
12:00:27.626
|
|
[1024] - flags: 0x01
|
12:00:27.626
|
|
[65535] - flags: 0x01
|
12:00:27.626
|
|
[41] - flags: 0x01
|
12:00:27.626
|
--A->
|
Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03
|
12:00:27.627
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:00:27.627
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1
|
12:00:27.627
|
--P->
|
05 64 08 C4 00 04 01 00 9A 19
|
12:00:27.627
|
|
C0 C3 00 98 26
|
12:00:27.630
|
|
step: 19
|
12:00:27.630
|
|
- Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
|
12:00:27.630
|
|
- g2v0, All Objects
|
12:00:27.630
|
--A->
|
Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04
|
12:00:27.630
|
|
g2v0, All Objects
|
12:00:27.630
|
--T->
|
fir: 1 fin: 1 seq: 0
|
12:00:27.631
|
--L->
|
master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1
|
12:00:27.631
|
--P->
|
05 64 0B C4 00 04 01 00 CA 8A
|
12:00:27.631
|
|
C0 C4 01 02 00 06 8B D9
|
12:00:27.632
|
|
step: 20
|
12:00:27.632
|
|
- Read a single fragment response w/ sequence(0x04)
|
12:00:27.632
|
|
- Verify that the response is empty
|
12:00:27.633
|
<-P--
|
05 64 0A 44 01 00 00 04 67 88
|
12:00:27.633
|
|
C3 C4 81 90 00 BA 95
|
12:00:27.633
|
<-L--
|
master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024
|
12:00:27.633
|
<-T--
|
fir: 1 fin: 1 seq: 3
|
12:00:27.634
|
<-A--
|
Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime)
|
12:00:27.634
|
|
Passed procedure: 8.14.2.5
|