public void CreateViewModel_FromProjectModel(ProjectModel pmodel) { _projectModel = pmodel; Name = pmodel.ProjectName; _generateViewModel = new GenerateViewModel(); _generateViewModel.MRModel = new GenerateRoutineModel(); _generateViewModel.SRModels = new List <GenerateRoutineModel>(); _generateViewModel.FBModel = new GenerateFuncBlockModel(); _netnum = 0; CreateRoutineModel_FromDiagramModel(_generateViewModel.MRModel, pmodel.MainRoutine); foreach (LadderDiagramViewModel submodel in pmodel.SubRoutines) { GenerateRoutineModel grmodel = new GenerateRoutineModel(); CreateRoutineModel_FromDiagramModel(grmodel, submodel); _generateViewModel.SRModels.Add(grmodel); } foreach (FuncBlockViewModel fbvmodel in pmodel.FuncBlocks) { CreateFuncBlockModel(fbvmodel); } }
public int GenerateBin_ForRoutine(List <InstHelper.PLCInstNetwork> nets, GenerateRoutineModel grmodel) { int ret = 0; foreach (GenerateNetworkModel gnmodel in grmodel.NetworkModels) { ret += GenerateBin_ForNetwork(nets, gnmodel); } return(ret); }
public int CheckCircuit_ForRoutine(GenerateRoutineModel grmodel) { int ret = 0; report.Dispatcher.Invoke(() => { report.Text += String.Format("开始检查程序{0:s}...\r\n", grmodel.Name); }); foreach (GenerateNetworkModel gnmodel in grmodel.NetworkModels) { ret += CheckCircuit_ForNetwork(gnmodel); } return(ret); }
public int GeneratePLCInsts_ForRoutine(GenerateRoutineModel grmodel) { int ret = 0; report.Dispatcher.Invoke(() => { report.Text += String.Format("开始生成程序{0:s}的指令程序...\r\n", grmodel.Name); }); foreach (GenerateNetworkModel gnmodel in grmodel.NetworkModels) { ret += GeneratePLCInsts_ForNetwork(gnmodel); } return(ret); }
public void CreateRoutineModel_FromDiagramModel(GenerateRoutineModel grmodel, LadderDiagramViewModel ldvmodel) { ldvmodel.Dispatcher.Invoke(() => { grmodel.Name = ldvmodel.Name; }); grmodel.NetworkModels = new LinkedList <GenerateNetworkModel>(); foreach (LadderNetworkViewModel lnvmodel in ldvmodel.GetNetworks()) { GenerateNetworkModel gnmodel = new GenerateNetworkModel(); gnmodel.ID = grmodel.NetworkModels.Count() + 1; gnmodel.Name = "NETWORK" + gnmodel.ID; CreateNetworkModel_FromNetworkModel(gnmodel, lnvmodel); grmodel.NetworkModels.AddLast(gnmodel); } }