//创建用于通讯的tcp信息实例 private static CommTCPEntity CreatCommTCPEntity(Model_Data.DeviceModel obj) { CommTCPEntity TCPE = new CommTCPEntity(); TCPE.IP = obj.Port.TCP.IP; TCPE.Port = obj.Port.TCP.Port; TCPE.WriteOverTime = obj.Port.WriteOverTime; TCPE.ReadOverTime = obj.Port.ReadOverTime; return(TCPE); }
//加载端口 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); }
//创建用于通讯的串口信息实例 private static CommSerialEntity CreatCommSerialEntity(Model_Data.DeviceModel obj) { CommSerialEntity Serpara = new CommSerialEntity(); Serpara.PortName = obj.Port.Serial.PortName; Serpara.BaudRate = obj.Port.Serial.BaudRate; Serpara.DataBit = obj.Port.Serial.DataBit; Serpara.Parity = obj.Port.Serial.Parity; Serpara.StopBit = obj.Port.Serial.StopBit; Serpara.RecoveryWaitTime = obj.Port.Serial.RecoveryWaitTime; Serpara.WriteOverTime = obj.Port.WriteOverTime; Serpara.ReadOverTime = obj.Port.ReadOverTime; return(Serpara); }