补全其他参数的下载参数
运行 停止 暂停的防呆操作
This commit is contained in:
@@ -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>
|
||||
/// 操作指令你
|
||||
|
||||
Reference in New Issue
Block a user