예제 #1
0
        public List <ControllerModel> GetControllersByProject(ProjectModel project)
        {
            List <ControllerModel> lstControllers = new List <ControllerModel>();
            StringBuilder          sbQuerySQL     = new StringBuilder("select 文件版本,控制器类型,协议版本,位置,系统设置.回路 from (文件配置 left join 位置信息  on 文件配置.文件版本<>位置信息.位置 ) left join  系统设置 on 文件配置.文件版本 <> 系统设置.回路;");

            System.Data.DataTable dt = _databaseService.GetDataTableBySQL(sbQuerySQL);
            if (dt.Rows.Count > 0) //在此版本中仅有一个控制器信息
            {
                string loopName             = dt.Rows[0]["回路"].ToString();
                Model.ControllerModel model = new Model.ControllerModel();
                model.ID          = 0;
                model.PrimaryFlag = true;
                //model.Type = (ControllerType)Enum.ToObject(typeof(ControllerType), Convert.ToInt32(dt.Rows[i]["TYPEID"]));
                //model.DeviceAddressLength = dt.Rows[i]["DEVICEADDRESSLENGTH"] is System.DBNull ? 0 : Convert.ToInt16(dt.Rows[i]["DEVICEADDRESSLENGTH"]);
                model.Name = dt.Rows[0]["控制器类型"].ToString();
                //model.PortName = dt.Rows[i]["PORTNAME"].ToString();
                //model.BaudRate = Convert.ToInt32(dt.Rows[i]["BAUDRATE"]);
                model.FileVersion       = Convert.ToInt32(dt.Rows[0]["文件版本"].ToString());
                model.ProtocolVersion   = dt.Rows[0]["协议版本"].ToString();
                model.Position          = dt.Rows[0]["位置"].ToString();
                model.ProjectID         = project.ID;
                model.Project           = project;
                model.LoopAddressLength = 2;
                model.Type = ControllerTypeConverter(dt.Rows[0]["控制器类型"].ToString());
                if (loopName != "" && loopName.Length > 2)
                {
                    model.MachineNumber = loopName.Substring(0, loopName.Length - 2);
                }
                lstControllers.Add(model);
            }
            return(lstControllers);
        }
예제 #2
0
        public bool  AddController(Model.ControllerModel controller)
        {
            int intEffectiveRows = 0;

            try
            {
                //StringBuilder sbControllerSQL = new StringBuilder("Replace into Controller(ID,PrimaryFlag,TypeID,DeviceAddressLength,Name,PortName,BaudRate,MachineNumber,Version,ProjectID) values(");
                //sbControllerSQL.Append(controller.ID + ",'");
                //sbControllerSQL.Append(controller.PrimaryFlag + "',");//+ "',0);");
                //sbControllerSQL.Append((int)controller.Type + ",");
                //sbControllerSQL.Append(controller.DeviceAddressLength + ",'");
                //sbControllerSQL.Append(controller.Name + "','");
                //sbControllerSQL.Append(controller.PortName + "',");
                //sbControllerSQL.Append(controller.BaudRate + ",'");
                //sbControllerSQL.Append(controller.MachineNumber + "',");
                //sbControllerSQL.Append(controller.Version + ",");
                //sbControllerSQL.Append(controller.Project.ID + ")");
                //intEffectiveRows = _databaseService.ExecuteBySql(sbControllerSQL);
                intEffectiveRows = _dbFileVersionService.AddController(controller);
            }
            catch
            {
                intEffectiveRows = 0;
            }

            if (intEffectiveRows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #3
0
        public List <Model.ControllerModel> GetControllersByProject(Model.ProjectModel project)
        {
            List <ControllerModel> lstControllers = new List <ControllerModel>();
            StringBuilder          sbQuerySQL     = new StringBuilder("select id,primaryflag,typeid,deviceaddresslength,name,portname,baudrate,machinenumber,version from controller where projectid=" + project.ID);

            System.Data.DataTable dt = _databaseService.GetDataTableBySQL(sbQuerySQL);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Model.ControllerModel model = new Model.ControllerModel();
                model.ID                  = Convert.ToInt16(dt.Rows[i]["id"]);
                model.PrimaryFlag         = (bool)dt.Rows[i]["PRIMARYFLAG"];
                model.Type                = (ControllerType)Enum.ToObject(typeof(ControllerType), Convert.ToInt32(dt.Rows[i]["TYPEID"]));
                model.DeviceAddressLength = dt.Rows[i]["DEVICEADDRESSLENGTH"] is System.DBNull ? 0 : Convert.ToInt16(dt.Rows[i]["DEVICEADDRESSLENGTH"]);
                model.Name                = dt.Rows[i]["Name"].ToString();
                model.PortName            = dt.Rows[i]["PORTNAME"].ToString();
                model.BaudRate            = Convert.ToInt32(dt.Rows[i]["BAUDRATE"]);
                model.MachineNumber       = dt.Rows[i]["MACHINENUMBER"].ToString();
                model.Version             = Convert.ToInt16(dt.Rows[i]["VERSION"]);
                model.ProjectID           = project.ID;
                model.Project             = project;

                model.LoopAddressLength = 2;
                lstControllers.Add(model);
            }
            return(lstControllers);
        }
        public List <LinkageConfigGeneral> GetGeneralLinkageConfigInfo(Model.ControllerModel controller)
        {
            List <LinkageConfigGeneral> lstData = new List <LinkageConfigGeneral>();
            StringBuilder sbQuerySQL            = new StringBuilder("select ID,Code,ActionCoefficient,BuildingNoA,ZoneNoA, LayerNoA1 , LayerNoA2 , DeviceTypeCodeA ,TypeC,MachineNoC ,LoopNoC,DeviceCodeC ,BuildingNoC,ZoneNoC, LayerNoC ,DeviceTypeCodeC ,controllerID from LinkageConfigGeneral where controllerID=" + controller.ID);

            System.Data.DataTable dt = _databaseService.GetDataTableBySQL(sbQuerySQL);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                LinkageConfigGeneral model = new LinkageConfigGeneral();
                model.ID   = Convert.ToInt32(dt.Rows[i]["id"]);
                model.Code = dt.Rows[i]["Code"].ToString();
                model.ActionCoefficient = Convert.ToInt32(dt.Rows[i]["ActionCoefficient"]);
                model.BuildingNoA       = new Nullable <int>(Convert.ToInt32(dt.Rows[i]["BuildingNoA"]));
                model.ZoneNoA           = new Nullable <int>(Convert.ToInt32(dt.Rows[i]["ZoneNoA"]));
                model.LayerNoA1         = new Nullable <int>(Convert.ToInt32(dt.Rows[i]["LayerNoA1"]));
                model.LayerNoA2         = new Nullable <int>(Convert.ToInt32(dt.Rows[i]["LayerNoA2"]));
                model.DeviceTypeCodeA   = Convert.ToInt16(dt.Rows[i]["DeviceTypeCodeA"]);
                model.TypeC             = (LinkageType)Enum.ToObject(typeof(LinkageType), Convert.ToInt16(dt.Rows[i]["TypeC"]));
                model.MachineNoC        = dt.Rows[i]["MachineNoC"].ToString();
                model.LoopNoC           = dt.Rows[i]["LoopNoC"].ToString();
                model.DeviceCodeC       = dt.Rows[i]["DeviceCodeC"].ToString();
                model.BuildingNoC       = new Nullable <int>(Convert.ToInt32(dt.Rows[i]["BuildingNoC"]));
                model.ZoneNoC           = new Nullable <int>(Convert.ToInt32(dt.Rows[i]["ZoneNoC"]));
                model.LayerNoC          = new Nullable <int>(Convert.ToInt32(dt.Rows[i]["LayerNoC"]));
                model.DeviceTypeCodeC   = Convert.ToInt16(dt.Rows[i]["DeviceTypeCodeC"]);
                model.Controller        = controller;
                model.ControllerID      = controller.ID;
                lstData.Add(model);
            }
            return(lstData);
        }
예제 #5
0
파일: CommandC8.cs 프로젝트: wpmyj/twilight
        public void Execute()
        {
            Model.ControllerModel tempModel = _controller.ControllerModel;
            //controllerTypeBase.ControllerType =
            //ComTestCP2.ProtocolDriver.AnalysisPackageGetControllerType(package,ref tempModel);
            _controller.ControllerType  = _controller.GetControllerType(ref tempModel);
            _controller.ControllerModel = tempModel;
//          _controller.ActionC8();
            //_controller.ControllerType=
            _controller.ReceivedB9ConfirmCommand = false;//收到C8命令,将B9的66命令状态初始化为false
            Console.WriteLine("Received C8 Command");
            //_controller.ActionCA();
            _controller.SendingCMD = "66";
            Console.WriteLine("Sending...");
            _controller.SerialManager.WriteData(_controller.AssemblePackage66());
        }
예제 #6
0
        public List <Model.LoopModel> GetLoopsByController(Model.ControllerModel controller)
        {
            List <LoopModel> lstLoops   = new List <LoopModel>();
            StringBuilder    sbQuerySQL = new StringBuilder("select ID,Code,Name,DeviceAmount from Loop where controllerID=" + controller.ID);

            System.Data.DataTable dt = _databaseService.GetDataTableBySQL(sbQuerySQL);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Model.LoopModel model = new Model.LoopModel();
                model.ID           = Convert.ToInt16(dt.Rows[i]["id"]);
                model.Code         = dt.Rows[i]["Code"].ToString();
                model.Name         = dt.Rows[i]["Name"].ToString();
                model.DeviceAmount = Convert.ToInt16(dt.Rows[i]["DeviceAmount"]);
                model.Controller   = controller;
                model.ControllerID = controller.ID;
                lstLoops.Add(model);
            }
            return(lstLoops);
        }
예제 #7
0
 public List <LinkageConfigMixed> GetMixedLinkageConfigInfo(Model.ControllerModel controller)
 {
     //List<LinkageConfigMixed> lstData = new List<LinkageConfigMixed>();
     //StringBuilder sbQuerySQL = new StringBuilder("select ID,Code, ActionCoefficient,ActionType, TypeA, LoopNoA, DeviceCodeA ,BuildingNoA,ZoneNoA , LayerNoA , DeviceTypeCodeA,TypeB,LoopNoB,DeviceCodeB,BuildingNoB ,ZoneNoB , LayerNoB , DeviceTypeCodeB  ,TypeC ,MachineNoC,LoopNoC ,DeviceCodeC ,BuildingNoC ,ZoneNoC , LayerNoC  ,DeviceTypeCodeC  ,controllerID from LinkageConfigMixed where controllerID=" + controller.ID);
     //System.Data.DataTable dt = _databaseService.GetDataTableBySQL(sbQuerySQL);
     //for (int i = 0; i < dt.Rows.Count; i++)
     //{
     //    LinkageConfigMixed model = new LinkageConfigMixed();
     //    model.ID = Convert.ToInt32(dt.Rows[i]["ID"]);
     //    model.Code = dt.Rows[i]["Code"].ToString();
     //    model.ActionCoefficient = Convert.ToInt32(dt.Rows[i]["ActionCoefficient"]);
     //    model.ActionType =  (LinkageActionType)Enum.ToObject(typeof(LinkageActionType),Convert.ToInt16(dt.Rows[i]["ActionType"]));
     //    model.TypeA = (LinkageType)Enum.ToObject(typeof(LinkageType),Convert.ToInt16(dt.Rows[i]["TypeA"]));
     //    model.LoopNoA = dt.Rows[i]["LoopNoA"].ToString();
     //    model.DeviceTypeCodeA = Convert.ToInt16(dt.Rows[i]["DeviceTypeCodeA"]);
     //    model.BuildingNoA = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["BuildingNoA"]));
     //    model.ZoneNoA = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["ZoneNoA"]));
     //    model.LayerNoA = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["LayerNoA"]));
     //    model.DeviceTypeCodeA = Convert.ToInt16(dt.Rows[i]["DeviceTypeCodeA"]);
     //    model.TypeB = (LinkageType)Enum.ToObject(typeof(LinkageType), Convert.ToInt16(dt.Rows[i]["TypeB"]));
     //    model.LoopNoB = dt.Rows[i]["LoopNoB"].ToString();
     //    model.DeviceCodeB = dt.Rows[i]["DeviceCodeB"].ToString();
     //    model.BuildingNoB = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["BuildingNoB"]));
     //    model.ZoneNoB = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["ZoneNoB"]));
     //    model.LayerNoB = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["LayerNoB"]));
     //    model.DeviceTypeCodeB = Convert.ToInt16(dt.Rows[i]["DeviceTypeCodeB"]);
     //    model.TypeC = (LinkageType)Enum.ToObject(typeof(LinkageType), Convert.ToInt16(dt.Rows[i]["TypeC"]));
     //    model.MachineNoC = dt.Rows[i]["MachineNoC"].ToString();
     //    model.LoopNoC = dt.Rows[i]["LoopNoC"].ToString();
     //    model.DeviceCodeC = dt.Rows[i]["DeviceCodeC"].ToString();
     //    model.BuildingNoC = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["BuildingNoC"]));
     //    model.ZoneNoC = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["ZoneNoC"]));
     //    model.LayerNoC = new Nullable<Int16>(Convert.ToInt16(dt.Rows[i]["LayerNoC"]));
     //    model.DeviceTypeCodeC = Convert.ToInt16(dt.Rows[i]["DeviceTypeCodeC"]);
     //    model.Controller = controller;
     //    model.ControllerID = controller.ID;
     //    lstData.Add(model);
     //}
     //return lstData;
     return(_dbFileVersionService.GetMixedLinkageConfig(controller));
 }
예제 #8
0
 protected override List <short?> GetAllBuildingNoWithController(Model.ControllerModel controller)
 {
     return(null);
 }
예제 #9
0
 public System.Collections.Generic.List <Model.LoopModel> CreateLoops(int loopsAmount, int deviceAmount, Model.ControllerModel controller)
 {
     throw new System.NotImplementedException();
 }
예제 #10
0
 public List <Model.DeviceType> GetAllDeviceTypeOfController(Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="package"></param>
 /// <param name="controllerModel">需要改变ControllerModel中的器件地址长度</param>
 /// <returns></returns>
 public ControllerType GetControllerType(byte[] package, ref Model.ControllerModel controllerModel)
 {
     return(base.GetControllerType(ref controllerModel));
 }
예제 #12
0
 public List <Model.LoopModel> CreateLoops(int loopsAmount, int deviceAmount, Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #13
0
 public List <Model.DeviceInfoForSimulator> GetSimulatorDevicesByDeviceCode(List <string> lstDeviceCode, Model.ControllerModel controller, List <Model.DeviceInfoForSimulator> lstAllDevicesOfOtherMachine)
 {
     throw new NotImplementedException();
 }
예제 #14
0
 public Model.ControllerModel GetController(Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #15
0
        public List <Model.LoopModel> CreateLoops <T>(int loopsAmount, int deviceAmount, Model.ControllerModel controller, IDeviceService <T> deviceService)
        {
            string strMachineNumber = controller.MachineNumber;
            ControllerOperationCommon controllerBase = new ControllerOperationCommon();
            int loopID = controllerBase.GetMaxLoopID();

            string strLoopLengthFormat = "#";

            for (int i = 0; i < controller.LoopAddressLength; i++)
            {
                strLoopLengthFormat += "0";
            }
            List <Model.LoopModel> lstLoopModel = new List <LoopModel>();

            for (int i = 0; i < loopsAmount; i++) //创建回路
            {
                LoopModel loop = new LoopModel();
                loop.Controller   = controller;
                loop.ID           = loopID++;
                loop.Code         = strMachineNumber + i.ToString(strLoopLengthFormat);
                loop.Name         = strMachineNumber + i.ToString(strLoopLengthFormat);
                loop.DeviceAmount = deviceAmount;
                loop.SetDevices <T>(deviceService.InitializeDevices(deviceAmount));
                lstLoopModel.Add(loop);
                loop.IsLoopDataDirty = true;
                //  SetDataDirty();
            }
            return(lstLoopModel);
        }
예제 #16
0
 protected override List <Model.DeviceType> GetConfiguredDeviceTypeWithController(Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #17
0
 public List <Model.DeviceInfoForSimulator> GetSimulatorDevices(Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #18
0
 public int UpdateController(Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #19
0
 public bool CreateController(Model.ControllerModel model)
 {
     throw new NotImplementedException();
 }
예제 #20
0
 protected override List <Model.LoopModel> ConvertToLoopModelFromDataTable(DataTable dt, Model.ControllerModel controller, out string loopDetailErrorInfo)
 {
     throw new NotImplementedException();
 }
예제 #21
0
 public bool AddControllerToProject(Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #22
0
 public override Dictionary <string, int> GetAmountOfDifferentDeviceType(Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #23
0
 public Model.ControllerModel OrganizeControllerInfoFromSpecifiedDBFileVersion(IDBFileVersionService dbFileVersionService, Model.ControllerModel controller)
 {
     throw new NotImplementedException();
 }
예제 #24
0
 public List <Model.LinkageConfigStandard> GetStandardLinkageConfigInfoByController(Model.ControllerModel controller)
 {
     //List<LinkageConfigStandard> lstData = new List<LinkageConfigStandard>();
     //StringBuilder sbQuerySQL = new StringBuilder("select ID,Code,DeviceNo1,DeviceNo2 , DeviceNo3 , DeviceNo4, DeviceNo5,DeviceNo6,DeviceNo7,DeviceNo8,DeviceNo9,DeviceNo10, ActionCoefficient , LinkageNo1 ,LinkageNo2 ,LinkageNo3,controllerID from LinkageConfigStandard where controllerID=" + controller.ID);
     //System.Data.DataTable dt = _databaseService.GetDataTableBySQL(sbQuerySQL);
     //for (int i = 0; i < dt.Rows.Count; i++)
     //{
     //    LinkageConfigStandard model = new LinkageConfigStandard();
     //    model.ID = Convert.ToInt32(dt.Rows[i]["id"]);
     //    model.Code = dt.Rows[i]["Code"].ToString();
     //    model.DeviceNo1 = dt.Rows[i]["DeviceNo1"].ToString();
     //    model.DeviceNo2 = dt.Rows[i]["DeviceNo2"].ToString();
     //    model.DeviceNo3 = dt.Rows[i]["DeviceNo3"].ToString();
     //    model.DeviceNo4 = dt.Rows[i]["DeviceNo4"].ToString();
     //    model.DeviceNo5 = dt.Rows[i]["DeviceNo5"].ToString();
     //    model.DeviceNo6 = dt.Rows[i]["DeviceNo6"].ToString();
     //    model.DeviceNo7 = dt.Rows[i]["DeviceNo7"].ToString();
     //    model.DeviceNo8 = dt.Rows[i]["DeviceNo8"].ToString();
     //    model.DeviceNo9 = dt.Rows[i]["DeviceNo9"].ToString();
     //    model.DeviceNo10 = dt.Rows[i]["DeviceNo10"].ToString();
     //    model.ActionCoefficient = Convert.ToInt32(dt.Rows[i]["ActionCoefficient"]);
     //    model.LinkageNo1 = dt.Rows[i]["LinkageNo1"].ToString();
     //    model.LinkageNo2 = dt.Rows[i]["LinkageNo2"].ToString();
     //    model.LinkageNo3 = dt.Rows[i]["LinkageNo3"].ToString();
     //    model.Controller = controller;
     //    model.ControllerID = controller.ID;
     //    lstData.Add(model);
     //}
     //return lstData;
     return(_dbFileVersionService.GetStandardLinkageConfig(controller));
 }