public int CheckCircuit_ForNetwork(GenerateNetworkModel gnmodel) { int ret = 0; report.Dispatcher.Invoke(() => { report.Text += String.Format("开始检查程序{0:s}的线路{1:d}...\r\n", gnmodel.Name, gnmodel.ID); }); gnmodel.LGraph = gnmodel.LChart.Generate(); if (gnmodel.LGraph.checkOpenCircuit()) { report.Dispatcher.Invoke(() => { report.Text += String.Format("程序{0:s}的线路{1:d}发生断路错误!\r\n", gnmodel.Name, gnmodel.ID); }); ret++; } if (ret > 0) { return(ret); } _treeItemCC.Value = (_netnum_done + 0.333) / _netnum; if (gnmodel.LGraph.checkShortCircuit()) { report.Dispatcher.Invoke(() => { report.Text += String.Format("程序{0:s}的线路{1:d}发生短路错误!\r\n", gnmodel.Name, gnmodel.ID); }); ret++; } if (ret > 0) { return(ret); } _treeItemCC.Value = (_netnum_done + 0.666) / _netnum; if (gnmodel.LGraph.CheckFusionCircuit()) { report.Dispatcher.Invoke(() => { report.Text += String.Format("程序{0:s}的线路{1:d}发生混联错误!\r\n", gnmodel.Name, gnmodel.ID); }); ret++; } _treeItemCC.Value = (_netnum_done + 1.0) / _netnum; _netnum_done++; return(ret); }
public int GenerateBin_ForNetwork(List <InstHelper.PLCInstNetwork> nets, GenerateNetworkModel gnmodel) { int ret = 0; InstHelper.PLCInstNetwork net = new InstHelper.PLCInstNetwork( gnmodel.Name, gnmodel.PLCInsts.ToArray()); nets.Add(net); return(ret); }
public int GeneratePLCInsts_ForNetwork(GenerateNetworkModel gnmodel) { int ret = 0; report.Dispatcher.Invoke(() => { report.Text += String.Format("开始生成程序{0:s}的线路{1:d}的指令程序...\r\n", gnmodel.Name, gnmodel.ID); }); gnmodel.PLCInsts = gnmodel.LGraph.GenInst(); _netnum_done++; _treeItemGI.Value = _netnum_done / _netnum; 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); } }
public void CreateNetworkModel_FromNetworkModel(GenerateNetworkModel gnmodel, LadderNetworkViewModel lnvmodel) { _netnum++; gnmodel.LChart = GenerateHelper.CreateLadderChart(lnvmodel.GetAllLadderViewModels()); }