压缩机PTC 功能
参数控制,由跟随速度到单个大参数控制
This commit is contained in:
@@ -797,7 +797,7 @@ namespace CapMachine.Wpf.Services
|
||||
EnName = "PTCPw",
|
||||
Group = "程序",
|
||||
MinValue = 0,
|
||||
MaxValue = 150,
|
||||
MaxValue = 5000,
|
||||
IsMeter = true,
|
||||
DecimalPoint = 1,
|
||||
Precision = 1,
|
||||
@@ -819,36 +819,100 @@ namespace CapMachine.Wpf.Services
|
||||
RWInfo = RWInfo.Control,
|
||||
});
|
||||
|
||||
//PTC功率2 控制但非仪表控制 -北厂未启用此功能,南厂有此功能
|
||||
//TagManger.AddTag(new ShortControlTag()
|
||||
//{
|
||||
// Id = 201,
|
||||
// Name = "PTC功率2[W]",
|
||||
// NameNoUnit = "PTC功率2",
|
||||
// EnName = "PTCPw2",
|
||||
// Group = "程序",
|
||||
// MinValue = 0,
|
||||
// MaxValue = 10000,
|
||||
// IsMeter = true,
|
||||
// DecimalPoint = 1,
|
||||
// Precision = 1,
|
||||
// Unit = "W",
|
||||
// DataType = TagDataType.Short,
|
||||
// PVModel = new MeterValueAttrCell() { Address = "VW434", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334},
|
||||
// SVModel = new MeterValueAttrCell() { Address = "VW434", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
||||
// MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
||||
// MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
||||
//PTC功率2 控制但非仪表控制
|
||||
TagManger.AddTag(new ShortControlTag()
|
||||
{
|
||||
Id = 201,
|
||||
Name = "PTC功率2[W]",
|
||||
NameNoUnit = "PTC功率2",
|
||||
EnName = "PTCPw2",
|
||||
Group = "程序",
|
||||
MinValue = 0,
|
||||
MaxValue = 10000,
|
||||
IsMeter = true,
|
||||
DecimalPoint = 1,
|
||||
Precision = 1,
|
||||
Unit = "W",
|
||||
DataType = TagDataType.Short,
|
||||
PVModel = new MeterValueAttrCell() { Address = "VW14022", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334 },
|
||||
SVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
||||
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
||||
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
||||
|
||||
// Pid_PModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
// Pid_IModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
// Pid_DModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
// Limit_UpModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
// Limit_DownModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
// AlarmModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
// AutoHandState = false,
|
||||
Pid_PModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Pid_IModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Pid_DModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Limit_UpModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Limit_DownModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
AlarmModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
AutoHandState = false,
|
||||
|
||||
RWInfo = RWInfo.Control,
|
||||
});
|
||||
|
||||
|
||||
//PTC目标水温 控制但非仪表控制
|
||||
TagManger.AddTag(new ShortControlTag()
|
||||
{
|
||||
Id = 202,
|
||||
Name = "PTC目标水温[℃]",
|
||||
NameNoUnit = "PTC目标水温",
|
||||
EnName = "PTCWaterTemp",
|
||||
Group = "程序",
|
||||
MinValue = 0,
|
||||
MaxValue = 150,
|
||||
IsMeter = true,
|
||||
DecimalPoint = 1,
|
||||
Precision = 1,
|
||||
Unit = "W",
|
||||
DataType = TagDataType.Short,
|
||||
PVModel = new MeterValueAttrCell() { Address = "VW14026", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334 },
|
||||
SVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
||||
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
||||
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
||||
|
||||
Pid_PModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Pid_IModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Pid_DModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Limit_UpModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Limit_DownModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
AlarmModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
AutoHandState = false,
|
||||
|
||||
RWInfo = RWInfo.Control,
|
||||
});
|
||||
|
||||
//PTC水流量 控制但非仪表控制
|
||||
TagManger.AddTag(new ShortControlTag()
|
||||
{
|
||||
Id = 203,
|
||||
Name = "PTC水流量[L/Min]",
|
||||
NameNoUnit = "PTC水流量",
|
||||
EnName = "PTCWaterFlow",
|
||||
Group = "程序",
|
||||
MinValue = 0,
|
||||
MaxValue = 500,
|
||||
IsMeter = true,
|
||||
DecimalPoint = 2,
|
||||
Precision = 1,
|
||||
Unit = "W",
|
||||
DataType = TagDataType.Short,
|
||||
PVModel = new MeterValueAttrCell() { Address = "VW14024", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334 },
|
||||
SVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
||||
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
||||
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
||||
|
||||
Pid_PModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Pid_IModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Pid_DModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Limit_UpModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
Limit_DownModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
AlarmModel = new MeterExdAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Enable = false },
|
||||
AutoHandState = false,
|
||||
|
||||
RWInfo = RWInfo.Control,
|
||||
});
|
||||
|
||||
// RWInfo = RWInfo.Control,
|
||||
//});
|
||||
|
||||
|
||||
//PTC流量 控制但非仪表控制
|
||||
@@ -2939,6 +3003,31 @@ namespace CapMachine.Wpf.Services
|
||||
{
|
||||
while (ProRunChannel.Reader.TryRead(out var ProRunChannelData))
|
||||
{
|
||||
if (ProRunChannelData.ProExFlag != ProExFlag.None)
|
||||
{
|
||||
switch (ProRunChannelData.ProExFlag)
|
||||
{
|
||||
case ProExFlag.CapSpeed:
|
||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||
break;
|
||||
case ProExFlag.CapPTCPw:
|
||||
SendPTCPwSvToCap(ProRunChannelData.SV);
|
||||
break;
|
||||
case ProExFlag.CapPTCPw2:
|
||||
SendPTCPwSv2ToCap(ProRunChannelData.SV);
|
||||
break;
|
||||
case ProExFlag.CapPTCWaterTemp:
|
||||
SendPTCWaterTempToCap(ProRunChannelData.SV);
|
||||
break;
|
||||
case ProExFlag.CapPTCWaterFlow:
|
||||
SendPTCWaterFlowToCap(ProRunChannelData.SV);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
////第一次计时
|
||||
//stopwatch.Start(); //启动Stopwatch
|
||||
switch (ProRunChannelData.RunStepType)
|
||||
@@ -3149,89 +3238,89 @@ namespace CapMachine.Wpf.Services
|
||||
continue;
|
||||
}
|
||||
|
||||
//压缩机PTC功率1的参数直接给压缩机触发
|
||||
if (itemStepExd.Name!.Contains("PTC功率1"))
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
////压缩机PTC功率1的参数直接给压缩机触发
|
||||
//if (itemStepExd.Name!.Contains("PTC功率1"))
|
||||
//{
|
||||
// switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
// {
|
||||
// case CanLinEnum.Can:
|
||||
// CanDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.CANFD:
|
||||
// CanFdDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.Lin:
|
||||
// LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// continue;
|
||||
//}
|
||||
|
||||
|
||||
//压缩机PTC功率2的参数直接给压缩机触发
|
||||
if (itemStepExd.Name!.Contains("PTC功率2"))
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
//LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
////压缩机PTC功率2的参数直接给压缩机触发
|
||||
//if (itemStepExd.Name!.Contains("PTC功率2"))
|
||||
//{
|
||||
// switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
// {
|
||||
// case CanLinEnum.Can:
|
||||
// CanDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.CANFD:
|
||||
// CanFdDriveService.UpdateCapPTCPwCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.Lin:
|
||||
// //LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// continue;
|
||||
//}
|
||||
|
||||
//压缩机PTC水流量的参数直接给压缩机触发
|
||||
if (itemStepExd.Name!.Contains("PTC水流量"))
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCFlowCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCFlowCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
//LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
////压缩机PTC水流量的参数直接给压缩机触发
|
||||
//if (itemStepExd.Name!.Contains("PTC水流量"))
|
||||
//{
|
||||
// switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
// {
|
||||
// case CanLinEnum.Can:
|
||||
// CanDriveService.UpdateCapPTCFlowCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.CANFD:
|
||||
// CanFdDriveService.UpdateCapPTCFlowCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.Lin:
|
||||
// //LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// continue;
|
||||
//}
|
||||
|
||||
//压缩机PTC水温的参数直接给压缩机触发
|
||||
if (itemStepExd.Name!.Contains("PTC水温"))
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCWaterTempCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCWaterTempCmdData((double)itemStepExd.Value!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
//LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
////压缩机PTC水温的参数直接给压缩机触发
|
||||
//if (itemStepExd.Name!.Contains("PTC水温"))
|
||||
//{
|
||||
// switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
// {
|
||||
// case CanLinEnum.Can:
|
||||
// CanDriveService.UpdateCapPTCWaterTempCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.CANFD:
|
||||
// CanFdDriveService.UpdateCapPTCWaterTempCmdData((double)itemStepExd.Value!);
|
||||
// break;
|
||||
// case CanLinEnum.Lin:
|
||||
// //LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// continue;
|
||||
|
||||
//Console.WriteLine($"{ProRunChannelData.MeterName}拓展参数------------:{itemStepExd.Name}:{itemStepExd.Value}");
|
||||
//continue;
|
||||
}
|
||||
// //Console.WriteLine($"{ProRunChannelData.MeterName}拓展参数------------:{itemStepExd.Name}:{itemStepExd.Value}");
|
||||
// //continue;
|
||||
//}
|
||||
|
||||
var DataAdrees = ListPlcExdConfigCell.FirstOrDefault(a => a.Name == itemStepExd.Name);
|
||||
if (DataAdrees != null)
|
||||
@@ -3292,6 +3381,7 @@ namespace CapMachine.Wpf.Services
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 发送速度SV到压缩机
|
||||
/// 自动步骤数据发送
|
||||
@@ -3329,6 +3419,98 @@ namespace CapMachine.Wpf.Services
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 发送PTCPw SV到压缩机
|
||||
/// 自动步骤数据发送
|
||||
/// </summary>
|
||||
private void SendPTCPwSvToCap(double Valuve)
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCPwCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCPwCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
//LinDriveService.UpdateCapPTCPwCmdData((bool)ProRunChannelData.SV!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 发送PTCPw2 SV到压缩机
|
||||
/// 自动步骤数据发送
|
||||
/// </summary>
|
||||
private void SendPTCPwSv2ToCap(double Valuve)
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCPwCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCPwCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
//LinDriveService.UpdateCapPTCPwCmdData((bool)ProRunChannelData.SV!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 发送PTCPw2 SV到压缩机
|
||||
/// 自动步骤数据发送
|
||||
/// </summary>
|
||||
private void SendPTCWaterTempToCap(double Valuve)
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCWaterTempCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCWaterTempCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
//LinDriveService.UpdateCapPTCPwCmdData((bool)ProRunChannelData.SV!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 发送PTCPw2 SV到压缩机
|
||||
/// 自动步骤数据发送
|
||||
/// </summary>
|
||||
private void SendPTCWaterFlowToCap(double Valuve)
|
||||
{
|
||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||
{
|
||||
case CanLinEnum.Can:
|
||||
CanDriveService.UpdateCapPTCFlowCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.CANFD:
|
||||
CanFdDriveService.UpdateCapPTCFlowCmdData(Valuve!);
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
//LinDriveService.UpdateCapPTCPwCmdData((bool)ProRunChannelData.SV!);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user