| 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 |