速度的拓展参数对应
This commit is contained in:
@@ -104,6 +104,11 @@ namespace CapMachine.Wpf.Services
|
||||
/// </summary>
|
||||
public List<PlcLoadConfigCell> ListPlcLoadConfigCell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// PLC加载配置拓展数据集合
|
||||
/// </summary>
|
||||
public List<PlcExdConfigCell> ListPlcExdConfigCell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标签管理中心
|
||||
/// </summary>
|
||||
@@ -2225,6 +2230,14 @@ namespace CapMachine.Wpf.Services
|
||||
new HandSwitchData(){Name="使能",ActionAddress="M2.7",StateAddress="V15.1" },
|
||||
};
|
||||
|
||||
ListPlcExdConfigCell = new List<PlcExdConfigCell>()
|
||||
{
|
||||
new PlcExdConfigCell(){ Name="输出锁定",Address="VW482",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="吸排气阀",Address="VW490",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="EV",Address="VW492",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="压缩机使能",Address="VW484",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="PTC使能",Address="VW486",Precision=1},
|
||||
};
|
||||
|
||||
|
||||
//TagManger.ListTag[0].Name = "new TestType() { byteValue=12}";
|
||||
@@ -2434,7 +2447,6 @@ namespace CapMachine.Wpf.Services
|
||||
{
|
||||
var IPInfo = ConfigHelper.GetValue("PLCIP");
|
||||
|
||||
|
||||
SiemensDrive = new SiemensS7Net(SiemensPLCS.S200Smart, IPInfo);
|
||||
// 连接对象
|
||||
OperateResult connect = SiemensDrive.ConnectServer();
|
||||
@@ -2543,7 +2555,7 @@ namespace CapMachine.Wpf.Services
|
||||
|
||||
await Task.Delay(20);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
try
|
||||
@@ -2674,7 +2686,7 @@ namespace CapMachine.Wpf.Services
|
||||
//地址为空的话则下一个
|
||||
if (string.IsNullOrEmpty(mVModel!.Address)) continue;
|
||||
//给MvModel的原始属性赋值 MV是0-100 % 有标准的转换格式
|
||||
mVModel!.EngValue = SiemensDrive.ByteTransform.TransInt16(OperateResultBlockMVRead.Content, mVModel.BlockIndex)*1.0/10;
|
||||
mVModel!.EngValue = SiemensDrive.ByteTransform.TransInt16(OperateResultBlockMVRead.Content, mVModel.BlockIndex) * 1.0 / 10;
|
||||
}
|
||||
|
||||
//MV 手自动切换 只有控制才有MVAM控制
|
||||
@@ -2879,17 +2891,24 @@ namespace CapMachine.Wpf.Services
|
||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RunStepType.StepPID:
|
||||
@@ -2900,13 +2919,17 @@ namespace CapMachine.Wpf.Services
|
||||
if (!SvResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:SV写入失败");
|
||||
//速度SV到压缩机
|
||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RunStepType.StepLimit:
|
||||
@@ -2919,10 +2942,14 @@ namespace CapMachine.Wpf.Services
|
||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.StepSV:
|
||||
@@ -2939,40 +2966,57 @@ namespace CapMachine.Wpf.Services
|
||||
case RunStepType.LimitPid:
|
||||
{
|
||||
var CurMeterInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.Pid:
|
||||
{
|
||||
var CurMeterInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.Limit:
|
||||
{
|
||||
var CurMeterInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.SlopCell:
|
||||
@@ -2990,6 +3034,33 @@ namespace CapMachine.Wpf.Services
|
||||
break;
|
||||
}
|
||||
|
||||
//拓展参数
|
||||
if (ProRunChannelData.ListStepExd != null && ProRunChannelData.ListStepExd.Count() > 0)
|
||||
{
|
||||
foreach (var itemStepExd in ProRunChannelData.ListStepExd)
|
||||
{
|
||||
var DataAdrees = ListPlcExdConfigCell.FirstOrDefault(a => a.Name == itemStepExd.Name);
|
||||
if (DataAdrees != null)
|
||||
{
|
||||
switch (itemStepExd.ValueType)
|
||||
{
|
||||
case ExdValueType.Bool:
|
||||
SiemensDrive.Write(DataAdrees.Address, (bool)itemStepExd.Value == true ? 1 : 0);
|
||||
break;
|
||||
case ExdValueType.Short:
|
||||
SiemensDrive.Write(DataAdrees.Address, (short)itemStepExd.Value);
|
||||
break;
|
||||
case ExdValueType.Double:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ProRunChannelData.RunStepType == RunStepType.SlopCell)
|
||||
{
|
||||
//SiemensDrive.Write("D1", (short)ProRunChannelData.SV);
|
||||
|
||||
@@ -38,8 +38,8 @@ namespace CapMachine.Wpf.Services
|
||||
/// <summary>
|
||||
/// 实例化函数
|
||||
/// </summary>
|
||||
public ProRuntimeService(IFreeSql freeSql, IMapper mapper, IEventAggregator eventAggregator,
|
||||
MachineRtDataService machineRtDataService,ConfigService configService, CanDriveService canDriveService, LinDriveService linDriveService,
|
||||
public ProRuntimeService(IFreeSql freeSql, IMapper mapper, IEventAggregator eventAggregator,
|
||||
MachineRtDataService machineRtDataService, ConfigService configService, CanDriveService canDriveService, LinDriveService linDriveService,
|
||||
ILogService logService)
|
||||
{
|
||||
FreeSql = freeSql;
|
||||
@@ -165,7 +165,7 @@ namespace CapMachine.Wpf.Services
|
||||
ListPlcLoadConfigCell.Add(new PlcLoadConfigCell()
|
||||
{
|
||||
Name = itemKeyValue.Key,
|
||||
SvAddress = MachineRtDataService.TagManger.TryGetSVModel(itemKeyValue.Value.Name,out MeterValueAttrCell? controlAttrCell)==true? controlAttrCell!.Address:"",
|
||||
SvAddress = MachineRtDataService.TagManger.TryGetSVModel(itemKeyValue.Value.Name, out MeterValueAttrCell? controlAttrCell) == true ? controlAttrCell!.Address : "",
|
||||
Limit_UpAddress = MachineRtDataService.TagManger.TryGetLimitUpModel(itemKeyValue.Value.Name, out MeterExdAttrCell? controlAttrCell2) == true ? controlAttrCell2!.Address : "",
|
||||
Limit_DownAddress = MachineRtDataService.TagManger.TryGetLimitDownModel(itemKeyValue.Value.Name, out MeterExdAttrCell? controlAttrCell3) == true ? controlAttrCell3!.Address : "",
|
||||
Pid_PAddress = MachineRtDataService.TagManger.TryGetPidPModel(itemKeyValue.Value.Name, out MeterExdAttrCell? controlAttrCell4) == true ? controlAttrCell4!.Address : "",
|
||||
@@ -359,6 +359,14 @@ namespace CapMachine.Wpf.Services
|
||||
CurConfigLimitDto = Mapper.Map<ConfigLimitDto>(Limit),
|
||||
CurConfigAlarmDto = Mapper.Map<ConfigAlarmDto>(Alarm),
|
||||
|
||||
ListStepExd = new List<StepExd>()
|
||||
{
|
||||
new StepExd(){ Name="输出锁定",Value=itemMeterValueCell.OutLock,ValueType=ExdValueType.Bool},
|
||||
new StepExd(){ Name="吸排气阀",Value=itemMeterValueCell.InhExhValve,ValueType=ExdValueType.Bool},
|
||||
new StepExd(){ Name="EV",Value=(short)itemMeterValueCell.Ev,ValueType=ExdValueType.Short},
|
||||
new StepExd(){ Name="压缩机使能",Value=itemMeterValueCell.CapEnable,ValueType=ExdValueType.Bool},
|
||||
},
|
||||
|
||||
ProStepInfo = $"{itemStep.StepNo}-{itemMeterValueCell.StepNo}",
|
||||
});
|
||||
|
||||
@@ -416,6 +424,14 @@ namespace CapMachine.Wpf.Services
|
||||
CurConfigLimitDto = Mapper.Map<ConfigLimitDto>(Limit),
|
||||
CurConfigAlarmDto = Mapper.Map<ConfigAlarmDto>(Alarm),
|
||||
|
||||
ListStepExd = new List<StepExd>()
|
||||
{
|
||||
new StepExd(){ Name="输出锁定",Value=itemMeterValueCell.OutLock,ValueType=ExdValueType.Bool},
|
||||
new StepExd(){ Name="吸排气阀",Value=itemMeterValueCell.InhExhValve,ValueType=ExdValueType.Bool},
|
||||
new StepExd(){ Name="EV",Value=(short)itemMeterValueCell.Ev,ValueType=ExdValueType.Short},
|
||||
new StepExd(){ Name="压缩机使能",Value=itemMeterValueCell.CapEnable,ValueType=ExdValueType.Bool},
|
||||
},
|
||||
|
||||
ProStepInfo = $"{itemStep.StepNo}-{itemMeterValueCell.StepNo}",
|
||||
MeterName = CurMeterName,
|
||||
});
|
||||
@@ -3220,7 +3236,7 @@ namespace CapMachine.Wpf.Services
|
||||
{
|
||||
Console.WriteLine($"【时间】{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff")} 【Msg】:程序运行结束 《《《《-------------------");
|
||||
//EndProRun();
|
||||
|
||||
|
||||
EventAggregator.GetEvent<ProRunEvent>().Publish(new ProRunEventMsg() { Machine = "M1", Msg = "执行完毕" });
|
||||
|
||||
MachineRunState1.RunStateMsg = "执行完毕";
|
||||
|
||||
Reference in New Issue
Block a user