Beispiel #1
0
        void IGXDLMSBase.Load(GXXmlReader reader)
        {
            ImageBlockSize = (UInt32)reader.ReadElementContentAsInt("ImageBlockSize");
            ImageTransferredBlocksStatus        = reader.ReadElementContentAsString("ImageTransferredBlocksStatus");
            ImageFirstNotTransferredBlockNumber = reader.ReadElementContentAsLong("ImageFirstNotTransferredBlockNumber");
            ImageTransferEnabled = reader.ReadElementContentAsInt("ImageTransferEnabled") != 0;
            ImageTransferStatus  = (ImageTransferStatus)reader.ReadElementContentAsInt("ImageTransferStatus");


            List <GXDLMSImageActivateInfo> list = new List <GXDLMSImageActivateInfo>();

            if (reader.IsStartElement("ImageActivateInfo", true))
            {
                while (reader.IsStartElement("Item", true))
                {
                    GXDLMSImageActivateInfo it = new GXDLMSImageActivateInfo();
                    it.Size           = reader.ReadElementContentAsULong("Size");
                    it.Identification = GXCommon.HexToBytes(reader.ReadElementContentAsString("Identification"));
                    it.Signature      = GXCommon.HexToBytes(reader.ReadElementContentAsString("Signature"));
                    list.Add(it);
                }
                reader.ReadEndElement("ImageActivateInfo");
            }
            ImageActivateInfo = list.ToArray();
        }
Beispiel #2
0
 void IGXDLMSBase.Load(GXXmlReader reader)
 {
     TxDataPktCount  = (UInt32)reader.ReadElementContentAsLong("TxDataPktCount");
     RxDataPktCount  = (UInt32)reader.ReadElementContentAsLong("RxDataPktCount");
     TxCtrlPktCount  = (UInt32)reader.ReadElementContentAsLong("TxCtrlPktCount");
     RxCtrlPktCount  = (UInt32)reader.ReadElementContentAsLong("RxCtrlPktCount");
     CsmaFailCount   = (UInt32)reader.ReadElementContentAsLong("CsmaFailCount");
     CsmaChBusyCount = (UInt32)reader.ReadElementContentAsLong("CsmaChBusyCount");
 }
 void IGXDLMSBase.Load(GXXmlReader reader)
 {
     Buffer.Clear();
     if (reader.IsStartElement("Buffer", true))
     {
         while (reader.IsStartElement("Row", true))
         {
             List <object> row = new List <object>();
             while (reader.IsStartElement("Cell", false))
             {
                 row.Add(reader.ReadElementContentAsObject("Cell", null));
             }
             Buffer.Add(row.ToArray());
         }
         reader.ReadEndElement("Buffer");
     }
     CaptureObjects.Clear();
     if (reader.IsStartElement("CaptureObjects", true))
     {
         while (reader.IsStartElement("Item", true))
         {
             ObjectType          ot  = (ObjectType)reader.ReadElementContentAsInt("ObjectType");
             string              ln  = reader.ReadElementContentAsString("LN");
             int                 ai  = reader.ReadElementContentAsInt("Attribute");
             int                 di  = reader.ReadElementContentAsInt("Data");
             GXDLMSCaptureObject co  = new GXDLMSCaptureObject(ai, di);
             GXDLMSObject        obj = reader.Objects.FindByLN(ot, ln);
             if (obj == null)
             {
                 obj             = GXDLMSClient.CreateObject(ot);
                 obj.LogicalName = ln;
             }
             CaptureObjects.Add(new GXKeyValuePair <GXDLMSObject, GXDLMSCaptureObject>(obj, co));
         }
         reader.ReadEndElement("CaptureObjects");
     }
     CapturePeriod = reader.ReadElementContentAsInt("CapturePeriod");
     SortMethod    = (SortMethod)reader.ReadElementContentAsInt("SortMethod");
     if (reader.IsStartElement("SortObject", true))
     {
         CapturePeriod = reader.ReadElementContentAsInt("CapturePeriod");
         ObjectType ot = (ObjectType)reader.ReadElementContentAsInt("ObjectType");
         string     ln = reader.ReadElementContentAsString("LN");
         SortObject = reader.Objects.FindByLN(ot, ln);
         reader.ReadEndElement("SortObject");
     }
     EntriesInUse   = reader.ReadElementContentAsInt("EntriesInUse");
     ProfileEntries = (UInt32)reader.ReadElementContentAsLong("ProfileEntries");
 }