Пример #1
0
 /// <summary>
 /// 添加消息到队列
 /// </summary>
 /// <param name="device">消息-设备</param>
 /// <param name="action">消息-动作</param>
 /// <param name="data">消息-数据</param>
 public static void PushMsg(string device, string action, byte[] data)
 {
     lock (obj)
     {
         if (!OnOff || (MsgQueue.Count >= 1024))
         {
             return;
         }
         if (HexMode)
         {
             MsgQueue.Enqueue(new LogMsg(device, action, HexString.Bytes2HexString(data)));
         }
         else
         {
             MsgQueue.Enqueue(new LogMsg(device, action, HexString.Bytes2AsciiString(data)));
         }
     }
 }
Пример #2
0
 /// <summary>
 /// 导出设备配置到xml文件
 /// </summary>
 /// <param name="filename">文件名</param>
 public void ExportToXml(string filename)
 {
     lock (obj)
     {
         XmlTextWriter xmlWriter;
         xmlWriter            = new XmlTextWriter(filename, Encoding.Default);
         xmlWriter.Formatting = Formatting.Indented;
         xmlWriter.WriteStartDocument();
         xmlWriter.WriteStartElement("Root");
         //寄存器数据
         xmlWriter.WriteStartElement("Regs");
         foreach (ModbusData reg in mDataRegs.Values)
         {
             xmlWriter.WriteStartElement("Reg");
             xmlWriter.WriteAttributeString("Name", reg.Name);
             xmlWriter.WriteAttributeString("Address", reg.Addr.ToString());
             xmlWriter.WriteAttributeString("Value", reg.Value.ToString());
             xmlWriter.WriteAttributeString("Mode", reg.Umode.ToString());
             xmlWriter.WriteAttributeString("LLimit", reg.LLimit.ToString());
             xmlWriter.WriteAttributeString("HLimit", reg.HLimit.ToString());
             xmlWriter.WriteAttributeString("Step", reg.Step.ToString());
             xmlWriter.WriteEndElement();
         }
         xmlWriter.WriteEndElement();
         //文件数据
         xmlWriter.WriteStartElement("Files");
         foreach (FileData file in mFiles.Values)
         {
             xmlWriter.WriteStartElement("File");
             xmlWriter.WriteAttributeString("Type", file.Type.ToString());
             xmlWriter.WriteString(HexString.Bytes2HexString(file.Data));
             xmlWriter.WriteEndElement();
         }
         xmlWriter.WriteEndElement();
         //结尾
         xmlWriter.WriteEndElement();
         xmlWriter.Close();
     }
 }