补全其他参数的下载参数

运行 停止  暂停的防呆操作
This commit is contained in:
2025-03-01 11:26:35 +08:00
parent a2c69f24f2
commit 1caa2fdd9f
16 changed files with 3318 additions and 260 deletions

View File

@@ -27,7 +27,8 @@ namespace CapMachine.Wpf.ViewModels
/// <param name="machineRtDataService"></param>
/// <param name="dialogService"></param>
public MonitorViewModel(ConfigService configService, IEventAggregator eventAggregator,
DataRecordService dataRecordService, SysRunService sysRunService, AlarmService alarmService, PPCService pPCService,CanDriveService canDriveService,LinDriveService linDriveService,
DataRecordService dataRecordService, SysRunService sysRunService, AlarmService alarmService, PPCService pPCService, CanDriveService canDriveService, LinDriveService linDriveService,
ProRuntimeService proRuntimeService,
MachineRtDataService machineRtDataService, IDialogService dialogService)
{
ConfigService = configService;
@@ -39,10 +40,12 @@ namespace CapMachine.Wpf.ViewModels
PPCService = pPCService;
CanDriveService = canDriveService;
LinDriveService = linDriveService;
ProRuntimeService = proRuntimeService;
MachineRtDataService = machineRtDataService;
DialogService = dialogService;
TagManager = MachineRtDataService.TagManger;
_EventAggregator.GetEvent<ChartRtEvent>().Subscribe(GetChartRtEvent);
_EventAggregator.GetEvent<ProRunEvent>().Subscribe(GetProRunEvent);
//赋值实例化
ListHandSwitchData = MachineRtDataService.ListHandSwitchData;
@@ -76,6 +79,7 @@ namespace CapMachine.Wpf.ViewModels
public PPCService PPCService { get; }
public CanDriveService CanDriveService { get; }
public LinDriveService LinDriveService { get; }
public ProRuntimeService ProRuntimeService { get; }
public MachineRtDataService MachineRtDataService { get; }
public IDialogService DialogService { get; }
public List<ChartRtValue> ListChartRtValue { get; set; } = new List<ChartRtValue>()
@@ -214,6 +218,11 @@ namespace CapMachine.Wpf.ViewModels
return _OperCmd;
}
}
/// <summary>
/// 操作指令执行方法
/// </summary>
@@ -223,59 +232,77 @@ namespace CapMachine.Wpf.ViewModels
switch (Par)
{
case "开始":
MachineRtDataService.SysStart();
this.SysRunServer.MachineRunState1.FireStart();
DataRecordService.StartRecord();
break;
case "结束":
MachineRtDataService.SysEnd();
this.SysRunServer.MachineRunState1.FireEnd();
DataRecordService.EndRecord();
//结束运行的时候需要将压缩机的速度值设置为0
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
//状态机运行 用状态机的状态判断逻辑
if (this.SysRunServer.MachineRunState1.FireStart())
{
case CanLinEnum.Can:
//获取PLC的SV数据 更新SV的速度值到压缩机
CanDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//获取PLC的SV数据 更新SV的速度值到压缩机
LinDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
//程序步骤执行开始运行
ProRuntimeService.StartProRun();
//运行 一些PLC的状态写入
MachineRtDataService.SysStart();
//开始记录数据
DataRecordService.StartRecord();
}
break;
case "结束":
//状态机结束 用状态机的状态判断逻辑
if (this.SysRunServer.MachineRunState1.FireEnd())
{
//程序步骤执行结束运行
ProRuntimeService.EndProRun();
//结束 一些PLC的状态写入
MachineRtDataService.SysEnd();
//结束记录数据
DataRecordService.EndRecord();
//结束运行的时候需要将压缩机的速度值设置为0
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
{
case CanLinEnum.Can:
//获取PLC的SV数据 更新SV的速度值到压缩机
CanDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//获取PLC的SV数据 更新SV的速度值到压缩机
LinDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
}
}
break;
case "复位":
MachineRtDataService.SysReset();
this.SysRunServer.MachineRunState1.FireReset();
DataRecordService.EndRecord();
//结束运行的时候需要将压缩机的速度值设置为0
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
//状态机 复位 用状态机的状态判断逻辑
if (this.SysRunServer.MachineRunState1.FireReset())
{
case CanLinEnum.Can:
//获取PLC的SV数据 更新SV的速度值到压缩机
CanDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//获取PLC的SV数据 更新SV的速度值到压缩机
LinDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
//程序步骤执行结束运行
ProRuntimeService.EndProRun();
//复位 一些PLC的状态写入
MachineRtDataService.SysReset();
//结束记录数据
DataRecordService.EndRecord();
//结束运行的时候需要将压缩机的速度值设置为0
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
{
case CanLinEnum.Can:
//获取PLC的SV数据 更新SV的速度值到压缩机
CanDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
case CanLinEnum.Lin:
//获取PLC的SV数据 更新SV的速度值到压缩机
LinDriveService.UpdateSpeedCmdData(0);
//itemTag.Value.EngPvValue = 0;
break;
default:
break;
}
}
break;
@@ -287,8 +314,26 @@ namespace CapMachine.Wpf.ViewModels
break;
case "暂停":
MachineRtDataService.SysPause();
//状态机 暂停 用状态机的状态判断逻辑
if (this.SysRunServer.MachineRunState1.FirePause())
{
//程序步骤执行暂停运行
ProRuntimeService.PauseProRun();
//暂停 一些PLC的状态写入
MachineRtDataService.SysPause();
}
break;
case "继续":
//状态机 继续 用状态机的状态判断逻辑
if (this.SysRunServer.MachineRunState1.FireContinue())
{
//程序步骤执行继续运行
ProRuntimeService.ContinueProRun();
//继续 一些PLC的状态写入
MachineRtDataService.SysContinue();
}
//ShowDialogExpInfo();
break;
case "试验信息":
@@ -303,6 +348,28 @@ namespace CapMachine.Wpf.ViewModels
}
/// <summary>
/// 程序运行的状态
/// 来自于程序的自动调度执行
/// </summary>
/// <param name="msg"></param>
/// <exception cref="NotImplementedException"></exception>
private void GetProRunEvent(ProRunEventMsg msg)
{
switch (msg.Msg)
{
case "执行完毕":
OperCmdCall("结束");
break;
default:
break;
}
}
private DelegateCommand<object> _AutoHandCmd;
/// <summary>
/// 操作指令你

View File

@@ -2297,46 +2297,6 @@ namespace CapMachine.Wpf.ViewModels
}
}
private DelegateCommand<string> _ProRunSelectedDelete1;
/// <summary>
/// 删除命令
/// </summary>
public DelegateCommand<string> ProRunSelectedDelete1
{
set
{
_ProRunSelectedDelete1 = value;
}
get
{
if (_ProRunSelectedDelete1 == null)
{
_ProRunSelectedDelete1 = new DelegateCommand<string>((p) => ProRunSelectedDelete1Method(p));
}
return _ProRunSelectedDelete1;
}
}
private void ProRunSelectedDelete1Method(string Par)
{
if (Par.Contains("1"))
{
ProRuntimeService.EndProRun();
}
else if (Par.Contains("2"))
{
ProRuntimeService.PauseProRun();
}
else if (Par.Contains("3"))
{
ProRuntimeService.ContinueProRun();
}
else
{
}
}
private DelegateCommand _GenProPlcCmd;
/// <summary>
/// 新增命令