コード例 #1
0
        public void arrayTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(11, new Obis("0.0.11.0.0.255"), 2); //set Holidays

            HelperTest.connect(serial, hdlc, dlms, data);
            data.setRequestData(new byte[] { 0x01, 0x02, 0x02, 0x03, 0x12, 0x00, 0x01, 0x09, 0x05, 0x07, 0xE2, 0x02, 0x0D, 0xFE, 0x11,
                                             0x02, 0x02, 0x03, 0x12, 0x00, 0x02, 0x09, 0x05, 0xFF, 0xFF, 0x01, 0x01, 0xFF, 0x11, 0x02 });
            HelperTest.disconnect(serial, dlms);
            serial.close();

            Thread.Sleep(4000);

            data = new LnDescriptor(11, new Obis("0.0.11.0.0.255"), 2); //get Holidays
            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 0x01, 0x02, 0x02, 0x03, 0x12, 0x00, 0x01, 0x09, 0x05, 0x07, 0xE2, 0x02, 0x0D, 0xFE, 0x11,
                                0x02, 0x02, 0x03, 0x12, 0x00, 0x02, 0x09, 0x05, 0xFF, 0xFF, 0x01, 0x01, 0xFF, 0x11, 0x02 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }
コード例 #2
0
        public void bcdTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(3, new Obis("1.0.1.2.0.255"), 2); //Active accumulated MD (+)

            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 0x0D, 0x04, 0x00, 0x01, 0x02, 0x08 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);

            data = new LnDescriptor(3, new Obis("1.0.1.14.0.255"), 2); //Active MD (+)
            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            actual   = data.getResponseData();
            expected = new byte[] { 0x0D, 0x03, 0x00, 0x00, 0x00 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }
コード例 #3
0
        public void boolTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(70, new Obis("0.0.96.3.10.255"), 2); //Get Relay Status

            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 03, 01 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);

            data = new LnDescriptor(18, new Obis("0.0.44.0.0.255"), 5); // image_transfer_enabled
            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            actual   = data.getResponseData();
            expected = new byte[] { 03, 01 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }
コード例 #4
0
        public void visibleStringTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(1, new Obis("0.1.96.1.146.255"), 2); //Brazil firmware version number

            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 0x0A, 0x06, 0x31, 0x37, 0x31, 0x31, 0x31, 0x34 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);

            data = new LnDescriptor(1, new Obis("0.0.96.1.0.255"), 2); //Meter address for communication
            HelperTest.connect(serial, hdlc, dlms, data);
            data.setRequestData(new byte[] { 0x0A, 0x0A, 0x36, 0x30, 0x30, 0x39, 0x32, 0x39, 0x30, 0x39, 0x35, 0x38 });
            dlms.set(serial, data);
            data.getRequestData();
            dlms.get(serial, data);
            actual   = data.getResponseData();
            expected = new byte[] { 0x0A, 0x0A, 0x36, 0x30, 0x30, 0x39, 0x32, 0x39, 0x30, 0x39, 0x35, 0x38 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }
コード例 #5
0
        public void doubleLongTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(1, new Obis("1.0.31.128.49.255"), 2); //Read Configure clock correction factor

            HelperTest.connect(serial, hdlc, dlms, data);
            data.setRequestData(new byte[] { 0x05, 0x00, 0x00, 0x00, 0x00 });
            dlms.set(serial, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 05, 00, 00, 00, 00 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }
コード例 #6
0
        public void longUnsignedTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(3, new Obis("1.0.0.3.139.255"), 2); //set Auxiliary LED second pulse cycle

            HelperTest.connect(serial, hdlc, dlms, data);
            data.setRequestData(new byte[] { 0x12, 0x00, 0x00 });
            dlms.set(serial, data);
            HelperTest.disconnect(serial, dlms);

            data = new LnDescriptor(3, new Obis("1.0.0.3.139.255"), 2); //get Auxiliary LED second pulse cycle
            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 0x12, 0x00, 0x00 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }
コード例 #7
0
        public void unsignedTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(3, new Obis("1.0.0.9.11.255"), 2); //set Clock Set the maximum offset

            HelperTest.connect(serial, hdlc, dlms, data);
            data.setRequestData(new byte[] { 0x11, 0x1F });
            dlms.set(serial, data);
            HelperTest.disconnect(serial, dlms);

            data = new LnDescriptor(3, new Obis("1.0.0.9.11.255"), 2); //get Clock Set the maximum offset
            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 0x11, 0x1F };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }
コード例 #8
0
        public void doubleLongUnsignedTest()
        {
            SerialPhyLayer serial = new SerialPhyLayer();
            HdlcLinkLayer  hdlc   = new HdlcLinkLayer();
            DlmsClient     dlms   = new DlmsClient(hdlc);
            LnDescriptor   data   = new LnDescriptor(1, new Obis("1.0.1.8.0.255"), 2); //set Active energy import register

            HelperTest.connect(serial, hdlc, dlms, data);
            data.setRequestData(new byte[] { 0x06, 0x00, 0x01, 0xC1, 0x95 });
            dlms.set(serial, data);
            HelperTest.disconnect(serial, dlms);

            data = new LnDescriptor(3, new Obis("1.0.1.8.0.255"), 2); //get Active energy import register
            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            var actual = data.getResponseData();

            byte[] expected = { 0x06, 0x00, 0x01, 0xC1, 0x95 };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);

            data = new LnDescriptor(1, new Obis("1.0.1.8.0.255"), 2); //set Active energy import register
            HelperTest.connect(serial, hdlc, dlms, data);
            data.setRequestData(new byte[] { 0x06, 0x00, 0x01, 0xC1, 0xFF });
            dlms.set(serial, data);
            HelperTest.disconnect(serial, dlms);

            data = new LnDescriptor(3, new Obis("1.0.1.8.0.255"), 2); //get Active energy import register
            HelperTest.connect(serial, hdlc, dlms, data);
            data.getRequestData();
            dlms.get(serial, data);
            actual   = data.getResponseData();
            expected = new byte[] { 0x06, 0x00, 0x01, 0xC1, 0xFF };
            HelperTest.disconnect(serial, dlms);
            CollectionAssert.AreEqual(expected, actual);
        }