| 12:02:26.830 | Running procedure: 8.22.2.14 | |
| 12:02:26.835 | This procedure is enabled because the following options: | |
| 12:02:26.835 | - supports.doubleBitChangeEvents == true | |
| 12:02:26.835 | - timesync.binaryInputChangeWithRelativeTime == true | |
| 12:02:26.835 | step: 1 | |
| 12:02:26.835 | - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 | |
| 12:02:26.835 | - g2v0, All Objects | |
| 12:02:26.836 | --A-> | Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 |
| 12:02:26.836 | g2v0, All Objects | |
| 12:02:26.837 | --T-> | fir: 1 fin: 1 seq: 0 |
| 12:02:26.837 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1 |
| 12:02:26.838 | --P-> | 05 64 0B C4 00 04 01 00 CA 8A |
| 12:02:26.838 | C0 C1 01 02 00 06 95 76 | |
| 12:02:26.839 | steps: 2 to 3 | |
| 12:02:26.839 | - Read a single fragment response w/ sequence(0x01) | |
| 12:02:26.839 | - If the response is not Null, verify that the device requests an application layer confirmation. | |
| 12:02:26.839 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 12:02:26.839 | C0 C1 81 90 00 73 EE | |
| 12:02:26.840 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 12:02:26.840 | <-T-- | fir: 1 fin: 1 seq: 0 |
| 12:02:26.840 | <-A-- | Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(DeviceRestart, NeedTime) |
| 12:02:26.841 | step: 4 | |
| 12:02:26.841 | - Generate several Binary Input Change Events | |
| 12:02:26.841 | Updated BI 41: value=true, flags=81, timestamp=DNPTime(1586534546841) | |
| 12:02:26.842 | Updated BI 65535: value=true, flags=81, timestamp=DNPTime(1586534546841) | |
| 12:02:26.842 | Updated BI 41: value=false, flags=1, timestamp=DNPTime(1586534546842) | |
| 12:02:26.843 | step: 5 | |
| 12:02:26.843 | - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 | |
| 12:02:26.843 | - g2v3, 2-Byte Count, count: 1 | |
| 12:02:26.843 | --A-> | Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 |
| 12:02:26.843 | g2v3, 2-Byte Count, count: 1 | |
| 12:02:26.843 | --T-> | fir: 1 fin: 1 seq: 0 |
| 12:02:26.843 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1 |
| 12:02:26.843 | --P-> | 05 64 0D C4 00 04 01 00 13 E1 |
| 12:02:26.843 | C0 C2 01 02 03 08 01 00 1E 64 | |
| 12:02:26.846 | steps: 6 to 11 | |
| 12:02:26.846 | - Read a single fragment response w/ sequence(0x02) | |
| 12:02:26.846 | - Verify the device responds with the first Binary Input event | |
| 12:02:26.846 | - If the variation contains timestamps, verify that they are reasonable according to the resolution specified in the Device Profile | |
| 12:02:26.846 | - Verify that an application layer confirmation is requested. | |
| 12:02:26.846 | - Validate that a g51v1 or g51v2 precedes the g2v3 in each fragment of the response | |
| 12:02:26.846 | - Validation that only g51v1, g51v2 and g2v3 appears in the response | |
| 12:02:26.846 | - Verify that flag behavior complies with Section 2, Note #5. | |
| 12:02:26.847 | <-P-- | 05 64 1E 44 01 00 00 04 C8 BD |
| 12:02:26.847 | C1 E2 81 92 00 33 02 07 01 99 FD D3 64 71 01 02 5C 36 | |
| 12:02:26.847 | 03 28 01 00 29 00 81 00 00 88 44 | |
| 12:02:26.848 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 30 dest: 1 src: 1024 |
| 12:02:26.848 | <-T-- | fir: 1 fin: 1 seq: 1 |
| 12:02:26.849 | <-A-- | Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x02 IIN(DeviceRestart, NeedTime, Class1Events) |
| 12:02:26.849 | g51v2, 1-Byte Count, count: 1 | |
| 12:02:26.849 | time: 1586534546841 | |
| 12:02:26.849 | g2v3, 2-Byte Count and Index, count: 1 | |
| 12:02:26.849 | [41] - flags: 0x81 cto: 0 | |
| 12:02:26.850 | --A-> | Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x02 |
| 12:02:26.850 | --T-> | fir: 1 fin: 1 seq: 0 |
| 12:02:26.850 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1 |
| 12:02:26.851 | --P-> | 05 64 08 C4 00 04 01 00 9A 19 |
| 12:02:26.851 | C0 C2 00 D6 8D | |
| 12:02:26.852 | step: 12 | |
| 12:02:26.852 | - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 | |
| 12:02:26.852 | - g2v3, 2-Byte Count, count: 2 | |
| 12:02:26.853 | --A-> | Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 |
| 12:02:26.853 | g2v3, 2-Byte Count, count: 2 | |
| 12:02:26.853 | --T-> | fir: 1 fin: 1 seq: 0 |
| 12:02:26.853 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 13 dest: 1024 src: 1 |
| 12:02:26.854 | --P-> | 05 64 0D C4 00 04 01 00 13 E1 |
| 12:02:26.854 | C0 C3 01 02 03 08 02 00 D7 8B | |
| 12:02:26.856 | steps: 13 to 14 | |
| 12:02:26.856 | - Read a single fragment response w/ sequence(0x03) | |
| 12:02:26.856 | - Verify the device responds with the rest of Binary Input events | |
| 12:02:26.856 | - If the variation contains timestamps, verify that they are reasonable according to the resolution specified in the Device Profile | |
| 12:02:26.856 | - Verify that an application layer confirmation is requested. | |
| 12:02:26.856 | - Validate that a g51v1 or g51v2 precedes the g2v3 in each fragment of the response | |
| 12:02:26.856 | - Validation that only g51v1, g51v2 and g2v3 appears in the response | |
| 12:02:26.856 | - Verify that flag behavior complies with Section 2, Note #5. | |
| 12:02:26.857 | <-P-- | 05 64 23 44 01 00 00 04 DE 56 |
| 12:02:26.857 | C2 E3 81 90 00 33 02 07 01 99 FD D3 64 71 01 02 A6 30 | |
| 12:02:26.857 | 03 28 02 00 FF FF 81 00 00 29 00 01 01 00 34 23 | |
| 12:02:26.857 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 35 dest: 1 src: 1024 |
| 12:02:26.857 | <-T-- | fir: 1 fin: 1 seq: 2 |
| 12:02:26.859 | <-A-- | Response(0x81) fir: 1 fin: 1 con: 1 uns: 0 seq: 0x03 IIN(DeviceRestart, NeedTime) |
| 12:02:26.859 | g51v2, 1-Byte Count, count: 1 | |
| 12:02:26.859 | time: 1586534546841 | |
| 12:02:26.859 | g2v3, 2-Byte Count and Index, count: 2 | |
| 12:02:26.859 | [65535] - flags: 0x81 cto: 0 | |
| 12:02:26.859 | [41] - flags: 0x01 cto: 1 | |
| 12:02:26.859 | --A-> | Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x03 |
| 12:02:26.860 | --T-> | fir: 1 fin: 1 seq: 0 |
| 12:02:26.860 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1 |
| 12:02:26.860 | --P-> | 05 64 08 C4 00 04 01 00 9A 19 |
| 12:02:26.860 | C0 C3 00 98 26 | |
| 12:02:26.862 | step: 15 | |
| 12:02:26.862 | - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 | |
| 12:02:26.862 | - g2v0, All Objects | |
| 12:02:26.862 | --A-> | Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 |
| 12:02:26.862 | g2v0, All Objects | |
| 12:02:26.862 | --T-> | fir: 1 fin: 1 seq: 0 |
| 12:02:26.863 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1 |
| 12:02:26.863 | --P-> | 05 64 0B C4 00 04 01 00 CA 8A |
| 12:02:26.863 | C0 C4 01 02 00 06 8B D9 | |
| 12:02:26.864 | step: 16 | |
| 12:02:26.864 | - Read a single fragment response w/ sequence(0x04) | |
| 12:02:26.864 | - Verify that the response is empty | |
| 12:02:26.865 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 12:02:26.865 | C3 C4 81 90 00 BA 95 | |
| 12:02:26.865 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 12:02:26.865 | <-T-- | fir: 1 fin: 1 seq: 3 |
| 12:02:26.865 | <-A-- | Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x04 IIN(DeviceRestart, NeedTime) |
| 12:02:26.866 | Passed procedure: 8.22.2.14 |