配置参数下载和解析的开发-未完成

This commit is contained in:
2025-02-24 11:21:23 +08:00
parent c22a8cc98f
commit d2ef6f9961
25 changed files with 2273 additions and 189 deletions

View File

@@ -23,7 +23,7 @@ namespace CapMachine.Wpf.ViewModels
public class ProConfigViewModel : NavigationViewModel
{
public ProConfigViewModel(IDialogService dialogService, IFreeSql freeSql,
IEventAggregator eventAggregator, IRegionManager regionManager, SysRunService sysRunService, ConfigService configService,
IEventAggregator eventAggregator, IRegionManager regionManager, SysRunService sysRunService, ConfigService configService, ProRuntimeService proRuntimeService,
MachineRtDataService machineRtDataService)
{
//LogService = logService;
@@ -32,6 +32,7 @@ namespace CapMachine.Wpf.ViewModels
RegionManager = regionManager;
SysRunService = sysRunService;
ConfigService = configService;
ProRuntimeService = proRuntimeService;
this.MachineRtDataService = machineRtDataService;
//MachineDataService = machineDataService;
@@ -83,6 +84,7 @@ namespace CapMachine.Wpf.ViewModels
public IRegionManager RegionManager { get; }
public SysRunService SysRunService { get; }
public ConfigService ConfigService { get; }
public ProRuntimeService ProRuntimeService { get; }
private MachineRtDataService MachineRtDataService { get; }
/// <summary>
@@ -2327,48 +2329,50 @@ namespace CapMachine.Wpf.ViewModels
//返回的数据
List<PlcParsData> ReturnPlcParsData = new List<PlcParsData>();
//var Data=FreeSql.Select<ProSegRun>(
//以每个程序为单元循环执行
foreach (var item in ProSegRunListViewItems)
{
var FindData = FreeSql.Select<ProgramSeg>(item.ProgramSegId)
.IncludeMany(a => a.ProSteps,
then => then.IncludeMany(b => b.MeterSpeeds)
.IncludeMany(b => b.MeterCond1Temps)
.IncludeMany(b => b.MeterCond2Temps)
.IncludeMany(b => b.MeterCond2Presss)
.IncludeMany(b => b.MeterEVAPExpTemps)
.IncludeMany(b => b.MeterExPresss)
.IncludeMany(b => b.MeterHVVols)
.IncludeMany(b => b.MeterInhPresss)
.IncludeMany(b => b.MeterInhTemps)
.IncludeMany(b => b.MeterLubePresss)
.IncludeMany(b => b.MeterLVVols)
.IncludeMany(b => b.MeterOCRs)
.IncludeMany(b => b.MeterOS1Temps)
.IncludeMany(b => b.MeterOS2Temps)
.IncludeMany(b => b.MeterPTCEntTemps)
.IncludeMany(b => b.MeterPTCFlows)
.IncludeMany(b => b.MeterPTCPws)
.IncludeMany(b => b.MeterEnvRHs)
.IncludeMany(b => b.MeterEnvTemps)
).ToList().FirstOrDefault();
ProRuntimeService.LoadProSegRun(ProSegRunListViewItems.ToList());
if (FindData != null && FindData.ProSteps != null && FindData.ProSteps.Any())
{
//执行程序的步骤集合数据
ReturnPlcParsData = ProParsSongZhiHelper.GetPlcParsData(FindData.ProSteps, FindData.ProRepeat);
//把次数给PLC那么此时应该是最后一个程序给PLC了
ProParsSongZhiHelper.LoadProCycleToPlc(MachineRtDataService.SiemensDrive, FindData.ProRepeat);
}
}
////var Data=FreeSql.Select<ProSegRun>(
////以每个程序为单元循环执行
//foreach (var item in ProSegRunListViewItems)
//{
// var FindData = FreeSql.Select<ProgramSeg>(item.ProgramSegId)
// .IncludeMany(a => a.ProSteps,
// then => then.IncludeMany(b => b.MeterSpeeds)
// .IncludeMany(b => b.MeterCond1Temps)
// .IncludeMany(b => b.MeterCond2Temps)
// .IncludeMany(b => b.MeterCond2Presss)
// .IncludeMany(b => b.MeterEVAPExpTemps)
// .IncludeMany(b => b.MeterExPresss)
// .IncludeMany(b => b.MeterHVVols)
// .IncludeMany(b => b.MeterInhPresss)
// .IncludeMany(b => b.MeterInhTemps)
// .IncludeMany(b => b.MeterLubePresss)
// .IncludeMany(b => b.MeterLVVols)
// .IncludeMany(b => b.MeterOCRs)
// .IncludeMany(b => b.MeterOS1Temps)
// .IncludeMany(b => b.MeterOS2Temps)
// .IncludeMany(b => b.MeterPTCEntTemps)
// .IncludeMany(b => b.MeterPTCFlows)
// .IncludeMany(b => b.MeterPTCPws)
// .IncludeMany(b => b.MeterEnvRHs)
// .IncludeMany(b => b.MeterEnvTemps)
// ).ToList().FirstOrDefault();
//防止上一次下载的程序多余当前的步骤,为了清空多余的步骤数据,增加一行的数据
ReturnPlcParsData = ProParsSongZhiHelper.AddNullData(ReturnPlcParsData);
//装载PLC地址
ReturnPlcParsData = ProParsSongZhiHelper.LoadPlcCellAddress(ReturnPlcParsData);
// if (FindData != null && FindData.ProSteps != null && FindData.ProSteps.Any())
// {
// //执行程序的步骤集合数据
// ReturnPlcParsData = ProParsSongZhiHelper.GetPlcParsData(FindData.ProSteps, FindData.ProRepeat);
// //把次数给PLC那么此时应该是最后一个程序给PLC了
// ProParsSongZhiHelper.LoadProCycleToPlc(MachineRtDataService.SiemensDrive, FindData.ProRepeat);
// }
//}
ProParsSongZhiHelper.LoadDataToPLC(MachineRtDataService.SiemensDrive, ReturnPlcParsData);
////防止上一次下载的程序多余当前的步骤,为了清空多余的步骤数据,增加一行的数据
//ReturnPlcParsData = ProParsSongZhiHelper.AddNullData(ReturnPlcParsData);
////装载PLC地址
//ReturnPlcParsData = ProParsSongZhiHelper.LoadPlcCellAddress(ReturnPlcParsData);
//ProParsSongZhiHelper.LoadDataToPLC(MachineRtDataService.SiemensDrive, ReturnPlcParsData);
//下载完成的话,则标记状态
SysRunService.MachineRunState1.IsProLoad = true;