Exemplo n.º 1
0
        //创建用于通讯的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);
        }
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 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);
        }