/// <summary>
        /// 创建VOBC设备工厂
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        private VOBCDevice CreateVOBCDevice(string type)
        {
            //创建VOBC服务实例
            VOBCDevice device = null;

            //依据数据的设备类型 返回不同的实体对象
            switch (type)
            {
            case "CCOV":
                device = new VOBCCCOVDevice(this);
                break;

            case "COM":
                device = new VOBCCOMDevice(this);
                break;

            case "ATP":
                device = new VOBCATPDevice(this);
                break;

            case "ATO":
                device = new VOBCATODevice(this);
                break;

            case "MMI":
                device = new VOBCMMIDevice(this);
                break;

            default:
                device = new VOBCDevice(this);
                break;
            }

            return(device);
        }
 /// <summary>
 /// VOBC产品的数据加载
 /// </summary>
 /// <param name="xmlNode"></param>
 public override void LoadXml(XmlNode xmlNode)
 {
     m_productID    = xmlNode.Attributes[CShareLib.XML_PRODUCTID].InnerText;
     m_productName  = xmlNode.Attributes[CShareLib.XML_PRODUCTNAME].InnerText;
     m_productState = xmlNode.Attributes[CShareLib.XML_PRODUCT_STATE].InnerText;
     m_ip           = xmlNode.Attributes[CShareLib.XML_PRODUCT_IP].InnerText;
     m_port         = xmlNode.Attributes[CShareLib.XML_PRODUCT_PORT].InnerText;
     m_cProductLine = CDeviceDataFactory.Instance.ProjectConsole.ProductLine;
     ///遍历所有子节点,加载所属子子系统的数据
     foreach (XmlNode node in xmlNode.ChildNodes)
     {
         string     type   = node.Attributes[CShareLib.XML_DEVICE_TYPE].InnerText;
         VOBCDevice device = CreateVOBCDevice(type);
         if (device != null)
         {
             device.LoadXml(node);
             m_cBelongsDevice.Add(device);
             LogManager.InfoLog.LogConfigurationInfo("线路数据", "VOBC产品设备数据", "完成加载VOBC" + this.ProductID + "的子子系统:" + device.DeviceName + "数据");
         }
         else
         {
             LogManager.InfoLog.LogCommunicationError("MainWindow", "ProductReport", "非法设备类型" + type);
         }
     }
 }