Exemplo n.º 1
0
        //开始加载
        private static bool LoadData()
        {
            if (wrapper != null)
            {
                //必须先清理
            }
            //根据配置文件 初始化设备对象
            try
            {
                FileStream txt = File.Open("Device.xml", FileMode.OpenOrCreate);
                System.Xml.Serialization.XmlSerializer serial = new System.Xml.Serialization.XmlSerializer(typeof(Model_Data.DeviceModel));
                dm = (Model_Data.DeviceModel)serial.Deserialize(txt);
            }
            catch (Exception)
            {
            }
            if (dm == null)
            {
                return(false);
            }

            wrapper = PortSetting(dm);
            if (wrapper == null)
            {
                return(false);
            }
            wrapper.CreatCommand();
            return(true);
        }
Exemplo n.º 2
0
        //加载端口
        private static WrapperBll PortSetting(Model_Data.DeviceModel obj)
        {
            WrapperBll PS = new WrapperBll();

            PS.Port = obj.Port;
            switch (obj.Port.PortType)
            {
            case Protocol.Modbus_SerialPort:
                PS.PortBll = AllPortBll.CreateInstance(Protocol.Modbus_SerialPort);
                PS.PortBll.SetParaMeter(CreatCommSerialEntity(obj));
                break;

            case Protocol.Modbus_TCPIPPort:
                PS.PortBll = AllPortBll.CreateInstance(Protocol.Modbus_TCPIPPort);
                PS.PortBll.SetParaMeter(CreatCommTCPEntity(obj));
                break;

            case Protocol.Modbus_USBPort:
                PS.PortBll = AllPortBll.CreateInstance(Protocol.Modbus_USBPort);
                break;

            default:
                return(null);
            }
            //Device
            DeviceBll deviceBLL = new DeviceBll();

            deviceBLL.Device.DeviceName                 = obj.DeviceName;
            deviceBLL.Device.UnitId                     = obj.UnitId;
            deviceBLL.Device.write2DBInterval           = obj.WriteDBTime;
            deviceBLL.Device.AnalogSignalValueTableName = obj.TableName;
            deviceBLL.Device.UIpath                     = obj.UIPath;
            //
            foreach (AnalogModel AnalogRow in obj.Analog)
            {
                AnalogBll analogSignalBLL = new AnalogBll();
                analogSignalBLL.AnalogInfo = AnalogRow;
                deviceBLL.AnalogList.Add(analogSignalBLL);
            }
            //
            foreach (DigitalModel DigitalRow in obj.Digital)
            {
                DigitalBll digitalSignalBLL = new DigitalBll();
                digitalSignalBLL.DigitalInfo = DigitalRow;
                deviceBLL.DigitalList.Add(digitalSignalBLL);
            }
            deviceBLL.SetSignalAlarmDelegate();
            if (deviceBLL != null)
            {
                PS.DeviceList.Add(deviceBLL);
            }
            PS.SetDeviceDelegate();
            return(PS);
        }
Exemplo n.º 3
0
        //开始加载
        private static bool LoadData()
        {
            if (wrapper != null)
            {
                //必须先清理----程序正常流程不会发生这种情况
            }
            //根据配置文件 初始化设备对象
            try
            {
                string fileName = string.Empty;
                string culture  = ConfigurationManager.AppSettings["Culture"];
                if (string.IsNullOrEmpty(culture))
                {
                    culture = "EN";
                }
                fileName = System.Windows.Forms.Application.StartupPath + "\\" + string.Format("Device{0}.xml", culture);
                FileStream txt = File.Open(fileName, FileMode.Open);
                System.Xml.Serialization.XmlSerializer serial = new System.Xml.Serialization.XmlSerializer(typeof(Model_Data.DeviceModel));
                dm = (Model_Data.DeviceModel)serial.Deserialize(txt);
                txt.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            if (dm == null)
            {
                return(false);
            }

            wrapper = PortSetting(dm);
            if (wrapper == null)
            {
                return(false);
            }
            wrapper.CreatCommand();
            return(true);
        }